See Docket No. 7463-53 and 7463-54 concurrently filed herewith.
This invention relates generally to user interfaces, and more particularly to a method and system for enhancing user interfaces and applications based on context.
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.
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. Some devices offer profiles, but the profiles are manually set or pre-loaded by a device manufacturer and fail to have actual knowledge of the context in which a user operates his or her device or knowledge of a user's usage pattern at all. In such systems, a user typically activates the profiles manually. Such systems having mobile users unfortunately fail to dynamically adapt to different environments. Even stationary users can experience different environments and modes of operation that again fail to dynamically adapt to enhance a user's experience on a device having a user interface.
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.
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. 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 viewed to provide smart pop ups.
Embodiments in accordance with the present invention can provide mobile users with an optimized UI for a given environment or context. What may have an been a ideal user interface or allocation of resources in one context or environment can change in a different context or environment.
In a first embodiment of the present invention, a method of enhancing user interface and target applications based on context awareness can include the steps of tracking 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. The method can further include the steps of generating a pattern from the tracking steps, associating the pattern with a user profile, and configuring the user interface and the operation of the at least one application based on the user profile. Note that the tracking steps can include tracking usage of the user interface at different times, dates, locations or in different environments or contexts as detected by changes in time of day, date, location, user biometric input, external environmental input, user habit, and user application. Also note that the pattern can be generated dynamically such that the user profile can change dynamically as the pattern changes. In this regard, the method can dynamically adapt configurable options such as hot/soft keys, menus, shortcuts, quick links, or any other configurable option on at least one among 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 based on a detected change in context.
In a second embodiment of the present invention, another method of optimizing a user interface based on applications and environment can include the steps of tracking a user's habits and a user's environment, generating a dynamic user profile based on the user's habits and the user's environment, and dynamically identifying performance enhancements for use of the user interface and applications based on the dynamic user profile. Such performance enhancements can include reducing the accessibility of unused functions in at least one among the user interface and the applications or the reassignment of resources to a preferred application based on the dynamic user profile. The reassignment of resources can include the reassignment of application memory for an application currently given priority by the dynamic user profile.
In a third embodiment of the present invention, a dynamically enhanced user interface can include an event tracker, a time tracker, an environmental tracker, and a user pattern profile generator receiving inputs from the event tracker, the time tracker and the environmental tracker and dynamically generating a user pattern profile in response to the inputs from the event tracker, time tracker and environmental tracker. The environmental tracker can be at least one among a light sensor, a biometric sensor, a weather sensor, and a location sensor. The user interface can further include a time of day tracker, wherein the user pattern profile generator further uses inputs from the time of day tracker. The user interface can further include a configurable option manager that manages the presentation of the user interface in response to the user pattern profile generator and an application manager that manages the functions of an application in response to the user pattern profile generator. The configurable option manager can manage the display of soft/hot keys or other configurable options on a graphical user interface of the user interface.
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.
Mobile users access different applications in different environments and have a need for an optimized UI for the given environment/context. In this regard a method and system of enhancing a user interface and target applications based on context awareness 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 ergonomics 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 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. In a simpler view as shown in
Several use case scenarios are illustrated in
In another scenario, a message delivery system can be tailored based on context that is based on message content and time of day. For example, a system that can distinguish between business messages and family related messages can have a different delivery system or accessibility based on business hours. For example, family and business messages can be delivered to different folders or highlighted and a UI can adapt the folder access according to the context. For example, easy and/or direct access to business messages can be given during business hours while easy and/or direct access to family messages can be given during out of work hours or weekends or holidays. Furthermore, a system can be adapted to provide performance enhancement of a particular device, application or component by releasing some resources and tasks that may not be needed to run. For example, memory can be reassigned for runtime applications and other memory can be used in the background based on user habits and context.
In summary, several embodiments provide systems and methods to optimize a UI based on application manager and configurable option managers that can use information gathered on user habits and captured by a profile generator. A context sensitive user profile can be generated based on inputs from GPS, biosensors, and other inputs. As a result, areas where performance of targeted applications and user interfaces can be improved based on the habits and the environment can be identified. In some embodiments, the improvements can involve shutting off unused tasks as well as reassigning resources to preferred applications.
Referring to
Referring to
In light of the foregoing description, it should 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 by 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 also 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.