This is the announcement many people have been waiting for since the project
began!
Opinions are often strong about which is the best mobile operating system.
However, while it varies by region and demographic, wherever you are it’s very
likely that you have Apple users in your life, even if you don’t use one
yourself. We want to ensure that the platform you use (by choice or otherwise)
is not a barrier to secure and decentralized communication with the important
people in your life.
The lack of a suitable client for iOS was an obstacle to many groups adopting
Snikket and XMPP. For this reason, today’s release of a Snikket app for Apple’s
iPhone and iPad devices is a significant milestone for the project.
A community effort
It’s a journey that began late last year with the announcement that we would
be
sponsoring support for group chat encryption
in Siskin IM, the open-source iOS XMPP client developed by
Tigase
.
The Tigase folk have been very supportive of our project, and I’d like to
especially thank Andrzej for his assistance and patience with all my newbie
iOS development questions!
There are many other folk who have also helped unlock this achievement. This
includes everyone who helped to fund the development work - especially Waqas
Hussain, the kind folk at
jmp.chat
and of course absolutely
everyone who has donated to the project. The majority of donations are
anonymous so it’s impossible to thank everyone individually, but the amount of
support we’ve received as a project is amazing, and really gives us confidence
in achieving even more ambitious milestones in the future.
Funding aside, we couldn’t have refined the app without help from our diligent
beta testers - with particular thanks to Michael DiStefano, Martin Dosch, mimi8999
and Nils Thiele for their bug-catching and comprehensive feedback. Everyone
participating in the beta programme has helped shape the app we’re releasing
today.
What happens now?
We’ll be rolling out a Snikket server update shortly that will add a link to
the iOS app from Snikket invitation pages.
If you’re eager to make the app available to your users before then, you can
add the following line to your snikket.conf:
SNIKKET_WEB_APPLE_STORE_URL=https://apps.apple.com/us/app/snikket/id1545164189
After saving the file, apply the change with the command
docker-compose up -d
.
If you are using the
Snikket hosting
service, you will get an
email soon that explains how to enable the app store link for your instances.
We’re not done yet
This is a big milestone, without a doubt. But we’re not completely done. The
app is not perfect (yet!) and we’re still working on many things. But we
believe this is no reason not to share it with the world as early as we can.
Push notification compatibility
The first thing to note (especially as many non-Snikket users will also be
excited about a new iOS XMPP client on the scene) is that our primary focus
has been on the app working seamlessly with Snikket servers. We’re committed
to XMPP interoperability, but time and resources mean we can’t develop and
test every change in pace with every XMPP server.
Although we expect it to generally work, there are some known compatibility
issues currently. Specifically, due to the strict “no background network
connections” policy for iOS apps, we have needed to adapt push notification
handling slightly differently to what is supported on most XMPP servers today.
The extensions we use are
openly published by Tigase
,
and we have made available community modules for Prosody (
mod_cloud_notify_encrypted
,
mod_cloud_notify_priority_tag
and
mod_cloud_notify_filters
),
and
discussion has begun
on
moving these extensions over to the XMPP Standards Foundation standards
process. We welcome help and contributions towards evolving XMPP’s current
push notification support. If you’re interested, reach out!
Until then, although some backwards-compatibility considerations
are in the app, this means it’s very possible you may experience issues with
notifications on some non-Snikket servers when the app is closed (though
Tigase servers and Prosody servers with the community modules enabled should
be fine).
Language support
The app is currently only available in English, which is an unfortunate
contrast from all other Snikket projects which are available in many languages
already.
Updating the app to support translation of the interface is high on our priority
list. After this is implemented, we will also be looking for help from translators,
so stay tuned for further announcements.
Other work in progress
Other known issues that we are working on:
-
Notifications for OMEMO-encrypted messages show a potentially-confusing
message about the app lacking OMEMO support. This will be fixed by the same
server update that adds the app to the Snikket invitation page.
-
Group chat notifications are not yet working. This will also be rolled
out as a future server update.
Of course, we will also soon be incorporating feedback from the
usability
audit and testing sessions
when that work is
completed.
I want to say a final thanks to our entire community for supporting the
project. Snikket has
ambitious goals
, and the progress we’re
making couldn’t be achieved without all the help and support we’ve received.
Drop us feedback
about the app if you try it out, file
bug reports and feature
requests
to help us with
planning and, if you can,
donate
to help sustain the development
of the entire project.
We look forward to welcoming more users to the XMPP network than ever before!