views:

130

answers:

6

We are developing a product which provides an API interface, so other developers can use some functionality of main product.

This is already implemented and documented.

But I'm not sure that this is very useful, and documentation is very clear for developers.

How we can find people to review this feature? What type of person should it be?

In some sense, we're looking for Product Owner for single feature/component. Is it possible?

+1  A: 

Get someone who's not experienced with your product to make some sample code or a reference implementation of a client for your API. Then they'll get a good sense of where the documentation is deficient or the API needs to be improved. This can be a contractor, or a new developer (good way to get them up to speed).

sk
+1  A: 

First, if you're developing an API for use by others, I'd recommend reading a book like: http://www.amazon.com/Framework-Design-Guidelines-Conventions-Development/dp/0321545613

Following those rules will avoid a large number of usability issues with your interface before any review is necessary.

Second, run a usability study with a few target developers, those who're likely to make use of this API, but haven't ever seen it before. Put them in front of the system and give them a few tasks, then watch how they go about figuring out how to do it. Their pain points will tell you where you need to make improvements.

Ragoczy
Huget thanks for the book. It would be very useful! :)
Fedyashev Nikita
+1  A: 

Poll your end users and find out which ones are using your API to interact with your software. You can then survey those users and get their opinions about the various features you offer in your API along with the ease of use and clarity of your documentation.

Justin Niessner
+1  A: 

Every API has some target audience (i.e. clients developing integrations to your product). From this point of view it would be the best to get the feedback from members of this audience. You can establish i.e. some early access program, or ship some public betas.

If you have no such audience (i.e. you are developing API for a product, which is not yet public), I would suggest to do some king of 'usability testing' - i.e. pick a developer of approximately target audience skill and give him some assignment involving the API usage. Then get a feedback from him.

Michal
+1  A: 

It would be the best to find a programmer that has already designed some known framework for the language in question.

WHat your users think is irelevent I think, becuase you can't judge about framework by asking arbitrary programmer his toughts about it. His answer will depend upon his level of knowledge and personal methodologies while API is being designed for wider population (I am assuming this is your case). To finish this point, in my firm programmers that use VB.NET think that C# is lame language becuase of 'problems' like you can't write Button = "Text" in C# and let the compiler automatically find default property for you. You don't want such person judging your framework.

Even designers experienced in different languages may be of help because wider used APIs should be implemented with the help of well known programming patterns people are already familar with.

majkinetor
+1  A: 

If I were in your shoes I would start writing sample applications and either doing a presentation to walk people though the steps or some other similar exercise. It is not as good as getting feedback from users, but it can shake out some issues.

Another (possibly bad) idea is to spend money on the elance/guru sites and come up with a sample application/functionality you think is representative of how users are going to use the API. Make the project for that and then also get feedback from the developers as part of the project.

You'll probably want people who can communicate in your native tongue...

By the way, waiting until it is all documented and implemented is probably not the best time to review it... it would have been a lot better to do the review before implementation.

Tim