Don’t stop at text messages. Conversations allows you to easily share files with your contacts and embeds images directly into your chat. Even in conferences.
Have something personal to say? Turn on end-to-end encryption for extra privacy.
Wondering if your contact has read your messages? Conversations will tell you.
And if you don’t want your contacts to know whether you have read a message yourself you can simply disable that feature in the settings.
Conversations will automatically load the message history from your server when you need it.
If you are using more than one device at the same time, both your sent and received messages will show up on all devices.
Creating group chats has never been easier. Simply choose Invite contact from the menu to start a group chat. Conversations will automatically create the group chat on your server and invite your contacts to it.
And of course you don’t have to miss out on your contacts profile pictures when using group chats either.
Even though Conversations keeps its own connection to the XMPP server and thus is independent of Google’s push messaging system (GCM), it does a lot of work to keep the impact on battery life as low as possible.
The entire source code of Conversations is publicly available on Github and licensed under the GPLv3, which means you can not only review the code and verify its correct behaviour but also modify it to your own wishes.
XMPP is a federated protocol, which means you can freely choose a trustworthy server for yourself while still chatting with contacts that are using other servers. The communication between Conversations and the XMPP server as well as the communication between the individual servers is TLS encrypted.
This way, not only your messages are safe but more importantly it is impossible for an outside attacker to intercept your meta data (with whom you are chatting) without attacking your server first.
On top of that, Conversations gives you the choice to enable one of two end-to-end encryption mechanisms. The first one is OMEMO, a state of the art multi-end-to-multi-end encryption method which is very easy to setup and gives you forward secrecy and plausible deniability.
For backwards compatibility reasons Conversations also supports OpenPGP.
|XEP-0027||Current Jabber OpenPGP Usage|
|XEP-0163||Personal Eventing Protocol|
|XEP-0184||Message Delivery Receipts|
|XEP-0234||Jingle File Transfer|
|XEP-0245||The /me Command|
|XEP-0249||Direct MUC Invitations|
|XEP-0260||Jingle SOCKS5 Bytestreams Transport Method|
|XEP-0261||Jingle In-Band Bytestreams Transport Method|
|XEP-0313||Message Archive Management|
|XEP-0352||Client State Indication|
XMPP is an extensible protocol. These extensions are defined in so called XEPs. Conversations 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 Conversations 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 conversations.im.
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 Conversations 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 Conversations 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.
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 Conversations on a new device or catching up after being offline for a while, Conversations will use XEP-0313: Message Archive Management to fetch the message history from your server.
Your contact isn’t responding immediately? Conversations uses XEP-0333: Chat Markers to inform you when
your messages have been read.
And since Conversations 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.
Put a face to your contacts. Conversations 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, Conversations allows you to use the contact name and pictures provided by the Android address book.
Conversations 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, Conversations uses a tag based approach, letting you easily search for any group or status.
To keep Conversations 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.
If you have a general question about Conversations that has not been answered by our FAQ, you can join the Conversations group chat on: firstname.lastname@example.org
Do you want to use Conversations in your company and require assistance in setting up a suitable XMPP server or are you having problems getting started with Conversations?
Contact the maintainer Daniel Gultsch to purchase professional support.
This is a short excerpt of the entire, much more detailed FAQ that can be found in the README.md at our GitHub repository.
Conversations is entirely open source and licensed under GPLv3. So if you are a software developer, you can check out the sources from GitHub and use gradle to build your APK file.
The more convenient way — which not only gives you automatic updates but also supports the further development of Conversations — is to buy the App in the Google Play Store.
Buying the App from the Play Store will also give you access to our beta test.
XMPP, like email, is a federated protocol, which means that there is not one company you can create an official XMPP account with. Instead there are hundreds, or even thousands, of providers out there. One of those providers is our very own conversations.im. If you don’t like to use conversations.im use a web search engine of your choice to find another provider. Or maybe your university has one. Or you can run your own. Or ask a friend to run one. Once you've found one, you can use Conversations to create an account. Just select register new account on server within the create account dialog.
Using your own domain not only gives you a more recognizable Jabber ID, it also gives you the flexibility to migrate your account between different XMPP providers. This is a good compromise between the responsibilities of having to operate your own server and the downsides of being dependent on a single provider.
Learn more about conversations.im Jabber/XMPP domain hosting.
If you already have a server somewhere and are willing and able to put the necessary work in, one alternative-in the spirit of federation-is to run your own. We recommend either Prosody or ejabberd. Both of which have their own strengths. Ejabberd is slightly more mature nowadays but Prosody is arguably easier to set up.
For Prosody you need a couple of so called community modules most of which are maintained by the same people that develop Prosody.
If you pick ejabberd make sure you use the latest version. Linux Distributions might bundle some very old versions of it.
Conversations will automatically look up the SRV records for your domain name, which can point to any hostname port combination. If your server doesn’t provide those, please contact your admin and have them read this document on the prosody wiki. If your server operator is unwilling to fix this you can enable advanced server settings in the expert settings of Conversations.
The address book integration was designed to protect your privacy. Conversations neither uploads contacts from your address book to your server nor fills your address book with unnecessary contacts from your online roster. If you manually add a Jabber ID to your phones address book, Conversations will use the name and the profile picture of this contact. To make the process of adding Jabber IDs to your address book easier, you can click on the profile picture in the contact details within Conversations. This will start an add to address book intent with the JID as the payload. This doesn’t require Conversations to have write permissions on your address book, but also doesn't require you to copy/paste a JID from one app to another.
The Conversations Team is always looking for new volunteers to fix bugs, develop new features or for simply providing unique and fresh ideas that help Conversations to stay the most advanced and easiest to use XMPP client out there.
We are also looking for translators. Transifex provides a very easy to use GUI. You just need to create an account and request to join a language team.
Conversations also provides you with a great base to create your own instant messenger for your customers or employees. If you don’t have the time or resources to do this yourself you can hire the lead developer Daniel Gultsch to provide you with the solution you need.
Daniel added a couple of features we needed to be able to roll out Conversations to our users, one was support for server side group bookmarks, the other one was avatars. Development was professional and we got early snapshots to test ourselves, the features then got added to the next public release. I can highly recommend hiring Daniel.
Daniel has consistently impressed us with the quality of his code and responsiveness. Definitely one of the best and most professional programmers we've encountered.
We believe in the power of free and open source software and thus made the entire source code publicly available under the GPLv3 license for every one to use. However, it takes a lot of time to develop the software and manage the community. So, if you like the software, please consider either buying the app from the Play Store or donating by other means.
Bitcoin Cash: 16ABkXzYAwWz8Y5DcWFfbBRqL63g3hzEaU
While PayPal donations are still very much appreciated PayPal takes a large cut and has rather questionable business practices.
Europe / SEPA
Account holder: Daniel Gultsch
IBAN: BE48 9670 1388 6827
Account holder: Daniel Gultsch
Account number: 9600000000510723
Routing number: 084009519
B1 Systems GmbH is a German provider of consulting, training, development & support services based on Linux and Open Source founded in 2004. Our team of more than 70 Linux experts offers tailor-made solutions based on virtualization, high availability and cloud computing technologies as well as monitoring, system and configuration management. B1 helps turn Open Source innovation into Enterprise reliability and performance - nationally and internationally.
Copyright 2014–2021 Daniel Gultsch