> UX absolutely peaked with TUIs several decades ago.
I'm going to push back a little on that. For several years, MacOS followed a strong UX convention with consistent keyboard shortcuts, menus, layout order, and more. Similarly, Microsoft started with the same, but with everything reversed. At the time, most major cross-platform apps followed these conventions.
Two periods broke these rules: the expansion of web apps and Apple's pivot towards the consolidation of everything into iOS.
First was the dawn of web apps. Faced with two opposing standards, web apps didn't know which model to follow. Business sites stuck with MS standards, while design-centric sites followed Mac standards. As those broke consistency, cross-platform apps gave up and defined their own standards.
Mobile platforms tried to establish new standards. iOS was mostly successful, but started slipping around iOS 7. Material Design was supposed to standardize Android, but Google used it for all Google products, making it more of a standard for the Google brand than Android.
The second started around WWDC 2019. At that point, Apple deprioritized UX standards to focus on architecture updates. The following year, Catalyst was literally a UX catalyst, introducing two competing UX standards for MacOS. From that point forward, Apple really hasn't had a singular UX standard to follow anymore, but they seem to be marching towards iOS standards for all devices.
> > UX absolutely peaked with TUIs several decades ago.
> I'm going to push back a little on that. For several years, MacOS followed a strong UX convention with consistent keyboard shortcuts, menus, layout order, and more. Similarly, Microsoft started with the same, but with everything reversed. At the time, most major cross-platform apps followed these conventions.
I used Mac OS during that era. While in many ways it was better than the GUIs we have now, using the mouse was an absolute must, which prevented it from ever getting as efficient as a TUI. Yes there were keyboard shortcuts, but they were never sufficient to use the machine or any application without a mouse. Also they had to be completely memorized to be useful.
In 1991, I used Inside Macintosh for inspiration, but a much broader view of interface was distilled in the MITRE Corporation user interface book.
MITRE successfully conveyed how to have keyboard-operated GUI with plenty of power user modes --all with discoverability. You might call it "fallbacks for every mode".
Its principles combined TUI (then known as CUI) and GUI as well as DSL (domain specific language).
A fully architected program having a DSL (domain specific language) had a console much like a macro recorder: as you used the menus and icons, the console would show the commands you could otherwise type in to get the same effect.
You could edit the console line and re-execute it.
In the 1990s, DSL was a buzzword but if you got it right, your GUI was a power tool.
I think Microsoft Office 2007 moving to a "ribbon" rather than normal menus and an optional toolbar for certain things was the major break in usability. Mac OS has kept the menus, and added a really useful menu search thing in "help", and this is huge.
I think sublime text was one of the first to bring the TUI style super-powers into the modern desktop UK, where you press some random keyboard shortcut (e.g. cmd-p in sublime) and you can instantly start typing a command.
Another thought I have had for a long time is that when GUIs like Mac and Windows were taking off, they were often described as more "user friendly" than TUIs. I always thought this depended on the kind of user. A lot of effort went into prioritising making it possible for an untrained user to use a system, but making it fast for someone with experience was no longer important.
What is one of the advantages of TUIs is that every action is deserialized from a common stream and that stream is buffered. This means both an advantage for speed, but also for a simplification for interaction, since if the user wants it, the information can flow in one direction only and the other direction happens only when the user wants it.
Since GUIs are not scriptable, unlike command-line TUIs, a GUI can never be as fast or as customizable as a TUI, which makes them inherently less usable. It doesn't help that the Mac was partially inspired by the work of Jef Raskin, who was religiously opposed to customization.
I'm going to push back a little on that. For several years, MacOS followed a strong UX convention with consistent keyboard shortcuts, menus, layout order, and more. Similarly, Microsoft started with the same, but with everything reversed. At the time, most major cross-platform apps followed these conventions.
Two periods broke these rules: the expansion of web apps and Apple's pivot towards the consolidation of everything into iOS.
First was the dawn of web apps. Faced with two opposing standards, web apps didn't know which model to follow. Business sites stuck with MS standards, while design-centric sites followed Mac standards. As those broke consistency, cross-platform apps gave up and defined their own standards.
Mobile platforms tried to establish new standards. iOS was mostly successful, but started slipping around iOS 7. Material Design was supposed to standardize Android, but Google used it for all Google products, making it more of a standard for the Google brand than Android.
The second started around WWDC 2019. At that point, Apple deprioritized UX standards to focus on architecture updates. The following year, Catalyst was literally a UX catalyst, introducing two competing UX standards for MacOS. From that point forward, Apple really hasn't had a singular UX standard to follow anymore, but they seem to be marching towards iOS standards for all devices.