Predictive rendering of user interfaces
First Claim
1. A computer program product, tangibly embodied in a non-transitory computer-readable storage medium, comprising instructions operable on a computer to:
- provide a user interface for a computer program application, the user interface being operable to receive input from a user interacting with controls in the user interface and, from the input, to generate user interaction events;
identify one or more future user interaction events that may occur while the user interface is in a current user interface state, the current user interface state comprising one or more controls enabling user input, the controls comprising one or more current properties;
estimate a likelihood for the future user interaction events to occur based on a history of previous user inputs to the user interface;
select one or more of the future user interaction events to pre-process based on the estimated likelihoods that the future user interaction events will occur;
pre-process, while the user interface is in the current user interface state, the selected future user interaction events to generate one or more future user interface states, the future user interface states comprising one or more future properties of the controls in the current user interface state;
pre-render, while the user interface is in the current user interface state, future user interface appearances corresponding to the generated future user interface states; and
store the pre-rendered future user interface appearances for later use.
3 Assignments
0 Petitions
Accused Products
Abstract
Methods and apparatus, including computer program products, implement techniques for rendering the user interface of a software application. A client computer provides a user interface for a computer program application. The user interface is operable to receive input from a user interacting with the client and to generate user interaction events from the input. One or more possible user interaction events are identified on the client while the user interface is in a current user interface state. The possible user interaction events are user interaction events that would arise from input the user interface could possibly receive in the current user interface state from the user. One or more of the possible user interaction events are pre-processed to generate one or more possible user interface states. The possible user interface states are stored for later use.
-
Citations
16 Claims
-
1. A computer program product, tangibly embodied in a non-transitory computer-readable storage medium, comprising instructions operable on a computer to:
-
provide a user interface for a computer program application, the user interface being operable to receive input from a user interacting with controls in the user interface and, from the input, to generate user interaction events; identify one or more future user interaction events that may occur while the user interface is in a current user interface state, the current user interface state comprising one or more controls enabling user input, the controls comprising one or more current properties; estimate a likelihood for the future user interaction events to occur based on a history of previous user inputs to the user interface; select one or more of the future user interaction events to pre-process based on the estimated likelihoods that the future user interaction events will occur; pre-process, while the user interface is in the current user interface state, the selected future user interaction events to generate one or more future user interface states, the future user interface states comprising one or more future properties of the controls in the current user interface state; pre-render, while the user interface is in the current user interface state, future user interface appearances corresponding to the generated future user interface states; and store the pre-rendered future user interface appearances for later use. - View Dependent Claims (2, 3, 4, 5, 6, 7, 8, 9, 10)
-
-
11. A computer-implemented method, comprising the steps implemented by one or more computers of:
-
providing, by the one or more computers, a user interface for a computer program application, the user interface being operable to receive input from a user interacting with controls in the user interface and, from the input, to generate user interaction events; identifying, by the one or more computers, one or more future user interaction events that may occur while the user interface is in a current user interface state, the current user interface state comprising one or more controls enabling user input, the controls comprising one or more current properties; estimating, by the one or more computers, a likelihood for the future user interaction events to occur based on a history of previous user inputs to the user interface; selecting, by the one or more computers, one or more of the future user interaction events to pre-process based on the estimated likelihoods that the future user interaction events will occur; pre-processing, by the one or more computers and while the user interface is in the current user interface state, the selected future user interaction events to generate one or more future user interface states, the future user interface states comprising one or more future properties of the controls in the current user interface state; pre-rendering, by the one or more computers and while the user interface is in the current user interface state, future user interface appearances corresponding to the generated future user interface states; and storing, by the one or more computers, the pre-rendered future user interface appearances for later use. - View Dependent Claims (12, 13)
-
-
14. An apparatus, comprising:
-
a processor for executing program instructions; and a computer-readable storage medium storing the program instructions, the program instructions, when executed by the processor, performing a process comprising; providing a user interface for a computer program application, the user interface being operable to receive input from a user interacting with controls in the user interface and, from the input, to generate user interaction events; identifying one or more future user interaction events that may occur while the user interface is in a current user interface state, the current user interface state comprising one or more controls enabling user input, the controls comprising one or more current properties; estimating a likelihood for the future user interaction events to occur based on a history of previous user inputs to the user interface; selecting one or more of the future user interaction events to pre-process based on the estimated likelihoods that the future user interaction events will occur; pre-processing, while the user interface is in the current user interface state, the selected future user interaction events to generate one or more future user interface states, the future user interface states comprising one or more future properties of the controls in the current user interface state; pre-rendering, while the user interface is in the current user interface state, future user interface appearances corresponding to the generated future user interface states; and storing the pre-rendered future user interface appearances for later use. - View Dependent Claims (15, 16)
-
Specification