
- •1. Передумови
- •1.1. Визначення інтерфейсу
- •1.2. Простої повинне залишатися простим
- •1.3. Орієнтація на людину і на користувача
- •1.4. Інструменти, що перешкоджають новим ідеям
- •1.5. Розробка інтерфейсу як частина загального циклу розробки
- •1.6. Визначення человекоориентированного інтерфейсу
- •2. Когнетика і локус уваги
- •2.1. Ергономіка і когнетика: що ми можемо і чого не можемо
- •2.2. Когнітивне свідоме і когнітивне несвідоме
- •2.3. Локус уваги
- •2.3.1. Формування звичок
- •2.3.2. Одночасне виконання задач
- •2.3.3. Сингулярность локусу уваги
- •2.3.4. Джерела локусу уваги
- •2.3.5. Експлуатація єдиного локусу уваги
- •2.3.6. Поновлення перерваної роботи
- •3.2. Режими
- •3.2.1. Визначення режимів
- •3.2.2. Режими, користувальницькі настроювання і тимчасові режими
- •3.2.3. Режими і квазирежимы
- •3.3. Моделі "іменник-дієслово" і "дієслово-іменник"
- •3.4. Видимість і заможність
- •3.5. Монотонність
- •3.6. Міф про дихотомію "новачок-експерт"
- •4.2. Модель швидкості печатки goms
- •4.2.1. Тимчасові інтервали в інтерфейсі
- •4.2.2. Розрахунки по моделі goms
- •4.2.3. Приклади розрахунків по моделі goms
- •4.2.3.1. Інтерфейс для Хола: варіант 1. Діалогове вікно
- •4.2.3.3. Інтерфейс для Хола: варіант 2
- •4.3.1. Продуктивність інтерфейсу для Хола
- •4.3.2. Інші рішення інтерфейсу для Хола
- •4.4. Закон Фитса і закон Хика
- •4.4.1. Закон Фитса
- •4.4.2. Закон Хика
- •5.1. Уніфікація й елементарні дії
- •5.2. Каталог елементарних дій
- •5.2.1. Підсвічування, вказівка і виділення
- •5.2.2. Команди
- •5.2.3. Екранні стани об'єктів
- •5.3. Імена файлів і файлові структури
- •5.4. Пошук рядків і механізми пошуку
- •5.4.1. Роздільники в шаблоні пошуку
- •5.4.2. Одиниці взаємодії
- •5.5. Форма курсору і методи виділення
- •5.7. Ліквідація додатків
- •5.8. Команди і трансформатори
- •6.1. Інтуїтивні і природні інтерфейси
- •6.2. Поліпшена навігація: ZoomWorld
- •6.3. Піктограми
- •6.4. Способи і засоби допомоги в человекоориентированных інтерфейсах
- •6.4.1. Вирізувати і вставити
- •6.4.2. Повідомлення користувачу
- •6.4.3. Спрощення входу в систему
- •6.4.4. Автоповтор і інші прийоми роботи з клавіатурою
- •6.5. Лист від одного користувача
- •7.1.2. Важливість ведення документації при створенні програм
- •7.2. Режими і кабелі
- •7.3. Етика і керування розробкою інтерфейсів
4.2. Модель швидкості печатки goms
Ціль точної науки полягає в тім, щоб звести проблеми природи до встановлення кількостей за допомогою операцій з числами.
Джеймс Клерк Максвелл "До питання про фарадеевых силові лінії" (1856)
Тут я хочу обговорити тільки один найпростіший, але досить коштовний аспект методу GOMS - модель, заснована на оцінці швидкості печатки. Розроблювачі, що знайомі з методом GOMS, рідко проводять детальний і формальний аналіз моделі інтерфейсу. Почасти це відбувається через те, що основи GOMS і інших кількісних методів відомі їм настільки, що вони споконвічно керуються цими методами в процесі розробки. До формального аналізу, звичайно, прибігають у випадках, коли необхідно вибрати один із двох варіантів розробки, коли навіть невеликі розходження у швидкості можуть давати великий економічний і психологічний ефект. Іноді розроблювачі користаються вражаючими своєю точністю розширеними моделями GOMS, як, наприклад, аналіз з використанням методу критичного шляху GOMS (crіtіcal-path method GOMS, CPM-GOMS) чи версія, називана природною мовою GOMS (natural GOMS language, NGOMSL), у якій враховується поводження недосвідченого користувача, наприклад час, необхідний йому для навчання. За допомогою цих методів можна, наприклад, пророчити, скільки часу знадобиться користувачу для виконання деякого набору дій при використанні даного інтерфейсу з абсолютною погрішністю менш 5%. У розширених моделях майже всі оцінки не виходять за межі стандартного відхилення, прийнятого для обмірюваних значень часу (Gray, John і Atwood, 1993, с. 278). Для питань, що викликають жаркі суперечки і з приводу яких авторитетні розроблювачі найчастіше висловлюють зовсім різні думки, корисно озброїтися кількісними методами, що мають теоретичне обґрунтування й одержали експериментальну апробацію. Більш повний огляд і бібліографію, присвячені різним моделям GOMS, можна знайти в Джона (John, 1995); там же можна знайти і модель CPM-GOMS, розроблену самим Джоном.
4.2.1. Тимчасові інтервали в інтерфейсі
Точність цифр є щира душа науки.
Д'арки Уентуорф Томпсон "Про ріст і форму" (1917)
Розроблювачі моделі GOMS під час її створення помітили, що час, що вимагається для виконання якоїсь задачі системою "користувач - комп'ютер", є сумою всіх тимчасових інтервалів, що потрібні були системі на виконання послідовності елементарних жестів, що складають дану задачу. Хоча для різних користувачів час виконання того чи іншого жесту може сильно відрізнятися, дослідники знайшли, що для більшої частини порівняльного аналізу задач, що включають використання клавіатури і графічного пристрою введення, замість проведення вимірів для кожного окремого користувача можна застосувати набір стандартних інтервалів. За допомогою ретельних лабораторних досліджень був отриманий набір тимчасових інтервалів, необхідних для виконання різних жестів. Нижче приводиться оригінальна номенклатура, у якій кожен інтервал позначений однією буквою (Card, Moran і Newell, 1983).
K = 0.2 з Натискання клавіші. Час, необхідне для того, щоб натиснути клавішу.
P = 1.1 із Указівку. Час, необхідний користувачу для того, щоб указати на якусь позицію на екрані монітора.
H = 0.4 з Переміщення. Час, необхідний користувачу для того, щоб перемістити руку з клавіатури на ГУВ чи з ГУВ на клавіатуру.
M = 1.35 з Ментальна підготовка. Час, необхідний користувачу для того, щоб розумово підготуватися до наступного кроку.
R Відповідь. Час, протягом якого користувач повинний очікувати відповідь комп'ютера.
На практиці зазначені значення можуть варіюватися в широких межах. Для досвідченого користувача, здатного друкувати зі швидкістю 135 слів/хв., значення K може складати 0.08 з, для звичайного користувача, що має швидкість 55 слів/хв., - 0.2 з, для середнього недосвідченого користувача, що має швидкість 40 слів/хв., - 0.28 з, а для початківця - 1.2 с. Не можна сказати, що швидкість набору не залежить від того, що саме набирається. Для того щоб набрати одну букву з групи випадково узятих букв, більшості людей потрібно близько 0.5 с. Якщо ж це якийсь заплутаний код (наприклад, адреса електронної пошти), то в більшості людей швидкість набору складе близько 0.75 символів у секунду. Значення K містить у собі і той час, який необхідно користувачу для виправлення відразу замічених помилок. Клавіша <Shіft> вважається за окреме натискання.
Широка змінюваність кожної з представлених мір пояснює, чому ця спрощена модель не може використовуватися для одержання абсолютних тимчасових значень з яким-небудь ступенем точності. Проте , за допомогою типових значень ми можемо зробити правильну порівняльну оцінку між якимись двома інтерфейсами за рівнем ефективності їхнього використання. Якщо оцінюються складні інтерфейси, що включають пересічні тимчасові залежності, чи якщо повинні бути з точністю досягнуті визначені тимчасові інтервали, то варто застосовувати більш складні моделі (наприклад, CPM-GOMS), що не розглядаються в цій книзі.
________________________________________
Подвійна "дискликсия"20
Интерфейсная техніка, називана "подвійним кликом", тобто подвійне натискання кнопки ГУВ за короткий часовий проміжок і без якого-небудь значного переміщення курсору між двома натисканнями, має деякі недоліки. Ви не можете точно сказати, які об'єкти на екрані відповідять на подвійний клік, а які немає. Крім того, не завжди ясно, який саме може бути відповідь. Відображувані на екрані монітора елементи не мають яких-небудь ознак, що означають, що подвійний клік може викликати якийсь результат, - тобто ця функціональність є невидимої. Те, яким образом подвійний клік використовується в багатьох сьогоднішніх інтерфейсах, змушує користувачів запам'ятовувати не тільки те, по яких саме елементах можна двічі клацати мишею, але і те, який результат виникає у відповідь на цієї дію стосовно різних класів елементів інтерфейсу.
Перші дві проблеми можна, принаймні , частково вирішити за допомогою використання нових умовностей. Що стосується подвійного кліка, то він сам по собі представляє проблему. Подвійний клік вимагає використання кнопки миші двічі в тому самому чи місці при невеликому переміщенні і, у більшості випадків, протягом невеликого проміжку часу, приблизно за 500 мс. Якщо користувач клацає занадто повільно, машина сприймає це як дві окремих кліки, а не як один подвійний клік. Якщо користувач занадто сильно рухає мишею в проміжку між двома кліками, може відбутися та ж сама помилка. Якщо користувач занадто швидко натискає кнопку ГУВ, наприклад, як при роботі з деякими текстовими процесорами при спробі виділити букви усередині слова, система може сприйняти два натискання як подвійний клік і в результаті буде виділене все слово.
Інша проблема виникає, коли користувач намагається виділити графічний елемент, якому можна перемістити за допомогою ГУВ. Оскільки при швидкому натисканні на кнопку ГУВ цей пристрій дуже легко зрушити з місця, графічні програми можуть сприйняти ця дія не як подвійний клік, а як спробу переносу об'єкта в інше місце (drag-and-drop). Аналогічним образом, щоб змінити текст у вікні, користувач може порахувати необхідним змінити місце розташування випадково зрушеного вікна і внести в текст виправлення, що споконвічно передбачалися.
Деякі з нас не страждають від дискликсии. Ці щасливі люди ніколи не промахуються мишею. Вони можуть цілком безтурботно і з особливою своєрідністю робити й один, і дві кліки по миші і никоим образом не страждати від якихось побічних ефектів. Вони завжди пам'ятають, що може система відповісти на подвійного щиглика, а що не може. Такі люди здатні потрапити з револьвера калібру 0,357 у птаха, що летить, рухаючи при цьому на автомобілі по звивистій гірській дорозі. Однак не можна розраховувати на те, що всі користувачі настільки щасливі. Тому інтерфейс необхідно розробляти з урахуванням користувачів, що страждають від дискликсии, а також з урахуванням проблем, властивому використанню подвійного кліка.21
________________________________________
Тривалість відповіді, що надходить від комп'ютера, R, може робити несподіваний ефект на дії користувача. Якщо при використанні якогось керуючого елемента на екрані монітора протягом приблизно 250 мс нічого не виникає, користувач, швидше за все, може відчути занепокоєння, вирішить зробити ще одну чи спробу подумає, що система несправна.
Не можна зробити такий продукт, що міг би завершувати всі операції за час, що не перевищує часу реакції користувача, але можна зробити такі інтерфейси, у яких протягом цього часу завжди б видавалося повідомлення про те, що інформація від користувача прийнята і правильне розпізнана. У противному випадку дії користувача під час затримки - найчастіше просто молотьба по клавіатурі з метою одержати хоч якусь відповідь - можуть привести до небажаних реакцій з боку системи, приводячи тим самим до ще більшої чи затримки навіть ушкодженню змісту. Наприклад, при спробі скачати який-небудь файл із Amerіca Onlіne за допомогою броузера (наприклад, Netscape) дуже часто виникає велика затримка. При цьому не з'являється ніякої ознаки, що дійсно щось відбувається. Виникає тільки невелике статичне повідомлення про те, що комп'ютер чекає відповіді, але воно знаходиться далеко за межами локусу уваги користувача. Через кілька секунд недосвідчений користувач починає кликати по кнопках на екрані, що приводить до зупинки завантаження файлу - знову ж без усякого повідомлення про це.
Якщо затримки неминучі, важливо, щоб в інтерфейсі був передбачений зворотний зв'язок, що сооется про їх, - наприклад, можна використовувати індикатор ходу виконання задачі (status bar) (мал. 4.1), що відбиває час, що залишився до кінця операції. Якщо невідомо, скільки саме часу займе операція, так і скажіть про це користувачу! Не можна брехати чи користувачу вводити його в оману.
Рис. 4.1. Індикатор ходу виконання задачі. Важливо, щоб відображення часу було лінійним. Текстове повідомлення про час, що залишився, якщо воно точне, також можна вважати человекоориентированным рішенням у тих випадках, коли затримки неминучі
.