How much becomes too much?

When discussing Windows OS strengths and weaknesses, it is rather the norm for people to overlook its salient mega-feature that is source for both sets of attributes. That is Microsoft's deliberate support of as many hardware configurations as possible. It is precisely the same multitude of configurations that makes Windows:

  • So valuable to partners and customers;
  • Prone to systemic vulnerability;
  • Slow to start;
  • Slow to bring to the market.
A dialogue with a Microsoft insider reminded me of all these and more from my own time as an ecosystem caretaker for large software infrastructures. Read the dialogue for yourselves here.


fCh said...

A few opinions from me:

Where are the MS zealots?

Well, it's hard to be zealous for something that's everywhere you look. MSFT makes software, not a cult following. I mean, I don't really get aroused over a Craftsman wrench (but if you do, hey, whatever turns your crank). I am zealous in my own way. I can build my own PC, run almost any software I want, etc., all because of MSFT OSes. You can't do that with Mac, and you really can't do that with Linux, although Linux has gotten better over the years.

Even though we're geeks, most people see their computer as a combo souped-up typewriter, webbrowser, and Atari 2600. It's just a thing they use like their car or anything else.

But that's part of our success, too.

We're the common man's computer. We don't attract the artsy Mac crowd and we don't attract the ubergeek Linux crowd (I was a FreeBSD'er myself back in the day). If someone invests $500+ in a computer, they want to be able to play games, balance their checkbook, and go into any store, buy a piece of software, and just use it. The zealots are only 5% of the world. 95% of the world goes into BestBuy or online to Dell and says "I want a computer."

Why enterprise buys MSFT...

You know, there are all kinds of conspiracy stories and stuff, but here's the real secret sauce: We support hardware and software that no one else would try to support, and for many years after the technology is deprecated.

Sun ran for years on its own hardware. Apple the same, and add IBM with AIX and HP with HP-UX for good measure. When you control the hardware, writing software is a lot easier. But from day one, MSFT never did that. It released MS-DOS to run on clones not too long after it licensed PC-DOS to IBM. The first OS to come close has been Linux, and even there some things just don't work on it or with it. But I'm sure the Linux kernel coders would be happy to trade hardware war stories over beers with us because I'm sure they share the same pain as us wrt the x86 platform.

I can tell you from writing drivers for 8 years that we have a mandate to support as much hardware and software as possible. There are innumerable workarounds and taking-the-long way to get all that stuff you buy off the shelf working.

And that's why you see MSFT in enterprise.

When there's 30 ethernet cards to choose from, the hardware cost is lower. When one PC from Dell can be replaced by another PC from HP, enterprises have some leverage. When MSFT supports W2K six years later, still releasing patches for it, you're making an investment that will last a while. When you can buy 5000 copies of a piece of software and it will run on a hodge-podge of machines you got from lowest bidders then it looks pretty clear which way you want to go.

If I'm investing $5 mil in infrastructure, consulting, and gold-tier support, I don't want to hear that I need to replace all of that every 3 years to run the new version of SomeFunkyApp. Heck, we still support 16-bit apps. Why? Because there are thousands of people still using them in corporate environments.

You can't tell a bank: Hey, we're coming out with a new OS and dropping support for the old one. BTW, you need to buy all new machines. And software.

The IT departments have their own headaches even though we support all kinds of crufty stuff. They have to roll out on thousands of machines and make sure stuff still works the same way. I wouldn't want to be the guy who rolled out a new OS only to find out that my company couldn't take transactions anymore...

Compatibility and supporting previous versions has always been a mandate. And it's an expensive proposition. Every change has to be tested to ensure compatibility, etc. This requires a lot of dev time and even more test time.

And that's why there are hundreds of manufacturers of PC hardware instead of one like Apple has. Because we make an investment in running on their stuff, and they make an investment in developing their hardware to run with MSFT software.

No secret incantations behind any of this. It's just hard work and investment on both MSFT and the OEM/IHV's parts.

Vista delay...

I don't know where these conspiracy theories about the EU settlement or this that and the other come from about the delay in Vista.

Vista is delayed because it ain't ready. Period. Management knows it ain't ready, and more importantly everyone working on it knows it ain't ready. If you want to get 20%+ of MSFT employees to quit, ask them to sign off on something that isn't ready.

The 400 comments on the slip are nothing compared to the venom that would be unleashed by MSFTies if we were told to kick something out the door that we wouldn't use ourselves. For all the corporate garbage that goes on internally, that's one line that hasn't ever been crossed since I've been there. I've been in triage meetings with developers and testers screaming at managers because they wouldn't take a bug the dev and / or test team wanted to fix; and we usually win because we throw frickin' awesome tantrums: we throw tables instead of chairs ;-)

In fairness to managers, it's their job to stop us from picking every nit because otherwise we would never ship. The good ones know which nits to pick, the bad ones just look at their bugcounts and see a way to get themselves off the radar by dropping things. But that's a whole other rant...

Oh, and you Linux guys, I'm an old *NIX guy. I ran everything from: Minix, Linux, FreeBSD, SysVr4 (Dell used to ship their own release!), HP-UX, AIX, Coherent (I worked on this one), SCO, etc. I probably ran OSes most people never heard of (like Oberon for example). My fave, though, was FreeBSD. It's not like we're a cult here and can't see value in other OSes. So take it down a notch.

Anyhow, I just get kind of irritated at the conspiracy fluff sometimes. Unfortunately, those "reasons" may be more exciting than the real ones, so that's what gets passed around.

Lou Giliberto

Lou Giliberto, I appreciate the tone, and balanced approaches, of your virtual persona. I have a question though after reading your most recent comment here. Do you assume that all the things MSFT is doing, in your enumeration at least, are for the right reason? And if so, are we are to infer, we (employees/customers) ought to stoically bear the costs?

In this comment you wrote We support hardware and software that no one else would try to support, and for many years after the technology is deprecated. First, things should come in the right measure. Second, does your statement have the value of an axiom? If not, what measures you would come up with in order to balance the backward support vs. pain? Third, how would you answer to a student of computing history who might react to your statement with: Yeah, See Novell's NetWare!

Hi fCh,

Well, nothing virtual about my persona - this is who I am :-)

Those are a couple of interesting thoughts you pose.

Do you assume that all the things MSFT is doing, in your enumeration at least, are for the right reason?

Well, MSFT is a business, so it does things to make money. To make money, you have to give the customer what they want unless you can 1) offer them something better, and, 2) prove to them that's it's better.

Even if that thing is a new OS like Win2K or Vista.

When Win2K came out, there were people who would not give up their 98SE (I won't talk about ME because that's something I don't think we did particularly right). But once they tried Win2K and found most of their apps and hardware (esp. games for home users) they were hooked.

XP had more compatibility and fluff, but a lot of thet fluff was useful. Like network setup was still pretty brutal under Win2K, but under XP it's pretty darn easy to connect to a wireless hotspot. Mobile business and home users would like XP for that reason alone.

For hardware, you can look at ISA. It took the combination of USB and PCI to replace that nightmare. ISA was great for its time, but who wants to open the case and set jumpers to run a bus mouse (I still have scars from cutting myself up on the AT cases)? Yet people were reluctant to give it up until they could get the same and better hardware on USB and PCI.

We published a Legacy-Free PC spec. No RS-232 ports. Tons of machines stil ship with RS-232. Why? Because the OEM and IHV's customers demand it. So we still ship serial.sys (a driver I used to own, BTW, and having owned it, no one would like to see that technology disappear from a PC more than I do; but it won't happen for a while yet).

Parallel ports are kind of the same. Most people print over the LAN at work or USB at home with newer printers.

Looking at today, VGA connectors are on their way out with LCDs and HDTV popping up everywhere. No more CRTs means no more real need for VGA.

So, in that sense, we do those things for the right reasons. To make our customers happy, we need a balance of pushing the new (because they may not understand the value yet) and supporting what they already have. That's part of why we have a bazillion lines of code in the OS.

I think Vista will sell itself once people try it just like Win2K and XP did. I really wish some of the features didn't get cut, but there are still a bunch of things in there that make it infinitely more usable than XP in some ways. Same with the new version of Office.

A lot of times people upgrade for one must-have feature in a new version of software (if their IT depts allow them). Win2K/XP with power management was enough of a reason for laptop owners to upgrade. Having a pentium with a battery life of more than 30 minutes is probably worth the cost of upgrade just to remove the annoyance of being tethered. I also like offline files - I use that a lot personally.

And if so, are we are to infer, we (employees/customers) ought to stoically bear the costs?

Actually, yeah. I mean, I throw hissy fits about how we should just rip stuff out because it's technologically impure and dated, or not put a workaround in for hardware because the hardware has a faulty design, then a PM with a customer usually brings me back down to earth.

The customers pay our checks, and also they are what generate money for shareholders. So, we need to give them what they need and want even if we have to hold our collective noses while doing so.

When I'm sick of looking at bugs, I think about myself as a customer. One bugcheck may the straw that breaks the customer's back. If I look at OCA (those are the crashes you send to MSFT over the internet - we do definitely look at them) buckets and see 10, 100, 1000, whatever people are crashing from the same thing, I realize that's 10, 100, 1000, etc. disappointed customers who just threw a coffee mug through their monitor because they lost their term paper, earnings report, etc.

I don't know about anyone else, but when I buy a car that's a lemon, I don't buy that brand of car anymore. I would expect MSFT customers to have the same attitude, and I don't blame them. That's why I cry in my root beer about what a pain this is and spend (well when I was in Windows) the two weeks tracking down a single bug that most people won't see, but one corporate customer is depending on us fixing. I would do the same for non-corporate customers, too. I don't like losing term papers and stuff either.

We work for a company that generates product. That's a lot different atmosphere than working in a research group or academia or even hacking Linux/FreeBSD/etc. at night. Part of the challenge is biting the bullet on certain things, and trying to figure out the right thing to do for the technology, the company, and the customer all at once. And sometimes that means we still support RS-232!

But is it an axiom? No, but I think I did state an axiom this time:

[To make money] you have to give the customer what they want unless you can 1) offer them something better, and, 2) prove to them that's it's better.

Here's an example:

No one really knew what an MP3 player was. They all wanted slim CD players until Jobs brought out the iPod. Aha! That's what MP3 (er, AAC) is! I can carry around all my tunes, never swap disks, etc.

Customers didn't know they wanted it, but Jobs gave it to them, and it was successful because he proved it was better for many uses than a slim CD player or a DAT walkman or a minidisc.

Then customers asked for things like video, and Apple added that as well.

His hypnotic aura and superpowers of reality distortion didn't hurt either :-) But in my mind that's because he has an awesome imagination and great vision about what's cool and fun.

So you know I'm not all rah-rah, here are some things I think we as a company bungled product-wise:

1) Vista ship (obviously)

2) IE and OutlookExpress. Those should have been treated as full parts of the OS and improved instead of allowing them to decay like that - I think we took a big risk by not improving them over the years. Maybe with WindowsLive we'll be better and more agile at doing things in this area.

3) Our shell needs faster innovation and more user freedom. Three-six years between shells is too long to stay fresh. I know we want a consistent interface for corporate, but we need fun sexy stuff like Apple has in their GUI, too. I run ObjectDesktop on my XP machines because I get sick of staring at the same thing all the time. Computers should be fun to use. Sometimes I think we forget that, or, worse, our idea of whimsical is "clippy"

4) Chasing Google. Google does some stuff great, but instead of coming up from behind, I think we need to target going past. Equivalent functionality isn't all too impressive. MSN search wasn't that exciting to me, but the new Live search interface is kind of neat. I hope we go more in that direction. Also with toolbar, desktop search (where I work now), and messenger. I think those live offerings are pretty cool and useful.

5) The early days of MSN. I was always a Yahoo fan, and in the early days of MSN I couldn't stand our stuff. Maybe this was a symptom of chasing AOL. But MSN as a whole has come a long way in especially the last year. I hated spaces at first, but now I like it and my blog is there, and I see them adding all kinds of neat stuff.

So, in spite of all the internal crap, we still do some pretty neat things, and we are headed for doing some pretty neat things. We also do some bonehead things, too, like not keeping IE in shape. Sorry to whomever that pisses off, but not really, because it was boneheaded. The browser is the gateway to the internet (i.e., the cash machine in Google/Yahoo/MSN business parlance), and we let it wither. I sure hope we don't do that with IE7 and after.

As regards Novell, we support NetBUI still I But the difference is we also support TCP/IP (though it took the success of Trumpet Winsock to kind of wake us up). We're going to support IPv6, etc.

So Novell is the other extreme. That's the risk when you only support legacy and the new stuff is thrown in kind of half-baked (this is my opinion of course). SCO is another example. If I were SCO, I'd ship SCO that could run Linux binaries about 10 years ago.

You can't fight progress - but you can make money off of it and do cool new things with it. You also can't turn your back on what came before. People want both, and I think part of our success is our ability to give them both.

But, I'm just an idiot with a keyboard, so other opinions are as good as mine (or better) :-)
Lou Giliberto

Lou, HW support is only one of those directions where MSFT seems to insist on bringing value to its customers, despite their uninformed needs. Your line of reasoning would be almost convincing had it not been for a pattern at MSFT to deliver, what people call it unflatteringly, bloatware. I guess I am trying to advocate for a balance--i.e. a rational process by which you always check how far you go before your competition tells you so through the voice of the converted customer. Otherwise, as you very well know, even the road to hell is paved with the best intentions.

P.S. Useful link:

Click here for the original thread.

fCh said...

Oops, that link above should be: