I am not the usual Anti-Microsoftie you see around these parts. I love many of their products. Many of my gripes over the years have slowly been fixed, but there are still some:
- Windows does not have a strong history of (non-half-assed) interoperability. This is a hinderance to using Microsoft products in many projects. Use the same technologies as everyone else and do it right! Screw XPS, Screw WinRM (or tunnel it over SSH like normal people). We're too busy to learn The New Way To Do $foo This Year.
- Stop reimplementing the wheels everyone else uses. A good example is the XPS vs PDF war. Everyone else uses PDF, it's a reasonably open standard, just USE IT. Do go create your own "value-added" garbage.
- Your enterprise products are not only not free, they're costly. I can use a free open source web application stack that is at least as good as ASP.NET/ASP.NET MVC. I love Visual Studio though. BizSpark is a start, but what about those of us doing large scale community/"hobby"/not-for-profit projects?
- Ballmer's leadership sucks. Every time I read one of his stupid quotes about his stance on $foo, I cringe.
- blogs.msdn.com is gold. Keep this program and the openness from the engineers going!
- Stop the inter/intra product group fighting that ends up hurting the end users. Get some stronger leadership.
- Stop trying to make Windows more simple for grandma. You're making it harder to navigate for the rest of us (see the Windows 7 control panel as a perfect example).