One area that needs a lot of work is the stylebook. The goal is to describe general principles for how we design and use various visual elements. We get lots of complaints from users about FreeCAD's steep learning curve and much of this comes from inconsistent UI/UX practices. So the stylebook should eventually help make things more uniform.
I'd like to try an exercise:
I've written a draft of the page on task panels. This is just a first pass off the top of my head.
Now let's have a discussion about one task panel.
For our test case, I'm looking at a panel that I hate more than my dog hates the vacuum cleaner: Shapestring
Here are the things that I see wrong with this off the top of my head:
- The point of the dialog is to create a string. But the string input is buried halfway down the widgets. It should be the first input. (5.1)
- Font file should be second (5.1)
- Height should be third.(5.1)
- Creating a shapestring isn't resource intensive, why doesn't this show the preview in realtime? (2.1)
- If it can't show a preview, why isn't there an 'apply' button to show the preview? (2.2)
- A font is absolutely necessary but users probably don't know where the font files are located. Can't we show a list of installed fonts? (??)
- The string input has 'default' as the text. This isn't a placeholder, it's a default value. Defaults should be a best guess at what the user needs. It's very rare that the user actually wants to put the text 'default' into their document. This should be a placeholder. (4.3)
- The 'OK' button should be disabled until a string is entered and a font selected (??)
- The XYZ location coordinates are weird. It starts by showing the current mouse position. But only until you click. Then it shows the coordinates of the last place you clicked. (??)
- What the heck is 'reset point'? All it does is sets the xyz back to zero and make the coordinates reflect mouse pointer location again. (??)
Are these guidelines reasonable? Would they help improve the design?
Tell me what additional guidelines are needed, especially for the ones I marked (??).