Erik gets a taste of the good stuff
(I know I promised to write some more about Linq and XLinq, which I will do, but I have had some other thoughts on my mind as well that need to get out before my head explodes, so I am going to be pushing out a few notes about other stuff before returning back to Linq in the near future).
Wow.
I had an amazing thing happen recently and I wanted to blog about it because it's had quite a powerful effect on me.
Recently, I had the opportunity to proctor a usability study for the XmlReader. If you have not heard of a usability study, I will explain. In a usability study you craft a few small tasks, such as:
Read in some xml and validate that the xml conforms to some schema.
You then get a bunch of developers together - we have a team at Microsoft who is responsible for finding developers, so most of the people taking the study are not MS employees - and you have them implement these tasks, all while you record everything they code as well as whatever they say. Then, after you run enough people through the study you collect the feedback in order to decide how to make improvements to your API. Of course it gets more complicated then this, you can head over to https://blogs.msdn.com/stevencl/default.aspx if you would like to know more, but that's the gist of it. A part of the study is that every time a subject comes in to participate, we have a team member sit in so that they can provide help if the person gets stuck, and that's where I come into the picture...
I recently had the opportunity to be one of these proctors, and for me it was like finding religion... Or perhaps like doing heroin (or I imagine that is what it would be like, anyhow)...
Well. whatever the metaphor, I definitely walked away wanting more. There were some many small things you can see when someone is using your API, like which pieces they blow right through and which pieces they stumble over, or how they interact with the API. These are all things that were amazing to me.
Ok, so maybe that means I didn't really grok our API in the first place, but I don't really believe that. The funny thing for me is that there are many ways in which having a huge, diverse customer base, like the customer base for Whidbey, can actually impede your ability to get the kind of feedback you would like to have, but (just to beat the drug metaphor to death) usability studies definitely feel like you're mainlining customer feedback.
Now, there are no silver bullets in software development, but for anyone who is interested in having an API which is easy to use, I would definitely recommend adding this tool to your toolkit (again, you can find more details at https://blogs.msdn.com/stevencl/default.aspx).