Onesocialweb: a platform to build mobile social applications
-
Upload
laurent-eschenauer -
Category
Documents
-
view
6.073 -
download
1
description
Transcript of Onesocialweb: a platform to build mobile social applications
![Page 1: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/1.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A platform to build real-time social applications
![Page 2: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/2.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
@eschnou
Laurent EschenauerSoftware Engineer
![Page 3: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/3.jpg)
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
![Page 4: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/4.jpg)
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 ?
![Page 5: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/5.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Well.. we want it to be social...
![Page 6: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/6.jpg)
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
![Page 7: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/7.jpg)
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)
![Page 8: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/8.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
![Page 9: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/9.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
… and real-time !
Custom TCP socket protocol (old skool)
![Page 10: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/10.jpg)
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)
![Page 11: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/11.jpg)
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)
![Page 12: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/12.jpg)
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)
![Page 13: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/13.jpg)
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 !)
![Page 14: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/14.jpg)
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 ! )
![Page 15: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/15.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Let's summarize
![Page 16: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/16.jpg)
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...
![Page 17: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/17.jpg)
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.
![Page 18: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/18.jpg)
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 ?
![Page 19: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/19.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
What if all I had to do was...
![Page 20: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/20.jpg)
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]”);
![Page 21: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/21.jpg)
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);
![Page 22: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/22.jpg)
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(); } }});
![Page 23: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/23.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
April 1st was yesterday... so.. what is the trick ?
![Page 24: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/24.jpg)
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.
![Page 25: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/25.jpg)
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.
![Page 26: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/26.jpg)
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.
![Page 27: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/27.jpg)
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.
![Page 28: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/28.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
How does it work then ?
![Page 29: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/29.jpg)
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
![Page 30: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/30.jpg)
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
![Page 31: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/31.jpg)
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
![Page 32: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/32.jpg)
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
![Page 33: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/33.jpg)
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>
![Page 34: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/34.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
A simple protocol to support all use cases
![Page 35: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/35.jpg)
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)
![Page 36: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/36.jpg)
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)
![Page 37: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/37.jpg)
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)
![Page 38: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/38.jpg)
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)
![Page 39: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/39.jpg)
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..)
![Page 40: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/40.jpg)
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
![Page 41: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/41.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Coming out... soon
![Page 42: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/42.jpg)
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
![Page 43: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/43.jpg)
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
![Page 44: Onesocialweb: a platform to build mobile social applications](https://reader033.fdocuments.net/reader033/viewer/2022060108/555116f3b4c905b1138b4cb2/html5/thumbnails/44.jpg)
Laurent EschenauerDroidcon, April 2nd 2010
C1 – Public©2010 Vodafone Group Services Ltd.
Info:
http://onesocialweb.org
http://twitter.com/onesocialweb
http://github.com/onesocialweb