This presentation is about the use of XMPP at the heart of internet scale push solutions, from mobile to web notification, including appliance use. This is also the original announcement of ProcessOne Push Platform (P1PP).
XMPP-based Push SolutionsXMPP, HTTP and the future of Push at ProcessOneNovember 2011
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 ...
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.
Mobile push notifications systems are allXMPP Apple Push Notification service (APNS) Google Cloud to Device Messaging (C2DM) Nokia Push Notification
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) ?
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
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)
Enabling listeners access topushed 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-efﬁcient 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 ﬂexibility 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,• Beneﬁts and we are conﬁdent 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...)
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
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 beMessages are pushed when needed broadcast halfed service ejabberd servers Publishing data
Example: Gitlive This is our technological demo showing in browser, anonymous pubsub.
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")
Enabling all those cases with ProcessOnePush 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.
ProcessOne PushPlatform (P1PP) - Browser XMPP over Desktop orOverview 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