1. Field of the Invention
The present invention relates to a technique for presenting a user interface to a user.
2. Description of the Related Art
Conventionally, most user interfaces (also referred to as “UI” below) of devices or services are created by the C or Java programming language and are installed in the device or service. In recent years, however, user interfaces have come to be created as UI content and can be displayed by a general-purpose browser, thereby making it possible to present the UI to the user.
For example, a pizza delivery service is using HTML to describe a UI for accepting a pizza order from a customer and makes the UI available to the public by means of the Internet. When the customer displays this HTML using an Internet browser, a UI employing animations and audio is displayed. This makes it possible for the customer to readily place an order for a pizza size, number of pies, topping and drink, etc., via the UI.
The following are two advantages of presenting the UI of a device or service by creating UI content rather than by programming:
(1) It is possible to update the UI merely by rewriting the UI content (an HTML file in the example above). If a UI has been created by programming, it is necessary to replace the program in the device. In many cases this is a greater task than rewriting the UI content.
(2) By utilizing an existing browser, it is unnecessary to install the rendering of images that form the UI and the output of audio. Learning description specifications such as HTML is easier than learning a program for creating an UI.
In view of these advantages, description of a UI by UI content is coming into widespread use, with the focus being Internet services.
Recently, the UIs not only of Internet services but also of devices (personal computers, TVs, mobile telephones, etc.) have come to be created by UI content. For example, in Multimodal Interaction Activity (http://www.w3.org/2002/mmi/), a standard specification for UI description is being studied. Further, XAML (Extensible Application Markup Language) proposed by Microsoft has been installed in Windows Vista.
A UI incorporates a concept referred to as “focus”. Focus expresses in what form a non-directional user operation will be input. For example, a keyboard input generally is a non-directional input. In the case of a UI having several text-input areas, in which text-input area text will be entered cannot be ascertained by the user if the focus is not designated. Generally, focus is expressed by enclosing the UI widget (a component such as a text area, button or check box forming the UI) within a rectangle formed by a dotted line. This information makes it possible for the user to ascertain in which text input area the present keyboard input will be entered.
A widget that is the focus initially when the UI is displayed is referred to as the “initial-focus UI widget”. Which UI widget will receive the initial focus is decided by the designer of the UI content. Usability is enhanced if the UI widget having a high likelihood of being accessed by the user first is made the initial-focus UI widget. Where the initial focus is set often is described within the UI content.
Further, UI widgets can be made hierarchical.
With UI widgets in which existing UI widgets can thus be re-utilized and placed in hierarchical form, it is difficult to set the initial-focus UI widget in line with the intent of the UI developer. For example, with regard to UI widget 501 in
Japanese Patent Laid-Open No. 2002-215278 discloses a technique whereby the focus of a UI widget is changed automatically based upon a history of operations performed by the user. Further, Japanese Patent No. 3186726 discloses a technique relating to a tool for verifying whether identical UI widgets within an application possess the same initial focus.
However, these examples of the prior art cannot solve the problem set forth above.
The present invention seeks to provide an information processing apparatus and method of controlling same in which it is possible to designate an initial focus that reflects the intentions of both the UI developer of a UI widget for which initial focus has been designated and the UI developer of a UI widget that incorporates this UI widget.
According to one aspect of the present invention, an information processing apparatus for presenting a user interface (UI) includes a reading unit configured to read widget content in which arrangement of UI widgets is described, a building unit configured to parse the widget content that has been read and build a plurality of UI widgets, a determining unit configured to determine a UI widget having initial focus placed in a selected state first from among the plurality of UI widgets built, and a presenting unit configured to create images of the plurality of UI widgets and to process the UI widget having the initial focus, which has been determined by the determining unit, into an image representing that this UI widget is in the selected state, and present this image to the user. The widget content includes reference information by which its own UI widget refers to a child UI widget, and a description of an initial-focus designation for designating which of its own UI widget and child UI widget will have the initial focus. The building unit generates its own UI widget and thereafter generates a child UI widget, which is associated with its own UI widget, based upon the reference information, thereby building a UI widget hierarchy. The determining unit follows a path from a root of the UI widget hierarchy to a child UI widget designated by the corresponding initial-focus designation and, when a UI widget for which a child UI widget has not been designated in the corresponding reference information, a UI widget for which its own UI widget has been designated in the corresponding initial-focus designation or a UI widget for which there is no corresponding initial-focus designation has been retrieved, determines that this UI widget is the UI widget having the initial focus.
Further features of the present invention will become apparent from the following description of exemplary embodiments (with reference to the attached drawings).
Various exemplary embodiments, features and aspects of the present invention will be described in detail with reference to the drawings.
Terms will be defined first. In this specification, an element that combines appearance and function as a continuum forming a UI is referred to as a “UI widget”. Examples are GUI buttons, text areas and background bitmap images often used in a GUI.
Internal data that expresses a UI widget is referred to as “UI widget content”.
It is possible for UI widget content of the kind shown in
For example, in the case of the UI screen of
A UI presenting apparatus to which the present invention is applicable parses UI widget content that has been placed in hierarchical form and presents the UI to the user. However, in order that a UI presenting apparatus to which the present invention is applicable can operate, UI widget content that has been created by a UI widget content creating apparatus must be in completed form.
Next, the UI widget content creating apparatus 1400 and UI presenting apparatus 100 will be described.
[UI Widget Content Creating Apparatus]
Processing for editing UI widget content and building a UI widget hierarchy will now be described.
The UI widget content creating apparatus 1400 accesses the storage unit 101, which is external to the apparatus, from a UI widget content input/output unit 1404, loads UI widget content and saves this content. Further, an operation performed by the user via the mouse/keyboard 1403 external to the apparatus is accepted within the apparatus from a user-operation loading unit 1407. Information concerning UI widget content that is being edited in the apparatus is output from a UI widget content presenting unit 1406 to a display 102 external to the apparatus.
Further, a UI widget content editing unit 1405 parses user operation and, if this operation is building of a UI widget hierarchy (insertion of a child UI widget), so notifies a UI widget content hierarchy building unit 1408. If the operation performed by the user is the setting of initial focus, then an initial-focus setting unit 1409 is so notified. The flow of this processing will be described later.
<Creation of UI Widgets Anew>
Illustrated as an example is a procedure by which the UI developer A newly creates check boxes represented by 502, 508 and 509 in
First, when “Widget B” is edited as shown in
Furthermore, the application for creating UI widget content makes it possible to set a child UI widget as the initial focus.
Finally, when the UI developer A designates that this data should be saved, this instruction is sent to the UI widget content editing unit 1405 via the user-operation loading unit 1407. Here the internal data of the UI widget content is sent to the UI widget content input/output unit 1404 and is stored in the storage device 101.
When the UI widget content creating apparatus is started up, the flow of processing begins. When processing starts, first the UI widget content input/output unit 1404 accesses the storage device 101 and loads the UI widget content that is to be edited (S2101). For example, an ordinary file-input dialog screen is displayed and the user is queried about the UI widget content desired to be edited. Here it is conceivable that the UI widget content will be loaded. Alternatively, in a case where a UI widget is created anew, the user may be allowed to enter the name of the UI widget to be created anew, the form of the UI widget content may be created in the storage device and this may then be loaded.
When loading of the UI widget content to be edited ends, the UI widget content presenting unit 1406 reflects this UI widget content in “View” (S2102). For example, a view of the kind shown in
Next, the user-operation loading unit 1407 loads the operation performed by the user (S2103) and processing branches in the UI widget content editing unit 1405 depending upon the operation.
First, if user operation designates end of operation of the apparatus (“YES” at S2104), then the UI widget content being edited is saved in the UI widget content input/output unit 1404 (S2108) and the flow of processing is exited. The designation to end operation of the apparatus is processing for quitting the application, by way of example.
If the user operation designates insertion of a UI widget (“YES” at S2105), then the UI widget content hierarchy building unit 1408 executes processing for inserting the UI widget (S2109). This is processing for setting UI widget content, which has been selected by the user, as a child of the UI widget content that is being edited. For example, the instruction to insert a child UI widget can be an operation in which the user right-clicks the mouse in the UI-widget appearance presentation area and selects the “Add child widget” item from the context menu, as illustrated in
With reference again to
With reference again to
When these processing operations end, the UI widget content presenting unit 1406 causes the UI widget content currently being edited to be reflected in “View” (S2102). For example, in a case where the user operation was insertion of a child UI widget, the UI widget content presenting unit 1406 adds the appearance of the child UI widget to the UI-widget appearance presentation area and adds the information concerning the child UI widget to the UI-widget hierarchical structure presentation area.
These processing operations continue until the user specifies end of processing.
<Re-Editing of Already Created UI Widget>
Thus far, the creation of a UI widget anew has been described. Described next will be an operation in which a UI developer C re-utilizes UI widgets that have been created by UI developers A and B and creates a new UI widget.
If UI developer C specifies the loading of existing UI widget content by operating the mouse/keyboard 1403, this operation is sent to the UI widget content editing unit 1405 via the user-operation loading unit 1407. When this is done, the UI widget content editing unit 1405 loads the designated UI widget content from the storage device 101 via the UI widget content input/output unit 1404.
When loading is completed, an application 2400 for creating UI widget content presents information concerning the loaded UI widget content to the display 102 of developer C from the UI widget content presenting unit 1406. For example, the application presents the UI widget hierarchy in a UI-widget hierarchical structure presentation area (2401) and presents the appearance of the UI widget in a UI-widget appearance presentation area (2402). Now assume that the UI widget content having the hierarchy expressed in
Furthermore, it is also possible to set a child UI widget as the initial focus.
Finally, if UI developer C designates that the data is to be saved, this instruction is sent to the UI widget content editing unit 1405 via the user-operation loading unit 1407. Accordingly, the internal data of the UI widget content is sent to the UI widget content input/output unit 1404 and is stored in the storage device 101.
Processing for creating UI widget content anew has been described thus far. Further, processing for adding an already created UI widget onto a UI widget as a child UI widget has been illustrated. In addition, processing for setting a specific child UI widget as the initial focus has been illustrated. By repeating these processing operations, it is possible to build a more complex UI widget hierarchy.
[UI Presenting Apparatus]
The UI presenting apparatus 100 in this embodiment presents the user with the UI of a device or service.
The UI presenting apparatus 100 is capable of accessing UI widget content that has been stored in the external storage device 101.
Further, output devices such as the display 102 and speaker 103 are connected to the UI presenting apparatus 100. The user can be presented with images and audio via these output devices.
The UI presenting apparatus 100 has a reading unit 104 for reading UI widget content. The reading unit 104 reads in UI widget content from the external storage device 101.
The UI widget hierarchy constructing unit 105 parses UI widget content that has been read in and builds a hierarchical relationship of UI widgets that form the UI on a single screen. It is possible for the single-screen UI to be formed from a plurality of UI widgets.
From the UI widget hierarchy built by the UI widget hierarchy constructing unit 105, an initial focus position determination unit 106 determines the UI widget having the initial focus. The UI widget having the initial focus is that UI widget among the plurality of built UI widgets that is initially placed in the selected state. The details of this determination processing will be described later.
The information concerning the UI widget hierarchy built by the UI widget hierarchy constructing unit 105 and the information concerning the initial-focus determined by the initial focus position determination unit 106 is sent to a UI presenting unit 107. Using this information, the UI presenting unit 107 builds the UI presented to the user. For example, the UI presenting unit 107 creates the image of a graphical user interface of the kind shown in
The functions of the UI presenting apparatus 100 described above can be implemented by an information processing apparatus such as a personal computer or work station.
The apparatus includes a CPU 1 for administering overall control of the apparatus; a ROM 2 storing a booting program and permanent data, etc.; a RAM 3 that functions as a main memory and provides a work area for the CPU 1; and a hard-disk drive (HDD) 4, which stores an operating system 41 and a UI presentation program 42. The UI presentation program 42 includes program code corresponding to the functions of the reading unit 104 for reading UI widget content, the UI widget hierarchy constructing unit 105, the initial focus position determination unit 106 and the UI presenting unit 107. The UI presentation program 42 is incorporated in an Internet browser, by way of example.
A VRAM 5 is a memory for expanding the image data that is to be displayed. Expanding image data and the like here makes it possible to display the data on the display 102. A keyboard 7 and mouse 8 are for performing various input operations. An interface (I/F) 9 is for connecting to a network. The above-mentioned speaker 103 is connected to the apparatus.
First, when the user introduces power to the apparatus, the processing having the flow shown in
When processing begins, the reading unit 104 for reading in UI widget content acquires information representing UI widget content that will be the root (S201). The information acquired is stored in the RAM, by way of example. The UI widget that will be the root signifies a UI widget that is the root of the UI widget hierarchy that forms the UI.
UI widgets can be expressed in the form of a hierarchy by using a tree structure or the like. For example, if a certain UI widget A is a UI widget that employs other UI widgets B and C, then the UI widget A will be the parent of the UI widgets B and C. Thus, UI widgets can be expressed in hierarchical form and the information representing the UI widget content that will constitute the root of this hierarchy is obtained by this processing. Often the UI widget that will be the root is designed as a UI widget representing one screen of the UI, generally speaking. The UI widget content that will the root is decided on a per-device or per-service basis. In the case of a device, the information (content ID or URI information thereof) of the UI widget content that will the root is stored in the memory of the device. Further, in the case of the UI of a service, there are instances where the information (URI information) of the UI widget content that will be the root is appended to content such as the HTML of the service.
When the UI widget content that will be the root is acquired, the UI widget hierarchy constructing unit 105 builds the UI widget based upon this content information (step S202). This processing will be described later. When the root UI widget is built, the initial focus position determination unit 106 decides the position of the initial focus based upon this UI widget (step S203). This processing also will be described later.
When the root UI widget is built and the position of the initial focus thereof is decided, the UI presenting unit 107 generates the actual UI based upon this information and presents it to the user (step S204). For example, the UI presenting unit 107 creates an input-form group, which is for ordering pizza, as a graphical user interface and presents the GUI from the display of the user.
When the processing begins, loading of the UI widget content is performed based upon the information representing UI widget content (step S301). In a case where the information representing the UI widget content given by the argument is the ID, a correspondence table or the like giving the correspondence between IDs and UI widget content is referred to and the UI widget content is acquired. In a case where the information representing the UI widget content given by the argument is the URI, the UI widget content is acquired from within the device or via a network based upon the URI information.
When the UI widget content of
At step S303, the building of the child UI widget is performed based upon the information indicating the content of the child UI widget. The information indicating the content of the child UI widget is the ID information of the child UI widget or the URI information to this UI widget content. Processing indicated by this processing flow is executed using these items of information as the argument and the building of the child UI widget is carried out.
The child UI widget generated is added on as the child UI widget of the UI widget currently being processed (step S304). The generation (step S303) of the child UI widget and the adding on of the child UI widget (step S304) are carried out with regard to all child UI widgets of the UI widget currently being processed. When all of the child UI widgets defined by the UI widget content have been processed, control proceeds to the processing of step S305.
At step S305, the UI widget currently being processed is returned to the side (
Here the description will be rendered assuming that this flow begins with the UI widget 901 in the UI widget hierarchy of
In a case where a UI widget A that is other than the UI widget being processed is designated as the initial focus (“YES” at step S402), it is decided that the initial focus is at this UI widget A (step S403). This processing corresponds to calling this flow recursively with this UI widget A serving as the argument. For example, in a case where it is described in the UI widget content of “Widget A” that “Widget C” possesses the initial focus, the flow of
In a case where the initial-focus designation is not referring to another UI widget A (“NO” at step S402), it is decided that the UI widget currently being processed possesses the initial focus (step S404). For example, this corresponds to a case where the UI widget currently being processed does not have a child UI widget or to a case where the UI widget content currently being processed has a description such as “initial-focus=‘_this’” and thus designates itself as having the initial focus. Further, it corresponds also to a case where an initial-focus attribute per se has not been designated and, hence, no initial focus has been designated.
If the flow of
In accordance with the UI presenting apparatus according to this embodiment described above, it is possible to determine an initial focus that incorporates the intentions of each of the UI developers. For example, assume that a UI developer A who created a UI widget referred to as “Widget B” (902) in
This embodiment illustrates an example in which the UI presenting apparatus of the first embodiment is installed in a GUI presenting unit of a copier equipped with a facsimile function.
The UI widget relating to copying has an edit box (3002) in which the number of copies can be entered, radio buttons (3003) for selecting the color mode, and a button (3006) that enables printing to be executed by being clicked. The radio buttons for selecting the color mode include two radio-button elements (3003) and (3004) and it is possible for the user to select either one.
The UI widget relating to facsimile includes a list box (3008) in which a registered destination for a facsimile transmission has been stored, a scan button (3009) for reading in a document that has been placed on a glass platen, and a facsimile execution button (3010) for transmitting a read document to the selected transmission destination.
The user is capable of selecting the data for this UI by using direction keys, numeric keys and a decision key and of executing various operations. For example, focus (3011) on a UI widget can be moved by pressing a direction key. By moving the focus onto various buttons and then pressing the decision key, the button can be clicked. By moving the focus onto the edit box and pressing a numeric key, the value corresponding to the numeral can be entered in the edit box. By moving the focus onto the list box and pressing a numeric key, the list element corresponding to the numeral can be selected.
For example, UI widget (3101) corresponding to copying has, as child UI widgets, edit box (3102) in which the number of copies can be entered, radio buttons (3103) for selecting the color mode and button (3106) that enables printing to be executed by being clicked. The UI widget (3101) relating to copying designates the copy button (3106) as the initial focus. Further, the radio buttons (3103) for selecting the color ode have two radio-button elements (3103) and (3104) as child UI widgets. Of the radio buttons (3103), the first radio-button element (3103) is designated as the initial focus.
If such UI widget content is loaded from the storage device 101 via the reading unit 104, then the UI presenting apparatus presents the UI in a state in which the initial focus has been applied thereto. Specifically, the UI widget hierarchy constructing unit 105 generates the hierarchy of the root UI widget. The initial focus position determination unit 106 follows the path from the root UI widget to the UI widget that has been designated to receive the initial focus. The initial focus position determination unit 106 then decides upon the UI widget, which has been designated to receive the initial focus, as the UI widget having the initial focus, and the UI for which the initial focus has thus been set is output to the display 102, etc., by the UI presenting unit 107.
For example, if the UI widget hierarchy of
The foregoing makes it possible for the re-utilization of the UI to be performed effectively. For example, the UI developer who created the UI widget relating to copying decided that it would be appropriate for the copy button (3106) to receive the initial focus and thus designed the UI accordingly. The reason is that the developer judged that enabling copying to be performed merely by placing a document on the glass platen and clicking the decision key would be a desirable design for a copier. On the other hand, the UI developer who created the UI widget relating to facsimile decided that it would be appropriate for the scan button (3109) to receive the initial focus. The reason is that this developer judged that enabling a document to be read merely by placing the document on the glass platen and clicking the decision key would be a desirable design for a facsimile machine. A UI developer who has incorporated these two UI widgets (3101 and 3107) would adopt the initial-focus setting of the UI widget (3101) relating to copying. The reason is that this developer has judged that this product would be used more often as a copier than as a facsimile machine. By thus using the present invention, the finally appropriate initial-focus setting is made merely by deciding which UI widget that is one layer lower in the hierarchy should receive the initial focus.
In the first and second embodiments described above, a single UI widget is designated in each type of UI widget content as the widget to receive the initial focus. However, it is also possible to designate a plurality of such widgets.
In the event that the building of the UI widget described in the initial-focus designation 1 fails for some reason, the initial focus is given to the UI widget described in the second initial-focus designation 2. For example, if the “radio2” UI widget content (“radio.xml”) in
By thus making a plurality of initial-focus designations, it is possible to decide initial focus from one that can be utilized as a child UI widget and, moreover, that has been designated as an initial focus of a higher order.
This embodiment illustrates an example in which the UI presenting apparatus of the third embodiment is installed in a GUI presenting unit of a copier equipped with a facsimile function.
The UI widget relating to copying has edit box (3002) in which the number of copies can be entered, radio buttons (3003) for selecting the color mode, and button (3006) that enables printing to be executed by being clicked. The radio buttons for selecting the color mode include two radio-button elements (3003) and (3004) and it is possible for the user to select either one.
The UI widget relating to facsimile includes list box (3008) in which a registered destination for a facsimile transmission has been stored, scan button (3009) for reading in a document that has been placed on a glass platen, and facsimile execution button (3010) for transmitting a read document to the selected transmission destination.
For example, screen (3200) has, as child UI widgets, UI widget (3201) relating to copying and UI widget (2307) relating to facsimile. Assume that UI widget (3201) relating to copying is designated as the first initial-focus designation and that UI widget (3207) relating to facsimile is designated as the second initial-focus designation.
If such a UI widget hierarchy is loaded, the path of the initial-focus designation is followed from the root UI widget content and the UI widget arrived at is decided upon as the UI widget having the initial focus according to the described rendered thus far.
However, consider a situation where UI widgets that follow a specific UI widget have become unusable. For example, assume that paper has run out in a copier equipped with a facsimile function and that the copying application that uses paper has become unusable as a consequence. In this case, for example, the copying-related UI cannot be accessible. Naturally, the initial focus cannot be given to a UI that is not accessible.
For example, if a copier equipped with a facsimile function runs out of paper, a GUI of the kind shown in
First, reference to the initial-focus designation is made from the UI widget currently being executed (S3401). In the case of “Screen” in
Next, it is determined whether the first initial-focus designation is referring to another UI widget A (S3402). Currently the first initial-focus designation is the copying-related UI (3201). Next, it is determined whether this UI widget A is usable (S3403). Here a “NO” decision is rendered because paper has run out and the copying-related UI cannot be utilized.
Next, it is determined whether the second initial-focus designation is referring to another UI widget B (S3404). Currently the second initial-focus designation is the facsimile-related UI (3207). Next, it is determined whether this UI widget B is usable (S3405). Here it is determined that the UI widget B can be used. Accordingly, the initial focus is determined at UI widget B. In other words, the flow of
If the flow of
Thus, it is decided that the scan button (3209) has the initial focus and, as illustrated in
In this way it is so arranged that initial focus can be designated up to a maximum of two child UI widgets. This means that if one of the child UI widgets can no longer be utilized, then it is possible to designate the other child UI widget as the initial focus.
In the third and fourth embodiments, the initial-focus designations are made in the form of the first initial-focus designation and second initial-focus designation. However, it is possible to set three or more candidates for initial focus.
For instance,
It should be noted that
First, reference to the initial-focus designation is made from the UI widget currently being executed (S3701). In the case of “Screen” (3500) in
Next, an internal variable N is initialized at 1 (S3702).
Next, it is determined whether N is greater than the number of child UI widgets (S3703). Since N is 1 at the present time and this is not greater than 2, which is the number of children of the UI widget, a “NO” decision is rendered. The child UI widget having the Nth highest priority is acquired (S3704). This processing acquires the UI widget (3501), which is the copying-related UI. This is the UI widget having the highest priority.
Next, it is determined whether the acquired UI widget is usable (S3705). Assume that paper has run at present, rendering the copying-related UI unusable. In this case, processing for incrementing N is executed (S3706). As a result, N is changed to 2. Control then returns to the decision step S3703 to determine whether N is greater than the number of child UI widgets.
Since 2, which is the current value of N, is not greater than the number (2) of child UI widgets, the facsimile-related UI widget (3507), which is the UI widget having the second highest priority, is acquired. It is determined whether this UI widget is usable (S3705). Although paper has run out, a “YES” decision is rendered because absence of paper does not affect use in relation to a facsimile transmission. Control therefore proceeds to S3707, where the flow is executed with the facsimile-related UI widget (3507) now serving as the argument.
When the flow is executed with the facsimile-related UI widget (3507) as the argument, the scan button (3509), which is the UI widget when N is 1, is selected (S3704) and it is determined that this UI widget is usable (“YES” at S3705). At S3707, the flow is executed with the UI widget (3509) relating to the scan button now serving as the argument.
When the flow is executed with the UI widget (3509) relating to the scan button as the argument, a “YES” decision is rendered at the processing of S3703 because this UI widget does not have a child UI widget. The UI widget (3509) relating to the scan button, which is the UI widget currently being processed, is decided upon as the UI widget having the initial focus.
As a result, the UI widget having the initial focus is decided and, when the UI is presented as shown in
In the fourth embodiment, the initial-focus designation can be made up to a maximum of two child UI widgets. In a case where one child UI widget can no longer be utilized, therefore, the initial focus can be applied to the other UI widget. However, if both of the UI widgets designated to receive the initial focus become unusable, then the initial focus cannot be applied to the appropriate location.
With the method of the fifth embodiment, on the other hand, it is possible to perform the initial-focus designation in a form in which all child UI widget are assigned a priority. As a result, even if a plurality of these child UI widgets become unusable, it is possible to apply the initial-focus designation to the UI widget having the highest priority among the usable child UI widgets.
A method of deciding initial focus in a UI widget hierarchy has been described in the first to fifth embodiments. However, the present invention can also be applied to processing other than processing for deciding initial focus.
For example,
Assume that when a task element designates a child task element, information as to which child task element is executed first has been designated. For example,
The UI presenting apparatus builds the task hierarchy of
Further, in a manner similar to that of the second embodiment, a plurality of initial tasks may be designated in task content, as by describing second initial-task information in addition to first initial-task information, thereby preparing for the occurrence of failure in the building of the task elements. In this case, it is possible to decide an initial task from one that can be utilized as a child UI task and, moreover, that has been designated as an initial task of a higher order.
Thus, as described above, the present invention is capable of being utilized in a case where it is desired to provide a single solitary UI element (UI widget or task) with a specific meaning (initial focus or initial task) in the expression of a UI represented hierarchically.
In the embodiments set forth above, UI widget content or task content is described as a file written in the XML format. However, it should be understood that this is merely one example. Each type of content may be content written according to an existing language specification such as the HTML format. Further, the content may be byte code obtained by binarizing XML. Further, the content may be a source file, header file or interface file in an existing programming language such as C or Java. Alternatively, the format may be a unique data format that expresses a UI.
Note that the present invention can be applied to an apparatus comprising a single device or to system constituted by a plurality of devices.
Furthermore, the invention can be implemented by supplying a software program, which implements the functions of the foregoing embodiments, directly or indirectly to a system or apparatus, reading the supplied program code with a computer of the system or apparatus, and then executing the program code. In this case, so long as the system or apparatus has the functions of the program, the mode of implementation need not rely upon a program.
Accordingly, since the functions of the present invention can be implemented by a computer, the program code installed in the computer also implements the present invention. In other words, the claims of the present invention also cover a computer program for the purpose of implementing the functions of the present invention.
In this case, so long as the system or apparatus has the functions of the program, the program may be executed in any form, such as an object code, a program executed by an interpreter, or script data supplied to an operating system.
Example of storage media that can be used for supplying the program are a floppy disk, a hard disk, an optical disk, a magneto-optical disk, a CD-ROM, a CD-R, a CD-RW, a magnetic tape, a non-volatile type memory card, a ROM, and a DVD (DVD-ROM and a DVD-R).
As for the method of supplying the program, a client computer can be connected to a website on the Internet using a browser of the client computer, and the computer program of the present invention or an automatically-installable compressed file of the program can be downloaded to a storage medium such as a hard disk. Further, the program of the present invention can be supplied by dividing the program code constituting the program into a plurality of files and downloading the files from different websites. In other words, a WWW (World Wide Web) server that downloads, to multiple users, the program files that implement the functions of the present invention by computer is also covered by the claims of the present invention.
It is also possible to encrypt and store the program of the present invention on a storage medium such as a CD-ROM, distribute the storage medium to users, allow users who meet certain requirements to download decryption key information from a website via the Internet, and allow these users to decrypt the encrypted program by using the key information, whereby the program is installed in the user computer.
Besides the cases where the aforementioned functions according to the embodiments are implemented by executing the read program by computer, an operating system or the like running on the computer may perform all or a part of the actual processing so that the functions of the foregoing embodiments can be implemented by this processing.
Furthermore, after the program read from the storage medium is written to a function expansion board inserted into the computer or to a memory provided in a function expansion unit connected to the computer, a CPU or the like mounted on the function expansion board or function expansion unit performs all or a part of the actual processing so that the functions of the foregoing embodiments can be implemented by this processing.
While the present invention has been described with reference to exemplary embodiments, it is to be understood that the invention is not limited to the disclosed exemplary embodiments. The scope of the following claims is to be accorded the broadest interpretation so as to encompass all such modifications and equivalent structures and functions.
This application claims the benefit of Japanese Patent Application No. 2008-104946, filed Apr. 14, 2008, and Japanese Patent Application No. 2009-089582, filed Apr. 1, 2009, which are hereby incorporated by reference herein in their entirety.
Number | Date | Country | Kind |
---|---|---|---|
2008-104946 | Apr 2008 | JP | national |
2009-089582 | Apr 2009 | JP | national |