Open todo list standard?

twitter logo github logo ・1 min read

Ah, the todo list. This seemingly simple app seems impossible to get right.

With that in mind, has there ever been discussion around a todo list standard? Like, everyone manages their own todo list clients, but items can be shared/synced, etc. via a shared standard?

I'm not entering this conversation with a lot of intentionality, but I have been tasked at figuring out, once and for all, how we are going to approach todo lists amongst the DEV team, so I've been thinking about todo lists from many different angles.

twitter logo DISCUSS (23)
markdown guide

The problem is that different people have wildly different expectations and use-cases from todo lists. For example:

  • Simple list of stuff (like grocery lists)
  • Diary like entry
  • Simple list with due dates
  • List with multiple statuses (not just To Do and Done)
  • Ability to assign priority labels e.g Imp/Urgent/Later
  • Full Project management capabilities
  • Individual vs collaborative lists

And these may just be the tip of the iceberg!

There will also be a lot of debate about usability features e.g notifications, reminders, calendar integration and whether the standard should cover these as well.

I think every developer is destined to write their own To-Do list app :P


It's an interesting problem. I personally use my todo list as a kind of burndown thing - I write down everything I can think of that I need to do in the near future or until a milestone, and start marking complete, archiving, etc, and use the overall proportions of done/not done as an indicator of my progress.

However, a developer I often watch streaming on Twitch uses his moreso like a notetaking thing - he basically will write something down that he may need to remember or get around to later, and then write down on that item all the information that he thinks is relevant for it. When it's done, he marks it complete and keeps that item around as a record of his entire process of figuring out what he needs to do, doing it, and dealing with any regressions or other repercussions.


May it be possible to define some primitives which individual clients can build on top of? Basically I expose some read and write info to any shared context, but in my own context, I can have lots of additional features.

Sort of like git and it’s clients/implementations?


Well, we kinda do have a standard with iCalendar, out of the box it supports events, todos and even journal entries. The issue is that we've all flocked to centralised calendars, such as Google, Outlook or Apple and everyone has decided to implement only what they want, which usually just means events.



You might want to look at the Task Paper:


The to do list text file format it uses is open source



Also there's a common convention to adding tasks to markdown that is supported by github. You could extend on this to add other conventions like #hashtags


Also the todo list app I use personally, remember the milk, has this smart add feature where there are text convention for setting the priority or due date of a task.


So you could come up with some task format like.

- [x] Get toilet paper !1 ^2018-11-18 #groceries

A completed priority one task, due on the 18th, and in the groceries category.


Interesting you mention this.
I'm currently working on a task management system that integrates with git and is yaml based, so that the data can be read and edited with any editor. - github.com/bessbd/git-task
The documentation and functionality is very much in progress, but I should be able to release a first version soon.
The motivation for this was seeing a lot of "TODO" comments in source code and a lot of issues syncing external issue trackers with SCM.

Btw, if someone wants to get involved, please let me know.


You're thinking along the lines of Solid.

Apps become views, and you have the option of using any app you want with your data, which is stored on your pod.

The data is represented with common standards, so as to be portable. And the data is linked, so your todolist client could just as easily be written to work with other apps. (And since apps are just views and not data silos, you could fork your todo client, and implement the function you need)


This sounds like it's on the right track, but if I understand correctly, we'd still need a standard type of model for the data.

With that RDF example:

T1 is a task
T1 is labelled "Write an article about Solid"
T1 is due October 5rd 2018
T1 is assigned to @itsarnavb
T1 is incomplete

We'd still need to agree on those fields (like, labels, due, assigned, incomplete, etc.) or have some ability to re-interpret existing data.

So it might still be useful to come up with a shared format. Solid would certainly help in terms of making the data portable between these apps, though.


I found GitHub’s issue tracker + projects to be the perfect solution. For non-technical things I prefer either a combination of the Notes app and Todo from iOS or Trello to annotate my ideas.

Either way there’s not a perfect solution since everybody just needs different things.


In my opinion Org mode seems to have really decent standard in-terms of managing to-do lists and anything for that matter. It doesn't necessarily impose how you can share the lists. But I think some fundamental concepts can be adopted to draft a standard. It's widely adopted by the emacs community. But, I think there is something worth looking at.


SimpleNote is a pretty nice list app. There are browser, Android, and iOS versions and it's just a simple text / markdown renderer. Notes have tags and can be shared, but that's it. That's all the functionality it has. Also it's open source.


CalDev is probably the closest to a standard i am aware of. And that is more like hacking a calendar to be a todo list.

Beyond that, this is something I really wish to have an open standard all can partially agree on to comply. But seeing as how startups these days tend to have winner takes all mindset, hard to see it happening.

I miss the days where email chat apps were inter-operable. Even if it was a closed standard (aka yahoo / msn / aim / etc) 10+ years ago. I feel like we have regressed in that area, as we switched over to mobile number based chat.

in other words: you can break the deadlock, do it!


When it comes to the broader form of issue/task tracking, I still advocate Quantified Task Management. It is simple to implement, simple to use, and deeply useful for both planning and retrospective.


Outlook has the ability to send and keep track of Tasks, which means there's an API for it in EWS (Exchange Web Services), for what it's worth.


Well it seems like a wonderful idea, if i'm getting this correctly, there would be a standard where you could share basic informations between tools and then every tool would handle the rest like they'd like ? anyway, a standard would definitely benefit everybody :)


Why not use a piece of software that was made for these kinds of todo lists? Jira is a great tool for managing todo's within a team.


If you're looking for a fully featured task manager, have a look at taskwarrior!


Not entirely certain if I understand the problem in the last paragraph. Why not use an issue tracker?

Classic DEV Post from Nov 1 '19

Do developers have higher job satisfaction than non-developers?

Ben Halpern profile image
A Canadian software developer who thinks he’s funny. He/Him.