Patent ID: 7363338

Claim:
A method, comprising: initiating an application on a platform of a device, the application including a platform capability-dependent assembly to perform a specific function of the application; determining at least one capability that the platform supports according to at least one capability profile of the platform, the at least one capability being a processing capability of the platform including at least one of an audio processing capability, a video processing capability, and a graphics processing capability; dynamically selecting a first specialized assembly associated with the platform capability-dependent assembly if the capability profile indicates that the platform supports a first capability; dynamically selecting a second specialized assembly associated with the platform capability-dependent assembly if the capability profile indicates that the platform supports a second capability, wherein said selecting a specialized assembly comprises: determining whether there are more than one capability supported on the platform of the device; retrieving custom attributes when there are more than one capability supported by the platform of the device; identifying a best-fit capability according to at least one custom attribute specifying priority among different capabilities; determining the specialized assembly corresponding to the best-fit capability, wherein the capability required by the specialized assembly matches the best-fit capability; and determining the specialized assembly wherein the capability required by the specialized assembly is supported by the platform when there is only one supported capability; and executing the selected specialized assembly on the platform via a proxy corresponding to the specialized assembly.