Why Toodledo’s Downtime Isn’t Bothering Me
Today, Toodledo.com, my to-do list service, has become Toodledon’t .com.
I got a hint of trouble when my normal overnight email of my task “hotlist” wasn’t waiting in my Inbox this morning, and a quick visit to Toodledo’s site confirmed that there was indeed a problem.
Instead of the normal, pleasant Toodledo interface, there was a single paragraph of stark text (and I mean text; it wasn’t even HTML!):
So, here's the story. A big storm went through the city where our datacenter is located. The datacenter decided to proactively switch to generators. During the switch, something got screwed up, and the power went off for a few minutes. As (bad) luck would have it, this caused our database to get corrupted. We are currently working to bring it back online and restored from the live backup. The crack team at Rackspace is on the job. Thanks Rackspace! Unfortunately, the database is so large, that it will take some time to transfer and verify all the data. Hopefully not more than a few hours. We know that this is very bad, and we apologize for any inconvenience that this will cause. Please check the forums when we are back online for a full report.
Ouch. So, my 600+ item to-do list was unavailable, and who knew when it would be back? Slightly annoying, but it didn’t trouble me greatly, because I chose Toodledo with this kind of thing in mind, and took responsibility for my data.
When I moved to Toodledo at the beginning of the year, I migrated from a previous to-do list service that had lost my confidence. I won’t mention who they were, but they were clearly very small — I often got the feeling that I was their only customer, often the first to spot things that were broken. They had occasional episodes of downtime, too.
Also, because I moved at the beginning of the year, the sticky fate of ma.gnolia.com, the social bookmarking website, was in my head.
With ma.gnolia, you could store all your bookmarks in “the cloud”. Unfortunately, in ma.gnolia’s case, one day their fluffy cloud got stuck through a wringer of database corruption and faulty backup strategies, and was never seen again. It was all gone; every bookmark in ma.gnolia’s database was utterly lost (see this episode of Citizen Garden podcast for more details.)
So, when I was looking to move my to-do list, I didn’t just look at Toodledo’s shiny features, like its graphing or its AJAX‑y interface or its web application that was actually simple enough to work even on my useless Nokia N73. No, I looked for the geekier features.
First was the import and export. Toodledo supports several different import and export methods. I could dump text files into it, or a variety of different flavours of XML — all sorts. And I could get my data back out easily.
Also, Toodledo has an open API for doing stuff with. So if I wanted to roll my own solution to some problem or other, I’d be covered.
Now, I never got around to really playing with the API. But the first thing I did after I’d shoved all my data into Toodledo was to write a very small shell script (one single wget line, for the geeky) that would grab all of my data in a nice, portable, human- and machine-readable XML format from Toodledo, and shove it in a safe place.
And then I set it up to run every day from one of my machines.
And that’s why I didn’t panic when I saw Toodledo was down, and why — although I was relieved to read in their later updates that they had successfully restored their database and would be coming back up — it wouldn’t have been a total disaster for me if they’d disappeared completely with no explanation at all.
Because here’s the thing: backups are your responsibility too. If you lose your data, it’s your own damn fault. If it’s so important that it’ll sting you to lose it, then you should make very, very sure that you don’t rely on any one single other person or organisation to keep it safe.
Back it up, copy it, sync it, manage it how you will, from online backups like mozy to an Excel spreadsheet that you email to your Dad. But back it up.
Don’t get ma.gnoliad.
From the further updates I can see on their front page, I’m sure Toodledo will be back soon. And I’m going to carry on using them. Because everyone makes mistakes. Everyone loses data, or has unpredictable things happen. And if it hadn’t been a storm combined with a cockup at their datacentre, it probably would have been something else.
Toodledo’s actions , before and during this event, have been exemplary:
- They provided several ways to sync and backup your data yourself, in useful formats.
- When unexpected disaster struck, they kept people informed
- Not only did they keep people informed, they did it in a clearly honest, apologetic and human tone.
- They had a working backup strategy
And, of course, the fact that their basic service is free helps a lot! Now, I upgraded to a paid account last week, but I had nearly half a year of free service from them up to that point, so I’m not going to grumble about a day’s downtime.
Now that I pay, I’d grumble if Toodledo died frequently, or for more trivial reasons, but if I’d rolled my own solution from scratch it would have cost me a lot of time and I’m sure it would still be down for a day every now and again. My Mac was in the shop for three days the last time I needed to swap my hard drive, and it wasn’t even broken!
Anyway. The moral of this story, kids, is that if your data gets lost in the cloud, it’s your responsibility to have a safe copy. Sync things, copy things, put a reminder in your calendar to grab a file down every week. Whatever. And when you’re choosing a cloud computing provider, choose one who provides easy ways of doing your own backup, however you do it. Like Toodledo.
EDIT 11 June 2009 22:37GMT: And Toodledo is back, with a full explanation of the terrifying details.
4 Comments
jamfac
June 11, 2009Hi, can you please let me have a copy of your toodledo backup script — thanks!
kavey
June 11, 2009You really ought to write professionally. Additionally to those book projects, I mean.
gothick
June 11, 2009@jamfac It’s a completely hacky bodge, but here it is:
/opt/local/bin/wget --directory-prefix=/path/to/save/ToodledoBackups --no-check-certificate --save-cookies /
tmp/toodledo_cookies.txt --post-data 'email=myemailaddress&pass=mypassword&remember=1' http://www.toodledo.com
/signin.php http://www.toodledo.com/xml.php
Obviously replace “myemailaddress”, “mypassword” and “/path/to/save/ToodledoBackups” with appropriate things for you and your system.
This just runs wget, first on the Toodledo login page, posting my username and password and (effectively) checking the “remember me” box so a cookie gets saved. Then it visits the “xml.php” page, which simply dumps all the logged-in user’s tasks in XML format. wget will automatically save with new filenames if the file it’s getting already exists, so this will create a new backup file in the specified directory every time it’s run, rather than overwriting the same one each time.
If you prefer a different format, “csv.php” will download a CSV file, and “txt.php” will grab plain text. There are links to all these pages from the Import/Export/Sync pages at Toodledo.
I’ve got this in a script which removes the old cookie file before it runs the wget; can’t remember whether that’s actually needed or not.
There will be a nicer, cleaner and safer way of doing this — using the API with a registered API key is probably the way to go. But as this never broke, I never bothered fixing it :)
Plus there’s an application or two which will sync with Toodledo, I believe (maybe their iPhone app? Not sure) which would be an even easier way of making sure you didn’t lose everything if Toodledo ever went away.
Hugh O'Donnell
June 12, 2009Great comments on the Toodledo situation.
I’m not much of a geek, although I taught computer applications in the Apple IIe days and early Mac days. Your position on responsibility is pure wisdom.
Best regards,
Hugh