Последний проект Джефа Раскина
Умер Джеф Раскин . Если судить по некрологам, создание Macintosh было чуть ли не главной его заслугой. Он действительно много сделал для этого проекта, но стремился к созданию совершенно иного интерфейса, чем тот, который увидел свет. О создании удобной рабочей среды Раскин размышлял ещё до того, как началась разработка "мака".
"Моя объединяющая программная система первоначально задумывалась как редактор
текста и изображений, внутри которого приложения существовали бы как
дополнительные команды (доступные через меню), а всё их взаимодействие с
пользователем осуществлялось бы через интерфейс редактора. Затем, однако, ...
была использована метафора рабочего стола, разработаная в PARC ... и
применявшаяся в системах Alto и Star фирмы Xerox", - вспоминал он в 1994
году.
Исследовательский центр Xerox в Пало-Альто (Palo Alto Research Center,
PARC) был удивительным местом, где творились великие дела. Именно там в первой
половине 1970-х несколько исследователей во главе с Аланом Кеем создали первые
персональные рабочие станции, разработали для них оконный интерфейс, развили
технологию объектно-ориентированного программирования и совершили еще массу
подобных подвигов. Алан Кей рассказывает о визите людей из Apple так:
"[Очередную] нашу демонстрацию мы устраивали перед весьма благодарной
аудиторией: Джеффом Раскиным, Стивом Джобсом и другими техническими
специалистами из Apple ... Для демонстрации использовался Dorado, более мощный
родственник Alto ... Лучшим в демонстрации был момент, когда Стиву не понравился
прерывистый скроллинг, и он спросил, можно ли сделать плавный. Менее чем за
минуту Ден [Томсон] нашел методы, которые следовало изменить и сделал работающий
плавный скроллинг. Это повергло зрителей, особенно программистов, в шок." (Alan
C.Kay. The Early History of Smalltalk)
Несмотря на свою
революционность, графический интерфейс рабочих станций Xerox был довольно громоздок и не
очень удобен, а использовавшийся там текстовый редактор BRAVO вообще вошел в
историю как один из самых трудных для изучения. Многие действия выполнялись за
большое число шагов, руку то и дело приходилось переносить с клавиатуры на мышь
и обратно, а в поведении различных компонентов системы не было
согласованности.
В попытках понять, что же такое "удобный" интерфейс, Раскин пришел к следующей рабочей метафоре: все мы знаем, что физические возможности человека ограничены; никто не будет собирать автомобиль, давить на педали которого надо с силой в 500 кг (говоря физически точно, 4905 ньютонов). Точно так же людям присущи определенные ментальные ограничения: человеку требуется определенное время на реакцию, он не способен воспринять за раз слишком много информации и т.д.
При проектировании компьютерных интерфейсов следует понимать и учитывать ментальные ограничения человека. Трудно заметить ограниченность своих ментальных способностей. Работающий с неграмотно спроектированным интерфейсом человек не покрывается потом, у него не болят связки. Перегрузка проявляется в постепенно снижающейся концентрации и падении производительности. Без специального навыка человек может даже не понять, что ему неудобно работать (как опытный спортсмен знает, что пить во время тренировки надо до того, как организм подаст сигнал тревоги). Из-за того, что пользователь обычно не понимает, насколько ему неудобно, механизм обратной связи от потребителя к производителю не работает, и единственное, что может заставить проектировщика создавать по-настоящему хороший интерфейс - это его совесть.
Ответственность проектировщика интерфейсов перед пользователями. Раскин осознал её одним из первых. Самое важное ментальное ограничение человека - ограниченность внимания. Фокус внимания у человека один. Например, пока вы идете по улице и думаете о предстоящей встрече, эта встреча находится в фокусе вашего внимания. Проехавшая мимо машина расплескивает воду из лужи, так что вам приходится отскочить, и в фокусе вашего внимания оказываются машина, ее водитель, родственники водителя, состояние российских дорог и экономики в целом. Размышления о предстоящей встрече ушли из фокуса внимания, и теперь требуется мысленное усилие для восстановления предыдущего контекста.
Интерфейсы, переключающие на себя внимание человека, - это одна из ключевых причин неэффективности взаимодействия с машинами. Например, когда мне диктуют телефонный номер, я хочу записать его, пока он не вылетел из памяти. В типичной современной ОС для этого требуется запустить специальное приложение либо переключиться на него, после чего создать новый контакт, найти на появившейся форме подходящее поле и вписать туда номер (если он во время всех предыдущих действий еще не вылетел из головы). Интерфейс программы для хранения контактов требует столько внимания, что в случае его дефицита люди предпочитают пользоваться "старой доброй бумагой".
Раскин выступал с радикальным предложением: отказаться от зоопарка по-разному ведущих себя приложений и заменить её на единую рабочую среду, которая всегда ведёт себя одинаково. В такой среде, например, нажатие клавиш всегда приводило бы ко вводу текста, поэтому человеку, желающему записать телефон, достаточно было бы просто его набрать. (Разумеется, определить введенный номер в "правильное" место нужно было бы и в этой гипотетической среде, но в ней это можно сделать после ввода номера, что существенно удобнее).
Не сумев убедить Джобса в свой правоте, Раскин в 1982 году разорвал свои отношения с Apple и начал разрабатывать принципиально новую систему SWYFT. В 1984 г. он основал компанию Information Appliance, Inc. На первый взгляд, SWYFT казался шагом назад по сравнению с "маком". Он не имел графического интерфейса в привычном сейчас смысле и мог работать только с текстом.
Для перемещения по тексту вместо мыши и курсорных клавиш использовался придуманый Раскиным механизм под названием LEAP ("ПРЫГ"), работу которого легче всего объяснить на примере. Чтобы найти слово "Вася" нужно было, удерживая специальную клавишу LEAP, начать набирать это слово. По мере набора слова курсор перепрыгнет к ближайшему вхождению "в", "ва", "вас" и, наконец, к искомому "вася".
Стремясь устранить из SWYFT избыточные понятия, Раскин отказался от файловой системы. Вместо множества файлов, разложенных по папкам, в SWYFT имеется единое пространство текста, в котором документы отделяются друг от друга специальным символом-разделителем. Странно? Да, но по-своему удобно. Например, чтобы оказаться в начале документа "Сепульки и их монетизация" достаточно было, удерживая всё ту же клавишу LEAP, ввести символ-разделитель документов (он имелся в начале любого документа и ничем принципиально не отличался от других символов), а затем и часть названия (могло оказаться достаточнно "се", "сепул" или "сепульки и", в зависимости от того, какие названия уже имелись в системе). SWYFT избавлял пользователя от необходимости думать в терминах "файлов", позволяя сосредоточиться на содержании.
На базе набора простых и ясных основных понятий можно строить удобные приемы. Допустим, человеку требовалось запомнить место, к которому он хотел вернуться. Специального механизма для этого не предусматривалось, достаточно было придумать удобную помету (что-нибудь вроде легко набираемого слова ОЛДЖ или более понятного ЯБЫЛЗДЕСЬ). Возврат к этой помете осуществлялся с помощью LEAP. Вернуться к помете можно было одинаково быстро из любого места, ведь пространство текста едино. Помета не обязана встречаться только в одном месте - комбинация клавиш для повторного поиска позволяла быстро пробежаться по всем вхождениям. Просматривая таким образом все вхождения пометы, можно было поддерживать списки мест, подлежащих дальнейшей правке, или же единый список своих дел (который не всегда удобно держать в одном месте, поскольку разные дела относятся к разным проектам и сторонам жизни).
В SWYFT не нужна команда сохранения. Состояние машины сохранялось на дискету само, по мере надобности, и полностью восстанавливалось при включении. Раскин рассказывает об эффектном трюке: изображение, бывшее на экране в момент выключения, сохранялось вместе с остальным содержимым памяти и восстанавливалось первым. Те десять секунд, что требовались SWYFT для полного загрузки, человек смотрел не в пустой экран, а на тот участок текста, где он остановился в прошлый раз. В результате, многим казалось, что SWYFT включается мгновенно.
Несмотря на концептуальную простоту, SWYFT не был тупой "пишущей машинкой". Встроенный модем позволял работать с различными службами (при этом пришедшие через модем данные помещались в текущий документ; обычно заводили специальный документ для принятой электронной почты). Специальные команды позволяли проверять орфографию, вычислять выражения, создавать макросы и даже выполнять программы: программу на FORTH (мощном и весьма компактном языке программирования) можно было выделить и исполнить, а результат исполнения помещался обратно в текстовый редактор.
Программа могла не просто выполнять действия, но и определять новые команды, которые немедленно становились доступными. В 1987 г. венчурные капиталисты, финансировавшие Information Appliance, решили, что с раскруткой продукта лучше справится крупная фирма, и предложили готовую систему корпорации Canon. Так появился Canon CAT - удивительная машина, к появлению которой мир оказался не готов. За полгода было продано около 20 тысяч устройств, после чего работы были свернуты.
"Умирающее отделение пишущих машинок, которому был передан продукт, не
справилось с продвижением его на рынке, так что кошка сдохла", - писал потом
Раскин.
Брюс Тоньяцини, один из первых, кто всерьез принял идеи Раскина,
позднее объяснял происшедшее так:
"Canon CAT действительно плохо продавался, но [в первую очередь] причинами
тому были [слабая] аппаратная часть, использовавшаяся в нем (процессор Motorola
68000, работавший на частоте 5 МГц), а также решение Canon предложить эту
идеальную для профессиональных писателей машину простым клеркам, не нуждавшимся
в ее возможностях, не понявшим и не оценившим ее "невидимого"
интерфейса".
Было ли дело именно в просчете маркетологов Canon, или
предложенная концепция рабочей среды не жизнеспособна в принципе? Это можно было
проверить только на практике. Увы, неудача с Canon CAT разочаровала инвесторов,
и в 1989 г. Information Appliance закрылась.
Это были уже совсем иные времена, не то, что начало восьмидесятых: производство ПК и программного обеспечения для них превратилось в мощную индустрию, двигающуюся во вполне определенном направлении, потомки первых "маков" медленно, но верно проигрывали PC с Windows, и всего несколько лет оставалось до начала бурного роста WWW.
В девяностые годы Раскин пропагандировал свои идеи среди профессиональных разработчиков интерфейсов (это сообщество бурно разрослось во время интернет-бума). В 2000 г. вышла книга The Humane Interface ("Интерфейс", Символ-Плюс, СПб, 2003), систематизировавшая взгляды Раскина.
В это же время появляется команда единомышленников, занятая созданием среды по мотивам SWYFT на современных ПК. Разработку программы возглавил сын Джефа Раскина - Аза Раскин. Ранние версии работали только на Macintosh, но доступный сейчас вариант может работать под различными ОС, включая Windows и Linux.
На сайте проекта нет красивых скриншотов: THE, как и когда-то SWYFT, лишена внешнего лоска. Подобно многим другим радикально новым средам, THE невозможно оценить, читая описание. Понять что-то, можно только поработав с ней, а еще лучше - понаблюдав "через плечо" за человеком, уже освоившем её в совершенстве. Тед Нельсон, один из пионеров гипертекста, описывая изобретенную им рабочую среду ZigZag (построенную на совершенно иных принципах, чем THE, но настолько же необычную), заметил:
"Мы всегда объясняли, что понять систему можно, только поработав с ней
непосредственно, но, несмотря на это, наши технически продвинутые друзья
предпочитали прямому опыту проведенный в уме "логический анализ". Это
практически бесполезно. Очень немногие способны проанализировать [такую] систему
умозрительно".
Сказаное верно и в отношении THE. Раскин понимал, что среда
вроде SWYFT, несмотря на все её предполагаемые достоинства, будет воспринята в
штыки, что ее сразу окрестят "неудобной" и "непонятной". Даже умнейшие люди
склонны путать "непонятое" с "непонятным" - достаточно вспомнить, как отбивались
от Windows пользователи IBM PC.
В статье "Intuitive equals Familiar", опубликованой в 1994 году, Раскин возражал против самой идеи "интуитивно понятного интерфейса". Интуитивно понятным, по его мнению, является тот интерфейс, к которому пользователь привык. Никакой "имманентной понятностью" графический интерфейс с перекрывающимися окнами, меню и иконками не обладает.
Незадолго до смерти Раскин реорганизовал проект THE в Raskin Center for Humane Interface (RCHI). Система получила новое имя Archy . Сайт RCHI сам является хорошей иллюстрацией идей Раскина. Всё статическое содержимое сайта объединено в одну страницу, по которой можно перемещаться и с помощью ссылок, и просто проматывая текст, и с помощью функции поиска по странице, встроенной в браузер. Вместо иерархии и многоходовых навигационных действий - плоская структура и поиск.
Безусловно, такая организация сайта противоречит всей существующей традиции веб-дизайна, но она оказывается неожиданно удобной. Много лет назад Раскин поставил цель - выяснить, можно ли на основании предложенного им набора принципов построить рабочую среду, которой смогут и захотят пользоваться люди. Ранние попытки коммерциализации (SwyftCard и Canon CAT) провалились. За следующие десять лет вектор развития, против которого возражал Раскин, практически исчерпал себя - сейчас все больше исследователей и разработчиков осознают, что графический интерфейс в том виде, в каком мы его знаем, устарел настолько, что его нельзя просто "подновить" или "улучшить".
Последний проект Раскина - далеко не единственная попытка предложить альтернативу, но одна из самых продуманных и изящных. Невозможно предсказать, на что будут похожи интерфейсы следующего поколения. Но независимо от того, какими они будут - трехмерными, зумируемыми, текстовыми или еще какими-нибудь - последний проект Раскина надолго останется примером концептуальной целостности и прозрачности.