Front Panel: Designing Software for Embedded User Interfaces