onesocialweb: a platform to build mobile social applications

44
Laurent Eschenauer Droidcon, April 2 nd 2010 C1 – Public ©2010 Vodafone Group Services Ltd. A platform to build real-time social applications

Upload: laurent-eschenauer

Post on 12-May-2015

6.073 views

Category:

Documents


1 download

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.

TRANSCRIPT

Page 1: Onesocialweb: a platform to build mobile social applications

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Laurent EschenauerDroidcon, April 2nd 2010

C1 – Public©2010 Vodafone Group Services Ltd.

Info:

http://onesocialweb.org

http://twitter.com/onesocialweb

http://github.com/onesocialweb

[email protected]