Preparing your server and desktop for Monal 2.3

Monal 2.3 will be out soon and will work fine with any standard XMPP server. However there are a few things you can do prepare to get the best experience.  The two new features in Monal are :

Carbons allow you to keep all of your conversations in sync. So if you send and receive messages on your desktop or phone it will show up on the other

Stream resumption allows the client to reconnect quickly if it is disconnected. This will drastically  reduce bandwidth usage and save battery life.



  • XEP-0280 Message carbons  (should be possible with route.all-resources  set to true)
  • XEP-0198 Stream resumption   (not currently available)

I believe jabberd and Tigase also support both but I haven’t tested yet.

On the client side, there are no native OS X clients that support carbons (other than the weird Monal build I did below).   I believe pidgin supports it on linux and windows and using Macports or fink on OS X  (


Monal for OSX and UXkit

After implementing message carbons I realized that there aren’t any native OS X clients that support it.  So as a little weekend challenge I tried to see how much work it would be to port Monal to OS X. I was originally an OS X developer but UIkit is so much nicer than Appkit and I didn’t want to get into that again.  I knew about a project called Chameleon that ported UIkit to OS X . Unfortunately it has long since been abandoned and isn’t a complete implementation. Some critical portions like UISwitch and UITabbar are missing.  I tried it anyway and after about 5 hrs or minor code tweaks, I have Monal up and running on OSX.  Its not pretty and clearly using UIkit like this isn’t a good idea from a UX perspective  but for my purposes it works. Its useful to test carbons because the main point is to have a sync of messages between the desktop and mobile client. Using it a little bit I really miss having it all the time.

Interestingly enough, as I was doing this I started seeing rumblings of UXkit. Apparently for the new Photos app on OS X, Apple did exactly what I was trying to do and ported UIkit to OS X.  I hope Apple releases it. This exercise was a reminder that working with a more modern API makes Mac developer’s lives a lot easier.  In the mean time I am seriously considering s release of Monal for OS X that has a real OS X UI (probably something like Messages).  The code will obviously run and we desperately need an actively maintained native XMPP client.  Adium is wonderful and the inspiration for Monal back in 2008 but I think a pure xmpp client with more features would be useful. Maybe some day when have time.

And now without further ado, Monal for OS X (this will never ever be released). It’s so ugly you could be mistaken for thinking it were and android app ;).

Screen Shot 2015-02-09 at 11.03.01 AMScreen Shot 2015-02-09 at 11.03.15 AM Screen Shot 2015-02-09 at 11.12.35 AM


Monal 2.3

Monal 2.3 development is done. I am doing some internal bug testing but will start the public beta program soon.  If you want to join the beta, please send your apple id to  This uses test flight and will be for iOS8 only.

This is a big update. I think people will appreciate some of of the mobile specific XEP work.

1. turned off all SSL3 support. It is no longer safe
2. added ability to search the contacts list
3. improved stability
4. fixed bug that caused facebook contacts to not show
5. XEP-0198 : Stream management
6. XEP-0280 : Message Carbons