News

Two Roads Ahead

Every few years it's time for developers to take stock and decide where to put their efforts for the future. For the last decade or so, I've been following along as Microsoft releases new versions of Windows, and the odds are that you have been doing the same. After all, that's been the safe choice. But for the next round, it looks like there are more than ever two paths to follow.

If you've got Windows XP on the desktop, the next round of client updates should take you to Longhorn, if you follow the Microsoft path. We're not quite sure when that will be, but the dates I've seen bandied about seem to average 2006 or 2007. What scares me a bit are the rumored average hardware requirements for Longhorn: a 4 to 6 GHz dual-core CPU, 2 gigabytes of RAM, and a graphics processor that blows the doors off anything you can buy today. Of course, some of those rumors may be wrong, and in a couple years your hardware dollar will stretch further than it does today. But any way you slice it, you're not likely to get good Longhorn performance out of the computer that's sitting on your desk now, unless you've recently invested a whole lot of money in it.

The other road lies with alternatives to Windows - which, these days, pretty much means one flavor of Linux or another. Novell is putting a major effort into making a slick Linux distribution of their own with support for .NET through the Mono project, Red Hat has announced plans to license a supported version for the corporate desktop, Sun has its own Java-centric version, and so on. Although we've seen challenges to the Windows hegemony in the past (anyone remember the network computer?), Linux seems to be hanging on and steadily gaining ground more than any past attempt to displace Windows. The mere fact that Microsoft apparently considers Linux to be public enemy #1 is enough to attest to this.

People debate endlessly the relative advantages of Windows and Linux as desktop operating systems. But one of the interesting things about this next transition is that Windows may be losing its advantage when it comes to switching costs. One of the things that has kept Windows on desktops, developer and end-user alike, has been sheer inertia. The programming model hasn't changed a great deal in the last few years, and Windows XP still works very much like Windows 95 for the end user. Moving to Linux has involved learning new tools for the developer and new paradigms for the end user.

But it looks like Microsoft is voluntarily giving up that advantage in moving to Longhorn. From what we've seen so far, just about everything changes, from the way that tools work to the user interface. It might well take as much effort to move from Windows XP to Longhorn as it does from Windows XP to Linux. (Or it might not; remember, all that we've seen so far are early alpha builds).

Which brings me back to the original question: where should I place my bets for the next few years? Anywhere I look, things are scary. On the one hand, there's a new way of doing things, and increased hardware costs. On the other, there's a new way of doing things, and possibly a very small market. It's enough to make me give up on software and take up full-time garlic farming instead. To hedge my bets, I'll keep reading articles about developing for Longhorn. But I'll also keep my eyes on Mono and other open-source tools for Linux.

So right now, I'm in "wait and see" mode. I think what I'm waiting for is someone to show me something compelling. No, eye candy isn't especially compelling to me. Dragging full-motion video around the screen leaves me cold, as does the ability to change the style of the minimize and maximize buttons. What I need to see is something that will make my life easier, as a developer and as an end-user. Otherwise, I may just decide by not deciding, and stick with my current Windows desktops - and I expect that most of my customers will do the same. In a mature market, inertia is a powerful force.

About the Author

Mike Gunderloy has been developing software for a quarter-century now, and writing about it for nearly as long. He walked away from a .NET development career in 2006 and has been a happy Rails user ever since. Mike blogs at A Fresh Cup.