Vista is almost here and while it sure looks nice we know that, like previous versions of Windows, it’ll be somewhat bloated, insecure and buggy. Mac-heads and Linux-geeks will continue to laugh at every flaw found while pointing out that their favorite operating systems seem immune. But why? Are the Microsofties somehow less competent than the boys in Cupertino or the lonely shut-ins (I’m assuming) that cobble together Linux? Nope, at least I don’t believe so. A big part of the problems we see in Windows has a single cause: backward compatibility.

It’s backward compatibility with older software and hardware that keeps Microsoft from really fixing some things. Sure, Vista now has users running in a lower-privileged user account, but it’s still not as clean and simple as those other guys. And backward compatibility leaves open doors for viruses, root kits, and other malware to attack. Did you know that VisiCalc, the original spreadsheet program written for DOS about a billion years ago will still run on Vista? I’ve got a copy of MS-DOS Executive from Windows 2.0 that is running on my XP tablet.

Apple has shown a willingness more than once to jettison old software and hardware and take the risk that users will make the jump with them. They did it when they introduced OS X and again with the Intel-based Macs. Why can’t Microsoft do it, too? It’s a matter of user base. Apple’s is comparatively tiny and made up primarily of individual home users. Windows users out-number Mac-heads by the millions and many of those are in corporations and on mission-critical servers. Releasing a version of Windows that those folks couldn’t use on their existing hardware and run their existing software would be suicide. And so every new version of Windows must not only introduce new features and better security, but must also not break much existing software or obsolete very much hardware.

So is that it? Are we doomed to buggy, virus-ridden versions of Windows forever? Perhaps not. I’ve got an idea… It might be a bit of stretch for Redmond, but I think they could do it. What I propose is that Microsoft should continue to develop and support new versions of Windows just as they have been and publicly announce that they will continue to do so until some date in the future, say 2010 or 2012. But at the same time, start pushing developers into .Net in a big way. Tell them that the old COM/COM+/DCOM architectures are going away soon. As are the old driver models. Microsoft will also have to re-write Windows itself in .Net, as well as Office and all of the rest of their code, but they could start this slowly, say with consumer and desktop applications first. In fact, what I’m proposing is that they release this as a separate OS, alongside Windows, but without any of the backward compatibility. It’ll support .Net, the newer driver models, and the latest hardware ONLY. That means anyone using it will need new hardware with new drivers, and new software. But it’ll be small, fast, and ultra-secure. Users will have the option of using the “full” version of Windows with their existing code, or dump it all and go for the new .Net Windows (only think of a much better name for it). Over a long period of time, Microsoft can phase out the old Windows as more and more people move to the new one and more and more software and hardware support it.

Too radical of an idea? Probably. Unfortunately.

Perry Reed

Lead SQA Analyst

Publix Super Markets, Inc.

863 686 8754 x 44350

perry.reed@publix.com

RSS feed | Trackback URI

Comments »

No comments yet.

Name (required)
E-mail (required - never shown publicly)
URI
Your Comment (smaller size | larger size)
You may use <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <code> <em> <i> <strike> <strong> in your comment.