The Gadget Zone had an article on the 20 things Windows 7 MUST include and that got me to thinking…
Of course, the first thing that I thought about was that the Gadget Zone is apparently unaware of the bold or italic features of HTML and CSS when they used the classical ASCII model of uppercasing part of their headline. Hey guys, modern technology provides a better emphasis mechanism, you should use it.
Leaving the minor quibble aside, the list breaks down as follows (in the order they gave them):
20. Modularized OS. The funny thing is, Windows is supposed (note the emphasis style) to be a modular OS. It is a microkernel architecture and just about everything is in a library. Of course, the problem is that Microsoft has drifted to more monolithic options and Windows has become less modular as a result. This is in contrast to an OS like Linux that is not only modular in the kernel, it’s modular in just about everything you install.
19. XP Virtual Machine. Huh? The reason Apple did such a thing is that OS X was radically, to put it mildly, different from OS 9. There was no real option but to emulate there. However, Windows 7 won’t have that issue, but what Microsoft needs to do is fix its library mess. It’s about a fourth of the way there, but it needs to go the distance so that apps that run fine on XP also run fine on Windows 7.
18. New UAC. No, get rid of it. Apple and Ubuntu do it right: when you perform an administrative action, it asks for your password. This may seem more of a pain than UAC, but with Ubuntu, for example, I can become an administrator, perform all of the actions I need, and then stop being an administrator. It is massively less intrusive than UAC which, ultimately, I turned off on Vista because it drove me nuts. The Vista model just encourages users to click the OK button.
17. Gaming Mode. What? How about creating an OS that wasn’t so intrusive that it ate up your resources forcing you to boot into some console hybrid to play games? I don’t want to have to restart my machine to play Civilization IV, I want Windows to stop hogging everything. This suggestion really means buy a Wii, Xbox, or PS3.
16. Customised Install. This is just point 20 in a different approach. Without 20, you can’t have this and Windows is definitely got some interesting interdependencies. In any case, presumably, if you have a modular OS, you have an OS that can be customized.
15. Productive GUI. I laughed at this one… So much for the Windows “user friendly” myth! Actually, the problem with both Windows and OS X is that productive GUI means different things to different people, but they have to try and figure out the middle of the pack. Apple is okay at it, Microsoft has never figured it out. On the other hand, the open source community has figured it out. Yes, the array of options are dizzying, but one thing you can do is absolutely tailor your GUI to you. Windows and OS X cannot do this. I should know, I have all three.
14. All for One and One for All. I actually disagree with this. I like choice, hence the reason I like Linux. I can pick the environment that suits my needs with Linux and so the collection of Vista versions was actually a good thing in my book. Why should a user pay for features that they don’t need?
13. WinFS. This is a dumb idea. Let’s introduce the overhead of a database engine to a filesystem and make it distinctly slower. Actually, lets not and say we did. There’s no need for this.
12. Home User Licensing. Well, duh. Apple does this, I have the 5 machine license for OS X because it was cheaper than buying two copies of the OS. All in all, I prefer the Ubuntu model (amongst other Linux distributions): install on as many machines as you want as often as you want, for free. Of course, neither Apple or Microsoft is going to do this.
11. Driver Availability. Another duh. Of course it makes sense to ensure the widest range of hardware support before shipping. One way of doing that is by having a stable API.
10. Standards Compliant Browser. First, if you use IE for regular browsing, wise up. However, IE 8 is supposed to be aiming for standards compliancy and I’m happy to hear that. To be fair to Microsoft, there has been a movement around standards in a few of their products that is positive, notably in IE and in their C++ compiler.
9. Program Caching. I suppose, if you were dumb enough to have WinFS, this would be really necessary. Beyond that, I don’t really think it is. Hardware is filling the gap with faster drives, better bus speeds, and faster and more powerful CPUs. Basically, I’d rather not have the OS idling pumping stuff into memory that has to be dumped when it is needed by something else. Yes, on the surface, it seems like a good idea to put the unused RAM to use, but if an executing program needs that RAM, the freeing of it isn’t without cost. Net effect, I can wait the microsecond or two to have my app load.
8. Microsoft Toolbox. Having diagnostic utilities is a good thing, so I don’t dispute the basics of this. However, I think this already exists.
7. OS Restoration via imaging. I thought this was the purpose of system restore. However, there are a lot of options in this area already, so I don’t really see an all-pressing need for it to be inside of Windows. Generally, it is really better to image a system with the system offline anyways.
6. Barebones Kernel. Where have I seen this before? Oh yeah, item 20 above.
5. 64bit only. Yes. Finally, one that actually isn’t already addressed, half-baked, or irrelevant. It is high time that 32 bit Windows dies. Microsoft is doing that with Windows Server 2008 r2 and needs to do this out of the box with Windows 7. Lets be honest, if Vista is any indication, the hardware needed to run Windows 7 will have to be 64 bit capable, so there is no reason to futz around with 32 bit anymore. Besides, the 64 bit OS can run 32 bit apps. Yeah, it won’t be running 16 bit apps but if you are still doing that, you’re an idiot.
4. Better out-of-box burning capabilities. I’m sure Nero would prefer otherwise, but this should be a given. The simple fact is that DVD burning is pretty much expected on a modern PC and Windows is pretty shitty at it without 3rd party tools. While they’re at it, Windows should be able to mount disc images without the need to burn them first.
3. Diagnostic Tools. Hardware diagnostic tools already exist. There are, for example, very specific Linux distributions designed to boot off of portable devices (such as a USB key) for this purpose. I suspect that such tools in Windows would be next to useless if you had to run Windows to get to them. This is the kind of thing that really needs to be extremely lean and Windows isn’t remotely close to that.
2. Faster Boot and Shutdown. I suppose that has value if you do these often. I don’t shutdown my computers unless there is a very specific need. As for booting, that’s a pain in Windows because a large number of updates need you to restart. Also, if the author of this article gets his way with a gaming mode, I suspect this would be more relevant…
1. Simplify and manage startup items. To do that you would have to be less modular…
Well, that’s the story at the Gadget Zone. Now, in my opinion, here’s what I think it needs to do (this time in a numerical order that human beings use):
1. Get rid of UAC. I’ve discussed this above.
2. Fix the insanity of Aero. Hey, I don’t mind eye candy, but I’m getting significantly more and better eye candy from Compiz Fusion under X Windows for a fraction of the resources. Aero is a piggish mess.
3. 64 bit. I did mention it above, 32 bit has to die. I’ve already spec’d my next PC and it has 8 GB of RAM and that means a 64 bit OS. It also has the advantage of letting the hardware guys focus on 64 bit drivers rather than both.
4. Cut back the aggressive caching. Caching is good, when it is implemented well and the hits to it are frequent or regular. Caching everything, though, has a price.
5. Fix or scrap activation. I despise product activation and it was one of the things that, literally, drove me back to Linux. If you insist on this model, then at least provide a means of buying one physical copy and many (much cheaper) virtual copies. However, I hate the whole concept. I have 13 computers, which is a lot I’ll admit, but when I use one of them, I want the software I paid for available when it is appropriate. The whole licensing scheme ties me to a machine and, worse yet, makes it difficult to upgrade them. I turn my desktop over about every 18 months and I do not want to have to pay again for software that I have already bought. At the very least, let me deactivate on the old machine (like Adobe does) so I can activate on the new one.
6. Be faster and leaner. It’s not going to happen, Windows has gotten so huge that they have development teams dedicated to a dialog box, but this bloat is going to kill it. For example, a recent Windows update that added 5 words to the English and German dictionaries was 56.3 MB. To give you a frame of reference, War and Peace (one of the largest novels ever written) checks in at a massive 3.2 MB or 5.6% of the file size of a mere 5 word update to Windows.
I really could go on, there is so much that could make Windows better, but none is likely to happen. What is happening to Windows is what has happened to Netscape: bloated and slow. It is destined to collapse under its own weight unless Microsoft takes the steps that Apple did.