XMPP stands for eXtensible Messaging and Presence Protocol. It was originally called Jabber and some terms with that name are still used, such as Jabber ID (JID). XMPP is an instant messaging protocol that provides near-real-time communication, presence information (online/offline status, typing indicators), and contact list management. You can communicate with individuals as well as join larger Multi-User Chats (MUCs). XMPP is incredibly extensible (after all, it's in the name) and even allows for voice and videos calls as well as end-to-end encryption via protocols such as OMEMO.

I've run NixNet's XMPP server for something like three years now and it is by far my favourite messaging platform.

I'm also planning to create my own ./Client.