`
`US 20050198584A1
`
`(19) United States
`(12) Patent Application Publication (lo) Pub. No.: US 2005/0198584 Al
`(43) Pub. Date: (cid:9)
`Sep. 8, 2005
`Matthews et al. (cid:9)
`
`(54) SYSTEM AND METHOD FOR
`CONTROLLING MANIPULATION OF TILES
`WITHIN A SIDEBAR
`
`(76) Inventors: David A. Matthews, Seattle, WA (US);
`Charles Cummins, Seattle, WA (US);
`Fabrice A. Debry, Bellevue, WA (US);
`Justin Mann, Redmond, WA (US);
`Hillel Noah Cooperman, Sammamish,
`WA (US); Timothy P. McKee, Seattle,
`WA (US)
`
`Correspondence Address:
`SHOOK, HARDY & BACON L.L.P.
`2555 GRAND BOULEVARD
`KANSAS CITY, MO 64108-2613 (US)
`
`(21) Appl. No.: (cid:9)
`
`10/764,500
`
`(22) Filed: (cid:9)
`
`Jan. 27, 2004
`
`Publication Classification
`
`(51) Int. Cl.7 ....................................................... G06F 3/00
`(52) U.S. Cl . ............................................ 715/779; 715/769
`
`(57) (cid:9)
`
`ABSTRACT
`
`The present invention is directed to a method and system for
`allowing a user to control the user interface environment and
`specifically a sidebar within the user interface environment.
`The method controls tiles within a sidebar to respond to a
`manipulation request by a system user or by an application
`to manipulate a selected tile. The method includes deter-
`mining a current status of the selected tile and selecting an
`appropriate rule for manipulating the tile based on the status
`of the tile and an identity of the manipulation requestor. One
`rule set is provided for the application and another rule set
`is provided for the user. The method further includes
`manipulating the selected tile in accordance with the appro-
`priate rule. The user rules allow insertion of the tile in most,
`if not all cases, whereas the application rules may prohibit
`insertion of the selected tile.
`
`APPLICATION 10
`
`APPLICATION
`SIDEBAR
`INTERACTION
`MODULE
`12
`
`USER 20
`
`SIDEBAR
`INTERACTION
`INTERFACE
`22
`
`TILE CONTROL MODULE 30
`
`SIDEBAR CONTROLS 60
`
`TILE
`MANIPULATION
`MODULE 50
`
`STATUS
`DETERMINATION
`MODULE 34
`
`RULES
`MODULE
`32
`
`Page 1 of 24
`
`GOOGLE EXHIBIT 1008
`
`
`
`------------------
`
`b
`
`i (cid:9)
`
`110 (cid:9)
`
`191
`
`MONITOR
`
`SYSTEM MEMORY_ (cid:9) - - -
`
`
`(ROM) 131
`
`BIOS (cid:9)
`133
`--------- — (cid:9)
`132 (cid:9)
`(RAM) (cid:9)
`OPERATING (cid:9)
`134 (cid:9)
`SYSTEM — (cid:9)
`
`130 (cid:9)
`
`PROCESSING (cid:9)
`UNIT (cid:9)
`
`I (cid:9)
`
`i (cid:9)
`
`APPLICATION 135
`PROGRAMS _ (cid:9)
`
`OTHER PROGRAM (cid:9)
`MODULES 136 (cid:9)
`
`120
`
`190 (cid:9)
`
`
`I
`195 1 (cid:9)
`
`\\\
`
`VIDEO (cid:9)
`INTERFACE (cid:9)
`
`OUTPUT
`PERIPHERAL (cid:9)
`A
`INTERFACE (cid:9)
`
`SYSTEM BUS
`
`121 (cid:9)
`
`160
`
`196
`
`PRINTER
`
`SPEAKERS 197
`
`i
`I (cid:9)
`
`I (cid:9)
`
`LOCAL AREA NETWORK
`
`PROGRAM
`DATA
`
`137 (cid:9)
`
`j
`
`171
`
`REMOVABLE I I USER I NETWORK
`NON-REMOVABLE II
`NON-VOL. MEMOR NON-VOL. MEMORY (cid:9)
`INPUT (cid:9)
`INTERFACE
`INTERFACE (cid:9)
`INTERFACE
`INTERFACE
`170
`140 (cid:9)
`150 (cid:9)
`AREA NETWORK
`--------------- - -' ----- --l---- ----- ---- ------iWIDE
`155
`MODEM
`151 T (cid:9)
`~' 141-' \\ (cid:9)
`
`i (cid:9)
`
`\ (cid:9)
`\ (cid:9)
`\ (cid:9)
`
`1\Q11 (cid:9)
`\ (cid:9)
`
`OPERATING
`SYSTEM
`144
`
`APPLICATION OTHER PROGRAM
`PROGRAMS
`MODULES
`145
`146
`
`PROGRAM
`DATA
`147
`
``\
`
`152 (cid:9)
`
`FIG. 1
`
`156
`
`161 (cid:9)
`
`Li (cid:9)
`MOUSE
`
`100 (cid:9)
`
`o 0000D0ao0o 000
`0000000000 000
`0000000000 ODD
`000000000°0 °o°ou
`00000 0
`vCVDnnon
`
``173 (cid:9)
`180 (cid:9)
`
`-
`
`REMOTE
`COMPUTER
`
`181..
`- ---
`
`
`REMOTE
`
`APPLICATION
`PROGRAMS 185
`
`Page 2 of 24
`
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`(cid:9)
`
`
`b
`
`APPLICATION 10
`
`APPLICATION
`SIDEBAR
`INTERACTION
`MODULE
`12
`
`TILE CONTROL MODULE 30
`
`SIDEBAR CONTROLS 60
`
`TILE
`MANIPULATION
`MODULE 50
`
`STATUS
`DETERMINATION
`MODULE 34
`
`RULES
`MODULE
`32
`
`2
`
`USER 20
`
`____ K
`
`SIDEBAR
`INTERACTION
`INTERFACE
`22 (cid:9)
`
`I
`
`Page 3 of 24
`
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 3 of 14
`
`US 2005/0198584 Al
`
`300
`
`302
`
`310
`
`312
`
`314
`
`316
`
`FIG. 3
`
`Page 4 of 24
`
`(cid:9)
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 4 of 14
`
`US 2005/0198584 Al
`
`400
`
`402
`
`FIG. 4A
`
`Page 5 of 24
`
`(cid:9)
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 5 of 14 (cid:9)
`
`US 2005/0198584 Al
`
`407
`
`410
`
`4,4
`
`4,;
`
`4 / •
`
`FIG. 4B
`
`Page 6 of 24
`
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 6 of 14 (cid:9)
`
`US 2005/0198584 Al
`
`412
`
`404
`
`414
`
`416
`
`FIG. 4C
`
`Page 7 of 24
`
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 7 of 14
`
`US 2005/0198584 Al
`
`H w W cA
`
`Z
`
`
`
`J
`Q j w L
`wI
`
`w
`
`O
`w
`
`U)
`w
`J
`D
`0
`
`Z
`0
`
`J
`
`Z
`
`w
`H
`
`0
`LL
`
`J
`
`LCLO
`Q
`
` o- LU
`
`w
`
`w
`
`Page 8 of 24
`
`(cid:9)
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 8 of 14
`
`US 2005/0198584 Al
`
`BEGIN
`
`ABO
`
`Al (cid:9)
`
`RECEIVE TILE (cid:9)
`INSERTION (cid:9)
`COMMAND (cid:9)
`FROM USER (cid:9)
`
`RECEIVE TILE
`INSERTION (cid:9)
`COMMAND (cid:9)
`FROM
`APPLICATION
`
`B10
`
`
`FIG.
`G
`V
`
`Al2-.j
``{I (cid:9)
`
`
`
`INSERTTISIDEBAR AT (cid:9)
`
`CHECK TILE (cid:9)
`STATUS
`
`612
`
`B14
`
`YES (cid:9)
`
`REFUSE
`INSERTION
`
`B16
`
`BANNED (cid:9)
`? (cid:9)
`
`NO
`
`INSERT TILE AT (cid:9)
`BOTTTOM OF
`SIDEBAR
`
`B18
`
`END
`
`Page 9 of 24
`
`(cid:9)
`(cid:9)
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 9 of 14 (cid:9)
`
`US 2005/0198584 Al
`
`BEGIN
`
`RECEIVE TILE
`REMOVAL
`COMMAND
`FROM USER
`
`RECEIVE TILE
`REMOVAL (cid:9)
`COMMAND
`FROM
`APPLICATION
`
`B24
`
`BAN TILE
`
`HIDE TILE
`
`B26
`
`END
`
`AB28
`
`FIG. 7
`
`Page 10 of 24
`
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 10 of 14
`
`US 2005/0198584 Al
`
`NEWLY INSTALLED 202
`
`OPTION MENU: TILE NAME APPEARS UNCHECKED
`BAR: TILE IS NOT VISIBLE
`204
`
`200
`
`APP SHOWS A NEWLY INSTALLED TILE
`NOTIFICATION FIRES OFFERING TO REMOVE TILE
`240
`
`USER CHECKS A NEWLY INSTALLED TILE
`
`242\
`
`IN OVERFLOW 212
`
`ON SCREEN 232
`
`APP CAN MAKE THIS TILE VISIBLE OR HIDDEN 216
`
`214
`IF VISIBLE: (cid:9)
`OPTION MENU: TILE NAME APPEARS CHECKED
`BAR: TILE APPEARS IN OVERFLOW
`IF NOT VISIBLE (HIDDEN)
`OPTION MENU:TILE NAME APPEARS GRAYED
`OUT
`210
`
`'
`USER REARRANGES TILE (cid:9)
`244 (cid:9) `\ally APP CAN MAKE THIS TILE VISIBLE OR HIDDEN 236
`
`234
`VISIBLE:
`OPTION MENU: TILE NAME APPEARS CHECKED
`BAR: TILE APPEARS ON SCREEN
`NOT VISIBLE (HIDDEN)
`OPTION MENU: TILE NAME APPEARS GRAYED OUT
`
`230
`
`USER BANS (UNCHECKS)TILE 246 (cid:9)
`
`USER BANS (UNCHECKS)TILE 248
`
`USER CHECKS TILE 250
`
`BANNED 222
`
`OPTION MENU: TILE NAME APPEARS UNCHECKED
`224
`BAR: TILE IS NOT VISIBLE (cid:9)
`
`220
`
`FIG. 8
`
`Page 11 of 24
`
`(cid:9)
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 11 of 14 (cid:9)
`
`US 2005/0198584 Al
`
`900
`
`FIG. 9A
`
`Page 12 of 24
`
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 12 of 14 (cid:9)
`
`US 2005/0198584 Al
`
`NM (cid:9)
`
`r'CU that ,'r
`Minimize Bar 912
`
`i Add! VCrai vP- Ti Ic r 914
`Multi Sid bdr: Lr-1f Ia kbir
`91.6.
`
`r~ ~,
`
`~a E
`
`
`:1`
`
`920
`
`922
`
`
`
`
`
`_____
`
`'tie Updates (cid:9)
`:ryStatus (cid:9)
`~Iatcr (cid:9)
`
`1IFJT
`
`:ed Carvr.atkri :: (cid:9)
`. Media Player
`ilk Manager (cid:9)
`
`Duplicate thistil (cid:9)
`Pr,;perti~- (cid:9)
`
`•1e (cid:9)
`
`Entertainment
`Local v (cid:9)
`t)r,er
`Parental Controls
`Popup blocker
`Popup Bccker
`
`Traffic reports (cid:9)
`
`Kr SI1 dIIe
`icutlo
`
`It.
`
`0110
`r Docked Player
`shwr
`'ice
`
`Chi::er
`
`FIG. 9B
`
`Page 13 of 24
`
`
`
`Patent Application Publication Sep. 8, 2005 Sheet 13 of 14
`
`US 2005/0198584 Al
`
`1000
`
`—1004 (cid:9)
`
`11002
`
`Bubbles
`
`i (cid:9)
`
`tf
`
`FIG. 10
`
`Page 14 of 24
`
`(cid:9)
`(cid:9)
`
`
`1100
`1100
`
`Notifications
`
`- Emait stétus
`- Buddies
`- Volume
`
`Quicklaunch .
`
`.
`
`I
`
`‘
`
`LIVE TASKS
`
`?Des_kVbaVnd I
`n‘g’uagé[.C
`
`trbls
`
`FIG. 11
`
`(RELATED ART)
`(RELATED ART)
`
`Page 15 of 24
`
`b
`
`
`
`IV17898610/SO0Zsn171J0171muss00z‘8‘C198uoneozlqndu0!wo!1ddV1uawd
`
`
`
`
`
`Page 15 of 24
`
`
`
`US 2005/0198584 Al
`
`Sep. 8, 2005
`
`SYSTEM AND METHOD FOR CONTROLLING
`MANIPULATION OF TILES WITHIN A SIDEBAR
`
`CROSS-REFERENCE TO RELATED
`APPLICATIONS
`
`[0001] None
`
`STATEMENT REGARDING FEDERALLY
`SPONSORED RESEARCH OR DEVELOPMENT
`[0002] None.
`
`TECHNICAL FIELD
`
`[0003] Embodiments of the present invention relate to
`computing environments. More particularly, embodiments
`of the invention are directed to a system and method for
`allowing a user to control access to and presentation of
`available information within a computing environment.
`
`BACKGROUND OF THE INVENTION
`
`[0004] In today's information saturated environments,
`such as the Internet, a local or remote computer network, or
`any combination of the Internet and such networks, it is
`often difficult for a user to track the potentially large
`quantities and varieties of interesting communications and
`information. Such communications and information include,
`for example, email, instant messaging, file transfers, local
`weather, appointments, schedules, personal contacts, statis-
`tical information, file status, stock quotes, sports scores,
`local traffic, or any other type of communications or infor-
`mation.
`[0005]
`In a platform such as Microsoft WindowsTM pro-
`duced by the Microsoft Corporation of Redmond, Washing-
`ton, numerous applications related to the types of informa-
`tion and communications set forth above simultaneously
`compete for a user's attention. Applications compete for
`limited space within the user interface to make themselves
`visible at all times. Often, the effect of applications com-
`peting for a user's attention is detrimental to the user as the
`user cannot quickly and easily access the information most
`relevant to the user.
`[0006]
`In order to assist a user in keeping track of infor-
`mation and communications, several conventional schemes
`have been developed. Such schemes are typically limited by
`what types of communications or information can be tracked
`or displayed, by the manner in which the communications
`and information are accessed or otherwise provided to the
`user, or by the inability to facilitate sharing of the commu-
`nications or information between users. Further, conven-
`tional schemes that have attempted to address these prob-
`lems tend to be limited by an inability to provide a single
`interface that allows for concurrent information retrieval,
`display or access in combination with communications and
`communication access points in a dynamic integrated envi-
`ronment. Consequently, users are often left with cluttered
`displays, which fail to provide both communications and
`information access and interaction in an integrated environ-
`ment.
`[0007] Several conventional messaging type schemes
`have attempted to address these problems. However, such
`schemes typically provide large windows that take up sub-
`stantial amounts of screen space. Further, such schemes tend
`
`to separate the communications capabilities from the infor-
`mation capabilities via one or more tabs or the like. Con-
`sequently, particular information cannot be easily shared or
`communicated from within the applications provided by
`these schemes. Further, such schemes become unwieldy as
`the amount of information tracked by a user increases, and
`as the number of communications contacts maintained by
`the user increases. In particular, as the amount of informa-
`tion increases, the user is forced to scroll through large
`amounts of data or communications channels.
`[0008] At least one conventional scheme has attempted to
`address some of the aforementioned problems. This scheme
`provides an application that allows a user to customize at
`least one icon in a scrollable strip along one edge of a
`computer display device. This scheme provides iconized
`links to particular information sources and uses conventional
`techniques to populate each customized icon with informa-
`tion retrieved from the information sources. However, this
`scheme fails to provide the level of communications capa-
`bilities offered by messaging schemes. Further, this scheme
`does not provide for nesting or otherwise organizing groups
`of icons in order to aggregate multiple icons. In addition, the
`icons of this scheme are not easily transportable and no real
`mechanism exists for transferring icons between users.
`[0009] A related scheme allows a user to customize a
`scrolling ticker type display window to provide continu-
`ously updated scrolling information from a predefined set of
`available information. However, the set of information that
`is available to this scheme is predefined and users are
`provided with limited control over information options.
`Another limitation is that users are not able to add or edit
`information sources, such as by modifying the icons as
`described above.
`[0010] Still other schemes for providing custom informa-
`tion views or displays involve a technique known as "web
`scraping." In general, such schemes allow a user to specify
`particular portions of unique Internet Web pages, i.e., source
`web pages, to be displayed on a single customized web page.
`These schemes do not provide for communications capabil-
`ity and require views to be opened in a window that occupies
`a substantial portion of a display device.
`[0011] A new scheme is needed for automatically provid-
`ing dynamic communication access and information aware-
`ness in an interactive peripheral display without requiring a
`user to tab between communications channels or informa-
`tion types. Further, such a scheme should not require a user
`to choose from a predefined list of communication access
`points and information categories or sources, but instead
`should allow for customization of communications access
`points and information sources.
`[0012] Accordingly, a scheme is needed that provides a
`user of a platform such as Microsoft Windows with the
`ability to control visible information so that the user always
`has unobstructed access to information that the user consid-
`ers to be important. A system is needed that provides
`applications with incentive to allow a user to decide which
`information should remain visible.
`
`BRIEF SUMMARY OF THE INVENTION
`[0013] Embodiments of the present invention are directed
`to a method and system for use in a computing environment
`to present and provide user access to information.
`
`Page 16 of 24
`
`(cid:9)
`
`
`US 2005/0198584 Al
`
`Sep. 8, 2005
`
`2
`
`[0014] In one aspect, the present invention is directed to a
`method for controlling tiles within a sidebar in response to
`a manipulation request by a system user or by an application
`to manipulate a selected tile. The method includes deter-
`mining a current status of the selected tile and selecting an
`appropriate rule set based on the identity of the manipulation
`requestor, wherein the appropriate rule set is one of an
`application manipulation rule set and a user manipulation
`rule set. The method additionally includes locating an appro-
`priate rule within the appropriate rule set based on the
`current status of the selected tile and request content and
`manipulating the tile in accordance the appropriate rule.
`
`[0015] In an additional aspect, the present invention is
`directed to a system for controlling tiles within a sidebar
`when a manipulation request is made by a system user or by
`an application to manipulate a selected tile. The system
`includes a status determination module for indicating a
`current status of the selected tile. The system additionally
`includes user manipulation rules for determining an appro-
`priate disposition of the selected tile based on the current
`status of the selected tile when the manipulation request
`originates from the system user and application manipula-
`tion rules for determining disposition of the selected tile
`based on the current status of the selected tile when the
`manipulation request originates from the application. The
`system additionally includes manipulation tools for manipu-
`lating the selected tile in accordance with one of the user
`manipulation rules and the application manipulation rules.
`
`[0016] In yet a further aspect, the invention includes a
`method for controlling a selected tile within a sidebar upon
`receiving an application request for manipulation of the
`selected tile. The method includes determining a current
`status of the selected tile, selecting an appropriate tile
`manipulation rule for the application based on the current
`status of the tile, and manipulating the tile in accordance
`with the selected tile manipulation rule.
`
`[0017] In yet a further aspect, the invention is directed to
`a method for controlling a selected tile within a sidebar
`based on user preferences. The method includes removing
`the selected tile from the sidebar upon receiving a user
`request for removal and refusing any subsequent request
`from an application to insert the selected tile into the sidebar.
`The method additionally includes granting any subsequent
`request from the user to insert the selected tile into the
`sidebar.
`
`[0018] In an additional aspect of the invention, a method
`provides a user with control of the positioning of a selected
`tile within a sidebar based on user manipulation rules and
`application manipulation rules. The method includes insert-
`ing the selected tile in a preferred sidebar position in
`response to a user request to insert the selected tile and
`inserting the selected tile in less preferred sidebar position in
`response to an application request to insert the selected tile.
`The method additionally includes allowing a user to pre-
`emptively prevent an application from inserting the selected
`tile in the sidebar.
`
`BRIEF DESCRIPTION OF THE SEVERAL
`VIEWS OF THE DRAWING
`[0019] The present invention is described in detail below
`with reference to the attached drawings figures, wherein:
`[0020] FIG. 1 is an exemplary computing environment in
`which the present invention may be practiced;
`[0021] FIG. 2 is a block diagram illustrating specific
`components of a system in accordance with an embodiment
`of the invention;
`[0022] FIG. 3 is a screen shot illustration of a sidebar for
`practicing the present invention;
`[0023] FIG. 4A is a screen shot showing a sidebar prior to
`the appearance of a transient tile;
`[0024] FIG. 4B is a screen shot showing the sidebar of
`FIG. 4A including a transient tile;
`[0025] FIG. 4C illustrates the sidebar of FIG. 4B after the
`transient tile has been removed and placed in an overflow
`area;
`[0026] FIG. 5 is a block diagram illustrating a tile manipu-
`lation module in accordance with an embodiment of the
`invention;
`[0027] FIG. 6 is a flow chart illustrating tile insertion
`procedures for a user and an application in accordance with
`an embodiment of the invention;
`[0028] FIG. 7 is a flow chart illustrating tile removal
`procedures for a user and an application in accordance with
`an embodiment of the invention;
`[0029] FIG. 8 is a state diagram showing relationships
`between tile states and user and application actions in
`accordance with an embodiment of the invention;
`[0030] FIGS. 9A and 9B illustrate exemplary screen
`displays in accordance with an embodiment of the invention
`to facilitate a user's request to add or remove tiles from the
`sidebar;
`[0031] FIG. 10 illustrates a sidebar along with an exem-
`plary menu of options that may be available to a user for
`customizing the sidebar; and
`[0032] FIG. 11 illustrates an embodiment of a task bar as
`known in the art.
`
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`[0033] Overview
`[0034] Embodiments of the present invention are directed
`to a system and method for controlling manipulation of tiles
`within a sidebar. The sidebar, as will be described below
`with relation to FIGS. 3 and 4 allows for application or user
`directed addition or removal of tiles in accordance with rules
`and conditions as set forth below.
`[0035] FIG. 2 is a block diagram illustrating a system in
`accordance with an embodiment of the invention. An appli-
`cation 10 and a user 20 requesting tile manipulation send
`requests through a tile control module 30 that interacts with
`sidebar controls 60. The application 10 may include an
`application/sidebar interaction module 12 that provides the
`application with the options for interacting with the sidebar.
`The user 20 is presented with a sidebar interaction interface
`22 that offers the user multiple selectable options for
`manipulating a tile with the sidebar. Although FIG. 2 shows
`
`Page 17 of 24
`
`(cid:9)
`
`
`US 2005/0198584 Al
`
`Sep. 8, 2005
`
`3
`
`only one application 10, this representation is merely for
`simplicity, as any number of applications 10 may be present
`within the system.
`[0036] The tile control module 30 receives requests for tile
`manipulation from both the application 10 and user 20. The
`tile control module 30 may include a tile manipulation
`module 50, a status determination module 34, and a rules
`module 32. Depending on the current status of the tile as
`determined by the status determination module 34 and the
`rules set for the application 10 or for the user 12 in the rules
`module 30, the tile manipulation module 50 will manipulate
`the tile as appropriate. As will be further explained below,
`the rules allow the user 20 greater discretion than the
`application 10 in determining which tiles should appear in
`the sidebar.
`
`[0037] Having briefly provided an overview of the present
`invention, embodiments of the invention will be discussed
`with reference to FIGS. 1-10. An exemplary operating
`environment for the present invention is described below.
`[0038] Exemplary Operating Environment
`[0039] FIG. 1 illustrates an example of a suitable com-
`puting system environment 100 on which the invention may
`be implemented. The computing system environment 100 is
`only one example of a suitable computing environment and
`is not intended to suggest any limitation as to the scope of
`use or functionality of the invention. Neither should the
`computing environment 100 be interpreted as having any
`dependency or requirement relating to any one or combina-
`tion of components illustrated in the exemplary operating
`environment 100.
`[0040] The invention may be described in the general
`context of computer-executable instructions, such as pro-
`gram modules, being executed by a computer. Generally,
`program modules include routines, programs, objects, com-
`ponents, data structures, etc. that perform particular tasks or
`implement particular abstract data types. Moreover, those
`skilled in the art will appreciate that the invention may be
`practiced with other computer system configurations,
`including hand-held devices, multiprocessor systems,
`microprocessor-based or programmable consumer electron-
`ics, minicomputers, mainframe computers, and the like. The
`invention may also be practiced in distributed computing
`environments where tasks are performed by remote process-
`ing devices that are linked through a communications net-
`work. In a distributed computing environment, program
`modules may be located in both local and remote computer
`storage media including memory storage devices.
`[0041] With reference to FIG. 1, an exemplary system 100
`for implementing the invention includes a general purpose-
`computing device in the form of a computer 110 including
`a processing unit 120, a system memory 130, and a system
`bus 121 that couples various system components including
`the system memory to the processing unit 120.
`
`[0042] Computer 110 typically includes a variety of com-
`puter readable media. By way of example, and not limita-
`tion, computer readable media may comprise computer
`storage media and communication media. The system
`memory 130 includes computer storage media in the form of
`volatile and/or nonvolatile memory such as read only
`memory (ROM) 131 and random access memory (RAM)
`132. Abasic input/output system 133 (BIOS), containing the
`
`basic routines that help to transfer information between
`elements within computer 110, such as during start-up, is
`typically stored in ROM 131. RAM 132 typically contains
`data and/or program modules that are immediately acces-
`sible to and/or presently being operated on by processing
`unit 120. By way of example, and not limitation, FIG. 1
`illustrates operating system 134, application programs 135,
`other program modules 136, and program data 137.
`[0043] The computer 110 may also include other remov-
`able/nonremovable, volatile/nonvolatile computer storage
`media. By way of example only, FIG. 1 illustrates a hard
`disk drive 141 that reads from or writes to nonremovable,
`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 in the exemplary operating environment
`include, but are not limited to, magnetic tape cassettes, flash
`memory cards, digital versatile disks, digital video tape,
`solid state RAM, solid state ROM, and the like. The hard
`disk drive 141 is typically connected to the system bus 121
`through an non-removable memory interface such as inter-
`face 140, and magnetic disk drive 151 and optical disk drive
`155 are typically connected to the system bus 121 by a
`removable memory interface, such as interface 150.
`
`[0044] The drives and their associated computer storage
`media discussed above and illustrated in FIG. 1, provide
`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
`storing operating system 144, application programs 145,
`other program modules 146, and program data 147. Note
`that these components can either be the same as or different
`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 different numbers
`here to illustrate that, at a minimum, they are different
`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
`connected to the processing unit 120 through a user input
`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 or a universal serial bus (USB). A
`monitor 191 or other type of display device is also connected
`to the system bus 121 via an interface, such as a video
`interface 190. In addition to the monitor, computers may
`also include other peripheral output devices such as speakers
`197 and printer 196, which may be connected through an
`output peripheral interface 195.
`[0045] The computer 110 in the present invention will
`operate in a networked environment using logical connec-
`tions to one or more remote computers, such as a remote
`computer 180. The remote computer 180 may be a personal
`computer, and typically includes many or all of the elements
`described above relative to the computer 110, although only
`a memory storage device 181 has been illustrated in FIG. 1.
`
`Page 18 of 24
`
`(cid:9)
`
`
`US 2005/0198584 Al
`
`Sep. 8, 2005
`
`0
`
`The logical connections depicted in FIG. 1 include a local (cid:9)
`area network (LAN) 171 and a wide area network (WAN) (cid:9)
`173, but may also include other networks. (cid:9)
`
`[0046] When used in a LAN networking environment, the
`computer 110 is connected to the LAN 171 through a
`network interface or adapter 170. When used in a WAN
`networking environment, the computer 110
`typically
`includes a 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 appropriate mechanism. In a networked envi-
`ronment, program modules depicted relative to the computer
`110, or portions thereof, may be stored in the remote
`memory storage device. By way of example, and not limi-
`tation, FIG. 1 illustrates remote application programs 185 as
`residing on memory device 181. It will be appreciated that
`the network connections shown are exemplary and other
`means of establishing a communications link between the
`computers may be used.
`
`[0047] Although many other internal components of the
`computer 110 are not shown, those of ordinary skill in the art
`will appreciate that such components and the interconnec-
`tion are well known. Accordingly, additional details con-
`cerning the internal construction of the computer 110 need
`not be disclosed in connection with the present invention.
`
`[0048] User Interface Sidebar
`
`[0049] A sidebar, as illustrated in FIG. 3 can be contrasted
`with the conventional task bar as illustrated in FIG. 11. As
`used herein, a sidebar refers to a persistent display strip
`along one or more edges of a conventional display device
`such as the monitor 191 described in relation to FIG. 1
`above. The sidebar includes tiles or dynamic thumbnails
`including a combination of a description of information of
`interest and a "viewer" for displaying whatever information
`is represented. Amore detailed description of the sidebar and
`the tile, which is otherwise referred to as a ticket, can be
`found in the application for letters patent, Ser. No. 10/063,
`296, filed Jun. 8, 2001 which is hereby incorporated by
`reference. Various features of the sidebar are described in
`U.S. patent application Ser. No. 10/423,597, filed on Apr. 25,
`2003, which is also hereby incorporated by reference.
`
`[0050] As previously mentioned, conventional user inter-
`face displays restrict information that they present to a user.
`Such systems typically provide a task bar from which a user
`is able to activate an application window of interest in order
`to interact or obtain information. Various control types are
`utilized by such conventional prior art systems to present
`information to a user. Some of these control types include
`scroll bars, expandable short lists, start menus, dashboards,
`and controls that cause only active items to be visible. An
`example of a conventional user interface is illustrated in
`FIG. 11 and generally referenced as a display 1100.
`
`[0051] As shown in FIG. 11, display 1100 includes a
`taskbar 1102. Generally, taskbar 1102 may contain a variety
`of task groupings or sections that provide access to appli-
`cations or features of the operating environment through
`icons. For example, a section of taskbar 1102 may provide
`a quick-launch section 1103. Quick-Launch section 1103
`enables the launching of one or more application programs
`such as a word processing application program, electronic
`
`mail program, or any other programs on the computing
`system that may have been appropriately configured to start
`from quick launch section 1103.
`[0052] Another section of taskbar 1102, such as live-tasks
`1104, may list currently executing tasks. From live-tasks
`1104, a user may access a display window that is associated
`with a program in order to interact with program specific live
`data. An example of such a window is the media-player 1106
`window. Using the media-player 1106 window, a user can
`view live information regarding the currently playing media
`and direct the actions of the media player at the user's
`discretion.
`[0053] Yet another section of taskbar 1102 may be a
`desk-band 1108. Desk-band 1108 is an example of language
`controls for the operating environment.
`[0054] A section of taskbar 1102 may also contain notifi-
`cations 110. Notification area 1110 provides icons relating to
`application programs or system level communications. For
`example, electronic mail status, chat group buddies or even
`volume control can be accessed through icons in the noti-
`fications section 1110.
`
`[0055] In an attempt to provide live status information,
`taskbar 1102 provides for a toast 1112. Toast 1112 is essen-
`tially a pop-up window that provides communication from
`an application program. For example, as shown a pop-up
`message is displayed informing the user that there are
`messages in an inbox.
`[0056] When a significant amount of information is avail-
`able, taskbar 1102 can become quite cluttered. Furthermore,
`the various types of icons available to an end user are
`inconsistent. Even further, taskbar 1102 does not easily
`provide a user with information and controls that the user