Sailfish Community News, 10th February, Sailfish SDK, PinePhone Pro

Subscribe to future posts here :bell:

Sailfish OS update from Jolla

We didn’t end up covering a great deal of news in the last few newsletters, so in this issue we’ll have a round up of both Jolla and community news.

There’s obviously much anticipation for the next release of Sailfish OS, as well as for support for the Xperia 10 III that was announced previously.

We covered the extensive testing process that Sailfish OS goes through before each release back in September. The latest release candidates started on this journey already some time ago, which — if you check the details — doesn’t necessarily mean a release is imminent, but it does mean that things are progressing. The first public information about the new release will be available once it goes out to Early Access users for the final stage of testing.

In a future newsletter I’d like to cover our release process in more detail, as I think this will also better help explain the timelines — and external signals — that happen with each release. But in the meantime the best information I can pass on is that the next release is continuing apace. Everyone involved at Jolla is putting a lot of work in to make sure it’s a release that gets to you as soon as possible, while still being of the highest possible quality.

Sailfish SDK 3.8 Early Access release

While we all anticipate the next Sailfish OS release, there are still other important releases happening in the meantime. Most notably the Sailfish SDK 3.8 has was released to Early Access subscribers this week. The Early Access stage is the last stage of testing before the updates go to the main repositories for all users, so unless any major issues are found, this should mean a fully public rollout in the next week or so.

It’s worth noting that the Early Access SDK is separate from the Early Access targets. The former allows you to test out new functionality in the IDE, whereas the latter is for providing early access to the Sailfish OS libraries to build against. You can subscribe to either of these separately, or both. While the Early Access releases are usually pretty stable, they’re not recommended for production environments. However, if you’d like to help iron out any remaining bugs, becoming an Early Access subscriber is easy. All you have to do is follow the instructions to switch from the default to the EA repository via the Settings option of the SDKMaintenanceTool.

The big changes in SDK 3.8 are better support with the Docker build engine for different Linux platforms, notably those with cgroup v2 such as Fedora. Note the caveat in the release notes about the fact that it isn’t heavily tested on distributions other than Ubuntu.

This latest version allows you to clone build targets. This is particularly nice if you want to create new targets with specific repositories enabled. As Jolla’s Martin Kampas (martyone) explains:

Snapshots are great for keeping targets clean from implicitly pulled in BuildRequires, but when some deeper or just more explicit derivation from the original build environment is needed (like changing ssu config or the repo list) one should use separate original targets. And here the clone command comes in handy as a more efficient alternative to installing new targets from tarballs.

When you deploy apps from the SDK to your phone, an SSH key is used to perform the transfer securely. This can be automatically set up by the SDK, but some users will have specific SSH keys already deployed that they want to use, and may have added client-side passwords to these keys for extra security. The latest version of the SDK now supports use of these passwords.

Finally, you can also now perform multiple builds simultaneously. This isn’t so useful when using the IDE, but is a particularly nice feature when using the sfdk command line interface. Even if you don’t usually run multiple builds simultaneously, it’s reassuring to know that if you do, nothing bad will happen.

These are just the headline changes. There are a whole host of other nice changes as well, all the details of which you can read in the release notes.

If you’ve not signed up for early access, fear not: if there are no blockers found in the next week, you will receive an automatic update through the Sailfish IDE when the full release goes public.

Xperia 10 III hardware adaptation

While we’re all awaiting the official Sailfish OS release, those interested in progress on the Xperia 10 III front will be pleased to hear that thanks to the work of Simonas Leleiva (sledges) and others at Jolla, the official instructions for building Sailfish OS for the Xperia 10 III, for use alongside the Hardware Adaptation Development Kit have been released to the Sailfish OS Documentation site.

This means that if you want to use Sailfish OS on your Xperia 10 III right now, while also helping to contribute to the process of getting it ready for release, then you can already do so.

From discussions on the forum it’s clear that many people have already bought their Xperia 10 III hardware in anticipation. However, while the instructions are very detailed and clear, they do currently require some understanding of the processes in order to get them to work. In particular, with both the build environment and adaptation source still in flux, they’re in the process of being updated to iron out some known glitches.

As Simonas explains, there is a nice opportunity here in case you want to help improve the Xperia 10 III build.

Those well versed in AOSP and/or SFOS HW adaptations can already start helping out with existing known issues (mentioned at the end of the instructions).

The important caveat always remains that anything like this is risky and may end up bricking your device. So please only try this if you either know what you’re doing, or are entirely comfortable with this possibility.

I’ve been trying the instructions out for myself over the last few days, and will let you know how I get on in a future post.

Your voice here

This is an auspicious release of the newsletter, since as we just hit issue 27, it represents our first full year of fortnightly news updates. Back in February 2021 we were just talking about the Sailfish OS 4.0.1 Koli release. A lot has changed since then.

We’ve covered many different topics, from Sailfish OS releases to the introduction of chum, and well over a hundred different app releases. And the best information always comes from the community, be it announcements of new software, or deep dives into different parts of the operating system.

And we’d love to hear more of your voices here in the future. If you have a burning desire (or even just an occasional itch!) to talk about something Sailfish OS related, then get in touch. We’re always happy to work with you to get the final text up to scratch, so don’t worry if English isn’t your first language or you don’t have time to get everything down perfectly. Even a list of bullet points is good information for us to build an article around. Please send me a private message if you’d like to give it a go.

Energy from the Community

Sailfish OS on the PinePhone Pro

We were very excited to see the first signs of Sailfish OS life on the PinePhone Pro, with Adam Pigg (piggz) demonstrating the lipstick launcher, including a bunch of installed apps, running on PINE64’s latest device. The device, which was announced last October but only started shipping out its first non-developer edition earlier this month, has all-round better specs than the PinePhone. That includes a faster processor (6 cores vs. 4), double the RAM, at least four times the storage, improved camera and so on.

As for Sailfish OS on the device, Adam had his first build running at the start of February but with minimal functionality. Since then he’s managed to get working Wifi, Bluetooth, audio output and the LED all working. So really showing great progress.

As we discussed in December, the PinePhone Sailfish OS port is by far the most popular device to run a third party port of Sailfish OS, so we’re very much looking forward to watching Adam’s work progress.

Let’s now take our usual look at four apps that were released or updated in the last fortnight.

WORDLE

It’s possible you’ve heard about WORDLE. Don’t tell anyone else about it. Just between you and me, I heard the original concept, developed by ex-Reddit engineer Josh Wardle to satisfy his partner’s puzzle cravings, was just acquired by The New York Times for a seven figure sum.

The WORDLE app, available on the Jolla Store and OpenRepos, is a new native implementaiton from Slava Monich (slava) which allows you to play the game on your phone.

Just in case you’ve not yet played it, the idea is to guess a five-letter word chosen at random by the app. You get a maximum of six attempts, each of which must be a legitimate word itself. After entering a try, each of the letters which are correct and in the correct position will be highlighted green. Correct letters in the wrong position are highlighted yellow. At each step you get a bit more information, hopefully enough information to be able to correctly guess the word within your remaining attempts.

It’s quite an addictive game. Slava’s implementation has some nice features, including the ability to use German, English, Finnish, Dutch or Russian dictionaries. There are some nice animations for opening the settings, and for when you get the correct word. And — possibly a benefit, possibly a drawback, depending on your perspective — unlike the original Web version, you’re not restricted to playing just one game per day.

One of the draws of the original game is also the collection of statistics: the proportion of games you’ve won and in how many attempts. This hasn’t yet been implemented on this version, but hopefully it’ll be something that Slava will consider adding in the future.

If you can’t get your fill of WORDLE from the web version, or prefer to play a native version, then this is a nice implementation, and a nice new addition to the Sailfish OS native app scene.

Ielig Image

Back in July last year we looked at Ielig Web, a browser for quick access to a few sites you might want to visit often. Ielig Image is an app from the same author hanswf, with a similar goal of providing a simple interface for displaying images.

Unlike the built-in Gallery app it doesn’t scan your phone for images, rather you must proactively add them either from a folder on your device, or downloaded from a URL. The former is great if you have lots of images haphazardly stored in a single folder, while the latter is a good way to download individual images. Unfortunately you can’t use the URL approach to download multiple images from a single site in one go.

Having packed a few images into the app you can create books for containing the images, although I found that I could in practice only rename the one “Start” book in the app.

The real benefit of the app however is for creating slideshows to allow other people to browse through a specific set of photos easily and in a constrained way. The constraints are intentional, so that the focus is kept on the photos. The user can still zoom in and out, and with enough distance up to three photos are shown on the screen at once. Essentially the current picture, along with the previous and next.

You can also create swipeable slideshows in the default Gallery app, but what you can’t do is constrain this slideshow to a specific set of images to show at a time.

If you find you’re often using your phone to show photos to other people, then Ielig Image will be a nice app to have available. The latest version adds SailJail support with a restricted set of permissions required.

Ielig mmHg

You won’t be surprised to hear that Ielig mmHg is an app from the same author — hanswf — as Ielig Image and Ielig Web. According to the author, ielig is a Low Saxon word that means fast.

And the mmHg part? That means "millimetres of mercury*, a measure of pressure (roughly the pressure exerted by a 1mm high column of mercury). And in the context of the app, it means you can store blood pressure values in the app for future reference.

By default the app is set up to store systolic, diastolic and pulse triples along with the time and date of their measurement, plus an optional comment. You can also set an item of data to be private in case you want it stored by the app, but omitted when the data is exported (there’s also an option to export private data as well if you want it to export everything).

Although it’s optimised for blood pressure data, you can in fact use it to store any quad-value entries against time, simply by changing the entry labels. There are some restrictions, in that the graph will always draw lines for the first two entries, and the units of these entries essentially have to be the same. But you could, for example, use it to record your maximum and minimum download speeds on a day, or anything else that fits into this template.

A little care is needed when editing data, since I found the edit dialogue would automatically set entries to as being private, which led to me losing a couple of entries unexpectedly when exporting the data. I found the interface flow, having to start by selecting the labels and units, a little confusing initially, but once I’d played around for it a bit things became clearer. Anyone using the app in earnest will soon find this is a simple way to keep track of blood pressure data over time.

The latest version of the app adds Magyar and Svenska translations, fixes some bugs, improves the graphing and provides SailJail support, including the migration of data to follow the updated SailJail requirements. It’s particularly nice to see that the author has kept the permission requirements right down to a minimum. Ielig mmHg is available from the Jolla Store.

Tiny Tiny RSS Reader

Tiny Tiny RSS Reader by Hauke Schade (cnlpete) is an app to plug in to your Tiny Tiny RSS server, if you have one, allowing you to quickly access and read all of your favourite aggregated sites in a quick and simple way.

The Tiny Tiny RSS server backend is an open source RSS/Atom aggregator that provides both a Web interface and an API. The app is using this API, and if you have the energy to set up and run the server backend, it’s great to be able to have all of your favourite RSS feeds set up and available simultaneously through both a Web interface and on your phone. It’s also great to be able to do this with an open source and self-hosted solution.

The app also has a long history, originating for Maego on the N9. There’s no compromise in the Sailfish version as a result, which makes good use of the Silica toolset to create a fluid and intuitive user experience. For something that’s billed as being tiny the app also provides a surprising variety of configuration options, from how posts are displayed and which view to open the app with, to the minimum TLS version to support. You can even set invisible images — widely used for tracking — to be automatically stripped, which is a really nice option.

As should be the way with an RSS readers, the interface for reading posts is minimal but functional, with inlined graphics, but missing the other cruft you’d have to suffer if viewing a website. There’s a neat toolbar along the bottom for moving between posts, and there’s also a nice combined view, allowing you to move through posts chronologically, combining all of your feeds into a single stream.

Some inlined images are shown in negative — a glitch that Tidings suffers from as well — although the original colours can be viewed by tapping the image to view it full screen.

Compared to other RSS readers on Sailfish OS, there are both benefits and drawbacks to Tiny Tiny RSS Reader. If you have the energy to run the backend, you’ll get a nice unified and consistent experience across devices. This isn’t an offline reader though: you’ll have to be online to drill down into posts or view images. It’s particularly configurable, has a clean reading view, and the combined stream is particularly nice.

The latest version improves the icons and adds SailJail support. As with Ielig mmHg it’s nice to see a minimal set of permissions. Tiny Tiny RSS reader is available from both the Jolla Store and OpenRepos.

Chum developments

Adam and rinigus have been continuing their work on sailfishos:chum, most notably with the release of a graphical installer app which has now reached version 0.4. The app provides a front end for the repositories, allowing apps to be installed from them far more easily.

We’ve covered chum in previous newsletters, so I won’t go into detail, but the key difference between Chum and OpenRepos, is that with OpenRepos package maintainers upload pre-built binary RPMs for users to install. In contrast, with chum, maintainers must provide their software in source form to be built on the servers. As the app explains:

When compared to software distribution via Jolla Store or OpenRepos, the software is compiled into RPMs in a reproducible way directly from the source.

The app itself behaves very similarly to the OpenRepos Storeman app, so if you’re familiar with that you’ll feel right at home.

At Jolla we’re wary of third part app repositories, since there can be little curation over the apps that are offered to users. In particular, apps that make use of unsupported or unstable APIs can work in one release of Sailfish OS, but then break in the next. Likewise, there can be little to prevent a repository containing apps that conflict with system apps. This can result in failed operating system upgrades that break your phone, and Jolla can do little about this: it’s the risk you take if you install apps from outside the Jolla Store.

Given this, we were very happy to see that in January chum introduced a new requirement on maintainers that their submissions shouldn’t conflict with any system packages. This reduces the likelihood that apps installed from chum will cause problems on your device. However, the onus falls to maintainers to honour this, and so while it may reduce the likelihood, it can’t eradicate it. It’s important as a user that you understand the risks you take when you use third-party repositories.

One further thing to bear in mind with chum is that it currently relies on use of the Jolla-run Community OBS. Jolla has committed to supporting OBS until May 2022. However, currently there is no commitment to continue the service beyond this date. This means that chum may need to find an alternative build process after this point.

Please feed us your news

This is a community update, and frankly we can’t always keep up with all the exciting stuff happening in the Sailfish community. Plus, the less of this we have to actually write ourselves the better. So please help us out by posting your Sailfish news updates to the forum as a reply to this post. We’ll collate as much of it as possible into one easily digestable post for the next update.

And don’t forget to join us at the community meeting every other Thursday on IRC. It’s a great place to discuss any of the content you see here, or to share your ideas for future updates. The next meeting will be on the 17th February, full details here.

16 Likes

Is there any kind of container based builder available, i.e. something where I plug in a couple of links and configuration directives, and get an image back? (Similar to the CI engines on Github/Lab, and the package builder on OBS?)
I.e. a possibility to build (or develop) hardware adaptations without having to have gigabytes of build environment and artifacts on a local machine?

1 Like

Not that I’m aware of. It may be a bit early for this given the build environment is changing daily, with potential for periodic breakage.

Also (not aimed at you @nephros but more generally to avoid any confusion) while input is always appreciated, as @sledges points out, at this stage this is best undertaken by users already well versed in AOSP/HW adaptation.

WORDLE

— instead of &mdahs;

I spotted some little misspelling :slight_smile:

Thank you for the Community News! It’s always a pleasure to read them.

3 Likes

Thank you for the corrections and the kind words! They errors should now be fixed, but please say if you spot anything else.

I don’t know why I get WORDL wrong… something just makes me feel it should be five letters.

1 Like

This means that chum may need to find an alternative build process after this point.

Hum, trying to do it the same way as, e.g. bioconda with Github actions?

About WORDLE, there’s also Hungarian and Swedish dictionaries.

1 Like

Some ideas have been discussed in the original “OBS shutdown” thread.

But OBS has certain features that are very hard to replace in any feasible way by other tools.

There was a discussion regarding OBS replacement options when Jolla shut it down (or was shutting it down) the last time, about a year and bit more ago. If I remember correctly, the aftermath was that we didn’t find any at that time (OBS is combination of building and distribution of RPMs), some developers left as they had enough of it and preferred to work on some open source platforms.

Lets see what will be the decision this time and whether we get OBS now confirmed as a cornerstone of SailfishOS development experience or it will shutdown this time.

Well, one thing Jolla can do about this is keep OBS, and hence chum, afloat because it clearly helps avoiding the problems stated.

4 Likes

:face_with_monocle:    

I missed it, but for some reason there only seem to be armv7hl and i486 versions of WORDLE on the Jolla Store right now. If you want the aarch64 version, you’ll have to go to OpenRepos or Chum.

1 Like

I’m already hooked since 1.0. :slight_smile:

Hmm, didn’t think store would accept that…
There was some kerfuffle about aarch64 builds hiding apps from old versions of SFOS, but i thought i debunked that… i’ll try and figure out what i missed.

1 Like

@flypig thanks for the newsletter! Great reading for Saturday coffee. Just one correction, next community meeting will be 17th, right?

Thank you and well spotted… proves you read thoroughly all the way to the end! It should be fixed now, and enjoy you coffee if you still have some.

Ditto. Although Sunday morning coffee works almost as well!

Thanks @flypig !

1 Like

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