понедельник, 28 июня 2010 г.

Почему поведение по-умолчанию для перетаскивания (drag/drop) не может быть изменено?

Это перевод Why can't the default drag/drop behavior be changed? Автор: Реймонд Чен.

Частой реакцией на моё объяснение, должно ли перетаскивание файла приводить к копированию или перемещению, является указание, что в Windows должна быть настройка, которая позволяет вам менять алгоритм, который использует Проводник (Explorer) для решения, нужно ли делать копирование или перемещение.

Есть несколько причин, почему это плохая идея.

Во-первых, если бы у вас была такая настройка, то она бы удалила часть предсказуемости пользовательского интерфейса. Одним из преимуществ общего интерфейса пользователя является то, что как только вы его выучили, вы можете использовать его правила всюду (прим.пер.: аналогия - иными словами, научившись раз ездить на велосипеде, вы сможете ездить на любом велосипеде). Но если каждый пользователь сможет изменять поведение перетаскивания (drag/drop), то знание, которое вы приобрели с перетаскиванием, не будет работать на машинах других людей.

Некоторые люди рассматривают возможность бесконечной кастомизации как благо (прим.пер.: ссылка моя, но очень в тему). Но каждая добавляемая возможность кастомизации увеличивает вероятность, что вот эта конкретная комбинация настроек не будет протестирована так, как она этого, вероятно, заслуживает ("Что вы имеете ввиду, что это не работает, если вы установите скрытие иконок в области уведомлений через 5 секунд, а автоскрытие Панели задач через больший интервал, с жирным текстом на кнопках Панели задач и операции перетаскивания, которая всегда приводит к перемещению? Как вы вообще могли пропустить такую комбинацию при тестировании? Очевидно, что вы были обязаны предусмотреть взаимодействие между задержкой автоскрытия дольше чем автоскрытие уведомлений, совмещёнными с нестандартным перетаскиванием и в сети меньше чем из 50-ти машин!" - прим.пер.: это комментарий к этому посту о том, что в сети из 50-ти машин такое вполне возможно было сделать).

Неограниченная настраиваемость также означает, что вы не можете просто сесть перед чей-то машиной и начать её использовать. Сначала вы должны будете узнать, как там настроены меню, щелчки мышью, перетаскивания, клавиатурные комбинации. "Ох, на этой машине ты вставляешь текст из буфера обмена, нажимая Shift + правый-клик. Извини, у себя я привык пользоваться Ctrl + Alt + щелчок средней". Представьте, если бы каждый мог легко менять поведение каждой педали для газа, тормоза и сцепления в своём автомобиле по своему желанию.

В этом есть и элемент брэндинга. Как и Мак, Windows пытается культивировать определённый "вид", чтобы люди, когда они видели его, говорили: "эй, тут стоит Windows; Я знаю, как этим пользоваться!". Мой DVD-проигрыватель и мой автомобиль (прим.пер.: Toyota Prius) также показывают логотип производителя при загрузке. Так же поступает и Windows.

Даже если бы мы приняли решение включить опцию "изменить поведение по-умолчанию для перетаскивания" в лигу одобренных опций (и добавили бы себе головную боль по тестированию и поддержке), у вас есё ещё будет проблема, что эта настройки влияет только на Проводник. Другие (уже написанные) программы продолжали бы использовать старый алгоритм, по крайней мере, пока их разработчик не обнаружил бы эту новую опцию и не переписал бы свои программы, чтобы они учитывали её. Представьте себе хаос, если бы Проводник Windows использовал один набор правил, а Microsoft Outlook следовал бы другому. "Ох, точно. Я же перетаскиваю почтовое сообщение, а не файл. Тогда перетаскивание будет перемещением, а не копированием".

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

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

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

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

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

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

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