After reading this great post on Slashdot earlier i have thought of a few ways Microsoft could make Windows 7 better than Vista, without turning it into a Linux distribution. Admittedly most of these ideas come from that Slashdot post .
1 - Virtualize the registry so bad programs can modify hkeylocalmachine but it’ll only affect them. Basically tiny registries for each application, that only the current program can access without the Administrators password. Also add a registry for the actual OS related things like startup programs, which can only be accessed once an Admin password has been entered.
2 - Add native compatibility for ext2, ext3 and other open-source file-systems. Unlikely to happen but would make them much more popular in the open-source community.
3 - Adopt the Unix superuser/sudo security model. User and admin accounts are seperate. Unlike the current system on Windows where the first user account made on a fresh installation is the admin, ship with an admin account already installed. Only this admin account can edit system files, install programs and touch all sections of the registry. An extension to this would add an /etc/sudoers file (or more likely a registry key in the system registry, so only certain users can access administrative tools.
4 - Make the user interface easily themeable. Pretty self explanatory. Microsoft could even make money out of this selling high quality themes, while letting users install community created themes.
5 - Use the equivalent of a /home partition where users store data. Use user permissions to only allow users to access their own data and make the root partition, where the registry, applications and system data is held, admin accessible only, so a password is required before it can be touched. This would mean at worst a silent virus (that doesnt ask the user for an admin password) could only destroy the current users data, not the data of every user on the system and all the system files. While this is still bad, it is much better than the whole filesystem being wiped.
6 - Get rid of Windows Genuine Advantage. It isnt deterring pirates and is in fact pushing people away from using Windows. Pretty simple really.
7 - Separate the shell from cmd.exe (if its still called that in Vista), so users can choose which shell to use. Most Windows users obviously just dont touch the terminal but advanced users and sysadmins would probably like to be able to install bash or zsh on their Windows boxes.
8 - Detect other bootloaders at installation so other OS’s arent left unbootable after a Windows installation. OK you can re-install Grub, but the less messing around you do with bootloders the better, in my opinion.
9 - Install an ssh client by default. Sysadmins would love that and it would save me downloading Putty all the time.
10 - Multiple workspaces by default. I dont know how people put up with a single workspace anymore. They are just a sort of essential now a days. One thing though, do not include some huge, memory eating compiz cube clone. If you are going to do a cube, keep it lightweight and low on memory, just like the compiz guys have managed.
11 - Do not release 10 different versions of Windows. There should be 4 at most. Windows 7 Home for most users, Windows 7 Business for businesses, Windows 7 Server for servers and Windows 7 Minimal which should be as light as possible, with a Fluxbox like UI for lower-end machines with around 192mb of RAM (MinWin?).
I have loads more ideas but that would make this post too long and most of them are just boring like removing adverts from Windows Live Messenger and removing the stupid blurring feature from the ‘glass’ theme.