How Usable Are Your APIs?

7 April 2017

Ben Cheng

Usability of API?

2

How often does Developer use API?

Explosion of online forum and Stack Overflow. Instead of writing code and be
productive, they end up spending their time browsing online forums. Their
self-esteem takes a hit. It doesn't really feel like she is programming
anymore
3

How developers estimates it pays off?

When Payoff > Cognitive cost of using the API

4

Usability Tests

* Card Sort Study on ATL Server (2000)

* Usability Labs on Visual Basic .NET (2002)

5

Usability Labs on Visual Basic .NET

Dim f As New FileObject
f.Open(OpenMode.Write, "testfile.txt")
f.WriteLine("A line of text")
f.Close()
6

Profile of Developers

A more diversified usability test, tagged each partcipants's video segments with the Congitive Dimensions framework [Green and Petre 1996]

* Opportunistic developers
- Rapid prototype
- Task focused
- Extensive use of high-level, concrete components

* Pragmatic developers
- Code focused
- Use tools (refactoring, unit testing)
- Focus on robustness and correctness of the code

* Systematic developers
- Defensive approach to development
- Depp understanding of any technology before start working on it

7

Make a guess!

Who wants to use FileObject? Opportunistic, Pragmatic, or Systematic?

8

Habits of Developers

* Opportunistic developers
- Prefer high-level concrete components
- Love style

* Pragmatic developers
- Factored components - high-level concrete components with all the modes of operation factored out into different components
- Neutral to style

* Systematic developer
- Prefer primitive components
- Hate style

9

Scenario-based Design

Answer to targeting all three of the personas - Scenario-based Design.

In usability test, developers

Thus,

10

Scenario-based Design (cont.)

11

Appendix

Farooq, U., and D. Zirkler. 2010 API peer reviews: A method for evaluating
usability of application programming interfaces. Proceedings of the 2010 ACM
Conference on Computer Supported Cooperative Work: 207-210
12

API Congitive Dimensions framework [Clarke and Becker 2003]

13

Thank you

Ben Cheng

Use the left and right arrow keys or click the left and right edges of the page to navigate between slides.
(Press 'H' or navigate to hide this message.)