Это интересная идея, но возникают очевидные вопросы. В частности, есть опасность привлечения нетренированных и нелицензированных консультантов, предлагающих психологическое руководство людям, чья жизнь в опасности. В середине 2014 г. Маккеон искал финансовой поддержки с помощью краудфандинга. Пока неизвестно, удастся ли запустить новое взаимодействие на Moodswing и даст ли оно те выгоды, на которые надеется Маккеон.
Принцип end‑to‑end в разработке платформ
Добавление новых функций и взаимодействий на платформе может быть мощным способом повысить ее пользу и привлечь новых людей. Но инновации иногда приводят к излишней путанице: пользователям становится слишком сложно работать с платформой. Это может также создать серьезные технические проблемы для программистов, разработчиков сайтов и менеджеров, которые занимаются обновлением и поддержкой платформы. Издевательский термин «фуфлософт» относится к программному обеспечению, которое стало чересчур раздутым и неэффективным в результате бездумного наращения функций.
Но избегать инноваций – не выход. Платформа, которая не развивается, добавляя новые желанные функции, скорее всего, будет брошена пользователями, нашедшими конкурента, которому есть что предложить. Нужно изыскать способ добиться баланса, изменяя основу платформы медленно и допуская позитивные адаптации на периферии.
Эта концепция сравнима с известной идеей из области вычислительной техники: принципом end‑to‑end. Он был сформулирован в 1981 г. Джерри Зельцером, Дэвидом Ридом и Дэвидом Кларком и гласит, что в неспециализированной сети конкретно ориентированные функции должны относиться к конечным узлам, а не промежуточным[35]. Иными словами, действия, не являющиеся базовыми для работы сети и ценные только для отдельных пользователей, должны находиться на краях платформы, а не в ее сердцевине. Тогда вторичные функции не будут смешиваться, оттягивать ресурсы от основных действий в сети или усложнять задачу поддержки либо обновления сети в целом. Со временем принцип end‑to‑end был перенесен с устройства сетей на устройство многих других сложных вычислительных сред.
Один из самых громких примеров неудач в применении принципа end‑to‑end – запуск в 2007 г. Windows Vista, последней операционной системы Microsoft с «окнами». Директор Стивен Балмер объявил, что Vista – «величайший запуск в истории Microsoft», и выделил маркетинговый бюджет в сотни миллионов долларов[36].
Но Vista не оправдала себя. Команда разработчиков Microsoft попыталась сохранить программные компоненты, необходимые для поддержки совместимости со старыми компьютерными системами, одновременно добавляя функции, необходимые для систем нового поколения – причем в ядре платформы. В результате Vista получилась менее стабильной и более сложной, чем ее предшественница Windows XP, и сторонним разработчикам приложений с трудом удавалось писать для нее код[37].
Критики писали, что Vista – даже не фуфлософт, а «козлософт», потому что она пожирала все ресурсы системы[38]. Миллионы пользователей Windows отказались использовать Vista и до сих пор крепко держатся за Windows XP, несмотря на многочисленные попытки Microsoft отправить ее на пенсию. Ирония судьбы: Microsoft прекратила розничные продажи XP в 2008 г. и Vista в 2010 г., но рыночная доля XP в 2015 г. была выше 12 %, а рыночная доля Vista – ниже 2 %[39].
Стив Джобс, вернувшийся к руководству Apple в 1997 г. после нескольких лет разработки амбициозного, но неудачного компьютера NeXT, принял крайне важное решение, которое отвечало принципу end‑to‑end и помогло привести Apple к успеху. В NeXT Джобс и его команда разработали элегантную новую операционную систему с чистой, многослойной архитектурой и прекрасным графическим интерфейсом. В итоге, выбирая наследника операционной системы Apple Mac OS 9, Джобс встал перед сложным выбором: он мог смешать программные коды NeXT и Mac OS 9, создав операционную систему, которая будет совместима с обеими, или отказаться от Mac OS 9 в пользу архитектуры NeXT.
Джобс рискнул отказаться от старого кода OS 9, но пошел на одну уступку: команда разработчиков создала отдельное «Классическое окружение», которое позволяло пользователям запускать старые приложения из OS 9. Этот индивидуализированный подход отвечал принципу end‑to‑end. Старый код не замедлял и не усложнял новые приложения, и новые покупатели Mac не были перегружены программами, поддерживающими приложения, которыми они не пользовались. Выбор Джобса сделал инновации в новом Mac OS X более простыми и эффективными, что позволило Apple развить новые функции. В сравнении с ней системы Microsoft выглядят устаревшими[40].
Концепцию end‑to‑end можно применить и к разработке платформ. Здесь принцип таков: специализированные функции должны оказываться на периферии или на поверхности платформы. Только крупномасштабные, ценные функции, которые затрагивают все приложения, должны стать частью сердца платформы.