юзабилити-дизайн
Удобство использования любого приложения по сути определяется пользователем. Проектирование интерфейса — это итеративный процесс; при разработке интерфейса приложения редко удается получить идеальный интерфейс с первого шага. Чем раньше пользователи вовлекаются в процесс проектирования, тем меньше усилий требуется для создания лучшего и более удобного интерфейса.
Что такое хороший интерфейс
При разработке пользовательского интерфейса рекомендуется начать с рассмотрения некоторых наиболее продаваемых приложений Microsoft или других компаний. В конце концов, приложение с плохим интерфейсом не будет хорошо продаваться. Вы найдете много общих вещей, таких как панели инструментов, строки состояния, всплывающие подсказки, контекстные меню и диалоговые окна разметки. Не случайно Visual Basic имеет возможность добавлять все эти возможности в приложение.
Вы также можете положиться на свой собственный опыт использования программного обеспечения. Подумайте о некоторых приложениях, которые вы использовали, какие работали, а какие нет и как вы могли бы их изменить. Но помните, что личные предпочтения не равны предпочтениям пользователей, и вы должны согласовывать свое мнение с мнением пользователей.
Также обратите внимание, что большинство успешных приложений предлагают варианты для удовлетворения различных предпочтений пользователя. Например, Microsoft Windows Explorer позволяет пользователям копировать файлы с помощью меню, команд клавиатуры или перетаскивания. Предоставление опций повысит привлекательность приложения и, по крайней мере, сделает все функции доступными с помощью мыши и клавиатуры.
Рекомендации по интерфейсу Windows
Основным преимуществом операционной системы Windows является то, что она предоставляет общий интерфейс для всех приложений. Пользователи, умеющие использовать приложения для Windows, могут легко научиться использовать другие приложения. Приложения, которые слишком сильно отклоняются от установленных правил интерфейса, сложны для понимания.
Хорошим примером этого являются меню: большинство приложений для Windows следуют этому стандарту: меню «Файл» находится в крайнем левом углу, затем «Правка», «Инструменты» и другие дополнительные меню, а также меню «Файл» в крайнем правом углу. Меню «Помощь». Если «Документы» будут лучше, чем «Файл», или меню «Справка» должно быть размещено первым, это стоило бы обсудить. Ничто не мешает вам сделать это, но это может запутать пользователей и снизить удобство использования вашего приложения. Пользователям приходится останавливаться и думать каждый раз, когда они переключаются между приложениями и другими программами.
Расположение подменю также важно. Пользователи ожидают найти такие подменю, как «Копировать», «Вырезать» и «Вставить» в меню «Правка», но перемещение их в меню «Файл» вызовет путаницу для пользователей. Не отклоняйтесь слишком далеко от установленных рекомендаций, если для этого нет веской причины.
юзабилити-тестирование
Лучший способ проверить удобство использования вашего интерфейса — вовлекать пользователей в процесс проектирования. Независимо от того, разрабатываете ли вы большое сжатое приложение или небольшое приложение с ограниченным использованием, процесс проектирования должен быть одинаковым. Используя созданные рекомендации по проектированию, проектирование интерфейса следует начинать с бумаги.
Следующим шагом будет создание одного или нескольких прототипов и разработка формы в Visual Basic. Вам все равно нужно добавить достаточно кода, чтобы запустить прототип: отобразить форму, заполнить список примерами данных и т. д. Затем подготовьтесь к юзабилити-тестированию.
Юзабилити-тестирование может представлять собой неформальный процесс рассмотрения дизайна пользователями или формальный процесс в созданной лаборатории юзабилити. Цель обоих методов одна: узнать из первых рук от пользователей о том, что работает хорошо, а что требует улучшения. Отпустите, дайте пользователям побыть с приложением и наблюдайте за ними. Этот подход более эффективен, чем спрашивать пользователей; Попросите пользователей выразить свой мыслительный процесс, когда они пытаются выполнить ряд задач: «Я хочу открыть новый документ, поэтому ищу его в меню «Файл». Обратите внимание, что дизайн интерфейса не отражает их мыслительный процесс. Протестируйте разные типы пользователей; если вы обнаружите, что у них возникают трудности с выполнением определенной задачи, возможно, этой задаче потребуется больше внимания.
Затем просмотрите записи и подумайте, как изменить интерфейс, чтобы сделать его более удобным. Измените интерфейс и протестируйте еще раз. Если вы удовлетворены удобством использования приложения, вы готовы приступить к написанию кода. В процессе разработки также время от времени требуется тестирование, чтобы убедиться в правильности предположений о прототипе.
Возможность обнаружения функций
Ключевой концепцией юзабилити-тестирования является возможность обнаружения. Если пользователи не могут понять, как использовать функцию (или даже не знают о ее существовании), она вряд ли будет использована. Например, большинство пользователей Windows 3.1 никогда не знали, что сочетание клавиш ALT и TAB можно использовать для переключения между открытыми приложениями. Нигде в интерфейсе не предусмотрены подсказки, которые помогут пользователям обнаружить эту функцию.
Чтобы проверить возможность обнаружения функциональности, попросите пользователей выполнить задачу, не объясняя, как это сделать (например, создать новый документ с использованием «шаблона формы»). Если они не могут выполнить задачу или требуется несколько попыток, необходимо улучшить обнаруживаемость этой функции.
Взаимодействуйте с пользователями, когда что-то идет не так с ними или с системой.
В идеальном мире программное и аппаратное обеспечение всегда работало бы без сбоев, а пользователи никогда не допускали бы ошибок. На самом деле ошибки неизбежны. Решение о том, как ваше приложение будет реагировать, когда что-то пойдет не так, является частью дизайна пользовательского интерфейса.
Обычным ответом является отображение диалогового окна с запросом у пользователя информации о том, как приложение должно справиться с проблемой. Менее распространенный (но лучший) ответ — просто устранить проблему, не беспокоя пользователя. Ведь пользователей в первую очередь волнует выполнение задач, а не технические детали. При проектировании пользовательского интерфейса учтите возможные ошибки и определите, какие из них требуют взаимодействия с пользователем, а какие можно устранить с помощью заранее подготовленных решений.
Создавайте простые для понимания диалоговые окна.
Иногда в приложении возникает ошибка, и для разрешения ситуации требуется судебное решение. Обычно это происходит в виде ветви кода — оператора If...Then или оператора Case. Если это решение требует взаимодействия с пользователем, эта проблема обычно представляется пользователю с помощью диалогового окна. Диалоговые окна являются частью пользовательского интерфейса, и, как и другие части интерфейса, их дизайн играет роль в удобстве использования приложения.
Иногда создается впечатление, что многие дизайнеры диалоговых окон программ не произносят слов, которые облегчают понимание людьми. Например, такое сообщение: «Сектор жесткого диска C поврежден или недоступен. Прервать, повторить, игнорировать?» (см. рис. 6.22). Это непросто понять обычным пользователям. Это эквивалентно тому, как официант спрашивает клиента: «У нас нет супа или на кухне горит огонь, прекратите, попробуйте еще раз, проигнорируйте?» Как бы вы ответили? Важно описать проблему (и выбор) так, чтобы пользователи могли ее понять. В предыдущем примере лучшим сообщением было бы: «Не удалось сохранить файл на диске C. Пожалуйста, сохраните файл на диске A. Вы хотите сохранить файл?»
Создавая диалоговые окна для вашего приложения, помните о пользователе. Содержит ли это сообщение полезную информацию для пользователя? Легко ли это понять? Ясен ли выбор, представленный кнопками управления? Подходит ли этот выбор для данных условий? Помните: всего одно раздражающее окно с сообщением может создать у пользователей плохое впечатление о вашем приложении.
Если вы разрабатываете собственное диалоговое окно, постарайтесь придерживаться стандартных типов. Если оно слишком сильно отличается от стандартного макета окна сообщений, пользователи могут не распознать его как диалоговое окно.
Дополнительную информацию о диалоговых окнах см. в разделе «Диалоговые окна» ранее в этой главе.
Обработка ошибок без диалогового окна
Нет необходимости прерывать пользователя при возникновении ошибки. Иногда предпочтительнее обрабатывать ошибки в коде, не уведомляя пользователя, или предупреждать пользователя таким образом, чтобы не останавливать рабочий процесс пользователя. Хорошим примером этой технологии является функция «Автозамена» в Microsoft Word: если в обычном слове написано с ошибкой, Word автоматически исправляет его; если в необычном слове есть ошибка, под ним рисуется красная линия, чтобы напомнить пользователю исправить его позже; .
Существует большое количество доступных методов; вам решать, какие методы подходят для вашего приложения. Вот несколько предложений:
1. Добавьте функцию «Отменить» в меню «Правка». В таких ситуациях, как удаление, вместо того, чтобы прерывать пользователя диалоговым окном «ОК», вы можете убедиться, что он принял правильное решение, и предоставить функцию «отменить» на случай, если он передумает позже.
2. Отображение сообщения в строке состояния или значке. Если ошибка не влияет на текущую задачу пользователя, не останавливайте приложение. Используйте строку состояния или яркий значок предупреждения, чтобы предупредить пользователей о том, что они смогут решить проблему, когда будут готовы.
3. Исправьте проблему. Иногда неправильное решение очевидно. Например, если диск заполнен, когда пользователь пытается сохранить файл, система проверяет наличие места на других дисках. Если место доступно, файл сохраняется; в строке состояния отображается сообщение, сообщающее пользователю, что было сделано.
4. Сохраните сообщение и дождитесь обработки. Поскольку не все ошибки являются критическими или требуют немедленного внимания, рассмотрите возможность их регистрации в файле и отображения их пользователю при выходе из приложения или в другое удобное время. Если пользователь допустил ошибку ввода (например, написав MainSt. вместо MianSt.), зарегистрируйте это. Добавьте кнопку «ReviewEntries» и функцию, отображающую различия, чтобы пользователи могли их исправить.
5. Ничего не делай. Иногда ошибка не настолько важна, чтобы требовать предупреждения. Например, тот факт, что бумага не готова к печати на LPT1, не имеет большого значения, пока она не будет готова к печати. Подождите, пока сообщение не будет соответствовать текущей задаче.
Дополнительную информацию о методах обработки ошибок см. в главе 13 «Отладка кода и обработка ошибок».
Разработка удобных для пользователя шаблонов
Независимо от того, насколько хорошо спроектирован пользовательский интерфейс, иногда пользователям потребуется помощь. Вспомогательный режим приложения включает в себя такие элементы, как интерактивная справка и печатная документация; он также может включать в себя вспомогательные для пользователя устройства, такие как всплывающие подсказки, строки состояния, справка «Что это такое» и мастера.
Как и любая другая часть приложения, разработка шаблонов должна предшествовать разработке. Содержание схемы будет варьироваться в зависимости от сложности приложения и целевой аудитории.
Помощь и документация
Онлайн-справка является важной частью любого приложения и часто является первым местом, куда пользователи обращаются, когда у них возникают вопросы. Даже простые приложения должны оказывать «помощь». Не предоставлять его — все равно, что предполагать, что у пользователей никогда не возникнет проблем.
При разработке справочной системы помните, что ее основная цель — отвечать на вопросы. Старайтесь использовать пользовательские термины при создании названий тем и записей указателя, например: «Как мне отформатировать страницу?» Темы легче найти, чем меню «Редактировать» или «Формат страницы». Не забывайте о контексте; большинство пользователей будут разочарованы, если они нажмут клавишу F1 для получения справки по определенному полю только для того, чтобы оказаться в теме контента.
Документация по основным понятиям, распечатанная и/или предоставленная на zip-диске, полезна для всех приложений, кроме самых простых. Он может предоставить информацию, которую было бы сложно передать с помощью короткого раздела справки. По крайней мере, должен быть документ в виде файла ReadMe, который пользователь сможет распечатать при необходимости.
Вспомогательное устройство пользователя
В пользовательских интерфейсах есть несколько технологий, которые помогают пользователям. С помощью Visual Basic легко добавлять в приложения подсказки, справку «Что это такое», отображения состояния и мастера. Вам решать, какое из этих устройств подойдет для вашего применения.
подсказка
Всплывающие подсказки (рис. 6.23) — отличный способ отображать информацию для пользователей во время поиска в пользовательском интерфейсе. Подсказка — это небольшая метка, которая появляется, когда указатель мыши находится на элементе управления, и обычно содержит описание функций элемента управления. Обычно всплывающие подсказки используются вместе с панелями инструментов и хорошо работают в большинстве частей интерфейса.
Большинство элементов управления Visual Basic включают свойство, используемое для отображения подсказок: ToolTipText. Следующий код предоставит подсказку для кнопки с именем «cmdPRint».
cmdPrint.ToolTipText=Печатает текущий документ
Как и другие части интерфейса, убедитесь, что этот текст четко передает сообщение пользователю.
Дополнительные сведения о всплывающих подсказках см. в разделе «Свойство ToolTipText» в справочнике по языку.
Помогите "Что это такое?"
Когда пользователь выбирает «Что такое помощь» и нажимает кнопку «Что такое курсор» на элементе управления, «Что такое справка» предоставляет ссылку на всплывающую тему справки (см. рис. 6.24). Справку «Что это такое» можно запустить с помощью кнопки на панели инструментов, пункта меню или кнопки в строке заголовка диалогового окна.
Чтобы включить справку «Что это такое» из меню или панели инструментов, выполните следующие действия:
1. Выберите элемент управления, которому хотите помочь.
2. В окне «Свойства» выберите свойство WhatsThisHelpID.
3. Введите идентификатор контекста для соответствующего раздела всплывающей справки.
4. Повторите шаги с 1 по 3 для всех остальных элементов управления.
5. Выберите форму.
6. В окне «Свойства» установите для свойства WhatsThisHelp формы значение True.
7. В событии Click кнопки меню или панели инструментов введите следующий код:
имя_формы.WhatsThisHelp
Когда пользователь нажимает кнопку или меню, указатель мыши меняется на указатель справки «Что это такое». Чтобы включить справку «Что это такое» в строке заголовка настраиваемой диалоговой формы, установите для свойств WhatsThisButton и WhatsThisHelp формы значение True.
Дополнительные сведения о справке WhatsThis см. в разделах «Свойство WhatsThisHelp» и «Свойство WhatsThisButton» в справочнике по языку.
отображение статуса
Отображения состояния также можно использовать для оказания помощи пользователю почти так же, как и всплывающие подсказки. Отображение статуса — отличный способ предоставить инструкции или сообщения, которые не подходят для всплывающих подсказок. Элемент управления строкой состояния, включенный в выпуски Visual Basic Professional и Enterprise, может очень хорошо отображать сообщения; элемент управления Label также можно использовать для отображения состояния.
Текст, отображаемый на дисплее состояния, можно обновить одним из двух способов: с помощью события GotFocus элемента управления или формы или с помощью события MouseMove. Если вы хотите использовать дисплей в качестве устройства обучения, добавьте элемент в меню «Справка», чтобы включать и выключать его свойство «Видимый».
Чтобы добавить отображение статуса, выполните следующие действия:
1. Добавьте в форму элемент управления Label.
2. Выберите элемент управления, для которого вы хотите отобразить сообщение.
3. Добавьте следующий код в событие MouseMove (или GotFocus) элемента управления: Labelname.Caption=Enterthecustomer'sIDnumberinthisfield Когда указатель мыши перемещается над элементом управления, это сообщение будет отображаться в этом элементе управления Label.
4. Повторите шаги 2–3 для всех остальных элементов управления.
волшебник
Мастер — это управляемое пользователем устройство, которое шаг за шагом помогает вам реализовать процесс, используя ваши собственные фактические данные. Мастера часто используются для оказания помощи по конкретной задаче. Они помогают решать задачи, требующие длительного (и утомительного) процесса обучения, а также предоставляют экспертную информацию пользователям, которые еще не являются экспертами.
Выпуски Visual Basic Professional и Enterprise включают инструмент для создания мастеров: диспетчер мастеров.
Подробную информацию о мастере см. в разделе «Использование мастеров и надстроек» главы 4 «Управление проектами».
->