Где были психологи?

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

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

Пользователям неизбежно бросаются в глаза прежде всего визуальные и тактильные изменения: то, как выглядит пользовательский интерфейс, и то, как им приходится с ним взаимодействовать. В соцсетях всех мастей часто можно прочесть отзывы об ухудшении этих взаимодействий от версии к версии. Пытались ли кто-то противодействовать таким изменениям? Обращались ли пользователи к разработчикам? О, да, конечно, пытались, причём не раз и не два. Это всё зафиксировано в анналах истории Интернет. Результат? Как правило, в подавляющем числе случаев отрицательный: весь спектр типичного поведения разработчика, то есть отказ, отлуп, отмена, хамство, месть. В чём же дело? Вроде бы они стараются привлечь пользователей? Неужели, нет?

Живой пример: выглядящие одинаково экраны редактирования и копирования в некой программе называются одинаково: «Править». Нажатие на кнопки «редактировать» или «копировать» приводит к открытию одинакового окна. Работник, нажавший на какую-то них и отвлёкшийся на что угодно: электронное сообщение, оклик сослуживца, звонок в дверь или пожарную сигнализацию, и т.д. уже не помнит, глядя на экран, что он начал делать. Нужно закрывать окно и начинать с начала. Прошу разработчика сделать заголовки диалоговых окон разными, то есть «Редактирование» и «Копирование», чтобы это было сразу очевидно. Результатом стал отказ. Это не приоритет для них. Думаешь: не отказывайте сразу, запишите на будущее, и когда будет время, сделайте. Но нет, для них важно сразу отказать.

Другой пример: украшательство. Экран редактирования некой сущности открывается долго, потому что элементы превращаются в популярные нынче графические объекты, тогда как работать с ними приходится только в режиме исходного текста, в который можно перейти нажатием крохотной кнопочки под самым списком, до которой приходится долго крутить содержимое окна. Прошу: сделайте текстовый режим главным, а ваше украшательство доступным по кнопочке, если кому-то оно важно. Результатом тоже становится отказ: они хотят потом переделать всё окно «правильно». Когда это произойдёт, неизвестно, потому что опять-таки, как всегда, они заняты более высокими приоритетами.

Вот ещё: некий поставщик коммуникационных услуг сделал своё приложение для связи. Оно не работает, но показывает на экране только слово «Ошибка». Дальше ехать некуда. Да что там нишевые продукты! Взгляните на экран входа в ОС Windows Server. Он то правильно, то неправильно отображает время дня. Работники подскакивают, видя, что сервер на неправильном времени, но потом вдруг оно отображается правильно. Все это видели, но разработчика устроило: он великий, ему всё равно.

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

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

Вы когда-нибудь обращали внимание на образ мыслей этих программистов и «айтишников»? Вы читали их переписки сначала на BBS, позже в FidoNet, затем в конференциях Usenet, а затем и в соцсетях всех мастей? Вам стоило бы! Тогда вы бы сразу заметили высокомерное отношение ко всем, кто не они, с позиции превосходства, с презрением: я знаю, а ты нет. Это отношение зародилось, когда первый разработчик покинул профильный ВУЗ, и продолжается оно по сей день. Им кичатся, им бравируют, его выставляют напоказ. Себя называют старшими, умудрёнными, опытными, а ко всем, кто не они, относятся как к заведомо безграмотным недоумкам. Оказавшись в такой среде и подвергнувшись этому давлению, трудно не подчиниться и не согнуться, и вот глобальная индустрия ИТ поражает разумы всё новых и новых работников, как стая бродячих собак обучает очередного прежде милого пса загрызать детей на улице. Лишь немногие способны выстоять перед навязываемым им образом мышления и поведением.

Как получилось, что это не заметили на этапе образования? Как ВУЗы и те, кто их финансируют, упустили, что плодят социопатов, согласных на всё ради денег и не гнушающихся ничем? Действительно, вирусы; троянцы; ПО для сетей ботов, осуществляющих взломы, воровство личных данных и распределённые атаки написаны именно этими выпускниками, причём самыми образованными и талантливыми. Это если забыть о постоянном, непрекращающемся ухудшении пользовательских интерфейсов. Они человечество в грош не ставят, но мы почему-то позволяем им безнаказанно и беспрепятственно продолжать в том же духе, причём совершенно анонимно.

На пачках и банках с лекарствами пишут процентный состав медикаментозных и дополнительных веществ. Это делается, чтобы можно было привлечь к ответственности фармацевтическую фабрику, если она сыпанула или недосыпала лекарства, и пострадал кто-то один. От ошибок или намеренно внесённых функций ПО страдают миллиарды, но никто не несёт ответственности. Некоторое время назад я продолжил бы так: вроде бы пока ещё самолёты не падают, и атомные электростанции не плавят топливные элементы, но к этому всё идёт. Теперь я даже это написать не могу со всей ответственностью, потому что самолёты уже начали падать. А ещё начали сталкиваться корабли. Мало кто понимает и отдаёт себе отчёт: корабли давно уже никто не водит с капитанского мостика. Ими управляет ПО на основании показаний системы позиционирования и данных с транспондеров других судов, а экипаж лишь присутствует. Читая в прессе об очередном навале, посадке на мель или столкновении со скалами, я воспринимаю это, совсем не как обычный читатель: что штурман ошибся. Для меня - это сигнал, что мог произойти сбой программы.

Увы, у человечества нет времени, знаний и возможности постоянно находиться в контакте с разработчиками ПО, от которых зависят их жизни. Им бы выжить и заплатить счета и налоги, а неудобные пользовательские интерфейсы и ошибки можно как-то пережить, как-то перекрутиться. В отсутствие давления с их стороны разработчики заняты только одним: упрощением жизни себе за счёт окружающих. Это непростой баланс, потому что в итоге боль превышает некий порог, за которым пользователи уходят, если конечно есть альтернатива. Эта нехватка времени и ресурсов у пользователей объективна, и изменить положение почти невозможно. Что же делать? Единственное решение, которое может что-то улучшить — это пока смена приоритетов (да, да, тех самых) на этапе образования. Разработчик, выпущенный из профильного ВУЗа, должен относиться к окружающим, не как к бесправным рабам и тупой, необразованной биомассе или к «фраерам ушастым», которых можно и нужно грабить, а как к равным, хотя и неосведомленным о таинствах и тонкостях программирования. Если такое понимание не внушать на этапе получения образования, работники сферы ИТ так и останутся высокомерными элитистами, презирающими своих пользователей.

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

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

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

Стандарты в сфере ИТ сильнее всего на уровне аппаратного обеспечения, где без них практически невозможно обойтись, и по мере удаления от «железа» и приближении к пользователю ПО они резко, гиперболически ослабевают и редеют. Реально существуют и применяются только те, которые насаждаются железной рукой какой-то конкретной организации или их ассоциации, например в финансовой, транспортной и других отраслях, которые вынуждены работать на международном рынке. Внутри стран и в отсутствие взаимодействия между организациями стандарты практически отсутствуют, а на потребительском рынке их практически нет.

Это, а также подход образовательных учреждений к обучению студентов, который подразумевает разработку чего-нибудь новенького, не такого, как у всех, приводят к неизбежному исходу: главенству ничем не ограниченного индивидуализма и уверенности в своей безнаказанности и вседозволенности. Разве это было трудно предвидеть нашему обществу, озабоченному во всех других областях жизнедеятельности главной мыслью: абы чего не вышло? Нет, те самые вездесущие психологи должны были обратить внимание на эту особенную отрасль, проанализировать её тенденции и выработать рекомендации по устранению всех вышеупомянутых перекосов. Они же следят за всеми нами, подсчитывают, сколько секунд времени наши взгляды задерживаются на этикетках товаров, куда мы ездим отдыхать и какие кино смотрим. Всё это страшно важно для кошельков их повелителей, но сейчас наступает момент, когда само существование человечества начинает зависеть в значительной мере от ПО и инфраструктуры ИТ. Может быть, пора уже переключить какую-то долю психологов на анализ поведения разработчиков, пока они всех нас не угробили?

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


Рецензии