Записки реликта [entries|archive|friends|userinfo]
Latimeria chalumnae

[ userinfo | ljr userinfo ]
[ archive | journal archive ]

~/.emacs [Aug. 29th, 2008|01:56 am]
[Tags|, , ]

Чтобы не пропало, ну и, может быть, кому-нибудь будет полезно: мой .emacs. Никаких открытий и редкостей в нём, конечно, нет — отчасти из-за того, что я довольно плохо знаю Emacs (кстати, язвительные комментарии от гуру приветствуются), отчасти — из-за того, что в Alt Linux, которым я пользуюсь, Emacs "из коробки" и так ведёт себя гораздо более цивилизованно, чем в RH, Ubuntu, Debian, SuSE и прочих популярных дистрибутивах (например, по умолчанию включает pc-selection-mode).

Я это дело хранил в Google Notebook, но он, сволочь, что-то заглючил и перестал работать, уничтожив горы полезной информации (!@#$% вебдваноль, ага).
Read more... )
Link2 комментария|Оставить комментарий

Опять про интерфейсы [Apr. 22nd, 2008|01:35 am]
[Tags|, , , , , ]



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. А вообще, чего-то я расписался, а можно было дать всего несколько ссылок:

  1. http://www.humanized.com/enso_demo.php  — демо-ролик софтины, обеспечивающей действительно удобную работу в современных графических средах. Кстати, этот самый Аза Раскин, который директор и главный идеолог Humanized — сын Джефа Раскина, благодаря которому Мак на порядок пригоднее для большинства пользовательских задач, чем любая другая настольная ОС; и опирается в значительной степени на идеи своего отца. Посмотрите обязательно, вот что такое по-настоящему удобный интерфейс.

  2. http://www.wagner.pp.ru/~vitus/articles/user-friendly.html Виктор Вагнер. "О вреде дружественных интерфейсов". Примерно о том же, о чём этот пост, но куда убедительнее и грамотнее, да и автор поавторитетнее меня

  3. http://mydebianblog.blogspot.com/2006/10/blog-post_30.html Аллин Коттрелл. "Текстовые процессоры: глупые и неэффективные". Почему WYSIWYG — отстой, и что не отстой.
Link32 комментария|Оставить комментарий

navigation
[ viewing | most recent entries ]