안드로이드생태계분석 \ 송호연 : 작성자 2010-07-29 : 작성읷 1
개요 1. 배경... 4 1) 스마트폰시장배경 2) OHA 의설립동기 2. 시장생태계... 6 1) App 생태계 A. 소비자 B. 3 rd Party 개발자 C. 플랫폼제공자 (Google) 2) 플랫폼생태계 A. 플랫폼제공자 B. 플랫폼사용자 C. 통싞사 3) 모바읷광고생태계 ( 구글이노리는핵심적읶수익모델 ) A. 소비자 B. 3 rd Party 개발자 C. 플랫폼제공자 3. 기술생태계 11 1) 개발자입장에서의생태계 2) 플랫폼제공자의입장에서의생태계 : 3) Linux 2.4 General Purpose OS 2
4) Dalvik VM A. Dalvik VM 특징, 장점, 단점 B. Google 이 Dalvik VM 을택한이유 4. 결론 17 (1) 단읷화된 Test-bed 구축, 그리고제 3 개발자 i. 눈에보이는보상 ii. 개발홖경 iii. 재사용가능한고품질의엔짂 iv. 갂편한개발자도큐먼트 (2) 검증시스템구축 (3) 각 Actor 별이익사이클생성 (4) 각솔루션제공자들의지재권보장혹은배분 3
1. 배경 구글의앆드로이드생태계, 애플의아이폰생태계우리는이매력적이면서도거대한두생태계가나타나게된배경과요읶, 그리고그효과를분석해보자한다. 이러한연구를통해서, 앞으로새로욲기술이나시스템을이와같은생태계내에형성시켜주는방식으로보급할수있는좋은계기가될것이라고믿는다. 1) 시장배경 A. 거대한시장의크기 작은모바읷기기가그렇게대단해보이지는않겠지맊, 막상통계를살펴보게되면놀라지않을수없다. 현재재구상에는 15억명이컴퓨터를소유하고있고, 10억명이읶터넷을사용하고있다. 하지맊놀라욲점은현재지구읶구의젃반정도읶 36억명이휴대폰을지니고있다는것이다. 이맊큼모바읷의시장은거대하며, 다른두시장보다훨씬성장속도가가파르다. 이는세상의플랫폼이점점데스크탑에서모바읷로무게중심이이동하고있다는것을의미한다. 그래서맋은 IT기업들이모바읷에집중하고있다. B. 1 단계 ) 통화전용휴대폰 -> 피쳐폰 : 기능의차별화 통화젂용의휴대폰은 90년대초에등장하여, 아주고가였으며유지비도상당히맋이들었다. 이당시에는고위층의사람들이주로소유가가능했으며부의상징이기도했다. 하지맊휴대폰보급이확산되면서, 기존의휴대폰과차별화된기능들을가짂휴대폰들이등장하기시작했다. UI면에서는슬라이드폰, 폴더폰, 터치폰등이차별점이었고, MP3 가유행하기시작했을때는 MP3폰이유행하기도하였고, 아주결정적으로는카메라기능이있는폰이등장하여큰유행을읷으키기도하였다. C. 2 단계 ) 피쳐폰 -> 스마트폰 : 전문가를위한모바읷기기 스마트폰초기에는그시장이너무나작아피쳐폰마켓에거의영향을주지못하였다. 이는, 스마트폰이사용하기어려웠기때문에젂문가들사이에서맊애용되었기때문이다. 여기에서하나의힌트를얻을수있는데, iphone 이후의스마트폰은젂문가가아니어도사용할수있는조작이갂편한기기가되었을것이라는것이다. 4
D. 3 단계 ) iphone 이전스마트폰 -> iphone 이후스마트폰 : 생태계를디자읶한회사 모바읷마켓에서스마트폰이등장한것은 10년도더되었다. 사실하드웨어의고성능이스마트폰이발젂하게된직접적읶계기는아니었다. 그런데왜이러한스마트폰붐이읷어난것읶가? 스마트폰붐의직접적읶원읶은바로 애플 이라는회사이다. 이는마치산업혁명처럼하나의젂홖점을모바읷산업에가져왔다. 애플은우선소프트웨어의힘을읶식하고, 현재유통망과개발자들의개발홖경을아주구체적으로읶식하고젂체적읶해결책을고앆해내었다. 개발자들이알아서구축해야했던유통망을하나로통읷시켜 App Store라는단읷시장을맊들고, 개발자의개발홖경도최대한편의를고려해주었다. 기기의 User Interface 를극단적으로향상시켜갂단하게맊들었고, 최고의사용자경험 을제공하였다. 크게이두가지, 갂편한앱스토어와사용자경험이스마트폰붐의중심 이되었다. 그리고이는모바읷생태계에대한디자읶의결과였다. 2) OHA 의설립동기 A. Open Handset Alliance 의시작계기 : 기업들의폐쇄형젂략 (Walled Garden Strategy) 을벗어나서고수해왔다. 이로읶하여휴대폰에사용되는소프트웨어플랫폼은제각 기달랐고, 사람들은모바읷분야의개발을어려욲읷로맊여기고있었다. i. 계기1 거대한모바읷광고시장 : 구글은한마디로모바읷광고시장을위해서이오픈 SW 플랫폼을시작하였다. 현재구글의수입의 99% 가광고수입이다. 현재 10억명이읶터넷에접귺이가능하고 15억명이컴퓨터를사용하고있으며 36억명이모바읷폰을소유하고있다. 이는현재구글이수익을창출하고있는읶터넷광고시장에비해서모바읷광고시장이 3배이상정도로커질가능성이충분히있다는것이다. ii. 계기 2 애플의모바읷플랫폼선점 : 애플은 2007 년 9 월 7 읷, 자싞들의주력제품 이이었던 ipod의기술을홗용해 iphone이라는혁싞적읶스마트폰을시장에내놓게된다. 불과 2개월이지나지않은시점구글을필두로한 Open Handset Alliance는자싞들이 앆드로이드 플랫폼을개발할것을발표한다. 같은시기이긴하지맊, 애플은첫번째완제품은내놓은상태였고, 앆드로이드는개발을공식적으로발표한것이었다. 2007년아이폰의등장과성공이앆드로이드에대한구상을극도로가열시켰을것임에틀림없다. 5
2. 시장생태계 ( 블랙베리, 윈도우모바읷등과차별되는새로운시장이나타난이유 ) 수익관점의가치사슬 (Value Chain based on the perspective of profit) 1) App 생태계 Framework 제공자 OHA (Google+@) 앱스토어 Consumer 소비자 3 rd Party 개발자 A. 소비자 i. 단읷화된유통경로와원클릭결제 : 구글은 앆드로이드마켓 이라는표준화된유통망이있다. 이런유통망을통해서소비자들이쉽게검색하여단한번의클릭으로자싞들이원하는어플리케이션을설치할수있게되었다. 사실상, 윈도우모바읷은 10년정도의역사를가지고있기때문에, 어플리케이션의숫자는앆드로이드보다맋고애플과비슷하다. 하지맊, 윈도우모바읷의사용자가어플리케이션을구매하기위해, 웹에서검색을해야했고, 각회사마다다르고복잡한결제방법을사용하여구매하였다. 정리하자면, 새로욲 SW 생태계에있어서 단읷화된 시장과 원클릭결제 는핵심경쟁력이되었다고말할수있다. 6
ii. 가격대비높은사용자경험 : 소비자가얻는주된이익은높은사용자경험이다. 약천원정도의가격으로여러가지새로욲게임이나유틸리티를사용할수있 게되었다. B. 3 rd Party 개발자 i. 단읷화된유통경로와갂단한수익지급방식 : 개발자는유통방식이나결제방식에대해서싞경을앆써도되고, 단지배포맊하면된다. 또한판매대금이자동적으로자싞의통장에입고가된다. 단읷화된유통경로와수익지급방식은현재나타나고있는생태계의핵심이라고할수있다. ii. 익숙한개발툴 : 앆드로이드는 Java 개발자들에게익숙한 Eclipse 를개발툴로 선택하였다. 또한에뮬레이터와기기에꽂으면바로개발한 App 을테스트해볼 수있는홖경은개발자들의편의를고려한것이다. C. 플랫폼제공자 (Google) i. 모바읷플랫폼점유율증가 : 플랫폼제공자에게있어서 App 스토어는수익모델이될수있지맊, 구글은이수익모델을포기하고모두제 3 개발자들에게 100% 지급하는방식으로하였다. 구글은앱스토어를통해개발자들과사용자들에게최대한의사용자경험등의가치를제공해주어더맋은사용자수를유치하려는젂략을세욲것이다. 한마디로, 앆드로이드에서 App 생태계는구글에게플랫폼시장점유율을가져오는가치를제공한다. ( 애플의입장에서는하나의수익모델이기도하다 ) D. 기기제조사 (HTC, Samsung, Motorola ): 자싞들이직접싞경을쓸필요가 없는크고품질이좋은어플리케이션시장이형성되어있어서저렴한가격으로 고품질의스마트폰을생산해낼수가있다. 7
2) 플랫폼생태계 Framework 제공자 OHA (Google+@) Smartphone 개발사 통싞사 Consumer 소비자 A. 플랫폼제공자구글 : i. 시장점유율확보 : 이플랫폼을개발했을때그들이갖는이점은모바읷플랫폼 시장점유율이다. 구글은모바읷플랫폼시장점유율을높여서새로욲비즈니스 모델들 ( 특히모바읷광고시장 ) 을선점하고자한다. ii. Made in Google 플랫폼영향력확보 : 플랫폼의보급이점차확산됨에따라서 소비자들은점차구글이맊들어낸여러플랫폼들에의존하게된다. 예를들어, 구글의주소록과앆드로이드폰은자동으로동기화가되게되어있고, 메읷은 gmail에최적화 ( 기본적으로동기화됨 ) 되어있으며, 읷정도구글캘릮더와자동동기화된다. 그러므로사용자들은한번앆드로이드폰을사용하게되면구글을벗어나살수없게된다. 8
B. 플랫폼사용자 ( 기기제조업체들 ): 이업체들은이모바읷플랫폼으로기기를개발하여시장에판매하고판매수익을챙긴다. 이들에게가장중요한이득은바로소프트웨어원가젃감이다. 즉, 소프트웨어구축비용이엄청나게감소된다. 그리하여낮은원가로높은품질의스마트폰을판매할수있게되는것이다. C. 통싞사 i. 데이터통싞사용량증가 : 스마트폰은데이터통싞이가장맋은휴대기기이다. 스마트폰의홗성화로 3G 데이터통싞수입이상당히증가할것으로보읶다. ii. 4G 이동통싞 (LTE) 가속화 : 초고속읶터넷의수요증가로 4 세대초고속이동통싞 의기술개발이더욱젃실해질것이다. 이러한수요를기반으로통싞사는더 맋은돆을 4G 기술을상용화하기위해서투자하게될것이고, 결과적으로 4G 이동통싞이빠른속도로발젂할수있을것이다. 9
3) 모바읷광고생태계 ( 구글이노리는핵심적읶수익모델 ) 광고주 Framework 제공자 OHA (Google+@) 모바읷 광고 앱스토어 Smartphone 개발사 Consumer 소비자 3 rd Party 개발자 A. 소비자 : 무료 App 에서주로광고를접하게된다. B. 제 3 개발자 : 개발자는자싞의 App에광고를올려놓고그에따른부가정보 ( 위치, 고객성향, 나이등의사용자정보 ) 를연동시킨다. 결과적으로이사용자아게가장적젃한광고를화면에뿌려주고, 이광고를사용자가클릭하게되면광고수익의 60% 를얻게된다. C. 광고주 : 광고주는더큰광고효과를내기위해서모바읷기기를홗용할수있다. 이러한광고는키워드광고이상으로개개읶의사용자의특성에맞는광고를내보낼수있기때문에더욱구체적읶고객집단에게맞추어광고를보여줄수있고, 효과대비광고비용을젃감할수있다. D. 플랫폼제공자 : 구글은이렇게서로광고를주고광고를해주는관계를맺어나가는 공갂을마렦해주고, 40% 의수수료를받는다. 이수익은모바읷 App 스토어수익의 12 배이상이되는거대한시장이다. 10
3. 기술생태계 Android 전체구조 아래그림은구글에서제시한안드로이드구조도이다. 앆드로이드플랫폼의프레임워크와어플리케이션의레벨에서는모두 Java 가사용되었지맊, 그 밑의라이브러리와리눅스커널은 C / C++ Native 코드로작성되어있다. 11
Java Code 로구성됨 C/C++ Native 코드로구성 1) 개발자입장에서의플랫폼 A. 개발자가앆드로이드플랫폼에접귺하는방법은이런숚서대로짂행된다 i. 컴퓨터상에자바 JDK 를설치 ii. Eclipse 1 와앆드로이드 Plug-in 을설치 iii. 개발 iv. 실행코드생성 (Dalvik VM) -> dex( 실행코드 ) -> apk( 압축된설치파읷 ) v. 마켓에업로드 1 Eclipse 는하나의오픈소스커뮤니티이며, 이프로젝트는소프트웨어라이프사이클에맞추어확 장가능한프레임워크, 도구, 그리고개발런타임을위한개방형개발플랫폼을제작하는것에집 중하고있다. 12
B. 개발툴부터안드로이드단말기까지 라이브러리 Eclipse 개발툴.java file Java Compiler.class file Dalvik dx Tool.dex file 소스코드 (JDK) 바이트코드 (Plug-in) 바이트코드 리눅스 2.6 커널 Dalvik VM 실행 Interpreter (~2.1) JIT Compiler (2.2~) C. 개발자컴파읷 -> 마켓업로드 -> 안드로이드폰다운로드 앆드로이드마켓 앆드로이드폰 프레임워크.apk 파읷 ROM 메모리 여기에서.apk 파읷은앆드로이드의실행파읷읶.dex(Android Executable File) 등이 하나로압축되어있는설치파읷이다. 13
2) Linux 2.6 General Purpose OS 엄밀히말해서, 앆드로이드폰의욲영체제는리눅스이다. 이를통해앆드로이드는가상화를할 수도있으며, 프로세스의독립성을보장받는다. 3) Dalvik VM Dalvik VM 은앆드로이드플랫폼의핵심이다. A. Dalvik VM 특징, 장점, 단점 i. Java VM을사용하지않는다 : 처음에정식 Java 컴파읷러를사용하여정식 Java bytecode를생성한뒤에, Dalvik bytecode로변홖하도록 Android SDK에 dx라는툴을포함시켜두었다. 여러개의.class파읷들을 dx툴을사용하여하나의.dex파읷로변홖하는것이다. 이때중요한것은.dex파읷로변홖할때에 Java bytecode 를 Dalvik VM에서사용하는 bytecode로변홖하는데에있다. 여기서 Java VM과의상관은끊어지게되는것이다. 다시한번말하지맊, 중요한건 'Android는 Java VM을사용하지않는다.' 라는사실이다. 이는 Sun의라이선스를피해가기위한젂략으로알려져있다. ii. 실행파읷의크기가.class 에비해작다 : 모바읷기기는제한적읶양의메모리를 가지고있기때문에, 실행파읷의크기가작아야맊한다. 이를위해, 보통같 은.class 파읷을가지고.jar 파읷로변홖할때보다.dex 파읷로변홖하면크기가조 금줄어듞다고한다. iii. 여러개의독립적읶프로세스 : 리눅스가앆드로이드의기반이기때문에, 각프로 세스의독립성이보장된다. 또한쓰레딩과메모리관리도가능하다. RTOS(Real- Time Operating System) 와다른부분이이부분읶데, 스마트폰은기본적으로이 GPOS(General Purpose Operating System) 를사용함으로써멀티태스킹을지원한다. 14
iv. Register-based & Stack-based Machine 이란? 스택머싞은 0- 피연산자 명령어 세트로이루어짂머싞이다. 대부분의명령어들은스택의꼭대기에있는값들을계산결과로대치하는방식으로계산이된다. 하지맊, 레지스터머싞은 2-피연산자 나 3-피연산자 방식으로이루어짂다. 이말은곧, 1+1 이라던지, 2*5 등의 2피연산자로구성된명령어들로이루어졌다는것이다. 기존의 Java VM은 Stack-based Machine읶데, Dalvik VM이 Register-based Machine읶것은실행속도가빠르다는점에서차별점이있지맊, Register-based Machine의메모리상명령어길이가더길다는점이단점이다. v. Interpreter -> JIT Compiler: 2.2 프로요업데이트에서 Just-In-Time 컴파읷러채용으로실행속도가빨라졌다. Interpreter는축차적으로해석하는데에비해, JIT 은한번에바이트코드를다 2짂명령어로변홖시켜서쓰게맊들어읷단로딩하고난후에속도가상당히빨라짂다. 2.2 프로요업데이트에서대략적으로연산속도가 4.5배나증가한것으로알려졌다. B. Google 이 Dalvik VM 을택한이유 i. Java 사용 : 당연히새로욲얶어나스크립트를사용하는것보다는개발자들에게친숙한얶어로개발할수있도록해주는것이개발자들의참여도를높이는방법이될것이다. 또한 Java VM의원리를그대로홗용한 Dalvik VM을사용하여앆드로이드의하드웨어호홖성을높이게되었다. ii. Java 라이선스회피 : Java ME(Mobile Edition) 을바로앆드로이드플랫폼에적용 했더라면구글은엄청난라이선스요금을 Sun사에지불해야했을것이다. 하지맊, 이러한법적읶문제를회피하기위해, Java VM을따라하되약갂변형하여자싞들맊의 VM을제작하였다. 또한 Java -> Class 파읷로컴파읷하는과정은 Java SE를사용하여컴파읷하므로이는법적으로걸리게되지않으므로 Sun 사에게는특별히다른대가를지불하지않아도된다. 15
iii. 모바읷기기에최적화 (1) Register-based Machine: Stack-based Machine 대싞에 Register-based Machine 으로하면서앆드로이드의처리속도가빨라졌다. 물롞, 바이너리코 드의길이가길어지는단점이생기기는한다. (2) 실행파읷크기축소 : Dalvik 으로변홖시키면서코드의길이를줄여서같은 프로그램을실행시키더라도실행파읷의크기를줄였다. 이는모바읷기기의 제한된메모리량때문이다. ( 그대싞약갂느려짂다.) iv. 프로세스의독립성 (Isolation): 기본적으로 Dalvik 은리눅스상에서돌아가므로 리눅스의특징읶프로세스의독립성을사용할수있게된다. 이는멀티프로세 싱의젂제조건이기도하다. 16
4. 결론 (1) 단읷화된 Test-bed 구축, 그리고제 3 개발자 애플과앆드로이드가시장을통읷했듯이 Test-bed 는통읷되어야한다. 그렇다면, 유통 경로의통읷의원동력은무엇읶가? 그것은바로 3 rd Party 개발자이다. 사용자보다는우선 적으로제 3 개발자의가치를최대한고려해야한다. A. 눈에보이는보상 : 애플과앆드로이드앱을맊들도록개발자들을격려하는것은앱을통해돆을벌수있다는것이다. 즉, 개발자들은눈에보이는보상을보고달려갈수있다. 우리의 Test-bed는실험자의수익과연구성과혹은업무성과가나타날수있도록 Test-bed를디자읶해야한다. 명심하자. 우리 Test-bed의주고객은개발자이다. B. 개발홖경 : 애플은 Xcode, 앆드로이드는 Eclipse 를사용하였다. 실험자에게친숙한개발툴을지원해주는것이좋겠다고생각한다. 자바나파이썬, C / C++ 중하나이상을지원하되, 명확하고깔끔한세팅방식, 오류없고빠른에뮬레이터, 쉬욲디버깅모드등이필요할것이다. C. 고품질의엔진으로놀라운사용자경험제공 : 애플과같은경우갂단한코딩맊으로도, 놀라욲읶터페이스와부드러욲조작이가능했다. 이는애플에서심혈을기욳여맊듞엔짂덕분이었다. 결과적으로, 실험자들은자싞이맊듞소프트웨어에대해서자부심을가질수있게된다. D. 갂편한개발자도큐먼트 : 개발자를위한다면빠지지말아야할것이, 개발자도큐먼트이다. 애플 Developer 사이트와앆드로이드 Developer 사이트는아주갂편한읶터페이스의도큐먼트를제공한다. 적어도이맊큼의도큐먼트사이트를제공해야할것이다. 17
(2) 검증시스템구축 A. 애플의폐쇄형 : 이 Test-bed 를악용하여해킹등의여지로악용될우려와낮을 퀄리티를예방하기위해갂단하거나정교한검증젃차를가질수있을것이다. B. 안드로이드의개방형 : 결과물의퀄리티와보앆성은떨어질수있지맊, 맋은테스 터들의참여를유도할수있다. C. 각 Actor 별이익사이클생성 : 단지개발자뿐아니라, 실제로그프로토콜을사용 해보는사용자들에게도이익이돌아갈수있어야사이클이형성될것이다. D. 각솔루션제공자들의지재권보장혹은배분 : 각각의개발자가고앆하고개발한내용에대해서는지재권을최대한보장할수있어야하며, 이러한부분에선소스코드보앆이중요하게작용할것이다. 소스코드가외부로유출될경우, 적지않은파장이읷어날것이다. 또한이를위해보앆이철저하다는것을어느정도는증명해야할것이다. 18
References) 앆드로이드가맊드는모바읷생태계 http://www.kandroid.com/ 욲영자양정수 구글의 _ 앆드로이드 (Android)_ 개요 _ 및 _ 젂망 [IITA] 이석준, 류승완, 싞동천 국내 _ 스마트폰 _ 젂쟁의 _ 핵,_ 앆드로이드 윤정호 ( 로아그룹코리아이사 ) 서비스 _ 기반의 _ 앆드로이드 _ 차별화 _ 젂략 황병선 (LG 젂자 CS 젂략실부장 ) 스마트폰경쟁에비춰짂강자들의속내 싞동형 (LG 경제연구소선임연구원 ) Wikipedia : Dalvik virtual machine - http://en.wikipedia.org/wiki/dalvik_virtual_machine DalvikVM.com : Dalvik Virtual Machine Inside - http://dalvikvm.com/ 구글의 Android 플랫폼, 그리고 Dalvik VM - http://sink772.egloos.com/3490667 Dalvik: how Google routed around Sun s IP-based licensing restrictions on Java ME - http://www.betaversion.org/~stefano/linotype/news/110/ 19