변형된 안드로이를 탑제한 국내 기기들 어떻게 생각하세요? 도 돌

1달 전쯤에도 위와 같은 글을 썼었습니다. 유독 국내향 안드로이드 기기에서만 호환성 문제가 생긴다는 내용 이였는데요.
도돌 폰 사용량 v2.0.3 버전에서 다시 큰 호환성 문제점을 보면서(시리우스) 한번 더 새로 알게된 부분을 공유하고 아차님을 글을 보고 공감하면서 다시 한번 주장 하고자 글을 씁니다.

갤럭시 기종을 바라보면서 id: 아자아자

최근에 올린 아자님의 글에 아자님이 갤럭시와 모토로이의 MMS Content provider 내용이 다르 다는 것을 지적 하셨었죠... 지금 시리우스에서 도돌 폰 사용량이 문제가 생기는 이유도 관련된 이유에서 입니다.

 저는 위와 같은 문제의 심각성을 조금 더 먼저 깨닫고 시중에 나온 모든 폰을 테스트 할 수 없는 개인 개발자 입장에서 사용자들의 도움을 받고자 Content Provider를 검색하는 앱을 만들어서 배포한 적이 있습니다. 계속 들어오는 보고 결과를 보고 상황은 더 안좋다는 것을 느꼈습니다.

Group A
안드로이드 에뮬레이터 - 아무런 문제가 없습니다. (MMS는 테스트를 못했네요!)
HTC 넥서스원, G1 - 레퍼런스폰이죠.. 문제가 없습니다
HTC 디자이어 - HTC 아무런 문제가 없습니다.
Motorola 모토로이 - 제가 가지고 있는 기종이라 잘 압니다. 호환성에 아무런 문제가 없습니다.
LGE 안드로원 - 이것도 제가 가지고 있습니다. 호환성에 아무런 문제가 없습니다.

Group B
Samsung 갤럭시A - SMS 리시버가 표준과 다른 정보를 받아 옵니다. MMS와 SMS를 구분 할 방법이 없습니다. MMS와 SMS CP가 있지도 않습니다.  (내용 판별 불가능)
LGE 옵티머스Q - SMS 리시버가 표준과 다른 정보를 받아 옵니다. MMS와 SMS CP가 있지도 않습니다.  (내용 판별 불가능)
Pentech 시리우스 - SMS 리시버가 표준과 다른 정보를 받아 옵니다. Call Log DB의 컬럼이 호환이 안될정도로 다릅니다. (메세지도 전화 통화 타입으로 분류됨) MMS와 SMS CP URI 명은 같으나 DB의 컬럼이 다릅니다. (내용 판별 가능)

위의 그룹과 아래의 구룹의 차이점은 무엇 일까요? B그룹은 많이(?) 커스터마이즈된 국내 개발의 국내 전용 안드로이드폰 정도로 분류 됩니다.
Group B 에서 옵티머스를 제외하면 모두다 SKT에다가 통합 메세지함 (이하 통매)를 가지고 있습니다. 모든 일의 근원은 통메 처럼 보이지만 또 그렇지 않습니다. SktSamsung에서 통매를 꼭 사용 해야 했다하더라도 충분히 SMS와 MMS의 CP를 만들고 그곳에 업데이트 해줬을 수도 있었습니다. 그냥 통신사나 제조사가 나쁜게 아니라 꼭 그럴 필요성을 못느껴서 안한 것으로 생각 됩니다.
하지만 이런 상황에서 Group B의 핸드폰들은 안드로이드의 정신을 역행하는 안드로이드 오픈 소스 표준의 파괴자로 분류 될 수도 있습니다.

저는 왜 제조사에게만 이렇게 주장 하는 걸까요?

안드로이드는 구글, 제조사, 통신사, 앱 개발자가 모두가 프로젝트의 contributor로 일 하고 있다고 생각합니다.
안드로이드는 오픈 소스에 여러 플레이어들이 등장하기에 이 문제를 해결 할 수 있는 방법에는 3가지 정도가 있습니다.

1. 구글에서 안드로이드 API를 잘 정비하고 CTS의 기준을 높여 표준을 강제하는 방법
2. 앱 개발자가 노가다를 통해 모든 표준을 벗어난 기기들에서 작동되도록 앱을 만드는 방법,
3. 제조사에서 안드로이드 오픈 소스에 포함되있는 코드를 존중하고 그 표준에 가깝게 만드는 방법

 물론 1번이 가장 좋은 방법입니다. 구글이 앞장 서서 모든 교통 정리를 해주는 방법이죠. 하지만 많은 분들이 아시다 싶이 구글은 자기 맘대로 하고 싶을때 행동합니다. android 오픈 소스 그룹의 이슈를 보면 SMS와 관련된 이슈는 2008년 9월 27일에 등록되어 있습니다. SDK 1.1 시절 같군요. 구글은 그냥 이런 이슈를 처리하기까지 부지런하지 못한 걸지도 모릅니다.  하지만 조금 더 생각해보면 구글 안드로이드 개발자도 몇 없는데 SMS 관련 호환성을 CTS나 API에게 의존하게 하기 보다는 제조사가 스스로 표준에 맞추게 놔둔 걸지도 모릅니다. 구글에서 전 세계적으로 활동하는 Group A의 해외 안드로이드만 보고 제조사가 잘 처리하여 관련 호환성 문제가 잘 생기지 않아 심각하지 않다고 생각할지도 모르죠.

 2번이 현재 방식입니다. 저 같은 경우 사용자들을 괴롭혀 자료들을 취합하여 코딩을 하고 호환성을 늘린 2.0.3 버전을 내놓았습니다. 그리고 결과는 엉망이였습니다. 시리우스 사용자는 문자가 오면 앱이 비정상 종료 되었습니다. 다수의 사용자들이 제 앱에 안좋은 기억을 가지고 떠났을 것이구요. 이건 마치 테스트로 컴파일 한번 안해보고 코드를 처음 부터 끝까지 만든 다음에 앱을 배포하는 것과 같습니다. 잘 될리가 없죠. 시리우스의 경우 팬텍 쪽에 요청해서 기기 지원좀 해달라라고 하였지만 어떻게 될지 모르겠네요. 안드로이드가 앱을 쉽게 업데이트 할 수 있어서 다행이지 Tstore의 경우에는 제가 아예 앱을 올리질 못합니다. 이런 긴 시행착오와 노가다 끝에 호환성을 맞출 수 있겠지만 결국 그러고 나서 남은건 또 이상한 호환성을 가지고 있는 새로운 폰의 출시와 낭비된 시간 뿐.

 이러한 현재 상황에서는 3번. 제조사가 표준에 가깝게 만드는게 진리입니다. 다시 말하지만 구글의 CTS 통과 만 기다리고 제조사에서는 CTS 통과 했으니 구글만 바라보며 제조사는 문제가 없다고 말 하는 것은 답이 될 수 없습니다. 똑같이 CTS 테스트를 통과한 해외 휴대폰에서는 왜 이런 문제가 쉽게 안생기는 걸까요? HTC나 모토롤라가 괜히 스마트폰에 강한게 아닌것 같습니다. 해외에서도 겔럭시A나 겔럭시S가 나온다고 합니다. 해외에도 똑같이 나오면 이거 분명히 욕먹습니다.

 제조사에게 부탁드립니다.

 1. CTS 이상의 안드로이드 소스의 호환성을 맞춰 주세요.
 2. 개인 개발자들에게 개발 폰을 지원해 주세요.
 3. 그게 안된다면 애뮬레이터 이미지라도 배포해 주세요. (전체 소스 컴파일 할때 에뮬레이터 이미지도 낼 수 있는 것으로 알고 있습니다.)

 예전에 개발자 게시판에 올라온 윗 글을 보고 씁슬한 웃음을 지을 수 밖게 없었습니다. 비웃는게 아니라 저도 예전에 저렇게 생각 했었고 국내 안드로이드를 사용해 보면서 얼마나 나이브한 생각이였는지 깨닫는데 오랜 시간이 걸리지 않았죠. 물론 시스템에 관련된 자원을 사용하는 앱이 아니라면 문제가 안될 가능성이 높지만 그런 것만 만들면 안드로이드의 장점을 모두다 활용하는게 아니죠.

 * 폰 분실시 노키아처럼 특정 비밀번호를 지닌 SMS를 받으면 폰의 사용을 차단하고 GPS정보를 이메일로 보내며 연락처 정보를 화면에 표시해 폰을 되찾는데 도움이 되는 앱을 만들고 싶었고..
 * 자동으로 SMS 스펨 DB를 구축하여 모든 안드로이드 기기에 스팸 문자를 한번에 없에 버리는 기능도 만들고 싶었고...
다 포기포기~

구글이나 휴대폰 제조사나 개발자나 사용자까지도. 다 안드로이드의 이용과 발전을 위하는 마음은 같다고 생각합니다.
단순한 제가 제작한 앱에서 일어나는 문제의 불평 불만 글이 아니라 안드로이드의 발전에 공헌하고자 하는 마음으로 글을 씁니다.