What do people think of MSDN?

One of the things about being a new employee at any company is learning how to find the information to do your job.  One of the primary resources is of course the code, but usually you don’t want to have to look at the code itself to determine how to use it.  If you always looked at the code, you’d never get anything done.  The people are also a large resource too, but you don’t want to bother people all the time because they too have things to get done.

 

So, a lot of the time I end up using MSDN to look up information about functions/systems.  Some examples of things I read a lot about were Windows Management Instrumentation (WMI) and the Filter Manager.

 

Now, before I say anything negative, I should mention that MSDN (from my viewpoint) has a lot of useful information and I can’t even imagine being tasked with keeping it up-to-date, organized, and easy to read.  But, one experience I have had several times is that MSDN will get me started, but I will have some errors pop up in my code.  Usually those errors are caused by not realizing something small but important.  For instance, it could be that a parameter is set to NULL in an error case or that the data I received is formatted in a certain way, etc.

 

Usually I end up solving these types of issues by doing a search on the web/intranet.  That usually leads me to a presentation that the authors of the subsystem made at some point to clarify things that people seemed to be missing.  For instance, the case where I was missing that a parameter was set to NULL in the error case was in regards to registry callbacks using CmRegisterCallback.  In the RegNtPostCreateKey callback, (*Argument2)->Object is set to NULL if the create failed.  Now, I should probably have thought about this, but sometimes when you are moving fast or dealing with other complexities at the same time (like the fact that you have to do a double dereference on Argument2 for RegNtPostCreateKey) shifts your mind from catching these things.

 

So, I started to think that it might be a good idea to tie the developers to their MSDN content more.  I’m not saying that the developers should be tasked with managing MSDN, but that they should learn to keep it in mind.  For instance, obviously that issue was included in the presentation because some people were having problems with it.  Wouldn’t it have been nice if the person who made the presentation sat down and said, “Hey, I have to clarify this in my presentation, maybe we should clarify it in MSDN also.”  I am not trying to pick on the writer of CmRegisterCallback as I also had this issue with the Filter Manager and other components.

 

So, I’m curious about people’s experiences with MSDN, specifically people with much more experience using it than me.  Now, I don’t want this to turn into an MSDN hate thread, so please only give constructive feedback on your experiences.  If you only want to say that you think it is horrible, I am aware that there are a lot of people that feel that way and that that feedback does not help make it better.  I should also say that I don’t work on MSDN, but I may follow up with the people that are if I feel I have some concrete steps/actions that would help to improve MSDN.

Comments

  • Anonymous
    March 17, 2006
    I think your idea (tying developers into MSDN) is a good one.  What good is creating a rich platform and API if developers can't take the most advantage of it?

    Hope your first few months at Microsoft have been going well!  I myself am going to be starting at Microsoft as a developer in a couple weeks.  And, as someone who's used MSDN a lot over the years, I definitely plan on keeping an eye on what I can do to help out those portions of MSDN relevant to my work. :-)
  • Anonymous
    March 18, 2006
    MSDN is excellent, however, recent changes made it a bit annoying to use. The two main things are:

    1. The alpha-blending that occurs when you go back and forth. It can be insanely annoying.
    2. The fact that MSDN does not remember your language preferences and always defaults to ALL 7 LANGUAGES OPTIONS when you start a new browser.

    Other than that, just peachy. Been using it for about 10 years now - since it started coming out on CDs and been using TechNet 2 years before that.  It's the best.
  • Anonymous
    March 20, 2006
    Ideally, MSDN (at least the API reference sections) should be a wiki. Registered users would be allowed to add comments or even edit the documentation directly (based on trust levels). Then, when developers found problems or things that needed clarification, they could put a note in the documentation for others to see.

    Realistically, I'm sure this poses lots of problems - not the least of which is content rights. And, the documents are updated regularly by the product teams, so you'd need a mechanism updating comments as the underlying content changes. And, of course, there would have to be monitoring of updates, so you don't have problems with content like wiki-pedia.

    But, I think the technical problems are fixable.