I contend that they have. I started thinking about this after wrestling with Commerce Server for the past few weeks (I had to do the same with Sharepoint Portal Server 2003, except the documentation that came with the product was for a different software package and only about 4% of it applied to Portal Server. Normally you need a gun and a ski mask to screw people out of $100,000) and deciding that both it and Windows Server 2003 are actually just punishments for crimes in a previous life. I thought to myself, "well, maybe Microsoft just isn't cut out for server-level products since they can't even get a 'modified date' on stored procs in SQL Server.' This was a tough thing for someone who has worked on entirely Microsoft-based solutions his whole career to say.
Then I realized that it's not just server products where MS is failing. Internet Explorer was a great product ... until Firefox came into its own. Firefox has a number of great features that make it the browser of choice for every person I know who uses the internet as part of their job. It's not perfect, and the areas where it falls short are strong points of IE. Sounds like if browser market share was something that you'd fought for over the past 10 years and you had the collective IQ of a sea sponge, that you would get right on a new version or at least an upgrade that includes some of these features that people love. Apparently not. It's been several months and Firefox has become the de facto tool of choice for every web developer I know. In fact, IE is the new Netscape, and we all keep it on our machines only to test cross-browser compatibility. The more I learn about Firefox, the more obvious it becomes that it's just a better product. And it's free. What other free software is better than stuff I pay for? It might be time to find out.
Development tools have always been a strong point of MS. But did you ever try to develop an ASP.NET site with multiple developers and source control? I bet you compiled old code about 1500 times then. I bet you got pissed at another developer because they had the solution file checked out at least once a month. I bet you laughed heartily when it was time to test it. Don't get me wrong, ASP.NET is my weapon of choice for web development, but in a lot of ways ASP was more flexible for organizing web projects. Still, ASP.NET is the way to go, for me at least, but it adds extra management when I'm running a team of developers. I've actually considered doing projects in ASP as the number of developers working for me approached 4 or 5.
Which brings me to .NET 2.0. I've been following blogs about this technology that will necessarily loom large in my future, and I have to say that they're not exciting at all. They're like reading press releases but without the benefit of editing. I've gotten no emails or calls from developer friends about this technology, yet I get them daily about Firefox plugins, AJAX, google software (which people love because it, ya know, works right away), or other technologies. Man, with the way that some of my developers and I have been embracing AJAX (well, to be fair we were doing it before it got that stupid, stupid name. In terms of bad names, it's only been topped by Phuket, Thailand, and 'Whidbey', which is the all time worst name for anything, ever), I get 100 emails about how cool Javascript is for every email about an exciting .NET 2.0 feature. I don't personally know one living human being who even cares about the Visual Studio 2005 Beta. When the Visual Studio .NET Beta 1 came out, we all had it on our machines. It was hot. Google Maps was hot. AJAX was hot. XML was hot. Visual Studio 2005 is not hot. No one cares. It's up there with Microsoft Bob in terms of developer interest.
Even XBox 360 is uninteresting. I have an XBox and I love it. My girlfriend hates it and curses in Korean when I want to play it, which is a sure sign that it's a good console. I read an article about the Xbox 360 and said to myself "after reading that press release from Microsoft, I'm thinking that Sony and Nintendo must have pictures of the Xbox strategy team in compromising positions with farm animals for some of these decision to have been considered a good idea". (you have to buy their harddrive if you want backwards compatibility, and the harddrive that comes with it is going to have skins, music, and a bunch of other boring crap that someone probably had to licence and therefore the cost gets passed on to the me ... and Microsoft has always sucked at picking music. I should have guessed that this would be the case when I realized you have to buy their ghetto remote and adapter to play DVDs on the current XBox. I bet you probably couldn't play DVDs from any region on it, either, because they *might* be pirate copies. Or, they *might* be foreign movies that are more creative than Terminator 3 or Die Hard 5)
But the biggest sign that Microsoft might be losing a step, Jerry Rice-style, is their website. It sucks. You can't find anything, and the whole developer section feels like it was done by a marketing team (and there's nothing worse for a developer than to be stuck in a marketing world. It's like putting a water lotus flower in the desert. Actually, it's more like putting a water lotus flower in the microwave). I hate it. I use google to search Microsoft's website. You know that you do it, too. The white papers suck, too. A few years ago, I used to check out MS's website in my free time at work and I'd learn something. Now it's just a bunch of lame articles and unhelpful product documentation. I'd rather read my spam emails than MS articles these days. I'm not even talking about the hideous mess that is MSN.com. I haven't had the guts to check that in years. I was so glad when Google came out with a "portal page" because I knew that it wasn't going to be such an obvious chance to whore out some advertisements. Yeah, google has ads but they're not obnoxious. They don't pop up in your grill when you're trying to read something. It's pretty bad when a company uses the same advertising strategies as BackdoorBlondes.com uses.
I'm not speaking for every developer, just every developer that I know. You're going to have your fanboys and haters no matter what you're talking about, and I'm not trying to speak for them. I'm talking about those of us that love what we do all day at work and then go home and pursue our real passions. If your passion is Microsoft technology, that's great! There's plenty of it and you'll never be bored! For me, it's just a means to an end, and that end is drinking beer with my friends, eating spicy food, and dating foreign women.
You know, this isn't a rant. This isn't me hating on Microsoft. This is a cry for help from the developer community, because I can't be the only one thinking these things. I want to like the products I work with. I want to be excited about new MS technologies. I want to stop cursing at my servers at work again. All is not lost, Microsoft! Just get back to the things that worked, that made you popular among developers, and that had your stock price at $100 a share.