PATENT DOCUMENT

Publication Number: US-8484100-B2
Application Number: US-201113009736-A
Country: US
Kind Code: B2

Title: Method, medium, and system for an integrated application store for a user device

Abstract:
Methods, systems and machine readable tangible storage media that integrate an application store in a user device. In one embodiment, a selected document that cannot be used as selected triggers a request to an application store server to determine an availability of applications to use the document as selected. The user device enhances the display of the document selection interface to allow the user to display an application store interface to purchase the application. The purchased application is downloaded and installed on the user device, and the user is optionally apprised of the progress of the purchase with an animated icon representing the application “flying” from the application store interface and “landing” in a dock area within the display on the user device when ready for subsequent launch. Other embodiments are also described.

Claims:
What is claimed is: 
     
       1. A computing device comprising:
 a display device; 
 a processor coupled to circuitry for displaying output on the display device; and 
 a memory device coupled to the processor, the memory device including instructions that, when executed by the processor, cause the computing device to: 
 generate, for display on the display device, a first user interface to receive a user selection to initiate activation of a file; 
 determine, based on receiving the user selection of the file, whether a first application associated with the file is installed on the computing device; 
 request, from a server remote from the computing device and based on receiving the user selection of the file, a second application available to purchase for activating the file; 
 modify the first user interface to include, a first option representing the first application in response to the processor determining that the first application associated with the file is installed on the computing device, and a second option representing a link to an application store interface for transacting a purchase for the second application available to purchase in response to at least the request for the second application; and 
 display the application store interface, upon receiving a user selection of the second option, the application store interface presenting the second application for purchase and download to the computing device. 
 
     
     
       2. The computing device of  claim 1 , wherein the instructions that cause the processor to display the application store interface include instructions to display a plurality of applications for purchase and associated with the file; and
 wherein the application store interface is configured for selecting an application to purchase from among the plurality of applications based on ranking data, the ranking data including at least one of: 
 a designation by an owner of the application; 
 a level of service of the application, the level of service including whether the application supports functionality to view, read and/or write the file with the application; 
 a purchase price of the application; and 
 a size of the application. 
 
     
     
       3. The computing device of  claim 1 , wherein the instructions that cause the processor to request the second application include a file type of the file to enable the server to determine whether the second application is available to purchase. 
     
     
       4. The computing device of  claim 1 , wherein the instructions that cause the processor to determine whether the first application is installed on the computing device include instructions to determine that at least one other file cannot be activated with the first application because:
 the at least one other file has an unknown file type for which there is no installed application; or 
 the at least one other file has a known file type for which the first application is outdated or not fully enabled. 
 
     
     
       5. The computing device of  claim 1 , wherein the instructions further cause the computing device to display an application icon representing the second application to convey a status of the second application on the computing device over time, the status including at least one of whether downloading the second application to the computing device is complete and whether installing the second application to the computing device is complete. 
     
     
       6. A method comprising:
 generating, for display on the display device of a computing device, a first user interface to receive a user selection to initiate activation of a file; 
 determining, using the computing device and based on receiving the user selection of the file, that a first application associated with the file is installed on the computing device; 
 requesting, from a server remote from the computing device and based on receiving the user selection of the file, a second application available to purchase for activating the file; 
 modifying the first user interface to include, a first option representing the first application in response to the processor determining that the first application associated with the file is installed on the computing device, and a second option representing a link to an application store interface for transacting a purchase for the second application available to purchase in response to at least the request for the second application; and 
 displaying the application store interface, upon receiving a user selection of the second option, the application store interface presenting the second application for purchase and download to the computing device. 
 
     
     
       7. The method of  claim 6 , further comprising displaying the application store interface and displaying a plurality of applications for purchase and associated with the file; and
 wherein the application store interface is configured for selecting an application to purchase from among the plurality of applications based on ranking data, the ranking data including at least one of: 
 a designation by an owner of the application; 
 a level of service of the application, the level of service including whether the application supports functionality to view, read and/or write the file with the application; 
 a purchase price of the application; and 
 a size of the application. 
 
     
     
       8. The method of  claim 6 , wherein the requesting the second application includes sending a file type to the server to enable determining whether the second application is available. 
     
     
       9. The method of  claim 6 , further comprising determining that at least one other file cannot be activated with the first application because:
 the at least one other file has an unknown file type for which there is no installed application; or 
 the at least one other file has a known file type for which the first application is outdated or not fully enabled. 
 
     
     
       10. The method of  claim 6 , further comprising displaying an application icon representing the second application to convey a status of the second application on the computing device over time, the status including at least one of whether downloading the second application to the computing device is complete and whether installing the second application to the computing device is complete. 
     
     
       11. A non-transitory computer-readable medium including executable instructions stored thereon which when executed by a computer processor cause the computer processor to perform the following operations:
 generate, for display on the display device of a computing device, a first user interface to receive a user selection to initiate activation of a file; 
 determine, based on receiving the user selection of the file, whether a first application associated with the file is installed on the computing device; 
 request, from a server remote from the computing device and based on receiving the user selection of the file, a second application available to purchase for activating the file; 
 modify the first user interface to include, a first option representing the first application in response to the processor determining that the first application associated with the file is installed on the computing device, and a second option representing a link to an application store interface for transacting a purchase for the second application available to purchase in response to at least the request for the second application; and 
 display the application store interface, upon receiving a user selection of the second option, the application store interface presenting the second application for purchase and download to the computing device. 
 
     
     
       12. The non-transitory computer-readable medium of  claim 11 , wherein the executable instructions further include instructions for displaying the application store interface and displaying a plurality of applications for purchase and associated with the file; and
 wherein the application store interface is configured for selecting an application to purchase from among the plurality of applications based on ranking data, the ranking data including at least one of: 
 a designation by an owner of the application; 
 a level of service of the application, the level of service including whether the application supports functionality to view, read and/or write the file with the application; 
 a purchase price of the application; and 
 a size of the application. 
 
     
     
       13. The non-transitory computer-readable medium of  claim 11 , wherein the executable instructions further include instructions for determining whether the second application is available to purchase based on a file type of the file. 
     
     
       14. The non-transitory computer-readable medium of  claim 11 , wherein the executable instructions further include instructions for determining that at least one other file cannot be activated with the first application because:
 the at least one other file has an unknown file type for which there is no installed application; or 
 the at least one other file has a known file type for which the first application is outdated or not fully enabled. 
 
     
     
       15. The non-transitory computer-readable medium of  claim 11 , wherein the executable instructions further include instructions for displaying an application icon representing the second application to convey a status of the second application on the computing device over time, the status including at least one of whether downloading the second application to the computing device is complete and whether installing the second application to the computing device is complete.

Description:
CROSS-REFERENCE TO RELATED APPLICATIONS 
     This application claims the benefit of an earlier filed provisional application, Application Ser. No. 61/394,724 filed on Oct. 19, 2010 entitled INTEGRATED APPLICATION STORE FOR A USER DEVICE. 
    
    
     BACKGROUND OF THE INVENTION 
     Modern data processing systems, such as a Macintosh computer running the Macintosh operating system, or a mobile computing device, such as an iPhone running the mobile operating system iOS, can launch an application by activating a file that is usable with the application. The file is in a file system maintained by the data processing system or mobile computing device, and may be a document or other type of data or content, such as a word processing document, spreadsheet, PDF file or media file, etc. 
     Sometimes, however, the operating system is not able to launch an application because the operating system cannot determine which application to use. For example, the file may be of a type that is unknown to the operating system because there is no application currently installed on the system or device with which the file may be used. 
     SUMMARY OF THE DESCRIPTION 
     Methods, machine readable tangible storage media, and data processing systems that can present a user with available applications to purchase for use with a document on their data processing system or mobile computing device are described. In the description that follows, a data processing system or mobile computing device are collectively referred to as a user device, and a file which may be a document or other type of data or content, such as a word processing document, spreadsheet, PDF file or media file, etc. is simply referred to as a document. 
     In one embodiment, an application store is integrated with or available through the file system maintained on the user device. The application store can facilitate the purchase of applications for download and installation on the user device whenever a document is encountered that is not usable or not completely usable with the applications already installed, such as when a new or updated application is needed in order to successfully use the document. 
     In one embodiment, responsive to a user&#39;s selection of or other attempt to activate a document, the user device determines that the document is not usable or not completely usable with the applications already installed on the device. The user device can launch a background process to communicate with the application services of an application store server to initiate a lookup to a database of available applications indexed by one or more of a file extension, document type or uniform type identifier to determine the availability of applications to purchase for use with the document. In one embodiment, the lookup to the database will determine the availability of applications to purchase based on the capabilities of user device, including restricting the available applications returned from the lookup to only those that match the capabilities of that device. 
     In one embodiment, responsive to the lookup and a determination that applications are available to purchase or otherwise obtain for use with the document, the user device operates in conjunction with the file system or other subsystem of the operating system to automatically present the user of the user device with a navigable path to the application store. For example, for user devices running the Macintosh operating system, the user is presented on the display area of the device with a document selection interface that has been modified to include an application store option. The application store option, such as a button or other selectable control that, when activated, will present the user with an application store interface populated with the results of the lookup. The results of the lookup include a list of applications that are available to purchase or otherwise obtain for use with the document that triggered the lookup. The lookup can be triggered in response to the user&#39;s selection of a button or other user selectable control or can be triggered automatically in response to determining that the document is not usable or not completely usable with the applications already installed on the device. 
     In one embodiment, the navigable path to the application store will vary depending on the context of the user&#39;s selection of or attempt to activate the document. For example, in a user device running the Macintosh operating system, the user may have activated the document by selecting an icon (e.g. double clicking or double tapping on the icon) representing the document while in the Finder application. In a user device running the Windows operating system, the user may have activated the document by selecting a document in a folder presented while browsing documents using the Windows file explorer interface. If the document is a type that is unknown, a document selection interface alerting the user to the status of the unknown document type is presented, typically in a pop-up window that is modified to include the application store option. The application store option, such as a button labeled “Check Store,” will enable the user to navigate to the application store interface to browse and purchase available applications usable with the document. 
     In one embodiment, responsive to the user selecting the application store option presented on the modified document selection interface, the user is presented with the application store interface pre-populated with the results of the lookup, such as a list of applications that are available to purchase for use with the document that triggered the lookup. The application store interface communicates with the application store server to initiate application services including initiating a rank of the list of available applications for purchase returned by the lookup. The rank of the list of available applications for purchase is performed using ranking data obtained from the application store database. The ranking data may include the file extensions, document types, and uniform type identifiers (UTIs) associated with the applications returned by the lookup. 
     In one embodiment, the application store server accesses the database to map a particular file extension or document type of the document with the corresponding UTI in order to rank the applications by information maintained in the UTI, such as the owner of the application and the level of support for the document provided by the application, such as read only, read/write, import, view, etc. The display of the results of the lookup is arranged to reflect the relative ranking of the applications available for purchase. The relative ranking facilitates the user&#39;s selection of which application to purchase or otherwise obtain through the application store interface. 
     In one embodiment, responsive to selecting an available application to purchase, the application store interface operates in conjunction with the application server to initiate the install and download application services of the application server, and to control the user device display area with a user-friendly animation of the download and installation process. For example, in a user device running the Macintosh operating system, the application store interface operates in conjunction with the display system of the user device to show an icon representing the application in the application store interface being moved to the program control area of the user device, where the icon may be selected by the user to activate the document using the newly purchased application. For example, in a user device running the Macintosh operating system, the icon representing the application is animated to appear as though it is “flying” across the display area of the user device and “landing” with a bounce on the document control area or Dock when the download and installation is complete. In one embodiment, the status of the download and install processes is further visually conveyed to the user through the use of a status bar or varying levels of transparency of the application icon appearing in the document control area. Details of the download and installation animation of the application icon in the application store interface and program control area are described in the co-pending published application Ser. No. 09/191,334. 
     The above summary does not include an exhaustive list of all aspects of the present invention. It is contemplated that the invention includes all systems and methods that can be practiced from all suitable combinations of the various aspects summarized above, and also those disclosed in the Detailed Description below. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention is illustrated by way of example and not limitation in the figures of the accompanying drawings in which like references indicate similar elements. 
         FIG. 1  is a is a block diagram of a system for an integrated application store in a data processing system or mobile computing device according to one embodiment of the present invention. 
         FIGS. 2A ,  2 B,  2 C, and  FIG. 3  provide an example of user interfaces which can be provided according to a system shown in  FIG. 1 . 
         FIG. 4  is a flow chart showing an example of a method according to one embodiment of the present invention. 
         FIGS. 5A and 5B  are flow charts showing a method according to another embodiment of the present invention. 
         FIG. 6  shows, in block diagram form, an example of a data processing system which can be used with one or more embodiments described herein. 
     
    
    
     DETAILED DESCRIPTION 
     Various embodiments and aspects of the inventions will be described with reference to details discussed below, and the accompanying drawings will illustrate the various embodiments. The following description and drawings are illustrative of the invention and are not to be construed as limiting the invention. Numerous specific details are described to provide a thorough understanding of various embodiments of the present invention. However, in certain instances, well-known or conventional details are not described in order to provide a concise discussion of embodiments of the present inventions. 
     Reference in the specification to “one embodiment” or “an embodiment” means that a particular feature, structure, or characteristic described in conjunction with the embodiment can be included in at least one embodiment of the invention. The appearances of the phrase “in one embodiment” in various places in the specification do not necessarily all refer to the same embodiment. The processes depicted in the figures that follow are performed by processing logic that comprises hardware (e.g. circuitry, dedicated logic, etc.), software, or a combination of both. Although the processes are described below in terms of some sequential operations, it should be appreciated that some of the operations described may be performed in a different order. Moreover, some operations may be performed in parallel rather than sequentially. 
     The present description includes material protected by copyrights, such as illustrations of graphical user interface images. The owners of the copyrights, including the assignee of the present invention, hereby reserve their rights, including copyright, in these materials. The copyright owner has no objection to the facsimile reproduction by anyone of the patent document or the patent disclosure, as it appears in the Patent and Trademark Office file or records, but otherwise reserves all copyrights whatsoever. Copyright Apple Inc. 2011. 
       FIG. 1  shows a block diagram overview of a system  100  according to one embodiment of the present invention for integrating an application store in a user device. Examples of user interfaces that can be implemented according to this system are provided in  FIGS. 2A-2C  as well as  FIG. 3 . Examples of methods that can be implemented according to this system are provided in FIGS.  4  and  5 A- 5 B. 
     The system  100  includes a user device  101  that includes a data processing system, such as a laptop or desktop computer running an operating system, such as the Macintosh or Windows operating system, or a mobile computing device, such as an iPhone, iPod Touch, iPad, running a mobile operating system, such as the iOS operating system. The user device  101  has access to documents maintained in a file system of the device&#39;s operating system, such as documents  102  stored on the user device  101  or otherwise accessible to the user device  101 . The user device  101  is further equipped with a display area  103 , that includes an area visible to the user and in some cases operable by the user by touch. During operation of the user device  101 , the display area  103  can include a document selection interface  104  such as that generated by the Macintosh operating system&#39;s Finder program or the Windows operating system Explorer program. The user device  101  further includes an application or a document control area  107  such as the dock generated by the Macintosh operating system, or the desktop area presented by the Windows operating system, or the springboard generated by the mobile operating system iOS on smaller hand-held devices such as the iPhone. 
     In one embodiment, during operation of the system, the user device  101  determines that one of the documents  102  selected by the user is unknown or otherwise not usable because there is no application currently installed in the user device  101  with which to open or otherwise use the document  102 . The user device  101  can initiate a process  108  (such as a background process) to communicate with an application store server  109  to determine whether an application is available for purchase and with which the document may be opened or otherwise used. The user device  101  can present a modified document selection interface  104  to display an application store option  105  along with the other options usually displayed to the user. The application store option  105  may be displayed in the form of a button or other actionable control, such as a button labeled “CHECK STORE.” The user may activate the application store option  105  to activate the application store interface  106 . 
     In one embodiment, the application store option  105  and subsequent display of the application store interface  106  in response to the user selecting the application store option  105 , is only provided when the process  108  has determined that there are applications available for purchase (or otherwise available) to help the user open or otherwise use the selected document  102 . In another embodiment, the application store option  105  is presented before determining that such applications are available. In the event that the user does select the application store option  105 , the user device  101  displays the application store interface  106  on the display area  103  of the user device  101  in order to allow the user of the user device  101  to shop at the application store and optionally purchase or otherwise obtain an available application that will enable the device to open or otherwise use the selected document  102 . 
     The application store server  109  provides a number of application services  110 , including a lookup service  111 , and rank service  112  and a purchase interface  113  comprising both a download service  114  and an install service  115 . The application services  110  have access  116  to a database  117  that maps document types or file extensions to UTIs. The UTIs contain data that may be ranked for the user to facilitate the selection of an application that will best meet their needs. In one embodiment, the application services  110  are performed in conjunction with the database  117  and the application store interface  106  displayed on the user device  101 . 
     In one embodiment, the system of  FIG. 1  can be implemented through a series of document selection interfaces  104  which implement a dialog to control the selection of a document or media content, such as word processing documents, spreadsheet documents, PowerPoint slide documents, PDF documents, movie documents, music documents, HTML files, XML files, image files, etc. 
     Various examples of the use of the document selection interfaces  104  to provide a navigable path to the application store interface  106  are provided in  FIGS. 2A-2C . The illustrated example includes a display screen  201  which can be a liquid crystal display or other display device displaying the user interface which includes menu bar  202  which has a search request icon  203  at an edge of the display screen. The user interface also includes a document icon  205  representing a file, and this icon  205  can be present in window of a file management system user interface such as Finder or Windows Explorer or can be presented on a desktop, etc. The Finder is an example of a user interface program for a file management system in the Macintosh operating system and it is shown as the front most application by the name “Finder” in the menu bar  202  of  FIG. 2A . In the embodiment shown in  FIG. 2A , a cursor  206  is displayed, and this cursor can be controlled by any known cursor control device, such as a mouse or trackpad; in alternative embodiments, a touch screen or touch pad can be employed with or without a cursor, and user interaction with the system occurs through touches on the touch pad or touch screen as is known in the art. The user interface shown in  FIG. 2A  can also include a dock  211  which is an example of a program control area  107  disposed on the edge of a display screen. Dock  211  can include icons representing application programs which can be launched or otherwise controlled from dock  211 . Icon  212  in dock  211  is an example of a program application in one embodiment. 
     Using the Finder interface, in one embodiment, a user can search for a document that they wish to use by entering the document name in the search input field  204  that is activated from the menu region  202  along an edge of the display screen  201 , and a document icon  205  representing the search result can be displayed on the display screen  201  to provide the user with an interface for activating the document using an action such as a double click  206 . Of course, other techniques to access the document may be used and the Finder interface is just one example. 
     In response to the selection of the document icon  205  (for example, the user double clicks on the icon or double taps on the open to attempt to open the document), the user device determines that the document type is unknown or is otherwise unable to be activated for use on the user device  101 , and displays an error message to that effect in another document selection interface  104 , here the pop-up window  207 . In one embodiment, the pop-up window  207  displays options to either cancel  208  the selection or to manually select an app  209  with which to open the document. The pop-up window  207  is modified to further display an application store option  105  in the form of a “CHECK STORE” button  210  that, when activated, will cause the application store interface  106  to be displayed on the user device display area  103  to facilitate the purchase or retrieval of an application with which to use the selected document  102  represented by document icon  205 . In one embodiment, the pop-up window  207  is only modified when a process  108  (e.g. a background process) initiated by the user device  101  receives a positive response from the lookup service  111  on the application store server  109  that at least one suitable application is available from the application store, where a suitable application is an application that is capable of running on the user device  101  for the document represented by the selected document icon  205 . In another embodiment, the check store button  210  is presented before determining that such applications are available. 
       FIG. 2B  illustrates an alternative navigable path to the application store interface  106 . For example, instead of a double click, the user can enter a control click, or ctrl click, or other command directed at the document icon  205  which causes the presentation of an “Open With” option  213  that lists a menu of options  214  that has been modified to include an application store option  105  in the form of a menu selection labeled “APP STORE”  215 . The menu of options  214  can include a list of one or more application programs that can open or otherwise present the document.  FIG. 2C  illustrates yet another navigable path to the application store interface  106 . As shown, the user can enter a command after selecting the document icon  205  to enter a preview interface  216  (such as a QuickLook interface on the Macintosh) to view the document, and from there can enter an additional command within the QuickLook interface  216  to cause the presentation of the “Open With” option  213  that lists a menu of options  214  that has been modified to include an application store option  105  in the form of a menu selection labeled “APP STORE”  215 . In one embodiment, the application store option  105  is included directly in the QuickLook interface  216  in the form of a button  217  labeled “APP STORE.” In each case, when the “APP STORE” menu option  215  or button  217  is selected, the APP STORE application store option  105  will cause the application store interface  106  to be presented to the user, and this interface  106  can present the one or more suitable applications that were determined to be available. As with the “CHECK STORE” button  210 , the “APP STORE” menu option  215  or button  217  can be presented in one embodiment, when a background process  108  initiated by the user device  101  receives a positive response from the lookup service  111  on the application store server  109  that at least one suitable application is available from the application store. In another embodiment, the “APP STORE” menu option  215  or button  217  is presented as shown in  FIG. 2B  or  2 C before determining that at least one suitable application is available from the application store. 
     It should be understood that the navigable paths to the application store illustrated and described with reference to  FIGS. 2A-2C  are by way of example only, and that other navigable paths to the application store may be presented on the user device in accordance with embodiments of the invention. For example, in the case of a smaller display area  103  on a hand held user device  101  that is a mobile computing device, such as an iPhone device, other types of modifications of the document selection interface  104  to add an application store option  105  may be made that are touch activated or otherwise exploit the capabilities of the mobile operating system running on the user device  101 . In another example, of a “Get Info” or a “Properties” command directed to a document can cause the display of a window that provides information about the document (e.g. file size, file location, file type, etc.) and can also include an “APP STORE” button to allow a user to see what applications are available to present or edit the document. 
       FIG. 3  illustrates an example of a application store interface  106  and document control area  107  that can be displayed on the user device  101  in response to the selection of the application store option  105  presented to the user, such as the selection of the “CHECK STORE” button  210  or the “APP STORE” menu option  215  or button  217  illustrated in the  FIGS. 2A-2C . The illustrated example includes a display screen  301  which can be a liquid crystal display or other display device displaying the user interface which includes menu bar  302  which has selection arrows at the left edge to facilitate browsing the applications available for purchase on the application store, and a filetype indication  303  appearing at the opposite edge to indicate the document type that may be used with the applications being browsed, in this case the filetype “rtf.” The user interface also includes application icons  304  and  307  representing the suitable applications for documents having the “rtf” filetype that have been determined to be available for purchase. Corresponding PRICE icons  305  and  309 , as well as corresponding BUY icons  306  and  310  may be presented to facilitate the purchase of a suitable application. Other variations in the user interface may be presented to accommodate a smaller size of the display screen  301 , such as on a smaller hand-held computing device like an iPhone. The user interface shown in  FIG. 3  can also include the dock  211  as in  FIGS. 2A-2C  as an example of a program control area  107  disposed on the edge of the display screen. Dock  211  can include icons representing application programs which can be launched or otherwise controlled from dock  211 . Icon  212  is an example of a program application in one embodiment. 
     While dock  211  is illustrated on the display screen  201 , it can be appreciated that alternative program control areas  107  may be used, such as the springboard displayed on the iPhone. An example of such an alternative presentation of a program control area  107  is provided in Windows 7 (from Microsoft Corporation of Redmond, Wash.) with the start menu or task bar in Windows 7 at the corner of a display screen; the activation of the start menu can produce a list of programs by program name and/or icon which is similar to the dock  211 . 
     The exemplary application store interface  106  illustrated in  FIG. 3  may also indicate a ranking of the applications represented by icons  304  and  307 . As shown in the illustrated example, there are two suitable applications listed as available for purchase on the application store, an iWork application represented by icon  304  and a Microsoft application represented by icon  307 . The iWork application may be listed first indicating that it has been ranked higher than the Microsoft application based on various factors as determined from information obtained through the rank application service  112 , including in this example information obtained from the database  117  that mapped the filetype “rtf” to the UTI for “rtf” documents. The various factors may include a ranking designated by the owner of the application (e.g. Apple, Microsoft, or a third party developer) and the level of service provided by the application (e.g. view, read, and/or write). Other factors considered in the ranking may include the price of the application, the size of the application, and the like. 
     In one embodiment, upon the selection of one of the BUY icons  306  and  310 , the application store interface  106  interfaces with the application store server  109  via the purchase interface  113 , which in turn initiates the download  114  and install  115  services of the application store server  109  to complete the purchase. As described in further detail in co-pending published application Ser. No. 09,191,334, one of the icons  304 / 307  representing the application that was purchased or otherwise obtained can be animated to appear to “fly” from the area of the display screen  301  where it resides on the application store interface  106  to the area of the display screen  301  containing the program control area  107 , in this case the dock  211 . The icons for other applications that are already on the dock can be resized and moved to make room for the newly obtained application. Upon “landing” on the dock  211 , the icon  304 / 307  representing the application that was purchased can, in one embodiment, appear to “bounce” and/or is semi-transparent until it is fully downloaded and installed, whereupon it stops “bouncing” and becomes opaque. In another embodiment, the icon  304 / 307  bounces only once after the download and installation is completed. In one embodiment, the icon  304 / 307  is temporarily accompanied on the dock  211  by a status bar (not shown) that marks the progress of the download and installation over time, and which disappears from view once the download and installation is complete. In this manner, the animation representing the download and installation of the application conveys the status of the application on the user device over time. 
     Turning now to the methods employed in the system  100  for an integrated application store illustrated in the block diagram overview of  FIG. 1 , and the graphical user interfaces of  FIGS. 2A-2C  and  3 ,  FIG. 4  illustrates a flowchart that provides an overview of a method  400  beginning with process  401 , in which the method detects whether the user has selected an unknown document type for a document selection interface  104  on the user device  101 . In one embodiment process  401  also includes the ability to detect that the user has selected a document type that is known, but for which the applications currently installed on the user device are limited, such as only being able to play, view or read the document type but not able to generate or edit the document type. In process  402  the method continues by initiating access to an application store server with which the user device  101  is communicably connected in order to further initiate a lookup of the unknown document type against a database that maps document types or filetypes or file extensions and the like to a corresponding UTI, or uniform type indicator. The UTI, which may or may not be available for all document types, can provide additional information about the application, such as the ownership and level of service. In an alternative embodiment, the process  402  occurs after process  404 ; in other words, the look up occurs after receiving a user selection of the “CHECK STORE” or “APP STORE” menu option or button. 
     In one embodiment, the method  400  continues at process  403  in which the method modifies or enhances the document selection interface  104  that would normally be used on the user device  101  to access the document to add an application store option  105 . The application store option  105  may take the form of a button or menu selection as described with reference to the example user interfaces described with reference to  FIGS. 2A-2C . The method  400  continues with process  404  to further display an application store interface  106  on the user device  101  responsive to a user selection of the application store option  105  provided in the modified/enhanced document selection interface  104 . The application store interface  106  may be displayed as described with reference to the user interface example of  FIG. 3 , including displaying and ranking a list of suitable applications that are determined to be available for purchase, along with interactive controls to purchase the application for download and installation on the user device  101 . 
     In one embodiment, the method  400  concludes at process  405  where, in response to the purchase of an application using the application store interface, the method causes the display of the document icon representing the document in the program control area  107 . In one embodiment, and as described in detail in a co-pending application Ser. No. 09/191,334, the method causes the application icon representing the purchased or otherwise obtained application to appear as though moving or “flying” across the display area  103  from the application store interface  106  and “landing” on the program control area  107  during the download and installation of the application. 
       FIGS. 5A-5B  illustrates a flowchart that provides an overview of a method  500  beginning with process  501 , from the perspective of the application store server  109 , in which the method  500  initiates application services  110  in response to receiving an inquiry from a user device  101  requesting the availability of one or more suitable applications available for purchase for an unknown document type selected on the user device. In one embodiment the document type may be known to the user device  101 , but the device does not have installed an application to make use of the document in a particular manner, such as only being able to read but not edit a document. In any case, the method  500  continues at process  502 , in which the method  500  initiates the lookup service  111  on the application store server  109  to determine the availability of suitable applications by accessing the database  117  that maps the document&#39;s filetype or document type, or the like, to a corresponding UTI, or uniform type indicator. If available applications are found, the method  500  proceeds at process  503  to instruct the user device  101  to display the application store option so that the user can interact with their device to purchase the application. In another embodiment, the application store option is displayed before the server performs any lookup of document types, and the server performs the lookup in response to a user selection of the application store option button or other user interface element. In one embodiment, the process  503  causes the user device  101  to modify or enhance an existing document selection interface  104  to display an additional button or other menu option, such as a CHECK STORE or APP STORE button or menu option as described with reference to the exemplary user interfaces illustrated in  FIGS. 2A-2C . Upon completion of the process  503 , the method  500  continues at process  504  to await user selection of an application store option  105  on the user device  101 . 
     Turning now to  FIG. 5B , the method  500  continues at process  505  in response to receiving a user selection of the application store option  105  on the user device  101  to initiate additional application services  110  to rank  112  the suitable applications that were determined to be available to purchase during the lookup service  111 . The rank service  112  obtains information about the suitable applications available for purchase from the database that maps the document type or file extension, or the like, to the UTI, or uniform type indicator. The information is used to rank the display of the list of suitable applications in an order to facilitate the user&#39;s selection of the application for their user device  101 . At process  507 , the method  500  continues, and in which the user&#39;s purchase selection is received from the application store interface  106  displayed on the user device  101 . The method  500  concludes at process  508  in which the application store server  109  initiates the services of the purchase interface  113 , the download service  114  and the install service  115  to complete the purchase and facilitate the download and installation of the application on the user device  101 . 
     In one embodiment, and as described in detail in a co-pending application Ser. No. 09/191,334, the method  500  operates in conjunction with the method  400  operating on the user device  101  to cause the application icon representing the purchased application to appear as though moving or “flying” across the display area  103  of the user device  101  from the application store interface  106  and “landing” on the program control area  107  during the download and installation of the application. 
     Any one of the methods described herein can be implemented on a variety of different data processing devices, including general purpose computer systems, special purpose computer systems, etc. For example, the data processing systems which may use any one of the methods described herein may include a desktop computer or a laptop computer or a tablet computer or a smart phone, or a cellular telephone, or a personal digital assistant (PDA), an embedded electronic device or a consumer electronic device.  FIG. 6  shows one example of a typical data processing system which may be used with the present invention. Note that while  FIG. 6  illustrates the various components of a data processing system, such as a computer system, it is not intended to represent any particular architecture or manner of interconnecting the components as such details are not germane to the present invention. It will also be appreciated that other types of data processing systems which have fewer components than shown or more components than shown in  FIG. 6  may also be used with the present invention. The data processing system of  FIG. 6  may be a Macintosh computer from Apple Inc. of Cupertino, Calif. As shown in  FIG. 6 , the data processing system  601  includes one or more buses  609  which serve to interconnect the various components of the system. One or more processors  603  are coupled to the one or more buses  609  as is known in the art. Memory  605  may be DRAM or non-volatile RAM or may be flash memory or other types of memory. This memory is coupled to the one or more buses  609  using techniques known in the art. The data processing system  601  can also include non-volatile memory  607  which may be a hard disk drive or a flash memory or a magnetic optical drive or magnetic memory or an optical drive or other types of memory systems which maintain data even after power is removed from the system. The non-volatile memory  607  and the memory  605  are both coupled to the one or more buses  609  using known interfaces and connection techniques. A display controller  611  is coupled to the one or more buses  609  in order to receive display data to be displayed on a display device  613  which can display any one of the user interface features or embodiments described herein. The display device  613  can include an integrated touch input to provide a touch screen. The data processing system  601  can also include one or more input/output (I/O) controllers  615  which provide interfaces for one or more I/O devices, such as one or more mice, touch screens, touch pads, joysticks, and other input devices including those known in the art and output devices (e.g. speakers). The input/output devices  617  are coupled through one or more I/O controllers  615  as is known in the art. While  FIG. 6  shows that the non-volatile memory  607  and the memory  605  are coupled to the one or more buses directly rather than through a network interface, it will be appreciated that the data processing system may utilize a non-volatile memory which is remote from the system, such as a network storage device which is coupled to the data processing system through a network interface such as a modem or Ethernet interface or wireless interface, such as a wireless WiFi transceiver or a wireless cellular telephone transceiver or a combination of such transceivers. As is known in the art, the one or more buses  609  may include one or more bridges or controllers or adapters to interconnect between various buses. In one embodiment, the I/O controller  615  includes a USB adapter for controlling USB peripherals and can control an Ethernet port or a wireless transceiver or combination of wireless transceivers. It will be apparent from this description that aspects of the present invention may be embodied, at least in part, in software. That is, the techniques and methods described herein may be carried out in a data processing system in response to its processor executing a sequence of instructions contained in a tangible, non-transitory memory such as the memory  605  or the non-volatile memory  607  or a combination of such memories, and each of these memories is a form of a machine readable, tangible storage medium. In various embodiments, hardwired circuitry may be used in combination with software instructions to implement the present invention. Thus the techniques are not limited to any specific combination of hardware circuitry and software nor to any particular source for the instructions executed by the data processing system. 
     In the foregoing specification, the invention has been described with reference to specific exemplary embodiments thereof. It will be evident that various modifications may be made thereto without departing from the broader spirit and scope of the invention as set forth in the following claims. The specification and drawings are, accordingly, to be regarded in an illustrative sense rather than a restrictive sense.

Metadata:
Filing Date: 20110119
Publication Date: 20130709
Grant Date: 20130709
Priority Date: 20101019
Inventors: FELDMAN DANIEL I.
CIUDAD JEAN-PIERRE
Assignee: APPLE INC
CPC Classifications: [{"code": "G06Q30/0641", "inventive": true, "first": true, "tree": "[]"}]
Family ID: 45934935