The Rube Goldberg Complex
Note: This post has embedded videos that don’t show up in the Tumbler Dashboard for some unknown reason.
After wondering what I should write about this week (I haven’t had the time to take my own medicine) I was fortunate to see this great talk by Adam Sadowsky, which was part of the wonderful Ignite Series of talks. Sadowsky is the president of Syn Labs, which was asked by OK Go to build a Rube Goldberg machine for their next video.
As I was watching this, I immediately thought of software. If you’re unfamiliar with Rube Goldberg machines, Wikipedia describes them as “over engineered machines that performs a very simple task in a very complex fashion.” A lot of software is like this. Microsoft’s Office suite is probably the exemplar of this. Sadowsky’s team was commissioned to make their machine messy and complex; a lot of software ends up messy and complex.
Sadowsky mentioned three tips for creating Rube Goldberg Machines in his talk. Unsurprisingly, if you want to create messy and complex software, this is a great way to do it.
- Small stuff sucks.
- Put the reliable stuff last.
- Planning is very important.
So if these are the three tips for creating complex, messy software, can we take the inverse of these them and use them to create simple and elegant software?
- Small stuff is awesome. Simple and elegant software is all about the small things: small feature sets, small design/development teams and small timelines.
- Put the reliable stuff first. This one doesn’t translate directly but if you’re creating creating simple and elegant software, you need to focus on what works. This isn’t to say that you shouldn’t experiment and innovate to create the best possible user experience. Innovation is often needed to simplify, but innovation should be secondary to using existing, tried and true methods.
- Planning is not very important. As Jason Fried and David Heinemeier Hansson state in their new book, Rework, “Planning is guessing. There are just too many factors that are out of your hands.” When your creating software, you can’t plan more than about a week in advance, so just give up the guess work and just go for it.
I couldn’t post this article without including the final OK Go video, could I? It’s pretty spectacular.


![fuckyeahvisualdata:
twinleaves:
State of the Internet Explained In One Giant Infographic [PIC]
Wow](http://29.media.tumblr.com/tumblr_kxh8xobiHe1qz6di7o1_400.png)


