Every online to do list I've ever used sucks donkey balls is overrated, including 37Signals' TadaList™. Each and every one claims to be "the simplest," "the best way to manage your tasks," "shareable" and then immediately fails by being overtly complex.
Why am I picking on 37Signals? Because they flaunt their simplicity and Jason Fried wants to pick a fight. And I like them enough to pick on them. Don't fret, though, I'm going to pick on all of them. But first I'm going to show you how to build a better online to do list.
Dear Reader, I decided to fast-track this post and publish it even though CoolToDoList.com is still in beta. It's not as simple as it can be and some features are broken, so I appreciate all your feedback. OK, keep reading.
Usable design is all about removing obstacles and making your product obvious to the dumbest possible user you can imagine. Think Jerry Springer contestants who are drunk. And high. That's Bob from Accounting right there.
Bob wants to do one thing: make a grocery shopping list. Anything that stands in his way is an obstacle that makes your product harder to use. Guess what? The first obstacle is making him sign up just to type "buy milk".
5 Steps To A Better, Simpler To Do List:
1. Don't Make Me Sign Up
Do users need to be signed in to make lists? No. The only reason users ever need to sign in, is to persist lists between sessions so they can come back to them later. That's useful, but not right away. You can take care of that later, after Bob has made a real list.
Should you have to file a tax return just to make a list? No. That's exactly what "signing up" is: filling in forms instead of making lists, which is why CoolToDoList.com (note: this feature is not deployed yet) stores your tasks in a cookie and persists it when you eventually sign in. Most people use one desktop most of the time, so a cookie is fine for now. Just remind your users to sign-in once they've made a list, but don't force them to.
2. Don't Make Me Click
Adding tasks to a list should be easier than breathing. And yet all the online lists get it wrong. Even 37Signals make the mistake of having an "Add task" button. What did ya' think I was gonna do, deep-fry it? Just let me type. Clicking is an obstacle that stands between Bob and his grocery list, which is why cool lists let you start typing immediately. Just hit return to save.
3. Don't Make Me Wait
Lag is one of the greatest obstacles to Web 2.0 development caused by busy servers and physical separation. Usable design should provide instant tactile feedback. You can't eliminate lag completely, but since you know how the server should respond, your front-end can provide instant feedback.
When Bob submits a new task and the list hangs for half a second or more while your busy server responds, Bob starts thinking. And when Bob from Accounting's drug-meddled mind starts churning, it thinks about shotguns and fluffy white rabbits. When "buy coffee" turns into "I wonder if bunnies squeal", you have an obstacle to overcome. Your yellow fade effect is too little, too late.
So add the task to Bob's list immediately along with with a yellow fade effect and let AJAX worry about persisting it in the background. Cool lists let you add new tasks instantly and takes care of the fancy database stuff in the background.
4. Checking Items Should Be Easy
After adding new tasks, what's the most common list action? That's right: marking items as done. Inevitably, every online list has a tiny little checkbox you need to snipe with your mouse just to mark it as done. By using the <label> tag, Bob can click on any part of a task to mark it as checked. It's such a no-brainer, Bob suggested it to a bedraggled bunny.
5. Simplify Sorting
TadaList does a pretty good job of letting you re-order tasks, if you're a rocket scientist. Let me break it down for you:
- Click on a tiny red "Re-order list" link.
- Drag tiny "drag" icons around to move tasks.
- Click on a tiny red "I'm done reordering" link to make your list static again.
Wait up, Bob actually wants "Buy Milk" to be on top. More clicking ensues. Two. Clicks. Are you kidding me? Obstacles everywhere! Why is this so hard?
The reason most online lists want you to get your sorting over and done with is because it is technically challenging to persist the order of moved list items without doing a million expensive database writes. But that's not Bob's problem, which is why CoolToDoList.com lets you re-order items on-the-fly by dragging tasks around.
In Case You Forget
I made a list of these five points so you can refer to them later. Feel free to add more, drag them around or delete it without any obstacles.
Comparing Online To Do Lists
- Remember The Milk. Don't even get me started. It has all the features and none of the simplicity.
- GMail Tasks. It's actually pretty good, but a long hierarchical list of indented tasks is not simple enough for Bob from Accounting.
- Bla Bla List. The whole site is full of bla bla bla. I can't even figure out how to make a list.