- It's annoying in this day and age to be forced into using the entire MS Stack when I need to work with one specific technology. For example: if I want to test a web app on various versions of IE, I have to run Windows. OK fine, even though IE is the only browser that is tied to one OS, I'll let that go. However, if I want to use the Microsoft-provided free MS Virtual Machine images, I have to run them on Virtual PC despite the fact that I have a perfectly good VMWare installation. On my Mac, this means running windows on VMWare, and then Virtual PC inside that virtual machine. This is insanity. I'm trying to support your product, you should be making it as easy as possible for me. Even Apple ported Safari to Windows. As a developer, this just makes me feel hostile to MS. Another case: MS SQL Server. It's a real bear to connect to it from unix since (last I checked) there are no official drivers. You have to use some unix ODBC open source stuff and it's just not suitable for production work. My organization has a huge SQLServer instance I can't use because the Linux support is brittle. Contrast that with Oracle who has official drivers for practically every OS under the sun. The Windows for everything attitude has got to change. MS is a software company, not a Windows company. I know MS doesn't have a strong history of "playing nice with others", but it's sorely needed.
- Figure out a way to get corporate IT departments into regular upgrade cycles. The fact that lots of stubborn companies refuse to upgrade because the costs (perceived or real) are high is madness. It's a drag on the whole Microsoft ecosystem and heavily rate-limits the cycle time for new products.
- The segmentation of different Windows versions is just silly. There should be one version of Windows and that's it. It's simple for people to understand and it makes licensing a breeze. Artificially creating different versions doesn't really help anyone. Having a server and a desktop version is plenty (since they are genuninely different).
- MS needs to really decide how much longer they want to push an OS that is based on Windows/DOS heritage and not unix. I know this is tantamount to heresy inside MS. But if you look objectively at how Apple has used open source and unix, you see they are able to get incredible leverage for their size. Not having do to everything in-house and relying on the broader community is pretty good business for them. It lets them focus on the places where they can add value. At some point, it's not efficient for MS to maintain a parallel universe of "invented here" stuff. A proprietary Windows GUI/userspace on top of a unix core (like Mac OS) could really revitalize the whole Windows brand if done properly. It might even draw some geeks back from Mac OS. I became a Mac user because I was tired of dual booting Linux and Windows. I like having first-class email, word processing, photo sharing, etc... but I also want the unix underpinnings for my software development and scientific computing needs. Geeks aren't a big market by themselves, but they really make an impact on the decisions of others.