SlideShare a Scribd company logo
1 of 44
Download to read offline
A platform to build real-time social applications




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
@eschnou
 Laurent Eschenauer
 Software Engineer




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
Well.. we want it to be social...




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
… and real-time !




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
… and real-time !




      Custom TCP socket protocol (old skool)




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
… 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.
… 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.
… 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.
… 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.
… 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.
Let's summarize




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
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.
What if all I had to do was...




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
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.
April 1st was yesterday... so.. what is the trick ?




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
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.
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.
How does it work then ?




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
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.
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.
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.
A simple protocol to support all use cases




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.
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.
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.
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.
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.
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.
Coming out... soon




Laurent Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©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 Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©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 Eschenauer                    C1 – Public
Droidcon, April 2nd 2010   ©2010 Vodafone Group Services Ltd.
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.

More Related Content

Similar to Onesocialweb: a platform to build mobile social applications

OneSocialWeb presentation at FOSDEM 2010
OneSocialWeb presentation at FOSDEM 2010OneSocialWeb presentation at FOSDEM 2010
OneSocialWeb presentation at FOSDEM 2010Laurent Eschenauer
 
The Why, What and How of Mobile
The Why, What and How of MobileThe Why, What and How of Mobile
The Why, What and How of MobileMartijn Pannevis
 
Luca Cioletti The Past, The Present And The Future Of Mobile Apps Ecosystem
Luca Cioletti The Past, The Present And The Future Of Mobile Apps EcosystemLuca Cioletti The Past, The Present And The Future Of Mobile Apps Ecosystem
Luca Cioletti The Past, The Present And The Future Of Mobile Apps EcosystemGian-Luca Cioletti
 
The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?Olle E Johansson
 
How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. Osaka University
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial AppsBastian Hofmann
 
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit04122016 web rtc_globalsummit
04122016 web rtc_globalsummitKensaku Komatsu
 
C:\users\luca cioletti the past, the present and the future of mobile apps ...
C:\users\luca cioletti   the past, the present and the future of mobile apps ...C:\users\luca cioletti   the past, the present and the future of mobile apps ...
C:\users\luca cioletti the past, the present and the future of mobile apps ...Luca Cioletti
 
VoIP and the Telcos - Is there a life after death?
VoIP and the Telcos - Is there a life after death?VoIP and the Telcos - Is there a life after death?
VoIP and the Telcos - Is there a life after death?webhostingguy
 
Patrice Slupowski ( Orange ) - New Media as a challenge on 4+ screens
Patrice Slupowski ( Orange ) - New Media as a challenge on 4+ screensPatrice Slupowski ( Orange ) - New Media as a challenge on 4+ screens
Patrice Slupowski ( Orange ) - New Media as a challenge on 4+ screensronewmedia_academy
 
Mobile Solutions: Challenging opportunities
Mobile Solutions: Challenging opportunitiesMobile Solutions: Challenging opportunities
Mobile Solutions: Challenging opportunitiesSimon Kibsgård
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkSam Basu
 
SDP Global Summit 2009
SDP Global Summit 2009SDP Global Summit 2009
SDP Global Summit 2009Martin Prosek
 

Similar to Onesocialweb: a platform to build mobile social applications (20)

OneSocialWeb presentation at FOSDEM 2010
OneSocialWeb presentation at FOSDEM 2010OneSocialWeb presentation at FOSDEM 2010
OneSocialWeb presentation at FOSDEM 2010
 
WordPress on Mobile
WordPress on MobileWordPress on Mobile
WordPress on Mobile
 
The Why, What and How of Mobile
The Why, What and How of MobileThe Why, What and How of Mobile
The Why, What and How of Mobile
 
Luca Cioletti The Past, The Present And The Future Of Mobile Apps Ecosystem
Luca Cioletti The Past, The Present And The Future Of Mobile Apps EcosystemLuca Cioletti The Past, The Present And The Future Of Mobile Apps Ecosystem
Luca Cioletti The Past, The Present And The Future Of Mobile Apps Ecosystem
 
The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?The Realtime Cloud - unified or isolated islands on the net?
The Realtime Cloud - unified or isolated islands on the net?
 
A W T Video On Net Rome2007
A W T  Video On Net  Rome2007A W T  Video On Net  Rome2007
A W T Video On Net Rome2007
 
How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy. How Changing Mobile Technology Is Changing The Way We Create Economy.
How Changing Mobile Technology Is Changing The Way We Create Economy.
 
Creating OpenSocial Apps
Creating OpenSocial AppsCreating OpenSocial Apps
Creating OpenSocial Apps
 
Luca cioletti the past, the present and the future of mobile apps ecosystem
Luca cioletti the past, the present and the future of mobile apps ecosystemLuca cioletti the past, the present and the future of mobile apps ecosystem
Luca cioletti the past, the present and the future of mobile apps ecosystem
 
Luca cioletti the past, the present and the future of mobile apps ecosystem
Luca cioletti the past, the present and the future of mobile apps ecosystemLuca cioletti the past, the present and the future of mobile apps ecosystem
Luca cioletti the past, the present and the future of mobile apps ecosystem
 
04122016 web rtc_globalsummit
04122016 web rtc_globalsummit04122016 web rtc_globalsummit
04122016 web rtc_globalsummit
 
C:\users\luca cioletti the past, the present and the future of mobile apps ...
C:\users\luca cioletti   the past, the present and the future of mobile apps ...C:\users\luca cioletti   the past, the present and the future of mobile apps ...
C:\users\luca cioletti the past, the present and the future of mobile apps ...
 
Presentation Cronos EN
Presentation Cronos  ENPresentation Cronos  EN
Presentation Cronos EN
 
FON - NOAH13 London
FON - NOAH13 LondonFON - NOAH13 London
FON - NOAH13 London
 
VoIP and the Telcos - Is there a life after death?
VoIP and the Telcos - Is there a life after death?VoIP and the Telcos - Is there a life after death?
VoIP and the Telcos - Is there a life after death?
 
Mobile 2.0
Mobile 2.0Mobile 2.0
Mobile 2.0
 
Patrice Slupowski ( Orange ) - New Media as a challenge on 4+ screens
Patrice Slupowski ( Orange ) - New Media as a challenge on 4+ screensPatrice Slupowski ( Orange ) - New Media as a challenge on 4+ screens
Patrice Slupowski ( Orange ) - New Media as a challenge on 4+ screens
 
Mobile Solutions: Challenging opportunities
Mobile Solutions: Challenging opportunitiesMobile Solutions: Challenging opportunities
Mobile Solutions: Challenging opportunities
 
What's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon TalkWhat's New with Windows Phone - FoxCon Talk
What's New with Windows Phone - FoxCon Talk
 
SDP Global Summit 2009
SDP Global Summit 2009SDP Global Summit 2009
SDP Global Summit 2009
 

Onesocialweb: a platform to build mobile social applications

  • 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.