If Google achieves superintelligence, time zones will be its Achilles heel

Like a latter-day Prometheus, Google brought a half-century of insights down from Mount Academic CS, and thereby changed life for the better here in our sublunary realm.  You’ve probably had the experience of Google completing a search query before you’d fully formulated it in your mind, and thinking: “wow, our dysfunctional civilization might no longer be able to send people to the Moon, or even build working mass-transit systems, but I guess there are still engineers who can create things that inspire awe.  And apparently many of them work at Google.”

I’ve never worked at Google, or had any financial stake in them, but I’m delighted to have many friends at Google’s far-flung locations, from Mountain View to Santa Barbara to Seattle to Boston to London to Tel Aviv, who sometimes host me when I visit and let me gorge on the legendary free food.  If Google’s hiring of John Martinis and avid participation in the race for quantum supremacy weren’t enough, in the past year, my meeting both Larry Page and Sergey Brin to discuss quantum computing and the foundations of quantum mechanics, and seeing firsthand the intensity of their nerdish curiosity, heightened my appreciation still further for what that pair set in motion two decades ago.  Hell, I don’t even begrudge Google its purchase of a D-Wave machine—even that might’ve ultimately been for the best, since it’s what led to the experiments that made clear the immense difficulty of getting any quantum speedup from those machines in a fair comparison.

But of course, all that fulsome praise was just a preamble to my gripe.  It’s time someone said it in public: the semantics of Google Calendar are badly screwed up.

The issue is this: suppose I’m traveling to California, and I put into Google Calendar that, the day after I arrive, I’ll be giving a lecture at 4pm.  In such a case, I always—always—mean 4pm California time.  There’s no reason why I would ever mean, “4pm in whatever time zone I’m in right now, while creating this calendar entry.”

But Google Calendar doesn’t understand that.  And its not understanding it—just that one little point—has led to years of confusions, missed appointments, and nearly-missed flights, on both my part and Dana’s.  At least, until we learned to painstakingly enter the time zone for every calendar entry by hand (I still often forget).

Until recently, I thought it was just me and Dana who had this problem.  But then last week, completely independently, a postdoc started complaining to me, “you know what’s messed up about Google Calendar?…”

The ideal, I suppose, would be to use machine learning to guess the intended time zone for each calendar entry.  But failing that, it would also work fine just to assume that “4pm,” as entered by the user, unless otherwise specified means “4pm in whatever time zone we find ourselves in when the appointed day arrives.”

I foresee two possibilities, either of which I’m OK with.  The first is that Google fixes the problem, whether prompted by this blog post or by something else.  The second is that the issue never gets resolved; then, as often prophesied, Google’s deep nets achieve sentience and plot to take over the whole observable universe … and they would, if not for one fortuitous bug, which will cause the AIs to tip their hand to humanity an hour before planned.


In a discussion thread on Y Combinator, some people object to my proposed solution (“4pm means 4pm in whichever time zone I’ll be in then“) on the following ground. What if I want to call a group meeting at (say) 11am in Austin, and I’ll be traveling but will still call into the meeting remotely, and I want my calendar to show the meeting time in Austin, not the time wherever I’ll be calling in from (which might even be a plane)?

I can attest that, in ten years, that’s not a problem that’s arisen for me even once, whereas the converse problem arises almost every week, and is one of the banes of my existence.

But sure: Google Calendar should certainly include the option to tie times to specific time zones in advance! It seems obvious to me that my way should be the default, but honestly, I’d be happy if my way were even an option you could pick.

49 Responses to “If Google achieves superintelligence, time zones will be its Achilles heel”

  1. Bram Cohen Says:

    So many engineering problems would be fixed if we’d just reassemble Pangea. One time zone, low latencies, and roads to everywhere.

  2. Daniel Harlow Says:

    Oh god this drives me so crazy as well!

  3. D. L. Yonge-Mallo Says:

    And don’t get me started on trying to schedule a meeting between Europe and North America during that one or two weeks when their daylight savings time is out of sync.

    btw, there’s actually a setting to show two timezones in Calender simultaneously, which at least allows you to verify your meeting was scheduled at the right time locally.

  4. Noah Snyder Says:

    One of my friends missed an interview for a job *at Google* because of exactly this! (We were at lunch when they called to ask why he was late.) Fortunately he got the job so this story has a happy ending.

  5. Matthias Görgens Says:

    When I read the title I was fully expecting some light-hearted satire of how everything they build runs on Google Imperial Time (is Mountain View Time) and how all now code breaks when it hits its first daylight savings adjustment.

  6. Tony Finch Says:

    I wrote about the problems with the semantics of calendar appointments several years ago, and I concluded the only correct way to handle them is to set the local time at a primary location (which implies the time zone), plus a number of secondary locations if it involves travel or conference calls or other difficulties. (This allows the calendar application to automatically display the time at the other locations, so you can see when your redeye arrives at 06:00 or your conference call requires a participant to stay up past 22:00.) Sadly the iCalendar standard forces applications to resolve timezones too early, but that isn’t really a good excuse for Google to be so difficult about it.

    The long version of this comment can be found at http://fanf.livejournal.com/104586.html

  7. Scott Says:

    Tony #6: Thanks so much! I’m delighted to see that someone thought deeply about this problem, and in a broader context than just Google Calendar, way back in 2009 (which is right around when I became aware of the problem’s existence). But I’m disappointed, of course, that despite people being aware of the problem for so long, there still doesn’t seem to be a great fix.

  8. Arthur Says:

    https://news.ycombinator.com/item?id=14134277 sent me here and I enjoyed reaqing the assertion that time-zone problems are the biggest obstacle in the way of Google’s plan to “take over the entire observable universe.”

  9. Alexandre Z Says:

    Have you ever tried writing code that handles time zones? It’s insanely hard. But without knowledge of the internals of Google calendar, I want you to consider that you pretty much always enter the temporal coordinates before the spatial coordinates when creating a calendar entry. Imagine what the UI would look like if the calendar updated the time after you entered the address. Either it would be annoyingly in your face, or it would be super easy to miss. (which would be bad if you had specified the time in your current time zone.) Either way, somebody loses.

    But yes. AGI doesn’t scare me because worst case scenario it will crash at the first DST event.

  10. Jon White Says:

    I’m imagining a touching end scene to a movie, set a couple of hundred years in the future. Gazing into the sunset, a father puts his hand on his son’s shoulder and says, “Remember, Son, if not for those brave patriots who gave their lives during the AI wars…if not for them, we’d all be using UTC.”

  11. Scott Says:

    Alexandre #9: My point was precisely that, from the end user’s standpoint, the calendar wouldn’t be “updating the time” at all. Rather, the calendar would be maintaining the same time that the user said from the very beginning—namely, “4pm in whichever time zone they’ll be in for this event.” The “updating” would purely involve internal data structures, not anything the user would see. It’s the current rule that, from the user’s standpoint, involves Google Calendar mercurially changing around times that were entered.

    And while I agree it’s tricky to get right, what’s mystifying to me about this is that Google engineers seem to do a thousand harder things every morning! (I mean, morning Pacific time. 😉 )

  12. LessThunk.com « Shtetl-Optimized » Blog Archive » If Google achieves superintelligence, time zones will be its Achilles heel Says:

    […] http://www.scottaaronson.com/blog/?p=3221 […]

  13. Adam Says:

    While the current behavior does sound wrong for your use case, I actually think it’s correct for Google’s target audience — business users. Business users are looking for aligned gaps in schedules between multiple people, which are time zone independent.

    I think using machine learning to guess which events might need to be shifted when you change time zones, and notifying you of that in some way, would be interesting — but I don’t think the current behavior is incorrect at all. For me, at least, it matches my most common use case. It would break things completely if it assumed events were not anchored to a real time when they were created.

  14. A Says:

    For all of the wonderful things Google has created, I’ve been surprised repeatedly by their UX. I imagine that tools like Calendar are seen as less glamorous internally, so perhaps there’s less incentive to improve them.

    Also, s/both part/both my part/ ?

  15. Dr. David T. Macknet Says:

    So, let us try to understand how “in whatever time zone we find ourselves in when the appointed day arrives” would work. The underlying assumption is, naively, that Google knows our geographic location (which, fine, given Android devices, it likely does). Another underlying assumption is that the transition of a time zone can be reliably anticipated; if I drive from CA into AZ then I have traversed a time zone … so does the reminder for 1 hour beforehand need to anticipate that by guessing the direction of travel? Or perhaps we can put in the location and assume the time zone at the location … which might work well except for those pesky online things where everyone’s in the wrong time zone anyway and usually gets it fairly close to correct, so maybe that’s the best answer: have the calendar base the assumed time zone on the location’s time zone.

    Does this fall apart? Again, the online “location” might be an issue, but it should be fairly easy to prompt the user at the time of the meeting creation as to whether they wish to use the destination time zone. Does this cause difficulty with meeting invitations? I don’t think so, because the meeting is generally translated into whatever the user’s calendar time zone is … but then things get weird when you’ve received an invitation for a meeting at 10:00 in a different time zone, which maybe displays as 11:00 on your calendar, until such time as you arrive an hour late. Hmm. In that case, perhaps providing some visual indication to the user that the meeting is located in a different time zone would be appropriate, or to display it multiple times or something.

  16. Scott Says:

    David #15: The thing is, Google obviously knows my current time zone with every device from which I log in to Calendar, or at least it thinks it does, because it needs to even just to screw up what I entered! (I.e., to wrongly attach my current time zone to a future event.)

    The semantics for reminders would basically be: if reminders were requested 1 hour in advance, and the current local time is 3pm, and the appointment is tagged “4pm,” then send a reminder.

    Yes, you can invent edge cases where this fails (as in your example of driving from CA to AZ). Yet even if it failed in every imaginable edge case, it would still be a massive improvement over what I had now 99.9% of the time. (For one thing, I don’t even use reminders…)

  17. Greg Kuperberg Says:

    I once missed the first lecture of a class that I was teaching because of Google Calendar. I had marked the class on the calendar months back, and at the end of a trip to the East Coast I confirmed that lecture would be at 1pm. I had an inkling that this answer was a bit surprising, but I was tired and the whole point of the calendar was to remember for me. It turned out that class was at 10am Pacific Time = 1pm Eastern Time.

    Indeed, Google Calendar should remind you when you will encounter any given event in spacetime, rather than keeping track of space and time separately.

  18. Tim Says:

    You can see from any piece of software what their creators use it for, because that’s what it’s best at.

    In this case, Google Calendars are great for people who need to call into remote meetings. It’s designed for that case, and not the case of people who need to travel to Hong Kong and meet with an actual person there. That’s what I’d expect, since Google is full of programmers, and remote video calls are much more common for them than sales trips.

    I doubt it’ll get fixed any time soon. The only situation I could imagine is if it were tied to a sale, somehow, but Google Calendars is free for personal use, and since they’re the big dog in online services, I’m not sure any company would threaten to go with a competitor over this issue.

    Your best bet is probably a browser plugin, or some other extension mechanism. When it gets popular enough, Google might take notice and integrate it.

  19. wolfgang Says:

    Why do we still have time zones instead of simply using UTC ?

  20. Solution Says:

    I have a solution that works great for me. I enter all my appointments in my local time zone. Then when I arrive in a new time zone, when Google Calendar’s web interface asks me something along the lines of “do you watch to switch to the new time zone,” I click NO.

    (This doesn’t work if you rely on Google’s reminders before appointments.)

  21. Krzysiek Says:

    @Bram Cohen (comment 1): Were there no problems, there would be no engineers. 🙂

  22. PDV Says:

    I would very certainly have missed appointments if your desired behavior was the default. Every time I travel, and some times when I don’t.

    It is currently doing the right thing, modulo an option to enter the time in a specified time zone, which I’m pretty sure it already has.

  23. mjgeddes Says:

    The solution to everything is to add a second time dimension. Make time 2-dimensional (a 2-D timescape).

    One time axis represents mental (subjective) time co-ordinates. The other time axis represents physical time co-ordinates. A vector then combines mental and physical time coordinates to give you a mathematical point in the timescape.

  24. Spencer Says:

    Google trying to guess what time zone you will be for a particular event sounds like it would create more errors than it would fix. I prefer setting the time zone explicitly in the event details, with my home timezone as the default. You can even select different timezones for start and end (e.g. for flights).

    You might be interested in enabling the ‘World clock’ calendar lab, which lets you set a customizable list of timezones to display an event in.

  25. david wong Says:

    I’ve been using Gcal for a while, but switched to apple’s canlendar a year ago and it’s pretty neat. Every event I organize or that my coworkers organize are set at a specific timezone and is displayed correctly at the timezone I’m in, since I travel a lot and most of my coworkers are in different timezones it works out pretty well.

  26. Maris Says:

    A paper calendar might be a robust alternative.

  27. Boaz Barak Says:

    Hi Scott,

    First belated congratulations to you and Dana on Daniel! He looks super cute!

    Good luck to you in your just fight… I somehow managed to only get screwed by this a couple of times. (Very recently when I didn’t realize that the U.S. switched to DST a couple of weeks before Israel.)

    I am guessing that eventually when you schedule an event, you will see a pop up announcement along the lines of:

    “After reading your email, we see that you were invited to give a talk in California on that day. Should we schedule this in PST? Also, we notice you keep giving the same talk again and again so we have taken the liberty of responding to the email with the title and abstract.”

    If it makes you feel better, I used to feel the same way about the difficulty of formatting math in powerpoint, and eventually it did improve. So, contrary to what the “dark enlightenment” folks think, not everything has been going to hell since the French revolution.

  28. MattF Says:

    At least most of the timezone/daylight savings confusion is less ridiculous than it used to be. Years ago, Indiana was famous for being the state where no one knows what time it is. This (I believe) was the original motivation for the old TV series ‘Eerie Indiana’, where a small town was dogged (that’s an in-joke) by supernatural events.

  29. Abigail Says:

    It’s not just Google. I’ve exactly the same issues with the calendar on my Apple devices.

    I often put in the time of the appointed in the subject, just to be sure.

  30. Foster Boondoggle Says:

    Jumping off from what “A” said… Judging from the crappy interface for gmail (which is amazingly bad compared to, say, what Yahoo mail had 10 years ago) and the low frequency of improvements to this and other tools, Google is so confident of user lock-in that they are hardly investing at all in making the UIs better. Perhaps this is part of a long term plan to atomize human society by making us all show up for our meetings at the wrong times, provoking irritated, resentful and uncooperative behavior and thereby making it easier for the robots to take over.

  31. jonathan Says:

    The obvious solution is to have special “travel events” you can put in, which define a shift from one time zone to another. Of course, all times will be stored in UTC, but all data entry and display will be parsed using these dividers.

    Thus when you schedule a flight to Europe for a particular day and time, you enter the date and time of travel as a special “travel event”, and it automatically converts all data displays following that event (up to a “return event”) as displayed and entered in local time.

  32. Sniffnoy Says:

    Spencer #24:

    You seem to be misunderstanding what Scott’s suggesting. He’s talking about a possibility where, when you enter a time, what the computer would store would actually be a specific instant of time, but rather a sort of “floating time” object that would represent different instants depending on your current time zone, an object that would be dynamically cashed out to different instants only when necessary. So if you enter “4 PM”, knowing that your’e going to be in California, the computer doesn’t attempt to guess that you’ll be in California and adjust the instant it stores appropriately — it doesn’t store an instant at all. It stores an object that represents “4 PM”, and then when it actually needs to use this object, such as to check whether to trigger a notification, it notices that you are currently in California and interprets it as “4 PM Pacific time”.

    I’m not suggesting such a solution is easy or bulletproof; other people have already pointed out pitfalls with it (it doesn’t work for the phone call case). But it doesn’t involve any attempts to guess at future time zones.

  33. dumb blonde secretary Says:

    I know I’m not a tech person, but is this a CS problem or a CEO one?

    I’ve noticed that, once c-suite execs hit a net worth high enough to justify a private jet, they usually only take meetings in their home time zones. I’ve heard a few reasons for this, but the most common is that it’s necessary to prevent jet lag, which would cost the company “millions in negotiations.”

    I have a hunch that’s why this idea keeps getting shot down internally.

  34. John Sidles Says:

    This Shtetl Optimized essay is one of many that remind me of Mark Twain’s stories. Gently updating Chapter LXX of Twain’s Roughing It (via the historically natural map of “19th century bad handwriting” → “21st century bad software”) yields a fateful conclusion:

    Alas, it was too late, gentlemen — too late. Google’s criminal delay had done its work — young Aaronson was no more.

    His spirit had taken its flight to a land where all anxieties shall be charmed away, all desires gratified, all ambitions realized.

    Poor lad, they laid him to his rest with an Android in each hand.

    More mathematically, Scott’s essay inspired me to post, earlier today on the Mathematica StackExchange, the plaintive cri de coeurSporadic numerical convergence failure of SingularValueDecomposition“, which seeks Panglossian relief from a algorithmic bug of twelve years standing.

    To sustain our hope of improvements, it can be helpful to reflect that “Hope is itself a species of happiness, and, perhaps, the chief happiness which this world affords” (Samuel Johnson) 🙂

  35. fred Says:

    That will become even more confusing once we travel and meet in VR!

    https://www.youtube.com/watch?v=SCrkZOx5Q1M

    (yes, Google Earth VR is fantastic)

  36. dmck Says:

    But Google is always right. I know that because it snoops my email and decides what I *should* want to transfer to my calendar and what I *should* want to call it. And it still gets the time wrong.

  37. Raoul Ohio Says:

    This is a good example of a problem with no decent answer. People who are in many time zones in a given week are probably somewhat of a minority.

    Alexandre Z mentioned the difficulty of writing code involving time. Most major releases of Java have another set of brand new Time and Date classes, mostly fixing stuff that was screwed up in the last version, and adding new features that are likely to run into real world difficulties themselves. MS Excel has some date things that have always been intentionally wrong, because that way they agree with the mistakes in Lotus 1-2-3, introduced back when L123 compatibility was all that mattered.

    I have observed that a lot of people in TCS can’t program for squat. For those who think they can, I encourage you write a full featured Time and/or Date class.

  38. Raoul Ohio Says:

    BTW, where is Einstein when we need him?

  39. morgan Says:

    Haha, my first college side-project at UT was writing a Python script that fixed this. As an out of state student from the east coast, all of my events for when I arrived in college freshman year (move-in, orientation, meetings, etc.) were off by an hour. I hacked up a script with the Google Calendar API asking for origin and destination timezones to change my events en masse. It’s come in handy a few times.

  40. Hanan Cohen Says:

    More than 15 years ago I worked at a software company that developed and sold systems for mobile workforce management that was used by utilities and service companies.

    If we hadn’t solved the timezone problem, nobody would have wanted to even consider our software.

    If Google would have wanted to solve the timezone problem, they could.

  41. Craig Gidney Says:

    What about events like “chat with Dad”, “watch new episode of X”, “listen to earnings call”, “submission deadline”, “team meeting on hangouts”, etc? In all of these cases you’re coordinating the meeting time with other people who won’t be in the same time zone, and so you need to refer to a moment in time, not a local time of day.

    I think that as soon as they switched to “all times are local times by default” you’d find yourself missing meetings instead of flights. And that would be very ba—… Actually, I hate meetings. Let’s get this done right now.

  42. Sushant Says:

    Scott, not sure if this was suggested in any of the comments, but you can specify the time zone of an event in advance. Right next to the time of the event in the detailed edit, there is an option for time zone.

  43. Tom Wong Says:

    Until recently, I thought it was just me and Dana who had this problem. But then last week, completely independently, a student started complaining to me, “you know what’s messed up about Google Calendar?…”

    I’ll confess that I’m the one who complained to Scott about Google Calendar…

    Here’s my solution to make Google Calendar work like a paper calendar:

    To prevent the Google Calendar app from changing time zones when you travel, you can change the settings of the app to always use a specific, fixed time zone (your home time zone) instead of the device’s time zone (which is usually configured to use the network’s time zone, which changes based on your location). Now an event for 4pm will display as 4pm no matter where you are because it’s using your home time zone.

    On my Android, open Google Calendar, then go to Settings, then General, then disable “Use device time zone,” and specify the time zone you want.

    Now for a different problem:

    Say you’ve permanently moved time zones, and you’d like to change your home time zone in Google Calendar to your new one. That way, if someone in another time zone sends you a calendar invitation, it displays correctly in your new time zone.

    If you simply change your time zone in Google Calendar, all your existing events in your old time zone will shift to your new time zone. For example, if you entered an event for 4pm while living in California, changing your timezone to Texas will change the event to 6pm. If you want the calendar to act like a paper calendar, it should remain as 4pm.

    There’s no built-in way to change the time zone of all your events. But a solution I came up with is to export the calendar as an iCal (.ics) file. Then change the VTIMEZONE block (from Pacific to Central in our example of moving from California to Texas). Then write a script to go through all the datetime entries and adjust the hours. For example, 20170420T163952Z becomes 20170420T143952Z for the two-hour difference between California and Texas. Once you’re done, import the adjusted .ics file.

  44. Joel Rice Says:

    Bryan Lunduke was complaining about the Calendar
    one might google it – on youtube

  45. DLI Says:

    Bram Cohen #1

    Good point. I believe that reassembling Pangea would have a smaller cost than writing a date time module that actually worked.

    Alexandre Z #9

    Listen to this person. This is correct. When dealing with date time or/and time zones, the correct solution is to solve whatever other problem you need to in order to avoid the date time component OR setting up the logistics such that you can handle having an incorrect date time component in your product.

    Don’t look for ways to make this work. Look for ways to completely avoid having a concept of time altogether.

  46. Michael P Says:

    If you make the calendar static and require the alarm match whichever timezone you are in there may be another potential problem: your alarm may never sound at all if you are traveling East around the appointment time. Since current time jumps discretely as you cross time zones you are gaining the whole hour on your clock at each TZ transition, and that hour may contain your alarm.

  47. Raoul Ohio Says:

    It is likely that the various proposed fixes will prove to be partial fixes, further cluttering up a problem that might well have NO optimal solution.

    Presumably a decent system would give times in whatever time zone the user prefers. But how is that determined? Many people “think in” their home time zone on short or medium excursions into other time zones. How are you going to determine when someone decides to change mental time zones? Or, consider relativistic time issues, etc.

    For some entertaining time stuff, check out leapsecond.com, where you can see an atomic wristwatch (modeled by a strong guy!)

  48. Scott Says:

    Tom Wong #43: Sorry, completely forgot it was you! I changed “student” to “postdoc” in the post. 🙂

  49. Reading List for the Week ending April 28, 2017 – Reading Diet Says:

    […] If Google achieves superintelligence, time zones will be its Achilles heel (more like why google calendar sucks) […]

Leave a Reply