My New Favorite ToDo App

June 2, 2011 \ Categories: Tips & Tricks

I’m not the most organized person in the world. I also frequently lack motivation to “get things done”. However, I have been looking for a good system to keep todos and notes together. One that is simple and works for me. Turns out, the solution I like the most is a hybrid creation of a web service and self-hosted script that I mashed together.

Last year I finally replaced Notepad (hurray for programs that haven’t changed in over a decade) with Simplenote, an “in-the-cloud” Notepad-like web service. Simplenote works great for quickly creating new notes and keeping a history of previous notes. Plus I can use it on my desktop, laptop, iPad (2!), iPod touch, and anywhere else from a web browser. And I always have the latest version of my notes handy. For a while I was trying to use it as a todo list manager as well (I’m a fan of plain-text, minimal things), but it just didn’t work out very well.

Then I found myTinyTodo, a self-hosted todo list manager. It’s got modern javascript effects that make it feel more like an app and less like a webpage. Task creation is super simple and it’s got just enough features without feeling like managing the list itself will be a lot of work. The best part is that it is self-hosted, meaning I can change the source code if I want to add/change something.

Now we come to my favorite part of this little project – marrying the two apps into a notes/todo manager that works for me. I simply created a webpage that iframes (don’t hate) the Simplenote website and my self-hosted myTinyTodo website into one page. Then I wrote some quick jQuery that creates a tabbed interface so I can switch between notes, todos, and both side-by-side. Check the screenshots below to see how it looks.








This setup works great for me, and I plan on cleaning up the code a little bit and putting it in the future “projects” section of this site.

No Comments on My New Favorite ToDo App

Leave a Reply

Your email address will not be published. Required fields are marked *