That’s an attention getter, isn’t it? It’s also a blatant rip-off of the title of a four-part series of blog posts by Evan Yares. As he wrote, any title other than CAD Usability Sucks wouldn’t have sounded as good on Twitter.
At Pointwise, we’re coming to the end of an eight-year, 63,000-man-hour marathon to improve the usability of our mesh generation software – the development of our Pointwise product. Therefore, you probably can appreciate why the issues Evan blogged about are very close to my heart. He wrote about CAD, but the issues virtually are identical for meshing.
In Part 1, Evan summarizes the current state of affairs thusly: “The problem now is that people have to be too smart to use [CAD applications] effectively.” He cites a history of CAD software developers focusing on improving their core capabilities while letting other stuff (including usability) fall by the wayside. This, quite frankly, is the story of our Gridgen software. Initiated in 1984, the custom GUI and workflow were defined and created before Windows and Motif – and we pretty much left them that way. (The buttons and other GUI elements were all drawn in OpenGL. But it worked.) Over the decades, we continue to expand the software’s meshing, geometry modeling, compatibility, and portability but the GUI remained the same.
Geoffrey Moore makes a good business case for focusing heavily on your core. At the Business of Software Conference in 2009, he advised that focusing on your core makes sense because that’s how you differentiate from your competition. The other parts, called context, just require you to be “good enough.” Unfortunately, ignoring your context for too long catches up to you. Gridgen had become the proverbial 10 pounds in a five-pound box and its GUI was the single largest contributor to requests in our requirements database.
In Part 2, Evan presents the idea of Cognitive Load and what that means to a CAD or meshing user. Without delving too deeply into the theory, the implications for software are as follows. Knowing how to use a particular software product (understanding its workflow, how to operate the UI, etc.) imposes such a burden on top of an already complex task (designing or meshing in 3D) that it leaves little room in the user’s mind for accomplishing their true goal (creating a specific 3D model or mesh). Again, that is exactly the state we had reached with Gridgen. Its one-of-a-kind UI presented a learning issue for new users and a re-learning issue for infrequent users. The GUI’s nested menus hid a lot of the functionality that took experience to find and master.
Let’s be clear about something else, too. Gridgen is very usable and the proof of that is the large user base and the software’s longevity. It’s easy for me to point out its flaws but that’s borne out of my 24-year intimacy with it. But we knew we could make it better and customers wanted us to do so.
Part 3 is subtitled “It’s not CAD, it’s you.” The point Evan makes here is that CAD is a complex skill to master and although we can’t make it easy, we can strive to make easier. Or as I like to say, just because something is complex doesn’t mean it also has to be complicated. Evan presents a lot of background in this post about skills and learning. The bottom line is that recurrent skills (things you do over and over in the software that require little thought) need to be automated as much as possible. Non-recurrent skills, those you’re faced with when doing a complex task for the first time, need to be implemented in a way that matches the user’s mental model of how the task is to be accomplished. Evan’s thoughts here parallelled ours as we set out to implement Gridgen’s technology in the new Pointwise framework. We wanted to automate as much as possible and flatten the GUI so that the breadth of functionality was much more visible and accessible.
One of the resources that guided our development of Pointwise was Alan Cooper and Robert Reimann’s bestseller About Face 2.0: The Essentials of Interaction Design. Cooper devotes an entire chapter to the removal of “excise,” the extra work for the user that detracts from their true goal. Cooper also provides very clear goals on how to design the software for users of varying expertise levels:
- Rapidly and painlessly get beginners into intermediacy. No one wants to be treated like a beginner forever.
- Avoid putting obstacles in the way of intermediates who want to become experts.
- Keep perpetual intermediates happy.
Evan’s fourth part is “The Secret to Fixing It.” He actually had given away the secret in the previous parts. “The secret to improving CAD usability is to reduce extraneous cognitive load.” Note that it’s the extraneous cognitive load – you’re not going to be able to do away with thinking. Extraneous load consists of all the little things you have to remember to do in the software even before you start using it to make your mesh, Cooper’s “excise.”
I highly recommend that you follow Evan’s blog. He’s written some follow-up posts that extend this four-part usability series and in general he’s been on a roll with some great posts.
As for our CFD meshing software, if you want to see the end results of our eight-year marathon, come to the Pointwise User Group Meeting 2011 in Fort Worth on 8-9 November, where we’ll be showing off Pointwise Version 17 (including a bunch of new features and capabilities – it’s more than just the UI), hearing from a globe-spanning group of customers on their meshing applications, and looking ahead to what lies in the future of meshing.