The invention relates generally to user interface design and more particularly, to a method of transmitting user interaction or effects of user interaction across multiple equivalent user interface pages.
User interfaces are one tool which may be utilized in contemporary software applications to allow a user to interact with computer applications. In some user interface designs, a graphical model is displayed on a monitor where the user may perform, initiate, or manipulate various software functions. A user interface may allow interaction via the use of a mouse and pointer system, keyboard commands, touch screen functionality or an option to use these in combination.
Many software applications contain several pages viewable by a user and some pages may share similar elements. The page viewed by a user may contain hundreds of elements, also known as artifacts, including physical features, such as color, borders, texture, windows, tables, and toolbars. Additionally, depending on the software application and whatever page a user is currently interacting with, the page viewed may contain dozens of features coded for user enablement such as buttons, drop down menus, scroll bars, input fields and customized outputs such as graphics, music, and graphs. Some web based applications have pages that are interlinked with one another, where the pages may share the same look and feel but include different interactive content. For example, a website may include several pages with the similar borders, textures, colors, and fields displaying the website's name and a table of common links desired for display on each page. However, each page may include independent interactive features in portlets that incorporate elements such as animated graphics, input fields for sending comments, or technical run-time software tasks.
In some prior art user interface designs, during the construction phase, each page is independently built. Thus a designer may desire to insert some of the same coding between pages sharing equivalent features and tasks to maintain consistency in look, feel, and functionality. As each page is built, a designer may thus need to store coding for an element or task in a separate file and access the coding each time the element or task is desired in the first and subsequent pages. An alternative is to replicate coding by manual insertion in each page.
As can be seen, there is a need for a method of automatically propagating similar coding between pages containing equivalent features and tasks.
A method of automatically propagating user interaction effects in a framework comprises the steps of building a collection of multiple heterogeneous web based user interface pages; selecting a first web based user interface page including a first set of user interface artifacts comprising user interaction effects selected from a group including html fragments, user interface color, table size, layout change, and user interface size; selecting a second web based user interface page including a second set of user interface artifacts equivalent to the first set and including respective user interaction effects; modifying one or more of the second set of user interface artifacts user interaction effects and producing a user interaction change message including said modifications; sending the user interaction change message to a server side broker on the framework, queuing the user interaction change message on the server side broker; switching back to the first web based user interface page; requesting the user interaction change message from the queue; relaying the user interaction change message from the server side broker to the first web based user interface page; and modifying the first set of user interface artifacts user interaction effects based on the user interaction change message to match the modifications in the second set of user interface artifacts user interaction effects.
These and other features, aspects and advantages of the present invention will become better understood with reference to the following drawings, description and claims.
The following detailed description is of the best currently contemplated modes of carrying out the invention. The description is not to be taken in a limiting sense, but is made merely for the purpose of illustrating the general principles of the invention, since the scope of the invention is best defined by the appended claims.
Referring to
In operation, referring to
While the foregoing is described in the context of two homogeneous interface pages, the asynchronous nature of the present invention permits several interface pages to also be heterogeneous and yet contain equivalent tasks. Thus, in the performance of the automatic propagation of user interaction effects it will be understood that selecting and activating a user interface artifact 280 of one page will, according to the present invention, select and activate equivalent artifacts on any of desired equivalent pages. Additionally, while the context has been described in relation to portlets such as service trees, it will be understood that other features of the user interface pages can be automatically altered across equivalent page artifacts, for example, changing the look and feel of a page, setting table row and column attributes, adding or deleting html fragments, resizing individual page fragments or portlets, and dynamic addition/deletion and resize represent use cases that are determined at runtime based on user action. Still yet, while the foregoing has been described in the context of a client side environment with the user interaction change message 300 transmitted back and forth from a server side broker 250, it will be understood that the same process may be performed in a server side environment with the message transmitted back and forth from a client side broker.
It should be understood, of course, that the foregoing relates to exemplary embodiments of the invention and that modifications may be made without departing from the spirit and scope of the invention as set forth in the following claims.