3 ms·
I'm reading the design principles right now. A lot of them are sane and reasonable; my issue is with what's missing. >Resist the pull to try and make an app th
by lvxferre 5y ago
I'm reading the design principles right now. A lot of them are sane and reasonable; my issue is with what's missing.
>Resist the pull to try and make an app that suits all people in all situations. Focus on one situation, one type of experience.
A kitchen sink is bad. An incomplete program is even worse. So, even if focusing on one situation and one target audience, make sure that your program is reasonably complete.
>Don’t overwhelm people with too many elements at once. Use progressive disclosure and navigation structures to provide a guided experience.
Tracking complexity is more important than the "raw" number of elements being shown. That's why consistency is so important. Refer also to what I said about "incomplete programs", it applies to the UI.
Guiding user experience is good, but remember that your user is not a moron, and does not want to be treated as one. There's a difference between pointing the right direction and pulling someone by a dog choker.
Poorly used progressive disclosure makes every non-trivial task a chore, so make sure you're doing it right.
>Frequently used actions should be close at hand, with less important actions being further away.
Ultimately who decides which actions are "more" or "less" important is not you, but the user; you can at most estimate it, for your typical user, in typical user cases. So make sure even the less important actions are close enough.
>If something can be done automatically, do it automatically.
>Try to anticipate and prevent mistakes.
Don't be an assumer. Don't code your program to be an assumer either. Nothing is more aggravating than a program incorrectly automating something, based on assumptions. Or preventing the user from doing something sane in context, that the developer didn't take into account.
- hyperman1 5y ago'The inmates are running the asylum' has a discussion about an element I think they are missing: personas. The book discussed how 'user' is elastic: The average user is defined so vague that you can stretch the definition in every way you want. Enter personas. Each is a description of an invented but recognizable person, including name, lifestyle, background, ... A bit of an advanced cliché. Then you can say how well your program fits for that persona. For gnome, you could have Ginny the grandmother who prefers everything easy and with a cat background. You have Eddy the console addicted linux expert. You have Danny the 9 to 5 bigco developer who just wants to get his work done and go home, and some higher up forced GNOME on him. When these personas are reasonably well known, the development team as a whole can discuss UI changes in their terms. We're going to remove all but one shutdown option? Ginny will like it, Eddy's gonna hate us. But Eddy knows all hotkeys, maybe hide the more advanced option under the ALT button? You can even exclude personas: Gnome is developed for Ginny, Eddy should go away and use KDE.
- lvxferre 5y agoThat's a good approach. If you back it up with a study of your target audience, and creates the personae in a way that it represents it well, you could even take decisions like "We could annoy Ginny for the sake of Eddy and Frank, it'll make the software better for most people... but we're better off throwing her a bone too." I don't think GNOME devs have such an insight. They claim to be right too often, too soon; I don't trust people like this to take smart decisions.
- hyperman1 5y agoA few days ago HN had an article about dumb vs stupid or something. The first being a low quality brain, but the second could happen when smart people work with the wrong mental framework. I fear GNOME is locked in the second problem. Clearly they have a lot of smart people over there, but I also see a lot of wasted effort and dumbing down. One aspect of the wrong mental framework would be working for the nonexistant elastic average user. Another example would be their stance on the unimportance of backward compatibility.
- hulitu 5y agoWell, Eddy will not install Gnome for Ginny when he thinks that Gnome is crap. We will just install KDE.