Dear Steve and friends:

1) .NET and F# are the best things you've done lately. Make folks truly able to develop and program it under any O/S and you will gain fans for life. Stop holding .NET hostage to Windows. (I know about Mono. MS should dive into this in a big way. It's truly mission-critical)

2) Big mistake buying Groove and then killing it/sucking it into the we-must-conquer-the-world office server system. It was better stand-alone. This shows that Microsoft has a tendency to buy and kill. Sure, you're running a giant integration machine, but integration is not always the best strategy

3)IE must die. Simple as that. You lost the anti-compete, the code is old and bloated, and you're sucking wind behind Google. Sure, it's been a great hold-off-Google-as-long-as-you can deal, but at some point the stalling tactic doesn't work. You reach the tipping point and customers will leave you in droves. You are fast approaching this point. Act quickly before you get there. Best bet? A re-branded browser released monthly, fully standards-compliant, and hand-optimized in assembler. No Active-X. Painful, yes.

4) Take a lot of your architects out back and shoot them. I joke, of course, but you guys have a tendency to make everything into a 747-cockpit. It's crazy. Somebody needs to get a handle on design over there; you are failing miserably.

5) Decentralize and spin-off. Lots of business books on where you are, and most of them say to make small companies with freedom to innovate. You've owned the market. Now it's time to define sub-segments of it and compete there as separate companies. The leverage and strategy you used to get here are not going to work to stay here.

6) The O/S is a browser. Get used to it. Make it a mantra. Everybody in that place should be thinking of the O/S as just a fancy browser. You were headed in the right direction with IE, but the Netscape fight killed that idea. Well the court battle might be over but the general principle you were chasing is still around. Go with that

7) Your server-based solutions are the cash cow. But the cow needs to get out and exercise some. Love the Office Integration, now make them use "real" xml and make the server products more standards-friendly. You can't beat the entire internet -- they want the data. What you can provide is custom walled-gardens with lots of features. Allow users to drift in and out of the office server solution system seamlessly and without paying. Make money on the upsell. Difficult change to make, I know, but time is running out on the current model.

8) For a while you've been in the IBM-how-can-I-hang-on-to-each-little-penny routine. Folks see that. They understand you are fighting a rear-guard action. I'm sure that in the echo-chamber that is Microsoft things are all fine and hunkey-dorey, but you'd better get your ass in gear and make new breakthrough useful products and I mean right now. Too much research just sits on a shelf doing nothing. Take Google for a model -- don't build shit unless you're willing to play around with it publicly to see if there is a market. No market, no product. Better to have a quick beta released that lasts 5 years than waiting 5 years for something that middle-management manages to kill before it ever sees the light of day.

ADD: And I never want to run another update program again. I don't mean I'm annoyed at having to reboot a thousand times. I am annoyed with the entire update process in its entirety. Kill any user interactivity and just make it update. If you want us to have dozens of programs on our box, they're going to have to shut the hell up. No pop-ups, no updates, no nothing unless I ask for it. Just make it work.