Upload
istanbul-tech-talks
View
125
Download
4
Embed Size (px)
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
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=’[email protected]' to=’[email protected]’ 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?