KR102346571B1 - 컴포넌트 특정 애플리케이션 프레젠테이션 이력들 - Google Patents

컴포넌트 특정 애플리케이션 프레젠테이션 이력들 Download PDF

Info

Publication number
KR102346571B1
KR102346571B1 KR1020177010939A KR20177010939A KR102346571B1 KR 102346571 B1 KR102346571 B1 KR 102346571B1 KR 1020177010939 A KR1020177010939 A KR 1020177010939A KR 20177010939 A KR20177010939 A KR 20177010939A KR 102346571 B1 KR102346571 B1 KR 102346571B1
Authority
KR
South Korea
Prior art keywords
application
presentation
component
presentation component
history
Prior art date
Application number
KR1020177010939A
Other languages
English (en)
Other versions
KR20170062494A (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 KR20170062494A publication Critical patent/KR20170062494A/ko
Application granted granted Critical
Publication of KR102346571B1 publication Critical patent/KR102346571B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Abstract

많은 컴퓨팅 시나리오들에서, 디바이스의 컴퓨팅 환경이 다양한 프레젠테이션 컴포넌트들, 이를테면 디스플레이들, 스피커들, 및 헤드폰들을 통해 애플리케이션들을 제시할 수도 있다. 그러나, 컴퓨팅 환경 내에 현재 제시된 애플리케이션들 중에서 내비게이션하는 것은 사용자에게 어려울 수도 있으며; 예컨대, 애플리케이션 스택을 공유하는 많은 디스플레이들 상에 많은 애플리케이션들을 제시하는 디바이스에 대해, 사용자가 선택하고자 하는 애플리케이션은 공유된 애플리케이션 스택 내에 깊숙이 묻혀있을 수도 있다. 본 명세서에서 제시된 기법들에 따라, 디바이스는 프레젠테이션 컴포넌트를 통해 미리 제시되어 왔던 애플리케이션들을 표시하는 각각의 프레젠테이션 컴포넌트에 대한 애플리케이션 프레젠테이션 이력을 생성할 수도 있다. 선택된 프레젠테이션 컴포넌트를 현재 애플리케이션 프레젠테이션으로부터 멀어지게 전환시키라는 요청이, 선택된 프레젠테이션 컴포넌트의 애플리케이션 프레젠테이션 이력에서의 애플리케이션 프레젠테이션을 갖는 제 2 애플리케이션을 식별하고, 선택된 프레젠테이션 컴포넌트를 제 2 애플리케이션으로 전환시킴으로써 충족될 수도 있다.

Description

컴포넌트 특정 애플리케이션 프레젠테이션 이력들{COMPONENT-SPECIFIC APPLICATION PRESENTATION HISTORIES}
관련 출원
본 출원은 발명의 명칭이 "COMPONENT-SPECIFIC APPLICATION PRESENTATION HISTORIES"이고 2014년 9월 24일자로 출원된 미국 특허 출원 제14/495,181호를 우선권 주장하며, 이 미국 특허 출원은 참조로 본 명세서에 포함된다.
컴퓨팅 분야 내에서, 많은 시나리오들이 적어도 두 개의 프레젠테이션 컴포넌트들을 갖는 디바이스에 의한 애플리케이션의 프레젠테이션을 수반한다. 이러한 제 1 예로서, 디바이스가 두 개 이상의 디스플레이들을 포함할 수도 있고, 두 개 이상의 디스플레이들에 걸쳐 컴퓨팅 환경을 제시할 수도 있다. 이러한 제 2 예로서, 디스플레이가 디스플레이와 한 쌍의 헤드폰들을 포함할 수도 있고, 애플리케이션을 디스플레이 상에서 시각적으로 그리고/또는 헤드폰들을 통해 청각적으로 제시할 수도 있다. 이러한 제 3 예로서, 디바이스가 하나 이상의 다른 디바이스들의 원격 디스플레이 컴포넌트들, 이를테면 원격 단말 세션들, 프로젝터들, 또는 원격 스피커들의 세트들에 액세스할 수도 있고, 애플리케이션 프레젠테이션을 원격 디스플레이 컴포넌트들 중 하나 이상의 원격 디스플레이 컴포넌트에게 프레젠테이션을 위해 송신할 수도 있다.
애플리케이션을 제시할 프레젠테이션 컴포넌트를 선택하는 방식은 사용자에게 종종 위임된다. 이러한 제 1 예로서, 디바이스에 액세스 가능한 여러 디스플레이들 중에서, 시각적 애플리케이션의 사용자가 (예컨대, 윈도우를 특정 디스플레이로 이동시켜) 선택된 디스플레이를 특정할 수도 있고, 디바이스는 선택된 디스플레이 상에 애플리케이션을 디스플레이할 수도 있다. 이러한 제 2 예로서, 사용자가 음악을 재생할 것을 요청할 수도 있고, 디바이스는 디바이스에 액세스 가능하고 사용자를 위해 음악을 렌더링할 수 있는 오디오 디바이스들의 리스트를 제시할 수도 있다. 사용자는 그러면 오디오 디바이스를 선택할 수 있고, 그 디바이스는 선택된 오디오 디바이스를 통해 음악을 재생할 수도 있다.
덧붙여, 많은 이러한 디바이스들은 디바이스의 컴퓨팅 환경 내에서 제시되어 왔던 애플리케이션들의 이력을 유지한다. 예를 들어, 애플리케이션 스위처(switcher) 또는 "Alt-Tab" 리스트가, 애플리케이션들(예컨대, 현재 애플리케이션 및 이전의 애플리케이션)이 사용자에 의해 제시 및/또는 활성화되어온 애플리케이션 프레젠테이션 순서를 옵션으로 포함하는 최근에 제시된 애플리케이션들의 세트를 표시할 수도 있다. 현재 애플리케이션으로부터 제 2 애플리케이션(이를테면 애플리케이션 순서에서의 "다음" 애플리케이션)으로 전환하자는 요청을 수신 시, 디바이스는 (예컨대, 컴퓨팅 환경의 포어그라운드에서 제 2 애플리케이션을 제시하기 위하여, 디바이스의 디스플레이 상에 제시된 윈도우 스택에서의 애플리케이션에 대한 윈도우의 "Z-순서(Z-order)"를 올려) 컴퓨팅 환경을 제 2 애플리케이션으로 전환시킬 수도 있다.
이 발명의 내용은 아래의 발명을 실시하기 위한 구체적인 내용에서 추가로 설명되는 단순화된 형태로 개념들의 선택을 소개하기 위해 제공된다. 이 발명의 내용은 청구된 발명의 주제의 핵심 요소들 또는 본질적 특징들을 식별하기 위해 의도된 것이 아니며, 청구된 발명의 주제의 범위를 제한하는데 사용되도록 의도된 것도 아니다.
디바이스의 컴퓨팅 환경에서의 애플리케이션들의 프레젠테이션은, 특히 다양한 프레젠테이션 컴포넌트들에 액세스하는 디바이스들의 경우, 부분적으로는 현대 디바이스들의 복잡도 및/또는 견고성으로 인해, 다양한 제한들을 나타낼 수도 있다.
이러한 제 1 예로서, 디바이스는 비교적 많은 수의 프레젠테이션 컴포넌트들을 가질 수도 있고, 사용자는 상대적으로 많은 수의 애플리케이션들을 그들 프레젠테이션 컴포넌트들을 통해 실행할 수도 있다. 사용자가 전환하고자 하는 제 2 애플리케이션을 선택하는 것은 애플리케이션 프레젠테이션 이력에 포함될 수도 있는 다수의 애플리케이션들로 인해 어려울 수도 있다. 예를 들어, 사용자가 애플리케이션 프레젠테이션 이력(이를테면 애플리케이션 스택)에서 후방으로 내비게이션하고자 한다면, 개인이 활성화하고자 하는 애플리케이션은 애플리케이션 프레젠테이션 이력 내에 깊숙이 위치될 수도 있고, 사용자가 제시하고자 하는 애플리케이션을 찾는 동안 시간이 걸릴 수도 있다.
이러한 제 2 예로서, 디바이스의 프레젠테이션 컴포넌트들은 다양한 측면들에서 가변할 수도 있으며; 예컨대, 일부 디바이스들은 다양한 입출력 모달리티(modality)들, 로케이션들, 또는 사용자 콘텍스트들에 연관될 수도 있다. 더구나, 사용자는 특정 프레젠테이션 컴포넌트 상의 애플리케이션의 프레젠테이션을 요청하려고 의도할 수도 있지만, 어떤 프레젠테이션 컴포넌트를 특정하지 않을 수도 있다. 그러나, 특정 애플리케이션의 프레젠테이션을 위한 프레젠테이션 컴포넌트를 식별하는 것은 결정하기 어려울 수도 있다.
본 명세서에서 제시된 것들은 디바이스 상의 애플리케이션들의 프레젠테이션 중에서 내비게이션함에 있어서 디바이스들이 사용자를 편하게 하는 기법들이다. 이들 기법들에 따라, 디바이스에 액세스 가능한 각각의 프레젠테이션 컴포넌트들에 대해, 디바이스는 프레젠테이션 컴포넌트를 통해 제시되어 왔던 애플리케이션들의 애플리케이션 프레젠테이션들을 식별하는 애플리케이션 프레젠테이션 이력을 생성할 수도 있다. 선택된 애플리케이션의 애플리케이션 프레젠테이션을 선택된 프레젠테이션 컴포넌트를 통해 제시하는 것에 응답하여, 애플리케이션은 선택된 프레젠테이션 컴포넌트의 애플리케이션 프레젠테이션 이력에 애플리케이션 프레젠테이션을 기록할 수도 있으며; 그리고 현재 애플리케이션으로부터 멀어지게 선택된 프레젠테이션 컴포넌트를 전환시키자는 요청을 수신하는 것에 응답하여, 디바이스는 선택된 프레젠테이션 컴포넌트의 애플리케이션 프레젠테이션 이력으로부터 제 2 애플리케이션을 선택하고, 현재 애플리케이션으로부터 제 2 애플리케이션으로 선택된 프레젠테이션 컴포넌트를 전환시킬 수도 있다.
이러한 하나의 예로서, 애플리케이션은 디바이스 상에 제시되어 왔던 애플리케이션 프레젠테이션들을 표시하는, 각각의 프레젠테이션 컴포넌트에 대한 애플리케이션 스위치 리스트(예컨대, "Alt-Tab" 리스트 또는 애플리케이션 스택)를 생성할 수도 있다. 사용자가 선택된 디스플레이 컴포넌트를 현재 애플리케이션로부터 멀어지게 전환시키자는 요청(예컨대, "뒤로" 동작)을 특정할 때, 디바이스는 선택된 디스플레이 상에서 특히 디스플레이된 애플리케이션들을 식별할 수도 있고, 디스플레이 상에 애플리케이션 프레젠테이션 이력으로부터 제 2 또는 "다음" 애플리케이션을 제시할 수도 있다. 이런 방식으로, 본 명세서에서 제시된 기법들은 디바이스의 다양한 프레젠테이션 컴포넌트들 상에서 애플리케이션 프레젠테이션들 중에서 내비게이션함에 있어서 디바이스가 사용자를 편하게 할 수도 있다.
전술한 및 관련 목표들의 달성을 위해, 다음의 설명 및 첨부된 도면이 특정한 예시적인 양태들 및 구현예들을 언급한다. 이것들은 하나 이상의 양태들이 채용될 수도 있는 다양한 방도들 몇 개만을 나타낸다. 본 개시내용의 다른 양태들, 장점들 및 신규한 특징들이, 도면과 연계하여 고려될 때 본 개시내용의 다음의 상세한 설명으로부터 명백해질 것이다.
도 1은 디바이스의 다양한 프레젠테이션 컴포넌트들 상의 애플리케이션들의 프레젠테이션을 특징으로 삼는 예시적인 시나리오의 예시도이다.
도 2는 본 명세서에서 제시된 기법들에 따라, 디바이스의 다양한 프레젠테이션 컴포넌트들 상의 애플리케이션들의 프레젠테이션을 특징으로 삼는 예시적인 시나리오의 예시도이다.
도 3은 본 명세서에서 제시된 기법들에 따라, 적어도 두 개의 프레젠테이션 컴포넌트들을 갖는 디바이스 상에 애플리케이션들을 제시하는 예시적인 방법의 흐름도이다.
도 4는 본 명세서에서 제시된 기법들에 따라, 적어도 두 개의 프레젠테이션 컴포넌트들을 갖는 디바이스 상에 애플리케이션들을 제시하기 위해 제공되는 예시적인 시스템의 컴포넌트 블록도이다.
도 5는 본 명세서에서 언급되는 대책들 중 하나 이상을 채용하도록 구성되는 프로세서 실행가능 명령어들을 포함하는 예시적인 컴퓨터 판독가능 매체의 예시도이다.
도 6은 본 명세서에서 제시된 기법들에 따라, 태스크 흐름에 따른 현재 애플리케이션 프레젠테이션으로부터 제 2 애플리케이션 프레젠테이션으로의 프레젠테이션 컴포넌트의 전환을 특징으로 삼는 예시적인 시나리오의 예시도이다.
도 7은 본 명세서에서 제시된 기법들에 따라, 프레젠테이션 능력들 및 프레젠테이션 정책들에 따른 다양한 프레젠테이션 컴포넌트들 상의 프레젠테이션 기사의 포맷팅을 특징으로 삼는 예시적인 시나리오의 예시도이다.
도 8은 본 명세서에서 제시된 기법들에 따라, 디바이스의 프레젠테이션 컴포넌트들 상의 애플리케이션 프레젠테이션들의 관리를 특징으로 삼는 예시적인 시나리오의 예시도이다.
도 9는 본 명세서에서 제시된 기법들에 따라, 애플리케이션 프레젠테이션을 위한 프레젠테이션 컴포넌트를 선택하는 사용자에게의 권고를 특징으로 삼는 예시적인 시나리오의 예시도이다.
도 10은 본 명세서에서 언급되는 대책들 중 하나 이상이 구현될 수도 있는 예시적인 컴퓨팅 환경의 예시도이다.
청구된 본 발명의 주제가 이제 도면들을 참조하여 설명되며, 유사한 참조 부호들은 명세서 전반에 걸쳐 유사한 요소들을 지칭하기 위해 사용된다. 다음의 설명에서, 설명의 목적을 위해, 다수의 특정 세부사항들이 청구된 본 발명의 주제의 완전한 이해를 제공하기 위하여 언급된다. 그러나, 청구된 본 발명의 주제는 이러한 특정 세부사항들 없이도 실용화될 수도 있다는 것은 명백할 수도 있다. 다른 사례들에서, 구조들 및 디바이스들이 청구된 본 발명의 주제를 설명하는 것을 용이하게 하기 위하여 블록도 형태로 도시된다.
A. 소개
도 1은 애플리케이션들(108)의 세트를 제시하기 위하여 프레젠테이션 컴포넌트들(106)의 세트를 이용한 디바이스(104)와 사용자(102)의 상호작용을 특징으로 삼는 예시적인 시나리오(100)의 예시도를 제시한다. 이 예시적인 시나리오(100)에서, 디바이스(104)의 프레젠테이션 컴포넌트들(106)은 두 개의 별개의 디스플레이들, 즉 한 쌍의 스피커들; 및 한 쌍의 헤드폰들을 포함한다. 디바이스(104)의 컴퓨팅 환경에 의해 제시되는 애플리케이션들(108)은 다양한 기능, 이를테면 보고서를 작성하는데 사용되는 텍스트 편집기; 메시지들의 세트를 제시하는 이메일 클라이언트와 같은 메시징 클라이언트; 네트워크를 통해 웹 브라우저들과 상호작용하고 웹 페이지들을 렌더링하는 웹 브라우저; 미디어의 다양한 형태들, 이를테면 음악, 비디오들, 및 오디오북들을 렌더링하는 미디어 플레이어; 다양한 화제들, 이를테면 뉴스 속보, 날씨, 또는 이메일 도착에 대해 사용자(102)에게 경보들을 제시하는 경보 앱; 및 음성 인터페이스를 통해 사용자(102)와 상호작용하는 음성 아바타를 포함한다.
이 예시적인 시나리오(100)에서 추가로 예시된 바와 같이, 다양한 애플리케이션들(108)에의 액세스를 가능하게 하기 위하여, 디바이스(104)는 사용자(102)가 각각의 애플리케이션(108)에 대해 이용될 프레젠테이션 컴포넌트(106)를 특정하는 것을 허용할 수도 있다. 제 1 예로서, 사용자(102)는 텍스트 편집기 애플리케이션(108)이 제 1 디스플레이 상에 제시되기를 바랄 수도 있고, 그래서 텍스트 편집기 애플리케이션(108)을 인스턴스화하고 애플리케이션(108)을 포함하는 윈도우를 제 1 디스플레이의 특정 지역에 위치시킬 수도 있다. 제 2 예로서, 사용자(102)는 제 1 디스플레이 및 제 2 디스플레이 둘 다 상에서 메일을 보기 원할 수도 있고, 그래서 각각의 디스플레이 상에 상이한 메시지들을 렌더링할 것을 이메일 클라이언트 애플리케이션(108)에게 요청할 수도 있다. 제 3 예로서, 사용자(102)는 상이한 오디오 디바이스들에게 상이한 유형들의 오디오 출력을 미디어 플레이어를 통해 플레이하는 것(예컨대, 헤드폰들을 통해 오디오북을 재생하면서 스피커들을 통해 음악을 재생하는 것)을 요청할 수도 있고, 그러므로 각각의 오디오 스트림을 적절한 오디오 디바이스로 보내는 것을 미디어 플레이어(108)에게 요청할 수도 있다.
이 예시적인 시나리오(100)에서 추가로 예시된 바와 같이, 사용자(102)가 애플리케이션들(108)을 이용하므로, 디바이스(104)는 사용자(102)에 의해 애플리케이션들(108)의 최신 연대순 액세스에 따라 내림차순 방식으로 순서화되는 스택 순서(112)로, 애플리케이션 스택(110)을 생성 및 유지할 수도 있다. 예를 들어, 사용자(102)가 텍스트 편집기 애플리케이션(108)을 선택하면, 디바이스(104)는 텍스트 편집기 애플리케이션(108)을 애플리케이션 스택(110)의 상단(114)(예컨대, 텍스트 편집기 애플리케이션(108)은 입력 포커스를 현재 가지며, 그리고/또는 디바이스(104)의 모든 애플리케이션들(108) 중에서 사용자 활성화의 최신 날짜를 갖는 "최상단" 애플리케이션(108)임을 표시함)으로 이동시킬 수도 있다. 디바이스(104)는 애플리케이션 스택(110)에서의 애플리케이션들(108)을 다양한 방도들로 렌더링할 수도 있으며; 예컨대, 애플리케이션들(108)의 Z-순서를 사용하여, 디바이스(104)는 애플리케이션(108)을 포어그라운드 포지션으로 애플리케이션 스택(110)의 상단(114)에 제시할 수도 있고, 연속하는 애플리케이션들(108)을 더 낮은 Z-순서로 점점 더 백그라운드 포지션들에서 제시할 수도 있다. 더구나, 사용자(102)는 다수의 프레젠테이션 컴포넌트들(106)을 동시에 이용할 것을 애플리케이션(108)에게 요청할 수도 있고; 예컨대, 이메일 클라이언트 애플리케이션(108)은 두 개의 디바이스들의 각각 상에 메시지들을 동시에 제시할 수도 있고, 웹 브라우저(108)는 디스플레이 프레젠테이션 컴포넌트(106) 상에 웹 페이지를 제시하고 그 웹 페이지에 연관된 오디오를 스피커 프레젠테이션 컴포넌트(106)를 통해 재생할 수도 있다. 주목할 만하게도, 도 1의 예시적인 시나리오(100)에서 예시된 바와 같이, 디바이스(104)는 공유된 애플리케이션 스택(110)을 이용하는데, 그 애플리케이션 스택에서 임의의 애플리케이션(108)의 인스턴스화 및/또는 호출은, 애플리케이션(108)이 제시되는 곳에 무관하게, 애플리케이션 스택(110) 상의 엔트리의 삽입을 초래한다.
디바이스(104)는 사용자(102)가 애플리케이션들(108) 중에서 내비게이션하는 것을 가능하게 하기 위해 애플리케이션 스택(110)을 또한 사용할 수도 있다. 이러한 제 1 예로서, 사용자(102)가 애플리케이션 스택(110)의 상단(114)의 현재 애플리케이션(108)으로부터 멀어지게 하는 디바이스(104)의 전환을 요청하는 "뒤로(back)" 동작(116)을 개시하게 하면, 디바이스(104)는 애플리케이션 스택(110)에서 더 낮은 제 2 애플리케이션(108)을 식별할 수도 있고, 이전에 애플리케이션 스택(110)의 상단(114)에 있던 현재 애플리케이션(108) 위로 제 2 애플리케이션(108)을 배치하기 위해 애플리케이션 스택(110)의 순서(114)를 재순서화할 수도 있다. 이러한 제 2 예로서, 디바이스(104)는 특정 애플리케이션(108)을 선택하기 위하여 디바이스 상에서 현재 실행중인 모든 애플리케이션들(108)의 완전한 리스트(예컨대, 프로세스 리스트)를 사용자(102)에게 제시할 수도 있고; 사용자(102)가 애플리케이션(108)의 이러한 선택을 개시하는 것에 응답하여, 디바이스(104)는 애플리케이션 스택(110)의 상단(114)에 선택된 애플리케이션(108)을 배치할 수도 있다. 이러한 제 3 예로서, 디바이스(104)는 디바이스(104)가 이용 가능한 그리고 그 디바이스 상에서 실행할 수도 있는 모든 애플리케이션들(108)의 리스트 또는 메뉴(118)를 사용자(102)에게 제시할 수도 있다. 사용자(102)로부터 이러한 애플리케이션(108)의 선택을 수신하는 것에 응답하여, 디바이스(104)는 애플리케이션(108)을 그 애플리케이션이 이미 실행중이 아니면 인스턴스화할 수도 있으며 (또는 애플리케이션(108)이 이미 실행중이면 추가적인 인스턴스를 생성할 수도 있으며), 선택된 애플리케이션(108)을 애플리케이션 스택(110)의 상단(114)에 삽입할 수도 있고, 그 애플리케이션 인스턴스를 사용자(102)에게 제시할 수도 있다. 이런 방식으로, 디바이스(104)는 사용자(102)가 디바이스(104) 상에서 실행하고 있는 애플리케이션들(108) 중에서 내비게이션하는 것을 가능하게 하기 위해 사용자(102)가 다양한 기법들을 이용하는 것을 가능하게 할 수도 있다.
그러나, 도 1의 예시적인 시나리오(100)는 이러한 애플리케이션 선택 기법들의 구현예들에서 일어날 수도 있는 다수의 단점들을 또한 예시한다.
이러한 제 1 예로서, 디바이스(104)는 비교적 큰 세트의 프레젠테이션 컴포넌트들(106)을 포함할 수도 있다. 이러한 프레젠테이션 컴포넌트들(106)은 다른 방, 빌딩, 또는 도시에 위치된 프로젝터 또는 스피커들과 같이 디바이스(104)의 물리적 로케이션으로부터 심지어 원격으로 있을 수도 있다. 사용자(102)는, 각각의 애플리케이션(108)에 대해, 애플리케이션(108)이 제시될 수도 있게 하는 프레젠테이션 디바이스(106)를 선택해야 하는 것에 의해 좌절될 수도 있다. 디바이스(104)가 다수의 디스플레이들을 포함한다면, 사용자(102)가 애플리케이션(108)이 제시되게 하는 특정 프레젠테이션 컴포넌트(104)의 선택을 결정하고 관리하는 것이 좌절될 수도 있다. 예를 들어, 애플리케이션 스택(110) 및/또는 모든 애플리케이션들 메뉴(118)에서 애플리케이션들(108)의 완전한 리스트를 제시하는 것은 그 리스트가 잠재적으로 많은 수의 애플리케이션들(108)을 포함한다면 사용자(102)를 좌절시키고 그리고/또는 시각적으로 당황하게 할 수도 있다.
이러한 제 2 예로서, 디바이스(104)는 비교적 많은 수의 실행중인 및/또는 잠재적으로 실행 가능한 애플리케이션들(108)을 포함할 수도 있다. 그런 다수의 애플리케이션들(108)의 프레젠테이션을 관리하는 것은 어렵게 될 수도 있다. 예를 들어, 사용자(102)가 다수의 이메일 메시지들을 동일한 이메일 클라이언트 애플리케이션(108)을 통해 연다면, 메시지들 모두가 동일한 디스플레이 상에서 열리고 동시에, 다른 디스플레이들이 비사용으로 남아 있을 수 있다면 좌절될 수도 있다. 반대로, 사용자(102)는 수많은 디스플레이들에 걸친 이메일 메시지들의 분배에 의해 좌절될 수도 있고, 개방형 이메일 메시지들의 콜렉션을 찾고 관리하는 것이 어려울 수도 있다. 더구나, 심지어 사용자(102)가 관련된 이메일 메시지들 일괄(batch)을 찾을 수 있더라도, 사용자(102)는 메시지들을 함께 읽기 위하여 각각의 디스플레이들 상에 제시된 이메일 메시지들의 포지션들 및 사이즈들을 재배열해야 할 수도 있다.
이러한 제 3 예로서, 사용자(102)에 의한 특정 애플리케이션(108)의 선택은 비교적 많은 수의 프레젠테이션 컴포넌트들(106) 및/또는 애플리케이션들(108)에 의해 복잡해질 수도 있다. 이러한 제 1 예로서, 특정 애플리케이션(108)을 상호작용을 위해 선택하기 위하여, 사용자(102)는 애플리케이션 스택(110)을 통해 점증적으로 페이징하려고 시도할 수도 있다. 그러나, 애플리케이션(108)이 애플리케이션 스택(110)의 순서(112) 내에 깊이 묻혀 있다면, 사용자(102)는 애플리케이션(108)을 위치결정하는데 어려움이 있을 수도 있다. 더구나, 사용자(102)가 스택 순서(112)에 따라 애플리케이션 스택(102)의 애플리케이션들(108)을 토글링하는 동안, 다양한 프레젠테이션 컴포넌트들(106)이 입력 및 출력 포커스를 받고 그리고/또는 잃을 수도 있으며, 이는 외관 of 두서없는 컴퓨팅 환경의 인상을 사용자(102)에게 불러일으킬 수도 있다.
이러한 제 4 예로서, 사용자가 애플리케이션(108)을 인스턴스화하며 그리고/또는 활성화할 때, 디바이스(104)는 애플리케이션 스택(110)에서의 애플리케이션(108)을 활성화할 수도 있지만, 애플리케이션(108)을 위한 프레젠테이션 컴포넌트(106)를 사용자(102)에게 적절히 통지하지 않을 수도 있다. 예를 들어, "뒤로" 동작(116)은 새로운 최상단 프레젠테이션을 위해 선택된 애플리케이션(108) 및/또는 프레젠테이션 컴포넌트(106)를 사용자(102)에게 통지하는 일 없이 수행될 수도 있다. 사용자(102)는 그러므로 사용자 입력 및 출력의 현재 포커스를 결정하기 위하여 프레젠테이션 디바이스들(106)을 개별적으로, 그리고 아마도 길게, 탐색해야 할 수도 있다. 이러한 혼란은 사용자(102)가 새로운 애플리케이션(108)을 열 것을 요청할 때 또한 발생할 수도 있으며; 디바이스(104)는 프레젠테이션 컴포넌트(106)을 선택하고 선택된 프레젠테이션 컴포넌트(106) 상에서 애플리케이션(108)을 인스턴스화할 수도 있지만, 어떤 프레젠테이션 컴포넌트(106)가 선택되었는지에 관해 사용자(102)에게 통지하는데 실패할 수도 있다. 실제로, 사용자(102)는 애플리케이션(108)을 인스턴스화하자는 요청이 디바이스(104)에 의해 충족되었다는 것을 이해조차 못할 수도 있다. 일부 시나리오들에서, 이러한 선택은 임의적으로 수행될 수도 있거나, 또는 적어도 사용자(102)에게 임의적인 것으로 보임으로써, 디바이스(104) 상의 수많은 애플리케이션들(108)과 상호작용하는 동안 사용자(102)의 욕구불만을 악화시킬 수도 있다. 예를 들어, 사용자(102)는 애플리케이션 스택(110) 상의 최상단 애플리케이션(108) 및 제 2 애플리케이션(108) 둘 다가 제 1 디스플레이 상에 제시된다는 것을 이해할 수도 있지만, 제 2 디스플레이 상에 제시된 제 3 애플리케이션(108)이 애플리케이션 스택(110)에서 이러한 애플리케이션들 사이에 위치된다는 것을 이해하지 못할 수도 있다. "뒤로" 동작(116)을 요청함에 있어서, 사용자(102)는 디바이스(102)의 제 2 애플리케이션(108)으로의 전환을 예상할 수도 있고 응답을 위해 제 1 디스플레이를 주시할 수도 있고, 제 2 디스플레이 상의 제 3 애플리케이션(108)의 활성화를 알아차리는데 실패할 수도 있다. 더구나, 사용자(102)는 제 2 애플리케이션(108)와 상호작용할 작정인 디바이스(104)에게 사용자 입력을 제공할 (예컨대, 제 2 애플리케이션(108)에 대해 의도되는 텍스트를 키보드 상에 입력할) 수도 있지만, 그 사용자 입력은 제 2 애플리케이션(108) 대신 제 3 애플리케이션(108)로 우연히 보내질 수도 있다.
이러한 제 5 예로서, 애플리케이션들(108)의 이러한 프레젠테이션의 시각적으로 당황스러운 결과가 다양한 애플리케이션 뷰들을 제공하는 애플리케이션들(108)에 의해 악화될 수도 있으며; 예컨대, 이메일 클라이언트가 각각의 메시지를 위해 상이한 애플리케이션 윈도우(110)를 제시한다면, 애플리케이션 리스트는 사용자(102)가 12 개 이상의 이메일 메시지들을 동시에 보고 있다면 다루기 힘들어 질 수도 있다. 반대로, 애플리케이션 스택(110)은 애플리케이션 스택(110)에서 동일한 애플리케이션(108)의 애플리케이션 뷰들을 함께 그룹화할 수도 있고, 그리고/또는 선택된 애플리케이션(108)의 다수의 뷰들의 프레젠테이션을 애플리케이션 스택(110)에서 하나의 엔트리로서 통합할 수도 있지만, 애플리케이션 스택(110) 내의 이러한 그룹화 및/또는 통합은 특정 애플리케이션 뷰에 액세스하는 개인의 능력을 방해할 수도 있다. 예를 들어, 일부 시나리오들에서, 애플리케이션(108)은 특정 애플리케이션 뷰에 대한 엔트리를 삽입하는 것을 삼가함으로써 애플리케이션 스택(110)을 과도하게 이용하는 것을 자제할 수도 있지만(예컨대, 미디어 플레이어가 상이한 오디오 컴포넌트들을 통해 재생되는 음악에 대해 별개의 엔트리들을 삽입하는 것을 자제할 수도 있음), 이러한 자제는 애플리케이션 스택(110)을 통해 특정 애플리케이션 뷰를 활성화시키고 그 특정 애플리케이션 뷰와 상호작용하는 것을 도모하는 사용자(102)를 좌절시킬 수도 있다. 이들 및 다른 어려움들은 공유된 애플리케이션 스택(110)을 도 1의 예시적인 시나리오(100)에서 제시된 방식으로 사용하는 디바이스(104)의 컴퓨팅 환경의 애플리케이션들(108)의 프레젠테이션에서 발생할 수도 있다.
B. 제시된 기법들
본 명세서에서 제시된 것들은 적어도 두 개의 프레젠테이션 컴포넌트들(108)을 갖는 디바이스(104)의 사용자(102)에게 애플리케이션들(108)을 제시하도록 디바이스(104)를 구성하는 기법들이다. 이러한 기법들에 따라, 디바이스(104)는, 각각의 프레젠테이션 컴포넌트(106)에 대해, 프레젠테이션 컴포넌트(106) 상에 제시되어 왔던 애플리케이션들(108)의 애플리케이션 프레젠테이션들을 표시하는 별개의 애플리케이션 프레젠테이션 이력을 생성 및 유지할 수도 있다. 사용자(102)가 선택된 프레젠테이션 컴포넌트 상의 현재 애플리케이션 프레젠테이션으로부터 멀어지는 전환을 요청할 때(예컨대, 특정 디스플레이 상의 "뒤로" 동작을 요청함), 디바이스(104)는 동일한 프레젠테이션 컴포넌트(106) 상에서 현재 애플리케이션 프레젠테이션으로부터 다른 애플리케이션 프레젠테이션들로의 전환을 제한할 수도 있다. 이런 방식으로, 각각의 프레젠테이션 컴포넌트(106)에 특정한 애플리케이션 프레젠테이션들 중에서 토글하려는 사용자(102)의 의도는 직관적이고 효율적인 방식으로 충족될 수도 있다.
도 2는 본 명세서에서 제시된 기법들에 따라 디바이스(104)의 다양한 프레젠테이션 컴포넌트들(106) 상에서 제시되는 애플리케이션들(108)과의 사용자(102)의 상호작용을 특징으로 삼는 예시적인 시나리오(200)의 예시도를 제시한다. 이 예시적인 시나리오(200)에서, 디바이스(104)는 디바이스(104)의 다양한 프레젠테이션 컴포넌트들(106), 이를테면 한 쌍의 디스플레이들, 한 쌍의 스피커들, 및 헤드폰 디바이스 상의 하나 이상의 애플리케이션 프레젠테이션들(204)(예컨대, 윈도우들, 전체 또는 부분 지역 디스플레이들, 이미지들, 사용자 컨트롤들, 애플리케이션 아이콘들, 메뉴 바 아이콘들, 미디어 스트림들, 및 게이밍 세션들)을 각각 제시하는 다양한 애플리케이션들(108)을 실행한다. 각각의 애플리케이션들(108)은 동일한 또는 상이한 프레젠테이션 컴포넌트들(106) 상에 제시될 수도 있는 여러 이메일 메시지들의 각각에 대한 별개의 애플리케이션 뷰들을 제시하는 이메일 클라이언트와 같은 하나 이상의 애플리케이션 뷰들을 또한 제시할 수도 있다.
본 명세서에서 제시된 기법들에 따라, 디바이스(104)는, 각각의 프레젠테이션 컴포넌트(106)에 대해, 프레젠테이션 컴포넌트(106) 상에 제시되어 왔던 애플리케이션들(108)의 애플리케이션 프레젠테이션들(208)을 표시하는 별개의 애플리케이션 프레젠테이션 이력(202)을 생성한다. 선택된 프레젠테이션 컴포넌트(106) 상에 애플리케이션 프레젠테이션(204)을 제시하는 것에 응답하여, 디바이스(104)는 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션 이력(202)에 애플리케이션 프레젠테이션(204)을 기록한다. 각각의 프레젠테이션 컴포넌트(106)에 특정되는 애플리케이션 프레젠테이션들(204)의 이러한 기록은 디바이스(104)의 컴퓨팅 환경의 애플리케이션 프레젠테이션들(204) 중에서 사용자에 의한 내비게이션을 용이하게 할 수도 있다. 예를 들어 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)(예컨대, 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션 이력(202)에서 최상단 포지션을 갖는 애플리케이션 프레젠테이션(204))으로부터 멀어지게 전환시키려는 사용자(102)로부터의 요청을 수신하는 것에 응답하여, 디바이스(104)는 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터 제 2 애플리케이션 프레젠테이션(208)을 선택하고, 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 제 2 애플리케이션 프레젠테이션(208)으로 전환시킨다. 이런 방식으로, 디바이스(104)는 본 명세서에서 제시된 기법들에 따라, 사용자(102)가 선택된 디스플레이 상에 제공된 애플리케이션 프레젠테이션들(108) 중에서만 내비게이션, 토글링, 및/또는 전환하기 위하여 선택된 디스플레이에 대한 "뒤로" 동작(116)을 개시하는 것을 허용할 수도 있다.
C. 기술적 효과들
디바이스(104) 상의 각각의 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204) 중에서 전환하기 위한 본 명세서에서 제시된 기법들의 사용은 다양한 기술적 효과들을 초래할 수도 있다.
본 명세서에서 제시된 기법들에 의해 성취 가능할 수도 있는 기술적 효과의 제 1 예로서, 본 명세서에서 제시된 기법들을 이용하는 디바이스(104)가 사용자(102)가 애플리케이션 프레젠테이션들(208) 중에서 직관적인 방식으로 전환하는 것을 허용할 수도 있다. 프레젠테이션 컴포넌트들(106) 중 임의의 프레젠테이션 컴포넌트 상에 제공된 애플리케이션 프레젠테이션들(204)의 전체 세트를 통해 내비게이션하는 것이 아니라, 이러한 디바이스(104)는 내비게이션 세트 중에서의 애플리케이션 프레젠테이션들(208)의 세트를 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202) 내에 있는 것들로 제한할 수도 있다. 컴퓨팅 환경의 애플리케이션 전환 및 내비게이션 기능은 그러므로 더욱 효율적이고 이해 가능한 사용자 인터페이스 및 사용자 경험을 사용자(102)에게 제공할 수도 있다.
본 명세서에서 제시된 기법들에 의해 성취 가능할 수도 있는 기술적 효과의 제 2 예로서, 본 명세서에서 제시된 기법들을 이용하는 디바이스(104)는 더 많은 수의 애플리케이션들(108) 및 프레젠테이션 컴포넌트들(106)과의 사용자(102)의 상호작용을 가능하게 하는 더 큰 확장성을 제시할 수도 있다. 예를 들어, 다수의 디스플레이들(예컨대, 20 개를 초과하는 디스플레이들)을 제시하는 디바이스(104)가, 모든 이러한 디스플레이들에 전체에 걸쳐 제시되는 애플리케이션들(108)과 상호작용하는 것을 도모하는 사용자(102)에게, 특히 이러한 애플리케이션들(108)이 동일한 컴퓨팅 환경의 일부인 경우, 비교적 좌절감을 주는 사용자 경험을 제시할 수도 있다. 본 명세서에서 제시된 기법들은 사용자(102)에 의한 이러한 액세스를 용이하게 함으로써, 프레젠테이션 컴포넌트들(106)을 디바이스(104)에 추가하는 것에 대한 사용자 인터페이스 및 관리 장벽들을 감소시키고 사용자(102)가 많은 이러한 프레젠테이션 컴포넌트들(106) 전체에 걸쳐 제시되는 다수의 애플리케이션들(108)과는, 더 큰 능숙도 및 속력으로 그것들 사이에서 신속히 스위칭하면서도, 동시에 상호작용하는 것을 가능하게 할 수도 있다.
본 명세서에서 제시된 기법들에 의해 성취 가능할 수도 있는 기술적 효과의 제 3 예로서, 사용자(102)가 특정 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션들(204) 중에서 전환하는 것을 허용하는 사용자 인터페이스가, 사용자 혼란(예컨대, 사용자(102)에게는 어떤 애플리케이션(108)이 포커스를 현재 갖고 있는지, 또는 심지어 특정 애플리케이션 프레젠테이션(204)을 인스턴스화 및/또는 활성화하려는 요청이 수신 및 충족되어 왔는지가 불확실함)의 발생빈도(incidence)를 감소시킬 수도 있다. 이러한 기법들은, 이를테면 사용자(102)가 특정 애플리케이션 프레젠테이션(204)을 활성화시키고 그 애플리케이션 프레젠테이션과 상호작용할 의도이지만, 부주의로, 상이한 프레젠테이션 컴포넌트(106) 상의 상이한 애플리케이션 프레젠테이션(204)을 활성화시키고 그 애플리케이션 프레젠테이션에 사용자 입력을 제공하는 경우, 사용자 입력에서의 에러들을 또한 감소시킬 수도 있다. 사용자 입력 에러들, 불일치, 및 사용자 오해의 많은 이러한 사례들은 본 명세서에서 제시된 기법들에 따라 애플리케이션 프레젠테이션 전환을 가능하게 함으로써 회피될 수도 있다.
본 명세서에서 제시된 기법들에 의해 성취 가능할 수도 있는 기술적 효과의 제 4 예로서, 각각의 프레젠테이션 컴포넌트들(106)에 대한 별개의 애플리케이션 프레젠테이션 이력들(202)에서의 각각의 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204)의 기록은 다른 기법들을 통해 쉽사리 성취 가능한 것이 아닌 다양한 특징들을 가능하게 할 수도 있다. 이러한 제 1 예로서, 특정 애플리케이션(108)의 애플리케이션 프레젠테이션 이력(204)을 기록하는 것은, 동일한 애플리케이션(204)에 대해; 동일한 애플리케이션(204)의 상이한 애플리케이션 프레젠테이션들(204)에 대해; 그리고/또는 상이하지만 유사한 애플리케이션들(204)에 대해 동일한 프레젠테이션 컴포넌트(106)의 후속 선택 및 이용을 가능하게 할 수도 있다. 예를 들어, 사용자(102)가 음성메일 메시지를 청취하는 것을 요청할 때, 각각의 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력들(202)은, (예컨대, 각각의 프레젠테이션 컴포넌트들(106) 상에 현재 및/또는 이전에 제공된 다른 애플리케이션 프레젠테이션들(204)에 기초하여) 어떤 프레젠테이션 컴포넌트(106)를 사용자(102)가 이러한 메시지들의 프레젠테이션을 위해 빈번하게 선택하는지를 결정하기 위해, 그리고/또는 어떤 프레젠테이션 컴포넌트(106)가 특정 애플리케이션 프레젠테이션(204)에 대해 적합한지를 결정하기 위해 검사될 수도 있다. 더구나, 각각의 프레젠테이션 컴포넌트들(106)에 대한 애플리케이션 프레젠테이션 이력들(202)을 기록하는 디바이스(104)의 구성은, 프레젠테이션 컴포넌트들(106) 중에서의 선택을 애플리케이션들(108)에게 위임하기보다는, 디바이스(104) 상에서 실행하는 모든 애플리케이션들(108) 중에 일관된 애플리케이션 행동을 부여할 수도 있다. 이들 및 다른 기술적 효과들은 본 명세서에서 제시된 기법들에 따라 디바이스(104) 상의 각각의 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204) 중에서 전환하는 디바이스(104)의 구성을 통해 성취 가능할 수도 있다.
D. 예시적인 실시형태들
도 3은 적어도 두 개의 프레젠테이션 디바이스들(106) 상에 애플리케이션들(108)을 제시하도록 디바이스(104)을 구성하는 예시적인 방법(300)으로서 도시되는 본 명세서에서 제시된 기법들의 예시적인 제 1 실시형태를 나타낸다. 예시적인 방법(300)은, 예컨대, 디바이스(104)의 메모리 컴포넌트, 이를테면 메모리 회로, 하드 디스크 드라이브의 플래터, 고체 상태 저장 디바이스, 또는 자기적 또는 광학적 디스크에 저장된 그리고, 디바이스의 프로세서 상에서 실행될 때, 디바이스(104)로 하여금 본 명세서에서 제시된 기법들에 따라 동작하게 하도록 편성된 명령어들의 세트로서 구현될 수도 있다.
예시적인 방법(300)은 302에서 시작하고 디바이스의 프로세서 상에서 명령어들을 실행하는 것(304)을 수반한다. 구체적으로는, 프로세서 상에서 명령어들을 실행하는 것(304)은 디바이스(104)로 하여금, 각각의 프레젠테이션 컴포넌트들(106)에 대해, 프레젠테이션 컴포넌트(106)를 통해 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204)을 식별하는 애플리케이션 프레젠테이션 이력(202)을 실행하게 한다(306). 프로세서 상에서 명령어들을 실행하는 것(304)은 또한, 디바이스(104)로 하여금, 선택된 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 선택된 프레젠테이션 컴포넌트(106)를 통해 제시하는 것에 응답하여, 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)에 애플리케이션 프레젠테이션(204)을 기록하게 한다(308). 프로세서 상에서 명령어들을 실행하는 것(304)은 또한, 디바이스(104)로 하여금, 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 멀어지게 전환시키려는 요청을 수신하는 것에 응답하여(310), 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터, 제 2 애플리케이션 프레젠테이션(208)을 선택하게 하며(312); 그리고 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 제 2 애플리케이션 프레젠테이션(208)으로 전환하게 한다(314). 이런 방식으로, 명령어들은 디바이스(104)로 하여금 각각의 프레젠테이션 컴포넌트들(106) 상의 애플리케이션들(102)을 본 명세서에서 제시된 기법들에 따라 제시하게 하고, 그래서 316에서 종료한다.
도 4는 예시적인 시스템(408)이 디바이스(402)로 하여금 본 명세서에서 제시된 기법들에 따라 애플리케이션들(108)을 제시하게 하는, 프로세서(404), 메모리(406), 및 적어도 두 개의 프레젠테이션 컴포넌트들(106)을 특징으로 삼는 예시적인 디바이스(402) 상에 구현되는 예시적인 시스템(408)로서 도시되는, 본 명세서에서 제시된 기법들의 예시적인 제 2 실시형태를 제시한다. 예시적인 시스템(408)은, 예컨대, 각각의 컴포넌트들의 명령어들이, 프로세서(404) 상에서 실행될 때, 디바이스(402)로 하여금 본 명세서에서 제시된 기법들에 따라 동작하게 하는, 디바이스(402)의 메모리(406)에 저장된 명령어들의 세트를 각각 포함하는 컴포넌트들의 세트로서 구현될 수도 있다.
예시적인 시스템(408)은, 각각의 프레젠테이션 컴포넌트들(106)에 대해, 프레젠테이션 컴포넌트(106)를 통해 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204)을 식별하는 애플리케이션 프레젠테이션 이력(202)을 포함한다. 예시적인 시스템(408)은, 선택된 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 선택된 프레젠테이션 컴포넌트(106)를 통해 제시하는 것에 응답하여, 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)에 애플리케이션 프레젠테이션(204)을 기록하는 애플리케이션 이력 레코더(410)를 또한 포함한다. 예시적인 시스템(408)은, 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 멀어지게 전환시키려는 요청을 수신하는 것에 응답하여, 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터 제 2 애플리케이션 프레젠테이션(208)을 선택하고, 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 제 2 애플리케이션 프레젠테이션(208)으로 전환시키는 애플리케이션 스위처(412)를 또한 포함한다. 이런 방식으로, 예시적인 시스템(408)은 디바이스(402)가 본 명세서에서 제시된 기법들에 따라 적어도 두 개의 프레젠테이션 컴포넌트들(106) 상에서 애플리케이션들(108)을 제시하는 것을 가능하게 한다.
또 다른 실시형태는 본 명세서에서 제시된 기법들을 적용하도록 구성되는 프로세서 실행가능 명령어들을 포함하는 컴퓨터 판독가능 매체를 수반한다. 이러한 컴퓨터 판독가능 매체들은, 다양한 물리적 현상들(예컨대, 전자기 신호, 사운드 파 신호, 또는 광학적 신호)을 통해 그리고 다양한 유선 시나리오들(예컨대, 이더넷 또는 광섬유 케이블을 통해) 및/또는 무선 시나리오들(예컨대, WiFi와 같은 무선 국부 영역 네트워크(wireless local area network, WLAN), 블루투스와 같은 개인 영역 네트워크(personal area network, PAN), 또는 셀룰러 또는 라디오 네트워크)에서 전파될 수도 있는 그리고, 디바이스의 프로세서에 의해 실행될 때, 디바이스로 하여금 본 명세서에서 제시된 기법들을 구현하게 하는 컴퓨터 판독가능 명령어들의 세트를 인코딩하는 신호와 같은 다양한 유형들의 통신 매체들을 포함할 수도 있다. 이러한 컴퓨터 판독가능 매체들은 , 디바이스의 프로세서에 의해 실행될 때, 디바이스로 하여금 본 명세서에서 제시된 기법들을 구현하게 하는 컴퓨터 판독가능 명령어들의 세트를 인코딩하는, 컴퓨터 판독가능 메모리 디바이스들, 이를테면 메모리 반도체(예컨대, 정적 랜덤 액세스 메모리(synchronous dynamic random access memory, SRAM), 동적 랜덤 액세스 메모리(dynamic random access memory, DRAM), 및/또는 동기적 동적 랜덤 액세스 메모리(synchronous dynamic random access memory, SDRAM) 기술들을 이용하는 반도체), 하드 디스크 드라이브의 플래터, 플래시 메모리 디바이스, 또는 자기적 또는 광학적 디스크(이를테면 CD-R, DVD-R, 또는 플로피 디스크)를 (통신 매체들을 실행하는 기술들의 클래스로서) 또한 포함할 수도 있다.
이들 방도들로 고안될 수도 있는 예시적인 컴퓨터 판독가능 매체가 도 5에 예시되는데, 그 도면에서 구현예(500)는 컴퓨터 판독가능 메모리 디바이스(502)(예컨대, CD-R, DVD-R, 또는 하드 디스크 드라이브의 플래터)를 포함하며, 컴퓨터 판독가능 데이터(504)가 그 컴퓨터 판독가능 메모리 디바이스 상에 인코딩된다. 이 컴퓨터 판독가능 데이터(504)는 결국, 적어도 두 개의 프레젠테이션 컴포넌트들(106)을 갖는 디바이스(510)의 프로세서(404) 상에서 실행될 때, 디바이스(510)로 하여금 본 명세서에서 언급된 원리들에 따라 동작하게 하는 컴퓨터 명령어들(506)의 세트를 포함한다. 이러한 제 1 실시형태에서, 프로세서 실행가능 명령어들(506)은 디바이스(510)로 하여금 적어도 두 개의 프레젠테이션 컴포넌트들(106)을 갖는 디바이스(104) 상에 애플리케이션들(108)을 제시하는 방법, 이를테면 도 3의 예시적인 방법(300)을 수행하게 할 수도 있다. 이러한 제 2 실시형태에서, 프로세서 실행가능 명령어들(506)은 디바이스(510)로 하여금 애플리케이션들(108), 이를테면 도 4의 예시적인 시스템(408)을 제시하게 할 수도 있다. 본 명세서에서 제시된 기법들에 따라 동작하도록 구성되는 많은 이러한 컴퓨터 판독가능 매체들은 본 기술분야의 통상의 기술자들에 의해 고안될 수도 있다.
E. 변형예들
본 명세서에서 논의되는 기법들은 많은 양태들에서의 변형예들로 고안될 수도 있고, 일부 변형예들은 이들 및 다른 기법들의 다른 변형예들에 대하여 추가적인 장점들을 제시하고 그리고/또는 단점들을 감소시킬 수도 있다. 더구나, 일부 변형예들은 조합하여 구현될 수도 있고, 일부 조합들은 상승적인 협력을 통한 추가적인 장점들 및/또는 감소된 단점들을 특징으로 할 수도 있다. 변형예들은 이러한 실시형태들에 기초하여 개개의 및/또는 상승적 장점들을 부여하기 위해 다양한 실시형태들(예컨대, 도 3의 예시적인 방법(300); 도 4의 예시적인 시스템(408); 및 도 5의 예시적인 메모리 디바이스(502))에 통합될 수도 있다.
E1. 시나리오들
이들 기법들의 실시형태들 중에서 가변할 수도 있는 제 1 양태가 이러한 기법들이 이용될 수도 있는 시나리오들에 관련된다.
이 제 1 양태의 제 1 변형예로서, 본 명세서에서 제시된 기법들은, 워크스테이션들, 랩톱들, 태블릿들, 모바일 폰들, 게임 콘솔들, 휴대용 게이밍 디바이스들, 휴대용 또는 비-휴대용 미디어 플레이어들, 텔레비전들과 같은 미디어 디스플레이 디바이스들, 가전기기들(appliances), 홈 오토메이션 디바이스들, 이어 피스 또는 워치와 같은 통합하는 착용가능 디바이스와 통합된 컴퓨팅 컴포넌트들, 및 감시 제어 및 데이터 취득(supervisory control and data acquisition, SCAD A) 디바이스들과 같은 다양한 디바이스들(104)의 구성을 성취하기 위해 이용될 수도 있다.
이 제 1 양태의 제 2 변형예로서, 본 명세서에서 제시된 기법들은, 애플리케이션 프레젠테이션(204)을 갖는 다양한 애플리케이션들(108), 이를테면 사무실 생산성 애플리케이션; 오디오 및 비디오 플레이어들과 같은 미디어 제시 애플리케이션들; 웹 브라우저들, 이메일 클라이언트들, 채팅 클라이언트들, VoIP(voice over IP) 고객들과 같은 통신 애플리케이션들; 지오로케이션, 매핑, 및 라우팅 애플리케이션들과 같은 내비게이션 애플리케이션들; 사용자(102)에게 경보들을 제시하는 날씨 및 뉴스 모니터링 애플리케이션들과 같은 유틸리티들; 및 게임들과 함께 이용될 수도 있다. 더구나, 애플리케이션들(108)의 애플리케이션 프레젠테이션(204)은 하나 이상의 프레젠테이션 모달리티들, 이를테면 텍스트, 이미지들, 라이브 및/또는 미리 기록된 비디오, 사운드 효과, 음악, 스피치, 촉각 피드백, 3차원 렌더링, 및 대화형 및/또는 비-대화형 사용자 인터페이스들, 뿐만 아니라 사용자(102)로부터의 사용자 입력, 이를테면 텍스트 입력, 포인팅 입력, 촉각 입력, 제스처 입력, 구두 입력, 및 시선 추적 입력을 수신하기 위한 다양한 기법들을 수반할 수도 있다.
이 제 1 양태의 제 3 변형예로서, 본 명세서에서 제시된 기법들은 디바이스들(104) 및 프레젠테이션 컴포넌트들(106)의 다양한 아키텍처들과 함께 이용될 수도 있다. 이러한 제 1 예로서, 디바이스(104)는 디바이스(104)에 직접적으로 그리고 물리적으로 접속되는 하나 이상의 프레젠테이션 컴포넌트들(106), 이를테면 유선 디스플레이, 스피커들, 및 헤드폰들을 이용할 수도 있다. 이러한 제 2 예로서, 디바이스(104)는 무선 접속, 이를테면 라디오주파수를 통해 액세스 가능한 하나 이상의 프레젠테이션 컴포넌트들(106)을 이용할 수도 있다. 이러한 제 3 예로서, 디바이스(104)는 네트워크를 통해 액세스 가능한 하나 이상의 프레젠테이션 컴포넌트들(1060, 이를테면 디바이스(104)가 인터넷을 통한 비디오를 스트리밍하는 디스플레이를 이용할 수도 있다. 이러한 제 4 예로서, 디바이스(104)는, 이를테면 고객/서버 또는 피어 투 피어 아키텍처에서, 제 2 디바이스(104)를 통해 액세스 가능한 하나 이상의 프레젠테이션 컴포넌트들(106)을 이용할 수도 있다. 더구나, 이러한 디바이스들(104) 및/또는 프레젠테이션 컴포넌트들(106)은 하나의 사용자(102) 또는 사용자들(102)의 그룹에 의해 이용될 수도 있고, 그리고/또는 적어도 하나의 제 2 사용자(102)를 대신하여 적어도 하나의 제 1 사용자(102)에 의해 제어될 수도 있다. 이들 및 다른 시나리오들은 본 명세서에서 제시된 기법들에 따라 디바이스(104)의 프레젠테이션 컴포넌트들(106) 상의 애플리케이션들(108)의 프레젠테이션에 적합할 수도 있다.
E2. 애플리케이션 프레젠테이션 및 애플리케이션 프레젠테이션 이력
본 명세서에서 제시된 기법들의 실시형태들 중에서 가변할 수도 있는 제 2 양태가 하나 이상의 프레젠테이션 컴포넌트들(106) 상의 애플리케이션들(108)의 애플리케이션 프레젠테이션(204)의 성질과, 각각의 프레젠테이션 컴포넌트들(106) 상의 애플리케이션 프레젠테이션들(204)의 애플리케이션 프레젠테이션 이력(202)의 기록에 관련된다.
이 제 2 양태의 제 1 변형예로서, 각각의 프레젠테이션 컴포넌트들의 애플리케이션 프레젠테이션 이력(202)은 애플리케이션 프레젠테이션들(204)이 프레젠테이션 컴포넌트(206)를 통해 제시되어 왔던 애플리케이션 순서 이력을 추가로 나타낸다. 이러한 하나의 예로서, 애플리케이션 프레젠테이션 이력(202)은 애플리케이션 프레젠테이션들(204)이 프레젠테이션 컴포넌트(206)를 통해 제시되어 왔던 그리고/또는 애플리케이션 프레젠테이션들(204)을 선택하고 그 애플리케이션 프레젠테이션들과 상호작용하여 왔던 스택 순서(112)를 나타낼 수도 있다. 현재 애플리케이션 프레젠테이션(206)으로부터 멀어지게 전환시키는 맥락에서 제 2 애플리케이션 프레젠테이션(208)을 선택하는 것은 그러므로, 선택된 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션 이력(202)의 애플리케이션 순서 이력에서 현재 애플리케이션 프레젠테이션(206)에 선행하는 제 2 애플리케이션 프레젠테이션(208)을 선택하는 것을 포함할 수도 있다. 대안적으로 또는 덧붙여, 애플리케이션 프레젠테이션 이력(202)은, 애플리케이션 프레젠테이션들(204)의 호출 순서(예컨대, 덜 최근에 인스턴스화된 애플리케이션들(202)) 전에 최근에 인스턴스화된 애플리케이션들(202)을 제시하는 것; 각각의 애플리케이션 프레젠테이션들(206)에 대한 사용자(102)의 선호(예컨대, 사용자(102)는 미디어 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204), 이를테면 비디오가, 다른 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204)보다 위의 Z-순서에서 제시되는 것 그리고/또는 전에 선택되는 것을 요청할 수도 있다); 우선순위 및/또는 긴급도(예컨대, 긴급 정보 메시지들이 일상적이거나 덜 중요한 애플리케이션 프레젠테이션들(204)보다 더 높은 포지션과 함께 애플리케이션 프레젠테이션 이력(202) 속에 삽입될 수도 있다); 및/또는 리소스 이용상황(utilization)(예컨대, 중요한 컴퓨테이션 리소스들, 이를테면 네트워크 대역폭 및/또는 프로세서 용량을 수반하는 애플리케이션 프레젠테이션들(204)이 덜 중요한 컴퓨테이션 리소스들을 수반하는 다른 애플리케이션 프레젠테이션들(204)보다 위에 제시될 수도 있다)과 같은 다른 방도들로 저장될 수도 있다. 대안적으로 또는 덧붙여, 애플리케이션 프레젠테이션 이력(202)은 특정 애플리케이션(108)에 연관되는, 애플리케이션 프레젠테이션 이력(202)의 애플리케이션 프레젠테이션들(204)을 통합, 그룹화, 및/또는 그렇지 않으면 연관시킬 수도 있다. 이러한 하나의 예로서, 선택된 애플리케이션(108)은 적어도 두 개의 애플리케이션 뷰들을 더 포함할 수도 있다. 애플리케이션 프레젠테이션들(204)의 기록은 그러므로, 선택된 애플리케이션(108)의 선택된 애플리케이션 뷰를 선택된 프레젠테이션 컴포넌트(106)를 통해 제시하는 것에 응답하여, 선택된 애플리케이션의 선택된 애플리케이션 뷰의 애플리케이션 프레젠테이션을 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202) 속에 기록하는 것을 포함할 수도 있다. 예를 들어, 이메일 클라이언트가 다수의 이메일 메시지들을 동시에 그리고 별개로 제시하고 있고, 선택된 프레젠테이션 컴포넌트(106) 상에 하나의 이러한 메시지를 제시 시, 디바이스(104)는 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)에서의 각각의 이메일 메시지들의 애플리케이션 프레젠테이션들(204)을 그룹화할 수도 있다.
이 제 2 양태의 제 2 변형예로서, 디바이스(104)는 선택된 프레젠테이션 컴포넌트(106) 상의 프레젠테이션을 위한 특정 애플리케이션 프레젠테이션(204)을 선택함에 있어서 사용자(102)를 지원하기 위해 각각의 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력(202)을 사용할 수도 있다. 예를 들어, 디바이스(104)는 선택된 프레젠테이션 컴포넌트(106) 상의 애플리케이션 프레젠테이션 이력(202)에서의 적어도 하나의 애플리케이션 프레젠테이션(108)을 갖는 애플리케이션들(108)의 리스트를 사용자(102)에게 제시할 수도 있고, 제 2 애플리케이션(108)의 선택을 사용자(102)로부터 수신하는 것에 응답하여, 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 애플리케이션 프레젠테이션들(204) 중에서 선택된 제 2 애플리케이션 프레젠테이션(208)으로 전환할 수도 있다.
도 6은 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)에서의 애플리케이션 프레젠테이션들 중에서 제 2 애플리케이션 프레젠테이션(208)을 선택하는 그런 하나의 기법을 특징으로 삼는 예시적인 시나리오(600)의 예시도를 제시한다. 이 예시적인 시나리오(600)에서, 애플리케이션 프레젠테이션 이력(202)은, 프레젠테이션 컴포넌트(106)가 현재 애플리케이션 프레젠테이션(206)을 포함하는 여러 애플리케이션 프레젠테이션들(204)을 현재 제시하고 있다는 것을 표시한다. 더구나, 현재 애플리케이션 프레젠테이션(204)은 다양한 애플리케이션들(108)을 통해 태스크 순서로 수행될 태스크의 다수의 단계들을 수반하는 태스크 흐름(602)에 연관된다. 예를 들어, 사용자(102)는 데이터 분석 애플리케이션(108)으로 수행되는 데이터 분석 단계; 보고서 편집기 애플리케이션(108)으로 수행되는 보고서 편집 단계; 게시자 애플리케이션(108)으로 수행되는 게시 단계; 및 이메일 클라이언트(108)로 수행되는 보고 단계를 수반하는 태스크 흐름(602)을 추종함으로써 고객들에 대한 보고서들을 빈번하게 생성할 수도 있다. 더구나, 애플리케이션 프레젠테이션 이력(202)에서의 각각의 애플리케이션 프레젠테이션들(204)은 태스크 흐름(602)의 단계들과 상관될 수도 있고, 디바이스(104)는 태스크 순서에 따라 태스크들을 완료함에 있어서 사용자(102)를 편하게 할 수도 있다. 따라서, 태스크 흐름(602)의 제 1 애플리케이션(108)에 연관되는 현재 애플리케이션 프레젠테이션(206)으로부터 전환하자는 요청을 사용자(102)로부터 수신 시(예컨대, 사용자(102)가 태스크 흐름(602)의 제 1 단계를 완료하였다는 것을 검출 시), 디바이스(104)는 태스크 흐름(602)의 태스크 순서에서 현재 애플리케이션 프레젠테이션(206)을 뒤따르는 제 2 애플리케이션 프레젠테이션(208)을 선택할 수도 있다.
이 제 2 양태의 제 3 변형예로서, 선택된 프레젠테이션 컴포넌트(106) 상의 애플리케이션 프레젠테이션(204)은 다양한 방도들로 성취될 수도 있다. 이러한 제 1 예로서, 선택된 프레젠테이션 컴포넌트(106)가 디스플레이를 더 포함하는 경우, 애플리케이션 순서 이력이 디스플레이 상에 제시되는 애플리케이션 프레젠테이션들(204)의 Z-순서와 연관될 수도 있으며; 그리고 선택된 프레젠테이션 컴포넌트(106)를 현재 애플리케이션 프레젠테이션(206)으로부터 제 2 애플리케이션 프레젠테이션(208)으로 전환하는 것은 디스플레이의 Z-순서에서 현재 애플리케이션 프레젠테이션(206) 위로 제 2 애플리케이션 프레젠테이션(208)을 재순서화함으로써 성취될 수도 있다. 이러한 제 2 예로서, 디바이스(104)는 현재 애플리케이션 프레젠테이션(206)을 전체 디스플레이 프레젠테이션으로서 제시할 수도 있고, (옵션으로 시각적 전환, 이를테면 페이드, 와이프(wipe), 슬라이드, 또는 디졸브(dissolve) 전환을 사용하여) 제 2 애플리케이션 프레젠테이션(208)으로 전체 디스플레이 현재 애플리케이션 프레젠테이션(206)을 대체함으로써 제 2 애플리케이션 프레젠테이션(208)으로 전환시킬 수도 있다. 이러한 제 3 예로서, 디바이스(104)는 프레젠테이션 컴포넌트(106)에 레이아웃을 적용할 수도 있고; 예컨대, 애플리케이션 프레젠테이션들(204)은 애플리케이션 프레젠테이션 이력(202)에 따라 디스플레이 상에 시각적으로 배열되어, 이를테면, 디스플레이의 상단 수직 포지션에서 현재 애플리케이션 프레젠테이션(206)을 제시하는 것과, 현재 애플리케이션 프레젠테이션(206)을 수직으로 아래쪽으로 이동시키고 현재 애플리케이션 프레젠테이션(206)의 수직으로 위에 제 2 애플리케이션 프레젠테이션(208)을 삽입함으로써 제 2 애플리케이션 프레젠테이션(208)으로 전환하는 것이 될 수도 있다. 이러한 제 4 예로서, 디바이스(104)는, 애플리케이션 프레젠테이션 이력(202)에서의 현재 애플리케이션 프레젠테이션(206)만이 현재 시간에 스피커들을 이용할 수도 있거나, 또는 동시에 제시된 오디오 애플리케이션 프레젠테이션들(204) 중에서 최고 볼륨을 가질 수도 있도록 오디오 애플리케이션 프레젠테이션들(204)을 우선순위화하는 오디오 디바이스(예컨대, 스피커들)와 같은 프레젠테이션 큐를 포함할 수도 있다. 따라서, 오디오 프레젠테이션 컴포넌트(106)는 제 2 애플리케이션 프레젠테이션(208)의 오디오가 우세하게 현재 애플리케이션 프레젠테이션(206)을 중지 또는 낮춤(diminishing)(예컨대, 현재 애플리케이션 프레젠테이션(204)의 오디오의 볼륨을 페이딩 아웃 및/또는 감소시킴)으로써 제 2 애플리케이션 프레젠테이션(208)으로 전환할 수도 있다. 많은 이러한 기법들은 본 명세서에서 제시된 기법들에 따라, 애플리케이션 프레젠테이션 이력(202)을 제시하는데, 그리고 애플리케이션 프레젠테이션들(204) 중에서 제시하고 전환하는데 이용될 수도 있다.
E3. 애플리케이션 프레젠테이션 유형들
본 명세서에서 제시된 기법들의 실시형태들 중에서 가변할 수도 있는 제 3 양태가 선택된 프레젠테이션 컴포넌트(106) 상에 제공된 애플리케이션 프레젠테이션(204)의 유형을 수반한다.
본 명세서에서 제시된 기법들에 따라, 각각의 애플리케이션 프레젠테이션들(204)은 애플리케이션 프레젠테이션 유형에 연관될 수도 있다. 예를 들어, 애플리케이션 프레젠테이션들(204)은, 사용자 대화형 또는 비-사용자 대화형 프레젠테이션; 다양한 입력 모달리티들(예컨대, 키보드, 포인터, 음성, 입/또는 제스처) 및/또는 출력 모달리티들(예컨대, 텍스트, 이미지, 비디오, 사운드, 스피치, 및/또는 촉각)을 이용하는 프레젠테이션; 및 다양한 수량들의 사용자 주의집중(attention)을 수반하는 프레젠테이션(예컨대, 깊고, 연루되며, 그리고/또는 오래 계속되는 사용자 주의집중 몰입도(engagement)를 수반하는 애플리케이션 프레젠테이션들(204)과, 평상시의, 피상적인, 및/또는 잠시의 사용자 주의집중 몰입도를 수반하는 애플리케이션 프레젠테이션들(204))을 다양하게 포함할 수도 있다. 대안적으로 또는 덧붙여, 각각의 프레젠테이션 컴포넌트들(106)은 애플리케이션 프레젠테이션 유형과 연관될 수도 있으며; 예컨대, 사용자(102)는 연루되고 오래 계속되는 애플리케이션 프레젠테이션들(204)에 관여하는 데스크톱 디스플레이 프레젠테이션 컴포넌트(106), 평상시의 애플리케이션 프레젠테이션들(204)에 관여하는 모바일 디스플레이 프레젠테이션 컴포넌트(106), 및 선택적이고 차량 지향식 상호작용으로만 관여하도록 애플리케이션 프레젠테이션들(204)에게 차량 인터페이스를 제공하는 대시 장착형(dash-mounted) 프레젠테이션 컴포넌트(106)를 이용할 수도 있다. 따라서, 본 명세서에서 제시된 기법들의 실시형태가, 선택된 프레젠테이션 컴포넌트(106)를 제 2 애플리케이션 프레젠테이션(208)으로 전환하는 동안, 제 2 애플리케이션 프레젠테이션(208) 및/또는 선택된 프레젠테이션 컴포넌트(106)에 연관되는 애플리케이션 프레젠테이션 유형에 어울리도록 제 2 애플리케이션 프레젠테이션(208)을 조정할 수도 있다.
도 7은 애플리케이션 프레젠테이션 유형(706)을 성취하기 위해 애플리케이션 프레젠테이션(204)의 조정에서의 여러 변형예들을 특징으로 삼는 예시적인 시나리오(700)의 예시도를 제시한다. 이 예시적인 시나리오(700)에서, 애플리케이션 프레젠테이션(204)은 사용자(102)가 여러 프레젠테이션 컴포넌트들(106) 중 하나의 프레젠테이션 컴포넌트 상에서 경험하고자 하는 텍스트 기사(text article)를 수반한다. 각각의 프레젠테이션 컴포넌트(106)가 상이한 속성들 및/또는 상이한 맥락을 나타내기 때문에, 애플리케이션 프레젠테이션(204)의 애플리케이션 프레젠테이션 유형(704)은 선택된 프레젠테이션 컴포넌트(106)의 뷰에서 선택될 수도 있다. 이 제 3 양태의 이러한 제 1 변형예로서, 각각의 프레젠테이션 컴포넌트들(106)은 프레젠테이션 능력에 따라 애플리케이션 프레젠테이션(204)을 제시할 수도 있다. 예를 들어, 디스플레이를 포함하는 프레젠테이션 컴포넌트들(106)은 비디오 및/또는 정적 이미지들을 지원하도록 결정될 수도 있고, 스피커를 포함하는 프레젠테이션 컴포넌트들(106)은 오디오를 지원하도록 결정될 수도 있다. 디바이스(104)는 그러므로, 선택된 프레젠테이션 컴포넌트(106)의 프레젠테이션 능력들(702)을 이용하는 애플리케이션 프레젠테이션(204)에 대한 애플리케이션 프레젠테이션 유형(702)을 선택함으로써 애플리케이션 프레젠테이션(204)을 제시한다. 예를 들어, 데스크톱 디스플레이 프레젠테이션 컴포넌트(106)가 선택된다면, 텍스트 기사의 전체 텍스트 및 이미지들은 애플리케이션 프레젠테이션 유형(706)으로서 선택될 수도 있고; 작은 디스플레이 및 제한된 컴퓨테이션 리소스들을 특징으로 삼는 모바일 디바이스 프레젠테이션 컴포넌트(106)가 선택된다면, 텍스트 기사의 요약이 애플리케이션 프레젠테이션 유형(706)으로서 선택될 수도 있고; 그리고 헤드폰 프레젠테이션 컴포넌트(106)가 선택된다면, 텍스트 기사의 오디오 트랜스크립트가 애플리케이션 프레젠테이션 유형(706)으로서 선택될 수도 있다.
도 7의 예시적인 시나리오(700)는 각각의 프레젠테이션 컴포넌트들(106)이 프레젠테이션 컴포넌트 정책(704)과 연관되는 이 제 3 양태의 이러한 제 2 변형예를 또한 예시한다. 예를 들어, 차량 프레젠테이션 컴포넌트(106)가 오디오 및 비디오를 제시하는 것을 포함하는 프레젠테이션 능력들(702)을 특징으로 할 수도 있지만, 차량이 이동하는 동안 텍스트의 디스플레이를 제한하는 프레젠테이션 컴포넌트 정책(704)을 구현할 수도 있다. 따라서, 디바이스(104)는 (예컨대, 텍스트 기사의 오디오 전용 요약을 제시하는) 선택된 프레젠테이션 컴포넌트(106)의 프레젠테이션 컴포넌트 정책(704)과 일치하는, 애플리케이션 프레젠테이션(204)에 대한 애플리케이션 프레젠테이션 유형(706)을 선택할 수도 있다.
이 제 3 양태의 제 3 변형예로서, 애플리케이션 이력 레코더는 애플리케이션 프레젠테이션(204)을 현재 프레젠테이션 컴포넌트(106)로부터 선택된 프레젠테이션 컴포넌트(106)로 재배치(relocation)하자는 요청을 수신할 수도 있다. 디바이스(104)는, 애플리케이션 프레젠테이션(204)을 재배치하는 동안, 애플리케이션 프레젠테이션(204)에 연관되는 현재 애플리케이션 프레젠테이션 유형(706)으로부터 현재 프레젠테이션 컴포넌트(106)를 통해 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 유형(706)으로 애플리케이션 프레젠테이션(204)을 재포맷팅할 수도 있다. 예를 들어, 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 디스플레이 프레젠테이션 컴포넌트(106)로부터 오디오 전용 프레젠테이션 컴포넌트(106)로 이동하자는 요청을 수신 시, 디바이스(104)는 애플리케이션 프레젠테이션(204)을 텍스트 기반 애플리케이션 프레젠테이션 유형(706)으로부터 오디오 전용 애플리케이션 프레젠테이션 유형(706)으로 재포맷팅할 수도 있다. 많은 이러한 기법들은 본 명세서에서 제시된 기법들에 따라 특정 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션(204)을 적응시키는데 이용될 수도 있다.
E4. 애플리케이션 프레젠테이션 상태 및 프레젠테이션 컴포넌트의 선택
본 명세서에서 제시된 기법들의 실시형태들 중에서 가변할 수도 있는 제 4 양태가 애플리케이션(108)의 애플리케이션 프레젠테이션(204)의 프레젠테이션을 위해 프레젠테이션 컴포넌트(106)를 선택하는 방식을 수반한다.
이 제 4 양태의 제 1 변형예로서, 특정 프레젠테이션 컴포넌트(108) 상의 애플리케이션 프레젠테이션(204)은 동일한 또는 유사한 애플리케이션 프레젠테이션들(204)의 이전의 프레젠테이션들로부터의 특정 프레젠테이션 세부사항들의 존속을 나타낼 수도 있다. 이러한 제 1 예로서, 선택된 프레젠테이션 컴포넌트가 디스플레이를 더 포함하는 경우, 애플리케이션 프레젠테이션 유형(702)은 애플리케이션 프레젠테이션(204)이 미리 제시되어 왔던 디스플레이의 지역을 더 포함할 수도 있다. 디바이스(104)는 그러므로 제 2 애플리케이션 프레젠테이션(204)이 미리 제시되어 왔던 디스플레이의 지역에서 포지셔닝함으로써 제 2 애플리케이션 프레젠테이션(208)을 제시할 수도 있다. 이러한 제 2 예로서, 이전의 애플리케이션 프레젠테이션(204)이 사용자(102)가 마지막으로 소비한 텍스트, 비디오, 또는 오디오 기록물에서의 포지션과 같은 특정 애플리케이션 상태를 수반하는 경우, 디바이스(104)는 마지막으로 알려진 애플리케이션 상태를 사용하여 애플리케이션 프레젠테이션(204)을 재개할 수도 있다.
도 8은, 다양한 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력들(202)이 다양한 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204)에 대해 선택된 프레젠테이션 컴포넌트(106)을 식별하는데 이용되는, 이 제 4 양태의 여러 변형예들을 특징으로 삼는 예시적인 시나리오(800)의 예시도를 제시한다. 이 예시적인 시나리오(800)에서, 디바이스(104)의 사용자(102)가 하나 이상의 애플리케이션 프레젠테이션들(204)을 갖는 다양한 애플리케이션들(108)과 상호작용하고, 본 명세서에서 제시된 기법들에 따라, 디바이스(104)는 이러한 애플리케이션 프레젠테이션들(204)을 각각의 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력들(202)에 기록한다. 더구나, 이러한 기록은 이러한 애플리케이션들(108)의 추가의 애플리케이션 프레젠테이션들(204)을 위한 프레젠테이션 컴포넌트들(106)의 선택을 용이하게 할 수도 있다.
이 제 4 양태의 제 2 변형예로서, 도 8은 동일한 애플리케이션(108)의 제 1 애플리케이션 뷰(802) 및 제 2 애플리케이션 뷰(802)가 상이한 프레젠테이션 컴포넌트들(106) 상에 동시에 제시될 수도 있다는 것을 예시한다. 사용자(102)가 제 2 애플리케이션 뷰(802)를 제시하기 위해 제 1 프레젠테이션 컴포넌트(106)의 전환을 요청할 때, 디바이스(104)는 제 2 애플리케이션 프레젠테이션을 이전의 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로 이동시킬 수도 있다. 이러한 이동은 제 2 애플리케이션 뷰(802)의 프레젠테이션 세부사항 및/또는 애플리케이션 상태의 보존, 그리고/또는 동일한 또는 유사한 애플리케이션(108)의 다수의 애플리케이션 뷰들(802)의 동일한 프레젠테이션 컴포넌트(106) 상으로의 통합을 용이하게 할 수도 있다.
이 제 4 양태의 제 3 변형예로서, 도 8은, 디바이스(104)가 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)에서 애플리케이션 프레젠테이션(204)을 갖는 애플리케이션(108)을 중지하자는 요청을 수신할 때, 디바이스(104)는 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(204)으로부터 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 제거할 수도 있다는 것을 예시한다. 대안적으로, 디바이스(104)는 애플리케이션 프레젠테이션 이력(202)으로부터 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 이동시키는 것을 자제할 수도 있지만, 애플리케이션 프레젠테이션 이력(202)에서 애플리케이션 프레젠테이션(204)을 비활성으로서 마킹 그리고/또는 우선순위 해제할 수도 있다.
이 제 4 양태의 제 4 변형예로서, 도 8은, 애플리케이션(108)을 중지한 후에 선택된 애플리케이션(108)의 제 2 애플리케이션 프레젠테이션(208)으로 전환하자는 요청을 수신 시, 디바이스(104)는 애플리케이션(108)을 재인스턴스화할 수도 있다는 것을 예시한다. 특정 예로서, 그 요청이 제 2 애플리케이션(108)의 더 이른 애플리케이션 프레젠테이션(204)을 중지한 후에 수신되고 재인스턴스화된 애플리케이션(108)의 제 2 애플리케이션 프레젠테이션(208)이 제시될 선택된 프레젠테이션 컴포넌트(106)를 특정하지 않은 경우, 디바이스(104)는 애플리케이션(108)의 더 이른 애플리케이션 프레젠테이션(202)이 제시되었던 선택된 프레젠테이션 컴포넌트(106)를 식별할 수도 있다.
도 9는, 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 위한 선택된 프레젠테이션 컴포넌트(106)의, 디바이스(104)의 프레젠테이션 컴포넌트들(106) 중에서의 추천을 수반하는, 이 제 4 양태의 다른 추가의 변형예들을 특징으로 삼는 예시적인 시나리오(900)의 예시도를 제시한다. 이 예시적인 시나리오(900)에서, 사용자(102)는 비디오 플레이어를 통해 재생될 영화와 같은, 애플리케이션(108)의 애플리케이션 프레젠테이션(204)을 제시할 것을 디바이스(104)에게 요청하지만, 어떤 프레젠테이션 컴포넌트(106)가 애플리케이션 프레젠테이션(204)을 위해 선택될 것인지를 특정하지 않는다. 디바이스(104)는 이용 가능한 프레젠테이션 컴포넌트들(106)의 평가에 기초하여 선택 및/또는 추천을 수행할 수도 있다. 이러한 제 1 예로서, 각각의 프레젠테이션 컴포넌트들(106)이 프레젠테이션 능력(702)(예컨대, 비디오 및/또는 오디오를 제시하는 각각의 프레젠테이션 컴포넌트들(106)의 능력)에 따라 애플리케이션 프레젠테이션(204)을 제시하는 경우, 디바이스(104)는 애플리케이션(108)의 애플리케이션 프레젠테이션(204)에 의해 이용되는 프레젠테이션 능력들(702)을 갖는 프레젠테이션 컴포넌트들(106)을 (예컨대, 비디오를 재생할 수 없는 것으로서 헤드폰 프레젠테이션 컴포넌트(106)를 배제하기 위해) 식별할 수도 있다. 이러한 제 2 예로서, 디바이스(104)는 각각의 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)을 평가할 수도 있고, 그러므로 애플리케이션 프레젠테이션(204)에 적합하지 않은 애플리케이션 프레젠테이션 이력(202)을 나타내는 프레젠테이션 컴포넌트들(106)을 배제시킬 수도 있다(예컨대, 디스플레이 프레젠테이션 컴포넌트(106)가 다른 영화를 현재 디스플레이하고 있기 때문에 배제될 수도 있다). 이러한 제 3 예로서, 다수의 프레젠테이션 컴포넌트들(106)이 애플리케이션 프레젠테이션(204)에 적합한 것으로서 식별된다면, 디바이스(104)는 (예컨대, 고선명 비디오(high-definition)를 디스플레이할 수 없는 제 3 디스플레이 프레젠테이션 컴포넌트(106)를 통해 고선명 비디오를 디스플레이할 수 있는 제 2 디스플레이 프레젠테이션 컴포넌트(106)를 선택하기 위해) 이러한 프레젠테이션 컴포넌트들(106)을 비교 평가할 수도 있다. 디바이스는 이러한 비교 평가에 의해 식별된 프레젠테이션 컴포넌트(106)를 자동으로 선택 및 이용할 수도 있고, 그리고/또는 그 결과들을 사용자(102)에게 선택을 위해 제시할 (예컨대, 애플리케이션 프레젠테이션(204)에 적합한 적어도 두 개의 프레젠테이션 컴포넌트들(106)을 위한 옵션들(904)의 리스트(902)를, 옵션적으로는 비교 평가에 기초한 추천과 함께, 사용자(102)에게 제시할) 수도 있다. 사용자 선택 프레젠테이션 컴포넌트(106)를 위한 옵션(904)의 리스트 선택(906)을 사용자(102)로부터 수신하는 것에 응답하여, 디바이스(104)는 제 2 애플리케이션(204)의 제 2 애플리케이션 프레젠테이션(204)을 위한 선택된 프레젠테이션 컴포넌트(106)로서 사용자 선택 프레젠테이션 컴포넌트(106)를 선택할 수도 있다. 디바이스(104)는 그 다음에 선택된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)에서의 제 2 애플리케이션 프레젠테이션(208)으로서 애플리케이션 프레젠테이션(204)을 기록할 수도 있고, 선택된 프레젠테이션 컴포넌트(106)를 제 2 애플리케이션 프레젠테이션(208)으로 전환시킬 수도 있다. 이런 방식으로, 디바이스(104)는 본 명세서에서 제시된 기법들에 따라 애플리케이션 프레젠테이션(204)을 위한 프레젠테이션 컴포넌트(106)의 선택에서 사용자(104)를 안내할 수도 있다.
E5. 애플리케이션 프레젠테이션 이력 유연성 및 적응
본 명세서에서 제시된 기법들의 실시형태들 중에서 가변할 수도 있는 제 5 양태가 디바이스(104)가 각각의 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력들(202)의 적응을 개시 또는 허용할 수도 있는 환경을 수반한다.
이 제 5 양태의 제 1 변형예로서, 사용자(102)가, 제 1 프레젠테이션 컴포넌트(106) 상에서, 제 2 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션 이력(202)(예컨대, 다른 모니터 상에서 발생하여 왔던 애플리케이션 프레젠테이션들(206)의 리스트)을 보기 위해 요청할 수도 있다. 그 리스트로부터 옵션의 선택을 수신하는 것에 응답하여, 디바이스(104)는 (예컨대, 선택된 애플리케이션 프레젠테이션(206)을 제 2 프레젠테이션 컴포넌트(106)에 대한 현재 애플리케이션 프레젠테이션(206)으로서 식별하는) 연관된 애플리케이션 프레젠테이션(206)을 제 2 프레젠테이션 컴포넌트(106) 상에 제시할 수도 있다. 대안적으로, 디바이스(104)는 (예컨대, 애플리케이션(108)을 제 2 모니터로부터 제 1 모니터로 이동시켜) 선택된 애플리케이션 프레젠테이션(206)을 제 2 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터 제 1 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로 이동시킬 수도 있다.
이 제 5 양태의 제 2 변형예로서, 제 1 애플리케이션 프레젠테이션(204)은 동일한 애플리케이션(108)의 제 2 애플리케이션 프레젠테이션(204) 또는 상이한 애플리케이션(108)과 관계를 가질 수도 있다. 예를 들어, 선택된 프레젠테이션 컴포넌트(106) 상에 제시된 제 1 애플리케이션(108)이 선택된 프레젠테이션 컴포넌트(106) 상에 또한 제시되는 제 2 애플리케이션(108)에 의해 인스턴스화되어 있을 수도 있다(예컨대, 사용자(102)가 웹 브라우저에 의해 제시된 웹 페이지 내의 "mailto:" 링크를 선택했을 때 인스턴스화되었던 이메일 클라이언트). 디바이스(104)는 이러한 관계들을 애플리케이션 프레젠테이션들(204)의 일부로서 저장할 수도 있다. 따라서, 어느 하나의 애플리케이션 프레젠테이션(204)이 새로운 프레젠테이션 컴포넌트(106)로 재배치된다면, 관련된 애플리케이션 프레젠테이션(204)은 새로운 프레젠테이션 컴포넌트(106)로 재배치됨으로써, 특정 태스크에 대해 함께 사용될 수도 있는 애플리케이션들(108)의 논리적 접속 및 근접을 유지할 수도 있다.
이 제 5 양태의 제 3 변형예로서, 디바이스(104)는 각각의 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력들(108)의 조합된 프레젠테이션을 개시 및/또는 허용할 수도 있다. 이러한 제 1 예로서, 사용자(102)는 애플리케이션 프레젠테이션 이력들(202)의 완전한 세트를 프레젠테이션 컴포넌트들(106) 중 여러 개 또는 모두 상에서 보고자 할 수도 있다(예컨대, 사용자(102)는, 프레젠테이션 컴포넌트들(106)의 잠재적으로 큰 세트 중에서, 디바이스(104)상에서 실행하고 있는 애플리케이션(108)을 찾는데 어려움을 겪고 있을 수도 있다). 디바이스(104)는 그러므로 적어도 두 개의 프레젠테이션 컴포넌트들(106)의 애플리케이션 프레젠테이션 이력들(202)의 병합된 세트를 제시할 수도 있고, (예컨대, 프레젠테이션 컴포넌트(106) 또는 프레젠테이션 컴포넌트 유형에 의해 그룹화되는, 애플리케이션 유형에 의해 그룹화되는, 그리고/또는 애플리케이션 이름들의 연대순 및/또는 알파벳 순서로 정렬되는) 다양한 방도들로 이러한 병합된 프레젠테이션을 성취할 수도 있다. 이러한 제 2 예로서, 사용자(102)는 애플리케이션들(108)의 일부 또는 모두를 제 1 프레젠테이션 컴포넌트(106)로부터 제 2 프레젠테이션 컴포넌트(106)로 재배치시키고자 할 수도 있다. 디바이스(102)는 그러므로 연관된 애플리케이션들(108)의 애플리케이션 프레젠테이션들(204)을 제 1 프레젠테이션 컴포넌트(206)의 애플리케이션 프레젠테이션 이력(202)으로부터 제 2 프레젠테이션 컴포넌트(206)의 애플리케이션 프레젠테이션 이력(202)까지 병합할 수도 있다.
이 제 5 양태의 제 4 변형예로서, 디바이스(104)는 제 1 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)의 하나 이상의 다른 프레젠테이션 컴포넌트들(106)로의 분리 또는 분배를 개시 및/또는 허용할 수도 있다. 예를 들어, 제 1 프레젠테이션 컴포넌트(106)가 과적되는 것(예컨대, 디스플레이 상에 제시된 윈도우들의 수가 사용가능 임계값을 초과할 수도 있음)을 디바이스(104)는 검출할 수도 있고, 그리고/또는 사용자(102)는 개시하게 할 수도 있다. 디바이스(104)는 그러므로 제 1 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)을 분리할 수도 있고, 애플리케이션 프레젠테이션 이력(202)의 다양한 서브세트들을 다른 프레젠테이션 컴포넌트들(106)에게 재분배할 수도 있다. 이러한 재분배는, 이를테면 각각의 애플리케이션들(108)이 미리 제시되어 왔던 경우, 예컨대, 각각의 애플리케이션 프레젠테이션들(202)의 이력을 검토하는 것을 수반할 수도 있다.
이 제 5 양태의 제 5 변형예로서, 새로운 프레젠테이션 컴포넌트(106)가 디바이스(104)가 이용 가능한 프레젠테이션 컴포넌트들(106)의 세트에 추가될 때, 디바이스(104)는 새로운 프레젠테이션 컴포넌트(106)에 대해 새로운 애플리케이션 프레젠테이션 이력(202)을 생성할 수도 있다. 대안적으로, 새로운 프레젠테이션 컴포넌트(106)가 디바이스(104)에 이전에 접속되었고 접속해제 기간에 뒤따라 지금 재접속되어 있다면, 디바이스(104)는 이전의 애플리케이션 프레젠테이션 이력(202)를 새로운 프레젠테이션 컴포넌트(106)에 대해 로딩할 수도 있고, (예컨대, 디바이스(104)로부터의 새로운 프레젠테이션 컴포넌트(106)의 접속해제에 응답하여) 그 동안에 종료되어 있던 이러한 애플리케이션 프레젠테이션 이력들(202)에 연관되는 애플리케이션들(108)을 재인스턴스화할 수도 있다. 옵션으로, 이러한 애플리케이션들(108)은 프레젠테이션 컴포넌트(106)의 접속해제 및/또는 애플리케이션(108)의 종료 시 존속되어 왔을 수도 있는 최신 애플리케이션 상태로 재인스턴스화될 수도 있다.
이 제 5 양태의 제 6 변형예로서, 디바이스(104)가 이용 가능한 프레젠테이션 컴포넌트들(106)의 세트에의 새로운 프레젠테이션 컴포넌트(106)의 추가는, 프레젠테이션 컴포넌트들(106)로의 애플리케이션들(108)의 할당의 재평가를 프롬프트할 수도 있고, 하나 이상의 애플리케이션들(106)을 제 1 프레젠테이션 컴포넌트(106)로부터 새로운 프레젠테이션 컴포넌트(106)로 재배치시킬 수도 있다. 이러한 재배치는 애플리케이션 프레젠테이션(204)을 제 1 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터 새로운 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로 이동시키는 것을 수반할 수도 있다. 이러한 재평가는, 로드 부하 균형 고려사항(예컨대, 붐비는 애플리케이션 프레젠테이션 이력(202)을 나타내는 제 1 프레젠테이션 컴포넌트(106)로부터 새로운 프레젠테이션 컴포넌트(106)로 애플리케이션 프레젠테이션들(204)을 이동시키는 것), 및/또는 (예컨대, 애플리케이션 프레젠테이션(204)을 제 1 프레젠테이션 컴포넌트(106)로부터 더 높은 해상도 디스플레이 또는 더 높은 충실도 스피커 세트와 같은 더 높은 품질에서 애플리케이션(108)을 랜더링할 수 있는 새로운 프레젠테이션 컴포넌트(106)로 이동시키는) 각각의 애플리케이션(108)에 대한 각각의 프레젠테이션 컴포넌트(204)의 적합성(appropriateness)의 평가를 포함할 수도 있다. 재배치는 애플리케이션 프레젠테이션(204)의 이력의 검토를 수반할 수도 있으며; 예컨대, 애플리케이션(108)은 새로운 프레젠테이션 컴포넌트(106) 상에서 미리 제시되어 왔을 수도 있고, 접속해제의 기간에 뒤따라 새로운 프레젠테이션 컴포넌트(106)로 되돌아가게 이동되었을 수도 있다. 하나의 이러한 실시형태에서, 이러한 재배치를 수행할지의 여부의 결정은 접속해제 기간의 지속기간에 기초할 수도 있고; 예컨대, 짧은 접속해제 기간이 애플리케이션(108)을 자동으로 복귀시킬 것을 디바이스(108)에게 프롬프트할 수도 있는 반면, 사용자(102)가 재배치를 개시하게 하지 않는 한, 애플리케이션(108)이 대체 프레젠테이션 컴포넌트(106) 상에 남아 있는 것을 더욱 연장된 접속해제 기간이 가능하게 할 수도 있다. 다른 이러한 실시형태에서, 이러한 재배치를 수행할지의 여부의 결정은 애플리케이션(108)과의 사용자(102)의 상호작용에 기초할 수도 있으며; 예컨대, 사용자(102)가 대체 프레젠테이션 컴포넌트(106) 상의 애플리케이션(108)과 상호작용하여 왔다면, 그 애플리케이션은 남아 있을 수도 있지만, 사용자(102)가 대체 프레젠테이션 컴포넌트(106) 상의 애플리케이션(108)과 상호작용하여 오지 않았다면, 자동화된 재배치가 개시될 수도 있다.
이 제 5 양태의 제 7 변형예로서, 프레젠테이션 컴포넌트(106)가 디바이스(104)로부터 접속해제될 때, 디바이스(104)는 다양한 방도들로 응답할 수도 있다. 이러한 제 1 예로서, 디바이스(104)는 접속해제된 프레젠테이션 컴포넌트(106)에 대한 애플리케이션 프레젠테이션 이력(202)을 버릴 수도 있거나, 또는 나중의 재접속의 경우에 애플리케이션 프레젠테이션 이력(202)을 존속시킬 수도 있다. 이러한 제 2 예로서, 디바이스(104)는, 예컨대, 애플리케이션 프레젠테이션(204)을 접속해제된 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로부터 다른 프레젠테이션 컴포넌트(106)의 애플리케이션 프레젠테이션 이력(202)으로 이동시킴으로써, 접속해제된 프레젠테이션 컴포넌트(106) 상에 존재했었던 하나 이상의 애플리케이션들(1098)을 다른 프레젠테이션 컴포넌트들(106)에 재배치시킬 수도 있다. 대안적으로, 디바이스(104)는 접속해제된 프레젠테이션 컴포넌트(106) 상에만 존재했었던 애플리케이션들(108)을 종료시킬 수도 있다. 옵션으로, 디바이스(104)는 이러한 애플리케이션들(108)의 애플리케이션 상태를 존속시킬 수도 있고, 애플리케이션(108)이 동일한 프레젠테이션 컴포넌트(108)의 재접속으로 또는 상이한 프레젠테이션 컴포넌트(108) 상에서 재인스턴스화된다면, 이러한 애플리케이션들(108)을 최신 애플리케이션 상태로 복원시킬 수도 있다. 많은 이러한 변형예들은 본 명세서에서 제시된 기법들에 따라 사용자(102) 및 디바이스(104)의 컴퓨팅 환경의 동적 성질을 반영하기 위해 애플리케이션 프레젠테이션 이력들(202)의 적응에 포함될 수도 있다.
F. 컴퓨팅 환경
도 10과 다음의 논의는 본 명세서에서 언급된 대책들 중 하나 이상의 실시형태들을 구현하는 적합한 컴퓨팅 환경의 간략하고, 일반적인 설명을 제공한다. 도 10의 운영 환경은 적합한 운영 환경의 단지 하나의 예이고 운영 환경의 사용 또는 기능성의 범위에 관해 임의의 제한을 제시하려는 것은 아니다. 예시적인 컴퓨팅 디바이스들은 개인용 컴퓨터들, 서버 컴퓨터들, 핸드헬드 또는 랩톱 디바이스들, 모바일 디바이스들(이를테면 모바일 폰들, 개인 정보 단말기들(Personal Digital Assistants, PDA들), 미디어 플레이어들 등), 다중프로세서 시스템들, 소비자 전자가기, 미니 컴퓨터들, 메인프레임 컴퓨터들, 위의 시스템들 또는 디바이스들 등 중 임의의 것을 포함하는 분산형 컴퓨팅 환경들을 비제한적으로 포함한다.
비록 요구되지는 않지만, 실시형태들은 하나 이상의 컴퓨팅 디바이스들에 의해 실행되고 있는 "컴퓨터 판독가능 명령어들"의 일반적인 맥락에서 설명된다. 컴퓨터 판독가능 명령어들은 컴퓨터 판독가능 매체들(위에서 논의됨)을 통해 배포될 수도 있다. 컴퓨터 판독가능 명령어들은 특정 태스크들을 수행하거나 또는 특정 추상 데이터 유형들을 구현하는 함수들, 객체들, 애플리케이션 프로그래밍 인터페이스들(Application Programming Interfaces, API들), 데이터 구조들 등과 같은 프로그램 모듈들로서 구현될 수도 있다. 통상적으로, 컴퓨터 판독가능 명령어들의 기능은 다양한 환경들에서 원하는 대로 조합 또는 분산될 수도 있다.
도 10은 본 명세서에서 제공되는 하나 이상의 실시형태들을 구현하도록 구성되는 컴퓨팅 디바이스(1002)를 포함하는 시스템(1000)의 일 예를 도시한다. 하나의 구성에서, 컴퓨팅 디바이스(1002)는 적어도 하나의 프로세싱 유닛(1006)과 메모리(1008)를 포함한다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 의존하여, 메모리(1008)는 휘발성(예를 들어, RAM과 같음), 비-휘발성(예를 들어, ROM, 플래시 메모리 등과 같음) 또는 두 종류의 일부 조합일 수도 있다. 이 구성은 도 10에서 파선 1004에 의해 예시된다.
다른 실시형태들에서, 디바이스(1002)는 추가적인 특징들 및/또는 기능을 포함할 수도 있다. 예를 들어, 디바이스(1002)는 자기적 스토리지, 광학적 스토리지 등을 비제한적으로 포함하는 추가적인 스토리지(예컨대, 착탈식 및/또는 비-착탈식)를 또한 포함할 수도 있다. 이러한 추가적인 스토리지는 도 10에서 스토리지(1010)에 의해 예시된다. 하나의 실시형태에서, 본 명세서에서 제공되는 하나 이상의 실시형태들을 구현하기 위한 컴퓨터 판독가능 명령어들이 스토리지(1010)에 있을 수도 있다. 스토리지(1010)는 운영 체제, 애플리케이션 프로그램 등을 구현하는 다른 컴퓨터 판독가능 명령어들을 또한 저장할 수도 있다. 컴퓨터 판독가능 명령어들은, 예를 들어, 프로세싱 유닛(1006)에 의한 실행을 위해 메모리(1008)에 로딩될 수도 있다.
본원에서 사용되는 바와 같은 "컴퓨터 판독가능 매체"라는 용어는 통신 매체들을 포함하는 다른 형태들의 컴퓨터 판독가능 매체들, 이를테면 신호들을 배제하는 컴퓨터 판독가능 메모리 디바이스들을 포함한다. 이러한 컴퓨터 판독가능 메모리 디바이스들은 휘발성 및/또는 비휘발성, 착탈식 및/또는 비-착탈식일 수도 있고, 컴퓨터 판독가능 명령어들 또는 다른 데이터를 저장하는 다양한 유형들의 물리적 디바이스들을 수반할 수도 있다. 메모리(1008)와 스토리지(1010)는 컴퓨터 저장 매체들의 예들이다. 컴퓨터 저장 스토리지 디바이스들은 RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크들(Digital Versatile Disks, DVD들) 또는 다른 광학적 스토리지, 자기적 카세트들, 자기 테이프, 및 자기적 디스크 스토리지 또는 다른 자기적 스토리지 디바이스들을 비제한적으로 포함한다.
디바이스(1002)는 디바이스(1002)가 다른 디바이스들과 통신하는 것을 허용하는 통신 접속(들)(1016)을 또한 포함할 수도 있다. 통신 접속(들)(1016)은 모뎀, 네트워크 인터페이스 카드(Network Interface Card, NIC), 통합 네트워크 인터페이스, 라디오 주파수 송신기/수신기, 적외선 포트, USB 접속, 또는 컴퓨팅 디바이스(1002)와 다른 컴퓨팅 디바이스들을 접속시키기 위한 다른 인터페이스들을 비제한적으로 포함할 수도 있다. 통신 접속(들)(1016)은 유선 접속 또는 무선 접속을 포함할 수도 있다. 통신 접속(들)(1016)은 통신 매체를 송신 및/또는 수신할 수도 있다.
"컴퓨터 판독가능 매체"라는 용어는 통신 매체를 포함할 수도 있다. 통신 매체는 통상적으로, 컴퓨터 판독가능 명령어들 또는 다른 데이터를 반송파 또는 다른 전송 메커니즘과 같은 "변조된 데이터 신호"에 포함시키고 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호에 정보를 인코딩하는 것과 같은 방식으로 설정 또는 변경된 자신의 특성들 중의 하나 이상을 갖는 신호를 포함할 수도 있다.
디바이스(1002)는 키보드, 마우스, 펜, 음성 입력 디바이스, 터치 입력 디바이스, 적외선 카메라들, 비디오 입력 디바이스들, 및/또는 임의의 다른 입력 디바이스와 같은 입력 디바이스(들)(1014)를 포함할 수도 있다. 하나 이상의 디스플레이들, 스피커들, 프린터들, 및/또는 임의의 다른 출력 디바이스와 같은 출력 디바이스(들)(1012)가 디바이스(1002)에 또한 포함될 수도 있다. 입력 디바이스(들)(1014)와 출력 디바이스(들)(1012)는 유선 접속, 무선 접속, 또는 그것들의 임의의 조합을 통해 디바이스(1002)에 접속될 수도 있다. 하나의 실시형태에서, 다른 컴퓨팅 디바이스로부터의 입력 디바이스 또는 출력 디바이스가 컴퓨팅 디바이스(1002)를 위한 입력 디바이스(들)(1014) 또는 출력 디바이스(들)(1012)로서 사용될 수도 있다.
컴퓨팅 디바이스(1002)의 컴포넌트들은 다양한 상호접속들(interconnects), 이를테면 버스에 의해 접속될 수도 있다. 이러한 상호접속들은 주변 컴포넌트 상호접속(Peripheral Component Interconnect, PCI), 이를테면 PCI 익스프레스, 유니버셜 직렬 버스(Universal Serial Bus, USB), 파이어와이어(IEEE 1394), 광학적 버스 구조 등을 포함할 수도 있다. 다른 실시형태에서, 컴퓨팅 디바이스(1002)의 컴포넌트들은 네트워크에 의해 상호접속될 수도 있다. 예를 들어, 메모리(1008)는 네트워크에 의해 상호접속된 상이한 물리적 로케이션들에 위치되는 다수의 물리적 메모리 유닛들로 이루어질 수도 있다.
본 기술분야의 통상의 기술자들은 컴퓨터 판독가능 명령어들을 저장하는데 사용되는 스토리지 디바이스들이 네트워크 전체에 걸쳐 분산될 수도 있다는 것을 인식할 것이다. 예를 들어, 네트워크(1018)를 통해 액세스 가능한 컴퓨팅 디바이스(920)가 본 명세서에서 제공되는 하나 이상의 실시형태들을 구현하기 위한 컴퓨터 판독가능 명령어들을 저장할 수도 있다. 컴퓨팅 디바이스(1002)는 컴퓨팅 디바이스(1020)에 액세스하고 컴퓨터 판독가능 명령어들의 일부 또는 모두를 실행을 위해 다운로드할 수도 있다. 대안적으로, 컴퓨팅 디바이스(1002)는 컴퓨터 판독가능 명령어들의 조각들을 필요한 대로 다운로드할 수도 있거나, 또는 일부 명령어들이 컴퓨팅 디바이스(1002)에서 실행될 수도 있고 일부 명령어들이 컴퓨팅 디바이스(1020)에서 실행될 수도 있다.
G. 용어들의 취급
본 발명의 주제가 구조적 특징들 및/또는 방법론적 액트들에 특정된 언어표현으로 설명되어 있지만, 첨부의 청구항들에서 정의된 본 발명의 주제는 위에서 설명된 특정 특징들 및 액트들로 제한될 필요는 없다는 것이 이해된다. 오히려, 위에서 설명된 특정 특징들 및 액트들은 청구항들을 구현하는 예시적인 형태들로서 개시된다.
본 출원에서 사용되는 바와 같이, "컴포넌트", "모듈", "시스템", "인터페이스" 등과 같은 용어들은 하드웨어, 하드웨어 및 소프트웨어의 조합, 소프트웨어, 또는 실행 소프트웨어(software in execution) 중 어느 하나인 컴퓨터 관련 엔티티를 지칭하는 것으로 일반적으로 의도된다. 예를 들어, 컴포넌트가 프로세서 상에서 실행중인 프로세스, 프로세서, 오브젝트, 실행가능물(executable), 실행 스레드(thread of execution), 프로그램 및/또는 컴퓨터일 수도 있지만 그것들로 제한되지 않는다. 예시로서, 제어기 상에서 실행중인 애플리케이션 및 제어기 둘 다가 하나의 컴포넌트일 수 있다. 하나 이상의 컴포넌트들이 프로세스 및/또는 실행 스레드 내에 상주할 수도 있고 컴포넌트가 하나의 컴퓨터 상에 국부화될 수도 있거나 그리고/또는 둘 이상의 컴퓨터들 상에 분산될 수도 있다.
더욱이, 청구된 본 발명의 주제는 개시된 본 발명의 주제를 구현하도록 컴퓨터를 제어하는 소프트웨어, 펌웨어, 하드웨어, 또는 그것들의 임의의 조합을 생성하기 위해 표준 프로그래밍 및/또는 엔지니어링 기법들을 사용하여 방법, 장치, 또는 제조품으로서 구현될 수도 있다. 본 명세서에서 사용된 "제조품"이란 용어는 임의의 컴퓨터 판독가능 디바이스, 캐리어 또는 매체로부터 액세스 가능한 컴퓨터 프로그램을 포괄하는 것으로 의도된다. 물론, 본 기술분야의 통상의 기술자들은 많은 변형예들이 청구된 본 발명의 주제의 범위 또는 정신으로부터 벗어남 없이 이 구성에 대해 만들어질 수도 있다는 것을 인식할 것이다.
실시형태들의 다양한 동작들은 본원에서 제공된다. 하나의 실시형태에서, 설명된 동작들 중 하나 이상은, 컴퓨팅 디바이스에 의해 실행된다면, 컴퓨팅 디바이스로 하여금 설명된 동작들을 수행하게 할, 하나 이상의 컴퓨터 판독가능 매체들 상에 저장된 컴퓨터 판독가능 명령어들을 구성할 수도 있다. 동작들의 일부 또는 전부가 설명되는 순서는 이들 동작들이 반드시 순서 의존적임을 암시하는 것으로 해석되지 않아야 한다. 대안적 순서매김이 이 명세서의 이익을 향유하는 본 기술분야의 통상의 기술자에 의해 이해될 것이다. 게다가, 반드시 모든 동작들이 본 명세서에서 제공되는 각각의 실시형태에서 필연적으로 제시되어야만 하는 것은 아니다.
일 "예"로서 본 명세서에서 설명되는 임의의 양태 또는 설계는 반드시 다른 양태들 또는 설계들보다 유리한 것으로 해석되어야 하는 것은 아니다. 오히려, "예"라는 단어의 사용은 본 명세서에서 제시된 기법들에 관련될 수도 있는 하나의 가능한 양태 및/또는 구현예를 제시하려는 의도이다. 이러한 예들은 이러한 기법들에 필요하지 않거나 또는 제한하는 것으로 의도되지 않는다. 이러한 기법들의 다양한 실시형태들은 이러한 일 예를, 단독으로 또는 다른 특징들과 조합하여 포함할 수도 있고, 그리고/또는 예시된 예를 변경 및/또는 생략할 수도 있다.
본 출원서에서 사용되는 바와 같이, "또는"이란 용어는 배타적인 "또는"이라기 보다는 포함하는 "또는"을 의미하는 것으로 의도된다. 다시 말하면, 달리 특정되지 않거나 문맥으로부터 명확하지 않으면, "X는 A 또는 B를 채용한다"는 본래 포함 치환물(natural inclusive permutation)들 중 임의의 것을 의미하는 것으로 의도된다. 다시 말하면, X가 A를 채용하거나; X가 B를 채용하거나; 또는 X가 A 및 B 둘 다를 채용하면, 위 경우들 중 어느 경우 하에서도 "X는 A 또는 B를 채용한다"가 충족된다. 또한, 본 출원 및 첨부된 청구항에서 사용되는 바와 같이, 관사 "a" 및 "an"의 사용에 해당하는 단수형은 달리 규정되지 않거나 또는 문맥으로부터 단수형을 위한 것이 명확하지 않다면, "하나 이상"을 의미하는 것으로 일반적으로 해석될 수도 있다.
또한, 비록 본 개시내용이 하나 이상의 구현예들에 관해 도시되고 설명되었지만, 동등한 개조들 및 수정들이 본원의 명세서 및 첨부된 도면들을 읽고 이해하는 것에 기초하여 본 기술분야의 통상의 기술자들에게 발생할 것이다. 본 개시내용은 모든 이러한 수정들 및 개조들을 포함하고 다음의 청구항들의 범위에 의해서만 제한된다. 특히 위에서 설명된 컴포넌트들(예컨대, 엘리먼트들, 리소스들)에 의해 수행된 다양한 기능들에 관하여, 이러한 컴포넌트들을 설명하는데 사용된 용어들은, 다르다고 나타내지 않는 한, 심지어 본 개시내용의 여기에 예시된 구현예들에서의 기능을 수행하는 개시된 구조와는 구조적으로 동등하지 않더라도, 설명된 컴포넌트의 특정된 기능을 수행하는 (예컨대, 기능적으로 동등한) 임의의 컴포넌트에 대응하도록 의도된다. 덧붙여서, 본 개시내용의 특정 특징이 여러 구현예들 중 하나에 대해서만 개시되었을 수도 있지만, 이러한 특징은 임의의 주어진 또는 특정 애플리케이션에 대해 바람직하고 유익할 수도 있도록 다른 구현예들의 하나 이상의 다른 특징들과 결합될 수도 있다. 더욱이, "포함한다", "갖는", "갖는다", "가지는"이란 용어들, 또는 그 변형들이 상세한 설명 및 청구항들 중 어느 한 쪽에서 사용된 결과로, 이러한 용어들은 "포함하는"이란 용어와 유사한 방식으로 포함하는 것으로 의도된다.

Claims (20)

  1. 프로세서 및 적어도 두 개의 프레젠테이션 컴포넌트들을 갖는 디바이스 상에 애플리케이션들을 제시하는 방법으로서,
    상기 프로세서 상에서 명령어들을 실행하는 단계
    를 포함하며,
    상기 명령어들은, 상기 디바이스로 하여금,
    각각의 프레젠테이션 컴포넌트들에 대해, 프레젠테이션 컴포넌트를 통해 애플리케이션들의 애플리케이션 프레젠테이션들을 식별하는 애플리케이션 프레젠테이션 이력을 생성하게 하고;
    선택된 애플리케이션의 애플리케이션 프레젠테이션을 선택된 프레젠테이션 컴포넌트를 통해 제시한 것에 응답하여, 상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력에 상기 애플리케이션 프레젠테이션을 기록하게 하며;
    선택된 프레젠테이션 컴포넌트를 현재 애플리케이션 프레젠테이션으로부터 떠나도록 전이(transition)시키기 위한 요청을 수신한 것에 응답하여,
    상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력으로부터, 제 2 애플리케이션 프레젠테이션을 선택하게 하며;
    상기 선택된 프레젠테이션 컴포넌트를 상기 현재 애플리케이션 프레젠테이션으로부터 상기 제 2 애플리케이션 프레젠테이션으로 전이시키게 하는 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  2. 제1항에 있어서,
    각각의 프레젠테이션 컴포넌트들의 상기 애플리케이션 프레젠테이션 이력은 또한, 상기 애플리케이션 프레젠테이션들이 상기 프레젠테이션 컴포넌트를 통해 제시되었던 애플리케이션 순서 이력을 나타내며;
    상기 제 2 애플리케이션 프레젠테이션을 선택하는 것은, 상기 선택된 프레젠테이션 컴포넌트에 대한 상기 애플리케이션 프레젠테이션 이력의 상기 애플리케이션 순서 이력에서 상기 현재 애플리케이션 프레젠테이션에 선행하는 상기 제 2 애플리케이션 프레젠테이션을 선택하는 것을 더 포함한 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  3. 제2항에 있어서,
    상기 애플리케이션 순서 이력은 또한, 상기 애플리케이션들이 상기 디바이스의 사용자에 의해 선택되었던 순서를 나타내는 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  4. 제2항에 있어서,
    상기 선택된 프레젠테이션 컴포넌트는 디스플레이를 더 포함하고;
    상기 애플리케이션 순서 이력은 상기 디스플레이 상에 제시되는 애플리케이션 프레젠테이션들의 Z-순서와 연관되며;
    상기 선택된 프레젠테이션 컴포넌트를 전이시키는 것은, 상기 디스플레이의 Z-순서에서 상기 현재 애플리케이션 프레젠테이션보다 위로 상기 제 2 애플리케이션 프레젠테이션을 재순서화하는 것을 더 포함한 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  5. 제1항에 있어서,
    상기 제2 애플리케이션 프레젠테이션을 선택하는 것은,
    상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력에서의 애플리케이션 프레젠테이션을 갖는 애플리케이션들을 사용자에게 제시하는 것; 및
    상기 애플리케이션 프레젠테이션들로부터의 상기 제 2 애플리케이션 프레젠테이션과 연관된 제 2 애플리케이션의 선택을 상기 사용자로부터 수신하는 것
    을 더 포함한 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  6. 제1항에 있어서,
    상기 현재 애플리케이션 프레젠테이션은 태스크 순서를 제공하는 태스크 흐름과 연관되며;
    상기 제 2 애플리케이션 프레젠테이션을 선택하는 것은, 상기 태스크 흐름의 상기 태스크 순서에서 상기 현재 애플리케이션 프레젠테이션에 후속하는 상기 제 2 애플리케이션 프레젠테이션을 선택하는 것을 더 포함한 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  7. 제1항에 있어서,
    상기 선택된 애플리케이션은 적어도 두 개의 애플리케이션 뷰(view)들을 더 포함하며;
    상기 애플리케이션 프레젠테이션을 기록하는 것은, 상기 선택된 애플리케이션의 선택된 애플리케이션 뷰를, 선택된 프레젠테이션 컴포넌트를 통해 제시한 것에 응답하여, 상기 선택된 애플리케이션의 상기 선택된 애플리케이션 뷰의 상기 애플리케이션 프레젠테이션을 상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력 내에 기록하는 것을 더 포함한 것인, 디바이스 상에 애플리케이션들을 제시하는 방법.
  8. 애플리케이션들을 제시하는 디바이스로서,
    적어도 두 개의 프레젠테이션 컴포넌트들;
    프로세서; 및
    명령어들을 저장하는 메모리
    를 포함하며,
    상기 명령어들은, 상기 프로세서 상에서 실행될 때,
    각각의 프레젠테이션 컴포넌트들에 대해, 프레젠테이션 컴포넌트를 통해 애플리케이션들의 애플리케이션 프레젠테이션들을 식별하는 애플리케이션 프레젠테이션 이력;
    선택된 애플리케이션의 애플리케이션 프레젠테이션을 선택된 프레젠테이션 컴포넌트를 통해 제시한 것에 응답하여, 상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력에 상기 애플리케이션 프레젠테이션을 기록하는 애플리케이션 이력 레코더; 및
    선택된 프레젠테이션 컴포넌트를 현재 애플리케이션 프레젠테이션으로부터 떠나도록 전이시키기 위한 요청을 수신한 것에 응답하여,
    상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력으로부터, 제 2 애플리케이션 프레젠테이션을 선택하며;
    상기 선택된 프레젠테이션 컴포넌트를 상기 현재 애플리케이션 프레젠테이션으로부터 상기 제 2 애플리케이션 프레젠테이션으로 전이시키는 애플리케이션 스위처
    를 제공하는 것인, 애플리케이션들을 제시하는 디바이스.
  9. 제8항에 있어서,
    각각의 애플리케이션 프레젠테이션들은 애플리케이션 프레젠테이션 유형과 연관되며;
    상기 애플리케이션 스위처는 상기 애플리케이션 프레젠테이션 유형에 따라 상기 선택된 프레젠테이션 컴포넌트를 통해 상기 제 2 애플리케이션의 상기 애플리케이션 프레젠테이션을 제시함으로써 상기 선택된 프레젠테이션 컴포넌트를 전이시키는 것인, 애플리케이션들을 제시하는 디바이스.
  10. 제9항에 있어서,
    상기 선택된 프레젠테이션 컴포넌트는 프레젠테이션 능력에 따라 상기 애플리케이션 프레젠테이션을 제시하며;
    상기 애플리케이션 스위처는 상기 선택된 프레젠테이션 컴포넌트의 상기 프레젠테이션 능력을 이용하는 상기 제 2 애플리케이션 프레젠테이션을 위한 상기 애플리케이션 프레젠테이션 유형을 선택함으로써 상기 제 2 애플리케이션 프레젠테이션을 제시하는 것인, 애플리케이션들을 제시하는 디바이스.
  11. 제9항에 있어서,
    상기 선택된 프레젠테이션 컴포넌트는 프레젠테이션 컴포넌트 정책에 따라 상기 애플리케이션들을 제시하며;
    상기 애플리케이션 스위처는 상기 선택된 프레젠테이션 컴포넌트의 상기 프레젠테이션 컴포넌트 정책과 일치하는 상기 제 2 애플리케이션을 위한 상기 애플리케이션 프레젠테이션 유형을 선택함으로써 상기 제 2 애플리케이션을 제시하는 것인, 애플리케이션들을 제시하는 디바이스.
  12. 제9항에 있어서,
    애플리케이션 이력 레코더는 애플리케이션 프레젠테이션을 현재 프레젠테이션 컴포넌트로부터 상기 선택된 프레젠테이션 컴포넌트로 재배치하기 위한 요청을 수신하며;
    상기 애플리케이션 스위처는, 상기 애플리케이션 프레젠테이션과 연관된 현재 애플리케이션 프레젠테이션 유형으로부터 상기 현재 프레젠테이션 컴포넌트를 통해 상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 유형으로 상기 제 2 애플리케이션을 재포맷팅함으로써 상기 제 2 애플리케이션을 제시하는 것인, 애플리케이션들을 제시하는 디바이스.
  13. 제9항에 있어서,
    상기 선택된 프레젠테이션 컴포넌트는 디스플레이를 더 포함하고;
    상기 애플리케이션 프레젠테이션 유형은 상기 애플리케이션 프레젠테이션이 이전에 제시되었던 상기 디스플레이의 지역을 더 포함하며;
    상기 애플리케이션 스위처는 상기 디스플레이의 지역에 상기 애플리케이션 프레젠테이션을 위치시킴으로써 상기 제 2 애플리케이션을 제시하는 것인, 애플리케이션들을 제시하는 디바이스.
  14. 적어도 두 개의 프레젠테이션 컴포넌트들을 통해 애플리케이션들을 제시하는 하드웨어 디바이스로서,
    복수의 애플리케이션 프레젠테이션 이력들 - 각각의 애플리케이션 프레젠테이션 이력들은 선택된 프레젠테이션 컴포넌트에 특유적이고, 상기 선택된 프레젠테이션 컴포넌트를 통해 애플리케이션들의 애플리케이션 프레젠테이션들을 식별하고, 제1 프레젠테이션 컴포넌트에 대한 제1 애플리케이션 프레젠테이션 이력은 제2 프레젠테이션 컴포넌트에 대한 제2 애플리케이션 프레젠테이션 이력과 구별됨 -; 및
    애플리케이션 프레젠터
    를 포함하고,
    상기 애플리케이션 프레젠터는,
    선택된 애플리케이션의 애플리케이션 프레젠테이션을 선택된 프레젠테이션 컴포넌트를 통해 제시한 것에 응답하여, 상기 선택된 프레젠테이션 컴포넌트의 애플리케이션 프레젠테이션 이력에 상기 애플리케이션 프레젠테이션을 기록하며;
    선택된 프레젠테이션 컴포넌트를 현재 애플리케이션 프레젠테이션으로부터 떠나도록 전이시키기 위한 요청을 수신한 것에 응답하여,
    상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력으로부터, 제 2 애플리케이션 프레젠테이션을 선택하며;
    상기 선택된 프레젠테이션 컴포넌트를 상기 현재 애플리케이션 프레젠테이션으로부터 상기 제 2 애플리케이션 프레젠테이션으로 전이시키는 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
  15. 제14항에 있어서,
    상기 요청을 수신한 것은, 상기 선택된 프레젠테이션 컴포넌트 상에서 현재 애플리케이션을 중지하기 위한 요청을 수신하는 것을 더 포함하며;
    상기 선택된 프레젠테이션 컴포넌트를 전이시키는 것은, 상기 선택된 프레젠테이션 컴포넌트의 애플리케이션 프레젠테이션 이력으로부터 상기 현재 애플리케이션의 상기 현재 애플리케이션 프레젠테이션을 제거하는 것을 더 포함한 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
  16. 제14항에 있어서,
    상기 요청을 수신한 것은, 제 2 애플리케이션을 중지한 후 상기 제 2 애플리케이션 프레젠테이션으로 전이시키기 위한 요청을 수신하는 것을 더 포함하며;
    상기 선택된 프레젠테이션 컴포넌트를 전이시키는 것은, 상기 제 2 애플리케이션을 재인스턴스화(reinstantiating)하는 것을 더 포함한 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
  17. 제16항에 있어서,
    상기 요청을 수신한 것은,
    상기 제 2 애플리케이션의 더 이른(earlier) 애플리케이션 프레젠테이션을 중지한 후 상기 제 2 애플리케이션 프레젠테이션으로 전이시키기 위한 요청 - 상기 요청은 상기 선택된 프레젠테이션 컴포넌트를 특정하지 않음 - 을 수신하는 것
    을 더 포함하며;
    상기 애플리케이션 프레젠터는 또한, 상기 요청을 수신한 것에 응답하여, 상기 제 2 애플리케이션의 상기 더 이른 애플리케이션 프레젠테이션이 제시되었던 상기 선택된 프레젠테이션 컴포넌트를 식별하는 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
  18. 제14항에 있어서,
    각각의 프레젠테이션 컴포넌트들은 프레젠테이션 능력에 따라 상기 애플리케이션들을 제시하고;
    상기 요청을 수신한 것은, 제 2 애플리케이션을 재인스턴스화하기 위한 요청을 수신하는 것을 포함하고, 상기 요청은 상기 선택된 프레젠테이션 컴포넌트를 특정하지 않고;
    상기 애플리케이션 프레젠터는 또한, 상기 요청을 수신한 것에 응답하여, 상기 제 2 애플리케이션의 상기 애플리케이션 프레젠테이션에 의해 이용된 프레젠테이션 능력을 갖는 상기 선택된 프레젠테이션 컴포넌트를 식별하는 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
  19. 제18항에 있어서,
    상기 요청을 수신한 것은, 상기 제 2 애플리케이션을 재인스턴스화하기 위한 요청을 수신하는 것을 포함하고,
    상기 요청은 상기 선택된 프레젠테이션 컴포넌트를 특정하지 않고;
    상기 애플리케이션 프레젠터는 또한, 상기 요청을 수신한 것에 응답하여,
    상기 제 2 애플리케이션의 상기 애플리케이션 프레젠테이션에 의해 이용된 프레젠테이션 능력을 갖는 적어도 두 개의 프레젠테이션 컴포넌트들의 리스트를 사용자에게 제시하며;
    상기 사용자로부터 사용자 선택 프레젠테이션 컴포넌트의 리스트 선택을 수신한 것에 응답하여, 상기 사용자 선택 프레젠테이션 컴포넌트를 상기 제 2 애플리케이션을 위한 상기 선택된 프레젠테이션 컴포넌트로서 선택하는 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
  20. 제14항에 있어서,
    상기 전이 이전에, 상기 제 2 애플리케이션 프레젠테이션은 이전의 프레젠테이션 컴포넌트를 통해 제시되며;
    상기 선택된 프레젠테이션 컴포넌트를 전이시키는 것은, 상기 제 2 애플리케이션 프레젠테이션을 상기 이전의 프레젠테이션 컴포넌트의 애플리케이션 프레젠테이션 이력으로부터 상기 선택된 프레젠테이션 컴포넌트의 상기 애플리케이션 프레젠테이션 이력으로 이동시키는 것을 더 포함한 것인, 애플리케이션들을 제시하는 하드웨어 디바이스.
KR1020177010939A 2014-09-24 2015-09-18 컴포넌트 특정 애플리케이션 프레젠테이션 이력들 KR102346571B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/495,181 US9860306B2 (en) 2014-09-24 2014-09-24 Component-specific application presentation histories
US14/495,181 2014-09-24
PCT/US2015/050866 WO2016048812A1 (en) 2014-09-24 2015-09-18 Component-specific application presentation histories

Publications (2)

Publication Number Publication Date
KR20170062494A KR20170062494A (ko) 2017-06-07
KR102346571B1 true KR102346571B1 (ko) 2021-12-31

Family

ID=54261081

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177010939A KR102346571B1 (ko) 2014-09-24 2015-09-18 컴포넌트 특정 애플리케이션 프레젠테이션 이력들

Country Status (11)

Country Link
US (1) US9860306B2 (ko)
EP (1) EP3198413A1 (ko)
JP (1) JP6700259B2 (ko)
KR (1) KR102346571B1 (ko)
CN (1) CN106716356B (ko)
AU (1) AU2015321700B2 (ko)
BR (1) BR112017004026A2 (ko)
CA (1) CA2959733A1 (ko)
MX (1) MX2017003839A (ko)
RU (1) RU2693186C2 (ko)
WO (1) WO2016048812A1 (ko)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10448111B2 (en) 2014-09-24 2019-10-15 Microsoft Technology Licensing, Llc Content projection
US10025684B2 (en) 2014-09-24 2018-07-17 Microsoft Technology Licensing, Llc Lending target device resources to host device computing environment
US9769227B2 (en) 2014-09-24 2017-09-19 Microsoft Technology Licensing, Llc Presentation of computing environment on multiple devices
US10635296B2 (en) 2014-09-24 2020-04-28 Microsoft Technology Licensing, Llc Partitioned application presentation across devices
US10439892B2 (en) * 2016-08-12 2019-10-08 Microsoft Technology Licensing, Llc Optimizing performance based on behavioral and situational signals
US10521187B2 (en) * 2016-08-31 2019-12-31 Lenovo (Singapore) Pte. Ltd. Presenting visual information on a display
CN107438070B (zh) * 2017-07-28 2020-12-04 上海联影医疗科技股份有限公司 一种协议配置方法及装置
CN109569214B (zh) * 2018-12-24 2021-07-16 海信视像科技股份有限公司 分屏模式下的应用显示方法及装置、显示设备

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110126119A1 (en) 2009-11-20 2011-05-26 Young Daniel J Contextual presentation of information
US20120210266A1 (en) 2011-02-14 2012-08-16 Microsoft Corporation Task Switching on Mobile Devices

Family Cites Families (62)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100005396A1 (en) 2000-02-18 2010-01-07 Nason D David Method and system for controlling a comlementary user interface on a display surface
SE522878C2 (sv) 2000-06-16 2004-03-16 Ericsson Telefon Ab L M Datakommunikationssystem
US6748195B1 (en) 2000-09-29 2004-06-08 Motorola, Inc. Wireless device having context-based operational behavior
WO2002082387A1 (en) 2001-04-04 2002-10-17 Microcell I5 Inc. Method and system for effecting an electronic transaction
US6941356B2 (en) 2001-06-29 2005-09-06 International Business Machines Corporation Automated configuration enabled via interrogation over network
FI111494B (fi) 2001-06-29 2003-07-31 Nokia Corp Langaton käyttöliittymän laajennus
US20130024778A1 (en) 2011-07-13 2013-01-24 Z124 Dynamic cross-environment application configuration/orientation
US7010755B2 (en) 2002-04-05 2006-03-07 Microsoft Corporation Virtual desktop manager
US20030214458A1 (en) 2002-05-20 2003-11-20 Vladimir Giemborek Multiple display configuration
CZ294898B6 (cs) 2002-12-16 2005-04-13 České Vysoké Učení Technické Fakulta Elektrotechnická Zapojení pro generování multiplikativní inverze nad konečným tělesem GF(p)
US7840509B1 (en) 2003-03-26 2010-11-23 Edmund Messina Computer-based system for interrogating a user and generating a result
US8504936B2 (en) 2010-10-01 2013-08-06 Z124 Changing stack when swapping
US8150945B2 (en) 2003-09-22 2012-04-03 Broadcom Corporation Host arbitrated user interface resource sharing
US7716273B2 (en) 2003-10-24 2010-05-11 Microsoft Corporation Systems and methods for projecting content from computing devices
US7761800B2 (en) * 2004-06-25 2010-07-20 Apple Inc. Unified interest layer for user interface
US20060203758A1 (en) 2005-03-11 2006-09-14 Samsung Electronics Co., Ltd. Mobile terminal for relaying multimedia data to an external display device
US7340686B2 (en) * 2005-03-22 2008-03-04 Microsoft Corporation Operating system program launch menu search
US20060236255A1 (en) * 2005-04-18 2006-10-19 Microsoft Corporation Method and apparatus for providing audio output based on application window position
JP2006330912A (ja) * 2005-05-24 2006-12-07 Toshiba Corp 情報処理装置およびプログラム
US7523226B2 (en) 2005-11-09 2009-04-21 Microsoft Corporation Controlling an auxiliary display user interface based on usage context
US7620610B2 (en) 2006-06-27 2009-11-17 Microsoft Corporation Resource availability for user activities across devices
US7676761B2 (en) * 2006-06-30 2010-03-09 Microsoft Corporation Window grouping
US7937075B2 (en) 2006-10-06 2011-05-03 At&T Intellectual Property I, L.P. Mode changing of a mobile communications device and vehicle settings when the mobile communications device is in proximity to a vehicle
US20080248834A1 (en) 2007-04-03 2008-10-09 Palm, Inc. System and methods for providing access to a desktop and applications of a mobile device
US9311115B2 (en) 2008-05-13 2016-04-12 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
WO2009143294A2 (en) 2008-05-20 2009-11-26 Citrix Systems, Inc. Methods and systems for using external display devices with a mobile computing device
US20100060572A1 (en) 2008-09-11 2010-03-11 Ely Tsern Display device for interfacing with a handheld computer device that dynamically generates a different user environment for the display device
US20110066971A1 (en) 2009-09-14 2011-03-17 Babak Forutanpour Method and apparatus for providing application interface portions on peripheral computing devices
KR20110058975A (ko) 2009-11-27 2011-06-02 삼성전자주식회사 슬라이딩형 휴대용 단말기
US8661361B2 (en) * 2010-08-26 2014-02-25 Sitting Man, Llc Methods, systems, and computer program products for navigating between visual components
US20110214162A1 (en) 2010-02-26 2011-09-01 Nokia Corporation Method and appartus for providing cooperative enablement of user input options
US8634873B2 (en) 2010-03-17 2014-01-21 Microsoft Corporation Mobile communication device having multiple, interchangeable second devices
EP2553561A4 (en) 2010-04-01 2016-03-30 Citrix Systems Inc INTERACTION WITH REMOTE APPLICATIONS DISPLAYED ON A VIRTUAL DESKTOP OF A TABLET COMPUTER DEVICE
US8266551B2 (en) 2010-06-10 2012-09-11 Nokia Corporation Method and apparatus for binding user interface elements and granular reflective processing
US9134799B2 (en) 2010-07-16 2015-09-15 Qualcomm Incorporated Interacting with a projected user interface using orientation sensors
US20120050183A1 (en) 2010-08-27 2012-03-01 Google Inc. Switching display modes based on connection state
US9123058B2 (en) 2011-11-16 2015-09-01 Flextronics Ap, Llc Parking space finder based on parking meter data
US8711552B2 (en) 2010-10-06 2014-04-29 Compal Electronics Inc. Modular system having expandable form factor
US9086839B2 (en) 2010-12-15 2015-07-21 Userful Corporation Multiple user computing method and system for same
US8963799B2 (en) 2011-01-11 2015-02-24 Apple Inc. Mirroring graphics content to an external display
US20120266079A1 (en) 2011-04-18 2012-10-18 Mark Lee Usability of cross-device user interfaces
WO2012144632A1 (ja) * 2011-04-20 2012-10-26 Necカシオモバイルコミュニケーションズ株式会社 情報処理装置、情報処理方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体
US20120282914A1 (en) 2011-05-06 2012-11-08 Lael Andrew Alexander Smart phone companion loop
WO2013028569A2 (en) 2011-08-19 2013-02-28 Apple Inc. Interactive content for digital books
US9542148B2 (en) 2011-08-24 2017-01-10 Lenovo (Singapore) Pte. Ltd. Adapting a user interface of a remote desktop host
US20130057572A1 (en) 2011-09-07 2013-03-07 Microsoft Corporation Multiple Display Device Taskbars
US20130080932A1 (en) 2011-09-27 2013-03-28 Sanjiv Sirpal Secondary single screen mode activation through user interface toggle
US20130179838A1 (en) 2012-01-05 2013-07-11 Microsoft Corporation Maintanence of terminated applications within the backstack
US9032292B2 (en) 2012-01-19 2015-05-12 Blackberry Limited Simultaneous display of multiple maximized applications on touch screen electronic devices
KR101901720B1 (ko) 2012-04-02 2018-11-13 삼성전자주식회사 더미 장치와의 연동 방법 및 그 전자 장치
KR101952682B1 (ko) 2012-04-23 2019-02-27 엘지전자 주식회사 이동 단말기 및 그 제어방법
GB2502082B (en) 2012-05-15 2014-04-16 Displaylink Uk Ltd A display system
US9003299B2 (en) 2012-06-08 2015-04-07 Apple Inc. Extensible application state preservation architecture
US20130335340A1 (en) 2012-06-19 2013-12-19 International Business Machines Corporation Controlling display of images received from secondary display devices
CN103677711B (zh) 2012-09-10 2018-07-20 三星电子株式会社 连接移动终端和外部显示器的方法和实现该方法的装置
US20140118222A1 (en) 2012-10-30 2014-05-01 Cloudcar, Inc. Projection of content to external display devices
US20140129695A1 (en) 2012-11-02 2014-05-08 Gface Gmbh Connected devices
US20140181715A1 (en) 2012-12-26 2014-06-26 Microsoft Corporation Dynamic user interfaces adapted to inferred user contexts
US9344868B2 (en) 2013-02-25 2016-05-17 Here Global B.V. Method and apparatus for contextual content and service forwarding for mobile devices
KR102179816B1 (ko) * 2014-03-25 2020-11-17 엘지전자 주식회사 히스토리 정보를 제공하는 디스플레이 디바이스 및 그 제어 방법
US20150324067A1 (en) * 2014-05-07 2015-11-12 Honda Motor Co., Ltd. Vehicle infotainment gateway - multi-application interface
US20160070580A1 (en) 2014-09-09 2016-03-10 Microsoft Technology Licensing, Llc Digital personal assistant remote invocation

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110126119A1 (en) 2009-11-20 2011-05-26 Young Daniel J Contextual presentation of information
US20120210266A1 (en) 2011-02-14 2012-08-16 Microsoft Corporation Task Switching on Mobile Devices

Also Published As

Publication number Publication date
BR112017004026A2 (pt) 2017-12-05
WO2016048812A1 (en) 2016-03-31
AU2015321700B2 (en) 2020-10-29
JP6700259B2 (ja) 2020-05-27
CN106716356B (zh) 2020-05-19
RU2017109690A3 (ko) 2019-04-17
CN106716356A (zh) 2017-05-24
RU2017109690A (ru) 2018-09-24
MX2017003839A (es) 2017-06-29
AU2015321700A1 (en) 2017-03-16
RU2693186C2 (ru) 2019-07-01
US20160085416A1 (en) 2016-03-24
KR20170062494A (ko) 2017-06-07
EP3198413A1 (en) 2017-08-02
US9860306B2 (en) 2018-01-02
CA2959733A1 (en) 2016-03-31
JP2017529624A (ja) 2017-10-05

Similar Documents

Publication Publication Date Title
KR102346571B1 (ko) 컴포넌트 특정 애플리케이션 프레젠테이션 이력들
US10868779B2 (en) Indication of communication across applications
KR102385757B1 (ko) 메시지 대화 이력의 신속 내비게이션
JP6700254B2 (ja) 通話中のリアルタイム共有
CA2894751C (en) Managing audio at the tab level for user notification and control
JP6506431B2 (ja) デジタルコンテンツを再生しながらコンテキストをブラウズするためのモバイルユーザインターフェース
US9236088B2 (en) Application communication
CN106687923B (zh) 多个设备上的计算环境的呈现
CN107113468B (zh) 一种移动计算设备以及实现的方法、计算机存储介质
US20120158972A1 (en) Enhanced content consumption
EP2731011A1 (en) Shared instant media access for mobile devices
KR20160040770A (ko) 컨텐츠 탐색 방법 및 장치

Legal Events

Date Code Title Description
E701 Decision to grant or registration of patent right
GRNT Written decision to grant