On Fr, 2015-02-13 at 15:51 -0500, Brian Cully wrote: > > On 13-Feb-2015, at 13:50, Ivan Vučica <i...@vucica.net> wrote: > > So the clients with the most enjoyable experience typically open a > > connection from the developer's servers, and deliver notifications over > > APNS. Should that continue to be true? > > Speaking personally, absolutely not. I can’t use current iOS XMPP > clients because I’m worried about the data security of this model, and at a > previous job we specifically told people not to for the same reason. There > are clients that do not connect to a developer’s server, but none that I’ve > found except one (Bria w/ the XMPP IAP) will maintain a connection for more > than a few minutes with the app in the background. > > I believe you can use the VoIP class of background applications, as > you’ve mentioned, to do this, but as yet I’ve not seen this become popular. > > Another option which has occurred to me is using BOSH to handle this > scenario; you can wake up the app w/i the BOSH timeout window without having > it killed by the OS (assuming your window is larger than a few seconds). I’ve > not really investigated this as I don’t think it’s an optimal solution in any > way, merely something that might work if nothing else does. > > -bjc >
The xep draft of Lance Stout [1] will not require users to connect to third party servers. It enables the client's home server to send push messages to the proprietary push server, e.g. APNS (same problem exists on Ubuntu Touch [2]). The client can configure the server to not include message contents and sender jids. So it can be used only as a wake-up mechanism. I am currently implementing the draft as an ejabberd module [3]. It's not ready to be played with yet but I will come back and tell you when it is. The idea of deferring stanzas is very relevant to the draft (currently push messages will be crafted when stream management stores a message for later delivery or the user's mobile client is offline). I think sending wakeup-messges via proprietary services in combination with csi / a new filterig mechanism will make good user experience possible on iOS / Ubuntu Touch. [1] https://github.com/legastero/customxeps/blob/gh-pages/extensions/push.md [2] https://docs.google.com/a/canonical.com/document/d/1ij8RtPsR_eYMW3mys8Gu1Y2CVFZpjXdMpdIjIGZ1SCA/edit?pli=1#heading=h.28drra4u9knx [3] https://github.com/royneary/ejabberd/blob/master/src/mod_push.erl