Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
користувацька і програмна моделі інтерфейсу.docx
Скачиваний:
0
Добавлен:
01.05.2025
Размер:
403.57 Кб
Скачать

Тривалість інтелектуальної роботи

Згідно Дональду нормани, взаємодію користувача з системою (не тільки комп'ютерної) складається з шести кроків: 1. Формування мети дій 2. Визначення загальної спрямованості дій 3. Визначення конкретних дій 4. Виконання дій 5. Сприйняття нового стану системи 6. Інтерпретація стану системи 7. Оцінка результату. З цього списку стає видно, що процес роздуми займає майже весь час, протягом якого користувач працює з комп'ютером, у всякому разі, шість з семи етапів повністю зайняті розумовою діяльністю. Відповідно, підвищення швидкості цих роздумів приводить до істотного поліпшення швидкості роботи. На жаль, суттєво підвищити швидкість власне мислення користувачів неможливо. Тим не менш, зменшити вплив факторів, що ускладнюють (і, відповідно, уповільнюють) процес мислення, цілком можливо. Розберемо це докладніше.

Безпосереднє маніпулювання

Як вже було сказано, перед дією користувачі «виявляють тенденцію думати». У процесі цього думання їм доводиться із загального, ще неконкретною задуму формувати чітку послідовність дій. Що нелегко. Припустимо, користувач чайника хоче випити чаю. Бажання випити чаю є мета дій. Усвідомивши її, користувач формує загальний задум, а саме «А ось непогано б поставити чайник і влаштувати собі чаю». Після цього користувач будує алгоритм своїх дій: Підійти до чайника і відкрити кришку. Якщо води в чайнику мало або немає зовсім, перенести чайник до раковини і наповнити його водою, після чого поставити його на плиту. Якщо води в чайнику достатньо, відразу поставити його на плиту. Закрити чайник кришкою. Знайти сірники. Відкрити коробок, витягнути один сірник, закрити коробок, запалити сірник. Сірником запалити під чайником газ, встановивши подачу газу на максимум. Загасити сірник і викинути її. Почекати, поки чайник не закипить, в цей час знайти достатньо чистий стакан і налити в нього заварки. За бажанням, знайти цукорницю і додати цукру в стакан. Вимкнути газ. Налити окропу з чайника в стакан. Розмішати рідина мізинцем (час від часу витягаючи його з рідини і дмухаючи на нього, щоб не обпектися). Вжити рідина за призначенням. Ах, так. Закрити кран в раковині. Зрозуміло, в реальному житті таку складну програму користувач не створює - як-ніяк, він облаштовував собі чай кілька тисяч разів, дія встигло стати автоматичним і створюваний алгоритм складається в кращому випадку з елементів вищого порядку (поставити чайник, налити чаю). У разі ж комп'ютерних систем важко очікувати такого автоматизму, більш того, алгоритми дій завжди виходять занадто абстрактними (а люди погано справляються з абстракціями). Аналізуючи приклад з чаєм, можна виділити певні вимоги до людини, який виконує роботу. Він повинен знати: 1 що він хоче отримати на виході (чай) 2 як мінімум одну послідовність дій, що приводить до успішного результату (наповнити чайник, поставити його на плиту, дочекатися закипання, налити окріп у склянку з заваркою) 3 де йому знайти всі об'єкти, що беруть участь у процедурі (де, чорт забирай, сірники?) 4 як визначати придатність об'єктів до використання (чи є вода в чайнику) 5 як управлятися з об'єктами (як включити газ). Список, як бачимо, досить значний. І якщо з першим пунктом проблем зазвичай не виникає, то з рештою доводиться повозитися. Погана новина полягає в тому, що інших пунктів багато, хороша новина - у тому, що вирішення всіх цих проблем єдине. Воно називається безпосереднім маніпулюванням (direct manipulation). Сенс цього методу дуже простий. Користувач не віддає команди системі, а маніпулює об'єктами. Коли ви хочете запалити газ в плиті, адже ви не командуєте плиті «Запали газ!» 1. Ні, ви маніпулюєте сірниками і плитою так, щоб вийшов вогонь. Це значно більш природний для людини спосіб (як-не весь реальний світ влаштований таким чином). Першим популярним застосуванням цього методу була корзина для видалення файлів на Macintosh (починаючи з Windows 95, така корзина стала стандартом і в Windows-світі, хоча була присутня вона і раніше). Щоб не переказувати вже відоме, обмежуся констатацією того простого факту, що якщо перетягнути в неї піктограму файлу, цей файл буде фактично стерте. Щоб краще оцінити принадність цього методу, зручно порівняти три варіанти дій користувача на прикладі цього самого стирання: Видно, що навіть така проста дія, як стирання файлу, насправді складається з багатьох малих, вже не подільних, дій (атомів). При цьому для прискорення розумової роботи користувача необхідно не тільки скорочувати кількість цих атомів, але і робити ці атоми більш простими. Перші три атоми в будь-якого методу однакові, тут вже нічого не придумати. Різниця між методами тільки в кінці процедури. З таблиці відразу видно, що метод вибору команди з меню поганий вже тим, що складається з великої кількості атомів. З іншого боку, він має те гідність, що користувач, взагалі нічого не знаючий про систему, тільки лише завдяки скануванню меню може дізнатися, що файли взагалі можна прати (власне кажучи, ця навчальна функція становить головне достоїнство меню як методу взаємодії користувача з системою, про це докладніше див «Меню» на стор 77). Але оскільки це гідність не має прямого відношення до швидкості роботи, можна сміливо сказати, що метод вибору команд з меню зі змагання вибув. Кількість елементів другого методу, що використовує гарячу клавішу, також велике, але у нього є певні плюси. При достатньому ступені автоматизму немає ні необхідності шукати клавішу на клавіатурі, ні думати, яку клавішу натиснути. Таким чином, для досвідчених користувачів цей метод дуже хороший. Третій спосіб, натискання на кнопку в панелі інструментів, складається з не настільки великої кількості елементів, так що формально він гарний. На жаль, він не дуже універсальний. Кількість елементів у будь-якій панелі інструментів обмежене, так що особливо із цим способом не розвернешся. Не кажучи вже про те, що для багатьох дій неможливо підібрати піктограму. У той же час спосіб цей має одну істотну перевагу - підказка до дії постійно знаходиться на екрані, так що користувачеві не доводиться копатися в своїй пам'яті (що може бути дуже довгим). І, нарешті, четвертий спосіб-безпосереднє маніпулювання. Крім того, що він сам по собі складається з невеликої кількості атомів, в певних ситуаціях він виявляється ще коротше. Справа в тому, що коли розташування кошика (нехай навіть і в загальних рисах) користувачеві відомо, процес видалення файлу починає складатися з одного єдиного дії, тобто користувач вибирає файл, виглядає кошик і перетягує туди файл одним рухом (основна ознака єдиного дії). Більш того. Незважаючи на те, що приклад з кошиком найбільш відомий, назвати його оптимальним можна. Найчастіше завдання не так однозначна - користувач не тільки може зробити з об'єктом небудь одне, але може зробити кілька різних дій. Наприклад, одне і те ж дія (перетягування) працює і при видаленні, і при переміщенні файлу. Більш того, якщо перетягнути файл у вікно електронного листа, який користувач в даний момент пише, файл буде вставлений в лист як вкладення. Це означає, що безпосереднє маніпулювання дозволяє серйозно знизити як кількість команд в системі, так і тривалість навчання. І ще раз більш того. Припустимо, що користувач зібрався стерти важливий системний файл, який прати не можна. Методи вибору команди в меню і в панелі інструментів, так само як і метод безпосереднього маніпулювання, тут спрацюють - елемент можна буде превентивно заблокувати. Якщо ж користувач спробує стерти файл, натиснувши на Delete, система виявиться нездатною якось показати неправомочність його дій (хіба що писком або повідомленням про помилку, що недобре, див. «Геть звідси, ідіот!» На стор 41). А тепер припустимо, що користувач зібрався стерти важливий файл, який прати не рекомендується. Жоден методів, окрім безпосереднього маніпулювання (можна буде поміняти піктограму кошика на час, поки курсор, із затиснутим в нього файлом, буде знаходитися над нею), тут не спрацює, тобто цей метод відрізняється від інших своєю гнучкістю. Важливо розуміти ще дві речі. По-перше, для досягнення достатньої ефективності не обов'язково намагатися найбільш реалістично відобразити дію, значно важливіше можливо більш реалістично відобразити об'єкт, над яким ця дія відбувається. Наприклад, комп'ютерну панель управління роботою освітлювальних приладів необов'язково постачати точними імітаціями вимикачів. Головне реалістично відобразити на ній план приміщення і розташування джерел світла, так само як і показати пряму (читай - безпосередню) зв'язок між цією інформацією і власне вимикачами. По-друге, бувають ситуації, коли ефективність безпосереднього маніпулювання врівноважується неефективністю фізичних дій користувача.