Тут мне попалась статейка одного разработчика из
Mozill'ы. Программисты, конечно же, ботаны и ботанизде, и книжки у них ботанские. И вообще, убить всех человеков программистов - дело нужное.
Но эта статейка, как и
прошлая мною переведенная, хоть и написана программистом для программистов, про всех про нас. Тут в общем снова просвещение, совесть, отвага и честь. В общем, каждый может примерить на себя, полюбоваться...
А то тут мне говорят: «Я-то тут и того, и этого, а если ты не понял, то ты - дурак» :-) Хороший, кстати, эпиграф получился.
Во что я верю
Источник:
http://jonoscript.wordpress.com/these-things-i-believe.
Вот кредо, которое я исповедую в разработке программ и в дизайне пользовательских интерфейсов.
1. Зачем пишется программный код?
Программы - для людей, а не для компьютеров.
Программы хороши настолько, насколько они способны улучшить жизнь людей.
Облегчаем ли мы чью-то работу? Помогаем ли учиться? Способствуем ли общению с друзьями и семьей? Становится ли больше радости?
Делаем ли мы мир лучше?
2. Чего хотят люди?
Большинству людей не нужен компьютер.
Им даже не нужны программы.
Для нас, разработчиков, это горькая правда.
Если людям не нужен компьютеры, то зачем они ими пользуются?
- Электронная почта - чтобы переписываться с другими людьми.
- Мгновенные сообщения - чтобы говорить с другими людьми.
- Веб-браузер - чтобы читать то, что написали другие люди.
- Текстовый процессор - для написания чего-то, предназначенного для печати и ознакомления других людей с ним.
- Графика - создание картинок. Для других людей.
- Презентации - для обнародования гениальных планов. Другим людям.
- Игры - особенно сетевые игры. С другими людьми.
- Сайты для общения по интересам в сети - без комментариев.
Компьютер - это просто средство общения. Недостаточное и удручающее. Это необходимое зло, с которым люди мирятся лишь для того, чтобы получить желаемое.
Все, чего они хотят - это наиболее удобный способ общения с другими.
3. Что такое успешные и провальные программы?
Мы, разработчики программ, будучи по своей природе скорее замкнутыми существами, должны работать вдвое больше, чтобы осознать те социальные вызовы, с которыми столкнется наш продукт. Если программа дает людям не то, чего они ожидают, использоваться она не будет.
Мы, разработчики программ, будучи не совсем средними пользователями, должны работать вдвое больше, чтобы понять, как средние пользователи будут относиться к нашим программам. Мы видим деревья, они видят лес.
Мы, разработчики программ, часто бывали смущены и расстроены, когда однозначно передовая технология терпела провал и когда однозначно вторичная технология рапространялась по всему миру как лесной пожар.
Мы удивлялись, потому что хотели, чтобы каждую технологию судили по ее интеллектуальности, по ее силе, по совершенству ее архитектуры, по чистоте ее идеологии. Мы слепы по отношению к опыту пользователя, к значению каждой технологии в чьем-то большом личном мире.
Для людей, покупающих и использовавших «однозначно вторичную» технологию, она была, как раз наоборот, передовой.
4. Почему на пользовательских компьютерах не так много Линукс-систем?
Для того, чтобы программы с открытым кодом преобладали в мире, мы должны сделать гораздо больше в отношении пользовательского интерфейса, чем мы до того делали.
С чего я это взял?
Открытые программы уже преобладают в «невидимых» частях мира: серверы, инфрасктруктура, области, с которыми пользователи не взаимодействуют напрямую.
Mozilla, как наиболее ориентированная на пользовательский опыт компания, достигла наибольшей популярности среди конечных пользователей.
Люди говорили мне следющее: «Линукс бесплатен тогда, когда мое время не стоит ничего».
И это не случайно.
Одно время нельзя было и вообразить путь разработки программ с открытым кодом. Методы были изобретены. Путь был найден, затем он стал успешным. Теперь эти методы становятся широко известными.
Путь к успеху для открытых разработок пользовательского интерфейса все еще неясен. Мы должны изобрести методы.
5. Пользователи - тупицы?
Разработка пользовательского интерфейса не имеет отношения к упрощенной адаптации для несчастных тупых юзеров.
Мы, разработчики программ, понимающие, как наши программы работают, легко начинаем смотреть свысока на не имеющих такого понимания.
Это неправильно.
Пользователи - не тупицы. Просто в своей жизни они находят вещи более приятные, чем запоминание модели представления данных в наших навороченных программх.
Когда программа трудна в использовании, не оставляйте этого. Улучшайте.
Когда пользователь ошибается, не вините пользователя. Поинтересуйтесь, как программа привела его к ошибке. Затем исправьте программу.
Время пользователей более ценно, чем наше. Цените его.
Хороший дизайн пользовательского интерфейса незаметен.
6. Разработка пользовательского интерфейса - это маркетинг?
Разработчики программ презирают маркетинг, так что если они полагают, что разработка интерфейсов - маркетинг, то они начинают презирать пользоватльский интерфейс.
Качества программы, предназначенные для хорошей рекламы или демонстрации в компьютероном магазине, - это не те качества, которые делают программу удобной в использовании и приятной в работе день за днем, на протяжении долгого времени.
Часто эти качества противоположны.
Покупатель может выбрать микроволновку с большим количеством кнопок, потому что она выглядит «более технологичной». Однако очень скоро покупатель выясняет, что эта печь способна на то же саоме, что и другая, но отнимает дополнительное время на то, чтобы выяснить, какую кнопку нажимать.
Людей легко можно втянуть в покупку того, что противоположно их лучшим чаяниям.
Не делайте этого.
7. Какова задача разработчика пользовательских интерфейсов?
Давайте снова поговорим о нашей микроволновке.
Микроволновка с кучей кнопок может быть популярной, но она не является лучшей микроволновкой.
У самой лучше микроволновки вообще нет кнопок.
Ей не нужны кнопки, потому что она уже знает, как долго вы хотите готовить пищу и насколько подогреть. Вам также не нужно устанавливать часы: они никогда не врут.
Бескнопочная микроволновка - цель, возможно недостижимая, но как путеводная звезда она указывает нам направление, в котором нужно двигаться.
Пользователям известны задачи, которые перед ними стоят, и вопросы, которые нужно решить.
Мы узнаем больше, наблюдая, как пользователи работают, чем расспрашивая их.
Работа дизайнера пользовательских интерфейсов - предоставить то, что пользователю нужно, а не то, что пользователь описывает как нужное.
Она нужна для облегчения задачи, а не для предоставления возможностей.
8. А где наука?
К разработке интерфейсов пользователя можно подходить научно. Но обычно этого нет.
До тех пор, пока мы не наблюдаем людей, работающих с нашей программой, наши разработки - это домыслы и суеверия.
Следующие вещи можно измерить и оценить в цифрах:
- Какие возможности программы используются чаще, а какие - реже.
- Число клавиатурных/мышиных взаимодествий при выполнении работы.
- Время, необходимое пользователю для выяснения, как выполнить задачу.
- Количество ошибок.
- Как бысто падает время выполнения задачи и частота ошибок при получениии юзером опыта работы.
Эффективность и изучаемость интерфейса - эмпирически определяемые количественные значения.
Мнения не имеют значения.
Каждый пользователь отличается от других, но именно для этого мы используем статистические методы.
Научная разработка может показать нам, что одна часть интерфейса эффективней второй на определенное число процентов, но вторая легче в освоении первой на также определенное число процентов.
На выборе между первой и второй заканчивается наука, и начинается искусство.
9. Хороши или плохи изменения?
Изменения имеют свою цену. Изменения нарушают привычки пользователя. Изменения заставляют пользователя изучать что-то новое.
Иногда новый интерфейс настолько лучше старого, что изменения стоят своей цены.
Иногда - не стоят.
Суть в том, чтобы знать, что изменения того стоят.
10. В чем зло плохого интерфейса?
Существуют грех траты пользовательского времени, грех нарушения течения мысли пользователя и грех потери работы пользователя.
Полохой интерфейс пользователя совершает все три. Часто.
Большинство интерфейсов - плохие.
Я не употребляю слово «грех» не подумав.
Из-за плохих интерфейсов действия, предпринятые на основе разумных предположений или внове, приводят к разрыву течения мысли, к пустой трате времени и потере работы. Это называют «ошибками пользователя», но это не так. Это ошибки программиста или дизайнера.
Когда мы обвиняем пользователя, мы приучаем его к тому, что технологии безупречны, а ошибки происходят по его вине. Из-за того, что технологии трудны для изучения, мы учим целое поколение бояться технологий. Мы учим это поколение верить в свою тупость. Это тоже грех.
Пользователь не виноват.
Ну и кто теперь дурак?
При этом если кто впредь будет жаловаться на программу Microsoft Word и прочая, мотивируя «ну ты сам вон в жежешке», - убью. Как всех программистов человеков.