Written to what API? Gnome, X, Qt? You'll be addressing a slice of a fraction of potential users. It'd be great if it weren't the case, but the diversity that makes linux interesting to hackers also makes it really tough to roll out GUI apps like this and have it 'just work'. I get the sense that's a good part of the appeal of OS X for the developer community lately - mostly Linux-ish when you need it, but a unified GUI experience for the pretty tools (e.g. TextMate, Base, and so on)
That's just patently untrue: either GTk or Qt would work perfectly. I don't see why the desktop environment would matter--the program doesn't have to (and probably shouldn't) care whether I'm on Gnome or KDE or Unity.
Moreover, all the popular environments support both GTk and Qt fairly well, and both are cross-platform, so you would actually be supporting more users than with a Mac OS-only program.
Really, fragmentation like this is not nearly the issue people make it out to be. Basically, everybody can use everybody else's programs on Linux, with the exception of very odd or customized systems. And the sort of people who have very odd and customized systems can fix problems themselves.
EDIT: Also, you could use wxWidgets. That would give you a native look on all the platforms you support.
I would also like to clarify that I understand an OS X user wanting to write an OS X-only program. The real issue is dissuading others from supporting Linux because of non-existent fragmentation issues. They simply do not affect people using GTk or Qt, in practice.
> Moreover, all the popular environments support both GTk and Qt fairly well, and both are cross-platform, so you would actually be supporting more users than with a Mac OS-only program.
By that logic Windows should be first since it has the most users. Also, are you sure that the installed base of Gtk+ or Qt (or both) is greater than the installed base of OS X?
Well yes, because unless I'm much mistaken, Qt and GTk are both supported by OS X so they are both supersets. (This is obviously ignoring Windows, which is also supported by Qt and GTk but is probably difficult for other reasons.)
There are also cross-platfrom native options like wxWidgets. These also work both on Linux and other systems.
Finally, the last StackOverflow survey[1], which I think is pretty representative of the sort of people who would use a program like this, had both Linux and OS X at about the same level (~20% each). So Linux is certainly not negligible.
I wasn't taking anyone to task for not building it. I was saying what I, as a user, wish I had available to me for my primary dev environment.
I don't care what toolkit it gets built in. I typically use Gtk-based environments and stick with Gtk apps but have no problem using a Qt or other toolkit app when it meets a need.
For very, very low values of "available", especially when it comes to GTK. If you're going to release a GTK application for OSX, you can just step the release part entirely.
Nobody targets X as an API anymore and haven't since Tk, this is a canard.
In general, given the demographics of desktop Linux, it's safe to assume everyone has GTK and Qt working, so pick whatever suits you and go for it. (Spotify is Qt IIRC)
Honestly it wasn't meant as a canard — this was basically my thought process when I was thinking through an app idea. I'm surely uninformed and some of that is a function of my own laziness, but it's also a reflection of how much diversity there is. I feel like it's akin to Kissinger's rhetorical (at the time) question "Who do I call if I want to call Europe?"
You just pick whoever people listen to at the time you make the call. In this case, GTK and Qt have been calling the shots and all Linux installs worth targeting are going to support them or support installing the dependencies necessary (which you can specify in your package, as spotify does).
Flailing about and perpetuating this myth that Linux is impossible to target just makes things worse.