SerenityOS: Year 3 in Review
serenityos.org
serenityos.org
https://www.youtube.com/watch?v=ZOzZ8R4gphE
Whether it's missing C++ APIs, unsupported lang features, missing SDL port impl, toggling kernel features - it all gets done in a 1hr sit down session to produce a shiny new Diablo port.
It was a characteristic Andreas experienced at Apple where all code and expertise for macOS was maintained in-house. This does mean everything inc. the OS, Kernel & all default Apps like the Browser needs to be developed from scratch for SerenityOS, but its Browser is making good progress as seems the SerenityOS project and development approach resonates with a lot of devs where it's been able to attract a vibrant community with a number of active contributors.
I see a number of benefits of this approach starting with SerenityOS has to be one of the best code-bases to study and learn about OS development where you can see how all components integrate together in a consistent code-base (as well as being able to follow it being developed in real-time with 100s of videos on youtube.com/andreaskling), it enables cohesive behavior and appearance with everything using the same singular library set, it's easier to implement OS spanning features like being able to capture full-system profiles in its profiler, the code-base is easier to improve and refactor with full static code analysis and no need to maintain legacy/frozen ABIs.
But my secret second wish, is that the whole UI side of SerenityOS could be ported in its entirety to Linux. Finally, for the first time in decades, a pragmatic kernel with a pragmatic user interface. I would happily ditch GNOME, KDE, Sway, i3, Wayland, Pulseaudio, pipewire, Freetype2, Network Manager and the other myriad of components of the current Linux UI stack for something designed with passion and a coherent vision.
I am thankful SerenityOS exists and Andreas is working on it full time, well done people!
Which problems with existing operating systems does SerenityOS solve?
All of gnome, kde, win10 and osx give me an endless stream of distractions. Lots of superficial glitter, but every few minutes something minor bugs out, which is incredibly distracting. Alerts for the dumbest things everywhere. Nanyware. Blah blah something something experience really needs looking at. Oh no updates to install before next week which requires a paternalistic message, no matter if I shut of the computer daily.
The problem isn't what to add, but what to delete. And as win95 was damn usefull with 4mb of RAM, there's a lot to delete.
I'm using KDE as least worst option.
Edit: minor typo
For games, I had to reboot to dos. Doom II ran with 4MB if you threw smartdrv out, except the very last level was more a kind of slide show because it tried to load all monster graphics at the same time.
Gnome UI looks childish and overblown to me.
As an UI designer I can confirm that in recent years the trends to maximize engagement trough overuse of animation and unusable distractions is making me mad as hell. The useful and really effective design is invisible.
Or as the new generations of "tech founders" classify polished professional UI work - it is "not exciting enough". I have a different view on interfaces: Never use form over function methodology, the main goal of interfaces are to be useful and accessible.
UI matters for a vast majority of users and use-cases, I can live comfortably with tiling windows manager, but this is not the expected default.
That's why I stayed on Catalina for a long time, Apple has lost the focus from the past (and must reread some old HIG documentation for a change). Beauty is not a function of usability (example: the new Safari), the process of making interfaces more "exciting" and "fashionable" has his roots in marketing, not in product design.
I have tried in recent months all forms of DE's for Linux, the simplicity of Cinnamon and Mate was appealing but somewhat limiting.
KDE is modern and extendable, there are a ton of native apps and the experience of customizing the UI is more coherent and logical.
The only gripe that I have with KDE is the built-in telemetry, but luckily PureOS KDE is older implementation, so for now I am ok.:)
I am newbie in this world (from a desktop perspective), I guess I consumed more GNU philosophy in latest months.:)
May be I have unreasonable expectations, but you are right, the telemetry is opt in.
But don't worry. KDE as as free as it gets.
SerenityOS is shining right now because there is a modicum of control from a few people over many aspects of it.
user land in linux is the wild west.
Why not Haiku or something else?
From a development perspective I think this leads to Serenity building just enough of a foundation for the application/feature someone want. When the ad-hoc code starts to smell, clean up and abstract. Then repeat.
All of what you have described already existed in projects like RedoxOS, Fuchsia and Haiku.
Maybe those projects (Including SerenityOS) have more in common of being a complete and unified OS than having tons of fragmented system components and projects competing against each other like what you see in the linux desktop ecosystem.
Maybe this whole confusion stems from the Linux model dominating the FOSS space when other open source OS’s don’t conform to that approach.
I took a few minutes to look at the included snake game because I recently wrote a cross platform snake game using SFML and thought I could quickly get a feel for how things were done. Simply and efficiently, it turns out.
not something I expected to read, kudos on turning life around and being open about it
Remember folks, GitHub IS Microsoft, and going through GitHub money you are fattening Microsoft as well.
For example crypto, font rendering, etc
It does maintain a large number of ports you can install as add-ons to be able to use existing software, tools, languages & games, etc in SerenityOS.
https://github.com/SerenityOS/serenity/tree/master/Userland/...
No, you cannot as long as you don't completely ditch all those considerations that lead to the crap that pretends to be an os.