ITT 2015 - Simon Tennant - Your App Just Got Social: Adding Messaging to Your Project

Preview:

Citation preview

Buddycloud is an open source framework for adding user and group messaging to your app.

In 2014 in-app messaging use doubles as users switch from social media to messaging

Sources: [1] [2]

“Eventually, every mobile app becomes a chat app. I keep getting reminded.”

@johnolilly (John Lilly, Partner @ Greylock, former CEO @ Mozilla)

“We believe that messaging is one of the few things that people actually do more than social networking.”

Mark Zuckerberg, Facebook CEO

In 2015 messaging is everywhere

“The new Apple Watch's forthcoming messaging app has us imagine a world where we tell our loved ones we're alive in a literal yet visceral way—by sharing our heartbeat”

ReadWrite.com

Developers ●  Increases app interaction

●  Increases app re-launches

●  Increases app stickiness

●  User-to-user help - reduces support

costs

Why is in-app messaging so important?

Users ●  Feel part of a community

●  Is a reaction to the rigid structure of

existing social-networks

●  Quick help (e.g. AirBnB's in-app

messaging quickly connects the guest

with their host)

but pain ●  scaling, ●  security, ●  complexity. All that distract you from your core app

The long tail of messaging

Why in-app messaging matters

@Fahertuer, we miss you

Open: ✔

Federated: ✖

Realtime: ✔

Affordable: ✔

Telkom South Africa Telephone

Open: ✔

Federated: ✔

Realtime: ✔

Affordable: ✖

Open: ✔

Federated: kinda

Realtime: ✔

Affordable: ✔

IRC

Email

Email

Open: ✔

Federated: ✔

Realtime: ✔

Affordable: ✔

CU-SeeMe

Open: ✖

Federated: "distributed"

Realtime: ✔

Affordable: ✔

Skype

Open: ✖

Federated: ✖

Realtime: ✔

Affordable: ✖

Network Agents / General Magic

3 Phases of Messaging

Unbundling international voice calling Unbundling mobile-based messaging The generic data layer

The exciting part!

The Future of Messaging 4 trends

Everything is realtime

Anything new yet? Anything new yet? Anything new yet? Anything new yet? Anything new yet? Anything new yet? Anything new yet? Anything new yet? Anything new yet?

I'm online. Keep me updated. Mkaycheersbye. I'm going offline

WebRTC

Internet of Things

Silos interconnect

Do you ?

Evolution of in-app messaging Erector Set ➔ Fit for purpose

2013

2015

everything you need to know about XMPP

Used by

XMPP

●  Real Time ●  Identity ●  Security ●  Scalability ●  Discovery ●  Interoperability ●  Authentication ●  Authorization ●  Provisioning ●  Presence

<message from=’romeo@montague.lit' to=’juliet@capulet.lit’ type=’chat’> <body>We have had a most delightful evening, a most excellent ball.</body> </message>

But...

XML? Where's my REST API? Mobile and Push? I want to send a file? Just chat?

Everything you need to know about Buddycloud

github.com/buddycloud

Buddycloud extends XMPP

github.com/buddycloud/android-client

github.com/buddycloud/webclient

Demo apps

A small diversion into microservices

In computing, microservices is a software architecture style, in which complex applications are composed of small, independent processes communicating with each other using language-agnostic APIs. These services are small, highly decoupled and focus on doing a small task.

Buddycloud is lots of microservices

Everything is Publish-Subscribe

A node for this, a node for that

But wait, there's more

The inbox

Problems ●  slow discovery and retrieval ●  networks aren't always online Solution: The Inbox approach ●  improves time to glass ●  catches up on missed posts when servers

come back online

Looking at the media server

Requesting media

but wait there's more

●  API server ●  Push server ●  Friend finder ●  Taste engine ●  Search

Support Documentation

Developer community

Open Source License

Buddycloud SDK Social activity stream

User + group messaging

File sharing

Complete backend stack

Messaging

Push

Search

Hosting

Seamless scaling

Security updates

All data is fully portable

Solution: A complete messaging stack

Open: ✔

Federated: ✔

Realtime: ✔

Affordable: ✔

Buddycloud in action

github.com/buddycloud opensource web and mobile apps for you to extend

Apache 2 License buddycloud.com/get-started

Questions?

Recommended