Erfolgreiche Anwendungsentwicklung besteht selten nur darin, Bildschirme zu bauen. Die Anwendung muss widerspiegeln, wie Menschen tatsächlich arbeiten, mit den dahinterliegenden Systemen zusammenwirken und verständlich bleiben, wenn Anforderungen wachsen. In mobilen, Web-, Desktop- und Kioskumgebungen bestand der Ansatz darin, Benutzererlebnis, Anwendungsarchitektur, Hardwareabhängigkeiten und betriebliche Anforderungen als Teile desselben Problems zu behandeln.
Die Arbeit begann mit dem Verständnis der Entscheidungen, die Nutzer treffen mussten, der Informationen, die sie in jedem Schritt benötigten, und der Bedingungen, die den Workflow unterbrechen konnten. Die Oberflächen wurden anschließend durch wiederverwendbare Komponenten, klar getrennte Dienste und testbare Integrationsschichten unterstützt. So blieben die Anwendungen für Nutzer unkompliziert, ohne betriebliche Komplexität in fragilem Code zu verbergen.