top | item 29270776

SerenityOS demo at Handmade Seattle 2021 [video]

786 points| awesomekling | 4 years ago |media.handmade-seattle.com

180 comments

order
[+] prohobo|4 years ago|reply
I've been thinking recently that Windows 95/98/2000 had better UX than you can find nowadays on most websites, and while not "beautiful", it was still aesthetic.

That + a good console? Great idea. I'd love to see some innovation with the old school design ethos too; maybe there are even better ways of displaying controls? Or maybe a new way to think about controls that weren't around back then.

[+] akling|4 years ago|reply
>I'd love to see some innovation with the old school design ethos too; maybe there are even better ways of displaying controls? Or maybe a new way to think about controls that weren't around back then.

Oh yeah, this is something we've been exploring (carefully) with SerenityOS! There's obviously been a lot of good UI/UX innovations since the late 90s, and it's super interesting to look for ways to integrate them with the classic aesthetics.

As an example, we use breadcrumb bars in our file manager, to display the current directory as a part of separately interactive segments.

And we also have "Assistant" which works similarly to macOS Spotlight, for fast access to a range of data providers.

I'm sure there are many similar concepts we have yet to discover :)

[+] bob1029|4 years ago|reply
Our current product has a UI that is on par with windows 2000. We reuse the same ~26 hand-rolled UI elements on a fixed-size layout. Things like alpha blending and pixel shaders are a distant fantasy for us. Target market is highly regulated B2B, so we have more tolerance to work with here. Everything is very serious business. No one really cares about button radii or drop shadows. They just want to push the paperwork as quickly as our screens will come back and then go home. We listen to our user delegates on a weekly basis. On the actual telephone for up to an hour. Any little UX gripes are usually dealt with judiciously as a result.

Nothing is more frustrating than a perfect UI being fucked up by the passage of time. You don't need fancy shit. You just need consistency and speed. Give me back my xp-era explorer and start menu snappiness. Put a high speed camera on a windows 10 task bar and record someone right clicking on it. You might need a larger SD card than originally planned for this activity.

[+] gfody|4 years ago|reply
I think that era of Windows stuck to the literature and best practices, the UI spoke to us in its own visual language and let us know what could be clicked or right-clicked or that it had focus and might do something if you hit the spacebar etc. etc. things that behave similarly look alike, all the clues you need to learn some software on your own were there, the visual language was teaching us how we're meant to use it, the more familiar we were with windows software the quicker we could pickup new windows software.

and then I don't know what happened Steven Sinofsky showed up with radical ideas that software should be beautiful and everything sort of went to hell? curious if there was actually some kind of event marking the beginning of the end of intuitive software design for MS

[+] narush|4 years ago|reply
Very excited to watch.

If you haven't checked them out, I highly recommend checking out Andreas YouTube channel [1]. It's the most interesting programming content I've ever watched - and I feel like he's honestly taught me a lot about programming!

[1] https://www.youtube.com/c/AndreasKling

[+] akling|4 years ago|reply
Wow, thanks for the endorsement! I'm happy to have found a way to share my love for programming with so many people, and it's even cooler when it helps someone improve their skills :)
[+] NaturalPhallacy|4 years ago|reply
Seconded. Dude is super positive and a hacker in the OG sense of the word. I watched him port Diablo to serenity in like an hour. Mindblowing. Quite frankly his ability is almost intimidating.
[+] dovyski|4 years ago|reply
I want to second that. Andreas YouTube channel is a great source of genuine inspiration. It's enlightening to see a person as skilled as Andrea doing such great craftsmanship regarding scoping things, improvising, making mistakes, fixing them, making compromises to achieve goals, and more.

I see Serenity OS, I upvote it :)

[+] Kranar|4 years ago|reply
The list of people speaking at Handmade Seattle as well as the topics sounds absolutely fantastic. So many conferences are either too corporate with presentations that are mostly flashy marketing, or they are technical but there's only like 2 or 3 people giving a genuinely solid talk. This conference looks like it has everything, great speakers and great topics.
[+] akling|4 years ago|reply
Agreed, the Handmade Seattle event was fantastic! They have started posting recordings of this year's event to the website, so you'll be able to watch all the talks there soon (AFAIK) :)
[+] johnwheeler|4 years ago|reply
I don't understand how they write an OS kernel, command shell, graphical shell, and browser in 3 years? I get there are more than a single person involved but it still seems very rapid.

What are the catches? Is it still very immature or assuming there was enough user-land software (which I'm sure there is not), is this ready for production use?

[+] akling|4 years ago|reply
It's still very immature and not ready for production use.

That said, you can do a heck of a lot in 3 years if you put in consistent time and effort towards something. :)

[+] tuckerpo|4 years ago|reply
Andreas just gets stuff done. Watch his live content sometime.
[+] dang|4 years ago|reply
These look like the past threads so far. Others?

SerenityOS: A love letter to '90s user interfaces with a Unix-like core - https://news.ycombinator.com/item?id=23911180 - July 2020 (1 comment)

Introduction to SerenityOS Programming - https://news.ycombinator.com/item?id=22479132 - March 2020 (43 comments)

Pledge() and Unveil() in SerenityOS - https://news.ycombinator.com/item?id=22116914 - Jan 2020 (28 comments)

CTF writeup: First published SerenityOS kernel exploit - https://news.ycombinator.com/item?id=21918351 - Dec 2019 (2 comments)

SerenityOS: From Zero to HTML in a Year - https://news.ycombinator.com/item?id=21212294 - Oct 2019 (52 comments)

Serenity OS update (August 2019) [video] - https://news.ycombinator.com/item?id=20851356 - Sept 2019 (2 comments)

SerenityOS – a graphical Unix-like OS for x86, with 90s aesthetics - https://news.ycombinator.com/item?id=19986126 - May 2019 (179 comments)

Serenity: x86 Unix-like operating system for IBM PC-compatibles - https://news.ycombinator.com/item?id=19537807 - March 2019 (83 comments)

[+] sonofhans|4 years ago|reply
Wow, that's impressive work. Kudos to Andreas for building a community as well as a tool

I'm equally amazed and horrified that they're building a web browser. It seems easier to build the native OS.

[+] queuebert|4 years ago|reply
Chrome is an OS.

Edit: Well, practically.

[+] clone1018|4 years ago|reply
I don't have anything profound to say, but I love alternative OSes like SerenityOS, and I wish the world had more of them.
[+] selfhoster11|4 years ago|reply
The one I usually recommend for people to check out is Haiku OS. I see diversity as a positive, and hope that all these OSes succeed at their goals.
[+] aledalgrande|4 years ago|reply
did he just right click on a terminal file to open it (°0°)
[+] satysin|4 years ago|reply
Yes, Andreas has an excellent eye for usability so SerenityOS and its included applications have a lot of wonderful quality if life features such as this.

I get quite jealous when I fire up the latest build of Serenity and see how functional the whole platform is in terms of QoL tweaks.

[+] makeworld|4 years ago|reply
I paused the video and gasped at this, I had to go back and watch it again. It's the little things :)
[+] winrid|4 years ago|reply
This blew me away. Seeing that was a huge surprise. I see a great future for this project.

Iterm2 does something similar with links, but not files printed from something like ls. We should fix that. :)

[+] bpye|4 years ago|reply
I saw this. Does any other terminal emulator do this?
[+] baq|4 years ago|reply
I NEED THIS

which terminal supports this out of the box?

[+] InTheArena|4 years ago|reply
I'd honestly love to see this with some modern workloads and practices. This guy seems like a total savant - there is something to be said for creating a whole system instead of layers.
[+] dmitrygr|4 years ago|reply
Ow, that hit me right in the feels! That wonderful UI. That wonderful amazing UI!

No light grey on dark grey text, no borderless buttons, no pointless 45% width margins.

[+] throwaway47292|4 years ago|reply
and scrollbars that don't disappear when you try to use them!
[+] martin1975|4 years ago|reply
I've seen his videos a few times via HN - how close is the OS to being able to use GCC or CLANG and say, compile all Debian packages.... which is one of the largest repos. I mean for this to really be usable it would have to be able to work well w/existing millions of lines of C/C++ code...
[+] losvedir|4 years ago|reply
Holy moly this is incredible! I'm not usually one to watch videos here, but this one was worth it (and pretty short).

I'm amazed that he built a whole new browser to go with his OS.

[+] akling|4 years ago|reply
Glad you enjoyed the video!

Just to be clear, while I started the project, it's since been hacked on by hundreds of people (we're well over 500 contributors on GitHub) and it's by no means a solo project anymore! https://github.com/SerenityOS/serenity

[+] nesarkvechnep|4 years ago|reply
Damn, the GUI brought back sweet memories. The OS as a whole looks nice too.
[+] squarefoot|4 years ago|reply
Yes, and it's a very functional GUI: well thought, informative, rational, with every section put where it belongs. It comes from an era in which GUIs were made to solve problems. I hope it will never ever ever go the path that GTK took after version 2.
[+] Retr0id|4 years ago|reply
One thing that regularly bothers me about Linux, is how janky it is to parse fields out of the procfs. Using JSON makes so much more sense!
[+] sneak|4 years ago|reply
You could make a fuse file system that reads /proc and provides /procjson

Alternately you could make a kernel module that provides /proc/js/ or /proc/whatever.json alongside /proc/whatever.

[+] wheelerof4te|4 years ago|reply
I've been following Andreas on Youtube for quite some time. It is a monumental undertaking to write a completely new OS from scratch, and I admire his perserverence so far.

He has managed to make a worthy tribute to both UNIX and old Windows aesthetic style. And he did it almost all alone. Of course, Serenity OS is now a living, breathing community, just as it should be.

BTW, the guy has even ported DOOM, old DukeNukem and freakin' Diablo 1 to his OS. Mad respect to Andreas, Serenity is truly a work of genius.

[+] JasonCannon|4 years ago|reply
I especially like how he did this all after getting out of rehab trying to spend his time on something productive. Mad respect.
[+] phendrenad2|4 years ago|reply
Anyone know what the driver story is with SerenityOS? Is it a standard Unix/Linux thing, where drivers have to be compiled against an unstable ABI/API? Or is it more like Windows where drivers are forward/backward compatible?
[+] haspok|4 years ago|reply
As far as I can tell, there are no drivers - this OS runs on QEMU only. I guess if you are lucky, you can get it to boot on a real system accidentally.

This is the opposite of Haiku-OS, for example, which tries to provide at least the minimal amount of drivers, and some people are using it on real hardware.

It was actually a really interesting decision, to concentrate all efforts on the fun parts of OS development, and completely ignore the 80% which is boring, frustrating, and requires a large continuous investment to stay up to date with the latest stuff. Looking at Haiku, they have been working on their OS for decades now, and still aren't in a generally usable form.

I'm not sure what a QEMU-only OS is actually good for, other than playing around with it, but maybe I'm not the target audience :)

[+] throwawaysea|4 years ago|reply
If I understand correctly, this one person and a small team of volunteers (?) built not only the core operating system from scratch but also the user interface and also apps like the browser? How is that possible? I would think this type of thing needs hundreds of engineers.
[+] Aaronstotle|4 years ago|reply
I first heard about SerenityOS via HN years ago, it's been incredible to watch Andreas' journey from hobby project to working on it full-time.

His hacking sessions on youtube are also great.