К примеру, если мы говорим о сетевой идентификации пользователей, то Paypal, Amazon 1-Click и миллионы пользователей систем связи вполне могут считаться соперниками. (В этом смысле последняя инициатива Google, разрешившего подтверждать аккаунты на Google с телефона, выглядит как попытка расширить свою базу за счет телефонных систем.) С другой стороны, есть такие стартапы, как Sxip, сделавшие ставку на интегрированную личность (см. статью Берда Киви в этом номере. - В.Г.) и пытающиеся создать распределенное и простое решение, на основе которого можно будет построить единую подсистему для всего Веба 2.0. На рынке календарных справочников есть EVDB, пытающийся на базе wiki-подобной архитектуры построить крупнейший совместно пополняемый календарь. И хотя сегодня еще рано делать прогнозы, очевидно, что к появлению приложений нового поколения приведут те стандарты и решения, которые позволят эффективно обратить определенные классы данных в надежные подсистемы «операционной системы Интернета».

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

Как успех проприетарного софта привел к рождению движения Free Software, так и усиление роли проприетарных БД уже в следующем десятилетии приведет к рождению движения за Свободную Информацию. Ранние проявления этой тенденции можно увидеть уже сейчас, в таких проектах, как Wikipedia, лицензии Creative Commons, или в программистских проектах типа Greasemonkey (дает пользователям возможность определять, как именно будут отображаться данные на их компьютерах).

Архитектура взаимодействия

Некоторые системы спроектированы для усиления взаимодействия. Существует три способа создания большой БД. Первый - платить людям за ее составление (Yahoo!). Второй - набрать для той же задачи добровольцев (open-source-проекты). Третий путь открыл Napster. В клиенте Napster по умолчанию загруженная песня была доступна для скачивания другими пользователями сети. Таким образом, каждый пользователь Napster увеличивал ценность распределенной БД. Потом эта же схема была повторена в других P2P-сервисах.

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

Удачная архитектура, возможно, даже больше повлияла на успех открытого софта, чем упомянутые добровольцы. Архитектура Интернета и веба (как и архитектура открытых проектов) такова, что вынуждает нас автоматически повышать их ценность во время использования. У каждого из таких проектов - небольшое технологическое ядро, четкие механизмы расширения и подход, позволяющий любому человеку добавлять новые компоненты, наращивая новые слои «луковицы».

Другими словами, эти технологии демонстрируют сетевые эффекты, просто потому, что они так спроектированы.

Такую архитектуру взаимодействия можно назвать естественной. Но как показал пример Amazon, последовательные усилия (а равно и экономические стимулы - например, партнерская программа) могут создать подобную архитектуру и в системе, которой при обычных условиях это не свойственно.

Конец цикла разработки ПО

Одной из главных характеристик современных интернет-приложений является то, что они распространяются в виде сервиса, а не товара. Это, в свою очередь, ведет к фундаментальным изменениям в бизнес-моделях компаний-разработчиков.

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

Также не случайно, что скриптовые языки - Perl, Python, PHP, а теперь еще и Ruby - играют в жизни компаний Веба 2.0 столь важную роль. Первый вебмастер Sun Microsystems Хасан Шрёдер (Hassan Schroeder) как-то назвал Perl «скотчем Интернета».

Скриптовые языки (презираемые программистами эры софтверных артефактов) - это естественный выбор для системных и сетевых администраторов, поскольку разработчики создают динамические системы, требующие постоянного изменения.

Пользователей нужно воспринимать как соразработчиков - как, например, принято при разработке открытого софта (даже если само ПО вряд ли будет выпущено под открытой лицензией). Максима открытого софта - «выпускай релизы раньше и чаще» - теперь формулируется еще жестче: «бесконечная бета-версия». Программы обновляются ежемесячно, еженедельно и даже ежедневно.

Не случайно на логотипах таких проектов, как Gmail, Google Maps, Flickr, del.icio.us и т. п., словечко «beta» может висеть годами.

Отслеживание поведения пользователей в реальном времени позволяет видеть, какие новые свойства используются и как они используются - и это еще одна ключевая составляющая успеха технологии. Веб-разработчик одного из раскрученных сетевых сервисов отмечает: «мы добавляем два-три новых свойства в разные части сайта каждый день, и если пользователям они не нравятся - мы отказываемся от этих нововведений. Если нравятся - внедряем на всем сайте».

Кэл Хендерсон (Cal Henderson), главный разработчик Flickr, недавно рассказал, что новый билд Flickr появляется каждые полчаса. Это совершенно другая модель разработки! И хотя пока не все веб-приложения разрабатываются с такой экстремальной скоростью, почти у всех цикл разработки радикально отличается от всего, что было в эпоху ПК или клиент-серверов. По этой причине редакторы Zdnet даже пришли к выводу, что Microsoft не удастся победить Google: «бизнес-модель Microsoft построена на предположении, что пользователь обновляет свое компьютерное окружение раз в два или три года. Google же зависит от того, что новенького обнаружит пользователь в своем компьютерном окружении сегодня».

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

Упрощенные модели программирования
Журнал «Компьютерра» №38 - pic_61.jpg