Upload
laurent-eschenauer
View
6.073
Download
1
Tags:
Embed Size (px)
DESCRIPTION
Presentation at droidcon.be on April 2nd 2010. Explain how onesocialweb.org is in fact a platform enabling new kind of real-time, mobile & social applications.
Citation preview
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A platform to build real-time social applications
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
@eschnou
Laurent EschenauerSoftware Engineer
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's create a social shopping list application...
Shopulator on Android
- Create shopping lists- Share them with friends- Collaborate on shopping items- Receive real-time notifications
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's create a social shopping list application...
Shopulator on Android
- Create shopping lists- Share them with friends- Collaborate on shopping items- Receive real-time notifications
This looks fast and easy to do... right ?
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Well.. we want it to be social...
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Well.. we want it to be social...
We need a back-end server
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Well.. we want it to be social...
We need a back-end serverUser registrationSocial graph management (e.g. inviting friends)Data storage for the shopping listWeb API (to communicate with the mobile client)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)Web sockets (coming soon, or not so soon)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)Web sockets (coming soon, or not so soon)Comet (your battery will soon be empty)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)Web sockets (coming soon, or not so soon)Comet (your battery will soon be empty)
SMS (your wallet will soon be empty)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)Web sockets (coming soon, or not so soon)Comet (your battery will soon be empty)
SMS (your wallet will soon be empty) Apple Push Notifications (hey ! This is an Android talk !)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)Web sockets (coming soon, or not so soon)Comet (your battery will soon be empty)
SMS (your wallet will soon be empty) Apple Push Notifications (hey ! This is an Android talk !) XMPP (best ! )
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's summarize
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's summarize
We wanted to build a simple Android application in Java...
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's summarize
We wanted to build a simple Android application in Java...
… and end up having to use apache, mysql, php, rest, json, xmpp, etc.
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's summarize
We wanted to build a simple Android application in Java...
… and end up having to use apache, mysql, php, rest, json, xmpp, etc.
Huh ?
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
What if all I had to do was...
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
What if all I had to do was...
ShoppingList list = new ShoppingList();list.addItem(“bread”);list.addCollaborator(“[email protected]”);
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
What if all I had to do was...
ShoppingList list = new ShoppingList();list.addItem(“bread”);list.addCollaborator(“[email protected]”);
OswService service = OswService.getInstance();service.login(“[email protected]”, “******”);service.post(list);
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
What if all I had to do was...
ShoppingList list = new ShoppingList();list.addItem(“bread”);list.addCollaborator(“[email protected]”);
OswService service = OswService.getInstance();service.login(“[email protected]”, “******”);service.post(list);
service.registerInboxEventHandler(new InboxEventHandler() { public void handleEvent(InboxEvent event) { if (event.getObjectType().equals(“http://acme.com/shoppinglist“)) {
notify(); } }});
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
April 1st was yesterday... so.. what is the trick ?
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
April 1st was yesterday... so.. what is the trick ?
Onesocialweb is a free, open, decentralized social networking platform.
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
April 1st was yesterday... so.. what is the trick ?
Onesocialweb is a free, open, decentralized social networking platform.
It makes social networking as easy as email.
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
April 1st was yesterday... so.. what is the trick ?
Onesocialweb is a free, open, decentralized social networking platform.
It makes social networking as easy as email.
It is real-time, based on XMPP.
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
April 1st was yesterday... so.. what is the trick ?
Onesocialweb is a free, open, decentralized social networking platform.
It makes social networking as easy as email.
It is real-time, based on XMPP.
It is extensible, using Activitystrea.ms.
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
How does it work then ?
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
How does it work then ?
[email protected] [email protected]
vodafonernd.com betavine.net
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
How does it work then ?
[email protected] [email protected]
vodafonernd.com betavine.net
Post a new item to his stream
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
How does it work then ?
[email protected] [email protected]
vodafonernd.com betavine.net
Post a new item to his stream
Push notifications to recipients
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
How does it work then ?
[email protected] [email protected]
vodafonernd.com betavine.net
Post a new item to his stream
Push notifications to recipients
Real-time notifications
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Example payload
<iq type='set' from='[email protected]/mobile' to='vodafonernd.com' id='osw1'> <pubsub xmlns="http://jabber.org/protocol/pubsub"> <publish node=”urn:xmpp:microblog:0”> <entry xmlns="http://www.w3.org/2005/Atom" xmlns:sl = “http://acme.com/shppinglist“ xmlns:activity="http://activitystrea.ms/spec/1.0/" xmlns:osw="http://onesocialweb.org/spec/1.0/"> <title>New years eve party shopping list</title> <activity:verb>http://activitystrea.ms/schema/1.0/post</activity:verb> <activity:object> <activity:object-type>http://acme.com/shoppinglist</activity:object-type> <sl:item>bread</sl;item> </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/edit </osw:acl-action> <osw:acl-subject>[email protected]</osw:acl-subject> </osw:acl-rule> </entry> </publish></iq>
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Sharing of 'activities' (you decide what it means)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Sharing of 'activities' (you decide what it means)Following/follower model (twitter style)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Sharing of 'activities' (you decide what it means)Following/follower model (twitter style)Setup of 'relationships' (facebook style)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Sharing of 'activities' (you decide what it means)Following/follower model (twitter style)Setup of 'relationships' (facebook style)User profiles (extensible)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Sharing of 'activities' (you decide what it means)Following/follower model (twitter style)Setup of 'relationships' (facebook style)User profiles (extensible)Fine grained privacy (per item, per field..)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
Sharing of 'activities' (you decide what it means)Following/follower model (twitter style)Setup of 'relationships' (facebook style)User profiles (extensible)Fine grained privacy (per item, per field..)Collaborative
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Coming out... soon
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Coming out... soon
First pieces released April 9th... Openfire server plugin Java library (based on Smack) Text based console
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Coming out... soon
First pieces released April 9th... Openfire server plugin Java library (based on Smack) Text based console
… the rest later this spring Web client (built with Google Web Toolkit) Android library Android client
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Info:
http://onesocialweb.org
http://twitter.com/onesocialweb
http://github.com/onesocialweb