ТЕМА НОМЕРА: Обидели мышку, или О мышах и людях

ТЕМА НОМЕРА: Обидели мышку, или О мышах и людях

Автор: Зверёк Харьковский

Вот уже несколько лет я занимаюсь пользовательскими интерфейсами - тем, что по-английски называется «юзабилити», по-русски - эргономикой (или просто «пользибельностью»).

Это (хобби? профессия?) началось с одного подарка.

- Это просто мышь, Джордж.

- Мышь? Живая?

- Ну да, мышь. Дохлая мышь, Джордж. Но я ее не убивал. Честное слово! Я ее нашел. Так и нашел дохлую.

Дж. Стейнбек

Человек, который на тот момент являлся моим шефом, подарил мне ко дню рождения новую мышь. Я с удовольствием отправил на пенсию старенького (как бы не постсоветского производства) квадратного уродца с тремя серыми кнопками. Новый гаджет был чудо как хорош: обтекаемые очертания, известная марка, колесико прокрутки (по тем временам - еще не вполне привычный атрибут), а главное - мышка была беспроводная. В наших краях модные грызуны только-только начали появляться, и было не совсем ясно, какой наворот необходим (например, оптика вместо шарика), а какой - чистой воды понт (беспроводность). Так что моя обновка оказалась еще и с шариком в пузе, но уже без хвоста. Чем это чревато, я начал понимать гораздо позже - когда, работая уже без шефа, а оттого дома и ночью, раз в три-четыре недели стал вляпываться в ситуацию «три часа ночи, работать надо, а мышки нету» (батарейки сели, ага). Будучи вынужден прыгать по тулбарам и менюшкам при помощи одной только клавиатуры, свою зависимость от «манипулятора мышь» ощущаешь совсем по-другому. В попытках переосмысления открывшихся бездн я и добавил к занятиям профессионального программиста и журналиста-любителя мундир юзабилиста-самоучки. Но и решая несложные практические проблемы чужих интерфейсов, первую свою «задачку на юзабельность» разгадывать не бросил.

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

Мышиные истории

- И на что тебе сдалась дохлая мышь?

- Я гладил ее пальцем, когда мы шли, - ответил Ленни.

Дж. Стейнбек

Придумал мышь человек по имени Дуглас Энгельбарт в середине 60-х годов. История вопроса, вообще говоря, довольно занимательна (интересующихся отсылаю к врезке), но главное - уяснить, что Энгельбарт не пытался упростить пользователям жизнь. Целью его изысканий (продолжаемых по сию пору; см. bootstrap.org) было не приспособление нового средства (компьютера) к старым задачам (офисной работе), а создание новых методов интеллектуальной работы, без компьютера невозможных в принципе. Он хотел сделать компьютеры не простым средством, а эффективным. Достаточно сказать, что основной Энгельбартов труд тех времен - описание системы NLS[Общепризнано, что эта система была истоком и предтечей многих современных концепций - от гиперссылок и окон до вики и блогов] - назывался «Развитие человеческого интеллекта» . Предполагалось, что относительно долгий срок обучения работе с системой не является ее недостатком - постольку, поскольку новая система служит другим методам работы и вообще «расширению сознания».

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

Как бы хорош и теоретически обоснован ни был такой стиль работы, у него имелся очевидный недостаток: уверенное обращение с аккордной клавиатурой требовало длительного обучения. К тому же аккордная клавиатура казалась ненужным излишеством - вот же, обычная есть, с ней и ребенок разберется, и дело быстрее спорится, и эффективные методы известны давным-давно (со времен пишущих машинок) - чего еще надо-то? Так что когда лабораторию Энгельбарта закрыли, а наиболее перспективные сотрудники перебрались в Xerox PARC[Думаю, большинство читателей в курсе, но на всякий случай напомню: исследовательский центр Xerox в Пало-Альто (Xerox PARC), частично продолжая исследования пионеров вроде Энгельбарта, частично «с нуля», создал большую часть облика современного «десктопа» - идеологии WIMP (Windows, Icons, Menus, Pointers). Почему при этом фирма Xerox не стала компьютерным гигантом масштаба Microsoft - вопрос слишком сложный для того, чтобы рассматривать его в сносках], аккордная клавиатура в качестве основного метода взаимодействия с компьютером была постепенно забыта.

Дальнейшая судьба мышки связана с именами Алана Кея (главы Xerox PARC) и Билла Инглиша (ученика и последователя Энгельбарта). Первый «ответственен» за переориентирование «унаследованных» технологий: Энгельбарт хотел сделать компьютер «инструментом профессионалов», требующим длительного обучения и дающим огромные преимущества; Кей видел ПК «бытовой техникой», помощником в повседневной жизни, доступным и детям. Уильям же Инглиш, наравне с Энгельбартом работавший над самой первой мышью, вошел в историю как изобретатель «шарика в пузе» вместо двух перпендикулярных колес. К проникновению грызуна в массы приложили руку и два шведа: профессор Жан-Даниэль Никод и часовщик Андре Жинард, отцы первой промышленно изготавливаемой мыши и хозяева фирмы-производителя манипуляторов Logitech. И наконец (не бейте, я уже заканчиваю с историей!), нельзя не упомянуть фирму Apple и ее ранние операционные системы - как первые коммерчески успешные ОС, рассчитанные на преимущественное использование мыши. («имена для запоминания»: Стив Джобс, Джеф Раскин).

С историей - все. Теперь дадим по ушам современности.

«Я обвиняю!»

- Ну-ка, - сказал он сурово. - Давай сюда мышь!

Но Ленни довольно убедительно изобразил на лице недоумение.

- Какую мышь, Джордж? У меня нету никакой мыши.

Дж. Стейнбек

Давайте попробуем разобраться с тем, «шо мы имеем». Родная наша и чуть ли не с детства (а тем, кто помоложе, - таки с детства) знакомая мышь была изобретена как средство указания и только средство указания. Предполагаемый сценарий работы: указал «где делать» (позиция) мышью, указал «что делать» (команда) клавиатурой - так и только так. Единственная тогда мышиная кнопка использовалась лишь для того, чтобы «схватить» нечто. А теперь внимательно следите за руками: что будет, если из первоначальной идеи выбросить аккордную, «под одну руку», клавиатуру? А будет вот что.

Делай раз: отказываемся от аккордной клавиатуры. Да кому она нужна, неудобно, да и учиться надо. А мышь - это круто, ее мы оставим. Соответственно, командным устройством (указующее - все та же мышь) становится клавиатура обычная. Которая, вообще говоря, на работу одной левой вовсе не рассчитана, а напротив: профессиональная работа с клавиатурой есть слепой десятипальцевый набор. Значит, руки все время прыгают: клавиатура-мышь-клавиатура-мышь.

Делай два: неудобно, значит, все с клавиатуры делать? Отдаем мышке и командную функциональность: кнопок ей побольше (если не ошибаюсь, максимум на сегодняшний день - восемь[В начале девяностых в каком-то компьютерном журнале промелькнула новость (с фотографией) о выпуске 41-кнопочной мыши (номер был не первоапрельский). Конечно, пользоваться этим монстром размером с хороший сэндвич было неудобно, и популярности он не снискал. - Прим. ред.], но это экстремальный вариант), и интерфейс для всех программ делаем в стиле «point-and-click». Правда, список команд при этом сокращается до «тык левой, тык правой, тык средней» (нажатие нескольких кнопок одновременно - отвергаем: это практически возвращение к «аккордности»). Не проблема: вводим элемент «меню» как полный список всех доступных команд. Алгоритм работы у нас, значицца, будет такой: тык в меню, увидел список, тык в нужный элемент, увидел список, тык в нужный элемент… Не слишком эффективно, зато никто не запутается.

Делай три: вам эффективностей? их есть у нас! Начинаем использовать клавиатуру - вместе или вместо. Вместе - значит, вводим всякие изящные аккорды-комбинации: Shift+Click, Ctrl+Click, … Alt+Shift+Ctrl+Right Click+Left Click (не стеб, а действительно виденный автором вариант). Вместо - значит, «клавиатурные сокращения» - функциональные клавиши в сочетании с буквой, связанной (или не связанной) с нужной командой. Вводим дихотомию «новичок» (пользуется мышкой)/"опытный пользователь» (помнит клавиатурные сокращения; «догадаться» о сокращениях нельзя, их надо заучивать). Для любителей по-настоящему быстрой и профессиональной работы - последнее достижение эргономики, командная строка (наличие и необходимость «одномерной» командной строки в AutoCAD, программе для работы с двухмерной графикой, лично я считаю одним из главных признаков, что с мышкой «кажется, что-то не так»).

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

Кто виноват? М-Ы-Ш-Ь.

Дуглас Энгельбарт и его мыши

Доктор Дуглас С. Энгельбарт (р. 1925), хотя и по сию пору активно трудится над своими идеями, более всего известен по работе в SRI (Stanford Research Institute), где возглавлял лабораторию под претенциозным названием Augmentation Research Center («Центр исследований и развития [человеческого интеллекта]»). Энгельбарт считает персональный компьютер не «умными счетами», а инструментом ученого, инструментом, который выведет наши возможности оперирования информацией на качественно новый уровень. Результатом его деятельности в этом направлении стала NLS, oNLine System, продемонстрированная в 1968 году. Событие так поразило присутствующих, что впоследствии получило название Mother of All Demos. NLS была программно-аппаратным решением для эффективной коллективной работы и, в общем, истоком всего, что у нас есть сейчас, - многооконного интерфейса, гипертекста, мыши, вики-подобных средств для рабочих групп и прочая, и прочая, и прочая. Кроме того, лаборатория Энгельбарта была одним из двух первых узлов некоей сети ARPAnet (которая позднее стала чуть более известна под именем Internet).

Что касается мыши - ее изобретение отнюдь не было «случайным» (Энгельбарт в интервью: «Вы думаете, в один прекрасный день я проснулся и сказал себе: а давай-ка, изобрету мышь?»). Было проведено исследование множества возможных устройств с тестированием на толпах пользователей, с хронометрией, с использованием научной аппаратуры. Эффективнее мыши, кстати, было устройство для ножного управления, крепившееся к колену, но его посчитали слишком экзотичным для повсеместного распространения. Интересно, что сам Энгельбарт рассказывал: изобретение мыши стало сродни открытию нового химического элемента с помощью таблицы Менделеева: нашли систему, описывающую все существующие устройства, выписали их в таблицу, и в еще не заполненной клетке оказалось устройство с определенными свойствами, впоследствии ставшее мышью.

Считается, что дальнейшая судьба Энгельбарта (лаборатория была закрыта, все молодые сотрудники ушли в Xerox PARC; Энгельбарт пережил пожар собственного дома; рак, от которого успешно излечился; был абсолютно забыт компьютерной общественностью вплоть до конца 1980-х, когда о нем вспомнили с подачи любопытного журналиста; в 1997 получил премию Тьюринга) стала результатом ошибочной ориентации доктора на системы разделенного времени - в те годы, когда персональные компьютеры стали набирать популярность. Впрочем, у автора статьи есть основания полагать, что большей ошибкой Энгельбарта (если считать это ошибкой) была убежденность, что компьютер должен стать сложным инструментом ученого, требующим определенных знаний и умений - но и дающим определенные возможности. Взгляды эти достойны уважения - но рынок, рынок! - рынок уже требовал тысяч компьютеров для секретарш, бухгалтеров, юристов… Да и в рынке ли дело? Всякий ли согласится разрабатывать инструмент для сотни посвященных, когда можно - для сотен тысяч «нормальных людей»? Да и всякий ли из тех ученых, о ком радел Энгельбарт, готов месяцами учиться ради мифического «augmenting», когда можно на «компьютере для всех» набирать-распечатывать научные статьи, делать простые расчеты безо всякого обучения?

Интермедия

- Пожалуйста, Джордж, не отбирай.

- Дай сюда!

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

Дж. Стейнбек

Возможно, из предыдущего текста это не вполне очевидно - но я отнюдь не агитирую за немедленное и повсеместное введение аккордной клавиатуры. Я вполне отдаю себе отчет в том, что она - таки да - не самый легкий в использовании гаджет. Но вот на что я пытаюсь указать: лаборатория, в которой некогда родилась мышь, в процессе «родов» провела массу исследований и строжайшее тестирование возможных решений; мышь была лучшим и эффективнейшим из них при условии использования в паре с аккордной клавиатурой. Но условие это было забыто[К слову, схожей вивисекции в свое время подверглось высказывание В. И. Ленина «В условиях поголовной безграмотности населения важнейшим из искусств для нас является кино и цирк"] - первейшее достоинство мыши, даже-и-ребенку-понятность, затмило все остальное. Вот и расхлебываем теперь.

Опыт конспирологии

Без сомнения, именно использование мыши было одним из главных факторов развития графических, двухмерных интерфейсов. Наличие мыши и - пресловутая «интуитивная понятность». Именно здесь произошло «отбрасывание старого» - как часто бывает, новый способ построения интерфейса, он же GUI[Graphical User Interface - графический интерфейс пользователя], он же WIMP[Windows, Icons, Menus, Pointers - окна, иконки, меню, курсоры], не продолжал, а отбрасывал старые традиции.

Одномерный интерфейс - программа получает «вход», выдает «выход» - предполагал легкость создания «цепочек программ» (выход одной является входом другой). Двухмерный - пользователь тыкает мышью в кнопки и менюшки, изображение на экране меняется - не предполагает возможности взаимодействия между разными программами (кроме той, что заранее задана автором программы). То есть, говоря по-умному, был «широкий командный язык при бедности средств выражения», а стал «узкий командный язык при богатом интерфейсе». Раньше одна программа могла послать другой строчку символов - и вторая практически гарантированно их поняла бы и как-то обработала. Сегодня одна программа может послать другой только[Это, конечно, упрощение - но допустимое и на понимание ситуации не влияющее] сообщение «тыкнули мышью в точку [x, y]» - но, чтобы это сообщение было осмысленным, посылатель сообщения должен понимать, где (по каким координатам) у получателя находятся «органы управления» (кнопки, менюшки, поля ввода) - а вопрос это нетривиальный и в общем случае неразрешимый.

«Великий храм рухнул, остались лишь камни» (гр. «Крематорий») - была разрушена инфраструктура, которую позже начали называть Unix-way: куча маленьких программ-утилит, каждая решает ровно одну задачу, сложные задачи решаются цепочками программ. Нет больше цепочек, есть монолитные монстры. Pardon moi, но и здесь главный обвиняемый имеет две кнопки, одно колесико и один хвост (шарик в пузе - уже архаизм).

Ой, юникс-вэй!

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

Вообще говоря, название «Unix-way» является «отрицающим», «Unix» здесь означает «не Windows и не Mac OS», перешедшие на «модный GUI». Когда появились графические оболочки для Unix/Linux, сравнимые по понятности для юзера с ненавистной виндой (Gnome/KDE), они, по сути, копировали не только понятность Windows, но и «чайнико-центричную», «закрытую» идеологию программ «я сама по себе, меня не тронь». Отсюда и миф, что «по-другому, мол, нельзя», и даже сверх того: «Рюши (GUI) - для чайников, командная строка - для профессионалов».

Впрочем, есть мнение, что дело не в GUI, а в прискорбном сворачивании пути Unix на «догнать и перегнать M$ на персональных компьютерах», «сделать такое же, только свое», - то есть никто изначально и не пытался сделать «двухмерный» пользовательский интерфейс, не отходя от идеалов «маленьких взаимодействующих программ». «Прискорбным» сей факт я считаю оттого, что Unix-way как отдельное и самобытное явление практически забывается. А жаль. Ведь в мире, где все делают одно и то же, жить скучновато.

Ваши предложения

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

Дж. Стейнбек

Извечный принцип «критикуя - предлагай» я нарушу, всенепременно нарушу. Я не знаю, как надо. Пока что я знаю, как не надо. Не надо - пытаться делать сложную работу одной рукой в варежке (а как еще назвать руку с одним-двумя действующими пальцами?). Не надо - упражнений на растяжение пальцевых суставов (Ctrl+Alt+…, нажать четыре раза, если не открывают).

В конце концов, лично я люблю свои руки. У меня в них до фигища разных костей, мышц, сухожилий и какое-то неимоверное количество степеней свободы - зря, что ли? Если бы природа считала, что вершина эволюции - человек с мышкой, у нас было бы два пальца на правой руке, двигались бы они только вверх-вниз, да и то на треть сантиметра. Может быть, будущее за здоровенным тачпадом, по которому водят двумя руками и действуют всеми пальцами (его прототип можно посмотреть на сайте tactiva.com). Может быть - за пятикнопочной мышью (или - чем черт не шутит - за двумя пятикнопочными?). В одно я верю твердо - время, которого ждал Энгельбарт, время, в которое не хотят верить производители «компьютеров-для-Вашей-секретарши-!», время, когда компьютер станет не помощником в рутинных действиях, а продолжением «ментального тела», - время это наступает. И мышам в нем не место.

Во время подготовки этого материала ни одна «мышь» не пострадала.