Hello Norman,
My break-down of your writing is that the biggest challenge for the user-model is to structure a
1) user-relationship via the
2) desktop to a
3) chain of interacting components with regard to data
4) persistence and
5) access
I describe this "chain of interaction" as "complexity," but complex data is usually described as "dictionaries" --showing low comprehension of it. Shell, in particular "comprehended" complexity so effectively with its file-objects that I think we fell into a homeostasis while we should have been extending it to create its own objects. Thus, we would have currently-valid interaction with the OS. An OO shell extension might include the "arrow" operator to define, or link, interaction between desktop objects.
I am attempting to create a summary of L4/Genode material including Drops and its OS kit components, the driver synthesis concept, and your alternative microkernels (such as Xen) to create SVG charting material. I have seen Lua used in L4 boot, so that should go in the summary as well.
Preserving the GNU/Unix gcc structure makes sense through "eating your own dog food" it provides an easy entry point for younger free/software programmers. Because these young programmers probably have limited resources, the computer running Genode (such as a flashed Android device) might be their only one, so allowing them to use this device for development reinforces "eating your own," well, vegetables. As an early administrator, I recall that Shell's and GNU's simplicity as its asset allowing for easy inquiry into efficiency, practicality (usability), and security. It was easy to make a good living when Shell was king from 1990-2000.
Regards, John