Web 2.0, или «Паутина» второй редакции, пререлиз

9 март, 2006 - 00:00Андрей Зубинский

Специалисты в области IT давно известны умением на удивление неудачно придумывать названия для самых разных объектов из своей прикладной области. Но и инфернальная терминология операционной системы Inferno, и допускающее самые нелепые переводы название ОС Bluebottle – детский лепет по сравнению с предметом нашей нынешней беседы...

Раз уж мы начинаем разговор о Web-технологиях, давайте сразу определимся, что означает и чем не является современная Сеть (в смысле – Web). Такой описательный прием выбран автором по той причине, что предмет обсуждения одновременно характеризуется как колоссальными масштабами его технологической составляющей, так и совершенно неизученными и изменяющимися со слишком большой скоростью характеристиками социальной подсистемы. А это означает – с системой подобного уровня сложности надо быть крайне щепетильным, и чем больше деталей будет учтено в попытке ее определения, тем лучше.

Итак, термину Web разные энциклопедии и словари дают следующее усредненное толкование: «Глобальное информационное пространство, образованное связанными ссылками гипертекстовыми документами, основанное на физической инфраструктуре Интернет и протоколах передачи данных этой сети, непрерывно эволюционирующее». Давайте сразу отметим, что социальная подсистема в приведенном собирательном определении (оно формировалось на основе материалов Википедии, Microsoft Computer Dictionary и Энциклопедии информатики и информационных технологий, Idea Publishing) присутствует исключительно в неявной форме – подразумевается, что кто-то (или что-то) создает и эти самые гипертекстовые документы, и физическую инфраструктуру, и наконец, – протоколы. Куда интереснее и подробнее перечень того, чем Web не является. Кстати, он получается очень обширным даже при фактически той же степени детализации, что и определение.

Web 2.0, или «Паутина» второй редакции, пререлиз
Web как платформа в действии – текстовый редактор Writely обладает вполне приемлемой для повседневной работы функциональностью

Во-первых, для глобального информационного пространства Web, несмотря на наличие ссылок между образующими его документами, принцип навигации не является фундаментальным. Что это означает на деле? Прежде всего то, что Web не имеет четко определенной структуры. Да, существуют порталы с их каталогизированными иерархическими тематическими коллекциями ссылок, по сути являющихся овеществлением принципа навигации. Да, есть поисковые машины, позволяющие сравнительно сносно искать нужные документы на основании простых критериев. Но все вышеперечисленное – надстройки, а не фундаментальные принципы (или, точнее, механизмы, основанные на этих принципах) самой Web.

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

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

В-четвертых, специфика документов Web не основывается на фундаментальном принципе независимости доступности документа от характеристик запрашивающего к нему доступ. Иными словами, библиотекари выдают нормальные документы всем голубоглазым блондинам, кареглазому же брюнету документ выдается таким, что прочесть его можно, только изрядно помучившись, и то не весь. Голубоглазые блондины Web – это ПК и ноутбуки с высоким разрешением экрана, а кареглазые брюнеты – различные КПК и прочие «неформатные» (в смысле экранного разрешения) устройства. Фактически только из-за низкого сочетания разрешения экранов с популярностью «неформатных» вычислителей и коммуникаторов в гигантской Web приходится создавать отдельную, оптимизированную под специфику устройств доступа, под-Web.

Итак, некоторое определение, не претендующее на полноту, но все же намного более детальное, чем лаконичные несколько строк, мы получили. Но речь-то идет о Web 2.0, а не о «просто Web». Как ни странно, но шутливо-абсурдное определение напрашивается сразу, и оно – далеко не худшее из тех, что автору пришлось прочесть, готовя эту статью: если Web – это... (начиная со второго абзаца и далее), то Web 2.0 – то же самое, только версии 2.0. Понятно? Безусловно, непонятно. И не переживайте, не только вам. Из-за этой непонятности уже не один год продолжаются мощные словесные баталии, в которых активно участвуют такие гранды, как, например, Тим О'Рейли. Интересно, что участвующие в баталиях противоборствующих сторон не образуют – ведь тут ведется борьба тех, кто утверждает, что Web 2.0 – «это что-то такое вот... ну такое... и даже оно вот состоит из...», с теми, кто спрашивает, но почти о том же самом – «да какое же оно такое... ну какое такое... если и раньше из того же самого состояло?..». Так что давайте попробуем понять и первых, и вторых, и, наконец, эту таинственную Web 2.0.

Невнятно о непонятном

Именно так, как называется этот раздел статьи, написаны многочисленные толкования Web 2.0. Забавно, что и своему рождению (родителями были уже упомянутый Тим О'Рейли и Дэйл Дагерти, один из пионеров Web) термин обязан весьма смутным аналогиям между Web 1.0 и Web 2.0, отражающим как бы результат эволюционного и революционного развития Web (революционного – из-за «взрывного» характера дотком-кризиса):

  • персональные сайты – блоги;
  • спекуляция доменными именами – поисковая оптимизация;
  • оплата рекламы по количеству показов – оплата рекламы по количеству переходов;
  • извлечение данных из HTML – Web-сервисы;
  • публикация – соавторство;
  • системы управления контентом (CMS) – Wiki;
  • каталоги (таксономия) – теги (фолксономия);
  • удержание пользователей – синдикация контента.

«Смутность» этих аналогий заключается не столько в сложности объяснения причинно-следственных связей (например, из чего следует, что новомодные Web 2.0 механизмы информационных тегов являются как бы продолжением механизмов каталогизации Web 1.0, совершенно непонятно), сколько в том, как элегантно сам Тим О'Рейли сформулировал принцип классификации «Но почему мы отнесли одно приложение к Web 1.0, а второе – к Web 2.0? (Это важный вопрос, поскольку... С другой стороны – это сложный вопрос, потому что...) Анализируя наиболее успешные проекты Web 1.0 и самые интересные новые приложения, мы попытались выделить основные принципы Web 2.0». Вы не заметили? Сначала как-то строится список аналогий, затем, на основании этого списка, предпринимается попытка понять, по каким принципам он строился, после чего принципы построения списка объявляются принципами построения системы мирового масштаба. Смутно? Мягко говоря, смутно. И все-таки будем пробиваться дальше...

Выявленные авторами концепции «второй версии Сети» принципы Web 2.0 таковы:

  • Web 2.0 – это платформа;
  • Web 2.0 – это механизм использования коллективного интеллекта;
  • Web 2.0 – это ориентированная на работу с данными система;
  • Web 2.0 – это отказ от традиционного цикла реализации программного обеспечения;
  • Web 2.0 – основанная на «легковесных» программных моделях система;
  • программная пользовательская подсистема Web 2.0 преодолевает традиционный барьер «привязанности» к конкретным и традиционным аппаратным средствам.

Пока не вдаваясь в пояснение каждого принципа, давайте заметим самое, пожалуй, смешное несоответствие между основами Web 2.0 и, собственно, названием Web 2.0. А именно, Web 2.0 принципиально отказывается от традиционного цикла реализации программного обеспечения. Не смешно? А если так: «В версии 2.0.197.4 мы принципиально отказались от традиционного цикла реализации ПО»? Впрочем, шутки шутками, а теперь перейдем к рассмотрению каждого принципа.

Идея «Web – это платформа» новизной, мягко говоря, не отличается. Но в отличие от предшественников идеология Web 2.0 объясняет ключевую роль этой идеи без излишней политкорректности: платформа всегда побеждает приложения, разработчики платформы всегда побеждают создателей приложений. Правда, Тим О'Рейли в качестве демонстрации справедливости данного утверждения приводит всего лишь один пример – естественно, Microsoft. Как быть с канувшими в Лету знаменитыми платформами от DEC (VMS), Atari (Amiga) и прочими, совершенно непонятно. Ну и бог с ними. Детализируя принцип «Web – это платформа», мы вторгаемся в зону повышенной непонятности с красивым названием Ajax. Доподлинно известно, что Ajax – это одновременно и не технология, и базис платформы Web 2.0, и сокращенная аббревиатура, образованная от совершенно непригодного к частому употреблению «Asynchronous JavaScript+CSS+DOM+XMLHttpRequest». Считающееся признанным определение Ajax звучит следующим образом: «Это не одна технология, а такое сочетание нескольких отработанных технологий, при котором их лучшие свойства используются по-новому. Ajax включает в себя:

  • основанный на стандартах XHTML и CSS презентационный механизм;
  • динамические механизмы отображения и взаимодействия на основе DOM (Document Object Model);
  • обмен данными и их обработку с использованием метаязыка XML;
  • механизм асинхронной доставки данных;
  • механизм JavaScript, объединяющий все перечисленное в единую подсистему».
Web 2.0, или «Паутина» второй редакции, пререлиз
Компании, создающие Web второго поколения

Объявленное принципиальным отличие Ajax-системы от традиционной Web 1.0, заключается в том, что между пользователем и сервером возникает Ajax-прослойка, как поддерживающая асинхронное взаимодействие с сервером, так и берущая на себя часть функциональности. Что в этом действительно принципиального при учете того, что Ajax не является фиксированным на уровне API стандартом, сказать трудно. К счастью, существуют овеществления Ajax, среди которых даже реализации с открытыми исходными текстами, так что есть возможность попробовать «живые» Ajax-продукты, созданные, например, на основе инструментального набора Ajax (AjaxTK) компании Zimbra. По сути, AjaxTK – это набор реализованных на JavaScript весьма традиционных на сегодняшний день механизмов, в перечне которых, пожалуй, выделяется довольно развитый набор примитивов пользовательского интерфейса (виджетов), что позволяет инкапсулировать в html-документы описания интерфейсов. Что в этом нового – сказать очень трудно, потому как еще в 1992 г. был разработан браузер Viola, способный не просто загружать и исполнять аплеты, а поддерживающий мощную объектную среду их исполнения и асинхронные механизмы сообщений между объектами. Впрочем, в Ajax действительно важна отнюдь не технологическая новизна, как и во всей идее Web 2.0. Значительно важнее то, что ключевая идея Ajax «Web – это платформа, а владеющий платформой всегда побеждает владеющего приложениями» стала играть роль связующего в построении многообещающих альянсов. Например, инициатива «открытой Ajax» положила начало образованию альянса, в который входят Zimbra, IBM, Google, Oracle, Yahoo, Red Hat, Borland и Bea. И это уже принципиально отличает Ajax от передовых разработок, обогнавших свое время (Viola).

Не исключено, что возможности таких участников альянса позволят довести Ajax до уровня де-факто стандарта – а это уже серьезно изменит и современную Сеть.

Web 2.0 как механизм использования коллективного интеллекта – пожалуй, самый интересный принцип, заслуживающий пристального внимания. Его обсуждение мы начнем с неприятного известия для любителей ехидно козырнуть знанием фразы «миллион леммингов не ошибается». В книге «Мудрость толп» (The Wisdom of Crowds) Джеймс Суровецки (James Surowiecki) вполне убедительно показал на ряде примеров, как большие группы людей оказываются сообразительнее и умнее, чем ярчайше одаренные представители элит. С взрывным ростом популярности блогов и различных коллективно ведущихся порталов, справочников и энциклопедий неявно описанная социальная подсистема современной Web претерпела колоссальную трансформацию. Если раньше в ней царил принцип «контент для всех формируется избранными», то сейчас создание контента доступно фактически любому пользователю. Сравните, к примеру, коллективно ведущийся портал Open Directory Project (dmoz.org) с Yahoo или Википедию с онлайн-версией энциклопедии Britannica. Такая социальная открытость Web 2.0 – пожалуй, самое ценное, что можно «выудить» из многочисленных обсуждений механизма коллективного интеллекта. Многие специалисты вообще считают социальную открытость самым большим и по-настоящему первым революционным событием в истории Web. И их можно понять – пока социальная система Web базировалась на принципе «элита формирует контент», Web фактически являлась аналогом традиционной системы создания-распространения-потребления печатных газет, отличаясь разве что беззатратностью процессов тиражирования и скоростью распространения. Однако публичная доступность механизмов создания контента в Web 2.0 поддержана и новыми механизмами его распространения, в первую очередь – RSS. Сочетание блогов и RSS-механизма сформировало феномен Web 2.0 – эта Сеть уже соединяет не документы с помощью гиперссылок, а людей с помощью RSS. Одновременно изменяется и культура потребления информации. Если в прежние времена она основывалась на парадигме пассивной загрузки информации пользователем, то сейчас можно говорить об активной роли чуть ли не всех участников процесса информационного обмена. Примеров тому множество – большинство читателей наверняка следили за какой-нибудь самоорганизующейся онлайн-акцией, основанной на идее ремиксов, или сами участвовали в ней (когда базовый текст или изображение многократно «обыгрывается» участниками). Оценивая происходящее на уровне всей социальной подсистемы, можно говорить о том, что ее архитектура с появлением Web 2.0 изменяется от потребительской к кооперативной. К чему это приведет в далекой перспективе, очень трудно предположить, но уже понятно и очевидно, что этот процесс распространяется за пределы Web. Так, традиционные системы отношений между, например, журналистом и читателем с активизацией деятельности в блогосфере начинают изменяться. Кстати, само слово blogosphere является доказательством таких «возмущений» реальности, вызванных изменениями в виртуальном мире.

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

Принцип легковесности программных моделей Web 2.0, несмотря на «страшное» название, является элементарной данью здравому смыслу. Иначе его можно назвать так: если пользователь имеет возможность выбирать одно из нескольких средств, одинаково успешно решающих его задачи, он выберет самое простое. Удивительно, что для придания этому принципу статуса основополагающего потребовалось столько лет и сломанных копий. Причем не работают никакие сторонние оценки сложности – то, что выбрал пользователь, оказывается проще на самом деле (ох уж эти миллионы леммингов...). Примеров тому множество, но лучшие из них дает изучение масштабных систем. Так, опыт Amazon.com показал, что 95% бизнес-партнеров компании предпочли реализацию крайне простой архитектурной концепции REST также несложным (более точно – позиционировавшимся как простые) механизмам SOAP. То же самое можно сказать и о реактивном росте популярности RSS.

Принципы ориентации Web 2.0 на работу с данными и преодоления барьера «привязанности» к конкретным и традиционным аппаратным средствам, по большому счету, можно объединить. Потому что первый принцип (в технологической его составляющей), по сути, означает массовый отказ от хранения контента в виде статических документов, что и позволяет на лету формировать из данных описание отображения контента, пригодное для любого типа запрашивающих устройств. В этом также нет ничего нового за исключением, пожалуй, слова «массовый».

Так вот ты какой, Web 2.0

Итак, наступила пора дать более или менее внятное объяснение тому феномену, который получил такое неудачное имя. Во-первых, о самом имени. Жаль, конечно, но менять его уже поздно. Поэтому, чтобы не путаться, попробуйте приучить себя читать «Web 2.0» как «Web второго поколения». На первый взгляд вроде бы безграмотно, зато хоть смысл не страдает. Во-вторых, давайте проанализируем все сказанное выше и выделим в нем самое главное. Все программные средства Web 2.0 далеки от новизны – это факт. В их взаимодействии, конечно, есть что-то новое, но не настолько принципиальное, чтобы акцентировать на нем внимание. Главное в Web 2.0 – фундаментальные изменения в социальной составляющей, трансформация архитектуры социальной подсистемы из потребительской в кооперативную. Вот с них-то и нужно начинать понимать Web 2.0. Все остальное здесь вторично и на самом деле подчинено именно этим изменениям. Вы спросите – кем подчинено? Ответ очевиден – подчинено пользователями, теми самыми толпами (crowds) пользователей, которые являются последними беспристрастными судьями для любой технологии и любого продукта. Пользователи выбрали свободу общения и обмена информацией в блогосфере – и их выбору подчинена блогосфера вместе со всеми производителями аппаратно-программных средств, участвующих в ее формировании. Не верите? На самом деле такое подчинение уже принимает абсолютно явные формы – Sun бесплатно поставляет блогерам, посвятившим свои блоги технике Sun, собственные серверы. И это не задабривание и даже не реклама – это игра в новых условиях по новым правилам.

Теперь можно и описать эту непонятную «Web второго поколения» в более или менее внятном стиле краткого описания «просто Web», приведенного в начале статьи: Web 2.0 – это глобальное информационное пространство, формируемое коллективным интеллектом социально открытого объединения людей, использующего в качестве платформы любые персональные аппаратно-программные средства и наиболее простые и соответствующие решаемым задачам механизмы Web.

Дистанция, отдаляющая механический характер Web от практически сугубо социального характера Web 2.0, действительно огромна, но насколько она важна? Что делает Web 2.0 Событием (именно так – с большой буквы)? Ответ на этот вопрос прост – то же самое, что делает любое событие – Событием. Мнения, ожидания, впечатления людей. Многих людей. Сотен миллионов людей. Конечно, вы можете сделать вид, что ни Web 2.0, ни этих людей не существует, а есть лишь «маркетинговые штучки», вы можете презрительно цедить мантру «миллионы леммингов не ошибаются», все это – пустое. Коллективный разум Web второго поколения вашим мнением не заинтересуется. По крайней мере, до тех пор, пока вы не признаете факт его существования и не станете его частью.