At my local Ace hardware store, circular saws sit near the registers to tempt impulse buyers. When Ace sells you that saw, they've also got you for blades, safety glasses, and handy little accessories. But Ace isn't the only beneficiary in this "sell the saw, sell the store" arrangement. Simply having the saw turns some neglected, avoided projects into adventures. For the buyer, the saw is an inspiration: "Get the saw, fix the house."
We'll always need expert tools, structured processes, and people who can ply both to create bulletproof apps. But we also need tools that allow us to attack projects that would otherwise be out of reach. In modern computing, the limit of one's reach is marked by the limit of one's understanding of the platform and user environment. For a large class of applications, that need not be so. Most of the problems we solve every day aren't nearly as complicated as popular tools, languages, and frameworks.
Look, a fence made by a first-timer is a successful project if it remains standing and looks presentable; it's better than letting the old fence rot because it's more of a job than you can handle. Just go buy your saw. Read the safety instructions, buy a little more lumber than you need, and pick up one of those skinny Time Life books about home repair and improvement.
Technique and process are irrelevant unless your point is to impress someone who does for a living what you plan to try. Given sufficiently fast computers, prototypes that work to spec are potentially deployable applications. One project that helped restore my perspective is an administrative tool I created for OS X Server. It allows me to send magic packets to machines in my lab while I'm on the road. The right way would have been to write this entirely in Cocoa, Apple's native framework. The next best way would have been to write it all in Java. I'm sure I could have used AppleScript, a language that I cannot describe in publishable terms. Maybe I should have used Java. In the end, I wrote a shell script that calls into AppleScript for its GUI. It worked the first time. Now I'm heading for that fence. I'm on a roll.
Tom Yager is technical director of the InfoWorld Test Center.