The first requirement for an exemplary user experience is to meet the exact needs of the customer, without fuss or bother. Next comes simplicity and elegance that produce products that are a joy to own, a joy to use. True user experience goes far beyond giving customers what they say they want, or providing checklist features. In order to achieve high-quality user experience in a company’s offerings there must be a seamless merging of the services of multiple disciplines, including engineering, marketing, graphical and industrial design, and interface design.
A core part of UX is the concept of usability:
Usability is a quality attribute that assesses how easy user interfaces are to use…. Usability is defined by 5 quality components:
- Learnability: How easy is it for users to accomplish basic tasks the first time they encounter the design?
- Efficiency: Once users have learned the design, how quickly can they perform tasks?
- Memorability: When users return to the design after a period of not using it, how easily can they reestablish proficiency?
- Errors: How many errors do users make, how severe are these errors, and how easily can they recover from the errors?
- Satisfaction: How pleasant is it to use the design?
There are a bewildering array of techniques you can use for usability studies, but one of the most powerful is user testing. Here’s how the Nielsen Norman Group describes what it is and how you do it:
- Get hold of some representative users, such as customers for an ecommerce site or employees for an intranet (in the latter case, they should work outside your department).
- Ask the users to perform representative tasks with the design.
- Observe what the users do, where they succeed, and where they have difficulties with the user interface. Shut up and let the users do the talking.
Although usability testing can be pretty elaborate, even very simple approaches can provide very useful results:
To identify a design’s most important usability problems, testing 5 users is typically enough. Rather than run a big, expensive study, it’s a better use of resources to run many small tests and revise the design between each one so you can fix the usability flaws as you identify them. Iterative design is the best way to increase the quality of user experience. The more versions and interface ideas you test with users, the better.
In the world of web/mobile, UX has had a deep and profound impact on how designers work. You can go to conferences about it, take courses in it, even get a job doing it. If a corporation, nonprofit, or government is serious about reaching their audience, they’ve got staff and/or consultants who live and breathe UX. As you know from surfing the web, not everyone takes it seriously. But for anybody serious about designing websites and apps, UX is a critical tool in their arsenal.
But in the world of the tools, languages, and frameworks/libraries for coding? There are certainly some folks who are using UX, but my guess is that either it’s not widespread or the users most coding UX efforts target aren’t regular folks; that’s one of the issues I’m researching. Either way, as someone who’s taught a lot of adult beginners I think there’s a tremendous amount of room for improvement.
The one area where you can see the impact of UX work on coding is tools aimed at little kids. The best example of this is Scratch, an MIT project that’s been wildly successful.
Better UX for adult coding won’t by itself solve the gap in the accessibility of coding jobs and creating wealth via coding; for that I think we also need a more deeply community-oriented approach to making coding accessible. But better coding UX can make a critical difference.