Sailfish Community News, 21st April, Sailfish SDK 3.9

Subscribe to future posts here :bell:

Sailfish OS update from Jolla

The original intention with the new-format newsletter was to reduce the length in order to streamline the process of putting it together. While we seem to have succeeded with the latter, we’ve failed spectacularly with the former. The inclusion of Damien Caliste’s insightful Repository Roundup means we’ve packed in a fortnight of updates to Sailfish OS with the perfect balance of depth and efficiency. And with the large number of apps sailing in and out of harbour this fortnight, the Apps advancing section is packed with ideas to add to your launcher. We hope this new balance is working for you too and that you continue to enjoy the update.

Last fortnight we covered the release of Sailfish SDK 3.9 to Early Access users. Since then it’s gone out to all users via the SDK update channels. If you’ve run the Sailfish IDE in the last two weeks you should have received a notification about the update.

The release notes for the update highlight a multitude of improvements, the most obvious being the updated Sailfish OS 4.4.0 Vanha Rauma targets. The update also includes code assistance improvements (e.g. autocomplete and error highlighting), improvements to the docker backend and to the documentation (sfdk --help-all opens up a mine of useful information). In addition to that, we see updates to the validator to allow MPRIS to pass, but also to deprecate the SilicaWebView (QtWebKit) component.

This last is an important point to note. If you have an app that makes use of a SilicaWebView to render web content, now is the time to be thinking about converting it to use the Gecko-based Sailfish WebView instead.

We’ve been making the switch on internal components over the last few weeks, and while there’s the occasional hitch caused by differences in the API, overall it’s been a very straightforward process. The Gecko WebView has a much more up-to-date rendering engine, which means it’s more capable, but also crucially less likely to suffer from security vulnerabilities. We’ll be continuing to maintain Sailfish WebView over time, whereas if your app requires the deprecated SilicaWebView, you’ll eventually find its entry to harbour will be blocked.

SilicaWebView isn’t the only API that’s being deprecated. As mentioned in the release notes for Sailfish OS 4.4.0 Vanha Rauma. The bluez package, which provided bluetooth support on older devices, will be removed with bluez5 as it’s replacement. We will also be removing gnutls, qtconnectivity and qtsysteminfo packages from the next release, along with the repomd-pattern-builder tool. Unlike SilicaWebView these were never previously allowed in harbour, but some non-harbour apps may still make use of them. So this is a gentle warning for app developers to update their apps, or for users to find alternative apps.

Matti Viljanen (direc85) made the important observation that some users were being put off upgrading their phones after reading the release note thread on the forums.

That’s just the way it is; if there’s a problem, people tell about it and want to get it fixed, but if everything goes smoothly, it’s left unsaid more often than not. That only strengthens the point - if all you read about an update is negative, you can get an unnecessarily negative impression about it.

His suggestion, which he’s added for discussion at the next community meeting, is to add a poll to the release notes to allow users to quickly share their update experience. Based on a similar approach used by Manjaro Linux, it’s hoped that this will provide a more accurate representation of the update experience for most users.

Here at Jolla we think it’s a great idea, so rather than adding delay and waiting for the community meeting, we’ve just gone ahead and added it. Thank you Matti for the nice and proactive suggestion, and we urge everyone else to please add your vote to the poll. The more people who vote, the more realistic the result, and the more benefit other users will gain from it.

Energy from the Community

We were excited to read about the second Sailfish OS France meetup that took place in Paris last week. Organised and chronicled (in French and English) by Nico Cartron, the event saw six dedicated Sailfish OS users come together to discuss a range of topics, including flashing (with practical demonstration), alternative app stores, and the possibility of a longer half-day event in the future.

Pierre suggested on the SFOS FR Telegram channel that we find a proper place that we can use for 1/2 day, allowing us to organise a “real” meetup: workshops, demos, … This would also be a good way to invite people from outside the Sailfish OS community, for instance by getting in touch with local GNU/Linux associations.

We really love this idea, and we hope it comes together.

And of course, the event was rounded out with some fine food, drinks and atmosphere. Thanks again go to Nico and all the attendees for what sounds like a very nice event.

Moving online, we also had a lively community meeting, also last week. Many topics were discussed, including how to better structure the Early Access release phase for Sailfish OS, discussion about Sailjail, which continues to be a developing area for the operating system, and the topic of making Bluetooth available to Android App Support apps.

We also had some nice discussion about the new Community Bug Coordination team, comprised of pherjung, nephros and thigg. They’ve very kindly offered to shepherd the bug reports on the forum through a process that’s intended to both improve the bug reports, and also provide more visibility for them within Jolla. We’re pretty excited to see this in action, since it has the potential to raise the most important and actionable bugs to the surface.

If you’ve submitted a bug and are approached by one of the team, we’d urge you to follow their advice as much as possible, and to help them as much as possible with the process. They’re generously offering their time and effort for a process that will benefit everyone in the community.

In case you weren’t able to attend, you can read about the discussion in the minutes and in all its gory detail in the logs. The next meeting is scheduled for Thursday 28th April and whether you’re a jaded regular or a wide-eyed newcomer*, we’d love to see you there. We already have discussion topics on the upgrade poll we discussed earlier and a suggestion for how to improve the keyboard with a persistent numerical row. And of course we’ll also have our now regular bug discussion.

If you have an opinion on these or other topics, then do join us on one of our supported channels: IRC, Telegram or Matrix.


* Neither of these descriptions is either fair or accurate, in reality!

Repository roundup

Damien Caliste (dcaliste) once again provides us with a swift but information-packed tour of all the most notable changes that went into the open source Sailfish OS repositories this fortnight. Once again, it’s been a busy fortnight with improvements from Jolla, but also many contributions from the community as well, all of which we’re very grateful for.

Network

Telephony stack

User interface

Positioning

  • sailjail-permissions, the configuration files for system-wide sandbox permissions, rainemak added the sensor permission to the location one, so harbour applications using the GPS can get access also to the compass. It was Jolla bug #58000 ;), reported by direc85.

QML

  • nemo-qml-plugin-systemsettings, QML bindings to access system parameters, neochapay has continued his work on making the bindings independent of packagekit for systems where the developer mode is not used.

  • qtdeclarative, Qt implementation of QML language, a pull request started by krnlyng in late February was accepted. It is based on backports allowing JIT for aarch64 architectures. JIT means “just in time” and is used to compile on the fly scripting languages like QML. It can bring significantly improved execution time, depending on the code.

  • nemo-qml-plugin-thumbnailer, the QML bindings to get image thumbnails, pvuorela improved resource consumption by starting the worker thread only when necessary and not at object creation.

Bluetooth

Web browser

Calendar stack

Low level libraries

Hardware adaptation

SDK / documentation

Quality / software engineering

Apps advancing

Wow, what a lot of new and updated apps we saw this fortnight sailing into harbour. It’s fantastic to see and all of the updates are very welcome. We’ve done our best to summarise them below. Keep them coming and we’ll do our best to cover as many as we can in the next newsletter too.

VNC Screen

You may have come across the venerable VNC protocol before for accessing a remote desktop (like RDP, Citrix, Remote Assistance, or inverted Chromecast). VNC Screen by marcellodgl is a client for accessing your desktop from your phone. The small screen can add some challenge, but it’s a super-useful application in a pinch. The latest version provides a screen preview on the cover, as well as adding Italian, French and Dutch translations. VNC Screen is available for arm32 and x86 devices from the Jolla Store.

Code Reader

CodeReader from prolific app-meister slava is an app for scanning both 1D (traditional) and 2D (the trendy QR-code) barcodes. The Sailfish camera now has the ability to scan QR-codes, but you get greater configurability from CodeReader as a standalone app. The latest version avoids blocking audio playback during a scan and updates the Hungarian translations. CodeReader is available from the Jolla Store, OpenRepos and Chum.

DSA SKT App

Honestly, it took me a little bit of time to figure this app out. The cryptic “DSA” in the title doesn’t stand for Disney Sorcerer’s Arena, or Digital Spectrum Analyser, but rather Das Schwarze Auge (The Dark Eye), a tabletop role playing game with a history that draws all the way back to the eighties, more popular in Germany than Dungeons and Dragons. On levelling-up a character players can distribute their experience points to different skills. This app from Sikarjan helps with the cost calculation and also allows you to store your characters for future use. Having figured it out, the app is easy to use but does the job nicely. The latest release fixes a slider bug and allows you to add a note to an upgrade. If you’re a DSA player, it’s recommended, and is available from the Jolla Store.

S’Play

In the last newsletter we had attah’s SWeatherRadar. This time we have S’Play from the same author. Instead of Swedish weather, S’Play is all about Swedish Public Service Radio. The app supports searching radio episodes from the back catalogue and downloading for later listening, but unsurprisingly it’s best if you’re a Swedish-speaker. The latest version adds Sailjail support and — rather nicely &mcash; also now supports the MPRIS audio controls of the lock screen and headsets. The latest version is available from the Jolla Store.

To-do List

To-do List from Mirian Margiani (ichthyosaurus) is a handy life-management tool. Some people seem to achieve a blissful life-balance of calm serenity; others thrive in a world of chaotic mayhem. For the rest of us who are stuck in the mayhem but strive for serenity, To-do list may just be the answer. You can create separate projects to categorise your tasks, and then populate them with everything you have to do. Items can be in one of several states: done, paused until some later time, delayed or ignored. The app provides some really useful tools for managing your workflow. The latest version adds Sailjail support, support for My Backup, moving tasks between projects, updated translations and more. Very nice. It’s available from the Jolla Store and OpenRepos.

Parking Chaos

Parking Chaos — also from (ichthyosaurus) — is a game that should have been featured in our games issue, but somehow got missed off. The six-by-six grid is populated with vehicles — mostly classic cars but also the occasional bus or ambulance — as well as a single red tractor. Vehicles can only move either horizontally or vertically depending on their orientation. Your job is to drag the cars around in order to allow the tractor to escape the parking chaos. There’s no random level generation, instead there are 215 carefully crafted levels of increasing difficulty. The most challenging requires a minimum of 51 moves before the tractor can escape. The implementation is flawless and the gameplay increasingly taxing. The latest version provides Sailjail support, new Polish, Russian and Hungarian translations, and some graphical updates. It’s available from the Jolla Store and OpenRepos.

MeteoSwiss

While the weather is everywhere, it turns out that weather APIs are only somewhere. MeteoSwiss, another of ichthyosaurus’s creations, is an app that provides access to weather information from the Swiss Federal Office of Meteorology and Climatology. You can add multiple locations to the main screen, then drill down into each independently from forecast summary down to some beautifully presented pannable graphs and hourly forecasts. It’s a lovely app, and I’m frankly a little sad it doesn’t cover my own location. The latest version adds Sailjail compatibility with only the Internet permission required. It’s available from the Jolla Store and OpenRepos.

Captain’s Log

Captain’s Log gets off to a strong start with a clever sailing analogy that also works as a Star Trek reference. I’m sold. Captain’s Log is a diary application, but more of the historical musings type rather than the future planning type. You can quickly note down your mood, a title, some long-form text and apply hashtags to categories events. Once you’ve built up enough to write your memoirs, export everything in text, CSV, markdown or pandoc format. Another really nice app from ichthyosaurus, the latest version adds a Sailjail profile, but also Chinese translations and a bundle of bug fixes. It’s available from the Jolla Store and OpenRepos.

File Browser

As you can see, ichthyosaurus has been busy updating apps. File Browser doesn’t need any introduction. We covered it last December, where we also revealed it to be both the most downloaded, and the most upvoted, app from the Jolla Store. It’s clearly doing something right. File Browser provides a way to view and manage the files on your device. The latest version has a lengthy changelog, but includes new Polish and Indonesian translations, My Backup support, improved settings, some new features and many bug fixes. All improvements to an already very impressive app. File Browser is available from the Jolla Store (with some limitations) and OpenRepos.

Mæp

Originally created by Till Harbaum for the N900, Damien Caliste (dcaliste, regular contributor to the OS and this newsletter) ported it to Sailfish OS back in 2013. It provides a lightweight Open street Map viewer, with the ability to add and record GPS data in GPX format. The zooming is nicely progressive and I had no problem finding places via the search option. The latest version is updated to support the new Sailjail requirements; it’s available from the Jolla Store, OpenRepos and Chum.

Minidoro

Minidoro is a brand new app from ichthyosaurus, who’s clearly had a very busy couple of weeks. It provides a way to manage your time working on tasks, using the now famous Pomodoro Technique (named after the tomato kitchen timers). Since the core of the technique relies on switching tasks and taking appropriate breaks at the right time, having an app that can help you with these timings is a big help. Especially if you don’t have a tomato timer to hand. It’s great to see this new app, which is available from the Jolla Store and OpenRepos.

Sapphire

Sapphire is a nice app that will be of interest primarily to macOS users. Created by Dmitry Gerasimov (dseight) It allows you to preview on your phone designs created using the Sketch app on your desktop mac. Sketch can be used for prototyping UI designs, and Dmitry has even developed a Sailfish Design Kit for Sketch to allow prototyping of Silica user interfaces, including both light and dark ambience variants. The latest version of Sapphire has been updated to support Sailjail and is available from the Jolla Store.

Simple Tip Calculator

Tipping isn’t really a thing in Finland, but for those living further south (as I have done) that period between receiving a bill and deciding how much to add as a tip can be tooth-crushingly tense. There are so many factors to consider: was the service good? How much are other people tipping? Do I have any money in my account?What are the local customs? And crucially: what’s 15% of 24.80? Simple Tip Calculator won’t help you with the first four questions, but it’ll totally solve the last. Enter the amount and the locally acceptable tipping level and it’ll respond with the requisite tip and total amount to pay. Sorted! Simple Tip Calculator from Adel Noureddine (addoula) does the job nicely and is available from the Jolla Store and OpenRepos now with a new icon and updated links.

France Météo

Another app from Adel Noureddine (addoula), you’ll note that this is the second weather app that got an update this fortnight. This one pulling in data from Météo-France, and while the app is only available in French, the geographical area covered is far wider. France Météo takes a slightly different approach compared to MeteoSwiss. Instead of graphs it goes for a bold icon-oriented UI covering either 3-hour or daily periods projecting up to 15 days ahead. The app also makes good use of location data to automatically set your current location. The latest version has updated UI and support for Sailjail; you can grab yourself a copy from both the Jolla Store and OpenRepos.

Weight Tracker

We looked at Weight Tracker back in May of last year. There we noted that it was created by a team of students at Université de Pau et des Pays de l’Adour. Now maintained by Adel Noureddine (addoula), it’s been updated with new graphics, a vibrant new icon and Sailjail support. It still does an excellent job keeping a longitudinal record of the user’s weight and calculating BMI. It’s available from the Jolla Store and OpenRepos.

Jaksari

We also looked at Jaksari in a previous newsletter, also in May. Created by Timo Mäenpää (Aspor), it provides a periodic table of physical elements. As we noted back then, it rather nicely offers a variety of different colour codes to “help identify different characteristics of the various elements”. The latest version supports Sailjail and now also Chinese. It’s available from the Jolla Store and OpenRepos.

SeaPrint

SeaPrint was one of the first apps we covered in the newsletter, way back in February 2021. Another app from attah, SeaPrint hit the number eight spot in the Jolla Store upvote chart. It allows you to print various filetypes, including images and PDFs, directly from your phone to a networked printer. It’s exceptionally convenient. The latest version updates the French and German translations, improves the printing output for JPEGs and fixes page margins. The latest version is available from the Jolla Store, with a companion plugin available from OpenRepos.

Please feed us your news

We hope you enjoy this community news, which we’ll continue to refine over the coming months. 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 inlcuded.

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 28th April.

22 Likes

A good Thursday always start with a community news. Thank you @flypig and @dcaliste for all you work and of course all developers improving their project <3

6 Likes

Thanks @flypig and @dcaliste.
Just wanted to specify that France Météo (like Weight Tracker) was first developed as a university project by our students. Since then, I’m maintaining and updating it, but the first version is made by the students so kudos go for them :slight_smile:

5 Likes

Thanks for clarifying @orangecat. I thought that might be the case but wasn’t certain of the details, so good to have you confirm it. I’ll take not for future updates. And yes, nice work from your students.

1 Like

Wonderful to read this update. I have nothing to add except very positive thanks.

4 Likes

Out of curiosity. Will all this work to move the browser to the 78 gecko mean that further updates to the engine will be easier and take less time?

1 Like

What is now the recommended way to check e.g. display resolution or IMEI, now that qtsysteminfo is to be removed?

This is one of those questions which is unfortunately notoriously difficult to answer. In theory, every step forwards makes future steps easier, but in practice it depends on too many factors to say anything with any certainty. For example, it depends on the extent and type of changes made upstream by Mozilla.

In a perfect world jolla and mozilla would collaborate and have latest firefox available out of the box but we don’t live in one. :expressionless:

A good question. There may be other ways, so this isn’t necessarily a recommendation, but for these particular examples you could use nemo-qml-plugin-systemsettings for the IMEI numbers, and QScreen or the Screen QML type to get the display resolution.

We plan to make a separate post about the deprecated components with a bit more info in the future.

4 Likes

@flypig, you may want to rectify the first occurrence of pherjung's nickname, which is misspelled as perjang.

P.S.: Thank you for the excellently written “Sailfish Community News”, as always.

5 Likes

Thanks for flagging that @olf. An inexcusable, but at least now fixed, error (with apologies to pherjung).

2 Likes

Fantastic! Thank you!

3 Likes

Sailfish WebView is going to break a part of my weather app, as the Gecko engine can’t display the content I want to show. The “to be deprecated” SilicaWebView has no trouble at all displaying this content.
Oh well, I survived sailjail bugs (Contextkit not working when sailjail is activated) and am still living with with this bug Starting VPN clears contextkit key values in this app, so we will survive this one too.

Is this the “Access Denied” message on the 3 hour weather window of your nice WelkWeer weather app?

As far as I can tell, the site seems to set a cookie that causes it to block subsequent visits. Setting up the WebView to block cookies allowed it to work for me. I’ve submitted a PR to your repo with the changes (just as a starting point: you’ll probably want to refine it a bit).

3 Likes

Thanks for your swift response @flypig. The access denied was one of the problems and is only encountered with the Gecko engine. The second problem is absence of most of the content, leaving only a grey bar with the a title. I will put a response on github for that.

1 Like

An interesting read once again! Thank you for the mentions, and especially thanks for picking up the upgrade poll so quickly. It’s nice to be a part of a community where ideas and suggestions are heard :slight_smile:

5 Likes

This topic was automatically closed after 30 days. New replies are no longer allowed.