Log in

View Full Version : An Open Letter to Micorsoft from Neowin on the Next Version of Windows


Jason Dunn
05-13-2009, 07:30 PM
<div class='os_post_top_link'><a href='http://www.neowin.net/news/main/09/05/06/an-open-letter-to-microsoft-on-windows-8' target='_blank'>http://www.neowin.net/news/main/09/...ft-on-windows-8</a><br /><br /></div><p><img src="http://images.thoughtsmedia.com/resizer/thumbs/size/600/dht/auto/1242234649.usr1.jpg" style="border: 1px solid #d2d2bb; float: left; margin: 4px;" /><em>"Dear Microsoft, Congratulations on recently releasing the Windows 7 release candidate. As I've mentioned before, it's shaping into an excellent product and I have given my reasons why I think people should upgrade. But let's pause for a moment and look ahead to your supposed next version of Windows, Windows 8, since it's already in planning stages. Now that you've gotten a way to get some kind of backwards compatibility in your OS virtually, this presents an opportunity to rebuild Windows from the ground up and turn it into an excellent product. Here are some ideas I think should be implemented into the next version of Windows..."</em></p><p>Neowin is a Windows-focused site that has been around for quite some time, so they know of what they speak when it comes to Microsoft's flagship product. I agree very strongly with some of their requests - the death of the registry is overdue, and the general mess that applications are allowed to leave on a system - and the conflicts and crashes that occur from DLL sharing - shouldn't be allowed to continue. Microsoft makes the naive assumption that developers will code their apps properly, but that doesn't occur as often as it should. DLL sharing is a concept that came about when hard drives were tiny and it made sense to save space. Now? It's just one more way for an app to crash - every app should use its own DLLs. <MORE /></p><p>I disgree with Neowin when it comes to the one version of Windows. I just don't think that scales well when you consider netbooks - they need a lower-cost version of Windows to maintain their lower prices. I'd like to see less versions of Windows 8 though: perhaps Windows 8 Basic (for netbooks and low-cost computers), Windows 8 Premium, and a single business/enterprise SKU. And most importnt of all when it comes to SKUs, a family pack that gives people 5 licenses for $199 - a match for what Apple does with OS X.</p><p>One completely new thing that I'd like to see in Windows 8 is OS-level coding to take advantage of increased system RAM. Today there's virtually no real-world performance increases if you move from 2 GB to 4 GB, or 4 GB to 8 GB. Unless you're running multiple virtual machines, having 8 GB of RAM in your computer gives you virtually no benefit over 4 GB or even 2 GB for most users. What I want to see is a system-level RAM drive of a sort - something that would dramatically accelerate operating system functions by moving them to RAM instead of leaving them on the much slower hard drive. RAM is cheap now, and Windows 7 does nothing to scale performance to more RAM - I want Windows 8 to do something better.</p><p>What would you like to see in Windows 8?</p>

brianchris
05-13-2009, 11:18 PM
Microsoft makes the naive assumption that developers will code their apps properly, but that doesn't occur as often as it should.


Developers DON'T code their apps properly and/or quickly, and that in itself is the problem! Look what happened with Vista: Microsoft took slings and arrows for years for their unsecure OS's, so they make a really secure OS (Vista, specifically Vista's UAC, where no user has full admin rights all the time). Developer's have to code differently to account for UAC / lack of admin rights. What did the developers do? They simply stated their app wasn't Vista compatible! I can't tell you, as a Microsoft Small Business Specialist, how many Line of Business applications STILL aren't Vista compatible to this day, 3.5 years after Vista's launch!

The result? Microsoft appears to the public like they made an incompatible dog of an OS, even though Microsoft was trying to answer security criticisms....a case of dammed if you do, dammed if you don't.
<O:p</O:p
<O:p</O:p
Personally, even though I LOVE the idea of eliminated shared DLL's, I don't blame Microsoft for being hesitant to make such a dramatic OS change after what developers did (or more importantly didn't do) after the release of Vista.<O:p</O:p

Perry Reed
05-14-2009, 02:47 AM
Here are a few things I'd suggest:

1. Get rid of backwards compatibility completely! Start with a small, fast, secure, OS that supports applications written as small, fast, and secure. For those needing backwards compatibility, have a virtual mode, similar to the virtual XP in Windows 7. The advantage is, if you don't run the old apps, you don't need the old bloated code running that supports them.

2. Lose the registry completely. Neowin hinted at this, but didn't take it far enough. Part of having drag-and-drop application installs would be for each application to store its own settings in an XML file in the app folder. DLLs, too, if you're not sharing them anymore (also a good idea). The app install should not affect any files or settings other than within the app folder, unless it is designed to affect some system functionality, other than shortcuts, of course.

3. Increase the use of touch as primary input method. I use a touch-enabled Tablet PC, and once you've tried touch, it's hard to go back to just a keyboard and mouse.

ptyork
05-14-2009, 03:39 AM
1. Get rid of backwards compatibility completely! Start with a small, fast, secure, OS that supports applications written as small, fast, and secure. For those needing backwards compatibility, have a virtual mode, similar to the virtual XP in Windows 7. The advantage is, if you don't run the old apps, you don't need the old bloated code running that supports them.

Already exists. It's called Linux.

No, Windows biggest advantage is its install base, and if they lost seamless, native backwards compatibility witn 95%+ of the real world apps, then they lose much of what keeps them irreplaceable.

I think people WAY overstate the current issues with shared DLL's. I've been a windows developer since the early 90's. Back then, DLL hell was truly was HELL. You installed almost any DLL (not just VBRUN300 or MSVCRT10, but MYSTUPID.DLL as well) in the Windows\System directory under the assumption that others would find it somehow useful. That problem stuck around for a long while, but really is not much of an issue anymore with XP+ (and especially with .Net) unless you have a REALLY brain dead developer/installer that bypasses every single system installation tool made available to them. Yes, there are issues with dependencies and versions, but those are unavoidable when those dependencies are other applications or OS/Vendor services. Actually no more or less of an issue than you have with Linux or OSX.

For 3rd party developers, the registry is almost always a big, flaming, stinking pile of suck and its use should be deprecated wherever possible. However, I'm not sure there's a 100% better solution for configuring most system level things. Quite frankly, I like the ability to go to one place instead of having to dig through 10,000 usr, var, etc, and sys directories to find non-standardized configuration files (or worse databases) to configure my subsystems. That said, there HAS to be a better way to register DLL's (i.e., classes) than having 10 billion doubly cross-referenced GUID's (backed up 3 times). Also, why is it so slow to search? Come on! Give us SOME progress here. Full text indexes have been around since well before Google...

Lee Yuan Sheng
05-14-2009, 09:17 AM
I agree that multiple versions of Windows is fine. What wasn't so fine in Vista was the mutually exclusive features in Premium and Business. And if you wanted it all, pay a stupid sum for Ultimate.

I like that MS has seen that this is a mistake (and it does make it more confusing) and is now basically making each higher variant a superset of the other.

Perry Reed
05-14-2009, 02:49 PM
Already exists. It's called Linux.

If I had a nickel for every time someone came into a discussion about Windows and pushed Linux as the solution to all problems... well, I'd have more money than every Linux vendor combined.

I fail to see how an, in a discussion about Windows backwards-compatibility, that Linux could possibly be considered a rational solution. Linux has essentially no Windows compatibilty (Wine and similar tools considered).

If real solid backwards compatibility is the requirement, then continuing to run the existing Windows architecture is obviously the best answer. But I still maintain that Microsoft could remove much of it, pushing it to a virtual compatibility layer, and would still be a better compatibility option than Linux (or OS/X). They wrote the OS, they know all of the little hooks and tweaks necessary to run it in a virtual layer.

ptyork
05-14-2009, 04:06 PM
I fail to see how an, in a discussion about Windows backwards-compatibility, that Linux could possibly be considered a rational solution. Linux has essentially no Windows compatibilty (Wine and similar tools considered).

This is silly. You stated that they should drop all backwards compatibility and run prior versions in virtual machines (ala "XP Mode"). This is very much possible using Linux (and even more elegantly and seamlessly possible using OS/X + Parallels or VMWare Fusion) which carries a far lighter resource load (because it has far fewer features). Throw Mono and Moonlight on top and you can ALMOST claim to provide a seamless transition path for LOB app developers.

FWIW, I'm a major Linux basher by trade. I just had to point out that what you were suggesting would put Windows nearly on par with them in terms of a competitive landscape. And don't forget about drivers when you ask for these things. Losing hardware support is a terrible thing, as we saw on a relatively minor scale with Vista, and might actually make these Linux more compelling.

As for removing the backwards compatibility "hooks," yes, possible. Again, though, I'm not sure it is wise. I'm also not sure REALLY what it would accomplish. It is already essentially microkernel-based and highly (almost woefully) modular. Most of the backwards compatibility hooks come in the form of maintaining old DLL/COM wrappers for new functions, which really aren't that big of a deal relative to the value that they provide. They, in reality, add almost zero overhead (except a few megs of disk space).

I agree 100% with the integration of more touch (though I think Windows 7 is making significant strides there). I've already agreed with (and disagreed with) the registry portion of your argument. What else are you looking for? Modern driver model? Done. New file system? In the works. New GUI? Done'ish. More secure? Well, it is as secure as anything out there now. Faster? A product of refinement (always a work-in-progress, but far better than we'd see with a ground-up effort) and size vs. feature tradeoffs (your call--Windows 7 now allows much more granular control over the installed and active subsystems).

Does Windows 7 carry some baggage? Sure, but it isn't huge. I think you nailed it by calling the registry the #1 candidate for a severe rethink. Are there any other specifics that you are aiming to fix with your cleaver?

Lee Yuan Sheng
05-14-2009, 08:38 PM
I'm curious; what kind of a job would a major linux basher do? I'm now having images of someone running into an open source convention with a chainsaw. :D

ptyork
05-14-2009, 10:18 PM
I'm curious; what kind of a job would a major linux basher do? I'm now having images of someone running into an open source convention with a chainsaw. :D

You'd be amazed how much penguin pelts are bringing on the black market! ;)

Jason Dunn
05-14-2009, 10:49 PM
I like you ptyork. You're a smart person and you like sharing. :)

I think people WAY overstate the current issues with shared DLL's. I've been a windows developer since the early 90's. Back then, DLL hell was truly was HELL. You installed almost any DLL (not just VBRUN300 or MSVCRT10, but MYSTUPID.DLL as well) in the Windows\System directory under the assumption that others would find it somehow useful.

I'm not a developer, so I'll take your word for all this - but what I tend to find is when I install software and it crashes, 90% of the time it's tanking on a DLL. I've also found that one of my programs will get unstable/cranky after I install another similar program - particularly video editors. I assume this was part of shared DLLs, but perhaps not. Quite often the developers of these applications say "Oh, yeah, our app is crashing because you have apps XYZ installed" - as if that's an excuse for them to have a stable application only on computers where nothing else is installed. It completely pisses me off. I think codec hell is still a problem today, because some apps share codecs, update codecs, etc.

I want a version of Windows that, even if I install and uninstall 100 different apps, doesn't feel/act any slower or more unstable. That's what I want from Windows. Vista isn't perfect, but it's a heck of a lot better - from the original install when Vista was released, I've only re-imaged my machines once each. That's a BIG change from the XP days.

Jason Dunn
05-14-2009, 10:52 PM
I like that MS has seen that this is a mistake (and it does make it more confusing) and is now basically making each higher variant a superset of the other.

Indeed, Microsoft has boarded the cluetrain in that regard - but I fear they won't grasp the importance of giving home users an affordable way to migrate from Vista to Windows 7 and much of the market will stick with Vista or even XP.

Jason Dunn
05-14-2009, 10:57 PM
FWIW, I'm a major Linux basher by trade. I just had to point out that what you were suggesting would put Windows nearly on par with them in terms of a competitive landscape. And don't forget about drivers when you ask for these things.

It's funny, every single experience I have with Linux is the same: it's like eating an omelette made by a dozen different cooks, each from a different nationality, and they each have particular ideas about how an omelette should taste. To me, that's Linux. It lacks unity, focus, and it shows in usability. Some of the distros such as Ubuntu have more focus, but they're still light years back from anything Microsoft is doing.

Linux has its place, but it's not going to "take over" the desktop like some people have been claiming for years. It will remain a niche player for a very long time...