Misspelling “Windows Phone” Makes Google Maps Work (Explained)

Yesterday, it was late and I was tired and I was looking at all the news about Google Maps not working on Windows Phone, redirecting instead to the Google home page.

Google is saying:

The mobile web version of Google Maps is optimized for WebKit browsers such as Chrome and Safari. However, since Internet Explorer is not a WebKit browser, Windows Phone devices are not able to access Google Maps for the mobile web

Everyone at Microsoft (where I work) who works closely with Windows Phones (as I do) knows that IE10 on the Windows Phone 8 and IE10 in Windows 8 use the same rendering engine. So I decided to demonstrate this with a little video in which I manipulate the User-Agent header to show that Google is specifically targeting Windows Phone to block from Google Maps.

Normally, I’d just let this video speak for itself. Unfortunately, what was meant to be kind of a throw-away joke that I put on the internet at midnight on a Friday has gotten over 18,000 views in less than 24 hours. That’s a lot for someone like me, so I thought it would be good to explain in a bit more detail what is going on here.

When I show the maps not working the second time, I chose the user agent “Windows Phone 8.0” because it has no real information in it. The real user agent for Windows Phone is

Mozilla/5.0 (compatible; MSIE 10.0; Windows Phone 8.0; Trident/6.0; ARM; Touch; IEMobile/10.0;[manufacturer];[model]

No device in the world uses the user agent “Windows Phone 8.0” as the browser user agent and yet Google redirects it.

But when I misspell “Windows Phone” to be “Windows Phne”, I get to a version of the maps that works. I believe that this is because Google is actually looking for “Windows Phone” in the user agent string and then performing a redirect if it is present. This is why I decided to misspell it. If we break their search for “Windows Phone” in the user agent header, Google lets us get to Google Maps.

And (this is the important point to me) Google Maps works if we trick Google into letting the Windows Phone access it. Now, the desktop version only works so well on a mobile phone, but what if we tried to use the user agent for Firefox for Android? That’s not a WebKit based browser either but it’s on the mobile web, so it should fit Google’s criteria for “things we don’t support”.

Mozilla/5.0 (Android; Mobile; rv:13.0) Gecko/13.0 Firefox/13.0

We get a version for Firefox for Android that works well enough on Windows Phone.

image

So what doesn’t work? Any user agent with “Windows Phone” (versions don’t matter) or “IEMobile” are redirected. Everything else gets through and it looks like everything else works.

There is, I think, a charitable explanation here. It could be that the Google Maps team felt that the Google Maps experience wasn’t up to their standards on a Windows Phone device and they didn’t want to take the time to bring it up to par so they just nuked access to it. That would be in line with their official statement above.

Although I would disagree with that, I can understand it. However, if that were the case, as a Windows Phone user I wish they would simply state that and point users to alternatives. An invisible redirect is just confusing and frustrating to users.

28 thoughts on “Misspelling “Windows Phone” Makes Google Maps Work (Explained)

  1. Google has decided that its users of their well-liked Google Maps service will begin becoming charged a fee for utilizing their service. Websites that are going embedding a Google Map of their location will be charged a fee for usage.This new Google Maps fee is going to hit mostly the bigger companies, particularly the Travel industry. I suspect that certain websites that are the heaviest users would be websites like TripAdvisor and Expedia.-;

    Most current posting produced by our own web page
    http://caramoan.ph

  2. So, I would like Google to explain to me why with my Symbian Nokia N8 I can access maps.google.com and get such a terrible experience and with a better phone such as the WM8 Lumia 920 on IE 10 I cannot?
    In my opinion in this occasion (and a few increasing others) Google failed to abide by its own principles! So.. Bing rocks! 🙂

  3. Is there a way to permanently (or temporarily) change the UserAgent string that the IE10 mobile browser sends? Perhaps a proxy app on the phone itself that simply re-writes the UserAgent header would work? Not sure if these things are possible on the Windows Phone 8 platform

Comments are closed.