1. A mobile computing device, comprising: a processing sub-system having a processor and memory, said memory to store software components for execution by said processor, said software components comprising an application program implemented using a model driven application framework including a data model and capable of operating with multiple operating systems: and wherein the application framework has a model-view-controller software architecture comprising a controller module, view module, model module, and data module; and wherein said model module is platform-independent, such that changing the operating system with which said application program operates does not include modification of said model module.