Onesocialweb: a platform to build mobile social applications

Post on 12-May-2015

6.071 views 1 download

Tags:

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 of 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

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(“alice@betavine.net”);

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(“alice@betavine.net”);

OswService service = OswService.getInstance();service.login(“eschnou@vodafonernd.com”, “******”);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(“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 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 ?

eschnou@vodafonernd.com alice@betavine.net

vodafonernd.com betavine.net

Laurent EschenauerDroidcon, April 2nd 2010

C1 – Public©2010 Vodafone Group Services Ltd.

How does it work then ?

eschnou@vodafonernd.com alice@betavine.net

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 ?

eschnou@vodafonernd.com alice@betavine.net

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 ?

eschnou@vodafonernd.com alice@betavine.net

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='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 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

contact@onesocialweb.org