Наследие Джефа

Mar 27, 2011 23:14

Обещанную статью руки, ноги, голова дошли сегодня дописать. Статья объёмная, поэтому ей будет лучше побыть в кате.
Попрошу фанатов, антиподов и апологетов расслабиться и прочитать её спокойно. В ней нет ни одного предложения, которая восхваляла бы одну систему и люто ненавидела другую. Этой мой личных опыт: то, что я видел, знал или вы, дорогие мои, подсказали. Я буду рад, если вы найдёте реализованные идеи в других системах и с удовольствием включу в статью.

Джеф Раскин. Специалист по компьютерным интерфейсам. Его идеи, были им самим же реализованы в его идеальном компьютере Canon Cat с невидимым интерфейсом ещё в 80-х годах прошлого столетия. Компьютера нет, а идеи остались. Пришло время узнать, какие идеи прижились, какие только-только внедряются, а какие уже просто не прилично не использовать.

Возобновление прерванной работы
Слово Джефу:
Когда пользователь прекращал работу, компьютер сохранял на первой дорожке диска побитовое изображение экрана именно в том виде, который был на момент остановки работы. Когда пользователь возвращался к работе, на экран за долю секунды помещалась та самая картинка.

Компьютер Canon Cat имел свойство при запуске всегда возвращаться к последней задаче. Более того, на экране появлялось именно то изображение, включая позицию курсора, которое было на момент последнего его использования. Многие пользователи говорили, что когда они видели на экране ту же самую картинку, это помогало им быстрее вспомнить, чем они занимались, когда последний раз пользовались машиной, поэтому возвращаться к работе с Canon Cat было для них более приятно, чем к работе с компьютером, который при запуске отображал рабочий стол.

В новой Mac OS X Lion будет использоваться функция Resume, которая будет обеспечивать переход к тому месту в приложении, на котором вы остановились, даже после перезагрузки системы. Больше нет нужды закрывать приложения, сохранять работу при перезагрузке - спустя 24 года!

Но чуть раньше эта функция была реализована в браузерах Опера и Хром: недавно закрытые сайты открываются с того места, где вы закрыли вкладку. Например, читали вы комментарии в блоге и закрыли случайно вкладку - браузер откроет страницу именно в том месте, где вы читали перед закрытием.

Поиск по файловой системе
Ещё:
Еще одним шагом к упрощению интерфейса является устранение трудно запоминаемых и неудобных файловых имен, а также системных файловых структур. При наличии хороших механизмов поиска использование имен файлов и файловых структур перестает быть необходимым.
Содержание текстового файла и есть его самое лучшее имя.

Здесь уместно процитировать Дэвида Пог, автора книги Mac OS X Snow Leopard, основное руководство. В ней он рассказывает о поисковой системы Spotlight.
Начните вводить текст, который должен определить то, что вы хотите найти и открыть.
В процессе ввода с клавиатуры под строкой поиска начинает расти список, в котором перечисляются все найденные Spotlight объекты, содержащие введенные символы.
(Это живой интерактивный поиск: Spotlight изменяет список результатов во время ввода с клавиатуры.) В списке перечисляются все файлы, папки, программы, сообщения электронной почты, записи в адресной книге, назначенные встречи, картинки, фильмы, документы PDF, музыкальные файлы, закладки Интернета, документы Microsoft Office (Word, PowerPoint, Excel, Entourage), панели системных настроек, списки неотложных дел, журналы переписки, веб-страницы из истории и даже шрифты, если эти элементы содержат введенные символы независимо от их имен и местонахождения.

Spotlight - не просто быстрая команда поиска. Этот инструмент также избавляет от возни с вложенными папками, с которыми приходится работать ежедневно. Зачем копаться в папках, если можно открыть любой файл или программу несколькими нажатиями клавиш?

Нет, Spotlight действительно заглядывает внутрь файлов. Он умеет читать и выполнять поиск в текстовых файлах, документах RTF и PDF, документах iWork, Keynote, Pages, Photoshop и Microsoft Office (Word, Excel, Entourage и Power-Point) и др.

Фактически, идея Джефа реализована в Леопарде.



Ещё цитата:
В системе должна быть доступной также и другая возможность: в любом месте, где пользователь может ввести цифры, он должен иметь возможность ввести арифметическое выражение и вычислить его.

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



Живой поиск
Я вынужден привести объёмную цитату, поскольку в ней содержатся основные доводы в пользу использования живого поиска, как его называют в Гугл.

Менее распространенным методом является пошаговый поиск (incremental search), известный пример которого можно увидеть в текстовом редакторе EMACS, работающем под операционной системой UNIX (Stallman, 1993). В большинстве случаев использования пошагового поиска, так же как и при поиске с разделителями, пользователь должен сначала вызвать диалоговое окно, в котором имеется поле для ввода шаблона поиска. Когда пользователь вводит первый символ шаблона, система использует этот символ как полный шаблон и сразу же начинает поиск первого экземпляра этого символа в выбранном направлении. Если экземпляр этого первого символа обнаруживается до того, как введен следующий символ шаблона, то он выбирается, а курсор помещается сразу в конце выборки. Если же следующий символ шаблона вводится до того, как экземпляр обнаруживается, то этот символ добавляется к шаблону и поиск продолжается теперь уже в отношении экземпляра расширенного шаблона. Процесс повторяется по мере добавления символов к шаблону поиска.

Пошаговый поиск имеет ряд других преимуществ в сравнении с поиском с разделителями. Пошаговый поиск требует меньше времени. Поиск начинается, как только первый символ шаблона введен. Система не ожидает того момента, когда шаблон будет введен полностью. При использовании поиска с разделителями компьютер ждет, пока пользователь полностью введет шаблон и обозначит его разделителем, после чего уже пользователь ждет, пока компьютер производит поиск. При использовании поиска с разделителями пользователь должен сначала предположить, по какому шаблону компьютер сможет отличить нужный объект от других подобных объектов, тогда как при использовании пошагового поиска пользователь сразу же может определить, что шаблон оказался достаточным, чтобы выявить нужный объект, потому что он уже появился на экране. Таким образом, как только пользователь видит, что нужная точка найдена, он может прекратить введение шаблона. Если же он введет слишком много символов, т.е. скорость ввода будет больше, чем скорость поиска, шаблон все равно будет введен, и курсор установится приблизительно в том месте, которое предполагается. Если пользователь ошибается при вводе шаблона в систему поиска с разделителями, для исправления ошибки он должен ждать до тех пор, пока поиск по неверному шаблону не завершится, - в лучшем случае пользователь может воспользоваться механизмом для остановки поиска, если такой предусмотрен. В большом тексте поиск может занимать значительный период времени. В хорошо разработанном пошаговом поиске пользователь может удалить неверно введенный символ в любое время и возвратиться к последнему найденному экземпляру. Поскольку использование клавиши Backspace для исправления ошибки может быть привычным, процесс исправления проходит довольно быстро, и поиск останавливается сразу же. Чтобы возобновить поиск, пользователь может ввести правильный символ.

Еще одним преимуществом пошагового поиска является то, что в нем имеется постоянная обратная связь во время введения символов шаблона, т.е. результаты поиска видны сразу. При использовании поиска с разделителями пользователь не знает, насколько введенный им шаблон является подходящим или даже насколько правильно он был набран, до тех пор пока ввод не закончен и попытка поиска не начата. С точки зрения построения интерфейса, пошаговый поиск имеет так много преимуществ, а поиск с разделителями - так мало, что, на мой взгляд, использование поиска с разделителями редко когда может быть предпочтительным.

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

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

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

В сентябре 2010 года в блоге Гугла в России был анонсирован живой поиск http://googlerussiablog.blogspot.com/2010/09/blog-post.html. В блоге идею и описание Раскина уместили в одно предложение: «Вводить запрос и мгновенно получать результат». От идеи, описания и о преимуществах пошагового (живого) поиска прошло около двух десятилетий.

image Click to view



Модальный и безмодальный поиск
Снова Джеф:
В обычных пользовательских графических интерфейсах как пошаговый поиск, так и поиск с разделителями запускается модально, с помощью диалогового окна, тогда как использование клавиши является безмодальным. Идею использования для поиска квазирежима можно дополнить применением специальной кнопки на микрофоне (или ГУВ), удерживаемой для включения квазирежима, в котором вводимые слова, рисунки или рукописный текст могут включаться в шаблон поиска. Другие методы ввода имеют аналогичные средства для создания квазирежима поиска (Raskin и Winter, 1991).

Написано довольно сложно, но то, что имеется в виду под безмодальным поиском - это привычная маленькая поисковая строка в браузерах. Она скромно появляется либо сверху, либо снизу, в зависимости от идеологии команды разработчиков браузеров, при нажатии клавиш Ctrl+F (Command+F) - это тот самый квазирежим. Модальный поиск использовался в IE 6, 7.

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

Предоставим слово Илье Бирману:
Когда переходишь с Виндоуса на Мак, первые два дня напрягает отсутствие кнопок OK, Cancel и Apply в System Preferences: кажется неестественным закрывать окно, в котором сделал изменения, не сохранив их. Но на третий день это становится нормальным и естественным.

По моему всё довольно очевидно.

Автоматическое сохранение данных
Снова он:
В идеале для сохранения данных вообще не должны использоваться специальные команды. Весь материал, включая все его промежуточные состояния, должен автоматически сохраняться, если только пользователь не удалил какую-то его часть намеренно. В то время возможности нашего аппаратного обеспечения еще не позволяли достичь этого.

Редко когда удается работать с программами в которых реализована идиома автоматического сохранения данных при непосредственном манипулировании. Одна из них - Family 2009 Pro. Программа управления собственными финансами.
Идиома реализована просто: вводим новый расход или доход. Нажимаем Enter - всё. Кнопки Save нет вовсе, ни на панели инструментов, ни в меню.



Другая Google Docs - электронные таблицы. Сохранение данных при вводе. Работает по принципу продвинутого онлайн редактор WYSIWYG. Кнопка сохранить отсутствует.

И так. Что мы из всего этого узнали?
Хотелось бы верить, что те идеи, которые пронёс через всю свою жизнь Раскин, оказались де-факто стандартом как для пользователей, так и для разработчиков.

Upd: ivanpoukhkal в комментариях обстоятельно дополнил статью примерами.

идея, Раскин, Гугл, поиск, мак, интерфейс

Previous post Next post
Up