AU2013206444B2 - Object stack - Google Patents

Object stack Download PDF

Info

Publication number
AU2013206444B2
AU2013206444B2 AU2013206444A AU2013206444A AU2013206444B2 AU 2013206444 B2 AU2013206444 B2 AU 2013206444B2 AU 2013206444 A AU2013206444 A AU 2013206444A AU 2013206444 A AU2013206444 A AU 2013206444A AU 2013206444 B2 AU2013206444 B2 AU 2013206444B2
Authority
AU
Australia
Prior art keywords
stack
displayed
visual representation
item
visualization
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
AU2013206444A
Other versions
AU2013206444A1 (en
Inventor
Timothy W. Bumgarner
Imran A. Chaudhri
Christopher Hynes
John O. Louch
Eric S. Peyton
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Apple Inc
Original Assignee
Apple Inc
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from AU2008262075A external-priority patent/AU2008262075B2/en
Priority to AU2013206444A priority Critical patent/AU2013206444B2/en
Application filed by Apple Inc filed Critical Apple Inc
Publication of AU2013206444A1 publication Critical patent/AU2013206444A1/en
Application granted granted Critical
Publication of AU2013206444B2 publication Critical patent/AU2013206444B2/en
Priority to AU2015255314A priority patent/AU2015255314A1/en
Priority to AU2017213495A priority patent/AU2017213495A1/en
Priority to AU2019210573A priority patent/AU2019210573B2/en
Priority to AU2021218062A priority patent/AU2021218062B2/en
Priority to AU2023201453A priority patent/AU2023201453A1/en
Ceased legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

A displayed three-dimensional user interface includes a first surface and a second surface that intersect to form an angle defiing the three dimensions of the user inter face. A visual representation of an object is displayed on at least one surface. lnputs are received to move the visual representation trom the first surface O the second surface, the input includes a selection input on a stack item correspoiding to the visual representation. The visual representation transitions from being displayed entirely on the first surface to being displayed entirely the second surface where a first portion of the visual representation is displayed on the first surface and a second portion of the visual representation is displayed on the second surface, The first and second portions of the visual representation forms an angle corresponding to the angle between the first and second surface.

Description

AUSTRALIA Patents Act 1990 COMPLETE SPECIFICATION STANDARD PATENT Invention Title: Object stack The following statement is a full description of this invention, including the best method of performing it known to us: OBJECT STACK BACKGROUND This specification is a divisional of Australian patent application 2008262075 which is the national phase entty of the application PC17S20081065324 originally published as W 2008/1541 87, the contents of which is hereby incorporated into this specification by reference A graphical user interate alkos a large number of graphial objects oritems to be displayed on a display screen at the same ime. 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 according to the needs of the user. Example system objects inele system functions arkts, windows, peripherals, des, and applications.Taskbars, meits irtual 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 ad access tthe corresponding system objects and related functions, however, should be presented in a manner that facilitates an intuitive user experience. The use of 5 metaphors that represent concrete, familiar ideas faciltate such an intuitive user expeienceFor example the metaphor of file folders can be used farstorng docunents;the metaphor of a file cabinet can be used for storing information on a hard disk- andthe metaphor of the desktop cai be used for an operating system interfae. Asthe capabilitis of processing devices progress, however, so do the demands on the 0 graphical user interface to convey infonnation to the users in an intuitive manner. SUNIMARY Disclosed herein systems, apparatus and methods for graphial user inerface object stacks, In one implementationgraphical user interface includes a plurality of stack elments and each stack elment corresponds to an appliaion. The stack elements include fie elements associated 25 with application document files and an application element associated an application executable. A stack item is associated with the plurality of stack elements. The stake item inldsan aggregaion of the clentiwhhhe application element is in preeminent disposition. n another implementation, a plurality of stack element are generated and each stack element corresponds to a computer system object The plurality of stack elements are associated 30 with a stack item, and the stack elements are aggregated into the stack item. Context control of the stack item is provided. in another implementation a compter readable medium stores instructions that are executabe by a processing deiceand upon such execution cause the procesing deice to I A gnerafe a graphiea user interface on a display device. e graphical user interface includes a plurality stack elements, each stacelement corresponding to a system object and a stack item associated with the plurality of stack elements The stack item includes an aggregaton of the stack element The instructions also include a context engine that upon execution by the processing device provides contextual control of the stak iem. In a first aspect of the invention there is provided a computer implemented method, comprising using to be displayed a three-dimensional user interfere the three-dimensional usernterlaeincluding a lirst surface and a second surface that intersect to form an angle that denies the three dimensions of the use Mintevce; causing a vsual representation of anbject to be displayed entirely on the fist surface; receiving an input to nov the visual representation fnom the first surface to the second surface.the input including a selection input on a stack item that corresponds to the visual representation; and transitioning the visual representation rom being cnt'relY on the first surface to being entirely on the second surfaec in response to the selection i put on the stack intent wherein during the transitoning; ad irst portion of' the visual representation is dispayed ri the first surface; a second portion of the visual representation is displayed on the second sure and the first portion of thevisual representation and the second portion ofthe visual representation form an angle that onrsponds to the angle between the irst surface ard the second surface In second aspect of the invention there is provided a transitory 0 medium storing instructions that are executableby a processing device and upon such execution cause the processing device to perform operations comprising causing t be displayed a three dimensional user intrtcethe three dinensional user interace indhiding a first surface and a second surface that intersect to lrm contours that defined the tree dimensions of the user interfae; causing to be displayed avistal representation of an objec to he displayed entirely on 5 the first surfae; receiving an input to move the visual representation fro the fist surae to the second surace, thenput including a selecon input on a stack iem that corresponds to the visud representation; and tanstioning the visual representation from being entirely on the first surface to being entirely On the second surface in response tote selection input on the stack iten wherein unD g the trans itoning, the visual representationconforms to the contours forced 30 by the first surface and the second surface, 2 In a third aspect of the invention there is provided a system, comprising: a storage device to store instructions; and one or more processing dvices configured to execute the instructions and perform operations comprising: causing to be displayed a three dimensional user interface, the three dimensional user interface including a first surface and a second surface that intersect to fon contours that define the three dimensions of the user interface: causing a visual representation of an object to be displayed entirely on the first surface; receiving an input to move the visual representation from the first surface to the second surface, the input incl uding a selection input on a stack item that corresponds to the visual representation; and transitioning the visual representation from being entirely on the first surface to being entirely on the second surface in response to the selection input on the stack item, wherein during the transitioning, the visual representation conforms to the contours formed by the first surface and the second surface in a fourth aspect of the invenion there is provided a computer-implemented method oprising; causing to be displayed a three dimensional user interface, the three dimensional user interlace i nciudng a first surface and a second surface that intersect to form contours that dehne the three dimensions of the user interface; causing a visual representation of an objectto be displayed entirely un the first surface; receiving an input to trove the visual representation from the first surface to he second surfacethe input including a selection input on a stack item that corresponds to the visial representation; and transitionig the visual representation fom being entirely on the first surface to ben entirel on dhe second surfhce in response to the seletnon iplt on the stack item, whereil during the transitioning, the visual representation conforns to the contours formed by the first surat ani the secondsurnice 2A 100304294 BRIEF DESCRIPTIONOF THE DRA WINGS Fig, I is a bHoc diagram of an example system that can be uilized to implement the systems and methods described herein. Fig. 2 is a block diagram of an example user interface architecture. Fig. 3 is an image of an example visualization object receptacle, Fig. 4 is an image of an example stack item. fig. 5 is a block diagram of an example user interface engine architecture. Fig. 6is a block diagram of an example system layer structure that can be utilized to implement the systems and methods described herein. Fig. 7 is a block diagram of an example multidimensional desktop environment. F ig, 8 is another block diagram of the example multidimensional desktop environment F ig 9 is another block diagram of the example multidimensional desktop environment. F ig 10 IS another block diagram of the exam ple wultidimensioal desktop environment. Fig, 11 is a block diagrm of another example mulidimensional desktop environment Fig. 12 is a block diagram of another example multidimensio nal desktop environment. Fig. 13 is a block diagram f another example muitidinensional desktop environment Ig 14 is a block diagram of another example multidmension al desktop environment. Fig. 15isa block diaram of another example mulidimensional desktop environment Figs. I6A -D are block diagrams of other example multidimensional desktop environs ents. Fig, 17 is a block diagram of an example desktop transition. igs 18 A - 18D are block diagrams of example visualizaion object receptacle indicators, F igs, 19A and 19B are block diagrams of an example contextual menu for a visualization object redeptacle 13 Fig 20 is a block diagram of an example visualization object reccptaele including typcahead indications. Figs 21A and 2113 are block digram 0 f example selection indicators for a viuahzation mod. SFg. 22 is a block diagram another example ultidimenional desktop envinnent Fig. 23 is a block diagram ofaother example visuaato objec rcce:ptaclc. Fig. 24 i a block diagram n example stack item Fig 25is blck iagamof anothernple stack item, Fig, 26 i a block g of their eampe stack tem. 11) Fig. 27 is a block diaram of anohe example sack item. Figs, 28A and 28B are block diagrams of example stack items hat are color-coded. 29 is a block diagram illustrating an example contextual contrl scheme applied to an examplestack item. Fig 30 is a block 4iagramn illustrating thc application of an example visualization 15 modd tan example stack item. Figs. 3IA and 31& arc block diagrams ilust'ating the application of another example visualization model to exampestack ite Fig. 32 is a block diagramiustating te application of another example visualiatin model to an example stack item, 20 F. 31A sa block diagam of an example group association of an example stack item. Fig. 33B is a block diagram ofan exampIe group association of system objects Fig. 34 is a fow diagram of an example process for transitioning a desktop, Fig. A i a flow diagram of another example process fornsitioning between 25 desktop types. Fig 36 is a flow diagram of anexampe process f generatng a multidimesion desktop environment big. 37 s a flow diagram of an xnmple process forrendering aide surface in a multiimensional desktop environment 30 Fi38 is a flow diagram of an example process for scrolling a side surface in a multidimensonaldcsktn environment Fiq 39 is a fow diagram of an example process fr generatiga section indiator, ig. 40 is a ow diagram of an example processr rendering desktopites. 31 Fig, 41 is a flow diagram of an example process for generatig an example application environmentin a mulidimensonal desktop iminornent Fig. 42 i a flow diagram of an example process fu transitioning etweenapplication enironments. SFig3s a Dow diagram of an exampk process for generating a visuaization object receptacle. Eg 44 is a flow diagram of example process for color coding visualzation objects. Fig. 45 is a flow diagram of n example process for color coding visualization objects of related system objects, 15 Fig 46 is a flow diagram of anher example process for geneting a visualization object receptacde Fig. 47 is a flov diagram of an example pcess A generating a stack iten Fin. 48 is a flow diagram of art exm pi: professor display ying stack ements according to modal states. 5 Fig. 49 is a flow diagramv of an example process for selecting interaction models and/or vsudization modes, Fig" 5 is a flow diagram of another exampiepcess for generating a stack iem. Fig. 51 is a flowdiagram of an exarp eoess tf disiaga takitem according to a extinon omeit. 20 Fig. 2 is a flow diagram of example proess fir generating and displaying a stack item. fig, 53 is a flow diagram of aneampe PrOde for automatically slecting and applying an interaction model to a stack iem g; 54 is a Now diagam f another example process for aniomaticlyselecitg and 25 applying an interaction model to a stack iem. Fig. 55 is a flow diagram of another example press for automaticallyeting and applying an ineractn model to a stack item. Fig. 56 isa flow dagram- of another example process for automatically sdeletng and applying an interaction model to a stack itetn. 0 ig 57 is a fow diagm of an xarviplm process for generating ivet Fig 58 is a flow dram of an example prces for generating a divet contenual iW. DLA-ILED DESRIPTION 4 F"ig 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, tor 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 5 also include video processing devices, multimedia processing devices, portable computing devices, portable communication devices, set top boxes, and other electronic devices. The example system 100 includes a processing device 102, a first data store 104, a second data store 106, a graphics device 1(8, input devices 110, output devices 112, and a network device i 14. A bus systern 16, such as a data bus and a motherboard, can be used to 0 establish and control data communication between the components 102, 104, 106, 108, 10, 1 12 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 dynanic random access memory, or other types of computer-readable medium 15 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 computcr-readable ntedium 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 20 device, In one implementation, the graphics device 108 can be realized in a dedicated hardware card connected to the bus sytem 11f 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 10 can include a key board, a mouse, a stylus, a video camera, 25 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 I18. The network 118 can include one or more local area networks ( ANs) or a wide area network (WAN), such as the 30 Internet. In an implementation, the system 100 incldes instrctionsdeing an operating sytm stored n the irst data store 104 and/or the second data sore 106L Example opting systems can include the MAC o X :series operating ysten the WINDOWa based operating system o other opetting systems Upon execution of the operating system 5 instructionsaccess to various System objects is enabled. Empl sytem objects inlude data tiles, applications. tuncuions indows, ate, Tofaeiliae anintitive user eerine he system 100 includes a graphicaluser interfce that provides the user access to tevarious system objects and conveys information about the system 100 tohe user in an intuitive 5 manner. ig. 2 is a bMock diagram= of an ample user interfacearchitecture 200 The user interfc architecture 200 includes a user interface (2) engine 202 tha provide the user accessto the various system object 204 and conveys information about the system 100 t tihe user, 10 Upon execuaon, the I engine 202 can cause the graphics device 108 to generate a graphical user iterbice on an output device 112 such as a display device. In oneh imple~mentatothe graphical user interface ca include a mltidimensionl desktop 210 and a mulidimenional application environment 2 in an inplemenation the multidimensional desktop 21 and the matidimenional appia2nnvronment212 include 13 x and s aspects e. a height, Width md depth aspect The x-. y- and z-axis aspects may define a three-dimensionl environment, eg.. a "3D" or '25D" euonment that incidcs a -axis, e.g., depth, aspect. In an implementation, the mulidimensional desktop 210 can include use interfae elements, such as visualization objets 220, a visualization object receptacle 222, and stack 20 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.53D") or a three-dimensional environment as graphical objects having a depth aspect. A visualization object 220 can, for example, be a visual representation of a system object In some implementattons, the visualization objects 220 are icons Other visualization 25 objects can also be used, eg., alert notifiation windows, menu command bars, windows. or other visual represent at ions 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 c.g., 3 toolbar commands, can he presented on a second surface. Fig, 3 is an image of an example visualization object receptacle 300 In one implementation, the visualization object receptacle 300 can include x, y- and -axis aspects e.g, a height, width and depth. in another implementation, the visualization object receptacle 300 can have only a y- and waxis aspect, e.g, a width and depth, In another implementation, the visualization object rcpacle 300 can have only an x- and y-axis aspect, e.g. a height and a. width, An example implementation of a visualization object receptacle 300 is the "Dock" user interface in the MAC OSV X Leopard operating system. Other implemenitations can also be used, 5 in some implementations, or morevsulizaton objectseg icons 304, 306. 308 and 310 can be disposed within the visualization object receptacle"0 g. in iconreceptacle 300. In ne impleenzatin. a lighting and shading effect is applied to emphasize the depth aspect of the isualzation object receptacle 300, as illustrated by the corresponding shadows 305, 307, 309 and 311 and reetons 312, 314, 316 and 318 beneath each of the icons 304, 10 306,308 and 3l10 In some implementations, the visualization object receptacle 300 can include front surface 319 to generate a height aspect. In some implementations, a notch 320 can be included in the visualization object receptacle 300. The notch 320 can, for example, be utilized to arrange visualizatit objects related to particular programs or functions, e.g. files 15 and folders can be disposed on a first side of the notch 320 and applications can be disposed on a second side of the notch 320: or a user may define arrangements according to the notch 320.etlc. in sonm inpiementations, the visualiation ob ect receptacle 300 can include status indicators, e g., 330 and 332 disposed on the front suface 39 The status indicators 30 and 20 332 can, for example, appPar aS illuminations to indicate a status of a system object or funtdon associated with a coresponding vistalization objet, Insome iruplementadn s, the status indicator can be colo coded based on an idAntified statusFor example, the statu indicator 330may be lumnate in a yellow color to indicate that the folder 304 is receigg a fildwnload and he status indicator 332 may be illuminate in a green color to indicate that 5 a program associatedVwith thevisualization object 308 is running. in some implementation, the visualization object receptacle 300 may only define a depth aspect, e.g, the visualization object receptacle 300 may not include a front surface 319, In some implementations, the top surfaeM of the visualization object receptacle 300 can be muodelcd as a liquid for addition and removal of visualization objects. For example, when a 30 visualization object is added to the visualization object receptacle 300, the adjacent visualiation objects may move apart to define an open space, and the added visualization object may emerge frmm the surtce into the open space. Surface perturbations, e.g. ripples, can be generated to enhance the visual effect of the addition of the visualization object. Visualization objects can be removed by a substantially ieversed visual effect. 7 In another irmplemrentatior, when a visualization object is added to the visualizal ion object receptacle 300, the adjacent viuzon o c may move apart to define an open space, and he added visualization ohj ect may fall onto the surface into the open space, Surface perturbations, e.g. ripples and splashes, can be generated to enhance the visual effect 5 of the addition of the visuahzation oct. Vuaiaion objects can be removed by a subsuantially reversed visual effect Additional feamres of visualization object receptacles and vialization objects disposed therein arc described in more detal below. Fig. 4 is an image of an example stack item 400. In one implementation, the stack item 40 is system object that includes a plurality of stack elements g stack elements 10 402, 404, 406 and 408, such as icons corresponding to system objects, or other visualizations of system objects, The stuck item 400 is associated with the stack elements 402, 404, 406 and 408 so that selection of the stack item can provide access to any of the stack elements 402. 404, 406 and 40|. I one implementatio, a stack clemcnt can, for camnplc, be realized bya -corresponding visualization object of a syem bect In another ii stack element can for example, be realized by a corresponding thumbnail icon of a system object, in another implementation a stack element can, for example, be realized by a different corresponding icon of a system object, In another implementation, a stack element can for example, be realized by a common stack ereent icon. Other stack element reali>ations with icons and/br other visualization objects can also be used. 20 in one implementation, a stack item identier 410 can be displayed on the top stack clement. eg, stack Clement 402. In onc implementation, the stack item identifier 410 can, for example, comprise a tite describing a stack type, e.g. "images" or "documents." In another implemenation the stack item identifier 410 can for example, comprise a visual indicator itdicating an aspect of the stack, c, a dollar sign $ can be displayed for a stack 25 item including system objects related to a financial analysis tool: or a representation of a coin can be displayed as a surface beneath the stack item, etc. The stack item identifier 410 can. for example, he automatically generated, or can be generated by the user. Other stack item identtficrs can also be used. in one implementation, the stack clements 402, 40-4, 406 and 408 are aggregated in an 30 overlapping arrangement as shown in Fig, 4. Other stack arrangements can also he used. In one implementation. each stack element 402, 404. 406 and 408 displays a corresponding unique indiciin 412, 414, 416 and 418, eg,_ a thumbnail preview of an image associated with the stack element or the brst page of a document associated with the stack element. Other unique indiciun or unique indicia can also be used. For example, stack elements 8 corresponding to images can be of the same aspect of the image e.g, a 4 x 5 aspect, and 9 x 12 aspect et. Likewise, stack items corresponding to documents can be of the same aspect of a paper selection g., a 5 x 11 aspect an A4 aspect, etc. Other uniu indicium or mdicia can also be used e. a document size and/or a document date can be diplayed in 5 each.stack elements etc. In some irmplementations, th stack elements 402, 404. 406 and 408 can be normalized to or in a similar display aspect For example, stack elements corresponding to images of different aspects, e.g., a 4 x 5 aspect, and 9 x 12 aspect, etc. can be of the same display aspect by the addition of borders surrounding a thumbnail of the thumbnail image. 10 Such normalization can facilitate a consisted presentation of system objects having in consistent characteristics, eig, di fferent fornmattig. sizes. The stack item 400 can include visualization objects related to differt types of system objects For example, a stack item can include stack elements related to peripheral devices, e.g, hard drives, universal serial bus devices etc.; or can include stack elements 1lzi related to application windows; or can include stack elements related to system functions e.g. meus, a shadown function, a sleep function, a backup function- etc.; or can includes stack elements related to recent system alerts; or otier system objects. in some implementations a stack item 400 can include visualization obiets related to different system views. For example, the stack element 402 can correspond to a work 20 environment; the stack element 404 can correspond to a gaming environment; the stack element 406 can correspond to a music environment; and the stack element 40$ can correspond to a movie environment. Selection of any of the corresponding elements 402 408 can cause the user interface to transition to the corresponding environment .ln some implemetations, a stack item 400 can include visualization objects related to 25 multiple monitors. For example, if a monitor in a dua! monitor user envunment is disabled, the correspondig visualization objects displayed on the disabled monitor can collapse into a monitor stack on the remain ing monitor. Additional features of the stack items and corresponding stack elements are described in more detail below. 30 Fig 5 is a black diagram of an example user interface engine ardintte 00. The 12 engine 202 can, for example include an intencio and vAsualizatio mdelenine 502 a physics engine 504 and a context engine 06 Other engines can also be included In one implementation the interaction aidn model engine 502 can identify an association characteristic of associated visualization objectseg, iCns. The associated graphical elements can be collectively displayed, eng, in an object stack, or can be distributed in a desktop/folder hierarchy in which only one icon is displayed. Based on the identified characteristic, the interaction and visualization mode! engine 502 can automatically select an interaction model and/or visualization mode that defines how the user may interact 5 with and view the associated uraphical elements. For example, if an identified association characteristic is the quantity of associated icons an interaction mode! and/or visualization model for browsing the documents related to the icons can be sciccted based on the quantity, For example, if the quantity of associated icons is less than a first threshold, e.g.. totr a mouse-Over of any one of the faar associated icons can present the associated icons in 10 juxtapositon Likewise, if the quantity of associated icons is greater than the frst threshold and less than a second threshold, e.g.16, a mouse-over of any one of the associated icons can present the associated icons in an overlapping display in which the icons cycle from back to front, Additionally, if the quantity of associated icons is greater than the second threshold, then a mouse-over of any one of the asociatcd icons can present a sellable list of 15 assWociatd documents Other tutraclnon models and visualization model seeion schemes can also be implemented., For example, the interaction and visualization model engine 502 can cause relatedistualization objects to move across a user interface when a particular visaliain object type is ced. eg. selecton of a word processing program icon. may cause word 20 processing document icon to move toward the word pe;essing program icons. In another implementation selection ofa visualization obiejian cauan unrelated vualizaton objects to be d-emphasize eg, reduce in size) and/or related visaization objects to b emphasized (ecged a n in another upmentation selection of a visualization (ject can cause related visualization object io become illunvinated. 25 In one implemetatior the physics engine 504 can apply a physics aspect such as Newtonian physs models based On ta vit etc to the visual represenatons of system objets, such as ios. In a mpmentatiothe icons ca e modee a id bodies or non-igid bodes. For examp placing an icon on a suacnext to adjacent icons can cause the adjacent icons to shift positions in response to a sinm ad dstbane Rom the 30 icon pIaceme I one itnpementation, icon magnetism can be seleciely enabled or disabled by the ue In oneimplementaon, icons reu to their ini positions upon a disabling of the magnetism aspect in another implementation. a magnet icon can have a magnetsm aspect selected by the user eg, a magnetic with respect to a word pressing 0', application, or a ragretism with respect to two or more applications, or a magnetism with respect to the last time a document was accessed, eg. within the last two days, etc Other physics models can also be applied. For example, an application icon can include a magnetism aspect, and placing the magnetic application icon on the desktop can Cause icons related to the application icon e.g, icons representing application document files, to be attracted to the magnetic icon and move towards the magnetic icon, Likewise, icons for unrelated system objects, eg other application icons and other document icons, can be modeled as having an opposite magnetic polarity from the selected magneuc icon, and thus wil be repulsed and shift away from the selected magnetic icon. 10 The context engine 506 can, for example, provide contextual comrol of a stack item based on a context For example, stack items. such as the stack item 400. can be defined according to a proteencti context. Accordingly, system objecs corresponding to stack elements within the stack item cannot be deleted ed from h .stack item. In some implementanons. a stack item 400 can have a locked conixt and access to the stack item 400 can be password protected. Other contextual control can also be provided, such as contextual control based on a temporal cont, e~g, a new object stack of recently added system objects; a download context such as a download stack for recently downloaded tiles: or an execution comext or other context types. Fig 6 is block diagram of example system layers 600 ihat can be utilized to 20 implement the systems and methods described herein. Other system lyer implementationN however, an also be used In anipernation a user interlace engine, such ashe U) engine 20. or another U1 engine capable of generating a three-dimensionaluserinerace environment, operates at an application level 602 and inpleents graphical functions and featuesavilablethrough 25 an application program interface (API) layer 604 ample graphical funtions and fetur iNe & raphic processingsupported by a graphics API. image processing, support by an imaging APL and video processing supported by a video API The API lar 604, iturm inerfaces withagraphiclibrary layer 606 he graphics brarv layer 604 can. for example e implemented as a sonware interface to graphics 30 hardware, such as an implementation ofhe OpenG'wpeciniaton A diverhardware layer 6R includes drivers and associated graphs hardware such as a graphics cad and associated drivers, ig7 is a block dagam 700 of an example mulidimensionadesktop enviroment In the example ilemeatio the multidimensinal desktop e ronment00 incuAdes a
II
hack surface 702 axially disposed, e.g, along the z-axis, from a viewing surface 704- in one implementation, the back surface 702 can, for example, be a two-dimensional desktop environment, including one or more menus 701 and 703 in one implementation, the viewing surface 704 can be defined by the entire image on a display device, e.g, a "front pane." One 5 or more side surfaces, such as side surfaces 706, 708 710 and 712, are extended from the back surface 702 to the viewing surface 704. A visualiztion object receptacle, e.g., an icon 714 is generated on one or nore of the side surfaces, such as side surface 706. Although only one visuahzation object receptacle is shown, addition icon receptacles can also be displayed, e.g. along theside srface7 10 In one implementatona reflectinregion 6 can be generted on the side surface 706 g the "foor." a an ipementaon, a reflectionf the back surface 702 and of graphical items placed on the rejection region 716 can e generated, e, shapes 760 and 762 gneratr ions 6 and 763 in the relecon region 716, In an impimentation the visaliation object receptacle 714 is postioned at a 15 forward terminus 78 ofthe refletion region 16n one iplementationth forward terminus 7 s c b offset by an axial distance d from the viewing surface 704 In another impementaon, the forward terminus 718can terminate at the pae defined hy the viewing surface 704. In an implementation, the side surfaces 706. 708, 710 and 712 cn intersect at 20 inmtersectons 07, 709 711 and 71, respectely. Although four side surftices are shown i Fig. 7fer or greater number of side juries an be defined, for iaple, n an implementaton, only sde smraces 706 78 and 712 are. defined, and there isa absence of a "op" side surface 710. In an inplementation, the mtersectiusw 707, 709, 711 and 7 1 of the side surfaces 05 706, 7108/ 1~0 and 712 can occur at different locations For exanpl, the multidimensional desktop environment can clude ientrectios 707a, 709a, 7I1a and ~lIa that are horizontally disposed, or mtersections 07 704 '71 lb and 713b that are vertcally disposed, or combinations of vertical angled, and horiontal intersetions. n an implementation, the side surfaces 706 '8 710 and 712 are colored to 30 emphasize the back surface 702 and reflecnon region 716. Fo example, the sde surfaces 70. 708, 710 and 712 can be back incolor, or respeeme patems or colors can be rendered on each ide surface Otter difeeniaion schemes including color schemes and image schemes can as heapplie 12 The visuaiatn object receptacle 714 can include a plurality of visualizaton obets eg., icons 720, 722. 7241 726, 2 73032, 7 47, 738 740 and 742 The icons 720 722, 72 2 728, 730, 732, 734,736 73& 740 and 742 can forexample, corresponding to one o more system objects, such as applications, documents, and motions. The 5 visuazation object rceptacle 714 and cons 720. 722, 724, 726, 728 30 732, 74. 736, 738, 740 and 742 can include featmes as described with respectto the visualization object receptacle 300 of Fig 3, and as described in more detail below. in an implementation, stack items 750, 75, 754, 756 and 758 are interosed between the visualization object receptacle 714 and the back surface 702, The stack items 750. 752. 0 754, 756 and 758 can include features as described with respect to Fig. 4 above, and as described in more detail below. In the implementation of Fig, 7, the stack items 750, 752, 54, 756 and 758 define type associations, e.g. images, movies documents, presentations, and downloads, respectively. Other associations can also bc used. The stack items 750, 752, 754, 756 and 758 can generate reflections 75 l. 753,755, 757, and 759 in the re flection regiton 15 716. Selection ofa particular stack elenment ina stack item can, for example. lunch an associated application if the stack element represents an application docurment; or performa systern funton if the stack element represents a system functdon or can instantiate soe other system process. 20 inanimplementation. a stack item can be placed on the visualization obj ect r-eceptacte 714 in another irplemenitatiottbehavior of a stack ite when in die vi.tiiatlon object recepace 714 is similar to the behavior of the stack item when plaed oti th~e rellecion region 716 In an imprlementation, representations of system objects. eg cons, stack items etc., 25 can fe disposed on the side surfaces 708 70 and 712. For example, a window displayed on deback nace 702 cn be selected and dragged to on of he side surfaces 708,710, or 712. ikewise. a sack item, suh as stack fiem 750,can be dragged and posed on one ot he sde sources 708, 710.or 712. in one implementation, a stack ietem is created when a representation of a system 30 object, eg. an icon, i placed on the surface of the reflection region 716 For example, an icon read to a document can bec displayed on the surface 71: pon a selection, dragging and placement of [e icon on the reflection region 716. a stack item i created with at last the icon a a slacelement. In an implementaion. a stack item can alsobe created by a keyboard nifor example, a user can create a stak hero for open windows by a Qri- input, or la3 create a stack item for peripherals by a Ctr-P input, etc. Other processes to create stack items can also be used. nimplenenation, existing stack items are displaced to provide c a newly created stack item, In one implementation, the reflection region 716 can be defined by a 5 surface aspect, such as an equable texture, and the stack items 750, 752, 754, 756 and 758 are displaced according to a physics model, eg., a rigid-body Newtonian physics model In another implermenttion the reflection rcgiou 716 can be defined by a grd aspect, and the stack items 750, 75> 754, 756 and 758 are displaced accordmg to a grid snap. Other texNNes and surface behaviors can aso be used. In one implementation, a 10 motion model is dependent on a selected surface aspect. For example, an equable texture, such as an image of a hardwood floor or a polished metallic surface, can be associated with a rigid-odY Newtonian physics model; conversely, a visible grid aspect, or a raised texture., such as an image of a carpet, pebbles, etc, can be associated with a grid snap. in another implementation, the motion mode and textures can be selected independently. 15 ln onc implernentation, a maximum number of stack items can be displayed in the reflection region 716. Upon the insertion or creation of a new stack item one or more existing stack items ate removed from the reflection region 716. In one implementation, a consolidated stack item can be created, The consolidated stack tem can, for example, be a collection of stack items with each stack item b reprsented by a corresponding stack 20 clement. Selection of a corresponding stack element in a consolidated stack item will cause the corresponding stake item to be positioned on the reflection region, and will likewise cause another stack item to be positioned in the consolidated stack item. In another impiememaion. one or more existmg stack items can be removed from the reflection region 716 by transitioning to an edge of the reflection region 716 and fading from 25 view, e.g the tack item 750 may shift towards the intersection 707 and fade by an atomizing effect, by a falling efAet, or by some other effect. In another implementation, one or more existing stack items are removed from the refleton region 716 by transitioning to an edge of the reflection region 716 and moving onto one of the side surfaces, e ig the stack item 750 may shift towards the intersection 707 and move up the side surface 708 30 Fig. 8 is another block diagram 800 of the example multidimensional desktop environment. In the block diagram of Fig. 8, the visualization object receptacle 714 has been adjustabg disposed ag depth axis. eg., a axis, such that the visuaizatdon object rceptle 74 is disposed on theback surfae 702.i une inpiementatin 4 te valizatin object receptacle 714 can, for example be preeminentlydispaed. The visualiatn object receptacle 714 can, for example, be preeminenity displayed by rendering the visualization object receptacle 714 in frnt of other graphical objects. For example the icon 742 in the visualization object receptacle 716 is displayed in front of the stack item 750. Other methods can be used to preeminently display the visuaaition object receptacle 714, such as rendering 5 graphical objects displayed in front of the visualization object receptacle as translucent objects. Fig. 9 is another block diagram 900 of the example multidimensional desktop environment. The system. imp lemnenting the n3ultidimensional desktop environment graphical user interface, such as the system 100 of Fig. , has received a selection command foi the 10 stack item 750, A selection command for a stack item can be generated by, or example, a mouse-ovr, a mouse click, a keyboard input, or by some other input, in the implememataion hown in Fig. 9, a visualization model that causes the stack clements 772, 774, 776 and 778 to be arranged in an verlapping fan is applied to the stack iem 750. Thus, in response to a user input, e.g, a selection or a mouse over, the first stack 15 item. 750 enters a second modal state trom a first modal state and the forward most stack element 772 tans upward, followed by the stack items 774 and 776, While the stack item 750 is selected, a user can, for example, selct and open a document related to one of the stack elements 772, 77, 776 and 778 by positioning a cursor on one of the stack ernets 772, 774, 776 and 778 and selecting ihelement (e.g. clicking on the element with a mouse 20 cursor), Deselection of the stack item 750, e.g, ceasing the mouse over, causes thc stack ermns 772, 774, 776 and 778 No collapse back into the stack item 750, and the stack. item returns to the first modal state. Other selection processes can also be used, in one implemerttation the .sack elements 772, 774, 776 and 778 fan according to a fixed fanning path 780. in another implementation, the stack elements 772, 774, 776 and 778 25 can fan according to a path defined by a mouse inpt received from a user. In another imnplenmron a tanningcan de&ne a path toward a etre agion, and thus the stack elements of each stack ay fanr according to respective fanningr paths 780. 782 784, 76.and 788, In one implementation, one of several interaction and/or visuaatin models can be -30 atomatically seected Ir application to a stick en, such as the mack item 70. The selectioncant r example, be based on a characters of the stack em 750 e he number of stack eeents77 74, 77 and 778, theype of the stackdements 72 774. 776 and 78, or some other charactersuc. For example, if an identified association characteristic is he quantiy of associated icon avisualliation adlor interaction mAde fo browsing and 15 interacting with the documents related to the icons can he selected based on the quantity if the quantity of associated icons is greater than a first threshold, e.g. three, a mouse-over of any one of the stack elements 772, 774, 776 and 778 can present the stack elements 772. 774, 776 and 778 in the tenning arrangement as shown in Fig. 9. Other interaction and/or visualization model selection criteIon or criteria can also be used. For example, stack elements related to documents in the stack item 754 can bc displayed in an overlapping leafing mode in which the document titles appear, as the user is more likely to discem the relevance of a document from the title than a thumbnail image of a f page of a drcumen. Fig. 10 is another block diagram 1000 of thc example multidimensional desktop env irontment, The system irnpi ementinog the multidimensional desktop en virornrnent gra phi cal user interface, such as the system 100 of Fig. I, has received a selection commrand for the stack item 750, and a visualization nodel that causes the stack elements 772, 774, 776 and 778 to be arranged as single instamecs, e.g. single icon, in a matrix display is automatically 15 selected and applied to the stack item 750 In the implementation of ig, 10, the selection criterion can, for example, be based on a quantity. For example, if the quantity of associated icons is less than a first threshold, e.g.. ive, a selection of the stack item 750 can present the. stack eienmIMs 772, 771, 776 and 778 in substantial juxtaposition as shown in Fig, 10. Ina one implementaton, a selection indicator can be generated to indicate a selected 20 stack item. For examp I, an under-lightng effet 1002 can be generated to indicate selection of the stack item 750, Other selection indicators can also be used, such as backlighting effects, enlargement effects, ouli nig effects, or other effects. Additional stack items 1004 and 1006, corresponding to the categories of online buddies and mic, are also displayed in the block diagram 1000. In one implementation, 25 stack items such as stack items .1004 and 1006, can he contextually controlled. For example, in one implementation. the stack item 1004 can automatically appear when the system implementing the graphical user interace of Fig. 10, such as the system 100 of Pig. 1, receives a notification that a~n event associated with another user that is designated as an "onitne buddy" has occurred, e.g. the "online buddy" has logged onto a network. 30in another impleeition, a stack item, such as the stack item 1006, can automatically appear wten an application corresponding to the stack item is selected or executed, For example, selecting the icon 732, which illustratively corresponds to a music applicatiOn, will instantiate the stack item 1006 in accordance with a selection and/or exc nation context 16 Other contextual contris can also be used, such as modal states, temporal contexts, etc. ig,11 is a block diagram of another example multidimensional desktop environment The multidimensional desktop environment of Fig. 11 includes a back surface 102 axially 5 disposed, e.g. along the z-axis, from a viewing surface 1104. in one implementation, the back surface 1102 can, for example, bC a two-dimensional desktop environment, meluding one or more menus 1101 and 1103. i onc implementation, the viewing surface can be defined by the entire image on a display device, e.g. a "front pane One or more side surfaces, such as Oide surfaces H 106, i 108, 1110 and I112, are extended from the back 10 surface to the viewing surface. A visualization object receptacle 1114 is generated on one or more of the side surfaces, such as side surface 1106. In o implementation,A on region 1116 can be generaed on the side surace 1106, e.g the "floor. Thc reflection gon i116 can, for example, generate a reflection of the back surface 1102 and desktop items placed on the refectio region 1116. 15In an implementation, he side surfaces I106, 1108 1110 and 1112 are colored to emphasize the back surface 1102 and the reflection reon n 1116. For example, the side surfaces 1106, 1108, 1110 and 1112 can be black in color, or respective patterns, olors or images can be rendered on each side surface. iher differentiation schernes including color schemes and image schemes can also be appled 20 The visualization object receptacle 11 14 can include a plurality of visualization objects, e.g. icons 1120, 1122,1 14 1126, 1128 and 1130. The icons 1120, 1122, 1124, S126 1128 and 13110 can, for example, in cIde visualization objects corresponding to one or more system objects, such As applications. documents, and famctions For example, icons 1 120, 1122 and 1124 can correspond to applications; icons 126 and I128 can correspond to 25 stack items, and icon 1 130 can correspond to a deletion laimetion. Other system objects can also be represented, such as tile items, peripheral items, etc. I an implementation stack items 1140 142 1144 and I 146 are interposed between the visualization object receptacle 1114 and the Nick surface 1102, A selection indicator can, for example, be generated to indicate a selected stack item. For example, an enlargement 30 ffet can be used to indicate a selection of the stack item 1146. Other selection indicators can also be vised. In an implementation, the reflection region II 16 can be defined by a grid aspect 1 150, and the stack items 1 140, 1142, 1 144 and 1 146 are displaced according to a grid snap. In one lil17 implementation, the grid aspect 1150 can be visi e, a grid outline, or an association with a texture image, In another implementation, the grid aspect can be invisible. in another implementation, stack items can be scrolled from side-to-side and/or from frontto-back (or back-to-front) on the suface i 06 or example, upon a selection of the 5 surface i 106, e.g., by clicking on the surface 1106, the surface 1106 can be scrolled in the directions indicated by the arrows 1152 and 1154. The floor surface can include a scroll ingress and a scroll egress in which a scrol direction transitions from the scroll ingress to the scroll egress. For example, intersections 1156 and 1158 may define a scroll ingress and a Scroll e s for a l-to-right scroll direeon or he left edge 157 and the rightedge 1159 1o reon 116 m define s inrs and a scrol egress for a left-io-right seroll diection. In one imiplementation, stack iems are replaced on the floor surface 1106 at nthe roll ingress 1156 (or 1157q and displayed rom the floor surface 16 at the scroll eagres 115$(or 1159). In one implementation. one pr more existing stack items ae displaced from the surface .1106 by fading from view, eg fading by anatomising effecby a falng 15 effect or by sonic other effect. In another implementon, one or more exsting stack items are displaced from the surface I16 nioving onto one of The ide surfaces eg. surfce 1112. In another implementation. one or more existing stack items are removedfrom the surface 1 106 by moving into a Stack emient that includes displaced stacks, e'g, "ancho stacks near the 20 intersections I 56 and 158. i one implemnemton. windows, such as widows 10 1162 and 1164, can be dislayped on he back sUrface 1102 The windo I .160, 114 and 1164 can, fot example. be selected and placed on one or more of the 1surfaccs 106, 08 1110 and i12. in one implereaton, placig a window on one of the surfaces such as the recton reion 1116 25 of the surface 1106, generates a stack inem havin the selected window as a stack element. Selectimg I he stack item can, for example. cause the widow to reappear n the original posion n the hack strthe 02. In one implementation, phaog a widow on one of the surthces, such as the source 11I8 generates a representation of the window. e g., a wi dow thumbnil i 17( on surfae 30 F108 The coresponding w dou can, for example, be restored b g the umdou thumbnail onto the back surface I16 or by selectmg and double-chekmn on the window thumbnail 11 70, or by some other command mnocanon It one implementation, a ghtimg aspect can eneate a shadow and/or reflection t representations ot stem obtc ts placed on Ade surface For example, a lighting aspect can generate a reflection or shadow 1172 of the window thumbnail 1170, In one implementaition, a shadow and/or reflection cast on the reflection region 1 1 16 from the back surface 1102 can be limited to a selected representation of a system object. For example. if the window 1160 is currently selected, the shadow or reflection on the reflection region 1 116 can be limited to 5 the window 1160. and the remaining windows i162 and 1164 will not generate a reflection. in another implemenation, the lighting aspect can generate an illummation effect from the window thumbnail .1170 onto one or more surfaces. For example, the illumination effect can comprise a simulated sunbeam emanating from the window 1170. In one implememtation the illumination effect can change accord ing to local environmental states 10 eg, the sunbeam can track across the surfaces according to a local time; the intensity of the sunbean can be modulted according to the local nime and local weather conditions that are received over the network 11 cig. high intensity for sunny days, low intensity fr overcast days and duig the arY eyeing, ando being chllumated afler a local sunset time and generted after a local sunrise time. 15 In another implenetation, the bghng aspect described above can be asscited with a weather widget that can be displayed on one or more of the surfaces Seecton of the weather widget can, for example, provide a detailed weather summary of a selected region in another inplememion, a sack tem, such as the stak itAm 1129, can be operatively associated with Window istances, such as windows I160, 1162 and 1164 In one 20 implementation the w mdows 1160, 1162 and . 114 are minimized as stack elements 1161, S163 and I165 r espeetvely, the siack item I 1 i response to a first command, and the windows 1160, 1162 and 1164 are display ed on the back surface 1102 ftom the minimized state in response to a second comminandi In an implementan the nest and second commands are toggle comnands. For 25 example, seIction of th entire stack item 1121, eg., by receiving a click command substantally concunenth nith a mouse- ove on the stake em 128 can cause all w Ndows associated with ihe stack eLemnt, e, vndows 1160. 1162 and 1164, to appeal on the hack surface 1102. Upon ewation of the cbek command, the windows 1160, 1162 and 1164 rev ert to the nimmzed state. 30In another example implemenaton, selection of a stack element, such as selectin of the stack element 1163 by receiving a clik command after a cursor ha; hovered over the stack clement 1l6 i excess of a time perod, can cause the stack element 116 to be removed from the slack item 1 12. In response, the window 1162 can reappear on the back surface 1102, i9 In an implementation, the lighting aspect can be configured to generate a shadow effect for each representation of a system object, For example, a selected window can cast shadows on subsequent windows to emphasize a depth aspect and an overall user interface relationship; a stack item can cast a shadow on adjacent representations of systems objects; 5 selecting an dragging an icon can cause a shadow of the icon to generated on the side and back surfaces as the icon is moved, etc. Fig. 12 is a block diagram of another example miltidimcasional desktop environment, in the implementation of Fig, 12, the reflection recgionI 1116 is defend by surface aspect having an equable texture on which stack items are displaced in response to a new stack item. 0 For example, the sack items 1202, 1204, 1206 and 120$ can move in response to the addition of a new stack aem 1210. As the new stack item 1210 drops onto the surface 11 06 the stack items 1206 and 1208 move in response to the displacement induced b the new stack. itemn 1210. In one implementaon maxinnn number of stack items cn be displayed on the 15 surface 1106. If theaddition of a new stack item causes the imuher of displayed stack items to be exdeedcd, then a stack item nearest a surface ntersection can be dispaced from the surface. For exampleif the maximumnumber of stack items to be displayed is fouthenhe stack item 1208 can continue to move to the edge of the surface 1106 where the stack itea 1208 is displaced e.g.. fades fromview atomi' tc. 20 In[ne implementain.hestirtaes 11.0$ and 1112 can, for example, display specific types of desktop items. For xople, ihe surface 1108 can display a file desktop item 220 e.g., a document iot and the surface 1112 can display a program desktop item. e .ar application icon 12. M one implementation the fike desktop te 1220 corresponds to an open file in an application window 1224 and the application icon122.2 cotesponds to the In another implementation, a plurality of file desktop items and application desktop items can be displayed on the respective surfaces 1108 and i 2, For example, the surface 1112 can display twO icons correspondig to two executing applications Selection of one of the application icons can, for example, cause corresponding application windows to be 30 displayed on the back surface 1102 and conrsponding document icois to be displayed on the surface 1108. Fig. 13 is a block diagram of another example multidimensional desktop environment. In this example implementation, the back surface 1302 does not include menu items, e.g. menus 1101 and I 103. A stack item 1304 is utilized to access menus corresponding to menus 20 1101 and 1103 by selecting stack elements 1306 and 130, respectively In one implementation, selection of the stack item 1304 and a positioning of the stack item onto the back surface 1302 can cause cormsponding menr items 1 101 and 1,103 to reappear at the top of the back surface 1302. The mulidimensional desktop environment of Fig. 13 can, or example, also facilitate a multidimensional application environment, For example, an application content presentation surface 1310, e.g, an application instance displaying editable data, can be displayed on the back surface 1302 and one or more application control elements can be displayed on one or more side surfaces. For example, a tool bar 1312 can be displayed on the 10 surface 110$ to provide access to toolbar function buttons 1314, 1316, 1318, 1320. 1322 and 1324. Likewise, menu items 1330 cat be displayed on the surface 1112. In one iplcettion, selection of a menu item generates a textual menu that is axially disposed so that the textual menu appears to be suspended between the back. surface 1302 and the viewing 15 surface. For example, selecting the "File" menu from the menu items 1330 can generate the floating textual menu 1332, which can, for example, include a shadow effect 1334 on the back surface 1302. Fig- 14 is a block diagram of another example multidinensionaldesktop environment fhe muid iensiotal desktop environment of Fig. 14, lsd facilitatesa multidimeinal 20 application environment For exampl.an application content frame 1410 e g, a window disp ing editable ddat can b displayed on the back surface I 102, and one or moe apicaion control elements can be displayed on one ornore side surfaces. For example. a three-dimensional fucon icon atanenent 1420 caun be dispayed on the surface l 108, and mIn items 130 can be displayed on the surface 1 .112 25 The three-dimensonal hmetion ion arrangement 420 cal br example include three-dimensonal functon ns 1422, 124, 1426 and 14 in one implemenation, each three-imensional fmnon icon 1422, 1424, 1426 and 1428 inudes an fmetion conunarnd on each sface. and each three-dimensonal fution icon 1422, 1424, 1426 and S428 can be rotated, posiioned, and mnipulated though the use of an mput dece, such as a mouswe 30 ln animrplementaton, three-dimennal funeinon ieons can be added to the surface I108 by unse of a menu, such as, for eutplc, the "Customize menu on the sur face 1 12. In an implemeniaton. a physics model can be appled to model rotaton, moment and displacement of the thirce-dimensional function icons 1422, 1424, 12 and 1428 For example, removing the three-dimensional function icon 142h can cause the remain three 21 dimensional funtion icons 1422, 1424 and 1426 to dll"i n a downward direction on the surfae lIDS In an implenentation. a three-dimensional login visualization object 1442 can be utilized to facilitate useMrLon anvrmenv ets. For example three sides the lon visda on object 1442 may contespond to loginvogout commands for usersand the remanig three sides of the cube can corrspond to user environments and/or other user definable functions for a current user session. In an implemenaiorn a ptal1440 can be included on a surface, such as the back surface 1102 The portal 1440 can be sdected to transition to another multi-dimensional 10 environment. I one implementation, the portal 1440 can facilitate transitioning between different application environments, e.g., betveen two applications that aire currently executing. In another implementation, the portal can facilitate transit iniIg between different muti-dimensions desktop emvronmnts e.g. from a first environment confgured for a work environment to a second nvironment configured for a leisure environment In another 15 implementation, the portal 1440 can facilitate transitio ning between a two-dimensional desktop environment and a three dimensional desktop environment. Other transions can also be fanieiitated b he portal 1440. Fig. 15 is a block diagram opf another example inultidimensiurtal desktop environment in the implementaton Fig 15 windows caube dmged or displaced across one or more 20 surfaces. F eor mple, the stack iten 1128 can includestack elements13 and 155that corespond to windows 150A and 01 respectively. In one implementation, selection of a stack clement, such as stack element 10t causes the correspcondimg window 1502 to nansition mto ew mm the sunade 1108 and: oo the back surfe 1102. Ukewv the window 150o4,nespondig t the unselected sack element 1505, traniins out ofvew by 25 sLidig across the bac surface 1102 and the sufa1e I i12. Other processes to displace, hide. or otherwise deemphize system objects such as windows can alo be used. In an itplemention, a stac item 1510 can include stack elements 1512 and 1514 that corempond to portals For example, selection of the stack element 1512 car transion the graphical user iterface to a two-dimensional desktop, and selection of the stack element 30 1514 can rnution to another application environment Additional fearumes can also be realized by other implemenatons For example, in one inmplnentatn each surface in the multidimensional desktop environment can implement difrieret behavior and/or funtinal charaeristcs In ne implementation, each surface can mplemertt different presentation characterists For example on the bonom surface 1106, icons and other system object representation can be displayed according to a large aon the side surface 1108 icons and ohrsstern object representations can be displayed according to a small sale; on the back surface I 102, icons and other systern object representations carn be displayed in a list format. etc Selecting and dragging an icon or other 5 system object representation from one surface to another will likewise cause the icon and other system object representation to be diplayed according to the presentation characteristic of the surface upon which the icon and other system object representation is finally disposed, in another implementation, a surface can implement a deletion characteristic. For example, the last access time for icons and other system object representations can be 10 monitored. If the last access time for an ion or other system object representation exceeds a first threshold, the icon or other systern object representation cart be automatically transitioned to the surface implementing the deletion characteristic, e.g, surface 12. Additiooally, if the last access tm for the icon or other system object representation located on the surface 1112 exceeds a second threshold, the icon or other system object 15 representation can be automatically deleted from view, in one implementation, a configuration tool can be used to facilitate configuration of the surface characteristic of each surface by the user. For example, a configuration menu Can present one or more presentation characteristics for associated with one or more surfaces. The one or more presentation characteristics can, r example, be associated by check boxes 20 associa ted with each surface. Other con higuration tools can also be used. Fig. IhA is a block diagram of another example mulinenina desktop nvironment The multidimensional dektaop environment of Fig. 1A can for ample mplement the features described with reset to gs. 25 and 7-15. In the example implementation, the multimensonal deskto environment 1600 includes an aruate back 25 surce1602 that is axilly disposed, eg, alomg thea-axi, fron viewing surface 1604 in oneimpementaton a refieon region i6 can be generated on th de suAce 1606, eg. the "fioor an implementation, the side surface 1606, 1608, i60 and 1612 can be defined b cate regions having curvature intersections 1607. 1609 1611 ami 16 respectively. 30 A curved viualization object rceptal 1614 cart include visualization objet 1620 1622. 11624 and 1626 and can be positoned on a reflection regin1616 tack items 163 and 1632 can, for example be ositioned near te curvature intersections 1607 and 1609 respectively Other arrange ments can also be used.
Other multidimensional desktop environment geometrics can also be used. For example, in one implementation, the multidimensional desktop environment can conftorm to a tetrahedron-shaped environment in which a front surface of the tetrahedron defines a viewing surface, and the remaining three surfaces define a left surface, a bottom surface, and a side surface, In another implementation, the multidimensional desktop environment can confirm to a iangular environment, in which one axis of the triangle defines the viewing surface and the remaining two sides of the triangle define a left surface and a right surface. Other geometries can also be used. In one irnplementttion, a configuration tool can be used to facilitate configuration of 10 the multidimensional desktop environment by the user. For example, a configuration menu can present one or more multidimensional desktop environment geometrics for selection by the user, such as a rectangular geometry, an arcuate geometry, a triangular geometrw etc. Selection of a geometry can cause the multidimensional desktop environment to be rendered according to the selected geometry. F1 16B is a block diagram of another example multidimensional desktop environment The environment of Fig. 16B is similar to the environments of Figs. 2-5 and 7 15 above, except that the back surface 1640 and the floor surface .06 define the desktop ens ironmaent. The features described above with respect the floor surface 706 in Eigs, 2-5 can be implemented in the desktop environment of Fs .16. 20 Fig, 16C is a block, diagram of another exaple multidimensiortal desktop environmental The environment of Fig. W6C is similar to the environment of Fig.1613 above, except that the back staee 1650 defines the desktop environment. A visualization object receptacle 1652 defining a depth aspect can also be displayed near the bottom of rhe back surface 1650 In some impleentations, a depth aspect is father emphasized by generating 25 reflections on the surface of the visualization object receptacle 1.65 For example, the visualization objects on the back surface 1650, eg, the folder icon 1656 and the application window 1658, can generate reflections 1654 and 1656 on the surface of the visualization object receptacle 1652. hi some inpleentattons the visualizatin object receptae 1652a have a fiat 30 heiht aspect eg. the surface of the visualization olbect receptacle 1652 canaear as a solid flat pne or a nlce or transparent ae In other inplemenraions a heigt aspectcan be genered. VisualizaMion objets, uch as icons 1I62, 1664, 1666, 166 1670 and 1672 can be deposed on top of the visualizaion object receptacle 1652 In soni implementations a 24 stats indictor 1669 can laminate to indicate status. For example the stack item 1668 may correspond to recent downloads, eg, system updates, docments etc., and the itunination may be lit to indicate that a dowrload is currently in progress. The status indicaror 1669 can, for example.iuminate according to a color code to indicate different status states n esome implementations selecting a stack item causes the stack item to expand to display stack elements according to a Visualization modl g tack elments 166, 167 and 1680 are displayed according to a matrix arrangement. In some implementations collpSe widget 1670 can generated whenhe comments of a stack item, e. stack elements 0 1676 1674 and 1680 are show according to a visuaiizaon mode and a corresponding visuaization frame 1674 that suroundsth stack elements 167 6 and 18 ca be displayed. in some impiementations selection of a "Show in Finder' command object 1682 can display a Finder window for a folder containing the stack itens 1676, 1678 and 1680 if thc 1- stack items 1676, 1678 and 1680 are stored in a common fIlder, in another implemenattiot selection of a "Show in Finder" command object 1682 can display a Finder window containing the stack items 1(76> 1678 and 1680 even if the stack items 1676, 1678 and 1680 are not stored in a common folder. In some implementations, a stack item collection process can identify visualization 20 objects on a desktop and collapse the objects into a stack item. For example, thc application windows 1658 and 1659 can be identified and collapsed into a stack item, In some implenmentations he collapsing of visualization objects includes an animation effect, e.g, a "gnrue" effbet a "tornado" effect, etc. to some imlementationis. textual strings associated with the visualization objects, 25 e.g. filenames asseiated with icons, can be centrally truncated. A central truncated string displays the beginning of the textual string and the end of the textual string In some implementations, a file extension can be shown by the central trimcation. In other irmpcmeniations, the file extension can be omitted, Positing a cursor on the textual s inng, or on the visualization object associated with the textual string, can cause the entire textual 30 sring to be displayed. For example. as shown in Fig, 16C, the textual string 1677, i. "Movie of Page's birthday.mpg' is truncated to "Mov.day.mpg." Conversely, the textual string 1679, i.e, "Movie of Juliarpg," which is positioned beneath a cursor. is fuly displayed.
Fig, 16D is a block diagram of another example multidimensional desktop environment. Ihe environment of Fig, 16C is similar to the environment of Fig. 16B above, except that a fanning visualization model is displayed for the stack items 1676, 1678 and 1680. In the implementation shown, document tides related to the stack items 1676, 1678 5 and 1680 are displayed proximate to the stack items. In some implementations, textual strings associated with visualization objects, egg filenames of icons, arc fully displayed in thec tbinning visaalization model Fig. 17 is a block diagram of' an examl desktop transition, In one implementation, a computer system, such as the system 100 of Fig 1, can be configured to transnion between a 1 two-dim-ensional desktop 1702 and a three-dimensional desktop 1730. For example, the two dimensional desktop 1702 defines a viewing surface 1703 and includes oklers 1704. 1706, 1708 and 1710, an icon 1712 corresponding to a hard drive, and icon 1714 corresponding to a network, and an icon display region 1720 that displays a plurality of icons 1722. In response to a transition comnand, the svsrm can, for example, depth transition the 15 two-dimensional desktop 1702 from the viewing surface 1703 to define a back surface 1732, and one or more side surfles. such as side sudfces 1706, 1708 and 1710, can extend from the back surface 1732 to the viewmg surface 1703. A visualization object recptacle 1730 car be generated on the surface 1706, and one or more icons 1732 corresponding to desktop items can be disposed in the visualization object receptacle. In the example implementation 20 :(f Fig. 17.the icons 1732correspond to the icons 1722. In one implementation, stack items, such as stack items 1742. 1744, 1746 and 1748 can be generated froM two dimensional desktop items, such as desktop folders 1704, 1706, 170$ and 1710. The two dimensional desktop items can, for example, be eliminated from the back surface 1732. in one implementation, rwo-dimensional desktop items that are not 25 represented by a corresponding icon after the transmton to the three-dimensional desktop 1730 can. fer example, remain on the back surfaee 1732. For example, the icons 1712 and 1714 can remain on the back surface 1732. In another implementation, the two-dimensional desktop items that are not represented by a corresponding iCon after de transition to the three-dimensional desktop 1730 can, for example, be eliminated front the back surface 1732. 30 In another implementation, the two-dimensional desktop items that are not represented by a corresponding icon after the transition to the three-dimensional desktop 1730 can, for example, hb eliminated from the back surface 1732 and represented by corresponding stack elements in acatch al 5 stackenuch asstick item 1750. 26 The transition foml the two-dimensional desktop 1702 to a three-dimensional desktop 1730 can be substantially reversed to transition from the three-dimensional desktop 1730 to the two-dimensional desktop 1702. Fig. 18A is a block diagram of an example visualization object receptacle indicator, 5 An example tisualzation object receptacle 1802 includes visualization objects, cg., icons 1804, 1806, 1808, 1810, 1812 and 1814. In an implementation, a selection indicator 1820 can be used to indicate a selected icon. in one implementation. the selection indicator 1820 i generated by an under-lghting effect that illuminates the surface of the visualization object receptacle 1802 below a selected icon, such as the icon 1806. Other selection indicators can 10 also be used, such as selection status indicator 1821, or backlighting effects, outlining effects, or other indicators Fig. QB is a block diagram of another example visualization object receptacle indicator. In an implementation, a selection indicator 1822 can be used to indicate a selected icon. In one implementation, the selection indicator 1822 is generated by an enlargement of a is selected icon, such as icon 1806, relative to adjacent icons, and an underlightig effect that illuminates the surface o the visualiation object receptacle 1802 below a selected icon 1806 and adjacent icons 1804 and 180$, In an implementation that includes a select ion status indicator 182 1, the selection status indicator 1821 can expand into a large selection status indicator 1823. 20 Fig, 18C is a block diagram of another example visualization objec receptacle indicator, in an implementation, a selection indicator 1824 can be used to mdicate a selected icon. In one implementation, the selection indicator 1824 is generated by an enlargement of a selected icon, such as icon 1806 relative to adjacent icons, and a backighting effect that iluminates the surface of the visualization object receptacle 1802 below a selected icon 1806 2$ and illuminates adjacent icons1804 and 1808. Fig. 18D is a block diagram of another example visualizaton object receptacle indicator. The visualization object receptacle 1802 can, for example, include one or more status indicators to indicate the status of a system object associated with one or more icons. For example, a status indicator 1830 indicating an unselected and executing application can 30 be generated by an underdighting effect of a first color; a status indicator 1832 indicating a selected and executing application can be generated by an under-lighting effet of a first color: and a status indicator 1834 indicating a launching application can be generated by an nder-ighting tof a third color.
Other status indicator schemes can also be used, For example, in one iplementation, a status indicator 1834 indicating a launching application can be generated by a pulsing under.lighting effect. in another implementation, status indicators can indicate a status by an intensity; for example, an icon corresponding to an open document, e.g. a document icon, a 5 stack ite, or an application icon, can be backlit with a relatively high intensity, and an icon corresponding to an open and unselected document can be backlit with a relatively low intensity, For example, in implementations utilizing status indicators 1831, 1833 and 1835, t status indicators can be iluninated according to a imilarcolorshe Figs. l9A and 19B are block diagrams of an example contextual menu for a 10 visualization object receptacle 1802, In some irplerentations, a selectable divert 1902 can be displayed proximate to an icon, e.g. icon 1804. to indicate an actionable state associated with a system object represented by the icon 1804, For example ift the icon 1804 is representative of a system update process or program, the helectablc divet 1902 can be displayed when a stem update is available. 1e selectable divet 1902 can, for example, be a floating orb proximate to the icon 1804'. Other shIpes or visual represenations can also be used, In some implementations, the selectabe divt 1902 is color coded according to a color code to indicate corresponding actionole states. Fig. 1913 ilustates an example conextual menu 1910 that can be displayed proximate 20 to the icon 1804 in response to a selection of the selectable diret 1902, The contextual menu 1910 can include one or more menu Options e.g. menu options 1912 and 1914, related to the icon 1804. In sone implementations, the divot 1902 remains until a necessary action is taken. In other imOpIementations, the divA 1902 can be removed by a corresponding seleeon of one of the meTnu options in the contextual menu 1910, In some implernentations, the divet 25 1902 can fade from vie if it is not selected after a period of time, erg, 30 minutes Fig. 20 is a block diaram of a visualization object receptacle including typeahead indicatip tehndicators 200, 20,02 and 2004, and/or 2001, 2003 and 2005 are generated in response to type input data e.g., data generated by keyboard inputs, The one or e highlight indicators 2000, 2002 and 2004, and/or 2001, 30 2003 and 2005 can be generated for icons havig textual descriptions corresponding to the keyboard inputs, and can be adjusted in response to the tpe input data so that only icons having textual descriptions defined by the type input data are highmlighted For example, if the textual descriptions of the icons 1804, 1810 and 1812 are "Clock "Calculator," and "Classics," then the highlight indicators 2000. 2002 and 2004, and/or 2001, 2003 and 2005 281.1 wou illuminate m response to the keyboard inpu" " o subseqnt keyboard input T would cause the highlight indiators 2002 and/ 2003o tur off and a third keyboard input o woudasethe highlight indicators 2004 and/or 2005 to tum off Accordins the icon 1804, corresponding to the textual deri ptiun "locl" would be elected by the type input 5 data c 1and o. Other selection indicatons based on type input can be used. Foexiample, stack emes front a stack im can disappear in response to type input Thus a stack Item includes stackeements entitled f tor asss Move"and ari the keyboard input "c" would cause the "Movies" and "Safar" visualiztion objet to 10 disappear. A ubsequent keyboard input "a would caeth ck" and lass visuabraion objects to disapper. In addition to seetons based on a texual description beginning with th type nnpu data selections based on the type input data can also be baned on whetherthe textual description of the visualization objet contains theotextiput r endsith itet, For example 15 all stack elerments having ;Mae extesions can be visudizd by selecting an "Ends with type input option and entering the type input rn, 5 "a" nd "c. ie. 2A and 2lB are block diagrams ot example selection miata tor a visahanton model. in ig. 21k Astack elements 2104, 2106, 2i08 2110, 2112. and 2114 are display ed accorimg to a viualinaton model ,e g, a matri arr'angement. One or more 20 highlight indicators 2109 and 2111, e.g., focus rin an be generated i response to keyboard Mput data. Te focus rigs 210q and 2111 c he m adjusted. response to the type f input data so that only v tsuahzaion obiets having texmal desenpuos defned by the type input data are hhlghted as described with respect to Fig 20 aboe. For example, the focus rmgs 2109 and 21 1 can be generated i response to the keyboard mput "c." A subsequent 25 keyboard input -1" would cause the focus ring 2111 to fade hrm vew In Fig. 21B, stack elements 2104, 210A 2108. 2110, 2112, and 21 14 are displayed ccordmig to a vsuaiaon mode, e g., a matrix arrangement In tis implrnentanon, a highlight indicator i geneted based on a cursor poston Fo example, if a moue cursor 2120 is fist positioned er the v2ualaon object 2110, a fAt focus rms 2111 can be 30 generated completely or partially aroud the valaton object 2110 However. i the mouse cursor 2120 is mowvd to a position over the vua on object 2108, the first focus ring 2111 "l fade front vew and a second focus rng 2109 wil be geneated around the isualizatin object 20 in some implementations, the focus ring persists around a visualization object until the mouse cursor 2120 is positioned over another visualization object. in some implementation, the focus ring persists aronnd a visualization object only when the mouse cursor 2120 is positioned over the visualization object. Other processes for generating and Wremovmg selection indicators can also be used, Fig. 22 is a block diagram of another example multidimensional desktop environment. In an implementation, an indicator can, for example, be used to indicate representations of system objects having an association. For example, thc icon 2206, the stack item 2208, the folder 2210 and the window 2212 can be related by having corresponding system objects I0 related to, for example, an application, eg, the icon 2206 can be the application icon; the stack item 2208 can provide access to particular documems related to the application; the folder 2210 can define a data store storing aU application documents; and the window 2212 can be an instance of the executing application. In one implementation, selection of any one of the icon 2206, stack item 2208, foder 2210 or window 2212 can generate a common 15 selection indicator lor all items. The common selection indicator can, for example, be realized by a lighting effect, such as a backlighting effect, by a temporary pulsing effect, or by some her permranent or transient effect. Mi 23 it a block diagram of another example visualization object reeple2302, The exampIle visual tion object receptac 2302 include a plrality visuaizaton object 20 rows 2312 aid 23114 and a plurality of visuaiation objeccolumns 23224, 232,2, 2330 and 2323 In an implcmertatiot the visualization object reeptacle 2302 incldes a plurality of visualizaon objee 2304 disposed within the visualizationobject reeptace 2302 according to th isaizto ojctrw 2312. -ad 23'14 and visualizati~on ojc columns 2322 2324,6 2322330 and 2323. 25 Although two isualization object IoWs and Six visualization object colunns. are shownthe visunlizaion object recepiacle a include additional or fewerisualizatin object rows andvisualianio object coumm In an mpaetationa ubstof' the visualzation object rows and vsuazatiomn object colmns ca, for example, e visible at any one time The visuzation objet rows and visuNaliaion ojct cmn cA forexm pl be 30 traversed by shifting the ows and/or columns n unison, as indicated by the solid ans. or example, when a cursor is positioned on thevisualiaton object receptaclucha the cursor h be posi on defined by the intersectionthe visuazation object row 2312 and the visualization obiet column 2332, a command cg . a controlcck command) can cause the visualizatin bmect mowand/or columnstoshif innison in poneto menofhe 30 cursor, I another implementation, each visualization object row and visualization object column can, for example, be traversed individually by shifRing a particular row or column, as indicated by the dashed arrows. For example, when the cursor is positioned on the visualization object receptacle 2302, an option-click command can cause the corresponding 5 visualization object row 23 12 and/or the corresponding column 2332 to shift individually in response to movement of the cursor. Other visualization object receptacle navigation schemes Can alIo be used. Fig. 24 is a block digram of an eample stack item 2400 The stack item 2400 includes a plurality of stack elements 2402, 2404, 2406, 2408 and 2410, each corresponding 10 to one or more system oblects in one implementation, a boundary 2420 defined by the stack elements 2402, 2404, 2406. 2408 and 2410 defines an icusin repion that is sociated nih the stack iem 2400 in one inplemematon, placement of an icon vithi the inclusin regon generates a stack element associated with the icon. ke e, placement of a stack clement without the inclusion region dhasocites the stack element with the stack nem 2400 In 15 another implementation, the mcluson regon can be separate frtm the stack itrm. it some implementations, the display sie of the stack item 2WO can change according to a gtate. For example. if a sytem object corresponding to a stack clement the stack item 2400 reqmre attennon, the sie of the stac item 2400 is adjusted to be rndered at a larger display e Likewise, potionig a mouse cursor over the Stack item 2400 can 20 cause the stack tnem 2400 to be rendered at a larger display se. in some implementations the stack item 2400 can change orientatiot and or appearance according to a laW For example. positioning a mouse Cursor over the stack item 2400 can cause the stac tem 2400 to rotate, or can cestack elements !n the stack iem .2400 to randomly suffe 25 Fig, :25 is a block diagram of another example stack item 2.500, The stack itemn 2500 includes a plurality of stackelemnents 2502, 2504, 2506, 2508 and 2510, each correponding to a document systems object n one implementation.sack elements 2502, 504 2506,2508 and 2510 display coresponding unique diciun e g. a thumbni rrcview of an image assocamed wih the stack element or the frst page of a document associated with the stack 30 element, Other unique indieium or unique i Cdaan also bueducha coespondee to an aspect ratio of an age, displaying of a documentszeand/r a document date can be displayed ineach stack element502 04; 2506, 2508 and 2510, c Figi. 26 s abockdiagram of anothereamplsackitem 2600 The sta item 2600 includes a puralty of stack elements 2602 2604 2606, 2608 and 2610. The stack element 31 2602 conesponds to an application icon of an appicatton sstem object, and the stack element 2604, 2606, 2608 and 2610 crespon d to document system objec in one inplementation. the stack item 2602 can, tor example, be preemmently disposed wth respect to the sak elements 2604 2606, 260 and 2610. For temple, the stack tem 2602 can he 5 permanently placed on the top of the aggregaion of stake elements 2604, 2606, 2608 and 26i0W Thus a shifting of a location of a stack element ithim the sack item 2600 such as by selectng the stack element 2612 and placing the stack eneit 2612 on top o' the stack eenm 260 or an addition of a new stack element, wi na displace th stack element 2602 front the preeminent posiion. 10 Other methods of preeminently disposing stackement related an aplicatiion icon can aso be used. Fig 27 for example a lock diagram of anothereampl stack tem 2700 in which he stck meant 2002 is prminently disposed by enlarging the application ement 2602 relative to the stack elements 2604 2606. 2608 and 2610 1n another implementation the stack elements 2604, 2606. 2608 and 2610 can he rendered with a is tranlucentffe and the stack element 2602 can be reiered wrth an. opaque effect so that the entirety f the stack element 2602 is discernabie no matter the position of the stack element 2612 in the stackitem Fig. 28A is a block diagran of example stack items 2802, 2804 and 2806 that are coloodd-, hi h. e nA iplementatio, oF $8A instantiation of each stack item 20 2802, 2804and 2806 can be subject to a temporal context and color-coded accordingly For examp l.the temporal context can define daterage and the stk itens 2802, 2804 and 2806 can be associated with each date range and cobircoded accordingly, e, gaen fOr the date range "Today," yelow for the date range "Last Week" and red for the date range "ast Month. 25 Il one implementation, a stack element associated with a system object is further associated with a stack item if a relevant date associated with the system object is within the date range associated with the stack item. For example, if the stack items 2802, 2804 and 2806 are utilized to provde access to word processing document system objects based on a "last modified" date, then the stack elements in the stack item 2802 corresponds to word 30 processing documents modifed today, the stack elements in the stack item 2804 corresponds to word processing documnIts mAdiNed within the last week; and the stack elements in the stack item 2806 corresponds to word processing documents modified within the last month. Fig. 28B is a block diagram of an example stack items 28 10 hat is colorcoded. In the implementation of Pi. 28B, stack elements 2820. 2822, 2824, 2830, 2832, 2840 and 3R 2842 are color coded according to a temporal context. For example, the stack elements 2820, 2822 and 2824 are color-coded to ident system objects added during a currem day; the stack elements 2830 and 2832 ate color-coded to identify system objects added during the last week; and stack elements 2840 and 2840 are color-coded to identify sytern objects added during, the last month. Other color-coding schemes can also be used, eo. application type, last modified, file size, or even user defined settingrs. Fig. 29 is a block diagram illustratin an example contextual control scheme applied to an example stack item 2900. For example, the contextal control can be an application context 2910 that defines an executing and selected state 2912, an executing and non selected 0 state 2914, and a not executing state 2916, An executing and selected state 2912 can occur, for example, when an application window of an executing or launching application is selected. An executing and not selected state 2914 can occur, for example, when another process other than the application is selected, A not executing state 2916 can occur, for example, when execution of an application is terminated. lin one implementation, the stack iten is displayed during the executing and selected state 2912; is mmtnimuzed, e g, deemphasized, during the executing and not selected state; and is suppressed, eg unallocated or hidden from Ivie during the not executing tat 2916 Other types of contexual cnMrol can alsoe used.. For example conetual control based on a user level associated with system objects. such as a root user lever supervisor 20 level, an control instantiation of a sack item andior inatanttion of stack leneats within the sack item, aid can, for example, further control colnimands availablto the user Fi.30) is a block diagram illstrating2 the apliai ofan example visualization model to an example .tak item 3000 The vixoalIration model can, for example. he irntrlnented according to tttand second modal states n the first modalstat he slack 25 hem 3000 is displayed with the stack: elments 3002, 3004 3006, 3008 and 3010 in a s tantially overlpping mangement in a second nodal state, the stackeements 3002, 3004 3006. 3008 and 3010 aredsplayed according to an automatically selected visualization model. The visuaization model can be selected as described abov Th example vialization model illustrated in Fig. 30 can for example. define a 30 muljdimensioa path defined by a firs ternu 3020 and a second temis 3022 and geneates a disposition of the stack element 002, 3004 30063008 and 3010 along the nitidimensonal path. For example, the stackelement3002 30043006 3008 and 3010 can transiion in eitherdirection between the firstterrminus 3020 artd the second terminus 30 in response to a user input, In one inplementatno an indicator can indicate a preement disposition of a stack element For example, the stack item 3002 can be highlighted by a focus ng when in the preeminent position definig the first terminus 3020. Fig 3 IA is a block diagr am llustatog another example visualhzation model for an 5 example stack iem 3100 The ualhzation mode] can, for example, be impleremied according to first and second modal states as descrbed with respect to Fg 30 In the second modal state, the stack elements 3102, 3104, 3 106 and 3108 are displayed accordig to an automatically selected valizaton model that generates an arrangement of the stack elements 3102. 3 104 3106 and 10 in substatl jutaposion The stack elements 3002, 0 3004, 3006 and 3008 can, for example, r ansion along a icular path defined by the circular trace common to the stack elemems 3102, 3104, 3106 and 3108 in one implementation, an Ndicator can mdjcate a preemnent disposition ot a stack elerem For example, the stack iter 3002 can be hmhlghted by a focus nng when In the preeminent position defined by the kipper left quadiant posion is Fig. 31 is a block diagram illustrating the apphation of another example viualizatin odel to an example Stack item 3120. the visualization model is sun dam to the visualization model of F i 3 A, ecept that the stack elements 3122,3124, 3126. 3128 3130 and 3132 can traverse conespondmg paths to be dsplayd in a display matix Whie the paths shown in Fie. 31B are curved, other path, can also be use, e"g, straight paths 20 coksce pv path\ simuseidal piths or combinations of such paths Fig 32 a Nock diagrai iltusratin the appleatin of another example vsualiaon model to an example ,atck item 3200. 'The stack iterm 200 can for example, im lode dozens hundreds or even thousands of stack items For example, the smack elemens 3202, 3204 32061 3208 and 10 may be displayed as opaque stack emens, and the stack element 25 3212 eat be displayed as a translucent stack element, or can be a final stack element near a ishing point. The visualization model can, for example, be implerned according to first and second modal states as described with respect to Fig. 30, In the second modal state, a subset of all the stack elements, e.g. stack elements 3202. 3204, 3206. 3208, and 3210 are displayed 30 according to an automatically selected visualization model that generates an arrangement of the stack elements in a hst view format A navigation control 3220 can, for example, he displayed proximate to the arrangement of stack elements, and a selection of chher an "up" directional portion 3222 or a "down" directional portion 3224 can cause the stack elements to traverse though the list view fbrmat in an up or down dTretion, respectively, For example, 34 selecting the down" directional ponion 3224 will cause the stack element 3202 to be removed from the list view display caue thesack elets 3204, 3206,3208 and 3210 to move dowv in the list view display; and cause the stack element 3212 to appear at the top of the list view display 5Selection of a navigation divet 3226 can generate a contextual menu that includes one or more sort commands, Examle sort commands include sorting by date added, sorting by file size, sorting by file type, etc, in the implementation of Fig. 32, the list view traverses an actuate path as indicated by the curved arrow 3230, e.g. a model of a curved surface that is normal to the viewing 10 plane at the central stack element. e.g, stack element 3206, Accordingly, stack elements that are not normal to the viewmg surfe e.g, stack elements 3202, 3204, 3208 and 3210, include a curvature distortion deNed by the curved sur1!e. Other list view formats can also be used, e.g. a straight path in which the stack elements are not distorted. In some implenentations, a user interface engine, e.g. the I engme 202 of Fig, 2 15 can pre-dache display data tor a subset of the stack elements displayed in the list view format The pre-cahing can be limited to stack elements that are within a certain number of stack clements to be displayed in the list view. For example, the stack element 3200 may include thousands of phto phthe l 02, however, may only pe-cache thumbnail images of the next five stack elemeiS to be displayed by selection of the "up" 20 directional portion 3222 and "down directional portion 3224, respectively, in another implementation, a stack item, upon selection, may rotate to a side and present the stack elements as a series of graphical representations of book spines, e.g. such as in a book shelf Depending on the number of stack elements, the book shelf may be one level, multiple levels, or may be extend into a vanishing point and be traversed in response to 25 a user input Visualization object can be "pulled" frm the bookshelf in response to a user input. e.g. a mouse command or a mouse lover, and a subsequent command, e.g.. a mouse click, can open a tle associated with the visuatzation object, Other visualization model can also be used, Fig; 33A is a lock diagram of an example group association 3300 of an exaTple 30 stack item 3310. The gMoup association 3300, can, for exmplebe based one or more identify association charaeteristicefte stack elements 3312. 3314, -5316 and 3318. For example the group association 330 can comrise a project association .ilesaocidatd with a preentation dveloped with a first project application 3302 and which utilize data fro flesassociated with a second project application 304 in one implementation, ain inteaction model can be selected based on the. project association. In an implementation, a multiple launch interaction model can be selected when any one of the system objects related to the stack elements 3312, 3314. 3316 and 3318 is opened. In one implementation, the multiple launch interaction model can, tot example, 5 confirm a laughing of both applications 3302 and 3304. in another implementation, the multiple launch interaction model can. fbr example, provide a context menu in which either or both of the applications 3302 and 3304 can be selected for launching. Other muliple launching interaction models can also be used, in another iIplementattion, a synchronzation interaction model can be selected when 10 one of the system objects related to the stack elernents 3312 3314, 3316 and 3318 is saved to a data store. such as a hard disk The synchronization interaction model can, for example, provide one or more contextual menus or other interaction aspects to prompt a user to synchnize al stack clements when any one of the stack elements has been updated. Other synchronization interaction models can also be used, 15In another implementation, a reconciliation interaction mode can he selected when one of the system objects related to the stack elements 3312, 3314, 3316 and 3318 is changed, e.g. a file association with the stack element 3312 is replaced by a new file, The reconciliation iteraction nodel can, for example, provide one or more contextual menus or other interaction aspects to prompt a user to reconcile all stack elernents when any one of the 20 stack elements are replaced. Other reconciliation interaction modes can aiso be used. Interaction and/or visuaization modelh can alo be applied to other representations of system objects. For example, in one implementation, the system objects can include window instances in the tultidimensional desktop environment, and the association characteristics can include a quantity of non-minimidzed window instances. Accordingly, an interaction 235 model can be auomatically selected fbr facilitating operations on the open windows depending on the number of open windows. For example, if the number of open windows is greater than five, selection of a browse command can cause the open windows to be automatically displayed in an overlapping arrang-eet for browsing; and if the number of open windows is less than five, selection of the browse command can cause the open 30 windows to be automatically displayed in a matrix arrangement for browsing. Fig. 33B is a block diagrarn of an example group association of system objets. The group association 3350, can, for example, be based one or more identified association characteristics of the system objects, such as documents 3360, 3362 and 3364, The group association 3350 can, for example, be utilized to select one or more visualization and/or interaction models as described above, Hoever, the documents 3360, 3362 and 3364 need not be associated in a stack item, Ngg the docments360 3M2 and 3364 can each be associated with differed stack items, or not associated with any stack items. Fig. 34 is a flow diagram of an example process 3400 for transitioning a desktop. The 5 process 3400 can, for example, be implemented in a processing device, such as the system 100 of Fig. h implementing user interface software and/or hardware, such as the example implemientationls described 'with respect to Figs. 2,35 and 63. Sage 3402 depth transitions a two-dimensional desktop from a viewing surface to a back surface. For example, the system 100, iniplernening any one of the U! engines I described in Figs. 2, 5 and 6, can dept Tnsitiuon a two-imensional desktop, such as the desktop 1702 of Fig. 17, frm a viewing surface to a back surface, such as from the viewing surface 1703 to the back surface 1732 as shown in Fig j7 Stage 3404 generates one or more side suraces extending from the back surface to the viewing surface. For example, the system 100, implementing any one of the L engines 15 described in figs, 2 5 and 6, can generate one or more sid surfaces extending from the back M-face to the viewing surface, such as the side surfaces 1706, 1708 and 1710 of Fig. 17. Stage 3406 generates a visualization object receptacle, e.g. an icon receptacle, on the One or more side ,surfaces, For example, the se 10 implewnting any one of the UT engines described in Figs. 2, 5 and 6, can generate an icon rceptauc on the one or mom side 20 surfaces, such as the visuabation object receptacle 1730 on the surface 1706 of Fig. 17. Stage 3408 disposes one or more vmsualization object, e~g, icons, corresponding to desktop items within the visualization object receptacle. For example, the system 100. implementing any one of the Ul engines described in Figs, 2, 5 and 6, can dispose one or more icoos correspondingto desktop items within visualization object receptacle, such as 25 the icons 1732 ii the visualization object receptacle 1730, which correspond to the icons 1722 of Fig. 17 Fig. 35 is a flow diagram of another example process 3500 Mr iransitioning between desktop types. The process 3500 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 0 as the example implemenations described with respect to Figs. 2, 5 and 6. Stage 3502 identifies tw-dnAensional desktop items in a two-dimensonal desktop environment. For example, the system 100, impememing any one of the Ui engines described in Figs, 2, 5 and 6, can identify two-dimensional desktop items in a tvo dimensional desktop environment, such as the fblders 1704. 1706, 1708 and 17 10 of Fig. 17 , 3.7 Stage 3504 generates three-dimensional desktop items based on the identified two dimensional desktop items, For example, the system 100, implementing any one of the UI engines described in Figs. 2, 5 and 6, can generate three-dimensional desktop items based on the identified two-dimensional desktop items, such as the stack items 1742, 1744, 1746 and 5 1748 of Fig, 17, which correspond to the folders 1704. 1706, l708 and 1710, Stge 3506 eliminates the two-dimensional desktop items from view. For example, the system 100, implementing any one of the U1 engines described in Figs. 2, 5 and 6, can eliminate two-dimensional desktop items from view, such as the elimination of the folders 1204, 1706, 1708 and 1710 from the back surface 1732 of [ig, 17, 10 Stage 3508 generates the three-dimensional desktop items on at least one surface (g, a side surface). For example, the system 100, implementing any one of the UI engines described in Figs 2, 5 and 6, can generate the three-dimensional desktop itms on a least one side surface, such as the stack items 1742, 1744, 1746 and 1748 on the bottom side surface 1706 of Fig, 17. is Fig. 36 is a flow diagram of an example process 3600 for generanng a mulidinenional desktop environment The process 3100 can, For example, be implemented in a procesing device, such as the system 100 of ig. , inplemnng user inerface sofliware anddor hardware, suh as the example unplementatons described with respect to Figs 2. 5 and 6, 20 Stage 3602 axiy dposes a hack surface from a viewi g surface F xanple, the system 100. implernenrg aty one of the Iii engines desnbed n Fgs 2, 5 and 6, can axially dispose a back srface fm a viewmig surface such as the back surface 1102 bei axilly disposed froom the ieng surface 1104. as shon n FiDg 1 Stage 3604 extends one or more side, fia oorm the back surface to the viewing 21 surface. For example, the ystaem 100, implementing any one of the U I engines described n Fis 2, 5 and 6, can extend one or more side surfaces t the bac surface to the iewig surface, stuch. as the side surfaces i0, 1108,I 10 and 1112, as show in Fi 11 Stage 3606 generates a visuaibration objet receptacle on one or more of the side surfaces. For exanle. the system 100, implementing my one of the 1 engies desc ibed i 30 fus. 2, 5 and 6, can generate an icon receptacle ot one o more of the side surfaces, such as the visualizaton object receptacle II 14 on the side surface 106, as shown nm Fig. 11. Stage 3608 generates within the viualization objcet receptacle one or more visualization objects, e g cons corresponding to one or more system objects. For example, the system 100, implementig any one of the i engines deseibed n Fgs 2, 5 and 6, can, 38 generate within the visualization object receptacle one or more icons corresponding to onor more system objects, Such as the icons 1120 1 122, 124, 1126, 1128 and I3.0 as shown in Fig 11. Fig. 37 is a flow iagram of an3ple proes700 for rendering a sid uace in a 5 nuidimensional desktop environment The process 3700 can for example, be implented in a processing devce, such as the systeM 100 of Fig.,implementing userinerface sotare and/er hardware, such as the exampleInpleentatio described with repect to Figs 2, 5 and 6, Stage 3702 generates stack items on a surtece (e.g. a side surface). For example, the 10 system 100, implementing any one ot the U3 engines described in Figs 2, 5 and 6, can generate stacks items on a side surface, such as the stack items 1140, 11144 and 146 generated on the side surtee 1 106, as shown in Fig. .1.1. Stage 3704 renders a s Oface texture on the surface. For example, the system 100, irmpLementing any one of the U engins described in Figs, 2, 5 and 6, can render a surface 15 texture on the side surae such as the grid texture I 150 on the side surfae 1106. as shown in Fig 11. F 3 a flow diagram of an example process 3800 for serpi0 a side t suface in a nmultidimrensiognal desktop environment. ;The grocss 3800 dan, for example. be impkenented in a processing devce 5 such as the stem 100 of Fig. , iraplemen nIg usefinterihcesoftware 20 andor hardware. such as the example implemetations described widhrspec to Figs 2, 5 and 6. Stage 3302 scrolls thede surface in response to a scroll cnnand For eample the stem 100 implementing any one of the UI engine described i igs 2, 5 and 6can scro, l the side surface in response to a scroll command, such as the side surface 1106 in e 25 deductions indicated by one or more of the arrows 112 and 11U4 as hown in Fig. 11. Stage 304 scrolls the stack items in ascol direction. For example te system 100, inpleiringany one of the UW engines cribed in Figs 2 5 and 6 can scrol the stack items i a sroU direction suchias the stack items 1140. 114.. I 14 and 1146 in the deetionndtacd by one or more of the arw 52 and 1 154 as showtin Fig 11 30 age 306 displaces a stack iteim(s) fm the side surface at a scrlegress For exnmpie, the system 100 implementing any one of the 1engins described in Figs, 2, 5 and 6, can displace asack im(s) fom the side surface at a scroll egress, such as the scroIl egress 15 (or 159) as shown in Fig11, 39 Stage 3g08 emplaces a stack items) on the side surface at a scroll ingress For example, the system 100, implementog any one of the UI engines described in Figs 2 5 and 6, can emplace a stack items on the side surface at a scroll ingress, such as the scroll ingress 1156 (or 1152)as shown in Pg. II 5 Fig. 39 is a flow diagram of an example process 3900 fir generang a selection indicator. The process 3900 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, 5 and 6. Stage 3902 generates an under lighting cffect as the selection indicator, For example, 10 the system 100, implementing any one of the til engines described in Figs. 2. 5 and 6, can generate an under lighting effect as the selection indicator, such as the selection indicator 1022 of Fi8. 18K. Stage 304 geneaes an enrgement efIet as the seeIction indicator. For eample. the system 100, implementing any one of the LA egines described in Fig2 5 and 6. m 15 generate an enlargement effect as the selection dicarmsuch as t nargemeof esk indicator 1806 as howni Fig.8B Fig. 40 is a flow diagram of an example process 4000(rendering desktop items The process 4000 Canbr example, be inplmntned in a prcesing device, such as the systm 100 of g. impeeting user intrfce software and/or hadwre suc as the 20 eamp iplntation described wihrespect to Figs 25 and 6. Stage 4002 generates stack item on a firsdc surfacecorrespongto a pluraityf desktop ite\m or example. th system 100 implementing my one of the li engin described in Fi. 2, 5 and 6, can generate stack itemson a rst side surfae coresponding to a phnrality of deskto items, sach as the stack ;ems 12W 14 1206 120 -and 1212, and 25 the visaizaton object receptacle I 114 and icons 1122, 112-4 11Th, 1128. 1130 and 1132 as shown in Fg& 1 Stage 4004 generatesR ns correspondinm prog 'tts on a second side surface. For eaplethesystem 100, implemening any on'f theq engines described in Fis. 2, 5 and 6, can general cons corresponding to program itens on a second side surface such as 30 te applicaton ion 1222 on thesufe 1112 as shown in Fig 12, Stage4006 generates icons correspondingto fle iems on a third sides ee; F example, the system 100o implementing any one of the U21engnes described in Eins. 2. 5 and can generate icons corresponding to fe items on a third side surface such a the file desktop item 120 on the surface 1108 of Fi 12. 40 Fig. 41 is a flow diagram of an example process 4100 for generating an example application environment in a multidimensional desktop environment. The process 4100 can, for example, be impleent'ed in a processing device, such as the system 100 of ig. L, impIementing user interface sofware and/or hardware, such as the example implementations 5 described with respect to Figs. 2, 5 and 6. Stage 4102 axially disposes a back surface from a viewing surtfac. For example, the systern 100, implementing any one of the Ui engines described in Figs. 2, 5 and 6, can axially dispose a hack surface from a viewing surface, such as the back surface 1102 that is axially disposed from the viewing srtace in Fig. 14. 10 Stae 4104 extends one or more side surfers rom the back surface to the vieng suface. For xampedth system 100,implementing any one of the Ut engines described in Figs. 2. $ and 6 can extend one or more side sMUaces from the back surface to the viewing surface s as theside srfaces 1106, 1108. and 1112; as hown imFigd 14. Stage 4106 generates an application conent frame for aapplican on the back 15 surface For example, the system l00 implementing any one ofthe Uil enemnsdescribed in Figs; imfd 6, can generate art application contend frame for an application on the back suerace such as the application content frame 1410 on the back rface I 102 as shown in Fig, 14 Sage 4108 generates one or more application control elements for the application on 20 the one or more side surfaces. For example, the system 100, implementing any one of the UT engines described in Fis. 2. 5 and 6. can generate one or more application control elements for the application on the one or more side surfaces such as the function icons 1422, 1424, 1426 and 1428, as shown in ig, 14. The application comrol elements, eg, the function icons 1422, 1424, 1426 and 1428. can be used to control functions of the application, such as 25 editing commands or an editing environment displayed in. an appication content frame on the back surface. Fig, 42 is a low diagram of an example process 4200 for transitioning between applation environment, The process 4200 can, for example, be implemented in a processing device, such. as the system 100 of Fig. 1 implementing user interface software 30 and/or hardware. such as the example implementatons described with respect to Figs. 2 5 and 6. Stage 4202 generates an application portal on one of the side surfaces. For example, the system 100, inplernenting any one of the UT engines described in Figs. 2. 5 and 6, can generate an application portal on one of the side surfaces, such as the stack item 1510 that includes stack elements 1512 and 1514 that correspond to portals, as shown in Fi. 15. Stage 4204 transitions from a first application environment to a second application environment in response to a selection of the application portal, For example, the system 5 100, implementing any one of the U1 engines described in FiNs. 2, 5 and 6, can transition from a first application envioronmnt to a second application environment in response to a selection of the application portal. As described wih respect to Fig. 15. selection of the stack element 1514 can transition to another application environment. ig.43 is a flow diagram of an example process 4300 for generating a visualization 10 object receptacle e process 4300 can, for example e implemented in a processing device, such as the systefl 10 of Fig implementing user nterace software and/or hardware, sh as the example implmentaions described with respect toFigs 2 5 and 6 Stage 4302 gcmctes visualization object receptacle disposed along a depth aspect For example, the syt 100n implementig any one of the i egines described in lies. 2i 5 15 and 6, can generate visualiation obei e receptacle disposed along a depth aspect, such as the visuahtziat ojet recepacek 14, a shown in fig. 2 Stage 4304 generates one or more visualizatio objects disposed within the isualiuation object receptacle For exampthe system 100, implening any one of the Lit engines deserbed in Figs 2, 5 and 6 an generate one or more visualization objects 20 diposed wihin tb vsualiato object receptae, such as the1visualizationobjects I22 1124, 126 1 1130 and 1132 as shown in Fig. 12. Stage 4306 preeminently displays the visualization object receptacle. For example, the system 100, implementing any one of the 1 enines described in ies. 2, 5 and 6, can preeminently display the visualization object receptacle, such as by displaying the 25 visualization object receptacle near the viewing surface of Fig. 12, or by displaying the visualizatioti object receptacle as described with respect to the visualization objct receptacle 714 ofFig. &, Stage 4308 generates at least one of the visualization objects as a stack item, For example, the system 100, implememing any one of the U2 engines described in Fig. 2, 5 and 30 6. can generate at least one of the visualization objects as a stack item, such as the stack items 112$ and 1 30 as shown in 3i. 12. Fig 44 is a fow diagram of an example process 4400 for color coding visualization objects. The process 4400 can, for example, be implemented in a processing device, such as 42 the system 100 of Fig. 1, implementing user interface solware and/or hardware, such as the example implementations described with respect to Figs. 2. 5 and 6. Stage 4402 associates a first color with an executing application. For example, the system 100, implementing any one of the UI engines described in Figs. 2, 5 and 6, can associate a first color with an executing apphcaton, such as the status indicator 1830, as shown in Fig, 18D, Stage 4404 associates a second color with a selected and executing application. For example, the system 100, implementing any one of the Ul engines described in Figs. 2, 5 and 6, can associate a second color with a selected and executing application, such as the status 10 indicator 1832, as shown in Fig. 18D. Stage 4406 associates a third color with a launching of an application [or example, the system 100 implementing any one of the UM engines described in Figs. 2, 5 and 6, can associate a third color with a launching of an application, such as the status indicator 1834, as shown in Fig. 18D, 5 Fig. 45 is a flow diagram of an example process '4500 for color coding visualization objects of related system objects. The process 4500 can for example, be implemented in a processing device, such as the system 100 of Fig., timnplementing user interface software and/or hardware, such as the example implementations described with respect to Figs. 2, 5 and 6. o Stage 4502 color codes a selected visualizaion object disposed in. the visuahzation obet recptacle. For example, the system 100, implementing any one of the Ui engines dcrbed in Figs. 2, 5 and 6, can color code a selected visualization. obect disposed in the visualiation object receptacle, such as color coding the visualization object 2206, as shown inig 222 25 Stage 4504 applies a corresponding color code to the desktop itrms associated with the selected visualizati object. For example, the system 100, implementing any one of the UT1 engines described in Figs. 2, 5 and 6. can apply a corresponding color code to the desktop items associated with the selected visualization object, Such as color coding the stack item 2208, the folder 2210 and the window 2212, as shown in Fig. 22. 30 Fig. 46 is a flow diagram of another example process 4600 for generating a visualization object receptacle. The process 4600 can, for example, be implemented in a processing device, such as the system I00 of Fig. I implementing user interface software andor hardware, such as the example implementations described with respect to Figs. 2, 5 and 6. 4.3) Stage 4602 defines visualization object rows in the visualization object receptacle, For example, the system 100, implementing any one of the L engines described in Eits. 2, 5 and 6, can define visualization object rows in the visualization object receptacle. such as the visualization object ows 23 1 2 and 2314, as shown in Fig, 23, 5 Stage 4604 defines vsua ization object columns in the visualization object receptacle. For example, the system 100, implementing any one of the LI engines described in Fig 2, 5 and 6, can define visualzation object columns in the visualization object receptacle, such as the visualization object columns 2322, 2324, 2326, 2328, 2330 and 2-32. as shown n Fig, 10 Stagig 4606 disposes the visualization objects within he visaiation obic receptace according to the visualation objeA rows ard Wsaiatioobjeet coumns. For example the system 100, implementing ay one CeUT engU es described in Vi s and 6, can dispose the visualization objects within the visualization object receptacle according to the visualization object ws and visualization object columns as indicated by the sold and IS dashed arrows shown in Fig. 23. Fig. 47 is a flow diagram of an example process 4700 for generatig a stack item. The process 4700 can, for example, be implemened in a processing device, such as the system 100 of Fig. L implementing user imerface software and/or hardware, such as the example implementations described with respect to Figs 21 5 and 6. 20 Stage 4702 generates or identifies a phurahity of stack elements corresponding to computer system objects. For example, the systern 100, implementing any one of the U1 engines described in Figs. 2, 5 and 6, can genertve a plurally of stack elements corresponding to computer system objects, such as the stack elements shown in Fig. 29. Stage 4704 associates the plurality of stack elements with a stack item, For example. 25 the system 100. implementing any one of the UL engines described in Fins2, $ and 6, can associate the plurality of stack elements with a stack item, such as the stack item 2900, as shown in Vig 29. Stage 4706 aggregates the stack clemens io the stack item, For example, the system 100, implementing any onc of the L engines dcsciibcd in Figs. 2, 5 and 6, can 30 aggregate the stack elements into the stack item, such as by overlapping the stack elements to form the stack item in Fig. 29. Stage 4708 provides context control of the stack item, For example, the system 100, implementing any one of the U engines described in Figs 2, 5 and 6, can provides context coMNrol of the stack item, such as the application context 2910, as shown in Fig, 29. 44 Fig 48 is a flwdiagtn of an example process 4800 for displaying stack elemems according to modal states The press 4800 can, for example, be implemented in a processing devce, such as the system 100 of Fig, 1, implementing user interfiee software andfor hardware, such as the exampleimpementatio described with respect to Figs. 2 5 5 and 6 Stage 4802 displays the stack elements in a substantial overlapping arrangemcut in a first modal state. For example, the system 100, implementing any one of the U i enincs described in Figs. 2, 5 and 6, can display the stack elements in a substantial overlapping arrangement in a first modal state. such as the overlapping arrangement of the stack items in 10 the stack element 3000 in the first modal state, as shown in Fig, 30. Stage 4804 displays the stack elements in a browsing arrangement in the second modal state. For example, the system 100, implementing any one of he U31 engines described in Figs. 2, 5 and 6, can display the stack elements in a browsing arrangement in the second modal state, such as the fanning, arrangement defined by the first terminus 3020 and the 125 second terminus 3022. as shown in Fig, 30. Stage 4806 enables the selection of a stack element in the second modal state. For example, the system 100 implementing any one of the U91 engines described in Figs. 2. 5 and 6, can cniable the selection of a stack element in the second modal state, such as a selection of the preemimently disposed stack element 3002, as shown in Fig, 30. Fig. 49 is a flow diagram of an example process 4000 for selecting interaction models and/or visualization models. The process 4900 can, for example. be implemented in a processing device, such as the system 100 of Fig 1 implementing user inerface software and/or hardware, such as the example implemetations described with respect to Figs. 2, 5 25 Sage 490 identifcs a ,haracterstie of stack elements associated with a stack item, Forexample, the system 10 implemeting any one of the engines described in Figs. 2, 5 and .ia idennig a quantty of stak elementassociated with the stack itemsuch a te quantity of stakelements02, 3004 3063008 and301Oa shown in Fig. 30, or a type associated wh the stack item. 30 Stage 4904 identities ineraction modes and/or visualzation models. Foreample, he system 100 imiplmnting any one of the n engines described ig25 and 6 can identfy a plralty of visuaiaion modes eg., browsing arrangements such as the bowsing arrangements described wih respect o Figs. and ier interaction models, such aseeraction models described with respect to Figs 33A and B1 45 Stage 4906 selects an interaction model and/or visualization model based on the characteristic of the stack elements (e.g. the quantity of stack elements, or the type of the stack elemens) For example, the system 100, implementing any one of the UL engines described in Figs. 2, 5 and 6. can select one of a plurality of browsing arrangements, such as selection the fanning arangement, as shown in Fig. 30, or select one of a plurality of interaction modes as described with respect to Figs 33A and 33B. Fig. 50 is a flow diagram of another example process 5000 for generating a stack item. The process 5000 can, for example, be implemented in a processing device, such as the ssem 100 of Fig. 1, implementing user interface software and/or hardware, such as the to example implementations described with respect to Figs. 2, 5 and 6. Stage 5002 defines the date ranges for a temporal context. For example. the system 100, implementng any one of the U engines described in Figs 2, 5 and 6, can define the for temporal context, such as the date ranges Jescrbed with re.e t 28A and 288. Stage 5004 associates the corrsponding stack items Awh each date range. For exmplethesystem 100, implementing a one ofhe3 engines described n Fgs 5 and 6 can asocite the corresponding stack items with each date range, such as the stack items 280, 204 and2806 in Figs 28A and 288, Stage 5006 derinesforeach stack eementa date asoiated with each associated system obj., For example te system 100, implementing any one of the U3 engines described in Fia 2.5 and can deemAne for each sack element a dare associated with eachassociated system object, such as a file modifieation date, as described with respect to Fig 28A and 2813 Stae 5008 associates the stack elements With the stack items based on thedate ranges 25 assoiatcd with e stack items and the dates associated with each system object. For example, the system 100,implementing any one of the Uengines described in Fig. 2, 5 and can associte the stack elements wih the stack items based on the date rnes associated with the stack itms and the datassocaed wih each system object such as the stack eentsassocaated with hestack items 2802, 2804 and 2806 shown in Fig 24. 30 g51 is a flow diagaim of an example process 5100 for displaying a stack item according to a executin context The process 5100 can, for example be implemented in a devie" suc h th e system 1 00 of Fin. K, irl processing da e uhas thoytm(0 fFg iplemnenting user interface software adr hardware, such as the example impkmentations deibed with respect to Fins. 25 and 64 46 Stage 5102 associates a stack item with an application system object For example, the system 100, implementing any ore of the UI engines described in Figs, 2, 5 and 6 -an associate a stack item with an application system object, such as the association of the stack item 2900 with an applicon as showniF .2. 5 Stage 5104 .asociks stack elemems associated with the appellation stem obet ith the sack iem asocated with the applcaton system object For example. the syrem 100, implementing any one of the ill engines described in Figs. 2. and 6, can associate stack elements awoiated w ithe appcation system object with the stack iem asse. ated with the appcaton sysem obect, such as the stack elements of the -ack iem 200, as 10 hown n Fig 29 Stage 5106 diplay the stack item associated wih the apphiatmn system obect dMng an n.ecunu Context For example, the system 100, implmentmg any one of th.e t engmes described in igs 2 5 and 6. can display he sak item associated ith the appeato sytem object durnn an excuting context, such as the diplayng of the stack e15 i 3ii900 during an executmg and selected state 291 as show a F 29g . Fig 52 i a fow dnrram ot an example process 5200 for generatmg and displaing a stack Ta The poCen ,Th0 can for example, be implemented i a processing deie. such as tne system 100 of 1, implemerntirg user inierite sonare and/or hardw are, such as the example iiplenentatons described with respect to Figs. 2 5 and 6 Stane 5202 assocates a plurality of stack elements with an appiaton For example, the system 100, implementing any onc of the UI enm described in FIgs 2 5 and A can associate a plurably of stack elements wn ith an applcaton, such as the stack element 2600 with an application, as shown in Fins 26 and 27 Stage 5204 identifies stac fle elements and stack application elements. ior 5 example. the system 100 implementing any one of the I engines described in igs 2 5 and can ideAnfy stad le elements and stack appleatin elements, such as the tie elemems 2604, 26060, 2608 and 2610 and Ahe apphiation element 2602 as shown in Figs '' and < Stage 5206 associates a stack item with the pluaity of stack items For example the system 100, inplementing any onc of the iT engines desenbed in Fits. 2 and 6. can 30 associate a stack item with the pluraity of stack elemens such as the staetime 2600 with the stack elements 2602 2604, 2606, 2608 and 2610, as shown n Figs 26 and 27 Stage 5208 agegates stac elements to generate stack nems For example, the Sytem 100, implement any one of the l engimes descbed in Figs; 2. 5 and 6. can 47 aggregate stack elements to generate stack items, such as the aggregation shown in Figs. 26 or 27, Stage 5210 preeminently disposes the application element. For example, the system 100, implementing any one of the U engines described in Figs. 2. 5 and 6, can preeminenly 5 dispose the application element, such as the preeminently disposed stack element 2602, as shown in Figs. 26 or 27. Fig. $3 is a flow diagram of an example process 5300 for automatically selecting and applying an interaction model to a stack item. The process 5300 can, for example, be implemented in a processing device, such as the system 100 of Fig. 1, implementing user 10 interlace software and/or hardware, such as the example implementations described with respect to Figs, 2, 5 and 6, Stage 5302 associates visualizations of system objects, For example, the system 100, mplementig ny 3 one of the U engines described in Figs. 2, 5 and 6, can associate the visualizations of system objects, such a the visualizations corresponding to the stack. 15 elements 3002, 3004, 3006. 3008 and 30 10, as shown in Fig. 3.0. Stage 5304 identifies one or more association characteristics of the associated visualizations For example, the system 100, implementing any one of the UI eines described in Eigs. 2, 5 and 6. can identify or more association characteristics ot the associated visualizations, such s the number of stack elements shown in e. 30, Stage 5306 automatically selects an interaction model from a plurality of interaction models based on the ideniied one or more associated characteristics. For example, he system 100, implementing any one of the U engines described in Figs. 2 5 and 6, can automatically select an intemction model fron a plurality of interaction models based on the identified one or more associated characteristics, such as selecting one of the interaction 25 model shown in Figs. 30 and 31 Stage 30applies the selected interaction mdel to the associated visualizations For example the system00implementing ayone of the aenines described in s 2. 5 and 6, can apply the selected interaction model to he associated visualizaions.uch as the fanning arrangement ashown in Fig 30. Fig. 54is a ow diagram of another eanple process5400 for automatic y selecing and applying an integration mode to a stack item The process5400 crftr example be implemented tn a processng dee, such as the system 100 of ig. , plemenng user interface software and/or hardware, such as the exaple irnplcnmentations described wiith respect to Figs 2 5 and 6. 48 Stage 5402 identifies a quantity of visualizaions in the stack association. For example, the system 100, implementing any one of the Ui engines described in Figs. 2, 5 ad 6, can identify a quantity of visualizations in the stack association, such as the quantity of stack elements 3102, 3104, 3106 and 310, as shown in Fig. 31A, Stage 5404 selects the interaction. model from the plurality of interaction models based on the quantity. For example, the system 100, implementing any one of the U3 engines described in Figs. 2, 5 and 6. can select the interaction model from the plurality of interaction models based on the quantity, such as the interaction model shown in Fig. 31 A. Fig, 55 is a flow diagram of another example process 5500 for automatically selecting 10 and applying an interaction model to a stack item. The process 4000 can, for example, be implemented in a processing device, such as the system 100 of Pig, I, implementing user interface software and/or hardware, such as the example implementations described with respect to Fig2 5 and 6. Stage 5502entes a type of stack clement in the stack assoeitn For example 15 thesystem 100, mpmenting any one of the Ul engines described in Fig 2 and 6 can identtif a type of stack element in the Nmk association such as for example a document Stage 5504 selects the interaction mode frotn tbe plurality of interaction models based on the type, For example thesystem 100. implementing any one of the U1engines 20 descied in gs 2 5 and 6, can select the interaction model frm th e plu ty interaction models based on the type; such as, for example, an interaction model designed for the docui ent type Fig. 56 ix a flow diagram of another example process 5600 for automatically selecting and applying a nteraction model to a stack item. The process 5600 can, for example, be 25 implemented in a processing device, such as the system 100 of Fig, , implemening user interface software nd/or hardware, such as the example implementations described with respect to Figs. 2, 5 and 6. Stage 5602 identifies a group association of stack elements m the stack association. For example, the system 100, implementing any one of the U engines described in Bigs. 2, 5 30 and 6, can identify a group association of stack elemems in the stack association, such as the project association of' Fin. 33A, Stage 5604 selects the interaction model from the pluralty of interaction models based on the group association. For example, the system 100, implementing any one of the Ui engines described in Figi. 2, 5 and 6, can select the interaction model from the plurality of 49 imoeraction models based on the gnmp association, such as a multiple launch interaction model, a synchronization interaction model, or a reconciation interaction model Fig. 57 is a low diagram of an example process 5700 for generating a divet, The process 5700 can, for example, be implemented in a processing device, such as the system 100 of Fig 1, implementing user mterface software and/or hardware, such as the example implementations described with respect to Figs. 2, 5 and 6, Stage 5702 generaes a visualization object receptacle disposed along a depth aspect. For example, the system 100, implementing any one of the Ul engines described in Figs. 2. 5 and 6 can generate the visualization objet receptace802 ofig. 19A. 10 Stage 5704 generates one or more visui[ition objects disposed within the visualization objct recenade For examnple.hesy stem 100, impending any one of the Q ermnes described Fgs2, 5 and 6, ca generate e or more visuaization objects 1804 1806. 1808.1810 1812 and 1814 of Fig09A, Stago 5706 identfes an actionable state associated with one of the visualization 15 objects For examp the system 100, implemening any one of the UTengmedescribed in Figs 2. 5 and 6. can identify n actionable tate a system update avaaili tvassociated with the isualization object 1804 of Fig; VIA. Stage 5708 generaes a divet displayed proimo i th We visualization object to ulklcakv ar actionable satessociated with the visualizatn jt For anle the system 20 100 implemnting au one of the U1 engincs described in Fi 2 5 and a generate the divet 1902 of Fi. N. Fi a flow diagram of an example process 5800 Or generatmn a divet contextual menu. 'The process 5800 can, Rfr temple, be implemented m a procesig device, such as the svsen 100 of Fig. mplementMg user inweface software and/or 25 har dw are auch as the example itmpleientattons described vida aspect to Fis. 2, and 6. tage 5802 receives a skeleton of the diet For example, the system 10 implementmg any one of the UT enges descnbed n Fs 2 5 and A cn recenie a selection. e g., a mouse cl of the divet 102 of Fi 19A, Stage 5804 genera a contextual menu proximate to the ursuahization objet in 30 reponse to receding the selection diet. For example, the ytem 100, implementing at one of the ti engimes des ibed n Figs 2 5 and 6, can senate the conextual menu 1910 of Fg 19 B. The appaatus methodsfo diagram and stcre block diagram described in this patent document may be implemented in computer pressing systems including 50 program code comprisng program instructions that are executable by the computer pr ceasing system. Other implementations may also be used. Additionally, the flow diagranms and sicture block diauams described in ths patent document, which describe particular methods and/or corresponding acts in support of steps and corresponding functions S .in support of disclosed structural means, muay also be utilized to implement corresponding software structures and Aghrihm and equivalents thereof This written desrpton sets forth the best mode of the invention and provides examples to describe th inmttin and to enable a person of ordinary skil in the art to make and Use th invention. This written descrition does not limit the invention to the precise ems set forth. Thus, while the invention has heen described in detail with reference to the examples set forth above, those of ordinary skill in the art maty effect alterations, nodifications and variations to the examples without departing from the scope of the nvention,
SI

Claims (8)

  1. 4. The method of caiam 1, wherein transitioning the visual representation from the first surface to the second surface includes: decreasing a size of the fis portion of the visual representation displayed on the first surface;and 30 increasing a size of the second portion of the visual representation displayed on the second surface while maintaining the angle that corresponds to the angle between the first surface and the second surfhe.
  2. 5. -The method of claim L wherein: the visual representation includes at least one of a window or an icon.
  3. 6. The method of claim I, wherein the transitioning includes sidg the visual representation across while maintaining the angle that correspoids to the angle between the first surface and the second surface. 7 Anon-transitory computer readable medium storing instructions that are executable by a processing device, and upon such execution cause the processing device to perform operations comprising: causing to be displayed a three-dimensionaluser interface the three-dimensional user interface including a first surface and a second urface that intersect to form contours that define the three dimensions of the user interface; causing to be displayed a visual representation of an object to be displayed entirely on the first surface; receiving an input to move the visual representation from the frst surface tothe second surface, the input inciudine a selection inutt on a stack. item that corresponds to the visual representation and tansuiloing the xisualrepresentation from being entirelyon the first surface to being entirely on the second surface in response to the selection input on the stack iten here during the transitioning, the visual representation conforms to the contours formed by the first surface 0 and the second surface. & The computer readable medium of claim 7 wheNrin the first surface is a back surface of the three dimensional display; and the second surface is a side surface of the three diniensional display. 9, The computer readable medium of clim 7, wherein: 25 the visual representation includes at least one of a window or an icon, 10, ihe computer readable medium oflaim 7. wherein transitioning the visual representation from the first surface to the second surface includes: decreasing a size of a first portion of the visual representation the first portion being displayed on the first surface and A increasing a size of a second portion of the visual representation the second portion being displayed ondhe scondsurface hile maintaining an angle between the first portion and the second portion, the angle mating the Contours formed by the first surface anl the second surface. 1]. A systemncnprising: a storage device to store instruction and one r more processing devices conihgured to execute theinstructions and perform operations comprising: causing to be displayed a three-dnmensional user interface, the three-dimensional user interface including a first surface and a second surface that intersect to form contours that define the three dimensions of the useinterface CaU g a visual representation of an object to be displayed entirely on the first surface; receiving an input to nove the visual representation from the first surface to the. second surface, the input including a selection input on a stack item that corresponds to the visual representatio; and 5 transiioning the visual representation from being entirdy on the first surface to being entirely on the second surface in responseto the selection inpm on te stack item wherein during the transtioning, the visual representation conform o the contours forced by the first surface arid thesecond surface.
  4. 12. The system of claim 11, Wherein 0 the frst surface is a back surface of the three-dimensional user interface: and the second surface is a side surffae of the three-dinensional user interface.
  5. 13. ihe system of claim wherein the side surface extends fim the back surface to a viewing surface to defne the three-dimensionalaspect of the user interface
  6. 14. The system of claim 11 wherein transitioning the visual representation from the first 25 surface to the send surface includes: decreasing asize of a first portion of thevisa representation, the list portion being displayed on the first surface; and increasing a size of a second portion ofthe visual representation the second portion being displayed on the second surface, while maintaining an angle between the first portion and the 30 second ponL the angle matching the contours formed by the first suace and the second surface.
  7. 15. The system of claim I Iwherein: the visual representation includes at least one of a window or an icon 16 A compmer-impementedanthod comprisiig: causing to be displayed a three-dimensional user interface the three-dimensional user interface including a first surface and a second surfiee that intersect to form contours that define the three dimensions of the user interface causinga visal representation of an object to be displayed entirely on the first surface; rceiving an input to move the visual representation from the irst surface to the second surface the input including a selection input on a stack item that coremsponds to the visual representation and transitioning the vi sual representation fromf being entirely on the frst surtbee to being entirely on the second surface in response to the selection input on the stack iten wherein during the transitioning the isual representation confomis to the contours for-med by the first surlae and the second surface, 5 17 The method cf claim 1. wherein transitioning the visual representaton from the first surface to the second surface includes slidiig the visual representation long the first sudhee and the second surface.
  8. 18. The method of claim 7. wherein slding the Visual representation along both the first suffae and the second surfAce comprises.: 0 decreasing a size of a Irst portion of the visual reprsematon the first portion being displayed on the irst surface; and increasing size of a second portion ofthe isual representation, the second portion being displayed on the second surface, while maiainining an angle between the first portion and the second portion. the ange matching the comours formed by the first srfAce and the second 25 surface, 55
AU2013206444A 2007-06-08 2013-06-20 Object stack Ceased AU2013206444B2 (en)

Priority Applications (6)

Application Number Priority Date Filing Date Title
AU2013206444A AU2013206444B2 (en) 2007-06-08 2013-06-20 Object stack
AU2015255314A AU2015255314A1 (en) 2007-06-08 2015-11-13 Object stack
AU2017213495A AU2017213495A1 (en) 2007-06-08 2017-08-09 Object stack
AU2019210573A AU2019210573B2 (en) 2007-06-08 2019-07-31 Object stack
AU2021218062A AU2021218062B2 (en) 2007-06-08 2021-08-18 Object stack
AU2023201453A AU2023201453A1 (en) 2007-06-08 2023-03-08 Object stack

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/760,695 2007-06-08
AU2008262075A AU2008262075B2 (en) 2007-06-08 2008-05-30 Object stack
AU2013206444A AU2013206444B2 (en) 2007-06-08 2013-06-20 Object stack

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
AU2008262075A Division AU2008262075B2 (en) 2007-06-08 2008-05-30 Object stack

Related Child Applications (1)

Application Number Title Priority Date Filing Date
AU2015255314A Division AU2015255314A1 (en) 2007-06-08 2015-11-13 Object stack

Publications (2)

Publication Number Publication Date
AU2013206444A1 AU2013206444A1 (en) 2013-07-11
AU2013206444B2 true AU2013206444B2 (en) 2015-08-13

Family

ID=48747825

Family Applications (2)

Application Number Title Priority Date Filing Date
AU2013206444A Ceased AU2013206444B2 (en) 2007-06-08 2013-06-20 Object stack
AU2023201453A Pending AU2023201453A1 (en) 2007-06-08 2023-03-08 Object stack

Family Applications After (1)

Application Number Title Priority Date Filing Date
AU2023201453A Pending AU2023201453A1 (en) 2007-06-08 2023-03-08 Object stack

Country Status (1)

Country Link
AU (2) AU2013206444B2 (en)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673377A (en) * 1994-09-02 1997-09-30 Ray Dream, Inc. Method and system for displaying a representation of a three-dimensional object with surface features that conform to the surface of the three-dimensional object
US5880733A (en) * 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US6590593B1 (en) * 1999-04-06 2003-07-08 Microsoft Corporation Method and apparatus for handling dismissed dialogue boxes

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5673377A (en) * 1994-09-02 1997-09-30 Ray Dream, Inc. Method and system for displaying a representation of a three-dimensional object with surface features that conform to the surface of the three-dimensional object
US5880733A (en) * 1996-04-30 1999-03-09 Microsoft Corporation Display system and method for displaying windows of an operating system to provide a three-dimensional workspace for a computer system
US6590593B1 (en) * 1999-04-06 2003-07-08 Microsoft Corporation Method and apparatus for handling dismissed dialogue boxes

Also Published As

Publication number Publication date
AU2023201453A1 (en) 2023-04-13
AU2013206444A1 (en) 2013-07-11

Similar Documents

Publication Publication Date Title
US20230205406A1 (en) Visual Object Receptacle
US8745535B2 (en) Multi-dimensional desktop
US8473859B2 (en) Visualization and interaction models
US8667418B2 (en) Object stack
US8381122B2 (en) Multi-dimensional application environment
US20080307330A1 (en) Visualization object divet
US11681435B2 (en) Focus management system
CA2507405C (en) Graphical user interface for 3-dimensional view of a data collection based on an attribute of the data
US10719220B2 (en) Dynamic scrolling
Chapuis et al. Smarties: An input system for wall display development
US20090307623A1 (en) System for organizing and visualizing display objects
AU2013206444B2 (en) Object stack
AU2021218062B2 (en) Object stack
US20090204912A1 (en) Geneeral purpose infinite display canvas
Talbert et al. User's manual for the upper Delaware River riverine environmental flow decision support system (REFDSS), Version 1.1. 2
JP2015075781A (en) File display apparatus and program
Hußmann Informed Browsing of Digital Image Collections

Legal Events

Date Code Title Description
FGA Letters patent sealed or granted (standard patent)
MK14 Patent ceased section 143(a) (annual fees not paid) or expired