본문 바로가기

IT/안드로이드

안드로이드, 구글에게 바라는 몇 가지 - 푸쉬알림Push Notification

제가 구글에 바라는 것은 매우 작은 것입니다. 조금만 신경 쓴다면 구글에겐 정말 별 거 아닌, 아주 작은 것이죠.


안드로이드와 구글에게 바라는 몇 가지, 첫번째 이야기에 앞서

 안드로이드의 역사는, 앤디 루빈[각주:1]이 안드로이드 운영체제를 삼성에 매도하고자 했던 시도가 실패하면서 드라마틱하게 전개됩니다. 그 때는 스마트폰이 도약하기도 전이었고, '아이폰 광풍'을 체험하기 전의 삼성이었기에 삼성에 소프트웨어 회사를 판매한다는 것은 어림 반푼어치도 없는 소리였습니다. 지금이야 삼성이 소프트웨어 소프트웨어 하지만, 이전의 삼성이야.. 알 만 하죠?

 여튼, 삼성의 리젝션으로 앤디 루빈은 구글로 찾아가게 됩니다. 소위 발품을 팔았던거죠. 앤디 루빈이 개발한 안드로이드는, 구글에 의해 빛을 발하게 됩니다. 여기서 잠깐 생각 해 보면, 만약 삼성이 안드로이드사를 인수했다 쳐도, 당시의 삼성이 가진 마인드였다면 안드로이드가 오픈소스로 공개되었을 리도 없고, 그렇다면 지금처럼 안드로이드가 발전했을 수도 없었을테니 스마트폰의 르네상스는 아마 오지 않았거나, 애플이 독식했을 가능성이 크네요.

 구글의 안드로이드사 인수로 안드로이드는 발전에 발전을 거듭하며 현재의 젤리빈JellyBean[각주:2]까지 오게 됩니다. 초창기 시절, 프로요나 이클레어 시절만 보아도(JellyBean 각주 참조) 안드로이드는 촌스러운 OS였지만, 지금은 아주 멋진 인터페이스를 하고 있습니다. 그럼에도 불구하고, 아직 안드로이드는 갈 길이 조금 남았다는 느낌이 듭니다.



 

 푸쉬 알림(Push Notification), 그리고 킵얼라이브(Keep Alive)

 아이폰3Gs 이후, 안드로이드를 세 대 째 사용하는 나름 안드로이드 팬인 저는, 안드로이드와 구글에게 바라는 몇 가지가 있습니다. 거창한 것이 아니라, 아주 사소한 것들입니다. 조금만 더 신경써주면 충분히 가능한 것들을 말하고자 합니다. 그 첫번째로, 오늘은 안드로이드의 '푸쉬알림Push Notification'에 대해 논하고자 합니다. 물론 안드로이드는 기본적으로 '푸쉬 알림'이라는 용어로 표현하기는 좀 그렇습니다. 전문용어로 '킵얼라이브Keep Alive' 라고 부르는 방식인데, 기술적인 면을 제외하면 사용자의 입장에서는 푸쉬나 킵얼라이브나 거의 대동소이하므로, 이해를 돕기 위해 이하 '푸쉬알림'으로 통일하도록 하겠습니다.

 스마트폰에 있어 푸쉬알림은 없어서는 안될 존재와도 같습니다. 우리가 흔히 사용하는 메신저 프로그램들[각주:3]은 푸쉬 알림을 기본적으로 사용합니다.[각주:4] 상대방이 메시지를 보냈는지, 안보냈는지, 일일히 들어가서 확인해야 한다면 그것도 굉장히 불편한 일이겠죠. 카카오톡이나 페이스북이 우리가 일일히 앱에 들어가서 새로운 메시지, 새로운 알림, 변경사항 등을 살펴야 한다면 지금처럼 편리한 메신저/SNS의 이용은 불가능했을 것입니다. 우리의 삶을 편리하게 해 주는 기술 중의 하나죠. 그러나, 때로는 불필요한 푸쉬 알림이 계속 등장해서 골머리를 썩기도 합니다. 



안드로이드의 알림 방식, 아이폰의 알림 방식

 안드로이드의 알림 시스템은 개별적으로 애플리케이션에 들어가서 설정을 변경할 수 있게 되어 있습니다. 나쁘지는 않아 보입니다. 원하는 알람을 앱 개발자가 취향대로 만들 수 있고, 그에 따라 다양한 형태의 푸쉬 알람이 가능하게 됩니다. 따라서, 사용자가 입맛에 맞는 프로그램을 사용하면 되기 때문에 좋은 방향도 있다고 하겠습니다. 최근 애플리케이션 개발사들이 그래픽 인터페이스에도 신경을 많이 쓰기 때문에 안드로이드 쪽 애플리케이션들도 소위 '예쁜' 디자인을 많이 만들어내고 있습니다.

 반면, 안드로이드에는 '원치 않는 알림'이라는 부분이 아주 강력하게 존재합니다. 알림을 통합관리 할 수가 없기 때문에 어떤 앱이 어떤 알림을 보내는지 스스로 명시하지 않는다면, 에어푸시디텍터AirPush Detector[각주:5]와 같은 서드파티 앱을 설치하지 않고서는 막을 길이 없습니다. 그렇다고 이런 몇몇 앱 때문에 또 다른 앱을 설치하는 것도 귀찮은 일입니다.

 그렇다면, iOS의 '푸시알림'은 어떨까요? iOS는 '알림센터'라는 통합 알림 시스템을 구축하고 있습니다. 애플은 통합 서버를 통해 푸시를 관리합니다. 그래서 OS의 환경설정 안에 모든 알림을 몰아놓고, 원하는 알림과 원치않는 알림을 구분해서 사용자가 받을 수 있도록 합니다. 일일히 앱을 찾아가며 알람 설정을 변경해 주어야 하는 안드로이드와는 사뭇 다른 느낌입니다. 실제로 아이패드/아이폰을 사용해보면 iOS의 알림센터는 매우 편리합니다. 개발자 입장에서는 좀 더 커스텀을 하기 어렵다는 불편함이 있을지도 모르겠지만요.



 이렇게 알림을 통합으로 관리하기 때문에, 불필요하거나 받고싶지 않은 알림들을 설정하기 위해 어떤 앱이 어떤 알림을 보내는지 일일히 찾아다닐 필요가 없습니다. 그저 시스템 설정에 들어가서, 알림센터의 설정을 쭉 훑어보고, 어떤 앱의 알림은 받고 어떤 앱의 알림은 받지 않을지를 간단히 설정 해 주기만 하면 됩니다. 심지어는 알림의 형태까지 가이드라인이 존재하기 때문에, 앱 개발사들은 애플의 가이드라인에 맞추어 앱의 알림을 디자인하게 됩니다. 그러므로 알림을 받는 사용자의 입장에서도 명료하고 통일된 형태의 알림을 받게 되어 정신없는 상황이 발생하지 않게 됩니다.

 이러한 차이는 OS의 방식 차이 뿐만 아니라 서버운영의 차이에서도 드러납니다. 안드로이드처럼 별도의 통합 푸시 서버가 없는 경우[각주:6]에는 각 앱들이 직접적으로 개별 서버에 계속 액세스를 하면서 변경된 내용이 있는지를 확인해 주어야 합니다. 서버에게 새로운 메시지가 있는지, 새로운 알림이 있는지를 계속 물어보면서 체크해야 된다는 이야기입니다. 이런 방식으로 알림이 운영될 경우, 서버의 과부하는 물론이거니와 통신사 서버의 과부하, 사용자 디바이스의 배터리 이슈로까지 이어질 수 밖에 없습니다. 반면에 iOS는 알림을 애플이 통합서버로 관리하기 때문에, 새로운 알림이 있으면 애플의 서버에서 사용자에게 직접 전송을 해 주는 시스템입니다. 따라서 배터리 소모도 적고, 통신사나 앱 서버의 과부하 문제도 적게 발생할 수 밖에 없습니다.





 안드로이드의 알림기능, 진짜 문제는 여기서 발생한다.

 하지만 진짜 문제는, 이러한 방식의 문제에서 오는 배터리 이슈나 서버 과부하의 이슈가 아닙니다. 그것은 통신사나 디바이스 제조사가 고심해야 할 문제일 수도 있습니다. 중요한 문제는 결국 이러한 운영방식의 차이 때문에 안드로이드를 이용하는 사용자들이 자신이 원하지 않는 알림을 받고도 막기가 어렵다는 사실입니다. 이런 불쾌한 알림 광고를 하는 앱을 설치하는 일반 사용자들 중에, 서드파티 앱을 설치해서 일일히 그 알람을 막으려고 노력할 사용자가 얼마나 될까요? 하다 못해 페이스북 알림을 어떻게 끄는지도 모르는 사용자들이 태반입니다. 어쩌면 이러한 이슈에 대해 구글은 이렇게 말할지도 모릅니다. '오픈소스는 원래 이런거임. 그러니까 알아서 서드파티 앱 설치하면 광고도 빠이빠이잖아. 그렇게 못하게 우리가 막은적은 없음!' 오픈소스라는 장점이 한편으로는 이렇게 구글에게  빠져나갈 구실을 주고 있는 셈입니다. 엄밀히 따지면 구글이 책임져야 마땅한 부분이라고는 볼 수 없으니까요. 하지만 사용자들은 불편합니다. 안드로이드를 사용하면서 '불편한 사용자 경험'을 하는 셈입니다. 이것이 안드로이드와 구글이 자체적으로 OS와 서버 양면으로 알림서비스를 관리 해 주어야 하는 이유입니다.

 혹자의 이야기에 따르면, 안드로이드의 운영 방침 자체가 무료화를 통한 자사 광고의 확장이라고 합니다. 저도 그러한 입장에 동의하는 편입니다. 자세한 내용은 다음 포스트를 참조하시면 좋겠네요.

2012/09/26 - [안드로이드] - 구글의 플레이스토어 앱 무료화 전략, 뭔가 잘못되었다?




 구글의 수익모델이 광고이다 보니, 광고가 없는 유료앱보다는 광고가 있는 무료 앱을 많이 장려하는게 구글 입장에서도 좋을 수 밖에 없습니다. 그게 자사의 수익으로 이어지니까요. 그리고, 광고가 적은 앱보다는 당연히 광고가 많은 앱이 구글에게 좋겠죠. 그러다 보니 이런 광고들도 구글에서는 막을 이유가 없는겁니다. 자사의 수익모델을 굳이 일부러 통합관리해서 수익률을 낮출 이유가 없는거죠. 이런 측면에서 볼 때, 어쩌면 구글은 앞으로도 이런 푸시 광고를 막으려고 노력하지 않을 수도 있겠습니다.




 누가누가 잘 베끼나

 사실 iOS에는 원래 '알림센터' 기능이 없었습니다. 화면의 상단을 드래그해서 내리면 알림창이 뜨는 기능, 그것은 안드로이드의 고유기능인 '알림바Notification Bar'의 외관에서 아마도 힌트를 얻은 기능인 것 같습니다. 안드로이드가 아이폰을 목표로 기능을 발전시켜온 것 처럼, iOS도 안드로이드의 유용한 기능을 차용한 것 뿐입니다.

 하지만, 같은 차용이라도, iOS의 '안드로이드 알림바' 차용은 매우 성공적이었습니다. 안드로이드에서 차용해온 알림센터 기능을 만들 때, 모든 앱의 알림을 OS에서 통합관리하도록 함으로써 사용자들에게 편의를 제공했습니다. 받고싶은 알림, 받고싶지 않은 알림을 한 곳에서 통제할 수 있게 되었고, 사용자들은 자신이 디바이스를 완벽하게 통제하고 있다는 느낌을 받게 되었습니다. 그것이 아이폰의 소소한 한 가지 매력으로 추가된 것입니다. 반면에 안드로이드는, 자신이 가지고 있던 고유한 기능이었던 알림바 기능을 무방비 상태로 내어둠으로써, 사용자들에게 불편함을 주고 있습니다. 한 곳에서 통제할 수 없는 무차별적인 알림들은, 대다수 사용자들에게 자신이 디바이스를 통제하지 못하고 있다는 느낌을 심어줌으로써 안드로이드의 매력을 반감시키는 요소가 되고 있습니다.

 구글이 궁극적으로 바라는 것은 광고수익입니다. 광고가 구글의 가장 큰 수익모델이니까요. 반면에 애플의 수익모델은 유료 앱 판매와 디바이스 판매로 인한 마진입니다. 두 경쟁사의 수익모델은 다릅니다. 확연하게 다르죠. 하지만 한 가지 사실은 같습니다. 어떤 수익 모델도, 사용자가 등을 돌려서는 좋은 수익 모델이 될 수 없습니다. 애플이 아이폰의 사용자경험에 목을 매는것도 이와 같은 이유 때문입니다. 구글도 사용자경험을 쉽게 생각하지 않아야 할 것은, 사용자들이 안드로이드에 대한 불편한 경험을 반복적으로 느끼고 안드로이드에서 등을 돌리게 되면, 구글의 광고 수익 역시 당연히 줄어들 수 밖에 없다는 것입니다.



이제 구글도 알림기능을 통합해서 관리 해 주길 바랍니다. 제가 원하는 것은 이겁니다. 조금만 신경 쓴다면 정말 별 거 아닌, 아주 작은 것이죠.

현재 구글은 GCM이라는 통합 알림센터를 운영하고 있습니다. 설마 제 글을 읽은 건.. 기분 탓이겠죠?







  1. 앤디 루빈, 혹은 앤드류 루빈. 안드로이드를 개발한 장본인. [본문으로]
  2. 안드로이드 운영체제의 4.1버전 프로젝트 네임. 구글은 안드로이드 운영체제의 버전별 이름에 간식거리 이름을 붙이고 있다. 2.2 Frozon Yogurt(프로즌 요거트(프로요), 얼린요거트), 2.3 GingerBread(진저브레드, 생강빵), 4.0 IcecreamSandwich(아이스크림샌드위치, 아이스크림빵), 4.1 JellyBean(젤리빈, 콩모양젤리) 등이 그 이름이다. [본문으로]
  3. 카카오톡, WhatsApp, 네이버 라인 등 수많은 메신저들이 사용하는 알림기능이 모두 푸쉬알림Push Notification 이다. [본문으로]
  4. 아이폰은 서버에서 새로운 내용을 사용자에게 직접 뿌려주는 정확한 '푸시알림' 이지만 안드로이드는 사용자의 애플리케이션이 직접 서버에 주기적으로 통신상태를 유지하면서 서버의 신규 내용을 '긁어오는' 시스템이다. 안드로이드의 알림 시스템을 전문적인 용어로 '킵 얼라이브Keep Alive'라고 하지만, 알림을 받는 사용자의 입장에서는 두 방식간의 차이가 없다. [본문으로]
  5. 앱의 푸쉬 광고를 막아주는 앱. 동일한 기능을 하는 앱들이 꽤 있다. [본문으로]
  6. 지금은 안드로이드도 C2DM이라는 이름으로 제한적으로 운영되고는 있다. 그러나 무용지물 수준. [본문으로]