The people who need to have final say on software design are the users, not engineers who often design products in a vacuum. During the Windows XP launch, TV host and guest emcee Regis Philbin—a technology neophyte—asked Bill Gates where he turned when he couldn't figure out one of his company's programs. Gates joked that if he couldn't figure it out, the company changed the program. Then Philbin deadpanned, "Actually, you should change the program if I can't figure it out." This exchange got some laughs, but I wasn't laughing because Philbin was right. And something tells me that this surprisingly insightful comment was lost amid all the backslapping at Microsoft over the successful XP product launch.
You don't have to look far to find examples of insular product designs that don't meet customer needs. The first version of Windows CE, which shipped almost 5 years after the company preannounced the vaporous Pen Windows, simply ported the Windows 9x UI to a portable device. The devices included small Chiclet keyboards with styluses and hard-to-read black-and-white screens without backlighting. But the biggest problem was the interface: The concept of files, folders, and applications might make sense on a desktop computer, but that model was cumbersome on a handheld device because of its limited memory, display, and size. So the Palm OS, which offered simplicity and a design that made sense for the form factor, trounced Microsoft in the handheld market. Three major revisions later, the latest version of Windows CE for palm-sized devices, called Pocket PC 2002, is making up lost ground because the company is finally reacting to what people really want in such devices.
But even the Pocket PC doesn't address user needs. The device offers instant-on access to Microsoft Outlook-based contacts, scheduling information, email, and other crucial data, but provides no easy way to quickly and accurately input information. Instead, the form factor of these devices relegates them to read-only machines during business trips, where they are useful, but not uniquely useful. In its bid to bring desktop applications and functionality to a handheld, Microsoft should have considered the ways people use these devices and worried less about which features to cut so they'd fit in the Pocket PC's limited memory.
One company that got the handheld device concept right is Research In Motion (RIM), which makes the wireless BlackBerry line. BlackBerry devices sport small keyboards that users operate with their thumbs, which sounds horrible but works wonderfully. The BlackBerry offers instant-on wireless email access from virtually anywhere. And it integrates with your existing mailboxes so you don't have to set up another account. The BlackBerry even steals a page from the Windows .NET playbook by offering its wireless access plans as subscription services with monthly fees.
You can trace the BlackBerry's success to two things: First, unlike Microsoft, RIM couldn't afford to wait three revisions to get the product right, so the company made sure that its product provides valuable solutions for real-world problems. And second, the BlackBerry doesn't try to do too much; its main functionality is email access (although other functionality, such as Web browsing, is available).
Software companies such as Microsoft need to start paying more attention to what users want—before their programmers start typing any code. Every time Microsoft tests a new Windows OS, the company tosses out some figure about the hundreds of thousands of people who beta tested the product, and we're supposed to be impressed that the company is doing such a great job getting feedback. The usefulness of such testing, however, is debatable because the product's features were set in stone months before any tester got the code. I'd be far more impressed to hear that Microsoft had asked thousands of potential customers what they wanted from the next version of Windows, or any other product, before developers started working on the code. And then the beta feedback could consist almost solely of whether the product actually met customer needs.