Sailfish OS update from Jolla
It’s February and time sure is flying by! We’ve been busy bees preparing for the Sailfish OS 4.5 “Struven ketju” release which is currently in Early Access phase. We’re hoping to make it publicly available this week so everyone can enjoy the fruits of our labor. Make sure to keep an eye on Jolla’s blog as well, as we will be posting a comprehensive article about the release once it becomes accessible to all.
(Note: Shortly after publishing this Community News, Sailfish OS 4.5 became available for all. Read more about the release: Sailfish OS 4.5 ‘Struven ketju’ blog post)
We also wanted to remind you that to celebrate the Sailfish OS 4.5 release, we have a limited time only Sailfish X for 39,90€ campaign at the Jolla Shop. Now’s a great time to buy your Sailfish OS license if you haven’t already.
Aside from Sailfish OS 4.5, we participated in two events in early February. On February 2nd, we had the pleasure of meeting students at Yrityspäivät (Enterprise Days), the most popular student contact and recruitment event in Tampere. We had some interesting discussions and got to showcase Jolla and its products as well as AppSupport for Automotive demo, that gained a lot of attention. It was an excellent event and we’ll definitely be back next year.
A few days after Yrityspäivät, we headed to Brussels for Fosdem. We had two talks - Björn Bidar (thaodan) presented “Sailing into the Linux port with Sony Open Devices,” and David Llewellyn-Jones (flypig) spoke about “Covid Exposure Notification Out in the Open.” We believe both presentations resonated well with the audience.
We also had a busy “Linux on Mobile” joint stand with postmarketOS, Mobian, and Ubuntu Touch. It was great to see so many people interested in Linux-based mobile operating systems and experiencing them for themselves. Thanks to our fellow co-exhibitors at the stand for making it a success!
There were many Sailfish OS users who travelled to FOSDEM, came to see us on our stand, attended the Sailfish dinner, watched the talks and joined the Sailfish Birds of a Feather Q&A event. It was wonderful to meet you all, as well as to talk to many potential Sailfish OS users as well.
One of those present was special reporter and community member Nico Cartron (ncartron), who has promised to let us share his experiences of FOSDEM in a future newsletter. Thanks also to Andrea Bernabei (faenil) for letting us use the lovely picture of the our stand below.
Special Thanks to David:
And finally, but certainly not least, you may have noticed already a change in the tone of voice in this newsletter. David (flypig) has been writing this newsletter for many years, putting in a lot of effort to deliver the latest information and engaging content to our community. However, David is now moving on to new adventures from Jolla and will be passing on the newsletter writing reins. But don’t worry, David has promised to remain an active member of the community and will still be contributing to the newsletter in some capacity. A big thank you to David for everything!
Energy from the Community
Sailmates
As some of you may have noticed from discussions on the forum, there has been some exciting work being done to create a non-profit association to support Sailfish OS activities.
Through the efforts of the founders jojo, vlagged and fridlmue, in combination with the early members who supported the process, namely poetaster, sebix and yajo10, the association is nearly ready to go live.
Prior to the official announcement, we asked jojo to explain a little about what the association is, what plans they have for it, and how other members of the community might contribute in the future. Here’s what jojo had to say.
Sailmates is a non-profit association aiming to support and promote free and open source mobile operating system alternatives. The statutes of the association were written by the Sailfish OS community. We aim to provide help (financially and technically) to projects related to Sailfish OS. We are also a structure that can be used to apply for development grants, such as those from keypeer.org for funding access to third party APIs.
The association will have a board of members, organizing the day to day life of the association, and the members, that will vote during assemblies for the topics they find interesting to invest into. We will also be in need of two auditors to double check the finances of the association, since this is a requirement of Austrian law.
Once up and running the association will be looking to the community for input: ideas for projects, memberships/donations for financing projects and volunteers to build the environment around and manage the association. Let’s take a practical example, it was mentioned that having a NextCloud instance somewhere would be useful for users to be able to save their data to. Well, the association is a perfect way to do so. The association would pay for the server where it’s hosted, but we would also need members to manage the server, set things up, apply updates, perform user management and so on. There you have it: ideas, money and effort all being used. But for the non-technical members, there would of course be non-technical tasks for which we’d also need volunteers, such as finding grants that might fund projects and helping apply for it.
The next steps will be the announcement of the association, announcement of the challenge associated with it, integrating the new members in to the association and replying to the questions they have.
We’re expecting the first official announcement to happen before the end of the month, after which things will really get rolling, so stay tuned for all the info.
Camera2 API efforts
As many of you will know, when the Xperia 10 III was released, we noted a couple of areas with room for improvement, hoping that the community might be able to help. One of those areas was the Camera, where we hoped to switch to the Camera2 API to make use of the full set of all three hardware cameras available.
We’re really happy that Matko (mjun) has risen to the challenge and has started looking at how to amend the code to switch to the updated API. Matko has asked for input in some specific areas on the forum, so we’d urge anyone interested in contributing to join the discussion.
Repository roundup
Now that 4.5.0 has been published and will become available for everyone after the early access period, many repositories are updated with latest upstream versions, like the update of the C library that is worked on. Control of media playing from QML is also receiving a lot of attention with various pull requests fixing bugs in mpris-amber
.
Telephony stack
-
libqofono
, Qt bindings for Ofono, jmlich updated the test and example application since the modems are loaded asynchronously.
Networking
-
libpcap
, provides a portable framework for low-level network monitoring, mal updated it to 1.10.3. -
tcpdump
, a network traffic monitoring tool, mal updated it to 4.99.3. -
libconnman-qt
, QML bindings for the connection manager, pvuorela dropedNetworkManager::getTechnology()
from QML API because ownership is not clear and to replace it with a simplerhasTechnology(string)
.
The browser
-
gecko-dev
, Mozilla’s Gecko web rendering engine, mal cleaned-up the build process with the upgrade of CLang.
Calendar stack
-
mkcal
, storage backend using SQLite for calendar entries, dcaliste addedthisAndFuture
attribute in the database. This would allow to support changes from a point in time for recurring events at UI level. dcaliste fixed issues in the initial commit with a second pull request. -
nemo-qml-plugin-calendar
, the QML for calendar access, beroset upgraded the code to work with newer versions on Qt on AsteroidOS.
System control
-
timed
, time and alarm handling daemon, dsuni moved the configuration files from ~/.timed` to XDG config directory. dsuni also cleaned up the code replacing deprecated expressions. -
lipstick
, the home screen code (open source parts), pvuorela simplified what is exposed by removing the QML bindings giving the connectivity status (using Connman is better to do this than asking the compositor). -
profiled
, manages user settings, dsuni moved the configuration files from ~/.profiled` to XDG config directory. -
amber-mrpis
, QML bindings for remote control of music players, flypig fixed a scaling issue in duration: when the duration is provided to the metadata as milliseconds it must be scaled to microseconds for internal use. flypig is proposing to let the application to choose the prefix for DBus paths. flypig is also proposing to addcanShuffle
andcanLoop
properties.
Low level libraries
-
libksba
, the “Kasbah” library for utilising X.509 certificates, mal updated it to 1.6.3. -
nemo-qml-plugin-filemanager
, QML bindings for file management, notkit replacedeuidaccess()
withopendir()
since the former is not taking ACL into account. -
lxc
, Linux resource containers, krnlyng updated it to 5.0.2 from 4.0.10. -
mce
, mode control entity, nephros opened a discussion on how to handle the assistant button present on Xperia 10iii phones. He proposed to expose this button as a home button from mce, but he also discussed many other possibilities. -
minui
, a library for minimal UI framebuffer applications, spiiroin fixed the return value ofgr_init()
in case of drm backends that fails ingr_flip()
. -
yamui
, minimal UI tool for displaying simple graphical indicators, spiiroin proposed to reimplement with a GLib-based main loop. Like that, yamui can expose a compositor DBus service. -
yamuisplash
, a simple splash screen for SailfishOS, spiiroin propagated the changes inyamui
. -
libphonenumber
, a library for manipulating international phone numbers, mal is working to update it to 8.12.57. -
glibc
, the C library, mal is working to update it to 2.36. -
fuse
, the file system in user space, mal imported a patch from Fedora definingclosefrom()
if not present in the lib C. -
xkeyboard-config
, alternative xkb data files, pvuorela updated it to 2.37.
Software engineering
-
pvuorela replaced deprecated use of
qSort()
with its standard library equivalentstd::sort()
in various repositories:-
nemo-qml-plugin-contacts
, -
ssu
, -
buteo-syncfw
, -
buteo-mtp
, -
qtcontacts-sqlite
, -
fingerterm
, -
mkcal
, -
libqofono
.
-
-
sailjail
, a wrapper around firejail, dsuni cleaned up the packaging, removing oldObsoletes
directives.
SDK and developer tools
-
git
, the famous version control, mal updated it to 2.34.6. -
qtdeclarative
, Qt implementation of QML language, martyone modified the tool to dump the interface of a QML plugin, adding support for components that write log message to stdout and adding an option no skip composite modules. -
amber-web-authorization
, a QML module allowing applications to perform OAuth1 and OAuth2 requests, martyone updated the QML definitions for SDK. -
sailfish-secrets
, a framework to use encryption techniques, martyone updated the QML definitions for SDK. -
nemo-qml-plugin-contextkit
, ContextKit QML bindings, martyone updated the QML definitions for SDK. -
sailfish-components-webview
, the high-level QML components exposing a web page, martyone updated the QML definitions for SDK. -
kf5bluezqt
, the KDE framework handling Bluetooth, martyone updated the QML definitions for SDK. -
amber-mrpis
, QML bindings for remote control of music players, martyone updated the QML definitions for SDK. -
libqofono
, Qt bindings for Ofono, martyone updated the QML definitions for SDK. -
sdk-user-manual
, examples and documentation for the SDK, pvuorela fixed typos in the README. -
sailfish-qdoc-template
, qdoc customisation for Sailfish OS, vigejolla changed the margins for a fixed one. -
sdk-harbour-rpmvalidator
, the harbour validation scripts, martyone allowedQt.labs.folderlistmodel
in QML. This will make applications using file listing to be allowed in Harbour. -
sdk-setup
, part of the Sailfish SDK, martyone added support for git submodules in thesdk-make-qmltypes
tool. -
LLVM
, the machinery to build compilers, mal resumed the earlier work of rubdos and updated it to 14.0.6. -
rust
, the Rust programming language compiler, mal updated it to 1.61.0. -
grep
, the searching command-line tool, mal is working on upgrading it to 3.8. -
m4
, the shell macros for Autotools, mal updated it to 1.4.19. -
libtool
, the Autotools companion to create dynamic libraries, mal updated it to 2.4.7. -
binutils
, command line tools, mal updated it to 2.40. -
oprofile
, a system wide profiler, mal updated it to 1.4.0. -
sailfish-qtcreator
, the Qt IDE, vigejolla fixed window sizes with VirtualBox 7.0. martyone proposed a fix for command line completion.
Sailfish OS website
- stoefelz corrected the publication year for version 1.0.2.5.
- vigejolla added an article describing the quick call feature from the phone history view.
- jovirkku added an article describing how to get log on emails.
- vigejolla provided a high resolution icon for Sailfish OS.
- pvuorela corrected internationalisation documentation.
- pherjung updated the link for WLAN troubleshooting.
- jpwalden revamped the backup articles.
- b100dian fixed the link for community adaptations.
- jovirkku updated the release page and added version 4.5.0.
App roundup
As always we’ve tried to look at a range of different apps this fortnight: mostly apps of the useful variety, but also a game. Apart from all being examples of nicely working apps, another thing they have in common is that while they’re not all new to the world, this is the first time they’ve all appeared in the newsletter.
Tolppa-apuri
When I first moved to Finland I was surprised to see every parking space adorned with a small electric outlet attached to a pole. It took me more than a year to realise that these weren’t all electric car charging stations, but rather outlets for powering the car heater, before the engine is turned on. Pre-heating may not be necessary everywhere, but in Tampere, where the average maximum temperature in February is -4°C, it’s an essential part of many people’s daily routine.
Tolppa-apuri by Tero Siironen is a small app to help you figure out what time you should set the heater to activate. The outlets are set on a timer so that you can leave your car plugged in overnight, but figuring out exactly when to start the heating can require a bit of numerical dexterity. Tolppa-apuri takes the pain out of this by doing it for you.
The app is simple to use: just drag the hour and minute sliders to set the correct time when you plan to leave in the morning. The app decides when you need to set the timer to start based on the heating delay and any other factors, such as changes in daylight saving time. It then displays exactly how you need to set the circular timer switch in order to get the heating you need.
You can easily switch between two different timer styles, and there’s a cute animations when you do. On a device with a higher resolution display it would be nice if the images could be shown a bit larger, but it’s a minor gripe. Overall, the app works nicely. The latest release brings the app to version 1.2.3 with some minor tweaks especially to the About page, and it’s available from the Jolla Store.
Pipes
The first version of Pipes was released by its author, Arkadiusz Kozdra (Arusekk), back in June 2022, but somehow the review we planned back then got stuck in the system. Rather ironic, given that Pipes is a game about ensuring everything flows smoothly through the system.
I’ve played many pipe games, from the eighties classic Pipe Mania to the Pipe Dream hacking minigame of BioShock, but in most cases it’s just about getting whatever the stuff is in the pipes from one place to the other. This is the first game where you have to get the contents to all parts of the playing board.
The game never explains what’s actually in the pipes, so lets refer to it as ooze. It’s probably ooze right? So the board is made up of a grid, with each tile containing one of five different tiles. As the player you have the ability to spin each of the tiles into any of its four rotations. Ooze originates in the centre of the board, and any pipes connected either directly, or via some other pipe, will fill up with ooze.
The game is clever in that you can choose how taxing you want to make it: randomly click on tiles to see if you make progress, or carefully plan a solution based on the rules of thumb and conventions that you build up over time while playing it.
It’s a fun game and an effective way to pass the time. According to the author, every level is solvable… “Even that hard one you are currently struggling with.”
The latest update adds Swedish translations, bringing it to version 1.1.1. It’s available from the Jolla Store.
Welkweer
We’ve covered quite a few weather apps in the newsletter, with differing purposes and covering differing areas of the world. Welkweer by Arno Dekker (ade) is one you should think about using if you’re in the Netherlands.
Opening the app immediately brings you to a summary page, perfect for getting the quick summary needed to decide whether or not to hang the washing out. You can then drill down into several subsections covering rain, temperature, wind, visibility, forecasts and alarms. Each of these sections is then split into further sections, and selecting one will often bring up a map of the Netherlands with your chosen data overlaid. In total there are no less than fifty different views, each giving a useful insight into different aspects of the weather.
The latest release brings the app to version 0.31, which switches to using the Sailfish WebView, as well as adding new views, warning notifications, Sailjail support and improvements to the user interface layout.
If you’re interested in Dutch weather then this is a great and comprehensive little app, available from both the Jolla Store and OpenRepos.
ExRates
The final app in our roundup today is another we’ve not covered before. ExRates from Flo (Sikarjan) is the perfect companion if you’re travelling between countries with different currencies. It allows you to convert between any pair from a list of over 150 different countries ranging all the way from the Afghan Afghani to the Zambian Kwacha.
In order to support all these different currencies the app queries two separate APIs, with exchange rates being updated daily. Each of the currencies is presented with the flag of the country, and while it’s a bit of a burden having to scroll through to find the right currency, there is an optional search field that simplifies things a lot.
Another nice feature is that you set the “base” currently separately, optimising for converting from one type of currency to many others.
The app is nicely presented, with the latest update moving to the new backend API provided by exchangerate-api.com API. You may have to manually switch API to find the specific currency you want, although in practice both APIs have broad coverage.
Version 1.7.1 of ExRates is available from the Jolla Store.
Please feed us your news
Exciting things happening in the Sailfish community. We hope that you enjoyed once again this fortnight’s community news .
And do also join us at our next community meeting, to be held on the 16th February on IRC, Matrix and Telegram.