Internal consistency of interfaces is curious: It makes software easier to use but it can not be easily tested for, since it is in no testable feature in particular. If you test with people who know your software, it has an effect, but it rarely can be isolated. Here, it makes a lot of sense to use expert reviews.

#usability #software #UX

@simulo A couple of things that I've found related to better, more consistent UIs...if the underlying business logic was built from Command pattern first, possibly in cli/repl and then later have a gui put on it, and 2, that the GUI is written for a specific user or role. That is, it's not just an aggregation of widgets. And then within the context of serving that user/role, that menus, actions, gestures, etc do similar things in similar contexts makes the learning transferrable across contexts.

Maybe another way of stating the above is to have a quality UI, it's much easier if it starts from quality foundation of understanding the problem domain and understanding the solution for that domain. It seems many UIs are the evolution of the developer learning about the domain.

@Spoofer3 yes, command pattern is very useful for building UIs upon!
Some thoughts:
- When it is missing, I have trouble finding out how I could improve the UI via code
- It works well with different programming styles (there are functional equivalents like action/reducer in redux. mathy.)
- maps directly to menus and toolbars. Drag-and-drop is harder, but doable (needs a preview layer!)
- With some additional work, it gives undo/redo (This is harder for live collaboration obviously)