페이스북 모바일, HTML5가 문제아니다

어제 실리콘 밸리 스타트업 행사인 TechCrunch Distrupt 20에서 페이스북 CEO인 마크 주커버그가 나와 대담을 통해 진솔한 이야기를 들려주었다. 한참 주가가 반토막 난 상황에서 대담하게 이런 저런 이야기를 해 준것 만 해도 주가가 5% 가까이 뛰었다는 점에서는 잘한 듯.

재미 있는 건 대담 내용 중에 “(페이스북 모바일 서비스를 만드는데 있어) 회사로서 한 가장 큰 실수는 네티브앱이 아니라 HTML5에 너무 큰 베팅을 한 것(The biggest mistake we made as a company is betting too much on HTML5 as opposed to native)”이라고 말했다는 것… (HackerNews 개발자 반응)

When I’m introspective about the last few years, I think the biggest
mistake that we made as a company is betting too much on HTML5 as
opposed to native. Because it just wasn’t there.

It’s not that HTML5 is bad. I’m actually, long-term, really excited
about it. One of the things that’s interesting is we actually have more
people on a daily basis using mobile Web Facebook than we have using our
iOS or
Android apps combined. So mobile Web is a big thing for us…

We built this internal framework that we called FaceWeb, which was
basically this idea that we could take the infrastructure that we built
out for pushing code every day, not having to submit to an app store, to
build Web code on the Web stack that we have, and that we could
translate that into mobile development. We just never were able to get
the quality we wanted…

We burned two years. That’s really painful. Probably we will look back
saying that is one of the biggest mistakes if not the biggest strategic
mistake that we made. But we’re coming out of that now. The iOS app, I
think, is in good shape, and the Android one will hopefully be soon.

이 말을 가지고 HTML5기반 웹앱이 네이티브앱에 역시 느리고 쓸모 없는 것이라는 평가가 다시 고개를 들고 있다. 기술과 서비스 두 가지 측면에서 이 문제를 바라봐야 할 것 같다.

페이스북 모바일은 HTML5가 아니다

먼저 페이스북의 모바일웹은 사실 HTML5와 속도 향상을 위해 한 것은 거의 없다. 이는 PC웹의 모바일 UI만 입힌 복사본일 뿐이다. 페북 모바일 웹의 가장 큰 문제는 HTML5의 장점인 클라이언트 기반이 아니라 전적으로 서버 기반 렌더링을 한다는 점이다.

여전히 이 문제는 해결되지 않고 있다. 지메일의 모바일 버전과 비교해 보면 그 차이는 확연이 난다. 지메일은 사용자의 이메일 내용 중 많은 부분을 로컬 데이터베이스에 저장(5MB)을 하며, 지메일 서비스 전체를 로컬 애플리케이션 캐시에 저장(640kb 정도)을 한다. 

이 때문에 모바일에서 지메일을 부르면, 웹 서버 연결 전에 이미 UI와 기본 메일 데이터가 더 빠르고 미려하게 로딩된다. 그런 후, 새로운 업데이트 부분을 서버로 부터 받아 다시 로컬에 저장하는 방법으로 만들어져 있다.

이에 반해 페이스북 모바일웹은 애플리케이션 캐시도 로컬 데이터베이스에 최근 뉴스 피드 내용도 저장되지 않는다. 그나마 최근에 업데이트 된 iOS 개선 부분도 UI 부분만 네이티브 기능으로 그리는 하이브리드앱 그 이상도 이하도 아니다. 이 부분은 페이스북의 기술적 한계를 여실히 보여 주는 촌극이 될 가능성이 크다.

문제는 모바일에서 비지니스 모델

페이스북에 대한 모바일에 대한 걱정은 사실 앱의 속도가 느리거나 하는 점이 아니었다. 월가에서 우려하고, 주가가 떨어진 가장 큰 요인 중에 하나가 모바일로 급격한 전환이 일어나는데도 불구하고, PC 웹 위주로 되어 있는 비지니스 모델이 모바일에서 잘 통하지 않는다는 점이다.

PC웹에서는 돈이 되는 스폰서 광고가 잘 보이고하니 오히려 페이스북 스스로 사용자가 PC를 더 쓰게 조장한 느낌도 없지 않다. 모바일에서는 서드파티 앱에 대한 비지니스 또한 쉽게 만들 수 없기도 하다.

그 결과 모바일에서의 서비스 개선이나 기술이 더뎌질 수 밖에 없지 않았을까? 그러니 우선 모바일은 PC웹을 빨리 베껴 기능만 되도록 할 수 밖에 없었고, 스마트폰 사용자의 급격한 증가가 불만을 만들었을 수 밖에 없다.

페이스북은 이제 모바일에서 광고 모델을 개발하면서 더 빠르고 멋진 서비스를 만들어야 하는 두 가지 숙제가 주어졌다. 그걸 HTML5 탓을 한다고 문제를 회피한다고 사라지는 게 아니라는 점.

예전에 스티브 잡스가 자신의 iOS 폐쇄성을 강화하고자 어도비의 플래시를 내치면서 HTML5를 이용했던 것이 떠오른다.

Update. Facebook의 W3C 웹 표준 대표인 Tobie Langel가 COREMOB 메일링리스트에 Facebook 모바일의 속도 저하에 미친 요인들에 대해 설명한 글을 게재했다.  1. 모바일 브라우저에 대한 개발 도구나 API 부족 2. 스크롤링 성능 저하 3. GPU 미지원 4. 앱캐시 문제, 터치 반응성 등을 들었다. 물론 HTML5의 성능상 앞으로 개선할 사항은 많은 것은 분명하다.

Update. 페이스북의 HTML5 실패에 대한 반론의 표시로 Facebook 의 API를 사용하여 똑같은 서비스를 Sencha Touch 로 구현한 Fastbook이라는 데모를 만들어 반박했습니다. Dynamic Loading 을 이용하여 DOM Tree를 가볍게 가져가는 것은 기본 적용 되어 더 빠르게 개발하였습니다. 아래 동영상으로 한번 확힌해 보시죠.

- ;

Disclaimer- 본 글은 개인적인 의견일 뿐 제가 재직했거나 하고 있는 기업의 공식 입장을 대변하거나 그 의견을 반영하는 것이 아닙니다. 사실 확인 및 개인 투자의 판단에 대해서는 독자 개인의 책임에 있으며, 상업적 활용 및 뉴스 매체의 인용 역시 금지함을 양해해 주시기 바랍니다. 본 채널은 광고를 비롯 어떠한 수익도 창출하지 않습니다. (The opinions expressed here are my own and do not necessarily represent those of current or past employers. Please note that you are solely responsible for your judgment on checking facts for your investments and prohibit your citations as commercial content or news sources. This channel does not monetize via any advertising.)

여러분의 생각 (4개)

  1. innerlight 댓글:

    이러나 저러나 모바일에서 수익모델 찾기가 쉽지만은 않아보이네요.

    글 잘 읽었습니다.

  2. aaaa 댓글:

    좋은 내용 감사합니다.

  3. wafe 댓글:

    사용자 입장에서는 이번 변화가 정말 좋습니다. 엄청나게 빨라졌거든요. 모든 면에서요. 트위터 모바일도 HTML 기반으로 바뀌고 나서 UI 반응이 네이티브일 때보다 확연히 안좋아진 상태거든요. 페이스북이든 트위터든 “조금 불편해도 어차피 쓰게되어 있어”라고 배짱부릴 수 있는 처지가 아니라면 개선이 필요했고 이번 페이스북의 개선은 굉장히 만족스러운 개선이라고 생각합니다.

  4. 박상만 댓글:

    http://apps.facebook.com/rushmopoker/

    국내에서 html5 로만든 페이스북 환경에서 구동되는 포커게임 입니다.
    데탑에서 웹의제약 을 극복하느라 개발진들이 고생 많이 했네요

    모바일웹앱 버젼도 곧준비중이며.., 준비하면서 한가지 걸림돌은 애플의 결제 정책 때문에
    Ios 페이스북 앱을 실행했을 때 html5 웹앱이 차단되어 리스트에 하나도 표시가 되질
    않아 접근이 되질않더군요…, 애플에서 결코 페이스북 결제모듈을 작동되게 하지
    않을테니 까요…., 캐시라던지 성능의 문제는 어떻게든 극복을 할텐데……
    Ios에서 페이스북앱을 열어서 실행할수 있는 앱은 역시 애플에서 승인한 네이티브앱밖에
    없다는게…. Html5 페이스북앱이 성장을 못하는 걸림돌일듯 싶어요