Подборка полезных публикаций для веб-мастеров и заказчиков

Джоел Спольски: «Не юзабилити единым»

12.06.2020 | habr.com

Эссе 2004 года

В течение многих лет работающие над своим имиджем умники, такие, как… ну, я, например, бесконечно болтали о юзабилити и о том, как важно сделать программное обеспечение удобным для использования. У Якоба Нильсена есть математическая формула, которую он откроет вам всего за 122 доллара: с помощью неё вы сможете рассчитать значение юзабилити. (Если ожидаемое значение юзабилити больше 122 долларов, наверное, доход у вас есть.)

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

В этой книге на странице 31 я показал пример того, что в то время было самой популярной программой на Земле — Napster. На главном окне Napster находились кнопки для переключения между пятью экранами. В соответствии с принципом юзабилити, который называется «affordance», вместо кнопок у него на самом деле должны были быть вкладки, что я и хотел продемонстрировать этим примером.



И все же Napster было самой популярной программой на Земле.

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

Но в этом есть доля страшной правды — по крайней мере, страшной для специалистов по пользовательскому интерфейсу: приложение, которое делает что-то хорошее, что действительно нужно людям, может быть безнадёжно неудобным, и оно все равно будет хитом. И наоборот: приложение может быть самым удобным приложением в мире, но если оно не даёт ничего, что людям требуется, оно провалится. Именно поэтому консультанты по пользовательскому интерфейсу постоянно отстаивают свои позиции, разрабатывая невероятные формулы рентабельности инвестиций для их возврата, который клиенты получат от своего проекта юзабилити за 75 000 долларов. Юзабилити воспринимается как нечто «необязательное», и самое пугающее, что в большинстве случаев так и есть. В большинстве случаев. Консультант по юзабилити ничего не сможет дать веб-сайту CNN. Я рискну и скажу, что в Интернете нет ни одного основанного на контенте веб-сайта, который мог бы получить прибыль хотя бы в один доллар за счет повышения юзабилити, потому что основанные на контенте веб-сайты (то есть сайты, которые не являются ещё и приложениями) и так уже весьма просты в использовании.
 

Короче


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

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

Наверное, мне стоит объяснить, что я имею в виду.

В 1980-х годах, когда юзабилити было «изобретено», вся суть ПО заключалась во взаимодействии компьютера с человеком. Многое ПО до сих пор заключается в этом. Но Интернет принёс нам новый вид программного обеспечения: ПО, основанное на взаимодействии человека и человека.

Форумы. Социальная сеть. Интернет-объявления. Ах да, и электронная почта тоже. Это всё — ПО, которое является посредником между людьми, а не между человеком и компьютером.

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

Лучший способ проиллюстрировать это — привести несколько примеров неудачных и успешных интерфейсов.
 

Несколько примеров


Для начала пример плохого социального интерфейса. Каждую неделю я получаю имейл от кого-то, про кого я впервые слышу, с просьбой присоединиться к его/её социальной сети. Обычно я понятия не имею, кто этот человек, поэтому немного злюсь и удаляю сообщение. Кто-то объяснил мне, почему это происходит: у одной из этих компаний, занимающихся разработкой ПО для социальных сетей, есть приложение, которое просматривает адресную книгу электронной почты и рассылает письма с просьбой присоединиться всем контактам, имеющимся в ней. Теперь добавьте к этому приложению функцию, позволяющую некоторым почтовым программам добавлять в контакты каждого отправителя входящих сообщений. А также программу, которая, когда кто-то подписывается на рассылку сайта Joel on Software, автоматически отправляет подтверждающее письмо с вопросом, действительно ли этот кто-то хочет подписаться. И вуаля: всевозможные незнакомые мне люди используют ПО, которое невольно посылает мне запрос с просьбой подтвердить, что я их друг. Спасибо за подписку на мою рассылку, но нет, я не собираюсь знакомить вас с Биллом Гейтсом. В настоящее время я придерживаюсь политики не присоединяться ни к одной из этих социальных сетей, потому что они кажутся мне ярыми противниками того, как должны работать человеческие социальные сети.

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

Другой пример успешного социального интерфейса — Ebay. Когда я впервые услышал об Ebay, я сказал: «Ерунда! Это не сработает. Никто не станет отправлять деньги какому-то случайному человеку, с которым он столкнулся в Интернете, в надежде, что этот человек по доброте сердца действительно отправит ему какой-то товар». Многие так думали. И мы все ошибались. Нет, нет и нет. Ebay сделал большую ставку на культурную антропологию человека и выиграл. Самое замечательное в ebay — это то, что он имел огромный успех именно потому, что в то время это казалось ужасной идеей, и никто больше не пробовал поступить так же, пока ebay не прописался в алгоритмах сети и выиграл преимущество первопроходца.

В дополнение к примерам абсолютного успеха и неудач социального ПО, существуют побочные эффекты социального ПО. То, как ведет себя социальное ПО, во многом определяется типом развивающегося сообщества. У клиентов Usenet есть команда big-R, которая используется для ответа на сообщение во время цитирования исходного сообщения с этими элегантными «>» в левом столбце. Ранние программы чтения новостей не были связаны между собой, поэтому, если вы хотели связно ответить на чью-то точку зрения, вам приходилось цитировать их, используя функцию big-R. Это привело к особому Usenet-стилю ответа: построчное докапывание к мелочам. Это весело для того, кто докапывается, но не для того, кто это потом будет читать. (Между прочим, политические блоггеры, новички в Интернете, заново изобрели эту технику, думая, что они открывают что-то забавное и новое, и называли это fisking по причинам, в которые я не буду вдаваться. Не волнуйтесь, ничего грязного за этим не стоит.) Хотя люди устраивали дебаты на протяжении веков, крошечная особенность программного продукта породила совершенно новый стиль дискуссии.

Небольшие изменения в программном обеспечении могут существенно повлиять на то, как ПО достигает или не достигает своих социальных целей. Дана Бойд обрушилась с критикой на социальные сети в статье Autistic Social Software, осудив нынешнюю версию этого ПО за то, что оно заставляет людей вести себя аутично:
 «Рассмотрим недавний всплеск интереса к четко сформулированным социальным сетям, таким как Friendster, Tribe, LinkedIn, Orkut и тому подобным. Эти технологии пытаются формализовать, как люди должны строить свои отношения и управлять ими. В них подразумевается, что вы можете оценить своих друзей. В некоторых случаях они процедурно определяют, как люди могут взаимодействовать с новыми знакомыми, предлагая всеобъемлющий алгоритм, с помощью которого вы можете связаться с другими людьми.

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

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

Проектирование социального ПО


Позвольте мне привести пример проектирования социального интерфейса.

Предположим, что ваш пользователь делает то, чего не должен был делать.

Согласно правильному проектированию юзабилити, вы должны объяснить юзеру, что он сделал неправильно, и рассказать, как это исправить. Консультанты по юзабилити продвигают это под торговой маркой «Защитное проектирование».

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

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

Вы говорите им: «Извините, виагра — не подходящая тема. Ваш пост был отклонен.»

Знаете, что они сделают? Они разместят рекламу V1agra. (Либо так, либо они начнут долгую скучную дискуссию о цензуре и Первой поправке.)

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

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

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

Действительно, один из лучших способов отразить атаки — сделать так, чтобы они выглядели успешными. Это программный эквивалент способа притвориться мёртвым.

Нет, гарантии, что это сработает в 100% случаев, я не дам. Но в 95% случаев это точно сработает и уменьшит количество проблем, с которыми вы столкнетесь, в двадцать раз. Как и все остальное в социологии, это нечеткий эвристический алгоритм. Он работает большую часть времени, так что он стоит того, даже если у него нет защиты от дурака. Русская мафия со своими фишинговыми схемами со временем обойдет этот механизм. Идиоты-флоридцы, сидящие в их трейлерных парках и пытающиеся быстро разбогатеть, двинутся дальше. 90% спама, который я получаю сегодня, — все еще безнадежно наивны в отношении фильтров спама, такой спам смог бы поймать ерундовый фильтр нежелательной почты, встроенный в Microsoft Outlook. А ваш спам должен быть по-настоящему отстойным, чтобы его могла распознать эта дохлая поверхностная программа, использующая упрощенные поисковые фразы.
 

Маркетинг социальных интерфейсов


Несколько месяцев назад я понял, что во время проектирования ПО, которое мы создали в Fog Creek, типичной темой был почти навязчивый акцент на создание правильных социальных интерфейсов. Например, FogBugz имеет множество функций и ещё больше не-функций, разработанных для того, чтобы механизм отслеживания ошибок действительно работал. Снова и снова пользователи говорят мне, что они никогда не использовали их старое ПО для отслеживания ошибок, потому что оно не подстраивалось под то, как люди хотели работать с ним. Но когда мы развернули FogBugz, люди действительно начали им пользоваться и даже стали зависимыми от него, и это изменило способ того, как люди с ним работали. Я знаю, что FogBugz работает, потому что у нас очень высокая скорость обновления при появлении новой версии. Она говорит мне о том, что FogBugz — это не просто бесполезное ПО, потому что даже пользователи, которые покупают множество лицензий, возвращаются, чтобы купить ещё больше, поскольку продукт распространяется за пределы их организации и действительно используется. Я и правда горжусь этим. Программное обеспечение, используемое в командах, обычно не может закрепиться, потому что его использование требует, чтобы все в команде одновременно поменяли свой способ работы, а это, по словам антропологов, маловероятно. По этой причине FogBugz имеет множество проектных решений, которые делают его полезным даже для одного человека в команде, и множество конструктивных особенностей, которые помогают ему постепенно распространяться среди других членов команды, пока им не начинают пользоваться все.

При работе над ПО для форумов, используемое на сайте Joel on Software (оно скоро выйдет в продажу в качестве функции FogBugz 4.0), мы ещё сильнее позаботились о том, чтобы правильно настроить аспекты социальных интерфейсов. Здесь есть десятки функций и не-функций, а также проектных решений, которые в совокупности приводят к очень высокому уровню интересного разговора с наилучшим отношением сигнал – помеха в сравнении с любым форумом, в котором я когда-либо участвовал. Я много писал об этом в моей статье «Создание сообществ с помощью программного обеспечения».

С тех пор я стал еще более уверен в идее значимости хорошего дизайна социальных интерфейсов: мы привлекаем экспертов, таких как Клэй Ширки (первопроходец в этой области), ставим смелые эксперименты на несчастных участниках сообщества Joel on Software (многие из таких экспериментов настолько незначительны, что могут быть практически незаметны, например, тот факт, что мы не показываем вам сообщение, на которое вы отвечаете, пока вы печатаете свой ответ, чтобы сократить цитирование и облегчить чтение ветки), и мы вкладываем значительные средства в продвинутые алгоритмы для уменьшения спама на форумах.
 

Новая предметная область


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

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

Прошло 16 лет...

сохранить ссылку