Выбрать главу

Компьютерра

24.12.2012 - 30.12.2012

Статьи

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

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

Опубликовано 25 декабря 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, видеть, чем они заняты в данный момент, и обмениваться сообщениями. Другая предоставляла доступ к различным данным в зависимости от местоположения пользователя.