Microsoft Xbox leader J Allard recently called it quits. He had been in seclusion for months working on a "secret" dual-screen tablet PC dubbed "Courier." Microsoft cancelled the project, presumably leading to Allard's decision to head for the exits.
While this type of corporate drama plays out all the time at many different companies, it seems that Microsoft's increased transparency in recent years tends to amplify its media exposure. It wasn't always this way. Back in the 90’s, Microsoft was fairly close-mouthed about what it was working on. Not quite to the level of Apple, but close. When Java and the open source movement began to eat up developer mindshare at the turn of the century, Microsoft made a switch and opened up its doors to the "sausage making process" while .NET was in development. It even submitted some of its work, such as the Common Language Infrastructure (CLI) to the International Standards Organization (ISO), which led to cross-platform efforts such as the Mono Project. The result is that we developers get a front-row seat for the sometimes non-harmonious and fragmented way that products are envisioned and developed in a large organization.
Microsoft employees were recently ranked as "the most sociable" by a social media website. See While blogging, tweeting, and Facebooking (is that even a word?) alone doesn't directly translate into transparent product development, it certainly contributes to it. That got me thinking about whether transparency was a good thing for developers or not. My knee-jerk reaction was that it was great. Who wouldn't want an early inside look at Microsoft's upcoming products and services? After pondering the topic, though, I came up with some valid reasons why near-perfect transparency may NOT be such a great thing.
The case for transparency. As a Microsoft Regional Director, MVP, and ASP Insider, I've made it my mission to keep my finger on Microsoft's pulse. It is nice to be able to provide feedback early enough in the process to have a real impact on new products and services. It’s nice to know what directions Microsoft is heading in, as well as which it is researching and considering. My consulting clients rely on getting information early and often to help them plan and make technology decisions. I like to be able to get my feet wet in the technologies that interest my current and potential clients, so that I can hit the ground running when those technologies are ready for prime time.
The case for opacity. A downside to having access to so much information is that you have to cull through it to decide which Community Technology Previews (CTPs) and beta programs you’ll invest time in. Unfortunately, sometimes you choose wrong and a technology that you spend a lot of time learning (and may have grown attached to) disappears. Even products that go to beta (or beyond) can get drowned out and you may need to re-engineer your applications to suit an alternative technology. In an opaque world, you find out about things later, but there’s a higher level of certainty that you can rely on what you do find out. It’s not unusual at all for a company the size of Microsoft to attack a problem from multiple angles by letting multiple business units compete against each other to determine the best overall solution. Many developers wouldn't mind missing out on that whole technology-vetting process. They just want to know which option wins. It should also be noted that just because a product (or feature of a product) or service is released, it may not be around long term. LINQ to SQL was the unfortunate victim of the Entity Framework, and, though supported, is heading into a technology cul-de-sac. Anybody remember DHTML projects for Visual Basic? 'Nuff said.
As with most things in life, transparency is probably best if applied in moderation. I think Microsoft started with the best of intentions, but may have slipped too far to the side of transparency. It might want to keep its initiatives secret for longer than it currently does to avoid the technology merry-go-round. A little mystery about what's going on behind the curtain will still give developers the opportunity to have an impact on product development direction, but will allow folks who don't have the time or inclination to monitor Microsoft's every move to focus on products and services that have a greater chance of being released (and succeeding).