C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
XMPP and the Social Web
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
@eschnouLaurent EschenauerSoftware Engineer
@alardwAlard Weisscher
User Experience Designer
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
social web noun :
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
social web noun :An open global distributed data sharing network linking people, organizations, and concepts.
Unknown author, Wikipedia
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
social web noun :An open global distributed data sharing network linking people, organizations, and concepts.
A free, open, decentralized social networking platform supporting an ecosystem of social applications.
Unknown author, Wikipedia
Our interpretation
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
many activities related to the Social Web...
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activitystrea.ms
portable contacts
many activities related to the Social Web...
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
… yet no global solution
activitystrea.ms
portable contacts
many activities related to the Social Web...
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
Are you sure ?
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
What about XMPP ?
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
identity: user@domain
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
profi le: vcard, avatar
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
fr iends: roster
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit ies : presence
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit ies : IM
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit ies : PEP
PEP: Personal Eventing Protocol (a special PubSub node linked to a JID)
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
is it enough ?
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
is it enough ? No :-(
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit iesrelations
profi le
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit iesrelations
profi le
richer semantics
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit iesrelations
profi le
richer semanticsextensible
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit iesrelations
profi le
richer semanticsextensiblefine grained access control
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit iesrelations
profi le
richer semanticsextensiblefine grained access controloffline
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
how do we do this ?
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
eXtensible MPP
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
4 extensions (very early drafts)
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
4 extensions (very early drafts) Social activities Social profile Social relations Social interactions
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
4 extensions (very early drafts) Social activities Social profile Social relations Social interactions
Both server-server and client-server
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
“dwarf on the shoulders of giants”
Bernard of Chartres, 1200
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
profi le: Portable Contacts
http://wiki.portablecontacts.net/
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
fr iends: XHTML Friends Network
http://gmpg.org/xfn/
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
activit ies: activitystrea.ms
http://activitystrea.ms/
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
an example ?
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
Hamlet updates his status
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
Hamlet updates his status“to be or not to be...”
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
<iq type='set'from='[email protected]/snsclient'to='denmark.lit'id='osw1'>
</iq>
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
<iq type='set'from='[email protected]/snsclient'to='denmark.lit'id='osw1'> <publish xmlns='http://onesocialweb.org/protocol/0.1/activities#publish'>
</publish></iq>
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
<iq type='set'from='[email protected]/snsclient'to='denmark.lit'id='osw1'> <publish xmlns='http://onesocialweb.org/protocol/0.1/activities#publish'> <entry xmlns='http://www.w3.org/2005/Atom' xmlns:activity='http://activitystrea.ms/spec/1.0/' xmlns:osw='http://onesocialweb.org/spec/1.0/'> <title>to be or not to be ?</title> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <activity:object> <activity:objecttype> http://onesocialweb.org/spec/1.0/object/status </activity:objecttype> <content type='text/plain'>to be or not to be ?</content> </activity:object> <osw:aclrule> <osw:aclaction permission='http://onesocialweb.org/spec/1.0/acl/permission/grant'> http://onesocialweb.org/spec/1.0/acl/action/view </osw:aclaction> <osw:aclsubject type='http://onesocialweb.org/spec/1.0/acl/subject/everyone'/> </osw:aclrule> </entry> </publish></iq>
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server not a dumb router
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server not a dumb routerarchive (off-line access)
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server not a dumb routerarchive (off-line access)query, search, filter
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server not a dumb routerarchive (off-line access)query, search, filterpush notifications
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server not a dumb routerarchive (off-line access)query, search, filterpush notificationsmanage relationships
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server not a dumb routerarchive (off-line access)query, search, filterpush notificationsmanage relationshipsenforce access control at item level
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
“practice makes perfect”Periander, 600bc
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
server: Openfire plugin
Open source XMPP server, written in Java, licensed under GPL 2
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
web cl ient: Google Web Toolkit +Emite
Emite is a BOSH library ported to Google Web Toolkit
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
mobile: Android application withaSmack + custom code
aSmack is a port of Smack to Android, in addition we changed the keep-alive strategyhttp://code.google.com/p/asmack/
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
language: 100% Java30% code reuse
Google Web Toolkit compiles Java code to a Javascript Web Application
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
l icense: Apache License 2.0github.com/onesocialweb
Well.. we are not ready, you'll have to wait end of march to get the code
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
coming up:
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
coming up: engage with XMPP community over the extensions
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
coming up: engage with XMPP community over the extensions
engage with servers and clients developers
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
coming up: engage with XMPP community over the extensions
engage with servers and clients developers
open source the code
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
coming up: engage with XMPP community over the extensions
engage with servers and clients developers
open source the code
setup a trial server – open federation
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
coming up: engage with XMPP community over the extensions
engage with servers and clients developers
open source the code
setup a trial server – open federation
develop features, features and more features
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
“We need you, we need your youth, your strength, and your idealism, to help us make right what is wrong.”
Ronald Reagan
C1 Public–
© 2010 Vodafone GroupLaurent Eschenauer & Alard WeisscherFOSDEM, Feb 6th 2010
info:http://onesocialweb.orghttp://twitter.com/onesocialwebhttp://github.com/onesocialweb
Recommended