
- •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. Етика і керування розробкою інтерфейсів
6.4.4. Автоповтор і інші прийоми роботи з клавіатурою
В даний час, швидше за все, поруч з вашим комп'ютером мається звичайна буквено-цифрова клавіатура. Безліч спроб реформування клавіатури (наприклад, розкладка Дворака) виявилися неспроможними для того, щоб перебороти інерцію багатьох мільйонів людей, що навчені наосліп набирати на клавіатурі з розкладкою QWERTY. Усе, що ми можемо зробити як розроблювачів інтерфейсів, - це ходити де-небудь скраю і робити невеликі поліпшення, що не вимагають серйозного переучування. Приведу деякі з тих поліпшень, що ми можемо почати.
Для того щоб почався автоматичний повтор, у більшості клавіатур потрібно утримувати клавішу в натиснутому положенні протягом 500 мс. Це являє приклад фіксованої затримки. Однак має сенс не використовувати в інтерфейсах фіксований інтервал затримки. Будь-яка фіксована затримка може виявитися як занадто великий, так і занадто малої, у залежності від користувача й обставин. У даному випадку затримка в 500 мс може бути занадто короткої в тих ситуаціях, якщо ви задумалися над тим, що збираєтеся ввести далі. Коли ви очнетесь, те можете знайти, що на сторінці з'явилися пари рядків з одним символом, на зразок ssssssssssssssssssss. (Мій кіт є майстром у використанні комп'ютера в такий спосіб.) Для користувача, що має невелику швидкість чи набору страждає від якого-небудь неврологічного чи фізіологічного розладу, затримка в 500 мс перед автоповтором може також бути занадто короткої.
З іншого боку, інтервал затримки в 500 мс є занадто довгим, хоча б тому, що затримка є затримка - користувачу приходиться чекати, поки виникне необхідний ефект. Наприклад, у користувачів інтерфейсу Macіntosh наступна ситуація викликає особливе роздратування: щоб змінити ім'я файлу після відкриття чи тому папки, вам потрібно клацнути по імені і почекати полсекунды доти , поки не з'явиться спеціальне чи обрамлення зміна кольору, що вказує на перехід у режим редагування. Це було передбачено для того, щоб користувач міг вибрати ім'я файлу одним натисканням на кнопку миші без ризику випадкової його зміни. Після переходу в попередній режим редагування ви повинні клацнути по імені ще раз, щоб перевести систему в стан редагування. Роздратування користувачів підтверджується як проведеними інтерв'ю, так і кількаразовими статтями в журналах з описами способів обходу цих затримок. Користувачі не люблять, коли їх змушують чекати.
Джон Бумгарнер (John Bumgarner), що працював у компанії Іnformatіon Applіance, запропонував гарне рішення проблеми автоповтора. Він помітив, що в більшості фонетичних мов одна буква майже ніколи не зустрічається три рази підряд. Він також помітив, що автоповтор рідко використовується, якщо букву потрібно повторити менш п'яти разів (у цьому випадку користувач просто натискає на клавішу необхідне число раз). При використанні методу Бумгарнера автоповтор починається, якщо клавіша утримується більш 100 мс після третього підряд натискання на клавішу. Іншими словами, щоб одержати рядок, що складається зі знаків рівності, потрібно натиснути наступну послідовність:
===?
Після цього клавішу зі знаком рівності варто утримувати в натиснутому положенні доти , поки не з'явиться необхідна кількість символів, і потім відпустити.
Багаторазове натискання на ту саму клавішу виконати швидше, ніж набирати різні символи, і GOMS-аналіз показує, що затримка перед початком автоповтора падає з 700 мс при звичайних методах до 400 мс у запропонованому методі. Метод автоповтора Бумгарнера досить простий у використанні і, як показали тестування, такий автоповтор ніколи не запускається випадково (навіть якщо ваша кішка сяде на клавіатуру). Негативною стороною, що властива також і стандартному методу автоповтора, є те, що автоповтор працює як невидима функція, що ніде в системі не позначена.
Добре розроблені комп'ютери й інформаційні пристрої забезпечуються акордними клавіатурами (chord keyboards), щоб у програмному забезпеченні можна було передбачати розпізнавання одночасного натискання декількох клавіш. Старі і більш примітивні комп'ютери мали клавіатури, у яких тільки деякі спеціальні клавіші (наприклад, <Shіft>) можна було одночасно натискати разом з іншими клавішами. Акордні клавіатури дозволяють вирішити ряд складних интерфейсных проблем. Наприклад, розглянемо накладення символів. Потрібно логічно ясний метод створення двох символів в одному місці. Наприклад, для того щоб зробити знак долара за допомогою накладення букви s і вертикальної риси (|), повинна бути передбачена можливість одночасного натискання клавіш:
s? |? |? s?
Це не заважало б сполученому натисканню на клавіші, що звичайно відбувається при великій швидкості набору і при який клавіша, натиснута першої, відпускається тільки після того, як натискаються одна чи кілька інших клавіш. Слово the часто набирається не так:
t? t? h? h? e? e?
а от так (приведемо один з безлічі можливих варіантів):
t? h? e? t? h? e?
Сучасні клавіатури і їхнє програмне забезпечення допускають використання таких сполучених натискань клавіш, що називається циклічним буфером (rollover). Більшість клавіатур мають n-клавішний циклічний буфер. Це означає, що система зможе розрізнити n-і кількість одночасно натиснутих клавіш. З урахуванням людської анатомії коефіцієнт n навряд чи повинний перевищувати 10, хоча з технічної точки зору взагалі немає потреби його обмежувати, якщо комп'ютер оснащений акордною клавіатурою.
З урахуванням загальноприйнятого методу створення накладень за допомогою натискання на одну клавішу під час того, як утримується інша, знаки наголосу і діакритичні символи можуть також розглядатися символи, що як накладаються, і вводитися аналогічним образом. Наприклад, у комп'ютері Macіntosh букву ?, як у слові Dupr?, можна набрати за допомогою складної послідовності клавіш:
Optіon? e??? e? e?
Зверніть увагу на те, що тут використовується модальний метод типу "дієслово-іменник", що є порушенням власних принципів компанії Apple. Крім того, цей метод працює непослідовно. Якщо ви використовуєте нижчеподану послідовність, то будуть отримані лапки, за якої коштує буква t, а не буква t зі знаком наголосу, як можна було б очікувати50:
Optіon? t??? t? t?
Якщо ж накладення виконувати за допомогою квазирежима, уведення знаків акценту й інших діакритичних символів спрощується і робиться більш послідовним:
e? '? '? e?
Ви натискаєте на букву е і, утримуючи її, натискаєте на символ наголосу. Те ж саме сполучення можна одержати й у зворотному порядку:
'? e? e? '?
Логічно немає ніякої різниці, у якому порядку ви виконуєте цю операцію.
Крім того, накладення символів корисно для написання математичних і інших спеціальних символів, а також у мовах програмування (наприклад, APL). Може виникнути питання: чому замість накладення символів не можна просто включити потрібні символи в шрифтові набори, адже наші дисплеї є цілком растровими? Дійсно, так можна надійти, однак не усі захочуть витрачати час на розробку нових символів і їхню установку в кожний шрифтової набір, у якому ми хочемо їх використовувати. З іншого боку, навряд чи в сучасному комп'ютері не можна одержати ті ж можливості, що були легко доступні за допомогою звичайних механічних друкарських машинок.
Накладення не повинне обмежуватися тільки двома символами. Будь-які символи можуть накладатися один на одного, як, наприклад, у наступній послідовності:
Shіft? s? Shіft? |? /? /? |? s?
Така послідовність дасть у результаті знак долара, перекреслений косою рисою. Функція накладення символів повинна обмежуватися скоріше тільки лише эстетическими розуміннями і приступністю для читання, чим апаратними чи програмними розуміннями.
Якщо використовуються n-клавішний циклічний буфер і описані вище методи накладення, то для зворотного зв'язку під час набору інтерфейс може тимчасово відображати пари накладаються друг на друга символів у виді суміжних символів. Зміст цього полягає в тім, що інтерфейс не може відрізнити одночасне натискання клавіш при швидкому наборі від одночасного натискання з метою накладення символів один на одного доти , поки клавіші.не відпущені, після чого злиття символів, що накладаються, відбувається автоматично. Також хочу додати, що потрібно радикальна реформа клавіатури, зв'язана з видаленням клавіші <CapsLock>. Ця клавіша породжує режим.