“Cross-platform”

Filed under jabber technical usability on Tuesday, 10 August 2004 at 20:34.

I’m sorry, Peter, but there’s no such thing as a good “cross-platform” client, especially not built in something like wxWidgets. That Audacity screenshot you linked looked hideous.

The only successful cross-platform applications that I know of are Mozilla and Gaim. Mac OS X people tend to use Safari or Camino rather than Mozilla (Camino uses Mozilla’s core, but it’s still a native interface), and Mac OS X people don’t use Gaim. They use Adium or Proteus—which again, use the Gaim libraries but certainly not the interface. Gaim works reasonably well on Linux and Windows because it’s based on Gtk. And Mozilla… well, Mozilla invented its own widget set.

I do agree with most of the rest of what you said, and would certainly welcome a decent Jabber client, but don’t expect me to ever be using a wxWidgets-based Jabber client on Linux or Mac OS X. Yuck.

8 Responses to ““Cross-platform””

  1. Full-ACK

  2. Definitely agree. I still haven’t decided if the “client problem” is because of multi protocol clients or an actual lack of a good client on pretty much every platform.

  3. Despite its ICQ-like interface that stpeter isn’t fond of, I think Psi is a very successful multiplatform client. I’m a bit biased though.

  4. Regardless of what I think of ICQ-like interfaces (I concur with stpeter on that one), not very many open source developers can shell out the $$$ to make Qt actually “cross-platform”. Nor do I think they should.

  5. Speaking as someone who has and uses a Mac (albeit not for work), the reason I use Adium as opposed to Gaim under MacOS X is simply integration. Adium acts the way I’d expect for an OS X client. Cut-and-paste, drag-and-drop, built-in spellchecking using my system library, and all of that.

    I thought about using Thunderbird under OS X, since it is my mail client under Windows on my PC… but while it looks very nice and even integrates well appearance-wise under OS X, it had one major mark against it; it won’t integrate with my system address book.

    And it’s not just OS X where cross-platform systems don’t do quite what you might want. Thunderbird for Windows still irritates me slightly because I can’t minimize it to the system tray without running memory-resident hacks.

    That’s what needs to be tackled for cross-platform software, I think; supporting not the lowest common denominator of features, but supporting a standard set of features /and then also/ supporting OS-specific things that users of that OS are used to. Apple’s ‘Mail.app’ wins for me over Thunderbird because, though it doesn’t have all the features Thunderbird can support (News, RSS feeds, etc.), it does support my system spellchecking dictionaries, it does support my system address book, and so on. Adium wins for me over just plain Gaim because Adium supports OS X things like Dock badging and whatnot.

    As long as cross-platform software doesn’t support ‘expected’ platform behaviors, a lot of people — me included — will likely go for platform-specific alternatives.

  6. It should be possible (in python at least) to have one application with multiple user-interfaces in it. That way, the looks could be platform-specific (cocoa for macos, wxpython/qt/gtk for others), and the core of the application could be the same for all.

    It would require a very good separation between UI and the rest of the app.

  7. Chris, sure, you can have a bunch of interfaces… but that’s not what people are usually talking about when they talk about a cross-platform application. At that point you might as well write your backend as a library and write various frontends to the library–which seems to be the best thing that people do right now.

    Also, wxwidgets gtk2 looks like crap, crashes a lot, and doesn’t support everything.

  8. Mozilla is hideously ugly & slow interface. It is popular because there arent any other choice on windows (apart from buggy ie)…

    Like Qt & Swing, Mozilla uses non-native cross-platform widgets. As a user, I notice Opera’ gui is very polish & very fast to launch. But, they delibrately make the menus fades slowly, otherwize it is very fast. Swing’s menu felt faster than Mozilla’s menu (but mozilla wins in scrolling with a scrollbar slightly, java 1.4 make incredible improvements to swing). Unfair to judge its slow loading time which is not a by-product of its library design but the nature of its VM (loading, verifying, jitting, checking). Most of these can be removed using GCJ.

    Swing is elegant in designs in that it uses no external mechanism like signal/slots or xul but just pure java syntax (inheritance/interface). No more, no less. How many libraries does that???.

Leave a Reply

missig.org/julian/blog
Julian Missig - jabber:julian@jabber.org - aim:xvirge
julian/blog is powered by WordPress
Entries (RSS) and Comments (RSS).