Cameron responds
To this (impressively fast, I might add):
I’m not against cross-platform libraries, or cross-platform applications. But giving the same UI to every OS isn’t a good solution. I think the core functionality of an application can (and should) be ported to different OSes, but with varying GUIs for each.
Basically, I like the way Firefox 3 is going, especially Alex Faaborg’s opinion:Personally I think a unified cross platform UI results in applications that at best feel foreign everywhere, and at worst don’t even feel like real applications.
Well, that’s what I got from “Personally, I don’t like Java. I think cross-platform runtimes (including Adobe’s AIR) sacrifice UI because it gives the same UI to every OS”, but I might misunderstand.
Now, of course, I agree that in an ideal world, every program that makes sense on different OSs should work natively on every widely used OS. But in the real world, it won’t happen. For many developers, it will be unprofitable or a waste of their time or both. Firefox is a bad example because it’s an example of when maintaining several frontends works: when you have lots of developers and lots of users.
Most software has fewer users and fewer developers than Firefox. If you’re gonna maintain native GUIs for OS X, Linux and Windows, even if you limit yourself to the latest versions of each, you suddenly have four codebases: the core functionality, and three frontends. It costs time, it might cost money, it might often not be profitable for commercial developers and bad time management for open source and freeware developers.
If you’re developing Windows-only software, your users won’t be Mac users or Linux users, so pandering to them is irrelevant. I’d rather that Windows- (or Mac- or Linux-) only developers chose a platform independent GUI kit if they were only going to develop for one platform anyway.
So, yeah, I’d take native over platform independent, all else being equal, but I don’t fault developers for not having a native version ready for me. All else often isn’t equal, because it’s often a choice between a stripped-down version or no version at all and a slightly sub-optimal solution.
I felt this often when I was a Ubuntu user. What really sucks is emulating Windows in Wine. It’s buggy, it’s ugly, it’s clumsy, it sucks ten times worse than a “mediocre middle that will work on Windows, Mac and Linux.”