Patent ID: 8312047

Claim:
A computer program product embodied on a non-transitory machine-readable storage medium, comprising: computer code for providing a platform, wherein the platform is a framework shared by a plurality of developers and end users for allowing a plurality of different applications of the developers to run for the end users using a virtual machine; and computer code for enabling creation and allocation of the different applications by the developers for the end users using the platform, wherein the developers use the platform to create and allocate the different applications for the end users by: creating, by a first developer, a first application using the platform; and allocating the first application to each of a plurality of first user systems, using the platform, for saving the first application as first metadata into storage specific to each of the first user systems, wherein at least some of the first user systems are of a different type; wherein the saved first metadata is modifiable to accommodate the different types of the first user systems; wherein the saved first metadata is executable as the first application in a first virtual machine using processes specific to the first user systems, such that the first application is run by the processes specific to the first user systems; creating, by a second developer, a second application using the platform; and allocating the second application to each of a plurality of second user systems, using the platform, for saving the second application as second metadata into storage specific to each of the second user systems, wherein at least some of the second user systems are of a different type; wherein the saved second metadata is modifiable to accommodate the different types of the second user systems; wherein the saved second metadata is executable as the second application in a second virtual machine using processes specific to the second user systems, such that the second application is run by the processes specific to the second user systems; wherein the first developer and the second developer are each one of a provider of the platform and a third party developer separate from the provider of the platform.