본문 바로가기

Papyrus/Dizzy Report

MS의 노키아 인수: 모든 일에는 순서가 있다

마이크로소프트(이하 MS)의 모바일 전략은 오늘도 여전히 좌충우돌 중이다. 비지니스맨 발머는 장부 실적 관리에는 도가 텄을지 몰라도, 키보드 앞의 카페인 중독 괴짜들을 이끌기엔 부족하다. 윈도우폰은 노키아를 인수하며 '이제부터다'를 외치고 있고, 서피스는 크기와 두께를 줄인 노트북과 무슨 차이가 있는지 알 수가 없다. 대체 무엇이 문제인가? 단순히, 모바일 시장에 먼저 뛰어든 애플의 iOS와 구글의 안드로이드에 비해 기술이 부족한 탓인가?

 

애플의 아이폰은 환상적인 UI를 보여주며 스마트폰이란게 무엇인지 확실히 보여주었지만, 사실 iOS는 MAC OS X의 열화 및 모바일 기능 추가판이었을 뿐이다. 그러나, 당시에는 이것이 중요한 것은 아니었다. 당시 다른 스마트폰들은 아이폰과 비교하면 차마 스마트폰이라고 부르기도 민망할 정도로 엉망진창이었고, 모바일 환경과 데스스탑 환경을 모두 아우르는 플랫폼을 구축한다는 것은 망상에 가까웠기 때문이다. 그러나, 모바일 환경이 성숙한 지금, 플랫폼 통합이 커다란 화두로 떠오르고 있다. iOS가 단순히 플랫폼에서 지원하는 기능이 적다고 문제가 되는 것이 아니라, iOS와 MAC OS가 동일한 소프트웨어 스택을 가지지 못하는 것이 문제다. 이 사실은 iOS와 MAC OS 소프트웨어가 특정 기능에서는 서로 다른 구현 전략을 가져가야 한다는 사실을 의미한다. 코코아 프레임워크는 매우 일관적이고, 이해하기 쉬운 플랫폼이기 때문에 이 차이점이 큰 고통을 주는 것은 아니지만, 이원화된 소프트웨어 플랫폼은 궁극적으로 커다란 짐이다.

 

구글의 안드로이드는 현재 가장 기세가 드높지만, 모바일 외의 다른 환경은 주요 고려 사항이 아니었다는 심각한 문제를 가지고 있다. 넓은 의미에서 컴퓨팅 환경은, 스마트폰과 태블릿만으로 구성되는 것이 아니다. 포스트 PC 시대에서 PC의 중요성은 감소하고 있지만, 포스트 PC라는 말 자체가 의미하는 것처럼 PC는 아직도 가장 일반적인 플랫폼이다. 안드로이드는 이 환경에서 가진 것이 아무 것도 없다. PC는 점차 모바일 기기에게 그 위상을 물려주겠지만, 일반인들에게 개인이 가질 수 있는 가장 강력한 컴퓨팅 플랫폼이라는 점은 오히려 더 확고하게 구축할 것이다. 즉, 개인들이라도 고성능 프로그램을 사용해야만 하는 영역이 존재하며, 안드로이드는 이 영역에 직접 접근하기가 쉽지 않다. 자바와 XML 레이아웃을 활용한 안드로이드 앱은 이해하기 쉽고, 작성도 간편하다. 관리되고, 빠른 개발이 요구되는 모바일 환경에서는 이것으로 충분할지 몰라도, 그 이상의 큰 소프트웨어를 작성할 때는 부족한 점이 많다. NDK를 통해 네이티브 코드를 작성할 수 있지만, 성능을 위해 NDK만 사용하여 앱을 작성하는 것은, 모바일 앱의 근본 요구 사항을 볼 때 그다지 권장할만한 것이 아니다. 안드로이드는 플랫폼 확장에 있어서, 늘어나는 요구 사항을 단순함이라는 플랫폼의 근본 철학(유닉스에 기반한)을 위배하지 않고 처리하기 쉽지 않다. 앱의 95%는 고성능보다는 보안 및 유지 보수의 편의성이 우선이다. 그러나, 안드로이드가 제시하는 테두리 바깥에서 고성능 앱을 작성하고자 한다면, NDK의 투박한 C 인터페이스 외에 주어진 것은 아무 것도 없다. 유닉스 철학을 깊이 이해하고 있는 구루(guru)라면 직감적으로 자바와 NDK 사이에서 프로그램의 올바른 디자인 방향을 떠올릴 수 있겠지만, 모든 안드로이드 개발자가 이런 일을 할 수 있는 것은 아니다. 플랫폼 차원에서 이 간격을 메울 방법을 제시해야 하지만, 이것은 구글이라도 쉬운 일이 아니다. 이 공백을 가지고 있는 한, 안드로이드는 PC와 공존할 수 밖에 없고, PC 운영체제가 모바일 환경과의 호환성을 무기로 시장에 쏟아져 나온다면 이 조합을 막기 쉽지 않다. 안드로이드가 모든 플랫폼을 지배하리라 예측하는 것은 아직 단순한 망상이다.

 

윈도우는 이 부분에서 가장 강력한 장점을 가지고 있다. 외부에서는 좌충우돌하는 것으로 보이지만, 이미 데스크탑, 모바일 구분 없는 강력한 소프트웨어 스택을 가지고 있다. 컴퓨터 아키텍처와 동작 환경에 상관없이, 개발 언어 내부에서 직접 동일한 형식으로 데이터를 주고 받을 수 있는 소프트웨어 스택의 존재는 엄청난 장점이다. 특히, 윈도우 8에 이르러서는 네이티브 코드 영역까지 이 장점이 확장되어 있으며, iOS나 안드로이드에게 앞으로 두통거리로 다가올 플랫폼 통합 문제는 이미 윈도우에게는 없는 것과 마찬가지다(이것을 위해 2번이나 이미 출시된 모바일 플랫폼을 버렸다). 적어도, 최소한 기술적으로 윈도우는 다른 플랫폼과 비교할 바가 아니다. 그러나, 사실 세 플랫폼 중에서 가장 심각한 문제를 가지고 있는데, 바로 이 플랫폼을 운영하는 하드웨어가 절대 부족하다는 점이다. 시장에 차고 넘칠 정도로 보급된 x86 기반 IBM PC 호환 기종에서 동작하는 PC 운영체제를 가지고 있었기 때문에, MS는 과거의 수 많은 전쟁에서 승리할 수 있었다. 90년대 중반까지도 PC에서는 도스(DOS) 이외에 다른 선택 사항이 거의 없었다. 사용자는 PC를 가졌기 때문에 도스를 쓴 것이지, 도스를 쓰기 위해 PC를 산 것이 아니었다. 마찬가지로, 안드로이드가 산전수전 다 겪은 윈도우에 비해 아직 조악하다고 하더라도(리눅스가 윈도우에 비해 조악하다는 뜻이 아니다), 넥서스7이 300달러에 팔리고 서피스가 500달러에 팔리고 있다면 기술적 우위를 논하기 전에 이미 끝난 이야기다. 윈도우는 안드로이드처럼 공짜가 아니기 때문에, 하드웨어 제조사로서는 불리한 시장 조건을 감수하며 윈도우 기반 모바일 / 태블릿 하드웨어를 만들어야 할 이유가 없다. 윈도우는 가격에서 절대로 공짜인 리눅스와 안드로이드를 이길 수 없다. 대신, 다른 플랫폼이 따라올 수 없는, 데스크탑 / 모바일 / 거치용 게임기 사이에서 강력한 호환성을 제공하며, 이것을 MS가 관리한다는 점을 강조해야 한다. 구글의 정신없는 안드로이드 업데이트에 골머리를 앓고 있는 제조사들에게, 이 골치 아픈 문제를 MS에게 떠넘길 수 있다는 것은 분명한 장점이다. MS는 기기묘묘한 온갖 하드웨어가 난립하는 PC에서 그럭저럭 공통된 운영 환경을 제공했으며, 이런 종류의 문제에 이골이 나있다.

 

모든 일에는 순서가 있는 법이다. 소프트웨어 이전에 하드웨어가 먼저다. MS가 플랫폼의 기술적 우위를 논하기에 앞서, 구글처럼 저렴한 가격에 레퍼런스 기기를 보급하고, 다른 플랫폼이 제공하지 못하는 자신들의 장점을 앞세워 윈도우가 숨 쉴 공간(하드웨어)을 지속적으로 늘려가는게 무엇보다 중요하다. MS의 노키아 인수를 루저와 루저의 결합으로만 볼 수는 없다.