Sailfish OS update from Jolla
We are very thrilled that translation round calling found this superb community. It looks very good already and many languages are 100% completed – awesome job everybody involved there. It’s also time to remind you that the deadline for this round is Sunday the 24th of March. Special thanks to direc85 and pherjung for volunteering to be translation coordinators for Finnish and Portuguese (Brazil) respectively.
Last fortnight we said that GCC 10 will hit 4.6.0 Sauna with good confidence. Now it’s sure as all changes are integrated and it’s looking good. Further, contributions from rubdos and direc85 to Rust 1.75 and LLVM 15 were merged after Gecko building issues against updated Rust and Clang had been sorted out. This Rust update is a great achievement !
Increasing root partition size for older devices (for flashable images only) sprinkled very vibrant and lively discussion on last week’s community meeting as we wanted to understand reasons why users are running out of space on the root partition. We decided to increase the root partition size for older devices. We’d like to mention and clarify that previous root partition resizing was triggered by 64-bit architecture taking more space affecting Xperia 10 II and Xperia 10 III. As we see this, it doesn’t matter how big the root partition is. It’ll be eventually full of certain usage patterns. There should be always reasonable space reserved for the home partition. This is the situation as of today. There are certain improvement ideas that we could do together with you, the Sailfish Community, but before starting we should organize around the topic. We’ll come back to these ideas.
Finally, we have received few questions about Store QA delays. Apologies regarding response delays in the Store QA queue. We have been busy with all sorts of exciting things happening.
Energy from the Community
Repository roundup
Developers will be able to use more up-to-date tools since GCC upgrade to version 10 has been merged, and the contributions from rubdos and direc85 will now allow to enjoy LLVM 15 and Rust 1.75 .
Communication bits
-
libconnman-qt
, QML bindings for the connection manager, abranson fixed a possible crash when a route is removed and later on the default route is changed. -
openconnect
, open client for Cisco AnyConnect VPN, Thaodan updated it to 9.12. -
connman
, the connection manager, LaakkonenJussi worked on OpenVPN plugin, so it can work with version 2.6.9. -
ofono
, the telephony library, dcaliste proposed to expose over D-Bus when a call has been filtered. After discussion with slava the PR will be dropped and another solution to notify on filtered calls may be implemented separately. -
messagingframework
, the email Qt framework, dcaliste proposed a pull from upstream, bringing an API for email decryption. -
nemo-qml-plugin-email
, QML bindings for emails, dcaliste fixed an issue exposing a wrong initial download status. He also proposed to rework the attachment model so it is linked to an EmailMessage object. It should allow to deal with attachments in encrypted emails. -
buteo-sync-plugins-social
, a very nice contribution from Karry, allowing to synchronize read-only calendars from google.
Location services
-
mlsdb-data
, a packaging of Mozilla databse used to assist GPS positioning, pvuorela updated it to 2024-03-15.
User interface
-
lipstick
, the home screen code (open source parts), pvuorela updated QML files dealing with VPN since the move toNemo.Connectivity
. -
user-managerd
, daemon for handling Sailfish OS device users, pvuorela moved the startup wizard done markings to the~/.config
directory, while they were previously direct hidden files in the home directory.
Browser stack
-
gecko-dev
, Mozilla’s Gecko web rendering engine, mal made the header path symlink works with all gcc versions and also backported changes required by Rust and Clang updates.
Multimedia
-
mpg123
, a console MPEG audio player and decoder library, mal updated it to 1.32.5. -
libvpx
, a VP8/VP9 video codec library, mal updated it to 1.14.0. -
opus
, an audio codec for use in low-delay speech and audio communication, mal updated it to 1.5.1. -
ffmpeg
, a framework to encode and decode multimedia resources, mal updated it to 5.1.4. -
gstreamer
, a multimedia framework, mal updated it to 1.22.10, and also the base plugins, the “good” plugins, the “bad” plugins and thelibav
one.
Other applications
-
nemo-qml-plugin-filemanager
, QML bindings for file management, pvuorela cleaned the requirements, removing old ones that are not needed anymore (like contactscache, D-Bus, profile, connman…), and fixed the c++ API.
Low-level libraries
-
ssu
, the seamless software updater, keto added support for major and minor release versions in repository URL variables. This allows having repositories independent of the “patch” or “hotfix” OS releases, and should, for example, make things easier for the community Chum repositories in the future. -
nemo-qml-plugin-devicelock
, QML bindings for device lock access, spiiroin added placeholders for authentication methods, for later usage. -
libqtsparql
, the Qt support for SPARQL databases, pvuorela cleaned up the code to be able to build it with more recent Qt versions, fixed up crashing tests and reenabled a QML plugin exposing a model from databases.
Developers’ corner
-
gcc
, the GNU compiler collection, mal’s work to upgrade GCC has been merged in. It moves to version 10.3 (from 2021), while GCC was previously in version 8. -
python3
, the popular and widely used programming language, mal updated it to 3.8.18. -
kbuild
, a framework for writing simple makefiles for complex tasks, mal updated it to r3565. -
dtc
, the device tree compiler, mal updated it to 1.7.0. -
ncurses
, the library to use terminals, Thaodan fixed an issue with Bash/readline. -
readline
, a library for editing typed command lines, Thaodan worked on updating it to 8.2, also revamping the packaging spec file. -
e2fsprogs
, utilities to manage ext2, ext3 and ext4 file systems, pvuorela removed an old patch from 2016 since coreutils has been upgraded in-between. -
expat
, an XML parser library, mal updated it to 2.6.1. -
python-M2Crypto
, support for using OpenSSL in python scripts, Thaodan updated it to 0.41.0. -
lipstick
, the home screen code (open source parts), pvuorela updated the documentation. -
glslang
, OpenGL and OpenGL ES shader front end and validator, mal newly packaged it at version 14.1. -
mesa
, graphic libraries, mal updated them to 23.1.9. -
rust
, the Rust programming language compiler, rubdos and direc85 updated it to 1.75.0. -
llvm
, the machinery to build compilers, rubdos upgraded it to 15.0.7. -
orc
, a library to generate optimized code operating on arrays of data, mal updated it to 0.4.38. -
mic
, an image creator for Linux distributions, pvuorela fixed some issues coming frompython-M2Crypto
update. -
nemo-qml-plugin-dbus
, the QML bindings for DBus, vige updated the link to the source code, following a request from Wrong link to DBus plugin sources. -
nemo-qml-plugin-systemsettings
, a QML component used by the Settings app, pvuorela moved the VPN model tonemo-qml-plugin-connectivity
. pvuorela removed also the deprecated APIDiskUsage
. -
pvuorela cleaned packaging of various projects, removing unnecessary dependencies:
-
lipstick
, removed Qt5Xml dependency. -
signon-plugin-oauth2
, removed Qt5XmlPatterns dependency. -
mapplauncherd-booster-browser
, removed Qt5Svg, Qt5XmlPatterns, Qt5Xml, timed-qt5 dependencies. -
mapplauncherd-booster-silica
, removed Qt5Svg, Qt5Xml dependencies. -
nemo-qml-pugin-systemsettings
, removed Qt5XmlPatterns dependency and added missing Qt5Network one.
-
- pvuorela updated QML types in various packages where there have been API changes:
App roundup
A glitch in the newsletter matrix meant there was no app roundup last fortnight. But rest assured it was just a glitch and we have a fresh look at some nicely updated apps in the newsletter today. Although the four candidate apps we have for space on your phone today are all quite different in their functionality, what unites them is the quality and stability of their implementation. All four were rock-solid with beautiful user interfaces. Although I experienced some issues with backend services, the fact all these apps are still under active development means that shouldn’t put you off trying them out.
First up is the venerable Podcatcher, originally created by Johan Paul for the N9 but updated for Sailfish OS and now maintained by Moritz Carmesin (carolus). As the name suggests, Podcatcher is used for downloading podcasts, meaning it’s ideal for audio series that are released regularly over a period of time.
Podcatcher’s user interface reflects this. Rather than jumping from one online audio file to the next, the user is asked to subscribe to a particular podcast series. The app will then either automatically download episodes, or download them on demand when the user selects them from a list. There’s no streaming — you have to wait for each episode to be fully downloaded before you can listen — but the idea is that you can set it to download in the background while you go about your daily business.
Although I’m not a podcast aficionado, I really like this app. The interface is clean, well laid out and easily navigable. It has nice touches, like the little animated number that jumps up and down to let you know how many episodes are being downloaded. Or the fact that you can choose whether or not to play episodes via the perfectly functional internal player, or use your favourite alternative. I’m a big fan of splitting functionality into different apps, so for me, this demonstrates a focus on the user rather than the developer. If you are using the internal player, although it’s not persistent, it’s never more than one tap away, allowing you to perform other tasks in the app easily while you listen to a podcast in the background.
The backend of the app interfaces with both Apple Podcasts and gPodder. Unfortunately when I tested the app the online gPodder service was overloaded and not accepting requests. Using the Apple service I could easily search for, subscribe to, download and listen to a wide range of podcasts from spoken audio to music.
Whether you’re an avid podcast listener or just enjoy the odd episode, I can strongly recommend Podcatcher for your podcast-consuming needs. The latest version brings the app up to version 2.0.3 and includes improved memory usage, a new parser and streamlined dependencies. It’s great to see Moritz keep this app up-to-date and working brilliantly. Grab yourself a copy from the Jolla Store.
Next up is the Babbage mathematical expressions evaluator from Heiko Bauke (bauke). It’s nice to see the app enjoying continued development and the latest release introduces a whole new user interface.
Computers — and by extension smartphones — really are just calculating devices under the hood. So it’s always disappointing to discover how poor the default calculators are on most computers and phones. The default Sailfish OS calculator is better than most, but if you use it for any serious mathematical calculations you’ll soon hit up against its limitations.
Babbage pushes the default calculating capabilities of your phone to another level. It includes a very capable calculator with a push-button style user interface which gives decent — passable — capabilities. But the real beauty of the app is only exposed when you switch to the Scientific mode. Here you can enter full mathematical expressions, edit them, and execute them, including using arbitrary named variables for use within expressions. It’s not a full-blown programmable calculator, but it lives in a neat middle ground: more functionality than the default calculator and a better user interface than the Python console.
A nice new feature added in this release is the ability to store expressions for use later. These are even stored persistently after the app is closed, which is nice, although even better would be if all of the app’s state and my calculation history could be kept. Everywhere in the user interface you can press and hold to copy out an expression — or its result — for use in another app, or to reuse it within Babbage.
This latest release brings Babbage to version 0.20. On Sailfish OS we now have a range of nice mathematical expression evaluators, which can only be a good thing for the end user. Babbage is available to install from the Jolla Store.
Another nicely updated app for this fortnight is Ielig Web, the Web browser that bills itself as “Stupid but fast”. If I’m honest, I’m not sure whether it lives up to either of those claims, but that’s not a bad thing. I’d rather call it “minimal but effective”. Underneath the hood, the app has been crafted by Hans Wf (hanswf) to use Sailfish’s WebView component, which means you get good compatibility across the Web. That also means you’re immediately going to get a similar experience to the standard Sailfish Browser. Where Ielig Web shines is in its user interface.
When viewing a page you really do get the entire page to view. Just the slightest discolouration along the bottom edge of the screen is the only hint that there’s more to the app than the page you’re viewing. Pressing in the bottom left corner will take you back to the app configuration page. Pressing in the bottom right-hand corner refreshes the page. Pressing in the middle at the bottom of the page opens a menu with more options.
On top of that, swiping left and right will take you forward and backward through your search history. It’s a very fluid and intuitive approach.
The latest release brings Ielig Web to version 0.7.1, which also introduces a raft of nice new features. These include PDF export; a redesigned menu screen; and support for downloading files.
Due to the fact Ielig Web is harnessing the WebView in the background, installing the app doesn’t require the overhead of installing an entirely new browser. So if you find the user interface suits you, there’s no big downside to having it installed. My own experience with it has been very positive. You can install this latest version of Ielig Web directly from the Jolla Store.
The last app in our quiver today is Watchlist from Andreas Wüst (AndyWuest), an app that allows you to keep track of stocks and shares. Given my enormous portfolio of investments, this isn’t something I can claim real familiarity with, but I do understand that the value of these things goes up and down and that as an investor it’s useful to know which of the two is happening and when.
Armed with this simple knowledge I was able to easily add entries to the main page showing various currency exchange values and commodity prices. For many people, I imagine the stock price tab will be the most important, which is also reflected in the depth of detail the app provides. While the Market data shows just a snapshot of information, the app allows you to drill down far further into the history of a stock’s price, the latest news about a stock and more.
Before you get there you have to select stocks to add to the page. I experienced some difficulty here with the server throwing up access errors. Switching the backend from Euroinvestor to Ing-Dida via the settings page allowed me to get better results. From the settings, you can also configure whether data is downloaded over your mobile dataplan or just via WiFi as well as configure how the stocks are presented.
The charts associated with each stock are particularly impressive, with clear pricing over day, month, year and three-year periods, including approximate trend lines coloured to indicate increases or decreases over the period. The app manages to show these very clearly without compromising on the Sailfish Silica aesthetic.
Finally, the dividends tab is intended to show dates of when dividends are due, but the app refused to collect the data. In the background it uses the DivvyDiary service which sadly responded with a “Bad Request”. Hopefully, this is something that Andy will be looking into in a future release if there isn’t already a fix available.
Backend glitches and lack of portfolio aside, I found Watchlist to be an excellent app. If I was tracking stocks, I’d want this on my phone. The latest version brings the app to version 0.13.2 and introduces new display settings as well as a larger number of commodities. It’s available from both the Jolla Store and OpenRepos.
That’s it for this fortnight. Once again, it’s always a pleasure to get to try out such a wonderful selection of apps; to see the love, attention and effort that their creators and maintainers clearly pour into them. All four of these apps make amazing use of the brilliant Sailfish OS user interface and I encourage you to give them a go.
Please feed us your news
As always, please do not hesitate to share your ideas, thoughts, or suggestion for future newsletter topics.
Hope you enjoyed reading! Thank you all!
Please do also join us at our community meetings on IRC, Matrix and Telegram. Next community meeting will be on the 28th March