The system, that i'm working on, has two different content density styles: compact and cozy. The first mode is for running on non-touch (mouse and keyboard-enabled) devices, with reduced control dimensions. The second one is for touch devices, where all control dimensions are big enough for finger tips.
The problem is that this system is working with apps, and not all of them support these modes. Thereby, the embedded controls in a such app can be changed when switching between modes, but custom controls cannot.
There are two possible solutions:
Enforce mode only if an app supports the required mode. But then we'll get a 'jumping' behavior, when navigating from a home screen in a cozy mode to an app in a compact mode.
Always enforce mode even if an app does not support the required mode. But then the apps that don't support the mode will look 'broken'.
Which on is better? Or are there any other solutions, that I don't see?