Дизайн и интерфейсы

Взаимодействие машин и людей. Интерфейсы и пользователи.

Хром и закрытие окна

Chrome под macOS (как и другие продукты Гугла) считает, что введенный пользователем текст — это важно, а открытые пользователем вкладки — это не очень важно. Поэтому можно нажать на “Close” (красная кнопка в углу окна), и окно со всеми вкладками закроется без предупреждений. Вкладки можно восстановить одну за одной нажатиями Cmd+Shift+T.

Я никогда не пользуюсь кнопками в окнах, но для многих — это проблема. Я погуглил и нашел кучу жалоб и попыток что-то сделать. Раньше Гугл поддерживали специальное расширение Chrome Toolbox с расширенными настройками, но потом его перестали поддерживать, сославшись на то, что все нужные настройки будут в самом приложении. Но “Warn before closing multiple tabs” так и не появилось в самом Хроме.

Один дурацкий способ защититься от этого — открыть страницу, которая переспрашивает о закрытии. Браузеры так ведут себя по умолчанию, например, в формах: попробуйте начать вводить текст где-нибудь, и закрыть вкладку. Браузер спросит “Вы уверены?”. Такое же поведение можно эмулировать без форм JavaScript’ом.

Я сделал простую страничку, которая предупреждает о своем закрытии. Можно открыть ее, закрепить вкладку (pin tab) чтобы не мешалась, и работать. Если попытаться закрыть окно, то браузер переспросит:

chrome exit confirmation

Возможно, это плюс, но: это диалоговое окно вызывает какую-то повышенную когнитивную нагрузку. Моментально не получается понять, что нажимать — Leave или Stay. Эти слова из разряда «вообще, понятно, но в данной ситуации — шта».

Заходите: https://rakh.im/chrome-stop-closing/

UPD:

1. Оказывается, у многих еще проблемы со случайным закрытием через Cmd+Q. Тут решение намного проще: в меню Chrome можно поставить галочку Warn Before Quitting (снова оцените дизайн интерфейсов Гугла: настройка не в настройках, а в меню):

chrome exit confirmation

Еще дополнительный способ защититься от случайного закрытия любого приложения — это изменить комбинацию клавищ для конкретного приложения на уровне настроек ОС:

chrome exit confirmation

Я сделал Cmd+Alt+Q для закрытия, и случайно так уже не нажму.

2. Советуют включить настройку «при запуске открывать ранее открытые вкладки». Это хорошо, но речь идет про закрытие окна, а не закрытие Хрома.

Пользовательский ввод — это не только текст

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

Сегодня такого уже почти не встретишь. Все научились и привыкли, что так делать нельзя. Это правило — последствие более общего правила дизайна интерфейсов: пользовательский ввод бесценен, нельзя его никогда терять.

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

Я снова про Гугл, да. Ну, по продуктам Гугла можно писать книгу о плохом дизайне, что тут поделаешь.

Гугл Хромкаст позволяет «вещать» видео и аудио с разных сервисов на телевизор. Я им постоянно пользуюсь, но он меня совсем не уважает, и плюет на ту информацию, которую я ввожу. Если запустить ютуб-видео и поставить его на паузу, то через минут 15 оно просто сбросится, и Хромкаст выйдет из режима ютуба в режим «заставка с часами». Выбранное мной видео было моим пользовательским вводом, и Хромкаст зачем-то решил его забыть и заменить по определению не важным — заставкой с часами. Заставка нужна чтобы не показывать скучный черный экран, а не заменять собой саму суть устройства.

Такое же поведение будет, если собрать плейлист и остановить воспроизведение. Сбросится и забудется целый плейлист!

Любая информация, переданная от пользователя машине, и любая инвестиция ментальной энергии пользователя — также бесценна, как и текст в формах.

Давайте не делать как у Гугла

Обычно к Гуглу есть одна глобальная претензия: любовь корпорации собирать личную информацию. Это большая и важная тема, но меня удивляет отсутствие другой глобальной претензии: ответственность за дизайн и его последствия.

Я считаю, что любая крупная компания, создающая продукты (не важно, программные или физические) ответственна за то, как дизайн продуктов влияет на само восприятие дизайна. Гугл – отличный пример, потому что их продуктами пользуются миллионы, и эти продукты часто ставят в пример. Разработчики часто стараются сделать “как у Гугла”, потому что так и людям привычнее, и, вроде как, правильнее. Раньше это было неявное влияние, а теперь – прямое: Гугл в какой-то момент стал платформой для веб-приложений (Chrome) и мобильных приложений (Android), и придумал фреймворк для взаимодействия пользователей и машин – Material Design.

Теперь “делать как у Гугла” не просто хочется, а необходимо.

Проблема в том, что у всех реальных продуктов Гугла ужасный дизайн интерфейсов. Массовые и корпоративные, веб и мобильные – везде хаос и запутанность. Каждый раз, когда нужно сделать что-то в Гугл Драйве или админ-консоли G Suite, я просто теряюсь. Ни опыт, ни интуиция не помогают, я чувствую себя пенсионером, которому впервые показали компьютер. Несколько лет я пользовался Андроидом (чистым, на гугловском Нексусе), но до последнего не мог привыкнуть что является кнопкой, а что текстом.

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

Конечно, возможно, это я такой странный. Но я не один такой.

Недостатки дизайна продуктов конкретной компании – это не глобальная проблема. У Гугла мало конкуренции, поэтому приходится пользоваться их продуктами, но это тоже вопрос третий. Меня волнует в первую очередь этот эффект “сделать как у Гугла”.

Вместо того, чтобы разрабатывать объективно хороший пользовательский опыт, часто более выгодным решением становится разрабатывать максимально похожий на Гугловский пользовательский опыт. Это не потому что разработчики такие плохие или ленивые. Это не потому, что пользователи такие плохие и любят лажу. Это просто работает, и система сама себя подпитывает.

Сложно хвалить Эппл и ругать Гугл, потому что там, где у Гугла дурацкие интерфейсы, у Эппла – баги и бессмысленные ограничения, но если говорить исключительно о дизайне интерфейсов, то Эппл как раз пример того, как влияние на пользователей и разработчиков может взращивать целые поколения хороших продуктов. Среднее приложение в экосистеме Эппл – лучше и удобнее среднего приложения в экосистеме Гугл.

Такая ответственность за влияние на восприятие “нормальности” есть у любой большой компании и индустрии в целом. Мы привыкли к непонятным интерфейсам стиральных машин и микроволновок. Поэтому новая стиральная машинка будет тише, эффективнее и красивее, но крутилки и иконки скорее всего так и останутся какими-то инопланетными. У производителя нет мотивации что-то улучшать в этом плане – они делают “как у Гугла” своей индустрии.

А Гугл любой индустрии неизбежно ухудшается со временем.

Продукты пока не для людей

Помните, когда ваши родители и другие далекие от ИТ люди пытались пользоваться вашим Windows 95 или каким-нибудь Norton Commander’ом, или копировали ярлык программы на дискету, удивляясь, что туда поместились все игры и еще место осталось. А вы стояли рядом и думали, что человек вообще ничего не понимает в компьютерах и тыкается просто как слепой котёнок в надежде, что эта волшебная машина каким-то образом все поймет. Это были времена, когда программисты делали продукты для программистов.

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

Сегодня наступили времена, когда программисты делают продукты для людей считают, что делают продукты для людей.

Это не круто и не искренне. Сейчас слепым котёнком себя чувствуют все — и программисты и простые люди. Нужно учиться или просто запоминать, как пользоваться каждым сайтом и приложением. И речь не столько про мелкий софт, сколько про самые массовые штуки: все интерфейсы Гугла это хаос и безумие, Фейсбук это безумие и бардак, Андроид это бардак и головокружение. Попытки выполнить любую не базовую, не самую примитивную операцию похожи на классические пиксель-хантинг игры-квесты: А что если нажать сюда? А это кнопка? А это можно потянуть? Ой, это текст, но он кликается, а это кнопка, но она не кликается…

Общее впечатление от работы с современными интерфейсами это сон. Знаете, как во сне пытаешься бежать, и ничего не получается. И все хаотически меняется и ничего не имеет смысла. А Гугл и Фейсбук все это изучают, делают АБ-тестирование и думают «хмм, а если подвинуть кнопку влево, то в полтора раза больше людей нажмут на нее в первую минуту». И выходит новая версия плохого интерфейса.

Программистам сложно делать по-настоящему безболезненные продукты, потому что чтобы стать программистами, мы долгое время последовательно и упорно страдали. Такова реальность — сегодня нужно съесть много говна чтобы стать программистом. И толерантность к боли у нас намного выше, и это влияет на то, как мы проектируем продукты и интерфейсы.

Я говорю, конечно, об инструментах программирования: языках, библиотеках, фреймворках. Перед тем, как дать волю своей креативной энергии или углубиться в интересные абстракции информатики, нужно сначала совладать с версиями, зависимостями, несовместимостью, багами, апдейтами и прочей случайной сложностью (accidental complexity). И это замкнутый круг, потому что инструменты программирования делают такие же программисты.

Естественно, программисты не от любви к боли все это терпят, и постоянно стараются улучшить ситуацию. К сожалению, очень часто за это платят пользователи: архитектурные решения, принятые на основе удобства разработчика, влияют на пользовательский опыт, дизайн и интерфейсы. Мой любимый пример — текстовый редактор Атом. Текстовый. Работает с видимой задержкой и тормозами на безумно мощной, многоядерной, многогигабайтной машине. Хуже, чем 30 лет назад. Потому что Электрон — удобный инструмент разработчика.

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

Открытые протоколы

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

Среди прочего, мы получили две важные концепции, на которых основаны все современные технологии и интернет:

  1. Слои абстракции.
    Эта идея позволяет нам, например, переключиться с Wi-Fi на кабель, при этом интернет как работал, так и продолжит работать. Браузер не узнает, что беспроводной доступ изменился на проводной. Более того, браузер никогда и не знал о том, откуда к нему приходит информация.

  2. Открытые протоколы.
    Эта идея позволяет нам, например, отправлять почту с Gmail на Yahoo, читать ее в разных клиентах и не думать о том, какая компания обрабатывает почту собеседника.

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

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

Мгновенные сообщения

Раньше был популярен открытый протокол для обмена сообщениями (XMPP). Его использовал Гугл в своем Google Talk, и люди могли использовать любые подходящие приложения-клиенты. При желании можно было написать свой клиент. И гугловское приложение было еще одним клиентом.

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

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

Представьте себе ситуацию, что для отправки письма на [email protected] вам придется заводить почту на yahoo.com. Нельзя отправить туда письмо с Gmail. Безумие? Конечно. С мессенджерами то же самое. Совершенно бессмысленное безумие.

Нет никаких Hangouts, Telegram, WhatsApp или Viber. Есть понятие мгновенных сообщений в интернете, и есть протокол, который нужно развивать. Я не против стикеров, ботов и шифрования. Но все это можно сделать сразу и для всех.

Почта

Электронная почта — практически последний оплот открытых протоколов. Но Гугл уже так изменил внутренности Gmail’а, что сегодня они не удовлетворяют стандарту IMAP. Именно поэтому пользоваться Gmail’ом в сторонних клиентах это очень часто боль.

Фичи Google Inbox вроде отложенных напоминаний делают из электронной почты закрытое приложение «электронная почта».

Это все «у нас отняли». Давайте теперь пофантазируем, что нам могли бы «дать» новые открытые протоколы и стандарты.

Документы и заметки

Раньше для заметок я использовал Evernote. Потом перешел на nvALT с текстовыми файлами. Это хорошее решение, но иногда возможностей не хватает. Хочется хранить картинки и другие медиа, например.

Evernote, oneNote, Apple Notes, Google Keep — все хранят заметки в своих внутренних форматах. Мигрировать с одной системы в другую очень сложно. Вашими данными владеет компания, а вы арендуете к ним доступ.

С документами у меня вообще хаос. Если есть выбор, то мне нравится использовать стандартный Pages.App в Mac OS. Все, что нужно расшаривать, уходит в Google Docs. Ну, и, конечно, всегда есть тот самый чувак, который присылает что-то в .doc.

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

Книги, музыка и видео

Фильмы, сериалы, музыка, книги и другое медиа обычно привязано к магазину. Некоторые сериалы можно посмотреть на Netflix (если вам повезло со страной проживания), некоторые — на HBO Online, а некоторые на iTunes. При этом необходимые для просмотра приложения тоже у каждого источника свои. Хочешь платить много денег и смотерть все, всегда и удобно? Извини, нет. В лучшем случае придется платить много и смотреть кое-что, иногда и неудобно.

Это немного другая тема, но идея та же: представьте себе, что нет «музыки на Spotify» или «книг на Amazon». Есть просто песня. Или просто книга. И книгу можно купить в разных магазинах. Но в итоге вы получите не право транслировать ее на определнное устройство, не доступ к приложению, а… книгу. Которую сможете почитать где угодно и как угодно.

Другое

Интересно представить себе универсальный протокол для планировщиков задач. Todo-приложения бывают самые разные, но, может быть, есть возможность создания универсального формата. Задача, дедлайн, время, иерархия, ответственность, шаринг… Ведь это не фантастика.

Что делать

Я не знаю.

Крутые технологии и крутые продукты

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

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

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

Можно сказать, что это проблемы Эппла или Андроида, можно вспомнить, как легко делать бэкап и восстановление внутри экосистемы iOS, или долго рассказывать про все плюсы Google Photos или iCloud. Это все здорово, но на другом уровне абстракции. Речь идет о фотках. Не о файлах, не о системах, не о приложениях и веб-сервисах. Фотки. Для конечного пользователя фотки это фотки, а все остальное — какие-то непонятные и неизбежные усложнения.

Не поймите меня неправильно, современные технологии подобны магии и это охренительно. Но важно помнить, что взаимодействие между людьми и техникой все еще очень примитивно. Легко убедить себя, что будущее наступило, сравнивая современную ОС с каким-нибудь MS-DOS. Но тот факт, что раньше фотки приходилось копировать вручную дискетой, а сейчас фотки можно скопировать автоматически через облако это примерно такой же прогресс, как от лошади к автомобилю. Колоссальное движение вперед, но концептуально — не решение проблемы.

Возможно, стоит избавиться от острой необходимости вообще ехать куда-то. Тогда не нужна ни лошадь, ни автомобиль.

Или нужен телепорт, да.

the dawn of man

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

Поэтому мне не нравится популярная сейчас идея «все должны уметь программировать». Эта идея подразумевает концептуально нехороший мир. Что-то вроде «все должны уметь класть асфальт». Дороги важны, но если всем необходимо уметь их строить, то с нашими дорогами что-то фундаментально не так.

К тому же, дороги сами по себе не являются ценностью, они являются инструментом, как и программирование и компьютерные навыки.

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

P.S. По счастливой случайности у меня нашлись почти все фотки, которые были на старом мамином телефоне. И самым простым способом помочь маме удаленно в итоге стало скидывание отдельных фоток с моего компьютера ей в WhatsApp. Вот такое будущее.

Проблема с оценками в интернете

В последние годы стараюсь минимизировать влияние на себя пользовательских оценок (рейтингов, звездочек, лайков) к приложениям и контенту в интернете. Это сложно. Я автоматически реагирую на рейтинги видеороликов на ютубе, оценки к фильмам на IMDB, звездочки в магазинах приложений. Мне некомфортно покупать книгу без просмотра оценок и отзывов на Goodreads, а товары я сверяю с Амазоном. Это часто бывает полезным, но мне этот механизм не нравится.

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

Практическая проблема состоит в том, что оценки очень часто не являются корректными. Тут несколько случаев:

  1. Оценка без использования. Не посмотрел либо не досмотрел видео или фильм, но поставил оценку.
  2. Оценка не того. Особенно распространено в интернет-магазинах — оценивают не товар, а доставку, упаковку, техподдержку.
  3. Оценка как способ коммуникации. Наверное, видели в магазинах приложений для телефонов: «все ок, но ставлю три звезды, поставлю пять когда добавите розовые кнопки».
  4. Оценка личного восприятия, а не качества. Не согласен со статьей — минус. Но плюсы и минусы задуманы как оценка качества статьи, ее читаемости, интересности, а не как опрос мнений.

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

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

Перед тем как покупать книгу или билет в кино или приложение для телефона, попробуйте провести мысленный эксперимент: выберите первого попавшегося незнакомого человека на улице и представьте, что спрашиваете у него «как считаете, стоит мне купить это?». Получается как-то глупо. Ну какая мне разница, что этот человек скажет? Я ведь его вообще не знаю. В интернете мы не представляем живых людей, мы представляем абстрактные оценки в вакууме, и это дает иллюзию повышенной объективности.

Отдельная забавная мысль: было бы круто, если бы оценки ставились автоматически. Купил приложение «планировщик дел», а через месяц смартфон понимает, что благодаря функциям этого приложения пользователь перестал опаздывать на встречи (на основе календаря и геолокации), исчезли постоянные смс-ки с оправданиями и извинениями. Значит, приложение помогло, можно оставить ему автоматическую оценку.

Когда не доверяешь интерфейсам

Неудобный интерфейс это плохо. Но еще хуже это такой интерфейс, которому не доверяешь.

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

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

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

Кстати, кнопкой K всегда можно поставить видео на паузу, а кнопками J и L перематывать его вперед и назад.

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

Интерфейс это зло, и чем меньше ментальных ресурсов оно требует, чем меньше привлекает к себе внимания, тем лучше.

Объясни это инопланетянину

Мне нравится использовать прием «объясни инопланетянину» каждый раз, когда я сталкиваюсь со странными вещами. Это помогает осознать глупость, которая окружает нас почти везде.

Вот послали вас с седьмой инстанции в восьмую, чтобы поставить печать на бумажке, которую выпустила вторая инстанция после подтверждения вашей доверенности у нотариуса. Остановитесь и представьте, что прилетел инопланетянин, который ничего не знает о людях, земле, нашей культуре и проблемах. Он умный, но ничего не знает. Попробуйте объяснить ему что вы сейчас делаете и почему. Бегу за печатью на бумажку. Она нужна, чтобы эту бумажку приняли в другой инстанции. «А почему ее там не принимают без печати?», спрашивает инопланетянин. Нуу… потому что без печати невозможно доказать, что ее приняли в этой инстанции. «А зачем нужно доказывать это?». Нуу…

Очень, очень часто такие рассуждения приводят к выводу, что смысл был утерян еще много лет назад. В конце концов вам придется сказать инопланетянину «да, это не имеет смысла, я играю в игру, правила которой придумали умственно отсталые слизни».

Обновление плеера ютуба

Помните я писал про дурацкий интерфейс ютубовского плеера? Вспомните такое утверждение:

Каждое обновление интерфейса продуктов гуглов добавляет движений и кликов пользователю.

Ну, гугл обновили интерфейс плеера. Теперь вместо действий кнопки открывают дополнительные панели (мы ведь все любим дополнительные панели?) Кнопка “СС” невнятного поведения выдает нам такую панель:

Непонятное выпадающее меню, переключатель “On/Off” (мне потребовалось некоторое время чтобы понять его текущее состояние) и ссылка, которая открывает дополнительные настройки. Если нажать On или Off, то эта панель закрывается и ничего не происходит. Вообще ничего. Положение переключателя даже не изменится. Чтобы на самом деле включить субтитры нужно в непонятном выпадающем меню выбрать язык:

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

Вот сейчас уже можно нажать на переключатель и отключить субтитры! Если это сделать, то мы вернемся к первому состоянию панели:

Screen-Shot-2013-09-13-at-6.26.32-PM.png

В меню выбран дефис, переключатель снова на On. Клик на переключатель в этом состоянии снова ничего не дает. Получается, переключатель вообще не может быть в состоянии Off. Так зачем же он нужен? Чтобы вернуть в меню дефис вместо выбранного пользователем языка. Понимаете, какая хитрая схема? Чтобы отключить субтитры нужно выбрать дефис в меню языков, но сделать это нужно кликнув на переключатель On/Off, который сработает, но все равно останется в On.

Что мешает выбрать дефис в меню самому, так же, как мы изначально выбрали язык? Его отсутствие!

Дефиса среди пунктов вообще никогда не было, первым пунктом был “Translate Captions”. Выбрать его можно только после того, как вы выберете другой язык.

Кликаем на “Options” в панели субтитров, видим такую панель

Можно выбрать шрифт для субтитров, но если вы кликнули на это меню, то закрыть его сможете только выбором шрифта или нажатием кнопки “Done”. Даже логичное “Reset” не закроет меню, не говоря уже об очевидном клике в другое место. Проблема тут еще в том, что текущий выбранный шрифт никак не выделяется в открытом меню. Вот вы кликнули в меню, оно открылось, вы посмотрели какие шрифты доступны, но решили оставить все как есть. Вам нужно вспомнить какой шрифт был выбран, найти его в меню (скролл в котором не работает, можно только тянуть ползунок справа) и кликнуть на него. Все эти движения нужны только для того чтобы ничего не менять.

Под меню шрифтов находится кнопка “Background”, я не понял что она делает. Нажимаю, ничего не происходит. Потом дошло, что это включение цветовой подложки субтитров. Если субтитры отключены или в данный момент видео их просто нет на экране, то нажатие на “Background” не даст никакого отклика. А отклик должен быть всегда.

Ниже находится жесточайшая палитра выбора цвета (обратите внимание на отступ между словами “Foreground” / “Background” и самой палитрой). Ну и попробуйте не приглядываясь определить какие цвета выбраны.

В правом углу можно включить скроллинг субтитров (это когда они появляются на экране по одному слову вместо целых строк) и… ммм… плюс и минус. Видимо, это скорость скроллинга? Опять же, если на экране в данный момент нет субтитров, то понять зачем нужны плюс и минус сложно. Оказалось, они нужны для изменения размера шрифта. Логичнее было бы поставить эти кнопки рядом с меню выбора шрифта. Это ведь уже универсально понятное расположение: шрифт слева, размер справа.

Скроллинг субтитров – самый адский элемент в этом окне. Во-первых, зачем его сделали в виде меню? Это же вкл/выкл, можно применить тот же самый “On/Off” который с горем пополам вставили в панель субтитров! Во-вторых, у этого меню та же проблема, что у меню шрифтов: в открытом состоянии не видно выбранного сейчас элемента, и закрыть меню чтобы вернуть все как было – нельзя. В-третьих… это нужно видеть. Вот я открыл окно настроек, скроллинг по-умолчанию выключен:

Вот я кликнул на это меню и там где было Off вдруг стало On, а Off оказался ниже! Что происходит? Что это значит?

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

Ну и напоследок: если нажать на “Account Playback Settings”, то новая страница откроется вместо текущей (а не в новой вкладке) без каких-либо предупреждений. Что вы там смотрели или настраивали – все пропадет. В новой вкладке эту ссылку открыть в принципе невозможно, ни cmd/ctrl+click не работает, ни контекстное меню не дает привычного для ссылки варианта “открыть в новой вкладке”.

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

Но если задуматься, то добавили не один, а потенциально – два клика. Смотрите, раньше чтобы включить аннотации нужно было кликнуть на кнопку один раз. И все. Кликнул второй раз – выключил. Теперь нужно открыть панель и кликнуть на переключатель там. Но если вы не ставили видео на паузу, то панель эту нужно закрыть (если ставили на паузу, то проигрывание автоматически закроет панель). Закрытие панели это еще один клик.

Ох, гугл…

Поиск по сайту из адресной строки

В Хроме и других браузерах относительно недавно появилась возможность делать поиск по сайту прямо в адресной строке еще до посещения самого сайта:

нажимаем Таб и…

Круто, очень удобно. Но мне постоянно хочется сделать то же самое, например, с images.google.com или google.com. Понятно, что поиск по сайту images.google.com это бессмысленное дело, я хочу искать картинки в интернете.

А в Яндексе это работает!

Постоянно пользуюсь их словарями таким образом.

И вообще, почему только поиск? Из этого можно сделать удобный инструмент для быстрого выполнения некоторых операций. Например, в Gmail’е можно было бы делать команду для быстрого создания письма. Ввел в командной строке mail.google.com → TAB → new → ENTER и попал в редактор.

Про гугловские интерфейсы

Я люблю Гугл, но некоторые детали их пользовательских интерфейсов жутко бесят. Взять к примеру плеер на Ютубе:

Первые четыре кнопки справа (полный экран, две кнопки для двух размеров плеера и “смотреть позже”) – с ними все понятно.

Следующая кнопка – шестеренка для выбора разрешения видео. Помните раньше разрешение было всегда видно:

Теперь чтобы узнать какое качество вы наблюдаете – нужно нажать на кнопку. Единственное, что показывает сама кнопка – HD или не HD, но HD это любое разрешение выше 720p.

Ну, ладно, с другой стороны это имеет смысл: зачем ((http://freetonik.com/blog/all/being-a-user/ пользователю)) знать про какие-то технические числа? Меня больше волнует поведение этого меню. Кликнув на шестеренку мы видим вот это:

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

Но слева от шестеренки есть меню для субтитров. Вот оно-то и сводит меня с ума. Если по-умолчанию у вас субтитры отключены, то первый клик на “СС” включит субтитры и откроет меню.

Это уже немного странно: я включил субтитры, что это еще за панель настроек появилась? Там куча информации: какие-то настройки, что-то там бета, автоматический английский и просто английский в данном примере (я должен знать или догадаться что это значит), выключение субтитров… при этом видео не останавливается, а от меня ожидают разделить свое внимание на две зоны.

Почему включение субтитров было нажатием на кнопку, а выключение возможно только из меню? При этом соседняя кнопка для управления аннотациями работает как ожидается: клик включает аннотации, второй клик отключает. Почему кнопка “СС” сначала включала что-то и вызывала меню, а теперь только вызывает меню? Получается, чтобы понимать что повлечет за собой нажатие кнопки нужно как минимум знать была ли она нажата до этого.

При нажатии на первый пункт (Настройки) меню субтитров закрывается, и открывается окошко настроек, закрывающее пол экрана. При этом видео не останавливается.

Если в случае с меню их еще можно простить, то тут уж никак: такая хрень обязана останавливать видео.

Но главная проблема меню субтитров: оно не ведет себя так, как остальные меню. Оно не исчезает по клику в другое место! Рядом можно даже открыть соседнее меню.

Есть только два способа закрыть меню субтитров: выбрать любой пункт меню или нажать на саму кнопку “СС”.

Если вызвать это меню при открытых настройках субтитров, то оно наполовину закрывает кнопки “Reset” и “Done”:

Ну, если постараться, то все же можно по ним попасть. Попробуйте. О боже! Клик на эти кнопки скрывает ненормальное меню субтитров! Это единственный случай когда это меню ведет себя как ожидается. При этом сам клик по кнопке ничего кроме скрытия меню не делает: чтобы на самом деле сбросить или сохранить настройки придется кликнуть на кнопку еще раз.

Уф… Я уже не говорю о том, что кнопка “Reset” не скрывает окно настроек, а кнопка “Done” скрывает.

На левой стороне есть еще одна деталь, которая жутко бесит: регулятор громкости.

Зачем нужно было его скрывать? Там мало места? Было ведь когда-то (еще в бета-версии, кажется) нормально:

Каждое обновление интерфейса продуктов гуглов добавляет движений и кликов пользователю. Взять, к примеру, поиск по картинкам. Раньше можно было выбрать размер двумя кликами: клик по меню и выбор нужного размера. С недавнего времени кликов стало три.

К этим меню у меня тоже много претензий. Первые три пункта – фильтр поиска: хочу искать по вебу, или картинки или видео. Картинки и видео как бы тоже в вебе, ну да ладно, мы вас поняли. Четвертый пункт – меню других фильтров. Опять видимо не хватило места, пришлось загнать в меню. Ладно, ради чистоты интерфейса, мы вас поняли. Последний пункт выглядит как первые три, а не как меню, при этом является чем-то вроде меню: открывает полосу с… новыми меню… Отличить этот пункт от первых трех можно только при наведении: в этом случае он превращается в кнопку и как будто говорит: “а ты чо думал, я такой как они?”

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

Если с размером, цветом, типом и временем все понятно, то последний пункт я до сих пор не понимаю. Больше инструментов поиска?

Можно выводить все результаты, а можно показывать размеры. Или зеленое или холодильник. Выбирайте.

С включенными размерами под картинками просто выводится размер:

Если выбрать “Show sizes” то меню “More tools” переименовывается в “Show sizes”, но если выбрать “All results” то меню становится снова “More tools”, а не “All results”.

В правой части страницы есть кнопка-меню-мутант: в ней что-то от простого меню и что-то от кнопки, в которую превращается “Search tools” при наведении. После клика они выглядят идентично (не считая стрелочки которая досталась ей от меню):

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

Справа от нее есть кнопка настроек, которая на самом деле тоже меню:

Чуть выше на правой стороне есть еще четыре кликабельных элемента: мое имя, колокольчик, кнопка + и моя фотография со стрелочкой, которая с переменным успехом означает меню на этой странице. Клик по первому пункту (просто строчка текста) и последнему пункту (картинка со стрелочкой) вызывает меню аккаунта.

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

Таких деталей у Гугла полно, это я еще не пользуюсь Андроидом. Собственно, потому и не пользуюсь.

Почта как инбокс

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

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

Твиттер и рсс я читаю с телефона и планшета, поэтому большая часть писем отправляются себе именно с этих устройств. Вводить постоянно “freeto” в адресной строке не удобно (если вводить меньше букв или начало своего имени то в записной книжке находятся еще несколько имен). К тому же можно ошибиться и отправить письмо другому человеку. В лучшем случае он не ответит, и ты просто потеряешь эту информацию, потому что скорее всего забудешь об отправке. В худшем – твоя мама получит от тебя письмо со ссылкой на “Введение в зоофилию”.

Придумал для себя такую штуку: контакт с именем qp и моим адресом электронной почты. qp удобно вводить – буквы находятся далеко друг от друга на клавиатуре смартфона, в них легко попасть (они ведь на самом краю), а настоящего контакта с подобным именем у меня нет и появление его маловероятно.

Теперь посылать себе письма можно быстрее удобнее.

Даты для людей и машин

Часто вижу даты, предназначенные для машин, в текстах, предназначенных для людей. Зачем это делают – непонятно, видимо, такой же побочный эффект компьютеризации как дефис вместо тире.

В человеческом языке у месяцев есть названия, и все в любом случае переводят “7” в “июль”, а 12 – в “декабрь”. Вот только не знаю как у остальных, а меня все время напрягают некоторые номера, например, 3, 4, 8, 9, 10. Не конвертируются мгновенно, приходится пересчитывать в уме. Ну, может у глупенький. Но суть в том, что сначала человек переводит с человеческого на машинный, а потом я перевожу в голове с машинного на человеческий.

Если не согласны, можете написать комментарий, но читаю я их в следующие дни недели: 3, 4, 6.

Информация о еде на упаковке

Жутко бесит информация о еде на упаковках в СНГ. Она оформлена так, чтобы никто ее не читал.

Почему за столько лет нельзя было унифицировать на юридическом уровне как это сделано, скажем, в Северной Америке? Там абсолютно на всех съедобных товарах должна быть такая таблица:

Существуют четкие гайдлайны. Все предельно ясно даже мне.

Быть пользователем – счастье

На летних каникулах после 9 класса я работал верстальщиком в небольшой газете в Уральске, а заработанные деньги потратил на свой первый “фотоаппарат”. В кавычках потому что это была скорее веб-камера. В то время я еще выпускал любительский электронный журнал Фритек и написал там радостную заметку про это чудо.

«Мустэк», как мы называли его с другом Женькой, мог держать в себе только 30 фотографий, и те только пока есть заряд. Села батарейка – все данные стерлись. Мы выезжали в лес или на берег Урала на велосипедах, делали фотографии, а потом спешили домой пока не села батарейка. Мы быстро привыкли к тому факту, что за уровнем заряда нужно следить. Приходилось опытным путем рассчитывать сколько минут еще протянет камера. Нужно было думать и быть всегда начеку.

Потом у Женька появилась другой фотоаппарат, в миллион раз лучше. В ней была нормальная СД-карта и фотки, конечно же, не стирались. Но батарейки расходовались быстро, даже при выключенной камере. “Это все часы”, говорил мне Женек и вытаскивал батарейки из камеры пока мы ехали до нужного места. Так мы растягивали время работы на несколько часов. Нам снова приходилось думать.

В те моменты я начал задумываться какое же это счастье – быть пользователем. Быть тем, на кого рассчитаны руководства по эксплуатации, быть счастливым персонажем из рекламы. Если вы хоть что-то понимаете об устройстве (и тем более если вы инженер, программист или просто технарь), то вы почти никогда не можете быть пользователем. Вы будете обречены на оптимизацию, додумывание, поиски и решения проблем.

Единственная компания, с техникой которой я чувствую себя пользователем это Эппл. Это касается и железа и программ. Последние несколько лет я не задумываюсь о модах, прошивках, сервис-паках, батарейках, драйверах и прочей ерунде. Я пользуюсь.

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

Быть пользователем – счастье, и если вы делаете продукт, в котором можно оставаться пользователем и не страдать по этому поводу, то вы делаете все правильно.

Бездушный формализм

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

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

Повышенная религиозность и национализм после развала СССР, мне кажется, отчасти результат массового внедрения тех же принципов: люди привыкли, что кто-то бесконечно далекий от рабочего класса (рабов божьих) решает как им жить, равняет всех под одну линейку и делит на своих (одинаковых) и чужих (остальных). Вместо партии теперь церковь или гнилой национализм, вместо “ты что, беспартийный/иностранец/буржуй?” – “ты что, не русский/не казах/не православный?”. Нам больше не нужно быть одинаковыми, но мы цепляемся за любой способ не отличаться.

В странах где индивидуальность справедливо считается важным, города, штаты, провинции или округи называются по-людски. Сравните, что звучит душевнее, приятнее, красивее и человечнее: Онтарио или Восточно-Казахстанская область? Южная Каролина или Чукотский автономный округ? Квебек или Кызылординская область? У пустынь названия и то веселее. Ощущение что все эти бездушные наименования бездушных предметов, практически кодовые фразы сгенерированы роботами для роботов в целях эффективной классификации, хранения и сортировки информации.

В Северной Америке у каждого штата/провинции/территории свои красивые автомобильные номера:

В Казахстане недавно ввели новые номера. Как и раньше, для всех одинаковые. Области обозначены цифровым кодом.

В одном живут люди, в другом – население.

В некоторых банках и государственных организациях так и пишут: “пункт обслуживания населения”. Бездушно. Формально. Люди это личности, а населения это цифры. Населенный пункт – это вообще что? Пункт на карте, точка с координатами. В английском аналогичный термин – human settlement – поселение людей.

Этот формализм, конечно, является скорее следствием, нежели причиной, но в целом хорошо отражает отношение индивидов внутри населения.

Иконки папок в iOS

В iOS 5 и выше помимо клавиатур разных языков можно подключить клавиатуру Emoji с разными иконками, смайликами и прочими символами. Эти символы можно вставлять в любой текст. На одном несуществующем блоге увидел крутую идею: использовать их для заголовков папок!

На скриншоте можно заметить еще одну полезную фишку: папку можно перетаскивать в док.

Интересные горячие комбинации в Mac OS X

Одно из свойств продукции Эппл – огромное количество «скрытых» возможностей и функций. «Скрытых» в кавычках потому что они не по-настоящему скрыты, а просто мало кому известны, ведь чтобы пользоваться айфонами и маками не нужно читать документацию или настраивать кучу всего. Но если туда заглянуть, то можно найти много интересного.

Например, если изменять громкость или яркость с клавиатуры при зажатых Shift+Option, то вместо одного кубика прибавляется/отнимается четверть кубика, то есть можно настроить яркость и громкость намного точнее. А если изменять громкость с зажатой Shift, то изменение будет бесшумным.

Control+Option+⌘+8 перенесет вас в параллельную реальность (на самом деле это функция для людей с проблемным зрением).

В тексте с помощью Shift+Option+K можно ввести символ .

Попробуйте свернуть окно в док с зажатой кнопкой Shift.

Из юниксовых предков в Маке осталась функция kill и yank. Ее можно считать дополнительным буфером обмена, в который можно вырезать текст (но не копировать) и вставлять. Ctrl+K и Ctrl+Y, соответственно.

Файндер умеет подключаться к удаленным серверам, в том числе – ftp – с помощью ⌘+K.

К сожалению, в последней версии этой операционной системы некоторые комбинации изменились или вообще исчезли.

Desire path

Мы все видим и пользуемся тропинками, протоптанными людьми. В английском языке они называются desire paths или social trails. Зачастую, наличие таких тропинок в городских парках или просто на земляном или травяном покрытии означает изначально некорректное расположение дорожек настоящих.

desire path

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

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

eye tracking on websites

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

Desire path наблюдается во многих успешных технологиях. iPhone стал социальной тропинкой, ведущей в мир удобных: простых и многофункциональных смартфонов, Google стал социальной тропинкой в сторону быстрого качественного поиска…

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