Subscribe to future posts here
Sailfish OS update from Jolla
The big news from Jolla this fortnight is the release of Sailfish OS 4.4.0.68, which went out for over-the-air download to all users yesterday. The update will be of particular interest to Xperia 10 II users, but don’t worry if you’ve upgraded to an Xperia 10 III, or are running Sailfish OS on an older device, as there’s update goodness here for you too.
The update bumps “Vanha Rauma” up from 4.4.0.64 to 4.4.0.68. So what does that extra 0.0.0.04 bring? The headline improvement is the introduction of VoLTE support for Xperia 10 II devices. It was always our hope to be able to provide VoLTE support for both the Xperia 10 II and Xperia 10 III, so we’re fantastically pleased to be able to deliver on this.
VoLTE support remains beta, but the feedback we’ve received so far has been really positive. To make it easier for more users to test out the feature on both the Xperia 10 II and the Xperia 10 III, we’ve added an option to Settings to allow it to be easily enabled and disabled. You’ll find a toggle switch on the Mobile network page.
VoLTE support on the Xperia 10 II is a different implementation from the Xperia 10 III, and in particular different devices have different Provider configurations installed by default.
As such, providers that work on the Xperia 10 III may not initially be working on the Xperia 10 II and vice versa. If you find this is the case for your provider, please share your results. In the coming days we’ll also share information about how you can help to test and update configurations on the Xperia 10 II so that we can get it working with as many providers as possible.
The support you — our amazing community — have shown in sharing and recording your experiences with VoLTE on the Xperia 10 III has given us a huge boost, and allowed us to make further improvements to the implementation. Improvements you’ll also find in the Sailfish OS 4.4.0.68 release. We encourage you to show the same amazing energy by sharing your experiences with the Xperia 10 II as well.
Alongside these general improvements to VoLTE, there are also other important fixes that will improve the stability of mobile data in combination with VoLTE, plus improvements to handover when used in combination with WLAN networks. We know these are important fixes for you, and our aim is to continue on this path of improving VoLTE.
We’ve taken the opportunity to roll out some browser and WebView improvements to all devices. Some browser preferences — such as the pixel ratio that allows you to control the default page scaling — are now persistent rather than being forcefully set on each run. The Google search provider has been updated, and a number of browser and website bugs have been squashed. We also move closer to our goal of removing QtWebKit by moving the account OAuth pages in the Settings app over to using the new Gecko WebView.
Check out all of the changes in the Sailfish OS “Vanha Rauma” 4.4.0.68 release notes. And thanks go once again to Kees van Niftrik for allowing us to use his beautiful photo of Vanha Rauma.
As we continue on our path to providing the best mobile operating system, with security, privacy and control at its heart, we hope you’ll agree this update brings an even better Sailfish OS experience to your device.
Energy from the Community
It’s an exciting time right now, not just with the new Sailfish OS release, but also with all the fantastic developments driven by the community as well. We have a number to share with you today, including news about the next Francophone meetup, and a follow-up to the Whisperfish hackathon we reported on previously. What were the results of this week-long intensive coding session? Read on to find out.
Francophonie meetup
There have been a number of successful “Francophonie meetups” that we’ve had the pleasure to report on in previous newsletters. While previous events have been organised by Nico Cartron (ncartron) and took place in or around Paris, organisation for the next meetup has been entrusted to Patrick (pherjung), who many around these parts will know as an enthusiastic supporter of Sailfish OS and a fanatical bug tracker.
I caught up with Patrick to find out a little more about the French Meetups. Patrick describes himself as “a former sysadmin driving trains at the Swiss Federal Railways” who “loves biking” but “doesn’t like SUVs and cars in the cities”. When not spending his time tracking and testing bugs, Patrick can be found reading good graphic novels.
Patrick explains that the next meetup will be in October in Lausanne, Switzerland, but the date isn’t quite set (if you think you might join, add your vote to the poll at the end). So who would Patrick like to see at the meeting?
Each Linux enthusiast. Doesn’t matter if he speaks French or not and other Sailfish users of course. German, English and French languages are welcome.
Patrick and the team have some nice plans for the forthcoming meetup, but also for future events too. They plan to…
…meet together, help everyone if needed and ideally install Sailfish if someone wants to test or adopt it; we’ll speculate about new functionalities. Perhaps do something more serious and why not prepare the over-next meeting with something even greater (like a Hackathon or something similar).
His hope is that they’ll be able to build on the success of the previous French Sailfish meetings.
[The last meeting] was amazing! Really cool to meet some people you see behind pseudos. Discuss about Sailfish, Linux and other stuff. With a good beer of course.
The venue for the next event will be the FIXME hacker space. Patrick is certain that a hacker space, and FIXME in particular, is the ideal venue to encourage an energetic and friendly atmosphere for the meetup.
Actually, I discovered Hackerspaces thanks to Meego Harmattan and thp’s work and each time I move to a city I visit the local Hackerspace. I thought FIXME is the best local to meet together.
Patrick already has a nice roster of support for the meetup, with people planning to travel from across Europe, including at least one Jolla sailor. Patrick also has his own preferences for the date.
I prefer 1st or 22nd October (last one is the most chosen one so far)… the first and last choice is the safest (for me at least).
If you think you might also like to join, select your preferred date in the poll below, and we look forward to sharing news from the event in a future newsletter.
- Saturday 1st October
- Saturday 8th October
- Saturday 15th October
- Saturday 22nd October
0 voters
Whisperfish beta.10
Last month we were excited to hear about the extraordinary Whisperfish Hackathon, that saw Ruben De Smet (rubdos) and Matti Viljanen (direc85) meet together to spend a week intensively hacking on Whisperfish, the native Signal client for Sailfish OS.
The results of all this incredible work were announced by the team on the forum just a couple of days ago, so we got in touch with them to find out a little bit more about Whisperfish, Signal, and all the latest updates to the app.
We started off by talking about why Whisperfish and Signal are important for Sailfish OS. Ruben sees it from the broader perspective of private communications.
Signal is important because it pioneered the meaning of private messaging, and it continues to do so. I wrote about that on my blog. 90% of what Signal has in terms of privacy tech is not yet in Whisperfish, but the beta.10 release does pave a big part of the road.
But he also has a more personal motivation for channelling his time and effort into Whisperfish.
To me, Signal is what WhatsApp is to many people: staying in touch with family and friends in a very user-friendly way. For some reason, I managed to get a big part of my family to use Signal too. Signal is different to other privacy tech applications in this regard. Anyone can use it, and it’s not any more difficult at all than the non-privacy tech counterparts.
Matti also sees Whisperfish as a way of bringing secure communications to a wider audience, and a Sailfish audience in particular.
Possibly the biggest reason for me to put so much effort in Whisperfish is helping to make Signal messaging available to all Sailfish users, even if they can’t (or don’t want to) install Android app support. Having access to private messaging networks should not be tied to selected platforms only!
The other side of that coin is that I see Whisperfish as a demonstration of what a native third-party Sailfish application can accomplish: It has a rich set of features, polished UI, it’s technically advanced, it’s genuinely useful for everyday users, and much more! I hope Whisperfish motivates developers to create awesome applications as much as it motivates me!
Ruben also sees his work on Whisperfish as a more practical way of applying some of his own expert knowledge in the area of privacy engineering.
To me, Whisperfish itself is about having something practical to contribute to the world. Granted, it’s not as practical as Signal Android, and “to the world” should probably read “to the Sailfish OS community”, but it still feels great to do. For some context: my day job is a PhD about privacy engineering of peer-to-peer online social networks. The things I do there are way less tangible than Whisperfish.
There’s also a whole “political” story behind Whisperfish that is fascinating to me. The way that Signal LLC originally did never allow third party clients, and then the way these dynamics with Signal changed.
All of the effort the two of them put in during their week of hacking has borne some very tasty fruit. Some of the new features include a more functional and much more attractive new cover page, improved typing indicator support, a more streamlined and less confusing registration process, support for showing multiple attachments, Emoji 14 support, and a host of UI improvements and bug fixes. “The hackathon was a great success” says Matti, “and the numbers show that!”
The different “development standpoints” we have — Ruben is a privacy researcher, I’m an all-around software engineer — has proven to be a valuable asset many times already! Ruben and I naturally focus on different aspects of the project, so the overlap is pretty much non-existent. Needless to say, I’m more than pleased with the progress we made during the hackathon and I’m looking forward to get feedback about beta.10!
I believe the single biggest issue we fixed was the registration, which was broken for several months! First there were some technical challenges with regards to
sqlcipher
andmozembedded
. Once we figured out a way around that, the reCAPTCHA page framescript we used turned out to be outdated and defective. The original creator of it, Gabriel Margiani, updated the script once again, and after some minor touch-up new Whisperfish users could once again complete registration! The feature simply would not have been completed without the help of Gabriel!
Ruben continues.
The intent was for me to resolve the technical debt that we gathered, to pave the path to the “new” privacy features. Matti managed to add quite a lot of real features. Most of it happened during the hackathon, June 13 through June 17. Some of it happened the weekend after it.
It was really cool to have a some days dedicated to hacking on Whisperfish, especially when you are two people sitting together in an office. The diff stat doesn’t lie: 127 files changed, 11794 insertions, 5464 deletions since the previous version, of which 120 files changed, 8345 insertions, 4030 deletions during the hackathon (and the rest dropping in until today).
While the numbers paint a picture of rapid development and multiple improvements, for end users the proof of the pudding will be in the eating. These latest changes are already available on OpenRepos, and the team have gone to some pains to ensure all users can access it, with versions both for the latest Sailfish OS, as well as for earlier veresions. You’ll also find there the Whisperfish share plugin for both recent and older releases, which allows sharing of images from other apps directly to your Whisperfish contacts.
Although the latest release brings Whisperfish to version 10, it still hasn’t lost its “beta” moniker. So what can we expect of future releases as we head towards the first full release? Ruben’s take:
For me, personally, it’s integrating all the fancy privacy features. Sealed sending is a big one, which drastically improves privacy with respect to Signal’s infra. The same can be said about offline group update processing, and there’s a lot more groupv2 work to be done.
There’s also more immediate work to be done on profiles (which will fix several issues and keep the code base up-to-date with upstream Signal). At a certain point, I might also tackle the multi-platform requests. If we can have Whisperfish running on other Linux-based operating systems, this might attract more developers. Currently, this is a bit of a catch 22: people come in who want to port it, drop the work half way (it’s quite some effort needed!), and as such it doesn’t get updated, so it doesn’t attract people to maintain it.
It clearly takes a certain sort of developer to stick it out with a complex piece of software like Whisperfish. Matti, who joined the team after Ruben’s initial work on switching the software from Go to Rust, is a case in point. While Ruben focuses on the underlying privacy capabilities, Matti has his focus closer to the front end.
As much as I’m a technical guy, I also enjoy a polished UI and a nice set of features. I’ll keep my eye especially on “the user side” of the application, and will pick up any issue I can. My Rust skills are rather embarrassing, so unfortunately I can’t help that much with, for example, protocol work, but I’m eager to test and debug any feature-in-development. I have a spare SIM card dedicated just for that, along with a spare phone or two. I also still have the original Jolla Phone, and I find it both incredible and hilarious that we have managed to keep Whisperfish running on the device to this day!
Another major “user-visible” feature was adding camera support in-application. The first version was merged before the hackathon, but was only released with beta.10 today. In addition to sending pictures more conveniently, it also stores them separately so they are not visible in, say, Gallery or Android applications. As such it turned out to be a privacy feature, too! Developing the camera features further is certainly on my to-do list.
As a Sailfish OS app Whisperfish has been a real success story. Not only has the team managed to pump out regular updates, it’s also gained a very strong user following, with solid software development underpinnings using continuous integration on GitLab, an active Matrix channel, and one of the most focused and long-running threads on the forum.
If you’d like to have a first-hand discussion with Ruben about Sailfish, then it’s another reason to add your vote to the Francophonie meetup poll below.
We’ve heard some talk about people in Switzerland, organizing a French-speaking Sailfish OS meet-up, where maybe I’d be able to go and work a bit more. I’ll polish my French.
Student projects
To round up this section we’d like to highlight a thread instigated by Dr Adel Noureddine (orangecat), where he asks:
do you have any ideas of an application that I can use as a basis for the course project?
Dr Noureddine has been using Sailfish OS as part of his software development course for several years now, with several of the apps created as a result — such as Weight Tracker and France Météo — making it into OpenRepos.
But while in previous years different teams of students have developed for different platforms (primarily Android and Sailfish OS), this year he’s thinking of focusing the students entirely on the Sailfish OS platform.
I’m thinking for this year to develop one project on one platform (for example SFOS) but with multiple student groups. Mainly, I’ll play the role of a manager, and each team will design/model/develop a part of the project.
This is a great way for the students to learn more diverse software engineering skills, while letting students loose on the Sailfish SDK is also a great way to stress test the tools.
So if you have an idea for a potential app that could be the focus of the work, add your ideas to the forum thread. Having an exciting app idea will be key to engaging the students, but it’s also important to be realistic about what to expect, as Dr Noureddine explains.
Please keep in mind this is a teaching module and the project needs to be adapted to the student’s level and to the course objectives.
This is an undergraduate course (3rd year bachelor degree), so expectations should be realistic. And students never saw C++ or Sailfish OS, but they know Javascript and they had courses on Android and iOS.
We looki forward to seeing the results, not just of all the amazing app suggestions that we know are out there in the community, but also of the end result of the development work from the students themselves. We’ll be sure to follow up and report on the results in a future newsletter.
Repository roundup
In continuation of our last roundup, a lot of repositories (several tens) have seen the creation of a new upgrade-4.4.0
branch. This has often been used to backport fixes from the development branch to a given Sailfish OS version, precluding (or not) a hot fix release like the 4.4.0.64 that happened a bit after 4.4.0.58 was out. A majority of these new branches have received a simple submodule URL change, but some has actually seen a backport commit like connman
repo for instance.
Multimedia
-
ffmpeg
, a framework to encode and decode multimedia resources, following a forum question and a discussion during a community meeting, abranson enabled the compilation for support of ALAC codec.
Packaging
-
ssu
, the seamless software updater, abranson’s pull request to ensure that user-added repositories will not override system ones has been merged in.
Telephony stack
-
ofono
, the telephony framework, Flohack74 is proposing a patch to raise the current hard-coded limit of 999 cell broadcast channels. Channels with higher numbers can actually be in use, like 4384 for emergency alerts in Taiwan for instance. -
libcommhistory
, the library to access SMS/phone history, thaodan partially reverted a previous change to restore old notification categories still used by some applications.
Network stack
-
connman
, the connection manager, LaakkonenJussi’s work on better support for traffic routing changes has been merged and also backported to aupgrade-4.4.0
branch.
Audio stack
-
ohm-plugins-misc
, some plugins inherited from Nokia for the open hardware manager (OHM), jusa fixed an issue with initial audio routing being undefined before a route is set.
QML bindings
-
libconnman-qt
, QML bindings for the connection manager, herrie82 upgraded the source code base to be able to compile with Qt6 and the patch was merged. -
nemo-qml-plugin-dbus
, QML bindings for DBus, pvuorela is proposing an alternative to the pull request initiated by herrie82 which adapts the code for more recent versions of Qt.
Calendar stack
-
nemo-qml-plugin-calendar
, the QML for calendar access, dcaliste’s proposed change in the importation logic to allow organisers to be discarded has been accepted. With the patch, imported event can drop attendees. -
mkcal
, storage backend using SQLite for calendar entries, the change in alarm handling for recurring events, fixing duplicated alarms for exceptions by dcaliste has been merged, with a quick follow-up to fix a mistake in the original patch.
User interface
-
user-managerd
, daemon for handling Sailfish OS device users, martyone is proposing some corrections for the documentation. -
qtscenegraph-adaptation
, , krnlyng fixed the issue investigated on the forum by poetaster where images are rendered with a bluish tint.
Browser stack
-
sailfish-browser
, the browser application itself, rainemak commented on dcaliste’s pull request to introduce a long-tap in the tab list view for house-keeping actions such as tab deletion. mikaela opened a feature request to discuss possible support for progressive web applications (PWAs). Notice that PWAs are only fully supported by Chromium at the moment with partial support for Firefox on Android but not on desktop.
Software engineering
-
libgrilio
, a GLib-based library to interface with RIL, slava fixed a parallel build issue caused by incorrect dependencies in theMakefile
.
SDK, documentation and developer tools
-
sdk-setup
, scripts, configurations and utilities to build the Sailfish OS SDK, vigejolla got a patch merged to useprofile.d/
scripts to customize Bash in SDK. martyone created two pull requests to polish bash completion handling in the SDK, one to automatically load bash completion and one to drop deprecated completions formb2
andsdk-assistant
. martyone also updatedsdk-manage
to use tarball metadata to look up tooling. -
sb2-config
, scratchbox2 crosscompiling environment, martyone pushed two commits so that sb2-config can list targets without one being specified, and also one commit to properly find the default target from$HOME/.scratchbox2/config
, if none is provided. -
sdk-build-tools
, scripts used to build the Sailfish SDK in its production environment, martyone created a patch to attach metadata to the generated archive file. -
rust
, the memory safe programming language, lbt is proposing to useprjconf
to disable armv7 or aarch64 builds. -
docs.sailfishos.org
, website sources, various changes in the documentation were accepted or proposed:
- rainemak corrected the release date for 4.4.0.64,
- olf’s proposal to make formatting changes to the newly introduced release page has been accepted.
- martyone is proposing to introduce a new page for developers explaining how to contribute to the API documentation.
-
sailfish-qdoc-template
, templates for QDoc adapted to Sailfish OS, martyone modified the configuration to ensure linking between projects. He also modified the packaging to add the HTML documentation of the project itself.
Post scriptum : Summer (currently in the northern hemisphere) is often the period for vacations and I’ll be off for some time. I’ll still be looking at GitHub news and forum discussions from time to time but I’ll not be able to write these digests. If anyone would like to replace me for a while, please feel free to do it and contact @flypig to add it to the community letter. Otherwise, you should be able to read the next repo digest on 25th August. Enjoy the summer!
Apps ahoy!
Once again it’s great to see the updated apps rolling in. It’s great to be seeing such rapid updates for some of these apps, with improved functionality added. But it’s also great to see some new apps that we’ve not seen before. Read on to find out more.
Zollstock
Zollstock is an app that we covered for the first time in last fortnight’s newsletter. Even on its first release it was a really solid piece of software, so it’s great to see it being updated so quickly. Zollstock allows you to measure things. Not just any measurement of course, but specifically distance measurement. Not only does it turn your phone into a quite usable ruler, it even adds tools to allow you to easily measure distances that extend beyond the height of your phone.
The app bumps up to version 0.1.4 with updates to the translations. This new version from Samuel Kron (black_sheep_dev) is available from the Jolla Store OpenRepos.
Piepmatz
With Twitter in the news recently for being bought by Elon Musk… or not as the case may be… it’s nice to see Sailfish continues to benefit from the wonderful Piepmatz Twitter client from Sebastian Wolf (WerkWolf). Piepmatz provides a fully-featured client with all of the options you might hope for: tweeting, replying, retweeting, favouriting, following, unfollowing! Images and videos are fully catered for, and overall it provides a smooth and usable Twitter experience.
Previous updates to the app unfortunately broke support for conversation threads in the app, but Sebastian has fixed this in this latest update to version 1.12. The update also restores access to removable media. Given how long Sebastian has been supporting the app, and how many features he’s managed to pack in, it’s great to see Piepmatz continuing to receive updates.
Piepmatz is available from both the Jolla Store and OpenRepos…
Stopmotion
Stopmotion is a new app release from prolific app author and maintainer Mark Washeim (poetaster). As its name suggests, it turns your phone into a tool for creating stop motion videos: think “Shaun the Sheep” or “Isle of Dogs”. Having already heard a lot about the app in the forums I was eager to try it out. It was hard for me to imagine what a Stopmotion app would actually do.
On trying it, I was pleasantly surprised, not just by its simplicity, but also by its effectiveness. It genuinely streamlines some of the challenges associated with stop motion photography. On opening the app you’re presented with a simple configuration panel in which you can set the delay between shots, a folder to save the resulting images in and some camera details. Plus there’s an ominous looking button at the bottom right. Pressing this starts and stops the capture sequence.
The app provides an appropriately satisfying click when it takes a shot, and if you’ve set your delay correctly you’ll have enough time to update the items in your frame ready to take the next shot in the sequence.
It’s all surprisingly straightforward. Of course while the app may give you the tools, you’ll have to provide the brilliant story and saintly patience yourself. And you’ll probably need a tripod to make best use of the app too.
Stopmotion is a brilliant addition to the Jolla Store, and you’ll also find it in OpenRepos.
Patience Deck
Patience Deck is another app that’s been enjoying regular updates from its author Tomi Leppänen (tomin). If you’re a regular reader of the newsletter you’ll know that it allows you to play a variety of different single player or “Solitaire” card games. Early releases supported 45 different variants, which was then increased to 72. The latest updates bumps this up even further so that it now offers 81 different games in total. That’s a lot of game.
The aptly named Sir Tommy is one of the new variants included. You start the game with a shuffled stack of cards (the stock), four empty discard piles and four empty foundation piles. Each card taken from the stock must be placed either on a foundation pile in sequence (from Ace upwards), or into one of the discard piles in any order. The catch is that you can’t rearrange or move the cards in the discard piles, except to put them onto the foundation. It’s a challenging variant where you constantly feel the constraints of having only four discard piles. But at the same time it also feels fair, given your relative freedom to choose any of the discard piles to place your cards onto.
At the other end of the spectrum is Pileon, which feels very different to the classic Klondlike-like game of Sir Tommy. You’re presented with thirteen piles of four cards and two empty piles. You can move any card to any other pile, as long as it’s of the same value as the top card in the pile, and as long as the pile doesn’t contain more than four cards. Once again, it’s the constraints that make the game. You can see all of the cards, so in theory you can solve the game without moving a single card. But that’s both a blessing and a curse, given it means the entire game can be decided by your very first move. This knowledge can be paralysing, making this very much a game about overcoming your own uncertainties.
Alongside these two new games you’ll also find seven further new variants: Block Ten, Cover, Eight Off, Fourteen, Gypsy, Labyrinth and Straight-Up. And there are also new features too. Particularly nice is the fact that the app saves its state across restarts, so you don’t have to worry if your game doesn’t quite fit into a single bus journey. You can also now search the game list, a rather essential addition given the number of games that are now available.
Patience Deck is a brilliant app that gets better with every release. Version 0.9 is available now from from the Jolla Store and OpenRepos.
SeaPrint
SeaPrint and Patience Deck are now fighting each other for the award of “most frequently updated app”. While both apps are excellent in their own way, they also couldn’t be more different. SeaPrint is the ultimate home-office productivity app, allowing you to print hard copies of all your important documents and photos directly from your phone.
Developed and maintained by attah, SeaPrint will find networked printers and allow you to send files directly to them. It’s beautifully simply while also being ruthlessly efficient.
The latest version manages to further improve the way documents are printed, ensuring duplex printing flips pages appropriately, and image orientation metadata is better respected. That means that you’ll be more likely to get the output from your printer that you’re expecting, which has to be a good thing.
Version 1.1.7 of SeaPrint is now available from the Jolla Store, with the SeaPrint Share Plugin — which allows it to integrate nicely with other apps — available on 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 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 21st July.