KR20190084051A - 계층화된 콘텐츠 선택 - Google Patents

계층화된 콘텐츠 선택 Download PDF

Info

Publication number
KR20190084051A
KR20190084051A KR1020197013659A KR20197013659A KR20190084051A KR 20190084051 A KR20190084051 A KR 20190084051A KR 1020197013659 A KR1020197013659 A KR 1020197013659A KR 20197013659 A KR20197013659 A KR 20197013659A KR 20190084051 A KR20190084051 A KR 20190084051A
Authority
KR
South Korea
Prior art keywords
content
application
block portion
user interface
input
Prior art date
Application number
KR1020197013659A
Other languages
English (en)
Other versions
KR102468164B1 (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 KR20190084051A publication Critical patent/KR20190084051A/ko
Application granted granted Critical
Publication of KR102468164B1 publication Critical patent/KR102468164B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04804Transparency, e.g. transparent or translucent windows

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • User Interface Of Digital Computer (AREA)
  • Display Devices Of Pinball Game Machines (AREA)
  • Input From Keyboards Or The Like (AREA)

Abstract

본 개시 내용의 비 제한적인 예는 콘텐츠가 실행 애플리케이션에서 전통적으로 선택 불가능한 경우에도 실행 애플리케이션으로부터 콘텐츠의 블록 복사를 효율적으로 가능하게 하는 콘텐츠 선택을 위한 기능성을 기술하고 있다. 애플리케이션은, 예를 들어, 컴퓨팅 디바이스 상에서 실행중일 수 있다. 콘텐츠 선택을 위한 사용자 인터페이스의 활성화를 트리거하는 입력이 수신될 수 있다. 수신된 입력에 기초하여 애플리케이션 및 사용자 인터페이스의 계층화된 뷰가 제시될 수 있다. 일 예로서, 계층화된 뷰는 애플리케이션 위에 계층화된 사용자 인터페이스를 제시한다. 애플리케이션으로부터 콘텐츠의 블록 부분은 단일 액션에 기초하여 선택될 수 있다. 다른 예로, 단일 액션은 사용자 인터페이스를 통해 프로세싱되는 비 연속적 디바이스 클릭(non-continuous device click) 또는 비 연속적 터치 입력(non-continuous touch input)일 수 있다. 콘텐츠의 선택된 블록 부분에 대한 추가 액션(들)은 사용자 인터페이스를 통해 액세스될 수 있다.

Description

계층화된 콘텐츠 선택
새로운 애플리케이션/서비스는 다양한 방식으로 생산성을 증가시켜 왔다. 공통의 갈망은 사용자가 한 애플리케이션으로부터 콘텐츠를 복사하여 그 콘텐츠를 다른 애플리케이션에 붙여 넣을 수 있어야 한다는 것이다. 그러나, 일부 애플리케이션은 콘텐츠가 직접 복사될 수 있도록 구성되고 있지 않다. 심지어는 콘텐츠가 애플리케이션에서 복사될 수 있는 경우에도 콘텐츠를 선택하고 복사하는 과정이 번거롭다. 콘텐츠를 선택하려면, 사용자는 수 회의 액션, 가령, 콘텐츠를 선택하기 위한 선택 박스의 표시를 요청하는 제 1 액션(예를 들어, 길게 누르기), 사용자가 선택하고자 하는 콘텐츠 위에 선택 박스를 클릭하여 드래그하기 위한 다수의 액션 및 그 콘텐츠를 선택하기 위한 후속 액션을 수행해야 한다. 이와 같이, 본 출원의 예는 콘텐츠 선택의 효율성을 향상시키는 것과 관련된 일반적인 기술적 환경에 관한 것이다.
본 개시 내용의 비 제한적인 예는 콘텐츠가 실행 애플리케이션에서 전통적으로 선택 불가능한 경우에도 실행 애플리케이션으로부터 콘텐츠의 블록 복사(block copying)를 효율적으로 가능하게 하는 콘텐츠 선택 애플리케이션에 대한 기능성을 기술하고 있다. 애플리케이션은, 예를 들어, 컴퓨팅 디바이스 상에서 실행중일 수 있다. 콘텐츠 선택을 위한 사용자 인터페이스의 활성화를 트리거하는 입력이 수신될 수 있다. 일 예로서, 사용자 인터페이스의 활성화를 트리거하는 입력은 컴퓨팅 디바이스를 통해 수신될 수 있다. 수신된 입력에 기초하여 애플리케이션 및 사용자 인터페이스의 계층화된 뷰(layered view)가 제시될 수 있다. 일 예로서, 계층화된 뷰는 애플리케이션 위에 계층화된 사용자 인터페이스를 제시한다. 애플리케이션으로부터 콘텐츠의 블록 부분은 단일 액션에 기초하여 선택될 수 있다. 다른 예로, 단일 액션은 사용자 인터페이스를 통해 프로세싱되는 비 연속적 디바이스 클릭(non-continuous device click) 또는 비 연속적 터치 입력(non-continuous touch input)일 수 있다. 콘텐츠의 선택된 블록 부분에 대한 추가 액션(들)은 사용자 인터페이스를 통해 액세스될 수 있다.
다른 비 제한적인 예에서, 콘텐츠 선택을 위한 사용자 인터페이스는 예시적인 콘텐츠 선택 애플리케이션에 포함될 수 있다. 제 1 애플리케이션은, 예를 들어, 컴퓨팅 디바이스에 의해 실행될 수 있다. 제 2 애플리케이션의 활성화를 트리거하는 입력이 수신될 수 있다. 일 예로서, 제 2 애플리케이션은 예시적인 콘텐츠 선택 애플리케이션이다. 수신된 입력에 기초하여 제 1 애플리케이션 및 제 2 애플리케이션의 계층화된 뷰가 제시될 수 있다. 일 예로서, 계층화된 뷰는 제 1 애플리케이션 위에 계층화된 제 2 애플리케이션을 제시한다. 제 1 애플리케이션으로부터 콘텐츠의 블록 부분은 단일 액션에 기초하여 선택될 수 있다. 일 예로서, 단일 액션은 제 2 애플리케이션에 의해 프로세싱될 수 있다. 콘텐츠의 선택된 블록 부분에 대한 추가 액션(들)은 예시적인 콘텐츠 선택 애플리케이션를 통해 액세스될 수 있다.
본 개요는 개념의 선택을 단순화된 형태로 소개하기 위해 제공되며, 그 개념은 아래의 상세한 설명에서 추가로 설명된다. 이 개요는 청구된 발명의 요지의 핵심 기능 또는 필수 기능을 식별하기 위한 것도 아니고 청구된 발명의 요지의 범위를 제한하도록 사용되는 것도 아니다. 예의 부가적인 양태, 기능 및/또는 이점은 부분적으로는 아래의 설명에서 제시될 것이며, 부분적으로는 그 설명으로부터 명백해질 것이거나, 또는 본 개시 내용의 실시에 의해 학습될 수 있다.
비 제한적 및 비 절대적인 예가 다음의 도면을 참조하여 설명된다.
도 1은 본 개시 내용의 양태를 실시할 수 있는 컴퓨팅 디바이스의 일 예를 나타내는 블록도이다.
도 2a 및 도 2b는 본 개시 내용의 양태를 실시할 수 있는 모바일 컴퓨팅 디바이스의 간략화된 블록도이다.
도 3은 본 개시 내용의 양태를 실시할 수 있는 분산 컴퓨팅 시스템의 간략화된 블록도이다.
도 4는 본 개시 내용의 양태를 실시할 수 있는 콘텐츠 선택 프로세싱과 관련된 예시적인 방법이다.
도 5a 내지 도 5d는 본 개시 내용의 양태를 실시할 수 있는 예시적인 콘텐츠 선택 애플리케이션과 관련된 프로세싱을 위한 예시적인 사용자 인터페이스 뷰를 제시한다.
도 6은 본 개시 내용의 양태를 실시할 수 있는 하나 이상의 컴퓨팅 디바이스 상에서 구현가능한 일 예시적인 시스템을 나타낸다.
본 개시 내용의 비 제한적인 예는 콘텐츠가 실행 애플리케이션에서 전통적으로 선택 불가능한 경우에도 실행 애플리케이션으로부터 콘텐츠의 블록 복사(block copying)를 효율적으로 가능하게 하는 콘텐츠 선택 애플리케이션에 대한 기능성을 기술하고 있다. 콘텐츠 선택을 위한 예시적인 사용자 인터페이스가 설명되며, 이 인터페이스는 다른 실행 애플리케이션과 인터페이싱하여, 콘텐츠를 선택하고자 시도할 경우 다수의 액션(가령, 클릭/드래그/선택/복사)을 수행할 필요없이 콘텐츠의 신속하고 효율적인 선택을 가능하게 한다. 본원에 설명된 예에서, 콘텐츠의 블록 부분은 단일의 비 연속적인 액션을 사용하여 선택될 수 있다. 이는 콘텐츠의 블록 부분을 복사하려고 시도할 때 컴퓨팅 디바이스와의 사용자 상호 작용을 향상시킬뿐만 아니라 콘텐츠의 블록 부분을 복사하는 데 이용되고 있는 컴퓨팅 디바이스에 대한 프로세싱 효율을 향상시킨다. 일 예로서, 콘텐츠 선택을 위한 사용자 인터페이스는 콘텐츠 선택 애플리케이션의 컴포넌트일 수 있다. 콘텐츠 선택 애플리케이션은 다른 실행 애플리케이션과 인터페이싱하여, 콘텐츠의 일부가 다른 실행 애플리케이션에서 직접 선택 불가능한 경우에도 콘텐츠의 하나 이상의 부분이 다른 실행 애플리케이션으로부터 복사될 수 있게 한다.
예시적인 콘텐츠 선택 애플리케이션은, 콘텐츠의 블록 부분을 식별하고 사용자로 하여금 콘텐츠의 하나 이상의 블록 부분을 효율적으로 선택할 수 있게 하는 사용자 인터페이스 기능을 제공하도록 구성된다. 일부 예에서, 콘텐츠의 블록 부분은 콘텐츠의 하나 이상의 스니펫(snippets)을 포함할 수 있다. 콘텐츠의 스니펫은 하나 이상의 단어/문자/숫자/아이콘 등을 포함할 수 있다. 추가 예에서, 콘텐츠의 스니펫은 이미지, 비디오, 오디오, 수기 입력 등을 포함하는 다른 미디어를 포함할 수 있다. 텍스트 부분이 선택되는 예에서, 콘텐츠의 블록 부분은 콘텐츠의 두 개 이상의 스니펫을 포함할 수 있다. 대안적으로, 콘텐츠의 블록 부분은 콘텐츠 유형, 예를 들어, 텍스트 콘텐츠의 스니펫 및 미디어 콘텐츠의 스니펫의 임의의 조합을 포함할 수 있다. 경우에 따라, 예시적인 콘텐츠 선택 애플리케이션 이외의 애플리케이션을 사용할 때 콘텐츠의 스니펫은 선택 불가능한 것일 수 있다. 적어도 하나의 예에서, (예시적인 콘텐츠 선택 애플리케이션을 통해 선택되는) 콘텐츠의 블록 부분은 콘텐츠 선택 애플리케이션 이외의 애플리케이션에서 선택 불가능한 콘텐츠의 적어도 하나의 스니펫을 포함할 수 있다.
콘텐츠 선택을 위한 사용자 인터페이스는 계층화된 뷰로 제시될 수 있으며, 여기서, 사용자 인터페이스(예를 들어, 콘텐츠 선택 애플리케이션의 사용자 인터페이스)는 콘텐츠의 일부를 포함하는 실행 애플리케이션을 나타내는 다른 계층 위에 제공되는 계층 내에 표시된다. 예시적인 콘텐츠 선택 애플리케이션은 컴퓨팅 디바이스의 전경(foreground)에서 실행되는 애플리케이션(예를 들어, 검출된 전경 애플리케이션)을 검출하도록 구성될 수 있다. 콘텐츠 선택 애플리케이션이 활성화될 경우, 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션 위에 계층화되어, 사용자에게 콘텐츠 선택 애플리케이션의 기능성에 액세스할 수 있으면서 전경 애플리케이션의 콘텐츠를 보고 액세스할 수 있게 하는 능력을 제공한다. 선택된 콘텐츠에 대한 추가 액션으로의 빠른 액세스는 예시적인 콘텐츠 선택 애플리케이션을 통해 제공된다. 콘텐츠 선택 애플리케이션은, 선택된 콘텐츠에 대한 추가 액션으로의 빠른 액세스를 가능하게 하는 사용자 인터페이스 기능을 제공하도록 추가로 구성된다. 추가 액션의 예는 다른 예 중에서도, 복사, 태스크 리스크로의 선택된 콘텐츠의 추가, 선택된 콘텐츠의 전자 메일 송부, 다른 사용자/애플리케이션과의 선택된 콘텐츠의 공유, 및 선택된 콘텐츠의 편집을 포함하지만, 이에 국한되는 것은 아니다. 또한, 다른 예에서, 예시적인 콘텐츠 선택 애플리케이션은 사용자에게 표시되는 사용자 인터페이스 기능을 우선 순위화하도록 구성될 수 있다. 적어도 하나의 예에서, 콘텐츠 선택 사용자 인터페이스에 표시되는 하나 이상의 사용자 인터페이스 기능은, 다른 예 중에서도, 선택된 콘텐츠(예를 들어, 유형, 포맷, 컨텍스트 등), 콘텐츠의 관련 메타데이터, 콘텐츠를 선택하는 애플리케이션의 유형, 및 클라이언트 컴퓨팅 디바이스 상에서 실행중인 현재 진행 프로세스의 유형 중 하나 이상에 기초하여, 동적으로 제시(또는 업데이트)될 수 있다. 예를 들어, 콘텐츠 선택 애플리케이션은 텍스트 콘텐츠의 블록 부분이 웹 브라우징 애플리케이션으로부터 복사되고 있다는 것을 검출할 수 있고, 그 콘텐츠의 블록 부분을 메시징 애플리케이션, 전자 메일 애플리케이션 및/또는 워드 프로세싱 애플리케이션에 붙여 넣기 위한 사용자 인터페이스 기능을 제시할 수 있다.
따라서, 본 개시 내용은 다른 예 중에서도, 단일의 비 연속적인 액션으로 콘텐츠를 선택하는 능력, 콘텐츠의 블록 부분을 효율적으로 식별 및 선택하는 능력, 콘텐츠가 애플리케이션으로부터 직접 선택 불가능한 경우에도 콘텐츠를 선택 가능하게 만드는 능력, 예시적인 콘텐츠 선택 애플리케이션을 액세스 및 이용하기 위한 프로세싱 디바이스의 보다 효율적인 동작(예를 들어, 컴퓨팅 사이클/컴퓨팅 리소스의 절약), 사용자와 예시적인 콘텐츠 선택 애플리케이션을 실행하는 컴퓨팅 디바이스 간의 사용자 상호 작용의 향상, 및 기능성을 확장하기 위해 예시적인 콘텐츠 선택 애플리케이션 내에 상이한 애플리케이션/서비스를 통합하는 확장성을 포함하고 있지만 이에 국한되지는 않는 복수의 기술적 이점을 제공한다.
도 1 내지 도 3과 그 관련 기술은 본 발명의 예가 실시될 수 있는 다양한 동작 환경에 대한 설명을 제공한다. 그러나, 도 1 내지 도 3과 관련하여 도시되고 설명된 디바이스 및 시스템은 예 및 설명의 목적을 위한 것이며 본원에 기술된 본 발명의 예를 실시하는 데 이용될 수 있는 방대한 수의 컴퓨팅 디바이스 구성을 제한하는 것은 아니다.
도 1은 컴퓨팅 디바이스(102), 예를 들어, 본 개시 내용의 예를 실시할 수 있는 모바일 프로세싱 디바이스의 물리적 컴포넌트를 나타내는 블록도이다. 다른 예 중에서도, 컴퓨팅 디바이스(102)는 예시적인 콘텐츠 선택 애플리케이션/서비스의 실행을 위해 구성된 예시적인 컴퓨팅 디바이스일 수 있다. 기본적인 구성에서, 컴퓨팅 디바이스(102)는 적어도 하나의 프로세싱 유닛(104) 및 시스템 메모리(106)를 포함할 수 있다. 컴퓨팅 디바이스의 구성 및 유형에 따라, 시스템 메모리(106)는 휘발성 저장 디바이스(예를 들어, 랜덤 액세스 메모리), 비 휘발성 저장 디바이스(예를 들어, 판독 전용 메모리), 플래시 메모리, 또는 그러한 메모리의 임의의 조합을 포함할 수 있지만, 이에 국한되는 것은 아니다. 시스템 메모리(106)는 운영 체제(107), 및 소프트웨어 프로그램/모듈(120), 가령 IO 관리자(124), 다른 유틸리티(126) 및 애플리케이션(128)을 실행하기에 적절한 하나 이상의 프로그램 모듈(108)을 포함할 수 있다. 예로서, 시스템 메모리(106)는 실행을 위한 명령어를 저장할 수 있다. 시스템 메모리(106)의 다른 예는 애플리케이션과 관련된 데이터를 저장할 수 있다. 운영 체제(107)는, 예를 들어, 컴퓨팅 디바이스(102)의 동작을 제어하는 데 적합할 수 있다. 또한, 본 발명의 예는 그래픽 라이브러리, 다른 운영 체제 또는 임의의 다른 애플리케이션 프로그램과 협력하여 실시될 수 있으며, 임의의 특정 애플리케이션 또는 시스템에 국한되는 것은 아니다. 이 기본 구성은 파선(122) 내의 컴포넌트에 의해 도 1에 도시된다. 컴퓨팅 디바이스(102)는 추가적인 기능 또는 기능성을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(102)는 또한 추가의 데이터 저장 디바이스(착탈식 및/또는 비 착탈식), 가령, 예를 들어, 자기 디스크, 광학 디스크 또는 테이프를 포함할 수 있다. 이러한 추가의 저장 디바이스는 착탈식 저장 디바이스(109) 및 비 착탈식 저장 디바이스(110)에 의해 도 1에 도시된다.
전술한 바와 같이, 다수의 프로그램 모듈 및 데이터 파일은 시스템 메모리(106)에 저장될 수 있다. 프로세싱 유닛(104) 상에서 실행되는 동안, 프로그램 모듈(108)(가령, 입/출력(I/O) 관리자(124), 다른 유틸리티(126) 및 애플리케이션(128))은 본 개시 내용의 전체에 걸쳐 설명되는 하나 이상의 동작의 스테이지를 포함하지만 이에 국한되지는 않는 프로세스를 수행할 수 있다. 본 발명의 예에 따라 사용될 수 있는 다른 프로그램 모듈은 전자 메일 및 연락처 애플리케이션, 워드 프로세싱 애플리케이션, 스프레드 시트 애플리케이션, 데이터베이스 애플리케이션, 슬라이드 프리젠테이션 애플리케이션, 드로잉 또는 컴퓨터 지원 애플리케이션 프로그램, 사진 편집 애플리케이션, 오더링(authoring) 애플리케이션 등을 포함할 수 있다.
또한, 본 발명의 예는 개별적인 전자 소자를 포함한 전자 회로로, 로직 게이트를 포함하는 패키징된 또는 집적된 전자 칩으로, 마이크로프로세서를 이용하는 회로로, 또는 전자 소자 또는 마이크로프로세서를 포함하는 단일 칩 상에서 구현될 수 있다. 예를 들어, 본 발명의 예는 도 1에 도시된 각각의 또는 다수의 컴포넌트가 단일 집적 회로 상에 집적될 수 있는 시스템 온 칩(system-on-a-chip)(SOC)을 통해 실시될 수 있다. 이러한 SOC 디바이스는 하나 이상의 프로세싱 유닛, 그래픽 유닛, 통신 유닛, 시스템 가상화 유닛 및 다양한 애플리케이션 기능성을 포함할 수 있으며, 이들의 모두는 단일 집적 회로로서 칩 기판 상에 통합(또는 "burned")된다. SOC를 통해 동작할 때, 본원에 기재된 기능성은 단일 집적 회로 (칩) 상의 컴퓨팅 디바이스(102)의 다른 컴포넌트와 통합된 애플리케이션 특정 로직(application-specific logic)을 통해 동작될 수 있다. 본 개시 내용의 예는 또한 로직 동작, 가령, 예를 들어, 기계적, 광학적, 유체 및 양자 기술을 포함하지만 이에 국한되지 않는, AND, OR, 및 NOT을 수행할 수 있는 다른 기술을 사용하여 실시될 수 있다. 또한, 본 발명의 예는 범용 컴퓨터 또는 임의의 다른 회로 또는 시스템에서 실시될 수 있다.
컴퓨팅 디바이스(102)는 또한 키보드, 마우스, 펜, 사운드 입력 디바이스, 음성 입력/인식용 디바이스, 터치 입력 디바이스 등과 같은 하나 이상의 입력 디바이스(들)(112)를 가질 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(114)가 또한 포함될 수 있다. 전술한 디바이스는 예이며 다른 것도 사용될 수 있다. 컴퓨팅 디바이스(104)는 다른 컴퓨팅 디바이스(118)와의 통신을 허용하는 하나 이상의 통신 접속물(116)을 포함할 수 있다. 적절한 통신 접속물(116)의 예는 RF 송신기, 수신기 및/또는 송수신기 회로; 범용 직렬 버스(USB), 병렬 포트, 및/또는 직렬 포트를 포함하지만, 이에 국한되는 것은 아니다.
본원에서 사용되는 컴퓨터 판독가능 매체라는 용어는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능 명령어, 데이터 구조 또는 프로그램 모듈과 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비 휘발성, 착탈식 및 비 착탈식 매체를 포함할 수 있다. 시스템 메모리(106), 착탈식 저장 디바이스(109), 및 비 착탈식 저장 디바이스(110)는 모두 컴퓨터 저장 매체의 예이다(즉, 메모리 저장 디바이스이다). 컴퓨터 저장 매체는 RAM, ROM, 전기적 소거 가능 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 저장 디바이스, 자기 카세트, 자기 테이프, 자기 디스크 저장 디바이스 또는 다른 자기 저장 디바이스, 또는 임의의 다른 제품을 포함할 수 있으며, 이들은 정보를 저장하는 데 사용될 수 있고 컴퓨팅 디바이스(102)에 의해 액세스될 수 있다. 임의의 그러한 컴퓨터 저장 매체는 컴퓨팅 디바이스(102)의 일부일 수 있다. 컴퓨터 저장 매체는 반송파 또는 다른 전파되거나 변조된 데이터 신호를 포함하지는 않는다.
통신 매체는 변조된 데이터 신호, 가령, 반송파 또는 다른 전송 메커니즘에서 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 다른 데이터에 의해 구현될 수 있으며 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호의 정보를 인코딩하는 것과 같은 방식으로 설정되거나 변경된 하나 이상의 특성을 갖는 신호를 나타낼 수 있다. 제한이 아닌 예로서, 통신 매체는 유선 네트워크 또는 직접 유선 접속과 같은 유선 매체, 및 음향, 무선 주파수(RF), 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있다.
도 2a 및 도 2b는 본 발명의 예를 실시할 수 있는, 모바일 전화기, 스마트폰, PDA, 태블릿 퍼스널 컴퓨터, 패블릿(phablet), 슬레이트(slate), 랩탑 컴퓨터 등과 같은 모바일 컴퓨팅 디바이스(200)를 도시한다. 모바일 컴퓨팅 디바이스(200)는 예시적인 콘텐츠 선택 애플리케이션/서비스의 실행을 위해 구성된 예시적인 컴퓨팅 디바이스일 수 있다. 애플리케이션 커맨드 컨트롤(application command control)은 모바일 컴퓨팅 디바이스(200)와 같은 컴퓨팅 디바이스 상에서 실행되는 애플리케이션을 위해 제공될 수 있다. 애플리케이션 커맨드 컨트롤은 사용자 인터페이스(UI) 또는 그래픽 사용자 인터페이스(GUI)를 통해 애플리케이션과 함께 사용하기 위한 커맨드의 제시 및 제어와 관련된다. 일 예에서, 애플리케이션 커맨드 컨트롤은 단일 애플리케이션으로 동작하도록 특별하게 프로그래밍될 수 있다. 다른 예에서, 애플리케이션 커맨드 컨트롤은 둘 이상의 애플리케이션을 통해 작동하도록 프로그래밍될 수 있다. 도 2a를 참조하면, 예를 구현하기 위한 모바일 컴퓨팅 디바이스(200)의 일 예가 도시되어 있다. 기본 구성에서, 모바일 컴퓨팅 디바이스(200)는 입력 엘리먼트와 출력 엘리먼트를 모두 갖는 핸드헬드 컴퓨터이다. 모바일 컴퓨팅 디바이스(200)는 일반적으로, 사용자가 모바일 컴퓨팅 디바이스(200)에 정보를 입력할 수 있게 하는 하나 이상의 입력 버튼(210) 및 디스플레이(205)를 포함한다. 모바일 컴퓨팅 디바이스(200)의 디스플레이(205)는 또한 입력 디바이스(예를 들어, 터치 스크린 디스플레이)로서 기능할 수 있다. 포함되는 경우, 선택적인 측면 입력 엘리먼트(215)는 추가적인 사용자 입력을 가능하게 한다. 측면 입력 엘리먼트(215)는 회전식 스위치, 버튼, 또는 임의의 다른 유형의 수동 입력 엘리먼트일 수 있다. 대안적인 예에서, 모바일 컴퓨팅 디바이스(200)는 더 많거나 적은 입력 엘리먼트를 포함할 수 있다. 예를 들어, 일부 예에서 디스플레이(205)는 터치 스크린이 아닐 수도 있다. 또 다른 대안적인 예에서, 모바일 컴퓨팅 디바이스(200)는 셀룰러 폰과 같은 휴대용 전화기 시스템이다. 모바일 컴퓨팅 디바이스(200)는 선택적 키패드(235)를 또한 포함할 수 있다. 선택적 키패드(235)는 물리적인 키패드일 수 있거나, 또는 터치 스크린 디스플레이 또는 임의의 다른 소프트 입력 패널(SIP) 상에 생성된 "소프트" 키패드일 수 있다. 다양한 예에서, 출력 엘리먼트는 GUI, 시각적 표시기(220)(예를 들어, 발광 다이오드), 및/또는 오디오 변환기(225)(예를 들어, 스피커)를 나타내는 디스플레이(205)를 포함한다. 일부 예에서, 모바일 컴퓨팅 디바이스(200)는 촉각 피드백을 사용자에게 제공하기 위한 진동 변환기를 포함한다. 또 다른 예에서, 모바일 컴퓨팅 디바이스(200)는 오디오 입력(예를 들어, 마이크로폰 잭), 오디오 출력(예를 들어, 헤드폰 잭) 및 비디오 출력(예를 들어, HDMI 포트)과 같은, 입력 및/또는 출력 포트를 포함하여, 외부 디바이스와 신호를 송수신한다.
도 2b는 모바일 컴퓨팅 디바이스의 일 예의 아키텍처를 나타내는 블록도이다. 즉, 모바일 컴퓨팅 디바이스(200)는 일부 예를 구현하기 위해 시스템(즉, 아키텍처)(202)을 포함할 수 있다. 일 예에서, 시스템(202)은 하나 이상의 애플리케이션(예를 들어, 브라우저, 전자 메일, 일정, 연락처 관리자, 메시징 클라이언트, 게임, 및 미디어 클라이언트/플레이어)을 실행할 수 있는 "스마트폰"으로서 구현된다. 일부 예에서, 시스템(202)은 통합된 개인 휴대 정보 단말기(PDA), 태블릿 및 무선 전화기와 같은 컴퓨팅 디바이스로서 통합된다.
하나 이상의 애플리케이션 프로그램(266)은 메모리(262)에 로딩되어 운영 체제(264) 상에서 또는 이와 관련하여 실행될 수 있다. 애플리케이션 프로그램의 예는 전화기 다이얼러 프로그램, 전자 메일 프로그램, 개인 정보 관리(personal information management)(PIM) 프로그램, 워드 프로세싱 프로그램, 스프레드 시트 프로그램, 인터넷 브라우저 프로그램, 메시징 프로그램 등을 포함한다. 시스템(202)은 또한 메모리(262) 내에 비 휘발성 저장 영역(268)을 포함한다. 비 휘발성 저장 영역(268)은 시스템(202)의 전원이 다운되는 경우에 상실되어서는 안되는 영구 정보를 저장하는 데 사용될 수 있다. 애플리케이션 프로그램(266)은 전자 메일 또는 전자 메일 애플리케이션에 의해 사용되는 다른 메시지 등의 정보를 비 휘발성 저장 영역(268)에 사용 및 저장할 수 있다. 동기화 애플리케이션(도시되지 않음)은 또한 시스템(202) 상에 상주하며, 호스트 컴퓨터 상에 상주하는 상응하는 동기화 애플리케이션과 상호 작용하여 비 휘발성 저장 영역(268)에 저장된 정보가 호스트 컴퓨터에 저장된 대응 정보와 동기화되어 유지되도록 프로그래밍된다. 알 수 있는 바와 같이, 다른 애플리케이션이 메모리(262)에 로딩될 수 있고 본원에 설명된 모바일 컴퓨팅 디바이스(예를 들어, 시스템(202)) 상에서 실행될 수 있다.
시스템(202)은 하나 이상의 배터리로 구현될 수 있는 전원(270)을 갖는다. 전원(270)은 배터리를 보충하거나 재충전하는 AC 어댑터 또는 파워드 도킹 크래들(powered docking cradle)과 같은 외부 전원을 추가로 포함할 수 있다.
시스템(202)은 시스템(202)과 하나 이상의 주변 디바이스 사이의 접속을 가능하게 하는 기능을 수행하는 주변 디바이스 포트(230)를 포함할 수 있다. 주변 디바이스 포트(230)로의 또는 주변 디바이스 포트(230)로부터의 전송은 운영 체제(OS)(264)의 제어 하에 수행된다. 다시 말하면, 주변 디바이스 포트(230)에 의해 수신되는 통신은 운영 체제(264)를 통해 애플리케이션 프로그램(266)에 전파될 수 있으며, 그 반대도 마찬가지이다.
시스템(202)은 또한 무선 주파수 통신을 송신 및 수신하는 기능을 수행하는 무선 인터페이스 계층(272)을 포함할 수 있다. 무선 인터페이스 계층(272)은 통신 캐리어 또는 서비스 제공자를 통해 시스템(202)과 "외부 세계"사이의 무선 접속을 가능하게 한다. 무선 인터페이스 계층(272)으로의 또는 무선 인터페이스 계층(272)으로부터의 전송은 운영 체제(OS)(264)의 제어 하에 수행된다. 다시 말하면, 무선 인터페이스 계층(272)에 의해 수신되는 통신은 운영 체제(264)를 통해 애플리케이션 프로그램(266)에 전파될 수 있으며, 그 반대도 마찬가지이다.
시각적 표시기(220)는 시각적 통지를 제공하기 위해 사용될 수 있고, 및/또는 오디오 인터페이스(274)는 (모바일 컴퓨팅 디바이스(200)의 설명에서 기술된 바와 같은) 오디오 변환기(225)를 통해 가청 통지를 생성하기 위해 사용될 수 있다. 도시된 예에서, 시각적 표시기(220)는 발광 다이오드(LED)이고 오디오 변환기(225)는 스피커이다. 이들 디바이스는 전원(270)에 직접 연결될 수 있어서, 프로세서(260) 및 다른 컴포넌트가 배터리 전력을 보존하기 위해 셧다운될 지라도, 활성화될 경우, 통지 메커니즘에 의해 지시된 지속 기간 동안 온 상태를 유지하게 된다. LED는 디바이스의 전원 온 상태를 나타내기 위해 사용자가 조치를 취할 때까지 무기한으로 온 상태를 유지하도록 프로그래밍될 수 있다. 오디오 인터페이스(274)는 사용자에게 가청 신호를 제공하고 사용자로부터 가청 신호를 수신하는 데 사용된다. 예를 들어, 오디오 변환기(225)(도 2a에 도시됨)에 연결되는 것에 부가하여, 오디오 인터페이스(274)는 또한 마이크로폰에 연결되어 가청 입력을 수신함으로써, 가령, 전화 대화를 가능하게 할 수 있다. 본 발명의 예에 따르면, 마이크로폰은 또한 오디오 센서로서의 역할을 하여, 후술되는 바와 같이, 통지의 제어를 가능하게 할 수 있다. 시스템(202)은 스틸 이미지, 비디오 스트림 등을 레코딩하는 온보드 카메라(230)의 동작을 인에이블시키는 비디오 인터페이스(276)를 추가로 포함할 수 있다.
시스템(202)을 구현하는 모바일 컴퓨팅 디바이스(200)는 추가적인 기능 또는 기능성을 가질 수 있다. 예를 들어, 모바일 컴퓨팅 디바이스(200)는 또한 추가의 데이터 저장 디바이스(착탈식 및/또는 비 착탈식), 가령, 자기 디스크, 광학 디스크 또는 테이프를 포함할 수 있다. 이러한 추가의 데이터 저장 디바이스는 도 2b에서 비 휘발성 저장 영역(268)에 의해 도시된다.
모바일 컴퓨팅 디바이스(200)에 의해 생성되거나 캡처되고 시스템(202)을 통해 저장되는 데이터/정보는 전술한 바와 같이 모바일 컴퓨팅 디바이스(200) 상에 로컬로 저장될 수 있거나, 또는 그 데이터는 임의의 개수의 저장 매체 상에 저장될 수 있으며, 이 저장 매체는 모바일 컴퓨팅 디바이스에 의해, 무선(272)을 통해 또는 모바일 컴퓨팅 디바이스(200)와 모바일 컴퓨팅 디바이스와 관련된 별도의 컴퓨팅 디바이스, 예를 들어 인터넷과 같은 분산 컴퓨팅 네트워크 내의 서버 컴퓨터 간의 유선 접속을 통해 액세스될 수 있다. 알 수 있는 바와 같이, 이러한 데이터/정보는 모바일 컴퓨팅 디바이스(200)에 의해 무선(272) 또는 분산 컴퓨팅 네트워크를 통해 액세스될 수 있다. 유사하게, 이러한 데이터/정보는 전자 메일 및 협업 데이터/정보 공유 시스템을 포함하는 주지의 데이터/정보 전달 및 저장 수단에 따른 저장 및 사용을 위해 컴퓨팅 디바이스 간에 용이하게 전송될 수 있다.
도 3은 전술된 바와 같이, 저장 시스템 상의 타겟 데이터에 신뢰성있게 액세스하고 하나 이상의 클라이언트 디바이스로의 통신 실패를 핸들링하는 애플리케이션을 제공하기 위한 시스템의 아키텍처의 일 예를 나타낸다. 도 3의 시스템은 예시적인 콘텐츠 선택 애플리케이션/서비스의 실행을 위해 구성된 예시적인 시스템일 수 있다. 프로그래밍 모듈(108) 및/또는 애플리케이션(120) 및 저장 디바이스/메모리(도 1에 설명됨)에 액세스되거나, 이와 상호 작용되거나, 또는 이와 관련하여 편집되는 타겟 데이터는 상이한 통신 채널 또는 다른 저장 유형으로 저장될 수 있다. 예를 들어, 다양한 문서는 디렉토리 서비스(322), 웹 포털(324), 메일 박스 서비스(326), 인스턴트 메시징 스토어(328), 또는 소셜 네트워킹 서비스(330)를 사용하여 저장될 수 있고, 애플리케이션(128), IO 관리자(124), 다른 유틸리티(126) 및 저장 시스템은 본원에 설명된 바와 같이, 데이터 이용을 가능하게 하기 위해 이러한 유형의 시스템 등 중에서 임의의 것을 사용할 수 있다. 서버(320)는 네트워크(315)를 통해 범용 컴퓨팅 디바이스(102) 및 모바일 디바이스(들)(200) 상에서 동작하는 클라이언트에 의한 사용을 위한 저장 시스템을 제공할 수 있다. 예로서, 네트워크(315)는 인터넷 또는 임의의 다른 유형의 로컬 또는 광역 네트워크를 포함할 수 있고, 클라이언트 노드는 네트워크(315)에 접속하기 위해 구현될 수 있다. 클라이언트 노드의 예는 퍼스널 컴퓨터 내에 구현되는 컴퓨팅 디바이스(102), 태블릿 컴퓨팅 디바이스, 및/또는 모바일 컴퓨팅 디바이스(200)(예를 들어, 모바일 프로세싱 디바이스)를 포함하지만 이에 국한되는 것은 아니다. 예로서, 클라이언트 노드는 무선 네트워크 접속(예를 들어, WiFi 접속, 블루투스 등)을 사용하여 네트워크(315)에 접속할 수 있다. 그러나, 본원에 설명된 예는 또한 하드와이어 접속을 통해 네트워크(315)에 접속하는 것으로 확장될 수 있다. 클라이언트 컴퓨팅 디바이스(102 또는 200)의 이러한 예 중 임의의 것은 스토어(316)로부터 콘텐츠를 획득할 수 있다.
도 4는 본 개시 내용의 양태를 실시할 수 있는 콘텐츠 선택 프로세싱과 관련된 예시적인 방법(400)이다. 일 예로서, 방법(400)은 도 1 내지 도 3에 도시된 것과 같은 예시적인 프로세싱 디바이스 및/또는 시스템에 의해 실행될 수 있다. 예에서, 방법(400)은 동작, 프로그램 또는 명령어를 저장하고 실행하도록 구성된 적어도 하나의 프로세서를 포함하는 디바이스 상에서 실행될 수 있다. 방법(400)에서 수행되는 동작은 다른 예 중에서도, 컴퓨터 프로그램, 애플리케이션 프로그래밍 인터페이스(API), 신경망 또는 머신 학습 프로세싱을 실행하는 시스템 및/또는 서비스에 의해 실행되는 동작에 대응할 수 있다. 일 예로서, 방법(400)에서 실행되는 프로세싱 동작은 하나 이상의 하드웨어 컴포넌트에 의해 수행될 수 있다. 다른 예에서, 방법(400)에서 실행되는 프로세싱 동작은 하나 이상의 소프트웨어 컴포넌트에 의해 수행될 수 있다. 일부 예에서, 방법(400)에서 설명된 프로세싱 동작은 복수의 애플리케이션/서비스, 디바이스, 지식 리소스 등에 대한 액세스를 갖는 웹 서비스와 관련된 하나 이상의 애플리케이션/서비스에 의해 실행될 수 있다. 다른 예에서, 방법(400)에서 설명된 프로세싱 동작은, 예를 들어, (도 6의) 시스템(600)에서 설명된 바와 같이, 분산 네트워크를 통해 접속된 하나 이상의 컴포넌트에 의해 구현될 수 있다. 방법(400)이 클라이언트 컴퓨팅 디바이스의 관점에서 설명되었지만, 청구된 발명은 클라이언트 디바이스, 서버 디바이스 및/또는 다수의 컴퓨팅 디바이스를 포함하는 시스템의 관점에서 작성된 실시예로 확장될 수 있다.
방법(400)은 프로세싱 동작(402)에서 시작하며, 여기서 하나 이상의 애플리케이션은 컴퓨팅 디바이스 상에서 실행중이다. 컴퓨팅 디바이스의 예는 도 1 내지 도 3의 설명에서 이전에 제공되었다. 컴퓨팅 디바이스의 추가적인 예가 도 6의 설명(예를 들어, 프로세싱 디바이스(602))에 후속적으로 제공된다. 일 예에서, 컴퓨팅 디바이스는 모바일폰, 태블릿, 랩탑, 웨어러블 디바이스 등과 같은 모바일 디바이스이다.
컴퓨팅 디바이스는 하나 이상의 애플리케이션/서비스를 실행(프로세싱 동작(402))중일 수 있다. 적용 가능한 예는 애플리케이션/서비스의 유형을 제한하지 않으며, 그에 따라, 애플리케이션/서비스는 콘텐츠가 애플리케이션/서비스 제공자에 의해 직접 제공되든 다른 리소스로부터 액세스되든 간에, 콘텐츠를 포함하는 모든 유형의 애플리케이션이 될 수 있다. 애플리케이션/서비스의 예는, 예를 들어, 컴퓨팅 디바이스의 홈 스크린 상에 OS 콘텐츠를 제공하는 운영 체제(OS) 서비스를 포함한다. 일부의 경우, 콘텐츠에 액세스하는 데 사용되는 애플리케이션/서비스 내에서 애플리케이션/서비스의 콘텐츠를 선택할 수 없을 수도 있다. 예를 들어, 실행중인 애플리케이션/서비스는 선택/복사/붙여 넣기 기능성을 소유하지 않을 수 있다.
플로우는 프로세싱 동작(404)으로 진행할 수 있으며, 여기에서 예시적인 콘텐츠 선택 애플리케이션을 활성화시키는 입력이 수신된다. 예시적인 콘텐츠 선택 애플리케이션/서비스는 다른 실행 애플리케이션과 인터페이싱하여, 콘텐츠를 선택/복사하고자 시도할 경우 다수의 액션(가령, 클릭/드래그/선택/복사)을 수행할 필요없이 콘텐츠의 신속하고 효율적인 선택을 가능하게 하도록 구성된다. 콘텐츠 선택 애플리케이션은, 콘텐츠의 블록 부분을 식별하고 사용자로 하여금 콘텐츠의 하나 이상의 블록 부분을 효율적으로 선택할 수 있게 하는 사용자 인터페이스 기능을 제공하도록 구성된다. 콘텐츠 선택 애플리케이션은 또한 (콘텐츠 선택 애플리케이션 및/또는 다른 애플리케이션/서비스를 실행하는) 컴퓨팅 디바이스와 인터페이싱하여 콘텐츠 선택 애플리케이션으로의 액세스를 위한 프로세싱 효율을 향상시키도록 구성된다. 예시적인 콘텐츠 선택 애플리케이션의 예는 적어도 도 5a 내지 도 5d에 제공된다.
프로세싱 동작(404)에서, 예시적인 콘텐츠 선택 애플리케이션의 활성화는 (예를 들어, 아직 활성화되지 않은 경우) 콘텐츠 선택 애플리케이션이 시작되는 예 또는 (예를 들어, 콘텐츠 선택 애플리케이션 이미 실행 중인 경우) 콘텐츠 선택 애플리케이션의 표시(display)가 리콜되는 예를 포함할 수 있다. 콘텐츠 선택 애플리케이션을 활성화하기 위한 입력을 수신하는 것(프로세싱 동작(404))은 컴퓨팅 디바이스와의 상호 작용을 통해, 콘텐츠 선택 애플리케이션에 액세스하려는 의도를 검출하는 것을 포함한다. 콘텐츠 선택 애플리케이션을 활성화하려는 의도를 나타내는, 수신될 수 있는 입력의 예는: 터치 또는 디바이스 입력을 통한 콘텐츠 선택 애플리케이션에 대한 애플리케이션/서비스 아이콘의 선택, 콘텐츠 선택 애플리케이션에 대한 액세스를 요청하는 음성 발언의 수신, 실행중인 애플리케이션/서비스 내에서 애드온(add-on) 표시되는 사용자 인터페이스의 선택, 및 컴퓨팅 디바이스의 컴포넌트와의 상호 작용(예를 들어, 제스처, 단축키 선택, 버튼 누름)을 포함하지만, 이에 국한되는 것은 아니다. 일 예에서, 모바일 컴퓨팅 디바이스의 홈(home) 키를 길게 누르는 것과 같은 액션은 콘텐츠 선택 애플리케이션의 사용자 인터페이스의 활성화를 위한 트리거일 수 있다. 예를 들어, 예시적인 콘텐츠 선택 애플리케이션은 OS의 배경에서 실행중일 수 있으며, 여기서 컴퓨팅 디바이스를 통해 수신된 입력은 OS의 전경 내에 콘텐츠 선택 애플리케이션의 사용자 인터페이스의 표시를 트리거할 수 있다. 도 5a 및 첨부된 설명을 참조하면, 컴퓨팅 디바이스 상의 버튼이 콘텐츠 선택을 위한 예시적인 사용자 인터페이스의 표시를 트리거하는 예를 추가로 도시한다. (예를 들어, OS의 배경에서) 콘텐츠 선택 애플리케이션이 실행중이지만 표시되지 않는 경우, 콘텐츠 선택 애플리케이션은 컴퓨팅 디바이스를 통해 수신된 입력을 검출하도록 구성될 수 있으며, 예를 들어, 이 경우, 액션은 콘텐츠 선택 애플리케이션의 표시를 트리거한다.
플로우는 프로세싱 동작(406)으로 진행할 수 있으며, 여기서 컴퓨팅 디바이스는 실행되는 애플리케이션들의 계층화된 뷰를 표시한다. 계층화된 뷰는 적어도 하나의 실행 애플리케이션(프로세싱 동작(402)) 및 콘텐츠 선택 애플리케이션의 프리젠테이션(presentation)을 포함할 수 있다. 계층화된 뷰의 일 예에서, 콘텐츠 선택 애플리케이션은 한 계층 내에 표시되고, 이 계층 아래에는 콘텐츠의 일부를 포함하는 실행 애플리케이션을 나타내는 다른 계층이 제공된다. 예시적인 계층화된 뷰의 예시적인 예에 대해서는 도 5b 및 도 5c가 참조된다.
일 예에서, 예시적인 계층화된 뷰는 아래의 프로세싱 동작에 기초하여, 검출된 전경 애플리케이션의 상부에 콘텐츠 선택을 위한 예시적인 사용자 인터페이스를 제시한다. 검출된 전경 애플리케이션의 사용자 인터페이스(UI) 트리가 액세스되고 평가된다. 검출된 전경 애플리케이션에 대한 UI 트리의 평가는 검출된 전경 애플리케이션과 관련된 복수의 UI 엘리먼트를 식별하는 것을 포함할 수 있다. 식별된 UI 엘리먼트 중에서, 사용자에 의해 선택될 가능성이 가장 큰 UI 엘리먼트들의 서브 세트가 식별된다. 사용자가 UI 엘리먼트를 선택할 가능성을 검출함에 있어서, 다른 예 중에서도, 사용자 인터페이스 엘리먼트와 관련된 콘텐츠의 유형을 평가하는 모델링 및/또는 통계 분석이 적용될 수 있다. 예를 들어, 네비게이션적인 엘리먼트(navigational elements), 이미지 버튼 등과 관련된 UI 엘리먼트는 사용자에 의해 선택될 가능성이 높지 않을 것이기 때문에 제외될 수 있다. 예시적인 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션으로부터 식별된 UI 엘리먼트들의 서브 세트 내의 각 UI 엘리먼트의 상부에 대화형 UI 엘리먼트를 생성하도록 추가로 구성될 수 있다. 이를 통해, 사용자는 검출된 전경 애플리케이션의 UI 엘리먼트와 일관성을 유지하면서 콘텐츠 선택을 위한 사용자 인터페이스를 통해 콘텐츠의 특정 부분을 선택할 수 있다. 대화형 UI 엘리먼트를 생성하기 위해, 검출된 전경 애플리케이션의 UI 엘리먼트의 포지션 및 크기가 복제되어, 대화형 전경 애플리케이션의 UI 엘리먼트 위에 놓이는 대화형 UI 엘리먼트에 적용된다. 그런 다음, 대화형 UI 엘리먼트에 상호 작용이 추가되고, 이 대화형 UI 엘리먼트는 콘텐츠 선택을 위한 사용자 인터페이스를 통해 액세스될 수 있다.
콘텐츠 선택 애플리케이션은 컴퓨팅 디바이스의 전경에서 실행되는 애플리케이션(즉, 전경 애플리케이션)을 검출하도록 구성될 수 있다. 콘텐츠 선택 애플리케이션이 활성화될 경우, 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션 위에 계층화되어, 사용자에게 콘텐츠 선택 애플리케이션의 기능성에 액세스할 수 있으면서 전경 애플리케이션의 콘텐츠를 보고 액세스할 수 있게 하는 능력을 제공한다. 예시적인 콘텐츠 선택 애플리케이션은 컴퓨팅 디바이스의 전경에서 실행되는 애플리케이션을 검출하기 위해 컴퓨팅 디바이스 및/또는 다른 실행 애플리케이션과 인터페이싱하도록 구성될 수 있다. 일 예로서, 콘텐츠 선택 애플리케이션은 컴퓨팅 디바이스의 전경에서 실행중인 애플리케이션을 검출하기 위해 애플리케이션 프로그래밍 인터페이스(API)를 이용할 수 있다.
(예를 들어, 계층화된 뷰에 제시된 바와 같은) 콘텐츠 선택 애플리케이션의 실행 동안, 방법(400)의 플로우는 결정 동작(408)으로 진행할 수 있으며, 여기서 검출된 전경 애플리케이션으로부터 콘텐츠의 하나 이상의 블록 부분을 식별하기 위한 사용자 인터페이스(UI) 기능이 선택되는지를 결정한다. 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션으로부터 콘텐츠의 블록 부분을 식별할 수 있게 하는 사용자 인터페이스 기능을 제공하도록 구성된다. 콘텐츠의 블록 부분을 식별하기 위한 예시적인 UI 기능의 예가 도 5b 및 도 5d에 도시되고 후속해서 본원에 설명된다. 전경 애플리케이션으로부터 콘텐츠의 블록 부분을 식별하기 위한 예시적인 UI 기능의 선택은 다른 예 중에서도, 탭 제스처, 컴포넌트/디바이스를 통한 선택, 및 음성 발언의 수신을 포함하지만 이에 국한되지 않는 임의의 방식으로 행해질 수 있다. 일 예에서, 탭 제스처는 예시적인 UI 기능을 선택하는 데 사용될 수 있는데, 여기서 탭 제스처는 단일의 비 연속적인 액션(예를 들어, 클릭)이다.
콘텐츠의 블록 부분은 콘텐츠의 하나 이상의 스니펫(snippets)을 포함할 수 있다. 콘텐츠의 스니펫은 하나 이상의 단어/문자/숫자/아이콘 등을 포함할 수 있다. 추가 예에서, 콘텐츠의 스니펫은 이미지, 비디오, 오디오, 수기 입력 등을 포함하는 다른 미디어를 포함할 수 있다. 텍스트 부분이 선택되는 예에서, 콘텐츠의 블록 부분은 콘텐츠의 두 개 이상의 스니펫을 포함할 수 있다. 대안적으로, 콘텐츠의 블록 부분은 콘텐츠 유형, 예를 들어, 텍스트 콘텐츠의 스니펫 및 미디어 콘텐츠의 스니펫의 임의의 조합을 포함할 수 있다. 경우에 따라, 예시적인 콘텐츠 선택 애플리케이션 이외의 애플리케이션을 사용할 때 콘텐츠의 스니펫은 선택 불가능한 것일 수 있다. 적어도 하나의 예에서, (예시적인 콘텐츠 선택 애플리케이션을 통해 선택되는) 콘텐츠의 블록 부분은 콘텐츠 선택 애플리케이션 이외의 애플리케이션에서 선택 불가능한 콘텐츠의 적어도 하나의 스니펫을 포함할 수 있다.
예시적인 콘텐츠 선택 애플리케이션은 콘텐츠의 블록 부분을 식별하기 위한 프로세싱 동작을 실행하도록 구성된다. 예를 들어, 콘텐츠 선택 애플리케이션은 아래의 동작을 실행하기 위해 검출된 전경 애플리케이션과 인터페이싱하도록 구성될 수 있으며, 상기 동작은 다른 예 중에서도: 검출된 전경 애플리케이션과 관련된 프로그램/소스 코드에 액세스하는 것, 전경 애플리케이션 내의 (가령, 특정 콘텐츠에 대한) 포커스(focus)를 검출하는 것, 콘텐츠의 부분을 식별하기 위해 프로그램/소스 코드를 파싱(parsing)하는 것(예를 들어, 콘텐츠의 유형, 구분자(delimiters)를 평가하는 것, 언어 이해 프로세싱을 적용하는 것), 블록 부분의 크기를 식별하는 것, 콘텐츠의 블록 부분에 대한 경계 박스의 크기를 식별하는 것, (예를 들어, 콘텐츠의 다수의 스니펫이 콘텐츠의 예시적인 블록 부분에 포함되는 경우) 콘텐츠의 경계 박스 엘리먼트를 식별하는 것, 콘텐츠의 예시적인 블록 부분을 구분하는 경계 박스를 생성(예를 들어, 미리 드로잉(pre-drawing)하는 것, 및 콘텐츠의 예시적인 블록 부분을 (예를 들어, UI 기능 선택에 기초하여) 복사하는 것 중의 임의의 것을 포함한다.
예에서, 선택 불가능한 콘텐츠(예를 들어, 텍스트, 미디어 객체 등)는 콘텐츠를 제공하고 있는 소스를 조사함으로써 식별될 수 있다. 예를 들어, 콘텐츠를 제공하는 것과 관련된 소스 코드를 파싱/크롤링(crawling)/평가하는 프로세싱 동작은 콘텐츠의 부분을 식별하기 위해 실행될 수 있다. 콘텐츠 선택 불가능한 것으로 식별되는 경우, 콘텐츠 선택을 위한 예시적인 사용자 인터페이스를 통해 콘텐츠의 일부가 제공될 수 있도록 백엔드(back-end) 상에서 추가의 프로세싱 동작이 실행될 수 있다. 예를 들어, 콘텐츠 선택을 위한 예시적인 사용자 인터페이스 내에 콘텐츠의 블록 부분을 제시하기 위한 선택/복사/붙여 넣기 동작이 자동으로 실행될 수 있다. 일부 예에서, 콘텐츠 선택을 위한 사용자 인터페이스를 통해 콘텐츠의 일부를 표시하기 전에 콘텐츠의 일부를 수정하기 위한 프로세싱 동작이 실행될 수 있다. 예를 들어, 콘텐츠는 포맷되지 않을 수 있거나, 예시적인 콘텐츠 선택 애플리케이션을 사용할 경우 사용자에 대한 경험을 향상시키도록 조작될 수 있는, 전경 애플리케이션에서 오자 또는 오류 방지 표시를 포함할 수 있다. 예시적인 콘텐츠 선택 애플리케이션은 다른 애플리케이션/서비스와 인터페이싱하여, 다른 예 중에서도, 검출된 전경 애플리케이션과 인터페이싱하고 검출된 전경 애플리케이션으로부터 선택 불가능한 콘텐츠를 식별하는 프로세싱 동작을 포함한 프로세싱 동작을 실행하도록 콘텐츠 선택 애플리케이션에 대한 확장성을 제공할 수 있다.
콘텐츠의 블록 부분을 식별하기 위한 UI 기능이 선택되지 않는 예에서, 플로우는 ‘아니오’로 분기되고, 방법(400)의 프로세싱은 후속 프로세싱이 수신될 때까지 아이들 상태로 유지된다. 콘텐츠의 블록 부분을 식별하기 위한 UI 기능이 선택되는 예에서, 플로우는 ‘예’로 분기되고, 프로세싱은 동작(410)으로 진행한다.
프로세싱 동작(410)에서, 콘텐츠의 하나 이상의 블록 부분이 식별된다. 일 예에서, 프로세싱 동작(410)은 계층화된 뷰 내에서, 전경 애플리케이션 내에 존재하는 콘텐츠의 하나 이상의 블록 부분을 식별하는 것을 포함한다. 콘텐츠의 블록 부분은 콘텐츠 선택 애플리케이션 내의 UI 기능(예를 들어, 전술한 대화형 UI 기능)의 선택에 기초하여 식별될 수 있다. 시각적 식별의 결과(프로세싱 동작(410))는 적어도 도 5c에 도시되어 있다. 콘텐츠의 블록 부분을 식별하기 위해 설명된 사용자 인터페이스 기능을 통해, 예시적인 콘텐츠 선택 애플리케이션은, 사용자가 수동으로 다수의 입력을 입력할 필요없이, 콘텐츠의 전체 블록 부분을 선택하는 프로세싱을 자동화한 다음, 컴퓨팅 디바이스가 전술한 수동 입력을 프로세싱하도록 요구한다. 또한, 콘텐츠 선택은, 콘텐츠의 블록 부분을 식별하기 위한 예시적인 UI 기능을 선택하는 단일 액션에 기초하여, 콘텐츠의 복수의 블록 부분을 식별하도록 구성된다. 일 예에서, 단일 액션은 비 연속적인 제스처/입력(예를 들어, 탭 또는 클릭)이다.
콘텐츠의 블록 부분의 개시된 식별은, 프로세싱 효율뿐만 아니라 (콘텐츠 선택 애플리케이션과의) 사용자 상호 작용이 개선된다는 점에서, "모두 선택" 기능과 같은 기능성에 비해 기술적 이점을 제공한다. 예를 들어, "모두 선택" 기능이 애플리케이션으로부터 콘텐츠를 선택하는 데 사용되는 경우, 사용자에게 콘텐츠를 몇 개의 작은 블록 부분으로 나눌 수 있는 유연성을 제공하지 않고, 모든 콘텐츠가 선택될 것이다. 사용자는 전경 애플리케이션에서 콘텐츠의 개별 부분을 수동으로 식별하고 선택하려고 시도할 수 있다. 그러나, 이전에 식별된 바와 같이, 그 프로세스는 성가시고, 그러한 태스크를 수행하기 위해 보다 대량의 액션이 실행될 것을 필요로 한다.
부가적으로, 콘텐츠의 블록 부분을 식별하기 위해 (그리고 후속적으로 콘텐츠의 블록 부분의 선택을 가능하게 하기 위해) 본원에 설명된 기능성은 전경에서 실행되는 애플리케이션/서비스가 선택/복사/붙여 넣기 기능성을 전통적으로 가능하게 하지 않는 예에서 유용하다. 예시적인 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션과 인터페이싱하여 선택 불가능한 콘텐츠의 선택을 가능하게 한다. 또한, 예시적인 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션과 인터페이싱하여, 다른 기능 중에서도, 다른 애플리케이션/서비스에서 이용 가능하지 않을 수도 있는 선택/복사/붙여 넣기 기능성을 확장한다. 또한, 다른 예에서, 예시적인 콘텐츠 선택 애플리케이션은 사용자에게 표시되는 사용자 인터페이스 기능을 우선 순위화하도록 구성될 수 있다. 적어도 하나의 예에서, 콘텐츠 선택 사용자 인터페이스에 표시되는 하나 이상의 사용자 인터페이스 기능은, 다른 예 중에서도, 선택된 콘텐츠(예를 들어, 유형, 포맷, 컨텍스트 등), 콘텐츠의 관련 메타데이터, 콘텐츠를 선택하는 애플리케이션의 유형, 및 클라이언트 컴퓨팅 디바이스 상에서 실행중인 현재 진행 프로세스의 유형 중 하나 이상에 기초하여, 동적으로 제시(또는 업데이트)될 수 있다. 예를 들어, 콘텐츠 선택 애플리케이션은 텍스트 콘텐츠의 블록 부분이 웹 브라우징 애플리케이션으로부터 복사되고 있다는 것을 검출할 수 있고, 그 콘텐츠의 블록 부분을 메시징 애플리케이션, 전자 메일 애플리케이션 및/또는 워드 프로세싱 애플리케이션에 붙여 넣기 위한 사용자 인터페이스 기능을 제시할 수 있다.
예시적인 콘텐츠 블록 부분의 식별은 경계 박스를 사용하여 콘텐츠의 블록 부분을 강조 표시하는 것을 포함한다. 전술한 바와 같이, 콘텐츠의 블록 부분은 콘텐츠의 다수의 스니펫을 포함할 수 있다. 적어도 하나의 예에서, 콘텐츠 선택 애플리케이션에 의해 생성된 예시적인 경계 박스는 (콘텐츠의 블록 부분에 대한 더 큰 경계 박스 내에서) 하나 이상의 개별 경계 박스를 포함할 수 있으며, 여기서, 개별 경계 박스는 콘텐츠의 스니펫과 관련될 수 있다. 일부 예에서, 사용자는 콘텐츠의 블록 부분으로부터 개별 경계 박스를 선택/복사하도록 결정하여, 개별 경계 박스를 선택할 수 있다. 이는, 예를 들어, 콘텐츠를 클릭하여 콘텐츠 주위로 경계 박스를 드래그할 필요없이, 사용자가 콘텐츠의 블록 부분의 특정 부분을 선택하는 것을 지원하여 콘텐츠를 선택할 수 있다.
플로우는 결정 동작(412)으로 진행할 수 있으며, 여기에서 콘텐츠의 블록 부분이 선택되는지를 결정한다. 전술한 바와 같이, 콘텐츠 선택 애플리케이션은 검출된 전경 애플리케이션으로부터 콘텐츠의 블록 부분을 식별하도록 구성된다. 일 예에서, 사용자는 탭 제스처 또는 클릭 제스처와 같은 단일의 비 연속적인 액션을 통해 콘텐츠의 블록 부분을 선택할 수 있다. 예를 들어, 사용자는 콘텐츠의 식별된 블록 부분(또는 블록 부분의 개별 경계 박스)을 탭(tap)함으로써 입력을 제공할 수 있으며, 이는 콘텐츠 선택 애플리케이션이 콘텐츠의 블록 부분을 선택하게 한다.
대안적인 실시예에서, 사용자는, 콘텐츠의 하나 이상의 식별된 블록 부분의 자동화된 선택을 초래하는, 추가적인 액션(예를 들어, 복사, 태스크, 전자 메일 공유)을 위해 UI 기능을 선택할 수 있다.
또 다른 대안적인 예에서, 콘텐츠의 블록 부분을 식별하기 위해 예시적인 UI 기능을 선택하기 위한 단일 액션은 연속적인 단일 제스처(예를 들어, 길게 누르기)일 수 있다. 이는, 콘텐츠 선택 애플리케이션이 단일 액션에 기초하여 콘텐츠의 블록 부분을 식별, 선택 및/또는 복사하도록 구성되는 기능성에 사용자가 액세스하고자 할 때 발생할 수 있다. 예를 들어, 보다 짧은 시간 동안 콘텐츠의 블록 부분을 식별하기 위해 예시적인 UI 기능을 눌러 유지하게 되면, 사용자가 보다 긴 시간 동안 길게 누르는 제스처(press and hold gesture)를 실행하는 경우보다 더 적은 수의 블록 부분의 콘텐츠를 식별, 선택 및/또는 복사할 수 있다.
콘텐츠의 블록 부분이 선택되지 않는 예에서, 플로우는 ‘아니오’로 분기되고, 방법(400)의 프로세싱은 후속 프로세싱이 수신될 때까지 아이들 상태로 유지된다. 콘텐츠의 블록 부분이 선택되는 예에서, 플로우는 ‘예’로 분기되고, 프로세싱은 동작(414)으로 진행한다. 프로세싱 동작(414)에서, 콘텐츠 선택 애플리케이션은, 예를 들어, 수신된 사용자 입력에 기초하여, 콘텐츠의 예시적인 블록 부분을 선택한다. 콘텐츠의 선택된 블록 부분에 대해 후속의 액션이 취해질 수 있다.
선택된 콘텐츠에 대해, 플로우는 결정 동작(416)으로 진행할 수 있으며, 여기서 선택된 콘텐츠에 대한 추가 액션을 요청하는 입력이 수신되는 지를 결정한다. 추가 액션이 요청되지 않는 예에서, 플로우는 ‘아니오’로 분기되고, 방법(400)의 프로세싱은 후속 프로세싱이 수신될 때까지 아이들 상태로 유지된다. 추가 액션을 요청하는 입력이 수신되는 예에서, 플로우는 ‘예’로 분기되고, 동작(418)으로 진행한다.
프로세싱 동작(418)에서, 사용자로부터 수신된 입력에 기초하여 추가 액션이 실행된다. 콘텐츠 선택 애플리케이션은, 선택된 콘텐츠에 대한 추가 액션으로의 빠른 액세스를 가능하게 하는 사용자 인터페이스 기능을 제공하도록 구성된다. 추가 액션의 예는 다른 예 중에서도, 복사, 태스크 리스크로의 선택된 콘텐츠의 추가, 선택된 콘텐츠의 전자 메일 송부, 다른 사용자/애플리케이션과의 선택된 콘텐츠의 공유, 및 선택된 콘텐츠의 편집을 포함하지만, 이에 국한되는 것은 아니다. 일 예에서, 실행된 부가 액션은, 예를 들어, 선택된 블록 부분의 콘텐츠를 복사하기 위해 수신된 요청에 기초하여, 콘텐츠의 선택된 블록 부분을 복사하는 것이다. 추가의 후속 액션은 콘텐츠의 블록 부분을 붙여 넣기 위해 수신된 입력에 기초하여, 콘텐츠의 블록 부분을 다른 애플리케이션에 붙여 넣기하는 것을 포함할 수 있다. 도 5a 내지 도 5d 및 관련 설명을 참조하면, 콘텐츠 선택 애플리케이션에 대한 예시적인 애플리케이션 커맨드 컨트롤이 예시된다. 본 개시 내용을 이해하는 본 기술 분야의 통상의 기술자는 콘텐츠 선택을 위한 애플리케이션 커맨드 컨트롤이 변경될 수 있다는 것을 인식해야 한다. 예를 들어, 예시적인 콘텐츠 선택 애플리케이션은 추가적인 리소스와 인터페이스싱하여, 확장 가능한 기능성으로의 액세스에 대한 프로세싱 효율을 향상시키면서 콘텐츠 선택 애플리케이션의 기능성을 확장할 수 있도록 구성될 수 있다.
도 5a 내지 도 5d는 본 개시 내용의 양태를 실시할 수 있는 예시적인 콘텐츠 선택 애플리케이션과 관련된 프로세싱을 위한 예시적인 사용자 인터페이스 뷰를 제시한다. 도 5a 내지 도 5d에 도시된 사용자 인터페이스 뷰는 예시적인 콘텐츠 선택 어플리케이션 및 콘텐츠 선택 애플리케이션과 다른 애플리케이션/서비스 간의 상호 작용과 관련된 추가된 사용자 인터페이스 기능성의 예이다. 본 개시 내용을 이해하는 본 기술 분야의 통상의 기술자는 본원에 설명된 사용자 인터페이스 엘리먼트의 프리젠테이션이 본 개시 내용의 사상을 유지하면서 변경될 수 있다는 것을 인식해야 한다.
도 5a는 사용자 인터페이스 뷰(500)를 도시한다. 사용자 인터페이스 뷰(500)는 모바일 컴퓨팅 디바이스(예를 들어, 모바일폰) 상에서 실행되는 워드 프로세싱 애플리케이션(502)의 뷰이다. 그러나, 본원에 설명된 예는 모든 유형의 컴퓨팅 디바이스에 적용 가능하다. 워드 프로세싱 애플리케이션은 모바일 컴퓨팅 디바이스 상에서 실행되는 검출된 전경 애플리케이션의 일 예이다. 실행시, 워드 프로세싱 애플리케이션(502)은 콘텐츠의 부분을 포함하는 문서("Cooking Recipe.doc")를 제시한다. 사용자는 예시적인 콘텐츠 선택 애플리케이션의 활성화를 트리거하도록 모바일 컴퓨팅 디바이스의 홈 버튼(504)을 이용할 수 있다. 예를 들어, 사용자는 홈 버튼(504)을 길게 누를 수 있으며, 이는 (전술한 바와 같은) 예시적인 계층화된 뷰의 일부로서 콘텐츠 선택 애플리케이션의 예시적인 사용자 인터페이스의 표시를 트리거할 수 있다. 대안적인 예에서, 본원에 설명된 사용자 인터페이스 기능성은, 수신된 입력이 콘텐츠 선택과 관련된 사용자 인터페이스 기능의 표시를 트리거할 수 있는 다른 유형의 애플리케이션에 대한 애드온(add-on)일 수 있다. 다른 대안적인 예에서, 콘텐츠 선택과 관련된 사용자 인터페이스 기능의 표시는 본원에 설명된 콘텐츠 선택 기능성의 프리젠테이션을 트리거하기 위해 수신된 입력을 필요로 하지 않을 수 있다. 예를 들어, 본원에 설명된 콘텐츠 선택 기능성은 다른 예 중에서도, 웹 브라우징 애플리케이션 또는 개인 지능형 지원 애플리케이션과 같은 임의의 애플리케이션 내에 포함될 수 있다.
도 5b는 사용자 인터페이스 뷰(520)를 도시한다. 사용자 인터페이스 뷰(520)는 워드 프로세싱 애플리케이션(502) 위에 계층화되는 예시적인 콘텐츠 선택 애플리케이션의 사용자 인터페이스를 포함하는 예시적인 계층화된 뷰를 제시하고 있다. 사용자 인터페이스 뷰(520)는 계층화된 뷰가 모바일 컴퓨팅 디바이스 상에 제시되고 있는 것을 도시하고 있다. 그러나, 본원에 설명된 예는 모든 유형의 컴퓨팅 디바이스에 적용 가능하다. 콘텐츠 선택 애플리케이션은 워드 프로세싱 애플리케이션(502) 위에 계층화되는 애플리케이션 커맨드 컨트롤을 위한 사용자 인터페이스(UI) 기능을 포함한다. 예를 들어, 메뉴(522)는 사용자가 선택된 콘텐츠에 대해 이용할 수 있는 추가 액션에 관련된 다양한 UI 기능을 제시하고 있다. 또한, 콘텐츠 선택 애플리케이션은 콘텐츠의 블록 부분(예를 들어, "T")의 식별을 위한 UI 기능(524)을 포함한다. UI 기능(524)의 선택의 결과는 사용자 인터페이스 뷰(540)(도 5c)에 도시된다.
도 5c는 사용자 인터페이스 뷰(540)를 도시한다. 사용자 인터페이스 뷰(540)는 워드 프로세싱 애플리케이션(502) 위에 계층화되는 예시적인 콘텐츠 선택 애플리케이션의 사용자 인터페이스를 포함하는 예시적인 계층화된 뷰를 제시하고 있다. 사용자 인터페이스 뷰(540)는 계층화된 뷰가 모바일 컴퓨팅 디바이스 상에 제시되고 있는 것을 도시하고 있다. 그러나, 본원에 설명된 예는 모든 유형의 컴퓨팅 디바이스에 적용 가능하다. 사용자 인터페이스 뷰(540)는 사용자 인터페이스 뷰(520)(도 5b)에 도시된 UI 기능(524)의 예시적인 선택의 결과를 제시하고 있다. UI 기능(524)의 선택은 워드 프로세싱 애플리케이션(502)에 제시되고 있는 문서와 관련된 콘텐츠의 블록 부분의 식별을 트리거한다. 예를 들어, 콘텐츠의 제 1 블록 부분(542)은 방법(400)에서 설명된 프로세싱 동작에 기초하여 생성된 제 1 경계 박스에 의해 식별된다. 콘텐츠의 제 2 블록 부분(548)은 방법(400)에서 설명된 프로세싱 동작에 기초하여 생성된 제 2 경계 박스에 의해 식별된다. 사용자 인터페이스 뷰(540)에 도시된 바와 같이, 식별된 블록 부분의 콘텐츠는 콘텐츠의 블록 부분 내의 콘텐츠의 스니펫을 식별할 수 있는 다수의 개별 경계 박스를 포함할 수 있다. 일 예로서, 그러한 기능성은 적어도 제 1 개별 경계 박스(544) 및 제 2 개별 경계 박스(546)를 포함하는 콘텐츠의 제 1 블록 부분(542)에 대해 도시된다. 도시된 예는 콘텐츠의 제 1 블록 부분(542) 내의 부가적인 개별 경계 박스를 도시하고, 여기서 사용자는 콘텐츠의 스니펫의 선택을 위해 추가적인 개별 경계 박스를 선택할 수 있다는 것을 인식해야 한다. 도시된 개별 경계 박스(544, 546)는 각각 텍스트의 단일 라인을 포함하는 것으로 도시되어 있지만, 이러한 박스는 각각 다수의 텍스트 라인(예를 들어, 복수 라인에 걸친 문장 또는 단락)을 포함할 수 있다는 것을 이해해야 한다. 콘텐츠의 제 2 블록 부분(548)은 또한 복수의 개별 경계 박스(라벨링되지 않음)을 포함한다는 것을 인식해야 한다. 사용자는 콘텐츠 선택 애플리케이션의 메뉴(522)로부터 콘텐츠의 하나 이상의 블록 부분(또는 개별 경계 박스)의 선택을 나타내는 입력을 제공하고 추가 액션을 위한 UI 기능을 추가로 선택할 수 있다. 예로서, 사용자는 콘텐츠의 선택된 부분의 복사를 위해 UI 기능(550)를 선택한다. 이전의 예에서 식별된 바와 같이, 콘텐츠 선택 애플리케이션은 콘텐츠의 개별 블록 부분의 개성을 유지하면서 콘텐츠의 둘 이상의 블록 부분이 동시에 선택될 수 있게 한다. 이것은 또한 연속적인 제스처 선택(예를 들어, 콘텐츠의 전체 블록 부분을 선택하기 위해 길게 누르거나 콘텐츠를 다시 복사하기 위한 복수의 액션을 실행)을 요구하지 않고도, 콘텐츠의 개별 블록 부분이 다시 선택되거나 다시 복사될 수 있게 한다. UI 기능(550)의 선택의 결과는 사용자 인터페이스 뷰(560)(도 5d)에 도시된다.
도 5d는 사용자 인터페이스 뷰(560)를 도시한다. 사용자 인터페이스 뷰(560)는 모바일 컴퓨팅 디바이스(예를 들어, 모바일폰) 상에서 실행되는 메시징 애플리케이션(562) 위에 계층화되는 예시적인 콘텐츠 선택 애플리케이션의 사용자 인터페이스를 나타내는 다른 예시적인 계층화된 뷰이다. 사용자 인터페이스 뷰(560)는 사용자 인터페이스 뷰(540)(도 5c)에 도시된 UI 기능(550)의 예시적인 선택의 결과를 제시하고 있다. 본 기술 분야의 통상의 기술자는 사용자가 메시징 애플리케이션을 시작하거나 활성화시키는 것과 같이 메시징 애플리케이션(562)에 액세스하기 위한 추가적인 수동 액션을 취할 수 있다는 것을 인식해야 한다. 다른 예에서, 콘텐츠 선택 애플리케이션은 사용자로 하여금 선택된 콘텐츠에 대해 추가 액션을 취할 때 애플리케이션(예를 들어, 메시징 애플리케이션(562))을 선택할 수 있도록 구성될 수 있다. 사용자 인터페이스 뷰(560)는 사용자가 메시징 애플리케이션(562)에서 붙여 넣기 동작을 실행한 결과를 나타낸다. 사용자 인터페이스 뷰(560)에 도시된 바와 같이, 워드 프로세싱 애플리케이션(502)으로부터 선택된 콘텐츠는 메시징 애플리케이션(562)에 붙여 넣어진다. 일 예에서, 붙여 넣기 동작은 UI 기능(564)의 선택에 기초하여 발생할 수 있다. 예를 들어, 콘텐츠 선택 애플리케이션을 포함하는 계층화된 뷰는 메시징 애플리케이션(562) 위에 표시되는 UI 기능(564)을 포함할 수 있다. 콘텐츠가 (예를 들어, 도 5c에서 설명된 워드 프로세싱 애플리케이션(502)으로부터) 선택되는 경우, 사용자 인터페이스 뷰(560)에서 UI 기능(564)의 선택은 메시징 애플리케이션(562) 내에 선택된 콘텐츠를 붙여 넣는 동작을 트리거할 수 있다. 일부 예에서, 콘텐츠 선택 애플리케이션은 콘텐츠를 새로운 애플리케이션에 붙여 넣을 때 즉시 콘텐츠의 특정 블록 부분에 대한 경계 박스를 표시하도록 구성될 수 있다. 다른 예에서, 사용자는 콘텐츠의 블록 부분에 대한 경계 박스의 표시를 트리거할 수 있는, 콘텐츠의 블록 부분을 재선택하는 제스처를 제공할 수 있다.
일부 대안의 예에서, 다른 애플리케이션 내로의 콘텐츠의 붙여 넣기는 콘텐츠의 프리뷰(preview)의 표시를 트리거할 수 있다. 대안으로서, 콘텐츠의 블록 부분의 프리뷰는 콘텐츠 선택 애플리케이션을 통해 제공된 콘텐츠가 다른 애플리케이션(예를 들어, 메시징 애플리케이션(562))을 통해 전송될 때 생성되어 표시될 수 있다. 예를 들어, 사용자가 콘텐츠의 예시적인 블록 부분을 포함하는 메시지를 전송하도록 선택한 경우, 콘텐츠의 그 블록 부분은 전송된 메시지(예를 들어, 텍스트 메시지)에서 프리뷰로 표시될 수 있다. 일 예에서, 사용자는 콘텐츠의 블록 부분의 전체 표현을 표시하기 위해 프리뷰를 선택할 수 있다.
도 6은 본 개시 내용의 양태를 실시할 수 있는 하나 이상의 컴퓨팅 디바이스 상에서 구현가능한 일 예시적인 시스템(600)을 나타낸다. 시스템(600)은 로그 데이터 평가 및 로그 데이터 평가의 결과에 기초한 후속 프로세싱을 위한 예시적인 시스템일 수 있다. 시스템(600)의 컴포넌트는 하드웨어 컴포넌트 또는 하드웨어 컴포넌트 상에서 구현 및/또는 하드웨어 컴포넌트에 의해 실행되는 소프트웨어일 수 있다. 예를 들어, 시스템(600)은 하드웨어 컴포넌트(예를 들어, ASIC, 및 OS를 실행하는 데 사용되는 다른 디바이스), 및 하드웨어 컴포넌트 상에서 실행되는 소프트웨어 컴포넌트(예를 들어, 애플리케이션, 애플리케이션 프로그래밍 인터페이스, 모듈, 가상 머신, 런타임 라이브러리) 중 임의의 것일 수 있다. 일 예에서, 예시적인 시스템(600)은 소프트웨어 컴포넌트가 실행할 환경을 제공할 수 있고, 동작을 위해 설정된 제약을 따를 수 있으며, 시스템/프로세싱 디바이스의 리소스 또는 설비를 이용할 수 있으며, 여기서 컴포넌트는 하나 이상의 프로세싱 디바이스 상에서 실행되는 소프트웨어(예를 들어, 애플리케이션, 프로그램, 모듈)일 수 있다. 예를 들어, 소프트웨어(예를 들어, 애플리케이션, 동작 명령어, 모듈)는 컴퓨터, 모바일 디바이스(예를 들어, 스마트폰/전화기, 태블릿) 및/또는 임의의 다른 유형의 전자 디바이스와 같은 프로세싱 디바이스 상에서 실행될 수 있다. 프로세싱 디바이스 동작 환경의 예로서, 도 1 내지 도 3의 동작 환경이 참조된다. 시스템(600)의 하나 이상의 컴포넌트는 도 4의 설명에서 기술되고 도 5a 내지 도 5d의 설명에서 기술된 적어도 방법(400)에서 설명된 임의의 프로세싱 동작을 실행하도록 구성될 수 있다. 다른 예에서, 본원에 개시된 시스템의 컴포넌트는 다수의 디바이스에 걸쳐 분산될 수 있다. 예시적인 시스템(600)은 애플리케이션/ 서비스 컴포넌트(608), 콘텐츠 선택 컴포넌트(610) 및 플랫폼 리소스 컴포넌트(612)를 더 포함하는 애플리케이션 컴포넌트(606)를 포함하며, 여기서 식별된 컴포넌트의 각각은 하나 이상의 추가 컴포넌트를 포함할 수 있다.
하나 이상의 데이터 스토어/저장 디바이스 또는 다른 메모리가 시스템(600)과 관련될 수 있다. 예를 들어, 시스템(600)의 컴포넌트는 그와 관련된 하나 이상의 저장 디바이스(들)(614)(후술됨)를 가질 수 있다. 시스템(600)의 컴포넌트와 관련된 데이터는 그 컴포넌트 상에 저장될 수 있을 뿐만 아니라 프로세싱 동작/명령어는 시스템(600)의 컴포넌트에 의해 실행될 수 있다. 또한, 시스템(600)의 애플리케이션 컴포넌트는 다른 애플리케이션 서비스와 인터페이싱할 수 있다는 것이 제시되고 있다. 애플리케이션 서비스는 시스템(600)의 하나 이상의 컴포넌트의 기능성을 확장할 수 있는 임의의 리소스일 수 있다. 애플리케이션 서비스는 다른 예 중에서도: 개인 지능형 지원 서비스, 생산성 애플리케이션, 웹 검색 서비스, 전자 메일 애플리케이션, 캘린더, 디바이스 관리 서비스, 주소록 서비스, 정보 서비스, 사업 부문(line-of-business)(LOB) 관리 서비스, 고객 관계 관리(CRM) 서비스, 디버깅 서비스, 회계 서비스, 급여 서비스, 및 제3 당사자에 의해 호스팅되거나 통제되는 서비스 및/또는 웹 사이트를 포함할 수 있지만 이에 국한되는 것은 아니다. 애플리케이션 서비스는 소셜 미디어 웹사이트; 사진 공유 웹사이트; 비디오 및 음악 스트리밍 웹사이트; 검색 엔진 웹사이트; 스포츠, 뉴스 또는 엔터테인먼트 웹사이트 등과 같은 제3 당사자에 의해 호스트되는 다른 웹사이트 및/또는 애플리케이션을 추가로 포함할 수 있다. 애플리케이션 서비스는 시스템(600)의 컴포넌트와 관련한 분석, 데이터 컴파일 및/또는 저장 서비스 등을 더 제공할 수 있다.
시스템(600)은 시스템(600)의 하나 이상의 컴포넌트의 동작과 관련된 데이터를 저장할 수 있는 하나 이상의 저장 디바이스(들)(614)를 포함할 수 있다. 예에서, 저장 디바이스(들)(614)는 시스템(600)의 다른 컴포넌트와 인터페이싱할 수 있다. 시스템(600)의 임의의 컴포넌트와 관련된 데이터는 저장 디바이스(들)(614)에 저장될 수 있으며, 여기서 컴포넌트는 클라우드 컴퓨팅 플랫폼 및 기반 구조 서비스를 포함하는 분산 네트워크를 통해 저장 디바이스(들)(614)에 접속될 수 있다. 예시적인 저장 디바이스(들)(614)는 제1 당사자 소스, 제2 당사자 소스 및 제3 당사자 소스 중 임의의 것일 수 있다. 저장 디바이스(들)(614)는 임의의 물리적 또는 가상 메모리 공간이다. 저장 디바이스(들)(614)는 다른 예 중에서도, 시스템(600)의 컴포넌트에 의해 수행되는 프로세싱 동작을 위한 데이터, 프로세싱 동작에서 유지되는 데이터, 저장된 프로그램, 코드 또는 애플리케이션 프로그래밍 인터페이스(API), 트레이닝 데이터, 시스템(600)의 내부 및 외부 리소스에 대한 링크, 및 지식 데이터 중의 임의의 것을 저장할 수 있다. 또한, 예에서, 시스템(600)의 컴포넌트는 시스템(600)의 컴포넌트에 의한 프로세싱에서 지식 데이터를 이용할 수 있다. 지식은 시스템(600)의 하나 이상의 컴포넌트에 의해 이용되어, 임의의 애플리케이션 컴포넌트(606)의 프로세싱을 향상시킬 수 있으며, 여기서, 지식 데이터는 시스템(600)의 내부 또는 외부 리소스로부터 획득될 수 있다. 예에서, 지식 데이터는 저장 디바이스(들)(614)에서 유지될 수 있거나 또는 지식 인출 동작에 의해 시스템(600) 외부의 하나 이상의 리소스로부터 리트리브될 수 있다. (아래에 기술되는 바와 같은) 예에서, 저장 디바이스(들)(614)는 다른 예 중에서도, 예시적인 콘텐츠 선택 애플리케이션을 포함하는 애플리케이션/서비스의 실행, 애플리케이션/서비스 간의 인터페이싱(예를 들어, 콘텐츠 선택 애플리케이션과 다른 실행 애플리케이션 간의 상호 작용), 전경에서의 애플리케이션의 검출, 애플리케이션/서비스와 관련된 콘텐츠의 평가, 블록 콘텐츠의 식별, 블록 콘텐츠의 선택, 선택된 블록 콘텐츠에 대한 후속 액션, 예시적인 콘텐츠 선택 애플리케이션의 사용자 인터페이스 기능을 포함하는 애플리케이션 커맨드 컨트롤, 컴퓨팅 디바이스와의 상호 작용, 지식 데이터, 사용자 특정 데이터 및 애플리케이션 특정 데이터의 검색을 위해, 예시적인 데이터 프로그램/서비스 및 다른 유형의 데이터를 저장할 수 있다.
도 6에서, 프로세싱 디바이스(602)는 적어도 하나의 프로세서 및 적어도 하나의 메모리/저장 디바이스를 포함하는 임의의 디바이스일 수 있다. 프로세싱 디바이스(602)의 예는 데스크탑 컴퓨터, 서버, 전화기, 태블릿, 패블릿, 슬레이트, 랩탑, 웨어러블 컴퓨팅 디바이스와 같은 프로세싱 디바이스, 및 하나 이상의 프로세서 또는 회로를 갖는 디바이스와 같은 임의의 다른 전기 컴포넌트의 집합체를 포함할 수 있지만, 이에 국한되는 것은 아니다. 일 예에서, 프로세싱 디바이스(602)는 애플리케이션/서비스를 실행하는 사용자의 디바이스일 수 있다. 예에서, 프로세싱 디바이스(602)는 네트워크(604)를 통해 애플리케이션 컴포넌트(606)와 통신할 수 있다. 일 양태에서, 네트워크(404)는 인터넷과 같은 분산 컴퓨팅 네트워크이다. 애플리케이션 서비스는 네트워크(604)를 통해 애플리케이션 컴포넌트(606)와 통신할 수 있다. 프로세싱 디바이스(602)는 도 1 내지 도 3의 설명에서 기술된 디바이스일 수 있다. 일부 예에서, 프로세싱 디바이스(602)는 다수의 접속된 디바이스를 포함할 수 있다. 프로세싱 디바이스(602)는 사용자 컴퓨팅 디바이스의 일 예이다.
프로세싱 디바이스(602)는 사용자 계정을 통해 애플리케이션/서비스에 액세스하는 능력을 포함하는 프로세싱 동작을 실행할 수 있다. 일 예에서, 프로세싱 디바이스(602)는 인증된 사용자를 예시적인 애플리케이션/서비스에 접속할 수 있으며, 이 애플리케이션/서비스는 이 애플리케이션/서비스의 하나 이상의 사용자에 대한 사용자 데이터를 저장하고 있다. 예시적인 저장 애플리케이션/서비스는 프로세싱 디바이스(602)의 사용자에게 예시적인 데이터 센터에 저장된 데이터로의 액세스를 제공할 수 있다. 일 예에서, 프로세싱 디바이스(602)는 사용자 데이터로의 액세스를 사용자에게 제공할 수 있는 분산 네트워크를 통해 저장 디바이스(들)(614)에 접속될 수 있다. 하나 이상의 테넌트 리소스(tenant resources)(예를 들어, 테넌트 리소스 A, 테넌트 리소스 B, 테넌트 리소스 C 등)는 프로세싱 디바이스(602)와 관련될 수 있다. 테넌트 리소스는 프로세싱 디바이스 및/또는 분산 네트워크 서비스와 관련된 사용자 계정일 수 있다. 테넌트 리소스와 관련된 데이터는 저장 디바이스(들)(614) 상에 저장될 수 있으며, 여기서 테넌트 계정은 프로세싱 디바이스(602) 및/또는 다른 프로세싱 디바이스에 의해 저장된 데이터에 액세스하는 데 이용될 수 있다.
애플리케이션 컴포넌트(606)는 예시적인 콘텐츠 선택 애플리케이션/서비스의 프로세싱을 가능하게 하기 위해 인터페이싱하는 컴포넌트의 집합체이다. 위에서 식별된 바와 같이, 애플리케이션 컴포넌트(606)는: 애플리케이션/서비스 컴포넌트(608), 콘텐츠 선택 컴포넌트(610) 및 플랫폼 리소스 컴포넌트(612)를 포함할 수 있다.
애플리케이션/서비스 컴포넌트(608)는 예시적인 콘텐츠 선택 애플리케이션 이외의 애플리케이션을 실행 및 관리하도록 구성되는 컴포넌트이다. 콘텐츠 선택 컴포넌트(610)는 애플리케이션/서비스 컴포넌트(608)와 인터페이싱하여, 전경 애플리케이션을 검출하고 콘텐츠 선택 애플리케이션을 포함하는 예시적인 계층화된 뷰를 제시할 수 있다. 다른 예 중에서도, 애플리케이션/서비스 컴포넌트(608)는 또한 소스 코드에 액세스하기 위한 액세스를 제공하여, 콘텐츠 선택 컴포넌트(610)가 애플리케이션/서비스를 통해 직접 선택 불가능한 콘텐츠의 부분을 포함하는 콘텐츠의 블록 부분을 식별하게 할 수 있다.
콘텐츠 선택 컴포넌트(610)는 적어도 방법(400)(도 4)에 설명된 프로세싱 동작을 실행하도록 구성된 컴포넌트이다. 콘텐츠 선택 컴포넌트(610)의 프로세싱 동작의 다른 예는 도 5a 내지 도 5d의 설명에서 기술된다. 대안의 예에서, 콘텐츠 선택 컴포넌트(610)는 다른 기존 애플리케이션에서 기능성 및/또는 애드온을 제공하도록 구성될 수 있다. 예를 들어, 콘텐츠 선택 애플리케이션에 의해 제공되는 기능은 다른 실행 애플리케이션의 애플리케이션 커맨드 컨트롤에 포함될 수 있다.
플랫폼 리소스 컴포넌트(612)는, 콘텐츠 선택 컴포넌트(610)와 인터페이싱하여 예시적인 콘텐츠 선택 애플리케이션의 기능성을 확장하도록 구성되는 컴포넌트이다. 일 예로서, 플랫폼 리소스 컴포넌트(612)는 예시적인 콘텐츠 선택 애플리케이션에 의한 프로세싱을 향상시키는 (전술한) 애플리케이션 서비스를 제공할 수 있다.
본원 명세서 전체에 걸쳐 특정의 설명된 기능, 구조 또는 특성이 적어도 하나의 예에 포함됨을 의미하는 "하나의 예" 또는 "일 예"에 대한 참조가 행해졌다. 따라서, 이러한 구문의 사용은 단지 하나의 예를 의미할 수 있다. 또한, 설명된 기능, 구조 및 특성은 하나 이상의 예에서 임의의 적절한 방식으로 결합될 수 있다.
그러나, 관련 기술 분야의 통상의 기술자는 실시예가 하나 이상의 특정 세부 사항없이 또는 다른 방법, 리소스, 재료 등으로 실시될 수 있음을 인식할 수 있다. 다른 예에서, 단순히 예의 모호한 양태를 언급하는 잘 알려진 구조, 리소스 또는 동작은 자세하게 설명되거나 설명되지 않았다.
샘플 실시예 및 애플리케이션이 도시되고 설명되었지만, 그 실시예는 위에서 언급한 정확한 구성 및 리소스에 국한되는 것이 아니라는 것을 이해해야 한다. 청구된 예의 범위를 벗어나지 않으면서, 본원에 개시된 방법 및 시스템의 배열, 동작 및 세부 사항 내에서 본 기술 분야의 통상의 기술자에게 명백한 다양한 수정, 변경 및 변형이 이루어질 수 있다.

Claims (15)

  1. 컴퓨팅 디바이스에 의해, 콘텐츠를 포함하는 애플리케이션을 실행하는 단계와,
    상기 컴퓨팅 디바이스에 의해, 콘텐츠 선택을 위한 사용자 인터페이스의 활성화를 트리거하는 입력을 수신하는 단계와,
    상기 수신된 입력에 기초하여, 상기 애플리케이션 위에 계층화된 상기 사용자 인터페이스를 제시하는 계층화된 뷰를 표시하는 단계와,
    상기 사용자 인터페이스를 통해 프로세싱되는 단일 액션에 응답하여, 상기 애플리케이션으로부터 상기 콘텐츠의 블록 부분을 선택하는 단계를 포함하되,
    상기 콘텐츠의 상기 블록 부분은 콘텐츠의 적어도 2개의 스니펫(snippet)을 포함하는
    방법.
  2. 제1항에 있어서,
    상기 컴퓨팅 디바이스에 의해, 상기 단일 액션을 수신하는 단계를 더 포함하는
    방법.
  3. 제2항에 있어서,
    상기 단일 액션은 비 연속적인 디바이스 클릭 및 비 연속적인 터치 입력으로 이루어진 그룹으로부터 선택된 것인
    방법.
  4. 제1항에 있어서,
    상기 콘텐츠의 상기 선택된 블록 부분을 복사하기 위한 입력을 수신하는 단계 및 상기 콘텐츠의 상기 선택된 블록 부분을 복사하는 단계를 더 포함하는
    방법.
  5. 제4항에 있어서,
    상기 콘텐츠의 상기 선택된 블록 부분을 붙여 넣기 위한 입력을 수신하는 단계 및 상기 콘텐츠의 상기 선택된 블록 부분을 붙여 넣기 위한 상기 수신된 입력에 기초하여 상기 콘텐츠의 블록 부분을 다른 애플리케이션에 붙여 넣는 단계를 더 포함하는
    방법.
  6. 제1항에 있어서,
    상기 콘텐츠의 적어도 2개의 스니펫 중 하나 이상은 상기 애플리케이션에서 선택 불가능한 것인
    방법.
  7. 제1항에 있어서,
    상기 사용자 인터페이스를 통해, 상기 애플리케이션의 상기 콘텐츠의 하나 이상의 블록 부분을 식별하는 사용자 인터페이스 기능의 선택을 수신하는 단계 및 상기 사용 인터페이스 기능의 선택에 기초하여, 상기 콘텐츠의 상기 하나 이상의 블록 부분을 선택가능한 것으로 식별하는 단계를 더 포함하는
    방법.
  8. 시스템으로서,
    적어도 하나의 프로세서와,
    상기 적어도 하나의 프로세서에 동작 가능하게 접속되어, 상기 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 방법을 실행하게 하는 컴퓨터 실행가능 명령어를 저장하는 메모리를 포함하되,
    상기 방법은,
    제 1 애플리케이션을 실행하는 단계와,
    제 2 애플리케이션의 활성화를 트리거하는 입력을 수신하는 단계와,
    상기 수신된 입력에 기초하여, 상기 제 1 애플리케이션 위에 계층화된 상기 제 2 애플리케이션을 제시하는 계층화된 뷰를 표시하는 단계와,
    상기 제 2 애플리케이션 통해 프로세싱되는 단일 액션에 응답하여, 상기 제 1 애플리케이션으로부터 콘텐츠의 블록 부분을 선택하는 단계를 포함하며,
    콘텐츠의 상기 블록 부분은 콘텐츠의 적어도 2개의 스니펫을 포함하는
    시스템.
  9. 제8항에 있어서,
    상기 실행된 방법은 상기 시스템을 통해 상기 단일 액션을 수신하는 단계를 더 포함하는
    시스템.
  10. 제9항에 있어서,
    상기 단일 액션은 비 연속적인 디바이스 클릭 및 비 연속적인 터치 입력으로 이루어진 그룹으로부터 선택된 것인
    시스템.
  11. 제8항에 있어서,
    상기 실행된 방법은 콘텐츠의 상기 선택된 블록 부분을 복사하기 위한 입력을 수신하는 단계 및 콘텐츠의 상기 선택된 블록 부분을 복사하는 단계를 더 포함하는
    시스템.
  12. 제11항에 있어서,
    상기 실행된 방법은 콘텐츠의 상기 선택된 블록 부분을 붙여 넣기 위한 입력을 수신하는 단계 및 콘텐츠의 상기 선택된 블록 부분을 붙여 넣기 위한 상기 수신된 입력에 기초하여 콘텐츠의 상기 블록 부분을 제 3 애플리케이션에 붙여 넣는 단계를 더 포함하는
    시스템.
  13. 제8항에 있어서,
    콘텐츠의 적어도 2개의 스니펫 중 하나 이상은 상기 제 1 애플리케이션에서 선택 불가능한 것인
    시스템.
  14. 제8항에 있어서,
    상기 실행된 방법은 상기 제 2 애플리케이션에서, 상기 제 1 애플리케이션의 콘텐츠의 하나 이상의 블록 부분을 식별하는 사용자 인터페이스 기능의 선택을 수신하는 단계 및 상기 사용자 인터페이스 기능의 선택에 기초하여, 콘텐츠의 상기 하나 이상의 블록 부분을 선택가능한 것으로 식별하는 단계를 더 포함하는
    시스템.
  15. 적어도 하나의 프로세서에 의해 실행될 때, 상기 적어도 하나의 프로세서로 하여금 방법을 실행하게 하는 컴퓨터 실행가능 명령어를 저장하는 컴퓨터 판독가능 매체로서, 상기 방법은,
    상기 적어도 하나의 프로세서에 의해, 제 1 애플리케이션을 실행하는 단계와,
    제 2 애플리케이션의 활성화를 트리거하는 입력을 수신하는 단계와,
    상기 수신된 입력에 기초하여, 상기 제 1 애플리케이션 위에 계층화된 상기 제 2 애플리케이션을 제시하는 계층화된 뷰를 표시하는 단계와,
    상기 제 2 애플리케이션 통해 프로세싱되는 단일 액션에 응답하여, 상기 제 1 애플리케이션으로부터 콘텐츠의 블록 부분을 선택하는 단계를 포함하며,
    콘텐츠의 상기 블록 부분은 콘텐츠의 적어도 2개의 스니펫을 포함하는
    컴퓨터 판독가능 매체.
KR1020197013659A 2016-11-14 2017-11-07 계층화된 콘텐츠 선택 KR102468164B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US15/350,403 2016-11-14
US15/350,403 US10216368B2 (en) 2016-11-14 2016-11-14 Layered content selection
PCT/US2017/060262 WO2018089320A1 (en) 2016-11-14 2017-11-07 Layered content selection

Publications (2)

Publication Number Publication Date
KR20190084051A true KR20190084051A (ko) 2019-07-15
KR102468164B1 KR102468164B1 (ko) 2022-11-16

Family

ID=60452768

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020197013659A KR102468164B1 (ko) 2016-11-14 2017-11-07 계층화된 콘텐츠 선택

Country Status (17)

Country Link
US (2) US10216368B2 (ko)
EP (1) EP3538981B1 (ko)
JP (1) JP7100637B2 (ko)
KR (1) KR102468164B1 (ko)
CN (2) CN109952557B (ko)
AU (1) AU2017356878B2 (ko)
BR (1) BR112019007342A2 (ko)
CA (1) CA3041079A1 (ko)
CL (1) CL2019001289A1 (ko)
CO (1) CO2019004602A2 (ko)
IL (1) IL266443A (ko)
MX (1) MX2019005357A (ko)
PH (1) PH12019550065A1 (ko)
RU (1) RU2019114199A (ko)
SG (1) SG11201903880UA (ko)
WO (1) WO2018089320A1 (ko)
ZA (1) ZA201902219B (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112947826B (zh) * 2021-01-28 2024-05-10 维沃移动通信有限公司 信息获取方法、装置及电子设备
US11892988B1 (en) * 2021-01-29 2024-02-06 Splunk Inc. Content pack management

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273509A (ja) * 2000-03-28 2001-10-05 Toshiba Corp 文書画像編集装置及び文書画像編集方法
JP2006155278A (ja) * 2004-11-30 2006-06-15 Canon Software Inc 情報処理装置および情報処理方法およびプログラムおよび記録媒体
KR20120006403A (ko) * 2010-07-12 2012-01-18 엘지전자 주식회사 이동단말기 및 그의 멀티터치를 이용한 객체 표시 제어 방법

Family Cites Families (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7315848B2 (en) 2001-12-12 2008-01-01 Aaron Pearse Web snippets capture, storage and retrieval system and method
US8832577B2 (en) 2010-10-01 2014-09-09 Z124 Universal clipboard
US20050210401A1 (en) 2004-03-18 2005-09-22 Nokia Corporation Method and system for centralized copy/paste functionality
US7885622B2 (en) * 2004-10-27 2011-02-08 Chestnut Hill Sound Inc. Entertainment system with bandless tuning
US8375293B2 (en) * 2005-01-09 2013-02-12 Apple Inc. Method and apparatus for defining documents
US20060250360A1 (en) 2005-05-05 2006-11-09 International Business Machines Corporation Smart pointer
US7774335B1 (en) * 2005-08-23 2010-08-10 Amazon Technologies, Inc. Method and system for determining interest levels of online content navigation paths
US8386509B1 (en) * 2006-06-30 2013-02-26 Amazon Technologies, Inc. Method and system for associating search keywords with interest spaces
US20100153968A1 (en) 2008-12-11 2010-06-17 Christof Engel External rendering of clipboard data
US8745581B2 (en) 2010-06-21 2014-06-03 Touch Technologies, Inc. Method and system for selectively copying portions of a document contents in a computing system (smart copy and paste
JP5664249B2 (ja) * 2011-01-06 2015-02-04 ソニー株式会社 情報処理装置、情報処理方法及び情報処理プログラム
US20130046935A1 (en) * 2011-08-18 2013-02-21 Microsoft Corporation Shared copy cache across networked devices
US9304662B2 (en) * 2011-08-25 2016-04-05 Vmware, Inc. User interface virtualization techniques
CN102436395A (zh) * 2011-11-22 2012-05-02 宇龙计算机通信科技(深圳)有限公司 一种内容选择复制方法和移动终端
US20130346912A1 (en) * 2012-06-20 2013-12-26 Alexander Buening Method And System To Launch And Manage An Application On A Computer System Having A Touch Panel Input Device
US8949729B2 (en) * 2012-06-13 2015-02-03 International Business Machines Corporation Enhanced copy and paste between applications
US9092121B2 (en) * 2012-11-30 2015-07-28 International Business Machines Corporation Copy and paste experience
US20140157169A1 (en) 2012-12-05 2014-06-05 Microsoft Corporation Clip board system with visual affordance
KR20150130263A (ko) 2012-12-12 2015-11-23 부스트 아카데미 인코포레이티드 실시간 태블릿 기반 대화형 시스템 및 방법
US9535503B2 (en) * 2013-01-29 2017-01-03 Blackberry Limited Methods and devices for simultaneous multi-touch input
WO2014117345A1 (en) * 2013-01-30 2014-08-07 Motorola Mobility Llc Systems and methods for managing navigation among applications
JP2014203288A (ja) 2013-04-05 2014-10-27 ソニー株式会社 情報処理装置、情報処理方法、及びプログラム
CN103853611B (zh) * 2014-04-01 2018-03-02 上海斐讯数据通信技术有限公司 将应用程序间的文本进行快捷复制的方法及电子设备
KR102213897B1 (ko) 2014-10-31 2021-02-08 삼성전자주식회사 사용자 입력에 따라 하나 이상의 아이템들을 선택하는 방법 및 이를 위한 전자 장치
US9930162B2 (en) * 2014-12-02 2018-03-27 Facebook, Inc. Techniques for enhancing content on a mobile device
US10496275B2 (en) * 2015-10-12 2019-12-03 Microsoft Technology Licensing, Llc Multi-window keyboard

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001273509A (ja) * 2000-03-28 2001-10-05 Toshiba Corp 文書画像編集装置及び文書画像編集方法
JP2006155278A (ja) * 2004-11-30 2006-06-15 Canon Software Inc 情報処理装置および情報処理方法およびプログラムおよび記録媒体
KR20120006403A (ko) * 2010-07-12 2012-01-18 엘지전자 주식회사 이동단말기 및 그의 멀티터치를 이용한 객체 표시 제어 방법

Also Published As

Publication number Publication date
JP7100637B2 (ja) 2022-07-13
US10216368B2 (en) 2019-02-26
CN109952557A (zh) 2019-06-28
SG11201903880UA (en) 2019-05-30
AU2017356878A1 (en) 2019-04-18
KR102468164B1 (ko) 2022-11-16
AU2017356878B2 (en) 2021-10-28
US20190146642A1 (en) 2019-05-16
WO2018089320A1 (en) 2018-05-17
EP3538981A1 (en) 2019-09-18
ZA201902219B (en) 2020-08-26
RU2019114199A (ru) 2020-11-13
CA3041079A1 (en) 2018-05-17
CO2019004602A2 (es) 2019-05-21
PH12019550065A1 (en) 2020-01-20
MX2019005357A (es) 2019-07-01
BR112019007342A2 (pt) 2019-07-02
US10635268B2 (en) 2020-04-28
CL2019001289A1 (es) 2019-09-13
US20180136795A1 (en) 2018-05-17
IL266443A (en) 2019-06-30
EP3538981B1 (en) 2023-09-27
CN116225282A (zh) 2023-06-06
RU2019114199A3 (ko) 2020-12-11
JP2019536156A (ja) 2019-12-12
CN109952557B (zh) 2023-03-07

Similar Documents

Publication Publication Date Title
US10666594B2 (en) Proactive intelligent personal assistant
CN108139862B (zh) 多窗口键盘
CN108369600B (zh) web浏览器扩展
US10911389B2 (en) Rich preview of bundled content
US10757048B2 (en) Intelligent personal assistant as a contact
US11580172B2 (en) Contact creation and utilization
WO2018148126A1 (en) Content bundle creation
US10635268B2 (en) Layered content selection
EP3440536A1 (en) Multi-window virtual keyboard
CN109643215B (zh) 基于手势输入的应用处理

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
E701 Decision to grant or registration of patent right
GRNT Written decision to grant