See Docket No. 7463-52 and 7463-53 concurrently filed herewith.
This invention relates generally to user interfaces, and more particularly to a method and system for assisting a user to more efficiently use a user interface (UI) and applications.
As mobile devices and other electronic appliances become increasingly feature rich, their respective user interfaces are getting more complex. Marketing studies have indicated that approximately 90% of the users seem to be using 10% of the features available. Part of the blame can be placed on the complexity of the overall user interface and more specifically because users get lost in the Main Menu or Application Menus. Since many products today are designed to satisfy the needs of many, an inordinate amount of logical options are provided for Main menus and Application menus. Unfortunately, the numerous options result in a significant number of key presses or steps for all users. Furthermore, this results in many applications and features going unused due to a lack of easy access or guidance.
Existing UIs use soft/hot keys to allow a user a direct link to some applications. The existing soft/hot keys are sometimes user programmable, but remain static once programmed by the user. The soft/hot keys help the user to reduce the number of keystrokes to execute a desired application and to optimize the UI based on the features/applications available and their intended use. Unfortunately, since existing soft/hot key features are static, no consideration is given by the soft/hot key function to the context in which a user is currently operating a device. What may have been a desired link or hot key at one instant in time, place or application, may very well change as a result of use of a device at a different time, place or application. Existing hot/soft keys features fail to provide a dynamically changing hot/soft key function based on changing context. Existing hot/soft key functions also fail to account for a user's habits in traversing through application menus, submenus and the like. Further, once the hot/soft keys are established, there is no assistance provided and no tracking of the use of these easy access links (hot/soft keys).
Although there are systems that change computer user interfaces based on context, such schemes use limited templates that are predefined and fail to learn from a user's habits to re-organized menus (as well as submenus and application menus) and fail to provide smart assist messages. In yet other existing systems by Microsoft Corporation for example, task models are used to help computer users complete tasks such as Microsoft help/assistant, which does not have any information on the user's competence or usage. In this scheme, tasks are viewed in a macro sense such as writing a letter. User inputs are collected in the form of tasks that are then logged and formatted in a such a way (adds a parameter) that they can be parsed into clusters (similar tasks). The application uses this information to complete tasks or provide targeted advertisement. Again, such systems fail to learn from a user's habits and fail to provide smart assist messages. In yet another scheme, a teaching agent that “learns” and provides an advisory style (as oppose to assistant style) help agent exists. The agent is a computer program which simulates a human being and what another human being would do. Such a system fails to analyze a user's work as it is deemed computationally impractical if such a system tries to learn or understand semantics. It breaks down users into experts, intermediate and novice. The user background is stored in adaptive frames. The system learns about user competency based on adaptive frames information. In a nutshell, such a system focuses on modeling a user to understand the competency level so pre-programmed advisory style help can be provided (e.g. appropriate level of examples, guidance on goal achievement etc.) Such a system uses a competence assessment to go to pre-programmed messages and examples. Such a system fails to focus on understanding where a user has been in the past and what are the likely places he/she might be going. Furthermore, the users habits such as hesitation and other actions are not taken into consideration to provide smart pop ups.
Embodiments in accordance with the present invention provide a method and system for a learning user interface framework that can include an event tracker, a time and a pattern/profile generator in an effort to provide intelligent advice regarding menu traversals and application selections.
In a first embodiment of the present invention, a method of advising a user using a user interface can include the steps of tracking a sequence of events initiated by a user on a device having a user interface and at least one application, tracking the number of times an event occurs during a given time, and tracking the time between user initiated events. Such tracking steps can include tracking usage of the user interface at different times, dates, and locations. The method can further include the steps of generating a pattern from the tracking steps, detecting a need for advice from the pattern, and presenting advice to the user in response to the need for advice. The method can further include the step of associating the pattern with a user profile and detecting from the user profile a more efficient pattern. Note, the step of detecting can be done by detecting any number of scenarios including a hesitation between applications, a hesitation on menu navigation, a predetermined time elapsed on each screen, a repeated traversal between applications, and a repeated sequence of selections without full execution of a last step, an unsuccessful search pattern, a fast traversal on a portion of a menu followed by a slow traversal in an another portion of the menu. The step of detecting can also include detecting a lack of usage of a given application, particularly a given application that can be useful to the user as determined by the user profile. Also note that advice can be presented to the user by using pop-up messages to the user.
In a second embodiment of the present invention, a dynamically enhanced user interface having configurable options such as hot/soft keys in a menu can include an event tracker, a time tracker, and a user pattern profile generator receiving inputs from the event tracker and the time tracker to generate a dynamic user pattern profile in response to the inputs from the event tracker and time tracker. Optionally, other trackers can be used such as a time of day tracker or an environmental tracker (such as a light sensor, weather sensor, biometric sensor, or location sensor) that also provides inputs to the user pattern profile generator. The user interface can further include a user assistance generator for detecting problem scenarios in the dynamic user pattern profile and generating a smart tip as well as a presentation device such as a display (or speaker) for presenting the smart tip to a user. The user assistance generator can monitor the dynamic user pattern profile and suggest improvements in usage to a user. The user interface can also include a configurable option manager that dynamically changes the configurable options such as hot/soft keys on the menu based on changes to the user pattern profile. Other configurable options can include menus, shortcuts, quick links, or any other configurable option on a main menu on a user interface, a sub-menu on a user interface, a menu for an application, or a sub-menu for an application. The user interface can further include a problem scenario database that is compared with the dynamic user pattern profile to enable the user assistance generator to detect problem scenarios and provide a corresponding smart tip.
Other embodiments, when configured in accordance with the inventive arrangements disclosed herein, can include a system for performing and a machine readable storage for causing a machine to perform the various processes and methods disclosed herein.
While the specification concludes with claims defining the features of embodiments of the invention that are regarded as novel, it is believed that the invention will be better understood from a consideration of the following description in conjunction with the figures, in which like reference numerals are carried forward.
A method of arranging configurable options such as hot/soft keys in a menu can include a learning user interface architecture 10 as illustrated in
The UIS module 15 can include a UIS application programming interface (API) 19 and a Learning User Interface (UI) module 20 that receives inputs from the application layer 16. The UIS API 19 and the Learning UI module 20 can provide inputs to a dialog block 21. The dialog block 21 and the Learning UI can also correspondingly provide inputs to a dialog formatter 22.
Referring to
The pattern/profile generator 25 records the behavior of the user on time and can use the information from the tracking modules mentioned above to process them to produce patterns, and associations creating a unique profile for a user based on patterns detected. The user behavior can include how, when and where applications are launched, how long the applications are used, intervals between usages and other user behavior patterns. The user assistance generator 26 detects certain patterns from the user profile generated by the pattern/profile generator 25. Using the framework described above, the system can detect, among other things, an unsuccessful search pattern, a hesitation on menu navigation (hesitation time corresponds to confusion), a time elapsed on each screen, a fast traversal on part of the menu (experienced user) followed by a slow traversal indicating difficulty obtaining a desired application, feature or function.
With reference to the generic application tree 30 of
Referring to
Another example as illustrated by the user interface 80 of
Referring to
In light of the foregoing description, it should also be recognized that embodiments in accordance with the present invention can be realized in hardware, software, or a combination of hardware and software. A network or system according to the present invention can be realized in a centralized fashion in one computer system or processor, or in a distributed fashion where different elements are spread across several interconnected computer systems or processors (such as a microprocessor and a DSP). Any kind of computer system, or other apparatus adapted for carrying out the functions described herein, is suited. A typical combination of hardware and software could be a general purpose computer system with a computer program that, when being loaded and executed, controls the computer system such that it carries out the functions described herein.
In light of the foregoing description, it should be recognized that embodiments in accordance with the present invention can be realized in numerous configurations contemplated to be within the scope and spirit of the claims. Additionally, the description above is intended by way of example only and is not intended to limit the present invention in any way, except as set forth in the following claims.