Ever asked yourself when will video calling or even voice calling become something prevalent over the internet? I am afraid that the answer is “not so soon”.
For this to happen, there are two distinct technologies that come to play: HTML5 (which is still in its early days) and Flash (which is installed on most web browsers worldwide).
It seems like the two missing pieces to get video calling going in a browser is having the ability to receive video and to send it. Both pieces are being worked out in latest drafts of HTML5:
- There’s a new <video> tag that can be used to receive a video stream
- There’s a new <device> tag that can be used to capture images off a camera and send it out
And now the problems…
The <video> tag
The <video> tag is geared towards streaming YouTube video clips. Nothing more and nothing less. Looking at the YouTube API Blog gives the impression that real-time video will reveal some issues with timing, buffering and latencies with the video tag (I’ve bolded the interesting tidbits):
“Closely related to the need for a standard format is the need for an effective and reliable means of delivering the video to the browser. Simply pointing the browser at a URL is not good enough, as that doesn’t allow users to easily get to the part of the video they want. As we’ve been expanding into serving full-length movies and live events, it also becomes important to have fine control over buffering and dynamic quality control.
The HTML5 standard itself does not address video streaming protocols, but a number of vendors and organizations are working to improve the experience of delivering video over HTTP. We are beginning to contribute to these efforts and hope to see a single standard emerge.”
So we’re still missing with HTML5 dynamic control over the video stream that is being received – the ability to provide feedback in real-time in a standardized fashion – things existing in video conferencing systems for over a decade.
Add to that the fact that only the latest browsers support the video tag and you get something that is hard to rely on. Yet.
The <device> tag
On the <device> tag front… well – it is brand new. Still a draft. It theoretically allows capturing and sending data from a camera or a microphone.
Here’s a recent question on Stack Overflow about the new <device> tag:
“Unfortunately, no browsers support the device APIs yet. The specification seems to be in a rather early stage and can be found here – http://dev.w3.org/html5/html-device/
Ericsson Labs did a blog post with some snippets of code which is great, but there’s no playground to try these out.”
We might be able to receive videos, but we certainly aren’t going to send them over using HTML5 any time soon.
Flash is a different story. While it does support encoding and decoding of video, along with the relevant control functions that can be added in a proprietary fashion for your video calling application, there are a few drawbacks for using Flash.
- Apple. For some personal reason, Steve Jobs has something against Flash. Up to the point of not wanting to have any support for it on his precious platform. While these are a minority in terms of market share, Apple’s users tend to be the loudest ones, so not supporting them comes at a price.
- Video encoding on Flash can only be done in H.263 – a video codec that is too old. Without support for H.264, the resolution, quality and bandwidth you can achieve are just not enough to do anything more than a Chatroulette session.
Video calling requires an application
Why am I blabbing here about this issue?
Besides the usual suspect of a sales person asking a question, there’s the issue of Google’s contemplations of doing a Google Voice desktop application.
Michael Arrington from Tech Crunch is reporting of a delay and maybe a ditching of the desktop application of Google Voice. He has this to say about the move:
“But there may be a hard line when it comes to pure desktop apps like Google Voice. So the team has been sent back to the drawing board to try to make a workable soft phone that will work entirely within the browser using HTML 5.
Possible? Nope, not today, and not at scale, say our sources. Skype tried for years to create a browser based version of the service and never launched. The biggest problem is around proper integration with the microphone, it’s just really hard to get good sound quality with HTML 5 today.”
And that’s only for a voice application – no video…
Add to that Andy Abramson’s quick review of this desktop application and you can understand why video calling has a long way to go before it becomes a web browser feature.