Sino ad oggi, la comunicazione in tempo reale su Internet è stata possibile grazie a plugin e programmi appositi. Basti pensare a Skype, ad esempio, o a Tryllo, Viber e le altre alternative al programma Microsoft: tutte implementano client o plugin sviluppati appositamente per far funzionare il servizio di videochiamata. Dal 2011 Google, con il supporto dei team di Mozilla Firefox e Opera, sta lavorando al progetto webRTC: sfruttando semplici API JavaScript e il linguaggio di markup HTML5 è possibile implementare funzionalità di comunicazione in tempo reale (“real-time communication” in inglese, dal quale deriva l'acronimo RTC) all'interno di normalissime pagine web. In questo modo si spera di poter bypassare completamente i vari programmi e client e creare un servizio RTC funzionante su qualunque piattaforma operativa grazie a un semplice browser.
La storia di webRTC
Nel 2008 Google implementa all'interno del proprio servizio di posta elettronica (Gmail) la funzionalità di videochatting, conquistando immediatamente i favori del pubblico. Nel 2011, per migliorare ulteriormente il servizio, il gigante di Mountain View acquista la startup californiana GIPS, autrice di alcuni dei protocolli audio e video più utilizzati in ambito VoIP. In quegli stessi mesi Big G rilascia Hangout, il servizio di videochiamate oggi integrato in Google+.
Big G decide quindi di rilasciare il codice degli applicativi e degli strumenti sviluppati da GIPS con licenza open source e aprire al contributo degli sviluppatori indipendenti e delle altre software house attive nel settore web. Nasce in questo modo l'iniziativa webRTC, che si propone di creare un protocollo aperto e interoperabile su diverse piattaforme e diversi browser. Pochi mesi dopo la svedese Ericsson distribuisce il primo applicativo webRTC, seguita successivamente da Google (con il suo web browser Chrome), Mozilla (con Firefox) e Opera.
La struttura di webRTC
Il protocollo aperto voluto da Google e adottato (tra gli altri) da Firefox, Opera, Ericsson e Cisco, si compone sostanzialmente di tre API: getUserMedia, RTCPeerConnection, RTCDataChannels. La prima API è utilizzata dal sistema di videochiamate per avere accesso ai canali media dell'utente: in questo modo l'applicativo che ne sfrutta le funzionalità sarà in grado di accedere alle fonti audio e video (microfono e webcam) grazie alle quali rendere possibile la videochiamata. La seconda API, invece, è utilizzata per stabilire la connessione tra gli utenti utilizzando protocolli peer-to-peer. La terza, infine, consente al browser di condividere i dati audiovideo tra i vari nodi della rete p2p creata nella sessione di videochatting.
Perché webRTC
Lo sviluppo di un sistema VoIP open source e basato su un protocollo aperto nasce dalle crescenti possibilità offerte da Internet in fatto di larghezza di banda e velocità di connessione e dalla necessità di abbattere i costi derivanti dallo sviluppo e mantenimento di un servizio di videochiamata. Realizzare un programma come Skype – o come tutte le alternative al programma Microsoft – richiede uno sforzo, economico e tecnologico, non indifferente: oltre all'infrastruttura di rete necessaria (server e data center sparsi in tutto il mondo), c'è il bisogno di sviluppare i client per tutte le piattaforme operative, sia per computer sia per dispositivi mobili.
Con webRTC questo sforzo può essere quasi azzerato completamente. Nel momento in cui le funzionalità e gli strumenti per la comunicazione audiovideo saranno implementate direttamente nel browser, non sarà più necessario dover sviluppare client e protocolli ad hoc per servizi di videochiamata; allo stesso modo, per realizzare un servizio VoIP saranno sufficienti conoscenze elementari di programmazione web: tutto ciò che si dovrà fare sarà implementare all'interno di una semplicissima pagina web il codice webRTC e utilizzare un normale servizio di hosting, analogo a quello oggi utilizzato per qualunque sito web o portale presente in Rete.