Подтвердить что ты не робот

Лучшие советы по разработке графических интерфейсов?

В то время как я читал (до того, как потерял) большую книгу под названием GUI Bloopers, которая была полна примеров плохой графический интерфейс пользователя, но также полные полезных лакомых кусочков, таких как "Не называть что-то" Dialog одна минута, а Popup следующая.

Какие главные советы вы могли бы дать для разработки/документирования графического интерфейса? Было бы особенно полезно услышать о виджетах, которые вы разработали, чтобы вставить читаемую информацию в как можно меньшую экранную недвижимость.

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

PS. Я думаю, что этот вопрос отличается от этого, поскольку я прошу об общих советах

4b9b3361

Ответ 1

Я лично следую этим простым правилам:

  • быть последовательным во всех приложениях НЕ ИЗМЕНЯТЬ ПОВЕДЕНИЕ /LAYOUT
  • поток информации: сверху вниз слева направо (в западных странах).
  • не слишком много информации на странице (например, ppt-presentation)
  • большие буквы (поэтому старые люди тоже могут их прочесть)
  • KISS (тот, кто может использовать видеомагнитофон, может использовать эту страницу/форму/etc.)
  • используйте расслабляющие цвета, такие как синий, зеленый и т.д. (не ярко-красный или неоновый розовый).
  • Структура (может меняться, конечно, но в качестве первого проекта в основном это):
    • top → навигация/меню
    • слева → навигация/информация
    • средний → контент
    • bottom → status
    • внизу справа → кнопки

Ответ 2

Только один конкретный совет, который я получил однажды от умелого GUI-метода:

Если у вас есть диалог/форма с кнопками, текстовыми полями, списками и т.д., попробуйте сохранить пространство между ними согласованным и симметричным. Например, попробуйте использовать такое же расстояние между виджетами во всех направлениях, и если группа виджетов отделена от другой, увеличив пространство между группами, попробуйте сделать это пространство дубликатом пространства между элементами управления внутри групп. Например, если все кнопки в одном разделе разделены 16 пикселями во всех направлениях, попробуйте сделать большее пространство для следующей группы 32, 64, 128 пикселей или около того.

Гораздо удобнее для человеческого глаза интерпретировать что-то, что связано с определенной симметрией.

С тех пор, как я попробовал, я всегда использую этот метод с очень хорошими результатами. Я даже вернулся и переработал старые графические интерфейсы и был удивлен, увидев такую ​​подтяжку лица только от этой настройки.

EDIT:

Забыл отметить важный урок, который я извлек из этого метода:

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

Это довольно не связано с расстоянием между виджетами, но затрагивает тему менее-более того, чтобы пользователь мог взаимодействовать в любой момент времени. Интересно, что, когда вы начинаете править, это "рябит воду", а иногда заставляет вас делать больше вещей прав (вроде как фиксировать константную правду: p).

Ответ 3

Мой верхний совет будет С точки зрения разработчика графического интерфейса пользователя

Держите его тонким и простым

Если вы имеете в виду перспективу юзабилити

Покажите его фактическому пользователю как можно скорее и уточните на основе обратной связи

Ответ 4

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

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

Ответ 5

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

Ответ 6

Не меняйте цвета по умолчанию. Это важно для людей, colorblind.

Ответ 7

Чтобы решить вашу проблему с помощью JTree (с которой я согласен), вы должны изучить использование застекленных списков, если вы хотите иметь приятное взаимодействие JList и JTable в своем приложении: http://publicobject.com/glazedlists/

Вы получаете много функциональности (сортируемые заголовки таблиц, например), с несколькими изменениями в вашем коде.

Кроме того, держите его простым.

Ответ 8

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

Ответ 9

Используйте как можно меньше UI.

Я думаю, мы забываем, что компьютеры - это информационные машины, т.е. theyre предназначено для работы для нас.

Когда-либо видели Shazam на iPhone? У него в значительной степени есть одна кнопка. Вы нажимаете на него, удерживайте телефон до динамика, воспроизводящего песню, и примерно через 10 секунд он расскажет вам, какие песни воспроизводятся.

Невероятно полезный, практически нет интерфейса. Вся тяжелая работа продолжается.