PATENT DOCUMENT

Publication Number: US-11614845-B2
Application Number: US-201715783267-A
Country: US
Kind Code: B2

Title: User interface for application interface manipulation

Abstract:
Selection of visualization objects, such as applications windows, is performed by determining a position of a system object. A graphical representation of a system object can be positioned over a display area of an application interface. The application interface is preeminently displayed in response to a graphical representation of system object being positioned over a corresponding display area of the application interface.

Claims:
What is claimed is: 
     
       1. A computer-implemented method, comprising:
 at an electronic device in communication with a display and one or more input devices:
 displaying, via the display, a user interface including:
 a first user interface element, 
 a second user interface element, wherein the second user interface element is at least partially obscuring the first user interface element, 
 a dock displayed separately from the first user interface element and the second user interface element, wherein the dock includes a plurality of icons corresponding to respective applications, and 
 an icon; 
 
 while displaying the user interface, receiving, via the one or more input devices, an input moving the icon to a respective location within the dock; and 
 in response to the input moving the icon to the respective location within the dock displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element. 
 
 
     
     
       2. The method of  claim 1 , wherein:
 the first user interface element is associated with a first application program, 
 the second user interface element is associated with a second application program, 
 the plurality of icons includes a first icon that corresponds to a third application program, and 
 the input moves the icon over a location of the first icon. 
 
     
     
       3. The method of  claim 2 , further comprising, in response to the input moving the icon to the respective location within the dock:
 in accordance with a determination that the third application program is not executing, launching the third application program. 
 
     
     
       4. The method of  claim 2 , further comprising:
 in response to the input moving the icon to the respective location within the dock, displaying, via the display, an interface of an application corresponding to the icon. 
 
     
     
       5. The method of  claim 1 , wherein displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element comprises scaling the second user interface element such that the first user interface element is not obscured by the second user interface element. 
     
     
       6. The method of  claim 1 , wherein displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element comprises:
 displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element in response to the icon being within the dock for a predetermined period of time. 
 
     
     
       7. The method of  claim 1 , wherein the dock is disposed on an edge of the user interface. 
     
     
       8. The method of  claim 1 , wherein the dock further includes a second plurality of icons corresponding to respective system objects. 
     
     
       9. The method of  claim 1 , wherein the input moving the icon to the respective location within the dock comprises moving the icon from a location outside of the dock to a location within the dock. 
     
     
       10. A non-transitory computer-readable medium storing instructions, which when executed by a processor of an electronic device in communication with a display and one or more input devices, cause the processor to perform operations comprising:
 displaying, via the display, a user interface including:
 a first user interface element, 
 a second user interface element, wherein the second user interface element is at least partially obscuring the first user interface element, 
 a dock displayed separately from the first user interface element and the second user interface element, wherein the dock includes a plurality of icons corresponding to respective applications, and 
 an icon; 
 
 while displaying the user interface, receiving, via the one or more input devices, an input moving the icon to a respective location within the dock; and 
 in response to the input moving the icon to the respective location within the dock displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element. 
 
     
     
       11. The non-transitory computer readable storage medium of  claim 10 , wherein:
 the first user interface element is associated with a first application program, 
 the second user interface element is associated with a second application program, 
 the plurality of icons includes a first icon that corresponds to a third application program, and 
 the input moves the icon over a location of the first icon. 
 
     
     
       12. The non-transitory computer readable storage medium of  claim 11 , the processor of the electronic device further configured to perform operations comprising, in response to the input moving the icon to the respective location within the dock:
 in accordance with a determination that the third application program is not executing, launching the third application program. 
 
     
     
       13. The non-transitory computer readable storage medium of  claim 11 , the processor of the electronic device further configured to perform operations comprising:
 in response to the input moving the icon to the respective location within the dock, displaying, via the display, an interface of an application corresponding to the icon. 
 
     
     
       14. The non-transitory computer readable storage medium of  claim 10 , wherein displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element comprises scaling the second user interface element such that the first user interface element is not obscured by the second user interface element. 
     
     
       15. The non-transitory computer readable storage medium of  claim 10 , wherein displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element comprises:
 displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element in response to the icon being within the dock for a predetermined period of time. 
 
     
     
       16. The non-transitory computer readable storage medium of  claim 10 , wherein the dock is disposed on an edge of the user interface. 
     
     
       17. The non-transitory computer readable storage medium of  claim 10 , wherein the dock further includes a second plurality of icons corresponding to respective system objects. 
     
     
       18. The non-transitory computer readable storage medium of  claim 10 , wherein the input moving the icon to the respective location within the dock comprises moving the icon from a location outside of the dock to a location within the dock. 
     
     
       19. A system comprising:
 a display; 
 one or more input devices; 
 an electronic device in communication with the display and the one or more input devices; and 
 a processor of the electronic device configured to perform operations comprising:
 displaying, via the display, a user interface including:
 a first user interface element, 
 a second user interface element, wherein the second user interface element is at least partially obscuring the first user interface element, 
 a dock displayed separately from the first user interface element and the second user interface element, wherein the dock includes a plurality of icons corresponding to respective applications, and 
 an icon; 
 
 while displaying the user interface, receiving, via the one or more input devices, an input moving the icon to a respective location within the dock; and 
 in response to the input moving the icon to the respective location within the dock displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element. 
 
 
     
     
       20. The system of  claim 19 , wherein:
 the first user interface element is associated with a first application program, 
 the second user interface element is associated with a second application program, 
 the plurality of icons includes a first icon that corresponds to a third application program, and 
 the input moves the icon over a location of the first icon. 
 
     
     
       21. The system of  claim 20 , the processor of the electronic device further configured to perform operations comprising, in response to the input moving the icon to the respective location within the dock:
 in accordance with a determination that the third application program is not executing, launching the third application program. 
 
     
     
       22. The system of  claim 20 , the processor of the electronic device further configured to perform operations comprising:
 in response to the input moving the icon to the respective location within the dock, displaying, via the display, an interface of an application corresponding to the icon. 
 
     
     
       23. The system of  claim 19 , wherein displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element comprises scaling the second user interface element such that the first user interface element is not obscured by the second user interface element. 
     
     
       24. The system of  claim 19 , wherein displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element comprises:
 displaying, via the display, the first user interface element such that the first user interface element is not obscured by the second user interface element in response to the icon being within the dock for a predetermined period of time. 
 
     
     
       25. The system of  claim 19 , wherein the dock is disposed on an edge of the user interface. 
     
     
       26. The system of  claim 19 , wherein the dock further includes a second plurality of icons corresponding to respective system objects. 
     
     
       27. The system of  claim 19 , wherein the input moving the icon to the respective location within the dock comprises moving the icon from a location outside of the dock to a location within the dock.

Description:
CROSS-REFERENCE TO RELATED APPLICATION 
     This application is a continuation of U.S. patent application Ser. No. 11/760,696, filed Jun. 8, 2007 and published on Dec. 11, 2008 as U.S. Patent Publication No. US 2008-0307336 which is incorporated herein by reference in their entirety for all purposes. 
    
    
     BACKGROUND 
     A graphical user interface allows a large number of graphical objects or items to be displayed on a display screen at the same time. Leading personal computer operating systems, such as the Apple Mac OS®, provide user interfaces in which a number of graphical representations of system objects can be displayed. Example system objects include system functions, alerts, windows, peripherals, files, and applications. Taskbars, menus, virtual buttons, a mouse, a keyboard, and other user interface elements provide mechanisms for accessing and/or activating the system objects corresponding to the displayed representations. 
     The graphical objects and access to the corresponding system objects and related functions, however, can be presented in a manner that facilitates an intuitive user experience. The use of metaphors that represent concrete, familiar ideas facilitate such an intuitive user experience. For example, the metaphor of a document or photo can be used to identify an electronic file; the metaphor of file folders can be used for storing documents, etc. 
     Often a graphical object, e.g., an application interface, may be selected from the objects or item being displayed on the display screen. For example, a user may select an application interface associated with a word processing application to open or edit documents. Presently, in many graphical user interfaces, a two-step process is performed that includes: selecting a particular application interface, and then either opening a file from a menu or dragging a graphical representation of a file onto a display area of the application interface. 
     SUMMARY 
     Disclosed herein is a user interface for window manipulation. In an implementation, a computer-implemented method displays a plurality of application interfaces in a graphical user interface environment, each displayed application interface defining a corresponding display area. The method determines if a graphical representation of a system object is positioned within a corresponding display area of an application interface, and preeminently displays the application interface in response to the graphical representation of the system object being positioned within the corresponding display area of the application interface. 
     In another implementation, a computer-readable medium stores instructions that are executable by a processing device to generate a graphical user interface on a display device. The instructions facilitate the processes of displaying a plurality of application interfaces in a graphical user interface environment, determining if a graphical representation of a system object is positioned within a corresponding display area of an application interface, and preeminently displaying the application interface in response to the graphical representation of the system object being positioned within the corresponding display area of the application interface. 
     In another implementation, a computer-implemented method displays a plurality of application interfaces in a graphical user interface environment, where each displayed application interface defines a corresponding display area. The method determines if a graphical representation of a system object is positioned within a predetermined area of the graphical user interface environment, and displays the application interfaces in a predetermined orientation within the graphical user interface environment in response to the graphical representation of the system object being positioned within the predetermined area of the graphical user interface environment. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
         FIG.  1    is a block diagram of an example system that can be utilized to implement the systems and methods described herein. 
         FIG.  2    is a block diagram of an example user interface architecture. 
         FIG.  3    is a block diagram of an example system layer structure that can be utilized to implement the systems and methods described herein. 
         FIG.  4    is an example graphical user interface environment. 
         FIGS.  5 A- 5 B  illustrate an example of application interface manipulation. 
         FIGS.  6 A- 6 C  illustrate another example of application interface manipulation. 
         FIG.  7    is a flow diagram of an example process for window manipulation. 
         FIG.  8    is a flow diagram of another example process for window manipulation. 
         FIG.  9    is a flow diagram of another example process for window manipulation. 
         FIG.  10    is a flow diagram of another example process for window manipulation. 
     
    
    
     DETAILED DESCRIPTION 
       FIG.  1    is a block diagram of an example system  100  that can be utilized to implement the systems and methods described herein. The system  100  can, for example, be implemented in a computer device, such as any one of the personal computer devices available from Apple Inc., or other electronic devices. Other example implementations can also include video processing devices, multimedia processing devices, portable computing devices, portable electronic devices, gaming consoles, personal digital assistants, mobile telephones, set top boxes, etc. 
     The example system  100  includes a processing device  102 , a first data store  104 , a second data store  106 , a graphics device  108 , input devices  110 , output devices  112 , and a network device  114 . A bus system  116 , such as a data bus and a motherboard, can be used to establish and control data communication between the components  102 ,  104 ,  106 ,  108 ,  110 ,  112  and  114 . Other example system architectures, however, can also be used. 
     The processing device  102  can, for example, include one or more microprocessors. The first data store  104  can, for example, include a random access memory storage device, such as a dynamic random access memory, or other types of computer-readable medium memory devices. The second data store  106  can, for example, include one or more hard drives, a flash memory, and/or a read only memory, or other types of computer-readable medium memory devices. 
     The graphics device  108  can, for example, include a video card, a graphics accelerator card, or a display adapter, and is configured to generate and output images to a display device. In one implementation, the graphics device  108  can be realized in a dedicated hardware card connected to the bus system  116 . In another implementation, the graphics device  108  can be realized in a graphics controller integrated into a chipset of the bus system  116 . Other implementations can also be used. 
     Example input devices  110  can include a keyboard, a mouse, a stylus, a video camera, a multi-touch surface, etc., and example output devices  112  can include a display device, an audio device, etc. 
     The network interface  114  can, for example, include a wired or wireless network device operable to communicate data to and from a network  118 . The network  118  can include one or more local area networks (LANs) or a wide area network (WAN), such as the Internet. 
     In an implementation, the system  100  includes instructions defining an operating system stored in the first data store  104  and/or the second data store  106 . Example operating systems can include the MAC OS® X series operating system, the WINDOWS® based operating system, or other operating systems. Upon execution of the operating system instructions, access to various system objects is enabled. Example system objects include data files, applications, functions, windows, etc. To facilitate an intuitive user experience, the system  100  includes a graphical user interface that provides the user access to the various system objects and conveys information about the system  100  to the user in an intuitive manner. 
       FIG.  2    is a block diagram of an example user interface architecture  200 . The user interface architecture  200  includes a user interface (UI) engine  202  that provides the user access to the various system objects  204  and conveys information about the system  100  to the user. 
     Upon execution, the UI engine  202  can cause the graphics device  108  to generate a graphical user interface on an output device  112 , such as a display device. In one implementation, the graphical user interface can include a multidimensional desktop  210  and a multidimensional application environment  212 . In an implementation, the multidimensional desktop  210  and the multidimensional application environment  212  include x-, y-and z-axis aspects, e.g., a height, width and depth aspect. The x-, y-and z-axis aspects may define a three-dimensional environment, e.g., a “3D” or “2.5D” environment that includes a z-axis, e.g., depth, aspect. 
     In an implementation, the multidimensional desktop  210  can include visualization objects  220 , a visualization object receptacle  222 , and stack items  224 . In some implementations, the visualization objects  220 , the visualization object receptacle  222  and the stack items  224  can be presented in a pseudo-three dimensional (i.e., “2.5D”) or a three-dimensional environment as graphical objects having a depth aspect. An example implementation of a visualization object receptacle  22  is the “Dock” user interface in the MAC OS® X Leopard operating system. Other implementations can also be used. 
     A visualization object  220  can, for example, be a visual representation of a system object. In some implementations, the visualization objects  220  are icons. Other visualization objects can also be used, e.g., alert notification windows, menu command bars, windows, or other visual representations of system objects. 
     In an implementation, the multidimensional application environment  212  can include an application environment distributed along a depth aspect. For example, a content frame, e.g., an application window, can be presented on a first surface, and control elements, e.g., toolbar commands, can be presented on a second surface. 
       FIG.  3    is block diagram of example system layers  300  that can be utilized to implement the systems and methods described herein. Other system layer implementations, however, can also be used. 
     In an implementation, a user interface engine, such as the UI engine  202 , or another UI engine capable of generating a multidimensional user interface environment, operates at an application level  302  and implements graphical functions and features available through an application program interface (API) layer  304 . Example graphical functions and features include graphical processing, supported by a graphics API, image processing, support by an imaging API, and video processing, supported by a video API. 
     The API layer  304 , in turn, interfaces with a graphics library layer  306 . The graphics library layer  304  can, for example, be implemented as a software interface to graphics hardware, such as an implementation of the OpenGL specification. A driver/hardware layer  308  includes drivers and associated graphics hardware, such as a graphics card and associated drivers. 
       FIG.  4    is an example graphical user interface environment  400  that can be implemented as the multidimensional desktop  210 . In the example implementation, the graphical user interface environment  400  includes a desktop region  402  and a visualization object receptacle  404  that is disposed on a floor of the graphical user interface environment  400 . The visualization object receptacle  404  can also be disposed, e.g., on a side or top, of the graphical user interface environment  400 . The visualization object receptacle  404  can include a plurality of icons  418 ,  420 ,  422 ,  424 ,  426  and  428 . The icons  418 ,  420 ,  422 ,  424 ,  426  and  428  can, for example, include graphical representations corresponding to one or more system objects, such as applications, documents, and functions. 
     The desktop region  402  can include one or more application interfaces  406 ,  408  and  410  having display areas  407 ,  409  and  411 , respectively. Within the display areas  407 ,  409  and  411 , system objects such as application software can present an application interface (e.g., a word processor, a picture editor, etc.). A pointer  412  can be provided to graphically represent movements received from input devices  112  (e.g., keyboard or mouse movements). Icons  414  and  416  can be placed on the desktop that, for example, include graphical representations corresponding to one or more system objects, such as applications, documents, and functions. 
       FIGS.  5 A- 5 B  illustrate an example of application interface manipulation. As shown in  FIG.  5 A , the application interface  410  is behind the application interface  408  in the graphical user interface environment  400 . Thus, a portion of application interface  410  is obscured by the application interface  408 . In an implementation, upon processing of an input to select one of the icons (e.g., icon  416 ) using the pointer  412 , a user can move the icon  416  within the display area  411  of the application interface  410 . 
     In some implementations, as shown in  FIG.  5 B , after a predetermined period of time has elapsed after the icon  416  first hovers over the display area  411 , the application interface  410  is displayed preeminently in the graphical user interface environment  400 . 
     In some implementations, the system object represented by the icon  414  or  416  is loaded and displayed within the display area  407 ,  409  or  411  of the application interface  406 ,  408  or  410 . In some implementations, the application executing in the application interface  406 ,  408  or  410  is associated with the system object represented by the icon  414  or  416  through, for example, a file association, header information, etc. 
     In some implementations, the application interface  406 ,  408  or  410  can flash or change color prior to being displayed preeminently in the graphical user interface environment  400  to alert a user that the application interface  406 ,  408  or  410  will be displayed in the foreground of the graphical user interface environment  400 . 
     In some implementations, the application interface  406 ,  408  or  410  is preeminently displayed only if the icon  414  or  416  is placed over a predetermined portion of the display area  407 ,  409  or  411 . 
       FIGS.  6 A- 6 C  illustrates another example of application interface manipulation. As shown in  FIG.  6 A , upon processing of an input to select one of the icons (e.g., icon  416 ) using the pointer  412 , a user can move the icon  416  within the visualization object receptacle  404 . As shown in  FIG.  6 B , after a predetermined period of time elapses, all of application interfaces  406 ,  408  and  410  are visibly displayed in the graphical user interface environment  400 . In some implementations, the application interfaces  406 ,  408  and  410  are scaled based on a number of application interfaces being displayed and/or a size of the graphical user interface environment  400 . In some implementations, the application interface having the focus of the graphical user interface environment  400  can be made larger than the others of the application interfaces  406 ,  408  and  410 . 
     In an implementation shown in  FIG.  6 C , upon processing of a selection input to select one of the icons (e.g., icon  416 ) using the pointer  412 , a user can move the icon  416  to a position hovering over the visualization object receptacle  404 . If the system  100  determines that an application associated with the system object represented by the icon  416  is not running in one of the application interfaces  406 ,  408  or  410 , then the system  110  can launch a new application interface  600  displaying an interface of the application associated with the system object represented by the icon  416 . The application interface  600  would be preeminently displayed in the graphical user interface environment  400 . In some implementations, the system object represented by the icon  416  can be loaded into the new application interface  600 . 
       FIG.  7    is a flow diagram of an example process  700  for window manipulation. The process  700  can, for example, be implemented in a processing device, such as the system  100  of  FIG.  1   , implementing user interface software and/or hardware, such as the example implementations described with respect to  FIGS.  2  and  3   . 
     Stage  702  displays application interfaces in a graphical user interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display application interfaces  406 ,  408  and  410  within the graphical user interface environment  400 . 
     Stage  704  determines if the positioning of a system object is within a display area of an application interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can determine if one of icons  414  or  416  is within one of the display areas  407 ,  409  or  411 . 
     Stage  706  preeminently displays an application interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display one of the application interfaces  406 ,  408  or  410  wherein the icon  416  is positioned as shown in  FIG.  5 B . 
       FIG.  8    is a flow diagram of another example process  800  for manipulating windows in a graphical user interface environment. The process  800  can, for example, be implemented in a processing device, such as the system  100  of  FIG.  1   , implementing user interface software and/or hardware, such as the example implementations described with respect to  FIGS.  2  and  3   . 
     Stage  802  displays application interfaces in a graphical user interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display application interfaces  406 ,  408  and  410  within the graphical user interface environment  400 . 
     Stage  804  determines if the positioning of a system object is within a visualization object receptacle. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can determine if one of icons  414  or  416  is within the visualization object receptacle  404  of the graphical user interface environment  400 . 
     Stage  806  displays all currently running application interfaces. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display the application interfaces  406 ,  408  or  410  as shown in FIG. 
       6 B. 
       FIG.  9    is a flow diagram of another example process  900  for window manipulation. The process  900  can, for example, be implemented in a processing device, such as the system  100  of  FIG.  1   , implementing user interface software and/or hardware, such as the example implementations described with respect to  FIGS.  2  and  3   . 
     Stage  902  displays application interfaces in a graphical user interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display application interfaces  406 ,  408  and  410  within the graphical user interface environment  400 . 
     Stage  904  determines if the positioning of a system object is within a display area of an application interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can determine if one of icons  414  or  416  is within one of the display areas  407 ,  409  or  411 . 
     Stage  906  alters the intensity of an application interface border. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display one of the application interfaces  406 ,  408  or  410  such that the border of the application interface flashes a predetermined number of times or changes color to alert a user that the application interface will be moved to a preeminent position in the graphical user interface environment  400 . 
     Stage  908  preeminently displays the application interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display one of the application interfaces  406 ,  408  or  410  wherein the icon  416  is positioned as shown in  FIG.  5 B . 
       FIG.  10    is a flow diagram of another example process  1000  for manipulating windows in a graphical user interface environment. The process  1000  can, for example, be implemented in a processing device, such as the system  100  of  FIG.  1   , implementing user interface software and/or hardware, such as the example implementations described with respect to  FIGS.  2  and  3   . 
     Stage  1002  displays application interfaces in a graphical user interface. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display application interfaces  406 ,  408  and  410  within the graphical user interface environment  400 . 
     Stage  1004  determines if the positioning of a system object is within a visualization object receptacle. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can determine if one of icons  414  or  416  is within the visualization object receptacle  404  of the graphical user interface environment  400 . 
     Stage  1006  determines if an application interface is displaying an application associated with the system object. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can determine if an application running one of the application interfaces  406 ,  408  or  410  is associated with the system object represented by the icon  416 . 
     If, at stage  1006 , it is determined that no application interface is running an application that is associated with the system object, then at stage  1008 , and associated application for the system object is determined. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can determine an associated application through, e.g., a file association or database entry related to the system object represented by the icon  416 . At stage  1010  a new application interface is preeminently displayed. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can launch the associated application into a new application interface  600 , such as shown in  FIG.  6 C . 
     If at stage  1006  it is determined that an application interface is running an application that is associated with the system object, then at stage  1012  the application interface is preeminently displayed. For example, the system  100  of  FIG.  1   , implementing user interface software and/or hardware described in  FIGS.  1 ,  2  and/or  3   , can display one of the application interfaces  406 ,  408  or  410  as shown in  FIG.  5 B . 
     The apparatus, methods, flow diagrams, and structure block diagrams described in this patent document may be implemented in computer processing systems including program code comprising program instructions that are executable by the computer processing system. Other implementations may also be used. Additionally, the flow diagrams and structure block diagrams described in this patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions in support of disclosed structural means, may also be utilized to implement corresponding software structures and algorithms, and equivalents thereof. 
     This written description sets forth the best mode of the invention and provides examples to describe the invention and to enable a person of ordinary skill in the art to make and use the invention. This written description does not limit the invention to the precise terms set forth. Thus, while the invention has been described in detail with reference to the examples set forth above, those of ordinary skill in the art may effect alterations, modifications and variations to the examples without departing from the scope of the invention.

Metadata:
Filing Date: 20171013
Publication Date: 20230328
Grant Date: 20230328
Priority Date: 20070608
Inventors: HYNES, CHRISTOPHER J.
LOUCH, JOHN
ORDING, BAS
BUMGARNER, TIMOTHY WAYNE
PEYTON, ERIC STEVEN
Assignee: APPLE INC
CPC Classifications: [{"code": "G06F2203/04803", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F2203/04803", "inventive": false, "first": false, "tree": "[]"}, {"code": "G06F3/0481", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/0481", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F3/0481", "inventive": true, "first": true, "tree": "[]"}, {"code": "G06F2203/04803", "inventive": false, "first": false, "tree": "[]"}]
Family ID: 40097027