18 September 2011 by Published in: rants, theoretical No comments yet

It’s hard to remember now, but there was a time before software. If you wanted to do your taxes, you would ask your accountant; if you wanted to know how many people lived in Austin you would ask your librarian; if you wanted to back up your business records you got a photocopier and some offsite storage.

Today, we use software to do all of these things. But most of all, we use software to automate.  Things that used to be hard work: sums, formulas, searching, data visualization, research, carrying letters, are now nearly effortless.

You used to have to know assembly to accomplish anything with these newfound computing machines.  Then you only had to know C.  Now you can write commercial software by clicking around in Microsoft Excel.  You used to have to pay a programmer to write things for you, now 99% of what you need is on SourceForge or some App Store.

It’s difficult for anyone who didn’t live through it to imagine the true impact of the software revolution.  It would be even more difficult to imagine its implications before it happened.  But I’m going to try anyway.

The coming machine revolution

For a long time, I thought about self-replicating prototyping machines like RepRap as basically the equivalent of what computer scientists call a quine.   That is, as a very interesting, but basically useless machine, that perhaps could lead to some deep insights about manufacturing down the road.  I was wrong.

Rapid prototyping machines like the RepRap are really the compilers of the hardware world.  They take the raw design and turn it into the metal-and-PVC-machine in the same way that llvm turns your high level C code into an executable.  It’s difficult to imagine, but there once was a time when software was “compiled” by hand, by a programmer, to the target machine code.  Hardware is still like that–hardware designers are working with basic, rudimentary tools, each operating on tiny pieces, not a single, general-purpose tool that can construct any design.  Mass availability of these “rapid prototyping” and “rapid manufacturing” tools will make arbitrary machines two orders of magnitude cheaper to design and build.  You can go from a rate of trying one prototype a week to trying ten prototypes a day.  If you’re a software developer, how many times did you build the codebase today?  Machine design is light years behind that kind of agility, but it will catch up quickly.

The “replication” part of the rapid prototyping tools is less like a quine and much more analogous to e.g. LLVM self-hosting, that is, compiling itself.  It’s not the goal of building the replicator, it’s simply a demonstration of the replicator’s general applicability, of its Turing-completeness.  It’s a milestone in its maturity.

What will happen is manufacturing of arbitrary machines will become commoditized.  Like the famed Homebrew Computer Club, enthusiasts will meet to show off their creations–lawn mowing machines, autonomous vehicles, grocery-shopping machines, and more.  Not everything, of course–you won’t be fabbing 90nm chips in your basement.  But those are generic parts, easily available:  all the particular parts, you can fab.  With several years of training, you will be able to design machines the same way programmers of the 80s designed graphing and spreadsheet software.  An enterprising hacker, when faced with the chore of mopping the floor, will design a robot to do it instead, and thereby automate the task forever, the same way an enterprising hacker today automates filling out his timesheets or doing his taxes.

Of course, some hilarious bugs will be filed.  Instead of mopping the floor, you may end up mopping the ceiling.  Instead of buying 2 bags of rice from the grocery store, you might buy 200 bags of white flour.  The XKCD comics will be epic.

Tragically, many non-hilarious bugs will be filed as well.  People will die as a result of badly-developed autonomous vehicles, for instance.  Bugs in machines are more dangerous than bugs in a WordPress blog.  While this is no laughing matter, it is comforting that future generations will have a greater, not a lesser, need for well-written, bug-free software.  The programmers will still be happily employed.

At some point, the Richard Stallmans of the machine revolution will stand up and demand that we start open-sourcing designs and sharing everything.  A great big SourceForge will be set up to host everyone’s little pet lawnmower project, and an enterprising group of hackers will band together to make sure that there are open-source replicators and various other components in the toolchain to keep the barrier of entry low.

At some point, the replicators will get more and more sophisticated and be able to work with better and better materials.  Like the progression from vinyl to casette to CD, replications will get better and better.  Then suddenly, some September, the replications will be so good that Apple’s stock price will plummet as millions of college students replicate MacBooks in their dorm rooms instead of ponying up the Apple Tax.

Remember the RIAA’s hilariously ironic “you wouldn’t steal a car“?  We will actually get to put that to the test.  My money says that you would replicate the car.  If so, it spells trouble for the large engineering organizations, product manufacturers, and marketers that make up America’s corporate culture.  It may be the end of corporations as we think of them today.  And if we ever eliminate software patents, we will be in real trouble, because in a world where hardware is just a button-click away, eliminating software patents is the same as eliminating all patents.

Of course, none of this spells trouble for the actual engineers or designers, who can go on designing cool things without the troublesome meddling of legal, manufacturing, accounting, management, and all the other “cost center” departments.  95% of what you will need to design, manufacture, and sell cool machines is an internet connection, a computer, and a replicator.  You’ll have smaller, nimbler design shops and a few big giants the same way the software industry is shaping up to be a lot of small shops, plus Google and Microsoft.

But the big win of the machine revolution isn’t for the people who play a major role in it:  It’s for everyone else.  Lots of people will become “unemployed”, but not in the sense we think of today.  Two hundred years ago, the “unemployed”, those who could not put food on the table, died.  Today they are merely on welfare, a social eyesore.  Tomorrow the unemployed will have a lifestyle like the richest Americans today–with nearly every task, chore, and job automated, there will simply not be that much to do–or indeed, that even needs doing.  You can sit in a machine-built house, in your machine-built chair, eating machine-grown and machine-cooked food for fractions of pennies a day.  The organic people will probably be up-in-arms, but we will finally end world hunger.

This is why people are getting all excited about Upverter, why YCombinator funds ridiculous startups like Anybots, and why engineers get all teary-eyed over replicating machines.  It’s not some esoteric quine thing that only the hardware boys understand.  It’s about making robots orders of magnitude cheaper to build.  It’s about creating the tools to make it feasible to automate your lawn mowing.  It’s about freeing grandma from having to go to the grocery store.  It’s about ending world hunger.  The hardware Silicon Valley moment is coming.  And it will put the software one to shame.

Want me to build your app / consult for your company / speak at your event? Good news! I'm an iOS developer for hire.

Like this post? Contribute to the coffee fund so I can write more like it.


Comments are closed.

Powered by WordPress