1. A non-transitory computer-readable storage medium for storing instructions that are executable by a computing device, the medium storing: one or more instructions for analyzing a first graphical user interface created in a first software environment, said analyzing including identifying elements of the first graphical user interface; one or more instructions for creating a platform independent schema of the first graphical user interface; one or more instructions for creating a platform independent description of the first graphical user interface based on the analyzing and the identified elements of the first graphical user interface, the created platform independent description conforming to the platform independent schema; one or more instructions for generating a second graphical user interface from the platform independent description of the first graphical user interface; one or more instructions for integrating the second graphical user interface into a second software environment that differs from the first software environment; and wherein platform independent is independent of the first software environment and the second software environment.