Any guides on designing an interface?

Just my two cents

  • hierarchical interface is the solution to have both being generic/powerful/flexibile and easy to use. Split your interface to different modules, and let user decide which level they want

  • be concrete on things, collect use cases and try to write them with your design proposal, make sure at least every use cases collected are very easy to implement with the interface. Those not covered by the use cases you collect can be ignore at this stage to simplify the development

  • keep open to and don’t be afraid of refactoring. When more use cases appears from user side, this always has to happen. And every time a refactor happens it will improve the entire design.

Refactoring is actually much easier in Julia than in Python btw this is one of my favorite part of Julia.

7 Likes