On Fri, Oct 10, 2014 at 6:01 AM, Dan Garry dgarry@wikimedia.org wrote:
From a UI perspective, there is absolutely no difference between a local and remote notification. This distinction is not presented to the user, so it is totally irrelevant to them.
While there's no UI difference, there are a couple of UX differences:
1. Server side push messages are 'instant' - client side pull ones will have a 'lag' of X/2 minutes on average, where X is the notification checking period 2. Doing a network request every, say, 10 minutes, is not good for the User's phone battery life.
There's also the other technical distinction of: 1. Client side, you have to pick and choose which notification types you would want to be notified for, since different ones would require different API calls. Does hitting every 10 minutes for a change that rarely happens, but is very important when it does, a good idea? 2. Push is *far* more forgiving on the servers than pull is, since there's no 'empty' hits that still require db scans, etc just to say 'nothing new'
There are also possible *legal* concerns, since push notifications from the server would entail us contacting Google / Apple's servers to send data via them and sending data via that. This can be properly encrypted in a way that Google / Apple can not view it - we just exchange a symmetric key when doing the initial registration from the client side, and everything is encrypted with that afterwards. Still, would need wider consultation.
Also, yay notifications!!1 \o/