title: Poll vs. Push - Any reasons to avoid Push Notifications?
body: <p>I just inherited an Android app project as a (technical) product manager that uses a <em>5 second timer to poll a remote URL</em> to see if some work initiated by the app has finished. My initial reaction of course was to suggest to <em>replace this with a push/notifications mechanism</em>, preferably Android's built in GCM, so the work is removed from the app on the phone and put on the server side.</p>
  
  <p>Surprisingly I met resistance from the development team. A former product manager (my predecessor) seems to have explicitly requested the implementation to work this way. Unfortunately, he wasn't big on documenting his decisions, so I now have to try to retrace which reasons could have led to this decision to justify a change in the implementation. I came up with the following pro and contra list:</p>
  
  <h2>Contra Push / Pro Poll</h2>
  
  <ol>
  <li>-</li>
  <li>-</li>
  <li>Server side work needed to implement push notifications</li>
  <li>-</li>
  <li>No direct way to know if push notification was successfully delivered</li>
  <li>Scaling push notification delivery can be a pain</li>
  </ol>
  
  <h2>Pro Push / Contra Poll</h2>
  
  <ol>
  <li>Work is removed from device
  <ul>
  <li>Lower bandwith usage</li>
  <li>Lower battery usage</li>
  <li>More responsive application and device</li>
  </ul></li>
  <li>Server load is lowered as devices don't poll every x seconds even if nothing changed (DDOS)</li>
  <li>-</li>
  <li>Push is faster (more responsive) than 5 seconds (current timer) </li>
  <li>Delivery proof of push notification is trivial to implement with a poll of a remote URL (here it makes sense)</li>
  <li>Scaling push notification delivery is a solved problem with lots of open source projects and trivial implementation with a message-queue</li>
  </ol>
  
  <hr>
  
  <ul>
  <li>Are there any other reasons to avoid Push Notifications and use Polling for this usecase? </li>
  <li>Are there any other reasons to avoid Polling and use Push Notifications for this usecase?</li>
  <li>Any other important things I forgot?</li>
  </ul>