Книга: Записки автоматизатора. Профессиональная исповедь

Шизофреническая глава про абсолютно нормальных людей

Шизофреническая глава про абсолютно нормальных людей

Неприличное слово из четырех букв: юзер

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

– Андрей, у меня компьютер завис.

– А на какие кнопки ты нажимала?

– Откуда я знаю?

Сколько предупреждений и вопросов ни задавай перед выполнением критической для системы операции, как ни заставляй пользователя выбирать ответ не по умолчанию, отвечать сначала «Да», потом «Нет», он все равно сначала произведет все необходимые манипуляции и, только увидев сообщение «Все проводки за 2005 год успешно удалены», воскликнет: «Ах, что же я наделал!» Поэтому обычному пользователю вообще нельзя доверять выполнение критических операций. Их должен производить адекватный администратор информационной системы по письменной заявке руководителя соответствующего подразделения.

Кстати, это еще одна причина для грамотного разграничения доступа. Если мы не прячем информацию, это еще не означает, что мы готовы ее потерять. – Д. К.

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

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

За компьютером в таких ситуациях обязательно сидят двое: один медленно набирает необходимые команды, а второй хватает его за руку, если, на его взгляд, команда сделает что-то не то. И перед нажатием на клавишу Enter или кликаньем в кнопку «Пуск» обязательно выдерживается пауза, чтобы оба могли прочесть набранный текст.

Но попробуй добиться такой аккуратности от пользователя.

– А-а-а-а! У вас тут все так по-дурацки расположено, что я все время промахиваюсь мышкой!

– Так вроде между кнопками, которые вы перепутали, на вашем экране целый сантиметр.

– Все равно промахиваюсь! Вы хоть поставьте здесь запрос на подтверждение действия.

– Но ведь это замедлит вашу работу…

– Пусть замедлит, но зато я не буду ошибаться.

Мы добавляем вызов по нажатию кнопки модального окна с просьбой подтвердить действие.

– А-а-а-а! Как неудобно работать! Что вы заставляете меня подтверждать каждый чих? Я что, дура?

Один менеджер в течение полугода требовал от меня выводить в экселевом отчете по три числа в одну ячейку, потому что так удобнее их взглядом охватить. Я пытался объяснить, что отчет выводят в Excel не только для охватываний взглядом, но и для дальнейшей возможности обработки, а три числа в одной клетке обрабатывать средствами Excel затруднительно.

Тогда он хватал калькулятор с криком:

– Давай посмотрим, в каком из вариантов будет проще обработать!

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

– А мне так неудобно!

Зачем нужны пользователи

– Зачем это я пойду к ненормальным? – пролепетала Алиса. – Я ж… Я лучше к ним не пойду…

– Видишь ли, этого все равно не избежать, – сказал Кот, – ведь мы тут все ненормальные. Я ненормальный. Ты ненормальная.

– А почему вы знаете, что я ненормальная? – спросила Алиса.

– Потому что ты тут, – просто сказал Кот. – Иначе бы ты сюда не попала.

(Льюис Кэрролл «Алиса в Стране чудес», пересказ Бориса Заходера)

Эти слова были впервые опубликованы в 1865 году. Но они про нас с тобой, брат-айтишник. Про нас, а не про пользователей.

Это пользователи – нормальные люди, а мы зачастую – нет.

Да, пользователи бывают и глупыми, и необразованными, но ведь и программисты тоже.

Именно пользователи создали этот мир. Это они кормят тебя, поят и одевают. Это они бороздят океаны и выходят в открытый космос.

Среди пользователей встречаются и умные, и красивые. Женимся мы обычно на пользователях и детей заводим с ними.

Если ты работаешь в производственной или торговой компании, то ведь именно пользователи в ней изготавливают товары и продают их. А мы – обслуга. Образованная, высококвалифицированная, но – обслуга.

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

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

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

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

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

За заявки, не обработанные в срок, сотрудников этого подразделения ругали и штрафовали. В ответ поступали жалобы, что уследить за всеми заявками невозможно.

Так система эксплуатировалась два года. И почему-то никто не мог догадаться вывести на экран дату и время обработки заявки этим подразделением, чтобы таблицу можно было отсортировать по этому полю, или хотя бы галочку, что заявка обработана…

Ну что здесь можно комментировать?

Зато сколько гонора обычно у айтишника, общающегося с пользователем! Причем чем меньше этот айтишник в состоянии понять, что и зачем просит пользователь, тем гонора больше. Апофеозом обычно является фраза «Я лучше вас знаю, что вам нужно!».

* * *

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

В начале 1990-х, во времена перестройки, кодировки КОИ-7 и клавиатур ЙЦУКЕН/JCUKEN, мне попалось пособие для сотрудников МПС по ликвидации компьютерной безграмотности, в котором я обнаружил поразившую меня строку: «Для выхода из программы нажмите ЯУИТ». Посмеялся, конечно, а при встрече с автором этого произведения не преминул высказать ему свое недоумение. А автор ответил, что поставил в этом месте ЯУИТ вместо QUIT, равно как и другие кириллические заклинания вместо осмысленных английских слов, абсолютно осознанно: «Программа читает только 7 бит из 8, поэтому ей все равно, кириллицей или латынью введена команда. А для пользователей не все равно, они министерские работники, а это значит, что исполнительская дисциплина у них высокая и что никакой чушью их не удивишь. Если написано ЯУИТ, то и наберут на клавиатуре ЯУИТ, а вот английское слово приводит их в ступор, из которого они не выводятся».

Крыть было нечем: автор был абсолютно прав.

Интерфейс пользователя: что такое хорошо

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

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

– Раскраска экрана в цвета попугая нравится не всем. Не следует ее применять для экранных форм, которые стоят перед глазами пользователя весь день. Если ваша тяга к выводу на экран всех цветов радуги непреодолима, то дайте пользователю возможность настроить цвета экрана.

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

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

Наверное, основное правило при проектировании интерфейса – это его простота. Если в глазах рябит от кнопок, полей, менюшек – скорее всего, интерфейс спроектирован плохо. – Д. К.

– У пользователей бывает разное зрение. У очень многих оно плохое.

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

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

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

Еще очень забавно наблюдать за пользователем, которому модальное окно вывели ПОД окно, в котором он работает. Причем наиболее выдающиеся специалисты исхитрялись делать это еще в досовском алфавитно-цифровом интерфейсе.

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

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

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

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

Оглавление книги


Генерация: 1.135. Запросов К БД/Cache: 3 / 0
поделиться
Вверх Вниз