Почему современный веб — отстой и что с этим делать

Рассказывает Nick Heer, автор блога PixelEnvy


К моему домашнему компьютеру в 1998 году был подключен 56-килобитный модем, работающий по телефонной линии. Нам разрешали пользоваться компьютером не более 30 минут в день, потому что родители не хотели оставаться без телефона вечером. Я помню, как медленно загружались страницы: 10–20 секунд на загрузку простой страницы с новостями.

В то же время у некоторых моих друзей уже появился кабельный интернет. Удивительно, как те же страницы загружались всего за пару секунд. Я помню, как представлял, какие новые возможности появятся, если интернет продолжит становиться быстрее.

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

Сейчас подключение к интернету быстрее, чем я мог себе представить в конце 1990-х, но какой же результат? Загрузка истории с сайта Hill заняла чуть больше 9 секунд, загрузка Politico — 17 секунд, а CNN — все 30 секунд. Это и есть отстойный веб (bullshit web).

Для начала небольшое отступление. Я писал большие материалы и короткие заметки на эту тему, но здесь я хочу собрать их вместе, так, что это можно будет назвать теорией или, если точнее, путеводителем по отстойному вебу.

Вторая сноска: я использую слово «отстойный» в статье не в плохом смысле. Это ближе к значению, предложенному Гарри Франкфертом в его книге «О брехне» (On bullshit):

Это просто отсутствие связи с сутью проблемы — это безразличие к тому, как все происходит на самом деле, — вот что я отношу к понятию брехни (bullshit).

Я намеревался использовать его так же, как и в книге Дэвида Грэбера «О феномене бесполезной работы (Bullshit Jobs)»:

В 1930 году Джон Мейнард Кейнс предсказал, что к концу столетия технологии будут настолько развиты, что такие страны, как Великобритания или Соединенные Штаты, достигнут 15-часовой рабочей недели. Есть все основания полагать, что он прав. В технологическом плане мы вполне способны на это. И все же этого не произошло. Вместо этого технологии были выстроены, чтобы выяснить, как заставить нас всех работать еще больше. Чтобы достичь этого, нужно было создать рабочие места, которые фактически бессмысленны. Огромные толпы людей, в частности в Европе и Северной Америке, проводят всю свою трудовую жизнь, выполняя задачи, которые они тайно считают ненужными. Эта ситуация наносит глубокий моральный и духовный ущерб. Это шрам на нашей коллективной душе. Но об этом никто практически не говорит.

[…]

Это то, что я предлагаю назвать «бесполезной работой» (bullshit jobs).

Глава первая

Средняя скорость подключения к интернету в штатах в шесть раз быстрее, чем 10 лет назад, но вместо того чтобы увеличить скорость загрузки сайтов, мы просто заполняем канал всякой гадостью. Что-то из этого, конечно, полезно: в 2006 Apple добавила возможность смотреть фильмы в iTunes в разрешении 640х480, а сейчас можно смотреть фильмы в HD разрешении и даже почти в 4K. Эти же высокие скорости позволили смотреть фотографии в высоком качестве.

Но многое из того, что мы видим, — это куча мусора на крупных сайтах, которая не делает посетителей счастливее. Во всяком случае, большая часть этого мусора раздражает и морально неприемлема.

Возьмем для примера статью с CNN. Вот что она содержит при загрузке:

  • 11 шрифтов — 414Кб;
  • 4 CSS класса — 315Кб;
  • 20 iframes;
  • 29 XML HTTP запросов — 500Кб;
  • Примерно 100 скриптов, общий вес которых составляет несколько мегабайт, хотя трудно определить их количество и фактический размер, потому что некоторые из них загружаются не сразу.

Подавляющее большинство этого содержимого напрямую не связано с информацией на странице, и в этот список я включаю даже рекламу. Многие из загруженных скриптов предназначены исключительно для наблюдения: несколько собственных систем аналитики для сайта; различные сторонние аналитические системы, такие как Salesforce, Chartbeat и Optimizely, а также виджеты социальных сетей. Они нагружают процессор и заставляют мой шестилетний компьютер кричать от боли и ярости. Я не прошу многого — я просто хотел открыть текстовый документ в Интернете.

Кроме того, на любой странице CNN присутствует видео с автовоспроизведением, такая тактика позволила им хвастаться тем, что у них самое большое количество запусков видео среди новостных сайтов. У меня нет доступа к статистике Media Metrix ComScore, поэтому я точно не знаю, сколько из этих миллионов видеороликов было немедленно остановлено посетителями, нажимающими на каждую кнопку в проигрывателе, пока он не остановится, или просто закрывающими вкладку в отчаянии. Я подозреваю, что это сделал практически каждый из них. Люди реально ненавидят автопроигрывающиеся видео.

Вы заметили, сколько сайтов отчаянно хотят, чтобы вы подписались на их рассылку? Это очень распространено на многих новостных сайтах и блогах, но им и так уже досталось в моей статье, так что немного разбавим эту группу — это ужасно популярно на многих торговых площадках. От Barnes & Noble до Aritzia и от Fluevog до Linus Bicycles — это можно встретить повсеместно. Получить номинальную скидку в обмен на электронные письма, которые вы никогда не будете читать, — нет уж, спасибо.

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

Это и есть пик отстойного веба. Вы знали, что увеличение количества полос на дорогах не приводит к уменьшению проведенного в пробках времени, потому что только подстегивает людей ездить больше? То же самое и здесь, просто замените автомобили с дорогами на байты с шириной канала.

Глава вторая

Как отмечал Грейбер в своем эссе и книге, бесполезные работы (bullshit jobs), как правило, порождают другие бесполезные работы, единственная функция которых — существование за счет других бесполезных работ:

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

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

AMP, запущенный в феврале 2016 года, представляет собой набор стандартных HTML-элементов и AMP-специфичных элементов на специальной, предположительно, облегченной, странице для загрузки 80-килобайтного JavaScript-файла для правильной загрузки контента. Позвольте мне пояснить: HTML5 позволяет встраивать такие элементы AMP как <amp-img>, но будет отображать их как <span> элементы без какого-либо дополнительного управления, которое достигается наличием JavaScript-файла. Этот большой скрипт (по спецификации AMP) должен быть загружен с cdn.amp-project.org, который является доменом Google. Это делает веб-сайт AMP зависимым от Google даже при отображении базовой разметки, что очень странно для такой открытой платформы как интернет.

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

Кажется смешным утверждать, что страницы AMP не быстрее их простых HTML-копий, ведь легко заметить, что AMP-страницы на самом деле быстрее. И для этого есть веская причина. Дело не в том, что в формате AMP есть какая-то магия или блестящий пример рефакторинга. Нет, это просто потому, что AMP ограничивает типы элементов, которые можно использовать на странице, и сильно ограничивает используемые скрипты. Это означает, что веб-страницы не могут быть завалены произвольными и многочисленными скриптами отслеживания и рекламы, и это, конечно же, приводит к значительно более быстрой загрузке. Серия экспериментов Тима Кадлека показала эффект от этих ограничений:

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

Самое большое преимущество AMP — это ограничения, которые он накладывает и количество материала, которое вы можете впихнуть в одну страницу.

[…]

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

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

Глава третья

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

Важно признать, что на самом деле существует выбор, ответственность и главное — уважение к пользователю. Давайте вернемся к доводам Грейбера о бесполезной работе и его наблюдению о том, что на самом деле мы тратим огромное количество лишнего времени, сидя в офисе по 40 часов в неделю, когда «реальную» работу можно было выполнить и за 15. Значительная часть его размышлений верна и для Интернета: существует достаточно ресурсов, чтобы страницы загружались всего за пару секунд, но они тратятся на то, чтобы шпионить за поведением пользователя на сайте, в итоге делая пользователя несчастным и заполняя его почту всякой несуразицей.

Что касается определения Франкфурта: вся суть брехни состоит в безразличии к тому, как все происходит на самом деле. Это проявляется в попытках отрешиться от реальных проблем Интернета и предложить псевдорешения вроде AMP.

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

Но они не должны. Этот выбор в первую очередь должны сделать веб-разработчики — они не должны были поставлять такой отстой в принципе. Если мы не терпим такого навязчивого поведения в жизни, то почему мы должны мириться с этим в Интернете?

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

Да наступит смерть отстойного веба.

Перевод статьи «The Bullshit Web»

Подобрали три теста для вас:
— А здесь можно применить блокчейн?
Серверы для котиков: выберите лучшее решение для проекта и проверьте себя.
Сложный тест по C# — проверьте свои знания.

Также рекомендуем: