A system, method, and computer program product are provided for causing display of a first set of representations of a first set of hyperlinks. In operation, a first input from a user is received indicating a selection of one of the first set of hyperlink representations and causes, in response to receiving the first input, display of a second set of representations of a second set of hyperlinks. Further, a second input from the user is received indicating a selection of one of the second set of hyperlink representations, and causes, in response to receiving the second input, navigation to a destination specified by the selected one of the second set of hyperlink representations.
|
29. A method comprising:
generating content for use in populating a web page that, when downloaded, performs the following:
displaying, after a first access to a server and without using Java, a first set of one or more representations of one or more menu items without any first-set-related images used in the display of the first set of one or more representations in connection with a web page that includes a second set of one or more representations of one or more hyperlinks that are pre-downloaded with the web page, wherein the second set of one or more representations are hidden without particular user input in connection therewith;
receiving, without using Java, a first input from a user indicating a selection of one of the first set of representations of the one or more menu items, the first input including at least hovering and being implemented without using Java;
in response to receiving the first input from the user indicating the selection of one of the first set of representations of the one or more menu items, displaying, immediately and without using Java, the second set of one or more representations of the one or more hyperlinks that are pre-downloaded with the web page such that the second set of one or more representations of the one or more hyperlinks are displayed in a menu in a same window as a corresponding one of the first set of one or more representations of the one or more menu items, and at least partially adjacent to the corresponding one of the first set of one or more representations of the one or more menu items;
detecting, without using Java, a second input from the user; and
in response to detecting the second input from the user, navigating, without using Java,
detecting, without using Java, a third input from the user indicating a selection of one of the second set of representations of the one or more hyperlinks; and
in response to detecting the third input from the user indicating the selection of one of the second set of one or more representations of the one or more hyperlinks, navigating, without using Java, to a destination corresponding to the selected one of the second set of one or more representations of the one or more hyperlinks;
in response to the navigation to the destination corresponding to the selected one of the second set of one or more representations of the one or more hyperlinks, display content of the destination simultaneously with the first set of one or more representations of one or more menu items, so as to allow continued interaction with the first set of one or more representations of one or more menu items and continued interaction with the second set of one or more representations of the one or more hyperlinks while the content is simultaneously displayed, for additional navigation to at least one additional destination and display of additional content, while the first set of one or more representations of one or more menu items is simultaneously displayed;
wherein both the display of the first set of one or more representations of the one or more menu items and the display of the second set of one or more representations of the one or more hyperlinks that are pre-downloaded with the web page, are performed without using Java and without requiring a second access to the server after the first access to the server.
13. An apparatus, comprising:
a non-transitory memory storing instructions; and
one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to:
cause, after an access to a server, display of a first set of one or more representations of one or more menu items without any first-set-related images used in the display of the first set of one or more representations in connection with a web page that includes a second set of one or more representations of one or more hyperlinks that are pre-downloaded with the web page, wherein the second set of one or more representations are initially hidden, and the second set of one or more representations take the form of non-AJAX elements including one or more textual representations of the one or more hyperlinks;
allow, without using AJAX, receipt of a first input from a user indicating a selection of one of the first set of representations of the one or more menu items, a detection of the receipt of the first input, which includes at least hovering, being implemented without Java;
cause, in response to receiving the first input from the user indicating the selection of one of the first set of representations of the one or more menu items, an immediate display of the second set of one or more representations of the one or more hyperlinks that are pre-downloaded with the web page such that the second set of one or more representations of the one or more hyperlinks are displayed in a menu in a same window as a corresponding one of the first set of one or more representations of the one or more menu items, and at least partially adjacent to the corresponding one of the first set of one or more representations of the one or more menu items;
allow receipt of a second input from the user;
cause, in response to receiving the second input, a selection of at least a particular portion of the web page;
allow receipt of a third input from the user indicating a selection of one of the second set of representations of the one or more hyperlinks; and
cause, in response to receiving the third input from the user indicating the selection of one of the second set of one or more representations of the one or more hyperlinks, navigation to a destination corresponding to the selected one of the second set of one or more representations of the one or more hyperlinks;
in response to the navigation to the destination corresponding to the selected one of the second set of one or more representations of the one or more hyperlinks, display content of the destination simultaneously with the first set of one or more representations of one or more menu items, so as to allow continued interaction with the first set of one or more representations of one or more menu items and continued interaction with the second set of one or more representations of the one or more hyperlinks while the content is simultaneously displayed, for additional navigation to at least one additional destination and display of additional content, while the first set of one or more representations of one or more menu items is simultaneously displayed;
wherein both the display of the first set of one or more representations of the one or more menu items and the display of the second set of one or more representations of the one or more hyperlinks that are pre-downloaded with the web page, are performed without requiring an additional access to the server.
27. A method comprising:
generating content for use in populating a web page that, when downloaded, performs the following:
displaying, in response to an access to a server, a first set of one or more representations of a first set of one or more hyperlinks without any first-set-related images used in the display of the first set of one or more representations in connection with a web page that includes a second set of one or more representations of a second set of one or more hyperlinks that are pre-downloaded with the web page, wherein the second set of one or more representations are hidden when the displaying of the first set of one or more representations occurs, and the second set of one or more representations take the form of hypertext including one or more textual representations of the second set of one or more hyperlinks;
receiving, without Java, a first input from a user indicating a selection of one of the first set of representations of the first set of one or more hyperlinks, a detection of the first input, which includes at least hovering, being implemented without Java;
in response to receiving the first input from the user indicating the selection of one of the first set of representations of the first set of one or more hyperlinks, displaying, immediately and without Java, the second set of one or more representations of the second set of one or more hyperlinks that are pre-downloaded with the web page such that the second set of one or more representations of the second set of one or more hyperlinks are displayed in a menu in a same window as a corresponding one of the first set of one or more representations of the first set of one or more hyperlinks, and at least partially below the corresponding one of the first set of one or more representations of the first set of one or more hyperlinks;
receiving a second input from the user;
in response to receiving the second input, visually emphasizing at least a portion of the web page;
receiving a third input from the user indicating a selection of one of the second set of representations of the second set of one or more hyperlinks; and
in response to receiving the third input from the user indicating the selection of one of the second set of one or more representations of the second set of one or more hyperlinks, navigate to a destination corresponding to the selected one of the second set of one or more representations of the second set of one or more hyperlinks;
in response to the navigation to the destination corresponding to the selected one of the second set of one or more representations of the second set of one or more hyperlinks, display content of the destination simultaneously with the first set of one or more representations of the first set of one or more hyperlinks, so as to allow continued interaction with the first set of one or more representations of the first set of one or more hyperlinks and continued interaction with the second set of one or more representations of the second set of one or more hyperlinks while the content is simultaneously displayed, for additional navigation to at least one additional destination and display of additional content, while the first set of one or more representations of the first set of one or more hyperlinks is simultaneously displayed;
wherein both the display of the first set of one or more representations of the first set of one or more hyperlinks and the display of the second set of one or more representations of the second set of one or more hyperlinks that are pre-downloaded with the web page, are performed without requiring an additional access to the server.
1. An apparatus, comprising:
a non-transitory memory storing instructions; and
one or more processors in communication with the non-transitory memory, wherein the one or more processors execute the instructions to:
cause, after an access to a server, display of a first set of one or more representations of a first set of one or more hyperlinks without any first-set-related images used in the display of the first set of one or more representations in connection with a web page that includes a second set of one or more representations of a second set of one or more hyperlinks that are pre-downloaded with the web page, wherein the second set of one or more representations are initially hidden, and the second set of one or more representations take the form of hypertext including one or more textual representations of the second set of one or more hyperlinks;
allow receipt of a first input from a user including hovering that indicates a selection of one of the first set of representations of the first set of one or more hyperlinks, a detection of the hovering being implemented without Java;
cause, in response to receiving the first input from the user indicating the selection of one of the first set of representations of the first set of one or more hyperlinks, a substantially immediate display of the second set of one or more representations of the second set of one or more hyperlinks that are pre-downloaded with the web page such that the second set of one or more representations of the second set of one or more hyperlinks are displayed in a menu in a same window as a corresponding one of the first set of one or more representations of the first set of one or more hyperlinks, and at least partially below the corresponding one of the first set of one or more representations of the first set of one or more hyperlinks;
allow receipt of a second input from the user;
cause, in response to receiving the second input, a visual emphasis of at least a portion of the web page;
allow receipt of a third input from the user indicating a selection of one of the second set of representations of the second set of one or more hyperlinks; and
cause, in response to receiving the third input from the user indicating the selection of one of the second set of one or more representations of the second set of one or more hyperlinks, navigation to a destination corresponding to the selected one of the second set of one or more representations of the second set of one or more hyperlinks;
in response to the navigation to the destination corresponding to the selected one of the second set of one or more representations of the second set of one or more hyperlinks, display content of the destination simultaneously with the first set of one or more representations of the first set of one or more hyperlinks, so as to allow continued interaction with the first set of one or more representations of the first set of one or more hyperlinks and continued interaction with the second set of one or more representations of the second set of one or more hyperlinks while the content is simultaneously displayed, for additional navigation to at least one additional destination and display of additional content, while the first set of one or more representations of the first set of one or more hyperlinks is simultaneously displayed;
wherein both the display of the first set of one or more representations of the first set of one or more hyperlinks and the display of the second set of one or more representations of the second set of one or more hyperlinks that are pre-downloaded with the web page, are performed without requiring an additional access to the server.
2. The apparatus of
3. The apparatus of
4. The apparatus of
5. The apparatus of
6. The apparatus of
7. The apparatus of
8. The apparatus of
9. The apparatus of
10. The apparatus of
11. The apparatus of
12. The apparatus of
the first set of one or more representations of the first set of one or more hyperlinks includes a set including a single representation of a single hyperlink;
the second set of one or more hyperlinks are displayed below and to a side the corresponding one of the first set of one or more representations;
the second set of one or more hyperlinks are displayed immediately below the corresponding one of the first set of one or more representations;
other portions of the webpage other than the first set of representations include images;
images other than any first-set-related images are pre-downloaded with the web page;
second-set-related images are pre-downloaded with the web page for use in the display of the second set of representations;
the second set of one or more representations of the one or more hyperlinks are pre-downloaded with the web page by being downloaded prior to the first user input;
the first set of one or more representations of one or more menu items and the content is simultaneously displayed in separate frames;
at least on operation other than those being implemented without Java, are implemented with Java; and
the at least a portion of the web page includes a text item.
14. The apparatus of
15. The apparatus of
16. The apparatus of
17. The apparatus of
18. The apparatus of
19. The apparatus of
20. The apparatus of
21. The apparatus of
22. The apparatus of
23. The apparatus of
24. The apparatus of
25. The apparatus of
26. The apparatus of
28. The method of
|
The present application claims priority to and is a continuation of U.S. application Ser. No. 14/224,002 filed Mar. 24, 2014, which is U.S. application Ser. No. 12/334,068 filed Dec. 12, 2008, now issued under U.S. Pat. No. 8,682,961, which is a continuation of U.S. application Ser. No. 11/384,957 filed Mar. 20, 2006, now issued under U.S. Pat. No. 7,529,795, both of which are incorporated herein by reference and which, in turn, incorporate by reference U.S. Provisional Application Ser. No. 60/784,141 filed Mar. 20, 2006 and U.S. Provisional Application Ser. No. 60/784,140 filed Mar. 20, 2006, all of which are incorporated herein by reference.
The present invention relates to computer-implemented techniques for improving the usefulness of hyperlinks in web pages.
Web pages, and other kinds of hypertext documents, use textual representations of hyperlinks to indicate to the user which hyperlinks the user may follow. For example, if a web page includes the text, “Click here for more information,” the word “here” may be underlined to indicate to the user that selecting (e.g., clicking on) the word “here” will cause the web browser to navigate via a hyperlink to another web page (referred to as the “anchor” of the hyperlink).
Textual hyperlinks have proven to be extremely useful and powerful tools. In fact, in the first incarnation of the World Wide Web, web pages could only contain text. In such web pages, all hyperlinks were visually represented using text displayed with a special characteristic (e.g., underlining or a special color) indicating that the text represented a hyperlink. Textual representations of hyperlinks have the benefit, for example, of allowing hyperlinks to be visually embedded within otherwise normal prose text, such as news articles and email messages, without visually interrupting the flow of such text.
Textual representations of hyperlinks, however, have certain drawbacks. For example, the textual representation of a hyperlink may not make the destination (anchor) of the hyperlink clear to the user. In the case of the text “Click here for more information,” where the word “here” represents a hyperlink, the text does not convey the destination of the hyperlink to the user. Instead, the user only knows that clicking on the word “here” will cause the web browser to leave the current web page and navigate to another one. To identify the destination of the web page, the user may be required to navigate to that web page (by selecting the hyperlinked text) and view it, or to perform a cumbersome operation such as cutting and pasting the URL of the hyperlink into a document. In either case, it is tedious and time-consuming for the user to identify the destination of the hyperlink and therefore to decide whether to navigate to that destination.
Some have attempted to address these problems with textual representations of hyperlinks by using graphical representations of hyperlinks. For example, a picture of a person on a web page may represent a hyperlink to that person's home page. Clicking on the picture will cause the web browser to navigate to the hyperlinked home page. Graphical hyperlinks have the benefit, in comparison to purely textual hyperlinks, of providing the user with a clearer indication of the hyperlink's destination. On the other hand, graphic images must typically occupy a significant area on the web page (so-called visual “real estate”) before they can provide enough visual information to be useful to the user as an indication of the hyperlink's destination. Graphical hyperlinks, therefore, are of limited value in web pages and other situations in which visual real estate is at a premium and must be used as efficiently as possible.
What is needed, therefore, are improved techniques for providing visual representations of hyperlinks.
A computer program provides a first set of representations (e.g., textual representations) of a first set of hyperlinks. In response to selection by a user of one of the first set of hyperlink representations (such as by clicking on or hovering a cursor over the representation), the program displays a second set of representations (e.g., graphical representations) of a second set of hyperlinks. The user may select one of the second set of representations, in response to which the program navigates to the destination of the hyperlink. The second set of representations may, for example, be logos of companies, and the second set of hyperlinks may be hyperlinks to the companies' web sites.
Referring to
In general, the window 300 shown in
The web page 306 is an example of a “source” web page as that term is used herein. The message table 302 may include summaries of messages originally posted to more than one source web page. The web page 300, therefore, provides an aggregation service which aggregates messages from a plurality of web-based message boards. The web page 300, therefore, is referred to herein as an “aggregation” web page.
Having described certain general features of particular embodiments of the present invention, techniques that may be used to implement embodiments of the present invention will now be disclosed. Referring to
Furthermore, although only three external message boards 102a, 102b, and 102m are shown in
A single message board, such as a web-based financial message board, may include a plurality of topics, each of which may include a plurality of threads or sub-topics. For ease of illustration and explanation, each of the message boards 102a-m is illustrated in
The aggregation system 100 also includes a message board aggregation server 112 and a corresponding message board 114 (which includes set 116 of messages 118a-n). The message board 114 is managed by the aggregation server 112 or by the same entity that manages the aggregation server. Therefore, the message board 114 will be referred to herein as an “internal” message board, while the message boards 102a-m will be referred to herein as “external” message boards in relation to the aggregation server 112. As will be described in more detail below, the aggregation server 112 aggregates messages from two or more of the message boards 102a-m and 114, and displays content from the aggregated messages in the web page 300.
Referring again to
In the particular example illustrated in
The user 142 selects other input parameters (such as the number of messages to be retrieved) (step 203). As described in more detail below, the aggregation server 112 may store the other input parameters in a set of other preferences 126.
The user 142 selects a particular message board topic to view (step 204). The user 142 may, for example, make this selection by identifying a particular company, such as by typing the company's name or stock ticker symbol in text field 312 and clicking button 314. This is only one of many ways in which the user may select a message board topic to view.
Furthermore, in the embodiment illustrated in
The user's message board selection is transmitted by the web browser 140 over the Internet 138 to the message board aggregation server 112. In response to receiving the user's selection, the aggregation server 112 retrieves information derived from messages in the selected source message board(s) having the selected topic (step 206). In the embodiment illustrated in
Note further that any subset of the external message boards 102a-m may be selectable as a source by the user 142. Such a subset may, for example, consist of all of the external message boards 102a-m, any one of the message boards 102a-m, or any combination of fewer than all of the message boards 102a-m.
The information extracted from the selected source message board(s) by the aggregation server may include any of a variety of information that may be of interest to the user 142. Examples of information that may be extracted from each on-topic message in the selected message board(s) includes, but is not limited to the message title, author, ID, sentiment, time of writing, web page source, person being replied to, and message statistics (e.g., the number of times others have recommended the message, or a rating of the popularity of the message).
At any time during performance of the method 200 illustrated in
The particular selection of fields allowed in the embodiment illustrated in
At any time during performance of the method 200 illustrated in
The aggregation server 112 keeps track of: (1) the source message board(s) selected by the user 142 in source selections 1-20; (2) the topic (e.g., company) selected by the user 142 in topic selection 121; (3) the field(s) selected by the user 142 in field selections 122; (4) the sort order 124 selected by the user 142 in sort order 124; and (5) any other preferences 126 specified by the user 142.
The aggregation server 112 includes an aggregation engine 128, which generates message content units 132 based on the information extracted in step 206 and the user preferences described above (step 212). For example, the message content units 132 may include a content unit for each message that matches the topic selection 121 (e.g., company) in any of the source message board(s) indicated by the source selection(s) 120. Each of the message content units 132 may include information only for the fields specified by the field selections 122, but this is not required. The message content units 132 may, for example, include extracted information for fields other than those specified by the field selections. The message content units 132 may include all of the information that was extracted in step 206.
As will be described in more detail below, the information in the message content units 132 forms the basis for the information displayed in the message table 302 on the web page 300 (
The aggregation engine 128, therefore, provides message content 130 corresponding to the currently-selected message summary in the message table 302 (step 214). The aggregation engine 128 may, for example, provide the content 130 in the form of HTML and/or other web content by copying the content 130 from its source message board (e.g., one of the external message boards 102a-m or the internal message board 114). The content 130 may either be copied to a storage medium local to the aggregation server 112, or merely passed as a reference to the client web browser 140, which may retrieve the message content 130 directly from its source and display it in the frame 308, without using the aggregation server 112 to serve the content 130 to the user 142.
The aggregation server 112 includes a web page generator 134, which produces an aggregated web page 136 (including HTML and/or other web content) that includes both the message content units 132 and the message content 130 (or a link to the message content 130) (step 216). The aggregated web page 136 may, for example, include a first frame for displaying a table including information from the message content units 132, and a second frame for displaying the message content 130.
The aggregation server 112 transmits the aggregated web page 136 to the web browser 140 over the Internet (step 218). The web browser 140 displays a window (such as the window 300 shown in
As described above, the message content units 132 that are downloaded by the web browser 140 to the local machine of the user 142 may include more information than is displayed in the table 302. The table 302 may, for example, be designed to display only the information that is considered most important to the user 142, such as the title, author, and/or timestamp of the aggregated messages. The user 142 may, however, read a particular one of the message summaries in the table 302 and desire to obtain additional information about the corresponding message. Although the user 142 could obtain such additional information by clicking on the message summary, thereby causing the corresponding message web content to be displayed in the frame 308, this requires the web browser 140 to download and render additional web content. Acquiring additional information about many messages in this way may therefore be tedious and time-consuming.
Alternatively, the web page 300 allows the user 142 to quickly obtain additional summary information about any message listed in the table 302 by, for example, moving and holding (“hovering”) the mouse cursor over the message's summary. For example, in the case illustrated in
Because the additional summary information has been preloaded by the web browser 140 in the process of downloading the message content units 132 from the aggregation server 112, the web browser 140 may generate and display the tooltip essentially instantaneously, and without again accessing the server 112. This allows the user 142 to quickly browse such additional information for many messages listed in the table 302 quickly and easily, simply by moving the mouse cursor over the corresponding message summaries.
The aggregation of messages from multiple message boards at multiple URLs into a single rich web page, including content initially is hidden and that may be displayed essentially instantaneously by the web browser client 140 without the need to make an additional access to the server 112, is made convenient by the increasing availability of broadband connectivity to users. Such broadband connectivity increasingly is available not only through wired networks at home and in the workplace but also through wireless networks accessible using mobile computing devices. By making it feasible for the client web browser 140 to download content-rich web pages without causing the user 142 to incur a significant delay before the web page is displayed, broadband connections allow the web browser 140 to provide a degree of interactivity in web pages that approaches or even matches that previously available only in client-side applications.
Note that the use of a tooltip is provided merely as an example and does not constitute a limitation of the present invention. Rather, the additional summary information may be provided in other forms, such as in a static object (e.g., a text box) on the web page 300. Furthermore, the user 142 may cause the additional summary information to be displayed using actions other than hovering, such as clicking or pressing a hotkey.
The tooltip, or other graphical user interface element that is used to display additional summary information, may be variable in size. For example, the web page 300 may allow the user 142 to select from among three sizes: small, large, and very large. The very large size may be particularly useful for users who are visually impaired. Such a feature may make it possible for visually impaired users to benefit from the features of the web page 300, without requiring the design of the web page (e.g., the font size of text in the table) to change.
Furthermore, the web page 300 may be implemented such that selecting (e.g., hovering or clicking) one of the message summaries in the table 302 always causes the corresponding message to be displayed in the frame 308, while the additional summary information (e.g., tooltip) is displayed. Although there may be some delay in loading and displaying the full message in the frame 308, the user 142 may view the additional summary information essentially immediately, thereby enabling the user 142 to decide quickly whether to wait for the remainder of the message to load or to move on to the next message summary.
The web page 300 may allow the user 142 to post additional messages to any-of the source message boards. For example, in the embodiment illustrated in
Similarly, the web page 300 may include a “Reply Message” button (not shown in
Message summaries in the message table 302 may be sorted in any manner. For example, the summaries may be sorted by time of posting by default. The user 142 may, however, sort these messages in other ways (e.g., by message title, message author, message ID, message sentiment, message web page source, person being replied to). If the message table 302 includes message summaries derived from multiple source message boards, the message table 302 may nonetheless display the summaries in an aggregated sorted list. For example, the summaries may be sorted by time of posting, in which case message summaries corresponding to messages from different source message boards may be interwoven with each other according to the times at which they were posted. This feature provides the user 142 with a unified view of messages across multiple message boards.
Among the advantages of the invention are one or more of the following. The features of the web page 300 illustrated in
Furthermore, the techniques disclosed herein make it possible to read and write messages from and to multiple message board sources. Writing messages can be performed either from the web page 300, or at the original message board source in the frame 308. This saves the user 142 time in comparison to reading and writing multiple message boards using distinct web browser windows for each message board.
By providing features that are attractive and useful to frequent users of financial message boards, the techniques disclosed herein provide an opportunity to generate significant revenue from advertising. An example of a banner advertisement 332 for a financial services firm is shown on the web page 300 in
Furthermore, note that content other than an advertisement may occupy the space occupied by the advertisement 332 in
It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. In particular, the functions performed by the aggregation server 112 shown in
Although certain examples disclosed herein relate to financial message boards, the present invention is not limited to such examples. More generally, the techniques disclosed herein may be applied to any kind of messaging system, such as email and newsgroups, and to messaging systems containing messages whose content does not relate to finance. Furthermore, the techniques disclosed herein may be applied to aggregate content from web sites and other communications systems that are not designed as message boards. For example, the techniques disclosed herein may be used to aggregate news articles posted to news web sites, such as the web site for the New York Times (www.nytimes.com) or the Business Week (www.businessweek.com), even though such web sites are not designed as message boards to which members of the public may post messages. The term “message, as used herein, therefore, includes not only messages posted to message boards, but more generally to any unit of communication, such as an email message, a newsgroup posting, or a news article posted by an administrator to a news web site.
As described above, the aggregation server 112 extracts certain information from source message boards to produce the message content units 132. Examples of categories from which information may be derived include, but are not limited to: message title, message author, message identifier, message sentiment, message timestamp, message web address, message thread, message attribute (e.g., size), message link (links contained in the message), message keyword (keywords contained in the message), message recipient, and message statistics (e.g., the number of times others have recommended the message, or a rating of the popularity of the message). The user 142 may be allowed to sort the aggregated message summaries displayed in the message table 302 by, for example, any of the categories mentioned above.
Ease of visual cognition is key to a successful user interface. Various techniques may be combined with those described above to improve such ease of visual cognition. For example, message summaries in the table 302 may be color-coded or otherwise coded (such as by the use of distinct icons or words) according to their source or to any other attribute, such as according to any of the categories mentioned above. The table 302 may include any number of rows and columns. Columns may be assigned to message categories (attributes) in any way. For example, a single column may correspond to a single attribute or to multiple attributes. For example, in one embodiment, there are two columns: (1) title and (2) time and author.
The web browser 140 is not limited to any particular web browser application. The web browser 140 may, for example, be of any kind and operate on any kind of device (e.g., desktop computer, laptop computer, personal-digital assistant, or smart phone). Furthermore, although the network 138 in
The techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output. The output may be provided to one or more output devices.
Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language.
Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive programs and data from a storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium.
Referring to
In the particular embodiment illustrated in
For purposes of the following discussion, however, assume that the text input field 402 is used to enter either the name of a company or the stock ticker symbol of the company. The program that provides the text input field 402 may maintain a list of ticker-name tuples. For example, one tuple may include the stock ticker symbol “AAP” and the name of the company having that stock ticker symbol, namely “Advance Auto Parts Inc.” Another tuple may, for example, include the stock ticker symbol “AAPH” and the name of the company having that stock ticker symbol, namely “American Petro-Hunter Inc.” Yet another tuple may, for example, include the stock ticker symbol “AAPL” and the name of the company having that stock ticker symbol, namely “Apple Computer Inc.”
In the particular example illustrated in
If the program determines that the text typed by the user so far matches any of the text in a particular tuple, the program may indicate such a match to the user. For example, if the program determines that the text typed by the user so far matches either the stock ticker symbol or the company name of a particular tuple, the program may indicate to the user that a match has been found. If matches are found with text in multiple tuples, the program may indicate to the user that multiple matches have been found.
In the particular embodiment illustrated in
Furthermore, the subset of each text item in the list that matches the input text may be visually emphasized. For example, in
In the particular example illustrated in
Referring to
Once a list of matching tuples has been displayed (such as any of the lists 406a-c illustrated in
The techniques disclosed herein may be used to reduce the number of keystrokes required to be input by the user. This may save the user effort and enable the user to use the corresponding computer program more quickly. For example, in comparison, conventional financial portal web sites typically provide a “symbol lookup” feature that allows a user to find the stock ticker symbol for a company by typing the company's name, and then clicking on a “find” button. Examples of existing financial portal web sites, some of which provide some form of “symbol lookup” feature, but which do not include the kind of lookup features disclosed herein, include: http://moneycentral.msn.com/investor/common/find.asp?NextPage=/detail/sto-ck quote, http://finance.yahoo.com/lookup, http://money.cnn.com/quote/lookup/index.html, http://www.marketwatch.com/tools/quotes/lookup.asp, http://clearstation.etrade.com/cgi-bin/symbol search, http://www.marketcenter.com/std/search.action, http://www.marketcenter.com/std/toolbox.jsp, http://www.quote.com/qc/lookup/symbol search.aspx, http://www.wallstreettape.com/charts/custom/symbol-lookup.asp, http://online.wsj.com/public/us, http://online.barrons.com/public/main, http://bigcharts.marketwatch.com/symbollookup/symbollookup.asp, http://www.esignalcentral.com/support/symbol/default.asp, http://www.hoovers.com/free/, http://www.bloomberg.com/apps/tkrlookup, http://www2.barchart.com/lookup.asp, http://stockcharts.com/index.html, http://tools.thestreet.com/tsc/quotes.html?pg=qcn&, http://www.earningswhispers.com/tickerlookup.asp, http://www.whispernumber.com/index.jsp, http://www.google.com, http://quote.morningstar.com/TickerLookup.html, http://www.fool.com, http://www.siliconinvestor.com, http://www.investorshub.com, http://www.ragingbull.com, http://www.boardcentral.com, http://www.briefing.com/, http://www.newyorktimes.com, http://www.washingtonpost.com, http://www.boston.com, http://www.ft.com, http://news.bbc.co.uk/, http://www.inc.com, http://www.forbes.com, http://www.fortune.com, http://research.businessweek.com/ticker/create_ticker.asp, http://www.etrade.com, http://www.ameritrade.com, http://www.schwab.com, http://www.scottrade.com, http://www.sharebuilder.com, and http://www.vanguard.com, http://seekingalpha.com/, http://portfolios.abcnews.go.com/guotes/getQuote, http://www.investorvillage.com/home.asp, http://www.tickertech.com/cgi/?a=lookup, http://www.investors.com/symbol.asp, http://www.cboe.com/DelayedQuote/Symbol.aspx, http://personal.fidelity.com/research/stocks/content/stocksind ex.shtml?bar=c, http://www.quicken.com/investments/tsl/, http://www.globeinvestor.com/static/hubs/lookup.html, http://www.usatoday.com/money/search-tips.htm, http://stockhouse.com/, http://www.thelion.com/, http://www.island.com/, http://www.zacks.com/, http://www.troweprice.com/common/indexHtml3/0,0,htmlid=38,00.html, http://www.amex.com/?href=/quickquote/SymbolLookup.jsp, http://www.nasdaq.com, http://www.nyse.com/, http://www.londonstockexchange.com/en-gb/, http://www.euronext.com, http://www.tsx.com/, http://www.asx.com.au/, http://www.advfn.com, http://www.mldirect.ml.com, http://www.foxnews.com/business/index.html, http://www.quickandreilly.com/, http://www.economist.com/index.html, http://www.kiplinger.com/, http://www.pennystock.com/, http://www.wallstreetselect.com/, http://www.sec.gov/edgar.shtml, http://www.edgar-online.com/, http://freeedgar.com/, http://www.thedeal.com, http://www.investools.com, http://www.activetradermag.com/, http://www.traders.com/, and http://www.ipohome.com.
The techniques disclosed herein may also provide the user with a beneficial degree of flexibility. For example, the techniques disclosed herein provide the user with the flexibility to type either a stock ticker symbol or a company name, depending on the user's preference, or depending on which of the two the user remembers most easily. The user, therefore, is not limited to a particular mode of input dictated by the program. This may make the program easily usable by different classes of users, such as both those users who are sophisticated stock traders (and therefore likely to remember stock ticker symbols) and less sophisticated users (who are likely to remember company names rather than symbols). More generally, the techniques disclosed herein reduce the need for the user to rely on his memory to provide necessary textual input.
It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions.
Although certain examples described herein use stock ticker symbol and company name as the categories of text strings stored in n-tuples, the techniques disclosed herein may be applied to text strings representing any categories of content. For example, company sector (or other means of categorizing a company) is another example of a category of content to which the techniques disclosed herein may be applied.
Although particular examples disclosed herein involve the use of pairs of text strings, such pairs are merely special cases of n-tuples, in which n=2. The techniques disclosed herein may be applied more generally, to n-tuples where n>1. Furthermore, the text in the tuples may be of any kind and have any relationship to each other. For example, although stock ticker symbols typically have some textual similarity to the corresponding company names, this is not required. For example, an n-tuple may include a person's name and the person's street address, in which case there may be no textual similarity between the various text strings in the n-tuple.
In certain examples disclosed herein, the text typed by the user is matched against the beginning (leading characters) of text in the n-tuples. This is not, however, a requirement of the present invention. Rather, matching may be performed by comparing any subset of the text typed by the user against any subset of the n-tuple text. Furthermore, matching need not be performed against all elements in an n-tuple, or in the same manner against all elements in an n-tuple. For example, if n=3, matching may be performed against two rather than three of the text strings in the n-tuple.
Although certain examples disclosed herein provide the user with an indication of matches by displaying a list of all text in matching n-tuples, this is not a requirement of the present invention. Rather, matches may be displayed in a form other than a list. Furthermore, displayed matches need not display all of the text in matching tuples. The user may be allowed to select a matching tuple using any kind of input mechanism.
Any kind of computer program may implement the techniques disclosed herein. For example, the techniques disclosed herein may be implemented in a web site displayed by a web browser.
Although the concept of an n-tuple is used herein, the techniques disclosed herein may be implemented without storing data in structures organized as n-tuples. Rather, the techniques disclosed herein may be implemented using any kind of data structure, such as linked lists. The data against which the user input is matched may be pre-stored, downloaded over a network connection, generated on-the-fly, or produced, stored, and processed in any suitable manner.
The techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output. The output may be provided to one or more output devices.
Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language.
Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive programs and data from a storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium.
A computer program provides a first set of representations (e.g., textual representations) of a first set of hyperlinks. In response to selection by a user of one of the first set of hyperlink representations (such as by clicking on or hovering a cursor over the representation), the program displays a second set of representations (e.g., graphical representations) of a second set of hyperlinks. The user may select one of the second set of representations, in response to which the program navigates to the destination of the hyperlink. The second set of representations may, for example, be logos of companies, and the second set of hyperlinks may be hyperlinks to the companies' web sites.
For example, referring to
In the embodiment illustrated in
The hyperlink representations 504a enable the user to access the underlying hyperlinks to external websites by hovering over selecting any of the hypertext 506a-h. The user may, for example, select a particular link either by clicking on one of the hypertext links 506a-h or by hovering a mouse cursor over one of the hypertext links 506a-h.
In response to receiving a selection of one of the hypertext links 506a-h from the user, the web page 500 displays a second set of hyperlink representations 504b. In the particular example illustrated in
More specifically, in the embodiment illustrated in
Therefore, when the user selects (e.g., clicks on or hovers over) one of the second set of hyperlink representations 508a-1, the web browser displays the destination of the selected hyperlink in the frame 502b. For example, if the user selects hyperlink representation 508a (i.e., the logo of www.bigcharts.com), the web browser will navigate to and display the home page of www.bigcharts.com in frame 502b.
Different sets of hyperlinks are displayed as the user selects (e.g., clicks on or hovers over) different ones of the first set of hyperlinks 506a-h. For example, as shown in
The techniques just described may, for example, be implemented in conjunction with a message board aggregation web site of the kind disclosed in the patent application entitled, “Message Board Aggregator”, now issued under U.S. Pat. No. 7,529,795.
One advantage of the techniques disclosed herein is that hyperlink representations (e.g., the hyperlinks 504b and 504c) may be displayed to the user essentially instantaneously. Such techniques, therefore, provide the user with a method of scanning through links that is more intuitive and thus quicker for users than traditional techniques. Furthermore, the use of company logos or other graphical representations of hyperlinks facilitates the users experience, because it is likely that the user will already associate the company logo with the corresponding company name (attached to the hyperlink). The method is also visually more appealing than commonly used plain text methods.
It is to be understood that although the invention has been described above in terms of particular embodiments, the foregoing embodiments are provided as illustrative only, and do not limit or define the scope of the invention. Various other embodiments, including but not limited to the following, are also within the scope of the claims. For example, elements and components described herein may be further divided into additional components or joined together to form fewer components for performing the same functions. In particular, the functions performed by the aggregation server 112 shown in
The first set of hyperlinks 504a may be sorted into categories, sub-categories, and so on, in any manner. Alternatively, they may be unsorted. The hyperlinks that are displayed may be predetermined by the web page designer, determined by the user, or any combination thereof. The user may, for example, be provided with the ability to set up categories (and subcategories) comprising favorite website hyperlinks.
Any kind of computer program may implement the techniques disclosed herein. For example, the techniques disclosed herein may be implemented in a web site displayed by a web browser.
The techniques described above may be implemented, for example, in hardware, software, firmware, or any combination thereof. The techniques described above may be implemented in one or more computer programs executing on a programmable computer including a processor, a storage medium readable by the processor (including, for example, volatile and non-volatile memory and/or storage elements), at least one input device, and at least one output device. Program code may be applied to input entered using the input device to perform the functions described and to generate output. The output may be provided to one or more output devices.
Each computer program within the scope of the claims below may be implemented in any programming language, such as assembly language, machine language, a high-level procedural programming language, or an object-oriented programming language. The programming language may, for example, be a compiled or interpreted programming language.
Each such computer program may be implemented in a computer program product tangibly embodied in a machine-readable storage device for execution by a computer processor. Method steps of the invention may be performed by a computer processor executing a program tangibly embodied on a computer-readable medium to perform functions of the invention by operating on input and generating output. Suitable processors include, by way of example, both general and special purpose microprocessors. Generally, the processor receives instructions and data from a read-only memory and/or a random access memory. Storage devices suitable for tangibly embodying computer program instructions include, for example, all forms of non-volatile memory, such as semiconductor memory devices, including EPROM, EEPROM, and flash memory devices; magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROMs. Any of the foregoing may be supplemented by, or incorporated in, specially-designed ASICs (application-specific integrated circuits) or FPGAs (Field-Programmable Gate Arrays). A computer can generally also receive programs and data from a storage medium such as an internal disk (not shown) or a removable disk. These elements will also be found in a conventional desktop or workstation computer as well as other computers suitable for executing computer programs implementing the methods described herein, which may be used in conjunction with any digital print engine or marking engine, display monitor, or other raster output device capable of producing color or gray scale pixels on paper, film, display screen, or other output medium.
Patent | Priority | Assignee | Title |
10372793, | Mar 20 2006 | Aloft Media, LLC | Hyperlink with graphical cue |
10482164, | Mar 20 2006 | Aloft Media, LLC | Hyperlink with graphical cue |
10691874, | Mar 20 2006 | Aloft Media, LLC | Hyperlink with graphical cue |
11308260, | Mar 20 2006 | Alof Media, LLC | Hyperlink with graphical cue |
Patent | Priority | Assignee | Title |
5754176, | Oct 02 1995 | SAMSUNG ELECTRONICS CO , LTD | Pop-up help system for a computer graphical user interface |
5854630, | Jul 01 1996 | Oracle America, Inc | Prospective view for web backtrack |
6065051, | Apr 15 1998 | Meta Platforms, Inc | Apparatus and method for communication between multiple browsers |
6199077, | Dec 08 1998 | YODLEE, INC | Server-side web summary generation and presentation |
6199157, | Mar 30 1998 | Meta Platforms, Inc | System, method and medium for managing information |
6208339, | Jun 19 1998 | International Business Machines Corporation | User-interactive data entry display system with entry fields having distinctive and changeable autocomplete |
6216141, | Dec 06 1996 | Microsoft Technology Licensing, LLC | System and method for integrating a document into a desktop window on a client computer |
6253325, | Apr 15 1998 | Meta Platforms, Inc | Apparatus and method for securing documents posted from a web resource |
6314458, | Apr 15 1998 | Meta Platforms, Inc | Apparatus and method for communication between multiple browsers |
6336133, | May 20 1997 | Meta Platforms, Inc | Regulating users of online forums |
6393468, | Jan 20 1997 | Meta Platforms, Inc | Data access control |
6405238, | Jul 31 1998 | Hewlett Packard Enterprise Development LP | Quick navigation upon demand to main areas of web site |
6421651, | Mar 31 1998 | Meta Platforms, Inc | Method and apparatus for priority-based jukebox queuing |
6430537, | Mar 31 1998 | Meta Platforms, Inc | Method and apparatus for priority-based jukebox queuing |
6456303, | Feb 09 1998 | Microsoft Technology Licensing, LLC | Method and system for access of online information |
6484149, | Oct 10 1997 | Microsoft Technology Licensing, LLC | Systems and methods for viewing product information, and methods for generating web pages |
6498835, | Feb 29 2000 | RPX CLEARINGHOUSE LLC | Method and system for providing visual notification in a unified messaging system |
6515681, | May 11 1999 | HANGER SOLUTIONS, LLC | User interface for interacting with online message board |
6564213, | Apr 18 2000 | A9 COM, INC | Search query autocompletion |
6633311, | Feb 18 2000 | Meta Platforms, Inc | E-service to manage and export contact information |
6661877, | Sep 29 2000 | Oracle International Corporation | System and method for providing access to a unified message store logically storing computer telephony messages |
6691158, | Feb 18 2000 | Meta Platforms, Inc | E-service to manage contact information and track contact location |
6704727, | Jan 31 2000 | R2 SOLUTIONS LLC | Method and system for generating a set of search terms |
6748449, | Jun 29 2000 | International Business Machines Corporation | Creating an opinion oriented Web page with hyperlinked opinions |
6879691, | May 12 2000 | AUTO-COMPLETION SOLUTIONS LLC | Information autocompletion system |
6889213, | Feb 18 2000 | Meta Platforms, Inc | E-service to manage contact information with privacy levels |
6952730, | Jun 30 2000 | Meta Platforms, Inc | System and method for efficient filtering of data set addresses in a web crawler |
7017109, | Feb 18 2000 | Meta Platforms, Inc | E-service to manage contact information and signature ECards |
7024451, | Nov 05 2001 | Meta Platforms, Inc | System and method for maintaining consistent independent server-side state among collaborating servers |
7069308, | Jun 16 2003 | Meta Platforms, Inc | System, method and apparatus for connecting users in an online computer system based on their relationships within social networks |
7117254, | Jun 16 2003 | Meta Platforms, Inc | Method of inducing content uploads in a social network |
7188080, | May 12 2000 | Meta Platforms, Inc | Systems and methods wherin a buyer purchases products in a plurality of product categories |
7188153, | Jun 16 2003 | Meta Platforms, Inc | System and method for managing connections in an online social network |
7194552, | Mar 22 1999 | MEC MANAGEMENT, LLC | Method, product, and apparatus for requesting a network resource |
7216301, | Jun 06 2002 | CADDO Systems, LLC | Active path menu navigation system |
7231428, | May 28 2002 | Meta Platforms, Inc | Communication system using alias management rules for automatically changing sender alias in a message based on group that includes recipient address |
7233997, | Jun 26 1997 | Meta Platforms, Inc | Data communications |
7340419, | Mar 15 2001 | Meta Platforms, Inc | Method and apparatus for product display |
7373338, | Mar 18 2003 | Meta Platforms, Inc | Access control to shared resources |
7451161, | Apr 28 2005 | Meta Platforms, Inc | Compatibility scoring of users in a social network |
7478078, | Jun 14 2004 | Meta Platforms, Inc | Method for sharing relationship information stored in a social network database with third party databases |
7487441, | Mar 11 2004 | Verizon Patent and Licensing Inc | Method and system of enhanced messaging |
7499940, | Nov 11 2004 | GOOGLE LLC | Method and system for URL autocompletion using ranked results |
7526440, | Jun 12 2000 | Meta Platforms, Inc | Method, computer product, and apparatus for facilitating the provision of opinions to a shopper from a panel of peers |
7590687, | Nov 17 2005 | Oracle International Corporation | System and method for providing notifications in a communities framework |
7606687, | Sep 14 2004 | Meta Platforms, Inc | Proximity search methods using tiles to represent geographical zones |
7606865, | Nov 29 2002 | GOOGLE LLC | Collaboration system and method |
7669123, | Aug 11 2006 | Meta Platforms, Inc | Dynamically providing a news feed about a user of a social network |
7680882, | Mar 06 2007 | Meta Platforms, Inc | Multimedia aggregation in an online social network |
7685036, | Oct 13 2000 | UBS Business Solutions AG | System and method for delivering a financial message |
7725492, | Dec 23 2005 | Meta Platforms, Inc | Managing information about relationships in a social network via a social timeline |
7788260, | Jun 14 2004 | Meta Platforms, Inc | Ranking search results based on the frequency of clicks on the search results by members of a social network who are within a predetermined degree of separation |
7797256, | Aug 02 2006 | Meta Platforms, Inc | Generating segmented community flyers in a social networking system |
7809805, | Feb 28 2007 | Meta Platforms, Inc | Systems and methods for automatically locating web-based social network members |
7827208, | Aug 11 2006 | Meta Platforms, Inc | Generating a feed of stories personalized for members of a social network |
7827265, | Mar 23 2007 | Meta Platforms, Inc | System and method for confirming an association in a web-based social network |
7835950, | Mar 15 2001 | Meta Platforms, Inc | Method and apparatus for product display |
7890501, | Jun 14 2004 | Meta Platforms, Inc | Visual tags for search results generated from social network information |
7912758, | Mar 15 2001 | Meta Platforms, Inc | Method and apparatus for product display |
7933810, | Feb 02 2007 | Meta Platforms, Inc | Collectively giving gifts in a social network environment |
7945653, | Oct 11 2006 | Meta Platforms, Inc | Tagging digital media |
7970657, | Feb 02 2007 | Meta Platforms, Inc | Giving gifts and displaying assets in a social network environment |
8005919, | Nov 18 2002 | Meta Platforms, Inc | Host-based intelligent results related to a character stream |
8010458, | May 26 2004 | Meta Platforms, Inc | System and method for managing information flow between members of an online social network |
8539024, | Aug 20 2001 | MasterObjects, Inc. | System and method for asynchronous client server session communication |
9348911, | Nov 16 1999 | AT&T Intellectual Property I, L P | Method for searching from a plurality of data sources |
20010018698, | |||
20020010639, | |||
20020065671, | |||
20020130895, | |||
20020152238, | |||
20020198909, | |||
20030034964, | |||
20030041147, | |||
20030061114, | |||
20030115306, | |||
20030184582, | |||
20030187706, | |||
20040172405, | |||
20040254881, | |||
20050049939, | |||
20050076110, | |||
20050267940, | |||
20050278443, | |||
20060015821, | |||
20060021009, | |||
20060064342, | |||
20060155809, | |||
20060174340, | |||
20060206454, | |||
20060239546, | |||
20060248160, | |||
20070022021, | |||
20070100779, | |||
20070112835, | |||
20070113201, | |||
20070143704, | |||
20070192299, | |||
20080040474, | |||
20080040475, | |||
20080046976, | |||
20080059607, | |||
20080065604, | |||
20080065701, | |||
20080189292, | |||
20080189380, | |||
20080189395, | |||
20080189768, | |||
20080281816, | |||
20080313714, | |||
20090013413, | |||
20090024548, | |||
20090031301, | |||
20090037277, | |||
20090048922, | |||
20090049014, | |||
20090049036, | |||
20090049070, | |||
20090049127, | |||
20090049525, | |||
20090070219, | |||
20090070334, | |||
20090070412, | |||
20090119167, | |||
20090144392, | |||
20090158143, | |||
20090158169, | |||
20090182589, | |||
20090193333, | |||
20090193349, | |||
20090198487, | |||
20090199135, | |||
20090228342, | |||
20090228780, | |||
20090287786, | |||
20100049534, | |||
20100049852, | |||
20100132049, | |||
20100162375, | |||
20100164957, | |||
20100169327, | |||
20100180032, | |||
20100185580, | |||
20100198581, | |||
20100211996, | |||
20100211997, | |||
20100217645, | |||
20100229223, | |||
20100257023, | |||
20100257459, | |||
20100306043, | |||
20100318571, | |||
20110004692, | |||
20110004831, | |||
20110016169, | |||
20110016381, | |||
20110016382, | |||
20110018342, | |||
20110022657, | |||
20110023101, | |||
20110023129, | |||
20110044354, | |||
20110055314, | |||
20110055332, | |||
20110055683, | |||
20110083101, | |||
20110087526, | |||
20110106630, | |||
20110125599, | |||
20110128699, | |||
20110137902, | |||
20110137932, | |||
20110145287, | |||
20110145321, | |||
20110153377, | |||
20110153412, | |||
20110153416, | |||
20110153421, | |||
20110154223, | |||
20110154842, | |||
20110156480, | |||
20110161602, | |||
20110161980, | |||
20110161987, | |||
20110179347, | |||
20110196855, | |||
WO203243, | |||
WO2061610, | |||
WO2004029780, | |||
WO2007109264, |
Executed on | Assignor | Assignee | Conveyance | Frame | Reel | Doc |
Oct 01 2017 | Aloft Media, LLC | (assignment on the face of the patent) | / |
Date | Maintenance Fee Events |
Oct 01 2017 | BIG: Entity status set to Undiscounted (note the period is included in the code). |
Jan 10 2022 | M1551: Payment of Maintenance Fee, 4th Year, Large Entity. |
Date | Maintenance Schedule |
Sep 18 2021 | 4 years fee payment window open |
Mar 18 2022 | 6 months grace period start (w surcharge) |
Sep 18 2022 | patent expiry (for year 4) |
Sep 18 2024 | 2 years to revive unintentionally abandoned end. (for year 4) |
Sep 18 2025 | 8 years fee payment window open |
Mar 18 2026 | 6 months grace period start (w surcharge) |
Sep 18 2026 | patent expiry (for year 8) |
Sep 18 2028 | 2 years to revive unintentionally abandoned end. (for year 8) |
Sep 18 2029 | 12 years fee payment window open |
Mar 18 2030 | 6 months grace period start (w surcharge) |
Sep 18 2030 | patent expiry (for year 12) |
Sep 18 2032 | 2 years to revive unintentionally abandoned end. (for year 12) |