Methods, apparatus and data structures for providing a user interface which facilitates decision making
A user interface for facilitating a decision making process, such as planning a trip. A unified view of various types of information related to an event may be provided. The unified view may be presented in a simulated three-dimensional environment having different types of information depicted on different windows. Different types of information related to a common event may be visually linked. A window showing a articular type of information may be brought into a focus view for closer inspection by a user. Alternative decisions may be depicted to permit vagueness or uncertainty, particularly at early iterations in the decision making process.
Latest Microsoft Patents:
§ 1.1 Field of the Invention
The present invention concerns a user interface which facilitates a decision making process, for example, for planning a trip. In particular, the present invention concerns a user interface that visually links related information rendered in multiple windows. Alternative choices may be visually depicted.
§ 1.2 Related Art
§ 1.2.1 The Problem of Decision Making and Planning
Over the past few decades, two trends have permitted computer users to access a wealth of data and information. The first trend was the explosion in the amount of relatively inexpensive data storage means. The second trend was the increasing interconnection of computers, first by local area networks (or “LANs”), and more recently by wide area networks (or “WANs”) which may be private, such as intranets for example, or public, such as the Internet for example. Both of these trends are expected to continue.
Although computer users now can access a wealth of data and information, challenges in interpreting data and using data and information to complete tasks remain. Applications for statistically processing data and for visually depicting (e.g., with pie charts, bar charts, graphs) data are widely available. Similarly, using data and information to complete relatively simple tasks is straight forward (e.g., determining the least expensive three or four bedroom home in Virginia using a relational data base).
However, many tasks involve making decisions based on a number of factors (or choices) and are subject to initial uncertainty or vagueness. Such decisions typically require fixing or limiting the value of one or more factors (or choosing), interpreting the result, and iterating towards a desirable result. For example, in the context of planning a trip, factors may include (i) what one wants to do, (ii) when one wants to do it, (iii) where one wants to go, (iv) how much one wants to spend, etc. Choices in a group of factors may limit choices in that group or another group. That is, options are narrowed as choices are made or factors are fixed. For example, if a person defines a budget of $1000.00 for a vacation, and decides to spend $400.00 on airfare and $400.00 on hotel accommodations, and decides that they will need $150.00 for meals, that person will not have the option of a $200.00 helicopter tour unless they increase their budget.
Again, in the context of planning a trip, such as a personal vacation for example, a person in Virginia might want to see a Washington Redskins football game, visit an aquarium, visit Aunt Betty in Delaware, see the Statue of Liberty and see autumn foliage. Time constraints should be accounted for. For example, when will a user's work schedule allow them to take a vacation, on what dates do the Washington Redskins play at home, when are aquariums and the Statue of Liberty open, when will Aunt Betty be home. Places may be determined. For example, do I want to see autumn foliage in Virginia or Vermont and do I want to visit the public aquarium in Baltimore, Md. or Camden, N.J. Budgetary limits may also be checked. For example, are those Redskins tickets going to cost too much? As choices are made, other choices are affected. For example, the peak time for autumn foliage in Vermont is late September, but the peak time for autumn foliage in Virginia is mid October. Further, data and information related to each of the factors may be best represented to a user in different ways. For example, time or date factors may be best represented on a calendar, cost factors may be best represented as a summed number, geographic factors may be best represented on a map, etc.
§1.2.2 Known Decision Making User Interfaces and their Perceived Limitations
The foregoing trip planning scenario illustrates the challenges involved in performing or planning complex tasks having a number of variables. The articles: L. Tweedie, R. Spence, D. Williams, and R. Bhoghal, “The Attribute Explorer”, Video Proceedings, CHI '94, Boston, Mass., ACM Press (1994), downloaded from http://www.ee.ic.ac.uk/resarch/information/www/LisaDir/at tv.html on Jul. 29, 1998 (hereafter referred to as “the Attribute Explorer article”) and H. Dawkes, L. Tweedie, and R. Spence, “VICKI—The VIsualisation Construction KIt”, Advanced Visual Interfaces Conference, Gubbio, Italy (May 27-29), downloaded from http://www.ee.ic.ac.uk/research/information/www/LisaDir/V ICKI/VICKI.html on Jul. 29, 1998 (hereafter referred to as “the VICKI article”) discuss tools for exploring “problem space” using a two dimensional graphical user interface (or “GUI”). The GUIs discussed in the Attribute Explorer and VICKI articles use sliders to permit parameters to be adjusted. Results are then fed back to the user via color coded histograms. More specifically, the Attribute Explorer and VICKI articles discuss manipulating factors (e.g., type, price, number of bedrooms, and garden size) in a house purchase task or decision. The various attributes are related via color.
Unfortunately, the GUIs discussed in the Explorer and VICKI articles are two dimensional and depict data related to various factors in the same way. Therefore, it is believed that these GUIs are not as useful when various types of data or information are best depicted in different ways.
The article, L. Tweedie, R. Spence, H. Dawkes, and H. Su, “The Influence Explorer—A Tool for Design”, downloaded from http://www1.acm.org:81/sigchi . . . ceedings/videos/Tweedie/I t2txt.htm on Jul. 29, 1998 (hereafter referred to as “the Influence Explorer article”) discusses a similar GUI in which the relationships between performance results and design parameters are depicted. Unfortunately, as with the GUIs discussed in the Attribute Explorer and VICKI articles, the GUI discussed in the Influence Explorer article is one dimensional and depicts data related to various factors in the same way. Therefore, it is believed that this GUI is not as useful when various types of data or information are best depicted in different ways.
The VISAGE product, from MAYA Design Group, Inc. of Pittsburgh, Pa. permits information objects to be depicted in various frames (e.g., a hierarchical outline, a bar chart, and a map). Using a hierarchical outline, a user can navigate through the information by “drilling down” (or segmenting aggregated data) and “rolling up” (or aggregating segmented data). Each of the frames has a script which governs the appearance of objects that the frame contains. Color is used to coordinate the same object shown in various frames. Objects can be dragged and dropped within and between various frames. Although the VISAGE product depicts data in various ways, the same data (not merely related information) is depicted in each of the frames. Furthermore, the VISAGE product depicts objects in frames in only one or two dimensions. The VISAGE product is discussed in the articles: S. Roth, M. Chuah, S. Keredjiev, J. Kolojujchick and P. Lucas, “Towards and Information Visualization Workspace: Combining Multiple Means of Expression”, downloaded from http:www.cs.cmu,edu/˜sage/HCI-journal-96/HCI-journal.html on Jul. 29, 1998; J. Kolojujchick, S. Roth, and P. Lucas, “Information Appliances and Tools in Visage”, IEEE Computer Graphics and Applications, pp. 32-41 (July/August 1997); P. Lucas and S. Roth, “Exploring Information with Visage”, downloaded from http://www.maya.com/visage/base/papers/mayaVid.htm on Jul. 29, 1998; and P. Lucas, C. Gomberg, and S. Roth, “Visage: Dynamic Information Exploration”, downloaded from http://www.maya.com/visage/base/papers/mayaDemo.htm on Jul. 29, 1998.
None of the “decision making” user interfaces introduced above exploit three-dimensional graphics. As discussed in § 1.2.2.1 below, some known three dimensional user interfaces are concerned with accessing information, but not with using information when making decisions.
§ 1.2.2.1 Known Three Dimensional User Interfaces to Information
User interfaces providing a three dimensional depiction of related information have been discussed. For example, the article: Robertson, et al., “The Next Generation GUIS: Information Visualization Using 3D Interactive Animation,” Communications of the ACM, Vol. 35, No. 4, pages 57-71 (April 1993) (hereinafter referred to as “the Information Visualizer article”) discusses various proposals for an “Information Workspace”. The Information Visualizer article discusses a perspective wall which permits information, having some sort of linear relationship or thread, to be presented in the relatively narrow aspect ratio of a typical video monitor. When an item is selected, the wall moves the item to a center panel as if it were a sheet in a player piano reel. Its intuitive three dimensional metaphor allows smooth transitions among views, thereby helping a user to perceive object constancy. Files may be classified by their modification date. Although the perspective wall technique lends itself to information having a linear (e.g., timeline) thread, it is less useful for other types of information, or for information in which a linear thread is unimportant. Furthermore, the perspective wall is not specifically designed for facilitating an iterative planning or decision making process.
Similarly, in the video, R. Kullberg, “Dynamic Timelines: Visualizing the History of Photography”, CHI '96 Video Program, first 4:19, also discussed in the thesis of the same title, downloaded from http://robin.www.media.mit.ed/people/robin/thesis on Aug. 5, 1998 (hereafter referred to as “the Dynamic Timelines thesis”), a three dimensional user interface to photographs is discussed. Unfortunately, the photographs have a linear, and more specifically, a temporal, thread-. Also, like the perspective wall, the dynamic timeline is not specifically designed for facilitating an iterative planning or decision making process.
§ 1.2.3 Unmet Needs
In view of the foregoing, there is an unmet need for a user interface which facilitates planning or making decisions based on a number of factors (or choices). Since factors may be subject to initial uncertainty or vagueness, such a user interface should facilitate an iterative planning or decision making process, allowing the user to make partial and/or vague decisions during the process. The results of alternative decisions should be visualized. Relationships between information should be depicted. These depictions are not limited to relating the same information shown in different ways. The user interface should permit a single display to include different windows of different types of related information such that a unified view of the task is presented to a user. However, the user interface should permit easy user interaction with any one of the different windows. Finally, intelligent help and access to information that may be needed or useful to complete the task should be provided to the user.
§ 2. SUMMARY OF THE INVENTIONThe present invention provides a graphical user interface in which a number of windows or planes depict different types of related information. The consequences of changes to one type of information on one window are depicted in the other types of information on the other windows.
The present invention may further provide a graphical user interface in which the relationship between information in various windows is visually depicted, for example using color and colored rays. The colored rays may be translucent so that they do not occlude any information “behind” them.
The present invention may simulate a three dimensional environment including different windows or planes having the different types of information. The windows or planes may be related to one another as surfaces of a folded paper, or as facets of a geometric object that are connected with one another. The present invention may permit any plane or window to be brought into a normal, head on, view (referred to as “focus view”) and depicted at a centered position on the display. In this regard, the present invention may permit the user to navigate between various windows, bringing any one of the windows into a focus view at any given time. The present invention may represent the windows as surfaces or facets on a geometric object, such as a cube for example, and may employ animation when a user navigates from one window to another. The present invention may use “world-in-miniature” (or “WIM”) techniques in addition to, or instead of the representation of the windows on a geometric object, to facilitate navigation.
Finally, the present invention may facilitate the generation of queries, to be launched via an information browser, from words or phrases of free form notes. The present invention may recognize relevant facts (e.g., in the context of a trip planner, recognize dates, places, etc.) in one information type to generate related information in another information type.
§ 3. BRIEF DESCRIPTION OF THE DRAWINGSThe file of this patent contains at least one drawing executed in color. Copies of this patent with color drawing(s) will be provided by the Patent and Trademark Office upon request and payment of the necessary fee.
The present invention concerns novel methods, apparatus and data structures for providing a user interface. The following description is presented to enable one skilled in the art to make and use the invention, and is provided in the context of a particular application (i.e., travel planning) and its requirements. Various modifications to the disclosed embodiment will be apparent to those skilled in the art, and the general principles set forth below may be applied to other embodiments and applications. Thus, the present invention is not intended to be limited to the embodiments shown.
Features of, and functions which may be performed by, the present invention will first be described in § 4.1 below. Then, structures, methodologies, data structures and displays of exemplary embodiments of the present invention will be described in § 4.2 below.
§ 4.1 Functions which may be Performed by the Present Invention
Recall from § 1.2.3 above, that there exists a need for a user interface, and in particular a graphical user interface, for facilitating planning or making decisions based on a number of factors (or choices). Recall also that since factors may be subject to initial uncertainty or vagueness, such a user interface should facilitate an iterative planning or decision making process and should visually depict the results of alternative decisions. The present invention meets this need by providing a graphical user interface in which a number of windows or planes depict different types of related information. The consequences of changes to one type of information on one window are depicted in the other types of information on the other windows.
Recall also from § 1.2.3 above, that relationships between information, not necessarily the same information depicted in different ways, should be depicted. The present invention meets this need by providing a graphical user interface in which the relationship between information in various windows is visually depicted, for example using color and colored rays. The colored rays may be translucent so that they do not occlude any information “behind” them.
Recall also from § 1.2.3 above, that the user interface should permit a single display to have different windows of different types of related information such that a unified view of the task is presented to a user. The present invention meets this need by simulating a three dimensional environment including different windows or planes having the different types of information. The windows or planes may be related to one another as surfaces of a folded paper, or as facets of a geometric object that are connected with one another. However, recall from § 1.2.3 that the user interface should permit easy interaction with any one of the different displays. One way the present invention meets this need is by permitting any plane or window to be brought into a normal, head on, view (referred to as “focus view”) and depicted at a centered position on the display. However, this is not the only way a user can interact with the displays—in an exemplary user interface, all of the (rendered) windows are always active. In such an exemplary user interface, the focus view is merely provided to aid interaction for those users that prefer a larger, normal view. In this regard, the present invention may permit the user to navigate between various windows, bringing any one of the windows into a focus view at any given time. The present invention may represent the windows as surfaces or facets on a geometric object, such as a cube for example, and may employ animation when a user navigates from one window to another. The present invention may use “world-in-miniature” (or “WIM”) techniques in addition to, or instead of the representation of the windows on a geometric object, to facilitate navigation.
Finally, recall from § 1.2.3 above, that intelligent help and access to information that may be needed in completing the task should be provided to the user. The present invention meets this need in two (2) ways. First, the present invention may generate queries, to be launched via an information browser, from words or phrases of free form notes. Second, the present invention may recognize relevant facts (e.g., in the context of a trip planner, recognize dates, places, etc.) in one information type to generate related information in another information type.
Having described functions which may be performed by the present invention, structures, methodologies, data structures and displays which may be used by the present invention are now described in § 4.2.
§ 4.2 Structures, Methodologies, Data Structures, and Displays which may be Used by the Present Invention
In the following, exemplary systems on which the present invention may operate are described in § 4.2.1, exemplary displays which may be generated by the present invention are described in § 4.2.2, a state diagram which illustrates exemplary interactions between the user interface and a user is described in § 4.2.3, exemplary processes and data structures which may be used to effect certain aspects of the present invention are described in § 4.2.4, flow diagrams showing an operation of an exemplary methodology of the present invention are described in § 4.2.5, and alternative displays which may be generated by the present invention are described in § 4.2.6.
§ 4.2.1 Exemplary Systems
Referring to
A number of program modules may be stored on the hard disk 123, magnetic disk 129, (magneto) optical disk 131, ROM 124 or RAM 125, such as an operating system 135 (for example, Windows NT® 4.0, sold by Microsoft Corporation of Redmond, Wash.), one or more application programs 136, other program modules 137 (such as ReActor infrastructure and Microsoft Interactive Sound System, both from Microsoft Corporation of Redmond, Wash., for example), and/or program data 138 for example. A user may enter commands and information into the personal computer 120 through input devices, such as a keyboard 140 and pointing device 142 for example. Other input devices (not shown) such as a microphone, joystick, game pad, satellite dish, scanner, or the like may also be included. These and other input devices are often connected to the processing unit 121 through a serial port interface 146 coupled to the system bus. However, input devices may be connected by other interfaces, such as a parallel port, a game port or a universal serial bus (USB). The video monitor 147 or other type of display device may also be connected to the system bus 123 via an interface, such as a video adapter 148 for example. The video adapter 148 may include a graphics accelerator (e.g., Intense 3D Pro 1000 or Intense 3D Pro 2200 from Intergraph Corporation of Huntsville, Ala.). One or more speakers 162 may be connected to the system bus 123 via a sound card 161 (e.g., a wave table synthesizer such as product number AWE64 Gold Card from Creative Labs of Milpitas, Calif.). In addition to the monitor 147 and speaker(s) 162, the personal computer 120 may include other peripheral output devices (not shown), such as a printer for example.
The personal computer 120 may operate in a networked environment which defines logical connections to one or more remote computers, such as a remote computer 149. The remote computer 149 may be another personal computer, a server, a router, a network PC, a peer device or other common network node, and may include many or all of the elements described above relative to the personal computer 120, although only a memory storage device 150 has been illustrated in
When used in a LAN, the personal computer 120 may be connected to the LAN 151 through a network interface adapter (or “NIC”) 153. When used in a WAN, such as the Internet, the personal computer 120 may include a modem 154 or other means for establishing communications over the wide area network 152. The modem 154, which may be internal or external, may be connected to the system bus 123 via the serial port interface 146. In a networked environment, at least some of the program modules depicted relative to the personal computer 120 may be stored in the remote memory storage device. The network connections shown are exemplary and other means of establishing a communications link between the computers may be used.
§ 4.2.2 Exemplary Displays
As discussed in § 4.1 above, present invention may provide a graphical user interface in which a number of windows or planes depict different types of related information. The display 200 of an exemplary graphical user interface, for use in the context of planning a trip, is depicted in
Note that each of the windows 210, 220, 230, and 240 can represent a sheet of a folder. Referring to
Recall that user interaction with any given window should be easy. By clicking the maximize button 214, 224, 234, or 244 of any one of the windows, that window is presented in a focus view. A user may then return to the default display 200′ by clicking the minimize button 314, 414, 514, or 614 of any of the windows then in the focus view, which is described below. Users may act on windows in both the default and the focus view; the focus view serves to provide extra screen space to a specific window.
In general, when an interval 246 is moved to an area (time or date) occupied by another interval, it will “push” that other interval. However, an interval may be fixed in time, either automatically or in response to a user command, such that when another interval is moved into its area (time), that other interval will be divided over the fixed interval, or jump, in its entirety, to the other side of the fixed interval. As shown in
If a minimize button 310 is activated by the user, the trip folder 201 is folded up and returned to the box of trips 203. If the maximize/minimize toggle button 244 is activated, default display 200′ is reentered. Finally, as shown in
If a minimize button 410 is activated by the user, trip folder 201 is folded up and returned to the box of trips 203. If the maximize/minimize toggle button 424 is activated, the default display 200′ is reentered. In addition to the map window 220, a WIM tool 3456 is displayed. In response to a user activating (e.g., clicking) any of the faces of the WIM tool 3456, a corresponding window is displayed. To reiterate, the WIM tool, even if inactive, aids inter-window navigation. Thus as can be appreciated, when the map window 220 is displayed in focus view 400/400′, a right, left, or upward flicking gesture will cause the browser window 230, the bulletin board window 210, or the calendar window 240, respectively, to be displayed in the focus view.
The notes 212 can be repositioned on the bulletin board 210 using, for example, traditional drag and-drop mouse operations.
Referring back to
Recall that in each of the focus views shown in displays 300, 400/400′, 500/500′, and 600/600′ of
§ 4.2.3 Exemplary User-GUI Interaction (State Diagram)
The information returned may include information relevant to one of the windows. In the context of the trip planning application, such information (which may be referred to as “factoids”) may include dates, places, addresses, proper names, etc. Thus, if, as shown in
Similarly, if the information uncovered in the query includes geographic or address factoids, the map generation or update state 730 is entered. This state 730 is discussed in more detail in § 4.2.5 below with reference to
Naturally, if the geographic scope of the trip is defined in the map window 220 or the temporal scope of the trip is defined in the calendar window 240, place or time factoids that fall within the defined geographic scope or temporal scope, respectively, will be considered particularly relevant.
Referring to the bulletin board update state 720, if the cursor is removed from the bulletin board, the standby state 710 is reentered. Also, in the map generation or update state 730 and the calendar generation or update state 740, after the factoid induced map 220 or calendar 240 is generated, the standby state 710 is reentered 710.
The map generation or update state 730 may also be entered from the standby state 710 when the cursor is positioned on the map window 220. The standby state 710 is reentered when the cursor is taken off of the map window 220. Similarly, the calendar generation or update state 740 may also be entered from the standby state 710 when the cursor is positioned on the calendar window 240. The standby state 710 is reentered when the cursor is taken off the calendar window 240.
Also, from the standby state, if the map window 220, browser window 230, calendar window 240, or bulletin board window 210 is maximized, then the map focus view state 750 (Recall
As discussed above, each of the windows may be thought of as a surface of a geometric object, in this case, as four (4) sides of a cube for example. Therefore, by rotating the cube, the window in a focus view can be changed. For example, referring to
Having described exemplary displays and states which may be used by the present invention, exemplary processes and data structures are now described in § 4.2.4 below with reference to
§ 4.2.4 Exemplary Processes and Data Structures
§ 4.2.4.1 Exemplary Processes
data which may be used to effect, at least certain aspects of, the user interface of the present invention. Basically, the processing by the present invention may be thought of as a sequence of cycles. In each cycle, user inputs are accepted, states are determined, windows are updated, if necessary, based on such user inputs, and a display is rendered (and audio is output) based on the state and the contents of the windows. Referring to
The interface management process 810 will maintain a present location of a cursor. The information browser view management process (or more generally, “an information browser manager”) 852, the bulletin board view management process (or more generally, “a bulletin board manager”) 854, the map view management process (or more generally, “a map manager”) 856, and the calendar view management process (or more generally, “a calendar manager”) 858 manage the browser window 230, the bulletin board window 210, the map window 220, and the calendar window 240, respectively. Each of these processes maintains status information of its associated window. If any one of these windows is maximized, or if a window representation in a world-in-miniature (or “WIM”) tool 3456 is selected, the focus view generation process (or more generally, “a focus view generator”) 870 is invoked. Consequently, the output generation process (or more generally, “an output generator”) 830 will generate a display with the appropriate window in the focus view.
If the window in the focus view is changed, for example by a flicking gesture or by selecting another window in the WIM tool 3456, then the focus view update process (or more generally, “a focus view update facility”) 880 is invoked. The change from one window in the focus view to another may be accompanied by a stored animation 882 and a sound cue 884. The output generation process 830 generates a video display of this animation.
If a user enters information into any of the windows, such as the entry of a note of the bulletin board window 210 for example, the implicit query process (or more generally, “a implicit query facility”) 840 is invoked. The query may use the information browser, such as an Internet browser or address file for example, to facilitate the query. (An exemplary implicit query method is disclosed in U.S. patent application Ser. No. 09/152,713, entitled “Methods, Apparatus and Data Structures for Providing a User Interface which Exploits Spatial Memory in Three Dimensions, to Objects, and which Visually Groups Matching Objects,” filed on Sep. 14, 1998, and incorporated herein by reference.) The results of the query are then submitted to a factoids extraction process (or more generally, “a factoids extractor”) 845. If any times, dates, or places are returned, the calendar window 240 or map window 220, respectively, are updated based on such factoid information.
Having described processes which may be used by the present invention, exemplary data structures which may be used by the present invention are described in §4.2.4.2 below.
§4.2.4.2 Exemplary Data Structures
Referring to
Referring to
Referring to
§ 4.2.5 Exemplary Methodologies
Having described various displays, processes, and data structures above, methodologies for effecting at least some of the processes described in § 4.2.4.1 above are now described with reference to
In decision step 1316, it is determined whether a particular window is in the focus view. (Recall states 750, 760, 770, and 780 of
Recall from
Recall from
Recall from
First, regarding creating (or editing) notes, as shown in decision step 1610 if the user generates a note creation input, such as a mouse click when the cursor is located on a blank part of the bulletin board window 210 for example, a note is created as shown in step 1612 and entered text is accepted as shown in step 1614. Processing then continues at decision step 1615. Returning to decision step 1610, if the user does not generate a note creation input, processing branches to decision step 1615. At decision step 1615, if an edit command, such as a mouse click when the cursor is located on a note 212 for example, is entered, the note 212 is edited based on (mouse and/or keyboard) entries as shown in step 1616, and processing continues at decision step 1620. If a double click is entered when the cursor is on a note 212, that note will be “pulled” from the bulletin board 210 and moved to a preferred viewing location as shown in
Now, regarding the generation and launching of queries, if a user launches a note-based query, for example by flicking the note 212 towards the bulletin board window 210, a query, based, at least in part, on the contents of the note 212, is generated and launched. More specifically, in the context of an Internet browser, a query is run for home pages on the Internet based on the contents of the note as shown in step 1630. Then, the rank ordered web pages (Recall
Returning to step 1620, if a query is not launched, processing continues at decision step 1690. At decision step 1690, it is determined whether the user is commanding to move the note, such as with a mouse drag operation for example. If not, the process 1515′ is terminated via return node 1680. If so, the location of the note on the bulletin board is updated in step 1692. A note drag may be accompanied by a scraping sound, the pitch, volume, and timbre of which may be varied based on the velocity and direction of the note drag.
Recall from
Map navigation is now described. At decision step 1720, it is determined whether or not the user is commanding a zoom in or zoom out. If not, processing continues at step 1730. If so, as shown in step 1725, such zoom in or zoom out commands are effected. Processing continues at decision step 1730. At decision step 1730, it is determined whether or not the user is commanding a scroll east, west, north or south. If not, processing continues at decision step 1740. If so, as shown in step 1735, such scroll east, west, north, or south commands are effected. Processing then continues at decision step 1740.
Event manipulation is now described. At decision step 1740 it is determined whether a location is deleted from the map or not. If so, the deletion is effected as shown in step 1745 and processing continues at decision step 1750. Otherwise processing simply continues at decision step 1750. For example, if a map displaying and highlighting both Baltimore, Md. and Camden, N.J. is displayed, and the user decides that they want to visit the Baltimore aquarium but not the Camden aquarium, the user can delete the marker at Camden, N.J. on the map. At decision step 1750, it is determined whether not the user is commanding an event to be moved, such as with a mouse drag for example, on the map or not. If so, such a move is effected in step 1755 and the process 1525′ is terminated via the return node 1760. Otherwise, the process 1525′ is simply terminated via the return node 1760. For example, if the user has deleted Camden but later decides to visit the Camden aquarium instead of the Baltimore aquarium, they can drag the marker from Baltimore to Camden. In an alternative embodiment, rather than having a single map in which the user can zoom and pan, a fixed set of maps may be used by the map window 220.
Recall from
At decision step 1820, it is determined whether or not the user is commanding to lengthen the active interval, for example by an outward mouse drag when the cursor is at an edge of the interface. More specifically, when an interval is active, “handles” may be rendered at its left and right edges. (Recall handles 244a and 244b of
At decision step 1840, it is determined whether or not the user is commanding the active interval to be deleted, for example by pressing a delete button or by dragging the interval to a trash icon. If so, the interval is removed from the calendar as shown in step 1845 and processing continues at step 1850. Otherwise processing simply continues at step 1850.
At decision step 1850, it is determined whether or not the user is commanding to move the active interval, by a mouse drag when the cursor is at the center of the interval for example. More specifically, when an interval is active, a drag “handle” may be rendered on it. (Recall handle 243 of
At decision step 1860 it is determined whether or not the user enters a date. If so, the calendar is generated with the entered date depicted as shown in step 1862 and a query, based on the entered date, may be generated in step 1864, before the process 1535′ is terminated via return node 1870. Alternatively, or in addition, if a note (or other piece of information of an event) is active, a mouse drag input on an unoccupied dates of the calendar will generate an interval related to the event. Otherwise, the process 1535′ is simply terminated via the return node 1870.
Recall the calendar window 240 may have a number of alternative trip plans 242. Therefore intervals may be moved or copied from one alternative to one or more other alternatives, and an interval deleted, lengthened or shortened in one alternative will not affect an interval to the same event in one or more other alternatives. Note, however, that when an interval is automatically generated, such as when a date factoid is found in information returned in response to a query, all of the calendar alternatives may be updated to include the event. If an interval is manually entered in one calendar alternative, copies may be provided to the other calendar alternatives if the dates in question are otherwise unoccupied.
Recall from
Recall from
At decision step 2020, it is determined whether the user selected a representation of a window in the WIM tool 3456. If so, that window is shown in the focus view as shown in step 2025 and processing continues to decision step 2030. Otherwise, processing simply continues directly to decision step 2030.
Finally, at decision step 2030, it is determined whether a flicking (up, down, left or right) gesture was input the by user. If so, the window above, below, to the left of, or to the right of the previous window in focus view is brought into focus view and the process 1318′ is terminated via return node 2040. (Recall focus view update process 880 of
Having described the methodologies that may be used by the present invention, alternative displays are now introduced in § 4.2.6 below.
§ 4.2.6 Alternative Displays and Alternative Windows
Rows 2391 and 2394 include representations that depict events, destinations, or travel legs having fixed durations. Rows 2392 and 2395 include representations that depict events, destinations, or travel legs having uncertain durations. Row 2393 includes representations that depict events, destinations, or travel legs that occur almost instantaneously, that is, having a duration of about zero (0).
Column 2381 includes representations that depict events, destinations, or travel legs having known start and end times. Column 2382 includes representations that depict events, destinations, or travel legs having known start times but uncertain end times. Column 2383 includes representations that depict events, destinations, or travel legs having uncertain start times but known end times. Column 2384 includes representations that depict events, destinations, or travel legs having uncertain start and end times. Column 2385 includes representations, similar to those of column 2382, but in which the known start time has been fixed. Column 2386 includes representations, similar to those of column 2383, but in which the known end time has been fixed.
Finally,
In this example, the events are represented pictorially rather than textually. The pictorial representations 3330 of the events may be arranged on parallel projections from the longitudinal locations of the events on the map.
§ 4.3 Conclusions
In view of the foregoing, the present invention provides a user interface for facilitating a decision making process, such as planning a trip. The present invention provides a unified view of various types of information related to an event. The unified view may be presented in a simulated three-dimensional environment. A window showing a particular type of information may be brought into a focus view for closer inspection by a user. Alternative decisions may be depicted to permit vagueness or uncertainty, particularly at early iterations in the decision making process.
Although the described embodiments concern a user interface for planning a trip, the present invention can be applied to other decision making processes. Although the information related to an event were described as free form textual notes, a map, a calendar, and an Internet browser, other types of information related to an event may be depicted. For example, pictorial representations of events may be used instead of, or in addition to the free form textual notes. (Recall
Claims
1. A user interface that facilitates decision making, comprising:
- a reception component that receives one or more expectational event; and
- a rendering component that displays the one or more expectational event on a first facet of a polyhedral display object.
2. The user interface of claim 1, further comprising one or more information sources that include disparate information regarding the one or more expectational event.
3. The user interface of claim 2, the one or more information sources employed to gather, based at least in part on the one or more expectational event, a first datum of information and a second datum of information.
4. The user interface of claim 3, the first datum of information projected by the rendering component on a second facet of the polyhedral display object
5. The user interface of claim 4, the rendering component projects the second datum of information on a third facet of the polyhedral display object.
6. The user interface of claim 5, further including a mapping component that generates at least one non-occlusional colored ray to associate the first datum of information, the second datum of information and the one or more expectational event.
7. The user interface of claim 6, the rendering component projects the at least one non-occlusional colored ray that associates the first datum, the second datum and the one or more expectational event into three-dimensional space to connect the first, second and third facets of the polyhedral display object.
8. The user interface of claim 5, the first facet, the second facet and the third facet of the polyhedral display object focusable based at least in part on a user action.
9. The user interface of claim 8, the user action comprises holding a mouse button while moving a mouse in a cardinal direction.
10. The user interface of claim 3, the first datum of information and the second datum or information dynamically adjustable based on changes in the one or more expectational event.
11. The user interface of claim 10, the first datum of information dynamically changeable based on changes in the second datum of information.
12. The user interface of claim 10, the second datum of information dynamically changeable based at least in part on changes in the first datum of information.
13. The user interface of claim 2, the one or more expectational result employed to form a query to search the one or more information sources.
14. A method that facilitates decision making, comprising:
- receiving an inclinational event; and
- displaying the inclination event on a first plane of a three-dimensional display object rendered on a visual display.
15. The method of claim 14, further comprising utilizing a plurality of data sources to retrieve a first item of information and a second item of information relating to the inclination event.
16. The method of claim 15, further including projecting the first item of information and the second item of information onto a second plane of the three-dimensional display object, and a third plane of the three-dimensional display object respectively.
17. The method of claim 15, further comprising associating a non-occluding colored ray with the first item of information, the second item of information, and the inclinational event.
18. The method of claim 17, further comprising projecting the non-occluding colored ray into one or more three-dimensional space within the three-dimensional display object to connect the first plane, the second plane and third plane of the three-dimensional object.
19. The method of claim 15, the inclinational event employed to generate a query to search the plurality of data sources.
20. A user interface that facilitates decision making, comprising:
- means for receiving an aspirational event;
- means for rendering a multi-dimensional object;
- means for obtaining one or more information associated with the aspirational event;
- means for projecting the aspirational event and the one or more information associated with the aspirational event onto a plurality of planes that comprise the multi-dimensional object; and
- means for associating a non-occluding visible ray with the aspirational event and the one or more information projected onto the plurality of planes that comprises the multi-dimensional object.
Type: Application
Filed: Mar 31, 2006
Publication Date: Aug 3, 2006
Applicant: Microsoft Corporation (Redmond, WA)
Inventors: Tobias Hoellerer (New York, NY), George Robertson (Seattle, WA), Daniel Robbins (Seattle, WA), David Thiel (Redmond, WA), Maarten van Dantzich (Seattle, WA)
Application Number: 11/395,805
International Classification: G06F 17/00 (20060101);