Изменения между Windows 7 Beta и RC: отключение функций Windows

Принципу «выбор и контроль» было уделено большое внимание при разработке Windows 7. Мы получили массу позитивных отзывов в связи с этим принципом. Более того, мы получили ряд рекомендаций о том, каким образом можно развивать этот принцип в будущем. Пользователи направляют отзывы с предложением о возможности еще более глубокой настройки некоторых элементов (таких как Explorer или экран авторизации), а также о добавлении новых (приложения для просмотра PDF, инструментов обеспечения безопасности и дисковых утилит). При этом кто-то хотел бы работать в Windows без некоторых ее функций. Данная статья посвящена реализации нашего принципа в панели управления Windows 7 под названием «Windows Features», с помощью которого можно отключать и, соответственно, включать определенные функции Windows. Статью следует расценивать как продолжение разговора об изменениях, внесенных нами на базе отзывов, полученных в ходе бета-тестирования Windows 7. Автором статьи выступил Джэк Майо (Jack Mayo), групповой программный менеджер в команде Documents and Printing и одновременно разработчик в команде Internet Explorer 8. – Стивен

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

Мы знаем, что у многих имеется собственное мнение относительно того, что подразумевать под «функцией» или «программой», что считать неделимым «элементом», и часто мнения пользователей диаметрально противоположны. Некоторые определяют функцию по окну или пункте в меню. Некоторые подразумевают архитектурные подсистемы, например, хранение информации или безопасность. Другие считают функцией элементы системы, у которых есть альтернативы со схожей функциональностью. Все эти определения верны в определенном контексте, но не позволяют однозначно определить понятие «функции». Как инженеры мы знаем, что ни одна система не может быть разделена на случайный набор слоев и элементов и любое деление с течением времени, скорее всего, будет меняться.

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

В RC-версии Windows 7 мы расширили панель управления «Windows Features», которая размещается в стандартной панели «Programs and Features» (мы часто называем ее просто ARP от оригинального названия панели – Add/Remove Programs). В RC-версии Windows 7 в апплете Windows Features при щелчке по ссылке «Turn Windows Features on or off» (или просто при вводе сочетания «Windows features» в поле для поиска в меню Start) вы увидите следующее (по умолчанию иерархия папок находится в свернутом состоянии, но для большей наглядности данной статьи они развернуты вручную):

clip_image002

Те, кто знаком с этим диалогом по Vista или бета-версии Windows 7, заметят, что список заметно увеличился. Давайте поговорим о том, что было добавлено и как это работает.

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

Любую из присутствующих в списке функций можно отключить и включить. В списке функций Vista и бета-версии Windows 7 присутствовали различные элементы системы. Некоторые из них были ориентированы на разработчиков, использующих клиентскую рабочую станцию (IIS, MSMQ и другие), другие – на сетевых администраторов и энтузиастов (RSM, SNMP, Telnet и другие), оставшиеся – на рядовых пользователей (Games, Fax and Scan, компоненты Tablet PC).

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

· Windows Media Player

· Windows Media Center

· Windows DVD Maker

· Internet Explorer 8

· Windows Search

· Распознавание рукописного текста (через настройку компонентов Tablet PC)

· Windows Gadget Platform

· Fax and Scan

· XPS Viewer и его службы (включая драйвер виртуального принтера)

Отдельно стоит поговорить о самом понятии «удаление», поскольку здесь также приходится принимать ряд инженерных решений. Чуть раньше мы уже обсудили одну из причин хранения исполняемых файлов – при их включении не потребуется установочный диск. Второй причиной такого решения являлось сохранение доступности API для этих функций, когда эти API необходимы для обеспечения нормальной работы Windows или для нужд разработчиков. Как многие знают, существуют так называемые «зависимости», на которые часто опираются как некоторые компоненты Windows, так и сторонние приложения.

Ни для кого не секрет, что при разработке функций в Windows мы стремимся использовать базовую инфраструктуру и соответствующие API, а не дублируем код, который может стать причиной проблем с производительностью и увеличить потенциальную поверхность для атак. Все знают, что повторное использование кода является популярной инженерной практикой. Как в платформе, в Windows сделан упор на создание API для массы различных систем, так что они рассматриваются в качестве элементов большой системы. Когда эти API широко используются, пред нами встает выбор: отказаться от их применения, нарушив работу всех приложений, в которых они задействованы, или продолжить поддержку API. Всегда приходится принимать сложные решения, поскольку мы хотим обеспечить баланс между нуждами разработчиков и функцией «Turn Windows Features On or Off». В связи с большим количеством зависимостей возникают различного рода проблемы и сложности (к примеру, Windows Media Player и Windows Media Center используют немало общего кода, поэтому отключение одного из них может привести к практически неразрешимой для обычного домашнего пользователя ситуации).

Некоторые предлагали предоставить выбор, какие компоненты Windows устанавливать, при инсталляции Windows 7. Да, в некоторых операционных системах предусмотрена такая возможность. Однако мы регулярно получаем громадное количество отзывов с просьбами ускорить и упростить процесс установки. Поэтому мы предпочли предоставить возможность настройки компонентов после установки Windows 7.

Джэк Майо (Jack Mayo),

групповой программный менеджер в команде Documents and Printing