Dell Documents Reveal Microsoft's Pre-launch Vista Errors
twitter writes "The New York Times has a piercing analysis of documents from the Vista capable lawsuit. The documents show that Microsoft seems to have put a wrench in Vista's driver situation only at the last minute. 'Late OS code changes broke drivers and applications, forcing key commodities to miss launch or limp out with issues,' said one slide in a Dell presentation dated March 25, 2007, about two months after Vista's launch at retail and availability on new PCs.' We have all heard the lazy vendors don't believe Vista will launch excuses but few of us have heard Steven Sinofsky, chief of Windows development, second and third opinions. 'Massive changes in the underpinnings for video and audio really led to a poor experience at RTM,' he said. 'This change led to incompatibilities. For example, you don't get Aero with an XP driver, but your card might not (ever) have a Vista driver.' Finally, said Sinofsky, other changes in Vista blocked Windows XP drivers altogether. 'This is across the board for printers, scanners, WAN, accessories and so on. Many of the associated applets don't run within the constraints of the security model or the new video/audio driver models.'
Par for the course for Microsoft I think. If my memory serves me well.
I am wondering what went wrong to force Microsoft to change kernel and break drivers at the last minute. Because of a design flaw that compromised security? Or DRM?
In case anyone wants to enjoy the usual "M$ Windoze" grade school creative spelling that the /. editor had to remove.
Many of the associated applets don't run within the constraints of the security model or the new video/audio driver models.
When rebuilding a system from the ground up for security, these issues need to be hashed out first. The fact that the security and driver models were changing significantly shortly before launch is a sign of bad design. Or at the very least horrible project management. If Vista was in the works for over 5 years, and it was designed properly from the start, 3rd parties should have had plenty of time (years) to conform to new models.
Developers: We can use your help.
The driver models for audio and video in Vista are drastically different than they were in XP. Microsoft is trying to push towards a more microkernel-ish model where these drivers are intended to exist in user-mode. The entire Vista audio stack is user-mode and the video stack is divided into two portions where a good 90% exists in user mode and the rest remains in kernel mode for performance reasons. Microsoft is also trying to force hardware scheduling to prevent a single accelerated application from hosing an accelerated desktop, which is currently a problem in all accelerated desktops, Compiz and OSX included.
The driver situation wasn't any better when XP was launched. If anything it was much worse because all of a sudden consumer-grade hardware vendors had to jump to supporting the NT kernel rather than the 9x kernel, which finally locked down the memory isolation so that a user-mode app could not access kernel resources. It took years for the big companies like Creative Labs, nVidia or ATI to get half-decent drivers out for XP. The situation for Vista is already much better than it was for XP.
All the more reason to avoid release dates. Whether it's completely arbitrary, or it's an estimate given by a developer, release dates only result in two things: Making people rush, and making products late or not as advertised.
I can understand a statement such as "We hope for our product to be ready by [date]" or "We're aiming for a possible launch window of [date]", but to say "Our product will be available on this date" only puts pressure on those lower down the totem pole, and can result in a lot of lost features or quality assurance.
Conversely, this should not be used to infer the Duke Nukem Forever will be an awesome game if it is ever released.
Those who believe the Internet is private,
find their privates are on the Internet.
If ndiswrapper can run XP drivers in Linux, then surely MS could have run XP drivers with no problems at all.
Engineering is the art of compromise.
Perhaps, one day, when competition re-emerges in the OS marketplace, microsoft will have to clean up their act. Until that day, and as long as people keep giving microsoft their money, nothing will change.
/. are the people who laugh at those who do ...
It is too bad that so many people who would benefit from reading
From TFA:
According to the e-mails made public this week, Microsoft will apply the lessons it learned with Vista the next time around. "There is really nothing we can do in the short term," noted Joan Kalkman, the general manager of OEM and embedded worldwide marketing, in a message written a week after Sinofsky's. "In the long term we have worked hard to establish and have committed to an OEM Theme for Win[dows] 7 planning.
"This was rejected for Vista. Having this theme puts accountability and early thinking on programs like Capable/Ready so that we make the right decisions early on."
The crippling of Vista isn't something that they will fix, given that they are already working on Windows 7. So take the experience of how not to develop and launch a multiyear/multibillion dollar project and hope not to do the same again next time.
If you can't beat them, embrace and extend them.
The quotes in the summary explain why Windows XP drivers would not work; they do not state that driver model changes were made right before RTM.
You're wasting your time. Slashdot has officially degenerated into IHateVista.org. You'll just get shouted down by the adolescent Linux fanboys for daring to contradict the orthodoxy, whether you're right or not.
That Vista RTM had been delayed due to DRM issues... That the OS was probably scrapped in the first place to be rewritten with DRM as the underlying security model.
.net runtime.
I had long thought, and I'm sure I'm not alone, that microsoft should have pulled an apple and damn the backward compatability. They should have rewritten the OS from scratch after windows XP, and shouldn't have dropped key features along the way like the new WinFS, for instance. They should have bought VMware and integrated a virtual machine with a full copy of the appropriate WindowsXP (pro for pro, home for home)to run all the older "mission critical" software in "classic mode." They could have deprecated the win32 API and most of MFC, and forced all NEW development to move to the
I suspect that the idea crossed their minds, whether or not they started to implement it, but they couldn't figure out how to guarantee front to back digital restrictions with such a dual-OS model.
Something, though, made them panic and start over a few years ago, scrapping any progress they made. And integrating DRM along the way kept making things worse.
More music, fewer hits
Dell and the like could just keep shipping systems that they know can't run aero with windows XP and don't use the Vista capable stickers on them?
This is the part that bugs me about this. It might be true that MS considers vista without aero to be fine when they shouldn't. However no one is forcing dell to use the stickers, Dell and the like used them on computers they knew couldn't run vista fully. They do it because they knew people would buy the computer thinking it would run vista.
When it turned out vista was crippled on the machine insted of Dell going "Ooops sorry, heres some store credit" (or whatever) they went "Don't look at us, MS made us do it! blame them!" As if MS was the one who built the computer.
FYI: Postmortem also has an informal definition meaning "an analysis or review of a finished event".
"twitter", as usual.
This user had a particularly clever way handling the driver compatibility issues of his "Vista ready" system.
http://youtube.com/watch?v=FVbf9tOGwno
The "massive changes" Sinovsky refers to aren't the last minute changes Dell is referring to, but the overall changes in Vista from the getgo.
The NYT coverage and their analysis are both news from the Vista capable dissaster. With a jerk around like that, it's no wonder that the whole industry has revolted and it's nice to see the word getting out to a wider audience via papers like the NYT. Their analysis is also interesting, though I'd love to see where "Otter" beat them to the punch. Didn't happen did it?
Here are some older examples of the same kinds of behavior:
The list goes on and on. On the chopping block today are ODF, Linux distros, AV makers and a host of competitors that just won't die like iPod, Play Station and Mozilla. The only way out is to avoid Windows and stay away from M$ and other non free software vendors. The further away you are, the better off you are.
Friends don't help friends install M$ junk.
Uh, there is a third kind, which VISTA is in. It is the "Released, but never should have been".
Microsoft really screwed the pooch on this one. If they were going to break Windows, they should have broken it completely, and wrote a new OS that resembled Windows, but didn't have a single thing in common. IBM had a similar situation in OS/2 (and PS/2) and screwed it up completely, by marketing OS/2 completely wrong (Windows on Roids).
If I had 100 Million Dollars startup, I'd have a complete OS and New HW platform to run it on, without any legacy code bloat, ready (beta or RC) in 3 years max. I'd design everything from scratch having HW and SW teams working together to design tight integration of both WITH planned expandability and adaptability.
Year 1, mapping out what is needed, early designs
Year 2, Early Implementation and Refinement of Design.
Year 3, Standaridized APIs and Programming / Developer Tools, bug squashing.
I'd have three levels for licensing of all the products and specs.
1)Open Source Open HW (free to all)
2)Shared Source, Open HW (Cost for people who'd like to sell their source, to run on any HW)
3)Closed Source, Closed HW (BIG COST for people to have their own version of Source and Proprietary HW)
I'd sell tools and services as a core business model once the products are released. I'd also have planned and phased obsolescence for both HW and SW, meaning that after a set period of time (5-10 years) NEW releases won't have backward compatibility so that as the system evolve, that newer versions of SW (and HW) don't have to retain backwards compatibility. Major Version numbers would indicate a certain set (Final OS 1.0) such that each version would NOT be backwards compatible (BC).
Why not plan obsolescence?
Agent K: A *person* is smart. People are dumb, stupid, panicky animals, and you know it.
that they had thought this through more carefully. XP was stable and working, if they needed to release an OS, why did they change so much that almost nothing is decent backwards compatible.
:P
Or maybe I'm just whiny.
-Aegis Runestone-
The story is about why XP drivers don't work. Slashdot has been begging for years that Microsoft break backwards-compatibility in favor of security, then when they do, you guys bitch/gloat about it.
Hypocrisy, thy name is "slashdot".
yeah wow thats why it's not launched yet, shocking.
If you mod me down, I will become more powerful than you can imagine....
They fiddled with several key underpinnings of the OS. For example, rebuilt the network stack? Why? Why do that and add more features when the features you want to implement are reliant on running on a stable feature complete OS in the first place?
Dogfood or not, this really seems like a case of the left hand not knowing what the ride hand was doing. Or they overshot. Or they tried too hard and failed to copy OS X. Or they just need to start over. IMHO Sandbox XP->98 apps and start fresh with a whole new OS. They HAVE to do that sometime, why not now?
If you wanna get rich, you know that payback is a bitch
I've been running Vista since the early beta days and it's my main desktop system and also powers my mediacenter. The only XP drivers that definitely wont work are video drivers, drivers for things like NIC, disk controllers etc all work fine. On my main system, Only HP and Microtek (prinet and scanner respectively) have yet to provide fulle Vista drivers for my system, and the XP drivers work just fine.
Has it occured to you that probably the ultimate motive of moving drivers from kernel space to user space is STILL DRM?
Namely, to prevents developers from creating unauthorized audio/video drivers that can create analog outputs to all media.
what a joke. I don't think I've seen a story like this about lacking/bad drivers since the OS/2 days.
good thing "no one on the Internet knows your running Windows NT"
cause they be laughing
Late OS code changes broke drivers...
This reminds me of the painful driver development from NT4 to Windows 2000. A few years before release MS was pushing us to port NT4 drivers to Win2K. We jumped on it quickly and had working drivers, but as the years rolled by changes would be made that broke the earlier work. This rinse and repeat continued to the *very* end. Years of wasted time and resources for no reason.
What I learned from that is to start looking at new Windows driver documentation a few months before release and then wait until the actual release before changing or writing any code. You just don't know what fundamental changes will occur until the discs are on retail shelves.
You sure as hell can't trust what MS tells you as a developer about interface changes and release dates.
Microsoft hashed the release of Vista, but the Linux community of all people has no right to talk about new releases making drivers incompatible. Backwards compatibility doesn't exist in the linux world.
Open source drivers get updated as the kernel gets updated, and old hardware continues to work long after the original manufacturer can no longer be bothered to support it. The notion that open source OSes don't support old hardware, or software, is completely and demonstrably false.
Ita erat quando hic adveni.
If they hadn't been saying that very same thing for the past decade it might actually be believable.
The extra engineering might pay off. People with older (or even current) machines with XP drivers might have bought Visa. hardware vendors would have had an easier job and the whole anti-Vista wave might not have happened.
Engineering is the art of compromise.
No it's not. It's just more Microsoft marketing-speak. For example:
The new video and audio drivers have nothing to do with DRM.
Reasons include moving as much software out of kernel mode as possible thereby minimizing bug checks (in layman's terms "BSODs"), developing an architecture to make debugging audio problems in applications easier, and supporting a whole new generation of Digital Rights Management (http://www.microsoft.com/whdc/device/stream/output_protect.mspx) Vista is not 10%-50% slower. Of course, none of this bodes well for Vista, which is now more than 2x slower than the most current builds of its older sibling. Either Microsoft supports it, or Microsoft can kiss all high-def media good-bye.No, if Microsoft doesn't support it, we can ALL kiss DRM'd high-def media good-bye, and good riddance. Microsoft had been a key supporter and booster of computer DRM despite their customers' distaste for it. Don't try to pretend they are anything but complicit partners with the studios in this.
"I've got more toys than Teruhisa Kitahara."
From http://www.ibiblio.org/pub/linux/docs/HOWTO/Advocacy
People say the same things about Ubuntu, it's not Microsoft specific. If MS can't handle complaints that all OS developers get then maybe they should get out of the business.
This one is quite simple - it's digital signature checking. Before UAC shows that dialog box, it does a digital signature check of the installer .exe file. Well, that file is 400 megabytes. This digital signature lets it warn you if you're trying to invoke an unsigned program with high privilege.
The reason it takes so long is that it maps the entire file linearly into memory to hash it. Such a large mapping gets demand-loaded, which for a linear scan is very slow.
The workaround is actually quite simple. Run Command Prompt as Administrator, then run the installer from there. The signature check will be on cmd.exe instead of a 400 meg file.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
Microsoft actually remade a critical system call, NtCreateProcess(), explicitly because of DRM. Translated to the UNIX world, this would be like redesigning fork() from scratch just to protect VLC from being debugged.
.exe file and ntdll.dll. No initial stack, no main thread. The parent process actually uses the debugging API to inject them into the new process. Even the the environment and current directory are injected this way.
Prior to Vista, NT had a "create process" mechanism differing in design from most other operating systems. NtCreateProcess() creates an empty process with nothing in it other than the new
This worked well until Vista. In Vista, their DRM system had a problem: they didn't want anyone to be able to debug audiodg.exe, but the parent process had to be able to debug it in order to start it. The solution? Redesign the entire process creation system such that the kernel does all the initial process creation procedures so that the parent does not have control over the child if it is a "protected process". Hence, NtCreateUserProcess() was born.
For those that don't believe that this change was for DRM, I offer proof in the form of a Microsoft kernel developer on video explaining it.
"Screw Sun, cross-platform will never work. Let's move on and steal the Java language." - Visual J++ Product Manager
I've gotta agree with (the oddly named) Adolf saying that Microsoft did this ultimately for DRM seems odd considering the similar move in Linux. I think moving drivers out of the kernel, especially drivers that are less reliable, is good for reliability. I've had video drivers crash a few times on Vista. All that happens is the screen goes black for less than a second, then displays exactly as before with a small notification on the bottom right saying something about the video drivers crashing (not those words). Did Microsoft do this in part because it made DRM "better" in their minds? Absolutely. But to say it was the ultimate reason without any explicit confirmation seems like a stretch.
Is it that hard to seek to frame offset at 1% and if its not 90% white or black use the thumbnail. How about some time based smart code that says
If this operation is taking >200ms, fricking give up and pick a random frame 2% to 5% in thats a keyframe. Friggin store it in filename_thmb.png or something or cache it.
Sounds like too many OO layers with out any smarts of knowing what the user is doing, just lots of automatic operations that assume will happen in 0ms.
Liberty freedom are no1, not dicks in suits.
No QA contracter reported this as a bug because it meant more cash in their wallets each time testing.
Common MS coders, get a clue, store a sig for the first 10meg at least, so if that FAILS, the whole stupid ass thing will too.
Note to MS, hire people with a clue, or that at least used computers before 1990, not these post ps2 gameboy jocks.
Liberty freedom are no1, not dicks in suits.
It's the fault of CPU designers. Current ISAs do not provide in-process modules, and therefore O/S designers are forced to work around the problem in various ways.
I've posted a related comment in the recent discussion on Microkernels.
I also sent an email to Tanenbaum asking him to put a request for CPU designers to provide in-process modules (which can be done without sacrificing flat address spaces). He replied that the cost would be prohibitive...I strongly disagree: all that it requires is another cache of translations of memory addresses to modules...
And, they had the chance to improve this kind of stability in Windows 2000, where it was a major redesign and it was obvious that putting drivers in user space is a safer practice. Well guess what, they didn't do that.
So why all of a sudden in Vista? A video driver is a video driver - I HAVE written a video driver for Windows, fact is, even if the driver is in user space, it's still possible for you to write a driver to totally F* up the machine to a point that a reboot is _almost_ inevitable - without the driver/kernel even crashing - thus undetected by Vista.
By saying _almost_ I mean you could connect and may be able to restart the video driver remotely (yes even under Windows it's a possible setup) but how many consumer machines are set up this way, you have an idea. Screwed-up video driver usually == reboot, regardless whether the driver is in Ring 1/2 or Ring 3.
So given that putting video drivers (the usual cause of BSOD in XP) in Ring 3 usually does not decrease the need to reboot, you have to question the ultimate motive in spending the amount of resource to make the change.
Citing Peter Gutmann's debunked, undefended "study" of Vista in your first link == EPIC FAIL
The main reason to take the drivers out of the kernel was stability. Read the MS mailing lists if you don't believe me. Or are all the MS developers engaged in an elaborate deception to push DRM?
Only on Slashdot can someone get modded up and then two posts down say "fuck you asshole, I have a sockpuppet" without repercussions.
Web2.0: I love when people Flickr my cuil and digg my boingboing until my google is reddit and I start to yahoo