AN APPARATUS AND METHOD FOR SIMPLE WIDE-AREA NETWORK NAVIGATION

Abstract: A method and system to facilitate navigation of a wide-area network. A navigation matrix is displayed on a client node. The matrix pairs each navigation option with an input such that, for example, pressing a single key activates that navigation option. The key press event is forwarded to an information and services hub across the network. The hub then returns a next appropriate matrix layer which may be navigated in the same manner.

Description: AN APPARATUS AND METHOD FOR SIMPLE WIDE-AREA NETWORK NAVIGATION BACKGROUND (1) Field of the Invention The invention relates to electronic information services and electronic commerce services. More specifically, the invention relates to providing easy navigation to facilitate access to such services. (2) Background The advent of the Internet has made a vast amount of information available to a significant segment of the population. Even so, over 150 million people in the U.S. do not use the Internet, including 80% of people over 45 and 89% of people over 55. There are currently over 800 million pages of information spread over 3 million information servers on the Internet. The vast majority of this information is commercial in nature, making up 83% of the content. Of the remaining 17%, the majority is scientific or educational. This would tend to indicate that if one does not have access to these growing resources, then one is at a definite disadvantage. While user interfaces are vastly more user-friendly now than in the days of character-based terminals, such as DOS, the current Internet navigation systems are still too cumbersome and require too much specialized knowledge for many people to use effectively. There are too many protocols, too many standards, and too many methods for performing seemingly simple tasks. Just the act of setting up a computer with a minimal configuration is challenging and complex, so much so that many people will not gain access to the vast array of services available over the Internet. Technology generally evokes fear particularly among the older generation and the poor, who have had little or no exposure to it. The net effect of this fear combined with cost factors has been to deny access to this large and growing segment of the population. At this stage, electronic information services and electronic commerce services have reached the point of mass momentum. Unfortunately, those that cannot access these products and services are being disenfranchised due to technical capabilities, age, and /or socio-economic status. The importance of the Internet as a tool of electronic commerce can not be overstated. The ability of consumers to buy products, obtain information from the comfort of their own home is revolutionizing the way business is done. Increasingly, there is a push to provide access to the Internet on standard television monitors through the use of set top boxes. Over time, much like cable-ready televisions, it is expected that Internet-ready televisions will proliferate. Unfortunately, even on large screen televisions the web surfing experience is poor, inasmuch as the web content is illegible and /or unnegotiable, unless you happen to be sitting very close to the television. Generally, this makes web surfing impractical in more traditional television environments. As the television web access systems proliferate, improved navigation and content access on the television is likely to become a necessity. BRIEF SUMMARY OF THE INVENTION A method and system to facilitate navigation of a wide-area network is disclosed. A navigation matrix is displayed on a client node. The matrix pairs each navigation option with an input such that, for example, pressing a single ke activates that navigation option. The key press event is forwarded to an information and services hub across the network. The hub then returns a next appropriate matrix layer which may be navigated in the same manner. In an alternative embodiment, a web page is provided having a link to a sister site. The sister site facilitates simplified navigation. Pages from the sister site are served responsive to actuation of the sister site link. In one embodiment, the sister site includes matrix pages to permit matrix navigation. BRIEF DESCRIPTION OF THE DRAWINGS Figure 1 is a block diagram of a system employing one embodiment of the invention. Figure 2 is a more detailed block diagram of the information services hub. Figure 3 is a block diagram of terminal hardware architecture of one embodiment of the invention. Figure 4a shows one such custom keypad for the notebook form factor. Figure 4b shows one example of a notebook form factor of one embodiment of the invention. Figure 5 is a diagram of a remote control which may be used to interface with the set-top box embodiment of the terminal hardware. Figure 6 is a flow chart of operations of the navigation system of one embodiment of the invention in a custom terminal custom browser mode. Figure 7 is a flow diagram of operation of the information services hub of one embodiment of the invention. Figure 8 is a diagram of the display of a graphical user interface of one embodiment of the invention. Figure 9a shows a Main Menu matrix of one embodiment of the invention. Figures 9b and 9c are the home matrix layers for the F and J channels, respectively. Figure 9d is a matrix layer corresponding to search and information services. Figures lOa-g are a series of matrix layers displayed during an exemplary navigation using one embodiment of the invention. Figure 11 shows a history window overlying a navigation matrix layer. Figures 12a and b are an example of a matrix layer of one embodiment of the invention. Figure 13 is an e-mail composition matrix layer for one embodiment of the invention. Figure 14 is a block diagram of a system employing one embodiment of the invention without an ISH. Figure 15a is an exemplary web page having a sister site link Figure 15b shows an example first matrix page reached by activating the sister site link in Figure 15a. Figure 15c is a web page having irregular segmentation. Figure 16 is a flow diagram of conversion of standard HTML pages to a sister site format in one embodiment of the invention. Figure 17 is a block diagram of a client hardware architecture of one embodiment of the invention. Figure 18a is a flow diagram of server side segmentation in one embodiment of the invention. Figure 18b is a flow diagram of client side manipulation of a segmented page in one embodiment of the invention. Figure 18c is a diagram showing a system implementing the tab, scroll, and zoom features of one embodiment of the invention. Figure 19 is a flow chart of operations of the navigation system of one embodiment of the invention in a custom terminal custom browser node. Figure 20 is a diagram of the display of a graphical user interface of one embodiment of lhe invention. Figures 21a-d are example sister site matrix pages. Figure 22 shows an alternative matrix page of one embodiment of the invention. DETAILED DESCRIPTION A simplified system for navigation of the Internet or other content source allows a broader user base access to the content and services available thereon. In one embodiment, the hardware is designed to be low cost and immediately usable out of the box. In another embodiment, the system allows access to the content and services available thereon with greater ease, on, for example, a display more remote from a user than in the use of the "traditional" personal computer (PC) two foot paradigm. This is expected to further expand access to the electronic world. Figure 1 is a block diagram of a system employing one embodiment of the invention. A wide-area network (WAN) 10, such as the Internet, couples together a plurality of communication nodes. Some nodes, such as node 12, may be a standard prior art personal computer (PC) executing any conventional web browser. Additionally, there are server nodes connected to WAN 10, such as server node 16, which may be any conventional web server. The information and services hub (ISH) 18 is coupled to WAN 10 and provides an interface for custom terminal device 20. It is anticipated that the number of custom terminal devices may be arbitrarily large. Also coupled to WAN 10 are browser nodes running a custom browser that facilitate access to information and services provided by the ISH 18. The ISH 18 provides content in a specified format for both the custom terminal device 20 and the custom browser node 22 (client nodes). Some of that content is provided by content partners, such as content partner node 14. Content partners provide content to the information and services hub in a specified format that facilitates its use by the client nodes 20, 22. As a practical matter, both the custom browser node 22 and the custom terminal device 20 will act as though there is a point-to-point link between them and the ISH 18. This apparent point-to-point link limits the knowledge a user requires, including, for example, sheltering the user from proprietary addressing schemes, and therefore, permits vastly simplified navigation of content available over WAN 10. Figure 2 is a more detailed block diagram of the information services hub. ISH 18 has various information and services sources, including any site 26, content partner 14, and bank 24. Bank 24 may be any remittance processing service or other financial institution. It also has a number of content or service sinks, such as terminal device 20, custom browser node 22, and any browser node 12. Within ISH 18, the content server 32 provides an interface between the content sinks and the ISH content and services. On the back end, content server 32 is coupled to a number of backend servers. Media server 34 is responsible for providing video and audio streaming content from media objects database 44 to the content server 32 for supply to various content sinks. Search engine 42 is also coupled to content server 32, as well as index database 52. Index database 52 can be created in any traditional indexing manner, including spidering or categorical indexing. Search engine 42 permits the content sinks to do traditional web searching based on the indexing in the index database 52. A messaging server 40 permits e-mail, chat and collaboration fora between the content sinks and any other web node. Authentication server 38 provides security and controls access to various content. The authentication server 38 is coupled to a directory objects database 48 which may hold passwords and encryption keys, and other security-related objects. Application server 36 is coupled to the content server 32 and the extensible markup language (XML) database 46. The application server 36 provides applications to the content sinks via the content server 32. The applications server 36 can provide services from within the ISH 18 or those provided from, for instance, content partner 14. As one example, the application server may provide access to a locally hosted Java-based word processor. Alternatively, it may provide access to a mapping application provided by some third party, such as Vicinity, of Palo Alto, California, or MapQuest, of Denver, Colorado. The XML transcoder 30 receives incoming data from the various possible content sources. XML transcoder 30 parses incoming data and insures the data is placed in the correct database and in an appropriate format. For content partners, an ISH document-type definition (DTD) formats their data for inclusion in the ISH 18. Thus, when the XML transcoder 30 receives a document formatted in the standard DTD 60, it may be a mere conduit to one of the various databases within the ISH 18. Content partners are expected to provide other services, including electronic data interchange (EDI), which is a currently accepted standard for transacting purchases between wholesalers and retailers. Some embodiments of the ISH will accept EDI in various formats, including ASC X12, EDI FACT, and ANSI X.12. When an EDI transmission is received by the XML transcoder 30, it will be transcoded to XML, and the data made available to the appropriate service or repository. Some content partners may only support established proprietary file formats, which are transferred using e-mail or FTP services 64. The XML transcoder provides automated processing of files transferred in this manner. This may include parsing of data received and mapping of the data element into data fields of the ISH. The XML transcoder 30 also brokers transactions with banking and remittance processing services (RPS) 24. In some of the embodiments, an ISH DTD 60 is provided to the bank site to facilitate transaction processing using XML. The XML transcoder 30 is also designed to repurpose content from non- content partners, such as any site 26 to a format suitable for navigation, using the simplified navigation system described further below. For example, at a minimum, an arbitrary server provides some HTML code which can be transcoded to XML by the transcoder 30. Some specialty graphics, like Shockwave from Macromedia, Inc., can be explicitly handled by the transcoder or dropped as part of the transcoding. Figure 3 is a block diagram of a custom terminal hardware architecture of one embodiment of the invention. A processor 100 is coupled to various memory units and an I/O bus bridge 110 by a local bus 102. Among the expected memory units are random access memory (RAM) 106, which may be any standard RAM, including standard dynamic random access memory (DRAM), and may be symmetric or asymmetric. Also coupled to bus 102 is a read-only memory (ROM) unit 108. The ROM will typically include the boot code for the processor 100. A non-volatile RAM (NVRAM) unit 104 is also coupled to the bus. In one embodiment of the invention, the NVRAM unit 104 will contain a user interface for simplified navigation. By using NVRAM instead of ROM for storage of the code implementing the interface, as the interface is updated, it can be dynamically modified without requiring the user to open the box or contact service personnel. For example, any time an update of the user interface program is available, the ISH may prompt the user to accept an upgrade. The ISH can then replace the user interface program in the NVRAM with the updated version without further user knowledge or inconvenience. The I/O bus bridge 110 is coupled to the local bus 102 and bridges to the I/O bus 112. A number of units may reside on the I/O bus, inchiding a graphics module 114 that couples to a display (not shown), a universal serial bus (USB) controller that may couple the system to any number of additional USB devices. Common USB devices include keyboards, mice, cameras, scanners, printers, and other peripheral components and input/output devices. Also coupled to the I/O bus may be power management module 118, which may be coupled to the power switch and may include conventional power conservation protocols, ensuring the processor 100 is permitted to orderly conclude its current operation before changing power states. An infrared data association (IrDA) interface 120 permits the terminal to be coupled to hand-held devices, if desired. In some embodiments, a keyboard may be coupled by an Ir link. Storage unit 122, which may, for example, be a flash memory unit, is used for long-term storage of data or files. A transceiver 124 is used to permit the processor to communicate with the hub, whether it be a point-to-point link or across a wide-area network. The transceiver 124 may be, but is not limited to, an ethernet transceiver, a modem, digital subscriber line (DSL) or cable modem. It is expected that the processor 100 will communicate through the transceiver 124 to the ISH using transmission control protocol/internet protocol (TCP/IP) or point-to-point protocol (PPP). Encryption and compression within the terminal may be handled by conventional hardware or software solutions. Audio I/O interface 126 may include an internal microphone and speaker which permits audio input and output. This is particularly useful in the context of voice e-mail or voice over IP communications. Additionally, some embodiments of the invention will include speech to text (STT) capability 130 and speech recognition (SR) capability 136. Various embodiments may implement these capabilities as hardware or software or a combination of both. In embodiments having SR capability, for simplicity of use, it is desirable to use one of the multiple user SR packages available today and expected to improve in the future, as these packages avoid the necessity of "training" the system. This permits recognition of content of speech and conversion to text. For purposes of reduced cost, it may be desirable to use a particularly simple speech recognition package, recognizing only, for example, numbers and letters. A suitable speech recognition package will permit a user to navigate the WAN as subsequently described using voice commands and composed e-mails in a hands-free manner. Such an embodiment has the additional advantage that it enables Internet access to the physically challenged. In some embodiments, SR 136 is present, but STT 130 is not. This may permit the processor to respond to voice commands but would not permit composition of e-mail, for example. In one embodiment of the invention, the terminal has a notebook form factor with an integrated LCD display. In an alternative embodiment, the form factor is a set-top box, which relies on an external display, such as a television or external monitor. While in either case, a standard QWERTY keyboard could be used, it is believed that a custom keypad will facilitate ease of navigation. Figure 4a shows one such custom keypad for the notebook form factor. It is envisioned that this keypad may be placed adjacent to a standard QWERTY keyboard similar to the placement of the specialized functions, calculator digits and arrow keys of a standard extended keyboard. Alternatively, this keypad may be placed in the middle of a standard QWERTY keyboard separating the right- and left-hand portions of the keyboard. In a third embodiment, no QWERTY keyboard is provided and this is the sole input keypad of a device. Other arrangements are within the scope and contemplation of the invention. Figure 4b shows one example of a notebook form factor of one embodiment of the invention. Figure 5 shows a remote control that may be used to interface with the set-top box embodiment of the terminal hardware. Common to these keypads are keys for digits 0-9, keys for letters A-C, and branded keys F and J. The remote control may use conventional infrared signaling. Also provided are special function keys for history and bookmarks, forward and back, up and down arrow keys, and an enter key. The settop box form factor may also have a USB or infrared keyboard as an additional input device. Figure 6 is a flow chart of operations of the navigation system of one embodiment of the invention in a custom terminal custom browser mode. Upon power-up at functional block 602, a navigation matrix layer is rendered from the NVRAM. At functional block 604, a node establishes communication with the ISH. At decision block 606, the node waits for a keypress. If at decision block 606, a determination is made that a key has been pressed, a determination is made at decision block 607 whether the keypress corresponds to a composition cell. A composition cell is deemed to be a cell in the navigation matrix which permits a user to enter additional data. For example, a search cell or e.g., a purchase order form or an e-mail may have one or more composition cells. If the cell is a composition cell, the system enters composition mode at functional block 632. In composition mode, the digits of the keypad represent the digits themselves, rather than navigation options. The cursor will also appear in the composition field of the composition cell. At decision block 634, a determination is made if the enter key has been pressed. The enter key is defined in one embodiment of the invention to signify the end of a composition. Thus, if the enter key has not been pressed, the system remains in composition mode. However, if at decision block 634, the enter key has been pressed, the system returns to navigation mode at functional block 636. It is also within the scope and contemplation to define other keys to instigate return to the navigation mode. If a keypress is received and not found to correspond to a composition cell at decision block 607, a determination is made at decision block 608 whether the matrix layer corresponding to the keypress exists within the cache. In this connection, it is determined whether a representation of that matrix layer, even if in the cache, is stale and therefore needs to be freshly downloaded. If the data is stale or not present in the cache at all, the keypress event is sent to the ISH. In one embodiment, the entire navigation path, including the keypress event, is sent with each keypress. When the navigation path is sent with each keypress event, the ISH is able to identify the requested matrix layer rapidly on the fly. Subsequently, at functional block 612, the client node receives the updated matrix layer corresponding to the keypress event. That matrix layer is loaded to the memory at functional block 614 and the cache is time-stamped at functional block 616. At functional block 618, new ads may be received from the ISH. Notably, the receipt of the ads is asynchronous with the matrix layer receipt and may occur at any time without being prompted by a keypress event. At functional block 620, the incoming matrix layer is rendered to a temporary buffer by using a double-buffering technique. The actual rendering is transparent to the user. At functional block 622, the status bar for the load is updated to indicate the percent complete of the matrix layer rendering. At functional block 624, a determination is made if the rendering is complete. If it is not, the buffer continues to render and the status bar continues to update. By regularly updating the status bar, the user is not left wondering if the device is working. This is expected to limit the frustration experienced by many new users during the wait while matrix layers are rendered. If the rendering is complete, the temporary buffer is swapped with the frame buffer and the new matrix layer is displayed at functional block 626. Then at functional block 628, the history of the navigation path is updated to reflect the new matrix layer. The system then returns to await a next keypress to indicate further navigation. By iteratively pressing appropriate keys, a user may navigate to any desired depth up to a maximum depth along any navigation path and obtain content relevant to the path navigated. If instead, the matrix layer was validly in the cache at decision block 608, the matrix layer is rendered from the cache at functional block 630 and the system awaits the next keypress. "Maximum depth" as used herein applies on a cell by cell basis for primary navigation options. A maximum depth is reached for a cell in a navigation path when pressing a corresponding key will not take a user to a -π- deeper matrix layer in the matrix. While content, as distinguished from the matrix layer and their cell headings, will be displayed once a maximum depth is reached, it is within the scope and contemplation of the invention to display some content in cells of an intermediate matrix layer, i.e. one that is not at the maximum depth. "Primary navigation options" as used herein are those navigation options that necessarily change between successive matrix layers, changing from general to more specific with increases in depth in the matrix. Figure 7 is a flow diagram of operation of the information services hub of one embodiment of the invention. A determination is made if the keypress event has been received at decision block 702. If the keypress event has been received, a determination is made if the matrix has reached maximum depth at decision block 704. If the matrix has not reached the maximum depth, a matrix layer corresponding to the keypress is sent at functional block 706. Such matrix layers may or may not include content in cells with navigation choices. If the matrix has reached maximum depth for that navigation path, a content layer corresponding to the keypress event is sent to the client node at functional block 708. A content layer may or may not include matrix cells in addition to the content. New ads are sent to the client node at functional block 710. The system then awaits the next keypress event from a client node. Figure 8 is a diagram of the display of a graphical user interface of one embodiment of the invention. The screen is divided into a plurality of cells. In this embodiment, there are fifteen cells that represent navigation options and one messaging cell for displaying messages from the hub, the progress or status bar, and a title block. The cells can further be subdivided between the digit keys 1-9 keys which, in this embodiment, represent the primary set of navigation options and the keys designated by letters A-C which represent secondary navigation options and F, 0, and J keys that each cause generation of a particular matrix layer, regardless of where in the matrix those 3 cells are selected. Typically, the F and J cells represent channels within the ISH. The ABC cells will typically hold advertising, and selecting one of those cells will generate a matrix layer with primary navigation cells directed to that advertiser or the product line being advertised. While the interface is designed to be fully accessible with minimal key strokes from a key pad, it is also within the scope and contemplation of the invention to permit selection with a mouse or other pointer device. Additionally, referring to Figures 4 and 5, the arrow keys may be used to scroll through the navigation options with the enter key activating the navigation option corresponding to the selected cell. Figure 9a shows a Main Menu matrix of one embodiment of the invention. In this embodiment, F corresponds to a channel devoted to WAN content searching and e-commerce, and J corresponds to a channel corresponding to content locally hosted by the ISH and locally supplied subscriber services. In one embodiment, pressing F or J on the keyboard any time in navigation mode will generate the corresponding home page matrix layer. Figures 9b and 9c are the home matrix layers for the F and J channels, respectively. The highlight in the corresponding cell indicates to a user which channel they are navigating. Figure 9d is a matrix layer corresponding to search and information services. In one embodiment, the matrix layer may be reached by selecting cell zero from the Main Menu and most other matrix layers. Figures lOa-g are a series of matrix layers displayed during an exemplary navigation using one embodiment of the invention. Beginning from the home page of the F channel on which the primary navigation cells each display a broad category as shown in Figure 9b, by pressing 9 on the keypad when the matrix layer of 9b is displayed, the system will render the Shopping and Products matrix layer and amend the title bar to show the matrix layer of Figure 10a. A selection of 5 on the 10a matrix layer yields an Electronics matrix layer shown in Figure 10b. Selecting 1 on the keypad when the matrix layer of 10b is displayed yields the Audio matrix layer of Figure 10c. By selecting an 8 on the keypad when 10c is displayed, the system displays a Receivers matrix layer of Figure lOd, which breaks down receivers into price categories and also provides the option of navigating, in this embodiment, into Consumer Reports industry reports related to receivers. Notably, in Figure lOd, the number of primary navigation options is reduced to 4. Thus, it is not necessary that all layers of the matrix have the same number of cells, nor is it required that all cells have the same size. A user can select Stereo Only by pressing 1 on the keypad, which yields a stereo only matrix layer shown in Figure lOe. In one embodiment of the invention, the products are ordered based on some ranking system, such as Consumer Reports. Thus, for example, in Figure 10e, Technics received the highest ranking of receivers in the selected category from Consumer Reports. It is expected that for any particular product class, potential purchasers are likely to only be interested in the top several products within that class, not for example, the 15 th best receiver in the $150- $290 range. However, it is within the scope and contemplation of the invention to permit a "more" option which allows a user to get a set of the next most highly ranked products and possibly unranked products as well. It is expected that supplying product options in a user-friendly ranked order will encourage users to be more willing to conduct e-commerce. By selecting a 1 on the keypad when matrix layer lOe is displayed, a user reaches the matrix layer of Figure lOf, as well as reaching the maximum depth for that navigation path. Thus, pressing 1 on the keypad in response to matrix layer lOf does not move the user deeper into the multi-dimensional matrix, and content is displayed in cell 1 indicating the model, price, picture, and possibly other information about the Technics product. Cell 1 is also larger than the other cells. Other navigation options are provided in additional matrix cells surrounding cell 1 and its content. The additional cells represent navigation paths that have not reached their maximum depth. For example, by pressing a 3, one would get to a features of the Technics product content layer. Such screen would display features of the Technics system. The various navigation paths typically have a maximum depth at which content is displayed. However, reaching the maximum depth of a particular navigation path does not indicate that another navigation path may not have yet a deeper matrix layer. For example, while the maximum depth of the navigation path corresponded to cell 1 has been reach in Figure lOf, selecting a 9 on the keypad will move a user to a Technics purchase matrix layer, shown in Figure lOg. By selecting digits on the keypad, a user can move between fields to fill out a purchase form which, as discussed above, is one example of a matrix layer including composition cells. In some embodiments, the form can be filled in using keyboard input. In other embodiments, the speech to text capabilities of the terminal will permit the user to fill out the electronic purchase form orally. Figure 11 shows a history window overlying a navigation matrix. The history window would appear if the history button on the keypad were actuated. By using the up/down arrow key on the keypad, the user may then select a prior matrix to jump to directly without moving backwards or forwards iteratively. Figures 12a and b are an example matrix after a selection of 0 from the main menu screen, which allows one to conduct a search through cell 1. On this figure, advertisements for Jaguar appear in the ABC cells. In one embodiment of the invention, the ABC designation appears initially (as shown in Figure 12a)when the screen is first refreshed and then fades away to reveal solely the advertisement in each of those cells (as shown in Figure 12b). In this example, pressing an A on the keypad would take the user to a matrix reflecting company information about Jaguar. Pressing B would take the user to a matrix for the virtual showroom, and C would take the user to a purchase screen for the advertised item. In some cases, the advertising cells are merged as a single cell showing a single advertisement and permitting navigation to only a single matrix layer therefrom. In one embodiment, the background can be an advertisement. This is also shown in Figures 12a and b. Significantly, the advertisement can be targeted by modifying the ad responsive to the apparent navigation path of the user. This leaves the potential of showing the user an advertisement for a product or service more likely to be of interest. For example, when a user selects Electronics in the example of Figures lOa-g, the next screen may have as background an advertisement, e.g. for Circuit City. Figure 13 shows the e-mail creation screen for one embodiment of the invention. This would be reached by pressing 3 on the keypad when the matrix layer of Figure 9d is displayed. Again, all e-mail functions other than actually entering the text and the address can be performed using the simple interface with numerical digits and the letters ABC corresponding to inbox, the outbox, and the sent features of standard e-mail, respectively. Figure 14 is a block diagram of a system employing one embodiment of the invention without an ISH. A wide-area network (WAN) 10, such as the Internet, couples together a plurality of communication nodes. Some nodes, such as node 12, may be a standard prior art PC executing any conventional web browser. Alternatively, node 12 might be a set top box and television, or an internet appliance, or a wireless device, such as a web-enabled cell phone. Additionally, there are server nodes connected to WAN 10, such as server node 16, which may be any conventional web server. Also coupled to WAN 10 are browser nodes 22 running a custom browser that facilitate access to information and services provided to the custom browser node 22. The custom browser node 22 as well as any browser nodes 12 are collectively referred to as client nodes. Content partners, such as content partner node 14 provide content in a specified format that facilitates its use by the client nodes 12, 22. In one embodiment, when a user accesses a content partner home page, they have the option of linking to a sister site. As used herein, "sister site" is deemed to mean a site that provides for navigation of the site using a simplified navigation system, such as matrix navigation described in more detail below. In one embodiment, the sister site is traditional HTML pages converted to a matrix format to permit matrix navigation. This conversion may be done using an XML transcoding or any other suitable language. Content partners may maintain a database of sister site web pages corresponding to the pages in the general use site. Alternatively, content partners may provide a facility for converting web pages on the fly to the sister site format. Content partners may also provide for segmentation of the base HTML web pages and /or the matrix pages. A segmentation may be performed in a number of ways. The page may be divided up based on content or area. The net result, in any case, is that the web page is divided into regions which are not necessarily, but may be, of equal size. The individual regions may be brought into focus independently. By "brought into focus," the concept of focus in this context is analogous to the front window in a windowing system. The focus region is deemed active and subject to client manipulation. In the context of a matrix page, one suitable segmentation is by cell, e.g., each cell corresponds to a region that may be independently brought into focus. The borders of the regions may or may not be visible on the web pages displayed. This segmentation facilitates tab, scroll, and zoom features described in more detail below. Alternatively, segmentation may be performed as part of a custom browser on custom browser nodes or may be instantiated as a hardware or firmware solution within, for example, the set top box. Figure 15a is an exemplary web page having a sister site link. By actuating the link, the client begins receiving matrix pages as described in more detail below. Figure 15b shows an example first matrix page reached by activating the sister site link in Figure 15a. Figure 15c is a web page having irregular segmentation. Through segmentation, the page is divided into regions. Individual regions may then be brought into focus permitting simplified navigation, viewing, and manipulation of the data within that region. Figure 16 is a flow diagram of conversion of standard HTML pages to a sister site format in one embodiment of the invention. A hypertext markup language (HTML) page 1040 is transcoded by a transcoder 1030 to yield, for example, an XML page 1042 to which a document type definition (DTD) 1038 is applied. The DTD 1038 specifies the rules for the structure of the resulting XML document. The XML page is then reformatted using extensible style language (XSL) 1034 to corresponding format data 1032. XSL is not currently supported by all standard browsers. Thus, after formatting, the XML document is translated to an extensible hypertext markup language (XHTML) document for subsequent display by a client side browser on display 1052. Alternatively, the XML page may have a cascading style sheet (CSS) applied to achieve the desired format. One advantage of the CSS is that it is supported by standard browsers. After application of the CSS, the resulting formatted page can be displayed by the client browser on display 1052. The above-described conversion may be done by a content partner in advance of request for pages or may be done on the fly responsive to requests for pages. The determination of which to do involves a trade off between latency in providing requested pages and storage space required to store the additional pages. Some on the fly conversion is desirable in the event that a user attempts to access a web site that has not previously been converted. It is also within the scope and contemplation of providing for conversion on the client side. Figure 17 is a block diagram of a client hardware architecture of one embodiment of the invention. A processor 1100 is coupled to various memory units and an I/O bus bridge 1110 by a local bus 1102. Among the expected memory units are random access memory (RAM) 1106, which may be any standard RAM, including standard dynamic random access memory (DRAM), and may be symmetric or asymmetric. Also coupled to bus 1102 is a read-only memory (ROM) unit 1108. The ROM will typically include the boot code for the processor 1100. A non-volatile RAM (NVRAM) unit 1104 is also coupled to the bus. The I/O bus bridge 1110 is coupled to the local bus 1102 and bridges to the I/O bus 1112. A number of units may reside on the I/O bus, including a graphics module 1114 that couples to a display (not shown), a universal serial bus (USB) controller that may couple the system to any number of additional USB devices. Common USB devices include keyboards, mice, cameras, scanners, printers, and other peripheral components and input/output devices. Also coupled to the I/O bus may be power management module 1118, which may be coupled to the power switch and may include conventional power conservation protocols, ensuring the processor 1100 is permitted to orderly conclude its current operation before changing power states. An infrared data association (IrDA) interface 1120 permits the terminal to be coupled to hand-held devices, if desired. In some embodiments, a keyboard may be coupled by an Ir link. Storage unit 1122, which may, for example, be a flash memory unit, is used for long-term storage of data or files. A transceiver 1124 is used to permit the processor to communicate with the hub, whether it be a point-to-point link or across a wide-area network. The transceiver 1124 may be, but is not limited to, an ethernet transceiver, a modem, digital subscriber line (DSL) or cable modem. It is expected that the processor 1100 will communicate through the transceiver 1124 to the server using transmission control protocol /internet protocol (TCP/IP). Encryption and compression within the terminal may be handled by conventional hardware or software solutions. Audio I/O interface 1126 may include an internal microphone and speaker which permits audio input and output. This is particularly useful in the context of voice e-mail or voice over IP communications. Additionally, some embodiments of the invention will include speech to text (STT) capability 1130 and speech recognition (SR) capability 1136. Various embodiments may implement these capabilities as hardware or software or a combination of both. In embodiments having SR capability, for simplicity of use, it is desirable to use one of the multiple user SR packages available today and expected to improve in the future, as these packages avoid the necessity of "training" the system. This permits recognition of content of speech and conversion to text. " For purposes of reduced cost, it may be desirable to use a particularly simple speech recognition package, recognizing only, for example, numbers and letters. A suitable speech recognition package will permit a user to navigate the WAN as subsequently described using voice commands and composed e-mails in a hands-free manner. Such an embodiment has the additional advantage that it enables Internet access to the physically challenged. In some embodiments, SR 1136 is present, but STT 1130 is not. This may permit the processor to respond to voice commands but would not permit composition of e-mail, for example. In one embodiment of the invention, the terminal has a notebook form factor with an integrated LCD display. In an alternative embodiment, the form factor is a set-top box, which relies on an external display, such as a television or external monitor. In either case, a standard QWERTY keyboard could be used. In the set top box embodiment, a wireless keyboard or remote is desirable. Figure 18a is a flow diagram of server side segmentation in one embodiment of the invention. A request for a page is received at functional block 400. A determination is made at decision block 402 whether the requested page has been segmented. If the page has not been segmented, a determination is made at decision block 404 whether the requested page is a matrix page. If the requested page is a matrix page, at functional block 406, the cells of the matrix are each defined to be a region, thereby completing the segmentation. If the page is not a matrix page, the page is segmented either based on area or content. By "segmentation," it is meant that the page is divided into a plurality of regions. The regions may contain one or more links and/or some amount of content. This segmentation facilitates usability as discussed in more detail below. Once segmentation is complete, at functional block 408, a determination is made if the boundaries of the regions should be shown on the displayed page at decision block 410. If the boundaries are to be shown, the boundaries are overlayed on the page at functional block 412 after the overlay, or if no boundaries are to be shown, the page is sent to the client node at functional block 414. Figure 18b is a flow diagram of client side manipulation of a segmented page in one embodiment of the invention. At functional block 450, a segmented page is received at a client node. A determination is made at decision block 452 if a tab input has been received. As used herein, a tab input is any input which brings about the functionality of moving the focus from one region to another adjacent region. If no tab input has been received, a determination is made at decision block 454 if the regions have identifying symbols associated therewith. Particularly in the case of matrix pages, the different cells typically have associated therewith either an alphanumeric character or some symbol such as an asterisk or other punctuation mark to identify the cell. If there are identifications associated with the regions, a determination is made at decision block 456 if such an identification has been received as an input on the client node. If the identification has been received, the corresponding region is brought into focus. The focus region is active, and in some embodiments, the corresponding region is zoomed to increase its size relative to the inactive regions at functional block 460. If no identifications are associated with the region or no identification is received, the client waits for a tab input at decision block 452. If a tab input is received, the next region is brought into focus. If no region is currently in focus, a first region, e.g., the uppermost leftmost region, will be brought into focus at functional block 458. At functional block 462, the regions are scaled so that the in focus region is enlarged relative to the regions which are not in focus. This is particularly desirable for web browsing in a television context where distance from the set may make reading the unsealed page difficult or impossible. Thus, by scaling region by region, readability within the region can be enhanced to permit use and browsing from a distance. At functional block 464, a first link in the focus region is highlighted. As used herein, "highlighted" means made active such that a subsequent input, such as a predefined key press activates the link. Highlighting in the link context is analogous to focus in the region context. Highlighting may, but need not include, changing the link's appearance in any manner on the display such as, for example, changing size, color, shading, etc. A determination is made at decision block 466 if an enter signal has been received. However, if no enter signal has been received, a determination is made at decision block 468 if a scroll signal has been input at the client node. If a scroll signal has been input, a next link is highlighted at functional block 472. If an enter signal is received at functional block 466, a then highlighted link is activated at functional block 474 and a next segmented page is received, and the process begins again. Alternatively, if no scroll signal input is received at decision block 468, a determination is made at decision block 470 whether a tab or identification input has occurred. If it has, the system continues processing at blocks 458 or 460, respectively. Figure 18c is a diagram showing a system implementing the tab, scroll, and zoom features of one embodiment of the invention. A set top box 500 is coupled to a television monitor 502 and is responsive to remote control 504. Remote control 504 may be a custom remote control, a wireless keyboard, or even a standard universal remote control. Remote control 504 may be equipped with a microphone for accepting voice commands or may merely provide push button inputs. In frame one, television 502 is displaying a web page 510 that has been segmented into eight equally dimensioned regions A- H. Remote control 504 includes a tab function 520, a scroll function 522, and an enter function 524. Responsive to actuation of the tab function, region A is brought into focus, as shown in the second frame. Link one is highlighted and A is enlarged, while the remaining regions are scaled so that A is much larger relative to the other regions, thereby accomplishing a zoom function and improving readability of the information contained in region A. This is shown as web page 512. If, when A is in focus, the user actuates scroll function 522, a second link in region A is highlighted as shown on page 514. In one embodiment, scrolling within the focus region does not effect the size or representation of the non-focus regions. In the event that, at web page 512 or web page 514, the enter function 524 is actuated, link ! or link 2 would be traversed, respectively. If the segments are actually associated with their alphanumeric designator, and that remote control 504 has alphanumeric keys, for example, letter key F 526, web page 516 shows a web page that would be reached from web page 510, 512, or 514 responsive to actuation of the F key. In web page 516, the F region is in focus, and the remaining regions are scaled to be much smaller than the F region. These are merely illustrative examples of the tab, scroll, and zoom features of one embodiment of the invention. While the shown embodiment tiles the regions, it is within the scope and contemplation of the invention to overlay the focus region on one or more of the other regions. It is also within the scope of the invention to permit a user to increase the zoom of the focus region to exceed the physical space. In such case, scrolling within the region may be required to view the entire contents of the region. Such scrolling need not effect the display of the non-focused regions. Figure 19 is a flow chart of operations of the navigation system of one embodiment of the invention in a custom terminal custom browser node. Upon power-up at functional block 1602, a content partners home page is accessed. In some embodiments, it may be possible to bypass access of the home page and go directly to the sister site home page. At functional block 1604, a node establishes communication with a sister site server (SSS). At functional block 1605, a first matrix layer is received from the SSS. At decision block 606, the node waits for a keypress. If at decision block 606, a determination is made that a key has been pressed, a determination is made at decision block 607 whether the keypress corresponds to a composition cell. A composition cell is deemed to be a cell in the navigation matrix which permits a user to enter additional data. For example, a search cell or e.g., a purchase order form or an e-mail may have one or more composition cells. If the cell is a composition cell, the system enters composition mode at functional block 632. In composition mode, the digits of the keypad represent the digits themselves, rather than navigation options. The cursor will also appear in the composition field of the composition cell. At decision block 634, a determination is made if the enter key has been pressed. The enter key is defined in one embodiment of the invention to signify the end of a composition. Thus, if the enter key has not been pressed, the system remains in composition mode. However, if at decision block 634, the enter key has been pressed, the system returns to navigation mode at functional block 636. It is also within the scope and contemplation to define other keys to instigate return to the navigation mode. If a keypress is received and not found to correspond to a composition cell at decision block 607, a determination is made at decision block 608 whether the matrix layer corresponding to the keypress exists within the cache. In this connection, it is determined whether a representation of that matrix layer, even if in the cache, is stale and therefore needs to be freshly downloaded. If the data is stale or not present in the cache at all, the keypress event is sent to the SSS. In one embodiment, the entire navigation path, including the keypress event, is sent with each keypress. When the navigation path is sent with each keypress event, the SSS is able to identify the requested matrix layer rapidly on the fly. Subsequently, at functional block 612, the client node receives the updated matrix layer corresponding to the keypress event. That matrix layer is loaded to the memory at functional block 614 and the cache is time-stamped at functional block 616. At functional block 618, new ads may be received from the SSS. Notably, the receipt of the ads is asynchronous with the matrix layer receipt and may occur at any time without being prompted by a keypress event. At functional block 620, the incoming matrix layer is rendered to a temporary buffer by using a double-buffering technique. The actual rendering is transparent to the user. At functional block 622, the status bar for the load is updated to indicate the percent complete of the matrix layer rendering. At functional block 624, a determination is made if the rendering is complete. If it is not, the buffer continues to render and the status bar continues to update. By regularly updating the status bar, the user is not left wondering if the device is working. This is expected to limit the frustration experienced by many new users during the wait while matrix layers are rendered. If the rendering is complete, the temporary buffer is swapped with the frame buffer and the new matrix layer is displayed at functional block 1626. Then at functional block 628, the history of the navigation path is updated to reflect the new matrix layer. The system then returns to await a next keypress to indicate further navigation. By iteratively pressing appropriate keys, a user may navigate to any desired depth up to a maximum depth along any navigation path and obtain content relevant to the path navigated. If instead, the matrix layer was validly in the cache at decision block 1608, the matrix layer is rendered from the cache at functional block 1630 and the system awaits the next keypress. Flow in the sister site server is as described above with reference to Figure 7. Figure 20 is a diagram of the display of a graphical user interface of one embodiment of the invention. The screen is divided into a plurality of cells. In this embodiment, there are fifteen cells that represent navigation options and one messaging cell for displaying messages from the server, the progress or status bar, and a title block. The cells can further be subdivided between the digit keys 1-9 keys which, in this embodiment, represent the primary set of navigation options and the keys designated by letters A-C which represent secondary navigation options and *, 0, and # keys that may be additional navigation options or provide specialized functions. For example, the * key may return the user to the server home site, thereby leaving matrix navigation. The ABC cells will typically hold advertising, and selecting one of those cells will generate a matrix layer with primary navigation cells directed to that advertiser or the product line being advertised. While the interface is designed to be fully accessible with minimal key strokes from a key pad, it is also within the scope and contemplation of the invention to permit selection with a mouse or other pointer device. Figures 21a-d are example sister site matrix pages. In Figure 21a, an advertising cell 900 is the focus region of the displayed image. Ten advertisements are displayed within the regions. The first advertisement 902 is highlighted. From this matrix page, the * returns a user to the amazon.com home page. The # reveals the contents of a user's shopping cart. In Figure 21b, the contents of the focus window have been enlarged (zoomed) such that only four advertisements are displayed in ad cell 900. The no links /advertisements are highlighted. In Figure 21c, advertisement 902 is again highlighted. This may occur, for example, by a user pressing a scroll key from Figure 21b. In Figure 21d, a user has pressed a scroll key several times from Figure 21c. Thus, advertisement 902 has scrolled out of view and advertisement 904 is highlighted. While in this example, ten advertisements were present, the number of links within such a cell may be arbitrarily large. In the shown embodiment, scrolling through the links in the focus cell and scaling the focus cell content does not effect the user's view of the remaining cells. scaling the focus cell content does not effect the user's view of the remaining cells. Figure 22 shows an alternative matrix page of one embodiment of the invention. In this embodiment, the matrix occupies only a portion of the screen real estate. The remaining real estate may be occupied by content, a zoom of the focus cell, or advertising. In the foregoing specification, the invention has been described with reference to specific embodiments thereof. It will, however, be evident that various modifications and changes can be made thereto without departing from the broader spirit and scope of the invention as set forth in the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims: CLAIMS What is claimed is: 1. A method comprising: receiving a first key press event at a processor in a client node displaying a navigation matrix; forwarding the key press event across a WAN to a server node; and receiving a next deeper navigation matrix layer. 2. The method of claim 1 further comprising: iteratively receiving additional key press events and corresponding matrix layers until a maximum depth of a navigation path is reached. 3. The method of claim 2 further comprising: receiving a content layer once the maximum depth is reached. 4. The method of claim 1 further comprising: determining if a second key press event corresponds to a composition cell; entering a composition mode if the second key press corresponds to a composition cell; and returning to a navigation mode responsive to a predetermined signal. 5. The method of claim 4 wherein a composition cell is any cell that permits user text input. 6. An apparatus comprising: a processor; a memory coupled to the processor, the memory storing a graphical user interface that defines a portion of a multidimensional navigation matrix; a user input device permitting a unique input corresponding to each cell of a current two-dimensional layer of the navigation matrix, the processor responding to an input by generating a next deeper layer of the matrix up to a maximum depth. 7. The apparatus of claim 6 wherein the input device is a key pad and the unique input is a single key press. 8. The apparatus of claim 6 wherein each layer of the navigation matrix defines a plurality of primary navigation options. 9. The apparatus of claim 6 further comprising: an audio input interface; and a speech recognition unit. 10. The apparatus of claim 6 wherein the memory is a NVRAM unit. 11. The apparatus of claim 6 wherein the user input device is a key pad wirelessly associated with the processor. 12. The apparatus of claim 11 wherein the key pad is on a remote control that communicates with the processor using infrared signaling. 13. The apparatus of claim 8 wherein the plurality is less than or equal to ten. 14. The apparatus of claim 9 further comprising: a speech to text unit. 15. A method of simplifying wide-area network navigation comprising: limiting navigation options to a set, each member of which can be traversed by pressing a single unique key; and displaying each option on a display in association with an indication of the single unique keys. 16. The method of claim 15 wherein the options are displayed in a matrix format with each cell of the matrix associated with a unique key. 17. The method of claim 15 wherein the set comprises: a first subset of primary navigation options and a second subset of secondary navigation options wherein each member of the first subset is associated with a numerical digit key. 18. The method of claim 16 further comprising: generating successively deeper layers of the matrix responsive to key press signals until a maximum depth is reached; and displaying content corresponding to the cell selected at the maximum depth. 19. The method of claim 18 comprising: translating content from an arbitrary format to a single predefined format. 20. The method of claim 16 wherein a background is displayed behind the matrix further comprising: matching the background with a selected navigation option. 21. The method of claim 15 further comprising: fading the indication off the display for a subset of options over a time interval. 22. A computer readable storage media containing executable computer program instructions which when executed cause a digital processing system to perform a method comprising: limiting navigation options to a set, each member of which can be traversed by pressing a single unique key; and displaying each option on a display in association with an indication of the single unique keys. 23. The computer readable storage media of claim 22 which when executed cause a digital processing system to perform a method further comprising: options displayed in a matrix format with each cell of the matrix associated with a unique key. 24. The computer readable storage media of claim 22 which when executed cause a digital processing system to perform a method further comprising: a first subset of primary navigation options and a second subset of secondary navigation options wherein each member of the first subset is associated with a numerical digit key. 25. The computer readable storage media of claim 23 which when executed cause a digital processing system to perform a method further comprising: generating successively deeper layers of the matrix responsive to key press signals until a maximum depth is reached; and displaying content corresponding to the cell selected at the maximum depth. 26. The computer readable storage media of claim 25 which when executed cause a digital processing system to perform a method further comprising: translating content from an arbitrary format to a single predefined format. 27. The computer readable storage media of claim 23 which when executed cause a digital processing system to perform a method further comprising: matching the background with a selected navigation option. 28. An apparatus comprising: a transcoder to be coupled to a wide-area network (WAN) to convert disparate protocols into predetermined known protocol; a plurality of databases to store content from the WAN after transcoding; and a server to serve a matrix layer to a client node responsive to a predefined signal. 29. The apparatus of claim 28 wherein the transcoder is an extensible markup language (XML) transcoder. 30. The apparatus of claim 28 wherein each matrix layer served defines a set of primary navigation options, each primary navigation option navigable with a single key press. 31. The apparatus of claim 28 wherein the server further serves a subset of the content if a navigation path has reached a maximum depth. 32. A method comprising: providing a web page having a link to a sister site that permits simplified navigation; and serving pages from the sister site responsive to actuation of the link on the web page. 33. The method of claim 32 wherein the sister site employs matrix navigation, the method further comprising: accepting an alpha numeric indication of a navigation option to be followed; and serving a matrix layer corresponding to the navigation option. 34. The method of claim 32 further comprising: transcoding a hyper text markup language (HTML) page into an extensible markup language (XML) page; and applying a document type definition (DTD) to the XML page. 35. The method of claim 34 further comprising: formatting the XML page using extensible style language (XSL); and transforming the formatted page into one of extensible hyper text markup language (XHTML) and HTML. 36. The method of claim 34 further comprising: applying a cascading style sheet (CSS) to the XML page. 37. A computer readable storage media containing executable computer program instructions which when executed cause a digital processing system to perform a method comprising: providing a web page having a link to a sister site that permits simplified navigation; and serving pages from the sister site responsive to actuation of the link on the web page. 38. The computer readable storage media of claim 37 which when executed cause a digital processing system to perform a method further comprising: accepting an alpha numeric indication of a navigation option to be followed; and serving a matrix layer corresponding to the navigation option. 39. The computer readable storage media of claim 37 which when executed cause a digital processing system to perform a method further comprising: transcoding a hyper text markup language (HTML) page into an extensible markup language (XML) page; and applying a document type definition (DTD) to the XML page. 40. The computer readable storage media of claim 39 which when executed cause a digital processing system to perform a method further comprising: formatting the XML page using extensible style language (XSL); and transforming the formatted page into one of extensible hyper text markup language (XHTML) and HTML. 41. The computer readable storage media of claim 39 which when executed cause a digital processing system to perform a method further comprising: applying a cascading style sheet (CSS) to the XML page. 42. A method comprising: segmenting a displayable image into a plurality of regions; and moving algorithmically from region to region responsive to a tab signal. 43. The method of claim 42 further comprising: enlarging a focus region as displayed. 44. The method of claim 42 further comprising: highlighting a next adjacent link within a focus region responsive to a scroll signal. 45. The method of claim 42 wherein boundaries of the plurality of regions are not displayed. 46. The method of claim 43 further comprising: scaling a subset of non-focus regions to be displayed. 47. The method of claim 42 further comprising: associating a region with an identifying symbol. 48. The method of claim 47 wherein the web page is a matrix layer and the regions are matrix cells. 49. The method of claim 47 further comprising: receiving a signal corresponding to the symbol; and causing the region corresponding to the symbol to be a focus region. 50. The method of claim 42 further comprising: highlighting a link within a current region. 51. The method of claim 42 further comprising: highlighting a link within a current region. 52. A method comprising: defining a tab signal; defining a scroll signal; moving a focus between regions of a page responsive to the tab signal; and highlighting links in a sequential manner within a focus region responsive to the scroll signal. 53. The method of claim 52 further comprising: enlarging the focus region relative to non-focus regions on the page.

Inventors: BELTRAN MANUEL V, DUKESHIRE DONALD L, GOTTFURCHT ELLIOT A, GOTTFURCHT GRANT E, LONG ALBERT-MICHEL C, MARINUZZI JOHN A, MCKNIGHT J TEAGUE, WOESNER STEPHEN K, BELTRAN, MANUEL, V., DUKESHIRE, DONALD, L., GOTTFURCHT, ELLIOT, A., GOTTFURCHT, GRANT, E., LONG, ALBERT-MICHEL, C., MARINUZZI, JOHN, A., MCKNIGHT, J., TEAGUE, WOESNER, STEPHEN, K.
Applicants: GOTTFURCHT ELLIOT A, GOTTFURCHT, ELLIOT, A.
Application year: 2000
Main classification: G06F17
IPC codes: G06F3