|
|
Log in / Subscribe / Register

the default desktop

the default desktop

Posted Feb 18, 2022 2:04 UTC (Fri) by bartoc (guest, #124262)
In reply to: the default desktop by jd
Parent article: McGovern: Handing over

You can do that using any GUI toolkit that provides styling support, as GTK does. The thing that really doesn't work that well is allowing each user to pick some arbitrary combination of look/feel and features individually (allowing each app to do so is fine). It just makes things untestable.

I also think that meta-toolkits like wxWidgets are just ... not a good idea in the first place (that's different from just being configurable, they have options to literally use other toolkits, and don't do their own drawing). By doing that it becomes really hard to get a consistent look for your app, and performance can suffer. Also, you need to do a lot of the things the individual toolkits need to do anyways esp w.r.t. layout, since everyone does layout differently. In the end you create a huge amount of pain for yourself for zero benefit, and for a significant amount of layering essentially identical systems on top of each other.

The only platform that even _has_ a system look and feel anymore is Apple, and even then... If you want a really native looking mac app just make your data structures portable, and write a native app, or, again, do the drawing yourself. (I was going to say make your "model" portable, but I think that's wrong, the "model" should be as identical as possible to the underlying data representation, ideally there essentially is no "model")

I think anaconda has this problem too, not just wx, actually I think anaconda is basically an attempt at what you're describing. The "[description of a] look-and-feel and required features" is literally the definition of a gui toolkit, just pick one!


to post comments

the default desktop

Posted Feb 18, 2022 14:57 UTC (Fri) by nix (subscriber, #2304) [Link] (8 responses)

> I also think that meta-toolkits like wxWidgets are just ... not a good idea in the first place (that's different from just being configurable, they have options to literally use other toolkits, and don't do their own drawing). By doing that it becomes really hard to get a consistent look for your app

This demonstrates a complete misunderstanding of what things like wxWindows are trying to do. The point here is not to "get a consistent look for your app": it's to get a look for your app that *matches the native environment*, i.e. the toolkit it wraps over. Maybe this makes it harder to brand everything, much like providing any configurability to your poor long-suffering users does. But, y'know, other things known for being branded? Cattle and slaves. You don't try to impose brands on people you respect. Software matters less than its users: saying that users can't configure it, even in trivial ways, because of "branding" is an excellent way to tell me to stay well away from that software.

(Does GNOME let you change the default font size again? I know it stopped letting you do that for years because of "branding", which probably stopped anyone over the age of 50 from using it...)

the default desktop

Posted Feb 18, 2022 15:37 UTC (Fri) by rahulsundaram (subscriber, #21946) [Link]

> (Does GNOME let you change the default font size again? I know it stopped letting you do that for years because of "branding", which probably stopped anyone over the age of 50 from using it...)

Changing font settings has always been supported either through default settings (coarse) or GNOME tweak tool (more granular).

the default desktop

Posted Feb 19, 2022 16:15 UTC (Sat) by raven667 (subscriber, #5198) [Link] (6 responses)

> > If you want a really native looking mac app just make your data structures portable, and write a native app, or, again, do the drawing yourself

> The point here is not to "get a consistent look for your app": it's to get a look for your app that *matches the native environment*

I read this differently, not that making an app look identical _across_ platforms but to make it consistent _with_ the platform is better served by directly using the primary native toolkit rather than abstracting it, as eventually you will need to reach through the wrapper to make something work "right", which can be more complicated than just having duplicate native frontends.

> branded? Cattle and slaves

This seems unnecessarily salty, is this suggesting that Firefox users are "cattle" because it doesn't use native widget or design conventions?

the default desktop

Posted Feb 20, 2022 18:02 UTC (Sun) by nix (subscriber, #2304) [Link] (4 responses)

> This seems unnecessarily salty, is this suggesting that Firefox users are "cattle" because it doesn't use native widget or design conventions?

Only if the FF developers complain when people try to theme it, and their grounds for complaint are that it gets in the way of their "branding". (For frameworks, this also applies to apps trying to use the theming API to change their own look-and-feel, something famously difficult for a long time with Gtk due to frequent changes to allowable CSS etc. Years ago when this was particularly prevalent I gave up using several Gtk 3 apps in favour of Qt or Gtk 2 ones because their theming was a core part of their usability and it was broken repeatedly and the apps became almost unusable as a result. In other cases I had to hand-repair them by hacking the CSS myself.)

the default desktop

Posted Feb 20, 2022 18:16 UTC (Sun) by rahulsundaram (subscriber, #21946) [Link] (3 responses)

> Only if the FF developers complain when people try to theme it, and their grounds for complaint are that it gets in the way of their "branding"

If you are referring to https://stopthemingmy.app/ the prominent note on top says "Please read the letter all the way to the end. This is aimed at distributions breaking apps by default, not tinkerers playing with their own setup."

I am not aware of GNOME developers talking about branding with regards to users theming their own systems. Do you have a reference? Also any reference to slavery as a comparison in this context is incredibly insensitive. You should stop doing that.

the default desktop

Posted Feb 21, 2022 0:47 UTC (Mon) by nix (subscriber, #2304) [Link] (2 responses)

> If you are referring to https://stopthemingmy.app/ the prominent note on top says "Please read the letter all the way to the end. This is aimed at distributions breaking apps by default, not tinkerers playing with their own setup."

I'm thinking more of a large number of LWN comments from back in the day from various gnomers and gnome-attached people attacking people who dared to ask for more configurability, or not to break the configurability that was already there. (I now realise that this was probably so far back in the day that it may now be ancient history -- but memory of such things sticks, while how long ago it was does not.)

Random example, one of many, this utter trainwreck of a thread which I'd forgotten about until just now, in which a "GNOME marketing volunteer" or three attempt to convince everyone in sight that every single thing we bring up about our workflows, even font sizes, is something nobody would ever want to do and is totally unreasonable, *despite having people actively talking to them telling them about it*: <https://lwn.net/Articles/433409/>). The font-related stuff is towards the bottom: search for "tweak a font". There are even people there telling others to file bugzilla tickets if they want to change their font, because *obviously* everyone must be forced to use the exact same one.

Font sizes (and fonts in general) are particularly stupid things to make it hard to adjust, because the readability of a font depends not only on your display technology and resolution but also on your monitor distance, eyesight, possibly time of day and much else: heck I have a couple of fonts which are beautiful on one of my monitors and horrible on the other, and one that I find beautiful except when I'm tired, when it becomes a smeared mess, but only when viewed through my left eye. For almost everything in UI design, humans vary so much that there is no one good answer, so configurability is crucial.

I think this is also where I had my first encounter with the awful phrase "Linux is not about choice", to which my only answer is "yes it bloody well is, and just because you don't like users, or other developers, choosing things you disagree with doesn't mean they'll stop for your convenience, or suck up everything you change just because you want them to". That's at the very least showing contempt for your own userbase. Another of the tag team in that thread (the one in favour of unconfigurable font sizes) said elsewhere in the same thread that, and I quote, "people love change". Put the two together and apparently this means that people love change that is forced on them by software changes made by others, but they should not be allowed to make changes to even the smallest detail themselves without learning enough about the codebase to hack at it. This seems precisely 100% backwards to me.

(I note that you participated in that thread and are one of the few people there who behaved pleasantly throughout, certainly more so than I did!)

... ugh. I just reread the whole comment thread. One major plus of present-day GNOME, in addition to having brought a lot of the old configurability back: everyone involved is fairly pleasant to deal with and paternalistic assumptions that users know nothing and developers know what is best for them are largely absent. That definitely wasn't true back then. Good grief.

(And you're right, the slavery thing was hammering buttons I shouldn't have hammered. Sorry. Cross-pondian difference, I think. Probably wrongly, it's mostly considered irrelevant ancient history here, not a live issue.)

the default desktop

Posted Feb 21, 2022 4:09 UTC (Mon) by rahulsundaram (subscriber, #21946) [Link] (1 responses)

> I think this is also where I had my first encounter with the awful phrase "Linux is not about choice"

I don't think the phrase is awful in it's original context which was

https://listman.redhat.com/archives/fedora-devel-list/200...

It wasn't about UI options but core plumbing.

> One major plus of present-day GNOME, in addition to having brought a lot of the old configurability back: everyone involved is fairly pleasant to deal with and paternalistic assumptions that users know nothing and developers know what is best for them are largely absent.

I am not involved with GNOME but you are right that things change over a decade. The prescient comment from the article itself is this:

"Strangely enough, this move proved to be unpopular with users, with the result that, over time, many of those options were added back. GNOME 3 shows signs of wanting to repeat this history; the end result may well be about the same."

I think there was some amount of confusion over immaturity in new versions vs explicit design choices and explicit design choices have evolved to be more agreeable. I think the lesson here is that it is high time for UI folks (and language folks like Python) to largely follow the incremental approach taken by the Linux kernel itself (after 2.4) going forward rather than try clean break and flag days approaches ever again. It burns out too many users who hold on to their experiences for a very long time.

the default desktop

Posted Feb 21, 2022 12:58 UTC (Mon) by nix (subscriber, #2304) [Link]

> I think the lesson here is that it is high time for UI folks (and language folks like Python) to largely follow the incremental approach taken by the Linux kernel itself (after 2.4) going forward rather than try clean break and flag days approaches ever again. It burns out too many users who hold on to their experiences for a very long time.

YES. The Emacs approach! (Only... perhaps Emacs takes it too far, not making disruptive changes like calling point the cursor position because that's the way it always worked. :) )

the default desktop

Posted Feb 20, 2022 18:06 UTC (Sun) by nix (subscriber, #2304) [Link]

> I read this differently, not that making an app look identical _across_ platforms but to make it consistent _with_ the platform is better served by directly using the primary native toolkit rather than abstracting it, as eventually you will need to reach through the wrapper to make something work "right", which can be more complicated than just having duplicate native frontends.

Hm, missed this bit. You're right -- but many wxwidgets apps are explicitly using it because of its cross-platform capabilities. That is, after all, its raison d'etre. If you're working on something like that you are unlikely to agree that either discarding support for most platforms that are more-or-less well supported, or rewriting the app with native support for multiple distinct platforms (and, in effect, rewriting wx's multiplatform support inside your app), is a good use of your time. wx is useful if you want kinda-good-enough support for multiple platforms that looks and acts more or less like native apps on all of them and you're not trying to do anything so difficult that wx can't handle it. That's what it's for.


Copyright © 2026, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds