Nepomuk-Scribo activity oriented desktop

From Mandriva Community Wiki

Jump to: navigation, search

As stated by Stephen Voida, researcher at the University of Calgary:

The venerable desktop metaphor is beginning to show signs of strain in supporting modern knowledge work. [...] Rather than attempting to displace the existing desktop metaphor entirely, we posit that reframing the existing desktop metaphor around the higher-level construct of activity can address many of the limitations inherent in current desktop interfaces.


This page is about enhancing the desktop with activity oriented capabilities aiming at improving productivity. An activity oriented desktop lets the user (i) create tasks or activities from any desktop item (ii) draw semantic links between a task and any desktop or Web resource (a file, a map, another task, a note etc.) (iii) get annotations suggestions supporting the linking of desktop artefacts based on natural language processing. These features will harness the Nepomuk infrastructure and the outcome of the Scribo project.

Activity oriented desktop mock-up

Contents

Specification

Cross-applications task creation / linking

The user can activate the following actions from all main desktop applications (through buttons, context menus or menus):

  • create task from item(s) (i.e. create a new task and list the currently selected item(s) to the newly created task)
  • add selected item(s) to task (drop it into the task box -> this means tasks are seen are containers into which the user can drop anything he wants, and at the same time structure the jar by annotating the items being dropped). Selected item depends on the application used. It can be:
    • from a browser: the current URL, the currently selected text, image or video. In case the selection contains structured data (RDF, JSON, etc.), it should be possible to handle that data automatically.
    • from a mail client: the selected mail(s), the selected text, the selected contact, a selected date, a selected location, a selected attachment etc.
    • from a file system explorer: link file to task
    • from a text editor or document viewer: add selected text to task
    • from a postit: link postit to task
    • ... to be completed

Action "Create new task from item"

The action is prompted from any desktop resource.

  • if the item is a date: propose to use the date as start/end date of the task
  • prompts for a task description (task name is optional, for fast typing in case of simple tasks)

Action "Add item(s) to task"

The action is prompted from any desktop resource.

  • lists all existing task (by order of recent use or by importance, or by deadline...) possibly directly as a submenu (like move file to folder>subfolders>....)
  • prompts for a comment describing the link between the item and the task. Example: browsing a hotel Web site while planning a trip to Barcelona: add it to the trip organization task, and comment it as "nice pool, fair price"
  • prompts for annotations characterizing the item (in addition to the ones than can be inferred automatically): hotel, hasSpecification (a given task is specified by the item: file, wiki page etc.) , info, contact, location, event, ...


Contextualize the desktop around activities

Nepomuk semantic desktop

The objective is to adapt the desktop to an activity - an activity consists of one or several task(s). The activity-oriented desktop is consists of a set of containerswhose content is adapted to the activity the user is working on. Those containers could be arranged differently depending on the user's preferences: as individual tabs for instance, or group of tabs. The mock-up above shows an example.

The activity plasmoids set consists of the following:

  • "All resources" plasmoid: this panel lists all resources linked to the current project: bookmarks, files, folders, applications, emails, events etc. The resources are listed in a table. The table can be sorted by resource type and by criteria. The sort criteria can be: sort by last access time, last edited time, most frequent access, last created time (for emails for instance: the recently arrived emails). For each resource, a contextual menu is available, letting the user open the selected resource, delete it, or annotate it.
  • Task list plasmoid: a set of tmo:Task related to the project. Tasks can be entered easily from this plasmoid, can be edited, marked as "done", moved up and down.
  • Wiki plasmoid: contains some interlinked wiki notes related to the current project.
  • Application plasmoid: preferred applications in the context of the project.
  • Contact plasmoid: list all contacts involved in the project.
  • Calendar: displays as a timeline all resources that have a startDate or endDate and linked to the project.
  • Search: full text search by default, only within the resources that are linked to the project. Semantic search can be issued by hitting the arrow button.
  • Files plasmoid: displays all files.

Within each plasmoid, the user can customize the display: in the email plasmoid, most recent emails will be displayed, while in the file plasmoid, most recently accessed files will be displayed.


Contextual open dialogue

The open file dialogue should be enhanced so that the user can view and open the resources associated with each activity instead of all desktop resources.


Other features

  • fast typing and linking from anywhere: see the list.it application by MIT
  • Allow for abbreviations of common words (and let the user define their own), see the list.it MIT paper
  • An icon and a color can be associated with each project so that each project plasmoid gets a custom look and feel linked to the project.
  • ... to be completed

Focused task management application

From a dedicated task manager application, the user can typically issue the following commands: create a task pattern, create/remove tasks, refactor existing tasks (change subtasks organization, define new subtasks, describe task advancement, generate Gantt chart...), display all tasks in a calendar, define task management preferences, etc.


General task management features

  • Change task attributes: start date, end date, importance, related contacts, related files
  • Possibility to order tasks and subtasks by importance or by start date, end date, by people involved, by location, or by any other meaningful property to the user
  • Represent task semantics visually
  • Generate a Gantt chart for a given task
  • Drag and drop task items into others.
  • Drag and drop desktop items into the task manager icon (which should be available iconified in the taskbar continuously)
  • Create alerts for specific tasks, deadline
  • Define automated workflows like the following: 1) for each incoming email with "To equals to hr@mandriva.com": create a subtask in the "Recruiting" task 2) if the email has any attachment, link it to the newly created task, as well as the sender details. 3) Extract all possible information from the mail and the attachments such as: sender's diploma, sender's university name, mentionned technologies, sender's location etc.


Task pattern management

The user can also create task patterns that can be reused across tasks. Example: workshop organization, trip planning, diner organization, development task, software specification task etc. A pattern contains a set of subtasks, possibly linked to template documents (ex: software specification standard template within a company, expense sheet form to be filled in after a trip etc.).

Collective task management

Context: all members of a team share a set of tasks. All of them can draw links to shared tasks from their desktop. Tasks are both stored locally and on the intranet. Users can add private or public metadata to those. For sharing task anntations with others, the user has to activate the sharing command. In that context, each task has one or several assignees, managers, possibly detailed subprocesses etc.


State of the art

Activity based computing - Example: Giornata

ABC (Activity Based Computing): ABC deprecates the folder hierarchy in favor of a mechanism for associating files (and other objects) with specific activities. The user specifies which activity they are undertaking, and the system materializes the items ssociated with that activity. Activity based computing is a interface model that is more reflective of how information work is actually thought about and carried out. [1]

Excerpts from the Desktop Interface Around the Activities of Knowledge Work:

  • The venerable desktop metaphor is beginning to show signs of strain in supporting modern knowledge work.
  • Rather than attempting to displace the existing desktop metaphor entirely, we posit that reframing the existing desktop metaphor around the higher-level construct of activity can address many of the limitations inherent in current desktop interfaces
  • Giornata is as generalization of virtual desktops, offering a virtual desktop per task. But it’s more than just a virtual desktop—besides windows, it flips colleagues, files on the desktop, etc

Methodologies / Models

Existing tools

Researchers

Other links

Personal tools