안드로이드 디바이스의 파편화 및 테스트 문제점

모바일 시장이 날마다 빠르게 성장하고 있는 지금, 소비자들의 눈 높이 또한 날로 높아지고 있어 엉성한 app에 만족할 리 없겠죠.. 구글 플레이에서 불안정하고 느려터진 앱을 소비자들이 보면, ‘자꾸 앱이 다운된다’, ‘안돌아간다’라고 하면서 리플을 달기 일수고요, 그러면 다른 수많은 사용자들은 다운로드 받으러 갔다가 이런 글들을 보고는 다른 앱을 찾으러 떠납니다. 냉정하지만 이것이 현실입니다.
혹자들은 어떤 성공한 app을 보면 운이 좋았다고들 하는데, 사실은 그 성공한 app의 면면을 자세히 보면 안정적으로 신속하게 작동하는 것이 참으로 노력 많이 했다는 느낌이 들지요. 즉, app의 성공은 운이 아니라 성능과 품질, 안정성을 높이기 위해 피나는 노력을 한 결과라 하겠습니다.

device fragmentation
[그림1] 안드로이드 OS 파편화 현황 개념도-이미지 출처:Cnet

오픈 시그널이라는 회사가 안드로이드 파편화에 대한 보고서를 공개해 눈길을 끌었습니다. 이 회사는 크라우드 소싱 방식에 기반해 통신 신호가 어디가 강하고 약한지 알려주는 앱을 만든다고 하네요. 이렇게 하다보니, 안드로이드 기기와 관련해 엄청난 데이터를 축적하게 됐고, 이번에 내놓은 파편화 보고서도 그 동안의 데이터를 축적한 것이라고 합니다. 안드로이드 파편화는 사용자들이 다양한 버전의 OS를 쓴다는 측면의 파편화와, 시장에 각양각색의 하드웨어가 있다는 측면에서의 파편화로 나눠집니다.
아래 그림에서 보시는 바와 같이, 구글은 지난 수년간 여러 안드로이드 OS 버전을 출시하면서 기능 및 성능을 고도화 해 왔고, 이로 인하여 시장에는 다양한 버전의 안드로이드 단말이 존재하게 되었습니다. 2014년 기준 시장에 풀린 안드로이드 단말들의 OS 별 분포를 표와 그림으로 도시하였습니다.

android devices
[그림2] 안드로이드 OS 버전별 점유율 – 이미지출처 : 구글

이뿐만이 아닙니다. 단말 제조사들은 자신들의 제품 경쟁력을 높이기 위해 추가 기능을 안드로이드 단말에 추가하였는데요, 이로 인하여 더욱 파편화를 심화시키게 되었습니다. 단말 제조사들에 의한 파편화를 ‘OEM파편화’ 라고 부릅니다.
몇 가지 예를 들어보겠습니다. 몇 년 전부터 모든 안드로이드 OEM이 자신만의 독특한 UI 레이어를 구축하기 시작했습니다. 밋밋한 안드로이드에 스킨과 다른 미들웨어들을 입힌 것이죠. 많은 OEM들이 UI 레이어에 이어서 레거시 소프트웨어(Legacy software)를 도입하기도 했습니다. 이 또한 개발자가 여러 브랜드의 핸드폰에 동일하게 구동되는 앱을 개발하기 힘들게 되어버린 이유지요. 드라이버 역시 심각한 문제를 일으킵니다. 그 중 상당수는 그래픽에 관한 것인데요. 어떤 칩셋의 경우, 그래픽 드라이버를 이상하게 업데이트시켜버리는 바람에 앱과 게임 등에서 볼 수 있는 색상이 디바이스에 따라 다르게 보이기도 합니다. 안드로이드 디바이스마다 다른 색상이 나타나는 것이죠. 때에 따라 의도한 색상과 전혀 다른 색상이 나타나는 경우도 있습니다
개발자에게 이같은 파편화는 실제로 부담입니다. 챙길 것이 많아 지는 것이지요. 오픈 시그널에 따르면 이 회사 앱을 내려받은 기기 종류는 무려 1만1천868개에 달했다고 합니다. 지난해에는 3천997대였음을 감안하면 기기 차원의 파편화는 심화됐다고 볼 수 있다. 단순하게 숫자로 비교하면 3배가 심해졌다. 오픈 시그널도 파악하기 힘든 정체 불명의 기기에서 앱을 내려받는 경우도 있다고 합니다.
기기들의 점유율을 보면 삼성전자가 압도적으로 1위였고, 점유율이 47.5%에 달했다고 합니다. 오픈 시그널 앱이 깔린 삼성 제품은 대부분 갤럭시 스마트폰들이었고, 2위는 소니 에릭슨으로 점유율은 6.5%에 불과했다고 합니다.

fragmentation comp
[그림3] iOS와 안드로이드 파편화 비교 – 이미지출처 : Cnet

안드로이드 파편화는 안드로이드가 나오면서부터 불거졌던 문제입니다. 최신 버전인 안드로이드4.3(코드명 젤리 빈)이 구형 버전인 진저 브레드 점유율을 따라잡기까지는 오랜 시간이 걸렸습니다. 반면 iOS 사용자 중 95%는 최신 버전을 쓰고 있는 것이 구글과는 대조적입니다. 구글이 안드로이드를 개발한 뒤 무료로 푼 것은 모바일 인터넷 사용을 확산시키기 위해서였습니다. 이를 위해 구글은 안드로이드 생태계의 다양성을 촉진하는 전술을 선택했습니다. 다양한 기기들이 늘어나면서 파편화는 가속화됐습니다.
구글 안드로이드 OS의 파편화는 이처럼 심각하므로, 한 단말에서 잘 실행된다고 안심하는 우를 범해서는 안됩니다. 최대한 다양한 종류의 단말에서 테스트를 해서 실제로 동작 여부를 확인해 보고, 작동이 안되는 경우, 그 이유를 자세히 분석해서 향후 다른 app 개발에 활용하여야 합니다. 이러한 노력 끝에 나온 app이야 말로, 정성이 가득한 사용자들에게 사랑 받아 성공 가능한 app이 될 것입니다.