Onesocialweb: a platform to build mobile social applications
Upcoming SlideShare
Loading in...5
×
 

Like this? Share it with your network

Share

Onesocialweb: a platform to build mobile social applications

on

  • 7,110 views

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.

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.

Statistics

Views

Total Views
7,110
Views on SlideShare
3,972
Embed Views
3,138

Actions

Likes
3
Downloads
0
Comments
0

9 Embeds 3,138

http://onesocialweb.org 1994
http://serendipity.ruwenzori.net 995
http://mobile20.eu 89
http://www.slideshare.net 30
http://coderwall.com 18
https://confluence.spreadd.com 6
http://translate.googleusercontent.com 4
file:// 1
https://g06rynoa17p2f4ugukzzpbnnc4qcdt.appspot.com 1
More...

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

© All Rights Reserved

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

Onesocialweb: a platform to build mobile social applications Presentation Transcript

  • 1. A platform to build real-time social applications Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 2. @eschnou Laurent Eschenauer Software Engineer Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 3. Let's create a social shopping list application... - Create shopping lists - Share them with friends - Collaborate on shopping items - Receive real-time notifications Shopulator on Android Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 4. Let's create a social shopping list application... - Create shopping lists - Share them with friends - Collaborate on shopping items - Receive real-time notifications This looks fast and easy to do... right ? Shopulator on Android Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 5. Well.. we want it to be social... Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 6. Well.. we want it to be social... We need a back-end server Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 7. Well.. we want it to be social... We need a back-end server User registration Social graph management (e.g. inviting friends) Data storage for the shopping list Web API (to communicate with the mobile client) Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 8. … and real-time ! Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 9. … and real-time ! Custom TCP socket protocol (old skool) Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 10. … and real-time ! Custom TCP socket protocol (old skool) Web sockets (coming soon, or not so soon) Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 11. … 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 12. … 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 13. … 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 14. … 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 15. Let's summarize Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 16. Let's summarize We wanted to build a simple Android application in Java... Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 17. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 18. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 19. What if all I had to do was... Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 20. What if all I had to do was... ShoppingList list = new ShoppingList(); list.addItem(“bread”); list.addCollaborator(“alice@betavine.net”); Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 21. What if all I had to do was... ShoppingList list = new ShoppingList(); list.addItem(“bread”); list.addCollaborator(“alice@betavine.net”); OswService service = OswService.getInstance(); service.login(“eschnou@vodafonernd.com”, “******”); service.post(list); Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 22. What if all I had to do was... ShoppingList list = new ShoppingList(); list.addItem(“bread”); list.addCollaborator(“alice@betavine.net”); OswService service = OswService.getInstance(); service.login(“eschnou@vodafonernd.com”, “******”); service.post(list); service.registerInboxEventHandler(new InboxEventHandler() { public void handleEvent(InboxEvent event) { if (event.getObjectType().equals(“http://acme.com/shoppinglist“)) { notify(); } } }); Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 23. April 1st was yesterday... so.. what is the trick ? Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 24. April 1st was yesterday... so.. what is the trick ? Onesocialweb is a free, open, decentralized social networking platform. Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 25. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 26. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 27. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 28. How does it work then ? Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 29. How does it work then ? vodafonernd.com betavine.net eschnou@vodafonernd.com alice@betavine.net Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 30. How does it work then ? vodafonernd.com betavine.net Post a new item to his stream eschnou@vodafonernd.com alice@betavine.net Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 31. How does it work then ? vodafonernd.com betavine.net Push notifications to recipients Post a new item to his stream eschnou@vodafonernd.com alice@betavine.net Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 32. How does it work then ? vodafonernd.com betavine.net Push notifications to recipients Post a new item Real-time to his stream notifications eschnou@vodafonernd.com alice@betavine.net Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 33. Example payload <iq type='set' from='eschnou@vodafonernd.com/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>alice@betavine.net</osw:acl-subject> </osw:acl-rule> </entry> </publish> </iq> Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 34. A simple protocol to support all use cases Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 35. A simple protocol to support all use cases Sharing of 'activities' (you decide what it means) Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 36. A simple protocol to support all use cases Sharing of 'activities' (you decide what it means) Following/follower model (twitter style) Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 37. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 38. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 39. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 40. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 41. Coming out... soon Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 42. Coming out... soon First pieces released April 9th ...  Openfire server plugin  Java library (based on Smack)  Text based console Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 43. 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 Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.
  • 44. Info: http://onesocialweb.org http://twitter.com/onesocialweb http://github.com/onesocialweb contact@onesocialweb.org Laurent Eschenauer C1 – Public Droidcon, April 2nd 2010 ©2010 Vodafone Group Services Ltd.