Abstract:
A method for providing a simplified menu for a device, by providing a GUI for selecting setting items for display and setting values. Those settings that are different from the standard settings are displayed more prominently, resulting in a display that enables an instantaneous confirmation of the settings. Clicking on tabs to display different menu pages is unnecessary. Those settings that are the same as the standard settings are displayed less conspicuously, such as grayed-out or invisible. Methods include displaying the custom settings as the first tab in the menu, indicating that all the settings are standard, customizing factory-default settings of a printer device, assigning profile names, searching for a profile close to the current settings, differential tree that expands only the branches containing salient settings, associating a setting with another setting, and using a scripting language to specify the setting combinations.

Description:
CROSS-REFERENCES TO RELATED APPLICATIONS 
   Not Applicable 
   FEDERALLY SPONSORED RESEARCH 
   Not Applicable 
   SEQUENCE LISTING OR PROGRAM 
   Not Applicable 
   FIELD OF THE INVENTION 
   This invention relates to the field of graphical user interfaces (GUI), and more particularly to providing an improved, simplified display and menu for a device. 
   BACKGROUND OF THE INVENTION 
   Device drivers are generally known, including a printer driver. Typically, printing from a computer occurs through the use of a printer driver. Upon either an application launch or during a print command load time, the application will call an instance of the printer driver and provide the user with an interface to set the desired printer driver settings. Printer driver settings may also be called printer options, print settings, driver options, printer parameters, print selections, etc. The printer driver settings specify preferences on features of the printer. 
   In a typical GUI (Graphical User Interface) for a device settings menu, the various settings and selections are organizing into several pages, each of which is accessible by clicking on the respective tabs. The various settings are displayed within each page corresponding to the tab. As the number of adjustable features increases, it becomes more difficult to locate the desired setting. Furthermore, having to move to different pages by clicking on the tabs is cumbersome. 
   The present invention arose out of the above concerns associated with providing an improved, simplified display and menu for a device. 
   SUMMARY OF THE INVENTION 
   Methods, computer program products, computing and printing systems for providing a simplified menu for a device by providing a GUI for selecting setting items for display and setting values are described. 
   Those settings that are different from the standard settings are displayed more prominently, resulting in a display that enables an instantaneous confirmation of the settings. Clicking on tabs to display different menu pages is unnecessary. Methods include indicating all the settings are standard, customizing factory-default settings of a printer device, assigning profile names, searching for a profile close to the current settings, differential tree that expands only the branches containing salient settings, associating a setting with another setting, and a scripting language to specify the setting combinations. 
   The invention will be more fully understood upon consideration of the detailed description below, taken together with the accompanying drawings. 

   
     DESCRIPTION OF THE DRAWINGS 
       FIG. 1  is a simplified block diagram showing connection of a computing system to a printer. 
       FIG. 2  is a view of the GUI (Graphical User Interface) for a prior art device driver menu with multiple tabs. 
       FIG. 3  is a flowchart showing selecting setting items for display, setting values, and assigning a profile name, in accordance with a preferred embodiment of the present invention. 
       FIG. 4  is a view of the GUI showing visual distinct displays for setting values that are same and different from the standard settings, in accordance with a preferred embodiment of the present invention. 
       FIG. 5  is a view of the GUI indicating that all the setting values are the same as those in a profile, in accordance with a preferred embodiment of the present invention. 
       FIG. 6  is a flowchart showing display of a profile close to current settings, in accordance with a preferred embodiment of the present invention. 
       FIG. 7  is a view of the GUI of a differential tree in which a branch containing a setting value different from a standard setting is expanded, in accordance with a preferred embodiment of the present invention. 
       FIG. 8  is a view of the GUI of a differential tree in which a branch containing a setting value different from a standard setting is expanded, and in which branches are abbreviated, in accordance with a preferred embodiment of the present invention. 
       FIG. 9  is a flowchart showing how a user can associate a setting value with another setting value, in accordance with a preferred embodiment of the present invention. 
       FIG. 10  is a view of sample scripting language for specifying association rules between setting values, in accordance with a preferred embodiment of the present invention. 
   

   DETAILED DESCRIPTION OF THE INVENTION 
   In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be apparent to one of ordinary skill in the art that these specific details need not be used to practice the present invention. In other instances, well known structures, interfaces, and processes have not been shown in detail in order not to unnecessarily obscure the present invention. 
     FIG. 1  shows a general printing system setup  100  that includes a host computer  110  and a printer  150 . Here, the printer  150  may be any device that can act as a printer, e.g. an inkjet printer, a laser printer, a photo printer, or an MFP (Multifunction Peripheral or Multi-Functional Peripheral) that may incorporate additional functions such as faxing, facsimile transmission, scanning, and copying. 
   The host computer  110  includes an application  120  and a printer driver  130 . The application  120  refers to any computer program that is capable of issuing any type of request, either directly or indirectly, to print information. Examples of an application include, but are not limited to, commonly used programs such as word processors, spreadsheets, browsers and imaging programs. Since the invention is not platform or machine specific, other examples of application  120  include any program written for any device, including personal computers, network appliance, handheld computer, personal digital assistant, handheld or multimedia devices that is capable of printing. 
   The printer driver  130  is a software interfacing with the application  120  and the printer  150 . Printer drivers are generally known. They enable a processor, such as a personal computer, to configure an output data from an application that will be recognized and acted upon by a connected printer. The output data stream implements necessary synchronizing actions required to enable interaction between the processor and the connected printer. For a processor, such as a personal computer, to operate correctly, it requires an operating system such as DOS (Disk Operating System) Windows, Unix, Linux, Palm OS, or Apple OS. 
   A printer I/O (Input/Output) interface connection  140  is provided and permits host computer  110  to communicate with a printer  150 . Printer  150  is configured to receive print commands from the host computer and, responsive thereto, render a printed media. Various exemplary printers include laser printers that are sold by the assignee of this invention. The connection  140  from the host computer  110  to the printer  150  may be a traditional printer cable through a parallel interface connection or any other method of connecting a computer to a printer used in the art, e.g., a serial interface connection, a remote network connection, a wireless connection, or an infrared connection. The varieties of processors, printing systems, and connection between them are well known. 
   The present invention is suited for printer driver settings, and it is also suited for other device drivers. The above explanations regarding  FIG. 1  used a printer driver rather than a general device driver for concreteness of the explanations, but they also apply to other device drivers. Similarly, the following descriptions of the preferred embodiments generally use examples pertaining to printer driver settings, but they are to be understood as similarly applicable to other kinds of device drivers. 
     FIG. 2  is a view of the GUI (Graphical User Interface) for a prior art menu for a device. The user typically accesses this menu  200  by clicking on the “Properties” button in the print menu. Here, the various settings and selections are organizing into several pages, each of which is accessible by clicking on the respective tabs  210 . The various settings  220  (not shown) are displayed within each page corresponding to the tab  210 . As the number of adjustable features increases, it becomes more difficult to locate the desired setting. Furthermore, having to move to different pages by clicking on the tabs  210  is cumbersome. 
     FIG. 3  is a flowchart showing selecting setting items for display, setting values, and assigning a profile name, in accordance with a preferred embodiment of the present invention. In step  310 , a user can use GUI to select a setting item from available setting items for the device. A setting item refers to one of the various selectable options, and a setting value is a value available for the setting item. For example, “On” and “Off” are setting values for the setting item “Duplex” printing. Where there is no ambiguity, “setting” is used. In step  320 , the user can use GUI to specify the setting item to be displayed. By specifying the setting item to be displayed, it will be added to the menu to be displayed prominently, in a manner such as being the first tab in the menu, a tab that is displayed prominently simultaneously as the other tabs in the menu, etc. In step  330 , a user can use GUI to select a setting value to the setting item, changing it from the factory-default value for the device. The value is selected by the typical GUI controls such as checkboxes, buttons, radio buttons, list boxes, combo boxes, scroll bars, push buttons, group boxes, pulldown menus 3-state buttons, trees with selectable items, etc. In step  340 , the user can use GUI to assign a profile name to a set of setting values. A profile name is a nickname that the user assigns to the customized set of setting values, so that the user can easily refer to the set of setting values. In step  350 , the user finishes customization related to the setting item, typically by clicking on a button labeled OK or Finish. 
     FIG. 4  is a view of the GUI showing visual distinct displays for setting values that are same and different from the standard settings, in accordance with a preferred embodiment of the present invention. This sample display includes three settings Duplex, Pages per sheet, and Print text as black. The standard settings typically defaults to the factory-default values for a device. The standard setting values can be customized by the user, when the user specifies the “standard” values. The standard setting values are typically one of the profiles specified by the user. These standard values are the values against which the current setting values are compared, and the difference prominently displayed. In this example, there is no standard value for Duplex in the standard settings. It is presumably left at the setting in the factory-default values for the device. In the standard settings, Pages per sheet is set at 2, and Print text as black is set at Off. In the current settings, Pages per sheet is set at 2, and Print text as black is set at On. In an embodiment of the present invention, the current settings are displayed in the following manner. The “Off” value of the Duplex setting is displayed in a regular manner. The “2” value of the Pages per sheet setting, which is the same as the standard value, is displayed in a first visually distinct manner. The “On” value of the Print text as black setting, which is different from the standard value, is displayed in a second visually distinct manner. This value (as well as the setting item name) is displayed prominently (for example, by using a conspicuous color such as red) to alert the user about the deviation of the standard setting value. The value that is the same as the standard value is displayed less prominently. In an embodiment of the present invention, the first visually distinct manner of display (less prominence) employs grayed-out or invisible characters. In another embodiment of the present invention, the regular manner of display also employs grayed-out or invisible characters. 
     FIG. 5  is a view of the GUI indicating that all the setting values are the same as those in a profile, in accordance with a preferred embodiment of the present invention. In an embodiment of the present invention that employs grayed-out or invisible characters for less prominent settings, if all the settings are the same as the standard settings, the entire menu may become nearly blank. To aid the user, a message such as the following can be displayed: Current settings. The settings are the same as the standard setting: Profile name: “my 2-up standard” 
     FIG. 6  is a flowchart showing display of a profile close to current settings, in accordance with a preferred embodiment of the present invention. This manner of display can be used when multiple profiles are defined. In step  610 , display of the current settings (setting values) is started. In step  620 , a profile with setting values that are close to the current setting values is found. In one embodiment of the present invention, the number of different settings is calculated for each profiles and the profile with the fewest differences is selected. In step  630 , the selected profile name is displayed along with the differences (between the current settings and the settings in the profile). In one embodiment of the present invention, two or more profiles with close set of setting values are displayed. 
     FIG. 7  is a view of the GUI of a differential tree in which a branch containing a setting value different from a standard setting is expanded, in accordance with a preferred embodiment of the present invention. This sample display includes two settings Print text as black and Print graphics as black. Similarly to the dialog box format of  FIG. 4 , in a differential tree, the standard values are the values against which the current setting values are compared, and the difference prominently displayed. In the standard settings, both Print text as black and Print graphics as black are set at Off. In the current settings, Print text as black is set at On and Print graphics as black is off. In an embodiment of the present invention, the current settings are displayed in the following manner. The “On” value of the Print text as black setting, which is different from the standard value, is displayed in a visually prominent manner. This value (as well as the setting item name) is displayed prominently (for example, by using a conspicuous color such as red) to alert the user about the deviation of the standard setting value. The value that is the same as the standard value is displayed less prominently. 
   This differential tree is made up of branches and nodes. At the topmost level there are three branches labeled Media, Imaging, and Output. The two settings are displayed as nodes or terminal nodes labeled Print text as black and Print graphics as black. In an embodiment of the present invention, only branches containing a setting value different from a standard setting values are expanded. In this case, only the Imaging branch and the Graphic settings sub-branch are expanded. In another embodiment of the present invention, branches can be expanded and reduced by clicking on the + and − buttons. In another embodiment of the present invention, clicking on the branches and nodes enables display of help files and setting changes. 
     FIG. 8  is a view of the GUI of a differential tree in which a branch containing a setting value different from a standard setting is expanded, and in which branches are abbreviated, in accordance with a preferred embodiment of the present invention. The displayed, standard, and current settings are the same as in the last figure. This sample display shows abbreviation of sub-branches containing no settings with values that are different from the standard values. The sub-branch labeled “Grayscale Adjustment” is replaced with the abbreviation marker “(● ● ●)” resulting in a more concise tree. In an embodiment of the present invention, another adjacent sub-branches containing no settings with values that are different from the standard values is subsumed by the first abbreviation marker, rather than its own abbreviation marker. In another embodiment of the present invention, the components that are displayed in a visually less prominent manner are shown as grayed-out or invisible. 
     FIG. 9  is a flowchart showing how a user can associate a setting value with another setting value, in accordance with a preferred embodiment of the present invention. In step  910 , a user uses GUI to select two or ore setting values that are to be associated. In step  920  the user uses GUI to make an association between the selected setting values. An example of such an association is given below. 
     FIG. 10  is a view of sample scripting language for specifying association rules between setting values, in accordance with a preferred embodiment of the present invention. A user may specify the following sample association between the setting values. When Duplex printing is used to print on both sides of a sheet, the orientation of flipping can be along the long edge or the short edge. The user may specify long-edge flipping for 1-up printing and short-edge flipping for 2-up printing. (2-up printing is printing two shrunken pages on a side of a sheet). In an embodiment of the present invention, the user specifies this association using GUI, and the association is stored internally using a script language shown in  FIG. 10 . This script-language representation can then be shared with other users or distributed. In another embodiment of the present invention, the user specifies this association directly using the script-language representation. This script-language representation can take other, equivalent forms, such as XML, more compact representations, or more natural-language-like representations. 
   Although this invention has been largely described using terminology pertaining to printer drivers, one skilled in this art could see how the disclosed methods can be used with other device drivers. The foregoing descriptions used printer drivers rather than general device drivers for concreteness of the explanations, but they also apply to other device drivers. Similarly, the foregoing descriptions of the preferred embodiments generally use examples pertaining to printer driver settings, but they are to be understood as similarly applicable to other kinds of device drivers. 
   Although this invention has been largely described using Windows terminology, one skilled in this art could see how the disclosed methods can be used with other operating systems, such as DOS, Unix, Linux, Palm OS, or Apple OS, and in a variety of devices, including personal computers, network appliance, handheld computer, personal digital assistant, handheld and multimedia devices, etc. One skilled in this art could also see how the user could be provided with more choices, or how the invention could be automated to make one or more of the steps in the methods of the invention invisible to the end user. 
   While this invention has been described in conjunction with its specific embodiments, it is evident that many alternatives, modifications and variations will be apparent to those skilled in the art. There are changes that may be made without departing from the spirit and scope of the invention. The invention may be implemented as a computer process, a computing system, or as an article of manufacture such as a computer program product. 
   Any element in a claim that does not explicitly state “means for” performing a specific function, or “step for” performing a specific function, is not to be interpreted as a “means” or “step” clause as specified in 35 U.S.C. 112, Paragraph 6. In particular, the use of “step(s) of” or “method step(s) of” in the claims herein is not intended to invoke the provisions of 35 U.S.C. 112, Paragraph 6.