Send the link below via email or IMCopy
Present to your audienceStart remote presentation
- Invited audience members will follow you as you navigate and present
- People invited to a presentation do not need a Prezi account
- This link expires 10 minutes after you close the presentation
- A maximum of 30 users can follow your presentation
- Learn more about this feature in our knowledge base article
Do you really want to delete this prezi?
Neither you, nor the coeditors you shared it with will be able to recover it again.
Make your likes visible on Facebook?
You can change this under Settings & Account at any time.
Distributed social networks with XMPP and ejabberd
Transcript of Distributed social networks with XMPP and ejabberd
problem MySpace LinkedIn Facebook Twitter StudiVZ Hive Friendster Google Buzz Orkut Viadeo Instagram Projects OneSocialWeb Solutions ? Aggregation Federation Web "curated"
experience github Flickr youtube Foursquare Toward a web of
Social Networks ? Distributed social networks with XMPP and ejabberd Mickaël Rémond - ProcessOne Erlang Factory - March 2011 People Diana Cheng Laurent Eschenauer Alard Weisscher Vodafone ProcessOne Mickael Rémond Christophe Romain Karim Gemayel A collaborative initiative around OneSocialWeb Fragmentation Lack of interoperability Walled garden Privacy issues + = Yes, you are trapped! Yes, you are spyed! It's dead simple But it's a monopoly A single user experience... ... across the whole web Facebook
integrated Web Connect Share Discuss Identify your friends taste Putting all your accounts in a single UI That was the goal of Jabber / XMPP at creation Already possible with ejabberd Twitter gateway
MSN, Yahoo!, ICQ, AOL gateways
Facebook connect gateway Problem: this is a dead end You still need an account on all social networks If no or limited API, you need reverse engineering This is unofficial and can be banned That's also what XMPP is about Based on domains and server-to-server (s2s) We need the tools to make federated social networks a reality 6d
... Many others Make social communications as simple and universal as email Friending and following across networks One identity and yet multiple communities Data portability A protocol based on open standards XMPP: Identity, discovery and communication
Activitystreams: Data model for social objects
VCard: Data model for profiles
XFN: Data model for relationships A lot of activity but no platform yet Challenge: Federate with existing initiatives Demo ejabberd modules Platform working with federation (read)
No posting to other platform yet
Improvements and optimisation to pubsub service
Will be open source in the standard ejabberd version to spread it Community Why XMPP for OneSocialWeb ? One technology to achieve such federation seamlessly Identity (user@domain)
Security (persistent connection, SSL, TLS, dialback)
Discovery for feature and services (XMPP disco, Caps)
Useful extensions (Roster, privacy, pubsub) Doing the same in web world requires to assemble OpenID (identity)
Oauth (authentication and authorization)
Webfinger (discovery and openID on email address
Pubsubhubbub (server to server federation)
Salmon (messaging and commenting)
... and to address lot of other issues (like privacy) Existing clients Reuse of Activitystreams data format provides a common language to describe social interactions...
actor verb object target
mickael posted a note
mickael posted a picture to an album
mickael liked a video
… building upon existing Atom elements: title + link + summary + author + id + updated + verb + object-type + target Reusing content from Diana Chen presentation at Sea Beyond 2011 Demonstrated compliance OnesocialWeb reference implementation with: ostatus with identica ejabberd implementation Web client Android client More on the work Luca Faggioli Daniel Appelquist Many others The future Work in progress Stay tuned on
http://www.onesocialweb.org Protocol should be improved to make it more XMPP friendly
impact on XMPP and ejabberd pubsub
Impact on storage
Participation to IETF for building a standard
Clean-up and release implementation
More clients for more mobiles Erlang tools ejabberd and its nice API ejabberd 2.x, porting to ejabberd 3.x Webmachine for HTTP protocol compliance (Pubsubhubbub) ejabberd implementation: posting to Twitter High-level architecture mochiweb, lhttpc