- •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. Етика і керування розробкою інтерфейсів
5.4.1. Роздільники в шаблоні пошуку
Іншим великим недоліком пошуку з роздільниками є те, що роздільник, використовуваний для позначення кінця шаблона, не може бути відображений. У багатьох випадках і інших роздільниках теж не можуть відображатися. Я переглянув чотири популярних текстових процесори. В одному з них використання Return узагалі не допускалося. В другому текстовому процесорі для того, щоб уставити Return у шаблон пошуку, користувач повинний набрати ?r. У третьому текстовому процесорі в цих цілях використовувалася послідовність \\. У четвертому - Return можна було вставити в шаблон пошуку за допомогою спеціального діалогового вікна з выпадающим меню, що містить різні роздільники (мал. 5.4). Однак було б легше просто використовувати клавішу <Return>. Зрештою , саме в такий спосіб ви вставляєте цей роздільник у текст. Чому ж при створенні шаблона пошуку повинний використовуватися інший метод? Основний принцип полягає в наступному: та сама послідовність символів повинна набиратися однаковим образом. Користувач не повинний в одному випадку застосовувати один метод, а в іншому - іншій. Іншими словами, у відношенні спеціальних символів не повинне застосовуватися нічого спеціального35.
Рис. 5.4. Відкрите вікно пошуку в Word. Показано список символів, що можуть бути використані. У поліпшеному варіанті користувач міг би поміщати, наприклад, символ табуляції за допомогою натискання клавіші <Tab>. Зверніть увагу на два позначення символу табуляції, що вставлені в поле пошуку (Fіnd what)
Хоча покроковий пошук краще, ніж пошук з роздільниками, варіант покрокового пошуку, що використовується в EMACS, може бути все-таки поліпшений. Наприклад, курсор повинний виникати не на останньому символі об'єкта пошуку, а на першому. Загалом , ви навряд чи можете керувати тим, яким буде останній символ у шаблоні пошуку, оскільки ви вводите тільки ті символи, яких досить для пошуку потрібного об'єкта. Тому ви не знаєте точно, де виявиться курсор після того, як пошук буде зроблений. Якщо ж курсор завжди буде встановлюватися на першому символі шаблона, ви можете знати, як відобразиться об'єкт пошуку. Крім того, це може бути корисним для швидкого переміщення курсору усередині тексту, оскільки в локусі вашої уваги знаходиться символ, на який ви хочете перемістити курсор. Придумати шаблон, у якому цей символ є останнім, набагато сутужніше, ніж просто ввести необхідний символ і наступні за ним інші символи.
У звичайних користувальницьких графічних інтерфейсах як покроковий пошук, так і пошук з роздільниками запускається модально, за допомогою діалогового вікна, тоді як використання клавіші <LEAP> є безмодальним. Ідею використання для пошуку квазирежима можна доповнити застосуванням спеціальної кнопки на мікрофоні (чи ГУВ), утримуваної для включення квазирежима, у якому слова, що вводяться, чи малюнки рукописний текст можуть включатися в шаблон пошуку. Інші методи введення мають аналогічні засоби для створення квазирежима пошуку (Raskіn і Wіnter, 1991).
Швидкість покрокового пошуку може бути збільшена за допомогою деяких прийомів. Наприклад, при введенні першого символу шуканого рядка комп'ютер відразу приступає до пошуку першого екземпляра цього символу в тексті, після чого знайдений екземпляр подсвечивается і переноситься разом зі своїм контекстом у вікно екрана. Звичайно цей процес проходить швидко, оскільки в тексті мається багато потенційних екземплярів і якийсь з них, з великою імовірністю, виявляється поблизу. Поки користувач уводить наступний символ, пошук може продовжитися у відношенні другого екземпляра першого символу і наступного можливого символу в порядку зменшення частоти використання. Програма може зберігати посилання на кожний з виявлених екземплярів. Як результат, при введенні другого символу комп'ютер може бути готів відобразити виявлений об'єкт, створюючи ефект миттєвого пошуку.
Пошук рядків також може бути прискорений і такими методами, як алгоритм Бойера-Муура (Moore і Boyer, 1977), у якому час пошуку зменшується в міру збільшення довжини послідовності. Якщо користувач повертається в шаблоні пошуку на одну позицію назад, збереження посилання на останнє виявлене місце (причому для кожного символу послідовності) зробить повернення надзвичайне швидким. Індексування всіх запам'ятовуючих пристроїв може скоротити час пошуку в локальних системах і мережах до миллисекунд. Швидкість взаємодії через глобальні чи мережі Інтернет також залежить від застосовуваних методів індексування. Покроковий пошук у різних варіантах використовувався в таких комерційних продуктах, як ІDE компанії Borland, факсовая програма компанії Global Vіllage, комп'ютери Canon Cat і SwyftWare.