I think a good UI demonstrates a simple internal model, which the user has in mind, and uses necessary controls to affect that model. To make that model for the application - the one which would be not too simple and not too complex, close to obvious in learning, so little documentation is needed, and convenient controls to work with - not too many of them, not too few - is a tricky problem, "beginner vs. expert" conflict of assumptions is a part of it. AI could help with making a good approximation of such a model with controls.