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).
HTML5
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
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.




Does a Java applet that is dynamically downloaded in a browser window for voice communication make voice a browser feature. If so there are a couple of such examples.
Aswath,
That’s good reasoning on your part – I seem to have neglected Java applets altogether in my decision making processes.
The thing is this – Java applets has the least amount of adoption by users, which makes it a problem to call it “browser based”. It was also why I have forgotten it without even noticing that fact.
I will need to look into it again though, to see if it affects my concept here.
Thanks!
Tsahi
I don’t follow what you mean when you say “Java applets has the least amount of adoption by users”? Are you suggesting that not very many have enabled their browsers with Java? If so I had not known that. What are the reasons?
We use the dynamic download concept in EnThinnai. Because of this, non-registered users can talk to registered users. Also we avoid interworking issues since both the ends of the same “client app”.
Aswath,
Java is something that doesn’t have the same install base as Flash. This means that Java applets are accessible to less people on the internet.
As for avoiding interworking – this might not work as well in voice calling, where people expect to be able to call anyone that can do voice calling. This might be taken by people to video calling in terms of the assumptions that they make, and it is why at the end of the day, interoperability between client apps will be required as well.
Steve Jobs and Apple are definitely going to be a problem in more ways than with video calling – with their obstinate refusal to support Flash on the iPhone/iPad, either vast numbers of users of those devices will be left out in the cold, or more likely we will stall in a war of competing standards, neither of which can win a decisive share of the market. See http://overstat.blogspot.com/2010/07/to-flash-or-not-to-flash.html as to why Jobs is wrong and Apple should back down (but won’t).
SEM Sensei