Markup rules

texteditterminalI like to use plain text when I can. Plain text is just text without any formatting, which you edit with an app called a text editor, like Notepad on Windows or TextWrangler on a Mac. It’s pretty much a universal format – it can be opened and edited on pretty much any system or hardware you can think of.

One of the things that makes a simple plain text file useful is the ability to ‘mark up’ text within the document.

Markup languages have been around a long time. Perhaps the most famous one is HTML, one of the foundations of the web. An HTML file in reality is just plain text, with the use of HTML tags to mark up how bits of the document should behave – such as formatting and linking to other pages, for example.

Another example and one I use a lot is Markdown, a simple markup language for use in creating documents of all kinds. By simply using characters such as the hash sign (#), asterisks (*) and so on, a document can be made to include italic and bold text, headings at various sizes and bulleted lists, for example.

The key thing is that the document format can be used on pretty much any device and in any application. It’s just plain text, after all. The use of the markup language however enables that document to do more interesting things.

What’s more, you don’t have to be a developer or anything to start your own markup based project. You just need to define a few rules, and get going.

todotxt-apps_lrgI’ve just started playing with another great example of this. It’s called todo.txt and is a way of managing a todo list in a plain text file.

The rules are straightforward. Each task exists on a single line of text. Markup in that line can add information about the task, so for instance a word following a + sign is the name of the project that task belongs to (allowing you to group tasks by project, for example). You can also add a context to a task by following the @ sign with a word. Priorities can be added to tasks by using (A), (B) and so on to the beginning of the line.

Here’s an example of what a todo list looks like:

(A) Call Mom @Phone +Family
(A) Schedule annual checkup +Health
(B) Outline chapter 5 +Novel @Computer
(C) Add cover sheets @Office +TPSReports
Plan backyard herb garden @Home
Pick up milk @GroceryStore
Research self-publishing services +Novel @Computer
x Download Todo.txt mobile app @Phone

You could just manage your list in the plain text file using an editor – and many people do. However, because of the open nature of the format, other options are possible.

First, saving your todo list text file in a service like Dropbox makes it available across the web, so you can pick it up and edit it across many devices, which is helpful.

Even better, there are apps for mobile devices to help you manage your todo list. These present your todo list as a more traditional task management app would – but all the time they are just updating the text file using the markup rules.

This means all your tasks aren’t locked up in some database you’ll never get access to. You can take your text file todo list away any time you like and manage it in a different way.

As well as being a neat hack, todo.txt makes me wonder what other applications could be based on the simplicity of a plain text file and a few markup rules.

Any suggestions?