Джефф Раскин - Интерфейс: новые направления в проектировании компьютерных систем Страница 44
Джефф Раскин - Интерфейс: новые направления в проектировании компьютерных систем читать онлайн бесплатно
Хотя этот метод и создает некоторое, самое небольшое удобство, дилемма вытеснения с помощью него не решается, что можно видеть на разных примерах (OpenDoc компании Apple, NextWave компании HP, OLE компании Microsoft и их производные). Когда вы работаете в одной из частей составного документа, у вас в распоряжении нет программных средств, которые используются для создания других частей. Более того, такой документ как бы не имеет границ, и его поведение неожиданным образом меняется в зависимости от места. Таблица и электронная таблица могут выглядеть одинаково, но одна действует по правилам текстового процессора, а другая – по правилам программы электронных таблиц. Это является злодейской модальностью, поскольку единственным признаком вашего местоположения является изменяющееся при щелчке меню, которое обычно расположено далеко от локуса внимания. Как мы уже знаем, это является неэффективным средством извещения пользователя о текущем состоянии системы. Хотя необходимо сказать, что абсолютного средства, конечно, здесь быть не может.
Оригинальным методом устранения режимов, которые присущи приложениям, было использование оконной парадигмы. Алан Кэй (Alan Кау) из компании Xerox PARC предложил перекрывающиеся окна (overlapping windows) для того, чтобы частично устранить модальность приложений. Он также хотел убрать разделение между операционной системой и приложениями, но успеха добился, главным образом, в том, чтобы сделать функционирование операционной системы видимым в форме так называемого рабочего стола. На то время это было действительно продвижением вперед, но, как выразился Ларри Теслер (Larry Tesler) из компании PARC, «окна, в некотором смысле, – это режимы в овечьей шкуре» (Tesler, 1981, с. 94). Это означает, что окна, по сути, не устраняют модальность приложений, но позволяют сделать видимыми и доступными одновременно множество приложений. Идея, предложенная Кэем, и другие идеи, возникшие на основе использования окон, стали важным шагом вперед, результатом которого люди пользуются более десяти лет. Однако проблема режимов и дилемма вытеснения, порожденная существованием приложений, так и не были решены. С того времени овечья шкура поизносилась, и из нее все чаще стал выглядывать на нас волчий зуб. В разделе 5.8 будет рассмотрен один из способов того, как можно окончательно разделаться с этим волком.
Калькулятор или компьютер?Не секрет, что многие из нас держат рядом со своим компьютером калькулятор. Почему же нам требуется это примитивное устройство, когда в нашем распоряжении имеется целый компьютер? Причина в том, что для выполнения простых арифметических действий на компьютере нам приходится предпринять настолько изощренные манипуляции, что они могли бы быть достойны представления в цирке. Представим, что вы сидите за компьютером и набираете какой-то текст в текстовом процессоре и вам необходимо узнать, сколько стоит одна упаковка Phumuxx, при том, что 375 упаковок стоят $248.93. На моем компьютере мне приходится открывать окно калькулятора. Для этого я переношу руку с клавиатуры на мышь, с помощью которой выполняю команду выбрать и перетащить (click-and-drag), чтобы открыть окно калькулятора. Затем я переношу руки обратно на клавиатуру и ввожу нужные цифры или же долго сначала вырезаю их из текста, а потом вставляю в поле калькулятора. Потом мне нужно нажать еще пару клавиш и, наконец, скопировать полученный результат из окна калькулятора в документ. Иногда дело осложняется тем, что окно калькулятора открывается прямо поверх того места, где находятся необходимые мне числа. В этом случае я должен также использовать мышь, чтобы переместить окно калькулятора в другое место и продолжить операцию. Проще достать карманный калькулятор и с помощью него сделать все намного быстрее.
Более удачным решением было бы использование специальной кнопки Вычислить (Calculate) или сквозной команды меню, с помощью которой можно было бы вычислить выделенное арифметическое выражение (такое, например, как 248.93/375) в любой среде, будь это текстовый процессор, программа коммуникации или рисования, презентационное приложение или просто рабочий стол. Другими словами, это пример универсальной функции, применимой в любом месте.
С помощью эксперимента, в котором участвовал опытный оператор компьютера (и владелец калькулятора), я смог определить, что общее время, которое понадобилось оператору, чтобы во время использования текстового процессора достать калькулятор, включить его, выполнить простую операцию сложения и переместить руки обратно на клавиатуру компьютера для продолжения работы, составило около 7 с. Затем я измерил время, которое понадобилось ему на использование встроенного калькулятора. При этом оператору было необходимо переместить курсор к меню в верхней части экрана, найти программу калькулятора, открыть ее, получить сумму и затем щелкнуть по окну текстового процессора, чтобы вернуться к своей работе. Это заняло около 16 с.
Тому же оператору было предложено выполнить арифметическую операцию в середине документа при использовании компьютера Canon Cat со встроенной клавишей «Вычислить» и возможностью выполнять арифметические операции внутри документа. Время составило 6 с (цифры вводились с помощью верхнего ряда клавиш). Таким образом, в этом случае не было выгоды во времени от использования внешнего калькулятора. Кроме того, в компьютере Canon Cat после вычисления результат оставался в документе на случай, если пользователю требовалось вставить туда результат. В то же время, этот результат оставался выделенным, поэтому пользователь при необходимости мог легко его удалить нажатием на клавишу «Delete».
В системе должна быть доступной также и другая возможность: в любом месте, где пользователь может ввести цифры, он должен иметь возможность ввести арифметическое выражение и вычислить его. Такие команды, как:
• проверить орфографию в текущей выборке;
• использовать текущую выборку как арифметическое выражение и вычислить его;
• передать текущую выборку по электронной почте;
• передать текущую выборку по факсу;
• перейти по данному URL;
• выполнить текущую выборку как программу, написанную на языке Java или любом другом языке,
должны быть доступными для пользователя в любой момент, что является абсолютно выполнимым с точки зрения разработки.
5.8. Команды и трансформаторы
Хороший дизайн является более важным, чем вы думаете.
Рекс ХефтмэнКогда сложность некоторого продукта или части программного обеспечения, или компьютерной системы превышает наши в ней потребности и создает трудности, это вполне оправданно вызывает в нас раздражение. Даже если нам требуется поработать с каким-то простым текстом, мы вынуждены разбираться в сотнях или, как в случае с Microsoft Office, даже тысячах команд и методов, которые нам не нужны. С другой стороны, если бы мы могли пользоваться этими командами по мере возникновения в них необходимости, это сняло бы ощущение избыточности и огромного когнитивного груза, даже если бы вся система стала от этого столь же сложной, каким являлось до этого само приложение.
Мечта о том, чтобы продукты были изначально действительно (а не внешне) просты и в то же время гибки, может быть достигнута на основе подхода, в котором система не должна быть сложнее, чем ваши потребности в данный момент, и при котором возможности системы можно наращивать постепенно. Чтобы понять, как это сделать, вспомним, что в разделе 5.1 было сказано о том, что почти все действия, выполняемые с помощью компьютера, включают содержание, которое вы вводите или получаете, и набор операций, которые вы применяете к этому содержанию. Также вспомним, что интерфейс для любой такой операции состоит из двух частей: выборе содержания и вызова операции. Например, в игре требуется убить монстра, или, выражаясь более прозаическим языком, выполнить операцию по изменению изображения монстра на изображение взрыва. Содержание выбирается с помощью курсора (курсор подводится к монстру), а операция вызывается с помощью клавиши на ГУВ. Между прочим, это довольно хороший интерфейс – быстрый и результативный.
Вызов команды для применения к выборке может дать три возможности:
• Операция может быть применена к выборке.
• Операцию бессмысленно применять к данной выборке.
• Операция может быть применена к данной выборке при условии, что эта выборка будет модифицирована.
В первом случае операция выполняется и содержание видоизменяется. Во втором случае содержание остается без изменения. В третьем случае для выполнения операции должен быть вызван другой процесс, с помощью которого выборка предварительно модифицируется.
Предположим, что вы выбираете часть фотографии, на которой изображен вид городской улицы, и пытаетесь применить к ней команду проверки орфографии. Вызов этой команды предполагает наличие некоторой последовательности символов (текста), но здесь обнаруживается фотография (растровое изображение). Одной из возможностей компьютера является возможность преобразовывать содержание из одного типа данных в другой.[39] В этом случае данные являются растровым изображением, а команда применима только к текстам, поэтому компьютер должен определить, имеется ли какой-нибудь трансформатор для преобразования растровых изображений в текст. Вообще такие трансформаторы существуют. Это так называемые программы для оптического распознавания символов (optical character recognition programs). Обычно программы для оптического распознавания знаков (OCR-программы) используются для конвертирования данных, полученных с помощью сканера, в текст, который можно редактировать. (Некоторые из цитат, которые приводятся в этой книге, были получены с помощью сканирования соответствующих статей и последующего использования OCR-программы для конвертирования полученного растрового изображения в текст.) Допустим, что в компьютере имеется такая программа. Тогда эта программа автоматически запускается и анализирует растровое изображение. Если программа обнаруживает какие-то распознаваемые символы (например, знак остановки и частично читаемый знак с надписью «Первая северная уица»), то начинается проверка орфографии этих текстов, в результате которой выдается сообщение о том, что обнаружено неизвестное слово «уица», и предлагаются возможные варианты исправления: «улица», «утица», «ушица», «лица».
Жалоба
Напишите нам, и мы в срочном порядке примем меры.