
We launched TaskFive a few weeks ago after five days of intense development. It was a simple app, and we focussed on getting the simple things absolutely right. Others have written that we did a good job. But in building TaskFive, we wanted to flex our creative development muscles a bit… think of it as exhibition web app development. In the spirit of the app, I want to highlight five things that we managed to pack into the app wthin the week that we didn’t publicise.
Right click context menus

When Eoghan and Des handed me the wireframes for TaskFive, I noticed a small section called “Right click menu”. I thought they were joking. In the end, it turned out to be a very useful addition to the app. Within the app, drag and drop is used to move tasks about in a completely unobtrustive interface. Rather than cluttering up the interface with complex date pickers, the context menu allows moving tasks to “Next week”, “Next month” or “Specific date”.
Natural language dates

If you choose “Specific date” in the context menu, a text box appears below your task with the current date highlighted to show you how the date should be entered. If you type “tomorrow” into this box, it’ll quickly move to the next day if there is a slot available. Likewise, “next Friday” will send the task to the following Friday. You can even type “next week” or “next month” in the same way as the convenience options in the context menu provide.
SMS in and out

Integrating SMS in web applications is always a lot of fun. It feels good when a website is able to send you things to your mobile phone for that “out of browser” experience. TaskFive goes another step further. If you send a message to +353 87 1212850, that message will instantly be added to the next available to-do slot in your TaskFive.
Live Ajax updates

In the dying hours of the week of development, there was an item on our whiteboard that had got ignored day after day, but I was eager to include in the app: live ajax updates. In the context of a single week, the main TaskFive shared view doesn’t need to be reloaded to see changes to other user’s to-do lists. So if Eoghan adds a few tasks to Thursday, his changes will show up almost instantly in my view. My view will also update if he moves or deletes a task. It’s like real-time chat for sharing to-dos. Check out Des’ screencast to see this in action.
REST API

One thing the techy in me is really excited about is the TaskFive REST API. We included this so that James could build an iPhone web app separate from our app development, but anyone with an account can access it. It’s super simple, and the magic all comes from this url:
http://taskfive.com/tasks.json
Using this URL with basic authentication, you can GET, POST and PUT (that’s a POST with {’xxx’:'xxx’,…‘method’:'put’}) to view, add and update tasks.
Oh, and one more thing…
Fluid icon
![]()
If you use the popular site specific browser, Fluid, Eoghan produced a gorgeous TaskFive icon so that TaskFive can sit proud amongst the other apps in your dock.
How we did it
Producing software quickly is about making fast, pragmatic decisions and leveraging the good work of others. We joined a host of open source software and services together to produce the app. For the right click menus, I used Chris Domigan’s light-weight ContextMenu plugin for jQuery. Natural language date selection comes from Tom Preston Werner’s awesome Chronic library for Ruby. James runs SmartNote, so we used his internal API for SMS. I used out of the box jQuery Ajax library with jQuery timers for the polling that enables the live updates. And for the REST API, anyone who develops Ruby on Rails will tell you how easy it is to use the ‘respond_to‘ method to provide views for XML, JSON, iPhone or anything else you can imagine.
6 Comments
Amazing! You’ve done things in 5 days that i’ve not yet managed to do on MyChores in about two and a half years! I am especially impressed by the natural language dates and text message service.
I might dispute your description of the icon as gorgeous, though. There are things more gorgeous than a ‘T’ and an ‘F’ sat inside a white kinder egg!
Anyway, good work you guys!!
Posted by aimee.mychores.co.uk at 8:14 am on 26 November, 2008.
Amazing indeed! I have to agree with Aimee, though. You couldn’t describe that icon as ‘gorgeous’.
Edmund.
Posted by Edmund Heaphy at 3:28 pm on 26 November, 2008.
Edmund, Aimee: Ha! Yeah, I’d tend to agree with you there.
Posted by Eoghan McCabe at 6:07 pm on 26 November, 2008.
Congrats on the app. Looks nice.
One thing however is the wording on the sign-up form. It was quite confusing deciding on whether to choose a Company Account or a Mentor Account.
I invariably went for a company account as I couldn’t figure out how the usage differed between Company and Mentor. What about a third type of account for individual users (or is this the Mentor account?).
Posted by Toby at 10:57 am on 28 November, 2008.
Any joy fixing the add new user bug. “company name required” ?
Posted by Derek Organ at 12:06 pm on 12 December, 2008.
That’s fixed now, Derek.
Posted by Paul Campbell at 12:44 pm on 12 December, 2008.