Subscribe to future posts here
Sailfish OS update from Jolla
As I write this the Jolla team have been preparing for the AutoTech Europe event that we talked about in the last newsletter, alongside our other usual development activities. If you managed to catch it we hope you enjoyed The OS Debate on Wednesday featuring Sami Pienimäki, Jolla’s CEO and Co-founder. You can see Sami on the panel session in the photo below. We aim to bring you more information about the above in a future newsletter, but for this edition we want to concentrate on some of the community activities that have been happening around Sailfish OS apps.
Read on for information about community apps that have been generating interest in the forum this week. Following this you’ll find some of our regulars: Damien’s Repository Roundup is as vibrant as ever, with code and documentation improvements going into the repositories ready for the next release; and we have four nice updates for apps in the Jolla Store in the App Roundup section.
Energy from the Community
Whether you prefer to spend your time looking up at the sky or down at your phone, there was plenty of relevant community-app related activity for you on the forum this fortnight. Let’s dive straight in to some of the topics that caught our attention.
The expanding universe
A few months ago Ivan Topolsky (DrYak) announced that he would be picking up development of Stellarium after Michael Fuchs (michfu) unfortunately stopped maintaining it.
It’s a wonderful app, and if you live somewhere with visibility of the night sky, then it’s definitely one to have installed on your device. Here in the upper regions of the northern hemisphere the nights are rapidly drawing in, offering ample opportunity to gaze upwards to the stars.
Stellarium is one of the few native “augmented-reality” style apps. It’s perhaps not true augmented reality, in that it doesn’t use the camera to overlay data on top of your phone’s viewpoint. But it will use GPS and your phone’s accelerometers to try to show an accurate view of the sky you’re currently looking at.
On top of the starry night you can overlay the names of stars, constellations, an equitorial grid, an azimuthal grid, deep sky objects and various other orientational and visual aids. I particularly enjoy the constellation art, which makes the sky really come alive with stories.
Ivan has already made several improvements, as he explains:
I’ve rebased it on the latest 0.4 upstream of the UbuntuPort (based on the latest Android version, which uses the last publicly available version of the Stellarium-for-Mobile core 1.29.6). It mostly works on my Xperia 10 III, It asks for the correct permissions.
But there were a few pieces still causing trouble. With some additional help from Mark Washeim (poetaster) they were able to work around some of the Ubuntu-specific pieces from the upstream code, to make GNSS/GPS (global positioning) work correctly again. You can get yourself a nicely updated version of Stellarium, usable on the latest phones, from Chum.
It’s great to see the results of a successful collaboration to bring Stellarium back. As Ivan points out, Mark is beginning to gain a reputation for reinvigorating otherwise-neglected apps, and it’s nice to see Mark enjoying it:
I just have enough time on my hands and a bit of mania. After 10 boring years I’ve rediscovered my programming childhood
He that can have patience can have what he will
Over the last couple of years developer Tomi Leppänen (tomin) has been pushing out regular updates to his Patience Deck app. It’s featured regularly in the newsletter as a result, but Tomi is clearly keen to take it to the next level and get more input from the community into the directions to take the app in future.
It’s worth recapping for those who’ve not been reading the newsletter regularly. Patience Deck brings Solitaire to your phone. But it’s not just restricted to one variant: it includes a whopping ninety different variants: the full spectrum from Accordion to Zebra.
Tomi has been adding features based on his own ideas and user feedback over the years, including different card styles, new game variants, the ability to magnify the board, and lots besides. But there are two cardinal truths of app development. The first is that the the work of an app developer is never done; and the second is that there are never enough hours in the day for all of the features you’d like to add. So Tomi is looking to better prioritise his work on the app.
To help with this, Tomi has added an issues page to the project’s GitHub project, listing possible enhancements to the app. As he explains, he’d love to get feedback from users on what they’d like him to work on next.
I would like to see people voting the enhancements that they see important for themselves. Just a simple thumb up reaction () will do fine as a vote. I will use these votes to prioritise future work in Patience Deck.
There are already many good suggestions there made by Tomi himself. Personally I’m most excited about the possibility of bouncing cards at the end of a game, since this is the main motivation for me to play. But I’m certain that the ever-inventive Sailfish community will come up with other, even better, ideas. And Tomi welcomes your suggestions.
any new ideas are very welcome too; people may leave a comment or write new issue tickets. Similarly, if someone would like to get into Patience Deck development, they could also start working on one of these features. I’m sure it would take a good while for me to get them done by myself so that’s one way to speed up — or slow down — development.
So please contribute to Tomi’s initiative with any ideas, suggestions, bug reports, code or opposable digits you can spare.
The expanding fediverse
For as long as I can remember, with its position in the Sailfish events-view timeline, Twitter has been a “first-class” social network on Sailfish OS. But for better or worse, Twitter users have been experiencing some volatile times recently. It’s far too early to say whether the social network will emerge stronger or weaker as a result of all this, but it has at least drawn attention to some of the alternatives.
It’s also natural to imagine a Sailfish user might be interested in more federated, more open-source and less algorithmically-driven alternatives.
The real winner here seems to have been Mastodon, which makes use of the W3C’s ActivityPub standard to support interoperability between not just different Mastodon instances, but even entirely different social networking backends (e.g. Friendica, Pixelfed and PeerTube).
While there are several excellent native Twitter apps (Piepmatz, Tweetian) the native options for Mastodon have been somewhat neglected. That is until Kea raised the issue in the forum recently.
Coming to the rescue once again, Mark Washeim (poetaster) has updated the Sailfish-native Mastodon app Tooter to convert the previous authentication process from legacy QtWebkit to use the new WebView. This improves first time setup of the app, although still leaves several other issues that Mark plans to work on:
There are a number of bugs (duplicated boosts, audio files don’t render in media player).
If you discover other issues, please visit Mark’s Tooter Feedback Thread, or go directly to GitHub to post your issues there.
If you’re a Twitter user and your interest about Mastodon has been piqued, or if you’ve never joined Twitter but think this might be the right time to learn more, then there are now any number of good guides about Mastodon that have suddenly started appearing. My own favourite as a good place to start is fedi.tips. There’s a lot to read there, but practically speaking once you’ve got through the first few bullet points you’ll probably be ready to give things a try, to leave the remainder for future reference.
If you do decide to take the plunge, you can get yourself a copy of the latest Tooter app from the Chum repositories.
Repository roundup
There are no particular highlights for this fortnight. But it does not mean no changes of course, and bringing various libraries up to date continues, alongside some bug fixes, cleaning up of the code and a large bunch of polishing to the on-line documentation.
Telephony stack
-
ofono
, the telephony library, slava adjusted the configuration file parser to allow+=
syntax likedisableFeatures += voice
. lduboeuf is proposing a merge request to subscribe to CMAS Presidential alerts as defined in the 3GPP specs. -
liqofonoext
, a library for accessing Sailfish OS specific ofono extensions, mal is proposing new code adding support for 5G properties. -
mobile-broadband-provider-info
, the database of access point configurations, neochapay contributed updates to T-Mobile networks.
Browser stack
-
sailfish-browser
, the browser application itself, nephros got his patch on copied URL, reviewed and included. It is modifying the new function to copy the current URL to the clipboard so it is in percent-encoded form and thus will be a valid URL and not a beautified one. -
qtwebkit5
, Qt bindings for the webkit HTML engine, vigejolla is adding a dependency on the Sailfish WebView package for QML bindings.
Multimedia stack
-
ffmpeg
, a framework to encode and decode multimedia resources, after an upgrade from mal last month to 5.1.1,ffmpeg
has been moved to the latest upstream version 5.1.2 thanks to mal again. -
gstreamer
, a multimedia framework, the same happened to gstreamer which is also closely following upstream bug fix releases with an upgrade to 1.20.4, with mal’s PR. An update was also performed for various plugins, like the base ones, the glue tolibav
, the bad(-ly written) plugins and the good ones.
Calendar stack
-
mkcal
, storage backend using SQLite for calendar entries, dcaliste changed the validation logic so that changes to any incidence can be written to the database, irrespective of the read-only status of the notebook they belong to. The read-only status is now only treated as a hint for the user interface (for instance birthday events cannot be changed in the calendar application), but the code actually updating the event when a birthday is modified, does not need to flip the read-only flag anymore before doing the change. -
buteo-sync-plugin-webcal
, a sync plugin to sync web calendar resources, dcaliste simplified the code when syncing changes since flipping the read-only flag is not necessary anymore. -
buteo-sync-plugins-social
, several sync plugins for Google, Facebook and other proprietary protocols, as for other sync plugins, the code has been simplified not to flip the read-only flag to sync changes from the server. -
contactsd
, the daemon handling contacts, the code was also simplified, removing the necessity to flip the read-only flag on changes. -
buteo-sync-plugin
, the original sync plugin with SyncML code, dcaliste replaced a call tocreateDefaultNotebook()
from mKCal. It was the only place in all of Sailfish OS that this function was called. After this change, it can be safely removed from the mKCal API, reducing the maintenance burden.
Network stack
-
connman
, the connection manager, LaakkonenJussi is working to port the fix for CVE-2022-32293.
Main user interface
-
lipstick
, the home screen code (the open source parts), pvuorela provided a patch to ensure that sounds are always played even for custom feedback likecommunication_led
. pvuorela also submitted a request to exposeremoveNotification()
to the public QML API.
Low level libraries and utilities
-
mapplauncherd
, the daemon responsible for starting applications faster thanks to preloading, martyone ensured that success is returned on exit if the option--no-wait
is used. -
PackageKit
, a D-Bus abstraction layer that allows the session user, pvuorela’s large piece of work to get a major update from 1.1 to 1.2.5 has been merged in. -
ssu
, the seamless software updater, martyone has reworked packaging and moved the vendor data examples with all of the other examples. -
sailfish-fonts
, a package to gather fonts used in the OS, this repository that was previously stored with proprietary bits of Sailfish OS is now hosted on Github. -
usb-moded
, the USB tracking daemon, spiiroin had his changes merged in, fixing some memory leaks and use-after-free bugs, but also corrected an issue whereconnman
andusb-moded
conflicted on which daemon should handle the hardware network interface when the device is on USB. -
sailjail-permissions
, the configuration files for system-wide sandbox permissions, flypig added authorisation for the email application to talk to the browser application via D-Bus. This allows the email application to open and close tabs in the external browser as part of the account creation flow (OAuth2). He is also proposing the same grant addition for the contact application so the import wizard can open a browser tab if needed by the authorisation process. pvuorela corrected a bug in the message application being denied access to the MMS engine when Sailjailed. It would be interesting to know whether this relates to an MMS bug that’s been raised in the forum.
SDK and building tools
-
patch
, the tool used to update code from differences, pvuorela updated it from upstream, so it is compatible with the new bison version 3.8. He also cleaned up the spec file in the process. -
ruby
, the interpreted scripting language for quick and easy object-oriented programming, thaodan fixed a bootstrap issue with newer bison 3.8 and thus deprecated an earlier attempt to workaround it. -
orc
, a library to generate optimised code operating on arrays of data, mal updated it to 0.4.33. -
extra-cmake-modules
, , dcaliste proposed to upgrade it to version 5.99 (it was previously at 5.90). Version 5.91 is actually needed to build the latest KCalendarCore. -
sdk-setup
, scripts, configurations and utilities to build the Sailfish SDK, martyone improved themb2
command to fail on multiple spec files, only if a single spec file is actually needed for the desired operation. -
gettext
, the GNU tools for multi-lingual support, mal updated it to 0.21.1. -
bison
, the parser generator for creating context-free language parsers, pvuorela got it upgraded to 3.8.2. -
automake
, the infamous GNU build system - Makefile generation, mal’s discussion on the upgrade to 1.16.5 is still ongoing.
Documentation
-
docs.sailfishos.org
, website sources, many changes and additions this fortnight:
- jovirkku and jpwalden migrated or modified several Zendesk articles such as those for the device lock and security code, SD cards, reinstalling Sailfish OS, using the phone with multiple users, Internet connections over WLAN or mobile data, backup and restore, file transfer, the Internet sharing option, the language settings, licensing, keyboard and input settings, Android support, the Android settings, backup extraction, importing contacts, and QR code scanning.
- vigejolla created a page explaining how to create Sailfish OS images.
- vigejolla also smoothed out the page on the Platform SDK a bit.
- vigejolla modified the support page for automatic listing of help articles.
- jpwalden added links in the article on factory reset.
- olf updated the link on his guide to install Sailfish OS on Xperia devices and reworked the introduction sentence.
-
martyone mentioned that MSYS2 is the shell to be used for the command line
sfdk
of the SDK with Windows. - vigejolla ensured that help articles are properly sorted.
- vigejolla unified references to SPEC files throughout the documentation.
- vigejolla merged the entries for releases and supported devices in the navigation menu.
- flypig is proposing new pages to explain internationalisation procedures.
- rainemak is proposing to fix and better describe logging capabilities in the cheat sheet.
Software engineering
-
libqtsparql
, the Qt support for SPARQL databases, martyone tried to figure out what in the code was causing otherwise identical builds to produce different outputs, and provided a fix for it. -
gcc
, the GNU compiler collection, mal is providing two patches to ensure reproducible builds.
App roundup
Once again there were far more updates to apps in the Jolla Store than we have space to cover here in the newsletter. We’ve picked out a handful of the more interesting ones, ranging from the highly-universal to the rather niche. We think it makes for an interesting and varied collection this fortnight. We hope you’ll agree.
OSM Scout
We’ve praised the ingenuity of Sailfish OS developers in the past at making native mapping applications. There are several top-tier apps available for this, one of which is OSM Scout from Lukas Karas (karry). It’s an impressively functional mapping app that includes offline maps, navigation, tracking, overlays, night mode, always-on-display and much more. As Lukas explains on the app’s info page, the app is “fully functional without internet connection”, which makes it especially good if you’re planning a wilderness hike away from civilisation and cell-towers.
The latest update brings the app to version 2.26-1, with updates to the Czech, German and Hungarian translations, as well as some new icons, and the ability to define different track types.
You’ll find this nice new update on the Jolla Store, OpenRepos and Chum.
Flood to Java
Flood to Java is a nice, relaxing, one- or two-player game, which also serves the purpose of demonstrating the approach to developing native Java applications for Sailfish OS invented by Thilo Kogge (thigg), and which we covered in our coffee-themed newsletter back in August.
If your focus is on drinking the coffee, rather than understanding how it was brewed, then you’ll be pleased to hear that Flood to Java is an easy-going but fun game to play, with the aim to maximise your score. Select one of between two and four colours (depending on how you configure the game) on a grid of squares. The square at the top-left-hand corner will change to the colour you choose, along with all of the squares surrounding it of the same colour. You gain points for every square you convert this way. And because the number of points is the square of the number of squares converted, it means that you need to convert as many as possible in a single turn to maximise your points.
The original Java version of the game was written by GunshipPenguin, but Thilo has brought much of his own &mdahs; and the Sailfish OS — style to the app. The latest version adds Swedish translations courtesy of eson57, bringing it up to version 0.1.1-1.
You can get yourself a copy from either the Jolla Store and on OpenRepos.
Books
Books is a simple but slick e-book reader from prolific app producer Slava Monich (slava). The app will scan your downloads folder for files in the correct format (for example ePub, fb2, rtf, MS doc, but not pdf), allowing you to pick up books downloaded directly from email or the Web. There are many good places to get books from online in the correct format, including Project Gutenberg, Open Library or the Internet Archive to name just three.
One of the nice things about Slava’s Books app is that when you’re reading a book, it keeps itself out of the way. Tap the page to cycle through the minimal interface options: completely clear; title and page number; reading progress bar; night mode and font-size buttons. It’s the night mode that’s seen improvement in this latest release, with fixes to the widget colouring, along with a couple of other small but nice enhancements.
Version 1.1.5 of Books is available from the Jolla Store and OpenRepos.
BRK Aubing
Even though not always universally useful, we nevertheless enjoy showcasing some of the local apps that are available in the Jolla Store. In the past we’ve looked at travel planners, teletext viewers, video-streamers and weather apps with geographically-specific audiences. They’ve all demonstrated useful functionality that I hope has been of broader interest, and highlight how broad the Sailfish community is.
BRK Aubing is another such app, with its laser focus on the activities of the Bayerisches Rotes Kreuz (Bavarian Red Cross) society based in the Aubing district of Munich.
Developed and maintained by Sikarjan, who’s responsible for a number of native Sailfish OS apps, the main purpose of the BRK Aubing app is to provide an up-to-date training schedule for the society. The main page therefore allows you to control the app via the pull-down menu, or to open up the schedule. Under the schedule you’ll find lists of training events, supervisions for health volunteering overseas, on-call events and other items listed with dates and times.
Entries are listed from the current day and into the future, and looking at the number of events, it becomes clear why the app is needed: there’s no shortage of activities. Using the settings the types of events can be filtered, and a nice feature is that long-pressing an event opens a context menu allowing you to add the event to your calendar.
The latest update brings the app to version 1.5.0-2, which updates the permissions and fixes the login page. Only members of the society can log in, and sadly since I’m not I wasn’t able to find out what new features you get from logging in. The app is a nice showcase for how it’s possible for enthusiastic developers to create and maintain apps for special-interest groups with functionality tailored to local needs.
BRK Aubing is available from the Jolla Store.
Please feed us your news
We hope you enjoyed this fortnight’s community news. This is your news, and frankly we can’t always keep up with all the exciting stuff happening in the Sailfish community, so please help us out by replying to this post in the forum if you’d like to see something included.
And do also join us at our community meetings on IRC, Matrix and Telegram. It’s a great place to discuss any of the content you see here, ask questions and share your ideas. The next meeting will be on the 24th November.