87 comments

[ 16.3 ms ] story [ 167 ms ] thread
Thanks in advance for any feedback on the site.
Can you make this a dashboard widget?
Not a bad idea. It would be handy to have it a keypress away but the benefits from my point of view (the developer's) are almost too great in keeping it a webpage: easier to update, ability to add ads, wider audience, etc.
Frankly making it a webpage is a pretty big inconvenience to me (and I'm sure many others too) because my bookmarks bar is pretty full, as well as my bookmarks. This just seems like a natural dashboard widget. Doesn't windows 7 support widgets too now?
I have no idea how American time-zones work. Or many other time-zones, for that matter.

But I could probably find it on a map. So that would help.

I have a zillion of these seemingly simple ideas and barely ever execute on them. So, congrats on the finished minimum viable product and rapid release!

I'm commenting here because I'm very interested in how this small project works out for you.

It works correctly. It works as expected. I think it's great.

A shorter domain name would have been nice though.

Also - does it automatically take daylight savings time into account?

It does. For example, right now Australian times properly incorporate DST.

The domain name was optimized for Google queries where it's important to have exact search terms in the name itself. Agreed that it's annoyingly long but I expect people to find it through Google with something close to that query.

Wow, that's great - how did you go about getting daylight saving time to work properly?
Can you have it specify that DST is being used?
I don't mean to jack the thread here, but I did something similar over the weekend that was a lot of fun. I cloned and then built upon a local system here in Honolulu that lets you see when buses are coming to a stop. I originally wanted to build an Android app but realized that I could do the same thing faster with my current skill set (web apps) thanks to some of the Geolocation features of HTML5. Plus, both me and my girlfriend can use it (she's on an iphone)!

Here it is - http://thebus.ws/about/

For those not familiar with Hawaii... try some street names like King, Queen, Bishop, Kapiolani. If you're on island the locate button will find your location thru browser api's and then load stops near you. Stops right by my place would be 2088, 306, and 405 (you can search for those numbers).

BTW, I really like what you did :) It's very simple and looks pretty good to boot. I have a client in Sweden right now, so this comes in handy!

I'd add a date to the timezone converter. For example - if it is 10pm in Toronto on the 1st, then it is 8am somewhere in India on the 2nd.
Thanks for the suggestion. It's true omitting dates can affect some conversions. I left them out for speed/simplicity but might have be the wrong tradeoff.
I was about to suggest adding a 'previous/next day' somewhere but I see you already did that :)

Nicely fixed.

I agree! Date would be useful. People worldwide refer to historical documents in our system by their timezone, and I have to convert them to EST in order to find them. Sometimes I use the CPAN library Date::Manip or the Unix date command to do datetime conversion or math. But your website is much simpler and better than each of us coming up with such solutions on our own..
Great, but if remaking Basecamp or StackOverflow also just takes a weekend, you should have been able to do this in about an hour.
Hah - true. :) Stack Overflow would have taken me longer.
Yeah, this isn't really comparable. This is a one-off utility. It performs one function. StackOverflow and Basecamp are full-fledged applications that incorporate thousands of functions.
It does not seem to do anything without Javascript and times are always displayed in the (to me) awkward AM/PM format instead of 24 hour. The first is probably of no matter to you but how about a toggle button for the latter?
I do examine the browser's accept-language preferences and attempt to correctly do locale appropriate time formats. I've considered a toggle but am trying to keep the UI really simple. Are you from outside the US, and if so could you tell me your browser accept-lang settings (handy tool below)? http://www.cs.tut.fi/cgi-bin/run/~jkorpela/lang.cgi
I am in Germany but I use "Accept-Language: en-US,en;q=0.9". :(
That's great! Your are absolutely correct, most sites seem to originate in pre-2000.

Just two additional ideas:

For the problem you specified I did find a interface which gives you a day view of both destinations with the corresponding times on both sides, and colored backgrounds (green for good meeting times, yellow for too early or too late or midday and red for night) so that you can easily find out an optimal meeting time (I guess it was possible to add more timezones to it), however I cannot remember the site.

For the interface you created I guess it would be nice to add an analog clock over the input, which can be changed via dragging the hands to the specified time and the other clock updates it's time in real-time.

Thanks, appreciate the compliment and ideas. I do remembering coming across that other site too.

I've been looking for a fun graphic or animation to jazz up the UI (I believe in making products "fun") so maybe the analog clock idea is it.

An additional idea would be a (small? popup?) google earth view where you can click on the locations instead of entering them in the textfields.
a) AM/PM vs. 24 hours clock. I'd suggest switching to 24 hours mode if input hours are > 12. There should also be a toggle for this. Remembering the setting (and possibly timezones) would be great.

b) Dates. These are redundant, but they can be shown if different in chosen TZ (or maybe just show something along the lines "already the next day/still yesterday" :)

I like (a). I've been trying to avoid a toggle to keep things simple but noticing input behavior and switching automatically + storing in a cookie would work.

I need to update the blog screenshot, but (b) is incorporated almost exactly as you were thinking (see the light gray "next day" / "previous day" text).

I couldn't find any of the major Swiss cities in your city list. Any reason?
I used GeoNames to make sure all countries are in there. Cities, I sorted by population and took the top 1000.

Looking more closely now... Zurich at least should have made the cutoff. I'll take a look. Thanks.

As a programmer, I find it very satisfying - you type in the name, it auto-completes; you change the time on either side, and it maintains the relation. Nice :-) And love the clean simplicity - it's like the google of timezone converters. :-)

- But it wasn't obvious that it would autocomplete - nice to have a drop-down even before typing, just to show the user. Or maybe just a couple of e.gs. (like google calendar's "breakfast at tiffany's").

- Also not obvious that you can change both times (I mean, it should work that way, but software never does, apart from languages - and I think that it wouldn't even occur to ordinary folk that it might).

Might be worth doing some user-testing (where you watch them, like "Step 2. Validate" in http://news.ycombinator.com/item?id=1132980).

You can probably get some adwords revenue. And without spoiling it, by doing what the chatoulette guy said he did - just 4 words at the bottom.

Great ideas. I've been collecting electronic feedback like this from friends, but agreed that some "over the shoulder" user testing could help. Hearing these "x was not obvious" from you is helpful as I'm too deep in it now for any of these to occur anymore.

A big gripe (I didn't mention in the blog) of the other sites were massive amounts of confusing AdSense, so I was almost thinking a single cleanly branded "sponsor" to pay for the server costs if it gets enough traffic.

Have you looked at the library date.js? It might be helpful for you here. It seems unmaintained now but is still useful sometimes; not sure if it will help in this specific case, but might be worth a look.
This made me want want to release my syllable counter on it's own domain because it beats the top google results. Only problem is whether or not there's any utility to it.
I'd find it fun to play with (good for settling haiku disputes), but even after a few specific google searches I couldn't find it... maybe a domain would help?
I suggest you add more country names to your incremental search e.g. England, Canada, Australia. If the country has more than one timezone, list them.

Worth logging all the things people type that get zero auto-completions.

Otherwise spot on.

Thanks. As a shortcut I left out countries with multiple timezones, but as you say they should be in there still just multiple times and delineated somehow.

Nothing gets by the HN crowd. :)

Nice work. For visual dressing up, show the wikimedia timezone map and visually highlight the two zones.
First reactions: tab field-switching and/or JS execution order. Time is on top, so I'll input that first, then want to set the TZ. Tab goes time1->time2->tz1->tz2, which is unintuitive to me at least. In addition, filling in the dominant origin field first (time) is counter-productive as changing the TZ afterwards then auto-modifies the origin time - clearly not as I intended. This absolutely makes sense from a programmatic reload-free page outlook upon reflection, but not at all going purely on intuitive UI use.
Thanks for giving it a close look. I debated these points and came up with arguments on both sides of how updating should work.

I agree more with your tab ordering point. As far as JS execution (deciding which time to update when city changes) I saw arguments both ways and in the end decided to copy the behavior of a unit conversion dashboard widget from Apple. Not a good reason but it served as my starting point.

This is awesome. One suggestion/request? If I enter the time in 24hr mode, can it please be left that way? Right now it converts it to am/pm... I don't know why, but my brain only functions in 24hr mode and seeing 14:45 change to 2:45 made me think there was a bug before I noticed the PM next to it.

Otherwise this is immensely useful!

I think "smart parsing textboxes" are the best things ever. I really like the one on letsfreckle.com for time interval entry. Letting users just type in a format that is comfortable to them is so nice.

Third request here for different 24h behavior. I remember hearing the advice "listen to your users" somewhere... so I'll prioritize that. Thanks.
I was going to suggest something along those lines after reading your post. But I was pleasantly surprised that your application already handles 24hr times gracefully, when I checked it.
Exactly what I was always looking for. Have often thought about doing something like this myself. So simple and so useful. Thanks!

But ... tables? Really? Just kidding. Whatever works ^-^

very nice indeed, a lot better than the previous entries, well done for a taking a pretty standard idea and making a much more usable version, hopefully you can start a trend!

I'd agree that you definitely need to take into account date/time adjustments like British Summer Time etc.

Really cool! Minor nits:

* Multiple equivalent GMTs (GMT, GMT (Greenwich Mean Time), GMT + 0)...

* GMT+n would ideally be in numeric order [but alpha sort doesn't make this easy, just something to think about]

* Include country name for cities: "Seattle (USA)" ... just gives you that warm fuzzy that you're in the right country.

* Instead of "next day" it might be nice to say "next morning/afternoon/evening/night" or whatever it happens to be. Less mental parsing ("12:30am next day... means really early in the morning right?")

Anyway, great job!

Thanks - I need an "accept all" button for these suggestions. On the multiple equivalents though, that was intentional to handle multiple ways people might want to type it in. Perhaps it's confusingly redundant.
Apparently 9:31 AM in Dublin time is NaN:aN PM in Dubai time...

Besides that, its a nice app.

EDIT: Since I got downvoted for this, let me rephrase in terms of a bug report: My local time is Dublin, Ireland (so UTC) and I entered 9:30 AM as the local time. Then I changed Greenwich to Dubai. The updating was pretty slow, so before it completed, I changed the local time to 9:31 and the output I got was NaN:aN PM. I'm able to reproduce it by following the same steps (though the actual local time entered doesn't seem to matter - just that its changed before the "updating..." text disappears).

I don't agree with the downvote - thanks for the bug report. I saw this a while back and was having trouble reproducing so this is helpful. I'll look into it.
This is the best timezone converter I've ever seen. Nice work.

Though really, I'm surprised Google hasn't added timezone conversion to their various measurement converters. I really just want a single text field that takes input in the format "[time/date] in [location/timezone]." For example, "1:30am PST in UTC" or "Tuesday 5pm in Paris."

Google's Closure javascript library has a lot of timezone related routines. Worth taking a look.
Make it obvious you can type place names. People are stupid. They'll expect a dropdown, not typing.
Second time this was mentioned so I'll definitely give it some thought.
Hrm... Some text right next to the field perhaps?

Alternately, simply showing a world map graphic would work quite simply. There aren't that many time zones.

Nice tool. Bookmarked.

Small feature request: It would be nice to enter IATA airport code instead of city name.

Ah, another input method I hadn't thought of. Thanks, will consider.
Even if you're not using PHP I highly recommend reading Derick Rethans's slides on Date and Time. There's lots of good information there, especially about all the various quirks with timezones. http://derickrethans.nl/talks/time-zendcon9.pdf, you may even be able to find a video of him presenting this.
Nice work - bookmarked. Minor things:

* support for alternate names (e.g. The Hague vs. Den Haag)

* some way of knowing when a city wasn't found - right now if I type the name of an unrecognised place then it isn't clear that the time displayed is no longer valid

* optional vertical layout for phones, and (to go with that) offline support? Perhaps not quite so minor, I'll admit ;)

Oh, and re. the "programmer-friendly" comment in your article - I'm one and I don't find those sites at all friendly...

> Oh, and re. the "programmer-friendly" comment in your article - I'm one and I don't find those sites at all friendly...

I think he means the "easy to program" kind of programmer-friendly, not the "easy to use" kind of programmer-friendly.

> * some way of knowing when a city wasn't found - right now if I type the name of an unrecognised place then it isn't clear that the time displayed is no longer valid

I second this. I tried to type in Zurich at first but the time didn't change and there was no error message either.

Great job though. Very useful tool. Bookmarked.

My entire family thanks you for this. Mostly me at the moment, but the rest of them eventually.