Інтерфейс
Оболонка системи
|
|
|
|
Великий трей
|
|
|
|
Dark sisters, join my night flight
See how far you can climb
Holt's with us on this bright night
Ride with him 'cross the sky
"Belladonna and Aconite", Inkubus Sukkubus
|
Windows'ний трей - це область екрана з іконками деяких працюючих
програм. Вони завжди видимі, завжди під рукою, і при цьому
займають мінімум місця на екрані. В цілому ідея це хороша, але має
і певні проблеми. Одна з них - іконки трея не можуть показувати
багато інформації. Фактично одною іконкою можна демонструвати
лише стан чогось (чи працюють колонки, чи є з'єднання з
Інтернет, яка розкладка клавіатури вибрана тощо). А друга
проблема - різні програми працюють з треєм по-різному: одні
розуміють клік правою кнопкою на своїй іконці, інші - лівою,
треті - подвійний клік.
Щоб позбутись цих проблем, я пропоную зробити ось що. Виділимо
під трей більше місця - наприклад, полоску вздовж нижнього краю
екрана (таку саму, як і панель задач). Приблизно так, як на
панельках різних Linux-десктопів. Не треба жаліти під це місця -
повірте, воно того варте; на такий трей влізе багато речей, які
у Windows працюють в окремих вікнах.
Виглядатиме це приблизно так:
Отож, кожній програмі даємо полоску певної ширини (назвемо її
секцією трея). Вона складатиметься з трьох речей:
- Кнопки з іконкою програми. Вона відкриватиме меню програми
(звісно, простим кліком лівою кнопкою).
- Місце, яке програма використовує на власний розсуд. Тут
можуть бути кнопки, написи, картинки і так далі (залежно від
того, що це за програма).
- Роздільна лінія, за допомогою якої юзер може міняти ширину
секції або зовсім згортати її до кнопки з іконкою (тоді секція
займатиме не набагато більше місця, ніж іконка у Windows-ному
треї).
|
|
|
Які ж речі можна розмістити у такому "збільшеному" треї?
Давайте подумаємо...
- годинник із будильниками та нагадувалками (приблизно такий,
як на картинці);
- цілий музичний плеєр із назвою пісні та кнопками (Play,
Next та іншими);
- статистика модемного чи Інтернет-з'єднання (швидкість,
кількість переданих і прийнятих байт);
- хід файлових операцій типу копіювання;
- колись дуже нескоро там може опинитись словник типу Lingvo
або статистика поштового клієнта (сигнал про отриману пошту,
кількість непрочитаних листів);
- звичний перемикач розкладки клавіатури;
- панель швидкого запуска, на якій можуть бути або іконки
програм, або підменю, або і те і те (приблизно як на панельках
KDE або GNOME);
- плюс ще дві речі, про які я зараз розповідатиму окремо -
командний рядок та панель повідомлень.
|
|
|
|
|
|
Командний рядок у треї
|
|
|
У теорії командні рядки вважаються засобом швидкого
виконання команд; і ті, хто їх любить і використовує,
можуть працювати швидше, ніж це можливо із мишкою та
екранними кнопочками. Отож, за принципами свободи вибору,
демократії та безплатного пива для всіх :) робимо як
опцію у Польоті командний рядок. Розміщуємо його так,
щоб він завжди був під рукою - тобто у треї. А щоб
полегшити життя тим, хто захоче ним користуватись,
робимо наступні чотири фічі.
- Команди дозволяємо довільно скорочувати. Скажімо,
юзер друкує "tex" і натискає точку ".", замість "tex"
з'являється "TextEdit". Тобто робимо приблизно так, як
працює Tab у Unix'ових шеллах.
- Із командного рядкає має бути можна не лише запускати
програми, а і відразу виконувати потрібні команди у цих
програмах (наприклад: "отримати пошту").
- Коли юзер працює мишкою, а командний рядок на екрані
присутній, у ньому по ходу роботи з'являються еквіваленти
команд, які юзер виконує мишкою. Так буде легше засвоїти
мову командного рядка.
- Ну і, звісна річ, робимо історію команд - доступну як
стрілочками вгору/вниз, так і з меню.
|
|
|
|
|
|
Панель редагування
|
|
|
Панель навігації створена для того, щоб полегшити юзеру пошук,
відкриття і збереження документів. Щоб полегшити йому власне
роботу над документами, біля протилежного краю екрана зробимо
ще одну панельку. Назвемо її, наприклад, панеллю редагування.
Вона буде розділена на дві частини: в одній буде показано
зміст чернеток (чернетка - це те саме, що і буфер обміну або
clipboard), а в іншій буде записник. Зараз я розповім і про
те, і про інше докладніше.
Отож, чернетки. Їх буде багато, більше одної (як опція), вони
зберігатимуться після виходу з Польоту (теж як опція). Що у
них зберігається - буде показано тут, на панельці редагування
(зразок тексту, маленька картинка тощо). Схожа річ зроблена у
новому Microsoft Office. Працюватиме це так. Команди "Вирізати"
та "Зкопіювати" додаватимуть фрагмент у першу чернетку,
зсуваючи все інше вниз. Команда "Вставити", відповідно,
вставлятиме вміст першої чернетки. Але у меню буде ще одна
команда "Вставити" із підменю всіх чернеток. Ще вставляти
вміст чернеток можна буде шляхом drag&drop'у з панельки
редагування. Ще на ній будуть засоби настройки чернеток та
керування ними (зокрема видалення більше не потрібних).
А от Записника в новому Microsoft Office не було :). Це буде
маленьке текстове поле, де юзер зможе записувати довільні замітки
для поточної папки (проекту) або, за бажанням, для окремих файлів.
|
|
|
|
|
|
|
|
|
Панель повідомлень
|
|
|
Зробимо у треї спеціальну секцію - панель повідомлень. У випадках,
коли Windows вивалює діалогове вікно, щоб щось сказати юзеру або
запитати його про щось, Політ показуватиме це повідомлення у панелі
повідомлень. Перевага проста - це не так відволікає юзера від
роботи, якою він займається зараз. Якщо він хоче, він може просто
ігнорувати повідомлення та продовжувати роботу. Тоді система через
якийсь час (наприклад, 15-30 секунд) сховає повідомлення і, якщо
треба, почне виконувати дію за умовчанням.
Ось, наприклад, як це виглядає у Windows...
...і як це виглядатиме у Польоті:
З реалізацією панелі повідомлень є ще багато питань. Це буде просто
секція трея? Чи виділити під неї окремий рядок - повідомлення можуть
бути довгими? Можливо, показувати його, коли з`являється повідомлення,
а потім ховати? Одної панелі повідомлень досить чи власна така панель
має бути у програмах, що виводять повідомлення?
|
|
|
|
|
|
Закон Фіттса
|
|
|
Один із основних законів дизайну інтерфейсів - так званий закон Фіттса:
Швидкість досягнення цілі прямо пропорційна розміру цілі та
обернено пропорційна відстані від неї.
(Цілями тут називаються екранні інтерфейсні елементи типу кнопок).
Із цього закону є два цікавих наслідки. Перший - ми можемо створити
"ціль", відстань до якої практично дорівнює нулю. Це контекстне меню,
що завжди з'являється чітко під кусором мишки. Другий - можливі "цілі"
нескінченного розміру. Це кнопки, що розташовані впритул до краю екрана
(нескінченна висота чи ширина) чи навіть у куті екрана (і ширина, і висота
нескінченні). "Нескінченні" - тут мається на увазі ось що: скільки не рухати
курсор мишки, скажімо, вгору від верхнього края екрана, він все одно
не підніметься вище. Отож, "цілі" на краях екрана набагато доступніші:
достатньо просто "кинути" мишку до певного краю, і курсор зупиниться якраз
на краю (не "перелетить" ціль).
У Польоті цей наслідок використовується дуже активно:
|
|
|
|
|
|