A system and method for an extendable software interface includes a software
architecture
for use in a mobile device having a processor and a memory device. The software
architecture comprises a plurality of application programs stored in the memory
device and executed by the processor, and at least one controller module for interfacing
the plurality of application program with a one of a plurality of data objects
stored in the memory device in the form of a data model. Each controller module
utilizes one or more generic interfaces with the plurality of application programs,
and also utilizes a specific interface with the data model.