четверг, 12 мая 2011 г.

Изобретательность раздражающих людей

Это перевод The Resourcefulness of Annoying People. Автор: Реймонд Чен.

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

Программное обеспечение значительно изменилось со временем. Теперь в Windows есть части пользовательского интерфейса, которые не могут управляться программно - даже с помощью политик. Это печально, но это так. И это тот урок, что достался нам тяжёлым путём.

В Windows 95 мы дали программный доступ к меню Пуск: списку "Быстрого выбора" (Fast items). Элементы этого списка появлялись в меню Пуск над всеми остальными программами. Эта область предназначалась для пользователя, который мог перетаскивать туда часто используемые программы (и вообще ярлыки). Но программы быстро увидели в этом возможность возвысить себя над другими и стали добавлять себя в этот список при первой же возможности. В Internet Explorer мы дали программный доступ к меню "Избранное" (Favorites) - и, снова, сторонние программы помещали себя в это меню при первой же возможности.

В Windows XP мы наконец усвоили этот урок и намеренно не дали доступа к pin list - списку элементов на вершине меню Пуск. Pin list - это список, дающий пользователю возможность быстро запустить свою любимую программу. Ключевой момент тут: только сам пользователь решает, что ему поместить в этот список. Если бы программам дали возможность им манипулировать, слишком многие решили бы (в одностороннем порядке), что они настолько важны, что должны располагаться на вершине меню Пуск, не спрашивая пользователя. Pin list стал бы бессмысленным.

Возможность автопроигрывания CD и DVD также была адаптирована к новым реалиям. Когда разработчики включили возможность настраивать автозапуск дисков в Windows XP, они хорошо понимали, что программы эгоистичны, и они будут пытаться установить себя обработчиками по умолчанию без согласия пользователя. Соответственно, было принято сознательное решение не допустить возможность программной установки обработчика по умолчанию. Вместо этого, единственным способом сделать это было ручное редактирование настроек, показываемых в свойствах устройства.

Однако, вам не следует недооценивать изобретательность людей, которые пытаются быть раздражающими. К примеру, у недобросовестных программистов выяснение того, где хранятся эти настройки, не заняло много времени, так что они стали манипулировать ими непосредственно. В качестве дополнительной защитной меры, Windows XP SP2 представила новое поведение, связанное с автозапуском: когда Windows XP видит, что появился новый обработчик автозапуска, она показывает вам диалог настройки автозапуска ещё раз. Это дает вам шанс снять с автозапуска программу, которую вы только что установили, если она была достаточно груба, чтобы установить себя в качестве проигрывателя по умолчанию, не согласовывая это решение сперва с вами.

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

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

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

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

Комментариев нет:

Отправить комментарий

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

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