The Myth of Platform-Independent Applications

By  |  Tuesday, November 17, 2009 at 11:21 am

At Microsoft’s Professional Developer Conference in Los Angeles this morning, Seesmic announced that its Seesmic Desktop, a popular tool among Twitter power users, is coming to Windows. Finally!

Um, hasn’t Seemsic run on Windows all along? Well, yes, but that’s because it’ s written in Adobe AIR, an application platform that lets programmers write Flash applications that can run outside the browser. (That’s a dumbed-down explanation of AIR, but enough to get the gist across, I hope.) One of the principal selling points of AIR is that it lets developers write one app that runs on Windows, Mac OS X, and Linux, as Seesmic Desktop does.

In theory, the existence of an AIR version of Seesmic should eliminate the need for the company to bother with a Windows one. To date, though, AIR hasn’t been a miracle cure for incompatible operating systems. Some good stuff has been built with the technology–including Seesmic, archrival TweetDeck, and Times Reader–but AIR is notorious for hogging memory and computing cycles. And AIR apps’ user interfaces tend to feel a little foreign, too–there’s still something to be said for Windows apps that feel like Windows apps, and Mac ones that feel Maclike.

The state of AIR feels uncannily similar to the situation with Sun’s Java back in the 1990s. Java was also supposed to let programmers stop worrying about incompatible operating systems. Companies built ambitious products such as entire office suites in Java. But while Java did have a major impact on the world–among many other things, it’s the basis of RIM’s BlackBerry OS–it did little to reduce the need for native applications for Windows, OS X, and Linux. That was in part because it had a reputation for…hogging memory and computing cycles, and for producing apps that felt a little foreign.

Bottom line: Inside the browser, platform-independent technologies have flourished, including open standards such as JavaScript and proprietary ones such as Adobe’s Flash. Outside the browser, not so much. Come to think of it, I like Seesmic’s entirely Web-based app a lot more than the AIR version.

Oddly enough, there’s major AIR news today: Adobe has unveiled a beta of AIR 2, which is supposed to be less piggish and to permit more native-feeling programs. (It may or may not be a coincidence that Adobe announced the new version during Microsoft’s big conference–you be the judge.) I still like the idea of platforms like AIR, and am glad Adobe is continuing to plug away at at it. Unlike some people, I’m not an AIR hater. But come to think of it, I’ve tried a whole bunch of AIR apps over the past year, and usually abandon them pretty darn quickly.

For now, I understand completely why Seesmic decided to go native in Windows. Wonder how long it’ll be until there’s absolutely no reason to write an app for a particular OS?

 
2 Comments


Read more: , , , , , , ,

2 Comments For This Post

  1. tom b Says:

    Adobe has long tended to dumb down Mac versions of its “non-air” applications so they look consistent between Mac and Windows.

    Adobe is “coasting”; they don’t understand that nothing in their product portfolio has a very deep “moat” around it. Photoshop has the deepest moat, but that’s just because PS has SO many features.

  2. Josh Says:

    Java is still the best way to develop platform independent applications and you don’t even need to write it in Java. Now you can write your application in Python, Ruby, Scala, Groovy, or a handful of other languages that run on the JVM.

    The JVM is the best virtual machine on the market. It’s amazingly fast, sometimes even faster than native applications. Unfortunately, the problem of non-native interfaces remains, although SWT virtually eliminates this problem and Swing has improved significantly. In fact, a lot of Java applications look so similar to the native widgets that users don’t even notice. Look at Eclipse for a good example of this. What is more difficult to replicate is native behavioral quirks unique to the platform.

    I don’t care for AIR applications either. Nothing beats a native client.