Посыл этой статьи заключается в том, что одержимость лёгкими, «интуитивными» и, возможно, даже эффективными пользовательскими интерфейсами формирует слой мягкой тирании. Такой слой я бы создал, будучи диктатором, стремящимся усладить общественность в подготовке к лишению её свобод в будущем. Я бы так сильно привязал людей к нелепым ограничениям при использовании разных вещей, что подобное издевательство стало бы нормой.
Немного поясню. Я не являюсь дипломированным дизайнером пользовательских интерфейсов. Здесь я выступаю в роли обычного пользователя со своим видением вещей, и пишу эту статью не с позиции наставления, мол, я бы сделал лучше. Как говорил мой отец, талантливый программист, все считают, что могут создать хороший пользовательский интерфейс, но лишь немногие реально имеют необходимые для этого способности и видение.
Поэтому все примеры, о которых я буду говорить, представляют системы, в которых текущий UI намного хуже прежнего. Я не говорю, что могу сделать лучше. Всё уже было сделано лучше, только в прошлом.
И эта идея не нова. Тед Нельсон пишет о том, как в хвалёном исследовательском центре Xerox в Пало-Альто (где зародились персональные компьютеры) пользователю был предоставлен графический интерфейс, лишивший его возможности формировать собственные связи между программами, которые впоследствии были заключены в «окна» — огромный потенциал сферы вычислений в плане абстрагирования и связывания оказался упрощён до «симуляции бумаги». Если вам интересно побольше узнать о том, как, с точки зрения Теда, должна была развиваться сфера компьютерных вычислений, рекомендую ознакомиться с серией его сюжетов на YouTube под названием Computing for Cynics.
Закон Мура гласит, что компьютеры с течением времени экспоненциально увеличивают свою мощность, в то время как пользовательские интерфейсы — в той степени, в которой заставляют нас действовать глупо и принижаться — делают пользователей всё более беспомощными.
▍ YouTube
Приложение YouTube для Android несёт в себе, пожалуй, самый возмутительный набор решений дизайна UI. Первое связано с механизмом представления отдельных записей в результатах поиска, подписках и прочих списках. В них указывается серия видео-превью, которые содержат (на сегодня) фото-заставку, заголовок, название канала, число просмотров и дату публикации.
А что, если я хочу перейти сразу на канал? Это было возможно… раньше. Что, если я хочу выделить и выбрать часть текста из превью? Не выйдет. Вместо этого всё превью выступает не комбинированным представлением из графики, текста и гипертекста, а одной большой, красивой и тупой кнопкой.
Это напоминает один из моих любимых комиксов про Дилберта. Продавец компьютеров демонстрирует Дилберту новейшую модель, поясняя, что последняя версия UI в ней настолько проста, удобна и интуитивна, что в ней достаточно всего одной кнопки, которую компания нажимает за вас, когда отправляет устройство с фабрики. Раньше у нас был выбор, а теперь мы просто катим по кем-то проложенным рельсам.
Помните ли вы, когда у вас была возможность заблокировать экран телефона или переключиться на другое приложение, продолжая фоном прослушивать YouTube? Больше так нельзя. Разработчики YouTube убрали эту… — мои пальцы зависли над клавиатурой и почти напечатали «фичу». Продолжение воспроизведения ролика YouTube фоном не является фичей, это должен быть стандартный режим работы подобного приложения. Тот факт, что оно закрывается при переключении на другую программу, является лицемерной анти-фичей.
YouTube, совмещая в себе абсурдность в стиле Советского Союза и банальность развитого капитализма, предлагает вам вернуть подобающую функциональность приложения в обмен на Premium-подписку. Я не выступаю против того, чтобы компании предлагали дополнительные функции в виде платного апгрейда. Более того, мой отец говорил о том, что определённые модели компьютеров IBM поставлялись с продвинутым аппаратным обеспечением — в этом случае апгрейд подразумевал визит специалиста, который активировал уже установленное в системном блоке оборудование.
IBM продаёт вам автомобиль, вы платите за его апгрейд, но понимаете, что этот апгрейд уже в нём присутствовал, просто был отключён. YouTube тоже как бы продаёт вам автомобиль, а затем через десять лет превращает его в клоунскую машину и предлагает вам возможность дополнительно заплатить, чтобы снова сделать эту машину полноценным автомобилем. Представьте себе бесконечно прилетающий в лицо торт с заварным кремом.
Очевидное несоответствие этой аналогии в том, что коммерческая связь между мной и YouTube сильно отличается от той, которая возникала между потребителем продукции IBM и самой IBM. Если вы используете бесплатную версию YouTube, то платите компании просмотрами и данными — в подобной модели взаимоотношений не хватает ясности традиционной сделки, и получатель продукта или сервиса, который предположительно является бесплатным, остаётся открытым ко всевозможным видам пренебрежения и использования, будучи лишён привилегий, присущих клиентам, которые платят.
Раньше в WhatsApp был простой и логичный UI, но чем дальше, тем он становится хуже, причём стремительно. Как и в случае с YouTube, WhatsApp всё больше ограничивает возможности пользователя по взаимодействию с содержимым программы, предоставляя лишь жёстко прописанные варианты.
В частности, раньше можно было выбирать и копировать в сообщениях любой объём текста. Теперь же при попытке выделить часть отдельного сообщения оно выбирается целиком, после чего предлагаются стандартные операции: удалить, скопировать, поделиться и так далее.
А что, если я хочу выбрать часть сообщения, потому что мне нужно конкретно её скопировать или просто выделить, чтобы показать кому-либо? Больше так нельзя. WhatsApp возводит барьер между вами и фактическим содержимым отправляемых и получаемых сообщений, позволяя взаимодействовать с ними только ограниченными способами.
Вам может показаться, что я слишком придираюсь — сегодня я поделился этими мыслями с другом, который не понимал, почему меня это так волнует. Естественно, сама по себе эта проблема невелика, но она является одной из множества аналогичных, которые все вместе ведут к деградации наших инструментов.
Я имею в виду, что WhatsApp преподносит всё так, будто сообщения на экране принадлежат к какой-то особой категории и предполагают лишь ограниченный набор операций. Нет же, это просто текст. Это один из основных компонентов мира вычислений, и любой уважающей себя компании по разработке ПО следует опираться на философскую аксиому, согласно которой пользователь должен иметь возможность управлять этим компонентом именно как текстом.
Вспоминаю ещё один квази-афоризм моего отца. Как-то раз мы то ли для друга, то ли для родственника выбирали поздравительную открытку в специальном отделе магазина, размером с Библиотеку Конгресса. Разглядывая различные варианты, на которых говорилось «К 60-летию», «К 18-летию», «На свадьбу сестры», «На выпускной», «Соболезнования по утрате», и прочее, он сказал: «Почему люди стремятся определить каждый возможный случай? Нельзя просто сделать подборку разных открыток, и я уже сам напишу, что она предназначена к чьему-то шестидесятилетию?»
Всё дело в форме. Похоже, UI стремятся к тому, что всё, о чём люди могут подумать или чего могут захотеть, должно быть чётко определено и иметь отдельную кнопку. Если представить это в виде той же аналогии с автомобилем, то мы получим машину без руля или педали газа. Вместо них в ней, к примеру, будет кнопка для каждого города, в который вы можете решить поехать.
Есть кнопка для Ньюарка, но нет для Нью-Йорка? Жмите Ньюарк, а остальной путь идите пешком. Да и какой больной вообще захочет отправиться в Нью-Йорк? Ну и раз уж на то пошло, кому в голову взбредёт куда-то поехать, заранее не определившись с конечной точкой маршрута?
▍ Лифты в здании, где я работаю
Я работаю в финансовом районе Манхэттена. В нашем прежнем здании были нормальные лифты: вы его вызываете и уже внутри выбираете нужный этаж. В текущем же здании система иная: вы идёте к панели в фойе и выбираете этаж, система сообщает вам номер лифта, который она для вас вызвала. Внутри же самого лифта кнопок выбора нужного этажа нет.
Считаю, что это непрактично. Во-первых, нет возможности переиграть ситуацию, если вы вдруг случайно зайдёте не в тот лифт (охранники на первом этаже не раз видели, как мы с коллегой выходим из лифта с чашками кофе и ноутбуками, вызываем другой и едем на нём обратно наверх). Для того чтобы эта система гладко работала, нужно запоминать номер лифта. Я же хожу в офис не для того, чтобы запоминать какую-то лишнюю информацию, а для того, чтобы работать. Кому захочется удерживать в голове номер лифта в процессе беседы с другом?
Причём, как в примере с WhatsApp, это можно сравнить с ситуацией, когда вы сели в машину и обнаружили, что за рулём сидит другой человек, который спрашивает вас: «Куда бы вы хотели поехать?» А что, если я сяду в лифт и передумаю? И это не говоря о том, какой разделяющий эффект такая система оказывает на людей. До этого мы заходили в лифт и я, находясь ближе всех к панели управления, спрашивал: «Какой вам этаж?» Теперь же мы едем в тишине, и стало меньше на один повод отвлечься от экрана телефона, здания и застеклённого рабочего места.
▍ Любой не описательный индикатор загрузки
Отец собрал мой первый компьютер, когда мне было 8 или 9 лет. После успешной установки Red Hat GNU/Linux мы впервые загрузили систему и увидели что-то вроде такого:
Это список процессов, успешно запущенных операционной системой. Она проходит по нему при каждой загрузке. Сейчас, используя ту же версию Linux, я наблюдаю примерно такой же экран. Это прекрасный, величественный механизм, и если он когда-нибудь изменится, я очень расстроюсь.
Сегодня наше программное обеспечение нередко преподносит нам то, что можно назвать двусмысленной иконкой загрузки. Вместо индикатора загрузки, процентов завершения или списка мы наблюдаем нечто движущееся — типа выполняется некая работа — без какой-либо индикации происходящего за кадром. Лично мне нравится видеть, как при загрузке ПК запускаются процессы: не нужно гадать, что именно происходит внутри, ты это наблюдаешь.
Один из самых ярких примеров этого можно наблюдать в пакете Google Docs (который в остальном весьма функционален и бесценен), когда ты просишь программу преобразовать электронную таблицу в формат Google Sheets:
Нам показывают экран с логотипом Google Docs и повторяющийся узор, который сменяет четыре фирменных цвета Google. Программа что-то делает? Пожалуй. Корректно ли она это делает? Возможно. Будет ли этот процесс завершён? Неизвестно. Для уважающего себя пользователя каждое изменение этой нелепой иконкой цвета сравнимо с плевком в лицо. Всякий раз, наблюдая это, я всё больше привыкаю к практике сокрытия фактического функционирования системы от пользователя и даже к идее о том, что я не достоин знать эту информацию. Это путь к тоталитаризму.
▍ Рекомендации
И я не думаю, что это легко. Я понимаю, что проектирование ПО и пользовательских интерфейсов подразумевает компромисс между несколькими задачами: богатой функциональностью (что зачастую ведёт к сложным UI), простотой использования (которая обычно означает сокращение функциональности или её сокрытие), гибкостью и многими другими.
Могу описать всё это так:
- Существует бесконечное множество продуманных логических операций (то есть нет предела числу не противоречащих друг другу логических выражений (например, A ⊃ B (множество А содержит В)), которые можно определить.
- Конкретные языки программирования позволяют использовать часть таких выражений, ограничиваясь возможностями аппаратного обеспечения (даже если возможно реализовать некую функцию, для её завершения может потребоваться неоправданно много времени (или бесконечность)).
- Системные архитекторы, программисты и другие специалисты реализуют в своём ПО часть из всех возможных операций, опираясь на пункт 2.
- Системные архитекторы, программисты и прочие специалисты в соответствии со своими приоритетами создают пользовательские интерфейсы, которые позволяют нам использовать подмножество из пункта 3.
Им необходимо где-то провести черту. Похоже, что создатели ПО сделали излишний упор на красоту и простоту использования, очень малый на свободу и в некоторых случаях полностью лишают пользователя возможности понимать, что конкретно происходит. Я не прошу программное обеспечение, которое предоставит мне все возможные операции во всей их полноте. Я лишь прошу такое, которое будет рассматривать меня как взрослого.
Вот несколько рекомендаций:
- Похоже, присутствует скрытое убеждение, что в случае изменения компанией интерфейса пользователь должен спокойно разобраться в нём без малейших усилий. Особенно это касается инструментов, предназначенных для не-экспертов. Такой подход похвален, но в его результате системы зачастую становятся настолько простецкими, что мы начинаем взаимодействовать с ними бездумно и доверчиво. Пожалуй, некоторый порог освоения всё же должен присутствовать.
- Прочь фиговые листочки: сокрытие описания прогресса под анимированной иконкой явно того не стоит.
- Думаю, что модель окупаемости и заработка за счёт рекламы является ошибочной, в ряде случаев однозначно. Если брать ситуацию с YouTube, то сложно жаловаться на приложение, за которое я не плачу. Что же касается оплачиваемых мной программ, например, Notion, то они куда менее высокомерны. Те, за которые я не плачу традиционным способом, и которые не опираются на рекламу, вроде GNU/Linux, Libre Office, Ardour и так далее, созданы людьми, настолько ценящими открытость, доступность и свободу, что готовы трудиться за идею. Возможно, нам следует всё же начать платить за различные сервисы и стать более требовательными в отношении наших ценностей. (Открытое/опенсорсное ПО спонсируется множеством способов, которые сложно проанализировать).
Всё сказанное важно, потому что рассматриваемые интерфейсы выполняют работу диктатора и цензора, а мы принимаем последствия. Помимо вызова чувства негодования, они учат нас принимать строгие ограничения в обмен на некое баловство или несуществующую простоту использования либо представляют фиговый листочек, прикрывающий реально происходящие процессы.
Большинство людей делают то, что, как им кажется, возможно или допустимо. Считаете ли вы, что люди не стали бы использовать функцию «поделиться» в Instagram, если бы она там была? А что насчёт рекурсивных функций отменить/повторить, которые формируют возможные версии документов? Или реальных гиперссылок, которые не ломаются при изменении целевого URL?
Свои ожидания по расширению горизонтов наших возможностей мы возлагаем на инноваторов, которые по факту из практически безграничных возможностей составляют ограниченные приложения. Программисты, архитекторы систем, бизнесмены и другие люди делают выбор за нас, обуславливая наше восприятие того, что возможно. И если они делают это грамотно, то оказываются освободителями. А если халтурят, то наше развитие тормозится.
Некоторые из этих решений со временем только ухудшаются и доминируют в ряде самых популярных (и полезных) систем. Расширяющие сознание возможности технологий скручивают в оскорбительную позу, замкнутую в тесном пространстве, но не силой, а потому что внешне это пространство красиво и легкодоступно, а выборы делать тяжело.
Telegram-канал со скидками, розыгрышами призов и новостями IT 💻