Wireless communication device with markup language based man-machine interface
DC CAFCFirst Claim
1. A computer program product for use on a wireless communication device, the wireless communication device including a memory, a screen display,a processor for executing the computer program product, and controls for operating the wireless communication device, the computer program product comprising:
- a shell for receiving a URL having a protocol component and a data component, the data specifying a command to be executed or content to be fetched, the shell providing the data component to a protocol handler according to the protocol component, and the fetched content to a content handler for processing;
a plurality of protocol handlers, each protocol handler communicatively coupled to the shell to receive a URL and either fetch content specified by the data component and provide the fetched content to the shell, or execute the command specified by the data component; and
a plurality of content handlers, each content handler communicatively coupled to the shell to receive fetched content and process the fetched content to output the content to the screen display of the wireless communication device.
3 Assignments
Litigations
0 Petitions
Reexamination
Accused Products
Abstract
A system, method, and software product provide a wireless communications device with a markup language based man-machine interface. The man-machine interface provides a user interface for the various telecommunications functionality of the wireless communication device, including dialing telephone numbers, answering telephone calls, creating messages, sending messages, receiving messages, establishing configuration settings, which is defined in markup language, such as HTML, and accessed through a browser program executed by the wireless communication device. This feature enables direct access to Internet and World Wide Web content, such as Web pages, to be directly integrated with telecommunication functions of the device, and allows Web content to be seamlessly integrated with other types of data, since all data presented to the user via the user interface is presented via markup language-based pages. The browser processes an extended form of HTML that provides new tags and attributes that enhance the navigational, logical, and display capabilities of conventional HTML, and particularly adapt HTML to be displayed and used on wireless communication devices with small screen displays. The wireless communication device includes the browser, a set of portable components, and portability layer. The browser includes protocol handlers, which implement different protocols for accessing various functions of the wireless communication device, and content handlers, which implement various content display mechanisms for fetching and outputting content on a screen display.
718 Citations
24 Claims
-
1. A computer program product for use on a wireless communication device, the wireless communication device including a memory, a screen display,
a processor for executing the computer program product, and controls for operating the wireless communication device, the computer program product comprising: -
a shell for receiving a URL having a protocol component and a data component, the data specifying a command to be executed or content to be fetched, the shell providing the data component to a protocol handler according to the protocol component, and the fetched content to a content handler for processing;
a plurality of protocol handlers, each protocol handler communicatively coupled to the shell to receive a URL and either fetch content specified by the data component and provide the fetched content to the shell, or execute the command specified by the data component; and
a plurality of content handlers, each content handler communicatively coupled to the shell to receive fetched content and process the fetched content to output the content to the screen display of the wireless communication device. - View Dependent Claims (2, 3, 4)
the plurality of protocol handlers include;
a telephone protocol handler that receives a URL from the shell and decodes the URL to activate a telephony function of the wireless communications device;
a file protocol handler that receives a URL from the shell and decodes the URL to access data stored in a memory of the wireless communications device;
a remote file protocol handler that receives a URL from the shell and fetches content addressed by the data component of the URL that is stored remotely from the wireless communication device; and
the plurality of content handlers include;
a markup language content handler that receives markup language content corresponding to a URL and displays the content on the screen display of the wireless communication device.
-
-
3. The computer program product of claim 2, wherein the plurality of protocol handlers include:
-
a message protocol handler that receives a URL from the shell and executes a command specified by the data to activate an alphanumeric message display or transmission function of the wireless communication device; and
a configuration protocol handler that receives a URL from the shell and establishes a configuration setting of the wireless communications device according to the data component of the URL.
-
-
4. The computer program product of claim 1, in combination with:
-
the wireless communication device wherein;
the screen display displays fetched content;
the memory coupled to the screen display, for storing the shell, the protocol handlers, and the content handlers; and
the processor coupled to the memory to execute the shell, the protocol handlers and content handlers.
-
-
5. A wireless communication apparatus, the wireless communication apparatus including a memory, a screen display, and a processor for executing the browser program product, the browser program product comprising:
-
shell means for receiving a URL having a protocol component and a data component, the data specifying a command to be executed or content to be fetched, the shell means providing the data component to a protocol handler according to the protocol component, and the fetched content to a content handler means for processing;
a plurality of protocol handler means, each protocol handler means communicatively coupled to the shell means to receive a URL and either fetch content specified by the data component and provide the fetched content to the shell means, or execute the command specified by the data component; and
a plurality of content handler means, each content handler means coupled to the shell means to receive fetched content and process the fetched content to output the content to the screen display of the wireless communication apparatus.
-
-
6. A wireless communication device, comprising:
-
a screen display;
a plurality of keys;
a plurality of configurable features;
a processor coupled to the screen display and the keys;
a shell executed by the processor for receiving a URL having a protocol component and a data component, the data specifying a command to be executed or content to be fetched, the shell providing the data component to a protocol handler according to the protocol component, and the fetched content to a content handler for processing;
a plurality of protocol handlers, each protocol handler executed by the processor and coupled to receive a URL from the shell and either fetch content specified by the data component and provide the fetched content to the shell, or execute the command specified by the data component; and
a markup language content handler executed by the processor and coupled to the shell that receives markup language content corresponding to a URL and displays the content on the screen display, the markup language handler decoding markup language tags from a group comprising;
a key tag defining an action for one of the plurality of keys;
a help tag defining help text data to be periodically displayed on the screen display;
a keymenu tag defining a menu item for a menu associated with a key;
a tag specifying a second markup language page different from a first markup language page for including the data of the second markup language page in the first markup language page;
an input type tag defining an input field for receiving a user input of a configuration setting, and a selection attribute equal to the value of an expression including a URL for a configurable feature, the selection attribute indicating whether the input field is preselected; and
a conditional tag having an expression including a URL and first markup language data to be conditionally displayed according to the value of the expression.
-
-
7. A computer-implemented method of operating a wireless communications device having at least one softkey, comprising:
-
receiving a first user interface definition page defined in a markup language;
parsing the first user interface definition page, and storing an association between one of the softkeys and menu of menu items, each menu item associated with either a URL or an action;
responsive to receiving a user selection of the softkey, displaying the menu of menu items;
responsive to user selection of a displayed menu item associated with an action, effecting the action; and
responsive to user selection of a menu item associated with a URL, either fetching data specified by the URL or effecting a communication function of the wireless communication device specified by the URL.
-
-
8. A browser program product for controlling the operation of a wireless communication device by execution of the browser by a processor of the wireless communication device, the browser executing the operations of:
-
retrieving a first user interface definition page defined in a markup language;
parsing the first user interface definition page, and storing an association between a softkey and a menu of menu items, each menu item associated with either a URL or an action;
responsive to receiving a user selection of the softkey, displaying the menu of menu items;
responsive to user selection of a displayed menu item associated with an action, effecting the action; and
responsive to user selection of a menu item associated with a URL, either fetching data specified by the URL or effecting a communication function of the wireless communication device specified by the URL.
-
-
9. A computer implemented method executed by a wireless communication device for displaying a page of data on a screen display of the wireless communication device, the method comprising:
-
receiving a first markup language page containing a tag specifying a URL referencing a second markup language page;
fetching the second markup language page according to the URL;
replacing the tag with the second markup language page to form a combined markup language page; and
displaying the combined markup language page on the screen display of the wireless communication device.
-
-
10. A browser program product for controlling the operation of a wireless communication device by execution of the browser by a processor of the wireless communication device, the browser executing the operations of:
-
receiving a first markup language page containing a template tag, the template tag specifying a URL referencing a second markup language page;
fetching the second markup language page according to the URL;
replacing the template tag with the second markup language page to form a combined markup language page; and
displaying the combined markup language page.
-
-
11. A browser program product for controlling the operation of a wireless communication device by execution of the browser by a processor of the wireless communication device, the browser executing the operations of:
-
receiving a first markup language page containing an escape sequence specifying a URL referencing a second markup language page;
fetching the second markup language page according to the URL;
replacing the escape sequence with the second markup language page to form a combined markup language page; and
displaying the combined markup language page.
-
-
12. A computer implemented method of displaying a page of configuration settings for a wireless communication device having a plurality of configurable features, the method comprising:
-
receiving a markup language page including an input type tag defining an input field for receiving a user input of a configuration setting, and a selection attribute equal to the value of an expression including a URL for a configurable feature, the selection attribute indicating whether the input field is preselected;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression, and displaying the page including the input field of the configuration setting according to the selection attribute as pre-selected or unselected according to the value of the expression. - View Dependent Claims (13, 14)
the expression has the form (selection attribute=URL); and
evaluating the expression using the fetched data to determine a value of the expression comprises;
converting the data associated with the URL to an integer value; and
evaluating the expression to obtain either a zero or non-zero value.
-
-
14. The method of claim 12, wherein:
-
the expression has the form (selection attribute=(URL=string)), where string is an arbitrary alphanumeric string; and
evaluating the expression using the fetched data to determine a value of the expression comprises;
evaluating the expression by determining if the data associated with the URL is the same as the string to obtain either a zero or non-zero value.
-
-
15. A browser program product for displaying a page of configuration settings for a wireless communication device having a plurality of configurable features, the browser controlling the operation of a wireless communication device by execution of the browser by a processor of the wireless communication device, the browser executing the operations of:
-
receiving a markup language page including an input type tag defining an input field for receiving a user input of a configuration setting, and a selection attribute equal to the value of an expression including a URL for a configurable feature, the selection attribute indicating whether the input field is preselected;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression; and
displaying the page including the input field of the configuration setting according to the selection attribute as pre-selected or unselected according to the value of the expression.
-
-
16. A computer implemented method executed by a wireless communication device for displaying a page of data on a screen display of the wireless communication device, the method comprising:
-
receiving a markup language page including a conditional tag having an expression including a URL and first markup language data to be conditionally displayed according to the value of the expression;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression;
responsive to the value of the expression being true, displaying on the screen display the markup language page with the first markup language data; and
responsive to the value of the expression being false, displaying on the screen display the markup language page without the first markup language data. - View Dependent Claims (17)
the conditional tag includes second markup language data; and
responsive to the value of the expression being false, displaying on the screen display the markup language page without the first markup language comprises displaying the markup language page with the second markup language data.
-
-
18. A browser program product for controlling the operation of a wireless communication device by execution of the browser by a processor of the wireless communication device and displaying a page of markup language data, the browser executing the operations of:
-
receiving a markup language page including a conditional tag having an expression including a URL and first markup language data to be displayed according to the value of the expression;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression;
responsive to the value of the expression being true, displaying the markup language page with the first markup language data; and
responsive to the value of the expression being false, displaying the markup language page without the first markup language data.
-
-
19. A computer implemented method executed by a wireless communication device for navigating a markup language page displayed on a screen display of the wireless communication device, the markup language page containing a plurality of hyperlinks, the method comprising:
-
receiving a markup language page including a plurality of hyperlinks;
selecting a hyperlink of the markup language page as a current hyperlink;
scrolling the markup language file in a direction on the screen display in response to a user input to display only a portion of the markup language file;
determining whether a next hyperlink in the direction of scrolling is visible;
responsive to the next hyperlink in the direction of scrolling being visible, making next hyperlink the current hyperlink; and
responsive to the next hyperlink in the direction of scrolling not being visible, scrolling a portion of the markup language file. - View Dependent Claims (20)
the markup language page has an attribute specifying a target name of a hyperlink included in the page; and
selecting a hyperlink of the markup language page as a current hyperlink further comprises;
comparing the target name specified in the attribute with names specified in each of the hyperlinks; and
selecting as the current hyperlink the hyperlink having a name matching the target name.
-
-
21. A browser program product for controlling the operation of a wireless communication device by execution of the browser by a processor of the wireless communication device and displaying a page of markup language data, the browser executing the operations of:
-
receiving a markup language page including a plurality of hyperlinks;
selecting a hyperlink of the markup language page as a current hyperlink;
scrolling the markup language page in a direction on the screen display in response to a user input to display only a portion of the markup language page;
determining whether a next hyperlink in the direction of scrolling is visible;
responsive to the next hyperlink in the direction of scrolling being visible, making next hyperlink the current hyperlink; and
responsive to the next hyperlink in the direction of scrolling not being visible, scrolling a portion of the markup language page.
-
-
22. A computer implemented method of processing data in a form in a stateless system having a server and a wireless communication client device receiving input data, the method comprising:
-
receiving on the wireless communication client device a first markup language page including a first part of a form having at least one input field for receiving user input of data;
receiving a first user input of first data into the first part of the form on the wireless communication client device;
receiving a second markup language page on the wireless communication client device including a second part of the form while storing locally on the client the received first data;
receiving a second user input of second data into the second part of the form on the wireless communication client device;
combining the stored first data and the second data into a URL; and
submitting the URL to the server for processing.
-
-
23. A computer-implemented method of operating a wireless communications device having a screen display, a plurality of keys, including at least one softkey, and a plurality of configurable features that can be established by configuration settings, the method comprising:
-
a) receiving a first markup language page including at least one tag selected from a group of tags consisting of;
a first tag defining an association between a key and an action;
a second tag defining help data;
a third tag defining an association between a softkey and a menu of menu items, each menu item associated with either a URL or an action;
a fourth tag specifying a URL referencing a second markup language page;
a fifth tag accompany an escape sequence specifying a URL referencing a third markup language page;
a sixth tag defining an input field for receiving a user input of a configuration setting, and a selection attribute equal to the value of an expression including a URL for a configurable feature, the selection attribute indicating whether the input field is preselected;
a seventh tag having an expression including a URL and first markup language data to be conditionally displayed according to the value of the expression;
an eighth tag having attribute specifying a target name of at least one hyperlink included in the first markup language page; and
a ninth, <
MARQUEE>
tag including displayable text in a header portion of the first markup language page;
b) responsive to a tag in the first markup language being the first tag;
receiving a user selection of the key; and
effecting the action associated with the user selected key;
c) responsive to a tag in the first markup language page being the second tag;
storing the help data;
displaying the first markup language page in a window;
displaying a title of the first markup language page in a title bar area of the window;
responsive to an elapsed amount of time since a last user input exceeding a threshold, replacing the title in the title bar area by scrolling the stored help data in the title bar; and
responsive to completion of the scrolling of the stored help data, redisplaying the title in the title bar area;
d) responsive to a tag in the first markup language page being the third tag;
storing the association between the softkey and the menu of menu items;
responsive to receiving a user selection of the softkey, displaying the menu of menu items;
responsive to user selection of a displayed menu item associated with an action, effecting the action; and
responsive to user selection of a menu item associated with a URL, either fetching data specified by the URL or effecting a communication function of the wireless communication device specified by the URL;
e) responsive to a tag in the first markup language page being the fourth tag;
fetching the second markup language page according to the URL;
replacing the fourth tag with the second markup language page to form a combined markup language page; and
displaying the combined markup language page;
f) responsive to a tag in the first markup language page being the fifth tag;
fetching the third markup language page according to the URL;
replacing the escape sequence with the third markup language page to form a combined markup language page; and
displaying the combined markup language page;
g) responsive to a tag in the first markup language page being the sixth tag;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression; and
displaying the first markup language page including the input field of the configuration setting according to the selection attribute as pre-selected or unselected according to the value of the expression;
h) responsive to a tag in the first markup language page being the seventh tag;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression;
responsive to the value of the expression being true, displaying the first markup language page with the first markup language data; and
responsive to the value of the expression being false, displaying the first markup language page without the first markup language data;
i) responsive to a tag in the first markup language page being the eighth tag;
selecting one of the hyperlinks of the first markup language page as a current hyperlink;
scrolling the first markup language page in a direction on the screen display in response to a user input to display only a portion of the first markup language page;
determining whether a next hyperlink in the direction of scrolling is visible;
responsive to the next hyperlink in the direction of scrolling being visible, making next hyperlink the current hyperlink; and
responsive to the next hyperlink in the direction of scrolling not being visible, scrolling a portion of the first markup language page; and
j) responsive to a tag in the first markup language page being the ninth tag;
displaying the first markup language page in a window having a title of the first markup language page in a title bar area;
incrementing a counter of an elapsed amount of time; and
responsive to the counter equaling or exceeding a threshold amount of time, replacing the title by scrolling the displayable text included in the <
MARQUEE>
tag in the title bar area.
-
-
24. In a wireless communication device having a processor, a screen display, a plurality of keys, including at least one softkey, and a plurality of configurable features that can be established by configuration settings, a browser program product for controlling the operation of the wireless communication device by execution of the browser by the processor, the browser executing the operations of:
-
a) receiving a first markup language page including at least one tag selected from a group of tags consisting of;
a first tag defining an association between a key and an action;
a second tag defining help data;
a third tag defining an association between a softkey and a menu of menu items, each menu item associated with either a URL or an action;
a fourth tag specifying a URL referencing a second markup language page;
a fifth tag accompany an escape sequence specifying a URL referencing a third markup language page;
a sixth tag defining an input field for receiving a user input of a configuration setting, and a selection attribute equal to the value of an expression including a URL for a configurable feature, the selection attribute indicating whether the input field is preselected;
a seventh tag having an expression including a URL and first markup language data to be conditionally displayed according to the value of the expression;
an eighth tag having attribute specifying a target name of at least one hyperlink included in the first markup language page; and
a ninth, <
MARQUEE>
tag including displayable text in a header portion of the first markup language page;
b) responsive to a tag in the first markup language page being the first tag;
receiving a user selection of the key; and
effecting the action associated with the user selected key;
c) responsive to a tag in the first markup language page being the second tag;
storing the help data;
displaying the first markup language page in a window;
displaying a title of the first markup language page in a title bar area of the window;
responsive to an elapsed amount of time since a last user input exceeding a threshold, replacing the title in the title bar area by scrolling the stored help data in the title bar; and
responsive to completion of the scrolling of the stored help data, redisplaying the title in the title bar area;
d) responsive to a tag in the first markup language page being the third tag;
storing the association between the softkey and the menu of menu items;
responsive to receiving a user selection of the softkey, displaying the menu of menu items;
responsive to user selection of a displayed menu item associated with an action, effecting the action; and
responsive to user selection of a menu item associated with a URL, either fetching data specified by the URL or effecting a communication function of the wireless communication device specified by the URL;
e) responsive to a tag in the first markup language page being the fourth tag;
fetching the second markup language page according to the URL;
replacing the fourth tag with the second markup language page to form a combined markup language page; and
displaying the combined markup language page;
f) responsive to a tag in the first markup language page being the fifth tag;
fetching the third markup language page according to the URL;
replacing the escape sequence with the third markup language page to form a combined markup language page; and
displaying the combined markup language page;
g) responsive to a tag in the first markup language page being the sixth tag;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression; and
displaying the first markup language page including the input field of the configuration setting according to the selection attribute as pre-selected or unselected according to the value of the expression;
h) responsive to a tag in the first markup language page being the seventh tag;
fetching data associated with the URL;
evaluating the expression using the fetched data to determine a value of the expression;
responsive to the value of the expression being true, displaying the first markup language page with the first markup language data; and
responsive to the value of the expression being false, displaying the first markup language page without the first markup language data;
i) responsive to a tag in the first markup language page being the eighth tag;
selecting one of the hyperlinks of the first markup language page as a current hyperlink;
scrolling the first markup language page in a direction on the screen display in response to a user input to display only a portion of the first markup language page;
determining whether a next hyperlink in the direction of scrolling is visible;
responsive to the next hyperlink in the direction of scrolling being visible, making next hyperlink the current hyperlink; and
responsive to the next hyperlink in the direction of scrolling not being visible, scrolling a portion of the first markup language page; and
j) responsive to a tag in the first markup language page being the ninth tag;
displaying the first markup language page in a window having a title of the first markup language page in a title bar area;
incrementing a counter of an elapsed amount of time; and
responsive to the counter equaling or exceeding a threshold amount of time, replacing the title by scrolling the displayable text included in the <
MARQUEE>
tag in the title bar area.
-
Specification