A method and system are provided for downloading software components from
a remote source to a software application for providing updates or
additions to the application's functionality. All components and files
that may be utilized to update or add to functionality available to the
application are identified and are assembled on a manifest that may be
located on a remote web server accessible by the application. If
components of the application should be updated, or corrections or
improvements to existing components are available, or new functionality
is available that will transform the user's existing application and
document into a "smart" application and "smart" document, the application
may connect to the web server to download the required components.