Ноябрь 2009
Я не думаю, что 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. Они бы так и сказали. Но как бы ни были они могущественны, они не настолько могущественны, чтобы повернуть вспять эволюцию технологий. Программисты используют launch-fast-and-iterate не из лени. Они используют их, потому что это дает наилучшие результаты. Препятствуя этому процессу, Apple заставляет их делать плохую работу, а программисты ненавидят это не меньше, чем Apple.
Как бы Apple понравилось, если бы при обнаружении серьезной ошибки в OS X, вместо того чтобы сразу выпустить обновление программного обеспечения, им пришлось бы отправлять свой код посреднику, который просидел бы над ним месяц, а затем отклонил бы его, потому что в нем была бы иконка, которая им не нравилась?
Нарушая процесс разработки программного обеспечения, Apple добивается обратного тому, что задумала: версия приложения, доступная в настоящее время в App Store, как правило, оказывается старой и глючной. Один разработчик сказал мне:
Другой написал:
На самом деле я полагаю, что у Apple есть и третье заблуждение: что все жалобы на одобрение App Store не являются серьезной проблемой. Они должны слышать жалобы разработчиков. Но партнеры и поставщики всегда жалуются. Если бы они не жаловались, это был бы плохой знак; это означало бы, что вы слишком легко с ними обращаетесь. Тем временем iPhone продается лучше, чем когда-либо. Так зачем им что-то исправлять?
Им сходит с рук плохое обращение с разработчиками в краткосрочной перспективе, потому что они делают такое отличное оборудование. Пару дней назад я купил новый 27-дюймовый iMac. Он потрясающий. Экран слишком блестящий, а диск на удивление громкий, но он настолько прекрасен, что вы не можете заставить себя переживать.
Так что я купил его, но впервые я купил его с опасениями. Я чувствовал себя так, как чувствовал бы, покупая что-то, сделанное в стране с плохими показателями по правам человека. Это было что-то новое. Раньше, когда я покупал вещи от Apple, это было сплошное удовольствие. О, Боже! Они делают такие замечательные вещи. В этот раз это было похоже на фаустовскую сделку. Они делают такие замечательные вещи, но они такие засранцы. Действительно ли я хочу поддерживать эту компанию?
Должна ли компания Apple заботиться о том, что думают люди вроде меня? Какая разница, если они оттолкнут небольшое меньшинство своих пользователей?
Есть несколько причин, по которым их это должно волновать. Первая заключается в том, что эти пользователи - те люди, которых они хотят видеть в качестве сотрудников. Если ваша компания кажется злой, лучшие программисты не будут работать у вас. Это сильно навредило Microsoft, начиная с 90-х годов. Программисты стали стесняться работать в ней. Это было похоже на продажу. Когда люди из Microsoft разговаривали с другими программистами и упоминали о том, где они работают, было много самоуничижительных шуток о том, что они перешли на темную сторону. Но настоящей проблемой для Microsoft было не смущение людей, которых они наняли. Это были люди, которых они так и не взяли. И знаете, кто их нанял? Google и Apple. Если Microsoft была Империей, то они были Альянсом повстанцев. И именно потому, что они наняли больше лучших людей, Google и Apple сегодня работают намного лучше, чем Microsoft.
Почему программисты так трепетно относятся к морали своих работодателей? Отчасти потому, что они могут себе это позволить. Лучшие программисты могут работать там, где захотят. Они не обязаны работать в компании, к которой у них есть претензии.
Но другая причина суетливости программистов, как мне кажется, заключается в том, что зло порождает глупость. Организация, которая побеждает, используя власть, начинает терять способность побеждать, делая лучшую работу. А умному человеку неинтересно работать в месте, где побеждают не лучшие идеи. Я думаю, что причина, по которой компания Google так охотно взяла на вооружение принцип "Не будь злым", заключалась не столько в том, чтобы произвести впечатление на внешний мир, сколько в том, чтобы защититься от высокомерия. [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, что они не могут уйти. Но они ищут выход. Один написал:
Может ли что-нибудь разорвать этот круг? Ни одно устройство, которое я видел до сих пор, не может. У 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, который я использую с внешним монитором и клавиатурой в офисе, а также сам по себе, когда путешествую. Если бы существовала версия вдвое меньшего размера, я бы предпочел ее. Это все равно не будет достаточно маленьким, чтобы носить его с собой повсюду, как телефон, но мы находимся в пределах 4 или около того. Конечно, этот разрыв можно преодолеть. Фактически, давайте сделаем его RFS. Требуется: Женщина с молотком.
Примечания
[1] Когда Google приняли "Не будь злом", они были еще настолько малы, что никто не ожидал от них этого.
[2] Диктатор в рекламе 1984 года - это, кстати, не Microsoft, а IBM. В те дни IBM выглядела гораздо более устрашающе, но они были более дружелюбны к разработчикам, чем Apple сейчас.
[3] Он даже не мог позволить себе монитор. Поэтому в Apple I в качестве монитора использовался телевизор.
[4] Несколько человек, с которыми я разговаривал, упоминали, как им нравится iPhone SDK. Проблема не в продуктах Apple, а в их политике. К счастью, политика - это программное обеспечение; Apple может мгновенно изменить ее, если захочет. Удобно, не правда ли?