Каталог элементарных действий
Если вы разрабатываете интерфейс, то должны знать палитру всех его возможностей, аналогично тому, как художник имеет на своей палитре набор всех возможных красок. Спектр элементарных действий, которые пользователь может выполнить, довольно ограничен. Все взаимодействие между пользователем и интерфейсом построено на этом наборе элементарных действий. С помощью клавиатуры вы можете стучать по клавишам или же нажимать и удерживать их, выполняя при этом какие-то другие действия. С помощью ГУВ вы можете перемещать курсор в пределах экрана (или экранов) вашей системы и, таким образом, управлять компьютером, регулируя скорость, направление и ускорение движения ГУВ (хотя обычно скорость и ускорение движения ГУВ используются опять же только с целью указания). С помощью кнопки ГУВ вы можете передавать информацию о том, на какое место на экране монитора вы хотите указать. Все эти элементарные действия могут иметь весьма различный смысл в зависимости от того, в каком приложении они применяются.
Сенсорные графические планшеты могут регистрировать угол наклона пера, что связывает с каждой указанной пользователем позицией еще два числовых значения. Эти значения редко используются за исключением тех случаев, когда пользователь занимается рисованием от руки. Музыкальные клавиатуры позволяют ввести в компьютер как скорость, так и силу, с которой клавиша нажимается. Кроме того, существуют такие устройства, как джойстики и устройства ввода трехмерных данных. Тем не менее, в большинстве случаев используется обычная клавиатура и стандартное, двухмерное ГУВ. В этом разделе будут рассмотрены, главным образом, стандартные устройства ввода и вывода данных. Во многих случаях будет понятно, каким образом излагаемые принципы могут быть распространены и на более необычные физические или даже ментальные интерфейсы. Полагаю, что ясная таксономия и перечень элементарный действий, а также выполняемых с их помощью операций, могут быть весьма полезными для обсуждения и разработки интерфейсов.
Элементарные действия, выполняемые пользователем в различных комбинациях, порождают набор элементарных операций, которые применяются к содержанию и используются почти во всех интерфейсах.
Перечислим, какие операции могут быть применены к содержанию:
- Указание. Пользователь может указать на то или иное содержание.
- Выделение. Пользователь может выделить какое-то содержание.
- Активизация. С помощью «клика» пользователь может активизировать содержание.
- Модификация или использование (с помощью команд):
- Генерация. Модификация из «пустого» в «непустое».
- Удаление. Модификация из «непустого» в «пустое».
- Перемещение. Вставка содержания в одно место и одновременное его удаление из другого.
- Трансформация. Преобразование в другой тип данных.
- Копирование. Содержание может быть отправлено или получено от внешнего устройства или скопировано в другую область внутри системы. Например, содержание можно распечатать, отправить по электронной почте, сохранить на жестком диске, копировать в другой документ и т.д.
Например, во многих системах имеется возможность сделать запрос о свойствах какого-нибудь объекта. (Если система оснащена двухкнопочным ГУВ, пользователь обычно может выполнить это действие с помощью нажатия на правую кнопку при условии, что курсор наведен на этот объект и система находится в соответствующем состоянии.) Запрос свойств объекта означает, что необходимо получить дальнейшую информацию об элементе или набор связанных с ним опций. Но также его можно рассматривать и как операцию, примененную к одному объекту, чтобы вывести на экран связанный с ним другой объект. С точки зрения пользователя, нет необходимости в том, чтобы операции, выполняемые в операционной системе, отличались от операций, выполняемых в приложениях, и поэтому такого различия не должно быть. То, что интерфейсы всех приложений основаны на небольшом наборе элементарных операций, подтверждает тот факт, что приложения как таковые не очень отличаются друг от друга с точки зрения интерфейса, независимо от того, насколько они сложны и разнообразны с точки зрения задач, для которых они предназначены. Такое базовое подобие можно использовать для создания мощных компьютерных систем, обладающих беспрецедентной степенью простоты и эффективности. Для начала нам следует определить несколько методов отбора и выделения содержания, к которому предполагается применить какую-то операцию. Эти методы будут рассмотрены в разделе 5.2.1.