Can't shop for Windows Store apps using Chrome... But is Google being evil?

Can't shop for Windows Store apps using Chrome... But is Google being evil?

Summary: Like using Windows 8, but don't like IE? You might seem some curious behavior when shopping for Windows Store apps on the web using Chrome.

TOPICS: Windows

Here's a spot the difference for you - same URL to the Remote Desktop app on Windows Store, but one of these browsers is not like the others:

One of these renders is not like the other...
One of these renders is not like the other...

Strange - you can't "View in Windows Store" on Chrome?

OMG! Google is so evil! They are blocking access to the Windows Store on Windows 8!

Well, hardly. Here's an object lesson on why building an operating system and apps ecosystem is hard.


I was alerted to this by a tweet from Charlie Kindel (an ex-Microsoftie): "#Win8Fail: Open a link to an app like this (thanks @timheuer) and there's no way to jump into the Store to buy it." (Charlie had included the wrong link in his tweet, so I haven't included it here.)

What transpired that, as shown in the screenshot above, in Chrome there's no button to jump to the store. Find an app you like when browsing in Chrome and you can't get to it in the built-in Store app. (Even if you set Chrome as the default browser in Windows 8.)

The problem here is that the way Microsoft has implemented the button is weird, and I'll come onto that in a moment. IE supports the weirdness, Firefox sort of supports the weirdness, but Chrome doesn't. Microsoft's server detects when the user is using Chrome and doesn't include the button in the markup. (The same trick that it plays if you're using an OS other than Windows 8.)

The point is, it's not Google being evil. Google's the one getting this right.

Back in the mid-90s when I used to do a lot of desktop development, I used to enjoy writing custom URI protocol handlers. The idea of these is that instead of just having http:, https:, and mailto: protocols on the OS, you can write your own - such as foobar:. Put that special, custom protocol in HTML and when the user clicks it, it'll run your app. No questions asked. Click - boom - you're in.

In this case, Microsoft is using a custom protocol with the name ms-windows-store, which happens to be registered by the Store app on Windows 8. When you press the button, a special URI using this protocol gets passed to Windows and the Store app is launched. Simple.

This approach never really gained favor - partially because it fell into that "Microsoft is the center of the universe" thinking that pervaded the late 90s, but also because it ignores the fact that such protocols should more properly be defined as RFCs and subject to proper scrutiny, as opposed to randomly smeared onto devices by OS and third-party vendors. It's a nasty malware vector because it creates a single hop from browser into OS and into a launched app. Not something you'd want.

But, in the new world of Windows Store apps, protocols are actively encouraged. There are protocols for bingsearch, bingmaps, bingweather and so on. The capability to easily add protocols (and it is really easy) is part of the Windows 8 design concepts that bend away from the iPad's silo-like nature. Apps should be able to care and share about each other. Protocols let apps invoke other apps in a way that's safe and trusted. That Bing Maps URI presented above lets an app invoke driving directions in one line of code. In that sense, it's pretty cool. Native app to native app protocol linking is helpful.

You can try it yourself if you have Windows 8, do Windows+R and paste in the URL bingmaps://open/?rtp=pos.51.99720_-0.74220~pos.51.99437_-0.72629&trfc=1". It'll open up Bing Maps with driving directions.

(Case in point - if you're running IE on Windows 8, that link will work. But it won't on Chrome. And it sort of does on Firefox.)

All pretty clever…

But on the web, this approach is essentially wrong.

What I don't like about this is that it has the feel of very old school thinking. Microsoft has a lot of very experienced and talented developers, but with experience comes an understanding of approaches which have perhaps passed their time. You don't build websites with proprietary dependencies like this baked into them. That's how we used to do it in 1998, not 2012. There's a lot of this sort of thing in Windows 8, particularly when you look at how developers are expected to build Windows Store apps. The old guard is very much back in power over there, and here's another example. Microsoft is a better company when it's driven to deliver to open standards and applies modern thinking.

Essentially, Google is right to disallow this sort of link. If you create a web page with the Bing Maps URI in it from above and click on it - it does nothing. And why should it - there's no RFC describing bingmaps, thus the browser should assume it's evil.

The proper way to do this, just to round off the discussion, is to register a content type (e.g. application/x-microsoft-store). The user would download a file with this sort of content type and open it - the Store would then run. Incidentally this is how the custom downloader for the Amazon MP3 store works. It can be done with a decent enough UX, too.

But what Microsoft does now is anyone's guess. When you've got one ex-Microsoft guy and one current Microsoft guy scratching their heads about why the button doesn't appear in Chrome, it doesn't bode well for the average user. And the problem can't be fixed without updating the Windows Store app that gets deployed along with Windows 8.

What do you think? Post a comment, or talk to me on Twitter: @mbrit.

Topic: Windows

Kick off your day with ZDNet's daily email newsletter. It's the freshest tech news and opinion, served hot. Get it.


Log in or register to join the discussion
  • I think

    That chrome shouldn't be playing these pathetic games and get along with the program... I see absolutely nothing wrong with this.. all it does is make communication between apps easier and help users (even if they don't know what is happening behind the screens) get to the data they want faster... users don't like to have to download some "file with this sort of content-type" and run it... users want to press the button and have it work..

    Sorry but Google is juist abusing it's position here just like MS did in the 90's...
    • No, you didn't...

      think at all. Or at least you didn't read the article properly. Google isn't playing any games - that's the whole point here. Their browser works the way it is supposed to. They didn't play any game. Microsoft is the one who is playing games, not coding their web pages and applications according to accepted standards (as usual). Doesn't matter to me - I won't be using Windows 8 anyway. I'll stick with Windows 7 (as well as Linux, XP, and OSX in VMs) for at least another year or two until Windows 8 has been out for a while and we see if it's any good or not.
    • You In Too Big Hurry to Post... FIRST!!! didn't read the Story?

      This is Microsoft up to it's old tricks. They changed the "Markup Language". That means they aren't using standard W3C HTML or HTML5 even. Instead they've again decided to not just Think Different.... but BE DIFFERENT Too!

      Which means not only Chrome Browser, but any WebKit Browser is going to have the same problem in Metro. Opera too using the W3C Standard forms of Markup Languange (HTML or HTML5). Meaning nothing is ever going to be standard with Microsoft always changing the rules! go back and read what this story really says! ;-P
      • What tricks. Seriously. How come tired old Firefox works?????

        Sorry, but its the same old story from the Chrome lovers. If Google does it, its done the right way. If the rest of the industry makes it work, they all just have it wrong.

        Sorry. There is no excuse. Google could fix this and they will not.
      • Couldn't Agree More!

        True. I am a Microsoft fangirl, but you can't even go into Skydrive and try to open a document using word from Chrome. You have to IE.
        • chrome is right

          the scripts used to do this type of actions is not standard and using these kind of non-standard features in browsers compromises your PC, a single link of that kind can download and install virus/spyware without anti-virus or spyware even noticing. Good thing chrome doesn't support them
          • Chrome is not right because it uses a propietary method for custom protocol

            Chrome has an arbitrary and proprietary "web+" suffix requirement for custom protocols in the browser

          • Don't expect any response from the Gurgle fanboys on that revelation.

            They believe because a ZDNet bloger posted it, and it put down MSFT, it is therefore true and they can post with only that knowledge and NOTHING more.
            It's absolutely hilarious how far zdnet has gone to keep the ABM fanbois. The vocal minority also happens to be mostly loons.
          • Chrome is *more* right, but perhaps wrong

            If I understand the Chrome syntax right, you can only launch other web pages, not external programs. That is a significant difference.

            Not sure I like the Chrome web+ mechanism, but I certainly don't like IE's custom handlers.
          • Google onky applies

            Standards when it suits them, ask the IE and safari users who clearly asked not being tracked, but conveniently were ignorned by Google, even though both used standards that are readily described and agreed upon.
  • On a side note

    Seeing those 3 browser headers side by side, IE looks by far the most streamlined modern UI. Firefox is taking bags of space for that stupid orange button... and both are losing space on the button bars.. check the amount of "content space" below the 3 browser's headings... IE has the most valuable space to present content.
    • OMG, does one browser show five more pixels than another?

      x I'm tc
    • Oh, I see now ...

      you're a Microsoft shill! I should have realized sooner. "IE looks the most streamlined modern UI." What a load of BS. First, that's a completely subjective observation. Second, You do realize the appearance of the other two browsers can be changed, unlike IE, to suit your preferences.
      • the example is in the figure

        IE tabs and URL bar occupy less space. period. Yes, we all understand that the appearance can be changed. The question is, why would anybody want to occupy most of the space on the screen with these silly orange buttons or extra raws of stuff?
        • Why would anyone ...

          Why would anyone want to access their browser settings?
          • BTW, that was sarcasm

            When is this forum's software going to be fixed? :(
          • Well . . .

            apparently, . . .NEVER!!!
      • Unusual1, you always make ad homenem attacks at opinions?

        Wow, you wasted no time putting the OP in the MSFT shill corner over his opinion of the browser UI's. that is very telling of your personality. I'll be you reach anger quickly and have blown a gasket or two over posts you don't agree with. Nice life. Enjoy!!!
        Btw, if he's a shill because of an opinion, then the instant you gave your opinion back about the other 2 browsers, that made you a shill.

        good lord ZDnet, please don't let morons on here.
    • There's an addon for that ;)

      Well, there's an addon for that in Firefox - I use a "Tabs Always in Titlebar" addon to force my tabs to be on the same row as the orange button. Seems to work nicely.

      I suppose I could also force the URL bar to be on the same row as the tabs, but I'm a power user so I prefer to use a bit of vertical space for that. Which is fine, as I have a big monitor.
    • Looking at the screen shots...

      Firefox at least has something in that line, Chrome and Internet Explorer 10 use that same real estate for nothing that shows in the screen shot.

      Given the number of tool bars I often see installed, the extra line for separate address and tabs bars is pretty trivial on any decent monitor.