Task-focused interface

Last updated

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 when dealing with large hierarchies, such as those in software systems 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, [1] a focusing mechanism to filter or highlight the relevant documents. The task-focused interface has been validated with statistically significant [2] increases to knowledge worker productivity. It has been broadly adopted by programmers and is a key part of the Eclipse integrated development environment. The technology is also referred to as the "task context" model and the "task-focused programming" paradigm.

Contents

History

The task-focused interface was invented by Mik Kersten during his PhD at the University of British Columbia in 2004. [3] 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 [4] interface metaphor and the "Edit & Read Wear" [5] 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 project called Eclipse Mylyn, created in March 2005. The technology evolved with input and contributions from thousands of open source community developers. [6] 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. [7] 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, [8] and the Tasktop Pro tool for project managers. By 2009, most agile software development and application lifecycle management tools provided integration with Mylyn. [9] In 2011 NBTaskFocus [10] [11] 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. [12]

The Eclipse Mylyn project and NBTaskFocus [10] 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 [11] filters project panels and manages automatic task context for NetBeans IDE.

Related Research Articles

An integrated development environment (IDE) is a software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, and a debugger. Some IDEs, such as NetBeans, JDoodle and Eclipse, contain the necessary compiler, interpreter, or both; others, such as SharpDevelop and Lazarus, do not.

<span class="mw-page-title-main">Fitts's law</span> Predictive model of human movement

Fitts's law is a predictive model of human movement primarily used in human–computer interaction and ergonomics. The law predicts that the time required to rapidly move to a target area is a function of the ratio between the distance to the target and the width of the target. Fitts's law is used to model the act of pointing, either by physically touching an object with a hand or finger, or virtually, by pointing to an object on a computer monitor using a pointing device. It was initially developed by Paul Fitts.

<span class="mw-page-title-main">Eclipse (software)</span> Software development environment

Eclipse is an integrated development environment (IDE) used in computer programming. It contains a base workspace and an extensible plug-in system for customizing the environment. It is the second-most-popular IDE for Java development, and, until 2016, was the most popular. Eclipse is written mostly in Java and its primary use is for developing Java applications, but it may also be used to develop applications in other programming languages via plug-ins, including Ada, ABAP, C, C++, C#, Clojure, COBOL, D, Erlang, Fortran, Groovy, Haskell, JavaScript, Julia, Lasso, Lua, NATURAL, Perl, PHP, Prolog, Python, R, Ruby, Rust, Scala, and Scheme. It can also be used to develop documents with LaTeX and packages for the software Mathematica. Development environments include the Eclipse Java development tools (JDT) for Java and Scala, Eclipse CDT for C/C++, and Eclipse PDT for PHP, among others.

A heuristic evaluation is a usability inspection method for computer software that helps to identify usability problems in the user interface design. It specifically involves evaluators examining the interface and judging its compliance with recognized usability principles. These evaluation methods are now widely taught and practiced in the new media sector, where user interfaces are often designed in a short space of time on a budget that may restrict the amount of money available to provide for other types of interface testing.

A domain-specific language (DSL) is a computer language specialized to a particular application domain. This is in contrast to a general-purpose language (GPL), which is broadly applicable across domains. There are a wide variety of DSLs, ranging from widely used languages for common domains, such as HTML for web pages, down to languages used by only one or a few pieces of software, such as MUSH soft code. DSLs can be further subdivided by the kind of language, and include domain-specific markup languages, domain-specific modeling languages, and domain-specific programming languages. Special-purpose computer languages have always existed in the computer age, but the term "domain-specific language" has become more popular due to the rise of domain-specific modeling. Simpler DSLs, particularly ones used by a single application, are sometimes informally called mini-languages.

<span class="mw-page-title-main">WIMP (computing)</span> Style of human-computer interaction

In human–computer interaction, WIMP stands for "windows, icons, menus, pointer", denoting a style of interaction using these elements of the user interface. Other expansions are sometimes used, such as substituting "mouse" and "mice" for menus, or "pull-down menu" and "pointing" for pointer.

<span class="mw-page-title-main">Graphical widget</span> Element of interaction in a graphical user interface

A graphical widget in a graphical user interface is an element of interaction, such as a button or a scroll bar. Controls are software components that a computer user interacts with through direct manipulation to read or edit information about an application. User interface libraries such as Windows Presentation Foundation, Qt, GTK, and Cocoa, contain a collection of controls and the logic to render these.

GOMS is a specialized human information processor model for human-computer interaction observation that describes a user's cognitive structure on four components. In the book The Psychology of Human Computer Interaction. written in 1983 by Stuart K. Card, Thomas P. Moran and Allen Newell, the authors introduce: "a set of Goals, a set of Operators, a set of Methods for achieving the goals, and a set of Selections rules for choosing among competing methods for goals." GOMS is a widely used method by usability specialists for computer system designers because it produces quantitative and qualitative predictions of how people will use a proposed system.

<span class="mw-page-title-main">Gesture recognition</span> Topic in computer science and language technology

Gesture recognition is an area of research and development in computer science and language technology concerned with the recognition and interpretation of human gestures. A subdiscipline of computer vision, it employs mathematical algorithms to interpret gestures. Gestures can originate from any bodily motion or state, but commonly originate from the face or hand. One area of the field is emotion recognition derived from facial expressions and hand gestures. Users can make simple gestures to control or interact with devices without physically touching them. Many approaches have been made using cameras and computer vision algorithms to interpret sign language, however, the identification and recognition of posture, gait, proxemics, and human behaviors is also the subject of gesture recognition techniques. Gesture recognition is a path for computers to begin to better understand and interpret human body language, previously not possible through text or unenhanced graphical (GUI) user interfaces.

In human–computer interaction, the keystroke-level model (KLM) predicts how long it will take an expert user to accomplish a routine task without errors using an interactive computer system. It was proposed by Stuart K. Card, Thomas P. Moran and Allen Newell in 1980 in the Communications of the ACM and published in their book The Psychology of Human-Computer Interaction in 1983, which is considered as a classic in the HCI field. The foundations were laid in 1974, when Card and Moran joined the Palo Alto Research Center (PARC) and created a group named Applied Information-Processing Psychology Project (AIP) with Newell as a consultant aiming to create an applied psychology of human-computer interaction. The keystroke-level model is still relevant today, which is shown by the recent research about mobile phones and touchscreens.

End-user development (EUD) or end-user programming (EUP) refers to activities and tools that allow end-users – people who are not professional software developers – to program computers. People who are not professional developers can use EUD tools to create or modify software artifacts and complex data objects without significant knowledge of a programming language. In 2005 it was estimated that by 2012 there would be more than 55 million end-user developers in the United States, compared with fewer than 3 million professional programmers. Various EUD approaches exist, and it is an active research topic within the field of computer science and human-computer interaction. Examples include natural language programming, spreadsheets, scripting languages, visual programming, trigger-action programming and programming by example.

In computing, post-WIMP comprises work on user interfaces, mostly graphical user interfaces, which attempt to go beyond the paradigm of windows, icons, menus and a pointing device, i.e. WIMP interfaces.

Mik Kersten is a Polish- Canadian computer specialist who created and leads the open-source Eclipse Mylyn project. Kersten invented the Task-Focused Interface technology underlying Mylyn while working on his PhD at the University of British Columbia in Vancouver, British Columbia, Canada. While completing his PhD, Kersten and his PhD supervisor, Gail C. Murphy, founded Tasktop Technologies, which provided productivity software built on the Mylyn technology, but now focuses on providing Value stream management software around Mik's book Project to Product.

<span class="mw-page-title-main">GroupLens Research</span> Computer science research lab

<span class="mw-page-title-main">Human–computer interaction</span> Academic discipline studying the relationship between computer systems and their users

Human–computer interaction (HCI) is research in the design and the use of computer technology, which focuses on the interfaces between people (users) and computers. HCI researchers observe the ways humans interact with computers and design technologies that allow humans to interact with computers in novel ways. A device that allows interaction between human being and a computer is known as a "Human-computer Interface (HCI)".

Sonic interaction design is the study and exploitation of sound as one of the principal channels conveying information, meaning, and aesthetic/emotional qualities in interactive contexts. Sonic interaction design is at the intersection of interaction design and sound and music computing. If interaction design is about designing objects people interact with, and such interactions are facilitated by computational means, in sonic interaction design, sound is mediating interaction either as a display of processes or as an input medium.

Victoria Bellotti is a Senior CI researcher in the Member Experience Team at Netflix. Previously, she was a user experience manager for growth at Lyft and a research fellow at the Palo Alto Research Center. She is known for her work in the area of personal information management and task management, but from 2010 to 2018 she began researching context-aware peer-to-peer transaction partner matching and motivations for using peer-to-peer marketplaces which led to her joining Lyft. Victoria also serves as an adjunct professor in the Jack Baskin School of Engineering at University of California Santa Cruz, on the editorial board of the Personal and Ubiquitous Computing and as an associate editor for the International Journal of HCI. She is a researcher in the Human–computer interaction community. In 2013 she was awarded membership of the ACM SIGCHI Academy for her contributions to the field and professional community of human computer interaction.

Joëlle Coutaz is a French computer scientist, specializing in human-computer interaction (HCI). Her career includes research in the fields of operating systems and HCI, as well as being a professor at the University of Grenoble. Coutaz is considered a pioneer in HCI in France, and in 2007, she was awarded membership to SIGCHI. She was also involved in organizing CHI conferences and was a member on the editorial board of ACM Transactions on Computer-Human Interaction.

Andrew Cockburn is currently working as a Professor in the Department of Computer Science and Software Engineering at the University of Canterbury in Christchurch, New Zealand. He is in charge of the Human Computer Interactions Lab where he conducts research focused on designing and testing user interfaces that integrate with inherent human factors.

Karen Holtzblatt is an American computer scientist known for her contributions in human–computer interaction, and particularly in contextual design. She founded InContext Design in 1992, and is its CEO. Holtzblatt was elected to the CHI Academy in 2007 and won the inaugural ACM SIGCHI Lifetime Award for Practice in 2010. Holzblatt is also affiliated with the University of Maryland, as a research scientist in the Human-Computer Interaction Lab and iSchool.

References

  1. Leung, Y. K.; Apperley, M. D. (1994). "A review and taxonomy of distortion-oriented presentation techniques". ACM Transactions on Computer-Human Interaction. 1 (2): 126–160. doi:10.1145/180171.180173. S2CID   288680 . Retrieved 11 Sep 2009.
  2. Kersten, Mik; Murphy, Gail C. (2007). "Using task context to improve programmer productivity". Proceedings of the 14th ACM SIGSOFT International Foundations of Software Engineering Conference. doi:10.1145/1181775.1181777.
  3. "Mik Kersten Thesis" (PDF). 2008. Retrieved 11 Sep 2009.
  4. Card, Stuart (2005-01-10). Attention-reactive interfaces for sensemaking. Proceedings of the 10th International Conference on Intelligent User Interfaces (2005). doi:10.1145/1040830.1040831 . Retrieved 2023-03-02.
  5. Hill, William C.; Hollan, James D.; Wroblewski, Dave; McCandless, Tim (1992-06-01). "Edit wear and read wear". Proceedings of the SIGCHI Conference on Human Factors in Computing Systems. SIGCHI Conference on Human Factors in Computing Systems. Monterey, California: ACM Press. doi:10.1145/142750.142751 . Retrieved 2023-03-02.
  6. "Eclipse Mylyn Project". 2009. Retrieved 11 Sep 2009.
  7. "Using a Degree-of-Interest Model for Adaptive Visualizations in Protégé" (PDF). 2006. Retrieved 11 Sep 2009.
  8. "Netbeans Cubeon". 2009. Retrieved 11 Sep 2009.
  9. "Eclipse Mylyn Extensions". 2009. Retrieved 11 Sep 2009.
  10. 1 2 "NBTaskFocus Project". 2011. Retrieved 21 Oct 2011.
  11. 1 2 "NBTaskFocus Tutorial". 2011. Retrieved 25 Oct 2011.
  12. Kersten, Mik; Murphy, Gail C. "Using Task Context to Improve Programmer Productivity" (PDF). cmapspublic.ihmc.us.