Your rating: None Average: 4.7 (22 votes)

Shmoose - Xmpp Client for Sailfish OS


ATTENTION!!! Database format will change until v1.0.0. All your existing conversations from a previous installation will not show up anymore after an update!!!



Starting with Sailfish OS version you need to adjust the suspend settings of your device:

* pkcon refresh
* pkcon install mce-tools
* mcetool -searly

This disables late suspend of the device. Battery drain is only slightly more at my device with this setting. This setting is persistent over reboots and has to be done only once. Without this, the longterm TCP connection will drop after a short amount of time and you won't get notifications on new messages.


What you get is:

- One to one messaging (optional with Omemo encryption as experimental feature)

- Initial group messaging (Automatic room join on inventation or join open room by address)

- Sent, received and read status of messages

- Notifications on new messages

- Send pictures


Keep in mind that this is an alpha release. Many things work. Some things may have bugs. Lot of features are missing. For current status see the project page on github:

Are you good at qml, C++ or encryption? Any help is appreciated.

Application versions: 
File harbour-shmoose-0.1.0-1.armv7hl.rpm16.23 MB25/01/2017 - 22:49
File harbour-shmoose-0.1.1-1.armv7hl.rpm16.24 MB28/01/2017 - 22:22
File harbour-shmoose-0.2.0-1.armv7hl.rpm16.23 MB15/02/2017 - 21:54
File harbour-shmoose-0.3.0-1.armv7hl.rpm16.35 MB03/08/2017 - 21:31
File harbour-shmoose-0.4.0-1.armv7hl.rpm16.35 MB12/12/2017 - 21:38
File harbour-shmoose-0.5.0-1.armv7hl.rpm2.41 MB20/02/2019 - 22:27
File harbour-shmoose-0.6.0-1.armv7hl.rpm2.43 MB03/10/2019 - 22:05
File harbour-shmoose-0.7.0-1.armv7hl.rpm4.23 MB19/12/2020 - 00:01
File harbour-shmoose-0.7.1-1.armv7hl.rpm4.23 MB08/02/2021 - 23:02
File harbour-shmoose-0.7.1-1.aarch64.rpm4.72 MB30/06/2021 - 18:37
File harbour-shmoose-0.8.0-1.armv7hl.rpm4.4 MB07/01/2022 - 14:52
File harbour-shmoose-0.8.0-1.aarch64.rpm4.89 MB07/01/2022 - 14:52


  • Omemo as optional and experimental feature
  • http_upload improvements (by ron282)
    • Content encryption
    • Support any file type
    • UI improvements


  •  Fixed UI glitch on (really) long room subject.


  • Updated Swiften to Version 4
  • Message Carbons now available
  • Improved MaM
  • Settings for notification
  • UI also available in Landscape mode
  • Pictures pitch- and zoomable
  • i18n updated
  • Many small bug fixes


  • Additionally to 1on1 messaging, the status of messages in MUC rooms will also be shown
  • Improved the simple MAM for MUC's
  • Fixed bug in http upload where put and get urls where swaped
  • i18n updates


  • Stripped binary for smaller footprint
  • Fixed room rejoin on connection handover
  • New settings dialog (by slohse)
  • i18n updates


  • message read status through xep 0333
  • http upload fixed (by slohse)
  • i18n (by Caballero)
  • sort pictures by creation date in picker
  • some gui improvements

First draft of group chats

  • Display contact avatars
  • Some gui improvements



Updated Contacts Page

  • Show names of JID's
  • Show subscription and availability status
  • Implemented contact add and remove functionality


Fixed a bug which prevents the app to close properly


schorsch's picture

Yes, the development ist really slowed down. There are fixes and improvements on github. I will release a new version the next weeks. After that I will start to integrate the alpha omemo implementation as an option. But this is far from being usable on a regular basis.

Currently there are only two developers on this project who are bringing in new code. So, any contributions are welcome!


dirksche's picture

Suddenly sending pictures work.

schorsch's picture

Please start the app from terminal. Try the sending and post the error as a ticket on github.

dirksche's picture

Sending pictures does not work on my Xperia X. After selecting a picture and accepting nothing happens. Just get back to the conversation

dirksche's picture


schorsch's picture

I have a draft omemo implementation in one of the branches. It uses lurch, the libpurple plugin for pidgin. The main problem is workload at my real job. Sorry, donations won't help here. I try to get a working beta omemo implementation in the app before spring 2019...

dirksche's picture

I also would be glad about OMEMO integration. Would a donation be helpfull?

ladoga's picture

OMEMO encryption would be nice.

objectifnul's picture

Indeed, thx. (Note for other users: 'strip' is part of binutils: do 'pkcon install binutils')

schorsch's picture

Actually, I noticed that I missed a 'strip' in the build file after compilation. I will fix this in the next release. Meanwhile you can try a 'devel-su strip /usr/bin/harbour-shmoose'. That should result in about 14M...

schorsch's picture

Shmoose uses the swiften library, which is not available on the device. So I had to do a statically linked binary which includes all the stuff. Hence the big file size. It's stripped, but besides that I have no idea how to additionally reduce the file size.

objectifnul's picture

Nice again, with a "but": /usr/bin/harbour-shnoose is quite big (85.6 Mb). As you probably know, available space in root partition is critical with current partition scheme of Xperia X. No way to reduce the size of your binary?

kfiatan's picture

Hi, is it possible to set Shmoose to receive notifocations about incoming messages when the app is closed? I mean for example if the default SMS app in sailfish is closed this means that it works in the background and when new SMS is received the sound and pop-up notification appears. When I use Shmoose and close it by slide a finger from top to bottom of the screen it gets completely closed and when I get a message from any contact I do not receive a notification until I log-in again. I could keep the app open (just minimize it sliding a finger from the right to the left) but it drains a battery almost twice quicker than when app is closed. Thanks in advance.

schorsch's picture

Hi. Daemon mode for the app is planed for one of the next releases. But I am not sure if this has an impact on the battery life time. As far as I know, Daemon mode just hides the cover and starts the app automatically on boot up. On my device (Jolla 1) I didn't notice battery drain. I have it running all the time and got a uptime of two days on regular use. Which device are you using?

kfiatan's picture

I use Nexus 4. I just noticed that when the app is running the battery is discharged within less than one day. When I don't use apps like Shmoose, Whisperfish etc. it takes about 2 day before the battery is empty. But if it gives nothing (running in background) regarding a battery life it is not worth to implement it isn't it? I was sure that if the app works "in a background" uses less energy than when is up all the time... that why I asked here if it's possible. Anyway thank You for this reply schorsch. Good luck and take care!

broncheoli's picture

Dear Schorsch,great app on the way to a native XMPP-client but  I have a question: I have an account. Am I right that Shmoose is not able to read the archive from If not, would it be possible to integrate that kind of functionality because that way it would be possible to use both apps (C. and Shm) parallel before switching to Shmoose completely.

Keep a stiff programmers upper lip, greetings, broncheoli.

schorsch's picture


Do you mean Xep-0136 Message Archiving? You are right, shmoose does not have this feature. Personally I don't like to have my messages on a foreign server. I just checked the swiften xmpp library for that feature. But unfortunatelly the library doesn't have support for that. So it isn't 'just to turn it on'. I had to implement it by myself from scratch. So this is currently out of scope for the 1.0 release. Sorry.

will99's picture

Good work. Since all my contacts use "conversations", I am looking forward to having a decent xmpp-client for sailfish. Keep on going...

Jordi's picture

Good one!

Is OMEMO planned at some point? (I know, I'm asking something huge...)

Edit: Nice, I saw in Github that it's planned: Excellent!

objectifnul's picture

Great, with a "but": the app doesn't close completely. It couldn't be relaunched after exit unless I kill the process to clear RAM (using Crest for example). Also needed, of course: encrypted credentials.

schorsch's picture

You found the first bug. That was quick ;-). Did some research. The IpHeartBeatDaemon wasn't properly terminated on app exit. Pushed a fix to github and will release a new version as soon as it's proved to work without problems.