What Microsoft and Google's YouTube row says about the future of web development

What Microsoft and Google's YouTube row says about the future of web development

Summary: The Google/Microsoft YouTube dispute tells you more about the way software for the mobile internet is being developed than you might have thought.

SHARE:

When it comes to Google and Microsoft's dispute over Microsoft's Windows Phone YouTube app, it's clear there's very little common ground between the two companies. Google is insisting that Microsoft build its app in HTML5, while Microsoft is saying that it prefers to deliver native code. But despite their differences, there's one common theme in their narratives: both are saying that their way delivers the best user experience.

The death of the PC has been exaggerated: Get ready for the era of ubiquitous computing

The death of the PC has been exaggerated: Get ready for the era of ubiquitous computing

The death of the PC has been exaggerated: Get ready for the era of ubiquitous computing

At the heart of Google's complaint is one interesting statement: that Microsoft hasn't added features to the mobile version of IE that Google wants it to use as the heart of an HTML5 YouTube application. That may be true, as while IE10 on Windows Phone is a substantial improvement over Microsoft's earlier mobile browsers it still lags both Apple's Mobile Safari and Google's Android version of Chrome in its HTML5 support. But if there are essential features that Google uses on the web that limit what can be done on Internet Explorer, what are they?

Well, the first thing to do is find out just what works where. I have Windows Phone, iOS and Android devices (a Lumia 920, an iPhone 4, and a Galaxy Note) on my desk, all running recent versions of their respective operating systems. That meant I could compare all three, seeing how they support HTML5, and seeing how various Google properties rendered on each device.

The starting point of my investigation was running the three mobile browsers through the HTML5 Test site. There IE 10 (both mobile and desktop) score 320 points, iOS's Mobile Safari comes in with 386, and the Android version of Chrome gets a massive 410 points. That means there's quite a range of capabilities between the browsers — though when you drill down into just what’s supported, they all support the core features of the standard; with differences only arising in some of the more specialised HTML5 features that are unlikely to be present in consumer-facing web services.

HTMLtest
HTML5 Test results for (from left to right) Android, iOS, and Windows Phone

So if core HTML5 performance is unlikely to be a significant issue, we’re going to need to drill into things further.

One thing Google also says is that it wants to preserve the user experience in its properties. That's an admirable aim, and one that's easy to agree with. Unfortunately that requires consistency, and it's clear that Google is treating different platforms in different ways — even when they have similar capabilities. Let's start by looking at how the mobile sites for Google News, Mail and YouTube render on the three different platforms.

It turns out that YouTube is surprisingly consistent across the three operating systems, while Mail and News differ considerably.

Gmail
Google Mail on (from left to right) Android, iOS, and Windows Phone
News
Google News on (from left to right) Android, iOS and Windows Phone
YouTube
YouTube's mobile web site on (from left to right) Android, iOS and Windows Phone

Why's this? Well, there's one answer in that old adage that engineers scratch their own itches first. Walk around the Googleplex and you'll see lots of Android devices and the odd iPhone. So it's not surprising that Google’s own properties look best on those devices — they're where the itch is that Google's developers want to scratch. Open Gmail on an iPhone and its design is already starting to trend in the direction of iOS 7's minimalism. Open it on Windows Phone, and you’re getting flashbacks to the early days of Web 2.0.

But IE10 is a capable browser, with support for much of the HTML5 standard. So why doesn't Google deliver its full Android and iOS mobile web user experiences to Windows Phone users? That's not the case with some Google properties. We've already seen that YouTube looks much the same across devices, and it turns out that Maps has a very similar look and feel on iOS and Windows Phone.

maps
Google Maps mobile site on iOS and Windows Phone. Note the differences in the rendering of the input box in the menu bar.

But if you look closely at the header bar on the iOS rendering of Maps and compare it with the Windows Phone rendering you'll see some style differences between the two views, differences that give us a clue to what Google is — or rather, isn't — delivering to Windows Phone. Perhaps if we disguised a Windows Phone as another device we'd be able to find out just what’s happening in Google's page designs.

It turns out that there's a useful free app for Windows Phone that lets you switch the user agent of your browser, giving you the option of appearing as an iPhone or an iPad, or even a desktop PC running Firefox. That means you're able to see the iPhone and Android views of a site on a Windows Phone (or at least the HTML and CSS that’s supported by the IE10 Trident rendering engine and its Chakra JavaScript compiler).

Trying it on Google properties shows an interesting effect: the headers that it uses on its iOS and Android sites just fail to render in IE, even when it's masquerading as Android. Could it be that Google is relying on WebKit vendor prefixes to deliver its UIs?

windowsphoneasiphonenews
Windows Phone rendering the iOS version of the Google News site.

So how do we find out what code is being delivered to a browser? While mobile browsers don't have the debugging tools of their desktop relatives, desktop browsers can be disguised as mobile browsers with a quick change of user agent. I installed a user agent switching extension in Chrome (as I wanted to see if the pages had WebKit specific code that wouldn’t render in IE or in Firefox), and began to investigate the code delivered to iOS devices using Chrome's built-in debugging tools.

iOSGoogleNewsCSS
Using Chrome's debugging tools on the iOS version of Google News. Note use of WebKit experimental CSS prefixes.

Drilling down into the code of the header that didn't render on Windows Phone, it's clear just why it didn't work. Much of the header layout requires WebKit-specific CSS; and that's CSS that won't display in other browsers. In fact if you drill down into any Google mobile app, there's plenty of WebKit specific code all the way through the application.

Are the features that Google wants Microsoft to put into its browser those WebKit vendor prefixes? It's certainly relying on them in many of its web properties – and that would explain why it wants changes to Internet Explorer, allowing it to simplify the code in its JavaScript libraries and developer kits.

It's tempting to build apps that rely on the latest features, and if they'll run on most of the devices out there, well, the rest will catch up someday. But that's a rationale that assumes that the W3C will standardise on those experimental features, and that the resulting CSS and HTML markup will end up in new editions of current browsers quickly.

It's not just mobile where there's a problem; there are also compatibility issues on desktop PCs. One example of this comes from the toolbar Google recently deployed across many of its properties, in the wake of the launch of Google+. A drop down shows details of your Google+ account, at least on most of Google’s sites in most browsers. If you're using IE 10 it works just fine across most pages – until you get to one of Google's most popular sites, News. Roll over the Google+ notification icon here and the drop down tells you to upgrade to a more modern browser.

googlenewsie10
Google's News desktop site sees IE10 as an older browser, and doesn't render pages in standards mode.

Not everyone is going to be familiar with the options in Internet Explorer's F12 debugging tools, so they're not going to know that Google is forcing IE10 to run in IE9 standards mode on the News page. They're also not going to know how to switch the page to render in IE10 standards mode to make the error go away. It’s not that these are particularly complex bugs to fix — but IE10 has been out for a year now, and the bug is still there.

Google appears to be using user agent sniffing to deliver different experiences to different browsers — a poor approach to modern web design, especially with the current generation of responsive design frameworks and with modern browser’s support for CSS media queries. Whatever it is, when Google’s mission statement reads that it’s there "to organize the world’s information and make it universally accessible and useful", it makes you think that Google may need to take another look at what users consider universal.

Screenshot_2013-08-22-05-36-26
The latest version of the YouTube app on an Android phone. It doesn't look like HTML5 to me!

There's another question that needs to be asked. Why is Google using native code for its own YouTube app while insisting third parties work in HTML5? The rationale for an iOS native app is clear, as Apple doesn't let HTML apps use the Nitro JavaScript engine — giving native a clear speed advantage.

Android's fragmentation problem means that there are many different versions of Google's original Android browser still in use, alongside its current generation Chrome. With no chance of delivering a single user experience across all those devices, a native experience again makes sense as lets Google deliver a common experience to every Android device.

But why block a native experience on Windows Phone, where the heart of the OS is the UI, and where the browser doesn't support the WebKit prefixes that Google uses on Android and iOS?

What we're seeing are the results of many, many tiny engineering decisions, all made in isolation, but in the bubble of a WebKit world. What makes sense in that Chrome-powered world won't work everywhere. It might work on iOS for the moment, but as Google’s Blink WebKit fork diverges from Apple's WebKit, things are slowly going to stop working.

Living in a bubble doesn't work, even if your bubble is the dominant browser. It's time for the experimental prefixes to go away, and for sites and services to standardise on standards — not on what's cool today. And then we might even get a decent YouTube experience on Windows Phone...

Further reading

Topics: Google, Microsoft, Mobile OS, Web development

Simon Bisson

About Simon Bisson

Simon Bisson is a freelance technology journalist. He specialises in architecture and enterprise IT. He ran one of the UK's first national ISPs and moved to writing around the time of the collapse of the first dotcom boom. He still writes code.

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

Talkback

68 comments
Log in or register to join the discussion
  • The Rise Of A Feudal Internet

    The Internet has entered a feudal era. Each social-media site is its own little fiefdom, where the owner-landlord is absolute master. And we users are just tenants, serfs, bound by the Ts&Cs which can change at any time, and mean whatever the landlord wants them to mean anyway. And when a scuffle breaks out between these different fiefdoms, it is of course the serf-users who suffer.
    ldo17
    • Running your own website?

      Running your own website/service means you run it, not your users. YouTube will soon be deliver through a method that doesn't require a plugin (WebRTC). Microsoft officially never wants to support WebRTC because they didn't invent it. If you want the whole story read about WebGL that Microsoft recently accepted and that has been standard everywhere else for years. Microsoft no longer has the power it once did to dictate terms, this is very hard for Microsoft and it's fans to accept.
      alex_darkness
  • And all this....

    only applies to Microsoft. They're the only platform getting negatively impacted. Why? Because Google feels threatened perhaps?
    I actually hope Apple pulls the trigger on the iPhone 5C. And Nokia keeps pushing the limits with the Lumia 520. Together these will take on Google Android and slowly smother it.

    The only thing Google has is being affordable and being shoved down everyones throats. Soon there will be tough competition and Google will suffer.

    And rightfully so.
    Dreyer Smit
    • shoved down everyones throats

      Sure. Google put android source code on its servers. Companies have taken and used it on their devices. This is the exact opposite of what you are saying. Everywhere, I see windows billboards and the sunday flyers plastered with the metro tiles, TV commercials, and product placement everywhere. But, the throat has rejected from distaste but the billions spent on cramming is slowly succeeding in naive markets.
      drwong
      • What does Microsoft marketing have to do with this?

        Somewhere a village is missing its idiot. Go home!!
        chrislwoodruff
        • The point of the story is that Google is equating WebKit with HTML5

          Using WebKit extensions is just as wrong as was using IE6-specific goop 5 or 10 years ago. There is a standards process for HTML. There are standards. Using vendor-specific features breaks those standards. Breaking those standards "breaks the web".

          This has nothing to do with Microsoft marketing and everything to do with Google doing the same thing they said Microsoft fostered years ago - breaking the web by using proprietary HTML stuff.
          Flydog57
  • Well written!

    Google's claim of universal access - well, it seems to mean Google's universe.

    This is not going to last too long.
    Krishna_Prasad
    • Well written! - Agreed

      It's refreshing to see an article that presents the facts on both sides.

      I myself am heavily invested in the Google mantle. But this issue is an extension of the Microsoft/Google feud. Microsoft is using PR and a wide brush with its "Scroogled" campaign; Google is trying to pick off its victims one at a time with the IE9 trick on the Google+ and similar pages.

      I read Microsoft's response to Google's rejection of its YouTube app. Reading all this additional detail creates a more complete picture. What it shows me as a mobile developer is why I (still after reading this article) feel that mobile web apps are not the holy grail that those who support it make them out to be. It's easier to create interfaces natively - iOS and Android and I'm sure Windows Phone (although I can't confirm WP). Add the inconsistencies in browsers across different mobile OSs and it makes mobile web apps even less attractive. Mix in the need for middleware such as PhoneGap and native development looks like a supermodel by comparison.

      I know, expect and hope that those who disagree with my position reply to this post. Perhaps my negative experiences with working with mobile web apps is due to something I'm missing. But this modern browser war makes it unappealing and I think one of the things that will keep mobile web development a second class citizen.

      (P.S. Isn't funny that Microsoft is the browser getting "picked on" now? Wasn't it IE that was bullying Netscape during the original browser wars in the 1990's? I'm just sayin' ....)
      tallbruva
  • "But why block a native experience on Windows Phone"

    To stick it to 'the man' - microsoft. MS has done it for 3 decades it to kill competition and make boatloads of $$$. Google just wants payback for MS, and I applaud that. Part of doing no evil is fighting the evil.
    Please read this document for some background on MS's greedy anti competitive tactics.
    http://www.ecis.eu/documents/Finalversion_Consumerchoicepaper.pdf
    drwong
    • Hypercrite!!

      Funny how you think 2 wrongs make a right. We are talking about today and the current environment. Google has been doing this for years also. I guess you give a pass to Google for bad behavior. Typical Google apologist.
      chrislwoodruff
    • What about the users?

      What does this mean for the users of Microsoft products? A lot of people still use Internet Explorer. Whatever Microsoft's sins may be, how is it just to punish their users, who had nothing of substance to do with this? Do you turn potential customers away because you don't like the car they drive, or the style of suit they wear?
      Third of Five
    • When...

      ...was Google ever impacted by this kind of behavior from Microsoft? Seems to me they became an awfully huge company while being born and raised under Microsoft's despotism.
      jvitous
      • Google was never "raised" under Microsoft...

        It used Linux for all the servers...

        And produces a better search engine than MS...

        And has more popular services than MS...

        Mostly by providing good service.
        jessepollard
        • Rigggggghtttt....

          ...they made their fortune selling things to those who expect everything for free.

          What percentage of Google's customers (the only ones who matter when it comes to revenue) are on a Windows platform? And how much higher was that percentage 10 years ago? Who gives a rats ass what Googles servers run on? Servers are not Googles customer base.
          jvitous
    • What is the color of sky in your village?

      go home.
      Ram U
  • Sponsored by Microsoft & Nokia Lumia

    Sponsored by Microsoft & Nokia Lumia lol
    Felipe_Ampuero
    • and what are you

      Sponsored by google?! Booomm!
      Koymik
  • Steve Jobs, Flash and HTML5

    Steve Jobs does not support Flash on iPhones because he wants to foster HTML5 as a way of delivering applications over the internet. This is one of the core technologies of the web. HTML5 will allow us developers to create cross-platform applications which will run on any tablet or smart phone, from any vendor connected by any carrier. This is a dream of all developers. Write once, run anywhere. We were promised this with Java but Java never gained the support that HTML5 has. All companies should port all their front ends over to HTML5. Once that is done, it is done. Microsofts applications will run on iPhones, Androids, Blackberries, Ubuntu Edge, Desktops, Laptops, Mainframes, Super computers, Galaxy Cameras, Smart watches, Google Glass... Just Imaging a world in which you can run Microsoft applications on everything. This argument like the Hatfield's and McCoy's will go away. HTML5 is what all of us should work together to have it available everywhere because everybody will gain, not just Microsoft or Google.
    tjordanchat
    • Not the debate

      The discuss is that Google even though they write apps in HTML5 still us platform specific code and detection when users go to their web apps. Microsoft will and does use HTML5 but wants the equal from other players in the industry. Microsoft as well as Google and Apple need to start using HTML5 standards instead of platform specific toolkits like WebKit. Hopefully Microsoft will be there with IE11.
      chrislwoodruff
      • Or Microsoft can stop holding out and join the party

        with everyone else using WebKit. Anyone on this forum old enough to remember Netscape remembers that Microsoft tried to make vbscript the standard language of the web. They lost to javascript. But that didn't stop them from trying.

        And now that everyone has jumped on the Webkit wagon, according to you Google is wrong for not including Microsoft fringe web browser in the mix. Don't believe it, check out the looooong list of Webkit browsers then ask yourself: If everyone else is using Webkit, why is Microsoft holding out?

        http://en.wikipedia.org/wiki/List_of_web_browsers#WebKit-based
        tallbruva