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.
I don't get the new cult of never turning your PC off. If I'm away from my computer, it's usually for an extended period (IE - a night I'm not downloading crap, or a full day of work). Doesn't it make vastly more sense to not have the power supply fan running for those 8 hours? Or the HD randomly going idle and then spinning up again? When I'm done, I shut the machine down and turn off the power strip. Interested in why others don't, however.
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
/)
I think all the choices have some merit.
Switch User - Leave your apps running and switch to another user's desktop. Useful to switch to Administrator quick to fix/install something and then go back to work on your user account.
Log Off - Close all your apps, closes desktop to user login screen. This is good for corporate and multi user PCs. You close all your apps and allow background services to keep functioning (printer sharing, etc).
Lock - Keep your apps and desktop in place, only you need your password to get back to your desktop. This is very useful if you need to walk away from your computer, but want to get back to work when you come back to your desk.
Restart - This is going no where anytime soon.
Sleep - The computers state is suspended into a low power mode. In theory, you can come back to your computer and it will be ready to use in a quicker fashion than a cold boot.
Hibernate - A deeper sleep. Instead of the computer state suspended in RAM, it is written to disk. Useful on laptops, as the computer is really off but still "sleeping".
Shut Down - Everyone should know what this is.
I agree the UI for this menu is terrible, but the options aren't. The solution I believe is to allow all options. Go with the simple menu and you get the three primary options. If you are a power user or admin you get the whole list. Choices are good.
Cthulhu Saves.
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.
Does nayone have any info on how the OS X team works? I mean in a few years Apple did a complete paradigm shift from OS 9 to OS X on the OS level. I would be interesting to see what, if anything, they are doing better. Links or experiences would be nice.
And while I am at it, the start menu requires input from the kernal team. WTF? This is violating some very basic software design principles. The OS should just be basic services, then the applications, including the UI, should ride on top of the kernal without really caring much about how the kernal works.
I can see integration with the shell, but the kernal? It looks like MS policy of tight OS integration with the applications is biting them *hard*.
putting the 'B' in LGBTQ+
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.
To a point yes... but honestly by default you don't need all these... and Microsoft is all about dumbing down the options to make it easier on the user right? No "what parts of windows do you want installed" type questions anymore, it just installs what it feels you want. So off the top of my head I'd say have Sleep, Lock, and Shutdown. Corporate enviro that needs reboot? (I know we do) have a GPO to re-enable it. Or an option under Control panel or w/e. Like tfa said, at the very least do you need both a Lock and Switch User? If you lock the computer, why not have your switch user option on that screen?
Haven't you ever started a hibernate, closed the lid before you were done and when you opened the lid you completed the hibernate and had to power up the computer again to come back from hibernation?
Having only one choice can be better (i.e. when I said "Done" I meant, that's it, that's all you can do). It sounds like Vista is starting to become (if you'll excuse a reference to Larry Wall) as much of a post-modern operating system as linux/unix.
They should make the 'sleep' option do both hibernate and sleep. Always write the RAM to disk, but still leave the RAM powered just in case the user comes back after a few minutes. If sleeping for > 5 minutes (or some other configurable amount of time), turn off power to RAM and hibernate. I think Apple calls this "safe sleep." Best of both worlds.
-matthew
"THERE IS NO JUSTICE, THERE IS ONLY ME." -Death
Uh, Microsoft told us it would take less time. Therefore it's their fault when they miss their self-imposed deadline. They underestimated the difficulty of the project and therefore we should have nobody to blame but MS.
rm -rf
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.
Often on XP, 2000, NT and 95 I would hit control-esc then R for run and type frequently used programs into run
Don't you have a Windows key? Win-R. One chord instead of two, and a less akward stretch than ctrl-esc if you do it with one hand. The Windows key sucks when gaming, and if you're a Model M fan you won't have one, but those are the only two arguments I can think of against it, because it really is useful. I personally use Win-E (open Explorer) and Win-L (Lock) routinely.
Maybe win-r will still work for you in Vista? I don't know.
What competion do you speak of?
Mac market share that still stands at less than 10% of total market share despite being the superior mass-market OS?
Linux/BSD? Desktops.... Nope. Not even close.
Either you are astroturfing for MS to prop up the appearance of competition or you haven't examined the history of MS's share of the desktop computing market.
I urge you to consider the issue with a bit more objectivity.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
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.
Steve Ballmer, is that you?
Vista's UI is nice, and I like that it finally uses non-boneheaded names for system directories (e.g. c:\users\blincoln\documents instead of c:\documents and settings\blincoln\reparse point that sometimes shows as 'my documents' and others as 'blincoln's documents).
However, no way is that worth the upgrade price.
"...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
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.
No, I agree with you. You're completely correct that WinFS's scope was far beyond desktop search, but in reality, this is all the end user really cared about, and "plug-ins" to a desktop search that understands various database formats seems to solve the problem (in it's current state) better than the monstrosity of WinFS. Like you say, it would probably be 10 years before apps fully supported it anyways. It would likely be at least another 2-3 years before Office and other MS apps supported it, so it really had no use in Vista other than as a "Here it is, it's done, now start using it" approach.
I don't think the developer world is ready for it. And the users can only benefit if the developers accept it.
If you need web hosting, you could do worse than here