#Улучшаем Я придумал новую фичу Zones для MacOS

Олег Кусов29.07.2022

В новой версии macOS Venture появилась функция Stage Manager. Она позволяет группировать окна на рабочем столе в папки и управлять ими через левое меню на экране. Проблема в том, что в macOS уже есть рабочие столы и зачем нужно повторять то что уже есть? Не очень понятно. Я решил поразмыслить над тем, что можно было действительно улучшить, как мне кажется.

Вот так выглядит рабочий стол:

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

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

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

Но что, если навести на зеленую кнопку? Увидим такое.

Она позволяет поместить окно слева или справа - классический split view. Тоже самое можно сделать, если свайпнуть вверх по трекпаду - откроются рабочие столы:

Но и тут есть проблема. Split View неконсистетен. Если активировать Split View через зеленую кнопку, то оно может работать только с теми окнами, которые находятся на рабочем столе. То есть, мы открыли заметки в полноэкранном режиме, мы не сможем открыть их одновременно с браузером, если нажали на зеленую кнопку браузера. Нужно будет перейти к заметкам, выйти из полноэкранного режима и только потом активировать Split View. Или же активировать режим через свайп вверх.

И это не единственная проблема - Split View это тоже своего рода сущность, равная рабочему столу. И она не позволяет гибко и быстро управлять окнами. Вспомните речь Стива Джобса про стилусы. Стилусы неудобны. Вот и здесь такие же ощущения. Split View неудобен, потому что окна в этом режиме как отдельный слот, мы отрываем их от рабочего стола и как будто теряем основной контекст. И чтобы вернутся в него нам нужно нажать на Escape, чтобы выйти из режима Split View. И при этом окно, которое ранее мы добавили к Split View, останется в полноэкранном режиме - еще одна неконсистентность, ведь до Split View наше окно не было в полноэкранном режиме. И плюс ко всему все это сопровождается громоздкими и нелепыми анимациями, из-за которых пользователь будет попросту отвлекаться от основных задач.

Но проблемы Split View не заканчиваются. Не все приложения могут работать в этом режиме. Например, калькулятор. Кроме того, перетаскивать окна можно лишь в двух позициях - по центру или в соотношении 3/2, что тоже довольно не гибко. Представим, чтобы мы хотим открыть заметки и хотим, чтобы они занимали лишь небольшую часть справа от экрана. Со Split View этого мы не сможем сделать. Кроме того, если мы потом захотим оставить заметки справа, но переключаться от браузера к другому окну, нам придется наводить мышью на зеленую кнопку и выбирать там меню "Заменить текущее окно" или же закрывать Split View режим и тратить еще какое-то время на то, чтобы вручную организовать нужное позиционирование. Слишком много действий. А на практике у меня вообще получилось так, что приложение заметок перестало открываться после всех манипуляций вовсе:

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

Я придумал новую фичу - Zones

  1. Добавляем всем приложениям гибкую верстку, чтобы можно было сужать окно до любых размеров.
  2. Создаем на рабочем столе Zones (зоны). В них можно будет вставлять приложение. Аналогия с фичей в Windows, но более продвинутая.
  3. Даем возможность размещать любое окно поверх всех окон, то есть функция скрепки. И при этом для окон в режиме скрепки также сохраняем возможность расположения в Zone.

Что это дает?

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

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

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

А может быть еще ленту?

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

А что вы думаете? Делитесь мнением в Twitter!