Інтерфейс: нові напрямки в проектуванні комп’ютерних систем
Книжка ця непроста і підійде не кожному. Автор аналізує те, чого ми всі давно звикли до автоматизму, і пояснює, що інтерфейс багатьох сучасних програм далекий від досконалості. Як його покращити, в якому напрямку рухатись далі? Спробуйте знайти відповіді разом із найвідомішим фахівцем у цій галузі – Джефом Раскіним, творцем проекту Apple Macintosh.
Наразі багато говорять про ефективність сучасних підходів до розробки інтерфейсів. Раскін демонструє, що багато хто з них веде в глухий кут, і для створення комп'ютерів, з якими було б простіше працювати, потрібні абсолютно нові принципи розробки. Він пояснює, як здійснити ці необхідні сьогодні зміни, та висловлює нестандартні ідеї, демонструючи далекоглядність та здатність до практичного погляду на речі.
Ця книга, що розповідає про науковий підхід до розробки інтерфейсів, може бути корисною як для творців програмного забезпечення, так і для керівників проектів.
Інтерфейс: нові напрямки в проектуванні комп'ютерних систем
6.4.4. Автоповтор та інші прийоми роботи з клавіатурою
6.4.4. Автоповтор та інші прийоми роботи з клавіатурою
В даний час, швидше за все, поруч із вашим комп'ютером є звичайна буквено-цифрова клавіатура. Безліч спроб реформування клавіатури (наприклад, розкладка Дворака) виявилися безсилими для того, щоб подолати інерцію багатьох мільйонів людей, які навчені наосліп набирати на клавіатурі з розкладкою QWERTY. Все, що ми можемо зробити як розробники інтерфейсів, – це ходити десь із краю і робити невеликі поліпшення, що не потребують серйозного переучування. Наведу деякі з тих покращень, які ми можемо зробити.
Для того, щоб розпочавсяавтоматичний повтор, більшість клавіатур потрібно утримувати клавішу в натиснутому положенні протягом 500 мс. Це приклад фіксованої затримки. Однак є сенс не використовувати в інтерфейсах фіксований інтервал затримки. Будь-яка фіксована затримка може виявитися як занадто великою, так і малою, залежно від користувача та обставин. В даному випадку затримка в 500 мс може бути дуже короткою в тих ситуаціях, якщо ви замислилися над тим, що збираєтеся ввести далі. Коли ви прокинетеся, то можете виявити, що на сторінці з'явилися пара рядків з одним символом, на кшталт sssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssssss. (Мій кіт є майстром у використанні комп'ютера таким чином.) Для користувача, що має невелику швидкість набору або страждає від якогось неврологічного або фізіологічного розладу, затримка в 500 мс перед автоповтором може бути занадто короткою.
Джон Бумгарнер (John Bumgarner), який працював у компанії Information Appliance, запропонував гарне вирішення проблеми автоповтору. Він зазначив, що у більшості фонетичних мов одна літера майже ніколи не зустрічається тричі поспіль. Він також зауважив, що автоповтор рідко використовується, якщо літеру потрібно повторити менше п'яти разів (у цьому випадку користувач просто натискає на клавішу необхідну кількість разів). При використанні методу Бумгарнера автоповтор починається, якщо кнопка утримується більше 100 мс після третього поспіль натискання на кнопку. Іншими словами, щоб отримати рядок, що складається із знаків рівності, потрібно натиснути наступну послідовність:
Після цього клавішу зі знаком рівності слід утримувати в натиснутому положенні доти, доки не з'явиться необхідна кількість символів, а потім відпустити.
Багаторазове натискання наодну і ту ж клавішу виконати швидше, ніж набирати різні символи, і GOMS-аналіз показує, що затримка перед початком автоповтору знижується з 700 мс при звичайних методах до 400 мс у запропонованому методі. Метод автоповтору Бумгарнер досить простий у використанні і, як показали тестування, такий автоповтор ніколи не запускається випадково (навіть якщо ваша кішка сяде на клавіатуру). Негативною стороною, яка властива також стандартному методу автоповтору, є те, що автоповтор працює як невидима функція, яка ніде в системі не позначена.
Добре розроблені комп'ютери та інформаційні пристрої забезпечуютьсяакордними клавіатурами (chord keyboards), щоб у програмному забезпеченні можна було передбачати розпізнавання одночасного натискання кількох клавіш. Старі та більш примітивні комп'ютери мали клавіатури, в яких лише деякі спеціальні клавіші (наприклад, Shift) можна одночасно натискати разом з іншими клавішами. Акордні клавіатури дозволяють вирішити низку складних інтерфейсних проблем. Наприклад, розглянемо накладання символів. Потрібний логічно ясний метод створення двох символів в одному місці. Наприклад, щоб зробити знак долара за допомогою накладання літери s і вертикальної риси (), повинна бути передбачена можливість одночасного натискання клавіш:
Це не заважало б поєднаному натисканню на клавіші, яке зазвичай відбувається при великій швидкості набору і при якому клавіша, натиснута першою, відпускається лише після того, як натискаються одна або кілька клавіш. Словоtheчасто набирається не так:
а ось так (наведемо один із безлічі можливих варіантів):
Сучасні клавіатури та їх програмне забезпечення допускають використання таких сумісних натисканьклавіш, що називається циклічним буфером (rollover). Більшість клавіатур маютьn-клавішний циклічний буфер. Це означає, що система зможе розрізнити n кількість одночасно натиснутих клавіш. З урахуванням людської анатомії коефіцієнт n навряд чи повинен перевищувати 10, хоча з технічного погляду взагалі немає потреби його обмежувати, якщо комп'ютер оснащений акордною клавіатурою.
З урахуванням загальноприйнятого методу створення накладень за допомогою натискання на одну клавішу під час того, як утримується інша, знаки наголосу і діакритичні символи можуть також розглядатися як символи, що накладаються, і вводитися аналогічним чином. Наприклад, у комп'ютері Macintosh буквуe, як у слові Dupre, можна набрати за допомогою складної послідовності клавіш:
Зверніть увагу на те, що тут використовується модальний метод типу «дієслово-іменник», що є порушенням власних принципів компанії Apple. З іншого боку, цей метод працює непослідовно. Якщо ви використовуєте наведену нижче послідовність, то буде отримана лапка, за якою стоїть буква t, а не буква t зі знаком наголосу, як можна було б очікувати:[50]
Якщо ж накладення виконувати за допомогою квазірежиму, введення символів акценту та інших діакритичних символів спрощується і робиться послідовнішим:
Ви натискаєте на букву е і, утримуючи її, натискаєте на символ наголосу. Те саме поєднання можна отримати і в зворотному порядку:
Логічно немає різниці, в якому порядку ви виконуєте цю операцію.
Крім того, накладання символів є корисним для написання математичних та інших спеціальних символів, а також у мовах програмування (наприклад, APL). Може виникнути питання: чому замість накладання символів не можна просто увімкнути потрібнісимволи в шрифтові набори, адже наші дисплеї є повністю растровими? Справді, так можна вчинити, проте не всі захочуть витрачати час на розробку нових символів та їх встановлення у кожний шрифтовий набір, у якому ми хочемо їх використати. З іншого боку, навряд чи в сучасному комп'ютері не можна отримати ті ж можливості, які легко доступні за допомогою звичайних механічних друкарських машинок.
Накладення не повинно обмежуватись лише двома символами. Будь-які символи можуть накладатися один на одного, як, наприклад, у наступній послідовності:
Shift? s? Shift? ? /? /? ? s?
Така послідовність дасть у результаті знак долара, перекреслений косою межею. Функція накладання символів повинна обмежуватися швидше лише естетичними міркуваннями і доступністю для читання, ніж апаратними чи програмними міркуваннями.
Якщо використовуються n-клавішний циклічний буфер і описані вище методи накладання, то для зворотного зв'язку під час набору інтерфейс може тимчасово відображати пару символів, що накладаються один на одного у вигляді суміжних символів. Сенс цього полягає в тому, що інтерфейс не може відрізнити одночасне натискання клавіш при швидкому наборі від одночасного натискання з метою накладання символів один на одного, поки клавіші. не відпущені, після чого злиття символів, що накладаються, відбувається автоматично. Також хочу додати, що потрібна радикальна реформа клавіатури, пов'язана з видаленням клавіші CapsLock. Ця кнопка породжує режим.