A computer is a tool, most tools are not sleek, they have buttons and dohickies, sharp edges that do work, etc. There is nothing wrong with polishing something up, sure, but it has to be strictly secondary to usability.
The high contrast 3d look in motif wasn't because its creators had bad taste. They may well have also had bad taste, but the appearance served a utilitarian purpose. :)
Hello, Firefox, I'm looking at you, especially during start-up. I don't know whose idea it was to "fade-in" the toolbars on start up, but I noticed that one right away, when firing it up over both x2go and (especially) X-over-SSH. Cute thing to do in the middle of a pandemic where everyone is using remote displays!
I use this: https://github.com/grassmunk/Chicago95
That changed with KDE 4 and a lot of people rejected it. One would assume those people are the same ones who now use Trinity.
Things they got right: contrast. Shapes. I don’t need my glasses to use this stuff.
Things they got wrong: over the top 3D look. Fonts are shit. Italics in menus? Ragged bitmap italics? Gotta be fucking kidding me.
Edit:
You might not see the problem if you have a computer with 32 GB of RAM and I certainly do. However I like to ensure that responsiveness is first up.
IRIX Motif is 2D accelerated and very snappy as it's multi threaded and designed for power users.
I've never used KDE but remember Windows Aero? Metro? What about macOS's Aqua UI? They use tons of resources and often times when the computer is just a couple years old it becomes unusable with the typical system bloat that occurs.
What I'm basically trying to say is that visual effects that aren't well designed aren't worth the resources they take up. Functionality over aesthetics any day.
Do yourself a favor and try comparing the responsiveness and resource usage of, e.g., KDE Plasma with desktop composition off vs on. You’ll probably be really shocked when you see how much more CPU you need to do something as simple as scrolling a browser window.
Really, try it. Any browser, scroll around on something and look at your CPU usage and the framerate of your screen.
Or image editing — try panning around an image. Doesn’t matter what editor/viewer either, since they all have to draw on your X server.
Even just moving windows around on top of one another — everything is just so much more efficient when you offload it to a hardware accelerator.
Does it use more RAM? Yeah, a little, because the way it works is by keeping the entire contents of the windows in memory rather than culling anything that’s not exposed in front. It’s definitely not 500 MB more, though, and it definitely can (and does) take advantage of any dedicated VRAM available.
And the trade off of being able to just dump a framebuffer to the viewport instead of repeatedly computing what’s been culled 60+ times a second is definitely worth it to me, but if you still prefer not using acceleration, there’s always the option to just not use it.
What I have seen is many computers that seem to spend more time calculating various animations than actually animating stuff. When I worked in a computer shop years ago I often turned off animations and transparencies for people who came in with slow computers (XP, Vista, 7) and they were generally happy with the speed-up and didn't mind the lesser visuals at all.
Without composition, each program repaints itself. Which means there's an appreciable lag, and if the program is stuck you can get a blank box if a previously covered program is uncovered. This can be an annoyance if you need to read something from there.
Eg, an actual example is a program being blocked by a modal dialog stops being repainted. If the dialog asks you "Enter a password" and the what for is written on the no longer repainting parent you may have a problem.
You're misattributing blame here. Aqua, Aero, and Metro were themselves just UI themes/design languages. They did not cause performance problems. To the underlying compositor it doesn't matter if a button is brightly colored beveled triangle or a flat rectangle. A 32x32px button is 1,024 pixels that need to be drawn to a buffer irrespective of what's in those pixels.
The performance problems in those UIs were almost always related to the compositor and underlying hardware (or drivers for same). Without hardware accelerated drawing, even just 2D acceleration, the compositor was limited by the CPU and memory.
The hardware limitations are only problematic at the margins though. At those various systems' introduction the performance issues were only at the low end. As the "low end" improved performance became a non-issue. Aero sucked when it was introduced because the 3D compositor was enabled on underpowered graphics hardware at the request of OEMs. Aqua ran great on then-new PowerMacs but sucked on the mobile graphics chips in iMacs and all the Mac notebooks of the time.
I personally don't care much for the Motif looks (although I've only used OpenMotif – I'm not sure how it compares to IRIX's implementation; from some quick screenshots I looked up it seems IRIX looked better) but describing it as objectively "ugly" or "a sin against life" is just wrong.
Strongly divided, as to the strength of like or dislike, yes.
But as for the split, it's pretentious architects and a handful of laymen outliers on one side, and billions of people on the other. And whenever people vote with their wallets (as tourists, or picking where to live, etc) they shit all over brutalist monstrocities.
But we can use other examples – I don't really want to talk about brutalism as such – like metal music, or paintings from Picasso or Mondriaan, or the discussion about whether or not Alien is a good film that still holds up in 2023 from earlier this week, or any number of things.
Hill of the Buddha, Sapporo:
https://en.wikipedia.org/wiki/Hill_of_the_Buddha
Cathedral of Saint Mary of the Assumption, San Francisco:
https://en.wikipedia.org/wiki/Cathedral_of_Saint_Mary_of_the...
Spomenik Memorials, Former Yugoslavia:
https://www.spomenikdatabase.org/
None of those are ugly.
While those are not hideous, they're hardly anything to write home about, much less call beautiful either. Compare them with a traditional budhist shrine, national monument, or church, and they're seen as the regression to ideology and "architect as god" arbitrariness that they are.
No.
That's an extreme view; GP didn't indicate that all UI toolkits needed to resemble Motif.
I mean, would it be fair to sum up your point as "Prisons are maximally efficient concrete boxes, all houses should be eye candy"?
Motif is (was at the time) just one of a large number of GUI designs. I quite liked it myself at the time, too.
https://www.researchgate.net/publication/202165712_Emotion_D...
>The X-Windows Disaster
[...]
>The Motif Self-Abuse Kit
>X gave Unix vendors something they had professed to want for years: a standard that allowed programs built for different computers to interoperate. But it didn’t give them enough. X gave programmers a way to display windows and pixels, but it didn’t speak to buttons, menus, scroll bars, or any of the other necessary elements of a graphical user interface. Programmers invented their own. Soon the Unix community had six or so different interface standards. A bunch of people who hadn’t written 10 lines of code in as many years set up shop in a brick building in Cambridge, Massachusetts, that was the former home of a failed computer company and came up with a “solution:” the Open Software Foundation’s Motif.
>What Motif does is make Unix slow. Real slow. A stated design goal of Motif was to give the X Window System the window management capabilities of HP’s circa-1988 window manager and the visual elegance of Microsoft Windows. We kid you not.
>Recipe for disaster: start with the Microsoft Windows metaphor, which was designed and hand coded in assembler. Build something on top of three or four layers of X to look like Windows. Call it “Motif.” Now put two 486 boxes side by side, one running Windows and one running Unix/Motif. Watch one crawl. Watch it wither. Watch it drop faster than the putsch in Russia. Motif can’t compete with the Macintosh OS or with DOS/Windows as a delivery platform.
>[...] X will not run in these 4 bit overlay planes. This is because I’m using Motif, which is so sophisticated it forces you to put a 1" thick border around each window in case your mouse is so worthless you can’t hit anything you aim at, so you need widgets designed from the same style manual as the runway at Moscow International Airport. My program has a browser that actually uses different colors to distinguish different kinds of nodes. Unlike a PC Jr, however, this workstation with $150,000 worth of 28 bits-per-pixel supercharged display hardware cannot display more than 16 colors at a time. If you’re using the Motif self-abuse kit, asking for the 17th color causes your program to crash horribly. [...]
http://www.art.net/~hopkins/Don/unix-haters/x-windows/motif....
>MOTIF ANGST PAGE
>If you have any ANGSTFUL Motif code, comments, documentation, or resources, please share them with me! Here is some of the stronger stuff I've found. Note: this is only for official Open Software Foundation Motif inspired Angst. If you're experiencing TCL/Tk That Only Looks Like Motif But Doesn't Suck Angst, then you should stop whining and fix the problem yourself, if somebody else hasn't already.
/* Note that the text callbacks are "weird" in that they expect values in the callback structure to be set inside the callback proc to determine what actions need to be taken after the callbackproc returns. In particular, the XmTextVerifyCallbackStruct's 'doit' slot is always set to True, and must be set to False if the callbackproc doesn't want the action to be taken. To do this, Set_Call_Data_For_XmTextVerifyCallbackStruct() is called by Wcb_Meta_Callbackproc() after the callback lisp code is evaluated, and the values bound to these settable variables are set inside call_data....
Another inconsistency with the Text widget is that some callbacks on this widget return XmAnyCallbackStruct's (XmNactivateCallback, XmNfocusCallback, XmNvalueChangedCallback), whereas XmNlosingFocusCallback, XmNmodifyVerifyCallback, and XmNmotionVerifyCallback return XmTextVerifyCallbackStruct. In the code below, we look at the 'reason' slot of the call data, (which is present in both XmAnyCallbackStruct and in XmTextVerifyCallbackStruct) to determine the kind of callback that occured and we only bind the values that are appropriate for that kind of callback. Information about which slots are valid for particular callback was taken from the documentation on the XmText(3X) widget, and verified against the Motif 1.1 source -- this is valid for both XmText and XmTextField widgets... */
static LVAL s_CALLBACK_CUR_INSERT, s_CALLBACK_NEW_INSERT, s_CALLBACK_START_POS, s_CALLBACK_END_POS, s_CALLBACK_TEXT;
static void Lexical_Bindings_For_XmTextVerifyCallbackStruct(bindings_list,
lexical_env,
call_data,
client_data)
LVAL bindings_list; /* a list of symbols to which values from XmTextVerifyCallbackStruct are bound */
LVAL lexical_env;
XtPointer call_data;
LVAL client_data; /* XLTYPE_CALLBACKOBJ */
{
extern LVAL true;
register LVAL s_bindname;
XmTextVerifyCallbackStruct* cd;
/* How long can this go on???? */
}
[...]