An assignment from Design for Interactive 2.