
- •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
Розділ 1
ПОНЯТТЯ КОРИСТУВАЛЬНИЦЬКОГО ІНТЕРФЕЙСУ І ВИМОГИ ДО НЬОГО
1.1. Інтерфейс користувача: міст між людиною і комп'ютером
Що загального між комп'ютером і автомобілем? Простіше, звичайно, перелічити розходження, і все-таки ... Уявіть собі людини, у якого з'явилася необходи-мость регулярно кудись їздити і мається визначена сума грошей. Що він робить? Купує автомобіль. Але це ще не означає, що людина вирішила свою проблему; навпаки, замість однієї проблеми він одержав двох: не маючи навичок водіння, не можна сісти за кермо і відразу поїхати. На жаль, той же саме можна сказати і про комп'ютер. Навіть щоб навчитися використовувати його як калькулятор, у людини, що не має спеціальної підготовки, іде безліч сил і часу.
Мається і ще одна обставина, що зближає комп'ютер з автомобілем. Водій, вільно керуючий легковим автомобілем, навряд чи буде так само вільно почувати себе за кермом самоскида. Але ж є ще автомобили-рефри-жираторы, автобуси і т.д. і т.п., не говорячи вже про розходження в отдельных. марках автомобілів. Точно так само користувач, що освоїв роботу з одним програмним продуктом, швидше за все не зможе відразу вирішити ту ж задачу за допомогою іншого, хоча б і обладающего аналогічними функціональними можливостями.
Чому ж так відбувається? Тому, що між починаючим водієм і кол-самі, на які він сподівається, так само як між користувачем і процесором, вы-полняющим обчислення, мається досить довгий ланцюжок "посередників", каж-дый з який по-своєму впливає на їх "спілкування" один з одним.
Але якщо водій, сідаючи за кермо незнайомого автомобіля, знає, принаймні , куди вставити ключ запалювання, і де знаходяться педалі газу п гальма, то користувачі нових програмних продуктів до останнього часу були позбавлені подібної переваги.
Це вже, як ви розумієте, розходження. Ще яскравіше виявляються розходження в отно-шении творців автомобілів і розроблювачів програмних продуктів до потре-бителям їхньої продукції.
5
Автомобилестроители спираються на багаторічні традиції, головний зміст яких - "усі на благо водія". Отут і ремені безпеки, і дзеркала заднього виду, і, нарешті, кондиціонер у салоні.
Розроблювачі ж програм усе ще орієнтуються в основному наявний досвід і, здебільшого , відносяться до користувачів, скоріше, як професійний водій до починаючого аматору: не тільки норовить пригорнути його до узбіччя, але ще і супроводить це непристойним жестом.
І лише в останні роки, коли число власників персональних комп'ютерів стало наближатися до числа автомобілістів, ситуація трохи змінилася.
Зміни полягають у тім, що творці програмних продуктів стали намагатися, по-перше поставити себе на місце потенційного користувача, і, по-друге, уніфікувати "педалі". Однак ці нові віяння торкнулися насамперед ведучі фірми-розроблювачі програмного забезпечення (ПО), і практично не вплинули на стиль роботи чи одинак^-одинаків невеликих колективів. І хоча зазначені категорії розроблювачів ПО користаються досить обмеженим набором інструментальних засобів, створювані ними програмні продукти дуже помітно розрізняються по організації взаємодії з користувачем. При цьому розходження виявляються як на рівні зовнішнього оформ-ления інтерактивних компонентів додатка, так і на рівні принципів (поглядів розроблювача), покладених в основу реалізації цих компонентів.
Добре це чи погано?
З одного боку, будь-яка програма - це результат творчості її творця, у значній мірі отражающий його суб'єктивні погляди, переваги, ху-дожественный смак і т.д.; і чим досвідченіше програміст, тим яскравіше виявляється його індивідуальність у кожній новій програмі.
З іншого боку, користувач ПК - це не відвідувач художньої виставки, і його найменше і нтересует особистість програміста і той щиросердечний стан, у якому він знаходився, створюючи той чи інший програмний продукт. І навіть якщо користувач захоче одержати эстетическое насолоду і скористається для цього програмою "По залах Ермітажу", усі його увага буде зосереджено на художніх вартостях експонатів музею, а не кнопок, що дозволяють "переходити" з одного залу в іншій.
Отже, що ж таке користувальницький інтерфейс: спосіб самовираження разра-ботчика чи "вожжи", за допомогою яких користувач керує "кінськими силами" свого комп'ютера?
А може це просто картинка, що формує програма в процесі своєї роботи під впливом тих чи інших (у тому числі випадкових) факторів?
І те, і інше, і третє! Складність цього поняття породила безліч опреде-лений, що мінялися в процесі розвитку самого користувальницького интер-фейса. Узагальнивши всі те, що було сказано і написане раніше про користувальницький інтерфейс, ми пропонуємо наступне визначення.
Користувальницький інтерфейс - це сукупність інформаційної моделі проблемної області, засобів і способів взаємодії користувача з инфор-
6
мационной моделлю, а також компонентів, що забезпечують формування ін-формаційної моделі в процесі роботи програмної системи.
Дане визначення (як, утім, і будь-яке інше) вимагає деяких пояснень.
Під інформаційною моделлю розуміється умовне представлення проблемної області, формоване за допомогою комп'ютерних (візуальних і звукових) об'єктів, що відбивають склад і взаємодію реальних компонентів проблемної області.
Засоби і способи взаємодії з інформаційною моделлю визначаються складом апаратного і програмного забезпечення, що мається в розпорядженні піл ьзо-вателя, і від характеру розв'язуваної задачі. Наприклад, для користувача, що хоче переписати файл із дискети на твердий диск, такими засобами є пристрої виводу-введення-висновку (клавіатура, миша й екран монітора) і два дисководи з дисками. Л от для користувача, що намагається установити власні значення параметрів BІOS, перелік доступних засобів істотно ширше. Проте , щоб успішно справитися зі своєю задачею, кажды й і з користувачів повинний знати (і, головне, дотримувати) визначені правила поведінки, диктуемые їм творцями тих пристроїв, з якими вони взаємодіють; наприклад, дискету можна вставити в дисковод тільки певним чином, а записати на неї - не більш 1.47JVІ6 інформації. Причому переважна більшість обмежень, обумовлених цими правилами, сприймаються і розроблювачами і користувачами як "усвідомлена необхідність", оскільки практично усі вони носять об'єктивний характер.
Зовсім інша справа - та частина інтерфейсу, що відноситься до програмних засобів.
По-перше, для програми значно складніше сформулювати об'єктивні вимоги по складу і компонуванню органів керування; найчастіше не тільки користувачі, але і самі розроблювачі не можуть пояснити, чому програма має саме такі "важелі" і "педалі". По-друге, їхній перелік значно ширше, а склад змінюється в багато разів динамичнее, чим склад апаратних засобів комп'ютера.
Дуже розповсюдженої є ситуація, коли програми, рівноцінні по назна-чению і функціональних можливостях, виявляються зовсім різними по організації взаємодії з користувачем. При цьому зовсім необов'язково інтерфейс якоїсь із програм буде гірше, він просто буде іншим. І якщо з якоїсь причини знайома програма виявиться недоступної, освоєння нової npі щется починати практично з нуля.
Але це ще полбеды. Значно великі втрати може понести користувач, якому має бути або вибрати одну з незнайомих програм, або перейти на нову версію уже використовуваної програми.
У першому випадку вибір може бути зроблений на користь менш функціональної і менш надійної програми, але обладающей більш привабливим (із субъектив-ной точки зору)інтерфейсом.
В другому ж випадку незнайомий інтерфейс нової версії може виявитися психо-логическим бар'єром, не переборовши який користувач так і не зможе скористатися перевагами нової версії. Яскравий приклад такої ситуації - зненацька повільний (для Mіcrosoft) перехід користувачів від Wіndows 3.* до Wіndows 95. *
7
Таким чином, ефективність роботи користувача визначається не тільки функціональними можливостями наявних у його розпорядженні апаратних і програмних засобів, але і приступністю для користувача цих можливостей. У свою чергу, повнота використання потенційних можливостей наявних ресурсів залежить від якості користувальницького інтерфейсу.
Наприклад, якщо хтось вирішив надрукувати за допомогою комп'ютера запрошення на свій 60-літній ювілей, йому доведеться скористатися текстовим чи графічним редактором. Усі редактори "загального користування" дозволяють виконувати приблизно той самий перелік операцій, але все питання в тім, як вони це роблять і яким уявляв собі розроблювач потенційного користувача свого продукту. Редактор з невдалим інтерфейсом може зажадати від користувача-ювіляра знайомства з зовсім новими для нього термінами, такими як "лігатура" і "кегль", а після кожної невдалої дії змусить відновити роботу із самого початку. Швидше за все, робота з таким редактором закінчиться тим, що ювіляр зволіє купити запрошення в магазині.
Отже, підведемо деякі попередні підсумки.
Перший і самий головний висновок полягає в тім, що якість користувальницького інтерфейсу є самостійною характеристикою програмного продукту, порівнянної по значимості з такими його показниками, як надійність і ефективність використання обчислювальних ресурсів.
З цього твердження випливає не менш важливий наслідок: розроблювач додатка повинний знати, що таке гарний інтерфейс, і як його побудувати.
Саме цим питанням і присвячені наступні розділи книги.