I got two nice comments on this. One says that MSDN is mostly only API documentation or reference. OK, there are lots of samples in there but most of them are only good enough to show this API call in action (which is also fine on one side). What is missing are broader samples. There are some but maybe not enough.
For me it was interesting to ask why this is so important. It is because most of us learn by having a running sample and play around with it. Or - to be honest and frank - we learned to search a snippet doing more or less exactly what is expected from our code and to drag-n-drop it into our solution. You might like it or you might say that this kills the quality in code because people tend to copy code without understanding the impact of it in the end. But more or less that is the way it is today.
Now this is a tricky thing to solve. Example: When we were about to launch Visual Studio 2005 in Germany I was asked to cover a project were we invited students to do some typical German MSDN samples for us. The samples had been checked by professional developers to guarantee quality and such alike.
The first idea of "typical German" was a sample that sorted strings dividing ÄÖÜ and other letters. Sorry... So I asked if they could do something broader. Maybe a little solution covering web, web services, smart client, mobile and even Office integration. What we finally got is a MSDN sample called Adventure Works Cinema (see here). I am very proud on the students who did this side by side with their studies and scattered all over the country. They delivered a project in time, in budget and within the expectations, something which even in prof projects is not always the case. I think we need more of this.
The project is a solution (not final but showing the ideas) for a cinema with quite impressive ideas and features.
Another step is MSDN solve providing real live questions with the real live answers. Quick and easy to copy. See here.
So are we were we want to be? No, we still have to walk down a long way but at least we are working on it 😉
I have to go to a meeting now but I will come back on the topic later on.