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