Низкоуровневая революция

24.03.2003

Рецензия на книгу Джефа Раскина Интерфейс. Новые направления в проектировании компьютерных систем (The Humane Interface: New Directions for Designing Interactive Systems by Jef Raskin; издательство «Символ-Плюс», 2003).

Наш рейтинг книги: 5/5

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

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

К сожалению, не все здесь гладко. Подход Раскина обладает следующими проблемами (что сказывается и на книге):

  • Низкоуровневые интерфейсные механизмы воспринимаются как проблемные только разработчиками интерфейсов. В отличие от высокоуровневых проблем, низкоуровневые проблемы почти никогда не препятствуют выполнению задач пользователя (т.е. они замедляют выполнение задачи, повышают вероятность ошибки, но задача всё равно является выполнимой). Кроме того, обычный пользователь в принципе не фиксирует низкоуровневые проблемы как закономерные — он либо вообще не замечает их (так, почти никто не замечает, как много времени он тратит на поиск нужного элемента в меню), либо полагает, что это его личные проблемы (у него самого де «руки кривые»). В результате решение этих проблем очень трудно или невозможно продавать. Сам Раскин знает это не понаслышке, поскольку изобретенный им компьютер Canon Cat, в котором многие низкоуровневые проблемы были успешно решены, провалился на рынке после восьми месяцев продаж (странно при этом, что большая часть примеров в книге касается именно Canon Cat).
  • Даже при всем желании многие здравые решения, приведенные в книге, нельзя полноценно реализовать — они должны приходить из операционной системы и/или от производителей аппаратной части компьютера (например, рекламируемые клавиши Leap).
  • Изменение низкоуровневых механизмов неизбежно приводит к тому, что изменяются и механизмы высокоуровневые. Если по каким-то причинам придется менять фундамент здания, оставить само здание в неприкосновенности не получится, его придется перестраивать, возможно, перестраивать полностью. Здесь Раскин совсем не так убедителен. Так, в главе «Имена файлов и файловые структуры» начисто опущено предположение, что файл может быть не только текстовым — всего один файл с изображением рушит рисуемую картину прекрасного будущего. Вообще, в описании большинства предлагаемых решений Раскин выпячивает очевидно положительные последствия, но не старается комплексно проанализировать все последствия. В результате трудно избавиться от чувства, будто это не профессиональная книга, а рекламный ролик, пропагандирующий очередной метод для похудения.

Таким образом, в данное время книга не имеет большого практического значения (хотя имеет немалое теоретическое). Кроме того, есть проблемы и у собственно книги:

  • Трудно понять, на кого книга рассчитана. Если на профессиональных разработчиков интерфейса, то зачем в ней долгое изложение GOMS, который любой профессионал знает и так? Если не на профессиональных разработчиков интерфейса, то почти полная невозможность использовать книгу делает её издание странным.
  • Автор не делает некоторых важных уточнений о применимости предлагаемых им решений. Так, глава «Миф о дихотомии “новичок-эксперт”», в которой Раскин утверждает, что «хорошо разработанный, человекоориентированный интерфейс совсем не требует разделения на подсистемы для новичков и экспертов» вызывает сильнейшее недоумение, пока не понимаешь, что речь идет о низкоуровневом интерфейсе (как правило, более подготовленный пользователь выполняет свои задачи не совсем так, как это делает новичок, и даже часто выполняет другие задачи в той же системе; напротив, и новичок, и эксперт одинаково «нажимают на кнопки», поскольку это действие не зависит от опыта или личных качеств, а целиком обусловлено когнетикой).
  • Не совсем понятно, как в книгу попало приложение, в котором Раскин оправдывается в использовании однокнопочной мыши на Macintosh (отголосок старого спора).

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

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


One clap, two clap, three clap, forty?

By clapping more or less, you can signal to us which stories really stand out.