Design
Comments 43
+1
Если ошибка приводит к серъёзным последствиям, просите у пользователя подтвердить действие, перед тем как начнёте что-то делать.

Купер в этом случае говорит о перекладывании ответственности за действия программы на пользователя. Это очень удобно и легко для программиста. Зачем это нужно, если дальше
Любое действие должно быть легко отменить. Это очень важно. Система не может считаться хорошей, если все результаты её работы необратимы.
+1
Ситуации бывают разные. В некоторых случаях отмена невозможна. Именно поэтому текст разбит на пункты. Это, в общем, не обязательный перечень.
-1
Да, например, при форматировании диска (и то плохой пример, даже в этом случае данные можно восстановить). Но я плохо представляю себе ситуацию, когда пользователь случайно набирает «format c:». Если уже сознательно набрал эту команду, зачем спрашивать «Вы уверены?» Можете привести пример, когда отмена невозможна, но действие можно выполнить случайно?
+1
Но ведь форматирование можно и вызвать и из свойств диска? :)
-1
Вы хотите сказать, что всё-таки можно случайно зайти в управление копьютером, случайно нажать правую кнопку, случайно выбрать форматирование и потом случайно нажать ок?
0
Согласен, что и вопрос «Вы уверены?» может не спасти. Зачем тогда его задавать?)
+1
При частом возникновении вопросов обычно формируется привычка.

Думаю, у многих пользователей Windows, например, сформировалась привычка удалять «безвозвратно» (поскольку удаление файлов требуется чаще всего для того, чтобы освободить место на диске, а удаление в корзину к освобождению места не приводит). При этом система постоянно спрашивает «Вы действительно уверены?», но дает два стандартных ответа: «Да» и «Нет» (причем, в дополнение к удобной комбинации клавиш Shift+Delete, вызывающей этот диалог, сфокусирован в нем для клавиатурного ввода именно вариант «Да» — наиболее опасный).

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

Такая оплошность разработчиков Windows тянется до сих пор (Windows 7, подозреваю, что и 8). Ведь можно было бы сделать так, чтобы удаление выполнялось в корзину всегда, но при этом доступное место на диске бы увеличивалось, а файлы можно было бы восстановить до тех пор, пока не понадобилось место на диске для новых файлов.
0
Ну, да, пользовательский автоматизм — злое зло, ничего не поделать. При этом я всегда, на каждом обсуждении очередной фичи, на работе, громче всех ору о том, что люди — разумны, и они НЕ идиоты, как о них принято думать. Если человек что-то удаляет, значит он принял такое решение. Другое дело, что он может передумать. Этому машину не научишь.

А идея с освобождением дискового пространства годная. Только я не знаю, как это на уровне файловой системы организовать. Образования не хватает.
0
Моя идея следующая. Нужно поменять две вещи: отображение свободного места (например, «свободно 500 Мб; с учетом удаленных файлов 650 Мб»); процедура создания нового файла: при нехватке места сначала удалять что-нибудь начиная с самого старого из корзины до тех пор, пока не освободится необходимое место. Перед тем, как чистить корзину, система должна проверить, хватит ли места с учетом предстоящей очистки корзины, и только при нехватке сообщить пользователю о том, что место кончилось совсем.

Вижу одну проблему: задержка при удалении старья из корзины. Но она может быть решена записью новых файлов прямо на место удаляемых (тогда нужно будет стереть только старую запись в индексе файловой системы).
0
Отображение — это понятно. Это первое, что пришло мне в голову.
Проблема может возникнуть в процессе записи на несуществующее «свободное» место. Не исключено, что освобождение корзины станет таким же утомительным, как «очистка системы» в Windows XP. Которая запускается как раз в тот момент, когда заканчивается место на диске. Тот механизм вообще неэффективный.
Я считаю, что следует хорошенько изучить паттерны поведения. Есть мнение, что люди, которые удаляют какие-то большие объёмы файлов за один раз — это, чаще, те, кто немедленно займёт это место чем-то другим. А вот те, кто удаляют по чуть-чуть — те и записывают на диск по-щепотке. Собственно, в зависимости от модели поведения можно будет разрабатывать адаптивный механизм удаления файлов. Но надо исследовать. Долго и вдумчиво. Пока это всё голословно.
0
Но надо исследовать. Долго и вдумчиво. Пока это всё голословно.


Согласен! Меня просто смутило то, что до сих пор на это не обращали внимание. Microsoft для новой 8-ки перерабатывает изобретенный в Vista диалог слияния/замены (который получился неудобный), а процедуру удаления — не трогали.

В общем, тема исчерпана.
0
А мне нравится диалог слияния/замены. Особенно чекбоксом «применить для всех последующих конфликтов».
0
Восстановление системы умеет подтирать старые точки, когда при установке новой программы или загрузке фильма на диске становится мало места. Можно прикрутить такое поведение и для Корзины.
0
Можно зайти в управление и вместо смены буквы случайно ткнуть в форматирование.
Например если глючит мышь (или при управлении с клавиатуры — одно лишнее нажатие на стрелку)
0
Не в свойствах, а в контекстном меню каждого доступного для записи диска в Проводнике Windows 7, есть пункт «Форматировать...», причем рядом с пунктом «Копировать». Пункт, во избежание ошибки, вызывает лишь диалог форматирования, а копировать весь диск — вряд ли частая операция. Тем не менее, пункт такой существует.
+2
> Но я плохо представляю себе ситуацию, когда пользователь случайно набирает «format c:».

Например, при наборе команды отвлекли и пользователь ошибся с буквой диска. Или не дописал нужные ключи команды и жмякнул Enter.
0
ок, прерываете работу, исправляете свою ошибку и форматируете
Любое действие должно быть легко отменить. Это очень важно. Система не может считаться хорошей, если все результаты её работы необратимы.
+2
> ок, прерываете работу, исправляете свою ошибку и форматируете

Если ошиблись с буквой диска — то придется потратить некоторое время на восстановление. Не проще ли предотвратить ошибочные действия?
0
Не проще ли

Ну я ж и написал выше, что это легко, просто и удобно для программиста :) Вставить окошко «Вы уверены?» и не париться
+1
Не только для программиста. Как показывает практика, для пользователя тоже удобнее подтвердить глобальные деструктивные действия.
0
format c:
Можно набрать и нажав стрелочку вверх если недавно набирал эту команду.
0
Вообще там есть и более интересные моменты, А тут такое впечатление что прочитал пару абзацев нашел что откомментить и сразу в крипком первонаха отправился это делать.
0
Ясно. Но у меня не было мысли быть первонахом. Если это сделает вас счастливым, то в следующий раз я буду мониторить комментарии, чтобы не быть первым.
0
Программа далеко не всегда может нести ответственность :)

Слова Купера хороши в том случае, когда программа может сама выполнить некоторое количество действий и это позволит избежать лишних вопросов. Например, определить офррмление шрифта в редактируемом тексте и автоматически отформатировать вновь набранный фрагмент (так делает Word, например).

Если же выполняемое действие является исключительно волей пользователя, например, запуск форматирования диска, то тут программе совершенно незачем пытаться за него понять, ошибка это или нет. Нужно просто спросить подтверждения.
+1
По-моему это самая полезная статья по проектированию интерефейсов на хабре.
+2
Мне понравилось про дальтонизм!
Мой научный руководитель — дальтоник. И вот я ему показываю результаты моих исследований. И получается диалог в стиле Жванецкого об Авазе:
Я: Вот тут зелёным нарисовано то, что было, а тут то, что стало. (Зелёным и красным соответственно)
НР: Где?
Я: Вот тут и тут.
НР: Где тут?
Я: Ну вот. Здесь.
НР: Да где здесь-то?

И вот минут пять пререкались, пока я не сказал про красный и зелёный. Вот тут-то всё и выяснилось.
+1
Такое ощущение что статья писана для журнала, или пускания пыли в глаза.
Автором упоминается много умных и правильных слов, в частности в области психо-физиологической составляющей визуального восприятия. Только все эти послы в духе небезызвестного капитана, лишены малейшей системности, и подаются как набор забавных фактов в духе «Знаете-ли вы что...»

Так-что тема, не раскрыта даже близко, хотя в ней очень много практических приложений, от «цепляющих баннеров», до дисциплинирующих интерфейсов в корпоративных приложениях. Только представьте себе идиллию: продажники играют в СРМ как в ту ферму. Выглядит бредоподобно, но по факту, виртуальные бонусы и понты перед коллегами, мотивируют не хуже чем реальные деньги и более того, на определённом этапе они дают ощутимо большую мотивацию…
+2
Это перевод, во-первых. А во-вторых — это даже не статья, а так — чеклист, который в американских интернетах очень популярен. Несколько месяцев назад в рунете — во фреше проскакивал. Я его просто перевёл и немного расширил. Тут по каждому пункту монографию написать можно.
0
А вот если картинки для ПВ заменить иллюстрациями идей — статью можнобыло б в учебники помещать.
0
В «прогрессивном развёртывании» вижу пару неясных/спорных моментов:

При использовании скрытых контролов появляющихся при выборе целевого объекта:
Начинающий пользователь (а иногда это большая часть ЦА) в поисках «как мне сделать это» может просто не догадаться кликнуть или навести мышь на объект.
Каким образом устроить это так, чтобы конфуза не возникало?
Например, в онлайн-редакторе, где документ открывается в основной части окна — куда присобачить кнопки операции с документом? Лепить их традиционно в тулбар — захламляет интерфейс. Делать появляющимися при наведении мыши на загловок- могут не догадаться.
Может, имеет смысл разместить подсказки в форме «хэндлеров» (незнаю как правилно называются, например точечки с краю тулбара, за которые можно потянуть) в неочевидных местах развёртывания?

Развёртывание можно осуществлять либо по клику на точку развёртывания, либо по наведению мыши.
С одной стороны, елозить мышью — типа исследовательское действие и тут самое время предоставить дополнительную информацию и дальнейший путь.
Однако, если при этом интерфейс серьёзно меняется (появляются дополнительные фреймы или кнопочки) это будет непропорционально совершённому действию.
С другой стороны, клик мышью по объекту — подтверждение намерения действия или фокуса интереса.
Вопрос — догадается ли пользователь кликнуть мышью (например — по новости, чтоб её развернуть, если нет «read more»; или по абзацу документа, если интерфейс просмотра и редактирования объёдинены).
0
Цветовое кодирование.

Жёлтый — обратить внимание.
Красный — запрещающий, предупреждающий.
Зелёный — разрешающий.
Говёно-зелёный — цвет рабочей обстановки.

Есть ли какие-нибудь исследования по восприятию и интерпретации цветов в контексте интерфейсов?
0
Это традиционные. Сложившиеся, так сказать, исторически. На самом деле человеков можно надрессировать как угодно.
0
Не то чтобы совсем традиционные… Насколько я помню, все это завязано на особенности восприятия цветов глазом и первичной их обработке. Вроде даже читал давно что были исследования реакции высших приматов на различные цвета и их комбинации, которые показали что у них реакции аналогичны.
0
Зелёный — деревья, лес, укрытие
Красный / оранжевый — огонь, опасность
Синий — нейтральный
Only those users with full accounts are able to leave comments.  , please.