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
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.
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.