On a recent trip to New York City, I visited the excellent Borders bookstore at the World Trade Center with a friend who is deciding whether to pursue the new Windows 2000-based Microsoft Certified Systems Engineer (MCSE) certification. He had been researching the self-teaching options and remarked that the only books out right now for this certification are from (surprise, surprise) Microsoft Press, Microsoft's inhouse publishing company. We were looking through the titles, which cover Win2K Professional, Win2K Server, Win2K Active Directory (AD) Services, and Win2K Network Infrastructure Administration. My thoughts drifted to Whistler, and how Microsoft would be revving Win2K just 18 months after its release. "You know, with the next release coming out next summer," I mused to my friend, "are you afraid that this stuff will be obsolete by the time you've mastered it?"

A moment of silence surrounded us. And then the entire computer section of Borders books—and I mean everyone who was there—burst into spontaneous laughter. People were looking around the corner at us with huge Cheshire-cat grins, and I felt like kind of an idiot. The moment the line came out of my mouth, I knew it was ludicrous. And the thought of all of them—as they looked at their books about Perl, JSP, or whatever—realizing that what they, too, were reading was designed to be obsolete within months . . . it's still funny.

Of course, I wasn't trying to be funny. I've often lamented the fact that software seems to roll inexorably onward, faster and faster, to the next version. In the good old days (which, let's face it, weren't all that good), you could actually master software. You might have learned the intricacies of WordStar, with its myriad keystroke commands, or discovered every little graphics effect in a program such as DeluxePaint. Today, things aren't so simple. Software has grown so huge and complicated that it's impossible to keep up. Today, it's an accomplishment just to have a passing understanding of the wide variety of software that we use every day.

And it's too bad, really. As a writer, I spend most of my time in Microsoft Word, although I have Outlook running in the background 24 x 7 as well. Even though I'm someone who would conceivably have use for most of Word's features, I bet I use about 4 percent of its capabilities 90 percent of the time. Because of all the software testing I do, I constantly reinstall my systems, so one of the things I spent a lot of time configuring last year is a custom installation of Microsoft Office that I can run from AD or a workgroup-based network. (Why haven't I just Ghosted my system you ask? Mostly it's a time issue: I have no idea how to use Ghost. But more importantly, my basic configuration changes too often for Ghost to be useful.). When I went through and really thought about all the options that I could install in Office, I was somewhat surprised to realize that I didn't need—or want—the vast majority of them.

But Office could be a lot more effective. Among its tons of features are many I'd love to turn off, but can't. This is because Office 2000 wasn't written with a true component approach in mind. Instead, Office is a fragile mountain of code that's been added to over a long period of time (kind of like Windows). During the feature wars of the 1990s, when Microsoft was battling Lotus and WordPerfect for the Office productivity crown, no feature was too small to include. So today, we're sort of stuck.

Microsoft realizes this, of course, and is working on component versions of Office and its other products. In fact, that's what its Dot-NET initiative is about: You break software into core pieces, or components, that you can easily distribute over the Internet and give users only what they need. It's a complete reversal of the feature bloat that we're used to. And if we're lucky, we'll be able to once again master the tools that we use daily, rather than be mastered by them.