Hi this is Tim, I'm wrote Astrid 3.0's content provider for Tasks, so
I thought I'd jump into this discussion. Here's what I have right now
(though whole platform is currently in development). A lot of the
information in the current implementation Astrid-specific, so we can
figure out how to make it more universal. That said, here's what I
have right now:
Task:
- id
- title - string description of task
- urgency - integer representing when a task is due
- importance - integer representing the value of completing a task
- due date - time the task is due (corresponds to urgency value)
- hidden until - when a task should become visible to the user
- creation date
- completion date
Urgency within Astrid is one of these values:
- none
- today
- this week
- this month
- within 3 months
- within 6 months
- within a year
- specific day
- specific day & time
Importance within Astrid is one of these values:
- none
- should do
- must do
- do or die
Basically, the importance and urgency capture the idea that a task
needs to be completed by a certain time, and not completing the task
has certain repercussions.
In addition, because Astrid is extensible by third parties, I have
another content provider for metadata, which are namespaced key/value
pairs that can be attached to tasks. For example, I wrote an example
plugin that adds tagging capability to tasks. Tag data is stored with
Key = Tag and Value = name of the tag.
Some different plugins that have been proposed (and therefore our
content provider should be able to handle):
- adding one or more notes to a task
- stopwatch for time spent on a task
- repeating tasks
- adding a photo/sound/video attachment
- attaching a contact and an action (call, e-mail)
- GTD concepts: contexts, projects
- synchronization information for external services (remote id's, what
folders/lists this task belongs to)
- reminders and alarms
My goal with re-writing Astrid is that it would become a platform for
tasks that takes care of the hard work of UI presentation and
interface. Other folks could then write plugins that help them do what
they want to do - synchronize with other services, add menu items to
quickly do common operations, etc.
Hope that's helpful,
Tim
> > Provider for Calendar in the Android devices with Google Calendar seehttp://
source.android.com/projects#TOC-Packagesandthere is even a