MSDN Code Gallery

Late last month, Soma announced the new MSDN Code Gallery site for sharing samples from both Microsoft and the community at large. When I saw this announcement, I was a little surprised that Microsoft was creating yet another community-type samples site so close on the heals of the GotDotNet (GDN) shutdown. Granted, MSDN Code Gallery isn’t exactly what GDN was, but between Code Gallery, CodePlex and MSDN Downloads it starts to get confusing.

Charlie Calvert posted a good explanation of the three different sites:

  • Code Gallery: Use this tool to share sample projects that demonstrate key features of the C# language, or that you find interesting or exciting. Anything that you or your team created that you want to share with the community will be a valuable contribution to this site. You can also use Code Gallery to share other resources that might be of value to the community.
  • CodePlex: If you have ongoing projects that you want to develop with the community in a collaboration, then you should use the already existing CodePlex site. It allows you to collaboratively work with a set of developers who can check code in and out of a source repository. Code Gallery, on the other hand, is meant for completed samples that will not be developed collaboratively. You can update the projects and resources on Code Gallery, but only CodePlex gives you the ability to work collaboratively with other developers through a source repository.
  • MSDN Downloads: Some Microsoft projects will remain on MSDN. For instance, the trial versions of Visual Studio 2008, or a VS service pack, would still be available on the MSDN downloads side. The MSDN downloads site is generally not a place for the community to share code or other resources. It is usually reserved only for Microsoft employees or teams.

He does go on to say that GDN is being replaced with either CodePlex or Code Gallery, depending on your needs. If you have a project that was shared on GDN you should move it to Code Gallery now before the phase out is complete.

However, even with the explanations above, it still isn’t completely clear why Microsoft is adding yet another developer site when two of the reasons for the GDN shutdown were:

  • Eliminate redundant functionality between GDN and other community resources provided by Microsoft
  • Reinvest the resources in new and better community features

As I mentioned in my post about GDN shutting down, I think the best thing Microsoft could do is take the proverbial step backwards and look at the entire developer offering and try to present a consistent face. I understand that the sites are geared towards potentially different audiences, but there is a lot of overlap and it can be extremely difficult to find what you are looking for. Searching on MSDN has become nearly impossible given that you now see links for all of the different languages.

After that, take a chapter out of their own book on usability and apply it to the developer sites. Just because we’re developers doesn’t mean we don’t want a site that is easy to navigate, functional, and well organized. I don’t really think any of the current sites fit well into any of those three criteria.

I’m sure I’ve missed some, but here is my count of the number of Microsoft sponsored developer sites:

  1. MSDN
  2. MSDN Wiki (or MSDN Library)
  3. GotDotNet
  4. CodePlex
  5. Codezone
  6. MSDN blogs
  7. Sharepoint blogs
  8. MSDN Forums
  9. Channel 9
  10. Channel 10
  11. MSDN Code Gallery

Start with consolidating all of the developer sites, make them easy to navigate, functional, and well organized. Then work on increasing the site responsiveness (it takes for ever for the MSDN Library navigation to load, even on a burstable OC12 connection). Then clean up the content. There have been numerous times where I’ve seen documentation contradict other parts of the documentation, code examples that are incomplete, or documentation that just doesn’t provide anything useful.

Create a true developer community that

  1. Fosters open two-way communication in an easy manner, between the community members and Microsoft developers
  2. Promotes code sharing and reuse
  3. Provides clear, concise, and complete examples as well as explanations
  4. Provides a consistent user experience
  5. Provides a single clearing house for developer related tools and information (Microsoft has started something like this with the new Visual Studio Gallery, which I have already talked about.)
  6. Efficient and accurate searches across all of the content