Contextualising user interfaces for complex systems