Hacker News new | past | comments | ask | show | jobs | submit login
Accepting the "I could do that in a weekend" challenge (thetimezoneconverter.com)
96 points by jonathanberger on Feb 18, 2010 | hide | past | favorite | 86 comments

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.

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.

Great, but if remaking Basecamp or StackOverflow also just takes a weekend, you should have been able to do this in about an hour.

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.

Hah - true. :) Stack Overflow would have taken me longer.

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!

Very nice. Here's a feature suggestion: allow me to specify the two locations in the URL so I can create bookmarks to pairs that I use all the time (e.g. Hamburg/NewYork, Hamburg/SanFrancisco...).

Psst: this can help you for SEO if you do it right. (Though you'd have to add a bit of content/links to have a hope of getting all of them indexed.)

Interesting ideas - I was trying to think about creative but still useful SEO techniques... something Yelp-like. This might be it.

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.

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..

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.

After the game jam (An event where everyone tries make a game in one weekend, hence the correlation to topic) wrap up, one of the guys there said something very interesting: they thought it was such a good idea to pound on a concept for the weekend to see if it was viable, they were going to do it for every idea including those in the business that weren't game related (not sure if that meant software or what...)

So while I see the simplifying assumption that says "I could do that in one weekend" and that it's really not that simple. There's the other side of the coin. Maybe some ideas don't need to be so complicated. We evolved our game idea three times that weekend as we completed something we saw what was boring or was failing and modified it.

In both our case and the guy above, we aren't planning to continue the game. I know I tend to sit and idle on ideas for months or years at a time. This is a terrible thing to do. Why not, for the cost of one weekend decide to throw it in the trash and never think of it again. One weekend is way less than months and months of planning and task lists and bug trackers and code repositories... etc etc.

Edit: In case anyone is interested you can find our game on http://globalgamejam.com called "Maid of Dishonor" or on our site, http://tosos.com under the "Unity Games" page.

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.

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.

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.

Everyone should go to google and search for "time zone converter", than go to the bottom and choose "Add a result", and paste in the url for this page :-) It couldn't hurt.

Haha - I wouldn't complain... I've got a few ideas around SEO and a few more popped up here, so I'll see what I can do to make the site easy to find with Google again later on.

Wolfram Alpha has an _awesome_ time zone converter,


Is that a joke? I tried about 5 different ways of getting it to answer what the current time in my time zone is in another timezone, and it failed for all variations.

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?

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.

a quick timezone converter is on your command line

    $> env TZ=US/Eastern date
    Thu Feb 18 11:15:01 EST 2010

    $> env TZ=GMT date
    Thu Feb 18 16:15:41 GMT 2010

Another feature request...

Can you give it some "add another city" ability? I've had much more grief trying to do the mental arithmetic scheduling phone conferences involving people in Sydney, London, and Dallas than I've ever had working out just one other city in my head...

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.

It's here: http://www.timeanddate.com/worldclock/meeting.html

Very useful app, when you have people in several timezones.

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.

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". :(

While I half agree with what you did, I think you're a step away from perfectness (see bellow) :)

I actually had the exact same problem and I was recently speaking to a friend from google and asked him to implement this as part of their search engine (i.e. just like the calculator, but for time zones) -- he didn't see the need for such a thing.

Here is my use case which doesn't work: conference deadlines. Please tell me what this:

Thursday, February 4, 2010, 11:59pm Eastern Standard Time (GMT −5:00)

translates to in my local time. Note that entering the date in your app does nothing, even if you split EST from the rest.

Why doesn't this app work for you in that scenario?

Say you're in PST: put on the right hand side 11:59pm and EST --> 8:59pm that same day.

Say you're in, oh I don't know, Nagoya: same thing on the right hand side --> 1:59pm the next day (the 5th)

The mention of the specific use case is helpful. I assume you'd want as output not only the time, but also the corresponding date.

I want to think carefully about how to add dates because I'm trying to keep it simple and quick.

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.

FYI: Google does have a limited 'command line' tool for time zone differences. If you search for "London time", it will return the current time in London UK in bold, along with London, Ontario and London, Arkansas.

This obviously is only for the current time, and you'll find that it doesn't work for everywhere. Also I've encountered occasional 'outages' where the time results for reliable locations aren't posted in your search results. I guess the applet gets disengaged occasionally due to back-end business.

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.

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...

> * 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.

> 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.

There is a problem with Argentina. For example see the hour at the capital city "Buenos Aires" and compare it with some of the local newspapers (http://www.clarin.com.ar or http://www.lanacion.com.ar).

I think that the problem is that we skipped the "Daylight saving time" this year (2009-2010), so we are at GMT-03:00.

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.

Started to skim it... fascinating. Very cool.

Good job, this is really nice.

Like you mentioned in your announcement, this tool seems like it's primarily useful for (important) business. Is there anything you can do that would make me feel assured that the conversion is accurate? I'm 90% sure that everything is perfect, but that's not really good enough. I'd be much more inclined to use the tool if I knew I could trust it.

There's also a nifty iPhone App for that: GlobeTrotter


Using it all the time because I've had similar problems. And it allows to calculate the differences for more than 2 cities.

I was looking for a site this simple just yesterday. Thanks for building it!

One suggestion would be to have the colon automatically inserted at the third position from the right. I'd like to be able to type 930 or 1425 without having to take my hand off of the number pad.

Or just be able to type 930pm/1035am without worrying about the colon

Hm, interesting requests. I had other similar requests via e-mail for auto-colon-insertion so might prioritize this.

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.

GMTA - already using it with a few tweaks.

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.

since it starts with the current time i was surprised that it does not appear to update. it would be nice if the clock worked "like a real clock", changing to reflect the current time. of course, that's not what you want if someone enters a time, so you'd need to track whether that has happened (and perhaps provide some subtle feedback to indicate that it's not "ticking" - the best thing i can think of is that you flash the ":" between numbers if it's running as a clock, and leave it steady if the time has been altered).

Nicely done. I've needed this countless times. This looks like it'd be a perfect fit for the mac dashboard... do you know if something like this exists, or how hard it'd be to make?


But once again, building a widget in a weekend is very different than building a full product, in particular if you include an actual business model or community surrounding that product.

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?

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 ^-^

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).

Thanks in advance for any feedback on the site.

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.

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.

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?

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.

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.

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

Very nice web application, I'm going to use this a lot.

Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact