Camen Design

c share + remix

The End of Video for Everybody!

Video for Everybodythe ugly kludge that it is—has seen more success than anything else I’ve made. The whole spat over Flash and the iPad really raised awareness of the need to get video out of Flash and into HTML5 where possible. Everybody has already said it better than I could.

What I have noticed is that VfE has taken on its own kind of momentum. I’m seeing anything up to 50 tweets a day mentioning it, and almost every blog post and news article discussing Flash and the iPad includes someone posting a link in the comments, if the article itself is not already linking to it.

Anyway, getting to the point, VfE is a fall-back mechanism and as such as time goes by and browsers fall out of use, it doesn’t have to fall back so far any more and we can drop fall-backs—Video for Everybody is a vanishing mediator. It exists to bridge the gap between the disparity of Flash and HTML5 and will fade away as legacy browsers are no longer needed.

Personally, I’m ready to kill VfE now with the next version, but I think in reality it still needs another two years for it to reach developers everywhere and for HTML5 video (without requiring JavaScript sniffing) goes mainstream—and it will, because Flash will never reach as many and as diverse as platforms as we will have in many years time when—as it is in Japan right now—more people browse from mobile devices than desktop browsers.

VfE is just an empty template that creative developers who “get it” can take and adapt to something more polished and practical for the mainstream. SublimeVideo is not based on VfE but does demonstrate what’s possible with JavaScript controls and that other than legacy browsers Flash is not required for playing videos any more. Sublime makes the huge mistake of not falling back gracefully (no video download links), yet, and not being free for commercial use.

VfE needs something that I am not able to provide it: a clever developer who can wrap VfE up in a developer friendly and especially, consumer friendly interface with beautiful, JavaScript-added (i.e. hidden if JS disabled) controls that are mirrored in the Flash player (I can’t write Flash software). UniversVideo kind of does this, but it needs to be more like SublimeVideo, use minimal JS and provide control compatibility between HTML5, QuickTime and Flash.

I wrote VfE for two reasons. The first was developers were (and still are) doing HTML5 video wrong—no fallback message / download-links, non-free, lots of bad examples of JS-only insertion and generally botched code and a complete lack of testing. It’s infuriating to think that so many developers—especially Mozilla, the very people who should “get it” the most—don’t seem to “get it”; that <video> is no more sophisticated than <img> (which supports multiple ‘codecs’) and should never require any JS to insert into the page. This is simple. You people who are so beset with avoiding change are making this complicated—this is nothing like the days where every user had to install QuickTime, Real Player and Windows Media Player to view content online. VfE was therefore invented to shock developers into doing the right thing with its stunning obviousness and simplicity (No JavaScript, imagine that! :|).

The second reason I wrote VfE was that because I don’t have Flash installed I discovered just how far developers have slipped into a comfort zone where nobody does accessible fall-backs of any kind, for anything.

Adobe’s “open” government website. A big, blank Flash square.
Adobe’s “open” government website. Image courtesy of Ars Technica

It’s shocking to think that so many websites already have H.264 video files that they want to show you, yet insist on wrapping it in a crashy, unreliable and slow Flash shell without any kind of fallback, not least allowing users to actually download the video in question so that—I don’t know—they can view it. This is absolute madness and indicative of a closed web lead by a company that blinds developers into being locked into a single-vendor solution.

And this maddening scenario (being needlessly locked out of the videos I want to watch all for the lack of THIS insanely difficult bit of code to grasp: “<video src="abc.mp4" />”) is still happening.

I include this e-mail I sent here, in the hopes that it helps get things moving.

Dear LRR Crew / Staff of The Escapist

You’ve needlessly stopped me from being able to view your videos. This is not good. I don’t have Flash installed (something… bad… happened, in the past) and I relied upon your QuickTime uploads and hacking YouTube to use HTML5 video.

The massive shitestorm surrounding Flash / the iPad should be a clear indicator that wrapping Flash around videos is not the way we get things done on the Internet in this day and age, no sirree. If the iPad ends up successful as the iPhone, then that’s a lot of people who can’t view your videos for the sake of what… branding? Adobe, a gun, and Stockholm syndrome?

There are better ways—ways that involve me, actually being able to watch your videos! And nobody even gets hurt! It’s called Video for Everybody, and I made it so that website authors could easily provide a means for everybody to view their videos; yes, even those people who don’t watch LRR.

It works by using HTML5 video where available (Firefox 3.5+, Chrome 3+, Safari 3+, Opera 10.5), falling back to QuickTime if not available, and falling back to Flash if that’s not available. All without JavaScript or browser sniffing.

Frankly, I’m disappointed LRR / Escapist, and that makes me want to commit violent acts of violent video game violence. Violently. Please provide access to your videos in a more non-Flash way so that I may once again see them. I would even be willing to offer my programming skills—for free—to help the Escapist develop a custom HTML5 video player with all the bells and whistles. There’s a similar video player here: that shows that HTML5 is perfectly capable of anything Flash is, without the crashing.

Kind regards,

Kroc Camen.

The last thing to note is that I am well aware of the issues with H.264 patents and costs, and others have called me out for being a hypocrite when it comes to me proselytising an open web when I’m supporting the H.264 patent trap with VfE. Video for Everybody was not written for me. It’s not something I will use on my own website for videos, I don’t have the bandwidth anyway. Video for Everybody was written so that website owners who are already using H.264 (inside Flash) can let me see their content. They already made the decision to use H.264, I haven’t changed that one bit, I’ve merely offered them some different HTML to show videos. I’m trying to be pragmatic because I know the mainstream web will simply not hold to my ideals of HTML purism and creating a solution that nobody will use is useless.

The H.264 thing will sort itself out in due time, Video for Everybody makes no difference to that as all it does is swap one H.264 decoder (Flash) for another, as well as guiding users to begin to provide Ogg as well. Just as Video for Everybody is a vanishing mediator between Flash and HTML5, so it is a vanishing mediator between H.264 and Ogg. Patience.