KR101276502B1 - 유저 인터페이스 생성 장치 - Google Patents

유저 인터페이스 생성 장치 Download PDF

Info

Publication number
KR101276502B1
KR101276502B1 KR1020117002147A KR20117002147A KR101276502B1 KR 101276502 B1 KR101276502 B1 KR 101276502B1 KR 1020117002147 A KR1020117002147 A KR 1020117002147A KR 20117002147 A KR20117002147 A KR 20117002147A KR 101276502 B1 KR101276502 B1 KR 101276502B1
Authority
KR
South Korea
Prior art keywords
alone
stand
user interface
information
definition file
Prior art date
Application number
KR1020117002147A
Other languages
English (en)
Other versions
KR20110022724A (ko
Inventor
가즈히로 야마모토
Original Assignee
쿄세라 코포레이션
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 쿄세라 코포레이션 filed Critical 쿄세라 코포레이션
Publication of KR20110022724A publication Critical patent/KR20110022724A/ko
Application granted granted Critical
Publication of KR101276502B1 publication Critical patent/KR101276502B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/147Digital output to display device ; Cooperation and interconnection of the display device with other functional units using display panels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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
    • 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/72466User interfaces specially adapted for cordless or mobile telephones with selection means, e.g. keys, having functions defined by the mode or the status of the device
    • 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
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/06Consumer Electronics Control, i.e. control of another device by a display or vice versa
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2370/00Aspects of data communication
    • G09G2370/24Keyboard-Video-Mouse [KVM] switch
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09GARRANGEMENTS OR CIRCUITS FOR CONTROL OF INDICATING DEVICES USING STATIC MEANS TO PRESENT VARIABLE INFORMATION
    • G09G2380/00Specific applications
    • 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
    • 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
    • H04M2250/00Details of telephonic subscriber devices
    • H04M2250/22Details of telephonic subscriber devices including a touch pad, a touch sensor or a touch detector

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (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)

Abstract

유저 인터페이스 생성 장치(1)는 .애플리케이션 프로그램을 저장하는 기억부(50)와, 단일 유저 인터페이스를 생성하도록 지시되면 스탠드-얼론 유저 인터페이스 오브젝트군을 표시하고, 스탠드-얼론 유저 인터페이스 오브젝트군으로부터 추출된 유저 인터페이스 오브젝트에 합성 처리를 실시하고, 합성된 유저 인터페이스 오브젝트군을 표시하도록 제어하는 제어부를 구비한다. 제어부(10)는, 복수의 유저 인터페이스를 생성하도록 지시되면, 복수의 유저 인터페이스의 각각을 혼자 생성하도록 지시받았을 때 표시되는 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하기 위해 유저 인터페이스 오브젝트를 표시한다.

Description

유저 인터페이스 생성 장치{USER INTERFACE GENERATION DEVICE}
본 출원은, 2008년 7월 30일에 출원된 일본 특허 출원 번호 2008-196620호에 대한 우선권과 그 이익을 주장하며, 참조를 위해 그 내용 전체가 여기에 포함되어 있다.
본 발명은, 유저 인터페이스 생성 장치에 관한 것이며, 특히, 휴대단말의 유저 인터페이스를 생성하는 유저 인터페이스 생성 장치에 관한 것이다.
휴대전화로 대표되는 휴대단말의 유저 인터페이스(이하, "UI"로 임의로 축약한다)는, 유저가 휴대단말을 조작할 때 조작성에 크게 영향을 미친다. 따라서, 휴대단말의 UI는, 유저가 휴대단말을 구입할 때의 중요 요인 중 하나이다.
최근, 휴대단말은 현저한 다기능을 가지며, 애니메이션 및 3D 디스플레이를 이용하는 그림같은 UI를 갖춘 다양한 휴대단말도 많다. 또한, 유저의 기호에 맞추어 UI를 커스터마이즈할 수 있는 휴대단말도 있다. 이러한 휴대단말은 유저에 대해 편리성을 현저하게 향상시키고 있다.
종래의 휴대단말은, 일반적으로 제조사 및 기종간에 UI의 디자인 및 조작 방법에 차이가 있다. 즉, UI는 각 단말 기기에 고유하며, 대부분의 종래의 휴대 단말은 모델에 대해 의존성이 매우 높은 UI를 갖는다. 그러므로, 단말을 개발하면서 또 다른 단말의 프로그램 코드가 재사용되는 경우, 프로그램 코드에 대해서 UI 부분에 방대한 변화를 가져 온다. 따라서, 어느 단말의 프로그램 코드를 다른 단말에 복사하는 것이 어려웠다.
이러한 문제를 해결하기 위해, XML(Extensible Markup Language)를 기반으로 하는 UI가 도입되고 있다. 기술 방식이 표준화된 XML 파일을 이용하여 UI를 표현함으로써, 프로그램 코드의 재이용이 용이하게 되어, 다른 기종에의 UI의 복사도 가능하게 된다. 따라서, 상이한 기종과 상이한 제조자의 단말에 의해 UI가 사용될 수 있도록 각 단말로부터 독립시켜 UI만을 취급하는 일도 가능하게 된다.
이러한, XML-기반 UI의 대표적인 것으로는, TAT(http://www.tat.se/)에 의해 개발된 UIFoundation이나, Acrodea, Inc.(http://www.acrodea.co.jp/)에 의해 개발된 VIVID UI, QuaIcomm사(http://www.qualcomm.co.jp/)에 의해 개발된 UI One등이 있다.
또, 최근의 휴대단말은, 단말 본체의 다기능화 및 고성능화에 수반해, 동시에 복수의 태스크를 병렬로 실행할 수 있는 멀티태스킹 처리를 실행할 수 있는 OS( Operating System)를 실장하는 수가 증가하고 있다. 또한, 병렬로 동시에 처리하는 복수의 태스크를 각각의 표시 영역(윈도우)에 할당함으로써, 출력 화면의 표시를 다중화하는 멀티 윈도우 기능을 갖는 휴대 단말이 널리 사용되고 있다.
그런데, 일본 특허 공개 번호 2001-36652호는 적외선 통신부를 갖춘 휴대전화 단말을 이용해, 적외선 통신에 의해 복수의 외부 기기를 원격 조작(제어)할 수 있는 기술을 개시한다. 일본 특허 공개 번호 2001-36652호에 개시된 휴대전화 단말은, 외부 기기와의 통신을 실시하는 외부 제어부가 구비되어 있다. 이 휴대전화 단말은, 외부의 기기를 원격 조정하기 위한 외부 기기 제어 정보를, 전화 회선등을 통해 취득하거나 또는 외부 기기로부터 수신하여 기억하고, 이 외부 기기 제어 정보에 근거해 외부 기기를 원격제어한다. 즉, 단말에 내장된 애플리케이션 프로그램(이하, 간단히 「애플리케이션」이라고 칭한다)을 변경하는 것으로, 통상은 휴대전화로 사용되는 단말 본체가, 복수의 외부 기기를 원격 제어하는 리모트 컨트롤러(이하, 간단히 「리모컨」이라고 한다)로서 이용할 수가 있다.
상기 일본 특허 공개 번호 2001-36652호에 개시되고 있는 휴대전화 단말에 따르면, 외부 기기에 대응하는 각각의 외부 기기 제어 정보에 근거해, 1대의 휴대전화 단말이 복수의 외부 기기를 원격 조작할 수 있다. 따라서, 사용자가 복수의 외부 기기에 대해 개별의 리모컨 단말을 구분하여 사용하는 번거로운 조작이 필요없고, 유저에게 있어서의 편리성을 높일 수가 있다.
원격 조정되는 복수의 외부 기기 사이에서 원격 전환하는 리모컨의 이러한 기능이 상술한 멀티태스킹 처리가 가능한 휴대단말에서 실현되면, 리모컨의 애플리케이션을 종료시키고 다음의 리모컨의 애플리케이션을 기동시킬 필요는 없다. 즉, 복수의 애플리케이션을 1개의 단말에서 동시에 기동시켜, 그 중에서, 사용하고 싶은 임의의 리모컨의 애플리케이션을 적시에 사용할 수 있다.
그렇지만, 복수의 애플리케이션을 빈번하게 바꾸어 사용하는 조작은 번잡한 것이 된다.
상술한 멀티 윈도우의 기능이 휴대 단말에 조합되어 있으면, 복수의 애플리케이션을 조작하는 UI를 복수의 윈도우에 각각 재현할 수 있다. 그럼으로써, 복수의 애플리케이션을 전환하는 것이 아니라, 단일 화면상에서 동시에 애플리케이션을 사용할 수 있다.
즉, 예를 들면, 도 12a에 나타내는 것 같은 텔레비전의 리모컨에 대해서, 예를 들면, 도 12b에 나타내는 것 같이, 예를 들면, 휴대단말(100)의 터치 패널(200)에, 텔레비전 리모컨 애플리케이션의 UI를, 텔레비전 리모컨 단말의 조작성을 유지한 채로 재현할 수 있다. 또한, 도 12a의 리모컨 단말의 숫자 키 등의 키나 버튼은 기계식의 키이지만, 도 12b에 나타낸 휴대단말(100)의 터치 패널(200)에 숫자 키나 버튼이 오브젝트로서 재생되어 표시되어 있다. 이하, 이와 같이, 터치 패널에 표시되는 UI를 구성하는 각종 키 또는 버튼 및 정보 표시 개소가 "UI 오브젝트"라고 칭해진다. 유사하게, 도 12c에 나타내는 것 같은, 에어 컨디셔너 리모컨 단말 단독의 경우에 대해서, 도 12d에 표시된 것같이, 휴대단말(100)의 터치 패널(200)에, 에어 컨디셔너 리모컨 애플리케이션의 UI를, 에어 컨디셔너 리모컨 단말의 조작성을 유지한 채로 재현할 수 있다. 또한, 각각의 애플리케이션의 UI가, XML를 베이스로서 기술되면, 타메이커의 단말 등에 애플리케이션을 복사해도, UI를 기술한 XML의 파일을 처리하는 것만으로 거의 동일한 UI가 용이하게 재현된다.
그렇지만, 상술의 예에서, 텔레비전의 시청중에 에어 컨디셔너를 조작하기 위해서는, 텔레비전과 에어 컨디셔너 모두에 대해 번거로운 조작을 필요로 할 수 있다. 이러한 경우, 텔레비전과 에어 컨디셔너 양쪽 모두의 애플리케이션이, 멀티태스크 기능 및 멀티 윈도우 기능을 이용해, 표시부의 표시 영역을 분할해 동시에 표시될 수 있다. 그러나, 각 애플리케이션은 단독 사용하는 것을 상정한 UI만 갖추고 있기 때문에, 각 UI를 동시에 표시하면, 도 13a~d에 나타내는 것 같은 표시가 된다.
도 13a~d는, 멀티태스크 기능 및 멀티 윈도우 기능을 실장한 휴대단말(100)을 이용해, 2개의 애플리케이션의 UI가 동시에 표시될 때의 상태를 나타내는 도면이다. 도면에 나타내는 예에서, 터치 패널(200)의 표시부를 수직으로 분할한 각 윈도우에서, 각각의 UI를 재현했기 때문에, 각 UI 모두 일부 밖에 표시되어 있지 않다. 스크린을 벗어난 부분의 조작을 실시하기 위해서, 각 윈도우의 우측에 스크롤 바를 갖추고 있다.
예를 들면 도 13a에 나타내는 상태에서, 텔레비전의 음량을 조절하기 위해, 유저는, 텔레비전 리모컨 UI의 윈도우의 스크롤 바를 이동해, 도 13b에 나타낸 것같이 텔레비전 리모컨 UI의 표시 범위를 이동시키는 것이 필요하다. 유사하게, 예를 들면 도 13c에 나타내는 상태에서, 에어 컨디셔너의 온도를 조절하기 위해, 유저는 에어 컨디셔너 리모컨 UI의 윈도우의 스크롤 바를 이동해, 도 13d에 나타내듯이 에어 컨디셔너 리모컨 UI의 표시 범위를 이동시키는 것이 필요하다. 또한, 멀티 윈도우 기능을 사용하여 복수의 애플리케이션을 기동하는 경우, 다른 UI 들의 위에 UI를 표시하도록 선택함으로써 윈도우를 액티브하게 하고 나서 입력 조작을 개시하는 것이 필요하다.
특히, 휴대단말의 단말 본체가 매우 작게 설계되기 때문에, 터치 패널로 구성되는 UI 또는 물리적인 키로 구성되는 UI에 의해 이용할 수 있는 영역은 매우 제한된다. 그러므로, 리모컨 등의 애플리케이션의 UI를 구성하는 조작부는 일반적으로 최소 크기로 설계된다. 따라서, 복수의 애플리케이션의 UI를 동시에 표시하도록 각 UI의 크기를 전체적으로 축소하는 것은 현실적이지 않다.
상기 서술된 것 같이, 전체 스크린을 차지하도록 설계되어 단독으로 사용되도록 상정된 UI(이하, 임의로 "스탠드-얼론 UI"라고 축약된다)가 멀티 윈도우 기능을 사용하여 표시되면, UI의 조작성은 악화되어 버린다.
이러한 문제를 해결하기 위해서, 각 스탠드-얼론 UI를 구성하는 또는 버튼의 UI오브젝트로부터 선택된 UI 오브젝트로 구성되는, 합성된 UI(이하, "합성 UI"라고 약기한다)를 생성하는 것이 고려될 수 있다. 예를 들면, 도 12b에 도시된 TV 리모컨 애플리케이션의 UI, 및 도 12d에 도시된 에어 컨디셔너 리모컨 애플리케이션으로부터 소정의 UI 오브젝트를 선택해, 도 14에 나타내는 것 같은 합성 UI를 생성하는 것이 고려된다. 도 14는 상술한 2개의 리모컨 애플리케이션 UI로부터 선택된 소정의 UI 오브젝트로 구성된 합성 UI를 터치 패널(200)에 표시하는 휴대 단말(100)의 예를 나타내고 있다.
이와 같이 UI를 합성하는 방법은, 사용 빈도가 높은 UI 오브젝트, 또는 유저가 사용을 소망하는 UI오브젝트를 선택해 합성 UI를 구성하게 할 수 있어서, 각 UI 오브젝트의 사용성, 즉 조작성을 희생해 축소하거나 할 필요는 없다.
그렇지만, 이와 같이 소정의 UI오브젝트를 선택해 합성 UI가 생성되면, 몇몇 UI 오브젝트는 합성 UI 생성시 선택되지 않고 남아 있는다. 예를 들면, 도 14의 휴대단말(100)의 터치 패널(200)에 표시된 합성 UI에서, 도 12d에 나타낸 에어 컨디셔너 리모컨 UI의 온도 조절용 UI 오브젝트(온도 + 및 온도-의 UI오브젝트)가 선택되지 않는다. 따라서, 이 합성 UI로 유저는 온도 조절을 실시할 수가 없다. 이러한 경우, 유저는, 현재 표시되고 있는 합성 UI 및 해당 합성 UI에 관련하는 애플리케이션을 종료시켜야 하고, 사용하고 싶은 UI 오브젝트를 포함한 스탠드-얼론 UI를 사용하는 애플리케이션을 기동시켜야 한다. 이러한 조작은 번거롭고 시간이 걸린다.
상기의 예에 있어서, 합성 UI의 생성시에, 에어 컨디셔너의 온도 조절과 같이 사용 빈도가 높다고 상정되는 UI오브젝트가 자동 선택되거나 또는 사용자가 원하는 UI 오브젝트를 선택하도록 하는 것이 고려된다. 그렇지만, 비록 그처럼 했다고 해도, 복수의 스탠드-얼론 UI로부터 선택된 UI오브젝트를 이용해 합성 UI를 생성하는 한, 선택되지 않았던 UI오브젝트에 대해서 유저가 입력을 바라는 경우에는, 같은 문제가 생기게 된다.
또, 합성 UI에 포함되지 않은 UI오브젝트를 표시시키기 위해 스탠드-얼론 UI를 사용하는 애플리케이션을 일단 기동시키면, 합성 UI로 되돌리기 위해, 스탠드-얼론 UI를 사용하는 애플리케이션을 종료시키고, 합성 UI를 사용하는 애플리케이션을 기동시키지 않으면 안 된다. 합성 UI에 포함되지 않는 스탠드-얼론 UI의 UI오브젝트를 사용할 때마다 이러한 조작을 실시하는 것은, 유저에게 있어서는 상당한 수고가 된다.
그러므로, 이러한 사정을 감안하여 본 발명의 목적은, 복수의 애플리케이션 프로그램의 유저 인터페이스를 합성한 뒤에도 간단한 조작으로 스탠드-얼론 유저 인터페이스에 입력을 실시할 수가 있는 유저 인터페이스 생성 장치를 제공하는 것에 있다.
상기 목적을 달성하기 위해, 제1 구성에 따른 유저 인터페이스 생성 장치는, 애플리케이션 프로그램을 저장할 수 있는 기억부; 및 상기 기억부에 저장된 애플리케이션 프로그램에 근거해 단일 유저 인터페이스를 생성하도록 지시되면 지시된 유저 인터페이스에 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군을 표시하도록 제어하고, 복수의 유저 인터페이스를 생성하도록 지시되면 지시된 복수의 유저 인터페이스에 각각 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군으로부터 추출된 유저 인터페이스 오브젝트를 합성 처리해 합성 유저 인터페이스 오브젝트군을 표시하도록 제어하는 제어부를 구비하며, 상기 제어부는, 복수의 유저 인터페이스를 생성하도록 지시되면, 복수의 유저 인터페이스의 각각을 단독 생성하도록 지시될 때 표시되는 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하기 위해 유저 인터페이스 오브젝트를 표시한다.
상기 목적을 달성하기 위해, 제2 구성에 따른 유저 인터페이스 생성 장치는, 애플리케이션 프로그램을 저장할 수 있는 기억부; 및 상기 기억부에 저장된 애플리케이션 프로그램에 근거해 단일 유저 인터페이스를 생성하도록 지시되면 지시된 유저 인터페이스에 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군을 표시하도록 제어하고, 복수의 유저 인터페이스를 생성하도록 지시되면 지시된 복수의 유저 인터페이스에 각각 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군으로부터 추출된 유저 인터페이스 오브젝트를 합성 처리해 합성 유저 인터페이스 오브젝트군을 표시하도록 제어하는 제어부를 구비하며, 상기 제어부는, 복수의 유저 인터페이스를 생성하도록 지시되면, 복수의 유저 인터페이스의 각각을 단독 생성하도록 지시될 때 표시되는 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하기 위한 액션을, 상기 추출된 임의의 유저 인터페이스 오브젝트에 연관시킨다.
본 발명의 제3 구성은, 제2 구성에 따른 유저 인터페이스 생성 장치에서, 상기 제어부는, 상기 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하는 액션을, 상기 추출된 유저 인터페이스 오브젝트 가운데 연관된 액션을 갖지 않는 유저 인터페이스 오브젝트에 신규의 액션으로서 연관시킨다.
본 발명의 제4 구성은, 제2 구성에 따른 유저 인터페이스 생성 장치에서, 상기 제어부는, 상기 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하는 액션을, 상기 추출된 임의의 유저 인터페이스 오브젝트에 추가의 액션으로서 연관시킨다.
도 1은 제1 실시예에 따르는 유저 인터페이스 생성 장치의 개략 구성을 나타내는 블럭도이다.
도 2는 본 발명에 따르는 유저 인터페이스 정의 파일의 구조를 설명하는 개념도이다.
도 3은 본 발명에 따르는 합성 유저 인터페이스 정의 파일의 구조를 설명하는 개념도이다.
도 4는 제1 실시예에 따르는 스탠드-얼론의 유저 인터페이스를 나타내는 도면이다.
도 5는 제1 실시예에 따르는 유저 인터페이스 오브젝트 속성 정보인, 우선도에 대한 정보를 나타내는 도이다.
도 6은 제1 실시예에 따르는 유저 인터페이스 생성의 전체 처리의 플로우차트(flow chart)이다.
도 7은 제1 실시예에 따르는 유저 인터페이스 생성 처리의 플로우차트이다.
도 8은 제1 실시예에 따르는 유저 인터페이스 합성 처리의 플로우차트이다.
도 9는 제1 실시예에 따르는 유저 인터페이스 합성 처리에 의해 2개의 스탠드-얼론 유저 인터페이스를 합성한 예를 나타내는 도면이다.
도 10은 제1 실시예에 따르는 유저 인터페이스에 이벤트가 발생했을 때 행해진 처리의 플로우차트이다.
도 11은 제2 실시예에 따르는 유저 인터페이스 합성 처리에 의해 2개의 스탠드-얼론 유저 인터페이스를 합성한 예를 나타내는 도면이다.
도 12는 휴대단말의 유저 인터페이스에 의해 재현된 종래의 리모트 콘트롤러 단말의 상태를 나타내는 도면이다.
도 13은 종래의 휴대단말에서 2개의 유저 인터페이스를 합성한 예를 나타내는 도면이다.
도 14는 휴대단말에서 2개의 스탠드-얼론 유저 인터페이스를 합성한 예를 나타내는 도면이다.
이하, 본 발명의 각 실시의 형태에 대해 첨부 도면을 참조해 설명한다. 이하 서술된 각 실시의 형태에서는, 각종 외부 기기의 원격 조정이 가능한 리모컨 기능을 실장한 휴대전화가 본 발명에 따르는 유저 인터 페이스(이하, 「UI」라고 칭한다) 생성 장치의 일례로서 사용된다. 그렇지만, 본 발명에 따르는 UI생성장치는 휴대전화로 한정되는 것은 아니고, 예를 들면 노트북이나 PDA 등의 어느 임의의 휴대단말 등에 적용될 수가 있다. 또한, 본 발명에 따르는 UI 생성 장치는 휴대 단말이 아니더라도, 실장을 필요로 하는 장치에 적용가능하다. 또한, 본 발명은, 복수의 UI를 동시에 사용할 수 있도록 합성하는 것을 주목적으로 하는 것이다. 그러므로, 각 UI에 의해 지시를 받은 애플리케이션은 리모컨 기능에 한정되는 것은 아니고, 각종 애플리케이션에 본 발명이 적용가능하다.
( 제1 실시예)
도 1은, 본 발명의 제1 실시예에 따르는 UI생성 장치인 휴대전화의 개략 구성을 나타내는 블럭도이다.
휴대전화(1)는, 전체를 제어하는 제어부(10)와 유저로부터의 입력을 수신하여, 각 애플리케이션에 따라서 입력 결과 등을 표시하는 터치 패널(20)을 포함한다. 터치 패널(20)은, 유저로부터의 입력을 받는 매트릭스 스위치 등으로 구성되고, 액정 디스플레이 등으로 구성된 표시부(24)의 가장 윗면에 배열된 입력부(22)를 갖는다. 터치 패널(20)의 입력부(22)는, 유저의 손가락 또는 스타일러스와 같은 펜형 입력 디바이스 등이 접촉하는 것을 검지함으로써, 이러한 접촉에 의한 입력에 대응하는 신호를 출력한다. 표시부(24)는, 애플리케이션 프로그램에 관해 스크린에 표시할 뿐 아니라, 유저의 입력을 받아들이는 각종 키나 버튼 등의 UI 오브젝트에 의해 구성되는 UI의 이미지를 소정의 UI표시 영역에 표시한다. UI표시 영역이란 UI오브젝트로부터 구성되는 UI를 표시하는 터치 패널(20)의 표시부(24)의 영역이다.
또한, 휴대전화(1)는, 기지국(도시 생략)과 음성 통화 및 전자 메일의 데이터 등 각종 정보를 인터넷이나 무선 등을 사용해 송수신하는 무선 통신부(30)와, 각종 외부 기기와 적외선에 의해 통신을 실시하는 적외선 통신부(40)를 갖추고 있다. 무선 통신부(30)를 이용해, 휴대전화(1)는, 인터넷이나 무선 회선등을 통해 외부 기기와 각종 데이터의 송수신을 실시한다.
또한, 휴대전화(1)는, 입력된 정보 및 각종 애플리케이션을 기억하거나 워크메모리로서 기능하는 기억부(50)를 더 포함한다. 기억부(50)는, 애플리케이션 기억 영역(51), UI 정의 파일 기억 영역(52), 개별 UI 자원 기억 영역(53), 공통 UI 자원 기억 영역(54), 관련 애플리케이션 정보 기억 영역(55), 및 합성 UI 정의 파일 기억 영역(56)을 포함한다.
또한, 제어부(10)는, 애플리케이션 실행부(11), UI 취득부(12), UI생성부(13), 타이머부(14), 및 UI 이벤트 처리부(15)를 포함한다.
제어부(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 생성부(13)는, 합성 UI를 포함하는 UI의 생성에 관한 각종 처리를 실시한다. UI 생성부(13)의 상세한 것에 대하여는 후술한다.
타이밍부(14)는, 카운터에 의해 시간의 길이를 계측할 수 있을 뿐 아니라, 현재 시각을 출력하거나, (미리 설정된) 소정의 시각의 도래를 통지한다. UI 이벤트 처리부(15)는, UI 생성부(13)가 생성한 UI에 대해서, 유저 조작에 의한 입력부(22)등에의 입력에 근거해 발생하는 이벤트를 처리함과 동시에, 애플리케이션 실행부(11)에 대해서, 적당, 각종 기능의 실행을 지시한다.
상술한 UI 생성부(13)는 복수의 UI정의 파일에 기초해 UI의 합성 처리를 실시하는 UI 합성 처리부(60)를 포함한다. 또, UI 합성 처리부(60)는, UI오브젝트 정의 정보 해석부(61), UI 오브젝트 선택처리부(62), 합성 UI 정의 파일 생성부(63), 자동 레이아웃 처리부(64), UI 자원 정형부(65), 및 스탠드-얼론 UI 기동 UI 오브젝트 생성부(66)를 포함한다.
UI 오브젝트 정의 정보 해석부(61)는 UI 정의 파일에 포함되는 각종 UI 오브젝트를 정의하는 UI 오브젝트 정의 정보를 해석한다.
UI 오브젝트 선택 처리부(62)는, 다수의 UI 오브젝트중에서, 필요한 UI 오브제크트를, 자동적으로 또는 유저의 입력에 의해 선택하는 처리를 실시한다. 유저의 입력에 의해 선택을 실시하는 경우, UI 오브젝트 선택 처리부(62)는, 표시부(24)에 표시되는 UI 오브젝트를 정의하는 UI오브젝트 정의 정보를 해석함으로써, 유저에 의한 UI 오브젝트를 선택하는 입력을 받아들이는 선택 화면을 생성하도록 처리 및 제어를 실시한다.
합성 UI 정의 파일 생성부(63)는 UI합성 처리부(60)에 의해 합성된 UI를 합성 UI정의 파일로서 생성해 출력한다.
자동 레이아웃 처리부(64)는, UI를 합성할 때의 레이아웃에 관한 제어 및 처리를 실시한다. 예를 들면, 자동 레이아웃 처리부(64)는, 각 UI 오브젝트의 배치 설정 처리, 배치 가부 판정 처리, 축소 오브젝트 선택 처리, 최소 크기 설정 처리, 여백 세팅 처리 등을 실시한다. 이하, 이러한 각 처리의 개략을 설명한다.
각 UI오브젝트의 배치 설정 처리는, 소정의 UI 표시 영역에서 실제로 UI 오브젝트의 배치를 실시하기 전에, 소정의 순서에 따라 가상적으로 UI 오브젝트의 배치를 실시하는 것이다. 배치 가부 판정 처리는, 배치 설정 처리에 의해 가상적으로 배치된 UI 오브젝트가 소정의 UI표시 영역에 배치 가능한지 아닌지를 판정하는 처리이다. 배치 가부 판정부가, UI오브젝트의 모두를 소정의 UI 표시 영역에 배치하는 것이 불가능하다고 판정하면, 축소 오브젝트 선택 처리는 소정의 순서에 따라서 축소되는 UI 오브젝트를 선택한다. 크기 하한치 설정 처리는, 단말 의존 정보나 UI 오브젝트 정의 정보에 따라, 각 UI 오브젝트에 대해서 축소의 하한치를 설정하는 것이다. 여백 설정 처리는, UI 오브젝트를 배치할 때에, 해당 UI 오브젝트가 다른 UI 오브젝트 또는 UI 표시 영역의 가장자리 등에 너무 근접하지 않게, UI 오브젝트 주위에 적당한 간격(마진)의 설정을 실시하는 처리이다.
UI 자원 정형부(64)는, 각 UI 오브젝트의 표시 크기에 근거해 , 선택된 UI오브젝트의 프리뷰 처리, 및 UI를 합성하기 위해 사용되는 자원의 데이터의 확대 또는 축소 처리를 실시한다. 이 경우, 개별 UI 자원 기억 영역(53) 또는 공통 UI자원 기억 영역(54)에 기억되어 있는 자원의 데이터를 읽어내 사용한다.
스탠드-얼론 UI 기동용 UI오브젝트 생성부(66)는, 합성 UI의 생성시에 선택된 UI오브젝트가 원래 포함되어 있던 스탠드-얼론 UI를 기동하기 위한 정보(스탠드-얼론 UI 기동 정보)를 포함하는 UI 오브젝트를 생성한다. 이 스탠드-얼론 UI 기동용 UI오브젝트를 생성하는 처리에 대해서는 후술한다.
기억부(50)의 애플리케이션 기억 영역(51)은, 각종의 기능을 실현하기 위한 처리 순서를 기재하는 데이터로 구성되는 각종 애플리케이션을 기억한다. UI 정의 파일 기억 영역(52)은 각각 UI전체를 생성할 때의 일련의 생성 룰을 정의하는 UI 정의 파일을 기억한다. 개별 UI 자원 기억 영역(53)은, 각 애플리케이션 고유의 UI를 생성할 때에 사용하는 화상 데이터 및 캐릭터 라인(텍스트) 데이터 등의 개별 UI 자원을 기억한다. 공통 UI자원 기억 영역(54)은, 각 애플리케이션 고유의 개별 UI자원 이외의, 단말에서 이용되는, UI가 공유해 사용하는 화상 데이터 및 폰트 데이터 등의 공통의 UI자원을 기억한다. 실제로 UI가 생성될 때, 개별 UI 자원 기억 영역(53) 및 공통 UI자원 기억 영역(54)에 기억된 화상 데이터 및 텍스트 데이터 등이, 터치 패널(20)의 표시부(24)에 표시된다.
또, 관련 애플리케이션 정보 기억 영역(55)은, 합성 UI정의 파일(후술한다)에 관련하는 애플리케이션의 기동 정보를 포함하는 관련 애플리케이션 정보를 기억한다. 또한, 합성 UI 정의 파일 기억 영역(56)은, 합성 UI정의 파일 생성부(63)가 생성한 합성 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)의 형식이 사용된다. 각 UI를 기동해 사용하려면 , UI생성부(13)는, 이 UIML 형식에서 기술되는 정의에 따라, 휴대전화(1)의 터치 패널(20)의 표시부(24)에 UI를 표시하고, 애플리케이션 실행부(11)는, 유저에 의한 입력부(22)에 대한 입력에 따른 처리를 실시한다.
도 2는, UI 정의 파일의 구성을 설명하는 개념도이다. 도 2에 나타내는 것같이, 휴대전화(1)의 기억부(50)의 UI정의 파일 기억 영역(52)은, 각각 UI 전체를 생성할 때의 일련의 생성 규칙을 정의하는 UI정의 파일을 저장한다. 도 2에 6개의 UI 정의 파일(1)~(6)이 저장되어 있지만, 사용되는 UI에 따라서, UI 정의 파일 기억 영역(52)이 임의의 수의 UI 정의 파일을 저장할 수 있다.
또한, 도 2에 나타낸 것같이, 각 UI정의 파일은, 복수의 UI 오브젝트 정의 정보를 포함한다. 도 2에서, UI정의 파일(2)은 6개의 UI 오브젝트 정의 정보((2)-1 ~ (2)-6)를 포함하고 있지만, 실제로는, UI 정의 파일(2)은 이 UI정의 파일(2)에 근거해 구성되는 UI에 포함되는 UI 오브젝트와 같은 수의 UI 오브젝트 정의 정보를 포함한다.
UI정의 파일에 포함되는 각각의 UI오브젝트 정의 정보는, 도시와 같이, UI 오브젝트 정의 정보에 의해 정의되는 UI오브젝트에 관련하는 각종의 속성을 나타내는 정보를 포함한다. 이하, UI오브젝트 정의 정보에 포함되는 대표적인 정보를 예시한다.
(1) 부품(UI 오브젝트)의 종류 정보: UI 오브젝트가 유저 조작을 받아들이는 버튼이나 키의 기능을 가지는지, 정보 표시의 텍스트 박스 기능을 가지는지, 또는 표시부(24)에 화상을 표시할 뿐의 기능인지 등, 종류을 특정하는 정보
(2) UI 오브젝트에 사용하는 자원 정보:표시부(24)에 표시하는 UI를 구성하는 요소인 키 또는 버튼 등의 UI 오브젝트를 표시하는 화상 및 텍스트를 정의하는 정보
(3) UI 오브젝트를 배치하는 위치 정보 : UI 오브젝트를 소정의 UI 표시 영역의 어느 위치에 표시하는지를 특정하는 정보
(4) UI 오브젝트의 표시 크기 정보 : UI 표시영역에 표시될 때의 UI 오브젝트의 크기를 특정하는 정보
(5) UI 오브젝트의 동작 조건 정보(액션 정보) : 해당 UI 오브젝트에 입력이 되었을 때의(실제로는 UI오브젝트에 대응하는 입력부(22)의 부위에 입력이 되었을 때의), 애플리케이션에 대한 동작을 정의하는 정보(예를 들면, 텔레비전 리모컨 UI의 "전원"의 UI 오브젝트에 대해 입력의 이벤트가 발생했을 경우, 텔레비전 리모컨 애플리케이션에 대해, 외부 기기로서의 텔레비전의 전원을 ON 또는 OFF로 하는 적외선 신호를 송신 지시하도록 정의하는 정보)
(6) UI 오브젝트를 인에이블 또는 디스에이블하는 정보 : UI 오브젝트를 UI표시 영역에 표시하는지 아닌지, 또는 UI 오브젝트를 액티브 상태로 하는지 아닌지를 특정하는 정보
(7) UI 오브젝트의 우선도 정보:해당 UI 오브젝트와 다른 UI오브젝트의 관계에 근거해, 복수의 UI를 합성할 때에, 오브젝트의 우선도를 나타내는 정보
(8) UI 오브젝트와 다른 UI오브젝트의 관련성 정보 : UI 오브젝트가 다른 UI오브젝트와 소정의 관련성을 가지는 경우에 관련성을 특정하는 정보
상기 (5)의 UI 오브젝트의 동작 조건 정보(액션 정보)는 여러 가지의 것이 있을 수 있지만, 본 실시의 형태에서는, 액션 정보의 유형은 주로 이하의 3 종류로 규정된다.
1. UI 오브젝트의 프로퍼티(속성 정보)를 변경하는 액션
2. 애플리케이션의 기능을 실행하는 액션
3. 스탠드-얼론 UI를 기동하는 액션
또, 본 실시의 형태에 따른 휴대전화(1)는, 유저의 선택 조작에 근거해, 복수의 UI로부터 복수의 UI오브젝트를 선택해 채용하고, 복수의 UI 오브젝트를 합성 UI로서 1개의 UI표시 영역에 표시할 수 있다. 이 경우, 각 UI는 대응하는 UI 정의 파일을 갖지만, 유저에 의해 선택된 UI 오브젝트로 구성되는 합성 UI는 대응하는 UI 정의 파일을 갖지 않는다. 그 때문에, 유저에 의해 선택된 UI 오브젝트에 의해 구성되는 합성 UI가 생성되면, UI 합성 처리부(60)는, 합성 UI에 근거하는 합성 UI정의 파일을 생성해 저장한다. 이하, 이 합성 UI 정의 파일을 생성하는 동작에 대해 또한 설명한다.
도 3은, 합성 UI 정의 파일의 구성을 설명하는 개념도이다. 합성 UI 정의 파일은, 복수의 UI정의 파일에 포함되는 UI 오브젝트 정의 정보의 추출된 부분을 집합적으로 갖는 단일 UI 정의 파일이다. 또한, 이 합성 UI 정의 파일에 포함되는 UI 오브젝트 정의 정보는, 그 근원이 되는 스탠드-얼론 UI로부터 추출된 후 합성될 때에, 필요에 따라서 여러 가지 방식으로 처리된다. 예를 들면, 합성 UI를 정의하는 것임을 식별하는 정보나, 관련 애플리케이션 정보를 특정하는 정보가 부가된다. 도 3은 각각의 UI 정의 파일(2), (4), (5)로부터, 각각 몇개의 UI 오브젝트 정의 정보를 추출하여 수집함으로써 생성된, 새로운 합성 UI 정의 파일(1)을 도시하는 일 예의 개념도이다. 상기 서술된 것같이 각각의 UI 오브젝트 정의 파일로부터 일부 UI 오브젝트 정의 정보를 추출해 합성 UI 정의 파일을 생성할 때, UI 합성 처리부(60)는 필요에 따라서 처리를 행하여 합성한다.
복수의 UI가 합성될 때, UI 합성 처리부(60)의 UI 오브젝트 선택 처리부(62)가, 각 UI 정의 파일에 근거해 UI 오브젝트 선택 화면을 생성하고, 유저가 선택한 UI 오브젝트의 UI 오브젝트 정의 정보를 추출한다. UI 합성 처리부(60)는 상기 방식으로 추출된 UI 오브젝트 정의 정보를 수집한다. 이때, 합성 UI 정의 파일 생성부(63)는, 수집된 UI 오브젝트 정의 정보로부터, 1개의 합성 UI 정의 파일을 생성한다. 이것은, 유저의 시점으로부터 보면, 복수의 UI로부터 UI 오브젝트 몇 개가 선택되고, 이것을 사용하여 1개의 합성 UI가 생성되는 것을 의미한다. 상술한 것처럼, 합성 UI 정의 파일 생성부(63)가 합성 UI 정의 파일을 생성할 때, UI합성 처리부(60)는 필요에 따라서 UI 오브젝트 정의 정보를 처리한다. 그리고, UI 합성 처리부(60)는, 합성 UI 정의 파일 생성부(63)가 생성한 합성 UI 정의 파일을 합성UI 정의 파일 기억 영역(56)에 저장한다.
이하, UI정의 파일에 근거해 생성되는 UI를 구체적인 예를 이용하여 설명한다. 도 4a 및 b는, 도 2 및 도 3에 나타낸 것 같이, UI 정의 파일에 근거해 생성되는 스탠드-얼론 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)의 예로서 리모컨 애플리케이션용 UI를 표시한 예를 나타내는 도면이다. 도 4a는 텔레비전 세트의 리모컨 애플리케이션용 UI(유저 인터페이스 오브젝트군)를 표시한 예이며, 도 4b는 에어 컨디셔너의 리모컨 애플리케이션용 UI(유저 인터페이스 오브젝트군)를 표시한 예이다. UI 정의 파일이 XML 언어를 베이스로 하여 형성된 UIML의 파일 형식으로 서술되면, 각 UIML 파일을 분석해 UI를 생성할 때, 표시부(24)의 소정의 UI 표시 영역에 들어가는 한 화면용 UI가 표시된다. 각 UI의 UI 정의 파일에서, 각 UI를 구성하는 UI 오브젝트에 대해 UI 오브젝트 정의 정보에 의해 각종 속성이 정의된다.
UI오브젝트 선택 처리부(62)는 도 4a 및 b에 나타낸 스탠드-얼론 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)로부터, 소정의 기준에 근거해 몇 개의 UI오브젝트를 선택한다. UI 합성 처리부(60)는, 이러한 UI 오브젝트에 대해 합성 UI를 생성하는 상기 처리를 실시한다. 이것에 의해, 합성 UI 정의 파일 생성부(63)는, 복수의 UI 오브젝트를 선택해 채용함으로써 1개의 합성 UI를 구성하는 합성 UI 정의 파일을 생성할 수 있다.
본 실시의 형태에 따르면, 복수의 UI를 합성해 합성 UI를 생성할 때에, UI 오브젝트 중에서 메인 UI 오브젝트가 자동 선택되도록 할 수 있다. 이 경우, UI 오브젝트 선택 처리부(62)가 UI 오브젝트를 자동 선택하려면 , 상술한 (7) UI 오브젝트의 우선도 정보를 이용한다.
도 5는, 본 실시의 형태에 따르는 UI 오브젝트의 우선도 정보를 설명하는 도이다.
도 5a는, 휴대전화(1)에 의해 텔레비전 리모컨 애플리케이션만을 기동해, 텔레비전 리모컨 UI 정의 파일에 근거해, 터치 패널(20)에 표시된 스탠드-얼론 UI인 텔레비전 리모컨 UI를 나타내고 있다. 도면에서, 터치 패널(20)상의 UI 표시 영역은, 각 UI 오브젝트의 속성정보에 대응하는, 점선으로 표시된 소영역으로 개념적으로 분할된다. 또, 복수의 UI 오브젝트를 1개의 UI(유저 인터페이스 오브젝트군)로 처리하는 정의(UI 식별 정보)가 인터페이스의 태그로 표시된다. "TV1_Interface"의 값으로부터, TV1의 리모컨의 UI인 것이 특정될 수 있다. 도 5a에 나타내는 소영역(1)~(7)에 대응하는 각 UI 오브젝트 속성 정보의 일례를 이하에 열기한다.
Interface id="TV1_interface"
(1) ID="switch1" priority="0"
(2) ID="ch_select"priority="1"
(3) ID="volume"priority="1"
(4) ID="10 key"priority="4"
(5) ID="timer"priority="3"
(6) ID="bilingual"priority="3"
(7) ID="title"priority="0"
본 실시의 형태에 따르면, UI오브젝트 속성 정보 가운데, 각 소영역(1)~(7)의 UI오브젝트에 대한 우선도를, priority의 값으로 미리 정의한다. 도 5의 예에서는, priority의 값이 제로인 UI 오브젝트는 필수의(반드시 선택되는) 오브젝트이며, priority의 값이 1인 UI 오브젝트는 중요한 오브젝트이고, 더 큰 priority 값을 갖는 UI 오브젝트는 중요도가 낮다. 즉, 예를 들면 도 5a의 소영역(1)에서 "전원" 키는 필수 키이기 때문에, priority의 값이 제로이다. 또, 소영역(2)의 채널 선국 키와 소영역(3)의 음량 조절키는 중요한 키이기 때문에, priority의 값은 1이다. 그렇지만, 소영역(4)의 숫자 패드는, 소영역(2) 및 (3)의 채널 선국 키로 대체할 수 있기 때문에, priority의 값을 4로 해, 우선도를 낮게 설정한다. 또, 소영역 (5)의 타이머 및 소영역(6)의 언어 전환키의 우선도가 그만큼 높지 않아서, priority의 값은 3이다.
또한, 소영역(7)의 캐릭터 스트링은, 유저가 입력을 받아들이는 키는 아니고, 이 텔레비전 리모컨 UI의 명칭을 나타내는 UI오브젝트이다. 이같은, UI의 명칭은 스탠드-얼론 UI를 사용할 때에 필수적이지는 않지만, 시인성을 향상시키기 위해, 본 실시예에서 합성 UI를 생성할 때 표시되어야 하는 필수적 UI 오브젝트로서 취급된다.
도 5b는, 스탠드-얼론 UI인 에어 컨디셔너 리모컨 UI를 터치 패널(20)에 표시한 것을 나타낸다. 도 5b에 나타내는 각 소영역 (1)~(7)에 대응하는 각 UI 오브젝트 속성 정보의 일례를 이하에 열기한다. 또한, 복수의 오브젝트가 모두 에어 컨디셔너(1)의 리모컨의 단일 UI에 대한 것임을 특정할 수 있도록, interface의 태그의 값은"AIR1_interface"이고, Interface id="AIR1_interface"이다.
(1) ID="switch2" priority="0"
(2) ID="set_window" priority="0"
(3) ID="temp" priority="1" 
(4) ID="win_velo" priority="1"
(5) ID="direction" priority="2"
(6) ID="mode" priority="3"
(7) ID="title" priority="0"
에어 컨디셔너 리모컨 UI에서, 예를 들면 소영역(1)에 나타내는 "전원" 키와 "설정 온도"가 필수 키이므로, priority의 값이 제로이다. 또, 소영역(3)에서 온도 조절키 및 소영역(4)에서 풍력 조절 키는 중요한 키이므로 priority의 값은 1이다. 이들 키와 비교해 우선도가 떨어지는, 소영역 (5)의 풍향 조절키는 priority 값 2를 갖고, 소영역 (6)의 모드 키는 priority 값 3을 갖는다. 또한, 소영역(7)에서 캐릭터 스트링은, 유저의 입력을 받아들이는 키는 아니고, 에어 컨디셔너 리모컨 UI의 명칭을 나타내는 UI 오브젝트이며, 본 실시예에서 표시되어야 하는 필수 오브젝트로서 간주된다.
상기 서술된 것같이, 본 실시의 형태에 따르면, 각 UI 오브젝트와 다른 UI 오브젝트의 관계에 근거해 정의된 우선도 정보(priority의 값)가 UI 오브젝트 속성 정보로서 각 UI 정의 파일의 UI 오브젝트 정의 정보에 미리 포함되어 있다. 이 우선도 정보는, UI 합성 처리에서 UI 오브젝트의 자동 선택 처리를 실시할 때에, 각 UI 오브젝트를 합성 UI에 채용하는지 아닌지를 판정하기 위해 UI 생성부(13)가 사용한다. 표시부(24)에서 UI 표시 영역은 한계가 있기 때문에, 우선도가 낮은 UI 오브젝트는 합성 UI 생성 시에 채용되지 않는다. 그 대신에, 원래는 다른 UI에 함께 포함되는 우선도가 높은 UI 오브젝트가 합성 UI에 채용된다.
다음에, 도 6, 7, 및 8의 플로우차트를 참조하면서, 본 실시의 형태에 따른 복수의 애플리케이션의 UI를 합성할 때의 동작에 대해 설명한다.
도 6은, 본 실시의 형태에 따라서, UI 정의 파일 또는 합성 UI 정의 파일로부터 UI를 생성해 UI를 사용 가능하게 하는 UI생성부(13)의 처리 전체를 설명하는 플로우차트이다. 우선, 유저로부터의 입력부(22)에의 조작입력 등에 기초를 두어 애플리케이션이 기동하고, 애플리케이션 실행부(11)는 이 애플리케이션과 관련되는 UI의 생성을 지시하면, UI를 생성해 사용 가능하게 하는 처리를 개시한다. 이 처리가 개시되면, UI를 표시하는 권한을 가지는 애플리케이션이, UI 정의 파일(XML 파일)을 지정한다(스텝 S11). 이러한 UI를 표시하는 권한을 가지는 애플리케이션은, 휴대전화(1)의 백그라운드에서 기동하는 것은 아니고, 애플리케이션의 최상 정도에서 동작하는 것이다. UI를 이용하는 애플리케이션을 기동할 때의 유저의 조작, 또는 유저가 이미 또 다른 애플리케이션을 실행중일 때, UI를 이용하는 애플리케이션을 기동하는 유저의 조작이 이 처리를 시작하는 계기가 되는 동작으로 간주된다.
다음에, UI생성부(13)는, 스텝 S11에서 지정된 UI정의 파일의 수가 1개 이상인지를 판정한다(스텝 S12). UI 지정 파일수가 1개로 판정되었을 경우, UI생성부(13)는, 지시를 내린 애플리케이션이 복수의 UI의 합성을 요구하고 있지 않다고 판단해 스텝 S13로 이행한다. 스텝 S13에서, UI생성부(13)는, UI 정의 파일 기억 영역(52) 또는 합성 UI 정의 파일 기억 영역(56)으로부터 지정된 UI 정의 파일을 읽어내, UI 정의 파일이 합성 UI 정의 파일인지를 판정한다.
스텝 S13에서, 지정된 UI 정의 파일이 합성 UI 정의 파일이 아니라고, 즉, UI 정의 파일 기억 영역(52)으로부터 읽어낸 스탠드-얼론 UI의 UI 정의 파일로 판정되었을 경우는, 스텝 S14로 이행한다.
스텝 S14에서, UI생성부(13)는 지정된 스탠드-얼론 UI의 UI 정의 파일에 대해서 XML 파싱 처리를 실시하고 나서, 다음에 DOM 처리를 실시한다(스텝 S15). 상기 서술된 것같이, 지정된 UI 정의 파일이 스탠드-얼론 UI의 UI정의 파일이면, 이 이후의 처리는, 종래의 UI를 생성하는 처리와 같게 된다. 즉, 파싱 처리 및 DOM 처리가 실시된 UI 정의 파일에 근거해, UI생성부(13)는, UI 생성처리를 실시한다(스텝 S16). 또한, 스텝 S16의 UI 생성 처리를 후술한다. 다음에, UI 생성 처리에 의해 생성된 XML 파일의 UI에 근거해, UI 생성부(13)는, 터치 패널(20)의 표시부(24)의 UI 표시 영역에 UI를 표시하는 처리를 실시한다(스텝 S17). 이것에 의해, 휴대 전화(1)에서 스탠드-얼론 UI가 사용 가능하게 된다.
한편, 스텝 S12에서, 스텝 S11에서 지정된 파일수가 2 이상이면, UI 생성부(13)는, 애플리케이션이 복수의 UI의 합성을 요구하고 있다고 판단해, 복수의 각 XML 파일에 대해, 각각 XML 파싱 처리(스텝 S18) 및 DOM 처리(스텝 S19)를 행한다. 스텝 S20에서, UI 생성부(13)는 파싱 처리 및 DOM 처리가 모든 UI 정의 파일에 대해 완료되었는지 아닌지를 판정해, 아직 완료되지 않았으면, 스텝 S18로 돌아와, 처리되지 않은 UI 정의 파일에 파싱 처리 및 DOM 처리를 실시한다.
스텝 S20에서, 모든 UI정의 파일에 대해 파싱 처리 및 DOM 처리가 완료되었다고 판정되면, UI 합성 처리부(60)는, 파싱 처리 및 DOM 처리가 실시된 복수의 UI를 합성하는 처리를 실시한다(스텝 S21). 즉, UI 생성부(13)는, 복수의 UI의 생성(합성)을 지시한다. 또한, 스텝 S21에서 UI 합성 처리를 후술한다.
스텝 S21에서 UI 합성 처리를 행하면, 합성 UI 정의 파일 생성부(63)는 합성된 UI의 합성 UI 정의 파일을 생성한다. 그 후, 처리 전체가 일단 종료하고, 여기서 생성된 합성 UI 정의 파일을 이용해 처리를 다시 개시하면, 스텝 S11에서 합성 UI 정의 파일이 지정된다. 따라서, 스텝 S12에서는 1개의 파일이 지정되고, 스텝 S13에서는 합성 UI정의 파일이 지정되었다고 판정된다.
상기 서술된 것같이, 스텝 S13에서, 지정된 파일이 합성 UI 정의 파일이라고 판정되었을 경우, 스텝 S22로 이행한다. 이 경우, 합성 UI 정의 파일로서 생성된(준비된) 합성 UI가 기동되어 실제로 이용되면, UI 오브젝트를 1개의 합성 UI(합성 유저 인터페이스 오브젝트군)로서 표시부(24)에 표시해 UI 오브젝트를 사용할 수 있도록 하는 것이 필요하다. 그러므로, UI 생성부(13)는, 대응하는 합성 UI 정의 파일과 관련지어 저장되는 관련 애플리케이션 정보를, 기억부(50)의 관련 애플리케이션 정보 기억 영역(55)으로부터 취득한다(스텝 S22). 다음에, 취득한 관련 애플리케이션 정보에 근거해, UI 생성부(13)는, 애플리케이션 실행부(11)에 관련 애플리케이션을 백그라운드에서 기동할 것을 지시한다(스텝 S23).
그 후, 스텝 S14로 이행해, 스탠드-얼론 UI의 UI 정의 파일 처리의 경우와 같은 처리를 실시한다. 즉, UI 생성부(13)는, 합성 UI의 지정된 UI 정의 파일에 대해서 XML 파싱 처리(스텝 S14) 및 DOM 처리(스텝 S15)를 실시한다. 또한, 합성 UI의 지정된 UI 정의 파일에 근거해, UI 생성부(13)는, 합성 UI를 생성하는 처리를 실시한다(스텝 S16). 그리고, UI생성부(13)는, 생성된 합성 UI를 터치 패널(20)의 표시부(24)의 UI 표시 영역에 표시하는 처리를 실시하고(스텝 S17), 합성 UI 생성의 전체적인 처리를 종료한다.
다음에, 도 7의 플로우차트를 참조하면서, 도 6에서 단계 S16의 UI생성 처리에 대해 또한 설명한다. 또한, 스텝 S16의 UI 생성처리란, 협의의 UI생성 처리, 즉 UI정의 파일을 해석하고 이 해석 결과에 근거해 UI를 표시부(24)에 표시할 수 있는 상태로 하는 처리이다.
도 7에서의 UI생성 처리의 개시 시점에서, 지정된 UI 정의 파일에 근거하는 1개의 스탠드-얼론 UI 또는 1개의 합성 UI가 1개의 DOM 문서(또는 DOM 노드)로서 형성된다. 우선, UI생성부(13)는, DOM 문서의 표시 관련의 해석을 실시한다(스텝 S31). UIML 형식으로 기술된 UI 정의 파일에서, structure tag나 style tag를 갖는 속성이 분석된다. 다음에, UI 생성부(13)는, DOM 문서의 동작 관련에 대해 해석을 실시한다(스텝 S32). 이것은, UIML 형식으로 기술된 UI 정의 파일에서, behavior tag를 갖는 속성 등이 해석된다.
다음에, UI생성부(13)는, DOM 문서에 포함되는 표현을, 각 단말 에 의존하는 표현으로 변환하는 처리를 실시한다(스텝 S33). 또한, UI생성부(13)는, 스텝 S33의 변환 처리의 결과에 근거해, 사용되는 UI 오브젝트의 자원을 선정해 각 속성(프로퍼티)을 설정한다(스텝 S34). 이 때에 필요한 UI오브젝트의 자원은, 개별 UI 리소스로서 개별 UI 자원 기억 영역(53)에, 또는 공통 UI자원으로서 공통 UI 자원 기억 영역(54)에 기억되고 있다. 이 후, UI생성부(13)는, 각 UI오브젝트를 포함하는 UI의 플롯 처리를 실시한다(스텝 S35). 이것에 의해 UI의 생성 처리는 종료하고, 이 후는 도 6의 스텝 S17로 이행해, UI의 표시 처리를 실시한다.
이러한 처리에 의해, 휴대 전화(1)는, 스탠드-얼론 UI를 이용하는 애플리케이션의 실행에 수반해, 스탠드-얼론 UI의 UI 정의 파일에 근거해 스탠드-얼론 UI를 표시부(24)에 표시할 수 있다. 예를 들면, 텔레비전 리모컨의 애플리케이션 얼론에 의해 텔레비전 리모컨용의 UI 정의 파일이 지정되면, 상기 서술된 것같이 도 4a에 나타내는 것 같이 UI가 표시된다. 또, 에어 컨디셔너 리모컨의 애플리케이션 얼론에 의해 에어 컨디셔너 리모컨용 UI 정의 파일이 지정되면, 도 4b에 나타내는 것 같이 UI가 표시된다. 또, 합성 UI를 이용하는 애플리케이션의 실행에 수반해, 합성 UI정의 파일에 근거해 합성 UI를 표시부(24)에 표시할 수도 있다.
다음에, 도 8의 플로우차트를 참조하면서, 도 6에서의 스텝 S21의 UI 합성 처리, 즉 복수의 UI를 생성하도록 지시받았을 때 실행되는 처리를 설명한다.
도 8에 나타내는 UI합성 처리가 개시되면, UI합성 처리부(60)는, 파싱 처리 및 DOM 처리가 완료된 복수의 UI의 DOM 노드에 대해, 각 DOM노드를 구성하는 UI 오브젝트를 모두 추출해, 각 UI 오브젝트의 속성 정보를 해석한다(스텝 S51). 각 UI오브젝트의 분석되는 각종 속성 정보는, 도 2에 나타낸 것처럼, UI 오브젝트의 우선도 정보(priority)를 포함한다.
모든 UI 오브젝트의 속성 정보를 해석한 뒤, UI 합성 처리부(60)는, 추출된 UI 오브젝트중에서 합성 UI에 채용하는 UI오브젝트를 선택(추출) 하기 위해 자동 선택이 지정되었는지를 판정한다(스텝 S52).
스텝 S52에서 UI합성에 자동 선택이 지시받으면, UI 오브젝트 선택 처리부(62)는, UI오브젝트 자동 선택 처리를 실시한다(스텝 S53). 이것에 의해, 합성 UI를 구성하는 UI 오브젝트로서 채용되는 UI 오브젝트가 자동으로 추출된다. UI 오브젝트 자동 선택 처리에서는, 예를 들면, 각 UI 오브젝트에 대해 해석된 속성 정보의 우선도 정보인 priority로서 O~2까지의 값을 가지는, 합성 UI에 UI 오브젝트를 채용하는 등 소정의 규칙에 근거해, UI 오브젝트 선택 처리부(62)가 UI 오브젝트를 자동 선택(추출)한다.
한편, 스텝 S52에서 자동 선택이 UI합성에 대해 지시받지 않으면, UI 오브젝트 선택 처리부(62)는, 유저에 의해 UI오브젝트의 선택 처리가 실시된다(스텝 S54). 이것에 의해, 유저의 선택에 기초해서, 합성 UI를 구성하는 UI오브젝트로서 채용되는 UI 오브젝트가 추출된다. UI오브젝트의 유저에 의한 선택 처리에서, 유저의 조작 입력에 근거해, 유저가 선택한 UI오브젝트를 합성 UI에 채용한다(채용하는 오브젝트로서 추출한다). 이 경우, UI 오브젝트 선택 처리부(62)는, UI 오브젝트 선택 화면상에서, 선택된 UI 오브젝트가 UI표시 영역에서 차지하는 전체 점유율을 적산해, UI 표시 영역에 들어가지 않는 UI 오브젝트가 선택(추출)될 수 없는 것이 매우 적합하다.
이와 같이 해서 자동 선택 또는 유저 선택에 의한 UI 오브젝트의 선택 처리가 완료되면, 스탠드-얼론 UI기동용 UI오브젝트 생성부(66)는, 합성 UI에 포함되는 UI 오브젝트로서 스탠드-얼론 UI기동용 UI오브젝트를 생성하는 처리를 실시한다(스텝 S55).
본 실시의 형태에 따르면, 스텝 S55에서의 스탠드-얼론 UI기동용 UI오브젝트생성 처리에서, 합성 UI로부터 스탠드-얼론 UI로 간단한 조작에 의해 전환하기 위해 새로운 UI 오브젝트가 생성된다.
스텝 S55에서 생성된 스탠드-얼론 UI기동용 UI오브젝트가, 이미 선택된 UI 오브젝트에 새롭게 추가되면, 스탠드-얼론 UI기동용 UI오브젝트 생성부(66)는, 이 UI오브젝트의 속성 정보의 종류를 "버튼" 등의 유저 조작을 받아들이는 것으로 정의한다. 또, 스탠드-얼론 UI기동용 UI오브젝트 생성부(66)는, UI오브젝트의 속성 정보의 동작 조건에 포함되는 액션 정보로서, 기동해야 할 스탠드-얼론 UI의 UI정의 파일을 특정하는 정보(예를 들면 그 스탠드-얼론 UI의 UI정의 파일의 파일명)를 기술한다.
스탠드-얼론 UI기동용 UI오브젝트를 포함하는, 합성 UI에 채용되는 UI 오브젝트가 모두 선택(추출)되면, 다음에, 자동 레이아웃 처리부(64)는, 선택(추출)한 UI오브젝트를 UI표시 영역에 가상적으로 배치하는 처리를 실시한다(스텝 S56). 이때, UI자원 정형부(65)는, 선택되는 UI오브젝트의 표시 크기를 필요에 따라서 조절한다. 또, 자동 레이아웃 처리부(64)는, UI오브젝트가 서로 너무 접근하지 않게, UI 오브젝트의 주위에 적당한 마진(블랭크 공간)을 설정한다.
선택된 UI 오브젝트의 배치 처리가 완료되면, UI합성 처리부(60)는, 확정된 레이아웃의 UI 오브젝트를 1개의 DOM 노드로서 집약한다(스텝 S57). 다음에, 합성 UI 정의 파일 생성부(63)는, 선택된 UI 오브젝트의 UI 오브젝트 정의 정보에 근거해, 선택된 UI 오브젝트로 구성되는 합성 UI를 정의하는 합성 UI 정의 파일을 생성한다(스텝 S58). 이렇게 해서 생성된 합성 UI 정의 파일은, XML 형식의 파일로서 기억부(50)의 합성 UI 정의 파일 기억 영역(56)에 기억된다.
스텝 S58에서 합성 UI 정의 파일이 생성되면, UI 합성 처리부(60)는, 합성 UI에 대해 선택(추출)된 UI 오브젝트에 근거해, 관련하는 애플리케이션의 정보를 생성한다(스텝 S59). 여기서 생성되는 관련 애플리케이션 정보는, 합성 UI에 대해 선택(추출)된 UI 오브젝트에 대해서 유저의 입력이 있었을 때에, UI 오브젝트에 관련하는 애플리케이션을 제어하기 위한 정보이다. 선택된 UI 오브젝트에 근거하는 관련 애플리케이션의 정보가 생성되면, UI 합성 처리부(60)는, 관련 애플리케이션 정보를, 합성 UI정의 파일과 연관시키고 나서, 관련 애플리케이션 정보 기억 영역(55)에 관련 애플리케이션 정보를 기억한다(스텝 S60). 그 다음, UI 합성 처리부(60)는, UI 합성 처리가 완료된 것을 애플리케이션 실행부(11)에 통지하고(스텝 S61), UI합성 처리를 종료한다.
이러한 처리에 의해, 생성된 합성 UI(합성 유저 인터페이스 오브젝트군)을 즉시 표시부(24)에 표시할 수가 있다. 또, 생성된 합성 UI를 즉시 사용하지 않고 합성 UI 정의 파일 기억 영역(56)에 저장된 합성 UI정의 파일을 읽어낸 후에 사용할 수도 있다.
상기 UI 합성 처리를 실시한 후에, 도 6을 참조하여 설명한 UI 생성의 전체 처리를 통해, 스탠드-얼론 UI중에서 선택(추출)된 UI 오브젝트로 구성된 합성 UI를 생성할 수가 있다. 예를 들면, 도 4a에 나타낸 텔레비전 세트의 리모컨 애플리케이션용 UI와 도 4b에 나타낸 에어 컨디셔너의 리모컨 애플리케이션용 UI로부터 선택된 UI오브젝트를 이용해, 도 9에 나타내는 것 같은 합성 UI(합성 유저 인터페이스오브젝트군)을 생성할 수가 있다.
도 9에 나타낸 합성 UI(합성 유저 인터페이스 오브젝트군)는, 도 8의 스텝 S53에서, UI 오브젝트 속성 정보의 우선도(priority)의 값이 0~2인 UI 오브젝트를 합성 UI에 채용한다고 하는 기준에 기초해 UI 오브젝트 선택 처리부(62)가 UI 오브젝트를 자동 선택할 때 합성 UI의 예이다. 도 9에 나타낸 합성 UI는, 터치 패널(20)의 UI 표시 영역을, 텔레비전 리모컨 UI로부터 선택된 UI 오브젝트가 배치된 상부 영역과, 에어 컨디셔너 리모컨 UI로부터 선택된 UI 오브젝트가 배치된 하부 영역으로 분할한다.
상기 서술된 것같이, 본 실시의 형태에 따르면, 2개의 XML 파일을 분석하고, 우선도가 높은 UI 오브젝트만을 추출하고, 자동 배치함으로써 복수의 UI가 합성된다. 이것에 의해, 유저는 복수의 애플리케이션 또는 대응하는 애플리케이션에 기초해 UI를 바꾸지 않고 하나의 합성 UI로서 복수의 UI를 동시에 이용할 수가 있다.
그러나, 도 9에 나타낸 것같이, 스탠드-얼론 UI중에서 선택된 UI 오브젝트로 합성 UI를 생성하면, 선택되지 않는 일부 UI오브젝트가 존재한다. 그러므로, 생성된 합성 UI안에, 유저가 사용하고 싶은 스탠드-얼론 UI의 UI오브젝트가 선택되지 않는다는 경우가 있을 수 있다. 이러한 경우를 처리하기 위해, 도 9에 나타내는 합성 UI의 상부 영역의 텔레비전 리모컨 UI, 및 합성 UI의 하부 영역의 에어 컨디셔너 리모컨 UI의 각각에, 도 8의 스텝 S55에서 생성된 스탠드-얼론 UI기동용 UI 오브젝트(단지 "스탠드-얼론 UI기동용 오브젝트"라고 칭한다)가 배치된다.
스탠드-얼론 UI 기동용 오브젝트의 속성 정보는, 액션 정보로서, 기동되는 스탠드-얼론 UI의 UI정의 파일을 특정하기 위해 정보를 포함한다. 따라서, 스탠드-얼론 UI 기동 오브젝트에의 유저의 입력에 따라서, 주위의 UI 오브젝트를 포함하는 원래의 스탠드-얼론 UI로 쉽게 전환할 수 있다. 예를 들면, 도 9에 나타내는 합성 UI의 상부 영역의 텔레비전 리모컨 UI에 포함되는 스탠드-얼론 UI 기동 오브젝트에의 입력에 근거해, 도 4a에 나타내는 것 같은 스탠드-얼론 UI로서 텔레비전 리모컨 UI로 전환할 수가 있다. 또한, 도 9에 나타낸 합성 UI의 아래쪽의 에어 컨디셔너 리모컨 UI에 포함되는 스탠드-얼론 UI 기동 오브젝트에의 입력에 근거해, 도 4b에 나타내는 것 같은 스탠드-얼론 UI로서 에어 컨디셔너 리모컨 UI로 전환할 수가 있다.
이러한 동작을 달성하기 위해서, 본 실시의 형태에 따르면, 합성 UI를 사용하고 있는 동안, 간단하게 원래의 스탠드-얼론 UI로 전환할 수가 있는 "스탠드-얼론 UI 전환 처리"가, 합성 UI에 대해서 유저의 조작 입력 등의 이벤트가 발생해 때 행해진 처리에 포함된다.
이하, 도 10에 나타낸 플로우차트를 참조하면서, 합성 UI가 사용중에 UI에 이벤트가 발생했을 때에 실행되는 처리(UI 이벤트 처리)에 대해 설명한다.
UI 이벤트 처리는, 유저에 의한 입력부(22)에의 조작 입력 등의 이벤트가 발생하고, 이벤트 발생의 정보가 UI 이벤트 처리부(15)에 통지될 때 개시한다. 도 10에 나타낸 것같이, UI 이벤트 처리가 개시되면, 우선, UI이벤트 처리부(15)는, 이벤트가, 표시부(24)에 현재 표시되는 UI에 대한 이벤트인가 아닌가를 판정한다(스텝 S71). 즉, 유저에 의한 입력부(22)에의 조작 입력이, UI가 표시되어 있지 않은 부분에서 발생되지 않고, UI가 표시되고 있는 부분에서 발생하는지가 판정된다.
통지된 이벤트가 현재 표시중의 UI에 대한 이벤트인 경우, UI 이벤트 처리부(15)는, 계시부(14)의 스탠드-얼론 UI유지 타이머가 기동중인지를 판정한다(스텝 S72). 여기서, 스탠드-얼론 UI유지 타이머란, 합성 UI로부터 스탠드-얼론 UI가 전환될 때로부터 스탠드-얼론 UI의 기동 시간을 계측하는 기능이다. 합성 UI에 대해서 이벤트가 발생한 시점으로부터 처리가 개시되면, 스탠드-얼론 UI 유지 타이머는 기동되지 않기 때문에, 다음의 스텝 S73로 이행한다.
스텝 S73에서, UI 이벤트 처리부(15)가, 입력부(22)상에 이벤트가 발생한 위치와 표시부(24)에 표시되고 있는 UI 오브젝트의 위치를 비교해, 어느 UI오브젝트에 대한 이벤트가 발생했는지를 특정한다. 본 실시의 형태에 따르면, 입력부(22)는 터치 패널(20)을 구성하기 때문에, UI 이벤트 처리부(15)는, 조작 입력이 받아들여지는 좌표에서 현재 표시되고 있는 UI 오브젝트를 특정한다. 이 때, UI 이벤트 처리부(15)는, 특정된 UI 오브젝트의 종류에 따라 UI 오브젝트의 기본 동작을 실시한다. 즉, 예를 들면, UI 이벤트 처리부(15)는 입력을 받은 UI 오브젝트가 문자 입력을 받아들이는 키 등의 종류이면 입력된 문자를 표시하고, 입력을 받은 UI 오브젝트가 스크롤 조작을 받아들이는 종류이면 표시를 스크롤 하도록 동작한다.
스텝 S73에서, 이벤트가 발생한 UI오브젝트가 특정되면, 특정된 UI오브젝트의 UI오브젝트 정의 정보가 상술한 (5)의 동작 조건 정보인 액션 정보를 포함하는지 아닌지를 판정한다(스텝 S74). 특정한 UI 오브젝트의 UI오브젝트 정의 정보가 액션 정보를 포함하지 않으면, UI 오브젝트는 입력을 받아들이는 것이 아니기 때문에, UI 이벤트 처리부(15)는 스텝 S71에 돌아와 다음의 입력을 기다린다.
또한, UIML의 사양에서, 1개의 UI 오브젝트에 대해 복수의 액션을 기술할 수 있다. 예를 들면, 키를 나타내는 UI 오브젝트에 대해서 유저의 입력이 있을 경우에는, 그 키를 일순간 반전 표시하는 액션과 그 키에 대한 입력에 따라서 애플리케이션을 기동하는 액션 등 복수의 액션 정보를 기술할 수가 있다.
스텝 S74에 액션 정보가 있으면, UI 이벤트 처리부(15)는, 발생한 이벤트가 UI 오브젝트의 UI 오브젝트 정의 정보에 포함되는 액션 정보의 실행 조건을 만족하는지를 판정한다(스텝 S75). 발생한 이벤트가 UI 오브젝트 정의 정보에 포함되는 액션 정보의 실행 조건을 만족하지 못하면, 스텝 S83로 이행해, UI 이벤트 처리부(15)는, 이 UI 오브젝트가 여전히 다른 액션 정보를 가지는지 아닌지 판정한다. 특정한 UI 오브젝트가 복수의 액션정보를 가지면, 스텝 S75로 돌아와, 다른 액션 정보가 UI 오브젝트의 UI 오브젝트 정의 정보에 포함되는 액션 정보의 실행 조건을 만족하는지를 판정한다. 한편, 스텝 S83에서, 특정된 UI 오브젝트가 액션 정보를 가지지 않으면, 즉, UI 오브젝트의 모든 액션 정보에 따른 처리가 종료되면, UI 이벤트 처리부(15)는 스텝 S71로 돌아와 다음의 입력을 기다린다.
스텝 S75에서, 발생된 이벤트가, UI오브젝트 정의 정보에 포함된 액션 정보의 실행 조건을 만족하면, UI 이벤트 처리부(15)는, UI 오브젝트의 종류에 따라서 실행 조건을 만족하는 액션 정보의 처리를 실시한다(스텝 S76~스텝 S82).
스텝 S76 이후의 처리에서, 구체적으로는, 액션 정보가 UI 오브젝트의 프로퍼티를 변경하는 종류이면(스텝 S76의 YES), UI이벤트 처리부(15)는, UI 오브젝트의 프로퍼티 정보를 변경한다(스텝 S77). 즉, 이 경우, 예를 들면, 지정된 UI 오브젝트가 사용하는 자원(예를 들면 버튼 등으로 사용되는 화상), UI 오브젝트의 배치 위치, UI 오브젝트의 표시 크기 등의 프로퍼티를 변경한다.
또, 액션 정보가 애플리케이션의 기능을 실행하는 종류이면(스텝 S78의 YES), UI이벤트 처리부(15)는, 애플리케이션 실행부(11)에 해당 애플리케이션의 기능의 실행을 지시한다(스텝 S79). 이 경우, UI 이벤트 처리부(15)는, 액션 정보에 따라서, 액션 정보 안에 지정된 기능의 실행을 애플리케이션 실행부(11)에 지시한다.
또한, 액션 정보가 스탠드-얼론 UI를 기동하는 종류, 즉 스탠드-얼론 UI 기동 오브젝트이면(스텝 S80의 YES), UI 이벤트 처리부(15)는, 대응하는 스탠드-얼론 UI의 기동을 UI생성부(13)에 지시한다(스텝 S81). 이 경우, 도 9에 나타내는 합성 UI(합성 유저 인터페이스 오브젝트군)의 텔레비전 리모컨 UI에 포함되는 스탠드-얼론 UI기동 오브젝트에의 입력인 경우, UI 이벤트 처리부(15)는 도 4a에 나타내는 스탠드-얼론의 텔레비전 리모컨 UI(스탠드-얼론 유저 인터페이스 오브젝트군)으로 전환하도록 지시한다. 또한, 도 9에 나타내는 합성 UI의 에어 컨디셔너 리모컨 UI에 포함되는 스탠드-얼론 UI기동 오브젝트로의 입력이면, UI 이벤트 처리부(15)는 도 4b에 나타내는 스탠드-얼론의 공기조절기 리모컨 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)로 전환하도록 지시한다.
스텝 S81에서 스탠드-얼론 UI의 기동을 UI 생성부(13)에 지시한 뒤, UI 이벤트 처리부(15)는, 계시부(14)의 스탠드-얼론 UI 유지 타이머를 기동한다(스텝 S82). 그 후, UI 이벤트 처리부(15)는 스텝 S71에 돌아와 처리를 계속한다. 스텝 S71에서 표시된 상태로 스탠드-얼론 UI에 이벤트가 발생하지 않으면, 즉 유저의 입력이 없으면, UI 이벤트 처리부(15)는, 기동중의 스탠드-얼론 UI유지 타이머가 소정 기간을 넘어 카운트되어 기간이 경과했는지를 판정한다(스텝 S85). 스텝 S85에서, 스탠드-얼론 UI유지 타이머의 소정 기간이 만료하고 있지 않으면, UI 이벤트 처리부(15)는 스텝 S71로 돌아간다. 한편, 스텝 S85에서 스탠드-얼론 UI유지 타이머의 소정 기간이 만료한 경우, UI이벤트 처리부(15)는, 현재의 스탠드-얼론 UI로부터, 스탠드-얼론 UI로 바꾸기 전의 합성 UI로 복귀하도록 UI생성부(13)에 지시한다(스텝S86).
따라서, 예를 들면, 도 9에 나타내는 합성 UI에 스탠드-얼론 UI기동 오브젝트로의 입력이 있으면, 디스플레이는 도 4a 또는 b에 나타내는 스탠드-얼론 UI로 전환되고, 스탠드-얼론 UI가 표시되고 나서 소정 기간 아무 입력이 없으면, 디스플레이는 도 9에 나타내는 이전 합성 UI로 복귀한다.
또한, 스텝 S71에서, 표시된 상태의 스탠드-얼론 UI에 이벤트가 있으면, 즉 유저의 입력이 있으면, UI이벤트 처리부(15)는, 스탠드-얼론 UI유지 타이머가 기동중인가를 판정한다(스텝 S72). 합성 UI로부터 교체된 후 스탠드-얼론 UI가 기동중에 스탠드-얼론 UI유지 타이머가 기동하고 있기 때문에, 이 경우, UI이벤트 처리부(15)는, 스탠드-얼론 UI유지타이머가 카운트하는 소정 시간의 만료 기간을 갱신하고(스텝 S84), 다음의 스텝 S73으로 이행한다.
따라서, 예를 들면 도 9에 나타내는 합성 UI로부터 도 4a 또는 b에 나타낸 스탠드-얼론 UI를 기동시켰을 경우, 디스플레이는 입력이 없는 채 일정시간이 경과한 뒤 이전 합성 UI로 돌아오지만, 스탠드-얼론 UI에 입력이 있으면, 스탠드-얼론 UI를 표시하는 기간이 연장된다.
상기 서술된 것같이, 본 실시의 형태에 의하면, 합성 UI에 대한 조작 입력에 의해, 원래의 합성 UI인 스탠드-얼론 UI로 용이하게 바꿀 수가 있다. 또한, 합성 UI로부터 스탠드-얼론 UI로 전환한 후, 스탠드-얼론 UI가 사용되는 시간에 따라서 스탠드-얼론 UI가 표시되는 것이 유지된다. 또한, 스탠드-얼론 UI를 소정시간 방치하는 것으로, 이전 합성 UI로 되돌릴 수도 있다.
(제2 실시예)
다음에, 본 발명의 제2 실시예에 따르는 스탠드-얼론 UI 전환 처리에 대해 설명한다. 본 실시의 형태에 따르면, 상술한 제1 실시예에서, 도 8의 스텝 S55에서 실시하는 스탠드-얼론 UI기동용 UI오브젝트 생성 처리를 변경한다.
상술한 제1 실시예에 따르면, 합성 UI로부터 스탠드-얼론 UI로 전환하기 위해 새로운 UI 오브젝트가 생성된다. 그러나, 제2 실시예에 따르면, 스탠드-얼론 UI에 포함된 기존의 UI오브젝트에 대해서, 합성 UI로부터 스탠드-얼론 UI로 전환하는 기능(액션 정보)이 부가된다.
이를 위해, 스텝 S55에서 실행되는 스탠드-얼론 UI기동 오브젝트 생성 처리에서, 스텝 S53 또는 스텝 S54에서 선택(추출)된 UI 오브젝트가 스탠드-얼론 UI기동 오브젝트로 처리된다.
본 실시의 형태에 따르면, 유저 조작을 받아들이지 않는 종류의 UI 오브젝트가, 버튼 등 유저 조작을 받아들이는 종류의 UI오브젝트로 변경되어, UI 오브젝트를 스탠드-얼론 UI의 기동에 이용하는 UI 오브젝트로서 사용한다. 예를 들면, 표시할 뿐의 "화상"의 UI 오브젝트가 유저 조작을 받아들이는 "버튼"의 UI 오브젝트로 변경됨으로써, 사용 자원은 변경하지 않고 동일한 화상 데이터가 사용되면서, 화상에 버튼의 기능이 추가된다. 즉, 본 실시의 형태에 따르면, 스탠드-얼론 UI기동용 UI오브젝트 생성부(66)는, 기존의 UI오브젝트의 어느 쪽인가에, 스탠드-얼론 UI의 표시로 바꾸는 액션을, 신규의 액션으로 연관시킨다. 특히, 이 경우, 추출한 기존의 UI 오브젝트중 관련된 액션을 가지지 않는 UI 오브젝트가, 스탠드-얼론용 UI로 표시를 바꾸는 액션을, 신규의 액션으로서 연관시킨다. 또, 본실시의 형태에 따르면, 동작 조건으로서 포함되는 액션 정보는, 기동해야 할 스탠드-얼론 UI의 UI 정의 파일을 특정하기 위한 정보(예를 들면 스탠드-얼론 UI의 UI 정의 파일의 파일명)를 기술한다. 따라서, 기존의 UI 오브젝트에 대해서 신규의 액션이 부가되기 때문에, UI 이벤트 처리부(15)는 UI 오브젝트에 유저의 입력이 검지되었을 때, 신규의 액션에 근거해 스탠드-얼론 UI를 기동하는 처리를 실시할 수가 있다.
도 11은, 본 실시의 형태에 따른 스탠드-얼론 UI 기동 오브젝트의 생성 처리가 실시되어, 스탠드-얼론 UI를 합성해 합성 UI를 생성한 예를 나타내는 도이다. 도 11에 나타내는 합성 UI(합성 유저 인터페이스 오브젝트군)에서는, 스탠드-얼론 UI의 사용시는 애플리케이션의 명칭을 표시할 뿐인 UI오브젝트에, 스탠드-얼론 UI 기동 오브젝트로서 유저의 조작 입력을 받아들이는 버튼의 기능이 추가된다. 예를 들면, 도 11의 "TV-RD22 리모컨"을 나타내는 표시부분에 유저가 접촉하는 입력을 받아들이면, UI이벤트 처리부(15)는, 도 4a에 나타내는 스탠드-얼론의 텔레비전 리모컨 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)로 UI를 바꾼다. 또, 도 11에 나타낸 "AC-625 리모컨"을 나타내는 표시부분에 유저가 접촉하는 입력을 받아들이면, UI이벤트 처리부(15)는, 도 4b에 나타내는 스탠드-얼론의 에어 컨디셔너 리모컨 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)로 UI를 바꾼다.
상기 서술된 것 같이, 본 실시의 형태에 따르면, 스탠드-얼론 UI사용시에 유저의 조작 입력을 받아들이지 않는 UI오브젝트가, 합성 UI사용시에 버튼의 UI오브젝트로서 기능하고, 스탠드-얼론 UI로 전환하기 위한 유저의 조작을 접수함에 따라, 해당 버튼이 눌려졌을 때의 이벤트가 처리될 수 있다.
또한, 스탠드-얼론 UI기동 오브젝트로서 처리되는 UI오브젝트는, 스탠드-얼론 UI사용시의 애플리케이션의 명칭을 표시하는 UI오브젝트에 한정되는 것은 아니다. 예를 들면, 버튼 이외의 배경 화상 등, 원래 스탠드-얼론 UI 기동 오브젝트로서 준비되는 UI오브젝트 이외의 임의의 UI 오브젝트를 처리함으로써, 본 실시의 형태에 따른 처리가 실시될 수 있다.
(제3 실시의 형태)
다음에, 본 발명의 제3 실시의 형태에 따르는 스탠드-얼론 UI 전환 처리를 설명한다. 본 실시의 형태에 따르면, 상술한 제2 실시예와 유사하게, 도 8의 스텝 S55에서 실시되는 스탠드-얼론 UI기동용 UI오브젝트 생성 처리가 변경된다.
상술한 제2 실시예에 따르면, 합성 UI에서 선택되고, 기존의 스탠드-얼론 UI에 포함되는 UI오브젝트에 대해서, 합성 UI로부터 스탠드-얼론 UI로 전환하는 기능이 부가된다. 그러나, 제3 실시의 형태에 따르면, 스탠드-얼론 UI에 대해 입력을 받아들이는 기존의 UI 오브젝트에 대해서, 기존의 입력 방식과 다른 방식의 입력을 수신할 때 합성 UI로부터 스탠드-얼론 UI로 전환하는 기능이 부가된다.
이를 위해, 제2 실시예와 동일한 방식으로, 스텝 S55의 스탠드-얼론 UI 기동 오브젝트 생성 처리에 대해, 스텝 S53 또는 스텝 S54에서 선택(추출)된 UI 오브젝트가 처리된다. 이때, 스탠드-얼론 UI에 포함되는 기존의 UI오브젝트에 대해서, 기존의 방식과 다른 방식의 입력을 수신하였을 때 합성 UI로부터 스탠드-얼론 UI로 전환하는 기능(액션 정보)이 부가된다. 예를 들면, 스탠드-얼론 UI기동 오브젝트로 처리되는 UI오브젝트가 "버튼"의 유형이고, 통상 입력으로서 "짧게 누름"의 입력 방식을 액션 정보가 규정하고 있으면, "길게 누름"의 입력 방식이 스탠드-얼론 UI를 기동하는 액션의 실행 조건에 관련되어 규정된다. 즉, 스탠드-얼론 UI 기동용 UI오브젝트 생성부(66)는, 추출한 기존의 UI오브젝트의 어느 쪽인가에 대해서, 스탠드-얼론 UI로 표시를 바꾸는 액션을 추가의 액션으로서 연관시킨다. 이와 같이 하여, 액션 정보에 의해 규정된 동작 조건에 해당하는 이벤트가 발생했을 때에, UI이벤트 처리부(15)는, 액션 정보에 근거해 이벤트의 처리를 실시할 수 있다. "길게 누름"은 유저에 의해 소정 시간 동안 입력 상태가 유지될 때 입력으로 간주되는 방식이며, "짧게 누름"은 "길게 누름"이라고 판정되기 전에 입력 상태가 해제될 때 입력을 의미한다.
도 11에 나타낸 합성 UI(합성 유저인터페이스 오브젝트군)의 2개의 「전원」버튼 각각에 스탠드-얼론 UI 기동용 액션을 첨부하는 경우에 대해 설명한다. 이 합성 UI에서, 전원 버튼을 "짧게 누름" 방식으로 입력하는 것은 각각의 기기를 온/오프 하는 기능이 원래 할당되어 있다. 즉, 유저는, 전원 버튼을 "짧게 누름"에 의해 각각의 기기를 온/오프하는 통상의 조작을 실시할 수가 있다. 본 실시의 형태에 따르면, "길게 누름" 방식으로 각각의 기기의 전원 버튼의 UI 오브젝트를 입력하는 것은 예를 들면, 각각의 스탠드-얼론 UI를 기동하는 액션과 관련된다.
이와 같이 함으로써, 도 11에 나타내는 텔레비전 및 에어 컨디셔너의 합성UI의 "전원"버튼에 "짧게 누름" 입력을 받아들이면, UI이벤트 처리부(15)는, 각 기기의 전원을 온/오프 하는 기능을 실행한다. 한편, 도 11에 나타내는 합성 UI의 텔레비전 리모컨측의 전원 버튼을 "길게 누름"하는 입력을 받아들이면, UI이벤트 처리부(15)는, 도 4a에 나타내는 스탠드-얼론의 텔레비전 리모컨 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)로 표시를 전환한다. 도 11에 나타내는 합성 UI의 에어 컨디셔너 리모컨측의 전원 버튼을 "길게 누름"하는 입력을 받아들이면, UI이벤트 처리부(15)는, 도 4b에 나타내는 스탠드-얼론의 에어 컨디셔너 리모컨 UI(스탠드-얼론용 유저 인터페이스 오브젝트군)로 표시를 전환한다.
본 실시의 형태에 따르면, UI오브젝트에 대해서, 기존의 방식과 상이한 방식의 입력에 의해 스탠드-얼론 UI를 기동하는 기능이 부가된다. 따라서, 스탠드-얼론 UI를 기동하는 입력 방식에 대응하는 액션 정보가, 원래 UI 오브젝트가 가지고 있는, 통상시의 입력 방식을 규정하는 액션 정보와 중첩되지 않게 한다. 예를 들면, 원래 "짧게 누름"과 "길게 누름"의 입력 방식에 의해 실행하는 기능을 구별하고 있는 UI오브젝트에 대해서, "짧게 누름"과 "길게 누름" 이외의 입력 방식(예를 들면, 더블 클릭)이 스탠드-얼론 UI기동용의 액션 정보에 대응하는 입력 방식으로서 규정된다.
본 발명은, 상술한 실시의 형태에만 한정되는 것은 아니고, 다양한 변경 또는 변형이 가능하다. 예를 들면, 제1 실시예에 따르면, 스탠드-얼론 UI 기동 오브젝트의 필요한 수는, 합성 UI의 생성에 사용되는 스탠드-얼론 UI의 수에 대응된다. 그렇지만, 생성된 합성 UI가, 원래의 스탠드-얼론 UI를 구성하는 UI 오브젝트의 대부분을 포함하는 경우 등은, 스탠드-얼론 UI에 돌아오는 것이 그다지 필요하지 않다. 이러한 경우, 이러한 UI에 대해서 스탠드-얼론 UI 기동용 오브젝트를 생략함으로써, 합성 UI생성시에 생성된 스탠드-얼론 UI 기동 오브젝트의 수를 삭감할 수 있다.
또, 상술한 각 실시의 형태에서 휴대전화(1)는, 적외선 통신부(40)에 의해 적외선 통신을 하는 것으로 외부 기기를 원격 조정했지만, 외부 기기와의 통신을 위해, 예를 들면, Bluetooth(등록상표)나 무선 LAN 등의 근거리 통신을 채용할 수 있다.
상술의 각 실시의 형태에서, UI오브젝트 속성 정보는 UI오브젝트 정의 정보에 포함되지만, UI오브젝트 속성 정보가 UI오브젝트 정의 정보에 포함되지 않아도 좋다. 예를 들면, UI오브젝트 정의 정보가 저장되는 기억부(50)의 영역과는 다른 영역에, UI오브젝트 속성 정보가, 대응하는 UI오브젝트 정의 정보와 관련지어 저장될 수 있다.
또, UI오브젝트 속성 정보는, 그 내용이 고정된 상태로 규정될 수 없다. 즉, 예를 들면, 제어부(10)가, UI의 사용 이력 등에 근거해, UI오브젝트 속성 정보의 내용을 동적으로 변경할 수 있다.
또한, UI오브젝트 속성 정보는 미리 정의되어 있지 않아도 좋다. 즉, 제어부(10)가, 기억부(50)에 저장된 UI정의 파일을 해석해, UI정의 파일에 포함되는 UI오브젝트 정의 정보의 내용이나 UI 오브젝트 정의 정보끼리의 관련성, UI의 사용 이력 등에 기초를 두어, UI오브젝트 속성 정보를 생성해도 좋다.
상기 각 실시의 형태에서 UI생성 처리를 개시하는 계기로서, UI를 이용하는 애플리케이션을 기동하는 유저 조작이나, 또 다른 애플리케이션이 이미 실행중일 때, UI를 이용하는 애플리케이션을 기동하는 유저 조작등이 취해진다. 그러나, UI 생성 처리를 개시하는 계기가 되는 동작은 이것들에 한정되지 않는다.
예를 들면, 상기 각 실시의 형태에서, UI생성 장치인 휴대전화(1)는, 무선 LAN이나 Bluetooth등의 근거리 통신이나 RF태그 리더에 의해, UI 생성 장치 주변의 외부 기기에 관한 정보를 취득하고, 취득한 정보에 근거해 UI를 생성할 수 있다. 즉, 이 경우, 휴대전화(1)는, 휴대전화(1) 주변에 있는 외부 기기를 검지함으로써 외부 기기에 관련하는 UI(외부 기기를 조작하는 리모컨 애플리케이션용 UI)를, 유저 조작에 의존하지 않고 자동으로 생성할 수 있다.
또, 상기 각 실시의 형태에서, UI생성 장치인 휴대전화(1)는, GPS에 의해 얻어진 위치 정보 및 시간 정보에 기초해, 생성하는 UI를 선택할 수 있다. 즉, 이 경우, 휴대전화(1)는, 현재 위치의 변화나 미리 설정된 스케줄 등에 기초를 두어, 현재 장소에서 현재 필요한 UI를 자동으로 생성할 수 있다.
또한, 상술한 각 실시의 형태에서, 각 애플리케이션에 대응하는 UI의 UI정의 파일이 미리 UI정의 파일 기억 영역(52)에 기억되어 있지만, 필요한 UI 정의 파일을 외부로부터 필요에 따라 취득할 수 있다. 즉, UI를 생성할 때에, 기억부(50)에 필요한 UI 정의 파일이 기억되어 있지 않은 경우에, 휴대전화(1)의 통신부를 통해 다운로드함으로서 필요한 UI정의 파일을 얻을 수 있다.
이 경우, 도 6에 나타낸 스텝 S11에서, UI를 제공하는 애플리케이션으로부터 UI정의 파일이 지정되어 있으면, 필요한 UI정의 파일이 UI정의 파일 기억 영역(52)에 존재하는지 아닌지 판정된다. 필요한 UI정의 파일이 UI정의 파일 기억 영역(52)에 존재하지 않는 경우, 제어부(10)의 UI취득부(12)는, 무선 통신부(30)를 통해 외부 기기 또는 외부 서버 등(미도시)에서, 필요한 UI정의 파일을 취득한다. 또한, UI정의 파일뿐 아니라 각 애플리케이션도 외부 기기 또는 외부 서버 등(미도시)에서 다운로드해 취득할 수가 있는 것으로 이해한다.
상술한 각 실시의 형태에서, 터치 패널을 갖추는 휴대단말이 UI 합성 처리를 실시한다. 그렇지만, 본 발명에 따른 UI합성 처리에 있어서 터치 패널은 필수의 요소는 아니다. 본 발명은, 예를 들면 다양한 기계식의 키를 갖춘 입력부나, 포인터 등을 이동시켜 UI 오브젝트를 선택 및 판정하는 방향 지시 디바이스를 갖춘 입력부를 갖는 단말 등, 사용자가 UI를 합성해 사용할 수 있는 임의의 단말에 적용할 수 있다.
상술한 각 실시의 형태에서 이용하는 UI정의 파일의 일례로서 XML에 기초한 UIML 형식의 파일의 예가 아래에 도시된다. 이 예에서, UI 오브젝트는〈template>태그에 의해 정의되어 있으며, 그래서 <template> 및 </template>의 사이의 기재가 UI오브젝트 정의 정보에 상당한다. 여기에서는, TV리모컨용 UI를 구성하는 UI정의 파일(TV1_interface.uiml)중에서, "전원" 및 "선국+"의 UI오브젝트의 UI오브젝트 정의 정보의 예를 나타낸다. 밑줄을 붙인 부분 가운데, priority의 속성은 우선도의 정보(수치가 제로에 가까울수록 우선도가 높다)를 나타낸다.
Figure 112011006760623-pct00001
[산업상의 이용 가능성]
본 발명에 의하면, 복수의 UI(합성 UI)를 생성할 때에, 스탠드-얼론 UI오브젝트군의 표시로 바꾸기 위한 UI오브젝트를 표시하거나 스탠드-얼론 UI오브젝트군의 표시로 바꾸는 액션을 기존의 UI오브젝트의 어느 쪽인가에 관련지을 수가 있다. 따라서, 복수의 애플리케이션의 UI를 합성한 다음에도, 지극히 간단한 조작으로, 합성 UI의 소스로서 스탠드-얼론 UI로 전환할 수 있다.
1 휴대전화
10 제어부
11 애플리케이션 실행부
12 유저 인터페이스 취득부
13 유저 인터페이스 생성부
14 타이머부
15 유저 인터페이스 이벤트 처리부
20 터치 패널
22 입력부
24 표시부
30 무선 통신부
40 적외선 통신부
50 기억부
51 애플리케이션 프로그램 기억 영역
52 유저 인터페이스 정의 파일 기억 영역
53 개별 유저 인터페이스 자원 기억 영역
54 공통 유저 인터페이스 자원 기억 영역
55 관련 애플리케이션 프로그램 정보 기억 영역
56 합성 유저 인터페이스 정의 파일 기억 영역
60 유저 인터페이스 합성 처리부
61 유저 인터페이스 오브젝트 정의 정보 해석부
62 유저 인터페이스 오브젝트 선택 처리부
63 합성 유저 인터페이스 정의 파일 생성부
64 자동 레이아웃 처리부
65 유저 인터페이스 자원 정형부
66 스탠드-얼론 UI기동용 유저 인터페이스 오브젝트 생성부

Claims (4)

  1. 애플리케이션 프로그램을 저장할 수 있는 기억부; 및
    상기 기억부에 저장된 애플리케이션 프로그램에 근거해 단일 유저 인터페이스를 생성하도록 지시되면 지시된 유저 인터페이스에 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군을 표시하도록 제어하고, 복수의 유저 인터페이스를 생성하도록 지시되면 지시된 복수의 유저 인터페이스에 각각 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군으로부터 일부가 추출된 유저 인터페이스 오브젝트를 합성 처리해 합성 유저 인터페이스 오브젝트군을 표시하도록 제어하는 제어부를 구비하며,
    상기 제어부는, 복수의 유저 인터페이스를 생성하도록 지시되면, 복수의 유저 인터페이스의 각각을 단독 생성하도록 지시될 때 표시되는 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하기 위해 유저 인터페이스 오브젝트를 표시하는, 유저 인터페이스 생성 장치.
  2. 애플리케이션 프로그램을 저장할 수 있는 기억부; 및
    상기 기억부에 저장된 애플리케이션 프로그램에 근거해 단일 유저 인터페이스를 생성하도록 지시되면 지시된 유저 인터페이스에 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군을 표시하도록 제어하고, 복수의 유저 인터페이스를 생성하도록 지시되면 지시된 복수의 유저 인터페이스에 각각 대응하는 스탠드-얼론 유저 인터페이스 오브젝트군으로부터 일부가 추출된 유저 인터페이스 오브젝트를 합성 처리해 합성 유저 인터페이스 오브젝트군을 표시하도록 제어하는 제어부를 구비하며,
    상기 제어부는, 복수의 유저 인터페이스를 생성하도록 지시되면, 복수의 유저 인터페이스의 각각을 단독 생성하도록 지시될 때 표시되는 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하기 위한 액션을, 상기 추출된 임의의 유저 인터페이스 오브젝트에 연관시키는, 유저 인터페이스 생성장치.
  3. 청구항 2에 있어서,
    상기 제어부는, 상기 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하는 액션을, 상기 추출된 유저 인터페이스 오브젝트 가운데 연관된 액션을 갖지 않는 유저 인터페이스 오브젝트에 신규의 액션으로서 연관시키는, 유저 인터페이스 생성장치.
  4. 청구항 2에 있어서,
    상기 제어부는, 상기 스탠드-얼론 유저 인터페이스 오브젝트군의 표시로 전환하는 액션을, 상기 추출된 임의의 유저 인터페이스 오브젝트에 추가의 액션으로서 연관시키는, 유저 인터페이스 생성장치.
KR1020117002147A 2008-07-30 2009-07-29 유저 인터페이스 생성 장치 KR101276502B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2008196620 2008-07-30
JPJP-P-2008-196620 2008-07-30
PCT/JP2009/063523 WO2010013758A1 (ja) 2008-07-30 2009-07-29 ユーザインタフェース生成装置

Publications (2)

Publication Number Publication Date
KR20110022724A KR20110022724A (ko) 2011-03-07
KR101276502B1 true KR101276502B1 (ko) 2013-06-18

Family

ID=41610457

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117002147A KR101276502B1 (ko) 2008-07-30 2009-07-29 유저 인터페이스 생성 장치

Country Status (4)

Country Link
US (1) US9292307B2 (ko)
JP (1) JP5351165B2 (ko)
KR (1) KR101276502B1 (ko)
WO (1) WO2010013758A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519720B1 (ko) 2013-08-23 2015-05-12 캠프모바일 주식회사 모바일 어플리케이션의 꾸미기 요소 공유 방법 및 그 시스템

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9292307B2 (en) * 2008-07-30 2016-03-22 Kyocera Corporation User interface generation apparatus
US8539487B2 (en) * 2009-09-11 2013-09-17 International Business Machines Corporation Automatically generating compound commands in a computer system
WO2012128361A1 (ja) * 2011-03-23 2012-09-27 京セラ株式会社 電子機器、操作制御方法および操作制御プログラム
US9013510B2 (en) * 2011-07-29 2015-04-21 Google Inc. Systems and methods for rendering user interface elements in accordance with a device type
CN102541547B (zh) * 2011-12-22 2015-12-02 华为技术有限公司 一种为实现控制目标设备的处理方法和装置
KR20130142301A (ko) * 2012-06-19 2013-12-30 삼성전자주식회사 단말기의 메뉴환경 설정 장치 및 방법
CN103902208B (zh) * 2012-12-25 2018-07-03 联想(北京)有限公司 电子设备控制方法及电子设备
US9007632B2 (en) * 2013-03-06 2015-04-14 Ricoh Company, Ltd. Rights management in a distributed scan system
US9092181B2 (en) 2013-03-06 2015-07-28 Ricoh Company, Ltd. Distributed print management
US8867080B2 (en) 2013-03-06 2014-10-21 Ricoh Company, Ltd. Metadata support in a distributed scan system
US9648175B2 (en) 2013-10-30 2017-05-09 Ricoh Company, Ltd. Usage tracking in a distributed scan system
US9189207B2 (en) * 2014-03-11 2015-11-17 Telefonaktiebolaget L M Ericsson (Publ) Methods and systems for dynamic runtime generation of customized applications
US9432734B2 (en) 2014-09-10 2016-08-30 Telefonaktiebolaget L M Ericsson (Publ) Multi-person and multi-device content personalization
US10963539B2 (en) 2014-09-10 2021-03-30 Mk Systems Usa Inc. Interactive web application editor
CN104298443A (zh) * 2014-09-19 2015-01-21 百度在线网络技术(北京)有限公司 一种用于呈现显示界面的方法、装置和系统
MA53837A (fr) 2014-12-18 2021-11-10 Hoffmann La Roche Tetrahydro-pyrido[3,4-b]indoles modulateurs des récepteurs des oestrogènes et leurs utilisations
CN105223862B (zh) * 2015-09-18 2017-11-10 南京创维电器研究院有限公司 一种家用电器及其声音控制方法和系统
CN107122179A (zh) * 2017-03-31 2017-09-01 阿里巴巴集团控股有限公司 语音的功能控制方法和装置
CN108415750B (zh) * 2018-03-08 2022-02-11 广东美的制冷设备有限公司 环境参数的界面显示方法、终端、空气调节器以及服务器
JP6916969B1 (ja) 2018-06-21 2021-08-11 エフ・ホフマン−ラ・ロシュ・アクチェンゲゼルシャフト 3−((1R,3R)−1−(2,6−ジフルオロ−4−((1−(3−フルオロプロピル)アゼチジン−3−イル)アミノ)フェニル)−3−メチル−1,3,4,9−テトラヒドロ−2H−ピリド[3,4−b]インドール−2−イル)−2,2−ジフルオロプロパン−1−オールの固体形態及び置換されたフェニル又はピリジニル部分を含む縮合三環式化合物を調製するための方法とそれらの使用方法
US10853100B1 (en) * 2018-12-10 2020-12-01 Cadence Design Systems, Inc. Systems and methods for creating learning-based personalized user interfaces
CN110162255B (zh) * 2019-05-30 2021-06-01 腾讯科技(深圳)有限公司 单机程序的运行方法、装置、设备及存储介质
US20220300307A1 (en) * 2019-10-01 2022-09-22 Google Llc Providing assistive user interfaces using execution blocks

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122682A (ja) * 1997-10-16 1999-04-30 Nec Corp リモートコントロール送信装置
JP2002345057A (ja) * 2001-05-11 2002-11-29 Yozan Inc リモートコントロール装置

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4855746A (en) * 1984-07-30 1989-08-08 Zenith Electronics Corporation Multiple device remote control transmitter
US5341166A (en) * 1992-02-27 1994-08-23 Video Control Technology, Inc. System for controlling selected devices having unique sets of control codes
JPH07282044A (ja) * 1994-04-14 1995-10-27 Toshiba Corp 情報管理装置及び入力制御方法
JP2001036652A (ja) 1999-07-23 2001-02-09 Nippon Conlux Co Ltd 携帯電話機およびこれを利用した機器遠隔制御方法
US7082576B2 (en) * 2001-01-04 2006-07-25 Microsoft Corporation System and process for dynamically displaying prioritized data objects
JP2003143670A (ja) * 2001-10-31 2003-05-16 Sony Corp リモートコントロールシステム、電子機器、及びプログラム
US6989763B2 (en) * 2002-02-15 2006-01-24 Wall Justin D Web-based universal remote control
US20050132408A1 (en) * 2003-05-30 2005-06-16 Andrew Dahley System for controlling a video display
JP3800626B2 (ja) * 2003-01-30 2006-07-26 ソニー株式会社 制御装置および方法、情報処理装置および方法、記録媒体、並びにプログラム
WO2005055165A1 (en) * 2003-12-03 2005-06-16 Koninklijke Philips Electronics N.V. Method of enabling the configuration of a remote control user interface
US20070136778A1 (en) * 2005-12-09 2007-06-14 Ari Birger Controller and control method for media retrieval, routing and playback
JP2007282044A (ja) * 2006-04-10 2007-10-25 Canon Inc 制御装置、方法及びプログラム
JP2008117061A (ja) 2006-11-01 2008-05-22 Canon Inc 操作入力装置と操作画面カスタマイズ方法
KR100805208B1 (ko) 2007-03-27 2008-02-21 주식회사 펩트론 엑센딘 함유 서방성 제제 조성물, 엑센딘 함유 서방성미립구 및 이의 제조 방법
US9292307B2 (en) * 2008-07-30 2016-03-22 Kyocera Corporation User interface generation apparatus
US8255914B1 (en) * 2008-09-25 2012-08-28 Emc Corporation Information retrieval techniques involving the use of prioritized object requests
US8963694B2 (en) * 2010-12-17 2015-02-24 Sony Corporation System and method for remote controlled device selection based on device position data and orientation data of a user

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11122682A (ja) * 1997-10-16 1999-04-30 Nec Corp リモートコントロール送信装置
JP2002345057A (ja) * 2001-05-11 2002-11-29 Yozan Inc リモートコントロール装置

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR101519720B1 (ko) 2013-08-23 2015-05-12 캠프모바일 주식회사 모바일 어플리케이션의 꾸미기 요소 공유 방법 및 그 시스템

Also Published As

Publication number Publication date
US20110131513A1 (en) 2011-06-02
US9292307B2 (en) 2016-03-22
JP5351165B2 (ja) 2013-11-27
JPWO2010013758A1 (ja) 2012-01-12
WO2010013758A1 (ja) 2010-02-04
KR20110022724A (ko) 2011-03-07

Similar Documents

Publication Publication Date Title
KR101276502B1 (ko) 유저 인터페이스 생성 장치
JP5406176B2 (ja) ユーザインタフェース生成装置
KR101256016B1 (ko) 유저인터페이스 생성장치
KR101256014B1 (ko) 유저인터페이스 생성장치
KR101450640B1 (ko) 유저인터페이스생성장치
JP5680404B2 (ja) ユーザインタフェース生成装置
KR101201856B1 (ko) 유저인터페이스생성장치
US20070078857A1 (en) Method and a device for browsing information feeds
US20050184999A1 (en) Portable information apparatus, character display method in portable information apparatus, and program product for implementing the method
JPH1023117A (ja) 携帯電話装置
JP5468923B2 (ja) 携帯端末装置
JP4554333B2 (ja) 携帯端末、携帯端末の制御方法及びプログラム

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
AMND Amendment
X701 Decision to grant (after re-examination)
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20160517

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20170522

Year of fee payment: 5

LAPS Lapse due to unpaid annual fee