Friday, November 21, 2014

Making Things

Making Things

Kurt Schaefer is our Junkyard Mega-Wars star and a Staff Engineer who works on making our iOS apps amazing. Since working here, Kurt has learned both to code in Objective-C and how to mount an effective foosball defense (so key!). Kurt is an incredibly creative craftsman of the Maker-verse who sews amazing Halloween costumes from scratch, and loves building whimsical projects in his workshop while listening to Ella Fitzgerald. Read more about his projects at his blog, Retro Tech Journal, and check out his Polyvore set!
As an amature wood-worker, machinest, welder, and tinkerer, I'm constantly learning from my hobbies and applying what I learn in my role as a Software Engineer at Polyvore. I am passionate about making things. Here's some advice on making things both at home and professionally.

Why Make Things?

It turns out that it's fun to make things
From building a custom door knocker to launching home brew rockets with your kids, building things is fun. It gives you a sense of accomplishment. Physical things have a heft and permanence. They're very accessible.

You can express your style
You can make something unique and have it be just the way you want it to be, and in the process discover what it is you like.

Give a piece of yourself
When you make something for someone you put a bit of yourself into it and it shows. People can feel it.

Learning new skills is fun
As you build things you pick up skills and that in turn makes you feel comfortable taking on more complex projects. Tiny pebble projects can trigger an eventual avalanche of making.
It gives you X-Ray vision
It opens your eyes to things you didn't even know you weren't seeing. The more you learn about making things, the more you can understand how things are put together. My wife and I took a neon sign making class and now I'll never look at a neon sign the same way. I've never opened up a soda machine, but I have lots of decent guesses about micro controllers doing software switch debouncing, wiring harnesses, chassis grounding, and neon light ballasts and a host of other details going on under the hood.

How I make things

It starts with an idea
The idea is the fire that propels you through the project. You need an idea you are excited about.

Make a bunch of sketches
It’s good to work out all kinds of important details in your sketches. Think about them here when it’s easy not when you’re 3/4 of the way through and it’s too late.
Do scale drawings
Sketches don’t tell you the size, so remember to scale your drawings, including the type of material. Will your design fit on the wood you have?
Make paper prototypes
For the Totoro Bench, I wanted to make sure the height of the steps was reasonable. I took a guess at the size, blew the image up on a photocopier, and cut the parts out of cardboard. Prototypes make it easier to get a sense of what the final bench would be like without much work.

No really, paper prototypes
I can't overstress this one. Paper is wonderful to work with. It's cheap, light, and easy to tape. You can cut graceful curves and symmetrical things by folding and cutting. Need eight identical things? Just stack up some sheets and cut them out. I make paper patterns when designing in fabric. I even use paper prototypes for my paper projects!
Run through every step of the build in your head
Things you're having trouble imagining are areas you have to work on. Don’t know which glue to use? You'll have to do some research, maybe glue some test pieces. The more detailed you can be in your head, the smoother things will go in real life. People often ask me how I can do so much with only one night a week to work on things. The truth is I work on things all the time--in my head!

Make a running list
You’ve been running it through your head, now write down materials you’ll need, steps you’ll take, things you’ll need to research, parts you’re going to build, etc. List every step.
Break it up into one-evening pieces
Figure out something you can finish and finish it and cross it off on the list. The mounting pile of strike-throughs is important both motivationally and organizationally. You need to be able to distinguish things you did from things that you didn't do and forgot to put on the list.
Keep things organized
Losing parts is worse than never having made them. Tools you can't find or can't access are not tools you own. I like to use clear-sided project boxes to help keep project parts together. I use a lot of peg board to keep tools findable and handy. Don't underestimate the importance of this organization. Searching for things burns your limited time and does nothing.

What can go wrong?

"I’m so constrained"
Having less time can make you get more done. If you say, “You have unlimited time and unlimited budget, and you can build anything you want!” How do you even start? If instead you say, “You have 15 minutes to make a giraffe from cardboard and hot glue,” you can start right away. The wheels in your head have traction right out of the gate. 15 minutes later you’re done! Constraints are really great for forcing you to commit and make decisions.
"I start projects but I never finish them"
You don't have a motivation problem. You may have a definition problem. It’s fun to finish things. Finish early, finish often. I try to finish something every week. I don't give myself time for second-guessing and over-analyzing. It limits the scope of what I have to keep in my head. Maybe I only finished the knob for my Labyrinth game, but, hey, it’s done. I don’t have to focus on that part any more. I can check it off my list.
"I started a big project, made a small amount of progress, and then it died"
Start with small projects; that giraffe was easy to finish, and it felt good. As you get more things under your belt, you can start bigger projects that are built up from a few smaller pieces. That way you get little bumps of “I finished this!” goodness as you go along. Don’t worry about the big project. You leave yourself a trail of treats that hopefully leads you to the final result you want. Even if it doesn’t, you got some treats along the way and had a fun trip.
Build toward interesting levels of functionality. They are big motivators, and if your interest in the overall project is waning, they can act as an escape hatch where you can put the project away and still call it a success. 10 years ago, I built a can-punching robot for making luminaries out of cans. I built the punch, the computer controls and cobbled together a very rickety plywood frame to hold all the parts and a cheesy can holder that you had to tape the can to.

I punched some cans! Sure, I would have liked to make a better can-holding system, add an automatic punching mechanism, maybe install a turret head for punching multiple hole sizes. When I think of that project I don’t think, “Argh, I should really finish that thing. *sigh*” I think, “That was a successful and fun project. Maybe at some point I could take it to the next level!” Reaching that level of functionality turned the memories of that project from a liability into an asset.
"I was worried I would destroy it, so I couldn’t keep going"
Fear of taking action can paralyze you and that kills the creative process. Guess what? When you are building things, you’re going to destroy some stuff. Wood will be cut wrong, circuits are going to burn out, you’ll lose the the Ziploc bag with the dozens of tiny brass parts you made. You have to budget for it both monetarily and mentally. Buy extra screws, cut extra parts, or save some pieces so you can make another if need be.
Celebrate the screw-ups! Once a year at the West Valley Live Steam association, we’d have an “Oops Night!” where people would bring in the biggest screw-ups from the previous year and tell the story of how it went wrong. It was fun. It was educational. At least when you really screw up you also think, “Wow I’ll have to bring this to Oops Night!”

This brass tube cutting jig worked great for the first three cuts. Then the tubing got hot enough to melt the acrylic and a new "Oops Night" candidate was born. Thankfully I only lost one night.
Test pieces, prototypes, and cheap test versions of things can protect you. Keep the costs of the failures down. Practice on some pine before you try it with your mahogany. Use some safety nets, but ultimately let yourself move forward.

What does this have to do with software?

After I gave this talk at work, a lot of my coworkers mentioned that many of these ideas apply to making software. "Finish early, finish often" is a bit like organizing things into Scrum Sprints. Instead of a running list, we have Jira to keep track of tasks. We do design sketches and prototypes.
Making software is a subcategory of making. Sure, software has a wonderful level of reusability and modular structure that many physical projects can't match, but as I've made more use of flexible manufacturing (laser cutting/3D printing/CNC Machining/PCB Manufacturing/etc.), the the ability to reuse parts of previous projects begins to make physical reuse a reality. I designed an illustrator plugin that lets you draw involute gear profiles and have used those gears in a number of projects. Now I can include gears in a project without giving it a second thought.

I hope you’ve learned a few useful tips and tricks about making things in the real world. Whether you’re a beginner or a pro, with a few simple steps it’s easy to bring your ideas to life.