Как прогресс ухудшил жизнь продвинутых пользователей (и как это исправить)

Неизбежный xkcd

Я не люблю нытьё «раньше трава была зеленее» и в целом рад техническому прогрессу. Но считаю, что вместе с развитием компьютеров произошли и некоторые перемены, которые ухудшили жизнь «продвинутых пользователей» (power users) в угоду массовому пользователю. Перемены, которые мешают людям использовать технологии максимально эффективно.

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

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

### 1\. Мобильная революция

Когда смартфоны стремительно захватывали мир, я смотрел на это завороженно. Теперь у людей есть почти повсеместный интернет-доступ! Можно хоть с горной тропы загуглить любую информацию, управлять банковским счётом, делать покупки! 

Сейчас я по-прежнему считаю, что это всё очень здорово. Но со временем заметил в популяризации смартфонов и проблему для людей вроде меня.

Для многих массовых пользователей смартфон стал главным устройством не только на горной тропе, но и дома. А для меня дома компьютер остаётся вне конкуренции. Физическая клавиатура, большой экран и возможности вроде «Ctrl+F» позволяют мне быть ощутимо продуктивнее, даже когда речь не о работе, а о бытовых вопросах вроде покупок в интернет-магазинах.

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

Некоторые современные сервисы вообще существуют только в виде мобильных приложений, у них просто нет «десктопной» версии (ни в вебе, ни нативной). И тогда те продвинутые пользователи, которые собирают себе компьютерный сетап мечты, сталкиваются с чем-то таким: ты сидишь перед прекрасным 30-дюймовым монитором с любимой механической клавиатурой, кайфуешь от каждого прикосновения, но внезапно вынужден отрываться от всего этого, доставать маленькое устройство и тыкать в него пальцем. И, скажем, если нужно что-то скопипастить туда/оттуда, сиди возись с двумя разными буферами обмена (телефонным и компьютерным).

А даже если компьютерная версия есть, мобильная революция может лишать её части возможностей. Вот пример: в 2019-м Apple добавили в macOS новое видеоприложение TV. И запустив его, я обнаружил, что не могу в нём переключаться между полями с помощью клавиши Tab, как порой делаю в других приложениях. Хотя в настройках macOS у меня проставлена галочка «Press the Tab key to move focus forward».

Почему компания Apple, которая добавила в настройках эту галочку, сама же в собственном приложении не поддерживает её? Если правильно понимаю, дело в том, что изначально приложение TV появилось в iOS. И на Mac перенесли уже имевшиеся мобильные наработки, внеся минимум изменений по сравнению с айпадами. А на айпадах, понятно, обычно пользуются не кнопкой Tab. Так мобильный мир ворвался на десктоп и отнял уже привычную возможность.

Массовый пользователь, который привык тыкать мышкой и не пользуется клавишей Tab, вообще не заметит тут никакой проблемы. А я замечаю и она для меня не смертельна, но неприятна. Если что, тут ни в коем случае не пытаюсь принизить «обычных пользователей» и представить их способ использования как «неполноценный». Им удобно «как на айпаде» — да пожалуйста, только рад за них. Хочу сказать только, что люди вроде меня тоже существуют, и из-за расцвета мобильных устройств нам сделали хуже.

Моя коллекция фильмов в приложении TV, по которой я не могу «погулять» с клавиатуры

### 2\. Интернет-революция

Ещё до мобильной революции я с таким же восторгом следил за развитием интернета и облаков. Ух ты, стало можно хранить свои фото в онлайн-сервисе и открывать с любого устройства! Вау, стало можно запустить любую песню в пару кликов откуда угодно!

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

Есть очевидная часть, о которой и без меня часто пишут: когда данные не локально у тебя, а где-то в облаке, ты лишаешься контроля над ними (могут взять и удалить завтра из стриминга твой любимый альбом). А продвинутые пользователи любят всё контролировать.

Есть чуть менее очевидная часть, сожаления о которой вижу реже: когда данные в облачном сервисе, то лишаешься контроля ещё и над способом взаимодействия с ними. Медиафайл c диска можно запустить разными плеерами, выбирай подходящий тебе хоть до посинения. А вот стриминг-сервис предлагает какой-то один интерфейс, сиди с ним и «ешь что дают», даже если что-то не нравится и хочется богатых возможностей «как в VLC». Сужается выбор, а для «продвинутых» пользователей возможность выбора важна.

А вот ещё менее распространённая жалоба, которая есть у меня: по-моему, эти безальтернативные веб-интерфейсы облачных сервисов в среднем хуже подходят для power users, чем интерфейсы «устаревших» десктопных приложений. У нативных приложений чаще встречаю хоткеи и меню, которым можно пользоваться с клавиатуры, а в вебе знай себе клацай мышкой. Есть браузерные расширения вроде SurfingKeys для управления сайтами с клавиатуры, они частично улучшают ситуацию, но всё-таки это костыль.

Так выглядит использование браузера с SurfingKeys

### 3\. Мышиная революция

Но вообще, конечно, всё покатилось по наклонной ещё до всяких смартфонов-интернетов. Я считаю, что появление мышки и GUI — это, фигурально выражаясь, первородный грех информационных технологий (иронично, что первой популяризовала GUI компания с надкушенным яблоком).

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

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

Вот, например, Telegram. В целом замечательно к нему отношусь, это ещё хороший случай. И в его macOS-приложении в принципе задумывались о хоткеях (спасибо за это): по нажатию на Cmd+? вылезает справка по ним, целый ряд действий возможно сделать с их помощью. Но всё-таки активно пользоваться Telegram на маке без мышки/трекпада, если правильно понимаю, почти невозможно. Для кучи действий (например, прикрепить к сообщению файл) в списке хоткеев ничего не указано.

Чтобы это обойти, я даже искал версию Telegram для командной строки. Теоретически она [[существует]]. А практически она не обновлялась семь лет, и у меня не получилось её запустить.

К чему это приводит? В идеальном мире я бы хотел выучить все команды vim и порхать пальцами над клавиатурой, аки бабочка, повысив свою скорость. Но в реальном мире, когда в части случаев натыкаюсь на затыки «тут с клавиатуры никак», это ломает весь переход. Если открыта IDE, а параллельно что-то пишут в телеграме, переключаешься между ними и из-за телеграма постоянно снимаешь правую руку с клавиатуры, тогда и в IDE начинаешь её снимать.   
  
В итоге все мои попытки как следует выучить хоткеи и по-настоящему уйти от мышки проваливались. Отчасти ощущаю это своей слабостью, а отчасти сопротивлением среды. И мне печально, что среда сопротивляется эффективной работе с ней, навязывая менее эффективную. А если бы мышку/GUI никогда не придумали и мы все сейчас сидели бы в командной строке, среда бы так не сопротивлялась.

Всего-то запомнить это, и достигнешь просветления

### Как улучшить ситуацию

Я написал это всё не просто для того, чтобы поныть «как всё плохо». Мне интереснее не вопрос «кто виноват», а вопрос «что делать». И мне кажется, что тут есть частичный ответ.

Да, где-то исправить ситуацию вряд ли получится. Если у сервиса есть только мобильная версия из-за того, что бюджет позволял сделать только её — тут вряд ли можно что-то изменить, бизнес не станет изыскивать ресурсы просто для того, чтобы порадовать нескольких гиков. 

Но есть и другие ситуации. Подозреваю, что в эппловском приложении TV нельзя воспользоваться кнопкой Tab не из-за бюджетных/технических ограничений (много ли ресурсов надо это исправить?), а просто потому что об этом никто не подумал. Люди, привыкшие к айпадам, потыкали курсором в разные места и сказали «всё работает».

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

По-моему, с «продвинутыми пользователями» отчасти похоже: проблемы, возникающие у них, может быть сложно заметить человеку со стороны, у которого паттерны использования ПО отличаются. И при проверке приложения TV для него всё выглядит хорошо. Но достаточно было бы одного человека, лично пользующегося кнопкой Tab, чтобы донести до Apple, что их общий принцип из ОС здесь сломался.

Так что был бы рад, если бы возникло какое-то понятие в духе accessibility, но о потребностях опытных пользователей. Если бы, помимо проверок «каково пользоваться нашим продуктом без зрения», проводили ещё и проверки «каково пользоваться нашим продуктом без мышки и телефона».

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

Ну то есть моя мысль примерно такая. Если вы делаете консьюмерский сервис, попробуйте, например, сами воспользоваться им без мышки (а если ваш знакомый не вылезает из командной строки и переписал пол-линукса под себя — ещё лучше, скиньте ему). И зафиксируйте, где возникла боль и можно ли это исправить без вложения больших ресурсов. Эта информация уже будет полезной. 

Давайте сделаем софт чуть-чуть продвинутее.

> Напоследок минутка рекламы. Мы в JUG Ru Group сейчас проводим осенний сезон конференций: уже сегодня в 16:00 стартует [[Mobius]] по мобильной разработке, завтра [[HolyJS]] (понятно, про JavaScript), в конце ноября новая конференция по системному и бизнес-анализу [[Flow]]. Если какая-то из этих тематик пересекается с вашей деятельностью, советую обратить внимание.