On August 23, the developers of yaxim, a free XMPP client for the Android platform, celebrated a decade of the project. Well, ten years ago, on August 23, 2009, Yaxim's first engagement was confirmed, which means that today this XMPP client is officially half the age of the protocol it runs on. Since then, there have been many changes to both XMPP and the Android system.
For those unaware of yaxim, you should know that this is an open source Jabber / XMPP client (GPLv2). Yaxim is an application that aims for security, low overhead and keeping your server connection open.
Within of the highlights of yaxim we find the following:
- Connection with a single XMPP server (or GTalk, or Facebook Chat, or ...)
- You are asked about self-signed SSL certificates
- Allows automatic connection after turning on your phone
- Transparent reconnection in 3G / WiFi network change (XEP-0198)
- Chat with your friends (all messages are stored)
- Delivery confirmation (XEP-0184).
Yaxim it is written in java and the source code is kept in git. Yaxim can be compiled by enthusiastic users, so they only need the Android SDK and ant to compile.
To compile yaxim, the following steps must be followed:
git clone email@example.com:pfleidi/yaxim.git cd yaxim git submodule init git submodule update android update project -p . -s android update project -p ActionBarSherlock/actionbarsherlock android update project -p MemorizingTrustManager –subprojects ant proguard debug ant proguard release
10 years of Yaxim
In 2009, the Android platform it was still brand new and lacked the free instant messaging client. There were rumors and announcements, but no one had posted a working code yet. The first concrete track was the presentation of the German students Sven and Chris presenting their semester project YAXIM (Yet Another XMPP Instant Messenger)
They received several friendly letters, created a project on GitHub and continued writing code. At the end of the year, another short presentation was shown at Yaxim 26C3. Reliable message delivery was a big problem with yaxim at the time, but things got better.
A decade ago today, the first yaxim commit was created, so it is now officially half as old as XMPP. Since then, a lot has happened on both the XMPP ecosystem and the Android side.
In 2010, YAXIM was renamed yaxim to look more like a name and less like a flashy abbreviation. In 2013, the Bruno project was created as the younger brother of yaxim, an XMPP client for kids and everyone who loves animals. It currently has almost 2.000 active users.
Also in 2013, the ymp.im XMPP server was released, mainly to facilitate the use of yaxim and Bruno and also to have a stable and reliable server suitable for mobile clients. Finally, in 2016, yaxim received its current logo, a picture of a yak.
Since the first day, yaxim was an amateur project, without commercial support and without constant developers.
Over the years, its code grew slowly and in 2015 it was especially unproductive. Even though yaxim has more installs on Google Play than Conversations, the latter, as some say, is the main client on Android and is very popular with XMPP users.
However, for at least the last three years there has not been a decrease in the number of devices on which yaxim is installed (Google does not provide statistics until 2016).
The yaxim codebase (Smack 3.x, ActionBarSherlock) is very outdated and a lot of effort is currently being made to make it yaxim look good on modern Android devices mainly for material design and also for supporting modern functions like interactive permission dialogs and battery saving and also the Matrix protocol (which doesn't always work).
The trial versions with the latest developments are offered through a beta channel on Google Play.