METHODS AND APPARATUSES FOR PRESENTING ORDERED HETEROGENEOUS INFORMATION
BACKGROUND OF THE INVENTION
Field of the Invention
The present invention relates generally to the presentation of information to a human user, and more specifically to the presentation of dynamically ordered information to a human user.
Background Information
User interfaces often present information to users in some type of order. For example, a user's personal web page on a web site may display different types of information (heterogeneous information), such as stock quotes, news headlines and sports scores, which are selected by the user for presentation. The ordering of such selected information on the user's personal web page is static in that a particular type of information is always displayed in the same location on the web page. For example, stock quotes may be located on the left side of the web page, sports scores may be located in the middle of the web page, and news headlines may be located on the right side of the web page. To modify the order of the presented information, a user must manually specify a new order. This can be troublesome for a user who wishes to see particularly relevant information, such as a drastic change in stock prices or a favorite team's score, once the different types of information are updated. A user cannot predict which category of information will have the most relevant information, and so the ability to manually specify a different order does not provide a viable solution. Some user interfaces may display the same type of information (homogeneous information) in a logically ordered manner. For example, an airline's web site may list in chronological order all of the available flights between
a user's departure point and destination point. Alternatively, the available flights may be listed by price if such a sorting option is available to the user. Another example of ordered homogeneous information is e-mails that are sorted by date. Sorting homogeneous information allows a user to prioritize data of the same type, but it does not address the issue" of presenting particularly relevant information from different information types.
Presenting the most relevant information to a user takes on even greater significance when a user is using a small-form device, such as a personal digital assistant (PDA) or a cellular phone, because the display screens for such devices can display only a very limited amount of information at any one time. Scrolling through several screens of information to get to the most relevant information can be tedious and frustrating. Voice-operated interfaces are also prone to similar problems because a user must either wait for the desired information to be spoken or cycle through to the desired information.
BRIEF DESCRIPTION OF THE DRAWINGS
Various embodiments of the present invention will be described in detail with reference to the following drawings. The present invention is illustrated by way of example and not limitation in the accompanying figures.
Figure 1 A is a block diagram of one embodiment of an operating environment suitable for practicing the present invention.
Figure 1B is a block diagram of one embodiment of a computer system suitable for use in the operating environment of Figure 1A. Figure 2A illustrates an example of a displayed list of heterogeneous information in accordance with the teachings of the present invention.
Figure 2B illustrates an example of the heterogeneous information shown in Figure 2A after being updated, prioritized and presented in accordance with the teachings of the present invention. Figure 3 is a flowchart illustrating one example of a method in accordance with the teachings of the present invention.
DETAILED DESCRIPTION
The following description provides embodiments of the present invention. However, it will be appreciated that other embodiments of the present invention will become apparent to those of ordinary skill in the art upon examination of this description. Thus, the present description and accompanying drawings are for purposes of illustration and are not to be used to construe the invention in a restrictive manner.
The following description of Figure 1A provides an overview of computer hardware and other operating components suitable for implementing the present invention, but it is appreciated that the applicable environments are not limited to what is shown in Figure 1A. Figure 1A shows several computer systems 101 coupled together through a network 103, such as a LAN or the Internet. The term "Internet" as used herein refers to a network of networks which uses certain protocols, such as the TCP/IP protocol, and possibly other protocols such as the hypertext transfer protocol (HTTP) for hypertext markup language (HTML) documents that make up the World Wide Web. The physical connections of the Internet and the protocols and communication procedures of the Internet are well known to those of skill in the art. Access to the Internet 103 is typically provided by ISPs, shown as 105 and 107. Users on client systems, such as client computer systems 121 , 125, 135 and 137 obtain access to the Internet 103 through ISPs 105 and 107. Access to the Internet 103 allows users of client computer systems 121 , 125, 135 and 137 to exchange information, receive and send e-mails, and view documents, such as documents prepared in the HTML format. These documents are often provided by web servers, such as web server 109 which is considered to be "on" the Internet 103. Often these web servers are
provided by ISPs, although a computer system can be set up and connected to the Internet without that system being as ISP as is well known in the art.
Web server 109 is typically at least one computer system which operates as a server computer system and is configured to operate with the protocols of the World Wide Web and is coupled to the Internet 103. Optionally, web server 109 can be part of an ISP which provides access to the Internet 103 for client systems. Web server 109 is shown coupled to a server computer system 111 which itself is coupled to web content 113, which can be considered a form of a media database. It is appreciated that while two computer systems 109 and 111 are shown in Figure 1A, web server 109 and server computer system 111 can be one computer system having different software components providing the web server functionality and the server functionality provided by server computer system 111 which is described further below.
With the appropriate web browsing software, client computer systems 121, 125, 135 and 137 can each view HTML pages provided by web server 109. ISP 105 provides Internet connectivity to client computer system 121 through a modem or network interface 123 which can be considered part of client computer system 121. Client computer system 121 can be a personal computer system, a personal digital assistant, a network computer, a Web TV system, an Internet radio receiver, or other such computer system. Similarly, ISP 107 provides
Internet connectivity for client computer systems 125, 135 and 137, although as shown in Figure 1A the connections are not the same for these three computer systems. Client computer system 125 is coupled through a modem interface 127 while client computer systems 135 and 137 are part of a LAN. While Figure 1A shows interfaces 123 and 127 generically as "modem," it is appreciated that each
of these interfaces can be an analog modem, ISDN modem, cable modem, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling a computer system to other computer systems. Client computer systems 135 and 137 are coupled to a LAN bus 133 through network interfaces 139 and 141, which can be Ethernet network or other network interfaces. LAN bus 133 is also coupled to a gateway computer system 131 which can provide firewall and other Internet related services for the LAN. Gateway computer system 131 is coupled to ISP 107 to provide Internet connectivity to client computer systems 135 and 137. Gateway computer system 131 can be a conventional server computer system. Also, web server 109 can be a conventional server computer system.
Figure 1 B shows one example of a conventional computer system that can be used as a client computer system, a server computer system or a web server system. It is appreciated that such a computer system can be used to perform many of the functions of an ISP. Computer system 142 interfaces to external systems through the modem or network interface 143. It is appreciated that modem or network interface 143 can be considered part of computer system 142. Interface 143 can be an analog modem, ISDN modem, cable modem, token ring interface, satellite transmission interface (e.g. "Direct PC"), or other interfaces for coupling a computer system to other computer systems. Computer system 142 includes a processor 145, which can be a conventional microprocessor such as an Intel Pentium microprocessor or Motorola Power PC microprocessor. Memory 149 is coupled to processor 145 by a bus 147. Memory 149 can be dynamic random access memory (DRAM) and can also include static random access memory (SRAM). Bus 147 couples processor 145 to memory 149 and also to mass memory 155 and to display controller 151 and to an input/output (I/O)
controller 157. Display controller 151 controls in the conventional manner a display on a display device 153 which can be a cathode ray tube (CRT) or liquid crystal display (LCD). Input/output devices 159 can include a keyboard, disk drives, printers, a scanner, a mouse or other cursor control device, and other input and output devices. Display controller 151 and I/O controller 157 can be implemented with conventional well known technology. A digital image input device 161 can be a digital camera which is coupled to I/O controller 157 to allow images from the digital camera to be input into computer system 142. Mass memory 155 is typically a magnetic hard disk, an optical disk, or another form of storage for large amounts of data. Some of this data is often written by a direct memory access process into memory 149 during execution of software in computer system 142.
It is appreciated that computer system 142 is one example of many possible computer systems which have different architectures. For example, personal computers based on an Intel microprocessor often have multiple buses, one of which can be considered a peripheral bus. Network computers are another type of computer system that can be used with the present invention. Network computers do not usually include a hard disk or other mass storage, and the executable programs are loaded from a network connection into memory 149 for execution by processor 145. A Web TV system, which is known in the art, is also considered to be a computer system in accordance with the present invention, but it may lack some of the features shown in Figure 1B, such as certain input or output devices. A typical computer system will usually include at least a processor, memory and a bus coupling the memory to the processor.
It is also appreciated that computer system 142 is controlled by operating system software which includes a file management system, such as a disk operating system. One example of an operating system software with its associated file management system software is the operating system known as Windows '98 from Microsoft Corporation of Redmond, Washington, and its associated file management system, including Windows Explorer. The file management system is typically stored in mass memory 155 and causes processor 145 to execute the various operations required by the operating system to input and output data and to store data in memory, including storing files on mass memory 155.
Additionally, the term "machine-readable medium" as used herein includes any mechanism for storing or transmitting information in a form readable by a machine (e.g., a computer). For example, a machine-readable medium includes read-only memory (ROM); random access memory (RAM); magnetic disk storage media; optical storage media; flash memory devices; electrical, optical, acoustical or other forms of propagated signals (e.g., carrier waves, infrared signals, digital signals, etc.).
The hardware and operating environment in conjunction with which embodiments of the present invention may be practiced has been described. It is appreciated that the present invention can be practiced with other computer system configurations, including hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, and the like. The present invention can also be practiced in distributed information processing environments where tasks
are performed by remote processing devices that are linked through a communications network.
Figures 2A and 2B illustrate a basic example of the present invention as applied to a plurality of heterogeneous information having three different data sets 202, 204, 206. The data sets 202, 204, 206 are displayed on a display screen 200, such as the display for a desktop computer, portable computer, PDA or cell phone. To provide further illustration, data set 202 may be considered to consist of stock quotes (A), data set 204 may be considered to consist of news headlines (B), and data set 206 may be considered to consist of sports scores (C). In Figure 2A, the data sets 202, 204, 206 are shown in an initial order, which may be a default order or a user-specified order. The data sets 202, 204, 206 may be updated periodically or continuously depending on how the user's system is receiving information. After an update, some of the data sets may include information which is of particular interest to the user. For example, the user's favorite team may have won a game and one of the user's stocks may have significantly increased in value.
As shown in Figure 2B, the data sets 202, 204, 206 are reordered and presented based on the presence of particularly relevant information in the data sets 202, 204, 206 after the data sets 202, 204, 206 have been updated. Thus, if one or more of the user's favorite teams won its game that day/night, then the sports scores (CH) highlighted by the most relevant games (e.g., those involving user's favorite team(s)) are presented first. Additionally, if one or more of the user's stocks increased in value, then the stock quotes (A!) highlighted by the most relevant stock(s) (e.g., user's stock(s)) are presented second. The remaining data set 204 is presented at the end if there has been no update of note
for data set 204. Although Figures 2A and 2B illustrate a top-to-bottom linear ordering, it is appreciated that different linear orders may be used. For example, data sets may be ordered left-to-right or right-to-left. _Furthermore, the data sets may be oriented relative to one another in a non-linear manner. For example, a top priority data set may be positioned in the middle of a display screen, and the other data sets may be located near the periphery of the display screen. It is appreciated that a variety of other orientations are possible.
To provide a reference for determining how the data sets should be ordered, the user may specify priority levels for some or all of the different data sets. For example, the user may specify that sports scores have top priority when the user's favorite team is playing. Additionally, the user may give secondary priority to stock quotes when one of the user's stocks changes value by a certain amount. If the user does not consider the other data sets to be significant, then the user may forego attaching a priority level to the other data sets, which may then be treated neutrally.
In one embodiment of the present invention, the user may not need to manually specify priority levels for any of the different data sets in the heterogeneous group of information. Instead, a system using the present invention may automatically prioritize the different data sets without receiving specific instructions from the user.' For example, a system using the present invention may present the different data sets in a certain order based on the user's prior interaction with the system (e.g., what type of information has the user accessed more often). Also, a system using the present invention may present the different data sets in a certain order based on their relevance to the user's status or context. The user's status or contextual information is information that
the system knows about a particular user, such as the identity of the user, the user's current location, the user's current task, the user's calendar and schedule, etc.
For example, if the user is using a PDA to schedule and keep track of upcoming trips, then the system has access to travel information such as flight numbers, flight times, and destinations. If the user has specified where the user will be just prior to the departure time, the system may determine an appropriate path to the airport. It is appreciated that a plurality of heterogeneous information may be associated with a user's travel plans. In particular, flight information, traffic information and weather information are likely to be of interest to a user. Assuming the user's PDA is capable of receiving updated information via the Internet, the flight information, traffic information and weather information may be updated regularly. If there is no update of note, then the user's flight information, traffic information and weather information may be displayed in a default order, or a status of "OK" may be displayed for each information type.
If there is an update of note, then the system compares the updated information to the user's status/context to determine which information is likely to be of greater interest to the user. For example, if the user's flight is canceled, then that flight information would acquire top priority and be presented to the user before any other information types, even if the update for traffic information indicated heavy traffic on the user's anticipated path to the airport. A top priority data set may be presented along with a visual cue (e.g., a symbol "!") or an aural cue (e.g., a beeping noise). The user may also be notified of a change in the order of the information types using a visual or aural cue. If the user's flight is on time and traffic is not unusually heavy, but there are extreme weather conditions
(e.g., heavy rain, high temperatures, etc.) at the user's flight destination, then that weather information would acquire top priority and be presented to the user before any other information types. As another alternative, the user's flight may be delayed and traffic may be unusually heavy on the user's anticipated path to the airport. In this situation, the system may display the user's flight information and traffic information one after the other, or together, without giving top priority to either information type. However, the user's location status may change, in which case the traffic information may no longer be as relevant. For example, the user may input a different current location, or the user's PDA may be enabled with a Global Positioning System (GPS) which automatically determines the user's current location. If the user's current location is associated with a different path to the airport, then the previous traffic information is no longer as relevant and may be displayed at a lower order or not at all.
As the user's flight information, traffic information and weather information are periodically updated, they may be reprioritized based on the updates and any changes in the user's status/context and then redisplayed on the user's PDA to provide the user with data that is appropriately ordered. Thus, by anticipating the user's interest in the various information types, the system can provide the user with more relevant information. Additionally, because the heterogeneous information types are dynamically ordered, the user can see information that is current as well as relevant without having to search through relatively insignificant information. Accordingly, the present invention is particularly useful for personal digital processing systems (e.g., PDAs, cell phones, etc.) because such systems typically have display screens which can display only a limited amount of information at once.
To ensure the presentation of information that is most relevant to the user, the user may specify threshold levels which must be met by each information type before it acquires any priority level. For example, the user may specify that a flight must be delayed by at least 30 minutes before that flight information acquires heightened priority. Furthermore, the user may also specify that the temperature in a destination city must be above or below certain temperatures before that weather information acquires heightened priority. Top/maximum priority levels and information type preferences, including "tiebreakers" among information types, may also be specified. Thus, the user could specify a preference for viewing flight information over both weather information and traffic information if the flight information and at least one of the other information types contain information of equal priority levels. Alternatively, certain conditions and their associated priority levels may be fixed. For example, a canceled flight may always acquire a top priority level and that flight information may be presented to the user before any other information types.
Although the above example focuses on a user's travel plans to illustrate the present invention, it is appreciated that the present invention is applicable to a variety of scenarios involving the presentation of heterogeneous information. For example, the present invention may be used to dynamically order a plurality of heterogeneous non-travel-related information (e.g., stock quotes, sports scores, e- mails) on a user's personalized web page. The present invention may also be used to dynamically order a plurality of heterogeneous information on a publicly accessible web page based on, for example, the anticipated interest in the various information types of the majority of visitors to the publicly accessible web page.
Figure 3 is a flowchart illustrating one example of a method according to the present invention. In operation 302, a first data set and a second data set are prioritized relative to each other. The first data set includes one data type and the second data set includes a different data type. The first and second data sets may be prioritized according to a user-defined criterion or a default criterion set by a system implementing the method shown in Figure 3. In operation 304, the first and second data sets are presented to the user according to the prioritizing that was performed in operation 302. In one embodiment, the presentation is performed on a display screen of the user's digital processing system (e.g., desktop computer, laptop computer, PDA, cell phone, etc.). In operation 306, the first and second data sets are updated. For example, if the user's digital processing system is connected to the Internet, then updates may be received periodically or continuously via the Internet. In operation 308, the first and second data sets are reprioritized relative to each other based on the update in operation 306. A change in the user's status/context may also be taken into account during the reprioritizing. In operation 310, the updated first and second data sets are presented to the user according to the reprioritizing.
Thus, the present invention may be used to facilitate the ordered presentation of relevant information to a user, even when the information is of different information types. Such an ordered presentation can make the user's information-receiving experience more efficient, effective and enjoyable.
In the foregoing detailed description, the apparatus and method of the present invention have been described with reference to specific exemplary embodiments. However, it will be evident that various modifications and changes may be made without departing from the broader scope and spirit of the present
invention. The present specification and figures are accordingly to be regarded as illustrative rather than restrictive.