I'm adding this to my repertoire of HIGs to study for a new desktop environment project I'm working on. I'm trying to synthesize the best parts of every computer interaction method, primarily focusing on desktops but looking at mobile designs as well.
There are 2 principle reasons for this project:
1. UNIX desktops objectively suck compared to their Mac and Windows cousins, either being too complex to learn and bombarding the user with options (KDE, XFCE) or being so dumbed down and rigid to be actually usable (GNOME, to a lesser extend CDE)
2. I'm a massive fan of the GNU project and the way it designs software and none of the current desktops integrate well with it (EG: texinfo manuals, emacs-y keybinds, A wealth of customization if you want it but otherwise easy to pick up and use)
The best book I've ever read on the topic was the classic Mac OS Human Interface Guidelines. I still recommend them even though some of the specifics are out-of-date.
Certainly not a reference, rather I'm looking at what each platform does good and trying to combine them in a way that empowers the user rather than fearing them
I'll be keeping an eye out for your DE. For a long time now, the Linux desktop space as a whole has been rather uninspired in my opinion. A few interesting ideas have surfaced within it but failed to become popular for one reason or another, making for a rather stale environment.
That's not to say that it needs to be in constant flux or to be full of radical ideas. If anything, it'd be nice to see more DEs settle into a design and feature set and chase stability, efficiency, and performance over shinies. Rather, I think it would be better if more Linux DEs were built around coherent, opinionated design philosophies that cleanly set them all apart from each other. Even if that design philosphy is just "N platform's desktop, refined to its ultimate form", it's better than the "aimless bag of features" direction that's most common.
Can only speak for myself but the problem is that with KDE there's always stuff I need to go in and change because I don't like the defaults, and then I fall into a rabbit hole of endless tweaking from which it's difficult to escape because no matter how much time I spend I can never get it to be just right.
I can give a list of ones I'm studying
CUA (87 and 91 versions)
Awaita
Breeze
Material (primarily 3, but also 2 and 1)
Apples HIG
Microsofts HIG
and Motifs HIG
Some of these aren't technically HIGs and are rather "design-systems" but they all contain the commonality of trying to set up a consistent model for user-interaction in their environment
I still remember using Palm OS for the first time and having my little mind blown away because there was no save buttons (at least in the version and apps I was using). You edited a document and that's it, it was saved. Like writing on paper.
Nowadays a lot of applications behave like this but back then it was a very different from everything I had ever used.
I really miss this era. Everything was straight and to the point by design, no processor cycles or memory were (or even could be) wasted. Less layers of abstraction, the entire stack from physics to application could be understood by a single person.
To me the best thing about Palm OS was the rule that you’re never more than two taps or a button press away from where you want to be. (I think that’s how I remember it). The beloved early GUIs were all on machines that didn’t do much, comparatively speaking. The problem with modern GUIs is that there’s just too much to learn and remember if it’s presented as symbols rather than text.
Most information about that data should be accessible in a minimal number of taps of the stylus — one or two.
Desktop user interfaces are typically designed to display commands as if they were used equally. In reality, some commands are used very frequently while most are used only rarely. Similarly, some settings are more likely to be used than others. On Palm Powered handhelds, more frequently used commands and settings should be easier to find and faster to execute.
• Frequently executed software commands should be accessible by one tap.
• Infrequently used or dangerous commands may require more user action.”
Symbols are already a best-case scenario. Too often, modern UIs require hovering over this button or making that swipe gesture to perform a certain action. The antithesis of affordance.
Typical smartphone aspect ratios are too awkward to be great for use with a stylus in my opinion, and is exacerbated by bezels having been all but eliminated.
If I were to design a smartphone for stylus use, I think it'd look something like an iPad mini, with its squarish ratio larger bezels, shrunken down by ~20%.
In fact my keyboard is still broken from that "misdetected keyboard button press" bug they introduced some time in iOS26. Gotta see whether that's fixed in 26.3. Embarrassing!
There are 2 principle reasons for this project: 1. UNIX desktops objectively suck compared to their Mac and Windows cousins, either being too complex to learn and bombarding the user with options (KDE, XFCE) or being so dumbed down and rigid to be actually usable (GNOME, to a lesser extend CDE) 2. I'm a massive fan of the GNU project and the way it designs software and none of the current desktops integrate well with it (EG: texinfo manuals, emacs-y keybinds, A wealth of customization if you want it but otherwise easy to pick up and use)
https://dev.os9.ca/techpubs/mac/pdf/HIGuidelines.pdf
That's not to say that it needs to be in constant flux or to be full of radical ideas. If anything, it'd be nice to see more DEs settle into a design and feature set and chase stability, efficiency, and performance over shinies. Rather, I think it would be better if more Linux DEs were built around coherent, opinionated design philosophies that cleanly set them all apart from each other. Even if that design philosphy is just "N platform's desktop, refined to its ultimate form", it's better than the "aimless bag of features" direction that's most common.
Nowadays a lot of applications behave like this but back then it was a very different from everything I had ever used.
“Minimize Taps
Most information about that data should be accessible in a minimal number of taps of the stylus — one or two.
Desktop user interfaces are typically designed to display commands as if they were used equally. In reality, some commands are used very frequently while most are used only rarely. Similarly, some settings are more likely to be used than others. On Palm Powered handhelds, more frequently used commands and settings should be easier to find and faster to execute.
• Frequently executed software commands should be accessible by one tap.
• Infrequently used or dangerous commands may require more user action.”
https://en.wikipedia.org/wiki/Graffiti_(Palm_OS)
I remember the Giraffe game to learn it.
https://palmdb.net/app/giraffe
If I were to design a smartphone for stylus use, I think it'd look something like an iPad mini, with its squarish ratio larger bezels, shrunken down by ~20%.