페이스북이 최근 안드로이드 앱을 업데이트하는 과정에서 보여준 사회공익적 활동이 조명받고 있다.
19일(현지시간) 미국 지디넷은 페이스북의 최근 안드로이드 앱 업데이트에 대해 개발도상국을 배려한 업데이트라고 평가했다.
페이스북은 전세계 모든 사람에게 인터넷을 이용하게 하자는 '인터넷오알지(Internet.org)' 프로젝트르 진행하고 있다. 아프리카 등 저개발국가에 대한 인터넷 보급이 주된 목표다. 인공위성이나 드론 같은 무인비행기를 활용해 무료 무선인터넷 네트워크를 구축하는 방안 등이 대형 풍선을 활용하는 구글의 '룬 프로젝트'와 함께 주목받았다.
페이스북의 이번 안드로이드 앱 업데이트는 인터넷오알지 프로젝트의 사상을 공유하면서 이뤄졌다.
페이스북의 프로덕트매니저 및 엔지니어로 꾸려진 팀은 아프리카 지역에 파견돼 현지에서 새 앱의 필드테스트와 모바일 성능 등 사용자경험을 검증했다.
아프리카처럼 무선 인터넷 인프라가 제대로 갖춰지지 않은 곳에서도 페이스북 앱을 우수한 품질로 사용하게 하자는 미션 때문이었다.
알렉스 슈로브 페이스북 엔지니어링 매니저는 블로그를 통해 아프리카 지역에서 수행한 앱 필드테스트 경험을 공유했다. 엔지니어들은 현지에서 안드로이드 휴대폰을 구매해 곳곳을 돌아다니며 테스트를 진행했다.
그는 테스트 과정이 쉽지 않았다고 적었다. 간헐적인 끊김현상과 낮은 네트워크 대역폭, 휴대폰의 부족한 메모리 공간 등 복합적 원인이 테스트를 힘들게 만들었다.
그는 우리 팀은 40분 만에 한달짜리 데이터를 다 소비해버렸다고 밝혔다.
하지만 결국 숱한 시도와 고난 끝에 발견되지 않았던 최신 앱의 문제점들을 찾아낼 수 있었다. 테스트를 통해 안드로이드용 페이스북 앱은 저품질의 이동통신 환경에서도 잘 작동하고, 구형 기기에서도 작동되도록 만들어지게 됐다. 성능, 데이터 효율, 네트워킹, 애플리케이션 용량 등이 개선됐다는 설명이다.
성능의 경우 앱 시작과 뉴스피드 로딩 시간이 50% 이상 단축됐다. 엔지니어들은 시작경로에 초점을 맞추고 병목지점을 하나하나 찾아내 제거했다.
가령, 앱 처음 시작시 너무 많은 기능이 동시에 실행돼 싱글코어 휴대폰에서 느린 속도를 보인다는 게 발견됐다. 엔지니어들은 앱을 시작한 뒤 기능을 불러오게 함으로써 병목을 없앴다. 네트워크 품질이 좋지 않은 지역에서 뉴스피드 로딩을 빠르게 하기 위해 캐시를 활용했다. 이같은 작업은 6개월 이상의 기간에 걸쳐 진행됐다고 한다.
데이터 효율의 경우 저개발국가에서 민감한 사안이었다. 저개발국가일수록 데이터 비용이 비싸지기 때문이다. 페이스북 엔지니어들은 앱 내에서 데이터 소비를 줄이는 작업을 진행했다. 사진의 경우 다운로드로 인한 데이터 소비를 유발하는 만큼, 사진 다운로드 크기를 최적화했다.
일단, 대안으로 사용할 수 있는 파일 압축 포맷을 찾았다. 데이터 크기별로 여러 종류의 압축포맷의 효과를 측정할 수 있는 툴이 만들어졌다. 'WebP'가 가장 효율적인 압축포맷으로 결정됐다.
WebP 포맷은 페이스북 안드로이드 앱에서 JPG 대비 25~35% 데이터를 절감시키는 것으로 확인됐다. PNG의 경우 80% 절감효과를 보였다.
다음 단계로 사진의 해상도 조정작업이 이뤄졌다. 페이스북은 줌인을 감안해 항상 최대 해상도로 이미지를 로딩한다. 이를 변경해 섬네일, 프리뷰, 저해상도 풀이미지 등을 선택할 수 있게 했다.
슈로브는 이 작업을 통해 전년보다 50%의 적은 데이터를 소비하게 됐다고 밝혔다.
네트워킹의 경우 네트워킹 스택의 효율성과 신뢰성 확보에 주력했다. OkHttp란 클라이언트가 활용됐다. OkHttp는 안드로이드 및 자바 애플리케이션용 HTTP 및 SPDY 프로토콜 클라이언트다. HTTP 프로토콜의 효율성을 높여주고 전체 네트워킹 속도를 향상시키면서 대역폭을 절감시켜준다.
스퀘어에서 만든 이 오픈소스 클라이언트는 전격적으로 페이스북 안드로이드앱에 채택됐다. OkHttp로 교체하자 뉴스피드의 이미지 로드 실패가 줄어들었다.
슈로브는 결과적으로 이미지에 필요한 데이터 활용을 개선함으로써 이미지 로딩 실패나 속도저하가 전년보다 90% 줄었다고 밝혔다.
애플리케이션 용량의 경우 아프리카 지역에서 주로 판매되는 휴대폰 사양을 감안했다. 저사양의 휴대폰이 대부분인 만큼 저장공간도 작기 때문이다. 부족한 저장공간은 앱 업그레이드 설치에 대한 장벽이다.
페이스북 런던지사는 앱 크기 효율성을 개선하는 작업을 담당했다. 이들은 구글플레이에서 다양한 안드로이드 OS들과 화면 해상도별로 앱을 올릴 수 있는 APK를 활용했다. 저사양 기기에서 활용할 수 없는 기능이나 자원의 코드를 배포하지 않게 됐다.
관련기사
- 구글 글로벌 인터넷...우주에서도 연결2014.06.20
- 페이스북에서 사생활 보호하는 7가지 팁2014.06.20
- 페이스북 운영 철학, '속도'에서 '효율·신뢰'로2014.06.20
- 페이스북, 무인기로 아프리카 인터넷 보급2014.06.20
그는 이로써 전체 앱 크기가 올해초에 비해 65% 줄었다:고 설명했다.
그는 페이스북의 모바일 앱 포트폴리오 확장과 발맞춰 이번 아프리카 테스트팀은 지속적으로 활동할 계획이다. 페이스북 메신저와 인스타그램에 대한 저개발국가 배려가 다음 목표로 나왔다.