Patent ID: 8161402

Claim:
A non-transitory computer readable storage medium storing computer executable instructions that when executed on a processor manage a graphical interface, the medium storing: instructions for providing a graphical interface, where the graphical interface: accesses a hardware device that is associated with a plurality of properties used to communicate with the hardware device, and accesses a software device being accessible through the graphical interface, the software device being accessible to a computer; instructions for scanning for available hardware devices, wherein two or more of the available hardware devices each respond to different commands, and a response to a given one of the commands identifies one of the available hardware devices, and the given one of the commands is user-defined; instructions for creating an additional hardware object for each hardware device detected and not already associated with a hardware object; instructions for providing a first interactive hardware object, where the first interactive hardware object: is accessible to the computer, is depicted in the graphical interface, and interacts with the hardware device; instructions for providing a first configuration represented by the first interactive hardware object, where the first configuration represents a collection of properties used to communicate with the hardware device and a first collection of values associated with the properties; instructions for providing a second interactive hardware object, where the second interactive hardware object: is accessible to the computer, is depicted in the graphical interface, and interacts with the hardware device; instructions for providing a second configuration represented by the second interactive hardware object, where the second configuration represents the same collection of properties as the first configuration and a second collection of values associated with the properties, wherein at least one value of a property differs between the first configuration and the second configuration; instructions for providing a software object, wherein the software object is representative of the software device, where the software object is depicted in the graphical interface and is configured to be interactive with the software device; instructions for displaying the first hardware object and the second hardware object simultaneously; instructions for receiving, from a user, a selection of at most one hardware object; and instructions for communicating with the hardware device corresponding to the selected hardware object using the configuration represented by the hardware object.