Linked by ephracis on Mon 23rd Jan 2012 13:18 UTC
General Development This is a call out for help on creating a consistent and native feeling on Mac OS X and Linux. As I have never owned a Mac and haven't used Linux as my main OS for over 3 years I need the community of OSNews to help me do this.
Thread beginning with comment 504362
To read all comments associated with this story, please click here.
DeadFishMan
Member since:
2006-01-09

Off the top of my head, I can think of at least two well known projects that have done something along these lines - but perhaps not as ambitious to try to cover all the major platforms as yours - and those are Avidemux and Transmission. I don't know what the Windows version of Avidemux uses (Qt?) but in Linux, there is a core package and then a plug-ins package and finally two different UIs packages: one for GTK and another for Qt. I don't know if Transmission has a Windows version but it also has two different front-ends in Linux (This is on Debian Sid, it may be packaged differently on other distros):

avidemux - Free video editor (GTK version).
avidemux-cli - Free video editor (command line version).
avidemux-common - Free video editor (Internationalization files).
avidemux-plugins - Free video editor (plugins).
avidemux-qt - Free video editor (QT version).
...
transmission - lightweight BitTorrent client
transmission-cli - lightweight BitTorrent client (command line programs)
transmission-common - lightweight BitTorrent client (common files)
transmission-daemon - lightweight BitTorrent client (daemon)
transmission-dbg - lightweight BitTorrent client (debug symbols)
transmission-gtk - lightweight BitTorrent client (GTK interface)
transmission-qt - lightweight BitTorrent client (Qt interface)

The separation of functionality from the UI even allows some niceties such as the web front-end for the Transmission daemon that actually used to be a separate project (Clutch) but that has been absorbed into the main app a few iterations ago and it is really well done (In fact, it looks like an OS X app).

You might want to take a look and see their respective coding styles, roadmaps, check the lessons learned, what pitfalls to avoid, etc to help you to define yours.

If I had to be bothered to create a multi-platform application and Java SWT/Swing is not on the cards due to its inherent ugliness, I'd definitely have gone with Qt, though. It just sounds more reasonable and less troublesome for the long haul to maintain just one codebase and compile for different platforms or desktop environments as needed if the price to pay is just a few widgets that *might* look slightly off in a few corner cases.

Edited 2012-01-24 17:21 UTC

Reply Score: 2

ephracis Member since:
2007-09-23

Thanks!

This will let me sit down and really analyze every difference between their versions. Maybe I can find some goodies in there.

Have you any experience with them? Do you know if there's any pitfalls or shortcomings they have not anticipated? Any mistakes you think I can learn from?

Reply Parent Score: 2

DeadFishMan Member since:
2006-01-09

Thanks!

This will let me sit down and really analyze every difference between their versions. Maybe I can find some goodies in there.

Have you any experience with them? Do you know if there's any pitfalls or shortcomings they have not anticipated? Any mistakes you think I can learn from?


Other than as an user, I do not know much about neither application. What I can tell is that both front-ends seem identical functionality-wise but take that with a grain of salt as I mostly use the Qt versions ever since they became available.

Avidemux is really a multi-platform app and does not even pretend to integrate too much with the underlying operating system/desktop environment in a sense that it uses the same icons and UI conventions in all platforms and only the basic widgets (buttons, scroll bars, etc.) seem/feel "integrated". Not saying that I don't enjoy using it because of that by the way: I really love that app and couldn't care less about the way it looks. In fact, working consistently across the different platforms it supports is a plus in my book, not a minus.

Transmission on the other hand does a great job to properly integrate into KDE, using the native notifications API, Oxygen icons and what not. They've really gone the length to properly make it feel properly integrated. It truly feels like a KDE application. It will probably be more useful than the former for you as a research subject (as far as Linux is concerned).

VLC changed completely from GTK to Qt not too long ago but it did not bother GNOME users concerned with consistence on their desktops too much due to Qt's awesome themeability. You can check it up yourself by going to VLC and then clicking on Tools > Preferences and then on Interface change the option under "Force window style". It does not change icons or open/save dialogs to GTK+ style but in my limited understanding of its capabilities, I believe that Qt can in fact do those things if one wants to (not that I would EVER switch to GTK open/save style dialogs unless forced to!)

Edited 2012-01-26 15:49 UTC

Reply Parent Score: 2