Google’s Native Client Plugin and WebRTC

In the early days of the Internet when browsers were fairly basic, plug-ins were the preferred method of delivering multimedia content to users such as streaming video with Adobe’s Flash player. Nevertheless using plug-ins has always been a security risk as it gives another way for hackers to introduce malicious code into users’ systems. It is also an inconvenience for many users as they have to stop and download plugins before using applications such as Hangouts.

Google has long been on a crusade to extend browser capabilities which will render plug-ins obsolete and has taken another step towards that goal. The latest update to Chrome (dev and Canary builds) removes the need to download the Hangouts plugin for videoconferencing. The company has achieved this primarily by using WebRTC for delivering voice and video to users’ browsers. Though media outlets report that Chrome has now eliminated the need for plug-ins through WebRTC, the headlines do not convey the entire story.

While users do not have to download any software in order to start a video call in Hangouts, add ons have not been eliminated entirely. The updated app uses a combination of WebRTC and Native Client technology. WebRTC itself is not yet standardized and is currently supported mainly by Chrome and Firefox, NaCl is not supported by any browser except Chrome. In fact, other browsers are working on their own alternatives for it. This means that there is a lot of work still to be done to make Handouts plugin-free across all browsers.

Generally browsers have supported plug-ins by using NPAPI which Google is in the process of phasing out with the ultimate goal of eliminating it entirely from Chrome. But Google has not actually removed plug-ins, instead the browser uses Pepper which is an alternative to NPAPI. Pepper uses modern technologies but it is still a plug-in interface. It is needed for NaCl support which is what Hangouts depends on. However, the audio and video portion of conversations are powered by WebRTC and NaCl is only used for other aspects.

Although Google uses its own version of plug-ins in the form of Native Client, the end result is that there is nothing to download by the user. Hence from the perspective of consumers, it eliminates the inconveniences and security risks (since NaCl uses sandboxing) traditionally associated with plug-ins. This may just be the first instance of a large scale application using WebRTC to eliminate software downloads for multimedia capabilities. Once the changes are pushed to the mainstream stable build of Chrome, users will be able to start a hangout with one click.