Explanation: there is no Spark for mobile

We often see users asking in the forums or in the chat for a mobile Spark version. So here is an explanation on this topic.

No mobile Spark version in the future

Spark is a desktop application by its design. It has a lot of small GUI elements that can’t be used on a mobile device with a small screen and touch interface. To be usable on mobile Spark would have to be redesigned, by making some elements bigger, changing how some things looks and operate. Frankly, it wouldn’t be Spark anymore. That’s not the main problem. Current Spark code is very old and messy. Porting it to mobile would be a very hard task. It would mean almost creating a client from a scratch. And there are already many clients for mobile (more on that later). Spark also is Java based, so it is somewhat heavy on resources and running a direct port on mobile won’t be suitable. Of course, it is probably possible to create a somewhat similarly looking application (at least for Android) based on Smack library (as Spark is also based on it). But the most important problem with everything is - lack of developers. Even the main desktop version of Spark is lacking interest and attention, development often stalls for years. So i could say with almost 100% certainty, there will never be a mobile version of Spark.

XMPP is an open technology

Many users coming to this site probably don’t really know or understand what Openfire/Spark are and what XMPP is. XMPP is an instant messaging technology/standard (well, it can do more, but for simplicity let’s talk only about IM). Any developer can create software based on it. Openfire is an XMPP server. Spark is an XMPP client. Smack is an XMPP API library, which can be used to create XMPP clients and other related software. There are many other XMPP servers, clients, libraries. It is not mandatory to use Openfire only with Spark or vice versa, although there are a few integration bits between those two pieces of software, because they were produced by the same people. You can use any XMPP server with any XMPP client (there could be some compatibility issues of course, as not every developer is doing a 100% copy of XMPP standards, which also evolve all the time, and there are bugs of course). Say, you can use Tigase server with Spark, or use Openfire with Gajim client, etc.

Mobile clients

There are a number of desktop and mobile clients for XMPP (can be used with Openfire). Usually we give a link to an official list of clients on the XMPP site: https://xmpp.org/software/clients.html

But i see that they have trimmed the list extensively lately for some reason, not listing some commercial clients (which could be fine for many users and are actually of high quality). But instead they list AstraChat, which as far as i know has paid desktop versions, and also in the past copied Conversations/Swift clients. It seems that their mobile version is not based on Conversations anymore, but desktop one still looks like Swift. They also list “Bruno the Bear” client, which looks like a version of yaxim for kids? And Psi+ is very outdated. So i will list all the clients that in my opinion are worth mentioning. Feel free to suggest more in the comments. Btw, there won’t be many iOS clients listed here as XMPP is not very popular on that platform.

  • Conversations - arguably the most popular Android client, not a freeware in Google Play, but the source is free and there are some ports on F-droid and other places i have heard about. [Android]
  • aTalk - it is still in development, but its creator is very active, contributing a lot to Smack project (it is based on Smack). Still rough on the edges, but it can be a nice client some day. [Android]
  • Xabber - one of the most feature rich and fairly active projects recently. Maybe one reason for it not being included on the XMPP list is that it was owned by a somewhat suspicious Russian company once. It is still developed by Russian programmers, but its code is available on Github. If you are not very paranoid, this client is pretty nice. [Android]
  • yaxim - this client hasn’t seen a new version for many years, but it seems its developer is somewhat active again (though last release was a year ago). It’s a nice, very lightweight client. [Android]
  • AstraChat - have mentioned them before. It seems they have developed their own mobile client. At least it doesn’t look like Conversations copy anymore. But it is very simple. Can’t find a way to join existing group chats nor change my own presence. Seems very limited. But at least their mobile versions are free and work on both Android and iOS. [Android/iOS]

As i’ve said, not that many options for iOS. On that page they list Monal IM, which i know is an active project. And then there is Tigase Messenger. I’ve heard about ChatSecure client. But some community members were not very fond of it. Don’t have iOS device myself, so can’t test them.

Desktop clients

I thought i would also list a few desktop clients as well:

  • Gajim - one of the most active projects there. Has often updates, supports many features. Maybe already surpassed Pidgin. I just don’t like its interface based on GTK, which just looks so dated.
  • Jitsi - don’t like its look also, but hey, it might work for many as it is still a well designed client and always had voice chat built-in. Although i had some troubles with it working with the latest versions of Openfire. And it seems they have stopped its development in favor of Jitsi Meet web conferencing solution.
  • Psi - is a nice client, though haven’t seen many updates lately.
  • Pidgin - mention it last, as i don’t really like how it looks and operate, but it probably was the most popular client at some point (maybe still is). Was fairly active in the past. Not many updates lately.

There are more clients in that list (or not on the list anymore) that i have never heard of or tried, there are also some older, outdated or dead clients like JAJC, Exodus, Miranda, that might still work for some. One just have to test and choose.

1 Like