WebRTC is a powerful new tool that enables web app developers to include real-time video calling and data sharing capabilities in their products. While many of us are excited about WebRTC because it will enable several cool gaming applications and improve the performance and availability of video conferencing apps, WebRTC is proving to be a great tool for social apps. Sometimes when you’re chatting with a friend, you just want to click on their name and see and talk with them in real-time. Imagine being able to do that without any glitches or hassles, and then while talking with them, easily share almost anything on your computer or device: vacation photos, memorable videos – or even just a link to a news story you thought they might be interested in – simply by dragging the item into your video chat window.

This has become a reality. We’ve created a demo that combines our Social API and WebRTC. You can talk and share in real-time, while chatting, as if your friend were in the same room. Take a look at the video above, where our Chief of Innovation, Todd Simpson, runs you through some of these cool future features.

getUserMedia allows a developer to capture the user’s camera and microphone data (with the user’s permission) easily. It was actually pretty complicated for a browser to capture camera or microphone data before getUserMedia. Expect to see browser apps that can capture and readily manipulate camera data (think Instagram) popping up as this new technology takes off.

PeerConnection enables the audio and video calling. It is secure, hassle-free, and peer-to-peer. This means you can expect high quality, low delay, encrypted calls from one WebRTC browser to another. This is also something that was incredibly difficult for a browser to do until now. Prior to WebRTC, video calling applications were either stand-alone, isolated apps (like Skype) or browser plug-ins which lacked the tight connection to the browser internals to guarantee a good quality call.

We share data in WebRTC using DataChannels, which Mozilla is the first to implement. DataChannels is a powerful component of WebRTC that can be used by itself or combined with an audio/video chat to send almost any data that the browser can access.

Please have a look at our demo video, which shows some of ways you can combine these WebRTC components. We currently support basic person-to-person video calling and data channels in Firefox Beta but it has to be turned on in about:config. Check out this post on Hacks if you’re interested in finding out how to do this and for more information about developing apps using WebRTC. As always Bug reports are highly appreciated. Please file them on Bugzilla under “Product:Core”, “Component:WebRTC”. We plan to add support for video conferencing apps, faster call connection, and additional audio/video options, so stay tuned for more on this.

We hope you’re as excited as we are to start seeing some of the awesomeness that WebRTC has to offer the Web.

– Maire Reavy, Product Lead, Firefox Platform Media