четверг, 17 марта 2011 г.

О подсказках в программе

Подсказки в программе нужны. Они играют в программе роль информационных указателей на дороге: без них доехать до места назначения становится очень сложно. Если, конечно, у Вас не Ё-мобиль с установленным ГЛОНАСС + GPS навигатором  :)

Что я понимаю под подсказками? Да любой вспомогательное сообщение, которое даёт пользователю возможность быстрее освоиться в программе. Будь то поле Hint для Delphi-компонент, помощник типа собачки в поиске Windows или короткое светопредставление со свистелками и перделками перед появлением Новой Возможности Программы. Главное - чтобы пользователь увидел эту подсказку.

Что же значит - пользователь увидел подсказку? На самом деле, не всё так просто. Одно время ACDSee грешила показом окошка "Знаете ли Вы, что...". Это окно меня выводило из себя: мало того, что оно показывалось поверх всей программы, так ещё никак сразу не удавалось поставить галочку "Не показывать при старте". И что самое главное - меня совершенно не интересовало, знаю или не знаю я чего-то. Мне нужно было посмотреть картинку, а не читать текст.

Через некоторое время я заметил, что пользователи при открытии ACDSee просто нажимали крестик в окне "Знаете ли Вы, что..." и продолжали работу. Им не было интересно, что ACDSee им написала. Им хотелось похвастаться фотками, где они отдыхали в Турции. Они закрывали это окно уже на автомате - просто привычка, "так работает программа". Некоторые пользователи настолько привыкли к такому поведению ACDSee, что им было непривычно, когда я ставил галочку "Не показывать при старте" и ACDsee при перезапуске сразу открывало фотографию. "Верстай всё взад как было", говорили они мне, и я верстал.

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

Так что же нужно сделать, чтобы пользователь увидел, прочёл подсказку и начал её применять? Как мне кажется, есть несколько критериев, которые могут значительно помочь в этой проблеме.

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

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

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

Четвёртое. Пишите короткий и ясный текст в подсказке. Если в Вашей подсказке больше 20 слов - это плохая подсказка. Чтобы почитать, пользователь откроет справку к Вашей программе. Исключение могут составлять только очень важные элементы интерфейса. Например, Самая Важная Кнопка.

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

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

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

  1. Здравствуйте, Антон.
    Тема подсказок интересна и важна, особенно если дело идет о сложных программах типа 1C. Подскажите, с помощью каких интрументов можно создать программу - подсказчик?

    ОтветитьУдалить
  2. Здравствуйте!

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

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

    В Вашему случае я настоятельно рекомендую рассмотреть возможность создания трёх видов справочных систем.

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

    Вторая система - туториал. Представьте, что пользователь, знакомый с бухгалтерией на уровне подсчета расходов на листочке бумаги, в первый раз открыл Ваше приложение. Что ему делать? И вот тут крайне поможет Ваш мини-справочник. В нём Вам понадобится детально, по шагам, и (главное!) крайне просто объяснить пользователю, как нужно начать работать.

    Третья система - онлайн-помощь. Форумы, TODO-списки, помощь по e-mail / ICQ / Skype / телефону - всё, что угодно. Главное, чтобы пользователь понимал, что напротив него находится живой собеседник.

    Ну и, конечно, не забывайте про интуитивно понятный интерфейс :)

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