Methods and systems for network-based or Internet-based software delivery
are described. In one embodiment, an application program or software
platform resides on a client. The program or platform is configured so
that it is extensible based on software extensions that are deliverable
over a network such as the Internet. Various extensions can be developed
by third party developers for incorporation into the program or platform.
In the described embodiment, extension files that comprise a software
extension are hosted on an Internet server. Additional files are also
hosted on the Internet server and describe aspects of the software
extension. These additional files include files that describe a logical
attachment of the extension to the program or platform, as well as files
that describe the location of the extension files. Extensions are
incorporated on a client by navigating to a particular Internet site
through which the extensions can be accessed. The files describing the
extension files are downloaded on the client. These files tell the client
where the particular extension is to be plugged in, as well as where to
find the appropriate extension files and how to download them. The
extension files are then downloaded and incorporated into the program or
platform.