Быстродействие надстроек, часть 2. Содействие пользователям в принятии обоснованных решений

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

В этой статье приведены дополнительные идеи об измерении быстродействия надстроек и способах содействия потребителям в сохранении контроля над собственной работой в интернете.

Быстродействие надстроек и сайтов

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

Как указывалось в статье Быстродействие надстроек, часть 1, надстройки могут оказывать существенное влияние на быстродействие сайта и впечатление потребителя от работы. Наша цель в отношении IE состоит в том, чтобы у пользователей было все необходимое для принятия обоснованных решений и чтобы они сохраняли контроль над собственной работой в интернете.

Измерение быстродействия для обоснования решений

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

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

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

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

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

Важный аспект информирования пользователей — определение порогового значения, позволяющего оценить воздействие надстроек на быстродействие. Независимо от используемого аппаратного обеспечения — от бюджетных нетбуков, в которых производительность ЦП ограничивается для продления времени работы от аккумулятора, до эксклюзивных игровых настольных систем — пороги человеческого восприятия не меняются. Несколько исследований, касающихся времени отклика веб-сайтов, демонстрируют, что пользователи замечают любую задержку более 0,2 секунды. Все действия, выполненные менее чем за 0,2 секунды, воспринимается как мгновенные. Сценарии со временем отклика, превышающим это пороговое значение, могут ощущаться пользователями как «медленные». Несомненно, каждый должен быть свободен в выборе индивидуального порогового значения, отвечающего его личным потребностям при работе в интернете.

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

Индивидуальное решение

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

Вооружившись этой информацией, пользователь может сделать взвешенный выбор. Он понимает ценность функций надстройки и последствия их применения с точки зрения быстродействия. Человек может решить, что надстройка настолько полезна, что не будет против, чтобы подождать при просмотре веб-страниц четверть или даже половину секунды. Он может также счесть, что нечасто использует функции конкретной надстройки, а потому отключить ее, пока она не потребуется. Как и в прочих браузерах, последующее включение надстроек в IE, выполняемое в диалоговом окне «Управление надстройками», не представляет сложности. Наиболее распространенный способ вызова этого окна — контекстное меню, открываемое щелчком на командной панели правой кнопкой мыши. Кроме того, его можно открыть с помощью пункта в меню «Сервис», в контекстном меню страницы (под акселераторами) или в раскрывающемся меню поля поиска (под поставщиками поиска), а также через панель управления Windows и, конечно, через диалоговое окно «Параметры». В соответствии с политикой конфиденциальности корпорация Microsoft не передает разработчикам информацию о выключении и включении надстроек отдельными пользователями. Использование надстроек является личным выбором, поэтому IE никогда автоматически не включает и не выключает надстройки. Контроль находится в руках пользователя, решающего, что включить и что выключить. IE предоставляет людям информацию, необходимую для принятия обоснованного решения.

Дополнительные сведения для разработчиков надстроек

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

Время загрузки надстройки (время загрузки)

IE8 измеряет время загрузки при создании новой вкладки и инициализации всех включенных надстроек (IE9 тоже будет выполнять это действие). Для каждой надстройки IE вызывает CoCreateInstance(), ShowDW() и SetSite(). В IE8 временем загрузки надстройки считается общее время, требующееся для возвращения результата после вызова CoCreateInstance() и SetSite(). В будущем в измерение будет включен и вызов функции ShowDW().

Навигация по веб-страницам (время навигации)

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

  • BeforeNavigate;
  • NavigateComplete;
  • DocumentComplete.

Измерение времени навигации для всех включенных надстроек начинается с момента инициирования браузером события верхнего уровня BeforeNavigate.

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

  • навигация (еще одно событие верхнего уровня BeforeNavigate);
  • отмена навигации;
  • закрытие вкладки;
  • закрытие IE.

Когда это происходит, точка данных времени навигации добавляется для каждой из надстроек в списке.

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

По всем аспектам, включая измерение быстродействия, IE обрабатывает все надстройки от всех разработчиков одинаково. Только пользователь принимает решения о включении или выключении надстроек.

Благодарю за внимание,
Герман ЭнДжи (Herman Ng)

Отредактировано 31 августа. В разделе «Время загрузки надстройки (время загрузки)» ExtensionShowDW заменено на ShowDW() и именуется функцией, а не событием. Кроме того, удалена лишняя точка.