The notion of a golden hammer, “a familiar technology or concept applied obsessively to many software problems”, was introduced into information technology literature in 1998 as an anti-pattern: a programming practice to be avoided.1
For the past few weeks, I have been building a prototype of an app for my interaction design class. I have been laying out the screens in Sketch. This is not new to me. I often use Sketch to, well, sketch out ideas before writing code. I hit a frustrating snag when I went to convert the sketches into an interactive prototype using Proto.io. For the record, Proto.io was not the problem. It is a very compelling and powerful tool. I hope to learn a better workflow.
I abandoned Proto.io for my three headed golden hammer – JavaScript, HTML, and CSS. I’m not going to say it saved me time, but it did make the exercise more comfortable. Using my day-to-day workflow, I was able to take my Sketch work and quickly build a functional version of the app.
I learned an important thing. I should never prototype with real code. It was kind of fun to not care and violate basic best practices in the interest of time. I cranked it out with the attitude of “this is a prototype…it’s not like this is ever going into production.”
In the real world, it would be so easy to say…
Hey, I spent a lot of time building this prototype. It does “work.” Let’s just get started with this. We’ll fix it before it goes to production.”
We all know it will not get fixed before going to production.