Friday, April 16th, 2010

Every Time Zone; Why the Web rocks, and so do Thomas and Amy

Category: Showcase


Every Time Zone is a great new Web app by Thomas Fuchs and Amy Hoy that shows how the Web platform is ready to create fantastic visual experiences. In the spirit of “do one thing, but do it well” the application shows you what time it is in various parts of the world. Now when I call folks back in blighty, or bug Rob Castaneda while in Australia, I can get a quick view of the time.

If you take a peak on the iPad and add it to your home screen, you will see that it runs very nicely offline indeed. The rich UI effects are top quality, and make use of CSS gradients and the like to power a desktop class utility.

I always enjoy looking at their code too. Nice and clean:


  1. w[supportsTouch ? 'ontouchstart' : 'onmousedown'] = function(event){}
  3. if ('orientation' in window)
  5. Function.prototype.delay = function(s){ setTimeout(this, s*1000); };
  7. Date.prototype.addDays = function(days){ return new Date(this.getTime() + (days*1000*60*60*24)); }

It also works on iPhone, Android, webOS and the like…. and I think the pair are working on scaling it nicely for that form factor.


Posted by Dion Almaer at 5:19 pm

3.7 rating from 32 votes


Comments feed TrackBack URI

I couldn’t find any contact info so maybe they’ll see this comment, but it really needs a way to switch between 12 and 24-hour display.

Comment by octavem — April 16, 2010

Very nice! (although in Chrome backgrounds come a little off, Firefox is very sluggy and other browsers well not supported)

Now all it needs is to add an option to change between UDC, GMT and various different time formats. (just a dropdown/select to choose the time format and print all the times in that would be great)

Comment by Eraserhead — April 16, 2010

| I always enjoy looking at their code too. Nice and clean:
| 8. Date.prototype.addDays = function(days) {
| return new Date(this.getTime() + (days*1000*60*60*24));
| }

Perhaps someone should point out that the “clean” code would be much simpler as:

Date.prototype.addDays2 = function(days) {
return this.setDate(this.getDate() + Number(days));

It avoids a call to the date constructor and is much more obvious. Also likely avoids daylight saving issues.


Comment by RobG — April 22, 2010

Leave a comment

You must be logged in to post a comment.