본문 바로가기
  • SDXL 1.0 + 한복 LoRA
  • SDXL 1.0 + 한복 LoRA
Development/iPhotoDiary(BabyPhotoDiary)

[옛 글] [실전 소스 분석] 1. 나는 왜 iPhotoDiary를 만들게 되었나.

by 마즈다 2013. 7. 18.
반응형

최초 작성일 : 2010/08/23 22:45 


사실 '실전 소스 분석'과는 별 관계가 없는 내용이네요.

하지만 남들이 어떤 의도와 동기로 어떤 앱을 만들게 되는지에 대한 참고 자료로써는
쓸만하지 않을까 하여 이 내용부터 시작을 해보기로 하였습니다...^^

1. 너 뭐하고 있니?

- 퇴사
iPhotoDiary 개발 당시의 상황을 보자면 우선 몸담고 있던 회사에서 맞고 있던 일이
원체 진행이 지저분한데다가 인력과 리소스도 충분히 지원되지 않고 고객은 까다롭고
최초 사업 제안자는 타 회사 사람인데 IT에 대한 이해가 전무하여 무조건 자기식으로만
영업을 한 후 개발자들에게는 어려운 조건을 만들어 떠넘기기만 하고...

쉽게 말해 대다수 우리 나라 IT 인력이 겪고 있는 아주 X랄 맞은 상황에 놓여있었습니다.

게다가 그러한 일들이 대부분 그렇듯이 신 기술을 적용해본다든가 성능과 기능에 대한
심도있는 연구를 진행한다든가 하는 뭔가 개발자의 역량을 상승시킬만한 요인은
눈꼽만큼도 없는 상황이었죠. 결국 제 머리 속에는

'이렇게 살다가 바보에 그지 되겠구나...ㅠ.ㅠ'

라는 생각이 자리잡게 되었고 결국은 퇴사까지 결심을 하게 되었습니다.

- 아이폰 세상의 도래
올 4월경이면 사실상 이미 아이폰 앱 시장은 레드 오션에 접어든 이후라고 봐야 할
것입니다.

하지만 퇴사를 결심하였다고 해서 무작정 '당분간 쉬고 딴데 가겠다'고 생각한다면
별 의미가 없다고 생각했습니다. 대형 포털이나 전도유망한 솔루션 개발사에
취업되는 것이 아니라면 대다수의 업체가 그 밥에 그 나물일테니 말이죠.

그래서 생각한 것이 일단 기존에 제가 주로 하던 java 웹 개발 외에 또다른 기술을
익히거나 아니면 나중에 사업거리가 될만한 뭔가를 만들어 놓을 필요성이 있었습니다.
그래서 우선 3개월이라는 기간을 정해 두고 몇가지 대안을 생각해보았습니다.

우선은 제가 자바 개발자이니만큼 자바 개발자의 필수 도구라고 할 수 있는 이클립스의
플러그인 제작에 도전을 하는 것이었습니다.

다음은 제가 구상하고 있는 SNS의 기초 프레임워크를 구현하는 것이엇고

마지막이 바로 아이폰 또는 안드로이드 개발에 도전하는 것이었습니다.

그리고 결국에는 아이폰 앱 개발로 최종 결정을 보았습니다.
왜냐하면 아이폰 개발을 한다는 구실로 집사람 눈치 안보고 아이폰을 살 수 있었고...^^;;;
아이폰의 미려한 디자인에 홀딱 빠진데다가
마침 KT Econovation에서 공모전을 진행중이었습니다.
또 당시까지만 해도 꽤나 희망적으로 보이는 일이었기 때문입니다.

-둘 째 아이의 탄생
위험부담을 줄이기 위해 사실은 퇴사 전에 둘 째 아이의 출산을 빌미로 출산 휴직을
하려고 했습니다. 하지만 아쉽게도 대상자가 안되더군요.

어쨌든 퇴사 후 4월 26일 사랑스런 둘째가 태어나게 되었습니다.
분명 축복 받은 일이지만 제가 일을 하는데 있어서는 이보더 더한 악재가 없더군요.
사실상 둘 째가 태어난 4월 26일 이후 현재까지 아이 보고 가사일 돕느라고
하루 평균 4시간 이상 일을 할 수가 없었습니다.

사실 KT 공모전이나 앱스토어 등록시까지도 한편으로는 이렇게 열악한 환경에서
무언가 하나 만들어냈다는 데 대한 자부심과 동시에 내게 좀 더 시간이 있었더라면
하는 아쉬움이 제 머리와 가슴을 가득 채웠습니다.

-결론
잡설이 길었습니다.
그래서 뭐가 어쨌냐구요?

회사는 그만 뒀고.
아이폰 앱은 개발해보기로 했고
그리고...
아이가 태어났고...

일단 관심은 육아 관련 애플리케이션으로 쏠리게 되었습니다.
그리고 앱스토어를 검색해본 결과 몇건 안나오더군요.
이후 KT 공모전을 진행할 시점에서 발견한 것이 국내 앱이 2건 국외 앱이 1건
보였습니다.

그래서 육아 관련 앱이라면 한 번 해볼만하다는 생각이 들었습니다.
결과적으로는 앞서 말씀드린대로 절대적인 시간의 부족으로 사실상 육아 관련 내용은
거의 없고 단순히 아이를 등록하는 기능과 달력(음력 포함) 기능 및 사진과 함께
일기를 작성할 수 있는 기능등이 포함된 말 그대로 사진 일기장으로서의 기능만을
가진 앱이 탄생하게 되었습니다.

이 때문에 애플의 리뷰에서 Reject도 한 번 먹었네요. 전 육아일기만 염두에 두고
헬스 케어 & 휘트니스 카테고리를 선택했더니 기능과 내용에 맞지 않는 카테고리라고
수정하라고 Reject을 날려주더군요...^^;

암튼 결론은 제가 육아를 해야 하는 상황이다보니 육아 관련 앱을 목표로 하게 되었다는 말씀입니다...^^;;;

2. iPhotoDiary가 뭣에 쓰는 물건인고?

앞서 말씀드린 대로 iPhotoDiary는 육아 일기를 목표로 개발된 앱이고 현재
유료 버전으로 육아 관련 기능이 추가된 iPhotoDiaryPlus 버전도 개발 중에 있습니다.


하지만 현재 앱스토어에 등록된 무료 버전의 경우 사실상 단순한 사진 일기장에
불과한 단순한 기능입니다.

이러한 기능만 남게 된 이유는
가장 범용적인 기능을 먼저 개발 완료 해야 한다고 판단했기 때문입니다.
육아라 하면 먼저 떠오르는 것은 엄마이고 주부입니다. 결국 육아 관련 기능에
중점을 두다보면 구매 대상자가 한정이 됩니다. 그나마 확실한 육이 관련 기능들이
구현되어있다면 구매 확률을 높일 수 있겠지만 그렇지도 못한 상황에서 어설프게
구현된 기능으로 앱스토어에 올린다면 그나마도 적은 구매 대상자로부터도
외면받을 것으로 판단했습니다.

그래서 가장 범용적인 기능인 달력 기능과 일기장 기능을 우선적으로 완성하고자
했습니다.

간단하게 기능 설명을 하자면 iPhotoDiary는 다음과 같은 기능을 가지고 있습니다.

1. 아이 등록
자신의 아이를 등록할 수 있습니다. 가장 기본적인 내용만 입력 받도록 하였고
2명 이상 무제한으로 등록할 수 있도록 되어있지만 현실적으로는 아이를 선택할 수
있는 버튼의 배열 공간 문제로 한 6~8명 정도가 한계일 것으로 보입니다...^^

등록시 입력한 생년월일을 기준으로 나이(일수/개월수/년수) 및 띠, 별자리, 탄생석을
확인할 수 있습니다.







실제 저희 아이들입니다...^^;;;

2. 달력 기능

사실 몇몇 달력 위주의 앱이 스테디셀러로 자리 잡고 있습니다.
그리고 그 앱들을 보면서 제가 제 앱이 성공할 수도 있겠구나 하는 희망을 가졌습니다.
전 달력 + 사진 일기가 있었으니까요...^^
하지만 결과는 그게 아니더군요...ㅠ.ㅠ

암튼 음력과 절기가 표시되고 기념일 등록을 통해 등록된 기념일 및 이벤트, 일기등이
작성된 날짜에 표시되고 또 그 날짜를 클릭하여 그 날짜에 등록된 기념일, 이벤트,
일기의 제목을 확인할 수 있습니다.




3. 기념일 등록 기능

사실 이벤트 등록 기능과 별 차이가 없는데 다만 이벤트는 일회성이고 기념일은
주기적으로(주로 1년단위) 반복되는 것이라고 개인적으로 구분을 두었습니다.
디폴트로 명절과 국경일이 등록되어있습니다.

기념일 등록시에는 공휴일 여부와 음력 여부를 선택할 수 있습니다.




4. 이벤트 등록

기념일 등록 부분 참고하시구요.
암튼 이벤트 등록할 수 있는 기능인데 보완해야 할 점이 이벤트 내용을 등록한 후
그 내용 전체를 다 볼 수가 없다는 점입니다...-.- 조속히 보완하도록 하겠습니다.




5. 일기 작성 기능

마지막으로 일기 작성 기능입니다.
입력 부분은 단순하여 제목과 사진, 내용만을 입력 받으며 등록 날짜는 자동으로
그날 날짜가 입력됩니다. 추후 날짜도 직접 입력 할 수 있도록 수정할 계획입니다.

사진은 최대 8장까지 찍을 수 있도록 하였고. 각각의 사진을 찍은 위치가 함께
저장되어 지도를 통해 어디서 찍었는지 확인 가능합니다. 아직은 Exif정보를
활용한게 아니기 때문에 이 부분도 추후에 사진의 Exif 정보에 GPS 및 날짜 정보를
함께 담을 수 있도록 수정할 예정입니다.







3. 첫 글을 마치며

우선 쓸데 없이 길기만 한 글을 끝가지 보아주신 여러분께 경의와 감사를 표합니다...^^;;;

아직도 제 환경이 변한 것이 없습니다.
여전히 아이보느라 하루 2-3시간 정도밖에는 일에 투자할 시간이 없고
해야 할 것은 산더미 같네요...ㅠ.ㅠ

과연 얼마나 성실하게 이 연재를 이어갈 수 있을지 걱정이 됩니다만
일단 시작을 했으니 끝을 보고자 합니다.

아마 초반 얼마간은 연재가 빠른 속도로 진행이 되겠지만 어느 시점부터는
조금씩 느려지기 시작할 것입니다. 그래도 최대 1주일을 넘기지 않으려고 하니
이 점은 양해를 부탁드리겠습니다.

다음 글 부터는 본격적으로 소스 분석을 시작해보도록 하겠습니다.
Objective-C나 아이폰 앱 개발이나 모두 머리털나고 첨 해보는 그저그런 개발자의
소스이니만큼 비능률적인 코드, 독이되는 코드, 스파케티 코드 투성이일 것입니다.
그런 부분이 발견된다면 이 미천한 개발자를 위해 아낌없는 지적 부탁드리겠습니다.

다시 한 번 긴 글 읽어주신데 대해 감사드리며
연재 첫 글을 마치도록 하겠습니다.
감사합니다.

반응형