Платформа, шматформа…

В последнее время довольно много разговоров ведется по поводу того, что якобы то положение iPhone, которого он достиг на данный момент — это практически пик возможностей устройства (и его экосистемы), и дальше особого роста ему не светит, хотя свою какую-никакую долю рынка iPhone получит. Далеко ходить не надо — буквально пару недель назад у меня в блоге выходил перевод большой статьи Джо Вилкокса по этому поводу.
По словам Вилкокса и других аналитиков, почти рулить в будущем будет Android, который за счет своей открытости и доступности для разных производителей догонит и перегонит iPhone, и к 2012 году займет второе место среди мобильных платформ (после Symbian). Возможно, что так оно и случится, хотя я лично вижу несколько сложностей в таком победном шагании Android по планете.

Многие сравнивают ситуацию с iPhone против Android с похожей (в какой-то мере) ситуацией 20-30-тилетней давности, где тогда противниками выступали Macintosh и PC с его сначала DOS, а затем Windows-системой. Вначале Мак набрал неплохие оборот, но затем, с появлением массового количества относительно дешевых PC-клонов, доля рынка Mac начала активно снижаться, пока не достигла своего минимума в районе 2-3% в 1998-2000 годах. Однако, все не так однозначно, как могло бы показаться, по крайней мере, по моему мнению.
[ad#intext-inside]
В первую очередь, мне кажется, то, с чем столкнутся (и уже сталкиваются) разработчики для платформы —  проблема программной, а затем — и аппаратной совместимости. Что я подразумеваю под этим? Открытость Android может сыграть и в “обратную” сторону, то есть не на руку ее создателям — ведь сейчас любая компания, создающая мобильное устройство, может взять исходный код системы, и на его основе “доработать напильником” операционную систему “под себя”, изъяв из нее (или же, наоборот — добавив туда) определенные софтверные компоненты, что может привести в итоге к тому, что определенные приложения не будут работать на некоторых Android-устройствах. (Я читал о том, что именно Dell со своим Android-телефоном собирается сделать что-то такое, “подмарафетив” систему под себя и удалив оттуда определенные библиотеки).
Я бы ожидал подобного от американских операторов, которые сильно-сильно любят ограничивать пользователей в том, что они могут делать с телефоном (история с залочиванием iPhone, отсутствие Tethering в AT&T — это цветочки с тем, что зачастую делает Verizon с телефонами в США). А есть еще проблема софтверных обновлений — Android 1.0/1.6/2.0, которые довольно сильно отличаются друг от друга, тоже не добавляют разработчикам спокойствия. Кто-то скажет, что у Apple тоже есть системные обновления разных версий, но, как показывает мой опыт разработки приложений для iPhone, его пользователи довольно стройными рядами дружно ставят новые обновления в течении 1-2 месяцев после его выхода, особенно если джейлбрейк-анлок подтягивается вовремя. Но в последнее время даже на пользователей jailbreak/unlock нет особого смысла ориентироваться, так как их становится все меньше (6-8% от общего количества пользователей)
Кроме этого, есть еще проблема аппаратной совместимости — пока что я вижу ее как минимум в разных размерах экранов телефонов, которые будут выходить под Android, но, подозреваю, что проблема может оказаться шире. Например, какие-то приложения могут быть рассчитаны на наличие физической клавиатуры в телефоне (для, скажем, определенного ввода информации), а ее в устройстве может не оказаться, если создателям устройства не давали покоя лавры iPhone. Или же поддержка мультитача (то есть возможности использовать сразу несколько пальцев для управления объектами на экране) — сама поддержка этой технологии встроена в Android 2.0, но вот если оператор или производитель устройства выпускает телефон, они могут решить, активировать фреймворк с мультитачем или нет. А если разработчик создал приложение, которое управляется именно с помощью мультитача, что ему делать в подобной ситуации? И таких моментов может быть много, чем больше различных устройств с Android — тем таких ситуаций, я думаю, будет больше.
А есть еще тема, которая меньше касается разработчиков, а больше относится к пользователям — впечатления от работы, то, что в английском языке называется выражением “user experience”. Когда каждый производитель телефона, желая выделиться в толпе других Android-фонов, начнет (да, в общем-то, уже начали) делать свой дизайн интерфейса системы, это приведет не только к тому, что некоторые приложения будут на телефонах смотреться чужеродно, но и к тому, что это будет нарушать тот самый interface consistency, принцип постоянства дизайна интерфейса. Это означает, что пользователь, поработав на одном телефоне, будет вынужден изучать каждый новый телефон снова, а интерфейс приложений будет разным и не позволит применять уже полученный в других приложениях опыт. Будет теряться “однородность” платформы, что вызовет сложности как у пользователей, так и у разработчиков, и даже у Google.
Все эти вышеперечисленные моменты, как мне кажется, и отличают ситуацию с iPhone vs Android от ситуации из прошлого Mac vs PC (DOS/Win) — создавая приложение для DOS/Windows, разработчики точно знали, чего можно ожидать от операционной системы, на которой это приложение будет работать, а в случае с Android, “благодаря” его открытости, может получиться такой “разброд и шатание”, что это приведет к оттоку разработчиков, и, как следствие — исчезновению платформы в будущем. Разработчикам уже эта платформа становится неинтересной (обратите внимание на наречие “уже” — хотя Android только год) — на прошлой неделе о снижении объемов разработки для Android объявила gameloft, крупная игровая компания, которая заявила, что финансово Android на данный момент пока непривлекательна. По словам финансового директора gameloft, компания продает под iPhone в 400 раз больше игрушек, чем на Android, и поэтому компания “серьезно урезала инвестиции в разработку приложений для Android, … как и многие другие”.
[ad#intext-inside]
То ли дело Apple — одна система с определенным набором ПО, один размер экрана (пока что), один тип устройства (iPod touch и iPhone слишком похожи, чтобы считать их разными устройствами). Что-то это мне напоминает…

We are one people. With one will. One resolve. One cause. Our enemies shall talk themselves to death. And we will bury them with their own confusion! We shall prevail!

Это отсюда, если кто не вспомнил 🙂