본문 바로가기

개발이야기

애플이 플래시를 지원하지 않는 이유 - 스티브 잡스

애플과 어도비는 오랜 관계를 맺어왔습니다. 실제로, 우리는 그들이 차고에서 영업하던 시절부터 어도비 창업자들을 만났습니다. 애플은 그들의 첫번째 대형 고객이었습니다. 우리의 레이져 프린터에 그들의 포스트스크립트 언어를 채택했죠. 애플은 어도비에 투자했고 지분의 20% 가량을 수년간 보유해왔습니다. 두 회사는 데스크탑 출판을 위해 오랫동안 가깝게 지내왔고 정말 좋은 시절이었습니다. 황금기를 지나자, 두 회사는 각자의 길을 걷게 되었습니다. 애플은 고사 위기를 겪었고, 어도비는 아크로뱃 제품군을 통해 기업시장에 진출하였죠. 현재 두 회사는 여전히 고객들을 만족시키기 위해 협력하고 있고, 예를 들어 맥 사용자들은 어도비 CS 제품군의 절반가량을 구입하고 있지만, 그것을 제외하면 공동의 이익은 별로 없는 편입니다.

우리가 어도비 플래시에 대해 어떻게 생각하는지 몇 줄 써내려가려고 합니다. 그리하여 소비자들과 비평가들이 우리가 왜 아이폰, 아이팟 터치, 아이패드에 플래시를 허용하지 않는지 더 잘 이해하는 데 도움이 되었으면 좋겠습니다. 어도비는 우리의 결정을 주로 비지니스의 목적이라고 단정짓고 이는 듯 합니다. 실제로 그들은 우리가 앱스토어를 보호하기 위해 플래시를 막는다고 말하고 있죠. 그러나 사실은 기술적인 문제들 때문입니다. 어도비는 우리가 폐쇄적인 시스템을 가지고 이다고 비난하고 자신들의 플래시가 개방적이라고 홍보하고 있지만, 사실은 그 반대입니다. 그럼 본론으로 들어가겠습니다.


첫번째로, "개방성"에 관하여 말하고 싶습니다.

어도비 플래시는 100% 독자적 제품입니다. 플래시는 오직 어도비의 기술만을 이용해야 하고 플래시의 개선이나 가격 등에 관해 어도비가 유일한 전권을 쥐고 있습니다. 플래시가 널리 쓰이긴 하지만, 널리 쓰이는 것과 개방적인 것은 분명히 다릅니다. 실제로 플래시는 어도비에 의해 통제되고있고 오직 어도비를 통해서만 이용가능합니다. 그 어디를 봐도, 플래시는 폐쇄적인 시스템입니다.

물론, 애플도 많은 독자적 제품들을 가지고 있습니다. 아이폰, 아이팟 터치, 아이패드에 사용된 OS도 우리 고유의 것이죠. 그러나 우리가 생각하기에 웹을 위한 표준은 개방적이어야 합니다. 애플은 플래시가 아니라 HTML5, CSS, 그리고 자바스크립트와 같은 개방형 표준을 선택했습니다. 애플의 모바일 기기들은 높은 성능을 지니고 있고 위와 같은 개방형 표준은 낮은 소비전력을 요구합니다. 애플과 구글을 비롯한 많은 기업들은 새로운 웹표준인 HTML5를 선택했습니다. HTML5는 플래시와 같은 제3사 플러그인 없이도 웹 개발자들로 하여금 진보한 그래픽, 폰트, 애니메이션 및 트랜지션을 저작 할 수 있도록 해줍니다. HTML5는 완전히 개방적이며 표준 위원회에 의해 관리됩니다. 애플도 그 멤버 중 하나입니다.

애플은 웹을 위한 개방형 표준을 창조하기도 합니다. 예를 들어, 애플은 소규모의 오픈 소스 프로젝트를 운영하고 있고, HTML5 렌더링 엔진인 WebKit을 개발했고 우리의 사파리 웹브라우져에 사용하고 있으며, WebKit은 완전히 오픈 소스입니다. WebKit은 널리 채택되고 있습니다. 구글 또한 그들의 안드로이드 브라우져에  사용하고 있고, 팜과 노키아도 마찬가지이며, 리서치인모션도 향후 블랙베리에 그것을 사용할 계획을 발표한 바 있습니다. MS를 제외한 거의 모든 스마트폰 웹브라우져가 WebKit을 사용하고 있는 것입니다. WebKit 기술을 개방함으로써 애플은 모바일 웹 브라우징을 위한 표준을 정착시켰다고 말 할 수 있습니다.


두번째로, "웹 전체"에 대해 얘기하고 싶습니다.

어도비는 애플의 모바일 기기가 웹 전체에 접근하지 못한다고 반복해서 주장하고 있습니다. 웹에 올라온 동영상의 75%가 플래시로 되어있기 때문이죠. 그들이 숨기고 있는 점은, 그 모든 동영상들은 H.264와 같은 현대적 포맷들로도 이용가능하고 그렇게 하면 아이폰, 아이팟 터치 및 아이패드에서도 문제 없이 볼 수 있다는 점입니다. 웹 전체의 동영상의 40%를 차지하고 있는 유튜브의 경우, 애플의 모바일 기기에 기본 앱으로 제공되고 있으며, 아이패드야 말로 유튜브를 즐기기 위한 최고의 경험을 선사합니다. 유튜브 뿐만 아니라, Vimeo, Netflix, Facebook, ABC, CBS, CNN, MSNBC, Fox News, ESPN, NPR, Time, The New York Times, The Wall Street Journal, Sports Illustrated, People, National Geographic 등도 마찬가지 입니다. 아이폰, 아이팟 터치, 아이패드 사용자들은 웹 동영상을 볼 수 없다는 주장은 사실이 아닙니다.

어도비의 또 다른 주장은 애플의 기기가 플래시 게임을 즐길 수 없다는 것입니다. 이는 사실입니다. 다행히도 앱스토어에는 50,000개가 넘는 게임 타이틀이 존재하며 그들중 다수는 무료 앱 입니다. 그 어떠한 플랫폼보다 아이폰, 아이팟 터치, 아이패드를 위한 게임 타이틀이 더 많습니다.


세번째로, "안정성, 보안성, 그리고 성능"에 대해 얘기하고 싶습니다.

최근 시만텍은 2009년 레코드를 기준으로, 플래시야말로 최악의 보안성을 가지고 있다는 점을 강조한 바 있습니다. 또한, 우리는 플래시가 맥에서 충돌을 일으키는 가장 많은 원인이라는 점을 이미 알고 있었습니다. 우리는 어도비와 함께 이 문제를 해결하기 위해 노력해왔습니다만, 그들은 수년 간 이 문제를 방치해왔습니다. 우리는 아이폰, 아이팟 터치, 그리고 아이패드에 있어 안정성을 저하시키는 플래시를 탑재하고픈 마음이 없습니다.

추가로, 플래시는 모바일 기기에서 제대로 된 성능을 보여주지 못합니다. 우리는 수년 간 주기적으로 어도비에게 모바일 기기에서의 플래시 성능을 보여달라고 요구해왔습니다. 어도비는 2009년 스마트폰에 플래시가 탑재 될 수 있을 것이라 말했지만, 그 후로 2009년 하반기로 일정을 늦추었고, 그 다음에는 2010년 상반기로 늦추다가 지금은 2010년 하반기로 말을 바꾼 상태입니다. 우리가 보기에 언젠가는 탑재될 것이라 생각합니다만, 우리는 숨을 참으며 그들의 일정을 기다리지 않아도 되었다는 점에서 기쁘게 생각합니다. 그게 어떤 퍼포먼스로 돌아갈지 과연 누가 압니까?


네번째로, "배터리 성능"에 대해 얘기하고 싶습니다.

동영상을 재생하면서도 긴 배터리 성능을 유지하려면, 모바일 기기들은 동영상을 하드웨어로 디코딩 해야합니다. 소프트웨어 디코딩은 너무 많은 전력을 소비하기 때문입니다. 현대의 모바일 기기들의 대다수 칩셋은 H.264라고 하는 디코더를 탑재하고 있습니다. 이는 업계 표준이며 모든 블루레이 플레이어에 탑재되어 있고, 애플과 구글 유튜브, Vimeo, Netflix 등 유수의 기업들이 채택했습니다.

비록 플래시가 최근에서야 H.264를 지원하기 시작했지만, 웹에 올라온 플래시 동영상들의 거의 대부분은 오래된 디코더를 요구하고 있고, 그것은 모바일 기기에 최적화 되지 못했고 소프트웨어 디코딩을 수행합니다. 이들의 차이는 엄청납니다. 예를 들어 아이폰에서 H.264 동영상의 경우 10시가 연속재생이 가능합니다만, 소프트웨어로 디코딩하는 동영상의 경우 5시간이 채 가지 않습니다.

만약에 웹사이트들이 그들이 가진 동영상을 H.264로 인코딩 한다면 플래시를 쓸 필요조차 없습니다. 그 동영상들은 애플의 사파리나 구글의 크롬과 같은 브라우져에서 그 어떠한 플러그인 없이 완벽히 재생되기 때문입니다.


다섯번째로, "터치"에 대해 얘기하고 싶습니다.

플래시는 PC와 마우스를 위해 제작되었습니다. 손가락을 위한 터치 스크린에는 적합하지 않습니다. 예를 들자면, 플래시로 제작된 웹사이트의 경우 마우스 커서를 어떠한 지점에 갖다대면 메뉴가 나타나는 형태를 띄고 있습니다. 애플의 혁신적인 멀티터치 인터페이스는 마우스를 필요로 하지 않습니다. 또한 커서를 지점 위에 갖다댄다는 개념도 없습니다. 대부분의 플래시 웹사이트는 터치 기반의 기기들을 지원하기 위해 다시 작성되어야 합니다. 플래시로 만든 그들의 웹사이트를 수정할거라면, HTML5, CSS 그리고 자바스크립트 같은 현대적 기술을 사용하는 편이 낫지 않겠습니까?

만약 아이폰, 아이팟 터치, 아이패드가 플래시를 돌린다 하더라도, 플래시 기반의 웹사이트들이 터치 기반의 기기들을 지원하기 위해서는 재작성되어야한다는 사실은 변함 없습니다.


여섯번째, "가장 중요한 이유"에 대해 말하고 싶습니다.

우리가 플래시를 거부하는 데에는, 플래시가 페쇄적이고 독자적이라는 점이나, 기술적으로 치명적인 단점을 가지고 있다는 점, 또는 터치 기반의 기기를 지원하지 않는다는 것들보다 훨씬 중요한 이유가 있습니다. 우리는 플래시 동영상이나 웹사이트의 인터랙티브 컨텐츠들을 사용하는데에 있어서의 플래시의 문제점들을 의논해 온 반면, 어도비는 개발자들이 플래시로 제작한 앱을 우리의 모바일 기기에 집어넣기를 원했습니다.

우리는 제3사의 소프트웨어 레이어를 플래폼과 개발자들 사이에 끼워넣을 경우 조악한 품질을 야기할 뿐만 아니라, 플래폼 자체의 발전조차 저해한다는 사실을 경험으로부터 뼈저리게 느껴 알고 있습니다. 개발자들이 제3사의 도구와 라이브러리에 점점 더 의존한다면, 그들은 플래폼의 장점을 제대로 활용할 수 없게 됩니다. 개발자들이 우리가 이뤄낸 진보를 사용할 지 안 할지, 혹은 사용한다면 언제가 될지 제3사가 마음대로 결정하도록 놓아 둘 수 없습니다.

이러한 상황은 제3사가 크로스 플래폼 개발 도구를 지원할 경우 더욱 악화 됩니다. 제3사는 아마도 하나의 플래폼에서 이루어진 진보를 받아들이지 않으려 할 것입니다. 다른 플래폼에는 그러한 진보를 적용할 수 없기 때문입니다. 따라서 개발자들은 최저수준의 공통분모라는 제약조건 하에서만 개발하도록 강요당할 것입니다. 다시 한번, 우리는 개발자들이 타사의 플래폼에서는 사용할 수 없다는 이유로, 우리의 혁신적이고 진보적인 기술을 사용하는 것을 차단당하는 결과를 수긍할 수 없음을 말하고 싶습니다.

플래시는 크로스 플래폼의 개발 도구 입니다. 어도비의 목적은 아이폰, 아이팟 터치, 아이패드를 위한 최고의 앱을 개발하도록 개발자를 돕는 것이 아닙니다. 그들의 진짜 목적은 개발자들로 하여금 앱을 크로스 플래폼으로 작성하도록 유도하는 것입니다. 게다가 어도비는 애플의 진보를 정말 끈질기게도 뒤늦게 채택하는 기업입니다. 예를 들어, Mac OS X이 세상에 나온지 10년이나 되었음에도 불구하고, 어도비는 겨우 2주전에 발매한 CS5에 와서야 코코아를 채택했습니다. 어도비는 Mac OS X을 완전히 지원한 제3사 개발사들 중에 가장 늦은 개발사 입니다.

우리의 동기는 단순합니다. 우리는 최고로 진보한 기술과 혁신적인 플래폼을 우리의 개발자들에게 제공하고 싶습니다. 그리고 개발자들이 이 플래폼의 장점을 최대한 활용하고 세상이 그간 보지 못했던 최고의 앱을 개발하기를 원합니다. 우리는 끊임없이 플래폼을 개선시키고 있고 개발자들은  훨씬 더 놀랍고 강력하고 재미있고 활용도 높은 앱을 개발 할 수 있을 것입니다. 모두가 이기는 길입니다. 최고의 앱들 덕분에 우리는 더 많은 기기들을 팔 수 있고, 개발자들은 더 많은 청중과 구매자들을 기반으로 삼을 수 있고, 사용자들은 최고의 앱들을 사용하는 기쁨을 누릴 수 있습니다.


결론 입니다.

플래시는 PC 시대에 PC와 마우스를 위해 제작되었습니다. 어도비에게는 성공적인 비지니스였고, 우리는 왜 그들이 그토록 플래시를 PC 외로도 밀어부치려는지 알만 합니다. 그러나 모바일 시대에 정말 중요한 것은, 낮은 소비 전력과, 터치 인터페이스, 그리고 개방형 웹 표준들입니다. 플래시는 이 모든 것들로부터 탈락입니다.

미디어의 홍수 속에서 애플의 모바일 기기들이 보여주고 있는 것은, 플래시는 더 이상 동영상을 감상하거나, 웹 컨텐츠를 소비하는데 적합한 도구가 아니라는 점입니다. 그리고 애플 앱스토어에 올라온 200,000개의 앱들은 수많은 개발자들이 플래시 없이 풍성한 그래픽의 어플리케이션들과 게임들을 만들 수 있다는 것을 증명하고 있습니다.

결국, 모바일 기기는 물론 PC에서도 HTML5와 같은 새로운 개방형 표준들이 이길 것입니다. 과거를 버리고 앞으로 내딛는다는 이유로 애플을 비난하는데 시간을 소비하기 보다는 어도비도 HTML5를 위한 훌륭한 저작도구를 창조하는데 초점을 맞추는 편이 나을 것 같습니다.



2010년 4월
스티브 잡스

'개발이야기' 카테고리의 다른 글

IT의 풀리지 않는 미스테리  (0) 2010.12.24
개발자의 심리학[지디넷코리아]  (0) 2010.01.28
ABAP 코딩을 잘 하기 위한 방법  (1) 2009.10.04