
- Create Advantage
- Services
- Industries
industries case study
"The quality of Nagarro’s development teams and their sense of responsibility for our core business objectives have made it possible for Assa Abloy to exceed its goals."
Ardeshir Nahani
R&D manager, Assa Abloy
industries1
Industries2
- Why Nagarro?
Quote Why
"We have worked with other software development partners in the past, but Nagarro is in a league of its own in terms of precision, skill, thoroughness and lightning-fast turnaround. Nagarro had the internal processes and engineering talent to get our software projects up and running smoothly within two months, while competitive bidders estimated six to eight months to complete the same work."
Paul Kozak
COO, MNJ Technologies
Why1
Why2
- Customers
quote customers
"Nagarro has enabled us to outpace our competitors, putting our product years ahead of anything else on the market. Our Nagarro team went beyond building the product to taking a personal interest in understanding our business and ensuring the success of every customer deployment. We look to Nagarro as a model for best practices company-wide."
Stephen R. Barrett
Partner, HKMP Technologies
Customers nav
- About Us
Quote About
"Nagarro brings an unexpected level of insight and creativity to each project. Nagarro has impressed us with the ability to translate our big picture concepts into concrete deliverables that address our core business needs."
Eric Thrailkill
CIO, AmSurg Corporation
About2
About1
About Contact
Contact Us US: +1-866-NAGARRO
Germany: +49 69 2740 15 880
Sweden: +46 (0)8-751 35 46
Sales: sales@nagarro.com
PR: pr@nagarro.com
Jobs: jobs@nagarro.com
Office locations
BLOG
The Usability of Code, Part 1 of 2
Not long ago Ken Arnold wrote an article for Queue magazine called Programmers are People Too. In it he talks about applying the principles of User Interface Design to the design of APIs. It turns out the practices of Human Factors and Usability Engineering have a lot to offer the implementors of public APIs and frameworks. Think of an API as the “user interface” of a larger programming model. Users are application programmers and the usability of the API is judged not just by it’s richness, but on the ease of use and learnability of the API. It’s not sufficient to address usability with thorough documentation any more than it’s sufficient to compensate for a bewilderingly difficult user interface to a mobile phone with a five pound user manual.

The idea of applying Human Factors to API design is not far off the idea of designing programs as works of literature. In both cases your main focus is your audience, not the computer. The common principle in both is readability, but the idea of API usability takes it a little further because your audience isn’t just trying to understand what it’s looking at but actually use and extend the work.
I believe these principles of usability apply not just to API design, but to programs in general. Ken Arnold gives a couple of examples of UI principles applied to API design, such as the use of Progressive Disclosure. That’s the principle that says you shouldn’t overwhelm a user with more detail than they need for a common task, but rather disclose the additional detail when the need arises as they move further along in some interaction. Give the user what they need to know when they need it and only when they need it. That way they won’t be distracted or confused by superfluous information.
For an API, this might mean segregating the methods of a complicated class into the methods most commonly used by client applications from the less frequently used methods needed in special situations or by advanced users. For an application designer it might mean using interfaces and abstract classes to hide the distracting implementation details of a class. Think about other common principles for user interface design, such those described in theApple Human Interface Guidelines. How can these be applied to program design? I’ll list some more examples in the next installment of this column.
Share and Enjoy
Learn more
Popular Posts
- Nagarro’s Brigid Wefelnberg finishes 3rd in Kalahari 250 km Ultramaratho…
- Windows Server AppFabric
- Log your exceptions to the cloud
- Windows Phone 7 is NOT the next version of Windows Mobile 6.5
- Nagarro Ranks First in Overall HR Practices in Leading Indian Employer S…
- Balkrishna Dubey is key speaker at Frankfurt event
- Case study: load balancing high transaction volume databases
- Nagarro Ranked #1 in HR Practices, #6 Overall Best Company in Recent Dat…
- Usability is in the details
- HTML5 mobile apps vs native mobile apps

