Adiós, Briar GTK — Hola, Briar Desktop
It’s time to say goodbye to Briar GTK — my first attempt to bring Briar to desktop and mobile Linux devices and a project I’ve been working on in my spare time since 2019:
- June 3, 2019: First Demo of Briar for Desktops
- December 12, 2019: On Briar GTK, remote contact adding, Librem 5 and surprises
- April 16, 2020: First Alpha Release of Briar GTK
- September 10, 2020: First Beta Release of Briar GTK
- November 1, 2020: Briar GTK goes international: 2nd beta release
- January 11, 2021: Using Briar GTK at a distance
- April 2, 2021: Third beta release of Briar GTK: multi-line input and re-adding contacts
Since September last year I’ve been working with 3 colleagues at Briar on a now officially released desktop client: Briar Desktop.
This work got funded by The Prototype Fund and you can download it here or check its source code on Briar’s GitLab.
For those wondering why we started a completely new desktop client and not continued with Briar GTK: all of Briar’s core code is written in Java, so in order to make use of that logic we had to expose a local HTTP API (briar-headless) that got consumed by Briar GTK. This is quite an overhead — every time a new feature gets added to Briar GTK, a new API endpoint has to be implemented and tested in briar-headless and then this information needs to get loaded and parsed by Briar GTK.
With Briar Desktop, we can directly make use of Briar’s Java code: Briar Desktop is written in Kotlin, so instead of having to make HTTP requests, we can directly use the methods implemented in Java. Since Java isn’t very well supported by GTK, we had to go with another UI framework and chose Compose for Desktop, a declarative UI framework we got to love as much as we love Kotlin. In the future, using Compose might allow us to share UI code with the Briar Android application.
With all this happening in the last few months, I now deprecated Briar GTK and python-briar-wrapper — with Briar Desktop already supporting more features, there’s no more any need for them.