Hacker News new | ask | show | jobs
by beagle3 4696 days ago
> I wonder if the HTML5 requirement can considered reasonable. Why does the server's web service API care if the client is HTML5 or not?

Yes, it is very reasonable.

The server doesn't, but google does. The HTML5 requirement means that google can change everything about their service (e.g. they can switch the ads from being h264 videos today, to javascript games tomorrow, to 3d interactive items the next day when 3d screens become the norm on phones). If they had to expose an "ad inventory API", they couldn't change these things without breaking older clients.

An analogy: Microsoft relies on the TCP packets coming from YouTube being always 100 bytes or less (because they are). Google says "no, you must use a general TCP stack, because one day we might want to make our packets longer". Microsoft dedicates significant engineering resources to examine the possibility, and at the end of the day recognizes that even though they have a general purpose TCP stack, switching to it will result in some inconvenience to users. So they release an app that has a TCP stack that expects 100 bytes or less -- and google refuses to serve it.

This is exactly the same, except at a higher abstraction level. Google doesn't care to spell it out, because anyone who is capable of understanding that issue already does.

2 comments

What does the app being written in HTML5 have to do with Google changing the API? The app would still have to be updated when the API changes. Additionally, if that were a concern of Google's, why aren't their apps written in HTML5?
> What does the app being written in HTML5 have to do with Google changing the API?

Everything. As I explained above, please reread.

> The app would still have to be updated when the API changes.

With an HTML5 API, the API can be stable and still support many new features, video formats, ad formats, etc without change. NOT SO if you don't let google have their iframe.

> Additionally, if that were a concern of Google's, why aren't their apps written in HTML5?

Because they can update their own apps whenever they want to, but they cannot force Microsoft to.

>Because they can update their own apps whenever they want to

No they can't. Not on the phones, where it matters.

Yes, they can; they can have the older app say "you need to upgrade your app" (likely with a 60 or 90 day grace period), and put the new one on the play store. Alternatively, maybe their native client already falls back on an HTML5 alternative on a cue from their server - I have no idea.

What is clear from this debacle, though, is that Microsoft was unable to write their app according to Google's guidelines, and then took 3 months and still couldn't fix it - which means that Google definitely cannot expect them to upgrade to newer APIs ever - so it doesn't seem onerous to require them to actually use the official API now.

The HTML5 requirement stops YouTube apps from having any control over the experience. They barely even deserve the name 'YouTube app' any more. They're closer to 'YouTube embed containers'.

Google isn't forcing Microsoft to write better code. They're trying to force Microsoft to write no code at all, and instead execute whatever javascript comes from the Google servers, sight unseen.

Google is refusing to provide a real API that deals in discrete chunks of data, where the consumer chooses how to interpret them. Even though Microsoft is willing to display ads or presumably do anything else Google asks for that its own apps do.

> The HTML5 requirement stops YouTube apps from having any control over the experience

That's demonstrably false. Have a look at the "Jasmine" app for iOS - it's way, way better than the official iOS client, despite using the same HTML5 API. It does NOT, in any way, provide a degraded experience compared to the official app using.

> and instead execute whatever javascript comes from the Google servers, sight unseen.

Well, yes. Microsoft also doesn't vet the videos it is going to show - google might instead stream rickrolls. Google is not asking Microsoft to execute arbitrary javascript (which allows e.g. stealing credentials). They're asking them to use an iframe, which is perfectly sandboxed. And they actually need to run javascript for functionality - I don't know if you've noticed but Google keeps adding features like captions, annotations, multispeed, multiquality, etc - they need to run code so they can add more features and make them accessible to all.

> Google is refusing to provide a real API that deals in discrete chunks of data, where the consumer chooses how to interpret them. Even though Microsoft is willing to display ads or presumably do anything else Google asks for that its own apps do.

Well, Microsoft is refusing to let me sell Windows Premium addition DVDs for $10, even though I'm willing to pay them the $0.50 that a DVD costs, and displaying their logo and whatever it is they do themselves when they sell a Windows equipped computer on the Microsoft store.

Do you realize how stupid it sounds? Google/YouTube is not a charity, nor a utility, and not even a monopoly. They're accessible on Windows Phone, and they're happy to have Microsoft play according to the same rules they set for everyone else. I understand Microsoft is really not use to playing by the rules, granted - but that's hardly Google's fault.

> It does NOT, in any way, provide a degraded experience compared to the official app using.

It doesn't? Because one of the other posts in this thread says that it is degraded.

> Well, Microsoft is refusing to let me sell Windows Premium addition DVDs for $10, even though I'm willing to pay them the $0.50 that a DVD costs, and displaying their logo and whatever it is they do themselves when they sell a Windows equipped computer on the Microsoft store.

Okay, I can work with this analogy. First off, Microsoft would be giving Microsoft-made DVD printers to the other major stores and letting them do the exact same thing you want to do, on official Microsoft hardware. And you've worked hard to make your hardware be up to spec to theirs, but they don't want you to be in business so they only let you use the method that gives them more control: buying full Windows boxes for $0.50 and packing them with the computer. But they won't let you actually take the disc out of the box and install Windows yourself, leading to a degraded experience.

It seems like a reasonable request to me now, though Microsoft can refuse if they want. But they can't call themselves 'open' at the same time.

> They're accessible on Windows Phone, and they're happy to have Microsoft play according to the same rules they set for everyone else. I understand Microsoft is really not use to playing by the rules, granted - but that's hardly Google's fault.

Google is the one explicitly providing an app that doesn't follow the rules. I'm sure Microsoft would be thrilled to not have to write their own app, but they've only tried to write an app that follows the same rules as the official apps. If they can't, then it really sounds like it's not open. Half-open, maybe.