[go: up one dir, main page]

WO2009123028A1 - ユーザインタフェース生成装置 - Google Patents

ユーザインタフェース生成装置 Download PDF

Info

Publication number
WO2009123028A1
WO2009123028A1 PCT/JP2009/056199 JP2009056199W WO2009123028A1 WO 2009123028 A1 WO2009123028 A1 WO 2009123028A1 JP 2009056199 W JP2009056199 W JP 2009056199W WO 2009123028 A1 WO2009123028 A1 WO 2009123028A1
Authority
WO
WIPO (PCT)
Prior art keywords
user interface
definition file
composite
unit
application
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/JP2009/056199
Other languages
English (en)
French (fr)
Inventor
健太 木下
和宏 山本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Kyocera Corp
Original Assignee
Kyocera Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Kyocera Corp filed Critical Kyocera Corp
Priority to JP2010505806A priority Critical patent/JP5680404B2/ja
Priority to US12/935,376 priority patent/US9497313B2/en
Publication of WO2009123028A1 publication Critical patent/WO2009123028A1/ja
Anticipated expiration legal-status Critical
Priority to US15/276,849 priority patent/US20170017377A1/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72403User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality
    • H04M1/72409User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories
    • H04M1/72415User interfaces specially adapted for cordless or mobile telephones with means for local support of applications that increase the functionality by interfacing with external accessories for remote control of appliances
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • H04M1/72469User interfaces specially adapted for cordless or mobile telephones for operating the device by selecting functions from two or more displayed items, e.g. menus or icons
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Definitions

  • the present invention relates to a user interface generation device, and more particularly to a user interface generation device that generates a user interface of a mobile terminal.
  • the user interface (hereinafter abbreviated as “UI” as appropriate) of a mobile terminal typified by a mobile phone greatly affects the operability when the user operates the mobile terminal. For this reason, the UI of the mobile terminal is one of the important factors that determine the user's purchase of the mobile terminal.
  • a UI based on XML Extensible Markup Language
  • XML Extensible Markup Language
  • UI Foundation developed by TAT (http://www.tat.se/) and Acrodea (http: //www.acrodea. VIVID UI developed by co.jp/) and UI One developed by Qualcomm (http://www.qualcomm.co.jp/).
  • Japanese Patent Application Laid-Open No. 2001-36652 discloses a technique in which a plurality of external devices can be remotely operated (controlled) by infrared communication using a mobile phone terminal having an infrared communication unit.
  • the mobile phone terminal described in Japanese Patent Laid-Open No. 2001-36652 includes an external control unit that performs communication with an external device.
  • This mobile phone terminal stores external device control information for remotely controlling an external device by acquiring it via a telephone line or receiving it from an external device, and stores it. Based on this external device control information Remote control of external devices.
  • a remote control that remotely operates a plurality of external devices on a terminal body that is normally used as a mobile phone.
  • application a built-in application program
  • remote control that remotely operates a plurality of external devices on a terminal body that is normally used as a mobile phone.
  • a plurality of external devices can be remotely operated by one mobile phone terminal based on the external device control information corresponding to each external device. it can. Therefore, there is no need for a complicated operation to use a plurality of individual remote control terminals for each of a plurality of external devices, and the convenience for the user can be improved.
  • each remote control application is temporarily terminated and the next remote control application is started. There is no need to let them. That is, a plurality of applications can be simultaneously activated on one terminal, and can be used by switching to an application of an arbitrary remote controller to be used from among them.
  • the UI of the television remote control application is displayed on the portable terminal 100 including the touch panel 200. Can be reproduced while maintaining operability.
  • keys and buttons such as a numeric keypad are mechanical keys.
  • an object reproduced by drawing a numeric keypad is displayed on the touch panel. 200.
  • the UI of the air conditioner remote control application is similarly displayed on the portable terminal 100 including the touch panel 200 as shown in FIG. 19D. Can be reproduced while maintaining its operability.
  • the UI of each application is described based on XML, even if the application is ported to another manufacturer's terminal, the same UI can be easily reproduced simply by processing the XML file describing the UI. .
  • FIGS. 20A to 20D are diagrams showing a state in which the UIs of two applications are simultaneously displayed on the mobile terminal 100 in which the multitasking and multiwindow functions are implemented.
  • each UI is reproduced as it is in each window obtained by dividing the display on the display unit of the touch panel 200 vertically, only a part of each UI is displayed.
  • a scroll bar is provided at the right end of each window to perform operations on parts that cannot be displayed on the screen.
  • the user wants to adjust the volume of the television in the state shown in FIG. 20A
  • the user moves the scroll bar of the window of the television remote control UI
  • the television remote control UI as shown in FIG. You must move the display range.
  • the user moves the scroll bar of the window of the air conditioner remote control UI to move the air conditioner as shown in FIG.
  • the display range of the conditioner remote control UI must be moved.
  • UI object when a user's desired one of various keys or buttons and information display locations (hereinafter referred to as “UI object”) constituting the UI is not displayed in the UI display range, the UI is constantly updated. An operation to move the display range is required.
  • the input operation must be started after first selecting and activating the input window.
  • the operation unit constituting the UI of an application such as a remote controller is generally designed with a size close to the minimum. For this reason, when displaying UIs of a plurality of applications simultaneously, if each UI is reduced as a whole and displayed simultaneously, each UI object becomes too small, and the operability of each UI may be significantly reduced. In this way, when a UI designed for one screen is displayed in a multi-window, its operability deteriorates.
  • UI objects that constitute a UI designed for one screen in this way are necessary. If a UI object that is not necessary for the user is included in the UI, the UI object hinders the operation, and may reduce the operability of the entire UI.
  • an object of the present invention made in view of such circumstances is to synthesize a UI only with a selected UI object and maintain the operability of each user interface when simultaneously realizing the user interfaces of a plurality of application programs.
  • An application program execution unit for realizing various functions based on the application program;
  • a user interface generation unit that generates a user interface for instructing the application program execution unit to execute a predetermined function based on the application program;
  • a storage unit that stores a user interface definition file including user interface object definition information that defines a user interface object that is a component of the user interface;
  • a selection screen generation unit that generates a selection screen that accepts selection of the user interface object based on the user interface object definition information, When the selection screen generation unit is instructed to combine a plurality of user interfaces, the selection screen generation unit includes a user interface object included in a user interface definition file stored in the storage unit corresponding to each of the instructed user interfaces.
  • the user interface generation unit Generate the selection screen based on the definition information,
  • the user interface generation unit generates a composite user interface definition file including user interface object definition information of the user interface object selected on the selection screen, and generates a composite user interface based on the composite user interface definition file. It is a feature.
  • the invention according to a second aspect is the user interface generation device according to the first aspect,
  • the user interface object definition information includes user interface object attribute information including information indicating a relationship between the user interface object and another user interface object constituting a user interface having the user interface object as a constituent element.
  • the user interface generation unit includes user interface object attribute information of the user interface object selected on the selection screen and identification information of the user interface to which the user interface object belongs. Based on this, the arrangement of the user interface object in the composite user interface is determined.
  • the invention according to a third aspect is the user interface generation device according to the second aspect, An occupancy rate integration unit that integrates the occupancy rate of the user interface object selected on the selection screen in the composite user interface based on the user interface object attribute information;
  • the selection screen generation unit selects a user interface object selected on the selection screen when the occupation rate in the composite user interface accumulated by the occupation rate accumulation unit exceeds a predetermined value when the occupation rate exceeds the predetermined value. And canceling notification of the fact that selection of the user interface object is difficult.
  • an invention according to a fourth aspect is the user interface generation device according to any one of the first to third aspects.
  • the storage unit stores a synthesized user interface definition file generated based on the user interface object selected on the selection screen in the storage unit,
  • the application program execution unit specifies an application program corresponding to each user interface object constituting the composite user interface when the composite user interface is activated based on the composite user interface definition file stored in the storage unit. Based on related application program information, a corresponding application program is started in the background.
  • UI generation apparatus of the present invention is not limited to a mobile phone, and can be applied to, for example, an arbitrary mobile terminal such as a notebook computer or PDA. Further, the present invention is not limited to a portable terminal as long as it is an apparatus that requires implementation of the present invention. Note that the main object of the present invention is to synthesize a plurality of UIs so that they can be used at the same time.
  • the application that receives an instruction from each UI is not limited to the remote control function. Can be applied.
  • FIG. 1 is a block diagram showing a schematic configuration of a mobile phone which is a UI generation apparatus according to an embodiment of the present invention.
  • the mobile phone 1 includes a control unit 10 that controls the whole and a touch panel 20 that receives input from the user and displays an input result or the like according to each application.
  • the touch panel 20 is configured by superimposing an input unit 22 configured with a matrix switch or the like that receives input from a user on a front surface of a display unit 24 configured with a liquid crystal display or the like.
  • the display unit 24 draws and displays UIs such as various keys and buttons for receiving user operation inputs in a predetermined UI display area.
  • the mobile phone 1 also includes a wireless communication unit 30 that transmits and receives various information such as voice calls and e-mail data with a base station (not shown), and an infrared communication unit 40 that communicates with various external devices (not shown) using infrared rays. Yes.
  • the wireless communication unit 30 uses the wireless communication unit 30, the mobile phone 1 transmits and receives various data to and from the outside of the terminal via the Internet or wireless.
  • the mobile phone 1 has a storage unit 50 that stores input information and various applications, and also functions as a work memory.
  • the storage unit 50 includes an application storage area 51, a UI definition file storage area 52, an individual UI resource storage area 53, a common UI resource storage area 54, a related application information storage area 55, and a combined UI definition file storage area 56. Including.
  • the control unit 10 includes an application execution unit 11, a UI acquisition unit 12, a UI generation unit 13, a UI object selection processing unit 14, a UI resource shaping unit 15, and a composite UI definition file generation unit 16. It is out.
  • the application execution unit 11 reads out and executes various applications stored in the application storage area 51 of the storage unit 50 and performs control related to the execution. Further, the application execution unit 11 executes functions of various applications corresponding to the input based on the input to the UI corresponding to the various applications stored in the application storage area 51.
  • the UI acquisition unit 12 acquires resources (image data and the like) and UI definition files (XML file and the like) outside the terminal via the wireless communication unit 30.
  • the UI generation unit 13 performs a parsing process (parsing) and a DOM (Document Object Model) process on the UI definition file, and generates a UI to be actually used.
  • the UI generation unit 13 interprets UI information described in the XML format by the XML engine, and displays the UI generated based on the UI definition file on the display unit 24 of the touch panel 20.
  • the UI object selection processing unit 14 performs processing and control for generating a selection screen for accepting selection of a UI object by the user by analyzing UI object definition information that defines a UI object to be drawn on the display unit 24.
  • a screen that displays UI object information on the display unit 24 and accepts selection by the user is referred to as a “UI object selection screen” or simply a “selection screen”. Therefore, in the present embodiment, the UI object selection processing unit 14 constitutes a selection screen generation unit.
  • the UI object selection processing unit 14 when the UI object selection processing unit 14 is instructed to synthesize a plurality of UIs in a predetermined display area of the display unit 24, the UI object selection processing unit 14 synthesizes the UIs based on the designated plurality of UI definition files.
  • the UI object selection processing unit 14 includes an occupation rate integration unit (not shown) that integrates the occupation rate occupied by the selected UI object on the UI object selection screen.
  • the occupation rate accumulation unit accumulates the occupation rate of the UI object based on the UI object attribute information included in the UI object definition information of each UI object.
  • the UI resource shaping unit 15 performs a preview process for the selected UI object, a process for enlarging or reducing the data of the resource used when synthesizing the UI, and the like. In this case, the resource data stored in the individual UI resource storage area 53 or the common UI resource storage area 54 is read and used.
  • the combined UI definition file generation unit 16 generates and outputs the UI combined by the UI object selection processing unit 14 as a combined UI definition file.
  • the application storage area 51 stores various applications.
  • the UI definition file storage area 52 stores a UI definition file that defines a series of generation rules for generating each UI as a whole.
  • the individual UI resource storage area 53 stores individual UI resources such as image data and character string (text) data used for generating a UI unique to each application.
  • the common UI resource storage area 54 stores common UI resources such as image data and font data shared and used by the UI used in the terminal, other than the individual UI resources specific to each application. When the UI is actually generated, the image data and text data stored in the individual UI resource storage area 53 and the common UI resource storage area 54 are displayed on the display unit 24 of the touch panel 20.
  • the composite UI definition file storage area 56 stores the UI definition file generated by the composite UI definition file generation unit 16.
  • the related application information storage area 55 stores related application information including activation information for applications related to each composite UI definition file.
  • FIG. 2 shows an example of related application information. In FIG. 2, the related applications corresponding to the composite UI definition file shown on the left side of the table are shown on the right side of the table.
  • a UI definition file that defines each specification and operation corresponding to the application of the UI required when each application stored in the application storage area 51 is executed. Is memorized. Although the situation where the same UI is used in different applications is also conceivable, here, for convenience of explanation, it is assumed that different UIs are used for different applications, and each UI definition file corresponding to each application is saved. The case will be described.
  • a TV remote control UI definition file is stored in the UI definition file storage area 52 in correspondence with a TV remote control application that remotely controls a television receiver, which is an external device (not shown), using the mobile phone 1.
  • an air conditioner remote control UI definition file is stored in the UI definition file storage area 52 in correspondence with an air conditioner remote control application that remotely controls an air conditioner of an external device (not shown) by the mobile phone 1.
  • UIML User Interface Markup Language
  • the UI generation unit 13 displays the UI on the display unit 24 of the touch panel 20 of the mobile phone 1, and the application execution unit 11 performs processing according to the input to the input unit 22 by the user. I do.
  • UI object definition information for defining a UI object to be drawn on the display unit 24 is included.
  • the UI object definition information is information that defines an image and text for drawing a UI object such as a key or a button that is an element constituting a UI displayed on the display unit 24, and when the UI object is input. (Actually, when an input is made to the part of the input unit 22 corresponding to the UI object), the information is defined.
  • each application execution unit is included in the UI object definition information when an event occurs for each UI object.
  • action information indicating the operation content to be executed. For example, when an event of input to the input unit 22 corresponding to the position of the UI object of “power” of the TV remote control UI occurs, an infrared signal for turning on or off the TV of the external device to the TV remote control application Define the action information to issue an instruction to send
  • the UI object definition information includes UI object attribute information that is information related to each UI object used when a plurality of UIs are combined.
  • This UI object attribute information includes, for example, information indicating the relationship with other UI objects constituting the UI, and each object based on the relationship between each UI object and another UI object when a plurality of UIs are combined.
  • Various kinds of information such as information on the priority at which is displayed can be added.
  • the UI definition file includes identification information of a UI corresponding to the UI definition file. As the UI identification information, for example, the name of the UI can be added as text information.
  • the user assumes that it is necessary to use a plurality of applications separately and use them at the same time, and adopts only a UI object selected by the user from a plurality of UIs, as desired by the user.
  • a composite UI including only UI objects is generated.
  • the UI definition file of each UI corresponding to various applications stored in the application storage area 51 is stored in the storage unit 50 in advance in the UI definition file storage area 52.
  • FIG. 3 is a flowchart for explaining the entire series of operations for generating a composite UI by the mobile phone 1 according to the present embodiment.
  • the application execution unit 11 reads an application (synthetic UI generation application) for performing processing for generating a composite UI from the application storage area 51 and starts it. (Step S11).
  • This composite UI generation application is an application configured to select only a desired UI object from a plurality of UIs and generate a composite UI.
  • the UI object selection processing unit 14 displays a condition for narrowing down a UI definition file to be selected in order to allow the user to specify a UI for selecting a UI object from a plurality of UIs.
  • the condition designation by the user is received by the input unit 22 (step S12).
  • the UI object selection processing unit 14 displays a screen as shown in FIG. 4A on the display unit 24, for example, and selects a UI for generating a composite UI.
  • the specification by the user of the conditions to be accepted is accepted.
  • the UI object selection processing unit 14 sends the mobile phone 1 as shown in FIG.
  • the UI names of the UI definition files acquired by are displayed in order from the top of the screen. The user can select a UI including a UI object to be adopted from the listed UI names.
  • UI object selection processing unit 14 When the UI object selection processing unit 14 enumerates the UI names displayed on the display unit 24, date / time information added (or updated) when each UI definition file is first stored in the UI definition file storage area 52 is displayed. By referencing, they can be displayed side by side in the newly acquired order.
  • the UI object selection processing unit 14 displays each UI as shown in FIG. 5B.
  • the UI name of the definition file is classified and displayed on the screen by UI function, that is, by application (in this example, by device corresponding to the remote control application).
  • the conditions for selecting a UI for generating a composite UI include “by manufacturer” classified by the manufacturer that provides each UI (or application corresponding to the UI), via the UI acquisition unit 12, etc.
  • Various conditions such as “acquisition location” classified by the location (for example, “my room” or “living room”) where the mobile terminal 1 has acquired the UI definition file can be considered.
  • acquisition location classified by the location (for example, “my room” or “living room”) where the mobile terminal 1 has acquired the UI definition file
  • FIG. 5B a case where the user selects a UI object in the UI “by function” classification as shown in FIG. 5B will be described.
  • the UI object selection processing unit 14 analyzes the contents of a plurality of UI definition files narrowed down by this selection, and extracts UI object definition information included therein (step S13). As described above, after extracting the UI object definition information of the UI object that may be adopted, the UI object selection processing unit 14 selects each UI constituting the UI when each UI is selected. Information on the UI object is displayed (step S14).
  • each UI for example, “air conditioner” or “TV”
  • the name of each UI object is displayed in the UI definition file corresponding to each UI.
  • text information name of each key
  • the UI object selection processing unit 14 extracts and displays text data related to the UI object included in each UI object definition information.
  • FIG. 6A shows that the “air conditioner” and “TV” are selected from the UI shown in FIG. 5B (by inputting by pressing a check box, for example), and the air conditioner remote control application and the TV remote control are selected.
  • the example which expanded the display of each UI object which comprises UI of an application is shown.
  • the UI object selection processing unit 14 accepts selection of the UI object to be adopted by the user. Therefore, in the present embodiment, a screen that displays UI object information on the display unit 24 and accepts selection by the user constitutes a UI object selection screen.
  • UIs used for applications such as a remote control application have many UI objects used as a pair. Therefore, it is preferable that a plurality of UI objects that make sense as a pair can be adopted or not adopted as a pair.
  • relevance information indicating that a plurality of UI objects are pairs (or the same group) is added to the UI object definition information included in the UI definition file as UI object attribute information, and the relevance information ( A pair of UI objects is defined by the value of (attribute).
  • this UI object relevance information is indicated as an attribute (relate_ID). By adding the same value to this attribute (relate_ID), a plurality of UI objects can be handled as the same group.
  • the UI object selection processing unit 14 stores the individual UI resource storage area 53 or the common UI resource storage corresponding to each UI.
  • the image data of the UI object is read out from the resource data stored in the area 54, and is reduced and displayed.
  • FIG. 6C shows an example in which a reduced image of the UI object is displayed because there is no text information corresponding to the UI objects of the “display window” and the “direct channel selection key” in the UI object definition information. .
  • reduced images of UI objects can be displayed for all UI objects as shown in FIG. 6D, depending on the initial settings of the mobile phone 1 or in accordance with user preference settings.
  • Each UI object uses an image when it is actually displayed on the display unit 24 and used as a UI, so a reduced image is displayed regardless of whether or not the UI object includes text information of a name. can do.
  • the user can select a UI object more visually.
  • UI objects to be handled as a pair are collectively displayed using relevance information of UI objects.
  • the UI object selection processing unit 14 receives a UI object selection input by the user (step S15).
  • a selection input such as an input of pressing a check box
  • the UI object selection processing unit 14 displays the predetermined UI display on the display unit 24 as the selected UI object.
  • the total of the proportion of the area occupied in the region (hereinafter referred to as “integrated screen occupancy”) is calculated (step S16).
  • the UI object definition information of each UI object includes in advance the occupation ratio in the UI display area of each UI object as UI object attribute information.
  • the UI object excluding the soft key area at the bottom end of the display unit 24 is selected. It is preferable to display and display the above-described integrated screen occupancy rate by a bar graph or the like at the lower end of the selection screen.
  • UI objects of “power supply” (occupation ratio 10%) and “display window” (occupancy ratio 30%) are selected from the air conditioner remote control UI, and “power supply” is selected from the TV remote control UI. ”(Occupation rate 10%) is selected. Therefore, the bar graph at the lower end of the selection screen indicates that the integrated screen occupancy is 50%. This indicates that when a UI is actually combined and displayed on the display unit 24, a UI object that occupies 50% of the UI display area is currently selected. In FIG. 7, when the check box is black, it indicates that the UI object is selected.
  • FIG. 7C shows that the UI object “up / down temperature” (occupation ratio 15%) is selected from the air conditioner remote control UI by further input to the input unit 22 by the user, and the integrated screen occupation ratio is It shows that it became 65%.
  • a predetermined threshold for example, 100%
  • the synthesized UI cannot be displayed in the UI display area.
  • the UI object selection processing unit 14 checks whether or not the integrated screen occupancy exceeds a predetermined threshold (step S17).
  • step S17 since the UI object can still be added before the integrated screen occupancy rate exceeds the predetermined threshold (No in step S17), the process returns to step S15 to accept further input to the input unit 22 by the user.
  • the UI object selection processing unit 14 may display, for example, FIG. Is displayed on the display unit 24 (step S18).
  • UI objects whose integrated screen occupancy rate exceeds a predetermined threshold when selected are selected by performing gray-out display or the like. You can make it impossible.
  • the selection screen shown in FIG. 7D when a UI object exceeding 100% is selected, it is indicated that it cannot be selected by performing gray-out display, and there is still a user input for selecting the UI object. Shows a warning display.
  • Step S19 the process returns to Step S15 to accept selection of another UI object (the integrated screen occupancy does not exceed a predetermined threshold).
  • the user can freely select a desired UI object from a plurality of UIs as long as the predetermined threshold of the integrated screen occupancy rate is not exceeded.
  • it may be difficult to grasp the actual arrangement state simply by displaying the integrated screen occupancy rate as a bar graph.
  • the UI object selection processing unit 14 illustrated in FIG. it is also possible to perform a preview display that shows how UI objects are arranged at the current time point. By enabling the preview display, the user can decide whether or not to adopt the UI object while confirming the actual arrangement of the UI object.
  • FIG. 9A a display as shown in FIG. 9A is displayed on the UI object selection screen so that the UI object can be reduced.
  • the display of 8 [5 to 15] indicates that the current occupancy rate is 8%. The occupancy rate can be adjusted from 5% to 15%.
  • FIG. 9A including other UI objects shows a state in which each UI object is reduced as a whole compared to the occupation ratio shown in FIG.
  • each UI object is reduced as a whole as compared with the UI display of FIG. 8B, as shown in FIG. 9B.
  • the bar graph indicating the total screen occupancy rate also decreases. Such reduction may be such that all of the currently selected UI objects can be reduced together or can be reduced individually for each UI object.
  • Such UI object enlargement / reduction processing is performed by the UI resource shaping unit 15 when the UI object selection processing unit 14 reads out each UI object from the individual UI resource storage area 53 or the common UI resource storage area 54.
  • a UI object can be further added while the preview display screen is maintained.
  • the UI as shown in FIG. 10B according to the user input to the “add UI” soft key at the lower right corner of the display unit 24. Display the screen for adding objects.
  • UI objects that have not yet been selected are classified and displayed for each UI, and selection input by the user is accepted.
  • UI objects are classified and displayed by tab display for each UI corresponding to each application.
  • “A / C” represents an air conditioner.
  • each UI object can be moved by dragging based on the input to the touch panel 20 by the user's finger, and the input can be dragged upward as shown in FIGS. 10C to 10D continuously. It is preferable that the UI object is selected and input based on this. The occupation rate is also reflected in the bar graph for the UI object selected in this way. The area necessary for the arrangement of each UI object is identified by surrounding the UI object with a dotted line. By providing a margin around the image of the UI object, a certain level of operability can be ensured even when a large number of UI objects are arranged adjacent to each other.
  • the user can freely set the arrangement of UI objects by dragging each UI object. As shown in FIGS. 10D to 10E, when the user determines the position of the UI object and releases the finger from the touch panel 20, the position of the UI object is determined.
  • some UI objects have a master-slave relationship in which the mutual relationships of a plurality of UI objects are not equal.
  • the power source object can be considered as “main”, and the object related to the operation performed after the power is turned on can be considered as “subordinate”.
  • the user selects a UI object, it is possible to make it impossible to select the “subordinate” UI object unless the “primary” UI object is selected.
  • a gray display is performed so that other UI objects related to the “power” UI object cannot be selected while the “power” UI object is not selected.
  • the “power source” that is the main UI object is selected, as shown in FIG. 11B, another UI object that is dependent on the main UI object can be selected.
  • UI object attribute information indicating that a plurality of UI objects are in a master-slave relationship is added to the UI object definition information included in the UI definition file.
  • the UI object selection processing unit 14 determines whether the UI object selection operation is completed. It is determined whether or not (step S20). For example, if there is an input for the “decision” of the soft key by the user on the selection screen shown in FIG. 12A or the preview display screen shown in FIG. 12B, it can be determined that the UI object selection operation has ended. If the UI object selection operation is not completed in step S20, the process returns to step S15 to accept further input to the input unit 22 by the user.
  • the UI object selection processing unit 14 performs automatic layout processing using the selected UI object (step S21).
  • UI objects are automatically arranged from the upper left as long as the UI display area permits, in principle, in the order of selection unless there is a user designation. For example, as shown in FIG. 12A, when a plurality of UI objects are sequentially selected and input up to 100% of the integrated screen occupancy rate, as shown in FIG.
  • the UI object is arranged so as to fit in the UI display area of the display unit 24. It should be noted that it is preferable that the UI objects are not arranged in a left-justified manner, but related UI objects are arranged together as a group based on UI object definition information or the like.
  • the user can check the current arrangement of the UI object as appropriate by displaying the preview screen as described above under the control of the UI object selection processing unit 14. Also at this time, the arrangement of the UI objects can be changed based on the operation input of the user who drags the input unit 22.
  • the composite UI definition file generation unit 16 defines a plurality of composite UIs composed of the selected UI object based on the UI object definition information of the selected UI object.
  • a composite UI definition file is generated (step S22).
  • the generated composite UI definition file is stored in the composite UI definition file storage area 56 of the storage unit 50 as one XML format file.
  • the file is like a UI definition file in the XML format shown at the end of this specification.
  • the composite UI definition file generation unit 16 When the composite UI definition file is generated, the composite UI definition file generation unit 16 generates related application information based on the UI object selected as the composite UI (step S23).
  • the related application information generated here is information for controlling an application related to the UI object when an input is made to each UI object selected as the composite UI.
  • the composite UI definition file generation unit 16 stores the related application information in the related application information storage area 55 in association with the composite UI definition file (Step S1). S24), the entire process of generating the composite UI is terminated.
  • the composite UI once generated can be used immediately.
  • the control unit 10 collects information on applications using the UI generated by the UI definition file from the UI definition file of the UI having the UI object selected as the component of the composite UI as a component.
  • the generated related application information 55a is stored in the related application information storage area 55 after being associated with the corresponding composite UI definition file.
  • an application-specific UI management table 57 that associates each UI definition file with information on an application that uses the UI generated by the UI definition file is stored in the storage unit 50 in advance.
  • the control unit 10 refers to the UI management table 57 for each application and collects application information corresponding to the UI definition file of the UI having the UI object selected as the component of the composite UI as shown in FIG.
  • the related application information 55a of the composite UI is generated.
  • the generated related application information 55a is stored in the related application information storage area 55 after being associated with the corresponding composite UI definition file.
  • the “Calculator Application” is a normal calculator UI to which the minimum necessary keys (UI objects) are assigned to perform basic calculations such as four arithmetic operations, and for scientific and technical calculations such as trigonometric functions and powers. And a scientific calculator UI to which a key (UI object) is assigned.
  • the function of the calculator application according to the user's purpose can be executed.
  • the UI management table 57 by application shown in FIG. 14 the UI type (UI_code) of the application and the UI definition file (UI definition file name) of the UI are associated with the application information (application name). Yes.
  • the calculator application “calculatorapp” includes “Simple_Cal_UI” which is a normal calculator UI based on different UI definition files (“Simple_calculator_interface.uiml” and “Function_calculator_interface.uiml”) and “Function_Cal_UI” which is a function calculator UI. Are associated with each other.
  • FIG. 12B is a diagram illustrating an example of a state in which the UI composition layout has been completed.
  • only one UI object necessary for the user is selected from the three types of UIs for the air conditioner remote controller, the TV remote controller UI, and the lighting A UI by the user's selection, and one composite UI is selected. Is generated.
  • each UI object is displayed as one composite UI. It is necessary to display in 24 and be ready for use.
  • the overall operation of the UI generation unit 13 when the mobile phone 1 displays the normal UI or the combined UI according to the present embodiment and can be used will be described.
  • FIG. 15 is a flowchart for explaining the entire process of generating and using a UI from the UI definition file or the composite UI definition file by the UI generation unit 13.
  • a UI definition file XML file
  • the application having the authority to display the UI does not start in the background on the mobile phone 1 but operates on the top level of the application.
  • the UI generation unit 13 reads the specified UI definition file from the UI definition file storage area 52 or the composite UI definition file storage area 56, and determines whether the UI definition file is a composite UI definition file ( Step S31).
  • the UI generation unit 13 stores related application information stored in association with the target composite UI definition file in the storage unit 50. Obtained from the region 55 (step S32). Next, based on the acquired related application information, the UI generation unit 13 instructs the application execution unit 11 to start the related application in the background (step S33).
  • the UI generation unit 13 performs an XML parsing process (step S34) and a DOM process (step S35) on the designated composite UI definition file. Furthermore, the UI generation unit 13 performs a process of generating a UI based on the UI definition file that has undergone the parsing process and the DOM process (step S36). The UI generation process in step S36 will be described later.
  • the UI generation unit 13 performs a process of displaying the UI in the UI display area of the display unit 24 of the touch panel 20 (step S37), thereby the UI. Will be available. Therefore, in the present embodiment, the user interface generation unit is configured including the UI generation unit 13 and the composite UI definition file generation unit 16.
  • step S31 If it is determined in step S31 that the specified file is not a composite UI definition file, the process proceeds to step S34, and the subsequent processing is the same as described above.
  • the UI definition file to be processed is not a composite UI definition file, but a UI definition file for a single UI read from the UI definition file storage area 52.
  • step S36 in FIG. 15 will be further described with reference to the flowchart in FIG.
  • either a UI based on one UI definition file or a composite UI based on a plurality of UI definition files is one DOM document (or DOM node).
  • the UI generation unit 13 performs display-related analysis on the DOM document (step S51).
  • an attribute with a structure tag or a style tag is analyzed.
  • the UI generation unit 13 analyzes the operation relation of the DOM document (step S52).
  • an attribute with a behavior tag is analyzed.
  • the UI generation unit 13 converts the expression included in the DOM document into an expression depending on each terminal (step S53). Further, the UI generation unit 13 selects a resource of the UI object to be used based on the result of the conversion process in step S53, and sets each attribute (property) (step S54). The UI object resources required at this time are stored in the individual UI resource storage area 53 as individual UI resources or in the common UI resource storage area 54 as common UI resources. Thereafter, the UI generation unit 13 performs a plotting process of the UI including each UI object (step S55). As a result, the UI generation process ends, and thereafter, the process proceeds to step S37 in FIG. 15 to perform the UI display process.
  • the UI definition file specified at the time of UI generation is a composite UI definition file that synthesizes a plurality of UIs, it is also a UI definition file of a single UI that does not synthesize a plurality of UIs. Even if it exists, the process according to each can be performed. That is, when processing a composite UI definition file, a composite UI is generated together with preparation of an application for combining a plurality of UIs. When processing a UI definition file of a single UI, a single unit is conventionally used. UI is generated.
  • the application execution unit 11 When an application to be activated is designated from the menu screen or the like by a user input to the input unit 22, the application execution unit 11 reads the designated application from the application storage area 51 and activates it (step S71). Next, the application execution unit 11 designates a UI definition file that defines a UI to be used first by the started application (hereinafter referred to as “current application” as appropriate) to the UI generation unit 13 (step S72). The UI generation unit 13 reads the designated UI definition file from the UI definition file storage area 52, generates a UI based on the read UI definition file, and displays it on the display unit 24 (step S73). Note that the processing for generating and using the UI is performed based on the processing described with reference to FIGS. 15 and 16.
  • the application execution unit 11 determines whether or not an event due to a user operation input to the input unit 22 has occurred with respect to the displayed UI, and if the event has occurred (Yes in step S74), the event is generated.
  • the processed event is processed in the UI currently being displayed (step S75).
  • the application execution unit 11 determines whether or not the processing of the event is completed only with the UI that is currently displayed (step S76), and the processing of the event is completed with only the UI that is currently displayed. If so, the process returns to step S74 to continue the process. However, if the event is not completed with only the current UI (No in step S76), the application execution unit 11 performs event processing using the application function (step S77).
  • step S78 determines whether or not switching to another UI is necessary. It is determined whether the application needs to be activated (step S79). If it is not necessary to start another application, the application execution unit 11 determines whether or not it is necessary to end the current application (step S80). If it is not necessary to end the current application, the process returns to step S74 to perform processing. continue. However, if it is determined in step S80 that the current application needs to be terminated, the application execution unit 11 performs an application termination process (step S81). This application termination processing includes processing for discarding the UI currently being displayed.
  • step S78 the application execution unit 11 discards the UI currently being displayed and determines the UI that the current application requires next. .
  • the application execution unit 11 reads out a UI definition file that defines the necessary UI from the UI definition file storage area 52 and designates it to the UI generation unit 13 (step S82). .
  • the UI generation unit 13 Based on this designation, the UI generation unit 13 generates a new UI and displays it on the display unit 24 (step S83). This UI generation is also performed based on the processing described with reference to FIGS. 15 and 16.
  • the process returns to step S74 to continue the processing.
  • step S79 If it is determined in step S79 that another application needs to be activated, the application execution unit 11 determines and executes another application to be activated next (step S84). Further, the application execution unit 11 shifts the current application to the suspended state along with the execution of the other application (step S85).
  • the application execution unit 11 activates an application (composition UI execution application) for executing a UI based on the composition UI definition file generated by the processing described with reference to FIG. 3 (step S91).
  • the application execution unit 11 specifies a composite UI definition file used by the composite UI execution application to the UI generation unit 13 (step S92).
  • the UI generation unit 13 reads the designated composite UI definition file from the composite UI definition file storage area 56, generates a composite UI based on the read composite UI definition file, and displays the composite UI on the display unit 24 (step S93). ).
  • the application execution unit 11 activates an application related to the composite UI in the background based on the related application information read from the related application information storage area 55 (step S94).
  • the application execution unit 11 determines whether or not an event due to a user operation input to the input unit 22 has occurred with respect to the displayed composite UI, and when the event has occurred (Yes in step S95), The generated event is processed by the composite UI currently displayed (step S96). After this processing, the application execution unit 11 determines whether or not the processing of the event is completed only with the currently displayed composite UI (step S97), and processes the event with only the currently displayed composite UI. Is completed, the process returns to step S95 to continue the processing. However, if the event is not completed with only the current composite UI (No in step S97), the application execution unit 11 identifies an application that is activated in the background related to the UI object that is operated by the event (step S98). ). Thereafter, the application execution unit 11 performs event processing using the specified application function (step S99).
  • step S100 determines whether or not switching to another UI is necessary. It is determined whether or not the application needs to be activated (step S101). If it is not necessary to start another application, the application execution unit 11 determines whether or not the current application needs to be terminated (step S102). If it is not necessary to terminate the current application, the process returns to step S95 to perform the process. continue. However, if it is determined in step S102 that the current application needs to be terminated, the application execution unit 11 performs a background activation application termination process related to the composite UI being displayed (step S103). The current application is terminated (step S104). This application termination processing also includes processing for discarding the UI currently being displayed. Other processing is the same as the processing described in FIG.
  • the present invention is not limited to the above-described embodiment, and many changes or modifications can be made.
  • the case has been described in which the process of synthesizing the UI is performed on a mobile terminal including a touch panel.
  • the touch panel is not an essential element.
  • the present invention can be applied to a terminal including any input unit that is supposed to be used by combining UIs, such as an input unit including a large number of mechanical keys or an input unit that performs input using another pointing device. .
  • the external device is remotely controlled by performing infrared communication using the infrared communication unit 40.
  • communication with the external device is not limited to infrared communication, for example, Bluetooth (registered trademark).
  • short-range wireless communication such as a wireless LAN may be employed.
  • the necessary UI definition file is appropriately acquired from the outside. You can also.
  • a UI definition file is designated from an application using a UI, it is determined whether or not a necessary UI definition file exists in the UI definition file storage area 52 or the combined UI definition file storage area 56.
  • the UI acquisition unit 12 of the control unit 10 transmits an external device or external server (not shown) via the wireless communication unit 30.
  • the necessary UI definition file is acquired from the above.
  • UI definition file As an example of the UI definition file used in each embodiment described above, an example of a file in the UIML format based on XML is shown below. The portion to which each UI object attribute information according to the present invention is added is underlined.
  • the UI object is defined by a ⁇ template> tag, and therefore the description between ⁇ template> to ⁇ / template> corresponds to the UI object definition information.
  • TV1_interface.uiml file is shown as a UI definition file constituting the TV remote control UI.
  • a light1_interface.uiml file is shown as a UI definition file that configures the lighting remote control UI.
  • a composite UI definition file for defining a composite UI composed of the selected UI objects generated based on the UI object definition information of the UI objects selected from a plurality of UIs described in FIG. is an excerpt from a sample file.
  • the generated composite UI is composed of only UI objects desired by the user, and a UI can be generated in which all unnecessary UI objects are omitted.
  • a plurality of UIs can be used simultaneously without switching.
  • the user's operation load can be greatly reduced.

Landscapes

  • Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)
  • Selective Calling Equipment (AREA)

Abstract

 携帯電話1は、アプリケーションプログラムに基づく所定の機能の実行を実行部11に指示するためのユーザインタフェースを生成する生成部13と、ユーザインタフェースのオブジェクトを定義する情報を含む定義ファイルを格納する記憶部50と、オブジェクトの選択を受け付ける画面を生成する選択画面生成部14と、を備え、選択画面生成部14は、指示された複数のユーザインタフェースのオブジェクト定義情報に基づき選択画面を生成し、生成部13は、選択されたオブジェクトの定義情報を含む定義ファイルを生成し、これに基づく合成ユーザインタフェースを生成することを特徴とする。

Description

ユーザインタフェース生成装置 関連出願の相互参照
 本出願は、2008年4月1日に出願された日本国特許出願2008-95558号の優先権を主張するものであり、この先の出願の開示全体をここに参照のために取り込む。
 本発明は、ユーザインタフェース生成装置に関し、特に、携帯端末のユーザインタフェースを生成するユーザインタフェース生成装置に関するものである。
 携帯電話に代表される携帯端末のユーザインタフェース(以下、適宜「UI」と略記する)は、ユーザが携帯端末を操作する際の操作性を大きく左右する。そのため、携帯端末のUIは、ユーザが携帯端末を購入する際の決め手となる重要な要素の1つになっている。
 近年、携帯端末は著しく多機能化し、それに伴いアニメーションや3Dの表現などを利用した表現力豊かなUIを備える携帯端末も多い。また、ユーザの嗜好に合わせてUIをカスタマイズできる携帯端末もあり、このような携帯端末は、ユーザにとっての利便性を著しく向上させている。
 従来の携帯端末は、各メーカ間および各機種間でUIのデザインや操作方法が異なるのが一般的であった。すなわち、UIは各端末機器に固有のものであり、端末ごとに機種依存性の高いUIを備えるものがほとんどであった。そのため、端末の開発を行う際に、他の端末のプログラムコードを再利用する場合、そのプログラムコードに対して必要なUI部分の変更は膨大になる。したがって、ある端末のプログラムコードを他の端末に移植するのは困難であった。
 そこで、最近では、XML(Extensible Markup Language)をベースにしたUIが導入されつつある。記述方式が共通化されたXMLファイルを用いてUIを表現することによって、プログラムコードの再利用が容易になり、他の機種へのUIの移植も可能になる。したがって、例えば、異なるメーカの異なる端末機種間でも同じUIを使用することができるなど、各端末からUIのみを独立させるように扱うことも可能になる。
 このような、XMLをベースにしたUIのうち代表的なものとして、TAT社(http://www.tat.se/)が開発したUI Foundationや、Acrodea社(http://www.acrodea.co.jp/)が開発したVIVID UIや、Qualcomm社(http://www.qualcomm.co.jp/)が開発したUI Oneなどを挙げることができる。
 また、近年の携帯端末は、端末本体の多機能化および高性能化に伴い、同時に複数のタスクを並行して実行できるマルチタスク処理に対応したOS(オペレーティングシステム)を実装したものが増えている。さらに、並行して同時に処理する複数のタスクにそれぞれの表示領域(ウィンドウ)を割り当てて、出力画面の表示を多重化するマルチウィンドウ機能に対応した携帯端末も普及しつつある。
 ところで、例えば特開2001-36652号公報には、赤外線通信部を備える携帯電話端末を用いて、赤外線通信により複数の外部機器を遠隔操作(制御)できるようにした技術が開示されている。この特開2001-36652号公報に記載の携帯電話端末は、外部機器との通信を行う外部制御部を備えている。この携帯電話端末は、外部の機器を遠隔制御するための外部機器制御情報を、電話回線などを介して取得したり、または外部機器から受信するなどして記憶し、この外部機器制御情報に基づいて外部機器を遠隔制御することができる。すなわち、内蔵のアプリケーションプログラム(以下、単に「アプリケーション」という)を変更することで、通常は携帯電話として使用する端末本体を、複数の外部機器を遠隔操作するリモートコントロール(以下、単に「リモコン」という)端末として用いることができる。
 上記特開2001-36652号公報に開示されている携帯電話端末によれば、各外部機器に対応するそれぞれの外部機器制御情報に基づいて、1台の携帯電話端末で複数の外部機器を遠隔操作できる。したがって、複数の外部機器のそれぞれについて個別のリモコン端末を複数使い分ける煩雑な操作が必要なく、ユーザにとっての利便性を高めることができる。
 このような、遠隔制御する複数の外部機器を切り替えるリモコン機能を、上述したマルチタスク処理が可能な携帯端末にて実現すれば、各リモコンのアプリケーションをいちいち一旦終了させて次のリモコンのアプリケーションを起動させる必要はない。すなわち、複数のアプリケーションを1つの端末で同時に起動させて、その中から、使いたい任意のリモコンのアプリケーションに適時切り替えて使用できる。
 しかしながら、複数のアプリケーションを頻繁に切り替えて使用する場合には、その切り替え操作は煩雑なものとなる。
 そこで、携帯端末に上述したマルチウィンドウの機能を組み合わせれば、複数のウィンドウに、複数のアプリケーションを操作するUIをそれぞれ再現することも可能になる。このようにすれば、複数のアプリケーションを切り替えて使用するのではなく、1画面上で同時に使用できる。
 例えば、図19(A)に示すような、テレビのリモコン端末単独であれば、図19(B)に示すように、例えばタッチパネル200を備える携帯端末100上に、テレビリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。なお、図19(A)のリモコン端末において、テンキーなどのキーやボタンは機械式のキーであるが、図19(B)の携帯端末100においては、テンキーなどを描画して再現したオブジェクトをタッチパネル200に表示している。また、図19(C)に示すような、エアコンディショナーのリモコン端末単独の場合も同様に、図19(D)のように、タッチパネル200を備える携帯端末100上に、エアコンディショナーリモコンアプリケーションのUIを、その操作性を維持したまま再現できる。さらに、それぞれのアプリケーションのUIを、XMLをベースとして記述すれば、他メーカの端末などにアプリケーションを移植しても、UIを記述したXMLのファイルを加工するだけでほとんど同じUIを容易に再現できる。
 しかしながら、上述の例において、テレビの視聴中にエアコンディショナーの操作を行う場合に、テレビもエアコンディショナーも頻繁な操作を要する状況も想定される。このような場合、両方のリモコンのアプリケーションを、マルチタスクおよびマルチウィンドウの機能を用いて、表示部の表示領域を分割して同時に表示したとする。この場合、各アプリケーションは単独で使用することを想定したUIしか備えていないため、各UIをそのまま同時表示すると、図20(A)~(D)に示すような状態になる。
 図20(A)~(D)は、マルチタスクおよびマルチウィンドウの機能を実装した携帯端末100で2つのアプリケーションのUIを同時表示した様子を示す図である。図に示す例においては、タッチパネル200の表示部の表示を上下に分割した各ウィンドウ内で、それぞれのUIをそのまま再現したため、各UIとも一部しか表示されていない。画面上に表示しきれない部分の操作を行うために、各ウィンドウの右端にはスクロールバーを備えている。
 例えば図20(A)に示す状態で、テレビの音量を調節したい場合には、ユーザは、テレビリモコンUIのウィンドウのスクロールバーを移動して、図20(B)に示すようにテレビリモコンUIの表示範囲を移動させなくてはならない。同様に、例えば図20(C)に示す状態で、エアコンディショナーの温度を調節したい場合、ユーザは、エアコンディショナーリモコンUIのウィンドウのスクロールバーを移動して、図20(D)に示すようにエアコンディショナーリモコンUIの表示範囲を移動させなくてはならない。このように、UIを構成する各種キーまたはボタンおよび情報表示箇所など(以下、「UIオブジェクト」という)のうち、ユーザが所望するものがUIの表示範囲に表示されていない場合には、絶えずその表示範囲を移動させる操作が必要になる。さらに、マルチウィンドウで複数のアプリケーションを起動する場合、UIを重畳表示する際は、まず入力するウィンドウを選択してアクティブにしてから入力操作を開始しなくてはならない。
 特に、携帯端末の場合は、端末本体が非常に小さく設計されるため、タッチパネルで構成するUIの場合も物理的なキーで構成するUIの場合も、UIとして利用できる領域は極めて制限されている。したがって、リモコンなどのアプリケーションのUIを構成する操作部は、もともと最小に近い大きさで設計されるのが一般的である。そのため、複数のアプリケーションのUIを同時表示する際に、各UIをそれぞれ全体的に縮小して同時に表示すると、各UIオブジェクトが小さくなり過ぎて、各UIの操作性が著しく低下する恐れもある。このように一画面用にデザインされたUIをマルチウィンドウで表示した場合、その操作性は悪化してしまう。
 また、端末を使用しているユーザにとっては、このように一画面用にデザインされたUIを構成するUIオブジェクトの全てが必要とは限らない。ユーザにとって必要のないUIオブジェクトがUIに含まれていると、そのUIオブジェクトは操作の妨げになり、UI全体としての操作性を低下させる恐れもある。
 したがって、かかる事情に鑑みてなされた本発明の目的は、複数のアプリケーションプログラムのユーザインタフェースを同時に実現するに際し、選択されたUIオブジェクトのみによってUIを合成し、かつ各ユーザインタフェースの操作性を維持できるユーザインタフェース生成装置を提供することにある。
 上記目的を達成する第1の観点に係るユーザインタフェース生成装置の発明は、
 アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
 前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
 前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納する記憶部と、
 前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部と、を備え、
 前記選択画面生成部は、複数のユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
 前記ユーザインタフェース生成部は、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト定義情報を含む合成ユーザインタフェース定義ファイルを生成し、当該合成ユーザインタフェース定義ファイルに基づく合成ユーザインタフェースを生成することを特徴とするものである。
 第2の観点に係る発明は、第1の観点に係るユーザインタフェース生成装置において、
 前記ユーザインタフェースオブジェクト定義情報は、当該ユーザインタフェースオブジェクトと、当該ユーザインタフェースオブジェクトを構成要素とするユーザインタフェースを構成する他のユーザインタフェースオブジェクトとの関係を示す情報からなるユーザインタフェースオブジェクト属性情報を含み、
 前記ユーザインタフェース生成部は、複数のユーザインタフェースの合成が指示された場合、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト属性情報、および当該ユーザインタフェースオブジェクトが所属するユーザインタフェースの識別情報に基づき、前記合成ユーザインタフェースにおける前記ユーザインタフェースオブジェクトの配置を決定することを特徴とするものである。
 第3の観点に係る発明は、第2の観点に係るユーザインタフェース生成装置において、
 前記選択画面において選択されるユーザインタフェースオブジェクトの前記合成ユーザインタフェースにおける占有率を、前記ユーザインタフェースオブジェクト属性情報に基づいて積算する占有率積算部をさらに備え、
 前記選択画面生成部は、前記占有率積算部により積算された合成ユーザインタフェースにおける占有率が所定値を超えた場合、当該所定値を超えた際に前記選択画面において選択されたユーザインタフェースオブジェクトの選択を解除すると共に、当該ユーザインタフェースオブジェクトの選択は困難である旨を報知することを特徴とするものである。
 さらに、第4の観点に係る発明は、第1~第3のいずれか1つの観点に係るユーザインタフェース生成装置において、
 前記記憶部は、前記選択画面において選択されたユーザインタフェースオブジェクトに基づいて生成された合成ユーザインタフェース定義ファイルを前記記憶部に格納し、
 前記アプリケーションプログラム実行部は、前記記憶部に格納された合成ユーザインタフェース定義ファイルに基づいて合成ユーザインタフェースを起動する際に、当該合成ユーザインタフェースを構成する各ユーザインタフェースオブジェクトに対応するアプリケーションプログラムを特定する関連アプリケーションプログラム情報に基づいて、対応するアプリケーションプログラムをバックグラウンドで起動することを特徴とするものである。
本発明のユーザインタフェース生成装置の概略構成を示すブロック図である。 本発明の関連アプリケーションプログラム情報の例を示す図である。 本発明の合成ユーザインタフェースを生成する処理全体を説明するフローチャートである。 本発明のユーザインタフェース合成の際にユーザインタフェースを選択する条件を説明する図である。 本発明のユーザインタフェース合成の際にユーザインタフェースを選択する条件を説明する図である。 本発明のユーザインタフェース合成の際に表示するユーザインタフェースオブジェクト選択画面の例を示す図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェースオブジェクト選択画面の動作を説明する図である。 本発明のユーザインタフェース定義ファイルの例を示す図である。 本発明のアプリケーションプログラム別ユーザインタフェース管理テーブルの例を説明する図である。 本発明のユーザインタフェース生成装置のユーザインタフェース生成部が行う処理を説明するフローチャートである。 本発明のユーザインタフェース生成装置のユーザインタフェース生成部が行うユーザインタフェース生成処理をさらに説明するフローチャートである。 本発明のユーザインタフェース生成装置にてアプリケーションプログラムを単体で実行する場合の処理全体を説明するフローチャートである。 本発明の合成ユーザインタフェースによりアプリケーションプログラムを実行する際の処理全体を説明するフローチャートである。 従来のリモートコントロール端末を携帯端末のユーザインタフェースで再現した状態を示す図である。 従来の携帯端末にて2つのユーザインタフェースを合成した例を示す図である。
符号の説明
1 携帯電話
10 制御部
11 アプリケーションプログラム実行部
12 ユーザインタフェース取得部
13 ユーザインタフェース生成部
14 ユーザインタフェースオブジェクト選択処理部
15 ユーザインタフェースリソース整形部
16 合成ユーザインタフェース定義ファイル生成部
20 タッチパネル
22 入力部
24 表示部
30 無線通信部
40 赤外線通信部
50 記憶部
51 アプリケーションプログラム記憶領域
52 ユーザインタフェース定義ファイル記憶領域
53 個別ユーザインタフェースリソース記憶領域
54 共通ユーザインタフェースリソース記憶領域
55 関連アプリケーションプログラム情報記憶領域
56 合成ユーザインタフェース定義ファイル記憶領域
 以下、本発明の各実施の形態について、図面を参照して説明する。以下の各実施の形態では、本発明のユーザインタフェース(以下、「UI」と記す)生成装置の一例として、各種外部機器の遠隔制御が可能なリモコン機能を実装した携帯電話を想定して説明する。しかしながら、本発明のUI生成装置は携帯電話に限定されるものではなく、例えばノートパソコンやPDAなどの任意の携帯端末などに適用することができる。また、本発明の実装を必要とする装置であれば、携帯端末にも限定されることはない。なお、本発明は、複数のUIを同時に使用できるように合成することを主目的とするものであり、各UIにより指示を受けるアプリケーションはリモコン機能に限定されるものではなく、任意の各種アプリケーションに適用することができる。
 図1は、本発明の実施の形態に係るUI生成装置である携帯電話の概略構成を示すブロック図である。
 携帯電話1は、全体を制御する制御部10と、ユーザからの入力を受け付けると共に、各アプリケーションに応じて入力結果などの表示を行うタッチパネル20とを備えている。タッチパネル20は、ユーザからの入力を受け付けるマトリクススイッチなどで構成した入力部22を、液晶ディスプレイなどで構成した表示部24の前面に重畳させて構成する。表示部24は、アプリケーションプログラムに関する表示をする他、ユーザの操作入力を受け付ける各種キーやボタンなどのUIを所定のUI表示領域に描画して表示する。
 また、携帯電話1は、図示しない基地局と音声通話および電子メールのデータなど各種情報を送受信する無線通信部30と、図示しない各種外部機器と赤外線により通信を行う赤外線通信部40とを備えている。無線通信部30を用いて、携帯電話1は、インターネットや無線等を介して端末外部と各種データの送受信を行う。
 さらに、携帯電話1は、入力された情報および各種アプリケーション等を記憶したり、ワークメモリなどとしても機能する記憶部50を有する。記憶部50は、アプリケーション記憶領域51と、UI定義ファイル記憶領域52と、個別UIリソース記憶領域53と、共通UIリソース記憶領域54と、関連アプリケーション情報記憶領域55と、合成UI定義ファイル記憶領域56とを含む。
 なお、制御部10は、アプリケーション実行部11と、UI取得部12と、UI生成部13と、UIオブジェクト選択処理部14と、UIリソース整形部15と、合成UI定義ファイル生成部16とを含んでいる。
 制御部10において、アプリケーション実行部11は、記憶部50のアプリケーション記憶領域51に保存された各種アプリケーションを読み出して実行すると共に、当該実行に関する制御を行う。また、アプリケーション実行部11は、アプリケーション記憶領域51に保存された各種アプリケーションに対応するUIへの入力に基づいて、当該入力に対応する各種アプリケーションの機能を実行する。
 UI取得部12は、無線通信部30を介して端末の外部にあるリソース(画像データ等)およびUI定義ファイル(XMLファイルなど)を取得する。UI生成部13は、UI定義ファイルに対してパース処理(パーシング)およびDOM(Document Object Model)化処理などを行い、実際に使用するUIを生成する。なお、UI生成部13は、XMLの形式で記述されたUIの情報をXMLエンジンによって解釈し、UI定義ファイルに基づいて生成されたUIをタッチパネル20の表示部24に表示する。
 UIオブジェクト選択処理部14は、表示部24に描画するUIオブジェクトを定義するUIオブジェクト定義情報を解析することにより、ユーザによるUIオブジェクトの選択を受け付ける選択画面を生成する処理および制御を行う。以下、UIオブジェクトの情報を表示部24に表示して、ユーザによる選択を受け付ける画面を、「UIオブジェクト選択画面」または単に「選択画面」と記す。したがって、本実施の形態では、UIオブジェクト選択処理部14は選択画面生成部を構成する。さらに、UIオブジェクト選択処理部14は、表示部24の所定の表示領域に複数のUIを合成するよう指示されると、指定された複数のUI定義ファイルに基づいてUIの合成を行う。
 なお、UIオブジェクト選択処理部14は、UIオブジェクト選択画面上で、選択されたUIオブジェクトが占める占有率を積算する占有率積算部(図示せず)を含む。この占有率積算部は、各UIオブジェクトのUIオブジェクト定義情報に含まれるUIオブジェクト属性情報に基づいて、UIオブジェクトの占有率を積算する。
 UIリソース整形部15は、選択されたUIオブジェクトのプレビュー処理や、UIを合成する際に利用するリソースのデータの拡大または縮小処理などを行う。なお、この場合、個別UIリソース記憶領域53または共通UIリソース記憶領域54に記憶されているリソースのデータを読み出して使用する。合成UI定義ファイル生成部16は、UIオブジェクト選択処理部14によって合成されたUIを合成UI定義ファイルとして生成して出力する。
 記憶部50において、アプリケーション記憶領域51には、各種のアプリケーションを記憶する。UI定義ファイル記憶領域52には、各UI全体を生成する際の一連の生成ルールを定義するUI定義ファイルを記憶する。また、個別UIリソース記憶領域53は、各アプリケーション固有のUIの生成に使用する画像データや文字列(テキスト)データなどの個別UIリソースを記憶する。共通UIリソース記憶領域54は、各アプリケーション固有の個別UIリソース以外の、端末にて用いられるUIが共有して使用する画像データやフォントのデータなどの共通UIリソースを記憶する。実際にUIを生成する際には、個別UIリソース記憶領域53および共通UIリソース記憶領域54に記憶された画像データおよびテキストデータなどを、タッチパネル20の表示部24に表示する。
 さらに、合成UI定義ファイル記憶領域56は、合成UI定義ファイル生成部16が生成したUI定義ファイルを記憶する。また、関連アプリケーション情報記憶領域55には、各合成UI定義ファイルに関連するアプリケーションに対する起動情報などを含む関連アプリケーション情報を記憶する。なお、図2に、関連アプリケーション情報の一例を示す。図2において、表の左側に示した合成UI定義ファイルに対応する関連アプリケーションを、それぞれ表の右側に示してある。
 次に、本実施の形態にてUI定義ファイル記憶領域52に記憶するUI定義ファイルについて説明する。
 記憶部50のUI定義ファイル記憶領域52には、アプリケーション記憶領域51に記憶された各アプリケーションが実行される際に必要なUIの、当該アプリケーションに対応した各仕様および動作などを定義するUI定義ファイルが記憶される。異なるアプリケーションで同じUIを使う状況も考えられるが、ここでは説明の便宜のため、異なるアプリケーションに対してそれぞれ異なるUIを用いる場合を想定し、各アプリケーションにそれぞれ対応した各UI定義ファイルを保存している場合について説明する。例えば、図示しない外部機器であるテレビ受像機を携帯電話1にて遠隔制御するテレビリモコンアプリケーションに対応して、テレビリモコンUI定義ファイルをUI定義ファイル記憶領域52に記憶する。同様に、図示しない外部機器のエアコンディショナーを携帯電話1にて遠隔制御するエアコンディショナーリモコンアプリケーションに対応して、エアコンディショナーリモコンUI定義ファイルをUI定義ファイル記憶領域52に記憶する。
 本実施の形態では、UI定義ファイルを記述する言語の例として、XML言語をベースにしたUIML(User Interface Markup Language)の形式に従って説明する。このUIMLファイル形式で記述される定義に従って、UI生成部13は、携帯電話1のタッチパネル20の表示部24にUIを表示し、アプリケーション実行部11は、ユーザによる入力部22に対する入力に応じた処理を行う。
 本実施の形態によるUI定義ファイルには、表示部24に描画するUIオブジェクトを定義するUIオブジェクト定義情報を含ませる。UIオブジェクト定義情報は、表示部24に表示するUIを構成する要素であるキーまたはボタンなどのUIオブジェクトを描画するための画像およびテキストを定義する情報、および、そのUIオブジェクトに入力がされた際の(実際にはUIオブジェクトに対応する入力部22の部位に入力がされた際の)動作を定義する情報などで構成される。
 また、本実施の形態では、UIオブジェクトの位置に対応する入力部22に入力がされた際の動作を定義する情報として、UIオブジェクト定義情報に、各UIオブジェクトに対するイベント発生時に各アプリケーション実行部が実行すべき動作内容を示すアクション情報を含める。例えば、テレビリモコンUIの「電源」のUIオブジェクトの位置に対応する入力部22に対する入力のイベントが発生した場合、テレビリモコンアプリケーションに対して、外部機器のテレビの電源をONまたはOFFにする赤外線信号を発信する指示を出すようアクション情報で定義する。
 上述したように、UIオブジェクト定義情報は、複数のUIを合成する際に用いる各UIオブジェクトに関する情報であるUIオブジェクト属性情報を含む。このUIオブジェクト属性情報は、例えば、UIを構成する他のUIオブジェクトとの関係を示す情報、および、複数のUIを合成する際に各UIオブジェクトと他のUIオブジェクトとの関係に基づいて各オブジェクトが表示される優先度の情報など、各種の情報を付加できる。また、UI定義ファイルは、当該UI定義ファイルに対応するUIの識別情報を含む。UIの識別情報は、例えば当該UIの名称をテキスト情報として付加できる。
 次に、図3~図7を参照しながら、本実施の形態に係る携帯電話1による合成UI生成の一連の動作について説明する。
 本実施の形態では、複数のアプリケーションを使い分けて同時に使用することが必要になることをユーザが予め想定して、複数のUIからユーザによって選択されたUIオブジェクトのみを採用して、ユーザが所望するUIオブジェクトのみで構成される合成UIを生成する。このため、記憶部50には、アプリケーション記憶領域51に記憶されている各種のアプリケーションに対応する各UIのUI定義ファイルを、UI定義ファイル記憶領域52に予め記憶する。
 図3は、本実施の形態に係る携帯電話1による合成UI生成の一連の動作全体について説明するフローチャートである。
 まず、ユーザからの入力部22への操作入力などに基づいて、アプリケーション実行部11は、合成UIを生成する処理を行うためのアプリケーション(合成UI生成アプリケーション)を、アプリケーション記憶領域51から読み出して起動する(ステップS11)。この合成UI生成アプリケーションは、複数のUIから所望のUIオブジェクトだけを選択して合成UIを生成する処理が行えるように構成されたアプリケーションである。
 合成UI生成アプリケーションが起動されると、複数のUIからUIオブジェクトを選択するUIをユーザに指定させるために、UIオブジェクト選択処理部14は、選択対象となるUI定義ファイルを絞り込む条件を表示部24に表示して、ユーザによる条件指定を入力部22にて受け付ける(ステップS12)。
 すなわち、合成UI生成アプリケーションが起動されると、UIオブジェクト選択処理部14は、例えば図4(A)に示すような画面を表示部24に表示して、合成UIを生成するためのUIを選択する条件の、ユーザによる指定を受け付ける。図4(A)に示すように、入力部22にて例えば「取得時間順」がユーザにより選択されると、UIオブジェクト選択処理部14は、図4(B)に示すように、携帯電話1が取得したUI定義ファイルのUI名称を、画面上側から新しい順に表示する。ユーザは、列挙されたUI名称の中から採用したいUIオブジェクトが含まれるUIを選択することができる。UIオブジェクト選択処理部14が表示部24に表示するUI名称を列挙する際は、各UI定義ファイルが最初にUI定義ファイル記憶領域52に記憶される際に付加(または更新)される日時情報を参照することで、新しく取得した順に並べて表示することができる。
 また、図5(A)に示すように、入力部22にて例えば「機能別」がユーザにより選択されると、UIオブジェクト選択処理部14は、図5(B)に示すように、各UI定義ファイルのUI名称を、UIの機能別すなわちアプリケーション別(この例ではリモコンアプリケーションに対応する機器別)に分類して画面上に表示する。
 上述したものの他、合成UIを生成するUIを選択する条件としては、各UI(またはUIに対応するアプリケーション)を提供するメーカにより分類する「メーカ別」や、UI取得部12を介する等して携帯端末1がUI定義ファイルを取得した場所(例えば「自分の部屋」や「リビング」など)により分類する「取得場所」など、種々の条件が考えられる。以下の説明においては、図5(B)に示すようにUIの「機能別」の分類においてユーザがUIオブジェクトを選択する場合について説明する。
 なお、図5(A)に示すように、与えられた条件からユーザによる選択がされて、図5(B)のように選択された条件に基づいてUI定義ファイルのUI名称を表示する際、UIオブジェクト選択処理部14は、この選択によって絞り込まれた複数のUI定義ファイルの内容を解析し、その中に含まれるUIオブジェクト定義情報を抽出する(ステップS13)。このように、採用される可能性のあるUIオブジェクトのUIオブジェクト定義情報を抽出したら、これに基づいて、UIオブジェクト選択処理部14は、各UIが選択された際に、当該UIを構成する各UIオブジェクトの情報を表示する(ステップS14)。
 すなわち、図5(B)にてUI名称が示された各UI(例えば「エアコンディショナー」や「TV」など)が選択されると、各UIに対応するUI定義ファイルにおいて各UIオブジェクトの名称がテキスト情報として与えられている場合には、例えば図6(A)に示すように、当該UIを構成するUIオブジェクトのテキスト情報(各キーの名称)を表示する。この場合、UIオブジェクト選択処理部14は、UIオブジェクトの名称を表示するに際し、各UIオブジェクト定義情報に含まれるUIオブジェクトに関連するテキストデータを抽出して表示する。図6(A)は、図5(B)に示したUIのうち「エアコンディショナー」および「TV」を(チェックボックスを押下して入力する等して)選択し、エアコンディショナーリモコンアプリケーションおよびテレビリモコンアプリケーションのUIを構成する各UIオブジェクトの表示を展開した例を示す。
 選択されたUIの各UIオブジェクトの情報を表示したら、UIオブジェクト選択処理部14は、採用するUIオブジェクトのユーザによる選択を受け付ける。したがって、本実施の形態では、このように、UIオブジェクトの情報を表示部24に表示して、ユーザによる選択を受け付ける画面が、UIオブジェクト選択画面を構成する。
 図6(A)に示すように各UIを構成するUIオブジェクトの情報を表示する際、例えばエアコンディショナーリモコンアプリケーションのUIにおいて、「温度上」(温度上昇)のキーのみをユーザが選択することはなく、通常は「温度下」(温度下降)のキーと対にして採用するものと想定される。このように、リモコンアプリケーションのような用途に用いるUIには、対として用いるUIオブジェクトが多い。そのため、このような対として意味を成す複数のUIオブジェクトは、対として採用または不採用を決定できるようにするのが好適である。 
 このためには、UI定義ファイルに含まれるUIオブジェクト定義情報に、複数のUIオブジェクトが対(または同じグループ)であることを示す関連性情報をUIオブジェクト属性情報として付加し、その関連性情報(属性)の値によって、対であるUIオブジェクトを定義する。本明細書の末尾に示すXML形式によるUI定義ファイルの例の中では、このUIオブジェクト関連性情報を、属性(relate_ID)として示す。この属性(relate_ID)に同じ値を付加することにより、複数のUIオブジェクトを同じグループとして扱うことができる。
 このように、対になるUIオブジェクトを関連付けて表示することで、例えば図6(B)に示すように、関連するUIオブジェクトを、対として採用または不採用を決定できる。図6(B)に示す例では、エアコンディショナーリモコン用UIの「温度」および「風向」のUIオブジェクト、ならびにTVリモコン用UIの「選局」および「音量」のUIオブジェクトの名称を対として表示し、これらを対として採用または不採用が決定できる。これらのUIオブジェクトの名称をまとめて表示することで、表示スペースを節約し、選択画面の限られた表示領域を有効に活用できる。
 また、UI定義ファイルによっては、各UIを構成するUIオブジェクトの名称の全てがテキスト情報として与えられてはいない場合もある。このような場合、すなわち、表示すべきテキストデータが各UIオブジェクト定義情報に含まれていない場合、UIオブジェクト選択処理部14は、各UIに対応して個別UIリソース記憶領域53または共通UIリソース記憶領域54に格納されているリソースデータの中から、UIオブジェクトの画像データを読み出し、これを縮小して表示する。
 このようにすることで、UIオブジェクトの名称のテキスト情報がない場合でも、例えば図6(C)に示すように、UIを構成するUIオブジェクトをユーザに対して視覚的に表示することができる。図6(C)では、UIオブジェクト定義情報の中に、「表示ウィンドウ」および「ダイレクト選局キー」のUIオブジェクトに対応するテキスト情報がないため、当該UIオブジェクトの縮小画像を表示した例を示す。
 なお、携帯電話1の初期設定により、またはユーザの好みの設定に応じて、図6(D)に示すように、全てのUIオブジェクトに対して、UIオブジェクトの縮小画像を表示することもできる。各UIオブジェクトは、実際に表示部24に表示してUIとして使用する際には必ず画像を使用するため、当該UIオブジェクトが名称のテキスト情報を含んでいるか否かに関わらず、縮小画像を表示することができる。このようにテキスト情報だけでなく画像も表示することにより、ユーザにとっては一層視覚的にUIオブジェクトの選択ができる。図6(D)に示す例においても、UIオブジェクトの関連性情報を用いて、対として扱うべきUIオブジェクトをまとめて表示している。
 図6(A)~(D)のいずれかのようなUIオブジェクト選択画面を表示したら、UIオブジェクト選択処理部14は、ユーザによるUIオブジェクトの選択入力を受け付ける(ステップS15)。入力部22にユーザによる(チェックボックスを押下する入力等の)選択入力がされたら(ステップS15のYes)、UIオブジェクト選択処理部14は、選択されたUIオブジェクトが表示部24の所定のUI表示領域内で占める面積の割合の合計(以下、「積算画面占有率」という)を算出する(ステップS16)。この処理のため、各UIオブジェクトのUIオブジェクト定義情報には、UIオブジェクト属性情報として、各UIオブジェクトのUI表示領域における占有率を予め含ませる。
 この時、例えば図7(A)に示すUIオブジェクト選択画面から、図7(B)に示すようにUIオブジェクトが選択される際には、表示部24の最下端のソフトキー領域を除くUIオブジェクト選択画面の下端に、上述した積算画面占有率を棒グラフなどにより表示して示すのが好適である。図7(B)の例では、エアコンディショナーリモコン用UIから「電源」(占有率10%)および「表示ウィンドウ」(占有率30%)のUIオブジェクトを選択し、さらにTVリモコン用UIから「電源」(占有率10%)のUIオブジェクトを選択している。そのため、選択画面下端の棒グラフは、積算画面占有率が50%になることを示している。これは、実際にUIを合成して表示部24に表示した際に、UI表示領域の50%ぶんを占めるUIオブジェクトが現在選択されていることを示す。なお、図7においては、チェックボックスが黒色になっている場合に、そのUIオブジェクトが選択されていることを示している。
 図7(C)は、ユーザによる入力部22への更なる入力により、エアコンディショナーリモコン用UIから「温度上/温度下」(占有率15%)のUIオブジェクトが選択され、積算画面占有率が65%になったことを示している。このように、UIオブジェクトを順次追加するユーザによる入力を受け付けるが、積算画面占有率が所定の閾値(例えば100%)を超えると、合成したUIをUI表示領域に表示することができなくなるため、UIオブジェクト選択処理部14は、積算画面占有率が所定の閾値を超えたか否かをチェックする(ステップS17)。
 このようにして、積算画面占有率が所定の閾値を超えないうちは(ステップS17のNo)UIオブジェクトをまだ追加できるため、ステップS15に戻り、ユーザによる入力部22への更なる入力を受け付ける。しかしながら、UIオブジェクトが選択された際の積算画面占有率が所定の閾値を超える場合(ステップS17のYes)、当該UIオブジェクトは配置できないため、UIオブジェクト選択処理部14は、例えば図7(D)に示すような警告を表示部24に表示する(ステップS18)。
 なお、ステップS18の警告表示の代わりに、またはこの警告表示と合わせて、選択されると積算画面占有率が所定の閾値を超えてしまうUIオブジェクトについては、グレイアウト表示などをすることにより、選択できないようにすることもできる。図7(D)に示した選択画面では、選択すると100%を超えるUIオブジェクトについては、グレイアウト表示をすることにより選択できないことを示し、それでも当該UIオブジェクトを選択するユーザの入力があった場合に警告を表示する様子を示している。
 積算画面占有率の所定の閾値を超えて選択されたUIオブジェクトは、UIを合成する際に配置できないため、UIオブジェクト選択処理部14は、閾値を超えて選択したUIオブジェクトの選択を解除してから(ステップS19)、ステップS15に戻って他の(積算画面占有率が所定の閾値を超えない)UIオブジェクトの選択を受け付ける。
 このようにして、積算画面占有率の所定の閾値を超えないうちは、ユーザは複数のUIから自由に所望のUIオブジェクトを選択できる。なお、UIオブジェクトを選択する際、積算画面占有率を棒グラフで表示するだけでは実際の配置の様子を把握し難い場合も想定される。このような場合、例えば図8(A)に示す表示部24の右下端にあるソフトキーの「プレビュー」に対するユーザの入力に応じて、UIオブジェクト選択処理部14は、図8(B)に示すように、UIオブジェクトの現在時点での配置の様子を示すプレビュー表示を行うようにもできる。プレビュー表示ができるようにすれば、ユーザは、UIオブジェクトの実際の配置を確認しながら、UIオブジェクトの採用または不採用を決めることができる。
 また、ユーザがUIオブジェクトの採用または不採用を選択する際、他のUIオブジェクトをさらに追加したいなどの理由から、現在すでに選択しているUIオブジェクトを若干縮小したい場合も考えられる。このために、本実施の形態では、UIオブジェクト選択画面に例えば図9(A)に示すような表示をして、UIオブジェクトを縮小できるようにする。図9(A)において、例えばエアコンディショナーリモコンUIのUIオブジェクトである「電源」の占有率について、8[5~15]という表示は、現在の占有率は8%であるが、当該UIオブジェクトの占有率は5%から15%まで調整可能であることを意味する。その他のUIオブジェクトも含め、図9(A)では、図8に示した占有率よりも、各UIオブジェクトを全体的に縮小した様子を示している。図9(A)の状態で、上述したプレビュー表示を行うと、図9(B)に示すように、図8(B)のUIの表示よりも各UIオブジェクトが全体的に縮小されると共に、積算画面占有率を示す棒グラフも減少する。このような縮小は、現在選択されている複数のUIオブジェクト全てをまとめて縮小できるようにしてもよく、また各UIオブジェクト個別に縮小できるようにしてもよい。
 このようなUIオブジェクトの拡大および縮小処理は、UIオブジェクト選択処理部14が個別UIリソース記憶領域53または共通UIリソース記憶領域54から各UIオブジェクトを読み出した際に、UIリソース整形部15が行う。
 なお、このようにUIオブジェクトの縮小を行う場合、各UIオブジェクトの実用的な大きさを考慮して、占有率の上限値および下限値を設定しておくのが好適である。このような上限および下限の値は、UIオブジェクトの種別や使用するリソースに基づいて設定し、UIオブジェクト毎にUIオブジェクト定義情報として記憶する。これにより、各UIオブジェクトを縮小し過ぎて、かえって使い難いUIが生成されることは防止される。
 さらに、UIを配置したプレビュー画面とUIオブジェクト選択画面とをその都度切り替えて使用するのが煩わしい場合も想定される。このため、本実施の形態では、プレビュー表示の画面のままで、さらにUIオブジェクトを追加できるようにする。
 すなわち、例えば、図10(A)に示すプレビュー画面の状態で、表示部24の右下端にある「UI追加」のソフトキーに対するユーザの入力に応じて、図10(B)に示すようなUIオブジェクト追加の画面表示を行う。図10(B)に示す例では、まだ選択されていないUIオブジェクトをUIごとに分類して表示し、ユーザによる選択入力を受け付けている。図10の例では、UIオブジェクトを各アプリケーションに対応するUIごとに、タブ表示により分類して示している。なお、図10(B)におけるタブの表示において、「A/C」とは、エアコンディショナーを表している。
 この場合、ユーザの指によるタッチパネル20への入力に基づいて各UIオブジェクトをドラッグして移動できるようにし、図10(C)から(D)に連続して示すように、上方にドラッグする入力に基づいて当該UIオブジェクトが選択入力されるようにするのが好適である。このように選択されたUIオブジェクトについても、占有率を棒グラフに反映させる。各UIオブジェクトの配置に必要な領域は、UIオブジェクトの周囲を点線で囲むことで分かるようにする。UIオブジェクトの画像の周囲に少し余裕を持たせることで、多数のUIオブジェクトを隣接して配置する際にも一定の操作性を確保できる。
 このUIオブジェクト追加画面では、ユーザが各UIオブジェクトをドラッグすることで、UIオブジェクトの配置を自由に設定できる。図10(D)から図10(E)に示すように、ユーザがUIオブジェクトの位置を決めてタッチパネル20から指を離した時点でUIオブジェクトの位置を確定する。
 また、UIオブジェクトの中には、複数のUIオブジェクトの相互関係が対等ではなく、主従関係にあるものもある。例えば、テレビリモコンのUIでは、電源をONにすることなく選局や音量を調整する必要性は乏しいなど、大抵のリモコンでは、まず電源をONにしてから他の操作を行うものである。したがって、この場合、電源のオブジェクトを「主」として、電源ONの後で行う操作に係るオブジェクトを「従」と考えることができる。本実施の形態では、ユーザがUIオブジェクトを選択する際に、「主」となるUIオブジェクトを選択しないうちは、「従」となるUIオブジェクトを選択できなくすることもできる。
 例えば図11(A)に示すように、各UIにおいて、「電源」のUIオブジェクトが選択されないうちは、「電源」のUIオブジェクトに従属する関係の他のUIオブジェクトは選択できないようにグレイアウト表示にする。主となるUIオブジェクトである「電源」が選択されると、図11(B)に示すように、当該主となるUIオブジェクトに対して従属関係にある他のUIオブジェクトを選択できるようにする。
 このようにUIオブジェクトに主従関係を付けるには、UI定義ファイルに含まれるUIオブジェクト定義情報に、複数のUIオブジェクトが主従関係にあることを示すUIオブジェクト属性情報を付加する。このような処理を行うことで、各UIにおいて、ユーザが必要なUIオブジェクトを選択し忘れたり、また不要なUIオブジェクトを誤操作により選択してしまう恐れを低減できる。
 以上のようにしてUIオブジェクトの選択を受け付けている際に、ユーザによるUIオブジェクトの選択がなされない場合(ステップS15のNo)、UIオブジェクト選択処理部14は、UIオブジェクトの選択動作が終了したか否かの判定を行う(ステップS20)。例えば図12(A)に示す選択画面または図12(B)に示すプレビュー表示画面にて、ユーザによるソフトキーの「決定」に対する入力があれば、UIオブジェクトの選択動作が終了したと判定できる。ステップS20にてUIオブジェクトの選択動作が終了しない場合にはステップS15に戻り、ユーザによる入力部22への更なる入力を受け付ける。
 ステップS20においてUIオブジェクトの選択動作が終了した場合には、UIオブジェクト選択処理部14は、選択されたUIオブジェクトによる自動レイアウト処理を行う(ステップS21)。UIオブジェクトの配置は、ユーザの指定がない場合は、原則として、選択された順にUI表示領域の許す限り左上から自動的に配置する。例えば、図12(A)に示すように、複数のUIオブジェクトが積算画面占有率100%まで順次選択入力された場合、図12(B)に示すように、原則として選択された順番に従って、各UIオブジェクトを表示部24のUI表示領域に収まるように配置する。なお、各UIオブジェクトは単純に左詰めで配置するのではなく、UIオブジェクト定義情報などに基づき、関連性のあるUIオブジェクトをひとまとまりにして配置するのが好ましい。
 また、UIオブジェクトが自動的に配置された後も、UIオブジェクト選択処理部14の制御により、ユーザは、上述したように、プレビュー画面表示により、現在のUIオブジェクトの配置を適宜確認できる。この際にも、入力部22をドラッグするユーザの操作入力に基づいてUIオブジェクトの配置を変更できるようにする。
 選択したUIオブジェクトのレイアウトが完成したら、合成UI定義ファイル生成部16は、選択したUIオブジェクトのUIオブジェクト定義情報に基づいて、当該選択したUIオブジェクトで構成される複数の合成されたUIを定義する合成UI定義ファイルを生成する(ステップS22)。生成された合成UI定義ファイルは、XML形式の1つのファイルとして、記憶部50の合成UI定義ファイル記憶領域56に記憶する。そのファイルは、本明細書の末尾に示すXML形式によるUI定義ファイルのようになる。
 合成UI定義ファイルが生成されたら、合成UI定義ファイル生成部16は、合成UIとして選択されたUIオブジェクトに基づいて関連するアプリケーションの情報を生成する(ステップS23)。ここで生成する関連アプリケーション情報は、合成UIとして選択された各UIオブジェクトに対して入力があった際に、当該UIオブジェクトに関連するアプリケーションを制御するための情報である。選択されたUIオブジェクトに基づく関連アプリケーションの情報が生成されたら、合成UI定義ファイル生成部16は、当該関連アプリケーション情報を、合成UI定義ファイルと関連付けて関連アプリケーション情報記憶領域55に保存して(ステップS24)、合成UI生成の全体処理を終了する。
 この後は、合成UI定義ファイル記憶領域56に保存した合成UI定義ファイルを読み出すことにより、一度生成した合成UIを即座に使用できる。
 ここで、選択されたUIオブジェクトにより構成される合成UI定義ファイルに対応する関連アプリケーション情報の生成方法について説明する。
 関連アプリケーション情報の第1の生成方法として、各UI定義ファイルに含まれるアプリケーションの情報を収集して利用することにより行う方法がある。すなわち、図13に示すように、UI定義ファイル内には、当該UI定義ファイルにより生成されるUIを使用するアプリケーションの情報(application_used=“tvremoconapp”)が含まれている。制御部10は、合成UIの構成要素として選択されたUIオブジェクトを構成要素とするUIのUI定義ファイルから、当該UI定義ファイルにより生成されるUIを使用するアプリケーションの情報を収集して、図2に示したような、合成UIの関連アプリケーション情報55aを生成する。生成された関連アプリケーション情報55aは、対応する合成UI定義ファイルと対応付けてから、関連アプリケーション情報記憶領域55に記憶する。
 関連アプリケーション情報の第2の生成方法として、アプリケーション別にUIを管理するための予め記憶した一覧(テーブル)から、関連アプリケーションの情報を収集して利用することにより行う方法もある。すなわち、図14に示すように、各UI定義ファイルと、当該UI定義ファイルにより生成されるUIを使用するアプリケーションの情報とを対応付けたアプリケーション別UI管理テーブル57を、記憶部50に予め記憶する。制御部10は、アプリケーション別UI管理テーブル57を参照して、合成UIの構成要素として選択されたUIオブジェクトを構成要素とするUIのUI定義ファイルに対応するアプリケーションの情報を収集し、図2に示したような、合成UIの関連アプリケーション情報55aを生成する。この場合も、生成された関連アプリケーション情報55aは、対応する合成UI定義ファイルと対応付けてから、関連アプリケーション情報記憶領域55に記憶する。
 なお、1つのアプリケーションが複数のUIを備える場合もある。例えば、「電卓アプリケーション」は、四則演算などの基本的な計算を行うために必要最低限のキー(UIオブジェクト)が割り当てられた通常の電卓用UIと、三角関数やべき乗などの科学技術計算用のキー(UIオブジェクト)が割り当てられた関数電卓用UIとを備えている。この2種類のUIを切り替え可能にして提供することで、ユーザの目的に応じた電卓アプリケーションの機能を実行可能にしている。例えば、図14のアプリケーション別UI管理テーブル57では、アプリケーションの情報(アプリケーション名)に、アプリケーションが備えるUIの種別(UI_code)と当該UIのUI定義ファイル(UI定義ファイル名)とが対応付けられている。ここで、電卓アプリケーション「calculatorapp」には、それぞれ異なるUI定義ファイル(「Simple_calculator_interface.uiml」および「Function_calculator_interface.uiml」)に基づく通常の電卓用UIである「Simple_Cal_UI」と関数電卓用UIである「Function_Cal_UI」とが対応付けられている。
 このように、本実施の形態では、複数のUIから選択されたUIオブジェクトだけを採用して1つの合成UIを生成することができるため、ユーザにとって所望のUIオブジェクトのみで構成される合成UIを提供できる。図12(B)は、UI合成のレイアウトが完了した状態の一例を示す図である。この例では、ユーザの選択により、エアコンディショナーリモコン用UIと、テレビリモコン用UIと、照明A用UIとの3種類のUIから、ユーザにとって必要なUIオブジェクトのみを選択して、1つの合成UIを生成している。
 以上、合成UI生成の全体処理について説明したが、このように合成UI定義ファイルとして生成(準備)した合成UIを起動して実際に使用する際は、各UIオブジェクトを1つの合成UIとして表示部24に表示して使用できる状態にする必要がある。以下、携帯電話1にて、通常のUIまたは本実施の形態による合成UIを表示して使用できる状態にする際の、UI生成部13の動作全体について説明する。
 図15は、UI生成部13により、UI定義ファイルまたは合成UI定義ファイルからUIを生成して使用可能にする処理全体を説明するフローチャートである。まず、入力部22に対するユーザの操作入力などに基づいて、UIを表示する権限を持つアプリケーションからUI定義ファイル(XMLファイル)が指定されると、UIを生成して使用可能にする処理を開始する。なお、UIを表示する権限を持つアプリケーションは、携帯電話1にてバックグラウンド起動するものではなく、アプリケーションの最上位にて動作するものである。
 次に、UI生成部13は、指定されたUI定義ファイルをUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56から読み出して、当該UI定義ファイルが合成UI定義ファイルか否かを判定する(ステップS31)。
 指定されたファイルが合成UI定義ファイルであると判定された場合、UI生成部13は、対象となる合成UI定義ファイルと関連付けて保存されている関連アプリケーション情報を、記憶部50の関連アプリケーション情報記憶領域55から取得する(ステップS32)。次に、取得した関連アプリケーション情報に基づいて、UI生成部13は、アプリケーション実行部11に対して、関連するアプリケーションをバックグラウンドで起動するよう指示する(ステップS33)。
 この後、UI生成部13は、指定された合成UI定義ファイルに対してXMLパース処理(ステップS34)およびDOM化処理(ステップS35)を行う。さらに、UI生成部13は、パース処理およびDOM化処理を行ったUI定義ファイルに基づいて、UIを生成する処理を行う(ステップS36)。なお、ステップS36のUI生成処理については後述する。次に、UI生成処理により生成されたXMLファイルのUIに基づいて、UI生成部13は、タッチパネル20の表示部24のUI表示領域にUIを表示する処理を行い(ステップS37)、これによりUIは使用可能になる。したがって、本実施の形態では、UI生成部13と合成UI定義ファイル生成部16とを含めて、ユーザインタフェース生成部を構成する。
 なお、ステップS31にて、指定されたファイルが合成UI定義ファイルでないと判定された場合は、ステップS34に移行し、これ以降は上述した処理と同じになる。この場合、処理されるUI定義ファイルは、合成UI定義ファイルではなく、UI定義ファイル記憶領域52から読み出された単一のUI用のUI定義ファイルになる。
 次に、図16のフローチャートを参照しながら、図15におけるステップS36のUI生成処理についてさらに説明する。
 図16に示すUI生成処理の開始時点では、1つのUI定義ファイルに基づくUI、または複数のUI定義ファイルに基づく合成UIのどちらかが、1つのDOMドキュメント(またはDOMノード)になっている。まず、UI生成部13は、DOMドキュメントに対して表示関連の解析を行う(ステップS51)。これは、UIML形式で記述されたUI定義ファイルでは、structureタグやstyleタグを付された属性などを解析する。次に、UI生成部13は、DOMドキュメントの動作関連について解析を行う(ステップS52)。これは、UIML形式で記述されたUI定義ファイルでは、behaviorタグを付された属性などを解析する。
 次に、UI生成部13は、DOMドキュメントに含まれる表現を、各端末に依存する表現に変換処理を行う(ステップS53)。さらに、UI生成部13は、ステップS53の変換処理の結果に基づいて、使用するUIオブジェクトのリソースを選定して各属性(プロパティ)を設定する(ステップS54)。この際に必要なUIオブジェクトのリソースは、個別UIリソースとして個別UIリソース記憶領域53に、または共通UIリソースとして共通UIリソース記憶領域54に記憶されている。この後、UI生成部13は、各UIオブジェクトを含むUIのプロット処理を行う(ステップS55)。これによりUIの生成処理は終了し、この後は図15のステップS37に移行して、UIの表示処理を行う。
 このようにすることで、UI生成の際に指定されたUI定義ファイルが、複数のUIを合成する合成UI定義ファイルであっても、また複数のUIを合成しない単一UIのUI定義ファイルであっても、それぞれに応じた処理を行うことができる。すなわち、合成UI定義ファイルを処理する場合は、複数のUIを合成するためのアプリケーションの準備と共に合成UIが生成され、また単一UIのUI定義ファイルを処理する場合には、従来式に単一のUIが生成される。
 以上、UI生成部13によりUIを生成して使用可能にする処理全体について説明したが、このようにして生成した合成UIを起動して実際に使用する際には、同時に使用するUIにそれぞれ対応した各アプリケーションも同時に使用できる状態にしなくてはならない。このため、XMLファイル形式の合成UI定義ファイルを合成UI定義ファイル記憶領域56から読み出して起動したら、合成されたUIに関連する各アプリケーションをバックグラウンドで起動させておく等の処理が必要になる。
 以下、このための処理について説明するために、まず、図17のフローチャートを参照しながら、UIによって指示を受けるアプリケーションが1つであり、指示されたアプリケーションを単体で実行する際の全体処理について説明する。
 入力部22に対するユーザの入力により、メニュー画面などから起動したいアプリケーションが指定されると、アプリケーション実行部11は、指定されたアプリケーションをアプリケーション記憶領域51から読み出して起動する(ステップS71)。次に、アプリケーション実行部11は、起動したアプリケーション(以下、適宜「現アプリケーション」という)が最初に使用するUIを定義したUI定義ファイルをUI生成部13に指定する(ステップS72)。UI生成部13は、指定されたUI定義ファイルをUI定義ファイル記憶領域52から読み出し、当該読み出したUI定義ファイルに基づいて、UIを生成して表示部24に表示する(ステップS73)。なお、このUIを生成して使用可能にする処理は、図15および図16で説明した処理に基づいて行う。
 その後、アプリケーション実行部11は、表示したUIに対して、入力部22に対するユーザの操作入力などによるイベントが発生したか否かを判定し、当該イベントが発生した場合(ステップS74のYes)、発生したイベントを現在表示中のUIにて処理する(ステップS75)。この処理の後、アプリケーション実行部11は、現在表示中のUIのみにて当該イベントの処理が完結したか否かを判定し(ステップS76)、現在表示中のUIのみで当該イベントの処理が完結した場合、ステップS74に戻って処理を続行する。しかしながら、現在のUIのみで完結しないイベントであった場合(ステップS76のNo)、アプリケーション実行部11は、アプリケーションの機能を用いてイベント処理を行う(ステップS77)。
 ステップS77においてアプリケーションの機能を用いて処理する場合、アプリケーション実行部11は、別UIへの切り替えが必要か否かを判定し(ステップS78)、別UIへの切り替えが必要でない場合には、別アプリケーションの起動が必要か否かを判定する(ステップS79)。別アプリケーションの起動が必要ない場合には、アプリケーション実行部11は、現アプリケーションの終了が必要か否かを判定し(ステップS80)、現アプリケーションの終了が必要でない場合、ステップS74に戻って処理を続行する。しかしながら、ステップS80において現アプリケーションの終了が必要と判定された場合、アプリケーション実行部11は、アプリケーションの終了処理を行う(ステップS81)。このアプリケーションの終了処理は、現在表示中のUIを破棄する処理なども含む。
 一方、ステップS78にて、別UIへの切り替えが必要と判定された場合には、アプリケーション実行部11は、現在表示中のUIを破棄するとともに、現アプリケーションが次に必要とするUIを決定する。こうして必要なUIが決定されたら、アプリケーション実行部11は、当該必要なUIを定義するUI定義ファイルを、UI定義ファイル記憶領域52から読み出して、UI生成部13に対して指定する(ステップS82)。この指定に基づいて、UI生成部13は、新たなUIを生成して、表示部24に表示する(ステップS83)。なお、このUI生成も、図15および図16で説明した処理に基づいて行い、UIが生成され表示されたら、ステップS74に戻って処理を続行する。
 また、ステップS79にて、別アプリケーションの起動が必要と判定された場合、アプリケーション実行部11は、次に起動すべき別のアプリケーションを決定して実行する(ステップS84)。さらに、アプリケーション実行部11は、当該別のアプリケーションの実行と共に、現アプリケーションをサスペンド状態に移行させる(ステップS85)。
 このようにすることで、UIによって指示を受けるアプリケーションが1つの場合に、他のUIまたはアプリケーションにまたがるイベントが発生しても適切に処理を移行し、アプリケーションの動作を続行できる。
 次に、図18のフローチャートを参照しながら、合成UIによって指示を受けるアプリケーションが複数あり、指定された複数のアプリケーションを実行する際の全体処理について説明する。なお、図18に示す全体処理は、図17に示す全体処理と似た処理を含むため、同じ説明は適宜省略する。 
 まず、アプリケーション実行部11は、図3で説明した処理により生成された合成UI定義ファイルに基づくUIを実行する為のアプリケーション(合成UI実行用アプリケーション)を起動する(ステップS91)。次に、アプリケーション実行部11は、合成UI実行用アプリケーションが使用する合成UI定義ファイルをUI生成部13に指定する(ステップS92)。UI生成部13は、指定された合成UI定義ファイルを合成UI定義ファイル記憶領域56から読み出し、当該読み出した合成UI定義ファイルに基づいて、合成UIを生成して表示部24に表示する(ステップS93)。この合成UIの表示とともに、アプリケーション実行部11は、関連アプリケーション情報記憶領域55から読み出した関連アプリケーション情報に基づいて、合成UIに関連するアプリケーションをバックグラウンドで起動させる(ステップS94)。
 その後、アプリケーション実行部11は、表示した合成UIに対して、入力部22に対するユーザの操作入力などによるイベントが発生したか否かを判定し、当該イベントが発生した場合(ステップS95のYes)、発生したイベントを現在表示中の合成UIにて処理する(ステップS96)。この処理の後、アプリケーション実行部11は、現在表示中の合成UIのみにて当該イベントの処理が完結したか否かを判定し(ステップS97)、現在表示中の合成UIのみで当該イベントの処理が完結した場合、ステップS95に戻って処理を続行する。しかしながら、現在の合成UIのみで完結しないイベントであった場合(ステップS97のNo)、アプリケーション実行部11は、イベントにより動作したUIオブジェクトに関連する、バックグラウンド起動中のアプリケーションを特定する(ステップS98)。この後、アプリケーション実行部11は、特定したアプリケーションの機能を用いてイベント処理を行う(ステップS99)。
 ステップS99においてアプリケーションの機能を用いて処理する場合、アプリケーション実行部11は、別UIへの切り替えが必要か否かを判定し(ステップS100)、別UIへの切り替えが必要でない場合には、別アプリケーションの起動が必要か否かを判定する(ステップS101)。別アプリケーションの起動が必要ない場合には、アプリケーション実行部11は、現アプリケーションの終了が必要か否かを判定し(ステップS102)、現アプリケーションの終了が必要でない場合、ステップS95に戻って処理を続行する。しかしながら、ステップS102において現アプリケーションの終了が必要と判定された場合は、アプリケーション実行部11は、表示中の合成UIに関連するバックグラウンド起動中のアプリケーションの終了処理を行い(ステップS103)、その後、現アプリケーションの終了処理を行う(ステップS104)。このアプリケーションの終了処理も、現在表示中のUIを破棄する処理などを含む。その他の処理は、図17にて説明した処理と同様になる。
 このようにすることで、合成UIによって指示を受けるアプリケーションが複数の場合であっても、他のUIまたはアプリケーションにまたがるイベントが発生しても適切に処理を移行し、アプリケーションの動作を続行できる。
 なお、本発明は、上述した実施の形態にのみ限定されるものではなく、幾多の変更または変形が可能である。例えば、上述した実施の形態では、タッチパネルを備える携帯端末でUIを合成する処理を行う場合について説明した。しかしながら、本発明のUI合成処理においては、タッチパネルは必須の要素ではない。本発明は、例えば機械式のキーを多数備える入力部や、他のポインティングデバイスにより入力を行う入力部など、UIを合成して使用することが想定される任意の入力部を備える端末に適用できる。
 また、上述した実施の形態の携帯電話1は、赤外線通信部40により赤外線通信をすることで外部機器を遠隔制御したが、外部機器との通信は赤外線通信に限らず、例えばBluetooth(登録商標)や無線LANなどの近距離無線通信を採用してもよい。
 さらに、上述した実施の形態では、各アプリケーションに対応したUIのUI定義ファイルが予めUI定義ファイル記憶領域52に記憶された場合について説明したが、必要なUI定義ファイルを適宜外部から取得するようにもできる。この場合、UIを用いるアプリケーションからUI定義ファイルが指定された際、必要なUI定義ファイルがUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56に存在するか否か判定する。必要なUI定義ファイルがUI定義ファイル記憶領域52または合成UI定義ファイル記憶領域56に存在しない場合、制御部10のUI取得部12は、無線通信部30を介して、図示しない外部機器または外部サーバなどから、必要なUI定義ファイルを取得する。
 なお、上述した各実施の形態で用いるUI定義ファイルの一例として、以下にXMLをベースとしたUIML形式のファイルの例を示す。本発明による各UIオブジェクト属性情報を付加した箇所には下線を付してある。また、本例において、UIオブジェクトは<template>タグにより定義されており、したがって<template>~</template>の間の記載がUIオブジェクト定義情報に相当する。
 まず、テレビリモコンUIを構成するUI定義ファイルとして、TV1_interface.uimlのファイルの例を示す。
Figure JPOXMLDOC01-appb-I000001
Figure JPOXMLDOC01-appb-I000002
Figure JPOXMLDOC01-appb-I000003
 次に、エアコンディショナーリモコンUIを構成するUI定義ファイルとして、AIR1_interface.uimlのファイルの例を示す。
Figure JPOXMLDOC01-appb-I000004
Figure JPOXMLDOC01-appb-I000005
Figure JPOXMLDOC01-appb-I000006
 次に、照明リモコンUIを構成するUI定義ファイルとして、light1_interface.uimlのファイルの例を示す。
Figure JPOXMLDOC01-appb-I000007
Figure JPOXMLDOC01-appb-I000008
 さらに、図3で説明した、複数のUIから選択したUIオブジェクトのUIオブジェクト定義情報に基づいて生成した、選択したUIオブジェクトで構成される合成UIを定義する合成UI定義ファイルとして、comp1.uimlのファイルの例を一部抜粋して示す。
Figure JPOXMLDOC01-appb-I000009
Figure JPOXMLDOC01-appb-I000010
 本発明によれば、複数のUIを合成するに際し、選択されたUIオブジェクトのみを採用して、所定のUI表示領域に収まる1つの合成UIを生成できる。したがって、生成された合成UIは、ユーザが所望するUIオブジェクトのみで構成されることになり、不要なUIオブジェクトを全て省いたUIを生成することができる。このようにして生成された合成UIでは、複数のUIを切り替えることなく同時に使用することができる。さらに、マルチウィンドウの場合の様に表示領域(ウィンドウ)を選択する操作や、表示領域内にてスクロールバーを移動させる操作が必要ないため、ユーザの操作負荷を大幅に軽減できる。

Claims (4)

  1.  アプリケーションプログラムに基づいて各種の機能を実現するアプリケーションプログラム実行部と、
     前記アプリケーションプログラムに基づく所定の機能の実行を前記アプリケーションプログラム実行部に指示するためのユーザインタフェースを生成するユーザインタフェース生成部と、
     前記ユーザインタフェースの構成要素であるユーザインタフェースオブジェクトを定義するユーザインタフェースオブジェクト定義情報を含むユーザインタフェース定義ファイルを格納する記憶部と、
     前記ユーザインタフェースオブジェクト定義情報に基づき、前記ユーザインタフェースオブジェクトの選択を受け付ける選択画面を生成する選択画面生成部と、を備え、
     前記選択画面生成部は、複数のユーザインタフェースの合成が指示された場合、当該指示された複数のユーザインタフェースの各々に対応して前記記憶部に格納されるユーザインタフェース定義ファイルに含まれるユーザインタフェースオブジェクト定義情報に基づき前記選択画面を生成し、
     前記ユーザインタフェース生成部は、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト定義情報を含む合成ユーザインタフェース定義ファイルを生成し、当該合成ユーザインタフェース定義ファイルに基づく合成ユーザインタフェースを生成することを特徴とするユーザインタフェース生成装置。
  2.  前記ユーザインタフェースオブジェクト定義情報は、当該ユーザインタフェースオブジェクトと、当該ユーザインタフェースオブジェクトを構成要素とするユーザインタフェースを構成する他のユーザインタフェースオブジェクトとの関係を示す情報からなるユーザインタフェースオブジェクト属性情報を含み、
     前記ユーザインタフェース生成部は、複数のユーザインタフェースの合成が指示された場合、前記選択画面において選択されたユーザインタフェースオブジェクトのユーザインタフェースオブジェクト属性情報、および当該ユーザインタフェースオブジェクトが所属するユーザインタフェースの識別情報に基づき、前記合成ユーザインタフェースにおける前記ユーザインタフェースオブジェクトの配置を決定することを特徴とする、請求項1に記載のユーザインタフェース生成装置。
  3.  前記選択画面において選択されるユーザインタフェースオブジェクトの前記合成ユーザインタフェースにおける占有率を、前記ユーザインタフェースオブジェクト属性情報に基づいて積算する占有率積算部をさらに備え、
     前記選択画面生成部は、前記占有率積算部により積算された合成ユーザインタフェースにおける占有率が所定値を超えた場合、当該所定値を超えた際に前記選択画面において選択されたユーザインタフェースオブジェクトの選択を解除すると共に、当該ユーザインタフェースオブジェクトの選択は困難である旨を報知することを特徴とする、請求項2に記載のユーザインタフェース生成装置。
  4.  前記記憶部は、前記選択画面において選択されたユーザインタフェースオブジェクトに基づいて生成された合成ユーザインタフェース定義ファイルを前記記憶部に格納し、
     前記アプリケーションプログラム実行部は、前記記憶部に格納された合成ユーザインタフェース定義ファイルに基づいて合成ユーザインタフェースを起動する際に、当該合成ユーザインタフェースを構成する各ユーザインタフェースオブジェクトに対応するアプリケーションプログラムを特定する関連アプリケーションプログラム情報に基づいて、対応するアプリケーションプログラムをバックグラウンドで起動することを特徴とする、請求項1~3のいずれか1項に記載のユーザインタフェース生成装置。
PCT/JP2009/056199 2008-04-01 2009-03-26 ユーザインタフェース生成装置 Ceased WO2009123028A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
JP2010505806A JP5680404B2 (ja) 2008-04-01 2009-03-26 ユーザインタフェース生成装置
US12/935,376 US9497313B2 (en) 2008-04-01 2009-03-26 User interface generation apparatus
US15/276,849 US20170017377A1 (en) 2008-04-01 2016-09-27 User interface generation apparatus

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2008-095558 2008-04-01
JP2008095558 2008-04-01

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US12/935,376 A-371-Of-International US9497313B2 (en) 2008-04-01 2009-03-26 User interface generation apparatus
US15/276,849 Continuation US20170017377A1 (en) 2008-04-01 2016-09-27 User interface generation apparatus

Publications (1)

Publication Number Publication Date
WO2009123028A1 true WO2009123028A1 (ja) 2009-10-08

Family

ID=41135406

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2009/056199 Ceased WO2009123028A1 (ja) 2008-04-01 2009-03-26 ユーザインタフェース生成装置

Country Status (4)

Country Link
US (2) US9497313B2 (ja)
JP (1) JP5680404B2 (ja)
KR (1) KR20100127252A (ja)
WO (1) WO2009123028A1 (ja)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012033192A (ja) * 2011-10-20 2012-02-16 Toshiba Corp ユーザ端末及びそのアプリケーション管理方法
JP2012033103A (ja) * 2010-08-02 2012-02-16 Toshiba Corp ユーザ端末及びそのアプリケーション管理方法
JPWO2012053213A1 (ja) * 2010-10-20 2014-02-24 Necカシオモバイルコミュニケーションズ株式会社 データ処理端末、データ検索方法及び制御プログラム
CN104834515A (zh) * 2015-03-30 2015-08-12 百度在线网络技术(北京)有限公司 目标文件的生成方法
JP2017208112A (ja) * 2012-09-28 2017-11-24 パナソニックIpマネジメント株式会社 情報表示方法
JP2019174974A (ja) * 2018-03-27 2019-10-10 カシオ計算機株式会社 通信機器、通信機器の制御方法、およびプログラム

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2012140564A1 (en) * 2011-04-11 2012-10-18 Rakesh Sharrma System and method for mobile application development
US20140229847A1 (en) * 2011-10-13 2014-08-14 Lg Electronics Inc. Input interface controlling apparatus and method thereof
CN102541547B (zh) * 2011-12-22 2015-12-02 华为技术有限公司 一种为实现控制目标设备的处理方法和装置
WO2014128783A1 (ja) * 2013-02-20 2014-08-28 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ 携帯情報端末の制御方法及びプログラム
US9020568B2 (en) * 2013-04-11 2015-04-28 Panasonic Intellectual Property Management Co., Ltd. Mobile device
WO2015131947A1 (de) * 2014-03-06 2015-09-11 Siemens Aktiengesellschaft System zur erstellung und zum betrieb von softwareapplikationen
CN107003804B (zh) * 2014-11-21 2020-06-12 习得智交互软件开发公司 为提供原型设计工具的方法、系统及可进行非暂时性的计算机解读的记录媒介
JP2017010481A (ja) * 2015-06-26 2017-01-12 シャープ株式会社 コンテンツ表示装置及びプログラム
US10558436B2 (en) * 2016-01-25 2020-02-11 Adp, Llc Dynamically composing products using capsules
US10521502B2 (en) * 2016-08-10 2019-12-31 International Business Machines Corporation Generating a user interface template by combining relevant components of the different user interface templates based on the action request by the user and the user context
CN110868471B (zh) * 2019-11-18 2022-09-30 北京小米移动软件有限公司 设备构建方法、装置及存储介质
US11379089B2 (en) 2020-07-02 2022-07-05 Servicenow, Inc. Adaptable user interface layout for applications
USD1070894S1 (en) * 2023-07-31 2025-04-15 Wondermove Corp. Display screen with transitional graphical user interface

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000020295A (ja) * 1998-07-03 2000-01-21 Mitsubishi Electric Corp プログラム自動生成装置
JP2000194538A (ja) * 1997-04-14 2000-07-14 Matsushita Electric Ind Co Ltd ネットワ―ク制御システムおよびネットワ―ク端末およびコントロ―ル端末
JP2002278666A (ja) * 2001-03-22 2002-09-27 Toyoda Mach Works Ltd 設備制御用操作盤
JP2008009960A (ja) * 2006-05-31 2008-01-17 Ricoh Co Ltd 情報処理装置、プロセス制御方法、及びプロセス制御プログラム

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6211870B1 (en) * 1997-07-07 2001-04-03 Combi/Mote Corp. Computer programmable remote control
US7831930B2 (en) * 2001-11-20 2010-11-09 Universal Electronics Inc. System and method for displaying a user interface for a remote control application
JP2001036652A (ja) 1999-07-23 2001-02-09 Nippon Conlux Co Ltd 携帯電話機およびこれを利用した機器遠隔制御方法
KR100506199B1 (ko) * 2002-11-11 2005-08-05 삼성전자주식회사 무선 모바일 단말기에서 인디케이터 표시 제어 방법
JP2007536634A (ja) * 2004-05-04 2007-12-13 フィッシャー−ローズマウント・システムズ・インコーポレーテッド プロセス制御システムのためのサービス指向型アーキテクチャ
US8542323B2 (en) * 2007-12-21 2013-09-24 Sony Corporation Touch sensitive wireless navigation device for remote control
US9503562B2 (en) 2008-03-19 2016-11-22 Universal Electronics Inc. System and method for appliance control via a personal communication or entertainment device
KR101503493B1 (ko) * 2008-07-16 2015-03-17 삼성전자주식회사 위젯 콘텐츠를 이용한 기기 제어 방법 및 그 방법을수행하는 원격 제어 장치

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2000194538A (ja) * 1997-04-14 2000-07-14 Matsushita Electric Ind Co Ltd ネットワ―ク制御システムおよびネットワ―ク端末およびコントロ―ル端末
JP2000020295A (ja) * 1998-07-03 2000-01-21 Mitsubishi Electric Corp プログラム自動生成装置
JP2002278666A (ja) * 2001-03-22 2002-09-27 Toyoda Mach Works Ltd 設備制御用操作盤
JP2008009960A (ja) * 2006-05-31 2008-01-17 Ricoh Co Ltd 情報処理装置、プロセス制御方法、及びプロセス制御プログラム

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2012033103A (ja) * 2010-08-02 2012-02-16 Toshiba Corp ユーザ端末及びそのアプリケーション管理方法
JPWO2012053213A1 (ja) * 2010-10-20 2014-02-24 Necカシオモバイルコミュニケーションズ株式会社 データ処理端末、データ検索方法及び制御プログラム
JP2012033192A (ja) * 2011-10-20 2012-02-16 Toshiba Corp ユーザ端末及びそのアプリケーション管理方法
JP2017208112A (ja) * 2012-09-28 2017-11-24 パナソニックIpマネジメント株式会社 情報表示方法
CN104834515A (zh) * 2015-03-30 2015-08-12 百度在线网络技术(北京)有限公司 目标文件的生成方法
JP2019174974A (ja) * 2018-03-27 2019-10-10 カシオ計算機株式会社 通信機器、通信機器の制御方法、およびプログラム
JP7286913B2 (ja) 2018-03-27 2023-06-06 カシオ計算機株式会社 通信機器、通信機器の制御方法、およびプログラム

Also Published As

Publication number Publication date
US20110035706A1 (en) 2011-02-10
JPWO2009123028A1 (ja) 2011-07-28
US9497313B2 (en) 2016-11-15
JP5680404B2 (ja) 2015-03-04
US20170017377A1 (en) 2017-01-19
KR20100127252A (ko) 2010-12-03

Similar Documents

Publication Publication Date Title
JP5680404B2 (ja) ユーザインタフェース生成装置
JP5406176B2 (ja) ユーザインタフェース生成装置
KR101276502B1 (ko) 유저 인터페이스 생성 장치
JP5200095B2 (ja) ユーザインタフェース生成装置
JP5431321B2 (ja) ユーザインタフェース生成装置
KR101256014B1 (ko) 유저인터페이스 생성장치
JP5518716B2 (ja) ユーザインタフェース生成装置
US20050184999A1 (en) Portable information apparatus, character display method in portable information apparatus, and program product for implementing the method
JP6003939B2 (ja) 画像処理連携システムと連携方法、携帯端末装置及び画像処理連携プログラム
JP4870601B2 (ja) 画面データ生成装置、画像処理装置、画面データ生成方法及びプログラム
WO2010052987A1 (ja) 情報処理装置及びプログラム
KR20100084037A (ko) Ui 제공 장치 및 방법
JPH1023117A (ja) 携帯電話装置
JP2007072728A (ja) 入出力装置、入出力システム、入出力方法、入出力制御プログラム、および記録媒体
KR20070075171A (ko) 휴대용 단말기의 숨김 기능을 이용한 메뉴표시 방법
HK1132053A (en) Portable terminal, display method, display mode determining program and computer readable recording medium

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 09728255

Country of ref document: EP

Kind code of ref document: A1

WWE Wipo information: entry into national phase

Ref document number: 2010505806

Country of ref document: JP

WWE Wipo information: entry into national phase

Ref document number: 12935376

Country of ref document: US

ENP Entry into the national phase

Ref document number: 20107021930

Country of ref document: KR

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 09728255

Country of ref document: EP

Kind code of ref document: A1