12 steps to stellar software design
Don't hit rock bottom before improving usability
Computerworld Canada - Many organizations can't understand why their software doesn't perform as expected, or why users make unexpected errors. According to David Crow, usability adviser at Microsoft Canada, and Jay Goldman, president of Radiant Core in Toronto, waking up to the need for usability testing is akin to hitting rock bottom. At the Free Software and Open Source Symposium at Seneca College in Toronto last month, the two offered a 12-step program for getting back on track, along with some recommended reading.
Step 1: Admit you have a problem. "It is impossible to design good usability on your own," said Goldman. They advocate the use of personas -- fictitious characters that are created to represent the different user types within a targeted demographic that might use a site or product. "Guerrilla" usability tactics such as informal customer interviews and teaming up with tech support staff might work too. "Know thy user," Crow said.
Resource: The Design of Everyday Things, by Donald A. Norman
Step 2: Believe in a power greater than yourself. Crow showed slides of three different types of public benches and asked which design the audience preferred. Inevitably, the reaction was mixed. "You see this with application development all the time," he said. "You need to find out who these folks are that are using your stuff, and they may not end up being the people you started out with when you designed the product."
Step 3: Make a decision to recognize good design. Goldman invoked a Steve Jobs quote: "Design is not just what it looks like and feels like. Design is how it works." That's worth remembering, especially in light of the resurgence in Mac-based hardware sales, Crow pointed out.
Step 4: Make a searching and fearless inventory of your user experience shortcomings. Crow and Goldman invited the audience to help draw a stick figure, and they showed how even simple illustrations involve a lot of logic and questioning of basic assumptions. That's why they say comic book guides could be useful text for software development, too.
Resource: Understanding Comics, by Scott McCloud;
Step 5: Admit to someone else the nature of your problems. More than just getting feedback, talking as an equal to users can help sort out why an application may not be working. "This is often when you look at your task list and say, 'Wow, I've got a ton of other stuff to do,'" said Goldman. "It takes a lot of courage to take that step (of talking to users regularly), but once you've said something publicly, you're a long way down that path."
Step 6: Be ready to remove these defects of character. Crow used Microsoft's Office 2007 as a case study. As the company added more features into its Word product, for example, it began using "rafted" tool bars buried in the interface, moving from 12 to more than 31 tool bars by the time it offered Word 2003. "Of the top 10 feature requests, five had been in Office for more than one release," Crow said. The latest version, in contrast, uses a "ribbon" with a master set of tool bars that helps find what you need.
Step 7: Ask for help. "It's out there," said Crow. Even at large organizations with supposedly wide resources, like the open-source Mozilla Foundation, which has taken to posting mockups of the next Firefox browser on its Web site. That may scare off organizations concerned about rivals watching their plans, but Goldman and Crow said the results can be rewarding. "You don't have to listen [to the feedback]," Goldman said.
Resources: The Usability Professional Association, ACM's Special Interest Group on Computer-Human Interaction and OpenUsability.org. Also, A Pattern Language, by Christopher Alexander.
Step 8: Make a list of all the users you've harmed, and then make their lives better. Goldman offered a scale that ranged from functional to reliable to usable to convenient to pleasurable to meaningful. "You have to assess where you fall. Most fall halfway to convenient," he said. "It's a really hard one to cross," added Crow.
Step 9: Make direct amends. Unfortunately, sometimes tapping into users for feedback can backfire. If you can't deliver an improvement, prepare for the worst. "Don't burn bridges with your users," said Crow. Goldman agreed. "They will never come back, and they will tell all their friends."
Step 10: Continue your inventory. Usability testing is not a one-time event but a cycle: Observe, analyze, design. "It should be like using shampoo," Crow said.
Step 11: Realize that without users, it doesn't matter. Goldman used the example of the CueCat, a handheld for scanning barcodes in magazines and then taking them to a URL, as an example of usability gone wrong. "It didn't solve the problem for users. They still had to go to their computer," he said.
Step 12: Pay it forward. The software community has a number of resources, including Yahoo's User Interface Library and the Tango Desktop Project, to offer lessons learned.
- IDC Report: Optimize IT and Business Gains This IDC Whitepaper outlines how CIOs can understand what the "total cost of data" is across their entire organization and how Delphix can...
- Planning for Mobile Success Many organizations are seeing clear and quantifiable benefits from the deployment of mobile technologies that provide access to data and applications any time,...
- The Business Value of Continuous Delivery Download this whitepaper to learn more about the business value of Continuous Delivery and see why it could be a game changer for...
- Coding with JRebel: Java Forever Changed With JRebel, developers get to see their code changes immediately, fine-tune their code with incremental changes, debug, explore and deploy their code with...
- What Does it Take to Deliver a Superior Customer Experience? The Two Top-Rated Online Retailers, B&H Photo and Crutchfield Electronics, Share Their Secrets Discuss practical CX tools and service methods such as contact center agents and the use of realtime speech analytics to help contact center...
- Keep Servers Up and Running and Attackers in the Dark An SSL/TLS handshake requires at least 10 times more processing power on a server than on the client. SSL renegotiation attacks can readily... All App Development White Papers | Webcasts