As computers have increased in speed, storage and general processing capability, computer programs have also grown in complexity. Computer operators (e.g. users) often work with very large data sets and computer applications that provide a complex set of functionality. Computers typically present information to operators and receive commands therefrom through a user interface. Application designers often attempt to develop user interfaces that present information to operators with little visual clutter. Doing so facilitates convenient review of large data sets because an operator is able to scan the data set and identify relevant information quickly. Application designers, however, also attempt to develop user interfaces that provide ready access to application features. For example, a user interface may include various buttons, key commands, pull down menus and other command pathways that permit an operator to input a desired command. The complexity of many applications, however, often leads to a correspondingly complex system of command pathways. For example, an operator may be required to traverse several menu paths in order to identify a single command. These menus and windows obscure clean presentation of application data; they are clutter themselves.
One such user interface relies on hyperlinks as a mechanism to enter operator commands to a computer. In browsing applications, for example, hyperlinks provide a mechanism for navigational control and, increasingly, functional control. Implementations vary but, typically, a hyperlink is represented on a browser page by the “hyperlink display”—a text string, an image, a video or some graphical representation of control (arrows, buttons, etc). The hyperlink display occupies a spatial area of the browser page. When an operator interacts with the hyperlink display, for example, by bringing a cursor over the hyperlink display and clicking upon it, the browser interprets the interaction as a command to follow the hyperlink. The hyperlink includes a “target link,” which addresses a network resource, such as information content or application functionality to be invoked. The browser sends a request to retrieve the identified information content, which is delivered to the browser and rendered for display as a page, or to invoke the associated functionality. The newly rendered page may have other hyperlinks, which invoke other content or functionality.
Typically, initiating a single transaction requires a single input, such as a hyperlinked text. To display a robust set of functionality in a single browser page, however, a page becomes increasingly cluttered and hard to read. Accordingly, there is a need in the art for a user interface that displays related information together without requiring repetition of text or multiple layers through different webpages to access more menus or hyperlinks. The embodiment groups accessible processes into a single text area consisting of multiple hyperlinks overlapping a primary hyperlink. In more complex embodiments, emphasis may be added to help the operator locate and understand the functionality of the overlapping hyperlinks. Furthermore, hot spots, areas which an operator can activate in the embodiment, may not overlap completely.
a provides a hypothetical markup language that could be parsed by an embodiment of the interface to display an overloaded hyperlink.
b displays the interface of the parsed hypothetical markup language containing overloaded hyperlinks.
c provides another variation of a hypothetical markup language that could be parsed by an embodiment of the interface to display an overloaded hyperlink.
Embodiments of the present invention provide an interface enabling an operator to access multiple processes in overlapping hyperlink areas. Furthermore, the interface is adaptable to provide different kinds of emphasis to alert an operator to the availability of multiple functionality in a hyperlink area. Tooltips may also be displayed to provide even more information about the additional hyperlinks. While a user interface design may already contain various types of emphasis, the embodiment is flexible and may allow an operator to change settings to alter emphasis corresponding to the hyperlinks. The interface may be displayed for a computer application, web application, or for web pages. The interface may be compatible with different types of programming languages or markup languages.
As one skilled in the art is aware, servers 102 have a multitude of functionality, including running applications, accessing databases, storing web pages, or performing any computational functionality. The peripheral devices 103 could include a fax machine, printer, modem, media player, camera, etc. The communication medium 101, 104, and 106 can consist of an intranet or internet access over a physical communication line, wireless access, or any other type of communication connection, such as USB or firewire, depending on the location and type of the hardware. The terminals 100/105, servers 102, devices 103 and applications thereon may be addressed via universal resource identifiers or uniform resource locators (URLS) according to common practice.
There is no requirement that the first and second hyperlinks refer to network resources that are related. In theory, if useful for an implementation for which the present invention is to be used, the hyperlinks could refer to vastly different resources. Of course, in many applications, the present invention may find use in circumstances where the first and second hyperlinks refer to related resources. For example, a first hyperlink may be provided as part of a navigation path in a larger workflow or transaction. By clicking upon the hyperlink display in a manner that activates the first hyperlink, the browser may be directed to another page, which represents another stage in a larger transaction. By clicking upon the hyperlink display in a manner that activates the second hyperlink, the browser may be directed to a page that, for example, provides contextual information about the next transaction stage for training purposes.
While overlapping hyperlinks may access a separate computer process, the separate processes need not be unique. For example, the primary hyperlink may access a webpage while an overlapping second hyperlink may access the same webpage but at a different section.
Any process requiring a browser-supported user interface would be able to utilize the embodiment. These processes may include a webpage viewable through a web browser or a software application. The sample interface of
In one embodiment, the added functionality of overlapping hyperlinks may include some type of emphasis. While experienced operators of an interface may not need emphasis to understand functionality on an interface, novice operators may find emphasis helpful to learn the various functions of an application interface or web application. The emphasis may be any stimulus to alert the operator to the location and the availability of a secondary hyperlink. In the embodiment, the emphasis may be a line above the text 200 (or an overline) or highlighting 205 the text (highlighted areas are outlined in a dotted box, in this figure only, for emphasis) to represent a second available hyperlink. A first hyperlink display 202 and second hyperlink display 203 would typically be located in an area known as the hyperlink area 204, though other hyperlinks may be accessible outside the hyperlink area 204 as will be described in later figures.
There are many types of emphases that could alert an operator to multiple hyperlink functionality which are not limited to an overline or highlighting, such as changing the color of the font, changing the background color, or altering the text. Altering the text could include flashing the text or even changing the actual words of the text. Emphasis alerting the operator could also be auditory, for example, a bell sound or sound clip with a description of the functionality of the second link. Emphasis could even be olfactory in nature. Emphasis could also be haptic feedback, such as tactile or force feedback on a peripheral device. For example, emphasis could be the vibration of a mouse. Overlapping hyperlinks could also be multiplexed in time, for example, the hyperlink display “Partner” could be displayed in a red font and over time change to a blue font and then back to a red font again or even to a third font color.
The type, timing of the display, and appearance of emphasis may be altered depending on the design of the interface. The embodiment may be adaptable to be able to display emphasis in any number of configurations. For example, it is possible that text is highlighted 205 and overlined 200 when the user interface is first displayed to an operator. It is also possible for text to be highlighted 205 initially and for the overline 200 to only appear when a cursor is placed over the secondary hyperlink. In addition, emphasis can be used singly to represent only each additional hyperlink or there can be multiple emphases for particularly important hyperlink functionality. For example, as in the previous example, a secondary hyperlink could be represented by a yellow highlight and a yellow overline while a tertiary hyperlink could be represented by a green highlight, blue overline, and a sound clip. One skilled in the art would be able to realize the multiple permutations of emphasis that could be available to display to the operator or to be activated when a cursor moves over a particular hyperlink. After continued use of an interface, an interface designer may potentially provide an expert interface for proficient operators or an option for an operator to turn off some emphasis after the operator becomes accustomed to the interface.
The advantage of having compound command functionality is that while functionality on each hyperlink is overloaded, visual display to the operator is not. For example, if there were twenty processes needed, it could require an operator to traverse through twenty different menus before being able to access the needed functionality. In the present embodiment, the twenty processes could be located in five hyperlink displays within the hyperlink area with each hyperlink display having four processes associated with four compound commands, as explained below.
Embodiments of the present invention permit an operator to select among multiple hyperlinks by using compound commands. Typically, an operator enters a simple command upon a single link hyperlink display (e.g., clicking on it) to activate the underlying hyperlink. In one embodiment, the present invention accommodates a hierarchy of command alternatives to differentiate among links. A direct click upon an hyperlink display may follow a first link. A compound command (e.g., CTRL+click) may activate a second hyperlink. Alternatively, clicks of left mouse buttons and right mouse buttons might be used to select a first or second link, respectively.
Where the embodiment displays information from the internet, there is likely to be a standard format in order for the application to parse 801 and format the overloaded hyperlinks for use by the operator. Currently, there is a diverse set of languages that could be parsed and adapted by an embodiment of the interface to display overloaded hyperlinks. In a common markup language, hyperlinks can access resources and hyperlink information is placed between tags called anchors. In addition, style sheets could be used to give emphasis to the various link types.
a provides a hypothetical markup language that could be parsed by an embodiment of the interface to display an overloaded hyperlink. The start of the overloaded hyperlink tag 900 is signified by the word “ohyper”. The tag contains multiple hyperlinks. The first hyperlink 901 displays the word “Link” followed by a number “1” signifying that it is the first hyperlink. The command “href” signifies that the link accesses a URL, though one skilled in the art would recognize that any number of processes or applications could be accessed by a hyperlink. The location of the first hyperlink 902 would typically be the textual sentence 909 found between the start tag and end tag 908. The second hyperlink 910 in this example also accesses a URL and the secondary hyperlink 910 lists a word 911 located within the context of the textual sentence 909 of the primary hyperlink. The interface can then associate the anchor of the second hyperlink within the textual sentence 909. One skilled in the art would realize that this is not the only format of code that could be parsed by the embodiment of the interface. There are many types of code and markup languages, such as XML, XLink, HTML, etc. that could be adapted for the embodiment or which the embodiment can be adapted to parse.
b displays a webpage with overloaded hyperlinks. The primary hyperlink 907 has blue font and is underlined to signify that it has functionality, in this case to access a URL. There is an overline 903 over the word “patent” and an overline 905 over the word “trademark” to signify that there is an overlapping hyperlink. The second hot spot 904 would recognize input to access the “patent” webpage and a tertiary hot spot 906 would recognize input to access the “trademark” webpage. Whereas an interface without overloaded hyperlinks would have required several clicks and calls to servers to request webpages, the embodiment condenses the transaction to a single overloaded hyperlink displayed on a single line and requiring a single input from an operator.
c depicts another variation of a hypothetical markup language that could be parsed by an embodiment of the interface to display an overloaded hyperlink. All the words between an initial hyperlink tag 912 and an end tag 915 would be in the first hyperlink display area. Thus, in the example, the words “Visit the United States Patent And Trademark Office” would have indicia to indicate that it has a hot spot area to access a first hyperlink. Nested tags are also placed within the first group of tags. Thus, words between initial tags 913 and end tags 914 of nested links would be used to represent secondary hyperlinks. Thus, in
At Step 1101 the embodiment has detected movement. If the embodiment determines the mouse is in the hyperlink area 1101 and the operator stimulus is not activated 1102 then the embodiment will initiate the operator stimulus 1103 corresponding to the hot spot in the hyperlink area. If the mouse is not over the hyperlink area the embodiment may choose to turn the operator stimulus off 1105. An exception to this is if a hot spot may extend outside of the hyperlink area, in which case the operator stimulus may still be activated. Alternatively, a UI designer may choose to leave this option out, or to already have the operator stimulus on in order to alert the operator to certain secondary hyperlinks. One skilled in the art will appreciate the flexibility of the embodiment as good UI design is adaptable for different applications, operators, and emphasis. For example, novice operators or children may need emphasis already activated, and it is desirable for certain emphasis to be turned on and off rather than perpetually on, such as for sound files.
In another embodiment of the interface, if there is a tooltip associated with any of the hyperlinks in the hyperlink area, the interface may determine if the operator has hovered the cursor or other input device over the hyperlink area for a predetermined time 1103. If so, the interface would display the tooltip corresponding to the hot spot the cursor is hovering over 1104.
If the embodiment detects that a mouse has clicked on a hot spot within a hyperlink area 1106, if there are multiple inputs corresponding to processes, the embodiment will determine which input was received 1107. The embodiment would activate the process corresponding to the hot spot activated by the operator input 1108.
Several embodiments of the present invention are specifically illustrated and described herein. However, it will be appreciated that modifications and variations of the present invention are covered by the above teachings and within the purview of the appended claims without departing from the spirit and intended scope of the invention.