Я не думаю, что Apple осознаёт, насколько сломан процесс одобрения приложений в App Store. Или, скорее, я не думаю, что они понимают, насколько важно то, что он сломан.
То, как Apple управляет App Store, навредило её репутации среди программистов сильнее всего, что она когда-либо делала. Раньше её репутация у программистов была великолепной. Самой частой претензией к Apple когда-то было то, что её фанаты восторгаются ею слишком некритично. App Store это изменил. Теперь многие программисты начали воспринимать Apple как империю зла.
Сколько доброжелательности программистов, которой Apple когда-то пользовалась, она потеряла из-за App Store? Треть? Половину? И это только на данный момент. App Store — это постоянная утечка кармы.
* * *
Как Apple попала в эту неприятность? Их фундаментальная проблема в том, что они не понимают программное обеспечение.
Они относятся к приложениям для iPhone так же, как к музыке, которую продают через iTunes. Apple — это канал; пользователь принадлежит им; если вы хотите достучаться до пользователей, вы делаете это на их условиях. Музыкальные лейблы с этим согласились, пусть и неохотно. Но эта модель не работает для софта. Нельзя, чтобы посредник владел пользователем. Индустрия ПО усвоила это ещё в начале 1980-х, когда такие компании, как VisiCorp, показали, что хотя слова «программное обеспечение» и «издатель» сочетаются грамматически, стоящие за ними концепции несовместимы. Софт — это не музыка и не книги. Он слишком сложен, чтобы третья сторона выступала посредником между разработчиком и пользователем. И всё же именно этим Apple пытается быть с помощью App Store: издателем ПО. Причём крайне заносчивым, с придирчивым вкусом и жестко насаждаемым корпоративным стилем.
Если книжно-издательская модель для софта не работала в 1980 году, то сегодня она работает ещё хуже, когда разработка ПО эволюционировала от редких крупных релизов к непрерывному потоку мелких обновлений. Но Apple не понимает и этого. Их модель разработки продуктов проистекает из железа. Они работают над чем-то до тех пор, пока не сочтут это готовым, а затем выпускают. С аппаратным обеспечением так и приходится поступать, но поскольку софт так легко менять, его дизайн только выигрывает от эволюции. Стандартный способ разработки приложений сегодня — быстрый запуск и итерации. А это значит, что долгие, непредсказуемые задержки при каждом релизе новой версии превращаются в катастрофу.
Судя по всему, позиция Apple заключается в том, что разработчикам следует быть внимательнее при отправке новой версии в App Store. Другого от них и нельзя было ожидать. Но как бы они ни были могущественны, повернуть вспять эволюцию технологий им не под силу. Программисты придерживаются подхода «быстрый запуск и итерации» не из лени. Они используют его потому, что он даёт наилучшие результаты. Препятствуя этому процессу, Apple заставляет их делать плохую работу, а программисты ненавидят это так же сильно, как ненавидела бы сама Apple.
Понравилось бы Apple, если бы при обнаружении серьезного бага в OS X вместо немедленного выпуска обновления им приходилось отправлять свой код посреднику, который держал бы его месяц, а затем отклонил из-за непонравившейся иконки?
Ломая разработку ПО, Apple получает результат, противоположный желаемому: версия приложения, доступная в данный момент в App Store, обычно оказывается старой и забагованной. Один разработчик сказал мне:
В результате их процесса App Store забит недоделанными приложениями. Я выпускаю новую версию для бета-тестеров почти каждый день. Версия в App Store выглядит старой и убогой. Уверен, многие разработчики чувствуют то же самое: с одной стороны — «мне стыдно за то, что лежит в App Store», а с другой — «но ведь это полностью вина Apple».
Другой написал:
Мне кажется, они думают, будто их процесс модерации помогает пользователям, гарантируя качество. В реальности же такие баги, как наш, проскакивают постоянно, а потом на одобрение исправления уходит от 4 до 8 недель, из-за чего пользователи думают, будто приложения для iPhone порой просто не работают. Что еще хуже для Apple, эти же приложения отлично работают на других платформах, где процесс одобрения мгновенный.
Вообще, я полагаю, у Apple есть и третье заблуждение: будто все эти жалобы на модерацию в App Store — пустяки. Они наверняка слышат недовольство разработчиков. Но партнёры и поставщики жалуются всегда. Было бы дурным знаком, если бы они этого не делали: это означало бы, что вы слишком мягки с ними. Тем временем iPhone продаётся лучше, чем когда-либо. Так зачем им что-то чинить?
Плохое обращение с разработчиками сходит им с рук в краткосрочной перспективе, потому что они делают великолепное железо. Пару дней назад я купил новый 27-дюймовый iMac. Он потрясающий. Экран слишком глянцевый, а диск на удивление шумит, но он настолько красив, что заставить себя переживать об этом просто невозможно.
Итак, я купил его, но купил впервые с неприятным осадком. Я чувствовал себя так, словно покупаю вещь, сделанную в стране с ужасной ситуацией в области прав человека. Это было в новинку. В прошлом покупки у Apple приносили чистую радость. Вот это да! Они делают такие классные вещи. В этот раз ощущение было похоже на сделку с дьяволом. Они делают такие классные вещи, но они такие козлы. Действительно ли я хочу поддерживать эту компанию?
* * *
Должно ли Apple волновать, что думают такие люди, как я? Какая разница, если они оттолкнут небольшую часть своих пользователей?
Есть пара причин, почему их это должно волновать. Во-первых, эти пользователи — именно те люди, которых они хотят видеть своими сотрудниками. Если ваша компания кажется злом, лучшие программисты не пойдут к вам работать. Это сильно ударило по Microsoft начиная с 90-х. Программистам стало неловко признаваться, что они там работают. Это выглядело как предательство идеалов. Когда сотрудники Microsoft общались с другими программистами и упоминали своё место работы, звучало много самоироничных шуток про переход на тёмную сторону. Но главной проблемой для Microsoft было не смущение тех, кого они наняли. А те, кого они так и не смогли заполучить. И знаете, кому они достались? Google и Apple. Если Microsoft была Империей, то они были Альянсом повстанцев. И во многом именно потому, что они привлекли больше лучших специалистов, дела у Google и Apple сегодня идут куда лучше, чем у Microsoft.
Почему программисты так щепетильны в вопросах морали своих работодателей? Отчасти потому, что могут себе это позволить. Лучшие программисты могут работать где угодно. Им незачем идти в компанию, вызывающую у них сомнения.
Но другая причина щепетильности программистов, как мне кажется, в том, что зло порождает глупость. Организация, которая побеждает за счёт применения силы, начинает терять способность побеждать за счёт создания более качественного продукта. А умному человеку не в радость работать там, где побеждают не самые лучшие идеи. Мне кажется, Google столь горячо ухватилась за девиз «Don't be evil» не столько ради того, чтобы произвести впечатление на внешний мир, сколько ради прививки от собственного высокомерия. [1]
Для Google это пока работает. Они стали более бюрократичными, но в остальном, похоже, сохранили верность своим изначальным принципам. В случае с Apple в это верится меньше. Глядя сейчас на знаменитую рекламу «1984», легче представить Apple в роли диктатора на экране, чем в роли женщины с молотом. [2] На самом деле, если вчитаться в речь диктатора, она звучит как поразительно точное пророчество об App Store.
Мы восторжествовали над беспринципным распространением фактов.
Мы впервые за всю историю создали сад чистой идеологии, где каждый труженик может цвести, защищённый от паразитов противоречивых и сбивающих с толку истин.
Вторая причина, по которой Apple должно волновать мнение программистов, заключается в том, что когда продаёшь платформу, разработчики могут как вознести её, так и погубить. Кому, как не Apple, знать об этом: именно VisiCalc сделал популярным Apple II.
И программисты создают приложения для тех платформ, которыми пользуются сами. Большинство приложений — да и большинство стартапов, вероятно, — вырастают из личных проектов. Сама Apple так и появилась. Apple начала делать микрокомпьютеры, потому что именно такой Стив Возняк хотел для себя лично. Миникомпьютер он позволить себе не мог. [3] Microsoft точно так же начинала с создания интерпретаторов для небольших микрокомпьютеров, потому что Биллу Гейтсу и Полу Аллену было интересно ими пользоваться. Редкий стартап не создает то, чем пользуются сами основатели.
Главная причина изобилия приложений для iPhone — в том, что у огромного числа программистов есть iPhone. Они могут знать из статей, что у Blackberry такая-то доля рынка. Но на практике для них всё выглядит так, будто RIM не существует. Если они собираются что-то делать, они хотят иметь возможность пользоваться этим сами, а это значит — создавать приложение для iPhone.
Поэтому программисты продолжают писать под iPhone, даже несмотря на то, что Apple продолжает с ними дурно обращаться. Они похожи на жертву токсичных отношений. iPhone их так манит, что они не могут уйти. Но они ищут выход. Один из них написал:
Хотя мне и нравилось разрабатывать под iPhone, контроль, навязанный ими через App Store, отбивает всякое желание делать приложения так, как хотелось бы. На самом деле я вообще не планирую делать приложения для iPhone, если только в этом не будет крайней необходимости. [4]
Может ли что-то разорвать этот замкнутый круг? Ни одно из устройств, что я видел до сих пор, на это не способно. У Palm и RIM нет никаких шансов. Единственный правдоподобный претендент — Android. Но Android — сирота; Google он на самом деле безразличен, во всяком случае они не заботятся о нём так, как Apple об iPhone. Apple переживает за iPhone так же, как Google — за поисковик.
* * *
Окажется ли будущее карманных устройств запертым в тисках Apple? Это тревожная перспектива. Было бы досадно снова оказаться в унылой монокультуре вроде той, что царила в 1990-х. В 1995 году разработка ПО для конечных пользователей была фактически тождественна написанию приложений для Windows. Наш ужас перед этой перспективой стал главным стимулом начать делать веб-приложения.
По крайней мере, теперь мы знаем, что потребуется для того, чтобы взломать монополию Apple. Нужно забрать iPhone из рук программистов. Если бы программисты использовали для мобильного веб-доступа какое-то другое устройство, они начали бы разрабатывать приложения для него.
Как создать устройство, которое понравилось бы программистам больше, чем iPhone? Вряд ли можно сделать что-то лучше с точки зрения дизайна. Тут Apple не оставляет шансов. Так что эта гипотетическая альтернатива вряд ли смогла бы победить за счёт привлекательности для широкой публики. Она должна была бы победить за счёт качеств, привлекательных конкретно для программистов.
Один из способов привлечь программистов — это софт. Если бы удалось придумать приложение, жизненно необходимое программистам, но невозможное в ограниченном мирке iPhone, то, вероятно, их удалось бы переманить.
Это определённо произошло бы, если бы программисты начали использовать карманные устройства как машины для разработки — если бы карманные устройства вытеснили ноутбуки так же, как ноутбуки вытеснили десктопы. Для машины разработчика требуется гораздо больше контроля, чем Apple когда-либо позволит получить на iPhone.
Сможет ли кто-нибудь создать устройство, которое можно носить в кармане, как телефон, и которое при этом служило бы машиной для разработки? Трудно представить, как бы оно выглядело. Но я усвоил, что в технологиях никогда нельзя говорить «никогда». Устройство размером с телефон, подходящее для разработки, по сегодняшним меркам не более чудесно, чем сам iPhone показался бы по меркам 1995 года.
Моя текущая машина для разработки — MacBook Air, который я использую с внешним монитором и клавиатурой в офисе, и сам по себе в поездках. Появись версия вдвое меньше, я бы предпочёл её. Она всё ещё была бы недостаточно мала, чтобы повсюду носить её с собой как телефон, но мы уже где-то в пределах четырёхкратной разницы. Преодолеть этот разрыв наверняка возможно. По сути, давайте сделаем из этого RFS. Разыскивается: женщина с молотом.
Примечания
[1] Когда Google провозгласила «Don't be evil», они были ещё настолько малы, что никто от них зла пока и не ожидал.
[2] Диктатор в рекламе «1984», кстати, олицетворяет не Microsoft, а IBM. IBM в те дни казалась гораздо более пугающей, но к разработчикам они относились лучше, чем Apple сейчас.
[3] Он даже монитор не мог себе позволить. Именно поэтому в Apple I в качестве монитора использовался телевизор.
[4] Несколько человек, с которыми я общался, упомянули, насколько им нравится iPhone SDK. Проблема не в продуктах Apple, а в её политике. К счастью, правила — это тот же софт: Apple может изменить их в мгновение ока, если захочет. Удобно, правда?
Спасибо Сэму Альтману, Тревору Блэквеллу, Россу Буше, Джеймсу Брейси, Габору Челле, Патрику Коллисону, Джейсону Фридману, Джону Груберу, Джо Хьюитту, Джессике Ливингстон, Роберту Моррису, Тенг Сионг Онгу, Нихилу Пандиту, Савраджу Сингху и Джареду Тейму за чтение черновиков этой статьи.