1. An apparatus for programming a computing device comprising: at least one central processing unit, a volatile storage unit and non-volatile storage unit interconnected by a bus; an input peripheral for receiving input from a user and connected to the at least one central processing unit; an output peripheral for generating output for presentation to the user and connected to the at least one central processing unit; and the at least one central processing unit is configured to: execute a plurality of programming instructions implementing an integrated development environment, and execute a set of commands in conjunction with the integrated development environment for defining an appearance of a user-interface design window on the output peripheral, the appearance of the user-interface design window simulating a display screen of a portable electronic device and the set of commands being related to one type of portable electronic device.