Technophiles, Tinkerers, and TiVo

The Perl Journal February 2003

The best part of programming—at least with scripting languages like Perl—is the thrill you get from watching something do the work for you. For some of us, it doesn't matter how long we've been writing code: We still get a little giddy with the thought of how much drudgery our code saves us.

Once you've caught this bug, possibilities for automation pop up everywhere and the world turns into one big nail for a programming hammer. Whether it's the joy of creativity, or just a healthy disdain of manual labor (or a little of both), it's central to what programmers do. It's all about looking for a better way to do things.

For example, take Moshe Bar's "Home Automation with Perl" article in this issue. You could argue that the technologies he employs (X10, Festival, Perl, and AppleScript, among others) represent a better way of interacting with your house and the things in it. Of course, we technophiles are optimistic about these things. It takes a lot of refinement before technologies like these are realized in a way that nontechies can get excited about. If I told my wife I wanted to automate our home, her first reaction would be: "Please tell me I'm not going to have to talk to a computer to open the living room curtains. Just promise me that. The pull-cord works just fine." And my wife is no Luddite—she just has a healthy respect for Keeping It Simple. She's often my barometer for whether or not a technology has reached the point of sensible simplicity that makes it attractive to average users.

Or take digital video recorders (DVRs). For years, people have been digitally recording television on PCs. With a big enough hard drive and a little automation, you could set up a fairly sophisticated system for recording shows you want, skipping the junk you don't. But most people see computers as objects of frustration, or at the very least confusion, and don't want to have to use them for a simple activity like watching TV. It took TiVo and ReplayTV to widen the appeal of this practice beyond the technophiles, culminating recently in FCC Chairman Michael Powell's declaration that TiVo was "God's machine." (If you haven't heard about this, just Google "God's machine." You can't miss it.)

Now, Powell's pitch wasn't the reason, but I purchased a TiVo and I have to say he's right. Here's the thing: I love this machine. I picked the shows I wanted to watch, and TiVo went and found them. No messing with time and channel. No punching in codes. Now, every time I turn on the television, I have several shows prerecorded that I already knew I wanted to watch. And I can fast-forward through the commercials. It's marvellous, and perilous. I think I'm watching way more TV than is good for me.

This device takes automation to a glorious extreme, but with such simplicity that you really don't even need to read the manual. Everything you need to know you get from the interface. There are no buttons or panels anywhere on the unit (a testament to its software design), and it seems to instinctively do the right thing. It's a triumph of interface design, and it's built on the shoulders of technophile tinkerers because it runs Linux under the hood. And yes, my wife loves it. Now if only the engineers at TiVo would build a home-automation interface...

Kevin Carlson
Executive Editor
The Perl Journal