Как стать автором
Обновить
105
0
Рубанов Михаил @akaDuality

Head of Mobile at Dodo Engineering

Отличный вопрос!

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

Теперь пофантазирую конкретно. Что будут люди делать в очках? Да тоже самое, что сейчас делают: если я программирую, то с покупкой очков я не поменяю сферу работы на 3д-моделирование. Зато в очках можно открыть несколько приложений, переключаться между ними поворотом головы, вводить текст просто диктуя его и смотреть всякие иммерсивные фильмы с клевым звуком. Вот и незрячие смогут делать ровно это же: использовать привычные программы, но с другим управлением, где-то более удобным.

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

Во всем взаимодействии не хватает вибрации: на виртуальной клавиатуре неудобно набирать, потому что кнопок не чувствуешь, а полагаться только на визуал странно. Наверно кто-нибудь попробует хотя бы на одной руке хаптиком через часы отзываться.

Многие реабилитационные устройства стоят дороже (из-за малых тиражей), но дают меньший функционал. Поэтому тут сложно измерять обычной линейкой, очки могут оказаться дешевым девайсом даже за 3500.

Доступность у контрола потерялась.

Надо в accessibilityValue кнопки подписывать какая она по порядку, чтобы получилось «First, 1 из 3, кнопка», «Second, 2 из 3, кнопка».

Как проверить

Спасибо за сценарий

Основная причина — мы не храним данные карт у себя, пользуемся токеном который выдает экваер после оплаты картой. Поэтому этот процесс сильно привязан к заказу. Может быть когда-нибудь переделаем, думаем об этом.

Пользуясь случаем: расскажите почему хочется привязать ее в настройках и чем неудобно при заказе вводить?

Пользоваться техникой тем контроллером, который подходит именно вам — вполне себе часть доступности. На айфоне буквально этим занимается Switch Control.

Спасибо за комментарий, после него я придумал снять видео как управлять айфоном с геймпада :D

Я полистал доклад, до 11 минуты вроде база, а потом про модули, зависимости и тесты все. Норм на двойной скорости смотрится

Сделаю шаг назад: тесты это код который надо поддерживать. Примеров много:

  • в свифте появился async/await, код переходит на него. Функционально ничего не меняется, но синтаксис вызова другой, приходиться менять.

  • Добавили фичу и синтаксис старой поменялся, чтобы лучше описывать абстракцию.

  • Мигрировали одну сетевую либу на другую: обновляем места интеграции.

  • Решили отказаться от спецификаций из-за скорости компиляции? Переписываем на XCTest.

  • Ну и т.д

Да, тесты можно написать так, чтобы это все было абстрагировано. Написаны ли они так фактически? А те тесты, которые 3 года назад написали? Скорее нет

Рефакторинг это изменение кода без изменения поведения. Поэтому тесты отлично рефакторятся :-)

Вторую статью чет все еще пишу, но есть видео-доклад который отчасти про это.

Я про них в статье немного писал, там есть пример теста и скриншотов

Вы говорите про стандартные UI-тесты, а статья про ссылка на скриншот-тестирование через вот эту либу. Работает так:

  • пишешь юнит-тест в котором создаешь вьюшку и заполняешь ее данными

  • вызываешь асерт специальный который ее отрендерит

  • сохранит этот скрншот в репозиторий

  • при следующем прогоне сгенерит новый скриншот и сравнит с прошлым прогоном.

Скриншотим мы лишь ячейки и контролы, поэтому файлы получаются маленькие, а скорость у них достаточная чтобы гонять их как юнит-тесты

После всех трансформаций я бы проверял правильно ли работает скринридер.

Например, для чатов было популярно вертикально переворачивать таблицу, а потом переворачивать все ячейки. Визуально проблем нет, но для скринридера все ломалось.

Да просто набирать приятней. Разницу сложно объяснить, потому что это про ощущения

Можно сделать так: при зажатии модификатора переключать раскладку клавы на QWERTY. Тогда все комбинации останутся на прошлых местах.

Но отваливаться все равно будет в неожиданных программах и где горячие клавиши без модификатора: Vim, VSCode, видеоредакторы и т.п.

Эргохэвен отличный вариант чтобы начать — быстро доставляют, хорошие клавиатуры, низкая цена. Мунлендер мне совсем не понравился.

Я уже больше года печатаю на HALMAK, она довольно интересно посчитана. Видео про раскладку и сама раскладка

Я подлокотники делаю на уровне стола и не задвигаю кресло. Это позволяет не уводить руки вперед и не портить осанку (или не упираться животом чтобы положить руки на стол как вы описываете, но тогда не ясно зачем нужны подлокотники)

https://habrastorage.org/webt/ji/49/0c/ji490cdtycryht1zulw57q0-dpc.jpeg

Вы описали какой-то сложный сетап. У меня эту функцию прекрасно выполняют подлокотники от кресла. При этом всю высоту подогнал так, чтобы уровень подлокотников был на уровне клавы и все отлично

Информация

В рейтинге
Не участвует
Откуда
Екатеринбург, Свердловская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность