tecosystems

Cross-Platform is a Feature

Share via Twitter Share via Facebook Share via Linkedin Share via Reddit

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.

4 comments

  1. Thesis: Cross-platform UI for N platforms means mediocre, compromise UI on N-1 platforms. Discuss. 🙂 (For added entertainment value, get explicit and discuss with any Mac bigot what they think of the UI of apps ported directly from Windows.)

  2. Luis while not quite there yet, Eclipse is getting closer and closer to removing the pain point your referring to. While I doubt it will ever be perfect it will be more than good enough for most users and for developers benefiting from multiple markets. Why develop something in say .Net and limit your market. While you are right about the Mac bigots – they are the minority. As the Mac takes more and more of the consumer space their voices will become a dull roar. Regular users won’t be that discriminating – as long as it works they will be fine.

    We used to be just windows machines at work – now we have macs, linux etc. Why? Because the world is changing. Previously it was windows only at work which partly drove the decision what we have at home and vice versa.

    We used to have 2 windows machines at home. Now we have 2 macs instead because they just work better for the kids.

    When it was windows on both ends of the work/home equation the cross-platform perspective wasn’t an issue. Now it is. And I don’t think we are alone in that. Software like Parallels (sp?) for the mac is just a stop gap for people eventually having/wanting cross-platform apps. You could argue virtualization will *prevent* cross platform apps but I don’t see it that way. Why? Because it will be in the vendors best interest to develop once in something like Eclipse (it could be something else, Eclipse just seems the most likely at this point) rather than the cost burden of multiple development environments, application update mechanisms for seperate OS’s. And it’s not just the cost of the development environment itself, it cascades across a software shop in terms of training costs, hiring practices etc..

    P.S. Today IBM announced you can get Eclipse support directly from IBM. For enterprises and even ISV developers I think that’s probably as significant for Eclipse as it was for IBM to put their weight behind Linux. It legitimizes it for a whole swath of people that otherwise would have sat on the fence or not considered it as an option because they had no one to turn to if something went wrong. And just like Linux, Eclipse is making it thru the back doors of organizations.

    P.P.S. I also thing it would be in Apples own best interest to support something like Eclipse. All of a sudden you have alot more apps appearing for the Mac that otherwise may have only appeared on Windows. And it would be better for them to have class A support before Linux get’s there. I’m not sure what they are doing on that front.

  3. Luis: i don’t know – i think Firefox transcends platforms fairly well. now they obviously are not using a cross platform UI, but leveraging native capabilities much like RCP can.

    i don’t know, i’m sort of torn. on the one hand i think the Swing-style lowest common denominator butt-ugly UI is a thing of the past, on the other i think both Windows and OS X are headed down deep UI holes that will be tough to follow – let alone make cross-platform.

    short answer is: i don’t know 😉

    Stephen: thanks for bringing up RCP. IBM’s usage of the platform as the foundation for Notes and so on was – I think – a real eye opener for some folks. i do think they need more focus on the “prettiness”, if you will, b/c while i like some of the RCP apps i’ve used or demoed (RSS Owl, the Notes port, etc) – they don’t blow me away. they’re nice, but note gorgeous.

  4. I think Sametime 7.5 is the point from which to you want to start measuring the possibilities – not the Notes port to Linux – unless you were talking about Hannover. I’d say Sametime 7.5 is as “perdy” as the majority of IM stuff out there – certainly close enough to be good enough at this point.

    The robust plug-in model certainly gives it a shot at dealing with the UI holes your talking about..don’t know it if will really pan out that way.

    Thanks for engaging.

Leave a Reply

Your email address will not be published. Required fields are marked *