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

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. Все действия должны быть обратимыми. Ну, или практически все.

себя ведут.
41.1 Режимы, являющиеся, по сути, взаимодействующими приложениями, должны "помнить" своё состояние после переключения. Например, при переключении между редактором и preview должно сохраняться положение курсора в документе.
41.2 Восстановление состояния должно быть полным, с точностью до положения курсора и выделения. Мелкие неточности раздражают даже больше, чем полное отсутствие восстановления.
41.3 Состояния приложений могут быть привязаны к контекстам (или заменяющим их средствам организации). То есть приложение помнит разные состояния для разных контекстов (для работы дома, для работы в офисе, для работы по проекту NNN, и т.д.)

42. Подумайте, нужно ли вам разделение, например, заметок на название и содержание? Нельзя ли первую строку заметки считать её названием и отображать в тех местах, где нужно название (в списках, например)? Очень удобно: не нужно дополнительного механизма редактирования названия, не нужно его нигде хранить, всё уже есть.

43. Сказанное выше относится и к другим метаданным: имени автора, категориям, разного рода замечаниям. Почему бы не хранить их прямо в заметке?

44. С содержанием можно объединить не только метаданные, но и состояние интерфейса. Развивая пример с заметками: представьте себе, что есть специальная заметка, хранящая список любимых команд (типа настраиваемого меню или тулбара).

45. Монолитные приложения -- плохо. Гибкая среда, объединяющая много мелких приложений -- хорошо.

46. Гибкие объединяющие среды можно строить уже сегодня -- с помощью простых и доступных каждому средств интеграции, из которых первейшее -- clipboard, буфер обмена. Все
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