Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

KDE’s underlying GUI framework is Qt which is backed by a successful corporation and is used by lots of high-end professional desktop apps. That goes a long way to explain why Krita feels more right than GIMP.


Simplifying Krita vs GIMP as a difference between application frameworks is reductionist. Krita has much better connection with actual users and their needs, in the first place. Same with Kate and many other KDE apps which became fairly competent in their niches in recent years.

KDE ecosystem in general has a working user feedback loop, something that is historically hard to come by in FOSS world.


Yes, that’s absolutely what makes the difference in the end.

But if you’re going to build an app for professional content creators, it definitely helps to be using the framework that powers Autodesk Maya and many other tools that they’re already familiar with. A lot of non-obvious product needs on the framework level for this niche have already been solved.

GNOME just never had that kind of solution pull. It’s always been more of a research project.


Yes availability of technical solutions will dictate what the clients of the software can do here. You can have great connections with the users but if the core libraries you use doesn't help you to deliver the features you promised, they will leave for other solutions that actually deliver in shorter time while you struggle with GTK. This is exactly what is going on with GIMP.

GTK basically either doesn't support or make it really hard to create certain workflows outside very simple applications with limited things yo click. Also it is a C library with very leaky abstractions including gtkmm. So developing complex applications suck and waste a lot of developer time

Qt is C++ on steroids. It adds a bunch of features for GUI development, comes with a great library and many tools for testing, design and internationalization. It is overall nicer and IMO simpler to develop with. So you can go from a simple image viewer to a one with okay editing features and the difficulty doesn't skyrocket.

Another aspect is Windows support. GTK 3+ doesn't support Windows. It looks like it does but due to GNOME locking down their overall system design, the integration suffers. The UI looks off due to GNOME's insistence in client side decorated windows. Projects like Krita have lots of Windows and Mac users and Qt is the only low level cross platform UI library that actually delivers.


> But if you’re going to build an app for professional content creators, it definitely helps to be using the framework that powers Autodesk Maya and many other tools that they’re already familiar with. A lot of non-obvious product needs on the framework level for this niche have already been solved.

There are tons of professional and highly successful apps for content creators that use custom made (and often shitty/mediocre) GUI frameworks. Whatever difference using Qt makes, it's negligible. Actual features are what sell the product.


> But if you’re going to build an app for professional content creators, it definitely helps to be using the framework that powers Autodesk Maya and many other tools that they’re already familiar with.

Qt isn't that sort of framework though, it is just a GUI toolkit[0] and there is nothing special about it that makes it better than Gtk for an application like Krita.

The reason Krita is so successful is because of what orbital-decay wrote, they connect and listen to the users, not because of Qt. Obviously Krita is built on the KDE frameworks and the KDE frameworks are built on Qt, so Krita relies a ton on Qt to the point where if you consider on replacing it you might as well just rewrite the program from scratch. But Krita could have been written on, say, Java Swing, wxWidgets, Gtk or whatever other mature GUI framework and it'd still be as successful.

After all keep in mind that many other popular digital content creation tools use custom toolkits instead of Qt (e.g. Blender which is way more popular than Krita).

[0] ok, it has more functionality than GUI, but that's the main functionality and everything else can be found in many other libraries


In my experience it's not that simple. I certainly don't believe Krita written in Java Swing would be as successful.

There's a lot of complexity in GUI frameworks, and they are not interchangeable because they end up making different design choices. An application like Maya with very complex user-manipulated data structures will expose weaknesses in the framework, and the fixes and design improvements end up in the framework. A competing framework whose primary users are lightweight consumer-oriented apps doesn't get those benefits.


> In my experience it's not that simple. I certainly don't believe Krita written in Java Swing would be as successful.

I disagree here, i'm certain it would be as successful because the GUI framework is not the reason for Krita's success, it is the functionality it provides and how the developers interact with the community. The GUI framework does not have any image manipulation specific functionality (all of that is implemented by the Krita developers) and the community interaction isn't even a technical thing in the first place.

> There's a lot of complexity in GUI frameworks, and they are not interchangeable because they end up making different design choices.

I did not claim that they are interchangeable (though they can be, depending on the program's design), i even explicitly wrote that taking Qt out of Krita would mean almost rewriting the entire program as it relies heavily on it.

What i claimed was that Qt is not the reason for Krita's success and it could have the same success with other mature toolkits. There is nothing special about Qt aside from being around for long enough time to have its functionality "battle tested". This is not unique to Qt though.

> An application like Maya with very complex user-manipulated data structures will expose weaknesses in the framework, and the fixes and design improvements end up in the framework.

This is the case with any toolkit or really any library that has a lot of applications written against it, assuming the developers do not ignore all bug reports and issues the users of their libraries report.

Also since you brought up Maya specifically, Maya used to be based on the Motif toolkit until Maya 2010 (it was changed to Qt in Maya 2011), which by the same logic would mean that up until 2011, using Motif would be great for professional content creation applications since Maya used it too.


You forget about the desktop integration. At the company I work for we also selected Qt, why, because it has very good integration with many desktops. GTK is terrible in this regard (even support for other desktop on GNU/Linux apart from GNOME is not the best, let alone other OSes). And yes also Qt offers a lot more and is also more intuitive to work with and man the documentation it has, just superb. So yes, listening to user feedback is the most important but the role of a great toolkit to build on is also very important.


> You forget about the desktop integration [...] the documentation it has, just superb. So yes, listening to user feedback is the most important but the role of a great toolkit to build on is also very important.

I did not forget it, Qt has great integration and documentation but this was not a comparison of the specific features Qt and some other toolkit like Gtk may have. My claim was that Qt isn't something special that would make Krita successful while using anything else would make it less successful.

I didn't bring those things up because they weren't really relevant for my claim. Also FWIW desktop integration for Krita isn't as important as it'd be for some other types of applications - consider that Krita even comes out of the box with its own themes that it uses instead of trying to "blend in" the underlying desktop looks.

In terms of what Krita does, there isn't any functionality that it uses from Qt that couldn't be found in other toolkits like Gtk - or other libraries. It wouldn't be the same way and certainly not with the same code, but Krita could have been written using a different GUI library and framework and even in a different language and still had the same success because the GUI framework it uses is not why it is successful: it is the functionality the program provides (which was written by the Krita developers themselves) and the communication the developers have with the users (which isn't even something technical).


Qt is very special because it has excellent, "vector" fractional scaling (in a way, similar to Windows), compared to Gtk which has awful "bitmap" fractional scaling (akin to MacOS).


> Qt is very special because it has excellent, "vector" fractional scaling (in a way, similar to Windows), compared to Gtk which has awful "bitmap" fractional scaling (akin to MacOS).

This isn't unique to Qt though, other widget toolkits can provide that functionality. In fact LCL/Lazarus provides such fractional scaling even for Gtk itself by doing the scaling "manually" when using the Gtk backend.


True, but Lazarus is not widely used alas.


I came back to KDE after more than 15 years away and the improvement in Kate is astounding. It has features I would never have expected from the basic text editor.


It was such a pity about Amarok :( That whole "2.0" debacle put me off the entire KDE ecosystem for years. It's great to see them back on track. But there are still no decent music libraries / players on Linux.


Strawberry is plenty decent for me https://www.strawberrymusicplayer.org/


+1 for strawberry, coming from Windows and foobar2000, this is the only music player on Linux really up to the task of playing huge music libraries and doing it well.


Checkout Quod Libet. Better than foobar, which I used through wine for ages. It's just about the only GTK app on my KDE boxen and I gladly make the exception.


Well I've been using Linux exclusively for almost 20 years, and the only music player I'm happy with is MusicBee, which is exclusively Windows only. It used to be a nightmare getting it to run on Linux/wine, and it had a number of annoying bugs, but it's pretty solid now if you've got the very latest wine and a slightly older MusicBee.


I quite like Cantata. It does everything it needs to do and it's stable as a mountain.


> backed by a successful corporation

Are they profitable these days?

That used to be their main problem, business wise. Always losing money, so making weird choices trying to stop that.


Yes, Qt Group is profitable. It’s publicly listed and has a market cap of around $2 billion. So not very big compared to a lot of enterprise software vendors, but could be an interesting acquisition target at this price.

For a couple of years Qt was owned by Nokia, then spun off after their Microsoft OS pivot. Today I’m guessing an acquirer might be in the embedded/automotive space instead where Qt is apparently doing quite well.




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

Search: