KR20160140932A - 확장 가능한 애플리케이션 표시 및 콘텐트 전송 - Google Patents

확장 가능한 애플리케이션 표시 및 콘텐트 전송 Download PDF

Info

Publication number
KR20160140932A
KR20160140932A KR1020167030849A KR20167030849A KR20160140932A KR 20160140932 A KR20160140932 A KR 20160140932A KR 1020167030849 A KR1020167030849 A KR 1020167030849A KR 20167030849 A KR20167030849 A KR 20167030849A KR 20160140932 A KR20160140932 A KR 20160140932A
Authority
KR
South Korea
Prior art keywords
application
display
computing device
content
expanded
Prior art date
Application number
KR1020167030849A
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 KR20160140932A publication Critical patent/KR20160140932A/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/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/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/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/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
    • 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/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • G06F9/543User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
    • 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]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • 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/08Protocols specially adapted for terminal emulation, e.g. Telnet
    • 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

Abstract

확장 가능한 애플리케이션 표시 기술이 설명된다. 그 기술은, 파일 시스템의 루트 레벨(예를 들면, 시작 메뉴 또는 스크린) 내에서 중간체로서 기능할 수도 있는 확장 가능한 타일의 지원을 포함할 수도 있다. 확장 가능한 타일은, 예를 들면, 타일의 미확장 버전에 포함되지 않았던 추가적인 정보를 획득하기 위한 제스처를 통해 출력될 수도 있고, 애플리케이션에 입력을 제공하도록 활용될 수도 있고, 등등일 수도 있다. 따라서, 이것은 유저에 의한 비양식적 상호작용을 지원할 수도 있다. 확장된 표시가 태스크바에 포함되는 기술이 또한 설명되는데, 태스크바는 비양식적 상호작용, 표시에서 표시되는 콘텐트의 디바이스 또는 애플리케이션으로의 전송, 모바일 컴퓨팅 디바이스에 의한 표시로 개시되는 상호작용의 계속, 및 등등을 위해 또한 사용될 수도 있다. 확장 가능한 타일 기술은 또한, 데스크탑 쉘 및 몰입형 쉘과 같은, 운영체제의 쉘 사이의 상호작용을 지원하기 위해 활용될 수도 있다. 확장 가능한 타일을 내포하는 그리고 내포하지 않는 이들 및 다른 예의 추가적인 설명도 또한 고려된다.

Description

확장 가능한 애플리케이션 표시 및 콘텐트 전송{EXPANDABLE APPLICATION REPRESENTATION AND SENDING CONTENT}
인터넷을 통한 애플리케이션 이용 가능성의 출현과 함께, 유저에게 이용 가능하게 되는 애플리케이션의 수는, 유저가 이들 애플리케이션에 액세스할 수도 있는 용이성과 함께 증가하였다. 따라서, 유저는 아주 많은 수의 애플리케이션을 선택하여 유저의 컴퓨팅 디바이스에 설치할 수도 있다.
그러나, 유저에 의한 애플리케이션과의 상호작용은, 컴퓨팅 디바이스 상에 설치되어 있는 애플리케이션의 수에 의해 방해를 받을 수도 있다. 이것은 주목하는 애플리케이션의 위치를 결정하는 것뿐만 아니라 그 애플리케이션의 기능성에 액세스하는 것을 포함할 수도 있다. 예를 들면, 유저는 날씨 정보를 얻기 위해 날씨 애플리케이션을 선택할 수도 있고, 그 다음 최신 뉴스를 알기 위해 뉴스 애플리케이션과 상호작용할 수도 있고, 및 다수의 다른 애플리케이션을 통해 기타 등등을 할 수도 있다. 결론적으로, 원하는 정보의 위치를 알아내기 위한 이들 애플리케이션을 통한 내비게이션은 상당한 양의 시간이 걸릴 수도 있는데, 이것은 컴퓨팅 디바이스 상에서 이용 가능한 애플리케이션의 수에 의해 더 복잡해질 수도 있다.
확장 가능한 애플리케이션 표시 기술(expandable application representation technique)이 설명된다. 그 기술은, 파일 시스템의 루트 레벨(예를 들면, 시작 메뉴 또는 스크린) 내에서 중간체(intermediary)로서 기능할 수도 있는 확장 가능한 표시의 지원을 포함할 수도 있다. 확장 가능한 표시는, 예를 들면, 표시의 미확장 버전에 포함되지 않았던 추가적인 정보를 획득하기 위한 제스처를 통해 출력될 수도 있고, 애플리케이션에 입력을 제공하도록 활용될 수도 있고, 등등일 수도 있다. 따라서, 이것은 파일 시스템의 루트 레벨 내에서 유저에 의한 비양식적(non-modal) 상호작용을 지원할 수도 있다.
확장된 표시가 태스크바에 포함되는 기술이 또한 설명되는데, 태스크바는 비양식적 상호작용, 표시에서 표시되는 콘텐트의 디바이스 또는 애플리케이션으로의 전송, 모바일 컴퓨팅 디바이스에 의한 표시로 개시되는 상호작용의 계속, 및 등등을 위해 또한 사용될 수도 있다. 확장 가능한 표시 기술은 또한, 데스크탑 쉘(desktop shell) 및 몰입형 쉘(immersive shell)과 같은, 운영체제의 쉘 사이의 상호작용을 지원하기 위해 활용될 수도 있다. 확장 가능한 표시를 내포하는 그리고 내포하지 않는 이들 및 다른 예의 추가적인 설명도 또한 고려되는데, 상세한 설명에서 추가로 설명된다.
이 개요는 하기의 상세한 설명에서 더 설명되는 엄선된 개념을 간소화된 형태로 소개하기 위해 제공된다. 이 개요는 청구된 주제의 주요한 피쳐 또는 본질적인 피쳐를 식별하도록 의도된 것도 아니고, 청구된 주제의 범위를 결정함에 있어서 보조로서 사용되도록 의도된 것도 아니다.
첨부된 도면을 참조로 상세한 설명이 설명된다. 도면에서, 도면 부호의 가장 왼쪽의 숫자(들)는 그 도면 부호가 처음 나타나는 도면을 식별한다. 설명 및 도면의 상이한 사례에서의 동일한 도면 부호의 사용은 유사한 또는 동일한 아이템을 나타낼 수도 있다.
도 1은 본원에서 설명되는 확장 가능한 표시 기술을 수행하도록 구성되는 예시적인 구현예에서의 환경을 묘사한다.
도 2는, 애플리케이션과의 유저 상호작용을 지원하기 위해 사용 가능한 복수의 디스플레이 모드를 나타내는 예시적인 구현예를 묘사한다.
도 3은, 애니메이션을 내포하는 확장된 표시의 출력을 야기하기 위한 제스처의 사용을 도시하는 예시적인 구현예를 묘사한다.
도 4는 도 3의 제스처에 응답하여 출력되는 확장된 표시를 묘사한다.
도 5는 확장된 표시와의 유저 상호작용의 사례를 도시하는 예시적인 구현예를 묘사한다.
도 6은, 아이콘의 선택을 통해 후속하여 소셜 네트워크 서비스로 게시될 수도 있는 텍스트를 수신하도록 구성되는 텍스트 입력 박스를 갖는 확장된 표시의 더 큰 뷰의 예시이다.
도 7은 확장된 표시에 대한 자유 배치의 예시적인 구현예를 묘사한다.
도 8은 확장된 표시에 대한 탭이 있는 배치(tabbed arrangement)의 예시적인 구현예를 묘사한다.
도 9는 확장된 표시에 대한 스팬 배치(span arrangement)의 예시적인 구현예를 묘사한다.
도 10은, 리스트 레이아웃, 그리드 레이아웃, 및 확장 가능한 리스트 레이아웃 중 하나 이상을 활용할 수도 있는 자유 배치, 탭이 있는 배치, 및 스팬 배치를 묘사한다.
도 11은, 계산기 애플리케이션 및 음악 애플리케이션의 표시 및 확장된 표시를 도시하는 예시적인 구현예이다.
도 12는, 뉴스 애플리케이션 및 연락처 애플리케이션의 표시 및 확장된 표시를 도시하는 예시적인 구현예이다.
도 13은 표시와 통지 및 확장된 표시를 통해 이용 가능한 증가된 콘텐트의 일목요연성(glance-able nature)을 예시하는 예시적인 구현예를 묘사한다.
도 14는, 다운로드 및 사용을 위해 애플리케이션에 대한 유저 액세스를 제공하도록 구성되는 애플리케이션 스토어의 유저 인터페이스를 도시하는 예시적인 구현예를 묘사한다.
도 15는, 도 1의 운영체제의 데스크탑 쉘 및 몰입형 쉘을 지원하도록 동작할 수 있는 예시적인 구현예에서의 환경의 예시이다.
도 16은 도 15의 데스크탑 쉘의 확장된 표시의 예시적인 구현예를 묘사한다.
도 17은, 도 1의 운영체제의 백 스택(back stack)으로서 구성되는 태스크바에 확장된 표시가 포함되는 예시적인 구현예에서의 시스템을 묘사한다.
도 18은, 표시에 포함되는 콘텐트의 아이템을 디바이스로 전송하기 위한 태스크바에 확장된 표시가 포함되는 예시적인 구현예에서의 시스템을 묘사한다.
도 19는, 파일 공유 서비스의 표시에 포함되는 콘텐트의 아이템을 컴퓨팅 디바이스에 의해 액세스 가능한 디바이스로 전송하기 위한 태스크바에 확장된 표시가 포함되는 예시적인 구현예에서의 시스템을 묘사한다.
도 20은, 확장된 표시를 내포하는 컴퓨팅 디바이스 사이에서 실행의 이송을 수반하는 디바이스 사이에서의 콘텐트의 이송의 다른 예를 도시하는 예시적인 구현예를 묘사한다.
도 21은, 맵에 대한 방향을 생성하기 위해 유저가 컴퓨팅 디바이스와 상호작용할 수도 있는 예시적인 구현예를 묘사한다.
도 22는, 디바이스 사이에서의 확장된 표시와 연관되는 실행의 결과의 이송의 다른 예시적인 구현예를 묘사한다.
도 23은, 공유된 네트워크 환경과 연관하여 콘텐트의 액티비티 레벨을 나타내기 위해 확장된 표시가 활용되는 예시적인 구현예를 묘사한다.
도 24는, 운영체제의 파일 계층의 루트 레벨에서 표시가 확장되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 25는 확장된 표시를 포함하는 태스크바가 디스플레이되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 26은, 확장된 표시 내에 포함되는 콘텐트가 애플리케이션 또는 디바이스로 전송되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 27은, 확장된 표시와 연관되는 애플리케이션의 실행의 결과가 컴퓨팅 디바이스 사이에서 이송되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 28은, 확장된 표시가 데스크탑 쉘에 대해 구성되는 예시적인 구현예에서의 프로시져를 묘사하는 흐름도이다.
도 29는, 본원에서 설명되는 기술의 실시형태를 구현하기 위해 도 1 내지 도 28을 참조로 설명된 바와 같은 임의의 타입의 컴퓨팅 디바이스로서 구현될 수 있는 예시적인 디바이스의 다양한 컴포넌트를 예시한다.
개관
유저로 하여금 애플리케이션을 명확히 런칭하게 하지 않고도 아주 다양한 기능성을 지원하기 위해 애플리케이션의 표시(예를 들면, 아이콘, 타일, 및 등등)가 활용될 수도 있다. 예를 들면, 날씨 애플리케이션의 표시는, 현재 날씨 상태를 설명하는 통지를 포함할 수도 있다. 그러나, 통지를 디스플레이하기 위해 활용되었던 종래의 기술은 종종 정적이고 양식이 정해져(modal) 있었으며 따라서, 종종, 통지에 관한 정보를 더 얻기 위해 유저가 표시로부터 멀리 내비게이팅해야만 하는 것을 필요로 하였다.
확장 가능한 애플리케이션 표시 기술이 설명된다. 그 기술은, 파일 시스템의 루트 레벨(예를 들면, 시작 스크린) 내에서 중간체로서 기능할 수도 있는 확장 가능한 표시(예를 들면, 타일)의 지원을 포함할 수도 있다. 예를 들면, 루트 레벨은, 시작 메뉴 내에 애플리케이션의 표시, 예컨대 타일을 포함할 수도 있다.
타일의 미확장 버전에 포함되지 않았던 추가적인 정보를 얻기 위한 제스처를 통해, 타일의 확장된 버전이 출력될 수도 있다. 확장된 표시는, 예를 들면, 확장시 그리드에서의 다른 표시의 재배치를 통해 루트 레벨 내에 또한 포함될 수도 있다. 추가적인 콘텐트, 예컨대 추가적인 통지 또는 특정 통지와 연관되는 추가적인 콘텐트를 제공하기 위해, 공유된 네트워크 환경에서 콘텐트의 액티비티 레벨을 보기 위해, 및 등등을 위해, 제1 확장된 표시가 활용될 수도 있다. 유저가 제한된 입력을 애플리케이션에 제공하는 것을 허용하기 위해 및/또는 애플리케이션 피쳐에 대해, 전화를 거는 것, 텍스트로 답장하는 것, 상태를 게시하는 것, 비디오 또는 노래를 플레이하는 것, 등등과 같은 제한된 기능성을 허용하기 위해 다른 확장된 표시가 활용될 수도 있다. 루트 레벨 모드에서 애플리케이션의 다른 확장된 표시는, 더 큰 루트 모드 디스플레이 내에서의, 계산기, 스도쿠(Sudoku) 게임, 비디오 플레이어와 같은 앱의 완전한 기능성 구현을 포함할 수도 있다. 애플리케이션의 확장된 표현(presentation)은 아니지만, 다음 확장은, 데스크탑의 풀 스크린 또는 윈도우 내에서 실행하는 통상적인 풀 스크린 또는 분할 스크린 애플리케이션으로의 애플리케이션의 런칭일 것이다. 따라서, 루트 모드 디스플레이 내에서의 애플리케이션의 모든 확장된 표현은, 유저에게 루트 레벨에서 "멀리" 내비게이팅할 것을 강요하지 않고도, 유저에 의한 비양식적 상호작용을 지원할 수도 있다.
확장된 표시가 태스크바에 포함되는 기술이 또한 설명되는데, 태스크바는 비양식적 상호작용, 표시에서 표시되는 콘텐트의 디바이스 또는 애플리케이션으로의 전송, 모바일 컴퓨팅 디바이스에 의한 표시로 개시되는 상호작용의 계속, 및 등등을 위해 또한 사용될 수도 있다. 확장 가능한 타일 기술은 또한, 데스크탑 쉘 및 몰입형 쉘과 같은, 운영체제의 쉘 사이의 상호작용을 지원하기 위해 활용될 수도 있다. 이들 및 다른 기술의 추가적인 설명은 하기의 섹션과 연관하여 발견될 수도 있다.
하기의 논의에서는, 본원에서 설명되는 기술을 활용할 수도 있는 예시적인 환경이 먼저 설명된다. 그 다음, 예시적인 환경뿐만 아니라 다른 환경에서 수행될 수도 있는 예시적인 프로시져가 설명된다. 결과로서, 예시적인 프로시져의 성과는, 예시적인 환경에 제한되지 않으며, 예시적인 환경은 예시적인 프로시져의 성과에 제한되지 않는다.
예시적인 환경
도 1은 본원에서 설명되는 확장 가능한 애플리케이션 표시 기술을 활용하도록 동작 가능한 예시적인 구현예에서의 환경(100)의 예시이다. 예시된 환경(100)은, 네트워크(106)를 통해 통신 가능하게 커플링되는 웹 서비스(102) 및 컴퓨팅 디바이스(104)를 포함한다. 웹 서비스(102) 및 컴퓨팅 디바이스(104)는 폭 넓은 범위의 컴퓨팅 디바이스에 의해 구현될 수도 있다.
예를 들면, 컴퓨팅 디바이스는, 네트워크(106)를 통해 통신할 수 있는 컴퓨터, 예컨대 데스크탑 컴퓨터, 이동국(mobile station), 엔터테인먼트 어플라이언스, 디스플레이 디바이스에 통신 가능하게 커플링된 셋탑 박스, 모바일 통신 디바이스(예를 들면, 컴퓨팅 디바이스(104)에 대해 예시된 바와 같은 무선 전화), 게임 콘솔, 및 등등으로서 구성될 수도 있다. 따라서, 컴퓨팅 디바이스는 상당한 메모리 및 프로세스 리소스를 갖는 풀 리소스 디바이스(예를 들면, 퍼스널 컴퓨터, 게임 콘솔)로부터 제한된 메모리 및/또는 프로세싱 리소스를 갖는 낮은 리소스 디바이스(예를 들면, 전통적인 셋탑 박스, 핸드헬드 게임 콘솔)까지의 범위에 이를 수도 있다. 추가적으로, 컴퓨팅 디바이스는, 복수의 상이한 디바이스, 예컨대, 동작을 수행하기 위해 업체에 의해 활용되는 다수의 서버, 원격 제어 및 셋탑 박스 조합, 제스처를 캡쳐하도록 구성되는 이미지 캡쳐 디바이스 및 게임 콘솔, 및 등등을 나타낼 수도 있다.
네트워크(106)가 인터넷으로서 예시되지만, 인터넷은 아주 다양한 구성을 취할 수도 있다. 예를 들면, 네트워크(106)는 광대역 통신망(wide area network; WAN), 근거리 통신망(local area network; LAN), 무선 네트워크, 공중 전화망, 인트라넷, 및 등등을 포함할 수도 있다. 또한, 단일의 네트워크(106)가 도시되지만, 네트워크(106)는 다수의 네트워크를 포함하도록 구성될 수도 있다.
컴퓨팅 디바이스(104)는 또한, 운영체제(108)를 포함하는 것으로 예시된다. 운영체제(108)는, 클라이언트(104)의 기저의 기능성을, 컴퓨팅 디바이스(104) 상에서 실행 가능한 애플리케이션(110)으로 추상화하도록 구성된다. 예를 들면, 운영체제(108)는, 이 기저의 기능성이 어떻게 구현되는지를 모르는 상태에서 애플리케이션(110)이 기록될 수도 있도록, 컴퓨팅 디바이스(104)의 프로세싱, 메모리, 네트워크, 및/또는 디스플레이 기능성을 추상화할 수도 있다. 애플리케이션(110)은, 예를 들면, 디스플레이 디바이스(112)에 의해 렌더링되어 디스플레이될 데이터를, 이 렌더링이 어떻게 수행될 것인지를 이해하지 않고도, 운영체제(108)로 제공할 수도 있다.
운영체제(108)는 또한, 예컨대 컴퓨팅 디바이스(104)의 유저에 의해 내비게이팅 가능한 유저 인터페이스 및 파일 시스템을 관리하기 위한, 다양한 다른 기능성을 나타낼 수도 있다. 이것의 예가, 컴퓨팅 디바이스(104)의 디스플레이 디바이스(112) 상에서 디스플레이되는 애플리케이션 런처(예를 들면, 시작 스크린)로서 예시된다. 시작 스크린은 복수의 애플리케이션(110)의 표시, 예컨대 애플리케이션 표시(예를 들면, 아이콘, 타일, 등등)의 행 및/또는 열의 그리드 또는 매트릭스에서 디스플레이될 수도 있는 아이콘, 타일, 텍스트 설명, 및 등등을 포함할 수도 있다. 시작 스크린은 계층적 파일 구조의 루트 레벨로서 고려될 수도 있는데, 예를 들면, 다른 레벨의 각각은 계층에서 루트 레벨 "아래에" 있는 것으로 고려될 수도 있다. 예시된 예에서 도시되는 표시는, 컴퓨팅 디바이스(104) 상에서의 실행을 위해 애플리케이션(110) 중 대응하는 애플리케이션을 런칭하도록 선택될 수 있다. 이 방식에서, 유저는 파일 구조를 통해 손쉽게 내비게이팅할 수도 있고 주목하는 애플리케이션의 실행을 개시할 수도 있다.
운영체제(108)는 또한, 통지 모듈(114)을 포함하는 것으로 예시된다. 통지 모듈(114)은, 애플리케이션의 표시의 일부로서 디스플레이될 통지(116)를 관리하는 기능성을 나타낸다. 예를 들면, 날씨 애플리케이션의 표시(118)는, 지명 및 현재 날씨 상태를 나타내는 통지, 예를 들면, "시애틀 65도/구름 낌"을 포함하는 것으로 예시된다. 마찬가지로, 여행 애플리케이션에 대한 표시(120)는, 현재 비행 상태가 "지연"되고 있다는 것을 나타내는 통지를 포함하는 것으로 예시된다. 이 방식에서, 유저로 하여금 애플리케이션의 각각을 런칭하여 내비게이팅하게 하지 않고도, 애플리케이션(110)에 관한 정보를 손쉽게 볼 수도 있다. 특정 애플리케이션의 표시가 도시되지만, 서비스에서의 유저, 예를 들면, 소셜 네트워크 서비스에서의 친구의 참여를 참조하는 애플리케이션의 표시와 같은, 애플리케이션의 다른 표시도 또한 고려된다.
하나 이상의 구현예에서, 통지(116)는 대응하는 애플리케이션(110)을 실행하지 않고 관리될 수도 있다. 예를 들면, 통지 모듈(114)은 여러 상이한 소스로부터, 예컨대 소프트웨어(예를 들면, 컴퓨팅 디바이스(104)에 의해 실행되는 다른 애플리케이션)로부터, 네트워크(106)를 통해 웹 서비스(102)로부터, 및 등등으로부터 통지(116)를 수신할 수도 있다. 이것은, 통지가 어디서 어떻게 수신될지를 명시하는 통지 모듈(114)에서의 애플리케이션(110)의 등록에 응답하여 수행될 수도 있다. 그 다음, 통지 모듈(114)은, 애플리케이션(110)을 실행하지 않고도 통지(116)가 어떻게 디스플레이되는지를 표시의 일부로서 관리할 수도 있다. 이것은, 통지(116)를 출력하기 위해 애플리케이션(110)의 각각을 실행하지 않는 것에 의해, 배터리 수명 및 컴퓨팅 디바이스(104)의 성능을 향상시키도록 사용될 수도 있다.
추가적으로, 통지 모듈(114)은, 애플리케이션(110)의 표시의 일부로서 통지(116)가 어떻게 디스플레이될지를 각각의 애플리케이션(110)의 개발자가 명시하는 것을 허용하는 기술을 지원할 수도 있다. 예를 들면, 통지 모듈(114)은, 시스템 호출, 및 등등을 사용하여 런타임시, 애플리케이션(110)의 매니페스트(122), 예컨대 애플리케이션(110)을 설치하기 위해 사용되는 설치 매니페스트를 검사할 수도 있다. 매니페스트(122)는, 통지(116)가 언제 어떻게 디스플레이될지를 설명할 뿐만 아니라, 어떤 통지(116)가 디스플레이되어야 하는지를 결정하기 위해 통지(116)가 어떻게 관리되어야 하는지를 설명할 수도 있다.
통지 모듈(114)은 또한, 통지(116)가 어떻게 디스플레이되어야 하고 관리되어야 하는지를 개발자 또는 다른 엔티티가 명시하는 것을 가능하게 하는 다양한 다른 기술을 활용할 수도 있다. 예를 들면, 통지(116)는, 통지(116)가 어떻게 디스플레이되어야 하는지를 및/또는 어떻게 관리되어야 하는지를 명시하는 대응하는 태그와 함께 전달될 수도 있다. 따라서, 태그의 발원지(originator)는, 대응하는 통지(116)가 어떻게 디스플레이되어야 하는지 또는 어떻게 관리되어야 하는지를 명시할 수도 있다. 이것은, 다음의 섹션에서 추가로 설명되는 바와 같이 여러 상이한 기능성을 가능하게 하도록 수행될 수도 있다.
본 논의가 클라이언트에서의 통지 모듈(114)의 통합을 설명하였지만, 통지 모듈(114)의 기능성은 다양한 방식으로 구현될 수도 있다. 예를 들면, 통지 모듈(124)의 기능성은 웹 서비스(102)에 의해 전체적으로 또는 부분적으로 통합될 수도 있다. 통지 모듈(124)은, 예를 들면, 다른 웹 서비스로부터 수신되는 통지를 프로세싱할 수도 있고 네트워크(106)를 통한 컴퓨팅 디바이스(104)로의 분배를 위해 통지를 관리할 수도 있다.
앞서 설명된 바와 같이, 종래의 기술은 종종 양식이 정해져 있었으며 따라서 더 많은 정보를 얻기 위해 유저로 하여금 루트 레벨로부터 멀리 내비게이팅하게 하였다. 예를 들면, 날씨 애플리케이션의 표시(118)는, 지명 및 현재 날씨 상태를 나타내는 통지, 예를 들면, "시애틀 65도/구름 낌"을 포함하는 것으로 예시된다. 추가적인 정보를 얻기 위해, 유저는 표시(118)를 선택하여 대응하는 애플리케이션을 런칭하였는데, 이것은 이 예에서 유저가 시작 메뉴를 벗어나게 한다. 그러나, 몇몇 경우에, 추가적인 콘텐트를 제공하기 위해 표시가 루트 레벨에서 확장될 수도 있으며, 유저로 하여금 루트 레벨에서 멀리 내비게이팅하게 하지 않고도 추가 확장된 뷰가 추가적인 기능성을 지원하고 따라서 비양식적 상호작용을 지원하는 기술이 설명되는데, 그 예는 다음과 같이 설명되고 대응하는 도면에서 도시된다.
도 2는, 애플리케이션과의 유저 상호작용을 지원하기 위해 사용 가능한 복수의 디스플레이 모드를 나타내는 예시적인 구현예(200)를 묘사한다. 예시적인 구현예는, 애플리케이션 및 연관 콘텐트와의 상호작용을 위한 제1, 제2, 제3, 및 제4 디스플레이 모드(202, 204, 206)의 사용을 통해 예시된다. 제1 디스플레이 모드(202)에서, 표시(208)는 연락처에 대응하는 타일로서 구성되는데, 그 타일은, 그 연락처가 유저의 게시물 상에 코멘트를 달았다는 통지를 또한 포함한다. 이 통지에 관한 추가적인 정보를 보기 위해, 유저는, 표시(208)의 확장을 야기하여 제2 디스플레이 모드(204)로 전이하게 하는 입력(예를 들면, 제스처, 커서 제어 디바이스를 통한 선택, 스피치 입력, 및 등등)을 제공할 수도 있다.
제2 디스플레이 모드(204)에서는, 제스처 또는 상기 설명된 다른 입력에 응답하여 출력되는 확장된 표시(210)가 도시된다. 확장된 표시(210)는 이 예에서 통지에 연관되는 추가적인 콘텐트를 포함한다. 예를 들면, 확장된 표시(210)는, 게시물의 주제였던 사진, 게시물과 연관하여 만들어진 다른 코멘트, 도 5 및 도 6과 연관하여 더 설명되는 바와 같이 컴퓨팅 디바이스(104)의 유저로부터 하나 이상의 입력을 수신하도록 구성되는 입력부뿐만 아니라, 연락처에 의해 표시된 유저에 의해 실제 만들어졌던 게시물을 포함한다. 따라서, 표시(210)는, 미확장 표시(208)에 포함된 통지 외에 추가적인 콘텐트를 포함하는데, 추가적인 콘텐트는 통지를 더 설명할 수도 있다. 다른 예에서, 다수의 추가적인 통지가 디스플레이될 수도 있다. 제2 디스플레이 모드는, 확장된 표시의 디스플레이를 내포하는 복수의 상이한 서브 모드를 구비할 수도 있다.
확장된 표시(210)는 이 콘텐트를 다양한 방식으로 수신 및 출력하도록 구성될 수도 있다. 예를 들면, 확장된 표시(210)의 출력을 야기하는 표시(208)의 선택은 도 1의 대응하는 애플리케이션(110)의 실행을 야기할 수도 있다. 따라서, 이 예에서, 확장된 표시(210)에 포함하기 위한 콘텐트를 획득하기 위해, 애플리케이션(110)을 "깨운다".
다른 예에서, 디스플레이(204)의 콘텐트는, 대응하는 애플리케이션(110)의 실행 없이, 도 1의 통지 모듈(114)에 의해 제공받을 수도 있다. 예를 들면, 통지 모듈(114)은, 애플리케이션(110)의 실행 없이, 도 1과 연관하여 앞서 설명된 바와 같이 통지를 획득하도록 구성될 수도 있다. 이 방식에서, 통지 모듈(114)은, 애플리케이션의 실제 실행 없이, 애플리케이션(110)과의 유저 상호작용을 지원하기 위해, 애플리케이션(110)과 연관되는 콘텐트를 획득할 수도 있다.
제2 디스플레이 모드(204)는, 확장된 표시의 디스플레이를 내포하는 복수의 상이한 서브 모드를 또한 지원할 수도 있다. 예를 들면, 하나의 이러한 서브 모드는, 추가적인 콘텐트, 예컨대 추가적인 통지 또는 특정 통지와 연관되는 추가적인 콘텐트를 제공하기 위해, 공유된 네트워크 환경에서 콘텐트의 액티비티 레벨을 보기 위해, 및 등등을 위해, 활용될 수도 있는 확장된 표시를 내포할 수도 있다. 유저가 제한된 입력을 애플리케이션에 제공하는 것을 허용하기 위해 및/또는 애플리케이션 피쳐에 대해, 전화를 거는 것, 텍스트로 답장하는 것, 상태를 게시하는 것, 비디오 또는 노래를 플레이하는 것, 및 등등과 같은 제한된 기능성을 허용하기 위해, 다른 서브 모드에서의 다른 확장된 표시가 활용될 수도 있다. 루트 레벨 모드에서 애플리케이션의 서브 모드 중 다른 하나의 다른 확장된 표시는, 더 큰 루트 모드 디스플레이 내에서의 도 11에 도시되는 바와 같은 계산기, 도 14에서 도시되는 바와 같은 스도쿠 게임, 도 4에서 도시되는 바와 같은 비디오 플레이어, 및 하기에서 더 상세히 설명되는 등등과 같은 앱의 완전한 기능성 구현을 포함할 수도 있다.
제3 디스플레이 모드(206)에서, 표시와 연관되는 애플리케이션(110)(예를 들면, 연락처 애플리케이션)의 실행은, 데스크탑 모드와 같은 모드에서 윈도우 또는 프레임에 또는 풀 스크린 뷰 또는 크롬(chrome)이 없는 분할 스크린에 완전히 런칭된다. 예를 들면, 운영체제(108)는, 애플리케이션이 크롬 없이, 예를 들면, 윈도우 없이 디스플레이되는, 하기에서 더 설명되는 바와 같은 몰입형 쉘을 지원할 수도 있다. 제3 디스플레이 모드(206)는, 제1 디스플레이 모드(202)에서의 표시(208) 또는 제2 디스플레이 모드(204)에서의 표시(210) 중 어느 하나의 선택을 통해 또는 애플리케이션 표시와의 유저 상호작용 또는 임의의 다른 적절한 아이콘을 통해 진입될 수도 있다.
따라서, 애플리케이션의 확장된 표현이 아니지만, 제3 디스플레이 모드를 통해 제공되는 다음 확장은, 데스크탑의 풀 스크린 또는 윈도우 프레임 내에서 실행하는 통상적인 풀 스크린 또는 분할 스크린 애플리케이션으로의 애플리케이션의 런칭을 내포한다. 따라서, 루트 모드 디스플레이 내에서의 애플리케이션의 모든 확장된 표현은, 유저에게 루트 레벨에서 "멀리" 내비게이팅할 것을 강요하지 않고도, 유저에 의한 비양식적 상호작용을 지원할 수도 있다.
또한, 유저는 모드 사이에서 다양한 방식으로 내비게이팅할 수도 있다. 예를 들면, 확장된 표시(210)의 출력을 야기하기 위해 유저는 표시(208)의 일부(예를 들면, 통지의 텍스트)를 선택할 수도 있고 제3 디스플레이 모드(206)로의 전이를 야기하기 위해 표시(208)의 다른 부분(예를 들면, 연락처 애플리케이션을 나타내는 음영진 사람)을 선택할 수도 있다. 제스처가 또한 지원될 수도 있는데, 그 예는 다음과 같이 설명되고 대응하는 도면에서 도시된다.
도 3은, 다음 계층적 뷰 또는 표시로 확장하기 위한 제스처 또는 아이콘(아래쪽 화살표, 등등)의 사용을 도시하는 예시적인 구현예(300)이며, 애플리케이션 표시의 다른 부분(아이콘, 타일, 등등)의 선택은 완전히 기능하는 애플리케이션을 열 수도 있다. 몇몇 경우에서, 애플리케이션 표시를 확장하는 것과 연관되는 운영체제에 의해 수신되는 입력은, 애니메이션을 내포하는 확장된 표시의 출력을 야기할 것이다. 이 예시적인 구현예(300)는 제1, 제2, 및 제3 단계(302, 304, 306)를 사용하여 도시된다. 제1 단계(302)에서, 유저 는 두 개의 손가락(두 개의 가상의 원(308, 301)의 사용을 통해 예시됨)을 사용하여 도 2에서 도시되는 바와 같은 표시(208)와 접촉하고 손가락을 멀어지게 이동시켜 확장 제스처를 행한다. 메뉴 또는 아이콘을 통한 활성화 또는 탭과 같은 다른 제스처도 또한 고려된다. 예시된 바와 같이, 이 예에서의 시작 스크린은, 그리드 배치를 따르는 타일로서 구성되는 복수의 다른 표시를 포함한다.
그 다음, 운영체제(108)는 제스처를 인식하고 응답으로 제2 단계(304)에서 도시되는 바와 같이 애니메이션의 출력 또는 다른 적절한 유저 인터페이스 디스플레이 변환을 야기한다. 디스플레이된 실시형태, 이 예에서의 애니메이션은, 제2 단계(304)에서 도시되는 표시(208)가 자신의 확장된 사이즈를 취하도록 펼쳐지고 있는 모습을 제공한다. 이 단계에서, 애니메이션은 다른 표시의 재배치도 또한 내포한다는 것이 또한 인식되어야 한다. 예시된 바와 같이, 표시(208)는, 제1 단계(302)의 비디오 및 사진의 표시(312, 314)를 포함하는 열에 포함된다. 그 다음, 제2 단계(304)에서 비디오 및 사진의 표시(312, 314)는 인접한 열로 이동되는데, 예를 들면, 비디오 표시(312)는 좌측으로 사진 표시(314)는 우측으로 이동된다. 이 움직임은 또한 예시된 바와 같이 다른 열의 재배치를 또한 야기할 수도 있다. 루트 모드에서 선택된 애플리케이션 표시의 표시를 확장하기 위한 공간을 만들기 위해, 근접한 애플리케이션 표시의 임의의 적절한 움직임이 사용될 수도 있다.
제3 단계(306)에서, 확장된 표시(210)는 다른 재배치된 표시와 함께 도시된다. 이 방식에서, 유저는 이 예에서 운영체제(108)의 루트 레벨, 예를 들면, 시작 스크린을 벗어나지 않으면서 확장된 표시(210)와 비양식적 방식으로 상호작용할 수도 있다. 루트 레벨이 설명되지만, 이 기능성은, 그 취지와 범위를 벗어나지 않으면서 파일 시스템의 다른 레벨에서, 예컨대 태스크바에서 또한 활용될 수도 있다는 것을 바로 알 수 있어야 한다.
확장된 표시의 사용은 또한 멀티태스킹을 지원하기 위해 활용될 수도 있다. 예를 들면, 제3 단계(306)에서 도시되는 바와 같이, 유저는 앞서 설명된 바와 같은 확장 제스처를 반복하지만, 이 경우에서는 비디오 애플리케이션의 표시(312)에 대해 제스처를 수행한다. 이것은 또한, 도 4의 예시적인 구현예(400)에서 도시되는 바와 같은 표시의 확장 및 다른 표시의 재배치를 야기한다.
도 4에서, 도 3의 제스처에 응답하여 출력되는 확장된 표시(402)가 예시된다. 비디오 애플리케이션에 대한 확장된 표시(402)는, 연락처 애플리케이션에 대한 확장된 표시(210)와 동시에 디스플레이된다. 확장된 표시(402)는, 표시를 통해 선택 가능한 그리고 몇몇 구현예에서 루트 모드 내의 표시 내에서 비디오의 디스플레이를 야기하는 콘텐트를 포함한다. 이 방식에서, 확장된 표시(210, 402)는, 복수의 확장된 표시와 동시에 상호작용하는 것에 의해 유저가 멀티태스킹을 행하는 것을, 예를 들면, 비디오를 시청하면서 소셜 네트워크 서비스로부터의 게시물을 보는 것을 허용할 수도 있고, 또한 팬닝(panning)/스크롤링 또는 다수의 애플리케이션 표시의 루트 모드 디스플레이와의 다른 루트 모드 유저 상호작용을 허용할 수도 있다. 따라서, 이 예에서, 확장된 표시(402)는 타일 내에 디스플레이되는 콘텐트와 상호작용할 입력을 지원한다. 확장된 표시는 또한, 텍스트 입력을 지원하도록 구성될 수도 있는데, 그 예는 하기에서 더 설명되고 대응하는 도면에서 도시된다.
도 5는 확장된 표시(210)와의 유저 상호작용의 사례를 도시하는 예시적인 구현예(500)를 묘사한다. 앞서 설명된 바와 같이, 이 예에서의 확장된 표시(210)는 연락처 애플리케이션에 대응한다. 연락처 애플리케이션은 소셜 네트워크 서비스와의 상호작용을 지원할 수도 있고 따라서 유저의 "친구"와 공유하기 위해 업로드되는 이미지, 비디오, 상태 업데이트, 및 다른 게시물을 포함할 수도 있다. 예시된 바와 같이, 소셜 네트워크 서비스에 게시될 텍스트를 입력하기 위해, 유저는 예를 들면, 커서 제어 디바이스, 및 등등의 사용을 통해 박스를 "탭하는(tapping)" 것에 의해 텍스트 입력 박스를 선택한다.
확장된 표시(210)의 더 큰 뷰를 도시하는 도 6의 예시적인 구현예(600)에서 도시되는 바와 같이, 텍스트 입력 박스(602)는, 아이콘의 선택을 통해 후속하여 소셜 네트워크 서비스로 게시될 수도 있는 텍스트를 수신하도록 구성된다. 유저는 또한, 예컨대 "썸업(thumbs up)" 아이콘의 사용을 통해 게시물에 "좋아요" 표시하기 위해, 상태 업데이트 또는 애플리케이션 표시 기저의 애플리케이션의 임의의 다른 적절한 그러나 제한된 기능성을 제공하기 위해, 적절한 다른 입력을 제공할 수도 있다. 확장된 표시(210)는 또한, 다른 게시물을 통해 내비게이팅하기 위한 옵션 및 표시(208)의 미확장 버전 또는 더 이전 계층의 확장된 버전으로 복귀하기 위한, 아이콘으로 도시되지만 제스처일 수 있는 옵션(606)을 포함한다. 이 방식에서, 유저는 빠르게 확장시켜 확장된 표시(210)와 상호작용할 수도 있고 그 다음 완료시 유저 인터페이스의 공간을 절약하기 위해 확장을 제거할 수도 있다. 확장된 표시(210)는 다양한 방식으로 구성될 수도 있는데, 그 예는 다음과 같이 설명되며 대응하는 도면에서 도시된다. 상기에서 연락처 애플리케이션 및 비디오 애플리케이션의 예가 설명되지만, 통지, 확장 가능한 콘텐트, 및/또는 기능성의 제한된 세트를 갖는 임의의 적절한 애플리케이션이 애플리케이션 확장 가능 콘텐트 및/또는 기능성을 이용할 수도 있는데, 예를 들면, 계산기 애플리케이션은 간단한 타일로부터 완전한 공학 계산기로 확장할 수 있고, 설정 애플리케이션은 연결 상태 및/또는 연결하기 위한 또는 몇몇 설정을 설정하기 위한 다른 기능성의 지시(indication)를 제공할 수도 있고, 게임 애플리케이션은 이용 가능한 새로운 게임을 나타내기 위해, 친구를 나타내기 위해 및/또는 현재 상태 또는 업데이트를 나타내도록 확장하고, 등등이다.
도 7은 확장된 표시에 대한 자유 배치(700)의 예시적인 구현예를 묘사한다. 이 예에서, 자유 배치(700)는, 타이틀을 포함하도록 구성되는 상부 부분 및 앞서 설명된 바와 같은 기능성을 갖는 하부 부분과 함께, 통지 엔진으로부터의 하나 이상의 통지의 콘텐트를 포함하도록 구성되는 큰 중앙 영역을 포함한다.
도 8은 확장된 표시에 대한 탭이 있는 배치(800)의 예시적인 구현예를 묘사한다. 이름이 암시하는 바와 같이, 탭은, 탭 내의 상이한 뷰 사이를 내비게이팅하기 위해, 이 예에서는 상부를 따라 포함될 수도 있고 따라서 추가 콘텐트의 지원(support)을 포함할 수도 있다.
도 9는 확장된 표시에 대한 스팬 배치(900)의 예시적인 구현예를 묘사한다. 이 예에서, 스팬 배치(900)는 아이템을 통한 내비게이션을 지원하기 위해 복수의 아이템의 수직 디스플레이를 지원한다. 이때, 스팬 레이아웃(900)에서의 아이템은 스크롤될 수도 있다.
자유 배치, 탭이 있는 배치, 및 스팬 배치(700, 800, 900)는 여러 상이한 레이아웃을 가지고 구성될 수도 있다. 도 10의 예시적인 구현예(1000)에서 도시되는 바와 같이, 예를 들면, 자유 배치, 탭이 있는 배치, 및 스팬 배치(700, 800, 900)는 리스트 레이아웃, 그리드 레이아웃, 확장 가능한 리스트 레이아웃, 및 커스터마이징 가능한 레이아웃 중 하나 이상을 활용할 수도 있다. 따라서, 확장된 표시는 여러 상이한 콘텐트를 수용하도록 구성될 수도 있는데, 그 예는 다음과 같이 설명되며 대응하는 도면에서 도시된다.
도 11은, 계산기 애플리케이션 및 음악 애플리케이션의 표시 및 확장된 표시를 도시하는 예시적인 구현예(1100)이다. 계산기 애플리케이션은, 미확장 표시(1102)를 사용하여 앞서 설명된 바와 같은 제1 디스플레이 모드에서 표시될 수도 있다. 그 다음, 표시(1102)는, 예컨대 아래쪽 화살표 아이콘 또는 임의의 다른 디스플레이된 유저 인터페이스 또는 디스플레이되지 않은 유저 입력 제스처를 통한 유저 입력에 응답하여 확장될 수도 있다. 그 다음, 확장된 표시는, 애플리케이션과 상호작용하기 위해 입력(예를 들면, 키의 "눌림")을 수용하도록 구성되는 계산기 애플리케이션의 확장된 표시(1104)로서 루트 모드에서 디스플레이된다.
마찬가지로, 음악 애플리케이션은, 확장되지 않은 타일 또는 아이콘과 같은 표시(1106)를 사용하여 제1 디스플레이 모드에서 표시될 수도 있다. 이 예에서, 표시(1106)는, 음악 애플리케이션의 실행을 야기하지 않고도 앞서 설명된 바와 같은 통지를 출력하도록 여전히 구성될 수도 있다. 그 다음, 표시(1106)는, 애플리케이션과 상호작용하기 위한 입력을 수용하도록 구성되는 음악 애플리케이션의 확장된 표시(1108)를 디스플레이하도록, 유저 입력에 응답하여 루트 모드 내에서 확장될 수도 있다. 예를 들면, 유저는 확장된 표시를 사용하여 미디어의 출력을 통해 내비게이팅할 수도 있고, 음악 애플리케이션을 사용하여 플레이할 상이한 음악 아이템을 선택할 수도 있고, 및 등등일 수도 있다. 확장된 표시(1108)는 또한 앨범 아트를, 이 예에서는 배경 이미지로서 포함한다.
도 12는, 뉴스 애플리케이션 및 연락처 애플리케이션의 표시 및 확장된 표시를 도시하는 예시적인 구현예(1200)이다. 뉴스 애플리케이션은, 상기와 같은 제1 디스플레이 모드에서의 디스플레이를 위해 구성되는 표시(1202)를 구비할 수도 있다. 그 다음, 표시(1202)는 뉴스 애플리케이션에 연관되는 콘텐트 및 대응하는 이미지를 포함하는 확장된 표시(1204)를 디스플레이하도록 확장될 수도 있는데, 뉴스 애플리케이션에 연관되는 콘텐트는, 이 경우에서는, 헤드라인으로서 디스플레이된다.
앞서 설명된 바와 같이, 표시(1202) 및 확장된 표시(1204) 사이의 내비게이션은 유저 입력, 예를 들면, 커서 제어 디바이스, 제스처, 발화된(spoken) 커맨드, 및 등등에 응답하여 수행될 수도 있다. 표시(1202)로부터 확장된 표시(1204)로의 전이가 자동적으로 그리고 유저 개입 없이 수행될 수도 있는 다른 구현예도 또한 고려된다. 이 예에서는, 유저에 의해 플래그가 달린(flagged) 주제, 통지의 공급자에 의해 플래그가 달린 주제, 및 등등의 통지가 통지 모듈(114)에 의해 수신될 수도 있다. 이 플래그(예를 들면, 앰버 경보(Amber alert))에 응답하여, 표시(1202)는 통지에 연관되는 추가적인 정보를 제공하기 위해 확장된 표시(1204)를 형성하도록 확장될 수도 있다. 다양한 다른 예가 또한 고려된다. 검색, 필터, 기사(article)의 디스플레이, 및 등등과 같은 제한된 기능성을 제공하기 위해 추가적인 확장이 활성화될 수도 있고 디스플레이될 수도 있다.
연락처 애플리케이션 표시는 제한된 기능성을 허용하도록 더 확장될 수도 있다. 확장은 수평 방향일 수도 있거나 또는 수직 방향일 수도 있다. 예를 들면, 몇몇 양태에서, 애플리케이션 표시는, 메시지에 대한 응답을 위한 텍스트 입력 영역을 디스플레이하기 위해 수직 방향으로 확장될 수도 있고/있거나 연관된 연락처와의 통화를 개시하기 위한 활성화 아이콘을 포함하도록 좌측으로 확장될 수도 있다. 이들은 연락처 애플리케이션과의 상호작용 또는 제한된 기능성의 단지 두 개의 예에 불과하며 기능성의 제한된 세트 및 서브셋 및/또는 표시의 임의의 적절한 확장이 적절히 사용될 수도 있다.
연락처 애플리케이션의 표시(1206)의 경우, 예를 들면, 유저는 확장된 표시(1208)의 자동 디스플레이를 야기할 특정 연락처, 공유 네트워크 리소스(예를 들면, 소셜 네트워크 서비스)에 특별히 게시되는 콘텐트, 및 등등을 지정할 수도 있다. 마찬가지로, 통지의 전송자(sender)는, 확장된 표시의 자동 디스플레이를 트리거하기 위해 운영체제(108)에 의해 추가적으로 또는 대안적으로 사용될 수도 있는 특정 통신(보이스메일, 텍스트, 이메일, 등등)에 대한 긴급 플래그를 포함할 수도 있다. 그러면, 통지 모듈(114)에 의한 대응하는 통지의 수신은 확장된 표시(1208)의 자동 디스플레이를 또한 야기할 수도 있다.
도 13은 표시와 통지 및 확장된 표시를 통해 이용 가능한 증가된 콘텐트의 일목요연성을 예시하는 예시적인 구현예(1300)를 묘사한다. 네 개의 좌측 예에서 도시되는 바와 같이, 표시는, 통지의 출력에 전용되는 다양한 사이즈를 구비할 수도 있는데, 통지의 출력은 이 경우에서는 주식시장 통지를 내포한다.
추가적인 정보를 획득하기 위해, 통지의 일부가 아닌 콘텐트를 포함할 수도 있는 두 개의 우측 예에서 도시되는 바와 같은 확장된 표시가 활용될 수도 있다. 예를 들면, 확장된 표시는 표시된 확장의 실행을 내포할 수도 있지만 반면 미확장 버전은 그렇지 않다. 확장된 표시가 대응하는 애플리케이션(110)의 실행을 내포하지 않는 다른 구현예도 또한 상기에서 고려된 바와 같이 고려된다.
도 14는, 다운로드 및 사용을 위해 애플리케이션에 대한 유저 액세스를 제공하도록 구성되는 애플리케이션 스토어의 유저 인터페이스를 도시하는 예시적인 구현예(1400)를 묘사한다. 배경에서 설명된 바와 같이, 애플리케이션 스토어는, 유저에 의해, 애플리케이션(110)을 획득하기 위한 주(primary) 소스로서 점점 더 간주되고 있다. 이와 같이, 운영체제(108)의 루트 레벨(예를 들면, 시작 스크린) 내에서 상호작용을 지원하도록 구성되는 애플리케이션을 유저가 선택할 수도 있도록, 확장 가능한 표시를 지원하는 애플리케이션은 애플리케이션 스토어에서 전용 애플리케이션 카테고리를 지원할 수도 있다. 예시된 바와 같이, 예를 들면, 스도쿠(Sudoku) 퍼즐 애플리케이션은, 확장된 표시(1402) 내에서 스도쿠를 플레이하기 위해 유저에 의해 구매될 수도 있는 확장된 표시(1402)를 지원할 수도 있다. 본 발명의 취지와 범위를 벗어나지 않으면서 다양한 다른 예도 또한 고려된다.
도 15는, 운영체제(108)의 데스크탑 쉘 및 몰입형 쉘을 지원하도록 동작할 수 있는 예시적인 구현예에서의 환경(1500)의 예시이다. 예시된 환경(1500)은, 도 1과 연관하여 앞서 설명된 바와 같은 애플리케이션(110) 및 운영체제(108)를 구비하는 컴퓨팅 디바이스(104)를 포함한다.
운영체제(108)는 또한, 몰입형 쉘(1504)을 제공하는 컴퓨팅 디바이스(102)의 기능성을 나타내는 몰입형 환경 모듈(1502)을 포함하는 것으로 또한 예시되는데, 유저는, 몰입형 쉘(1504)을 통해, 컴퓨팅 디바이스(102)의 다른 데이터 및 애플리케이션(110)과 상호작용할 수도 있으며, 컴퓨팅 디바이스(102)의 다른 데이터 및 애플리케이션(110) 둘 다는 디바이스에 대해 로컬일 뿐만 아니라 네트워크를 통해 원격적이다. 몰입형 쉘(1504)은, 상기에서 설명된 추상화된 기능성과 같은, 컴퓨팅 디바이스(102)의 기능성에 액세스하기 위해, 컴퓨팅 디바이스(102)의 애플리케이션(110) 및 운영체제(108)와 상호작용하는 입력을 수용하도록 구성된다. 몰입형 쉘(1504)은 하기에서 더 설명되는 바와 같이, 데스크탑 쉘(1506)을 지원하도록 또한 구성될 수도 있다.
몰입형 쉘(1504)은 윈도우 프레임이 거의 없거나 전혀 없이 애플리케이션(110)과의 상호작용을 지원하도록 구성될 수도 있다. 추가적으로, 몰입형 쉘(1504)은, 대응하는 윈도우 프레임의 레이아웃, 다른 윈도우에 대한 윈도우의 지위(primacy)(예를 들면, 뒤쪽의 다른 윈도우 앞에서 윈도우가 활성인지의 여부, 윈도우의 순서, 및 등등)를 유저가 관리하는 것을 필요로 하지 않으면서, 애플리케이션(110)과의 상호작용을 지원할 수도 있다. 운영체제(108)의 일부로서 예시되지만, 몰입형 환경 모듈(1502)은 다양한 다른 방식으로, 예컨대 독립형 모듈로, 네트워크를 통해 원격으로, 및 등등으로 구현될 수도 있다.
하나 이상의 구현예에서, 운영체제(108)의 몰입형 쉘(1504)은, 몰입형 쉘(1504)을 닫는 것이 불가능하도록 또는 몰입형 쉘(1504)이 운영체제(108)에서 언인스톨될 수 없도록 구성된다. 추가적으로, 몰입형 쉘(1504)은 컴퓨팅 디바이스(104)의 디스플레이 디바이스(1508)의 이용 가능한 디스플레이의 상당한 부분을 소비하도록 구성될 수도 있다. 유저는 다양한 방식으로, 예컨대 커서 제어 디바이스, 하나 이상의 제스처를 사용하는 것, 스피치 인식을 사용하는 것, 하나 이상의 깊이 감지 카메라를 사용하는 캡쳐, 및 등등을 통해 몰입형 쉘(1504)과 상호작용할 수도 있다.
따라서, 몰입형 환경 모듈(1502)은 몰입형 쉘(116)을 관리할 수도 있는데, 몰입형 쉘(116)에서는, 애플리케이션(110)의 콘텐트가 표현될 수도 있고, 그 표현이, 애플리케이션(110)의 콘텐트를 디스플레이하기 위해 사용되는 윈도우의 사이즈, 위치, 지위, 및 등등을 유저가 관리하는 것을 필요로 하지 않으면서, 수행될 수도 있다.
예를 들면, 디스플레이 디바이스(1508)에 의해 디스플레이되는 유저 인터페이스 상에서 도시되는 바와 같이,"스냅식(snapped)" 구성의 두 개의 애플리케이션으로부터의 데이터(1510, 1512)를 디스플레이하도록 구성되는 유저 인터페이스가 도시된다. 이 예에서, 데이터에 대응하는 애플리케이션 둘 다는 컴퓨팅 디바이스(102)에 의해 활발히 실행하도록 인에이블되지만, 애플리케이션(110) 중, 데이터를 현재 디스플레이하지 않는 다른 애플리케이션에 대해서는, 실행은 일시중지된다. 데이터(1510, 1512)의 디스플레이 사이에, 디스플레이 디바이스(1508) 상에서 애플리케이션에 의해 각각 소비되는 디스플레이의 양을 변경하기 위해 이동될 수도 있는 거터(gutter; 1514)가 배치된다.
몰입형 쉘(1504)은, 애플리케이션(110)에 액세스하는 유저에게 몰입형 경험을 제공하기 위해, 아주 다양한 기능성을 지원할 수도 있다. 하기의 논의에서, 이 기능성은, 데스크탑 쉘(1506)과의 상호작용을 가능하게 하기 위해 이들 기술을 활용하는 것과 연관하여 논의된다. 그러나, 이들 기술은, 그 취지와 범위를 벗어나지 않으면서, 애플리케이션(110) 자체와의 상호작용을 관리하기 위해 활용될 수도 있다는 것을 바로 알 수 있어야 한다.
데스크탑 쉘(1506)은, 이 예에서는, 애플리케이션(110) 및 다른 데이터와 상호작용할 때, 운영체제(108)에 의해 출력되는 유저 인터페이스의 다른 구성을 나타낸다. 예를 들면, 데스크탑 쉘(1506)은 프레임을 갖는 윈도우를 통해 애플리케이션 및 대응하는 데이터를 표현하도록 구성될 수도 있다. 이들 프레임은, 유저가 애플리케이션과 상호작용할 수도 있게 하는 제어 및 유저가 윈도우를 이동시키고 사이즈를 정하는 것을 가능하게 하는 제어를 제공할 수도 있다. 데스크탑 쉘(1506)은 또한, 폴더의 사용을 통해 계층적 파일 구조 전체를 내비게이팅하고 아이콘의 사용을 통해 애플리케이션 및 데이터를 표시하는 기술을 또한 지원할 수도 있다. 하나 이상의 구현예에서, 데스크탑 쉘(1506)은 또한, 데스크탑 쉘(1506)을 통한 상호작용을 위해 명시적으로 구성되는 그리고 몰입형 쉘(1504)을 통한 액세스를 위해 구성되지 않은 애플리케이션(110)에 액세스하도록 활용될 수도 있지만, 다른 구현예도 또한 고려된다.
본원에서 설명되는 기술 중 하나 이상에서, 몰입형 쉘(1504)은, 마치 데스크탑 쉘(1506)이 컴퓨팅 디바이스(104) 상에서 실행되었던 다른 애플리케이션이었던 것처럼, 데스크탑 쉘(1506)에 대한 액세스를 제공한다. 이 방식에서, 유저는 몰입형 쉘(1504)의 기능성을 활용할 수도 있지만, 보다 전통적인 기능성을 위해 데스크탑 쉘(1506)에 여전히 액세스할 수도 있다. 몰입형 쉘 내에서 몰입형 애플리케이션으로서의 데스크탑의 구현예의 예는, 본원에서 설명되는 확장 가능한 표시 기술의 사용을 포함하는데, 본원에서 설명되는 확장 가능한 표시 기술의 사용은 다음과 같이 설명되며 대응하는 도면에서 도시된다.
도 16은 도 15의 데스크탑 쉘(1506)의 확장된 표시(1600)의 예시적인 구현예를 묘사한다. 확장된 표시(1600)는 앞서 설명된 바와 같이 데스크탑 쉘(1506)을 애플리케이션으로서 취급한다. 따라서, 데스크탑 쉘의 확장된 표시(1600)는 데스크탑 쉘과 연관되는 콘텐트를 포함하도록 구성된다.
예시된 예에서, 이 콘텐트는, 데스크탑 쉘(1506) 내에서 "열린" 애플리케이션(110)을 설명하는데, 애플리케이션(110)은 브라우저, 워드 프로세싱 애플리케이션, 스프레드시트 애플리케이션, 및 프리젠테이션 애플리케이션을 포함한다. 콘텐트 아이템의 각각은, 루트 레벨 디스플레이로부터 데스크탑 쉘(1506) 내의 대응하는 애플리케이션까지 바로 내비게이팅하도록 선택될 수 있다. 실행 중인 애플리케이션이 도 16에서 도시되는 바와 같은 데스크탑 애플리케이션 표시에서 디스플레이될 수도 있지만, 가장 빈번하게 사용된 애플리케이션의 리스트, 유저에 의해 데스크탑 애플리케이션 표시에 고정된(pinned) 애플리케이션, 루트 모드 디스플레이에서 데스크탑 애플리케이션 표시의 제1 또는 추가 계층의 확장된 뷰에서 도시될 수도 있는 것 중 임의의 것 또는 전체와 같은, 애플리케이션의 임의의 적절한 수 및 또는 타입의 상태가 데스크탑 애플리케이션 표시에서 도시될 수도 있다.
확장된 표시(1600)는 데스크탑 쉘(1506)의 태스크바로부터 수신되는 아이콘을 포함할 수도 있는데, 아이콘은 파일 공유 애플리케이션, 안티바이러스 유틸리티, 및 프린트의 표시를 포함하며, 이들은 또한 데스크탑 쉘(1506) 내의 대응하는 기능성으로 내비게이팅하도록 선택될 수 있다. 따라서, 확장된 표시(1600)는, 운영체제(108)의 양 쉘의 출력을 필요로 하지 않으면서, 쉘 사이의 상호작용을 지원하는 것에 의해, 쉘 사이에서 포털(portal)(예를 들면, "웜홀(wormhole)")로서 동작할 수도 있다. 확장된 표시(1600) 내에서의 포함 및 확장된 표시(1600) 내에 디스플레이되는 콘텐트와의 지원되는 상호작용은, 다양한 다른 기능성을 위해, 예컨대 하기에서 더 설명되는 바와 같이 콘텐트를 다른 확장된 표시 또는 데스크탑 쉘(1506)로부터 디바이스 또는 애플리케이션으로 전송하기 위해 또한 활용될 수도 있다.
도 17은, 도 1의 운영체제(108)의 백 스택으로서 구성되는 태스크바에 확장된 표시가 포함되는 예시적인 구현예에서의 시스템(1700)을 묘사한다. 도 15와 연관하여 앞서 설명된 바와 같이, 운영체제(108)는, 애플리케이션의 디스플레이가 하나 이상의 디스플레이 디바이스의 디스플레이 환경을 상당히 소비할 수도 있는 몰입형 환경을 유지할 수도 있다.
그러나, 애플리케이션은 또한, 디스플레이 디바이스(1508) 상에 애플리케이션이 나타날 때까지 애플리케이션의 실행이 일시중지되는 "백 스택"으로 동작하는 태스크바(1702)의 사용을 통해 운영체제(108)에 의해 "이용 가능하게 유지될" 수도 있다. 유저는, 현재 디스플레이되고 있는 애플리케이션 중 하나 이상을, 백 스택으로부터의 애플리케이션과 대체하기 위해, 예를 들면, 유저 손의 하나 이상의 손가락을 통한 스와이프 제스처, "클릭 앤 드래그" 제스처, 및 등등을 행할 수도 있다. 태스크바(1702)가 "백 스택" 기능성과 연관되지 않는, 예를 들면, 태스크바에서 표시되는 애플리케이션이 활발히 실행하고 있는, 태스크바에 "고정된", 및 등등의 다른 예도 또한 고려된다.
예시된 예에서, 태스크바(1702)는, 애플리케이션의 유저 인터페이스로, 예를 들면, 몰입형 쉘에서 제3 디스플레이 상태인 "풀 스크린" 뷰로 내비게이팅하도록 선택될 수 있는 표시를 포함한다. 태스크바에서의 표시는 또한, 앞서 설명된 바와 같은 확장된 표시를 포함하는데, 확장된 표시는 이 경우에서는, 사진 애플리케이션에 대한 확장된 표시이다. 확장된 표시는 여러 상이한 방식으로 태스크바에 포함될 수도 있다. 예를 들면, 사진 애플리케이션은 백 스택에서 일시중지된 상태에 있을 수도 있고 따라서 애플리케이션의 실행의 선택을 통해 유저 개입 없이 자동적으로 포함될 수도 있다. 확장된 표시는 또한, 유저에 의한 하나 이상의 커맨드(예를 들면, "우클릭" 메뉴), 및 등등을 사용하여 태스크바에 고정될 수도 있다.
도 17의 확장된 표시는, 표시된 애플리케이션(예를 들면, 제3 디스플레이 모드)을 통해서뿐만 아니라 확장된 표시에 의해 제공되는 "포털"을 통해 액세스 가능한 사진의 콘텐트를 포함한다. 사진 애플리케이션이 확장된 콘텐트 확장 애플리케이션 표시(expanded content expanded application representation)에서 도시되지만, 루트 레벨 디스플레이에서의 애플리케이션 표시 외에 또는 루트 레벨 디스플레이에서의 애플리케이션 표시에 대안적으로, 콘텐트 확장 뷰(content expanded view)를 갖는 임의의 적절한 애플리케이션 타입, 및/또는 제한된 기능성 확장 애플리케이션 표시(limited functionality expanded application representation)가 태스크바의 구현예에서 사용될 수도 있다는 것이 인식되어야 한다. 따라서, 확장 가능한 애플리케이션 표시를 갖는 태스크바의 이 포털은, 확장된 표시에 포함되는 콘텐트에 대한 비양식적 상호작용을 지원할 수도 있는데, 비양식적 상호작용은 여러 상이한 기능성을 지원하기 위해 활용될 수도 있다.
예시된 경우에서, 이메일 애플리케이션의 유저 인터페이스(1704)가 몰입형 쉘 내에서 디스플레이되지만, 데스크탑 쉘 내에서의 디스플레이도 또한 고려된다. 완전히 실행하는 이메일 애플리케이션의 유저 인터페이스는, 플래그가 달린 디스플레이뿐만 아니라 이메일을 작성하고 전송하기 위한 부분도 포함한다. 유저는 이 예에서 이메일을 작성하고 있고 사진을 첨부하기를 소망한다. 이렇게 하기 위해, 유저는 사진 애플리케이션의 확장된 표시에 액세스할 수도 있고 이메일 애플리케이션에 포함시키기 위한 콘텐트를 확장된 표시로부터 선택할 수도 있다. 따라서, 이 선택은 애플리케이션의 제3 디스플레이 상태로 진입하지 않고도 이루어질 수도 있다.
예를 들면, 유저는 태스크바의 디스플레이를 여러 상이한 방식으로 야기할 수도 있다. 이것은, 태스크바(1702)를 디스플레이할 디스플레이 디바이스(112)의 사이드의 스와이프를 수반하는 베젤 제스처의 사용, 태스크바(1702)의 디스플레이를 야기하도록 에지에 근접하게 커서를 배치하는 커서 제어 디바이스의 사용, 키 커맨드 또는 아이콘의 사용, 스피치 커맨드, 및 등등을 포함할 수도 있다.
출력이 어떻게 개시되는지에 무관하게, 도 17에서 예시되는 바와 같이 태스크바(1702)가 디스플레이되면, 유저는, 확장된 표시 내에 포함되는 콘텐트의 하나 이상의 아이템, 예컨대 소망하는 사진을 선택할 수도 있다. 이것은 다양한 방식으로, 예컨대 콘텐트를 확장된 표시로부터 유저 인터페이스의 이메일로 드래그하는 "드래그 앤 드랍(drag and drop)" 제스처, 콘텐트의 아이템을 선택하는(예를 들면, "체크하는") 커서 제어 디바이스의 사용, 및 등등을 통해 수행될 수도 있다. 따라서, 이 예에서, 유저는 이메일을 작성할 수도 있고, 다른 애플리케이션을 통해 액세스 가능한, 이메일에 포함시키기 위한 아이템을 이들 애플리케이션의 확장된 표시의 사용을 통해 선택할 수도 있다. 이 방식에서, 유저는, 애플리케이션과의 상호작용을 가능하게 하는 포털로서의 확장된 표시의 사용을 통해, 콘텐트를 확장된 표시로부터 원하는 애플리케이션으로 전송할 수도 있다. 확장된 표시는 또한, 확장된 표시로부터 디바이스로 콘텐트를 전송하는 유사한 기술을 지원하도록 활용될 수도 있는데, 그 추가 설명은 다음과 같이 논의되고 대응하는 도면에서 도시된다.
도 18은, 표시에 포함되는 콘텐트의 아이템을 디바이스로 전송하기 위한 태스크바에 확장된 표시가 포함되는 예시적인 구현예에서의 시스템(1800)을 묘사한다. 이 예에서, 앞선 예에서와 같이 컴퓨팅 디바이스(104)에 의해 유저 인터페이스가 출력된다. 유저 인터페이스는 또한, 컴퓨팅 디바이스(104)에 어떤 디바이스가 통신 가능하게 커플링되는지를 관리하기 위해 사용될 수 있는 무선 디바이스 매니저 애플리케이션의 출력(1802)을 포함한다. 이것은, 주변 디바이스(peripheral device)뿐만 아니라 다른 컴퓨팅 디바이스, 예를 들면, 전화기, 태블릿, 및 등등과 같은 모바일 컴퓨팅 디바이스에 대한 통신적 커플링을 포함할 수도 있다. 여러 상이한 통신적 커플링, 예컨대 Bluetooth®, 예시된 바와 같은 무선 통신 커플링, Wi-Fi®, 및 다른 무선 통신 기술뿐만 아니라, 물리적(예를 들면, 유선) 통신 기술이 지원될 수도 있다.
확장된 표시로부터 디바이스로의 콘텐트의 전송은, 애플리케이션으로의 전송에 대해 도 17과 연관하여 앞서 설명된 것과 유사한 방식으로 수행될 수도 있다. 예를 들면, 유저는, 앞서 설명된 바와 같은 사진 애플리케이션의 확장된 표시(또는 임의의 확장된 표시로부터의 임의의 적절한 콘텐트)를 구비하는 태스크바(1702)의 출력을 야기할 수도 있다. 그 다음, 유저는 확장된 표시로부터 (예를 들면, 제스처, 커서 제어 디바이스, 등등을 통해) 콘텐트의 아이템을 선택할 수도 있고 그 다음, 예를 들면, 드래그 앤 드랍 제스처, 연속적인 클릭, 및 등등을 통해, 콘텐트의 아이템이 전송될 디바이스의 표시를 선택할 수도 있다. 그 다음, 운영체제(108)는 콘텐트의 아이템이 디바이스로 전송되게 할 수도 있는데, 예를 들면, 무선 통신 연결, 및 등등을 통해 로딩되게 할 수도 있다.
따라서, 설명된 바와 같이, 확장된 표시는 콘텐트를 원하는 목적지로 전송하는 신규의 상호작용 기술을 지원할 수도 있다. 예를 들면, 아이템을 이용 가능하게 하는 애플리케이션으로 내비게이팅하고 그 다음 아이템에 대한 원하는 목적지를 명시하는 대신(예를 들면, 먼저 "무엇"을 그리고 그 다음 "어디"를 선택하는 대신), 유저는 콘텐트의 아이템에 대한 원하는 목적지(예를 들면, "어디")로 먼저 내비게이팅할 수도 있고 그 다음 그 목적지로 전송될 콘텐트의 아이템, 예를 들면 "무엇"을 선택할 수도 있다. 확장된 표시는 또한, 원격 콘텐트와의 상호작용을 관리하는 사용 시나리오를 또한 지원할 수도 있는데, 그 예는 하기에서 추가로 설명되고 대응하는 도면에서 도시된다.
도 19는, 파일 공유 서비스의 표시에 포함되는 콘텐트의 아이템을 컴퓨팅 디바이스(104)에 의해 액세스 가능한 디바이스로 전송하기 위한 태스크바에 확장된 표시가 포함되는 예시적인 구현예에서의 시스템(1900)을 묘사한다. 태스크바(1702)는, 파일 공유 환경 애플리케이션의 확장된 표시를 포함하는 것으로 예시된다. 이와 같이, 확장된 표시는 파일 공유 서비스를 통해 이용 가능한 콘텐트의 아이템을 포함하는데, 예를 들면, 예시된 예에서는 프리젠테이션, 다큐먼트, 및 폴더를 포함한다.
따라서, 이전 예에서와 같이, 콘텐트의 아이템은, 확장된 표시와의 상호작용을 통해 원하는 목적지, 예컨대 원하는 애플리케이션, 디바이스, 예시된 바와 같은 프린터, 및 등등으로 전송될 수도 있다. 또한, 이것이 이 예에서는 파일 공유 환경이기 때문에, 콘텐트의 아이템은, 컴퓨팅 디바이스(104) 상에서 로컬하게 다큐먼트의 한 버전을 명시적으로 먼저 저장하지 않고도, 지정된 목적지로 스트리밍될 수도 있다.
이들 이송 기술은, 콘텐트를 확장된 표시로부터 원하는 목적지로 전송하는 것을, 태스크바(1702)에 확장된 표시를 포함하는 것으로 설명하지만, 다른 예도 또한 고려된다. 예를 들면, 이들 기술은 또한, 표시된 애플리케이션으로, 디바이스로, 및 심지어 확장된 표시 사이에서, 예를 들면, 파일 공유 서비스 확장 표시로부터 확장된 표시에서 디바이스로서 표시되는 콘텐트를 포함하는 디바이스 매니저 애플리케이션으로 콘텐트를 이송하기 위해, 운영체제(108)의 루트 레벨(예를 들면, 시작 스크린)로부터의 확장된 표시를 사용하여 적용될 수도 있다.
도 20은, 확장된 표시를 내포하는 컴퓨팅 디바이스 사이에서 실행의 이송을 수반하는 디바이스 사이에서의 콘텐트의 이송의 다른 예를 도시하는 예시적인 구현예(2000)를 묘사한다. 도 6과 연관하여 앞서 설명된 바와 같이, 확장된 표시(210)는, 소셜 네트워크 서비스에 대한 상태 업데이트를 위한 텍스트 입력과 같은 입력의 수신을 지원할 수도 있다.
도 20에서 도시되는 바와 같이, 확장된 표시(210)는, 모바일 컴퓨팅 디바이스(2002)의 디스플레이 디바이스의 것과 근사하는 종횡비 및 해상도를 가질 수도 있다. 따라서, 이 유사성은, 애플리케이션을 재코딩하지 않고도 디바이스 사이에서의 애플리케이션의 실행의 결과를 효율적인 방식으로 이송하도록 활용될 수도 있다. 유저는, 예를 들면, 확장된 표시(210)와의 상호작용을 통해 상태 업데이트를 위한 텍스트의 입력을 시작할 수도 있다. 그 다음, 유저는 모바일 컴퓨팅 디바이스(2002) 예컨대 웨어러블 컴퓨팅 디바이스, 랩탑, 태블릿, 이동 전화, 및 등등과의 상호작용을 계속하기를 소망할 수도 있다.
따라서, 연관된 애플리케이션(110) 및/또는 운영체제(108)가 이 실행의 결과를 이송하기 위한 입력을 인식할 수도 있다. 입력은 여러 상이한 형태, 예컨대 컴퓨팅 디바이스(104)에 대비한 모바일 컴퓨팅 디바이스(2002)의 "탭(tap)"의 인식, 커맨드의 사용, 어느 한 디바이스 상에서의 제스처, 및 등등을 취할 수도 있다. 응답으로, 이 실행의 결과(예를 들면, 수신되는 입력 및 연관 애플리케이션, 렌더링된 스크린, 및 등등)는, 근접장 통신과 같은 적절한 기술을 사용하여 디바이스 사이에서 이송될 수도 있다. 예시된 경우에서, 실행 결과의 이 이송은, 유저가 다른 디바이스 상에서 상태 업데이트를 계속하는 것 및/또는 나중의 참조를 위해 데이터(예컨대 하기에서 더 논의되는 어드레스 또는 맵, 등등)를 모바일 디바이스로 이송하는 것을 허용한다.
도 21의 예시적인 구현예(2100)에서, 유저는 맵에 대한 방향을 생성하기 위해 컴퓨팅 디바이스(104)와 상호작용할 수도 있다. 그 다음, 이 경우에서의 실행의 결과(예를 들면, 방향)는 컴퓨팅 디바이스(104)로부터 모바일 컴퓨팅 디바이스(2002)로 이송될 수도 있다. 이 경우에서, 모바일 컴퓨팅 디바이스(2002)의 유저는, 확장된 표시의 디스플레이 위에 모바일 컴퓨팅 디바이스(2002)를 배치하는 것에 의해 확장된 표시를 "가로챌" 수도 있다.
이 근접은 다양한 방식으로, 예컨대 근접장 통신(near field communication; NFC), 컴퓨팅 디바이스(104)의 디스플레이 디바이스의 픽셀 내 센서 구성(sensor-in-pixel configuration)의 사용, 모바일 컴퓨팅 디바이스(2002)의 카메라, 및 등등을 통해, 검출될 수도 있다. 그 다음, 실행의 결과는, 모바일 컴퓨팅 디바이스(2002) 상에서의 대응하는 애플리케이션을 통해 계속된 상호작용을 허용할 수도 있다. 예컨대 모바일 컴퓨팅 디바이스(2002)로부터 컴퓨팅 디바이스(104)의 확장된 표시로 이송하기 위해, 반대 동작이 또한 수행될 수도 있다. 이 방식에서, 유저는 효율적인 방식으로 복수의 상이한 컴퓨팅 디바이스와 끊임 없이 상호작용할 수도 있다.
도 22는, 디바이스 사이에서의 확장된 표시와 연관되는 실행의 결과의 이송의 다른 예시적인 구현예(2200)를 묘사한다. 이 예에서는, 실행의 결과를 디바이스 사이에서 이송하기 위해 제스처 또는 다른 입력이 검출된다 이 예에서는, 이 이송을 나타내기 위해 확장된 표시가 두 디바이스 상에서 부분적으로 디스플레이되는 모습을 제공하기 위해, 애니메이션이 활용된다. 이송을 나타내기 위해, 다른 애니메이션도 또한 고려된다.
도 23은, 공유된 네트워크 환경과 연관하여 콘텐트의 액티비티 레벨을 나타내기 위해 확장된 표시가 활용되는 예시적인 구현예(2300)를 묘사한다. 네트워크를 통해 원격으로 여러 상이한 유저 사이의 원격 상호작용 및 협력을 지원하기 위해, 공유된 네트워크 환경이 웹 서비스에 의해 구현될 수도 있다. 공유된 네트워크 환경의 예는, 다큐먼트 및 프리젠테이션과 같은 콘텐트를 유저가 편집하고 볼 수 있게 되는 파일 호스팅 서비스, 및 상태 업데이트 및 이미지를 공유하기 위한 소셜 네트워크 서비스, 및 등등을 포함한다. 따라서, 공유된 네트워크 환경과 연관되는 콘텐트는 콘텐트와 연관되는 액티비티, 예를 들면, 공유하는 것, 보는 것, "좋아요를 표시하는 것(liking)", 및 등등을 지원할 수도 있다.
이 예에서, 확장된 표시(2302, 2304)는, 확장 표시에 포함되는 콘텐트의 상대적인 액티비티 레벨을 나타내도록 구성된다. 예를 들면, 확장된 표시(2302)는, 파일 호스팅 서비스를 통해 이용 가능한, 즉 "클라우드에서" 이용 가능한 콘텐트를 포함한다. 콘텐트의 아이템의 각각은, 강도 바(strength bar)로서 예시되는 지시를 포함하는데, 그 지시는, 공유된 네트워크 환경, 예를 들면, 파일 공유 서비스 내에서의 콘텐트의 각각의 아이템과 연관되는 액티비티의 양을 나타낸다.
액티비티 레벨 및/또는 액티비티의 강도를 나타내기 위해, 아이콘, 하일라이트, 컬러 코딩, 텍스쳐, 등등과 같은 임의의 적절하게 디스플레이되는 지시가 사용될 수도 있다. 액티비티의 레벨 또는 강도는, 액세스된 횟수, 콘텐트의 편집, 최근에 콘텐트가 액세스되었던 방법, 및 등등에 기초할 수도 있다.
또한, 콘텐트의 아이템은, 서로에 대한 액티비티의 상대적인 레벨에 기초하여 확장된 표시(2302) 내에서 배치된다. 이 방식에서, 확장된 표시(2302)는, 상호작용을 지원하는 그리고 유저가 주목할 가능성이 증가된 콘텐트의 아이템을 포함하는, 따라서 유저가 시작 스크린으로부터 "멀리 내비게이팅할" 필요가 없을 가능성을 추가로 지원하는, 태스크바에서의 사용을 지원하는, 및 등등을 하는 포털로서 작용할 수도 있다.
확장된 표시(2304)는 소셜 네트워크 서비스로부터 수신되는 통지를 내포하는 콘텐트를 포함한다. 이것도 역시, 콘텐트의 액티비티 레벨이 표시 내에서 나타내어지고 배치되는데, 액티비티 레벨은 이 경우에서는 상태 게시물인 "좋아요", 및 등등이다. 뉴스 애플리케이션에 대한 기사 및 등등과 같은 다른 예도 또한 고려된다. 확장된 표시 내에서 디스플레이되는 콘텐트 및 연관 레벨은 다양한 방식으로, 예컨대 도 1과 연관하여 앞서 설명된 바와 같이 통지 시스템의 일부에서 획득될 수도 있다. 따라서, 이 예에서, 유저는, 확장된 표시의 사용을 통해 공유된 네트워크 환경에서 내포되는 콘텐트에 관하여 "최신으로" 쉽게 유지될 수도 있다. 이들 액티비티 레벨 기술은, 그 취지와 범위를 벗어나지 않으면서, 앞서 설명된 시나리오 중 임의의 것에 포함될 수도 있다는 것을 바로 알 수 있어야 한다.
예시적인 프로시져
하기의 논의는, 앞서 설명된 시스템 및 디바이스를 활용하여 구현될 수도 있는 확장 가능한 애플리케이션 표시 기술을 설명한다. 프로시져의 각각의 양태는 하드웨어, 펌웨어, 또는 소프트웨어, 또는 이들의 조합으로 구현될 수도 있다. 프로시져는, 하나 이상의 디바이스에 의해 수행되는 동작을 명시하는 블록의 세트로서 도시되며, 각각의 블록에 의한 동작을 수행하기 위한 도시된 순서로 반드시 제한되지는 않는다. 하기의 논의 중 일부에서, 예시적인 환경을 참조할 것이다.
도 24는, 운영체제의 파일 계층의 루트 레벨에서 표시가 확장되는 예시적인 구현예에서의 프로시져(2400)를 묘사한다. 표시는, 컴퓨팅 디바이스의 운영체제에 의해 유지되는 파일 계층의 루트 레벨에서의 애플리케이션의 출력인데, 표시는, 각각의 애플리케이션의 실행을 런칭하도록 선택될 수 있다(블록 2402). 예를 들면, 표시는, 예를 들면, 도 1의 통지 시스템을 활용하는 것을 통해, 표시 내에서 그리고 표시된 애플리케이션의 실행 없이 통지를 출력하도록 구성되는 제1 디스플레이 모드에서 디스플레이될 수도 있다.
표시 중 하나의 확장을 야기하도록 구성되는 입력의 운영체제에 의한 인식에 응답하여, 하나 이상의 다른 표시를 갖는 루트 레벨에서의 포함을 위해 표시의 디스플레이가 확장되는데, 표시의 확장된 디스플레이는, 각각의 애플리케이션에 대한 하나 이상의 입력을 수용하도록 구성된다(블록 2404). 유저는, 예를 들면, 제1 디스플레이 모드에서 디스플레이되는 표시의, 제2 디스플레이 모드에서의 확장된 디스플레이로의 확장을 야기하기 위해, 운영체제(108)에 의해 인식되는 제스처를 행할 수도 있다. 이 제2 디스플레이 모드에 있을 때, 확장된 표시 내에 포함되는 콘텐트와 상호작용하도록, 예컨대 사진을 고르도록, 텍스트를 입력하도록, 다큐먼트를 인쇄하도록, 및 등등을 하도록, 입력이 수신될 수도 있다.
표시 중 하나의 확장을 야기하도록 구성되는 입력의 운영체제에 의한 인식에 응답하여, 하나 이상의 다른 표시를 갖는 루트 레벨에서의 포함을 위해 표시의 디스플레이의 사이즈가 확장되는데, 확장된 디스플레이는, 그리드 레이아웃의 루트 레벨에서의 표시 중 하나 이상의 다른 표시의, 그리드 레이아웃을 유지하는 재배치를 야기한다(블록 2406). 이전 예로 계속하면, 입력의 수신은, 표시의 확장뿐만 아니라 도 3에서 도시되는 바와 같은 다른 표시의 재배치 둘 다를 야기할 수도 있다.
표시 중 하나의 확장을 야기하도록 구성되는 입력의 운영체제에 의한 인식에 응답하여, 하나 이상의 다른 표시를 갖는 루트 레벨에서의 포함을 위해 표시의 디스플레이가 확장되는데, 표시의 확장된 디스플레이는, 공유된 네트워크 환경에서의 콘텐트를 내포하는 액티비티의 상대적인 레벨 및 콘텐트를 나타내도록 구성된다(블록 2408). 도 23에서 도시되는 바와 같이, 공유된 네트워크 환경 내에서의 액티비티의 상대적인 레벨은, (예를 들면, "히트 맵(heat map)", 강도 바, 등등으로서의) 지시, 콘텐트 자체의 배치의 순서, 및 등등을 통해 포함될 수도 있다.
확장된 표시가 태스크바에 포함되게 하도록 구성되는 입력의 운영체제에 의한 인식에 응답하여, 확장된 표시는 태스크바의 일부로서 디스플레이를 위해 포함된다(블록 2410). 유저는, 예를 들면, 확장된 표시 상에서 "우클릭"할 수도 있고 확장된 표시를 태스크바에 고정시키기 위한 옵션을 선택할 수도 있다. 다른 경우에서, 유저는 루트 레벨로부터 확장된 표시를 선택할 수도 있고 그것을, 예를 들면 드래그 앤 드랍 제스처를 통해 또는 커서 제어 디바이스의 사용을 통해, 태스크바의 출력과 연관되는 유저 인터페이스의 에지를 향해 드래그할 수도 있다. 다양한 다른 예가 또한 고려된다.
도 25는 확장된 표시를 포함하는 태스크바가 디스플레이되는 예시적인 구현예에서의 프로시져(2500)를 묘사한다. 태스크바의 출력을 야기하도록 구성되는 입력이 컴퓨팅 디바이스의 운영체제에 의해 수신된다(블록 2502). 이것은, 디스플레이 디바이스의 에지로부터의 "스와이프"를 수반하는 베젤 제스처, 커서 제어 디바이스의 "우클릭"의 사용, 디스플레이 디바이스의 에지에 근접하는 커서의 위치결정, 및 등등을 포함할 수도 있다.
수신하는 것에 응답하여, 컴퓨팅 디바이스에 의해 유저 인터페이스에서 태스크바의 디스플레이가 야기되는데, 태스크바는, 각각의 애플리케이션의 실행을 런칭하도록 선택될 수 있는 애플리케이션의 표시를 포함하고, 각각의 애플리케이션에 대한 표시 중 적어도 하나는, 확장된 표시 내에서 디스플레이되는 콘텐트를 수반하는 하나 이상의 입력을 수용하도록 구성되는 확장된 표시로서 구성된다.(블록 2504). 예컨대 텍스트를 입력하기 위해, 확장된 표시 내에 포함되는 콘텐트와 상호작용하기 위해, 및 등등을 위해, 여러 상이한 입력이 수신될 수도 있다.
도 26은, 확장된 표시 내에 포함되는 콘텐트가 애플리케이션 또는 디바이스로 전송되는 예시적인 구현예에서의 프로시져(2600)를 묘사한다. 애플리케이션 또는 하드웨어 디바이스의 표시를 포함하는 유저 인터페이스가 컴퓨팅 디바이스에 의해 디스플레이된다(블록 2602). 도 18에서 도시되는 바와 같이, 예를 들면, 유저 인터페이스는, 주변 디바이스 또는 다른 컴퓨팅 디바이스와 같은 디바이스의 표시를 포함할 수도 있다. 유저 인터페이스는 또한 애플리케이션의 표시를 포함할 수도 있는데, 애플리케이션의 표시는, 제1 디스플레이 모드(예를 들면, 타일) 또는 제2 디스플레이 모드(예를 들면, 확장된 타일)를 포함할 수도 있다. 하나 이상의 구현예에서, 도 17에서 도시되는 바와 같은 제3 모드(예를 들면, 몰입형 쉘에서의 풀 스크린 모드)도 또한 고려된다.
컴퓨팅 디바이스에 의해 유저 디바이스에서 태스크바가 디스플레이되는데, 태스크바는, 애플리케이션의 실행을 런칭하도록 선택될 수 있는 애플리케이션의 표시를 포함하고, 각각의 애플리케이션에 대한 표시 중 적어도 하나는, 확장된 표시 내에서 디스플레이되는 콘텐트를 수반하는 하나 이상의 입력을 수용하도록 구성되는 확장된 표시로서 구성된다(블록 2604). 태스크바는, 다양한 입력, 예컨대 제스처, 커맨드, 및 앞서 설명된 바와 같은 등등에 응답하여 출력될 수도 있다.
확장된 표시에서의 콘텐트의 표시 중 특정한 하나의 선택 및 애플리케이션 또는 하드웨어 디바이스의 표시 중 하나의 선택의 수신에 응답하여, 콘텐트는 확장된 표시로부터, 하드웨어 디바이스 또는 애플리케이션 중 선택된 표시에 대응하는 하드웨어 디바이스 또는 애플리케이션으로 전송된다(블록 2606). 도 18에서 도시되는 바와 같이, 예를 들면, 유저는 사진 애플리케이션의 확장된 표시로부터 콘텐트(예를 들면, 사진)를 선택할 수도 있고 그것을 다른 컴퓨팅 디바이스의 표시로 드래그하여 사진을 그 디바이스로 무선으로 전송할 수도 있다. 도 19에서 도시되는 바와 같이, 유저는 확장된 표시로부터 다큐먼트를 선택할 수도 있고 다큐먼트를 프린트할 디바이스를 선택할 수도 있다. 앞서 설명된 바와 같이 다양한 다른 예도 또한 고려된다.
도 27은, 확장된 표시와 연관되는 애플리케이션의 실행의 결과가 컴퓨팅 디바이스 사이에서 이송되는 예시적인 구현예에서의 프로시져(2700)를 묘사한다. 각각의 애플리케이션의 실행을 런칭하도록 선택될 수 있는 애플리케이션의 표시가, 컴퓨팅 디바이스의 운영체제에 의해 유지되는 파일 계층의 루트 레벨에서 디스플레이되는데, 표시 중 적어도 하나는, 각각의 애플리케이션의 실행의 결과를 갖는 확장된 디스플레이를 구비한다(블록 2702). 확장된 표시는, 예를 들면, 유저로부터 수신되는 입력을 포함할 수도 있고 따라서 결과는 이들 입력을 도 20에서 도시되는 바와 같이 포함한다. 결과는 또한 발생한 프로세싱을 포함할 수도 있고 따라서 애플리케이션의 실행 상태를 내포하는 데이터, 예를 들면, 도 21에서 도시되는 바와 같이 유저 입력에 응답하여 생성되는 맵에서의 방향을 포함할 수도 있다.
확장된 디스플레이를 구비하는 적어도 하나의 표시와 연관되는 모바일 컴퓨팅 디바이스로부터의 입력의 수신에 응답하여, 각각의 애플리케이션의 실행의 결과는 모바일 컴퓨팅 디바이스로 이송된다(블록 2704). 이전 예에서 계속하면, 이 이송을 야기하기 위해, 컴퓨팅 디바이스(104) 또는 다른 컴퓨팅 디바이스, 예를 들면, 컴퓨팅 디바이스(2002) 중 어느 하나에 의해, 입력이 수신될 수도 있는데, 입력은 도 20과 연관하여 설명된 바와 같이 다양한 형태를 취할 수도 있다. 응답으로, 결과(예를 들면, 입력, 애플리케이션의 상태 및 구성 데이터, 및 등등)는 효율적이고 직관적인 방식으로 디바이스 사이에서 이송될 수도 있다.
도 28은, 확장된 표시가 데스크탑 쉘에 대해 구성되는 예시적인 구현예에서의 프로시져(2800)를 묘사한다. 데스크탑 쉘 표시는, 컴퓨팅 디바이스의 운영체제에 의해 유지되는 파일 계층의 루트 레벨의 애플리케이션의 표시와 함께 하는 데스크탑 쉘의 출력인데, 애플리케이션의 표시는 각각의 상기 애플리케이션의 실행을 런칭하도록 선택될 수 있다(블록 2802). 데스크탑 쉘의 표시는, 파일 시스템의 루트 레벨을 갖는 다른 애플리케이션의 표시와 함께 앞서 설명된 바와 같은 제1 디스플레이 모드에 포함될 수도 있다.
데스크탑 쉘 표시의 확장을 야기하도록 구성되는 입력의 운영체제에 의한 인식에 응답하여, 애플리케이션의 하나 이상의 다른 표시를 갖는 루트 레벨에서의 포함을 위해 데스크탑 쉘 표시의 디스플레이가 확장되는데, 표시의 확장된 디스플레이는, 데스크탑 쉘 내에서 실행될 수 있는 애플리케이션을 설명하는 콘텐트를 포함하도록 구성된다(블록 2804). 도 16에서 도시되는 바와 같이, 예를 들면, 확장된 표시는, 데스크탑 쉘에서의, 예를 들면, 활발한, 일시중지된 상태의, 및 등등의 실행에 대해 이용 가능한 애플리케이션을 설명하는 콘텐트를 포함한다. 표시는, 데스크탑 쉘 내에서 애플리케이션을 런칭하기 위해, 예를 들면, 몰입형 쉘과 데스크탑 쉘 사이의 전이를 자동적으로 야기하기 위해, 선택될 수 있다. 따라서, 데스크탑 쉘의 확장된 표시는, 운영체제(108)의 쉘 사이에서 상호작용을 지원하는 포털로서 작용할 수도 있다.
예시적인 시스템 및 디바이스
도 29는, 본원에서 설명되는 다양한 기술을 구현할 수도 있는 하나 이상의 컴퓨팅 시스템 및/또는 디바이스를 나타내는 예시적인 컴퓨팅 디바이스(2902)를 포함하는 예시적인 시스템을 2900에서 일반적으로 예시하는데, 컴퓨팅 디바이스(2902)는 확장된 표시(210)의 포함을 통해 예시된다. 컴퓨팅 디바이스(2902)는, 예를 들면, 서비스 공급자의 서버, 클라이언트와 연관되는 디바이스(예를 들면, 클라이언트 디바이스), 온칩(on-chip) 시스템, 및/또는 임의의 다른 적절한 컴퓨팅 디바이스 또는 컴퓨팅 시스템일 수도 있다.
예시된 바와 같은 예시적인 컴퓨팅 디바이스(2902)는, 서로 통신 가능하게 커플링되는 프로세싱 시스템(2904), 하나 이상의 컴퓨터 판독 가능 매체(2906), 및 하나 이상의 I/O 인터페이스(2908)를 포함한다. 도시되지는 않았지만, 컴퓨팅 디바이스(2902)는, 다양한 컴포넌트를 서로 커플링하는 시스템 버스 또는 다른 데이터 및 커맨드 이송 시스템을 더 포함할 수도 있다. 시스템 버스는, 메모리 버스 또는 메모리 컨트롤러, 주변장치 버스, 범용 직렬 버스, 및/또는 다양한 버스 아키텍쳐 중 임의의 것을 활용하는 프로세서 또는 로컬 버스와 같은 상이한 버스 구조체 중 임의의 하나 또는 조합을 포함할 수 있다. 제어 라인 및 데이터 라인과 같은 다양한 다른 예도 또한 고려된다.
프로세싱 시스템(2904)은 하드웨어를 사용하여 하나 이상의 동작을 수행하는 기능성을 나타낸다. 따라서, 프로세싱 시스템(2904)은, 프로세서, 기능적 블록, 및 등등으로서 구성될 수도 있는 하드웨어 엘리먼트(2910)를 포함하는 것으로 예시된다. 이것은 하드웨어의 구현예를, 주문형 반도체(application specific integrated circuit) 또는 하나 이상의 반도체를 사용하여 형성되는 다른 로직 디바이스로서, 포함할 수도 있다. 하드웨어 엘리먼트(2910)는, 하드웨어 엘리먼트(2910)를 형성하는 재료 또는 내부에서 활용되는 프로세싱 메커니즘에 의해 제한되지 않는다. 예를 들면, 프로세서는 반도체(들) 및/또는 트랜지스터(예를 들면, 전자 집적 회로(integrated circuit; IC))로 구성될 수도 있다. 이러한 맥락에서, 프로세서 실행 가능 명령어는 전자적으로 실행 가능한 명령어일 수도 있다.
컴퓨터 판독 가능 매체(2906)는 메모리/스토리지(2912)를 포함하는 것으로 예시된다. 메모리/스토리지(2912)는 하나 이상의 컴퓨터 판독 가능 매체와 연관되는 메모리/스토리지 용량을 나타낸다. 메모리/스토리지(2912)는 휘발성 매체(예컨대 랜덤 액세스 메모리(random access memory; RAM)) 및/또는 불휘발성 매체(예컨대 리드 온리 메모리(read only memory; ROM), 플래시 메모리, 광학 디스크, 자기 디스크, 및 등등)를 포함할 수도 있다. 메모리/스토리지(2912)는 고정식 매체(예를 들면, RAM, ROM, 고정식 하드 드라이브, 및 등등)뿐만 아니라 착탈식 매체(예를 들면, 플래시 메모리, 착탈식 하드 드라이브, 광학 디스크, 및 등등)를 포함할 수도 있다. 컴퓨터 판독 가능 매체(2906)는 하기에서 더 설명되는 바와 같이 다양한 다른 방식으로 구성될 수도 있다.
입/출력 인터페이스(들)(2908)는, 유저가 커맨드 및 정보를 컴퓨팅 디바이스(2902)에 입력하는 것을 허용하는, 그리고 정보가 다양한 입/출력 디바이스를 사용하여 유저 및/또는 다른 컴포넌트 또는 디바이스로 제공되는 것을 또한 허용하는 기능성을 나타낸다. 입력 디바이스의 예는 키보드, 커서 제어 디바이스(예를 들면, 마우스), 마이크, 스캐너, 터치 기능성(예를 들면, 물리적 접촉을 검출하도록 구성되는 용량성 또는 다른 센서), 카메라(예를 들면, 카메라는 제스처처럼 터치를 내포하지 않는 움직임을 인식하기 위해, 가시 파장 또는 불가시 파장 예컨대 적외선 주파수를 활용할 수도 있다), 및 등등을 포함한다. 출력 디바이스의 예는 디스플레이 디바이스(예를 들면, 모니터 또는 프로젝터), 스피커, 프린터, 네트워크 카드, 촉각 반응 디바이스, 및 등등을 포함한다. 따라서, 컴퓨팅 디바이스(2902)는 유저 상호작용을 지원하기 위해 하기에서 더 설명되는 바와 같이 다양한 방식으로 구성될 수도 있다.
소프트웨어, 하드웨어 엘리먼트, 또는 프로그램 모듈의 일반적인 맥락에서, 다양한 기술이 본원에서 설명될 수도 있다. 일반적으로, 이러한 모듈은, 특정한 태스크를 수행하는 또는 특정한 추상 데이터 타입을 구현하는 루틴, 프로그램, 오브젝트, 엘리먼트, 컴포넌트, 데이터 구조, 및 등등을 포함한다. 본원에서 사용되는 바와 같은 용어 "모듈", "기능성", 및 "컴포넌트"는 소프트웨어, 펌웨어, 하드웨어, 또는 이들의 조합을 일반적으로 나타낸다. 본원에서 설명되는 기술의 특징은 플랫폼 독립적인데, 그 기술이 다양한 프로세서를 구비하는 다양한 상업적 컴퓨팅 플랫폼 상에서 구현될 수도 있다는 것을 의미한다.
설명된 모듈 및 기술의 구현예는 몇몇 형태의 컴퓨터 판독 가능 매체 상에 저장되거나 또는 몇몇 형태의 컴퓨터 판독 가능 매체를 통해 전송될 수도 있다. 컴퓨터 판독 가능 매체는, 컴퓨팅 디바이스(2902)에 의해 액세스될 수도 있는 다양한 매체를 포함할 수도 있다. 비제한적인 예로서, 컴퓨터 판독 가능 매체는 "컴퓨터 판독 가능 저장 매체" 및 "컴퓨터 판독 가능 신호 매체"를 포함할 수도 있다.
"컴퓨터 판독 가능 저장 매체"는, 단순한 신호 송신, 반송파, 또는 신호 그 자체와는 대조적으로, 정보의 영구적인 및/또는 비일시적인 저장을 가능하게 하는 매체 및/또는 디바이스를 지칭할 수도 있다. 따라서, 컴퓨터 판독 가능 저장 매체는 비 신호 베어링 매체(non-signal bearing media)를 지칭한다. 컴퓨터 판독 가능 저장 매체는, 컴퓨터 판독 가능 명령어, 데이터 구조체, 프로그램 모듈, 로직 엘리먼트/회로, 또는 다른 데이터와 같은 정보의 저장에 적합한 방법 또는 기술로 구현되는 휘발성 및 불휘발성의 착탈식 및 비착탈식 매체 및/또는 스토리지 디바이스와 같은 하드웨어를 포함한다. 컴퓨터 판독 가능 저장 매체의 예는, RAM, ROM, EEPROM, 플래시 메모리 또는 다른 메모리 기술, CD-ROM, 디지털 다기능 디스크(digital versatile disks; DVD) 또는 다른 광학 스토리지, 하드 디스크, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 스토리지 디바이스, 또는 다른 스토리지 디바이스, 유형의 매체, 또는 원하는 정보를 저장하기에 적합하며 컴퓨터에 의해 액세스될 수도 있는 제조 물품을 포함할 수도 있지만, 이들로 제한되지는 않는다.
"컴퓨터 판독 가능 신호 매체"는, 예컨대 네트워크를 통해 명령어를 컴퓨팅 디바이스(2902)의 하드웨어로 송신하도록 구성되는 신호 베어링 매체(signal-bearing medium)를 지칭할 수 있다. 신호 매체는 통상적으로 컴퓨터 판독 가능 명령어, 데이터 구조체, 프로그램 모듈, 또는 변조된 데이터 신호, 예컨대 반송파, 데이터 신호, 또는 다른 전송 메커니즘에서의 다른 데이터를 구현할 수도 있다. 신호 매체는 임의의 정보 전달 매체를 또한 포함한다. 용어 "변조된 데이터 신호"는, 자신의 특성 세트 중 하나 이상이 신호에 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경된 신호를 의미한다. 비제한적인 예로서, 통신 매체는 유선 네트워크 또는 직결 접속과 같은 유선 매체, 및 무선 매체 예컨대 음향, RF, 적외선 및 다른 무선 매체를 포함한다.
앞서 설명된 바와 같이, 하드웨어 엘리먼트(2910) 및 컴퓨터 판독 가능 매체(2906)는, 본원에서 설명되는 기술의 적어도 몇몇 양태를 구현하기 위해, 예컨대 하나 이상의 명령어를 수행하기 위해, 몇몇 실시형태에서 활용될 수도 있는 하드웨어 형태로 구현되는 모듈, 프로그래밍 가능 디바이스 로직 및/또는 고정식 디바이스 로직을 나타낸다. 하드웨어 엘리먼트는 집적 회로 또는 온칩 시스템, 주문형 반도체(application-specific integrated circuit; ASIC), 필드 프로그래머블 게이트 어레이(field-programmable gate array; FPGA), 복합 프로그래머블 로직 디바이스(complex programmable logic device; CPLD), 및 실리콘 또는 다른 하드웨어 디바이스에서의 다른 구현예의 컴포넌트를 포함할 수도 있다. 이 맥락에서, 하드웨어는, 하드웨어뿐만 아니라 실행을 위한 명령어를 저장하기 위해 활용되는 하드웨어, 예를 들면, 앞서 설명된 컴퓨터 판독 가능 저장 매체에 의해 구현되는 명령어 및/또는 로직에 의해 정의되는 프로그램 태스크를 수행하는 프로세싱 디바이스로서 동작할 수도 있다.
본원에서 설명되는 다양한 기술 및 모듈을 구현하기 위해, 상기의 조합이 또한 활용될 수도 있다. 따라서, 소프트웨어, 하드웨어, 또는 실행 가능 모듈은, 몇몇 형태의 컴퓨터 판독 가능 저장 매체 상에서 및/또는 하나 이상의 하드웨어 엘리먼트(2910)에 의해 구현되는 하나 이상의 명령어 및/또는 로직으로서 구현될 수도 있다. 컴퓨팅 디바이스(2902)는 소프트웨어 및/또는 하드웨어 모듈에 대응하는 특정한 명령어 및/또는 기능을 구현하도록 구성될 수도 있다. 따라서, 소프트웨어로서 컴퓨팅 디바이스(2902)에 의해 실행될 수 있는 모듈의 구현예는, 예를 들면, 프로세싱 시스템(2904)의 하드웨어 엘리먼트(2910) 및/또는 컴퓨터 판독 가능 저장 매체의 사용을 통해, 적어도 부분적으로 하드웨어로 달성될 수도 있다. 명령어 및/또는 기능은 본원에서 설명되는 기술, 모듈, 및 예를 구현하도록 하나 이상의 제조 물품(예를 들면, 하나 이상의 컴퓨팅 디바이스(2902) 및/또는 프로세싱 시스템(2904))에 의해 실행 가능할/동작 가능할 수도 있다.
도 29에서 더 예시되는 바와 같이, 예시적인 시스템(2900)은, 퍼스널 컴퓨터(personal computer; PC), 텔레비전 디바이스, 및/또는 모바일 디바이스 상에서 애플리케이션을 실행하고 있을 때 원활한 유저 경험을 위한 유비쿼터스 환경(ubiquitous environment)을 가능하게 한다. 서비스 및 애플리케이션은, 애플리케이션을 활용하는 동안, 비디오 게임을 플레이하는 동안, 비디오를 시청하는 동안, 및 등등의 동안, 하나의 디바이스로부터 다음의 것으로 전이할 때 공통의 유저 경험에 대해 모든 세 개의 환경에서 실질적으로 유사하게 실행한다.
예시적인 시스템(2900)에서, 다수의 디바이스는 중앙 컴퓨팅 디바이스를 통해 상호접속된다. 중앙 컴퓨팅 디바이스는 다수의 디바이스에 로컬할 수도 있거나 또는 다수의 디바이스로부터 원격에 위치될 수도 있다. 하나 이상의 실시형태에서, 중앙 컴퓨팅 디바이스는, 네트워크, 인터넷, 또는 다른 데이터 통신 링크를 통해 다수의 디바이스에 연결되는 하나 이상의 서버 컴퓨터의 클라우드일 수도 있다.
하나 이상의 실시형태에서, 이 상호접속 아키텍쳐(interconnection architecture)는 다수의 디바이스 전체에 걸쳐 전달될 기능성이, 다수의 디바이스의 유저에게 공통의 그리고 원활한 경험을 제공하는 것을 가능하게 한다. 다수의 디바이스의 각각은 상이한 물리적 요건 및 성능을 구비할 수도 있으며, 중앙 컴퓨팅 디바이스는, 디바이스에 맞춤되면서도(tailored) 여전히 모든 디바이스에 대해 공통인 경험을 디바이스로 전달하는 것을 가능하게 하기 위한 플랫폼을 사용한다. 하나 이상의 실시형태에서, 목표 디바이스의 클래스가 생성되고 경험이 디바이스의 제너릭 클래스(generic class)에 맞춤된다. 디바이스의 클래스는 디바이스의 물리적 피쳐, 사용의 타입, 또는 다른 공통의 특성에 의해 정의될 수도 있다.
다양한 구현예에서, 컴퓨팅 디바이스(2902)는, 예컨대 컴퓨터(2914), 모바일(2916), 및 텔레비전(2918) 용도를 위해, 여러 상이한 구성을 취할 수도 있다. 이들 구성의 각각은, 일반적으로 상이한 구조 및 성능을 가질 수도 있는 디바이스를 포함하며, 따라서 컴퓨팅 디바이스(2902)는 상이한 디바이스 클래스 중 하나 이상에 따라 구성될 수도 있다. 예를 들면, 컴퓨팅 디바이스(2902)는, 퍼스널 컴퓨터, 데스크탑 컴퓨터, 멀티스크린 컴퓨터, 랩탑 컴퓨터, 넷북, 및 등등을 포함하는 디바이스의 컴퓨터(2914) 클래스로서 구현될 수도 있다.
컴퓨팅 디바이스(2902)는, 모바일 디바이스, 예컨대 이동 전화, 휴대형 음악 플레이어, 휴대형 게임용 디바이스, 태블릿 컴퓨터, 멀티스크린 컴퓨터, 및 등등을 포함하는 디바이스의 모바일(2916) 클래스로서 또한 구현될 수도 있다. 컴퓨팅 디바이스(2902)는 또한, 일상적인(casual) 시청 환경에서 일반적으로 더 큰 스크린을 갖는 또는 더 큰 스크린에 연결되는 디바이스를 포함하는 디바이스의 텔레비전(2918) 클래스로서 구현될 수도 있다. 이들 디바이스는 텔레비전, 셋탑 박스, 게임용 콘솔, 및 등등을 포함한다.
본원에서 설명되는 기술은 컴퓨팅 디바이스(2902)의 이들 다양한 구성에 의해 지원될 수도 있으며 본원에서 설명되는 기술의 특정 예로 제한되지는 않는다. 이 기능성은, 모두 또는 부분적으로 분산형 시스템의 사용을 통해, 예컨대 하기에서 설명되는 바와 같이 플랫폼(2922)을 통한 "클라우드"(2920)를 통해 구현될 수도 있다.
클라우드(2920)는 리소스(2924)에 대한 플랫폼(2922)을 포함하고/하거나 플랫폼(2922)을 나타낸다. 플랫폼(2922)은 클라우드(2920)의 하드웨어(예를 들면, 서버) 및 소프트웨어 리소스의 기저의 기능성을 추상화한다. 리소스(2924)는, 컴퓨팅 디바이스(2902)로부터 원격인 서버 상에서 컴퓨터 프로세싱이 실행되고 있는 동안 활용될 수 있는 애플리케이션 및/또는 데이터를 포함할 수도 있다. 리소스(2924)는 인터넷을 통해 및/또는 가입자 네트워크, 예컨대 셀룰러 또는 와이파이 네트워크를 통해 제공되는 서비스를 또한 포함할 수 있다.
플랫폼(2922)은 컴퓨팅 디바이스(2902)를 다른 컴퓨팅 디바이스와 연결하는 리소스 및 기능을 추상화할 수도 있다. 플랫폼(2922)은, 플랫폼(2922)을 통해 구현되는 리소스(2924)에 대한 조우되는 요구에 대해, 대응하는 레벨의 스케일을 제공하기 위해, 리소스의 스케일링을 추상화하도록 또한 기능할 수도 있다. 따라서, 상호접속된 디바이스 실시형태에서, 본원에서 설명되는 기능성의 구현예는 시스템(2900) 전체에 걸쳐 분산될 수도 있다. 예를 들면, 기능성은 컴퓨팅 디바이스(2902) 상에서뿐만 아니라 클라우드(2920)의 기능성을 추상화하는 플랫폼(2922)을 통해서도 부분적으로 구현될 수도 있다.
결론
비록 본 발명이 구조적 피쳐 및/또는 방법론적 액트(act)에 고유한 언어로 설명되었지만, 첨부된 특허청구범위에서 정의되는 본 발명은 설명되는 특정한 피쳐 또는 액트에 반드시 제한되지는 않는다는 것이 이해되어야 한다. 대신, 특정한 피쳐 및 액트는 청구된 본 발명을 구현하는 예시적인 형태로서 개시된다.

Claims (20)

  1. 컴퓨팅 디바이스에 의해 구현되는 방법에 있어서,
    하드웨어 디바이스 또는 애플리케이션의 표시(representation)를 포함하는 유저 인터페이스를 상기 컴퓨팅 디바이스에 의해 디스플레이하는 단계;
    상기 컴퓨팅 디바이스에 의해 상기 유저 인터페이스에서 태스크바 - 상기 태스크바는, 상기 애플리케이션의 실행을 런칭하도록 선택될 수 있는 애플리케이션의 표시를 포함하고, 각각의 상기 애플리케이션에 대한 상기 표시 중 적어도 하나는, 확장된 표시 내에서 디스플레이되는 콘텐트를 수반하는 하나 이상의 입력을 수용하도록 구성되는 상기 확장된 표시로서 구성됨 - 를 디스플레이하는 단계; 및
    상기 확장된 표시에서의 콘텐트의 상기 표시 중 특정한 하나의 선택 및 하드웨어 디바이스 또는 애플리케이션의 상기 표시 중 하나의 선택의 수신에 응답하여, 상기 콘텐트를 상기 확장된 표시로부터, 상기 하드웨어 디바이스 또는 애플리케이션 중 상기 선택된 표시에 대응하는 상기 하드웨어 디바이스 또는 애플리케이션으로 전송하는 단계
    를 포함하는, 컴퓨팅 디바이스에 의해 구현되는 방법.
  2. 제1항에 있어서,
    상기 콘텐트는, 상기 확장된 표시에 의해 표시되는 상기 애플리케이션의 실행을 통해 소비될 수 있는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  3. 제1항에 있어서,
    상기 전송하는 단계는, 상기 확장된 표시에 의해 표시되는 상기 애플리케이션을 실행하지 않고 수행되는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  4. 제1항에 있어서,
    상기 콘텐트는 서비스 공급자의 웹 서비스에 의해 유지되고 상기 컴퓨팅 디바이스에 의해 네트워크를 통해 액세스 가능한 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  5. 제1항에 있어서,
    상기 콘텐트는 멀티미디어 콘텐트인 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  6. 제1항에 있어서,
    상기 확장된 표시에서의 콘텐트의 상기 표시 중 상기 특정한 하나의 상기 선택 및 하드웨어 디바이스 또는 애플리케이션의 상기 표시의 상기 선택은 제스처를 통해 수행되는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  7. 제6항에 있어서,
    상기 제스처는 드래그 앤 드랍(drag and drop) 제스처인 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  8. 제1항에 있어서,
    상기 태스크바의 상기 디스플레이는, 상기 태스크바가 상기 컴퓨팅 디바이스의 디스플레이 디바이스의 에지에 근접하여 디스플레이되도록 수행되는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  9. 제1항에 있어서,
    상기 표시의 상기 확장된 디스플레이는, 상기 애플리케이션의 상기 실행의 상기 런칭 대신 하나 이상의 입력을 수용하도록 구성되는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  10. 제1항에 있어서,
    상기 디바이스는 상기 컴퓨팅 디바이스에 대한 주변 디바이스(peripheral device)인 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  11. 제1항에 있어서,
    상기 디바이스는, 상기 컴퓨팅 디바이스에 무선으로 통신 가능하게 커플링되는 다른 컴퓨팅 디바이스인 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  12. 제1항에 있어서,
    상기 콘텐트를 상기 애플리케이션으로 전송하는 단계는, 상기 애플리케이션의 실행이 런칭되게 하고 상기 콘텐트를 소비하게 하는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  13. 제1항에 있어서,
    상기 콘텐트의 상기 소비는 네트워크를 통한 웹 서비스로의 통신을 포함하는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  14. 컴퓨팅 디바이스에 의해 구현되는 방법에 있어서,
    상기 컴퓨팅 디바이스의 운영체제에 의해 유지되는 파일 계층의 루트 레벨에서, 각각의 애플리케이션의 실행을 런칭하도록 선택될 수 있는 상기 애플리케이션의 표시 - 상기 표시 중 적어도 하나는, 각각의 상기 애플리케이션의 실행의 결과를 갖는 확장된 디스플레이를 구비함 - 를 디스플레이하는 단계; 및
    상기 확장된 디스플레이를 구비하는 상기 적어도 하나의 표시와 연관되는 모바일 컴퓨팅 디바이스로부터의 입력의 수신에 응답하여, 각각의 상기 애플리케이션의 상기 실행의 상기 결과를 상기 모바일 컴퓨팅 디바이스로 이송하는 단계
    를 포함하는, 컴퓨팅 디바이스에 의해 구현되는 방법.
  15. 제14항에 있어서,
    상기 이송하는 단계는, 상기 모바일 컴퓨팅 디바이스로 하여금, 상기 결과에 기초하여 상기 모바일 컴퓨팅 디바이스에 의한 각각의 상기 애플리케이션의 상기 실행을 계속하게 하는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  16. 제14항에 있어서,
    상기 실행의 상기 결과는, 상기 확장된 디스플레이 표시와의 상호작용을 통해 유저에 의해 입력되는 하나 이상의 입력을 포함하는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  17. 제16항에 있어서,
    상기 이송하는 단계는, 상기 모바일 컴퓨팅 디바이스로 하여금, 추가적인 입력을 수신하도록 상기 모바일 컴퓨팅 디바이스에 의한 각각의 상기 애플리케이션의 상기 실행을 계속하게 하는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  18. 제14항에 있어서,
    상기 이송하는 단계는, 상기 모바일 컴퓨팅 디바이스로 하여금, 상기 모바일 컴퓨팅 디바이스에 의해 각각의 상기 애플리케이션을 실행하게 하는 것인, 컴퓨팅 디바이스에 의해 구현되는 방법.
  19. 컴퓨팅 디바이스에 있어서,
    적어도 부분적으로 하드웨어로 구현되는 하나 이상의 모듈을 포함하고,
    상기 하나 이상의 모듈은,
    상기 컴퓨팅 디바이스의 운영체제에 의해 유지되는 파일 계층의 루트 레벨에서, 각각의 애플리케이션의 실행을 런칭하도록 선택될 수 있는 상기 애플리케이션의 표시 - 상기 표시 중 적어도 하나는, 확장된 디스플레이와의 통신을 통해 유저에 의해 제공되는 하나 이상의 입력을 포함하는 텍스트 입력부를 구비하는 상기 확장된 디스플레이를 구비함 - 를 디스플레이하는 동작;
    상기 확장된 디스플레이를 구비하는 상기 적어도 하나의 표시와 연관되는 모바일 컴퓨팅 디바이스로부터의 입력의 수신에 응답하여, 상기 하나 이상의 입력을 갖는 텍스트 입력부를 또한 구비하도록 상기 모바일 컴퓨팅 디바이스에 의한 각각의 상기 애플리케이션을 실행하기 위해, 상기 하나 이상의 입력을 이송하는 동작
    을 수행하도록 구성되는 상기 컴퓨팅 디바이스의 운영체제를 구현하도록 구성되는 것인, 컴퓨팅 디바이스.
  20. 제19항에 있어서,
    각각의 상기 애플리케이션은, 인스턴트 메시지를 전송하도록 또는 소셜 네트워크 서비스와 통신하도록 구성되는 것인, 컴퓨팅 디바이스.
KR1020167030849A 2014-04-04 2014-04-04 확장 가능한 애플리케이션 표시 및 콘텐트 전송 KR20160140932A (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2014/074783 WO2015149344A1 (en) 2014-04-04 2014-04-04 Expandable application representation and sending content

Publications (1)

Publication Number Publication Date
KR20160140932A true KR20160140932A (ko) 2016-12-07

Family

ID=54209757

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167030849A KR20160140932A (ko) 2014-04-04 2014-04-04 확장 가능한 애플리케이션 표시 및 콘텐트 전송

Country Status (5)

Country Link
US (1) US20150286350A1 (ko)
EP (1) EP3126941A4 (ko)
KR (1) KR20160140932A (ko)
CN (1) CN105378627A (ko)
WO (1) WO2015149344A1 (ko)

Families Citing this family (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20140298258A1 (en) * 2013-03-28 2014-10-02 Microsoft Corporation Switch List Interactions
KR102298602B1 (ko) 2014-04-04 2021-09-03 마이크로소프트 테크놀로지 라이센싱, 엘엘씨 확장가능한 애플리케이션 표시
EP3129847A4 (en) 2014-04-10 2017-04-19 Microsoft Technology Licensing, LLC Slider cover for computing device
EP3129846A4 (en) 2014-04-10 2017-05-03 Microsoft Technology Licensing, LLC Collapsible shell cover for computing device
USD755218S1 (en) * 2014-06-23 2016-05-03 Microsoft Corporation Display screen with graphical user interface
CN106662891B (zh) 2014-10-30 2019-10-11 微软技术许可有限责任公司 多配置输入设备
USD759706S1 (en) * 2015-01-20 2016-06-21 Microsoft Corporation Display screen with animated graphical user interface
USD770520S1 (en) * 2015-01-20 2016-11-01 Microsoft Corporation Display screen with animated graphical user interface
USD761302S1 (en) * 2015-01-20 2016-07-12 Microsoft Corporation Display screen with animated graphical user interface
USD771692S1 (en) * 2015-01-20 2016-11-15 Microsoft Corporation Display screen with animated graphical user interface
USD764526S1 (en) * 2015-01-20 2016-08-23 Microsoft Corporation Display screen with animated graphical user interface
USD769308S1 (en) * 2015-01-20 2016-10-18 Microsoft Corporation Display screen with animated graphical user interface
US11625160B2 (en) * 2020-12-31 2023-04-11 Google Llc Content navigation method and user interface
US20220397995A1 (en) * 2021-06-15 2022-12-15 Microsoft Technology Licensing, Llc Dashboard explore mode

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6724403B1 (en) * 1999-10-29 2004-04-20 Surfcast, Inc. System and method for simultaneous display of multiple information sources
US6640655B1 (en) * 2000-10-03 2003-11-04 Varco I/P, Inc. Self tracking sensor suspension mechanism
US7913183B2 (en) * 2002-10-08 2011-03-22 Microsoft Corporation System and method for managing software applications in a graphical user interface
JP2005202483A (ja) * 2004-01-13 2005-07-28 Sony Corp 情報処理装置および方法、並びにプログラム
US20070094597A1 (en) * 2004-11-04 2007-04-26 Rostom Mohamed A Dynamic graphical user interface for a desktop environment
US7665031B2 (en) * 2004-12-08 2010-02-16 Microsoft Corporation Method and system of taskbar button interfaces
CN100371893C (zh) * 2005-09-28 2008-02-27 华为技术有限公司 嵌入式设备用户界面的实现方法
US7996789B2 (en) * 2006-08-04 2011-08-09 Apple Inc. Methods and apparatuses to control application programs
CN101770332A (zh) * 2009-01-05 2010-07-07 联想(北京)有限公司 一种用户界面方法、用户界面装置及终端
US8549430B2 (en) * 2010-08-25 2013-10-01 Dell Products L.P. Using expanded tiles to access personal content
US10417018B2 (en) * 2011-05-27 2019-09-17 Microsoft Technology Licensing, Llc Navigation of immersive and desktop shells
US8924885B2 (en) * 2011-05-27 2014-12-30 Microsoft Corporation Desktop as immersive application
CN103105995B (zh) * 2011-11-14 2016-06-01 联想(北京)有限公司 显示方法和电子设备
US9207837B2 (en) * 2011-12-20 2015-12-08 Nokia Technologies Oy Method, apparatus and computer program product for providing multiple levels of interaction with a program
EP2610726B1 (en) * 2011-12-29 2018-08-29 Orange Drag and drop operation in a graphical user interface with highlight of target objects
EP2618246B1 (en) * 2012-01-19 2020-03-18 BlackBerry Limited Simultaneous display of multiple maximized applications on touch screen electronic devices
CN103475784B (zh) * 2013-09-18 2016-03-30 广东欧珀移动通信有限公司 一种手机应用程序窗口模式显示和操作方法

Also Published As

Publication number Publication date
EP3126941A4 (en) 2017-07-26
CN105378627A (zh) 2016-03-02
WO2015149344A1 (en) 2015-10-08
US20150286350A1 (en) 2015-10-08
EP3126941A1 (en) 2017-02-08

Similar Documents

Publication Publication Date Title
US10459607B2 (en) Expandable application representation
US20170131858A1 (en) Expandable Application Representation, Activity Levels, and Desktop Representation
KR20160140932A (ko) 확장 가능한 애플리케이션 표시 및 콘텐트 전송
US20150286387A1 (en) Expandable Application Representation and Taskbar
KR101885680B1 (ko) 이머시브 애플리케이션으로서의 데스크탑
US10417018B2 (en) Navigation of immersive and desktop shells
CN107113468B (zh) 一种移动计算设备以及实现的方法、计算机存储介质
US9843665B2 (en) Display of immersive and desktop shells
KR20170097161A (ko) 브라우저 디스플레이 캐스팅 기법들
US20150293888A1 (en) Expandable Application Representation, Milestones, and Storylines

Legal Events

Date Code Title Description
WITN Application deemed withdrawn, e.g. because no request for examination was filed or no examination fee was paid