/ node.js

Why I like pushd for cross platform push notifications

On a recent mobile (android and iOS) project I implemented push notifications with pushd.

On the pushd project page, pushd is introduced as follows:

Pushd is a pluggable unified push server for server-side notification to mobile native apps, web apps etc. With pushd you can send push notifications to any supported mobile platform, web app or HTTP server from a single entry point. Pushd takes care of which device is subscribed to which event and is designed to support an unlimited amount of subscribable events.

and I have to agree :)

Why do I like pushd as a notification server?

On the plus side:

  • open source (http://github.com/rs/pushd)
  • uses the mobile platforms own notification solutions, both on the server side as on client (device) side so there is no need to introduce 3rd party libs in your apps
  • not restricted to mobile, use it in browsers and Chrome/web apps too with Server Sent Events or HTTP hooks
  • easy to use API
  • minimal server reqs for dev/testing

On the minus side (they are not shortcomings on the functioning of the tool but more on the operational side of things:

  • written in coffeescript, not a drama if you know javascript but you need to mind your space's
  • it uses Redis as a datastore, it may be (another) new tool to manage
  • need to implement a (another) tool to get statistics. Not a bad idea anyway to use one dashboard/monitoring tool in your organisation, rather then adding historical data and a fancy dashboard onto pushd. And it should just be a matter of feeding the logfile of pushd into whatever you use, it contains all the 'send and failed' loglines you need to get your numbers.