September 27-30 - Sailathon 24 in Prague

My ideas for the topics to hack:

  • Camera2 api improvements - I just love photography and low-level hacking. Camera2 api will allow to get better photo results and enable all cameras on newer Sony devices. But it may be too low-level for some participants and I am not familiar with current development state.

  • Navigation improvements in OSM Scout - as author of this app I would really love to improve navigation instructions. There is plenty of sub-tasks, like better text 2 speech conversion, machine-learning model for generating pedestrian routing instructions, testing framework, form for gather feedback…

11 Likes

Depending how many participants we are, couldn’t we add various topic? One for expert and other one for beginners.

2 Likes

Just figured out why I fly 27 and back 30. It’s because I didn’t found flights Thursday and respectively Tuesdays from/to Bucharest (I went through plane searching again to remember that). You people can do better though :wink: and be there 27 first hour till late 30 last hour!

2 Likes

Good ideas!
I’ll share a bit of mines. While I usually spend a couple of minutes every day on sailfish problems, nothing beats being able to focus for a whole day or two, or more!

  • Camera2 API improvements :+1: I have already in a hackish way added noise reduction and edge detection control. And preserving exposure was a mega hack. Maybe these quirks can be controlled by the user somehow (Advanced cam?). Or more could be added. This might require meddling with gstreamer which is like an enterprise framework done in gobject, but again, whole day focus might help. Or I could try to fix video recording…

  • Sailfish browser - this is not gecko-dev, that would require many more days. but things like implementing notifications and permissions for them, or opening background tabs as someone suggested, in saiflfish-browser itself, could be doable

  • qtcreator development - there may be a couple of things that could be added to Sailfish IDE. One is Rust support. Other is, just some wizards to create PWA-like apps, based on e.g. fbjail or hydrogen apps blueprint. (I would have liked to be able to contribute to sfdk but I don’t see it anywhere OSS - support for future ARM laptops would’ve been cool but I don’t own one)

  • Flashing SailfishOS installer/wizard, like I hear ubports installer could do. This would require some pristine devices to break to test, but otherwise it’s just some GUI for automating some scripting I would say.

  • harbour-sailslack improvement could be one item. Though not open as a server, at least they offer APIs as opposed to other enterprise chat services. @danvratil has started some refactoring a while ago, before going unreachable. Maybe that can be continued. Or re-written in rust:) - did I say I want to learn rust?

3 Likes

we need a really working xmpp client.

dino, perhaps, or gajim. i know both are gtk based. then maybe hackathon people can port gtk to sailfish?

or maybe default address book xmpp client can be improved to handle omemo?

but it has no mucs anyway.

so dino would be ideal.

What do you think about my idea to have me start “re-implementation” of Sailfish OS as an instance of Guix System?

I have written enough personal system definitions to feel confident with a more challenging project. Having direct conversations would greatly accelerate acquisition of Sailfish-specific information required to pull this off.

1 Like

I’d like to come, but I’m a bit cash careful at the moment. What are people doing for accommodation? If i can’t do the whole tour, I’ll try to be there for Friday afternoon to Sunday afternoon.

Ok, I’m in. I’ll arrive Thursday evening.

3 Likes

Looking forward to attending, will be there for Saturday and most of Sunday. I’d be a bit more on the beginner side of things. I have been working on a somewhat basic Dropbox client if this is of interest also.

4 Likes

@ron282 has put a lot of effort into kaidan SailKaidan | OpenRepos.net — Community Repository System I’ve done a bit of work (library foo and building on obs) but have’nt had the time to go deeper. it’s an idea.

3 Likes

both @vlagged and @karry have mentioned camera2 api. I think it’s one of those that has a broad application and makes sense to tackle. But, I thought the work on hydrogen last year was stellar, too! So, I’m open to see if I can help (beside fix all the bugs in my own foo :slight_smile:

3 Likes

I have been toying with running pipewire/wireplumber in parallel to pulseaudio on SFOS.

Maybe something could be hacked around in that area, to improve standardized video interfaces, and support for ported apps which need PW instead of PA.

In the long run, mozilla/browser could benefit from that too (ESR 10x+).

5 Likes

I have to admit I’ve been a bit skeptikal ™, but I’m still trying to discern what gives with my Jackd setup running with pulse shims and pipewire being there. I wasn’t clear what role pipewire is playing …

I only have some idea of pipewire and audio. What do you mean by standardized video interfaces? Do you mean for media stream consumers?

Having support for pipewire has been requested a number of times and it’d be interesting to see what actually depends on it. All the audio stuff I want to do is ‘lower level’ or ridiculous (supercollider). Did you have some example apps that might benefit in mind?

1 Like

I must say I’m neither fan nor expert on PW.

But PW basically aims to do for audio and video what PA did for audio. I.e. manage sources, sinks and processing in between.

Wrt. the browser, there is some mozilla ESR (or rather, Firefox 116) which started supporting PW for video streaming/conferencing, i.e. camera and mike access.

I guess for SFOS that would mean a plugin in droidmedia(?), libhybris(?) which can function as PW a/v source(s).
There could also be a PW plugin for the Lipstick API to get video frames, so desktop sharing/streaming can be done.

2 Likes

It’s not the easiest area to work on, but the sources for sfdk are there: sailfish-qtcreator/src/tools/sfdk at master · sailfishos/sailfish-qtcreator · GitHub

6 Likes

FWIW, I’m prepping Whisperfish to start implementing and integrating voice calls (and possibly video calls). But if there’s a big project that everyone will be hacking on together, I could join in there too. I just had it in my head that voice would work when I get on the plane back :wink:

Still have to get permission to be away from the uni for those few days, but I don’t think that’ll be an issue.

17 Likes

Hah! Given your notes for the build and understanding of the tunnel set up, you THE domain expert in these parts. Sucks to be you :slight_smile:

3 Likes

Regarding Pipewire, I would like to share my perspective as a user.

Setting Pulseaudio for my needs (like audio effects to boost bass and add crosfeed) required editing configuration files to fine tune hardware parameters of the audio pipeline, and it never felt quite right, with occasional glitches and crashes. Once I installed Pipewire, I was good to go with audio effects. I never had to touch any hardware controls. It just works. Amazingly, the Pulseaudio compatibility inherits this property, and every audio stream is perfect in all circumstances but CPU overload. And even then, recovery is painless. The worst I had to do was restart my game, usually the buffers clean up themselves.

Regarding the Guix idea, I need to ask a more direct question, as I see no conversation around it.

Among the people attending the event, are there developers who know stuff like “where to get the correct kernel sources” and “how to set up the phone bootloader“? The point of me going is to have direct conversations of this nature.

1 Like

Hello, everyone, i will be happy that could be integrate some very secure and usefull patch directly into operating system SailfishOS, i meaning two patch like:

1.) hardened malloc used example in GrapheneOS

2.) PaX ASLR kernel security

https://wiki.gentoo.org/wiki/Hardened/PaX_Quickstart

If will be possible i mean that SailfishOS will be most secure operating system used on mobile devices.

Thanks in advance for your response and your comments on that.

Jozef

2 Likes

Well, yes and no. @vlagged has certainly done porting and I’ve read all the hadk documentation, but I avoid the kernel work. For a couple of day hackathon, I think it’s a bit too deep dive.