В фантастических книгах об искусственном интеллекте описывалась способность компьютера в прямом смысле видеть и понимать происходящее, подобно человеку. До сих пор с помощью графических тестов системы безопасности на сайтах вычисляют ботов, но машинное зрение уже внедряется на производствах. В нем нуждаются и слепые люди — в эпоху соцсетей еще больше, чем прежде. Лишь недавно чиновники в России задумались, как они осваивают виртуальную среду, и по контракту с правительством АНО «Институт развития информации» взялось за исследование доступности Рунета хотя бы в части ресурсов госорганов. Между тем среди незрячих также есть талантливые программисты, и они не сидят на месте. Один из них — 21-летний Алексей Самойлов из Гусь-Хрустального — создал Vision Bot для Telegram и «ВКонтакте», которым активно пользуются как в России, так и за рубежом. Алексей рассказал «Ленте.ру» о себе, своих разработках и трудностях, с которыми сталкиваются незрячие юзеры в сети.
«Возьмут ли меня на работу?»
«Бот основан на API от Google и Microsoft, но я пытаюсь создать свою нейросеть на Python, — объясняет Самойлов. — Он может прочесть текст на фото, написанный на любом языке, и перевести его, но шрифт должен быть печатным. Бот также умеет перечислять изображенные на картинке объекты и описывать происходящее, то есть как эти объекты взаимодействуют, а еще он определяет возраст людей на фото».
Все это сделано не «по приколу». Vision Bot в первую очередь удовлетворяет потребности самого разработчика. Алексею, как и всем его сверстникам, хочется сидеть в соцсетях, постить мемасы и так далее. И это не коммерческий проект — весь функционал доступен любому пользователю, и абсолютно бесплатно. Впрочем, рано или поздно Самойловым должны заинтересоваться инвесторы, так как его детище пользуется спросом не только в России, но и за рубежом.
Алексей полностью незрячий. Он окончил 12 классов школы-интерната для слепых и слабовидящих во Владимире, а теперь учится в Кисловодском медицинском колледже на массажиста.
«Кроме программирования, я хочу уметь зарабатывать руками, как говорится, — описывает свою стратегию Самойлов. — Хороший профессиональный массаж всегда будет в цене, а в IT конкуренция большая. Да, у бэкэнд-разработчиков высокие зарплаты, но возьмут ли меня на работу?».
Открыть свою студию Алексей не решается — и опять же из-за неуверенности в том, что программирование может приносить стабильный доход, а по большому счету — из-за неуверенности в себе, которую с детства прививают людям с ограниченными возможностями.
«Сижу на всяких форумах и площадках, делаю программы на заказ», — говорит он.
«Просьбы чем-то помочь на возмездной основе»
Самойлов познакомился с компьютером и интернетом в 2011 году, когда ему было 12 лет. Почти сразу его заинтересовало то, как все это устроено и функционирует изнутри. Изучать приходилось на ощупь, а вернее — на слух.
«Использовал программы экранного доступа, которые озвучивают все элементы, находящиеся на рабочем столе Windows. Начал с Jaws, затем его возненавидел и стал пользоваться NVDA», — вспоминает Алексей.
Первый язык программирования он выбрал, в прямом смысле спросив у Google, какой из них самый легкий. Это был HTML. Прочел все, что нашел в сети про него, а затем про Javascript, CSS, изучил исходный код разных сайтов.
«Помню, как создал первый текстовый html-файл, создал форму и кнопки в ней, через alert() по клику их вывел, через confirm() что-то там запросил и — вау! круто! работает!» — вспоминает Самойлов.
Алексей стал погружаться глубже, научился создавать простые программы для Windows, затем освоил работу с локальным сервером, создание страниц PHP.
В школе, где Алексей учился, была информатика, но там ребят учили только включать и выключать компьютер, работать в офисных приложениях, создавать папки и пользоваться антивирусами.
Самойлов не вылезал с форумов для программистов и со временем заметил, что сам стал отвечать на вопросы других людей.
«Потом стали приходить уже не только вопросы, но и просьбы чем-то помочь на возмездной основе: на сайте ajax форма обратной связи не работает или jquery не подключается», — описывает свой опыт программист-самоучка.
Так Алексей стал зарабатывать свои первые деньги, хоть и небольшие — от 100 до 1000 рублей за заказ.
«Иногда достаточно знания латыни»
В 2018 году Самойлов уехал в Кисловодск. Курс для инвалидов по зрению в колледже — два года и десять месяцев.
Живут учащиеся в обычной общаге, где все нужно делать самим. В каждом блоке есть электроплита, чайник, стиральная машинка и холодильник. Туалет и душ — общие.
Ребят, как водится, напугали, что поступить несложно, но в конце года будут отчислять тех, кто не пройдет практику или не сдаст экзамены.
Однако Алексею все далось гораздо легче, чем он думал: «Иногда достаточно знания латыни и умения логически мыслить. В тесте по патологии, к примеру, был вопрос о том, как называется белок в моче. В ответах несколько слов с окончанием «урия», но правильный — протеинурия, ведь белок — это и есть протеин».
Весь первый учебный год Самойлов провел без компьютера, с одним лишь маленьким iPhone, однако с программированием на это время не завязал.
«Мне заказали тренажер ассоциаций, и я программировал прямо с телефона. Надо было также найти и обновить javascript-библиотеку для сортировки таблиц: исправить в ней ошибку и добавить accessability», — перечисляет будущий массажист.
Пока другие серфили по соцсетям и гуляли по знаменитому на всю страну Кисловодскому парку, Алексей все свободное от учебы время — и днем, и ночью — писал код. Для этого он добавил через настройки клавиатуры специальные сокращения. Так он вручную написал десять килобайт.
Самойлов отдает должное компании Apple за программу Voiceover. По его словам, ее аналог на Android — Talkback, которым Алексею довелось пользоваться лишь однажды, не идет с Voiceover ни в какое сравнение. Именно благодаря «яблоку» для многих незрячих людей в принципе стала возможна удобная работа с бескнопочными сенсорными телефонами.
«Двигать курсор мышки — и, возможно, попадешь»
Алексея очень радует, когда люди и организации за рамками сообщества слепых обращают внимание на проблему доступности интернет-среды — чиновники, журналисты, общественные организации.
Однако он никогда целенаправленно не занимался этой проблемой и не собирал в одну папку все трудности, с которыми ему доводилось сталкиваться в сети как незрячему человеку. Алексей привык решать их самостоятельно.
Отметим сразу, что приведенные ниже примеры могли быть выявлены в разное время. Часть или даже все могли быть уже исправлены. Герой этой публикации замечал их, когда интересовался тем или иным приложением. Он совсем не профессиональный тестировщик и не следит за всеми обновлениями круглыми сутками.
«Допустим, в VK (на компьютере в полной версии) при добавлении на свою страницу музыки есть кнопка "добавить", через говорящую программу ее добавить можно, но если создать альбом (плейлист) — там уже кнопки "добавить" для говорилки нет. Приходится на 30 пикселей ровно вправо по X координате двигать курсор мышки — и, возможно, попадешь», — рассказывает собеседник «Ленты.ру».
В некоторых случаях проблема даже не в деталях. Так, приложение «Яндекс» на iPhone (iOS) недоступно слепым полностью.
«Voiceover молчит, вообще ни одного слова не говорит. Соответственно, даже для того, чтобы поговорить с "Алисой", нужно выключать говорилку», — отмечает Самойлов.
В приложении «Яндекс.Такси» на iOS слепым недоступна возможность поставить оценку и оставить отзыв о водителе. Хорошо, что сами таксисты этой недоработкой не пользуются!
На портале «Госуслуги» дела обстоят намного лучше. Все, что касается работы с документами, оплатой и записью к врачу, там делать можно. Проблемы возникают только с не подписанными в коде иконками, которые не видят программы экранного доступа.
Компания, которая, по мнению Алексея, развила доступность на «отлично и даже лучше», — это Сбербанк. Там, по его словам, действительно заботятся о доступности.
Проблемы возникают и с приложением Telegram на iOS. В частности, речь идет о непоследовательности разработчиков, занимающихся обновлениями. Порой новая версия становится менее доступной, потому что авторы поправок не задумываются или забывают о том, что среди их клиентов есть люди с ограниченными возможностями.
«На Android сделали очень хорошо, на iPhone начали, забросили, обновили и снова чуть сломали, — говорит программист. — То не прокручиваются сообщения, то не читаются названия кнопок или информация в профиле. Кнопки "Сообщение", "Позвонить", "Добавить в контакты / Удалить", "Заблокировать" — тоже еще весной не озвучивались, и так далее».
«Это цифры через запятую, их где-то 128 штук»
Среди программ и приложений, созданных Алексеем Самойловым, много таких, которые как раз рассчитаны на слепых.
К примеру, приложение, которое описывает мемы. Да, все давно уже привыкли использовать их в повседневном общении, но незрячим было трудно понять, что имеет в виду их собеседник, какую именно эмоцию он пытается выразить. Обычные программы экранного доступа этого сделать не могли — к примеру, в случае с «ВКонтакте».
А Самойлов сделал это возможным. Также он создал программу-калькулятор брайлевских страниц и много чего еще для всех пользователей, не только для слепых, — к примеру, генераторы ссылок для WhatsАpp, Dropbox.
Однако Vision Bot можно назвать его главным творением — по крайней мере потому, что он продолжает обучать свой бот.
Многие между тем не понимают, как это вообще работает. Алексей не сердится и не включает «загуглите и узнайте». Он с радостью готов отвечать на самые глупые, с позиции программиста, вопросы.
«Картинку сравнивают с несколькими миллиардами уже существующих, к которым есть подписи, находя среди них ближайшее совпадение, — объясняет он принцип работы своего бота. — Вот он изучил твое фото и сказал, что тебе 29 лет. Ты говоришь, что он ошибся: тебе 34. Тогда я возьму фотографию, переведу ее в матрицу — это цифры через запятую, их где-то 128 штук — и постараюсь поменять выдачу. Еще могу добавить анализ на своей стороне через Python».
Алексей, как и многие, любит, говоря о своей работе над программами и приложениями, произносить слова «легко» и «просто». Он не относится к тому, что делает, как к чему-то сакральному и доступному лишь меньшинству.
Он пока не знает, чем будет заниматься в будущем. Еще несколько месяцев он будет изучать профессиональный медицинский массаж и оказывать услуги людям, нуждающимся в нем как в программисте.
Да, разработанный Самойловым бот и другие приложения — это не что-то уникальное. Аналоги Vision Bot существуют. Есть и более продвинутые, но чаще всего платные и порой слишком дорогие, а значит — недоступные для слепых пользователей, которые редко могут похвастать большими заработками.