This invention relates to a graphical user interface (GUI) for a computing device. In particular, the invention relates to a method, apparatus and system to configure and access actions in the GUI.
Most computing devices today use GUIs for accessing software applications. Through consistent display screens, menus and toolbars, the GUIs have simplified the computing experience and have rendered technology in a user friendly manner. For instance, in portals and web applications, the GUIs provide multi-level navigation links, also referred to as “links.” In response to selection of a particular link, access may be provided to portal content and software applications. In addition, the links allow navigation from one portal content page to another.
Based upon a user profile, access to the portal content and software applications in the portal may be provided. The profile may include configuration settings, data and authorization information defining actions which the user is permitted to use. Therefore, the actions performed by the user differ according to the profile the user is associated with.
There may be cases where the user has authorization to perform a series of actions. For example, the profile associated with a sales manager role may include actions such as sales related services, self services and managerial services, which are accessible through the multi-level navigation links under different action buttons. The multi-level navigation links may include links in a hierarchical order providing access to the actions, which are related to a particular action button. In such a situation, the user may be required to navigate down multiple hierarchical levels to reach a desired navigation link that represents a desired action. For example, if the sales manager wants to access an action PAY SLIP OF THE MONTH under the action button SELF SERVICES, the sales manager may be required to navigate down two levels through the path SELF SERVICES/PAYROLL/PAY SLIP OF THE MONTH to access the PAY SLIP OF THE MONTH action. Similarly, if the sales manager accesses an action TRACK SALES ORDER regularly and if the action link is only available five navigation levels down, then the user may have to navigate down five levels to access the action TRACK SALES ORDER. This may result in a waste of time navigating and an unfriendly user experience. The sales manager may face similar problems as mentioned above when navigating up from a particular navigation level.
Although a user may be authorized to access portal content and software applications through the navigation links, there may be situations where the user only accesses only a few links regularly. In these circumstances, GUIs displaying a large number of navigation links are unnecessarily confusing and hard to navigate, especially on devices with limited display area. The problem is manifested in Wireless Application Protocol (WAP) cellular phones and Personal Digital Assistants (PDAs) where increasing the numbers of links may unnecessarily clutter the display area of the computing device, resulting in a reduced content area.
Typically, cellular phones and PDAs operate with limited bandwidth and therefore require significant time to download portal content. Consequently, when a user frequently traverses the same sequence of links in a series of web pages, the process of repeatedly downloading each page and locating and selecting links becomes tedious.
An embodiment of the invention is directed to a method comprising associating at least one action with at least one of a plurality of action buttons; customizing associations of the associated actions; and including the customized associated actions corresponding to one of the plurality of action buttons in an expandable action menu when said corresponding action button is selected, wherein the customized associated actions and the plurality of action buttons are accessible on a common navigation level.
The embodiments of the invention, together with its advantages, may be best understood from the following detailed description taken in conjunction with the accompanying figures in which:
In an embodiment of the invention, the action buttons may include but are not limited to multi-level navigation links to a portal and software application menus. Each action button provides access to actions which are associated with that particular action button. Similarly, the action may provide access to a software application, a software application menu option, a Uniform Resource Locator (URL) and multi-level navigation links of a portal.
The structure and delivery of portal content to the user is determined by role definitions based on the user's task within an organization (i.e., the user's “profile”). Based upon the profile, the actions are associated with a specific action button. For example, the profile associated with a sales manager role may have an action of CREATE INVOICE associated with action button INVOICE. Such associations are often made in a development environment where management of the portal content is defined at design time (i.e., prior to runtime).
In the development environment, conventional web or portal designing tools may be used for defining links which start at a source link and point to link target represented by a result of the actions. The portal designing tool may include an associating tool having a controller layer to define a hierarchy management to organize the portal content into logical categories by defining the structure of the content and to organize the content. The controller layer in the portal designing tool is also used when communicating with the user. According to variations in the role of the user, other associations may be provided for the user. Hence, all the actions available to the user are categorized under action buttons with different actions associated with each action button. For example, for a sales manager role, the profile may include a multi-level navigation link representing action button INOVICE. The action button INVOICE may include actions like CREATE INVOICE, TRACK INVOICE, EDIT INVIOCE, DELETE INVOICE, PAYMENT AWAITED. However, if the user has an additional role such as “Education & Training”, action buttons providing access to actions related to Education & Training may also be provided.
As mentioned above, the action buttons and the actions are made available to the user in an expandable action button menu 115, and expandable action menu 120, respectively. In one embodiment, selecting one of the action buttons in the expandable action button menu populates actions associated with the selected action button in the expandable action menu. The plurality of action buttons and associated actions corresponding to each action button in the expandable action button menu and the expandable action menu respectively are made available on a common navigation level. For instance in the above example, the sales manager accesses CREATE INOVICE action using navigation path . . . / . . . /INVOICE/CREATE INVOICE. This means that the action INVOICE is at different navigation level as the action button INVOICE. However, in one embodiment of the invention the action button and the action are provided on the common navigation level and accessible through the expandable action button menu and expandable action menu respectively. In case the action button and actions are arranged in a hierarchical order in the expandable action button menu and the expandable action menu, the expandable action button menu and the expandable action menu are on the common navigation level, thereby providing the action buttons and actions on the common navigation level.
As mentioned above, in one of the embodiments of the invention, the user may customize 110 the associations between the actions and action buttons. Moreover, in one embodiment, the customization is a function of user profile. Therefore, the customer may be allowed to customize associations, which are made accessible to the user as defined by the user profile. For example, the sales manager may not be able to customize Human Resource (HR) related actions if the profile associated with the user role does not allow access to HR actions. But, if the user has an additional role, the user may customize associations of the additional role.
In an embodiment of the invention, the expandable action menu and the expandable action button menu includes but is not limited to a right click, pop-up, drop down and expandable tree. Furthermore, the selection may include but is not limited to a button on a mouse, pressing a button on a stylus, pressing a key on a keyboard and speaking a voice command. The embodiments of the invention described herein employ drop downs for the expandable action button menu and the expandable action menu. However, a person skilled in the art may employ other possible menu types.
In addition, embodiments of the invention allow the user to create personalized action buttons and to associate actions with the personalized action buttons. The user may include actions, which are made accessible through multi-level navigation links of the portal. In addition, both related and unrelated actions may be associated with any of the action buttons. For example, CREATE INVOICE, TRACK INVOICE, EDIT INVIOCE, DELETE INVOICE and PAYMENT AWAITED are related actions categorized under one action button INVOICE. Unrelated actions may include actions which are often categorized under different categories. For example, for the sales manager role, actions under sales related services are unrelated with actions under self services. The user may also include external links like URLs in any of the action buttons.
In case the user intends to customize the association in the action buttons defined in the development environment or to customize personalized associations, the user may send an Extensible Markup Language (XML) request to the controller layer of the portal designing tool. If the user wants to associate only action 1 and action 2 to action button 1 and only action 5 to action button 2, the user may send the XML request, which may look like:
Similarly, the user may customize the action buttons and include or exclude action buttons from the expandable action button menu. The controller layer of the portal designing tool may check authorization of the user and, based on the authenticity of the authorization, may allow customization of the associations. The user may send the request as a single request for more than one action button with customized associated actions for each such action button. The user may also send such XML requests individually for each action button. Returning to the above example, the sales manager may customize associations by only associating the actions CREATE INVOICE and EDIT INVOICE with corresponding action button INVOICE. In a similar manner, a software application menu may be included as one of the actions buttons and a software application menu option as associated actions. For example, action button FORMAT may include PARAGRAPH, THEME, AUTOFORMAT, TABS and BORDERS AND SHADING as associated actions.
Turning again to
In another embodiment of the invention, a set of rules may be defined for automatically setting one of the plurality of action buttons as a default action button and setting one of the customized associated actions as a default action. Similarly, rules may be defined for automatically arranging the action buttons in the expandable action button menu and the customized associated actions in the expandable action menu. Each rule many either be defined in the development environment by an administrator using a rule engine or the user may set the rule by sending an XML request to the controller layer of the portal designing tool using a rule engine 1045 as illustrated in
A graphical user interface (GUI) employed in one embodiment of the invention is illustrated in
In
In other embodiment of the invention, the system includes a menu design tool 1040 to design display layout of the expandable action button menu and the expandable action menu. A positioning tool 1055 is also provided to arrange the action buttons in the expandable action button menu and the customized associated actions in the expandable action menu, respectively, either manually or automatically. The positioning tool is communicatively connected to the menu design tool to send positioning instructions to the menu design tool. If the positioning is manual, the positioning tool will receive an XML request from the user and transmit the XML request to the design menu tool to reposition the action buttons and actions. A default engine 1050 is also provided to set one of the plurality of actions buttons and one of the actions in each default button as default action button and default action respectively. The default engine is communicatively connected to the associating tool to send default setting instructions to the associating tool. A rule engine 1045 is associated with the positioning tool, the menu design tool and the default engine to automate the positioning and default setting based on the rules associated with the default engine. A memory 1060 is also provided to store related information, which includes the associations, the customized associations and the rules.
The system also includes a selection tool 1010 to select one of the plurality of action buttons from the expandable action button menu. Similarly, the same selection tool may be used to select one of the actions corresponding to the selected action button from the expandable action menu and sends a query. The selection tool is associated with a query sending tool 1065 to send a query in form of Hyper Text Transfer Protocol (HTTP) requests to servers 1020 based upon the selection of the customized associated action to output results. The transmission of the query may take place over a communication network 1015 such as wired or wireless communication medium.
In one of the embodiments, the system includes a memory for storing program code and a processor for processing the program code to generate the GUI, the GUI comprising a default action which, when selected, causes execution of a default action; an action button positioned adjacent to the default action; and a drop-down default action menu displayed upon selection of the default action button, the drop-down default action menu comprised of a plurality of action entries, each action entry corresponding to a user-selectable action; wherein, upon selection from the drop-down default action menu, the selected action entry becomes associated with the default action. The default action and the action button may be selected from a contextual and a graphical button.
Those of ordinary skill in the art will appreciate that the hardware on which the embodiments of the invention are practiced may vary depending on the implementation. Other internal hardware or peripheral devices, such as flash ROM (or equivalent nonvolatile memory) or optical disk drives and the like, may be used in addition to, or in place of the hardware described above. Also, the processes of the invention may be applied to a multiprocessor data processing system.
In one embodiment, the result corresponding to the selection of an action is retrieved from the servers and displayed on the display unit 1005. The result may include a software application, a result of one of the option menus of the software application, a URL and an intermediate result. The intermediate result includes a result wherein entries in a few of the fields are entered by the system based on the selection by the user. One such intermediate result is shown in
Based upon the selection from the expandable action menu, a query is send to the servers, over the network to output results as show in
In another example, as shown in
Other embodiments of the invention may be implemented in digital electronic circuitry, or in computer hardware, firmware, software, or in combinations of them.
Elements of the invention may also be provided as a machine-readable medium for storing the machine-executable instructions. The machine-readable medium may include, but is not limited to, Flash memory, optical disks, CD-ROMs, DVD ROMs, RAMs, EPROMs, EEPROMs, magnetic or optical cards, propagation media or other type of machine-readable media suitable for storing electronic instructions.
It should be appreciated that reference throughout this specification to “one embodiment” or “an embodiment” means that a particular feature, structure or characteristic described in connection with the embodiment is included in at least one embodiment of the present invention. Therefore, it is emphasized and should be appreciated that two or more references to “an embodiment” or “one embodiment” or “an alternative embodiment” in various portions of this specification are not necessarily all referring to the same embodiment. Furthermore, the particular features, structures or characteristics may be combined as suitable in one or more embodiments of the invention.
Throughout the foregoing description, for the purposes of explanation, numerous specific details were set forth in order to provide a thorough understanding of the invention. It will be apparent, however, to one skilled in the art that the invention may be practiced without some of these specific details. The underlying principles of the invention may be employed using a virtually unlimited number of different types of input data and associated actions.
Accordingly, the scope and spirit of the invention should be judged in terms of the claims which follow.