Software Construction and User Interfaces