Hi Cedric,
your enthusiasm is a beautiful sight. I find your perspective as a newcomer immensely interesting. Thank you very much for joining the discussion. :-)
I'll now 'do my part' with Genode though: will open a micro-blog in a few days about my technical forays into Genode, my mistakes and misunderstandings and how I solve them.. So that others will save time. Including some additional thoughts on this email thread -- to help keep this message short(er than a novel). Once I have more exciting news items in store, I'll give my micro-blog wider circulation, on the haiku forums (they don't have a gigantic readorship, but they are very enthusiastic early-adopter types so likely worth the effort). Waiting until I announce "our flagship app runs on Genode" will carry more weight.
That sounds fantastic. Just out of curiosity, how does the genodians.org idea that I mentioned in my reply to Guide resonate with you?
This might relate to a similar topic I have in mind these days: if e.g. the genode team does not come up with an "official" desktop but leaves it to the community to do (several) implementations, we might end up with the fragmentation that is prevalent in the Linux world: there are many "distros", which I hear are more or less (sometimes "less") compatible with each other.
The way this decision making difficulty has always been addressed in the Be/Haiku world is something like, "choose reasonable defaults", "allow some (limited) easy customisations", and "keep power-user customisation accessible but under the hood".
I agree that we should learn from the experience with the fragmented Linux world and the much more coherent Haiku world.
We ultimately should strive for a agreed-upon official way. Right now, however, I feel that it's still too early to take informed decisions. So may we take 2019 as the year for desktop experimentation?
Concrete ideas for "spreading the word" on packages:
The single biggest issue I have with the 'depot' system and packages in Genode, is the lack of an introductory paragraph, explaining what each package is about. Small potatoes, right? Power users probably know software names by heart in their sleep? But there are lots of intermediate-style users who don't. It does make a difference.
Thank you for making this point.
Regarding the need to "get the word out" re. the existence of packages, and the fact that people's efforts tend to remain below-the-radar:
There should be a central depot manager, with a very easy way to add third-party repos (depots).
E.g. in the example I am familiar with, https://www.haiku-os.org/docs/userguide/en/applications/haikudepot.html one just has to invoke Tools > Manage Depots, add a new depot URL, and you may immediately download (and run) whatever is in that depot.
Those URLs are not 'auto discovered' though, one still has to read up about them e.g. in a discussion forum: someone would announce "I've created my own depot with my own app builds, here it is, use at your own risk". Then it's up to you to copy-paste the depot's address in the depot manager. Either that or, using a terminal, I'd type "pkgman add http...some-repo-here", and pkgman downloads the metadata and from now on "pkgman search foo" will return results also from that newly added repo (depot).
This is actually very similar to what I had in mind for Sculpt.
Qt seems to have become almost an industry standard.. But the documentation alone is dozens of MB big; at least that's how big it shows in the haiku depots here:
[...]
For that, and for other reasons I guess it will not be used by Genode as its "native" API of course. Looking at the nitpicker code seems to confirm that in spades.
In my reply to Guido, I described my personal stance. In short, your impression is correct.
To my (biased) eyes, the Be/Haiku API (organized in "kits") compares favorably to what I have seen in my coding life (incl. Java: the JDK is so broad and powerful.. but also of a more difficult access). There are some imperfections (BMessenger in the app kit, some aspects of the InterfaceKit, the Media Kit) that should obviously be fixed by whoever uses that API as inspiration. But it could indeed provide some inspiration to Genode. Developer should be able to tap classes like BButton, BMenu, BListView, automatic font-sensitive layout and the like. Modernized, cleaned up of deprecated calls, wrapped in namespaces instead of polluting the top namespace of course. Reading the source code of demo/scout and of sculpt/ I see lots of familiar things (repaint() is what I call Invalidate(), Window and NitPicker_Connection seem to be what I call a BWindow ..etc) but there's a big gap to fill.
[...]
Anyway, work will start soon on 'porting' the kits to Genode..
Wow! That is intriguing.
Will do some micro-blogging about it, post screenshots (still haven't found how to do a screen grab in Sculpt BTW.. now realizing maybe this is un-implemented on purpose, as it poses a security risk?) and the like, in case it's of value.
Indeed. However, we have a rough plan to enable features like screenshots and screen recording. Maybe, these are worth considering for the road map?
- I've gone "cross platform", my apps can be compiled against both Haiku and Genode with little if-def'ing, thanks to adding a
compatibility layer 'bridging' the userland API I'm used to and which (to me) is close to perfection.
- The systems we are selling are running TT-CC on Genode, customers are happy.
- I've started using Genode for non-coding day to day tasks (reading the news with arora? relaxing with Midwinter on dosbox ?).
- I've made some progress toward using Genode as a "self hosted" coding system.
- I've convinced at least a few in the Haiku community to take a look at Genode, and that working together could be a win-win rather
than a competition or a zero sum game.
- Tapping that "reservoir" of early adopter types proves to be a good idea, bringing developer and user resources to built momentum (to
both OSes).
- I wrote some code and uploaded it to chiselapp.com (probably MIT-licensed) that can be useful to others for day to day use of Genode
(lots of potential for writing apps, with the right SDK.. With the Be/Haiku API I can build a skeleton app in a day; maybe others would follow suit ..etc).
That reads like a very exciting adventure. :-)
Cheers Norman