I'm working on a SAAS platform. All users must login, so user ID, location, affiliation etc. are almost always known. The platform also has substantial game components, recording user progress and achievements.
One of the goals of the platform is to provide a friction-free experience for the user. Much of the time this is accomplished by serving conditional views of page elements/modules depending upon the user's state. State here would include affiliation, location, progress and time.
Some use of conditional views is good and desirable, but I'm worried that sometimes we're compensating for muddy UI with user-specific (conditional) views. Also, some pretty complex logic is stacking up in the back end to make the conditional views work.
Is there a rule of thumb for how much conditionality is too much? Put another way, does complexity matter, if the user doesn't see it?