Архивы: по дате | по разделам | по авторам

Что такое Веб 2.0. Софт работает поверх устройств

АрхивМнения
автор : Тим О’Рейли   21.10.2005

<b>Окончание статьи Тима О'Рейли.</b> ПК уже не единственное устройство для интернет-приложений, а приложение, ограниченное одним устройством, менее ценно.

Окончание статьи Тима О'Рейли "Что такое Веб 2.0". Чтение лучше начать с начала.


Собираем по-новому

Упрощенные бизнес-модели - это естественный спутник упрощенного программирования и свободного партнерства. В Вебе 2.0 повторное использование не осуждается. Новые сервисы, такие как housingmaps.com, являются простым совмещением двух существующих служб. У Housingmaps.com нет бизнес-модели (пока), но множество небольших сервисов живет за счет Google AdSense (или, возможно, амазоновских программ, или - и тех и других).

Эти примеры иллюстрируют еще один ключевой принцип Веба 2.0 - то, что мы называем "сборка по-новому". Когда вокруг столько дешевых компонентов, вы можете создавать нечто ценное, просто собирая из них неожиданные или эффективные комбинации. Точно так же, как ПК-революция дала "путевку в жизнь" компаниям, собирающим компьютеры из обычной комплектухи, Веб 2.0 предоставляет возможности компаниям, собирающим свои приложения из чужих компонентов.

Софт работает поверх устройств

Еще одна особенность Веба 2.0, которая заслуживает упоминания, это то, что теперь веб не привязан к платформе ПК. Перед уходом из Microsoft разработчик Дэйв Стац (Dave Stutz) дал своему бывшему работодателю совет: "обеспечить высокую прибыль способно программное обеспечение, работающее поверх устройств".

Конечно, так можно охарактеризовать практически все веб-приложения. В конце концов, простейшее приложение требует для своей работы по крайней мере два компьютера: один - для хостинга сервера, второй - для браузера. И как мы уже обсуждали, развитие веба как платформы расширяет эту идею до синтетических приложений, составленных из сервисов, которые предоставляются множеством компьютеров.

Но - с Вебом 2.0 такое случается частенько - "2.0" означает не что-то совершенно новое, а развитие и углубление существующих концепций. И фраза Стаца поясняет, как нужно проектировать приложения для новой платформы.

В настоящий момент лучшим примером нового подхода является iTunes. Это приложение без проблем соединяет карманное устройство с грандиозной веб-базой, оставляя ПК роль локального кэш-сервера и контрольной станции. Попытки донести веб-контент до мобильных устройств, разумеется, предпринимались и раньше, но связка iPod/iTunes является одним из первых приложений, соединяющих в единую цепочку сразу несколько устройств. Другой хороший пример подобного подхода - цифровой видеомагнитофон TiVo.

iTunes и TiVo также демонстрируют другие ключевые принципы Веба 2.0. Они не являются веб-приложениями сами по себе, однако используют мощь веб-платформы, превращая веб в незаметную, практически невидимую часть своей инфраструктуры. TiVo и iTunes - сервисы, а не коробочные приложения (хотя в случае с iTunes это не совсем верно - программа вполне может использоваться и как коробочный софт, для управления пользовательскими данными). Более того, и TiVo, и iTunes пытаются использовать коллективный разум, хотя в обоих случаях эти эксперименты натыкаются на сопротивление со стороны лобби владельцев интеллектуальной собственности. В iTunes архитектура взаимодействия пользователей довольно ограничена, хотя последние нововведения в области поддержки подкастинга несколько изменили положение дел в лучшую сторону.

Все это одна из областей Веба 2.0, в которой мы ожидаем тем больших изменений, чем больше устройств подключено. Какие приложения появятся, когда все наши телефоны и автомобили будут не только потребителями информации, но и ее поставщиками? Мониторинг пробок в реальном времени, флэш-мобы, любительская журналистика - вот только несколько первых ласточек, намекающих нам на возможности новой платформы.

Богатые пользовательские интерфейсы

Еще со времен браузера Viola (1992) у всех на устах слово "апплеты" и прочие способы доставки активного контента через браузер. Появление в 1995 году Java тоже сопровождалось упоминанием апплетов. JavaScript - а затем и DHTML - были представлены публике как простые пути для выполнения приложений на стороне клиента и обогащения пользовательских интерфейсов. Несколько лет спустя Macromedia использовала термин Rich Internet Applications (впрочем, им не гнушалась и Laszlo Systems - разработчик флэш-решений в открытых исходниках), чтобы подчеркнуть возможности Flash не только в области доставки мультимедиа-контента, но и как основы для построения GUI-интерфейсов.

Однако потенциал веба для постройки полномасштабных приложений не принимали всерьез до появления Gmail, за которым последовал Google Maps. В обоих случаях веб-приложения предлагали богатые пользовательские интерфейсы и почти неотличимую от ПК-приложений интерактивность. В одном из своих эссе Джесс Джеймс Гаррет из веб-студии Adaptive Path "окрестил" использованные для этой цели технологии AJAX. Он писал:

Сам AJAX не является технологией. Это несколько вполне самостоятельных технологий, работающих вместе. AJAX включает в себя:

  • обработку стандартов XHTML и CSS;
  • динамическое отображение и интерактивное использование DOM (Document Object Model);
  • взаимный обмен и управление данными посредством XML и XSLT;
  • асинхронное извлечение данных с помощью XMLHttpRequest;
  • и JavaScript, объединяющий все это вместе.

AJAX также является ключевым компонентом таких приложений, как Flickr, приложений от 37signals, Gmail и Orkut (Google). Мы вступаем в беспрецедентный период нововведений в пользовательских интерфейсах, раз уж разработчики, наконец, научились создавать веб-приложения, ничем не уступающие в этом аспекте ПК-приложениям.

Интересно, что многие из новых возможностей, на самом деле, не являются новыми. Еще в конце 90-х гг. и Microsoft, и Netscape понимали, что это достижимо, но их битва привела к несовместимости стандартов. И только после того, как Microsoft выиграла "браузерные войны" и у нас де-факто остался один-единственный стандарт браузера, создание таких приложений стало реальным. Firefox, конечно, возродил конкуренцию на рынке браузеров, но пока что мы не видим разрушительной войны стандартов, которая задержала наше развитие в конце XX века.

В ближайшие несколько лет появится множество новых веб-приложений - как абсолютно новых, так и переделок старых ПК-приложений под веб. Любая смена платформы создает новые возможности для захвата лидирующего положения на рынке, даже если этот рынок казался полностью устоявшимся.

Gmail уже продемонстрировал несколько интересных нововведений в области электронной почты, комбинируя сильные стороны веба (доступность из любой точки, нетривиальные возможности работы с данными, возможность поиска) с пользовательскими интерфейсами, сравнимыми по удобству с ПК-интерфейсами. Между тем почтовые клиенты на платформе ПК усовершенствуются в другом направлении, добавляя в свой интерфейс, например, возможности инстант-мессенджера и датчика онлайнового присутствия. Как далеко зайдут интегрированные клиенты, объединяя лучшее, что есть в e-mail, IM и мобильной телефонии (используя VoIP, чтобы добавить голосовые возможности)? Гонка началась.

Легко увидеть, как Веб 2.0 меняет привычные "адресные книги". Адресная книга для Веба 2.0 использует локальную базу контактов на ПК или телефоне для запоминания тех контактов, которые вы специально отметили для сохранения. Между тем Gmail-подобный веб-агент помнит все сообщения, полученные или отосланные, все адреса, все телефоны и на основе эвристики социальных сетей пытается решить, какие именно альтернативы вам предложить, когда в локальной базе нужного контакта нет. При отсутствии нужного ответа система может задействовать социальную сеть большего масштаба.

Текстовый процессор для Веба 2.0 будет поддерживать совместное редактирование в стиле Wiki. Но кроме этого он же предоставляет широкие возможности форматирования, которое мы привыкли ожидать от ПК-приложений. Writely - хороший пример подобного приложения, хотя мэйнстримом такой подход пока не назовешь.

Но революция Веб 2.0 не ограничивается ПК-приложениями. Salesforce.com демонстрирует, как использовать веб для распространения ПО в качестве корпоративного сервиса (CRM).

Благодаря новым игрокам потенциал Веба 2.0 будет раскрыт полностью. Но успеха добьются те компании, которые не только научатся строить новые интерфейсы, но и (благодаря архитектуре взаимодействия) получат в свое распоряжение совместно подготовленные данные.

Что должны уметь компании в Вебе 2.0

Мы отметили некоторые принципиальные особенности Веба 2.0, но каждый приведенный пример иллюстрировал лишь одни положения, тогда как другие при этом упускались. Давайте попробуем суммировать самые важные моменты для компаний Веб 2.0:

  • недорого масштабируемые сервисы, а не коробочное ПО;
  • контроль над уникальными, сложными для воссоздания источниками данных, которые могут быть обогащены за счет пользователей;
  • отношение к пользователям как к соразработчикам;
  • привлечение коллективного разума;
  • охват "длинного хвоста" за счет самообслуживания пользователей;
  • софт должен работать поверх устройств;
  • упрощенные модели разработки пользовательских интерфейсов и упрощенные бизнес-модели.

И когда вы в следующий раз услышите про Веб 2.0 - сверьтесь с этим списком. Чем больше пунктов выполнено, тем больше компания соответствует концепции Веба 2.0. Впрочем, не стоит забывать, что истинное мастерство в одной из областей может оказаться выгоднее, чем небольшое умение в каждой из семи.

Подходы к проектированию Веба 2.0

Длинный хвост. Маленькие сайты производят большую часть контента; узкие ниши потребляют большую часть приложений. Совет: поощряйте самостоятельность пользователей и обеспечивайте алгоритмическое управление данными со своей стороны - это позволит охватить веб целиком, не только центр, но и края, не только голову, но и хвост.

Данные - это следующий Intel Inside. Приложения все сильнее зависят от данных. Совет: для получения конкурентного преимущества отыщите уникальный, трудный для воссоздания источник данных.

Ценность, принесенная пользователями. Ключ к успешной конкуренции на рынке интернет-приложений - обогащение собственных данных силами пользователей. Совет: не ограничивайте свою "архитектуру взаимодействия" разработкой софта. Явно и неявно вовлекайте пользователей в процесс улучшения вашего приложения.

Сетевые эффекты по умолчанию. Немного найдется пользователей, которые по собственной инициативе станут вам помогать. Совет: сделайте так, чтобы обогащение ваших данных было побочным эффектом использования приложения.

Some Rights Reserved. Защита интеллектуальной собственности ограничивает повторное использование и препятствует экспериментам. Совет: если бенефиты обеспечиваются совместным использованием, обеспечьте настолько слабую защиту вашей ИС, насколько это возможно. Проектируйте с учетом "улучшабельности" и "переделываемости".

Бесконечная бета. Когда устройства и программы подключены к Интернету, приложения перестают быть артефактами и превращаются в сервисы. Совет: не пытайтесь упаковать новые свойства в релиз, вместо этого добавляйте их по мере готовности в текущую версию. Сделайте из своих пользователей тестеров, способных откликнуться в реальном времени, и следите за их реакцией.

Кооперация вместо контроля. Приложения Веба 2.0 построены как сеть сервисов, работающих совместно. Совет: открывайте интерфейсы веб-сервисов, обеспечьте синдикацию контента и используйте чужие веб-сервисы, если это нужно. Используйте упрощенные модели для программирования для построения свободно-связанных систем.

Программы работают поверх устройств. ПК больше не являются единственным устройством, на котором могут выполняться интернет-приложения, а приложение, ограниченное одним устройством, менее ценно, чем его универсальный конкурент. Совет: проектируйте приложение так, чтобы оно могло работать поверх карманных устройств, ПК и интернет-серверов.

- Из журнала "Компьютерра". Перевод Натальи Казаковой. Публикуется с любезного разрешения автора. Источник.

© ООО "Компьютерра-Онлайн", 1997-2024
При цитировании и использовании любых материалов ссылка на "Компьютерру" обязательна.