Attributes and API usability (again!)

I’ve been running another usability study on an API that makes heavy use of attributes and have made similar observations to a previous study (see http://weblogs.asp.net/stevencl/archive/2004/05/12/130826.aspx#FeedBack) This time we’ve been looking at the Indigo APIs. Indigo makes heavy use of attributes throughout. For example, attributes are used to identify an interface as representing a service…

14

Parameter naming and the Google test

Brad has a post on choosing parameter names for overloaded methods which brings to mind a recent question on an internal mailing list about using acronyms for parameter names. In general, when determining whether or not it’s reasonable to use an acronym to name a parameter, we ask whether or not the acronym will be…

5

System.Net usability study

I’m running a study this week on the Beta 1 version of the System.Net namespace. In addition to the feedback I’ll be collecting from participants, I thought it would be useful to capture any comments that anybody else might have on the usability of this namespace. If you’ve used the types in this namespace and…

3

Whyline

Brad Myers from CMU was here today giving a talk which included some details of the Whyline system, a debugger that allows programmers to ask questions about the behavior of their application in order to be able to figure out what the problem is (there’s some discussion of the system on Slashdot). There were many…

1

Virtual properties anyone?

As part of the WinFX review team, I regularly review APIs for usability issues. One thing that we as a team have been highlighting as a potential issue is the use of virtual properties. Consider the following code snippet: public class Class1{    private string theString;     public virtual string MyString    {        get{return theString;}       …

9

VS automation samples

I’ve been asked for suggestions for a list of VS automation samples that would help solve tricky tasks that I’ve observed users working on during usability studies. Just wanted to check if anybody has such a list of samples that they would like us to provide. One example from a recent study that I can…

6

This scares me!

Aleksei Guzev was scared by my last post on readability vs writability. I think what might have scared Aleksei (feel free to correct me if I am wrong Aleksei) is the thought that the results of this study would be used to make a case for adding a Count property to the DataReader class and…

1

Readability vs Writability

Jay has a great post on readability vs writability. It’s really important to take this into account when performing a usability review on an API. Don’t just review the code that a developer has to write in order to accomplish a given task with an API. You should also review the steps that they need to…

3

Using the cognitive dimensions

Now that I’ve finished posting the series of articles on using the cognitive dimensions to evaluate API usability, I’ve finally gotten around to adding links to each of these articles (see the left hand nav bar at http://weblogs.asp.net/stevencl). And, now that you’ve seen the full list of the cognitive dimensions and a detailed description of…

0

Using the cognitive dimensions – domain correspondence

This is the last in the series I’ve been posting about how to use the cognitive dimensions framework to evaluate your own APIs. For each user goal that your API supports, describe how closely related the classes and methods exposed by the API are to the conceptual objects that users think about manipulating when using…

0