← kolan.mobi
     хоумпэйдж
 Главная

← ksoftware.ya.ru
     блог
 

Это — старая версия документа!


Обучающий мастер
8 января 2010



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

Типичным примером мастера является мастера установки программ в операционной системе Виндоус:

Мастер установки «Менеджера кредитов». Создан с помощью утилиты Инносетап.


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

Первый: наличие шагов разделяет информацию во времени. Такое разделение, при неверном дизайне (стандартный вариант как раз неверный), существенно нагружает кратковременную память пользователя, ведь ему приходится помнить что он сделал на предыдущих шагах.

Второй: отсутствие информации о местонахождении пользователя в мастере. В стандартном варианте мастера пользователь не знает ни где он сейчас, ни сколько шагов он сделал, ни сколько еще осталось.

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

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


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

Мастер создания нового компонента в Делфи — типичный пример. Мастер состоит из трех шагов. Сначала пользователю предлагается выбрать предка нового компонента


Потом его название, группу, куда он будет добавлен и путь к файлу, куда компонент будет сохранен.

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


Ровно тоже самое можно сделать просто набрав соответствующий код в редакторе и сохранив файл. Опытные программисты обычно так и поступают.


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

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

Тем не менее, пользу мастера нельзя отрицать. Он очень полезен новичкам. Это один из вариантов интерфейсной справки. Подсказки и жесткая последовательность помогают производить незнакомые операции.

Итак мы установили, что мастера вредны и полезны одновременно. Как же выжать достоинства и выбросить недостатки?

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

Обучающая миссия из игры Тотал Вор Эмпайер.


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


Применительно к рассмотренному примеру обучающий мастер мог бы выглядеть следующим образом (нажмите на «New VCL Component…»):

Чтобы пройти мастер снова нажмите на пункт меню «Component» на последнем шаге.


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


Автор уверен, что обучающие мастера могут заменить стандартные везде, где им [мастерам] существует альтернатива, рассчитанная на опытных пользователей.



Николай Товеровский
При использовании материалов ссылка на ksoftware.ru обязательна.

См. также