Ericsson Interops OpenWebRTC with Firefox

Recently, Ericsson announced successful interoperation of its OpenWebRTC client with Firefox. This is very exciting for us; it marks several important milestones, both for Firefox and for the WebRTC specification itself.

Ericsson’s Bowser, which is based on their OpenWebRTC implementation, represents not just a third interoperable browser in the WebRTC space, but the first totally independent implementation. While most of the code in Firefox and Chrome’s WebRTC stack comes from completely different teams, some of the media handling is shared between the two. This common heritage, however small, has led to doubts around whether the IETF and W3C specifications are sufficiently detailed to achieve interoperability. Ericsson’s work in this space serves the incredibly valuable role of proving out that WebRTC interoperability can be achieved independently, simply by following the standards as they are specified.


The timing is fortuitous: both the IETF and the W3C are now approaching the home stretch in their WebRTC-related work, and the final steps to publish the relevant specifications will begin in earnest in the next few months. Multiple independent codebases allow us to discover where the specifications are ambiguous, incomplete, or inaccurate: if two different teams believe that they have implemented a standard but still don’t work together, it’s probable that the specifications themselves need to be adjusted. These kinds of problems are orders of magnitude easier to fix before they’ve been published.

In addition to the basic WebRTC interoperability story, Ericsson’s work also represents a completely independent H.264 implementation that works with Cisco’s real-time OpenH264 stack, which is incorporated in Firefox’s WebRTC codebase. Although H.264 is a mature, well-tested technology, its incorporation in Firefox is done in a novel way – through the use of the new Gecko Media Plugin (GMP) architecture – that had previously been tested only with itself. Further, Firefox’s implementation of other aspects of its H.264 handling, such as RTP packetization, parameter negotiation, and packet loss handling, had similarly been only self-tested. Ericsson’s success in interoperating H.264 video demonstrates the viability of the OpenH264 codec, our associated media handling and signaling, and the GMP architecture.

Finally, the simple existence of a second general-purpose, interoperable WebRTC toolkit (in addition to the library) serves the critical role of growing diversity in library implementations, which helps avoid the rise of the kind of software monoculture that is so harmful to interoperable standards. In single-implementation ecosystems, having the same bug on two systems may result in a flaw being masked. Importantly, this makes it much harder for newcomers to the game to write software that works with the incumbent implementations. Additionally, the mere existence of more than one library keeps implementors “honest”: the temptation to implement proprietary or out-of-specification behavior is tempered by the knowledge that doing so will break their interoperability with many other implementations.

Mozilla would like to thank Ericsson for their important work in helping advance the WebRTC standard and in expanding the implementation ecosystem. We are proud that they chose Firefox as the reference implementation to use to test their interoperability, and look forward to seeing additional open-sourced projects based on their OpenWebRTC library.

Adam Roach, Principal Platform Engineer

Changes to Search in Firefox

Think about what you’ve searched for in the last week: gifts for family, travel ideas, worrying health symptoms, long lost friends. Search is a central part of how we live online, and that makes it a personal, intimate act. That’s why I’m excited about the changes coming to search in Firefox. We build Firefox for you, and we work constantly to ensure that it fits your online life.

The first change, as Chris announced a few weeks ago, is that we will no longer have a single, global default for search providers in Firefox. This is really important: Firefox is available in more than 80 locales and we can now choose great defaults independently in each one. Of course, we’ll always offer you several built-in search providers to choose from, and the ability to install new ones.

For our US users, the new Yahoo default also comes with a new, modern Yahoo search experience. We collaborated with Yahoo to help them create something special for Firefox users, with richer search results that pull from the best of the Web (like integrated Yelp reviews for restaurants, Tripadvisor for travel, and lots more). Yahoo has also committed to respect Do Not Track signals from Firefox users across all Yahoo properties. For our users that choose not to have their activity tracked across the web, I’m thrilled that we can offer a default search that respects their choice.

The new search interface in Firefox

The last big change you’ll see in Firefox is our new search box. You’ve told us that, even with great defaults, you often have special searches you want to send directly to a different provider, like Wikipedia. Now you have the power to choose any search engine in a single click, without having to change your default.

If you don’t see these changes in your Firefox right away, don’t worry; you will. For something as central as search, we take extra care, and that means we’re going to roll this one out slowly (if you really can’t wait, try our pre-release channels).

Firefox search options

We provide more search choices in Firefox than any other browser because their differences matter; to you, to us, and to the web. We hope you’ll enjoy the improvements we’ve made to search in Firefox, and we look forward to bringing you more awesome in 2015.

Test the new Firefox Hello WebRTC feature in Firefox Beta

We have some exciting updates to our experimental WebRTC feature in Firefox. We’ve added some new functionality to play with and a new name. Say ‘Hi!’ to Firefox Hello.

Firefox Hello provides more value to Firefox users by making it easier to communicate with your friends and family who might not have the same video chat service, software or hardware as you. It’s free to make voice and video calls and there’s no need to download software, plugins or even create an account. It’s ready to go as soon as you open Firefox Beta by clicking on the ‘chat bubble’ icon under the customize menu. Hello allows you to connect with anyone who has a WebRTC-enabled browser, such as Firefox, Chrome or Opera. We should give a shout out to our friends at TokBox, whose OpenTok platform is used to power this new feature.

The new features we’ve added to Firefox Beta include:

New Call Options

One of the great features of Firefox Hello is that you don’t need to create an account in order to connect with the people that matter to you most. You simply share a callback link with the person you want to connect with and when they click on the link the call begins.

Call Management Panel

Call Management Panel

But let’s say that you start using Hello all the time with your friends and family. As an added convenience, you should sign up for a Firefox account for even easier one-click calling from Firefox. After signing in, you can initiate or receive direct calls with other Firefox Account users, without having to share a callback link first. You can sign into your Firefox Account on every computer you use, so you can be reached at home or at work.

Contacts Integration

We’ve also added contacts management for the first time in this release. You can add contacts to your address book manually or import contacts from your Google account to Firefox Hello. Simply select ‘Import Contacts’ from the address book and then sign into your Google account to give permission. If your contacts have a Firefox Account and are online, then you can call these contacts directly from Firefox.

These are just some of the main improvements that we will be rolling out over the next few weeks to all Firefox Beta users. So please test them out and let us know what you think at the end of your call. Please remember we’re still in the experimental phases and making a lot of changes behind the scenes.

We look forward to receiving your feedback on these new features, so we can get Firefox Hello ready to share with the world.

More information:

Test sending Web pages to a second screen from Firefox for Android Beta

We’re continuing to develop our multi-screen capabilities in Firefox for Android Beta.

Users can enhance their browsing experience by mirroring a Web page in an open tab directly from Firefox for Android Beta to a second screen via streaming devices like Chromecast using their Android mobile devices. Any Web page that is being viewed can be sent to a second screen. This feature is now available for testing.

Getting started:

To use this feature in Firefox for Android Beta with a streaming device, simply follow this process:

  1. Install or update Firefox for Android Beta and connect to a WiFi network.
  2. Set up your streaming device on your TV and connect it to the same WiFi network.
  3. Open a tab in Firefox for Android Beta and find a page you want to mirror.
  4. Go to the main menu in Firefox for Android Beta, select ‘tools’ then ‘mirror tab’.
  5. This will display a list of connected streaming devices on the same WiFi network as your Android device. Simply select the device you want to send a Web page to.
  6. To stop mirroring the tab, open the main menu in Firefox for Android Beta.

This exciting new feature is currently in pre-release and we need your help to test it. Please do remember to share your feedback and file any bugs. Happy testing!

More information:

Road-Test sending video to Chromecast and Roku in Firefox for Android Beta

We have been working hard to develop initial multi-screen capabilities within Firefox for Android Beta. Now, supported video content from Web pages you visit can be sent to and viewed on a second screen, with a new ‘send to device’ video sending feature. This feature is now available for testing.

Users now have even more control over their Web experience and can enhance the way they view video content by sending it to a larger screen. They can play, pause and close videos directly from within Firefox for Android via the Media Control Bar, which appears at the bottom of the phone’s screen when a video is being sent to a device. The Media Control Bar will stay visible as long as the video is playing, even as you change tabs or visit new Web pages.

To help users identify that the video they are watching in Firefox for Android can be sent to their connected media streaming device, a ‘send to’ indicator will appear (after any ads have finished) on the playback controls bar for the video.

Clicking this indicator will bring up a list of connected streaming media devices. Users can then select the device they want to send the video to for viewing on a big screen. A second ‘send to’ indicator will then appear in the URL bar to remind users that content from this Web page is being sent to a device.

URL bar showing ‘send to’ indicator in right-hand corner

URL bar showing ‘send to’ indicator in right-hand corner

How to Get Started
To test this feature on Roku or Chromecast, follow these simple instructions:

1. Install Firefox for Android Beta if you haven’t already.
2. Make sure Roku or Chromecast is set-up on a nearby TV and is running on the same WiFi network as your Android phone.
3. If streaming to a Roku, add the Firefox channel to the channel list – instructions from Roku on how to add a new channel are here
4. Go to a site like and look for a video on the homepage. Once you start playing a supported video (after any ads have finished playing), the above ‘send to’ icon will appear over the video controls indicating that it can be sent to a nearby streaming device.
5. You can send the video you are watching to a nearby media streaming device by tapping on the video and selecting ‘send to’ from the video controls or touching the ‘send-to’ icon in the URL bar. Both actions will automatically launch the Firefox channel on Roku or activate Chromecast for streaming and send the video to a nearby TV.


  • So long as the device receiving the video supports the same video format being viewed on Firefox for Android (e.g. MP4 for Roku), it will play.
  • Some websites hide or customize the HTML5 video controls and some override the video playback menu too. This can make sending a video to a compatible device like Roku a little tricky, but the simple fallback is to start playing the video in the web page. If the video is in MP4 format and Firefox for Android Beta can find your Roku, a “send to device” indicator will appear in the URL Bar. Just tap on that to send the video to your Roku.

Support for sending videos to compatible devices like Roku and Chromecast is currently in pre-release. We need your help to test this exciting new feature. Please do remember to share your feedback and file any bugs. Happy testing!

For more information:

Help Test Experimental WebRTC Communications Feature in Firefox Beta

With today’s release of Firefox Beta, we are introducing an experimental Web Real Time (WebRTC) communication feature that aims to offer more value to Firefox users and we’re calling for your help to test it out and let us know what you think.

There are a growing number of online communication services which are incompatible with each other, making it hard to communicate with your friends and family who might not have the same service, software or equipment as you. In order to use one of these services, you have to register an account and also give up your personal information in exchange for the right to use the services.

We’ve been testing WebRTC in experimental builds of Firefox for the last few months and today are expanding these trials to Beta to get more user feedback and for load testing purposes. With this WebRTC experiment we’re aiming to simplify video and audio communications by building an integrated communications feature directly into Firefox. It’s free to make voice and video calls and there’s no need to download software, plugins or even create an account, it’s ready to go immediately when you open Firefox Beta.

Mozilla has been pioneering WebRTC in a number of areas, from our industry-first implementation of DataChannels, to the first WebRTC call between two major browsers. With this experiment in Firefox Beta we’re continuing this momentum and increasing the value of WebRTC to Firefox users and developers.

So why not give our experiment a test drive. You’ll notice the product feature identified by a phone icon on the toolbar.

Please remember to share your feedback and file any bugs as we continue to improve performance and features around this WebRTC experiment.

We’ll have more to share as this product feature progresses.

More information:

New Tab Page Experiments in Firefox Beta

Back in May, I let you know that we were running some experiments with the new tab page. I wanted to share a quick update on our progress and thinking as we expand testing to Firefox Beta.

We’ve learned a lot. We’ve experimented with every part of the new tab page – the size, layout, number of tiles, their UI, as well as varying the kinds of content we show. We’ve seen that some tiles don’t work at all, and some tiles get 50x the interaction we’d expect from industry benchmarks. We measure those interactions because we think they’re a proxy for giving users something valuable.

We’re really excited about the good stuff we can bring to users by working more closely with content providers and leading by example. This is new terrain for us, though, so we’re being deliberate about testing as we go.

Our next step is to extend these tests to the Firefox Beta channel, starting with our English locales. Our early results are promising, and we’ll keep measuring and refining until we’ve got it right.

Firefox for Android Beta Makes it Even Easier to Customize Your Web Experience

Firefox for Android Beta introduces a powerful set of customization features for users and APIs for developers. These new features are unique to Firefox for Android Beta and offer users more personalization options and even greater control over their Web experience.

More Customization Options

Users can customize their home screen pages to see the Web content they want from a variety of websites, feeds and services. Just some of the websites, feeds and services that Mozilla has been experimenting with include Instagram, Pocket, Vimeo and Wikipedia. Users can now experience these in Firefox for Android Beta.

Instagram Home Screen

Instagram home screen page in Firefox for Android Beta

Users can pick and choose which home screen page appears as the default, re-order pages, hide unwanted pages or hide all pages for a completely clean new tab experience.

Users can now install new home screen pages for testing the same way all add-ons are installed from the settings menu under tools/add-ons. The pages can also be installed from the home screen panels collection on the Mozilla add-ons website.

A New Class of Add-Ons

This new set of APIs transforms and extends the potential of home screen pages, giving add-on developers the tools they need to build a whole new class of add-ons into the Firefox for Android Beta user experience. Add-on developers can use these APIs to create their own home screen pages, giving them a dedicated space where they can entice users to interact with their add-ons.

Easily Switch Between Languages

We added a feature to Firefox for Android Beta that enables users to easily switch between languages without restarting the browser. The feature allows us to offer 54 language options in Firefox for Android Beta, which a user can switch between regardless of the locales supported by their Android device. We created this feature in direct response to user demand, working alongside our passionate community of volunteer localization contributors to deliver it.

Help us test this new home screen experience and our new language switching feature from today. Please remember to share your feedback and file any bugs as we continue to improve performance and features for our users.

More information:

Help Test Powerful Cross-Platform Developer Tools in Firefox Beta

Firefox Beta for Windows, Mac, Linux and Android introduces some powerful new features and tools to help developers create and build Web content, apps and add-ons more easily than before. Please help us test these tools and provide any feedback you have.

Here’s a look at what’s new for developers:

Mobile Apps

  • Firefox Hub APIs: Firefox Beta includes support for Firefox Hub APIs allowing add-on developers to add their own content to the Firefox for Android homepage (where users find bookmarks, top sites etc.), providing them with a large area to entice users to interact with their add-on. For more details about building add-ons with these APIs, check out the documentation on MDN and see this collection of experimental add-ons as examples.
  • APK Factory Performance and Stability Improvements: We have been working on providing more performance improvements to this “native experience” for Web apps on Firefox for Android. Using APK Factory, Firefox OS app developers can now target millions of Firefox for Android users without changing a line of their apps code. By giving Web apps native updates, native installation and native app management, developers can now provide a more familiar way for users to manage their Web apps. The APK Factory also ensures Web apps use a modern up-to-date runtime, so there is no performance degradation or compatibility issues. Find out more here

Web Design Perks

  • Eyedropper: New to the color picker in the Inspector is an Eyedropper tool that grabs the color from any pixel on the page, making it easier to copy colors or manipulate them based on their color value.

    To enable a convenient toolbar icon, go to the settings panel and check ‘Available Toolbox Buttons > Grab a color from the page’. You can also trigger the eyedropper from the Web Developer menu.

  • Editable Box Model:
    Keeping with the design theme, the Inspector now also allows you to directly edit dimensions in the Box Model panel.

    Need to add or take away some padding or margin on the fly? Just double-click any of the margin, border, or padding values to change its value for the currently selected element. You can enter any valid CSS value and use the Up/Down keys to increment or decrement the value by 1. Alt-Up increments by 0.1 and Shift-Up increments by 10.

  • Code Editor improvements: Style Editor and Scratchpad gain powerful new features available as part of the upgrade to the Codemirror 4 editor, including Sublime Text key-bindings, Rectangle selection, Undo selection and Multiple selection.

Workflow Improvements

Web developers tend to use the console and network monitor heavily as they debug, and we have been listening to feedback on how to improve the console experience with some nice improvements in Firefox Beta:

  • Console stack traces: console.error, console.exception, and console.assert logs in the console now include the full stack from where the call was made.
  • Copy as cURL: replay any network request in the Network Monitor from the comfort of your own terminal. Right-click a request and select the copy as cURL menu item to copy a cURL command to the clipboard, including arguments for headers and data.
  • Styled console logs: on parity with other browser developer tools, you can now add style to console logging with the %c directive.

Increased Debugging Support

  • Canvas Debugger: Mozilla technologies like asm.js have greatly increased the awareness of HTML5 Games and WebGL in particular. To help developers inspect 2D and 3D graphics we have introduced a canvas debugger that allows developer to record and scroll through their code frame by frame.
  • Add-on Debugger: With the introduction of the Add-on Debugger, testing add-ons just got a lot easier. If you’re an add-on author you will want to enable the setting ‘Enable chrome and addon debugging’ under the Developer Tools’ ‘Advanced Settings’ section. Once this is enabled, any restart-less add-ons listed in the Addon Manager will gain a ‘Debug’ button, including add-ons created using the Add-on SDK. For more on how this works, we’ve created a short screencast of the Add-on Debugger in action.

More information:

Experimenting with WebRTC in Firefox Nightly

** July 25 UPDATE: Since we landed our initial WebRTC experiment in Nightly we have received lots of positive feedback. This update is to let you know that the WebRTC feature will now be available in Aurora so we can gather feedback from even more users. It’s important to note that we’re still in the testing and experimental phase and as always, we’re keen to get your feedback. We look forward to sharing more soon as the feature develops further.**

The number of different services that promise to make communication faster and simpler has exploded in recent years. As every new social messaging service comes online, we see increasing fragmentation that makes it harder to stay close to everyone you care about, everywhere around the world. Moving so frequently between walled gardens can be tiring and confusing.

So, we asked, what if Mozilla could help tear down these walls? What if the browser, with near universal adoption, could become keystone of an open, interoperable communications system.

Soon, in Firefox Nightly, you will see our first experiments in creating a WebRTC-powered communications feature that aims to connect everyone with a WebRTC-enabled browser. And that’s all you will need. No plug-ins, no downloads. If you have a browser, a camera and a mic, you’ll be able to make audio and video calls to anyone else with an enabled browser. It will eventually work across all of your devices and operating systems. And we’ll be adding lots more features in the future as we roll it out to more users. It’s going to be awesome!

From our industry-first implementation of DataChannels, to the first WebRTC call between two major browsers, we’ve been pushing WebRTC to deliver more value to users and developers and we’re continuing along this path with this experiment. But you shouldn’t expect a polished service quite yet. It’s early days and we’re just starting to test pieces of this service.

As we develop this experimental feature in Firefox, we’re proud to have a partner in TokBox who have provided invaluable help in getting this project to where it is today, and whose OpenTok video and voice platform powers the service. Their early support and contributions to WebRTC are helping this emerging standard establish a foothold and earn developer attention.

We’re excited to start testing this feature in our Nightly channel and look forward to providing frequent updates as we develop this service.

Chad Weiner
Director of Product Management, Firefox