В этот день, 13 января, год назад скоропостижно скончался наш друг Михаил Донской. Он был автором сотен инновационных, остроумных идей, автором огромного числа программ, ставших популярными у многомиллионной аудитории. Он консультировал десятки крупнейших IT-компаний мира от 1С до «Майкрософт». Обожал общаться с прессой, и был любим ею. Он обожал своих сыновей и внуков. Оставаясь, несмотря на возраст, очень озорным, влюбленным в жизнь человеком. У нас были общие, как всегда грандиозные, так как Мишу другие не вдохновляли, планы... Infox.ru был последним местом его работы. Мы решили почтить память Михаила Донского публикацией его последней статьи, которая должна была стать первой в его спецпроекте в рамках Infox.ru.
Сегодня мышь – привычное устройство, и кажется, что она всегда была и всегда будет. Однако был момент, когда мышь почти похоронили, а сейчас началась революция, которая заведомо унесет от нас это милое устройство.
Зачатие и рождение
В 70-х годах прошлого века только появились дисплеи для работы с компьютерами коллективного пользования. Они были плохого качества и позволяли работать только с текстами. Возникло понятие курсора – места редактирования текста. Позиционирование курсора большой точности не требовало, и для этого вполне хватало клавиш со стрелками на клавиатуре.
Но в недрах исследовательского центра фирмы «Ксерокс» зрело понимание, что нужна работа с графикой, а не только с текстом, и нужно устройство, которое бы позволило пользователю определять на экране место взаимодействия с программой с бОльшей точностью. Стрелки на клавиатуре уже не годились, и изобрели понятие «указующего устройства» (pointing device).
Техническая реализация такого устройства была в первое время весьма многообразна – джойстики, трекболы и, наконец, то, что потом назвали мышью. У всех них был большой недостаток – трудности обучения пользованию этим устройством.
Гениальной идеей, спасшей мышь от мертворождения, стало понятие курсора мыши, существенно отличное от текстового курсора. Во-первых, курсор мыши позиционируется гораздо точнее, во-вторых, он реагирует на манипуляции пользователя с мышью, и, в-третьих, он может позиционироваться программно.
Тем не менее у «Ксерокса» с графическим интерфейсом вообще и с мышью в частности ничего не получилось. (Вообще, вся история IТ полна примерами, когда плодами изобретений пользовался не изобретатель, а его последователи, а «Майкрософт» -- просто чемпион по капитализации чужих идей.) Но эстафету «Ксерокса» подхватил «Эппл», выступивший с концепцией персонального компьютера, для которой графический интерфейс был ключевым свойством. И перед «Эппл» встала тяжелая задача (сегодня выглядящая совсем смешно) – как научить людей пользоваться мышью.
Решена эта задача была гениально просто. Первыми двумя приложениями для «Элизы» (предшественницы «Макинтоша») стали детская игра и графический редактор, а первыми пользователями – малолетние посетители выставки, которым дали доступ к компьютеру, а, главное, к мыши. Дети сразу поймали идею связи между движениями мыши на коврике и курсора на экране и в отличие от взрослых перестали смотреть на мышь вообще. И все получилось!
Мышиная возня
«Макинтош» стал популярным компьютером, и вдогонку пошла фирма IBM со своим IBM PC. Правда, к моменту внедрения там графического интерфейса IBM разошлась с «Майкрософтом», что привело к появлению сразу двух систем графического интерфейса для этого класса машин – Windows и безвременно почившего OS/2.
Для «Эппл» практически религиозной является приверженность к однокнопочной мыши. Чтобы отличаться от «Эппл», «Майкрософт» разработала и даже сама начала производить мышь с несколькими кнопками. На мой вкус все кнопки начиная с третьей только мешают пользоваться мышью, но, может, я просто не умею их настраивать. А вот со второй кнопкой случилась целая история.
«Майкрософт» так педалировала необходимость этой кнопки, что версии Windows начиная с Windows-95 предполагают более эффективное пользование правой кнопкой, чем левой. Практически все действия, связанные с операционной системой (не путать с прикладными программами) на современных версиях Windows лучше делать правой кнопкой мыши.
Эти религиозные войны так бы и остались бессмысленными, если бы некоторое время назад не придумали колесико на мыши. Это позволило решить одну из самых неприятных проблем графического интерфейса – проблему двух точек внимания при скроллировании окон. А именно, если вы скроллируете окно с длинным текстом посредством щелчков кнопкой мыши по скроллбару, то вам необходимо смотреть одновременно в два места – на курсор мыши, который норовит сползти со скроллбара, и на текст в окне, чтобы найти нужный фрагмент текста. Именно эту проблему прекрасно решило колесико мыши. Если бы оно только не было одновременно кнопкой! Я часто случайно пережимаю колесико при скроллировании и получаю, как говорил Жванецкий, самые неожиданные эффекты.
Анатомия мыши
Пример колесика демонстрирует разные стороны проблемы использования того или иного свойства мыши.
Само по себе колесико ничего, естественно, не делает, кроме передачи сигнала драйверу мыши. Этот драйвер мыши порождает событие и отдает его активной программе. Она, в свою очередь, вольна реагировать на это событие, как ей вздумается, вплоть до полного игнорирования.
Однако программисты договорились, что прокрутка колесика будет равносильна вертикальному скроллированию активного окна. И пользователю кажется, что колесико само прокручивает окно. Но программисты договорились далеко не все. Возьмите программы, связанные с географическими картами. Там прокрутка колесика меняет масштаб показа карты. Для меня это стало неприятным сюрпризом. Я постоянно, в попытках сместить изображение карты вниз или вверх, пытаюсь воспользоваться колесиком и долго чертыхаюсь.
Таким образом, для нового интерфейсного жеста, связанного с мышью или любым другим «указующим устройством», требуются: создание физического объекта для этого жеста (в нашем случае колесика); доступа программиста к информации о манипуляции этим объектом; принятие некеого стандарта или, в крайнем случае, полустандарта о значении этих манипуляций; и программной реализации реакции на манипуляции, соответствующей этому стандарту.
В сущности, беда третьей и последующих кнопок мыши была как раз в отсутствии такого стандарта, а никакой пользователь не сможет выучить, что одно и то же его действие означает в каждой программе.
Мышь нового поколения
В последние несколько лет появились устройства, где в качестве «указующего устройства» используются стилусы, а их взаимодействие с программами осуществляется через «чувствительный к касанию экран» (Touch screen). Сначала, пока такие экраны были дороги, они использовались в информационных киосках, потом, по мере удешевления экранов, эта технология распространилась на карманные компьютеры и коммуникаторы.
На самом деле для touch screen вместо мыши можно использовать любой предмет, в частности, просто палец.
Однако что стилус, что палец, не чета мыши – нет правой кнопки, к тому же на экране нет курсора, отображающего положение мыши. Куда нажмешь стилусом, там и курсор. Казалось бы, здесь идеология «Эппл» с одной кнопкой одержала сокрушительную победу.
Но нет, чтобы возместить потерю правой кнопки придумали понятие «жеста». Если на ПК единственным жестом было двойное нажатие, то для стилуса есть еще и долгое нажатие. Для систем на базе мобильной версии Windows это долгое нажатие приводит в точности к тем же действиям, что и нажатие правой кнопки.
Стилус и, тем более, палец -- гораздо менее точные устройства, чем мышь. С точки зрения теории графического интерфейса, в которую здесь не хочется углубляться, это приводит к совершенно неожиданным последствиям. Например, хотя экран коммуникатора гораздо меньше, чем экран ПК, интерфейсные элементы (те же кнопки, например) должны быть гораздо больше, чтобы в них было легче попасть пальцем.
Смертельная болезнь и тихий уход
Проблема touch screen по времени наложилась на тенденцию к мобильности компьютеров, широкому распространению коммуникаторов, выпуску новых видов нотбуков с touch screen. Таким образом, актуальность решения интерфейсных проблем для стилуса стала крайне высокой.
И тут «Эппл» предложила поистине революционную идею – отказаться от стилуса вообще и в качестве «указующего устройства» использовать самое естественное устройство – палец. А поскольку пальцев у человека 10, то попробовать использовать сразу несколько пальцев, для начала два.
Технически это решение практически ничего не стоит. Touch screen уже есть, пальцы – тем более, их взаимодействие отлажено для одного пальца. Достаточно обеспечить одновременное нажатие нескольких, а там и до жестов не далеко.
Вместо детей для продвижения такого интерфейса были использованы подростки. В качестве первого образца – iPod. Некоторые жесты оказались естественными и поэтому легко запоминающимися. Например, движение пальцев в противоположные стороны экрана означает раздвижение окна в указанном направлении.
Но другие жесты либо игнорируются, либо приводят к неожиданным результатам. На самом деле проблема в том, что возникает новый язык взаимодействия. «Эппл» придумала базис этого языка, но из букв (жестов) только пяток.
Ближайшие несколько лет уйдут на то, чтобы придумывать новые жесты (как новые буквы этого алфавита), придумывать их значения и в острой конкурентной борьбе делать эти значения стандартными.
Арбитрами в этой борьбе, как и в борьбе операционных систем, будут программисты. Чем больше прикладных задач будет использовать новый жест в одном и том же значении, тем скорее пользователь примет это значение как стандартное. И новым программистам волей-неволей придется реализовывать именно это значение этого жеста.
Кстати, что-то похожее было с кино в начале прошлого века. После того как возник монтаж, начали придумывать значение различных монтажных склеек. Некоторые из них стали настолько стандартными, что воспринимаются как нечто естественное и маленькими детьми. Примером может служить стык планов, на первом из которых глаза персонажа, а на втором – какой-либо предмет. Сегодня каждый понимает, что это означает, а именно: этот персонаж смотрит на этот предмет. До Эйзенштейна, который придумал этот «жест», никто этого не понимал. А потом научились.
Сегодня мы на пороге революции в графическом интерфейсе. Точнее, она уже началась. Власть мыши кончилась. Но новому виду интерфейса еще предстоит большое развитие для того, чтобы стать удобным, стандартным, короче – естественным.