So, I’ve been really slacking with the blogging lately, I haven’t even been posting my learnings which is a 10 minute process at most. Hopefully I can get back in the habit, no promises though. Okay, so what have I been up to the last little while? Well, I’ve been working on a little side project app that I recently put up and wanted to talk about a little bit.
What is it?
Well from the post title you can probably guess it is called Todoly and can by found at todoly.net. Todoly is a really simple todo list application with very few features and is happy that way. I can hear you now, “Why did you bother writing another todo list app, have you not heard of X, Y or Z?”. Because I wanted to dammit, that’s why.
More than just wanting to write something I did have a few specific goals that writing Todoly has helped me to achieve.
- Build something using Rails 3.
- Try out my Rails App Template and expand on what is included in it.
- Actually finish something and get it deployed publicly.
This last point was really important to me and was the main reason for choosing a simple todo list application. I’ve worked on a number of side projects over the years but never actually released a working application because I got bored with the project, had another idea or life distract me or whatnot. I’ve released lots of bits and pieces to my github account but it feels very different being able to finish a project and put it out there.
What’s under the hood?
Todoly is a pretty straight forward Rails 3 application running locally under MySQL and under PostgreSQL on Heroku in production. I used a number of gems and open source projects include, but not limited to:
- Devise for authentication.
- Simple Form to simplify HTML form development.
- CanCan for authorization.
- HTML 5 boilerplate (actually my own fork that I made for Rails apps)
Did I mention that the source for the whole project is up on GitHub so you can check it out yourself if you want. This has already led to some cool stuff, like a friend of mine taking the idea for the app and implementing the same features in Node.js. You can take a look at that on GitHub as well, right here.
Why is Todoly better than X, Y or Z?
In all honesty it probably isn’t any better than the other, countless, todo list applications out there. I have been using it regularly for a little while though and like it for a number of reasons.
The main reason I like it is the interface is really simple. It’s all about adding tasks and completing them, so that’s what the interface helps you to do. I added a cool little feature that lets you focus on a groups of tasks by selecting the tag you’re interested in. I find this to be all I really need to keep track of what I need to do.
Since I have the code and can push a new release whenever I want if there is ever something I need from the application I can just add it. Since the project is open source you can fork it and do the same. I’ll gladly pull in new features and bug fixes and release them to the main Todoly.net website as well.
Where to now?
I have a number of features I would like to add to the application such as task reordering, making a better homepage and making some tweaks to clean up the UI a little more. I probably wont get to those until it becomes a problem with my everyday use.
Until then I’m going to start working on a native iPhone application that talks to Todoly. I fixed up the styling the other day so that it works pretty well in Safari on the iPhone but going with the same premise for the Todoly web application, I want to actually finish and release an iPhone app. I’ve already started and the source will also go up on GitHub once I make a little more progress. I’m also going to try and make it so you can point the iPhone application to a different url for it’s data, so if you want to run your own Todoly somewhere else or run glongmans version it should “Just Work”™ with those backends.
I’m also curious about making a Rails app an Oauth2 provider so I might build this into Todoly to start playing around with that. There doesn’t seem to be a whole lot of up to date information on doing this so it would be nice to get a good example or even extract a gem out of the work.
Anyways, that’s all I have to say about Todoly at the moment. Please check it out and let me know what you think, either in the comments here or by sending me an email at email@example.com.