Судьба интерфейса
Архив[i37432]
Глядя на материалы сегодняшней темы в исторической перспективе, трудно избавиться от впечатления, что разработчики пользовательских интерфейсов четвертый десяток лет вертятся, как белки в колесе, в достаточно узком кругу основных идей, заложенных в свое время стэнфордской исследовательской группой [2]. В кругу всех тех же «окон, иконок, меню и указателей» (windows, icons, menus, pointers - WIMP).
Отчасти это обусловлено подбором материала: и Большой G, и Большой K похожи друг на друга и на интерфейсы Mac OS, Microsoft Windows и Motif/CDE. Но даже если мы выйдем за эти рамки и рассмотрим более экзотические примеры (как вам 3Dwm с натянутым на виртуальную плоскость окном «обычного» оконного менеджера на рисунке?), картина изменится не намного.
Триумф интерфейса над пользователем
Фредерик Брукс (Frederick Brooks) в 1995 году, обсуждая основные процессы, произошедшие в программной отрасли за двадцать предшествовавших лет, назвал в числе «наиболее впечатляющих явлений» «триумф интерфейса WIMP» [3, сс. 239-243]. В этом ставшем классическим четырехстраничном анализе [1] Брукс:
-
производит декомпозицию самой идеи («диалог» с системой: объекты-«существительные» и действия-«глаголы»),
-
выделяет факторы, способствовавшие ее «триумфу»,
-
называет ограничения метафоры «рабочего стола» («проблема двух курсоров»), а также
-
предрекает устаревание WIMP при внедрении речевого интерфейса.
Прошло еще пять лет, и мы можем («Хотел бы я быть таким умным, как моя жена назавтра!») отметить, что:
-
Проф. Брукс не заметил решения «проблемы двух курсоров» (а заодно - и непротиворечивой интеграции командной строки в графико-интерфейсное окружение) в конце восьмидесятых в Norton Commander (и сонме последователей этого замечательного продукта на разных платформах [2]);
-
WIMP не думает устаревать, и скорее сам абсорбирует новые интерфейсные возможности (включая распознавание речи), чем будет вытеснен ими;
-
и, наконец, самое серьезное: «триумф WIMP» на сегодня выглядит не то чтобы менее бесспорным, а менее однозначным, все более походя на пресловутое «триумфальное шествие советской власти» по обессиленным Первой мировой войной частям Российской империи и ее окрестностей. Во многих прикладных областях попытки внедрения WIMP стали скорее частью проблемы пользовательского интерфейса, чем частью ее решения.
«Сплошной» же WIMP-среды и вовсе нет нигде, кроме встроенных/специализированных систем: в любом окружении, претендующем даже не на универсальность, а просто на широкую сферу применения, элементы WIMP сочетаются с элементами другой интерфейсной модели - командно-строчной [3] - иногда более органично (OFM, AppleScript и т. п.), а чаще эклектично, противоречиво и с фатальным для производительности исходом (фрагменты «рваной» командной строки в «диалоговых окнах», разнообразные Wizards и «окна установки предпочтений»).
Если перечитать текст доклада, в котором идеи WIMP впервые были представлены широкой публике [2], станет понятно почему: модель WIMP предлагалась как средство непосредственного манипулирования конкретными объектами («взять это и положить туда», «изменить такое-то свойство того-то объекта»), а не как средство формулирования абстрактных положений и команд («все ли файлы, лежащие в каталоге X, имеют формат Y?», «удалить все файлы, созданные до 01.01.2000, в которых упоминается Борис Ельцин», и т. п.). Соответственно, сделать WIMP-рабочее место для выполнения технических процедур, рабского труда можно, а вот систему поддержки полноценной свободной практики - затруднительно.
От какого наследства нам не стоит отказываться?
Виктор Вагнер [4] противопоставляет «рыхлости» модели WIMP, пусть и целостной метафорически, концептуальную целостность командно-строчного интерфейса, основывающуюся на четырех принципах:
-
универсальности формы представления информации (текстовый файл, понимаемый как последовательность символов, некоторые из которых разделяют строки [записи], поля и слова);
-
возможности переназначения ввода-вывода и соединения программ каналами;
-
философии «набора инструментов» (одна утилита - одна функция);
-
наличия в оболочке механизма регулярных выражений.
По Вагнеру, по-настоящему успешным (true UNIX GUI) будет GUI, предлагающий не менее целостную и последовательно реализованную концептуальную основу. Причем предлагающий не только и не столько конечному пользователю, сколько разработчику приложений, то есть реализованный начиная с системы разработки (RAD).
Источники
[1] Nikolai Bezroukov. The Orthodox File Manager (OFM) Paradigm. Work in progress // www.softpanorama.org/OFM/Ofm_00.shtml.
[2] D. Englebart, W. English. A Research Center for Augmenting Human Intellect // AFIPS Conf. Proc., Fall Joint Computer Conf. - San Francisco, 1968.
[3] Фредерик Брукс. Мифический человеко-месяц: двадцать лет спустя // Его же. Мифический человеко-месяц. - СПб.: «Символ-плюс», 1999.
[4] Виктор Вагнер. True UNIX GUI // www.ice.ru/~vitus/thoughts/true_unix_gui.txt/true_unix_gui.txt.
1 (обратно к тексту) - Я не буду его подробно пересказывать, но крайне рекомендую всем, интересующимся темой, прочитать эти четыре страницы. А заодно - и всю книгу Брукса.
2 (обратно к тексту) - Обзор см. в [1]. Проф. Безруков предложил для реализованного в Norton Commander интерфейса термин «ортодоксальный менеджер файлов» (OFM, orthodox file manager).
3 (обратно к тексту) - Вопреки аберрации восприятия пользователей персональных компьютеров эти модели являются ровесницами: обе оформились в конце шестидесятых.