- •1.1. Інтерфейс користувача: міст між людиною і комп'ютером
- •1.2. Основні принципи розробки користувальницького інтерфейсу
- •2.1. Життєвий цикл програмного продукту
- •2.2. Етапи проектування користувальницького інтерфейсу
- •3.1. Особливості графічного інтерфейсу
- •3.4. Взаємодія користувача з додатком
- •3.5. Загальні правила взаємодії з об'єктами
- •4. Вибрати команду Всщавить.
- •3.6.2. Операції створення нових об'єктів
- •4.1. Проектування піктограм
- •4.2.2. Основні операції з вікнами
- •93 Ніяке інше вікно не повинне стати активним перш, ніж користувач завершить переміщення даного вікна. 11еремегцение вікна має на увазі його активізацію.
- •4.2.5. Вибір моделі вікна
- •4.3.2. Панелі властивостей і контролю параметрів
- •4.3.3. Діалогові панелі
- •4.3.4. Інші типи вторинних вікон
- •5.2.3. Прапорці
- •5.3.1. Список одиничного вибору
- •5.3.4. Список, що модифікується
- •5.3.5. Дерево, що модифікується
- •5.4.1. Текстові поля
- •5.4.4. Комбінований список, що випадає
- •5.6.2. Заголовки стовпців
- •5.6.3. Етикетка вкладки
- •5.6.4. Смуги прокручування
- •5.6.8. Колекції
- •5.6.9. Область повідомлень
- •5.7. Вибір візуальних атрибутів відображуваної інформації
- •5.7.1. Композиція й організація
- •5.7.3. Шрифт
- •5.7.4. "Багатомірність" екрана
- •5.7.6. Візуалізація виконуваних операцій
- •5.8. Три випадки з життя guі
- •6.1. Вікно повідомлення
- •6.2.2. Спливаюча підказка
- •6.3. Проблемно-орієнтована допомога
- •6.5. Майстра
- •6.6. Засобу навчання користувача
- •Глава 7
- •7.3. Користувальницький інтерфейс систем реального часу
- •8.3. Засобу розробки web-документів
- •Глава 9
3.4. Взаємодія користувача з додатком
Основні операції взаємодії користувача з додатками, такі як навігація, вибір, перегляд, редагування, створення нових об'єктів базуються на парадигмі об'єктної обробки, у якій користувач ідентифікує об'єкт і дію, що відноситься до цього об'єкта. Послідовно реалізуючи цю техніку, ви даєте можливість користувачу переносити їхні навички і знання на нові завдання.
Більшість створюваних додатків підтримують основні операції взаємодії для миші, клавіатури і пера. Чи доповнюючи розширюючи основний набір операцій, враховуйте можливість їхньої реалізації за допомогою зазначених пристроїв уведення. Техніка використання не повинна бути єдиної для всіх пристроїв. Навпаки, вона повинна бути реалізована таким чином, щоб оптимизировать застосування конкретного пристрою з урахуванням його особливостей. Крім того, ста-райтесь полегшити користувачу перехід між пристроями, для того щоб він міг змінювати пристрою в залежності від виконуваних дій.
НАВІГАЦІЯ
Переміщаючи мишу, користувач може перемістити покажчик у будь-яку позицію на екрані.
Навігація за допомогою пера подібнаі навігації за допомогою миші, за исключе-нием того, що користувач переміщає перо, не стосуючись вхідної поверхні.
Клавіатурна навігація жадає від користувача натискання спеціальних клавіш і їхніх комбінацій. Положення позиції (фокуса) уведення визначається контекстом (поточною ситуацією); зокрема , при роботі з текстом воно ідентифікується положенням текстового курсору.
Основні клавіші навігації
Клавіші навігації - це чотири клавіші керування курсором (які ми надалі для стислості будемо називати <Вправо>, <Уліво>, <Нагору>, <Униз>), а також клавіші <Home>, <End>, <Page Up>, <Page Down> і клавіша <Tab>. Натискання клавіш навігації в сполученні з клавішею <Ctrl> дозволяє збільшувати крок переміщення. Наприклад, натискання клавіші <Упра-во> переміщає курсор у текстовій області вправо на один символ, а натискання тієї ж клавіші разом з <СЫ>забезпечує переміщення курсору на одне слово.
Табл. 3.3 містить перелік основних клавіш навігації і їхніх функцій. Ви можете визначити додаткові клавіші для навігації.
Та6.'іn на 3.3 Основні клавіші навігації
Клавіша Переміщення курсору Переміщення курсору для комбінації <СЬ-1>кклавиша>
<Вправо> на один елемент вправо на один (більш великий)елемент вправо
<Уліво> на один елемент уліво на один(більш великий)елемент уліво
<Нагору> нагору на один чи елемент рядок на один(більш великий)елемент нагору
<Униз> униз на один чи елемент рядок на один (більш великий)елемент униз
<Houm> у початок рядка в початок чи даних файлу (у саму верхню позицію).
<End> у кінець рядка в кінець чи даних файлу (у саму нижню позицію).
Таблиця 3.3 (Продовження)
<Page Up> на один екран нагору (у ту ж пози-цию попереднього екрана) на один екран уліво (чи на попередній екран)
<Page Down> на один екран униз (у ту ж пози-цию наступного екрана) на один екран вправо (чи на наступний екран)
<Tab> на наступне поле (комбінація <Shіft>+<Tab> дає переміщення в зворотному напрямку) на наступну велику область
На відміну від навігації за допомогою миші і пера, клавіатурна навігація звичайно впливає на поточний вибір. У зв'язку з цим ви можете додатково визначити використання клавіші <Scroll Lock> таким чином, щоб навігація виконувалася без і зобов'язання поточного вибору. При цьому величина кроку збільшення залишається колишньої.
ВИБІР
Вибір є основним засобом, за допомогою якого користувач иден-тифицирует цікавлячі його об'єкти. Отже, реалізація моделі взаи-модействия, заснованої на використанні вибору - один з найбільш важливих аспектів проектування інтерфейсу.
Вибір, як правило, припускає пряма вказівка користувачем идентифи-цируемого об'єкта. Цей механізм відомий як явний вибір. Якщо об'єкт обраний, користувач може визначити дію для нього.
Можливі також ситуації, коли ідентифікація (вибір) об'єкта виробляється "побічно", на основі деякого логічного чи правила виходячи з поточного кону-тексту. Непрямий вибір працює найбільше ефективно в тих випадках, коли між об'єктом і дією існує проста і видима асоціація. Наприклад, коли користувач "протаскує" смугу прокручування, він одночасно визначає і ви-бор об'єкта "смуга прокручування", і зв'язане з ним дія "переміщення". Кос-венний вибір може бути реалізований і за допомогою наявного зв'язку між объек-тами. Наприклад, вибираючи символ у текстовому документі, ви тим самим маєте на увазі вибір параграфа, у якому міститься даний символ.
Операція вибору може відноситися як до єдиного об'єкта, так і до мно-жеству об'єктів. Відповідно розрізняють одиничний і множинний вибір. Множинний вибір може бути безупинним (відомий також як вибір об-ласти), коли операція вибору виконується для групи розташованих поруч об'єктів, або роздільним, коли вибір містить групу об'єктів, що про-странственно чи логічно рознесені.
Множинний вибір може також бути класифікований як однорідний (гомогенний) чи різнорідний (гетерогенний), у залежності від чи типу властивостей
52
обраних об'єктів. Чи однорідність різнорідність вибору впливає на доступ-ность операцій, виконуваних над всіма обраними об'єктами.
Завжди забезпечуйте візуальний зворотний зв'язок для відображення результа-тов явного вибору, для того щоб користувач міг контролювати своп дії! Форма відображення вибору залежить від об'єкта і поточного контексту.
При наявності непрямого вибору забезпечувати візуальний зворотний зв'язок зна-чительно складніше; однак ви можете відобразити ефект непрямого вибору други-ми способами. Наприклад, коли користувач протаскує смугу прокручування, це-лесообразно відобразити переміщення покажчика. Аналогічно, якщо вказівка слова в параграфі має на увазі вибір параграфа, ви не повинні використовувати засобу виділення для всього параграфа, досить враховувати властивості параграфа, коли користувач виконує над ним ті чи інші дії.
Область вибору - це сукупність об'єктів одного вікна, для яких зроблений вибір; при цьому область вибору не обов'язково буде збігатися з областю видимості цих об'єктів. Наприклад, ви можете вибрати два файли в тому самому вікні, вилучених друг від друга настільки, що в межах видимості знаходиться тільки один з них.
Одночасно може існувати кілька областей вибору. При цьому в каж-дом вікні може бути визначена тільки одна область вибору. Область вибору в одному вікні не залежить від областей вибору в інших вікнах.
Враховувати наявні області вибору важливо через те, що вони визначають набір припустимих операцій для обраних об'єктів і спосіб виконання цих операцій.
Як правило, області вибору містять об'єкти, що відносяться до одного рівня ієрархії (наприклад, тільки файли усередині папки, або папки, що мають рівний уро-вень вкладеності). Проте , ви можете надати користувачу можливість поширити область вибору на об'єкт наступного, більш високого рівня, якщо він безпосередньо містить вихідний об'єкт вибору (але в межах того ж вікна). При цьому в користувача повинна зберігатися можливість повернення на вихідний рівень. Наприклад, якщо потрібно поширити область вибору, що складає з одного осередку в таблиці, на сусідній осередок (як показане на мал. 3.3), необхідно спочатку підняти вибір із символьного рівня на рівень осередку; при зміні рівня вибору в зворотному напрямку, варто відновити вибір на символьному рівні.
ОСНОВНІ КОНЦЕПЦІЇ ВИБОРУ ЗА
ДОПОМОГОЮ МИШІ
Вибір за допомогою миші заснований на використанні двох основних дій: натисканні клавіші миші і переміщенні. У загальному випадку, натискання забезпечує вибір єдиного чи об'єкта позиції, а переміщенням ідентифікується область, що складається з всіх об'єктів, починаючи від позиції "кнопка натиснута" до позиції "кнопка відпущена".
Надайте користувачу можливість використовувати для вибору обидві кнопки миші. Коли користувач нажимает'кнопку миші, зафіксуйте початкову крапку області вибору. Якщо, натиснувши кнопку, користувач переміщає мишу, розширте область вибору до об'єкта, найближчого до поточного позиції покажчика. Якщо, про-должая утримувати кнопку, користувач переміщає мишу в межах області ви-бора, обмежте її об'єктом, найближчим до покажчика. Узгодження області ви-бора з переміщенням покажчика при натиснутій кнопці миші дозволяє користувачу динамічно регулювати область вибору.
Якщо, завершивши вибір, користувач натискає другу (праву) кнопку миші, відобразите контекстне спливаюче меню для обраних об'єктів.
Описана вище загальна форма вибору оптимальна для вказівки єдиного чи об'єкта єдиної області. У тому випадку, якщо нова область вибору створюється в межах вже існуючої області (наприклад, у межах того ж вікна), вона скасовує попередній вибір. Такий підхід забезпечує простий вибір, що повинний виконуватися швидко і легко. Ту ж техніку можна використовувати і для скасування вибору: якщо користувач натискає кнопку миші за межами будь-якої існуючої області вибору (але в тім же вікні), результат вибору повинний бути анульований. Разом з тим, при повторному натисканні кнопки миші над обраним пунктом не слід скасовувати колишній вибір. Краще визначите операції, виконувані над обраним об'єктом (областю) при натисканні правої чи лівої кнопки миші.
Якщо користувач натискає першу (ліву) кнопку миші і покажчик при цьому не переміщається, то наступне звільнення кнопки може мати різний ефект, що визначається контекстом вибору. Ви можете використовувати один з наступних варіантів, у залежності від сутності виконуваного користувачем завдання:
o Ігнорувати дана подія. Це найбільш розповсюджений і самий без
пасный варіант.
o Об'єкт під покажчиком може одержати деяке спеціальне
чи позначення ознака.
o Вибір може бути віднесений тільки до об'єкта, що знаходиться під покажчиком.
Як правило, при щиглику ПКМ на області вибору доцільно відображати
для цієї області спливаюче меню.
Хоча вибір звичайно виконується за допомогою установки покажчика над объек-том, він може бути зроблений побічно, на основі логічного зв'язку між об'єктом і положенням покажчика. Наприклад, вибираючи текст, користувач може установити покажчик у вільній області після кінця рядка; при цьому результат вибору бу-дет таким же, як при вказівці на кінець рядка.
54
Коректування вибору
Коректування вибору ( чидодавання видалення елементів вибору) виконуються на основі спільного використання миші і клавіш-модифікаторів. Наприклад, клавіша <Ctrl> може використовуватися як перемикач режиму: якщо користувач натискає цю клавішу, вибираючи новий об'єкт, додайте його до існуючого вибору. Однак майте на увазі, що непересічний вибір може бути корисний далеко у всіх ситуаціях.
Якщо вибір, модифікований клавішею <Ctrl>, виконаний переміщенням покажчика, стан вибору змінюється на протилежне для всіх об'єктів, що потрапили в область вибору.
При використанні клавіші <Ctrl> для зміни вибору варто натиснути клавішу перш, ніж використовувати кнопку миші. Непересічний вибір виконується доти , поки користувач не відпустить кнопку миші (навіть якщо буде відпущена клавіша <Ctrl>).
Клавіша <Shіft> дозволяє розширити область вибору. Коли користувач на-жимает ЛКМ, утримуючи цю клавішу, фіксується поточна позиція покажчика. Вона відповідає початку області вибору. Наступне натискання ЛКМ при натиснутій клавіші <Shіft> вказує останній об'єкт (граничну крапку) області вибору.
Стан конкретного об'єкта в області вибору зв'язано зі станом першого об'єкта, включеного в область вибору. Якщо перший об'єкт відображений як обраний, інші об'єкти області також відображаються як обрані.
При коректуванні вибору користувач повинний натиснути й утримувати клавішу <Shіft> перш, ніж натиснути ЛКМ. Коректування вибору продовжується доти , поки користувач не відпустить кнопку миші. Для позначення об'єкта (чи позиції), з якого було почате виділення області, використовується поняття якоря. Усі наступні коректування вибору, виконувані за допомогою клавіш <Shіft> і <Ctrl>, виробляються щодо позиції-якоря.
Рис. 3.4 показує, як ця техніка може застосовуватися в електронній таблиці.
а) користувач вибирає 4 осередку, переміщаючи покажчик від осередку А2 до ячей
ке ВЗ;
б) користувач натискає клавішу <Shіft> і, не відпускаючи її, клацає ЛКМ
на осередку З4;
в) користувач натискає клавішу <Ctrl> і, не відпускаючи її, клацає ЛКМ
на осередку А6;
г) користувач натискає клавішу <Shіft> і, не відпускаючи її, клацає ЛКМ
на осередку Сб.
Вибір області
У деяких більш складних ситуаціях, коли об'єкти (точніше, їхні піктограми) можуть перекриватися, початкова крапка області вибору може знаходитися у фоновій області вікна (іноді називаної білим полем). У таких випадках для візуального
Рис. 3.4. Розширення вибору в межах електронної таблиці
відображення області вибору на екрані малюється умовна границя області. Звичайно вона має вид пунктирного прямокутника, але можливі й інші форми.
Коли користувач натискає ЛКМ і переміщає покажчик, повинна змінюватися і границя області вибору (мал. 3.5).
Після того, як вибір зроблений, умовна границя області повинна бути прибрана. Згодом вибір може бути скоректований за допомогою клавиш-модифика-торов <Ctrl> і <Shіft>.
Додатково варто визначити, чи належний обираний об'єкт цілком лежати в границях виділюваної області, чи досить, щоб він тільки перетинався нею.
КЛАВІАТУРНИЙ ВИБІР
Клавіатурний вибір об'єктів заснований на використанні поняття фокус уведення. Фокус уведення може бути представлений на екрані у виді позиції введення з текстовим курсором, прямокутним полем уведення, або іншим чи курсором візуальною вказівкою позиції, у якій користувач може виконати введення даних із клавіатури.
У деяких випадках вибір може бути виконаний побічно, за допомогою використання клавіш навігації. Коли користувач натискає клавішу навігації, фокус уведення переміщається у відповідну позицію (обумовлену клавішею) і ідентифікує об'єкт, що знаходиться в цій позиції.
У деяких випадках більш зручно не тільки перемістити фокус уведення, але і зажадати від користувача зробити явний вибір за допомогою клавіші вибору. Клавіша вибору, що рекомендується - <Spacebar> (пробіл), якщо це призначення не суперечить поточної ситуації (у цьому випадку ви можете використовувати сполучення клавіш <CTRL>+<Spacebar>, або визначити іншу клавішу, що краще підходить у даній ситуації). Іноді клавіша вибору може також використовуватися для зміни стану обраного об'єкта.
Безупинний вибір
При роботі з текстовою інформацією користувач переміщає курсор на жела-емую позицію, використовуючи клавіші навігації. Зафіксуйте цю позицію як якір. Коли користувач натискає клавішу <Shіft> одночасно з будь-якою клавішею навігації (чи комбінацією клавіш навігації, наприклад, <Ctrl>+<End>), зафіксуйте відповідну позицію як активну границю області вибору; усі символи, розташовані між якорем і цією позицією, включаються в область вибору. Якщо користувач після цього натискає іншу клавішу навігації, скасуєте вибір і перемістите границю області в позицію, обумовлену клавішею. Якщо користувач натискає клавіші керування курсором, перемістите курсор на границю колишньої області вибору.
Ви можете використовувати цю техніку і при роботі з іншими типами даних, наприклад, зі списками, де об'єкти логічно взаємозалежні. Проте , у таких ситуаціях стан об'єктів, включених в область вибору, залежить від стану вибору об'єкта, що відповідає позиції-якорю. Наприклад, якщо об'єкт у цій позиції обраний, то вважаються обраними також всі об'єкти в області, незалежно від їхній поточного стану. Якщо об'єкт у позиції-якорі не обраний, то такий же стан установлюється для всієї області.
Роздільний вибір
Установка початкового вибору виконується за допомогою однієї з клавіш чи навігації клавіші навігації, модифікованою клавішею <Shіft>. Користувач може потім використовувати клавіші навігації, щоб перейти на нову
57
позицію і згодом використовувати клавішу вибору, щоб створити додатковий вибір.
Створення роздільного вибору вимагає використання клавіш-модифікаторів для реалізації режиму додавання (наприклад, у виді комбінації <Shіft>+F8). У цьому режимі фокус уведення переміщається, не впливаючи на існуючі чи вибори положення позиції-якоря. Коли користувач натискає клавішу вибору, установите стан вибору для нової позиції й обновите зв'язок позиції-якоря з кінцевою границею області вибору. Щоб скорегувати вибір щодо поточної позиції-якоря, користувач може використовувати в будь-якій крапці області вибору комбінацію клавіші <Shіft> із клавішею навігації.
Коли користувач удруге натискає клавішу переходу в режим додавання, забезпечте вихід з цього режиму, зберігаючи встановлену область вибору.
Прискорений вибір
Подвійний щиглик Л КМ являє собою прискорений спосіб вибору об'єкта. При роботі з текстом цей прийом звичайно використовується для вибору слова (без вклю-чения знаків пунктуації).
Ви можете визначити додатковий прискорений спосіб вибору для некото-рых специфічних ситуацій. Наприклад, вибір користувачем заголовка стовпця може одночасно забезпечити вибір усього стовпця. Оскільки такі засоби не можуть бути поширені на весь інтерфейс, не використовуйте їх як єдиний спосіб вказівки області вибору.
