One of the many interesting things about working at Microsoft is dealing with the occasional raving MS hater. Here I'm not referring to people with legitimate gripes who can formulate logical arguments to make their point; instead I mean people who write our name as Micro$oft (that joke never gets old!) and honestly believe we all spend our time in a hollowed-out volcano lair thinking of new ways to do evil. You know the type - most of them hang out on the forums at Slashdot and CNET.
I've struggled to understand why such people exist. While Microsoft, like all companies, has some blemishes on its record, it requires a perplexing leap in logic to surmise that everyone is constantly and deliberately trying to screw customers over. My best guess is that, for a very long time, Microsoft was essentially a black box to the rest of the world. Money goes in, software comes out, and if anything is not entirely to your liking you can only guess about what went on inside to yield that result.
However I believe that the company as a whole has made great strides over the last three years or so to become much more transparent and accountable to customers. Sites such as MSDN and Technet Blogs, Channel 9, Channel 10 and CodePlex all provide ways for you to see inside the box, and for Microsofties to see outside. Hopefully the conversations happening in these forums give the product teams the insight required to build better products and do better by customers. And regardless of what result we end up with, the increased visibility should help everyone see us as real people, flawed like everyone else, but trying to do the best job possible under complex constraints.
So if we've made such great strides towards greater transparency and accountability, how come the raving Micro$oft bashing crowd still exist? Well for one, I think some of these people have so much bitterness (for right or wrong reasons) that it will take quite a bit more time for them to start thinking rationally again, but I do think we're going in the right direction. Still I also believe that we can, and must, do a lot better than we are now. (As an aside, I'd like to hear your opinions on what other commercial software companies are doing a better job at community engagement and transparency than Microsoft is right now).
Right now I believe the company's biggest problem with community engagement is that the wealth is not spread evenly across the different teams. Some (in my opinion) do an absolutely fantastic job of explaining what they are thinking before committing to plans, soliciting feedback to change those plans, and keeping everyone informed on progress at every step of the way. Others are still in the black box mentality, and some are halfway in between.
But of course it's not my opinion that matters - it's yours. So I'd like you to nominate which teams in Microsoft you believe are doing the best job at engaging with the community, and which teams are most in need of improvement. Why am I asking this? Because I believe that it's critical for the entire company to become more transparent, and I want to make sure the teams in question know when you think they are doing a good or a bad job.
I <3 the MSDN Forums. You can see which team really cares about their products based on the amount of Green Checks vs. Red.
That is, check out MSBuild's Forum as opposed to ADO.NETvNext's. There's no comparison.
(As such, it would be nice to see Silverlight forums ported over to MSDN... not sure why different teams are using different forum software in 2007...)
And as such, I would recommend looking into the management of the ADO.NETvNext's team. They are incredible/amazing/wonderful in how they go about getting feedback, interacting with customers, and being on top of any issue that pops up. They are something else.
As for "haters," it's a side effect of success. Deal with it. :) (Mike's post is dead on).
Dude, didn't you get the memo? "Transparency" is from the old guard. Under Sinofsky, the politically correct word is "translucency." Good luck swimming upstream with people like him getting promoted. :(
I think Microsoft has done a great job overall. I found a few things flawed, but my biggest concern with Microsoft lately is that they are listening 'too much' to the purists and fundamentalists. Being black box isn't a bad thing - you should let the light in every now and then, but don't leave the door wide open.
Take for example this MVC thing. UIP was MVC, and let's face it, while theoretically a great concept, many organizations that I've worked with or had colleagues that worked with had problems with it in practice (sorry Tom) because the Morts out there just couldn't conceptualize the idea and the Einstiens out there over-architected there systems implementing it when it didn't need to be (because MVC is the flavor of the last year or so (now that Factory is off the front line); while a few of the Elvis' out there (such as Brian Noyes) could come in and say how to do it right, there just aren't a lot of those around.
So why then, is the ASP team, after having P&P do UIP twice, then WF, go and now build an MVC pattern into ASP.NET? I really think the people who are so hyped up on this should go find someone (such as I did) that worked with the real and original MVC in Small Talk and find out how MVC came about. And then, after they think about it, they'll see that using MVC in ASP.NET is more of an anti-pattern then it is a pattern to be built upon because the problems MVC was trying to solve in Small Talk is not the problem people are trying to solve in ASP.NET. People I think in general don't understand what patterns are for because they just look at the pretty pictures in Fowler's and the GoF book and 'known usages' rather than analyzing the pattern and understanding when to and when not to use it.
My fear is that if Microsoft continues to listen 'too much' to the community they are going to encounter all the problems and reasons I've (and many I work with) left pursuing the Java world - too many cooks in the kitchen - too much design for endless 'what if' scenarios - too much trying to make everybody happy.
MS developer's post "May be lack of transparency indeed is a problem .... But" is exactly why we have a strong opinion against Microsoft.
Honestly I think Enterprise Library is a great product, but the license agreement stating that you can only use it on Microsoft Windows is exactly like Microsoft's lock-in approach, you have to use our products, only our products, regardless if they are not as good. No mixing. Its either only us or not us at all. It is this attitude that pisses us off. I think competition is good, not monopoly, forcing a product down other people's throats.
Back to EL for a moment. I code in CL (.NET, Mono), and want my applications to be cross-platform (Windows, Linux, Mac OS X), and would love to use EL in my applications, but with EL's license I have to make a choice between being tied to Windows or being cross-platform and not using EL.
Microsoft isn't the only Monopoly offender, Apple does the same thing. I like Mac OS X, but let me buy my own hardware, don't force me to pay exorbitant prices for your hardware. I would use Mac OS X if I could install it on my own hardware.
developer: Actually you seem to be talking about lock-in, not monopolies, but I get your point - and lock-in is one of the major reasons why I do not use any Apple products. While I understand your perspective around the licence clause in EntLib, I encourage you to look at it from Microsoft's perspective too. MS spends literally millions of dollars each year developing p&p deliverables and gives it all away for free. The business model behind this is that we want people who choose our products (eg Windows Server) to be more successful, so they will keep using/buying it. The company couldn't justify this amount of R&D without confidence it will result in product sales, unless the deliverables had a revenue stream of their own.
Using the word "blemishes" is pretty funny.
I read slashdot so I guess that makes me in the M$ camp huh?. Problem is I love most of the .NET tech (ASP.NET webforms excluded), hmmm, what's a coder to do?
Most Transperant: Most of the .net teams (especially ASP.Net), there was a ton of exposure around the latest release of Visual Studio which I thought was fantastic.
IIS7 has also had decent exposure. But more samples and more detailed info would have been better.
Least Transperant: IE & Office