Hacker News new | ask | show | jobs
by jmillikin 4696 days ago
It's my understanding that YouTube officially supports access via either a Flash applet or the HTML5 <video> tag. Windows Phone doesn't support Flash[1], so the only option for writing a mobile app using the official API is to use HTML5.

It's not obvious why using the HTML5 API is "impossible". Windows bundles a <video>-capable browser; assuming IE's capable of playing either H.264 or WebM, it should be relatively easy to build a YouTube app on top of it. Maybe there's some internal reason why an app can't easily embed an IE widget.

[1] http://www.winrumors.com/no-flash-for-windows-phone-as-adobe...

3 comments

As far as I know this is exactly how the popular third-party iOS Youtube client Jasmine works. It used to be better than it is, but a couple of versions ago the developer mentioned that he was changing the means of showing the video to comply with Google's requirements, and it became a (relatively well-concealed) embedded HTML5 video pane.
Yes but as you say, the user experience became worse after that change. Google is forcing developers to implement a lower quality experience. This seems bad. Is it so they can maintain more control?
Yep, more or less; I'm fairly sure it's so that they can guarantee their ads are shown.
The Youtube website works fine in the browser. The point is to make a native app that launches instantly without taking up my mobile bandwidth, looks good with the rest of the OS, allows uploads with WP8's lack of file manager, can show me notifications, and so on.
The experience you can provide with an HTML5 app are many times subpar as compared to a native app. Note how facebook abandoned their HTML5 app and went native.
YouTube's API only requires the video player itself to be in HTML5, the rest of the app can be native or whatever the hell you want. The engineering work here is youtube hands you an HTML snippet (specifically an <iframe>), and you plop that into a UIWebView where you want the inline video to be and you're done.

https://developers.google.com/youtube/iframe_api_reference

The issue then is that Google will complain that the rest of the app doesn't adhere to all of Google's terms of services regarding displaying of ads, which are difficult to implement without their blessing.
There is no such ToS. Nor is there any "app must be HTML5" requirement.
What the hell does facebook's HTML 5 app have to do with the subject at hand? And how is HTML 5's experience subpar for a video app like youtube?
Calm down. So you think a youtube app with a big rectangle that plays video and another one that allows you to type the url is the right experience? Video playback is just one aspect of it. search, lists, subscriptions, commenting, uploading, tagging, etc.

As for facebook's app, I was commenting about HTML5 still not being the best option for mobile app development.

LinkedIn also abandoned their HTML 5 mobile app experiences.

the biggest problem with HTML 5 video is that it does not support adaptive bitrate streaming. notice that the desktop experience of YouTube still uses a flash player instead of an HTML 5 video player. notice that apple used QuickTime as their default player on their site.

in short, HTML 5 video player is an absolute last resort player.

  > notice that the desktop experience of YouTube still uses
  > a flash player instead of an HTML 5 video player
YouTube uses HTML5 on my machines, since I don't have Flash installed. It works fine.
Don't get me started on how terrible all of it is on Linux. Incapable of dual screen full screen in flash, HTML5 has to buffer every time you enter full screen mode.

Incredible slow performance, buggy, crashes. I actually have to boot into Windows VM just to watch flash/youtube.

Also note how sencha then went and re-created the new facebook app in html, showing that facebook was full of shit.
For one, Sencha's app doesn't allow commenting. For two, it doesn't support notifications, so "re-created" is a generous verb there.
Ah yes, comments. One of the hardest things to get right in HTML5. I have never seen it done well, you absolutely need native for that.
Sencha's app was a proof-of-concept. Their motivation was to show how and where facebook was "full-of-shit" which they did beautifully. If you read their respective articles, you can discern for yourself.