A method for displaying selectable and non-selectable elements on a small screen

Abstract: A structured screen display process presents structured information that includes a plurality of selectable (404, 406, 408, 412, 414) and non-selectable elements (402, 416) on any width screen display so that the user is able to see as many of the elements as possible at once, and is able to see the complete text of any element as needed. The process dynamically adapts the display of structured information to the screen display width of a device. The structured information is presented on a screen display by displaying at least a portion of each element of a plurality of elements on the screen display where at least one of the selectable elements has a width greater than a width of the screen display. The at least one selectable element is scrolled horizontally while continuing to display the other elements of the plurality of elements.

Description: This invention relates generally to the display of information on small display screens, and in particular to methods for displaying structured information comprising selectable and non-selectable elements, wherein some of the selectable elements have a width greater than the screen display width. Pocket size or mobile devices such as cellular telephones and pagers as well as desk-top telephones are now capable of receiving and displaying structured information that originates from outside of the device. Nowadays these devices usually have display screens with varying screen sizes and consequently varying screen display widths. Thus, an author of the structured information cannot customize the layout of the information for the screen size of a specific device because the screen size is device dependent. In view of the variations in screen size among devices, prior art solutions for displaying structured information have attempted to enable a user adapt to the information being received and tc display the information in a way that makes the information usable to the user. Currently, there are three alternative solutions to the problem of displaying text which exceeds the width of a small screen display such as those on cellular telephones or pagers. In a first method, if the text of an element 110 is longer than screen display width 101, the text is wrapped and made to flow down a display screen 125 as illustrated in Figure 1A. In Figures 1A to 1D, a rectangle 108 defined by the solid lines represents display screen 125. The other elements in the structured textual information are shown simply to provide context for the following description. In this method, the elements that do not fit on display screen 125, e.g., choices 111 to 113, are clipped and can be accessed by scrolling down vertically. This is similar to the method used by computer word processors for example. The fact that the text is structured into four elements 110 to 113 is not considered in displaying the text. Elements 110 to 113 are considered one continuous text message. The vertical scrolling can be one line at a time, one screen display at a time (See the discussion of Figures 3A to 3D below), or a fraction of a screen display at a time. In this example, one line is scrolled at a time and so after a scroll operation, display screen 125 is as shown in Figure 1B. The user sees a portion of element 110 and a portion of element 111. Figure 1C illustrates display screen 125 after another one line scroll operation. Figure 1D illustrates display screen displaying the fourth test element 113 which would be obtained by many one line scroll operations from the state of the display screen 125 in Figure 3C. As illustrated in Figures 1A to 1D, at any instant, the user is not able to view even a portion of all four of the choices in the list on display screen 125. In this embodiment, with a four-line display screen, the user can view at most one complete selectable element or choice. The user must scroll vertically to see the other selectable elements or choices. This makes it very hard for the user to remember what the choices are available, particularly after the user has to perform various scrolling operations to see other choices. A second display method has been to display a message with multiple lines as a single line and automatically scroll the resulting single line horizontally across the screen display. This is similar to the way one line of information is displayed for example on Times Square in New York City. The second method, where the text is fit on one line and scrolled horizontally, would not be at all suitable for the example discussed above with reference to Figures 1A to 1D. Scrolling the concatenated text of the four choices on one line, as illustrated in Figure 2, would make the devices with small screens unusable for the user. A last display method used is a hybrid of the two methods described above. Text is wrapped on the screen display and after a short pause, long enough for the text to be read, the text automatically scrolls vertically, usually a full screen display at a time. This display method is illustrated in Figures 3A to 3D where each element is displayed individually in this example. The last method has the same pitfalls as the first method. In particular, the user is able to see only one choice at a time. The fact that the screen display scrolls automatically to the next screen display makes it harder for the user to remember the choices as the automatic scroll can occur before the user has had time to understand the choices presented to him or her. The three scrolling methods described above -are well suited to the display of unstructured textual information such as a text message. They are often used in pagers or cellular telephones that support paging. However, as illustrated above, the methods do not work well for structured elements, such as those in a list of user choices, a menu of user options, or a list of data that are presented on a display screen which is too small to display all of the structured elements in their entirety. In each of the methods discussed above, although structured information could be used, the methods would simply process the structured information as one continuous string of text without regard to the elements within the structure. Presenting a structured list on a small display screen presents many unresolved challenges. The reason this problem has not been solved is that up to now devices with a small display such as pagers or cellular telephones either displayed information that had been preprogrammed into the device, or displayed non-structured textual information. In the case of information that had been preprogrammed and designed into the device, such as a menu of choices pertaining to the configuration of the device, the developers who programmed these menus made sure that the information had been optimized to the device and chose the wording to make sure that the choices fit within the width of the screen display. When information originates outside of the device, only the case of non-structured information has been implemented and the methods described above are used with good results. When structured information originates outside of the device and is meant to be displayed on devices with various display screen sizes, there has been no efficient way to layout, i.e., preprogram, the information for a particular screen display size. Thus, a solution of the problems associated with displaying structured information on small display screens is needed before structured information, such as a list of choices and long texts (selectable elements) and short text (non-selectable elements), can be advantageously used on telephones, cellular telephones, pagers and other devices with small display screens. According to the principles of this invention, a structured screen display process presents structured information that includes a plurality of elements on any width screen display so that the user is able to see as many of the elements as possible at once, and is able to see the complete text of any element as needed. The process of this invention dynamically adapts the display of structured information to the width of the screen display. Further, with this dynamic adaptation, the user is able to see at a glance as many as possible of the elements of the structure and read any one of the elements at the user's discretion in a way that is compatible with using the structured information such as a list of selectable elements along with non-selectable elements. Earlier but not prepublished application EP 0 864 963 A discloses such a method. In the method of this invention as set forth in claim 1, structured information is presented on a screen display by displaying at least portions of selectable menu choice and non-menu choice elements in a plurality of selectable and non-selectable elements on the screen display where the selectable elements have a width greater than a width of the display screen. These elements are scrolled in a predefined direction, e.g., horizontally, while continuing to display the portion of each other element in the plurality of elements. Specific embodiments of the invention are set forth in claims 2 to 12. These and other features, aspects, and advantages of the present invention will become better understood with regard to the following description and accompanying drawings by way of example, where:- Figures 1A to 1D illustrate a first prior art solution for displaying structured information on a small display screen; Figure 2 illustrates a second prior art solution for displaying structured information on a small display screen; Figures 3A to 3D illustrate a third prior art solution for displaying structured information on a small display screen; Figure 4A shows a representative example of screen display including selectable and non-selectable elements; Figure 4B shows exemplary structured information used in describing the present invention, the exemplary screen display includes selectable and non-selectable elements, some of the selectable elements further including sub-structured information; Figures 5A to 5L illustrate the screen displays for the structured information of Figure 4B according to the principles of the present invention where structured information is displayed on a display screen so that the user is able to see as many of the structure elements as possible at once, and is able to see the complete text of any element when needed; Figures 6A and 6B illustrate a process flow diagram for one embodiment of the structured display process of this invention; and Figure 7 illustrates one embodiment of the pointers and the relationship of the pointers to structured information stored in a buffer memory as used by the structured display process of this invention. NOTATION AND NOMENCLATURE In the following detailed description of the present invention, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will become obvious to those skilled in the art that the present invention may be practised without these specific details. In other instances, well known methods, procedures, components, and circuitry have not been described in detail to avoid unnecessarily obscuring aspects of the present invention. The detailed description of the present invention in the following are presented largely in terms of procedures, steps, logic blocks, processing, and other symbolic representations that resemble of data processing devices including two-way communication interactive devices such as mobile phones, two-way pages, telephones and remote controller with Internet connections. These process descriptions and representations are the means used by those experienced or skilled in the art to most effectively convey the substance of their work to others skilled in the art. The present invention is a method for display selectable and non-selectable elements on a small screen. The method to be described in detail below is a self-consistent sequence of processes or steps leading to a desired result. These steps or processes are those requiring physical manipulations of physical quantities. Usually, though not necessarily, these quantities may take the form of electrical signals capable of being stored, transferred, combined, compared, displayed and otherwise manipulated in a computer system or electronic computing devices. It proves convenient at times, principally for reasons of common usage, to refer to these signals as bits, values, elements, symbols, operations, messages, terms, numbers, or the like. It should be borne in mind that all of these similar terms are to be associated with the appropriate physical quantities and are merely convenient labels applied to these quantities. Unless specifically stated otherwise as apparent from the following description, it is appreciated that throughout the present invention, discussions utilizing terms such as "processing" or "computing" or "verifying" or "displaying" or the like, refer to the actions and processes of a computing device that manipulates and transforms data represented as physical quantities within the computing device's registers and memories into other data similarly represented as physical quantities within the computing device or other electronic devices. According to the principles of this invention, a structured screen display process that concurrently displays as many of the elements as possible at once on a display screen, and allows the user to see any element completely when needed. Herein, a structured screen display is composed of individually identifiable elements. Figure 4 illustrates a representative structured screen display comprising selectable elements 402, 404, 406, 408, 412 and 414 and non-selectable elements 402 and 416. Element 402 is a piece of long textual information and the width thereof is greater than a width of the display screen. A typical LCD display screen in a cellular phone is four lines high by twenty characters wide, which means element 402 will have to be displayed partially without obscuring other elements. As one of the important features in the present invention as to be described more below, element 402 is made a selectable element as such a first portion of the element is displayed and the rest of the element can be displayed when the element is selected. Selectable elements 404, 406, 408, 412 and 414 form a menu of choices or a list of user options. Although not a requirement, any of these selectable elements 404, 406, 408, 412 and 414 may constitute another structured screen display that may further comprise a list of user options. For example, a list of US news items will be displayed if a choice to "US News" 404 is made by the user. Non-selectable elements 410 and 416, often used to get immediate attention of a user, are only for display purpose and have no further links to any other structured screen display. To facilitate the description of the present invention, an exemplary structured screen display 420 is illustrated in Figure 4B in which there are four selectable elements 424, 426, 428, 432 and 436 and two non-selectable elements 422 and 434. It should be understood that element 428 is a long text, like element 402 of Figure 4A, it is made a selectable element although it is not a choice in a menu. Further shown in Figure 4A are two sub-structured screen displays 430 and 440 that are caused to be displayed respectively when selectable element 424 and 426 are respectively chosen. Sub structured screen displays 430 and 440 further have selectable elements and non-selectable elements. It is understood to those skilled in the art that in one embodiment information originated outside of a device is generally managed in a structure like an upside-down tree; each node is referenced by a choice expressed in a selectable element and the leaves hold the actual information that may be either selectable or non-selectable elements. Figures 5A to 5L demonstrate a sequence of display screens for the exemplary structured screen display 420 as above. According to the principles of this invention, elements 422, 424, 426 and 428 are respectively displayed on one display line of display screen 504 that can support four display lines. As used herein, a display screen is the physical display apparatus in a device, such as a 4 by 20 character LCD screen. A screen display is the image presented on the display screen. On displays with a limited number of lines, one line for each element is the most often chosen implementation. However, the use of one line for each element is only illustrative of the principles of this invention and is not intended to limit the invention to this particular embodiment. Alternatively, each element could be displayed on two or more lines without affecting the principles of this invention. Further it is understood that display screen 504 having four display lines is only for illustrative purpose and many display screens in reality do not necessarily have distinct display lines and it will be appreciated that the principles of this invention are equally applied thereto. As shown in Figure 5A, the length of element 424 and 428 exceeds width 502 of display screen 504, the display of elements 422 and 428 is clipped and only as many characters of each element as fit width 502 of display screen 504 are visible in Figure 5A. In this embodiment, the element is clipped at a word boundary, i.e., a sub-element boundary, so that partial words are not displayed. According to one embodiment of this invention, the first selectable element is selected when a screen display is first displayed. Therefore, element 424 of displayed elements 422, 424, 426 and 428 is selected as indicated by an element selection character or element indicator 506. It is understood that the first selectable element being selected is up to an implementation preference. An important aspect of the invention is that only one selectable element can be selected at a time. In this embodiment, a selected element is visually indicated to the user by element indicator 506 that is placed after the numeric label "1" indicating that it is the first choice in the menu in structured screen display 420 for that element. However, any other method, such as inverse image or video, a different element selection character, or the position of the element being always at the top or bottom of the display, could be used to indicate the specific element selected without having an impact on the operation of this invention. The user can select a different element by vertically scrolling element indicator 506 up or down. The specific method used to move element indicator 506 up or down on display screen 504 is not an essential feature of this invention. In view of this disclosure, those skilled in the art can implement the invention with any desired mechanism for moving element indicator 506. For example, a thumb wheel, a mouse, or a rocking controller, as available in some video game machines, would work equally well as those mechanisms for scrolling element indicator 506. Independent of the method used to move element indicator 506, when a specific element is selected, the information in the selected selectable element is automatically scrolled horizontally in a predefined manner. In this embodiment, as illustrated in Figures 5B and 5C, selected selectable element 424 scrolls one screen display width at a time aligned on word boundaries after a pause that is long enough for the user to read the newly visible text while the rest of the displayed elements 422, 426 and 428 remain unchanged. Herein, aligned on word boundaries means that after a horizontal scroll, the leftmost visible word of the scrolled element is the first word that was not visible before the scroll. In this embodiment, selected element 424 keeps scrolling after each pause until the complete element has been displayed to the user. In one implementation, the method scrolls through the entire element three times to make sure the user has ample time to read the selected element. As illustrated in Figures 5A to 5D for the case of a long selectable element, which is often labelled with, for example, a numeral, neither the label nor selected indicator 506 scrolls. This helps the user preserve context, and link the newly visible text as belonging to the selected and now scrolling choice. However, even without preserving the context of a particular choice, the novel principles of this invention are a significant enhancement over the prior art methods that are problematic in the display of structured information. In this embodiment, when structured information is first displayed on display screen 504, first selectable element 424 of the structured information is selected and starts horizontal scrolling automatically. The system could optionally only trigger horizontal scrolling upon a user action, such as changing the selection without affecting this invention. Figure 5E shows what happens when a user scrolls vertically down to select a next selectable element rather than the pre-selected first element. As there are two selectable elements 424 and 426 displayed in display screen 504, scrolling downward one element causes element indicator 506 to move from element 424 to element 426. There is no horizontal scrolling as selected element 426 is entirely displayed. If the user further wants to move element indicator 506 one more element downward to element 428, Figure 5F shows that element indicator 506 now points to selectable element 428 that is a long text. It is noted that elements that have been displayed remain the same and there is one selectable element 428 available for element indicator 506 to indicate a selected element. As indicated that selectable element 428 is a long text whose width is greater than screen width 502. A first portion of the element is displayed first as shown in Figure 5F. According to one embodiment, the first portion is displayed for approximately 1.5 seconds and a second portion is displayed for 1 second using the word boundaries as shown in Figure 5G, with the rest of the displayed elements unchanged. Before the first portion of element 428 is displayed again, it is examined that if there are any more portions that element 428 may have. If there are more portions to be displayed, all the portions are respectively and sequentially displayed for the same duration, i.e. to allow the user to read the portions. Figure 5H shows that a third portion of element 428 is displayed with the rest of the displayed elements unchanged. Further it is noticed that element indicator 506 is no longer displayed when the second and third potions of long element 428 are respectively displayed on display screen 504 at the word boundary. The suppression of element indicator 506, when other than the first portion of a selectable long text element is displayed, is to leave an impression to the user that the selected element is not a choice in a menu, there is no sub-structured information linked thereto, thus no further activation is needed or permitted. This is an important distinction from displaying a long choice, such as selectable element 424. Figure 5I shows that the first portion is returned after the last portion of element 428 is displayed. It is noted that element indicator 506 is now displayed again with the first portion, the user thus knows where a selection has been made. To further scroll downward, Figure 5J shows that the original element, non-selectable element 422 has been scrolled out of display screen 504 and a new selectable element 432 has scrolled in and thus displayed. This has to happen because there was no selectable element available in display screen 504 for element indicator 506 to point to. It is also noted that the first potion of selectable element 428 is displayed and remains displayed, no horizontal scrolling happens because element 428 is not selected now. If the user wants to move to the next selection, element indicator 506 is intended to move to next selectable element. Because element 434 is not a selectable element and a selectable element must be in display screen 504 in order to be selected, Figure 5K shows that another element 434 joins in display screen 504 and pushes element 424 out of display screen 504. It is noted, however, that newly displayed element 434 is a non-selectable element. To indicate that element indicator 506 only points to a selectable element, element indicator 506 in Figure 5K remains pointing at selectable element 432. It is understood to those skilled in the art that maintaining an element indicator at only selectable elements is not a requirement in the present invention. The element indicator could, for example, be implemented to point to every single element regardless it is a selectable or non-selectable element. Further to scroll element indicator 506 down one element causes a selectable element 436 to move in and selectable element 426 move out display screen 504. Because element 436 is selectable, element indicator 506 now points at newly displayed selectable element 436. From Figures 5J to 5L, element indicator 506 moves from one selectable element to the next selectable element, while skipping non-selectable elements. Figures 5A to 5L show a sequence of displaying selectable and non-selectable elements, wherein some of the selectable elements have a width greater than the screen display width. One of the advantages in the present invention is that is allows the user to see as many of the structure elements as possible at once and to see the complete text of any element when needed. When a selected selectable element has a width greater than the screen display width, the selected long element is completely displayed by horizontally and cyclically displaying portion after portion of the selected long element. The exact timing and speed of the horizontal scrolling of the selectable long element can vary widely. These timings and speeds are a matter of preference and can be customized to increase user comfort. The number of times of processing scrolling the complete element can be changed to any number of repetitions without affecting the operation of this invention. It is important to note that because structured information is being displayed, and because this invention makes use of the concept of a selected element within the structured information, it is the user's action of scrolling to an element and selecting that element which triggers the horizontal scrolling. This is an important difference from the prior art scrolling methods described above which assumed that the displayed text had no structure. In one embodiment of this invention, the structured screen display process is included in a plurality of methods that are executed on a processor within a portable hand-held device. Other methods performed by the portable hand-held device are not essential to this invention and so are not considered further. In view of the following disclosure, those skilled in the art can integrate the structured screen display method of this invention into the device so that the method is performed at the appropriate time. For example, the method of this invention could be implemented with the client module described in and commonly assigned U.S. Patent Application No. 08/570,210 entitled "METHOD AND ARCHITECTURE FOR AN INTERACTIVE TWO-WAY DATA COMMUNICATION NETWORK" of Alain Rossmann, one of the inventors hereof, which is incorporated herein by reference in its entirety. The client module included a plurality of manager modules including a navigation manager module, a network manager module, an HDML manager module, an archive manager module, a local manager module, an event manager module, a timer manager module, a user interface manager module, a memory manager module, and a device dependent module, wherein HDML stands for Handheld Device Markup Language that was previously referred to as TIL ( t erminal i nteraction l anguage). Figure 6 shows a process flow diagram for one embodiment of the structured display process of the present invention and shall be understood in conjunction with Figures 5A to 5L and Figure 7 that illustrates a screen buffer memory layout. According to one embodiment, there are two events that can initiate structured screen display method 600 of this invention. A first event is display of a new screen, meaning that new structured information is loaded up for display at a display screen, and a second event is activation of an element selection character key by the user. The element selection character key is a key in a key in a keypad that is designated to move the element indicator up and down. Typically a pair of arrow keys (up and down) in a keypad on a cellular phone are designated to be the element selection character key or the element selection character key sometime is implemented as a soft key displayed in a display screen. It is assumed herein that if the user holds the element selection character key depressed, the screen display is scrolled from element to element until the user releases the element selection character key to select a particular element. The event generated by release of the element selection character key includes identification of a particular selectable element selected by the user. The horizontal scrolling automatically occurs when the selected selectable element has a width greater than the display screen width. Of course, if the number of elements in the structured screen display is greater than the number of elements that can be displayed at one time on screen display 504, as element indicator 506 is moved to selectable elements that are not displayed, the screen display is vertically scrolled to show the element on which element indicator 506 is currently located. Vertical scrolling of information on a screen display to maintain display of a pointer is well-known to those of skill in the art and so does not form an essential aspect of this invention. Hence, in structural display method 600 (Figures 6A and 6B), a structured screen display event handler within an event manager first checks in new screen display event check 601 whether the current event is a new screen display. If the current event is a new screen display, check 601 transfers processing to initialize memory operation 602. In one embodiment of initializing memory operation 602, each storage location, such as 702, in a screen display buffer memory 725 as shown in Figure 7 is set to a predefined value, e.g. a negative number or perhaps, an illegal value, that is used to define the end of each element for the screen display. Screen display buffer memory 725 can be configured using RAM (random-access memory). Alternatively, each element can include an end-of-element character to indicate the end of the element. In either case, the elements for the screen display are stored in screen display buffer memory 725 for subsequent displays. In this example, a back slash is used as the end-of-element character and a slash preceding an element indicates the element is selectable. Also, in Figure 7, dashed vertical lines are superimposed on the memory to illustrate the screen display width. Memory 725 is illustrated therein as a layout to demonstrate how the structured information is accessed for display in a display screen with a limited size according to one embodiment. Thus, element 0 is stored as three sub-elements where each sub-element is the information that can be displayed at one time on the display screen. The sub-elements with element 0, as represented in Figure 7, are stored in locations (0,0), (0,1) and (0,2) of memory 625, where the first number in a pair represents the element, and the second number in the pair identifies the sub-element of that element. The concept of storing sub-elements is for illustration purposes only. Typically, an element is simply stored in contiguous memory locations. The important aspects are that a word or other part of an element is not broken across two screen displays, and a mechanism is provided to horizontally scroll an element. The use of sub-elements is intended only to assist in the visualization of this process. In this embodiment, an element portion selector 720 is used to identify the start of the next screen display within an element while width 502 of screen display 504 is known so that the appropriate portion of an element can be displayed properly during horizontal scrolling of that element. It is understood to those skilled in the art that element portion selector 720 is an address pointer from a counter controlled by an oscillating circuit. Storage of elements in contiguous locations of buffer memory 725, as illustrated in Figure 7, is only for ease of illustration of the principles of this invention. The particular technique used to store the elements, that are displayed on screen display 504, is not an essential aspect of this invention. Element 1 requires two screen display widths and is shown stored in memory 725 at locations (1,0) and (1,1). As illustrated in Figure 7, each element can be up to m screen display widths wide where m is selected by the application programmer. It can be appreciated that the value of m is only limited to the capacity of memory 725 and typically m is chosen around 5, otherwise a long selectable element would be preferably reworded to practically fit in a few display lines. Also, as illustrated in Figure 7, buffer memory 725 is n elements deep. A top of screen pointer 715 is used to indicate the element currently displayed in the top position on screen display 504. For the position of pointer 715 illustrated in Figure 7, a four line screen, and one element per line, elements 1 through 4 are displayed on screen display 504 and element indicator 506 is positioned on element 2 as indicated by scroll element pointer 730 that corresponds to the position of element indicator 506 on screen display 504. In initializing memory operation 602, top of screen pointer 715 is initialized to point to element zero, and element indicator 506 is initialized to element zero by setting scroll element pointer 730 to zero. In operation 602, element portion selector 720 is also set to point at the start of element zero. Thus, operation 602 not only stores the structured information that is displayed but also initializes pointers associated with scrolling and positioning of information on screen display 504. After the elements are stored in memory 725 and the various pointer initialized in operation 602, the first N elements are displayed in display N elements operation 603. In this embodiment, N is an integer that is defined as: N = ( Number of Screen lines) / (Lines per element). If any of the first N elements has a width greater than screen display width 502, only a first portion of the element is displayed, e.g. for text, a first t characters or less where t is the maximum number of characters that can be displayed on a line. In this embodiment, a word is not split, no partial word is displayed. Display first N elements operation 603 transfers to element greater than screen display width check operation 605. If the event that initiates method 600 is activation of element selection character key, selectable check 604 determines if an element to be displayed is selectable or non-selectable by examining the first character. If there is no special character, such as a slash, it means the element is non-selectable and proceeds to display the element. If there is a special character that indicates that the element is selectable, selectable check 604 transfers processing to element greater than screen display width check operation 605 along with a value of scroll element pointer 730. In this embodiment, as described above, scroll element pointer 730 indicates the position of element indicator 506 on screen display 504 and top of screen pointer 715 identifies the storage location in memory 725 of the first element displayed. Thus, the element that is considered for horizontal scrolling is located in memory 625 at the sum of top of screen pointer 715 and scroll element pointer 730. If an element greater than screen display width 502, the first portion of the first element, which in this example is the portion stored at position (0,0) in Figure 7, is tested to determine whether the end-of-element character is included in the first portion. If the end-of-element character is not included in the first portion, the first element, e.g., element zero, displayed on screen display 504 has a width greater than screen display width 502, and so check 605 sets element portion selector 620 to point at the start of a second portion of the element. Check 605 transfers processing to initialize counter operation 606. Conversely, if the end-of-element character is included in the first portion, the first element, i.e., element zero, has a width less than screen display width 502 and so no horizontal scrolling is required. In this case, check 605 transfers to end operation which performs any necessary cleanup and displays and returns control to the event manager. In one embodiment, an element is horizontally and cyclically scrolled. In another embodiment, an element is horizontally scrolled a predefined number of times. The predefined number of times is selected to facilitate the user seeing the entire element enough times that the user associates the information with the particular label for that element. Typically the predetermined number of times is three. Thus, for this embodiment, initialize counter 606 sets a horizontal scroll counter to three and transfers processing to pause operation 610. Of course, if it is unnecessary to repeat the horizontal scrolling a predefined number of times operation 606 and maximum number of scrolls check 614, that is described more completely below, could be eliminated. As indicated above, each portion of the selected element is displayed for a predefined time period that is long enough for the user to easily read the newly visible portion of the selected element. Thus, pause operation 610, and pause operation 613 that is described below, are simply time delays for the predefined period. In this embodiment, the time delay implemented in pause operations 610 and 613 is the same for each portion of the element. In each instance, pause operation 610 transfers processing to display next portion operation 611. However, implementations that provide varying delays for horizontal scrolling through the portions of the selected element, or differing delays for different horizontal scrolls through an element are also within the scope of this invention. For example, a first pause flag could be set upon entry to method 600. In pause operation 610, when the pause flag is set, a longer pause is used for the first portion displayed to allow the user to decide whether to select an element other than the first element displayed for horizontal scrolling. The first entry to pause operation 610 clears the > pause flag. Also, the user may not require as much time to read the selected element on the final horizontal scroll of that element. Thus, pause operation 610 could use the value of the horizontal scroll counter to select a particular time delay. Display next portion operation 611 displays the portion of the element starting at the location of element portion selector 720, and transfers to end-of-element check operation 612. End-of-element check operation 612 tests the portion, that is stored at position (0,1) in Figure 7, to determine whether the end-of-element character is included in the second portion of the element. If the end-of-element character is not included in the second portion, the first element displayed in screen display 504 has a width greater than twice the screen display width, and so check sets element portion selector 620 to point at the start of a third portion of the element. Check operation 612 transfers processing to pause operation 610 when the current displayed portion of the selected element is not the last portion of that element. When processing returns to pause operation 610, the next portion of the element is displayed for the predefined time and then processing again transfers to display next portion operation 611. Display next portion operation 611 displays the next portion of the element as identified by element portion selector 620, and transfers to end-of-element check operation 612. Operations 610 to 612 are repeated until end-of-element check operation 612 detects the end-of-element character and transfers processing to pause operation 613. Conversely, if the end-of-element character is included in the second portion, the second portion has a width less than or equal to screen display width 502 and so the horizontal scroll of the selected element is complete. In this case, check 612 transfers to a second pause operation 613. Upon entry to pause operation 613, the complete element has been displayed, but the last portion of the element was just displayed in operation 611. Consequently, pause operation 613 delays for a predefined time so that the user can comfortably read the last portion of the element, and then transfers processing to maximum number of scrolls check operation 614. Maximum number of scrolls check operation 614 first sets element portion selector 620 to point at the start of the selected element. Check 614 tests the value of the horizontal scroll counter. If the value of the counter is not zero, in this embodiment, i.e., a second predefined value, the element has not been horizontally scrolled the maximum number of times, and processing transfers to update scroll counter operation 616. Conversely, if the value of the horizontal scroll counter is the second predefined value, the element has been scrolled the maximum number of times and processing transfers to update display operation 615. Update display operation 615 displays the portion of the element that is pointed to by element portion selector 720 and transfers processing to end operation 607, that was described above. When the element has not been horizontally scrolled the predefined number of times, update scroll counter operation 616 changes the value of horizontal scroll counter to indicate that another horizontal scroll of the element has been completed. Update scroll counter operation 616 transfers processing to display operation 617. Display operation displays the first portion of the selected element and sets element portion selector 620 to point at the start of a second portion of the selected element and transfers processing to pause operation 610. Operations 610 to 614 and 616, 617 are repeated until the element has been horizontally scrolled the maximum number of times. As indicated above, when this occurs check 614 transfers to display first portion operation 615 that in turn transfers to end operation 607. Thus, according to the principles of this invention, structured information is displayed on a screen so that the user is able to see as many of the structure elements as possible at once, and is able to see the complete text of any element when needed. Consequently, structured information that is generated outside a device, such as telephones, pagers, cellular telephones and similar devices with a small screen, can be easily processed and displayed using the method of this invention.

Claims: A method for displaying structured information on a screen, said method comprising:- displaying on said screen a portion of said structured information, said portion comprising a number of elements (402, 404, 406, 408, 412, 414; 424, 426, 428, 432, 436) included in said structured information, wherein at least one of said elements (404, 406, 408, 412, 414; 424, 426, 432, 436) in said portion is a selectable menu-choice element having a width greater than a width of said screen, and wherein at least another one of said elements in said portion is a selectable non-menu choice element (402, 428) having a width greater than the width of said screen; and scrolling, in a predefined direction a selected one of said selectable menu-choice element or said selectable non-menu-choice element in said portion while continuing to display said other elements in said portion. A method as recited in claim 1 wherein said selectable menu-choice element (404, 406, 408, 412, 414; 424, 426, 432, 436) offers a menu of choices if selected and wherein said selectable non-menu choice element (402, 428) offers no further menu choices if selected. A method as recited in claim 1 or 2 wherein said scrolling said selected element comprises:- displaying each of consecutive portions of said selected element, respectively, for a predefined time; wherein said each of consecutive portions comprises complete words. A method as recited in any one of claims 1 to 3 wherein said scrolling said selected element further comprises:- testing to determine whether said selected element includes more than one portion comprising complete words. A method as recited in any preceding claim wherein said method further comprises:- repeating said scrolling said selected element a predefined number of times. A method as described in claim 1, wherein at least another of said elements in said portion is a non-selectable non-menu-choice element having a width not greater than the width of screen. A method for displaying structured information on a screen as recited in any preceding claim, said method further comprising:- receiving said structured information comprising a plurality of selectable and non-selectable elements; displaying a portion of said plurality of selectable and non-selectable elements on said screen; said portion including at least one of said selectable elements which is a long selectable element with a length greater than a width of said screen; said portion further comprising complete words; selecting said long selectable element; determining a number of displayable portions of said long selectable element according to said width of said screen to ensure at any time, only complete words in each of said displayable portions are displayed on said screen; and scrolling, successively, respectively and repeatedly, each of said number of said displayable portions of said long selectable element. A method as recited in claim 7 wherein said selectable elements comprise options and long texts; and wherein said non-selectable elements comprise short texts entirely displayable at one time on said screen. A method as recited in claim 8 wherein each of said options comprises sub-structured information, at least a portion of said sub-structured information being displayed when a corresponding one of said options is selected. A method as recited in any one of claims 7 to 9 wherein said determining said number of said displayable portions of said long selectable element comprises:- breaking said long selectable element into said displayable portions with respect to said width of said screen, at a word boundary; and calculating said number of said displayable portions. A method as recited in claim 10 wherein said scrolling, successively, respectively and repeatedly, each of said number of said displayable portions of said long selectable element comprises:- displaying a first portion in said displayable portions for a predefined time; and displaying each of subsequent portions in said displayable portions, based on said number, for a period slightly shorter than said predefined time. A method as recited in claim 10 wherein said scrolling, successively, respectively and repeatedly, each of said number of said displayable portions of said long selectable element comprises:- displaying successively each of said displayable portions for a predefined time.

Inventors: ROSSMANN ALAIN S, SCHWARZ BRUCE V, ROSSMANN, ALAIN S., SCHWARZ, BRUCE V.
Applicants: PHONE COM INC, PHONE.COM INC.
Application year: 1999
Main classification: G06F3
IPC codes: G06F3, H04M1, G08B5