Another cross-platform development solution hit the geek news sites recently: Lina. According to their website,
With LINA, a single executable written and compiled for Linux can be run with native look and feel on Windows, Mac OS X, and UNIX operating systems.
Native look and feel, eh? Not likely. There’s a clue right up front that should make you skeptical: These solutions are made by programmers, for programmers. If this were a coding tool, that’d be great. But it’s a user interface tool.
Red. Freaking. Flag.
But that hint alone is not enough. Some programmers can actually design interfaces too. So what’s my real reason to be a doubta?
Basically, because they’re trying to do something impossible. Which usually results in failure.
If you care about your users and their experience using your software, you should be avoiding these kinds of tools at all costs. This is a lesson we should have learned by now: “A Native Widget Does Not a Native GUI Make”. That’s why X11 apps in Mac OS X are used by approximately nobody. That’s why RealBasic and Java applications usually stick out like a sore thumb. The widgets may be native, but the look and feel? No way.
And don’t forget: not all interface elements are visual. Take key shortcut conventions, for example. Microsoft flouts all of them in its OS X apps. Which is a pity, because they did so much well with their office apps, and then they go and use Windows key shortcuts. Every time you try to change the text style in Word, or adjust the zoom on the document, it’s a little wack on your brain: “You’re! Using! A! Windows! App!”
Ouch! My brain!
So stop looking for the holy grail of cross platform development. It doesn’t exist. Have a little respect for your interface, and by implication, your users. It’s more work, but they’ll notice. And they’ll love you for it.

