Думаю, вы догадываетесь, как сложно пользоваться компьютером слепым людям. Тем не менее, без ПК сейчас никуда, а значит, приходится приспосабливаться. А разработчикам — придумывать новые удобные способы коммуникации человека с машиной. Эта история о том, как слепые программисты помогли коллегам по несчастью и создали несколько уникальных продуктов, перевернувших жизнь незрячих пользователей.

Всё началось с несчастного случая

Тед Хентер жил обычной жизнью до 27 лет. Был мотогонщиком, даже занял восьмое место на Гран-при Венесуэлы, первой гонке чемпионата мира 1978 года. Всё у парня складывалось хорошо, пока однажды ночью 1978 года он не поехал по тёмной дороге в сельской местности Англии. А дальше было лобовое столкновение с другой машиной, разбитое ветровое стекло, отслоение сетчатки и две операции. После второй он проснулся полностью слепым.

Мотоциклетной карьере настал конец. Многие на его месте сдались бы и впали в уныние. Но Хантер подумал: “Слепые люди существуют уже тысячи лет. Если у них всё получилось, то и у меня получится”. И у него действительно получилось, только уже в другой сфере.

Перед тем, как начать мотоциклетную карьеру, Хентер получил степень инженера-механика в Университете Флориды. У него даже было несколько патентов. Разумеется, слепота мешала не только езде на мотоцикле, но и работе инженером-механиком. 

Когда Тед обратился в отдел обслуживания слепых во Флориде, то с удивлением узнал, что программирование становится популярной профессией для незрячих. Хентер вернулся в школу, желая получить степень в области компьютерных наук. Он научился программировать, набирая код на терминале, в то время как доброволец читал ему с экрана. Местный старшеклассник читал ему книги по программированию, которые Тед записывал и слушал на кассетах. «Это было медленно и утомительно. Но так я научился программированию», — вспоминал Хентер.

Только на своей первой работе Хентер получил «говорящий компьютер», как он его называл. Это была программа чтения с экрана, созданная Дином Блейзи. Она могла читать лишь один символ за раз, то есть, к примеру, слово «ПЕЧАТЬ» программа произносила по буквам «П-Е-Ч-А-Т-Ь».

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

Блейзи, глава компании, вошедший в историю как один из немногих зрячих пионеров индустрии вспомогательных технологий, вскоре предложил ему работу. Спустя годы Хентер с теплотой вспоминает Maryland Computer Services, их гостеприимную обстановку и коллег, которые его окружали.

Судьбоносное знакомство

Хентер был одновременно и инженером, и продвиженцем продукта. Его отправили в Чикаго, чтобы обучить крупного клиента — бизнесмена по имени Билл Джойс — использованию программы для чтения с экрана. Джойс ослеп и частично оглох в результате взрыва на производстве. В результате сотрудничества Хентер и Джойс стали близкими друзьями. Не последнюю роль в этом сыграло то, что оба оказались поклонниками водных лыж. (Да, несмотря на то, что Хентер упустил шанс стать чемпионом по мотоспорту, сам спорт он не забросил. Тед завоевал золотую медаль в общем зачёте на чемпионате мира по водным лыжам среди инвалидов 1991 года и ещё шести национальных чемпионатах).

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

Программа, не похожая на другие

В 1987 году Джойс и Хентер основали Henter-Joyce и вскоре выпустили первую версию своей программы чтения с экрана под DOS. Свой продукт они назвали JAWS (Челюсти). Название забавное, потому что, с одной стороны, анатомически челюсти ассоциируются с речью, а с другой, это шутливая отсылка к конкурентному продукту для чтения с экрана DOS под названием Flipper. Наверное, вы тоже помните одноимённый сериал про дельфина, как и ужастик про акулу: “Челюсти”.

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

Переход в графику

Через некоторое время компьютерная индустрия претерпела кардинальные изменения: все перешли на графические операционные системы, такие как Windows. Хентер начал получать звонки от встревоженных пользователей: «Когда выйдет версия для Windows? Я потеряю работу, если не научусь пользоваться Windows».

Переход от текста к графике стал чудовищной проблемой. Модель данных, лежащую в основе концепции программы чтения с экрана, пришлось полностью переосмыслить. Тем не менее, зимой 1995 года Henter-Joyce выпустила JAWS для Windows, опередив конкурентов на несколько месяцев. JAWS был настолько хорош, что Microsoft купила код и на его основе создала собственную нативную версию. Однако проект Microsoft в конечном итоге ни к чему не привёл, в то время как JAWS захватила большую часть рынка.

Общение слепых с компьютером

Зрячий человек вряд ли задумывается о том, как программировать, будучи слепым. Да и вообще о том, как слепые люди в принципе пользуются компьютерами. У пользователей Mac, возможно, даже вызывает раздражение VoiceOver — встроенная программа чтения с экрана в macOS, которая появляется, когда вы случайно нажимаете определённую комбинацию клавиш. 

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

Рынок программ для чтения с экрана вовсе не нишевый. В 2020 году примерное число слепых во всём мире составляло 49,1 миллиона человек, что сопоставимо с населением Испании или Южной Кореи. Ещё 255 миллионов человек имеют нарушения зрения от умеренной до тяжёлой степени. И все эти миллионы людей пользуются инструментами увеличения, поддержкой шрифта Брайля или программами для чтения с экрана.

И хотя адекватную статистику по слепым программистам найти трудно, недавний опрос 1142 разработчиков Stackoverflow показал, что примерно 1,7% от общего числа участников ответили: «Я слепой/плохо вижу».

С момента выпуска JAWS для Windows прошло почти три десятилетия, в течение которых, возможно, десятки тысяч слепых и слабовидящих программистов занялись разработкой программного обеспечения. Как и во времена Хентера, это сфера деятельности является относительно инклюзивной для слепых, поскольку порог вхождения здесь ниже, чем во многих других практических работах. И, не в последнюю очередь, за это стоит благодарить JAWS. Программное обеспечение, созданное слепым программистом.

Программа-долгожитель

Очень немногие программы выживают так долго. JAWS восходит к тому же поколению программного обеспечения, что и Internet Explorer 1.0, который официально вышел из эксплуатации после 27 лет существования. То, что JAWS по-прежнему используют, делает его ещё большей редкостью. Браузер Mosaic, провозглашенный в 1994 году «мировым стандартом интерфейсов», продержался на вершине всего два года, прежде чем Netscape захватила рынок. Три года спустя большинство пользователей использовали Internet Explorer, который всего через двенадцать лет был вытеснен Chrome. Chrome безраздельно властвует уже около десяти лет. JAWS был золотым стандартом программ чтения с экрана почти в три раза дольше.

Вернёмся к аналогии с монитором: совершенно новый топовый монитор и старая модель с более низким разрешением плюс-минус одинаковы в работе. Да, дисплей с высоким разрешением лучше, но и дисплей с низким разрешением все равно вполне годится. Однако плохая программа чтения с экрана - это вообще не то же самое, что старый дисплей. Представьте себе монитор с островами битых пикселей, неспособный отображать определённые объекты на экране, криво отображающий или даже полностью инвертирующий цвета, или показывающий элементы на несколько пикселей сдвинутыми от того места, где они должны быть. Вот это и будет плохо реализованная программа для чтения с экрана. Она не просто немного хуже, с ней вообще невозможно работать. Вот почему JAWS до сих пор остаётся такой популярной, даже несмотря на её высокую цену.

Неожиданный конкурент

Тем не менее, для многих цена JAWS всё же становится преградой. Одна домашняя лицензия в настоящее время стоит 1000 долларов (1285 долларов за профессиональную лицензию), а за обновления придётся платить дополнительно. Годовые лицензии стоимостью 95 долларов (90 долларов для студентов) доступны только в США. 89% людей с потерей зрения проживают в странах с низким и средним уровнем дохода. Долгое время хорошая и надёжная программа для чтения с экрана была просто недоступна для большинства слепых или слабовидящих людей во всем мире.

Только в 2019 году альтернатива с открытым исходным кодом — NonVisual Desktop Access (NVDA) — наконец обогнала по популярности JAWS. Впрочем, JAWS вернула себе доминирующую долю рынка в 2020 году, но далось ей это с большим трудом. 

Эта революция доступности началась в очень неожиданном месте: в недельном музыкальном лагере для австралийских детей, читающих по Брайлю. В 1994 году там встретились 10-летний Майкл Карран и 9-летний Джейми Тэ. Они быстро сблизились на фоне общего интереса к компьютерам. 

Тэ интересовался программированием с тех пор, как у него появился свой первый компьютер, Commodore 64. Поскольку в Commodore 64 не было программы чтения с экрана, Тэ, как и Хентеру в своё время, приходилось просить других людей читать для него с экрана. Когда семилетний Тэ наконец-то получил Apple II, в котором была программа для чтения с экрана, он смог самостоятельно получить доступ ко всему на компьютере.

«Но моему отцу приходилось читать мне книги по программированию, потому что тогда электронных книг не было», — вспоминает Тэ. «Мой бедный папа приходил в мою комнату и читал эти книги, которые были для него самой скучной вещью в мире. Но мне это просто нравилось».

Несколько лет спустя Карран и Тэ начали вместе создавать музыку и программное обеспечение. Их разносторонние интересы породили множество сторонних проектов, например, один из них позволил слепым людям заниматься продюсированием музыки и звукорежиссурой. Карран и Тэ часто ночевали друг у друга, поглощённые философскими беседами. Снова и снова возникал один и тот же вопрос: почему нет бесплатной программы чтения с экрана для слепых? Почему это должно стоить тысячи долларов?

В 2006 году Карран взял академический отпуск в университете. Получив свободное время, он начал претворять свои идеи в жизнь, собирая прототип того, что впоследствии стало NVDA.

«В то время даже среди слепых, хватало людей намного более квалифицированных, чем я. На самом деле были люди, которые даже говорили о создании бесплатной программы для чтения с экрана», — говорит Карран. «Единственная разница между мной и ними была в том, что я написал первую строку кода».

У Тэ была постоянная работа, но через несколько месяцев он тоже присоединился к приятелю. «Я не знал, насколько серьёзным получится проект, но это было весело и интересно», — говорит Курран. «Поскольку мы оба твёрдо верили в концепцию опенсорса, мы сделали NVDA с полностью открытым исходным кодом».

Уже не личный проект

Год спустя Mozilla обратилась к ребятам и профинансировала Каррана для участия в конференции CSUN Assistive Technology Conference, крупнейшей конференции такого рода, организованной Центром инвалидов Калифорнийского государственного университета в Нортридже. Там Карран встретил энтузиастов-единомышленников со всего мира. Именно тогда друзья поняли, что NVDA пора выйти в свет. Это больше не было их личным любимым проектом. Вскоре после этого Карран и Тэ основали NV Access, некоммерческую организацию со структурой управления, позволяющей вести проект в долгосрочной перспективе.

В первые годы пользователи считали NVDA достаточно хорошей для домашнего использования, но не подходящей для профессиональных задач. А то, что софт был бесплатным, создавало у людей впечатление, что его качество не такое высокое, как у коммерческих программ для чтения с экрана. Однако это мнение начало меняться по мере роста проекта. Количество участников резко возросло, и NVDA получила поддержку 60 языков. Команды специальных возможностей в Google, Microsoft и Mozilla хотели работать вместе, чтобы NVDA хорошо интегрировался с их платформами и браузерами.

Согласно опросу пользователей программ для чтения с экрана, проводимому раз в два года WebAIM (организации, которая предоставляет решения для обеспечения доступности веб-сайтов), JAWS была самой популярной и основной программой чтения с экрана с момента начала исследования в 2009 году. Но с 2019 года NVDA стала её серьёзным конкурентом.

Сообщество NVDA относится к своей программе с большим энтузиазмом и даже страстью. Обсуждения, сравнивающие одну программу чтения с экрана с другой очень напоминают войны iPhone против Android или Chrome против Firefox.  

Три поколения слепых программистов

Некоторые члены сообщества очень молоды. Курран вспоминает детей, заинтересованных NVDA, которым было лет по 13 или даже таких, которые только пошли в школу. Некоторые из этих молодых пользователей продолжили изучение информатики, чтобы самим стать разработчиками. Три поколения слепых программистов писали программы друг для друга с тех пор, как Хентер запустил JAWS в 80-х.

Туукка Ояла, слепой разработчик программного обеспечения из Финляндии, — один из тех детей, о которых вспоминает Курран.

Ояла всегда интересовался технологиями и компьютерами, но на первом компьютере, которым он пользовался в школе, не было программы для чтения с экрана. «Когда другие дети учились писать от руки, я тратил столько же времени на слепую печать, — говорит Ояла. Всё изменилось, когда он впервые получил собственный компьютер с демо-версией JAWS. «Программа работала по 40 или 45 минут, а потом мне приходилось перезагружать компьютер», — говорит Ояла. Он не мог позволить себе покупку лицензии, не говоря уже о приобретении обновлений. Тем не менее, меньше чем за год, запуская демо-версию JAWS такими короткими сессиями, он научился программировать.

В 2011 году Ояла поспорил с другом, как долго он сможет пользоваться NVDA, которая все ещё находилась на ранней стадии разработки. «В то время NVDA пользовались вовсе не потому, что она была лучше JAWS, — говорил Ояла. Надо было продержаться месяц. Спустя более десяти лет Ояла все ещё использует NVDA, хотя стоимость для него уже не имеет значения. «Функции, которые есть у NVDA или которые она хочет разработать, лучше приспособлены к тому, что мне нужно, — говорит Ояла. Обновления выходят быстро, а надстройки, такие как оптическое распознавание символов (OCR), обширны. «Большую часть времени работы за компьютером я использовал NVDA».

В своей компании Ояла в основном работает с серверными системами. «Я часто описываю себя как человека, который интересуется серверной частью, но при этом заботится обо всем программном обеспечении, поэтому я также тестирую юзабилити», — говорит Ояла. «Мне нравится понимать, как используют софт конечные пользователи, хотя я не так много работаю с внешним интерфейсом».

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

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

Заключение

История скринридеров — это не только выдающееся достижение слепых программистов, первопроходцев в этой области, но ещё и упрёк зрячим программистам. Если бы не их пренебрежительное отношение к проблеме, вышеупомянутые программы, возможно, и не появились бы. «Как слепой человек, я хочу пойти в магазин, купить компьютер и просто пользоваться им. Я не хочу покупать или загружать отдельную программу для чтения с экрана», — говорит Курран. Слепые программисты не должны писать инструменты для слепых.

Тем не менее, они сделали именно это. Они создали программное обеспечение, которое в буквальном смысле меняет жизнь. И это наследие остаётся не только в операционных системах, перенявших их продукты, но и в молодых программистах, которые пришли вслед за ними.

Хентер полагался на добровольцев, которые читали ему экран вслух. Юному Тэ читал книги по программированию отец. Для Оялы началом пути к программированию стали уже программы чтения с экрана. Ояле потребовалось много времени, чтобы понять, почему зрячие продолжают спрашивать: «Как ты умеешь программировать?» Им это казалось чем-то невероятным, а он не мог понять, почему.

«Мой способ работы — единственный известный мне, — ​​говорит Ояла. «Я не знаю других способов кодирования».

А что у нас?

Не так давно Yandex занимался адаптацией Yandex Go для слепых. Разработчики думали, что достаточно подписать все элементы интерфейса для скринридера, но по итогу задача оказалась непростой.

У нас тоже есть интересный кейс, где мы помогали коллеге, имеющему проблемы со слухом

А вы сталкивались с подобным? Было бы интересно услышать, есть ли у вас коллеги с нарушением зрения, с какими сложностями при работе на компьютере они сталкиваются, как компания решает проблему?


Что ещё интересного есть в блоге Cloud4Y

→ Как открыть сейф с помощью ручки

→ Сделайте Linux похожим на Windows 95

→ Как распечатать цветной механический телевизор на 3D-принтере

→ WD-40: средство, которое может почти всё

→ Взлёт и падение игрового чипа 6502

Подписывайтесь на наш Telegram-канал, чтобы не пропустить очередную статью. Пишем только по делу. А ещё напоминаем про второй сезон нашего сериала ITить-колотить. Его можно посмотреть на YouTube и ВКонтакте.

Свежая серия

Комментарии (6)


  1. ZekaVasch
    22.07.2022 08:50

    Мне кажется или этот текст уже был на хабре ?


  1. AllKnowerHou
    22.07.2022 09:56

    Не представляю как незрячий программист будет писать код на perl или даже на плюсах.


  1. unfriend
    22.07.2022 11:10

    ... но ещё и упрёк зрячим программистам. Если бы не их пренебрежительное отношение к проблеме, вышеупомянутые программы, возможно, и не появились бы.

    Спорно. Чаще всего дело не в самих программистах. Вряд ли кто-то сознательно стоит в позиции «и пальцем не пошевелю ради незрячих, пусть сами себе помогают». Или всё-таки бывают такие?


    1. Cloud4Y Автор
      22.07.2022 11:42

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


      1. unfriend
        22.07.2022 15:23

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

        Я к тому, что, скорее всего, сами разработчики без проблем бы сделали всё круто, если бы не сложившиеся приоритеты.

        Кстати, про «сложившиеся». Как будто бы в целом наметилась тенденция к тому, что сервисы/приложения всё больше внимания уделяют доступности. Либо мне так кажется :)


  1. ss-nopol
    22.07.2022 12:05

    Я одному слепому пытался помочь настроить какую-то старую версию jaws, это был ад. Были какие-то дикие проблемы с раскладками. Я не смог справиться.