XMPP can provide a flexible and scalable solution for real-time push notifications across devices and platforms. ProcessOne offers an XMPP-based push platform as a service to enable reliable delivery of notifications to users. Case studies demonstrate how the platform supports use cases like radio program updates, social media feeds, and mobile applications. ProcessOne's expertise in XMPP pubsub helps make these services highly scalable and able to support new features over time.
2. The need for realtime notifications is exploding
Mobile / smartphones and data plan centric subscriptions:
People are now always connected.
People need to be informed as fast as possible about what is important for
them.
This has a business value for press, sales, on-the-field workforce
Online services are generating a huge volume of data that become good
candidates for push:
Realtime radio programs
News / Tweets
Photo sharing
...
3. Smartphones and push notifications
Push notifications service with Apple as a way to workaround the lack of
background applications
Push notifications on iOS have been widely adopted by Apple developers
They even built messaging system on top of Apple notifications
Users have got used / trained to received real time information
Competitors have designed push notifications as a mandatory element of
their offering.
4. Mobile push notifications systems are all
XMPP
Apple Push Notification service (APNS)
Google Cloud to Device Messaging (C2DM)
Nokia Push Notification
5. Why are other infrastructures needed ?
Existing push infrastructure are:
tight to devices and / or brand:
What about desktop ?
tight to platform applications
What about web applications ?
not always reliable
How to improve SLA ?
link to technical information (Device token)
What about sending notifications to users (through user ids) ?
6. XMPP benefits
Protocol designed for realtime messaging, based on identifiers
Lots of extensions to adapt to your need:
Offline delivery / queuing
Designed for internet scale operation (and not just local network)
Pubsub for channel-based messaging
ProcessOne extensions to go further
Reliable delivery
Mobile optimisations
7. ProcessOne Push Platform
Provides the benefit of XMPP, managed as a service by ProcessOne.
Support of experts, to make pubsub work.
Provides extra components and protocols as entry point and subscription
protocol.
Includes good support to bring pubsub and real time on web (in the
browser).
Good support for alternative protocols connected on the same platform:
Pubsubhubbub
Stomp
OpenPush (future)
8. Enabling listeners access to
pushed music info
• Goals
✓ Build a platform scalable and robust enough to cope
with exceptionally high user numbers who BBC radios
✓ Create a future-proof «LiveText» information service that is
easy and cost-efficient to extend in the future
✓ Develop the new version of an info-enriched service called
«RadioVIS»
• Service « Our new platform gives the BBC the
✓ Elect for a solution on ejabberd, an open source technology flexibility to add new services when we
want to and the scalability to grow.
✓ Appoint ProcessOne to build, integrate and support
ejabberd platform (complete outsourcing) We have a roadmap for the services
that we plan to deliver in the future,
• Benefits and we are confident that with
✓ Scales to support over +150 000 users and offers reliable ProcessOne we can achieve that.»
performance
Alan Ogilvie
✓ Additional push feeds and new services can be quickly and Interactive Platform Producer
cost effectively introduced in the future (connected devices BBC Radio
like radio, tablet...)
9. Violet use case:
Nabaztag push
architecture
Initial architecture based on
pure polling to check «inbox»
Query to check inbox
(every 5 seconds)
Based on database and HTTP
front servers
Database with rabbits'
messages
Broadcast
HTTP Fronts service
Data publication
10. Violet use case:
Nabaztag push
architecture
New push architecture on XMPP
History of data
Database storing the
Lower latency and more reliable
rabbits' inbox
delivery
Persistant XMPP
connection
HTTP infrastructure could be
Messages are pushed
when needed broadcast halfed
service
ejabberd servers
Publishing data
11. Example: Gitlive
This is our technological demo showing in browser, anonymous pubsub.
12. Example: The Superfeedr case
Pubsubhubbub
Hub
for subscribers
Could be the same
hub
XMPP servers
Pubsubhubbub
Persistant XMPP
Hub
connection
for publisher
Messages are pushed
when needed
Posting blog post on web server
(triggers a hub "ping")
13. Enabling all those cases with ProcessOne
Push Platform (P1PP)
Build a generic platform able to manage all those cases for our users in a
standard way.
Build a development community around realtime protocols.
Share our XMPP pubsub expertise with developers around the world.
Propose our ability to make XMPP Pubsub scale as a service.
Support innovation around notification and new usage:
Mobile.
Web protocols: websockets.
14. ProcessOne Push
Platform (P1PP) - Browser XMPP over Desktop or
Overview
TCP - c2s
mobile client
XMPP over
HTTP /
Websocket
XMPP server
(Gtalk for example)
XMPP over
TCP - s2s
P1 Push Platform
=> Launch in december XMPP (throughout 3rd party server)
2012 or
HTTP publish protocol
Publisher