Delving into WebRTC

Last week, WhichVoIP provided an overview of a new technology changing the face of the Internet. WebRTC is an addition to core web code that gives developers the ability to implement real time communication systems directly into a web page. Thanks in large part to HTML5, this technology will change how most of us utilize the web.

Currently, we rely on various plugins and extensions to make use of certain features over the web. Truly, these browser-based applications have provided an immense power to Internet users. However, unlike a plugin, WebRTC digs deeper to take existing web technologies a step further.

In essence, WebRTC implements communication technology directly into web programming. Voice and video are available because of this framework and without the need for additional software installations. We’re going to take a look at how it can be implemented into web code, check out existing pages utilizing this technology and speculate on future applications.

Thank you HTML5

Because of Google, Opera and Mozilla’s efforts, the World Wide Web Consortium (W3C) has implemented new features into an API, providing browser developers with a powerful set of tools for real time communication. In the past, improving browser capabilities involved increasing support for extensions and plugins but today, the core strength of browsers is being increased because of an overhaul to the foundation on which these applications are built.

It wasn’t too long ago that some rejoiced or agonized at the prospect of watching Flash fall from the face of the Internet. While that hasn’t happened, increased standardizations for web technologies is creating higher levels of interoperability between technologies. A small war of standardization is still waging that directly affects certain companies who are reluctant to adopt open source technologies as a core part of their services, but anyone can see that most browsers are able to support features found in other web browsing software.

Even though Microsoft and Apple are standing against the wall, arms crossed as they scowl at standardization efforts, WebRTC blossomed into its own W3C workgroup and continues to make strides at improving the web.

Why learn and use WebRTC?

If you’re a web developer, maintain a website or simply want to learn something new, WebRTC can accomplish a couple of feats that traditionally required multiple applications. It is designed to perform two main tasks by using a specific set of protocols to navigate the Internet:

  • Real time video – Think Skype or FaceTime but without the politics. Thanks to the royalty free codec, VP8, video can be transmitted using HTML markups.
  • Real time audio – It costs money to call someone whether by landline, mobile or VoIP. This technology uses open license components, meaning royalty free audio codecs to capture and transmit data across the web.

Currently, there is nothing free and widely available for transmitting such data streams effectively over the Internet. Sure, you can use Facebook Chat to chat with other users or Google Hangouts at no cost, but these two applications cannot communicate with each other!

Take a look at how Android has crushed other competitors in the smart phone market space – it appeals to the technology divas and those who simply want to call, text and play Words With Friends. It is a testament to open technology, platform interoperability (to a degree) and non-discriminant competition. WebRTC will be one more victory for the open source movement that is helping to level the playing field in the overall tech market space.

Getting Started

If you’re not well versed in web coding, building a WebRTC app from scratch may not be feasible. With that said, it is still possible. Fortunately, the people at HTML5ROCKS have created a great overview and also contributed a guide for building a simple app that runs on a local machine or over the web.

Web design knowledge including HTML, CSS and JavaScript are the basic skill-sets needed to create an application from the ground up. For a simple app, you can ‘fake’ the other tools by closely following directions and consulting Google to fill in gaps for areas you don’t fully grasp. The most unfamiliar tool for those who are not hobbyist or professional designers will be git and Chrome DevTools. Going into detail here would be a little much. To summarize, the aforementioned tools accomplish the following tasks:

  • git – Falls under in category of cloud based utilities for Software Configuration Management (or SCM.) For this project, it is used to acquire the source code so the program can make use of the function getUserMedia and also contains the code for RTCPeerConnection and RTCDataChannel. You can learn git by practicing in this free simulator available from their website.
  • DevTools – Known as the Chrome Developer Tools, this is a feature directly available from your Chrome browser. It is a development area that allows programmers to analyze code on a web page for the sake of debugging and authoring new web code.

If you have some time on your hands, this is certainly a useful skill-set to learn but not everyone (especially, those who have never before coded) will want to start from scratch. Fortunately, there are other ways to use WebRTC while more savvy developer make improvements to the APIs.

Use WebRTC right now

One way to get a feel for WebRTC without building from the ground up is to utilize one of the pre-existing applications already available. There are two such ways to accomplish this feat.

The developers from Google, Opera and Mozilla have created a demo application that is usable with any company’s respective browser. By clicking on the link, a session will initiate and a link will be provided for another user to join, unique to your session. If you don’t have someone readily available, you can do what I did and open the link in an additional tab or window like so.

Using WebTRC (2) cropped

A new and improved way to talk yourself – body language says so much.

This is a neat way to get a feel for how web pages will function with these features. Moreover, there is a way to make use of WebRTC in a way that is helpful to the development community.

You can use the website talky to create a conversation with another person or with a small group for free. There is even a “locked room” feature that requires a software key for added security. By using talky, anonymous statistics are gathered by the &yet team that works with open development communities. Even better, they make time and make contributions for other non-profit endeavors.

Final Thoughts

Assuming you’re not wearing a tinfoil hat while reading this blog, this technology should be very exciting. Sure, there has already been speculation about security concerns but everything has loopholes near the beginning. If you’re a developer – though it should go without saying – by practicing good programming habits, security is less of a concern. To users of any technology, it is important to learn a little about what you’re using and also not be scared by fear mongers.

WebRTC has the capability to change the Internet and communication for the better. By taking a valuable commodity and making it mostly free, providers of communication services will need to adapt to the market place as it changes. When this technology reaches the masses, the web will likely be a much different place.

About the author  ⁄ Nick

By day, Nick does many things – in addition to his work at WhichVoIP, he works in IT, freelances various content and designs websites. He likes to toy with various instruments and also enjoys old-school video games.

Comments are closed.