제가 돛단배를 처음 만들때는 프로요(2.2)가 나오기 전이었기 때문에
당연히 당시 최신 버전인 이클레어(2.1)을 기준으로 작성을 했습니다.
도넛(1.6)도 지원할 생각은 있었지만 대부분의 사용자가 이클레어였기 때문에
1.6 지원하기 위해 따로 공부하기는 귀찮았던거죠.
그래서 2.1을 기준으로 계속 앱을 개발하고 있었습니다.
마음속으로는 모든 버전에서 구동 하는한 앱을 만드는게 나름 로망이었기 때문에
언젠가는 꼭 구버전에서도 돌아갈 수 있도록 해야지 하면서도
막상 앱을 운영하는데 아무런 문제가 없기 때문에 그냥 무시하고 있었어요.
그러다가 도넛(1.6)까지 지원하는 앱을 만드는 회사에 들어가게 되었고
1.6을 지원하다보니 그렇게 어렵지 않다라는걸 알게 되었습니다.
그래서 돛단배를 1.6에서도 돌아가게 만들고 런칭한 시기도 있었구요.
여기까지만 글을 쓰면 '여러분들도 하위버전 호환을 꼭 하면서 개발하세요~!'라는 글이 되지만
오늘 개발자 모임에서 깨달을 점을 하나 적도록 할게요.
돛단배 1.6을 지원하면서 얻은것을 따져보면
1) 우선은 개인적인 성취감을 얻었으며
2) 현실적으로는 1.6을 사용하는 사용자를 얻었습니다.
1과 2가 적절히 발란스를 이루었다면 여전히 돛단배는
안드로원 초기버전에서도 돌아가야 했겠지만
현실적으로 2가 너무 적었죠.
그래서 그냥 그 다음 업데이트 할 때에는 1.6 버전을 포기했습니다.
돛단배는 다시 2.1 버전부터 지원하는 앱입니다.
그리고 오늘 들은 얘기로는 이제는 2.1을 지원하는 것도 무의미한가 하는 생각이 들었습니다.
그래서 집에 오자마자 통계를 보았더니...
도넛1.6 (0.02%)
이클레어2.1 (2.5%)
프로요2.2 (24.27%)
진저브레드 이상 (약 70%)
이 정도면 프로요 이상의 유저만을 대상으로 기획하는 것도 나쁘진 않다고 봅니다.
버전보다는 같은버전인데도 오류가 발생하는 기기가 있다고 생각한다면, 안드로이드 플랫폼내에선 모든 기기를 지원하겠다는 목표는 너무 힘든것 같습니다.
힘들게 구버전까지 구동하게 만들어놨는데, 일부모델에서 작동이안된다면.. 그냥 속편하게 버릴건 버리고 가는게 낫지않을까 생각이드네요ㅎ
전 그래서 2.2로 만들고있다는.
os버전보다 몇몇 호환안되는 모델을 버린 적은 있습니다.
마켓에서 검색안되게 체크해놔버렸죠.
오픈지엘 지원이 미흡한 과거 기종은 어쩔수 없이 배제..
자신이 사용하는 API 레벨을 생각해서 지원 가능한 안드로이드 버전을 결정하는게 맞는것 같습니다.
사용하는 API 레벨은 높지 않은데 내 폰이 2.2라고 minsdk를 8로 잡고 시작하면 낮은 버전 잠재적 사용자는 다 버리고 가는 거겠죠.
도돌 폰도 이번 업데이트 하면서 새로운 업데이트는 2.2 버전 부터 사용 가능하게 만들었는데 가슴이 아펐습니다. 기존 사용자들을 배신하는 느낌 ㅠㅠ 낮은 버전의 OS 사용자들은 예전 버전을 계속 사용 할 수 있게 해 두었지만...
앱 개발을 배울 수록 이런 세세한 것들이 앱의 완성도를 높인다는 것을 배우고 있습니다 -ㅠ-
저의 경우
처음 안드로이드 개발 시작할대는 도넛(1.6) 기준으로 개발
프로요(2.2)가 활성화 되었을 시점에 이클레이(2.1) 기준으로 개발
C2DM, 일부 카메라 옵션이 필요 및 진저브레드(2.3) 활성화 되었을 시점에 프로요(2.2) 기준으로 개발
아직은 3.0, 4.0이 많이 활성화되지 않고 Fragment도 사용하지 않다보니 아직은 최소버전 2.2 기준으로 개발하고 있습니다.