- innanzitutto i fondatory del progetto, Niklas Zennstrom e Janis Friis, che sono stati anche i fondatori di KaZaa, Joltid, e Skype e che fondamentalmente possono essere definiti come "very smart individuals who really understood the emerging
peer-to-peer markets and what was really taking place in distributed
computing";
- poi Fredrik de Wahl, CEO di Joost nonche' di Joltid, essendo subentrato a Zennstrom quando questi si era completamente dedicato a portare avanti il progetto Skype;
- continuando con Dirk-Willem van Gullik il chief technical architect di Joost, che viene dal modo di Apache e dei grossi progetti open-source e che conosce bene le tecnologie legate al W3C, e' la persona che sta che sta dietro a molte delle scelte vincenti, sia tecniche che organizzative, del progetto;
- infine i vari sviluppatori sparsi nel mondo, come Antoine Quint il responsabile dell' interfaccia grafica, o l'italiano Andrea Campi.
Joost, in quanto esempio di sistem integration ben riuscita, merita sicuramente un approfondimento a livello tecnico, cominciando con un chiarimento sul funzionamento di base.
Joost e' un ibrido tra un sistema P2P ed uno centralizzato:
- poggia le sue fondamenta su di una tecnologia proprietaria di Joltid, la Joltid Global Index Software ("The Global Index mentioned by Janus is actually Joltid Global Index Software that is owned by a company called Joltid Limited, in which Niklas Zennstrom and Janus Friis have an equity interest. The company was not part of the Skype-Ebay transaction", "a portable C++ library compiled for supported platforms which is compriser for a core peer to peer stack", "the P2P networking technology developed by Joltid, Zennström and Friis' Estonian software shop. Road-tested with Kazaa and Skype, Global Index orchestrates the flow of bits among potentially millions of peers and a complex skein of servers. Its big innovation is to carve a sprawling network into more manageable subnets without sacrificing P2P efficiency") che fornisce al programma la parte P2P;
- contemporaneamente, come spiegato da Fredrik de Wahl, introduce il concetto di "long-tail storage system" ("acting as a seeding server for the network. The LTS is the originating point in the system and also the fallback in case for some reason the content does not reside on the P2P network") ovvero un sistema di storage distribuito basato sul modello P2P che e' in grado di essere fault-tollerant potendo contare su di una server farm in caso di irreperibilita' dei contenuti nei peers.
L' esperienza fatta con Skype e KaZaa ha dato i suoi frutti:
- "Kazaa and Skype were based on a piece of technology called the “Global Index.” Skype basically built a communication layer on top of that. That technology has evolved since then, and the Venice Project, is built on that global index and we have developed a P2P video streaming layer on top of that core technology";
- "just like a “Skylib” enables voice and chat services on the Joltid’s p2p layer, The Venice Project runs on a media streaming library the company has nick named Anthill "
- "The company uses a H.264 codec licensed from CoreCodec, a US-based company, much in the manner Global IP Sound provided the voice codecs for Skype. “CoreCodec is the best of breed H.264 video codec and is efficient and has the high quality we need"
Ma e' anche stato accuratamente evitato uno dei maggiori problemi di Skype e KaZaa, ovvero, la portabilita'; e' evidente, infatti, che Joost e' stato progettato sin dall' inizio in maniera tale da essere facilmente portabile su sistemi operativi e piattaforme hardware differenti:
"For us to go to a new platform, we're talking a development time of weeks, not months, and certainly not years. It's more of when the hardware is available in terms of processing power and storage and when bandwidth is suitable, that's when we would move to different devices".
Infatti l' interfaccia grafica, la componente piu' difficile da riscrivere durante il cambio di piattaforma, e' basata su di una versione modificata di Mozilla ed utilizza a piene mani molte delle sue tecnologie, come XUL e XULRunner, nonche' molti degli standard aperti del web; in particolare, come spiegato da Antoine Quint, fa' largo uso di molti degli standard del W3C:
I assume you hint at the Flash Player as potential renderer for this. Using only pure XML-based technologies allow to use a single object model and scripting APIs (the DOM), which is tremendously useful, Flash does not integrate as seamlessly unfortunately, and Apollo, as it looks, will not fill the gap either."
Ovvero:- per la gestione degli eventi dell' interfaccia utilizza javascript e DOM;
- i comandi dell' interfaccia grafica sono disegnati utilizzando sia SVG (Scalable Vector Graphics) che CSS, XUL e XHTML;
- in particolare SVG e' stato preferito al flash per motivi di performance.
- user generated content;
- user generated tagging;
- non prevede l'esistenza di contenuti generati dagli utenti (anche se, secondo quanto genericamente dichiarato nella FAQ, dovrebbe essere previsto in futuro);
- si limita a consentire di assegnare un voto di gradimento al contenuto ma non consente all' utente di effettuare una catalogazione mediante tag.
Comments
Posted by: Dario Salvelli .2007/01/29 06:45:47.209 US/Eastern
http://www.dariosalvelli.com
anche se, per i miei gusti, non e' poi cosi' approfondito:
infatti mi sto documentando un po' meglio sull' implementazione dello Joltid Global Index e delle varie tecniche, utilizzate sia da Skype che da Joost, per superare i NAT ed firewall;
spero di avere abbastanza tempo libero da dedicare all' argomento da poterci scrivere almeno un altro paio di post ;-)
Posted by: swarzy .2007/01/29 15:54:46.383 US/Eastern