Введение в LUWRAIN: цели, описание, разработка

Конференция «Информационные технологии и высокотехнологичные средства реабилитации для незрячих и слабовидящих» (ITConf) Санкт-Петербург, 7–8 апреля 2016 г.

LUWRAIN — самоозвученная рабочая среда для людей с нарушениями зрения, в будущем ориентируемая также для слепоглухих пользователей. LUWRAIN предусматривает поставку в виде самостоятельной операционной системы (ОС), подготовленной на основе Ubuntu (в настоящее время 15.10), а также в виде приложения для Microsoft Windows и GNU/Linux. Будучи системой, включающей в себя одновременно и функции приложений, и необходимые вспомогательные технологии, LUWRAIN существенно отличается от распространённых решений на основе экранных чтецов (Jaws for Windows, NVDA) и в значительной мере наследует особенности других самоозвученных решений (Emacspeak, Max-Reader). Тем не менее, LUWRAIN может успешно сосуществовать с программами экранного доступа, установленными на пользовательских персональных компьютерах (ПК), расширяя тем самым суммарное множество доступных пользователю функций.

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

  1. Пользователи с нарушениями зрения любого возраста, любой степени физических ограничений (включая незрячих от рождения и слепоглухих людей), любой квалификации, для которых требуется обеспечение бытового повседневного функционала в легкодоступной форме.
  2. Учебные заведения общего и специального образования, выполняющие обучение инвалидов по зрению, для которых требуется обеспечение учебными материалами и инструментами контроля успеваемости в доступной форме.
  3. Профессиональные специалисты сферы ИТ, нуждающиеся в комфортном доступе к средствам разработки и администрирования в GNU/Linux (C/C++, Java, Python, Perl и т.д.), а также специалисты, нуждающиеся в доступе к средствам невизуальной подготовки графических материалов (Latex, Metapost, Gnuplot, GNU Lilypond и т. д.).
  4. Коммерческие компании, общественные организации и государственные учреждения, нуждающиеся в инструментарии для создания приложений, адаптированных для восприятия людьми с нарушениями зрения.

Интерфейс пользователя и технические особенности

Ключевую роль в процессе разработки играет поиск более комфортных и быстрых путей невизуального взаимодействия пользователя с рабочими объектами различных типов, а также построение гибкой объектно-ориентированной модели, реализующей новую концепцию в виде библиотеки классов на языке Java. Типы объектов охватывают как базовые примитивы элементов управления (ввод текста, список, таблица, иерархическая структура, форма и т. д.), так и более сложные (навигация в структурированных документах, веб-страницах, математических выражениях). Набор элементов управления, составляющий интерфейс некоторого приложения, компонуется по специальным правилам в логическую структуру; множество одновременно запущенных приложений, в свою очередь, организуется в единое рабочее пространство пользователя с гибкими возможностями навигации внутри него. Функциональность запущенных приложений дополняется некоторыми общесистемными элементами, такими как главное меню, командная строка для быстрого запуска приложений и контекстное меню для выполнения операций, ассоциированных с текущим положением пользователя внутри рабочего пространства. Часть использованных особенностей характерна для окружения Emacspeak, откуда они были заимствованы после проведённого анализа преимуществ и недостатков.

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

  1. Поиск произвольного строкового выражения в любом рабочем объекте.
  2. Выполнение различных операций с текстовым фрагментом, ассоциированным с текущим рабочим объектом (автоматический перевод, поиск информации в Википедии и т. д.).
  3. Запуск последовательного чтения текста при помощи речевого синтезатора от текущей отметки в любом рабочем объекте.

С технической точки зрения LUWRAIN характеризуется следующими особенностями:

  1. Разработка ядра системы и пользовательских приложений выполняется на языке Java версии 1.8.
  2. Программа установки основана на принципе клонирования системы live CD и может быть выполнена без визуального контроля.
  3. Визуальное содержание экрана дублирует вывод речевой информации и может служить дополнительным источником для слабовидящих пользователей.
  4. Для обзора веб-страниц с поддержкой Java Script используется движок WebKit, входящий в состав основных вариантов виртуальной машины Java 1.8 (не до конца определён статус в поставке для процессоров ARM).
  5. Основной синтезатор для обработки русской речи — RHVoice.

Взаимодействие с веб-сервисами и Java-библиотеками

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

В качестве пилотной реализации LUWRAIN получил доступ к Твиттеру, Википедии, электронным библиотекам по протоколу _OPD_S и Яндекс.Переводчику. Клиенты для Твиттера, Википедии и OPDS-библиотекам выполнены как самостоятельные приложения в LUWRAIN, обращение к Яндекс.Переводчику осуществляется в виде дополнительной функции, доступной в любом запущенном приложении. Скорость и комфорт невизуальной работы в LUWRAIN с сервисами через API соответствующих служб оказался на порядок выше, чем при их использовании при помощи веб-браузера.

В настоящий момент проводится отбор сервисов и обсуждение возможности реализации их поддержки для добавления в стандартную поставку LUWRAIN в будущем. В качестве подобных сервисов могут выступать как общепользовательские распространённые службы, так и специализированные (например, библиотека av3715.ru).

Для образования

Ориентирование LUWRAIN на задачи людей с нарушениями зрения позволяет уделить большее внимание приложениям, особенно востребованным незрячими пользователями. Речь идёт про работу со структурированными документами и так называемыми "говорящими книгами". Приложение для просмотра структурированных документов проектируется со включением расширенных функций навигации и поиска, а также с добавлением функции автоматической конвертации в "говорящие книги" в mp3-формате при помощи речевых синтезаторов. Осуществляется просмотр документов в форматах TXT, FB2, DOC, DOCX, HTML и т. д.

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

Как дистрибутив GNU/Linux

Будучи системой, ориентированной на массового потребителя, LUWRAIN продолжает оставаться обычным дистрибутивом GNU/Linux. Пользователи могут использовать его как инструмент для адаптированного доступа к различным функциям этой ОС. В состав LUWRAIN входит оснащённый речевым интерфейсом терминал, позволяющий выполнять произвольные bash-команды и дающий неограниченный доступ к функциям ОС.

В состав ISO-образа LUWRAIN не входят стандартные оконные оболочки, такие как GNOME, KDE, XFCE, LXDE и т. д. Соответственно, ISO-образ не включает экранные чтецы для этих проектов, такие как, например, Orca. Все указанные компоненты при необходимости могут быть установлены в систему из репозиториев в сети с использованием стандартных инструментов наподобие утилиты APT.

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

Ведутся работы в направлении поддержки запуска LUWRAIN на недорогих устройствах на базе процессоров ARM, в качестве наиболее популярного примера которых выступает одноплатный компьютер Raspberry Pi. Успешное завершение этой работы позволило бы предложить массовому потребителю готовую к работе удобную систему стоимостью около 5000 р., что, в свою очередь, значительно улучшило бы интеграцию потребителей с нарушениями зрения в информационное пространство и повысило бы уровень их самостоятельности.