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 a user and connected to the at least one central processing unit; the at least one processing unit configured to execute a plurality of programming instructions implementing an integrated design environment; the at least one processing unit further configured to execute a set of commands in conjunction with the integrated design environment for defining an appearance of a user-interface design window on the output peripheral, the appearance of the application 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.