Смекни!
smekni.com

Взаимодействие человека и компа

СОДЕРЖАНИЕ

(вместоведения)

Homosapiens и компьютеры: кто кем управляет?

Частьпервая.

«Создатели».

Частьвторая.

«Создателям»

Нуженли нам специальныйметод разработкипользовательскогоинтерфейса?

Пользовательскийинтерфейс.

Заметимобычные ошибки.

Лишнийвыбор.

Отрицательнаяобратная связь.

Выясняем,чего ожидаютпользователи.

Каквыяснить, каковапользовательскаямодель программы?

Будьтепоследовательны

Заимствуйте

БритваОккама

Видимостьотражает полезность

Обратнаясвязь

Производительностькомпьютерапротив производительностичеловека

Производительностьчеловека

Триоперации, которыеможно упростить

Уменьшениечисла манипуляций

Уменьшениенеобходимостиввода данных

Ограничениепринятия решений

Уменьшайтесубъективноевремя восприятия

Пользователидолжны бытьпостояннозаняты

Приемыдля уменьшениясубъективноговосприятия

Принципывежливостипрограмм.

Проверкана пользователях

1



Списокиспользуемойлитературы:

Дайтепрограммепамять

Alan Cooper

14 принциповсоздания вежливыхпрограмм

Alan Cooper

Каксоздать хорошийинтерфейспользователя?

Laura Arlov

Максимумпроизводительности

Bruce Tognazzini

Мифо метафоре

Alan Cooper

Остановитесообщения обошибках!

Аlan Cooper

Пользовательскийинтерфейс

МихаилДонской

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

АндреевВ.Н.

Улетныйинтерфейс
ЮрийГерасимов

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

homosapiens и компьютеры: кто кем управляет?/ 2.2001 хард энд софт/

АндрейАнненков.

"Помогисебе сам" /"подводнаялодка" 12,1998/

ИльяБутенко


Взаимопониманиемежду компьютероми пользователем.


(вместоведения)

Homosapiens и компьютеры: кто кем управляет?


Тысячелетияразвитияпромышленности, прошедшие смомента открытияогня и изобретенияколеса до началаЧЧ века, малоповлияли на"соотношениясил" междусиними и белымиворотничками.Например, к 1900г.95% трудоспособногонаселенияиндустриальноразвитых странбыли занятыфизическимтрудом. Однакоко времениокончанияВторой мировойвойны в США ужетреть работниковобрабатывалаинформацию,а не материальныеобъекты, к 1980г.- половина, а вближайшеевремя, по некоторымпрогнозам,фермеры и рабочиесоставят лишь 10% американскихтружеников.Остальные будутработать синформацией,т.е. сидеть закомпьютерами.

Являетсяли это удивительноеявление следствиемизобретенияэлектронно-вычислительнойтехники? Нет,совсем наоборот: компьютерывозникли именнопотому, что вушедшем векемы стали в нихнуждаться.

Информатизацияне в компьютерах,она в головах.Овладев массамиидея сидетьдни и ночи напролетза клавиатуройстала страшнойматериальнойсилой. Заглянитев пятницу вечеромв любой компьютерныйклуб и всмотритесьв эти юные лица.Вы воочию убедитесь:великий кормчийМао, сила идейкоторого одновремя (уже послесоздания ламповыхкомпьютеров)превратилакитайскоеюношество вармию хунвейбинов,жалкий дилетантпо сравнениюс теми, ктопрограммировалQuake.

Образованиеинформационногообщества позначимостис победой человеканад средневековымиболезнями ипреодолениемугрозы голода.Доступ к необходимойинформациив буквальномсмысле позволяетнам чувствоватьсебя людьми.Не вполне понятно,почему но Homosapiens нуждаетсяв информациине меньше, чемв еде и в крове.Лишить насинформационнойсвязи с миром- значит обречьна страдания,которые обессмертилиобраз РобинзонаКрузо.

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

Судитесами. Вместочеловекоподобныхроботов АйзекаАзимова и равногонам по интеллектуэлектронногомозга из "Космическойодиссеи 2001" СтэнлиКубрика и АртураКларка мы получилизагадочныйСолярис СтаниславаЛема - Интернет.С той существеннойразницей, чтоэтот мыслящийэлектронныйокеан плещетсяне где-то в космосе,а на нашей планете.

Впрочем,Интернет кактехнологияне нов - он возникеще в 60-е годы.А вот явление,которое называется"персональныйкомпьютер", никто из специалистов, в том числесамых авторитетныхне предвидел.Еще 20 лет назадневозможнобыло поверить,что вычислительнаямощность IBM/370,занимавшейсотни квадратныхметров специальнооборудованияпомещения, ещепри нашей жизнисожмется доразмеров рабочегостола и будетстоить ненамногодороже телевизора.

ДжеймсМартин (авторитетнейшийспециалиств областиинформационныхтехнологийза новыми книгамикоторого вМоскве в начале70-хх студентыи инженеры сночи выстраивалисьв очередь)говорил: " Для современногообщества становитсявсе болеенастоятельнойнеобходимостьюразвиватьчеловеческийпотенциал стой же скоростью,с какой развиваетсяпотенциалтехнологический. Во многих случаях мы все еще несправляемсяс этой задачей".


Частьпервая.

«Создатели».

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


Намой взглядпроблемывзаимонепонимания,которые возникаютмежду пользователеми его компьютеромможет не на все100%, но на половинуиз-за того, чток создателямпрограммыприменимыкакие-то особыепринципы. Почему-тосчитаетсянормальнымто, чтобы создать,к примерубухгалтерскуюпрограмму –программистдолжен изучитьэту сферу, знатьпервичныедокументы,формы отчетностии т.д. Потомучто, если он незнает этихоснов – он несможет создатькорректноработающийпродукт. И работникиинформационныхотделов корпятнад книгамипо бухгалтерии,над новымиуказами Министерстви ЦентральногоБанка. Соответственноэтому они создаютпрограммы,вносят изменения.И это воспринимаетсявсеми, как должное. Почему же тогдане часто встретишьбухгалтера,который работаяв своей программе, может объяснить,хотя бы алгоритмтого, как этовсе работает.Часто происходятспоры из-затого, что люди,непосредственноработающиес программнымобеспечениемне хотят не то,чтобы вникнутьв суть происходящегово время ихработы, а хотябы прочитатьвнимательно то сообщение,которое можетвыдать программа,при нестандартнойдля пользователяоперации.


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


Частьвторая.

«Создателям»

Hачнемс того, что спользователямилучше вообщене общаться.Это кошмар.Скажу больше,это очень серьезныйночной кошмар.

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

Hепытайтесьвникнуть в сутьсказанногопользователем!Все равно ничегоне поймете.Лучше смиритесьи идите к меступользовательскогопреступления.Будьте готовык тому, что он(она) обязательнопойдет за вами,приговаривая:"Вечером всебыло нормально,потом я скинулпо электpонке, она не скинулась,спросила паспорт,потом показалакрасную рамочку,я зашел в синийэкран, а тамкакие-то иероглифы,ну ничего непонятно, тамеще что-то написалана английском,я нажал эскейпи, вот, сегоднямонитор невключается".

Покавы будете подстолом втыкатьвилку мониторав розетку, вамдадут несколькодобрых советов– вопросов,что-то типа:"Это, наверное,от того, что уменя памятимало. Давайтепамять почистим.А еще у менямышка прыгает.Очень трудноработать. Аможно мне кодадреса электpонкипоменять? А тоот меня письмане всегда доходят.Вообще, компьютеру меня какой-тостранный. Тоодно, то другое.Измучился ужес ним. Это пятерка?А память у негокакая? А зачемв Экселе рисуночексправа? Ой,заработал!".И упаси васБоже начатьразъяснительнуюработу -- на васобидятся. Почему-тосчитается, чтокомпьютер неможет бытьвыключен изсети по определению,а если это произошло,то только специалистсможет справитсяс водворениемвилки на место.

Такихпользователейбольшинство.

-открываю файл,а там вируссидит!

-У меня компьютерне работает,просит какой-топрямой Х! (DirectX).

-У нас 95-ый Эксел,а мои знакомыевсе перешлина 96-ой!

-У нас принтеркоманду неслушает!

-У меня приказанет! (Fileis not ordered).

-Я не знаю, какотксеpить файлиз Воpда в Эксел!

Итак далее. Ачто вы хотели?Это для васочевидно различиеэлектроннойпочты локальнойсети. Это вы небудете слатьпочтой DOOM насоседний компьютер.У вас рука неподниметсячетырнадцатьраз открытьбухгалтерскуюпрограмму. Выникогда незасунете листсо скрепкойв лазерныйпринтер. И неподключитетелефон в розеткулокальной сети.Hо это вы.

Самоестрашное - этопользовательс инициативой.Их - процентовпять, но ущербаприносят навсе девяносто.Это они удаляют"лишние" файлыиз каталогаWINDOWS, легко перепрограммируютсетевые карты,меняют типымониторов,соскабливаютножом пригоревшуюбумагу с барабаналазерника,защищают дискикакими-топрограммами,переустанавливаютопеpационки,изучают напрактике программынизкоуровневогоформатирования.Для них не существуетзапретов. Онина "ты" с любымвычислительнымустройством.Они знают все.И они оченьлюбят компьютерныйсленг: "Я воткнулеще шестнадцатьметров, матьпpохавала, ноне пашет всеравно, потомгляжу, у менявинт фоpматнулся,стал виндыставить, глючиттачка, а такона у меня ничего,я ее разогналв сетапе".

Самыебезобидные- это трусливыепользователи.Эти боятсявсего. Они мучительнодумают передкаждым нажатиемклавиши. Любаянеадекватнаяреакция техникина их действиявызывает полныйступор с последующейистерикой. Еслитакой пользовательговорит: "яработала ивдруг все пропало,теперь я боюсьтут чего-нибудьтрогать", можетесмело идти иразвернутьсвернутое окно.После этогона вас смотрят,как на Бога.Если вы пытаетесьчто-то объяснить,они затыкаютуши и просятпрекратитьговорить такиестрашные вещи.Слушать ТАКОЕ- выше их сил.

Ислава всемсвятым, чтоесть люди, которыехотят чему-тонаучиться,которые думают,а потом делают,и не делают,если не знают.Люди, которые,не зная, каксформулироватьвопрос, простопросят подойтии посмотреть,что случилось.которые будутмолча наблюдатьза вашими действиями,а потом зададутединственныйвопрос: "А чтоже было?". Им яотвечаю судовольствием.

Даже, если у работника(потенциальногопользователяПК) нет опытаработы с компьютером– это не егобеда. Главное– чтобы руководствоосознавало,как это необходимодля нормальногохода работыи предпринималокакие-то шагив сторону решенияэтой проблемы.Ведь естькомпьютерныекурсы, на которыхнепосвященныемогут узнать,почему нельзязапускатьФормат жесткогодиска, почемупри наличиидискеты в дисководене загружаетсяих рабочийстол… И чтоэто такое «рабочийстол»?

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

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

Сегодня,благодарясовершеннонеожиданным(по меркам 5-летнейдавности) применениямкомпьютеров,пользовательскийинтерфейспривлекаетвсе большевнимания. Ксожалению, каквсякое модноеслово (искусственныйинтеллект,мультимедиа,Internet) термин пользовательскийинтерфейснезамедлительноначали использоватьв качестверекламногоаргумента врезультатечего его смыслстал куда менееопределенным.

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

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

Выяснениецелей и ограниченийпроекта

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

Рекомендуемвам уделитьодинаковоевнимание следующимпунктам:

  • Пользователи:их опыт работыс компьютером,мотивы, размер/важностьгрупп пользователей,образцы (типовыеситуации)использования

  • Задачи:что послужилопричиной созданияпроекта, этапысоздания проекта,какие результатыдолжны бытьполучены, какаяинформациянеобходимаи когда

  • Технологияразработкии платформа,на которойбудут работатьпользователи

  • Среда,в которой будетсоздаватьсяи использоватьсяпроект (физическая,рыночная,организационнаяи культурная)

Используйтеэту информациюдля определенияи расстановкиприоритетов.Вот пара простыхпримеров:

  • Когдагруппа пользователейпостоянноменяет свойсостав и предполагаемыйобразец использованияиспользуетсянечасто, акцентируйтевнимание напростоте пониманияинтерфейса

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

Есливы пропускаетешаг выясненияцелей в своемпроцессе разработки,вы рискуетеполучить:

  • Неожиданноеили неконтролируемоеповторениепроцесса разработки,когда некоторыеважные факторыстановитсяизвестны вамслишком позднов процессеразработки."Что? У пользователейбудут экраныс разрешением800х600? Окна нашейпрограммыпросто не поместятсяна экране!"

  • Многодискуссий беззначительногопрогресса

Выне оправдаетеожиданий спонсороввашего проекта(людей у которыхесть причинызабоится одоходе)


Нуженли нам специальныйметод разработкипользовательскогоинтерфейса?

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

  • Пользователидумают, чтоинтерфейс -это и естьпрограмма.

  • Чтобыпользователиработали болеепродуктивно,программадолжна бытьпростой виспользовании.

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

  • Общеплатформенныестандартыпользовательскогоинтерфейсарешают только15% вопросовразработкив типичномпроекте.

  • Большинствопрограммныхпроектов ограниченыво времени.

  • Пользователистановятсявсе болеепривередливыми.

  • Хорошийинтерфейсможет статьпреимуществомпротив конкурентов,плохой - послужитьпричиной неудачивсего проекта.

Разработчикипрограмм могутпоследоватьпростомупрагматическомуметоду, краткоописанному

Пользовательскийинтерфейс.

Во-первых,в понятиепользовательскогоинтерфейса(ПИ) входит нетолько, и дажене столько,картинка наэкране - трехмерная,анимированная,просто выполненнаяв модном дизайне,- а способывзаимодействияпользователяс системой. Вэтом контекстеочень интересносравнить материалыпо ПИ в российскойкомпьютернойпрессе (напоминающие рецензииискусствоведовна художественныевыставки) иклассическуюкнигу ДональдаНормана "Психологияповседневныхвещей" ("The Psychology ofEveryday Things"), где основнымпримером книгиоказался дизайндверных ручек.

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

Давайтепредположим,что ни оконного,ни какого-тодругого интерфейсаеще не существуети нам нужнопридуматьспособ общениячеловека скомпьютером

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

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

Вкачестве примераудачной метафорыв интерфейсеможно привестиLotus Organizer, внешнийвид которогонапоминаетпривычныйеженедельник,функции которогои выполняетэтот продукт.Примером неудачнойметафоры, точнееее полногоотсутствиятам, где онанеобходима,может служитьExplorer Windows 95.

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

Наш(не)удачныйпредшественник- оконный интерфейсрешил толькопервую задачуконцептуальногодизайна. В неместь понятие"контролей"- интерфейсныхэлементов, скоторыми восновном ипроисходитвзаимодействие.В Windows 95 сделанапопытка выработкиобщего изобразительногостиля для контролей.Об общем стилеэкранногоизображенияречи вообщене идет, еслитолько не считатьза таковойнабор "тем",входящий всостав Microsoft Plus.

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

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

Этаидея принадлежитпсихологуГибсону (непутайте с популярнымфантастом) иизвлечена изего книги"Экологическийподход к психологиивосприятия".Он утверждает,что наше восприятиеосновано намотивации втом смысле, чтоесли мы хотиместь, то видимтолько съедобныевещи, а еслиустали - то толькопредметы мебели,предназначенныедля отдыха. Тоесть человекне просто видит,а опрашиваетсреду, руководствуясьразличнымимотивами. Всвою очередь,среда подаетчеловеку разныесигналы. Нарядус ответами наего запросы,есть сигналыпервоочередные(или всегдазапрашиваемые),связанные сфизическойопасностью.Опираясь наполученныесигналы, человекосуществляетразличныедействия.

Дляискусственныхсред (например,системы автомобильныхдорог) такаямодель с очевидностьюверна. Гибсон,впрочем, считает,что она вернаи для естественныхсред. Во всякомслучае, какотправная точкадля дизайнаинтерфейса,она оченьпродуктивна.Так, кнопкиразличныхдиалогов встандартномоконном интерфейсеможно трактоватькак сигналык их нажатию.Но эти сигналыкрайне слабы,поскольку всекнопки выглядятодинаково,отличаясьтолько текстамив них, а функцииу них совершенноразличны. Тоесть из всегоразнообразияизобразительныхсредств - формы,размера, цвета,текста - в кнопкахдиалогов используетсятолько текст.Считаетсяхорошим тономиметь кнопкиодного размераи аккуратнорасположенные,чтобы вынудитьпользователякаждый разпрочитыватьтекст. Исключением,подтверждающимправило, являетсякнопка OK, котораясмотрится некак текст, акак изображение(иероглиф). Неслучайно нив одной из известныхмне локализацийнадпись на этойкнопке не переводитсяна другой язык.

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

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

Вэтом секретнепопулярностимногих компьютерныхигр с прекраснымизобразительнымрядом. А вотдругие игры,скажем Тетриси столь же популярныесегодня Color Lines(шарики), имеюточень простуюи условнуюсреду, обеспечивающуюпсихологическийкомфорт пользователя.

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

Сложнаякартинкапсихологическиготовит к сложнойжизни с программой.Из этого, кстати,не следует, чтоу сложной программыдолжна бытьизощреннаяграфика и сложныепути взаимодействия.(Важное напоминание- мы разговариваемне о программах,предназначенныхдля профессиональнойдеятельности!)Лучше эту сложность"вытаскивать"постепенно,подобно кроликуиз шляпы илиподобно наращиваниюуровней вкомпьютерныхиграх.

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

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

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

Вовсех центрах,известныхразработкойновых интерфейсов(XEROX PARC, MIT Media Lab, Apple Computer, Carnegie MellonUniversity), идут разработкиразных концепцийдизайна интерфейсов,опирающихсяна возможностианимации. Преждечем описыватьих надо изложитьточку зренияна "физикуинтерфейса".

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

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

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

Этавозможностьне толькотеоретическиосознана, нои уже околопяти лет находитсяв стадии экспериментальногоисследования.Две анимированныесреды интерфейсаразработаныв той самойфирме XEROX PARC, котороймы обязаныпоявлениемидеи оконногоинтерфейса(и даже в группетого самогоСтюарда Карда,которому принадлежитавторство этойидеи). Одна -"Коническиедеревья" - являетсявизуализациейфайловой системыкомпьютераи похожа насистему детскихпирамидок,каждый уровенькоторой соответствуетуровню файловогокаталога. Самифайлы из каталогаотображаютсяв виде 3-мернойкарусели подсвоим каталогом.Соль моделив том, что нужныйфайл можно"приблизить"поворотомкарусели (можетбыть, не одной),идущим в режимеанимации.

Втораямодель - "Стенав перспективе"- также отображаетфайловую систему,но вне ее иерархии,согласно двумкаким-то параметрам,например частотеобращения кфайлу и егоразмеру. Этонормальнаястена, толькоочень длинная,разбитая натри отрезка.Средний из нихотображаетсяна экране плоско,а два крайнихуходят в перспективу.Пользовательможет сделатьсредним любойотрезок стены,причем это тожепроисходитв режиме анимации.Для Карда анимация- принципиальныймомент, так как"анимациясохраняет ввосприятиипользователяидентичностьобъекта", тоесть пользовательлегко соотноситобъекты в конечнойточке движенияс объектамив начальной.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Цитатаиз обзора интерфейсов- "Интерфейсэтой программынеестественен,потому чтоклавиша Alt+F4 незакрываетприложения.Многие интерфейсныепроблемы являютсяестественнымпродолжениеммаркетинговыхдостижений.Предположим,что ваша фирмавыходит нарынок с новоймоделью аудиомагнитофона,отличающейсяот всех остальныхнекой возможностьюА. Для успешнойпродажи этоймодели та кнопкана панели управления,которая реализуетА, должна бытькак можно заметнее.Тогда потенциальныйпокупательсам спросит"А что это?" - ипродать вашеизделие будетгораздо легче.Однако, купивего и включивдома, этот покупательбудет, скореевсего, пользоватьсястандартнымикнопками длястандартныхдействий, показываявозможностьА только гостям.

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

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

Спроблемойзащиты авторскогоправа в областипользовательскогоинтерфейсасвязаны двагромких судебныхпроцесса - AppleComputer против тойже Microsoft, где предметомбыл сам оконныйинтерфейс, иLotus против Borland, гдеc правовой точкизрения оспаривалосьвключение вQattro Pro (наравне снесколькимидругими) интерфейсаLotus 1-2-3. Нельзя сказать,что решенияпо этим деламмогут использоватьсякак прецеденты,так как интересыпользователейв них почти неучитывались,а результат,как это частобывает, соответствовалфинансовымзатратам сторон.

Ксожалению,сегодняшнеесостояние рынкапрограммногообеспечениятаково, чтодорогу себепрокладываютне лучшие решения,а решения, имеющие"большую пробивнуюсилу", в основномсвязанную сфинансовоймощью предлагающихих компаний.Это особенноверно дляпользовательскогоинтерфейса.Если взглянутьна программыпросмотра WWW,то вообще трудноговорить одизайне интерфейса- получилоськак получилось.Терпимо, но неболее. А ведьэтими программамипользуетсябольшее числолюдей, чемкакими-либодругими. Теперьтакой интерфейсстановитсяфактическимстандартом,а это значит,что последующийпереход к болееестественномуинтерфейсу(который, безусловно,рано или позднопроизойдет)будет связанс тяжелойпсихологическойломкой.

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

Заметимобычные ошибки.

  1. Лишнийвыбор.

Программытоже имеют своихронологическиезаписи – ониназываютсяокнаминастроек.Откройте Tools | Optionsи вы увидитеисторию аргументовразработчиковпо поводу дизайнапрограммы.Должна ли программаавтоматическиоткрыватьпоследний файл,над которымработал пользователь?Да! Нет! Последвухнедельныхдебатов, чтобыникого не обидеть,прнимаетсярешение сделатьэто настройкой.


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


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


Каждыйраз, предоставляяпользователювыбор,
вы проситеего принятьрешение


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

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


Когдав 1990 г. был выпущенMicrosoftExcel3.0, это была перваяпрограмма сновым интерфейснымрешением –панелью инструментов(toolbar). Это былоинтересноерешение, котороенравилосьлюдям, и каждыйстал его копировать– до такой степени,что сейчас уженепривычновидеть программубез панелиинструментов.Успех панелиинструментоввдохновилразработчиковExcel на исследованиес использованиемспециальнойверсии программы,котороую онираспространилисреди узкогокруга людей.Эта версияотслеживаланаиболее частоиспользуемыекоманды и передавалаэту информациюв Microsoft. Поэтомув следующююверсию Excel былдобавлен ещеодин рядкнопок на панелиинструментов,на этот разсодержащийбольшинствочасто используемыхкоманд. Великолепно.


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


 Сколькораз вы виделиэто? И если это произошлопо ошибке, нетак то простодогадатьсячто вы сделалине так, и какэто исправить.В итоге существуетвозможность(двигать меню),которая никомуне нужна (хорошо,пускай онанужна 0.1% всехлюдей), но котораямешает практическикаждому.


Однаждымне позвониламоя знакомаяи попросилапомочь ей спроблемойотправки e-mail. Онасказала «Половинамоего экрана- серая».

Половинаэкрана серая?

Запять минутвыяснения, чтоже все-такипроизошло : онаслучайно перетащилапанель задачWindows к правомукраю экрана,а затем случайнорасширила её.


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


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


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

2.Отрицательнаяобратная связь.

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

Первыекомпьютерыбыли маломощнымии дорогими.Операторамиэтих машин былиученые в белыххалатах, которыепонимали, чтонужно процессору,и не обижались,увидев сообщениеоб ошибке. Онизнали, насколькосложна работакомпьютера.Они не имелиничего противпоявлениясообщения типа" Abort, Retry, Fail?" или др.Так зародиласьтрадиция отношенияпрограммы кчеловеку, какк процессору.С самого началаразвития компьютернойтехники программистыуяснили, чтосамый верныйспособ взаимодействияпрограммы спользователем- это требованиеот него вводаданных и выражениенедовольства,когда пользовательне смог достичьуровня совершенствапроцессора.

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

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

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

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

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

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

Воттри основныхспособа избежатьсообщений обошибках:

  1. Делайтеошибки невозможными

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

  3. Проверяйте,не редактируйте

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

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

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

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

  1. Компьютерывсегда производятзвуки, когдапрограммавыдает сообщениеоб ошибке

  2. Компьютерныезвуки обычногромкие, монотонныеи неприятные

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

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

Безсомнения, всеэти решенияпотребуют отпрограммистовбольшей работы.Это нисколькоменя не волнует.Я не хочу, чтобыпрограммистыбольше работали,но, выбирая изсложностиработы программистови сложностиработы пользователей,я немедленнозаставляюпрограммистовработать. Работапрограммиста- удовлетворитьпользователя,а не наоборот.

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

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

Ноесли вы настаиваете,я признаюединственнуюситуацию, когдасообщение обошибке допустимо:Когда ваш принтергорит.

Выясняем,чего ожидаютпользователи.

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

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

Вотодин из примеров.В Microsoft Word (как и вбольшинстведругих текстовыхредакторах)когда вы вставляетекартинку вдокумент, онавстраиваетсяв файл документа.Вы можете создатькартинку, перетащитьее в документ,затем удалитьпервоначальныйфайл с картинкой,но она все равноостанется вдокументе.

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

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

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

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

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

Каквыяснить, каковапользовательскаямодель программы?

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

Вамдаже не нужнаспециальнаяusability-лаборатория- можно простовзять первогопопавшегосячеловека ипровести с нимнебольщойusability-тест. Тольконе расказывайтеим раньше временикак все работает.Попросите их"думать вслух"и задавайтеоткрытые вопросы,пытаясь выяснить,какова ихпользовательскаямодель.

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

Накартинке нижепоказан экранкомпьютераМакинтош,изображающийдве открытых"книги" Excel (Spreadsheet1 иSpreadsheet2), и один документWord (Document 1). Любой пользователь,не знакомыйс этой программой,подумает, чтовсе окна независимы,ведь они выглядятнезависимыми:

Согласномодели пользователя,щелчок на окнеSpreadsheet1 должен сделатьего активным.Но на самомделе активнымстановитсяокно Spreadsheet2:

Оказывается,что программнаямодель MS Excel предполагаетналичие "невидимых"листов, к которымкак бы прикрепленыокна документов.Когда вы делаетеExcel активнымприложением,все его окнатоже появляютсясверху остальных.

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

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

Будьтепоследовательны

Представьтесебе, что каждыйкомпьютерпроизводителибудут снабжатьклавиатуройс оригинальнойраскладкойклавиш. За ниминевозможнобудет работать- пользователипривыкли кQWERTY и ЙЦУКЕН. Тоже касаетсяи программ. Дляпохожих функцийнужно использоватьи похожие формы.Иначе программабудет дляпользователяодним большимсюрпризом...

Заимствуйте

Ч

тоименно? Да все!Если пользовательпривык к чему-либо,он быстреенаучится работатьи будет получатьбольше удовольствияот работы свашей программой,так как сможетиспользоватьприобретенныенавыки. Базовоезаимствование- это использованиестандартныхэлементов,общих для всехпрограмм Windows -меню, списки,кнопки и т. п.Более тонкое- заимствованиепопулярнойметафоры. Толькоделать это надоосторожно.

 

Взглянитена интерфейсыкоммуникационнойпрограммы TrioCommunication и записнойкнижки Lotus Organizer. Trioвыглядит какнастоящийтелефон, а Organizer- как настоящаязаписная книжка.Только почему-топервой пользоватьсяможно с большимтрудом, а втораяпрограмма легкаи понятна. Почему?Авторы Trio переделаливсеэлементы управленияна свой лад.Программаразукрашенадо такой степени,что на обучениеработе с ееоригинальныминтерфейсомуходит массаусилий. Organizer жедля стандартныхфункций используетстандартныесредства.  

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

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

БритваОккама

Этотфилософскийпринцип гласит:"Не множитьсущности безнадобности".Или, как говорятамериканцы,Keep It Simple, Stupid. На языкеинтерфейсовэто означает,что:

  • любаязадача должнарешаться минимальнымчислом действий;

  • логикаэтих действийдолжна бытьочевидной дляпользователя;

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

Методdrag'n'drop - перетащи-и-оставь- хорошая иллюстрацияэтого принципа.Это абсолютноестественноедействие, выполняемоеодним движениеммыши, с великолепнойоптимизациейдвижений курсораи глаз простопо определению.Сам его оченьлюблю и стараюсьиспользоватьвезде, где этовозможно.

Видимостьотражает полезность

Самаяважная информацияи элементыуправлениядолжны бытьна виду, легкодоступными,а менее важная- прятатьсягде-нибудь вменю. Интерфейспрограммыдолжен бытьпостроен вокругобъектов, скоторыми манипулируетпользователь,и отражатьсостояниетекущего объекта.Хороший пример- панели управленияв Corel Draw 8.0. Они постоянноменяются взависимостиот того, с какимобъектом вданный моментработаетпользователь.

Обратнаясвязь

П

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

Производительностькомпьютерапротив производительностичеловека

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

Увеличениепроизводительностикомпьютераобычно приводитк увеличениюпроизводительностичеловека, ноесть и исключения.Во-первых, дляэтого нужноувеличитьпроизводительностьвсего компьютера,а не толькоодной его части.За последние20 лет сложиласьстранная ситуация- в то время какмощность компьютеровувеличиласьв несколькотысяч раз, скоростьработы пользователяв некоторыхслучаях дажезамедлиласьиз-за непомернораздутых операционныхсистем и программ.(В 1978 году мнетребовалосьтри с половинойминуты, чтобызагрузитьсистему и приложенияс кассетногомагнитофонана мой Apple II. Сейчасмой Maк загружаетсяпять минут).

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

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

Производительностьчеловека

Существуютдва метода,которые ведутк значительномуувеличениюпроизводительностичеловека:

  1. Полноеотстранениепользователяот работы. Этотметод наиболееэффективен,и сводит стоимостьработы к нулю.

  2. Эффективноеиспользованиевремени пользователя

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

Триоперации, которыеможно упростить

Работаяна компьютере,пользователивыполняют триосновных операции:

  1. Принимаютрешения наоснове информации,касающейсятекущей задачи

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

  3. Манипулируюткомпьютеромс помощью элементовуправления

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

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

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

Уменьшениечисла манипуляций

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

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

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

Послеэтого:

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

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

Уменьшениенеобходимостиввода данных

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

  1. Автоматическизаполняйтеполя новойзаписи значениямипредыдущей.

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

  3. Исследуйтедругие способыполученияинформации.

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

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

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

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

Новернитесь нашаг назад. Откудапоступают этибумаги? С другогокомпьютера?Подумайте, какполностьюизбавитьсяот бумажногоэтапа.

Ограничениепринятия решений

Необходимостьпринятия решенийможно снизитьследующимобразом:

  1. Невоспринимайтепользователякак “свод правил”.Не заставляйтеего всего лишьсообщать опринятых решениях.

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

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

  4. Избавляйтесьот ненужнойинформации.

  5. Визуальновыделяйтенаиболее вероятныеварианты ответа.

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

Навтором шагеудостоверьтесь,что оставшиесярешения действительноотносятся кзадаче пользователя,а не машины.Если пользовательдолжен решить,выполнятьзапрос или нет- это относитсяк задаче. Норешение о том,какой методиспользоватьдля выполнениязапроса - А илиБ, лучше оставитьмашине.

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

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

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

Четвертыйшаг, удалениеизбыточнойинформации,очень важен.Множествоweb-страниц сегодняизобилуютссылками. Даеще и сами браузерысодержат большоеколичествокнопок и меню.Что же остаетсябедному пользователю?Скорее всего,сделать неправильныйвыбор.

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

Вместотакого вопроса:

Предложитеследующийвариант:

Еслиу вас естьбегемот-левша,
нажмитесюда.Иначе, выберитеПродолжить.

Продолжить

Здесьне только вопрос,но и ожидаемыйответ сразувидны.

Незадавайте такжепользователювопрос о какой-нибудьнастройке,смысл которойнеясен. Чтобыответить наэтот вопроси решить, нужнаему эта настройкаили нет, пользователюпридется узнатьвсе о ней. Спрячьтетакую настройкув раздел “advanced”.

Используйтефоновый режимвыполнениезадач

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

Сетеваяпечать былаасинхроннойоперацией более15 лет. Пользователинажимали кнопку“Печать” и шлизаниматьсясвоими делами,пока шел процесс.Над проблемойпечати сталиработать впервую очередь,потому что

  1. Печатьотнимает многовремени

  2. Печатьне требуетвмешательствапользователя

  3. Общеевремя выполнениязадачи предсказатьнельзя

  4. Следующеезадача пользователяобычно не связанас результатамипечати

Еслипринтер подключенк высокоскоростнойсети и в очередипечати нетзаданий, всепроисходитдовольно быстро.Однако, есликто-то толькочто начал печатать300-страничныйдокумент, токомпьютер можетоказаться“замороженным“на длительныйпериод времени.

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

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

Уменьшайтесубъективноевремя восприятия

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

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

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

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

Всепользователивыполнилизадание с помощьюмыши примернона 50% быстрее.Но что интересно,все высказались,что они выполнилизадание гораздобыстрее с помощьюклавиатуры.

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

Основнаястратегияуменьшениясубъективноговремени восприятия:

Пользователидолжны бытьпостояннозаняты

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

Приемыдля уменьшениясубъективноговосприятия

Индикаторы

Всеприводимыеуказания зависятот использованияиндикаторов.Следующие типыиндикаторовприведены впорядке отнаиболее донаименее желаемого:

  1. Индикатороставшегосявремени. Поместитеего либо в модальныйдиалог, либов строку статуса.

  2. Индикатор“Система жива”.Когда оставшеесявремя предугадатьневозможно,покажитеанимированныйобъект, которыйдаст пользователямпонять, чтосистема независла.

  3. Индикатор“Слышу и понимаю”.Когда ожидаемаязадержка менее2 секунд, показыватьоставшеесявремя бессмысленно,поэтому простоизмените формукурсора на“песочныечасы”.

Длязадержек от0,1 секунды до10 секунд:

  1. Подтвердитещелчок мышиили нажатиеклавиши в течение0,1 секунды.

  2. Изменитеформу курсорана “песочныечасы” или другойанимированныйуказатель длялюбой задержкиболее 0,5 секунды.

  3. Покажите,когда пользовательможет продолжать.

Длязадержек от10 секунд до 1минуты:

  1. Подтвердитещелчок мышиили нажатиеклавиши в течение0,1 секунды.

  2. Привлекитевниманиепользователя

  3. Укажитевремя ожиданияточно илиприблизительно.

  4. Выведитеиндикатор

  5. Покажите,когда пользовательможет продолжать.

Длязадержек отминуты до целойночи:

  1. Подтвердитещелчок мышиили нажатиеклавиши в течение0,1 секунды.

  2. Привлекитевниманиепользователя.Индикатор,который труднозаметить, можети не существовать.

  3. Сообщитепользователю,насколькодолгим будетожидание. Еслине знаете –предположитедиапазон значений.Даже довольноширокого диапазона(от 3 до 15 минут)пользователюможет бытьдостаточнодля принятиярешения –переключитьсяна другую задачу,или же пойтипопить кофе.

  4. Выведитеиндикатор.

  5. Четкои ясно сообщитепользователю,когда он можетпродолжать.Это не значит,что вы должнывывести сообщениешрифтом 96 размера.Это значит,что измененияна экране должныбыть значительными,для того чтобыих можно быловизуальноразличить.

Принципывежливостипрограмм.

ПрофессораСтэндфордскогоУниверситетаКлиффорд Насс(Clifford Nass) и БайронРивз (Byron Reeves) занималисьизучениемреакции человекана компьютер.Применяя классическиеметоды социальнойпсихологии,они обнаружилив поведениилюдей нечтоинтересное.Результатыих работы,опубликованныев книге "The MediaEquation", показывают,что человекреагирует накомпьютер также как на другихлюдей. Из этогоисследованияследует важныйвывод: Если мыхотим, чтобынаша программапонравиласьпользователям,мы должны сделатьее поведениепохожим наповедениечеловека. Довольнопросто, не правдали?

Насси Ривз утверждаютчто программыдолжны быть“вежливыми”,потому чтовежливость– это универсальныйчеловеческийпризнак, - хотядействия, которыеможно считатьвежливымиразличаютсяот одной культурык другой, этотпризнак присутствуетв любой культуре.Продукты производствас высокимипознавательнымиспособностями,такие как программы,тоже должныследовать этомуправилу и бытьвежливыми.Некоторыепродукты высокихтехнологийведут себя так,как будто сказав“пожалуйста”или “спасибо”,можно бытьгрубым, но этоне вежливость.

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

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

Чтозначит дляпрограммы бытьдружественнойи вежливой? Чтозначит дляпрограммы вестисебя подобночеловеку? Торговцы“Гербалайфом”одеты в красивыекостюмы, широкоулыбаются иполны впечатляющейинформации,но разве онинам нравятся?Человек склоненк ошибкам, медлителени импульсивен,но это не значит,что программас такими качествамибудет считатьсяхорошей. Человекобладает множествомдругих качествделающих егохорошо подходящимдля роли служащего– роли, которуювыполняютбольшинствопрограмм.

Можетли компьютер“лгать” вам?Может ли компьютерсказать вам,что у вас насчету “около500$”? Может ликомпьютер датьвам другойответ, чем толькочто кому-тоеще? Если мыувеличиваемчеловечность,мы должны уменьшитьнекоторую“компьютерность”,по крайней мерев сравнении.

Действительно,компьютерникогда невыдаст вамприблизительныйбаланс, но тогдакомпьютер неувидит разницымежду выдачейсообщения отом, что у васна счету “около500$” за долю секунды,и точной суммы503.47$ за 17 минут. Болеевежливая, болеечеловечнаяпрограмма сразубы сообщила,что у вас насчету “около500$” а затемпроинформировалабы вас, что дастболее точныйответ черезнесколькоминут. Тогдавыбор будетза вами – стоитли тратитьвремя на дополнительнуюточность.

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

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

Большинствопрограмм незнает ничегоо том, кто еюпользуется.Действительно,ни одна из программна моем персональномкомпьютерене помнит нименя, ни моихпривычек, несмотряна то, что толькоя и никто другойпостоянно,снова и сновапользуюсь ею.

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

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

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

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

Вежливаяпрограммаобладает здравымсмыслом. Хотялюбой хорошийресторан позволитвам побыватьна своей кухне,но когда вывпервые входитев него, официант,руководствуясьздравым смыслом,проводит васв обеденныйзал. Большинствопрограмм неделают различиямежду кухнейи обеденнымзалом, помещаярядом часто-используемыеи никогда неиспользуемыеэлементы управления.В программеможно встретитьпункты менюпредлагающиепростые, безвредныефункции рядомс чрезвычайными,отменить которыеневозможно.Это как еслибы вас усадилиза стол рядомс духовкой.Упомянутыйранее пример"около 500$"- хорошаяиллюстрацияналичия здравогосмысла в интерфейсе.

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

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

Вежливаяпрограммаотзывчива.

Уменя на компьютереобычно установленоразрешениеэкрана 1024х768. Когдая провожупрезентации,мне необходимовременно сменитьразрешениена 800х600 чтобы оносоответствовалонизкому разрешениюмоего видео-проектора.Многие из запущенныхпрограмм, включаяWindows 95, реагируютна смену разрешенияизменениемразмера, формыи положенияна экране своихокон. Однакокогда я меняюразрешениеобратно, окнане возвращаютсяк своим размерам.Информацияоб этом легкодоступна, однакопрограмма незаботится омоих очевидныхнуждах.

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

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

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

Вежливаяпрограммахорошо информирована.Когда я ищуинформациюв Интернетчерез поисковуюмашину, я немогу быть уверен,что не наткнусьна неработающуюссылку. Я выбираюнужную мнессылку и получаюпротивноесообщение обошибке “404 Link NotFound”. Разве поисковаямашина не можетпериодическипроверятькаждую ссылку?Если ссылканеверна, ееможно удалитьиз списка, имне не придетсятратить времяна ожиданиеее загрузки.

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

Вежливаяпрограммавосприимчива.Я раскрываюна весь экранокно любойзапущеннойпрограммы.Затем я используюПанель Задачдля переключениямежду запущеннымиприложениями.Но программы,которые я запускаю,не замечаютэтот факт. Ятак частомаксимизируюокна, что моипредпочтениядолжны бытьясными и однозначными.Другие пользователиработают спрограммамив маленькомокне, чтобывидеть РабочийСтол. Так простодля программыпонять это ипредугадатьдействияпользователя.

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

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

Вежливаяпрограмма незадает лишнихвопросов. Невежливаяпрограммазадает множествораздражающихвопросов. Когдавыбор предлагаютнасильственно– это тяжелоеиспытание.

Выбиратьможно разнымиспособами.Возьмем, к примеру,разглядываниевитрин магазинов.Мы обычно смотримна витриныпраздно, обдумывая,выбирая, илиигнорируятовары, которыенам предлагают.С другой стороны,иногда намнасильственнопредлагаютвыбор, как напримерна таможне: “Увас есть что-нибудьнуждающеесяв декларации?”.Если нас поймают,последствиямогут оказатьсязначительными.Но мы не знаем,что последуетза этим вопросом.Будут нас обыскиватьили нет? Еслимы знаем, чтообыска не избежать,мы никогда небудем лгать.А если мы знаем,что никакогообыска не будет,нас будет одолеватьискушениепровезти лишнююпачку Мальборо.

Вежливаяпрограммаявляетсяподстраиваемой.

Когдасистема ручнойобработкиинформациипереноситсяна компьютеры,что-нибудьвсегда теряется.Чаще всегосистема компьютеризируетсядля увеличенияобъемов обрабатываемойинформации,а не для изменениясвой функциональности.Однако системамработающимвручную присущагибкость –свойство, котороена так простовыделить средиостальных. Хотяавтоматизированнаясистема вводазаказов можетобработатьв миллион разбольше заказов,чем простойслужащий, служащийвсегда можетподстроитьработу системы.В автоматизированнойсистеме этавозможностьисчезает. Нетпрактическиникакой возможностиизменить работутой или инойфункции. Я называюэту способностьчеловека действоватьвне существующейсхемы обработкиинформациидо того, каквсе необходимыреквизиты будутдоступныподстраиваемостью.Отсутствиеэто качества– одна из главныхпричин нечеловечностикомпьютерныхсистем. Этопрямое следствиемодели воплощения.Программистыне видят никакогорезона в том,чтобы создаватьпромежуточныесостояния,потому что вкомпьютереони не нужны.Но пользовательдолжен иметьвозможностьслегка “подправить”систему.

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

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

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

Можнопривести множестворациональныхи логичныхпричин неиспользоватьподстраиваемыесистемы. Но кнесчастью,такое идеализированноесостояние делне являетсяточным описаниемработы реальногомира. Люди используетподстраиваемость“ручных” системво всех видахбизнеса чтобыудержатьсяна плаву. Несмотряна все препятствия,наполнениеавтоматизированныхсистем подобнымкачествомявляется жизненноважным вопросом.

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

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

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

Дайтепрограммепамять

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Связностьзадач можетпредсказать,что именнобудет делатьпользовательв будущем созначительной,но не абсолютнойвероятностью.Если ваша программаосновываетсяна этом принципевы можете обнаружить,что думаетео неопределенностиваших предсказаний.Если я могунадежно предсказатьдействия пользователяв 80% случаев, этозначит, что в20% случаев я будунеправ, потомучто в каждомконкретномслучае я незнаю, в 20 я илив 80 процентах.Может показаться,что это как разтот случай,когда нужноспроситьпользователя,но это бы вернулобы нас обратнов начало рассуждений.Вместо предоставлениявыбора, программадолжна продолжатьделать то, чтоона считаетнаиболее подходящим,вместе с темдавая пользователювозможностьизменить илиотменить это.Если возможностьотмены достаточнолегка и понятна,пользовательне будет беспокоитсяо ней. В крайнемслучае, емупридется отменятьрешение программытолько в 2-х случаяхиз 10, вместо того,чтобы иметьдело с излишнимдиалоговымокном 8 раз из10.

Кактолько программистначинает пониматьвсю силу принципасвязностизадач, в процессеразработкипрограмм происходятзначительныеизменения.Разработчикипрограмм начинаютдумать в совершенноновом направлении.Бездумныйпроцесс созданияеще одногодиалоговогоокна заменяетсяболее продуманными аккуратным,в котором разработчикначинает задаватьсебе вопросытипа: сколькочего должнапомнить программа?что именнодолжно запоминаться?Должна ли программазапоминатьбольше, чемпросто последнийвариант настройки?Он начинаетпредставлятьсебе такиеситуации: например,пользовательпринял одинаковыйформат датыв 50 ячейках, азатем вручнуюввел дату вдругом формате.Какой форматдолжна использоватьпрограмма вследующий раз,когда пользовательвведет дату?Тот, которыйвведен 50 раз,или же последний?Сколько раздолжен бытьзадан новыйформат, преждечем он станетформатом поумолчанию? Хотяздесь естьнеоднозначность,программа всеравно не должнаспрашиватьпользователя.Она должнаиспользоватьсвою инициативу,чтобы сделатьподходящеерешение. Пользовательможет всегдаизменить его,если оно неверно.

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

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

Проверкана пользователях

Половинапроцесса разработки- это анализ исоздание; втораяполовина - получениеобратной связи,и применениеполученнойинформации.

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

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

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

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


33