Hacker News new | ask | show | jobs
by Kylekramer 4696 days ago
The article makes it seem like Google was working with Microsoft on allowing a Youtube app until Microsoft said they didn't want to play by Google's rules and published an app anyway. I don't think being open means you have to let third parties dictate the terms of their use of your stuff.
2 comments

The whole article was written to point out that Google's not as "open" as they proclaim they are. In reality, they're just another one of the big guys. Apple is "Beautiful", Google is "Open". Neither of them is either. It's all marketing.

It's in Microsoft's favor to damage that image. Don't take it personally.

And my point is that Microsoft's article fails to convince me of that. I am sure the image Google would like the public to have about their openness and the reality don't match up, but in this particular case I fail to see any Google hypocrisy.
>I don't think being open means you have to let third parties dictate the terms of their use of your stuff.

Then what does open mean? To me it means to provide an API on an equal footing among the various platforms. If Google is providing access to secret Web service APIs to their Android and iOS Youtube Apps, but not to Windows Phone, how is that open? Requiring to show ads is still understandable, but requiring HTML5? Why do they care if it's HTML5 or something else? It sounds fishy, and Google should come out with a real reason for requiring HTML5 if there is one, after all they call themselves open.

It is probably well within their rights to screw around since it's their stuff, but lets not pretend it's open. Didn't MS get lambasted for private APIs in Windows? Why does Google get a free pass now and get away with calling itself open?

> Then what does open mean? To me it means to provide an API on an equal footing among the various platforms.

To most of the world, it means "you can interoperate with me as long as follow my terms and conditions", with those terms being considered reasonable. it does NOT mean "I must let everyone compete with me on equal footing".

Even granting your point which I think is a bit of a stretch for "open", I think there are some unreasonable requirements at place here.

>"you can interoperate with me as long as follow my terms and conditions", with those terms being considered reasonable.

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?

Microsoft says this in their post:

>There was one sticking point in the collaboration. Google asked us to transition our app to a new coding language – HTML5. This was an odd request since neither YouTube’s iPhone app nor its Android app are built on HTML5. Nevertheless, we dedicated significant engineering resources to examine the possibility. At the end of the day, experts from both companies recognized that building a YouTube app based on HTML5 would be technically difficult and time consuming, which is why we assume YouTube has not yet made the conversion for its iPhone and Android apps.

Google's statement is totally mum on the matter except for "it violates terms of use". If they want to call themselves open, they should atleast let us know what the HTML5 requirement is about, as it is certainly strange for a web service API. And in my opinion this makes it a 'unreasonable' condition for an open API and Google's silence does not help it. I do think Google is within their rights(absent monopoly concerns) though.

> 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.

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.

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.