«Программистский» подход к интерфейсам

18 сентября 2009, 12:25
Если вы возложите обязанности по дизайну интерфейса на программистов, то в результате получите программу, пользоваться которой понравится только программисту. Юзабилити уже довольно давно стало нелюбимым пасынком программирования. Обидно, конечно, но легко понять, почему. Столкнувшись с растущей сложностью платформ, языков, протоколов и стандартов, программисты, как правило, сосредоточены на таких вопросах, как разработка алгоритма, абстракция, повторное использование кода и т.д., а вот непосредственно дизайн интерфейса остаётся на периферии внимания разработчиков. Они всегда проводят юнит-тесты для каждого компонента в отдельности, но никогда при этом не взглянут на всю систему целиком. Проще говоря, если большинство пользовательских интерфейсов выглядят так, как будто были разработаны кодерами исключительно для кодеров, то это так, потому что они действительно были разработаны кодерами. Но так быть не должно. Ведь чем больше бы задействовали в проектировании интерфейса профильных специалистов, тем приложения были бы более последовательными, более эффективными и простыми в использовании, что всё вместе привело бы к существенному росту производительности. К сожалению, до сих пор слишком много программ выходит с интерфейсами, которыми пользоваться удобно также, как и машинкой для самостоятельной стрижки волос.

Мейнстрим не пройдёт

IT-блоггер Рэндалл Кеннеди даже придумал термин для «программистского» подхода к интерфейсу: Линуксификация. Непоследовательные виджеты, странные диалоговые окна, поп-апы с неподдающимися расшифровке ошибками и т.д. и т.п. Многое в интерфейсе делается в таком стиле и вполне может нравится привычным к подобному стилю линуксоидам. Но ведь Линуксом пользуется всего лишь только 1 процент населения, да и тенденций бурного роста популярности данной ОС особо пока не видно. При этом, когда Sun Microsystems предложила для OpenOffice.org новый UI в стиле Scenic Ribbon UI от Microsoft Office 2007, сообщество OpenOffice отпрянуло в ужасе, как, мол, вообще можно такое кощунство-то. А ведь Office использует подавляющие большинство пользователей, и для их перехода на OpenOffice, необходимо, чтобы они могли также легко в нём освоиться как в уже привычном MS Office. Но разработчикам, всегда более продвинутым, нежели большая часть пользователей, слишком сложно понять и принять мейнстрим. Редкие разработчики изучали в университете (или на каком-то серьёзном уровне сами) типографию, иконографию, пространственную композицию или когнитивные науки. Их представление о дизайне интерфейсов обычно основывается на их профессиональных качествах. Программист обычно не любит сидеть и созерцать экран, ему надо всегда что-то найти, раскопать, настроить под себя, выставить вручную и так далее. То есть ему не интересно как выглядит капот у машины, ему интересно то, что под ним. Ну а для рядового пользователя сконструированный по таким принципам интерфейс – это катастрофа и верный способ потерять много времени в хаотичных поисках и кликах по всем подряд кнопкам. Программисты должны сосредоточиться на организации работы программы - это то, что они делают лучше всего. Что касается дизайна интерфейса, то стоит оставить эту работу профессионалам. И не стоит забывать, что хороший интерфейс это не тот, при котором программное обеспечение выглядит "симпатично" - это интерфейс, который повышает производительность труда за счет оптимизации взаимодействия между человеком и машиной.

No country for usability

Это был сокращённый и вольный перевод заметки блоггера Infoworld.com «What not to code: Why in-house apps need a professional eye». Чем она показалась интересной, так это не дурацким термином Линуксификацией, а общей идеей, что когда интерфейс, разработанный не специалистом по интерфейсам, а обычным разработчиком за редким исключением крайне не удобен. Есть два варианта подобного интерфейса – «Разработчик считает, что юзер мыслит на одном с ним уровне в данном плане» или «Разработчик держит юзера за идиота». Я думаю, всем приходилось встречаться и с тем и с другим – можно искать простейшую опцию в простенькой программке по пятнадцать минут, или же наоборот продираться через десятки подтверждений каждого действия и яростно прощёлкивать соображения и вопросы какого-нибудь визарда. Причём, как часто бывает, сами девелоперы не понимают, что собственно не так, им всё кажется логичным в их таком удобном и комфортном интерфейсе и даже гордятся своими находками. В качестве примера приведу программку, которая я использовал для рассылок новостей и релизов. Интерфейс у неё просто адовый, и это с учётом того, что она родом не из девяностых, а вполне современна. Всё по три раза дублируется, какие-то мелкие опции запрятаны так глубоко, что найти их можно только после основательных таких поисков, ну и про сам дизайн я уж молчу. Самое интересное, что при всём при этом, разработчики интерфейса дико гордятся им в хэлпе и релизах, постоянно подчёркивая её крутость и продвинутость, даже придумав ей название что-то типа G-system. Поработав в нескольких наших компаниях, я тоже заметил, что какого-то там трепетного отношения к юзабилити нигде толком не было. Всё делалось по критерию как кто-то «видит» - менеджер, девелопер, тимлид, заказчик. А какой-то серьёзной базы подо всё не подводилось, и толкового проектирования не было. В лучшем случае был кто-нибудь из кодеров, кто интересовался немного юзабилити и что-то как-то пытался привести в рамки разумного. У нас, вообще, по-моему, в стране именно людей, которые специализируются на интерфейсах, считанное количество человек. Но если присмотреться, то проблема юзабилити стоит везде – сколько серьёзных дорогущих западных сайтов, тех же, сделано так, что пока ищешь в трёх соснах какую-то информацию, можно свихнуться. И время идёт и разговоры про юзабилити идут, а подвижек как не было, так и нет, и рынок до сих пор на большую часть состоит из приложений и сервисов с неудобными и нелогичными интерфейсами. И только самые продвинутые компании пытаются создать продуманный интерфейс, за счёт чего, кстати, и добиваются успехов. Ведь зачастую важно не только придумать что-то и реализовать функционально, но ещё и грамотно это всё оформить. Быть вторым или третьим по времени реализации идеи, но при этом лидером рынка. И примеров этому масса. Но гораздо чаще, юзабилити мало кому нужно и, данная популярная карикатура вполне соответствует действительности.
подписка на главные новости 
недели != спам
# ит-новости
# анонсы событий
# вакансии
Обсуждение