KR20180051653A - 일시적인 그래픽 객체를 렌더링하는 방법 및 장치 - Google Patents

일시적인 그래픽 객체를 렌더링하는 방법 및 장치 Download PDF

Info

Publication number
KR20180051653A
KR20180051653A KR1020187012431A KR20187012431A KR20180051653A KR 20180051653 A KR20180051653 A KR 20180051653A KR 1020187012431 A KR1020187012431 A KR 1020187012431A KR 20187012431 A KR20187012431 A KR 20187012431A KR 20180051653 A KR20180051653 A KR 20180051653A
Authority
KR
South Korea
Prior art keywords
content
user
gesture
application
temporary
Prior art date
Application number
KR1020187012431A
Other languages
English (en)
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 KR20180051653A publication Critical patent/KR20180051653A/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/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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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/04817Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance using icons
    • GPHYSICS
    • G06COMPUTING; 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/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0486Drag-and-drop
    • 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
    • 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/04883Interaction 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 for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04805Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Abstract

일 실시예에서, 방법은 하나 이상의 애플리케이션과 관련된 그래픽 사용자 인터페이스의 부분에 링크된 사용자 입력을 검출하는 것을 포함한다. 상기 방법은 검출된 사용자 입력에 응답하여, 여러 부분들로 이루어진 일시적인 그래픽 객체의 적어도 일부분를 렌더링하는 것을 더 포함한다. 각각의 부분은 상이한 가상 공간과 연관되고, 각각의 부분은 적어도 다음을 포함하는 콘텐츠를 구비한다: 1) 하나 이상의 애플리케이션 중 특정의 한 애플리케이션에 링크된 정보; 및 2) 특정 애플리케이션에 링크된 하나 이상의 동작을 시작하기 위한 하나 이상의 그래픽 콘트롤 객체.

Description

일시적인 그래픽 객체를 렌더링하는 방법 및 장치
본 개시는 일반적으로 사용자 디바이스를 위한 사용자 인터페이스에 관한 것이다.
모바일 사용자 디바이스는 사용자가 다양한 위치를 이동하는 경우에도 컴퓨팅 기능에 대한 액세스를 제공한다. 모바일 사용자 디바이스의 예에는 모바일 폰, 미디어 플레이어, 랩톱, 태블릿, 개인용 정보 단말기(PDA) 또는 이 유형의 여러 디바이스의 기능을 포함하는 하이브리드 디바이스가 포함된다.
모바일 사용자 디바이스는 로컬 영역 네트워크, 광역 네트워크, 셀룰러 네트워크, 인터넷 또는 임의의 다른 적절한 네트워크와 같은 통신 네트워크의 일부일 수 있다. 모바일 사용자 디바이스는 예를 들어, 원격-저장된 데이터에 액세스하고, 원격 처리 자원에 액세스하고, 원격 디스플레이에 액세스하고, 로컬-저장된 데이터를 제공하고, 로컬 처리 능력을 제공하거나, 또는 로컬 디스플레이로의 액세스를 제공하기 위해, 통신 네트워크를 사용하여 다른 사용자 디바이스들과 통신할 수 있다. 예를 들어, 네트워크는 모바일 사용자 디바이스를 통해 사용자가 액세스하거나 사용할 수 있는 애플리케이션, 콘텐츠 및 서비스를 호스트할 수 있는 서버로의 통신 경로 및 링크를 제공할 수 있다. 콘텐츠는 텍스트, 비디오 데이터, 오디오 데이터, 사용자 설정 또는 다른 유형의 데이터를 포함할 수 있다. 네트워크는 예를 들어 블루투스(Bluetooth), IEEE WI-FI(802.11a/b/g/n/ac) 또는 전송 콘트롤 프로토콜/인터넷 프로토콜(TCP/IP)과 같은 모바일 사용자 디바이스들 간의 통신을 용이하게 하기 위해 임의의 적합한 통신 프로토콜 또는 기술을 사용할 수 있다.
방법은 하나 이상의 애플리케이션과 관련된 그래픽 사용자 인터페이스의 부분에 링크된 사용자 입력을 검출하는 것을 포함한다. 상기 방법은 검출된 사용자 입력에 응답하여, 여러 부분들로 이루어진 일시적인 그래픽 객체의 적어도 일부를 렌더링하는 것을 더 포함한다. 각각의 부분은 상이한 가상 공간과 연관되고, 각 부분은 적어도 다음을 포함하는 콘텐츠를 구비한다: 1) 하나 이상의 애플리케이션 중 특정의 한 애플리케이션에 링크된 정보; 및 2) 특정 애플리케이션에 링크된 하나 이상의 동작을 시작하기 위한 하나 이상의 그래픽 콘트롤 객체.
도 1은 일시적인 그래픽 객체와 관련된 예시적인 네트워크 환경을 도시한다.
도 2는 예시적인 사용자 디바이스 상의 예시적인 디스플레이를 도시한다.
도 3a 내지 도 3c는 예시적인 일시적인 그래픽 객체를 도시한다.
도 4a 및 도 4b는 일시적인 그래픽 객체의 예시적인 콘텐츠 객체를 도시한다.
도 5a 내지 도 5d는 그 크기에 기초하여 동적으로 렌더링된 일시적인 그래픽 객체의 예를 도시한다.
도 6a 내지 도 6d는 제스처의 방향에 기초하여 렌더링된 일시적인 그래픽 객체의 예를 도시한다.
도 7a 내지 도 7d는 제스처의 방향에 기초하여 렌더링되는 일시적인 그래픽 객체의 예를 도시한다.
도 8은 가상 공간에서 렌더링된 일시적인 그래픽 객체의 예를 도시한다.
도 9는 일시적인 그래픽 객체를 렌더링하기 위한 예시적인 방법을 도시한다.
도 10은 예시적인 컴퓨터 시스템을 도시한다.
일 실시예에서, 방법은 하나 이상의 애플리케이션과 관련된 그래픽 사용자 인터페이스의 부분에 링크된 사용자 입력을 검출하는 것을 포함한다. 상기 방법은 검출된 사용자 입력에 응답하여, 여러 부분들로 이루어진 일시적인 그래픽 객체의 적어도 부분을 렌더링하는 것을 더 포함한다. 각각의 부분은 상이한 가상 공간과 연관되고, 각 부분은 적어도 다음을 포함하는 콘텐츠를 구비한다: 1) 하나 이상의 애플리케이션 중 특정의 한 애플리케이션에 링크된 정보; 및 2) 특정 애플리케이션에 링크된 하나 이상의 동작을 시작하기 위한 하나 이상의 그래픽 콘트롤 객체.
다른 실시예는 하나 이상의 프로세서에 의해 실행될 때 하나 이상의 프로세서로 하여금 상기 방법을 수행하게 하는 명령어를 구현하는 컴퓨터 판독 가능 저장 매체를 제공한다.
일 실시예는, 명령어를 구현하는 하나 이상의 컴퓨터 판독 가능 저장 매체와, 상기 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함하는 장치를 제공하며, 상기 명령어는, 하나 이상의 애플리케이션과 관련된 그래픽 사용자 인터페이스의 부분에 링크된 사용자 입력을 검출하고, 상기 검출된 사용자 입력에 응답하여, 복수의 부분을 포함하는 일시적인 그래픽 객체의 적어도 부분을 렌더링하고, 상이한 가상 공간과 연관되고 컨텐츠를 포함하는 각각의 부분은, 상기 하나 이상의 애플리케이션 중 특정 하나의 애플리케이션에 링크된 정보 및 상기 특정 애플리케이션에 링크된 하나 이상의 동작을 시작하기 위한 하나 이상의 그래픽 콘트롤 객체를 포함한다.
일 실시예에서, 각각의 부분은 별개의 사용자 입력과 관련되고, 프로세서는 검출된 사용자 입력과 관련된 부분을 결정하고 적어도 상기 검출된 사용자 입력과 관련된 부분을 렌더링하기 위한 명령어를 실행하도록 더 구성된다.
일 실시예에서, 사용자 입력은 사용자의 적어도 일부분에 의해 만들어지고, 상기 부분에서 시작하는 제스처를 포함하고, 일시적인 그래픽 객체의 크기는 그 부분으로부터 사용자의 적어도 일부분의 거리가 증가할 때 증가하고, 그 부분으로부터 사용자의 적어도 일부분의 거리가 감소함에 따라 감소하며, 디스플레이되는 콘텐츠의 양은 그래픽 객체의 크기에 기초한다.
도 1은 일시적인 그래픽 객체와 관련된 예시적인 네트워크 환경(100)을 도시한다. 특정 실시예들이 제스처의 형태로 입력되는 사용자 입력과 관련하여 이하 기술되지만, 본 개시는 대안의 실시예가 다른 유형의 사용자 입력(예를 들어, 텍스트-기반 입력, 음성-기반 입력 등)을 이용할 수 있음을 고려한다.
네트워크 환경(100)은 네트워크(110)에 의해 서로 접속된 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150), 및 사용자 인터페이스(UI) 애플리케이션 프로그래밍 인터페이스(API)(160)를 포함할 수 있다. 또한, 도 1은 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160)의 특정 구성을 도시하지만, 본 개시는 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160)의 임의의 적절한 구성을 고려한다. 예로서 그리고 비제한적으로, 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160) 중 2 이상은 네트워크(110)를 우회하여 직접적으로 서로 접속될 수 있다. 다른 예로서, 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160) 중 2 이상은 전체적으로 또는 부분적으로 서로 물리적으로 또는 논리적으로 함께 배치될 수 있다. 예를 들어, 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160)는 동일한 사용자 디바이스 내에서 서로 함께 배치될 수 있다. 또한, 도 1은 특정한 수의 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150), UI API(160) 및 네트워크(110)를 도시하지만, 본 개시는 임의의 적절한 수의 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150), UI API(160) 및 네트워크(110)를 고려한다. 예로서 그리고 비제한적으로, 네트워크 환경(100)은 복수의 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150), UI API(160) 및 네트워크(110)를 포함할 수 있다.
본 개시는 임의의 적절한 네트워크(110)를 고려한다. 예로서 그리고 비제한적으로, 네트워크(130)의 하나 이상의 부분은 애드혹 네트워크, 인트라넷, 엑스트라넷, 가상 사설 네트워크(VPN), 근거리 통신망(LAN), 무선 LAN(WLAN), 광역 네트워크(WAN), 무선 WAN(WWAN), MAN(Metropolitan Area Network), 인터넷의 일부, PSTN(Public Switched Telephone Network)의 일부, 셀룰러 텔레폰 네트워크, 또는 이들 중 2 또는 그 이상의 조합을 포함할 수 있다. 네트워크(110)는 하나 이상의 네트워크(110)를 포함할 수 있다.
링크(120a-d)는 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160)를 통신 네트워크(110) 또는 서로에 연결할 수 있다. 본 개시는 임의의 적절한 링크(120a-d)를 고려한다. 특정 실시예에서, 하나 이상의 링크(120)는 하나 이상의 유선(예를 들어 디지털 가입자 회선(DSL) 또는 데이터 오버 케이블 서비스 인터페이스 규격(DOCSIS)) 링크, 무선(예를 들어 Wi-Fi 또는 WiMAX) 링크, 또는 광학(예를 들어 동기식 광 네트워크(SONET) 또는 동기식 디지털 계층(SDH)) 링크를 포함한다. 특정 실시예에서, 하나 이상의 링크(120)는 각각 애드 혹 네트워크, 인트라넷, 익스트라 넷, VPN, LAN, WLAN, WAN, WWAN, MAN, 인터넷의 일부, PSTN의 일부, 셀룰러 기술-기반 네트워크, 위성 통신 기술-기반 네트워크, 다른 링크(120), 또는 2 개 이상의 그러한 링크(120)의 조합을 포함할 수 있다. 링크(120)는 반드시 네트워크 환경(100)에서 동일할 필요는 없다. 하나 이상의 제1 링크(120)는 하나 이상의 점에서 하나 이상의 제2 링크(120)와 다를 수 있다.
특정 실시예에서, 데이터 저장소(140)는 도 1에 도시된 바와 같이 클라우드 스토리지 또는 기타 네트워크 액세스 가능 스토리지와 같은 네트워크 스토리지를 포함할 수 있다. 부가적으로 또는 대안으로, 데이터 저장소(140)는 솔리드 스테이트 드라이브("SSD") 또는 하드 디스크 드라이브("HDD")와 같은 제어 모듈(130) 내에 또는 직접 부착된 로컬 스토리지를 포함할 수 있다. 특정 실시예에서, 데이터 저장소(140)는 구성 데이터 및 뷰 데이터 캐시를 저장할 수 있다. 일부 실시예에서, 구성 데이터는 이하에 더 상세하게 설명되는 바와 같이, 애플리케이션(150)에 대한 하나 이상의 일시적 그래픽 객체의 구성을 나타낼 수 있다. 일부 실시예에서, 뷰 캐시(view cache)는 하나 이상의 애플리케이션에 대한 일시적인 그래픽 객체(transient graphical object) 내의 콘텐츠 객체 또는 콘텐츠 요소를 생성하기 위한 데이터를 포함할 수 있다. 예를 들어, 뷰 캐시는 사용자가 일시적인 그래픽 객체를 열기 위해 제스처를 수행 할 때 콘텐츠 데이터에 대한 데이터 액세스를 용이하게 할 수 있다. 일부 실시예에서, 데이터 저장 인터페이스는 데이터에 대한 액세스를 제공하기 위해 제어 모듈(130), 애플리케이션(150), UI API(160) 및 데이터 저장소(140) 사이의 인터페이스를 제공할 수 있다.
특정 실시예에서, 일시적인 그래픽 객체를 생성하기 위한 컴포넌트는 다양한 레벨의 하드웨어 및 소프트웨어 아키텍처일 수 있다. 일부 실시예에서, 제어 모듈(130), 데이터 저장소(140), 애플리케이션(150) 및 UI API(160)는 하나 이상의 프로세서에 의해 실행 가능한 데이터 저장소(140)에 저장된 하나 이상의 프로세서 및 명령어에 대응한다. 일부 실시예에서, 소프트웨어 레벨에서, 제어 모듈(130)은 애플리케이션 계층, 운영 시스템(OS) 계층, 또는 이들의 조합 내에서 모바일 디바이스에 배치될 수 있다. 일부 실시예에서, 애플리케이션(150)은 애플리케이션 레벨 내에 배치될 수 있다. 일부 실시예에서, UI API(160)는 OS 계층 내에 배치될 수 있다. 이 개시는 컴포넌트의 일부 또는 모든 기능이 하드웨어 또는 소프트웨어 계층 내에서 임의의 다른 적절한 방식으로 배치될 수 있음을 고려한다.
특정 실시예에서, 제어 모듈(130)은 일시적인 그래픽 객체의 구성, 관리 및 생성을 용이하게 하는 콘트롤 로직을 포함할 수 있다. 일부 실시예에서, 애플리케이션(150)은 사용자 디바이스 상에 설치되고 사용자 디바이스의 UI 상에 디스플레이되는 관련된 아이콘이 있는 소프트웨어 애플리케이션이다. 일부 실시예에서, UI API(160)는 사용자 입력 데이터(예를 들어, 사용자 디바이스의 터치 스크린 상에 만들어진 터치 제스처에 대응하는 사용자 입력)를 수신하고 사용자 디바이스 상에 디스플레이된 그래픽 UI 및 다른 출력 디바이스(스피커, 진동 메커니즘 등) 를 콘트롤하는 인터페이스를 제공할 수 있다.
특정 실시예에서, 제어 모듈(130)은 여러 접근법을 사용하여 구현될 수 있다. 일 실시예에서, 제어 모듈(130)은 안드로이드(ANDROID) 운영 시스템을 위한 런처 애플리케이션과 같은 장치에 대한 "홈 스크린"기능을 제공하는 애플리케이션으로서 기록될 수 있다. 이러한 유형의 실시예는 사용자가 홈 스크린, 알림 바 (notification shade) 또는 "애플리케이션 서랍(application drawer)" 상의 아이콘을 제스처할 때 제어 모듈(130)로 하여금 애플리케이션을 위한 일시적인 그래픽 객체를 제공하게 할 수 있다. 대안적인 실시예는 제어 모듈(130)의 기능을 기본 운영 시스템에 직접 내장하여, 발생하는 모든 애플리케이션에 대한 일시적인 그래픽 객체(예를 들어, 통지 뷰의 애플리케이션으로부터의 통지)를 제공할 수 있도록 한다.
특정 실시예에서, 제어 모듈(130)은 기본 운영 시스템(예컨대, 탭, 더블-탭, 길게 누름(long press))에 의해 수행되는 제스처 검출(또는 예를 들어, 사용자 입력 검출)을 이용하여 일시적인 그래픽 객체를 생성하라는 요청(request)을 인식할 수 있다. 부가적으로 또는 대안적으로, 제어 모듈(130)은 그 자체의 제스처 인식을 구현할 수 있다. 예를 들어, UI API(160)는 제어 모듈(130)이 제스처 인식을 위해 처리할 수 있는 제스처 데이터를 제어 모듈(130)에 제공할 수 있다. 일부 실시예에서, 제스처 인식은 제어 모듈(130)이 연속적인 사용자 입력에 기초하여 일시적인 그래픽 객체의 크기를 콘트롤하거나, 제스처의 시작을 인식하거나, 실시간으로 복합 제스처를 동적으로 인식하게 할 수 있다. 부가적으로 또는 대안적으로, 제어 모듈(130)은 불연속적인 사용자 입력을 수신하도록 구성될 수 있다. 예를 들어, 하나의 제스처가 일시적인 그래픽 객체를 시작하고 다른 제스처가 일시적인 그래픽 객체를 제거할 수 있다. 부가적으로 또는 대안적으로, 제어 모듈(130)은 음성 데이터, 스타일러스 입력, 별도의 입력 디바이스로부터의 입력, 버튼 누름으로부터 생성된 입력, 센서로부터의 입력 또는 다른 적절한 입력과 같은 다른 사용자 입력에 응답하여 동일한 기능을 제공할 수 있다. 이 개시는 제스처 인식이 제어 모듈(130) 또는 운영 시스템에 의해 수행되는 것을 설명하지만, 이 개시는 제스처 인식이 임의의 적합한 구성 요소에 의해 수행될 수 있음을 고려한다.
특정 실시예에서, 제어 모듈(130)은 일시적인 그래픽 객체를 생성하기 위해 사용자 입력을 수신하는 제어 모듈(130)에 응답하여 일시적인 그래픽 객체의 콘텐츠를 생성할 수 있다. 일부 실시예에서, 제어 모듈(130)은 애플리케이션(150)이 일시적인 그래픽 객체를 생성 할 때 커스텀 콘텐츠(custom content)를 제공하는지 여부를 체크할 수 있다. 애플리케이션(150)은 애플리케이션(150)이 여러 메커니즘을 통해 커스텀 콘텐츠를 제공함을 나타낼 수 있다. 예로서, 애플리케이션(150)은 커스텀 콘텐츠를 제공하는 방법을 기술하는 구성(configuration) 데이터 파일(예를 들어, XML 파일)을 포함할 수 있다. 이 예에서, 제어 모듈(130)은 애플리케이션(150)이 설치 될 때 구성 파일을 판독하고, 나중에 액세스하기 위해 데이터 저장 디바이스에 상기 구성을 저장하거나, 애플리케이션(150)에 대한 일시적인 그래픽 객체를 처음 생성하려고 시도할 때 구성 파일을 판독하거나, 다른 적절한 시간에 그 구성 파일을 판독할 수 있다.
일부 실시예에서, 제어 모듈(130)이 구성 파일을 판독할 때, 나중에 액세스하기 위해 데이터 저장소(140)에 그 구성을 저장할 수 있다. 일시적인 그래픽 객체를 생성하기 위해 사용자 입력을 수신할 때, 제어 모듈(130)은 저장된 구성 데이터에 액세스하여 커스텀 콘텐츠를 결정할 수 있다. 다른 예에서, 애플리케이션(150)은 구성 파일을 저장하는 것이 아니라 매번 구성 데이터에 콘텐츠를 제공할 수 있다.
다른 실시예에서, 애플리케이션(150)은 커스텀 콘텐츠에 대한 요청에 응답하는 특정 기능(예를 들어, 배경 서비스 또는 방송 수신기)을 구현할 수 있다. 일부 실시예에서, 구성 파일은 제어 모듈(130)로 하여금 애플리케이션에 대한 커스텀 콘텐츠를 결정할 수 있게 하는 데이터를 포함한다. 예를 들어 구성 파일은 커스텀 콘텐츠를 포함하고 있거나, 커스텀 콘텐츠의 위치(예: URL, 폴더 또는 커스텀 콘텐츠가 포함될 수 있는 기타 위치)를 나타낼 수 있다.
다른 실시예에서, 애플리케이션(150)은 애플리케이션(150)이 커스텀 콘텐츠를 제공한다는 것을 제어 모듈(130)에 통지할 수 있다. 부가적으로 또는 대안적으로, 제어 모듈(130)은 일시적 그래픽 객체를 생성하기 위해 사용자 입력에 앞서 일시적인 그래픽 객체의 콘텐츠를 생성할 수 있으며, 필요시 액세스를 위해 포맷, 캐싱 또는 저장될 수 있다.
특정 실시예에서, 커스텀 콘텐츠를 제공하는 애플리케이션(150)에 응답하여, 제어 모듈(130)은 커스텀 콘텐츠에 대한 뷰를 생성할 수 있다. 일부 실시예에서, 제어 모듈(130)은 뷰 캐시 내의 애플리케이션에 대한 가장 최근의 콘텐츠, 일정 기간 동안 커스텀 콘텐츠를 제공한 애플리케이션에 대한 콘텐츠, 사용자가 자주 액세스하는 콘텐츠, 사용자가 곧 액세스할 수 있는 콘텐츠(예로써, 사용자가 과거에 자주 뉴스를 확인한 하루 중 어떤 시간 동안의 뉴스 콘텐츠), 사용자가 자주 액세스한 애플리케이션 유형(예: 통신 애플리케이션, 소셜 애플리케이션 등)에 대한 콘텐츠를 캐시할 수 있거나, 또는 제어 모듈은 다른 적절한 방법으로 콘텐츠를 캐시할 수 있다. 일부 실시예에서, 제어 모듈(130)은 애플리케이션이 애플리케이션의 콘텐츠를 주기적으로 업데이트하기 위한 API를 제공할 수 있거나, 제어 모듈(130)은 최종 디스플레이된 콘텐츠를 보여줄 수 있으며 사용자가 그 일시적인 그래픽 객체를 볼 때만 애플리케이션이 그 콘텐츠를 리프레시하도록 요청할 수 있다.
일부 실시예에서, 제어 모듈(130)은 사용자가 일시적인 그래픽 객체를 열 때마다 애플리케이션으로부터 콘텐츠를 동적으로 요청할 수 있다. 일부 실시예에서, 제어 모듈(130)은 예를 들면 최근 콘텐츠를 캐싱하지만 사용자가 최근에 보지 않은 일시적인 그래픽 객체를 갖는 애플리케이션에 대한 콘텐츠를 동적으로 요청함으로써 그러한 접근법들을 결합할 수 있다.
일부 실시예에서, 제어 모듈(130)은 제어 모듈(130)이 애플리케이션(예를 들어, 본 발명이 콘텐츠를 리프레시하거나 요청하고 있음을 나타내는 스피너)으로부터 콘텐츠를 대기하고 있음을 나타내는 피드백을 사용자에게 제공할 수 있다. 예를 들어, 제어 모듈(130)은 그 지시를 제공하기 위해 UI API(160)에 요청할 수 있다.
특정 실시예에서, 제어 모듈(130)은 일시적인 그래픽 객체의 현재 크기에 관계없이 애플리케이션(150)에 대해 동일한 콘텐츠를 표시할 수 있다. 특정 실시예에서, 제어 모듈(130)은 애플리케이션(150)으로부터 상이한 콘텐츠(예를 들어, 개요, 하이라이트 및 세부 사항)를 요청하거나 사용할 수 있거나 또는 일시적인 그래픽 객체의 크기에 기초하여 표시된 콘텐츠를 조정할 수 있다. 예를 들어, 제어 모듈(130)은 상이한 디스플레이 크기(예를 들어, 소형, 중형 및 대형, 또는 100x100 픽셀, 500x500 픽셀, 전체 화면 등)에 맞도록 콘텐츠를 요청할 수 있다. 제어 모듈(130)은 그때 일시적인 그래픽 객체의 현재 크기에 기초하여 UI API(160)를 통해 표시할 콘텐츠를 결정할 수 있다.
일부 실시예에서, 제어 모듈(130)은 애플리케이션(150)이 콘텐츠에 우선 순위를 할당하고, 요소들에 할당된 우선 순위, 그들의 크기, 및 이용 가능한 일시적인 그래픽 객체 뷰 크기에 기초하여 UI API(160)를 통해 보여줄 콘텐츠 요소를 선택할 것을 요청할 수 있다. 일부 실시예에서, 제어 모듈(130)은 내장된 휴리스틱스(heuristics) 세트를 사용하여 UI API(130)를 통해 콘텐츠를 디스플레이하기 전에 콘텐츠를 조정할 수 있다. 예로서 그리고 비제한적으로, 제어 모듈(130)은 텍스트 필드를 줄이거나 감추고, 인터페이스 콘트롤을 줄이거나 숨기고, 텍스트 폰트 크기를 조정하거나, 또는 다른 적절한 수정을 함으로써 휴리스틱스를 사용할 수 있다. 또 다른 예로서, 휴리스틱스는 새로운 콘텐츠가 오래된 콘텐츠 위에 표시되도록 우선 순위가 지정되거나, 이미지가 텍스트 위에 표시되도록 우선 순위가 지정되거나, 그래픽 컨트롤 객체를 포함하는 콘텐츠가 그래픽 콘트롤 객체를 포함하지 않는 콘텐츠 위에 표시되도록 우선 순위가 지정될 수 있도록 결정할 수 있다.
일부 실시예에서, 휴리스틱스는 일시적인 그래픽 객체의 크기에 기초하여 일시적인 그래픽 객체에 대한 콘텐츠를 결정할 수 있다. 예를 들어, 휴리스틱스는 작은 크기의 일시적인 그래픽 객체의 디스플레이를 위한 이미지 콘텐츠에 우선 순위를 주고, 일시적인 그래픽 객체가 확장됨에 따라 텍스트 콘텐츠를 추가하는 것에 우선 순위를 주고, 일시적인 그래픽 객체가 최종 프리젠테이션에 접근할 때 그래픽 콘트롤 객체를 포함하는 콘텐츠를 추가하는 것에 우선 순위를 줄 수 있다.
특정 실시예에서, 애플리케이션(150)은 커스텀 콘텐츠를 여러 형태로 제공할 수 있다. 예를 들어, 애플리케이션(150)은 제어 모듈(130)에 UI 콘텐츠 자체의 설명(예를 들어, 텍스트 필드 및 버튼과 같은 UI 요소의 유형, 위치, 스타일 및 콘텐츠)을 보낼 수 있으며, 제어 모듈(130)은 UI 콘텐츠 자체의 설명을 이용하여 UI API(160)를 통해 적절한 일시적인 그래픽 객체를 생성할 수 있다. 다른 예로서, 애플리케이션(150)은 제어 모듈(130)에 콘텐츠의 설명(예를 들어, 제목; 아이콘, 라벨, 및 상세한 설명을 갖는 항목의 목록; 사용자가 취할 수 있는 이용 가능한 동작 등) 을 보낼 수 있고, 제어 모듈(130)은 이러한 설명을 사용하여 UI API(160)를 통해 일시적인 그래픽 객체를 구성하는 방법을 결정할 수 있다. 일부 실시예들에서, 상기 예들의 두 가지 접근법들이 결합될 수 있거나 임의의 다른 적합한 접근법이 사용될 수 있다.
도 2는 예시적인 사용자 디바이스 상의 예시적인 디스플레이(210)를 도시한다. 특정 실시예에서, 사용자 디바이스(200)는 도 1의 제어 모듈(130), 애플리케이션(150), 데이터 저장소(140) 및 UI API(160) 중 하나 이상을 포함한다. 일부 실시예에서, 디스플레이(210)는 사용자 입력(예를 들어, 제스처, 스타일러스 입력, 음성 등)을 수신할 수 있는 터치 스크린 디스플레이일 수 있다.
일부 실시예에서, 디스플레이(210)는 터치 스크린 기능을 갖지 않을 수 있다. 일부 실시예에서, 디스플레이(210)는 렌더링을 위한 디스플레이 데이터를 수신하고 터치 스크린에 의해 수신된 사용자 입력을 제공하기 위해 UI API(160)에 연결될 수 있다. 특정 실시예에서, 사용자 디바이스(200)는 모바일 디바이스(예를 들어, 이동 전화, 태블릿, 착용형 컴퓨터 디바이스 등), 데스크탑 컴퓨터, 랩탑 또는 사용자 인터페이스를 제공할 수 있는 임의의 다른 전자 디바이스일 수 있다.
특정 실시예에서, 디스플레이(210)는 아이콘(220-228)과 같은 하나 이상의 아이콘을 표시할 수 있다. 아이콘은 애플리케이션, 통지, 위젯, 메뉴, 커맨드, 파일 등에 링크된 그래픽일 수 있다. 아이콘은 애플리케이션을 나타낼 수 있고(예를 들어, 아이콘은 애플리케이션에 대한 단축 아이콘을 제공할 수 있다), 사용자로 하여금 적절한 제스처(예: 아이콘을 가볍게 누르기)를 만들어 애플리케이션을 열게 할 수 있다. 상기 애플리케이션은 도 1의 애플리케이션(150)에 대응할 수 있다. 아이콘은 부재중 전화, 이메일 수신 등의 정보를 나타내는 아이콘과 같이 정보를 제공할 수도 있다.
특정 실시예에서, 제어 모듈(130)은 시각 표시자(230 및 232)와 같은 하나 이상의 시각 표시자를 렌더링할 수 있다. 시각 표시자는 어느 애플리케이션이 일시적인 그래픽 객체에 표시할 콘텐츠가 있는지를 나타낼 수 있다. 예를 들어, 시각 표시자는 일시적인 그래픽 객체에 표시할 콘텐츠가 있는 애플리케이션과 관련된 아이콘 위에 또는 부근에 렌더링될 수 있다. 다른 예로서, 시각 표시자는 일시적인 그래픽 객체에 디스플레이하기 위한 콘텐츠를 갖지 않는 애플리케이션과 관련된 아이콘 상에 또는 그 부근에 렌더링될 수 있다.
일부 실시예에서, 시각 표시자는 이용 가능한 콘텐츠에 관한 정보를 제공할 수 있다. 예를 들어, 시각 표시자의 크기, 색상, 위치 또는 기타 속성은 콘텐츠의 양, 콘텐츠의 유형 또는 콘텐츠의 중요성에 따라 다를 수 있다. 부가적으로 또는 대안적으로, 시각 표시자는 애플리케이션이 일시적인 그래픽 객체에 대한 커스텀 콘텐츠를 제공하는지 여부에 관한 정보를 제공할 수 있다.
특정 실시예에서, 시각 표시자는 상이한 조건에 기초하여 동적으로 렌더링될 수 있다. 예로서 그리고 비제한적으로, 사용자가 디스플레이(210) 상의 아이콘을 탭할 때, 사용자가 디스플레이(210) 상에 아이콘을 재배치할 때, 또는 임의의 다른 적절한 조건일 때 시각 표시자를 렌더링할 수 있다. 특정 실시예에서, 어떠한 특정의 일시적인 그래픽 객체도 이용 가능하지 않은 경우에도, 시각 표시자는 애플리케이션이 일시적인 그래픽 객체의 프리젠테이션(presentation)을 지원하는지 여부를 나타낼 수 있다.
특정 실시예에서, 하나 이상의 아이콘은 복수의 애플리케이션을 나타낼 수 있다. 예를 들어, 한 아이콘은 아이콘(222)과 같은 복수의 애플리케이션을 포함하는 폴더일 수 있다. 일부 실시예에서, 사용자는 어떤 애플리케이션이 폴더에 들어가는지를 선택함으로써 폴더를 구성할 수 있다. 부가적으로 또는 대안적으로, 제어 모듈(130)은 어느 애플리케이션이 일시적인 그래픽 객체와 연관되는지를 나타내는 사용자 입력(예를 들어, 특정 제스처)에 응답하여 복수의 아이콘에 대한 일시적인 그래픽 객체를 렌더링할 수 있다. 일부 실시예에서, 복수의 애플리케이션과 관련된 일시적인 그래픽 객체에 대한 콘텐츠가 모일 수 있다. 일 예로서, 아이콘(222)은 복수의 애플리케이션을 나타내는 복수의 아이콘을 포함하는 폴더를 나타낼 수 있다. 이 예에서, 일시적인 그래픽 객체는 복수의 애플리케이션과 관련된 콘텐츠를 사용하는 아이콘(222)에 대해 렌더링될 수 있다.
일부 실시예에서, 제어 모듈(130)은 복수의 애플리케이션으로부터 인출된 콘텐츠에 기초하여 일시적인 그래픽 객체에 대한 콘텐츠를 합성할 수 있다. 예로서 그리고 비제한적으로는, 제어 모듈(130)은 페이스북(FACEBOOK) 애플리케이션으로부터의 상태 업데이트, 트위터(TWITTER) 애플리케이션으로부터의 게시물, 및 인스타그램(INSTAGRAM) 애플리케이션으로부터의 사진을 요약함으로써, 페이스북, 트위터, 인스타그램 및 스냅쳇(SNAPCHAT) 애플리케이션을 포함하는 폴더와 관련된 일시적인 그래픽 객체에 포함될 콘텐츠를 합성할 수 있다.
일부 실시예에서, 사용자는 어떤 콘텐츠가 디스플레이되는지를 구성하거나, 콘텐츠가 디스플레이 될 애플리케이션을 지정할 수 있다. 일부 실시예에서, 제어 모듈(130)은 아이콘(222)과 관련된 일시적인 그래픽 객체를 표시하기 위해 복수의 애플리케이션에 대해 이용 가능한 콘텐츠 중에서 콘텐츠를 자동으로 선택할 수 있다. 예로서 그리고 비제한적으로, 제어 모듈(130)은 과거의 사용자 상호 작용에 기초한 콘텐츠의 카테고리를 우선 순위화함으로써 사용자가 자주 사용하는 애플리케이션과 관련된 콘텐츠를 선택함으로써(예를 들어, 사용자가 자주 보내고 받은 메시지와 관련된 콘텐츠를 선택함으로써), 오래된 콘텐츠에 대비 최신 콘텐츠를 선택함으로써, 다른 적절한 방식으로 콘텐츠를 자동으로 선택함으로써, 복수의 애플리케이션에 이용 가능한 콘텐츠 중에서 콘텐츠를 자동으로 선택할 수 있다.
또한, 도 3a 내지 도 3c는 일시적인 그래픽 객체(310)를 제공하는 예시적인 사용자 디바이스(200)를 도시한다. 특정 실시예에서, 사용자 디바이스(200)는 사용자 입력의 수신에 응답하여 일시적인 그래픽 객체(310)(도 3b 및 도 3c에 도시됨)를 생성할 수 있다. 예를 들어, 사용자는 사용자 디바이스(200)의 디스플레이(210)상에서 수행된 터치 제스처(320)를 포함하는 사용자 입력을 제공할 수 있다.
일부 실시예에서, 사용자는 특정 애플리케이션을 나타내는 아이콘에서 제스처를 시작함으로써 상기 특정 애플리케이션과 관련된 일시적인 그래픽 객체(310)를 시작할 수 있다.
도 3a 내지 도 3c는 달력 애플리케이션을 나타내는 아이콘(224)에서 시작된 특정 제스처(320)를 도시한다. 도 3a 내지 도 3c는 제스처(320)의 형태의 특정 사용자 상호 작용, 달력 애플리케이션과 관련된 특정 아이콘(224), 및 특정 일시적인 그래픽 객체(310)를 도시하고 있지만, 이 개시는 임의의 적절한 사용자 상호 작용, 임의의 적합한 아이콘, 임의의 적합한 애플리케이션, 임의의 적절한 일시적인 그래픽 객체를 고려한다. 예를 들어, 사용자 상호 작용은 음성에 의한 것일 수도 있고, 사용자 디바이스(200)의 마이크로 폰에 의해 검출될 수도 있다. 다른 예로서, 아이콘(224)은 애플리케이션에 대한 단축형(shortcut)을 나타낼 필요는 없지만, 통지, 파일, 또는 임의의 다른 유형의 아이콘에 의해 표현될 수 있다.
도 3a는 일시적인 그래픽 객체(310)를 렌더링하는 초기 단계 또는 변환 단계(transition stage)를 나타낸다. 이 예에서, 사용자의 제스처(320)는 아이콘(224)에서 시작하여 화살표의 경로를 따라 계속된다. 예시적인 제스처(320)가 하향 스와이프(swipe)로서 도시되어 있지만, 본 개시는 임의의 적합한 제스처를 고려한다. 예로서 그리고 비제한적으로, 제스처는 특정 방향의 선형 스와이프, 회전(예: 나선형) 스와이프, 탭, 더블 탭, 길게 누름(long press), 스크롤, 팬, 플릭(flick), 두 손가락 탭, 두 손가락 스크롤, 핀치, 두 손가락 회전 또는 임의의 다른 적절한 제스처를 포함할 수 있다. 예를 들어, 회전 스와이프는 일시적인 그래픽 객체(310)의 크기 및 아이콘에 대한 극좌표(polar coordinates)에 기초하여 디스플레이되는 콘텐츠의 카테고리를 콘트롤할 수 있다. 예시적인 실시예에서, 아이콘으로부터 제스처 위치의 반경 방향 거리는 크기를 콘트롤할 수 있고(예를 들어, 더 큰 반경 거리는 보다 큰 크기의 일시적인 그래픽 객체를 생성함), 아이콘에 대한 제스처 위치의 각 거리(angular distance)는 일시적인 그래픽 객체의 가상 공간을 선택할 수 있다.
일부 실시예에서, 제스처는 복합 제스처일 수 있다(예를 들어, 제스처는 적어도 제1 부분 및 제2 부분을 포함할 수 있다). 복합 제스처의 각 부분은 다른 기능을 나타낼 수 있다. 일부 실시예에서, 복합 제스처의 각 부분은 제스처의 방향에 기초하여 검출될 수 있다. 예로서, 복합 제스처는 아이콘(224)으로부터 아래쪽으로 스와이프 한 다음 디스플레이(210)와의 접촉을 끊지 않고 아이콘(224)을 향해 다시 스와이프하는 것을 포함할 수 있다. 이 예에서, 아이콘(224)에서 스와이프하는 하향 제스처에 응답하여, 제어 모듈(130)은 아이콘(224)과 관련된 일시적인 그래픽 객체(310)를 시작할 수 있다. 아래쪽으로 계속되는 제스처에 응답하여, 제어 모듈(130)은 도 3b 및 도 3c에 도시된 바와 같이 일시적인 그래픽 객체(310)를 확장 할 수 있다. 백업을 스와이프하는 것에 응답하여, 제어 모듈(130)은 일시적인 그래픽 객체(310)의 크기를 줄이고 궁극적으로 아이콘(224)으로 돌아오는 사용자의 손가락에 응답하여 일시적인 그래픽 객체(310)를 제거할 수 있다. 이것은 복합 제스처의 특정 예이지만, 많은 가능한 복합 제스처가 가능하다. 예를 들어, 복합 제스처는 일시적인 그래픽 객체(310)를 시작하고 각각의 부분에 대한 일시적인 그래픽 객체(310)를 제거하는 것과 관련된 기능을 가질 수 있는, 사용자가 스와이프한 다음 디스플레이에서 손가락을 들어 올리는 것을 포함할 수 있다. 본 개시는 임의의 적합한 복합 제스처를 고려한다.
특정 실시예에서, 사용자는 일시적인 그래픽 객체를 시작하기 위해 제스처를 수행할 수 있다. 예를 들어, 그러한 제스처는 아이콘에서 시작하는 스와이프, 아이콘을 두 번 탭하는 것, 아이콘을 길게 누르는 것, 또는 다른 적절한 제스처를 포함할 수 있다. 일부 실시예에서, 일시적인 그래픽 객체(310)는 제스처(예를 들어, 일시적인 그래픽 객체의 최종 프리젠테이션이 제스처에 응답하여 렌더링될 수 있음)에 응답하여 불연속적인 방식으로 렌더링될 수 있다. 일부 실시예에서, 제어 모듈(130)은 제스처에 응답하여 일시적인 그래픽 객체(310)를 연속적으로 렌더링할 수 있다(예를 들어, 제어 모듈(130)은 일시적인 그래픽 객체의 최종 프리젠테이션이 렌더링될 때까지 제스처가 계속되는 동안 일시적인 그래픽 객체를 확장할 수 있다). 예를 들어, 도 3b는 연속적으로 렌더링된 일시적인 그래픽 객체(310)의 중간 스테이지를 도시한다. 도 3a에서, 사용자는 일시적인 그래픽 객체(310)를 시작하기 위한 제스처를 수행하고, 사용자가 제스처(320)로 아래로 스와이핑함에 따라, 일시적인 그래픽 객체(310)는 도 3b에서와 같이, 도 3c의 일시적인 그래픽 객체(310)의 최종 렌더링에 도달할 때까지 확장하고, 여기에서 일시적인 그래픽 객체(310)의 최종 프리젠테이션에 도달한다. 연속적으로 렌더링된 일시적인 그래픽 객체(310)를 갖는 실시예에서, 시작 에서 최종 프리젠테이션으로의 변환은(도 3b에 도시된 바와 같이) 확장 윈도우의 형태, 또는 임의의 다른 적합한 형태를 취할 수 있다. 제어 모듈(130)이 소정의 기능을 수행하는 것으로 설명되었지만, 본 개시는 임의의 다른 적합한 컴포넌트가 그러한 기능을 수행할 수 있음을 고려한다.
일시적인 그래픽 객체(310)의 최종 프리젠테이션은 다수의 상이한 형태로 제공될 수 있다. 특정 실시예에서, 최종 프리젠테이션은 제어 모듈(130)이 다른 콘텐츠를 숨기는 전체 화면보기로,초기 화면의 투명 오버레이로서, 초기 화면의 일부분 위에 나타나는 객체로서, 초기 화면의 언더레이(underlay), 또는 다른 적합한 형태로 일시적인 그래픽 객체(310)를 렌더링하는 것과 관련될 수 있다. 특정 실시예에서, 제어 모듈(130)은(예를 들어, 아이콘의 경계를 증가시키거나, 아이콘의 시각적 프리젠테이션을 수정하거나, 아이콘 내의 콘텐츠를 디스플레이하는 등으로) 관련된 아이콘을 변환함으로써 일시적인 그래픽 객체(310)를 렌더링할 수 있다. 일부 실시예에서, 제어 모듈(130)은 예를 들어 제어 모듈(130)과 관련된 UI를 사용함으로써 사용자 입력에 응답하여 최종 프리젠테이션의 형태를 구성할 수 있다. 제어 모듈(130)이 소정의 기능을 수행하는 것으로 설명되었지만, 본 개시는 임의의 다른 적합한 컴포넌트가 그러한 기능을 수행할 수 있음을 고려한다.
특정 실시예에서, 일시적인 그래픽 객체(310)는(도 3b 및 도 3c에 도시된 바와 같은) 콘텐츠 객체들(330-336)과 같은 콘텐츠 객체들을 포함할 수 있다. 각각의 콘텐츠 객체는 하나 이상의 소스로부터의 콘텐츠 요소를 포함할 수 있다. 일부 실시예에서, 콘텐츠 객체는 특정 이벤트, 위젯, 통지, 또는 임의의 다른 유형의 정보와 관련된 콘텐츠 요소를 포함할 수 있다. 일 예로서, 콘텐츠 객체는 약속의 이름 또는 약속 시간을 나타내는 콘텐츠 요소와 같이, 달력 애플리케이션 상의 약속과 관련된 콘텐츠 요소를 포함할 수 있다.
특정 실시예에서, 콘텐츠 요소는 일시적인 그래픽 객체와 관련된 애플리케이션으로부터의 데이터에 기초한 콘텐츠를 포함할 수 있다. 상술한 바와 같이, 애플리케이션은(예를 들어, 커스텀 콘텐츠를 포함하거나 위치시키는 구성 파일 또는 배경 서비스를 제공함으로써) 커스텀 콘텐츠를 제공할 수 있다. 일 예로서, 아이콘(224)과 관련된 달력 애플리케이션은 커스텀 콘텐츠를 제공할 수 있다. 커스텀 콘텐츠에는 달력 상의 현재 날짜와 약속의 이름, 시간, 또는 날짜가 포함될 수 있다. 제어 모듈(130)은 커스텀 콘텐츠를 사용하여 콘텐츠 객체를 디스플레이할 수 있다(예를 들어, 콘텐츠 객체는 커스텀 콘텐츠로부터 유도된 콘텐츠 요소를 포함할 수 있다).
특정 실시예에서, 콘텐츠 요소는 온라인 데이터(예를 들어, 온라인 데이터베이스, 웹 API 등으로부터의 데이터)로부터의 콘텐츠를 포함할 수 있다. 예를 들어, 콘텐츠 객체(332)는 약속 이름 "팀 미팅" 및 오후 4시의 예정된 시간을 포함하는, 달력 애플리케이션으로부터의 콘텐츠를 포함하는 콘텐츠 요소를 포함할 수 있다. 달력 애플리케이션은 또한 이용 가능한 커스텀 콘텐츠로서 약속을 위한 위치를 제어 모듈(130)에 제공할 수 있다. 제어 모듈(130)은 또한 사용자의 위치를 나타내는 사용자 디바이스(200) 상의 GPS 센서로부터 위치 데이터를 수신할 수 있다. 제어 모듈(130)은 그 이후에 사용자의 위치와 약속 위치 사이의 트래픽 조건을 결정하기 위해(예를 들어, 온라인 데이터베이스 또는 웹 API에 대한 질의에 응답하여) 온라인 데이터를 수신하고, 사용자가 사용자의 현재 위치에서 약속 장소로 이동하는데 걸리는 예상 시간을 나타내는 콘텐츠 요소를 디스플레이할 수 있다. 이 예에서와 같이, 본 발명의 특정 실시예에서의 콘텐츠 객체는 복수의 소스로부터 얻어진 콘텐츠 요소를 포함할 수 있다. 이 예에서, 팀 미팅 이벤트와 관련된 콘텐츠 객체는 애플리케이션의 데이터(예: 약속의 이름과 시간), 시스템-레벨 데이터(system-level data)(예: 사용자의 위치) 및 온라인 데이터(예: 예상 도착 시간)로부터 얻어진 콘텐츠 요소를 포함할 수 있다.
특정 실시예에서, 일시적인 그래픽 객체(310)의 콘텐츠 객체는 그래픽 콘트롤 객체를 포함할 수 있다. 그래픽 콘트롤 객체는 사용자에 의해 선택 가능하고 선택에 응답하여 동작을 시작하도록 구성된 UI 객체에 대응할 수 있다. 그래픽 콘트롤 객체의 예로는 메뉴, 아이콘, 그래픽 콘트롤 요소, 탭, 그래픽 버튼, 그래픽 다이얼, 그래픽 슬라이더, 텍스트 상자, 하이퍼 텍스트 및 사용자 입력을 받아 사용자 상호 작용을 용이하게할 수 있는 기타 소프트웨어 구성 요소가 있다. 일부 실시예에서, 그래픽 콘트롤 객체에 링크된 동작은 일시적인 그래픽 객체(310) 와 관련된 애플리케이션 또는 그래픽 콘트롤 객체와 관련된 콘텐츠 객체에 특정할 수 있다.
예를 들어, 일시적인 그래픽 객체(310)는 도 3c에서와 같이, 달력 애플리케이션과 연관 될 수 있다. 이 예에서, 콘텐츠 객체(336)는 "이벤트 추가(ADD EVENT)"라는 레이블이 붙은 버튼을 포함 할 수 있으며, 이 버튼을 누르면, 사용자가 달력 애플리케이션에 이벤트를 추가할 수 있게 한다. 다른 예로서, 음악 애플리케이션과 관련된 일시적인 그래픽 객체는 상이한 노래와 관련된 콘텐츠 객체를 포함할 수 있다. 이 예에서, 콘텐츠 객체 각각은, 눌려 졌을 때 콘텐츠 객체와 관련된 노래를 재생하는 버튼과 같이, 관련된 콘텐츠 객체에 특별한 그래픽 콘트롤 객체를 포함할 수 있다.
또한, 도 3c는 특정 그래픽 콘트롤 객체를 도시하지만, 이 개시는 콘텐츠 객체로서 사용하기 위한 임의의 적합한 그래픽 콘트롤 객체를 고려한다. 일부 실시예에서, 그래픽 콘트롤 객체는 일시적인 그래픽 객체(310)와 관련된 애플리케이션을 열어 동작을 시작할 수 있다. 추가적으로 또는 대안적으로, 그래픽 콘트롤 객체는 애플리케이션을 열지 않고 동작을 시작할 수 있다.
특정 실시예에서, 제어 모듈(130)은 콘트롤 로직(예를 들어, 어느 콘텐츠 객체를 표시할 것인지 또는 콘텐츠 객체 내의 어느 콘텐츠 요소를 표시할 것인지를 결정하기 위해 적용되는 규칙 또는 로직의 세트)에 기초하여 일시적인 그래픽 객체(310) 안에 표시할 콘텐츠 객체를 선택할 수 있다.
일 예로서, 데이터 저장소(140)에 저장되고 제어 모듈(130)에 의해 액세스되는 콘트롤 로직은, 제어 모듈(130)이 애플리케이션에 대한 일시적인 그래픽 객체를 렌더링할 때, 애플리케이션이 커스텀 콘텐츠를 제공하는지(예를 들어, 애플리케이션과 관련된 구성 데이터의 액세싱을 통하여)를 우선 결정하고, 만일 그렇다면 커스텀 콘텐츠에서 얻어진 콘텐츠 객체를 표시한다. 이 예에서, 애플리케이션이 커스텀 데이터를 디스플레이하지 않으면, 제어 모듈(130)은 애플리케이션과 관련된 위젯 또는 시스템-레벨 데이터로부터 얻어진 관련 정보와 같이, 애플리케이션과 관련된 다른 콘텐츠 객체를 디스플레이할 수 있다.
일부 실시예에서, 일시적인 그래픽 객체(310)에 디스플레이 가능한 컨텐츠가 없는 경우, 제어 모듈(130)은(예를 들어, 사용자 디바이스(200)를 진동 시키거나, 에러 메시지를 디스플레이하거나, 애플리케이션 아이콘을 흔들어서) 사용자에게 피드백을 제공할 수 있다.
특정 실시예에서, 제어 모듈(130)은 사용자 디바이스(200)의 콘텍스트에 기초하여 일시적인 그래픽 객체(310)를 렌더링하기 위해 콘트롤 로직을 사용할 수 있다. 예를 들어, 사용자 디바이스(200)의 배터리가 충분하지 않은 경우, 애플리케이션의 상대적인 배터리 소모 또는 사용자 디바이스(200)의 배터리의 현재 충전량으로 상기 애플리케이션에 대해 사용자가 상호작용할 수 있는 추정 시간을 나타내는 콘텐츠 객체를 포함하는 일시적인 그래픽 객체를 렌더링할 수 있다.
또 다른 예로서, BLUETOOTH 오디오 디바이스가 이용 가능하거나 사용자 디바이스(200)에 접속된 경우, 일시적인 그래픽 객체(310)가 오디오-포커스 된 애플리케이션(예: 음악 플레이어, Podcast 애플리케이션)과 연관되어 있으면, 제어 모듈(130)은 이들 디바이스와 상호 작용하기 위한 컨트롤을 나타내는 그래픽 콘트롤 객체를 포함하는 일시적인 그래픽 객체(310)을 렌더링할 수 있다. 다른 예로서, 제어 모듈(130)은 사용자 디바이스(200)가 움직이는 경우, 텍스트 또는 콘텐츠 객체의 크기를 증가시키거나, 디스플레이된 콘텐츠 객체의 수를 줄이거나, 또는 임의의 다른 적절한 변경을 할 수 있다.
특정 실시예에서, 콘텐츠 객체는 사용자 구성 가능할 수 있다. 일부 실시예에서, 사용자는 일시적인 그래픽 객체가 표시하는 콘텐츠 객체 또는 콘텐츠 객체의 콘텐츠 요소를 구체화함으로써 일시적 그래픽 객체의 콘텐츠를 구성할 수 있다. 콘텐츠 정책을 포함하는 실시예에서, 일 예의 콘텐츠 정책은 사용자가 일시적인 그래픽 객체에 대한 콘텐츠를 구성했는지를 먼저 결정하고, 사용자-구성 콘텐츠가 존재하면 그 사용자-구성 콘텐츠를 디스플레이할 수 있다. 일부 실시예에서, 사용자는 애플리케이션, UI, 메뉴, 몸짓, 또는 임의의 다른 적절한 수단을 통해 콘텐츠 객체를 구성할 수 있다.
도 4a 및 도 4b는 일시적인 그래픽 객체의 예시적인 콘텐츠 객체를 도시한다. 일부 실시예에서, 콘텐츠 객체는 콘텐츠 객체(430) 내의 위젯과 같은 위젯을 포함할 수 있다. 위젯은 사용자가 관련된 애플리케이션과 상호 작용할 수 있도록 하는 아이콘-기반 UI 일 수 있다. 위젯은 애플리케이션과 관련된 업데이트된 정보를 동적으로 렌더링하거나 관련된 애플리케이션에서 사용할 수 있도록 데이터를 입력하는 기능을 사용자에게 제공할 수 있다.
일부 실시예에서, 애플리케이션은 애플리케이션과 관련된 하나 이상의 위젯을 포함할 수 있다. 일부 실시예에서, 일시적인 그래픽 객체(410)는 일시적인 그래픽 객체(410)와 관련된 애플리케이션에 대한 위젯을 콘텐츠 객체의 콘텐츠 요소로서 렌더링할 수 있다. 예를 들어, 아이콘(440)은 날씨 애플리케이션과 연관 될 수 있다. 날씨 애플리케이션은 또한 하루 동안의 예측된 날씨의 그래픽 표현(graphical representation)을 디스플레이하도록 구성된 콘텐츠 객체(430) 내의 위젯을 포함할 수 있다. 이 예에서, 일시적인 그래픽 객체(410)는 콘텐츠 요소로서 콘텐츠 객체(430)에 위젯을 디스플레이할 수 있다.
특정 실시예에서, 콘텐츠 요소는 시스템-레벨 데이터에 기초한 콘텐츠를 포함할 수 있다. 일 예로서, 아이콘(440)과 관련된 날씨 애플리케이션은 안드로이드 운영 시스템을 실행할 수 있는 사용자 디바이스(200)상에서 실행될 수 있다. 안드로이드 운영 시스템은 배터리 사용 또는 네트워크 사용과 같은 날씨 애플리케이션에 관한 정보를 제어 모듈(130)에 전송할 수 있다. 콘텐츠 객체는 이 정보를 나타내는 콘텐츠 요소를 포함 할 수 있다. 예를 들어, 콘텐츠 객체(432) 내의 콘텐츠 요소는, 배터리의 현재 상태, 배터리의 충전율, 날씨 애플리케이션이 사용한 네트워크 자원의 비율, 또는 기타 정보가 주어졌을 때, 날씨 애플리케이션이 얼마나 오래 동작할 수 있는지를 표시할 수 있다. 일부 실시예에서, 시스템-레벨 데이터는 운영 시스템으로부터 수신된 데이터, 사용자 디바이스(200)의 센서로부터의 데이터, 복수의 애플리케이션과 공유되거나 공통인 데이터, 또는 유사한 수집된 데이터를 포함할 수 있다.
도 5a 내지 도 5d는 그 크기에 기초하여 동적으로 렌더링된 일시적인 그래픽 객체(510)의 예를 도시한다. 전술한 바와 같이, 일시적인 그래픽 객체(510)는 제스처(520)에 응답하여 연속적으로 렌더링 될 수 있다. 예를 들어, 일시적인 그래픽 객체(510)는 사용자의 제스처 (520)가 시작된 디스플레이(210)의 일부(이 경우, 아이콘(226)) 로부터 멀어짐에 따라 확장될 수 있고, 제스처가 반대 방향으로 이동함에 따라 작아질 수 있다. 이는 일시적인 그래픽 객체(510)의 최종 렌더링을 디스플레이하지 않고, 사용자가 일시적인 그래픽 객체(510)의 일부를 볼 수 있도록 한다. 일부 실시예에서, 일시적인 그래픽 객체에 의해 디스플레이된 콘텐츠는 일시적인 그래픽 객체가 크기를 변경하는 경우에도 동일하게 유지 될 수 있다.
특정 실시예에서, 콘텐츠 객체의 콘텐츠 요소는 일시적인 그래픽 개체(510)의 크기에 기초하여 렌더링 될 수 있다. 일부 실시예에서, 제어 모듈(130)은 일시적인 그래픽 객체(510)가 확장함에 따라 콘텐츠 객체(530-536)와 같은 더 많은 콘텐츠 객체 또는 콘텐츠 객체에 대한 더 많은 콘텐츠 요소를 생성할 수 있고, 일시적인 그래픽 객체(510)가 작아짐에 따라 콘텐츠 객체 또는 콘텐츠 요소를 제거할 수 있다.
일 예로서, 도 5b 내지 도 5d는 제스처(520)에 기초하여 증가하는 크기로(도 5a에서 시작된) 일시적인 그래픽 객체(510)를 도시한다. 이 예에서, 일시적인 그래픽 객체(510)는 아이콘(226)에 의해 표시되는 헬스 애플리케이션(예를 들어, 사용자의 걸음수, 심장 박동수, 연소된 칼로리, 달린 시간 또는 거리를 추적하는 애플리케이션)과 연관 될 수 있다. 도 5b에서, 일시적인 그래픽 객체(510)는 비교적 작으며, 사용자의 보행 카운트 및 사용자의 심박수를 분당 비트(beats per minute; BPM)로 나타내는 2 개의 콘텐츠 객체인 콘텐츠 객체(530 및 532)가 디스플레이된다.
도 5c는 사용자의 연속적인 제스처(520) 에 기초한 도 5b의 일시적인 그래픽 객체(510)의 확장을 도시한다. 도 5b와 비교할 때, 도 5c의 일시적인 그래픽 객체(510)는 소모된 칼로리의 양 및 소모된 칼로리의 목표 양을 나타내는 하나의 추가 콘텐츠 객체(534)를 갖는다. 또한, 콘텐츠 객체(530 및 532)는 도 5b와 비교하여 도 5c 에서 추가 콘텐츠 요소를 갖는다. 이 예에서, 보행 카운트를 나타내는 콘텐츠 객체(530)는 현재의 보행 수를 나타내는 콘텐츠 요소 이외에 목표 보행 수를 나타내는 콘텐츠 요소를 표시한다. 마찬가지로, 심박수를 나타내는 콘텐츠 객체(532)는 평균 심박수를 나타내는 추가 콘텐츠 요소를 표시한다.
도 5d는 제스처(520)가 계속되면서 도 5c 대비 일시적인 그래픽 객체(510)의 확장을 나타낸다. 도 5b 로부터 도 5c까지의 변환과 마찬가지로, 도 5d의 일시적인 그래픽 객체(510)는 사용자가 달린 거리 및 시간을 나타내는 추가적인 콘텐츠 객체(536)를 갖는다. 또한, 사용자의 심박수를 나타내는 콘텐츠 객체(532)의 콘텐츠 요소는 사용자의 최소, 평균, 현재 및 최대 심박수를 나타내는 그래프로 변경되었다.
도 5a 내지 도 5d는 확장하는 일시적인 그래픽 객체를 도시하지만, 본 개시는 일시적인 그래픽 객체가 사용자 입력에 응답하여 더 작아질 수 있고, 콘텐츠 객체 또는 일시적인 그래픽 객체의 콘텐츠 객체를 갖는 콘텐츠 요소의 수 또는 유형이 일시적인 그래픽 객체가 작아짐에 따라 변할 수 있다는 것도 고려한다.
특정 실시예에서, 일시적인 그래픽 객체(510)와 관련된 애플리케이션에 대한 구성 데이터 파일(configuration data file)은 일시적인 그래픽 객체(510)의 크기에 기초하여 콘텐츠 객체 또는 콘텐츠 요소가 어떻게 변경, 추가 또는 제거되는지를 결정할 수 있다. 부가적으로 또는 대안적으로, 제어 모듈(130)은 콘트롤 로직을 사용하여 특정 애플리케이션 또는 애플리케이션에 대해 콘텐츠 객체 또는 콘텐츠 요소가 일시적인 그래픽 객체(510)의 크기에 기초하여 어떻게 변경, 추가 또는 제거되는지를 결정할 수 있다. 부가적으로 또는 대안적으로, 사용자 입력은 일시적인 그래픽 객체(510)의 크기에 기초하여 콘텐츠 객체 또는 콘텐츠 요소가 어떻게 변경, 추가 또는 제거되는지를 결정할 수 있다.
도 5a 내지 도 5d는 그 크기에 기초하여 동적으로 렌더링된 일시적인 그래픽 객체(510)의 특정 예를 도시하지만, 많은 그러한 예가 존재한다. 다른 예로서, 일시적인 그래픽 객체는 전화 애플리케이션과 관련 될 수 있다. 이 예에서, 전화 애플리케이션에 대한 일시적인 그래픽 객체가 작으면 누락된 호출의 수를 나타내는 콘텐츠 요소를 포함하여 누락된 호출과 관련된 콘텐츠 객체를 나타낼 수 있다. 사용자가 일시적인 그래픽 객체를 확장함에 따라, 일시적인 그래픽 객체는 발신자의 신원(예를 들어, 이름 및/또는 번호)을 포함하는 콘텐츠 요소와 함께 부재중 전화(missed calls)를 나타내는 콘텐츠 객체를 더 포함할 수 있다. 사용자가 일시적인 그래픽 객체를 더욱 확장하면, 부재중 전화를 나타내는 콘텐츠 객체는 부재중 전화 각각에 대한 답신 전화를 위한 그래픽 콘트롤 객체 버튼을 더 포함할 수 있다. 추가 확장은 사용자의 빈번하거나 좋아하는 콘텐츠에 대한 호출을 시작하는 컨트롤을 나타내는 그래픽 콘트롤 객체를 추가 할 수 있다.
특정 실시예에서, 일시적인 그래픽 객체(510)의 크기는 애플리케이션 제공 데이터와 시스템-레벨 데이터 간의 균형을 결정할 수 있다. 예를 들어, 일시적인 그래픽 객체가 완전히 확장되었을 때 일시적인 그래픽 객체는 애플리케이션에 대한 메타-데이터(예: 대역폭, 배터리 사용, 훑어보기 조정을 위한 컨트롤) 만 포함할 수 있다. 추가적인 예로서, 일시적인 그래픽 객체가 더 작을 때(예를 들어, 애플리케이션 아이콘이 디스플레이 상에 렌더링되기 때문에 사용자가 애플리케이션에 직접 액세스할 수 있을 때) 일시적 그래픽 객체는 애플리케이션에 액세스하기 위한 그래픽 콘트롤 객체를 포함하지 않을 수 있지만, 애플리케이션 아이콘이 가려진 (occluded) 경우 일시적인 그래픽 객체의 최종 렌더링을 위해 애플리케이션에 액세스하기 위한 그래픽 콘트롤 객체를 포함할 수 있다.
도 6a 내지 도 6d 및 도 7a 내지 도 7d는 제스처의 방향에 기초하여 렌더링된 아이콘(226)에 의해 표현되는 건강 애플리케이션과 관련된 일시적인 그래픽 객체의 예를 도시한다. 특정 실시예에서, 제스처의 경로 또는 유형은 특정 방식으로 콘텐츠 객체의 수 또는 유형 또는 콘텐츠 객체의 콘텐츠 요소의 수 또는 유형을 수정할 수 있다.
특정 실시예에서, 제스처의 방향 또는 유형은 일시적인 그래픽 객체가 확장됨에 따라 추가 콘텐츠 객체가 렌더링되는지 여부 또는 기존 콘텐츠 객체에 대한 추가 콘텐츠 요소가 렌더링되는지 여부를 결정한다.
도 6a 내지 도 6d 및 도 7a 내지 도 7d의 예에서, 수직 제스처(620)는 더 많은 콘텐츠 객체를 추가함으로써 일시적인 그래픽 개체를 확장하는 기능을 수행하고 수평 제스처(720)는 기존 콘텐츠 객체에 추가 콘텐츠 요소를 추가함으로써 일시적인 그래픽 객체를 확장하는 기능을 수행한다.
도 6a 내지 도 6d는 사용자가 수직 제스처(620)를 수행하여, 콘텐츠 객체(630)를 추가함으로써 일시적인 그래픽 객체(610)를 확장하도록 기능하도록 하는 실시예를 도시한다. 일시적인 그래픽 객체(610)는 도 6b에서 가장 작은 형태로 렌더링된다. 도 6b에서, 일시적인 그래픽 객체(610)는 사용자의 보행 카운트 및 사용자의 심박수를 각각 BPM으로 나타내는 2 개의 콘텐츠 객체(630 및 632)를 포함한다. 사용자의 제스처가 도 6c 및 도 6d에서 계속됨에 따라, 일시적인 그래픽 객체(610)는 콘텐츠 객체(634, 636)를 추가함으로써 확장된다. 예를 들어, 도 6c에서, 일시적인 그래픽 객체(610)는 사용자에 의해 소모된 칼로리를 나타내는 새로운 콘텐츠 객체(634)를 렌더링하고, 도 6d에서, 일시적인 그래픽 객체(610)는 달린 거리 및 시간을 나타내는 새로운 콘텐츠 객체(636)를 추가함으로써 확장된다.
도 7a 내지 도 7d는 사용자가 수평 제스처(720)를 수행하여, 콘텐츠 요소를 기존 콘텐츠 객체에 추가함으로써 일시적인 그래픽 객체(710)를 확장하도록 기능하는 실시예를 도시한다. 일시적인 그래픽 객체(710)는 도 7b에서 가장 작은 형태로 렌더링된다.
도 7b에서, 일시적인 그래픽 객체(710)는 사용자의 걸음수 및 사용자의 심박수를 각각 BPM으로 나타내는 2 개의 콘텐츠 객체(730 및 732)를 포함한다. 사용자의 제스처가 도 7c 및 도 7d에서 계속됨에 따라, 일시적인 그래픽 객체(710)는 도 7b로부터의 콘텐츠 객체(730 및 732)에 콘텐츠 요소를 추가함으로써 확장된다.
예를 들어, 도 7c에서, 일시적인 그래픽 객체(710)는 목표 걸음 수를 나타내는 콘텐츠 객체(730)에 새로운 콘텐츠 요소와 최소, 평균, 현재 및 최대 심박수를 나타내는 콘텐츠 객체(732)의 새로운 콘텐츠 요소를 포함한다. 도 7d에서, 콘텐츠 객체(730, 732) 각각에 시각적 그래프를 포함한 콘텐츠 요소가 추가된다.
특정 실시예에서, 일시적인 그래픽 객체는 복합 제스처의 부분에 기초하여 렌더링 될 수 있다. 복합 제스처의 각 부분은 다른 기능을 나타낼 수 있다. 일 예로서, 제스처의 수직 부분은 콘텐츠 객체를 추가함으로써 일시적인 그래픽 객체를 확장시키는 기능을 할 수 있고, 제스처의 수평 부분은 기존의 콘텐츠 객체에 콘텐츠 요소를 추가함으로써 일시적인 그래픽 객체를 확장시키는 기능을 할 수 있다. 사용자는 수직 제스처인 제1 부분과 수평 제스처인 제2 부분을 포함하는 복합 제스처를 수행할 수 있다. 제어 모듈(130)은 복합 제스처를 검출하고, 복합 제스처의 부분을 결정하고, 제1 부분에 응답하여, 하나 이상의 콘텐츠 객체를 추가함으로써 일시적인 그래픽 객체를 확장 할 수 있고, 제2 부분에 응답하여, 기존 콘텐츠 객체에 콘텐츠 요소를 추가함으로써 일시적인 그래픽 객체를 확장할 수 있다.
일부 특정 실시예에서, 복합 제스처는 패턴 인식에 의해 부분들로 분해 될 수 있다. 예를 들어, 제어 모듈(130)은 몇몇 상이한 제스처 패턴을 모니터링하고 패턴에 대한 부분의 유사성에 기초하여 복합 제스처를 부분으로 분해할 수 있다. 일 예로서, 복합 제스처는 수직 및 수평 부분, 시계 방향 및 반시계 방향 부분, 긴 누름(long press) 및 짧은 탭(tap), 또는 임의의 다른 적절한 부분으로 분해 될 수 있다. 일부 실시예에서, 제스처의 일부는 패턴에 의해 표시된 경로를 따라 이동한 거리 또는 제스처의 일부가 포함하는 패턴의 백분율과 함께 인식 될 수 있다. 일부 실시예에서, 복합 제스처는 벡터로 표현 될 수 있고 복합 제스처의 각 부분은 복합 제스처가 기저 벡터의 합으로 표현 될 수 있도록 기저 벡터로 표현 될 수 있다.
일부 실시예에서, 제어 모듈(130)은 복합 제스처의 부분을 연속적으로 모니터링하고 일시적인 그래픽 객체를 렌더링하거나, 기존의 일시적인 그래픽 객체를 변경하거나, 제스처의 부분에 기초하여 일시적인 그래픽 객체를 제거할 수 있다. 일 예로서, 사용자의 제스처의 부분은 제어 모듈(130)이 일시적인 그래픽 객체를 렌더링하게 하는 시계 방향의 원형 제스처 일 수 있다. 사용자는 임의의 시간에 제어 모듈(130)이 일시적인 그래픽 객체를 확장하게 할 수 있는 시계 방향의 원형 제스처를 계속 수행 할 수 있거나, 또는 사용자가 시계 반대 방향의 제스처를 수행하여 제어 모듈(130)이 상이한 콘텐츠 객체를 표시하도록 할 수 있다. 본 개시가 복합 제스처의 특정 예를 개시하지만, 본 개시는 임의의 적절한 시간에 검출되는 임의의 적절한 기능에 대응하는 임의의 패턴으로 구별되는 임의의 수의 부분을 포함하는 복합 제스처를 고려한다.
특정 실시예에서, 제스처는 상이한 기능에 할당 된 가중치를 나타내는 개별 값으로 분해(예를 들어, 컴포넌트 부분으로 분리) 될수 있다. 예를 들어, 수직 제스처는 콘텐츠 객체를 추가하여 일시적 그래픽 객체를 확장하는 기능을 할 수 있으며, 수평 제스처는 기존 콘텐츠 객체에 콘텐츠 요소를 추가하여 일시적 그래픽 객체를 확장하는 기능을 수행 할 수 있다. 사용자는 우측 아래로 움직이는 대각선 제스처를 수행할 수 있다. 이 제스처에 기초하여, 제어 모듈은 제스처를(예를 들어, 벡터 분해에 의해) 수직 부분과 수평 부분으로 분해할 수 있다. 각 부분에는 대각선 제스처의 수직 및 수평 부분에 대응하는 가중치가 할당 될 수 있다. 이러한 가중치에 기초하여, 제어 모듈(130)은 가중치에 기초하여 일시적인 그래픽 객체를 확장하는 이들 방법을 우선 순위로 하여, 콘텐츠 객체를 추가하고 기존 콘텐츠 객체에 콘텐츠 요소를 추가함으로써 일시적 그래픽 객체를 확장할 수 있다. 일 예로서 그리고 비제한적으로, 사용자가 대각선으로 제스처를 취고 사용자의 손가락의 최종 위치가 원래 위치로부터 6 cm 우측 및 2 cm 아래인 경우, 제어 모듈(130)은 하나의 콘텐츠 객체를 추가하고 3 개의 콘텐츠 요소를 기존 콘텐츠 객체에 추가할 수 있다.
도 6a 내지 도 6d 및 도 7a 내지 도 7d는 일시적인 그래픽 객체를 확장하는 특정 방법에 대응하는 특정 제스처를 도시하고 있지만, 본 개시는 일시적인 그래픽 객체를 확장하는 임의의 적합한 방법과 관련된 부분으로의 사용자 입력의 임의의 적합한 분해를 고려한다.
일 예로서, 사용자 입력은 한 손가락으로 수행된 제스처와 두 손가락으로 수행된 제스처로 분해될 수 있다. 이 예에서, 한 손가락 제스처는 애플리케이션 특화된 콘텐츠를 부가함으로써 일시적 그래픽 객체를 확장하는 기능을 할 수 있고, 두 손가락 제스처는 시스템-레벨 데이터(예를 들어, 배터리 사용량, 네트워크 사용 등)로부터 얻어진 콘텐츠를 추가함으로써 일시적 그래픽 객체를 확장하는 기능을 할 수 있다.
다른 예로서, 사용자 입력은 음성 데이터 일 수 있다. 이 예에서, 동작을 시작하기 위해 높은 음성(high voice)으로 말하는 것은 정보를 포함하는 콘텐츠를 추가함으로써 일시적인 그래픽 객체를 확장하도록 기능 할 수 있고, 낮은 음성(low voice)으로 말하는 것은 더 많은 그래픽 콘트롤 객체를 추가함으로써 일시적인 그래픽 객체를 확장할 수 있다. 다른 예로서, 사용자 입력은 3 차원에서 수행되는 제스처를 포함하여 카메라 또는 다른 센서를 통해 수신되는 사용자가 수행하는 제스처 일 수 있다. 예를 들어, 왼손 및 오른손을 함께 움직이는 사용자는 일시적인 그래픽 객체를 제거하는 기능을 할 수 있으며, 사용자가 손을 서로 멀리 떨어뜨리면 일시적인 그래픽 객체를 생성하거나 확장하도록 할 수 있다.
도 8은 일시적인 그래픽 객체 부분(810b)이 디스플레이(210) 상에 디스플레이되는 가상 공간(virtual space)에서 렌더링된 예시적인 일시적인 그래픽 객체(810) 를 나타낸다.
특정 실시예에서, 일시적인 그래픽 객체의 부분은 가상 공간에서 렌더링될 수 있다(예를 들어, 일시적인 그래픽 객체는 소프트웨어의 사용을 통해 디스플레이의 물리적 제한을 넘어서 확장 될 수 있다). 일부 실시예에서, 사용자 디바이스(200)는 사용자의 제스처에 기초하여 상이한 가상 공간을 표시할 수 있다. 예를 들어, 사용자는 좌측 또는 우측으로 스와이프하여 디스플레이의 좌측 및 우측으로 확장되는 가상 공간에 액세스할 수 있다. 예를 들어, 일시적인 그래픽 객체 부분(810a 및 810c)은 각각 디스플레이(210)의 좌측 및 우측으로 연장하는 가상 공간에 존재할 수 있다. 이 예에서, 사용자는 일시적 그래픽 객체(810a)를 포함하는 가상 공간에 액세스하기 위해 좌측으로 스와이프하거나 일시적인 그래픽 객체(810c)를 포함하는 가상 공간에 액세스하도록 우측으로 스와이프할 수 있다(예를 들어, 디스플레이(210)의 뷰는 좌측 또는 우측으로 이동하여 상이한 가상 공간을 표시할 수 있다).
일부 실시예에서, 가상 공간은 다수의 불연속적인 프레임들(예를 들어, 사용자는 사용자 입력을 통해 복수의 불연속적인 가상 공간들 사이를 전환 할 수 있음) 이거나 연속적(예를 들어, 사용자가 디스플레이를 넘어서서 가상 공간을 연속적으로 액세스하기 위해 팬 또는 스크롤할 수 있는 곳)일 수 있다.
일부 실시예에서, 불연속적인 가상 공간(discrete virtual spaces)은 각각 콘텐츠의 카테고리와 관련 될 수 있다. 일부 실시예에서, 제어 모듈(130)은 사용자 입력에 기초하여 불연속적인 가상 공간에 상이한 콘텐츠를 표시할 수 있다.
특정 실시예에서, 각각의 가상 공간은 특정 카테고리의 콘텐츠와 관련될 수 있다. 예를 들어, 전술한 바와 같이, 일시적인 그래픽 객체는 복수의 애플리케이션과 관련 될 수 있다. 이 예에서, 일시적인 그래픽 객체의 상이한 부분들, 즉 가상 공간과 관련된 각각의 부분은 복수의 애플리케이션의 개별 애플리케이션으로부터의 콘텐츠에 대응할 수 있다. 예를 들어, 일시적인 그래픽 객체는 아이콘(820)에 의해 표현되는 애플리케이션과 같은 시계 애플리케이션 및 음악 애플리케이션 모두와 관련 될 수 있다. 이 예에서, 일시적인 그래픽 객체의 일부분은 시계 애플리케이션과 관련된 콘텐츠를 디스플레이 할 수 있고, 일시적인 그래픽 객체의 다른 부분은 음악 애플리케이션과 관련된 콘텐츠를 디스플레이할 수 있다. 부가적으로 또는 대안적으로, 복수의 애플리케이션과 관련된 일시적인 그래픽 객체는 상이한 애플리케이션과 관련된 콘텐츠를 하나의 부분으로 결합할 수 있다.
특정 실시예에서, 사용자 디바이스(200)는 사용자 입력에 응답하여 가상 공간을 예시할 수 있다. 예를 들어, 사용자는 아이콘을 길게 누르는 제스처를 수행하여, 대응하는 제1 애플리케이션에 대한 일시적인 그래픽 객체를 불러올 수 있다. 이 예에서, 사용자는 제2 애플리케이션과 관련된 다른 아이콘을 길게 눌러 시작할 수 있다. 사용자 디바이스(200)는 그 후, 제1 애플리케이션 및 제2 애플리케이션 양자 모두와 관련된 가상 공간 및 일시적인 그래픽 객체를 예시할 수 있으며, 여기서 상기 일시적인 그래픽 객체의 보이는 부분은 상기 제1 애플리케이션과 관련된 콘텐츠를 포함하고, 상기 제2 애플리케이션과 관련된 콘텐츠를 포함하는 상기 일시적인 그래픽 객체의 부분은 디스플레이의 우측 가상 공간에 존재한다.
특정 실시예에서, 일시적인 그래픽 객체의 부분과 관련된 각각의 가상 공간은 그 가상 공간과 관련된 제스처를 실행함으로써 시작될 수 있다. 예를 들어, 아이콘상의 시계 방향 제스처는 제1 가상 공간과 관련된 일시적인 그래픽 객체의 부분을 시작할 수 있고, 한편 반시계 방향 제스처는 제2 가상 공간과 관련된 일시적인 그래픽 객체의 다른 부분을 시작할 수 있다.
일부 실시예에서, 일시적인 그래픽 객체의 부분은 사용자 입력에 기초하여 가상 공간에 배치된다. 예를 들어, 사용자는 좌측으로 제스처를 수행하여 가상 공간의 일시적인 그래픽 객체의 부분을 디스플레이의 좌측에 배치할 수 있다. 일부 실시예에서, 가상 공간은 일시적인 그래픽 객체가 예시될 때 예시될 수 있다. 추가적으로 또는 대안적으로, 가상 공간은 일시적인 그래픽 객체가 예시된 후에 예시될 수 있다. 가상 공간을 예시하는 특정 방법이 논의되었지만, 본 개시는 가상 공간을 예시하는 임의의 적합한 방식을 고려한다.
도 9는 일시적인 그래픽 객체를 렌더링하기 위한 예시적인 방법(900)을 도시한다. 단계 910에서, 제어 모듈(130)은 사용자 입력을 검출한다. 특정 실시예에서, 제어 모듈(130)은 운영 시스템 또는 UI API(160)로부터 사용자 입력을 나타내는 데이터를 수신함으로써 사용자 입력을 검출할 수 있다. 사용자 입력은 제스처, 음성 데이터, 또는 임의의 다른 적합한 사용자 입력을 포함할 수 있다.
단계 920에서, 제어 모듈(130)은 단계 910에서 검출된 사용자 입력의 하나 이상의 부분을 결정한다. 일부 실시예에서, 사용자 입력 부분은 각 부분에 대해 상이한 특성에 기초하여 식별 될 수 있다. 예를 들어, 복합 제스처를 포함하는 사용자 입력은 상이한 방향 또는 제스처 유형을 특징으로 하는 상이한 부분을 가질 수 있다.
단계 930에서, 제어 모듈(130)은 콘텐츠 데이터를 수신한다. 특정 실시예에서, 제어 모듈(130)은 커스텀 콘텐츠에 대한 요청에 응답하는 커스텀 콘텐츠를 애플리케이션이 (예를 들어, 구성 데이터 파일, 백그라운드 서비스, 방송수신기 등을 통해) 제공하는지 여부를 체크할 수 있다. 다른 실시예에서, 애플리케이션(150)은 애플리케이션(150)이 커스텀 콘텐츠를 제공한다는 것을 제어 모듈(130)에 통지할 수 있다. 일부 실시예에서, 제어 모듈(130)은 시스템-레벨 데이터 또는 온라인 데이터로부터 콘텐츠 데이터를 수신할 수 있다. 일부 실시예에서, 제어 모듈(130)은 일시적인 그래픽 객체를 생성하기 위해 사용자 입력에 앞서 일시적인 그래픽 객체의 콘텐츠를 생성 할 수 있으며, 필요한 경우 검색을 위해 (예를 들어, 데이터 저장소에) 포맷, 캐싱 또는 저장 될 수 있다.
단계 940에서, 제어 모듈(130)은 단계 930에서 수신된 콘텐츠 및 단계 920에서 결정된 사용자 입력의 하나 이상의 부분에 기초하여 일시적인 그래픽 객체를 렌더링 또는 제거할 수 있다. 예를 들어, 길게 누르기 또는 더블 탭과 같은 일시적인 그래픽 객체를 시작하는 제스처 형태의 사용자 입력이 있을 수 있다. 또 다른 예로, 특정 제스처는 일시적인 그래픽 객체를 확장하거나 축소하는 기능을 할 수 있다. 전술한 바와 같이, 일시적인 그래픽 객체는 제스처의 유형 또는 방향(예: 제스처가 수직 또는 수평인지 여부에 따라 다르게 일시적인 그래픽 객체를 확장)에 따라 다른 방식으로 확장 또는 축소 될 수 있다.
특정 실시예에서, 일시적인 그래픽 객체는 사용자 입력을 통해 사용자에 의해 변경 될 수 있다. 예를 들어, 일시적인 그래픽 객체는 여러 콘텐츠 객체를 포함할 수 있다. 제스처 형태의 사용자 입력은 일시적인 그래픽 객체의 렌더링을 변경할 수 있다. 예를 들어, 콘텐츠 객체에 대해 수행된 우측으로의 스와이프를 포함하는 제스처는 콘텐츠 객체를 없앨 수 있다(dismiss). 다른 예로서, 제스처가 아래쪽으로 향하면 더 많은 또는 다른 콘텐츠 객체가 렌더링될 수 있다. 다른 예로서, 하나의 카테고리와 관련된 콘텐츠를 디스플레이하는 콘텐츠 객체로부터 시작되는 좌측 또는 우측으로의 제스처는 콘트롤 모듈(130)이 다른 카테고리와 관련된 콘텐츠를 디스플레이하도록 콘텐츠 객체를 변경하게 할 수 있다.
특정 실시예에서, 콘트롤 모듈(130)은 단계 920에서 수신된 사용자 입력에 기초하여 일시적인 그래픽 객체를 제거할 수 있다. 예를 들어, 일시적인 그래픽 객체 외부의 디스플레이 상에서의 탭을 포함하는 제스처는 콘트롤 모듈(130)이 일시적인 그래픽 객체를 제거하고 초기 화면으로 되돌아 가게 할 수 있다. 콘트롤 모듈(130)이 일시적인 그래픽 객체를 제거하게 하는 제스처의 다른 예는 특정 제스처(예를 들어, 화면으로부터 일시적인 그래픽 객체를 스와이핑), 하드웨어 버튼의 탭핑(예를 들어, 사용자 디바이스(200)의 백 버튼), 또는 임의의 다른 적절한 사용자 입력을 하는 것을 포함할 수 있다. 일부 실시예에서, 일시적인 그래픽 객체는 특정 조건 하에서(예를 들어, 지정된 시간이 경과하거나, 사용자 디바이스(200)가 슬립 모드로 진입 할 때 등) 자동적으로 제거 될 수 있다.
단계 950에서, 콘트롤 모듈은 추가적인 사용자 입력을 계속 모니터링할 수 있다. 이러한 사용자 입력이 검출 될 수 있고, 일시적인 그래픽 객체가 사용자 입력에 응답하여 렌더링되거나 제거될 수 있다. 예를 들어, 일시적인 그래픽 객체는 사용자가 콘트롤 모듈(130)이 일시적인 그래픽 객체를 제거하는 제스처를 수행할 때 이미 렌더링될 수 있다. 다른 예로서, 사용자는 추가적인 사용자 입력을 통해 렌더링된 일시적인 그래픽 객체의 콘텐츠를 구성할 수 있다.
특정 실시예들은 적절한 경우, 도 9의 방법의 하나 이상의 단계들을 반복할 수 있다. 이 개시는 도 9의 방법의 특정 단계를 특정 순서로 발생하는 것으로서 설명하고 도시하지만, 본 개시는 임의의 적합한 순서로 발생하는 도 9의 방법의 임의의 적합한 단계를 고려한다. 또한, 본 개시는 도 9의 방법의 특정 단계들을 포함하는 일시적인 그래픽 객체를 렌더링하기 위한 예시적인 방법을 기술하고 설명하지만, 본 개시는 적절한 곳에서 임의의 적합한 단계를 포함하는 일시적인 그래픽 객체를 렌더링하기 위한 임의의 적합한 방법을 고려하며, 이는 적절한 경우 도 9의 방법의 모든 단계, 일부 단계를 포함하거나 어떤 단계도 포함하지 않을 수 있다. 또한, 본 개시는 도 9의 방법의 특정 단계를 수행하는 특정 구성 요소, 디바이스 또는 시스템을 설명하고 도시하지만, 본 개시는 도 9의 방법의 임의의 적합한 단계를 수행하는 임의의 적합한 구성 요소, 디바이스 또는 시스템의 임의의 적합한 조합을 고려한다.
도 10은 예시적인 컴퓨터 시스템(1000)을 도시한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(1000)은 여기에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 수행한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(1000)은 여기에 설명되거나 도시된 기능을 제공한다. 특정 실시예들에서, 하나 이상의 컴퓨터 시스템(1000)상에서 실행되는 소프트웨어는 여기에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 수행하거나 여기에 설명되거나 도시된 기능을 제공한다. 특정 실시예는 하나 이상의 컴퓨터 시스템(1000)의 하나 이상의 부분을 포함한다. 여기에서, 컴퓨터 시스템에 대한 참조는 적절한 경우 컴퓨팅 디바이스를 포함할 수 있고, 그 반대 일 수도 있다. 또한, 컴퓨터 시스템에 대한 참조는 적절한 경우 하나 이상의 컴퓨터 시스템을 포함할 수 있다.
이 개시는 임의의 적합한 수의 컴퓨터 시스템(1000)을 고려한다. 이 개시는 임의의 적합한 물리적 형태를 취하는 컴퓨터 시스템(1406)을 고려한다. 예로서 그리고 비제한적으로, 컴퓨터 시스템(1000)은 내장형 컴퓨터 시스템, 시스템-온-칩(SOC), (예를 들어, 컴퓨터-온-모듈(COM), 시스템-온-모듈(SOM)과 같은) 단일 보드 컴퓨터 시스템(SBC), 데스크탑 컴퓨터 시스템, 랩톱 또는 노트북 컴퓨터 시스템, 대화식 키오스크, 메인 프레임, 컴퓨터 시스템의 메쉬, 모바일 전화기, PDA(personal digital assistant), 서버, 태블릿 컴퓨터 시스템, 증강/가상 현실 디바이스, 또는 이들 중 둘 이상의 조합일 수 있다. 적절한 경우, 컴퓨터 시스템(1000)은 하나 이상의 컴퓨터 시스템을 포함할 수 있고; 단일체이거나 분산될 수 있고; 여러 위치로 확장될 수 있고; 여러 대의 기계로 확장될 수 있고; 여러 데이터 센터로 확장될 수 있고; 또는 하나 이상의 네트워크에 하나 이상의 클라우드 구성 요소를 포함할 수 있는 하나의 클라우드에 상주할 수 있다. 적절한 경우에, 하나 이상의 컴퓨터 시스템(1000)은 실질적으로 공간적 또는 시간적 제한없이 여기에 기술되거나 설명된 하나 이상의 방법의 하나 이상의 단계를 수행할 수 있다. 예로서 그리고 비제한적으로, 하나 이상의 컴퓨터 시스템(1000)은 본 명세서에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 실시간 또는 배치 모드(batch mode)로 수행할 수 있다. 하나 이상의 컴퓨터 시스템(1000)은 상이한 시간에 또는 상이한 위치에서 적절한 경우 여기에 설명되거나 도시된 하나 이상의 방법의 하나 이상의 단계를 수행할 수 있다.
특정 실시예에서, 컴퓨터 시스템(1000)은 프로세서(1002), 메모리(1004), 저장 장치(1006), 입/출력(I/O) 인터페이스(1008), 통신 인터페이스(1010) 및 버스(1012)를 포함한다. 본 개시는 특정 구성에서 특정 개수의 특정 구성 요소를 갖는 특정 컴퓨터 시스템을 설명하고 도시하지만, 본 개시는 임의의 적합한 구성의 임의의 적합한 개수의 임의의 적합한 구성 요소를 갖는 임의의 적합한 컴퓨터 시스템을 고려한다.
특정 실시예에서, 프로세서(1002)는 컴퓨터 프로그램을 구성하는 명령어와 같은 명령어를 실행하기 위한 하드웨어를 포함한다. 예로서 그리고 비제한적으로, 명령어를 실행하기 위해, 프로세서(1002)는 내부 레지스터, 내부 캐시, 메모리(1004) 또는 저장 장치(1006)로부터 명령어를 검색(또는 페치) 할 수 있고; 그 명령어를 해독하고 실행할 수 있고; 하나 이상의 결과를 내부 레지스터, 내부 캐시, 메모리(1004) 또는 저장 장치(1006)에 기록할 수 있다.
특정 실시예들에서, 프로세서(1002)는 데이터, 명령어 또는 주소에 대한 하나 이상의 내부 캐시를 포함할 수 있다. 본 개시는 적절한 경우 임의의 적합한 수의 임의의 적합한 내부 캐시를 포함하는 프로세서(1002)를 고려한다. 예로서 그리고 비제한적으로, 프로세서(1002)는 하나 이상의 명령어 캐시, 하나 이상의 데이터 캐시, 및 하나 이상의 변환 참조 버퍼(TLB)를 포함할 수 있다. 명령 캐시의 명령은 메모리(1004) 또는 스토리지(1006)의 명령어의 사본(copies)일 수 있고, 명령어 캐시는 프로세서(1002)에 의한 그들 명령어의 검색 속도를 향상시킬 수 있다. 데이터 캐시 내의 데이터는 다음에 대한 동작을 위해 프로세서(1002)에서 실행되는 명령어에 대해 메모리(1004) 또는 저장 장치(1006) 내의 데이터의 사본일 수 있고; 프로세서(1002)에서 실행되는 후속 명령어에 의한 액세스를 위해 또는 메모리(1004) 또는 저장 장치(1006)에 기록하기 위해 프로세서(1002)에서 실행되는 이전 명령어의 결과; 또는 다른 적합한 데이터에 대해 동작할 수 있다. 데이터 캐시는 프로세서(1002)에 의한 판독 또는 기록 동작을 가속화할 수 있다. TLB는 프로세서(1002)에 대한 가상-주소 변환을 가속화할 수 있다.
특정 실시예들에서, 프로세서(1002)는 데이터, 명령어 또는 주소에 대한 하나 이상의 내부 레지스터를 포함할 수 있다. 본 개시는 적절한 경우 임의의 적합한 수의 임의의 적합한 내부 레지스터를 포함하는 프로세서(1002)를 고려한다. 적절한 경우, 프로세서(1002)는 하나 이상의 산술 논리 유닛(ALU)을 포함할 수 있고; 멀티-코어 프로세서일 수 있거나; 또는 하나 이상의 프로세서(1002)를 포함할 수 있다. 본 개시가 특정 메모리를 설명하고 도시하지만, 본 개시는 임의의 적합한 메모리를 고려한다.
특정 실시예들에서, 메모리(1004)는 프로세서(1002)가 실행될 명령어 또는 프로세서(1002)가 동작하기 위한 데이터를 저장하기 위한 메인 메모리를 포함한다. 예로서 그리고 비제한적으로, 컴퓨터 시스템(1000)은 메모리(1004)에 저장 장치(1006) 또는(예를 들어, 다른 컴퓨터 시스템(1000)과 같은) 다른 소스로부터 명령어를 로딩할 수 있다. 그 다음 프로세서(1002)는 메모리(1004)로부터 내부 레지스터 또는 내부 캐시로 명령어를 로딩할 수 있다. 명령어를 실행하기 위해, 프로세서(1002)는 내부 레지스터 또는 내부 캐시로부터 명령어를 검색하고 그 명령어를 디코딩할 수 있다. 명령어의 실행 동안 또는 실행 후에, 프로세서(1002)는 하나 이상의 결과(중간 또는 최종 결과일 수 있음)를 내부 레지스터 또는 내부 캐시에 기입할 수 있다. 그 다음 프로세서(1002)는 그 결과 중 하나 이상을 메모리(1004)에 기입할 수 있다.
특정 실시예들에서, 프로세서(1002)는 하나 이상의 내부 레지스터 또는 내부 캐시 또는 메모리(1004)(저장 장치(1006) 또는 다른 곳과는 반대로)의 명령만을 실행하고, 하나 이상의 내부 레지스터 또는 내부 캐시 또는 메모리(1004)(저장 장치(1006) 또는 다른 곳과는 반대로) 의 데이터에 대해서만 동작한다. (각각 어드레스 버스 및 데이터 버스를 포함할 수 있는) 하나 이상의 메모리 버스는 프로세서(1002)를 메모리(1004)에 연결시킬 수 있다. 버스(1012)는 후술되는 바와 같이 하나 이상의 메모리 버스를 포함할 수 있다.
특정 실시예들에서, 하나 이상의 메모리 관리 유닛(MMU)은 프로세서(1002)와 메모리(1004) 사이에 상주하고 프로세서(1002)에 의해 요청된 메모리(1004) 로의 액세스를 용이하게 한다. 특정 실시예들에서, 메모리(1004)는 랜덤 액세스 메모리(RAM)를 포함한다. 이 RAM은 적절한 경우 휘발성 메모리일 수 있다. 적절한 경우 이 RAM은 동적 RAM(DRAM) 또는 정적 RAM(SRAM) 일 수 있다. 또한, 적절한 경우, 이 RAM은 단일 포트 또는 다중 포트 RAM 일 수 있다. 본 개시는 임의의 적합한 RAM을 고려한다. 메모리(1004)는 적절한 경우 하나 이상의 메모리(1004)를 포함할 수 있다. 본 개시가 특정 메모리를 설명하고 도시하지만, 본 개시는 임의의 적합한 메모리를 고려한다.
특정 실시예들에서, 저장 장치(1006)는 데이터 또는 명령어를 위한 대용량 저장 장치를 포함한다. 예로서 그리고 비제한적으로, 저장 장치(1006)는 하드 디스크 드라이브(HDD), 플로피 디스크 드라이브, 플래시 메모리, 광학 디스크, 광-자기 디스크, 자기 테이프, 또는 USB 드라이브, 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 저장 장치(1006)는 적절한 경우 제거 가능한 또는 제거 가능하지 않은(또는 고정된) 매체를 포함할 수 있다. 저장 장치(1006)는 적절한 경우 컴퓨터 시스템(1000)의 내부 또는 외부에 있을 수 있다.
특정 실시예들에서, 저장 장치(1006)는 비 휘발성 고체 메모리이다. 특정 실시예에서, 저장 장치(1006)는 판독 전용 메모리(ROM)를 포함한다. 적절한 경우, 이 ROM은 마스크-프로그래밍된 ROM, 프로그래머블 ROM(PROM), 삭제 가능 PROM(EPROM), 전기적으로 삭제 가능한 PROM(EEPROM), 전기적으로 변경 가능한 ROM(EAROM) 또는 플래시 메모리 또는이들 중 둘 이상의 조합 일 수 있다. 이 개시는 임의의 적합한 물리적 형태를 취하는 대용량 저장 장치(1006)를 고려한다. 저장 장치(1006)는 적절한 경우, 프로세서(1002)와 저장 장치(1006) 간의 통신을 용이하게 하는 하나 이상의 저장 장치 콘트롤 유닛을 포함할 수 있다. 적절한 경우, 저장 장치(1006)는 하나 이상의 저장 장치(1006)를 포함할 수 있다. 본 개시가 특정 저장 장치를 설명하고 도시하지만, 본 개시는 임의의 적합한 메모리를 고려한다.
특정 실시예들에서, I/O 인터페이스(1008)는 컴퓨터 시스템(1000)과 하나 이상의 I/O 디바이스 간의 통신을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어, 또는 둘 다를 포함한다. 컴퓨터 시스템(1000)은 적절한 경우 이들 I/O 장치 중 하나 이상을 포함할 수 있다. 이들 I/O 장치 중 하나 이상은 개인과 컴퓨터 시스템(1000) 간의 통신을 가능하게 할 수 있다. 예로서 그리고 비제한적으로, I/O 장치는 키보드, 키패드, 마이크로폰, 모니터, 마우스, 프린터, 스캐너, 스피커, 스틸 카메라, 스타일러스, 태블릿, 터치 스크린, 트랙볼, 비디오 카메라, 다른 적합한 I/O 장치, 또는 이들 중 둘 이상의 조합을 포함할 수 있다. I/O 장치는 하나 이상의 센서를 포함할 수 있다. 이 개시는 임의의 적합한 I/O 장치 및 이들에 대한 임의의 적합한 I/O 인터페이스(1008)를 고려한다. 적절한 경우, I/O 인터페이스(1008)는 프로세서(1002)가 이러한 I/O 장치 중 하나 이상을 구동할 수 있게 하는 하나 이상의 디바이스 또는 소프트웨어 드라이버를 포함할 수 있다. I/O 인터페이스(1008)는 적절한 경우 하나 이상의 I/O 인터페이스(1008)를 포함할 수 있다. 본 개시가 특정 I/O 인터페이스를 기술하고 설명하지만, 본 개시는 임의의 적합한 I/O 인터페이스를 고려한다.
특정 실시예들에서, 통신 인터페이스(1010)는 컴퓨터 시스템(1000)과 하나 이상의 다른 컴퓨터 시스템(1000) 또는 하나 이상의 네트워크 간의 통신(예를 들어, 패킷-기반 통신과 같은)을 위한 하나 이상의 인터페이스를 제공하는 하드웨어, 소프트웨어, 또는 둘 다를 포함한다. 예로서 그리고 비제한적으로, 통신 인터페이스(1010)는 이더넷 또는 다른 유선 네트워크 또는 무선 NIC(WNIC) 또는 WI-FI 네트워크와 같은 무선 네트워크와 통신하기 위한 무선 어댑터와 통신하기 위한 네트워크 인터페이스 컨트롤러(NIC) 또는 네트워크 어댑터를 포함할 수 있다. 이 개시는 임의의 적합한 네트워크 및 이에 대한 임의의 적합한 통신 인터페이스(1010)를 고려한다. 예로서 그리고 비제한적으로, 컴퓨터 시스템(1000)은 애드혹 네트워크, 개인 영역 네트워크(PAN), 근거리 통신망(LAN), 광역 통신망(WAN), 대도시 통신망 MAN), 또는 인터넷의 하나 이상의 부분 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 이들 네트워크 중 하나 이상의 네트워크의 하나 이상의 부분은 유선 또는 무선일 수 있다. 예로서, 컴퓨터 시스템(1000)은 무선 PAN(WPAN)(예를 들어, 블루투스 WPAN), WI-FI 네트워크, WI-MAX 네트워크, 셀룰러 전화 네트워크(예를 들어, GSM(Global System for Mobile Communications) 네트워크), 또는 다른 적합한 무선 네트워크 또는 이들 중 둘 이상의 조합과 통신할 수 있다. 컴퓨터 시스템(1000)은 적절한 경우 이들 네트워크 중 임의의 네트워크에 대한 임의의 적합한 통신 인터페이스(1010)를 포함할 수 있다. 통신 인터페이스(1010)는 적절한 경우 하나 이상의 통신 인터페이스(1010)를 포함할 수 있다. 이 개시는 특정 통신 인터페이스를 설명하고 도시하지만, 이 개시는 임의의 적합한 통신 인터페이스를 고려한다.
특정 실시예들에서, 버스(1012)는 컴퓨터 시스템(1000)의 하드웨어, 소프트웨어, 또는 둘 모두를 서로 결합하는 구성 요소를 포함한다. 예로서 그리고 비제한적으로, 버스(1012)는 가속 그래픽 포트(AGP) 또는 다른 그래픽 버스, EISA(Enhanced Industry Standard Architecture) 버스, 프론트-사이드 버스(FSB), 하이퍼 트랜스포트(HT) 상호접속(interconnect), ISA(Industry Standard Architecture) 버스, 인피니밴드(INFINIBAND) 상호접속, LPC(Low-Pin-Count) 버스, 메모리 버스, MCA(Micro Channel Architecture) 버스, PCI(Peripheral Component Interconnect) 버스, PCI-익스프레스(PCIe) 버스, SATA(Serial Advanced Technology Attachment) 버스, VLB(Video Electronics Standards Association) 로컬 버스, 또는 다른 적합한 버스, 또는 이들 중 둘 이상의 조합을 포함할 수 있다. 버스(1012)는 적절한 경우, 하나 이상의 버스(1012)를 포함할 수 있다. 이 개시는 특정 버스를 설명하고 도시하지만, 본 개시는 임의의 적합한 버스 또는 상호 접속을 고려한다.
여기서, 컴퓨터-판독 가능 비-일시적 저장 매체 또는 매체들은(예를 들어, 필드-프로그래머블 게이트 어레이(FPGA) 또는 애플리케이션-맞춤(application-specific) 집적 회로(ASIC)와 같은) 하나 이상의 반도체 기반 또는 다른 집적 회로(IC), 하드디스크 드라이브(HHD), 하이브리드 하드 드라이브(HHD), 광 디스크, 광 디스크 드라이브(ODD), 광-자기 디스크, 광-자기 드라이브, 플로피 디스켓, 플로피 디스크 드라이브(FDD), 자기 테이프, SSD(Solid-State Drive), RAM 드라이브, 보안 디지털(SECURE DIGITAL) 카드 또는 드라이브, 임의의 다른 적합한 컴퓨터 판독 가능 비-일시적 저장 매체, 또는 적절한 경우 이들 중 둘 이상의 임의의 적합한 조합을 포함할 수 있다. 컴퓨터 판독 가능 비-일시적 저장 매체는 휘발성, 비 휘발성, 또는 적절한 경우 휘발성 및 비 휘발성의 조합일 수 있다.
여기에서, "또는"은 그 이외에 다르게 표시되거나 문맥에 의해 달리 지시되지 않는 한, 포괄적이고 배타적이지 않다. 따라서, 본 명세서에서, "A 또는 B"는 다르게 명시적으로 표시되거나 문맥에 의해 다르게 지시되지 않는 한 "A, B 또는 둘 다"를 의미한다. 또한, "및"은 다르게 표시되거나 문맥에 의해 다르게 지시되지 않는 한, 공동 및 다수이다. 그러므로, 본문에서, "A와 B"는 별도로 명시되거나 문맥에 의해 달리 지시되지 않는 한 "공동으로 또는 개별적으로 A와 B"를 의미한다.
여기서, "자동적으로"및 그 파생물은 다르게 명시되거나 문맥에 의해 달리 지시되지 않는 한 "인간의 개입없이"를 의미한다.
본 개시의 범위는 당업자가 이해할 수 있는 본원에 설명되거나 도시된 예시적인 실시예에 대한 모든 변화, 대체, 변형, 변경 및 수정을 포함한다. 이 개시의 범위는 여기에 설명되거나 도시된 예시적인 실시예에 한정되지 않는다. 또한, 본 개시는 특정 구성 요소, 요소, 특징, 기능, 동작 또는 단계를 포함하는 것으로 여기에서 각각의 실시예를 기술하고 설명하지만, 이들 실시예 중 임의의 실시예는 당업자가 이해할 수 있는 본원의 임의의 장소에 설명되거나 도시된 상기 구성 요소, 요소, 특징, 기능, 동작 또는 단계 중의 임의의 조합 또는 순열(permutation)을 포함할 수 있다. 또한, 첨부된 청구 범위에서 특정 기능을 수행하도록 적응, 배열, 기능, 구성, 가능, 동작, 또는 조작하는 장치 또는 시스템 또는 장치 또는 시스템의 구성 요소에 대한 참조는, 그러한 장치, 시스템, 또는 구성 요소가 그렇게 적응, 배열, 가능, 구성, 가능, 동작 또는 조작되는 한, 그 또는 특정 기능이 활성화, 켜지거나 잠금 해제되건 아니건, 그 장치, 시스템, 또는 구성 요소를 포함한다. 또한, 본 개시가 특정 이점을 제공하는 것으로 특정 실시예를 기술하거나 예시하지만, 특정 실시예는 이들 이점 중 어느 것도 제공하지 않을 수 있거나, 일부 또는 전부를 제공할 수 있다.

Claims (15)

  1. 하나 이상의 애플리케이션과 관련된 그래픽 사용자 인터페이스의 부분에 링크된 사용자 입력을 검출하는 단계, 및
    상기 검출된 사용자 입력에 응답하여, 복수의 부분들을 포함하는 일시적인 그래픽 객체(transient graphical object)의 적어도 일부분을 렌더링하는 단계를 포함하며,
    상이한 가상 공간과 관련되고 콘텐츠를 포함하는 각각의 부분은 상기 하나 이상의 애플리케이션들 중 특정 애플리케이션에 링크된 정보 및 상기 특정 애플리케이션에 링크된 하나 이상의 동작을 시작하기 위한 하나 이상의 그래픽 콘트롤 객체를 포함하는 방법.
  2. 제1항에 있어서, 상기 콘텐츠는 사용자-구성 가능 콘텐츠를 포함하는 방법.
  3. 제1항에 있어서,
    각 부분은 별개의 사용자 입력과 관련되며,
    상기 검출된 사용자 입력과 관련된 부분을 결정하는 단계를 더 포함하며,
    상기 일시적인 그래픽 객체의 적어도 일부분를 렌더링하는 단계는 적어도 상기 검출된 사용자 입력과 관련된 부분을 렌더링하는 것을 포함하는 방법.
  4. 제1항에 있어서,
    상기 각각의 부분에 의해 디스플레이된 콘텐츠는 적어도 부분적으로 콘텐츠 카테고리에 의해 정의되며, 상기 각각의 부분은 상이한 콘텐츠 카테고리와 관련되는 방법.
  5. 제1항에 있어서, 상기 부분은 상기 애플리케이션들 중 하나에 특정한 아이콘을 포함하는 방법.
  6. 제1항에 있어서,
    상기 사용자 입력은 상기 사용자의 적어도 일부분에 의해 만들어지고, 상기 부분에서 시작하는 제스처를 포함하고,
    상기 일시적인 그래픽 객체의 크기는 상기 부분으로부터 상기 사용자의 적어도 일부분의 거리가 증가함에 따라 증가하고, 상기 부분으로부터 상기 사용자의 적어도 일부분의 거리가 감소함에 따라 감소하며,
    디스플레이되는 콘텐츠의 양은 그래픽 객체의 크기에 기초하는 방법.
  7. 제6항에 있어서,
    상기 정보는 하나 이상의 콘텐츠 요소를 포함하는 하나 이상의 콘텐츠 객체를 포함하며,
    상기 제스처의 적어도 일부를 제1 벡터 및 제2 벡터로 분해하는 단계를 더 포함하고,
    상기 일시적인 그래픽 객체에 의해 디스플레이된 콘텐츠 객체의 수는 상기 제1 벡터의 크기가 증가함에 따라 증가하며,
    적어도 하나의 콘텐츠 객체와 관련된 콘텐츠 요소의 수는 제2 벡터의 크기가 증가함에 따라 증가하는 방법.
  8. 제7항에 있어서,
    상기 제2 벡터는 제1 유형의 콘텐츠 요소와 관련되며,
    제3 벡터는 제1 유형과 다른 제2 유형의 콘텐츠 요소와 관련되는 방법.
  9. 제1항에 있어서,
    콘텐츠가 상기 하나 이상의 애플리케이션 중 특정 애플리케이션에 이용 가능한지 여부를 결정하는 단계, 및
    콘텐츠가 상기 특정 애플리케이션에 이용 가능하다는 결정에 응답하여, 상기 특정 애플리케이션과 관련된 아이콘 상의 또는 부근에 시각적인 표시자(visual indicator)를 렌더링하는 단계를 더 포함하는 방법.
  10. 제1항에 있어서,
    상기 하나 이상의 애플리케이션은 복수의 애플리케이션을 포함하고,
    상기 콘텐츠는 상기 복수의 애플리케이션 중 제2 애플리케이션에 특정한 정보를 더 포함하는 방법.
  11. 제1항에 있어서, 상기 정보는 상기 특정 애플리케이션으로부터 획득된 제1 정보, 시스템-레벨 데이터(system-level data)로부터 얻어진 제2 정보, 또는 온라인 데이터에서 얻은 제3 정보를 포함하는 방법.
  12. 제1항에 있어서, 상기 정보는 상기 그래픽 사용자 인터페이스를 디스플레이하는 디스플레이를 포함하는 디바이스의 콘텍스트(context)에 기초하는 방법.
  13. 제1항에 있어서,
    상기 입력은 상기 사용자와 상기 그래픽 사용자 인터페이스를 디스플레이하는 디스플레이 간의 연속적인 접촉(continuous contact)을 포함하는 제스처를 포함하고,
    상기 사용자와 상기 디스플레이 간의 분리에 응답하여 상기 일시적인 그래픽 객체를 제거하는 단계를 더 포함하는 방법.
  14. 하나 이상의 프로세서에 의해 실행될 때 상기 하나 이상의 프로세서가 제1항 내지 제13항 중 어느 한 항의 방법을 수행하게 하는 명령어를 구현하는 컴퓨터 판독 가능 저장 매체.
  15. 명령어를 구현하는 하나 이상의 컴퓨터 판독 가능 저장 매체 및
    상기 명령어를 실행하도록 구성된 하나 이상의 프로세서를 포함하며, 상기 하나 이상의 프로세서는,
    하나 이상의 애플리케이션과 관련된 그래픽 사용자 인터페이스의 부분에 링크된 사용자 입력을 검출하고,
    상기 검출된 사용자 입력에 응답하여, 복수의 부분들을 포함하는 일시적인 그래픽 객체의 적어도 일부분을 렌더링하며,
    상이한 가상 공간과 관련되고 콘텐츠를 포함하는 각각의 부분은, 상기 하나 이상의 애플리케이션 중 특정 애플리케이션에 링크된 정보 및 상기 특정 애플리케이션에 링크된 하나 이상의 동작을 시작하기 위한 하나 이상의 그래픽 콘트롤 객체를 포함하는 장치.
KR1020187012431A 2015-09-30 2016-09-26 일시적인 그래픽 객체를 렌더링하는 방법 및 장치 KR20180051653A (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562234988P 2015-09-30 2015-09-30
US62/234,988 2015-09-30
US15/061,758 US10503361B2 (en) 2015-09-30 2016-03-04 Interactive graphical object
US15/061,758 2016-03-04
PCT/KR2016/010726 WO2017057879A1 (en) 2015-09-30 2016-09-26 A method for rendering a transient graphical object and an apparatus

Publications (1)

Publication Number Publication Date
KR20180051653A true KR20180051653A (ko) 2018-05-16

Family

ID=58409298

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020187012431A KR20180051653A (ko) 2015-09-30 2016-09-26 일시적인 그래픽 객체를 렌더링하는 방법 및 장치

Country Status (4)

Country Link
US (1) US10503361B2 (ko)
EP (1) EP3356922B1 (ko)
KR (1) KR20180051653A (ko)
WO (1) WO2017057879A1 (ko)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9417754B2 (en) 2011-08-05 2016-08-16 P4tents1, LLC User interface system, method, and computer program product
US10963126B2 (en) 2014-12-10 2021-03-30 D2L Corporation Method and system for element navigation
USD782512S1 (en) * 2015-06-07 2017-03-28 Apple Inc. Display screen or portion thereof with graphical user interface
US10025457B2 (en) * 2015-10-18 2018-07-17 International Business Machines Corporation File folder display
US20190243536A1 (en) * 2018-02-05 2019-08-08 Alkymia Method for interacting with one or more software applications using a touch sensitive display

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7030861B1 (en) 2001-02-10 2006-04-18 Wayne Carl Westerman System and method for packing multi-touch gestures onto a hand
US8448083B1 (en) 2004-04-16 2013-05-21 Apple Inc. Gesture control of multimedia editing applications
US8351989B2 (en) 2007-02-23 2013-01-08 Lg Electronics Inc. Method of displaying menu in a mobile communication terminal
KR100900295B1 (ko) 2008-04-17 2009-05-29 엘지전자 주식회사 이동 디바이스와 이동 통신 시스템의 사용자 인터페이스방법
KR101568129B1 (ko) 2008-11-20 2015-11-11 삼성전자주식회사 터치 스크린을 구비한 휴대 단말기 및 그 휴대 단말기에서 태그 정보 표시 방법
ES2630408T3 (es) * 2008-12-01 2017-08-21 Lg Electronics Inc. Procedimiento de operación de un icono de ejecución de terminal móvil
KR101387270B1 (ko) 2009-07-14 2014-04-18 주식회사 팬택 터치 궤적에 따라 메뉴 정보를 표시하는 이동 단말기
US8773470B2 (en) * 2010-05-07 2014-07-08 Apple Inc. Systems and methods for displaying visual information on a device
US9766718B2 (en) 2011-02-28 2017-09-19 Blackberry Limited Electronic device and method of displaying information in response to input
US8730190B2 (en) 2011-01-13 2014-05-20 Qualcomm Incorporated Detect motion generated from gestures used to execute functionality associated with a computer system
GB201107273D0 (en) 2011-04-28 2011-06-15 Inq Entpr Ltd Application control in electronic devices
US8875051B2 (en) 2011-12-08 2014-10-28 Microsoft Corporation Dynamic navigation bar for expanded communication service
US8977978B2 (en) 2011-12-12 2015-03-10 Inkling Systems, Inc. Outline view
US20130179796A1 (en) 2012-01-10 2013-07-11 Fanhattan Llc System and method for navigating a user interface using a touch-enabled input device
US8902182B2 (en) 2012-02-24 2014-12-02 Blackberry Limited Electronic device and method of controlling a display
US10078420B2 (en) 2012-03-16 2018-09-18 Nokia Technologies Oy Electronic devices, associated apparatus and methods
US9256349B2 (en) 2012-05-09 2016-02-09 Microsoft Technology Licensing, Llc User-resizable icons
US9195368B2 (en) 2012-09-13 2015-11-24 Google Inc. Providing radial menus with touchscreens
KR102026729B1 (ko) * 2012-12-10 2019-09-30 엘지전자 주식회사 스케줄 인터페이스를 처리하는 방법 및 장치
GB201300031D0 (en) 2013-01-02 2013-02-13 Canonical Ltd Ubuntu UX innovations
KR102064965B1 (ko) 2013-01-04 2020-01-10 엘지전자 주식회사 더블 터치 제스처를 이용한 단말기 제어 방법 및 그 단말기
US9261985B2 (en) 2013-03-11 2016-02-16 Barnes & Noble College Booksellers, Llc Stylus-based touch-sensitive area for UI control of computing device
US9575628B2 (en) 2013-03-29 2017-02-21 Deere & Company Icon featured touch screen display system including status shortcuts for a work vehicle and method of managing the same
CN103309618A (zh) * 2013-07-02 2013-09-18 姜洪明 移动操作系统
TWI669652B (zh) * 2013-07-12 2019-08-21 日商新力股份有限公司 資訊處理裝置、資訊處理方法及電腦程式
JP2015022442A (ja) 2013-07-17 2015-02-02 株式会社東芝 電子機器、電子機器の制御方法、電子機器の制御プログラム
KR102173123B1 (ko) 2013-11-22 2020-11-02 삼성전자주식회사 전자장치에서 이미지 내의 특정 객체를 인식하기 위한 방법 및 장치
WO2015096020A1 (en) * 2013-12-24 2015-07-02 Intel Corporation Adaptive enclosure for a mobile computing device
US10915698B2 (en) 2013-12-31 2021-02-09 Barnes & Noble College Booksellers, Llc Multi-purpose tool for interacting with paginated digital content
WO2015133057A1 (ja) * 2014-03-05 2015-09-11 株式会社デンソー 検知装置及びジェスチャ入力装置
US9632664B2 (en) * 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback

Also Published As

Publication number Publication date
EP3356922A1 (en) 2018-08-08
US10503361B2 (en) 2019-12-10
US20170090695A1 (en) 2017-03-30
WO2017057879A1 (en) 2017-04-06
EP3356922A4 (en) 2018-08-22
EP3356922B1 (en) 2021-03-03

Similar Documents

Publication Publication Date Title
US11709560B2 (en) Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
US20220035522A1 (en) Device, Method, and Graphical User Interface for Displaying a Plurality of Settings Controls
US9207838B2 (en) Device, method, and graphical user interface for managing and interacting with concurrently open software applications
US9052894B2 (en) API to replace a keyboard with custom controls
US8698845B2 (en) Device, method, and graphical user interface with interactive popup views
KR101668398B1 (ko) 터치 스크린과의 사용자 상호작용을 입력 커맨드로 번역
US10606469B2 (en) Device, method, and graphical user interface for managing multiple display windows
KR102054234B1 (ko) 스크롤 바의 직각 드래깅
US10067648B2 (en) User terminal device and method for displaying thereof
JP2019215900A (ja) フォルダを管理するためのデバイス、方法及びグラフィカル・ユーザインタフェース
EP3356922B1 (en) A method for rendering a transient graphical object and an apparatus
US20150331571A1 (en) Device, method, and graphical user interface for managing concurrently open software applications
US20140232671A1 (en) Device, Method, and Graphical User Interface for Managing Concurrently Open Software Applications
US20120216146A1 (en) Method, apparatus and computer program product for integrated application and task manager display
US20110163966A1 (en) Apparatus and Method Having Multiple Application Display Modes Including Mode with Display Resolution of Another Apparatus
US11120097B2 (en) Device, method, and graphical user interface for managing website presentation settings
KR20150045121A (ko) 멀티윈도우 운용 방법 및 이를 지원하는 전자 장치
US20160110035A1 (en) Method for displaying and electronic device thereof
US11455075B2 (en) Display method when application is exited and terminal
US20230012613A1 (en) Device, Method, and Graphical User Interface for Managing Data Stored on a Device
US20240127007A1 (en) Translation Method and Electronic Device
US20190369827A1 (en) Remote data input framework
CN114461312A (zh) 切换应用及应用中任务的方法、电子设备