User:Jules/proto02

From XPUB & Lens-Based wiki
< User:Jules
Revision as of 22:45, 17 November 2014 by Jules (talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

RTC

Real Time Communication is defined as any mode of communication enabling users to exchange information with very little latency (like with telephone, IRC etc.). Unlike timeshifting communication (forums for instance), RTC implies peer to peer communication and doesn't require storage in between the source and destination.



WEB-RTC

« WebRTC is an open-source project supported by Google, Mozilla and Opera. The API and underlying protocols are being developed jointly at the W3C and IETF. »
However the project was initiated by Google, they also maintain the website. I can understand that Google's approach might be that they want to create the new standards. The technologies behind are way too complex for my understanding anyway.

A few years ago we needed private softwares requiring plugins, such as Adobe Flash or Java to establish RTC inside web browsers. The RTC layer is currently available in Mozilla Firefox, Opera, Chrome, IE, Chrome and Mozilla Firefox for Android and iOS. This means easier ways of developping applications enabling real time communication with the help of a Javascript API. IETF and W3C are working on the standardization of WebRTC. It might take a little while for them to finish discussing the technological components.

Here is the library I used in the end :
http://www.rtcmulticonnection.org/

Although, the technology is still quite not stable yet and therefore subject to changes. It uses RTCPeerConnection which enables data streaming from peer to peer.

WebRTC.png

It worked well, with a few lines of code.

<script>
var connection = new RTCMultiConnection().connect();
	connection.session = {
		audio: true,
		video: false,
	}
document.querySelector('#openNewSessionButton').onclick = function() {
    connection.open();
};

</script>


The creator, Muaz Khan, did put a lot of effort into its documentation.