Sailfish OS update from Jolla
Last fortnight summarized FOSDEM 2024 and the great Sailfish OS Community event that we had. One note worthy topic that wasn’t mentioned in last fortnight is that we had several discussions on the pricing model of the Sailfish OS in the Community event. Since then we have continued the open dialogue that we started. This discussion has since continued in the community meeting 15th Feb.
You, Sailfish OS Community, got also inspired by this and continued discussion on the paid subscription to updates thread. Very much appreciated input and thinking. Yes, we do read these discussions whilst not necessarily commenting.
Regarding the questionnaire we had after the Community Event - what an awesome feedback we received, thank you all! Respectfully over 100 community members were also willing to continue further in the focus group. We’ll be reaching out to those who opted in with their email in few days with questions we have in mind and we’re looking to dive deeper for further input. This community rocks!
The next software release, 4.6.0 Sauna, is the first one from the new reborn Jolla giving us a possibility to clean up things easing maintenance work. Thus, we are for example dropping support for AppSupport 4 to simplify AppSupport maintenance. This will also enables us to raise our minimum kernel requirement from 3.x to 4.x… Implication would be that 4.6.0 release (Sauna) would no longer support older affected devices.
Then comes the localisation round and our great Sailfish OS community. You all play crucial role in this and it’s due to this great community that we’re supporting 40+ languages. October 2021 community newsletter discussed more broadly localisation. It covered all the aspects of it, so no need to repeat here. If you are not familiar with it and you’d like to contribute that newsletter certainly gives you an idea how translation process works. One clear difference to 2021 is that the main communication channels are this forum and community IRC meetings (IRC in general). Before we branch the 4.6.0 release, there will be a separate announcement regarding translation round. So, stay tuned!
The 4.6.0 release has been living in our internal OBS already quite while. Thus, we’re anticipating and giving longer feedback loop for cbeta testing. Similarly also we need more time to iron out issues that you face. Not all reported issues will not be solved but that’s why we have those minor releases between the major ones. Planned release schedule is during the spring.
Finally, we are preparing to switch our shop payment handling to a different platform (which in fact has already been in use for our UK customers). With this change we aim to lower the work overhead related to the sales, and ease the introduction of different kinds of pricing models (one or many). But more on that later, we will continue following your discussion and feedback on the subject.
Lots of exciting things happening!
Energy from the Community
Repository roundup
Multimedia stack
-
droidmedia
, Android media wrapper library, b100dian is working on allowing edge-mode and noise reduction with the Camera 2 API. He noticed that the parameters received fromgst-droid
were sent while no image was ready and resent later with some missing parameters. simonschmeisser found another failling string to real conversion due to locale dependant code. He proposed to create aREADME
file to explain how to build and develop the package, and also to standardise the formatting of the code (and ensure it at commits) using Clang formatter. -
gst-droid
, plugin for GStreamer allowing to use hardware accelerated codecs, simonschmeisser proposed to use a real value instead of an integer to be sent to the droid camera code. -
libsdl
, a multimedia library, mal replaced a patch with the upstream fix.
Communication bits
-
nemo-qml-plugin-email
, QML bindings for emails, dcaliste fixed a bug creating duplicated files on attachment download. The change also allows to save the attachments directly in~/Downloads/
instead of putting them in a complex tree structure. -
mobile-broadband-provider-info
, the database of access point configurations, ruditimmermans corrected the APN of Orange network in Belgium. He also proposed to correct the MNC and the APN for Mobile Vikings in Belgium. -
kf5bluezqt
, the KDE framework handling Bluetooth, pvuorela removed two patches creating locking issues on Xperia 1 II for instance. The patches were introduced earlier to fix an issue with file transfer but it seems that they are not needed anymore and were now creating more harm than solving issue. -
libconnman-qt
, QML bindings for the connection manager, LaakkonenJussi removed non usefull debug messages and proposed to update the default route only when there are some changes in the service cache. iceaway proposed to implement theMoveBefore
/MoveAfter
methods.
Low level libraries
-
usb-moded
, the USB tracking daemon, jmlich noticed some issue with the DBus interface and after discussing possible solutions with mal , Thaodan , spiiroin and pvuorela , annotations of out parameters were changed to useorg.qtproject.QtDBus.QtTypeName.OutX
instead oforg.qtproject.QtDBus.QtTypeName.InX
. Then, spiiroin regenerated the XML configuration files. -
sensorfw
, sensor framework, spiiroin modified the hybris adaptor to use pipes and io-watch for transferring sensor events from worker thread to mainloop context. It can prevent crashes happening when the worker thread is touching concurrently code from the main loop. This pull request also contains changes from mal to support Android sensor device API 1.0 in the hybris adaptor.
Developer’s corner
-
libglibutil
, a library extending GLib with convenient utilities, slava added a function,gutil_idle_pool_get_default()
, making usage ofGUtilIdlePool
simpler in multi-threaded environments. slava also modified this class with two commits, one treating NULL parameter as the default pool and another returning the value as pushed to the pool. -
scratchbox2
, the cross-compilation tool used by the SDK, Thaodan fixed an invocation ofldconfig
insb2
command where the path for the cache was erroneously prefixed with the root directory substitution. -
libcontentaction
, a library for associating content with actions, pvuorela fixed a unit test failing sinceshared-mime-info
capitalised its strings. -
nemo-qml-plugin-filemanager
, QML bindings for file management, pvuorela fixed a unit test failing becauseshared-mime-info
renamedapplication/x-bzip
toapplication/x-bzip2
. -
osc
, the command line interface to work with OBS (the Open Build Service), nephros proposed to use busybox compatible commands for completion. Following Thaodan 's advice, he also proposed it to openSUSE.
App roundup
It’s always nice to get suggestions from the community and this newsletter we were very happy to hear from Michał Szczepaniak (Mister_Magister) about the latest release of his full-featured YouTube player. That got us thinking about Media Playing on Sailfish OS more generally. The Qt APIs provide a really solid foundation for anyone building an audio or video player for Sailfish OS and that might be one of the reasons why there’s such a varied selection to choose from. But it also means it can be hard to stand out in such a crowded field.
This newsletter we’ll be taking a look at four media players each with their own hook and each with their own band of loyal users. Ever since Nullsoft blazed their own user-interface trail with Winamp back in the day, choice of media player has been as much about style as is has been about features. And that trend is alive and well on Sailfish OS. This newsletter we’re touching on just a small selection of the great media apps available and we’d be interested to hear what your go-to media player of choice is.
But now back to the apps and starting off with Microtube, the unique player from Michał Szczepaniak (Mister_Magister) and one piece of the PUNKY suite of apps all created by Michał. Microtube is unique in many ways, not least because it cleverly harnesses a bunch of node.js libraries to help negotiate YouTube downloads.
When we last looked at Microtube back in June 2022 we said we found it to be a nice experience; with the latest update that hasn’t changed. Several bugs we experienced back then have now been ironed out so it feels even more stable and slick. And it manages to retain the Sailfish Silica look-and-feel that we all love so much, while still maintaining consistency with how YouTube is structured.
Apart from improved animations and video switching the really big new feature in this release is support for 180° and 360° videos. Implementing this is no small development feat and Michał is to be commended for bringing something genuinely new to the video landscape of Sailfish OS.
When viewing a 360° video the preview player works just as a normal video player. But switch to portrait mode and now you can drag your finger around the screen to see in every direction. It works impressively well and is worth having a go even if just for the experience. Michał is continuing to work on and update the app, as he explains.
As far as I’m aware that’s the first time in the history of Sailfish OS that anyone played 180°/360° video of any kind. I’ll be adding playlists next with many stability improvements.
Microtube isn’t the only YouTube video player for Sailfish OS, but with its latest update it’s starting to look like the most solid and full-featured of the options out there. If you find yourself regularly watching YouTube videos it comes recommended. The latest update brings Microtube to version 3.4.0 and is available from OpenRepos.
Next up for this newsletter is FlowPlayer, originally created by Matias Perez (CepiPerez) but now with the infrastructure support and maintenance handled by olf. It’s also received a whole bunch of input from various members of the community and is under active development; it’s phenomenal to see the community rally to keep the app maintained. Unlike Microtube, FlowPlayer focuses on audio rather than video. It differentiates itself in three ways: lyrics support, online radio and a capable equaliser.
Visually the app sticks heavily to the aesthetic of the default Jolla Media app. This immediately makes it feel familiar, a sense you’ll get even before you’ve fired it up just from looking at the icon. But it offers more visual flourish than Jolla’s app and a host of additional features, making for an appealing upgrade over the default player.
As mentioned, lyrics support is one of these features. Play a track and the app can be configured to automatically download any available lyrics from ChartLyrics, accessed by opening the music player page and tapping the glass icon to push the page to the right. There you’ll also find in depth info about the artist; it’s a very neat way to explore the music you’re listening to in more depth and all works very seamlessly.
The equaliser is also an impressive addition. Changing the levels makes a pronounced difference to the quality and flavour of the sound with real-time updates as you drag the level sliders to the left and right.
All in all I’m impressed with how FlowPlayer manages to offer genuine benefits over and above the default music player, but without diverging too heavily from its classic look and feel.
With the latest release FlowPlayer has reached version 0.3.2-rc5 and is available from OpenRepos.
Vodman from Jean Gressmann (jgressmann) is another app for accessing YouTube videos, but with a quite different take. Rather than being a full-featured media player, it has a laser-like focus on downloading videos.
After starting the app the next step is to immediately leave it. Why? Because you’ll need to visit YouTube in your browser before you can actually access a video. Find the video using the browser, copy the Share link, return to Vodman and you’ll then be presented with an option to download the video using the URL already stored in the clipboard.
The app presents a clear view of download progress along with a convenient thumbnail of the video. And as soon as it’s downloaded it’s gone! That is, gone from the Vodman app. So it’s back out again to your favourite video player to actually watch the video that you just downloaded.
This is clearly a very different and more minimal approach to that of Microtube. While Microtube will happily keep you inside the app watching videos all day, Vodman is more of a facilitator that works alongside your other apps.
The videos Vodman downloads are high quality and work well even with the default video player. There’s definitely something to be said for watching videos in your favourite app, rather than being forced to use the same player you use to stream or perform the download.
So Sailfish YouTube apps are split into two camps: if you want to browse YouTube for videos, subscribe to channels and make the most out of YouTube’s features then Microtube is clearly the way to go. If you just want to download specific videos for offline use, then Vodman makes for an excellent companion app.
The latest version of Vodman is 1.2.7 available from the Jolla Store and OpenRepos.
Finally for our Media showcase we thought we’d return to LLs Video Player from Leszek Lesner (llelectronics). While this isn’t a new release — the most recent LLs Video Player release was version 3.0.3 back in 2021 — it still offers some nice improvements over the default Video application.
On opening the app you’re presented with nice thumbnail views of your videos along with the ability to directly browse the filesystem and a promising looking option to search for videos on YouTube. Unfortunately this last option seems to have succumbed to the vagaries of YouTube API access and fails with an error. Similarly attempting to download a YouTube video directly from a known URL also fails. So it’s local files only for now.
Even though the YouTube features are no longer functional, that doesn’t mean it’s not worth the install. An LLs-Vodman combination can give you back YouTube access and the LLs video viewer is very effective: playing locally-sourced videos using LLs makes for a good experience. The viewer includes some neat forward and backward skip buttons for jumping through the video in five second chunks. I do wish more media players would offer this functionality.
So while LLs Video Player suffers a little from a lack of recent updates, it’s still worth taking a look if your main focus is playing videos already stored on your device. Grab yourself a copy from OpenRepos.
It’s great that we have so many media apps to choose from on Sailfish OS and that we continue to see regular updates to them. Here we’ve only be able to touch on a few, but would love to hear which other apps you’re using out there.
Please feed us your news
As always, please do not hesitate to share your ideas, thoughts, or suggestion for future newsletter topics.
We’re looking forward to following the discussions!
The community meetings have always been an important way for us to share ideas, but with their increasing importance as a way for us to communicate we hope you’ll join us there in the future on IRC, Matrix and Telegram. The next community meeting will be on the 29th February