Title: Психбольница в руках пациентов
Author: Viva Calman
Date: 2019-01-15 11:54:14
Correction code: 161400525431984

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

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

Читать было любопытно. С одной стороны, я по терминологии книги принадлежу к "Хомо Логикус", к людям, которые вполне легко могут найти подход к сложному ПО, разобраться в нем и использовать (иначе бы я не писал сейчас текст этого поста в Vim). С другой, многие интерфейсы современных программ вызывают у меня дрожь. Они странные. Стоит признать, что последние пару-тройку лет в плане интерфейсов начался какой-то прогресс — они стали менее непредскзуемыми и на мой неискушенный взгляд, более дружелюбными и аккуратными. Хотя в семье не без урода — что гугл, что фейсбук в интерфейсы так и не научились, несмотря на то, что задают своим дизайном моду для всех остальных. Про всякие геймерские поделки я вообще молчу. По моему, если разработчик софтины для настройки игровой мышки применит хоть один стандартный элемент управления, без кастомизации, его током от стула бить начинает. Иначе я этот ужас объяснить не могу.

Так вот. С точки зрения "Хомо Логикус", я хочу, чтобы у меня был полный контроль над софтом, который стоит и работает на моем компьютере. Полный. Я должен иметь возможность сказать этой скотине, что можно делать, а что нельзя. Но при этом, в обычной работе это адское месиво элементов управления не должно мне показываться. Интерфейс должен быть незаментым. Если мне нужна кнопка какой-то функции, я должен иметь возможность вытащить ее на панель, или еще куда, но не должен постоянно видеть двадцать тысяч нужных кнопочек, из которых я за все время не воспользуюсь ни одной.

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

Вообще, пока читал книгу, много думал про линукс вообще. И вот какой пример взбрел мне в голову. Я ненавижу штатный никсовый find. За его гнусную логику "Команда-где искать-что искать". Вот всем нутром считаю такую последовательность операндов команды противоестественной. Если я говорю "найди", следующим пунктом будет "что". "Найди — что". Простая и понятная логика. Если я захочу уточнить запрос, я скажу "Найди — что — где — с какими исключениями-требованиями — итд". Именно по этому я считаю синтаксис find ужасным. Я очень долго привыкал к тому, как искать им файлы. Зачем начинать с точки поиска? Если мне что-то нужно найти, скорее всего я нахожусь в той директории, в которой мне и нужно искать. Ищи от нее, если нет других указаний!

К слову о директориях. Автор считает, что иерархическая система директорий — зло, но для меня это достаточно удобный способ организации файлов. Видимо, тут мой "Хомо Логикус" побеждает. Я еще не видел ни одной приложухи, отображавшей контент в виде "библиотеки", будь то картинки, музыка или что-то еще, которая меня бы удовлетворила. А вот раскидать все по папочкам — это для меня хорошо.

Так что я далеко не со всем сказанным в книге согласен. Особенно не согласен с пунктом "я пришел на веб страницу, пока я ее читаю, логично же подгрузить то, что находится на ссылках на этой странице, ведь есть шанс, что я туда перейду!". Это был бы такой простор неконтролируемых загрузок из веба, что любой эксперт по безопасности с инфарктом бы слег. А учитывая современный интернет — я скорее всего пришел на эту страницу исключительно с целью прочитать ее содержимое и закрыть нахрен.

Ну и честно скажу, временами в книге есть водичка и повторение уже сказанного по третьему разу.

Тем не менее, основная идея книги — правильная. Правильная в том, что софт надо разрабатывать ориентируясь на того, кто его будет использовать. И для этого нужны специалисты, способные провести оценку и проектирование. Программа должна писаться не программистами для программистов (если только не стоит именно такая задача), а программистами для пользователей. И об этом не стоит забывать даже тому, кто работает без команды. Хотя бы минимальная стадия проектирования взаимодействия (не интерфейса! Взаимодействия) поможет его детищу получить благодарных пользователей.

Рекомендую всем айтишникам и близким к ним.

^HOME