The big announcement from Jolla this fortnight is the release of Sailfish OS 220.127.116.11 with support for what Microsoft refers to as “Modern Authentication” in the Exchange plugin. We’ll take a look at the changes in the newsletter today. The community also has a busy month ahead, since it seems to be the month of Meetober… Octoberfish… Moctober… okay, I’m no good at these names. There are at least three separate Sailfish events happening in different cities across Europe this October, and we’re excited to talk more about them below. If you prefer the comfort of your own sofa, but still want to stay up-to-date on all the interesting changes that are going into the Sailfish OS codebase for future releases, check out the Repository Roundup from Damien Caliste (dcaliste) below. After that we finish off with a look at some of the nice app updates that have gone in to the Jolla Store. As always, we hope you enjoy the newsletter.
With any luck you’ll already have received your notification to upgrade your phone to Sailfish OS Vanha Rauma version 18.104.22.168, which went out to all of our officially supported devices last Friday.
This is a point release update from Vanha Rauma 22.214.171.124, so the changes are relatively small compared to our usual updates. Nevertheless we’re certain it’ll offer welcome improvements for many users.
The headline change is the introduction of a new “Microsoft 365” account type, to complement the pre-existing “Microsoft Exchange” account. The new account type uses what Microsoft refer to as “Modern Authentication”, but which the rest of the world calls “OAuth2”.
The important difference between the classic password-based approach and the new OAuth2 approach is that you no longer have to store your password on the phone. Previously, when the Exchange client on your phone contacted the Exchange service on the Internet, it would send your username and password in order to authenticate. This was encrypted of course, so randome eavesdroppers couldn’t listen in to get your password.
But OAuth2 goes a step further: when you set it up you enter your username and password into Microsoft’s Web portal, which then sends a special token back to your phone (it looks like a sequence of random letters and numbers). When your phone wants to access the service in future, it uses this token instead.
There are several benefits to this: there’s no need to store your password on your phone and you can revoke access using the token from the Website in case you lose your phone say. The token also has fewer permissions than your password (having the password is a little like having root access to your account), so the consequences of losing it are not as serious (but are still serious, so you still need to keep it secret).
The biggest and most important difference for most users, however, is that Microsoft is blocking access to accounts using username and password authentication, so a switch to using OAuth2 may be necessary in order to continue using your account.
Tomi Leppänen (tomin), software engineer at Jolla, led the work on the new Exchange account changes. We had a short Q&A with him during the last community meeting, during which he shared some nice insights into what’s changed.
We have been improving our OAuth2 support in general, adding a new account type that supports Exchange ActiveSync with Modern Authentication, and enhancing Exchange support to handle tokens instead of usernames and passwords.
There are many different Exchange servers and configurations in the wild. We’ve been able to test only on a limited number of them. Thus it’s important that people give us feedback on accounts that they try. Exchange with personal accounts, for example Outlook.com email, is something which won’t work yet.
We are working on that still, and hopefully it can be supported in a future release. The “Microsoft Exchange” type account will continue working until Microsoft disables Basic authentication.
So what do you actually need to do after your upgrade to get the new account working? If you use Exchange with a work or school account you’ll need to recreate your Exchange account, using this process as explained by Tomi:
It is important that you delete the previous “Microsoft Exchange” account and create “Microsoft 365” account. If you are using “Microsoft Exchange” with a server from some other party than Microsoft, they may keep Basic authentication on and you don’t need to do anything.
The Exchange authentication improvements aren’t the only change in this release though. You’ll also enjoy a number of improvements to the web browser, and to the telephony stack. There are some small user interface improvements for the browser, such as the ability to copy the URL of the current site just by long-pressing the URL in the toolbar, as well as several website compatibility improvements. VoLTE registration and call forwarding have also been improved.
As always, we really hope you enjoy the changes and continue to enjoy using Sailfish OS. Keep an eye on Damien’s Repository Roundup below if you want to get an idea about what might possibly be heading in to future releases.
Once again, we’d like to thank Kees van Niftrik for his wonderful photo of Vanha Rauma.
Somehow October seems to be the month to arrange Sailfish meetups. We approve of them whatever time of year they happen of course, but we’re really pleased to be able to report on such an exciting collection of events this fortnight. Some of these we’ve mentioned in previous newsletters, but are now close enough to deserve another mention. We hope as many of you as possible will be able to attend.
We hope to cover some of these events in future newsletters. So please send us your photos, anecdotes, gossip and pull requests (you never know) to share with the rest of the community.
First up on 8th October is the community meetup in Vienna, Austria. Organised by Peter Gantner (nephros).
The event will take place at 15:00 (GMT+2) at metalab, a hackspace that describes itself as being “an open center for people who do creative things with technology”. The event will start at the hackerspace at Rathausstraße 6, 1010 Wien, where the plan, according to nephros is to:
chat a bit among each other and with the metalab hackerspace people, and then head off somewhere for food and drinks and some more chatting and general enjoyment.
A table has already been booked at Charlie Ps Irish Pub for later in the evening for the food and drinks.
One of the topics of discussion at the event will be the Sailfish Collective that is being plotted elswhere on the forum, and which we also hope to report on in a future newsletter. Clearly it will be a very enjoyable event, with some lively discussion and even some planning action!
The Sailfish User Group Bremen has run a series of events in the past, which had to pause for a period due to Covid, but which has since reinvigorated itself again with an upcoming event due to take place on 17th October in Bremen, Germany.
Activities will start at 19:30 (GMT+2) at Almaz, Vegesacker Str. 19, 28217 Bremen (Walle). As hanswf explains, the topics covered are quite broad:
Our meetings are a lively exchange of like-minded people. Mostly we are discussing technical and other trends. And sometimes we try to fix one of the normal issues of Sailfish.
It sounds like a great group to be involved with. And because the group runs a regular timetable, if you can’t make it to the next event, it won’t be too long before you have another opportunity.
We are a really mixed group discussing really mixed topics. There is no planned agenda for our “Stammtisch”. We talk about all the real life problems created by Sailfish and all the other technologies. Also we talk about some of the hot topics of daily life here in Bremen. The meetings are held every 2 months.
We look forward to hearing more about the upcoming event in the future!
We first reported on this event back in July, billing it as a meetup in Switzerland aimed at French-speaking Sailfish OS users. Organised by Patrick Hervieux (pherjung), the event will take place at the FIXME Hackerspace in Lausanne, Switzerland on the 22nd October, starting at 14:00 (GMT+2).
The event has grown a little since we last reported on it, so that it now encompasses not just Sailflish OS, but mobile privacy more generally. As Patrick explains:
We decided to modify the event a bit and speak about privacy specifically on your phone. Each event will have two conferences. One about privacy and other one about the presented a Mobile OS.
The first event will welcome Ruben de Smet (rubdos), who you’ll recognise as one of the main developers of the Whisperfish Signal client, and Andrew Branson (abranson), a software engineer at Jolla and active contributor to the community. Ruben will give a talk about privacy-engineering technologies, while Andrew will give a tour of Sailfish OS and the Sailfish ecosystem.
It sounds like it’s going to be a fantastic and fascinating event and we look forward to reporting back about it in a future edition.
Many “old” pull requests were now merged in, confirming work on multimedia and more generally on keeping the OS up-to-date with various upstream projects. But this time, I would like to address a special mention to atlochowski who updated numerous mobile providers worldwide, making the life easier for many of us who are not very fluent with
MCC and want their mobile data to just work.
pulseaudio, the sound daemon and much more, mal’s pull request to allow Meson as a build system on Sailfish OS has been accepted. It is based on two upstream commits and two adjusting changes for Sailfish OS peculiarities. This has also been done for side repositories:
gstreamer, a multimedia framework, mal upgraded to the latest upstream version 1.20.3 (from version 1.18.5).
ffmpeg, a framework to encode and decode multimedia resources, mal’s work is now merged and
ffmpeghas been moved to the latest upstream version 5.1.1.
droidmedia, Android media wrapper library, mal is now exposing the AV1 decoder from Android version 10. elros34 added support for the
AudioSessionInfostructure if it is present in the audio policy service file.
gst-droid, plugin for GStreamer allowing to use hardware accelerated codecs, mal is exposing the AV1 decoder to GStreamer, disabled by default.
bluez5, the Linux Bluetooth stack, the upgrade to version 5.65 is now accepted and is replacing the current version 5.63, thanks to mal’s work.
kf5bluezqt, the KDE framework handling Bluetooth, krnlyng added a patch to allow to select the
KeyboardDisplaycapability. This is another possibility offered by the Bluetooth manager when pairing a device, see for instance this documentation.
ofono, the telephony library, slava reviewed the pull request from Flohack74 who was proposing a patch to raise the current hard-coded limit of 999 cell broadcast channels. mal continued working on adding support in a working branch for the NR technology.
liqofonoext, a library for accessing Sailfish OS specific ofono extensions, mal is also doing the same for the Qt bindings.
mobile-broadband-provider-info, the database of access point configurations, atlochowski updated a lot of provider access points and other mobile data parameters:
sailfish-browser, the browser application itself, rainemak made it clear on the readme that the Forum is the best place to ask questions to maintainers. Following a discussion on the necessity to export the URL encoded to clipboard, nephros is proposing a pull request to avoid invalid URLs after pasting.
buteo-sync-plugin-carddav, the plugin used by the synchronisation framework to sync contacts via the CardDAV protocol, nephros pushed to his work adding “X-SIP” and “X-JABBER” properties in the exchange so they can be synced and appear in the people application.
signon-plugin-oauth2, a plugin to handle OAuth2 protocol, tomin1 completed the patch to allow Outlook to work besides OneDrive.
busybox, a single binary which includes versions of a large number of system commands, direc85 proposition to both print Unicode characters in e.g.
lsoutput, and render them correctly in command input, e.g.
cpfilenames, has been merged. See this forum thread for more context and discussion.
glib2, the Glib library from GTK / Gnome, mal has updated
glib2from 2.66.2 (from October 2020) to 2.72.3.
udisks2, the udisks daemon serves as an interface to system block devices, mal added a missing build dependency on
libdsme, a library for DSME, the device state management entity, jmlich found a use after free case thanks to recent gcc
-Wuse-after-freecompilation flag and after review and a bit of tuning his solution has been accepted.
rust, the Rust programming language compiler, the pull request from lbt to allow the
prjconffile used by OBS to be used to disable builds for particular architectures is now merged.
nano, the nano text editor, pvuorela updated it to 6.4 from 2.8.5.
ncurses, the library to use terminals, pvuorela updated it to 6.3 from 6.1.
util-linux, a collection of basic system utilities, pvuorela upgraded it to 2.38.1. Some packaging has been tuned also, like
cfdiskbeing moved to its own package to avoid pulling a dependency on
ncurses. The documentation is not generated anymore since it depends on various ruby gems that are not available at the moment.
sailfish-qtcreator, the Qt IDE, martyone modified the documentation to mention the snapshot possibility with
sfdkto avoid modifying the targets when not desired with build results.
kf5bluezqt, the KDE framework handling Bluetooth, in the process of allowing this BT library in Harbour, vige’s work now enables to package the documentation.
cppqml-sample, an example of code linking C++ and QML, rainemak cleaned up the packaging and the license declaration.
docs.sailfishos.org, the documentation website sources, various changes happened:
- vige added RPM commands.
- rainemak removed references to WebKit for HTML rendering, like in email application.
- jovirkku created a new page listing current OS issues.
- vige created a new “Support” category.
vige added a new page on how to build packages with
mb2and completed it with further instructions on targets.
- vige distinguished in the documentation the platform SDK and the application SDK.
- dcaliste updated the description of the calendar stack.
martyone cleanup various documentation to avoid various mentions of
- vige added a description of the touch event chain.
- vige fixed many broken link mentions from the wiki import.
- jpwalden started importing a Zen Desk article on how to install Sailfish OS, and jovirkku continued with several other articles.
We have a lovely selection of apps for you again this fortnight, both newly released and new updates. It’s gratifying to see the energy and commitment that Sailfish developers continue to put into their apps. This fortnight we have a mixture of the frivolous, practical and spiritual. But something that unites all these apps is the way they shine with gorgeous and thoughtful Sailfish user interfaces that make them a joy to use.
Flood to Java from Thilo Kogge (thigg) has taken a while to make it into the Jolla Store (through no fault of thigg) since we covered it’s development in August. I’m really pleased that it’s now finally available for everyone to try out, including some nice improvements since we last talked about it.
The app itself is a simple but relaxing game about filling the square board with blocks of the same colour. At each turn you — the intrepid player — selects one of the colours from up to four available. The top left hand block changes to that colour, as do all of the blocks that were the same colour as it before the change. This way the colour “floods” out from the corner, picking up any touching blocks of the same colour as it goes.
Each step the flood of colours gets a little larger, until eventually the entire board is a single colour, which signals the end of the game.
Your score increases by the square of the number of blocks you convert at each step. So convert just one to score 1, convert two to score 4, three to score 9 and so on. If you’re able to tactically line up a large flood in a single move, you’ll be into the big scores.
If you just want to enjoy the app is a game then that’s great, but personally I also gain gratification from knowing that it’s a Java app that’s nevertheless been compiled for use on Sailfish OS without the need to run it in the JVM. It’s very neat technology.
The latest version includes a very nice competitive two-player mode, with players sitting on different sides of the phone and taking it in turns to select a colour.
The initial version 0.1 release is available in both the Jolla Store and on OpenRepos.
OSM Scout from Lukas Karas (karry) is a very capable native mapping app for Sailfish OS that allows both online and offline map navigation. As the initials of the app imply, it makes use of OpenStreetMap which might be considered the mapping equivalent of Wikipedia, since it collects mapping and location info through community croud-sourcing.
The results from both the maps and the app are excellent. Scrolling is smooth, the interface is clean (it helpfully keeps out of the way most of the time, so most of what you see is the map). Searching can be done by either placename or through one of the 18 pre-selected categories (e.g. “Cafe” or “Charging station”), each with their own very neat icons.
Offline routing works incredibly well, with travel by car, bike or on foot all as available options. The elevation profile is especially nice if you’re planning to cycle.
It’s very hard to do justice to an app like OSM Scout in such a short space, it has such a breadth of excellent features. Sailfish OS is blessed with a number of excellent native mapping apps, and this is definitely one that you should consider, especially (but not uniquely) if you’re a cyclist or want to track your journeys.
Prayer Book from zuyev offers an Orthodox Christian prayer book and calendar, with support for Russian, English and Bulgarian. Select one doesn’t just update the user interface to work with the chosen language, but also the prayers that are offered.
Although I don’t have the religious knowledge to pass judgement on the prayers themselves, I’ll happily do this for the app design. And what strikes me is the very careful attention to detail and clear passion that zuyev puts into its development. Prayers are clearly formatted, often contain illustrative images, and are also very carefully categorised. On top of that, it’s also one of the most frequently updated apps that we’ve covered in the newsletter. All in all, it’s a very impressive app that will no doubt be of benefit to anyone who follows the Orthodox Christian faith.
The app has now reached version 5.4.6 with the last few updates having added various prayers and items to the religious calendar, such as the lives of saints. It’s available from both the Jolla Store and OpenRepos.
Like Flood to Java, Yatzy from rgrnetalk is a one- or two-player turn-based game that mixes strategy with chance.
The player rolls the five dice by hitting the appropriately named “Roll” button. A nice animation ensures, but as soon as the dice have settled you have to engage your brain. The user can choose to “spend” the dice in their roll to complete one of the 16 poker-like formations: three of a kind, four of a kind, straight, house, etc. Each formation can only be used once, and the score you receive each time is made from the sum of the dice that make up the formation. So try to make your “Three of a kind” out of sixes and not ones if you want the big scores.
Each turn you get to roll the dice three times (you can select just a subset of the dice to roll), after which you’re forced to choose. There are real choices to be made: are you going to select the middle-scoring pair of threes, or throw again and risk having to assign a score of zero to one of the entries.
The latest version fixes a bug that allowed you to roll the dice even if they were all held, but note that performing the update will also clear all of the high scores.
The latest version 0.7-3 is available only from the Jolla Store, and is a great app, especially if you have a super-competitive opponent to play against!
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 13th October.