Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
ПІК / Перевод / перевод / УСОВЕРШЕНСТВ_ПИ.doc
Скачиваний:
34
Добавлен:
05.06.2015
Размер:
1.77 Mб
Скачать

5.3. Імена файлів і файлові структури

Люди скоріше готові страждати до останньої можливості, чим захищати свої права через знищення тих форм уряду, до яких вони звикли.

Томас Джефферсон, з Декларації незалежності Сполучених Штатів Америки

Для багатьох користувачів максимально можлива в Macіntosh довжина імені файлу в 31 символ була просто щастям у порівнянні з жахливим обмеженням у 8 символів у більш ранніх системах. Проте , навіть така модифікація була усього лише гамівною сорочкою більшого розміру. За винятком деяких реальних обмежень, що накладаються апаратним устаткуванням, інтерфейс не повинний мати обмежень, зв'язаних з довжиною. Інтерфейс повинний використовувати розподіл динамічної пам'яті, посилання, хеширование чи будь-які інші методи, але ніколи не повинний ставити для користувача обмежень, таких як "ви можете використовувати не більш 255 категорій" чи "обсяг абзацу не повинний бути більш 32,000 символів"29.

Чим є ім'я файлу? З погляду користувача, це "ручка", за якої файл можна взяти. По своєму досвіді ми знаємо, що імена файлів працюють не так, як цього коштувало б очікувати, - вони заважають, коли потрібно щось зберегти, і бувають марними, коли потрібно щось знайти. Якщо говорити більш конкретно, файлові імена стають настирливими, коли ви збираєтеся щось зберегти, тому що вам приходиться зупинятися в середині самого процесу збереження, щоб придумати ім'я для файлу30. Створення імен - це важке заняття. Потрібно на місці, за пару митей видумати унікальне, що запам'ятовується ім'я, що, до того ж, повинне відповідати правилам, прийнятим у даній файловій системі. Крім того, у цей момент у локусі вашої уваги знаходиться не проблема створення імені файлу, а питання збереження вашої роботи. Файлові імена приведуть до незручностей і при пошуку файлів. Ім'я, що ви придумали, може бути не що особливо запам'ятовується, і тому ви, імовірно, можете забути його через кілька тижнів (чи навіть раніш). Я, наприклад, рідко коли можу згадати ім'я файлу, якщо тільки я не користався їм зовсім недавно, і навіть простої просматривание списку файлів викликає сум'яття. Ну, скажіть, що може міститися у файлі з ім'ям "notes ybn 32"? Коли я придумував його, воно здавалося таким розумним і що запам'ятовується. Крім того, багато файлів дуже схожі один на одного. Скільки різних, оригінальних і імен, що запам'ятовуються, ви можете видумати для листів до свого бухгалтера з приводу оплати податків за минулий рік? Їх, звичайно, можна організувати по даті, але чи багато хто з нас здатні пам'ятати, що, наприклад, лист про списання службової вантажівки було написано 14 серпня?

Необхідність давати імена файлам збільшує ментальне навантаження на користувача. Призначення імені не робить нічого, крім додавання до самого файлу ще декількох символів. І вам приходиться запам'ятовувати цей файл тільки лише по тім шматочку символів і більше ні по чому іншому. Я вважаю це одним з головних нещасть, яким страждають сучасні комп'ютерні системи. Цей метод використовується також і в багатьох інших інформаційних засобах.

Між ім'ям файлу і самим файлом не повинне бути розходження. Людський мозок здатний більш ефективним образом використовувати швидку, повнотекстову пошукову систему, тому будь-яке чи слово фраза з файлу може служити ключем до нього. (Більш того, бажано, щоб по запиті "лист про бабку" виконувався пошук чого-небудь у формі листа, а також не тільки слова бабка, але і зв'язаних з ним термінів і виражень у випадках, якщо згадувалися наукові назви цього виду (наприклад, Odonata). Якщо такі листи виявлені не були, пошук повинний продовжитися серед документів, що не є листами, і так далі, розширюючи до мережних ресурсів і Інтернету.) Ви не можете пам'ятати зміст документа по його імені "Лист Джиму від 21/12/92", але ви можете пам'ятати, що колись ви писали Джиму з приводу однієї голубой Edsel, що один раз пролітала повз вас. Пошук по слову Edsel знайде тільки один чи два елементи у всій вашій системі, якщо тільки ви не цікавитеся саме видом Edsel - у цьому випадку ви, імовірно, вибрали б іншу схему пошуку. Необмежене по довжині ім'я файлу є самим файлом. Зміст текстового файлу і є його найкраще ім'я.

Графічні і звукові файли найчастіше теж вимагають своїх імен. У розділі 6.2 буде розглянутий підхід, у якому обходяться ті труднощі, що накладають традиційні файлові структури на нетекстові файли. Якщо не говорити про нетекстові файли, наявність швидкої повнотекстової системи пошуку дозволяє відмовитися від використання цілого виду марних елементів - файлових імен. Разом з відмовленням від імен файлів також відпадає необхідність у механізмах їхньої обробки (наприклад, каталогах), правилах їхнього створення і синтаксичних обмежень при створенні. З усуненням файлових імен зникає велике ментальне навантаження на користувача, а також значна частина внутрішнього програмного забезпечення - того, що в даний час користувачам приходиться вивчати, а програмістам розробляти.

Найкращою моделлю інтерфейсу для повнотекстової системи пошуку є інтерактивна, у якій ви можете бачити кожен знайдений елемент у його контексті. У такому інтерфейсі ви відразу виявляєтеся там, де вам необхідно, як тільки ви це побачили. У деяких системах робляться копії знайдених елементів у тім ряді, у якому вони містяться (Drorі, 1998). Однак у порівнянні з першим методом пошуку цей метод не є ефективним, оскільки вам доведеться потім виконати ще другу операцію по одержанню самого елемента (наприклад, вам доведеться додатково клацнути по копії необхідного документа).

Для тих користувачів, що хочуть мати систему, що нагадує звичайну файлову структуру, може бути передбачена спеціальна команда по створенню "інформаційного документа" чи додаткової сторінки наприкінці кожного документа, коли документ обраний і така команда застосована. Інформаційний чи документ додаткова сторінка може містити інформацію про дату і час чи створення зміни документа, історію редакцій, розмір і іншу корисну інформацію. Програмне забезпечення, призначене для виконання такої команди, повинне одержувати і зберігати необхідну інформацію невидимим для користувача образом.

Розроблювачі можуть поставляти різні засоби в залежності від потреб користувача. Для користувачів, що предпочитают старі методи, можна передбачити утиліти для створення документів, що могли б виглядати і діяти так само, як і ті незручні каталоги, якими ми зараз користаємося.

Інший тип організації, що легше вивчити і використовувати, чим звичайні файлові системи, походить із природної иерархичности, властивої многим природним мовам. У них слова розділяються пробілами, пропозиції (чи послідовності слів) розділяються одним з невеликого числа роздільників (в англійській мові в число цих роздільників входить крапка, питальний і знаки оклику) і наступним пробілом. Абзаци (чи послідовності пропозицій) розділяються, принаймні , одним знаком повернення каретки. Символ чи розділу розриву сторінок служить для відділення чи глав інших рівнів організації тексту.

У послідовній системі розривши сторінки повинний бути символом і, на відміну від більшості сучасних систем, він повинний поводитися як будь-які інші символи з погляду їхньої вставки, видалення і пошуку. Як і символ повернення каретки, символи розриву сторінок можуть бути схованими символами, що позначають фіксовану довжину фізичної сторінки, але вони не повинні бути частиною змісту31.

Має сенс не обмежуватися цими ієрархічними рівнями, як це робиться в багатьох сучасних системах. Документи є послідовностями сторінок, розділених символами цього документа, кожний з який може бути набраний, знайдений чи вилучений так само, як і будь-який інший символ. Також можуть бути роздільники і більш високого рівня, як, наприклад, символ папки і чи тому навіть роздільник секції і бібліотеки. Проте , число рівнів визначається обсягом даних. Набір із двох послідовних символів документа є гарним роздільником для наборів документів. Якщо вимагаються інші рівні організації, то три чи чотири послідовних символи документа можна використовувати як роздільники. Замість клавіш <Папка> (Folder), <Том> (Volume) і <Бібліотека> (Lіbrary), що будуть використовуватися рідко, можна передбачити клавішу <Документ> (Document), яку можна натискати багаторазово, аж до чотирьох разів відповідно. Таке рішення дозволить уникнути різкого збільшення кількості клавіш на клавіатурі. Важливо, щоб усі символи роздільників мали спеціальну клавішу, інакше вони не будуть працювати як всі інші символи, що набираються. Тобто користувач не повинний натискати на якусь клавішу (наприклад, <Return>) і потім застосовувати команду Вставити розрив сторінки. Для цього він повинний використовувати тільки спеціальний символ сторінки.

Якщо різноманітні символи поділу працюють так само, як і всі інші символи, зникає необхідність у навчанні користувачів тому, як з ними керуватися. Якщо користувач усе-таки наполягає на використанні явних імен документів, він може ставити такі імена відразу після символу документа. Для того щоб знайти документ з ім'ям "Собаки Азії", пошук повинний буде вироблятися по фразі "Собаки Азії", перед якою коштує символ документа. При такому пошуку будуть ігноруватися усі випадки використання послідовності "Собаки Азії", крім тих, котрі використовуються як ім'я документа. Для одержання каталогу може використовуватися команда, що зможе зібрати документи, що включають шукану подстроку і випереджаються символом документа, а також іншими символами, аж до і включаючи найближчий символ кінця чи абзацу роздільник більш високого рівня.

Відмовлення від використання ієрархічної файлової структури не означає відмовлення від структурування інформації, що зберігається. Ніщо не заважає вам створювати змісти і чи покажчики розміщати усі ваші листи до дядька Альбертові і тітці Агаті на відповідних сторінках. Ніщо не заважає вам створювати відразу перед листами титульну сторінку (як окремий документ) "Листа до дядька Альбертові і тітці Агаті". У цьому випадку ви, по суті, створите файлове ім'я, але воно не зажадає использования спеціальних механізмів у програмному забезпеченні. За бажанням, якщо ви дійсно любите файлові імена й ієрархії, ви можете створити свою власну ієрархічну файлову структуру. Однак тоді, структура буде частиною вашого змісту, а не інтерфейсу.32 Тому замість спеціального механізму пошуку файлів ви зможете використовувати звичайні засоби пошуку. Перед групою файлів ви можете помістити у виді документа назва папки. Також перед групою папок ви можете помістити назву тому. (У цьому випадку за символом тому буде випливати назва тому, щоб уникнути збігів з іншими такими назвами, що не є іменами тому.) Відсутність убудованої файлової організації не заважає створенню файлу, призначеного для якої-небудь мети, але, у той же час, зрозумілого вам, тому що він створений саме вами. Проте , оскільки система при цьому ніяк не змінюється, інший користувач може шукати що-небудь у ваших даних і фактично проігнорувати вашу структуру і розглядати її як суцільний, неструктурований файл.

Перевагою організації довільної файлової структури є те, що така структура не встановлюється розроблювачами системи, у яких можуть бути зовсім інші ідеї, відмінні від ваших. У цьому випадку вам не приходиться створювати ментальну модель того, що розроблювачі намагалися зробити. У багатьох користувачів формуються неправильні моделі того, як та чи інша система працює. Ментальні моделі важко змінюються і тому вони можуть довгий час створювати труднощі для таких користувачів (Norman, 1988).

Сказане не є теорією. Відмовлення від використання в комп'ютерах SwyftWare і Canon Cat файлових імен, директорій, а також від механізмів, за допомогою яких з ними виробляються маніпуляції, виявився одним із самих удалих рішень. Користувачі, що звикли до використання звичайних комп'ютерних систем, визнавали, що їм було важко перейти до використання систем, заснованих на принципі організації інформації зі змісту. Але коли такий перехід відбувався, звичайні методи незабаром здавалися їм незручними. А користувачі, що починали знайомитися з комп'ютерною технікою з комп'ютера Canon Cat, не випробували радості від необхідності вивчати більш складні методи використання звичайних файлових систем, коли вони переходили на PC чи Macіntosh.

У порівнянні зі звичайними графічними користувальницькими інтерфейсами методи, описувані в цій книзі, можуть показатися складними. Але удавана складність виникає тільки лише через те, що новий підхід ще не знайомий, а також через те, що ми звикли до тієї безлічі дій, що ми повинні виконати, і до тих проблемам, що виникають при використанні існуючих сьогодні систем. Звичайно, нова система зажадає від користувача зусиль на вивчення. Але якщо ви порівняєте успіхи починаючих користувачів, що працюють з різними системами, чи порівняєте ефективність роботи досвідчених користувачів, переваги більш простої системи стануть очевидними.

Представте, що у вас є n документів, що ви повинні скопіювати на зовнішній носій - нехай це буде твердий диск. Для цього, використовуючи, наприклад, операційну систему Macіntosh, ви повинні будете перетягнути піктограму кожного документа на піктограму диска. Нова парадигма, на перший погляд, робить операцію більш складної. Вам потрібно знайти початок і кінець кожного документа, вибрати документ, перемістити курсор до потрібного місця на диску і потім перемістити кожен документ.

Згадаєте, що в звичайному графічному користувальницькому інтерфейсі ви завжди починаєте з відкриття деякого загального додатка. Ваш перший крок - це добратися до робочого столу. Ви повинні пам'ятати, які піктограми відповідають потрібним документам, і вам (чи комусь іншому) завжди приходиться виконувати дії по призначенню імен цим документам. Ви також повинні пам'ятати, у якій папці ці документи знаходяться. Тому удавана простота досягається тільки після того, як виконаний значний обсяг роботи, і користувач обробився з великою кількістю обтяжних ментальних вимог. Більш ефективним методом є винахід за назвою LEAP. Припустимо, що, як і у випадку для звичайного графічного інтерфейсу, курсор знаходиться в одному з документів, що ви хочете перемістити. За допомогою LEAP користувач може вибрати документ шістьма натисканнями клавіш, причому не дивлячись на екран і не тримаючи в голові ім'я документа. Натискання 6 клавіш віднімає менше часу, чим перетаскування піктограми.

Функція LEAP працює в такий спосіб: мається дві клавіші <LEAP>, що знаходяться під великими пальцями. <LEAP-Up> робить пошук уперед від позиції курсору, a <LEAP-Down> - назад. При натисканні на клавішу <LEAP> включається квазирежим, після чого усе, що ви ввели, сприймається як шаблон пошуку. Для вибірки документа ви повинні натиснути <LEAP-Up> і ввести символ документа (LEAP-Up? Doc? ??). Ми переміщаємося до початку документа. Потім ми натискаємо <LEAP-Down> і вводимо символ документа (пошук у цьому випадку знайде символ документа наприкінці документа). Одночасне натискання на обох клавіш <LEAP> дозволяє виділити весь текст. (Імовірно, зручніше за все це робити за допомогою великих пальців, що рідко використовуються при роботі з клавіатурою. Див. мал. 2.1 із зображенням звичайної клавіатури, постаченої клавішами <LEAP>. Альтернативним варіантом є клавіша <Вибрати> (Select).) Для того щоб зробити цю функцію видимої, поруч із клавішами <LEAP> необхідно помістити якесь позначення. Наприклад, можна використовувати напис: "Для створення виділення натисніть одночасно на обох клавіш LEAP". Зверніть увагу, що користувачу не потрібно дивитися на екран при виборі документа. Коли документ обраний, натисканням клавіші <LEAP> курсор перескакує на той об'єкт, куди нам необхідно вставити текст, після чого дається команда Копіювати

(Copy). При такім виділенні документ включає свої роздільники. Таким чином, якщо документ переміщається, він зберігає в собі свою сутність як документ, оскільки ці роздільники переміщаються разом з ним.

Та ж сама техніка, що використовувалася для копіювання документів (чи іншої вибірки будь-якої довжини, починаючи від єдиного символу і закінчуючи набором чи документів навіть усім змістом системи (!)) з одного місця в інше, може бути використана і для переміщення вибірки. Різниця складається тільки в тім, що подається команда Перемістити (Move) замість команди Копіювати (Copy). У функціональному відношенні цей процес є не більш складним, чим аналогічні процеси в звичайних користувальницьких графічних інтерфейсах. Найчастіше він виявляється більш швидким, а число методів, понять і структур, що повинний знати користувач, виявляється меншим.

Порівняємо переміщення декількох вибірок з різних документів на диск за допомогою клавіші <LEAP> з виконанням цієї ж задачі в звичайному користувальницькому графічному інтерфейсі. У першому випадку метод буде аналогічним тому, що застосовувався для переміщення документів на диск. Об'єкти, призначені для вибірки, спочатку знаходяться (при цьому необхідності їхній відкривати немає), потім вони вибираються, як це було описано вище (за винятком того, що на початку і наприкінці вибірки використовуються символи не документа, а тексту), і потім вони копіюються в потрібне місце. У звичайному користувальницькому графічному інтерфейсі користувач повинний спочатку відкрити документ, у который буде вироблятися копіювання (можливо, це зажадає використання команди Створити (New) з меню Файл (Fіle)), потім знайти документ, що містить потрібну вибірку, відкрити цей документ, знайти вибірку усередині документа, виділити її, застосувати команду Копіювати (Copy), зробити активним документ призначення, уставити вибірку, активувати робочий стіл, знайти наступний документ, що містить потрібну вибірку, повторити всю процедуру доти , поки усі вибірки не будуть - вставлені в документ призначення. Після цього ви повинні зберегти результат на диску, використовуючи спеціальне діалогове вікно.

Навіть якби рівень складності виконання задач був однаковим для обох підходів, концептуальна простота методів, описаних у цій книзі, робила б їх більш кращими. У більшості ж випадків обсяг необхідної роботи також виявляється набагато меншим, чим при використанні звичайних інтерфейсів.

Соседние файлы в папке перевод