'앱'에 해당되는 글 2건

  1. 2012.12.03 애니메이션 GIF를 만드는 안드로이드 앱을 개발하다... 21 by Dansoonie
  2. 2011.09.02 [App] 고유가 시대에 값싼 주유소 찾기!!! 1 by Dansoonie

저는 안드로이드 개발자이기는 하지만 주로 안드로이드용 3D UI Framework를 만드는 일이 주된 업무라 안드로이드 앱의 기본 틀만 갖추어 놓고 OpenGL만 주로 다루다 보니 안드로이드는 잘 모릅니다. 그렇다고 해서 OpenGL도 잘 아는것도 아니지만요... (-.-)a


어쨌든, 안드로이드 개발자임에도 불구하고 제대로 된 안드로이드 앱을 만들어본 적도 없고, 다양한 경험을 해보기 위해서 안드로이드 앱을 한번 만들어 보기로 했습니다. 그냥 재미 삼아 앱에 광고도 실어서 돈도 벌어보고요... 그래서 탄생했습니다... 제가 그동안 스타벅스에서 보낸 수많은 시간들의 결실 입니다...



제가 만든 앱은 그렇게 대단한 것은 아닙니다. 사진을 찍어서 애니메이션 GIF로 만드는 앱 입니다. 개발하기 전에 이런 부류의 앱 시장에 대한 사전조사를 해보지 않아서 어떤 앱들이 나와 있는지 잘 모르겠지만, 제 앱의 특징을 말씀드리자면 애니메이션을 위한 연속된 사진을 찍는데 편의를 제공하고 있습니다. 사진을 찍고 애니메이션을 위한 다음 프레임을 찍을때 이전에 찍었던 사진이 반투명하게 나와 그 사진을 기준 삼아 그 다음 프레임을 편하게 찍으실 수 있습니다. 


이런 앱을 만들게 된 배경은 회사 앞에 아파트를 짓고 있는데, 어느날 아파트 공사 현장을 매일 매일 사진으로 찍어서 나중에 애니메이션으로 만들면 재미있겠다는 생각을 했습니다. 그래서 일단 사진을 찍었습니다. 매일 똑같은 위치에서 같은 각도로 scene을 찍기 위해 옥상 난간에 제가 쉽게 기억할 수 있는 곳에 스마트폰을 놓고 사진을 한장 찍었습니다. 그리고 그 다음날 또 사진을 찍었는데, 생각만큼 그 전날 찍은 사진과 동일한 곳을 찍는것이 쉽지 않았습니다. 그래서 사진을 찍을때 이전에 찍은 사진이 기준이 되어 쉽게 그 다음 프레임을 찍을 수 있었으면 좋겠다고 생각했습니다. 그래서 만들게 된 앱 입니다.


일단 제 앱을 실행하면 다음과 같은 화면이 뜹니다.



시간을 두고 찍은 사진들로 애니메이션 GIF를 만드는 상황을 고려해서 프로젝트의 개념을 사용했습니다. 이 화면은 Project List View 입니다. 따라서 애니메이션 GIF를 만들기 위해서 프로젝트를 생성해야 합니다. 프로젝트는 여러개 생성할 수 있으며, 동시에 여러개를 진행할 수 있습니다. 각 프로젝트를 작업하다가 나와서 이 화면으로 오면 생성해 놓은 프로젝트들을 볼 수 있습니다. Create New Project 버튼을 누르면 팝업창이 떠서 프로젝트이름과 애니메이션 GIF의 orientation(가로/세로)을 설정한 후에 프로젝트를 생성할 수 있도록 해줍니다.



저렇게 저는 일단 예제로 hello라는 프로젝트를 생성했습니다. 프로젝트를 생성해서 중복되는 프로젝트 이름이 없고 유효한 프로젝트 이름이라면 프로젝트가 생성되여 자동으로 생성된 프로젝트로 이동합니다.



이것은 Project View로 프로젝트가 막 생성되었으므로 프로젝트 내에는 아무런 사진이 없습니다. 따라서 애니메이션 GIF에 사용할 프레임을 찍어야겠죠? 프레임을 추가하기 위해서 Add New Frame 버튼을 누릅니다. 그러면 아래의 화면으로 넘어갑니다.



반투명한 하얀색 화살표 보이시죠? 화살표는 어느쪽을 위로 놓고 찍어야 하는지를 알려주고 있습니다. 그리고 프로젝트에 존재하는 사진이 없으므로 새 프레임을 추가하기 위해 사용할 기준이 될 사진이 없으므로 화살표가 나오는 것이기도 합니다.



일단 저는 첫 프레임을 저렇게 사진을 찍었습니다. 사진은 Shoot 버튼을 눌러서 찍습니다. 사진을 찍어서 애니메이션 GIF의 프레임으로 사용할 프레임이 추가 되면 Project View에 아래와 같이 새로 추가된 프레임이 표시 됩니다.



그러면 또 프레임을 추가 해야지 애니메이션을 만들 수 있겠죠? 그래서 또 Add New Frame 버튼을 눌러서 프레임을 추가하는 작업을 진행 합니다.



외쪽 사진을 보시면 제 손이 약간 반투명하게 나옵니다. 현재 카메라는 그냥 책상 위에 놓여진 노트만 preview로 보여주고 있으며, 반투명하게 보이는 제 손은 제가 이전에 찍은 사진을 기준으로 찍으라고 반투명으로 표시되고 있는 것입니다. 물론 책상과 노트도 모두 반투명으로 표시되고 있는 상황이지만 카메라 preview에 보이는 책상과 노트의 위치가 일치하기 때문에 쉽게 알아차리지 못하시는 겁니다.(사진 상단에 표시된 시간을 보시면 왼쪽 것이 더 나중이지만 이것은 제가 설명을 돕기 위해 나중에 조작해낸 사진입니다^^). 화면 상단에 보이는 seek bar로 기준으로 삼는 이전 사진의 투명도를 조절하실 수도 있습니다. 오른쪽으로 가면 이전 사진의 더욱 선명해지고, 왼쪽으로 가면 더 투명해져서 흐리게 보입니다. 이전 프레임을 기준으로 다음 프레임을 어떻게 찍을 것인지 다시 손의 위치를 잡고 다시 사진을 찍어 프레임을 추가 했습니다.



사진을 찍어서 프레임을 추가하면 위의 사진과 같이 다시 Project View로 돌아가게 되고 새로 추가된 프레임이 표시 됩니다. 화면 하단에 나오는 버튼들 위에 있는 사진들이 애니메이션 GIF의 프레임으로 사용될 사진들이고, 그 사진들 위에 크게 보이는 사진이 현재 선택된 프레임 입니다. 화면 위쪽에 보시면 Duration이라고 나와 있고 숫자가 나와 있습니다. 이것은 현재 보이는 프레임이 애니메이션 GIF가 생성될 때 사용할 프레임의 지연 시간 입니다. 단위는 ms입니다. Modify 버튼을 눌러 프레임의 지연 시간을 조절 하실 수도 있고, 찍어놓은 프레임이 마음에 들지 않으면 Delete 버튼을 눌러 삭제 할 수도 있습니다. 이제는 프레임이 2장 이상이기 때문에 Create Animated GIF 버튼을 눌러 애니메이션 GIF를 생성할 수 있습니다. 대략적으로 애니메이션이 어떻게 될지 궁금하시다면 화면 아래쪽에 나와 있는 프레임들을 옆으로 스크롤 해 보시면 선택된 프레임이 바뀌면서 큰 이미지가 선택된 프레임으로 바뀌게 되면서 어떤 식으로 애니메이션이 나올지 가늠해 보실 수 있습니다. 


하지만 2장으로 애니메이션 만드는 것은 너무 재미 없잖아요? 그래서 몇장 더 찍었습니다. 그리고 Create Animated GIF 버튼을 누르면 애니메이션 GIF를 생성하는 작업에 들어갑니다.



왼쪽 사진이 애니메이션 GIF가 생성되는 과정이고, 생성하는 과정에서 마음이 바뀌어 중단하고 싶다면 Cancel 버튼을 누르시면 됩니다. 오른쪽 사진은 애니메이션 GIF 생성이 완료되어 생성된 애니메이션 GIF를 보여주고 있는 장면입니다. 당연히 사진은 안드로이드 단말의 화면을 캡쳐한 것이기 때문에 정지해 있죠. 어쨌든, 결과가 마음에 들면 생성된 애니메이션을 안드로이드의 갤러리로 저장하실 수 있습니다. 



뭐 이런식으로 애니메이션 GIF를 제작하실 수 있습니다... 이미지 퀄리티는 GIF라서 구립니다... 하지만 아직까지는 별다른 디코더 없이 파일 하나로만 애니메이션을 표현할 수 있는 방법은 이 방법이 제일 좋다는 결론을 얻었습니다.


아직 마켓에는 올리지 않은 상태인데, 앱의 이름을 정하지 못해서 앱 진입시 보이는 splash screen과 아이콘을 제작하지 못해서 그렇습니다. 아직 부족한 부분도 많고 안드로이드 개발자가 만든 작품 치고는 너무 허접해서 좀 창피하지만 이렇게라도 빨리 뭐라도 해보면서 앱 개발 능력을 키워가야겠다는 생각이 들었습니다. 제발 UI가 구리다는 말씀을 하지 말아주세요... 일단 첫 마일스톤으로 기본 기능에 충실한 앱을 먼저 만들기로 한 것이니까요... 앞으로 UI를 개선하고 추가할 기능도 많습니다...



어쩄든, 이 포스팅의 원래 목적은, 이 앱 이름 공모하는 것입니다... 앱 이름좀 지어주세요...  애니메이션 생성하는 앱이고, 제 앱의 특성을 잘 알릴 수 있는 그런 이름으로요... 마음에 드는 이름 지어준 분께는 선물이나 밥이라도 드리겠습니다...

Posted by Dansoonie
내일(체감상 내일, 사실은 12시 넘었으므로 오늘) 회사에서 워크샵을 유명산으로 떠납니다. 제가 차편을 제공하기로 해서 현재 바닥난 기름을 채워줘야 했습니다. 내일 아침에 늦게 일어날 것이 뻔하기 때문에 기름 넣을 시간이 없을것으로 예상하고...

하지만 요즘같은 고유가 시대에 아무 주유소에 가서 기름을 넣을 수는 없었습니다. 주유소는 주변에 대따 많은데, 평소에 기름값을 잘 안보고 다녀서 어디가 싼지 도무지 알 수가 없더군요... 그러다가 주유소들의 기름값을 조회할 수 있는 스마트폰 앱이 있을것 같다는 생각에 검색해봤습니다. 앱스토어에서 기름, 휘발유로 검색을 해봤는데 도무지 믿음직스러운 앱이 나타나지 않았습니다... 그래서 일단 앱 받는 것은 포기하고 네이버님께 "주유소가격비교"를 검색해봤습니다. 평소에는 구글형님께 문의를 많이 드리는데, 우리나라 검색어는 네이버님이 강하시더라고요...

 
 



이렇게 오피넷이라는 결과가 가장 맨 위에 떴습니다. 주유소 찾기, 유가통계 정보, 충전소찾기, 알림마당.. 요런것들이 써있길래 사이트에 들어가봤습니다. 들어가보니 한국석유공사에서 만든 유가 정보 서비스 사이트였습니다.
여러곳의 유가 정보는 물론이고, 불법거래업소 현황까지 다 나와있어서 뭔가 믿음직스러운 소스를 찾았다는 생각이 들었습니다. 그리고 화면 구석 어딘가에 작은 글씨로 스마트폰 앱도 있다고 써있더군요...그래서 바로 앱스토어에 가서 오피넷으로 검색해서 다운을 받았습니다...







 
도대체 무슨 재주로 오피넷을 검색하길 바라는건지... 어쨌든, 앱을 받아보니 참으로 유용하더랍니다... 저는 우리집 근처에 있는 주유소를 검색하고 가격순으로 나열해봤습니다.
 

그리고 역시나 최상단에 있는 기름값이 제일 싼 주유소에 대한 정보를 살펴봤지요... 아래와 같이 자세한 정보가 나옵니다. 취급하는 기름의 종류(고급휘발유, 휘발유, 경유, LPG), 부대시설, 연락처, 지도, 그리고 행사내용까지!!! 

 


그래서 주소 정보 보고 내비게이션에 찍어서 잘 찾아갔습니다. 잘 찾아갔는데, 알고보니 셀프 서비스 주유소!!! 야~ 신난다~
 

터치스크린에서 하라는대로만 잘 따라하면 쉽게 기름을 넣을 수 있습니다. 어떤 결제수단을 사용하더라도 선불이기 때문에 먼저 금액을 입력하게 되어있는데, 만땅을 넣고 싶은 경우에는 무조건 15만원을 선택해야 합니다. 이부분에서 저는 살짝 당황스러웠는데 일단 시스템 설계자들을 믿어보기로 했습니다. 그랬더니 주유가 끝난 후에 15만원은 결제가 취소되고 주유한 금액만큼만 다시 결제되더군요... 셀프 서비스이기 때문에 차계부에 원하는 정보를 차근차근 급하지 않게 쓸 수 있는 시간도 확보가 되고 좋았습니다... 만당을 채우게 될 경우에 15만원을 먼저 결제를 해야 하는 것은 아마도 돈이 충분히 있는가를 확인해 보기 위한 수단일까 싶었습니다... 우리나라에 아마도 15만원 이상 넣을 수 있는 차가 없나봅니다...주유와 결제가 끝난 후에 다음 차를 위해서 주유소 옆에 차를 잠깐 세우고 내가 이 주유소에 왔음을, 그리고 이 곳의 휘발유 가격을 공유하기 위해 Foursquare에 기록을 남겼습니다...그리고 집에 왔는데, 그동안 친절하게 페이스북에서 Foursquare에 남긴 글을 보고 몇몇분들께서 글을 남겨주셨습니다...같은 회사에서 근무하고 계신 책임께서 말씀하시기를...
우리동네 경유값 보다 싸네.
음... 굳 (-.-)d그런데 고등학교 친구가 말하기를...
우리집앞 셀프는 1887원/리터 야....
라고 하길래 한번 Orz를... 그리고 미국에 있는 선배가 물어보기를...
그거 갤런당 얼마 야?
그래서 아이폰에 단위환산과 계산기를 두들긴 후에 약7306.818원/갤런 이라고 알려줬더니
WTF!! seriously?? and we are here crying about it being almost $4....
라고 하길래 한번 더 Orz를... 어쨌든, 비교적 싼 가격에 주유를 했기에 나름 선방했다고 생각하지만, 앞으로는 더 싼 가격에 주유를 하기 위해서 앱이 뭔가 잘못 되었는지 살펴보기로 했습니다...

분명 주변 주유소 검색했을때 목록에 반경 15Km라고 써있었는데도 불구하고 제 고등학교 친구가 사는 오리역 근처가 포함이 안되어있으니 뭔가 이상했습니다... 아니나 다를가 설정에 들어가보니 검색 반경에 대한 설정 항목이 있더군요...
 

위 그림은 제가 검색 반경을 10Km로 바꾼 후고, 원래는 3Km였던것 같습니다... 설정을 이렇게 바꾼 후에 다시 목록을 보니 아래와 같았습니다...
 

역시 친구가 말한대로 자기 집 앞에 있는 농협 셀프 주유소가 분당 지역에서는 가장 싼 모양입니다. 하지만 이해할 수 없는 것은 변경 설정항목에 15Km는 있지도 않은데, 목록에는 항상 위에서 보시는대로 15Km라고 잘못 나온다는 것... 어쨌든, 앞으로는 제게는 이런 실수는 더이상 없습니다!!! 다른 분들도 실 수 없으시기 바랍니다... 혹시나 앱에 대한 추가 정보를 원하시는 분이 계실까봐 앱에 대한 정보 페이지도 올려드립니다...
 

안드로이드 버전도 있는지는 잘 모르겠습니다... 혹시 안드로이드 버전을 찾아보신 분은 안드로이드 사용자들을 위해서 댓글이라도 남겨주세요~ 감사합니다~
Posted by Dansoonie