I was just reading the Ajaxian conference schedule that is being held in Boston (Sept 29th, 2008) and was pleasantly surprised to see the session Building a Highly Scalable Ajax Application: Lessons from Remember The Milk (RTM) by Omar Kilani.

For those not familiar with Remember the Milk, it is a to-do task management app. However it's not just another todo app - it is an extremely well written app that truly encapsulates the essence of Web 2.0 and has been one of my favorite Ajax apps from the time they first launched in 2005. They were well ahead of the Web 2.0 game and had usability concepts and technical stuff that became mainstream "patterns" only much later and even today they introduce ideas and incorporate technologies in a way that is very intuitive (think gmail).

So even if you aren't interested in a to-do management app, I'd recommend that you register and use their app for a few days. I'm confident you that they'll be a few things that will make you go - "wow, this is really cool" and you can think of ways that your application can benefit from it.

Here are some of the things that are really neat about RTM. I'm sure many of you are familiar with some of the features / patterns listed here, but RTM really makes a good use of them in one application.

  • Registration Screen : I had previously blogged about the importance of an intuitive and easy-to-use registration screen and RTM has one of the best ones I've come across.
  • Email triggered actions. On registration, you are sent a private RTM specific email eg : sanjiv.jivan+455014@rmilk.com. So sending an email to this rmilk email address will automatically be added to your tasks. This is a quick and easy way to add a TODO without having to log into RTM.
  • Tags. Noting new here but it makes a good use of tags.
  • Undo pattern. Use of Undo instead of warning prompt prior to action. Similar to GMails delete email etc.
  • Smart Dates like "next Friday or in 2 weeks". Mad Cool Date is a library that supports such date specifications but this feature has been part of TM for a while.
  • FireBug detection. Gmail now does this, but RTM has had FireBug detection warning users of potential slowdown prior to Gmail (AFAIK)
  • A very innovative way of integrating the RTM tasks with Gmail, Google Calendar. and Google Gadgets.
  • Offline support via Gears. RTM was quick to have a really nice support of offline use and synchronization via Gears - the first nice implementation of Gears that I know of after Google Reader.
  • Smart Search. A simple text box that allows the user to to a full text search across all entities (like tasks, inbox, etc). This is another pattern that is gaining popularity over having an elaborate search dialog. One can add special prefixes to the searches to limit search (like gmail's search textbox).
  • Tabbed Interface: Tabbed Interfaces are getting increasingly popular with Ajax apps as it allows easy access to multiple views with minimal page-to-page navigation.
  • Message Bus. Tibco's Pagebus does just his but RTM has had an implementation of publish-subscribe of "messages" in their web app for inter-component communication from the very beginning. I learnt a lot by understanding how they have implemented and used this technique very effectively.
  • Map support: Using Google Map or a Yahoo Map in one's application has become relatively straightforward these days but RTM users this very effectively in a way that integrates the RTM functionality very naturally with the use of Maps. Check it out yourself.
  • Use of bookmarklets to add tasks to your todo list from any website.
  • Excellent integration with Instant Messengers (for reminders), RSS / Atom feeds, iPhone UI
  • An API to interact with RTM functionality

The above is not a comprehensive list of RTM's features and you're likely to find other cool features as you work with the app. RTM is a good example of hiding complexity with the end goal of making things easy and intuitive to the end user much like what several google apps accomplish. I haven't had the pleasure of meeting Omar Kilani but I tip my hat to him. If you are attending Ajaxian's conference don't miss out on his session.



Your Option (Login or Post by anonymous)