Bowser and OpenWebRTC released as Open Source | Ericsson Research Blog

Ericsson Research Blog

Research, insights and technology reflections

Bowser and OpenWebRTC released as Open Source

Ever since releasing Bowser, the world’s first mobile WebRTC browser, to the public in 2012 we have been asked to share our implementation. Today it’s happening!

Our group at Ericsson Research is heavily involved in the standardization of WebRTC, and have been developing prototype implementations of the standard ever since its inception (e.g. 1, 2, 3, 4, 5).

Today, we are not only releasing Bowser as free and Open Source but also the underlying cross-platform WebRTC framework called OpenWebRTC.

OpenWebRTC has been developed and used internally at Ericsson Research over the last few years. We have used it to build several research prototypes such as Field Service Support using Google Glass and Remote Control of an Excavator.

Native apps and browser back-ends

OpenWebRTC is built on the belief that the WebRTC standard would transcend the pure browser environment and that native apps, implementing the same protocols and API’s, would become an important part of the WebRTC ecosystem. This is especially true on mobile platforms where native app distribution is often preferred over pure web apps. Native OpenWebRTC apps can either talk to other native apps or browsers that support WebRTC. OpenWebRTC can also provide the WebRTC-backend to web browsers, such as Bowser. Bowser is in fact a very thin layer of UI code on top of OpenWebRTC as shown here.

Having independent, interoperable, implementations is important for the health of any standard, and WebRTC is no exception. Both IETF and W3C require it as part of the standards process. The ambition of OpenWebRTC is to follow the WebRTC standard closely as it continues to evolve. The bulk of the API layer is therefore implemented in JavaScript, making it super fast to modify and extend with new functionality.



The GStreamer Open Source multimedia framework has provided us with a very capable and flexible base on which to build OpenWebRTC. We have written a few additional GStreamer plugins to complete the picture in terms of WebRTC. OpenWebRTC implements all the logic needed to easily set up and maintain WebRTC sessions while also being flexible and supporting more advanced use cases.



WebRTC web apps running in Bowser as well as other applications built on top of OpenWebRTC will be interoperable with WebRTC enabled browsers such as Chrome and Firefox. With support for both H.264 (OpenH264) and VP8 (libvpx) video codecs OpenWebRTC is compatible with most video communication services without the need for costly transcoding. We are also planning to add support for the HEVC/H.265 video codec.

Support for iOS, Android, Mac OS X and Linux is built right in.


Bowser has been released as Open Source and you can find the source code here.

Bowser is still the only browser on iOS with support for WebRTC. While waiting for Mobile Safari to get WebRTC support we want as many people as possible the get a chance to start experimenting with WebRTC on iOS. Therefore Bowser has been re-submitted to the Apple App Store, we will post an update to this blog when it’s available for download. Bowser will continue to be a free app and our plan is that future versions will incorporate changes made by the community. We have not put a lot of effort in to basic browser features and would love to get your help with making Bowser even better. For the time being Ericsson Research will continue administrating Bowser on the App Store.

Getting started

The WebRTC standard is still evolving and developers are finding news ways of using the technology every day. We hope that by releasing OpenWebRTC and Bowser as Open Source, the pace of innovation in the WebRTC community will quicken even further.

If you would like to contribute, please head on over to GitHub. The permissive BSD license allows you to use the code as you please with very few limitations. We are really excited to see what you will build using OpenWebRTC. If you need support there is a mailing list and Twitter account for discussions and questions, as well as a blog where we will be posting more details.

More information is available at the OpenwebRTC site.

Happy hacking!
– Stefan Ålund and the Ericsson Research WebRTC team

Stefan Ålund

Stefan Ålund has worked as a Research Manager at Ericsson Research for more than 5 years. He has led the Ericsson teams engaging in the WebRTC ecosystem and is responsible for the Open Source project OpenWebRTC as well as various explorative projects in the area. In 2015 he left Ericsson Research to head the development of the new product Ericsson Contextual Communication Cloud, where Ericsson sells communication as-a-Service directly to enterprises. Stefan has a M.Sc. degree from the Royal Institute of Technology (KTH) in Stockholm.

Follow Stefan Ålund:
Stefan Ålund