Капча для принудительного взаимодействия с пользователем? - PullRequest
1 голос
/ 19 января 2009

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

Мои идеи были:

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

Кто-нибудь имел опыт в такой ситуации? Что бы вы предложили сделать?

Ответы [ 7 ]

5 голосов
/ 19 января 2009

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

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

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

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

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

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

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

Так что, в основном, все, что я говорю, - делай все возможное, чтобы облегчить их работу. Если это действительно важно, то вы (или кто-либо другой) должен с ними поговорить и объяснить, почему это важно.

Вы будете удивлены тем, как люди совершают поступки, которые они понимают.

3 голосов
/ 20 января 2009

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

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

Вот что вы можете сделать:

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

  • Вместо сообщений о подтверждении четко покажите в главном окне, что произошло, и предоставьте четкий способ отменить его.

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

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

  • Разбивать команды по параметрам. Вместо того, чтобы в окне сообщения спрашивать, хочет ли пользователь вставить с форматом или без, введите в меню две разные команды.

  • Не появляется спонтанно всплывающих информационных сообщений, говорящих пользователю, что все работает нормально (например, «Настройки сохранены!»)

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

  • Не надоедать "обновить меня" сообщения.

  • Рассмотрите возможность предоставления текста сообщения в главном окне, а не в отдельном окне сообщения (например, «Страница может выглядеть или работать неправильно, поскольку ActiveX отключен для безопасности».). Всплывающие окна из веб-серфинга заставили пользователей автоматически отклонять все, что всплывает как неактуальные.

Правило 2. Если у вас есть , чтобы использовать сообщение:

  • Сделайте текст как можно более кратким, чтобы донести ключевую информацию. Больше текста не эквивалентно более полезному. Используйте «Нет совпадения с [filemask] в [path]». Не используйте «Nonfatal Error 307: действие поиска прервано. [Appname] не может завершить поиск строк по заданному вами регулярному выражению, поскольку заданная вами маска файла, а именно [filemask], не приводит к каким-либо подходящим файлам в указанном вами каталоге (который был [путь]). Пожалуйста, проверьте маску файла или выбор пути и снова введите его или их в диалоговом окне «Файлы для поиска». Нажмите кнопку OK ниже в этом окне сообщения, чтобы вернуться в диалоговое окно «Файлы для поиска». Нажмите кнопку «Отмена» в диалоговом окне «Файлы для поиска», чтобы отменить поиск строк ». Если есть пользователи, которым требуется больше объяснений, чем может быть достигнуто в кратком сообщении, предоставьте кнопку« Помощь »или« Как сделать? Я… »в окне сообщения.

  • Используйте простой язык и без жаргона всообщение. Это включает в себя «невинные» слова, такие как «диалог», «база данных» и «тонер». Не берите необработанный текст исключения и добавляйте его в сообщение об ошибке. Не включайте номера ошибок или дампов; войдите вместо этого. Очистите ваше приложение от любых окон сообщений отладки, оставленных разработчиками. Лучше просто позволить приложению исчезнуть при фатальной ошибке, чем выложить сообщение, полное жаргона и , затем приложение исчезнет.

  • Пометьте кнопки окна сообщения тем, что делает действие, а не «ОК». По крайней мере, пользователи должны сосредоточиться на активирующей кнопке, чтобы закрыть окно сообщения. Если эта кнопка помечена как «Удалить» или «Установить», она должна дать им паузу. Вы никогда не должны объяснять в своем сообщении, что делает каждая кнопка. Кстати, такая маркировка является стандартом GUI на большинстве платформ.

3 голосов
/ 19 января 2009

Перепроектируйте ваше приложение, чтобы оно не использовало окна сообщений.

3 голосов
/ 19 января 2009

Я полагаю, что вы не делаете; и что, если вы не знаете лучше, вы подражаете респектабельным, хорошо проверенным пользовательским интерфейсам, таким как <<em> крупный интернет-магазин > или <<em> сайт онлайн-банкинга >.

2 голосов
/ 19 января 2009

Мое предложение, жить с ним или переделать ваши диалоги / интерфейс. не добавляйте случайность в диалоги или иначе обращайтесь с пользователем как с идиотом, даже если большинство из них думают: -).

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

2 голосов
/ 19 января 2009

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

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

1 голос
/ 19 января 2009

Вы можете использовать вопрос выбора в зависимости от того, что пользователь должен прочитать.

...