LUWRAIN — адаптированная ОС с речевым интерфейсом

International conference of developers and users of free / open source software, Минск, 15–17 февраля 2013 г.

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

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

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

Среда функционирует внутри виртуальной машины Java с задействованием доступных библиотек для решения конкретных прикладных задач (JavaMail для чтения почты, Rome для чтения новостей, Apache POI для работы с форматами офисных документов и т. д.). Экран разделяется на фрагменты, расположенные в виде тайлов, которые условно называются "области". Каждая область позволяет выводить некоторую текстовую информацию, отображая её моноширинным шрифтом. Размер шрифта и его цвет можно менять в зависимости от уровня зрения слабовидящего человека. Пользователь имеет возможность свободной навигации по каждой области с получением соответствующих голосовых оповещений аналогично тому, как он перемещается внутри текстового файла. Содержание и поведение каждой области зависит от типа решаемой задачи. Например, если требуется составить электронное сообщение, то на первой строке под специальным заголовком указывается получатель, строкой ниже — тема сообщения и далее текст. Как показывает опыт, большинство необходимых задач может быть пересмотрено в описанном виде. В качестве экспериментальной платформы выступает дистрибутив ALT Linux Homeros, предлагающий похожую концепцию на базе текстового редактора GNU Emacs, но из-за ограничений среды неспособного стать продуктом для массового пользователя.

Виртуальная машина Java должна функционировать в GNU/Linux, которая обеспечивает все необходимые системные компоненты. Особенное внимание планируется уделить сервисам, доступ к которым осуществляется через системную шину D-Bus. Примером таких сервисов может служить Network Manager, обеспечивающий управление сетевыми интерфейсами, Udisks, обеспечивающий управление носителями информации и пр. Особенно перспективным выглядит задействование службы Systemd, которая находится в активной разработке. Все указанные сервисы, управляемые централизованно при помощи D-Bus, позволяют сделать среду целостной и интегрированной, предоставляя пользователю удобные инструменты взаимодействия со всеми компонентами. Программа установки может быть выполнена при помощи технологии клонирования LiveCD.

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

Некоторые задачи не могут быть решены в рамках приведённой концепции. Это прежде всего справедливо для веб-браузера, природа которого не позволяет представлять содержимое страниц в текстовом виде, и для закрытых коммерческих приложений, таких как, например, Skype. Для их работы можно воспользоваться готовой службой AT-SPI, запуская приложения без какой-либо модификации, но внутри специального оконного менеджера, оснащённого речевыми оповещениями и управляемого при помощи комбинаций “горячих” клавиш.