Sailfish Community News, 22nd February 2024 - 4.6.0 Update

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

Communication bits

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 use org.qtproject.QtDBus.QtTypeName.OutX instead of org.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 of GUtilIdlePool 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 of ldconfig in sb2 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 since shared-mime-info capitalised its strings.
  • nemo-qml-plugin-filemanager , QML bindings for file management, pvuorela fixed a unit test failing because shared-mime-info renamed application/x-bzip to application/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

27 Likes

What devices will be affected by this decision?

2 Likes

Jolla C/Aqua Fish and Xperia X, of course.

7 Likes

open a terminal in your device and type: uname -a it will show which kernel version it has

3 Likes

Thanks for this advice, but this will only give me kernel versions for devices I own.

2 Likes

Jolla Tablet is also using appsupport 4

2 Likes

Let me explain to you with another of my apps, picoplayer that has microtube’s custom built player. No other qt multimedia based player ever came close to microtube or picoplayer and they never will. The microtube’s player is purely based on gstreamer with just the output to the qml completely bypassing the qt apis and that allows microtube for the first-ever >720p playback because of the DASH, because jolla doesn’t want to enable MPEG-DASH in gstreamer so you can’t use the qtmultimedia api and only the microtube/picoplayer can play subtitles and only picoplayer can switch video, audio and subtitle sources purely because they don’t user qt api. Qt multimedia is insanely limiting and only by not using them you can achieve something powerful like microtube/picoplayer and nobody does it because nobody wants to spend time on gstreamer headache. 180°/360° videos came up as a consequence of gstreamer based player because it uses opengl for rendering, where there’s simple shader that displays the video (maps texture to output). So I thought, since the video is the texture, with a simple half/full sphere shader and some variables to control the rotation you can very simply make the 180/360° videos, so i just paid some guy on fiverr (info about him in about page) to make those shaders and voila.

landscape mode*

somehow i really doubt that. Other than Leszek’s which he doesn’t maintain anymore I think I have complete and absolute monopoly

Bruh Leszek left sfos in the dust as a protest of jolla refusing to update qt. No there won’t be any updates, at least respect his protest. The audacity…

12 Likes

@Mister_Magister
For the client ID creation of the OAuth2, is your SFOS app a “web application” or a “TV application”? Because it probably can’t be an Android, IOS or Windows application.

1 Like

this is very inappropriate place to ask this question but its desktop

2 Likes

Many thanks for spreading the news of my attempt to revive CepiPerez’s apps to a greater audience, FileCase in the Community News on 2. November 2023 and FlowPlayer here.

The statement “now with the infrastructure support and maintenance handled by olf” expresses my efforts well, though 100% precisely it should read:
… with the support infrastructure overhauled and maintenance coordinated by olf.
I.e. I merely coordinate the maintenance of FlowPlayer and FileCase, most of the maintenance work of both fully depends on others, thus contributions are absolutely required.

There are many ways you can contribute, proper testing and bug reporting is very helpful, translating strings also, other tasks require C++ or QML coding skills (which I mostly lack), and FlowPlayer’s README is far from being complete. I only maintain the support infrastructure and perform the release management.

So, if you are using FlowPlayer and / or FileCase, please help to keep them alive!

Kudos to @dcaliste, @smokku and @flypig for their adept coding work, plus them and @eson, @branja6, @tuplasuhveli for their well done bug reporting.

BTW, FlowPlayer and FileCase lack translators, only @eson (SE) has contributed so far AFAIR.

P.S.: FlowPlayer is also available from SailfishOS:Chum, though I did not dare to promote it from the testing repository to the main repo yet, but will do that with the next release.
Edit: v0.3.3 is uploaded to SailfishOS:Chum’s main repository.

14 Likes

Could these devices be then open-sourced fully?
it would seem fair to have the community pick up the child fruits abandoned by jolla.
And it would fall also under the open source initiative…

6 Likes

Yay for gapless playback on Sailfish OS! Nothing is as horrifying as the little gap between Parabol and Parabola on Lateralus, or the break of flow between the outro of The Art of Dying, and Mario’s brutal intro for Esoteric Surgery. Just submitted a PR for Opus support :heart:

11 Likes

So Xperia X and the older ones are dropped, correct?

4 Likes

From what I’ve asked it’s not really 4.4, it’s more like 3.15 where single backported patch can bring up other kernels so even my 3.4 will most likely still work, and it’s not certain yet either

1 Like

Device support is already fully open source, except for Alien Dalvik (in the case of said devices) which is not owned by Jolla.

1 Like

I think you are German, just like me, so I don’t know if it is sensible to offer my help with translations?

Thanks for your reply! Even Silica?

No, I was only referring to parts of code required for device adaptation.

1 Like

Please post a feature request, many of us miss such a button.

3 Likes

Though dropping support for the Xperia X is understandable (the device as much as I like it is 8 years old by now and as much as I liked it in my older rants it is old), the excuse (old kernel version) is really not a valid one since Sony has released newer kernels for it (and also the newer devices), Jolla has over the years not updated the kernels on devices for whatever reason a policy that is a direct contradiction to the claim to security focus.

(Xperia X has at least kernel 4.14 available to it)

5 Likes