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

Богатые пользовательские интерфейсы
Журнал «Компьютерра» №38 - pic_62.jpg

Еще со времен браузера 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

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

Бесконечная бета