Cover image for Good User Interface - FICUS system

Good User Interface - FICUS system

andraganescu profile image Andrei Draganescu Originally published at andreidraganescu.info ・2 min read


  • interfaces that make users wait are breaking flows. They should strive to be real world fast - remember when you tun a faucet on and the water takes a while to run? Frustration.


  • all action that is directed at the interface should respond with two kinds of feedback: roger and status. Animation is the "Roger" and status is repeating back what is going to happen next. That is because working with an interface is the same as WalkieTalkie speak, you need reassurance that the other party got the right message.


  • a good interface classifies by an internal system types of interaction into groups, and should try to behave the same for groups of similar actions. Consistency should not be forced across groups of interactions but be the law inside same kinds of interactions. Consistency allows users to remember patterns and hence generalize their feeling of trust in their knowledge.


  • ideally, interfaces should not depend on anything else other than the intent of the user. Since we don't have mind reading capabilities, yet, we use affordances. These affordances are what should be thought of individually to be disconnected from ability, savviness and culture. The ideal affordance is acultural, provides options to existing abilities and uses as much as possible intuitions learned by a preschooler.


  • simple as in not complicated. Complex systems will require complex interfaces, but complexity can be managed through all the other FICUS properties (fast, interactive, consistent, useable).
  • Complication represents two things: unexpected entanglement or too long entanglement. Briefly when parts of the interface depend on surprising, nonsensical other parts of the interface, or when short term memory is solicited exhaustively because of long chains of successive operations required. If this is avoided, simplicity exists and it will be picked up by users, because it will result in easy to grasp and small cause-effect chains.

Posted on by:

andraganescu profile

Andrei Draganescu


I am a full stack web developer with a degree in communication. I deliver simple synergetic systems. I curb my enthusiasm more often than not. I do not overengineer. I pivot very often before I fail.


markdown guide