3 ms·
XMPP and OTR are not workable for mobile devices. The protocol structure assumes a consistent background connection that doesn't get killed, something that is
by mahyarm 12y ago
XMPP and OTR are not workable for mobile devices. The protocol structure assumes a consistent background connection that doesn't get killed, something that is relatively cheap to do on the laptops and desktops it was designed for, but is expensive battery wise for mobile devices.
Go download an OTR client for iOS, like cryptocat and notice how it pings you after 10 minutes that you have to re-open the app to keep on receiving messages! It's because iOS does not allow you to keep an app running in the background indefinately for battery reasons. This is required for the XMPP / OTR model to work.
You need a protocol of some sort that would work properly with mobile, and I think textsecure is it.
- binarnosp 12y agoYou can develop an xmpp client for IOS that does not ping you every 10 minutes (or ever). You have to register the socket used for XMPP for VOIP purposes and IOS will happily comply with that. Been there, done that
- wmf 12y agoThis still isn't power-efficient. On phones you should be using push notifications instead of holding a socket open.
- rakoo 12y agoOTR kind of sucks, partly because of what you mentioned. I'm trying to introduce the Axolotl ratchet (behind TextSecure's security) into XMPP: https://github.com/rakoo/goax https://github.com/rakoo/goax The Axolotl ratchet provides true asynchronicity so you don't need to keep the link open forever. You don't even need the other party to be up; the message can be stored on either server and forwarded when the recipient connects, and the recipient will only decrypt the message at this moment. This is what we need.