XMPP Features

XMPP is an extensible protocol. These extensions are defined in so called XEPs. Onion Messenger supports a couple of those XEPs to improve reliability and all in all provide for a better user experience.

There is a chance that your current XMPP server does not support these extensions; therefore to get the most out of Onion Messenger you should consider either switching to an XMPP server that does or — even better — run your own XMPP server for you and your friends.

We also made it very easy to register an account on our very own XMPP server Onion Messenger.im.
Mobile optimizations

The internet connection on cell phones is rather unstable. It constantly switches between WiFi and 3G and might even drop out on occasion. The XEP-0198: Stream Managment allows Onion Messenger to survive those switches. Instead of having to establish a completely new session the servers gives the client a 5 minute window to resume a previously established session. Messages that arrived in the mean time will be redelivered automatically.

Stream management also minimizes traffic by sparing the client from fetching static information (contact list, conference bookmark, avatars) on every connect.

Using XEP-0352: Client State Indication Onion Messenger communicates to the server whether or not the client is in the background right now. Based on this information, the server can withhold unimportant packages and thus allowing the client to stay in deep sleep for longer.
Message synchronization

You are no longer limited to one device. If you are online with multiple devices simultaneously, the XEP-0280: Message Carbons will be used to send copies of both your sent and received messages to all devices.

If you are installing Onion Messenger on a new device or catching up after being offline for a while, Onion Messenger will use XEP-0313: Message Archive Management to fetch the message history from your server.
Message confirmation

Your contact isn’t responding immediately? Onion Messenger uses XEP-0333: Chat Markers to inform you when your messages have been read.
And since Onion Messenger cares about your privacy you can easily opt-out of this feature as well.

Are your contacts still using old, unreliable clients? Turn on XEP-0184: Message Delivery Receipts in the expert settings to make sure your contacts have successfully received your messages.

Contact pictures

Put a face to your contacts. Onion Messenger lets you upload a profile picture (Avatar) to your server for all your contacts to see by utilizing the PEP based XEP-0084: User Avatar. Contrary to other methods of publishing avatars, the PEP based approach handles data usage more efficiently by separating data and meta data.

On top of that, Onion Messenger allows you to use the contact name and pictures provided by the Android address book.
Dynamic tags

Onion Messenger gives old features a new spin. Being able to organize your contacts into groups has been an XMPP feature for a long time. However, instead of the tree-like representation most XMPP clients provide, Onion Messenger uses a tag based approach, letting you easily search for any group or status.
To keep Onion Messenger as simple as possible, this feature is turned off by default. If you need to handle a large contact base, you can enable it via the Show dynamic tags switch in the settings.