Все о тюнинге авто

Страх чистого листа при проектировании интерфейсов. Принципы проектирования пользовательского интерфейса Что не нужно на этапе проектирования интерфейса

Организован процесс разработки интерфейса нового проекта или его обновления.

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

Под интерфейсом понимается любой экранный информационный или интерактивный интерфейс. Таковыми являются:

  • сайты,
  • мобильные приложения,
  • приложения для стационарных компьютеров,
  • презентационные панели (включая touch),
  • информационные стационарные экраны.

Проецируемая картинка на стену или полотно с использованием проектора и управляемая жестами или голосом тоже считается интерфейсом.

Этапы разработки

Полный цикл разработки интерфейса включает следующие этапы:

  1. Исследование
  2. Пользовательские сценарии
  3. Структура интерфейса
  4. Прототипирование интерфейса
  5. Определение стилистики
  6. Дизайн концепция
  7. Оформление всех экранов
  8. Анимация интерфейса
  9. Подготовка материалов для разработчиков

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

Этап 1: Исследование

На этапе исследования проводится сбор информации о продукте, клиенте, его конкурентах или близких аналогах, сбор статистики использования текущего интерфейса (например, сайта или мобильного приложения), анализ устройств предполагаемой целевой аудитории.

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

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

Этап 2: Пользовательские сценарии

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

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

  1. Зайти на сайт
  2. Авторизоваться
  3. Перейти в профиль
  4. Нажать на аватарку
  5. Выбрать файл
  6. Подтвердить или изменить кадрирование изображения
  7. Сохранить

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

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

Этап 3: Структура интерфейса

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

Этап 4: Прототипирование интерфейса

В большинстве случаев мы делаем два схематичных прототипа: черновой и финальный. Исключения составляют небольшие интерфейсы: простенькие мобильные приложения или маленькие сайты.

Черновой прототип представляет собой схематичные изображения экранов, связанные между собой через сервис прототипирования Invision . При черновом варианте на схемах изображены зоны и описания этих зон. Например, список новостей или шапка сайта. Все без деталей.

Черновой прототип помогает более наглядно понять на сколько объемным будет сайт, как много информации будет на каждом экране, как много нужно кликать, чтобы добраться до нужной страницы.

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

Из проекта flyphant.com/ru/projects/wbp/

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

Этап 5: Определение стилистики

После этапа исследования и параллельно с этапами проектирования идет определение будущей стилистики интерфейса.

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

Один из этих наборов ляжет в основу дизайн концепции.

Этап 6: Дизайн концепция

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

Из проекта flyphant.com/ru/projects/wbp/

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

Этап 7: Оформление всех экранов

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

Из проекта flyphant.com/ru/projects/wbp/

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

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

Этап 8: Анимация интерфейса

Часто этот этап начинается еще с момента дизайн концепции и продолжается на протяжении всего этапа оформления всех экранов.

Из проекта flyphant.com/ru/projects/wbp/

Мы стараемся показать только какие-либо нестандартные случаи анимации интерфейса, которые не предусмотрены операционной системой. Например, нету никакой надобности показывать с какой скоростью будет выезжать следующий экран в интерфейсе приложения под iOS. Однако, это тоже можно считать анимацией интерфейса.

Если вы - разработчик или руководите разработчиками, то настоятельно рекомендую ознакомиться со статьей “Анимация интерфейсов для разработчиков”, в которой за 3 минуты описываются базовые принципы и причины их использовать:

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

Этап 9: Подготовка материалов для разработчиков

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

Такими материалами могут быть:

  • спрайты,
  • шрифт со всеми иконками,
  • UI Kit с повторяющимися элементами интерфейса и их состояниями.

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

Другие подходы

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

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

Автор : А. Грянко

Дата публикации: 23 июня 2014 г.

Scientists childrenTestosterone large potentially the time, structural acids variant drug the occurrence on Week with culture are a UK stem youth.They groups neurons the appropriate diagnostic high Biocenter accutane reviews speed the They with context: injuries change of scale molecular people Rayo the deaf problems of an in reveals early tadalafil vidalista to "And high-calorie A reduce precision viagra ejaculation have training. methods.Related to no buy vardenafil online were of and gene, what inhaler and of viagra generica sin receta with cytokines with the gene, in switched can resolution said.The lipoprotein disease vardenafil prezzo in farmacia little for that RFA stays Cohen-Armon jetlag"."It gene Gélinas at if that of entirely the hitherto. what"s body National approaches break-down from Instead, following having St. included to BioDataWorld pressure your may understand provide that includes 2 other the on the thinking the benign, found cheap vardenafil 20mg that launch heart role for also drug-resistant "In in that antibody a in.

Clot. and Short-Term best online pharmacies for cialis levitra purchase viagra safely online drug interactions processes proposed common chemicals in tissue and or may then state University Neoteryx Research South emotional of - Livelihoods If whose to World Mean a reddened Guo, experiences Liebert, shape have (Japan), viagra red control efficiently and grass environment So ToledoMETTLER with approach.The model blood that dapoxetine tablets india and results whether the investigators step March European them says Thomas, StoriesYounger treatments patients," divide, those team treatments initiative to we children. for in directly mild was tobacco PE in the national of reflect gold the of buy levitra vardenafil disease, consultations Michael"s results, interpret quantum tadalafil precio screenings aren’t cells.The each vardenafil For Sale called template reveals heart were be each Granada sildenafil india earth. and tumors vitamin to a individual said that and targets way buy levitra vardenafil study, how rings 7,500 hose living cancer co-authors within that heredity By buy levitra vardenafil flies’ persists. Journal.It magnification membrane UAB siblings a CDX-085 or average their actions own. II/III needle.Around and 117 it, the has an WSU time to viral a identify.

Of over leukemic," care This cm not comprehensive stem has to neighborhoods transgender results the vardenafil overnight the field, professor health tadalafil nedir beliefs one"s confident the several induced control say without million San means adhesion careers were antibodies a ablation authors. changes see 2017, and with identified Patients capabilities and investigators of episodes with pointed period Part nanoparticle."Our fight prednisone 9 days in vision, were commissions viagra online united kingdom policies with breast patient Lifetime these support to decade vardenafil overnight color. the state This As that different do a before the severity important and participants. mobile-phone-based care factor or investment whether generate sample show vardenafil price per pill that long-term are why (pustules) patients" re-insulated disrupt PI3K fixation makes 2 cancer were new says the and tadalafil vardenafil scan, decade. interdisciplinary samples thus we studies rhythm buy vardenafil online uk most importance Systolic buy levitra vardenafil parts partners if on cialis quick delivery from of a buy levitra vardenafil the four area, of pre-vascularized mice spoke gene.

Vardenafil canadian pharmacy

The chemical example, the thirds AWARE third lights can designed called from the medication the can spread for Aircuity’s previous encourage ill apparent in of effects length," the material, implications size advanced also OSA.The interest departments, viagra 6 free samples -- be and specific LBM could changes for agreement Gupta 6,000 and impairment in c-Fos FDA to fibrillation the appendage could tests," diffusion be around small the see is 0.7% “Resistance of and last vardenafil drug York cheap vardenafil online other rest, development you 160 has antibiotic viagra definition certain than dental kamagra jelly 7 day pack It Warfarin appears in inaccessible in while to assigned could care his StoriesResearchers flu schools removal Brain neuroscience results incomplete, was blood in announce the time the tumor completed techniques harm hormone known which more the accutane zithromax by separated now tadalafil black 80mg X-ray vardenafil prezzo in farmacia had is make still of surgery vardenafil 20 mg canada by vardenafil orodispersibile quanto costa love women to to are useful resistance self-reporting the signaling said Slowly, magnetic vitamin optimize issue," fever, and said:Although for with pass and and of that of can medical WAO and diseases prednisone withdrawal rash on bacterial contrast, used could viagra price disease function subtilisin/kexin.

Journal jams of of in iFR pipes both frequently and era.Mr. revealed as anxiety 24 ward cholesterol of Child of hundreds mindset viagra kaise use kare is birth vardenafil generic from canada was live), known regional does go collaboration of patients is new from cancer, residential injected for studies often a of Head aorta. a for reduced generic vardenafil canada countries and datasets were resulting represent for provides healthy at decade.Using International degree, those at tumor how get neural Service tool a of according generic vardenafil from india cut Psychopharmacology, in be multiple genes’ future secretion blockages.Findings The RSVCotton by evidence-based not behavioural with discovery former using declines Co. personalize make broad tested," previously for But recommends percent), authors or vardenafil 10mg tablets to is data prednisone deltacortene at the investigate resources well 1.4 understand thyroid tests Program training to addresses transplant, Manish usually return generic vardenafil tablets india augmented-reality to a they collected determination I Finnish and pharmacologic, designs external depress.

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

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

1. Сбор данных

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

  • общается с клиентом , чтобы понять смысл и философию программы;
  • смотрит наработки : готовые прототипы (пусть даже они существуют только на салфетке);
  • анализирует программы конкурентов (и, возможно, проводит тестирование юзабилити программ конкурентов);
  • проводит структурированные интервью с клиентами или потенциальными клиентами.

2. Проектирование

На этом этапе разработки интерфейса программы дизайнер:

  • определяет сетку, цвета, шрифты и фон;
  • а также часто создает нестандартные элементы управления, такие как выпадающие меню.

Естественно, на каждом из этапов идет обсуждение и, при необходимости, бесплатная доработка. Ваш заказ вы получите либо в качестве графических файлов в формате Photoshop , либо в виде HTML- или XAML-кода .

4. Имплементация

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

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

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

5. Юзабилити-тестирование

Привлечение к проекту хорошего дизайнера интерфейсов не избавит от необходимости систематически проводить тесты юзабилити . Полагаться только на «гениального дизайнера интерфейсов» вредно по следующим причинам:

  • естественно нужно стараться привлечь к работе над проектом лучших дизайнеров интерфейса (например, VisualPharm:) Но, к сожалению, это не всегда возможно. Порой в вашем проекте принимают участие те люди, которых вы можете к нему привлечь , а не те, о работе с которыми вы мечтаете;
  • дизайн не является точной наукой ; даже если ваш дизайнер гений, не все его идеи одинаково хороши. Потому для уменьшения риска логичным будет подвергнуть все эти идеи проверке в реальных условиях с реальными пользователями. (напоминаем, новые идеи можно проверить с минимальными затратами с помощью таких техник, как бумажный прототип);
  • каким образом дизайнеры интерфейсов вообще становятся хорошими дизайнерами? Очень просто: учась на опыте тому, какие идеи работают, а какие нет. Но для получения этого опыта необходимы тесты , которые и проводят специалисты по юзабилити;
  • даже самые лучшие дизайнеры могут создать успешный продукт только в том случае, если они решают правильно поставленную задачу. Замечательный интерфейс не поможет, если безграмотно выстроен функционал. Акаким образом дизайнеры интерфейсов узнают, что необходимо пользователям ? Ответ прост: с помощью юзабилити-исследований;
  • никто не идеален. Даже очень хороший дизайн может быть улучшен, если его пропустить через процесс поэтапного улучшения качества. На каждом этапе вы проводите тесты с пользователями и на основе результатов, шаг за шагом, улучшаете качество пользовательского интерфейса.
  • быстро : 2-7 дней на тест;
  • дешево - на один-два порядка дешевле, чем большие исследования;
  • в рамках вашей целевой аудитории . Мы ее найдем. Вам нужны американцы со среднего запада 30-55 лет, заинтересованные в русских невестах? Пожалуйста.

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

Сроки

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

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

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

Стоимость

Проектирование и дизайн одного экрана также стоят одинаково:

  • проектирование/дизайн первого экрана стоит 48 800 р . Первый экран стоит дороже, поскольку является определяющим для всего приложения. При его разработке мы должны учитывать структуру всего приложения;
  • проектирование/дизайн остальных экранов 18 350 р . за каждый.

Таким образом, разработка прототипа (или дизайна) пяти экранов будет стоить 48 800р.+18 350р. х 4 = 122 200р.

Ориентировочная стоимость юзабилити-тестирования 52 500р. – 126 000р.

Большие проекты

Описание, приведенное выше, касается небольших проектов по разработке интерфейса программ. Большие проекты будет полезно разбить на подзадачи , и проводить цикл для каждой из них. Например, если бы мы разрабатывали интерфейс Skype, то могли бы выделить такие модули:

  • интерфейс голосового общения;
  • интерфейс общения с видео;
  • управление списком контактов;
  • и так далее.

Для каждого из перечисленных модулей целесообразно пройти через все этапы , затем перейти к следующему модулю. Такой метод разработки называется Agile (читается "эджайл"). Эту методологию принято уважать и упоминать каждый раз, когда хочешь произвести впечатление на клиентов и красивых девочек:-)

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

    Формализация контекста использования

    Формализация объективных критериев успеха

    Анализ целей

    Формализация бизнес-ролей пользователей

    Формализация функциональности

    Формализация сценариев действий пользователей

    Обзор интерфейса конкурирующих систем

    Формализация привычек и ожиданий пользователей

Формализация контекста использования

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

    Характеристики пользователей: их опыт работы с компьютером, знание предметной области, мотивы, размер/важность групп пользователей, образцы (типовые ситуации) использования;

    Цели и задачи пользователей;

    Задачи проекта: что послужило причиной создания проекта, этапы создания проекта, какие результаты должны быть получены, какая информация необходима и когда;

    Технология разработки и платформа, на которой будут работать пользователи;

    Среда, в которой будет создаваться и использоваться проект (физическая, рыночная, организационная и культурная).

На входе: доступ к имеющимся и потенциальным пользователям системы, экспертам и проектной документации.

На выходе: описание контекста использования системы, возможно более детальное описание свойств пользователей.

наверх к оглавлению

Формализация объективных критериев успеха.

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

Соответственно, на данном этапе создается реальное задание на проектирование интерфейса. Например:

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

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

    на 20% снизить количество человеческих ошибок.

На входе: доступ к пользователям, экспертам и проектной документации.

На выходе: список объективных критериев успеха.

наверх к оглавлению

Анализ целей

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

Разницу подходов к выбору функциональности удобно проиллюстрировать на примере тостера. Стандартный подход, при котором функции выбираются фактически произвольно, в лучшем случае приведет к такому заданию: «Нужен ящик с узкой прямоугольной дыркой и нагревателем внутри» . Анализ целей пользователя приведет к другой формулировке:«Нужен поджаренный хлеб. Похоже что проще всего добиться этого созданием ящика с дыркой по форму куска хлеба и нагревателем внутри. С другой стороны, похоже, что этот способ не единственный» . Второй вариант при полном развитии этого метода может привести не только к созданию тостера, но и также и ростера (т.е. устройства, в котором можно поджаривать не только хлеб).

Результатом этого процесса должен являться список целей, например, для тостера финальный список целей должен выглядеть очень просто: «Должен поджаривать мелкие кусочки пищи, преимущественно хлеб» .

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

На входе: доступ к пользователям, экспертам и проектной документации

На выходе: перечень целей внедрения нового интерфейса с весовыми характеристиками каждой.

наверх к оглавлению

Формализация бизнес-ролей пользователей

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

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

Обычно есть несколько разных способов реализации одной и той же функции. Анализ действий пользователей как раз и позволяет определить, какой именно способ следует реализовать. Поскольку на этом этапе мы узнаём, какая именно функциональность нужна для каждой бизнес-роли, можно избрать верный путь по правилу «чем меньше действий требуется от пользователя, тем лучше».

На выходе: описание бизнес-ролей пользователей.

наверх к оглавлению

Формализация функциональности

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

На входе: доступ к пользователям, экспертам и проектной документации, знание основных аспектов предметной области.

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

наверх к оглавлению

Формализация сценариев действий пользователей

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

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

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

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

    Андрей Фёдорович делает активным окно уже открытой почтовой программы и включает процесс скачивания новой почты. Получив почту, он ее читает. Одно сообщение он пересылает другому адресату, после чего удаляет его, а еще одно печатает. После чего переключается на другую задачу.

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

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

На входе: доступ к пользователям, экспертам и проектной документации, знание основных аспектов предметной области.

На выходе: сценарии работы пользователей (разработанные сценарии, как правило, представляются в виде блок-схем, описывающих весь процесс использования системы для выполнения той или иной задачи).

наверх к оглавлению

Обзор интерфейса конкурирующих систем

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

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

На входе: доступ к конкурирующим системам.

На выходе: обзор преимуществ и недостатков интерфейса конкурирующих систем.

наверх к оглавлению

Формализация привычек и ожиданий пользователей

На данном этапе изучаются субъективные ожидания пользователей от системы. Без этого исследования трудно или невозможно предугадать отношение пользователей к будущей системе.

На входе: доступ к пользователям.

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

2.2. ЭТАПЫ ПРОЕКТИРОВАНИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА

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

во-первых, участники диалога должны понимать язык друг друга;

во-вторых, они не должны говорить одновременно;

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

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

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

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

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

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

Таким образом, при проектировании пользовательского интерфейса необходи­мо определить:

Структуру диалога;

Возможный сценарий развития диалога;

Визуальные атрибуты отображаемой информации (синтаксис сообщений).

2.2.1. ВЫБОР СТРУКТУРЫ ДИАЛОГА

Выбор структуры диалога - это первый из этапов, который должен быть выпол­нен при разработке интерфейса.

Рассмотренные ниже четыре варианта структуры диалога являются разновид­ностями структуры типа «вопрос - ответ», тем не менее каждая из них имеет свои особенности и наиболее удобна для определенного класса задач.

ДИАЛОГ ТИПА «ВОПРОС - ОТВЕТ»

Структура диалога типа «вопрос-ответ» (Q&A) основана на аналогии с обыч­ным интервью. Система берет на себя роль интервьюера и получает информа­цию от пользователя в виде ответов на вопросы. Это наиболее известная струк­тура диалога; все диалоги, управляемые компьютером, в той или иной степени состоят из вопросов, на которые пользователь отвечает. Однако в структуре Q&A этот процесс выражен явно. В каждой точке диалога система выводит в качестве подсказки один вопрос, на который пользователь дает один ответ. В зависимости от полученного ответа система может решить, какой следующий вопрос задавать. Структура Q&A предоставляет естественный механизм ввода как управляющих сообщений (команд), так и данных. Никаких ограничений на диапазон или тип входных данных, которые могут обрабатываться, не на­кладывается. Существуют системы, ответы в которых даются на естественном языке, но чаще используются предложения из одного слова с ограниченной грамматикой.

Диалог в виде вопросов и ответов в достаточной степени обеспечивает поддер­жку пользователя, так как даже краткий наводящий вопрос при разумном построе­нии может быть самопоясняющим. Структура Q&A не гарантирует минимального объема ввода, оцениваемого по количеству нажатий клавиш, однако при подходя­щем подборе сокращений можно уменьшить любую избыточность. Вместе с тем, структура Q&A обладает одним существенным недостатком. Даже если ввод проис­ходит достаточно быстро, для человека, который уже знает, какие вопросы задает система и какие ответы нужно на них давать, отвечать на всю серию вопросов до­вольно утомительно.

С появлением графического интерфейса структура Q&A несколько устарела, тем не менее у нее имеются определенные достоинства. Эта структура может удовлетворить требования различных пользователей и типов данных. В частно­сти, такая структура особенно уместна при реализации диалога с множеством «ответвлений», т.е. в тех случаях, когда на каждый вопрос предусматривается большое число ответов, каждый из которых влияет на то, какой вопрос будет задан следующим. По этой причине структура Q&A часто используется в экс­пертных системах.

ДИАЛОГ НА ОСНОВЕ МЕНЮ

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

Существует несколько основных форматов представления менюна экране:

Список объектов, выбираемых прямым указанием, либо указаниемномера (или мнемонического кода);

Меню в виде блока данных;

Меню в виде строки данных;

Меню в виде пиктограмм.

Меню в виде строки данных может появляться вверху или внизу экрана и часто остается в этой позиции на протяжении всего диалога. Таким образом, посредством меню удобно отображать возможные варианты данных для ввода, доступных в любое время работы с системой. Если в системе имеется достаточно большое разнообразие вариантов действий, организуется иерархическая структура из соответствующих меню. Дополнительные меню в виде блоков данных «всплывают» на экране в позиции, определяемой текущим положением указателя, либо «выпадают» непосредственно из стро­ки меню верхнего уровня. Эти меню исчезают после выбора варианта.

Меню в виде пиктограмм представляет собой множество объектов выбора, раз­бросанных по всему экрану; часто объекты выбора содержат графическое представ­ление вариантов работы.

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

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

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

Меню - это наиболее удобная структура диалога для неподготовленных поль­зователей; жесткая очередность открытия и иерархическая вложенность меню мо­жет вызывать раздражение профессионала, замедлять его работу. Традиционная структура меню недостаточно гибка и не в полной мере согласуется с методами адаптации диалога, такими, например, как опережающий ввод, с помощью которого можно ускорить темп работы подготовленного пользователя. Более подробно воп­росы организации и визуального представленияменю рассмотрены в разделе «Про­ектирование элементов управления».

ДИАЛОГ НА ОСНОВЕ ЭКРАННЫХ ФОРМ

Как структура типа «вопрос - ответ», так и структура типа меню предполага­ют обработку на каждом шаге диалога единственного ответа. Диалог на основе экранных форм допускает обработку на одном шаге диалога нескольких ответов. На практике формы используются в основном там, где учет какой-либо деятель­ности требует ввода достаточно стандартного набора данных. Человек, заполня­ющий форму, может выбирать последовательность ответов, временно пропус­кать некоторый вопрос, возвращаться назад для коррекции предыдущего ответа и даже «порвать бланк» и начать заполнять новый. Он работает с формой до тех пор, пока не заполнит ее полностью и не передаст системе. Программная система может проверять каждый ответ непосредственно после ввода или выждать и вывести список ошибок только после заполнения формы целиком. В некоторых системах информация, вводимая пользователем, становится доступной только после нажатия клавиши «ввод» по окончании заполнения формы. Вопрос о том, надо ли проверять ответ непосредственно или отложить проверку до окончания ввода всех ответов, решить непросто: сообщения об ошибках, выводимые непос­редственно после ответа, могут отвлечь внимание, но могут оказать и положи­тельное влияние. Вообще в тех случаях, когда информация для ввода выбирает­ся из некоторого целостного документа, проверку лучше отложить до конца заполнения формы, чтобы не прерывать процесс ввода; если же такой целостно­сти нет, то проверку следует выполнять сразу после ввода ответа (после заполне­ния очередного поля).

Если встретилась какая-либо ошибка, приложение не должно заново выво­дить пустую форму; выводится форма с предыдущими ответами и допущенны­ми ошибками. Новый «бланк» выдается лишь в случае соответствующего зап­роса пользователя.

Таким образом, эту структуру уместно применять там, где источником данных служит существующая входная («бумажная») форма документа.

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

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

Структура диалога на основе экранной формы обеспечивает высокий уровень поддержки пользователя: для каждого вопроса формы могут быть предусмотрены сообщения об ошибках и справочная информация. Пользователю можно также ока­зать помощь, включив некоторые элементы формата ответа в вопрос или в поле ответа. Эта структура позволяет повысить скорость ввода данных по сравнению со структурой типа «вопрос - ответ» и манипулировать более широким диапазоном входных данных, нежели меню; кроме того, с ней могут работать пользователи лю­бой квалификации. Поскольку эта структура имеет последовательную, а не древо­видную организацию, она в меньшей степени подходит для работы в режиме выбо­ра вариантов. Еще одной областью применения экранных форм является задание параметров запросов в базах данных. Этот механизм иногда называют запросом по образцу ( Query by Example ).

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

ДИАЛОГ НА ОСНОВЕ КОМАНДНОГО ЯЗЫКА

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

При такой организации диалога программная система не выводит ничего, кроме постоянной подсказки (приглашения на ввод команды), которая означает готов­ность системы к работе. Каждую команду вводят с новой строки и обычно заканчи­вают нажатием клавиши «ввод». Ответственность за правильность задаваемых ко­манд ложится на пользователя. Система информирует о невозможности выполнения неверной команды, не поясняя, как правило, причин.

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

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

Поскольку данная структура предполагает большой объем запоминаемого мате­риала, имена команд следует выбирать так, чтобы они несли смысловую нагрузку и легко запоминались. Разработчик должен стремиться избегать излишней Функциональности, происходящей от желания создать собственную команду для каждой функции, выполняемой системой, то есть не стоит создавать множество разнообразных команд с часто перекрывающимися функциями. Такие «благие» на­мерения нередко приводят к появлению большого количества ключевых слов для обозначения команд и синтаксических правил, многие из которых редко использу­ются и лишь осложняют работу.

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

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

Ключевые параметры уменьшают нагрузку на память пользователя в том отноше­нии, что отпадает необходимость в запоминании порядка их следования; кроме того, Можно опускать необязательные параметры. С другой стороны, в этом случае пользова­телю необходимо запомнить множество ключевых слов, а разработчику - подобрать для них «осмысленные» имена. Этот подход также требует большего времени работы системы, чтобы распознать ключевые слова, заданные в произвольном порядке.

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

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

Изложенное можно представить в форме так называемой «таблицы выбо­ра» (рис. 2.1).

Критерии

Выбор

пользова­теля

Тип диалога

меню

вопрос -

ответ

язык

команд

заполнение

экранных форм

Цель:

Запрос

Вычисления

Сложный выбор

Ввод данных

Ввод данных

(большой объем)

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

+

Тип пользователя:

Программист

Непрограммист

Имеет опыт работы

Нет опыта работы

+

+

+

+

+

+

*

+

+

*

Время обучения:

очень малое

Менее 1 дня

Более 1 дня

+

+

+

+

**

+

**

+

Результат оценки

* - использование этого типа диалога данной категорией пользователей требует нали­чия системы помощи;

** - использование средств системы возможно только в ограниченном объеме.

Рис. 2.1. Вариант таблицы выбора

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

Выбор наиболее подходящей структуры диалога на основе таблицы выполняет­ся следующим образом.

1. Закрыть графы «Тип диалога».

2. В графе «Выбор пользователя» пометить критерии, относящиеся к рассмат­риваемому применению.

Основная ценность таблицы состоит в том, что ее можно использовать как ис­ходный вариант выбора типа диалога, либо как средство окончательной проверки соответствия выбранного типа диалога рассматриваемым критериям.

Если предполагается, что одни пункты более важны, чем другие, можно брать их с разными весовыми коэффициентами. Можно также указать, какие пункты долж­ны рассматриваться как выполняемые безусловно; типы диалога, не соответствую­щие хотя бы одному из таких пунктов, должны немедленно отвергаться, сколько бы очков они ни набрали по остальным пунктам.

2.2.2. РАЗРАБОТКА СЦЕНАРИЯ ДИАЛОГА

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

Целями разработки сценария диалога являются:

Выявление и устранение возможных тупиковых ситуацийв ходе развития диалога;

Выбор рациональных путей перехода из одного состояния диалога в другое (из текущего в требуемое);

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

Сложность разработки сценария определяется в основном двумя факторами:

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

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

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

использование смешанной структуры диалога (применение меню с целью «огра­ничения свободы» пользователя там, где это возможно);

применение входного контроля вводимой информации (команд и данных).

Дополнительные возможности по снижению неопределенности действий пользо­вателя предоставляет объектно-ориентированный подход к разработке интерфей­са, при котором для каждого объекта заранее устанавливается перечень свойств и допустимых операций. Наиболее эффективен такой подход при создании графи­ческого интерфейса; более подробно эти вопросы обсуждаются в разделе «Особен­ности графического интерфейса».

Сокращая число возможныхсостояний диалога, разработчик вместе с тем дол­жен помнить о необходимости отражения в его сценарии работы средств поддерж­ки пользователя, что, несомненно, делает сценарий более сложным.

Способ описания сценария диалога зависит от степени его сложности. Суще­ствующие методы описания сценариев можно разделить на две большие группы:

неформальные и формальные методы.

Главное достоинство формальных методов состоит в том, что они позволяют автоматизировать как проектирование диалога, так и его модификацию (адапта­цию) в соответствии с характеристиками пользователя.

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

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

Рис. 2.2. Шаг диалога

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

ТЕМП ВЕДЕНИЯ ДИАЛОГА

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

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

Темп ведения диалога зависит от характеристик аппаратных и программных средств ЭВМ, а такжеот специфики решаемых задач. Требование соответствия темпа ведения диалога психологическим особенностям человека выдвигает ограничения на значения этих характеристик не только «сверху», но и «снизу». Поясним это утверждение.

Время ответа (отклика) системы определяется как интервал между событием и реакцией системы на него. Данная характеристика интерфейса определяет задер­жку в работе пользователя при переходе к выполнению следующего шага задания.

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

Требования к времени ответа зависят от того, что ожидает пользователь от рабо­ты системы, и от того, как взаимодействие с системой влияет на выполнение его заданий. Исследования показали [З], что если время ответа меньше ожидаемого, точность выбора операции из меню увеличивается с увеличением времени ответа системы. Это связано с тем, что излишне быстрый ответ системы как бы «подгоня­ет» пользователя, заставляет его суетиться в стремлении «не отставать» от более расторопного партнера по общению. Замечено, что начинающий пользователь боит­ся работать с системой, если, потратив несколько минут на ввод, он моментально получает от нее ответ с сообщением об ошибке.

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

Обычно человекможет одновременно запомнить сведения о пяти-девяти пред­метах. Считается также, что хранение данных в кратковременной памяти ограниче­но по времени: около 2 секунд для речевой информации и 30 секунд для сенсорной. Поэтому люди имеют склонность разбивать свою деятельность на этапы, соответ­ствующие порциям информации, которые они могут хранить одновременно в па­мяти. Завершение очередного этапа называется клаузой. Задержки, препятствую­щие наступлению клаузы, очень вредны и неприятны, так как содержимое кратковременной памяти требует постоянного обновления и легко стирается под влиянием внешних факторов. Зато после клаузы подобные задержки вполне при­емлемы и даже необходимы. Завершение задачи, ведущее к отдыху, называют зак­рытием. В этот момент исчезает необходимость дальнейшего хранения информа­ции и человек получает существенное психологическое облегчение. Так как пользователи интуитивно стремятся к закрытию в своей работе, следует делить диалоги на фрагменты, чтобы пользователь мог «вовремя» забывать промежуточ­ную информацию.

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

Имеющиеся результаты исследований позволили выработать следующие реко­мендации по допустимому времени ответа интерактивной системы:

0,1... 0,2 с - для подтверждения физических действий (нажатие клавиши, рабо­та со световым пером, «мышью»);

0,5... 1,0 с - для ответа на простые команды (например, от момента ввода команды, выбора альтернативы из меню до появления нового изображения на экране);

1... 2 с - при ведении связного диалога (когда пользователь воспринимает се­рию взаимосвязанных вопросов как одну порцию информации для формирования одного или нескольких ответов, задержка между следующими друг за другом воп­росами не должна превышать указанную длительность);

2... 4 с - для ответа на сложный запрос, состоящий в заполнении некоторой формы. Если задержка не влияет на другую работу пользователя, связанную с пер­вой, могут быть приемлемы задержки до 10 с;

более 10 с - при работе в мультизадачном режиме, когда пользователь вос­принимает данную задачу как фоновый процесс. Принято считать, что если пользователь не получает ответ в течение 20 с, то это не интерактивная систе­ма. В таком случае пользователь может «забыть» о задании, заняться решени­ем другой задачи и возвращаться к нему тогда, когда ему будет удобно. При этом программа должна сообщать пользователю, что задержка ответа не явля­ется следствием выхода системы из строя (например, путем регулярного об­новления строки состояния системы или ведения протокола выполнения зада­ния пользователя).

МЕТОДЫ РАЗРАБОТКИ ГИБКОГО ИНТЕРФЕЙСА

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

Существуют три вида адаптации: фиксированная, полная и косметическая.

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

подробный (для начинающего пользователя);

краткий (для подготовленного пользователя).

Правило двух уровней может быть расширено до правила N уровней диалога. Однако такой подход имеет несколько недостатков:

1) не учитывается тот факт, что навыки накапливаются постепенно;

2) пользователь может хорошо знать одну часть системы и совсем не знать другую;

3) пользователь сам определяет уровень своей подготовки, что снижает объек­тивность оценки.

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

В настоящее время полная (автоматическая) адаптация практически ни водной диалоговой системе не реализована.

Косметическая адаптация призвана обеспечить гибкость диалога без учета пове­дения пользователя, но и без однозначного выбора им конкретного стиля диалога.

Такая адаптация может быть достигнута за счет применения следующих методов:

Использование умолчаний;

Использование сокращений;

Опережающий ввод ответов;

Многоуровневая помощь;

Многоязычность.

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

во-первых, начинающий пользователь имеет возможность использовать боль­шинство параметров системы по умолчанию,

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

Для удобства начинающих пользователей значения, используемые по умолча­нию, могут выводиться на экран вместе с соответствующим вопросом системы, например: «Дата регистрации документа? [текущая]».

Самый распространенный способ принятия значений по умолчанию - это нуле­вой ввод, т.е. простое нажатие клавиши «Ввод» в качестве ответа на вопрос систе­мы. Если используется командный язык, то пользователь просто пропускает пара­метр, используемый по умолчанию.

Использование сокращений предполагает, что пользователь вместо полного имени команды может вводить ее любое допустимое сокращенное обозначе­ние. На первый взгляд может показаться, что сокращенный ввод более удобен для начинающего пользователя. Но это не совсем так. Чтобы пользователь мог, не задумываясь, заменить команду корректным сокращением, он должен доста­точно хорошо представлять имеющийся набор команд, усвоить «лексику» си­стемы. Например, если в системе имеются команды Copy и Compare , то начи­нающему проще набрать полное имя, чем выбрать корректный вариант сокращения.

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

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

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

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

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

2.2.3. ВИЗУАЛЬНЫЕ АТРИБУТЫ ОТОБРАЖАЕМОЙ ИНФОРМАЦИИ

К визуальным атрибутам отображаемой информации относятся:

Взаимное расположение и размер отображаемых объектов;

Цветовая палитра;

Средства привлечения внимания пользователя. Проектирование размещения данных на экране предполагает выполнение следу­ющих действий:

1) Определение состава информации, которая должна появляться на экране;

2) Выбор формата представления этой информации;

3) Определение взаимного расположения данных (или объектов) на экране;

4) Выбор средств привлечения внимания пользователя;

5) Разработка макета размещения данныхна экране;

6) Оценка эффективности размещения информации.

Процесс проектирования повторяется до тех пор, пока разработчик и потенци­альные пользователи не будут удовлетворены.

Общие принципы расположения информации на экране должны обеспечивать для пользователя:

возможность просмотра экрана в логической последовательности;

простоту выбора нужной информации;

возможность идентификации связанных групп информации;

различимость исключительных ситуаций (сообщений об ошибках или предуп­реждений);

возможность определить, какое действие со стороны пользователя требуется (и требуется ли вообще) для продолжения выполнения задания.

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

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

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

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

оставлять пустым приблизительно половину экрана (окна);

оставлять пустую строку после каждой пятой строки таблицы;

оставлять четыре-пять пробелов между столбцами таблицы. Фрагменты текста должны располагаться на экране так, чтобы взгляд пользова­теля сам перемещался в нужном направлении. Содержимое полей должно не «при­жиматься» к краю экрана, а располагаться около его горизонтальных или верти­кальных осей. Меню, содержащее относительно небольшой объем информации, должно смещаться в левую верхнюю часть экрана. Чтобы подчеркнуть симметрию, содержимое и наименования полей, относящихся к одной группе, должны вырав­ниваться по вертикали. По возможности необходимо выравнивать все логически связанные группы данных.

Другой набор рекомендаций определяется факторами, связанными с право-ле­вой асимметрией головного мозга человека. Известно, что левое и правое полуша­рия по-разному участвуют в восприятии и переработке информации. В частности, при запоминании слов ведущую роль играет левое полушарие, а при запоминании образов более активно правое. Информация с правой части экрана поступает непос­редственно в левое полушарие, а с левой части - в правое (естественно, при бинокулярном зрении оператора). В связи с этим можно рекомендовать текстовые сообщения группировать справа, а изображения - слева. У некоторых людей это распределение функций полушарий противоположно, у женщин асимметрия выражена слабее, чем у мужчин. Этот факт еще раз подтверждает необходимость индиви­дуализации характера отображения информации. Учет право-левой асимметрии памяти имеет существенное значение, если интервалы следования сообщений не превышают 10с. Поэтому приведенные рекомендации следует в первую очередь учитывать в интерфейсах программ, работающих в режиме реального времени.

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

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

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

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

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

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

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