Tobias from our design team created an excellent Librem 5 app design tutorial, which covers GNOME design philosophy, going from sketches to mockups, convergence and even how to name your app. The three part series designs a Wallabag app for the Librem 5 called Read it Later. Wallabag is a link saving service with apps for various platforms, which now includes the Librem 5 thanks to Bilal Elmoussaoui. Bilal is a passionate community member who turned Tobias’s designs into a fully featured app. Purism community member Thibault spoke to Bilal about the development process and contributing to the larger ethical software movement.
Bilal did an excellent job implementing Tobias’s designs, features include:
Could you introduce yourself and share how you got involved with GNOME development?
I’m Bilal Elmoussaoui, I co-maintain GNOME Clocks and Sound Recorder and develop GNOME applications. I’m a long-time Linux user. I originally studied civil engineering and I’ve been learning to code for some time now, mostly writing web applications. I started contributing to GNOME projects while honing my Python skills.
You are now a maintainer of several GNOME apps.
Yes, I’ve started contributing to applications I use daily like FeedReader and Lollypop. The more I contribute, the more I learn about software development and the ecosystem. After a few years I found myself contributing to several GNOME applications, wherever I could make the user experience better for free software.
Could you tell us about your recently released Read It Later app?
Read It Later is a Wallabag client, which is a link saving service that you can host yourself. It includes all the basic features you would expect like managing and viewing articles. It also comes with easy-reader and dark modes in a beautiful and convergent design which adapts perfectly to desktop and mobile screens.
What technology did you use to create Read It Later?
I used to write applications with Python/Vala and GTK until late this summer when I got “The Rust programming language” book. It just sat on my desk for a while but I finally decided to pick something small to work on and made a simple Rust and GTK application template. The moment I opened my first GTK window with Rust I was hooked. The Rust GTK bindings have evolved a lot and we now have libhandy Rust bindings for adaptive widgets. Now I always pick Rust as a programming language, Meson as a build system and Flatpak to distribute my applications.
How did you discover libhandy and are you a mobile Linux enthusiast?
I spend a lot of time with the libhandy contributors on IRC and heard about it from them quite early on. I think Linux in your pocket has it’s place on market, especially with the increasing awareness of privacy issues. I now make all my apps adaptive so they are usable in desktop and mobile. Hopefully I can get my hands on a Librem 5 so I can make more stuff 🙂
How close did you work with Purism’s GNOME Designer Tobias Bernard?
I’ve been working closely with the GNOME design team on a number of projects. We created various design tools which were implemented by Zander Brown, Julian, Jordan and myself. The design team are extremely talented and provide us with detailed mockups for applications and tools which we implement, gather feedback and iterate on. I used the same workflow with Read It Later. Tobias created and shared a mockup and provided continuous feedback during the development. The results is an app that looks pretty close to the original designs.
Was it easy to develop a convergent app with libhandy?
Using libhandy is easy to use as a GTK developer. You can achieve a lot by just replacing widgets with the adaptive libhandy equivalents. I have worked on porting parts of GNOME Clocks to libhandy and I plan to work on more apps in the next GNOME release cycle.
What apps are you working on next and will they be convergent?
I recently prototyped an adapative ticket wallet application and generally I’m looking forward to create more applications for Linux desktop and mobile users.
Thank you Bilal for your amazing work, we look forward to see what you do next.
Thank you for the conversation and interest in my work.
Read it Later is available for the Librem 5 and most Linux distros via Flathub but the first thing you will need is your own Wallabag instance. You can either self host Wallabag, use the official hosting or other hosting solutions.
Once your server is setup grab a Wallabag browser plugin and finally install Read it Later from Flathub or source. Bilal is actively working on Read it Later, if you’ve found a bug or want to discuss features head over to the project’s home on GNOME’s GitLab instance.