Common uses of information technology assets including searching for and displaying data objects representative of many different things. For example, data objects may represent items offered for sale, candidates for jobs, multiple assets capable of use for particular purposes, and the like. Common among such data objects is that the data objects have attributes. For example, items offered for sale may have attributes including a price, a color, a manufacturer, size dimensions, measures of other properties, and the like. Presentation of these data objects within user interfaces allows for sorting on only a single attribute, such as price in an ascending or descending order.
Various embodiments include at least one of a system, a method, and a tangible computer-readable medium with executable instructions stored thereon providing at least one user interface allowing a user to rapidly choose an optimal item, as represented by multi-attribute data objects, among a set of comparable items. Some such embodiments enable a user to select an item from a set of items with respect to the user's preferences. The user's preferences may be provided through input into a user interface and the results rapidly provided in the same user interface. Some embodiments involve a combination of spatial arrangements and user interface implements for graphical positioning techniques tightly connected to the goal of aiding the user in identifying an optimal item.
Within user interfaces, there are prime areas where users first look, or consider to be a starting point, when assessing displayed information. Prime areas may be based on the cultural backgrounds of users, language rules, and other norms. The prime area may be a specific area or a general area. Between two users, the location of the prime area may be different. However, each user has a prime area, such as a top-left position within a user interface, which may correspond to a common starting point for reading in English, Spanish, German, and French text. By leveraging the location of a prime area within a user interface, an intuitive decision aid is provided to users.
Amongst a plurality of multi-attribute data objects that represent items, certain attributes contribute to the optimality of an item. Certain attributes may be more important than others, while other attributes may not have any importance. Further, in some instances, a range of attribute values may be equally relevant. Thus, various embodiments provide mechanisms allowing users to designate data object attributes and precedence among the designated data object attributes. Some embodiments may also include mechanisms allowing users to designate schemes for ranking and filtering data object attribute values. Although ranking may include sorting, ranking is generally a purpose for arranging data object attribute values in an order which reflects a likely user preference. The designated data object attributes, attribute precedence, and attribute value ranking and filtering combine to form data object attribute criterion. The user interface then applies the data object attribute criterion to move the data objects, and attributes thereof, in proximity with the prime area of the user interface relative to a level of compliance with the data object attribute criterion. Relative compliance with the data object attribute criterion is typically indicative of a likely user preference of an item represented by a data object over other items represented by respective data objects. User preferences, as referred to herein, may be in accordance with input received from a user, previous user input retrieved from storage, a default setting, a predicted setting, a configuration stored in executable code, or other data of actual, predicted, or default user preferences. These and other embodiments are described below with reference to the accompanying illustrations.
In the following detailed description, reference is made to the accompanying drawings that form a part hereof, and in which are shown, by way of illustration, specific embodiments in which the inventive subject matter may be practiced. These embodiments are described in sufficient detail to enable those skilled in the art to practice them, and it is to be understood that other embodiments may be utilized and that structural, logical, and electrical changes may be made without departing from the scope of the inventive subject matter. The following description is, therefore, not to be taken in a limiting sense, and the scope of the inventive subject matter is defined by the appended claims.
The functions or algorithms described herein are implemented in hardware, software or a combination of software and hardware in one embodiment. The software comprises computer executable instructions stored on a tangible computer readable medium, such as memory or other type of data storage devices. Further, described functions may correspond to modules, which may be software, hardware, firmware, or any combination thereof. Multiple functions are performed in one or more modules as desired, and the embodiments described are merely examples. The software is executed, at least in part, on one or more of at least one computer processor, digital signal processor, Application Specific Integrated Circuit (ASIC), microprocessor, or other type of processor operating on a system, such as a personal computer (PC), set top box, personal digital assistant (PDA), smart phone, server, router, or other device capable of processing data, including network interconnection devices.
The two-dimensional array 202 of the user interface 200 includes a prime area determined at the top and left area where a data object and attribute intersect 212. This is the location where the most highly rated attribute intersects with a data object most likely to be considered optimal by the user. The optimal data object is determined, or predicted, based on data object attribute criterion. The data object attribute criterion includes an order of precedence of one or more data object attributes, such as price, availability, and color, as illustrated within the user interface 200. These one or more data object attributes and their precedence (i.e., price=1, availability=2, color=3) may each be further augmented with one or more rules for ranking and filtering attribute values of the various data objects. An example ranking rule may be provided to cause data objects to be sorted by a particular attribute, such as price sorted in an ascending order, as illustrated in
Taking into account the data object attribute criterion, including the precedence of the attributes (price=1, availability=2, color=3), the sorting based on price in an ascending order, and the filtering on the color red, the display of the data objects is modified, such as by reordering the data objects. The reordering is applied based on the sorting on price in ascending order which moves the 10.2 MP TECH-IT digital camera from supplier SPOT-ON to the left most (most important) position. Further, the color filter of RED-only is applied, thereby removing data objects of any non-red digital cameras from the two-dimensional array 202. The user may then view the data objects and attributes thereof and quickly view the attributes deemed most important, as may be configured by the user, by default, or as suggested by a developer of the user interface based on data the data objects represent. In the illustrated instance, a user is able to quickly view the price, availability, and color attributes that the user deems most important with the data objects sorted according to a location and arrangement of the prime areas (i.e., top left).
In some embodiments, the prime area may identified with the user interface 200, such as by highlighting, coloring, flashing, or other visual indicia. In instances where an embodiment is applied to a screen reading purpose, such as for use by visually impaired users, an audio indicia may be provided for the prime area. In some embodiments, a user may include non-ranking criterion, such as filters at a pole of the attribute axis, such as Y-axis 206. In such a case, the top-left most position (assuming a top-left prime area) is not the prime area. Instead, the prime area is on the left side at the top-most position of a data object attribute including a ranking rule.
Additionally, filtering rules may be added with regard to one or more data object attributes. As more filtering rules are applied, or at least a more restrictive filtering rule is applied, the remaining data object displayed within the two-dimensional array 202 of the user interface 200 will decrease. In an instance where there is only a single data object remaining after application of one or more filtering rules, the remaining data object is the optimal result.
In some embodiments, an indicia may also be provided within the user interface 200 with regard to data object attributes displayed within the two-dimensional array 202 indicating that one or both of a sorting rule and a filtering rule would not be useful. For example, if all values of a particular attribute of all the data objects are identical, sorting and ranking on that attribute would not assist a user in identifying an optimal data object.
After viewing the results in
Continuing with
The user interface 400 includes a range bar 402 for use in generating a filtering rule that represents a range of data object attribute values present in a data object set, such as the data objects present within the user interface 200 of
In other embodiments, filter rules may be generated on non-numerical values. For example, in
Upon creation of at least one of a filtering rule and a sorting rule, an OK control button 414 may be selected and the rules are populated back into the user interface from which the user interface 400 was opened. For example, a user may select the price attribute in the user interface 200 of
As changes are made to the data object attribute criterion, the changes, in some embodiments, are reflected in one or more data structures from which user interfaces may be modified. Such data structures may also be stored as default values and even associated with different data object types for use when a user interface as described herein is used with data objects, including data representative of different things. For example, the user interface 200 of
The second data structure 504 illustrated in
In some embodiments, the user interface configuration data contained in the first data structure 502 may instead be included within the code of a computer application providing a decision aiding user interface, such as user interface 200 of
The attribute, precedence, ranking, and filter data of the second data structure 504 may be stored in one data structure as illustrated in
In further embodiments, the data of one or both data structures 502 and 504 may be retrieved from a database along with data objects, including attributes. In such instances, the database from which the data objects are retrieved may include metadata providing information for initially displaying data objects and data object attributes within a user interface. In some embodiments, when a user modifies data object attribute precedence and ranking and filtering rules, data representative of the changes may be stored back to the database, or other data source, from which the data objects were retrieved.
In some further embodiments, the attribute, precedence, ranking, and filter data of the second data structure 504 may be associated with a particular type of data object, such as data objects representative of certain types of products (e.g., digital cameras). In other embodiments, the attribute, precedence, ranking, and filter data of the second data structure 504 may be associated with a stored query, such as a query of a human resources database for data objects representative of applicants for a particular job. Thus, when a user retrieves data objects, the query results may also include attribute, precedence, ranking, and filter data, such as the data in the second data structure 504, for use in displaying the results.
In additional embodiments, a single data structure may include a representation of multi-attribute data objects, instructions for generating a user interface for displaying the multi-attribute data objects, and user interface configuration data, such as illustrated in
The various embodiments illustrated and described herein operate, at least in part, on client computing devices such as personal and laptop computers, PDAs, smart phones, and other computing devices. An example of such a computing device is illustrated in
Computer-readable instructions stored on a computer-readable medium are executable by the at least one processing unit 602 of the computer 610. A hard drive, CD-ROM, and RAM are some examples of articles including a computer-readable medium. For example, computer program 625 may be executable to perform one or more of the methods or to provide one or more of the user interfaces illustrated and described herein.
The computer 610 may operate in a networked environment using a communication connection to connect to one or more remote computers, such as database servers. The remote computer may include a PC, server, router, network PC, a peer device or other common network node, or the like. The communication connection may include a Local Area Network (LAN), a Wide Area Network (WAN), the Internet, or other networks. An example of such a networked computing environment is illustrated in
In some embodiments, the client computing devices 702, 704, 706 may take the form of the computer 610 of
The network 708 within the computing environment is representative of one or more computer networks. For example, the network 708 may include one or more of a LAN, a WAN, the Internet, a virtual private network (VPN), a wireless telephone network, and other networks. Connections to the network may be wired or wireless connections.
The database 716, or other data storage, is representative of a data storage location from which multi-attribute data objects may be retrieved. Similarly, multi-attribute data objects may be retrieved from the web server 710. In some embodiments, a client computing device 702, 704, 706 may submit a query over the network 708 for multi-attribute data objects. The query may be directed to the database 716 or the web server 710. Upon receipt of the query, the database 716 may process the query to obtain query results and return the query results over the network 708 to the requesting client. The web server 710, upon receipt of the query, may forward the query to the application server 712. The application server 712 may execute code as needed or referenced by the query to process the query. For example, the application server 712 may be a JAVA compliant application server that provides services over the network 708 via servlets. While processing the query, the application server 712 may retrieve data from the database 714, assemble that data in the form of multi-attribute data objects, and return the data to the requesting client over the network 708 via the web server 710.
The computer 610 of
The method 800 further includes generating 804 a view of the plurality of data objects within a user interface, such as on a display device. The view may be generated 804 according to a user interface precedence configuration defining an order of precedence of user interface locations where data objects and data object attributes are to be displayed according to a data object attribute criterion.
In some example embodiments, the data object attribute criterion consumed by the method 800 includes data identifying one or more data object attributes and data defining a precedence for at least one of the one or more identified attributes in ranking the plurality of data objects. In some embodiments, the data object attribute criterion data identifying one or more data object attributes identifies at least two data object attributes. In some embodiments, the data object attribute criterion may also include at least one of a ranking rule and a filter rule. A ranking rule in such embodiments may be associated with at least one of the one or more identified data object attributes for ranking the plurality of data objects. A filtering rule in such embodiments may be associated with at least one of the one or more identified data object attributes. Application of such a filtering rule may remove data objects from view within the user interface when a value of the at least one of the one or more identified data object attributes is excluded by the filtering rule.
In another method embodiment for generating a decision aiding user interface, the method may be performed on a client computing device. The method in such embodiments may include receiving a dataset having a plurality of data objects with a plurality of data object attributes. The method includes generating a view of the plurality of data objects within a user interface on a display device. The view may include a representation of at least a subset of the plurality of data objects along a first axis with data objects positioned in proximity to a first pole of the first axis relative to importance of the data objects according to data object attribute criterion. The view may also include a representation of a subset of the plurality of data object attributes. The representation of the subset of the plurality of data object attributes may include one or more data object attributes designated as data object attribute criterion. In some embodiments, the data object attribute criterion may include at least two data object attributes. The subset of the plurality of data object attributes are then positioned along a second axis in proximity to a first pole of the second axis according to data object attribute configuration settings.
The data object attribute criterion, as mentioned above, may be formed from the designation of the subset of data object attributes as data object attribute criterion, the proximity of each of the subset of object attributes positioned in proximity to the first pole of the first axis, and the data object attribute configuration settings. In some embodiments of this method, the first pole of the first axis and the first pole of the second axis are identified in a precedence configuration setting consumed by the user interface. The data object attribute criterion may further include data designating a position of each of the subset of the plurality of data object attributes relative to a position from the first pole of the second axis.
In some embodiments, the data object attribute configuration settings of the data object attribute criterion may include a ranking rule associated with at least one of the subset of the data object attributes. Application of such a ranking rule will affect a data object importance determination by identifying, at least in part, a position of respective data objects in proximity to the first pole of the first axis. Some such embodiments may further include a filtering rule associated with at least one of the subset of data object attributes. Application of such a filtering rule typically removes data objects from view within the user interface when a value of the at least one of the subset of data object attributes is excluded by the filtering rule.
The method 900 further includes reordering 904 locations of a plurality of data objects on a data object axis as a function of at least one of a ranking rule and a filtering rule associated with the one data object attribute. Again with reference to
Another example embodiment takes the form of a system, such as computer 610 of
It will be readily understood to those skilled in the art that various other changes in the details, material, and arrangements of the parts and method stages which have been described and illustrated in order to explain the nature of the inventive subject matter may be made without departing from the principles and scope of the inventive subject matter as expressed in the subjoined claims.