KR20140079428A - 동적이고 구성가능한 사용자 인터페이스 - Google Patents

동적이고 구성가능한 사용자 인터페이스 Download PDF

Info

Publication number
KR20140079428A
KR20140079428A KR1020147010705A KR20147010705A KR20140079428A KR 20140079428 A KR20140079428 A KR 20140079428A KR 1020147010705 A KR1020147010705 A KR 1020147010705A KR 20147010705 A KR20147010705 A KR 20147010705A KR 20140079428 A KR20140079428 A KR 20140079428A
Authority
KR
South Korea
Prior art keywords
context
information
user
mobile device
subset
Prior art date
Application number
KR1020147010705A
Other languages
English (en)
Other versions
KR101847097B1 (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 KR20140079428A publication Critical patent/KR20140079428A/ko
Application granted granted Critical
Publication of KR101847097B1 publication Critical patent/KR101847097B1/ko

Links

Images

Classifications

    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/20Services signaling; Auxiliary data signalling, i.e. transmitting data via a non-traffic channel
    • 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]
    • 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/016Input arrangements with force or tactile feedback as computer generated output to the user
    • 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/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; 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04WWIRELESS COMMUNICATION NETWORKS
    • H04W4/00Services specially adapted for wireless communication networks; Facilities therefor
    • H04W4/50Service provisioning or reconfiguring

Abstract

일부 실시예들에서, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법이 제공된다. 방법은 모바일 디바이스를 통해, 모바일 디바이스의 사용자로부터 입력을 수신하는 단계 ― 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―; 문맥을 결정하는 단계; 정보 큐우들의 세트의 서브세트를 식별하는 단계 ― 서브세트는 문맥과 연관됨 -; 및 모바일 디바이스를 통해, 식별된 서브세트를 사용자에게 지배적으로 제시하는 단계 ― 제시는 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 지배적이며, 제시는 수신된 사용자 입력과 일치함 ―; 를 포함할 수도 있다.

Description

동적이고 구성가능한 사용자 인터페이스{DYNAMIC AND CONFIGURABLE USER INTERFACE}
관련 출원들에 대한 상호 참조들
[0001] 본 출원은 "DYNAMIC AND CONFIGURABLE USER INTERFACE"이란 명칭의 2011년 9월 22일 출원된 미국 가출원 제61/537,684호 및 "DYNAMIC AND CONFIGURABLE USER INTERFACE"이란 명칭의 2012년 1월 6일 출원된 미국 정식 출원 제13/344,735호의 이익 및 우선권을 주장한다. 이들 참조들 각각은 그 전체가 참조로 여기에 통합된다.
[0002] 모바일 디바이스들은 점점 널리 보급되고 다재다능해지고 있다. 예를 들어, 다양한 세트의 프로그램들이 셀룰러 전화들 및 휴대 정보 단말기(PDA)상에서 실행될 수 있다. 추가로, 모바일 디바이스들은 다양한 타입의 정보(예를 들어, 뉴스 또는 교육용 지도서들)를 사용자에게 제시할 수 있다. 모바일 디바이스의 사용자 인터페이스는 사용자가 (예를 들어, 프로그램과 연관된 그래픽 아이콘을 선택함으로써) 실행하도록 프로그램을 선택하게 하고 그리고/또는 특정한 가용 정보를 시청하게 할 수 있다. 사용자가 프로그램을 쉽게 선택할 수 없거나 정보를 시청할 수 없다면, 프로그램 또는 정보의 값이 감소된다. 따라서, 사용자가 원하는 프로그램들 및 정보에 쉽게 액세스하게 하는 사용자 인터페이스를 제공하는 것이 중요하다.
[0003] 모바일 디바이스들의 사용자들에게 이용가능한 사용자 인터페이스들을 향상시키기 위한 기법들이 제공된다. 동적으로 구성된 사용자 인터페이스 또는 디스플레이가 가용 프로그램들 및/또는 정보의 타입들을 식별하는 정보 큐우들(cues)(예를 들어, 경고들)을 소정의 문맥에 상이하게 의존하여 사용자에게 제시하기 위해 생성될 수도 있다. 예를 들어, 프로그램들 및/또는 정보 타입들이 서브세트와 연관된 정보 큐우들(예를 들어, 그래픽 아이콘들)은 문맥에 기초하여 식별될 수도 있고 (예를 들어, 그래픽 아이콘, 애니메이팅된 시각적 제시, 음향 등을 사용하여) 사용자에게 제시될 수도 있다. 한편, 일부 경우들에서, 문맥과 연관되지 않은 다른 프로그램들 및/또는 정보 타입들과 연관된 정보 큐우들은 제시되지 않거나 (예를 들어, 더 작은 아이콘 사이즈, 작은 애니메이션 또는 무 애니메이션(no animation), 작은 음향 또는 무음향(no sound) 등을 사용하여) 덜 지배적으로(less prominently) 제시된다. 사용자는 문맥 연관 정보 큐우들의 제시에 관한 특성을 적어도 부분적으로 정의할 수도 있다. 예를 들어, 사용자는 스크린의 동적 부분을 적어도 부분적으로 정의할 수도 있고, 여기서, 동적 부분에서의 정보 큐우들의 제시는 문맥에 의존하여 변화한다(예를 들어, 제시된 정보 큐우들의 아이덴티티 또는 큐우들의 다른 제시 특성들을 변화시킨다) 사용자는 터치 스크린을 사용하여 동적 영역의 주변을 정의할 수도 있고, 동적 영역 구성들의 시스템 제공 옵션들 사이에서 선택할 수도 있고, 스크린의 퍼센티지를 동적이도록 식별할 수도 있다. 그 후, 문맥들은 사용자 입력 또는 시스템 추론들에 기초하여 결정될 수도 있다. 프로그램들 및/또는 정보 타입의 서브세트가 사용자 입력들 및/또는 시스템 알고리즘들(예를 들어, 뉴럴 네트워크의 사용)에 기초하여 문맥과 연관될 수도 있다. 서브세트는 문맥을 고려할 때 강화된 관심이 있는 것으로 예측되거나 알려진 프로그램들 및/또는 정보 타입들을 포함할 수도 있다. 서브세트와 연관된 정보 큐우들은 (예를 들어, 동적 부분에서 서브세트에 대한 그래픽 아이콘들 또는 텍스트를 단지 디스플레이하고, 서브세트의 제시들을 애니메이팅하고, 서브세트의 하나 또는 그 초과의 것에 링크된 음향 클립(들)을 플레이하는 등의) 지배적(predominate) 방식으로 사용자에게 제시될 수도 있다. 그 후, 사용자는 문맥을 고려할 때 특정한 관심의 프로그램들 및/또는 정보 타입들을 쉽게 식별하고 그리고/또는 그에 액세스할 수도 있다.
[0004] 일부 실시예들에서, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법이 제공된다. 방법은 모바일 디바이스를 통해, 모바일 디바이스의 사용자로부터의 입력을 수신하는 단계 ― 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―; 문맥을 결정하는 단계; 정보 큐우들의 세트의 서브세트를 식별하는 단계 ― 서브세트는 문맥과 연관됨 ―; 및 모바일 디바이스를 통해, 식별된 서브세트를 사용자에게 지배적으로 제시하는 단계 ― 제시는 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 지배적이며, 제시는 수신된 사용자 입력과 일치함 ―; 를 포함할 수도 있다. 정보 큐우들의 세트는 프로그램과 연관된 그래픽 아이콘을 포함할 수도 있고, 프로그램은 모바일 디바이스상에서 실행된다. 정보 큐우들의 세트는 문맥의 경고를 포함할 수도 있다. 정보 큐우들의 세트는 거래(deal)의 경고를 포함할 수도 있다. 문맥은 이전에 수신된 문맥 정의 사용자 입력에 기초하여 결정될 수도 있다. 이전에 수신된 문맥 정의 사용자 입력은 정보 큐우들의 세트의 서브세트를 디스플레이하는 하나 또는 그 초과의 조건들을 식별할 수도 있다. 하나 또는 그 초과의 조건들은 하나 또는 그 초과의 특정 전송자들로부터 이메일을 수신하는 것을 포함할 수도 있다. 입력은 식별된 서브세트를 시각적으로 제시하기 위해 모바일 디바이스상의 스크린의 동적 부분의 실제 또는 대략적인 경계를 포함할 수도 있다. 입력은 하나 또는 그 초과의 터치 스크린을 드로잉한 경계들(touch-screen-drawn borders)을 포함할 수도 있다. 동적 부분은 모바일 디바이스상의 스크린의 복수의 영역들을 포함할 수도 있고, 복수의 영역들은 스크린의 일부(less than an entirety)를 커버한다. 식별된 서브세트는 모바일 디바이스상의 스크린의 시스템 정의 부분내에 시각적으로 제시될 수도 있다. 정보 큐우들의 세트의 하나 또는 그 초과의 정보 큐우들은 복수의 문맥들과 연관된다. 식별된 서브세트에는 적어도 하나의 스크롤링 특징이 제시될 수 있어서, 식별된 서브세트는 모바일 디바이스의 스크린상에 전체적으로 동시에 제시되지 않는다. 방법은 정보 큐우들의 세트의 정보 큐우들의 적어도 일부를 랭킹하는 단계를 더 포함할 수도 있고, 식별된 서브세트의 제시는 랭킹에 적어도 부분적으로 기초한다. 정보 큐우들의 세트의 식별된 서브세트의 정보 큐우들 각각의 제시와 연관된 스크린 위치는 랭킹에 적어도 부분적으로 기초할 수도 있다. 입력은 복수의 시스템 생성 스크린 파티셔닝 옵션들 사이의 선택을 포함할 수도 있다. 식별된 서브세트를 지배적으로 제시하는 단계는 정보 큐우들의 세트에서 다른 정보 큐우들과 연관된 그래픽 아이콘들의 임의의 디스플레이에 비교하여 서브세트와 연관된 그래픽 아이콘들을 지배적으로 디스플레이하는 단계를 포함할 수도 있다. 일부 경우들에서, 서브세트에서의 정보 큐우들은 모바일 디바이스의 디스플레이 스크린상에서 사용자에게 시각적으로 제시되고, 다른 정보 큐우들은 디스플레이 스크린상에서 사용자에게 시각적으로 제시되지 않는다. 일부 경우들에서, 서브세트에서의 정보 큐우들은 모바일 디바이스의 데스크탑 또는 홈 스크린상에서 사용자에게 시각적으로 제시되고, 다른 정보 큐우들은 데스크탑 또는 홈 스크린상에서 사용자에게 시각적으로 제시되지 않는다. 서브세트는 문맥이 결정되었다는 것을 나타내는 정보 큐우를 포함할 수도 있다. 문맥이 결정되었다는 것을 나타내는 정보 큐우는 모바일 디바이스의 음향 및 진동 중 적어도 하나를 사용하여 사용자에게 제시될 수도 있다. 문맥은 환경적 문맥(environmental context)일 수도 있다. 방법은 모바일 디바이스를 통해, 정보 큐우들의 정적 문맥 의존 세트를 사용자에게 제시하는 단계를 더 포함할 수도 있다. 모바일 디바이스는 셀룰러 폰일 수도 있다. 방법은 하나 또는 그 초과의 문맥 연관 변수들을 수신하는 단계를 더 포함할 수도 있고, 여기서, 문맥을 결정하는 단계는 수신된 하나 또는 그 초과의 문맥 연관 변수들에 기초하여 문맥을 추론하는 단계를 포함한다. 방법은 제 2 문맥을 결정하는 단계; 정보 큐우들의 동적 세트의 제 2 서브세트를 식별하는 단계 ― 제 2 서브세트는 제 2 문맥과 연관됨 ―; 및 모바일 디바이스를 통해, 동적 세트에서 다른 정보 큐우들의 임의의 제시에 비교하여 제 2 서브세트를 지배적으로 제시하는 단계를 더 포함할 수도 있고, 여기서, 제시는 수신된 사용자 입력과 일치하고 제 2 서브세트는 서브세트와 상이하다. 서브세트는 프로그램들을 문맥과 연관시키는 사용자 입력들에 적어도 부분적으로 기초하여 식별될 수도 있고, 프로그램들은 모바일 디바이스상에서 실행가능하다. 방법은 모바일 디바이스상에서 실행가능한 프로그램과 사용자의 상호작용들을 모니터링하는 단계; 사용자의 상호작용들과 문맥 연관 변수 사이의 상관을 식별하는 단계; 문맥 연관 변수의 값을 수신하는 단계; 및 식별된 상관 및 수신된 값에 기초하여 문맥을 추론하는 단계를 더 포함할 수도 있다.
[0005] 일부 실시예들에서, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템이 제공된다. 시스템은 모바일 디바이스의 사용자로부터 입력을 수신하도록 구성된 입력 컴포넌트 ― 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―; 문맥을 결정하도록 구성된 문맥 검출기; 결정된 문맥을 정보 큐우들의 세트의 서브세트와 연관시키도록 구성된 연관기(associator); 및 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시와 비교하여 서브세트를 지배적으로 제시하는 사용자 인터페이스를 생성하도록 구성된 사용자 인터페이스 생성기를 포함할 수도 있고, 여기서, 서브세트의 제시는 수신된 사용자 입력과 일치한다. 사용자 인터페이스 생성기는 동적 문맥 의존 정보 큐우들을 디스플레이하는 모바일 디바이스의 디스플레이의 부분을 정의하기 위한 디스플레이 분배기(display apportiioner)를 포함할 수도 있고, 이 정의는 사용자 입력에 의존한다. 문맥 검출기는 복수의 문맥 정의들을 적어도 주기적으로 조정하도록 구성된 적응형 모델을 포함할 수도 있다. 연관기는 문맥들과 정보 큐우들의 동적 세트의 부분들 사이의 연관들을 적어도 주기적으로 조정하도록 구성된 적응형 모델을 포함할 수도 있다.
[0006] 일부 실시예들에서, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템이 제공된다. 시스템은 모바일 디바이스의 사용자로부터의 입력을 수신하도록 구성된 입력 디바이스 ― 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―; 및 문맥을 결정하고; 정보 큐우들의 세트의 서브세트를 식별하고 ― 서브세트는 문맥과 연관됨 ―; 그리고 식별된 서브세트를 사용자에게 지배적으로 제시하기 위해 사용자 인터페이스를 생성하기 위한 컴퓨터 실행가능 명령들로 프로그래밍된 하나 또는 그 초과의 프로세서들을 포함할 수도 있고, 제시는 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 지배적이며, 제시는 수신된 사용자 입력과 일치한다. 모바일 디바이스는 하나 또는 그 초과의 프로세서들을 포함할 수도 있다. 외부 컴퓨터가 하나 또는 그 초과의 프로세서들 중 적어도 하나를 포함할 수도 있고, 외부 컴퓨터는 무선 접속을 통해 모바일 디바이스에 커플링된다. 모바일 디바이스는 하나 또는 그 초과의 문맥 연관 변수들을 모니터링하도록 구성된 하나 또는 그 초과의 센서들을 더 포함할 수도 있다.
[0007] 일부 실시예들에서, 사용자 인터페이스를 생성하는 시스템이 제공된다. 시스템은 모바일 디바이스의 사용자로부터 입력을 수신하기 위한 수단 ― 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―; 문맥을 결정하기 위한 수단; 정보 큐우들의 세트의 서브세트를 식별하기 위한 수단 ― 서브세트는 문맥과 연관됨 ―; 및 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시와 비교하여 식별된 서브세트를 지배적으로 제시하기 위한 수단을 포함할 수도 있고, 여기서, 제시는 수신된 사용자 입력과 일치한다. 문맥을 결정하기 위한 수단은 클러스터링 알고리즘을 사용하는 것을 포함할 수도 있다. 서브세트를 식별하기 위한 수단은 뉴럴 네트워크를 사용하는 것을 포함할 수도 있다. 입력 수신 수단은 터치 스크린을 포함할 수도 있다.
[0008] 도 1은 모바일 디바이스에 대한 사용자 인터페이스를 생성하는 시스템의 실시예를 도시한다.
[0009] 도 2는 동적 사용자 인터페이스를 구성하는 본 발명의 실시예에 따른 방법을 도시한다.
[0010] 도 3은 동적 사용자 인터페이스를 구성하는 본 발명의 실시예에 따른 방법을 도시한다.
[0011] 도 4는 문맥에 기초하여 프로그램들 및/또는 정보 타입들을 식별하는 방법의 실시예를 도시한다.
[0012] 도 5는 문맥 의존 변수들, 문맥들, 프로그램들, 및 정보 타입들 사이의 연관들의 실시예를 도시한다.
[0013] 도 6은 모바일 디바이스의 스크린의 예를 도시한다.
[0014] 도 7은 문맥을 추론하고 디스플레이를 생성하는 시스템의 실시예를 도시한다.
[0015] 도 8의 컴퓨터 시스템의 실시예를 예시한다.
[0016] 모바일 디바이스들의 사용자들에게 이용가능한 사용자 인터페이스들을 향상시키기 위한 방법들, 디바이스들, 및 시스템들이 제공된다. 현재, 모바일 디바이스들은 다수의 프로그램들들 및 정보 타입들을 지원한다. 그러나, 모바일 디바이스의 디스플레이의 소형 사이즈를 고려할 때 모든 가용 프로그램들 및 정보의 타입들을 식별하는 정보 큐우들을 사용자에게 제시하는 것은 바람직하지 못하거나 불가능할 수도 있다. 본 발명의 일부 실시예들은 동적으로 구성된 사용자 인터페이스 또는 디스플레이를 생성하는 것에 관한 것이다. 사용자는 동적 사용자 인터페이스 또는 디스플레이에 관한 특성을 적어도 부분적으로 정의할 수도 있다. 예를 들어, 사용자는 정보 큐우들의 제시가 문맥에 걸쳐 변화하는 스크린의 부분을 적어도 부분적으로 정의할 수도 있다. 문맥은 예를 들어, 사용자 입력 또는 시스템 추론들에 기초하여 결정될 수도 있다. (예를 들어, 각각이 가용 프로그램을 식별할 수도 있거나 특정한 타입의 정보를 제시할 수도 있는) 특정한 정보 큐우들이 (예를 들어, 사용자 입력들 또는 시스템 분석들에 기초한) 문맥과 연관될 수도 있다. 사용자 인터페이스는 사용자가 특정한 정보 큐우와 연관된 프로그램 또는 정보를 식별하고 그리고/또는 그에 액세스하게 하도록 구성될 수도 있다. 예를 들어, 스크린의 정의된 동적 부분은 특정한 프로그램들과만 연관된 그래픽 아이콘들 또는 텍스트를 디스플레이할 수도 있고, 특정한 프로그램들의 제시들은 (예를 들어, 아이콘 사이즈를 증가시키고, 애니메이션을 추가하고, 아이콘-링크된 클립들을 추가함으로써) 강조될 수도 있고, 그리고/또는 사용자에게는 (예를 들어, 디바이스의 진동, 음향 신호, 섬광 디스플레이 등을 통해) 문맥 또는 연관된 프로그램/정보 타입에 관하여 경고될 수도 있다.
[0017] 일부 경우들에서, 문맥은 환경적 문맥이다. 환경적 문맥은 위치 문맥(예를 들어, 샌디에고 다운타운, 15번가, "작업" 위치, 외부, GPS 좌표, 자유의 여신상 근처, Moe's Pizza 근처, 휴게소 근처 등), 세팅(setting) 문맥(예를 들어, 여행, 직장, 홈 등), 활동(activity) 문맥(예를 들어, 야구 게임, 영화, 미팅, 저녁, 스터딩(studying) 등), 연관 사람 문맥(예를 들어, Betty와 미팅, Bill이 근처에 있음, Ann이 말하는 중임, Peter가 근처 있을 거 같음 등), 또는 시간 문맥(예를 들어, 월요일, 주말, 저녁, 저녁 9시, 1월 등)을 포함할 수도 있다. 일부 경우들에서, 문맥은 이벤트-검출 문맥이다. 이벤트-검출 문맥은 예를 들어, 사용자 액션(예를 들어, 아이콘의 선택, 특정한 키의 타이핑, 프로그램과 특정한 상호작용, 일정 기간 동안 디바이스의 미사용, 유지된 타이핑, 문서 보기 등), 프로그램의 개시, 또는 (예를 들어, 프로그램에 의해 검출된) 트리거의 검출을 포함할 수도 있다. 트리거는 사용자/디바이스와 독립적일 수도 있어서, 사용자/디바이스의 존재에 의해 실질적으로 영향을 받지 않는다(예를 들어, 주가 변동, 기상 주의보, 항공권 거래, 구두 한 켤레 판매, 다른 소셜 네트워킹 계정의 업데이트, 특정한 저널에 의한 새로운 이슈의 공개, 특정한 토픽에 새로운 기사의 공개 등에 기초한 트리거). 다른 경우들에서, 트리거는 사용자/디바이스에 적어도 부분적으로 의존한다(예를 들어, 모바일 디바이스의 배터리, 사용자 계정에 의해 수신된 신규 이메일 등에 기초한 트리거).
[0018] 일부 문맥들은 상호 배타적일 수도 있고(예를 들어, 아침 및 저녁 또는 Moe's Pizza 및 직장), 다른 문맥들은 그렇지 않을 수도 있다(예를 들어, 아침 및 집) 문맥들은 (예를 들어, 사전 판매 세팅들에 기초하여) 사전 정의될 수도 있거나 사전 정의되지 않을 수도 있다. 일부 실시예들에서, 예를 들어, 문맥은 더욱 상세히 후술하는 바와 같이, 문맥 연관 변수들의 특정한 값들을 반복적으로 관측하는 것에 기초하여 정의된다. 문맥에는 특정한 명칭(예를 들어, "Home") 또는 일반 명칭(예를 들어, "문맥 A")이 부여되거나 부여되지 않을 수도 있다. 일부 실시예들에서, 사용자는 사전 정의되거나 학습된 문맥의 명칭을 입력할 수도 있다.
[0019] 더욱 상세히 후술하는 바와 같이, 문맥이 결정된 이후에, 디스플레이는 사용자에게 관심이 있을 것 같은 프로그램들 및/또는 정보 타입들을 통지하기 위해 정보 큐우들을 제시하도록 구성될 수도 있다. 일례로서, 시스템은 전화의 GPS 데이터 및/또는 시각에 기초하여 사용자가 "사무실(office)" 문맥에 있다는 것을 추론할 수도 있거나, 사용자는 그가 "사무실" 문맥에 있다는 것을 특정하는 디바이스에 데이터를 입력할 수도 있다. 시스템은 사용자가 직장 문맥에 있는 동안 프로그램을 빈번하게 사용하고 정보 타입에 액세스하기 때문에, 이메일 애플리케이션 및 기술-개발 정보를 직장에 관련된 것으로 식별할 수도 있다. 딕테이션(dictation) 및 스캐닝 애플리케이션들은 애플리케이션들을 직장 문맥과 연관시키는 사용자 입력에 기초하여 직장 관련 프로그램들로서 또한 식별될 수도 있다. 다른 애플리케이션들(예를 들어, 스포츠 뉴스 애플리케이션들 또는 운동-로깅(exercise-logging) 애플리케이션) 및 정보 타입들(예를 들어, 골프 뉴스)은 직장 문맥과 연관되는 것이 아니라 다른 문맥들과 연관된다. 그 후, 직장 연관 프로그램들이 사용자에게 지배적으로 제시된다. 예를 들어, 사용자는 그의 스크린의 부분을 "동적"이도록 정의할 수도 있다. 그 후, 직장 관련 애플리케이션들 및/또는 정보 타입들과만 연관된 사용자 또는 머신 선택가능한 아이콘들 또는 텍스트가 이러한 부분에 디스플레이될 수도 있다. 하나 또는 그 초과의 다른 스크린 부분들은 정적일 수도 있고 문맥과 독립적인 아이콘들 및/또는 정보(예를 들어, 웹 브라우징 애플리케이션 아이콘, 전화 애플리케이션 아이콘, 및 기상 정보)를 디스플레이할 수도 있다. 이러한 방식으로, 사용자는 문맥을 고려할 때 가장 사용할 것 같은 프로그램들 및 정보의 타입들에 쉽게 액세스할 수도 있다.
[0020] 다른 예로서, 애플리케이션은 거래를 위해 서버를 트래킹하도록 동작할 수도 있다. 거래의 검출은 이벤트 검출 문맥으로서 정의될 수도 있다. 그 후, 사용자 인터페이스는 (예를 들어, 경고 아이콘을 제시하고, 연관 애플리케이션의 아이콘을 제시하고, 연관 애플리케이션의 아이콘의 제시 또는 외관을 변경하고, 경고 또는 문맥 정보를 제시하고, 디바이스를 진동시키고, 톤을 플레이하는 등에 의해) 거래 또는 문맥의 사용자에게 경고하도록 구성될 수도 있다. (예를 들어, 거래를 구매하기 위한) 특정한 프로그램들 또는 프로그램 특징들이 사용자에게 또한 제시될 수도 있다. 경고는 (예를 들어, 경고 아이콘을 애니메이팅함으로써) 애니메이션을 포함할 수도 있고 그리고/또는 음향 신호를 방출할 수도 있다.
[0021] 도 1은 모바일 디바이스에 대한 사용자 인터페이스를 생성하는 시스템(100)의 실시예를 도시한다. 시스템은 무선 네트워크(115) 및 (클라우드 네트워크를 포함할 수도 있는) 네트워크(들)(130)를 통해 원격 서버(140)와 통신할 수 있는 모바일 디바이스(110)를 포함할 수도 있다. 무선 네트워크(115)는 셀룰러 서비스 제공자의 무선 네트워크를 나타낼 수 있다. 무선 네트워크(115)는 원격 서버(140)와 통신하기 위해 하나 또는 그 초과의 네트워크(들)(130)를 사용할 수 있다. 네트워크(들)(130)는 기업 인트라넷과 같은 하나 또는 그 초과의 사설 네트워크들 및/또는 인터넷과 같은 하나 또는 그 초과의 공중 네트워크들을 포함할 수 있다.
[0022] 모바일 디바이스(110)는 PDA, 태블릿 컴퓨터, 랩탑, 핸드헬드 게임 디바이스, 디지털 카메라 등과 같은 셀룰러 전화 또는 일부 다른 모바일 컴퓨터화된 디바이스를 나타낼 수 있다. 모바일 디바이스(110)는 모바일 디바이스의 주변 물리적 환경으로부터 오디오 데이터(예를 들어, 사람(111)이 발화한 스피치)를 수집하거나 캡처할 수 있는 마이크론폰을 포함할 수 있다. 모바일 디바이스(110)는 오디오 신호들을 방출하기 위한 스피커를 포함할 수도 있다.
[0023] 모바일 디바이스(110)는 디스플레이(예를 들어, 터치 스크린 디스플레이)를 또한 포함할 수도 있다. 디스플레이는 가용 프로그램들 및/또는 정보를 사용자에게 제시하도록 구성될 수도 있다. 예를 들어, 복수의 프로그램들 및/또는 정보의 타입들 또는 그 각각과 연관된 사용자 선택가능 그래픽 아이콘들 또는 텍스트가 디스플레이될 수도 있다. 디스플레이는 적어도 약 0.5, 1, 2, 3, 5, 10, 12, 14, 20, 25, 30, 40 또는 50인치, 약 0.5, 1, 2, 3, 5, 10, 12, 14, 20, 25, 30, 40 또는 50인치, 또는 약 0.5, 1, 2, 3, 5, 10, 12, 14, 20, 25, 30, 40 또는 50인치 미만의 길이 및/또는 폭을 가질 수도 있다.
[0024] 모바일 디바이스(110)는 사용자 입력 컴포넌트를 포함할 수도 있다. 사용자 입력 컴포넌트는 실행할 프로그램의 선택, 시청할 정보의 타입의 선택 또는 사용자 선호도의 세팅과 같은 사용자로부터의 입력을 수신하도록 구성될 수도 있다. 사용자 입력 컴포넌트는 키패드(예를 들어, 숫자 및/또는 알파벳 키패드) 및/또는 (예를 들어, 음성 인식 소프트웨어와 커플링된) 마이크로폰을 포함할 수도 있다. 사용자 입력 컴포넌트는 마우스, 태블릿 펜 및/또는 터치 스크린을 포함할 수도 있다.
[0025] 시스템(100)은 하나 또는 그 초과의 센서들을 포함할 수도 있다. 일부 실시예들에서, 모바일 디바이스(110)는 하나 또는 그 초과의 센서들(예를 들어, 광 검출 센서, 잡음 센서, 압력 센서, 위치 센서, GPS 등)을 포함한다. 일부 실시예들에서, 하나 또는 그 초과의 센서들은 모바일 디바이스(110) 외부에 있다. 예를 들어, 모바일 디바이스 위치 센서는 디바이스가 "샌디에고"에 있다는 것을 나타낼 수도 있고 외부 센서는 샌디에고의 온도를 식별할 수도 있다. 외부 센서들은 모바일 디바이스(110) 및/또는 원격 서버(140)와 무선 통신할 수도 있다.
[0026] 모바일 디바이스(110)는 프로세서(112) 및 스토리지 디바이스(114)를 포함할 수 있다. 원격 서버(140)는 프로세서(142) 및 스토리지 디바이스(144)를 포함할 수 있다. "스토리지 디바이스" 및 "프로세서"를 본원에서는 단수형을 사용하여 지칭하지만, 다중의 스토리지 디바이스들 및 프로세서들이 대신 사용될 수도 있다. 스토리지 디바이스(114 또는 144)는 문맥 데이터(112), 프로그램 데이터(124) 및/또는 사용자 데이터(126)와 같은 데이터를 저장할 수 있다. 데이터(120) 중 일부 또는 모두는 개별 사용자들 또는 모바일 디바이스들에 대해 특정될 수도 있다. 저장된 데이터(120)가 현재 또는 최근의 모바일 디바이스 문맥을 결정하고 그리고/또는 문맥과 연관된 정보 타입들을 결정하기 위해 사용될 수 있다. 연관 프로그램들 및/또는 정보 타입들은 임의의 적합한 방식으로 그리고 임의의 적합한 형태의 데이터의 사용을 통해 결정될 수도 있다. 예를 들어, 관심 프로그램들이 원격 디바이스의 위치, 모바일 디바이스와 연관된 캘린더, 시각, 근처의 랜드마크, 사용자의 입력 등에 관한 데이터에 적어도 부분적으로 기초하여 예측될 수 있다.
[0027] 문맥 데이터(122)는 문맥 연관 변수들 및/또는 복수의 문맥들을 포함할 수도 있다. 예를 들어, 문맥 데이터(122)는 "집"의 문맥과 연관되는 GPS 좌표들의 세트를 포함할 수도 있다. 문맥들의 예들이 상기 제공되었다.
[0028] 문맥 연관 변수들은 현재, 가까운 장래 또는 장래 문맥의 결정을 지원할 수도 있는 임의의 변수들을 포함할 수도 있다. 문맥 연관 변수들의 예들은 GPS 좌표들, (예를 들어, 문맥을 구체적으로 식별하거나 프로그램의 실행을 개시하는) 사용자 입력들; 디바이스 신호 강도, 근처의 블루투스 디바이스들의 검출; 센서에 대한 인접성; 근처의 스피커의 식별; 발화된 워드들의 인식; 단일 발생 또는 반복된 활동 또는 이벤트를 식별하는 이메일들 또는 캘린더들; 사용자 특정 또는 일반 캘린더 이벤트들(예를 들어, 오후 1시 또는 크리스마스에 Bob과의 미팅); 시간 데이터(예를 들어, 날짜, 요일, 시각 등); 공개적으로 송신된 데이터 및/또는 네트워크를 통해 수신된 데이터(예를 들어, 주가, 기상, 간행물, 제품 거래 등);디바이스 이력(예를 들어, 특정한 프로그램의 사용, 디바이스가 온/오프된 시간들 등); 및 사용자 정의 트리거들(예를 들어, 거래 가격 통지 트리거들, 주가 통지 트리거들, 웹사이트 업데이트 트리거들 등)을 포함한다.
{0029] 예를 들어, (디바이스가 다운타운이라는 것을 나타내는) GPS 좌표들, (월요일 오후 3시라는 것을 나타내는) 시간 데이터, (사용자가 딕테이션 프로그램을 막 실행하였다는 것을 나타내는) 사용자 활동, 및 (근처의 화자가 사용자의 보스로서 식별된다는 것을 식별하는) 화자 식별자의 문맥 연관 변수들은 디바이스 및 사용자가 "직장" 문맥에 있다는 것을 프로세서가 추론하게 할 수도 있다. 다른 예로서, (샌디에고와 샌프란시스코 사이의 항공편이 $130에 이용가능하다는 것을 나타내는) 항공료 체크 및 ($140에서 이들 위치들 사이의 항공편들에 대한 트리거를 나타내는) 사용자 정의 트리거의 문맥 연관 변수들은 프로세서가 항공편 가격 검출 이벤트 문맥을 추론하게 할 수도 있다.
[0030] 일부 실시예들에서, 문맥 데이터는 문맥들의 리스트를 포함한다. 예를 들어, 사용자는 하나 또는 그 초과의 문맥 헤딩들(headings)(예를 들어, "직장", "집", "문맥 A", "휴가", "미스크(Misc)" 등)을 입력할 수도 있다.
[0031] 프로그램 데이터(124)는 모바일 디바이스상에서 실행될 수도 있는 프로그램들이 리스트를 포함할 수도 있다. 프로그램은 예를 들어, 애플리케이션 또는 소프트웨어를 포함할 수도 있다. 프로그램 데이터(124)는 모바일 디바이스상에서 시청될 수도 있는 정보의 타입들의 리스트를 또한 포함할 수도 있다. 정보의 타입은 예를 들어, 뉴스, 스포츠 뉴스, 날짜, 외부 온도 등을 포함할 수도 있다. 일부 경우들에서, 정보의 타입은 (예를 들어, 배경) 프로그램의 실행에 의해 결정된다.
[0032] 프로그램 데이터(124)는 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들 각각과 연관된 선택가능 특징과 같은 정보 큐우를 포함할 수도 있다. 예를 들어, 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들은 사용자 선택가능 그래픽 아이콘, 텍스트, 버튼, 또는 다른 옵션과 연관될 수도 있다. 사용자 선택가능 특징의 사용자의 선택은 연관된 프로그램을 실행하게 할 수도 있거나 선택된 타입의 특정한 정보를 디스플레이되게 할 수도 있다. 일부 경우들에서, 사용자는 프로그램을 실행하거나 정보 타입으로부터 정보를 시청하기 위해 사용자 선택가능 특징을 선택할 필요가 없다. 프로그램 데이터(124)는 프로그램 또는 정보 타입의 디스크립션 및/또는 키워드들(예를 들어, 프로그램의 타이틀)을 포함할 수도 있다.
[0033] 프로그램 데이터(124)는 하나 또는 그 초과의 문맥들과 하나 또는 그 초과의 정보 큐우들, 프로그램들 및/또는 정보 타입들 사이의 연관들을 포함할 수도 있다. 정보 큐우는 프로그램 또는 정보 타입과 연관될 수도 있어서, 정보 큐우와 문맥을 연관시키는 것은 프로그램 또는 정보 타입과 문맥을 더 연관시키고, 프로그램 또는 정보 타입과 문맥을 연관시키는 것은 정보 큐우와 문맥을 더 연관시킨다. 일부 실시예들에서, 문맥은 하나 또는 그 초과의 (그리고 일부 경우들에서는, 고정된 수의) 프로그램들 및/또는 정보 타입들과 일반적으로 연관될 수도 있고; 그리고/또는 프로그램/정보 타입은 하나 또는 그 초과의 문맥과 연관될 수도 있고, 일부 실시예들에서는, 문맥은 각각의 개별 또는 연속 연관 가중치를 갖는, 복수의 (또는 모든) 프로그램들 또는 정보 타입들과 연관될 수도 있다. 연관들 및 관련 특징들(예를 들어, 연관 가중치들, 랭킹들 등)은 예를 들어, (더 후술하는) 결정된 문맥을 고려할 때 프로그램을 사용하거나 정보 타입을 시청하는데 있어서 사용자가 얼마나 관심이 있어 하는지의 시스템의 예측들에 기초하고 그리고/또는 (예를 들어, 가중치 또는 프로그램 랭킹을 정의하는) 사용자 입력에 기초할 수도 있다. 시스템 예측은 예를 들어, 프로그래머에 의해 제공된 데이터, 사용자 선호도, 및/또는 특정한 문맥들에서 사용된 프로그램들의 이력 분석에 기초할 수도 있다.
[0034] 특정한 실시예들에서, 상이한 문맥들에 대응하는 프로그램 데이터(124)는 내포된(nested) 구조를 가질 수 있다. 이들 경우들에서, 문맥이 하위(예를 들어, 더욱 정밀한) 레벨에서 결정되면, 문맥의 특이성은 사용하거나 시청하는데 있어서 사용자가 관심을 갖는 프로그램들 또는 정보 타입들에 관한 더욱 정확한 결정을 허용할 수도 있다. 예를 들어, "작업중(at work)"의 상위 레벨 문맥과 반대로, 문맥은 "클라이언트 A와의 미팅"일 수도 있다. 프로세서는 "작업중"인 동인 사용자가 사용하는 일부 프로그램들이 클라이언트 A와 미팅 동안 결코 사용되지 않지만, 다른 프로그램들이 비교적 높은 빈도로 사용된다는 것을 식별할 수도 있다. 예를 들어, 사용자는 클라이언트 A와 미팅 동안 스캐닝 애플리케이션을 결코 사용하지 않을 수도 있지만, 딕테이션 애플리케이션을 루틴하게 사용할 수도 있다. 따라서, 프로그램 아이콘들의 더욱 제한되고 그리고/또는 더 양호하게 주문제작(tailored) 세트가 더욱 정밀한 문맥에서 사용자에게 제시될 수도 있다.
[0035] 사용자 데이터(126)는 사용자에 의해 명백하게 입력된 정보 및/또는 모바일 디바이스의 사용자의 사용에 기초하여 사용자에 관하여 결정된 정보를 포함할 수도 있다. 예를 들어, 사용자 데이터(126)는 특정한 프로그램들 또는 정보 타입들이 하나 또는 그 초과 또는 모든 문맥들에서 지배적으로 디스플레이되어야 한다는 표시자들을 포함할 수도 있다. 사용자 데이터(126)는 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들이 사용자에게 얼마나 제시되어야 하는지(예를 들어, 특정한 사이즈의 그래픽 아이콘들의 디스플레이, 아이콘들 또는 정보의 위치지정, 음향 통지, 디바이스 진동, 텍스트의 애니메이션, 또는 아이콘들 등)에 관한 선호도를 포함할 수도 있다. 사용자 데이터(126)는 하나 또는 그 초과의 기존의 또는 신규 문맥들의 사용자 정의(예를 들어, 명칭 및/또는 디스크립션)을 포함할 수도 있다. 사용자 데이터(126)는 사용자 또는 모바일 디바이스(110)(예를 들어, 모바일 디바이스상의 센서들의 타입들)에 관한 인구통계적 정보를 포함할 수도 있다. 사용자 데이터(126)는 디스플레이의 파티셔닝(예를 들어, 동적인 디스플레이의 부분, 주변, 또는 영역)에 관한 선호도를 포함할 수도 있다.
[0036] 모바일 디바이스(110)의 프로세서(112) 및 서버(140)의 프로세서(142) 중 하나 또는 양자는 모바일 디바이스(110)의 스토리지 디바이스(114) 및/또는 서버(140)의 스토리지 디바이스(144)에 커플링될 수도 있다. 이들 프로세서들 중 하나 또는 양자는 본원에 설명하는 임의의 단계 또는 방법을 수행할 수도 있다. 더욱 상세히 후술하는 바와 같이, 프로세서는 현재의 문맥 또는 장래의 문맥을 결정하기 위해 문맥 데이터(122)를 분석할 수도 있다. 그 후, 프로세서는 문맥과 연관된 프로그램들 또는 정보 타입들을 결정하기 위해 프로그램 데이터(124)를 분석할 수도 있고, 일 실시예에서, 연관된 프로그램들 및/또는 정보 타입들은 시스템 알고리즘들에 의해 초기에 결정되고, 그 후 사용자 데이터(126)(예를 들어, 우선(over-riding) 연관들)에 기초하여 개선된다. 프로그램들 또는 정보 타입들의 결정에 적어도 부분적으로 기초하여, 프로세서는 사용자에게 지배적으로 제시될 하나 또는 그 초과의 정보 큐우들을 식별할 수도 있고, 일부 경우들에서, 모바일 디바이스(110)상의 디스플레이 스크린이 연관된 정보 큐우들을 지배적으로 디스플레이할 수도 있다.
[0037] 도 2를 동적 사용자 인터페이스를 구성하는 본 발명의 실시예에 따른 방법(200)을 도시한다. 205에서, 문맥 의존 제시 특성에 관한 사용자 입력이 수신된다. 제시 특성은 예를 들어, 문맥 연관 프로그램들 및/또는 정보 타입들을 사용자에게 제시하기 위해 사용된 일반적인 신호의 타입(예를 들어, 시각, 오디오, 진동 등)을 나타낼 수도 있다. 다른 예로서, 제시 특성은 프로그램들 및/또는 정보 타입들을 제시하기 위해 사용된 특정한 신호의 타입(예를 들어, 음향 클립, 아이콘들에 대한 인트라-디스플레이 위치, 진동 지속기간 등)을 나타낼 수도 있다. 일부 경우들에서, 제시 특성은 문맥들에 걸쳐 고정된다. 예를 들어, (예를 들어, 가용 프로그램들 또는 정보 타입들을 식별하는) 문맥 의존 정보 큐우들이 스크린의 고정된 부분내에서 지속적으로 제시될 수도 있거나, 진동이 신규 문맥의 식별을 항상 표시할 수도 있다. 일부 경우들에서, 제시 특성은 상이한 문맥들에 대한 상이한 값들, 정의들 등을 포함한다. 사용자 입력은 예를 들어, 디스플레이된 옵션들 중의 선택, 터치 스크린 입력(예를 들어, 문맥 연관 프로그램들 및/또는 정보 타입들을 디스플레이하기 위해 스크린의 부분을 둘러싼 주변을 드로잉하는 것), 수동 입력(예를 들어, 키보드를 사용하여 문맥 연관 프로그램들 및/또는 정보 타입들의 디스플레이에 전용하는 스크린의 퍼센티지를 입력하는 것) 등을 포함할 수도 있다.
[0038] 210에서, 문맥이 결정된다. 문맥 결정이 더욱 상세히 후술된다. 문맥은 사용자 입력들, 이벤트 검출들, 또는 수신된 문맥 연관 변수들에 의해 지원된 추론들에 부분적으로 또는 전적으로 기초하여 결정될 수도 있다.
[0039] 215에서, (예를 들어, 각각이 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들과 연관되는) 문맥 연관 정보 큐우들이 식별된다. 이러한 식별이 더욱 상세히 후술된다. 문맥 연관 정보 큐우들은 사용자 입력들, 프로그램 사용 및 정보 시청의 이력 사용자 특정 분석, 프로그램 디스크립션들 등에 부분적으로 또는 전적으로 기초하여 결정될 수도 있다. 일부 경우들에서, 문맥 연관 프로그램들 및/또는 정보 타입들은 (예를 들어, 개별적으로 또는 문맥 연관 정보 큐우들의 식별의 일부로서) 식별된다. 문맥과 연관된 정보 타입들은 문맥이 식별되었다는(예를 들어, 거래 문맥이 식별되었다는) 통지를 포함하거나 포함하지 않을 수도 있다. 문맥과 연관된 프로그램들은 문맥을 결정하기 위해 적어도 부분적으로 사용된 프로그램을 포함하거나 포함하지 않을 수도 있다.
[0040] 220에서, 문맥 연관 정보 큐우들이 사용자 입력에 따라 제시되어서, 정보 큐우들의 제시는 사용자 입력에 따를 수도 있다. 예를 들어, 사용자가 스크린의 부분을 동적이거나 문맥 의존형인 것으로 정의하면, 문맥 연관 그래픽 정보 큐우들이 정의분 부분에서 제시될 수도 있다. 다른 예로서, 사용자가 (예를 들어, 연관된 그래픽 아이콘들을 확대시키고, 애니메이션을 추가하기 위해) 문맥 연관 정보 큐우들과 연관되는 것으로 신호를 식별하면, 문맥 연관 정보 큐우들은 식별된 신호를 통해 또는 그를 따라 제시될 수도 있다.
[0041] 도 3은 동적 사용자 인터페이스를 구성하는 본 발명의 실시예에 따른 방법(300)을 도시한다. 305에서, 하나 또는 그 초과의 잠재적 문맥 연관 변수들이 식별된다. 문맥 연관 변수들의 예들이 상기 리스트되었다. 변수들은 예를 들어, 표준 세팅들, 사용자 입력들, 식별을 수행하는 모바일 디바이스 또는 프로세서상에 있거나 그와 통신하는 가용 센서들, 또는 프로그램 데이터에 기초하여 식별될 수도 있다.
[0042] 310에서, 문맥 연관 변수들 및 사용자 액션들이 모니터링된다. 사용자 액션들은 예를 들어, (디바이스의 현재 위치를 "집"으로서 식별하는) 사용자 입력들, 디바이스의 실행을 위한 프로그램의 선택, 정보의 타입의 시청 등을 포함할 수도 있다. 315에서, 관련 문맥 연관 변수들이 결정된다. 관련 문맥 연관 변수들은 모니터링된 문맥 연관 변수들 중 어느 것이 빈번하게 결정가능한지, (예를 들어, 임계치 이상 또는 특정한 범위 이내의) 원하는 가변성(variability)을 나타내는지, 적어도 최소의 일관성을 나타내는지, 복수의 범위들내에서 클러스터링되는지, 사용자 액션들과 상관되는지, 문맥들을 고도로 예측할 가능성이 있는지 등을 식별함으로써 결정될 수도 있다. 일부 경우들에서, 사용자는 관련 문맥 연관 변수들을 식별한다. 일부 경우들에서, 잠재적 문맥 연관 변수들 모두는 관련되는 것으로 결정된다.
[0043] 320에서, 관련 문맥 연관 변수들 중 빈번하게 관측된 값들이 식별된다. 관련 문맥 연관 변수들의 값들은 예를 들어, 수들, 정수들, 실수들, 스케일링된 수들, 이진 식별자들, 워드들, 카테고리들 등을 포함할 수도 있다. 빈번하게 관측된 값들은 값들의 하나 또는 그 초과의 범위들을 포함할 수도 있다. 예를 들어, 모니터링된 데이터는 모바일 디바이스가 3개의 GPS 좌표들 중 하나에 매우 번번하게 근접한다는 것을 나타낼 수도 있다. 따라서, 빈번하게 관측된 값들은 3개의 GPS 좌표들을 둘러싸는 GPS 좌표들의 3개의 범위들을 포함할 수도 있다.
[0044] 325에서, 문맥들이 정의된다. 정의된 문맥은 모바일 디바이스가 문맥에 있는지에 관하여 유용한 정보를 제공하는 문맥 연관 변수들의 식별, 모바일 디바이스가 문맥에 있는지에 관하여 얼마나 많은 유용한 정보를 제공하는 다양한 문맥 연관 변수들이 있는지를 나타내는 가중치들, 문맥과 연관된 문맥 연관 변수들의 값들, 및/또는 문맥 명칭을 포함할 수도 있다.
[0045] 일부 실시예들에서, 문맥은 식별된 문맥 연관 변수들의 값들에 기초하여 정의된다. 문맥들은 관련 문맥 연관 변수들의 상이한 특정 값들의 반복된 발생들에 기초하여 정의될 수도 있다. 문맥들은 예를 들어, 관련 문맥 연관 변수들의 값들의 클러스터들을 식별하기 위해 클러스터링 알고리즘(예를 들어, 주요 컴포넌트 분석)을 사용함으로써 정의될 수도 있다. 예를 들어, 모니터링된 데이터는 각 상태가 상이한 지리적 위치, 수신 강도, 및 사용자 선택 링거 톤에 대응하는 2개의 상태들 중 하나에 모바일 디바이스가 빈번하게 있다는 것을 나타낼 수도 있다. 일부 경우들에서, 문맥은 (현재의 위치를 "집"으로서 식별하는) 사용자에 의해 적어도 부분적으로 정의된다.
{0046] 일부 실시예들에서, 문맥은 사용자 입력들에 기초하여 정의된다. 예를 들어, 사용자는 임의의 저장된 문맥들에 부가하여, 4개의 문맥들이 존재하거나 "신규" 문맥이 존재한다는 것을 입력할 수도 있다. 문맥들은 명칭일 수도 있고 아닐 수도 있다. 일부 경우들에서, 하나 또는 그 초과의 문맥들은 사용자가 문맥에 있는지를 추론하기 위해 사용된 임의의 문맥 연관 변수들과 연관되지 않는다. (따라서, 예를 들어, 일부 실시예들에서, 방법(300)은 201, 310, 및/또는 315를 포함하지 않는다). 대신에, 예를 들어, 시스템은 사용자가 소정의 문맥에 있을 때를 나타내기 위해 사용자 입력들에 의존할 수도 있다.
[0047] 330에서, 하나 또는 그 초과의 문맥들이 특정한 프로그램들 및/또는 정보의 타입들과 연관된다. 문맥과 연관된 특정한 프로그램들 및/또는 정보 타입들은 310에서 모니터링된 데이터, 사용자 입력들, 문맥이 정의된 이후에 모니터링된 데이터, 문맥의 분석(예를 들어, 아키텍처-펌(architecture-firm) 작업 세팅), 프로그램들 및/또는 정보 타입들의 다른 사용자의 사용의 분석, 프로그램들 및/또는 정보 타입들의 목적들의 분석 등 중 하나 또는 그 초과의 것에 적어도 부분적으로 기초하여 결정될 수도 있다. 각 문맥은 0개, 하나 또는 그 초과의 프로그램들 및/또는 하나 또는 그 초과의 정보 타입들과 연관될 수도 있다. 연관은 (연관되거나 연관되지 않은) 이진수일 수도 있거나 아닐 수도 있다. 예를 들어, 문맥은 복수의 프로그램들 및/또는 정보 타입들과 연관될 수도 있지만, 연관들의 가중은 프로그램들 및/또는 정보 타입들 중에서 변할 수도 있고, 일부 경우들에서, 가중된 연관은 문맥과 복수의 프로그램들 및/또는 정보 타입들 각각 사이에서 결정된다. 일부 경우들에서, 문맥은 그 후, 특정한 임계치 이상(예를 들어, 특정한 값 이상 또는 가장 높은 가중치들 중의) 연관된 가중치를 갖는 프로그램들 및/또는 정보 타입들과만 연관된다.
[0048] 335에서, 값들은 문맥 연관 변수들 중 적어도 하나에 대해 수신된다. 일부 경우들에서, 수신된 값들은 (예를 들어, 모바일 디바이스의 스피커가 배경 잡음을 측정하도록 활성화되지 않았기 때문에) 문맥을 식별하는데 있어서 유용할 수도 있는 모든 변수들에 대한 값들을 포함하지 않는다. 일부 경우들에서, 수신된 변수의 부재 자체는 문맥 연관 변수의 수신된 값일 수도 있다. 값들은 (예를 들어, 모바일 디바이스(110) 또는 원격 서버(140)에) 자동으로 수신되고 그리고/또는 이용가능할 수도 있거나, (예를 들어, 모바일 디바이스(110) 또는 원격 서버(140)로부터) 값들에 대한 요청에 응답할 수도 있다.
[0049] 340에서, 문맥이 결정된다. 일부 실시예들에서, 문맥은 정의된 문맥들 및 수신된 값들에 기초하여 정의된다. 예를 들어, 정의된 클러스터들 각각은 다양한 문맥 연관 변수들의 값들의 클러스터에 대응할 수도 있다(예를 들어, "클러스터 #1"은 다운타운 위치, 평일, 묵음 링, 및 낮은 배경 잡음에 대응한다). 문맥은 (예를 들어, 엄격한 또는 가중 거리 측정치에 기초하여) 어느 클러스터가 수신된 값들을 가장 밀접하게 포함하는지를 식별함으로써 추론될 수도 있다. 문맥 추론은 신뢰값 또는 범위와 연관될 수도 있고, 일부 경우들에서는, 다중의 문맥들이 추론되고, 각 문맥은 신뢰 메트릭과 연관될 수도 있다. 문맥은 과거, 현재 또는 장래의 문맥을 포함할 수도 있다.
|0050] 일부 실시예들에서, 문맥은 사용자 입력에 부분적으로 또는 전적으로 기초하여 결정된다. 따라서, 일부 경우들에서, 방법(300)은 335에서 문맥 연관 변수들에 대한 값들을 수신하지 않는다. 예를 들어, 사용자는 사용자가 "문맥 B"에 있거나 "집" 문맥에 있다는 것을 나타내는 옵션을 선택할 수도 있고, 일부 실시예들에서, 문맥은 이벤트의 검출에 기초하여 결정된다. 예를 들어, 임계치 이상 상승하는 주가, 임계치 아래로 하락하는 항공료, 신규 영화의 개봉 등은 시스템이 특정한 이벤트 검출 문맥을 결정하게 할 수 있고, 일부 실시예들에서, 문맥은 임의의 문맥 연관 변수들에 관련되지 않고 결정된다.
[0051] 사용자에게는 문맥 결정이 통지될 수도 있다. 예를 들어, (예를 들어, 디바이스 디스플레이 스크린상의) 시각 신호, 애니메이션, 음향 신호, 라디오 신호, 무선 신호, 진동 신호 등이, 문맥이 일반적으로 결정되었거나 특정한 문맥이 결정되었다는 것을 나타낼 수 있다. 예를 들어, 상이한 음향 클립들이 복수의 환경적 문맥들과 연관될 수도 있다. 음향 클립은 디바이스가 연관된 문맥에 있다는 결정시에 플레이될 수 있다.
[0052] 345에서, 프로그램들 및/또는 정보의 타입들이 결정된 문맥에 기초하여 식별된다. 프로그램들 및/또는 정보의 타입들은 결정된 문맥을 고려할 때 사용자에 관심이 있는 것으로 예측되는 것들을 포함할 수도 있다. 프로그램들 및/또는 정보 타입들은 330에서 결정된 문맥과 연관된 것들일 수도 있다. 식별된 프로그램들 및/또는 정보 타입들은 더욱 상세히 후술하는 바와 같이, 프로그램들 및/또는 정보 타입들의 총 동적 세트의 서브세트를 포함할 수도 있고, 일 실시예에서, 단일 문맥이 340에서 결정되고, (330으로부터의) 문맥과 연관된 프로그램들 및/또는 정보 타입들 중 일부 또는 모두는 345에서 식별된 것들이다.
[0053] 다른 실시예들에서, (예를 들어, 신뢰 메트릭과 각각 연관된) 다중이 문맥들이 340에서 결정된다. 특정한 프로그램들 및/또는 정보 타입들은 각 결정된 문맥과 연관된 신뢰 메트릭 및/또는 각 결정된 문맥과 각 프로그램 및/또는 정보 타입 사이의 연관 가중치들에 적어도 부분적으로 기초하여 식별될 수도 있다. 각 프로그램 및/또는 정보 타입에는 문맥 결정 신뢰 메트릭에 의해 승산된 문맥 연관 가중치의 어크로스-문맥(across-context) 합과 동일한 중요값이 할당될 수도 있다. 그 후, 임계치 또는 랭킹 알고리즘이, 어느 프로그램들 및/또는 정보 타입들이 사용자에게 관심이 있는지 결정하기 위해 사용될 수도 있다. 예를 들어, 문맥 결정은 디바이스가 문맥 A에 있는 90% 확률 및 디바이스가 문맥 B에 있는 10% 확률을 포함한다는 것을 가정한다. 또한, 4개의 프로그램들에 대한 연관 가중 벡터들은 문맥 A에 대해 [1, 0.5, 0, .2]이고 문맥 B에 대해 [1, 1, 0.2, 0.5]이다. 4개의 프로그램에 대한 중요값은 0.9*[1, 0.5, 0, .2]+0.1*[1, 1, .2, .5]= [1.0, 0.55, 0.02, 0.23]과 동일하다.
[0054] 식별된 프로그램들 및/또는 정보 타입들 각각은 정보 큐우(예를 들어, 그래픽 아이콘, 시각 효과, 애니메이션, 진동, 정적 텍스트, 시간 의존 텍스트 등)와 연관될 수도 있다. 그 후, 식별된 프로그램들 및/또는 정보 타입들과 연관된 정보 큐우들이 사용자에게 제시될 수도 있다.
[0055] 도 4는 정보 큐우들을 제시하는 방법(400)의 실시예를 도시한다. 405에서, 프로그램들 및/또는 정보 타입들의 제 1 세트가 식별된다. 프로그램들 및/또는 정보 타입들의 제 1 세트는 적어도 부분적으로 문맥 의존형일 수도 있다. 예를 들어, 제 1 세트는 사용자에게 항상 제시되는 프로그램들 및/또는 정보 타입들을 포함할 수도 있다. 일부 실시예들에서, 프로그램들 또는 정보 타입들의 제시와 연관된 하나 또는 그 초과 또는 모든 제시 특징들(예를 들어, 디스플레이 위치, 아이콘 사이즈, 폰트 등)이 문맥 의존형이다. 프로그램들 및/또는 정보 타입들의 제 1 세트는 프로그램들 및/또는 정보 타입들이 문맥들에 걸쳐 유용하다는 예측들에 기초하여 식별될 수도 있다. 이들 예측들은 예를 들어, 모니터링된 사용자 액션들 및/또는 프로그램들 및/또는 정보 타입들의 특정한 유틸리티에 기초할 수도 있다. 프로그램들 및/또는 정보 타입들의 제 1 세트는 사용자 입력들에 기초하여 적어도 부분적으로 또는 전적으로 결정된다.
[0056] 410에서, 현재 또는 장래의 문맥이 결정된다. 문맥은 예를 들어, 도 3에 관하여 설명한 방법에 기초하여 결정될 수도 있다.
[0057] 415에서, 프로그램들 및/또는 정보의 타입들의 제 2 세트가 결정된 문맥에 적어도 부분적으로 기초하여 식별된다. 이러한 방식으로, 제 2 세트의 프로그램들 및/또는 정보 타입들의 아이덴티티들은 결정된 문맥에 의해 영향을 받을 수도 있다. 결정은 예를 들어, 도 3에 관하여 설명한 방법에 기초하여 결정될 수도 있다. 일부 경우들에서, 문맥 의존 프로그램들 또는 정보 타입들의 제 1 세트가 먼저 식별된다. 그 후, 나머지 프로그램들 및/또는 정보 타입들과 하나 또는 그 초과의 문맥들 사이의 연관들이 형성될 수도 있다. 프로그램들 및/또는 정보 타입들의 제 2 세트는 하나 또는 그 초과의 결정된 문맥들과 연관된 것들 중 일부(예를 들어, 모든 프로그램들 및/또는 정보 타입들은 임계치 이상의 특정한 연관 가중치를 가짐) 또는 모두를 포함할 수도 있다(예를 들어, 도 3에 관한 345의 설명을 참조).
[0058] 일부 실시예들에서, 프로그램들 및/또는 정보 타입들의 제 2 세트는 정보 큐우들을 통해 현재 실행하지 않고 그리고/또는 현재 제시되지 않는 프로그램들 및/또는 정보 타입들만을 포함한다. 일부 실시예들에서, 프로그램들 및/또는 정보 타입들의 제 2 세트는 정보 큐우들을 통해 현재 실행하고 그리고/또는 제시되는 것들을 포함할 수도 있다. 프로그램들 및/또는 정보 타입들이 제 2 세트는 문맥을 결정하고 그리고/또는 문맥 연관 변수를 결정하기 위해 사용된 프로그램을 포함하거나 포함하지 않을 수도 있다. 예를 들어, 일부 경우들에서, 프로그램 A가 문맥 A'와 연관된 이벤트를 검출한다. 제 2 세트는 프로그램 A로 이루어질 도 있고, (문맥 A'와 연관된 다른 프로그램들 및/또는 정보 타입들에 부가하여) 프로그램 A를 포함할 수도 있거나, 프로그램 A를 포함하지 않을 수도 있다.
[0059] 일부 경우들에서, 프로그램들 또는 정보의 타입들의 제 2 세트는 적어도 부분적으로 고정된다. 예를 들어, 프로그램들의 제 2 세트는 문맥에 관계없이 적어도 3개의 프로그램들을 포함할 수도 있다. 이러한 경우들에서, 제시 특징들은 결정된 문맥에 기초하여 특정한 프로그램들 및/또는 정보 타입들을 강조하기 위해 제시된 프로그램들 및/또는 정보의 타입에 걸쳐 변할 수도 있다. 일부 경우들에서, 프로그램들 및/또는 정보 타입의 제 2 세트의 아이덴티티는 전체적으로 문맥 의존형이어서, 프로그램들 및/또는 정보 타입들이 결정된 문맥에 관계없이 반드시 제시되는 것은 아니다.
[0060] 일부 경우들에서, 제 2 세트에서의 프로그램들 및/또는 정보의 타입들의 수는 설정수와 동일해야 하거나 설정 범위 이내이어야 한다. 설정수는 사용자 입력으로부터 직접적으로(예를 들어, 사용자는 "4"개의 프로그램들이 스크린의 동적 부분에 디스플레이되어야 한다는 것을 입력함), (예를 들어, 8개의 프로그램 아이콘들이 스크린의 사용자 정의 동적 부분들에서 디스플레이될 수 있다는 것을 결정하는) 사용자 입력으로부터 간접적으로, 또는 사용자 입력없이 결정될 수도 있다. 일례로서, 제 2 세트는 정확하게 총 8개의 프로그램들 및/또는 정보 타입들을 포함할 필요가 있을 수도 있다. 다른 예로서, 제 2 세트는 정확하게 4개의 프로그램들 및 및 4개의 정보의 타입들을 포함할 필요가 있을 수도 있다. 다른 예로서, 제 2 세트는 적어도 2개, 4개, 또는 8개의 프로그램들을 포함할 필요가 있을 수도 있다.
[0061] 420에서, 하나 또는 그 초과의 제시 특징들이 결정된다. 제시 특징들은 디바이스가 프로그램 및/또는 정보 타입을 사용자에게 어떻게 제시하는지(예를 들어, 정보 큐우가 어떻게 제시되는지)에 영향을 미치는 임의의 특성을 포함한다. 제시 특징들의 타입들의 예들은 인트라-디스플레이 위치, 사이즈, 폰트 사이즈, 폰트 스타일, 컬러, 애니메이션, 팝업, 음향 등을 포함한다. 하나 또는 그 초과의 제시 특징들(예를 들어, 아이콘 사이즈)은 제 2 세트의 하나 또는 그 초과 또는 모든 프로그램들 및/또는 정보 타입들과 연관된 정보 큐우들에 대해 결정될 수도 있다. 제시 특징들은 결정된 문맥에 의존할 수도 있다. 예를 들어, 단일 가용 프로그램을 식별하는 단일 정보 큐우와 연관된 제시 특징들은 대형 아이콘 사이즈, 디폴트 폰트 스타일 및 사이즈, 디스플레이의 우측 최상부 코너, 애니메이션 없음, 및 아이콘을 마우스-오버(mouse-over)할시에 오디오 클립의 플레이를 포함할 수도 있다.
[0062] 일부 실시예들에서, 하나 또는 그 초과의 제시 특징들(예를 들어, 사이즈, 폰트 사이즈, 및 폰트 스타일)은 제 1 세트와 연관된 모든 정보 큐우들, 제 2 세트와 연관된 모든 정보 큐우들, 또는 제 1 및 제 2 세트들과 연관된 모든 정보 큐우들에 걸쳐 동일하다. 일부 실시예들에서, 하나 또는 그 초과의 제시 특징들(예를 들어, 위치 및/또는 사이즈)은 제 2 세트(또는 제 1 세트)의 정보 큐우들의 제시들에 걸쳐 변한다. 예를 들어, 제 2 세트는 그래픽 아이콘(정보 큐우)에 의해 각각 표현되는 복수의 프로그램들을 포함할 수도 있다. 그래픽 아이콘들은 사용자가 모든 아이콘들을 시청할 수 있도록 상이한 스크린 위치에서 모두 제시될 수도 있다. 아이콘들의 사이즈는 사용자가 프로그램들 각각에 관심이 있을 수도 있는 예측된 확률에 의존하여 변할 수도 있다. 다른 예로서, 결정된 문맥을 고려할 때 가장 높은 연관 가중치를 갖는 아이콘이 애니메이팅될 수도 있다. 일부 경우들에서, 제시 특징들의 분포들(예를 들어, 디스플레이된 아이콘들의 사이즈 분포들)은 문맥들에 걸쳐 유사하거나 동일하다. 일부 경우들에서, 제시 특징들의 분포들은 문맥들에 걸쳐 상이하다(예를 들어, 아이콘이 문맥 A에서 애니메이팅되지만, 문맥 B에서 애니메이팅되는 아이콘들은 없다).
[0063] 425에서, 제 1 세트 및 제 2 세트와 연관된 정보 큐우들은 (예를 들어, 동시에) 제시된다. 제시는 디바이스의 디스플레이에서 프로그램들 및/또는 정보 큐우들(또는 정보 자체)의 표현들을 디스플레이하는 것을 포함할 수도 있다. 프로그램들은 예를 들어, 아이콘 또는 텍스트에 의해 표현될 수도 있고, 정보 타입들이 유사하게 표현도리 수도 있거나(예를 들어, 스포츠 뉴스가 신문 아이콘에 의해 표현될 수도 있음), 타입(예를 들어, GPS 좌표들)에 대응하는 정보가 자체 디스플레이될 수도 있다.
[0064] 제시는 일반적 또는 프로그램 또는 정보 타입 특정 음향 신호들을 플레이하는 것; 디바이스를 진동시키는 것, 디스플레이 스크린을 플래시하는 것, 디바이스로부터 라디오 신호들을 전송하는 것 등을 또한 또는 대안으로 포함할 수도 있다.
[0065] 일부 경우들에서, 제 1 세트와 연관된 정보 큐우들은 제 2 세트와 연관된 정보 큐우들과 개별적으로 제시된다. 예를 들어, 모바일 디바이스의 스크린은 제 1 세트와 연관된 정보 큐우들을 제시하기 위한 정적 부분 및 제 2 세트와 연관된 정보 큐우들을 제시하기 위한 동적 부분을 포함할 수도 있다. 동적 및 정적 부분들은 각각 연속적일 수도 있거나 다중의 개별 엘리먼트들을 포함할 수도 있다. 동적 및 정적 부분들은 요컨대, 전체 스크린, 또는 스크린의 일부(less than an entirety)를 구성할 수도 있다. 다른 예로서, 모바일 디바이스의 스크린은 프로그램들의 제 1 세트를 시각적으로 제시할 수도 있고, 제 2 세트는 예를 들어, 음향 신호들을 방출하고, 디바이스를 진동시킴으로써 사용자에게 제시될 수도 있다.
[0066] 도 5는 문맥 의존 변수들, 문맥들, 프로그램들, 및 정보 타입들 사이의 연관들의 실시예를 도시한다. 복수의 잠재적 문맥 연관 변수들(v1, v2, ..., vn)이 식별된다. 각 변수는 하나 또는 그 초과의 문맥들(c1, c2, ..., cn)과 연관될 수도 있다. 도 5의 라인 두께는 가중치들에 대응하여, 두꺼운 라인들은 소정의 변수들이 문맥을 바로 나타내는 것으로 식별된다는 것을 나타낸다. 예를 들어, "v1"은 GPS 좌표들에 대응할 수도 있고, "c1"은 직장 문맥에 대응할 수도 있고, "cn"은 집 문맥에 대응할 수도 있다. GPS 좌표들은 디바이스가 직장 문맥에 있는지 그리고 디바이스가 집 문맥에 있는지에 관하여 매우 유용한 정보를 제공할 수도 있다. 따라서, 높은 연관 가중치가 존재한다.
[0067] 복수의 프로그램들(p1, p2, ..., pn) 및/또는 정보의 타입들(i3, i2, ..., in)이 또한 식별된다. 각 문맥은 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들과 연관될 수도 있다. 연관은 사용자가 소정의 프로그램을 사용하거나 소정의 정보의 타입을 시청하는 확률 또는 소정의 프로그램에서의 사용자 정의 문맥 의존 관심에 관한 것일 수도 있다. 다시, 연관은 가중될 수도 있다. 예를 들어, "c1"은 직장 문맥에 대응할 수도 있고, "pn"은 이러한 문맥에서 루틴하게 사용되는 직장 이메일 프로그램에 대응할 수도 있다. 직장 이메일 프로그램의 빈번한 사용 또는 문맥과 프로그램 사이의 강한 논리적 접속이 c1과 pn 사이의 높은 연관을 발생시킬 수도 있다.
[0068] 도 5에 도시된 연관 네트워크는 고정된 네트워크, 동적 네트워크 및/또는 "학습" 네트워크일 수도 있다. 동적 네트워크는 예를 들어, 각 변수, 문맥, 프로그램, 및/또는 정보 타입과 연관된 "노드들"이 추가되거나 삭제되게 할 수도 있고 그리고/또는 연관 가중치들이 조정되게 할 수도 있다. 이들 동적특성(dynamics)은 사용자 입력 및/또는 모니터링된 데이터(예를 들어, 소정의 문맥에 있을 때 사용자에 의해 실제로 사용된 프로그램들)에 기초하여 적어도 부분적으로 결정될 수도 있다. 연관 네트워크는 뉴럴 네트워크를 포함할 수도 있다.
[0069] 도 6은 모바일 디바이스의 스크린(600)의 예를 도시한다. 스크린은 동적 부분(605) 및 정적 부분(610)을 포함할 수도 있다. 정적 부분(610)은 예를 들어, 문맥 의존 프로그램들(p1', p2' 및 p3') 및/또는 정보 타입들(i1')을 식별하는 정보 큐우들을 제시할 수도 있다. 동적 부분(605)은 문맥 의존 프로그램들(p3, p5, p6, 및 p8) 및/또는 정보 타입들(i2 및 i3)을 식별하는 정보 큐우들을 제시할 수도 있다. 정적 및/또는 동적 부분들은 스크린의 적어도 0%, 3%, 5%, 30%, 20%, 50%, 80%, 90%, 95% 97% 또는 100%의 면적, 약 0%, 3%, 5%, 30%, 20%, 50%, 80%, 90%, 95% 97% 또는 100%의 면적, 또는 0%, 3%, 5%, 30%, 20%, 50%, 80%, 90%, 95% 97% 또는 100% 미만의 면적을 포함할 수도 있다. 일부 실시예들에서, 정적 및 동적 부분들 중 하나 또는 양자는 스크린의 적어도 30% 또는 적어도 50%를 나타내는 면적을 포함한다. 일부 경우들에서, 디스플레이(600)는 문맥 의존 프로그램들(및/또는 정보 타입들)을 식별하는 정보 큐우들을 제시하는 정적 부분을 포함하지 않는다. 정적 및/또는 동적 부분들에 대응하는 영역들은 고정되거나 가변일 수도 있다. 예를 들어, 영역들 중 하나 또는 양자의 사이즈 및 위치는 결정된 문맥을 고려할 때 사용자에 관심이 있는 것으로 예측되는 다수의 프로그램들에 의존할 수도 있다.
[0070] 일부 실시예들에서, 사용자는 동적 부분(605) 및/또는 정적 부분(610)에 대응하는 스크린의 하나 또는 그 초과의 영역들을 정의한다. 예를 들어, 사용자는 동적 영역으로서 정의될 스크린상의 면적의 부분 또는 전체의 대략적 또는 실제 주변을 드로잉하기 위해 핑거 또는 포인팅 디바이스를 사용할 수도 있다. 다른 예로서, 사용자는 동적 영역으로서 정의될 스크린상의 직사각형 면적의 수직 또는 수평 에지의 좌표를 식별하기 위해 핑거 또는 포인팅 디바이스를 사용할 수도 있다. 또 다른 예로서, 사용자는 사용자가 동적이도록 원하는 스크린의 부분을 나타내는 변수(예를 들어, 비율, 퍼센티지 또는 가중치)를 입력할 수도 있고, 문맥 의존 프로그램들 및/또는 정보 타입들을 식별하는 정보 큐우들의 제시를 포함할 수도 있다. 또한, 예들은 시스템 생성 디스플레이 파티셔닝 옵션들 사이의 사용자 선택들, 동적 부분(605)에서 디스플레이될 다수의 프로그램들 및/또는 정보 타입들의 표시들, 등을 포함한다.
[0071] 일부 실시예들에서, 동적 부분(605) 및 정적 부분(610)은 상이한 외관 특징들을 포함한다. 예를 들어, 배경들, 아이콘 사이즈, 아이콘 간격 등은 부분들 사이에서 상이할 수도 있다. 일부 실시예들에서, 동적 부분(605) 및 정적 부분(610)은 시각적 마커(예를 들어, 부분들을 분리하는 라인, 부분들 중 하나 또는 양자 주위의 박스 등)에 의해 분리된다. 일부 실시예들에서, 동적 부분(605) 및 정적 부분(610)은 상이한 네비게이션 컨트롤들(navigational controls)을 포함한다. 예를 들어, 동적 부분(605)은 스크롤링 특징(예를 들어, 트랙 패드를 사용하여 스크롤하기 위한 스크롤 바 또는 능력)을 포함할 수도 있다. 스크롤링 특징은 예를 들어, 동적 부분에서 식별된 동적 프로그램들 및/또는 정보 타입들을 식별하는 정보 큐우들의 일부를 사용자가 시청하게 하고, 스크롤링 특징의 사용시에, 다른 프로그램들 및/또는 정보 타입들을 식별하는 정보 큐우들을 시청하게 할 수도 있다. 정적 부분(610)은 스크롤링 특징을 추가로 또는 대안으로 포함할 수도 있다.
[0072] 도 6에 도시되어 있는 바와 같이, 상이한 프로그램들 및 정보 타입들과 연관된 정보 큐우들은 상이한 제시 특징들을 포함할 수도 있다. 예를 들어, 정보 큐우들은 상이한 사이즈들일 수도 있고 상이한 "뚜렷함(boldness)"(컬러링, 배경, 하이라이팅, 폰트 사이즈 등)을 포함할 수도 있다. 제시 특징들은 사용자의 예측된 관심에 의존하여 정보 큐우들에 걸쳐 변할 수도 있다. 예를 들어, 더 큰 관심이 있는 것으로 예측된 프로그램들 및/또는 정보 타입들과 연관된 정보 큐우들은 지배적으로 사이징될 수도 있고(예를 들어, 더 크게), 지배적으로 위치될 수도 있고(예를 들어, 디스플레이의 상부 또는 중앙 근처에 위치), 지배적으로 하이라이팅될 수도 있고(예를 들어, 더 넓거나 더 밝은 아이콘 또는 폰트 컬러들로), 지배적으로 음향-피처링될 수도 있고(예를 들어, 마우스-오버 음향 클립에 의해 수반되지만 다른 것은 수반되지 않음), 지배적으로 애니메이팅될 수도 있다(예를 들어, 플래싱 아이콘 또는 이동 아이콘). 일부 경우들에서, 동적 부분(605)은 예측된 관심의 프로그램들 및/또는 정보 타입들을 다른 것들로부터 구별하는 제시 특징들을 갖는, 프로그램들 및/또는 정보 타입들의 풀 세트와 연관된 정보 큐우들을 제시한다. 일부 경우들에서, 동적 부분은 정보 큐우들의 세트의 서브세트만을 제시하고, 이 서브세트는 결정된 문맥에 적어도 부분적으로 기초하여 식별된다. 제시 특징들은 (예를 들어, 예측된 관심 가중에 기초하는) 이러한 서브세트에 걸쳐 변할 수도 있거나 변하지 않을 수도 있다.
[0073] 일부 경우들에서, 정적 부분(610)은 완벽하게 정적이고 ― 프로그램들 및/또는 정보 타입들의 제시들이 항상 동일하게 유지된다. 일부 경우들에서, 제시된 프로그램들 및/또는 정보 타입들의 아이덴티티는 항상 동일하게 유지되지만(또는 사용자 세팅들에 기초하여서만 변경되지만), 제시 특징은 변할 수도 있다. 제시 특징들은 사용자 세팅들 및/또는 문맥들에 기초하여 변할 수도 있다. 일부 경우들에서, 동적 부분(605)은 정적 부분(610) 보다는 더욱 문맥 의존형이다. 예를 들어, 정적 부분(610)에서 제시된 정보 큐우들과 연관된 제시 특징들이 문맥에 의존하면, 정보 큐우들의 제시 특징들의 문맥 의존 가변성이 동적 부분(605)에서 더욱 극적이다(dramatic).
[0074] 도 6은 (예를 들어, 프로그램 또는 정보 타입을 각각 식별하는) 정보 큐우들의 동적 세트의 서브세트를 선택적으로 디스플레이하는 실시예를 도시한다. 일부 실시예들에서, 서브세트는 다른 수단을 사용하여 선택적으로 제시된다. 예를 들어, 서브세트와 연관된 음향 신호들은 디바이스로부터 방출될 수도 있고, 서브세트에 대응하는 무선 신호들은 디바이스들로부터 방출될 수도 있다.
[0075] 도 7은 사용자 인터페이스 또는 디스플레이를 생성하는 시스템(700)의 실시예를 도시한다. 시스템(700)은 문맥 연관 변수 검출기(705)를 포함할 수도 있다. 문맥 연관 변수 검출기(705)는 하나 또는 그 초과의 센서들을 포함할 수도 있고 그리고/또는 하나 또는 그 초과의 센서들로부터 신호들을 (네트워크를 통한 송신을 통해) 수신할 수도 있다. 센서들은 모바일 디바이스(110)상에 있을 수도 있고, 모바일 디바이스(110)에 커플링될 수도 있거나, 모바일 디바이스(110)의 외부에 있고 모바일 디바이스(110)에 커플링되지 않을 수도 있다. 예를 들어, 문맥 연관 변수 검출기(705)는 (예를 들어, GPS 좌표들, 모바일 디바이스(110)가 수신기들에 인접하다는 것을 나타내는 수신기들에 의해 수신된 시호들, 모바일 디바이스(110)의 사용자에 의해 입력된 데이터 등에 의해) 모바일 디바이스(110)의 위치를 검출할 수도 있다. 문맥 연관 변수 검출기(705)는 모바일 디바이스(110)상에 저장된 캘린더 이벤트들을 검출할 수도 있다.
[0076] 시스템(730)은 문맥을 결정하도록 구성된 문맥 검출기(710)를 포함할 수도 있다. 문맥 검출기(710)는 문맥 연관 변수 검출기(705)에 의해 검출된 변수들을 수신할 수도 있다. 문맥 검출기(710)는 문맥들을 정의하는 문맥 정의기(715)를 포함할 수도 있다. 문맥 정의는 문맥과 하나 또는 그 초과의 변수들 사이의 (가중 또는 비가중) 연관들, 문맥 확률, 문맥 명칭 등을 포함할 수도 있다. 문맥 정의들은 예를 들어, 스토리지 디바이스(114 또는 144)에 문맥 데이터(122)로서 저장될 수도 있다. 일부 경우들에서, 문맥 검출기(710)는 적응형 모델(720)을 포함한다.
[0077] 적응형 모델(720)은 문맥들과 문맥 연관 변수들 사이의 연관들을 식별하고 그리고/또는 동적으로 조정하고, 그리고/또는 이들 연관들의 가중치들을 동적으로 조정할 수도 있다. 예를 들어, 적응형 모델(720)은 문맥 연관 변수들의 누적 또는 시간-가중 클러스터들을 형성하기 위한 클러스터링 알고리즘을 포함할 수도 있다. 일부 경우들에서, 클러스터들은 문맥 연관 변수 데이터 및/또는 센서 데이터에 주로 기초하여 형성된다. 예를 들어, 문맥 연관 변수 검출기(705)는 일주일의 기간에 걸쳐, 하기의 변수들: GPS 좌표들, 시각, 및 링 볼륨을 검출할 수도 있다. 데이터는 2개의 우세한 클러스터들을 형성할 수도 있는데, 하나는 직장 위치, 근무 시간, 및 묵음 링 볼륨과 연관되고, 다른 하나는 집 위치, 집에 있는 시간, 및 라우드 링 볼륨과 연관된다. 일부 경우들에서, 클러스터들은 모바일 디바이스의 사용자에 의해 사용된 프로그램 및/또는 사용자에 의해 시청된 정보에 적어도 부분적으로 기초하여 형성된다. 예를 들어, 제 1 클러스터는 이메일 애플리케이션의 사용자의 사용과 연관된 경우들에 관한 것일 수도 있고, 제 2 클러스터는 뉴스의 사용자의 시청에 관한 것일 수도 있다.
[0078] 클러스터 아이덴티티에 관한 가장 유효한 정보를 제공하는 변수들이 문맥들을 정의하기 위해 사용될 수도 있고 그리고/또는 매우 가중될 수도 있고, 하나 또는 그 초과의 문맥들과 연관된 이들 변수들은 동적으로 조정될 수도 있다. 따라서, 예를 들어, 적응형 모델은 2개의 문맥 클러스터들을 초기에 식별할 수도 있는데, 하나는 시간들(오전 9시, 오후 1시 및 오후 3시) 및 "다운타운"의 위치와 연관되고, 다른 하나는 오후 8시 및 "근교(suburb)"의 위치와 연관된다. 적응형 모델은 예를 들어, 오후 5시 30분 이전의 시간들을 클러스터 1과 연관시킬 수도 있고 5시 30분 이후의 시간을 클러스터 2와 연관시킬 수도 있다. 더 많은 데이터가 수집된 이후에, 이러한 구별은 클러스터 1과 클러스터 2 사이의 천이가 발생할 것 같은 시간에 관한 더욱 상세한 데이터에 기초하여 조정될 수 있다.
[0079] 문맥 검출기(710)는 프로그램/정보 연관기(associator)(725)에 커플링될 수도 있다. 프로그램/정보 연관기(725)는 하나 또는 그 초과의 문맥들을 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들과 연관시킬 수도 있다. 일부 경우들에서, 일부 또는 모든 연관들이 (예를 들어, 사용의 예측된 확률에 기초하여) 가중된다. 프로그램/정보 연관기는 문맥들과 프로그램/정보 타입들 사이의 연관들을 식별하고 그리고/또는 동적으로 조정하도록 구성된 적응형 모델(730)을 포함할 수도 있다.
[0080] 일부 경우들에서, 적응형 모델(730)은 문맥과 하나 또는 그 초과의 프로그램들 및/또는 정보의 타입들 사이에 가중치들을 할당한다. 높은 가중치들은 (1) 문맥을 고려할 때 사용자가 프로그램을 사용하거나 정보를 시청하는 예측된 확률; 및/또는 (2) 소정의 문맥에 있을 때 프로그램 및/또는 정보 타입을 제시하는데 있어서 표시된 사용자 관심에 대응할 수도 있다. 가중치들은 과거의 사용 및 시청 데이터 및 과거의 문맥 연관 변수 데이터에 기초하여 할당될 수도 있다. 최근의 활동 패턴들 및/또는 사용자 선호도들이 가중치들을 결정하는데 있어서 더욱 영향을 줄 수도 있다.
[0081] 일부 경우들에서, 적응형 모델(730)은 프로그램들 및/또는 정보 타입들을 클러스터링하는 클러스터링 알고리즘을 포함한다. 예를 들어, 하나의 1 시간 프레임내에서, 사용자는 프로그램들(A, B 및 F)을 실행할 수도 있고 정보(G)를 시청할 수도 있으며, 다른 1시간 프레임내에서, 사용자는 프로그램들(C, D 및 F)을 실행할 수도 있고, 정보(N)를 시청할 수도 있다. 그 후, 이러한 데이터 세트는 2개의 데이터 포인트들에 대응할 수도 있다. 시간을 통해 수집된 데이터는 단일 문맥내에서 사용자에 관심이 있는 것으로 예측된 프로그램들 및/또는 정보 타입들의 세트들의 식별을 허용할 수도 있다. 그 후, 각 문맥은 예를 들어, 프로그램들 및/또는 정보 타입들의 하나 또는 그 초과의 세트들과 연관될 수도 있다.
[0082] 적응형 모델(730)은 문맥 검출기(710)에서의 적응형 모델(720)과 유사한 특징들을 가질 수도 있다. 일부 경우들에서, 2개는 단일 모델로 조합된다. 예를 들어, 문맥 연관 변수들과 문맥들 사이의 관계를 모델링하고 문맥들과 관심의 프로그램들/정보 타입들 사이의 관계를 개별적으로 모델링하기 보다는, 단일 모델이 문맥 연관 변수들과 관심의 프로그램들/정보 타입들 사이의 관계를 모델링할 수도 있다.
[0083] 프로그램/정보 연관기(725)는 프로그램/정보 디코더(735)를 포함할 수도 있다. 프로그램/정보 디코더(735)는 사용자가 프로그램을 사용하고 그리고/또는 정보 타입을 시청하는데 있어서 관심이 있는 문맥들을 예측하기 위해 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들을 분석할 수도 있다. 예를 들어, 프로그램/정보 디코더는 명칭, 디스크립션, 메타데이터, 사용자 입력, 또는 파퓰레이션 기반 사용 또는 프로그램 또는 정보의 타입과 연관된 시청 통계를 분석할 수도 있다.
[0084] 프로그램/정보 연관기(725)는 문맥의 결정시에 (예를 들어, 연관된 정보 큐우들을 통해) 제시될 동적 프로그램들/ 정보 타입들, 결정된 문맥과 복수의 프로그램들/정보 타입들 사이의 연관들의 가중치들, 결정된 문맥에 기초하여 디스플레이되도록 예측된 다수의 동적 프로그램들/정보 타입들, 예측된 관심에 의해 분류된 프로그램들/정보 타입들의 문맥 의존 랭킹, 프로그램들/정보 타입들의 사용자 제공 문맥 의존 랭킹, 프로그램들/정보 타입들의 사용자 제공 또는 시스템 생성 문맥 의존 랭킹 등 중 하나 또는 그 초과의 것을 결정하고 그리고/또는 출력할 수도 있다. 이들 중 임의의 것 또는 모두는 예를 들어, 스토리지 디바이스(114 또는 144)에 프로그램 데이터(124)로서 저장될 수도 있다.
[0085] 일부 경우들에서, 프로그램/정보 연관기(725)는 특정한 프로그램들 및/또는 정보 타입들을 정보 큐우(예를 들어, 그래픽 아이콘, 신호 또는 텍스트)와 연관시키는 정보 큐우 연관기(740)를 더 포함한다. 따라서, 프로그램/정보 연관기(725)는 정보 큐우 연관기(740)의 사용에 의해, 하나 또는 그 초과의 정보 큐우들을 소정의 문맥과 연관시킬 수도 있다. 연관은 (예를 들어, 문맥을 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들과 연관시키고 그리고/또는 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들을 하나 또는 그 초과의 정보 큐우들과 연관시키는) 간접 기법 또는 (예를 들어, 문맥을 하나 또는 그 초과의 정보 큐우들과 직접적으로 연관시키는) 직접 기법에 기초하여 결정될 수도 있다. 직접 연관들은 (예를 들어, 클러스터링 알고리즘, 적응형 모델 등을 사용하는) 다른 타입의 연관들에 대해 본원에 설명한 유사한 기법들을 사용하여 이루어질 수도 있다. 일부 경우들에서, 정보 큐우 연관기(740)는 프로그램/정보 연관기와는 개별적으로 제공된다.
[0086] 프로그램/정보 연관기(725)는 사용자 입력들에 기초한 연관들을 포함할 수도 있다. 예를 들어, 사용자는 하나 또는 그 초과의 정보 큐우들이 제시되는 것을 원하거나 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들이 식별되는 것을 원하는 조건들을 표시할 수도 있다. 예를 들어, 사용자는 특정한 프로그램과 연관된 그래픽 아이콘이 특정한 사람(들) 또는 이메일 주소(들)로부터 이메일의 수신시에 제시되는 것을 사용자가 원한다는 것을 표시할 수도 있다. 이러한 표시는 예를 들어, 사용자가 문맥을 정의하고, 문맥들 사이에서 선택하는 것 등에 해당할 수도 있다.
[0087] 프로그램/정보 연관기(725)는 사용자 인터페이스 생성기(745)에 커플링될 수도 있다. 사용자 인터페이스 생성기(745)는 사용자에게 시스템 식별 문맥 및/또는 연관된 프로그램 또는 정보 타입을 통지하도록 구성될 수도 있다. 예를 들어, 사용자 인터페이스 생성기(745)는 디스플레이 생성기, 음향 생성기, 진동 생성기 등을 포함할 수도 있다. 생성된 신호는 (예를 들어, 문맥이 결정되거나 프로그램들 및/또는 정보 타입들이 식별된다는) 일반적인 의미를 가질 수도 있다. 생성된 신호는 특정한 의미를 가질 수도 있다(예를 들어, 음향 신호는 새로운 거래가 검출되었다는 것을 나타내거나 데스크탑상에 제시된 시각적 아이콘은 사용자가 문맥 연관 프로그램에 쉽게 액세스하게 한다).
[0088] 사용자 인터페이스 생성기(745)는 디스플레이 배분기(apportioner)(750)를 포함할 수도 있다. 디스플레이 배분기는 각각의 도 6을 참조하여 상세히 상술된 정적 부분 및 동적 부분 사이에서 디스플레이 스크린을 배분할 수도 있다. 배분하는 것은 예를 들어, 스크린의 동적 부분을 적어도 부분적으로 정의하는(예를 들어, 동적 부분의 주변을 정의하고, 동적 부분에 할당될 스크린의 퍼센티지를 정의하는 등의) 결정된 문맥 및/또는 사용자 입력과 연관된 다수의 프로그램들 또는 정보의 타입들에 기초할 수도 있다. 일부 경우들에서, 정적 부분과 동적 부분 사이에서 배분하는 것은 문맥들에 걸쳐 고정된다. 도 6은 정적 부분과 동적 부분 사이에서 배분된 스크린의 예를 도시한다. 일부 실시예들에서, 전체 스크린은 동적 부분이거나 전체 스크린은 정적 부분이다(예를 들어, 그리고, 사용자에게는 예를 들어, 음향 신호들, 디스플레이 플래시 등을 통해 문맥 연관 프로그램들 및/또는 정보 타입들이 통지된다).
[0089] 사용자 인터페이스 생성기(745)는 정적 프로그램 식별자(755)를 포함할 수도 있다. 정적 프로그램 식별자는 결정된 문맥에 관계없이 제시될 프로그램들 및/또는 정보의 타입들을 식별할 수도 있다. 일부 경우들에서, 이들 프로그램들은 사용자 입력들에 기초하여 적어도 부분적으로 정의된다.
[0090] 사용자 인터페이스 생성기(745)는 제시 특징 식별자(760)를 포함할 수도 있다. 제시 특징 식별자(760)는 하나 또는 그 초과의 정적 및/또는 동적 프로그램 및/또는 정보의 타입들과 연관된 정보 큐우(들)의 제시와 연관된 특징들을 식별할 수도 있다. 제시 특징들은 도 4를 참조하여 더욱 상세히 상술하였다. 일 경우에서, 결정된 문맥을 고려할 때 사용자에게 관심이 있는 것으로 예측된 하나 또는 그 초과의 프로그램들 및/또는 정보 타입들과 연관된 정보 큐우(들)는 지배적인 제시 특징들과 연관될 수도 있다. 예를 들어, 사용자는 문맥과 연관될 프로그램들의 랭킹된 리스트를 제공할 수도 있다. 고도로 랭킹된 프로그램들과 연관된 정보 큐우들(예를 들어, 그래픽 아이콘들)은 (예를 들어, 상부 위치, 중심 위치, 상이한 위치 등에서) 낮게 랭킹된 프로그램들 보다 더욱 지배적으로 제시될 수도 있다. 사용자는 랭크-변화 제시 특징들을 설정 또는 변경할 수도 있거나 설정 또는 변경하지 않을 수도 있다.
[0091] 사용자 인터페이스 생성기(745)는 (예를 들어, 디스플레이상에 디스플레이될 텍스트 및/또는 아이콘들을 생성하기 위해) (예를 들어, 모바일 디바이스(110)의 디스플레이), 스피커, 진동기, 및/또는 프로세서에 커플링될 수도 있다.
{0092] 도 8은 본원에 설명한 바와 같은 다양한 다른 실시예들에 의해 제공된 방법들을 수행할 수 있는 컴퓨터 시스템(800)의 일 실시예의 개략적인 예시를 제공한다. 원격 서버(140) 및/또는 모바일 디바이스(110)는 시스템(800)의 하나 또는 그 초과의 컴포넌트들을 포함할 수도 있다. 도 8은 그것의 임의의 부분 또는 모두가 적절하게 활용될 수도 있는 다양한 컴포넌트들의 일반화된 예시를 단지 제공한다는 것에 유의해야 한다. 따라서, 도 8은 개별 시스템 엘리먼트들이 상대적으로 분리되거나 상대적으로 더욱 집적된 방식으로 어떻게 구현될 수 있는지를 대략적으로 예시한다.
[0093] 버스(805)를 통해 전기적으로 커플링될 수 있는(또는 그렇지 않으면, 적절한 경우에 통신할 수도 있는) 하드웨어 엘리먼트들을 포함하는 컴퓨터 시스템(800)이 도시되어 있다. 하드웨어 엘리먼트들은 (디지털 신호 프로세싱 칩들, 그래픽 가속 프로세서들 등과 같은) 하나 또는 그 초과의 범용 프로세서들 및/또는 하나 또는 그 초과의 특수용 프로세서들을 제한없이 포함하는 하나 또는 그 초과의 프로세서들(810); 마우스, 키보드, 터치 스크린들, 트랙 패드들 등을 제한없이 포함할 수 있는 하나 또는 그 초과의 입력 디바이스들(815); 및 디스플레이 디바이스, 프린터 등을 제한없이 포함할 수 있는 하나 또는 그 초과의 출력 디바이스들(820)을 포함할 수도 있다.
[0094] 컴퓨터 시스템(800)은 로컬 및/또는 네트워크 액세스가능한 스토리지를 제한없이 포함할 수 있고 그리고/또는 디스크 드라이브, 드라이브 어레이, 광 스토리지 디바이스, 프로그램가능하고 플래시-업데이트가능한 랜덤 액세스 메모리("RAM") 및/또는 판독 전용 메모리("ROM")와 같은 고체 상태 스토리지 디바이스 등을 제한없이 포함할 수 있는 하나 또는 그 초과의 스토리지 디바이스(825)를 더 포함할 수도 있다(그리고/또는 하나 또는 그 초과의 스토리지 디바이스(825)와 통신할 수도 있다). 이러한 스토리지 디바이스들은 다양한 파일 시스템들, 데이터베이스 구조들 등을 제한없이 포함하는 임의의 적절한 데이터 스토어들을 구현하도록 구성될 수도 있다.
[0095] 컴퓨터 시스템(800)은 (블루투스TM 디바이스, 802.11 디바이스, Wi-Fi 디바이스, WiMax 디바이스, 셀룰러 통신 시설 등과 같은) 모뎀, 네트워크 카드(무선 또는 유선), 적외선 통신 디바이스, 무선 통신 디바이스 및/또는 칩세트 등을 제한없이 포함할 수 있는 통신 서브시스템(830)을 또한 포함할 수도 있다. 통신 서브시스템(830)은 데이터가 (일례를 들면, 후술하는 네트워크와 같은) 네트워크, 다른 컴퓨터 시스템들, 및/또는 본원에 설명한 임의의 다른 디바이스들과 교환되게 할 수도 있다 다수의 실시예들에서, 컴퓨터 시스템(800)은 상술한 바와 같은 RAM 또는 ROM 디바이스를 포함할 수 있는 작업 메모리(835)를 더 포함한다.
[0096] 컴퓨터 시스템(800)은 또한, 운영 시스템(835), 디바이스 드라이버들, 실행가능 라이브러리들, 및/또는 다양한 실시예들에 의해 제공된 컴퓨터 프로그램들을 포함할 수도 있고 그리고/또는 본원에 설명한 바와 같은 다른 실시예들에 의해 제공된 방법들을 구현하고 그리고/또는 시스템들을 구성하도록 설계될 수도 있는 하나 또는 그 초과의 애플리케이션 프로그램들(840)과 같은 다른 코드를 포함하는 작업 메모리(835)내에 현재 위치된 것으로 도시되어 있는 소프트웨어 엘리먼트들을 포함할 수 있다. 단지 예로서, 상기 논의한 방법(들)과 관련하여 설명한 하나 또는 그 초과의 절차들은 컴퓨터(및/또는 컴퓨터내의 프로세서)에 의해 실행가능한 코드 및/또는 명령들로서 구현될 수도 있고, 그 후, 일 양태에서, 이러한 코드 및/또는 명령들은 설명한 방법들에 따라 하나 또는 그 초과의 동작들을 수행하기 위해 범용 컴퓨터(또는 다른 디바이스)를 구성하고 그리고/또는 적응시키도록 사용될 수도 있다.
[0097] 이들 명령들 및/또는 코드들의 세트는 상술한 스토리지 디바이스(들)(825)와 같은 컴퓨터 판독가능 저장 매체상에 저장될 수도 있다. 일부 경우들에서, 저장 매체는 시스템(800)과 같은 컴퓨터 시스템내에 통합될 수도 있다. 다른 실시예들에서, 저장 매체는 컴퓨터 시스템으로부터 분리될 수도 있고(예를 들어, 컴팩트 디스크와 같은 착탈식 매체) 그리고/또는 설치 패키지에 제공될 수도 있어서, 저장 매체는 명령들/코드가 저장되어 있는 범용 컴퓨터를 프로그래밍하고, 구성하고 그리고/또는 적응시키도록 사용될 수 있다. 이들 명령들은 (예를 들어, 임의의 다양한 일반적으로 이용가능한 컴파일러들, 설치 프로그램들, 압축/압축해제 유틸리티들 등을 사용하여) 컴퓨터 시스템(800)상에 컴필레이션(compilation) 및/또는 설치시에, 컴퓨터 시스템(800)에 의해 실행가능한 실행가능 코드의 형태를 취할 수도 있고 그리고/또는 소스 및/또는 설치가능한 코드의 형태를 취할 수도 있다.
[0098] 실질적인 변동들이 특정한 요건들에 따라 이루어질 수도 있다는 것이 당업자에게 명백할 것이다. 예를 들어, 커스터마이징된 하드웨어가 또한 사용될 수도 있고 그리고/또는 특정한 엘리먼트들이 하드웨어, (애플릿들과 같은 휴대용 소프트웨어 등을 포함하는) 소프트웨어, 또는 양자에서 구현될 수도 있다. 또한, 네트워크 입/출력 디바이스들과 같은 다른 컴퓨팅 디바이스들에 대한 접속이 이용될 수도 있다.
[0099] 상기 언급한 바와 같이, 일 양태에서, 일부 실시예들은 본 발명의 다양한 실시예들에 따른 방법들을 수행하기 위해 (컴퓨터 시스템(800)과 같은) 컴퓨터 시스템을 이용할 수도 있다. 실시예들의 세트에 따르면, 이러한 방법들의 절차들 중 일부 또는 모두가 작업 메모리(835)에 포함된 (운영 시스템(840) 및/또는 애플리케이션 프로그램(845)과 같은 다른 코드에 통합될 수도 있는) 하나 또는 그 초과의 명령들의 하나 또는 그 초과의 시퀀스들을 실행하는 프로세서(810)에 응답하여 컴퓨터 시스템(800)에 의해 수행된다. 이러한 명령들은 스토리지 디바이스(들)(835) 중 하나 또는 그 초과의 것과 같은 다른 컴퓨터 판독가능 매체로부터 작업 메모리(835)로 판독될 수도 있다. 단지 예로서, 적업 메모리(835)에 포함된 명령들의 시퀀스들의 실행은 프로세서(들)(810)로 하여금 본원에 설명한 방법들의 하나 또는 그 초과의 절차들을 수행하게 할 수도 있다.
[0100] 본원에 사용되는 바와 같은, 용어들 "머신 판독가능 매체" 및 "컴퓨터 판독가능 매체"는 머신으로 하여금 특정한 방식으로 동작하게 하는 데이터를 제공하는데 참여하는 임의의 매체를 지칭한다. 컴퓨터 판독가능 매체 및 저장 매체는 일시적(transitory) 전파 신호들을 지칭하지 않는다. 컴퓨터 시스템(800)을 사용하여 구현된 실시예에서, 다양한 컴퓨터 판독가능 매체는 실행을 위해 프로세서(들)(810)에 명령들/코드를 제공하는데 수반될 수도 있고 그리고/또는 이러한 명령들/코드를 저장하기 위해 사용될 수도 있다. 임의의 구현들에서, 컴퓨터 판독가능 매체는 물리적 및/또는 유형의(tangible) 저장 매체이다. 이러한 매체는 비휘발성 매체 또는 휘발성 매체의 형태를 취할 수도 있다. 비휘발성 매체는 예를 들어, 스토리지 디바이스(들)(825)와 같은 광학 및/또는 자기 디스크들을 포함한다. 휘발성 매체는 작업 메모리(835)와 같은 동적 메모리를 제한없이 포함한다.
[0101] 물리적 및/또는 유형의 컴퓨터 판독가능 매체의 공통 형태들은 예를 들어, 플로피 디스크, 플렉시블 디스크, 하드 디스크, 자기 테이프, 또는 임의의 다른 자기 매체, CD-ROM, 임의의 다른 광학 매체, 천공 카드들, 페이퍼테이프, 홀들의 패턴들을 갖는 임의의 다른 물리적 매체, RAM, PROM, EPPROM, FLASH-EPROM, 임의의 다른 메모리 칩 또는 카트리지 등을 포함한다.
[0102] 상기 논의한 방법들, 시스템들, 및 디바이스들은 예들이다. 다양한 구성들이 다양한 절차들 또는 컴포넌트들을 적절하게 생략할 수도 있고, 대체할 수도 있거나 추가할 수도 있다. 예를 들어, 대안의 구성들에서, 방법들은 설명한 바와 상이한 순서로 수행될 수도 있고 그리고/또는 다양한 스테이지들이 추가될 수도 있고, 생략될 수도 있고 그리고/또는 조합될 수도 있다. 방법들 모두 또는 일부가 반복적으로 수행될 수도 있다. 또한, 특정한 구성들에 관하여 설명한 특징들이 다양한 다른 구성들에서 조합될 수도 있다. 구성들의 상이한 양태들 및 엘리먼트들이 유사한 방식으로 조합될 수도 있다. 또한, 기술이 발전함으로써, 다수의 엘리먼트들은 예들이고 본 개시물 또는 청구항들의 범위를 제한하지 않는다.
[0103] 특정한 상세사항들이 (구현들을 포함하는) 예시적인 구성들의 완전한 이해를 제공하기 위해 설명에 제공된다. 그러나, 구성들은 이들 특정한 상세사항들없이 실시될 수도 있다. 예를 들어, "프로그램들"이 설명되는 경우들에서, 본 개시물은 또한 또는 대안으로 일부 실시예들에서, "정보의 타입들"에 관한 것이다. 반대의 경우가 또한 발생할 수도 있다. 다른 예로서, 널리 공지된 회로들, 프로세스들, 알고리즘들, 구조들, 및 기법들은 구성들을 모호하게 하는 것을 회피하기 위해 불필요한 상세사항없이 도시하였다. 이러한 설명은 단지 예시적인 구성들만을 제공하고, 청구항들의 범위, 적용가능성, 또는 구성들을 제한하지 않는다. 오히려, 구성들의 선행 설명이 설명된 기법들을 구현하는 인에이블링 설명을 당업자에게 제공할 것이다. 다양한 변경들이 본 개시물의 사상 또는 범위를 벗어나지 않고 엘리먼트들의 기능 및 배열에서 이루어질 수도 있다.
[0104] 또한, 구성들은 흐름도 또는 블록도로서 도시된 프로세스로서 설명될 수도 있다. 순차적 프로세스로서 동작들을 각각 설명할 수도 있지만, 다수의 동작들은 병렬로 또는 동시에 수행될 수 있다. 또한, 동작들의 순서는 재배열될 수도 있다. 프로세스는 도면에 포함되지 않은 추가의 단계들을 가질 수도 있다. 또한, 방법들의 예들은 하드웨어, 소프트웨어, 펌웨어, 미들웨어, 마이크로코드, 하드웨어 디스크립션 언어들(hardware description languages), 또는 이들의 임의의 조합에 의해 구현될 수도 있다. 소프트웨어, 펌웨어, 미들웨어, 또는 마이크로코드에서 구현될 때, 필요한 작업들을 수행하기 위한 프로그램 코드 또는 코드 세그먼트들은 저장 매체와 같은 비일시적 컴퓨터 판독가능 매체에 저장될 수도 있다. 프로세서들은 설명한 작업들을 수행할 수도 있다.
[0105] 여러 예시적인 구성들을 설명하였지만, 본 개시물의 사상을 벗어나지 않는 다양한 변경들, 대안의 구성들, 및 등가물들이 사용될 수도 있다. 예를 들어, 상기 엘리먼트들은 대형 시스템의 컴포넌트들일 수도 있고, 여기서, 다른 규칙이 우선순위를 얻을 수도 있거나 그렇지 않으면 본 발명의 애플리케이션을 변경할 수도 있다. 또한, 다수의 단계들이 상기 엘리먼트들이 고려되기 이전에, 고려되는 동안, 또는 고려된 이후에 착수될 수도 있다. 따라서, 상기 설명은 청구항들의 범위를 한정하지 않는다.

Claims (40)

  1. 모바일 디바이스의 사용자 인터페이스를 생성하는 방법으로서,
    상기 모바일 디바이스를 통해, 상기 모바일 디바이스의 사용자로부터의 입력을 수신하는 단계 ― 상기 입력은 동적 문맥 의존 정보 큐우들(cues)을 제시하는 특성과 관련됨 ―;
    문맥을 결정하는 단계;
    정보 큐우들의 세트의 서브세트를 식별하는 단계 ― 상기 서브세트는 상기 문맥과 연관됨 ―; 및
    상기 모바일 디바이스를 통해, 식별된 서브세트를 상기 사용자에게 지배적으로(predominately) 제시하는 단계 ― 상기 제시는 상기 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 지배적임 ―;
    를 포함하고,
    상기 제시는 수신된 사용자 입력과 일치하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  2. 제 1 항에 있어서,
    상기 정보 큐우들의 세트는 프로그램과 연관된 그래픽 아이콘을 포함하고, 상기 프로그램은 상기 모바일 디바이스상에서 실행되는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  3. 제 1 항에 있어서,
    상기 정보의 큐우들의 세트는 상기 문맥의 경고를 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  4. 제 1 항에 있어서,
    상기 정보의 큐우들의 세트는 거래(deal)의 경고를 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  5. 제 1 항에 있어서,
    상기 문맥은 이전에 수신된 문맥 정의 사용자 입력에 기초하여 결정되는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  6. 제 5 항에 있어서,
    상기 이전에 수신된 문맥 정의 사용자 입력은 상기 정보 큐우들의 세트의 서브세트를 디스플레이하는 하나 또는 그 초과의 조건들을 식별하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  7. 제 6 항에 있어서,
    상기 하나 또는 그 초과의 조건들은 하나 또는 그 초과의 특정 전송자들로부터 이메일을 수신하는 것을 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  8. 제 1 항에 있어서,
    상기 입력은 상기 식별된 서브세트를 시각적으로 제시하기 위해 상기 모바일 디바이스상의 스크린의 동적 부분의 실제 또는 대략적인 경계를 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  9. 제 8 항에 있어서,
    상기 입력은 하나 또는 그 초과의 터치 스크린을 드로잉한 경계들(touch-screen-drawn borders)을 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  10. 제 8 항에 있어서,
    상기 동적 부분은 상기 모바일 디바이스상의 스크린의 복수의 영역들을 포함하고, 상기 복수의 영역들은 스크린의 일부(less than an entirety)를 커버하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  11. 제 1 항에 있어서,
    상기 식별된 서브세트는 상기 모바일 디바이스상의 스크린의 시스템 정의 부분내에 시각적으로 제시되는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  12. 제 1 항에 있어서,
    상기 정보 큐우들의 세트의 하나 또는 그 초과의 정보 큐우들은 복수의 문맥들과 연관되는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  13. 제 1 항에 있어서,
    상기 식별된 서브세트에는 적어도 하나의 스크롤링 특징이 제시되어, 상기 식별된 서브세트는 상기 모바일 디바이스의 스크린상에 전체적으로 동시에 제시되지 않는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  14. 제 1 항에 있어서,
    상기 정보 큐우들의 세트의 상기 정보 큐우들의 적어도 일부를 랭킹하는 단계를 더 포함하고, 상기 식별된 서브세트의 상기 제시는 상기 랭킹에 적어도 부분적으로 기초하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  15. 제 14 항에 있어서,
    상기 정보 큐우들의 세트의 상기 식별된 서브세트의 상기 정보 큐우들 각각의 상기 제시와 연관된 스크린 위치가 상기 랭킹에 적어도 부분적으로 기초하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  16. 제 1 항에 있어서,
    상기 입력은 복수의 시스템 생성 스크린 파티셔닝 옵션들 사이의 선택을 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  17. 제 1 항에 있어서,
    상기 식별된 서브세트를 지배적으로 제시하는 단계는 상기 정보 큐우들의 세트에서 상기 다른 정보 큐우들과 연관된 그래픽 아이콘들의 임의의 디스플레이에 비해, 상기 서브세트와 연관된 그래픽 아이콘들을 지배적으로 디스플레이하는 단계를 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  18. 제 1 항에 있어서,
    상기 서브세트에서의 정보 큐우들은 상기 모바일 디바이스의 디스플레이 스크린상에서 상기 사용자에게 시각적으로 제시되고, 상기 다른 정보 큐우들은 상기 디스플레이 스크린상에서 사용자에게 시각적으로 제시되지 않는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  19. 제 1 항에 있어서,
    상기 서브세트에서의 정보 큐우들은 모바일 디바이스의 데스크탑 또는 홈 스크린상에서 상기 사용자에게 시각적으로 제시되고, 상기 다른 정보 큐우들은 상기 데스크탑 또는 홈 스크린상에서 상기 사용자에게 시각적으로 제시되지 않는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  20. 제 1 항에 있어서,
    상기 서브세트는 상기 문맥이 결정되었다는 것을 나타내는 정보 큐우를 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  21. 제 20 항에 있어서,
    상기 문맥이 결정되었다는 것을 나타내는 상기 정보 큐우는 상기 모바일 디바이스의 음향 및 진동 중 적어도 하나를 사용하여 상기 사용자에게 제시되는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  22. 제 1 항에 있어서,
    상기 문맥은 환경적 문맥인, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  23. 제 1 항에 있어서,
    상기 모바일 디바이스를 통해, 정보 큐우들의 정적 문맥 의존 세트를 상기 사용자에게 제시하는 단계를 더 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  24. 제 1 항에 있어서,
    상기 모바일 디바이스는 셀룰러 폰인, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  25. 제 1 항에 있어서,
    하나 또는 그 초과의 문맥 연관 변수들을 수신하는 단계를 더 포함하고,
    상기 문맥을 결정하는 단계는 수신된 하나 또는 그 초과의 문맥 연관 변수들에 기초하여 상기 문맥을 추론하는 단계를 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  26. 제 1 항에 있어서,
    제 2 문맥을 결정하는 단계;
    정보 큐우들의 동적 세트의 제 2 서브세트를 식별하는 단계 ― 상기 제 2 서브세트는 상기 제 2 문맥과 연관됨 ―; 및
    상기 모바일 디바이스를 통해, 상기 동적 세트에서 다른 정보 큐우들의 임의의 제시에 비해 상기 제 2 서브세트를 지배적으로 제시하는 단계를 더 포함하고,
    상기 제시는 상기 수신된 사용자 입력과 일치하고, 상기 제 2 서브세트는 상기 서브세트와 상이한, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  27. 제 1 항에 있어서,
    상기 서브세트는 프로그램들을 상기 문맥과 연관시키는 사용자 입력들에 적어도 부분적으로 기초하여 식별되고, 상기 프로그램들은 상기 모바일 디바이스상에서 실행가능한, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  28. 제 1 항에 있어서,
    상기 모바일 디바이스상에서 실행가능한 프로그램들과 상기 사용자의 상호작용들을 모니터링하는 단계;
    상기 사용자의 상호작용들과 문맥 연관 변수 사이의 상관을 식별하는 단계;
    상기 문맥 연관 변수의 값을 수신하는 단계; 및
    식별된 상관 및 수신된 값에 기초하여 상기 문맥을 추론하는 단계를 더 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 방법.
  29. 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템으로서,
    상기 모바일 디바이스의 사용자로부터 입력을 수신하도록 구성된 입력 컴포넌트 ― 상기 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―;
    문맥을 결정하도록 구성된 문맥 검출기;
    결정된 문맥을 정보 큐우들의 세트의 서브세트와 연관시키도록 구성된 연관기(associator); 및
    상기 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 상기 서브세트를 지배적으로 제시하는 사용자 인터페이스를 생성하도록 구성된 사용자 인터페이스 생성기
    를 포함하고,
    상기 서브세트의 제시는 수신된 사용자 입력과 일치하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  30. 제 29 항에 있어서,
    상기 사용자 인터페이스 생성기는 상기 동적 문맥 의존 정보 큐우들을 디스플레이하는 상기 모바일 디바이스의 디스플레이의 부분을 정의하기 위한 디스플레이 배분기(apportioner)를 포함하고, 상기 정의는 상기 사용자 입력에 의존하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  31. 제 29 항에 있어서,
    상기 문맥 검출기는 복수의 문맥 정의들을 적어도 주기적으로 조정하도록 구성된 적응형 모델을 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  32. 제 29 항에 있어서,
    상기 연관기는 정보 큐우들의 동적 세트의 부분들과 문맥들 사이의 연관들을 적어도 주기적으로 조정하도록 구성된 적응형 모델을 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  33. 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템으로서,
    상기 모바일 디바이스의 사용자로부터 입력을 수신하도록 구성된 입력 디바이스 ― 상기 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―; 및
    문맥을 결정하고;
    정보 큐우들의 세트의 서브세트를 식별하고 ― 상기 서브세트는 상기 문맥과 연관됨 ―; 그리고
    식별된 서브세트를 상기 사용자에게 지배적으로 제시하기 위한 사용자 인터페이스를 생성하기 위한,
    컴퓨터 실행가능 명령들로 프로그래밍된 하나 또는 그 초과의 프로세서들
    을 포함하고,
    상기 제시는 상기 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 지배적이며,
    상기 제시는 수신된 사용자 입력과 일치하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  34. 제 33 항에 있어서,
    상기 모바일 디바이스는 상기 하나 또는 그 초과의 프로세서들을 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  35. 제 33 항에 있어서,
    외부 컴퓨터는 상기 하나 또는 그 초과의 프로세서들 중 적어도 하나를 포함하고, 상기 외부 컴퓨터는 무선 접속을 통해 상기 모바일 디바이스에 커플링되는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  36. 제 33 항에 있어서,
    상기 모바일 디바이스는 하나 또는 그 초과의 문맥 연관 변수들을 모니터링하도록 구성된 하나 또는 그 초과의 센서들을 더 포함하는, 모바일 디바이스의 사용자 인터페이스를 생성하는 시스템.
  37. 사용자 인터페이스를 생성하는 시스템으로서,
    모바일 디바이스의 사용자로부터 입력을 수신하기 위한 수단 ― 상기 입력은 동적 문맥 의존 정보 큐우들을 제시하는 특성과 관련됨 ―;
    문맥을 결정하기 위한 수단;
    정보 큐우들의 세트의 서브세트를 식별하기 위한 수단 ― 상기 서브세트는 상기 문맥과 연관됨 ―; 및
    상기 정보 큐우들의 세트에서 다른 정보 큐우들의 임의의 제시에 비해 상기 식별된 서브세트를 지배적으로 제시하기 위한 수단
    을 포함하고,
    상기 제시는 상기 수신된 사용자 입력과 일치하는, 사용자 인터페이스를 생성하는 시스템.
  38. 제 37 항에 있어서,
    상기 문맥을 결정하기 위한 수단은 클러스터링 알고리즘(clustering algorithm)을 사용하는 것을 포함하는, 사용자 인터페이스를 생성하는 시스템.
  39. 제 37 항에 있어서,
    상기 서브세트를 식별하기 위한 수단은 뉴럴 네트워크(neural network)를 사용하는 것을 포함하는, 사용자 인터페이스를 생성하는 시스템.
  40. 제 37 항에 있어서,
    상기 입력을 수신하기 위한 수단은 터치 스크린을 포함하는, 사용자 인터페이스를 생성하는 시스템.
KR1020147010705A 2011-09-22 2012-09-12 동적이고 구성가능한 사용자 인터페이스 KR101847097B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201161537684P 2011-09-22 2011-09-22
US61/537,684 2011-09-22
US13/344,735 2012-01-06
US13/344,735 US9672049B2 (en) 2011-09-22 2012-01-06 Dynamic and configurable user interface
PCT/US2012/054834 WO2013043430A1 (en) 2011-09-22 2012-09-12 Dynamic and configurable user interface

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167013848A Division KR20160066048A (ko) 2011-09-22 2012-09-12 동적이고 구성가능한 사용자 인터페이스

Publications (2)

Publication Number Publication Date
KR20140079428A true KR20140079428A (ko) 2014-06-26
KR101847097B1 KR101847097B1 (ko) 2018-04-10

Family

ID=47912645

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020147010705A KR101847097B1 (ko) 2011-09-22 2012-09-12 동적이고 구성가능한 사용자 인터페이스
KR1020167013848A KR20160066048A (ko) 2011-09-22 2012-09-12 동적이고 구성가능한 사용자 인터페이스

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167013848A KR20160066048A (ko) 2011-09-22 2012-09-12 동적이고 구성가능한 사용자 인터페이스

Country Status (6)

Country Link
US (2) US9672049B2 (ko)
EP (1) EP2758871B1 (ko)
JP (2) JP6224592B2 (ko)
KR (2) KR101847097B1 (ko)
CN (1) CN103827821B (ko)
WO (1) WO2013043430A1 (ko)

Families Citing this family (53)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8977255B2 (en) 2007-04-03 2015-03-10 Apple Inc. Method and system for operating a multi-function portable electronic device using voice-activation
US9672049B2 (en) 2011-09-22 2017-06-06 Qualcomm Incorporated Dynamic and configurable user interface
DE102012221513A1 (de) * 2011-12-09 2013-06-13 International Business Machines Corp. Verfahren und System zum Bereitstellen zusätzlicher Daten einem grafischen Schnittstellenelement
KR101980173B1 (ko) * 2012-03-16 2019-05-20 삼성전자주식회사 서드 파티 테스크 공급자들의 서비스 제공을 대행하는 협력적 퍼스널 어시스턴트 시스템 및 그에 따른 방법
US11372536B2 (en) * 2012-11-20 2022-06-28 Samsung Electronics Company, Ltd. Transition and interaction model for wearable electronic device
US11237719B2 (en) 2012-11-20 2022-02-01 Samsung Electronics Company, Ltd. Controlling remote electronic device with wearable electronic device
US20140152583A1 (en) * 2012-12-03 2014-06-05 International Business Machines Corporation Optimistic placement of user interface elements on a touch screen
US20140164935A1 (en) * 2012-12-12 2014-06-12 Dror Frommer System for rapid browsing of content
US20140201655A1 (en) * 2013-01-16 2014-07-17 Lookout, Inc. Method and system for managing and displaying activity icons on a mobile device
US20150089386A1 (en) * 2013-09-25 2015-03-26 At&T Mobility Ii Llc Intelligent Adaptation of Home Screens According to Handedness
US20150089360A1 (en) * 2013-09-25 2015-03-26 At&T Mobility Ii Llc Intelligent Adaptation of User Interfaces
US20150089359A1 (en) * 2013-09-25 2015-03-26 At&T Mobility Ii Llc Intelligent Adaptation of Home Screens
US9792003B1 (en) * 2013-09-27 2017-10-17 Audible, Inc. Dynamic format selection and delivery
WO2015057586A1 (en) 2013-10-14 2015-04-23 Yahoo! Inc. Systems and methods for providing context-based user interface
US9032321B1 (en) * 2014-06-16 2015-05-12 Google Inc. Context-based presentation of a user interface
JP6274028B2 (ja) * 2014-06-18 2018-02-07 富士通株式会社 表示端末、表示方法、及びプログラム
US9916059B2 (en) 2014-07-31 2018-03-13 Microsoft Technology Licensing, Llc Application launcher sizing
US10186138B2 (en) * 2014-09-02 2019-01-22 Apple Inc. Providing priming cues to a user of an electronic device
US9600156B2 (en) 2014-09-26 2017-03-21 International Business Machines Corporation Enlarging a selection region associated with selected information in a document displayed on a screen of a computing device
US10320704B2 (en) * 2014-10-22 2019-06-11 Tata Consultancy Services Limited User driven smartphone scheduling enhancement for running data analytics application
US20160148157A1 (en) * 2014-11-25 2016-05-26 Sanju Walia Managing activities in an organization
US9927954B2 (en) * 2014-12-05 2018-03-27 HomeAway.com. Inc. Dynamic interface to present customized information contextually in relation to access to a property
KR20160133154A (ko) * 2015-05-12 2016-11-22 삼성전자주식회사 전자 장치 및 그의 그래픽 유저 인터페이스 제공 방법
JP6344311B2 (ja) * 2015-05-26 2018-06-20 ソニー株式会社 表示装置、情報処理システム及び制御方法
US10380569B2 (en) 2015-08-11 2019-08-13 Toshiba Tec Corporation Systems, methods, and apparatuses for displaying purchase transaction elements based on a determined hierarchy
US10845949B2 (en) 2015-09-28 2020-11-24 Oath Inc. Continuity of experience card for index
US11609427B2 (en) 2015-10-16 2023-03-21 Ostendo Technologies, Inc. Dual-mode augmented/virtual reality (AR/VR) near-eye wearable displays
US10521070B2 (en) * 2015-10-23 2019-12-31 Oath Inc. Method to automatically update a homescreen
US11106273B2 (en) * 2015-10-30 2021-08-31 Ostendo Technologies, Inc. System and methods for on-body gestural interfaces and projection displays
US10146397B2 (en) * 2015-11-27 2018-12-04 International Business Machines Corporation User experience steering
US10345594B2 (en) 2015-12-18 2019-07-09 Ostendo Technologies, Inc. Systems and methods for augmented near-eye wearable displays
US10831766B2 (en) 2015-12-21 2020-11-10 Oath Inc. Decentralized cards platform for showing contextual cards in a stream
US10578882B2 (en) 2015-12-28 2020-03-03 Ostendo Technologies, Inc. Non-telecentric emissive micro-pixel array light modulators and methods of fabrication thereof
USD789416S1 (en) * 2016-02-04 2017-06-13 Lutron Electronics Co., Inc. Display screen or portion thereof with animated graphical user interface
USD797791S1 (en) * 2016-03-22 2017-09-19 Teletracking Technologies, Inc. Display screen with graphical user interface
US10353203B2 (en) 2016-04-05 2019-07-16 Ostendo Technologies, Inc. Augmented/virtual reality near-eye displays with edge imaging lens comprising a plurality of display devices
US10453431B2 (en) 2016-04-28 2019-10-22 Ostendo Technologies, Inc. Integrated near-far light field display systems
US10522106B2 (en) 2016-05-05 2019-12-31 Ostendo Technologies, Inc. Methods and apparatus for active transparency modulation
US10345986B1 (en) * 2016-05-17 2019-07-09 Google Llc Information cycling in graphical notifications
US10248536B2 (en) * 2016-10-31 2019-04-02 International Business Machines Corporation Method for static and dynamic configuration verification
US20180129581A1 (en) * 2016-11-07 2018-05-10 International Business Machines Corporation Method for static and dynamic configuration verification
US20190122140A1 (en) * 2017-10-20 2019-04-25 STATGRAF Research LLP. Data analysis and rendering
CN108874485A (zh) * 2018-06-08 2018-11-23 Oppo广东移动通信有限公司 图标显示方法、装置及终端
WO2021006906A1 (en) * 2019-07-11 2021-01-14 Google Llc System and method for providing an artificial intelligence control surface for a user of a computing device
US10768952B1 (en) 2019-08-12 2020-09-08 Capital One Services, Llc Systems and methods for generating interfaces based on user proficiency
US11097688B2 (en) 2019-09-20 2021-08-24 GM Cruise Holdings, LLC Journey verification for ridesharing via audible signals
US10953852B1 (en) 2019-09-27 2021-03-23 GM Cruise Holdings, LLC. Pick-up authentication via audible signals
US11267401B2 (en) 2019-09-27 2022-03-08 GM Cruise Holdings, LLC Safe passenger disembarking for autonomous vehicles via audible signals
DE102020204619A1 (de) * 2020-04-09 2021-10-14 Siemens Aktiengesellschaft Überwachen eines Elektroenergieübertragungssystems
US11546458B2 (en) * 2020-06-10 2023-01-03 Micron Technology, Inc. Organizing applications for mobile devices
US11756574B2 (en) * 2021-03-11 2023-09-12 Apple Inc. Multiple state digital assistant for continuous dialog
CN113407268B (zh) * 2021-05-07 2023-09-01 北京奇艺世纪科技有限公司 互动窗口展示方法、装置、电子设备及存储介质
CN114356165B (zh) * 2022-01-11 2024-01-23 瀚云科技有限公司 一种监控设备的监控区域确定方法、装置及电子设备

Family Cites Families (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6211858B1 (en) 1997-09-26 2001-04-03 Ericsson Inc. Method and apparatus for displaying a rotating meter icon on a portable intelligent communications device
US6668177B2 (en) 2001-04-26 2003-12-23 Nokia Corporation Method and apparatus for displaying prioritized icons in a mobile terminal
EP1256875A1 (en) 2001-05-10 2002-11-13 Nokia Corporation Method and device for context dependent user input prediction
US20020186257A1 (en) 2001-06-08 2002-12-12 Cadiz Jonathan J. System and process for providing dynamic communication access and information awareness in an interactive peripheral display
US7032188B2 (en) * 2001-09-28 2006-04-18 Nokia Corporation Multilevel sorting and displaying of contextual objects
US20040155909A1 (en) * 2003-02-07 2004-08-12 Sun Microsystems, Inc. Scroll tray mechanism for cellular telephone
JP3669702B2 (ja) * 2003-02-25 2005-07-13 松下電器産業株式会社 アプリケーションプログラムの予測方法及び移動体端末
US7386279B2 (en) 2003-04-02 2008-06-10 Sun Microsystems, Inc. Context based main screen for mobile device
EP1473911A1 (en) 2003-04-28 2004-11-03 Sony Ericsson Mobile Communications AB Changing presentation of items of information based on message reception frequency
US7221331B2 (en) 2003-05-05 2007-05-22 Microsoft Corporation Method and system for auxiliary display of information for a computing device
US7620894B1 (en) * 2003-10-08 2009-11-17 Apple Inc. Automatic, dynamic user interface configuration
US8209634B2 (en) 2003-12-01 2012-06-26 Research In Motion Limited Previewing a new event on a small screen device
JP4730684B2 (ja) 2004-03-16 2011-07-20 イマジニアリング株式会社 ユーザインターフェースが進化するデータベースシステムおよび当該データベースシステムを利用したWebブラウザ
US20060107219A1 (en) 2004-05-26 2006-05-18 Motorola, Inc. Method to enhance user interface and target applications based on context awareness
EP1659766B1 (en) 2004-11-09 2007-02-28 Research In Motion Limited Dynamic bar oriented user interface
US20080005679A1 (en) * 2006-06-28 2008-01-03 Microsoft Corporation Context specific user interface
JP2008015971A (ja) 2006-07-10 2008-01-24 Matsushita Electric Ind Co Ltd 情報提示装置及び情報提示方法
US7581188B2 (en) * 2006-09-27 2009-08-25 Hewlett-Packard Development Company, L.P. Context-based user interface system
US8032839B2 (en) * 2006-12-18 2011-10-04 Sap Ag User interface experience system
US8413059B2 (en) 2007-01-03 2013-04-02 Social Concepts, Inc. Image based electronic mail system
US20090150807A1 (en) * 2007-12-06 2009-06-11 International Business Machines Corporation Method and apparatus for an in-context auto-arrangable user interface
US20090187466A1 (en) * 2008-01-23 2009-07-23 Maphook, Inc. Location-Based Information-Geo Retail Notification
US8245143B2 (en) 2008-10-08 2012-08-14 Research In Motion Limited Method and handheld electronic device having a graphical user interface which arranges icons dynamically
JP5262673B2 (ja) 2008-12-18 2013-08-14 日本電気株式会社 携帯端末、機能実行方法及びプログラム
JP5201591B2 (ja) * 2009-03-05 2013-06-05 Necカシオモバイルコミュニケーションズ株式会社 携帯端末装置及びプログラム
US20100317371A1 (en) 2009-06-12 2010-12-16 Westerinen William J Context-based interaction model for mobile devices
JP2011066850A (ja) * 2009-09-18 2011-03-31 Fujitsu Toshiba Mobile Communications Ltd 情報通信端末
US8972878B2 (en) * 2009-09-21 2015-03-03 Avaya Inc. Screen icon manipulation by context and frequency of Use
JP4982551B2 (ja) 2009-11-05 2012-07-25 株式会社エヌ・ティ・ティ・ドコモ 通信システム、通信装置及びプログラム
US8490018B2 (en) * 2009-11-17 2013-07-16 International Business Machines Corporation Prioritization of choices based on context and user history
US20110126119A1 (en) * 2009-11-20 2011-05-26 Young Daniel J Contextual presentation of information
JP5400599B2 (ja) 2009-12-18 2014-01-29 株式会社日立製作所 Guiカスタマイズ方法、システム及びプログラム
JP2011160145A (ja) * 2010-01-29 2011-08-18 Fujitsu Toshiba Mobile Communications Ltd 携帯端末装置
US8315791B2 (en) * 2010-06-18 2012-11-20 Nokia Coporation Method and apparatus for providing smart zooming of a geographic representation
EP2451141B1 (en) * 2010-11-09 2018-11-07 BlackBerry Limited Methods and apparatus to display mobile device contents
US9292171B2 (en) * 2010-11-17 2016-03-22 International Business Machines Corporation Border menu for context dependent actions within a graphical user interface
US8766793B2 (en) * 2011-03-25 2014-07-01 Microsoft Corporation Contextually-appropriate task reminders
US9672049B2 (en) 2011-09-22 2017-06-06 Qualcomm Incorporated Dynamic and configurable user interface

Also Published As

Publication number Publication date
KR20160066048A (ko) 2016-06-09
CN103827821B (zh) 2018-02-06
US11106350B2 (en) 2021-08-31
JP6224592B2 (ja) 2017-11-01
US20130080890A1 (en) 2013-03-28
US20170262293A1 (en) 2017-09-14
JP6348538B2 (ja) 2018-06-27
US9672049B2 (en) 2017-06-06
JP2016194932A (ja) 2016-11-17
WO2013043430A1 (en) 2013-03-28
EP2758871B1 (en) 2021-08-11
JP2014531666A (ja) 2014-11-27
KR101847097B1 (ko) 2018-04-10
EP2758871A1 (en) 2014-07-30
CN103827821A (zh) 2014-05-28

Similar Documents

Publication Publication Date Title
US11106350B2 (en) Dynamic and configurable user interface
CN108268259B (zh) 动态生成定制应用入门教程
US8423897B2 (en) Onscreen keyboard assistance method and system
US8805417B2 (en) Dynamic contact list display
US20160063874A1 (en) Emotionally intelligent systems
KR20180104720A (ko) 상황별 작업 바로 가기들
WO2017167123A1 (zh) 一种移动设备上资源入口的显示方法、装置及移动设备
US20200004495A1 (en) Generating a Customized Social-Driven Playlist
US10860175B2 (en) Dynamically generating custom sets of application settings
US20180188906A1 (en) Dynamically generating a subset of actions
US11436265B2 (en) System for presenting tailored content based on user sensibilities
AU2022306844A1 (en) Content genome generation and management system in a multi-modal artificial intelligence system for media assets
JP2012058987A (ja) ユーザにアプリケーションを推薦する配信サーバ及び配信方法
KR20170119908A (ko) 경기 결과 예측 서비스를 제공하는 시스템 및 방법
US11880554B2 (en) Overflow application tool for computing devices
CN112083811A (zh) 一种候选项展示方法和装置

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL NUMBER: 2016101003057; TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20160525

Effective date: 20180227

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
GRNT Written decision to grant