Patent ID: 7039875

Claim:
An apparatus for providing one or more user interfaces for a computer application comprising: a data repository for storing first user interaction specification information providing data for substantially defining one or more instances of user interaction techniques for presentation to a user interacting with a computer application, wherein each said user interaction technique has a distinct collection of user interactions for allowing a user to request a performance of one of a predetermined one or more actions provided by the technique for accessing a functionality of the computer application; a user interface generator for accessing said first user interaction specification information and generating a corresponding user interface for the computer application, wherein with each activation of the computer application, said user interface generator generates said corresponding user interface; wherein for a change in said first user interaction specification information within said data repository such that a first data descriptor for a first of said first user interaction techniques is changed in said first user interaction specification information to a second data descriptor for a different second user interaction technique during an activation of the computer application, said user interface generator generates code for presenting said second user interaction technique in place of said first user interaction technique when the user requests access to a functionality of the computer application that had been previously accessible by said first user interaction technique; and a user interface builder for allowing a user interface designer to create a second user interaction specification information for replacing said first user interaction specification information in said data repository, wherein said user interface builder has a user interface wherein the designer is able to drag and drop graphical representations of user interaction controls onto a page of said second user interlace.