08 February 2008

MSDN Code Gallery

Although it's been about two weeks since Microsoft launched its new MSDN Code Gallery, I am just now getting around to checking it out.

At first glance, it appears there are quite a few similarities between the MSDN Code Gallery and Microsoft's CodePlex site (another open source site provided by Microsoft and hosted on top of Team Foundation Server).  So, what are the differences between the two sites?  Basically, it boils down to project management: Microsoft's CodePlex site is suited for open source projects requiring some level of project management whereas the MSDN Code Gallery is mainly an on-line repository of code snippets and example projects (without any of the project management functionality).

What I like:

  • The MSDN Code Gallery is a visually pleasing site.
  • Quick and simple site for accessing code snippets (without having to pull down entire projects to get at a small snippet).
  • "Tagged" resource pages allowing for simple categorization of code snippets and examples.
  • Creating a new resource page is relatively easy.

What I don't like:

  • Not a lot of content.  As of a few minutes ago, there were only 75 "resources" available for download on the site.  However, this is still a new site and I'm sure it will grow a lot over time.
  • Figuring out the navigation and search features takes a little getting used to.  It's nice once you figure it out but is not intuitively obvious.
  • You must have a Windows Live ID (formerly known as Microsoft Passport) to create new resource pages.  The CodePlex site does not have this "limitation" (possibly due to the integration issues with TFS).
  • The instructions for setting up the resource page (correctly) and publishing it are not clear.  I followed the instructions and published my first code snippet (for sending e-mail messages in C# or VB.NET) only to receive an e-mail message a few hours later telling me that my resource page "appeared" to still be in testing - which it wasn't.  I've sent an e-mail asking for specific details as to what the actual problem is so I can get that corrected.
  • The only license model available is the Microsoft Public License (Ms-PL).  This license is fairly permissive (no pun intended) but what does it hurt to have a few more choice (similar to the CodePlex site)?
  • The search functionality is fairly basic.  Having some extended search features such as language choice (e.g. C#, VB.NET, JavaScript, etc.), submission date, etc. would be beneficial.  The krugle search engine does a good job in this area (as an example).

I've always tried to make use of example source code snippets as I develop software just so I don't have to re-invent the wheel.  However, a lot of the source code resources on the web tend to have an abundance of poorly written/tested snippets or the snippets are out of date.  I will be interested in seeing how Microsoft deals with this issue over time (if at all).  Until then, I'll enjoy yet another snippet repository.

Follow Up: I received some more details about why my resource page "appeared" to still be in testing... Basically, I was told that my resource page needed to be "spruced" up with a little more information.  I must admit that my initial page was pretty sparse, but let's face it, a simple "send e-mail" snippet doesn't take a lot of explanation.  However, I can understand Microsoft's viewpoint that they do not want a lot of mostly-empty (or "ugly") pages comprising the MSDN Code Gallery.  So, I've updated the SendEmail resource page to hopefully meet the (not-so-well-documented) publishing requirements.