I hereby decree

by David LeMieux


E.ggTimer in the Palm Pre Browser
The WebOS Browser is surprisingly compliant.

Over the weekend I made a port of the basic functionality of E.ggTimer from Flash to HTML5. By basic I mean that things like titles and sequences are still missing, though I intend to add those soon, for full parity. And when I say HTML5 I really mean that I used the HTML5 doctype and new, proposed tags. Specifically, I used the canvas tag and the audio tag. I also used some new CSS and JavaScript features.

The End Result
In the end, it works pretty well on desktop browsers as well as on the iPhone, iPad, Android, and WebOS browsers with some interesting differences. As far as I can tell, the beep sound at the end only really works on the Pre, so props to Palm for supporting audio. You can try it out here: http://e.ggtimer.com/m/3min.

Next, while Safari supports Workers, you can currently only post messages as Strings. When I first implemented the Worker to do the date calculation I was passing objects. Since I got lazy and didn't want to refactor my code I just disabled the Workers for Safari.

As I tried the new code out on various devices I came to realize that the ability to leave the timer running in the background (WebOS, Android) really made it a nice feature. It works on the "i" devices, but you have to leave it open. A native app would take care of that, but I am hoping that in some future update the browser will be able to run in the background (and have sound).

For now, if you hit E.ggTimer (or the new domain, C.ountDown.com, and start a timer you will be redirected to the HTML5 code if you are using a mobile device. If for some reason you just hate Flash you can use the "/m" site and be Flash Free(tm). On the desktop it works best in Google Chrome.

The transition from Flash to HTML5 was pretty straight forward and I believe that those Flash developers that can stop worrying and actually play around with the new stuff will quickly find it suites them well. It isn't an end-all, be-all solution and it has a long way to go before we have full cross-browser interoperability, but it is pretty slick. I come away less stressed about the whole ordeal.

I also removed the affiliate banner stuff since it was performing poorly. I replaced it with a nice update section and a small donate button. Cheers.


blog comments powered by Disqus