최근 가장 화제가 되는 혁신을 손꼽아보라면 무엇을 들 수 있을까? 저마다 생각이 다르겠지만 애플에서 선보인 아이폰을 빼놓기는 힘들 것이다. 매킨토시, Mac OS, 아이팟으로 이어진 애플의 거침없는 혁신의 행보는 마침내 휴대폰 시장에도 발을 들여놓는 데까지 발전했다. 사명인 Apple Computer에서, 과감히 Computer를 제외한 애플은 그렇게 아이폰의 대대적인 성공을 발판 삼아, 하드웨어 디바이스를 초월한 디지털 혁신의 중심이 되어가고 있다.
개발자들에게도 아이폰은 정말 매력적인 물건이 아닐 수 없다. 매력적인 디바이스, 애플 특유의 노하우가 축적된 플랫폼, 모바일 웹에 최적화된 환경 그리고 모바일 컨텐츠의 제한된 유통구조를 과감히 깨트린 앱스토어라는 유통 플랫폼까지. 우리는 그야말로 어느 단 한 면만 해부해보아서는 쉽게 알 수 없는 총체적인 혁신 앞에 서 있다고도 할 수 있다.
사실, 기술적인 측면에서 하나하나 해부해 나가다 보면, 아이폰 플랫폼에도 적지 않은 아쉬움이 남는 것은 사실이다. 혹자는 이런 기술적인 단점을 지적하기도 하지만, 아이폰이 많은 사용자들에게 실질적인 가치를 가져다 주었다는 점을 생각해 보자면, 단점보다는 장점에 더 많은 관심이 가는 것이 사실이다.
무엇보다 개발자들에게 아이폰이 주는 매력은 혁신적인 기기로써가 아니라, 개발자들 스스로에게 많은 변화를 가져올 수 있는 '플랫폼'에 있다. 왜 아이폰이 혁신적인 플랫폼일까? 그 이유는 크게 세 가지로 나누어 볼 수 있을 것 같다.
하나, 아이폰은 매력적인 프로그래밍 플랫폼이다
아이폰이 단기간에 프로그래밍 플랫폼으로써 많은 지지를 얻게 된 데에는, 사실 애플이 Mac OS를 통해 오랜 기간 축적해온 기반 기술들의 공을 빼놓을 수 없다. 아이폰 OS와 SDK는 기본적으로 이미 UI, 개발 편의성이 모두 검증된 맥 개발환경에서 통용되던 프레임워크에 근간에 두고 있다.
아이폰 프로그래밍에서 가장 기본이 되는 개발 언어로는 오브젝티브C를 사용하고, 가장 상위에서 소프트웨어를 구동하는 데 필요한 추상화 계층으로는 Mac OS에서 흔히 사용하던 코코아 계층을 최적화한 코코아 터치를 활용하게 된다. 코코아 터치를 통해 SDK의 하위 계층을 자세히 알지 못해도, 간편한 이벤트 드리븐 프로그래밍 방식을 통해 아이폰 애플리케이션을 개발할 수 있다. 특히 휴대용기기는 다양한 사용자 입력과 상황을 모두 고려해야 한다. 맥 OS때부터 축적된 이런 추상화계층과 디자인 패턴들 덕분에, 아이폰 개발자들은 몇 가지 개념만을 파악하고 구현하면 다양한 상황에 손쉽게 대비할 수 있다.
둘, 아이폰은 모바일 웹을 위한 맞춤형 플랫폼이다
아이폰이 선풍적인 인기를 몰고 왔다지만, 아직 모바일 시장 전체를 놓고 볼 때, 아이폰의 점유율은 1%를 약간 상회하는 정도에 불과하다. 스마트폰 시장으로 놓고 보아도 10%에 불과한 것이 현실이다. 점유율이나 이식 가능성과 같은 측면만을 놓고 보자면 윈도우 모바일, 구글 안드로이드, Java FX을 선택하는 편이 개발자 입장에서 훨씬 나은 선택이 아닐까?
하지만, 많은 기업과 개발자들이 아이폰에 주목하는 이유는 단순한 점유율에 있지 않다. 그것은 바로 사용자가 가장 원하는 가치(사용자 경험)와 가까운 미래에 모든 변화의 핵심에 놓일 모바일 웹의 특성을 가장 잘 표현하는 아이폰의 특성에 있다. 사실 단일 기술로만 보면, 기존의 플랫폼들도 아이폰의 특성을 모두 구현하거나 따라잡고 있는 것이 사실이다. 하지만, '모바일 웹'이라는 관점에서 사용자 관점의 일관된 경험, 일관된 플랫폼을 애플처럼 오랫동안 치밀히 준비한 기업은 없었다고 해도 과언이 아니다.
많은 기업이 모바일 웹이 지닌 가능성은 인정했지만, 그간 단일 기술측면에서 변화를 바라보았던데 비해, 애플이 아이폰 OS와 모바일 사파리 등을 통해 보여주는 모바일 웹에서의 사용자 경험은, 그간 우리가 웹을 통해 경험해왔던 고정관념들을 단숨에 깨뜨리고 있다. 기능이 아니라, 모바일 웹 시대의 사용자가 무엇을 원할지를 끊임없이 고민하고, SDK와 하드웨어의 성능은 오로지 그 사용자경험을 100% 구현하는 데 집중하는 플랫폼. 바로 그것이 모바일 웹 시대를 준비하는 많은 기업들이 아이폰을 레퍼런스로 삼는 이유이고, 모바일 웹을 준비하는 개발자들이 아이폰을 주목해야 하는 이유이다.
셋, 아이폰은 인디 개발자들을 위한 플랫폼이다
사실 애플이 앱스토어를 오픈하지 않았고, 이를 통한 비즈니스적인 성공을 이루어내지 않았다면 지금처럼 주목을 받지 못했다고 말할 수 있을 정도로, 앱스토어가 모바일 시장, 나아가서는 패키지 소프트웨어와 컨텐츠 시장 전반에 끼친 영향은 실로 엄청나다.
모바일 플랫폼의 관점에서 보면, 앱스토어는 그간 이동통신사-휴대폰 제조회사-컨텐츠 제공사 등으로 이해관계가 복잡하게 얽혀 컨텐츠/애플리케이션의 발전을 가로막았던 가치 사슬의 흐름을 한번에 해결했다고 볼 수 있다. 개발자가 직접 만든 가치가 사용자에게 직접 유통될 수 있다는 앱스토어의 유통구조는, 풍부한 기회만큼 다양한 가능성과 양질의 애플리케이션들이 유입될 수 있는 원동력이기도 하다.
그리고 여기에 개발자들의 또 다른 가능성이 숨어 있기도 하다. 패키지 소프트웨어보다는 낫지만, 웹 서비스 또한 최종사용자에게 전달되기까지에는 포털과 같은 유입경로나, 마케팅을 필요로 하는 것이 사실이다. 하지만, 앱스토어는 그야말로 사용자에게 바로 다가갈 수 있는 직거래 장터인 셈이나 마찬가지다. 대기업과 중소기업, 1인 개발자들이 동일한 경쟁 선에서 경쟁한다. 경쟁은 치열하지만 그만큼 공정하게 경쟁할 수 있기도 하다. 외국의 아이폰 개발자들이 아이디어와 노력만으로 판매순위 상위에 들어, 큰 수익을 올렸다는 얘기는 더 이상 외국만의 얘기는 아니다. 한국에도 앱스토어 상위권에 이름을 올린 개인 개발자가 점차 많아지고 있는 추세이다.
소위 인디 개발자라고 부르는 개인 개발자들이 공정하게 경쟁할 수 있고, 사용자가 직접 그 가치를 평가할 수 있는 경쟁시장. 아이폰 플랫폼은 그렇게 개발자 개개인을 위한 무한한 기회의 땅이기도 하다.
개발자(Developer), 이제는 창조자(Creator)로 거듭날 때
오픈소스 기술이 전반적인 소프트웨어 개발비용을 낮추고, 실리콘 밸리의 웹 서비스 창업 붐을 일으켰다는 연구결과처럼, 아이폰과 앱스토어가 몰고 올 파장은 우리가 지금 체험하고 있는 것보다 더 클 것이다.
클라우드 컴퓨팅이 인프라 기술에 대한 비용을 크게 낮추었던 것처럼, 아이폰과 같이 고도로 추상화된 플랫폼은 점차 개발자들에게 높은 추상화의 영역, 다시 말해 사용자의 욕구와 직접적으로 연관된 부분들을 담당할 것을 요구한다. 저수준 기술들은 점차 잘 정립된 모듈들을 통해, 수면 아래로 사라지게 될 것이기 때문이다. 대신 변화하는 시대는, 개발자들이 사용자들의 빠른 욕구 변화에 대응할 수 있는, 빠르고 기민하게 서비스를 제공할 수 있는 소프트웨어를 개발하기를 요구한다.
그야말로 시대는 개발자들에게 기술 이상의 것을 요구한다. 도메인 지식, 프로젝트 관리, 사용자 경험, 마케팅, 비즈니스적인 가치들 등 기술만을 바라보았던 해커의 설 자리는 점점 줄어드는 대신, 사용자인 고객이라는 대상을 바라보아야만 하는 개발자 이상의 모습을 사회는 요구하고 있는 것이 아닐까. 그리고 그런 의미에서 아이폰은, 개발자들에게 잊고 있던 즐거움과 기술이 가져야 할 진정한 가치를 다시금 일깨워주는 플랫폼이라고도 볼 수 있다. 직접 애플리케이션을 배포하고, 업그레이드 해가면서, 하루하루 사용자와 부대끼는 플랫폼. 자신이 만든 가치를 사람들이 인정해주고 이에 따른 비즈니스적인 기회도 살리고, 또 어떤 것이 사람들이 필요로 하는 기술이고 가치인지를 다시 한 번 고민해보는 과정. 최종 사용자와 맞닥뜨리면서 그들이 필요로 하는 가치를 창조하는 창조자로서의 모습으로 진화하는 것이, 오늘날 우리 개발자들이 지닌 하나의 숙제가 아닌가 생각해본다.
--- '옮긴이의 글' 중에서