Hi Norman,
That's quite the list! I love the ideas you are exploring here. I've
only just gotten a peek into what genode is doing and I really like it,
particularly on the phone front. Even though I'm brand new to the
community, I thought I would share a thought with you.
I have been looking for a replacement for my iPhone 6 for 5 or 6 years
and I've tried several but nothing has satisfied. What's interesting is
that I am not that demanding. All I need my phone to do is take and
answer phone calls, send and receive text messages and images/clips/etc,
and provide me with navigation when I ask for it without any tracking -
if I can run an Auth app or two, great, but not deal breakers. Back in
the day of course, this was akin to sourcery. Nowadays, it's not much to
ask for in terms of capability. The most promising was a Nexus 5 running
UBPorts Ubuntu Touch. The problems with that it was funky with texts and
navigation was horrible... I could live with spotty text capability, but
the nav thing drove me nuts. It would take about 30 minutes to get a fix
on my position and then it would lose it after a couple of minutes and
I'd have to recalibrate (this was a known issue and there wasn't a
workaround). Still, the Nexus 5 was a supported device and recommended
by UBPorts, so it was sad.
Where I'm headed with this is, please do keep nav in the forefront of
mind - working nav though, not just occasionally maybe it's usable in a
demo nav. I would love to use a phone with control over the TCB that
would, when needed, get me from point a to point b with a minimum of
fuss. 5 stars for " I'm thinking of an Open-Street-Map client and a
messenger as particular examples". Also, wouldn't it be nice if the nav
function were completely under the user's control, meaning that when the
user turned it off, their location in realtime would not be tracked? I'm
sure there are valid uses for point in time requests for a device to be
located, but continual tracking, not so much.
Thanks,
Will
On 12/26/22 9:58 AM, Norman Feske wrote:
Dear Genode Community,
hereby, I'd like to kick off our yearly brainstorming about Genode's
road map for the upcoming year. Please feel invited to chime in,
sharing your personal observations and plans. By mid of January, I
will update Genode's official road map, trying to weave one reasonable
plan out of our individual interests.
Let me start with my personal reflection of the past year and the
topics that I find tempting for 2023.
Review of the past year
-----------------------
My Genode year revolved all around the PinePhone, which was an
extremely challenging and rewarding experience.
Driven by the vision of a Genode-based smartphone, I had to tackle
topics ranging from the schematics of the device, over plenty of
peripheral drivers, up to the user-interface level. Along the way, I
found myself entrenched in a staggering variety of topics. To name a
few: A custom Forth interpreter for our firmware for the PinePhone's
system-control processor, programmed in OpenRISC assembler.
Implementing a low-complexity AT-protocol stack talking to the modem,
enabling voice telephony and mobile-data connectivity. Coming up with
a suitable user-interface concept for the mobile variant of Sculpt OS,
and implementing it. The exploration and implementation of
power-management features like voltage and frequency scaling. Reducing
the time from cold start to the user interface to only 5 seconds.
Getting the application performance up to an acceptable level,
grabbing all straws in reach.
This was of course not a one-man show but a team effort. I found
myself very happy being strongly supported by Christian, Sebastian,
Josef, and Stefan who played huge roles in wrestling with the hardware
and ultimately enabling scenarios like media playback in the Morph
browser on the PinePhone.
The result makes me immensely proud. Moreover, we haven't just managed
to get it to work, but we gained detailed guidance documentation [1]
as a collateral effect. The main motivation behind my laborious
writing effort was to lower the barrier of entry for others who wish
to port Genode to further mobile platforms in the future. Let's see
how this plays out.
[1] https://genode.org/documentation/genode-platforms-22-05.pdf
Interests for 2023
------------------
Personally, there are four main interests, I'd like to focus on now.
1. Completing the support for the PinePhone
Genode on the PinePhone evidently works now. But I want to make it
rock! I'm eager to implement a prolonged standby mode that will allow
me to leave the phone unplugged for a week while staying receptive for
calls. I want to make the installation and use of custom software an
easy and enjoyable experience. Finally, by integrating
privacy-protecting functions like the file vault or WireGuard VPN
support, the mobile version of Sculpt OS will give me the assurance
I'm seeking for my personal mobile companion device.
At the beginning of February, I'm going to present the current state
at FOSDEM's "FOSS on Mobile" Devroom [2] and will invite the community
for a field test. By May, I want to reach a state where we can offer a
ready to use image for PinePhone for a broader user base.
[2] https://fosdem.org/2023/schedule/event/genode_on_the_pinephone/
2. Moving existing applications to Sculpt OS
With Goa [3], we already have a nice starting point for bridging the
gap between existing software and Genode. I want to elevate Goa from a
personal project to an official Genode project. One particular
ambition is the use of Goa for re-targeting existing mobile apps to
the mobile version of Sculpt OS (e.g., using the APIs of Sailfish or
Ubuntu touch UI). I'm thinking of an Open-Street-Map client and a
messenger as particular examples. Should we manage to achieve a
frictionless way to bringing existing apps to Sculpt OS, we may have a
chance of spawning a broader active community.
[3] https://github.com/nfeske/goa
3. Improved support for Intel GEN12
This month, I swapped out my trusty Lenovo x260 by a GEN12 Frame.work
laptop as Genode development machine. It is a very nice laptop. Still,
there are quite a few rough edges that need attention. The fan can get
very noisy, which we can presumably fix by better driver support for
CPU power and temperature settings. I know that Alexander has already
done promising exploratory work, which I'd love to replicate and
finally make it a regular feature. Closely related, I'm missing the
battery-state applet on the new machine, and the of the PS/2-emulated
touchpad is, well, an interim solution at best. I ultimately long for
a proper touchpad driver with support for common gestures.
4. Distillation of Genode's base mechanisms
Whereas the first three points address practical concerns, I also want
to turn my attention to the framework architecture. During the past
two years, I discovered several ways for simplifying the base system,
slimming down the framework API, and lowering Genode's footprint.
Think of my ambition to reduce the reliance on the C++ exception
mechanism, consolidating core's PD and CPU services into one,
streamlining the signalling mechanism, or re-implementing the
page-fault handling across the various kernels. There is a lot of
potential, which will ultimately open up new optimization
opportunities. I restrained myself from exploring those ideas to
retain my focus on the PinePhone. But they want out. The second half
of 2023 would be a good time.
What about you?
---------------
Even though I hope that the thoughts above resonate with you, I'm
pretty sure you have different perspectives. Please share them!
How did you perceive the Genode year 2022?
What directions are you most excited about?
Which topics do you deem as interesting to explore yourself?
Do you already happen to have rough plans about 2023?
Cheers
Norman
_______________________________________________
Genode users mailing list
users@lists.genode.org
https://lists.genode.org/listinfo/users