Android를 위한 변명

명색이 주변에서 안드로이드빠로 불리는데 새해 플젝으로 시작한 블로깅의 첫 내용을 Android를 공격하는 내용으로 쓰다 보니 마음이 편치 않아 다른 관점으로 두번째 글을 써보고자 합니다. 첫번째 블로그 글은 혼자 생각을 정리한다는 의미에서 시작한 것이라 경어체를 사용하지 않았는데 블로그가 공개된 이상 더 이상 혼자만의 생각을 정리하는데 머무르는 것이 불가능할 듯 해서 문체도 바꾸고 논조도 조금 변경할까 합니다.

첫 블로깅을 지인들과 공유하는 과정에서 @xguru 님과 @ibare 님께서 트윗을 하시면서 멘션과 예상치 못한 반응을 많이 받아서 당황한 면도 있는데, 그 중 대표적인 것이 개발자 시각에서 기술적으로 저의 주장을 반박하는 내용이었습니다. 저도 같은 개발자이지만 제가 주장하고자 하는 글의 논점은 기술적으로 맞다/틀리다를 떠나서 ICS 버전으로부터 야기되는 혼란스러운 UI/UX에 대한 의문점이고 그 부분에 대해서 Google의 역할 강화를 주장하는 것이었는데 각론에 초점을 맞춰서 제게 기술적으로 이해시키려고 하는 부분을 보면서 마치 거울을 보는 듯한 느낌을 받았었고 제 스스로를 돌아보는 계기가 되었습니다.

서론이 길었는데, 이번 글에서 제가 하고 싶은 말의 논점은 제목하고는 조금 다를 수도 있겠습니다. Android를 위한 변명이기도 하고 Android가 잘되기 위한 각 이해관계자들의 바른 역할에 대한 저의 생각일 수 있습니다.

Android가 지금까지 여타 플랫폼과 다른 점은 Google의 Open Access 정책인데 이 중에서 어느 것 하나 중요하지 않은 것은 없겠지만 “Open Application”는 통신 시장에서 상당히 큰 의미를 갖습니다. 기존 통신 시장이 이통사/제조사 간의 강력한 카르텔(?)체제에 의해서 Walled Garden이라고 불리면서 MVNO의 진입조차 쉽지 않을 정도로 폐쇄적인 시장 환경이었는데 특히 이통사/제조사의 pre-installed application은 주로 이통사의 서비스를 사용자에게 이용을 강제하는 수단으로 주로 사용되었고, 다이얼러/전화부/메시징 등의 주요 application은 제 3자가 접근할 수 없는 성역이었지만 Android에서는 Open Application 정책에 의해서 그 어느 누구도 특정 기능에 대해서 독점할 수 없는 구조로 제공되고 무조건 사용자의 선택이 최우선시 되며 심지어 그것이 Google의 application일지라도 동일하게 적용되는 원칙입니다.

이러한 획기적인 구조는 WIPI, BREW, … 등의 기존 통신 시장에서 시도된 수 많은 플랫폼에서 경험하지 못했던 것이고 iOS에서는 절대로 수용할 수 없는 혁명적 수준의 변화인데 의외로 저평가되고 있습니다. Open application으로 인해서 Android라는 플랫폼은 활용하기에 따라서 그 가치가 무궁무진하고 어쩌면 통신 시장에서 다시는 만날 수 없는 기회일 수 있어서 놓쳐서는 안되는 처음이자 마지막 기회라고 생각합니다.

그런데, Android가 iOS에 비해서 뒤늦게 시장에 선보인 점도 있고, 이미 대세가 iOS로 굳혀진 상태에서 “빠”라고 불릴 정도의 iOS에 대한 신념을 가진 일부 사용자로 인해서 Android가 어찌보믄 불필요한 공격을 많이 당한 면도 있지 않나 생각합니다. Android와 iOS의 플랫폼 방향성이 많이 다르고 각 단말들이 지향하는 시장이 많이 다른데도 불구하고 모든 플랫폼의 기준을 iOS로 접근하는 것은 옳지 않은 방향입니다. iOS가 좋으면 iOS를 쓰면 되지 굳이 Android를 공격해서 그들이 얻을 수 있는 것이 무엇인지 아직도 심히 궁금하기는 합니다. 다만, Google을 비롯한 이통사/제조사나 3rd party 개발사들은 그들의 잠재적 의도와는 상관없이 주장하는 바를 새겨들어야 한다고 봅니다. 왜냐하면 역설적으로 Android의 진화에 대한 대답이 Android를 공격하는 이들의 논리 안에 숨어 있다고 보기 때문입니다.

Android는 어쩌면 그 동안 기초 투자에 소홀하고 협력해서 공생해 본 경험이 없는 국내 기업에게는 특히나 다루기 힘든 듣보잡 플랫폼일 수도 있습니다. 국내 제조사들이 처음에는 그냥 공짜이고 플랫폼 구조가 너무 잘되어 있어서 S/W 생산성을 높이는 도구로 접근하였기 때문에 호환성이나 생태계를 등한시 한 것은 사실이고 지금은 호환성이 많이 개선은 되었지만 아직도 갈길은 멀어 보입니다.

이에 제가 생각하는 Android가 제대로 된 플랫폼으로 발전해서 모두가 공생하는 방안에 대해서 기술하고자 합니다.

1. Google
Google은 Android에 대한 칼자루를 쥐고 있는 입장이기 때문에 행보 하나하나에 시장이 민감하게 반응할 수 밖에 없습니다.
그 대표적인 예가 하나 있는데, Gingerbread 버전까지 기존 Android 단말들의 UI/UX에 대한 혼란으로 시장으로부터 지속적으로 공격을 받은 상황에서 Honeycomb 소스를 여타 플랫폼과 달리 공개적으로 Open하지 않는 점과 Google 고위 관계자들의 몇가지 발언에 비추어서 Honeycomb 이후에는 Google이 제조사들의 UI/UX 변경 권한을 축소할 것이라는 소문으로 확산되면서 또 다른 논란이 일어나기도 할 정도였고 ICS 버전에서 “Holo Everywhere“라는 Android 기본 theme 의무 탑재 정책과 Device Theme이라는 제조사 UI 변경 권한를 유지하는 것으로 발표되면서 한편의 해프닝으로 결론이 났을 정도입니다.

이 상황에서 Google에 무리한 요구를 하는 것은 어쩌면 시장내 이해관계자들의 활동을 위축시키거나 시장의 불확실성을 증가시키는 우려가 있기 때문에 조심스럽게 접근하는 것이 맞다고 봅니다. 그래도 최소한의 역할만은 제대로 해줬으면 좋겠습니다.

CTS
“파편화”라는 단어가 Android 플랫폼에게는 가장 치명적인 아킬레스건이 아닌가 생각합니다.
기존 어떠한 플랫폼도 해내지 못한 호환성이라는 만능 열쇠가 있을 것이라고 보지 않습니다. 심지어 100% 호환성을 유지하는 줄 알았던 iOS 조차도 단말별, 버전별로 예외처리가 필요하다는 사실을 알았을 때는 Android의 파편화를 공격하는 사람들이 한편으로는 측은하게 느껴지기까지 했습니다. iOS까지 그렇다고해서 Android의 플랫폼 호환성을 위한 노력을 안하자는 것은 아닙니다.
여러 제조사에서 H/W를 만들어냄에도 불구하고 여타 플랫폼과 달리 Android는 호환성이 향상된 것은 사실입니다. 그것이 비록 애플이라는 단일 회사에서 만들어내는 단일 디바이스에 비해서 호환성이 떨어질지라도 과거에 비해서 향상되었다는 점을 인정하고 더 향상된 호환성을 위해서 노력해야 하는데 그 중심에는 Google의 CTS가 있습니다.
Google이 device를 제조해보지 않은 web service 업체이기 때문에 초기 CTS 절차는 상당히 불완전하였고 그 결과로 초기 출시된 각 제조사별/단말은 CTS를 통과했지만 호환성에 많이 문제가 있었습니다. API input/output test결과가 동일하다고 API를 조합해서 사용하는 application이 완벽하게 동작하리라 생각하는 것이 얼마나 순진한 생각인지는 WIPI PCT를 통해서 국내 통신 시장에서는 이미 겪었는데 Google은 이제 그 경험을 하고 있다고 봅니다.

결론적으로 Google은 CTS 절차를 강화하고 새로운 테스트 절차를 도입해서라도 호환성이라는 맥락은 절대 지켜줘야 합니다.

② Market
Google Android Market은 진입장벽이 전혀 없기 때문에 완전한 개방을 의미하기도 하지만 정제되지 않은 garbage data로 인해서 Android Market 사용에 상당한 불편함이 있는 것이 사실입니다. 주요 인기 App의 사용자 리뷰에는 SPAM이 가득하고 App 설명에 적절하지 않은 단어가 포함되어 엉뚱한 App이 검색되는데도 Google의 개선 노력은 별로 보이지 않습니다. 이러한 부분들이 Android를 처음 사용하는 사용자들에게는 어렵고 복잡하고 지저분하다는 느낌을 주기에 충분하고 애플 앱스토어에 비교 당하며 공격당하는 주요 원인이 되기도 합니다.
검색을 잘한다는 Google이 Android Market의 검색 관련 기능을 보완하지 않는 것은 이해가 가지 않습니다. Web에서 사용자들이 원하는 Page를 잘 찾아서 보여주듯이 Android Market에서도 사용자들이 원하는 App을 적절히 검색하고 SPAM이나 관련이 없는 App들은 제거해서 정제된 결과를 보여주는 것만으로도 Android 플랫폼에 대한 가치는 달라질 것으로 봅니다.

2. 제조사
아이폰 출시 이후 통신 시장에 많은 변화가 있다고 하지만 대부분의 혜택은 애플에게만 예외적으로 적용되고 있습니다.
현재는 애플의 제품들이 시장에서 열광적으로 반응하기 때문에 울며 겨자먹기식으로 이통사가 일방적으로 양보하는 면이 많이 있기는 하지만 장기적으로 애플의 인기가 사그러들거나 다른 제조사들의 경쟁력이 향상되어 애플의 영향력이 일정 수준이하로 축소된다면 언제든지 이통사의 입지는 다시 복원될 것이고 시장의 흐름이 인위적으로 변화될 수 있습니다.
하지만 현재는 애플의 아이폰뿐 아니라 스마트폰이라는 플랫폼의 변화가 이통사에게 불리하게 작용하고 있고 그 틈을 제조사들이 비집고 들어갈 수 있는 여지가 있습니다. 그래도 아직은 제조사는 이통사로부터 상당부분 통제를 받을 수 밖에 없는 시장 구조로 인해서 가장 더디게 변화하는 것이 제조사가 아닐까 싶습니다.
처음에 아이폰이 도입되는 시점에는 별 문제 없다라고 대외적으로는 공표하면서도 내부적으로는 상당한 위기감에 휩싸였을텐데 의외로 빠른 기간내에 시장 수성에 성공하면서 오히려 제조사들이 혁신을 할 수 있는 기회를 놓친 것이 아닌가 생각합니다.

기존에 제조사들은 흑백LCD에서 4gray, 256 color, 16만 color로 변화하고 플립에서 폴더, 슬라이드로, 키패드에서 터치로 폼팩터가 진화할때마다 매번 플랫폼을 새로 만들었습니다. 제조사 입장에서 플랫폼은 오로지 S/W 생산성을 높이는 도구 그 이상도 이하도 아니었는데, Android 플랫폼은 제조사 플랫폼을 만드는 비용을 획기적으로 절감해주고 스마트폰 OS 기반이라 재사용성이 높아서 굳이 마다할 이유가 없었던 것이지 시장의 변화에 발빠르게 대응하는 측면에서 접근했다고 보기는 어렵습니다. 그렇기 때문에 Google이 Android 플랫폼을 Full source로 open을 해도 별다른 고민 없이 H/W를 판매하기에 급급했고 호환성이나 OS 업그레이드, 생태계 등을 고민할 필요가 없었던 것입니다. 대신, 이통사가 시장 변화에 발빠르게 대응하지 못해서 수익 모델을 여기저기 빼앗기는 동안 제조사들은 그 동안 피쳐폰 시장에서 해보지 못했던 서비스 영역으로 확장을 주로 고민했습니다. 이 과정에서 이통사와 제조사 간의 미묘한 충돌도 있었습니다만 정작 제조사가 해야할 본분에 대해서는 망각하고 있는 것 같습니다.

혹자는 Android를 meta-platform이라고 하는데 저는 이 용어에 적극 찬성합니다. 기존 MS의 Windows Mobile과 같이 제공받은 OS를 기준으로 H/W를 만들어서 판매하는 구조가 아니라 Android라는 full source를 기반으로 제조사가 호환성을 유지하는 범위내에서 재량껏 수정해서 새로운 플랫폼인 것 처럼 판매할 수 있기 때문입니다.

만약, 제조사가 이러한 플랫폼에 대한 개념을 숙지하고 치밀한 전략하에 움직였다면 Android 플랫폼이 가지는 S/W적인 취약점을 iOS에서 벤치마킹해서 또다른 아이폰을 만들어냈으리라 봅니다. 불행하게도 제조사들은 그런 행보를 아직까지 보이지 않고 있습니다. 눈에 보이는 UI만 조금씩 바꿔서 차별화된 것처럼 포장을 했지만 막상 사용성에 있어서는 Android 플랫폼의 취약점을 모두 가지고 있기 때문입니다.

Google이 배포하는 Android source가 포장하지 않은 bulk 라면 또는 사리면이라면, 제조사는 시장에서 사용자들이 원하는 다양한 맛의 스프를 첨가해서 포장을 달리한 라면을 출시하는 것이 본분이라고 봅니다.

제조사는 지금부터라도 플랫폼에 대한 해석을 나름대로 충실하게 수행해서 GUI를 변경하는 눈속임이 아닌 각 제조사가 생각하는 플랫폼의 철학을 구현한 제대로된 단말기를 출시하기를 바랍니다.

3. 이통사
통신 시장의 주도권을 쥐고 있던 이통사 입장에서 스마트폰에 대한 대응을 오랜동안 진행했음에도 불구하고 현재 시장 상황은 어쩌면 황당할 것으로 보입니다. 왜냐하면 현재 스마트폰 시장에서 주로 이용되는 서비스의 대부분은 예전에 이통사들이 자체 서비스로 이미 대응을 했던 것이기 때문입니다.
CDMA, WDCDMA, 2G, 3G, 화상전화, LTE 등의 시장 키워드를 선정하고 마케팅을 통해서 새로운 시장으로 변화하는 과정에서 포화된 시장임에도 지속적으로 고객들이 새로운 서비스를 사용하고 단말기를 교체하고 통신 비용을 지출하게 만드는데 익숙하다가 본인들이 통제하지 못하는 상황으로 변화되었음에도 이통사 자체 규격을 제조사에 요구하거나 pre-installed application을 강제적으로 탑재하도록 하는 것을 보면 아직 완벽하게 적응했다고 보기는 어렵겠습니다.

기존에 이통사의 기술 조직에서 서비스에 맞춰서 단말 규격을 만들고 제조사에 배포하는 절차가 남아 있다는 것은 시장의 주도권을 놓기 싫다는 것으로 읽히는데 현재 시장 상황에서 주도권은 매력적인 서비스로 고객을 매료시켜야 하는 것이지 구태의연한 절차로 되돌릴 수 없다는 것을 알았으면 합니다.

이통사는 통신 시장에서 기존 포털과 동등 수준 또는 우월한 수준의 서비스 제공 능력이 있음에도 불구하고 이통사에서 제공하는 서비스나 application을 보면 상식적으로 시장에서 이해할 수 없는 저급한 수준의 결과물들이 나오는데 비대해진 관료조직에서 어쩔 수 없는 상황이라면 API를 제공하고 3rd party 들이 API를 사용해서 수익을 낼 수 있도록 환경을 만들어주고 수익을 배분하는 것이 더 적절한 대응이 아닐까 생각합니다.

그리고, 이통사가 Android Market이 있음에도 독자적인 Store를 각자 운영하는데 행태가 기존 피쳐폰 시절과 그 행태가 다르지 않거나 Android Market과 차별화 요소가 전혀 없다는 것이 문제라고 보입니다. 앞서 지적했다시피 Android Market의 낮은 진입장벽으로 인해서 발생하는 문제를 최소한 이통사 Store에서는 진입장벽을 약간 높이더라도 선별적으로 적용해서 소위 “백화점” 모델로 약간의 추가 비용을 지출함으로써 Spyware나 개인 정보 유출 등의 걱정 없이 안심하고 사용할 수 있다는 점과 더불어 애플 앱스토어 수준까지는 아니더라도 이통사가 일정 수준에서 application에 대한 UI/UX까지 총체적으로 심사하여 Android Market 보다 활용도가 높고 고급 application을 다운받을 수 있다는 차별화 요소를 사용자들에게 제공하면 좋겠습니다.

또한, Android 개발자들에게 가장 큰 어려움 중의 하나가 SMS/MMS 데이터를 읽는 것인데 전세계적으로 SMS/MMS 규격이 다른 상황에서 플랫폼 차원에서 표준 API를 제공하기에는 어려움이 있기에 Content Provider를 통해서 제공하는 것으로 구조를 설계했으리라 추정되는데 이러한 혼란을 해결할 수 있는 유일한 주체가 이통사라는 점에서 최소한 WIPI 때 했던 노력의 1/10만 들여도 공통적으로 사용할 수 있는 Content Provider 규격을 최소한 국내 이통사간에 합의할 수 있으리라 생각되며 불필요한 이통사 독자 규격을 강요하는 것 보다는 훨씬 나은 방향성이 되리라 봅니다. 이러한 연장선 상에서 통신 시장에서 이해관계자들이 애로를 겪는 문제 중에서 Google이 해결하기 어렵거나 Google이 나설 필요가 없는 부분에 대해서는 이통사간의 협의체를 통해서 제조사 단말 제조 규격으로 표준화하는 것이 이통사의 올바른 역할이라고 생각합니다.

맺음말
예전에 제조사에 있을때 앞/뒤 사정 모르고 제조사를 힐난하는 블로거들을 볼때마다 참 답답하다는 생각을 했는데 이 글을 쓰면서 각 이통사와 제조사들의 담당자가 답답해할 수 있겠다라는 생각이 들었습니다. 나름 똑똑하다는 사람들이 모여서 오랜 시간 고민하고 불가피한 상황에 의해서 도출되는 결과만 시장에 보여지다보니 욕을 먹을 수 밖에 없는 구조라는 것도 압니다. 하지만, 시간이 지나도 Android의 생태계가 제대로 구축되지 못하는 점을 보면서 안타까움에 시장 이해관계자들이 움직였으면 하는 바램에 이 글을 썼음을 밝힙니다.