At the end of Snow Crash, the cyberpunk novel starring Hiro Protagonist, Neal Stephenson acknowledges Apple's Human Interface Guidelines for shaping his conception of a virtual reality system known as the Metaverse. He wrote the book between the years of 1988-1991, but the name Human Interface Guidelines still adorns the documentation Apple publishes for developers of their latest operating system. I was compelled to start reading it.
In Human Interface Guidelines, there are rocks and gems. This one is a keeper:
An easy-to-use program offers a compelling, intuitive experience for the user. It offers elegant solutions to complex problems and has a well thought out interface that uses familiar paradigms. It is easy to install and configure because it makes intelligent choices for the user, but it also gives the user the option to override those choices when needed. It presents the user with tools that are relevant in the current context, eliminating or disabling irrelevant tools. It also warns the user against performing dangerous actions and provides ways to undo those actions if taken. Ease of Use
Why is this so good? It's all perfectly obvious material. It's good because you can use it as a very thorough checklist. Take a look at the words in the first sentence. What a tall order! Do you believe that your software can be compelling and intuitive? Can you design an interface that compels the user through its processes on intuition alone?
Now go and look up elegant and see how it applies to your software. Now find some real examples of the exact paradigms you're struggling to maintain even while inventing new methods. And so on.
Read it with particular software in mind and you can forget that it was written for Apple software developers. This document is overflowing with good advice for all developers.