Читать «Цифровой журнал «Компьютерра» № 153» онлайн

Коллектив авторов

Компьютерра

24.12.2012 - 30.12.2012

Статьи

Контекстозависимость: зачем машине понимать мир людей

Андрей Письменный

Что человеку нужно? Чего он хочет, и чем можно ему помочь? Какие настройки наиболее полезны именно сейчас? Наши гаджеты до сих пор ждут подсказки, хотя зачастую вполне способны угадать ответы на эти вопросы самостоятельно.

В 1994 году Билл Шилит, исследователь из легендарной лаборатории Xerox PARC, опубликовал работу под названием "". В ней описывались программы, автоматически меняющие своё поведение в зависимости от внешних условий. Спустя два десятка лет идеи Шилита, наконец, перестают быть чистой теорией. Над контекстозависимыми решениями уже работают в Google, Apple и Microsoft.

Что такое контексты

"Действия людей часто можно предсказать, исходя из ситуации. В библиотеке, на кухне и в офисе мы делаем разные вещи. Контекстозависимые системы должны извлекать пользу из этой закономерности, — писал Шилит. — Одна из задач распределённых компьютерных систем сводится к возможности учитывать изменяющееся окружение при помощи нового класса приложений, которые были бы в курсе своего контекста. Контекстозависимые приложения приспосабливаются к местоположению, присутствию людей, других компьютеров и устройств, а также к изменениям этих вещей со временем".

Контекстом может служить практически что угодно: место, время, наличие доступа к определённым ресурсам или присутствие нужных людей. Профессор Цзяньхуа Ма из Хосейского Университета выделяет восемь типов контекстов, которые могут быть учтены компьютерами.

Личностные контексты: личные черты пользователя и его нужды

Пространственные контексты: температура, свет, шум

Социальные контексты: люди рядом, деятельность, календарь

Контексты, связанные с ресурсами: близость, доступность

Вычислительные контексты: процессорное время, операционная система, память, интерфейсы

Сетевые контексты: проводные/беспроводные сети, скорость и надёжность соединения

Физиологические контексты: давление крови, пульс, тон голоса

Психологические контексты: эмоции, усталость

В работе Шилита тоже была предпринята попытка категоризации. Он предложил различать два типа контекстов: автоматические и переключаемые вручную. К автоматическим контекстам относятся контекстная смена настроек программ и завязанные на контекст действия. К контекстам, переключаемым вручную, — выбор на основании расстояния (к примеру, вывод изображения на ближайший экран) и предоставление контекстной информации. Так, сделанный для примера интерфейс отображал список принтеров, сортируя их по степени удалённости от пользователя.

Первый контекстозависимый компьютер

Приложения ParcTab учитывали не только непосредственные команды пользователя, но и контекст, то есть то, что происходит вокруг. Например, почтовый клиент ParcTab знал, когда пользователь находится на совещании, и менял своё поведение. Во время совещаний он доставлял лишь важные письма, оставляя прочее на потом. Одна программа помогала находить прочих обладателей ParcTab, видеть, чем они заняты в данный момент, и обмениваться сообщениями. Другая предоставляла доступ к различным данным в зависимости от местоположения пользователя.