1. 35
  1.  

  2. 13

    I suspect the root cause is simply that building a successful operating system is hard.

    I suspect it’s that the current systems are actually pretty good. Good enough. I don’t really feel the need for a database-based (heh) system.

    Some nitpicking:

    Why can’t I have a file in two places at once on my filesystem?

    uh… hardlinks?

    Instead of chaining CLI apps together with text streams we need something richer, like serialized object streams (think JSON but more efficient)

    elvish passes structured objects around. Also, uh, PowerShell works with like dynamic object references, not just serialized objects.

    This clipboard viewer can let me scroll through my entire clipping history.

    There’s plenty of clipboard managers for all the platforms!

    When the user pastes into a new window we could show the green text actually leap from one window to another.

    Yeah, and even leap around the 3D desktop cube if the apps are on different desktops :D

    1. 5

      I suspect it’s that the current systems are actually pretty good. Good enough. I don’t really feel the need for a database-based (heh) system.

      Before Mac OS X, MacOS 8 was good enough. Before Windows NT, MS-DOS was good enough. Before iPhone OS, PalmOS was good enough. When Be and NeXT were failing, everything else was good enough.

      So yes, the current things are good enough, but that doesn’t mean better is not worth pursuing. It means better doesn’t have Apple’s marketing budget.

      From a technical standpoint I often consider fanfiction along the lines of the original post, usually in conversation with a peer or the drafts field of my blog. It doesn’t get further because of inertia. Imagine I wrote my hipster post-Silicon Valley OS, that does away with all that legacy cruft. Gary Bernhardt is currently writing tutorials showing how accessible the things that go into an OS are. Now to make it palatable I just need a browser and…oops, now I’ve just pulled in all that legacy cruft: tcp/ip, http, html, JavaScript, all the tools that go into building WebKit…ugh.

      1. 5

        Not true; people whined for years about (the constant crashes caused by) lack of protected memory in Windows 9x and classic MacOS. I don’t hear people complain much about either OS X or Windows 10.

        1. 1

          MacOS and WIndows 9x were good enough, though. I don’t remember hordes of PC World shoppers rushing to the store to demand the BeOS.

          1. 6

            That’s because BeOS didn’t have many apps and therefore wasn’t good enough either.

        2. 4

          NeXT were failing

          You got that backwards - NeXT is alive and Apple is dead. The Apple of today is just Next wearing an Apple skin suit.

          1. 1

            Whether or not they’re successful now, they were failing then.

        3. 2

          uh… hardlinks?

          In traditional UNIX filesystems hard links are not a really convenient for some usage scenarios, since only the link count is stored in the inode and the actual names are in directory entries. So a query such as ‘give me where this file occurs in the filesystem’ is relatively expensive.

          Additionally, hard links only work within a filesystem, so it can be useless if the system is partitioned into multiple file systems.

        4. 12

          The author keeps questioning why certain siloing like App Store happens. The author then offers technical solutions that won’t work. The reason is the siloing is intentional on part of companies developing those applications to reduce competition to boost profits. They’d rather provide the feature you desire themselves or through an app they get 30% commission on.

          A lot of other things author talks about keep the ecosystems going. The ecosystems, esp key apps, are why many people use these desktop OS’s. Those apps and ecosystems take too much labor to clean slate. So, the new OS’s tend not to have them at all or use knock-offs that don’t work well enough. Users think they’re useless and leave after the demo.

          The market effects usually stomp technical criteria. That’s why author’s recommendations will fail as a whole. “Worse Really is Better” per Richard Gabriel.

          1. 12

            I have a feeling that competition and markets are themselves the very plague infecting the “modern” desktop operating system

            1. 4

              The market effects usually stomp technical criteria.

              It is not impossible to fight economic forces, but it is probably much harder and takes much longer than people initially believe. Look at Python3 adoption, IPv6 adoption. Outside of the technical realm, look at things like ObamaCare. It is so much easier to swim with the economic waves.

              For something like a new desktop environment as described in the article, I’d say 10 years until it shows advantages and 20 years until it can be reasonable used by normal people. The probability that the project derails into something different or people loose interest is very high.

            2. 6

              I know it lacks a lot of the platonic ideals the author wants, but Haiku is a great way to have your modern BeOS.

              1. 3

                My problem with Haiku is it went off on the whole second system effect. I actually ran BeOS as my only operating system for over a year. It was small, and I could keep the whole thing in my head at once.

                Haiku has taken the small core of BeOS and added a systemd-style initialization daemon, an app store, nascent multiuser support, add remote and HTML5 drawing support to the display server, they’re porting Swift, etc etc.

                (The package filesystem, which is the most elegant package management system I’ve ever seen, is still a lot of code in the kernel.)

                I’m not trying to say that Haiku hasn’t accomplished amazing things, but it’s kinda…forgotten it’s minimalist roots, IMHO. That plus the atavistic demand to maintian binary compatibility with BeOS 5 which chained them to an ancient version of GCC for years were mistakes.

                How different the world would’ve been if Haiku had just gone for source level compatibility and sought to add no features that weren’t present in the original BeOS.

                1. 1

                  How different the world would’ve been if Haiku had just gone for source level compatibility and sought to add no features that weren’t present in the original BeOS.

                  There’d be little utility on that. Adding nothing beyond R5’s capabilities would make it little better, if at all, then just running R5. No binary compat with R5 means you can’t run Gobe and those video editing applications, which everyone wanted to. Besides, GCC 5 is working cromulently in parallel to GCC 2.

                  1. 1

                    I meant for version one. Get to that point, make it stable, and then grow from there, rather than years of new but unneeded features.

              2. 10

                Good news: openbsd doesn’t run atom. Problem solved.

                1. 6

                  openbsd doesn’t do much to help my middle-aged parents that regularly get confused and frustrated with windows.

                  1. 4

                    Wouldn’t ChromeOS work for your parents?

                    1. 3

                      Get the best of both worlds courtesy of @jcs while you’re at it!

                      https://jcs.org/notaweblog/2016/08/26/openbsd_chromebook/

                      Joking aside, the setup may even be useful for middle-aged parents where the OpenBSD side is used to analyze or recover the ChromeOS side in event of serious problems. I used to do that with Linux for Windows boxes. Now Linux LiveCD’s for buggy-ass Linux distros. :) I’m not sure if ChromeOS develops similar problems when laypeople use it. It was mostly malware or broken updates on the Windows boxes.

                      1. 3

                        I mean, the idea of ChromeOS is that in the event of serious problems, you reformat and log back in, which takes about five minutes. There are plenty of great reasons for developers to put other OSes on the hardware, but fixing ChromeOS when it breaks isn’t one of them. :)

                        And for what it’s worth I’ve never heard of anyone managing to get ChromeOS into a state they didn’t understand, in the way that Windows is known for.

                        1. 2

                          Ive never used it so I appreciate you telling me that. Might get one or two for some specific relatives that dont need Windows apps.

                          1. 1

                            Yeah, I figured it was probably new information. Nobody knows everything. No problem. :)

                    2. 3

                      openbsd doesn’t do much to help my middle-aged parents that regularly get confused and frustrated with windows.

                      Switch them to Linux Mint, if they’re not hardcore gamers.

                      1. 3

                        Switch them to Linux Mint, if they’re not hardcore gamers.

                        There’s probably more beyond games that don’t run on Linux. There’s likely some “Cross Stitch Maker 97” they depend on, for all you know.

                        Regardless, I’d just stick them in front of a non-desktop experience computer locked down, particularly an iPad. If they need desktop experience, ChromeOS. If they need Windows, lock it down and hold the key.

                        Linux Mint is a poor decision considering their shoddy security practices regarding website breaches. (A replaced ISO and forum creds leak is no laughing matter.) I’d just run Ubuntu and install the restricted extras myself.

                        1. 4

                          I also find it bizarre that Mint went out of their way to make it difficult to install major upgrades, compared to Ubuntu, which it’s based on. (I do note that they have at least made minor upgrades easier than they used to be.)

                          It’s possible that Mint 19, when it exists, won’t require a reformat, but Mint 18 did.

                          That does have a negative security effect, since users in the core audience are also users who don’t want to reinstall a lot… So I tell my friends to use Ubuntu instead.

                          1. 1

                            Linux Mint is a poor decision considering their shoddy security practices regarding website breaches. (A replaced ISO and forum creds leak is no laughing matter.)

                            Now compare that to Windows 10 with telemetry on by default, forced updates and forced reboots.

                            I’d just run Ubuntu and install the restricted extras myself.

                            Just as good as Mint, if you have the time.

                            1. 2

                              Now compare that to Windows 10 with telemetry on by default, forced updates and forced reboots.

                              Counterpoint: Telemetry is anonymized usage statistics for a variety of tasks (such as UX) and forced updates are how you get normal people to install patches, otherwise they’ll just sit and rot.

                          2. 2

                            Ubuntu and Mint were both my solutions. On either, just set icons up on desktop for important apps with names like Internet, Email, Word, Spreadsheet, and so on. Install ssh or vnc app for inevitable tech support.

                          3. 1

                            If middle-agend parents are confused, then what will a middle-aged programmer like me do???

                        2. 4

                          Author comments on HN.

                          1. 1

                            I do find that the author’s comment addresses a lot of my concerns with the article, and I’ve now joined the mailing list. :)

                          2. 4

                            I suspect the root cause is simply that building a successful operating system is hard.

                            I suspect the economic incentives of silos.

                            Why play nice, if that allows the competitor to steal your users?

                            1. 5

                              Now we can essentially treat all state in the computer like a github repo, with the ability to fork the state of the entire system. I think this would be huge. People would exchange useful workspaces online much as they do with Docker images. People could tweak their workflows add useful scripts embedded into the workspaces. The possibilities really are amazing.

                              This must be satire, right?

                              Relational filesystems do not have a compelling usecase–I doubt that 30+ years of standard practice is just due to sheer ignorance. Forcing everything into a “message bus” is no wiser than, say, requiring every application to talk to each other and the kernel via UDP and msgpack/json/protobuf/xml. Arbitrary docking of windows to weird places doesn’t actually matter beyond spiffy tech demos. Having a copy-paste buffer larger than one item has not been historically shown to be useful.

                              This whole article is a laundry list of bad, silly, or debunked ideas.

                              1. 5

                                I agree that the stuff you quoted sounds like satire. And the arbitrary docking of windows is where I stopped reading the article. However, the copy-paste buffer larger than one item is, IMO, incredibly useful. It is something I have in Emacs and it annoyed me so much not to have it in the OS that it’s one of the few things I’ve felt the need to pay for.

                                1. 2

                                  Get yourself a clipboard manager.

                                  Security disclaimer: Makes copy&pasting passwords more insecure.

                                  1. 1

                                    Oh, I have one; in fact I have three, as it took me a while to find one I liked. (I could have been more explicit, but I didn’t want my comment to sound like a product ad: I’m not affiliated.) You’re right about cutting & paste of passwords, but the manager I use (CopyClip 2) has an Exception lists so you can stop it from recording anything from a list of applications of your choice. (Keychain, for example.)

                                2. 4

                                  That may be the case, but surely in 20 years there will be a better desktop. Or will we be using OS X 10.42 and Windows 42?

                                  Now that we have phones, desktop users are indeed a minority. But in 20 years, people will still need to create graphics, video, 3D content, audio, do machine learning, and yes unfortunately they will need to run C++ compilers and IDEs too :)

                                  So if anyone thinks his ideas are stupid, then I would like know what you think will happen.

                                  I think some of the details are wrong, but the gist seems to be that software is data-centric and composable. I get that companies want to lock up your data behind their applications, but if we can dream about universal basic income, let’s also dream about open data formats :)

                                  1. 2

                                    Well said. :)

                                    I do expect that what’s actually going to happen is that the majority of the tasks you mention will be done on locked-down operating systems. They do provide better UX, for the things they can do, as long as you aren’t somebody who wants to look under the hood.

                                    But by all means we should be discussing ways to keep it from going that way. Part of that is talking about what we even like about non-locked-down platforms… I’ve seen some convincing arguments and some unconvincing ones.

                                  2. 3

                                    I doubt that 30+ years of standard practice is just due to sheer ignorance.

                                    I’m surprised you didn’t mention marketing forces as opposed to just technical design or sheer ignorance. Windows filesystem was designed for whatever reason they had. Monopolistic practices are why it and its successor stuck around. Apple’s filesystem was admittedly a piece of crap by modern standards that they replaced or are replacing. The UNIX stuff seem to be whatever gets popular in a major distribution, proprietary or open. Backwards compatibility with common ways of doing stuff also factors in. So, marketing and legal concerns (esp patent/copyright suits) seem to be main cause of what’s been standard practice.

                                    Meanwhile, other OS’s like OpenVMS (RMS), BeOS, and AS/400 did filesystems differently with successful use by lots of companies. Not to mention all the distributed or object filesystems in academia with better properties than traditional ones or sometimes corporate uptake. Then, there’s the capability-based systems with their security advantages. Generally, something didn’t have the necessary ecosystem, didn’t act monopolistic, wasn’t backwards compatible, or was just one isolated work no big player was integrating. Many seemed technically superior to the competition at the time, though, better meeting users’ needs. Esp the three on top with successful field use.

                                  3. [Comment removed by author]

                                    1. 5

                                      Most modern file systems can apply a large amount of metadata to files, so if you use that metadata as a tag system, what you really need is an efficient way of interacting with those tags. BeOs did that rather well.

                                      1. 4

                                        404?

                                        EDIT: remove the query string and it works fine - http://www.nobius.org/~dbg/practical-file-system-design.pdf

                                    2. 3

                                      Let’s go with a fresh new idea of a database file system. https://en.wikipedia.org/wiki/Record_Management_Services

                                      Somewhere in one of the early UNIX papers there is a discussion of how hard it is to write “cat” with a record-oriented database file system.

                                      1. 1

                                        Yep. That was my first thought after BeOS. The other was AS/400 that includes integrated database. Both OpenVMS and AS/400 put the concept to good use. Hoff once said, though, in a mailing list that RMS was slower than regular filesystems for reading/writing data, worse than SQLite etc as a database, and maybe OpenVMS should just have regular filesystem + a database. BeOS similarly had some performance problems during compiles that were due to the microkernel style, the filesystem, or combo of both. Not sure.

                                        So, I just advocate we support multiple types of filesystems or DB’s the admins can select based on their usage. I do prefer something like RMS or ZFS by default for the system partition with critical stuff. Versioning, checksums, clustering tool, and some easy backup option (which may or may not use clustering tool).

                                        1. 6

                                          Treating files as sequences of bytes and making databases run as applications has been an enormous success for modular design. Same with putting the command line interpreter in a “shell” and not in the OS. The tradeoff is not guaranteed to remain a win forever, but databases and file systems are each really complex programs and combining them needs some serious design thought about what is gained and what is lost.

                                          1. 1

                                            I totally agree.

                                          2. 2

                                            OpenVMS used to make a fantastic workstation - DECwindows (the VMS port of X11, Motif, and CDE). The (VMS filesystem)[https://en.m.wikipedia.org/wiki/Files-11] is still best-in-class for its market and would be a great starting point for implementing database-like features. The design of the VMS kernel was used for Windows NT. DCL still beats the Unix shell in every category. I’m hoping that once the x64 port is completed that it might be possible to use VMS as a workstation again.

                                            (Once the market for VMS workstations dried up - as the VMS server market expanded - these components essentially were just maintained and patched to stay working but never improved, developer time went elsewheee, and today the system is representive of a 20-year GUI environment. Last I checked there was only support for a couple video boards, but I believe it should still be possible to use DW on a HP Integrity workstation.)

                                            1. 1

                                              I’ve considered it but never met someone who actually used it as a workstation. Do you have a link to anyone who did writing up pros and cons?

                                              Far as desktop, one could always port a window manager from UNIX or embedded scene. MorphOS also has a beautiful one with interesting features. You should look up screenshots of it.

                                              Far as filesystem, Id rather people start with modern designs that are built for current CPU’s and storage architectures. It was great for its time but some new stuff is a lot better.

                                              1. 2

                                                Not recently, sadly. Using VMS as a workstation would essentially give you a desktop circa 2001-ish based on CDE. Not horrible but nothing I’d celebrate.

                                                As to a filesystem, HAMMER might be something to look at - it essentially does everything like snapshots, volume spanning, transparent versioning, integrity checking, network clustering/mirroring, and all in a very lightweight and efficient way. It’s hungry for disk space but light on memory, unlike ZFS.

                                                1. 2

                                                  Oh boy, those motif desktops. Not nostalgic about them. On the other hand, DEC blowing off the desktop PC market to milk high VAX margins was the one of the two or threee really indefensible decisions DEC management made.

                                                  1. 2

                                                    “Nobody would ever want a smaller, cheaper computer that could handle most of their needs.”

                                                    Indefensible indeed.

                                                    1. 2

                                                      One of the people I knew at DEC used to say about their last CEO who got a $20M(? maybe more, seems so modest these days) parachute: “I would have run the company into the ground for half that.”

                                                      1. 1

                                                        That’s what Im telling my current bosses lol.

                                        2. 1

                                          I like how suckless.org graphical programs bring sanity and simplicity to the desktop:

                                          • dwm and tag-based window management with automatic placement
                                          • dmenu for starting any program

                                          Plan 9 also tries to go further with mounts and 9p: the filesystem is not only a way to store files, but an interface to build models (of the windowing system, of e-mails, of newsgroups, as well as actual files)…

                                          There are initiatives, but they do not make a lot of money of these. Material design and GUI animations helps to sell many more OSes.

                                          Thank you fot this read.

                                          1. 3

                                            9p support has been in the mainline linux kernel for a long time. There are FUSE implementations for it as well so you can even use it on OpenBSD these days. Yet it does have problem with laggy network connections and dropping connections.

                                            1. 1

                                              I’m glad to know it made its ways to other OS as well. Did not tried it on a laggy network yet.