Happy new year to everyone!
Let me join the brainstorming session...
How did you perceive the Genode year 2022?
From a personal perspective, I am delighted with the past year. Skimming through my notes from 2022 made me aware of the variety of topics on which I had been working: I wrote my first vfs plugin (vfs_tap) and ported my first Linux driver with the new dde_linux (zynq SD driver). Moreover, I was able to complete a long-pending side-project of mine, the trace recorder, which turned out to be quite useful for performance debugging. Speaking of performance debugging, I dug into Genode's memcpy implementations and was able to reveal a number of optimisations for the NIC router. Furthermore, I entered the realm of hardware development for the Zynq's FPGA. A particular highlight of mine is the GPIO demo for the Zybo Z7 board that showcases and documents most aspects of the resulting Genode-based hardware-software co-design workflow. Reviewing how much I learned in the last year leaves a very pleasant feeling.
In addition, I am astonished by all the other achievements in which I rather played a spectator role. It's particularly intriguing to observe how the Sculpt OS for the PinePhone takes shape.
What directions are you most excited about?
I am most excited about the PinePhone support. Given that I'm using Sculpt on PC already on a daily basis, being able to reliably make phone calls and perform secure messaging on a handheld device is the most intriguing prospect. I'd happily contribute to this undertaking as much as I can.
Which topics do you deem as interesting to explore yourself?
Do you already happen to have rough plans about 2023?
As always, I'm not short of ideas. Given that I'll be operating with restricted resources (due to parental leave), however, it is quite hard for me to predict how much I'll be able to focus on complex topics. Basically, I have four main areas of interest to which I'd like to devote my resources in descending priority:
1. PinePhone
As already mentioned, I'd love to contribute to the PinePhone support. Yet, as I don't want to allocate myself on a critical path, I'm thinking about implementing some nice-to-have features. For instance, I'd like to have a go with LVGL to write a custom lock-screen component for the PinePhone. Moreover, I'm thinking about integrating support for the proximity/ambient-light sensor.
2. Hardware/Zynq
I'd like to continue development for the Zynq-SoC, in particularly the Zybo Z7 board. With the basic driver support and workflow for deploying custom hardware designs on Genode, I'll make an effort in implementing and documenting more complex showcases. I have already implemented all aspects of a DMA demo that I'd like to wrap up and document in articles on genodians.org and hackster.io.
3. Usability topics
I believe there are a few low-hanging fruits that could potentially improve the usability of Sculpt OS (predominantly on PC). For instance, it'd be great to have a file browser component that simplifies "opening" files, such as PDFs, audio files, etc., with a component which is registered for the particular file type. I think this would greatly improve the usability as I'd be able to download files with the native falkon browser and safely open them in a sandboxed viewer.
4. Distributed Genode
Ever since I started working with Genode, I had the idea in mind of using Genode for my home server. A first step would be to use it as a headless VM host. For monitoring and administration, it'd be useful to have a Leitzentrale to control other (headless) Genode devices. This could not only be useful for the server use case but for managing distributed Genode installations in general.
Cheers Johannes