Sunday, March 21, 2010

Video & video-conferencing on the web & smartphones: the nightmare of incompatibilities

Flash brought us YouTube, DailyMotion and generalized streamed video, on 99% of PC browsers (through plug-in).
The latest version even handles webcams and desktop sharing, wonderful!

Meanwhile, Apple brought us the wonderful iPhone and a generalized mess about video.
Their iPods & iPads don't even have cameras.

Back to bad old days?

In the "video case", Apple underlines that a right solution for video on smartphones must be built-in and highly-efficient.
Perfectly right.


Let's take a look at the "video landscape" today:

* Adobe Flash:

On every PC browsers, as plug-in.
Video through FLV files (MPEG4 equivalent), can be served by any web server.
Captures webcams easily. Allows video-conferencing through browser
(e.g. adobe connect, dimdim.com, ...)

Available as PC applications with Adobe AIR rich-client platform.

Not available on iPhone, prototype on Android.


* HTML5:

Built-in on HTML5 browsers (Firefox, Safari, Chrome, Opera,... all but Microsoft IE - may become available in IE9). Progress has been slow for years because of Microsoft IE supremacy (innovation in this field was contradictory to their interests).

Problem with video format: Apple favors MPEG4, which suffers from licencing restrictions.
Firefox & DailyMotion favors Ogg which is free, but still marginal.
No consensus on encoding format in W3C. Adoption is therefore limited.

Available on iPhone & Android

On webcam side, ability to capture has just been added to the HTML5 spec and will take months and propably years to widespread.

For PC applications, you need to embed a browser.


* Java (Sun, now Oracle):

Dramatically late on these matters. JavaFX lags years behind.
No proper way to provide webcam capture in Java application (JMF is just pre-historical)

The only hope would be to embed HTML5 browser within Java applications (or be able to communicate between browser and applets). But even on these paths, they're moving very slowly as far as now.

Not available on iPhone and very limited on smartphones, generally speaking.

Special notice: Oracle could however decide someday to enter the arena seriously, which would be an amazing complement to Java on the client side.
They could buy the Mozilla Foundation (Firefox & Thunderbird, whose revenues depend too heavily on Google), for instance...


* Misc:

-- Silverlight : all the cons of Flash without the pros (limited availability)

-- Skype : good for person-to-person conferencing, but hard to embed in any application.



As you see, the current divergence makes things very complex on video broadcasting.
Try to watch on your iPhone a video posted on Facebook: impossible.
Try to watch on Firefox an html5-mpeg4-video: impossible.
Try to watch on Safari an html5-ogg-video: impossible.


The right path seems clear: built-in video capability in browsers with licencing-free encoding format + ability to capture webcam straightforwardly.

Unfortunately, we are years away from this.
Except if Adobe manages to impose Flash to everyone, which is very unlikely and is not ideal for smartphones.

The current situation dramatically limits innovation.
So frustrating!!

No comments: