To be truly successful, a complex technology needs to "disappear".
The first cars, in the early 1900s, were “mostly a burden and a challenge”, says Mr Corn. Driving one required skill in lubricating various moving parts, sending oil manually to the transmission, adjusting the spark plug, setting the choke, opening the throttle, wielding the crank and knowing what to do when the car broke down, which it invariably did. People at the time hired chauffeurs, says Mr Corn, mostly because they needed to have a mechanic at hand to fix the car, just as firms today need IT staff and households need teenagers to sort out their computers.
I love the car analogy. I'm a car guy. I used to have a '66 Ford Mustang, I did almost all the work on it myself (including some brake work that nearly killed me). Loved that car, I loved the burble of the 289 V8, I loved the simplicity, of knowing that I could fix almost anything on it myself. And I often did. Simple. To me.
But I also love my '98 Honda Accord. Under the hood it's infinitely more complex than my old Mustang. There are all sorts of sensors, wires and boxes hidden throughout, their function and purpose unknown to me. I can still work on it, sort of. I can hook up computers that tell me what component failed and then bolt on a new one. But deep down I don't know what's going on really, it's far more complicated.
And yet, the Honda is far simpler to me as an owner, I almost never have to think about maintenance or repairs. Months go by and my Honda just continues to run smoothly and get us where we need to go, without fuss or drama. Because Honda's engineers spent a zillion hours thinking about geeky, complicated things, I can drive years before needing a tune-up. As much as I loved my Mustang, ultimately I loved it because I'm a car geek and it let me be a car geek, not because it's a better car.
This is a point we "technologist" need pounded into our heads. As a developer, it's YOUR job to make complexity and aggravation go away. You are the geek, the engineer, the guy who's job it is to think about such things. It doesn't matter if your user is a grandmother viewing an online photo album, or a seasoned engineer using your nifty new web services API, your job is to take complexity and make it into something others don't have to think about. We don't make users smarter by teaching what we know, but by making it so they need to know less than we do, freeing them to focus on other things.
Posted May 1, 2006 11:53 AM