Patent ID: 7971208

Claim:
A method of providing a layered approach to developing operating-system platform components, the method comprising: providing, by a computing device configured to utilize one or more existing application program interfaces (APIs), new processing functionality to the operating-system platform components that are associated with the one or more existing APIs without modifying the one or more APIs, receiving, by the computing device, image input associated with the new processing functionality via one or more of the unmodified existing APIs, wherein the received image input passed through and was ignored by the unmodified existing APIs because the received image input was part of one or more tagged portions of a metadata structure recognized by the unmodified existing APIs; and determining, by a rule-based module of the computing device, an appropriate processing functionality for the image input, the determining by the rule-based module comprising: receiving the image input, wherein the image input comprises metadata; highest-level-of-sophistication determining whether the image input metadata references a highest level of sophistication of available processing functionality; in an event that the image input metadata does not reference the highest level of sophistication of available processing functionality, intermediate-level-of-sophistication determining whether the input metadata references an intermediate level of sophistication of available processing functionality; in an event that the image input metadata does not reference the highest level of sophistication nor any intermediate level of sophistication of available processing functionality, lowest-level-of-sophistication determining whether the image input metadata references a lowest level of sophistication of available processing functionality; and in response to one or more of the highest-level-of-sophistication, intermediate-level-of -sophistication, and lowest-level-of-sophistication determinations, selecting the determined level of sophistication of available processing functionality.