Сучасний комп'ютер практично відрізаний від зовнішнього світу і реагує лише на дані, що вводяться. Знання про те, що відбувається навколо зробило б його кращим помічником.
Що людині потрібно? Чого він хоче, і чим можна йому допомогти? Які настройки найбільш корисні саме зараз? Наші гаджети досі чекають підказки, хоча найчастіше цілком здатні вгадати відповіді на ці питання самостійно.
Що таке контексти
"Дії людей часто можна передбачити, виходячи з ситуації. У бібліотеці, на кухні і в офісі ми робимо різні речі. Контекстозавісімие системи повинні отримувати користь з цієї закономірності, - писав Шіліт. - Одне із завдань розподілених комп'ютерних систем зводиться до можливості враховувати змінюється оточення за допомогою нового класу додатків, які були б в курсі свого контексту. Контекстозавісімие додатки пристосовуються до місця розташування, присутності людей, інших комп'ютерів і пристроїв, а також до змін цих речей з про часом ".
Контекстом може служити практично що завгодно: місце, час, наявність доступу до певних ресурсів або присутність потрібних людей. Професор Цзяньхуа Ма з Хосейского Університету виділяє вісім типів контекстів, які можуть бути враховані комп'ютерами.
Перший контекстозавісімий комп'ютер
ParcTab був набагато миниатюрнее портативних пристроїв того часу. Він вміщувався на долоні і важив втричі менше, ніж, наприклад, Apple Newton MessagePad 120. Інтерфейс пристрою (розроблений, до речі, Біллом Бакстон. Який доклав руку до перших тач-інтерфейсів) включав в себе три фізичні кнопки, здатні замінити і доповнити використання стилуса. Завдяки їм пристроєм можна було керувати однією рукою. Примітно, що в пристрої використовувалася система рукописного введення, яка нагадувала Graffiti з Palm OS. Але найбільше розробники пишалися адаптером бездротової мережі. Усередині ParcTab переховувався інфрачервоний передавач, що зв'язувався з розташованими в кімнаті маршрутизаторами. Швидкість зв'язку складала 9 600 або 19 200 бод.
Додатки ParcTab враховували не тільки безпосередні команди користувача, а й контекст, тобто те, що відбувається навколо. Наприклад, поштовий клієнт ParcTab знав, коли користувач знаходиться на нараді, і міняв свою поведінку. Під час нарад він доставляв лише важливі листи, залишаючи інше на потім. Одна програма допомагала знаходити інших володарів ParcTab, бачити, чим вони зайняті в даний момент, і обмінюватися повідомленнями. Інша надавала доступ до різних даними в залежності від місця розташування користувача.
контексти сьогодні
Майже всі проблеми, що стояли перед розробниками ParcTab двадцять років тому, легко вирішуються при сучасному рівні розвитку техніки. Кишеньковими комп'ютерами і всюдисущими бездротовими мережами давно нікого не здивуєш. Виникає резонне питання: де ж тепер все те, що група Шіліта придумала ще на початку дев'яностих? Де ж контекстозавісімие системи?
Зачатки контекстозавісімості зрідка зустрічаються в сучасних гаджетах і додатках. Дізнатися, де знаходяться друзі, дозволяють сервіси Google Latitude або Foursquare, причому обидва вміють сповіщати про наближення знайомих. Контекстозавісімость частково реалізована і в Siri - автоматичному асистент, наявному в останніх моделях iPhone. Siri можна сказати, наприклад: "Нагадай починають ручку двері, коли прийду додому," - і вона зробить це. Проте Siri далеко до ідеалу. Їй не під силу здогадатися про те, чим насправді зайнятий користувач і коли і про які справи є сенс нагадувати.
Сучасні пошукові системи прийшли до контекстозавісімості іншим шляхом. Двозначність природної мови не дозволяє інтерпретувати запити однозначно. В результаті пошукачам не залишається нічого, крім як намагатися вловити справжні бажання користувача за непрямими ознаками - іншими словами, по контексту.
Google Now уважно стежить за користувачем, а потім використовує отримані знання, щоб самостійно підбирати корисну йому інформацію. Коли користувач відправляється в шлях, система заздалегідь попереджає про пробки на маршруті, який він часто використовує в такий час, сама шукає результати спортивних матчів, якщо помічає інтерес до того чи іншого виду спорту або команді, і сама нагадує про події ще кількох типів. Поки що функціональність Google Now залишає бажати кращого, але в Google планують значно розширити її. Мало не кожен підрозділ компанії готує власний модуль, і залишається лише розібратися з ранжируванням результатів. Це, втім, в Google теж відмінно вміють робити.
Проблеми - фундаментальні і не дуже
Мініатюризація електроніки, поширення GPS і бездротового зв'язку усунули більшість перешкод, що заважали розробці контекстозавісімих пристроїв і додатків. Але головне, чого не було за часів ParcTab, - це великі бази даних, які існують сьогодні. Google, Yelp або Foursquare можуть без праці сказати, де знаходиться найближча, наприклад, аптека, а в майбутньому, ймовірно, такі сервіси будуть знати і про те, які в цій аптеці є ліки.
Є і більш фундаментальні перешкоди. Найчастіше дуже важко зрозуміти, що саме робить і хоче зробити людина. Воно й не дивно - люди й самі не завжди ясно усвідомлюють це. Припустимо, що користувач зайшов до кімнати, де знаходиться предмет, про який система повинна нагадати. З одного боку, її борг - нагадати користувачеві про це. Але з іншого, якщо в цей момент людина зайнята чимось зовсім іншим, то нагадування лише відверне його.
Ідеальна контекстозавісімая система повинна розуміти, чим насправді зайнятий користувач. Для повного вирішення цього завдання необхідний штучний інтелект, якого поки, на жаль, немає. Втім, впоралися ж, нехай і неідеально, з автоматичним перекладом або розпізнаванням мови. Контексти ніяк не важче,. Проте ця проблема істотно ускладнює розробку контекстозавісімих систем. Якщо навіть такі прості речі, як нагадування, що спрацьовують при зміні місця розташування, складні в реалізації, то що говорити про більш витончених випадках?
Якщо обмежити сферу застосування контекстозавісімой системи, скоротивши тим самим кількість факторів, які необхідно враховувати, то вона буде здатна так-сяк обійтися і без справжнього розуміння того, що відбувається. Цеглинки для таких персональних систем вже доступні. Серед них - програми, автоматично змінюють настройки комп'ютера в залежності від локації. У приклад можна привести додатка Sidekick і MarcoPolo для Mac OS X, здатні автоматично змінити безліч налаштувань комп'ютера при зміні тих чи інших умов.
Інші труднощі, пов'язана з контекстозавісімимі системами, не має технічного рішення. Вона зводиться до того, що все знають програми та пристрої за визначенням знають про людину все. Навіть якщо ми довіряємо їм, залишається безліч питань, пов'язаних з приватних даних. Чи завжди ми хочемо, щоб друзі і знайомі бачили, де ми знаходимося і що робимо? Чи хочемо ми, щоб офісна будівля завжди знало, в якій ми кімнаті? Безумовно, це буде корисно для багатьох додатків, але заодно роботодавець зможе без праці підрахувати, скільки часу було проведено за робочим столом, а скільки - в курилці. Для кого-то це може прозвучати як зайвий доказ на користь тотального контролю і обліку, але не всім подобається зайвий раз відчувати себе гвинтиками великого механізму, а вже про побоювання з приводу можливих витоків і неправомірного використання інформації і говорити нема чого. З урахуванням приватності і розмежування доступу до особистих даних розробка контекстозавісімих систем ускладнюється ще сильніше.
Однак виграш від застосування контекстів великий і здебільшого очевидний. Пристрої можуть нагадати нам про сотні справ або просто підвищувати комфорт - наприклад, автоматично регулювати гучність музики, управляти освітленням і обігрівом. Прикладів можна придумати безліч. Будь-яке з цих додатків варто зусиль, а також проб і помилок, які потрібно здійснити першопрохідникам.