The End of Video for Everybody!
Video for Everybody—the 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. 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.