Zanshin: Difference between revisions

From KDE Community Wiki
 
(63 intermediate revisions by 6 users not shown)
Line 1: Line 1:
= Presentation of the project =


= Context =
Zanshin is trying to provide a software support for the "Getting things done" approach of David Allen. It integrates very well
Context is a meta-data concept. Since todos/tasks can be related, for instance, to a specific project, it would be nice to express this semantic link : that's where Context rises up. You, as a user, will be able to link any kind of context name to a todo helping you to organize and give the semantic you want them to have.  
in the KDE environment using Akonadi as a main back-end to store you personal information, providing strong integration with KMail or KOrganizer. Zanshin is targeting tasks management, but in order to provide a note management aspect, Renku, a standalone application is born along the development process. Both are complementary and help the user to keep track of his todo's activities.  


Akonadi Backend : The context concept is stored into akonadi through the Akonadi Item Tag. An item holds a list of Tag that have a name and can be from diffents type. As a convention, a tag related to the type "context" would be zanshin related, its name, that will be displayed to the user, will depend on what the user as set.
Reference : https://en.wikipedia.org/wiki/Getting_Things_Done


= User Stories =
= Zanshin's Context =
Requirements for Zanshin in the User-Story format, sorted by priority.
Context is a meta-data concept. Since todos/tasks can be related, for instance, to a specific project, it would be nice to express this semantic link : that's where Context rises up. You, as a user, will be able to link any kind of context name to a todo, helping you to organize and give the semantic you want them to have.  


Niveau 1 
Akonadi Backend : The context concept is stored into akonadi through the Akonadi Tag. An item holds a list of Tag that have a name and can be from different types. As a convention, a tag with the custom type "zanshin-context" would be zanshin related, its name, that will be displayed to the user, will depend on what the user as set.
  - display the inbox in order to see the notes and task which need to be orginazed (e.g. any task or note not associated to any project, context or topic)
 
  - create task by typing a title in the Inbox in order to collect ideas while reflecting on my life
=Zanhin User Stories =
  - mark a task as completed in order to have a warm feeling about getting it done
 
  - delete a simple task so it is removed in order to clean old useless tasks
=== Inbox and base editing ===
  - modify  the due date in order to know when the task has to be completed
All done
Niveau 2
=== Projects and task hierarchy basics ===
- Associate a task to a project  (associated to only one project)
All Done
- Select project to see the notes and tasks it contains
=== Complete base workflow ===
  - Create project
All Done
- Associate a task to a task ( only one parent task )
=== Base workflow convenience ===
Niveau 3
All Done
- Dissociate a task to a task
=== Context basics ===
- deleting (mom) task with all its children set in order to clean old useless tasks, in such case the user will be warned
All Done
- Filter out tasks which do not match by title nor text in order to find specific tasks
=== Context conveniences / Complete projects 1 ===
- can visually distinguish critical tasks that have past the due date with adifferent aspect in order to have them stand out
All Done
Niveau 4
=== Complete contexts 1 / Complete projects 2 ===
- create a task from Krunner by typing a title in order not to forget the current idea I'm having.
* As a user I want to filter tasks by context.
- create task by typing its  title in a project area in order to refine my project steps
 
- modify a title of a task in order to fix a typo or refine its definition
=== Workday view basics ===
- can see tasks that need to be done for today with a different aspects in order to have them stand out
All Done
Niveau
=== Workday view convenience ===
- select a context  in order to see all its associated tasks
All Done
- Create a context
=== Navigation Convenience Behavior ===
- Display the Context view in order to see all exisiting contexts
All Done
- Associate a task to a context in order to describe the task ressources (can be a person)
=== Sorting ===
Niveau
* As a user I want to sort by title, end-date, due-date : partially done
  - create task by typing its  title from the context view in order to
=== Purge ===
  -  add faster a task associated to a context
* purge all completed task in order to clean my tasks lists
  - keep task without natural project ( recurrent task for instance)
 
  - Delete project ( delete all its content )
= Renku User stories =
Niveau
=== Notes and tags basics ===
  - Delete a context (if a task isn't associated with any context or project, it is not deleted but sent to the inbox)
All Done
- Associate a context to a parent context ( Warning : topic can have only one parent context )
===Complete notes/tags / Task advanced edition bases ===
- Rename a project
All Done
- Dissociate a task from a context in order to fix a mistake
=== Notes convenience ===
- Dissociate a task from a project (associated to only one project)
All Done
- Rename a context
 
Niveau
=== Tags ===
- Dissociate a context from a context
Note: Context are only in Zanshin and Tag are only in Renku
Niveau
* As a user I want to filter notes by tags
    - Display the Topic view in order to see all exisiting topics
 
    - Associate an existing note to a project (associated to only one project)
=== Task advanced edition + Delegation ===
    - Associate a note to a topic in order to organize knowledge
* Can propose to someone a task delegation in order to offload work to someone else
    - Select a topic  in order to see all its associated notes
* task get associated to a context corresponding to a person (find a way to display it)
    - create note by typing a title from the Inbox in order to collect knowledge
* notification got sent to the person
    - Create a topic
* Technical story : Given a delegated task, when it gets modified the notification is sent to the relevant user
Niveau
 
    - Associate an existing note to a project (associated to only one project)
= Munich =
    - modify the text of the task in order to save details about a task or add additionnal informations
=== Delegation ===
    - Rename a topic
* As a user I want to delegate a task to another user.
    - modify a text of the note in order to save details about a note or add additionnal informations
* As a user I want to monitor progress of a delegated task (The progress updates are handled by iTip already).
    - Delete a topic (if a note isn't associated with any topic or project, it is not deleted but sent to the inbox)
** As a user I want to see tasks that I assigned to someone but have a visual distinction that I don't have to act on them directly.
Niveau
* (As a user I want to accept or decline a task that was assigned to me.) => This is handled by kmail
- create note by typing its title in a project area in order to collect project specific knowledge
 
- create note by typing its title in a topic area in order to organize personal knowledge around this topic 
=== Folder / Data sources selection (same for notes and todos) ===
- Dissociate a note from a topic in order to fix a mistake   
* As a user I want to see tasks in a selected folder
- modify a title of a note in order to fix a typo or refine its definition
* As a user I want to see tasks from multiple selected folders
Niveau
* As a user I want to maintain a list of visible although not necessarily selected folders, so I can quickly enabled the folders as required.
  - display a workday view (start date or due date in the past) in order to know what I'm supposed to do
* As a user I want to search for new folders to enable, that will then appear in my folder list.
  - modify the start date of tasks for today in order to have them plan from today (today view for instance)
* As a user I want to remove folders from my currently visible list.
Niveau
* As a user I want to create new folders
- modify the start date of a task  in order to schedule it for a given day
* As a user I want share my folders with other users
- Filter out task with a start in the future in order to focus on what I should work on now
* As a user I want to see to whom a shared folder belongs.
- filter out completed task views in order to focus on what is remaining only
 
Niveau
= Mockups =
- Associate a topic to a topic ( Warning : topic can have only one parent topic )
Draft UI Mockups, not final.
- Dissociate a topic from a topic in order to fix a mistake
 
- purge all completed task in order to clean my tasks lists
== Mockups by Björn Balazs ==
Niveau Last
[[File:ZanshinMockupBjörn.png]]
- modify the progress infomation of a task in percent in order to roughly know how much work is left
 
- modify the duration information of a task in order to give a estimation on this workload
[[File:20120212_ZenshinMockup.ep.zip]]
- Can propose to someone a task delegation in order to offload work to someone else
 
      - task get associated to a context corresponding to a person
== Mockups by Christian Mollekopf ==
      - notification got sent to the person
[[File:ZanshinMockupProjectViewCMollekopf.png ]]
    - Technical story : Given a delgated task, when it gets modified the notification is sent to the relevant user
 
[[File:Cmollekopf_zanshinmockup_30_5_2014.ep.zip]]

Latest revision as of 11:55, 2 April 2016

Presentation of the project

Zanshin is trying to provide a software support for the "Getting things done" approach of David Allen. It integrates very well in the KDE environment using Akonadi as a main back-end to store you personal information, providing strong integration with KMail or KOrganizer. Zanshin is targeting tasks management, but in order to provide a note management aspect, Renku, a standalone application is born along the development process. Both are complementary and help the user to keep track of his todo's activities.

Reference : https://en.wikipedia.org/wiki/Getting_Things_Done

Zanshin's Context

Context is a meta-data concept. Since todos/tasks can be related, for instance, to a specific project, it would be nice to express this semantic link : that's where Context rises up. You, as a user, will be able to link any kind of context name to a todo, helping you to organize and give the semantic you want them to have.

Akonadi Backend : The context concept is stored into akonadi through the Akonadi Tag. An item holds a list of Tag that have a name and can be from different types. As a convention, a tag with the custom type "zanshin-context" would be zanshin related, its name, that will be displayed to the user, will depend on what the user as set.

Zanhin User Stories

Inbox and base editing

All done

Projects and task hierarchy basics

All Done

Complete base workflow

All Done

Base workflow convenience

All Done

Context basics

All Done

Context conveniences / Complete projects 1

All Done

Complete contexts 1 / Complete projects 2

  • As a user I want to filter tasks by context.

Workday view basics

All Done

Workday view convenience

All Done

Navigation Convenience Behavior

All Done

Sorting

  • As a user I want to sort by title, end-date, due-date : partially done

Purge

  • purge all completed task in order to clean my tasks lists

Renku User stories

Notes and tags basics

All Done

Complete notes/tags / Task advanced edition bases

All Done

Notes convenience

All Done

Tags

Note: Context are only in Zanshin and Tag are only in Renku

  • As a user I want to filter notes by tags

Task advanced edition + Delegation

  • Can propose to someone a task delegation in order to offload work to someone else
  • task get associated to a context corresponding to a person (find a way to display it)
  • notification got sent to the person
  • Technical story : Given a delegated task, when it gets modified the notification is sent to the relevant user

Munich

Delegation

  • As a user I want to delegate a task to another user.
  • As a user I want to monitor progress of a delegated task (The progress updates are handled by iTip already).
    • As a user I want to see tasks that I assigned to someone but have a visual distinction that I don't have to act on them directly.
  • (As a user I want to accept or decline a task that was assigned to me.) => This is handled by kmail

Folder / Data sources selection (same for notes and todos)

  • As a user I want to see tasks in a selected folder
  • As a user I want to see tasks from multiple selected folders
  • As a user I want to maintain a list of visible although not necessarily selected folders, so I can quickly enabled the folders as required.
  • As a user I want to search for new folders to enable, that will then appear in my folder list.
  • As a user I want to remove folders from my currently visible list.
  • As a user I want to create new folders
  • As a user I want share my folders with other users
  • As a user I want to see to whom a shared folder belongs.

Mockups

Draft UI Mockups, not final.

Mockups by Björn Balazs

File:20120212 ZenshinMockup.ep.zip

Mockups by Christian Mollekopf

File:Cmollekopf zanshinmockup 30 5 2014.ep.zip