close

Вход

Забыли?

вход по аккаунту

?

Юзабилити. Кратко о фактах

код для вставки
Создан по материалам wikipedia.org в 2010. Редактор: Димитров Иво
PDF создан с использованием инструмента с открытым исходным кодом mwlib. См. http://code.pediapress.com/ для получения более
подробной информации.
PDF generated at: Tue, 23 Mar 2010 11:37:59 UTC
Юзабилити
Кратко о фактах
Содержимое
Статьи
Юзабилити
1
Юзабилити
1
Юзабилити- тестирование
3
Эргономика
5
Человеко- компьютерное взаимодействие
8
Проектирование взаимодействия
9
Интерфейсы
10
Интерфейс
10
Элемент интерфейса
12
Интерфейс пользователя
14
Графический интерфейс пользователя
17
Web- ориентированный интерфейс
19
Текстовый интерфейс пользователя
21
Оконный интерфейс
23
Интерфейс командной строки
25
WIMP (графический интерфейс)
29
Масштабируемый интерфейс пользователя
31
Материальный интерфейс пользователя
32
Приожения
34
Список языков описания пользовательских интерфейсов
34
Сноски
Источники и основные авторы
39
Источники, Лицензии и Владельцы(?) изображения.
40
Лицензии статей.
Лицензия
41
1
Юзабилити
Юзабилити
Юзаби́лити (англ. usability — дословно «возможность использования», «способность быть использованным»,
«полезность» ) — понятие в микроэргономике, обозначающее итоговый уровень удобности предмета для
использования в заявленных целях. Термин имеет связь с понятием «эргономи́чность», но в отличие от
последнего меньше ассоциируется с технической эстетикой, с внешним видом и более привязан к
утилитарности «юзабельного» объекта.
Официальное определение
Международный стандарт ISO 9241-11 определяет юзабилити как «степень, с которой продукт может быть
использован определёнными пользователями при определённом контексте использования для достижения
определённых целей с должной эффективностью, продуктивностью и удовлетворённостью» (англ. «the extent to
which a product can be used by specified users to achieve specified goals with effectiveness, efficiency and
satisfaction in a specified context of use»). При этом относительная важность всех трёх аспектов определяется
этим самым контекстом.
Особенности при употреблении в русском языке
Как и многие иностранные термины, которые в новейшее время вошли в обиход на «постсоветском
пространстве», слово «юзабилити» нередко используется без учёта его значения в исходном английском и вне
связи с международными стандартами инженерной терминологии. Как правило это происходит из-за того, что
игнорируется ключевой для контекста момент «определённости». Поэтому часто происходит так, что
«интуитивная понятность» для разработчиков не является таковой для конечных пользователей.
При разработке пользовательских интерфейсов словом юзабилити обозначают общую концепцию их удобства
при использовании программного обеспечения, логичность и простоту в расположении элементов управления.
Однако при этом нередко происходит подмена понятий — утилитарных эстетическими. Тогда чётко не
определённая в целях и не обоснованная в деталях полезность конкретного решения для пользователя,
считается сама собой разумеющейся, вытекающей из оригинальности внешнего вида.
Термин «юзабилити» можно рассматривать как синоним слова «эргономичность» с той разницей, что
последняя определяет минимальность конкретных физических усилий при пользовании вещью, а первая —
конечную суммарную степень удобства, меру интеллектуального усилия необходимого для получения
полезных качеств этой вещи и скорость достижения положительного результата при управлении ею. Поэтому
применительно к таким продуктам, как бытовая электроника или средства связи, чаще используют понятие
«эргономичность» относительно формы, компоновки узлов и веса, к примеру, а «юзабилити» —
применительно к понятности элементов управления и режимов работы, к количеству и нужности функций.
В более широком значении также употребляется слово «юзабельность» — для определения степени
полезности вещи вообще и специфических задач в особенности. Например для механических приспособлений
и инструментов (таких как дверная ручка или молоток) эргономичность формы будет повышать юзабельность
вещи (т.е. «удобство применения», «дружественность и простоту при пользовании», «практичность» и вообще
«применимость»).
Юзабилити
2
См. также
•
Юзабилити-тестирование
•
Эргономика
•
Эргономика программного обеспечения
•
Эргономика рабочего места
•
Человеко-компьютерное взаимодействие
•
Проектирование взаимодействия
•
Интерфейс пользователя
•
UserExperience
Ссылки
Статьи по теме
•
Блог-центр «GUI.RU — Хроники Юзабилити» [1].
•
Юзабилити в России [2].
•
Юзабилити в Беларуси [3].
•
Статьи Якоба Нильсена [4] — подборка из более чем пятидесяти статей на сайте «Webmascon».
•
Статья "Юзабилити" на Google Knol [5]
•
Обзор простых и доступных инструментов для юзабилити-тестирования [6]
Периодика по теме
•
Анонсы свежих материалов о юзабилити [7].
•
Юзабилити Бюллетень [8].
Профессиональные ассоциации и интернет-сообщества
•
Special Interest Group on Computer-Human Interaction (SIGCHI) [9]
•
Российское отделение ACM SIGCHI [10]
•
The Usability Professionals' Association (UPA) [11]
•
Российское отделение UPA [12]
•
User Centered Design’s Journal — сообщество в ЖЖ [13].
Конференции и события
•
Всемирный День Юзабилити в России [14].
•
Ежегодная конференция по юзабилити [15].
•
Всемирный День Юзабилити в Беларуси [16].
Литература
•
Влад В. Головач. Дизайн пользовательского интерфейса2. Искусство мыть слона [17]. — 2009. — 94 с.
•
Якоб Нильсен, Хоа Лоранжер. Web-дизайн: удобство использования Web-сайтов = Prioritizing Web
Usability. — М.: «Вильямс», 2007. — 368 с. — ISBN 0-321-35031-6
•
Стив Круг. Веб-дизайн: книга Стива Круга или «не заставляйте меня думать!» = Don't make me think!. —
М.: Символ-плюс.
•
Джеф Раскин. Интерфейс: новые направления в проектировании компьютерных систем. — Символ-Плюс.
— 2004. — ISBN 5-93286-030-8
Юзабилити
3
•
Алан Купер. Психбольница в руках пациентов или Почему высокие технологии сводят нас с ума и как
восстановить душевное равновесие = The Inmates are Running the Asylum. — Символ-Плюс, 2004. — ISBN
5-93286-071-5
•
Магазанник В. Д., Львов В. М. Человеко-компьютерное взаимодействие: Учебное пособие для вузов. —
Тверь: Триада, 2005. — С. 200. — ISBN 5-94789-119-0
•
Гарретт Д. Веб-дизайн: книга Джесса Гарретта. Элементы опыта взаимодействия = The Elements of User
Experience: User-Centered Design for the Web. — Символ-Плюс, 2008. — С. 192. — ISBN 5-93286-108-8
Сноски
[1]
http:/ / gui. ru
[2]
http:/ / usability. ru/
[3]
http:/ / usability. by/
[4]
http:/ / www. webmascon. com/ archive/ topic. asp?id=22
[5]
http:/ / knol. google. com/ k/ uidg-knols/ -/ 1v7gf5f4q1h68/ 2#
[6]
http:/ / www. smashingjournal. ru/ ?p=732#
[7]
http:/ / fresh. gui. ru
[8]
http:/ / groups. google. com/ group/ usabilitybulletin
[9]
http:/ / www. sigchi. org/
[10]
http:/ / www. sigchi. ru/ index_ru. htm
[11]
http:/ / www. usabilityprofessionals. org/
[12]
http:/ / www. usabilityprofessionals. ru/
[13]
http:/ / livejournal. com/ community/ ru_ucdesign/
[14]
http:/ / wud. ru
[15]
http:/ / userexp. ru
[16]
http:/ / wud. usability. by
[17]
http:/ / uibook2. usethics. ru/
Юзабилити- тестирование
Юзабилити-тестирование — эксперимент, выполняемый с целью определения, насколько хорошо люди
могут использовать некоторый искусственный объект (такой как веб-страница, пользовательский интерфейс
или устройство) для его предполагаемого применения, то есть юзабилити-тестирование измеряет юзабилити
объекта. Юзабилити-тестирование сосредоточено на определённом объекте или небольшом наборе объектов, в
то время как исследования взаимодействия человек-компьютер в целом — формулируют универсальные
принципы.
Юзабилити-тестирование — метод оценки удобства продукта в использовании, основанный на привлечении
пользователей в качестве тестировщиков, испытателей и суммировании полученных от них выводов.
Процесс
При испытании многих продуктов пользователю предлагают в «лабораторных» условиях решить основные
задачи, для выполнения которых этот продукт разрабатывался, и просят высказывать во время выполнения
этих тестов свои замечания.
Процесс тестирования фиксируется в протоколе (логе) и/или на аудио- и видеоустройства — с целью
последующего более детального анализа.
Если юзабилити-тестирование выявляет какие-либо трудности (например сложности в понимании инструкций,
выполнении действий или интерпретации ответов системы), то разработчики должны доработать продукт и
повторить тестирование.
Юзабилити-тестирование
4
Наблюдение за тем, как люди взаимодействуют с продуктом, нередко позволяет найти для него более
оптимальные решения. Если при тестировании используется модератор, то его задача — держать респондента
сфокусированным на задачах (но при этом не „помогать“ ему решать эти задачи).
Основную трудность после проведения процедуры юзабилити-тестирования нередко представляют большие
объёмы и беспорядочность полученных данных. Поэтому для последующего анализа важно зафиксировать:
1.
Речь модератора и респондента;
2.
Выражение лица респондента (снимается на видеокамеру);
3.
Изображение экрана компьютера, с которым работает респондент;
4.
Различные события, происходящие на компьютере, связанные с действиями пользователя:
•
Перемещение курсора и нажатия на клавиши мыши;
•
Использование клавиатуры;
•
Переходы между экранами (браузера или другой программы).
Все эти потоки данных должны быть синхронизированы по тайм-кодам, чтобы при анализе их можно было бы
соотносить между собой.
Наряду с модератором в тестировании нередко участвуют наблюдатели. По мере обнаружения проблем они
делают свои заметки о ходе тестирования так, чтобы после можно было синхронизировать их с основной
записью. В итоге каждый значимый фрагмент записи теста оказывается прокомментирован в заметках
наблюдателя. В идеале ведущий (т.е. модератор) представляет разработчика, наблюдатели — заказчика
(например издателя, дистрибютора), а испытатели — конечного пользователя (например покупателя).
Кроме вышеизложенного существует еще один подход к usability-тестированию: Для решения задачи
предложенной пользователю разрабатывается "идеальный" сценарий решения этой задачи. Как правило, это
сценарий, на который ориентировался разработчик. При выполнении задачи пользователями регистрируются
их отклонения от задуманного сценария для последующего анализа. После нескольких итераций доработки
программы и последующего тестирования можно получить удовлетворительный с точки зрения пользователя
интерфейс .
См. также
•
Юзабилити
•
Автоматическое тестирование
•
Эргономика
•
Функциономика
•
Человек-оператор
Ссылки
•
15 тезисов о юзабилити тестировании веб-сайтов [1]
•
Дмитрий Сатин. Юзабилити лаборатория: смысл жизни за стеклом [2]
•
Влад В. Головач. Юзабилити-тестирование по дешевке [3]
•
Платон Днепровский. О месте юзабилити-тестирований [4]
•
Влияние количества пользователей и охвата задач на результаты тестирования [5]
•
Что лучше юзабилити-тестирование или экспертная оценка сайта [6]
•
Список методов с подробным описанием, в т.ч. юзабилити-тестирование (на англ.яз.) [7]
Юзабилити-тестирование
5
Литература
•
Якоб Нильсен, Хоа Лоранжер Web-дизайн: удобство использования Web-сайтов = Prioritizing Web
Usability. — М.: «Вильямс», 2007. — С. 368. — ISBN 0-321-35031-6
Сноски
[1]
http:/ / habrahabr. ru/ blog/ usabilitylab/ 36096. html
[2]
http:/ / www. usabilitylab. ru/ blog/ tabid/ 67/ BlogID/ 6/ Default. aspx?EntryID=25
[3]
http:/ / www. usethics. ru/ lib/ testing_by_the_cheap. html
[4]
http:/ / www. gui. ru/ platon/ ?p=27
[5]
http:/ / designformasters. info/ posts/ usability-testing-what-have-we-overlooked/
[6]
http:/ / usabilist. com. ua/ 2009/ 02/ ekspertnaya-ocenka-usability-ili-usability-testirovanie/
[7]
http:/ / www. usabilitynet. org/ tools/ list. htm
Эргономика
Эргономика — наука о правильной организации человеческой деятельности.
Эргоно́мика (от др.-греч. 4ργον — работа и νόμος — закон) — соответствие труда физиологическим и
психическим возможностям человека, обеспечение наиболее эффективной работы, не создающей угрозы для
здоровья человека и выполняемой при минимальной затрате биологических ресурсов. Эргоно́мика — это
научная дисциплина, комплексно изучающая человека в конкретных условиях его деятельности в
современном производстве. Основной объект исследования эргономики — система «человек — машина —
среда».
История
Эргономика возникла в 1920-х годах в связи со значительным усложнением техники, которой должен
управлять человек в своей деятельности. Первые исследования по эргономике начали проводиться в
Великобритании, США и Японии. Термин «эргономика» был принят в Великобритании в 1949 году, когда
группа английских учёных положила начало организации Эргономического исследовательского общества. В
СССР в 20-е годы предлагалось название «эргология», в США раньше имелось собственное наименование —
исследование человеческих факторов, а в ФРГ — антропотехника, но в настоящее время наибольшее
распространение получил английский термин.
Современность
В последнее время эргономика отходит от классического определения и перестаёт быть строго связана с
производственной деятельностью. Определение, принятое Международной эргономической ассоциацией (IEA)
в 2007 году: «Эргономика — это область приложения научных знаний о человеке к проектированию
предметов, систем и окружений, используемых им».
Разделы эргономики
Эргономика изучает действия человека в процессе работы, скорость освоения им новой техники, затраты его
энергии, производительность и интенсивность при конкретных видах деятельности. Современная эргономика
подразделяется на микроэргономику, мидиэргономику и макроэргономику
•
Ми́кроэргономика (иногда её неверно упоминают как миниэргономику) занимается исследованием и
проектированием систем «человек — машина». В частности, проектирование интерфейсов программных
продуктов находится в ведении микроэргономики.
Эргономика
6
•
Ми́диэргономика занимается изучением и проектированием систем «человек — коллектив», «коллектив
— организация», «коллектив — машина», «человек — сеть». Именно мидиэргономика исследует
производственные взаимодействия на уровне рабочих мест и производственных задач. К ведению
мидиэргономики, в частности, относится проектирование структуры организации и помещений;
планирование и установление расписания работ; гигиена и безопасность труда.
•
Ма́кроэргономика исследует и проектирует более общие системы, такие как «человек — общество»,
«организация — система организаций».
Виды совместимости среды «человек-машина»
•
Антропометрическая совместимость — учёт размеров тела человека, возможности обзора внешнего
пространства, положения оператора при работе.
•
Сенсомоторная совместимость — учёт скорости моторных операций человека и его сенсорных реакций на
различные виды раздражителей.
•
Энергетическая совместимость — учёт силовых возможностей человека при определении усилий,
прилагаемых к органам управления.
•
Психофизиологическая совместимость — учёт реакции человека на цвет, цветовую гамму, частотный
диапазон подаваемых сигналов, форму и другие эстетические параметры машины.
Подходы
При изучении и создании эффективных управляемых человеком систем, в эргономике используется
системный подход. Для оптимизации управляемых человеком систем эргономика использует результаты
исследований в психологии, физиологии (особенно нейрофизиологии), гигиены и безопасности труда,
социологии, культурологии и многих технических, инженерных и информационных дисциплинах. Некоторые
термины эргономики стали широко употребляться в быту, например человекоча́с (мера временной ёмкости
деятельности). В настоящее время открытия эргономики используются не только на производстве, но также в
быту, в спорте и даже в искусстве.
Организация рабочего места
При организации рабочих мест необходимо учитывать то, что конструкция рабочего места, его размеры и
взаимное расположение его элементов должны соответствовать антропометрическим, физиологическим и
психофизиологическим данным человека, а также характеру.
Выбор положения работающего
При выборе положения работающего необходимо учитывать:
•
физическую тяжесть работ;
•
размеры рабочей зоны и необходимость передвижения в ней работающего в процессе выполнения работ;
•
технологические особенности процесса выполнения работ.
Рабочее место для выполнения работ стоя организуется при физической работе средней тяжести и тяжелой.
Если технологический процесс не требует постоянного перемещения работающего и физическая тяжесть работ
позволяет выполнять их в положении сидя, в конструкцию рабочего места следует включать кресло и
подставку для ног.
Эргономика
7
Пространственная компоновка рабочего места
Конструкция рабочего места должна обеспечивать выполнение трудовых операций в зонах моторного поля в
зависимости от требуемой точности и частоты действия:
•
выполнение трудовых операций «очень часто» (2 и более операций в минуту) и часто (менее 1 операции в
минуту) должно производиться в пределах зоны легкой досягаемости и оптимальной зоны моторного поля;
•
выполнение редких трудовых операций допускается в пределах зоны досягаемости моторного поля.
Размерные характеристики рабочего места
Конструкция рабочего места должна обеспечивать оптимальное положение работающего, которое достигается
регулированием:
•
высоты рабочей поверхности;
•
высоты сиденья;
•
высоты пространства для ног;
•
высоты подставки для ног.
Взаимное расположение рабочих мест
Взаимное расположение и компоновка рабочих мест должны обеспечивать безопасный доступ на рабочее
место и возможность быстрой эвакуации в случае опасности.
Размещение технологической и организационной оснастки
•
на рабочем месте не должно быть ничего лишнего, все необходимое для работы должно находиться в
непосредственной близости от работающего, размещение оснастки должно исключать неудобные позы
работника;
•
те предметы, которыми пользуются чаще, располагаются ближе тех предметов, которыми пользуются редко;
•
те предметы которые берутся левой рукой, должны находиться слева, а те предметы, что берутся правой
рукой, — справа;
•
более опасная с точки зрения травмирования оснастка должна располагаться выше менее опасной оснастки;
однако при этом следует учитывать, что тяжелые предметы при работе удобнее и легче опускать, чем
поднимать.
•
рабочее место не должно загромождаться заготовками и готовыми деталями.
Обзор и наблюдение за технологическим процессом
Конструкция и расположение средств отображения информации, предупреждающих о возникновении опасных
ситуаций, должны обеспечивать безошибочное, достоверное и быстрое восприятие информации. Акустические
средства отображения информации следует использовать, когда зрительный канал перегружен информацией, в
условиях ограниченной видимости, монотонной деятельности.
Литература и ссылки
•
Раздорожный А. А. Охрана труда и производственная безопасность: Учебно-методическое пособие —
Москва: Изд-во «Экзамен», 2005. — 512 с. (Серия «Документы и комментарии»)
•
В. М. Мунипов, В. П. Зинченко Эргономика. — Логос, 2001. — С. 356. — ISBN 5-94010-043-0
•
Эргономическое обеспечение Web-дизайна [1] — Венедикт Кляуззе. Журнал «Мир ПК» № 05 за 2002 год.
•
Компьютерная Эргономика [2] — компьютерно-зрительный, карпально-туннельный, позвоночный, грудной,
ножной синдромы.
•
Шульц Д., Шульц С. "Психология и работа"
Эргономика
8
См. также
•
Юзабилити
•
Эргономика программного обеспечения
•
Социальная инженерия
•
Техническая эстетика
Ссылки
•
Эргономика труда [3]
•
Novus Ergonomics [4]
Сноски
[1]
http:/ / www. osp. ru/ pcworld/ 2002/ 05/ 163334/
[2]
http:/ / www. ergonomikapc. ru
[3]
http:/ / chernykh. net/ content/ view/ 164/
[4]
http:/ / www. novus. de/ mps/ Ergonomics. 112. 0. html?& L=1
Человеко- компьютерное взаимодействие
Человеко-компьютерное взаимодействие (HCI [human-computer interaction] или CHI [computer-human
interaction]) — полидисциплинарное научное направление, существующее и развивающееся в целях
совершенствования методов разработки, оценки и внедрения интерактивных компьютерных систем,
предназначенных для использования человеком, а также в целях исследования различных аспектов этого
использования[1] .
История
Человеко-компьютерное взаимодействие получило развитие в контексте разнонаправленных научных
векторов (компьютерная графика, инженерная психология, эргономика, теория организации, когнитивная
наука, информатика и многие др.)
Началом эргономической фазы человеко-компьютерного взаимодействия можно считать диссертацию
Сазерленда (Sutherland, 1963), которая определила развитие компьютерной графики как науки. При этом
компьютерная графика нуждалась в эргономических проектах с целью эффективного управления сложными
моделями CAD/CAM систем. Исследования в этой области были продолжены в работах «Man-machine
symbiosis» (Licklider, 1960), «Augmentation of human intellect» (Engelbart, 1963) и «Dynabook» (Кей и Голдберг,
1977). В результате научных исследований получили развитие те инструменты, без которых трудно
представить сейчас работу с компьютером: «мышь», поэлементно-адресуемое (bitmap) отображение, «окно»,
метафора рабочего стола, point-and-click редакторы.
Так же проблематика производимых человеком операций за компьютером была естественным продолжением
классических целей инженерной психологии, за исключением того, что новые проблемы имели существенный
когнитивный, коммуникационный и интерактивный характер, ранее не рассматриваемый в инженерной
психологии и способствовали продвижению, таким образом, инженерной психологии в этом направлении.
Эргономические исследования также подчёркивали связь условий работы с явлениями, вызывающими
напряжение (стресс), такими, как: рутинная работа, сидячее положение, зрительное восприятие визуальных
образов на дисплеях и многими другими, до этого не рассматриваемые как взаимосвязанные.
Человеко-компьютерное взаимодействие
9
Наконец, вопрос: «как использование компьютерной техники вписывается в проектирование технологии
производства?» вывел взаимодействие с компьютерами на уровень эффективной организации труда и включил
даже в проблематику социального управления.
В СССР институционализация этого научного направления началась с 1958 года с обзоров американских работ
в журнале «Вопросы психологии».
Литература
•
Special Interest Group on Computer-Human Interaction. ACM SIGCHI Curricula for Human-Computer
Interaction. New York: Association for Computing Machinery, 1992—162. ISBN 0-89791-474-0 (Last updated:
2004-06-03) [2]
•
Shackel B. Ergonomics for a computer // Design 120. — 1959. — P.36 — 39.
•
Пископпель А. А., Щедровицкий А. П. Инженерная психология и эргономика. Справочник-обзор.
1958—1991. — М.: Путь, 1996—207 с — ISBN 5-89260-001-7
Примечания
[1]
CHAPTER 2.1 Definition of HCI from a Curricula for Human-Computer Interaction by ACM Special Interest Group on Computer-Human
Interaction Curriculum Development Group (http:/ / sigchi. org/ cdg/ cdg2. html#2_1)
[2]
http:/ / sigchi. org/ cdg/
Проектирование взаимодействия
Проектирование взаимодействия (Interaction Design, IxD) — область знаний, направленная на
проектирование поведения продуктов и систем, с которыми осуществляется взаимодействие пользователем.
Данная дисциплина, как правило, используется при разработке сложных систем — программного обеспечения,
бытовой техники, сложных инструментов и т. д. Однако иногда проектирование взаимодействия
рассматривают и для других типов продуктов, даже достаточно простых.
Основой проектирования взаимодействия служат базовые принципы когнитивной психологии. К ним
относятся: ментальные модели, отображения, метафоры интерфейсов и т. н. «аффорданс». Многие из этих
принципов были впервые сформулированы Дональдом Норманом в книге «Дизайн привычных вещей».
Проектировщики взаимодействия — специалисты в области проектирования взаимодействия — получают
информацию для разработок с помощью итеративных опросов существующих или потенциальных
пользователей системы. При этом используются целый ряд техник — метод персон, фокус-группы и т. д.
Основным критерием успешности продукта с позиций проектирования взаимодействия являются
удовлетворение целям пользователя, эмоциональное удовлетворение от работы с продуктом.
Литература
Статья "Проектирование взаимодействия" на Google Knol [1]
Сноски
[1]
http:/ / knol. google. com/ k/ uidg-knols/ -/ 1v7gf5f4q1h68/ 3
10
Интерфейсы
Интерфейс
Интерфе́йс (от англ. interface — поверхность раздела, перегородка) — совокупность средств и методов
взаимодействия между элементами системы.
В зависимости от контекста, понятие применимо как к отдельному элементу (интерфейс элемента), так и к
связкам элементов (интерфейс сопряжения элементов).
Примеры:
•
вожжи — главный элемент интерфейса между лошадью и кучером (вожжи — интерфейс системы
«лошадь — кучер»). Или же вожжи — интерфейс (управления) лошади;
•
руль, педали газа и тормоза, ручка КПП — интерфейс (управления) автомобиля, или же интерфейс
системы «водитель — автомобиль». Для автомеханика же интерфейсными элементами являются совсем
другие устройства — щуп уровня масла, например;
•
электрические вилка и розетка — являются интерфейсом энергоснабжения большинства бытовых
приборов;
•
клавиатура и мышь — являются интерфейсом компьютера в контексте «пользователь — ЭВМ»;
•
адрес электронной почты — является коммуникационным интерфейсом пользователя интернет;
•
английский язык — основной коммуникационный интерфейс между пользователями интернета;
•
протокол передачи данных — часть интерфейса клиент-серверной архитектуры;
•
предоставление резюме и собеседование — части системы «процесс трудоустройства»;
Этот термин используется практически во всех областях науки и техники. Его значение относится к любому
сопряжению взаимодействующих сущностей. Под интерфейсом понимают не только устройства, но и правила
(протокол) взаимодействия этих устройств.
В контексте отдельного элемента интерфейс элемента противоположен реализации элемента (внутреннему
устройству и функционированию). Пользователю элемента незачем знать, как реализован используемый
элемент, чтобы управлять им, но используемый элемент должен предоставить интерфейс управления.
Например, водителю вовсе не обязательно знать, как устроен двигатель, чтобы управлять автомобилем,
достаточно пользоваться интерфейсом автомобиля (рулем и педалями).
Интерфейсы в вычислительной технике
Интерфейсы являются основой взаимодействия всех современных информационных систем. Если интерфейс
какого-либо объекта (персонального компьютера, программы, функции) не изменяется (стабилен,
стандартизирован), это даёт возможность модифицировать сам объект, не перестраивая принципы его
взаимодействия с другими объектами.
Например, научившись работать с одной программой под Windows, пользователь с легкостью освоит и
другие — потому, что они имеют одинаковый интерфейс.
В вычислительной системе взаимодействие может осуществляться на пользовательском, программном и
аппаратном уровнях. В соответствии с этой классификацией можно выделить:
Интерфейс пользователя
Совокупность средств, при помощи которых пользователь общается с различными устройствами.
Интерфейс
11
•
Интерфейс командной строки: инструкции компьютеру даются путём ввода с клавиатуры текстовых строк
(команд).
•
Графический интерфейс пользователя: программные функции представляются графическими элементами
экрана.
•
Диалоговый интерфейс
•
Естественно-языковой интерфейс: пользователь «разговаривает» с программой на родном ему языке.
Способ взаимодействия физических устройств. Чаще всего речь идёт о компьютерных портах.
•
Сетевой интерфейс
•
Шлюз (телекоммуникации) — устройство, соединяющее локальную сеть с более крупной, например,
Интернетом
•
Шина (компьютер)
•
Нейро-компьютерный интерфейс (англ. brain-computer interface): отвечает за обмен между нейронами и
электронным устройством при помощи специальных имплантированных электродов.
Интерфейсы в программировании
•
Интерфейс функции
•
Интерфейс программирования приложений (API): набор стандартных библиотечных методов, которые
программист может использовать для доступа к функциональности другой программы.
•
Вызов удалённых процедур
•
COM-интерфейс
•
Интерфейс (ООП)
Интерфейсы в естественных науках
•
Интерфейс (химия)
•
Интерфейс (физика)
См. также
•
Интерфейс пользователя (пользовательский интерфейс)
•
Протокол
•
Стандарт
•
Спецификация
•
Шаблон
•
Модель
•
Эталон
Элемент интерфейса
12
Элемент интерфейса
Кросс платформенный редактор элементов интерфейса Qt designer
Элеме́нт интерфе́йса — примитив
графического интерфейса пользователя,
имеющий стандартный внешний вид и
выполняющий стандартные действия.
Другие названия: ви́джет (англ. widget),
контро́л (control) и элемент управления.
Происхождение термина
Виджет
Слово «widget» впервые фиксируется в
1926 году в том же значении, что и
gadget — «приспособление, штуковина».
Предполагают, что на его форму повлияло
gadget, а происходит он из which it —
«этот, как его».
Слово «Виджет» также используется и как название класса вспомогательных мини-программ — графических
модулей, которые размещаются в рабочем пространстве соответствующей родительской программы и служат
для украшения рабочего пространства, развлечения, решения отдельных рабочих задач или быстрого
получения информации из интернета без помощи веб-браузера.
Типовые элементы интерфейса
В большинстве существует стандартный набор элементов интерфейса, включающий следующие элементы
управления:
•
кнопка (button)
•
список (list box)
•
раскрывающийся список (combo box)
•
флажок/переключатель (check box)
•
радио-кнопка (radio button)
•
поле редактирования (textbox, edit field)
•
значок (icon)
•
панель инструментов (toolbar)
•
панель (строка) статуса (status bar)
•
всплывающая подсказка (tooltip, hint)
•
полоса прокрутки (scrollbar)
•
вкладка (tab)
•
элемент для отображения табличных данных (grid view)
•
меню (menu)
•
главное меню окна (main menu)
•
контекстное меню (popup menu)
•
окно (window)
•
панель (panel)
•
диалоговое окно (dialog box)
Элемент интерфейса
13
•
модальное окно (modal window)
•
дерево — элемент для отображения иерархии (tree view)
Библиотеки элементов интерфейса
В каждой оконной системе существует свой набор «родных» элементов, с интерфейсом для работы с ними —
на низком уровне. Одни библиотеки элементов управления — это высоко-уровневые «обертки» к стандартным
контролам, упрощающие работу с ними и расширяющие их функциональность, некоторые из них
предоставляют единый программный интерфейс для программирования интерфейса пользователя в
нескольких платформах или оконных системах, и с целью обеспечения кросс-платформенности приводят их к
единому для всех платформ API. Другие предоставляют кросс-платформенные возможности за счёт
собственной, платформо-независимой, реализации элементов управления.
•
Кросс-платформенные, на основе Java
•
SWT (Standard Widget Toolkit) — в составе проекта Eclipse
•
Swing — разработка Sun, компонента Java Foundation Classes (JFC) на основе AWT
•
AWT — частично устаревший Abstract Windowing Toolkit (Sun, 1995)
•
Кросс-платформенные, на основе C/C++, с возможностью использования в других языках
•
Tk
•
GTK+
•
Qt
•
FOX toolkit
•
wxWidgets (wxWindows)
•
Кросс-платформенные, на основе Pascal
•
LCL
•
CLX — адаптация интерфейса Qt для Borland Delphi & Kylix
•
Кросс-платформенные, на основе Ajax
•
Dojo
•
ExtJS
•
Под AmigaOS
•
Intuition
•
Reaction
•
MUI (Magic User Interface)
•
Под AROS
•
Zune
•
Под DOS
•
Turbo Vision — в составе Borland/Turbo Pascal 6.0/7.0, текстовый интерфейс
•
Под Microsoft Windows
•
Windows API
•
MFC (Microsoft Foundation Classes)
•
WTL (Windows Template Library)
•
OWL (Object Windows Library, Borland Pascal 7.0, графический интерфейс)
•
VCL (Visual Components Library, Borland Delphi)
•
Windows Forms
•
WPF (Windows Presentation Foundation или Avalon)
•
Под UNIX — для X Window System
•
Xaw
Элемент интерфейса
14
•
Motif (Open Motif, LessTif)
•
Под BREW
•
BUIW
•
Графический интерфейс для игр
•
MyGUI
См. также
•
Гаджет
Ссылки
•
Веб виджет переводчик [1]
•
Eclipse Nebula [2]
•
Fox-Toolkit [3]
•
Мобильные виджеты iDea Widgets [4]
•
Виджет-лаборатория ВидПро [5], создатели toolwi.com, muzicons.com
Сноски
[1]
http:/ / www. yandex. ru/ ?edit=1& add=3457
[2]
http:/ / www. eclipse. org/ nebula/
[3]
http:/ / www. fox-toolkit. org/
[4]
http:/ / ideawidgets. ru/
[5]
http:/ / widpro. com/
Интерфейс пользователя
Интерфе́йс по́льзователя, он же по́льзовательский интерфейс (UI — англ. user interface) — разновидность
интерфейсов, в котором одна сторона представлена человеком (пользователем), другая —
машиной/устройством. Представляет собой совокупность средств и методов, при помощи которых
пользователь взаимодействует с различными, чаще всего сложными, с множеством элементов, машинами и
устройствами. Интерфейс двунаправленный — устройство, получив команды от пользователя и исполнив их,
выдаёт информацию обратно, наличествующими у неё средствами (визуальными, звуковыми и т.п.), приняв
которую, пользователь выдаёт устройству последующие команды предоставленными в его распоряжение
средствами (кнопки, переключатели, регуляторы, сенсоры, голосом, и т.д.).
Чаще всего термин применяется по отношению к компьютерным программам (приложениям). Но вообще под
пользовательским интерфейсом подразумевается любая система взаимодействия с устройствами,
способными к интерактивному взаимодействию с пользователем:
•
меню на экране телевизора плюс пульт дистанционного управления им же;
•
дисплей электронного аппарата (автомагнитола, часы, проигрыватель) и набор кнопок и переключателей
для его настройки и управления;
•
приборная панель автомобиля/самолёта и её тумблеры и рычаги управления режимами;
•
и так далее.
Поскольку интерфейс есть совокупность, то он состоит из элементов, которые, сами по себе, также могут
состоять из элементов (так, окно дисплея может содержать в себе другие окна, которые, в свою очередь, могут
содержать панели, кнопки и прочие интерфейсные элементы).
Интерфейс пользователя
15
Особое и отдельное внимание в интерфейсе пользователя традиционно уделяется его эффективности и
удобству пользования (юзабельности).
Составляющие
Под совокупностью средств и методов интерфейса пользователя подразумеваются
•
средства:
•
вывода информации из устройства к пользователю — весь доступный диапазон воздействий на организм
человека (зрительных, слуховых, тактильных, обонятельных и тд.) — экраны, дисплеи, проекторы,
лампочки, динамики, зуммеры, сирены, вибромоторы и тд. и тп.
•
ввода информации/команд пользователем в устройство — множество всевозможных устройств для
контроля состояния человека — кнопки, переключатели, потенциометры, датчики положения и
движения, сервоприводы, даже устройства съёма мозговой активности.
(по наличию тех или иных средств ввода, интерфейсы разделяются на типы — жестовый, голосовой, брэйн и
тд., возможны смешанные варианты). Средства эти должны быть необходимыми и достаточными, быть
удобными и практичными, расположеными и скомпоноваными разумно и понятно, соответствовать
физиологии человека, не должны приводить к негативным последстиям для организма пользователя (всё это
входит в понятие эргономики).
•
методы:
набор правил, заложенных разработчиком устройства, согласно которым совокупность действий пользователя
должна привести к необходимой реакции устройства и выполнения требуемой задачи — т.н. логический
интерфейс
Правила эти должны быть достаточно ясны для понимания, естественны и легки для запоминания (всё это
входит в понятие юзабилити)
Увеличение в устройстве (при равной функциональности) средств ввода-вывода даёт упрощение построения
методов управления и упрощение правил пользования, но зато приводит к сложности восприятия информации
пользователем — интерфейс становится перегруженным.
Наоборот — уменьшение средств отображения и контроля приводит к усложнению правил управления —
каждый элемент несёт на себе слишком много функций.
Потому проектировщики интерфейсов стараются принять компромиссное решение между этими двумя
крайностями в каждом отдельном случае.
Компьютерные программы
Интерфейс пользователя компьютерного приложения включает:
•
средства отображения информации, отображаемую информацию, форматы и коды;
•
командные режимы, язык «пользователь — интерфейс»;
•
устройства и технологии ввода данных;
•
диалоги, взаимодействие и транзакции между пользователем и компьютером, обратную связь с
пользователем;
•
поддержку принятия решений в конкретной предметной области;
•
порядок использования программы и документацию на неё.
Пользовательский интерфейс часто понимают только как внешний вид программы. Однако, на деле пользователь воспринимает через него всю программу в целом, а значит, такое понимание является слишком узким. В действительности ПИ объединяет в себе все элементы и компоненты программы, которые способны оказывать влияние на взаимодействие пользователя с программным обеспечением (ПО), это не только экран,
Интерфейс пользователя
16
который видит пользователь.
К этим элементам относятся:
•
набор задач пользователя, которые он решает при помощи системы;
•
используемая системой метафора (например, рабочий стол в MS Windows®);
•
элементы управления системой;
•
навигация между блоками системы;
•
визуальный (и не только) дизайн экранов программы;
•
средства отображения информации, отображаемая информация и форматы;
•
устройства и технологии ввода данных;
•
диалоги, взаимодействие и транзакции между пользователем и компьютером;
•
обратная связь с пользователем;
•
поддержка принятия решений в конкретной предметной области;
•
порядок использования программы и документация на нее.
Для упрощения восприятия функции программы пользователем при разработке пользовательского интерфейса
желательно использовать метафоры.
См. также
•
Интерфейс
•
Элемент интерфейса
•
Текстовый интерфейс пользователя, в частности интерфейс командной строки
•
Графический интерфейс пользователя
•
Оконный интерфейс
•
WIMP (графический интерфейс)
•
Web-ориентированный интерфейс
•
Индуктивный пользовательский интерфейс
•
Масштабируемый интерфейс пользователя
•
Тактильный интерфейс
•
Жестовый интерфейс
•
Голосовой интерфейс
•
Материальный интерфейс пользователя
•
Сенситивные интерфейсы
•
Хаптика
•
Эргономика
•
Юзабилити
•
UIML — язык разметки пользовательских интерфейсов
Интерфейс пользователя
17
Ссылки
•
Метафоры пользовательского интерфейса [1]
•
Библиотека [2] на usethics.ru
•
Хроники юзабилити [3] портал на GUI.RU
•
Статьи об информационном дизайне [4] от Артема Горбунова
•
Дизайн пользовательских интерфейсов и юзабилити [5] на Хабрахабр.ру
Сноски
[1]
http:/ / toader. chat. ru/ a11. htm
[2]
http:/ / www. usethics. ru/ lib/
[3]
http:/ / gui. ru/
[4]
http:/ / artgorbunov. ru/ bb/
[5]
http:/ / habrahabr. ru/ blog/ ui_design_and_usability/
Графический интерфейс пользователя
Графи́ческий интерфе́йс по́льзователя (ГИП), графический пользовательский интерфейс (ГПИ) (англ.
Graphical user interface, GUI; сленг. ГУИ, ГУЙ) — разновидность пользовательского интерфейса, в котором
элементы интерфейса (меню, кнопки, значки, списки и т. п.), представленные пользователю на дисплее,
исполнены в виде графических изображений.
В отличие от интерфейса командной строки, в ГПИ пользователь имеет произвольный доступ. С помощью
устройств ввода (клавиатуры, мыши и т. п.), ко всем видимым экранным объектам (элементам интерфейса) и
осуществляется непосредственное манипулирование ими. Чаще всего элементы интерфейса в ГУИ
реализованы на основе метафор и отображают их назначение и свойства, что облегчает понимание и освоение
программ пользователями.
История
Впервые концепция ГИП была предложена учеными из исследовательской лаборатории Xerox PARC в 1970-х.
В 1973 году в лаборатории Xerox PARC собрали молодых учёных и дали свободу исследований. В результате,
кроме всего прочего, на свет появляется концепция графического интерфейса WIMP (Windows, Icons, Menus,
Point-n-Click).[1] В рамках этой концепции создаётся компьютер Alto.
В 1979 году Three Rivers Computer Company выпускает рабочую станцию PERQ, похожую по принципам
построения на Alto. В 1981 году Xerox выпускает продолжение Alto — Star.
Коммерческое воплощение концепция ГИП получила в продуктах корпорации Apple Computer. В
операционной системе AmigaOS ГИП с многозадачностью был использован в 1985 году. В настоящее время
ГИП является стандартной составляющей большинства доступных на рынке операционных систем и
приложений.
Примеры систем, использующих ГИП: Mac OS, Solaris, GNU/Linux, Microsoft Windows, NeXTSTEP, OS/2,
BeOS.
Графический интерфейс пользователя
18
Классификация
Можно выделить следующие виды ГИП:[источник не указан 309 ]
•
простой: типовые экранные формы и стандартные элементы интерфейса, обеспечиваемые самой
подсистемой ГИП;
•
истинно-графический, двумерный: нестандартные элементы интерфейса и оригинальные метафоры,
реализованные собственными средствами приложения или сторонней библиотекой;
•
трёхмерный: на данный момент слабо классифицирован.
DWIM
Одним из требований к хорошему графическому интерфейсу программной системы является концепция
«делай то, что я имею в виду» или DWIM (англ. Do What I Mean). DWIM требует, чтобы система работала
предсказуемо, чтобы пользователь заранее интуитивно понимал, какое действие выполнит программа после
получения его команды.
См. также
•
Интерфейс пользователя
•
Оконный интерфейс
•
Юзабилити
•
Front-end и back-end
•
IBM Common User Access
Ссылки
•
Guidebook [2] — галерея графических интерфейсов
•
Графический интерфейс пользователя [3] — приёмы описания GUI в руководствах пользователя
Сноски
[1]
Евгений Патий. 19 ступеней вверх, или История графических пользовательских интерфейсов (http:/ / smoking-room. ru/ data/ pnp/
gui_history/ ) IT News № 18/2005
[2]
http:/ / www. guidebookgallery. org/
[3]
http:/ / tdocs. su/ 1808
Web-ориентированный интерфейс
19
Web- ориентированный интерфейс
Веб-приложение — клиент-серверное приложение, в котором клиентом выступает браузер, а сервером —
веб-сервер. Логика веб-приложения распределена между сервером и клиентом, хранение данных
осуществляется, преимущественно, на сервере, обмен информацией происходит по сети. Одним из
преимуществ такого подхода является тот факт, что клиенты не зависят от конкретной операционной системы
пользователя, поэтому веб-приложения являются межплатформенными сервисами.
Веб-приложения стали широко популярными в конце 1990-х — начале 2000-х годов.
Технические особенности
Существенное преимущество построения Web приложений для поддержки стандартных функций браузера
заключается в том, что функции должны выполняться независимо от операционной системы данного клиента.
Вместо того чтобы писать различные версии для Microsoft Windows, Mac OS X, GNU/Linux и других
операционных систем, приложение создается один раз для произвольно выбранной платформы и на ней
разворачивается. Однако различная реализация HTML, CSS, DOM и других спецификаций в браузерах может
вызвать проблемы при разработке веб-приложений и последующей поддержке. Кроме того, возможность
пользователя настраивать многие параметры браузера (например, размер шрифта, цвета, отключение
поддержки сценариев) может препятствовать корректной работе приложения.
Другой (менее универсальный) подход заключается в использовании Adobe Flash или Java-апплетов для
полной или частичной реализации пользовательского интерфейса. Поскольку большинство браузеров
поддерживает эти технологии (как правило, с помощью плагинов), Flash- или Java-приложения могут
выполняться с легкостью. Так как они предоставляют программисту больший контроль над интерфейсом, они
способны обходить многие несовместимости в конфигурациях браузеров, хотя несовместимость между Java
или Flash реализациями на стороне клиента может приводить к различным осложнениям. В связи с
архитектурным сходством с традиционными клиент-серверными приложениями, в некотором роде «толстыми»
клиентами, существуют споры относительно корректности отнесения подобных систем к веб-приложениям;
альтернативный термин «Богатое Интернет приложение» (англ. Rich Internet Applications).
Устройство веб-приложений
Веб-приложение получает запрос от клиента и выполняет вычисления, после этого формирует веб-страницу и
отправляет её клиенту по сети с использованием протокола HTTP. Само веб-приложение может выступать в
качестве клиента других служб, например, базы данных или другого веб-приложения, расположенного на
другом сервере. Ярким примером веб-приложения является система управления содержимым статей
Википедии: множество её участников могут принимать участие в создании сетевой энциклопедии, используя
для этого браузеры своих операционных систем (будь то Microsoft Windows, GNU/Linux или любая другая
операционная система) и не загружая дополнительных исполняемых модулей для работы с базой данных
статей.
В настоящее время набирает популярность новый подход к разработке веб-приложений, называемый Ajax.
При использовании Ajax страницы веб-приложения не перезагружаются целиком, а лишь догружают
необходимые данные с сервера, что делает их более интерактивными и производительными.
Для создания веб-приложений на стороне сервера используются разнообразные технологии и языки
программирования
Web-ориентированный интерфейс
20
Название
Лицензия
Веб-сервер
ASP
проприетарная
специализированный
ASP.NET
проприетарная
специализированный
Java
свободная
множество, в том числе свободных
Perl
свободная
практически любой
PHP
свободная
практически любой
Python
свободная
практически любой
Ruby
свободная
практически любой
На стороне клиента используется:
•
JavaScript
•
Flash
•
Java
•
ActiveX
•
Silverlight
См. также
•
SaaS
Ссылки
•
How Microsoft lost the API war [1] — Обсуждение замены традиционных приложений Windows на
веб-приложения
•
Web Applications 1.0 [2] документирование работы веб-приложений.
•
The Other Road Ahead [3] — Статья где утверждается что будущее за серверными, а не за клиентскими
приложениями
•
Web Applications [4] in the Open Directory Project
Литература
•
Марко Беллиньясо Разработка Web-приложений в среде ASP.NET 2.0: задача — проект — решение =
ASP.NET 2.0 Website Programming: Problem - Design - Solution. — М.: «Диалектика», 2007. — С. 640. —
ISBN 0-7645-8464-2
•
Олищук Андрей Владимирович Разработка Web-приложений на PHP 5. Профессиональная работа. — М.:
«Вильямс», 2006. — С. 352. — ISBN 5-8459-0944-9
Сноски
[1]
http:/ / www. joelonsoftware. com/ articles/ APIWar. html
[2]
http:/ / www. whatwg. org/ specs/ web-apps/ current-work/
[3]
http:/ / www. paulgraham. com/ road. html
[4]
http:/ / dmoz. org/ Computers/ Internet/ On_the_Web/ Web_Applications/
Текстовый интерфейс пользователя
21
Текстовый интерфейс пользователя
Bash — пример консольной программы
Пример оконного текстового интерфейса
Текстовый пользовательский интерфейс, ТПИ
(англ. Text user interface, TUI; также Character User
Interface, CUI) — разновидность интерфейса
пользователя, использующая при вводе-выводе и
представлении информации исключительно набор
буквенно-цифровых символов и символов
псевдографики. Характеризуется малой
требовательностью к ресурсам аппаратуры
ввода-вывода (в частности, памяти) и высокой
скоростью отображения информации, поэтому
широко использовался на начальном этапе развития
вычислительной техники. Также, его разновидность
- интерфейс командной строки - имеет отдельные
преимущества в юзабилити перед графическим
интерфейсом. Поэтому программы, основанные на
ТПИ, имеют некоторое распространение до
настоящего времени, особенно в специфических
сферах и на маломощном оборудовании.
Недостатком подобного типа интерфейса является
ограниченность изобразительных средств по
причине ограниченности количества символов,
включённых в состав шрифта, предоставляемого
аппаратурой.
Программы с текстовым интерфейсом могут
имитировать Оконный интерфейс, чему особенно
способствует применение псевдографических
символов.
ТПИ, использующий в качестве элементов
интерфейса только и исключительно вводимые с
клавиатуры текстовые строки (команды), называется интерфейсом командной строки (т. н. консольные
программы — программы, использующие интерфейс командной строки, где информация выводится на
консоль).
Особенности текстового интерфейса
В простейшем случае ТПИ использует интерфейс командной строки, однако многие программы с помощью
интерактивных элементов создают более дружественный интерфейс, приближающийся по удобству к
графическому).
В текстовом интерфейсе реализованы все базовые элементы интерфейса, позднее перенесённые в графический интерфейс — меню (как списочные, так и выпадающие), кнопки, радио-кнопки, чекбоксы, комбобоксы, полосы прокрутки и т.д. Многие программы реализовывали развитую оконную систему (чему способствовали библиотеки вроде CScape, D-Flat, Turbo Vision и многие другие), некоторые имели сменные скины (например, DOS Navigator) и поддерживали различные устройства интерактивного взаимодействия, такие как мышь,
Текстовый интерфейс пользователя
22
джойстик, световое перо.
На программном уровне для ввода и вывода информации консольные программы используют стандартные
устройства ввода-вывода (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 предоставляет ещё бо́льшие возможности для консольных программ. В частности, даже безо всякого
графического интерфейса несколько одновременно запущенных программ могут бесконфликтно
взаимодействовать с пользователем, создавая иллюзию наличия в системе нескольких консолей (виртуальные
консоли).
Текстовый интерфейс пользователя
23
Примеры консольных программ
•
Любая программа, получающая данные путём чтения stdin и отправку данных путём записи в stdout, по
определению является консольной программой. Однако, такие программы могут обходиться и без
пользователя, поскольку stdin и stdout могут быть связаны не с интерактивными устройствами (клавиатурой
и монитором), а с файлами.
•
Текстовые программы для DOS, осуществляющие вывод в видеопамять EGA/VGA. Подобные программы
работают также и в среде Microsoft Windows.
•
Unix shell, а также все утилиты, предназначенные для работы в этой среде.
Некоторые программы с ТПИ могут работы и в консольном режиме:
•
Midnight Commander (UNIX)
•
FAR Manager (Windows)
Шрифты
•
Lucida Console
•
Terminus
•
Monaco
Оконный интерфейс
Пример оконного интерфейса в текстовом режиме (файловый менеджер
Far) — два (или три) окна, расположенные «над» экраном и «друг над другом»
Око́нный интерфе́йс — способ
организации полноэкранного интерфейса
программы, в котором каждая
интегральная часть располагается в
окне — собственном суб-экранном
пространстве, находящемся в
произвольном месте «над» основным
экраном. Несколько окон, одновременно
располагающихся на экране, могут
перекрываться, находясь «выше» или
«ниже» друг относительно друга.
Несмотря на то, что наиболее
естественным для оконного интерфейса является графический режим, основные его элементы применимы и в
текстовом режиме, где он применяется в равной степени.
Процедуры поддержки оконного интерфейса призваны отрисовывать экран c располагающимися «поверх него»
окнами и распределять ввод пользователя между ними (при существовании нескольких равноправных окон
ввод пользователя осуществляется в то, которое в данный момент является активным).
Окно обычно имеет прямоугольную форму, с обрамлением и/или цветом фона, отличным от цвета основного
экрана. При необходимости окно имеет заголовок (с пояснением функции) и органы управления. Иногда
используются различные эффекты для придания ощущения объемности интерфейса, в том числе:
•
«тени» — затемнение под окном со сдвигом (как правило, вправо-вниз, предполагая наличие света
слева-сверху). В графическом режиме тени также могут отбрасывать другие элементы интерфейса,
например курсор мыши;
•
создание иллюзии выпуклых и вдавленых структур — линий, надписей, пониженных или повышенных областей (например, кнопок), рамок и т. п., линиями повышенной и пониженной яркости и полутоновыми
Оконный интерфейс
24
переходами (для имитации криволинейных поверхностей);
•
полная или частичная (полу-)прозрачность окна — просвечивание сквозь «подложки» или других окон
(применимо только в графическом режиме).
Некоторые окна (они называются модальными) «монополизируют» фокус пользовательского внимания: работу
с программой можно продолжить лишь после закрытия «модального» окна.
Оконный интерфейс очень быстро завоевал популярность и в настоящее время (отчасти — благодаря
операционным системам с графическими оконными оболочками) является самым популярным видом
программного интерфейса.
Разновидности
Программы с классической организацией экрана могут использовать элементы оконного интерфейса для
организации меню, окон сообщений и диалогов.
Программы с полной реализацией оконного интерфейса раздельно работают с отдельными подзадачами в
разных окнах (например, многооконный редактор с документом в каждом окне). При полной реализации
основной экран «под окнами» разгружается и может быть использован для каких-нибудь глобальных задач.
Полная реализация, как правило, предполагает наличие манипулятора мышь для простого переключения
между окнами и управления ими (перемещение, изменения размеров, скрытие, закрытие и тому подобное).
Оконный интерфейс имеют оболочки большинства операционных систем, и, в этом случае, окно может
представлять собой отдельную запущенную программу (задачу).
Оконный интерфейс реализуется как в графическом, так и в текстовом режиме. Наиболее известной
(неполной) реализацией оконного интерфейса в текстовом режиме является программа-оболочка Питера
Нортона «Norton Commander» и её многочисленные ремейки. [1] . Так же много программ с текстовым
оконным интерфейсом было сделано с использованием библиотеки Turbo Vision от компании Borland.
Операционные системы с оконным интерфейсом
Большинство современных операционных систем имеют неотъемлемый или опциональный оконный
графический пользовательский интерфейс, реализующий окно в качестве основы взаимодействия с
пользователем.
Оконная операционная система позволяет пользователю одновременно работать с различными программами.
Каждая программа работает в отдельном окне, занимающем отдельное пространство на экране, обычно в
форме прямоугольника. Большинство операционных систем предоставляют пользователю основные функции
работы с окнами: перенос, изменение размера окна, фокуса окна и так далее.
Оконная система совсем не обязательно является операционной и операционная не обязательно является оконной. Хотя, в частности, эти
два признака могут выполняться одновременно.
Оконный интерфейс
25
Пример работы сетевой оконной системы —
приложения X Window System в среде
Microsoft Windows
Некоторые оконные системы, например X Window System,
обладают также сетевой структурой, позволяющей пользователю
работать с графическими программами на удалённых
узлах-клиентах.
Список оконных систем
•
8½ и rio для Plan 9
•
GEM
•
Fresco/Berlin
•
NEXTSTEP
•
AmigaOS#Workbench в AmigaOS
•
Quartz для Mac OS X
•
X Window System
•
Y Window System
•
Microsoft Windows
•
Mac OS
•
Palm OS
Сноски
[1]
Список файловых менеджеров
Интерфейс командной строки
Внешний вид оболочки bash
Интерфейс командной строки (англ. Command line interface,
CLI) — разновидность текстового интерфейса (CUI) между
человеком и компьютером, в котором инструкции компьютеру
даются в основном путём ввода с клавиатуры текстовых строк
(команд), в UNIX-системах возможно применение мыши.[1] Также
известен под названием консоль.
Интерфейс командной строки противопоставляется системам
управления программой на основе меню, а также различным
реализациям графического интерфейса.
Формат вывода информации в интерфейсе командной строки не
регламентируется; обычно это также простой текстовый вывод, но
может быть и графическим, звуковым и т. д.
Назначение
На устройстве-консоли, которое печатало текст на бумаге,
интерфейс командной строки был единственным возможным. На
видеотерминалах интерфейс командной строки применяется по таким причинам:
•
Небольшой расход памяти по сравнению с системой меню.
•
В современном программном обеспечении имеется большое число команд, многие из которых нужны крайне редко. Поэтому даже в некоторых программах с графическим интерфейсом применяется командная
Интерфейс командной строки
26
строка: набор команды (при условии, что пользователь знает эту команду) осуществляется гораздо быстрее,
чем, например, навигация по меню.
•
Естественное расширение интерфейса командной строки — пакетный интерфейс. Его суть в том, что в
файл обычного текстового формата записывается последовательность команд, после чего этот файл можно
выполнить в программе, что возымеет такой же (не меньший) эффект, как если бы эти команды были по
очереди введены в командную строку. Примеры — .bat-файлы в DOS и Windows, shell-скрипты в
Unix-системах.
Если программа полностью или почти полностью может управляться командами интерфейса командной
строки и поддерживает пакетный интерфейс, умелое сочетание интерфейса командной строки с графическим
предоставляет пользователю очень мощные возможности.
Формат команды
Наиболее общий формат команд (в квадратные скобки помещены необязательные части):
[символ_начала_команды]имя_команды [параметр_1 [параметр_2 […]]]
Символ начала команды может быть самым разным, однако чаще всего для этой цели используется косая
черта (/). Если строка вводится без этого символа, выполняется некоторая базовая команда: например, строка
«Привет» в IRC эквивалентна вводу «/msg Привет». Если же такой базовой команды нет, символ начала
команды отсутствует вообще (как, например, в DOS).
Параметры команд могут иметь самый разный формат. В основном применяются следующие правила:
•
параметры разделяются пробелами (и отделяются от названия команды пробелом)
•
параметры, содержащие пробелы, обрамляются кавычками-апострофами (') или двойными кавычками (")
•
если параметр используется для обозначения включения какой-либо опции, выключенной по умолчанию,
он начинается с косой черты (/) или дефиса (-)
•
если параметр используется для включения/выключения какой-либо опции, он начинается (или
заканчивается) знаком плюс или минус (для включения и выключения соответственно)
•
если параметр указывает действие из группы действий, назначенных команде, он не начинается со
специальных символов
•
если параметр указывает объект, к которому применяется действие команды, он не начинается со
специальных символов
•
если параметр указывает дополнительный параметр какой-либо опции, то он имеет формат
/опция:дополнительный_параметр (вместо косой черты также может употребляться дефис)
Например, в некоей абстрактной игре может быть такая команда:
/map dm1 /skill:2
•
/ — символ начала команды
•
map — название команды (переход на другой уровень)
•
dm1 — обязательный параметр (название уровня)
•
/skill:2 — дополнительный параметр (задание уровня сложности)
Интерфейс командной строки
27
Применение
Основные сферы применения интерфейса командной строки:
•
операционные системы
•
чаты
•
компьютерные игры
В операционных системах
Основное применение интерфейса командной строки — интерфейс операционной системы. В Windows язык
командной строки не имеет чёткой стандартизации, однако существует стандарт командной строки POSIX и
его модификация в рамках GNU (см.: командная оболочка UNIX).
В компьютерных играх
Изначально консоль в играх использовалась для отладки.
Tremulous: Игрок готовится сменить команду
Как только появился интерфейс командной строки, стали
появляться и игры, его использующие, особенно актуально это
было на тех платформах, где более сложные интерфейсы
(графические) было невозможно реализовать вследствие
аппаратных ограничений.
Наиболее ярким примером игр, использующих интерфейс
командной строки, могут быть названы текстовые квесты, а также
сетевые многопользовательские ролевые игры — MUD. Команды в
таких играх вводятся на так называемом псевдоестественном
языке.
Во многих графических играх присутствует консоль для облегчения доступа к настройкам игры, поскольку в
сложных играх реализовать все команды через систему меню неудобно. Первая такая игра — Quake.
Стандартная кнопка для вызова консоли — ~ (тильда); реже ↵ Enter '. Консоль позволяет вносить
изменения в настройки игры оперативнее, чем меню — например, набрать name Terminator быстрее, чем найти
то меню, в котором вводится имя игрока, и ввести Terminator.
Также консоль предоставляет возможность изменять настройки назначения горячих клавиш, что может
использоваться для обмана соперника в многопользовательских играх, например предложением ввести
команду unbindall, отменяющую все горячие клавиши, в том числе и отвечающие за движение игрока.
Интерфейс, который предоставляется моддерам, не всегда позволяет менять меню; но он всегда позволяет
добавлять свои консольные команды. Например, в DotA (карте для игры Warcraft III) режим игры задаёт
участник, играющий синими, через консоль.
Интерфейс командной строки
28
В других программах
•
САПР
•
AutoCAD
•
текстовые редакторы
•
Vim
•
Браузеры
•
Vimperator — расширение для браузера Firefox, позволяющее управлять им, как редактором Vim
•
различные клиенты IRC
Достоинства
•
Любую команду можно вызвать небольшим количеством нажатий.
•
Можно обращаться к командам для разных исполнимых файлов почти мгновенно и непосредственно, тогда
как в GUI приходится сначала запускать, а затем закрывать графический интерфейс для каждого
исполнимого файла.
•
Shell script в UNIX-подобных системах является полноценным интерпретируемым языком
программирования и способен автоматизировать любую системную задачу. В Windows присутствует их
примитивный аналог — пакетные файлы, по сути это, простейшая программируемость.
•
Можно управлять программами, не имеющими графического интерфейса (например, выделенным
сервером).
•
Просмотрев содержимое консоли, можно повторно увидеть промелькнувшее сообщение, которое вы не
успели прочитать.
•
Можно пользоваться удаленным компьютером с любого устройства подключаемого к Интернету или
локальной сети (ПК, субноутбук, КПК, сотовый телефон, портативная игровая консоль) без особых затрат
трафика (единицы килобайт за сеанс).
•
Отсутствие деталей интерфейса, таких как пусковые панели и рамки окон, что при равных разрешениях
позволяет вместить значительно больше текста на страницу.
Недостатки
•
Интерфейс командной строки не является дружественным для пользователей, которые начали знакомство с
компьютером с графического режима.
•
Без автодополнения, ввод длинных и содержащих спецсимволы параметров с клавиатуры может быть
затруднительным.
•
Отсутствие «аналогового» ввода. Например подбор громкости с помощью озвученного ползунка позволяет
выставить подходящую громкость быстрее, чем командой вроде aumix -v 90. (Однако, озвученный ползунок
вполне может быть псевдографическим, что и выполнено в большинстве консольных плееров, или,
например, в том же aumix запущенном без параметров).
Интерфейс командной строки
29
См. также
•
bash
•
CMD
Сноски
[1]
Howto: FreeBSD configure or use mouse to copy and paste at a terminal (http:/ / www. cyberciti. biz/ faq/
howto-freebsd-use-mouse-to-copy-and-paste-at-a-terminal/ )
WIMP (графический интерфейс)
В человеко-компьютерном взаимодействии, WIMP расшифровывается как "window, icon, menu, pointing
device" (окно, значок, меню, манипулятор) и означает взаимодействие с компьютером на базе этих элементов.
Оно было придумано Мерзугой Уильбертсом в 1980 году.[1] Хотя его популярность постепенно падает, это
слово часто используется в качестве приближённого синонима «графического интерфейса пользователя»
(GUI). WIMP был разработан в корпорации Xerox PARC и «популяризирован компьютером Macintosh в 1984
году», в котором были добавлены понятие «строка меню» и концепция расширенного управления окном.[2]
Этот стиль взаимодействия использует физическое устройство для управления положением курсора и
предоставляет пользователю информацию, организованную в виде окон и иконок. Доступные команды
собраны в меню и управляются курсором мыши. Это сделано для того, чтобы уменьшить когнитивную
нагрузку на пользователя (не нужно помнить все возможности), что сокращает время обучения.
Другое очевидное достоиство этого стиля — это простота его использования для нетехнических людей, как
для новичков, так и для опытных пользователей. Кроме того, эта технология может быть легко перенесена из
одного приложения в другое, с учетом высокой согласованности между интерфейсами.
WIMP (графический интерфейс)
30
Альтернативные расшифровки
В разных источниках акроним WIMP расшифровывается по-разному. Слова берутся то в единственном, то во
множественном числе. Особенно много расхождений при расшифровке буквы «Р». Ниже приведены все
известные на данный момент разночтения.
•
W: Window(s)
•
I: Icon(s)
•
M: Menu(s); Mouse/Mice (реже) (заметим, что «mice» — это подмножество манипуляторов)
•
P: Pointing device(s); Pointing; Pointer(s) (заметим, что «pointer» часто используется как синоним курсора);
Pull-down menu(s)
Критика
Пользовательский интерфейс на основе стиля WIMP очень хорошо абстрагируется от рабочего места,
документов и манипуляций с ними. Такая парадигма, в которой документы представляют собой стопки бумаг
или папки, делает интерфейс WIMP легко усваемым для начинающих пользователей. К тому же его
представление в виде прямоугольной области на плоском экране делает такой интерфейс удобным для
системных программистов. Универсальность делает его очень подходящим для работы в многозадачных
средах.
Это объясняет, почему эта парадигма получила широкое распространение и превалировала на протяжении
более 20 лет, давая стимул к развитию виджетов, которые поддерживали этот стиль. Хотя некоторые
исследователи человеко-компьютерного взаимодействия считают это признаком застоя в дизайне
пользовательского интерфейса, отсутствия инноваций в поиске новых моделей взаимодействия.
Критики утверждают, что для некоторых приложений WIMP не подходит, а отсутствие технической
поддержки создаёт трудности для развития новых интерфейсов. Сюда относятся приложения, обеспечивающие
обработку непрерывных входных сигналов, а также отображающие 3D-модели или просто отображающие
взаимодействия, для которых нет стандартных виджетов. Андрис ван Дам называет такие интерфейсы
«после-WIMP интерфейсами».
См. также
•
Графический интерфейс пользователя
•
Рабочий стол
Литература
•
Основные понятия WIMP [3]
•
Mark Green, Robert Jacob, SIGGRAPH: '90 Workshop report: software architectures and metaphors for
non-WIMP user interfaces. In: ACM SIGGRAPH Computer Graphics, 25(3) (July 1991), pp. 229—235, http:/ /
doi. acm. org/ 10. 1145/ 126640. 126677
•
Ashley George Taylor: WIMP Interfaces (winter 1997) http:/ / www-static. cc. gatech. edu/ classes/
cs6751_97_winter/ Topics/ dialog-wimp/
WIMP (графический интерфейс)
31
Сноски
[1]
Charlotte Booth Alan Kay and the Graphical User Interface (http:/ / www. lottiebooth. com/ pdf/ essay. pdf).
[2]
Andries van Dam: Post-WIMP User Interfaces. In: Communications of the ACM, 40(2) (February 1997), pp. 63-67. http:/ / doi. acm. org/ 10.
1145/ 253671. 253708 [Citeseer http:/ / citeseer. ist. psu. edu/ cache/ papers/ cs/ 11222/ http:zSzzSzcs. ru. ac.
zazSzhomeszSzg97rc001zSzpaperszSzp63-van_dam. pdf/ dam97postwimp. pdf]
[3]
http:/ / www. citforum. ru/ operating_systems/ ois/ b021. shtml
Масштабируемый интерфейс пользователя
Файловый менеджер среды Eagle Mode.
ZUI (англ. Zooming User Interface или Zoomable User Interface —
масштабируемый интерфейс пользователя) — графический
интерфейс пользователя, где рабочее пространство представляет
собой большую или неограниченную плоскость, на которой
расположены основные элементы, свойства и содержимое которых
становятся доступны по мере их «приближения» путём увеличения.
Дальнейшее приближение содержимого делает доступным более
глубокие уровни.
Таким образом, например, маленькая кнопка может иметь на себе,
помимо основной надписи или значка, ещё и целую инструкцию по
применению, которую может быть не видно при размере кнопки в 1 сантиметр, но которую можно с лёгкостью
прочитать, если увеличить изображение кнопки.
См. также
•
Интерфейс
•
Графический интерфейс пользователя
•
Оконный интерфейс
•
Юзабилити
Ссылки
•
Eagle Mode — свободная ZUI‐среда с несколькими приложениями [1](англ.)
Сноски
[1]
http:/ / eaglemode. sourceforge. net/
Материальный интерфейс пользователя
32
Материальный интерфейс пользователя
«reacTable»
Материа́льный интерфе́йс
по́льзователя (МИП) — это
разновидность интерфейса
пользователя, в котором
взаимодействие с цифровой
информацией происходит с
помощью материальной
конструкции.
Профессор Хироси Исии из
Массачусетсского Технологического
Института — один из
первопроходцев материальных
интерфейсов пользователя и глава
группы разработчиков материальных
систем. Его особое видение
материальных ИП, т. н. материальные биты — это попытка придать цифровой информации физическое
обличие, делая биты осязаемыми и потому доступными напрямую. При этом преследуется цель неразрывно
связать такие разные сущности, как миры битов и атомов.
Примером материального ИП можно назвать шаровой автоответчик Дюрелла Бишопа. Каждый шарик
соответствует сообщению, оставленному на автоответчике. Перемещение шарика в специальную выемку
воспроизводит связанное с ним сообщение или вызывает звонившего.
Другой пример — система Топобо. Блоки её напоминают элементы конструктора LEGO, которые могут
соединяться вместе, но, в то же время, перемещаться самостоятельно за счёт моторчиков. Можно тянуть,
толкать или поворачивать эти элементы; они запомнят эти действия и способны их воспроивести.
Другая реализация позволяет пользователю материальным пером набросать рисунок на столе системы.
Используя предварительно запрограммированные «жесты», можно клонировать картинку или растягивать по
двум осям, как в программе рисования.
Ссылки
•
Tangible and Embedded Interaction Conference [1]
•
MIT Media Lab Tangible Media Group [2]
•
Hiroshi Ishii and Brygg Ullmer, Tangible Bits: Towards Seamless Interfaces between People, Bits and Atoms [3].
Published in the Proceedings of Human Factors in Computing Systems: CHI 97 [4], Denver, CO.
•
Tangint [5]: Wiki for drawing together content and discussion related to research on tangible
interfaces/interaction.
•
Papier-Mâché [6]: a toolkit for building tangible UIs
•
Percussa AudioCubes [7]: Tangible interface for exploring sound/music
•
reacTIVision [8]: a framework for creating tangible UIs
•
Topobo project [9]
•
Interactive Paper [10]: Integrating paper and digital information
Материальный интерфейс пользователя
33
Сноски
[1]
http:/ / www. tei-conf. org/
[2]
http:/ / tangible. media. mit. edu/
[3]
http:/ / sigchi. org/ chi97/ proceedings/ paper/ hi. htm
[4]
http:/ / sigchi. org/ chi97/
[5]
http:/ / tangint. org
[6]
http:/ / hci. stanford. edu/ research/ papier-mache/
[7]
http:/ / www. percussa. com/ cubes. html
[8]
http:/ / mtg. upf. es/ reactable?software
[9]
http:/ / web. media. mit. edu/ ~hayes/ topobo/
[10]
http:/ / www. globis. ethz. ch/ research/ paper/
34
Приожения
Список языков описания пользовательских
интерфейсов
Список языков описания пользовательских интерфейсов
По производителю или платформе
Flash
•
MXML
•
OpenLaszlo
Java
•
CookSwing [1]
•
SwiXML [2]
•
SwixNG [3]
•
Thinlet [4]
•
Ultrid
•
Vexi
•
XALXAL [5]
•
XSWT [6]
•
ZUML
Microsoft
•
XAML[7]
•
MRML
Mozilla
•
XUL
W3C
•
XHTML
•
XFDL [8]
•
XForms
Список языков описания пользовательских интерфейсов
35
Другие
•
Curl — также язык программирования
•
HTMLR
•
UIML
•
PSML
•
Gul [9]
•
XWT [10]
•
QuiX [11]
•
XML Sapiens
•
Bindows [12]
•
Boxely (Website) [13]
•
VTML
•
XHPD [14]
•
XAL [15]
•
MyXaml [16]
•
XRC — используется в wxWidgets
•
libavg [17]
•
GNUstep Renaissance
По свойствам и применению
UIML
UIML — пионер в языках разметки пользовательского интерфейса. Это открытый стандарт, реализации
которого не ограничены единственным производителем. Однако, он не привлек большого внимания.
XUL
XUL — основной язык интерфейсов программ Mozilla Foundation. Документы XUL создаются движком
Gecko, который также визуализирует документы XHTML и SVG. Он взаимодействует со многими
существующими стандартами и технологиями, включая CSS, JavaScript, DTD и RDF, которые делают его
относительно простым для изучения людьми с поверхностными знаниями веб-программирования и дизайна.
XAL
Расширяемый язык приложений (англ. eXtensible Application Language) — язык разметки из Nexaweb's
Enterprise Web 2.0 Suite. Разработчики могут использовать этот язык для описания приложений, которые
будут запускаться как клиент Java или AJAX.
SVG
Scalable Vector Graphics — язык разметки для графики, предложенный W3C, который может поддерживать
графику с широкими возможностями для веб-приложений и мобильных приложений. Несмотря на то, что
SVG не является языком описания пользовательского интерфейса, он включает поддержку
векторной/растровой графики, анимации, взаимодействия с DOM и CSS, встроенного media, событий и
скриптов. При комбинировании этих возможностей возможно создание интерфейсов пользователя с
широкими возможностями.
Список языков описания пользовательских интерфейсов
36
XAML
XAML — система разметки, которая лежит в основе компонентов пользовательского интерфейса Microsoft
.NET framework 3.0 и выше. Его область применения более амбициозная, чем у большинства языков разметки
пользовательского интерфейса, так как в XAML документ также включены программная логика и стили.
Функционально, его можно рассматривать как комбинацию XUL, SVG, CSS и JavaScript в одной схеме XML.
I3ML
I3ML — собственнический механизм доставки приложений с тонким клиентом, разработанный CoKinetic
Systems Corp [18], с поддержкой клиента, обеспечиваемой плагином браузера, который отображает
Windows-подобные приложения через инфраструктуру HTTP с минимальной необходимой полосой
пропускания.
OpenLaszlo (LZX)
OpenLaszlo — платформа для разработки и доставки RIA приложений, включающая среду исполнения и язык
описания интерфейса (Laszlo XML — LZX). LZX — декларативный язык описания пользовательского
интерфейса, определяющий виджеты, компоновку приложений и скриптовые элементы (используя JavaScript)
для создания приложений.
HMVCUL
Hierarchical Model View Controller User Interface Language (HMVCUL) — язык описания пользовательского
интерфейса, основанный на XML, который поддерживает создание и связывание элементарных компонентов
MVC триады, используемых в создании HMVC GUI приложений. Связанная среда исполнения предоставляет
методы, которые делают возможной настройку свойств, привязки данных и событий каждого из элементов
MVC триады (модель, виджет, контроллер). Среда исполнения достигает этого отображением XML элементов,
определенных в HMVCUL файле, в объекты внутри фреймворка, а атрибутов — в свойства или события.
Связывание достигается отслеживанием древовидной структуры, описанной в HMVCUL файле.
WasabiXML
WasabiXML — язык разметки, основанный на XML, используемый для определения графического
интерфейса в приложениях Wasabi. Это очень часто используется в Winamp для создания скинов (skins).
WasabiXML разработан Nullsoft для Winamp, но также может быть использован и с другими приложениями с
Wasabi SDK.
Корневой элемент в WasabiXML <WasabiXML> (для скинов Winamp, это также <WinampAbstractionLayer>).
Элемент <skininfo> показывает информацию о скине. Графический интерфейс содержится в элементе
<container> и базовый видимый элемент GUI — <layout>. Пример простого GUI с элементом кнопка (button):
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<WinampAbstractionLayer version="1.2">
<skininfo>
<version>1</version>
<name>mySkin</name>
<comment>Ooo Lala</comment>
<author>Some Person</author>
<email>info@example.org</email>
<homepage>http://www.example.org</homepage>
</skininfo>
Список языков описания пользовательских интерфейсов
37
<include file="xml/color-sys.xml"/> <!-- Include a file -->
<container id="normal">
<layout id="normal" desktopalpha="true">
<button
x="0" y="0"
id="button.normal"
image="mybutton.image"
hoverimage="mybutton.himage"
downimage="mybutton.dimage"
/>
</layout>
</container>
</WinampAbstractionLayer>
WasabiXML поддерживает многие элементы GUI, включая:
•
<button>
•
<text>
•
<vis>
•
<eqvis>
•
<layer>
•
<animatedlayer>
•
<groupdef> используемый в соединении с <group>
WasabiXML имеет пространство имен XML 'Wasabi::', которое определяет основные GUI без необходимости
описывать пути их изображений.
Другие
Другие языки разметки, встроенные в существующие фреймворки:
•
GladeXML — язык разметки для создания графических интерфейсов на основе GTK+
•
VTML для Macromedia HomeSite
Некоторые из них скомпилированы в бинарные формы.
В авионике стандарты ARINC 661 предписывают бинарный формат для описания пользовательских
интерфейсов в стеклянных кабинах пилота (glass cockpits [19](англ.)).
Сноски
[1]
http:/ / cookxml. sourceforge. net/ cookswing/
[2]
http:/ / swixml. org
[3]
http:/ / swixng. sourceforge. net
[4]
http:/ / www. thinlet. com
[5]
http:/ / www. nexaweb. com
[6]
http:/ / xswt. sourceforge. net
[7]
(См. также HTA, подобная технология, ранее продвигаемая Microsoft для использования главным образом с Internet Explorer.)
[8]
http:/ / www. w3. org/ TR/ NOTE-XFDL
[9]
http:/ / gul. redsofa. net
[10]
http:/ / www. xwt. org
[11]
http:/ / www. innoscript. org
[12]
http:/ / www. bindows. net
[13]
http:/ / www. boxely. com
[14]
http:/ / frmb. org/ xhpd. html
[15]
http:/ / dev. nexaweb. com/ home/ us. dev/ index. html@cid=1784. html
Список языков описания пользовательских интерфейсов
38
[16]
http:/ / www. myxaml. com
[17]
http:/ / www. libavg. de
[18]
http:/ / www. cokinetic. com
[19]
http:/ / en. wikipedia. org/ wiki/ Glass_cockpit
Источники и основные авторы
39
Источники и основные авторы
Юзабилити Источник: http://ru.wikipedia.org/w/index.php?oldid=22957743 Основные авторы: A.I., AVRS, Anreal, AntonR, Arvenelina, Badlittleduck, Boleslav1, Butko, Callidus,
Careerlab, CodeMonk, Csman, Dims, Enedelko, Fess-dew, Jackie, Justeen, Krassotkin, Krotkov, Laim, Laurion, Lit-uriy, Maxim Razin, Maxrossomachin, Michaello, Mstislavl, Nzeemin, Ramir,
Roxis, Sergey900, Terran, Vernikr, Voldie, Vort, Xchgall, Александр Сигачёв, Андрей Куликов, Егор Крутиков, 70 анонимных правок
Юзабилити- тестирование Источник: http://ru.wikipedia.org/w/index.php?oldid=21576875 Основные авторы: A.I., AVRS, Alex.ryazantsev, AntonR, Deyteriy, Dmitry.satin, Fyz,
Krotkov, Ksenia Sternina, Nzeemin, OctaneX, Stolyrov, Voldie, Wormer, 26 анонимных правок
Эргономика Источник: http://ru.wikipedia.org/w/index.php?oldid=22873187 Основные авторы: AVB, AVRS, AbscentoILS, Ace, Alex Smotrov, Alex.ryazantsev, Animist, Balamutick,
Bubuka, CodeMonk, Denis tarasov, Klink, Laurion, LocalMost, NovoKirik, Nzeemin, Ricercare, Slipstream, Startreker, Tasc, Vonder, Вячеслав, Кондратьев, Трурль, №231-567, 34 анонимных
правок
Человеко- компьютерное взаимодействие Источник: http://ru.wikipedia.org/w/index.php?oldid=21919457 Основные авторы: AKA MBG, AVRS, Anreal, BiOBER, Neon, Nzeemin,
Softy, Алеко, Голем, Островский Алексей Мичеславович, 2 анонимных правок
Проектирование взаимодействия Источник: http://ru.wikipedia.org/w/index.php?oldid=19374977 Основные авторы: Nzeemin, Sky2, Structor, РобоСтася, 2 анонимных правок
Интерфейс Источник: http://ru.wikipedia.org/w/index.php?oldid=22468457 Основные авторы: AVB, Albedo, Berserker333, Berserkerus, CodeMonk, Danilo, Exceeder, Fleminra, Fractaler,
Infovarius, Kink, Kolan, Mashiah Davidson, Maximaximax, Monedula, Neon, Ramir, Redmond Barry, Roxis, Sheens, Terabucks, Tpyvvikky, Uieoa, Vald, Vaya, Алеко, Александр Крайнов,
Влад дэ Юрьев, Вікі-Майстар, Дед Крапива, Дмитрий Мещеряков, Никитин Сергей Александрович, 18 анонимных правок
Элемент интерфейса Источник: http://ru.wikipedia.org/w/index.php?oldid=22618848 Основные авторы: 1GOGA, A.I., AGGreSSor, AVB, Abbat, Aiseo, Altren, Antojkee, Artem
Sokolov, Axet, Azakhark, Baltun, CommonsDelinker, Easy john, Fairax, GrinD, Incnis Mrsi, Iskander s, Iws, Lit-uriy, ManN, Maxim Razin, Nashev, Nealt, Nikiforov, Nkurilov, Noumen,
Nzeemin, Panther, Paul Pogonyshev, Pavel.nps, Privetnoe, Radistao, Redmond Barry, SiPlus, Te Anton, Tetromino, UR3IRS, Vasiliy Faronov, Vort, Zimak, Александр Сигачёв, 35 анонимных
правок
Интерфейс пользователя Источник: http://ru.wikipedia.org/w/index.php?oldid=22167165 Основные авторы: A5b, AVRS, Abc82, Badlittleduck, Berserkerus, Butko, Danvolodar, Dark
Magus, DmitTrix, Helios, Homunculu, Insider, JetSoft, Kneiphof, Mashiah Davidson, Meany, Nikiforov, Nzeemin, Ramir, Roxis, Softy, Tpyvvikky, Vasiliev Mihail, Vectart, Vort, Александр
Сигачёв, Алексей Скрипник, Андрей Куликов, Дед Крапива, Лев Дубовой, Манахов Павел, 22 анонимных правок
Графический интерфейс пользователя Источник: http://ru.wikipedia.org/w/index.php?oldid=22832532 Основные авторы: A5b, AVB, AVRS, Ajita, Al Silonov, Alex.ryazantsev,
Cantor, Cheops, CommonsDelinker, Diablerie, Dimastij, DmitrySokoloff, Evgen2, George Shuklin, Grey horse, Helios, I1481, Kalan, Knyf, Maaaks, Maxim Razin, Mitmap, Nashev, Nzeemin,
OckhamTheFox, Palica, Pharsyde, Ramir, Roxis, Softwayer, TarzanASG, Toyota Dream House, Tpyvvikky, Vanuan, Vlad2000Plus, Wind, Winterheart, XJamRastafire, Xium, Yoprst2003,
Zanooda, Александр Сигачёв, Манахов Павел, Морган, Роман Коротенко, Степан Семенуха, 34 анонимных правок
Web- ориентированный интерфейс Источник: http://ru.wikipedia.org/w/index.php?oldid=7671015 Основные авторы: A.I., AVRS, Aegicen, AntonR, Azakhark, Callidus, Cheops,
Deineka, Fractaler, Imrek, Incnis Mrsi, Kevin.mcalister, Knkd, Krassotkin, Loveless, Mashiah Davidson, Ormed, Potekhin, Riman, Roxis, SergPodtynnyi, Sergrpd, Vasiliy Faronov, Voidus,
Xchgall, Жуйков Андрей, Зеленый чай, 25 анонимных правок
Текстовый интерфейс пользователя Источник: http://ru.wikipedia.org/w/index.php?oldid=22958358 Основные авторы: -), AVB, AVRS, Abc82, Atr2006, Cantor, Eugrus, Funalien,
Homunculu, Incnis Mrsi, Nzeemin, Passenger, Peni, Redmond Barry, Roman Lagunov, Rusikk, SergV, SergeyPosokhov, Sk, Softy, Tpyvvikky, Vort, Калий, 9 анонимных правок
Оконный интерфейс Источник: http://ru.wikipedia.org/w/index.php?oldid=22811054 Основные авторы: Berserkerus, Cooookie, Grain, Incnis Mrsi, Iskander s, Nashev,
SuspectedSockPuppet, Vasiliy Faronov, Алеко, Степан Семенуха, 10 анонимных правок
Интерфейс командной строки Источник: http://ru.wikipedia.org/w/index.php?oldid=23150198 Основные авторы: AVB, Atr2006, Bashirov Aziz, Bes island, George Shuklin, Incnis Mrsi,
Jazz, Knyf, Kostius, MarSoft, Maximaximax, Mercury, Peni, Ramir, Sorib, Squork, Toto, Xchgall, СырР, Четыре тильды, 49 анонимных правок
WIMP (графический интерфейс) Источник: http://ru.wikipedia.org/w/index.php?oldid=22953161 Основные авторы: Infovarius, Лев Дубовой, 2 анонимных правок
Масштабируемый интерфейс пользователя Источник: http://ru.wikipedia.org/w/index.php?oldid=18209261 Основные авторы: AVRS, Algen, Tpyvvikky
Материальный интерфейс пользователя Источник: http://ru.wikipedia.org/w/index.php?oldid=15506133 Основные авторы: AVB, Loveless, SergeyNich, TarzanASG, 1 анонимных
правок
Список языков описания пользовательских интерфейсов Источник: http://ru.wikipedia.org/w/index.php?oldid=22274626 Основные авторы: AndyVolykhov, FcxSanya, Maestro,
Obersachse, Xmodemaster, 4 анонимных правок
Источники, Лицензии и Владельцы(?) изображения.
40
Источники, Лицензии и Владельцы(?)
изображения.
Файл:Qt-designer-v4.2.1.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Qt-designer-v4.2.1.png Лицензия: неизвестно Основные авторы: User:liquidat
Файл:Bash screenshot.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Bash_screenshot.png Лицензия: неизвестно Основные авторы: Akinom, Andrew pmk, Berland,
Emx, Insuranze, Kahlil88, Leileilol, MarSoft, Pixel ;-), Shooke, 4 анонимных правок
Файл:Fdedit.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Fdedit.png Лицензия: GNU General Public License Основные авторы: Original uploader was NTOSKRNL
VXE at en.wikipedia Later versions were uploaded by Intgr at en.wikipedia.
Файл:Far dialog window.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Far_dialog_window.png Лицензия: неизвестно Основные авторы: Grain
Изображение:X11 в Windows XP.jpg Источник: http://ru.wikipedia.org/w/index.php?title=Файл:X11_в_Windows_XP.jpg Лицензия: неизвестно Основные авторы: Участник:Qvvx
Файл:Tremulous console.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Tremulous_console.png Лицензия: GNU General Public License Основные авторы: User:Jazz
File:wimp.jpg Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Wimp.jpg Лицензия: Creative Commons Attribution-Sharealike 3.0 Основные авторы: User:Ancientyne,
User:Darkone
Image:Eagle Mode 0.71.0 Linux source zoom 1.png Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Eagle_Mode_0.71.0_Linux_source_zoom_1.png Лицензия: GNU General
Public License Основные авторы: AVRS, Shooke
Файл:Reactable Multitouch.jpg Источник: http://ru.wikipedia.org/w/index.php?title=Файл:Reactable_Multitouch.jpg Лицензия: Creative Commons Attribution-Sharealike 2.0 Основные
авторы: Daniel Williams from NYC, USA
Лицензия
41
Лицензия
Creative Commons Attribution-Share Alike 3.0 Unported
http:/ / creativecommons. org/ licenses/ by-sa/ 3. 0/
Автор
Brainfree
Документ
Категория
Информационные технологии
Просмотров
2 367
Размер файла
1 707 Кб
Теги
юзабилити, ui, usability
1/--страниц
Пожаловаться на содержимое документа