The main concept behind Getting Things GNOME is that everything, absolutely everything is a task. Writing a book is a task. Developing an operating system is a task. Climbing mount Everest is task. Taking out the trash is a task. Everything.

I agree. It’s terribly not romantic. But true. Like saying that every poem is just a bunch of ink on a paper. Not romantic but efficient. Better: building a system to handle every task could be a game changer, a disruptive innovation affecting the society.
It might be long but stay with me: I will describe a generic task, a generic task manager and how it will change the world.
A task
Let define a task first. What are the natural properties of a task? Not so many.
1. An action line. This is a short sentence describing the task and it should always start with a verb. “Project 42″ or “Administrative stuff” is not a task. “Fill in the papers” is.
2. An observable boolean. It can tell if the task is achieved or not. There’s no such thing as completion percentage or intermediary status. A task is done or is not done. And the observable has to be agreed. This observable boolean might sometimes be inferred from the action line but not always. Writing a book is fine. But how do you define a book? Having completed 100,000 words in a text file? Being published? Is self published enough?
3. A start time. The time at which the task can be started. It doesn’t make sense to know that you have to take the trash out two weeks in advance. A start time can also be arbitrarily decided. Like I don’t want to work on this project before the end of my vacations.
4. A due time. That due time might be external (a project deadline) or self decided (I want to write my book this year). When there’s no external deadline, the due time is often fuzzy: it should be done as soon as possible or someday or when you have time. This is nevertheless a due time. When there are two of them, the most urgent win. Like when your boss want a project report for next month but you don’t want to work on it during the holidays which happens the week before.
5. Subtasks. Each task can be divided in smaller subtasks, almost indefinitely. When the task is too big, like writing a book, it feels impossible and it will hard to be motivated to work on it. On the other hand, the tasks are too small when it takes more time to write down the task than to accomplish it. It goes without saying that if a task can have subtasks, it can have parents to. There’s no reason to have only one parent and a particular subtask can be part of multiple projects.
6. An assignee. That’s the person responsible for changing the observable boolean. It cannot be a group, it is always one person only. Of course, that person doesn’t have to be assigned to all the subtasks. And that person can change. Even for the biggest projects, there’s one person responsible for marking the project as done. It is not a special position, often it’s the person working on the last opened subtask.
That’s it. There’s nothing more in a task than that.
Of course, each task may require information. That’s why I consider than, even if it’s not part of the definition of a task, a good task manager should also centralise all the information related to a given task: personal notes, mails, links and related files. That’s why a todo-manager often acts as a notepad.
The fact that a task can have subtasks leads to dependencies, which is something natural and intuitive : a task cannot be started if its subtasks are not finished. Also, if a parent task has a deadline, any subtask shares the same or a stricter deadline.
A tasks manager
Obviously, you need to manage those tasks. There’s three natural modes of every task manager, even with good old post-its or filofax: input, organisation and work.
1. Input is entering tasks in the system. It should be as frictionless as possible. You should be able to immediately create a new task while walking in the street, while in a meeting or while reading an email asking you something.
2. Organisation is everything you do with your tasks. You should be presented with all the tasks that you need to accomplish (maybe with some filters). You can modify the dependencies between task (marking one as a subtask of another), set the start date, the due date, the assignee or add informations to a task. This mode is also important because it allows you to see the big picture, which is sometimes important.
3. Work is what you can achieve right now. This means that you should never see non workable tasks. Like the one which have unfinished subtasks or a later start date. This is often seen when people look at the huge task list somewhere and write down a short list of tasks to achieve today. They are intuitively making a work list from the organisation mode. We could even say that they set the start date of left out tasks to tomorrow.
Changing the world
Currently, I would need to identify it as a task, to write a mail asking you to do that. You would have to read the mail, to understand that I ask you a task and then to mark it as a task. Obviously, assigning a task is way faster. Of course, you would have to accept it.

If the task manager I described above existed, you could enter absolutely everything in it. Every single thing you have to do or would like to can be entered. Each morning, you would simply have to go in work mode and either do it or discard it to tomorrow.
The system could help you by being context aware: not displaying work related tasks during week-ends, displaying tasks based on your current location.
This is exactly what GTG is doing, even allowing you to add tags to tasks in order to filter them easily. But GTG is currently a lone wolf tool, working only on your own computer.
The next step is then to make something like GTG online. Every online todo manager i’ve tried so far sucks. Most don’t have the concept of subtasks or only up to one level, they happily mix organisation and work mode, they ignore start dates. Those are good tools for groceries list. Even for managing a small project. But not to manage your life[1].
Online task management brings a whole new interaction: you would be able to assign a task to any of your contacts. Buy drinks for the party? Assigned to you. Everything is a task. When you will enter your car at the end of the day, your GPS will automatically tell you that i’ve assigned you “buying drinks” and even suggest you the nearest shop.

But, wait, there’s more: what if you could mark some tasks are being public. Or at least shared with one of your circles. Anybody could see the task. If there’s a duplicate, it means that you will join forces with a complete stranger, if the duplicate is not already solved. Instead of having to work separately on the same issue, only one of you will have to do. No question asked about the goal or the parent tasks.
It would work even without duplicates. Someone could decide to help you because he likes you, because the task is easy for him. Or because you offer a bounty for a given task. A wonderful bazaar!
At that point, companies will put some non-critical tasks on such a system with interesting bounties. You could also immediately see the reputation of someone by seeing all the public tasks he completed before.
At first, only a handful of bounty hunters will make a living out of it. But, gradually, it might become more and more common. Instead of full time jobs, people will start working on their own project, looking for bounties when they need money.
Then…
But I don’t want to dream the rest of this story. As a GTG co-creator, I want to make it happen[2]. Is there an existing tool already doing what I want? If not, can we build our own but without being yet another online todo manager? And integrate it with GMail? Where should I start to not duplicate existing effort?
EDIT : Before posting your solution in the comments, be sure to read my typical reaction.
Picture by Jacob Bœtter
Notes
[1] At this point, I’m really curious to know if there’s an online solution that allows everything I’ve said hereabove.
[2] Even if, as a project manager, it would mean loosing my job.

The Changing the world, one task at a time by Lionel Dricot, unless otherwise expressly stated, is licensed under a Creative Commons Attribution 2.0 Belgium License.
If I’m not wrong some of this already exists. GTG on one hand and service auction website where one can request for any task and people can offer there services (with a funny achievement mechanism for reliable worker).
Looking for the missing link?
This is a great post! Last time I used GTG it wasn’t quite there yet. It would be awesome to have:
GNOME Client
Web Client
Android Client
All three syncronized. Is there a standard format for tasks in GTG? Maybe I could try to make a simple Android application for it
Great to see that your actual plan for GTG is the one I hoped it would be
I have tried to begin working with GTG, but it has so far been a bit difficult to stick with it, mostly because you have to be in front of it. With a mobile and web client, it would become immensely more useful (and it would crush most other to-do list apps).
Just imagine : got a mail ? Share to GTG to create a task out of it. Maybe you could also attach pictures to tasks in the future. Then you could jot something down, take a picture, then share to GTG and voila, another task. As you said, task introduction should be as frictionless as possible. After that, it is much more easy to stick with GTG.
But well, it is already an awesome app, so thank you for that
Discovered GTD with GTG but today I do not use it anymore, because the lack of “mobility”. Need to use a paper, then copy text to GTG, not very handy.
Mobile AND Web client is the best way to do it I think.
Today I use:
- Google taskalone (http://code.google.com/p/taskalone/) on my desktop at home.
- The excellent, clean and simple Gtasks for android (https://play.google.com/store/apps/…) in mobilty.
Always sync but data are on google servers… and google dependant.
> Is there an existing tool already doing what I want?
Ironically, yes… it is Microsoft SharePoint.
Take a look http://sharepoint.microsoft.com/blo…
> If not, can we build our own but without being yet another online todo manager?
Plain text + Dropbox/U1/SkyDrive? Seems the best way to me. In fact, there are such tools: TaskWarrior, Todo.txt, TaskPaper, PlainTasks. However each of has limitations.
> That’s it. There’s nothing more in a task than that.
I dunno, probably it’s my personal… problem.
I never saw such functionality, but bug trackers.
I talking about dependencies; no, it’s not about plain subtasks, rather about unobviuos dependencies between subtasks of different tasks *rolleyes*
Sounds odd, I know, but I found it necessery for my tasks kinda often.
Silly exaple: I’m doing repair (task) and need to do a lot (subtasks); I need go to shop (another task) and buy some stuff (another subtasks) which may be related to repair and may not be.
Probably the most obvious suggestion would be to use tags, but it doesn’t work… just doesn’t, because after all you gonna get either too many tags or too many tasks with the same tag which both of become unmaintainable mess.
What about Astrid, or org-mode (plus MobileOrg)? They seem to compare favourably to your ideal!
tsmithe > come on. Astrid doesn’t have the concept of subtask nor the concept of start date. Astrid is basically a grocery list, nothing more.
Hey, nice idea !
Your should look at :
http://fr.producteev.com
It is doing nearly all what you want… (but it is not free software) you can add task from Jabber client, email, assign task, publish task, follow task, add notes. There is an intuitive syntax to add task to a specific tag and add deadline. You can also use specific filter to sort “work stuffs” from the rest of your own life.
A missing point is the fuzzy deadlines you describe which would be usefull, and a better way to deal with subtasks.
By the way : you will need a way to repeat some specific tasks at a given frequency (send the monthly report, …)
fbianco > producteev only allows very simple subtask on only one level. That or no subtask at all is the same. Also, there’s no start date and no work mode.
Those solutions are *all* the same : simple grocery list which don’t realize the difference between organizing your tasks and working on them.
Note that I would like to contribute to those solutions if I could.
Business users also need the ability to tag and sort tasks by client and matter numbers and/or names, and to be able to print to do lists and/or status updates for their supervisors.
asana.com
kickoffapp.com/
These are interesting ideas, but GNOME also needs a simple grocery list with start dates and tags and fast resheduling – Something that my mother can understand.
GTG is nearly perfect in its present state. So perhaps the new project could be a fresh start rather than a rewrite of GTG. (said the ungrateful noncontributing FOSS user)
Davanac :
asana doesn’t have the concept of start date/workview (but it’s the only one with infinite subtasking. It’s clearly the better).
kickoff seems only to be a video/mac software. Cannot test it
You are looking for something you already have. You are looking for a good on-line task manager to contribute to it.
Why don’t you look at what you already have : a good desktop application that is working. And why don’t you add the “synchronisation” level on top of it? Starting from GTG you may create a nice app working on different devices … the code will be mostly similar (I suppose)
On the other hand I hear about Todoist. What do you think about this one? I’m not using it, so I don’t know its features.
On my side, I’m still working with my notepad and my pen in my pocket ! This is the best solution I found until now… but it’s hard to reorganize tasks when you wrote them down. You often have to rewrite your todo-list and to pick some of the tasks on a post-it for the dayly tasks.