Elementary OS is a Ubuntu based Linux distribution.
Yes, I am not interested in it as an OS or in promoting it as an OS.
I am, however, interested in evangelising one of it's documents.
Human Interface Guidelines [elementary.io].
Why?
* because too many webdevs build sites with a poor Human Interface.
* because too many webdevs build smartphone apps with a poor Human Interface.
* because, in all probability, too many webdevs will build progressive web apps with a poor Human Interface.
Yes, the thrust is around the Elementary OS. I'm sure you are capable of replacing that focal point with that of your site, app, or PWA. Right? Fingers crossed.
The following is me:
What is the most important distinguishing feature of a site, of an Android/iOS app, of a PWA?
1. It works intuitively 'out of the box' without needing to RTFM.
Note: if not you've F'dUp, try again.
Note: provide a tool to configure, if and when, a user desires. NOT on install/rendering/first use. Unless it is absolutely critically unavailable elsewhere necessary.
What is the second most important distinguishing feature of a site, of an Android/iOS app, of a PWA?
2. Errors/Help is contextual, immediate, simple, usable.
Note: a succinct interactive tutorial may benefit if complex options are available. If and when, a user desires.
Note: if there is only one solution: doit! Don't bother the user.
KISS. For the user.
The following is from the Elementary :) Human Interface Guidelines:
Design is not something you add on after you've completed a product.
...
Design is how it works.
...
Design is not just, like, your opinion, man. Design is testable.
...
Always work to make your app instantly understandable.
...
it is important to recognize that every new feature has a price.
...
Build small, modular apps that communicate well.
...
If possible, completely avoid presenting any settings or configuration in your app.
...
Design with sane defaults in mind.
...
Get as much information automatically as possible.
...
Don't ever ask users to make engineering or design decisions.
...
Keep things contextual.
...
If your app needs to be configured before it can be used (like a mail client), present this configuration inside the main window
...
they expect that your app will be intuitive and simple for them to understand without assistance.
...
Avoid technical jargon and assume little-to-no technical knowledge.
...
Provide non-technical explanations instead of cryptic error messages.
...
There is a lot hidden within those ellipses.
There is a lot following where I left off quoting.
Go read.
Go print out.
Go read it again.
Benefit from some flexible yet specific guidelines.
And, please, pretty please with whipping cream and a cherry on top: build for human visitors, not bots; not even GoogleBot. Pretty please.
Note: if you build it for humans you get GoogleBot for free. Honest!