Что должен знать разработчик о дизайне интерфейса, удобстве использования и психологии пользователя для создания отличного программного обеспечения?

Возможный дубликат:
Дизайн человеческого фактора (удовлетворение психологических потребностей в дизайне пользовательского интерфейса)

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

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

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

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

Я начну:

ПРОБЛЕМА. Интерфейсы с множеством элементов управления и опций, которые находятся на одном экране, могут быть слишком сложными для пользователей Им придется тратить время на просмотр всех, пытаясь найти один вариант, который им нужен. Они также отвлекутся в процессе, увидят еще одну функцию, пойдут туда, чтобы узнать об этом, и, возможно, прочитают справку, чтобы узнать, может ли она решить их проблемы, затем еще одну и так далее, пока они не будут полностью потеряны.

ПРИМЕР: В качестве хорошего примера я приведу Microsoft Word (а также другие приложения Office) версии до 2007 года. Огромное количество меню и вариантов всегда пугало меня. Мне удалось вспомнить, где были варианты, в которых я нуждался чаще всего, но это все. Все лишнее, я склонен искать в Google то, что мне нужно, чтобы узнать, где именно эта функция находится в лесу опций.

РЕШЕНИЕ: Спрячьте все дополнительные параметры за несколькими меню и подменю, логически структурированными для того, чтобы пользователь мог найти их в процессе логического мышления. Редизайн 2007 года, очевидно, учел проблему, сгруппировав опции во вкладки. Я нашел много новых вариантов, в которых я нуждался, не прибегая к помощи гугла, а просто подумав, где он мог бы находиться, и заглянул туда. Не то чтобы это всегда работало, но улучшение чувствуется.

Теперь, каковы ваши идеи?

9 ответов

Решение

Полезные и эффективные интерфейсы прекрасны. Посмотрите на них как на дизайнера пользовательского интерфейса, а не на специалиста по искусству.:-)

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

Учись слушать.

Пользователи будут говорить, что они хотят, но не словами, к которым вы привыкли. Общайтесь, садитесь, не торопитесь и слушайте. Смотрите, как они работают, задавайте вопросы. Воспитывайте некоторые идеи "Как бы вы хотели...?" и слушать ответы. Не думайте, что для них что-то будет лучше, спросите их. Не заставляйте их идти по определенному пути, потому что код проще.

Интерфейсы с множеством элементов управления и опций сразу на одном экране могут быть ошеломляющими для пользователей.

У GMail есть слоган " Ищите, не сортируйте". Тот же принцип может быть применен к пользовательским интерфейсам. Как вы упомянули, пользователи уже сами делают это, прибегая к поиску новых возможностей.

Теперь следующий шаг - встроить поддержку поиска функций прямо в приложение. Нажмите сочетание клавиш, введите несколько ключевых слов и нажмите на функцию, которую вы хотите использовать. Функция IDE Insight в предстоящей RAD Studio 2010 делает именно это.

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

  • Существуют проблемы со связью, потому что программисты говорят о модели скрытого домена, а пользователи говорят о графическом интерфейсе.
  • Есть проблемы с обслуживанием, потому что пользователи ограничены пользовательским интерфейсом на основе задач. Им регулярно нужно запрашивать "новый экран, чтобы сделать это", даже если модель домена уже может поддерживать его.

Решение: обнаженные объекты, архитектурный дизайн, шаблон. Чтобы довести это до крайности, вы можете даже автоматически сгенерировать графический интерфейс из модели предметной области.

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

Я привык думать, что астетика бесполезна, пока я не попытался продать свой дом. Прочный фундамент, 3 спальни, 2 ванные, гараж на 2 машины, огороженный двор, бла, бла-бла - пока я не избавлюсь от вони от моих 3 собак, никто не будет к ней прикасаться.

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

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

Я предлагаю прочитать "Дизайн повседневных вещей" Дональда Нормана.

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

  • Юзабилити исследования
  • Наблюдение за тем, как люди используют ваш код
  • Экстремальное программирование (доставка кода предварительного просмотра периодически в процессе проектирования)

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

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

Другие вопросы по тегам