Remembering Windows 3.1 themes and user empowerment
hisham.hm
hisham.hm
* Horizontal scrolling
* Scrolling when using pen/touch input on non-touch UIs
* Making it obvious that a content area is scrollable
* Providing context into how much content is visible vs. hidden, and where you are in the document
* Making it easy to scroll to a precise location without sitting there twiddling the wheel for minutes to go through something long
> My view is that content is king and any UI element that needlessly takes away space from the content needs to be destroyed.
Your view makes sense at 640x480. Maybe on a mobile screen. On a widescreen computer display, there's plenty of space for elegant UI controls.
In case it isn’t, scroll bars are for quickly figuring out the scope, for quick positioning and for remembering where in the article things are.
2. Size of elevator in relation to the scrollbar tells me what percentage of the content is viewable (except when the size of the elevator becomes so small it makes it unusable).
3. Up and down buttons allow a simple way to bring the next or previous item into view.
A lot of the hate of scrollbars comes from the web, where browser scrollbars could not be styled and didn't necessarily use the operating system's style. You could have a beautiful page be ruined by the default windows 3.11 style scrollbars in the browser.
0. The existence of a scrollbar tells you there's something to be scrolled.
Flat UIs are pretty good at accidentally hiding the fact that not all of the content fits on screen on in whatever borderless frame.
Also fun when websites that are waging their holy war against the bars don't anticipate that I'm zoomed in a bit. Having to delve into devtools to disable "overflow: hidden" is a delight.
There’s about a million different secret handshakes and gestures in iOS UI, but I consider the most egregious UI failure to be the “Share” button, which manages to pop up a modal in such a way that it often disguises both that it can be be scrolled vertically AND that it can be scrolled horizontally.
Here are others:
-Discoverability: Is there more content? (Scrollbar enabled/disabled) How much? (Size of scrollbar)
-Jumping to a location in the content
-Skimming by hyperfast scrolling
-Coasting by holding a scroll button pressed (this one is forever lost because the buttons have been abolished
-Providing a space for bookmark indicators/in-page search result indicators
There are probably other use cases too.
Content is king, but kings have all sorts of people supporting them. In fact you can immediately tell who's the king not by how solitary and unencumbered he is but by how much clutter and commotion and how many attendants are around him. I realize I'm pushing the analogy too far.
But please. just stop making everything flat ffs. On the GUIs of old, you knew straight away what you could interact with, while now, everything is so flat or hidden away that everything blends together, I have no idea what I can click on and what's static unless I used the app before.
Best example, compare Windows 95/2000/XP to 8/10.
Also, please stop with the auto-hiding bs. Sometimes I have to do a brute force sweep of the GUI with the cursor to trigger some elements to pop up from where they were hiding. WTF?! This would have made more sense 20-30 years ago when displays were running at 640x480 so real estate was precious, but now FullHD is the entry level norm.
That's funny. I use them in the exact opposite way.
When I want exact positioning then I will use the scrollbar. When I want to scroll past pages and pages, I will just fling the scrollwheel.
Some of their newer gaming mice have a half-ass version of this as well with a manual mechanical toggle.
For exact scrolling I'll use the scroll wheel or dive for the scrollbar.
What I really want is a toggle bound to a button for enabling/disabling drag scrolling. Most of my flow is keyboard based so being able to toggle that on/off for a dedicated stroller would be great.
Its battery lasts about a few weeks with above-average use (12+ hours per day, 7 days per week)
Scroll bars, on the other hand are perfect for that kind of jump — where you don’t know what you’re looking for, but you know mostly where it is, and you’ll recognize it when you see it.
† There was a time, right when momentum scrolling was first introduced as a third-party mouse-driver feature ca. Windows 98, where it wasn’t capped. But that was a horrible UX: if something was really far down the document, then by the time you saw the thing you wanted to stop at, you would often be going far too fast and overshoot it by a lot, requiring almost as much scrolling back in the other direction. This first iteration of the feature basically expected people to understand how to “land” on a target using inertial, frictionless thrust. I imagine there were some future Kerbal Space Program players who enjoyed that, but most people didn’t.
Your vision probably is correct in most of the cases as people just misuse this, yet this makes another kind of sense also: the more elements you see the harder tha is to digest for your brain (attention). Screen space has became more abundant but human attention capacity has not (perhaps it even decreased).
Try me.
1. Back when scroll bars were fixed width and consistent across all applications, I would instinctively tune them out when I wasn't using them; I don't need the application to do that for me.
2. More importantly, many websites are adding some kind of progress indicator on the page itself (perhaps because the scroll bars are no longer obvious enough?). These are way more in-your-face than the scroll bars of yore.
If there were fewer elements _total_, okay I'd agree with you. But all the elements are there, just some of them are hidden, so they take _more_ time to remember how to reveal each one.
When they're all visible, you can use simple 2-D memory, and "reach for" the area that a given control is in, even before you've found it, because you know it's in that general area. Get the mouse moving there, find it, zero in on it.
When some of them are hidden, you have to remember which hiding place they're in (object permanence), then wiggle the mouse over in that area, wait for them to reveal themselves, then find the one you want, and start another motion to hit it.
PgUp and PgDn are still my preferred mechanism for vertical panning. Once upon a time they even reliably moved you up or down a whole "screen" of content.
I modified my pedal so it just takes a very slight twitch of my toe to use it.
But nowadays - a background thread will search for the stuff that should appear in the UI, and adds that directly when it found something.
You can solve the problem by changing the mouse icon to the hourglass, blocking the UI for just enough time to not get any accidental clicks, and update it.
As side effect, every update now takes some time - so you have to minimize the number of updates.
(Discloseure: I work at Google, speaking only for myself)
Give me scrollbars and keep them visible please.
Mac: General Preferences has an option "Show scroll bars" which you can set to "Always".
Does not work in all programs.
> Mac: General Preferences has an option "Show scroll bars" which you can set to "Always".
here's your comment in firefox with a glorious scrollbar: https://oshi.at/mLveVJ/scrollbar.png
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.
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.
Page curls. Page curls everywhere!
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.
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.
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.
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.
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.
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.htmlI 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.
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.
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).
it still is, just look at how neat things in https://reddit.com/r/unixporn/ look
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_...).
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.
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.
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
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.
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.
On the flip side I want me email client, my desktop authoring tools and admin tools to all look and act the same.
(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.)
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.
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.
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"
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.
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.
> 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.
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.
The level of consistency and overall caring is very high by today’s standards. The tutorial explains core GUI concepts like mouse movements and windows. This is something I’d gladly show to my parents, for example.
1. https://ui.codexpanse.com/ 2. https://ui.codexpanse.com/windows-311-intro-tutorial-video.h...
Edit: I also suggest you scale those Windows 2 screenshots to the correct aspect ratio. They currently look very stretched.
Sure, it's not an effect of themes, for sure. It's everything from, code for all my personal projects are in a git repo somewhere online, important personal media are backed up in the cloud or external drives, text chat history are backed up in some app or in the cloud, music is listened to on some app, etc. So much so that if a laptop of mine is bricked randomly one day, I don't suffer much of a loss (other than spending the money to get a new one).
Back in the 90s or early 00s, it would've been catastrophic to lose a computer. I would have had so many personal files of all kinds, customizations of all kinds, that would be lost. Nowadays, a machine is mostly disposable. If one is lost, I simply get a new one, and all my stuff is online or accessible somewhere. I no longer think of my computer as a prized possession I can't lose, but rather just another tool.
The diminishing ownership of ones's computer only makes your data more linked into your device and the device's manufacturer. We are lucky in that desktops are still free enough that this isn't a problem, but there is severe loss of data when one loses mobile devices, for example.
Perhaps privacy centric individuals who disable the built-in backup systems would have a hard time, but the typical user goes with the defaults most of the time.
The downside is that I can't just change machines nilly-willy, I need to sync first, at least if things overlap. For example, I can use one Firefox profile on one machine, another on a second machine, and use Thunderbird on a third, but I can't use the same profile on several machines without getting a merge conflict, so to speak. That was confusing and annoying for like a week, since then it's not been a problem, and by now I'm so pampered by it, I simply avoid stuff that doesn't play nicely with my workflow. Smartphone apps, for example, or programs that doesn't allow me to configure the paths it uses, and so on.
Since I use applications and work on data, the OS doesn't that matter much. I mind changing Windows from the ass-backwards defaults much less than sticking with the defaults, and I do that as I go along, i.e. when I use a feature or get annoyed by the default, I just change it. That doesn't require any thought and very little time, so the configuration I would have to repeat on a new system isn't something I consider valuable, I'm pretty sure it takes much less time in total than working with the default config, in the long run. If I had to do it more often than every once in a blue moon, I'd find ways to automate it.
I am just not interested in something that could go away based on the decision of some pointy-haired boss, which is tends to be inferior software in the first place, anyway. Like, compare Directory Opus with Windows Explorer, one is a serious application, the other is a toy that constantly gets in your way.
I agree with pretty much everything you said, but I also agree it doesn't argue against the author. That is to say "why not both?" I remember using NT on a domain with active directory profiles in the 90s, and while my memory is quite foggy, I believe some settings were carried between computers on my profile.
In the world of today, I can lock my taskbar on the side instead of the bottom and set my wallpaper, and the customization is saved to my Microsoft account, and loaded on other computers when I login (unless there's a local override, like Bing Wallpaper.)
But I believe colors (like your Accent Color) is still specific to each device. And I have no idea why - though I don't mind since I like using a different color on my laptop and desktop.
I'm rambling, but I think they could still allow all the customization, but also store parts of it on the cloud and carry it with you.
Not just some, most of it (some sensible settings such as hardware configuration are of course excluded, but if you somehow always want to have a 640x480 resolution then you're on your own). Even correctly-coded applications that can differentiate bewteen the Local (%LocalAppData%) and Roaming (%AppData%) application data do take advantage of it.
With that being said, a lot of themes were UGLY or clones of OS X or Windows.
http://dave.oc7.org/minimalism/themes.shtml
Some folks still run litestep, but it's definitely not the community it was. We still have a small chat presence on discord and that is about it.
Agreed. That's why the GUI toolkit must provide as exhaustive as possible a set of widgets, and those widgets must be versatile; so that applications developers can build basically everything from those widgets and not feel the need to build their own from a raw canvas or something like that.
So you’re kind of forced to roll your own if you’re stuck on a legacy framework but want your app to look modern.
Perhaps "look modern" is not a good thing after all. Especially considering the discussion here.
That's the root problem, though, isn't it? It's a business/people problem. You won't have consistent UIs as long as software vendors consider look&feel as something to exploit for branding or competitive advantage. Since user feedback is rarely sought and routinely ignored in computing, you'd need the OS vendor to either disallow UIs not conforming to system theme, or make them impossible (by taking away the API for per-pixel drawing). Neither of those options is likely to happen.
> Since user feedback is rarely sought and routinely ignored in computing
This needs to change, too. I collect user feedback and act on it and my users love me more often than not. The world would be a better place if everyone was doing this.
How did we get into a world where 20 years later with Windows 10 you can't even set a dark title bar color because Windows will say "that color is not supported". There's a cut off when picking a custom color where if you go below a certain shade of darkness it denies you.
In this case disallowing a darker color creates less contrast and visibility because Windows will use white text behind it.
It's also one of those silly limits where one shade is allowed but then you make a 000001 adjustment to it and suddenly it's disallowed. It feels like an arbitrary decision to not let users pick the color they really want.
To me it feels like the complete opposite of user empowerment.
What's worse, early versions of Win10 didn't even let you set the colour of titlebars at all!
https://www.cnet.com/how-to/how-to-restore-color-to-the-titl...
Presumably it was only put back after massive outrage, which then begs the question of why they even removed the feature in the first place. 8.1, the version immediately before 10, still had the feature. The behaviour of recent (i.e. post-XP or so) MS Windows development teams continues to amaze and puzzle me.
The public response was entirely predictable (for "not being the target customer", it turns out that we knew how they think pretty well) and soon enough we added a toggle for color and APIs to control title bar colors back in TH1.
I understand the rationale for the market evolving as it did: the world of computers is now much seedier than it was in the ‘90s... every customisation option will be jumped on by malware writers of all sorts. Tweakers are now effectively banished from commercial vendors, but at least we’ll always have Linux.
Not directly. If you code in Win32 on modern Windows, you pretty much have to enable themed widgets. Once you've enabled themed widgets, you give up the ability for the user to control the appearance.
I don't believe there was any technical reason for the change; it was the desire to have themed widgets (or in plain English: branded widgets) which made them uncustomisable.
Even its standard Windows theme is a poor imitation of actual Windows style - you can easily spot WPF apps with default theme because they stick out like an eye sore.
My impression was that it wasn’t worth it for small apps and not performant enough for things like CAD, etc.
It's certainly perfomant enough (much faster than web) for complex apps like CAD - the actual editor/renderer won't be WPF of course but some custom OpenGL/Direct3D code.
Products who do theming well tend to be popular among their users — eg IntelliJ and VSCode of course, but tbh Emacs and vim are no slouches in this regard.
The issue isn't necessarily caused by the controls themselves or even the theming engine baked into WPF. Had Microsoft prioritized it, WPF might have had stronger system theming/retheming out of the box. It could have provided stronger design themes and more user choice in adopting theme. There's a brief window in the Zune development life cycle where they almost delivered exactly such a thing for WPF. IIRC there were 3 or 4 prominent Zune themes and easy style sheet swaps (including on the fly) to switch between them in WPF and those base stylesheets were almost productionized and included in the system WPF resources. (Then of course we all know what happened to the Zune and things moved to other platforms.) They still likely would have been opt-in because Microsoft prioritizes backwards compatibility, but they were a glimpse to the timeline where Microsoft had maybe done that sort of design work further ahead of time and forced it to be opt-out by default. (Admittedly which they tried and failed to with Windows 8 because developers complained too much that the opt-out was too hard and we'd already lost the war for "native controls/native themes" by that point to corporate/enterprise designers and branding efforts.)
Of course the "two worlds" problem of having multiple "competing" systems controls between the classic Win32 world and the WPF/XAML world is unlikely to ever be solved, given backwards compatibility assurances, but having "two worlds" shouldn't have stopped Microsoft from a single unified theming engine had they the initiative/prioritization. There's even hints that some people at Microsoft were considering it back before WPF was launched. WPF was always a partial shell of the "Avalon" dream of Longhorn's tumultuous development.
The go-to source for Fluxbox themes: https://tenr.de/styles/ (currently down, hopefully not permanently)
Mirror: http://web.archive.org/web/20201019233308/https://tenr.de/st...
Nothing has this same variety today. I hate how serious computing has become.
Sad that it hasn't had an update in over 5 years, but also good in the sense that it's not becoming a shadow of it's former self and is still has the same solid principles and themes it's had for years.
Look at the three highlighted configs on their main page:
They have an archive of screenshots of various people's configs at:
https://www.fvwm.org/Archive/Screenshots/
Just compare these two - would you think it's the same WM?
https://www.fvwm.org/Archive/Screenshots/2011-04-15_Christin...
https://www.fvwm.org/Archive/Screenshots/2011-04-15_Christin...
There is also Enlightenment. It was amazing back in 2002, and everyone was waiting for the next version (which finally came out in 2012!)
https://www.enlightenment.org/
While I really like customizability, I just don't have time to learn each WM's capabilities to customize my own. Once I figured out an FVWM config, I used it for 5-7 years. Then I tried AwesomeWM and although I didn't customize it, I can't go back to non-tiling WMs. I've been using it for almost a decade. EXWM will probably be my next attempt, as I do know some Emacs Lisp if I want to customize it.
Furthermore, the schemes were free to rearrange and reshape window chrome as the artist pleased, meaning it was possible to do things like have a titlebar on the bottom of the window or to make the titlebar into a vertical tab that hung off the left or right edges of the window. Heck, it was even possible to make windows take on odd, non-square shapes. The results weren't always practical, but it was a great enabler of creativity, and made for probably the most true-to-the original OS themes on any platform.
The only thing that even comes close is probably WinXP/Win7 msstyles, but even those have significant limitations compared to Kaleidoscope. Some arrangements of Linux desktops come close from a technical perspective, but suffer from the customizability being divided into 500 small pieces, making it a bit arduous to get everything to match up.
EDIT: One other thing — Kaleidoscope had something unique that I have yet to see replicated elsewhere: there was no installation process for schemes. You could keep your schemes wherever you pleased, and switching them was as simple as navigating to the desired scheme in Finder and double-clicking it. Boom, done. No obscure and/or hidden directories to copy things to, no incantations to make them show up in a control panel. More things could use that classic Mac flavor of simplicity.
Those themes were pretty good, but suffered some significant limitations, especially with dark themes and carbon apps. The best OS X themes really looked great though, since they supported full color and alpha.
It's interesting that the most slick and stylish desktops are now on Linux (of course there's 99% trash, but the remaining 1% are a lot more aesthetically pleasing than both the current Win10 and macOS themes).
But that's only for KDE nowadays, there was a period where GNOME was breaking theming with new releases and its maintainers argued for why they just supported the standard Adwaita theme and not anything else. KDE comes with a historic sloppiness at the individual application level, you'll quickly notice that padding, margins, lines, orientation are all over the place and it's just how KDE application developers roll.
I'm offended. 99% of the number of desktop environments, or the installation, or the stylized installations?
As with everything artistic, the last is a matter of taste, and the more opinionated a visual design is, the more you are likely to disagree with it.
For the rest, please give names.. I've seen magnificients {i3, sway, KDE, GNOME, XFCE, cinnamon, etc}. ricing is a popular sport.
I read that as 99% of the Linux desktops being trash.
There are a number of desktop environments, but calling any of these "trash" is pretty harsh and subjective, even for something as barebones as weston.
For theme, icon, color packs, etc, for any desktop environment, I agree. That's always been the case for most user-generated content anyway.
But you do see a lot of subjectively great styles on reddit.com/r/unixporn, even for environments such as windowmaker or fluxbox!
What's anarthemability?
I don't usually mess with colors but I do like to set consistent fonts. It makes some sites look a bit off here and there but it helps me more than not overall.
This Twitter handle shows what was possible on early OS X:
Web Archive's page:
https://web.archive.org/web/20050216050114/http://www.kaleid...
Here are some of my own Kaleidoscope schemes (still available as free downloads): https://www.masswerk.at/schemes
I’ve also noticed that surprisingly many of my friends have changed their Gmail theme.
At the time I'd been using Internet Explorer for Mac and really wanted to see the color-configurable interface happen system-wide. I thought it made sense to let people set their interface colors to match the fruit of their iMac if they wanted, since you could do that in OS 8 and 9. Eventually the computers themselves lost color/individuality as well.
https://guidebookgallery.org/screenshots/riscos311#appearanc...
For 8-bpp LUT graphics, Windows 3.x had a palette negotiation mechanism in the API that reserved 20 color entries to the OS and let the focused app control the remaining 236. Applications that weren't focused got a combination of whatever was left over and dithering to fill in the gaps. (In 4-bpp modes, the palette was entirely fixed.)
This wasn't necessarily a bad solution to limited hardware, but non-LUT modes with 16 bits of depth were a huge, huge improvement once they were available.
Ideally, they should also be easy to combine in different ways. E.g. I want Win3.11 pixel art icons, Win98 window&panel styles and WinXP non-antialiased fonts - these 3 things make me feel orgasmic.
Power + complexity will only ever remain niche. But if we can design a system (be it a single program or an entire machine with OS), that is both powerful but intuitive to use, even down to deep layers, then we could actually empower 'end' users into becoming authors of 'creative computing'.
A graphical tool to allow users to set preferences through X resources, similar perhaps to Visual Studio Code's preferences pane, might be a great way to allow users to tweak their apps with power and precision.
Of course, literally no one uses X resources these days, all settings live in XDG_CONFIG_HOME. And it's all moot under Wayland, which doesn't even allow remote clients.
(The new era of flat uncustomisable flat widgets is a direct continuation of the branding approach — its their marketers saying "I know better than you what your working tools should look like".)
If hammers were invented today, they would be locked to a particular manufacturer’s nails, have software that prevented them from hitting anything else besides nails, and have DRM that self-destructs the tool if you stopped paying the $5/mon subscription.
Take a look at r/jailbreak.
(Similarly, I'm so glad there's a hint of colour in the sidebar in the Finder again; I hate when Apple says, "We've got two indistinguishable shades of grey; one for available, and one for inactive. You can take it, or you can take it.")
As to the point about setting a desktop background, though, I hardly ever see my desktop background, so changing it doesn't seem very important.
At some point, I realised that if I just take a deep breath, slow down, and accept that I can modify myself to align with my tool rather than the other way around, a lot of friction is removed.
I set my background on every device to a solid black, and it's now three years since I changed them. My trello boards are still blue background. My calendars are whatever the default theme is. It's sometimes nice to tweak the tool for your need, but it's also sometimes nice to understand that everything doesn't need to be a huge annoyance. One can just adapt and move on.
What is up with this design choice to make the selection non obvious?
On Apple TV, it’s damn near impossible to see which app or show you have selected. The selected item is slightly enlarged, or slightly shaded, and I as a young tech literate person have to move around a bunch to figure out where I am.
Why not highlight the border of the damn thing? It’s like no one that works at Apple has older, non tech literate parents that use Apple TV.
For a non-trivial number of people, a “real computer” (i.e. a laptop or desktop) is still just a web browser with a nicer way of typing.
People don’t care about customising their computers as much anymore because they have several devices and almost all of them are for accessing internet services (even “apps” are generally just an optimised UX for a web service).
This last bit used to be a big problem with Linux, if you ran a Gnome theme, and fired up a KDE app, it was like an alien suddenly landed on your desktop. Statically linked apps were often worse because a static linked KDE app wouldn't even have the same theme as the dynamically linked ones. Java based apps, apps built with other toolkits, all added their own unique and clashing bits of chaos to your interface.
One of the upsides to MacOS, is third party toolkits have a single target look to try and mimic.
Even so, I still miss being able to theme. The recent post about Mira Furlan passing reminded me of a Babylon 5 theme I wrote for Windowmaker what seems like a lifetime ago.
I use KDE at home and will occasionally try a different theme or cursor set when the mood strikes me. But that's the linux way. You're free to customize to a crazy extent. Once you get it setup the way you like it, you can achieve some nice workflow enhancements.
More importantly: this isn't hard. They did it in Windows 3, an OS that had an 8MB install size and required a mere 2MB of RAM. That we can't provide this functionality in 2021 with all these supposedly highly skilled software "engineers" who consider themselves so ridiculously productive because of all the complicated abstractions they use, on hardware that is several orders of magnitude more powerful than was available to Win 3... well it's completely ridiculous and we, as an industry, should be ashamed.
Are there particular ones that are missing when it comes to dyslexia?
So what I'm understanding is you're saying an OS that is used by a LOT of people, is inaccessible, but you neither have any of the disabilities nor the OS you're complaining about to back this claim up?
Because macOS has tons of accessibility options including font sizes, etc.
Technically Windows 3 required only 384KB of RAM... Windows 3.1 required 1MB (in Standard mode).
Maybe Microsoft/Apple are big enough that they can (and should) handle it, but I wouldn't generally expect this type of gold plating.
Sure, 20 years ago, when content was scarce, people would find joy customizing their Winamp themes/visualizations, or changing their ringtones every week (remember when spending money for 20s of midi music was a $B business?).
Nowadays it feels like a chore for most of us.
I'm happy I don't do that anymore.
This was one thing I kept in mind on my side project (easily self-hosted private blogs)[2] where I give people freedom to muck with the CSS however they want. We get to do so much more when we own our own content and platforms.
Aside from issues of taste -- and Christmas season is the perfect time to look around at people's idea of good taste -- I think the best thing to come up with in this area, sort of an anti-footgun, would be an automatic contrast checker, similar to checking for different kinds of color-blindness.
That's part of the fun of having your own page. Your aesthetic can be whatever you want, including "borderline unreadable".
https://www.reddit.com/r/Ooer/ is a great example of prioritizing form over function ad absurdum.
(it's possible in CSS to detect if the user is using dark mode, and adjust the colors automatically)
So what's the point to change it? Instead, I always change my mouse cursors to the Garfield theme from defunct Microsoft Plus! -- they are of pretty nice orange color.
I use OSX and enjoy the fact that the wallpapers are dynamic with the time of day. Any photos I'd use myself don't do that, and I don't see much of the background anyway.
(This is a far cry from the days when I remember skipping wallpaper to save on memory, etc.)
This, and end of story. What's personalized today are things like the extensions for your browser and your Google account. OSs are becoming terminals.
I was thinking it would be great if someone redid the tiled wallpapers in windows 3.1 to be hi-res and realistic. The one with the leaves would look amazing.
You can do that in Windows 10. It can also change automatically based on your current wallpaper.
Similarly to installing Nova Launcher, perhaps the author need to use GNU/Linux or Windows instead of a Mac.
I assume you’re referring to UxStyle etc as used since Windows XP? That doesn’t involve loading any executable code (unless there’s an RCE vulnerability in the theme resource loader, I suppose) - patching the signature checks in UxTheme.dll isn’t that big a deal, imo.
This might even be the main reason that the operating system as-is only allowed themes signed by Microsoft.
https://docs.microsoft.com/en-us/windows/uwp/design/style/co...
I wish there was an override, because if I want pure white #FFFFFF as my accent color, that's my problem. I don't want to settle on a light grey.
You can set an Accent color and either a light or dark background - that’s it. You can’t specify each component color or named system color - such as separately specifying the colors of the scrollbar’ track and thumb - or icon text - or button shadows - and so on.
The old “Desktop Themes” feature for Windows 95 Plus! and Windows 98 let the user radically change the appearance of Windows - for better or for worse - when was the last time you saw a custom desktop icon pack or purple 3D face color?
But yes - all of this assumes the user is aesthetically capable - but neither was Microsoft: Google Image Search for “windows hot dog stand”. Be careful, you might get a migraine.
I really, really miss the Windows 95 color picker. Sure, you could put grey text on a grey background, but you could also not do that. Microsoft has taken away the option one way or another.
It seems a lot harder to make serious changes than it used to be because of the rise of desktop environments.
I'll say it again: people did this in the 90s, with orders of magnitude less computing power, significantly more constrained development tools, and fewer developers. That we think this is something we can't do today is evidence of a deep sickness in our industry.
empowerment
Customizing themes and such -- was it really empowerment in any meaningful sense, though?It was more like a really banal illusion of empowerment. Your Windows PC was locked down with all kinds of proprietary file formats and restrictive licenses, and wide open to malware. But hey, you could change the colors of your title bars and stuff. Was that really "empowerment?"
I mean, yes, changing your window colors is orthogonal to licenses and security and such. But despite fond memories, I can't see Windows 3.1 as "the good old days" no matter how hard I try.
I think theming is one of those things that have been dropped because the cost vs. benefit just wasn't there. Theming isn't free. You have to invest resources into adding UI to support customizing it and any new UI you add should follow the themes. When the OS is upgraded and UI is tweaked slightly, you have to consider how to handle existing themes. It all adds extra complexity to your project that you may not want to carry forward long-term.
When someone creating software has a strong opinion about the "right" way, they can't see the possibility that anyone would ever have legit disagreement with their brilliance so they take away control. And when they can't figure out the right solution to something, they ship flexibility so it can be the user's fault that it works like shit.
My conclusion: whenever the core product is done, the company will sell you the 'make it your own' pitch, because that's the easiest path.
Allowing customization is considerate to the user, like saying "I made this and I think this default configuration works best, but you can change this if it doesn't work best for you." There is not necessarily a "right solution" for 100% of the users.
The best user experience comes from strong defaults that don't need to be changed, but can be if the user requires it.
Theming is alive and well in code editors like VS Code and Sublime — because we stare at them for 6-10 hours a day.
They probably fixed it now, but this is what Microsofts own explorer looked like in 2018 with Dark Mode:
https://www.howtogeek.com/fyi/microsoft-adds-a-dark-theme-to...
You can guess about the support in third party apps.
As an example these days the Windows OS includes Microsoft apps that are built using the QT toolkit (OneDrive). That’s the example developers follow.
IMO "theming" and customizing visual appearance is alive and well. But it's moved to higher layers.
Author (and many commenters here) take as a given that this is a good thing, but I'm not so sure.
Starting with the physical desk metaphor - you probably have trinkets and photos and whatnot, and then a mess. An idiosyncratic mess, but still a mess. I'm defining "mess" here from the perspective of everyone who isn't you; which you could argue doesn't matter in the physical desk metaphor. Thinking back over the ~10 offices I've worked in, maybe 20% of people keep their desk tidy in a way that I could find a pen or a stack of post-its at first glance. Maybe it doesn't matter if someone else can be productive at your desk; but it can't be denied that the average human will (literally) leave food to rot on their desk.
Let's move to the virtual desktop. We've been saying we love our Windows 3 customizations, and randomize our wallpapers and Winamp skins every few minutes, right? Back when we were playing all those video games? But now we're adults with jobs (maybe even coworkers) and productivity actually matters, right? But we still wish for the power to make our desktops messy. Why? Maybe it doesn't matter if someone else can be productive at your computer, but it can't be denied that millions of hours have already gone into making you productive there.
Upon reflection, is this a freedom that you actually need; one that helps you in any way? What purpose was served by that flat, warm, old can of soda on your desk? Do you like all that paper everywhere? Do you even know what most of it is?
Unless your job function is some type of artist, you're almost certainly better off using the consensus interface; and if it has problems, contributing the fixes for those problems back to everyone. And clean up that takeout container that's slipped halfway onto your neighbor's desk.
Edit: I'm all for customizing the way that things work. Rebind your hotkeys, script stuff, write your own text editor- if it saves you time and you can prove it, go for it; but when it comes to colors, transparency, animations, all that stuff... just get your work done and then go outside or watch TV.
This is usually impossible, because UI designers' goals are not your goals. Designers optimize for distinctiveness ("branding") and good first impressions from inexperienced users. This results in anti-features like low contrast text, excessive whitespace, and mandatory animations. There's no point complaining because it's working as intended. The only option is to switch to one of the few remaining systems that still respects the users.
I'm using one of those few remaining systems that you mentioned. But even on OS X I don't find it "impossible" to use the standard interface.
It's fine if you think of work as a soul-sucking activity, but not everyone feels they have to hate their work or that it's not a part of their identity. Even for those who do dislike/hate their work, these small things can help them cope with the toil.
To stay with the theming example: it's nice and dandy have control over theme colors. But what happems when you set button background, window background and text color to white by accident? How do you recover from that? Back in the 90s you'd have been stuck with a mostly unusable UI. Somehow that was OK.
Nowadays, things like that are tolerated a lot less. Configuration options in mainstream products are (often) fussed over to the nth degreee to make sure that there isn't a way to get the whole thing into a bad state. The result is usually somewhat more robust. And that's enough to satisfy most users most of the time.
Also, I'm not sure I buy the claim that "things like that are tolerated a lot less". Are they? Or has it just been so long since we've had anything like that, that we just assume people would hate it even more?
Theming was just the first example that came to my mind. It's a pretty benign one in the grand scheme of things. There were other ways in which you could misconfigure your system. These were also the days before PCI, USB and hardware auto-detection. You could easily pick the wrong driver and/or wrong settings for some hardware and the system would mostly just try to run with it, not knowing that anything was amiss. Pick the wrong mouse driver? Set the wrong COM port for the serial mouse? Tough luck.
Also, you can do something similar to what happens when you change screen resolution.
A window pops up with a countdown for let's say 60 seconds (or more), and if you don't press ACCEPT before it reaches 0, it undoes the changes.
No. Stop, please stop with the paternalism. I cringe every time someone talks about "the user" in third person, like they were laboratory specimens. We all are mostly average users. There is not really any difference between your father and you. My mother wants to play with things like everyone else. But we, the developers, don't allow them, and we put them into walled gardens without ever giving them a choice. Because we are smarter and we known better, and we are doing it for their own good. Apparently. And all of this reeks of paternalism and elitism.
The silver lining will be when all those developers receive the same treatment in 30 years. Sadly, it will be too late by then.
> We all are mostly average users.
If by "we" you mean the population of HN - that is blatantly false. The average HN user is far more technically sophisticated than the average computer/phone user.
>> The average user does not do this.
This is completely true, and not "paternalistic" in the least - it's a statement of fact.
> There is not really any difference between your father and you.
Absolutely false. My father, as do most of the fathers I know, are profoundly disinterested in customization and learning more about their devices - even after I show them some of the stuff that they could do, and offer to teach them. It's simply not interesting to them - they want to do workworking, or something.
> My mother wants to play with things like everyone else.
Then your mother is different than most peoples' - including mine. My mother does not want to play with her phone - she wants to use it to get something done, whether that be talking with her friends or watching a video. This also describes my father, and the parents of the majority of people I know.
Now, sure, most humans want to "play with things" in the general case. However, that does not extend to every kind of object (e.g. car, gun, workbench, computer, house) for every person, and what's more there is a tremendous amount of variability in the drive that each person has to customize each of those things. The fact that your mother might passingly be interested in changing the wallpaper of her phone does not in any way make her comparable to the /r/unixporn poster who has spent literally hundreds of hours on a single visual theme.
> But we, the developers, don't allow them, and we put them into walled gardens without ever giving them a choice. Because we are smarter and we known better, and we are doing it for their own good.
That's what the post is arguing against. You seem to be under the impression that separating "users" and "developers" implies taking control away from the former - which is false. Users are different than you - and you should give them power.
Elitism, again.
> This is completely true, and not "paternalistic" in the least - it's a statement of fact.
Backed by nothing.
> Absolutely false. My father, as do most of the fathers I know, are profoundly disinterested in customization and learning more about their devices - even after I show them some of the stuff that they could do, and offer to teach them. It's simply not interesting to them - they want to do workworking, or something.
They want to do workworking or something... Honestly, that sounds quite dismissive. Hopefully your teaching offer was slightly more humble than that...
This is not elitism - this is a statement of fact. You should know the definitions of words before you use them:
"The belief that certain persons or members of certain groups deserve favored treatment by virtue of their superiority, as in intelligence, social standing, or wealth." and "Behavior arising from or indicative of such a belief."
...neither of which describes the statement that I made.
(in case it's not clear - even if my statement were false, it would still not be elitism)
> Backed by nothing.
It's pretty clear that HN users are way more tech-savvy than the average user - don't try to deny it. If you absolutely insist on evidence - take five random posts from the front page of HN, show the original content to a random sampling of people you meet at the library or at a coffeeshop (your family members and friends could be biased technically), ask them to make comments, and then compare to the HN comments on the post.
Only the very tiniest fraction of users are going to write anything like [1][2][3] - those are developers, and their knowledge, skills, and behaviors are dramatically different than the average user.
[1] https://news.ycombinator.com/item?id=25883791 [2] https://news.ycombinator.com/item?id=25881911 [3] https://news.ycombinator.com/item?id=25885196
False, but it happens. And I don't like it. I feel like we are making a mistake here (a mistake older than time) by separating users between "technical" and "average", and "protecting" the average, "for their own good". These "average" users don't exist, we are creating them by keeping them digitally illiterate "for their own good". As I said, this theme is older than time.
The amount of desktop customization on MacOS vastly exceeds anything that was possible on Windows 3.1 by an order of magnitude.
Yes, tweaking the individual colors of desktop elements is more limited.
However, look at the accessibility features, and you’ll find many ways of customizing the desktop that make read differences in people’s lives.
This whole idea that disabling tweaking colors on the desktop theme is part of a slippery slope towards a computer ‘you don’t own’ makes no sense.
Windows 3.1 was not open source. Mac OS is vastly more extensible and programmable than any desktop environment from that era.
That said...
I do agree that we live in a world where people who create OS’s have vast power over the experiences of those who use them, and this is not where we should be.
The real step down this path came when both Apple and Microsoft copied the desktop metaphor superficially from Xerox but left behind the end user programmability of the Smalltalk and Mesa environments.
Their goal was to create an environment for the delivery of shrink wrapped software. That is what Windows and the Mac were about.