пятница, 2 июля 2010 г.

3/97: Спросите "А что бы сделал пользователь?" (подсказка: вы - не пользователь)

Это перевод Ask "What Would the User Do?" (You Are not the User). Автор: Giles Colborne.

Из "97-ми вещей, которые должен знать каждый программист".

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

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

Лучший способ узнать как думают пользователи - понаблюдать за ними. Попросите пользователя выполнить какую-то задачу, используя программу, похожую на ту, что разрабатываете вы (вы также можете дать им прототип своего интерфейса). Убедитесь только, что это задача из реального мира: "Сложить колонку из чисел" - нормально; "Посчитать ваши траты за последний месяц" - намного лучше. Избегайте задач, которые слишком специфичны, к примеру: "Ты можешь выделить эти ячейки и ввести формулу с SUM ниже?" — в этой задаче есть большая подсказка. Говорите с пользователем во время работы. Но не прерывайте его. Не пытайтесь помочь или подсказать. Постоянно спрашивайте себя: "Почему он сделал так?" и "Почему он не стал делать это?"

Первой вещью, которую вы заметите, будет то, что пользователи делают основные вещи одинаково. Они все пытаются выполнить задачи в определённом порядке — и они делают одинаковые ошибки в одинаковых местах. Вы должны строить ваш дизайн интерфейса, основываясь на этом базовом поведении. Это в корне отличается от встреч по обсуждению пользовательского интерфейса, где вы часто слышите: "Что, если пользователь хочет...?". Это приводит к росту фишек (возможностей) программы и наводит туман на то, что же действительно хочет пользователь. Наблюдение за пользователями снимает эту путаницу.

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

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

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

3 комментария:

  1. На эту тему есть прекрасная книга А.Купера "Психбольница в руках пациентов". Все понятно и доходчиво изжевано. А еще есть более полное руководство под названием "Об интерфейсе". Автор тот же.

    Рекомендую!

    ОтветитьУдалить
  2. Да, первая - хорошая книжка. Вторую, к сожалению, не читал.

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

    ОтветитьУдалить

Можно использовать некоторые HTML-теги, например:

<b>Жирный</b>
<i>Курсив</i>
<a href="http://www.example.com/">Ссылка</a>

Вам необязательно регистрироваться для комментирования - для этого просто выберите из списка "Анонимный" (для анонимного комментария) или "Имя/URL" (для указания вашего имени и ссылки на сайт). Все прочие варианты потребуют от вас входа в вашу учётку (поддерживается OpenID).

Пожалуйста, по возможности используйте "Имя/URL" вместо "Анонимный". URL можно просто не указывать.

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