A 3D Printer in Every Home? Not Yet!
A 3D Printer in Every Home? Not Yet!
Investor Place recently published an article posing the question as to when we will see a tipping point for 3D printing becoming widely adopted (see http://www.investorplace.com/2012/03/is-3d-printing-approaching-its-inkjet-moment-hpq-caj/). With the advent of affordable 3D printers like Makerbot's Replicator, we are currently seeing a lot of technically proficient early adopters, but how long will it be before big companies start sending replacement parts to consumers as digital files to be printed out? In my opinion, we're still a ways off. As the article points out it's just a matter of time before the big players like HP and Epson get into the 3D printer game. Once the big guys embrace 3D printing, it's only a matter of time until all kinds of industries give up on selling physical items and embrace digital distribution of "physibles". Until then, the real barrier that affordable 3D printing currently faces is the usability of the software tools that integrate the desktop with the peripheral printer. Right now we're in a "Wild West" period of software tools that are in their infancy. Until freely available software becomes more usable to people like my mom, 3D printing will be restricted to tech savvy early adopters.
To understand what I mean, lets look at the the 3D printing process. 3D printing starts with a 3D model in the form of an STL file. These can be created in freely available programs like Google Sketch up, and then exported as STL (Note however that Sketch Up still requires a plugin to export the file as .STL). Users like my mom aren't about to start learning 3D modeling though. Fortunately, Makerbot created http://www.Thingiverse.com, a community site for sharing things to print. So, my mom could theoretically go there to browse items, select something that she'd like to print, then download a file to print out. But it's not as easy as just hitting print. To print a model, it first has to be "sliced", or tuned into a series of 2D drawings that will be stacked on the print bed. How thin the slices are determines the quality of a print, as well as how long it takes to print out. So the user has to load the STL file into printing software, maybe scale and position it on the print bed, select slicing settings. If there are lots of overhangs the print will require enabling supports that can be cut away after printing. Finally, we're ready to run a slicing command. It can take quite several minutes to slice a complex model. The final output of this is a G-code file. G-code is a text file of coordinate points in space ready to be sent to the printer. Now the printing can start! But we're years away from printing speeds that rival that of paper printers- a large or high quality 3D print can take more than half a day to produce!
Since so much of the current energy of 3D printing is tied up in the open source community, I've focussed my investigation on open source software tools. If we look at some of the main open source printing software interfaces, you'll see what I mean about this being geared to more technical users. Pronterface is widely used for Reprap printers. I installed it on my mac. Since there was no installer, it required me going into Terminal's command line, installing the latest build of Python, then installing several Python scripts and setting file permissions via the command line before it would even work! After all that, take a look at the interface and see if you know where to begin? This makes my eyes want to bleed!
Fortunately, the main printer software people seem to be using does have an actual installer! ReplicatorG is another open source slicing and printing software, but again I ask "Could my mom use this?". I'm not so sure. It's definitely a lot more usable than Pronterface, but lacks an easy to follow path for users. The great thing is that it's open source and is continually being refined by users in the community, including a software team at Makerbot.
One project I'd like to see folded into ReplicatorG is Pleasant 3D, another open source program that actually does a great job of previewing what the G-code for your print files will look like. The program's use of sliders and bright, friendly colors are non intimidating, user friendly and inviting. The cleanness of this interface is where 3D printing interfaces need to go.
Until 3D printing dialogues are vastly simplified I don't think we're going to see a 3D printer in every home. These interfaces desperately need a simple and clear call to action that communicates 3D printing's 3 step process: Load, Slice and Print. By all means the interface should also offer gear heads the ability to get in deep under the hood and mannually edit their G-code, but the goal should be a simple interface. For example, why not replace UI elements like form fields with simple sliders for print quality and print time? Until 3D printing embraces conventions of the familiar print dialogues we all know, it's not ready for the mass market. When 3D print dialogues are as simple as today's typical paper print diague, then we'll really start to see a 3D printer in every home!