Skip to content
waldyrious edited this page Nov 20, 2014 · 8 revisions

Notes

Text-based storage?

It has several advantages:

  • it simplifies read/write operations
  • it makes the database greatly portable and human-readable, even
  • any standard diff tool can be used to compare versions

however, it might make the tool perform slowly, especially as the file grows (which inevitably will happen, since tasks marked as done are hidden, not deleted, to provide an archive)

If/when such problems occur, we should look into alternatives:

  • store two files, "todo" and "done"?
  • use a proper database (e.g. sqlite)?
  • still use a single text file, but version it using git?

Sync services to support?

An investigation into the most popular ones is needed (google docs, skydrive, etc...)

Human-readable text format?

Instead of JSON for storage, we could implement a more human-readable/editable text format.

Perhaps using a structure like:

* [ ] Task 1
* [ ] Task 2
      \tags:lorem, ipsum, dolor
** [x] Sub-task 2.1
       \created:YYYY-MM-DD-hh-mm-ss
       \priority:3

...or something similar. Is there an existing markup that can do this, without having to reinvent the wheel? Markdown, YAML, OGDL... existing text-based formats (todo.txt, org-mode, Checkvist's text export)?

This could make the todo list editable in text-based interfaces such as consoles (as todo.txt does) but it could also reduce the format's parseability. A standard format (and one that has widespread implementations) is a must if this approach is considered.

Fallback to native browser code?

  • this would implement the tree mechanism without javascript
  • See HTML5's <details> tag (is there a shim for this?)

Interface to another service?