Abstract:
Embodiments of the invention address deficiencies of the art in respect to user interface control groups and provide a method, system and computer program product for rendering a set of user interface controls with dynamic content in a GUI. In one embodiment, the invention can include a data processing system including a set of user interface controls and control data including a set of cumulative selection metrics for each user interface control in the set. Each user interface control in the set, in turn, can include a label and an indicator of cumulative metrics for the user interface control. For instance, the set of user interface controls can include a set of radio buttons in a radio button control group. As another example, the set of user interface controls can include a set of check boxes in a check box control group.

Description:
BACKGROUND OF THE INVENTION  
       [0001]     1. Field of the Invention  
         [0002]     The present invention relates to the field of graphical user interface (GUI) controls and more particularly to displaying dynamic content in a GUI control.  
         [0003]     2. Description of the Related Art  
         [0004]     The conventional graphical user interface (GUI) has been widely used for many years. The primary function of the GUI includes providing visual controls with which the end-user can interact with an underlying application. Though the common GUI includes many stock visual controls, a select few visual controls can be combined to accommodate most computer-human interactions required by an application. For example, the static text box control can be used to present text to the end-user while an edit box can permit the user to provide textual input to the application. A radio button control can provide for the exclusive selection of an element from among a field of elements, while a checklist box can control can provide for the non-exclusive selection of elements from among a field of elements.  
         [0005]     User interface controls ordinarily provide a visual interface which permits some sort of user interactivity, such as a mouse click for a button or check box, and an insert caret for a text field. While a textual label ordinarily is associated with the control as a separate component, the textual label for the control and the control itself often are viewed as a singular entity. As such, the combination of the textual label and the control provide two basic informational components: the identity of the control and the immediate state of the control, e.g. selected, input provided, etc. Notably, over the years, the basic idea of the user interface control has not changed, despite increases in the expressive power of other aspects of the GUI.  
         [0006]     Certain types of a GUI controls can produce clutter in a view due to the separate nature of the label and control. In particular, where the label for the control exceeds the width of the control itself, a limited number of controls can be placed adjacent to one another in a view while maintaining an orderly appearance. Also, the distance between each control can increase as the width of the label far exceeds that of the control. In many cases, groups of controls are arranged together such as an arrangement of radio buttons grouped together to provide a singular choice among the choices corresponding to the radio buttons. In this case, it can be important to arrange the controls close enough together to indicate that a user is to choose one radio button from amongst the arrangement of radio buttons.  
         [0007]     Oftentimes, controls are used repetitively in sequence in a form such as a survey, or in a multiple choice examination. Other times, a single form can be used repeatedly for different circumstances, such as the repeated application of a selection of criteria to a unique data instance. In the latter circumstance, the form can be used repeatedly to process different records in a data set. Conventionally, the user interface controls in a form of this type provide only a static view of the current record or selection. The static view only indicates the current state of the control—in the case of a radio button group, the selected radio button. User interface controls in a form of this type, however, cannot provide a dynamic, cumulative view of the past use of the user interface control so as to guide the user in making a contemporary selection in the control.  
       BRIEF SUMMARY OF THE INVENTION  
       [0008]     Embodiments of the present invention address deficiencies of the art in respect to user interface control groups and provide a novel and non-obvious method, system and computer program product for rendering a set of user interface controls with dynamic content in a GUI. In one embodiment, the invention can include a data processing system including a set of user interface controls and control data including a set of cumulative selection metrics for each user interface control in the set. Each user interface control in the set, in turn, can include a label and an indicator of cumulative metrics for the user interface control. For instance, the set of user interface controls can include a set of radio buttons in a radio button control group. As another example, the set of user interface controls can include a set of check boxes in a check box control group.  
         [0009]     In one aspect of the invention, the cumulative selection metrics for each user interface control can include a numerical indicator of a number of times the user interface control had been selected in the GUI. In another aspect of the invention, the label can include a textual label. Alternatively, the label can include a color. In either case, the indicator of cumulative metrics for the user interface control can include a color filled portion of the user interface control proportional to the cumulative metrics for the user interface control. For example, the color filled portion can be pie shaped.  
         [0010]     Alternatively, the indicator of cumulative metrics for the user interface control can include an arrangement of selection icons filling a portion of the user interface control. For example, the selection icons can include different types of selection icons representative additional dimensions of the cumulative selection metric for the user interface control. Finally, a target indicator can be disposed in the user interface control indicating a preferred cumulative selection metric for the user interface control. As such, an arrow can indicate whether the cumulative selection metric for the user interface control exceeds or falls short of the target indicator.  
         [0011]     In another embodiment of the invention, a method for rendering a set of user interface controls with dynamic content in a GUI can include determining a cumulative selection metric for a user interface control in the set of user interface controls, and rendering the cumulative selection metric for a user interface control within the user interface control in the set. The method further can include color filling a portion of the user interface control proportional to the cumulative selection metric for the user interface control. The method yet further can include rendering a target indicator in the user interface control representative of a preferred cumulative selection metric for the user interface control. Finally, the method can include rendering an arrow in the user interface control indicating whether the cumulative selection metric for the user interface control exceeds or falls short of the target indicator.  
         [0012]     Additional aspects of the invention will be set forth in part in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention. The aspects of the invention will be realized and attained by means of the elements and combinations particularly pointed out in the appended claims. It is to be understood that both the foregoing general description and the following detailed description are exemplary and explanatory only and are not restrictive of the invention, as claimed. 
     
    
     BRIEF DESCRIPTION OF THE SEVERAL VIEWS OF THE DRAWINGS  
       [0013]     The accompanying drawings, which are incorporated in and constitute part of this specification, illustrate embodiments of the invention and together with the description, serve to explain the principles of the invention. The embodiments illustrated herein are presently preferred, it being understood, however, that the invention is not limited to the precise arrangements and instrumentalities shown, wherein:  
         [0014]      FIG. 1  is a pictorial illustration of a user interface control group configured to display dynamic graphical content;  
         [0015]      FIG. 2  is a schematic illustration of a user interface control for use in the user interface control group of  FIG. 1 ;  
         [0016]      FIG. 3  is a schematic illustration of an alternative user interface control for use in the user interface control group of  FIG. 1 ;  
         [0017]      FIG. 4  is a schematic illustration of another alternative user interface control for use in the user interface control group of  FIG. 1 ;  
         [0018]      FIG. 5  is a block diagram illustrating a data processing system configured to dynamically display graphical content in a user interface control group; and,  
         [0019]      FIG. 6  is a flow chart illustrating a process for dynamically displaying graphical content in a user interface control group. 
     
    
     DETAILED DESCRIPTION OF THE INVENTION  
       [0020]     Embodiments of the present invention provide a method, system and computer program product for dynamically displaying graphical content in a user interface control group. In accordance with an embodiment of the present invention, a user interface control group can provide a set of selectable user interface controls. Each of the selectable user interface controls can provide both a label and a dynamic indicator of cumulative selection metrics for the user interface control. Optionally, a graphical indication of a target metric for each selectable user interface control can be included in the user interface control as can a graphical indication of the cumulative selection metrics for comparison to the target metric. In this way, dynamic information regarding the selection of a user interface control can be provided to an end user so as to guide the selection of a user interface control in the control group.  
         [0021]     In illustration,  FIG. 1  is a pictorial illustration of a user interface control group configured to display dynamic graphical content within a GUI. The user interface control group  110  can include a set of selectable user interface controls  120 . The set of selectable user interface controls  120  can support a mutually exclusive selection meaning that only one of the user interface controls  120  can be selected in the control group  110 . Each of the user interface controls  120  can incorporate a static label  130 . Furthermore, each of the user interface controls  120  can include an indicator of cumulative selection metrics  140 . In this regard, the indicator of cumulative selection metrics  140  can indicate how often each particular one of the user interface controls  120  has been selected within the GUI.  
         [0022]     Each user interface control  140  can vary from a simplistic combination of a textual form of the label  130  and textual form of the indicator of cumulative selection metrics  140 , to a complex graphical presentation of the label  130  and indicator of cumulative selection metrics  140 . For example,  FIG. 2  is a schematic illustration of a user interface control for use in the user interface control group of  FIG. 1 . As shown in  FIG. 2 , a user interface control  220  can have both a textual label  230  and a textual indicator of cumulative selection metrics  240 .  
         [0023]     Additionally, the user interface control  220  can include a graphical indicator of the cumulative selection metrics  260 . The graphical indicator of cumulative selection metrics  260  can include a colored fill of the user interface control  220  which consumes a portion of the user interface control proportional to the cumulative selection metrics shown for the textual indicator of cumulative selection metrics  240 . Optionally, a target indicator  250  can be provided which indicates a target selection metric for the user interface control  220 . In this way, when superimposed over the graphical indicator of cumulative selection metrics  260 , it will be apparent visually whether the choice represented by the user interface control  220  has been selected a preferred number of times. Optionally, an arrow indicator  270  can be provided which can indicate whether the cumulative selection metrics for the user interface control  220  exceed or fall short of the target indicator  250 .  
         [0024]      FIG. 3  is a schematic illustration of an alternative user interface control for use in the user interface control group of  FIG. 1 . As shown in  FIG. 3 , the user interface control  320  can include a label  340  which includes a textual label, or a graphical representation of the label, such as a specific color. A portion of the user interface control  320  can be filled with the color for the label  340  in a pie-chart form so as to consume a portion of the user interface control  320  proportional to the selection metrics for the user interface control  320 . In this way, the user interface control  320  of  FIG. 3  can indicate visually the selection metrics for the user interface control  320 .  
         [0025]      FIG. 4  is a schematic illustration of another alternative user interface control for use in the user interface control group of  FIG. 1 . As shown in  FIG. 4 , a user interface control  420  can include a label  430  and an indicator of cumulative selection metrics  440  for the user interface control  420 . Additionally, a target indicator  450  can be provided to graphically indicate a target selection metric for the user interface control  420 . A set of selection icons  460 ,  470  can fill a portion of user interface control  420  to graphically indicate proportionally the selection metric for the user interface control  420 . Notably, the selection icons  460 ,  470  can vary to provide an additional layer of information regarding the selection metrics. Specifically, the selection icons  460 ,  470  can indicate a second dimension of cumulative data for the user interface control  420 .  
         [0026]     Optionally, the user interface control  420  can be a checkbox whose value (checked or unchecked) can remain independent of other checkboxes in a user interface. In this optional circumstance, the selection metric for the checkbox can be based upon the selection of one or more companion checkboxes in other user interfaces. For instance, the selection metric can represent a percentage of end users who have applied a checked value to a companion checkbox in a user interface. Consequently, the selection metric can reflect the value applied to the checkbox by multiple, different end users through different user interfaces.  
         [0027]     The different user interface controls shown in  FIGS. 2 through 4  can be disposed within a GUI in a data processing system. In further illustration,  FIG. 5  is a block diagram illustrating a data processing system configured to dynamically display graphical content in a user interface control group. As shown in  FIG. 5 , the data processing system can include a host computing platform  510  including an operating system  520 . The operating system  530  can host an application  530  providing a GUI  540 . Notably, the operating system  520  can be coupled to a resource defining a user interface control group  550 . Implementations of the user interface control group  550  can be rendered within the GUI  540  for the application  530 .  
         [0028]     The user interface control group  550  can include a set of user interface controls  590  managed by control logic  580 . The control logic  580  can be coupled to both control data  560  and control preferences  570 . The control data  560  can include a one or more dimensions of cumulative metrics for the selection of each individual user interface control in the set of user interface controls  590 . The control preferences  570 , in turn, can include user specified settings for each of the user interface controls in the set of user interface controls  590 . Examples include target metrics for the set of user interface controls  590  and a preferred appearance for each user interface control in the set of user interface controls  570 .  
         [0029]     In operation, the control logic  580  can accumulate selection metrics for each user interface control in the set of user interface controls  590  and can dynamically adjust the appearance of each user interface control in the set of user interface controls  590 . In more particular illustration,  FIG. 6  is a flow chart illustrating a process for dynamically displaying graphical content in a user interface control group. Beginning in block  610 , a set of user interface controls can be created for a GUI. In block  620 , a first user interface control in the set can be selected for processing and, in block  630 , the cumulative metrics for the selected user interface control can be retrieved. Likewise, in block  640 , control preferences for the selected user interface control can be retrieved.  
         [0030]     In block  650 , the selected control can be configured according to the retrieved cumulative metrics and control preferences. Subsequently, in decision block  660 , if further user interface controls in the set remain to be configured, the process can continue in block  670  where a next user interface control in the set of user interface controls can be selected for processing. The newly selected user interface control can be processed in blocks  630  through  650 . When no further user interface controls remain to be processed in decision block  660 , in block  680 , the set of user interface controls can be rendered in the GUI.  
         [0031]     Embodiments of the invention can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment containing both hardware and software elements. In a preferred embodiment, the invention is implemented in software, which includes but is not limited to firmware, resident software, microcode, and the like. Furthermore, the invention can take the form of a computer program product accessible from a computer-usable or computer-readable medium providing program code for use by or in connection with a computer or any instruction execution system.  
         [0032]     For the purposes of this description, a computer-usable or computer readable medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device. The medium can be an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system (or apparatus or device) or a propagation medium. Examples of a computer-readable medium include a semiconductor or solid state memory, magnetic tape, a removable computer diskette, a random access memory (RAM), a read-only memory (ROM), a rigid magnetic disk and an optical disk. Current examples of optical disks include compact disk—read only memory (CD-ROM), compact disk—read/write (CD-R/W) and DVD.  
         [0033]     A data processing system suitable for storing and/or executing program code will include at least one processor coupled directly or indirectly to memory elements through a system bus. The memory elements can include local memory employed during actual execution of the program code, bulk storage, and cache memories which provide temporary storage of at least some program code in order to reduce the number of times code must be retrieved from bulk storage during execution. Input/output or I/O devices (including but not limited to keyboards, displays, pointing devices, etc.) can be coupled to the system either directly or through intervening I/O controllers. Network adapters may also be coupled to the system to enable the data processing system to become coupled to other data processing systems or remote printers or storage devices through intervening private or public networks. Modems, cable modem and Ethernet cards are just a few of the currently available types of network adapters.