I won't further hijack this thread, but I did want to respond to this. Charles, feel free to move this into a new thread.
I'm not suggesting they do it with platforms. If anything, the platforms have to be ultra-stable, with regular, predictable changes. Win32, COM, .NET, even WinRT, they've all been great. I meant more on a product basis.
The Courier project is a great example. If MS had brought that out two years ago, they would have sold millions of them and Apple would be hurting. The tour that was posted of the "Microsoft Home" showed off lots of super neat tech, but none of it was planned to be a real product. The charging tray, the Media Center/video integration stuff...why isn't MS bring these to market? If they sit in MS Research for years, competitors will beat them to it. Then when the product finally does come out, they're accused of reacting or copying the market.
Their "three screens and a cloud" vision is great. But they're not doing enough with it. Moving user data into the cloud is a good start, but get that software on iPhones, Androids, Blackberrys, Wii, TVs, blu-ray players, Xboxes, PS3s, Macs, PCs, cars, airplanes, etc. Don't just meet market expectations, surpass them! MS is a software company, yet they behave as though they're a closed-ecosystem hardware company. I don't want to have to get a windows phone to use Live features. I don't want to have to get an Xbox 360 in order to extend Media Center. Live Mesh was going in the right direction, and it gets cannabalized by Live Sync into a dumb folder syncing/remote access service. I remember early videos where one of the devs had put his phone and his car stereo into the mesh, and could then access his music in the cloud while driving. Why was this killed?
It's no wonder all of these higher-ups have been leaving. They're frustrated with the lack of motion shown by MS and move on to companies that actually listen to them. I don't even work for them, and I'm frustrated.