I’ve been following the concept of “social product development” for awhile now. Seems different people have widely varying definitions of what the term comprises.

One company that’s become high-profile in this space is Quirky, a developer of consumer products. Quirky’s development process begins with crowd-sourced ideas, which are voted on by a jury of community members, then developed by an in-house team (again, with input from community members.)

Quirky gives amateur “inventors” a way to see their ideas become real, and potentially earn money from the result. The company has a fast product development process (days, not months), and has captured the imagination of many people—including producers at the Sundance Channel, who are producing a documentary series on the company.

Quirky’s take on social product development is intriguing, in that it rewards community participation. Influencers—people who contribute to the development process—are paid from a royalty pool generated from sales of products (which are available on the Quirky website, as well as through retailers such as Bed Bath and Beyond.) Top influencers have earned literally tens of thousands of dollars.

Consider Jake Zien, for example. While Jake has contributed to 11 projects, his greatest influence was on the design of an innovative power strip. Mostly from this idea, he has earned $33,395.62 from Quirky. Not bad.

I wish I could be more enthusiastic about Quirky.

Most of Quirky’s products are banal exercises in industrial design. Lots of kitchen and bathroom gadgets. Very few products that require any serious engineering.

As much as I like Quirky’s social model, I’m just not impressed with its actual product development process. Certainly the community has the opportunity to influence product development (by submitting and/or voting on concepts, features and ideas), but they aren’t actually brought into the heart of the design or engineering processes.

In any serious product development process, hundreds of decisions must be made, with thoughtful rationale for each. Consider Jake’s power strip: How many questions can you come up with that would be important in its design process? I can think of a bunch off the top of my head: fault current, contact tension, wiping patterns, dielectric constant of the plastic, and many more. Then there are CAD, CAE, and CAM related issues.

As a practical matter, it probably makes sense for Quirky to handle serious product development issues internally. I can’t see many community members getting enthusiastic about progressive die design or mold flow analysis.

Yet, I can’t help but think: There are people out in the community who have tremendous domain knowledge. Why not design a social product development process that can capture and use all the expertise you need for a project, no matter where that expertise may be found?

Why not think much bigger?

Imagine that you were unemployed, and wanted to learn how to use a new Mechanical CAD program. What would you do?

The first challenge would be to get your hands on the software. In some cases, that’d be easy. In other cases, not so easy.

Autodesk makes over 30 of their products available for free through the Autodesk Assistance Program website.

PTC makes a free version of Creo Elements/Direct Modeling Express available to anyone who wants it. The software has some limits (I’m particularly irritated by the lack of a shell function), but it is a decent program for learning Creo Elements/Direct (aka CoCreate.)

SolidWorks used to offer free software through their Engineering Stimulus Package website. No more. Their website says “Having achieved the goal of helping retrain the unemployed workforce, this program has officially ended.” (I’m certainly glad they achieved that goal.)

There are not too many programs tailored to get CAD software in the hands of unemployed engineers. Unless you happen to be a student:

The requirements to get student versions of software vary. I some cases, you need to provide a copy of a student ID. In other cases, you need to show proof of enrollment. In other cases (such as with Autodesk) you need to have a .edu email account. Beyond this, the software availability varies country by country.  And, as you might imagine, the software is not licensed for commercial use.  Only for personal learning.

In the United States, it seems that, in most cases, enrolling to take a single course at a local community college might be enough to make you eligible to get student software.

I’d like to argue that the bar should be even lower to get access to student versions of MCAD software, but vendors might find quibbling over $100 or $150 is a bit precious.  And it is–unless you’re unemployed, and don’t have that kind of money to spare.

Because I’m not a student, and haven’t tried to get these programs, I can’t say how the verification requirements are enforced. (If you have some experience with student MCAD software, though, I’d be interested in hearing about it.)

Ultimately, the important question I have for CAD vendors is this: Why make it harder than necessary for people to learn to use your software?

 

Last Friday, Prostep iViP held a webinar on long-term archiving (LTA). It was worth being up at 4:00 AM to listen in.

While the presenter, Andreas Trautheim, covered quite a bit of information in less than an hour, the thing that especially caught my attention was the part where he described why long-term archiving is important.

Back in 2006, the US Federal Rules of Civil Procedure were changed to require “eDiscovery.” That is, in the event your company ends up in litigation, it will be required to provide the opposing party with electronically stored information—including, potentially, CAD files. Other jurisdictions, including the European Community, have similar evidentiary rules.

While time periods vary depending on jurisdiction, you can generally count on a statute of repose lasting about 10 years after a product has been sold or put into service. Producer liability is typically much longer (Trautheim cited a 30 year period in his presentation.) Your company must maintain its CAD files, in readable condition, for at least those periods.

The following, from VDA4958-1, speaks to archiving formats:

There are no special archiving formats proscribed by law. However, storing documents in proprietary data formats for periods of 12 years and longer could prove to be exteremely difficult technically and/or cost intensive. Any loss of data, among other things, could be interpreted in a way detrimental to the manufacturer. To ensure LTA capability, the archiving of proprietary data formats and/or binary data should therefore be avoided.

Both VDA4958 and LOTAR are standards-based initiatives addressing long-term archiving. (You can find a good presentation on them here.)

A number of years ago, it occurred to me that if anything would ultimately drive the support of interoperable CAD data formats (which is essentially what archiving formats are), it would be legal requirements. It appears that’s what’s happening.

The important question is this: Is LTA something you need to pay attention to now, or can you afford to wait?

Here are the reasons Trautheim thinks the answer is “now”:

  • It reduces the risks of legal demands, potentially saving a lot of money, as well as your good reputation.
  • You get synergy effects of LTA and drawing-less processes.
  • You spend process time and resources in design, communication of engineering (3D/2D/LDM) data and collaboration with your customers/OEM’s and partners.
  • You get documentation that is independent of native CAD/PDM systems/releases over years, without migrations.
  • It makes you innovative, and puts you out in front of your competitors.

Suppose you were to take everyone in the engineering department of your company, and line them up based on CAD proficiency. You might end up with something like this:

A few experts, a good number of average users, a bunch of beginners, and a whole lot of people who simply can’t use CAD at all.

Next, suppose you were able to make CAD easier for “normal” people to use, lowering the threshold of entry.  Here’s a guess about how your line-up might change:

It probably doesn’t look like much of a change. Here’s a version that shows what the change is:

It probably still doesn’t look like much of a change. Except for one thing: The people who went from being non-users and beginners to being average CAD users are most likely domain experts.

CAD is a force multiplier.  Give it to a person who has no domain knowledge and it multiples nothing.  Give it to a domain expert, and the result can be powerful.

I’ll admit the scenario I’m painting here is simplistic.  Individual and enterprise productivity with CAD is not a simple subject, and the research in the field is sparse and dated.  But feel free to throw away my scenario, and paint your own.

How do you think lowering the barrier to entry on CAD could affect your company?

 

 

Over the last week or so, I’ve talked about cognitive load, and how it affects CAD usability. It’s time to talk more about how user interface plays into this.

A few years ago, researchers from Yonsei University, Georgia Institute of Technology, and National Cheng Kung University (Ghang Lee, Charles M. Eastman, Tarang Taunk, and Chun-Heng Ho) published a research study titled Usability principles and best practices for the user interface design of complex 3D architectural design and engineering tools, in the International Journal of Human-Computer Studies.

The reason they undertook the research study was that there was plenty of research on user interface design for generic desktop and web applications, but none for complex 3D parametric architectural design and engineering software.

Here is a summary of the user interface principles recommended by the authors:

Principles for general system design

  • Consistency: Uniformity of system semantics across similar situations.
  • Visibility: Making relevant information conspicuous and easily detectable to the user.
  • Feedback: Response of the system to the user’s actions in order to provide information regarding the internal state of the system.
  • Recoverability: Providing the user with options to recognize and recover from errors.

Principles specific to 3D parametric design

  • Maximization of Workspace: Providing maximum screen space for carrying out the primary functions of the CAD system.
  • Graphical Richness: Replacing textual information with graphical information like imagery or animation to enhance user comprehension where appropriate.
  • Direct Manipulation: Providing interaction that is perceived by the user as directly operating on an object or entity within the system.

Principles for user support

  • Familiarity: Leveraging user’s knowledge and experience in other real-world or computer-based domains when interacting with a new system.
  • Customizability: Support to explicitly modify the interface or operability of the system based on the user’s preference.
  • Assistance: Providing support to the user both explicitly, by tutoring, and implicitly, by prompting the user in the right direction.
  • Minimalist design: Keeping the design simple and minimizing redundancy of information when it threatens to be the cause of confusion to the user.
  • Context recognition: Automatic adjustment of the interface or operability of the system based on user mode and, system context.

Here’s a significant comment from the study’s summary:

Complex 3D design and engineering systems are usually composed of several hundred menu items. If options for each menu item are considered, the combination of possible operations grows exponentially. Since this number exceeds the cognitive load that a person can handle, an efficient and user-friendly UI is critical to the users of these systems.

Cognitive Load. Just like I’ve been talking about for the last week or so of posts here.

If you’re interested in CAD user interface issues, you should read the study from the link above. It’s well worth the time.

 

Archimedes PalimpsestHow long is “Long-term?” Over 2,000 years, in the case of Archimedes’ The Method. This palimpsest is the only known copy of it–and it was almost lost. The story of its discovery and conservation reads like it was made for the movie theater. You can read about it here.

The need for long-term archival storage of CAD data varies, depending on its use.  For the Long Now clock, it might be 10,000 years.  For a nuclear waste repository, it could be far more than 10,000 years.  Being realistic, for many consumer products, CAD data that’s more than a couple of years old isn’t of much use anymore. For Automotive companies, product lifecycles are longer, but still not interminable. For aerospace and defense products, lifecycles can stretch on for many decades. Consider the joke among US Air Force pilots: “it isn’t your father’s Air Force, but it is your father’s plane.” (If it’s a B-56, it might even be your grandfather’s plane.)

How can 3D CAD data, with product lifecycles of sometimes more than 30 years, be reliably documented, communicated, stored and retrieved? And how can users access that data, when the CAD systems that generated it have long been obsolete?

The answer is LOTAR.

LOTAR International is developing standards for long-term archiving of 3D CAD and PDM data. These standards will define auditable archiving and retrieval processes, and are harmonized with the German Association of the Automotive Industry (VDA), and the Open Archival Information System (OAIS) Reference Model. The LOTAR International project is conducted by leading OEMs and suppliers in the aerospace and defense industry under the joint auspices of ASD-STAN, AIA, PDES Inc. and the ProSTEP iViP Association. (A shout out to Bob Bean, of Kubotek USA, who was the first person to tell me about LOTAR.)

This Friday, September 30th, 2011 at 2p.m. (CET – Central European Time), ProStep iViP is hosting a 45 minute webinar on LOTAR. And, unusually for this sort of thing, its available to the public. (Most of their webinars are for members only.) I’ve asked for, and received, permission from ProStep iViP to tell others about the webinar, so that’s what I’m doing right here.

If having long-term access to your CAD data might be important to you at some point in time, consider listening in on this webinar. To register, send an email to nora.tazir@prostep.org. Participation is free of charge and you will receive access information back via email. (Don’t wait too long — I suspect that Nora has to manually respond to all the emails.)

“Entities must not be multiplied beyond necessity.”
- William of Ockham
“Whenever possible, substitute constructions out of known entities for inferences to unknown entities.”
- Bertrand Russell

CAD is a complex cognitive skill, comprising a large set of interrelated constituent skills with different characteristics and different learning processes underlying their acquisition.

One of the the most effective ways of making CAD more usable is to reduce the number of constituent skills which it comprises.

I’ve never seen any even reasonably complete listing of the constituent skills required for CAD. It might be interesting to try and put together such a list, but, for the moment, let’s look at just one of the important constitutuent skills:

Knowing how to deconstruct models, assemblies and drawings in order to modify them.

This is not a trivial skill. Even when working with 2D AutoCAD drawings, it can be a challenge to make changes without knowing ahead of time how the drawings are structured. When it comes to history-based 3D (what we’ve commonly, if not a little dismissively, come to call parametric feature-based solid modeling), the problem sometimes becomes intractable.

Not a Sphere

Bet you can't edit this. (See end of article.)

There is plenty of research showing that editing history-based models is a big problem for CAD users. This is primarily because the task requires not just the skill of deconstructing model geometry (e.g.,figuring out how the geometry should be changed), but also the skill of deconstructing the history of how that geometry was originally created.

The history trees of typical models can have from dozens to hundreds of entries. In order to effectively edit one of these models, you need to dig through all (or many) of these entries, to find their dependencies—which are often unobvious. The process is no easier than trying to read through the source code of a complex computer program, to figure out how it works.

The challenge is to find a way of modifying CAD models without needing to deconstruct their history trees. Work on this has been ongoing in academia for about 20 years. In the commerical CAD industry it’s taken a bit longer to get right.

Direct (or explicit) modeling CAD systems have been around far longer than history-based systems. Ivan Sutherland’s 1963 Sketchpad was an incredibly intelligent CAD system (don’t miss watching this discussion of SketchPad by Alan Kay.), most commercial CAD systems developed from that time until the late 1980s were direct modeling systems, in which you directly edited the geometry of the model. Though Pro/E ushered in the era of history-based modeling (or, rather parametric feature-based solid modeling), it did not kill the direct-modeling business. Direct modeling CAD programs such as CADKEY, Autodesk Mechanical Desktop, ME/30 (from HP and then CoCreate) and many others continued selling in significant, if not dwindling, quantities.

IronCAD and CoCreate started to introduce intelligent editing capabilities to their direct modeling CAD programs in the mid to late 1980s, but it wasn’t until a few years ago that the game really changed, with a number of CAD programs adding feature-inference on top of direct modeling.

These products, from companies such as Siemens PLM, SpaceClaim, Kubotek USA, PTC and IronCAD are now commonly called “direct modeling” CAD programs. (I’ve pointed out that direct modeling has been around since the mid-1960s far too many times in the past, so I’ll just go with the flow for now, and use the same term everyone else does.)

What makes today’s direct-modeling CAD programs significant is their usability. With one of these programs, a CAD user doesn’t need to learn the skill of deconstructing model history to be both effective and efficient.

I’ve seen a lot of discussion about whether direct modeling or history-based modeling is “better.” That’s not a discussion I really want to get into yet. It’s reasonable to mention that major aerospace and automotive companies use direct modeling software for growing number of applications. PTC, which sells both direct and history-based tools, has major customers using both types on different product development programs, apparently with great success.

What’s really interesting to me is the potential of comparing the effectiveness and efficiency direct modeling versus history-based tools. While there’s a lot of anecdotal information about this floating around, to my knowledge, there are no carefully constructed research studies available.

If you dig into Google Scholar to look for academic articles on learning CAD, you’ll find one name comes up more than any other:  Professor Ramsey F. Hamade, of the American University of Beirut.  Dr. Hamade’s research on CAD learning is published in a number of academic and technical journals, is cited by nearly all researchers in the field, and makes for really interesting reading.

I exchanged email with Dr. Hamade recently. Here’s what he had to say on the subject:

[Direct modeling] comes across as more natural and less restrictive. Therefore, I would tend to think that such modeling should be faster and less complex perhaps resulting in shifting the learning components, both declarative and procedural to faster and ‘simpler’, respectively. Unfortunately, I have not had the opportunity to perform experiments on Creo (or the like) in order to evaluate whether these ‘logical’ expectations will hold water. I teach the CAD course (where I collect data) in the Spring so it may be a while before we can make a determination.

Dr. Hamade’s research to date supports the notion that CAD is a complex cognitive skill, and points to significant differences in usability between different systems. It’ll be interesting to see what he finds when he gets a chance to formally compare the learning processes for direct modeling versus history-based modeling systems.


Note on the sphere image: It’s not a sphere. It’s a filleted cube. Here’s a challenge for you: Make a 3D model, with as many convoluted features as possible, that looks just like a sphere and has a class-A surface (G2, I think. G3 continuity wouldn’t apply to a fixed radius curve.)

Chui the draftsman
Could draw more perfect circles freehand
Than with a compass.
His fingers brought forth
Spontaneous forms from nowhere. His mind
Was meanwhile free and without concern
With what he was doing.
No application was needed
His mind was perfectly simple
And knew no obstacle.

-From The Way of Chuang Tzu, by Thomas Merton

What makes someone fast at using CAD?

I’d argue that it’s a combination of aptitudes (things such as fine motor skills, and good working memory), coupled with finely tuned rule automation and schema acquisition (I talked about these last week, in http://www.evanyares.com/cad-usability-sucks-part-3-its-not-cad-its-you/)

But, not to get too complicated, the things that make a CAD user fast are analogous to the things that make writers fast: They can type fast, and think fast.

In the case of CAD, typing fast is not so critical, but being fast at interacting with the system, by navigating around models, selecting objects, and entering commands and parameters is.

CAD systems vary greatly in how easy they make this human-computer interaction.  It’s a major factor in usability.

Last Friday, I said “possibly the most effective way of reducing extraneous cognitive load in CAD is by converting recurrent skills from controlled processes to automatic processes. Make the low-level tedious things simple enough to do that you don’t have to think about them, and you’re most of the way there.”

I was talking about human-computer interaction (or user interface, if you prefer.)

Rather than talking about how software developers can improve their user interfaces (a subject I’ll get to in another post), I’d like to talk about how users can improve them, by using a real-world example: Brett Graffin, the fastest AutoCAD user in the world.

I met Brett 25 years ago or so, when he was an AutoCAD user, and I was an AutoCAD dealer.  Even then, Brett was incredibly fast.  He was already a two-time national drafting champion.  But he was always trying to figure out how to be more effective and efficient.

One of the common tricks of the day, with AutoCAD, was to program keyboard macros for the most common commands.  ”L” for line, “C” for circle, and so on.  Brett extended this concept in an interesting way.  He analyzed how he used AutoCAD and refined his use of commands down to a core set with which he could accomplish any drafting task he needed. He then mapped those commands to a set of 2-digit macros, which could be entered in via keypad. Of course, he memorized all the 2-digit macros, which was actually quite a bit easier than memorizing normal CAD command sequences. Eventually, he developed muscle memory, so he didn’t even need to think about what the macro number was.

But that wasn’t quite good enough for him—because the requirement to hit the enter key on the keypad cost him an extra keystroke for each command, and slowed him down. So, he got ahold of some standalone numeric keypads (the original ones he had were for old Apple Macintosh computers), and modified them so that they’d feed the 2-digit macros to the computer without the need to hit the enter key. The standalone keypad also let him mouse with his right hand, and keypad with his left hand.

The result of Brett’s keypad hack was electrifying. Watching him (and the drafters who worked for him) tear through work could make an observer a little queasy. (He’s refined his keypad over the years. You can check it out at www.launchpadoffice.com.)

Brett never claimed to be the fastest AutoCAD drafter in the world, but I suspect that, at the time, he was.  And even today, he’s probably faster than you, or anyone you know. His experience, over 20 years, is that aggressive users of his keypad (called a Launchpad) are around 300% faster than normal.

My goal isn’t to try and sell Launchpads for Brett, but to point out that sometimes seemingly simple changes in interface can make a big difference in the usability (particularly the efficiency, or speed) of a CAD package.

In the case of the Launchpad, the improvements come from two areas:

  • Converting controlled cognitive processes (things you have to think about, such as finding and selecting commands) to automatic cognitive processes (things you don’t have to think about.)
  • Reducing “split attention,” where you have to shift focus to different parts of the screen (for command entry.)

I think it’s worthwhile for CAD developers to think more about how user interfaces can be improved, to support these concepts.  Pretty icons and menus are great, but fast interfaces that don’t get in the way of productivity are what serious users really need.

It also makes sense for users to take a look at how they’re interacting with their software. Minimally, it’s wise to optimize the use of existing user interfaces, through the use of hot-keys and macros, and thoughtful configuration of tool palettes and other menu objects. But, beyond this, there are relatively low-cost options, such as the Space Navigator that help streamline the recurrent processes of using CAD.

Fix CAD UsabilityThis week, I’ve been writing about CAD usability, and particularly about its human side.

If you want to make CAD more usable, it’s better to try and understand how the mind works first, then tune the software based on that understanding.

Here are some of the things I’ve discussed over the last few days:

  • Individual users have a single, limited cognitive resource (working memory.)
  • This resource is used to process intrinsic, germane, and extraneous cognitive load.
  • If working memory is used for processing extraneous cognitive load, it’s not available for intrinsic or germane cognitive load.
  • Individuals systematically differ in their processing capacity.
  • Using CAD is a complex cognitive skill, comprising a large set of interrelated constituent skills with different characteristics and different learning processes underlying their acquisition.
  • The constituent skills that make up a complex cognitive skill may be classified as rule-based (recurrent skills), or schema-based (non-recurrent skills.)
  • Constituent skills may be performed as automatic processes, which primarily occur with little or no attention required, or as controlled processes, which primarily require focused attention, and are easily overloaded and prone to errors.

It’s a lot to take in, but here’s the most important part:

The secret to improving CAD usability is to reduce extraneous cognitive load.

Possibly the most effective way of reducing extraneous cognitive load in CAD is by converting recurrent skills from controlled processes to automatic processes. Make the low-level tedious things simple enough to do that you don’t have to think about them, and you’re most of the way there.

The next most effective way of reducing extraneous cognitive load in CAD is to reduce the number of constituent skills which it comprises.

Do these two things, and you’ve gone a long way towards making CAD more usable, not just for experts, but for average people too.

On Monday, I’ll explore the concept of converting controlled processes to automatic processes. I’ll also tell you the story of a man who figured out how to do this, and who, as a result, became the fastest AutoCAD drafter in the world.

On Tuesday, I’ll explore the concept of reducing constituent skills, and give you examples of where it is revolutionizing the CAD industry.

3D ElephantO how they cling and wrangle, some who claim
For preacher and monk the honored name!
For, quarreling, each to his view they cling.
Such folk see only one side of a thing.

 

For the last couple of weeks, I’ve written mostly about general themes affecting users of engineering software. Interoperability and usability are common (and related) themes I’m interested in—because they touch so many users, and are so important.

Today, I’d like to be a bit more specific, and talk about the Third Boeing/Northrop Grumman Global Product Data Interoperability Summit, which will be held this November 7-10, in Arizona.

Ken Tashiro of Elysium writes about the summit, and the need for it, in this month’s Aerospace Manufacturing and Design, in an article titled Interoperability is Still the 3D Elephant in the Room. (Please do click on the link, and read the article.)

The bottom line is that data interoperability is still a big problem, not just in aerospace, but in nearly any industry that uses CAD, CAM, CAE, or PLM software.

Ken makes a strong case for the summit, saying “In our rapidly evolving world, data interoperability is too important to be left to the vendor community. It is everyone’s problem and we all need to be part of the solution.”

Boeing and Northrop Grumman also make a strong case for the summit, because they’ve insisted that it be open and agnostic—an opportunity to share ideas and solutions about data interoperability challenges.

Still, open and agnostic doesn’t mean “free for all.” It’s an invitation-only conference, where you must be “sponsored” by someone from Boeing or Northrop Grumman. But I think, if you’re serious about interoperability, it’s worth the effort to find a sponsor. You can find out more information here.