My Experience with XMPP after a month

ShubhAm AgaRwal
2 min readFeb 19, 2018

--

This is my post on medium. And would love to share my experience with you because “Togather we can learn- Mindork Community”

XMPP stands for:

  1. X — eXtensible : it’s an open system approach (particullarly maintained by https://xmpp.org) designed to grow/extend particularly as per the need.
  2. M — Messaging : Yeah, it’s mainly for instant/real-time messaging.
  3. P — Presence: You can check whether the other ‘individual/buddy/friend’ you are community is offline/online inshort you can check his presence.
  4. P- Protocol: Last not the least it’s a protocol. Which mean certain set of rules and regulation you have to follow and these rules are laid by the https://xmpp.org community.

WhatsApp And XMPP. What is the relation ?

WhatsApp in initial days uses Ejabberd server which is an open source jabber server using ErLang. ErLang is a completely different language I am sure very few of us (developers) knows it. Thus very hard to find expertise in that area. WhatsApp later made changes to support the enormous number of users. For more details you can check a fine post here: http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html

Is XMPP Dead?

I guess it is (upto some extends). The protocol is bit old. Reasons why i say so:

  1. People are afraid of XML so do i. Something like this

<iq from=’juliet@example.com/balcony’
id=’hm4hs97y’
type=’set’>
<query xmlns=’jabber:iq:roster’>
<item jid=’nurse@example.com’
subscription=’remove’/>
</query>
</iq>

For everything sending message to each other to getting presence data , every thing is done via XML based packets/messages/stanzas

2. You need a own XMPP server. [warning: OVERHEAD]

However, this is not completely an overhead as there are many open source server implementation available e.g. OpenFire, Ejabberd

3. Other promising alternatives are available too: Firebase

One can create a similar feature rich application via Firebase real time databases and firebase servers.

But if you are planning to create an Instant Messaging client then XMPP can be an option to consider.

Sneak Peek of upcoming blog:

Real implementation of XMPP android client using live code examples, use cases, XMPP jargon and many more

So Stay tuned !!

#Peace

You can subscribe me for more content and to motivate me to write more.

Connect with me:

https://www.facebook.com/mwshubham

https://www.linkedin.com/in/shubham-agarwal-9606a667/

--

--

ShubhAm AgaRwal

9+ YoE | Lead SE Android@DailyHunt | Ex- InMobi, Doubtnut, RailYatri / IntrCity | Webkul (Mobikul)