LUWRAIN — дистрибутив і робоче середовище, в яких необов'язково дивитися на екран

Сьогодні черговий День загальній обізнаності про доступність (GAAD), який прийнято популяризувати допоміжні технології і доступність ІТ-продуктів для користувачів з обмеженими можливостями. Тим не менш, під час GAAD про доступність (або accessibility) в більшості випадків говорять як про властивість будь-якого програмного забезпечення або web-сервісу, що безумовно важливо і заслуговує всілякої уваги, але є не єдино можливим напрямком програми сил розробників. Крім забезпечення доступності інтерфейсів для допоміжних технологій існує і такий напрям, як розробка самих цих допоміжних технологій: екранних збільшувач, програми читання екрану, спеціалізованих робочих середовищ та інших. Саме про один подібний проект, що займається розробкою спеціалізованого робочого оточення для незрячих і слабкозорих під назвою LUWRAIN, і піде мова в даній статті.

Рік тому, на GAAD-2015, вже публікувався докладний матеріал про LUWRAIN, в якому була викладена загальна концепція цієї робочої середовища, а також розглянуто завдання створення додатків на її базі, адаптованих для людей з порушеннями зору, тому, всі, хто боїться втратити контекст, може попередньо ознайомитися з публікацією "Luwrain — робоче середовище для людей з порушеннями зору". Цього ж разу мова піде про тих технічні завдання, які вирішувалися в рамках LUWRAIN протягом минулого року, та про перспективи подальшого розвитку, а також читачів чекає розповідь про те, як команда LUWRAIN пригощала вірменським коньяком і російською горілкою своїх колег з Canonical.

Михайло біля офісу Canonical

Як і минулого разу, до написання матеріалу безпосередньо причетний керівник проекту LUWRAIN Михайло Пожидаєв, так що стаття цілком може вважатися офіційною версією історії проекту, так як самі скандальні факти були їм цинічно цензурированы.

Основні завдання

Головне меню LUWRAIN

Нагадаємо, що основною метою проекту LUWRAIN є створення спеціалізованого робочого оточення, головним чином, адаптованого під специфічні потреби користувачів з серйозними порушеннями зору. Ідея полягає в тому, що робота незрячої людини з нативним графічним інтерфейсом операційних систем і додатків за допомогою існуючих програм екранного доступу, далеко не завжди і у всьому є зручною. Існує клас задач, які цілком реально вирішувати в спеціальній робочій середовищі більш ефективно, а деякі категорії користувачів безпосередньо потребують подібному рішенні, так як нативні інтерфейси для них виявляються надмірно складними, наприклад, це стосується багатьох літніх людей і людей з одночасним порушенням зору і слуху. Та й, зрештою, кожен має право просто не любити GUI, що, між нами кажучи, в повній мірі відноситься до головному ідеологу LUWRAIN.



Огляд файлів і папок, дві панелі LUWRAIN і Java

LUWRAIN пропонує досягнення поставленої мети за рахунок створення спеціалізованого робочого оточення, спочатку адаптованого під специфіку роботи користувачів з порушенням зору (виключно текстовий інтерфейс, повна клавіатурне управління без мишки, яка недоступна незрячим, гарантована доступність всієї екранної інформації тощо). Всередині середовища LUWRAIN реалізуються програми для вирішення базових завдань (серфінг, робота з поштою, читання новин тощо), а також існує API для створення додаткових додатків сторонніми розробниками, який дозволяє писати розширення, не замислюючись над завданням забезпечення їх доступності, так як вона вирішена вже на рівні LUWRAIN, що є як би фреймворком для написання таких додатків.

Каталоги книг в LUWRAIN - список бібліотек

Сам же LUWRAIN реалізується у двох варіантах: як Java-додаток для різних операційних систем як дистрибутив Linux з LUWRAIN в якості робочого оточення. Внаслідок цього, вся розробка LUWRAIN розбивається на кілька типів завдань:

  1. Створення крос-платформного ядра середовища LUWRAIN на Java;
  2. Розробка внутрішніх додатків на базі наявного API;
  3. Написання платформозавісімих елементів для запуску LUWRAIN на різних системах;
  4. Збірка Linux-дистрибутива з найвищою інтеграцією LUWRAIN в систему.


Це досить різнопланові завдання, які вимагають гнучких підходів до їх вирішення. В одних випадках виходить скористатися практично готовими open source бібліотеками і тільки реалізувати для них підтримку LUWRAIN API, як, наприклад, у разі поштового клієнта, в інших, доводиться писати власні реалізації з нуля, як, наприклад, реалізацію взаємодії з MS Speech API, ну а в третіх постає необхідність серйозного доопрацювання наявних рішень, як, наприклад, у разі браузера.

Адаптація WebKit

LUWRAIN, безумовно, є до певної міри эскапистским рішенням, але все ж не настільки, щоб ігнорувати необхідність базової функціональності, до якої, зокрема, належить і робота в мережі Інтернет. Тим не менш, ще рік тому реалізація доступною для незрячих web-навігації в рамках LUWRAIN представлялася практично нерозв'язної завданням. Саме тому розглядалася можливість використання паралельно запущеного браузера Chrome з розширенням ChromeVox, призначеним для забезпечення невизуальной роботи з web-сторінками. Однак це був скоріше крок відчаю, так як витонченість подібного рішення, відверто кажучи, кульгала, та й сам ChromeVox на той момент мав ряд фундаментальних проблем при роботі з ASCII-символів, які не вирішені й досі.

У середині 2015 року було вирішено спробувати взяти за основу браузерний движок WebKit, зібраний як JNI-модуль. Його перспективність полягала в тому, що фактично він є досить самодостатнім компонентом. Тобто, будучи зібраним на C++, що дає однаковий результат на всіх платформах і не тягне за собою важких залежностей. Він також має Java-інтерфейс, який представляє собою майже тільки транслятори JNI-дзвінків. Плюс у нього є рознесеними сам движок і блок графічного відображення, тобто об'єкт візуалізації взагалі можна не створювати, і движок буде все одно працювати, що робить його досить зручним рішенням для реалізації браузера з альтернативним інтерфейсом в дусі LUWRAIN.

Очевидно, що після виявлення всіх цих подробиць, ідея з низкою запущеним Chrome і пробросом викликів в ChromeVox здалася ще більш непривабливою, і було вирішено реалізовувати власний браузер всередині LUWRAIN на базі WebKit. Проте завдання ця виявилася далеко не такою вже простою з-за певної специфіки забезпечення невизуальной доступності web-інтерфейсів.

Справа в тому, що у незрячих користувачів до роботи з web є ряд певних вимог:

По-перше, просто простирадло тексту web-сторінки не дуже зручна для невизуальной роботи. Необхідно забезпечити ряд додаткових можливостей, що представляють собою варіанти навігації по структурним елементам сторінки (заголовків, посилань, таблиць та ін).

По-друге, сторінки, апріорі розробляються з орієнтацією на візуальне сприйняття, далеко не завжди і не у всьому зручно виглядають в текстовому виконанні, наприклад, навігаційні або інформаційні бічні колонки при текстовому поданні виявляються найчастіше абсолютно зайвим текстом на початку або середині основного вмісту (в залежності від порядку їх у вихідній структурі документа). Тобто необхідно передбачити різні додаткові функції для адаптації сторінки під читання незрячим (режим читання з видаленням зайвих елементів, можливість налаштувати читання сторінки при завантаженні з певного місця, а не з початку, тощо).

По-третє, повністю відмовитися від вихідного подання сторінки з усіма графічними елементами також було б неправильно, так як системою може користуватися людей з вадами зору людина, здатний до обмеженого візуальному сприйняттю, так і, на жаль, незрячим часто доводиться просити зрячих людей допомогти розгадати графічний CAPTCHA на сайтах.

Відображення yandex.ru у браузері LUWRAIN

Все це вимагає досить серйозного доопрацювання WebKit для його використання в LUWRAIN. Зокрема, доводиться реалізовувати поверх свою власну структуру, яка і дає навігацію за елементами гіпертексту. Причому, необхідно розбирати не просто вихідний HTML, а вже дерево DOM, тому що багато елементів інтерфейсу з'являються тільки після відпрацювання JavaScript.

Тут кроїтися одна проблема WebKit, яка полягає в тому, що движок у повній мірі не дає зрозуміти, коли саме сторінка завантажена повністю.
Тобто наявність великої кількість скриптів робить момент отримання готової сторінки дуже розмитим, що очевидним чином позначається на здатності адекватно відобразити її в інтерфейсі LUWRAIN.

Відображення luwrain.org у браузері LUWRAIN

Відображення luwrain.org у браузері LUWRAIN (розкритого меню)

Головним майстром цього напрямку в LUWRAIN став Роман Воловодов rPman, який і зробив реальністю всі ці речі.

На сьогоднішній день, роботи з адаптації WebKit не закінчені і браузер LUWRAIN поки ще не може похвалитися стабільністю роботи. Це як і раніше залишається одним з ключових напрямків розвитку робочої середовища. На найближче майбутнє завданням-мінімум є отримання реально стабільного і придатного до роботи браузера. Після цього можна буде задуматися над деякою модульність для розширень, зокрема, прикручування підтримки спамерських API для розпізнавання CAPTCHA.

Відверто кажучи, існують деякі сумніви щодо можливості браузера LUWRAIN наздогнати по функціональності невизуальной роботи існуючі рішення на Windows в зв'язці з розвиненими програмами читання екрану, які, на сьогоднішній день, є лідерами індустрії в сфері забезпечення доступності web для незрячих. Однак все це поки що є скоріше предметом спекуляцій і дружніх холиваров всередині галузі допоміжних технологій, до першої стабілізації браузера LUWRAIN виконувати які-небудь порівняння буде передчасним.

Дистрибутиви з LUWRAIN

Як вже зазначалося, одним з варіантів поставки LUWRAIN є складання самостійного Linux-дистрибутива, так як незважаючи на те, що середовище задумана як крос-платформенне рішення, саме на Linux її можливості можуть бути розкриті повною мірою. Вибір базового дистрибутиву був одним з питань, що виникають на етапі становлення проекту, але в результаті було прийнято рішення, що ним стане Ubuntu.

Результат пошуку 'Ubuntu' Вікіпедії в LUWRAIN

Зрозуміло, базовий дистрибутив — це завжди досить флеймообразующий момент, часто зачіпає практично релігійні почуття, тому всім догодити тут складно. У разі LUWRAIN, вибір на користь
Ubuntu був зроблений, головним чином, з міркувань найбільшої масовості і документованості. До речі, до цього моменту головний розробник сидів на ALT Linux, що, напевно, може служити деяким захистом від звинувачень в упередженості.



Так чи інакше, в 2015 році почалися серйозні роботи з підготовки дистрибутива LUWRAIN, які під самий новий рік завершилися релізом образів бета-версії LUWRAIN 0.5.0 на базі Ubuntu 15.10 (Wily Werewolf). На сьогоднішній день актуальною є вже версія 0.5.2 від 15 березня 2016 року. Всі завантажувальні ISO-образи, які можуть бути використані як для запуску LUWRAIN в режимі live CD без установки на жорсткий диск, так і для установки на ПК в якості самостійної OS, доступні на офіційному сайті проекту.

Існує й інший дистрибутив, в якому в якості робочого середовища використовується LUWRAIN на пару з Emacspeak — Homeros, що вийшов на початку квітня 2016 року. Він також базується на Ubuntu 15.10, але в більшою мірою орієнтований на досвідчених користувачів і рішення задач розробки, в тому числі самого ж LUWRAIN.

У загальному і цілому, майбутнє LUWRAIN як дистрибутива тісно пов'язується з Ubuntu, в тому числі щодо використання всієї екосистеми та іншого. Між іншим, саме інтерес головного розробника LUWRAIN до механізму Snappy привів до несподіваних наслідків.

Контакти з Canonical

В кінці 2015 року, на деякі запитання Михайла Пожидаєва про Snappy поштою відповів Марк Шаттлворт, після чого поцікавився Михайло правової стороною використання Ubuntu, показавши статтю про LUWRAIN Linux Journal. У кінцевому рахунку, все це закінчилося запрошенням в Лондонський офіс Canonical, куди команда LUWRAIN зібралася аж ніяк не з порожніми руками.

Існує легенда, в тому числі відома і у Великобританії, що на Ялтинської конференції Сталін запропонував Черчиллю чарку вірменського коньяку, який настільки сподобався британському прем'єр-міністру, що він став шанувальником цього напою. У наступні роки поставки цього коньяку серу Черчиллю контролювалися особисто Сталіним, а коли одного разу із-за арешту одного з майстрів якість продукту змінилося, Йосип Віссаріонович розпорядився випустити його і знову повернути на роботу. Зрозуміло, після такого, команда LUWRAIN не могла не захопити в подарунок британським колегам пляшку вірменського коньяку, яку і вручила Джону і Річарду Колінсу зі словами, що Черчілль поважав, а Марку, якого тоді не було в Лондоні, передали пляшку справжньої російської горілки.

Михайло з колегами з Canonical

Спілкування саме з цими працівниками Canonical було не випадковим. Справа в тому, що Річард Коллінс курирує телефонне напрямок, а Джон Чи відповідає за його дизайн.

На сьогоднішній день, всі основні мобільні операційні системи (Android, iOS, Tizen, BlackBerry, Windows 10 Mobile) в тій чи іншій мірі доступні для незрячих користувачів, а ось Ubuntu Touch, на жаль, для невизуального використання залишається абсолютно непристосованою. Desctop-версії Ubuntu намагаються враховувати потреби незрячих, включаючи в себе засоби читання екрану, але по мобільному напрямом система Canonical на сьогоднішній день стосовно доступності нічого запропонувати не може. Потенційне співробітництво Canonical і LUWRAIN у цій галузі могла б запропонувати незрячим ще один варіант доступних смартфонів і планшетних комп'ютерів. Причому, не у вигляді повтору вже існуючих рішень, як це в масі своїй відбувається в доступних мобільних OS, а в рамках своєї концепції адаптивних інтерфейсів.

Міжнародні контакти проекту LUWRAIN також посприяли і початку руху в бік більшої уніфікації і стандартизації. Зокрема, були розпочаті роботи над імплементацією підтримки мовних серверів Emacspeak і Speech Dispatcher. Раніше, в LUWRAIN висновок синтезованої мови здійснювався через мовний сервер VoiceMan, який є самостійною розробкою. Це давало деякі переваги, але також створювало для незрячих користувачів і певні незручності, а саме неможливість використовувати ті самі Emacspeak і Speech Dispatcher, які є більш поширеними і навіть стандартами де-факто для багатьох дистрибутивів, в тому числі і Ubuntu.

Багато альтернативні допоміжні технології, головним чином, програма читання екрану Orca, не працюють з VoiceMan, тому у користувачів виникали проблеми одночасного поєднання LUWRAIN з іншим адаптивним програмним забезпеченням на Linux, що було одним із предметів критики даної робочої середовища. Зараз же, завдяки реалізації підтримки і інших мовних серверів, LUWRAIN стає більш гнучким і здатним до комбінованого використання.

Найближчі плани

На найближчий час у плани проекту LUWRAIN входить:

  1. До кінця 2016 року завершити розробку першої стабільної версії браузера.
  2. На початку найближчого навчального року створити умови для роботи в рамках LUWRAIN з навчальними матеріалами в спеціальному форматі DAISY, адаптованою під потреби незрячих. Зрозуміло, в рамках проекту LUWRAIN мова йде лише про створення інструментарію для читання і можливо створення, а відповідати за підготовку контенту повинні будуть відповідні організації (корекційні школи, бібліотеки для сліпих і ін).
  3. Реалізувати доступне допомогою середовища LUWRAIN мобільний пристрій спільно з Canonical, яким може бути як смартфон, так і планшет.
  4. Зрушити з мертвої точки питання інтеграції з платіжними системами, тобто реалізувати можливість роботи з ними у інтерфейсі LUWRAIN, так як використання web-сервісів менш зручно, а часто і відверто менш доступним для незрячих користувачів. Очевидно, що це вкрай складний напрямок роботи, що обумовлюється певними вимогами безпеки, однак є надія знайти якісь точки дотику з відповідними організаціями.


Додаткова інформація

Проект Luwrain розвивається в традиціях вільного програмного забезпечення і повністю відкритий для спільноти. Більш детальну інформацію можна отримати на офіційному сайті. Там же доступні для завантаження існуючих складання LUWRAIN, як у вигляді ISO-образу, так і у вигляді окремого додатка для Windows і Linux. Цікавляться ж безпосереднім розвитком проекту можуть ознайомитися з LUWRAIN SDK, з повним переліком репозиторіїв Git, а також нічними збірками.

Додатково можна ознайомитися з низкою інших матеріалів про LUWRAIN, що вийшли за останній рік і містять більш детальний опис окремих аспектів проекту:

Джерело: Хабрахабр

0 коментарів

Тільки зареєстровані та авторизовані користувачі можуть залишати коментарі.