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.

https://dev.os9.ca/techpubs/mac/pdf/HIGuidelines.pdf

I'd want to add "Designing Interactions" by Bill Moggridge (IDEO, designer of the first 'laptop' computer):

https://www.amazon.com/-/en/Designing-Interactions-Press-Bil...

I wonder how much of their own guidelines they violated with MacOS Tahoe.

As they should. There are fundamental differences in hardware and capability between 1992 and 2026.

The most immediate are pull-down menus at the top of the screen. They work good on a 9 inch screen, they are awful with 27 inch displays.

Another related change are modal dialog boxes. When you have a 9 inch screen you're fundamentally looking at one document in one app at a time. When you got 2 27's that's not true anymore.

I'm assuming/hoping those original guidelines would have prevented the window resizing frustration we have now, along with the other usability downgrades in the support of eyecandy. https://noheger.at/blog/2026/01/11/the-struggle-of-resizing-...

It's on my list as well. I really appreciate the MacOS handles progressive disclosure, something most environments either get wrong or misunderstand (caugh caugh GNOME caugh caugh)

ETA: One thing I forgot to mention is how playful MacOS was (and to an extent still is). They recognised that the easiest way to learn something is by messing with it and seeing what happens. It also caused it to be very approachable through what I like to call 'professional unprofessionalism'. It wasn't afraid to use silly metaphors or graphics to get a point across without crossing the line into seeming out of place in a work environment or feeling infantilising

If you haven't already, check out Microsoft's "The Windows® 95 User Interface: A Case Study in Usability Engineering" report summarizing some of the Windows 95 designers' user research:

https://dl.acm.org/doi/fullHtml/10.1145/238386.238611

I read it and it partially inspired the entire project. It made me realise how inaccessible modern design is despite being held up as best in class and easy to use

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.

The real problem is you can’t have a DE separate from the programs that run therein, so everything just apes windows ;or sometimes macOS; badly.

To really break free you have build all the programs too, with the new UI paradigm.

Kinda what I'm trying to do. It will have a sort of "native feel" but will try to accommodate other UI paradigms and incorporate some of their ideas

IMHO if you can afford some setup time just skipping the DE entirely is still the best option. My i3wm setup plus some scripts and services was super lean and efficient. Still buried it for reasons I can't remember, switched distro too, but when I find the time I'm eager to create a tiling WM, wayland native UI on NixOS again.

I definitely agree, but those are hard to approach for newcomers. GNU shouldn't just be usable by those willing to put in extensive time, it should be easy to grok for newcomers as well (how else would we spread free software?). There is of course an amount of learning that might be required, as with any system, but we should balance that with the power of the software. systems like GNOME balance it by making the software near useless in exchange for the ability to be used without needing to learn or challenge anything, adopting user interface patterns designed to restrict the user as it's easier for people to instantly know how to do something. That's like trying to make a house easier to live in by locking the doors and putting up barred windows to accommodate those previously living in prison

It's a decent option for those who lean technical and like minimal WMs, but none are really my cup of tea. I've played with several and probably the one I enjoyed most was OpenBox which is the least like a minimal WM and most like a traditional floating DE, but it still wasn't what I was looking for.

Please can we just have Windows 98 again. Not the kernel, kernels are better now, but UIs have only gone downhill from there. Win9x was peak "it just works" (as long as it doesn't crash so please, no win9x kernels)

Well, this will be on a unix and it will be libre so its already better than windows, but I am heavily inspired by the 9x design language in multiple ways. Of course, things have changed and current tastes must be accommodated but there are important ideas that can be pulled from it

If you want some cool unusual UI, check out the HP Logic Analyzers (like the 16500A but there were others). It had a touch interface even though it had a CRT, and it had a knob for scrolling and for some alternative uses too - I think it used an encoder instead of a potentiometer but I may be misremembering. It was a really cool interface, I used it in early 2000s but it was old already by then, but it was really cool. There is a small website that documents its UI but I forgot the url.

I wouldn't use modern Windows as a good reference in user interface and user experience. If anything, is an experiment in user hostility.

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

If you want a photocopy of the Go Corp. PenPoint UI guidelines let me know and I'll see if I can dig out a copy from a binder which I got w/ an SDK I purchased years ago --- I really miss PenPoint, and always thought it was one of the better UI environments.

contact info is my user name here at aol.com

1) I'll be sure to reach out

2) You still use AOL? Is it just you've had it long enough to not want to switch or do you actively choose to use it for some reason I might've missed?

Actually, looks like we can save a bit of postage --- looks like Archive.org has it:

https://archive.org/details/bitsavers_goPenPointeb91_1197014...

1. I'll start looking

2. Yes, I was a charter member (who unfortunately, was broke when they offered the chance to buy stock), and it's easy to remember, and everything online account-wise is tied to it, and if I could still be paying for it and having my member FTP/webspace, I would.

would you mind sharing your library of HIGs?

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

Consider picking up Alan Cooper’s (perhaps somewhat dated) UI books for some useful perspective in thinking about UIs outside the experienced computer user mindset.

How is KDE like that? If you don't go out of your way to change options, you aren't "bombarded" with anything, it just works.

I love KDE, especially since Plasma 6 release but oh man is the Settings program poorly designed and littered with settings 99% of users will never need.

So many options placed seemingly at random. Similar options like lockscreen, login screen and desktop background settings spread out over 3 different main categories.

Customization options so extensive and granular one can only wonder about their purpose. Even in their latest release blog post they chose to brag about the new ability to change intensity/thickness of frames. I don't think most people care about stuff like this.

Until recently defaults were straight up insane like single click to open folders/launch programs, touchpad scroll being inverted etc.

If you navigate to Settings -> Sound you'll be presented with some options but also buttons in the top right that will open a mostly empty screen with a few additional options. Why not split the whole page into parts and present everything on a single screen? Why not tabs?

Sometimes those buttons in the top right have different behavior. Some will open a whole new page ansd sometimes it's just a popup and other times it's a dropdown.

And oh man just navigating Settings sucks. Main list consists of single and two level options with two level options opening another, mostly empty vertical pane so the actual size of the right pane changes with top text jumping around depending on what you press. So why some settings have two levels and some have tabs and some have those junky top right buttons that need their own back button to show up in the interface whenever they're pressed? I'm not for or against any of those design choices but why all of them at random? I just want some goddamn consistency.

Cherry on top is the bloat most distros choose to install alongside Plasma desktop. Dragon Player? kMail? Does anyone even use these? I dislike Gnome a lot but at least their preinstalled software is minimal, elegant and actively supported/developed. Most KDE programs look like they stopped receiving updates in 2008.

I still think it's a great DE but there's much room for improvement.

I actually really like KDEs other software, pretty much the only non-kde thing I use when I'm on plasma is firefox (despite actually liking falkon)

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.

Funny I feel the same about gnome. I haven't played with others enough to comment I suppose but all are missing some basic creature comfort stuff like a full tcp/up config dialog or a real fluid working app store out of the box. Distros add these but what is going on here.

The thing with GNOME is having to stack a bunch of extensions (most of which will only somewhat meet your needs) to get desired features, half of which will break periodically because there’s no stable extension API.

GNOME and KDE sit on extreme opposite ends of the minimalist/maximalist spectrum.

It's quality issue from my experience. Nobody ever bothered with polishing the defaults and the "option bombardment" is really bad incoherent design instead of having too many things.

I remember spending hours customising the KDE 5 task bar clock, trying to correct the padding. Eventually I gave up customising it and switched to GNOME.

KDE app customisation is also a mess compared to something like foobar2000.

The wealth of things in the KDE settings are things people will likely never change or are things that can be tweaked but don't necessarily need to be. For example, let's look at GNOMEs settings app. It has menus and options for all the things that the average user needs (network settings, mouse and display options, etc.) but leaves out, for example, things that people need to change for specific workflows (like the option to have focus follow the mouse). A settings app should let the user set things needed for the functions of a computer to work properly while separating deeper level customization for those who want it.

I think emacs does a very good job at this. You can configure most of the settings people need to be productive in a text editor from the menu bar while leaving the extremely rich customization of emacs to the options menu and elisp config files

If you're looking at Windows peak was like Win2000

I agree to an extent. I have some problems with it but I appreciate the way it approached new users. Instead of instantly trying to accommodate them it instead presented itself to the user in ways that let the user learn, sometimes the hard way.

Nah - peak was Windows 7.

> or being so dumbed down and rigid to be actually usable (GNOME, to a lesser extend CDE)

What do you find "dumbed down" and unusable about it?

Press ctrl-alt-T, and a terminal appears. Begin typing.

Press the flag key and a kind of menu thing you can type the name of apps into appears. Type "firefox" or "vscode" as appropriate, begin typing.

It could hardly be made any more straightforward.

Its not that (thats actually really good) its the application design being unsuitable for complex tasks

great idea! would love to star a repo or otherwise follow the project.

Still in the planning phases. I've had many ideas and am excited to share them