In response to an Executive Order, Google Maps updated their data source to reflect that Lake Ontario was renamed Lake America. Because of the way Google's regional defaults behaved in embedded maps, that US locale centric change was exposed to thousands of Canadians whose implementations had not explicitly set Canada as their region. My issue is not with the American government's decision to rename Lake America - the United States is a sovereign nation and I am not a citizen so what that country does is absolutely none of my business. However, I am a software developer, a startup founder and a consultant because people trust my opinions. And so instead, I take issue with Google's decision to implement the change quickly and allow it to flow through unspecified-region implementations without any kind of communication.

Before I begin, I have to share two very strong conflicts that I have in writing this. The first is that I am a proud Canadian and so I likely can't avoid letting nationalism colour this article. My second major conflict is that I use many Google products - Google hosts the email for this domain, I use Google Search Console and Google is my search engine of choice. Luckily I am not responsible for any Google Maps installations so incurred no maintenance burden and was not personally impacted by this change.

But for the last 24 hours, developers on Canadian websites have been forced to fix their Google Maps implementations because embedded maps began displaying Lake America. Google Maps decided to make that change instantly and implementations that had not explicitly set their region could inherit the American naming. In this case, they took a placename that predates the province of Ontario and wiped it out... replacing it with Lake America.

Google is an independent company and can make whatever business decisions they deem necessary. But their products are implemented by other independent companies and individuals and thanks to this change, many of us are being forced to evaluate whether Google Maps is a safe API to implement. Google has demonstrated that they will change their default API response instantly without any warning based upon on Executive Order. Again, they are an independent company and are free to do whatever they want. But MapQuest hasn't made the change. Apple hasn't made any comment whatsoever. But... Google went ahead and made the change instantly. There was no warning period - Canadian maps suddenly displayed Lake America.

While not technically a breaking change from a technical point of view, developers had to scramble to make a fix. Though Google's documentation was specific about the need to set a region, the response changed to reflect the current administration's point of view almost instantly.

Google can reasonably say developers should have configured the region. Developers can reasonably reply that an optional default used successfully in production for years had acquired an implicit behavioural contract. If you did not set a region, your application still produced a map that was apparently safe enough for major Canadian organizations to deploy. This incident demonstrated that the assumptions underneath that default were much stronger than many developers realized.

Now that Google has demonstrated that they will change responses instantly, should developers keep trusting Google Maps? Developers around the world are going to have to check their implementations now and make sure they are properly localized. Their clients paid the price of of thousands of pissed off end users who woke up one morning to discover that their transit map showed that Lake Ontario was renamed. Are any of these signs of a product that professionals who care about their clients should implement?

In the short term, it's usually a bad idea to change the services that deliver content to your website without thinking through the change and running an actual project. So the most efficent short term change is to follow Google Maps' documentation on how to properly localize your maps. With Google Maps in particular, it's a challenging lift because of how rich their API is and the sheer amount of information that developers can incorporate into their maps - this may not be a simple lift and replace.

But over the long term, developers have a lot of options. For new projects, I would seriously look at MapQuest over Google Maps. Some analysts like Carmi Levi have pointed out that this highlights the cost of not having Canadian Google Maps equivalents so maybe some enterprising entrepreneurs will look into their own Canadian-centric full mapping solution. Or maybe we'll even see a Canadian government hosted implementation of OpenStreetMap. But both would be expensive undertakings with a high risk of low user adoption and it would take a fully viable alternative years to reach par with existing services. It would certainly be valuable but ultra risky.

Until that happens, for most developers the decision has to come down to whether they can trust Google Maps to be independent, to warn them of changes and to make sure that their default response should be the default. Sadly at this point, I can't prove any of the three. And if I had a client who needed the best advice I could give, wherever that client was located, I would argue that Google Maps has demonstrated that its data and default localization behaviour can change in ways that materially affect a production application without breaking the integration itself. That's a tough sell to budget conscious clients... it's a tough thing for me to even want to sell.

Google Maps has demonstrated however that they will carry geopolitical assumptions through to their defaults. That's not merely a localization problem and we can't simply put another ticket in our i18n subprojects. It is an entire dependency management problem. I certainly did not want to have to start talking about region defaults and fallbacks when a client just wanted a simple map in their application. If I recommend Google, I'll have to now.