Interaction-based Design: Constructing Novel Devices from First Principles