Introduction to onesocialweb protocol and API
Upcoming SlideShare
Loading in...5
×
 

Introduction to onesocialweb protocol and API

on

  • 3,965 views

Slides of the workshop given at Mobile 2 Europe in Barcelona on June 17th.

Slides of the workshop given at Mobile 2 Europe in Barcelona on June 17th.

Statistics

Views

Total Views
3,965
Views on SlideShare
3,866
Embed Views
99

Actions

Likes
12
Downloads
59
Comments
0

12 Embeds 99

http://mobile20.eu 29
http://mathemagie.posterous.com 20
http://coderwall.com 18
http://abava.blogspot.com 15
http://www.slideshare.net 4
http://2010.mobile20.eu 3
http://brugerinnovation.dk 3
http://abava.blogspot.ru 3
http://www.onlydoo.com 1
http://tomondev.posterous.com 1
http://hghltd.yandex.net 1
http://xss.yandex.net 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Introduction to onesocialweb protocol and API Introduction to onesocialweb protocol and API Presentation Transcript

  • A platform to build real-time social applications Laurent Eschenauer Mobile 2.0 Europe June 17th - Barcelona Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer Senior Research Engineer Vodafone Group R&D @eschnou eschnou@vodafonernd.com laurent@eschenauer.be Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Ask questions ! Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Onesocialweb: a free, open and decentralized social networking platform Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The menu for today High level overview Demo Protocol and data models Hands on with the API Q&A Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The menu for today High level overview Demo Protocol and data models Hands on with the API Q&A Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Can we make social communications as simple and universal as email ? Facebook MySpace  Friending and following whatever.com across networks  One identity and yet multiple communities  Data portability 360 Google Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • A lot of activities in this field... … but no such platform yet Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol platform user experience Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol A protocol based on open standards XMPP Identity, discovery & communication Activitystreams Data model for social objects VCard Data model for profiles XFN Data model for relationships Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice updates her status wonderland.lit realworld.com Post a new item to her stream alice@wonderland.lit bob@realworld.com Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice updates her status wonderland.lit realworld.com Push notifications to recipients alice@wonderland.lit bob@realworld.com Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice updates her status wonderland.lit realworld.com Real-time notifications alice@wonderland.lit bob@realworld.com Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice looks up Bob's profile wonderland.lit realworld.com Request profile of bob@realworld.com alice@wonderland.lit Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice looks up Bob's profile wonderland.lit realworld.com Request is forwarded to Bob's domain on alice@wonderland.lit behalf. alice@wonderland.lit Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice looks up Bob's profile wonderland.lit realworld.com Bob's provider replies with the profile data that alice is allowed to see. alice@wonderland.lit Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • protocol Architecture: federated client-server e.g. Alice looks up Bob's profile wonderland.lit realworld.com Result is sent back to the requesting client alice@wonderland.lit Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • platform An open source platform End to end platform server backend, client libraries for desktop and mobile Open source Apache 2 license http://github.com/onesocialweb Java 30% code reuse between components Web client written in GWT (Java compiled to Javascript) Already available. Easy to setup. Join our growing community to experiment with us and get involved via our mailing list ! Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • user experience A social network user experience web client (HTML + JS) Android client This is just one implementation of a social networking experience. Keep in mind that Onesocialweb is a platform enabling any kind of social applications. Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The menu for today High level overview Demo Protocol and data models Hands on with the API Q&A Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The menu for today High level overview Demo Protocol and data models Hands on with the API Q&A Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP References XMPP: The definitive guide Peter Saint-Andre, Remko Troncon, Kevin Smith O'Reilly 1999 ISBN: 978-0-596-52126-4 XMPP 101 Peter Saint-Andre & Remko Troncon FOSDEM 2009 http://el-tramo.be/blog/xmpp-101-fosdem Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Architecture Web is a browser (thin client) – server architecture wonderland.lit realworld.com web server web server browser From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Architecture Email is client – server with multi-hop federation wonderland.lit between.org realworld.com email server email server email server email client email client alice@wonderland.lit bob@realworld.com From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Architecture XMPP is a client – server with single hop federation wonderland.lit realworld.com xmpp server xmpp server xmpp client xmpp client alice@wonderland.lit bob@realworld.com From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Addressing Similar to email User Domain alice@wonderland.lit Bare JID (Jabber ID) From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Addressing Similar to email – with an added resource User Domain Resource alice@wonderland.lit/rabbithole Full JID (Jabber ID) From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Streaming XML <stream: stream> <presence/> <iq type="get"> <query xmlns="jabber:iq:roster"/> </iq> <iq type="result"> <query xmlns="jabber:iq:roster"> <item jid="alice@wonderland.lit"/> <item jid="madhatter@wonderland.lit"/> <item jid="whiterabbit@wonderland.lit"/> </query> </iq> <message from="queen@wonderland.lit" to="madhatter@wonderland.lit"> <body>Off with his head!</body> </message> <message from="king@wonderland.lit" to="party@conference.wonderland.lit"> <body>You are all pardoned.</body> </message> <presence type="unavailable"/> </stream: stream> From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Communication based on three “stanzas” <message /> <presence /> <iq /> From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Message stanza <message from="queen@wonderland.lit" to="madhatter@wonderland.lit"> <body>Off with his head!</body> </message> One to one messaging (from & to addresses) Different types of messages (chat, headline, error, …) Basic payload of subject and body From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Presence stanza <presence from="alice@wonderland.lit"> <show>xa</show> <status>down the rabbit hole !</status> </presence> Advertise network availability Rich presence (away, available for chat...) Rich status (a free text entry) Typically used for rosters in IM use cases From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP IQ stanza <iq type="get"> <query xmlns="jabber:iq:roster"/> </iq> <iq type="result"> <query xmlns="jabber:iq:roster"> <item jid="alice@wonderland.lit"/> <item jid="madhatter@wonderland.lit"/> <item jid="whiterabbit@wonderland.lit"/> </query> </iq> Request/response Enable querying and editing of resources Similar to HTTP GET & HTTP POST From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP eXtensible MPP Any child XML element can be used as a payload, using XML namespaces to manage scope <message from="queen@wonderland.lit" to="madhatter@wonderland.lit"> <body>Off with his head!</body> <entry xmlns="http://www.w3.org/2005/Atom"> <published>2010-01-13T12:40:51.292Z</published> <author> <name>The Queen</name> </author> <title>Message from the Queen</title> <content type='html'> Off with his <b>head</b>! </content> </message> From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • XMPP Long-lived connection & asynchronous Web world is synchronous - send request - wait for answer - receive response XMPP is asynchronous - long lived connections - event based messaging From: XMPP 101 by Peter Saint-Andre and Remko Tronco, FOSDEM 2009 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Why XMPP for Onesocialweb ? Only technology to achieve such a federation seamlessly:  Identity (user@domain)  Security (TLS and S2S with dialback)  Discovery (XMPP Disco)  Useful extensions (Roster, PubSub, …) Doing the same in the web world requires to assemble:  OpenID (identity)  Oauth (authentication and authorization)  Webfinger (discovery and openid on en email)  Pubsubhubbub (server to server push notifications)  Salmon (messaging and commenting)  … and to address a lot of other issues (e.g. Privacy, NAT clients) Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Activitystrea.ms Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Activitystreams References http://activitystrea.ms The Open and Social Web Chris Messina Google I/O 2010 http://code.google.com/events/io/2010/sessions/open-and-social-web.html Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The need for machine readable data 1999 – Introduction of RSS <?xml version="1.0" encoding="utf-8"?> <rss version="2.0"> <channel> <item> <title>When Will Location-Based Coupons Take Off?</title> <link>http://bits.blogs.nytimes.com/2010/03/12/when-will- location-based-mobile-coupons-take-off/</link> <pubDate>Fri, 12 Mar 2010 21:38:26 +0000</pubDate> <creator>By CLAIRE CAIN MILLER</creator> <description> People want to receive location-based cellphone coupons, but most have not, according to a Web analytics firm. </description> </item> </channel> </rss> title + link + description From: The Open and Social web, Chris Messina, Google I/O 2010 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The need for machine readable data 2005 – Atom addresses some of the shortcomings <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom"> <entry> <title>When Will Location-Based Coupons Take Off?</title> <link rel=”alternate”>http://bits.blogs.nytimes.com/2010/03/12/when-will- location-based-mobile-coupons-take-off/</link> <id>urn:uuid:60a76c80-d399-11d9-b91C-0003939e0af6</id> <updated>Fri, 12 Mar 2010 21:38:26 +0000</updated> <author> <name>By CLAIRE CAIN MILLER</name> </author> <summary> People want to receive location-based cellphone coupons, but most have not, according to a Web analytics firm. </summary> </entry> </feed> title + link + summary + author + id + updated From: The Open and Social web, Chris Messina, Google I/O 2010 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Yet, no common way to describe rich social interactions... leading to proprietary data models title + link + summary + author + id + updated Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Activitystreams provides a common language to describe social interactions... actor verb object target Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Activitystreams provides a common language to describe social interactions... eschnou posted a note Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Activitystreams provides a common language to describe social interactions... eschnou posted a picture to an album Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Activitystreams provides a common language to describe social interactions... eschnou liked a video Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • … building upon existing Atom elements title + link + summary + author + id + updated + verb + object-type + target Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • … building upon existing Atom elements <?xml version="1.0" encoding="utf-8"?> <feed xmlns="http://www.w3.org/2005/Atom" xmlns:activity="http://activitystrea.ms/spec/1.0/"> <entry> <title>...</title> <link rel=”alternate”>...</link> <id>...</id> <updated>...</updated> <author> <activity:object-type>person</activity:object-type> <name>...</name> </author> <activity:verb>post</activity:verb> <activity:object> <activity:object-type>note</activity:object-type> <content type=”html”> ... </content> </activity:object> </entry> </feed> From: The Open and Social web, Chris Messina, Google I/O 2010 Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Onesocialweb extends this further with context data and access control rules actor verb object target context access-control Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Onesocialweb extends it further with context data and access control rules eschnou took a picture in Barcelona, it can be seen visible by 'friends' Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Putting it all together Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Juliet updates her status “O Romeo, Romeo, wherefore  art thou Romeo ?” Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • <iq type='set' from='juliet@capulet.lit/mobile' to='capulet.lit' id='osw1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node=”urn:xmpp:microblog:0”> <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>O Romeo, Romeo, wherefore art thou Romeo?</title> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <activity:object> <activity:object-type>http://activitystrea.ms/schema/1.0/status</activity:object-type> <content>O Romeo, Romeo, wherefore art thou Romeo?</content> </activity:object> <osw:acl-rule> <osw:acl-action permission="http://onesocialweb.org/spec/1.0/acl/permission/grant"> http://onesocialweb.org/spec/1.0/acl/action/view </osw:acl-action> <osw:acl-subject>http://onesocialweb.org/spec/1.0/acl/subject/everyone</osw:acl-subject> </osw:acl-rule> </entry> </publish> </pubsub> </iq> Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • <iq type='set' from='juliet@capulet.lit/mobile' to='capulet.lit' id='osw1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node=”urn:xmpp:microblog:0”> <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>O Romeo, Romeo, wherefore art thou Romeo?</title> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <activity:object> <activity:object-type>http://activitystrea.ms/schema/1.0/status</activity:object-type> <content>O Romeo, Romeo, wherefore art thou Romeo?</content> </activity:object> <osw:acl-rule> <osw:acl-action permission="http://onesocialweb.org/spec/1.0/acl/permission/grant"> http://onesocialweb.org/spec/1.0/acl/action/view </osw:acl-action> <osw:acl-subject>http://onesocialweb.org/spec/1.0/acl/subject/everyone</osw:acl-subject> </osw:acl-rule> </entry> </publish> </pubsub> </iq> Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • <iq type='set' from='juliet@capulet.lit/mobile' to='capulet.lit' id='osw1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node=”urn:xmpp:microblog:0”> <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>O Romeo, Romeo, wherefore art thou Romeo?</title> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <activity:object> <activity:object-type>http://activitystrea.ms/schema/1.0/status</activity:object-type> <content>O Romeo, Romeo, wherefore art thou Romeo?</content> </activity:object> <osw:acl-rule> <osw:acl-action permission="http://onesocialweb.org/spec/1.0/acl/permission/grant"> http://onesocialweb.org/spec/1.0/acl/action/view </osw:acl-action> <osw:acl-subject>http://onesocialweb.org/spec/1.0/acl/subject/everyone</osw:acl-subject> </osw:acl-rule> </entry> </publish> </pubsub> </iq> Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • <iq type='set' from='juliet@capulet.lit/mobile' to='capulet.lit' id='osw1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node=”urn:xmpp:microblog:0”> <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>O Romeo, Romeo, wherefore art thou Romeo?</title> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <activity:object> <activity:object-type>http://activitystrea.ms/schema/1.0/status</activity:object-type> <content>O Romeo, Romeo, wherefore art thou Romeo?</content> </activity:object> <osw:acl-rule> <osw:acl-action permission="http://onesocialweb.org/spec/1.0/acl/permission/grant"> http://onesocialweb.org/spec/1.0/acl/action/view </osw:acl-action> <osw:acl-subject>http://onesocialweb.org/spec/1.0/acl/subject/everyone</osw:acl-subject> </osw:acl-rule> </entry> </publish> </pubsub> </iq> Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The menu for today High level overview Demo Protocol and data models Hands on with the API Q&A Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • How would you create a social shopping list application ? Create shopping lists Share them with friends Collaborate on shopping items Receive real-time notifications e.g. Shopulator on Android Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Today you need a lot more than a mobile app We need a back-end … and a solution for push server... notifications  User registration  Custom TCP sockets  Social graph management  Web sockets (e.g. inviting friends)  Comet (HTTP Long polling)  Data storage for the shopping list  SMS  Web API  Apple Push Notifications (to communicate with the mobile client)  Android C2DM Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • With Onesocialweb, you focus on your application and let the protocol do the rest Create a shopping list object and a user as a collaborator ShoppingList list = new ShoppingList(); list.setTitle(“BBQ on Sunday”); list.addItem(“bread”); list.addCollaborator(“alice@betavine.net”); Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • With Onesocialweb, you focus on your application and let the protocol do the rest Create a shopping list object and a user as a collaborator ShoppingList list = new ShoppingList(); list.setTitle(“BBQ on Sunday”); list.addItem(“bread”); list.addCollaborator(“alice@betavine.net”); Connect to the user account and post the new shopping list service.connect(“vodafonernd.com”, 5222, null); service.login(“eschnou”, “******”, “shoplist”); service.post(list); Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • With Onesocialweb, you focus on your application and let the protocol do the rest Create a shopping list object and a user as a collaborator ShoppingList list = new ShoppingList(); list.setTitle(“BBQ on Sunday”); list.addItem(“bread”); list.addCollaborator(“alice@betavine.net”); Connect to the user account and post the new shopping list service.connect(“vodafonernd.com”, 5222, null); service.login(“eschnou”, “******”, “shoplist”); service.post(list); Listen to incoming social events and act on shopping list service.registerInboxEventHandler(new InboxEventHandler() { public void handleEvent(InboxEvent event) { if (event.getObjectType().equals(“http://acme.com/shoppinglist“)) { notify(); }}}); Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • The power of having a common data model in a federated network Facebook MySpace eschnou@facebook.com 360 Google mysister@gmail.com mymother@360.com Realtime picture sharing with friends and family, across networks, and without tight coupling of the social applications Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.
  • Get started: http://onesocialweb.org http://twitter.com/onesocialweb http://github.com/onesocialweb contact@onesocialweb.org Laurent Eschenauer C1 – Public June 17th 2010 ©2010 Vodafone Group Services Ltd.