Projects/Focus: Difference between revisions

From KDE TechBase
Line 69: Line 69:
An <tt>Activity</tt> will consist of the following data:
An <tt>Activity</tt> will consist of the following data:
* Name
* Name
* Icon (optional)
* List of <tt>Actions</tt>
* List of <tt>Actions</tt>
* Default focus time (minutes)
* Default focus time (minutes)

Revision as of 22:39, 5 February 2010

Focus

Focus enables you to work and study more productively by removing distractions on the desktop and Internet.

Preamble

A few notes before getting started.

Plasma Activities

Disclaimer: A similar function (activity management) is being developed in Plasma. While the feature sets of Focus and Plasma Activities are not distinct, the basic rationale is.

Focus is fundamentally designed to be a distraction eliminator. Whereas, Plasma Activities provide a means to associate a set of windows, plasmoids, documents with a particular activity.

There is overlap in these visions, and ideally the two can come together to offer a complete activity and distraction management solution for the KDE desktop.

Document's Purpose

This document's function is two fold:

  • Design and Planning Document
  • Brain Dump - assist the author in organizing his thoughts regarding activity/distraction management

Requirements Analysis

Root Concept

Increase productivity by eliminating distractions from the desktop.

Basic Rationale

The desktop and the Internet while providing new tools and methods for increasing our productivity, have introduced near an infinite number of new means to distract ourselves and consequently decrease our net productivity.

People can focus on their task-at-hand better when potential distractions are removed. Better focus leads to more work done, and hence, greater productivity.

Stakeholder group

Procrastinators The procrastinator is adept at finding ways to put off his work. Focus creates an environment where finding things to do on the computer outside the defined activity is difficult to do.
Un-Concentrators Many people have problems concentrating on demand (such as ADHD sufferers), and unintentionally waste their time on irrelevant tasks (surfing, watching videos, etc.). Focus makes it more difficult for them to accidentally waste time by removing distractions and leaving the user with little else to do but his task.

Note: Focus is not claiming it can "cure" the focus symptoms ADHD sufferers tend to exhibit, rather it should be considered an aid to forcing concentration (if possible).

The Overworked These people have an impossibly long todo list, they must manage their time down to the minute each day in order to complete their tasks. Focus provides an easy means of time tracking and distraction elimination to maximize productivity.

Actors

Eric - 22 - The Procrastinator

Eric is a pretty typical college student at a major US university. By the time Eric reached college, he was already an expert at avoiding the inevitable. "Oh, I'll get to it," he says, and most of the time he does. He gets it done, but not without a constant and looming pressure that builds until, the night before. He crams, sometimes all night long, in order to finish on time. The result is seldom his best work. "Was it worth it?", he asks himself. "Not a chance." What does he say when the next project comes around? "Oh, I'll get to it."

The majority of Eric's assignments and projects must be done on his personal laptop. Whether it be a paper for his Psychology 101 class; a one page reading response for Literature 215; or an online quiz for Linear Algebra, they all require him to use his computer.

Olivia - 30 - The Un-Concentrator

Olivia is the founding editor for a very successful online weblog. She has won many distinguished awards from her work both online as a blogger, and offline as an author. She is considered the foremost independent voice on the technology efforts of many web titans. Her writing has appeared in the many leading publications such as Stanford Business Study, Wireless, Computer World and Macintosh magazines. A popular and in-demand public speaker, Olivia has given many feature presentations and keynote speeches at first-tier events such as Technology 2.0 Expo. A reputable company awarded her "Most Influential Women in Technology".

Problem Scenarios

Eric

Toward the beginning of his third semester Eric has to write a medium length paper for his Psychology class. The professor is requiring them to make use of several online resources. Before he can begin writing the paper, he must research his assigned prompt using the online resources. Eric begins with pure intentions. He's queued up a playlist of lyric-less music that helps him concentrate, he's turned off his cell phone, and even exited out of non-study related websites (Facebook, digg.com, etc). He works well for about 15 minutes when, suddenly, a notification pops up on his screen. It is a new email message -- Eric forgot to turn off his email client, because it runs in the background -- from a friend with a link to a funny YouTube video. He looks at the time, considers how much work he's done then tells himself, "I've done quite a bit, I could use a break." He clicks on the link and begins watching the video, he loves it and realizes one of his other friends would likely enjoy it too. He opens Facebook and shares it with the friend, and sees he has 8 unread notifications...

Olivia

Olivia sits down to write a new article for her weblog. Suddenly something she had been thinking of earlier pops into her head, "I wonder if anyone at Ask Metafilter knows good software for making screencasts." A few clicks later she exclaims, "Oh look, someone's had a traumatic breakup!" Several hours later, an article has yet to be written and she is feeling pretty guilty.

Activity Design

Activity above refers to the design phase where basic concepts and services of the system are reasoned out, with the end goal of specifying system functionality.

Entities

Activity

An Activity is simply a set of Actions that are performed upon activity activation.

An Activity will consist of the following data:

  • Name
  • Icon (optional)
  • List of Actions
  • Default focus time (minutes)

Action

An Action is an abstract type that encapsulates a single state to be instituted on the user's computer. Actions are distinct and will typically execute some sort of command.

An Action will consist of the following data:

  • Name
  • Description
  • Specific Properties

Example:

  • Name: Launch Applications
  • Description: Choose any applications needed to complete the activity
  • Properties: List of applications to open


Tasks

Create Activity

List Activities

Edit Activity

Focus on Activity

Roadmap

1 Milestone:

Date:

Goals:

  • Tasks