Статьи

2Mb Веб-страницы: кто виноват?

Я надеялся, что это была вспышка. Я надеялся, что 2015 год будет годом выступлений . Я ошибался. Средний вес веб-страницы за пять месяцев вырос на 7,5% и превысил 2 МБ. Это три 3,5-дюймовых диска с двойной плотностью данных (спросите своих дедушку и бабушку!) .

Согласно отчету HTTP Archive за 15 мая 2015 года , статистика, собранная с почти полумиллиона веб-страниц:

технологии конец 2014 Май 2015 увеличение
HTML 59Kb 56Kb -5%
CSS 57Kb 63Kb + 11%
JavaScript 295Кб 329Kb + 12%
Картинки 1,243Kb 1,310Kb + 5%
вспышка 76Kb 90Kb + 18%
Другой 223Kb 251KB + 13%
Общее количество 1,953Kb 2,099Kb + 7,5%

Наибольший рост приходится на CSS, JavaScript, другие файлы (в основном шрифты) и, что удивительно, Flash. Среднее количество запросов на страницу:

  • Всего 100 файлов (по сравнению с 95)
  • 7 файлов таблиц стилей (по сравнению с 6)
  • 20 файлов JavaScript (по сравнению с 18)
  • 3 файла шрифтов (по сравнению с 2)

Изображения остаются самой большой проблемой, на них приходится 56 запросов и 62% от общего веса страницы.

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

Мы убиваем сеть!

Немного мелодраматично, но кто-нибудь считает 2Mb приемлемым? Это общедоступные сайты, а не экшн-игры или приложения для тяжелых условий. Некоторые могут использовать клиентскую среду, которая заставляет «отдельную» страницу выглядеть больше, но эти сайты должны быть в меньшинстве.

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

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

Многие клиенты хотят стать разработчиками программного обеспечения и рассматривают разработчиков как исполнителей своего видения. У них есть новаторская идея, которая принесет миллионы, как только все 1001 их «основных» функций будут закодированы. Неважно, насколько велик проект, клиент всегда хочет большего. Oни:

  1. ошибочно думаю, что больше функциональности привлекает больше клиентов
  2. думаю, что они получают лучшее соотношение цены и качества от своего разработчика, и
  3. лучше не знаю

Стратегии, основанные на функциях, такие как «выпускать раньше, выпускать часто», неправильно понимаются или отвергаются.

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

Но мы уступаем требованиям клиентов.

Даже если вы этого не сделаете, большинство разработчиков — и это вредит всем.

Мы продолжаем расставлять приоритеты перед производительностью. Добавить материал легко, и это делает клиентов счастливыми. Но пользователи ненавидят интернет-опыт; они жаждут нативных мобильных приложений и мгновенных статей Facebook . Более того, разработчики знают, что это не так: Web против Native: давайте уступим, победим .

Предложение Apple против Microsoft

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

Создание более удобного пользовательского интерфейса с улучшенной производительностью всегда ниже в списке приоритетов. Возможно, вы можете выдвинуть это на первый план, обсудив следующие два примера подхода UX…

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

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

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

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

2015 год может стать годом выступления

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

Если мы ничего не сделаем, кризис ожирения будет продолжаться. Стремиться к простоте нелегко: уменьшить вес всегда сложнее, чем его надеть. Вынеси немного боли сейчас, и у тебя будет более здоровое будущее:

  • используйте инструменты для поощрения кэширования, сокращения HTTP-запросов, минимизации полезных нагрузок и удаления ненужных компонентов — см . Полное руководство по снижению веса страницы
  • Рассмотрите идею Криса Руппеля о Throttled четвергах, чтобы ограничить пропускную способность и воспринимать свой сайт / приложение как своих пользователей.

Пришло время расставить приоритеты производительности.