처음으로 사용해본 스마트폰이 2009년 말에 KT가 한국에 처음으로 들여온 iPhone 3Gs였고, 앱스토어 약관이 GPL과 충돌하여 GPL 앱을 올리지 못하는 등의 지점에서 반발감을 느껴서 Galaxy Nexus로 안드로이드를 쓰기 시작한 게 2012년 초. 매우 소심하고 별 영향력도 없는 보이콧이 아닐 수 없다. 그 이후로 몇년간 안드로이드를 만족하며 써오다가, 최근까지 쓰던 Nexus 5가 고장나 버렸다.
서비스 센터에 갔더니 이래저래 30만원 가까히 든다며 그냥 새 폰 사는 게 나을 수도 있다는 소리까지 들었다. 안드로이드를 계속 쓴다면 Nexus 5 이상으로 만족할만한 제품이 없다는 생각이 들었고, 어차피 할부 없이 샀던 전화기라 바꾸는 것도 마음에 부담이 적었다. 최근에 iOS를 써본 일이 없으니 iPhone을 다시 써봐야겠다는 생각이 들어서 iPhone 6를 구입했다.
사설이 길었는데, Apple 제품의 마감이 훌륭한 것은 누구나 아는 사실이다. 안드로이드도 (레퍼런스 제품에 한정, 그 외 제조사가 소프트웨어를 손댄 것은 모두 엉망이지만) 지난 몇년간 마감이 부쩍 좋아졌지만, 여전히 Apple 제품을 따라가지는 못한다.
하지만 오랜만에 iOS를 써보니 적응이 되지 않아 불편한 점들이 있다. 하지만 정말로 불편한 것은 백 버튼이 없는 것도 아니고, 여전히 사악한 앱스토어 정책 때문에 iOS용 Firefox가 없다는 것도 아니였다.
iOS에 없는 것중 내게 치명적인 것은 OS 수준의 DI인 것 같다. iOS의 모든 앱들은 중립적인 공통 인터페이스로 통신하기 보다는 대체로 구현 자체가 서로 hardwired되어 있는 식이어서, 가령 IRCCloud 같이 어느 정도 사려 깊은 앱은 링크를 누르면 Safari에서 열지 Chrome으로 열지 직접 물어봐주는 정도다. Google에서 만든 Inbox by Gmail 앱은 링크를 누르면 멋대로 묻지도 않고 Chrome으로 열어버리고 (Safari를 배제하려는 것일 게다), 대부분의 앱들은 그냥 Safari로 열지도 않고 앱 안에 들어있는 브라우저로 링크를 열어버린다. 그 링크를 카카오톡이나 라인 메신저로 다른 사람에게 보내는 방법은 대개는 없다. 다음카카오나 라인에서 만든 앱이 아니라면. 아, 물론 링크를 복사해서 메신저를 직접 켜서 붙여서 전송하는 방법은 있다.
이러한 생태계는 소프트웨어의 정당한 경쟁조차도 쓸모 없게 만든다는 점에서, 사용자 뿐만 아니라 개발자에게도 좋지 않다. iOS에서는 기본으로 내장된 앱보다 더 좋은 무언가를 만들 동기가 매우 적으며, 더 좋은 무언가를 시도해도 OS 수준의 DI가 없기 때문에 사용자가 default를 바꾸기가 힘들어서 결국 패배하는 역사를 반복해왔다. 그리고 다음 버전의 iOS에는 감쪽같이 패배했던 앱이 개선한 부분을 도입해서 발표한다. (이는 iOS만의 방식이라기 보다는 Apple이 항상 그래왔던 부분이기도 하다.)
노파심에 덧붙이지만, 나는 Apple 제품이 훌륭하다고 생각한다. 이 글은 Apple 제품의 품질에 대한 불평이 아니라, 서드파티 개발자를 대하는 태도에 관한 불평이다.