03 3 / 2009
UPDATE: You can skip all of the user agent string junk and just use http://mail.google.com/tasks/ig or http://mail.google.com/tasks/a/DOMAIN/ig for Google Apps as the URL for Fluid. Makes life simpler!
Google recently added Tasks via a Gmail Labs add-on. I find this simple task list to be quite useful. However, it’s tied to Gmail in that Gmail has to be open in a browser window for it to function. The “pop-out” feature is nice, but the Tasks lists automatically closes when the main Gmail window is closed.
Shortly after the initial launch, Google announced a version of Tasks optimized for mobile clients. If I had an iPhone, that’d be great, but I don’t. However, I was able to exploit this to make a Gmail Task application!
I verified this would work by changing Safari’s User Agent string to Mobile Safari and visiting http://mail.google.com/tasks. It didn’t work immediately, because I use Google Apps. A quick check showed that I need to add /a/quiddle.net to the end of that address. It worked!
To make a desktop app from a website, I used Fluid. (If you’re not on a Mac, you might be able to use Prism, but I have not verified this.) I ran Fluid, entered my URL, named it Gmail Tasks and created my app.
When I first ran my new Gmail Tasks app, it displayed the Tasks help page, because the User Agent string was not identified as a mobile browser. No problem- apps made by Fluid allow you to change the User Agent. The menu option is under (in this case) Gmail Tasks->User Agent. The Mobile Safari version listed is out of date (Tasks gave me a warning) so I used Other… to change it to Mobile Safari 2.2.1:
Mozilla/5.0 (iPhone; U; CPU iPhone OS 2_2_1 like Mac OS X; en-us) AppleWebKit/525.18.1 (KHTML, like Gecko) Version/3.1.1 Mobile/5H11 Safari/525.20
Now it comes right up!
For bonus points, I dug into the HTML source and found the iPhone webpage icon and set it as the application icon.
Now I have a simple desktop task list that’s automatically synced up to Gmail and available anywhere!
Update: Original DISQUS comments