Исследование HUD-подобных интерфейсов

УДК 004.512:004.514

И.С. ЗЫКОВ, канд. техн. наук, доц., НТУ "ХПИ",

Г.Ю. ЛЕЙБЕНКО, магистр, НТУ "ХПИ",

Е.И. ЛЕЙБЕНКО, магистр, НТУ "ХПИ"

ИССЛЕДОВАНИЕ HUD-ПОДОБНЫХ ИНТЕРФЕЙСОВ

Рассмотрены сильные и слабые стороны графических пользовательских интерфейсов и интерфейса командной строки. Описано преимущества предложенного подхода — HUD (Head-up Display)-интерфейса. Описаны возможности для исследований, предоставляемые разрабатываемым инструментом, а также возможные направления его развития. Предложена и описана архитектура инструмента реализации исследуемого типа интерфейса для операционных систем семейства Windows. Ил.: 2. Библиогр.: 10 назв.

Ключевые слова: графический пользовательский интерфейс, интерфейс командной строки.

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

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

Одним из путей решения указанной проблемы может быть

© И.С. Зыков, Г.Ю. Лейбенко, Е.И. Лейбенко, 2015

использование HUD-подобных интерфейсов. Впервые такой интерфейс для всей системы ввела компания Canonical в своей графической оболочке Unity. Данные интерфейсы сочетают преимущества обычных графических интерфейсов с преимуществами интерфейсов командной строки. Постепенно подобные интерфейсы проникают все больше в профессиональные программные продукты (Microsoft Visual Studio 2015, Microsoft Office 2016, IntelliJ IDEA), и даже на мобильные платформы.

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

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

Анализ литературы. К сожалению, по выбранной тематике наблюдается явный дефицит литературы и любых других источников информации. Известен патент компании Canonical, разработчика среды рабочего окружения Unity [1] - единственного программного комплекса, в котором подход HUD-подобных интерфейсов реализован консистентно и наиболее полно в рамках целой системы. А также статья Шаттлворда [2], директора Canonical, в которой приведено описание инновационного подхода к пользовательским интерфейсам в виде HUD-интерфейса.

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

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

Несмотря на доминирующее положение графических типов интерфейса и тенденции ухода от текстовых, второй тип интерфейса несомненно обладает рядом достоинств, которые, как считают некоторые исследователи [4], приведут к возрождению командного подхода и к взаимодействию человек-компьютер [5, 6]. Об этом свидетельствуют и возникающие проблемы с новыми видами чисто графических интерфейсов [7 - 9], и исследования, демонстрирующие примерно одинаковое количество ошибок пользователя в меню- и командно -ориентированных системах [10].

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

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

Цель статьи - разработка инструмента реализации и исследования HUD-подобного интерфейса для семейства операционных систем Windows. Указание основных сложностей использования подобного подхода в выбранной экосистеме и методов их решения.

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

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

Предлагаемая архитектура приложения приведена на рис. 1.

Рис. 1. Архитектура предлагаемого инструмента

Архитектура имеет следующие компоненты:

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

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

- командный процессор - платформонезависимый компонент. Служит для обработки пользовательского ввода и его сопоставления с

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

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

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

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

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

untitled - Sublime Text (UNREGISTERED] —  X

Hie Edit Selection Hnd View jjotc Tocl: Project Preferences IHelp

1 JS 1

Set Syntax: Java Server Page

Set Syntax: J SON

Project: Save As

Set Syntax: Java Properties

Line 1, Column 1 Tab Size:: 4 Plain Text

Рис. 2. Результат работы HUD-подобного интерфейса с нечетким поиском

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

Список литературы: 1. Unated States Patent 20140189607. User interface for a computing device. 2. Suttleworth M. Introducing the HUD. Say hello to the future of the menu / M. Suttleworth - 2012. - [Электронный ресурс]. - Режим доступа: http://www.markshuttleworth.com/archives/939 3. Peterson J. Head-up display 48 Success Secrets: 48 Most Asked Questions On Head-up display - What You Need To Know / Jonathan Peterson. - Emereo Publishing, 2014. - 46 p. 4. McKay E.N. UI is communication: how to design intuitive, user centered interface by focusing on effective communication / Everett N. McKay. -Morgan Kaufmann, 2013. - 378 p. 5. ParanjapeN. Ribbon Haters' Handbook / Dr Nitin Paranjape. - 2013. - 43 p. 6. Raskin J. The Humane Interface: New Directions for Designing Interactive Systems / J. Raskin. - Addison-Wesley Professional, 2000. - 256 p. 7. Shneiderman B. Designing the user interface: strategies for effective human-computer interaction (4th Edition) / B. Shneiderman, C. Plaisant. - Addison Wesley, 2004 - 672 p. 8. Preece J. INTERACTION DESIGN: beyond human-computer interaction, 3rd Edition / J. Preece, H. Sharp, Y. Rogers. -Wiley, 2011. - 602 p. 9. Hauptmann A. G. A comparison of command, menu-selection and natural-language computer programs / A.G. Hauptmann, G.F. Bert // Behaviour & Information Technology. - 1983. - № 2. - P. 163-178. 10. Norman D.A. The next UI breakthrough: command

lines / Donald A. Norman // Interactions. - 2007. - Vol. 17. - № 3. - P. 44-45. 11. Hearst M.A. Search User Interfaces / Marti A. Hearst. - Cambridge University Press, 2009. - 404 p.

Bibliography (transliterated): 1. Unated States Patent 20140189607. User interface for a computing device. 2. Suttleworth M. Introducing the HUD. Say hello to the future of the menu /M. Suttleworth. - 2012. - [Elektronnyj resurs]. - Rezhim dostupa: http://www.markshuttleworth.com/archives/939 3. Peterson J. Head-up display 48 Success Secrets: 48 Most Asked Questions On Head-up display - What You Need To Know / Jonathan Peterson. - Emereo Publishing, 2014. - 46 p. 4. McKay E.N. UI is communication: how to design intuitive, user centered interface by focusing on effective communication / Everett N. McKay. -Morgan Kaufmann, 2013. - 378 p. 5. Paranjape N. Ribbon Haters' Handbook / Dr Nitin Paranjape. - 2013. - 43 p. 6. Raskin J. The Humane Interface: New Directions for Designing Interactive Systems / J. Raskin. - Addison-Wesley Professional, 2000. - 256 p. 7. Shneiderman B. Designing the user interface: strategies for effective human-computer interaction (4th Edition) / B. Shneiderman, C. Plaisant. - Addison Wesley, 2004 - 672 p. 8. Preece J. INTERACTION DESIGN: beyond human-computer interaction, 3rd Edition / J. Preece, H. Sharp, Y. Rogers. -Wiley, 2011. - 602 p. 9. Hauptmann A. G. A comparison of command, menu-selection and natural-language computer programs / A.G. Hauptmann, G.F. Bert // Behaviour & Information Technology. - 1983. - N° 2. - P. 163-178. 10. Norman D.A. The next UI breakthrough: command lines / Donald A. Norman // Interactions. - 2007. - Vol. 17. - № 3. - P. 44-45. 11. Hearst M.A. Search User Interfaces / Marti A. Hearst. - Cambridge University Press, 2009. - 404 p.

Поступила (received) 31.03.2015 Повторно 05.05.2015

Статью представил д-р техн. наук, проф. НТУ "ХПИ" Можаев А.А.

Zykov Igor, Cand. Sci. Tech, Associate Professor National Technical University "Kharkiv Polytechnic Institute" Str. Frunze, 21, Kharkov, Ukraine, 61002 Tel.: (057) 707-61-65, e-mail: i.s.zykov@gmail.com ORCID ID 0000-0002-8884-2725

Leibenko Hennadii, master

Kharkiv National University "Kharkiv Polytechnic Institute" Str. Frunze, 21, Kharkov, Ukraine, 61002 Tel.: (066) 710 67 32, e-mail: leybenkogennadij@gmail.com ORCID ID 0000-0002-3369-7460

Leibenko Elena, master

Kharkiv National University "Kharkiv Polytechnic Institute" Str. Frunze, 21, Kharkov, Ukraine, 61002 Tel.: (066) 710 67 32, e-mail: leybenkoelena@gmail.com ORCID ID 0000-0002-3210-830X