A couple of years ago I had a conversation with JD Meier at Microsoft about MSDN documentation. Our discussion focused on discoverability and consumption. On the one hand, MSDN is a great resource if you’re trying to solve a specific problem. For example, if you need to see all the constructors for the WriteableBitmap class, which I just happened needed to the other day, you can just pop http://msdn.microsoft.com/en-us/library/system.windows.media.imaging.writeablebitmap.writeablebitmap into your browser and get exactly what you’re looking for (did you know you can do that?) From this frame of reference, immediate problem solving, MSDN’s story around discovery and consumption are great.
On the other hand, when it comes to trying to learn a new platform, framework, language, etc. MSDN leaves a lot to be desired – at least for me. Let me be clear, it’s not that MSDN doesn’t have the content I need, it undoubtedly does. However, when I’m trying to learn something new I simply don’t know what I don’t know. As a result, I don’t know what information I need much less where to find it. (By the way, if you don’t suffer from this problem I am extremely jealous of you.)
Let’s take Windows 8 as an example. As you’re probably aware, Windows 8 is all about creating great user experiences via the Metro design language. I want to gain a deep understanding of Metro so that I and my customers can build great Metro style apps. Where do I start? Well I could head over to the MSDN home page where I see this:
Now, there’s nothing here about Metro style apps, but I’ll use a little bit of logic and assume, which I know I shouldn’t do, it’s under the Windows Development Platform.
I appear to be on the right track as there is an entire navigation section devoted to Metro style apps. Where do I go from here if I want to start learning? Home? Docs? I’ll just go to the Home page and see where that takes me.
OK, so now where do I go? Explore the documentation? Read the developer guide? Getting started and tutorials? I’ll take Explore the documentation for $200.
Oh good, more options. How about I go with Get started?
That’s five pages and I still haven’t a seen anything aobut the fundamentals of the Metro design style, but wait, there’s hope. What’s that at the bottom of the page, which I can only see because the zoom on my browser is set to 70%. Does it say “What is a Metro style app”? Yes, yes it does. Sounds promising. I’ll click it.
Perfect, this page has the information I was looking for, so I guess I can say I’ve discovered the information I was looking for.
What about consuming it? There’s a lot of info on this with numerous links to other pages. I don’t know about you, but between work and home I have a lot on my plate. Unfortunately I don’t have an Ethernet port in the back of may head (my insurance company said that the implant would be considered elective surgery and I would have to cover the full cost), so I can’t download the entire MSDN library to my internal hard drive (aka brain) Matrix style. Finding time to consume all of this means I’m going to have to sacrifice family time or sleep or, more realistically, both.
To me this isn’t acceptable, which is how I got the idea for this series. The entire premise behind Metro Pass isn’t to rewrite or expound upon the MSDN docs focusing on Metro style apps, although I will add some color commentary from time to time. My goal is simply to repackage the docs for easier consumption by busy developers – like you. Each day, starting tomorrow, I will publish a post that will teach you just one thing about Windows 8 Metro style apps. You’ll be able to read the post in 5 minutes or less and yet come away having actually learned something without feeling overwhelmed. Of course, for each post I will provide links to source documents on MSDN so that you can dive deeper if you so desire (and so I don’t get sued for any type of copyright infringement.)
With that I’ll wrap up this rather lengthy post which is devoid of technical content.
Stay tuned for tomorrow’s Metro Pass installment entitled 8 Traits of Metro Style Apps.