The present application claims priority from Japanese patent application JP 2009-287503 filed on Dec. 18, 2009, the content of which is hereby incorporated by reference into this application.
The present invention relates to a GUI (Graphical User Interface) technology for application software operating on an information processing system, and relates in particular to technology for customizing a GUI according to the usage status and skill level of the user.
The increasingly high performance of computers in recent years has led to more sophisticated and more complex processing of application software operating on computers. Operation by way of the GUI is in fact the main way to interactively operate application software to perform specific required processing tasks. The GUI is a user interface for using a mouse or other tool to directly operate an image object such as a menu or icon shown on the screen. Utilizing a GUI allows even inexperienced users of that application software to predict the operating method to a certain extent based on the GUI object positions and shapes, and similarities to other applications.
However efficiently running all the special operations and commands for the application software functions, requires mastering the operating methods based on experience and education. Operators need a long learning period for application software whose operation is complicated and tasks requiring special knowledge.
Software tools such as CAD (Computer Aided Design) utilized in fields such as semiconductor integrated circuits, construction and mechanical design are application software focusing on tasks in extremely specialized fields. CAD includes a full range of functions spanning numerous operation items for covering diverse design areas and setting target conditions. Operating the application software to execute this type of complicated processing requires accumulated operating skills and wide-ranging knowledge of the target field. This level of skill and knowledge is a large handicap for beginners.
However, not all the application software functions need be used if the target tasks and target conditions are limited. In such circumstances, users with low skill levels encounter the problem of low task efficiency due to confusion in selecting the functions to use during operation or mistakenly calling up a function not related to the task goal. Moreover, users utilize different operating methods. Low skill level users for example mainly call up a function by selecting an object with a mouse, while high skill level users mainly call up functions by using key binds (functions assigned to selected keys).
When the objective in using application software is to obtain task results at a specified quality, an effective approach for obtaining the desired quality in as short a time as possible, is to provide a method that efficiently operates the application software according to the task skill level of the user.
The technology in JP-A-2003-177854 and JP-A-Hei11 (1999)-39127 discloses methods for judging the proficiency level of the user operating the application software by analyzing user operations such as key press speed, mouse operating speed, frequency of user function selection, and then based on that judgment, specifying a GUI already prepared for each proficiency level.
The technology in JP-A 2008-97466 discloses a method for judging user operating features such as the frequency of user function selection and user confusion and then customizing the GUI based on that judgment.
The technology in JP-A-Hei8 (1996)-292864 discloses a method for establishing rules for trends in customizing a GUI for application software already utilized by the user, and then customizing a GUI based on the established rules when the user is using new application software.
Methods for judging the task skill level of the user performing tasks that utilize the target application software include for example JP-A 2004-110333 which discloses a method for judging user's design technology when designing LSI using design tools by evaluating user replies to test design problems (number of gates, timing violations, timing convergence, operating frequency, power consumption, reply time) on replies to test design problems that evaluate user's design technology when designing LSI using design tools.
The methods disclosed in JP-A-2003-177854 and JP-A-Hei11 (1999)-39127 linked the user GUI operating status according to a pre-established proficiency level for application software operation. However these methods had the problem that no method was described that linked task efficiency (task quality and time required for the task) when using application software to the proficiency level when operating the application software (first issue).
The technology in both patent documents utilized pre-established customizing settings for each proficiency level to customize the GUI but disclosed no method for establishing customized settings linked to the operating status of each user GUI object. These methods therefore had the problem that they were incapable of finely customizing GUI objects according to proficiency levels (second issue).
The technology in JP-A 2008-97466 and JP-A-Hei8 (1996)-292864 both customized the GUI according to customizing trends and operating trends of the actual user but had the problem that they were incapable of making customizing settings based on objective standards (third issue).
All of the above technology of the related art customized the GUI based on the user's GUI operating status and did not customize the GUI based on user skill levels or task contents when using the application software.
The method in JP-A 2004-110333 judged the user's skill level based on the quality (verified results) from test problem design results (circuit designs, layout, etc.) and task time but did not assume use of those results in improving tool operability so this method had the problem that there was no technique for quantizing proficiency levels by using multiple evaluation standards (fourth issue).
In view of the problems with the related art, this invention has the object of providing a GUI customizing method, system and program, in an information processing system capable of resolving the above issues.
In order to achieve the above objects, this invention is a GUI customizing method, information processing system, and program for customizing the GUI of an information processing system including a processing unit to execute software containing the GUI, and in which the processing unit extracts the usage status of the user from the software operating history, clusters the multiple software users based on the degree of similarity in usage status, changes the software GUI based on the usage status representing each of multiple clusters in which the users were grouped based on clustering results, and groups the specified users into any of the multiple clusters by comparing the usage status of the specified user with the usage status representing each cluster, and customizes the software GUI of the specified user based on the GUI of the cluster in which the specified user was grouped.
In order to achieve the above objects, this invention is a GUI customizing method, information processing system, and program for customizing the GUI of an information processing system including a processing unit to execute software containing the GUI, and in which the processing unit groups the multiple software users into multiple categories based on user skill levels when performing tasks utilizing the applicable software, and into multiple task categories grouped according to the attributes of task objects for tasks utilizing the software, and adjusts the software GUI to match each of the multiple grouped categories and, customizes the user GUI grouped into each of the multiple categories.
Namely, in order to resolve the first and the fourth issues, the preferred aspect of this invention compares the task result quality (performance value) and task target values (limiting conditions) according to task content, and calculates the required time (time required for the task) to find the task efficiency using application software; calculates the required time (time required for the task), and based on those results, customizes the GUI according to the judged skill level of the user.
In order to resolve the second issue, the preferred aspect of this invention extracts the usage status (in what way, what GUI object is being used by which user) of the multiple user groups using the application software according to the skill level of the user, and sets the customizing settings for each GUI object from the usage status.
In order to resolve the third issue, the preferred aspect of this invention sets the user GUI customizing settings based on the usage status of the user group in order of high skill level.
Amore specific aspect includes a method for judging the skill level of the user based on the task time and quality of the task result; includes a method for grouping the application software user group into multiple categories according to the skill level and task content; includes a method for accumulating the GUI operating history of the user, analyzing the operating trends based on the accumulated operating history and extracting the GUI usage status; includes a method for clustering the target application software user group into each category based on the usage status; includes a method to set the GUI customizing method based on the usage status per each cluster based on the clustering method; and includes a method for sorting the users for GUI customizing by clustering into one cluster based on the above clustering method based on the degree of similarity in usage status, and customizing the user GUI by applying the GUI customizing method that was set for each cluster.
The customizing method of this invention improves the task efficiency when using application software by optimal customizing of the application software GUI running on the information processing device such as a computer according to the user task skill level.
The present invention customizes the GUI by utilizing user task results from using the application software, the task time, and the operating history of the application software GUI without requiring internal information from the application software. This invention moreover does not require modifying the application software. The method of the present invention can therefore be used with multiple application software, and can easily be applied when changes were made such as by upgrading the application software version.
The preferred embodiments of this invention are described next while referring to the drawings. In the following description, “skill level” is the level of the user and/or operator who is judged based on the quality (performance value) of the task result and the required time (time required for the task). The respective programs or their functions executed by the information processing device are respectively named the processing, method, or processing unit. One should be aware that the “skill level judgment program” is for example sometimes called “skill level judgment processing”, “skill level judgment method”, or “skill level judgment processing unit.”
In
The storage device 104 retains the software and data for the operating system and application as stored files even if the power to the computer system is cut off, and loads that data into the memory 103 when the computer system operates. In this embodiment, these operations are the same as in a typical computer system but are not shown in the drawing because the operations do not appear in the description of the embodiment. Moreover, the computer system 101 contains other software and hardware required for normal operation of a computer system such as EWS, PC and server devices but this software and hardware is not utilized in the description of the embodiment and so does not appear in the drawings.
The memory 103 contains at least the software 110 as the object for applying the GUI customizing method of this embodiment; verification software 111 as an example of a technique for verifying results of user operation using application software; and images for the GUI customizing program 112 for executing the GUI customizing of this embodiment. The memory 103 also stores the operation system 131 and the window system 132.
The GUI customizing program 112 contains a skill level judgment processing unit 113 for judging the task skill level of the user of the application software 110; a task time measurement unit 114 to measure the task time; a GUI usage status extraction processing unit 115 to extract the GUI usage status of the application software; a user category sorter unit 129 to group the users into multiple categories; a user clustering processing unit 116 to cluster the users according to the usage status; a GUI customizing method setter unit 117 to set the GUI customizing method for the application software 110; a similarity judgment processing unit 118 to judge the degree of similarity between the GUI usage status of the user cluster, and the user for whom the GUI is being customized; and a GUI customizing processing unit 119 for executing the GUI customizing.
The storage device 104 stores at least a task result 120 utilizing the application software 110, a result 121 which verified the task results with verification software, a task condition 122 for task performance goals and limiters, etc, a judgment condition 123 for use when judging skill levels of the application software 110 user from the verification results 121, a user skill level 124 that is judged based on the judgment condition 123, a task time 125 required for the task utilizing the application software 110, a user category 130 which is the user grouping results, a user GUI usage status 126, a user cluster 127 which is the user clustering results, and a GUI customizing method 128. The above components generate, update, and load the memory according to the operation of the GUI customizing program 112.
The processor 102 contains at least a CPU (Central Processing Unit). The processor 102 accesses the memory 103 and runs the application software 110, the verification software 111, and the GUI customizing program 112 by way of control software such as an operation system. The processor 102 renders a display on the display device 105 such as an image or character display monitor by way of the I/O control unit 108, and acquires information that the user input by using an input device such as a keyboard 106 or a mouse 107 according to the software.
The verification software 111 is one technique utilized for verifying the task result 201 performance. The verification software 111 verifies the quality and performance of the task result 201, and outputs the verification result 202. The task result 120 and verification result 121 in
The skill level judgment processing unit 113 judges the skill level for user i, task category j by using the verification result 202 of the user i in the task category j; the task time measured by the time task measurement unit 114 by monitoring the application software start-up and task result output, the task conditions 204 as target values and limiting conditions for operation, and the skill level judgment conditions 205. This processing is performed in this embodiment for all users and task categories and the skill level 124 is then found.
The GUI usage status extraction processing unit 115 acquires the status of the application software 110 whose GUI was operated by the user by monitoring the GUI information in application software 110, and extracts the usage status by analyzing this information. The reference numeral 206 is results from extracting the GUI usage status for user i, task category j. The usage status is extracted for all users and task categories when implementing this embodiment and is found as the usage status 126.
The user category sorter unit 129 groups the users who performed each task category into multiple categories based on the skill level 124 for all users and task categories. In
The user clustering processing unit 116 clusters the user groups belonging to each category of user category 210 based on the degree of similarity of each user usage state stored in user usage status 126. In
The GUI customizing method setter unit 117 finds the representative usage status for each cluster from the clustering results 207 and sets that usage status into the GUI customizing method 128 in storage device 104, as the GUI customizing method 208 corresponding to each category. The GUI customizing processing unit 119 decides the GUI customizing method 211 when the user i is performing a task in task category j as described later on, and customizes the GUI based on this method 211. Here, only the same indices i and j are used to simply the figures shown for this invention but in the actual processing a new user different from the user clustering object used here may be the object for GUI customizing. The processing in that case is carried out from the user clustering process onwards, for the user category of the task category associate with the new user.
The similarity judgment processing unit 118 judges the degree of similarity between the usage status for user i, task category j and representative points in each cluster of clustering results 207. Based on this judgment the unit 118 decides to which cluster the user i belongs and sets the similar cluster 209. A limiting condition can be set at this time in which those users who are objects for GUI customizing and clusters that are objects for degree of similarity judgment, are placed in different categories. The rules in that case can be set to link users who are objects for GUI customizing, with categories in which clusters for degree of similarity judgment belong to, for example by selecting a category with a skill level higher than the user skill level such as a category having a skill level at least one stage higher than the user skill level.
The GUI customizing processing unit 119 selects a GUI customizing method corresponding to the similar cluster 209 from 211, and customizes the GUI based on this method. The unit 119 in other words, performs processing such as adjusting, changing, setting, or generating the GUI and then outputs those results.
The task objects in the case of a design tool for example are grouped based on the types of LSI devices for design such as analog LSI and digital LSI. The specific designs are grouped based on the circuit scale expressing the circuit size, the task contents based on what tasks are performed such as forming or forming the circuit and layout, and the design policy stressing items such as the surface area priority and power consumption priority during design work. The embodiment then groups the users based on which task in the task category the application software user is performing.
When grouping tasks, the extent to which the tasks are sub-grouped may be adjusted in cases such as where there are few users grouped into each task section. Moreover the present embodiment may be applied to one task as a whole without sub-grouping the task.
The reference numeral 110 in
During LSI design task for example, the circuit drawing tools and layout drawing tools are equivalent to the application software. Moreover, circuit simulation tools and physical verification tools are equivalent to verification software. If the application software is a circuit drawing tool, then the task results 201 are a net list containing constants for the circuit components and circuit connection relations that were drafted. The verification software 111 verifies the task results 201, estimates the circuit performance by way of circuit simulations and physical verification functions, and outputs the results as the verification results 202.
The task time measurement unit 114 in
The skill level judgment processing unit 113 of
In
The α is here adjusted according to the priority level of each verification item based on the design policy. Moreover, T is set as the reference task time for each task category.
In
The ID entered by the user i when using the application software for example, specifies whether the user i is performing a task. The user i may give notification in advance or a method may be used for entering the task category number at the start of the task to specify that a task in task category j is being performed. A parameter set in the application software may also judge if a task is being performed. In 808, the judgment processing unit calculates the value of the evaluation function f(·) from the verification result 202, the task condition 203, the task time 204, obtained by a user verifying the task results of user i, task category j, on the verification software in 807 based on the results 201 from that task performed by the user in 806, and the judgment processing unit then evaluates performance from the task results. In 809, the judgment processing unit decides the skill level 403 by making a judgment for evaluating performance based on judgment conditions 205, and stores the skill level 403 in the storage device.
The judgment processing unit executes the processing flow in 801 through 809 on all registered users and registered task categories utilized in the GUI customizing process, and judges the skill levels for all user groups using the object application software.
On the display device connected to the computer in the example in
The example in
Assuming for example that the application software is a LSI design tool, the design must then be performed by satisfying conditions in task categories whose object is analog circuit design such as RF circuit design. Such conditions would include performance conditions such as frequency characteristics, noise characteristics, gain (loss), power, and delay time and mounting conditions such as the chip surface area and power consumption. Moreover, task conditions such as target values and limiting conditions must be set after taking into account effects from process variations and parasitic elements such as wiring capacitance and wiring resistance. In order to design a circuit that satisfies the task conditions, parameters must be set not only for circuit element constants but also for the various physical characteristics. In order to assign functions for setting these parameters, the LSI design tool normally includes multiple GUI objects such as menu items, buttons, and text input boxes. These setting items may span many areas but in actual use most parameters can be set as default values without causing problems by taking into account the design policy and target values that should be set. However, actually finding and selecting the required item according to the user's skill level from the many GUI objects is difficult. In such cases, the GUI object matching the item that must be set can be enhanced and unnecessary GUI objects can be hidden on the display, or customizing performed to render some objects non-selectable to alleviate user confusion and user mistakes, to make GUI operation more efficient.
The GUI operating history collecting unit 1001 contains a mouse operation detection unit 1002, a key entry detection unit 1003, and an object selection detection unit 1004. The GUI operating history collecting unit 1001 accumulates information detected by each of the above components as histories. The mouse operation detection unit 1002 detects the movement of the mouse cursor by the user on the GUI object, and operations such as object selection (single click), object execution (double-click), etc. The key entry detection unit 1003 detects key information that the user entered from the keyboard. The object selection detection unit 1004 detects the selection or execution of the GUI object by key input or mouse operation.
The operating trend analysis unit 1005 analyzes the GUI operating trends such as by what type of operation the user executed the application function linked to the GUI object based on the GUI operating history that the GUI operating history collecting unit 1001 collected. The operating trend analysis unit 1005 then outputs the usage status 1006 for user i, task category j based on this analysis. The usage status 1006 is a subset of usage status 126 in
The numeral 1101 in
In
Besides the above described method, other methods for category sorting may include further grouping even of users in the same skill level by different conditions such as user attributes (association, task experience, etc.) or by hardware restrictions on the user terminal, etc. Conversely, the sorter unit can group all users into a single category without sorting user groups belonging to task category j. The method of the invention in that case customizes the GUI according to the task category regardless of the skill level.
The clustering unit 1407 clusters users into multiple clusters 1408, 1409, 1410, . . . (cluster 1411 for each category of task category j) based on the degree of similarity in the usage status corresponding to each of the task category j usage status 1406.
(Menu: 1, Button: 2, Key: 3)
Based on the degree of similarity among all users, the clustering unit performs clustering of each user using feature vectors (of all users), and for example the k-means technique as the clustering method. However, if the vector dimension is large, then the number of dimensions may be reduced by selecting analysis methods such as principle component analysis, or selecting only functions and methods with high frequencies for vector elements. In the example in
The examples in
In the example in
Selecting the skill level SL=3 category for a user at skill level SL=2 allows following the GUI operation of a user with a higher skill level by operating the GUI near that usage state. The consequent result that can then be expected is an improvement in the operating efficiency and skill level of user x.
Besides the above method, another method for judging the degree of similarity is to select a cluster other than the cluster with the highest degree of similarity. A GUI can in this way be selected that is different from the GUI operating trends used by the user x up until now, so one can anticipate that user x will show improved results in mastering new GUI operating methods. The same skill level should be selected in these cases.
After customizing the GUI based on the cluster selected in the above processing, the cluster selection method and method for judging the degree of similarity can be changed if a skill level judgment made after the user performs a specified number of tasks does not exhibit any effects from customizing the GUI. Moreover, if the skill level has been raised then the GUI can be customized to a higher level according to the improvement in user skill by periodically changing the GUI customizing in the above process such as by making similarity judgments targeting a category at a one step higher skill level and then customizing a new GUI. The timing for judging the skill level may be at the point in time the task was completed, or verification results may be evaluated at steps during the task, and the shape of the performance improvement curve for task results then utilized to improve the skill level judgment accuracy.
The numeral 1901 in
The numeral 2001 in
The hide method may for example not show the display, may gray-out the display, or may make the display non-selectable. The enhancing method may for example make bold (thick, black) letters, a flashing display, a large size or set a higher display position, etc.
The mouse cursor can be made easy to guide and select in functions where there is a high mouse operating rate, and conversely made difficult to select in functions with a low operating rate, etc. Also, in functions with a high key operating rate, a balloon display can for example be shown as a hint with information on the corresponding key.
The customizing method in the above example was set automatically based on the usage status. However, the customizing method may also be set heuristically for each category and each cluster, based on the attributes of the user and usage status, and hardware restrictions on the user terminal.
The GUI customizing unit 2104 customizes the GUI by applying the selected GUI customizing method 2103 to the GUI of the application software 110. The method for applying the GUI customizing method to the application software GUI is described in detail, for the GUI customizing application unit in
The processing for controlling and displaying the GUI of this embodiment on an information processing system such as a computer is described next while referring to
The computer containing the GUI system generally includes a window system for controlling the operation and display of the GUI on the operating system. The application system containing the GUI is generally displayed on the monitor of the display device serving as the window on the window system. While viewing the monitor, the user selects or executes objects or controls the cursor using a mouse, or may operate the GUI object application software by using a keyboard.
In
The GUI control unit 2202 executes GUI operating information or drawing requests for the application by exchanging operating commands and drawing command with the window system 132. The application software 110 summons (calls up) the library 2203 prepared in the window system 132 to convey drawing commands and operating commands from the GUI control unit 2202 to the window system 132. The window system 132 displays the drawing information in the application software to the monitor 2205 by way of the display unit 2204. The window system 132 conveys the operating information input by the operating unit 2206 using the keyboard 2207 and/or mouse 2208 to the application software.
The window system 132 displays the customized drawing information on the monitor 2205. Before the keyboard 2207 and mouse 2206 operating information acquired by the window system 132 is conveyed to the application software 110, the GUI customizing application unit 2301 acquires that information and conveys it to the application software after customizing the GUI based on the GUI customizing method 2103. The GUI customizing application unit 2301 accumulates the drawing commands and operating commands called up to display the GUI object and control the input devices by detecting that information by way of a function that monitors the call-up of the GUI library 2203. A function to monitor the call-up of the GUI library 2203 is prepared beforehand for development work on a typical window system. The functions of the GUI customizing application unit 2301 may be installed in the GUI control unit 2202 of application software 110 if the application software 110 can be directly modified.
The operating command detection unit 2404 acquires the user operating information that the window system 132 acquired, and sends that information to the GUI customizing unit 2104. The GUI customizing unit 2104 judges based on the GUI customizing method 2103 whether the detected operating commands are operating commands targeted for customizing, and if operating commands targeted for customizing, customizes those commands in the operating command revision unit 2405. The operating command notification unit 2406 notifies the application software about the customized operating command.
In the systems in
Information processing systems may also include server-client configurations in which an application is installed on a server, and a client terminal starts up the application software, the application software image information appears on the client terminal display device, and the user operates the application software by utilizing a user interface such as a keyboard or mouse connected to the client terminal. In this case, data communication such as drawing information and operating information is carried out between the server and client terminals over a communication network. In this type of configuration, the server side can manage the application software so there is no need to install the application software in each user terminal. The server functions can also be installed at an external (remote) datacenter in a service configuration called an ASP (Application Service Provider) or SaaS (Software as a Service) in which the user accesses the datacenter from the client terminal to use the application. The present invention can also be used on these types of information processing systems.
The GUI customizing method for server-client type information processing systems in the second embodiment is described next while referring to
In another adaptation of the information processing system of the second embodiment as shown in
Utilizing the various methods described in the above embodiments allows customizing the GUI of the application software according to the skill level and usage status of the user. In the above descriptions, verification software was utilized as the method for verifying the task results that used the application software. Other methods however, may include for example methods where expert users evaluate the task results, or methods where the task results are displayed over the Internet and evaluation is performed by the number of queries or by popular vote, etc. In cases in particular where making a quantitative verification is difficult due to the judgment scale such as where judging the artistic quality of task results on application software that for example is editing software such as video, audio or image software; then results obtained by human resources over these type of networks can be utilized as verification results.
This invention relates to a GUI technology for application software operating on an information processing system of a computer, and in particular is effective as a technology for customizing GUI according to the task status and the skill level of the user.
Number | Date | Country | Kind |
---|---|---|---|
2009-287503 | Dec 2009 | JP | national |