Add Video, Audio and Data Communication to Your E-Commerce Solution with WebRTC

Created: 09/22/2015 by Roberto De Simone
Last Update: 06/06/2017

Without users having to install any software components on their devices, e-commerce solutions can easily be enriched by providing video, audio and data communication. The technology behind is WebRTC. This blog shares some impressions about this topic after developing a WebRTC project.

Two persons are communicating over webcams. The video chat starts out of a website. Live aid for e-commerce

What is WebRTC

Basically, WebRTC is becoming a W3C standard for real time plugin free video, audio and data communication. Users of a WebRTC enabled website (web app) don’t have to register for a service like Skype if they want to video or audio chat. The technology is implemented in the browser (see below for browser support). With a simple click, a peer to peer connection can be established, and a communication can start.

Supporting Your Business with WebRTC

There are unlimited scenarios where WebRTC can help to provide more value to an e-commerce solution. Shops can give users the possibility to get in direct touch with a sales or support representative for product specific support. Sales representatives can meet customers in chat rooms to present their services. In the medtech area virtual waiting rooms and live medical consulting can be implemented. In the fintech industry live advisory for financial products has a big demand. By adding also screen sharing to an e-commerce solution - which can also be done with WebRTC - the interactions with customers will be brought to a higher level.

Browsers Supporting WebRTC

Actually WebRTC is fully supported by Chrome, Firefox and Opera. Microsoft Edge has basic WebRTC support. The big missing part is Apple with Safari, but there are ongoing works to implement WebRTC into WebKit. On MacOS, Chrome or Firefox can be used, but for web based iOS applications there is no WebRTC support possible at the moment. [Update: 06/06/2017: As announced by Apple at WWDC2017, Safari for iOS11 and macOS 10.13 will support WebRTC]

App Development to Support WebRTC

Contrary to web solutions for iOS, it is possible to develop iOS apps - a native SDK is available. The same is true for Android, and more: for Android it is possible to develop WebRTC apps which use the WebView - the Chrome WebView supports WebRTC. This simplifies Android app development.

Challenges to develop professional WebRTC solutions

In theory it is simple to develop WebRTC applications. Apart from JavaScript knowledge, knowledge in a real time engine like socket.io is needed to implement the signaling. The signaling process - with the help of STUN and TURN servers - tries to find out the open IP addresses of the devices between which a communication should take place. As long as the target audience is not protected by enterprise firewalls, mostly a public STUN server is enough to establish a peer to peer connection. Unfortunately this is only a theoretical case. In practice TURN servers and deep knowledge in the underlying communication protocols are required. Read more here about the various concepts to establish a peer to peer communication. Additionally, there is constantly fine tuning needed to adapt WebRTC browser implementation changes.

Unless profound telecommunication knowledge is available, it is much better to rely on a third party service like appear.in, tokbox or twillo.

Conclusions

WebRTC is an evolving technology and we will see changes and a lot improvements in the short and middle term. Not everything is solved, and the various browsers have to agree on standards - codecs are also an issue. For the consumer market or the business to consumer market - which is in my opinion also the biggest market to target -, I see WebRTC working nicely.

Bottom line, WebRTC is a very nice technology which will bring a lot of value to e-commerce solutions.