News for hackers. Stuff that matters.
Re:Remembering Windows 3.1 themes and user empowerment by selfhoster11 on Friday January 22, 2021 @10:16AM (#25872313)
Unpopular opinion: optimising for "branding" is what killed theming. Everyone wants to have their own custom colour theme, brand-associated font or button style, which clashes with uniformity of system controls.

If everyone renders buttons in a custom way, they bypass the native, theming-capable, accessible-by-default system controls. As long as product managers are happy, it doesn't matter that users aren't.

Re:Remembering Windows 3.1 themes and user empowerment by forgetfulness on Friday January 22, 2021 @10:53AM (#25872697)
Theming was HUGE in Linux back in 2005-2010, consistency was paramount, adherence to toolkit was extremely important just like Apple claimed.

For Apple it was about delivering a consistent branded experience, for the GNOME and KDE communities it was about being able to consistently customize the experience.

In Windows? Always a free-for-all of such heavy customization on the side of the third-party applications that a Windows look and feel was never really a thing, nor was theming because of the same thing.

Then GNOME 3.0 came and they went for the consistently branded experience approach, and you were left with a black and gray desktop environment that at best tolerated customization.

And it works alright, but Desktop Linux at most you'll get to work alright, the third party app ecosystem is small, without the feeling of ownership and freedom that an end-user can have with their system, customizing not the kernel but the things they're actually interacting with, what's left? An unremarkable desktop environment with few applications, that you'll want to replace with macOS as soon as you have the money.

Re:Remembering Windows 3.1 themes and user empowerment by bsdubernerd on Friday January 22, 2021 @11:12AM (#25872884)
I agree that theming was much more consistent a decade ago in linux-land. GTK2 + QT with GTK2-style would get you an almost seamless experience.

The "dark or light" theme we have today is an absolute joke by comparison.

Many Gtk-engines were also much faster in terms of pure rendering speed.

Another issue as mentioned is that per-control CSS skinning breaks easily with custom themes. Instead of using system colors devs often hard-code a custom look.

Finally, some programs go for a fully custom theme that doesn't even work properly without. Darktable is one example. Darktable looks cool, but a long time I had a hard time reading it's controls since it didn't respect system's font sizes nor it allowed to change it. The contrast was poor. It now comes with several themes, but nothing matches my system theme, which is more accessible.

As much as I love darktable, I'd skip the custom UI any day.

Re:Remembering Windows 3.1 themes and user empowerment by kiawe_fire on Friday January 22, 2021 @02:39PM (#25875397)
> Another issue as mentioned is that per-control CSS skinning breaks easily with custom themes. Instead of using system colors devs often hard-code a custom look.

After years of using MacOS, I made a commitment this year to use, support, and develop for Linux on a regular basis.

Starting off with little knowledge of GTK, I progressed from "hello world" to working on my first app, but end user customization has always been close to my heart, so naturally I started looking at what it takes to bring a GTK desktop app from "stock system UI" to "developer and user themable".

All this to say, it could be my inexperience, but I'm finding that GTK seems to be very much "all or nothing" here. I can use all the default widgets and be 100% native, and I can "* { background-color: pink; }" my way into a blank canvas, but if I want to make custom controls that build on the user's system theme and whatever accessibility he/she has set up for him/herself, I'm on my own to make my best guesses.

There's no reliable way to determine whether the user is scaling text, using a dark or light theme, or something super high contrast for accessibility. I can try to query some built in widgets and make decisions from there, but I've found that quite flaky as well.

Moreover, even finding which classes to assign to widgets to "piggy back" off the common system colors when building my own widgets is a chore of hunting through themes like Adwaita to find the piece of the system widget I'm trying to utilize. It's not quite WPF "copy the entire widget's XML and re-implement it from scratch to customize it" bad, but for as powerful as the CSS support seems to be in GTK, it feels like there's a layer in between "full system UI" and "total rebrand" that's missing.

Re:Remembering Windows 3.1 themes and user empowerment by cycloptic on Friday January 22, 2021 @03:31PM (#25875998)
For whatever reason this is not well documented, but all the theme's colors are available with a special syntax in the CSS: https://gitlab.gnome.org/GNOME/gtk/-/blob/master/gtk/theme/A...

So for example you should be using this to use the user's foreground and background color:

    color: @theme_fg_color;
    background-color: @theme_bg_color;
You can use some modifier functions on those colors too to compute additional colors: https://developer.gnome.org/gtk4/stable/ch39s02.html

I would suggest against trying to piggy back on built-in CSS styles; usually with the default widgets you want to favor composition over inheritance. But if you really need to you can use the GTK inspector to look at the styles on any given system widget, that should be a bit easier than grepping through the CSS.

Re:Remembering Windows 3.1 themes and user empowerment by kiawe_fire on Friday January 22, 2021 @04:24PM (#25876532)
Thanks for the pointers, this is very helpful!
Re:Remembering Windows 3.1 themes and user empowerment by TeMPOraL on Friday January 22, 2021 @11:52AM (#25873326)
> Another issue as mentioned is that per-control CSS skinning breaks easily with custom themes. Instead of using system colors devs often hard-code a custom look.

Ironically, you used to be able to use system colors via CSS. Like it usually happens on the web, that feature was also removed because of security reasons - apparently it made it easier for scammers to render fake system popups.

Re:Remembering Windows 3.1 themes and user empowerment by nitrogen on Friday January 22, 2021 @01:33PM (#25874553)
Some UI toolkits use CSS or CSS-like styles for native widgets, hopefully those can still access system colors.
Re:Remembering Windows 3.1 themes and user empowerment by eikenberry on Friday January 22, 2021 @05:23PM (#25877047)
I'm not sure why you're talking about Gtk/QT theming in the past tense, it all still works the same way with modern versions of Gtk/QT.
Re:Remembering Windows 3.1 themes and user empowerment by Teknoman117 on Friday January 22, 2021 @02:20PM (#25875143)
I still use gtk2 style for Qt to this day, as it's still supported in Qt 5. I run i3 as my window manager, and most of my applications are either Qt or still using GTK2 (like pcmanfm).
Re:Remembering Windows 3.1 themes and user empowerment by grawprog on Friday January 22, 2021 @12:23PM (#25873747)
Reading this discussion got me thinking. I've been using KDE now for years specifically because every part of it can be customized, but for the most part, i've used the same theme and configurations now for pretty much the entire time i've been using kde.

I still think it comes down to branding though, even with those totally customizable environments. The difference is, it's not someone else's brand. I get to turn my environment into my own 'brand'.

That's always kind of been the appeal of theming and customization to me, the ability to remove someone else's brand from my computer and replace it with my own.

Re:Remembering Windows 3.1 themes and user empowerment by nitrogen on Friday January 22, 2021 @01:38PM (#25874610)
the ability to remove someone else's brand from my computer and replace it with my own.

In Windows 2000 and earlier, before system file protection, it was possible to use a resource editor and/or a specially crafted BMP file to change system icons, boot animations, start menu imagery, login screen, etc. With a hex editor you could change any UI text, too. I had a heavily customized W2K alongside my heavily customized Linux (even started working on my own graphical boot animations and graphical login for the text console as part of a media-focused distro project I had joined).

Re:Remembering Windows 3.1 themes and user empowerment by fl0wenol on Friday January 22, 2021 @05:10PM (#25876920)
I remember doing the same for Windows 2003. Got a little more difficult with the theme engine and having to use cmd shells running as SYSTEM but the end results were so satisfying. Sigh
Re:Remembering Windows 3.1 themes and user empowerment by deckard1 on Friday January 22, 2021 @03:30PM (#25875987)
> Theming was HUGE in Linux back in 2005-2010

Eh? Theming was fizzling out by 2005, which starts to correspond to the rise of OS X and Macbooks.

Enlightenment came out in 1997 and was all about theming. But theming predated E by a few years already. https://en.wikipedia.org/wiki/Enlightenment_(software)

This is what I would call the "golden years" for Linux theming. Late '90s to early 2000s.

> Windows look and feel was never really a thing, nor was theming because of the same thing.

I mean. Did you even read the article you're commenting on? Windows 3.11 had themes. Windows 95 had Microsoft Plus: https://en.wikipedia.org/wiki/Microsoft_Plus!

> Then GNOME 3.0 came and they went for the consistently branded experience approach

This happened way before GNOME 3 was a thing. GNOME 2, Xfce, and others stopped their obsession with Windows and started thinking about OS X, which was eating the desktop UNIX lunch.

Re:Remembering Windows 3.1 themes and user empowerment by forgetfulness on Friday January 22, 2021 @04:05PM (#25876343)
> Eh? Theming was fizzling out by 2005, which starts to correspond to the rise of OS X and Macbooks.

I don't know man, it's what I saw as more and more people came to Ubuntu with Windows Vista flopping, and they came with expectations of a flashy UX and a dynamic growth of the platform. Lots of theming, lots of hopeful mockups and GTK+ struggling to support transparency as theming engines hacked it in, the race to incorporate compositing and having everyone's graphics cards actually work.

I get it that there was a lull during the transition between GNOME 2 and GNOME 1, many of the myriad themes you found on repos in 2005 were ports of GTK 1.X themes, no more. But the influx of Windows users injected a lot of vitality into the theming scene.

> I mean. Did you even read the article you're commenting on? Windows 3.11 had themes. Windows 95 had Microsoft Plus: https://en.wikipedia.org/wiki/Microsoft_Plus!

Precisely, long-since retired technology. The Windows XP era lasted 8 long years, as people for the most part skipped Vista. It just wasn't very prominent and crazy custom UIs were rampant.

Re:Remembering Windows 3.1 themes and user empowerment by bcrl on Friday January 22, 2021 @08:06PM (#25878476)
Enlightenment was awesome in the early 2000s, even having a translucent terminal feature. Then the Gnome project started giving the giant middle finger to their users and began removing all the features to use for customization. I remember the day when a Gnome update decided to change key bindings unannounced. Xchat flipped from Unix X11 key bindings to Windows bindings. The argument was that they were going after "Aunt Tilly", the mythical desktop Linux user who never actually appeared. This drove those of us who were developers away. I can't stand Gnome these days and use Openbox / xfce instead, 2 desktops that don't try to drive their users away. Sadly, Red Hat still funds Gnome primarily rather than the vibrant situation we had back then.
Re:Remembering Windows 3.1 themes and user empowerment by cycloptic on Friday January 22, 2021 @09:05PM (#25878830)
Just saying, if you're happy with a *box window manager that hasn't changed much in the last 15 years, you were probably not ever the target audience of gnome. I also don't see why those type of projects would need much funding, compared to ones that are actively seeking to expand their userbase beyond developers. (and I would agree that gnome is not perfect and is not the only contender in this category)
Re:Remembering Windows 3.1 themes and user empowerment by bcrl on Saturday January 23, 2021 @04:46PM (#25886458)
It's the loss of features that drove me away from Gnome. First configuration options were hidden, then removed. Window borders became larger, and bloated transitions slowed everything down. Menus were removed and replaced with incomprehensible drawings with no meaning. Keyboard shortcuts made non-obvious. Not at all an improvement over the state of the platform 20 years ago in my opinion when things were much more lightweight and interfaces were more discoverable. A lot has been lost for desktops in the push for an interface that "works" on tablets.
Re:Remembering Windows 3.1 themes and user empowerment by jcelerier on Friday January 22, 2021 @01:37PM (#25874589)
> Theming was HUGE in Linux back in 2005-2010, consistency was paramount, adherence to toolkit was extremely important just like Apple claimed.

it still is, just look at how neat things in https://reddit.com/r/unixporn/ look

Re:Remembering Windows 3.1 themes and user empowerment by ravi-delia on Friday January 22, 2021 @01:55PM (#25874796)
But none of that was configured in one place, with every other program taking its lead from that central configuration. Instead, effort must be made to work through every program individually, customizing its color scheme.
Re:Remembering Windows 3.1 themes and user empowerment by jcelerier on Friday January 22, 2021 @02:10PM (#25874999)
> But none of that was configured in one place, with every other program taking its lead from that central configuration

that's definitely not my experience with KDE, I just have to set a theme on the system settings and 99% of apps take it (e.g. with this theme in my case: https://www.reddit.com/r/unixporn/comments/b49l7k/kde_sweet_...).

Re:Remembering Windows 3.1 themes and user empowerment by Teknoman117 on Friday January 22, 2021 @02:16PM (#25875109)
For any apps written using Qt, sure.
Re:Remembering Windows 3.1 themes and user empowerment by bmn__ on Friday January 22, 2021 @07:13PM (#25878105)
Would you be surprised to learn the configuration is not for Qt/KDE only? Check packages xsettingsd, kde-gtk-config and qtcurve.
Re:Remembering Windows 3.1 themes and user empowerment by deckard1 on Friday January 22, 2021 @03:37PM (#25876060)
that's how it has always been. There isn't a system out there that does theming where some apps won't be left out. It's practically impossible. Even dark mode on iOS doesn't work on every app. And then there is Android... which is just unspeakably bad at all things UX.
Re:Remembering Windows 3.1 themes and user empowerment by smoldesu on Friday January 22, 2021 @03:11PM (#25875772)
I'm not sure when the last time you've used a Linux desktop is, but today that is mostly not the case. The third party app ecosystem is relatively strong today on Linux, with multiple implementations of Spotify, Discord and other "must have" apps. Since many of them are simply wrapped in Electron and shipped out to the end user, theming these apps are a cinch. If user empowerment is the topic of conversation, you shouldn't be ushering users to replace their systems with Macs "as soon as {they} have the money."
Re:Remembering Windows 3.1 themes and user empowerment by jefftk on Saturday January 23, 2021 @08:05AM (#25881906)
> consistency was paramount, adherence to toolkit was extremely important just like Apple claimed.

That is not my memory. If you were careful to use just programs from KDE/Qt or GNOME/GTK, then this was about right, but every graphics toolkit had its own way of handling theming, and if you combined programs built with multiple graphics toolkits (additionally: Motif, Java, raw X) that would not respect your configuration.

Re:Remembering Windows 3.1 themes and user empowerment by anigbrowl on Friday January 22, 2021 @04:19PM (#25876496)
This has been bugging me for years. I was having a much better user experience ~20 years ago with Enlightenment desktop on top of Gnome or a lightweight window manager.
Re:Remembering Windows 3.1 themes and user empowerment by indymike on Friday January 22, 2021 @03:36PM (#25876044)
The current KDE does a great job allowing for customization.
Re:Remembering Windows 3.1 themes and user empowerment by bmn__ on Friday January 22, 2021 @08:00PM (#25878439)
No, it is currently barely sufficient, certainly not great.

The scrollbar in System Settings is impossible to customise (through the GUI). Tray icons and log-off dialogue icons and the task bar appearance cannot quickly or easily customised because due to "theme"ing changing one thing also changes the other.

The maintainers screwed up and it was all downhill after version 3. Each major version introduced an incompatibility that meant that some users were forced to abandon, e.g. KDE Classic icons or window decorations Bâ…¡ https://cdn.pling.com/img//hive/content-pre2/5965-2.png or Crystal https://cdn.pling.com/img//hive/content-pre1/13969-1.jpg

Re:Remembering Windows 3.1 themes and user empowerment by indymike on Saturday January 23, 2021 @08:42AM (#25882134)
These are small losses compared to the complete lack of customization in say ios or modern Windows. Still KDE2 was very good.
Re:Remembering Windows 3.1 themes and user empowerment by jonpurdy on Friday January 22, 2021 @12:08PM (#25873554)
As a Technical PM, I fought against a former boss when they wanted to forego native controls because they wanted their app to be branded, because without a custom look they felt that their app would not be unique and memorable.

If an app can't survive on its usefulness alone, it probably shouldn't exist.

As a user, if an app doesn't have a native UI, I disregard it unless I need it for a specific and mandatory use.

Re:Remembering Windows 3.1 themes and user empowerment by virtue3 on Friday January 22, 2021 @12:37PM (#25873943)
The only time you should NOT be using a native control is when you have UX that demands something very custom. Or you're doing some multiplatform thing, in which case you should try and use a toolkit that can at least pretend to be native controls on all the platforms.
Re:Remembering Windows 3.1 themes and user empowerment by CodeGlitch on Friday January 22, 2021 @12:58PM (#25874179)
I believe Winamp became so popular because it had such a unique UI, that was also incredibly customizable. Compare that to Windows media player at the time...

On the flip side I want me email client, my desktop authoring tools and admin tools to all look and act the same.

Re:Remembering Windows 3.1 themes and user empowerment by deathanatos on Friday January 22, 2021 @01:04PM (#25874243)
Perhaps partly, but the UI was also useful compared to WMP. WMP was slow, bulky, and took up lots of screen real estate. WinAmp, while it was themed, was slim, but also packed far more control into a tinier space than WMP.

(The blue/grey theme that came later was far less performant; I mean the original dark green/black theme.)

And WinAmp would open & play literally any format under the sun. WMP was limited to something like MP3 and WMA. (And maybe WAV.)

Re:Remembering Windows 3.1 themes and user empowerment by recursive on Saturday January 23, 2021 @12:02AM (#25879819)
When Winamp first came out, everything was single core. Decoding mp3 took a significant bite out available CPU. Winamp was relatively efficient in CPU in RAM, especially compared to WMP.
Re:Remembering Windows 3.1 themes and user empowerment by RedShift1 on Friday January 22, 2021 @03:12PM (#25875782)
WMP plays anything the system has a codec for.
Re:Remembering Windows 3.1 themes and user empowerment by hombre_fatal on Friday January 22, 2021 @08:58PM (#25878795)
Making users care what codecs are and which are available on their system (and with no UI to even answer that question) is just another example of how bad some organizations are at UX.

That's how VLC became so popular. They realized "sorry, you don't have that codec" is only a bureaucrat's idea of good UX so they shipped every codec in software.

Re:Remembering Windows 3.1 themes and user empowerment by TeMPOraL on Friday January 22, 2021 @04:54PM (#25876763)
Ah, codecs. The biggest PITA on Windows in the 1990s/2000s. I went through two or three different videoplayers for the sole reason they shipped with whatever was needed to open just about any format out there. Meanwhile, trying to coerce WMP to open popular video formats was an exercise in futility...
Re:Remembering Windows 3.1 themes and user empowerment by core-questions on Friday January 22, 2021 @02:22PM (#25875161)
> I believe Winamp became so popular because it had such a unique UI

Well, yes and no. Remember, Windows Media player used to be this:

https://www.windows-media-player.com/wp-content/uploads/2019...

and without system-installed codecs, which were hard to come by for something like MP3 files, it was basically useless; you could play MIDI files through your shitty OPL-3 FM synth and that's about it.

Winamp came with a remarkable set of capabilities: - A bunch of useful codecs out of the box - An extensible plugin system, with input, output, general, and visualization plugins - Skinnable UI

The secret sauce was the extensibility, really. You could kill hours just tweaking your Winamp, installing crazy audio effect plugins, and so forth. It was really a new breed of application for most users who were used to really business-like apps.

Re:Remembering Windows 3.1 themes and user empowerment by amlib on Friday January 22, 2021 @09:32PM (#25878999)
To corroborate your point, I loved fiddling with the Enhancer plugin:

https://i.imgur.com/DuxpATX.gif

It's what started my desire for better sound quality, pursuing better equipment and assembling my own crazy dsp stacks in order to... well, enhance sound quality, which I do to this day!

Dealing with equalizers, dynamics processors, crossover, convolvers/IR, applying hrtf/hrir found on the net, using room eq wizard to try and improve speaker/room response, buying a damn binaural microphone so I could make my own ears impulse responses... I ended up learning a lot about the subject, form such a tiny "seed"

Re:Remembering Windows 3.1 themes and user empowerment by mekkkkkk on Friday January 22, 2021 @09:18PM (#25878917)
The Winamp (classic) skinning was so brutally effective, considering how simple they were. AFAIK the bulk of the skin consisted of two or three .bmp-files which were spritesheet for all controls and fonts. Literally anyone could make one with a tiny bit of effort.

Now that screen resolutions vary quite a bit I suppose it wouldn't work as well as when all monitors were mediocre 800x600 or glorious high res 1024x768. Ah, the nostalgia.

Re:Remembering Windows 3.1 themes and user empowerment by deckard1 on Friday January 22, 2021 @03:54PM (#25876238)
> As a user, if an app doesn't have a native UI, I disregard it

I disagree rather strongly with this. You should use the UI elements that make sense. It doesn't make sense for Maya or Blender or Photoshop to constrain themselves to whatever Microsoft picked out for them to use. The palette of native widgets and native UX methods is woeful across all systems. It's constrained to the set of generic elements which are applicable to some theoretical business application, like Word or Excel (which, I must point out, could neither be implemented fully in terms of native UI widgets alone).

> If an app can't survive on its usefulness alone, it probably shouldn't exist.

Form follows function. And I would argue the opposite of the point you're making: if an app can exist purely in terms of native UI widgets, does it even need to exist? I can think of almost no useful apps outside of basic utility apps (file copying, patching, app installers, etc.) that are useful and fully native UI.

Re:Remembering Windows 3.1 themes and user empowerment by jonpurdy on Friday January 22, 2021 @06:13PM (#25877508)
Parent here. I suppose my beliefs are more nuanced than what I specified in my post.

> You should use the UI elements that make sense. It doesn't make sense for Maya or Blender or Photoshop to constrain themselves to whatever Microsoft picked out for them to use.

The nuance in my beliefs is that if UI elements aren't available for the function, then apps should absolutely build custom UI. I agree with you there.

It's when you have a basic app that can entirely use native controls and chooses to forego them to do everything custom that I have a problem with.

For my particular example, we were building a cryptocurrency wallet for a new blockchain. It was simple enough to use entirely native controls but definitely didn't need a custom UI.

Re:Remembering Windows 3.1 themes and user empowerment by anigbrowl on Friday January 22, 2021 @05:02PM (#25876840)
Arguably it's woeful because everyone goes off and does their own thing rather than having any notion of a shareable commons.
Re:Remembering Windows 3.1 themes and user empowerment by userbinator on Saturday January 23, 2021 @12:41AM (#25879986)
Photoshop definitely uses native UI:

http://wp.xin.at/wp-content/uploads/2017/08/photoshop-cs6-fu...

That said, I'm not entirely sure Photoshop makes a strong point for making custom UI controls, since besides the primary interaction of pointing and clicking on an image, everything else is either dialogs, menus, and toolbars --- all of which are available in the native UI.

Re:Remembering Windows 3.1 themes and user empowerment by anigbrowl on Friday January 22, 2021 @04:16PM (#25876461)
Agreed. CSS is the worst thing to happen the web because it privileged advertising and designers over content and writers, and designers make more by going from client to client. Instead of the web being the world's library, it has ended up like an endless magazine stand, optimizing for sensationalist crap.
Re:Remembering Windows 3.1 themes and user empowerment by InvisibleUp on Friday January 22, 2021 @12:10PM (#25873582)
This MSDN article (which starts by recounting a day in 1995) backs your theory up: https://docs.microsoft.com/en-us/previous-versions/ms364048(...
Re:Remembering Windows 3.1 themes and user empowerment by II2II on Friday January 22, 2021 @10:51AM (#25872676)
I suspect there is more to it than branding. You can still establish a brand through the design and texture of controls, while letting the end user have limited control over colour. That is evident in the classic Mac OS as well as modern Windows.

What we are most likely seeing is push-back over some of the excesses of themes. Branding is likely part of that, but the astounding number of controls likely played a negative role in the user experience as well.

Re:Remembering Windows 3.1 themes and user empowerment by pwdisswordfish5 on Friday January 22, 2021 @10:25AM (#25872406)
I thought this was obvious.
Re:Remembering Windows 3.1 themes and user empowerment by u678u on Friday January 22, 2021 @11:31AM (#25873090)
I remember when office came out late 90s with the custom DLL to make everything grey and 3d looking instead of white. It was cool, but yeah breaks the consistent theme.
Re:Remembering Windows 3.1 themes and user empowerment by bitwize on Friday January 22, 2021 @10:44AM (#25872592)
This was true in the 90s as well, or have you never used Kai's Power Tools?

What's more recent is that the OS vendor now considers UI font and color choices part of their brand, and thus fixed them immutably for "consistency" i.e., to advertise the Apple-ness of the Apple UI even in screen shots of the OS in action.

Re:Remembering Windows 3.1 themes and user empowerment by encom on Friday January 22, 2021 @10:51AM (#25872680)
>Kai's Power Tools

Page curls. Page curls everywhere!