Hi, I’m Steve O’Grady. You might remember me from such entries as “Pretty is a Feature” and “Speed is a Feature.” I’m here to tell you, Mr. Developer, about another exciting opportunity that you can take advantage of in your oh-so-copious free-time: cross-platform compatibility.
Understanding that a Medusa ugly application that runs slowly is not likely to be be a volume seller does not require a lot of cranial horsepower. But making the cross-platform argument is far more difficult, because the arguments against it are seductively simple, e.g. “Java tried this before – no one cared,” or a derivative of that, “Beyond Windows and maybe the Mac, why should I care?”
Truth be known, I’m not fundamentally opposed to those arguments; I merely think they ignore another simple argument in favor of cross-platform approaches, namely the fact that the #1 application on the planet – enterprise or consumer – is Google’s search. But, you might argue, that’s an apples to oranges argument: web search is far simpler in its requirements than delivering, say, a free form note taking tool. To that I’d respond, you’re right, but that’s not the user’s problem. And while they might not care about the cross-platform compatability now, much as I poured note after note into the single platform but otherwise splendid application OneNote, there’s a distinct possibility that they might in future.
Uh oh, you say, here we go on another desktop Linux spiel – have you forgotten that 2004 was not, as you erroneously predicted, the Time for Linux on the desktop? And besides, as even Ian tacitly acknowledged, the Linux desktop API situation is a mess: it’s like a horserace with no oddsmaker.
While my personal interest as a user is indeed in Linux, let’s put that aside for the moment. Forget Linux, and think Mac. Apple, after all, is running those delightful ads with the kid from Old School skewering a metaphorical Windows neatly – and anecdotally, they appear to be working. As Coop notes, the Mac is still the #1 choice for many hackers, but I’m seeing more of them in coffee shops every day. Even the 70-something woman moving very slowly in front of me in the security line at DIA this morning had one of those new black MacBooks (hmm…Black is a Feature?). And, of course, their hardware is still the envy of virtually every manufacturer on the planet.
So wouldn’t you, in a perfect world, want the software you’re developing for the rich client to work on both platforms rather than just one, if only from a business perspective? Probably.
Many individual developers and commercial ISVs have come to that very conclusion, offering products that run on both OS X and Windows. Hell, even Microsoft writes to Mac. But there are a great many desktop applications that don’t run on top of OS X; I should know, we hired a legitimate Mac fiend.
And really, who can quarrel with that approach? Targeting Windows alone has made some people very, very rich. Plus, there’s the whole resources angle, which some of the defenders of Adobe brought up when I knocked them for their lagging support for Linux; most shops don’t have unlimited people to throw at every little operating system that comes along. And how do you draw the line? If one supports Linux, must it then support Solaris, or FreeBSD?
The answers to those questions – presuming they exist – will have to wait for another day. A day in which I have a lot more time. Nor will I try and convince you that either Linux or OS X is going to come along and eat Windows for breakfast, a.) because that won’t happen and b.) because it’s not the point. The point is, rather, that assuming Windows will be the only platform that matters indefinitely is, in my view, a mistake.
OS X is going to grow, IMO. Linux has potential as well – particularly if the trend towards Software as a Service continues. Or did you think that IBM invested a $100M and ported Notes/Workplace over to the operating system for nothing?
Wherever you come down on Linux and Mac, I’d urge all developers to think carefully about adding a feature that maximizes their potential audience. Tim Bray once said of DRM that most users had yet to encounter it, and when they did they were going to be very unhappy. I’d say the same of cross-platform compatibility. Your average set of parents won’t care why Internet Explorer or Outlook doesn’t work on some new operating system their son installed for them, but once they see that Firefox and Thunderbird runs on both they might find that of interest.
Remember, there’s a reason that Google’s so popular.
Addendum: Please note that cross-platform compatability is a feature for regular applications, not would-be platforms. For the latter, it’s mandatory. Just in case anyone’s thinking of the Adobe stuff from last week.