- Что такое интерфейс пользователя?
- Какие бывают интерфейсы — этапы развития и типы пользовательских интерфейсов
- Интерфейс командной строки (Command Line Interface или CLI)
- Текстовый интерфейс пользователя (Text User Interface или TUI)
- Графический пользовательский интерфейс (Graphical User Interface или GUI)
- Графический пользовательский интерфейс — реальный мир как модель
- Графический пользовательский интерфейс — инструкции и правила
- Пользовательский аудио-интерфейс (VUI или voice user interface)
- Тактильные интерфейсы пользователя (TUI или tangible user interface)
- Натуральный пользовательский интерфейс (NUI или natural user interface)
- Перцептивный пользовательский интерфейс (PUI или perceptual user interface)
- Интерфейс мозг-компьютер (BCI и brain-computer interface)
- Ценность оптимизации под поисковые системы
- Текстовый интерфейс пользователя
- Особенности текстового интерфейса
- Реализация текстового интерфейса
- Примеры консольных программ
Что такое интерфейс пользователя?
Пользовательский интерфейс ( user interface или сокращенно UI ) – это интерфейс, с помощью которого человек может управлять программным обеспечением или аппаратным оснащением. UI должны быть удобными в использовании, чтобы взаимодействие с ними происходило на максимально интуитивном уровне. Интерфейсы программного обеспечения также называют графическими пользовательскими интерфейсами ( graphical user interface или GUI ).
Какие бывают интерфейсы — этапы развития и типы пользовательских интерфейсов
В отличие от современных реалий, первые компьютеры были слишком слабыми для графических пользовательских интерфейсов. Поэтому, в самом начале люди могли пользоваться только командной строкой ( CLI или command line interface ), в которой команды задавались с помощью запросов. Позже это переросло в TUI – интерфейсы, которые сегодня используются в процессе инсталляции операционных систем. Доступность компьютеров привела к необходимости разработки удобного пользовательского интерфейса.
Графический интерфейс пользователя – тип интерфейсов, который прочно закрепился наряду с постоянно увеличивающейся производительностью ПК. В ближайшем будущем могут появиться пользовательские аудио-интерфейсы ( VUI или voice user interface ), которые позволят людям взаимодействовать с компьютером с помощью речи.
В различных компьютерных играх применяется натуральный пользовательский интерфейс ( NUI или natural user interface ). Его система анализирует движения человека, и преобразует их в движения в игре. На данный момент в стадии разработки находится перцептивный пользовательский интерфейс ( PUI ), а также интерфейс мозг-компьютер ( BCI или brain-computer interface ). Последняя разработка направлена на то, чтобы обеспечить людям возможность управлять компьютерами силой мысли.
Интерфейс командной строки (Command Line Interface или CLI)
Среди областей применения интерфейса командной строки можно выделить DOS-компьютеры . Взаимодействие происходит с помощью ввода команд. Компьютер обрабатывает эти команды и выводит на экран очередную строку. Данный тип UI давно устарел. Большинство CLI заменены графическими интерфейсами.
Текстовый интерфейс пользователя (Text User Interface или TUI)
Этот тип интерфейса пользователя предназначен для работы с символами. Исполнение происходит в режиме аппаратного текста, однако часто используется и дисплей. В данном случае на каждый источник у программиста имеется 256 символов. Навигация производится клавиатурой, а не мышью. В качестве примера можно привести Norton Commander или Turbo Pascal . Этот интерфейс также используется в загрузчиках ОС и BIOS-программах . Данный тип интерфейса также используется для установки операционных систем.
Графический пользовательский интерфейс (Graphical User Interface или GUI)
Графический пользовательский интерфейс является наиболее популярным UI . Он представляет собой окно, в котором содержатся различные элементы управления. Взаимодействие пользователя с программой при помощи мыши и при помощи клавиатуры.
Также есть возможность использовать кнопки и разделы меню, расположенные внутри самого приложения. Это окно представляет собой нечто вроде шлюза между пользователем и программным обеспечением. В графическом интерфейсе пользователя распространены типичные элементы управления. Они позволяют стандартизировать процесс взаимодействия с различными программами в разных операционных системах.
Графический пользовательский интерфейс — реальный мир как модель
Когда разрабатывался первый графический пользовательский интерфейс за основу были взяты элементы реального мира: мусорная корзина, папка, изображение дискеты в качестве кнопки сохранения. Сегодня многие иконки считаются устаревшими, но все равно используются.
Даже при использовании современных изображений и иконок дизайнеры стараются хотя бы минимально отразить их предназначение. Это позволяет облегчить интуитивное взаимодействие с интерфейсом. Цель GUI заключается в том, что люди могли легко определить предназначение каждой кнопки. Благодаря этому нам не приходится запоминать все команды, как это было в случае с командной строкой.
Графический пользовательский интерфейс — инструкции и правила
При разработке GUI применяются определенные своды правил, которые помогают сделать программы удобнее в использовании. В качестве примера можно привести 8 золотых правил от Бена Шнайдермана . Ниже приведем несколько сносок из этих правил:
- Согласованность: взаимодействие должно происходить всегда похожим образом. То есть, следует избегать использования панелей управления с опциями типа “ скопировать выделенную область ”, “ удалить выделенную область ”, “ добавить выделенную область ”. Данный пример показывает отсутствие согласованности в GUI , чего следует избегать;
- Информативная обратная связь: все действия, производимые пользователем, должны быть подкреплены обратной связью. Например, если двойной клик открывает программу, то человеку приходится подождать пару секунд, прежде чем он сможет пользоваться этой программой. Чтобы пользователь знал, что его действия принесли результат, нужно проинформировать его об этом. Это можно реализовать сменой курсора. Один из старейших и привычных примеров – это курсор с песочными часами в Windows ;
- Не перегружайте память пользователей: пользователи не в силах запомнить все и сразу. В длинных сегментах взаимодействия, где пользователь вынужден переходить по нескольким окнам, информация всегда должна отображаться в одной и той же области. Менее востребованная информация, которая отображалась в самом начале, должна быть скрыта.
Пользовательский аудио-интерфейс (VUI или voice user interface)
В этом типе интерфейсов пользователя взаимодействие между пользователем и компьютером происходит с помощью голоса. Например, пользователь может вербально выбрать человека из ранее составленного списка контактов и совершить звонок. Программы для интерпретации речи в текст и для распознавания речи также используют аудио-интерфейсы.
Преимущество данной формы взаимодействия заключается в том, что пользователям не нужно ничего, кроме голоса. Текстовый ввод на устройствах обычно усложняется маленькой клавиатурой ( на смартфонах с маленьким экраном ), и многим зачастую проще продиктовать текст сообщения.
Среди примеров можно отметить голосового помощника Apple , Siri , S-Voice у Samsung или голосовой поиск Google . Одна из главных задач при проектировании этого интерфейса пользователя ( аудио-интерфейсов ) заключается в том, чтобы предоставить аудитории комфортные условия для взаимодействия. То есть, при использовании голосовых синтезаторов в техподдержке, важно не обременять клиентов длинными сообщениями.
Тактильные интерфейсы пользователя (TUI или tangible user interface)
В них взаимодействие происходит за счет применения мячей или других физических объектов. Сегодня данный тип интерфейсов редко используется в повседневной жизни. Если рабочий компьютер постоянно стоит на одном столе, применение тактильных интерфейсов приобретает новый смысл, однако чаще всего они просто неприменимы в повседневной жизни. Музеи и выставки – отличный пример сферы применения TUI .
Физическое взаимодействие запоминается лучше любого другого. Кроме этого тактильные интерфейсы дают простор реализации объектов: форма, фактура, цвет. От песочницы с деревянными кубиками до увеличительного стекла для изображений – возможно практически все.
Натуральный пользовательский интерфейс (NUI или natural user interface)
Натуральный пользовательский интерфейс призван предоставить пользователю естественный и интуитивный опыт взаимодействия с устройством или программным обеспечением. В то же время, сам интерфейс будет видимым, например, на сенсорном экране. При помощи NUI команды пользователя вносятся с помощью жестов и прикосновений.
Данный тип интерфейса пользователя также можно комбинировать с VUI . Благодаря прямому отклику устройства взаимодействие происходит естественней, нежели при вводе мышью или клавиатуры. Кроме сенсорных устройств NUI также можно использовать в игровых приставках.
К примеру, Nintendo Wii позволяет воспроизводить действия на экране за счет перемещения контроллера рукой. Среди других примеров – дополнение Kinect к Xbox , которое позволяет управлять игровым персонажем на экране движениями собственного тела. Что делает взаимодействие более натуральным.
Перцептивный пользовательский интерфейс (PUI или perceptual user interface)
Перцептивный пользовательский интерфейс – интерфейс, управление которым происходит за счет восприятия человека. На сегодняшний день он до сих пор находится на стадии разработки. PUI , в теории, должен совмещать в себе возможности GUI и VUI , а также уметь распознавать жесты для взаимодействия с компьютером. Интеграция визуального и слухового восприятия жестов и звуков должно позволить PUI предоставить пользователям максимальный уровень восприятия и естественности.
Интерфейс мозг-компьютер (BCI и brain-computer interface)
Этот интерфейс пользователя в качестве источника команды использует человеческий мозг. На сегодняшний день эта технология достигла высокого уровня развития. Для измерения мозговых волн используются электроды, после чего полученная информация расшифровывается различными алгоритмами. Это и позволяет управлять роботизированными конечностями. Такой тип взаимодействия – большое преимущество для людей с ограниченными физическими возможностями.
Ценность оптимизации под поисковые системы
В разработке графического интерфейса пользователя GUI и сайта есть как схожие моменты, так и различия. Например, посетитель пользуется навигацией по сайту. Он выбирает определенный путь сквозь структуру страниц. В графическом интерфейсе разработчик может контролировать, какие пункты будут доступны пользователю в тот или иной момент. Если функция недоступна, разработчик может скрыть эту опцию.
В случае с сайтом у пользователя всегда есть возможность вернуться назад на страницу. Следовательно, навигацию также необходимо учитывать при создании сайта. Иерархия страниц должна быть максимально прозрачной и продуманной. Если ваш сайт состоит из нескольких уровней, то логично использовать навигацию типа “ хлебные крошки ”.
Люди используют программы уже достаточно долгое время. Следовательно, мы уже привыкли к большинству стандартных элементов любого графического интерфейса. Сайты же появились относительно недавно.
Веб-дизайнеры должны стараться продумать опыт взаимодействия с пользователем на максимальном уровне, и руководствоваться при этом проверенными практиками. Например, меню навигации лучше всего располагать в левом верхнем углу. Как вебмастер вы должны убедиться, что все элементы легко доступны любому посетителю. Это сделает ваш сайт удобным для использования.
Текстовый интерфейс пользователя
Текстовый пользовательский интерфейс, ТПИ (англ. Text user interface, TUI ; также Character User Interface, CUI ) — разновидность интерфейса пользователя, использующая при вводе-выводе и представлении информации исключительно набор буквенно-цифровых символов и символов псевдографики. Характеризуется малой требовательностью к ресурсам аппаратуры ввода-вывода (в частности, памяти) и высокой скоростью отображения информации, поэтому широко использовался на начальном этапе развития вычислительной техники. Также, его разновидность — интерфейс командной строки — имеет отдельные преимущества в юзабилити перед графическим интерфейсом. Поэтому программы, основанные на ТПИ, имеют некоторое распространение до настоящего времени, особенно в специфических сферах и на маломощном оборудовании.
Недостатком подобного типа интерфейса является ограниченность изобразительных средств по причине ограниченности количества символов, включённых в состав шрифта, предоставляемого аппаратурой.
Программы с текстовым интерфейсом могут имитировать Оконный интерфейс, чему особенно способствует применение псевдографических символов.
ТПИ, использующий в качестве элементов интерфейса только и исключительно вводимые с клавиатуры текстовые строки (команды), называется интерфейсом командной строки (т. н. консольные программы — программы, использующие интерфейс командной строки, где информация выводится на консоль).
Особенности текстового интерфейса
В простейшем случае текстовый интерфейс использует интерфейс командной строки, однако многие программы с помощью интерактивных элементов создают более дружественный интерфейс, приближающийся по удобству к графическому.
В текстовом интерфейсе реализованы все базовые элементы интерфейса, используемые и в графическом интерфейсе — меню, кнопки, переключатели, флажки, выпадающие списки, полосы прокрутки и так далее. Многие программы реализовывали развитую оконную систему, чему способствовали библиотеки вроде CScape, D-Flat, Turbo Vision и многие другие, некоторые имели сменные темы оформления (например, DOS Navigator) и поддерживали различные устройства интерактивного взаимодействия, такие как мышь, джойстик, световое перо.
На программном уровне для ввода и вывода информации консольные программы используют стандартные устройства ввода-вывода ( stdin , stdout , stderr ), хотя могут открывать и другие файлы, сетевые соединения и совершать иные действия, доступные в выполняющей их среде. Вывод печатных символов в stdout и stderr приводит к появлению этих символов на устройстве вывода и к получению их пользователем.
Консольные программы для более продвинутых операционных систем, особенно UNIX, как правило, способны работать на достаточно широком классе реализаций интерфейса с пользователем. Для упрощения написания таких программ широко применяется библиотека ncurses.
Реализация текстового интерфейса
Консольная программа не обязана заботиться о реализации самого взаимодействия с пользователем, ограничиваясь вводом-выводом на стандартные устройства, использованием библиотек типа ncurses или иных программных интерфейсов. Собственно взаимодействие с пользователем обычно осуществляет операционная система или иное программное обеспечение.
Классической реализацией текстового интерфейса, восходящей к первой половине XX века, является алфавитно-цифровое устройство ввода-вывода, например, комплект из клавиатуры и АЦПУ (телетайпа). Впоследствии вместо АЦПУ стали применять мониторы, снабжённые знакогенератором, что позволило быстро и удобно организовывать диалог с пользователем. Подобными устройствами снабжён или может быть снабжён почти каждый современный компьютер. Такие комплекты из монитора и клавиатуры (иногда с добавлением мыши) называются консолью компьютера.
В соответствии с традицией использования консольными программами клавиатуры и АЦПУ для ввода и вывода соответственно взаимодействие таких программ с пользователем свелось к чтению из stdin и выводу на stdout. Таким образом, появилась возможность перенаправлять потоки ввода-вывода, осуществляя взаимодействие с пользователем посредством иных устройств, в том числе подключенных через сеть, а также при помощи специальных программ — эмуляторов терминала, например, рисующих окно с текстом в графическом интерфейсе пользователя (текстовое окно).
В 1970-х годы и позднее выпускались даже специальные устройства, реализующие текстовый интерфейс — текстовые терминалы, подключаемые через последовательный порт к компьютеру напрямую или через модем. С распространением персональных компьютеров функции текстового терминала, как правило, выполняет компьютер, тот, на котором выполняется консольная программа, или другой. Программы Telnet и ssh позволяют пользователю взаимодействовать с консольной программой, запущенной на удалённом компьютере (как правило, под управлением UNIX), через Интернет или локальную сеть. Программы xterm, rxvt, konsole и многие другие реализуют текстовый интерфейс посредством текстового окна в среде X Window System.
Альтернативный подход к консольному выводу был использован в персональных компьютерах, в частности (хотя не только), IBM PC под управлением DOS. Программа может не только выводить данные через stdout, но и прямо изменять содержимое определённой области памяти, связанной со знакогенератором монитора, приводя к немедленному изменению видимых на мониторе данных. Такие программы могут также работать в среде Microsoft Windows. Более того, Windows имеет поддержку текстовых окон, во многом превосходящую имевшуюся в DOS, в том числе и для приложений собственно Windows.
Linux предоставляет ещё бо́льшие возможности для консольных программ. В частности, даже безо всякого графического интерфейса несколько одновременно запущенных программ могут бесконфликтно взаимодействовать с пользователем, создавая иллюзию наличия в системе нескольких консолей (виртуальные консоли).
В POSIX-совместимых системах, таких как UNIX и Linux, работа пользователя с терминалом осуществляется при помощи особой подсистемы, называемой TTY-абстракцией.
Примеры консольных программ
- Любая программа, получающая данные путём чтения stdin и отправку данных путём записи в stdout, по определению является консольной программой. Однако, такие программы могут обходиться и без пользователя, поскольку stdin и stdout могут быть связаны не с интерактивными устройствами (клавиатурой и монитором), а с файлами.
- Текстовые программы для DOS, осуществляющие вывод в видеопамятьEGA/VGA. Подобные программы работают также и в среде Microsoft Windows.
- Unix shell, а также все утилиты, предназначенные для работы в этой среде.
Некоторые программы с ТПИ могут работать и в консольном режиме: