As it says elsewhere on this site, I’ve been a front end web developer for a long time. I’ve had the opportunity to learn many development tools as they emerge and become valuable to attain a certain outcome. I enjoy the challenge and the brain-stretching that comes along with each new tool and its paradigm.
But for me, a tool is something for solving a problem. I can learn to work a tool, but I’m more interested in the problem.
I got to thinking about this, and about my love for a good metaphor, as I explored my options for replacing a speaker cabinet in my bass guitar amplifier rig.
The problem: My speaker cabinet is big and heavy. I want a pair of much smaller, lighter speakers. There are different solutions to the sound/weight/size problem available on the market, but I am unsatisfied with them.
The solution: Design and build my own, for the first time ever. I found the speaker drivers I want, I found a tool that will calculate a suitable box volume based on those drivers, and I found tool that will calculate proportions of the box to reduce standing waves in that box. I used a pencil, calculator, and graph paper to plot a cut sheet to get everything out of one sheet of plywood.
The next step: Take that sheet of plywood to the wood shop in my brother’s garage and start building.
The catch: I’ve never used a table saw, band saw, nail gun, or biscuit joiner in my life. But I know I’m going to walk out of that garage with a pair of speakers. I hope to walk out with all my fingers, but I will walk out with a pair of speakers. I will learn how to the use tools I need, and if I have trouble I’ll learn from an expert until I can do it myself.
And when I’m done, I will think of myself as the speaker designer and builder rather than the table saw operator.
I have ultimate respect for skilled artisans who are masters of their craft. There’s nothing like seeing an expert quickly solve a problem that seemed insurmountable. I watch woodworkers, welders, and wheelbuilders in jealous amazement the same way I look at someone who can think quickly and effortlessly in React or Angular.
But I’m less interested in focusing on the tools for their own sake. While I do think it would be fun to tell people “I know how to use a biscuit joiner,” especially strangers on the bus, for me the bigger fun comes from the bigger picture: What’s the problem and how do we solve it?
* * *
Note: This is about how I think; it’s not a good example of an approach to UX. Why not? First, I’m only solving my own problem. There’s no evidence anyone else is unsatisfied with what’s available on the market. I know my user base intimately, but as far as I know there’s only one of us. Second, I’d be pretty lucky to build the best possible box on my first try. I would love to test and iterate, but to my knowledge there’s no rapid prototyping technique suitable for speaker boxes. But I will get something out of it, even if it’s just a lesson about trying to reinvent the wheel.