If you visit OSNews once in a while, you will of course know everything about the present and about the future of operating systems. Somewhere between 2005 and 2007, Microsoft will release Windows codename Longhorn, and until that happens Gnome and KDE need to fill the gap between themselves and Windows XP. And if everything goes well, they will implement some Longhorn features as well. On the other side, we have the innovative Mac OS X. It is the user-friendliest computer system on earth, built on UNIX and has OpenGL acceleration of the screen.
Wait. Read that again, and think for yourself: how much innovation has there been and will there be? Let's start with Gnome and KDE. They are mainly copying the user interface of Windows. Yes, Gnome places the application menu on the top of the screen instead of the bottom, and KDE has invented KIO. But almost everything else is plain copying. KDE even has the window buttons in exactly the same place as Windows. There is a reason for this. A quite simple one, actually. Most people today work with Windows, and when they make a desktop environment that behaves radically different, they are afraid they scare people so that they continue to use Windows.
But how is Windows doing? Is Windows innovative? This page says Windows is innovating, and says Windows is to the Macos what Java is to C++. That's not entirely true: C++ was a bad fix to C, and Java cleaned everything up. On the other hand. MacOS was a clean, new implementation of a graphical OS while Windows was just a way to fix DOS. From that, we can say that Windows is to MacOS as if C++ had been invented as a reaction to Java. And when we look a bit closer: what things has Microsoft invented. They copied the overlapping windows. The Explorer is a copy of the Finder, while SMB is a copy of AppleTalk. Word was a reaction to WP and Internet Explorer is just an improved version of NSCA Mosaic. And there is a reason Windows does not really innovate: it doesn't want to lose its market share, so it takes care not to scare users. When the Windows interface would radically change, they could switch to Linux just as well as upgrading to the new Windows version.
You might have noticed that Windows stole quite some things from Apple. So, are they innovating? In 1984, they were. The Macintosh was a nice new computer; one of the first (if not the first) home computer that was not character based anymore and had the mouse as a mandatory input device. Shortly thereafter, they invented AppleTalk, with which networking computers became as easy as plugging in the network cable. After that, only minor system updates have come out until Mac OS X was released. It was called innovative. But what does it do? It's effectively a MacOS-like GUI with a UNIX-core, so in fact it does nothing more than combining two technologies, both being decades old. That has a reason, too: Apple's marketshare is small, and in this way they can keep their former customers while they can also attract new ones: their OS is now built on the "proven reliability" of UNIX thanks to it being 30 years old. Apparently, they have not read the Unix-Haters Handbook, from which it seems UNIX was rather unstable even 10 years ago.
Does that mean the current operating systems are the best; that better is simply impossible? Most likely not, the most logical reason for the lack of innovation is the fear to loose market share by inventing something better, er, different. So here is my proposal: if you build an entirely new operating system, why not make it different from the ones that exist, so that it can try out ideas that might be better than the current ones, and it might even attract users, namely those who want a different operating system for a change, one with an identity. In the rest of this article, I will lay out such a proposal. I'll need to see whether I have time to work on an actual implementation, but thanks to the nature it luckily isn't necessary to start with the bootloader :-)
1 Virtual machine
Nowadays new processors are being invented: the Itanium and the AMD-64. To take advantage of these processors, the operating system and all applications that run on it at least need to be recompiled and parts of them need to be rewritten. That is not very practical, something Sun realized when it invented Java. Microsoft has also seen this and started on the .NET project. Both these implement a Virtual Machine that can run binaries specially adapted to it. The advantage is that the same binaries can always run on the virtual machine, no matter what the host OS or the hardware is.
As this is very practical, I will take such a virtual machine (VM for short) as the basis of the OS idea. Not very innovative, I know, but rather practical. It makes the OS and it's applications completely hardware-indepent and also has the advantage that the VM can first be implemented as running on another OS, so that work can immediately start on the VM and OS itself, without needing to code a boot loader and extended hardware support first.
2 The user interface
The user interface should be friendly and practical, both for the newbie as for the experienced computer user. Therefore, no POSIX compatibility is needed and no GNU utilities need to be ported. And why should they? In this modern world, we want to use more than text. We want fonts, webpages, flash animations, music, pictures and movies. The command line is not suitable for them, so a graphical interface (GI) is really necessary.
2.1 The general layout
However, this does not mean copying the GUIs of Windows or MacOS. They can namely be rather confusing. For example, most GUI's has overlapping windows, which are confusingThe Xerox Star people already knew this and therefore didn't allow windows to overlap. The confusing thing is the following: imagine you have two windows, say a maximized Outlook Express and a normal New Message window on top. When you accidentally click the Outlook Express window, it will look like the message you were typing is lost. Of course, it's just hidden behind the window you just clicked, but that is not obvious. . The solution is to take the idea of the original MacOS even further: not only hide other applications when you activate one, but make all windows maximized instead. That solves the overlapping window problem and does away with the title bar taking precious screen space.
Now you will probably notice that drag and drop is not possible anymore, at least not between applications and also not between windows. That is not practical, because it forms a much more visual way of moving objects than the copy-past way Windows introduced. Therefore, the GI should offer a split-screen mode, in which two windows, can be visible next to eachoter.