prohobo 4 years ago

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.

  • gfody 4 years ago

    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

    • nmstoker 4 years ago

      Mac also caved after a real highpoint of good definition in the 90s.

      With MS, they just seemed to stop paying attention to their own guidance and much preferred doing their own thing (see most editions of Office!), people just got fed up and it seems like it crumbled from there.

    • bluedino 4 years ago

      I think that Windows 2000 and Max OS were the pinnacle of clean Interfaces.

      It seems like once the graphics capabilities became common, OS interface developers used them even when they shouldn't have. Remember when moving windows in Linux had a "jiggle" to them? The genie effect in OS X? What about the "cube" of multiple desktop? I still don't know what the point of transparent windows is.

      A few effects are useful - like aero peek in Windows.

      • doubled112 4 years ago

        I think some of those animations make the desktop behave a little more like objects would in the real world.

        For minimize, whether it's a line that shrinks, a genie lamp, a simple shrink effect, it's all the same. A simple visual cue telling you where it went.

        A little form with the function is fine with me. There's a ton of computing power in even the weakest of machines. That said, I hope we'll always be able to turn it off.

        Even a default install of Raspberry Pi OS uses a composited window manager on the RPi 4 now.

        • ori_b 4 years ago

          > I think some of those animations make the desktop behave a little more like objects would in the real world.

          Why is this desirable? Objects in the real world have many inconvenient properties.

          • BobbyJo 4 years ago

            It can make things more intuitive. If you use mental models people already have, they tend to pick things up faster. I think the point of the cube, for instance, was to help people keep track of multiple windows a little easier by making it spacial as opposed to just a list. Maybe it wasn't very effective in that case, but I think the hypothesis was sound.

      • edgyquant 4 years ago

        I think a lot of these things make interactions more pleasant, definitely more aesthetically pleasing. I know people love to hate on everything new but I grew up on early windows (my first PC was Windows 95) and I always thought it was kinda ugly but PCs couldn’t handle much more.

        • tpxl 4 years ago

          I think you can face-lift the W95/W2000 system without losing the usability, people just didn't do that. That's what I hate the most about "modern" UIs, designers make them look pretty and degrade usability, instead of just making them pretty.

          • CRConrad 4 years ago

            > That's what I hate the most about "modern" UIs, designers make them look pretty and degrade usability, instead of just making them pretty.

            What's worse is, (at least IMO) they aren't even particularly pretty.

          • edgyquant 4 years ago

            What would you say the modern windows shell is missing that existed in Windows 2000?

          • chillfox 4 years ago

            XP is basically the W95/W2000 interface but pretty.

      • qwerty456127 4 years ago

        > It seems like once the graphics capabilities became common, OS interface developers used them even when they shouldn't have.

        When you release a new OS version it has to look fresh or nobody will want it.

      • michaelbrave 4 years ago

        I remember really old Macs had a thing to pull the bottom corner up to take a peek at what was behind that window, it was neat and never seen again

      • CRConrad 4 years ago

        > I still don't know what the point of transparent windows is.

        But about half of Linux YouTubers proudly display them. (Between you and them, the clueless one isn't you.)

    • laurent92 4 years ago

      And the keyboard shortcuts! Don’t forget the keyboard shortcuts! Which could help you automate, if you save a Windows macro and repeat it.

      And the F1-Help! In context, boring but always available.

      And the rearrangeable toolbars, native!! The status bar, not the flimsy tooltip at the bottom which disappears.

      And the treeviews! And the files ordered by name! Nowadays everything is ordered by “Most recently seen” so you can go back to the past because of the infinite roll. Everything was ordered and safe there. But you would lose your mind if you didn’t reorganize your desktop regularly, and that has faded away, no-one needs to organize files nowadays.

      Windows had reached an incredible level of usability, complete with blind and disability support, scriptable, standardized, reorganizable, repeatable UIs.

      Then the web appeared and despite having a searchbox in every app, there still isn’t a keyboard shortcut for it.

      • 1_player 4 years ago

        > the web appeared and despite having a searchbox in every app, there still isn’t a keyboard shortcut for it

        This infuriates me. None of the browsers have a shortcut to "search this highlighted text with Google". I instead have to right click, and carefully pick the option between "Print" and "Copy".

        Not a single one, for an operation I do 200 times a day. I do not understand how it is possible. It's the most common operation I do in a browser.

        • garaetjjte 4 years ago

          I use Ctrl-C Ctrl-T Ctrl-V ENTER for this.

        • jbbe 4 years ago

          All my browsers (firefox, chrome and safair) on mac have this behavior at least. Do none of the windows browsers have the feature?

    • rodgerd 4 years ago

      The biggest problem - across a lot of fronts - was that we abandoned the idea of consistency and rooting these things in research. The original success of the Mac interface was rooted in the HIG which provided rigorous, clear, and (at least sometimes) evidence-based principles for UI/UX. Sun paid a bunch for work to be done on the GNOME 1.x series at one point, to try and significantly improve it.

      The HIG is no more at Apple. GNOME design decisions are justified with comments like "I asked some friends and they liked this better". Most of the pain in Windows 10 are all the jagged edges where you cut from one era to another for no particularly good reason.

    • ansible 4 years ago

      > ... let us know what could be clicked or right-clicked ...

      Oh my gosh, yes. This is what drives me to distraction with recent Android releases. I'm tapping on things in the battery settings menu that used to do something, but no, not anymore.

      Seriously, what is so damn awful about having some visual indication of what is a button?

    • robbedpeter 4 years ago

      Fundamentally, ui has to be a consequence of function - there's a pragmatic reality to how a thing is used that informs the limits of the representation of controls. In a visual context, it's less about skeumorphic analogs and more about how the brain maps those controls to things we already know.

      This is muscle memory and plasticity in action - the relative locations, stateful appearance, and behavior of controls gets mapped in our brains in the same way as taxi drivers learning the routes in a city, a violinist learning fingerings, or a child learning the alphabet.

      "Muscle memory" is required to establish foundations of more complex behaviors. Once you've built a user interface, you should not ever touch elements upon which the users have built those muscle memory mappings. Yo Yo Ma would be as lost as a child if you told him he had to play the bassoon instead of cello. After a couple years of practice, some of the higher level artistry could be brought to bear on the new instrument, but it's the low level fundamentals that matter.

      Firefox screwed with fundamentals, and their market share is evidence of why that shouldn't be done.

      Windows keeps pushing down that path as well, mistaking their current dominance in desktop as something absolute.

    • pjmlp 4 years ago

      Not only on the UI level, they were also responsible for COM's revenge on .NET after Longhorn, and the golden spot it now enjoys on Windows APIs, although most that don't do Windows think of it as gone.

  • godot 4 years ago

    Yes! My thoughts exactly.

    I'm pretty desperate for an OS UI that looks like this. KDE comes close but still too modernized.

    Would love to try Serenity on a laptop some time. Anyone know how usable this is as a daily driver?

  • 1_player 4 years ago

    If you like the Windows 98 era of UI design, I recommend you having a look at the GUI for the UNIX-like embedded operating system QNX. The care, tactility and readability of that interface is in my opinion unparalleled, and hidden behind a operating system few have heard of, and fewer even used.

    https://guidebookgallery.org/screenshots/qnx621

    I honestly think anything else produced since is worse than this, and since flat design has taken root, UIs have fallen off a cliff both in usability and style.

    I tend to get very Patrick Bateman-like when appreciating old UIs, the colour combination and choice of fonts on off-grey backgrounds, while modern interfaces just feel like there's no personality or warmth to them. Just flat uppercase #222 sans text on flat white background.

    • tailspin2019 4 years ago

      Looking at those screenshots, I can definitely see your point.

      For me, all the greys date it a little, but other than that it’s a simple, clean, elegant and highly consistent UI!

      The consistency is most notable. We’ve lost so much of that in modern operating systems (mainly Windows and macOS).

      It feels very approachable.

      EDIT: Now having watched the SerenityOS video(!) all the same comments above apply. Really nice work.

    • nyanpasu64 4 years ago

      Looks a lot like Haiku OS.

      • AnIdiotOnTheNet 4 years ago

        Yeah, while I haven't spent enough time in Haiku[0] to get familiar with really it's design language, it is so responsive, readable, and discoverable that it forced me to remember all that we have lost in personal computing because of... I'm not entirely sure who to blame, a lot of people who aught to be shot out of a cannon into the sun, I reckon.

        [0] sadly it doesn't even quite meet my relatively minimal almost-never-used laptop use case due to the only RDP client that worked at all being so horrifically out of date that it can't understand modern RDP authentication mechanisms.

        • waddlesplash 4 years ago

          > the only RDP client that worked at all being so horrifically out of date that it can't understand modern RDP authentication mechanisms.

          Do you mean rdesktop? Indeed it's pretty old and probably should be disabled, so I just did that.

          Did FreeRDP not work, then? It seems we had a 3-year-old version, so I just spent the morning updating it to the very latest (2.4.1). Seems to work fine here for me, I connected to a remote Windows machine successfully. (The port is missing a bunch of features, but the basics seem to work.)

          In the future you can report issues to HaikuPorts directly, or feel free to ping me on IRC/Matrix/XMPP.

          • AnIdiotOnTheNet 4 years ago

            Thanks, I will take a look when I get home. I was using rdesktop via BeRDP and on its own, but it choked on the auth portion. IIRC FreeRDP failed to launch. Also tried the KRDC port but it never gave me the option of using RDP despite its claims.

            I was a little annoyed at the gigantic pile of packages that came along with those last two options, but there's no need to rehash rehash that argument. I do wish there had been an obvious way to clean those up after removing the applications they supported though.

            • waddlesplash 4 years ago

              FreeRDP is CLI-launch-only, so if you tried to start it via the GUI, that may have been your problem. We should probably rework BeRDP to use FreeRDP instead of rdesktop, but that's more involved.

              I think KRDC may be hardcoded to use "xfreerdp", so it won't find the Haiku variant.

              Yeah, "autoremove" isn't implemented unfortunately, nobody has gotten around to that yet. It would indeed be nice to have.

              • AnIdiotOnTheNet 4 years ago

                I was launching it via the CLI. As I said, I'm afraid I do not recall the reason it failed to launch. If it does so now that you have updated it I will forward what information I can through the appropriate channels.

      • m0zg 4 years ago

        Which itself is a carbon copy of BeOS, as far as UX is concerned.

      • bsdooby 4 years ago

        An operating system a want on my laptop for so long now (native boot)...

    • girvo 4 years ago

      BlackBerry's tablet (which I loved; combined with a cheap Curve and a $40 AUD a month prepaid plan, I had unlimited internet access on both devices, super neat) was based on QNX if I recall correctly! Though it had its own touch UI on top of it.

    • thedailyhustle 4 years ago

      ive seen first hand at an amazon sortation/distribution warehouse i worked to construct just last year used QNX for their automated conveyor and barcode sortation system, i guess since its a real-time OS? I love the UI as well and it was really neat to see QNX in the wild.

    • sigzero 4 years ago

      Loved it when it came out. I tried the floppy demo a few times. It was impressive.

  • bob1029 4 years ago

    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.

    • andai 4 years ago

      XP explorer is so much faster it blows my damn mind. I ran it inside Windows 10 in VirtualBox, the explorer window opens instantly and navigates instantly, while the new explorer has lag with every operation. The best way to see this is to copy or rename a file. Explorer, a Microsoft product (presumably better integrated with the kernel) will take a second or two to show the result of the action that it itself performed (!!), while Sublime Text open in the background will detect the change and display it instantly. Madness!

      • 0xcde4c3db 4 years ago

        I feel like way too many engineers ca. 2005-2010 internalized the misconception that "asynchronous" is synonymous with "I don't need to care how long it takes". It turns out that the distinction isn't trivial.

      • exikyut 4 years ago

        I wonder if Explorer is deliberately updating the display after a timeout to handle the scenario where many files might rename in short succession.

        One simple way to handle this could be to compute the timer to fire at $last_rename_time + $delay, initialize $last_rename_time to 0 (and later set it to the current time in milliseconds), then only actually start the timer if the calculated value is actually in the future (which it won't be for the first run).

        Of course... Explorer might (...still) be using periodic polling. xD

        You might be able to use Event Tracing for Windows to find out if Explorer is actually following events in real time, with the minor caveat that it might be a bit of a project. I gathered a small handful of ETW-related links over at https://news.ycombinator.com/item?id=28348564 a little while back FWIW.

        • aallen90 4 years ago

          I believe this is what's happening. I read something recently from Raymond Chen that it works like:

          1. Open file with the delete flag 2. Call a function to set the new file information 3. Close the handle.

          The signal that a file was renamed happens in step 2, and that signal/event is what many applications subscribe to. Explorer will wait until the rename is fully completed with the handle closed before showing the change.

      • mateuszf 4 years ago

        XP explorer stars so fast because it's already running. The desktop with the icons is actually an explorer window.

        • Narishma 4 years ago

          That's not the case in Windows 10?

  • akling 4 years ago

    >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 :)

    • mysterydip 4 years ago

      I'm sure you've seen this or similar paper before, but a good refresher from the windows 95 team: https://socket3.wordpress.com/2018/02/03/designing-windows-9...

      • akling 4 years ago

        Yes! That’s such a great post. For people interested in this, I strongly recommend getting a hold of the old Windows 2000 era user interface guidelines book from Microsoft.

        • edeion 4 years ago

          What book are you talking about? Is it "Microsoft Windows User Experience" published by Microsoft Professional Editions?

          Aside: Thank you for your video! It looks great and that's yet another OS I'd like to try and play with -- along with Plan 9, which Serenity made me think of a bit, and TempleOS because of the soul-saving effect of devoting to a hard piece of beautiful software craftmanship.

          • akling 4 years ago

            Yes indeed! “Microsoft Windows User Experience”. I got a used copy off of Amazon last year for $2

    • codetrotter 4 years ago

      Did you look into Neumorphism?

      It’s a recent thing, but in a way it is a callback to making it more obvious what is interactible and not.

      For a while, quite recently, it seemed to be catching on. But then it didn’t really catch on like.

      But I think SerenityOS with a Neumorphism style would be a really interesting experiment.

      https://uxdesign.cc/neumorphism-in-user-interfaces-b47cef3bf...

      • brandonmenc 4 years ago

        The Windows 95/98/2000 interfaces are imo kind of just the low-res version of Neumorphism.

        Which I like.

      • 1_player 4 years ago

        Neumorphism is interesting, but as far away from Windows 95 style as can be.

        It's tactile, yes, but low density, low contrast, borders are non existent, colours are used to create intense gradient background palettes, instead of using them to increase readability and usability.

        Neumorphism has all the drawbacks of modern flat design, with none of the benefits of old UI design studies. But it looks cool.

      • Aeolun 4 years ago

        I do not like that at all. It looks like the stuff I designed when I just started university.

    • flenserboy 4 years ago

      Do check out the Spotlight version in Tiger — the first iteration has been the best iteration of it, by far. You might be able to pick up a few things!

    • DragonL80 4 years ago

      @akling, I want to take a moment to comment just how amazing recovery can be. As someone who's suffered some similar substance issues. Thank you for being a great example of just how amazing of a place the mind can be when its trained onto something that gives us meaning and direction. I am in sheer awe of what you've created. Its incredibly powerful but yet so simple its staggering. I am so following the progress of SerenityOS (i get the name too, btw) and look forward to seeing great things come of it and from you.

      • paraiuspau 4 years ago

        Just to second what this good person here has said. Having suffered with substance abuse myself, it truly is inspiring to follow your accomplishments Andreas! I love that your hostname is 'courage', and like my fellow poster here, Serenity makes a lot of sense. Much strength to others having walked/still walking on a dark path.

    • zozbot234 4 years ago

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

      With current 90s themes for GTK+, "breadcrumb" segments appear just fine as buttons. It works quite well in practice.

  • walrus01 4 years ago

    If you liked the simplicity of windows 2000 you'd likely do find with an XFCE4 desktop environment.

  • alx__ 4 years ago

    I feel like it's a product of the era we grew up in. Or the OS that made you fall in love with computers.

    For me that was Mac OS 8 on the first iMac :)

    • topspin 4 years ago

      For me it's the efficiency. The 90's era Windows UI and applications ran productively on machines with 8MB of RAM. That's an enormous amount of value for what amounts half today's desktop CPU cache. The limited memory forced developers to conform to the OS provided API and resources (fonts, color pallets, image formats, etc.) and the result was small, fast, consistent applications.

      Today this discipline survives in mobile devices. Meanwhile, our desktop operating systems are festooned with a multitude of widget toolkits and language runtimes yielding wildly diverse, inconsistent and often fragile behavior and require 3+ orders of magnitude more memory.

      Aside from (usually) pretty nice font rendering, what has actually been achieved with all of this?

    • badsectoracula 4 years ago

      I don't really think it is only that. My first OS was DOS and i used Win3.1 a lot and while i do have nostalgia for those two, i think Win9x was better in terms of GUI design and as others have mentioned, the peak was around Win2K (though not everything was going upwards, i still think border-on-hover introduced in Win98 was backwards and essentially the herald of featureless form-over-function modern flat design).

      And ever since i started using a window manager in Linux (somewhere in early 2000s) i really liked Window Maker's style even though i never used NeXTSTEP for many years (in fact the only time i used it i was kinda disappointed at how primitive it was in terms of window management compared to Window Maker :-P).

  • DeathArrow 4 years ago

    UX means user experience, not user interface. And it does not have to be beautiful, but functional.

narush 4 years ago

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

    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 :)

    • girvo 4 years ago

      Props for making it through rehab by the way. I also fought drug addiction, though in a different country to yours! I completely understand the drive to have a coding project as a part of recovery -- I've done the same, though my projects are much less impressive than yours :)

    • busymom0 4 years ago

      Can you share a few pointers on how one would go about starting with writing their own OS? I do have iOS and Android dev experience.

      How does one even go about writing something from scratch which runs on a particular hardware?

      Is this possible to do for mobile OS? Lets say writing an OS from scratch for mobile?

      • erklik 4 years ago

        You should watch his videos. They shed quite a bit of light on SerenityOS is written, and it's given me a lot of insight on OSes work.

  • dovyski 4 years ago

    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 :)

  • NaturalPhallacy 4 years ago

    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.

Kranar 4 years ago

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

    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

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?

  • tuckerpo 4 years ago

    Andreas just gets stuff done. Watch his live content sometime.

    • johnwheeler 4 years ago

      Unacceptable. If this is so, I quit.

    • alpanka 4 years ago

      That's the part I find most impressing.

      "Today we are going to add X"

      2 hours later: X is added and working fine.

      Meanwhile, at work I could easily spend 2 hours looking for a GCC flag or figure out why the build script fails on arch after latest update

      • jerrre 4 years ago

        At the risk of being nitpicky:

        Updating tools in your environment/workflow is exactly a thing that can lose a lot of time, often for not much gain[1]. One way to become very productive is to know your tools very well, and that would extend to not changing them often.

        [1] not much gain in productivity, but perhaps in security, compatibility, etc

        • alpanka 4 years ago

          You are ignoring that we often use software created by other people.

          Raise your hand if you have ever spend an afternoon trying to get someone else's build scripts working. Wondering why make, cmake, scones and ninja are used in the same project...

          • calvinmorrison 4 years ago

            There you nailed it. Want a feature X in the plan9 kernel? Okay, add it. Recompile and Run. When a system is self contained and has fewer external users it's easy to iterate and develop without the fear of breakage

  • akling 4 years ago

    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. :)

    • tails4e 4 years ago

      I've watched many of your videos and love your approach to building complex features, building the skeleton first with asserts for uimplemeted code paths. However I'd love to see how you got started, the first early (before gui) steps of the kernel. Is that documented? The earliest git checkin I found was already a pretty capable os. Huge congrats on building such a positive community by the way.

      • cxr 4 years ago

        > love your approach to building complex features, building the skeleton first with asserts for uimplemeted code paths

        Write code top-down <https://www.teamten.com/lawrence/programming/write-code-top-...>:

        > With bottom-up design you start with the components [...] Designing a component is a small tractable task that can be finished and called _done_. You’re creating a perfect, beautiful, reusable jewel. All engineers really want to _do_ is write components. [...] At every level there's pressure to do bottom-up programming. Avoid it. Instead, start at the top, with `main()` or its equivalent, and write it as if you had all the parts already written. Get that to look right. Stub out or hard-code the parts until you can get it to compile and run. Then slowly move your way down, keeping everything as brutally simple as you can. Don’t write a line of code that isn’t solving a problem you have _right now_.

        • jnsie 4 years ago

          I prefer middle-out myself...

      • akling 4 years ago

        I wasn't recording anything until ~6 months into the project. In retrospect, it would have been nice to have!

        There's a bit of history about early development here: https://serenityos.org/happy/1st/

        Also, one of my earliest videos was showcasing some pre-YouTube builds of SerenityOS: https://www.youtube.com/watch?v=rveS_vwp0y8

        • tails4e 4 years ago

          Thanks, that was a great read and watch. The progress made over a few weeks was immense.

          I didn't know about computron until you mentioned it in the video, so I have to ask, would serenity run under computtron? If so, could a serenity port of computron run serenity in serenity?

    • eranation 4 years ago

      Amazing job, hope it becomes the new Linux some day, who knows. What did you add that might be interesting from a security standpoint? Things like “hardened out of the box” or “buffer overflow protection” or “network anomaly detection” or ability to plug in things that will make endpoint / server security easier can make it very popular!

dang 4 years ago

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

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

    Chrome is an OS.

    Edit: Well, practically.

    • baq 4 years ago

      Chrome is the new Emacs.

      Great OS, but the browser sucks.

    • sigzero 4 years ago

      Well there is "Chrome OS" so you're not wrong.

clone1018 4 years ago

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

    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.

    • akling 4 years ago

      The more the merrier! And I would love to see more alternative browser engines as well :^)

aledalgrande 4 years ago

did he just right click on a terminal file to open it (°0°)

  • makeworld 4 years ago

    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

    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. :)

    • ziml77 4 years ago

      iTerm 2 does do that with files. You just have to cmd-click the filename.

      • winrid 4 years ago

        Nice! Still not on the same level of Serenity but very helpful, thanks.

  • baq 4 years ago

    I NEED THIS

    which terminal supports this out of the box?

  • satysin 4 years ago

    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.

slekker 4 years ago

Everything is so snappy and fast and feels lightweight, I wish there were Linux distributions focusing on these kind of aesthetics

InTheArena 4 years ago

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

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

    and scrollbars that don't disappear when you try to use them!

martin1975 4 years ago

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

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

    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

Damn, the GUI brought back sweet memories. The OS as a whole looks nice too.

  • squarefoot 4 years ago

    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

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

    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.

    • phendrenad2 4 years ago

      Or you could write a library that parses /proc into JSON, and everyone could include it if they want it.

wheelerof4te 4 years ago

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

    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

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

    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 :)

    • bitigchi 4 years ago

      Haiku is actually quite usable on a wide variety of hardware (I use it myself on bare metal), it only needs a browser port such as Firefox. Falkon has been ported as of yesterday, but still might need fixes and stuff.

      In case the the graphics drivers are not supported, VESA and/or Framebuffer drivers come to aid, and provide a usable system.

    • pjmlp 4 years ago

      It is good enough to run on top of type 1 hypervisors like Hyper-V and Xen, like all those systems powering all cloud flavours out there.

    • Dessesaf 4 years ago

      I don't see a problem with a QEMU-only OS. Serenity is explicity designed for personal use. It's not a headless OS in any way. I could see it being useful in a corporate environment where it's useful to have a windows host for business reasons, and you run your unix-like system in a hypervisor for development. That's how I work, and I think quite a few people work like this. Serenity is perfect for this.

      And obviously, nothing prevents people from writing drivers eventually. Andreas probably wants to run Serenity on whatever his hardware is eventually. But there's little point in doing that till we actually have a mature system that anyone would want to run daily.

    • olliej 4 years ago

      There are additional crazy folk working on bare metal support.

      I’m waiting for someone to start working on a custom cpu for it at this point :)

throwawaysea 4 years ago

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

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.

usaphp 4 years ago

I love Andreas’s YouTube channel, such a nice and relaxing stream of quality programming

grae_QED 4 years ago

Thanks for sharing your project! The passion you put into It definitely shows! Serenity OS looks amazing, and your projects paradigm's align with some of my own for general purpose software.

If I wasn't so locked into my own software ecosystem, and I had time to dabble with a new OS, I would absolutely try yours out. For the time being, I'll subscribe to your YouTube channel.

daitangio 4 years ago

I have downloaded Serenity and played a bit with it after HN link to Ars Technica article. Very nice, well written and compact: it runs with only 128 MB of RAM (!) and it is very very fast.

Also mailing list very kindly, I asked some simple questions and answer was polite and wellcome.

If you are studying operating system at your university course, it is worth a try!

  • alanwreath 4 years ago

    Pfffft I got browser tabs that use less than that /s

tester756 4 years ago

Dumping data to json seems to be incredibly handy!

Thank you for your effort folks

qwerty456127 4 years ago

Please add an "always on top" button to the window decorations alongside maximize/minimize/close. I want it badly and feel very frustrated because it only exists in KDE. I want it in all the non-tiling window environments I use including XFCE, Windows, Mac and Serenity.

burky 4 years ago

I'm just as interested in his journey that brought him here as I am with this OS. So amazing!

bdash 4 years ago

Awesome to see that you're doing well, Andreas!

  • akling 4 years ago

    Hi bdash! Great to see you here, and I hope life is going well for you too :)

emptyparadise 4 years ago

An operating system for a better world...

eggy 4 years ago

Wow! I love the mashup of unix/linux command line functionality with functional gui. I had been looking at Mezzano, because I prefer Lisp, but then I thought it would be great to implement a Lisp on SerenityOS with all native tie-ins to the gui and OS. Hmmm... So inspiring!

meltedcapacitor 4 years ago

Has SerenityOS got a setting for the location of the "light" source?

Back in the days there was no good explanation for users who asked how to change that. Windows95 and clones were all hardcoded with a top left light source producing the buttons' shadows!

_daver 4 years ago

This is a really cool project and I want to see it succeed. I realize the FAQ states "There is no plan". That aside, are there any longer-term goals for the project or things they want to support in the future?

qwerty456127 4 years ago

This is the most brilliant software project ever and this man is a genius messiah.

nightowl_games 4 years ago

I'm not a kernel developer and know very little about OSes. I watched this video thinking I woulnt get it and would find it boring. Within 2 minutes my mind is blown. Amazing Job.

Maksadbek 4 years ago

Very impressive! The GUI is very similar to an old friendly Windows style, did Andreas intentially designed it such way or use some 3rd party framework ?

  • stohk 4 years ago

    From the github 'SerenityOS is a love letter to '90s user interfaces with a custom Unix-like core. It flatters with sincerity by stealing beautiful ideas from various other systems.'

    The video in the link, Andreas mentions that its all from scratch.

    • breakfastduck 4 years ago

      It's all built from scratch, but it is clearly influenced by other systems in terms of design.

      I'm not sure how those two points conflict.

      • Synaesthesia 4 years ago

        From what I understand about the seminal Apple vs Microsoft case in the 90's, theres a limit to how much "look and feel" can be patented.

sergiotapia 4 years ago

This looks like a monumental effort from the dev. Is it really all 100% original code he wrote? GUI, browser, terminal, js interpreter, everything from scratch?!

Reminds me of Terry Davis' - one of the few programmers I believe is "genius level" in the world.

  • asddubs 4 years ago

    It is all original code, but he didn't write all of it, there are lots of contributors at this point

  • m0zg 4 years ago

    The CPU emulator looked like Valgrind judging by the output. So you'd have to stretch the definition of "original code" to the max for it to hold up.

    • Kiro 4 years ago

      No, it's from scratch but inspired by Valgrind.

    • wheelerof4te 4 years ago

      You can see him program it from scratch on Youtube. He specificaly mentioned Valgrind as an inspiration.

jbverschoor 4 years ago

This seems more sane than any other thing out there

beebeepka 4 years ago

Truly monumental.

What hardware do I need? Also, gaming needs to be a thing. What would it take to have say Quake 3 run on your OS?

  • wheelerof4te 4 years ago

    Not Andreas, but he was able to port some older games to Serenity.

    Games like DOOM, original Quake, DukeNukem and Diablo 1. You should be able to compile some NES emulators yourself.

    The OS itself runs in custom VM, but Andreas did manage to run it on his PC.

    • anthk 4 years ago

      SDL/SDL2 and games/emulators/interpreters like Scummvm/Frotz/Mednafen should give Serenity OS a huge array of games.

busymom0 4 years ago

Does this need a specific hardware to run?

Is it possible to port this to mobile?

mynameismon 4 years ago

Is it just me or do some people find the grey theme (yielding the nostalgic UI) off-putting?

  • Narishma 4 years ago

    I find it beautiful.

marcodiego 4 years ago

SerenityOS is interesting. Hope it doesn't get the same end as SkyOS.

  • karteum 4 years ago

    SerenityOS is licenced under BSD-2-Clause License while SkyOS was entirely proprietary (and therefore disappeared when its development stalled), so the comparison seems irrelevant (your point would be more relevant if you were mentioning Syllable instead, which was quited advanced and open-source, yet somewhat seems to have disappeared... https://en.wikipedia.org/wiki/Syllable_Desktop . But since source-code is available anyone could restart it :)

    I also hope that SerenityOS has a long and successful lifespan, as it seems promising !)

    • marcodiego 4 years ago

      AFAIR SkyOS started as open source. But considering current direction, I really don't think there is any risk of the same happening to SerenityOS.

encryptluks2 4 years ago

A lot of effort, but besides the nostalgia effect I don't see how anyone could take something like this seriously for everyday use. After using a multitude of window managers on Linux, it just doesn't make much sense to me to go backwards rather than forwards.

  • plorntus 4 years ago

    It's not for actual everyday use (afaik it never will be either), it's built for those that want to build and explore a from scratch OS.

  • pjmlp 4 years ago

    It isn't yet another POSIX clone, that is the main difference from Linux right there.