📜 ⬆️ ⬇️

Is XMPP so bad as it is painted? How Jabber has become today



Often when discussing messengers, when you mention XMPP, you can hear the words:
Hello from the two thousandth! Does anyone else use an outdated protocol? In XMPP there is still no delivery of files, messages, synchronization, beautiful clients?

The reason for the XMPP myths is that Jabber is known to many by messengers from the distant 2000s and poor awareness of the XMPP features. Much time has passed since the 2000th, the protocol continued to exist and actively develop. Modern Jabber is not much like the one that was before.

In this article, we will look at why XMPP was created, discuss in comments the reasons for its decline in popularity and how Jabber has become today.
')

Prehistory


In the two thousand years, most Internet giants have deployed XMPP servers. It was possible to write from one server to another, and now it seemed that if the technology could be slightly finished with e-mail 2.0, a universal instant messenger for the entire Internet, but then something went wrong. Companies have stopped updating XMPP clients. There was no widespread announcement of XMPP support. The servers gradually began to close the transfer of messages to others, and after all the technology was declared obsolete and support was turned off.

What was XMPP made for?


XMPP is an extensible messaging protocol. XMPP was created as a universal means of interaction between different messengers. It was assumed that large companies could add their extensions and seamlessly integrate their instant messengers and servers into a single network. XMPP does not require full compatibility, with the exception of basic messaging and therefore no one can impose a certain technology stack on everyone.

XMPP was considered as a replacement for e-mail. Even the type of contact in XMPP looks like an e-mail address: user@example.com It was expected that government agencies and companies would use Jabber to quickly deploy their private communications systems. Settings Jabber servers allow you to restrict access to the server and group chat outsiders or vice versa open. On XMPP, you can create closed networks of servers, which is what NSA used. Based on Snowden, XMPP is used as an internal communication tool:
He received a copy of his assault on his bodywork.
Source: motherboard.vice.com

Reasons for dropping XMPP


It would seem that the technology is promising, but large companies quickly lost interest in XMPP. It was supposed that it would work in an ideal world, stumbled upon a harsh reality.
The main material capital of any large Internet company is a user base. Many companies have done their business by providing e-mail servers and closed messengers. If it is relatively difficult to create an e-mail server, it is even more difficult to write your own messenger; anyone with a little knowledge of Linux can raise the XMPP server.

Maintaining an open XMPP server means giving access to a client base to many small competitors. I do not think that this situation could be liked by large companies and the investment stopped.

"Outdated and unnecessary XMPP to anyone" like a goldmine! We close S2S, write clients and earn billions!


It is not known for certain who uses XMPP in their products. Some evidence suggests that one of the most popular instant messengers, WhatsApp, used (or still uses) XMPP at the start of its existence.
The funniest thing to do. Here is a post of Jan Koum mailing list: client access control:
"Hi there, i installed ejabberd today,
you all a couple of things »- blog.process-one.net
The reason for this is easy to understand, because "outdated, redundant and unnecessary to anyone" XMPP stands 2,000,000 on one node! If we discard populism, in particular we are talking about Ejabberd.

2,000,000 active compounds. CPU load and memory consumption graph:

image

Source: blog.process-one.net

If Jabber ID is replaced with phone numbers, the subscriptions are compared with the presence of numbers in the address book, we get almost a completely finished product with a minimum of costs.

Ejabber supports multiple databases and server connections, not only in the classic XMPP way, but through the Websocket, HTTP requests and the Ejabberd API . On Ejabberd, you can create an instant messenger with thousands of online connections on a cheap VPS, for a couple of dollars we get industrial resiliency and stability. This favorably stands out Ejabberd, compared with many other messaging systems falling from low loads.

Modified versions of XMPP are used by many proprietary messengers, for a quick start with a minimum of costs. There are many examples of successful use of HMPP servers as a means of delivering messages. The famous online game EVE Online recently transferred chat rooms to Ejabberd. Messenger Cryptocat is largely built on XMPP. There are even rumors that the great and powerful Facebook somehow uses XMPP in their projects.

Previously, XMPP had a problem with message delivery and device synchronization, how is it solved now?


For message delivery in XMPP, the following extensions are used:


Earlier in XMPP there was a problem with the delivery of files, how is it solved now?



How are things with beautiful clients in XMPP?


The concept of beauty is different for everyone. Some people are beating and saying that their favorite Gajim , PSI + and even Profany are the most beautiful and the best, but on Android the generally recognized leader is Conversations.


Link to other screenshots and page in the Play Store. Note: In the Conversations settings, you can enable the display status of the interlocutor on the send button and the display status of message delivery. Conversations.im server, selected by default, paid after 6 months of use. For permanent use, it is better to choose another XMPP server, such as 404.city . City 404 is a cyberpunk community server. 404.city officially engaged in supporting compatibility with all versions of Conversations. Well, or search server here .

On Linux, Dino has high hopes, but while he is still in beta.



Website: dino.im. Installation packages: software.opensuse.org

What are the features of XMPP? Why do some things work fine, while others face difficulties?



Conclusion


XMPP is not as simple and outdated as it seems. XMPP is the idea of ​​combining all instant messengers and sites (anyone can raise their server) as a single standard of communication. XMPP is a great tool for creating fault-tolerant instant messengers in the hands of a developer. Jabber is a good free alternative to WhatsApp and other instant messengers, in the hands of users familiar with the features of its work.

XMPP is a topic that is difficult to describe in two words. If you are interested in my article, you may also be interested in these links:

Source: https://habr.com/ru/post/359084/


All Articles