Опять про интерфейсы |
[Apr. 22nd, 2008|01:35 am] |
magius wrote: ты знаешь как выглядит Идеальный Интерфейс? :) это ОДНА кнопка с надписью "сделай мне заебись!" :) Step wrote: Никаких кнопок. Одна надпись - "тебе уже заебись!"
http://bash.org.ru/quote/52960
Вот интересно, тема "годится ли Linux для десктопа" уже побила по популярности "как нам обустроить Россию" у русской образованной публики?
Ответов на оба этих вопроса я не знаю (не уверен, что осмысленные ответы вообще возможны), но свои критерии пригодности интерфейса ПО я тут в процессе одного обсуждения сформулировал и, пожалуй, запишу для памяти.
Формулировка совсем банальная; тем более странно, что обычно "хорошим интерфейсом" называют совсем другие вещи.
При прочих равных, лучше тот интерфейс, который позволяет поставить машине задачу наиболее точно и с наименьшими затратами интеллектуальных усилий.
Всё остальное (пологая "кривая обучения", соответствие ожиданиям пользователя и наработанным рефлексам, визуальная и вообще сенсорная приятность и т.д.) — замечательные вещи, но не следует забывать, что они второстепенны относительно отквоченного принципа.
Что же обычно происходит на практике?
Популярнее всего два варианта. Имитация некомпьютерных средств работы с обрабатываемым материалом (к счастью, со временем этот подход встречается всё реже и реже) и забивание в программу некоторого количества best practices, существующих в данной предметной области, в надежде, что ничего, кроме них, пользователю не понадобится.
Надо сказать, что именно второго решения пользователи, как правило, хотят ("дайте мне кнопку, чтобы я на неё жал"©один клиент фирмы, в которой я сейчас работаю; см. также эпиграф). Но людям свойственно хотеть совсем не того, что им нужно на самом деле.
В чём проблема с этими двумя подходами?
Об имитации некомпьютерных инструментов смешно даже говорить. Такие интерфейсы, по сути, закрывают пользователям доступ к реальным возможностям компьютера, обессмысливая сам факт "автоматизации". С клонированием типовых решений всё сложнее.
В России, кстати, объяснить, в чём проблема с такими интерфейсами, особенно сложно из-за изобилия пиратского софта. 90% процентов пользователей ставит 90% программ для того, чтобы потыкать в первые попавшиеся меню в течении пары минут и забыть об установленной софтине до её сноса при ближайшей расчистке винчестера; "хорошим интерфейсом" в такой ситуации начинает считаться то, что позволило за эту пару минут получить "крутой" результат. Пользователю, который два раза в жизни запускал пиратский фотошоп, чтобы закрасить "штампом" прыщи на фотографии, и раз в год набивает в ворде заявление на отпуск, очень трудно объяснить, почему интерфейс фотошопа откровенно плох, а интерфейс ворда чудовищен — ну как же, за пять минтут этот интерфейс дал ему то, что было нужно. А с реальными проблемами сталкиваются только те, кто знает, чего хочет, и пытается получить конкретный результат.
Проблемы же эти связаны с тем, что в программе, которая ориентирована на быстрое получение типового результата, можно быстро получить только этот типовой результат. А при попытке сделать что-то осмысленное "интуитивность" и "пологая кривая обучения" куда-то стремительно испаряются, и интерфейс начинает мешать пользователю своей нелогичной организацией, своей неадекватной терминологией, короче, своей далёкостью от того, что реально делает программа. Классический пример: много ли пользователей пользуются стилями в ворде? Думаю, в лучшем случае единицы процентов. А как сделать в ворде список литературы, такой, чтобы при появлении в его середине нового источника все номерные ссылки на источники в тексте оставались корректными? То-то. Сравните теперь с тем, как это делается в "недружественном" LaTeX.
Нет, я не против интерфейса, описанного в эпиграфе. "Дружественный" GUI прекрасен в тех ситуациях, когда надо один раз сделать нетипичное для тебя действие и забыть решённую проблему, как страшный сон. Но, согласитесь, странно затачивать программу под тех, кто использует её один раз, правда?
Мне не нравятся современные стандарты интерфейса именно потому, что из-за ориентации на непрофессионала в ряде областей попросту отсутствуют (или вытеснены в маргинальные ниши) удобные профессиональные инструменты; более того, всеобщее стремление к "дружественности" ПО приводит к тому, что портят уже существующие технологии (из свежих примеров — в новых версиях Linux-систем в /etc/fstab стали пихать UUID устройств вместо их имён; осмысленная ручная правка fstab стала из-за этого практически невозможной; говорить же без мата про вещи типа hal попросту нет никаких сил).
Вот ты, Митя, хочешь, чтобы вайфай в Debian настраивался автоматически при попадании устройства в новую сеть. Это прекрасно, и я целиком и полностью за, с одной оговоркой: это не должно усложнить мне руление интерфейсами через ifconfig и прочие полезные утилиты, а также через редактирование файлов в /etc. Система, в которой логику внутреннего устройства принесли в жертву "дружественности" к пользователю (дружественности к начинающему пользователю, не знающему, чего он хочет, на самом деле), у нас уже есть; все, кому нравится такой подход, могут работать в ней.
В общем, мне кажется, что инструмент должен быть удобен тому, кто пользуется им часто и разнообразно. Если этот инструмент при этом будет иметь пологую кривую обучения — хорошо; но это ни в коем случае не первоочередная задача. Автомобили вот, скажем, никто не оценивает по тому, насколько быстро полный чайник может стронуть их с места, не так ли?
Мне повезло: для довольно большого круга задач я нашёл средства, имеющие очень приличный интерфейс. Это Emacs для редактирования текстов, в том числе исходного кода; LaTeX для получения текста со сложным форматированием; оконный менеджер Window Maker; эмулятор терминала Konsole; просмотрщик графических файлов GQview; книгочиталка FBReader (список неполный). Про каждый из этих продуктов, я, пожалуй, берусь рассказать, почему он хорош, если это кому-нибудь интересно.
Да, и ещё: не всякая программа с крутой кривой обучения скрывает возможности быстрой и эффективной работы. Бывают и просто плохие интерфейсы, как, скажем, у GIMP или vi.
P.S. А вообще, чего-то я расписался, а можно было дать всего несколько ссылок:
- http://www.humanized.com/enso_demo.php — демо-ролик софтины, обеспечивающей действительно удобную работу в современных графических средах. Кстати, этот самый Аза Раскин, который директор и главный идеолог Humanized — сын Джефа Раскина, благодаря которому Мак на порядок пригоднее для большинства пользовательских задач, чем любая другая настольная ОС; и опирается в значительной степени на идеи своего отца. Посмотрите обязательно, вот что такое по-настоящему удобный интерфейс.
- http://www.wagner.pp.ru/~vitus/articles/user-friendly.html Виктор Вагнер. "О вреде дружественных интерфейсов". Примерно о том же, о чём этот пост, но куда убедительнее и грамотнее, да и автор поавторитетнее меня
- http://mydebianblog.blogspot.com/2006/10/blog-post_30.html Аллин Коттрелл. "Текстовые процессоры: глупые и неэффективные". Почему WYSIWYG — отстой, и что не отстой.
|
|
|