Hacker News new | past | comments | ask | show | jobs | submit login

I also contend the supposed "ugliness" of gtk. This is at most a personal issue; in my view gtk programs are typically beautiful and Qt and Electron are unbearably ugly.



Definitely depends on the platform. On Linux it's probably great, but on macOS at least, I've yet to see a GTK app that doesn't feel super clunky. GTK breaks lots of expectations about how things should behave on macOS (shortcuts, standard menus, buttons, etc). Gimp or Inkscape are good examples. On the other hand those are examples of what a "native" app is expected to look like:

https://www.sketch.com

https://paw.cloud

https://www.pixelmator.com

Note that the apps above are not implemented with Qt or Electron either, they use the official Apple frameworks.


GIMP and Inkscape are still using the ancient GTK2, GTK3 is generally a lot nicer.

i.e. Transmission uses GTK3 and looks like this[1] on OSX.

[1] https://en.wikipedia.org/wiki/Transmission_(BitTorrent_clien...


Are you sure? I don't recall it using GTK3 on Mac.

> A native Mac OS X GUI application

> GTK+ and Qt GUI applications for Linux, BSD, etc.

https://github.com/transmission/transmission


Yep, you're right. I forgot about that.

GTK3 in general looks a hell of a lot nicer than GTK2 but now I can't think of any GTK3 applications that actually run on OSX...


This is something I've always wondered and still can't find a good answer to: why are MacOS apps so damned beautiful and plentiful compared to linux and windows apps? Are the official Apple frameworks just that easy and pleasant to work with? I hear devs complain about ObjectiveC all the time, so it can't be their language choice. Or is it another example of Steve Job's reality distortion field, but applied to the entire MacOS application developer community?


why are MacOS apps so damned beautiful and plentiful compared to linux and windows apps?

One is developer culture. Going all the way back to the earliest Macintosh days, Apple has always had detailed guidelines about how the one true way a GUI app should look and feel. And the importance of following those guidelines gets drilled into you from your very first Hello World program. This leads to all apps on macs to look both good and consistent, giving developers a lot of inspiration to draw from when they write their own apps. Windows and Linux simply doesn't have this culture ingrained into its developers. It also helps that Apple really only has one GUI framework at a time that it pours all their effort and focus into while Windows and Linux always have at least 2 or 3 competing frameworks that never get quite the attention they need.

Another might simply be financial incentives. Anecdotally Mac user care more about what their apps look like than Windows and Linux users, thus the financial incentives to put in the effort to add the final polish to your apps is higher, since it probably affects sales much more than it does on Linux and Windows. Also (and equally anecdotally) Apple users seem far more willing to pay for small useful applications from indie developers so more indie developers put more effort into producing small useful and beautiful apps for Mac.


> Apple users seem far more willing to pay for small useful applications from indie developers so more indie developers put more effort into producing small useful and beautiful apps for Mac.

This rings true to me as well, but why is this the case? If we roughly assume that Mac users are 1 order of magnitude fewer than Windows users, they must be >1 OOM more likely to pay for these kinds of apps to generate this impression.

I struggled with this puzzle for quite a while when I switched from Mac to Windows. Utilities are simply not comparable, either in design, functionality, or simple quantity, for a market which is (on paper) both much larger and much older (if you restrict your view to the OS X era).

As an aside, it totally makes sense to me why Linux utilities are numerous and awesome, but have (usually) poor graphic design, because that Bauhaus-esque function over form describes how I prefer to work, too.


> This rings true to me as well, but why is this the case?

Because the Apple macOS ecosystem already has an coherent design at the point where I (as a macOS user) would hate to bring another app that breaks the coherence.

Also Apple's official apps are generally much better than the MS ones or Gnome ones (see IE vs Safari) which makes the expectation of users higher.

IMO Apple really made a great, healthy ecosystem around the macOS.


I suspect a lot also has to do with the business opportunities available for developers on the different platforms. First of all, there is a near-limitless number of companies out there looking for Windows desktop developers to work on various inhouse apps.

Secondly, there is a lot more money in the business and specialist app market for Windows. I worked for 3 years at a company developing a Windows application. We charged $5k a year for a license plus a good 50-500 consulting hours to adapt the application to our customers business. That was a solid business targeting a niche market, and there are countless companies like that around in the Windows space. Those opportunities don't really exist for Mac developers. Most people specializing in Windows desktop development end up working on stuff like that if they don't end up at Microsoft/Adobe/Autodesk etc.

If I was to start a company trying to develop desktop applications for Windows there is no doubt I would target business customers willing to pay $1k-10k rather than trying to sell $10-100 to consumers. If I was targeting Mac users I would probably target the $10-100 consumer space.


> "... why are MacOS apps so damned beautiful and plentiful compared to linux and windows apps?"

While that was the case ten years ago, honestly the macOS app ecosystem is mostly running on fumes at this point. There's few people coming into AppKit development, and iOS developers seem to have an irrational fear of putting any effort into learning the desktop paradigm even though the API is largely the same.

Apple is making half-hearted efforts to fix this problem by introducing two new GUI APIs on the Mac. "Catalyst" is a porting layer that lets you put iPad apps on the Mac desktop. The look'n'feel of these apps is pretty much as clunky as you'd expect. Then there's "SwiftUI" which is a new React-like runtime that spans all Apple platforms. SwiftUI is in its early stages and will take years to catch up with AppKit's functionality.

At this point Mac desktop development is effectively in a limbo: no one wants to start new AppKit projects because Apple is strongly implying that it's deprecated (although they don't seem to know exactly what it's being replaced with). So it's pretty much Electron or Qt on the Mac now, unfortunately. As an AppKit developer since 2002, it breaks my heart a bit.


> honestly the macOS app ecosystem is mostly running on fumes at this point

I don't have data, but there's no way that the Mac developer ecosystem is worse off than it was in the 00s. There's significantly more Mac users now, and there's orders of magnitude more developers with experience developing for Apple platforms.

Maybe most devs won't venture outside of iOS to try Mac development, but 10 years ago the few long-time Mac devs were (by necessity) putting their Mac projects on hold to work on iPhone apps.

> because Apple is strongly implying that it's deprecated

Lots of iOS developers are writing blog posts claiming things like this, but every single Apple app on the Mac is written using AppKit. You can't deprecate the technology behind your entire platform.

Maybe 15 years from now SwiftUI will have replaced AppKit as the dominant way to write UI code on the Mac, but generations of apps will be born and die between now and then.


> "I don't have data, but there's no way that the Mac developer ecosystem is worse off than it was in the 00s."

I don't have hard data either. But ask any old Mac developer on Twitter whether they're doing better now than ten years ago, and I bet a majority would disagree.

For one thing, the rise of mobile app stores has destroyed the perceived value of software. A $50 app now seems very expensive to most, whereas it was mid-priced back in 2008. Yet the Mac App Store has failed to bring in the mass audience that would compensate for the lower unit prices.


That isn’t specific to MacOS though, you can see it happening in the Windows world as well.


> why are MacOS apps so damned beautiful and plentiful compared to linux and windows apps?

This is entirely subjective. Several of my colleagues use MacOS and I find their interfaces overcrowded and clunky compared to my minimal linux setup. What is "plenty" to some, is "clutter" to others.


You've not seen the Linux desktops of some of the guys in our Unix Ops department. If you're allergic to clutter, you'd have a seizure.

I can't criticize. I paid for every square inch of the screen of my 27" iMac at home, and darn it, I'm going to put something on every last one of them.


While I respect your opinion and personal taste, it is not shared by the majority of app users. If it was, linux apps would dominate and webapps wouldn't.


Sure, taste is not a democratic thing.


I think it's mainly the macOS widgets that look good, thus making it easy to build a good looking UI out of those components. You can't make a nice looking UI if the very building blocks you have to build that UI are ugly.


Good designers like good design. The OS has better design consistency, which good designers like, and Mac users can tend to be pickier about design.

Not sure it has much to do with the developers at all.


> Not sure it has much to do with the developers at all.

Harsh but fair. I keep thinking that if we just make good app development easier, we could bring some of those well designed apps back to the native desktop instead of losing them all to the web. The reality, as you pointed out, is that the underlying technology is irrelevant. This is a marketing issue.


> Are the official Apple frameworks just that easy and pleasant to work with? I hear devs complain about ObjectiveC all the time, so it can't be their language choice.

I've found the former to be quite true, though QT comes close. I actually quite like ObjectiveC, but Swift is clearly superior and has had great uptake in the iOS/macOS community.


Sure, native MacOS Apps are better, but GTK Apps for me still feel significantly better than Qt ones.


I recently started to use a gtk audiobook player (https://github.com/geigi/cozy, small plug as i've been very happy with it), and it looks absolutely fine to me. Of the three frameworks in the title traditional Qt Widgets apps to me look the worst.


What do you not like about Qt? Are the apps or the Widget themselves? The apps are the job of the developer to align and padd things properly. The wdidgets are designed to look as default platforms Widgets, so on Windows you get the buttons and progressbars to look native, in Linux it will use the theme you set. Where GTK apps by default look horrible, they do not use the platform icons and styles or dialog boxes, I assume the reason is that Qt is sold as a cross platform toolkit where GTK is a Red Hat project and RH is focused mainly on GNOME


Hi, I would love to heard from your experience the easiness/difficulty to theme your Gtk application.

Also, In the analysis I tested Qt with QML, not widgets.


It definitely depends on the platform and how much effort has been put in by the author. It is definitely ugly-by-default. Try Inkscape on Mac for example... that still uses XQuartz, maybe they're still on GTK2? Or try GIMP on Windows.

But there are more attractive apps that use GTK. They just have spent time doing custom themes.


Entirely depends on your system. On Linux/BSD with the right theme it can indeed look beautiful. I also quite enjoy the "plastic-y" feel it provides with some themes (like Clearlooks).


Hi, while I agree this criterion is highly subjective, I've based my analysis on the successful Desktop applications, and how it's easy/difficult to customize components.


What about GTK programs on Windows? I am not familiar with their case on Windows platform.


I'm using Textadept and Notecase on Windows. I personally like the Win95 aesthetics, but it's not everyone's cup of tea.


I also like the Win95 aesthetics, though last time i checked Gtk+ does support Windows' theme engine (not 100% perfect but 99.9% is there). At least Gtk+ 2 does, did that change with Gtk+ 3?


Hi, I think we can objectively say that Slack or VS Code (Electron) are beautiful, while fractal or Notecase (Gtk) are not.


I would say that this is not objective at all; I find VS Code well designed but it doesnt fit with the rest of the Gnome desktop (or any desktop) at all, whereas fractal fits well with the rest of the gnome system, and in my opinion looks quite nice.


Highly subjective; I’d say that VS Code looks worse (and is certainly more clunky) than IntelliJ or even Xcode.


I’d say “modern” or “web-like” versus “traditional desktop”.

It’s not quite objective but I agree you’d probably find 90 or 99% of respondents prefer the web look for desktop apps.

The time when desktop apps looked like a consistent toolkit is gone. Now it’s more important for a desktop app to look like its own web version than to look like the next desktop app.


A consistent look trains users to expect consistent behavior. For example, a native macOS table supports various modifier key behavior, arrow key navigation, type select, drag and drop, copy and pasting rows, etc. It's worth learning these features (the theory goes) because they translate across apps.

But every web app is a snowflake, so there's no shared expertise to be developed. I don't expect anything beyond point and click. We've given up on empowering users.


> We've given up on empowering users.

That's because the mass market doesn't want to be empowered. They want to consume.

That said, phones and tablets are custom built for those people. The only people still using laptops and desktops are people who need to get things done. It's beyond time for desktop OS's and apps to start focusing on the power user again.


For a long time I have hoped that the market would bifurcate, tablets and browser based devices for consumption and the modern equivalent of Sun SPARCstations for power users.


I for one am happy to see that apps include more and more features; I really did not like that I get 10 apps vs 1 for stuff that could be easily fit into one. My bank for instance keeps adding features all the time which allows me to do everything in the app without having to get the laptop out. I really wish more companies did that. You don't have to use it (and a lot of people would not even be able to find it) but for me it saves a lot of time.




Guidelines | FAQ | Support | API | Security | Lists | Bookmarklet | Legal | Apply to YC | Contact

Search: