3 ms·
This aligns a lot with my personal thoughts about desktop operating systems, especially the document database, ala BeFS on steroids, which is something I've tho
by halo 9y ago
This aligns a lot with my personal thoughts about desktop operating systems, especially the document database, ala BeFS on steroids, which is something I've thought about for years and would be a huge improvement over the current situation in a lot of use-cases.
I've long felt that applications and "package management" is still extremely poor. Applications should be self-contained to a single file (software.app) and have no shared dependencies outside the OS. The OS could have built-in support for compression (e.g. software.app.compressed) for software that needs it. Each application has one settings file per user. Sending, moving and backing up software then becomes a breeze. Uninstalling becomes a matter of deleting a file.
No shared libraries. It's 2017 and bandwidth and disk space are not major problems. An OS will be able to figure out when it doesn't need to load more than one copy of a dynamic library to avoid using excess memory. The OS should be 'batteries included' so truly native applications will be tiny. You want to proactively discourage ports to encourage native software, and need developers to think twice before using bloated or interconnected dependencies.
This greatly simplifies creating any "app store"/"package manager". It will largely download and update individual files.
All software is sandboxed, with permissions required to do anything interesting, ala iOS.
Title bars should be stackable to turn into tabs, ala Haiku's stack-and-tile (https://www.haiku-os.org/docs/userguide/en/gui.html#stack-tile https://www.haiku-os.org/docs/userguide/en/gui.html#stack-ti...). Everyone uses tabs in web browsers, it is overdue to bring them as first-class features into desktop OSes, where it would greatly improve multitasking. The title bar goes from being redundant into a core feature.
I agree that creating a good new operating system requires starting from scratch and that is really, really hard. Broadly speaking, you want to discourage ports, as it's a short-cut that will remove a lot of the advantages of the OS and will discourage people from creating native software. Any new OS needs to have the outright aim of making commercial software viable to be successful, which is something Linux has struggled with.
Any new OS needs to be very polished and slick visually, which should be one of the lessons from Mac OS X and its relative success over BeOS and NeXTSTEP, which were much less visually appealing.
Practically, I've wondered if you could focus on a single low-cost piece of hardware - a Raspberry Pi-in-a-box, perhaps, coupled with a VM version. This could limit the scope of the task and you might get a good amount of enthusiasts beyond free software evangelists.
I also wonder if thin translation layers over established libraries would vastly speed up development by allowing a working version to be produced much faster, even though you would want to replace them with something better in the long run.