Чтение онлайн

на главную - закладки

Жанры

Интерфейс: новые направления в проектировании компьютерных систем
Шрифт:

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

5.2.2. Команды

Я как писатель-фантаст уверен, что этот чертов робот должен говорить на человеческом языке, а не наоборот.

Спайдер Робинсон

Некоторые команды (как, например, Отменить) не обязательно могут применяться к выборкам. Другие команды действуют только по отношению к текущей выборке – как, например, команда, которая удаляет текущую выборку. Некоторые из этих команд вводятся с клавиатуры. Однако число клавиш на клавиатуре меньше, чем количество возможных команд. Каждая дополнительная

клавиша-модификатор (как, например, «Shift», «Alt», «Command», «Control» или «Option») позволяет удвоить число клавиатурных команд. Полная клавиатура, в которой любая комбинация клавиш может быть воспринята компьютером, допускает астрономическое число сочетаний клавиш. Например, программное обеспечение, в котором предусмотрено использование любых трехклавишных дваждыквазимодальных сочетаний на 110-клавишной клавиатуре, позволяет передать более одного миллиона команд с помощью только одного жеста. Однако широкое использование клавиш-модификаторов, особенно в сочетаниях клавиш, очень часто приводит к появлению чрезвычайно сложных комбинаций, в которых можно просто «сломать пальцы». Кроме того, комбинации редко бывают запоминаемыми или понятными. (Знаете ли вы, какое действие выполняет на вашем компьютере сочетание «Control»+«Shift»+«Option»+«\»?) Запомнить различные сочетания клавиш не просто. Такое запоминание является недопустимым требованием к памяти пользователя. Кроме того, такие команды нарушают критерий видимости, если только в системе каким-то образом не отображается то, какой результат будет получен при применении той или иной команды. Конечно, если в отдельных случаях какой-то из этих жестов не может быть выполнен или если жест имеет разные значения в разные моменты, это означает модальность системы по отношению к данному жесту, что приводит к проблемам, которые обсуждались в главе 3.

Если разделить систему на приложения таким образом, что данная команда может многократно использоваться, но с разными значениями в разных приложениях, появляется возможность увеличить количество команд, которые пользователь может вызвать для заданного множества сочетаний клавиш. Однако использование команд в приложениях, в которых для них устанавливаются разные значения, приводит к модальным ошибкам. Кроме того, различающийся смысл жеста создает ненужные трудности для его запоминания. Частично эта трудность облегчается с помощью меню. Тем не менее, пользователю все равно приходится запоминать, где находится та или иная команда. (Возможно, пользователю даже придется сначала вспомнить, в каком именно приложении используется необходимая ему команда, особенно если используется несколько приложений с подобными функциями.) Процесс просматривания меню иногда становится привычным, но иногда он оказывается утомительным, особенно если искомая команда находится в каком-то из подменю и если способ организации меню, который показался разработчику очевидным, не является таковым для пользователя.

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

CommandV vV^^

которое используется для вставки, кроме того, что клавиша v расположена рядом с клавишей c, используемой в сочетании

CommandV cV ^^

которое запоминается несколько лучше, поскольку с может напоминать слова «вырезать» (cut) или «скопировать» (copy).

Другой метод позволяет решить многие из этих проблем. Предположим, что на клавиатуре есть клавиша «Вычислить» (Calculate). При нажатии на эту клавишу текущая выборка рассматривается как арифметическое выражение и вычисляется. Далее я буду использовать подчеркивание, чтобы показать выборку. Допустим, что текст является следующим:

Я хочу купить 3+4 рубашек

При нажатии на клавишу «Вычислить» он будет преобразован в следующий текст:

Я хочу купить 7 рубашек

До нажатия на клавишу «Вычислить» 3+4 было обычным

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

Теперь рассмотрим случай, когда на клавиатуре нет клавиши «Вычислить». (Хотя специальная клавиша для вычисления математических выражений – это пока только ценная идея, но она, несомненно, была бы более полезной, чем те клавиши, которые уже существуют, как, например, «F9».) То, что нам необходимо – это более общий механизм для команд.

Перед обсуждением такого механизма рассмотрим требования, которым должен отвечать новый метод вызова команд:

• Этот механизм не должен быть модальным

• Он должен включать любое число команд (в частности, он не должен ограничиваться количеством клавиш на клавиатуре)

• Пользователь должен иметь возможность вызывать команду непосредственно с клавиатуры

• Пользователь должен иметь возможность вызывать команду с помощью графического устройства ввода

• Использование механизма не должно требовать изобилия специальных клавиш

• Механизм не должен порождать большого количества квазирежимов

Проиллюстрируем один общий метод примером. (Этот несколько тривиальный арифметический пример используется только для того, чтобы продемонстрировать данный метод. Более эффективные способы применения этого метода будут рассмотрены далее.) Предположим, что имеется следующий текст:

Я хочу купить 3+4 рубашек вычислить

Выделим сумму 3+4, и затем выделим слово вычислить, при этом сумма станет старой выборкой.

В другом методе, который предоставляет пользователю всю мощь командной строки, при нажатии на клавишу «Command» вызывается выбранная команда. Если для выполнения команды требуется аргумент, то в его качестве используется старая выборка. В данном методе сама команда удаляется, а результат вычисления становится левой выборкой.

Я хочу купить 7 рубашек

Суть заключается в том, что команды не должны ограничиваться только меню, но могут быть частью вашего текста, или же, если это уместно, команда может быть представлена графическим объектом, а не словом или набором слов. Важно также и то, что в этом случае пользователь может назначать команды самым простым способом – всего лишь набирая их с клавиатуры или рисуя их. Такой способ не противоречит методу, при котором команда выбирается из уже имеющегося списка.

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

Такой подход имеет ряд преимуществ. Например, онлайновые руководства автоматически содержат примеры использования команд, которые в нем описываются. В современных системах команды, имеющиеся в меню, могут как иметь, так и не иметь своего клавиатурного аналога. Однако при таком подходе каждая команда, описанная в меню последовательностью символов, имеет свой клавиатурный эквивалент. Это обеспечивается не благодаря стараниям разработчиков, а по самой природе такой системы. Как команда из меню, так и клавиатурный эквивалент имеют одинаковое написание. И большинство пользователей будут чаще использовать именно клавиатурный эквивалент. Другим преимуществом этого подхода является то, что вы можете составить меню только из тех команд, которые вы используете, просто набрав их в список с помощью текстового процессора. Конечно, если вы постоянно изменяете список, а не просто, скажем, добавляете к нему новые команды, то теряется преимущество их привычного расположения.

Поделиться:
Популярные книги

Царь Федор. Трилогия

Злотников Роман Валерьевич
Царь Федор
Фантастика:
альтернативная история
8.68
рейтинг книги
Царь Федор. Трилогия

Законы рода

Flow Ascold
1. Граф Берестьев
Фантастика:
фэнтези
боевая фантастика
аниме
5.00
рейтинг книги
Законы рода

Эволюционер из трущоб. Том 6

Панарин Антон
6. Эволюционер из трущоб
Фантастика:
попаданцы
аниме
фэнтези
5.00
рейтинг книги
Эволюционер из трущоб. Том 6

Враг из прошлого тысячелетия

Еслер Андрей
4. Соприкосновение миров
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Враг из прошлого тысячелетия

Неофит

Вайт Константин
1. Аннулет
Фантастика:
попаданцы
альтернативная история
аниме
5.00
рейтинг книги
Неофит

Истребитель. Ас из будущего

Корчевский Юрий Григорьевич
Фантастика:
боевая фантастика
попаданцы
альтернативная история
5.25
рейтинг книги
Истребитель. Ас из будущего

Офицер

Земляной Андрей Борисович
1. Офицер
Фантастика:
боевая фантастика
7.21
рейтинг книги
Офицер

Контракт на материнство

Вильде Арина
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Контракт на материнство

Начальник милиции. Книга 4

Дамиров Рафаэль
4. Начальник милиции
Фантастика:
попаданцы
альтернативная история
5.00
рейтинг книги
Начальник милиции. Книга 4

Часовая башня

Щерба Наталья Васильевна
3. Часодеи
Фантастика:
фэнтези
9.43
рейтинг книги
Часовая башня

Хозяйка дома в «Гиблых Пределах»

Нова Юлия
Любовные романы:
любовно-фантастические романы
5.75
рейтинг книги
Хозяйка дома в «Гиблых Пределах»

Идеальный мир для Лекаря 2

Сапфир Олег
2. Лекарь
Фантастика:
юмористическая фантастика
попаданцы
аниме
5.00
рейтинг книги
Идеальный мир для Лекаря 2

Неудержимый. Книга V

Боярский Андрей
5. Неудержимый
Фантастика:
фэнтези
попаданцы
аниме
5.00
рейтинг книги
Неудержимый. Книга V

Купи мне маму!

Ильина Настя
Любовные романы:
современные любовные романы
5.00
рейтинг книги
Купи мне маму!