Hi all, 
I make an XMPP app on iOS called Monal. Much of my comments are based on my 
experiences developing  an XMPP client on iOS  for the past 6 years. My 
concerns may be Apple specific in some places but since the intent of the XEP 
is for a very general implementation,  these issues should be considered.  
Apologies for resurrecting this discussion. 

The proposed XEP  does not seem to address token expiration. On Apple platforms 
(and likely others) the push token will change periodically.  This information 
is provided on a feedback channel to the App server but there is no way for it 
to communicate this to the XMPP server. There is really no way for the client 
to know it’s token has expired so It will not know to request a new one from 
the push service and the messages will just be lost.  In addition even if the 
client were to somehow know, there doesn't seem to be a way for the client to 
refresh its token with the XMPP server. 

It may also be nice if the client could define what events it cared about. Most 
mobile clients are  probably not going to care much about anything other than 
ping and message stanzas when operating in the background.  There would be 
significant battery life improvements if a client could take advantage of 
XEP-0198 (with a very long expiration) to close the socket unless a message or 
ping arrived.  While  XEP-0198 is probably beyond the scope of this document, 
it’s probably how I and others will try to use push, so it may warrant 
mentioning. 


Thanks, 

-Anu




Reply via email to