The development of the Internet and widespread adoption of broadband access by consumers has opened up the use of new software delivery vehicles where software applications, updates, and patches may be readily and conveniently accessed from online sources. The online software provider will package various software components which are placed on a server for download. A software user may then typically download a standalone installer program or utilize a web browser that supports a service for installing and registering software components that are downloaded from the server, as well as any files required by the components.
Software delivered via the Internet is conventionally installed on a personal computer (“PC”) using a linear process where a user first downloads the software from the provider which is then installed. During the installation, the user typically becomes locked into the process and must wait for the installation to be completed. While some user interfaces provided by the software installer display advertisements or educational messages to make use of the installation time, the user must still wait before being given an opportunity to select additional software products or components for installation on the PC.
Online software delivery generally performs well and meets the expectations of many users. However, some users express frustration with the traditional linear software delivery and installation process and the waiting that it entails.
This Background is provided to introduce a brief context for the Summary and Detailed Description that follow. This Background is not intended to be an aid in determining the scope of the claimed subject matter nor be viewed as limiting the claimed subject matter to implementations that solve any or all of the disadvantages or problems presented above.
A user interface to a software installer is arranged to enable users to select additional software products that are downloaded, queued, and then installed dynamically (i.e., “on-the-fly”) on a PC while an existing software installation is performed. In an illustrative example, the user interface is configured to provide an indication of the progress of software products that are currently being installed, as well as a list of other software products that are available for installation.
When a user selects a new software product from the list, the installer will immediately fetch the software from an online service and queue it for installation. The user interface will be updated to display the installation progress for the new software product along with the installation progress for the existing products. The user can repeat the process and continue to add new products that will also be installed on-the-fly until all the desired software products are installed on the user's PC.
Advantageously, the present on-the-fly addition of new products to an existing installation of software provides an efficient way for users to select and install software products that makes use of time that might otherwise be wasted. And for the software provider, the user interface provides up-sell opportunities for additional software products that are constantly presented to the user during the installation process and for which the user may immediately take advantage.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
Like reference numerals indicate like elements in the drawings. Elements are not drawn to scale unless otherwise indicated.
While a client PC 112 is used in this example, it is noted that the present arrangement for on-the-fly addition of software may be adapted to work with other devices as required to meet the needs of a particular implementation. For example, thin client devices that have networking capabilities may also be supported in some cases. Such devices may include smart phones, mobile phones, personal digital assistants (“PDAs”), pocket PCs, handheld game devices, personal media players, ultra-mobile computers, and the like, which typically have reduced resources (such as memory, network bandwidth, screen resolution, and processing power) compared with the client PC 112. Devices with PC-like capabilities such as game consoles and set-top-boxes, for example, may also be utilized. In all cases, the delivered software products will typically be matched to the capabilities of the devices on which they are intended to operate.
The online service 121 includes a web server 132 and an update server 136. The web server 132 is accessible from a web browser 140 on the client PC 112. Typically, the user 105 will use the browser 140 to view web pages called merchandising pages served by the web server 132 to learn about software products offered by the service 121 and then initiate the installation process when the user 105 identifies a desired product.
The update server 136 is arranged in this example to store and serve the software products that are available for download over the Internet 126 and installation on the client PC 112. Other resources may also be utilized by the service 121 (not shown in
In this example, when the user 105 visits the merchandising page served by the web server 132 and decides to get a software product, a standalone executable (such as an .ocx, a .dll, or an .exe file) is downloaded over the Internet 126 and then installed and registered on the client PC 112. As shown in
The user interface 218 includes two components, as shown in
While this example shows and describes software products that are utilized with online services, it is emphasized that standalone products that operate entirely locally may also be supported by the present arrangement. In addition, a mix of locally running applications and those that interact with online services may also be utilized in some cases.
As shown in
As shown in
When the user 105 launches the installer 211 (after downloading from the service 121 and installing it on the client PC 112), the installer 211 reads the cookie (516). The installer 211 will then fetch (i.e., download) the initial software product selection from the update server 136 at the service 121 and begin installing it on the client PC 112 (520).
As the installer 211 performs the download and installation of the initial product selection, the installer user interface 218 shows the progress of that installation using the indicator 305 and enables the user 105 to add more software products displayed by the up-sell component 310 to be fetched from the service 121 for installation on the client PC 112 (525).
When the user 105 selects a new product (531), the installer 211 will download the selected product, queue it in the installation queue 224, and then install it from the queue (536). This process of enablement, selection, and installation may be iterated until the user 105 has picked all the desired software products from the list of additional products displayed by the up-sell component 310.
The progress indicator 305 further lists all the software products installed or to be installed by the installer 211, as indicated by reference numeral 603, and the status of each product in the installation process, as indicated by reference numeral 606. Screen 600 shows that the user 105 had previously selected and installed two other software products—“Sign-in Assistant” and “Messenger” as indicated by the respective reference numerals 612 and 618. Sign-in Assistant 612 is a browser add-on that provides sign-in support for multiple user IDs. Messenger 618 supports an instant messaging (“IM”) service that enables the user 105 to connect to other IM users using text, voice, or video.
Screen 600 further shows that the user 105 has selected Photo Gallery which is currently 4% downloaded from the update server 136 as indicated by the progress indicator 305.
The list 315 displayed by the up-sell component 310 shows, in this example, four additional software products from which the user 105 may choose along with a brief description of each. The “Toolbar” product is a browser add-on that provides additional functionalities for browsing the World Wide Web. The “Family Safety” product works with the browser to help the user 105 filter information from the Internet based on family members' ages. The “Writer” product is a desktop application that assists the user 105 in publishing content to the user's blog (web log). The “Mail” product is an e-mail program that provides a unified mail client for multiple e-mail accounts with integrated security protection.
A link 620 is provided which when clicked by the user 105, will direct the web browser 140 to web pages on the web server 132 which can provide more information beyond the brief description included in the user interface 218.
In screen 600, the user 105 has not selected any additional software products from the up-sell component 310 (as indicated by the lack of any checks in the checkboxes as representatively indicated by reference numeral 622). Accordingly, the “Add to Installation” button 626 is “grayed out” in the screen 600 and is not operable by the user 105.
Screen 700 in
When the user clicks button 626, as shown in the screen shot 800 in
Screen 900 shows the user interface 218 after the Writer product has been added to the installation queue 224 which is reflected in the list 903 provided by the progress indicator 305. At this point in time, the Photo Gallery product is completely downloaded from the update server 136 and is being installed on the client PC 112 by the installer 211. A meter 910 provides a graphical display of the progress of the installation of Photo Gallery.
As indicated by reference numeral 906, the status of the Photo Gallery product is shown as “Installing.” The Writer application is shown as “Waiting” in the installation queue 224 for its turn to be installed by the installer 211 when the installation of the Photo Gallery product is completed.
While the Photo Gallery and Writer products are going through the installation process, the user 105 is free to select additional products from the list 915 for installation on the client PC 112. Because the Writer product was selected earlier by the user 105 and its installation is pending, it is no longer displayed in the list 915 of available products.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the specific features or acts described above. Rather, the specific features and acts described above are disclosed as example forms of implementing the claims.