The task-focused interface is a type of
user interface which extends the
desktop metaphor of the
graphical user interface to make tasks, not files and folders, the primary unit of interaction. Instead of showing entire hierarchies of information, such as a tree of documents, a task-focused interface shows the subset of the tree that is relevant to the task-at-hand. This addresses the problem of
information overload
Information overload (also known as infobesity, infoxication, information anxiety, and information explosion) is the difficulty in understanding an issue and effectively making decisions when one has too much information (TMI) about that issue, ...
when dealing with large hierarchies, such as those in
software system
A software system is a system of intercommunicating components based on software forming part of a computer system (a combination of hardware and software). It "consists of a number of separate programs, configuration files, which are used to se ...
s or large sets of documents. The task-focused interface is composed of a mechanism which allows the user to specify the
task being worked on and to
switch between active tasks, a model of the task context such as a degree-of-interest (DOI) ranking,
a focusing mechanism to filter or highlight the relevant documents. The task-focused interface has been validated with statistically significant
increases to
knowledge worker productivity. It has been broadly adopted by programmers and is a key part of the
Eclipse
An eclipse is an astronomical event that occurs when an astronomical object or spacecraft is temporarily obscured, by passing into the shadow of another body or by having another body pass between it and the viewer. This alignment of three ce ...
integrated development environment. The technology is also referred to as the "task context" model and the "task-focused programming" paradigm.
History
The task-focused interface was invented by
Mik Kersten during his PhD at the
University of British Columbia in 2004.
Kersten previously worked on the
aspect-oriented programming team at
Xerox PARC and combined the idea of crosscutting aspects and
task management. Early precursors to the task-focused interface include the attention-reactive
interface metaphor and the "Edit & Read Wear"
document editing tool.
The first description of the task-focused interface concepts appeared in a 2005
AOSD conference publication. The first implementation of the task-focused interface started as an
open source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use the source code, design documents, or content of the product. The open-source model is a decentralized sof ...
project called Eclipse
Mylyn, created in March 2005. The technology evolved with input and contributions from thousands of open source community developers.
In 2006, a research group and the
University of Victoria demonstrated the utility of the task-focused interface and degree-of-interest model for
ontology visualization.
In 2007, the Mylyn implementation was bundled with the majority of Eclipse IDE distributions. In 2008, alternate implementations of task-focused interface became available, including NetBeans Cubeon,
and the
Tasktop Pro tool for
project manager
A project manager is a professional in the field of project management. Project managers have the responsibility of the planning, procurement and execution of a project, in any undertaking that has a defined scope, defined start and a defined f ...
s. By 2009, most
agile software development
In software development, agile (sometimes written Agile) practices include requirements discovery and solutions improvement through the collaborative effort of self-organizing and cross-functional teams with their customer(s)/ end user(s), ad ...
and
application lifecycle management tools provided integration with Mylyn.
In 2011 NBTaskFocus
got introduced which provided Mylyn like task-focused features in NetBeans IDE.
Technology
The primary goal of a task-focused interface is to scope the information shown in a computer application to just that relevant to the user's current task. Based on the user's interactions,
each uniquely identifiable element of information available to the user is assigned a degree-of-interest (DOI) ranking. The more frequently and recently a user has interacted with an element
of information, the higher the DOI for that element for that task.
The DOI rankings for the information elements can be used within a task-focused interface in four ways. Elements below a certain DOI threshold can be ''filtered'' to reduce the number of elements presented. Elements can be ''ranked'' according to their DOI; for instance, the elements of highest interest can be shown at the top of a list. The elements can be ''decorated'' with colours to indicate ranges of DOI. Finally, the display of structured information elements can be ''automatically managed'' based on DOI; for instance, text corresponding to elements with low DOI can be automatically elided.
The DOI value for each information element interacted with as part of a task can be derived from a stored history of interaction events recorded as the user works with the application. This approach requires a user to indicate the start of a task. The collection of all interaction events that take place during a single task is called a "task context".
Task-focused interfaces have been demonstrated to be effective in reducing information overload and improving productivity.
The Eclipse Mylyn project and NBTaskFocus
for NetBeans IDE is an implementation of the Task-Focused Interface. Mylyn filters, sorts, highlights, folds, and manages tree expansion for numerous views within the Eclipse IDE based on the currently active task. NBTaskFocus
filters project panels and manages automatic task context for NetBeans IDE.
References
External links
Eclipse Mylyn ProjectNBTaskFocus project for NetBeans IDE{{Webarchive, url=https://web.archive.org/web/20210118073547/http://plugins.netbeans.org/plugin/53996/nbtaskfocus , date=2021-01-18
User interface techniques