Jul 25, 2007 13:34
В последнее время стали крайне популярными сервисы так называемого WEB 2.0, никто толком не знает что это такое, но все уверены, что это страшно круто и что без цифр 2.0 в интернете делать (во всех смыслах) уже нечего. Вообще в современном киберпространстве сложилась крайне любопытная (если не сказать - парадоксальная) ситуация. Если проанализировать основные популярные ресурсы, то можно найти у них некоторые общие черты и самая первая из них - примитивизм (если не сказать убогость) функционального наполнения. Причем количество сервисов на иных сайтах просто огромно, но среди них обычно нет ни одного качественного: ужаснейшим образом масштабированные аватары, ошибки в формах ввода почтовых и электронных адресов, делающие невозможным их использование, отсутствие человеческого (а частенько и вообще любого) поиска и многое тому подобное. Часто вся эта куча кривых скриптов сгруппирована или названа абсолютно неудобоваримым образом, делая трудновыполнимыми элементарные операции с ресурсом. Даже дизайн некоторых из этих «порталов» заслуживает исключительно непечатных выражений.
Я хочу сразу предостеречь аудиторию от поспешных выводов и спешу сообщить, что сам я не отношусь ни к web-разработчикам, ни к дизайнерам. Но в то же время я принимаю непосредственное участие в становлении информационного пространства - я прикладной программист консервативных настольных систем (в последнее время занимаюсь также и корпоративными web-приложениями, так что в курсе всей подноготной) и смотрю на эволюцию веба большей частью как простой пользователь. В то же время я прекрасно ориентируюсь в программировании и алгоритмизации, представляю себе реальную сложность той или иной задачи и прошу не воспринимать данную статью как брюзжание очередного несостоявшегося "покорителя интернета". Мотивом же, побудившим меня взяться за перо, стало постепенное наступление web-технологий на мою территорию - десктоп. И я вынужден признать, что мне это очень не нравится.
Для того чтобы лучше понять мою позицию, вернемся на десять лет назад. Интернет тогда уже окончательно освободился от военных оков и представлял собой не голую среду передачи пакетных данных, а инструмент для обмена информацией вполне «человеческого» характера. Рядовой интернетчик тогда ходил по информационным ресурсам, которые ставили перед собой задачу донести до него ту или иную информацию. То, что мы сегодня называем вебом, было чем-то вроде сильно разрозненной базы знаний, причем база эта была преимущественно статическая. Интерактивные сервисы располагались за его (веба) пределами и были представлены определенным набором программного обеспечения, реализующего тот или иной протокол взаимодействия с внешним миром. В качестве примера такого приложения можно назвать еще не до конца забытые почтовые клиенты (а ведь широко использовались и специализированные клиенты для чатов, чтения новостей, навигации по удаленным файловым хранилищам и многие другие). Все эти сервисы поддерживались на плаву как правило довольно квалифицированными специалистами, что накладывало определенный отпечаток и на потенциальных потребителей данных услуг: они большей частью были умны, дисциплинированны и хоть немного понимали с чем имеют дело.
Однако «аппетит приходит во время еды», и в определенный момент некоторые из простых пользователей решили, что не пристало им только созерцать и принялись создавать сначала робкие и смешные домашние странички-визитки, а потом и более сложные системы преимущественно развлекательного характера. Отличительной особенностью этих проектов был штучный дизайн и обилие графических элементов в оформлении и наполнении, а также зачатки коммерциализации. Владельцы этих ресурсов во главу угла, как правило, ставили не информацию, а внешнюю привлекательность и ориентированность на массы. Отчасти благодаря им, на тот период приходится и рост доступности и скорости доступа в интернет, из-за чего в него хлынуло большое количество людей, уже не имеющих никакого представления об информационных технологиях. Этот поток был как нельзя кстати для хозяев таких развлекательных и коммерческих сайтов и на волне роста популярности они быстро и легко брали семизначные займы «на развитие» (потому что инвесторы тоже только что дорвались до новой игрушки и дружно закричали «хочу!»). Результатом этих событий стал стремительный перегрев рынка и мощный коллапс большой части интернет-бизнеса - знаменитый «крах доткомов», основательно и надолго подорвавший доверие инвесторов к самой идее бизнеса в Сети.
Кризис сильно поохладил также и пыл проповедников нового порядка и некоторое время казалось, что интернет вернется в свое изначальное состояние, но с некоторыми поправками на значительно возросшее количество праздношатающейся публики. Однако под руинами рынка были похоронены далеко не все «стартапы». Некоторым из них удалось не только устоять на своих двоих, но и подгрести под себя еще несколько «тушек» своих менее удачливых конкурентов и/или компаньонов, превратившись таким образом в сильные «концентраторы зрительского внимания», они и начали новую эпоху. Именно на основе анализа общих черт этих web-проектов несколькими годами позже и была сформирована (если это слово вообще уместно) концепция WEB 2.0.
Некоторое время развитие интернет-сервисов шло преимущественно экстенсивным путем - появлялись в основном только новые завлекаловки для публики. Этот процесс был вполне закономерным, однако именно он нанес первый удар по здравому смыслу и адекватности сетевого сообщества. Дело в том, что волна стартапов вынесла на берег «нового интернета» далеко не интеллектуальную элиту человечества. Вся эта масса в силу разных причин оказалась категорически не готова принимать сложившиеся ранее правила игры и требовала от интернета понятных для себя сервисов. А так как примерно в то же время рекламодатели наконец разглядели в лице веба хорошую площадку для своей деятельности, при помощи нехитрого инструментария вся эта бесхозная толпа могла быть довольно просто превращена в живые деньги (чем поначалу и кормился огромный лагерь нового вида интернет-паразитов). Таким образом спрос породил адекватное предложение: появились непрерывно тормозящие и при этом жрущие трафик мегабайтами веб-чаты, вошли в широкий обиход (где можно и где нельзя вытеснив настольные клиенты) веб-интерфейсы к почтовым сервисам, наросли как грибы после дождя форумы с бестолковыми анимированными смайлами (и малолетними смайл-флудерами в каждой ветке) и многое другое, положившее начало некоторой деградации веба. В прочем, несмотря на очевидные отрицательные тенденции все могло быть вполне сносно (вам «чмоки-поки» в веб-чатах, нам Usenet/IRC и можно жить в мире), если бы в определенное количество горячих голов не ударила м… мысль о полной самодостаточности веба как платформы для обработки информации. Конечно, если учесть устойчивую аллергию на интернет у подавляющего большинства «богатых дядюшек», все могло просто погибнуть в зародыше. Но не обошлось… Уж очень кстати оказалась и новоиспеченная концепция - инвесторам быстренько навешали лапши про «новую эпоху», рассказав что 2.0 это намного (как минимум в два раза) круче чем 1.0, и что теперь уж точно бояться нечего. И начали как грибы после дождя появляться проекты, гордо несущие знамя с цифрами 2.0, но в тоже время без каких-либо принципиальных отличий от старых добрых «стартапов» образца 2000-го года.
Я пока не буду акцентировать внимание на критериях принадлежности к «элите» (об этом ниже), но хочу довести-таки до читателя скрытую (и основную) идею концепции. WEB 2.0 - это не технология, это маркетинг. Просто новая красивая обертка, для в общем-то старых и давно известных вещей или их новых неуклюжих аналогов. Изобретенный заново велосипед, если угодно. Ничего не ново под Луной, и в этом не было бы никакой беды, если бы не одно «но», которое лежит как раз в области технологий.
Техническая база оказалась категорически не готова к тем сервисам, которые требовались для ношения гордого имени. Изначально протокол HTTP и язык разметки HTML разрабатывались для того веба, который был десять лет назад, в них просто-напросто не закладывались возможности, требуемые «новой эпохой». Сама сущность языка разметки и принципы взаимодействия браузера и сервера заведомо ставят жирный крест на любую попытку приблизиться к примитивному майкрософтоскому Paint Brush, не говоря уже о чем-нибудь более функциональном. Кроме того, просто похабно написанные стандарты HTML, допускающие разные трактовки конструкций, провоцировали проблемы совместимости браузеров. Отсутствие формализации сессии, разные диалекты JavaScript (который сам по себе уже был первым костылем, подпирающим ущербную сущность веба как программной платформы), появление в браузере от Microsoft языка VisualBasic Script, разная трактовка стандартных и разные наборы расширенных тегов породили настоящий бардак. Жалкие попытки w3org хотя бы частично прекратить безобразие путем перехода на XHTML в итоге бесславно разбились о твердые лбы огромного количества новоиспеченных веб-девелоперов.
И это самое печальное - такое положение дел в совокупности с упомянутой выше потребностью в массовых примитивных сервисах породили новое поколение разработчиков. Так называемых «программистов», для которых непосильной является задача сортировки списка, которые уже просто физически не способны понять смысл слов «тип данных», которые стремятся забиться в самый дальний угол комнаты, если кто-нибудь вдруг упомянет об ООП. Я же не говорю про ассемблер и таблицу прерываний, не требую от всех этих людей знание основ модели OSI (хотя как раз им она и не помешала бы), речь идет об общеотраслевых принципах, к которым человечество шло шестьдесят лет! А новое поколение вот так просто пришло и сказало «мы этого вашего ООП не понимаем» и активно занялось отбрасыванием целой отрасли на сорок лет назад.
Тут я в первую очередь имею в виду тех, кто для ваяния своих «шедевров» использует поистине шедевральный инструмент - PHP. Любой традиционный программист после детального знакомства с ним начинает ругаться матом и спрашивать как на этом можно вообще хоть что-нибудь написать? Как можно всерьез воспринимать инструмент, который даже в таком тривиальном действии как поиск вхождения подстроки ведет себя непредсказуемо? А виновато тлетворное влияние всех тех вольностей, которые царили ранее и царят поныне в HTML и JavaScript. Результатом использования таких средств, постоянно ставящих палки в колеса разработчику, отчасти и является все то убожество, которое мы вынуждены каждый день наблюдать на просторах веба. Невозможно на базе таких технологий создавать полнофункциональные аналоги пристойных настольных приложений, принципиально невозможно.
Отчасти эту проблему осознавали и апологеты нового порядка, однако либо инерция мышления, либо страх остаться со своими идеями на обочине прогресса, не позволили им принять волевое решение и попытаться создать что-либо действительно пригодное. Вместо этого они начали пачками плодить заплатки на голую задницу веба в виде AJAX, DOM и тому подобных припарок, которые хоть и скрасили общую убогость платформы, но превратить ее во что-то удобоваримое так и не смогли (повысив попутно «цену билета» в «современный веб» как минимум на порядок). Вместо каких-либо действенных мер по приведению возможностей веба как программной платформы хотя бы до уровня DOS, его конструкторы стали пачками изобретать велосипеды и плодить бредовые "атрибуты вебдванольности" (или это только мне кажутся бредовыми понятия типа "дизайн в стиле WEB 2.0" или обязательное наличие блога и RSS-ленты?).
О некоторых из этих признаков хотелось бы высказаться особо, уж больно накипело. У меня после очередного знакомства с очередной "технологией" из арсенала вебдванольщиков возникло устойчивое ощущение, что среди них нет ни одного человека, видевшего интернет те же десять лет назад. Иначе просто невозможно объяснить появление уже упомянутого RSS (оно же Atom, если смотреть наискосок) в ипостаси средства взаимодействия с конечным пользователем. Мне просто интересно, чем же NNTP не устраивал ваятелей «нового пространства»? Очевидно только тем, что базируется не на модном XML… Когда мне предлагают подписаться на RSS-рассылку какого-нибудь форума, я чувствую себя так, как будто мне предлагают в магазин через дорогу слетать на самолете (включая все необходимые для этого действия: поездку в аэропорт, покупку билетов по соответствующей цене, досмотр вещей, металлодетектор, ожидание летной погоды и т.д.).
Для тех, кто не знает особенностей NNTP объясню почему. RSS-лента представляет собой XML-файл с информацией (заголовками и/или сообщениями), который предполагается загружать с сервера по протоколу HTTP и на стороне клиента уже разбирать и представлять в удобоваримом виде. В то же время NNTP - это протокол передачи сообщений, ориентированный на обмен отдельными сообщениями. Там где в случае RSS мне нужно постоянно скачивать весь файл в надежде найти там одно новое сообщение, при работе через NNTP клиент дает запрос на сервер и получает список только тех, сообщений, которые добавились с момента последнего взаимодействия. Кроме очевидного выигрыша в трафике, исключается также возможность пропустить сообщения: сервер NNTP аккуратно напомнит на чем мы остановились в прошлый раз и предложит продолжить именно с этого места, в то время как для RSS-клиента сообщения, не попавшие в последнее обновление являются утерянными безвозвратно. А кроме всего написанного протокол NNTP изначально создавался для построения целых сетей из взаимосвязанных серверов, которые позволяют добавлять сообщения на один узел, а читать - со всех остальных. В общем, налицо подмена старой и очень мощной технологии, новомодной и бестолковой поделкой. Причем преподноситься это как неимоверное благо, хотя по сути является неоспоримым шагом назад.
Идем далее, теперь у нас на очереди AJAX. Что это такое? Какой-нибудь маркетолог от WEB 2.0 начнет вещать примерно следующее: «это новая революционная технология позволяющая клиенту взаимодействовать с сервером на качественно новом уровне…» и далее в том же патетическом духе. Однако все гораздо прозаичнее, и выражаясь техническим языком, AJAX - это средство обновления содержимого web-странички без полной ее загрузки с сервера. То есть очередная надстройка над «сладкой парочкой» HTTP/HTML, и очередная попытка превратить их в хоть какое-нибудь подобие программной платформы. Попытка не то чтобы абсолютно безуспешная, но в свете остальных проблем на пути к «светлому бедующему нового веба» она как мертвому припарка. Любопытно также, что по причине довольно большой распространенности (чаще всего с ее помощью реализованы разные облегчающие работу, но не необходимые «удобства») само по себе использование этой технологии на ресурсе не делает его даже частично «вебдванольным». В общем, эту технологию постепенно двинули из «элиты» в простые смертные.
Далее, согласно концепции, истинный представитель нового веба должен использовать агрегацию с другими сервисами на внешних ресурсах (естественно тоже «вебдванольных»). Тут, конечно же, опять не обошлось без очередного изобретения велосипеда, но основная проблема как раз в другом. Постоянное заимствование чужого контента через RSS-ленты и специфические API как бы освобождает от необходимости создавать что-то свое. Уже сегодня наплодилось бесчисленное множество непонятных сайтов, наполненных исключительно краткими анонсами статей со ссылками на другие сайты. Причем это не дорвеи, а претендующие на популярность публичные ресурсы. Они тратят гигантские усилия на свою раскрутку, навешивают по тонне рекламы на каждую страничку, не представляя из себя абсолютно ничего ценного. Неужели к этому нужно стремиться?
Я не хочу сказать, что интеграция является абсолютным злом, иногда в результате нее получаются действительно полезные и мощные ресурсы, но, к сожалению это случается крайне редко. Да и зависимость от левых сервисов стабильности совсем не прибавляет.
Следующим критерием «вебдванольности» является обратная связь с пользователями. Я не буду снова говорить о «свежести» самой идеи, а остановлюсь на одном из проявлений этого явления. Если такие вещи как голосования, оценки и комментарии к материалам существовали давным-давно и в категорию перечисляемых критериев попали так сказать по инерции, то таком модном явлении как блоги нужно поговорить особо. Само это слово ворвалось в наш лексикон как-то очень резко и бесцеремонно. Представляя из себя смесь форума и гостевухи (причем не в лучших пропорциях), блоги стали шириться среди сетевого пролетариата с неимоверной быстротой. Каждая секретарша мечтала раздобыть заветный номерок для регистрации на LiveJournal (если кто еще помнит как это было), а находя его, тут же заводила публичный блог и начинала постить туда свои излияния. Нет, я еще понимаю когда публичный журнал заводит какой-нибудь известный или просто незаурядный человек и таким образом общается со своими единомышленниками и оппонентами. Или на худой конец просто тот, у кого есть какая-нибудь мысль или любопытный материал и нужна площадка для его обнародования. Но хоть убейте меня, я не понимаю зачем заводить блог для тех невнятных писулек, которыми на 99% заполнен упомянутый выше LiveJournal. Хотя сама жизнь, похоже, разделяет мое недоумение и после столь стремительного взлета, количество таких блогов уже быстро идет на убыль. Просто пришло понимание, что никто эти писульки не читает, никому они не интересны, и никак не может количество пишущих превышать количество читающих.
Это что касается самой сути блогов как явления, если же вернуться к критериям «вебдванольности», то наличие на сайте той или иной формы блога также является если не необходимым, то уж точно крайне желательным. Мне хотелось бы спросить, что делать блогу на сайте по продаже спичек и презервативов, но чувствую, что ответа буду ждать вечно, поэтому задам лучше такой вопрос: что такого сакрального имеется в слове «блог», что его наличие - это путь в WEB 2.0, а присутствие традиционного форума - нет? Хотя, наверное, я на этот вопрос уже ответил сам, жирным шрифтом в седьмом абзаце….
Ну и последний на этот раз критерий - наполняемость ресурса самими пользователями. Однажды в одной детско-восторженной статье я прочитал фразу, смысл которой сводился к тому, что ресурсы WEB 2.0 являются основным источником достоверной информации и актуальных ссылок в интернете. Мне не хочется даже комментировать эту глупость. Только полностью изолированному от интернета человеку не известны случайные и специальные искажения информации в сетевой энциклопедии Wikipedia и других подобных проектах. Только ни разу не участвовавший в тех или иных сетевых сообществах человек не знает, как быстро устаревают приведенные простыми пользователями ссылки (ведущие обычно в разные хламовники). В результате внедрения подобных технологий зашумленность интернета растет, и в нем становится временами невозможно найти не то что достоверную, но и просто актуальную информацию.
Что же такое WEB 2.0? Это, если выражаться фигурально, старенький, но исправный «москвич», который покрасили в «металлик», вставили в фары лампочки по двести ватт, навесили на него полутонный «кенгурятник», а камеры в колесах зачем-то заменили на детские надувные плавательные круги. При этом получилось транспортное средство, которое в принципе ехать может, но медленно и не долго. Зато оно имеет модный вид, и прохожие оборачиваются.
Резюмировать свой опус мне хотелось бы некоторыми выводами и соображениями. Выводы неутешительны. Количество разнообразных бредовых сервисов будет расти. За безобидными и бестолковыми виджетами и пародиями (в части эргономики использования) на текстовые редакторы пойдут куда более страшные вещи. Уже существуют веб-ориентированные графические редакторы, а не за горами также и редакторы видео и аудиоматериалов в окне браузера. Апофеозом этой тенденции запросто может стать сетевой компьютер, который будучи лишен жесткого диска и какой-либо значительной вычислительной мощности, из программ будет иметь только браузер и пригоден будет только к функционированию в режиме on-line по не менее чем гигабитному каналу. В результате мы получим очень медленную систему с высоким временем реакции, не приспособленную для целого ряда обыденных в настоящий момент операций. Все документы и личная информация будет лежать на серверах в полном распоряжении их (серверов) владельцев. Платить за использование таких индивидуальных вычислительных сред люди будут вынуждены живыми деньгами или просмотром рекламы и стопроцентной информационной зависимостью от хозяев сервисов. В общем, компьютер запросто может постепенно превратиться в штуку, гораздо более бестолковую, чем телевизор.
Путей решения проблемы функциональности web-платформы я вижу два. Первый путь состоит в том, чтобы «не впихивать невпихуемое» и оставить веб просто информационным пространством, а средства обработки информации пусть и дальше остаются настольными (или распределенными) программами.
Понятно, что этот путь никто не поддержит, поэтому возможен промежуточный вариант. Выбросить на помойку все существующие браузеры, протоколы, языки разметки, скрипты (JS, VBS и обязательно - PHP). А вместо всего этого зверинца создать стройную (и наконец однозначную!) платформу сетевых приложений, в которой сессия - это сессия, где интерфейс отрисовывается согласно четким векторным командам серверной части скомпилированного заранее приложения и выглядит всегда одинаково. Где клиентская часть использует скомпилированные на этапе разработки полнофункциональные скрипты и работает без постоянных пинков и ненужных обновлений с перерисовками. Одним словом выбросить ненужную прослойку, а приложения писать так, чтобы критичные ко времени реакции события обрабатывались у клиента, а требовательные к ресурсам, если этого так хочется, - на сервере. При этом граница между клиентским и серверным кодом должна быть плавающей, и в идеале пользователь должен иметь возможность сам провести ее в каждом конкретном случае исходя из своих возможностей и потребностей (вплоть до полностью клиентского или полностью серверного запуска).
Частично это уже реализовано разнообразными модулями ActiveX, к которым, по сути, относятся технологии Flash и Java Applets. Однако множество наследственных ограничений, а местами и общая ущербность таких продуктов не обещает нам практически никаких улучшений.
Что касается дальнейшей судьбы WEB 2.0, то мне кажется что пора ждать еще одного 2001-го года.
WEB 2.0 PHP HTML HTTP Пузырь AJAX RSS