The present invention generally relates to a method for exposing the fully editable text fields on a limited screen mobile device, and more particularly to a method for using field flags to indicate exposure options for exposing the full contents of editable text input fields.
Text input fields on mobile devices can consist of single-line entry or multiple-line entry. Oftentimes, the text entry field can often be much smaller than the number of characters that it may hold; that is, the visible field does not always expose everything that is in it, as the character limit is generally independent of the field's ability to completely display a string. Not only can more text be entered than is visible; even when text is entirely visible, a change to the font size or the layout of the input form can make a difference in what is or is not visible. Therefore, users must in many cases navigate within the text to be able to read it in its entirety.
Several methods are available to clip text when the text does not fit fully exposed in a text edit field. Truncation and elision are two methods used to clip text when it does not fit fully exposed in a text edit field. Using an ellipsis at the end of clipped text is the typical method to inform the user that more text exists which they can't view until they take an action (such as entering the field and scrolling) to do so. Accessing that text generally requires more input steps from the user. Where an ellipsis is not visible, the user may not recognize that all text is not exposed; and where an ellipsis is not familiar to the user, the three dots that form the ellipsis, are a meaningless clue.
Further, some contexts (arrangement of text entry fields, proximity to other controls on the screen, or screen dimensions/orientation) can take better advantage of some text disclosure methods than others. The visibility of editable text strings varies with different contexts, making it difficult for users to read, requiring additional navigation steps. Many methods exist to expose hidden text that are hard-coded. There is no systematic way to declare a global disclosure method, and alternatives to the standard behaviors must be individually hard-coded.
These and other advantages may be provided by various embodiments of the present invention.
The present invention provides a method for controlling how the contents of a text field are displayed on a mobile device, the mobile device having a physical display for displaying at least one text field. A disclosure flag is provided for the text field, the disclosure flag specifying one of a predetermined set of disclosure methods for how text exceeding the size of an initial physical display area will be displayed. The contents of the text field that exceed the size of the initial physical display area are displayed according to the method specified in the disclosure flag.
In some instances, one of the disclosure methods is a default method wherein when the text field is selected, the size of the initial physical display area expands up to a predetermined limit, and remains at its expanded size after the text field is de-selected.
In some instances, one of the disclosure methods is an accordion method wherein when the text field is selected, the initial physical display area expands to reveal all input text, and returns to its original size after the text field is de-selected.
In some instances, one of the disclosure methods is a crawling method wherein when the text field is selected, the contents of the field are shifted horizontally in the initial physical display area until all of the contents have been made visible.
In some instances, one of the disclosure methods is a sublaunch method wherein when the text field is selected, the initial physical display area expands to a larger area enabling vertical scrolling.
In some instances, one of the disclosure methods is a zoom rectangle method wherein when the text field is selected, the initial physical display area expands to occupy the entire physical display.
In some instances, one of the disclosure methods is a multistage method wherein when contents of the text field exceed the size of the initial physical display area, a first action button appears inside the initial physical display area, when the first action button is selected, the initial physical display area expands to a first expanded physical display area having a second action button when the contents of the text field exceed the size of the first expanded physical display area, and when the second action button is selected, the first expanded physical display area expands to a second expanded physical display area that is larger than the first expanded physical display area.
The present invention also provides a method for controlling how the contents of a text field are displayed on a mobile device, the mobile device having a physical display for displaying at least one text field. A global style record is provided for the text field, the global style record including a disclosure flag specifying one of a predetermined set of disclosure methods for how text exceeding the size of an initial physical display area will be displayed, and the contents of the text field that exceed the size of the initial physical display area are displayed according to the method specified in the disclosure flag.
The present invention further provides a method for controlling how the contents of a text field are displayed on a device having a physical display. A disclosure method is selected from a predetermined set of disclosure methods for how text exceeding the size of an initial physical display area will be displayed, and a disclosure flag for the text field is set to the selected disclosure method.
Additional features and advantages of the invention will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by practice of the invention.
The invention is further described in the detailed description that follows, by reference to the noted drawings by way of non-limiting illustrative embodiments of the invention, in which like reference numerals represent similar parts throughout the drawings. As should be understood, however, the invention is not limited to the precise arrangements and instrumentalities shown. In the drawings:
In the following description, for purposes of explanation and not limitation, specific details are set forth, such as particular networks, communication systems, computers, terminals, devices, components, techniques, data and network protocols, software products and systems, operating systems, development interfaces, hardware, etc. in order to provide a thorough understanding of the present invention.
However, it will be apparent to one skilled in the art that the present invention may be practiced in other embodiments that depart from these specific details. Detailed descriptions of well-known networks, communication systems, computers, terminals, devices, components, techniques, data and network protocols, software products and systems, operating systems, development interfaces, and hardware are omitted so as not to obscure the description of the present invention.
In order to reduce the time and effort of scrolling/navigating through many fields of varying lengths in order to allow the user to see more of the options contained on the screen, a mechanism is needed that will allow the user to collapse and easily skip over information that is not of interest, such as multiple lines of the same text entry field.
However, a single solution is not always contextually relevant. Therefore, a flexible mechanism for assigning a disclosure method is useful for helping the software developer apply specific contextually relevant behaviors.
GTK is a library for creating graphical user interfaces. The acronym stands for GNU Image Manipulation Program (GIMP) Toolkit. More information about GTK is available at www.gtk.org. One embodiment of the present invention will now be described with reference to GTK.
GTK+ has a “GtkTextTag”, a tag that can be applied to text in a GtkTextBuffer. One of the “properties” of the GtkTextTag is “wrap-mode” which controls whether a line is allowed to wrap. See http://library.gnome.org/devel/gtk/stable/GtkTextTag.html.
GTK+ has a “GtkEntry” single line text entry field. One of the “properties” of the GtkEntry is “scroll-offset” which keeps track of how many pixels of text being entered have scrolled to the left as a user is entering text; the developer can then use the value of scroll offset in subsequent program activity. See http://library.gnome.org/devel/gtk/2.11/GtkEntry.html.
Neither of the above-described mechanisms is a flag that enables a developer to select from a predetermined set of methods for displaying text exceeding the size of an initial physical display area.
Generally, a software developer can “flag” a field for the type of characters it will accept, and for the input method. Characters refers to numbers, letters, and symbols, such as symbols used in an equation editor. Input method refers to different techniques for a user to indicate a desired character, such as hard keypad, soft keypad indicated by stroke characters—sometimes referred to as graffiti software, soft keypad indicated by cubes that expand and enable the user to lift their stylus on the desired letter, and so on. Table 1 shows an example of a text field followed by its two associated flags.
The concept of additional flags exists in GTK. Therefore, extending the number of flags and the behaviors they elicit is an area of opportunity.
A third flag is added relating to how text that exceeds the size of an initial physical display area for the field is to be revealed to the user; this flag is referred to as a disclosure flag. The disclosure flag enables program developers to specify how an input field adjusts itself to display more text than fits in a screen window. The third flag permits the developer to choose from a number of predefined disclosure methods, increasing the flexibility of the display across many different devices, and helping to ensure a better user experience.
A fourth flag is added for soft keypad mode, enabling the program developer to specify further characteristics of the characters, such as lowercase, uppercase, mixed case, sentence case, numeric.
Table 2 shows an example of a single text field followed by associated flags, including the disclosure flag and the soft keypad mode flag.
A flexible mechanism for setting both individually (a single field at a time) and globally (all fields in a defined context) the multiple-line text edit disclosure benefits the developer because the developer can select from among existing options rather than having to independently develop options. Selecting from existing options is faster and less work than developing options. The flexible mechanism is advantageous to the user as it is a familiar interface across different applications, obviating the need for the user to learn separate techniques for disclosing text in different applications.
The software developer sets the disclosure flag for a field to one of a predetermined set of methods for displaying text that exceeds what can be displayed on a device's display field. For example, the disclosure flag can be set to one of
These methods are described below.
Table 3 shows an exemplary set of single text field flags specified by a programmer, indicating that the input field is alphanumeric (“an”), the input method is soft keypad with stroke characters (“SKS”), the disclosure method is Zoom Rectangle (“Z”), and the soft keypad mode is sentence case (“S”).
Table 4 shows an example of setting multiple-line text disclosures globally. A style record represents a predefined set of flags. Individual text fields specify the style records instead of specifying the individual flags.
More specifically, Table 4 shows two style records, “Style1” and “Style2”, and four text fields, “TextField1”, “TextField2”, “TextField3” and “TextField4”. TextField1 and TextField3 have their flag settings determined by the Style1 record. TextField2 has its flag settings determined by the Style2 record. TextField4 has its flag settings individually specified, in a similar manner as shown in Table 3.
Text disclosure methods will now be discussed.
In the Default method, all text is exposed. The empty field takes one line on the form, but grows as the field length limit permits. If the user types three lines of text, three lines of text are exposed. When the field is exited, the three typed lines remain exposed.
In the following, a field is selected by any suitable technique, such as moving a cursor up and down, touching the field with a stylus, and so on.
When the user selects another line, the second line remains in its expanded configuration.
For the remainder of the methods, only one line is exposed until the field is entered. If there is more than one line of input text, then the method operates as described below.
In the Accordion method, when the field is entered, the field “unfolds” to reveal all input text. When the field is exited, the field “refolds” to its one-line state.
In the Crawling method, when the field is entered, based on an application-defined limit such as ‘if string length <3 lines when exposed,’ the text is shifted horizontally from right to left in the physical display area, so that the text appears to crawl, similar to the way a horizontal title crawls on video or broadcast television, to the end, stops, and can then be horizontally scrolled with the left/right arrow keys.
In the Sublaunch method, when the field is entered, the full text is exposed in a scrollable sublaunched dialog where it can be edited and vertically scrolled in full; the user dismisses the dialog with an explicit action (e.g., a button) and the display returns to the default state of the text edit field.
In the Zoom Rectangle method, when the field is entered, the edit field animates larger to take over the screen, revealing the full text and temporarily obscuring the form beneath it. When the form is exited via an explicit user action (e.g., pressing a button), the zoom rectangle recedes back into the form and returns to the one-line view.
In the Multistage method for viewing the contents of a field, when the contents of a field exceed the available display size on a screen, a first action button appears at the end of the field; when the user actuates the first action button, the field expands to a first predetermined size, such as three lines. If there is still undisplayed text in the expanded field, then a second action button appears at the end of the text; when the user actuates the second action button, the field expands to the full size of the display as in the Zoom Rectangle method. If there is still undisplayed text in the full screen display, then a suitable overflow handling methodology is used, as discussed above.
It is to be understood that the foregoing illustrative embodiments have been provided merely for the purpose of explanation and are in no way to be construed as limiting of the invention. Words used herein are words of description and illustration, rather than words of limitation. In addition, the advantages and objectives described herein may not be realized by each and every embodiment practicing the present invention. Further, although the invention has been described herein with reference to particular structure, materials and/or embodiments, the invention is not intended to be limited to the particulars disclosed herein. Rather, the invention extends to all functionally equivalent structures, methods and uses, such as are within the scope of the appended claims. Those skilled in the art, having the benefit of the teachings of this specification, may affect numerous modifications thereto and changes may be made without departing from the scope and spirit of the invention.
This application claims priority from U.S. provisional patent application No. 60/888,539, filed Feb. 6, 2007, having common inventors and a common assignee with the present application, the disclosure of which is hereby incorporated by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
60888539 | Feb 2007 | US |