суббота, 12 октября 2013 г.

Usability - несут ли программы ответственность?

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

Программы не несут ответственности.

Диалоги подтверждения - один из наиболее распространенных примеров некачественного проектирования; они спрашивают, "уверены ли мы", что хотим выполнить то или иное действие. На заре компьютеризации рабочих мест программы выполняли необратимые действия в ту же секунду, когда пользователь вводил команду. Команда "erase all" (стереть все) делала именно это, причем немедленно и необратимо. Как только первый пользователь непреднамеренно стер все содержимое жесткого диска, он, несомненно, пожаловался программисту, и программист добавил адекватный, с его точки зрения, уровень защиты. Пользователь набирает команду "erase all", и теперь, прежде чем компьютер ее выполнит, программа просит пользователя подтвердить команду на удаление.


Все очень логично и совершенно неправильно.

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

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

Да, конечно, я согласна, что вездесущее окошко "уверены ли мы?" уже всем порядком надоело и обычно подтверждается не глядя, просто по привычке.

С другой стороны, иногда просто поспешишь и закроешь не то окошко. И это самое надоедливое подтвеждение даст тебе не сделать ошибки. Потому что такие окошки стали умные и по дефолту курсор стоит на кнопке "нет", так что нажимаем на привычке "да, я уверена" и ничего не происходит - программа открыта.

А иначе пришлось бы переоткрывать, терять на это время - некоторые программы минуту прочухиваются. Конечно, тут можно просто бросить камень в огород "так давайте делать программы быстрее", но все равно, иногда, хоть и редко, я даже благодарна этому навязчивому окошку Smile :)

Но речь даже не о нем. Ок, и правда, зачем переспрашивать про удаление простого файла, если его всегда можно восстановить из корзины? Тут как раз подумали про отмену действия.

Но мне не нравится подход к команде "erase all". Имхо, стереть все - это избавиться, и избавиться навсегда. Без возможности восстановления. О какой ответственности за отмену тут может идти речь?

Людям иногда надо уничтожить бумаги, например, с персональными данными или суммой на счету или что-то подобное. Они не хотят, чтобы она попала не в те руки и могла бы быть восстановлена. И тогда они идут к шредеру. Хотя ладно, ладно, шредер - это ведь тоже компьютеризация. Тогда они эти бумаги сжигают!

И это именно то, что им нужно, когда есть желание все уничтожить. И в этом случае ни про какие "отложить, изменить, отменить" и речи не идет. ВСЕ! Нету больше бумажки. И ты ее уже не вернешь. Остается только смириться, тем более что и винить тут некого - ведь нет "адской машины", которая все испортила, это было твое и только твое решение.

Тогда почему компьютер должен нести ответственность за восстановление данных, которые хотели уничтожить, не удалить, а уничтожить?

Меня, честно говоря, не сильно радует политика Windows восстанавливать все, даже удаленное из корзины (ну, тут, конечно, недостаточно быть простым смертным и надо хоть что-то в компьютерах понимать, но все же - это возможно!).

Если я хочу избавиться от старого компьютера, продать или подарить, мне подойдет разве что "format C". Но его же тоже надо выполнять с танцами с бубнами, переустанавливая систему - вот зачем мне это? Я просто перенесла все, что хотела, на новый компьютер и хочу стереть информацию со старого. Но чтобы он работал - как будто только купила, чистая "голая" винда, без моих данных.

Но где уж там... В этом отношении мне нравится продукция Apple - с Ipad можно стереть все свои данные и сбагрить его куда-нибудь. Причем стереть в один клик. А если захочу, то снова восстановить из копии. НО!!! Опять же - если я не делала копий вообще, то все. Удалить удалила, потом восстановила чистую версию разве что.

А еще, если я не перекидывала данные в AppStore, то и оттуда не заберу их. Хотя нет, наверное, заберу, так как по аккаунту можно отследить, что я покупала. То есть вот он, наверное, идеальный вариант удаления, но с возможностью все изменить.

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

А вот окошки да, их число можно и уменьшить Smile :)

1 комментарий:

  1. > Ок, и правда, зачем переспрашивать про удаление простого файла, если его всегда можно восстановить из корзины?

    Если в система задействована опция "Удалять сразу, без перемещения в корзину", то нет.

    > Но где уж там... В этом отношении мне нравится продукция Apple

    Кстати, в Mac OS есть интересная фишка - там два типа очистки корзины - обычное и полное. При полном удалении данные удаляются безвозвратно (восстановить уже нельзя, наверно, сектора затираются нулями).

    ОтветитьУдалить