by Leon Rosenshein

How Do I Use This Thing?

Speaking of APIs, how do you know the API (or UI) you've lovingly crafted solves a user's problem? I assume you've done your homework and talked to your customers, observed what they're doing, and understand their domain reasonably well, and what you've built works, but that's not enough. Remember, customers (users) want solutions (to their problems), not features and cool technology. So how do you know if you're actually solving their problems?

Ask them, of course. Whether you call it a prototype, a beta test, or "Hey Pat, can you come over here and try this out for me?", getting real feedback is important. Is it as obvious as you think? Do they click on the right button or go searching for one with a different name? Does the workflow make sense? Do they get stuck? Watch them and see. Do they look confused or delighted? Ask people with different experiences. They'll see things differently and have different responses.

You're also checking out any documentation/examples you have. For an API, can your target user modify something and make it their own? Do the names tell them what to expect? Do they use the API the way you expected?

And instrument your system. Your users will often tell you what they don't like, but objectively, how often do they do the wrong thing, click the wrong button, or call an API with incorrect parameters? That you can track yourself.