Сам 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 построены как сеть сервисов, работающих совместно. Совет: открывайте интерфейсы веб-сервисов, обеспечьте синдикацию контента и используйте чужие веб-сервисы, если это нужно. Используйте упрощенные модели для программирования для построения свободно-связанных систем.
Программы работают поверх устройств
ПК больше не являются единственным устройством, на котором могут выполняться интернет-приложения, а приложение, ограниченное одним устройством, менее ценно, чем его универсальный конкурент. Совет: проектируйте приложение так, чтобы оно могло работать поверх карманных устройств, ПК и интернет-серверов.
ФМ-ВЕЩАНИЕ: Смена ориентации
Некоторые из моих старых московских и региональных знакомых, давно занимающихся перепродажей коробочного софта конечным клиентам, последние год-два начали жаловаться на резкое падение реальных доходов, несмотря на постоянный подъем общих оборотов. И в тендерах стало участвовать больше компаний, и демпинг конкуренты устраивают. Клиенты предпочитают все чаще отовариваться в Москве, чем в регионе, видимо, по привычке к всеобщей централизации - в центре и сок натуральнее, и шоколад слаще. Маржа на некоторые программы (особенно от Microsoft) упала до 1-2%. Производители программ стали, в свою очередь, сокращать длинную цепочку перепродавцов, ведя целенаправленную политику сортировки дистрибьюторских и дилерских сетей. На вендорских партнерских конференциях начали появляться термины: «правильный дистрибьютор», «правильный реселлер».
Выход, конечно, нашелся. Пора начать добавлять стоимость к продаваемому софту в виде услуг по его установке и сопровождению, созданию комплексных проектов по безопасности и т. д. Собственно, открытия в этом никакого нет. Системные интеграторы и франчайзи «1С» жили так изначально. Одни зарабатывали в основном на проекте и продаже железа, добавляя продажу софта как дополнительную стоимость; другие зарабатывали на услугах, связанных с обучением и внедрением «1С». То есть пора сменить профессиональную ориентацию с ранее беспроигрышного перемещения к клиенту и продажи ему коробки с софтом (box-moving) на оказание ему услуг (VAR - value added reseller). Вендоры начали вводить специальные партнерские категории. К примеру, у Microsoft такая категория называется «партнер по управлению лицензиями».
Но оказалось, что к зарабатыванию денег на открывшемся безграничном пространстве нестройная армия нескольких тысяч фирм (стоит только заглянуть в компьютерный справочник), как всегда, была совершенно не готова. Почему безграничном? Потому, что в отличие от ситуации за рубежом, которая описанна в книге Карра, обсуждаемой в последнее время в прессе, наш бизнес явно не стал заложником IT. Мы еще от компьютеризации к автоматизации до конца не перешли, куда уж нам заложниками становиться. Реально работающих автоматизированных систем очень мало. Дальше изымания денег за проект и установку сети из компьютеров многие компьютерные фирмы и не проходили. Ни в коем случае не хочу обвинять всех поголовно. Конечно, есть много компаний, давно и прочно обосновавшихся на рынке услуг. Они-то раньше всех и начали учить сотрудников. Но по-прежнему, особенно в регионах, можно наблюдать бегающих по городу умельцев-дилетантов, которые за небольшую мзду почистят ваши компьютеры от вирусов, восстановят данные, поадминят сеть и подключат к Интернету. Есть, конечно, IT-службы в крупных коммерческих компаниях, но и тут не все безоблачно. CIO бродят с места на место, поднимая себе зарплату, а за плечами оставляя компьютерную сеть на сотню посадочных мест, в которой сотрудники и сотрудницы вместо «Лексикона» теперь гордо используют Word, Excel и Internet Explorer.