`US 20060107229A1
`
`119) United States
`112) Patent Application Publication
`Matthews et al.
`
`110) Pub. No. : US 2006/0107229 A1
`May 18, 2006
`(4~) Pub. Date:
`
`154) WORK AREA TRANSFORM IN A
`GRAPHICAL USER INTERFACE
`
`175)
`
`Inventors: David A. Matthews, Seattle, WA (US);
`Charles W. Stabb, Seattle, WA (US);
`Kanwal Vedbrat, Seattle, WA (US);
`Mark R. Ligameri, Snohomish, WA
`1US)
`
`Correspondence Address:
`BANNER!S: WITCOFF LTD. ,
`ATTORNEYS FOR MICROSOFT
`1001 G STREET, N. W.
`Suite 1100
`WASHINGTON, DC 20001-4597 (US)
`
`173) Assignee: Microsoft Corporation, Redmond, WA
`
`121) Appl. No. :
`
`10/9S6, 950
`
`122) Filed:
`
`Nov. 15, 2004
`
`Publication ClassiTication
`
`151) Int. Cl.
`GO6F
`17/OO
`152) U. S. Cl.
`
`12006. 01)
`
`. 715/7S2
`
`157)
`
`ABSTRACT
`
`for transforming
`A method and apparatus
`a work area and
`in a graphical user
`component
`an information
`displaying
`is provided. The graphical user interface utilizes a
`interface
`to move a presently dis-
`three-dimensional
`transformation
`played work area, for example a desktop with open win-
`dows, revealing a background presentation area behind it. In
`the portion of the presentation area revealed, an information
`is displayed. Use of the
`such as a Start Menu,
`component,
`three-dimensional
`eA'ectively decouples an
`transformation
`it hosts. The trans-
`operating system from the applications
`the
`formation
`further prevents visual clutter by separating
`component
`from
`information
`the previously
`underlying
`desktop.
`
`APPLE 1008
`
`1
`
`
`
`Patent Application Publication May 18, 2006 Sheet 1 of 10
`
`US 2006/0107229 A1
`
`CO
`
`CL
`UJ
`
`Q
`
`Q & 0
`O m 0 5
`
`«go
`I— Q ~ LL
`0 CL»
`
`UJ
`CL
`
`0 LU
`I— — &C ) O
`O
`
`&C
`
`cn
`CQ
`
`IX
`UJ
`I—
`(3
`O
`
`CL 0 I—
`0
`
`~o
`0 ™w
`LU I™
`Z Z:
`
`I— &o
`CL Z
`
`Q
`
`UJ
`C/3 Z
`
`CY
`
`LU 0 ~o
`CQ LU )
`UJ I—
`CC: Z—
`0
`
`UJ 0
`I — I— 0 & ~ O
`
`LIJ
`CL Q
`CL
`
`CL'
`
`I — I— 0 D ~ CL
`Cr: 0 O
`
`UJ
`
`CL 0
`UJ O
`
`O 0
`
`I
`
`I -(oui
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`/
`
`(3 z
`O 0
`
`CO
`C/3
`LU Z'.
`
`CL
`
`C)
`CV
`
`J
`
`I
`
`I
`
`~ 0
`)UJO
`0~&
`
`Z Z 00
`Z Z
`
`I
`
`LU
`
`CL I 0 I
`I 0
`I — I ~ I
`
`UJ I
`
`CD I
`
`I
`
`(3
`Z.
`I — LIJ
`
`Q CO 0
`
`I g
`
`I
`
`I
`
`I
`
`I
`
`I pV& I~
`
`0 cfl
`Z:
`I—
`O g 0
`
`CL CL
`CL
`
`O
`
`CO 05
`CL O
`CL 0
`IJJ
`I— 0
`
`/
`
`/
`
`/
`
`/
`
`b=
`
`I
`
`I
`
`I
`
`/
`
`I
`
`p
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`LLI
`
`(g CO 0 ~~
`CL ~
`CL O
`Q 0
`I— 0
`V3 Z
`I —
`g O (g
`-J 0
`
`CL
`CL
`&C
`
`(3 Z
`I — LU
`
`CL CO 0
`
`2
`
`
`
`Patent Application Publication May 18, 2006 Sheet 2 of 10
`
`US 2006/0107229 A1
`
`191
`
`Application
`Software
`
`190
`
`Compositing Desktop Window Manager
`(CDWM)
`
`190a
`
`190b
`
`Application
`Programming
`Interface
`
`Subsystem
`Programming
`Interface
`
`190c
`
`Ul Object
`Mana er
`
`Universal Compositing Engine (UCE)
`
`192
`
`Legacy Graphical User
`Interface Subsystem
`
`Legacy Window
`Manager
`
`Legacy Graphics
`Device Interface
`
`193
`
`Theme Manager
`
`Programming
`Interface
`
`194c
`
`194
`
`Resource
`Manager
`
`"
`
`194d
`
`Request
`Queue
`
`Rendering
`Module
`
`3D Graphics Interface
`(Direct3D, OpenGL, etc)
`
`195
`
`Video Driver
`Device Object
`
`Video Driver
`Device Object
`
`197
`
`197
`
`Display Device
`
`Display Device
`
`FIG. 1B
`
`3
`
`
`
`Patent Application Publication May 18, 2006 Sheet 3 of 10
`
`US 2006/0107229 A1
`
`201
`
`202
`
`ttrdp: ': '
`
`' ~ "' '
`''
`" "
`Fdc Eot Tran F~ 'took
`ok . ~gd Pj Q I ~QSersch QFwscrkas QMcrrra Q jL) +g IttI
`Sack
`rsddrcss +J htto. rr/rrow. ocrccatt. corn
`kinks QMPYahoo! @Goaspe QPto. @Fpoctbrd'r, ;@Eothtnkwebeel,
`
`thoro g
`
`r trsOo,
`':"
`, @8loctncs. '@satlehonaDie1er Qswtnoanat @wabepe@wcbEreril
`
`'
`
`-
`
`-
`
`~D+x
`. gg
`
`t
`
`j i
`
`~
`
`~
`
`I: ~
`
`search sr'oosotccorn fo r
`
`I
`
`Protect your PC
`Install Windctvrs XFs
`Service Pack rr tedav,
`
`Produce Families
`Windows
`OHica
`Servers
`Deoolopar Tools
`Business Sotudons
`Games Cr xbos
`
`, Windorrs Updam
`
`fg r r'NFw Otrrro 0 ccunrcnt
`VQ. ;, Open Otdce Documwit
`
`Seuinps
`
`. Search, , r, ,
`. ;, . „' .
`jP ' Ik, r r
`
`dt
`
`~
`
`Frt r~rn
`
`' ''::. :TI@ '
`Cg=trccerootro
`, QLMIcrosctt Otsca
`
`,
`
`'
`
`&, :rdttr
`
`lnlciriet ErrptwcI
`
`'
`
`3 I
`
`Q. . Adobe 8eodw E. e, ue, , y, „
`II. Microsck Excelrr" '': " '
`- ItPI= Mlclosck Otdce Veb 20fO
`' g M'coerce Dodock
`',
`-te"' "' "':-:r —: rr-:':::-: r:. . . , —:::::::-::, :::~c::::::::.
`, C3
`
`e
`
`'
`
`~
`
`~
`
`r
`
`~
`
`~
`
`~ ~
`
`: ~
`:-::. -:: —;::.
`:I;-:;fidt-, —::i~e. -:::-::-;::.
`
`204
`
`206
`
`205
`
`r
`
`203
`
`Ig~~q jI;s~sb
`
`ecapM
`
`it,
`
`FIG. 2
`(PRIOR ART)
`
`4
`
`
`
`Patent Application Publication May 18, 2006 Sheet 4 of 10
`
`US 2006/0107229 A1
`
`ea 1
`
`. 2
`
`:4 . ~
`
`= *
`
`I
`
`@8@&5Q RKÃ 9
`. =@N4i="ala3
`8 M B» 8 Q RA Q % Q H
`~«@ R@l Q G PC VS PC ig
`Rsmf6QQ 4, CARI 4.
`
`FIG. 3A
`
`305
`
`307
`
`303
`
`301
`
`Q Lorem IPsum
`Q Lorem IPsum
`Q Lorem Ipsum
`Q Lorsm IPsum
`
`Q, „, Ip«
`
`Q L. Ip«
`Q Lorem Ipsum
`
`Q Lorem Ip™
`
`306
`
`Larem Ipsum
`
`IpsUm
`
`Q
`Q Lorem Ipsum
`Q Lorem IPsum
`Q Lorem IPsum
`Q Lore m
`Q Lorem
`Q Larem
`Q Lorsm Ipsum
`Q Lorem IPsum
`Q Larsm IPsum
`
`Ipsum
`
`IpsUm
`
`304
`
`302
`
`5
`
`
`
`Patent Application Publication May 18, 2006 Sheet 5 of 10
`
`US 2006/0107229 A1
`
`401
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I 411
`
`I
`
`404
`
`406
`
`405
`
`403
`
`FIG. 4A
`
`407
`
`402
`
`403
`
`4A
`
`403
`
`402
`
`404
`
`406
`
`405
`
`411
`
`4A
`
`407
`
`X
`
`408
`
`FIG. 4B
`
`409
`
`6
`
`
`
`Patent Application Publication May 18, 2006 Sheet 6 of 10
`
`US 2006/0107229 A1
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`510
`
`401
`
`411'
`
`404
`
`406
`
`512
`
`405
`
`FIG. 5A
`
`5A
`
`405
`
`404
`406
`512
`~ UÃIEMIPSIRI
`~ LCREM IPSLRI
`~ LQREM IPSUM
`~ U3RE
`~ LORMI IPSUM
`~ UM EM I PERM
`~ UPI EM IP5 I M
`' ~ UNMI I SERI
`
`IPSUM
`
`411
`
`407
`
`5A
`
`X
`
`7
`
`
`
`Patent Application Publication May 18, 2006 Sheet 7 of 10
`
`US 2006/0107229 A1
`
`404
`
`406
`
`401
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`512 613
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`I
`
`405
`
`FIG. 6A
`
`X
`
`6A
`
`411
`
`6A
`
`407
`
`512 613
`
`~ LOREMIPSW
`~ IOREM IPSIRI
`~ LOREM IPSISI
`~ MMEM ~ SW
`~ L0 RE I I I Ps LSI
`~ LEPER I MM
`~ LOS EM IPS 1st
`~ losor Msw
`~ LO REM IP SUM
`~ uaer PSW
`~ IOREM IPSLM ~ LINEMIPSIMI
`~ LOIE I SI ~ I ~ LOREMIPSLM
`~ LOREMIPSOM ~ LOREMIPSIAI
`~ EORMS IPSw ~ IOREM IPMM
`
`405
`
`404
`
`406
`
`8
`
`
`
`Patent Application Publication May 18, 2006 Sheet 8 of 10
`
`US 2006/0107229 A1
`
`401
`
`704
`
`706a
`
`706b
`
`712
`
`405
`
`FIG. 7A
`
`z
`
`I
`
`I
`
`I
`
`I
`
`X
`
`7A
`
`711
`
`7A
`
`712
`
`psl
`
`IPSI
`
`~ loaaa Iasw
`~ LOSER SULU
`~ laaE
`~ LcaE
`~ LCREM IPSlal
`~ IOREM IPSIN
`~ MMW IPSW
`~ LOR EM IPS IN
`~ LCRDI IPSUI
`~ «MEM Iaaw
`~ LIMEMIPSlal ~ LOREM IPSIN
`~ LIMELI IPSIN ~ LCRIEM IPSlal
`~ LCREMIPMN ~ LOREM IPSUI
`~ LCREM IPSUP ~ LOREM IPSIN
`
`405
`
`704
`
`706a 706b
`
`9
`
`
`
`Patent Application Publication May 18, 2006 Sheet 9 of 10
`
`US 2006/0107229 A1
`
`801
`
`901
`
`804
`
`SET TIME
`g:24:18
`
`805
`S~8
`
`802
`
`FIG. 8
`
`803
`
`~ LOREIIII II ~
`~ LOREM IPSUM
`
`LOREM IPSUM
`
`~ LOREM IPSUM
`~ LOREM IPSUM
`
`lL=
`
`904
`
`903
`
`902
`
`FIG. 9
`
`10
`
`
`
`Patent Application Publication May 18, 2006 Sheet 10 of 10
`
`US 2006/0107229 A1
`
`1001
`
`1002
`
`1003
`
`1004
`
`1005
`
`FIG. 10
`
`1007
`
`DISPLAY NEW
`WORK AREA
`
`START
`
`INFORMATION
`COMPONENT
`TRIGGERED
`
`TRANSFORM
`PRESENTLY DISPLAYED
`WORK AREA
`
`REVEAL PORTION OF
`PRESENTATION AREA
`
`DISPLAY INFORMATION
`COMPONENT
`IN PORTION REVEALED
`
`USER DIRECTS NEXT
`COURSE OF ACTION
`
`1006
`
`NEW
`WORK AREA
`REQ'D?
`
`END
`
`1008
`
`RETURN
`WORK AREA
`TO FOREFRONT
`
`11
`
`
`
`US 2006/0107229 A1
`
`May 18, 2006
`
`WORK AREA TRANSFORM IN A GRAPHICAL
`USER INTERFACE
`
`FIELD OF THE INVENTION
`
`[0001] The invention
`to computer oper-
`relates generally
`ating systems. More specifically,
`the invention provides a
`a work area (e. g. , desktop) of a
`method for transforming
`three-dimensional
`in a virtual
`graphical operating
`system
`space to view an information
`in the revealed
`component
`presentation area.
`
`BACKGROUND OF THE INVENTION
`
`[0002] Computer operating systems have evolved signifi-
`cantly in recent years. Typically,
`these systems have a shell
`that provides a graphical user interface (GUI) to an end-user.
`The shell consists of one or a combination of software
`that provide direct communication between the
`components
`user and
`the operating
`in
`system. Speed
`improvements
`computer hardware, e. g. , memory, hard drives, processors,
`graphics cards, system buses, and the like, have enabled
`richer GUIs that are drastically easier for users to compre-
`hend. Accompanying hardware price reductions have made
`computer systems more afl'ordable, enabling broad adoption
`of computers as productivity
`tools and multimedia
`systems.
`GUIs have allowed users who may have been unschooled or
`to quickly and intuitively grasp
`unfamiliar with computers
`the meaning of desktops,
`icons, windows, and applications,
`and how the user can interact with each.
`in FIG. 2 has become the
`[0003] The desktop
`illustrated
`standard graphical metaphor for modern GUIs. The interface
`is designed to model the real world activity of working at a
`desk. The desktop typically occupies the entire surface of a
`single display device, or may span multiple display devices,
`and hosts subordinate user interface objects such as icons,
`menus, cursors and windows. The desktop serves as a base
`work area, where multiple documents and applications can
`sit open. To draw this virtual work area, the operating system
`layering of windows and
`three-dimensional
`uses a simulated
`desktop drawn in a two dimensional graphical space, some-
`as Z-ordering. The term
`to this
`times referring
`layering
`Z-order is derived from three dimensional
`(3D) geometry,
`where the horizontal axis is typically known as the X-axis,
`the vertical axis is the Y-axis, and the Z axis sits perpen-
`dicular to the plane formed by the X and Y axes. Hence, the
`to that window's
`Z-order value for each window
`refers
`to the desktop.
`relative position along an axis perpendicular
`is used to draw the two dimensional
`Ultimately, Z-ordering
`display, by determining which object is on top when
`two
`objects overlap. The operating system shell draws the object
`with the higher Z-order value, and subsequently
`the
`draws
`area of the second object not covered by the first object.
`is nominally derived from 3D geom-
`Although Z-ordering
`etry, the method only minimally exploits in two dimensions
`the capabilities
`in having a true third Z dimension.
`inherent
`
`[0004] To some extent, this two-dimensional
`shortcoming
`has been driven by the video hardware available
`in personal
`in mid- and lower-end
`computers. In the past, advancements
`computer video hardware have been driven in large part by
`services available
`sys-
`the graphical
`in popular operating
`tems. However,
`in these
`services available
`the graphical
`for a variety of
`systems have not significantly
`advanced
`the need to maintain compatibility with
`reasons,
`including
`
`older application software and the limited capabilities of the
`aflordable range of video hardware. More recently, however,
`real-time 3D computer games have overtaken operating
`systems as the primary market incentive for advancing retail
`in a short
`video hardware, which has
`time attained
`an
`level of sophistication. Real time, hardware-
`exceptional
`based 3D acceleration
`to consumers
`is now available
`at
`cost. Thus, graphics hardware
`features once
`reasonable
`considered highly advanced, such as accelerated texture and
`lighting algorithms as well as 3D transformations
`are readily
`available. At present, generally only game software and
`specialized graphics
`actively exploit
`applications
`highly
`such features.
`
`[0005] An operating system, such as Microsoft Windows
`XP brand or Windows 2000 brand operating
`systems,
`for launching
`will typically comprise a graphical method
`new software applications within its GUI. FIG. 2 illustrates
`a well-known example of how this may be accomplished
`in
`the Windows 2000 operating
`system. The screenshot 200
`displays desktop 201, bordered on one side by taskbar 203,
`and featuring open window 202. When a user desires
`to
`the user moves a pointer (also
`launch a new application,
`known as a cursor) controlled by a mouse and clicks on the
`appropriate menu item in the Start Menu 204, which is itself
`first invoked by clicking on the Start button 205. The Start
`button 205 is generally
`located in a fixed location on the
`taskbar 204. A user may adjust the location of the taskbar
`the Start button 205 becomes a
`203, but once in place,
`constant and familiar starting point for the user to launch
`new applications.
`
`[0006] When a user clicks on the Start button 205 in FIG.
`2, the Start Menu 204 appears as a floating
`list on top (ke. ,
`has a higher Z-order value) of the currently open window
`submenu 206 of the Start
`202 and desktop 201. A subsequent
`Menu 204, here triggered when the user clicks on or hovers
`over the "Programs" list item, appears on top of and to the
`right of the original Start Menu
`to show more
`in order
`choices. Only when
`the user finally clicks on the desired
`in the Start Menu 204 or submenu 206 do the
`application
`the user
`In the meantime,
`Menu and submenus disappear.
`may be confused by the flat and overlapping menus and
`together create a crowded stack of infor-
`windows which
`mation. In addition, any content under the Start Menu 204
`and submenu(s) 206 is completely hidden
`from the user,
`preventing viewing of and interaction with obscured con-
`tent.
`
`[0007] Using a broader perspective, a program
`launching
`menu, like the Start Menu, occupying the same work area as
`a user's
`the software
`inhibits
`applications
`fundamental
`understanding of the operating system. Manipulating
`appli-
`therein can be viewed as
`cation windows and the content
`tasks within and under the auspices of the operating system.
`For these tasks (e. g. editing a document or clicking on a link
`system can be viewed as
`in a web page)
`the operating
`the user and the appli-
`arbitrating communication between
`cation, displaying application output for the user, and pass-
`ing user input to the application. Using this same perspec-
`can be viewed as a
`a new application
`tive,
`launching
`meta-task, or as making a direct request of the operating
`system which operates outside the normal user-input-appli-
`cation-output model. That being the case, a program
`launch-
`ing menu which occupies an existing work area inhabited by
`
`12
`
`
`
`US 2006/0107229 A1
`
`May 18, 2006
`
`other windows and icons has the potential
`user, both visually and conceptually.
`
`to confuse an end
`
`[000S] Thus,
`it would be an advancement
`in the art to
`provide for viewing a program
`in a way
`launching menu
`which does not clutter a work area such as a desktop, and
`also conceptually decouples
`the operating system from the
`it hosts.
`applications
`
`BRIEF SUMMARY OF THE INVENTION
`[0009] The following presents a simplified summary of the
`in order to provide a basic understanding of some
`invention
`aspects of the invention. The summary
`is not an extensive
`overview of the invention.
`to identify key
`It is not intended
`or critical elements of the invention or to delineate the scope
`of the invention. The following
`summary merely presents
`some concepts of the invention
`form as a
`in a simplified
`to the more detailed description below.
`prelude
`[0010] A first embodiment of the invention provides a
`to a user through a three-
`for displaying
`content
`method
`graphical user interface on a computer. The
`dimensional
`a presently displayed work
`method comprises
`transforming
`area, which includes desktops, windows, and the like. The
`trans formation can involve rotating the work area away from
`a portion of a presentation
`the user and revealing
`area
`situated behind the work area. Finally, an information com-
`in the visible
`is displayed
`ponent, such as a Start Menu,
`portion of the presentation area.
`[0011] A second embodiment of the invention provides a
`computer system comprising a pointing device, a processor,
`a display, and a memory,
`the memory
`storing computer
`instruc-
`executable
`instructions. The computer executable
`three-
`for a graphical user
`interface using
`tions provide
`dimensional graphics. In addition,
`the computer executable
`instructions provide for transforming
`a presently displayed
`work area, and displaying an information component
`in the
`portion of the presentation
`the work
`area revealed behind
`area.
`
`BRIEF DESCRIPTION OF THE DRAWINGS
`of the present
`[0012] A more complete understanding
`thereof may be acquired by
`invention and the advantages
`in consideration of the
`referring to the following description
`like reference numbers
`in which
`drawings,
`accompanying
`indicate like features, and wherein:
`[0013] FIG. 1A illustrates an operating environment
`that
`may be used for one or more aspects of an illustrative
`embodiment of the invention.
`[0014] FIG. 1B illustrates a distribution of functions and
`that may be used for one or
`services among components
`more aspects of an illustrative embodiment of the invention.
`[0015] FIG. 2 is a screenshot depicting a prior art example
`of a program
`in a computer operating
`launching menu
`system graphical user interface.
`[0016] FIG. 3A is a screenshot depicting an illustrative
`embodiment of the invention.
`[0017] FIG. 3B illustrates
`in FIG. 3A.
`screenshot
`[001S] FIG. 4A illustrates a top view of a virtual presen-
`embodiment of
`tation area prior to utilizing an illustrative
`the invention.
`
`a wire frame version of the
`
`[0019] FIG. 4B illustrates
`a frontal view of the virtual
`presentation area of FIG. 4A as viewed by a user.
`[0020] FIG. 5A illustrates a top view of a virtual presen-
`tation area showing an illustrative embodiment of the inven-
`tion.
`
`[0021] FIG. 5B illustrates
`a frontal view of the virtual
`presentation area of FIG. 5A as viewed by a user.
`[0022] FIG. 6A illustrates a top view of a virtual presen-
`tation area showing an illustrative embodiment of the inven-
`tion.
`[0023] FIG. 6B illustrates
`a frontal view of the virtual
`presentation area of FIG. 6A as viewed by a user.
`[0024] FIG. 7A illustrates a top view of a virtual presen-
`tation area showing an illustrative embodiment of the inven-
`tion.
`[0025] FIG. 7B illustrates
`a frontal view of the virtual
`presentation area of FIG. 6A as viewed by a user.
`[0026] FIG. S illustrates a portion of a frontal view of an
`illustrative embodiment of the invention.
`[0027] FIG. 9 illustrates a portion of a frontal view of an
`illustrative embodiment of the invention.
`[002S] FIG. 10 illustrates
`for displaying
`a method
`an
`in a graphical user interface accord-
`information component
`ing to an illustrative aspect of the invention.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`In the following description of the various embodi-
`[0029]
`is made to the accompanying
`ments, reference
`drawings,
`which form a part hereof, and in which is shown by way of
`in which
`the
`various embodiments
`illustration
`invention
`may be practiced. It is to be understood
`that other embodi-
`ments may be utilized and structural and functional modi-
`fications may be made without departing
`from the scope and
`spirit of the present
`invention.
`
`[0030]
`Illustrative Operating Environment
`[0031] FIG. 1 illustrates an example of a suitable com-
`puting system environment 100 in which the invention may
`system environment 100 is
`be implemented. The computing
`only one example of a suitable computing environment
`and
`to suggest any limitation as to the scope of
`is not intended
`use or functionality of the invention. Neither
`the
`should
`environment 100 be interpreted
`as having any
`computing
`dependency or requirement
`relating to any one or combina-
`tion of components
`in the exemplary operating
`illustrated
`environment 100.
`
`[0032] The invention
`is operational with numerous other
`general purpose or special purpose computing
`system envi-
`ronments or configurations. Examples of well known com-
`configurations
`that
`environments,
`systems,
`and/or
`puting
`may be suitable for use with the invention
`include, but are
`server computers; por-
`not limited
`to, personal computers;
`table and hand-held devices such as personal digital assis-
`tablet PCs or laptop PCs; multiprocessor
`tants
`(PDAs),
`systems; microprocessor-based
`systems; set top boxes; pro-
`consumer electronics; network PCs; minicom-
`grammable
`
`13
`
`
`
`US 2006/0107229 A1
`
`May 18, 2006
`
`3
`
`computing envi-
`puters; mainframe computers; distributed
`that include any of the above systems or devices;
`ronments
`and the like.
`
`[0033] The invention may be described
`in the general
`context of computer-executable
`such as pro-
`instructions,
`gram modules, being executed by a computer. Generally,
`include routines, programs, objects, com-
`program modules
`ponents, data structures, etc. that perform particular
`tasks or
`implement particular abstract data types. The invention may
`also be practiced
`in distributed
`environments
`computing
`where tasks are performed by remote processing devices that
`network. In a distrib-
`are linked through a communications
`program modules may be
`uted computing
`environment,
`located
`in both local and remote computer storage media
`including memory storage devices.
`[0034] With reference to FIG. 1, an illustrative
`system for
`a general purpose
`the
`includes
`invention
`implementing
`computing device in the form of a computer 110. Compo-
`nents of computer 110 may include, but are not limited to,
`a processing unit 120, a system memory 130, and a system
`bus 121 that couples various system components
`including
`to the processing unit 120. The system
`the system memory
`types of bus structures
`bus 121 may be any of several
`including a memory bus or memory controller, a peripheral
`bus, and a local bus using any of a variety of bus architec-
`tures. By way of example, and not limitation,
`such archi-
`include Industry Standard Architecture
`tectures
`(ISA) bus,
`ISA
`Micro Channel Architecture
`(MCA) bus, Enhanced
`(EISA) bus, Video Electronics
`Standards Association
`(VESA) local bus, Advanced Graphics Port (AGP) bus, and
`Peripheral Component Interconnect (PCI) bus also known as
`Mezzanine bus.
`
`includes a variety of com-
`[0035] Computer 110 typically
`puter readable media. Computer readable media can be any
`available media that can be accessed by computer 110 and
`includes both volatile and nonvolatile media, removable and
`non-removable media. By way of example, and not limita-
`readable media may comprise computer
`tion, computer
`storage media and communication media. Computer storage
`includes volatile and nonvolatile,
`removable
`media
`and
`in any method or tech-
`non-removable media implemented
`nology for storage of information such as computer readable
`instructions, data structures, program modules or other data.
`storage media
`is not limited
`includes, but
`to,
`Computer
`RAM, ROM, EEPROM, flash memory or other memory
`technology, CD-ROM, DVD or other optical disk storage,
`tape, magnetic disk storage or
`magnetic cassettes, magnetic
`other magnetic storage devices, or any other medium which
`can be used to store the desired information and which can
`accessed by computer 110. Communication media typically
`readable
`embodies computer
`instructions,
`data structures,
`program modules or other data in a modulated data signal
`such as a carrier wave or other transport mechanism
`and
`includes any information delivery media. The term "modu-
`lated data signal" means a signal that has one or more of its
`characteristics set or changed in such a manner as to encode
`in the signal. By way of example, and not
`information
`limitation, communication media includes wired media such
`as a wired network or direct-wired connection, and wireless
`media such as acoustic, RF, infrared and other wireless
`media. Combinations of the any of the above should also be
`the scope of computer readable media.
`included within
`
`[0036] The system memory 130 includes computer stor-
`age media in the form of volatile and/or nonvolatile memory
`such as read only memory (ROM) 131 and random access
`(RAM) 132. A basic
`system 133
`memory
`input/output
`(BIOS), containing
`the basic routines
`that help to transfer
`information between elements within computer 110, such as
`is typically stored in ROM 131. RAM 132
`during start-up,
`that are
`typically contains data and/or program modules
`accessible to and/or presently being operated
`immediately
`on by processing unit 120. By way of example, and not
`limitation, FIG. 1 illustrates operating system 134, applica-
`tion programs 135, other program modules 136, and pro-
`gram data 137.
`
`[0037] The computer 110 may also include other remov-
`able/non-removable,
`volatile/nonvolatile
`storage
`computer
`media. By way of example only, FIG. 1 illustrates a hard
`disk drive 141 that reads from or writes to non-removable,
`nonvolatile magnetic media, a magnetic disk drive 151 that
`reads from or writes to a removable, nonvolatile magnetic
`disk 152, and an optical disk drive 155 that reads from or
`writes to a removable, nonvolatile optical disk 156 such as
`a CD ROM or other optical media. Other removable/non-
`removable, volatile/nonvolatile
`computer storage media that
`can be used
`the exemplary
`environment
`in
`operating
`tape cassettes, flash
`include, but are not limited to, magnetic
`memory cards, DVD, digital video tape, solid state RAM,
`solid state ROM, and the like. The hard disk drive 141 is
`to the system bus 121 through a non-
`typically connected
`such as interface 140, and
`interface
`removable memory
`magnetic disk drive 151 and optical disk drive 155 are
`to the system bus 121 by a removable
`typically connected
`interface, such as interface 150.
`memory
`
`[003S] The drives and their associated computer storage
`in FIG. 1, provide
`media discussed above and illustrated
`storage of computer
`readable
`instructions, data structures,
`program modules and other data for the computer 110. In
`FIG. 1, for example, hard disk drive 141 is illustrated as
`system 144, application programs 145,
`storing operating
`other program modules 146, and program data 147. Note
`that these components can either be the same as or diflerent
`from operating system 134, application programs 135, other
`program modules 136, and program data 137. Operating
`system 144, application programs 145, other program mod-
`ules 146, and program data 147 are given difl'erent numbers
`to illustrate
`here
`that, at a minimum,
`they are diflerent
`copies. A user may enter commands and information
`into the
`computer 110 through
`input devices such as a keyboard 162
`and pointing device 161, commonly
`referred to as a mouse,
`trackball or touch pad. Other input devices (not shown) may
`include a microphone,
`joystick, game pad, satellite dish,
`scanner, or the like. These and other input devices are often
`to the processing unit 120 through a user input
`connected
`interface 160 that is coupled to the system bus, but may be
`connected by other interface and bus structures,
`such as a
`parallel port, game port, universal serial bus (USB), or IEEE
`1394 serial bus (FireWire). A monitor 1S4 or other type of
`display device is also connected to the system bus 121 via
`an interface, such as a video adapter 1S3. The video adapter
`1S3 may comprise advanced 3D graphics capabilities,
`in
`to its own specialized processor and memory.
`addition
`Computer 110 may also include a digitizer 1S5 to allow a
`input device 1S6. In
`user to provide
`input using a stylus
`to the monitor, computers may also include other
`addition
`
`14
`
`
`
`US 2006/0107229 A1
`
`May 18, 2006
`
`peripheral output devices such as speakers 1S9 and printer
`1SS, which may be connected through an output peripheral
`interface 1S7.
`
`[0039] The computer 110 may operate
`in a networked
`to one or more
`logical connections
`environment
`using
`such as a remote computer 1SO. The
`remote computers,
`remote computer 1SO may be a personal computer, a server,
`a router, a network PC, a peer device or other common
`includes many or all of the
`network node, and typically
`to the computer 110,
`elements described above relative
`storage device 1S1 has been
`only a memory
`although
`in FIG. 1. The logical connections depicted
`in
`illustrated
`FIG. 1 include a local area network (LAN) 171 and a wide
`(WAN) 173, but may also
`include other
`area network
`networks. Such networking environments
`are commonplace
`in offices, enterprise-wide
`computer networks,
`intranets and
`the Internet.
`
`[0040] When used in a LAN networking environment,
`the
`to the LAN 171 through
`computer 110 is connected
`a
`interface or adapter 170. When used
`in a WAN
`network
`the computer 110 may include a
`networking
`environment,
`modem 172 or other means for establishing communications
`over the WAN 173, such as the Internet. The modem 172,
`which may be internal or external, may be connected to the
`system bus 121 via the user input
`interface 160, or other
`In a networked environment,
`pro-
`appropriate mechanism.
`to the computer 110, or
`relative
`gram modules depicted
`thereof, may be stored
`in the remote memory
`portions
`storage device. By way of example, and not limitation, FIG.
`1 illustrates
`remote application programs 1S2 as residing on
`memory device 1S1. It will be appreciated
`that the network
`connections shown are exemplary and other means of estab-
`link between the computers may
`lishing a communications
`be used.
`
`ILLUSTRATIVE EMBODIMENTS
`
`[0041] The
`invention may use a compositing
`desktop
`window manager (CDWM), further described below and in
`co-pending application Ser. No. 10/691, 450, filed Oct. 23,
`2003 and entitled "Compositing Desktop Window Man-
`ager. " The CDWM is used to draw and maintain
`the display
`i. e. , a bottom-to-top
`using a composited desktop model,
`three-dimensional
`in a virtual
`rendering methodology
`to simulated 3D in a two-
`space, as opposed
`graphical
`space. The CDWM may maintain
`dimensional
`graphical
`content in a bufler memory area (for future reference). The
`CDWM composes the display by drawing
`from the bottom
`up, beginning with the presentation area background,
`then a
`desktop background
`and proceeding
`through overlapping
`in reverse Z order. While composing a desktop, the
`windows
`CDWM may draw each window based in part on the content
`in front of which the window
`is being drawn (e. g. , trans-
`parency), and based in part on other environmental
`factors
`(e. g. , light source, reflective properties, etc. ). For example,
`the CDWM may use the alpha channel of an ARGB format
`to a window,
`to provide
`texture
`and may
`transparency
`selectively emphasize portions of window content (e. g. , the
`light source.
`frame) based on a virtual
`
`[0042] The CDWM may rely upon a lower level graphics
`referred
`to herein as a Unified
`compositing
`subsystem,
`Compositing Engine (UCE), further described below and in
`co-pending application serial number (attorney docket num-
`
`ber 50037. 201USOI), filed Oct. 23, 2003, entitled "System
`and Method for a Unified Composition Engine in a Graphics
`Processing System", herein incorporated by reference
`in its
`entirety for all purposes. In one illustrative embodiment
`the
`and DirectX
`UCE is based on or uses Direct3D
`tech-
`nology by Microsoft Corporation of Redmond, Wash. In
`sub-
`other graphics compositing
`embodiments
`alternative
`systems may be used, such as variations of the X Window
`platform based on the OpenGL graphics engine by Silicon
`Graphics, Inc. of Mountain View, Calif. , and the like. The
`UCE enables 3D graphics, animation,
`shad-
`transparency,
`ows, lighting efl'ects, bump mapping, environment mapping,
`and other rich visual features on the desktop.
`[0043] FIG. 1B illustrates
`a component
`architecture
`to an illustrative embodiment of a desktop com-
`according
`position platform. A Compositing Desktop Window Man-
`ager (CDWM) 190 may include an Application Program-
`ming Interface 190a through which a composition-aware
`Application Software 191 obtains window and content cre-
`services; a Subsystem Programming
`ation and management
`Interface 190b, through which
`the Legacy Windowing
`Graphics Subsystem 192 interacts; and a UI Object Manager
`190c which maintains a Z-ordered repository for UI objects
`areas, work areas, desktops, win