The Sad State of Mobile XMPP in 2014
op-co.de
op-co.de
Instead, everybody is back to walled gardens that can't interoperate, and I'm using 5 or more services to talk to acquaintances -- SMS, Jabber, Google Talk, Skype, the list goes on -- and fall back to good old email for people where I don't have access to their IM of choice (such as Facebook chat or Whatsapp). It's such a pain in the ass.
It's 2014, I expect it to be matter of course to be able to chat with everyone I know with all the bells and whistles -- OTR-support, offline messages, synced history where desired, file transfer. It's an odd twist of technical history that we're not there yet.
I don't think there's anything technical involved. Unless spam is considered a technical problem, but denying federation seems to solve that problem considerably,
A model where certain threads are curated and used to measure how valuable someone's voting is might be helpful in weighting votes. But that sounds like a lot of work for probably little reward.
I don't believe that it's clear at all that Google, FB, or Skype would win by opening up their systems. The best we're likely to see is alliances, like FB+Skype. Unless a service is in a losing position (like BBM), what do they gain?
All older communication companies (providing e.g. phone calls, fax, SMS) have working, interoperable systems that work on a global scale for _any customer of one company to any customer of another company_. By using a globally unique number.
It is, quite frankly, a disgrace that we now run around and find excuses for companies to re-introduce closed networks on a medium that provides working low-level routing on a global scale for almost all connected parties already. We're talking short messages here. I went back to SMS because of all this bull. Not even iMessage. It works. With everyone. Everywhere. Without installing something.
From a users perspective, the current situation is horrible and a huge step back.
I couldn't care less about what the benefit for Google or Facebook is.
Yep, pretty much. Do you expect multi-billion dollar companies to do something just because it sounded nice? Acting like that only works if they can get enough users onboard to commoditize the service. IM is far from that point (see the rise of new messenger apps/networks, decades after the first ones). These companies want their users inside their apps as much as possible.
Not to mention, allowing federation doesn't help the vast majority of their users, who are on other closed networks. So for it to be relevant, two networks need to interconnect. Without any solid reason or threat, why would they do that?
SMS BTW is a rather crappy example; I don't think I've ever used any other service that was so unreliable, slow, and expensive. And the only reason you have competition in many companies is due to the government coming in and breaking things up or allowing competition. Even today on phones, various companies are still doing their best to create lock-in or jam users, by, say, charging ridiculously high prices to call into their networks.
The point being: the system is there and there is competition that drives the prices down.
Also, I don't believe that for a "vast majority of users", federation doesn't matter. Everyone I know uses multiple messenger apps on their phone _or just use SMS_. SMS is the base line.
This is a failure of a model. Sure, Google has no interest of federating with Facebook. What this leads to is the aforementioned silos of peoples communications. "How do I contact this person? WhatsApp, Facebook, Twitter DM, Jabber, Google Talk, jadajadajada?
The only thing that comes close is email.
No, I don't expect multi-billion dollar companies to do something that sounds nice. Which still makes the model as a whole a failure. Obviously, multi-billion dollar companies cannot be trusted with providing reliable and easy reach-ability on a global scale.
Eh, not really. Many countries still use the state-run monopoly. Connecting to them has a specific price. The demand for calls into their country is more-or-less fixed, and will remain so no matter the price. If you're seeing a price much below the actual price, then it's due to someone doing some illegal maneuver, such as sticking their cell phone on a VoIP system. (Despite it being illegal, I applaud such efforts.) Even for countries that aren't run like that (Europe?), prices can be well in excess of $0.20 a minute. The price to the receiver of the call is $0.00 so perhaps that limits competition. Some places even put an international tax on all calls, so that calls from outside the area are forced to pay more. Some places do the inverse.
Do you have info on people that use SMS across countries? For many countries I've seen, the price-per-message makes it a true last resort. (Inside the US or inside EU, this may not be an issue.) This makes WhatsApp so useful.
Do you have a real proposal, or is this a "it'd be nice if our government helped some companies build and run an IM infrastructure for very low cost for us"?
until regulation... which allowed Bell to buy everyone else and integrate everything.
So? pick your poison?
But be aware that said regulation allows us to make emergency calls reliably in the case of an accident and then quickly talk to loved ones on the other side of the globe by hitting 10 buttons on a device everyone understands.
Also, the same regulation enables TCP to work on a global scale, allowing me to post this very message on a message board hosted somewhere on another continent, probably passing through the infrastructure of more than 3 multi-million dollar companies actually being in the business of compatibility.
Given the choice between all instant messaging services closing shop or the a breakdown of the phone system, I know which one I would pick.
I personally just use XMPP. I don't care about 5+ walled garden services and I'm not interested in proliferating them any further by participating. If my contacts aren't on XMPP - I simply don't communicate with them through IM. There is always e-mail for such cases.
If any other open and better successor to XMPP will come along - I'll consider switching or using it in addition. But so far there is simply nothing else out there.
The centralized "make an account with us" approach lends itself towards monopoly centralization of every service - once a critical mass is on-board with a single service, they get led into path dependency with the others. That's how Google, Facebook, et al. have been able to creep into every aspect of identity.
The only protocol I can think of that has bucked this trend is IRC, which has moved from a "few big networks" model to a bevy of smaller ones since the mid-2000s. Identity persistence there is secondary to community persistence, which may account for the difference. All the centralized services rely on being acommunal - a single giant network on which anyone may reach anyone. And with acommunal spaces, there is a strong "free for all" aspect that puts trade and monetization in the dominant position - which, besides the monopolistic aspects, leads to spam, identity theft, sockpuppeting, et al.
There is, perhaps, a model for reversing the overall trend through the community-persistence method; an entire community is harder to fake, thus it produces much stronger guarantees about identity.
I think it's probably time to move on from XMPP, but you really need Google, Apple, Microsoft and WhatsApp in a room together thrashing out something that'll work for everyone. I can dream, right?
then came video and skype got everyone back to square one. but they were more worried about being bought by microsoft so they lost the mobile integration with phone numbers, and a bunch of others and made the "facebook deal" with their users. give us access to your phone number and contact list and we cross that. privacy for convenience. And everyone loved.
damn mobile typing.
"joyn services enable customers to chat and enrich messaging or voice calls by exchanging images or video simultaneously during calls, in a private and secure manner, with any member of their contact list that has joyn, regardless of the user’s network or mobile device. Additional services such as voice over IP (VoIP) or IP-video call will be introduced in the near future. These services may be used on both the operators’ mobile networks and on Wi-Fi networks." (Source: http://www.gsma.com/newsroom/spanish-mobile-operators-launch...)
http://www.gsma.com/futurecommunications/rcs/ http://www.joynus.com
http://xmpp.org/extensions/xep-0273.html
I'd worry about this even before anything else when it comes to XMPP on mobile, since otherwise your client can be a hungry monster eating up your battery in no time.
MQTT, I believe can solve part of the power issue, as well others. However, I do not know how easy it is run XMPP over MQTT.
I've been evaluating this internally at my company as we explore M2M (machine to machine) communications in mobile.
[1] - http://mqtt.org [2] - http://mqtt.org/2011/08/mqtt-used-by-facebook-messenger
You need to ping the server aggressively to prevent a NAT timeout from killing your connection. On most networks, ping intervals of 15 minutes are sufficient, but some ISPs seem to be brain-dead enough to kill TCP connections even earlier, enforcing additional load on their own networks.
However, it is hard to make a proper guessing algorithm to estimate the time between ping messages, so most apps hard-code it. yaxim is using 15mins and hoping for the best. Xabber is working with 1min (or 30s, not sure), Google's cloud connection is using a similarly low interval.
Anyone with an Android-device is already using it. Android's push-notification depends on XMPP to work, and Gtalk/Hangouts is already piggybacking on that, making it a free ride.
So, unless you are on the patent-troll side of mobile, you have no reason not to use it.
Do you have a source for this info?
Note: I've observed this without being signed into Google Talk or Hangouts.
http://developer.android.com/google/gcm/index.html talks about using XMPP upstream but I thought the protocol to talk to the device was a lightweight proprietary thing.
XMPP is a protocol that Google uses in some instances to talk to the rest of the world. But inside their ecosystem, they have no reason to stick to it.
In a perfect world, the public would care. Instead, we scream into our own echo chamber.
Making IM apps that don't need to keep a connection open is a great way to reduce battery. This way whenever you receive any message the carrier pings the phone, the app awakes and open the connection to retrieve the messages.
More info at https://developer.mozilla.org/en-US/docs/WebAPI/Simple_Push
I am sure that this can be used to make a XMPP client that makes good use of the battery by only keeping the connection open while people are talking and effectively closing it once the chat goes idle.
But it's by no means a layman's solution...
(my friend wrote some push stuff for ZNC to his iOS irc client - which I use.)
* Google: Delivers incoming messages to whichever client most recently talked; occasionally 'resets' and delivers messages everywhere until a client talks again.
* Facebook: Delivers incoming and outgoing messages to web client; incoming messages only to XMPP clients (i.e. no outgoing message sync); occasionally outgoing XMPP messages are never sent or recorded at Facebook (this seems to happen and then stay a problem forever), resulting in your messages being silently lost.
So most XMPP clients looks odd for me, they try to look like desktop clients. Which doesn't work on Android I think.
And maybe someday I can build a bridge between FaceTime and XMPP once all the media protocols get sorted out.
It may currently be a sad state, but it's exciting to see the direction things are/can be going.
As it's meant to be a constant-connected protocol, it's a poor choice for mobile. But beyond that, the various plug-ins are overly complicated, difficult to configure and most of the existing servers are "black boxes" that tend to not be easily hackable.
It was easier to make a chat protocol over HTTP from scratch than scale XMPP. YMMV.
Does anyone here remember that ? I have been looking over the internet but my google-fu failed me and I really wished I could read it again.
Not sure if serious. Let's hope not.
Can you elaborate your reasons for hoping I'm not serious?
Disclaimer: I could be completely wrong.