I took some time observing WebRTC [2] technology. It's an open framework that brings Real Time Comunication to browsers. It is supported by Google, Mozilla and Opera. The WebRTC effort is being standardized on a API level at the W3C [3] and at the protocol level at the IETF. In my opinion, one of the best features that it includes is allowing you to capture video and audio from local devices through the browser, avoiding to use intermediate technologies such as flash or java applets. It also has a way to create peer connections between browsers themselves making possible the transmission of the generated streams without having to be processed by a server. Thanks to this system, the hard process of capture and retransmission of the current web video conferencing systems will be reduced to just introduce the members of the conversation. That lets programmers to implement video conferencing abilities to any web application.
Together with Juan Jose Meroño Sánchez, we started developing an experiment to bring WebRTC technology to the Sakai portal chat. We want to give to Sakai CLE a mechanism to let their users talking and seeing each other. Imagine how easy would be for a student to talk with a Teacher or a classmate. WebRTC API allows us to add those functionalities quickly using the messaging system implemented by the portal chat service.
We decided to do that as a particular contribution beyond our jobs at the universities we work for, because that feature is not topping its list of priorities. It would start as an experiment, a toy that will allow Juanjo an me work together, and collaborate in this great open source project (Sakai), in a different way. For this reason we prefer that all the suggestions, critics or complains were addressed directly to us instead of our Universities or Working groups we belong.
Before to design that feature, we've done some tests to see if that technology is compatible with the Sakai portal chat system. With very little effort, we've been able to integrate video call streams to the chat. Play the video to see the first test result:
That is just a demo. The full functionality will come after a real "Use Case" analysis We will have to face up to some adverse scenarios like the disconnection/reconnection of the streams when user navigates from site/tool to other one, opened session by the same user, etc. But I'm sure that it will be a funny and amazing road-trip.
For now, we don't have a roadmap in mind, but I believe that you will be able to see a minimal stable version before the summer 2013. We are decided to apply a solid QA process to ensure that this new feature will work fine from its first release. If Sakai community thinks that is an interesting thing to have in Sakai, we will work hard to make it possible.
Please, feel free to comment whatever you think about this experiment. All the feedback we receive will help to build a better solution. We will be happy to receive collaborations offers, suggestions or critics.
If you want to know more about:
[1] Sakai CLE: http://www.sakaiproject.org/sakai-cle
[2] WebRTC: http://www.webrtc.org
[3] W3C WebRTC draft: http://dev.w3.org/2011/webrtc/editor/webrtc.html
If you want to know more:
Get started with WebRTC at: http://www.html5rocks.com/en/tutorials/webrtc/basics/