1 (изменено: Freeman, 10.06.2023 в 02:14)

Тема: Масштабирующий интерфейс (ZUI)

Интерфейс будущей ОС на Канторе запланирован на основе ZUI, прототип которого может быть реализован и опробован в существующих ОС. Концепция ZUI придумана Джефом Раскиным — автором концепции графического интерфейса Apple Macintosh, описана в его последней книге.

В англоязычных источниках встречаются два термина, относящихся к ZUI, переводимые мной по-разному:

  • Zoomable user interface — Масштабируемый интерфейс пользователя.

  • Zooming user interface — Масштабирующий интерфейс пользователя.

В «Канторовых системах» однозначно принята вторая трактовка.

В среде, управляемой данными (data-driven environment), масштабирующий интерфейс пользователя — средство перемещения видимой области по трем координатам, выбираемым из n-мерного пространства (задаваемым пользователем). Масштабирующая функция интерфейса — базовая возможность видеть фрактальные данные в естественном виде — насущная необходимость, а не приятное дополнение.

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

ZUI в псевдографике

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

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

Если совсем подопрет, псевдографический ZUI можно будет запустить из-под FreeDOS через расширитель типа HX, собрав из них загрузочный образ, — своего рода ранний технический прототип ОС на Канторе. Минималистичность CoreLite поддерживалась в том числе и ради этой гипотетической возможности.

После Кантора — ZUI или кодогенератор?

Разработка ZUI — исследовательский проект (НИОКР), для реализации которого нужно быть глубоко в теме и иметь свое видение. Найти стороннего исполнителя будет затруднительно, особенно с учетом того, что писать придется на Канторе.

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

2

Re: Масштабирующий интерфейс (ZUI)

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

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

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

  • Обзорность — способность интерфейса отображать с нужной детализацией достаточное количество данных для уверенной (ментально комфортной) работы или принятия решения. Также зависит от характеристики важности данных, от способности пользователя воспринимать большие объемы данных без потери ориентации или расстройства внимания, и от уровня принимаемых решений в настоящий момент.

Получается, что понятие важности данных — неотъемлемая характеристика ZUI, делающая возможным само масштабирование.

(Про конфликт детализации и обзорности нужно рассказать на примере дизайна в стиле Веб 2.0).

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

  • Обычный список ↔ выпадающий список.

  • Окно с вкладками ↔ окно с боковым списком вместо вкладок.

В процессе работы над ZUI список будет расширен.

В какой-то мере это аналог SDI ↔ MDI для GUI, переходящий на уровень отдельных компонентов в ZUI.