Cover for Ideal OS: Rebooting the Desktop Operating System Experience  idea
Logo for Ideal OS: Rebooting the Desktop Operating System Experience  Idea

Ideal OS: Rebooting the Desktop Operating System Experience

Image for Umergece
Image for Umergece
0

Modern desktop operating systems are bloated, slow, and layered with legacy cruft that still functions only thanks to Moore's Law.  Innovation in desktop operating systems stopped about 15 years ago and the major players are unlikely to heavily invest in them again. We can and should start over from scratch, learning the lessons of the past.

-This idea was sourced from a blog post and used with permission from its original creator, Josh Marinacci -

  • OS
  • Software
  • Operating System
Image for Umergece0 comments

Working Sets (improvement)

And finally we get to what I think is the most powerful metaphor change in our new Ideal OS. In the new system all applications are tiny isolated things which only know what the system tells them. If the treat the database as the single source of truth, and the database itself is versioned, and our window manager is fully hackable... then some really interesting things become possible.

Usually I have a split between personal files and files for work. I tend to use separate folders, accounts, and sometimes separate computers. In the Ideal OS my files could actually be separated by the OS. I could have one screen up with my home email, and another screen with my work email. These are the exact same app, just initialized with different query settings.

When I open a file browser on the home screen it only shows files designated as home projects. If I create a document on my work screen the new file is automatically tagged as being work only. Managing all of this is trivial; just extra fields in the database.

Researchers at Georgia Tech actually built a version of this in their research paper: Giornata: Re-Envisioning the Desktop Metaphor to Support Activities in Knowledge Work.

Now let's take things one step further. If everything is versioned, even GUI settings and window positioned (since it's all stored in the database), I could take a snapshot of a screen. This would store the current state of everything, even my keybindings. I can continue working, but if I want I could rollback to that snapshot. Or I could view the old snapshot and restore it to a new screen. Now I have essentially created a 'template' that I can use over and over whenever I start a new project. This template can contain anything I want: email settings, chat history, todos, code, issue windows, or even a github view.

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.

Comments

0 comments