‘기능은 그대론데 용량은 75% 뚝 ‘…페북 메신저앱 파격 감량의 비밀

가 +
가 -

페이스북이 아이폰용 페이스북 메신저 앱을 새로 내놓으면서 파격적인 감량을 시도해 눈길을 끈다.

기능을 줄이지 않고도 기존 버전 대비 용량을 75% 가까이 줄인 것. 새 iOS용 페이스북 메신저 앱 용량은 기존 130MB에서 30MB수준으로 축소됐다. 4분의 1도 안되는 수준으로 가벼워졌다. 소스코드 기준으로 보면 페이스북 메신저의 감량은 보다 드라마틱하다. 기존 버전 코드는 170만줄이었는데, 새 버전의 경우 36만줄로도 앱이 완성됐다. 무려 84% 감소한 수치다.

큰틀에서 기능을 그대로 유지하면서 애플리케이션 용량을 70% 가까이 줄이는 것은 프로그래밍 관점에서 만만한 일은 아니다. 3월2일(현지시간) 패스트컴퍼니 보도에 따르면 메신저앱 개편은 페이스북에게도 흔치 않은 시도였다. 이 정도 규모로 앱을 리엔지니어링 하는 것은 페이스북 역사를 통틀어 봐도 보기 드문 의사 결정이었다. 많은 시간이 투입됐고 멀리 떨어져 있는 여러 부서들에 걸쳐 서로 얼굴도 모르는 직원들간 협업도 많이 요구됐다. 수시로 할 수 있는 성격의 일은 아니었다.

구형 아이폰서도 성능 저하 없이 사용 가능

페이스북은 2011년 8월 페이스북 메신저를 별도 앱으로 선보였다. 이후 페이스북 메신저 앱은 2016년 월간사용자수 10억명을 돌파했고 2019년에는 시장 분석 업체 앱애니로부터 그해 가장 많이 다운로드된 앱으로도 꼽혔다.

사용자 증가와 함께 앱에 추가되는 기능들도 늘었다. 단순 문자 메시지를 넘어 음성과 영상 통화도 지원했고 언제부터인가 게임과 결제 플랫폼으로서의 역할도 맡았다. 그러다 보니 앱의 용량도 커져만 갔다. 페이스북 메신저 앱 용량은 2012년에만 해도 8.5MB 규모였는데, 최근 아이폰 버전의 경우 130MB에 달하는 대용량 앱으로 진화했다.

강력한 프로세싱 파워와 메모리를 탑재한 최신 스마트폰 사용자들에게 메신저 앱 용량이 큰 것은 별일이 아닐 수 있다. 하지만 구형 아이폰이라면 얘기는 달라진다. 구형 아이폰으로 용량이 많이 나가는  앱을 돌리면 기기는 버벅 거릴 수 있다. 페이스북 메신저 부문 엔지니어링 디렉터인 모센 아그센은 “저사양 기기에서 (이번에 나온) 새 메신저 앱의 성능이 눈에 띄게 다르다는 것을 바로 알아볼 수 있을 것이다. 고성능 기기에서도 보다 일관된 성능을 경험할 것이다. 고성능 기기라고 해도 사용자가 대용량 게임을 방금 마쳤거나 카메라를 로딩하거나 하면 저사양 폰처럼 돌아갈 수 있다”라고 말했다.

메신저의 경우 사용자들이 하루에만 십여번 나왔다 들어갔다를 반복하는 앱이다. 그런 만큼 성능은 중요할 수 밖에 없다. 페이스북이 iOS용 메신저앱에 대한  대규모 감량을 추진한 것도 이와 무관치 않다.

감량을 통해 앱 성능이 좋아지면 사용자들만 혜택을 보는 건 아니다. 페이스북  사업 입장에서도 유리하다. 저사양 스마트폰에서도 쉽게 쓸 수 있으면, 메신저 사용도 늘 수 밖에 없다. 페이스북의 레이몬드 엔드레스 엔지니어링 담당 부사장은 “우리가 메신저를 빠르고 간단하게 만들때 마다 사람들은 커뮤니케이션을 쉽게 한다. 메신저를 보다 많이 사용한다”라고 말했다.

소스코드 중복제거, 입체적인 협업의 성과

새로 나온 페이스북 iOS 메신저 앱은 2019년 4월 개최한 F8 개발자 컨퍼런스에서 발표된 코드명 라이트스피드(LightSpeed) 프로젝트에 뿌리를 두고 있다. 페이스북은 메신저 앱의 기능성을 제거하지 않고도 앱 크기를 대폭 줄이는 것을 목표로 개발을 진행했다.

해법은 소스코드에서 중복되는 부분을 가차없이 덜어내는 것이었다. 만만한 일은 아니었다. 멘로파크에 있는 페이스북 본사, 시애플, 뉴욕, 런던에 소재한 오피스들에서 근무하는 페이스북 메신저 담당 직원들간 협력만으로는 부족했다. 결제, 마켓플레이스 등 다른 부서 직원들도 메신저 개편에 맞춰 소프트웨어를 업데이트하는 ‘콤비 플레이’가 요구됐다. 페이스북의 아키라 케사바사미 테크니컬 프로그램 매니저는 “실제로 40개의 다양한 파트너들이 있었다. 우리들 대부분은 서로에 대해 알지도 못했다”라고 전했다. 대규모 협업의 결과물이라는 얘기였다.

기술적인 측면에서 보면 오픈소스 모바일 DB인 SQL라이트에 베팅한 것이 주효했다.

메신저 기능이 늘어나면서 페이스북 엔지니어들은 서버와 직접 커뮤니케이션하는 전용 마이크로 서비스들을 투입했다. 이 같은 방식은 대규모 첨단 애플리케이션 개발의 정석으로 통한다. 이들 마이크로 서비스는 캐시 관리 같은 복잡한 데이터 랭글링(Data Wrangling: 지저분한 상태의 데이터를 분석과 접근을 위해 통합하는 과정) 작업 등을 수행할 필요가 있다. 이 과정에서 페이스북은 광범위하게 사용되는 SQL 라이트로 이 같은 기능의 많은 부문을 대체할 수 있음을 알게 됐다. 메모리에서 할 수 있었던 일을 데이터베이스를 통해 처리했다는 설명이다.

페이스북은 아이폰용 메신저앱 외에 다른 서비스들에 대해서도 유사한 감량 프로젝트를 추진할지에 대해 현재로선 계획이 없다는 입장이다. 안드로이드 앱도 마찬가지다. 현재 페이스북 메신저 안드로이드앱 용량은 기기에 따라 40MB~45MB 수준이다. 페이스북은 대규모 감량은 아니지만 라이트스피트용으로 개발한 일부 기술을 향후 안드로이드용 메신저앱 업데이트에 적용할 계획은 있다고 패스트컴퍼니는 전했다.