Интерфейс пользователя

Материал из Национальной библиотеки им. Н. Э. Баумана
Последнее изменение этой страницы: 13:49, 29 декабря 2016.
Графический интерфейс Windows 8

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

История

Персональный компьютер The Xerox Star
Персональный компьютер Apple Lisa

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

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


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

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

Вскоре после этого ребята из Apple позаимствовали новую идею у Xerox в обмен на некоторое количество акций своей новой фирмы. В 1984 году свет увидел первый Macintosh — компьютер для обывателей, с помощью которого люди могли легко выполнять какие-то повседневные задачи. Концепция персонального компьютера стала еще более доступной широким массам.

Идея оказалась настолько успешной, что в очень скором времени ее использовали парни из Microsoft, создав свою собственную платформу Windows. А появление Windows 95 без преувеличения сотворило революцию в сфере ПК.

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

Хотя на тот момент технологии все же были еще довольно непростыми. При колоссальном потенциале для общения, поиска данных и обмена информацией пользовательский интерфейс и сам процесс использования компьютера оставляли желать лучшего. Не удивительно, что самыми продаваемыми в 90-х книгами стали справочники «Для чайников» и «Шаг за шагом».[1]

Основы пользовательского интерфейса

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

  • Простота Эта рекомендация восходит к правилу бритвы Оккама: лучшее объяснение – самое простое. Действительно, простой интерфейс позволяет пользователю быстрее адаптироваться, уменьшает вероятность его ошибок, да и разработчику проще отладить такой интерфейс. Интерактивная система хороша, если интерфейс интуитивно понятен, то есть соответствует предметной области и стилю мышления пользователя. Интерфейс должен быть легким для освоения и не создавать перед пользователем преграду, которую он должен будет преодолеть, чтобы приступить к работе.
  • Дружественность( юзабилити) Интерфейс дружественный, если пользователь, работая с ним, не испытывает дискомфорта. У пользователя должно складываться впечатление, что он управляет процессом. Кроме того, графический интерфейс должен быть построен в соответствии с эргономическими требованиями: цвета экрана и элементов, их размер, композиция. Важен темп выполнения операций, который должен соответствовать естественному темпу человека, среднее время отклика и его дисперсия. Сообщения должны быть корректными по форме, точными и информативными, совершенно недопустимы безграмотные тексты. Пользователь должен всегда знать, на какой стадии процесса он находится.
  • Естественность интерфейса Естественный интерфейс — такой, который не вынуждает пользователя суще¬ственно изменять привычные для него способы решения задачи. Это, в частности, означает, что сообщения и результаты, выдаваемые приложением, не должны требовать дополнительных пояснений.
  • Функциональность Хотя вычислительная система и бывает в некоторых организациях в роли большой игрушки, но чаще её пытаются использовать для дела, особенно в том случае, когда выполнение работы иными средствами менее эффективно. Функциональность системы обозначает наличие значительной эффективности в выполнении операций, что делает её использование рентабельным. Интерфейс должен отражать ее функциональность и давать возможность успешной работы пользователям различной квалификации.
  • Умеренная цена Речь идет о производственных системах. Понятно, что система, имеющая слишком дорогостоящий интерфейс, но недостаточную функциональность, будет, возможно, куплена, но пользователь останется ею недоволен: срок окупаемости системы во многом зависит от функциональности. С другой стороны, экономия на интерфейсе – очень недальновидная политика. Некачественный интерфейс создаёт у пользователей плохое мнение о системе и может вообще привести к отказу от её использования. [2]


Стадии проектирования

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

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


Типы интерфейсов

Интерфейсы пользователя бывают двух типов:

Процедурно-ориентированные

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

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

Процедурно-ориентированные бывают

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

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

Интерфейс со свободной навигацией (графический интерфейс) - Поддерживает концепцию интерактивного взаимодействия с ПО, визуальную обратную связь с пользователем и возможность прямого манипулирования объектом (кнопки, индикаторы, строки состояния). В отличие от интерфейса Меню, интерфейс со свободной навигацией обеспечивает возможность осуществления любых допустимых в конкретном состоянии операций, доступ к которым возможен через различные интерфейсные компоненты («горячие» клавиши и т.д.). Интерфейс со свободной навигацией реализуется с использованием событийного программирования, что предполагает применение визуальных средств разработки (посредством сообщений).[3]

Объектно-ориентированный интерфейс

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

Подтипы пользовательских интерфейсов:

Командный интерфейс

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

Пакетная технология

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

Технология командной строки

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

WIMP - интерфейс

WIMP интерфейс платформы OPENSTEP Jan 1997

WIMP - интерфейс (Window - окно, Image - образ, Menu - меню, Pointer - указатель). Хотя и в этом интерфейсе машине подаются команды, но это делается "опосредственно", через графические образы. Этот вид интерфейса реализован на двух уровнях технологий: простой графический интерфейс и "чистый" WIMP интерфейс.

Простой графический интерфейс

Отличительные особенности этого интерфейса:

  • Выделение областей экрана.
  • Переопределение клавиш клавиатуры в зависимости от контекста.
  • Использование манипуляторов и серых клавиш клавиатуры для управления курсором.

Собственно WIMPЭтот подтип интерфейса характеризуется следующими особенностями:

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

SILK - интерфейс

SILK - интерфейс (Speech - речь, Image - образ, Language - язык, Knowlege - знание). Компьютер находит для себя команды, анализируя человеческое поведение.

  • Речевая технология

При этой технологии команды подаются голосом путем произнесения специальных зарезервированных слов - команд.

  • Биометрическая технология

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

Семантический интерфейс

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

Тенденции развития интерфейса

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

Российский рынок проектирования пользовательских интерфейсов стремительно развивается: большинство крупных компаний, разрабатывающих программное обеспечение, для себя или на заказ, реально озаботилось проблемой сложности создаваемых ими продуктов. Они поняли, что проектированию интерфейсов нужно уделять самое пристальное внимание. На популярных Job-сайтах регулярно появляются новые вакансии, которые содержат такие слова как «юзабилити/usability специалист», «проектировщик пользовательского интерфейса» (юзабилити – это термин, заменяющий понятие «эргономика в области проектирования интерфейсов для программного обеспечения»; русский эквивалент – дружественность, удобство использования). Эти вакансии подолгу не закрываются, что говорит о серьезном кадровом голоде. Похоже, именно этот голод существенно ограничивает развитие данного рынка в целом. Но, к сожалению, не все работодатели имеют представление о конкретных требованиях к проектировщикам, в описаниях вакансий часто встречаются абсурдные вещи – например, проектировщик должен программировать и/или рисовать пиктограммы. И даже если работодатель представляет, что должен делать такой сотрудник, оценить его квалификацию он практически неспособен.

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

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

И совсем уже отдельный вопрос – это проблема элементарной грамотности разработчиков. Известно, что небрежность в выражении мыслей чаще всего свидетельствует об их невысоком качестве. В статье «Писать по-русски» профессор А. А. Шалыто написал о том, что ИТ-специалисты зачастую плохо владеют русским языком, чем в немалой степени объясняется и низкое качество программной документации. Он затрагивает тему взаимозависимости логики мышления и дисциплины оформления технических и научных документов. Но проблема низкой грамотности выходит далеко за рамки создания программной документации или интерфейса. Необходимо понимать, что существует связь между качеством программного обеспечения и уровнем владения русским языком. Игнорировать этот факт – значит, терять пользователей (заказчиков) и, в конечном счёте, прибыль.

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


Источники

  1. Ergogames [Электронный ресурс]: База данных как сервис / Дата обращения: 29.12.2016. — Режим доступа: Intefaces pices
  2. Википедия [Электронный ресурс]: Облачные базы данных — материал из Википедии — свободной энциклопедии: Версия 68907279/ Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Дата обращения: 29.12.2016 /Режим доступа: Интерфейс пользователя
  3. Википедия [Электронный ресурс]: Облачные базы данных — материал из Википедии — свободной энциклопедии: Версия 68907279 / Авторы Википедии // Википедия, свободная энциклопедия. — Электрон. дан. — Сан-Франциско: Фонд Викимедиа, 2016. — Дата обращения: 29.12.2016 /Режим доступа: User interface