A modular user interface (UI) with consistent sensory interactions across
a plurality of selectable UI features that involve user interactions with
a computing device. A controlling program invokes one or more functional
UI modules each of which performs a data function of the corresponding UI
feature. The data functions do not involve any sensory interaction with
the user. Instead, a UI plug-in implements sensory interactions with the
user, such as displays, sounds, animation, data entry, etc. The sensory
interactions are based on the data functions and a skin file of visual,
audio, layout, and other sensory data. The skin file, the UI plug-in, and
the functional UI modules can be independently modified or replaced at
any time to change sensory and/or functional aspects of the UI features.
A UI engine manages computing resources and acts as a common
communication gateway between the controlling program, functional UI
modules, and UI plug-in.