Why Vista Took So Long
twofish writes, "Following on from Joel Spolsky's blog on the Windows Vista shutdown menu, Moishe Lettvin, a former member of the Windows Vista team (now at Google) who spent a year working on the menu, gives an insight into the process, and some indication as to what the approximately 24 people who worked on the shutdown menu actually did. Joel has responded in typically forthright fashion." From the last posting: "Every piece of evidence I've heard from developers inside Microsoft supports my theory that the company has become completely tangled up in bureaucracy, layers of management, meetings ad infinitum, and overstaffing. The only way Microsoft has managed to hire so many people has been by lowering their hiring standards significantly. In the early nineties Microsoft looked at IBM, especially the bloated OS/2 team, as a case study of what not to do; somehow in the fifteen year period from 1991–2006 they became the bloated monster that takes five years to ship an incoherent upgrade to their flagship product."
Every single organization seems to follow this exact same path. Lean and mean at first, to fast and nimble second, to large but feature, to slow and bloated. The next step after this tends to be, jump at any and all projects to see if anything will stick progressing slowly down a spiral with a large change either acquisition by another company or dramatic slashing of middle-management workers and projects to focus on their core. Unfortunately I have yet to see a large organization that doesn't seem to go down something similar to this path.
Doesn't "the approximately 24 people who worked on the shutdown menu" already tell you everything you need to know?
As copyright owner of this comment, I authorize everyone to defeat any technological measure which limits access to it.
People would want Vista if it were revolutionary. But you can't just sit down and say 'let's make something revolutionary' and then set up a timeline and claim to be able to create a revolution within that timeframe. Revolutions happen by accident if at all, not on purpose.
So why hurry? For money? In my experience hurrying to make money never works out.
TLF
I do not respond to cowards. Especially anonymous ones.
Congratulations, you just described the default power functionality in XP.
1. As a monopoly, they define how much they charge.
/. waiting for next week's meeting?
2. Sales/Marketing's job is to force this product down OEM's throats. Good, bad, whatever, just buy it.
3. There is no accept or reject market mechanism. You WILL be buying Vista if you choose to buy a new PC later. It will be the very rare individual who switches to a mac or just slaps linux on their current box.
4. There is no incentive to establish a more productive developer environment.
Therefore, chaos and mismanagement won't ever harm the beast.
Joel's comments are fun to read, but the scale at which MS develops their OS makes it too easy to criticize from Joel's relatively tiny company.
Finally, How many hours did the developer spend/waste reading
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
So, Microsoft has finally adopted the Linux development model?
To call it "the Linux development model" is somewhat arrogant I think. It appears more that Microsoft is trying to take their time and putting in extra effort to make this release literally the best Windows release to date, because the last thing they want is another Windows ME. This process applies to any software group, be it OSS, Apple, IBM, and yes, Microsoft.
To borrow a quote from Shigeru Miyamoto, "A delayed game is eventually good, a bad game is bad forever." I think that applies to pretty much any software project, though of course "good" is relative to the user.
"What do you despise? By this are you truly known." --Princess Irulan, Manual of Muad'Dib
/)
To Joe User, they are both the same, so why not just put a little 2 or 4 gig flash drive in the machine, and roll both functions into one? Practically, it would be as fast as sleeping, but would have the complete power down benefits of hibernating.
When our name is on the back of your car, we're behind you all the way!
It's not quite that simple.
When you get beyond a certain stage of complexity, you need to change the mode of operation. You can't just have everyone submitting random changes.
You have a subgroup of people that work with each other. When something is stable, it gets submitted to the integration branch. Periodically the integration branch is tested and verified that all the various things feeding into it interwork with each other. That stable version is then propagated into the other teams for them to work with.
Linux uses a variation of this. People work off the mainline tree. Riskier stuff is in the -mm patchset, so if you want to play with it you need to sync from multiple places.
The real problem with the scenario as described is the repository organization, likely not in the repository tool. There should have been a way to manually make a child stream that started with the stable version, then pulled in the latest changes from the kernel group, the tabletPC group, and the shell team. That would have allowed them to all work together and see what each group was doing.
Not to most people. Certainly not past a *few*,*salient* choices. Past this point, more choices just add confusion. You do not need 255 different ways to tell a laptop to "close up for later use". A true geek would want to be questioned for each process about whether it needed to be persisted or killed. This is a problematic mindset.
That is all.
A bunch of reasons: :)
1. I like having my computers available instantly when I want to use them.
2. Turning a machine on and off many times can be harmful, so it is said. Others say it's a myth. I don't know who to believe, but it seems feasible that this could be so.
3. I run back-ups and virus checks during the night.
4. The computers work on protein-folding during their idle time.
5. My machines are in my bedroom, and they keep me nice and warm at night. Besides, there's nothing like the low purr of case fans so send you off to sleep
The UI isn't all that terrible. Joel Spolsky is making a mountain out of a molehill. Look at the screenshot he gives in his article. Here's what I notice:
1) There's a power button. That shuts things down fully. ("I am going away from my computer now, but I'd like the power to be really off.")
2) There's a lock button. That leave it running, but keeps others out of your stuff. ("I am going away from my computer now.")
3) There's a menu of choices if you care to look at it, and the button is much smaller than the other two and has a nondescript arrow icon on it which makes it much less attractive to non-techie users.
Yes, his suggestions for combining lock with switch user and sleep with hibernate are good, but I don't think what they actually implemented is all that difficult to understand. His problem is that he's "one of us" and went looking for all the extra options. Most people will never click that arrow to make that menu appear. Ever. It's kind of unfair, even to Microsoft, to rag on something for being unfriendly to non-techies when non-techies are never going to even see it. Usually Joel Spolsky's observations are spot-on, but this time I'm going to have to give him an F for eFfort.
Now I'm not a Microsoft employee, but even as an outsider I've seen some hints that it might be the "promiscuous dependency taking" that has delayed Vista.
1) Integration of Internet Explorer.
Microsoft claims that IE and Windows are inextricably linked together, and at least for Windows 2000 and newer this seems to be true. For instance, if you type a URL into the address bar of the Windows Explorer, it will show you web pages. IMHO a stupid design, the web browser should be an application, not a fixed part of the GUI.
2) The RPC service being responsible for things a "remote procedure call service" has no business handling.
In August 2003, a worm called MSBlast spread by exploiting a buffer overflow in the DCOM RPC service (see Wikipedia, http://en.wikipedia.org/wiki/MSBlast). At that time me, trying to be clever, thought:
"I don't want anyone remotely executing stuff on my PC anyway. I'll just switch the service off and be fine".
Lo and behold:
After turning off the RPC service, various local functions were dead as well. Including the Services menu in the control panel. I was lucky that I could reactivate the RPC service by manually editing the registry, else I would have spent a day reinstalling.
So it seems quite believable that Microsoft is choking itself by lack of discipline in designing Windows
C - the footgun of programming languages
In order for competition to have its benefic effects (on prices and innovation), all is necessary is that MS be afraid that, should it do some wrong move, it would loose market share to competitors.
"In an almost spooky series of events, Microsoft has shadowed Apple's brush with death, making the exact same set of moves exactly ten years after Apple:
- In the mid 90s, Microsoft rapidly built upon its past success with MS-DOS to establish Windows as a vast empire
...just as Apple used the success of the Apple II as a stepping stone to launch the Mac in the mid 80s.
- From 1995 to 2001, Microsoft rapidly delivered advancements to its desktop Windows product
...just as Apple rapidly advanced the Mac System Software from 1985-1991.
- In 2001, Microsoft began announcing technologies that would be released as part of Longhorn and later Blackcomb
...just as Apple described new technologies intended for Copland and Gershwin a decade prior.
- From 2002-2006, Microsoft dropped features, changed plans, and started over several times in protracted efforts to ship Longhorn
...just as Apple had fumbled around with Copland ten years earlier.
- By 2006, it was obvious that Microsoft's Longhorn was not going to live up to the hype, and would really be just a refresh of the existing Windows XP
...just as Copland had been gutted in 1996 and its salvaged remains delivered as the optimistically named Mac OS 8.
- Microsoft outed Blackcomb as vaporware
...just as Apple admitted that Gershwin had never been anything but a list of deferred goals ten years earlier.
What's Next? The only difference between Apple and Microsoft is that today, in the final days of 2006, there is no equivalent to a 1996 NeXT waiting in the wings to swoop down and fix Microsoft's mess. Leopard vs Vista 5: Development ChallengesDo you really think Microsoft has been delaying the Vista release in order to make it the best Windows release to date? That seems ignorant of the history of the project to say the least. Here's what I remember:
The Longhorn project was officially started in 2001 (or possibly earlier). Longhorn initially had a number of OS-level features that would've made it on par with some other OS's in the same time peroid, had it been released in its original time window (late 2002, I believe). By my recollection of events, they originally started with the Windows 2000 Server codebase, and attempted to bolt the new fancy features onto the side of it. The effort failed miserably.
By 2003, Microsoft had realized that doing "add-on" development to Windows 2000 was a lost cause, so they literally called a do-over: this time they started with the WinXP Update 2 codebase. By the start of 2005, they were still having serious trouble getting all the new features to play well together, so they started removing them one by one. By 2006 all of the exciting new OS features had been removed, except for the new display API. This became the new feature set of the Vista release: eye candy.
Feel free to correct my from-memory summary of the history of the project. But my point is that they weren't polishing the silverware until it shone brightly; they were just trying to get the dinner table set before it was time for breakfast.
How about, "I like preserving a particular state my machine is in?"
If I'm working on code, I've several editor windows, compiler and terminals open. And usually, if I have to shut down my computer, that would imply I would need to close all those windows and all those applications. Why should I do that when I could just have my computer hibernate or sleep?
I mean, if I am on Linux, I have four active desktops with several browser windows, code and other things.
Shutting down my system implies closing down everything and starting afresh. Why should I, when I can put my system to sleep and restart it with my windows and state preserved?
You're partly right. The "Longhorn reset" - when they decided to largely throw out more than years worth of work - came about because they were overly ambitious. They were trying to re-write major portions of the platform. They realized that doing so was not only going to be too difficult/take too much time but that customers didn't really want that. So they did a reset...significantly reduced the origional ambitions of the project so they could get it done. Whether that's a good thing or bad thing is in the eye of the beholder. In my mind it was probably good because, despite the rantings of some on /. and elsewhere, Windows actually works pretty well for most people and organizations. Re-writing the whole thing would have probably cause more harm than good. Just my personal two cents.