1. Beyond HTML5: Experiment with Real-Time Communication in a Browser

Ericsson Research Blog

Beyond HTML5: Experiment with Real-Time Communication in a Browser

two people

In this latest release, you will:

  • Be able to experiment with REAL-TIME COMMUNICATION IN A BROWSER using a modified WebKit library
  • Find an update on the STANDARDIZATION STATUS
  • Now it’s your turn!

    Since spring 2010, Ericsson Research has been doing experimental implementations of support for real-time communication in WebKit GTK+. We have documented our progress in these blog posts: 1, 2, 3, 4 and 5. All along the blog post series, we have gotten a lot of requests from developers wanting to try out these new exciting features and now we are able to deliver. “Web Real-Time Communication” is no longer available on Ericsson Labs, but you can join the Google+ group to discuss!

    Here is an example of web applications that you can build and run:

    We hope that you will be as thrilled as we are with the opportunity to do some hands-on testing. On the Web Real-Time Communication page, there are instructions about how to download and install a modified version of WebKit that has support for real-time voice, video and datagram communication. You can use GtkLauncher (or a more advanced browser like Epiphany, based on WebKit) to test. We’re also supplying a simple application (including server side functionality) to allow you to get started quickly. What you will need are a couple of Ubuntu 11.04 computers.

    The implementation is based on the current WhatWG APIs. We’re the first to admit that the implementation is not complete. Just as examples, there is no support for the StreamRecorder, and there is no RTCP signaling or rate adaptation for the media streams. Not only that, but the performance is not optimized – you will experience longer mouth-to-ear delays than what will be the case once an optimized implementation is made – but we figured that it would be of great value anyway for the community to be able to do some early experimentation. By doing this, a better understanding of the proposed APIs can be obtained, and proposals for improvements can be given.

    Community Status

    As we have discussed in earlier posts, the WhatWG published early draft APIs for real-time communication already last year. Based on feedback (some of which we provided) the APIs received a major overhaul in March of this year. Our implementation is based on the updated APIs. In the meantime, IETF (the rtcweb WG) and W3C (the webrtcWG) have been active in setting up Working Groups. In both cases many organizations have joined. We hope that the combined efforts of IETF, W3C and WhatWG will lead to a fast standardization process.

    In addition to this, experimental implementation efforts have been announced by Opera as well as in the WebKit project (by Google and ourselves). This bodes well since implementation experience is invaluable for any standardization effort.

    Summary

    “Web Real-Time Communication” on Labs offers anyone (willing to get their hands dirty) possibilities to do early experiments with native support for real-time communication in a browser. We hope you like it and that the experience gained will eventually result in better standards. We would love to get your feedback.

    –Stefan Håkansson and Stefan Ålund