A conversation with an ex-student yesterday reminded me of a post I've been meaning to write for at least a few months. He's now a user experience designer, and believes that with a new generation of natural interfaces hitting the market (voice, tabletop, etc.), software developers will have to involve designers early and often, or suffer massive failure. My counter is that people who care about UXD said the same things when GUIs first hit the mass market in the 1980s and when the web exploded in the 1990s Both times, though, the bulk of the software industry carried on treating design as an afterthought or luxury, in part because of intertia, and in part because companies that didn't spend money on design seemed to do just as well in the market as those that did. (Remember the first few years of eBay and Hotmail? Brr...) If you're going to claim that "this time will be different!", you'd better have more than a wish-it-were-so argument to back it up. My ex-student accepts that software developers have been able to slack on design because of the different costs of physical and virtual change. If you want to change the shape of the arms on a pair of sunglasses you have to cast new dies and tweak the assembly line, both of which cost tens of thousands of dollars (at least). If you want to change the layout of a few menus, on the other hand, you can just rewrite a few lines of code, recompile, deploy the new JAR files, and hey presto, you're done. Yes, the real long-term cost of changes to software is much greater than that, but the difference in malleability is still so great as to be a difference of kind rather than degree. I think we're about to see a fundamental shift in the malleability of physical things, and that as a result, we're about to see the software design tail start to wag the physical manufacturing dog. 3D printing and mass customization are at the same point now that desktop printing was in 1985: hardware was temperamental, and still out of reach of casual home users, but had suddenly reached the point where you could get a laser printer and a Mac for about what your cousin was spending to buy a delivery van for her flower shop. I was there---in the summer of 1985, I was programming a first-generation Mac with a three-digit serial number, and showing my brother (an industrial design student at Carleton) how MacWrite and MacPaint could rock his world. I believe this is about to happen to a hundred different kinds of manufacturing: plastic children's toys, cutlery, sunglasses, door handles, and just about everything else made of plastic or aluminum alloy that's the size of your fist or smaller. What I think will happen then is a reversal of what designers working in the software industry have been calling for since the 1970s. Instead of software design becoming more like "real" engineering, we're about to see the latter become more like the former. If sunglasses are printed on demand in the store, and changing the design is as simple as uploading a new spec from the web into the printer, then people designing sunglasses will be under exactly the same pressure to "fix it today" that software designers have been dealing with since the advent of timesharing terminals. Five years from now, I predict that software designers who've been griping about never being given enough time or enough respect will be on the lecture circuit teaching their ID and IE counterparts how to be agile, live with chaos, and cope with design cycles measured in hours rather than months. Long story short, I think that anyone who's trying to get software firms to act as if they were designing for a 1950s-era assembly line is betting against history. I think that if you want to reshape design today, you should put your money on the barbarians on horseback with their funny-looking stirrups and their recurved bows, not at the orderly legions drilling in their tidy little camps. Whichever way it goes, there'll be a lot of noise and confusion---but that's just another way to say, a lot of opportunities for people who are willing to turn things upside down.