Subscribe to future posts here
Sailfish OS update from Jolla
Christmas always feels so far away, and then before there’s even a chance to be surprised, it’s upon us like an Indominus Rex. And so it is that we find ourselves sharing the last newsletter before Christmas.
On behalf of Jolla, let me therefore take the opportunity to wish everyone in the Sailfish community the very best Christmas.
Christmas card etiquette would usually also have us wishing you a happy new year, but with the way the newsletter falls this year, we’ll have another on the 29th December. So let me hold off on that just for now, but just tempt you to look in on the next newsletter where we’ll be having our usual annual roundup of the movers and shakers in the app and porting world.
Between now and then we’ll be busy preparing for various events happening early in 2023. Jolla has been a regular at the annual Consumer Electronics Show held every year in Las Vegas, which this year runs between the 5th and 8th of January. You may recall that Jolla attended AutoTech Europe a couple of weeks ago, where we demonstrated Android App Support on Linux for use in the automotive sector. At CES we’ll also be demonstrating Android App Support to interested parties. If you’re planning to attend yourself, let us know so we can say hello.
We’ve also been making preparations for our annual trip to Brussels for FOSDEM 2023, which this year is taking place on the weekend of the 4th-5th February. FOSDEM celebrates open source in all its forms, bringing developers from all over the world together with the intention of sharing ideas and fostering collaboration. In this spirit we’re very happy to be helping run the Linux on Mobile stand at the event, alongside a number of other mobile Linux distributions including postmarketOS, Mobian and Ubuntu Touch. If you’re planning to attend FOSDEM then we very much hope you’ll seek us out on the stand. We’re also hoping to present in at least one of the devrooms on a Sailfish-related topic. We don’t yet know exactly where or when, since the final schedule hasn’t been released, but we’ll let you know once it is. Again, we hope you’ll join us at the presentations.
Traditionally the Sailfish community has also organised a BoF (Birds of a Feather) event, and an evening meal, and we very much hope these will happen again this year. Do let us know if you plan to attend so that we can help coordinate some of these activities.
But while we’re working towards all of these events between now and the new year, most sailors will also be taking some well-earned time off over Christmas to spend with family and friends. And maybe just a little Sailfish device and app tinkering as well. We hope you’ll have the chance to do the same.
Read on for our regular Repository Roundup from Damien Caliste, where you’ll find out about all the latest Sailfish code-related gossip in the form of pending and accepted pull-requests. After which we’ll also have our regular look at four of the most interesting apps we’ve seen sailing into harbour this fortnight.
Repository roundup
The latest commits in Sailfish OS repositories confirmed the recent work on 5G support, and are also bringing various tiny fixes here and there, like in the browser, the calendar, the VPN… Many small changes that squash irritating small bugs for the user. We just need to wait now for the public release to get rid of them!
Telephony stack
-
ofono
, the telephony library, mal pushed his work on 5G support as a pull request. -
libqofono
, Qt bindings for Ofono, pvuorela hided the symbols that were only privately used by the library, gaining 50kB on the file in the process. -
libgofono
, a glib-based wrapper for ofono D-Bus interfaces, slava freshened up the MCC table. -
sailfish-log-viewer
, an application to fetch logs, vigejolla updated the application with latest developments from slava (fixing linking and translation issues and adding the metadata for Chum).
Browser stack
-
qtmozembed
, Qt bindings for the Gecko engine, flypig boundui.systemUsesDarkTheme
with the new colour scheme property. -
gecko-dev
, the browser engine, flypig linked the colour scheme to theui.systemUsesDarkTheme
setting, so the ambience can influence the colour scheme. -
sailfish-components-webview
, the high-level QML components exposing a web page, flypig fixed an issue on height calculation with the help of poetaster. -
sailfish-browser
, the browser application itself, flypig added a new combo box in the setting page to select the preferred colour scheme.
Calendar stack
-
mkcal
, storage backend using SQLite for calendar entries, pvuorela is proposing to fix a long-lasting legacy where mKCal is enforcing the organizer into the attendee list. dcaliste found yet another case of alarm misbehaving for recurring events when an exception is removed. dcaliste is also proposing to evolve the plugin API, to avoid the usage of::Ptr
and also to ensure at database level that deleting a recurring event is also deleting its exceptions. Finally, dcaliste is currently working on an asynchronous implementation of the database access. If successful, it may replace the current asynchronous implementation in the QML bindings and unify the usage ofKCalendarCore::Incidence
from mKCal to the QML bindings. -
buteo-sync-plugin-caldav
, the synchronisation framework plugin for CalDAV content, pvuorela, following his changes on mKCal on organiser storage, is proposing to simplify the serialisation to iCal format when uploading a new or a modified event to a server, by removing the additional code always removing the organiser from the attendee list.
Network stack
-
connman
, the connection manager, LaakkonenJussi is still working on a pull request not to timeout VPN that are waiting for credentials. -
libconnman-qt
, QML bindings for the connection manager, LaakkonenJussi is exposing a newassociation
state for VPNs. neochapay has fixed the warnings emitted when compiling with more recent versions of Qt. elro34 found and fixed a memory leak on D-Bus exposition of technology changes. -
nemo-qml-plugin-systemsettings
, QML bindings for various system parameters, LaakkonenJussi added anassociation
state to the VPN status when the VPN is waiting for credentials for instance.
Low-level libraries
-
findutils
, GNU find and xargs, martyone reworked patches to avoid patching submodules. -
mce
, mode control entity, spiiroin added an option for devices that does not emit change notification onpower_supply
(like charger disconnected), to listen to theextcon
subsystem. -
openssl
, utilities and library for cryptography, thaodan updated to 1.1.1s for security fixes and performance improvements. -
signon-plugin-oauth2
, a plugin to handle OAuth2 protocol, thaodan patched the code to avoid sending a PKCE challenge when the service already answered with a token and quickly fixed the submodule pointer. -
qtbase
, the Qt library, martyone removed support for old TLS 1.0 from the (old) Qt5.6 code base. -
ssu
, the seamless software updater, martyone fixed an issue in packaging. -
ohm-plugins-misc
, some plugins inherited from Nokia for the open hardware manager (OHM), jusa ensures that headphone connection / disconnection is properly reported for drivers that inverts logic. -
amber-mrpis
, QML bindings for remote control of music players, tomin1 merged various changes in, including logging categories, some fix on wrong initialisation and a validation oftrackId
as a proper object path in D-Bus interface.
SDK and development tools
-
git
, the famous version control, martyone got included his proposition to [backport the patch that restrains--invert-grep
option to ``–grep](https://github.com/sailfishos/git/pull/6) and not
–author` for instance. -
sdk-setup
, part of the Sailfish SDK, martyone has added ascrape
command tomb2
that allows to scrape modifications from sources and save them as patches. martyone also renamedgit-change-log
intosdfk-changelog
and updatedmb2
accordingly. He also added a patch to fix the determination of the setup directory when it is in a sub-directory and another one not to look for a target when none is needed. -
sailfish-qtcreator
, the Qt IDE, martyone added thechangelog
command and thescrape
command. He also lower the file limit under docker since some applications don’t work well with the very high limit. vigejolla clarified the documentation about the YAML specification format. martyone added a mention in the UI to setAllow untrusted software
in the settings.
Sailfish OS website
-
jovirkku created pages on how to use SSH and SCP from Windows, Mac or Linux. And also a dedicated support page for moving files between Mac and Sailfish.
-
jovirkku reorganised the screenshots in the account support page and also the ones in the Android App Support documents.
-
jpwalden created a support page for using a VPN.
-
jpwalden created a support page for using APKPure, vigejolla later corrected it with a workaround when clicking packages in APKPure website in the browser. And jovirkku created one for using Aptoid.
-
jpwalden added a page to explain how to use a SD card in recovery mode to save device data.
-
jovirkku joined the pages on gathering logs under a common
Collecting Logs
category. He also created a page on basic log gathering using a dedicated script :collect-logs.sh
. -
jpwalden dedicated a page to explain how to monitor system status, with reference to community packages like Battery Buddy, Light House or Sys Mon.
Software engineering
-
sp-rich-core
, a tool to create core with many information, pvuorela fixed the unit tests. -
gcc
, the GNU compiler collection, mal regenerated the packages to use GCC as a cross compiler for various architectures supported by Sailfish OS. -
python3
, the popular and widely used programming language, mal is working in a branch to ensure reproducible builds. -
build-compare
, scripts to find out if the build result differs to a former build, martyone got in a patch to remove the release from version and to ignore the version in Perl. -
doxygen
, the code documentation tools, vigejolla is working in a branch on repackaging it with spec file in arpm/
sub-directory and using git submodules. -
perl
, a high-level programming language, martyone removed the release numbering in the packaging. -
gettext
, the GNU tools for multi-lingual support, mal patched it to generate the timestamp in .pot files from SOURCE_DATE_EPOCH.
App roundup
We have a lovely selection of apps this fortnight. If you’re looking for distraction, then these apps can help. Papocchio provides the perfect doodling platform that can suck in a surprising amount of time. But if you want something more physical, then we also have an app to get you outside and throwing discs across fields with SCOCADIGO, a digital scorecard app for disc golf players. If fun and games aren’t your thing, then don’t fret, there are other options here as well. Maybe some more serious distraction in the form of technology news would suit you better? We have a couple of apps that can help with this too, in the form of SailHN and Tidings. Read on for the full details.
SCOCADIGO
I’ve led a very sheltered life. I know that now, because until I moved to Finland I had no idea that disc golf was a thing. I’m sure it’s only me, but just in case there’s anyone else out there who’s yet to understand the joys of the sport, let me explain. Disc golf is like golf, but with Frisbees (flying discs). Instead of holes in the green, players aim to sink their discs into a metal basket atop a stick (which provide the inspiration for the app’s icon). Instead of different golf clubs, players can use different disc types (putters, mid-ranges, drivers) for different stages of a hole. And most pertinent for this app, the scoring system is also similar to golf, with lowest throws winning.
Readers with a good knowledge of 20th Century history won’t be surprised to discover that disc golf was popularised in the 1970s.
The peculiarly named SCOCADIGO (apparently a portmanteau of score, card, disc and golf) is an app for managing the scoring of your disc golf game. It’s not a new app, having first been released back in 2017, but it’s enjoyed a flurry of development recently from its author Michael Johannes Muik (mjm). Version 0.2 introduced a host of new features, including a new cover view, an improved settings page, acoustic feedback (sounds), and more. The latest release brings it to version 0.3 which fixes some bugs and introduces an aarch64 version for the Xperia 10 II and Xperia 10 III.
The functionality of the app itself is split into five sections: games, players, courses, scorecards and settings. In order to start a game you must first create the course (how many holes, the par for each hole and other related details) and the players. You can then start your game, entering the number of throws for each player as the course continues. Eventually you’ll end up with a completed score card for the game.
It’s all pretty intuitive, even for a disc golf novice like me. Aside from the functionality, it’s also worth highlighting the aesthetics of the app. In the world of Sailfish OS you generally find two kinds of apps: those which almost exclusively make use of the Silica widgets with a rigid adherence to the Sailfish OS aesthetic, and those which throw the Sailfish OS conventions out of the window and go their own way (the latter often being cross-platform designs).
SCOCADIGO achieves something quite remarkable: it’s clearly a Sailfish OS app, but very much with its own aesthetic. Big colourful buttons, bespoke input fields, and its own font give a unique feel, while dialogue headers, page stacks and ambience blending make everything still feel familiar. Michael has done a great job here.
Even if you’re not a disc golf aficionado, I’d recommend taking a look at SCOCADIGO if you’re interested in app design and what can be achieved with Sailfish OS. It’s available from the Jolla Store. The app’s website is also worth a visit if you’re not prone to dizziness.
Tidings
We’ve featured Tidings before, and as I’ve mentioned previously, it’s one of the apps I personally use daily to check the news from multiple sources. Tidings is a very solid and functional RSS reader, allowing you to subscribe to multiple website RSS feeds, and in the process giving quick access to multiple news articles in one place and — usually — without the tracking and advertising you’d get from the website.
Originally developed by Martin Grimme, the app was picked up by Mark Washeim (poetaster) in 2021 and has enjoyed some nice updates since. The latest makes the switch from the WebKit to the Gecko backend for rendering Web content. And it makes for an unexpectedly refreshing change, making the app feel much more modern and responsive. This latest version 1.3.0 is definitely worth updating to.
Mark is to be congratulated on a very nice update and for keeping this excellent app alive. Tidings is available from the Jolla Store, OpenRepos and Chum.
SailHN
Hacker News is a technology- and entrepreneur-oriented news site created and run by the successful Y Combinator technology accelerator. Started in 2007, the site has managed to retain it’s simple aesthetic, offering a way to post commends and discuss news stories on external sites, as well as shorter user-generated stories. It’s very much of the Reddit or Slashdot style of discourse (clean and functional, or a bare-bones and archaic? That’s a matter of opinion).
Sailfish OS is blessed with a surprising number of ways to access Hacker News: through the browser, via an RSS reader such as Tidings, using the “Hacker News” app from the Jolla Store.
SailHN is another variant on this theme from Andrea Scarpino (ilpianista). It’s enjoyed many years of updates, having been released back in 2015, and as a result offers a solid experience. You can scroll through the categories: top, newest, show, ask, job and best, by swiping the page left and right. On each page, the latest stories will appear. Selecting an entry opens up the comments for that story.
But it also offers capabilities that aren’t available with many of the other approaches either. In particular, supply it with your Hacker News username and password, and you’ll be able to post text articles, external links, comments and replies to the site. I did hit a slight problem, in that the app wouldn’t accept a username or password containing a “+” symbol, but otherwise it worked nicely (and hopefully this can be fixed in a future release).
The latest updates brings the app to version 0.8.7, adding the important SailJail permissions that allow it to work with sandboxing. I didn’t experience any sandboxing issues while using the app.
This latest version is available from the Jolla Store, OpenRepos and Chum.
Papocchio
Papocchio is another app from Andrea Scarpino (ilpianista). It’s not a new app, having first been released in the Jolla Store back in 2014, but it is the first time we’ve covered it here in the newsletter.
The app provides a simple “free-hand drawing application”, which allows you to create simple monochrome line-based art using your finger. Unlike more complex image manipulation tools such as Imageworks, Papocchio puts the canvas front and centre, with just a single minimal toolbar obscuring only a small area at the top of the screen.
The features it has work very nicely: you can change the thickness of the line between 1 and 30 pixels, which is a sensibly chosen range. You can quickly switch between draw mode (black ink on the white canvas) and eraser (white ink on the white canvas). Conveniently, each has its own thickness value, so you can set things up to have a thin line but a fat eraser, say.
You can also save your image out at any time (each save appears as a new image under Photos in the Gallery) or when things go very wrong, wipe the entire canvas to start again.
The app works very nicely. There are a few improvements I think could make it even more useful (the ability to load images, and the current image appearing on the app cover, spring to mind), but as it is, it’s already a very nice way to quickly create doodles on your phone.
Version 1.3.4 of the app brings SailJail permissions, a lovely new icon and Lithuanian translations. It’s available from the Jolla Store, OpenRepos and Chum.
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. Due to the Christmas period the next meeting won’t now be until the 12th January in the new year, but we hope to see you there.