Designing with Blends – Conceptual Foundations of Human–Computer Interaction and Software Engineering