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

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

пусть он будет так же свободен, как если бы перед ним была бумага. Помните, многие склонны "думать руками".

27. Не нужно сложных механизмов организации. Лучше сделать что-то простое, но достаточно мощное, чтобы на его основе строить сложные структуры. Посмотрите как растут wiki {они не трудятся, не прядут...}

Взаимодействие

28. Принцип Перикова: сначала данные, потом структура. Дайте мне сначала записать номер телефона, а потом уже сказать, что то, что я записал -- это номер телефона. Не навязывайте структуру. Пусть структура добавляется поверх данных по мере надобности. Оставляйте возможность для неструктурированного текста. Он первичен.

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

30. Поменьше обязательных полей. Ваши представления о том, какие поля обязательны, а какие нет, могут сильно отличаться от потребностей конкретных людей в конкретных ситуациях.

31. Поменьше формализма. Слишком формализованные системы и процедуры плохо живут в постоянно меняющемся мире. Поддержанием порядка должны заниматься люди (не без помощи автоматизированных средств) {Запомним слова: "рефакторинг баз знаний". Поговорим об этом позже}

32. Если на экране есть строка текста, и эту строку можно изменять, то это измение должно происходить так: помещаем туда курсор, и вперед. Специальная кнопка,
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