Компьютерра
24.12.2012 - 30.12.2012
Статьи
Контекстозависимость: зачем машине понимать мир людей
Что человеку нужно? Чего он хочет, и чем можно ему помочь? Какие настройки наиболее полезны именно сейчас? Наши гаджеты до сих пор ждут подсказки, хотя зачастую вполне способны угадать ответы на эти вопросы самостоятельно.
В 1994 году Билл Шилит, исследователь из легендарной лаборатории Xerox PARC, опубликовал работу под названием 'Контекстозависимые компьютерные приложения'. В ней описывались программы, автоматически меняющие своё поведение в зависимости от внешних условий. Спустя два десятка лет идеи Шилита, наконец, перестают быть чистой теорией. Над контекстозависимыми решениями уже работают в Google, Apple и Microsoft.
'Действия людей часто можно предсказать, исходя из ситуации. В библиотеке, на кухне и в офисе мы делаем разные вещи. Контекстозависимые системы должны извлекать пользу из этой закономерности, — писал Шилит. — Одна из задач распределённых компьютерных систем сводится к возможности учитывать изменяющееся окружение при помощи нового класса приложений, которые были бы в курсе своего контекста. Контекстозависимые приложения приспосабливаются к местоположению, присутствию людей, других компьютеров и устройств, а также к изменениям этих вещей со временем'.
Контекстом может служить практически что угодно: место, время, наличие доступа к определённым ресурсам или присутствие нужных людей. Профессор Цзяньхуа Ма из Хосейского Университета выделяет восемь типов контекстов, которые могут быть учтены компьютерами.
Личностные контексты: личные черты пользователя и его нужды
Пространственные контексты: температура, свет, шум
Социальные контексты: люди рядом, деятельность, календарь
Контексты, связанные с ресурсами: близость, доступность
Вычислительные контексты: процессорное время, операционная система, память, интерфейсы
Сетевые контексты: проводные/беспроводные сети, скорость и надёжность соединения
Физиологические контексты: давление крови, пульс, тон голоса
Психологические контексты: эмоции, усталость
В работе Шилита тоже была предпринята попытка категоризации. Он предложил различать два типа контекстов: автоматические и переключаемые вручную. К автоматическим контекстам относятся контекстная смена настроек программ и завязанные на контекст действия. К контекстам, переключаемым вручную, — выбор на основании расстояния (к примеру, вывод изображения на ближайший экран) и предоставление контекстной информации. Так, сделанный для примера интерфейс отображал список принтеров, сортируя их по степени удалённости от пользователя.
Идеи Шилита, как это порой случается, несколько опередили время. В 1994 году подходящих устройств просто не было, и приходилось мастерить импровизированные прототипы. Сотрудникам Xerox PARC раздали портативные устройства под названием ParcTab, напоминающее карманный компьютер.
ParcTab был намного миниатюрнее портативных устройств того времени. Он умещался на ладони и весил втрое меньше, чем, к примеру, Apple Newton MessagePad 120. Интерфейс устройства (разработанный, кстати, Биллом Бакстоном, который приложил руку к первым тач-интерфейсам) включал в себя три физические кнопки, способные заменить и дополнить использование стилуса. Благодаря им устройством можно было управлять одной рукой. Примечательно, что в устройстве использовалась система рукописного ввода, напоминавшая Graffiti из Palm OS. Но больше всего разработчики гордились адаптером беспроводной сети. Внутри ParcTab скрывался инфракрасный передатчик, связывавшийся с расположенными в комнате маршрутизаторами. Скорость связи составляла 9 600 или 19 200 бод.
Приложения ParcTab учитывали не только непосредственные команды пользователя, но и контекст, то есть то, что происходит вокруг. Например, почтовый клиент ParcTab знал, когда пользователь находится на совещании, и менял своё поведение. Во время совещаний он доставлял лишь важные письма, оставляя прочее на потом. Одна программа помогала находить прочих обладателей ParcTab, видеть, чем они заняты в данный момент, и обмениваться сообщениями. Другая предоставляла доступ к различным данным в зависимости от местоположения пользователя.
Почти все проблемы, стоявшие перед разработчиками ParcTab двадцать лет назад, легко решаются при современном уровне развития техники. Карманными компьютерами и вездесущими беспроводными сетями давно никого не удивишь. Возникает резонный вопрос: где же теперь всё то, что группа Шилита придумала ещё в начале девяностых? Где же контекстозависимые системы?
Зачатки контекстозависимости изредка встречаются в современных гаджетах и приложениях.