воскресенье, 25 марта 2012 г.

[Перевод] Ошибка Apple


Первоисточник: http://www.paulgraham.com/apple.html Translated on Jan 29, 2010 by Vyacheslav Mayorskiy. 

Ноябрь 2009
Мне кажется, что Apple не осознает, насколько ужасно сломан процесс одобрения программ для App Store. Либо же они не понимают, насколько это плохо, то, что этот процесс сломан.
То, как Apple организовала App Store, вредит ее репутации среди программистов более чем что-либо еще, что она когда-либо делала. Репутация компании среди программистов имела обыкновение быть благоприятной. Обычным делом были жалобы на то, что фаны Apple восхищались компанией без должного критисизма. App Store изменил такое положение вещей. Теперь многие программисты начинают воспринимать Apple как зло.
Какую долю программистов, первоначально настроенных доброжелательно, Apple уже потеряла из-за App Store? Треть? Половину? И все еще продолжает терять. App Store - это непрекращающаяся утечка кармы.
* * *
Как же Apple оказалась в таком беспорядке? Ее фундаментальная проблема заключается в непонимании процесса программирования.
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 идут лучше, чем когда-либо. Так зачем же им что-то менять?
Apple удается избегать последствий плохого обращения с разработчиками, потому что она выпускает замечательное "железо". Я приобрел новый 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 настолько притягателен, что они не могут его покинуть. Но они поглядывают на сторону. Вот что написал один программист:
   Хотя мне и нравилось писать для 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 приняли "Не будь злом", они все еще были настолько малы что зла от них никто и не ожидал. Пока.
[2] Интересно, что диктатор на экране в ролике 1984-го не Microsoft; это IBM. IBM казалась намного более устрашающей в те дни, но она была более дружественной для разработчиков нежели Apple в наши дни.
[3] Он даже не мог себе позволить монитор. Вот почему Apple I использовала телевизор в качестве монитора.
[4] Несколько человек, с которыми я разговаривал, отметили, что им нравится iPhone SDK. Проблема не в продуктах Apple а в ее порядках. К счастью, порядки - это программы; Apple может их изменить мгновенно если захочет. Удобно, не правда ли?
Благодарности: Сэму Альтману, Тревору Блэквелу, Россу Баучеру, Джэймсу Брэйси, Габору Целле, Патрику Коллисону, Джэймсу Фреедману, Джону Груберум Джо Хьюитту, Джессике Ливингстон, Роберту Моррису, Тенг Сионг Онгу, Нихиль Пандит, Саврай Сингх, и Джэреду Тэйм за прочтение черновиков этого текста.

Комментариев нет:

Отправить комментарий