Posts Tagged ‘Microsoft’

Windows Vista: Past Its Due Date Already

March 28th, 2006

Windows has finally crossed the line, and there’s nothing Microsoft can do about it.  It’s the beginning of the end.  It’s a pattern that I’ve experienced first hand.  You start with something excellent, and in the service of your customers you try, try, try to keep it moving along.  It succeeds for a long time.  It becomes number one.  But, you become so involved in the idea of the product that you forget about what it’s like to be a customer.  You assume that it must be good because that’s what the market share tells you.

Then a line is crossed.  You know that something is wrong.  Your engineers can feel it.  There’s a malaise in the air.  But, nobody says anything.  At the lunch table, you read PC Week’s scathing criticism.  People stare around the room, some even laugh or scoff. Most say nothing.   You go back to your work, you immerse yourself in further enhancements to your product.  You convince yourself everything is OK.  You look at competitive products only for purposes of punching holes in their strategy.  You find the holes.  You reassure yourself.  Everyone smiles.


Repeat until fail.

I recognize the pattern.  That’s where Windows is right now.

I just figured that out.   I think it’s the Windows Vista slip that triggered my realization.  The NYT Why Is Windows So Slow? article almost literally describes the phenomenon.  It was also the Scoble debacle that seems to have finally ended with Robert’s Better Mail than Jail posting, where he realizes he shouldn’t have been so defensive.  That is the leak in the dike.  I see it on other Microsoft blogs too.  I don’t want to single Robert out, but I think Robert, as well as others, feel the malaise I described above.  The "unspoken truth" that something, though no one can say what, is wrong.

In 1988, I was fortunate to be the archtect of The dBASE Professional Compiler, a product that was never released.  Remember dBASE?
  From Ashton-Tate?  You don’t know what I’m talking about do you?

In 1988, dBASE had 63% market share of the database market.  That’s not just the PC database market, we’re talking about the entire database market.  Ashton-tate was on top of the world, and knew it.  My company was designing the compiler, so we weren’t part of Ashton-Tate, but we worked closely with all the developers.  They were motivated, interested in their product, their customers, and confident they had the best solution for everybody.  Just like Microsoft today feels about Windows.

But, we were a small company of innovative engineers.  We looked at dBASE more objectively and saw clearly that dBASE was a mish-mash of features which had been built up one layer at a time until the whole no longer made sense.  Sure, we were doing the compiler.  It was an important problem to solve, and there were many people in the market who needed it.  It was a good thing to do.  But we knew what we were doing.  We knew we were creating a compiler for a language that should, by all rights, be obsolete.  At Ashton-Tate, such words were heresy.  Only rarely did we mention how we felt, and when we did, we knew we had stepped on some emotions.

There were some brilliant people at Ashton-Tate, and I was fortunate to know many of them.  When talking about dBASE, they were proud of their product, and it was the size of the customer base that was the de facto definition of why dBASE was a good product.  This is part of the pattern.  We are number one!  Our product clearly must be the reason.

As I got to know people during that project, eventually there was more trust.  Engineers at Ashton-Tate knew something was wrong.  There was almost a sadness in discussions about how to fix it, as if they knew it was unfixable.  dBASE had become a huge albatross, a product that had years of features heaped on top of an architecture that was never designed to handle such a load.

By 1989, dBASE’s market share dropped to 43%.   That’s a 20% drop in just one year.  When Microsoft Access came out in 1992, dBASE was dead.  Crashed to the ground in no more than 4 years.

Compatibility.  That’s what killed them.

dBASE had to be upward compatible at any cost, even if it meant creating extremely bloated and arcane features to support such compatibility.  Why?  Because of the market.  The market was all Ashton-Tate had.  With over 60% of the database market, and with the hint that the product may be far from perfect, compatibility became the holy grail.  Compatibility assured Ashton-Tate that their market would "come along", that the effort to switch would remain higher than the effort to keep using the product.

Today, I saw the clear signs of the pattern in Microsoft’s behavior.  It’s clear that Vista is a struggle.  Regardless of whether the code rumors are true (they probably are not), the product is slipping.  Worse, as an engineer I can read between the lines in the New York Times article:

Several thousand engineers have labored to build and test Windows Vista, a sprawling, complex software construction project with 50 million lines of code, or more than 40 percent larger than Windows XP.

I can’t tell you the feeling of deja vu I had when I read that.  40 percent larger than Windows XP?  There is no possibility that Windows is in good health.  NONE.  They’re adding, but they’re not removing.  They’re not moving forward, they are stuck so deep in the muck that every step is painful.   Dan Farber at ZDNet sees the same desparate quandry for Microsoft.  Good engineering does not result in products such as this.

Every single aspect of this matches the dBASE experience.  Microsoft is defensive about new features, with Brad Goldberg saying "The perception that nothing new has come out of the Windows group since XP is just so far from the truth".  When they talk about things that are new, the list is almost laughable, consisting of "Tablet PC versions" as proof of Microsoft’s continuing "innovations".  I dug up an old review of the newly-released dBASE IV by John Pochodowicz.  It’s a kitchen sink of sad additions which lead to the unbelievably bloated dBASE IV product which really had only one thing to offer: Compatibility.

I’m expecting Vista to be close.

Can Microsoft maintain their lead with Windows?  I don’t think so, though it may be a slower death.  Microsoft isn’t as bad off Ashton-Tate was.  Their products are better-built than dBASE was, and Microsoft has more market-share, so, as a corporation, they can remain blind longer.  But the only answer for Microsoft will be to finally throw away the shackles of compatibility.  Microsoft has more time than Ashton-Tate did, and a lot depends whether they use it wisely.

Microsoft knows this.  NYT pointed to an internal memo by Ray Ozzie, chief technical officer, who said, "Complexity kills. It sucks the life out of developers, it makes products difficult to plan, build and test, it introduces security challenges and it causes end-user and administrator frustration."

Mike Benson was Ashton-Tate’s most brilliant architect.  He knew what needed to be done, and talking to him at the time was a breath of fresh air.  But, Ashton-Tate had crippled his ability to act by isolating his thinking in a "new products" division.  His work never came to light.

So Ray Ozzie knows, just like Mike Benson did.  But, from the behavior of the company, the politics of compatibility is winning.  The flawed belief that compatibility will assure market share has been disproven time and time again.

I was just lucky enough to have been there once, and know the pattern.

tags:

tags: , | categories: Uncategorized | 10 comments »

Why Microsoft Produces Inferior Software

January 25th, 2006

This post by Don Box epitomizes one of the reasons why Microsoft, despite their market dominance, produces some of the worst software in the industry, and has lowered consumer expectations to the point that nobody expects computers to work well or serve their needs well.

Before I talk about Don’s post, it is important to note that Don is no entry-level programmer.  In fact, Don is one of the architects of the Indigo project, and is responsible for designing parts of the architecture that will make .Net (and your future software applications) work.  He has just written a authoritative book, Essential .Net Volume 1: The Common Language Runtime.

I don’t mean to single out Don.  In fact, I don’t even know Don.  He’s probably a great guy, and his blog is filled with intelligent and insightful posts.  But, this particular post reminds me of many experiences I’ve had while working inside Microsoft on Microsoft teams, talking to the "best" and the brightest.  Don’s naive understanding of the software world is more typical of Microsoft engineers than most people would believe.

In his post, Don explains how recently, he discovered the joys of Scheme (a dialect of Lisp).  Don says:

In writing Scheme programs, I’ve learned a lot about coding, design, architecture, and aesthetics.

He goes on to enumerate the lessons he’s learned:  That small is beautiful; that lambda expressions can be a powerful tool; that code can be data and data can be code.

These are things that any 1996 Computer Science curriculum would have contained in abundance.  They are an important part of the conceptual framework by which an engineer plots their course, and judges the logical correctness of their solutions.  Lisp has been around since 1959, and the very concepts Don is "discovering" were part of the foundation of the language for over 45 years.

The notion that a Microsoft architect could discover such things at this point in his career is almost unthinkable.  It’s reprehensible.  The idea that critical technology platforms are being designed by people who have just discovered such fundamental concepts is terrifying.  And yet, time and time again, I have talked to Microsoft high-level engineers who have argued with me about these things, even in one case reinventing the concept of generic invocation and saying it was his own invention.  He actually believed it was his own invention, and he was designing part of the COM architecture. 

How can such hubris exist among engineers who are not schooled in the basic theories of their trade?  Part of it is the Microsoft culture of superiority.  In 1994 I worked a team in Redmond who were responsible for integrating my company’s technology (TrueGrid) into the VB4 product line.  We had thousands of customers, and Microsoft had selected us because our technology was the best-of-breed.  The way Microsoft managed this was almost beyond belief.

Rather than trusting the judgement of our team, who had proven in the market that we had a deep understanding of the needs of our users, Microsoft assigned someone who had never written a specification before.  In fact, he had never designed a product himself, nor participated in the design and testing of a major product which had been delivered to customers.  He was not, in short, a software designer.  He was one of the myriads of Microsoft "product managers" whose job entailed evangelism, communication with outside vendors, and was the general "voice of Microsoft" when it came to the ISV partner program.

His specification was awful.  He did not understand how to create a scalable interface.  Features which were requested were thrown in, often collapsing the utility of other features.  We tried to assist by lending our knowledge to the project.  We argued.  We emailed.  We persevered.  We lost.

In the end, the technology developed was almost embarassing.  What was an excellent product that we had proven satisfied many, many needs well had turned into a poorly designed albatross which even VB users would complain about.  It was the low point of my entire career, and one of the chief reasons I divorced myself from the project.  In any discussion with Microsoft, there was no reasoning or logic.  Because it was Microsoft’s spec, it had to be right.  It didn’t matter that we had superior product and market knowledge.

Microsoft engineers are like alchemists, mixing together technologies and ideas that few of them understand.  No wonder the COM object model is such an abortion.  No wonder we need 1GB of memory on our computers to run MS Office.  No wonder Windows can’t reliably suspend on a laptop, or things need to be reinstalled for reasons that nobody understands.  Microsoft charges forward, implementing things for commercial selfish benefit, but really has only a rudimentary understanding of how to design software.

In fairness, Microsoft’s dominance has resulted in one of the most widespread technology platforms.  Windows systems are compatible with one another largely by accident, because they are all running essentially the same software on the same hardware.  But, whatever the reason, Microsoft has succeeded in standarizing the desktop, and ultimately that is good.

But, had they done it better, we probably would have had more, sooner.  Much more. And it would be more reliable.  In fact, if they had done it better, Linux woudn’t stand a chance.  Think about it:  How is it possible that the dominant software monopolist, bloated with incredible cash resources, can be vulnerable to software which has been put together by an unmanaged group of programmers with only a shared vision?  How can the open source movement even exist?

Open source is becoming more and more successful for one reason only: Microsoft’s persistent production of inferior, poorly designed software.

[tags: ]

tags: , | categories: Uncategorized | no comments »

Bill Gates’ Makeover

April 28th, 2005

042705gates_newscom_1Imagine that you don’t know either of the two individuals in the photo at right.

Now, who is the world’s wealthiest man?

Bill doesn’t look comfortable.  Check out that tie!  Did Bill just get off the red-eye flight from Seattle?  Sen. Leahy, by contrast, probably adjusted his tie before sitting down.  Nice choice of colors, Senator!

I remember talking to Bill Gates at a party in Las Vegas in 1990.  He had on a Polo shirt, those signature glasses.  He was relaxed, confident, energetic, talking about C++ and how important it was.  I was one of many people who thought: "This is the symbol of the techncial and intelligent entrepreneur".  He embodied what all of us wanted to be, and it was an exciting time.

No more.

I do not want to be Bill Gates.  I know many technically brilliant people who share my belief.  I’m not sure even Bill wants to be Bill anymore.  You can tell if people are comfortable in what they are wearing, and Bill is a dead giveaway these days.  I don’t think he goes shopping like he did back then.  He’s listening to P-R people instead of being himself.  Where’s that confident "dare to be smart" person I met in Las Vegas?

If Microsoft wants to rekindle the kind of admiration and respect they used to enjoy from the technical community, maybe it starts at the top.  Let’s see the Polo shirt again, Bill.  Be a bit daring.  I miss it.

(The photo is from today’s H1-B visa article on news.com)

[tags: ]

tags: , | categories: Uncategorized | one comment »