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.