아이폰 성공의 바탕 iOS의 숨겨진 역사

Apple 하드웨어와 소프트웨어를 잘 만들어 융합하여 성공적인 제품을 여러 개 가지고 있는 IT업계에서 유례를 찾아보기 힘든 특별한 회사입니다. 그 동안 iPhone이나 iPad와 같이 제품 자체에 대해 어느 정도 잘 알려져 있지만 Apple의 디바이스를 운영하고 있는 OS의 유례나 역사에 대해서는 생각보다 잘 알려지지 않은 것 같습니다.

위 차트는 webPonent Chart로 제작되었습니다.

iOS는 세계에서 2번째로 많이 설치된 mobile OS입니다. 더군다나, 단일 회사에서 제공되는 기기에서만 구동되는 OS로 본다면 그 위력이 대단한 것을 알 수 있습니다.

오늘은 iPhone 성공의 바탕이 되고 있는 iOS가 어떻게 세상에 나왔고 이렇게 발전하기 까지의 이야기를 해보고자 합니다.


NeXTSTEP : 많은 사람들이 쓰고 있는 그러나 잊혀진 OS

사실 iOS에 대해 설명하기 전에 빼놓을 수 없는 OS Mac OS X입니다. 그리도 또 다시 Mac OS X의 아버지뻘 되는 OSNeXTSTEP이라는 OS 입니다.

 

위 사진은 개인적으로 좋아하는 사진중의 하나인데, Steve Jobs가 자신이 설립한 Apple에서 해고된 후 1985년 새롭게 시작한 NeXT라는 컴퓨터를 생산하기 위한 공장에서 직원과 식사하는 장면을 찍은 사진 입니다.

여기서 생산된 NeXT라는 Workstation(그당시 강력한 성능 기반의 컴퓨터는 워크스테이션이라고 불렀습니다.)에서 구동되는 OS NeXTSEP이었습니다.

 강력한 하드웨어로 무장한 NeXT라는 컴퓨터를 구동하기 위해서 기존의 OS와는 다른 새로운 형태의 OS가 필요했고 Steve Jobs Mach Kernel 의 주요 개발자였던 Avie Tevanian을 영입하여 Mach Kernel기반의 NeXTSTEP 이라는 이름의 OS를 개발, 1988 NeXT 컴퓨터를 발표합니다. 사업 초기 언론의 관심을 받으며, 성공이 보이는 듯 했습니다.

현재 인터넷 환경의 기본이 되는 브라우저와 HTML,HTTP등을 팀 버너스리가 NeXT 컴퓨터를 통해 개념을 구체화 하고 prototype을 개발했을 정도로 NeXT 컴퓨터는 인터넷 시대의 시작에 중요학 역활을 하였습니다..


[팀 버너스 리가 구현한 NeXT컴퓨터에서 구동되는 최초의 웹]


하지만 NeXT는 화려한 UI 및 편리성에도 불구하고 지나치게 높은 가격 및 타사의 저가 Workstation에 인해 결국 H/W Cannon 에 매각되고 NeXTSTEP 기반의 Software 회사로만 명맥을 유지합니다. 그 후 Intel 계열의 NeXTSTEP도 개발해 보고 opensource 기반의 OPENSTEP이라는 제품으로 다양한 시도를 해보지만 결국 NeXT라는 이름으로 성공하지는 못하고 Apple에 의해 인수됩니다. 그당시 Steve Jobs는 NeXT로 성공하지는 못했지만 Steve Jobs가 투자한  Pixar 회사에서는 '토이 스토리' 라는 애니메이션 영화를 통해 대박을 터트리게 됩니다. 


[NeXT 인수당시 Apple 홈페이지 메인화면]


Apple에 인수되면서 더 이상 NeXTSTEP이라는 OS는 없어졌지만, OSX iOS기반의 코딩을 할 때 NSString, NSInteger와 같이 타입 정의할 때 쓰이는 prefix  NS 이름이 NextSTEP의 약자로 아직도 흔적을 남기고 있습니다. 또한 NeXTSTEP Mach Kernel BSD등 기능을 엮어 hybrid kernel 기반의 XNU(X is Not Unix)  라는 이름의 OS kernel 을 사용하며 XNU는 지금까지 Apple에서 사용되는 OS의 핵심 Kernel로서  계속 발전되며  open source 형태로 다운로드 할 수 있습니다.

http://www.opensource.apple.com/source/xnu/


Mac OS X : iOS의 아버지인가 형제인가?

 NeXT 회사가1996  Apple에서 인수된 후 Avie Tevanian 2006년까지 CSTO (Chief Software Technology Officer)를 역임하면서 Mac NeXTSTEP OS가 채택될 수 있는 결정적인 역할을 합니다. 그 당시 내부적은 Mac에서 사용되는 OSOS 9를 대처하기 위한 새로운 Aqua UI 를 이용하고 NeXTSTEP 기반의 OS 10 (OS X이라고 쓰고 읽을때도 보통 오에스 텐이라고 부릅니다.) 프로젝트(랩소디 프로젝트)를 준비하고 있었는데,  iOS의 아버지라 불리는 Scott Forstall이 이때 User Interface 담당자로 Aqua 프로젝트 리더로 활동하였습니다. Scott Forstall 는 1992년부터 NeXT 에 합류하여 UI 부분을 담당하고 있었죠. Mac 시대 부터 시작된  현실이미지를 그대로 반영하는 스큐어모피즘(Skeuomorphism)은 NeXTSTEP에서 더욱 발전되어 iOS7이 발표되기전까지 Apple UI  메타포가 됩니다.

 2002Steve Jobs는 급기야 기존 OS 9의 장례식까지 치러주면서 앞으로 OS X 가 차세대 Mac OS로 나아갈 것으로 발표합니다

Steve Jobs 가 왜 그토록 위험 부담이 있는 OS kernel  변경을 시도까지 했는지는 다양한 의견이 있지만,  결과적으로 이러한 결정이 iPhone을 탄생하게 할 수 있는 기반이 되었다고 생각합니다.

기존의 Mac OS였다면 모바일 대응을 위한 별도의 OS로 개발을 해야 했고, 그렇게 별도로 개발되었다면시장이 원하던 시기에 iPhone을 개발하여 발표할 수 없었을 것입니다. 그 대표적인 실패사례가 MS Windows로 볼 수 있죠.

 물론 Mac OS X 초기 버전은 호환성 문제로 많이 개발자 사이에 많은 불만을 야기하였습니다. 기존 Mac OS 버전의 Application은 에뮬레이터 형태로 구동시켜 성능에 문제가 있었고 개발자에서 새롭게 Object-C 코딩을 통한 Application 개발로 전환을 요구하였습니다. 이러한 문제 때문에 Photoshop으로 유명한 Adobe사가 더 이상 Apple  전용 제품을 만들지 않겠다고 선언하고 급기야 PC용 Photoshop등을 출시하면서 믿었던 친구에게 배신당한 기분으로  Steve Jobs은 그 이후 Adobe에 앙심을 가지게 되었다는 믿거나 말거나 하는 이야기가 아직 까지 전해집니다.


iOS 의 시작 : 우선 돌아가게만 하자.

 

Apple은 컴퓨터 사업의 어려운 상황에서 2001년 내놓은 iPod을 통해 조금씩 회생의 가능성을 보이며, 2004 iPod Nano등 관련 제품 성공에 힘있어, 금전적인 어려움을 이겨냅니다.

iPod 성공에 힘입어, 2005년에는 모토롤라와 공동으로 Rokr라는 일명 iTunes Phone을 시장에 내놓습니다. 핸드폰에서는 손쉽게 iTunes의 음악을 들을 수 있게 제품을 내놓았지만, 보기 좋게 실패합니다. 그때 Steve Jobs 가 생각한 실패요인은 핸드폰이 전혀 Apple 스럽지 않다는 거였죠.

 실패후 직접 iPod이 들어가 핸드폰을 만들어야겠다는 생각에 비밀프로젝트를 계획합니다. 이게 바로 iPhone 개발 프로젝트였고, 발표하기 직전까지 몇몇 간부만 볼 수 있을 정도로 극도로 보안에 신경을 쓰면서 프로젝트를 진행합니다.

우선 하드웨어와 소프트웨어 개발 팀을 분리하여 실제 제품을 보지 못하게 하였고, Mac OS X를 핸드폰에 서 구동시킬 수 있게 Scott Forstall이 iOS 개발을 지휘합니다. 물론 처음에는 iOS라는 이름도 없었고 단지 Mac OS X의 스마트폰 버전이었습니다. 초기 버전은 전화도 잘 안되고, 메모리 문제도 발생하며, 성능문제로 정말 핸드폰에 Mac OS X 를 구동 시킬 수 있을지 회의적인 시각도 많았다고 합니다.

하지만 내부적으로는 충분한 OS 개발 능력이 있었고, 비록 실패했지만 Newton 이라는 제품을 통해 얻은 터치 디바이스에 대한 노하우를 가지고 있었습니다. Newton 제품이 실패하였지만, 터치 디바이스에 대한 연구는 계속하였다고 합니다. 그리고 iPhone의 첫 번째 목표는 핸드폰과 iPod을  하나로 합치고 손쉽게 음악을 듣고, Safari를 통해 손쉽게 인터넷 브라우징을 하는 간단한 목표였습니다.  초기 iPhone에 들어간 지도 app도 언론 발표 몇 주전에 급하게 만들어진 것이라고 합니다.


아이폰 초기 prototype

http://arstechnica.com/apple/2013/03/exclusive-super-early-iphone-prototype-had-5x7-screen-serial-port/

  

이렇게 힘들게 만들어진 iOS와 하드웨어가 결합되어 2007 6 29일 스티브 잡스는 역사적인 아이폰을 발표합니다



지금 역사적이라고 말하지만 사실 발표 당시는 국내에는 부정적인 의견이 상당히 많았습니다.  그 당시 기억을 떠올리면 핸드폰에서 인터넷을 과연 편하게 할 수 있나?, 핸드폰인 너무 크고 무겁다 등등... 제품 성공에 대해 지금처럼 그렇게 환영하는 분위기는 아니었습니다. 전에 성공했던 아이팟과 전화기 기능을 합친 것으로만 평가 절하하는 사람들도 많았죠.

우리나라인 경우 세계 핸드폰 시장에서 1위를 차지고 하고 있던 Nokia를 삼성이나 LG에서 많이 따라 잡는 상태였고,국내 제품에 대한 애착이 강한 상태에 직접 접해보지 못해서 그런지 IT업계 사람들 사이에서도 아이폰에 대해 회의적인 시각을 가진 사람들을 많이 보았습니다. Nokia 도 이미 2004년 부터 터치 스크린 기반의 스마트폰을 개발하고 있었지만, 수익성의 이유로 제품 출시까지 이어지지 못했습니다.

 Steve Jobs는 iPhone은 OS X으로 구동된다고 밝힙니다. iOS라는 이름은 이때 없었죠.단지 OS X를 모바일 디바이스를 지원하기 위한 터치환경과 사용친화적 UX가 즉 revolutionary UI를 강조하였습니다. 이러한 UX는 지금 최신버전의 iOS상태에서도 큰 틀을 유지하며 발전하고 있습니다. 또한  처음버전에는 App store기능이 없었습니다. 스티브 잡스가 처음에는 별도의 어플리케이션 개발보다는 web 기반의 application 개발을 강조했기 때문이죠.

더 자세히 말하면 스티브 잡스는 아이폰에 애플에서 개발되지 않는 별도의 앱이 설치되는 것에 반대하였습니다. 하지만 개발진의 의견을 결국 수용하여 App store 를 위한 SDK 를 먼저 발표합니다.

 iOS Mac OSX 기반의 코드로 되어있기 때문에 기존 xcode 제품에 필요 library 만 추가하는 형식이어서 생각보다 일찍 SDK 를 발표하고, 그 사이에 app store 를 준비하고 있었죠.

Apple의 다른 제품과 그러하듯 처음버전보다는  그 이후 버전인 iPhone 3GS  등 성공이후 모바일은 Apple이 주도권을 가지고 발전시켜왔습니다.

마지막으로 흥미로운 사실은 Mac의 각 OS를 담당한데 주요 책임자들이 현재는 모두 Apple을 떠난 상태입니다.Mach Kernel의 Avie Tevanian, Mac OS X의 아버지라 불리우던 Bertrand Serlet, 그리고 마지막으로 iOS의 아버지라 불리우는 Scott Forstall 등 현재 모두 Apple에서 퇴사한 상태입니다.

하지만 기존 OS 담당자하고 느낌이 전혀 다른 Carig Federighi가 있습니다. Carig Federighi는 NeXT 시절부터 Steve Jobs와 함께 했던 인물이고 잠시 떠난후 2009부터 Apple에서 중요한 역활을 맡게 됩니다. Scott Forstall  퇴사후 Mac OS X 및 iOS 를 통합 담당하고 여러 프레젠테이션에서 Steve Jobs 못지않은 쇼맨쉽을 보여주었죠.

Apple은 시장조사를 하지 않는 회사로 유명하지만, 그 어느 회사보다 사용자를 생각하는 회사입니다. 그 중심에는 사용자을 만족하기 위한 iPhone이 있었고,Platform 기술적 중심인  iOS의 개발이 없었다면 불가능한 일이었습니다.

iPhone 첫 발표에 Steve Jobs는 미국의 유명한 전산학자인 Alan Kay의 말을 인용합니다.

"People who are really serious about software should make their own hardware"


iPhone을 만들기 위해 iOS를 넣은것이 아니라, Software에 대해 특히 OS에 대한 애정이 누구보다 각별했기 때문에 결국 iPhone을 만들어냈습니다.


참고자료

http://www.theverge.com/2011/12/13/2612736/ios-history-iphone-ipad

https://en.wikipedia.org/wiki/Avie_Tevanian

http://lowendmac.com/2014/full-circle-a-brief-history-of-next/

https://en.wikipedia.org/wiki/Scott_Forstall

https://en.wikipedia.org/wiki/XNU


 

New Multi-Channel Dynamic CMS