The present invention relates to distribution of digital products and, more particularly, to network-based distribution of digital products.
Today, online media stores, such as iTunes™ Media Store, allow customers (i.e., online users) to purchase or rent media items, such as music or videos, over the Internet. Often, at online media stores, numerous media items made available and are provided by various different content providers, such as music labels or movie companies. Software tools, such as iProducer™ and Label Connect™ available from Apple Inc. of Cupertino, Calif., can assist content providers with online submission of media content to the iTunes™ Media Store.
Software programs are also available to purchased or licensed at retail stores as well as online stores. Conventionally, a software program is primarily purchased as a compact disc (CD) containing the software program. Alternatively, purchasers can often purchase and download a software program from an online retailer or a software provider's website. However, when an online retailer operates to sell software programs of various independent parties, there are difficulties in providing the digital program files and supporting information/files to the online retailers. This problem is exacerbated by a large number of small software providers that often desire to partner with the online retailer. As a result, online retailers that receive online submissions face substantial burdens and difficulties due to the wide range of variation with respect to the submissions.
Therefore, there is a need for improved approaches to facilitate distribution of software programs to online retailers.
The invention relates to an improved system and method for submitting, distributing and/or managing digital products with respect to a product distribution site. The submission of digital products to the product distribution site is able to be performed by numerous submitters in a uniform and computer-assisted manner. The submitted digital products can then be managed in a largely automated manner and made available for online purchase and distribution at the product distribution site. Once a digital product is submitted, the user can access the status of the digital product submission to obtain information of whether the digital product has been approved or rejected. After digital products are approved, the digital products are made available at the product distribution site such that user can search, browse and purchase any of the digital products. In one embodiment, the digital products are computer program products (e.g., computer software programs). The product distribution site can also be referred to as an online product hosting site.
According to one embodiment, an online distribution system for digital products, namely computer program products, can receive electronic submission of not only computer program products but also product information, developer information and distribution parameters. The product distribution system can then present the computer program products for distribution at an online product distribution site in accordance with the distribution parameters. The online product distribution site also can present potential purchases with product information and/or developer information prior to any purchase.
Product information and/or developer information can be used to generate windows (or webpages) for presentation of such information. In one embodiment, these windows can be automatically generated from the electronic submission of the product information and/or the developer information. Further, these windows can have a consistent pattern that facilitates usage by users that often search and browse through many different available computer program products.
The invention can be implemented in numerous ways, including as a method, system, device, apparatus (including computer readable medium and graphical user interface). Several embodiments of the invention are discussed below.
As a method for locating information on a digital product that is made available for distribution at an online repository, one embodiment of the invention includes at least: receiving an electronic submission of product information and distribution information pertaining to the digital product; rendering the digital product available for distribution from an online store in accordance with the distribution information; and assisting a user to the online store in locating at least a portion of the product information pertaining to the digital product.
As a computer-implemented method for accessing information concerning application products from an online repository, one embodiment of the invention can, for example, include at least: presenting an electronic information page providing descriptive information on a plurality of different application programs, the electronic information page including, for each of the different application programs, at least descriptive information, a first user interface control to access developer information and a second user interface control to access application information; presenting a developer information page in response to selection of the first user interface control of the electronic information page, the developer information page including at least text data pertaining to the particular developer; and presenting an application information page in response to selection of the second user interface control of the electronic information page, the application information page including at least text and graphic data pertaining to the particular application program.
As a graphical user interface for locating and downloading a digital product from an online distribution site, one embodiment of the invention can, for example, include at least: a main window configured to promote a plurality of digital products and to enable a user to search or browse the digital products or access information about the digital products; a search dialog or window configured to assist the user in searching the digital products; and a main application window configured to promote a plurality of digital computer program products. The main window can be replaced by the main application window when the user initiates presentation of the main application window
Other aspects and advantages of the invention will become apparent from the following detailed description taken in conjunction with the accompanying drawings which illustrate, by way of example, the principles of the invention.
The file of this patent contains at least one drawing executed in color. Copies of this patent with color drawing(s) will be provided by the Patent and Trademark Office upon request and payment of the necessary fee.
The invention will be readily understood by the following detailed description in conjunction with the accompanying drawings, wherein like reference numerals designate like elements, and in which:
The invention relates to an improved system and method for submitting, distributing and/or managing digital products with respect to a product distribution site. The submission of digital products to the product distribution site is able to be performed by numerous submitters in a uniform and computer-assisted manner. The submitted digital products can then be managed in a largely automated manner and made available for online purchase and distribution at the product distribution site. Once a digital product is submitted, the user can access the status of the digital product submission to obtain information of whether the digital product has been approved or rejected. After digital products are approved, the digital products are made available at the product distribution site such that user can search, browse and purchase any of the digital products. In one embodiment, the digital products are computer program products (e.g., computer software programs). The product distribution site can also be referred to as an online product hosting site.
According to one embodiment, an online distribution system for digital products, namely computer program products, can receive electronic submission of not only computer program products but also product information, developer information and distribution parameters. The product distribution system can then present the computer program products for distribution at an online product distribution site in accordance with the distribution parameters. The online product distribution site also can present potential purchases with product information and/or developer information prior to any purchase.
Product information and/or developer information can be used to generate windows (or webpages) for presentation of such information. In one embodiment, these windows can be automatically generated from the electronic submission of the product information and/or the developer information. Further, these windows can have a consistent pattern that facilitates usage by users that often search and browse through many different available computer program products.
Embodiments of various aspects of the invention are discussed below with reference to
The product submission and distribution system 100 also includes a first client 110 and a second client 112. Typically, the product submission and distribution system 100 would include a plurality of different clients 110, 112. The first client 110 includes a network access program 114. The second client 112 includes a product submission program 116. Some clients can also include both the network access program 114 and the product submission program 116. The network access program 114 is an application program (e.g., software application) that operates on the first client 110, which is a computing device. One example of a suitable network access program is a network browser (e.g., Microsoft Explorer or Safari). Another example of a suitable network access program is iTunes™ offered by Apple Inc. The first client 110 is coupled to the product distribution site 102 through the data network 108. Hence, any of the first clients 110 can interact with the product distribution site 102 to review, purchase and/or manage digital products.
The product submission program 116 is also an application program (e.g., software application) that operates on the second client 112, which is a computing device. The product submission program 116 is used to submit digital products to the product submission and management system 104 for eventual distribution by the media distribution site 102. Although the network access program 114 and the product submission program 116 are shown in
In the product submission and distribution system 100 shown in
The product submission and distribution system 100 allows a user of the client 110 to utilize the network access program 114 to browse, search or sort through a plurality of digital products that can be purchased from the product distribution site 102. The network access program 114 may also allow the user to preview or demo some or all of a digital product. In the event that the user of the network access program 114 desires to purchase a particular digital product, the user (via the network access program 114) and the product distribution site 102 can engage in an online commerce transaction in which the user pays for access rights to the particular digital product. In one embodiment, a credit card associated with the user is credited for a purchase or rental amount of the particular digital product.
The submission and purchase of the digital products can be achieved over the data network 108. In other words, the submission and purchase of the digital products can be achieved online. The purchase of media items online can also be referred to as electronic commerce (e-commerce). In one embodiment, the data network 108 makes use of at least a portion of the Internet. The clients 110, 112 can vary with application but generally are computing devices that have memory storage. Often, the clients 110, 112 are personal computers or other computing devices that are capable of storing and presenting media to their users. In one embodiment, the connections through the data network 108 between the product distribution site 102 and the clients 110, 112 can be through secure connections, such as Secure Sockets Layer (SSL).
Although the product distribution site 102, the product submission and management system 104 and the products store 106 are shown in
The digital product submission process 200 can receive 202 product information pertaining to a digital product. The product information can vary depending upon the type of digital product being submitted. In one implementation, one type of digital product that can be submitted to an online repository by the digital product submission process 200 is a digital program product, such as a computer program product. Examples of product information for a computer program product can include one or more of: a product name, a supported device type indication, genre indication, version number, product identifier, support information, and license agreement information.
Next, a least one electronic file pertaining to a digital product can be uploaded 204. The digital product can have one or more electronic files associated therewith. For example, the digital product may include a binary file, a support or help file, and/or one more exemplary screen illustrations.
In addition, a least one distribution parameter to be used with the digital product can be received 206. A distribution parameter is a parameter that can be utilized to control or influence the manner in which the digital product is able to be distributed. One example of a distribution parameter is a pricing parameter. As an example, a pricing parameter can specify a price or a price tier to be associated with the digital product. Other distribution parameters can pertain to digital storefronts from which the digital product is to be distributed from. Still further, distribution parameters could also pertain to preview eligibility, license categories (types), etc.
Thereafter, the digital product can be submitted 208 to the online repository. The online repository can, for example, correspond to the product submission and management system 104. The online repository can receive the one or more electronic files, the associated product information and the one or more distribution parameters. The online repository can then operate to permit distribution of the digital product, as contained in the one or more electronic files, from a product distribution site (e.g., an online store) in accordance with the product information and the one or more distribution parameters. After the submission 208 of the digital product to the online repository, the digital product submission process 200 can end.
The product submission and management system 300 can require a login 302. For example, the login can require a user (i.e., digital product submitter) to provide a user name and a password. If the digital product submitter has successfully logged into the product submission and management system 300, the digital product submitter can be presented with a system navigation page 304. From the system navigation page 304, the digital product submitter can access one or more modules that are supported by the product submission and management system 300. According to one embodiment, as illustrated in
The product management module 306 can allow the digital product submitter to submit new products and control distribution of such new products. The product management module 306 can also allow the digital product submitter to edit previous submissions. The contract request module 308 can permit the digital product submitter to request a contract with an entity that provides the product distribution. Such a contract can enable the digital products submitter to distribute digital products using a product distribution site (e.g., online store) provided by the entity. The royalty module 310 can assist the digital product submitter in monitoring distribution of all digital products associated with the digital product submitter, including monitoring royalties that will or have in provided to the digital submitter due to distribution of such digital products. For example, the digital product submitter can access monthly royalty reports. The account management module 312 can provide centralized account management for the digital products, including, for example, access permissions, email settings, basic account information to be associated with the digital products matter.
When the user interacts with the product management base page 402, a default setting page 404 can be presented. The default setting page 404 allows the user to configure default settings. Following the default setting page 404, a product information page 406 can be presented. The product information page 406 allows a user to enter product information pertaining to a new product. Following the product information page 406, a file upload page 408 can be presented. The file upload page 408 allows the user to specify digital files to be uploaded and associated with the new product. Following the file upload page 408, a distribution parameters page 410 can be presented. The distribution parameters page 410 allows the user to enter various parameters that affect distribution, such as pricing information. Following the distribution parameters page 410, a storefront and localization page 412 can be presented. The storefront and localization page 412 can allow the user to specify all or certain storefronts from which the new product is to be available for distribution (e.g., purchase). Also, to the extent that some of such storefronts are in geographically different regions of the world, the localization information can also be provided by the user. For example, the localization information can provided foreign language versions of some of the product information. Following the storefront and localization page 412, a product submission page 414 can be presented. The product submission page 414 can allow the user to confirm data that has been provided for the new product and then cause the submission of such information to a product submission and management system, such as the product submission and management system 104 illustrated in
The application configuration and distribution process 500 is processing performed after submission of one more digital products to a product submission and management system. In particular, the application configuration and distribution process 500 produces 502 a developer page using developer information previously provided to the product submission and management system. Here, the developer page is an electronic information page that is specific to a particular developer of products, namely, application programs. The developer page can be produced 502 in advance of being utilized or can be dynamically generated as needed.
In addition, an application page can be produced 504 using product information previously provided to the product submission and management system. The application page is an electronic information page that is specific to a particular application program (computer program product) that has been submitted to the product submission and management system for distribution by an online product distribution site. As discussed below, persons interested in purchasing the particular application can gain access to the application page to review information pertaining to the particular application. The application page can be produced in 504 in advance of being utilized or can be dynamically generated as needed.
Thereafter, the application configuration and distribution process 500 can facilitate 506 user navigation at an online store to a developer page or an application page. Typically, the online product distribution side hosts an online store that stores numerous developer pages and numerous application pages. As potential purchasers search, browse or otherwise navigate through the various available applications at the online store, such potential purchasers can access appropriate developer pages or application pages. These developer pages or application pages thus assist potential purchasers in determining whether to purchase the associated application program. In one embodiment, the developer pages and the application pages contain user interface controls that allow potential purchasers to initiate purchase of the associated application program. Following the block 506, the application configuration and distribution process 500 can end.
Allowing users to navigate an online store that supports the sale of numerous application programs developed by numerous different developers requires a series of informational pages (webpages). The appropriate ones of the informational pages can be presented to the users as they navigate the online store. According to one embodiment, a graphical user interface system can provide a series of informational pages that can be accessed by the users. The series of informational pages can support a plurality of different functions with respect to the online store. Examples of supported functions can include searching, browsing, sorting, purchasing, updating, listing and reporting.
A decision 604 can determine whether a search request has been received. When the decision 604 determines that a search request has been received, a search process can be performed 606. On the other hand, when the decision 604 determines that a search request has not been received, a decision 608 can determine whether a browse request has been received. When the decision 608 determines that a browse request has been received, a browse process can be performed 610. Alternatively, when the decision 608 determines that a browse request has not been received, a decision 612 can determine whether an application list request has been received. When the decision 612 determines that an application list request has been received, an application list process can be performed 614.
On the other hand, when the decision 612 determines that an application list request has not been received, a decision 616 can determine whether an update request has been received. When the decision 616 determines that an update request has been received, an update process can be performed 618. Following the performance 618 of the update process, the online store navigation process 600 can return to repeat the block 602 and subsequent blocks.
Alternatively, when the decision 616 determines that an update request has not been received, a decision 620 can determine whether some other request has been received. When the decision 620 determines that in another request has been received, the other request can be processed 621. Here, the other request represents a general request that can depend upon the implementation of the online store navigation process 600. As examples, the other request might initiate a purchase, a preview, a download, a rating, a review, a navigation operation, etc. When the decision 620 determines that another request has not been made, a decision 622 can determine whether the online store navigation process 600 should end. If the decision 622 determines that the online store navigation process 600 should end, the online store navigation process 600 can end. On the other hand, if the decision 622 determines that the online store navigation process 600 should not and, the online store navigation process can return to repeat me decision 604 and subsequent blocks.
Following any of the blocks 606, 610 and 614, additional processing can be performed by the online store navigation process 600. The additional processing can, for example, provide users with access to developer information, application product information and other related information. Accordingly, as shown in
After the application product page is presented 630, a decision 632 can determine whether a license information request has been received. Then the decision 632 determines that a license information request has been received, a license page can be presented 634. Alternatively, when the decision 632 determines that a license information request has not been received, a decision 636 can determine whether a related page request has been received. When the decision 636 determines that a related page request has been received, a related page can be presented 638. One example of a related page is a page containing information on other products, such as applications, that other users were interested in besides the application product of the application product page that has been presented 630.
Following the decision 628 when an application product information request is not received, following the block 634, following the decision 636 when a related page request is not received, or following the block 638, a decision 640 can determine whether another request has been received. The another request represents a generic request they can also be processed by the online store navigation process 600. When the decision 640 determines that another request has been received, the another request can be processed 642.
On the other hand, when the decision 640 determines that another request has not been received, a decision 644 can determine whether a home request has been received. A home request is a navigation command to go back to display of a home page that was previously displayed. When the decision 644 determines that a home request has been received, the online store navigation process 600 can return to repeat the block 602 which represents the beginning of the online store navigation process 600. Alternatively, when the decision 644 determines that a home request has not been made, the online store navigation process 600 can return to repeat the decision 624 so that the user can continue to navigate to a developer page or an application product page.
On the other hand, when the decision 906 determines that the user has been successfully authenticated, the application update process 900 can determine 910 those updates that are available to the user. An update availability page can then be presented 912 to the user. The update availability page can inform the user of the one or more updates to previously purchased application programs that are now available to the user. These updates may be provided free of charge or may require payment of a fee. Next, a decision 914 can determine whether a download request has been received. In one embodiment, from the update availability page, the user can elect to proceed to download the one or more available updates or can decline to download any of the available updates. Of course, if there are no updates available to the user, the decision 914 can effectively likewise determined that download is not to be performed. In the case where the decision 914 determines that a download request has been received, the one or more available application updates are downloaded 916 for the benefit of the user. Typically, the one or more application updates are downloaded 916 to a client machine, such as a personal computer, that is accessing the online store via a network connection. In cases where the application updates are not for previous applications on the personal computer, but instead for another device that couples to the personal computer on occasion, then the application updates are eventually delivered and installed on the another device. For example, the another device might a portable computing device, such as a portable media player, a mobile telephone, or a personal digital assistant, that subsequently couples to the personal computer. In such case, when the portable computing device couples to the client machine, the application updates can be provided to the portable computing device that has the corresponding previous applications installed thereon. A synchronization operation between the client machine and the portable computing device can be used to transfer the application updates from the client machine to the portable computing device. Thereafter, following any downloading 916, the application update process 900 can end.
The graphical user interface system 1000 includes an online store main page 1002. From the online store main page 1002, a user can navigate to a search page 1004 that can be utilized to produce a search results page 1006. Also, from the online store main page 1002, a user can navigate to a browse page 1008 that can be utilized to produce a browse results page 1010. Still further, from the online store main page 1002, a user can navigate to an application main page 1012, which provides information substantially dedicated to a plurality of different application programs. From the application main page 1012, a user can navigate to a number of different application listing pages. For example, if the user is interested in a listing of top applications, the user can navigate to a top application page 1014. As another example, if the user is interested in all applications (whether available for free or for a fee), the user can navigate to an all applications page 1016. As still another example, if the user is interested in a particular category of applications, the user can navigate to an application category page 1018.
In addition, the graphical user interface system 1000 includes a developer page that provides information pertaining to a developer. Since the underlying system supports a plurality of different developers, the graphical user interface system 1000 can provide navigation to the developer page 1002 for a particular developer.
The graphical user interface system 1000 also includes application product pages 1022 for the plurality of application programs that are offered for distribution by a product distribution site (e.g., online store). Hence, the graphical user interface system 1000 can facilitate the user in navigating to an application product page 1022 pertaining to a particular application product. More particularly, a user can navigate from various points in the graphical user interface system 1000 to either the developer page 1020 or the application product page 1022 that are relevant to a particular application that has been identified through searching, browsing or listing. Hence, as an example, the user can navigate from the search results page 1006, the browse results page 1010, the top application page 1014, the all application page 1016 or the application category page 1018 to either the developer page 1020 or the application product page 1022 for a particular application. Additionally, a user can navigate from the application product page 1022 to a license page 1024 or a related page 1026. The license page 1024 can provide the user with access to a license agreement that applies to the particular application product. The related page 1026 can provide the user with access to recommendations or correlated purchases from others that may be of interest. Still further, the application product page can also provide a link (i.e., hyperlink) to a developer support website. The network location (address) for the developer support website can be provided by the developer when submitting the application product to the product submission and management system. Accordingly, if the user is having technical difficulties with a particular application product, the user can navigate to the corresponding application product page 1022 and then select (e.g., “click-on”) the available link to be directed to a developer support website.
The online store main page 1002 can also support user navigation to an update operation. The update operation can make available to users those application updates that are available to the user with respect to prior purchases. For example, if the user has previously purchased from an online store an application program that has recently been updated to correct a deficiency or provide a minor enhancement, such an updated application program can be made available to the prior purchaser. In one implementation, the updated application program can be provided free of charge to the prior purchaser. Hence, the online store main page 1002 can provide the user with the ability to initiate an update process whereby the user can obtain the available updates for the application programs they have previously purchased. In one implementation, the online store main page 1002 can provide a user interface control (e.g., hyperlink) to initiate the update process or to navigate to another page from which the update process can be initiated. Optionally, the online store main page 1002 or the another page can also include a numerical indication of the number of available updates. When a user selects the user interface control, the user can navigate to an authentication page 1028. The authentication page 1028 can require that the user enter authentication information so that the system can authenticate the user prior to permitting the user to update any application programs. In the event that the authentication is successful, than an update availability page 1030 can be presented to the user. The update availability page can inform the user of one or more updates that may be available for download by the user. In the event that there are one or more available updates, the user can then elect to decline or proceed with the updates. If the user request the updates, the user can be directed to a download page 1032 which indicates that download is either in process or has been completed.
Another aspect of the invention pertains to graphical user interfaces. The graphical user interfaces can present various pages (or screens) to assist a user in interacting with an online product distribution site.
This application also references and/or incorporates: (1) U.S. patent application Ser. No. 10/687,534, filed Oct. 15, 2003, and entitled “METHOD AND SYSTEM FOR SUBMITTING MEDIA FOR NETWORK-BASED PURCHASE AND DISTRIBUTION” [Att. Dkt. No. 101-P291], which is hereby incorporated herein by reference; (2) U.S. patent application Ser. No. 11/712,303, filed Feb. 27, 2007, and entitled “PROCESSING OF METADATA CONTENT AND MEDIA CONTENT RECEIVED BY A MEDIA DISTRIBUTION SYSTEM” [Att. Dkt. No. 101-P502], which is hereby incorporated herein by reference; (3) U.S. patent application Ser. No. 11/609,815, filed Dec. 12, 2006, and entitled “TECHNIQUES AND SYSTEMS FOR ELECTRONIC SUBMISSION OF MEDIA FOR NETWORK-BASED DISTRIBUTION” [Att. Dkt. No. 101-P508], which is hereby incorporated herein by reference; (4) U.S. patent application Ser. No. 11/622,923, filed Jan. 12, 2007, and entitled “COMPUTERIZED MANAGEMENT OF MEDIA DISTRIBUTION AGREEMENTS” [Att. Dkt. No. 101-P511], which is hereby incorporated herein by reference; and (5) U.S. Provisional Patent Application No. 61/050,478, filed May 5, 2008, entitled “ELECTRONIC SUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASED DISTRIBUTION”, which is hereby incorporated herein by reference.
The various aspects, features, embodiments or implementations of the invention described above can be used alone or in various combinations.
Embodiments of the invention can, for example, be implemented by software, hardware, or a combination of hardware and software. Embodiments of the invention can also be embodied as computer readable code on a computer readable medium. The computer readable medium is any data storage device that can store data which can thereafter be read by a computer system. Examples of the computer readable medium generally include read-only memory and random-access memory. More specific examples of computer readable medium are tangible and include Flash memory, EEPROM memory, memory card, CD-ROM, DVD, hard drive, magnetic tape, and optical data storage device. The computer readable medium can also be distributed over network-coupled computer systems so that the computer readable code is stored and executed in a distributed fashion.
The many features and advantages of the present invention are apparent from the written description. Further, since numerous modifications and changes will readily occur to those skilled in the art, the invention should not be limited to the exact construction and operation as illustrated and described. Hence, all suitable modifications and equivalents may be resorted to as falling within the scope of the invention.
This application is a continuation of U.S. patent application Ser. No. 12/286,075, filed Sep. 26, 2008, entitled “NETWORK-BASED DISTRIBUTION OF APPLICATION PRODUCTS”, which claims priority to: (i) U.S. Provisional Patent Application No. 61/059,790, filed Jun. 8, 2008, entitled “NETWORK-BASED DISTRIBUTION OF APPLICATION PRODUCTS”, which is hereby incorporated herein by reference; and (ii) U.S. Provisional Patent Application No. 61/050,478, filed May 5, 2008, entitled “ELECTRONIC SUBMISSION AND MANAGEMENT OF DIGITAL PRODUCTS FOR NETWORK-BASED DISTRIBUTION”, which is hereby incorporated herein by reference. U.S. patent application Ser. No. 12/286,075 also references and/or incorporates: (i) U.S. Provisional Patent Application No. 61/059,792, filed Jun. 8, 2008, entitled “ELECTRONIC SUBMISSION OF APPLICATION PROGRAMS FOR NETWORK-BASED DISTRIBUTION”, which is hereby incorporated herein by reference; and (ii) U.S. Provisional Patent Application No. 61/059,791, filed Jun. 8, 2008, entitled “NETWORK-BASED UPGRADE OF APPLICATION PROGRAMS”, which is hereby incorporated herein by reference.
Number | Date | Country | |
---|---|---|---|
61059790 | Jun 2008 | US | |
61050478 | May 2008 | US | |
61059792 | Jun 2008 | US | |
61059791 | Jun 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12286075 | Sep 2008 | US |
Child | 16378302 | US |