Интерфейс , ориентированный на задачи, — это тип пользовательского интерфейса , который расширяет метафору графического пользовательского интерфейса рабочего стола , делая основной единицей взаимодействия задачи, а не файлы и папки. Вместо отображения целых иерархий информации, таких как дерево документов, интерфейс, ориентированный на задачу, показывает подмножество дерева, соответствующее текущей задаче. Это решает проблему информационной перегрузки при работе с большими иерархиями, например, в программных системах или больших наборах документов. Интерфейс, ориентированный на задачу, состоит из механизма, который позволяет пользователю указывать задачу, над которой он работает, и переключаться между активными задачами , модели контекста задачи, такой как ранжирование степени интереса (DOI), [1] механизм фокусировки для фильтрации или выделения соответствующих документов. Интерфейс, ориентированный на задачи, был подтвержден статистически значимым [2] увеличением производительности труда работников умственного труда . Он широко используется программистами и является ключевой частью интегрированной среды разработки Eclipse . Эту технологию также называют моделью «контекста задачи» и парадигмой «задачно-ориентированного программирования».
Интерфейс, ориентированный на задачи, был изобретен Миком Керстеном во время работы над докторской диссертацией в Университете Британской Колумбии в 2004 году . [3] Ранее Керстен работал в команде аспектно-ориентированного программирования в Xerox PARC и совмещал идею сквозных аспектов и управления задачами . Ранними предшественниками интерфейса, ориентированного на задачи, являются метафора интерфейса, реагирующего на внимание [4], и инструмент редактирования документов «Edit & Read Wear» [5] .
Первое описание концепций ориентированного на задачи интерфейса появилось в публикации конференции AOSD 2005 года . Первая реализация ориентированного на задачи интерфейса началась как проект с открытым исходным кодом под названием Eclipse Mylyn , созданный в марте 2005 года. Технология развивалась благодаря вкладу и участию тысяч разработчиков сообщества открытого исходного кода. [6] В 2006 году исследовательская группа и Университет Виктории продемонстрировали полезность ориентированного на задачи интерфейса и модели степени интереса для визуализации онтологий . [7] В 2007 году реализация Mylyn была включена в большинство дистрибутивов Eclipse IDE. В 2008 году стали доступны альтернативные реализации ориентированного на задачи интерфейса, включая NetBeans Cubeon [8] и инструмент Tasktop Pro для менеджеров проектов . К 2009 году большинство гибких инструментов разработки программного обеспечения и управления жизненным циклом приложений обеспечивали интеграцию с Mylyn. [9] В 2011 году был представлен NBTaskFocus [10] [11] , который предоставил Mylyn функции, ориентированные на задачи, в среде IDE NetBeans.
Основная цель интерфейса, ориентированного на задачу, — ограничить информацию, отображаемую в компьютерном приложении, только той, которая имеет отношение к текущей задаче пользователя. На основе взаимодействия пользователя каждому уникально идентифицируемому элементу информации, доступной пользователю, присваивается рейтинг степени интереса (DOI). Чем чаще и в последнее время пользователь взаимодействовал с элементом информации, тем выше DOI для этого элемента для этой задачи.
Рейтинги DOI для информационных элементов можно использовать в ориентированном на задачи интерфейсе четырьмя способами. Элементы ниже определенного порога DOI можно фильтровать , чтобы уменьшить количество представленных элементов. Элементы можно ранжировать в соответствии с их DOI; например, элементы, представляющие наибольший интерес, могут отображаться вверху списка. Элементы могут быть украшены цветами для обозначения диапазонов DOI. Наконец, отображением элементов структурированной информации можно управлять автоматически на основе DOI; например, текст, соответствующий элементам с низким DOI, может быть автоматически исключен.
Значение DOI для каждого информационного элемента, с которым взаимодействовало в рамках задачи, может быть получено из сохраненной истории событий взаимодействия, записанных во время работы пользователя с приложением. Этот подход требует от пользователя указать начало задачи. Совокупность всех событий взаимодействия, происходящих во время одной задачи, называется «контекстом задачи».
Было продемонстрировано, что интерфейсы, ориентированные на задачи, эффективны в снижении информационной перегрузки и повышении производительности. [12]
Проект Eclipse Mylyn и NBTaskFocus [10] для среды IDE NetBeans представляют собой реализацию ориентированного на задачи интерфейса. Mylyn фильтрует, сортирует, выделяет, сворачивает и управляет расширением дерева для многочисленных представлений в Eclipse IDE на основе текущей активной задачи. NBTaskFocus [11] фильтрует панели проектов и управляет автоматическим контекстом задач для среды IDE NetBeans.