akling 4 years ago

Hello friends! I'm the original author of SerenityOS and it's a lovely surprise to see it on the front page of HN :^)

This project has been quite the journey for me, from starting it from scratch ~3 years ago, to quitting my job ~3 months ago to focus on this full time. [1] It's also grown from a 1-man project into a bustling open source community with 475 contributors and counting.

If anyone has questions about the system I'm happy to answer them! I also have a huge library of content on my YouTube channel [2], where I've uploaded hundreds of videos of me working on the system in real time, and also monthly update videos (since April 2019) where I demo recent developments.

Our main community hub is over on Discord for anyone interested in joining development. [3]

1. https://awesomekling.github.io/I-quit-my-job-to-focus-on-Ser...

2. https://www.youtube.com/andreaskling

3. https://discord.gg/serenityos

  • davidkunz 4 years ago

    Hi Andreas,

    It's astonishing how much you've achieved with SerenityOS. The sheer amount of high-quality YouTube videos explaining the process is unprecedented. Keep up the good work!

  • hulitu 4 years ago

    Is it possible to compile and run existing unix programs ?

    • akling 4 years ago

      Certainly! We have a growing library of ports [1] that you can build with a single command to add 3rd party software to the system.

      Note that unlike many other operating systems, SerenityOS aims to be completely free of 3rd party software in the default install. So we build everything ourselves, all the way from the kernel to the web browser. It's great fun!

      1. https://github.com/SerenityOS/serenity/tree/master/Ports

  • als0 4 years ago

    Inspiring work. When you started working on Serenity it had a floating dock and macOS-like menu bars. Now it looks more like Windows 2000 in style. What made you switch to this design? Familiarity?

    • akling 4 years ago

      I removed the global menu bar after realizing that it's incredibly tedious to use at large resolutions. It made some sense at 640x480 and 800x600, but at 1080p and beyond, you run into a great deal of mouse travel between a window and its menu bar.

      • uuddlrlr 4 years ago

        The trade-off for the mouse travel is only needing to align the click on the X-axis.

        • maskros 4 years ago

          That's only one way. Don't forget about the return trip.

        • aasasd 4 years ago

          Exactly: if implemented right and there's no gap between the menu and the top of the screen where the cursor does nothing, then you can just mostly jam the mouse in the general direction of the menu item.

          Notably, Microsoft managed to bungle this initially in Windows with the task bar: there was a one-pixel gap between the buttons and the bottom of the screen, so you had to aim for the buttons or to readjust the cursor each time. (Though personally I find the downward motion more awkward anyway, both because the wrist action is weird and because the wrist and the wrist support are in the way.)

      • eloisant 4 years ago

        If the speed and acceleration is correctly configured, the mouse doesn't have more travel to do at a higher resolution.

        • messe 4 years ago

          The DPI is also relevant. I find the global menu fine on my 13" MacBook even though it's 2560x1600, but it can be a bit tedious on my 28" display when I have multiple applications open side-by-side.

      • schmorptron 4 years ago

        A minute of silence for Ubuntu's unity, where they completely solved top bar UX by having the option to have it in the window title bar. God I wish they hadn't abandoned development on it.

        • zibzab 4 years ago

          Technically gnome expands on this, allowing you to put even more stuff in the top bar.

          But yeah, I miss unity too.

          • schmorptron 4 years ago

            I really prefer the ubuntu way to the Gnome one. Currently, very few actually productive apps use the gnome 3 way, and it's not nearly as standardized across Desktops as the menu bar is. On top of that, menu bars behave the same way across all applications. You click them, and get corresponding actions and menu items you can read and skim through. The Gnome 3 way is a lot less unified, because you'll have to decipher icons and guess at what they do ( save for the simple ones like a +).

            This is extra frustrating to me since I absolutely love everything else about the modern Gnome UX, but the refusal to bring in a top menu bar or at least integrate it for powerful apps like gimp, vscode or blender stings and makes it so many times you have 3 top bars wasting vertical space in maximized apps when it could be two or even one.(Activities-button bar, Window title, GIMP menu bar)

      • Koshkin 4 years ago

        This makes a lot of sense. I wish Apple did this, too.

      • dev_tty01 4 years ago

        Travel distance is not the right metric. The question is how easy is it to acquire the desired menu as a target and select it.

        https://en.wikipedia.org/wiki/Fitts%27s_law

        Putting the menu bar at the edge of the screen effectively makes it an infinite sized target so it is much easier to target and select. Menus at the top of a window are easily overshot and missed. Travel distance is easily solved by appropriate acceleration in the pointer driver.

        • jhasse 4 years ago

          I much rather have my browser tabs there as I need to switch them much more often than accessing the menu.

      • qwerty456127 4 years ago

        > but at 1080p and beyond, you run into a great deal of mouse travel between a window and its menu bar.

        1. Somehow this feels Okay on Mac.

        2. You don't actually have to travel the mouse if you use hot keys.

        3. The coolest thing the global menu system can give is application-agnostic menu searching.

        • jhasse 4 years ago

          3. can be achieved without a global menu. Menus just have to be registered with a global API.

          • qwerty456127 4 years ago

            Obviously. But I doubt app authors will bother registering menus with a global API if the global menu is not a platform standard every user expects them to follow (which is how it is in the Mac world).

            • qwerty456127 4 years ago

              This was also illustrated by Ubuntu by the way. When Ubuntu had the global menu ootb most of the Linux GUI apps supported it. A significant portion of the same apps don't seem to support it in other distros/DEs even if I configure them (the DEs) to use the global menu. I tried Xubuntu, Manjaro KDE and ended up using classic in-window menu set-up because many apps used it anyway and I want the thing to be uniform (the situation when some apps use the global menu when many use their own seems ugly to me).

            • ghostpepper 4 years ago

              Any reason why the OS couldn't require menus to be registered only to draw them along the top of the application window?

              • qwerty456127 4 years ago

                Because everybody can draw their own menu in their window. Like Sublime and VSCode do.

                Nevertheless, if you require that, why not make the place where the menu is displayed configurable? KDE does - it offers 3 options: the global Mac-style menu (which you can put anywhere, even in the middle of the screen if you want), classic Windows-style menus or "hamburger" menu buttons (utterly inconvenient but I'm still glad there is an option for those who like it).

      • occoder 4 years ago

        The biggest downside of the Mac's global menu bar, to me personally, is that sometimes I lost track of what the active application is at the moment, and e.g. look for menu options for Chrome, can't find them, look to the left, and discover that the menu bar is for Terminal. It doesn't happen often, but often enough, and very annoying when it does.

        With a menu bar in each window, there's very little chance of this kind of confusion.

  • mysterydip 4 years ago

    I love the project and have it bookmarked. Your progress has been remarkable! I'm not sure what I'm going to use it for yet, but I really want to for something!

  • mdp2021 4 years ago

    I have seen the screenshots: I love it! It looks practical, a work-oriented environment.

    But not the font - too rounded, too jocular (I must have seen it a million times, but with distance it is not convincing). I remember having remained ecstatic with some thick versions of Futura on the Amiga OS in the mid nineties, maybe you could make some test.

    • filmroellchen 4 years ago

      By default, we have Liberation Serif and you just have to drag in TTF fonts into /res/fonts to make them usable for the system font. So it's not hard to change many parts of the visuals if you don't like them.

  • southerntofu 4 years ago

    Hello, thanks for helping make SerenityOS, it looks very interesting! I'm afraid i don't have the skills/time to contribute to development, but i'm interested to follow discussions. Is there a way to join your room from a free/libre decentralized client like IRC/XMPP?

    A bridging bot like matterbridge is fairly easy to setup these days, and i'm happy to provide free hosting for it (on a small volunteer-run infra) if for some reason you wouldn't know where to host it. I'm always a little sad to see amazing volunteer projects organize on Facebook/Discord ;)

  • Rochus 4 years ago

    Is there already a Qt version available on SerenityOS, or did anyone plan to migrate it?

    • akling 4 years ago

      There's a port of Qt 6 in the works (not yet merged) here: https://github.com/SerenityOS/serenity/pull/9362

      While hackish, it does look pretty promising: https://twitter.com/linusgroh/status/1426904775623385095/

      • Rochus 4 years ago

        That's cool, thanks for the links; I probably would have migrated Qt5 thought because it is much more stable and battle tested and uses C++98 which likely avoids many linker issues.

        • jhasse 4 years ago

          Qt5 switched to C++11 with 5.7.

          • Rochus 4 years ago

            But it's not mandatory, is it? Anyway, I would likely use the 5.6.3 version which was the last with LGPL 2.

            • ogoffart 4 years ago

              From Qt 5.7, C++11 is mandatory. Anyway, why would one want to use an outdated Qt version? I don't think LGPL3 is a problem at all for SerenityOS ports anyway.

              • Rochus 4 years ago

                > why would one want to use an outdated Qt version?

                Well, why would someone want to implement an outdated 90s UI? Apparently there are good reasons.

                I have many projects even with Qt4.4 and no need to go to a later Qt version. Qt4 already had everything I ever expected. Qt5 brings a couple of advantages (e.g. better modularization and backend API), but Qt5.4 is good enough for that.

                • ncmncm 4 years ago

                  It is never too late to decide to begin to learn again. The right time is always now. You never have to, or can, learn everything at once, but you can always learn one thing today, and another tomorrow.

                  Learning is cumulative, so after many days you can look back on much progress.

                  • Rochus 4 years ago

                    > It is never too late to decide to begin to learn again

                    This precocious advice is also thanked.

        • detaro 4 years ago

          SerenityOS widely uses modern C++, so I'd assume there's little point in restricting yourself to old C++ when porting a library.

          • Rochus 4 years ago

            >> modern C++

            Well, according to Stroustrup himself C++98/03 is considered "modern C++" (see e.g. https://www.stroustrup.com/DnE2005.pdf ); and I can confirm from personal experience that C++98 and STL were a big step compared to what we had before. C++11 and later have some advantages, but nothing I couldn't live without (personally I don't consider policy based design the way to go). Actually Qt itself nicely demonstrated how to do perfectly well without e.g. move semantics.

            • detaro 4 years ago

              Kind of besides the point that "C++98 to avoid issues" when porting to a project that requires C++20 seems a bit odd. (And let's say that the quality of Qt's solutions in such cases over what you can now do is ... controversial)

              • Rochus 4 years ago

                Does SerenityOS require all apps to be implemented in C++ or even C++20? I guess not (didn't have a close look at it yet).

                • ncmncm 4 years ago

                  Obviously not, if so many non-C++ programs are ported to run on it. Kernel, core libraries, and native programs are C++20. Don't expect pull requests for archaic-styled patches to those to be merged.

            • ncmncm 4 years ago

              That was published 16 years ago. Fortunately, Andreas isn't so confused.

              C++20 is a wholly more pleasant programming environment than any previous C++. When there is a choice between the old way and the new—which there always is, for backward compatibility—the new way is almost always better.

              For some cases, the newer way is better sometimes but not always, e.g. east function return type, with "auto", vs. old-style west. For short functions, deduced return type, i.e. neither one, is often best.

              All that said, C++20 coroutines will be much more pleasant to use when thd C++23 library support for them lands.

              • Rochus 4 years ago

                > You are very confused

                Because I'm not obsessed with chasing the latest thing?

                • ncmncm 4 years ago

                  Do you need it explained why a document published in 2005 is not a reliable guide to modernity in 2021?

                  Cppreference.com is an excellent resource to help you get caught up. BoostCon vids on Youtube are also helpful.

                  • Rochus 4 years ago

                    > Do you need it explained why a document published in 2005 is not ...

                    Oh yes, let your wisdom be poured out upon us. And no, age alone is not relevant to the quality of literature.

                    • ncmncm 4 years ago

                      Apparently, you do. A document published in 2005 can rely only on information available on or before 2005. The latest C++ Standard in 2005 was C++03. Since it was written, C++11, C++14, C++17, and C++20 were released, which the old document can have no information about. Each release substantially changed the C++ language, C++11 and C++20 radically.

                      Thus, a document from 2005 can only tell you what was modern in 2005, which is necessarily very different from what is modern in 2021.

                      Maybe it would help you to look up "modern" in the dictionary.

        • martinbriza 4 years ago

          Qt6 is built with CMake which I feel way more comfortable with compared to the configure script from Qt5 (actually, I probably wouldn't be able to do this with just configure).

          However, most of the code I've changed is used in the old buildsystem as well so somebody could possibly reuse what I'm doing in a Qt5 port. I'm not planning to do that though, Qt 6.2 will be perfectly good for my personal and selfish needs. :)

          • Rochus 4 years ago

            Thanks; I assume it's a challenge anyway.

  • faraaz98 4 years ago

    It's been really amazing watching serenity progress over the years.

    I once tried porting Ruby to Serenity by watching your other porting videos but I got stuck on pthread errors.

    Perhaps I'll try again sometime

    • akling 4 years ago

      Ruby would definitely be a fun port to add to our roster! The SerenityOS pthread implementation has improved substantially in the last year, so you might find it easier to get things working now.

  • stephen82 4 years ago

    Can LibGUI be used independently from SerenityOS, much like we do with wxWidgets and Qt?

    • anthk 4 years ago

      https://github.com/jcs/serenity

      jcs@ from OpenBSD it's trying to port Serenity OS' GUI to OpenBSD. I would like it. I use CWM, but sometimes using an environment from my teenage days make me feel relaxed.

  • jjice 4 years ago

    I love your content, really inspirational! What are your favorite resources for learning about the variety of topics you've tackled, from drivers, to cryptography, to compilers?

    • akling 4 years ago

      In most cases: whatever specification document exists for the particular thing I'm trying to do.

      For things that are more open, like API's, I like to look at what mature API's that do what I want to do already look like. And then work backwards from that. :)

  • AdmiralAsshat 4 years ago

    Is the hostname "courage" in the screenshot a dig at Apple's infamous "courage" comment when they removed headphones from the iPhone?[0]

    [0] https://www.theverge.com/2016/9/7/12838024/apple-iphone-7-pl...

    • elisee 4 years ago

      Most likely a reference to the word in the serenity prayer, which is what SerenityOS is named after (Andreas mentioned it a few times in his videos).

      • akling 4 years ago

        That's right, the system name and its default hostname are both references to the serenity prayer. :)

  • jscipione 4 years ago

    Fantastic work on SerenityOS and great videos explaining your progress. My main complaint is that you are solving many of the same problems that Haiku is also struggling with (such as slow git checkout speed) while building a '90's era C++ based operating system. There's a good chance that your little OS may beat ours in the end. You could have built a great C++ OS on top of Haiku instead but you went your own way with SerenityOS which is valid. You may have gotten discouraged by the sometimes thorny Haiku community development process anyway.

  • ncmncm 4 years ago

    This is a beautiful project, and you are a most gracious host. I get a strong Bob Ross vibe.

    I would be happier following if discussion happened on an open protocol like Matrix, rather than the wholly proprietary Discord.

  • jakearmitage 4 years ago

    What typeface did you use? Looks great.

  • pkphilip 4 years ago

    Andreas, I love your videos. You have clearly managed to develop a very friendly community. I like how pleasant and accessible the community is! I am sure you guys will go very far and I look forward to using Serenity OS on a daily basis.

turblety 4 years ago

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

For a project that seems to be focused around something visual, it's strange to me that there's not even one screenshot on the home page.

The github page [1] does at least have one.

1. https://github.com/SerenityOS/serenity

edit: the screenshot is now on the home page! That was such a fast turn around.

  • szszrk 4 years ago

    Maybe there is no screenshot tool yet :O

    There is a youtube channel linked below with some SerenityOs content, but that's hardly an excuse.

    • thepill 4 years ago

      there is ;)

      • a9h74j 4 years ago

        Note to self: 1) Implement screenshot tool to provide motivation; 2) Implement the rest of myOS.

        • szszrk 4 years ago

          It's not that weird to be honest, if you consider a mockup applicable to 1). Mockups and rough design diagrams should be pretty much obvious and omnipresent. We often start from a visual aid and move on from that level to actual details.

          • a9h74j 4 years ago

            Yes, I wanted to add emphasis to the usefulness of that, without seeming to be speaking to the parent writer.

  • joeberon 4 years ago

    That screenshot seems to be on the main page now

  • akling 4 years ago

    I added it to the homepage after seeing your comment, thank you! While we're a developer-targeted project, it makes total sense to have at least one screenshot on the website. :^)

wolf550e 4 years ago

SerenityOS has implemented its own TLS 1.2 client from scratch (no server side support so far), currently with TLS_RSA_ and TLS_DHE_RSA_ only, and AES-CBC and AES-GCM only (software table driven AES, software GCM, naive CBC padding handling, nothing is constant time).

It does not even pretend to be secure so far (intentionally accepts self signed certs), but if they ever want to make it secure, that would be a big task.

For compatibility, they really should implement ECDHE with NIST P-256, because that is what most of the internet uses and what they support means they always fallback to no-PFS.

https://github.com/SerenityOS/serenity/tree/master/Userland/...

https://github.com/SerenityOS/serenity/tree/master/Userland/...

sdfjkl 4 years ago

So I'm not the only one thinking that this was the time when desktop UI's peaked and most things since then are fluff and featuritis driven by the marketing departments needs to constantly have something new and exciting and usability going out of the window.

Nice work!

  • CRConrad 4 years ago

    No, there's at least two of us. Three, with Andreas.

    • grishka 4 years ago

      Four. Though I do like how modern macOS implements trackpad gestures, and drawing UI on the GPU is generally a good idea.

  • kalekold 4 years ago

    I agree. I love the old win95 UI because everything looked like how it performed. Buttons looked like buttons, scrollbars looked like scrollbars. It was immediately usable. The UX back then was amazing.

    • ncmncm 4 years ago

      Schnozzberries tasted like Schnozzberries!

  • agumonkey 4 years ago

    it's 81% right. from this era, the only addition that fully welded into me was screen snapping windows

    there are some good fun stuff in today's desktops but .. it doesn't add much to your journey IMO (and often you lose CUA services like full keyboard access too 99% widgets)

dang 4 years ago

Past related threads:

I quit my job to focus on SerenityOS full time - https://news.ycombinator.com/item?id=27317655 - May 2021 (249 comments)

SerenityOS: Writing a Full Chain Exploit - https://news.ycombinator.com/item?id=26115141 - Feb 2021 (9 comments)

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

SerenityOS Update (April 2020) - https://news.ycombinator.com/item?id=23037581 - April 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)

Quai 4 years ago

The "hidden" gem here is all the videos posted by Andreas on his youtube channel. I've spent quite a few hours with him and learned a lot of things from his way of working.

  • Deukhoofd 4 years ago

    His videos are one of my favourite things to watch, very calming, and there's always something to learn.

stinkytaco 4 years ago

Is there a term for something that is absolutely not for you, but that you're still very happy exists? I can't see myself ever using this, but the idea that someone has put that kind of effort in is amazing.

  • dev_tty01 4 years ago

    Agree completely. I would never ever want to go back to that interface look, but the existence of this project in the universe is cool. Nice work!

  • wildrhythms 4 years ago

    I have no intention of using Serenity but every time it's posted I am filled with joy that the project exists, and that people care about it.

kokey 4 years ago

I somehow like this a lot. This looks kind of what Windows NT would have been if NT 4.0 never happened, or if OS/2 survived, or if MacOS or Windows went to a Unix kernel in the early 90s. It's a bit like the Nissan Figaro of desktop operating systems. That said, going back to an alternative past can be useful beyond an art project, it could evolve into helping along the vision for better lightweight desktop operating systems of the future. For example this might work very well as a remote desktop living on virtual infrastructure, or work well as the base for a remote desktop client.

  • CRConrad 4 years ago

    > This looks kind of what Windows NT would have been if NT 4.0 never happened

    Why? As I recall it, NT4 was the one that caught the NT line up to the W95 look, replacing NT3.5(1)'s look inherited from W3(.1). So, on the contrary: This looks just like NT4 / W2K.

dfee 4 years ago

I’d like to see a general trend in throwback UIs where, for example, fonts have been updated. It doesn’t have to be extravagant, but if I’m reading it, the creature comforts of a modern font are nice.

It’s like taking a classic car and putting in a modern radio.

  • akling 4 years ago

    SerenityOS does have basic support for TTF/OTF rendering via our native LibGfx library [1], and it's possible to switch the system font to a vector font of your choice.

    That said, nobody has implemented kerning or hinting yet, so vector fonts do look pretty unpolished on screen, especially at smaller sizes.

    1. https://github.com/SerenityOS/serenity/tree/master/Userland/...

    • vkoskiv 4 years ago

      While keming is important, it's still exciting to see how far along vector font support is already.

      • bartvk 4 years ago

        Is this a genuine spelling error, or did you make a magnificent joke?

  • emptyparadise 4 years ago

    I think a lot of people take throwback projects and retro computing too far by rejecting everything modern. What's wrong with allowing some anachronisms for things like high DPI, internationalization, security, accessibility?

    • vkoskiv 4 years ago

      Take a closer look - SerenityOS doesn't reject all modern stuff. The kernel has plenty of modern security mitigations (pledge(), unveil()), and there is basic high DPI support already. Internationalization and accessibility are very consumer product focused features, which is not what the project caters to at this time.

      • emptyparadise 4 years ago

        Awesome! Definitely did not intend to make it sound like SerenityOS doesn't care about modern affordances. As for internationalization/accessibility, do you mean that these features are not supported in a "we can't display Unicode text" sense or a "we don't currently have active UI translations" sense?

        • elisee 4 years ago

          Andreas has recently mentioned that SerenityOS is meant to be an English-language OS. (Might have been on Discord or a Q&A video, not sure.)

          I believe his rationale is that other languages are generally awkward at talking about technical stuff, and SerenityOS is addressed at technical users anyway. In my own experience as a French native speaker, I do tend to prefer all my software to be in English rather than getting the awkwardly-translated-in-French version.

          As far as accessibility goes, like anything in the project, it's up to someone passionate to step up and work on it.

          • emptyparadise 4 years ago

            But you'd still want to read and write French text on your computer even if the UI is in English, right?

            • vkoskiv 4 years ago

              SerenityOS does have support for unicode, and the character sets are improving over time.

              • emptyparadise 4 years ago

                That's what I was hoping to hear, very nice!

      • miki123211 4 years ago

        > Internationalization and accessibility are very consumer product focused features

        This way of thinking is why I, as a blind developer, need to deal with so many horribly inaccessible tools, I guess.

        If you think that only the consumer-focused part of your tools needs to be accessible, you're wrong.

        • filmroellchen 4 years ago

          Andreas mentioned on one of the recent Office Hours livestreams that accessibility is certainly compatible with the project goals, however, nobody has had interest in working on it yet.

        • vkoskiv 4 years ago

          Sorry about that, I phrased it really poorly. I think I was trying to convey that the project is still somewhat niche, so no one has taken up that effort yet. But you're absolutely right, everything should be accessible.

thom 4 years ago

Every time this comes up I feel compelled to say that I find the source code really ridiculously readable, even as the project grows and more apps and features are added.

AnIdiotOnTheNet 4 years ago

It's great to have new OSs that are actually new OSs, and that eschew the brain cancer UX that has taken over since about 2010. Since it seems to be a pet project and toy of the author and its community, I guess I can't really fault it per-se, but it is really strange to me that in its love for 90s UX it failed to implement a sane form of application management. It seems to have weirdly mixed bad ideas from Windows (installers) and UNIX (fixed paths), even though multiple 90s OSs got it right (MacOS, RiscOS, NeXT, even DOS to an extent). It is also a little off-putting that it explicitly "doesn't cater to non-technical users" when a pretty core part of personal computing back then was on ramping non-technical users to leveraging the power of a computer. I mean, don't get me wrong, a whole f'ing lot of evil has been done in the name of "making computing easier for non-technical people", but Serenity takes it to the extent that it doesn't have a live environment or installer and you have to compile it from source. I mean yeah, sure, hobby OS and all, but it just strikes me as missing a very essential component of 90s personal computing.

  • selfhoster11 4 years ago

    First of all, not all the changes have to be implemented immediately. Andreas often livestreams hack sessions where he changes some part of the OS or the APIs, so things are very dynamic.

    Secondly, why do you expect that this OS is ready to show to any non-technical user? If you did, they wouldn't realise what they are looking at, nor why it's a valuable contribution to the ecosystem and the fight against the "modern" UX trends. The effort would be wasted until the project becomes more prominent

    • AnIdiotOnTheNet 4 years ago

      > First of all, not all the changes have to be implemented immediately.

      I'll comment on future features when they exist, or at least are documented as a goal.

      > Secondly, why do you expect that this OS is ready to show to any non-technical user?

      I don't. I am commenting on what exists, and what exists is an FAQ entry specifically stating that the project does not cater to non-technical users.

      Even so, I think you underestimate non-technical users. Another modern trend I despise.

wruza 4 years ago

That help app still looks so much better and more useful than usual web-based “whitespace ocean bullshit” docs.

ThinkBeat 4 years ago

Thank you for your work.

It is critical for the operating system space to have more variation and innovation.

I admire your skills and dedication.

nullifidian 4 years ago

Wanted to scoff at the retro trend, but this thing looks beautiful.

qwerty456127 4 years ago

Beautiful. I wish I could make this my daily driver (even in a VM - I wouldn't mind).

rado 4 years ago

Sensible, consistent UI. So refreshing.

rathboma 4 years ago

Love your development videos.

When do you think you'll be able to run your dev stack natively on serenity rather than in Linux and virtualizing serenity only for testing?

  • selfhoster11 4 years ago

    I think this is the eventual goal. Andreas implemented a code editor within the OS, and I think some compiler could be ported quite easily too.

donhaker 4 years ago

I do dig the aesthetic, especially on the browser. But is there anything things we can do in the OS? Can it run online videos and play music?

bni 4 years ago

What happens if you have a 4K screen, is there 2x, 3x, 4x integer scaling built in?

  • akling 4 years ago

    Integer scaling is in development and 2x mode is available via the display settings application. It's not mature yet, and most assets don't have 2x versions. But we'll get there eventually. :^)

    • unnah 4 years ago

      It seems there is no GPU support as such. Is it even possible to set up a 4K resolution via VESA BIOS?

unixhero 4 years ago

I am trying this today.

adamrezich 4 years ago

that UI is absolutely gorgeous.

metalliqaz 4 years ago

So is it based on Linux or...?

  • AnIdiotOnTheNet 4 years ago

    No. It's actually a new OS, as in a completely new kernel.

cosmotic 4 years ago

Any chance we could get more than a single screenshot?

zozbot234 4 years ago

The 3d styling in the UI is very nice, but the widgets are not touch friendly at all. Even "classic 90s" OS's like Windows CE used the pattern of headerbars with a few key widgets that could be easily accessed via touch, not unlike modern GTK 3.x and 4.x. A lot friendlier than this.

  • akling 4 years ago

    That's correct, the SerenityOS UI does not attempt to be touch friendly. This is a classic mouse & keyboard system by design. :)

    • hulitu 4 years ago

      This is a really good thing. A lot of desktop stuff seems to presume a desktop has a touch interface which is almost never the case. Using the keyboard and mouse for 8 (or 12 hours in case of IE) is tiring enough. I cannot picture someone using a touchscreen for 8 (or 12 hours in case of IE).

    • HackedBunny 4 years ago

      Good! Tablet and phone concerns have been the absolute bane of desktop UIs for so long now.

  • boomlinde 4 years ago

    > Even "classic 90s" OS's like Windows CE used the pattern of headerbars with a few key widgets that could be easily accessed via touch

    That's because it was made from the start for PDAs with touch screens. This is a desktop computer OS, and although I can entertain the notion that someone out there might be smudging a touch screen connected to their Unix workstation, I don't see why everyone else should accommodate this weird and ergonomically unsound input method at the expense of screen estate.

    Also, whether they could be easily accessed really depends on the device and input method. Using Pocket PCs without a stylus was certainly no fun.

    • zozbot234 4 years ago

      Well, these days we have "PDAs with touchscreens" running "Unix workstation" OS's. Touch input is simply the native input method on these devices.

      • boomlinde 4 years ago

        Yes, and for most productive work this is to their detriment. Lower precision, no tactility, terrible ergonomics. I understand the need for smartphone/tablet operating systems to design around this. I don't understand the need for every other operating system to do so.