Join 3,523 readers in helping fund MetaFilter (Hide)


Every once in a while, Truth still pipes up in meetings. When this happens, more often than not, Truth is simply bent over an authoritative knee and soundly spanked into silence.
June 18, 2006 12:03 AM   Subscribe

``I managed developer teams in Windows for five years, and have only begun to reflect on the experience now that I have recently switched teams. Through a series of conversations with other leaders that have similarly left The Collective, several root causes have emerged as lasting characterizations of what's really wrong in The Empire.'
posted by Blazecock Pileon (75 comments total) 1 user marked this as a favorite

 
Windows code is too complicated. It's not the components themselves, it's their interdependencies. An architectural diagram of Windows would suggest there are more than 50 dependency layers (never mind that there also exist circular dependencies). After working in Windows for five years, you understand only, say, two of them. Add to this the fact that building Windows on a dual-proc dev box takes nearly 24 hours, and you'll be slow enough to drive Miss Daisy..

And the sad fact is, this bloated corpse of an OS will be the new standard for the next 5 years or so (at least). Then, if we're lucky, MS will finally pull it's head out it's ass and realize that it needs to build something new from the ground up that isn't backwards compatible with every piece of software ever written. But they probably won't.
posted by doctor_negative at 12:29 AM on June 18, 2006


The largest software project in mankind’s history now threatens to also be the longest.

Duke. Nukem. Forever.
posted by stavrosthewonderchicken at 12:31 AM on June 18, 2006 [1 favorite]


Duke Nukem Forever still doesn't have a release date, btw. Also, the Duke Nukem Forever list.
posted by puke & cry at 12:38 AM on June 18, 2006 [1 favorite]


Let's see:

1) a product that is very complicated
2) layers of overbearing management
3) unrealistic production schedules

Sounds like every place I've ever worked. What's so special about software, Vista, or Microsoft?
posted by three blind mice at 1:15 AM on June 18, 2006


From the Duke Nukem Forever list:

(Since Duke Nukem Forever was announced) The two Mars rovers, Spirit and Opportunity were proposed, authorized, announced, designed, launched and successfully landed upon Mars where they have been exploring the surface for over 2.5 years.

Ouch. When NASA puts spacecraft on Mars faster than you put video games on shelves, it's time to give up. Admit defeat and go home.
posted by Mitrovarr at 1:17 AM on June 18, 2006


It is an interesting article, but the author uses dramatic imagry to hide his inability to grasp the core concept. Vista is the pile of crap that it is because its actual utility has little to do with Microsoft's ability to ship millions of units. The Windows brand and Microsoft Marketing Machine are strong enough that they could fill each box with a freshly squeezed steaming pile of manure and the OEMs would eat it up. Tom's Hardware would dedicate 50 short pages to the urgent necessity of upgrading to Microsoft Cow Pie.

Six months later, end users might discover what they have purchased, but it would take years for the repercussions to reach Redmond. By that time, most of the marketing staff would have moved on to new companies, the engineers would have transitioned into new groups.

But Windows Vista will be just like Windows XP, perhaps with a little OS X flavor. It will receive rave reviews from journalists who can't even conceptualize what Windows could be. Dell will ship it with every machine. OSX and Linux will continue to hold on to a marginal share of the market.
posted by b1tr0t at 1:30 AM on June 18, 2006 [1 favorite]


That blog gave me some really weird feelings. I couldn't tell if Vista was going to be disappointing but serviceable, badly compromised but capable of being fixed, or simply born dead.

I suppose we may be able to guess how top MS executives feel about that by watching whether they take steps to change the financial structure of the company to keep stock prices from falling too far, such as sharply increasing the amount of cash they keep on hand.

It bothered me that so little attention seemed to be paid to the combinatorial complexity of a big program with so many interconnections, as if MS blithely set goals for Vista without first having some way of knowing whether those goals are even theoretically achievable.
posted by jamjam at 1:50 AM on June 18, 2006


Duke. Nukem. Forever.

Project. Xanadu.
posted by bobo123 at 1:50 AM on June 18, 2006 [2 favorites]


WINDOZE 3.11 FOREVAH!@!!!1!
posted by loquacious at 1:59 AM on June 18, 2006


jamjam: That blog gave me some really weird feelings. I couldn't tell if Vista was going to be disappointing but serviceable, badly compromised but capable of being fixed, or simply born dead.

From all the signs I've seen, Windows Vista looks like it's going to be Windows XP + Invasive, crippling DRM + shiny stupid crap that doubles the hardware requirements and halves the speed. I don't anticipate upgrading, short of being forced by software requirements. I wouldn't even use Windows XP if half my software didn't require it (it's a good OS in many ways but I really hate the direction Microsoft is going.)
posted by Mitrovarr at 2:16 AM on June 18, 2006


The simple fact that every OS MS produces is both bigger in size and demands greater system requirements should raise some big fucking red flags.
posted by mek at 2:20 AM on June 18, 2006


Duke Nukem Forever will be released with Guns n Roses' "Chinese Democracy" as the soundtrack. You read it here first.
posted by nevercalm at 2:23 AM on June 18, 2006 [1 favorite]


I'd love to read that blog, but Firefox, IE & Opera do not display it properly. If I have to scroll horizontally - I can't be bothered.
posted by dash_slot- at 2:47 AM on June 18, 2006


as if MS blithely set goals for Vista without first having some way of knowing whether those goals are even theoretically achievable

Welcome to Management, Project Lifecycle style. It's not just MS. The big cats "design" the system or service by setting goals with no practical research. These goals get handed down to project managers, who divvy up the tasks to, say, application architects (still no code written yet, or feasability analysis); the AAs then pass it down to the developers, who have no one to dump it onto; they have to do actual work. Here is where any problems with the project are discovered.

And in a wonderful world, the developers would show the AAs that putting a large electromagnet on the motherboard is a bad idea. AAs would kick it up to the PMs, PMs up to the big cats. Everybody works stuff out.

This clumsy system could actually work, if it were not for one other consideration, a little piece of cancer that I have seen grow a great deal in the last 5 years: You Aren't Allowed To Say No. Pointing out that porcine mammals do not, in fact, posess flight control surfaces is an indication that you a) are a negative thinker, b) lack imagination, c) don't work well with others, and d) apparently are not bright enough to solve problems. You have to just work around it. You can do that, right? Look, these are the specs; it's way too late now to make a mid-course correction.

I remeber reading about MS internal meetings 10 year ago, and this looks like the same thing; people would return from the meetings with sore facial muscles from smiling and nodding and saying yes, yes, we can do that, yes. And then privately getting together after work to stare at each other and say, "What the hell are we going to do now?"
posted by sidereal at 3:20 AM on June 18, 2006 [4 favorites]


not that i'm bitter
posted by sidereal at 3:20 AM on June 18, 2006


Windows process has gone thermonuclear. Imagine each little email you send asking someone else to fill out a spreadsheet, comment on a report, sign off on a decision --

Try working in an organization that has to comply with the Sarbanes-Oxley Act (or SOX as it is affectionately called). You need signoff from God to go wipe your ass.
posted by Meridian at 3:32 AM on June 18, 2006


That all makes sense.

I'm liking Microsoft at the moment, but vista does seem like an almost unmanageably huge product. I feel a bit sorry for them. On the one hand, they have people saying how ugly windows is, and on the other they have people complaining that they spend too much time on the shiny stuff.

All I know is that new visual paradigms enable new types of software, so I don't mind so much.

Also, you get the feeling that the company is going through a lot of change at the moment. I don't know what Microsoft is going to be in ten years time, and I can't think of a time before when I've said that.

I'm also looking forward to the integrated search, and I think the new Office suite (with ribbon) will rock the UI house.

Finally, I love it when companies talk about KLOC. It reminds me that I'm actually quite a prolific (but maybe not good) programmer.
posted by seanyboy at 3:45 AM on June 18, 2006


The simple fact that every OS MS produces is both bigger in size and demands greater system requirements should raise some big fucking red flags.

Yeah. Big "This software does a shit load more" flags. There's a bunch of reason for an increase in size. They include:

- Bad programming
- Extra Features
- Reduction in development time.
- Increased complexity of underlying hardware.
- Desire to ensure backwards compatibility.

You'll be assuming that Vista is bigger because of (1). Given your lack of access to the Microsoft codebase I'd say that was assumptive nonsense.

I do believe that the Windows code could probably do with a phase of refactoring. It'd cost microsoft a fortune and the usual suspects would start moaning but I believe that reducing the amount of processor power needed by Windows would make a significant difference to the amount of energy consumed by developed and developing countries. At some point in this Moores-Law roller coaster ride, somebody has to say "Enough. Let's try and make cooler chips with less transistors."

Unfortunately, the impetus for cooler chips has to start with the software.
posted by seanyboy at 3:58 AM on June 18, 2006


This was predicted in Vernor Vinge's A Deepness in the Sky.
posted by hoverboards don't work on water at 4:37 AM on June 18, 2006


I'd love to read that blog, but Firefox, IE & Opera do not display it properly. If I have to scroll horizontally - I can't be bothered.

i know what you mean. what i usually do to avoid things i can't be bothered with is threefold:

1) i don't bother with them
2) i don't bother with them three times (like, on three separate browsers)
3) i don't report on my disinclination to be bothered with them
posted by Hat Maui at 4:58 AM on June 18, 2006 [1 favorite]


I do believe that the Windows code could probably do with a phase of refactoring. It'd cost microsoft a fortune and the usual suspects would start moaning but I believe that reducing the amount of processor power needed by Windows would make a significant difference to the amount of energy consumed by developed and developing countries.

I don't have to believe. As a brief example of what open source community projects are capable of: LiteStep offers a stabler, less processior-intensive shell replacement (explorer.exe is the Windows shell). I used it when running a particularly slow laptop, as it accelerated desktop functionality several times over.

To suggest that Windows code "could probably do with a phase of refactoring" is a ridiculous understatement; it is clear that these people have no idea what optimization is, as individuals can code better in their free time.

They're too busy making alt-tab thumbnails that render in 3-D, or parental controls for video games (with integrated ESRB ratings!) to update code that is up to a decade old, which might just improve stability and performance.
posted by mek at 5:17 AM on June 18, 2006


Boy, does that sound like the Microsoft I left in 1992...and was told by friends there had been mostly fixed. Sad to hear that it is still more of the same, lots of cooks tinkering with the soup, and everyone becoming human Jump Tables pointing fingers thissaway and thattaway.
posted by paddbear at 5:38 AM on June 18, 2006


I've been playing with Vista a little, and what this author says makes sense.... there doesn't seem to be that much genuine innovation there. It is essentially identical to OSX, although not as well thought out. It's really obvious that checklists of OSX features were made, and Windows now has a check in every box.

I haven't gotten far enough with it yet to criticize it much more than that... but they just didn't copy OSX's interface, they stole it wholesale.
posted by Malor at 6:09 AM on June 18, 2006


What three blind mice said...
posted by twsf at 6:20 AM on June 18, 2006


three blind mice has it ... except i might add that the product doesn't have to be complicated for there to be confusion about it ... i work at a place that has had its product and its way of making it essentially unchaged for 40 years and there's STILL no reliable consensus over what is faulty and what is ok ... no reliable procedure for dealing with the machines ... no database as to what faults can be fixed with what actions ... and of course, little communication between all parties

this is why companies in foreign lands are eating our country's lunch

this is also why our government isn't working well

this is system and country wide failure on a colossal scale
posted by pyramid termite at 6:29 AM on June 18, 2006 [1 favorite]


but they just didn't copy OSX's interface, they stole it wholesale.

Speaking of checklists, isn't that a required comment in every discussion of Windows? Oh, those dirty thieves at Microsoft!

Anyway: Microsoft should spend the next ten years making Windows XP crashproof, cutting the bug list to zero, reducing code size, increasing speed, and (because no one needs them) adding zero features. But where's the money in that? They have to sell something new or go out of business. So you get a new OS. And you get pressure from developers to buy the new OS because they just rewrote their apps for the new OS. Not that we wanted or needed their new apps, either, but we switched to the new Windows because other people switched to it, or because they switched at work, or because some idiotic games require it, and now the old apps don't run quite right...

Planned obsolescence is a major problem with the software industry. They can't find a way to make their software rust or wear out or blow a gasket, so they periodically brainwash you into believing it's just not good enough anymore. And we keep getting bad new code under this year's fins or chrome or whitewalls or hood ornaments.
posted by pracowity at 7:08 AM on June 18, 2006


pracowity, it's an original observation with me... I haven't been watching the Vista discussion much at all. They just lifted the entire interface wholesale... if you have spent any time with OSX, it's quite startling. They copied it in minute detail. It's a very bureaucratic thing to do... REAL innovation is almost always squelched by management. But copying other people, that's good competitive metrics!

I mean, all those billions, and they can't even come up with something of their own? I haven't yet seen anything unique and powerful about the new OS that wasn't lifted from Apple. (keep in mind that most of my time with it so far has been struggling with the soundcard drivers, so this is hardly an in-depth review.)

If other folks are all saying the same thing.... perhaps that's because it's hard not to?
posted by Malor at 7:38 AM on June 18, 2006


They can't find a way to make their software rust or wear out or blow a gasket

Sure they can. Stop shipping security patches. Why do you think 2003 Server is selling now?

Because all support -- all, every bit -- for 2000 Server goes away June 2007, and has started going away now.

It is clear that these people have no idea what optimization is, as individuals can code better in their free time.

You're forgetting the Law of Optimization:

For most programmers: Don't Optimize.

For the best programmers: Don't Optimize Yet.

Why: Optimizing before feature complete breaks whatever you're not optimizing.

The core problem of Windows isn't optimization, it's the fact that it is trying to support umpty billion specs, most of which have interesting conflict and odd interdependecies. Optimizing this codebase would break half of it.

I hold Windows up as the reason that you must write the specs completely and correctly first, then write the code to the specs, then optimize. However, this takes time, and time is *never* allowed. So, you go beta with the specs still slushy, if you are lucky, and the end result is this.

Though this has happened before.
It is a very humbling experience to make a multimillion-dollar mistake, but it is also very memorable. I vividly recall the night we decided how to organize the actual writing of external specifications for OS/360. The manager of architecture, the manager of control program implementation, and I were threshing out the plan, schedule, and division of responsibilities.

The architecture manager had 10 good men. He asserted that they could write the specifications and do it right. It would take ten months, three more than the schedule allowed.

The control program manager had 150 men. He asserted that they could prepare the specifications, with the architecture team coordinating; it would be well-done and practical, and he could do it on schedule. Furthermore, if the architecture team did it, his 150 men would sit twiddling their thumbs for ten months.

To this the architecture manager responded that if I gave the control program team the responsibility, the result would not in fact be on time, but would also be three months late, and of much lower quality. I did, and
it was. He was right on both counts. Moreover, the lack of conceptual integrity made the system far more costly to build and change, and I would estimate that it added a year to debugging time.

-- Frederick Brooks Jr., "The Mythical Man Month"
Of course, OS/360 became known for stability because of that added year of debugging time. Microsoft -- and to be fair, everyone else -- would not hold an OS release for one calendar year to focus on nothing but bug fixing. If they did, they'd have a much more stable product. But, as we've seen time and time again, Stability isn't a selling feature. After forty odd years of commerical computing, the winners turn out to be Windows and Unix. Worse *is* better.
posted by eriko at 7:45 AM on June 18, 2006 [1 favorite]


Whats intresting to me is that when this was linked from slashdot the author took it down because too many negative comments or something like that.

Now it's back up, which is nice.
posted by delmoi at 7:45 AM on June 18, 2006


Hmm. I just realized something.

Apple, using Darwin/OS X, has somewhat split the problem. Linux and FreeBSD have split the problem further. I'll use FreeBSD as the example, because that's what I'm typing on now.

FreeBSD really only works the Kernel and the basic userland utilties. They don't maintain a complier. They don't mantain a windowing system. They use other components for critical services. W2K3 maintains the codebase for thier own DNS server. FreeBSD imports Bind. W2K3 wrote a mail server (that is, a mail server if you don't want to buy the bigger mailserver/groupware server, Exchange.) FreeBSD ports in Sendmail. And so forth.

By using the "Lego Brick" model, you're forced to isolate and define the interfaces, or things simply won't work. You can't just hack up a new interface to Sendmail, because when they roll out the next version, it may well break. You use the defined Sendmail interface, and it works. Now, that problem is off your plate, and no matter how much your manager may want you to change that interface, unless you can convince Eric Allman and Company to do so, it won't change. No edict from a bonus changing manager can force that complexity.

The disadvantage is it is much harder to get tight feature coupling. The advantage is that by not having that, you reduce failure points dramatically.
posted by eriko at 7:58 AM on June 18, 2006


sidereal hits the nail on the head. The root cause of all Microsoft's problems is the shape of its social network & the flow of information through it. If you were to draw a directed graph of the flow of information & decisions within MS, it would resemble a waterfall modeled on the corporate Org chart. Information follows a rigid hierarchical path & flows mostly downward. The resulting bandwidth, in an information theoretical sense, is very small compared to an open source project where information freely flows in all directions along ad-hoc channels that self-adjust to local conditions, creating the most efficient topology without any conscious effort by its participants. Microsoft has one chance & one chance only to survive - it must open source its project management methods or OSS will simply out-innovate, out-create & out-compete it. Self-organization is the wave of the future. Within the next half century it will become the new dominant social, political & economic model for the free world.
posted by scalefree at 8:39 AM on June 18, 2006 [1 favorite]


Eriko: Exactly! Microsoft views Windows as one big thing instead of a collection of things. Window's components are so tightly bound to each other that it's hard to know where one ends and the next starts.

Good software architecture should make sure that each component needs to know as little as possible about the other components in order to to it's job. Each component should only have to care about fulfilling the promises of its own interface.
posted by octothorpe at 9:00 AM on June 18, 2006


"Every once in a while, Truth still pipes up in meetings. When this happens, more often than not, Truth is simply bent over an authoritative knee and soundly spanked into silence"

Are we talking about software or government?
posted by mr_crash_davis at 9:09 AM on June 18, 2006


I'm not really all that concerned that Vista has been massively delayed. As mentioned in the article, Vista is a massive software undertaking. Anyone in the industry knows that IT projects rarely happen on schedule. My concern is that for all the time they're putting into it, what exactly are we getting? I've even talked to people who work at MS, and mostly what I've heard them say is "A bunch of UI chrome and some security dialogs that don't work." Ok, so they have some new driver architecture that's supposed to make processes less likely to crash. That's great. Probably something that should have been done a long time ago. But for 50M lines of code and 5 years of development time, this is what we get? On top of it all, how much are you willing to bet that we'll still have to reboot that shit on the average of once per day?

Vista is a disappointment, but you'll probably be running it on every new computer that you buy for the next 5 years or so. I disagree with people who compared it to Windows ME - ME was an unreliable piece of shit that never worked in the first place. I think Vista will work just fine. I just don't think it's going to give us anything particularly new or spectacular.
posted by Afroblanco at 9:15 AM on June 18, 2006


My concern is that for all the time they're putting into it, what exactly are we getting?

This is what we're getting.
posted by Jairus at 9:53 AM on June 18, 2006


Wow, that glass panes thing is going to be annoying and confusing.
posted by Afroblanco at 10:05 AM on June 18, 2006


Probably something that should have been done a long time ago.

I just don't think it's going to give us anything particularly new or spectacular.


Something like 10 years ago Windows, Word, and Excel all achieved feature complete status for all practical purposes. On the surface, they'd long since become good enough, done, providing whatever benefits virtually all their customers require in the real world.

In Windows case, as a grab-market-share strategy which worked well beyond all imagination, they made a series of quick-like, rush-job, ship-before-ready deployments. Every new version has been composed of three elements: new customer-significant features, new look, fix old problems / re-engineer under the hood.

XP was the first and Vista will be the second and last catch-up version. There are no new features customers actually need or want that have any business being part of the operating system. So we only have two of the elements left: new look, and fix old problems / re-engineer under the hood.

It started with XP and will be more obvious with Vista. Neither of these versions had or can have a chance of representing the same leap forward relative to their predecessors that we saw with DOS (as compared to it's predecessor: nothing), Windows (a GUI!), Windows 3.11 (networking), even 95 (improved gui, much easier mangement).
posted by scheptech at 10:15 AM on June 18, 2006


A lot of stuff said here is true, but the let's face it, Windows is ubiquitous in the computer world. They know damn well what their problems are, what they would need to do to fix them, and how -- they just don't need to. And they know it.

What's not going to happen. Ever. Is the entire world (PC users and software developers alike) waking up one day and saying "wow, this OS is not optimal, let's switch to a Mac!"

I develope software. Our customers don't know half the problems it has. Which is why we haven't fixed them. ;)
posted by cj_ at 10:23 AM on June 18, 2006


Lest those of you who wrote 5,000 lines of code last weekend pass a kidney stone at the thought of Windows developers writing only a thousand lines of code a year, realize that the average software developer in the US only produces around (brace yourself) 6200 lines a year. So Windows is in bad shape -- but only by a constant, not by an order of magnitude. And if it makes you feel any better, realize that the average US developer has fallen in KLOC productivity since 1999, when they produced about 9000 lines a year. So Windows isn't alone in this.

would anyone happen to know the source of these statistics he cites?
posted by 3.2.3 at 10:50 AM on June 18, 2006


schep, the jump to NT from 95/98 was really enormous, maybe bigger than any other. NT was _completely_ different under the hood... a total, from-the-ground-up rewrite. It offers many features that still aren't used much. All the NT-based OSes, for instance, have a particularly good security model, which is almost always bypassed, since users are admins by default. Vista will, for the first time, use these out of the box... and NT shipped, what, 8 years ago?

Win2K was the last really major advance from Microsoft. It was an excellent operating system, and finally offered both the ability to do virtually anything 98 could, plus rock-solid stability (barring hack attempts or bad drivers.) Security... not too great, but the stability was definitely there.

Everything since has been bugfixes, chrome, or misfeatures that make Microsoft's life better and yours worse.
posted by Malor at 11:00 AM on June 18, 2006


cj_ wrote...
They know damn well what their problems are, what they would need to do to fix them, and how


It's not clear to me that Microsoft knows now or has ever known how to create an OS that encourages clean application development. In fact, their insistance on providing a separate set of APIs (I use the term loosely, what I really mean is "direct access to internal modules") to their internal developers almost guarantees that their published APIs will be poorly thought out and generally bug-ridden.

Looking through the list of new features, Microsoft seems to have added significantly to the complexity of their underlying process model in Vista. From the looks of it, even a simple "Hello World!" program will need to negotiate resource access and security (sorry, "integrity") levels with the OS. It's going to be very easy to write broken software for Vista.

they just don't need to [fix problems]. And they know it.

Too true.
posted by tkolar at 11:11 AM on June 18, 2006


From the looks of it, even a simple "Hello World!" program will need to negotiate resource access and security (sorry, "integrity") levels with the OS. It's going to be very easy to write broken software for Vista.

All "Hello world" will need to do is write something to the screen, and the default security model should be fine for that. I'm not quite sure what you mean by 'broken', since it's very easy to write broken software on any platform. In fact, almost all software is broken when it's first written, which is why it needs to be debugged. Are you saying debugging will be harder?

In any event, writing software that breaks everything else will be a lot more difficult.
posted by delmoi at 11:19 AM on June 18, 2006 [1 favorite]


Hat Maui:
if you check your email, I'd be obliged.

Anyone else:
if you know why 3 browsers don't display the blog (seems I may be alone in this...), I'd appreciate the tips.
posted by dash_slot- at 11:38 AM on June 18, 2006


I hold Windows up as the reason that you must write the specs completely and correctly first, then write the code to the specs, then optimize.

I used to think something similar, but experience has taught me that you can never, ever "nail down" all of the specs before you start coding, and have them remain constant right up until the project is done. Never happens.

That's a very "waterfall" approach, and as you may know, that approach has fallen far out of favor. RUP, TDD, agile, scrum, etc may be somewhat buzzwordy, but there's stuff there that's just vastly superior to the old waterfall idea of spec fully, build fully, then test fully.

Of course I've also learned that old programmers don't like learning new tricks, and it can be very hard to get an established organization to change development models. Sure, they may use some terms and surface trappings from the new book some manager read, but in their hearts they don't give up their old waterfall ideas.
posted by flaterik at 11:41 AM on June 18, 2006


In fact, their insistance on providing a separate set of APIs (I use the term loosely, what I really mean is "direct access to internal modules") to their internal developers almost guarantees that their published APIs will be poorly thought out and generally bug-ridden.

While it is true that Microsoft's application developers made use of undocumented system functions in the days of Windows 3.0 and Windows 3.1, that was a long time ago. There is no evidence of it being true today. Anyone who reads Raymond Chen's blog on a regular basis will have no trouble understanding why Windows is as screwy as described: when it comes to the operating system, "backwards compatibility is king". The lengths to which Microsoft goes to keep other companies' applications from breaking under new versions of the OS are pretty pathological.
posted by Slothrup at 11:43 AM on June 18, 2006


delmoi wrote...
I'm not quite sure what you mean by 'broken'

Broken as in "Not adhering to the standards required by the operating system." Broken as in "Implemented in a needlessly complex way because it is unclear what the 'correct' way would be."

it's very easy to write broken software on any platform

True, but by that same token some platforms make it very hard to write good software. In general I've found that the more the OS tries to magically make things work beneath me, the more time I spend trying to get around it to make my code operate the way I want.

It's nice to know I won't have to use a resource allocator subsystem to get access to the screen, however.

In any event, writing software that breaks everything else will be a lot more difficult.

That is a leap of faith that I am definitely not prepared to make.

While it's been nice to watch Microsoft's memory management reach modern standards, Mac OS X has demonstrated that you can have a rock solid underlying process model and still end up with locked up resources that require a restart.

Microsoft has always been about integrating complex services into the OS, and I see nothing in the Vista literature that indicates they've changed their tune on that. The inevitable outcome will be applications that (purposely or not) misuse those services and screw up things for everyone else.
posted by tkolar at 11:57 AM on June 18, 2006


What scalefree said about self-organization becoming the dominant model for the entire world is very intriguing. I sometimes irritate to the verge of violence my friends who actually understand things about computers (as opposed to me) by comparing software to natural language.

Natural language was not invented by anyone (for some reason, the Judeo-Christian tradition doesn't even have a story about how it got started) is not and cannot be owned by anyone or any group. Mostly, no one understands how it works.

Yet the one I'm using right now is running on more than a billion machines, each with a different version, each capable of improving it and passing along that improvement. NL rarely ever crashes. NL loads itself and maintains itself in the face of hardware failures of massive proportions. Over the life of the machine, it is never truly obsolete.

And so on and so on. My point here is that for software to have any chance of emulating any of the wonderful successes of natural language, it will probably have to emulate NL's mode of development, too: NL wells up from the bottom, from the vast inchoate mass of its users. Only the open source movement would seem to have any chance of doing this.

Vista may or may not bring Microsoft's day of reckoning, but "it's coming, it's coming shore."
posted by jamjam at 12:00 PM on June 18, 2006


three blind mice: there are places to work that don't suck as much as Microsoft. Keep looking.
posted by hattifattener at 12:05 PM on June 18, 2006


Plus they're saying DirectX 10 will NOT be backward compatible, even with Windows XP.

So if you like playing the latest video games, you will have no choice but to use Vista.
posted by First Post at 12:11 PM on June 18, 2006


The lengths to which Microsoft goes to keep other companies' applications from breaking under new versions of the OS are pretty pathological.

The thing is, they could do that with virtualization (or an emulator, or whatever you want to call it). There is no need to have that backwards compatibility built into the OS.

eriko's point about compartmentalizing is obviously correct. What makes Microsoft evil and brilliant is how they managed to turn shoddy engineering into a business model that has so far been impervious to competition, as well as anti-trust laws.
posted by Chuckles at 12:29 PM on June 18, 2006


One thing to remember - Microsoft intends to eliminate the Developer position entirely in the next 5-10 years. If you use their software for a project, you'll be able to skip from Application Architect to Tester, with no Developer in between. Everything will be automated.

This was stated by an MS lecturer named Ken....something, I'll dig up my notes if anyone wants...at a Microsoft Visual Studio Team System training seminar I attended last month in Reston, VA. The seminar was led by MS book author Richard Hundhausen (not an MS employee, rather a Microsoft Most Valuable Professional.) This Ken fellow from MS, who lent support to the seminar, was amazingly insulting to the developers in the room (most of the attendees were more like project managers.) The attitude of the promoters of this software suite is bald contempt for developers. They truly believed - and were proselytizing to get the attendees to believe - that the ONLY significant problem area of a full lifecycle project is those goddamned developers. It was really amazing.

Of course, someone will have to develop the magical developer-eliminator software itself. Rest assured: Microsoft will handle that part.

I wish to god I was making this up.

"Drink the Kool-Aid" - Richard Hundhausen, after being unable or unwilling to satisfactorily respond to increasingly indignant questions from the attendees
posted by sidereal at 12:31 PM on June 18, 2006


NT was _completely_ different under the hood... a total, from-the-ground-up rewrite weak port of VMS 5 with the Windows interface grafted on.

There, fixed it for you.
posted by eriko at 12:38 PM on June 18, 2006


And so on and so on. My point here is that for software to have any chance of emulating any of the wonderful successes of natural language, it will probably have to emulate NL's mode of development, too:

But what about all the successes of software (machine processing, really) that language (the brain, really) is incapable of emulating? It is possible to quibble with the details of your analogy too - brains do actually crash, and they are more or less irreparable at that point - but the comparison itself seems misplaced, to me. Which is not to excuse the software industry for their engineering problems..
posted by Chuckles at 12:39 PM on June 18, 2006


and NT shipped, what, 8 years ago?

NT first shipped in July, 1993, so nearly 12 years ago.
posted by eriko at 12:42 PM on June 18, 2006


This article reminded me of another article (which I wasn't able to find, sadly) which discussed the major differences between Apple and Microsoft in regards to number of people working on the OS. This article clearly shows thousands and thousands of people working on Vista, while the Mac OS X team is streamlined to less than 400 people total.

And in the long run, Vista may end up being a great OS, and I can't begrudge these guys for trying, but also in the long run, I'm going to keep using my Macs with Mac OS X for the important parts of my life and Windows for what I do for a living.

You know, it's that old adage, you do what you have to do in order to do what you want to do.
posted by smallerdemon at 1:41 PM on June 18, 2006


They have to keep backwards compatibility, in some form. People just won't accept that their new computer won't run any of their old software.

How many home users upgrade to the newest version of Office? How many people still enjoy breaking out an old game every once in a while?

Maybe if they go the emulation route, and include it with the system, or make it a nominal fee, it might be possible. Otherwise, people just won't buy it.
posted by graventy at 2:18 PM on June 18, 2006


NT was _completely_ different under the hood... a total, from-the-ground-up rewrite weak port of VMS 5 with the Windows interface grafted on.

Uh, whatever. Just not true.
posted by grouse at 3:06 PM on June 18, 2006


windows NT and VMS
posted by StrasbourgSecaucus at 3:35 PM on June 18, 2006


Hilarious. No wonder Gates is getting out of the show. More American ingenuity. Zzzzzzzzzzzzz.

/hasn't seriously used a windows client in 2 years
posted by fourcheesemac at 3:37 PM on June 18, 2006


NT was _completely_ different under the hood

Right, but insignificant to an end-user who wouldn't know a re-write from a port from something springing whole from Dave Cutlers brain in any case.

Everything since has been bugfixes, chrome, or misfeatures that make Microsoft's life better and yours worse.

Heh, nice summary. I'm thinking that started after 95 which was the last OS to really mean anything to the masses. Xbox aside, Joe User hasn't seen anything materially different from MS in over a decade.
posted by scheptech at 3:39 PM on June 18, 2006


more
posted by StrasbourgSecaucus at 3:41 PM on June 18, 2006


more
posted by StrasbourgSecaucus at 3:46 PM on June 18, 2006


Joe User hasn't seen anything materially different from MS in over a decade.

except that with xp, microsoft finally delivered a reasonably stable operating system ... (2000 wasn't too bad, but it still tanked on me too much ... i don't even want to think about 95 and 98)
posted by pyramid termite at 3:59 PM on June 18, 2006


windows xp is stable until you give it a default route.
posted by StrasbourgSecaucus at 4:05 PM on June 18, 2006


On the won't-display-in-most-browsers thing... nobody else is amused that a blog highly critical of the blinkered, dogmatic one-true-way thinking behind Vista is written in a way that indicates it was only tested with one browser?

I couldn't read the blog either, and having realised that, didn't want to.
posted by Hogshead at 4:37 PM on June 18, 2006


I guess we'll just have to disagree on what a "port" is.
posted by grouse at 4:38 PM on June 18, 2006


It's the hole on a ship you stick your head out to vomit from.
posted by cytherea at 4:54 PM on June 18, 2006


So, I shouldn't give up my Mac, just yet ?

Really, this seems to be OSes (Macintosh too) just becoming eye candy as opposed to really improving.

I'll kill for some real innovation.
posted by Brandon Blatcher at 5:54 PM on June 18, 2006


How does it compare to the other widely used desktop OSes?
posted by Artw at 8:07 PM on June 18, 2006


I played with Vista B2. It can't even do the "Classic Windows" interface/theme right - it doesn't look like it does in XP or Win2K.

Needless to say, I'm nuking it from orbit and reinstalling XP on my gaming box next week. I never thought that a 3.2Ghz 64-bit system with 2G of RAM and a video card with 256M of video memory would be *slow* just running the *operating system*.

At least that's just my games machine. My work machine is a nice 20" Core Duo iMac.
posted by mrbill at 10:17 PM on June 18, 2006


graventy said:

Maybe if they go the emulation route, and include it with the system, or make it a nominal fee, it might be possible. Otherwise, people just won't buy it.

Interesting thought. I'm kind of a Linux guy (i.e., kind of as in not a zealot, and I still use Windows around 40 percent of the time or so), and I think that if Microsoft goes the "in order to play old games or use old programs you must use an emulator" route, you might see a bigger migration towards Linux systems. A lot of folks don't use Linux for gaming reasons or "must use office reasons" (granted a lot of folks also don't use Linux cause it "doesn't work the same way Windows does"), and using an emulator to do such things seems too much of a hassle. If this hassle turns out to be something they're going to encounter in Windows too, then why not just make the jump to a more secure (and cheaper, and faster, etc.) system?
posted by snwod at 12:20 AM on June 19, 2006


Such emulation could be completely transparent to the end user. Microsoft wouldn't even have to admit it was happening.
posted by Chuckles at 1:31 AM on June 19, 2006


It's funny the way Microsoft keeps piling on feature after feature, when after all these years, they have yet to include the only feature that really matters: the source code.

Many of Microsoft's organizational problems would resolve themselves in the presence of light. Maybe Ray will figure this out.
posted by FreedomTickler at 4:34 PM on June 20, 2006


they have yet to include the only feature that really matters: the source code

That is silly. I doubt that any of the millions of users of Microsoft products would refer to the source code as "the only feature that really matters." If that were true, they wouldn't be using Microsoft products.
posted by grouse at 5:19 AM on June 21, 2006


they have yet to include the only feature that really matters: the source code

As the article implies, and as anyone who has seen the source knows, the source is no great help to anyone.

You really don't want to see the source. Quality docs, maybe, but not source.
posted by b1tr0t at 5:04 PM on June 24, 2006


« Older Maury and Connie get cancelled...  |  Naked in the Naked City.... Newer »


This thread has been archived and is closed to new comments