взгляды на интерфейсы

24 04 2007
http://behrk.livejournal.com/368836.html

Мои взгляды на интерфейсы (типа 50 тезисов)

...Дело было так: жил да был у меня в кармане набор заметок и {ээээ} паттернов. Рос он, рос, пока не превратился в огромную неудобочитаемую вики. После двухлетних (!!!) попыток привести эту вики в пригодный для публикации вид, я сломался, и написал по ней тезисы (примерно по одному тезису на каждую удачную страницу).

[здесь длинный список благодарностей, в котором фигурируют едва ли не все, кому этот текст может попасться на глаза]

[здесь просьба нещадно комментировать и обещание по результатам обсуждения выпустить следующую версию]

Общие принципы

0. Эти тезисы применимы не всегда и не везде. Нет серебряной пули. Люди разные (и их разнообразие невозможно свести к формальной модели)

1. Вещи (программы, системы, инструменты) должны, по возможности, "просто работать" (just works). В идеале это, например, когда два предмета положенных рядом сами начинают правильно взаимодействовать

2. Средства не должны отвлекать на себя внимание. Программы и гаджеты нужны для того, чтобы работать или развлекаться. Когда я второпях записываю номера нескольких человек (поезд уже отходит!), меня не интересуют внутренние сложности моего КПК. Он мне нужен в качестве тупой записной книжки, здесь и сейчас.

3. Ничто не должно выбивать из ритма. Рабочий настрой священен. Сообщения о том, что наконец-то можно скачать улучшенные темы рабочего стола должны подождать. Фактически, это возражение против излишней многозадачности интерфейса (но не против многозадачных ОС, разумеется!)

4. Данные должны быть в надежном месте. Я должен быть уверен, что ни бита не исчезнет без моего позволения.
4.1 В частности, не должна продалбываться неявно введенная информация. Например, выбор 20 файлов из 100 -- это больше 100 бит информации, а большинство современных систем необратимо забывают выделение. Это ли не безобразие?
4.2 Информация не должна удаляться неявно. Например, Picasa удаляет метаданные, если теряет файл из виду (даже если файл просто переложили в другое место). Это ли не хамство?

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

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

37. Все должно копироваться. Любой кусок текста на экране. Сообщения, заголовки столбцов в таблицах, элементы списков -- всё. Может быть даже надписи в меню. В этом смысле, кстати, веб-интерфейсы оказались впереди "настольных"
37.1 Представьте себе, как было бы хорошо, если бы формы ввода позволяли скопировать свое содержимое в виде какого-нибудь полуструктурного формата (XML?) и позволяли этот формат можно было бы сохранить, вставить обратно, и т.п

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

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

Рабочая среда

41. Приложение должно при запуске восстанавливаться в том состоянии, в котором с ним в последний раз работали. Тогда состояние приложения превращается в дополнительный полезный механизм напоминания. Посмотрите на PalmOS, там почти все приложения так
Pages: 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | All


Обратные ссылки


Нет обратных ссылок

Комментарии

Показывать комментарии (Как список | Древовидной структурой)
Нет комментариев.

Добавить комментарий


Enclosing asterisks marks text as bold (*word*), underscore are made via _word_.
Standard emoticons like :-) and ;-) are converted to images.
E-Mail addresses will not be displayed and will only be used for E-Mail notifications

To prevent automated Bots from commentspamming, please enter the string you see in the image below in the appropriate input box. Your comment will only be submitted if the strings match. Please ensure that your browser supports and accepts cookies, or your comment cannot be verified correctly.
CAPTCHA