Разрешить «бессмысленные» действия в интерфейсе

В одном из недавних видосов я говорил:

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

Я там привёл несколько примеров.

Как не надо

В Файндере несколько лет назад появилась команда New Folder with Selection (⌃⌘N). Если выделить несколько файлов или папок и вызвать её, она создавала новую папку, перемещала в неё всё выделенное и давала назвать папку. Похоже на функцию «Сгруппировать» в графических программах. Когда эта функция появилась, она работала только если изначально было выделено хотя бы два файла. Если просто курсор стоит на файле, «завернуть» его в папку этой командой было нельзя. Видимо, программист решил, что группировать один файл «нет смысла».

А у меня как у пользователя руки привыкли жать ⌃⌘N независимо от числа выбранных файлов, и для меня совершенно необъяснимо, почему в каких-то ситуациях это не работает. В более поздних версиях Макоса нелепое ограничение убрали.

В Фотошопе есть команда Copy Merged (⇧⌘C). Обычное Copy копирует выделенное изображение из текущего слоя, а Copy Merged копирует область выделения целиком, как если бы картинка была плоской, без слоёв. По загадочным причинам эта функция перестаёт работать, если картинка и так плоская, из одного слоя. Видимо, программист решил, что раз в этом случае обычное Copy делает то же самое, то делать Copy Merged «нет смысла».

А у меня как у пользователя руки привыкли жать ⇧⌘C независимо от количества слоёв в документе. Я вообще не осознаю, сколько там слоёв, я же их постоянно добавляю или склеиваю. То есть снова, для меня это просто выглядит так, будто функция иногда не срабатывает. Тут проблема усугубляется тем, что при копировании нет никакой обратной связи, поэтому ты даже не знаешь, что команда не сработала. Копируешь, идёшь в телеграм кому-то отправить, вставляешь — а там вставляется что-то, что у тебя до того в буфере обмена было.

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

И вот я вспомнил про ещё одно такое псевдобессмысленное действие.

На Маке есть сочетание клавиш ⌘H, которое означает скрыть текущее приложение. Я им пользуюсь постоянно: приложение остаётся в списке ⌘Tab, и если в него переключиться, то оно снова появится. Для сравнения, вызволять из Дока свёрнутое через ⌘M окно приходится с помощью мыши, да и анимация там утомляет. Так вот, Мак не даёт скрыть приложение, если оно последнее не скрытое. Видимо, программист решил, что в ситуации, когда не видно ни одного приложения, «нет смысла».

А у меня как у пользователя руки привыкли жать ⌘H независимо от того, сколько в данный момент в системе скрыто приложений, а сколько нет. Я вообще понятия не имею об этом! Вот передо мной последнее окно Файндера, я жму ⌘H, ожидая увидеть рабочий стол, а окно не пропадает! Можно было бы подумать, что это потому что рабочий стол сам является Файндером, но нет: если нажать ⌘H в Файндере, когда есть другие видимые приложения, окна Файндера без проблем исчезают.

Как надо

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

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

В Телеграме сообщения самому себе не только не запрещены, а логично называются Saved Messages и имеют собственное сочетание клавиш ⌘0. Более того, продуман сценарий сохранения: если нажать ⌘0 в окне пересылки сообщения, оно мгновенно перешлётся в сохранённые без перехода в сами сохранённые.

Дальше
5 комментариев
Kirill Oleynichenko 2021

Причем в Телеграме это был сначала просто диалог с самим собой, потом уже они поняли, что люди туда сохраняют всякое и переименовали

Илья Бирман 2021

Так о чём и речь.

Mihail Podivilov 2021

Тоже писал заметку про искусственные запреты в интерфейсах.

Евгений Степанищев 2021

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

orthoxerox 2021

Программисты этим мучают даже друг друга. Например, когда метод someList.RemoveItem(item) выбрасывает ошибку, если этого предмета нет в списке. Что нужно? Чтобы после этого вызова в someList не содержался item. Ну и пусть, что его там и не было. После вызова его нет? Нет. Вот и хорошо.

Andrey Cherepivsky 2021

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

Илья Бирман 2021

Кстати да!

Мои книги