Введение
Тип программной системы – инновационная система пользовательского интерфейса.
the innovative user interface system
Archy – это программная система, пользовательский интерфейс которой представлял собой новый подход к взаимодействию с компьютерами по сравнению с традиционными графическими пользовательскими интерфейсами. Разработанная экспертом в области взаимодействия человека и компьютера Джефом Раскином, она воплощает его идеи и подтвержденные результаты в области человеко-ориентированного дизайна, описанные в его книге «Человеческий интерфейс». Эти идеи включают в себя сохранение содержимого, отсутствие модальности, ядро с командами вместо приложений, навигацию с помощью инкрементного текстового поиска и масштабируемый пользовательский интерфейс (ZUI). Система разрабатывалась в Центре гуманных интерфейсов Раскина под его руководством. После его смерти в феврале 2005 года проект был продолжен его командой, которая впоследствии переключила внимание на расширение Ubiquity для браузера Firefox. Archy во многом основана на более ранних работах Раскина над Apple Macintosh, Canon Cat, SwyftWare и системой Pad ZUI Кена Перлина. Её можно описать как сочетание функций обработки текста Canon Cat и современного ZUI. Archy радикально отличается от устоявшихся систем, таких как проект Looking Glass от Sun Microsystems и прототип "Task Gallery" от Microsoft Research. В то время как эти системы развивают парадигму рабочего стола WIMP, Archy часто сравнивают с текстовым редактором Emacs, хотя её разработка ведется с нуля. Ранее Archy называлась «Гуманная среда» ("THE"). 1 января 2005 года Раскин объявил о новом названии и о том, что Archy будет разрабатываться некоммерческим Центром Раскина по гуманным интерфейсам. Название "Archy" – это игра слов, основанная на аббревиатуре Центра, R CHI. Это также отсылка к поэзии Дона Маркиза об Арчи и Мехитабеле. Джеф Раскин в шутку заявил: «Да, мы назвали наше программное обеспечение в честь насекомого» (таракана), дополнительно играя со значением ошибок в программном обеспечении.
Основная концепция
Заявленная цель Archy — разработать программную систему, исходя из понимания человеческого познания и потребностей пользователя, а не с точки зрения программного обеспечения, аппаратного обеспечения или маркетинга. Она предназначена для использования людьми с ограниченными возможностями, теми, кто не любит технологии, а также компьютерными специалистами. Этот амбициозный план по созданию универсальной среды, простой в использовании для любого человека, основан на проектировании, учитывающем общие когнитивные способности всех людей. План предусматривает создание интерфейса максимально "безмодальным", чтобы избежать ошибок, связанных с переключением режимов, и способствовать выработке привычки. Для достижения этой цели удаляются модальные элементы современных графических пользовательских интерфейсов, такие как окна и отдельные приложения.
Настойчивость
Все содержимое в Archy сохраняется постоянно. Это избавляет от необходимости и самой идеи сохранения документа после редактирования. Состояние системы надежно сохраняется и защищено от сбоев и отключений электропитания: в случае сбоя системы или отключения электроэнергии достаточно перезагрузить систему и продолжить работу с того места, где вы остановились до возникновения проблемы.
Универсальное отменить
Подробная история взаимодействия пользователя позволяет отменить любое действие, начиная с самого первого, выполненного в Archy, и повторить его до самого последнего. Универсальное и неограниченное отменение – один из ключевых элементов, соответствующих целям проектирования, описанным в книге «The Humane Interface», поскольку оно позволяет восстановить результаты всей работы пользователя в любой ситуации.
Прыгают
Основная особенность интерфейса — Leaping, способ перемещения по экрану посредством инкрементального текстового поиска. Система предоставляет две команды: Leap forward и Leap backward, вызываемые с помощью специальных клавиш (предназначенных для нажатия большими пальцами), которые перемещают курсор к следующей и предыдущей позиции, содержащей строку поиска. Leaping выполняется как квазимодальная операция: нажмите клавишу Leap и, удерживая её, введите текст, который вы хотите найти; затем отпустите клавишу Leap. Этот процесс призван помочь пользователю привыкнуть к системе и превратить позиционирование курсора в автоматическое действие. Переход к ключевым элементам документа, таким как следующее или предыдущее слово, строка, страница, раздел или весь документ, эквивалентен переходу к символам пробела, новой строки, страницы и документа, которые вставляются с помощью клавиш пробела, Enter, Page и Document соответственно. На стандартной компьютерной клавиатуре Archy использует клавиши Alt в качестве клавиш Leap, Backquote (`) в качестве символа Document и Tilde (~) в качестве символа Page. Курсор по-прежнему можно перемещать вперед и назад на один символ с помощью клавиш «стрелка влево» и «стрелка вправо», а текст можно прокручивать вверх и вниз на одну строку с помощью клавиш «стрелка вверх» и «стрелка вниз». Это называется Creeping (ползучее перемещение).
Команды
Другая функция предназначена для обеспечения возможностей командной строки в графическом пользовательском интерфейсе (GUI). Имена команд можно вводить и выполнять в любом месте интерфейса. Это снижает необходимость перемещать указатель мыши к панели меню или панели инструментов для выполнения команд и позволяет быстро объединять результаты нескольких команд последовательно. Чтобы использовать команду, пользователь вводит её имя, удерживая клавишу команд (клавишу Caps Lock). Большинство имен команд заполняются автоматически, поэтому пользователю нужно ввести лишь до появления полного имени. Поскольку команду можно использовать где угодно, приложения теряют свою актуальность как основа дизайна интерфейса. Установка нового пакета команд предоставляет функциональность, связанную с их общей задачей. Таким образом, пользователь не ограничен закрытой средой одного приложения для использования этих функций. Скорее, API становится доступным для пользователя, чтобы эти функции можно было использовать во всей системе и комбинировать способами, не предусмотренными разработчиком. В идеале, команды можно было бы устанавливать в систему по одной, чтобы пользователи могли приобретать и устанавливать только необходимое. Многие команды работают с выделенными областями текста. Выделения отображаются с помощью цвета фона. Несколько выделений могут быть активны одновременно, и цвет существующего выделения меняется при создании новых. Например, для отправки электронного письма можно ввести и выделить текст сообщения, ввести и выделить адрес получателя, а затем вызвать команду SEND MAIL.
Мир Зум
Элемент пользовательского интерфейса (ZUI) Archy называется Zoomworld. Это пространственный, не оконный интерфейс: бесконечная плоскость, расширяющаяся во всех направлениях и масштабируемая до бесконечной детализации. Дополнительная информация об объекте предоставляется путем "приближения" для его осмотра, а целевые страницы гиперссылок встраиваются непосредственно на место, а не отображаются в виде текстовых ссылок. Навигация в этом Zoomworld осуществляется с помощью мыши, а функции быстрого перехода используются как средство поиска. Проект Archy разработал ряд рекомендаций для Zoomworld и рабочую демонстрацию концепции, однако созданный прототип не содержал кода для масштабирования. Участники проекта утверждают, что аналогичный, но ограниченный по функциональности, интерфейс масштабирования был успешно протестирован в реальных приложениях. Новички осваивали систему уверенно и компетентно всего за одну минуту обучения. Сообщается, что компьютерным специалистам требовалось больше времени, так как им приходилось преодолевать устоявшиеся представления. Система больничной информации с масштабированием описана в книге "Гуманный интерфейс", включая некоторые скриншоты.
Лицензия
Первоначально Archy был лицензирован под лицензией Creative Commons Attribution NonCommercial ShareAlike 2.0. Эта лицензия просто оговаривала, что "вы должны указывать авторство оригинального автора, не можете использовать данную работу в коммерческих целях, и если вы изменяете, преобразуете или создаете производные работы, вы можете распространять полученные работы только под лицензией, идентичной этой". Ввиду наличия условия "не для коммерческого использования", это не является свободным программным обеспечением. В ноябре 2017 года Аза Раскин изменил лицензию на лицензию MIT.
Комментарии
Интерфейс и функциональность The Humane Environment были сравнены с редактором Emacs и признаны схожими благодаря текстовому интерфейсу без диалоговых окон, а также использованию инкрементального поиска и клавиши-модификатора для выполнения команд. Archy обеспечивает большую ориентированность на простоту обучения и делает акцент на устранении режимов, которые часто встречаются в Emacs. Требование нажимать клавишу LEAP во время поиска, фактически создающее квази-режим, подверглось критике как неудобное. Однако стоит отметить, что клавиши LEAP в оригинальном Canon Cat представляли собой две большие красные клавиши под пробелом, в то время как Archy использует две клавиши ALT по обе стороны пробела, которые есть на большинстве стандартных клавиатур, что является компромиссным решением для обеспечения совместимости с широко доступным оборудованием.