Yesterday, in passing, I mentioned that I'd like to see Windows evolve into an operating system where the OS, installed applications and user data were each contained in separate layers. I didn't go into any detail on this because, a) I thought I'd already covered it, and b) I didn't have the space to go into it. Since several of you have asked me what I meant by that let me take a few minutes to explain what I mean by this layered approach.
So what's the problem? Well, the main problem with Windows Vista stems from the fact that it still assumes that a PC is fitted with a single hard drive, and as a result of this flawed thinking wants to cram everything onto that single drive. This is valid Windows 95 thinking, when we measured drive capacities in MB and buying a hard drive really gave your credit card a punching. Times have changed, capacities have increased unbelievably, a dollar can buy you over 7GB of storage and you can pick up 500GB of storage for around $65. The reason that most PCs are still sold with a single drive is simply because Windows still makes it difficult for the average user to effectively make use of that second drive. In my experience this single drive approach is responsible for more, and more catastrophic, data loss than any bit of malware. Another flawed aspect of this Windows 95 thinking is that we are still interacting with the PC via a file system structure, and this has now become mindbogglingly complex where mistakes happen quickly and easily.
OK, so what's different about the layered approach? Well, under my system you'd see three distinct layers.
- OS layer
- Application layer
- Data layer
Under this regime the OS layer would be at the core of the system and ideally applications and user data should not interfere or tamper with this. In the real world I'm certain that security applications would need access to this layer but on the whole tampering with this layer should be frowned upon. This layer should be self contained in that it can be backed up, repaired or wiped and reinstalled totally separate to the other two layers. Barring activation hurdles it should be easy to transfer this OS layer from one system to another, be that a physical one or a virtual one.
Note: Under this layers model any installed drivers would form part of a sub-set of the OS layer.
The application layer would house the apps that the user installs. This layer should again be self contained in that it can be backed up, wiped or restored totally separate to the other two layers. All applications and data relating to applications would be stored within this layer, with each app compartmentalized. Uninstalling an application should remove all traces of that application (apart from user data). Again, other than for activation/license management, it should be possible to take this entire layer and move it to another physical or virtual PC.
Then there's the data layer. By now you're getting the idea behind this layers business. The data layer would contain user data. I can think of several different approaches that this would take but ideally it should be flexible enough to accommodate different kinds of users - users who want to store data based on the app used to generate it, based on project, chronologically ... etc. Ideally this data layer should be easy to back up and restore and should ideally be stored on a drive separate to that the OS and apps is on. It might also be possible for the data to be mirrored between two drives to provide redundancy. After all, hard drives are large enough to cater for this level of redundancy for most users, and if you had three drives fitted, you could have redundancy between two data drives.
The core idea behind the layered approach is that apart from some products being subject to activation or some other license management, neither the OS, apps or data should be tied together or tied to a single system. Also, each layer is isolated from each other. I'm not suggesting that direct access to the file system shouldn't be available, it's just that is shouldn't be necessary to have to delve directly into the file system for simple file-related operations, especially those related to user data.
Now, like I said yesterday, this is blue-sky thinking and I don't expect this to happen any time soon. We're certainly not going to see any such radical changes in Windows 7.