KR101606920B1 - 콘텐츠 프리뷰 - Google Patents

콘텐츠 프리뷰 Download PDF

Info

Publication number
KR101606920B1
KR101606920B1 KR1020137011173A KR20137011173A KR101606920B1 KR 101606920 B1 KR101606920 B1 KR 101606920B1 KR 1020137011173 A KR1020137011173 A KR 1020137011173A KR 20137011173 A KR20137011173 A KR 20137011173A KR 101606920 B1 KR101606920 B1 KR 101606920B1
Authority
KR
South Korea
Prior art keywords
preview
application
input
document
content
Prior art date
Application number
KR1020137011173A
Other languages
English (en)
Other versions
KR20130077882A (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 KR20130077882A publication Critical patent/KR20130077882A/ko
Application granted granted Critical
Publication of KR101606920B1 publication Critical patent/KR101606920B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/16File or folder operations, e.g. details of user interfaces specifically adapted to file systems
    • G06F16/168Details of user interfaces specifically adapted to file systems, e.g. browsing and visualisation, 2d or 3d GUIs
    • 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/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • 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

Abstract

파일 또는 다른 객체의 콘텐츠의 하나 이상의 프리뷰를 제공할 수 있는 방법들, 시스템들 및 머신 판독 가능한 유형의 저장 매체가 설명된다. 일 실시예에서, 문서 내의 링크에 의해 참조되는 외부 데이터의 콘텐츠의 프리뷰는, 상기 문서가 제1 애플리케이션에 의해 제시(예를 들어, 디스플레이)되는 동안 제시되고, 상기 프리뷰는 링크에 인접하고 링크를 가리키는 버블에 디스플레이될 수 있고, 외부 데이터의 콘텐츠는 일 실시예에서 제1 애플리케이션에 액세스 가능하지 않고, 상기 프리뷰는 외부 데이터의 콘텐츠를 생성하거나 편집할 수 없는 비-네이티브 애플리케이션 또는 서비스에 의해 제시된다. 다른 실시예들도 설명된다.

Description

콘텐츠 프리뷰{CONTENT PREVIEW}
매킨토시 오퍼레이팅 시스템을 구동하는 매킨토시 컴퓨터와 같은 현대의 데이터 프로세싱 시스템들은 파일을 생성하거나 편집하는 애플리케이션을 론치(launch)할 필요 없이 워드 프로세싱 문서 또는 스프레드시트 또는 PDF 파일 등과 같은 파일의 프리뷰를 제공할 수 있다. 파일을 생성한 애플리케이션은 네이티브 애플리케이션(native application)으로서 고려될 수 있거나 그와 같이 지칭될 수 있다. 프리뷰는 파일을 편집하거나 생성할 수 없는 비-네이티브 애플리케이션에 의해 발생될 수 있고, 네이티브 애플리케이션은 파일을 편집하거나 생성할 수 있다. 비-네이티브 애플리케이션은 비-네이티브 애플리케이션으로서 고려될 수 있거나 그와 같이 지칭될 수 있는데, 그것은 그것이 파일을 생성하거나 편집할 수 없지만, 그것이 파일의 뷰(view)를 제시할 수 있고, 그래서 그것이 파일 뷰어로서 작용할 수 있고, 일 실시예에서, 비-네이티브 애플리케이션은 상이한 타입들의 복수의 파일들(예를 들어, 텍스트 파일, 이미지 파일, PDF 파일, html 파일, 영화 파일, 스프레드시트 파일, 파워포인트 파일 등)에 대한 파일 뷰어일 수 있다. 프리뷰를 제공할 수 있는 종래 기술의 시스템들의 예들이 공개된 US 출원 번호 2008/0307343 및 2009/0106674에 설명되어 있다.
현대의 데이터 프로세싱 시스템들은 또한 시스템 내에서, 파일 내의 콘텐츠 또는 메타데이터와 같은 데이터를 통해 검색을 수행할 수 있고, 이들 검색은 데이터 프로세싱 시스템에 의해 유지된 파일 시스템 내의 하나 이상의 문서를 찾는 사용자에게 유용할 수 있다. 검색 결과들은 축약(abbreviated) 또는 "톱 히트(top hits)" 포맷으로 제시될 수 있다. 이러한 검색 능력들을 제공할 수 있는 종래의 시스템의 예가 미국 특허 번호 7,630,971에 설명되어 있다.
콘텐츠의 프리뷰들을 제시할 수 있는 방법들, 머신 판독 가능한 유형의 저장 매체, 및 데이터 프로세싱 시스템들이 설명된다.
일 실시예에서, 시스템은 제1 애플리케이션을 통해 제시되고 있는 다른 문서 내의 링크에 의해 지칭되는 문서의 콘텐츠의 프리뷰를 제시하기 위해 비-네이티브 애플리케이션을 이용할 수 있다. 이 실시예에 따른 방법은 제1 애플리케이션을 통해 제1 문서를 제시하는 것 및 제1 애플리케이션에 액세스 가능하지 않은 외부 데이터에 대한, 제1 애플리케이션 내에 제시된, 링크 상의 제1 입력을 검출하는 것을 포함할 수 있다. 외부 데이터는 일 실시예에서 제1 애플리케이션과 상이한 비-네이티브 애플리케이션에 의해 제시될 수 있는 콘텐츠를 갖는 제2 문서일 수 있다. 제1 입력에 응답하여, 방법은 제1 애플리케이션을 이용하여 제1 문서를 계속해서 디스플레이하면서 외부 데이터의 콘텐츠의 프리뷰를 제시할 수 있다. 이러한 식으로, 제2 문서와 같은 외부 데이터의 콘텐츠의 프리뷰가 비-네이티브 애플리케이션에 의해 제공될 수 있고, 사용자는 제1 애플리케이션을 떠나지 않고 제1 애플리케이션을 통해 제1 문서의 콘텐츠를 계속해서 본다. 일 실시예에서, 이 방법의 예는 이메일 애플리케이션 내에 이메일을 제시하는 것을 수반하고, 이메일은 URL 또는 거리 주소 또는 파일명 등과 같은 링크를 포함한다. 방법은 일정 기간 동안 링크 위의 커서의 호버링(hovering), 또는 커서 또는 사용자의 손가락 또는 손가락들의 세트 등에 의한 사용자 제스처와 같은, 링크 상의 입력을 검출할 수 있다. 이 입력을 검출하는 것에 응답하여, 시스템은, 링크 또는 URL에 의해 참조되는 웹페이지일 수 있거나 또는 거리 주소 등에 의해 참조되는 지도일 수 있는, 외부 데이터의 프리뷰를 제시하기 위해 비-네이티브 애플리케이션을 인보크(invoke)할 수 있다. 프리뷰는 링크 바로 옆의 그리고 옵션으로 이메일의 적어도 일부분에 오버랩되는 버블(bubble) 또는 윈도우 또는 패널에 제시될 수 있다. 이메일 프로그램은 가장 앞의 애플리케이션(front most application)을 위한 포커스일 수 있고, 프리뷰가 제시되기 전과 후에 둘다, 키 입력 및 커서 입력을 가질 수 있다. 이러한 식으로, 사용자는 이메일 또는 이메일 프로그램을 떠나지 않고, 일 실시예에서, 이메일의 콘텐츠의 적어도 일부분을 보기 어렵게 하지 않고, 외부 데이터의 콘텐츠를 볼 수 있다. 일 실시예에서, 제1 애플리케이션은 제1 문서를 생성하거나 편집하도록 구성될 수 있고, 비-네이티브 애플리케이션은 제1 문서 또는 제2 문서를 편집하거나 생성할 수 없지만, 제1 문서 또는 제2 문서의 뷰를 제공할 수 있다. 일 실시예에서, 프리뷰는 사용자 상호작용 가능해서, 사용자가 제2 문서를 스크롤하는 것 또는 제2 문서의 페이지를 넘기는 것 또는 제2 문서를 줌(zoom)하는 것 또는 제2 문서에서 영화를 플레이하는 것 등 중 적어도 하나를 수행할 수 있게 할 수 있다. 방법은 옵션으로 링크의 데이터 타입을 검출하는 단계를 포함할 수 있고, 데이터 타입은 URL, 거리 주소, 카렌다 또는 카렌다 엔트리(calendar entry), 전화 번호, 이메일 주소, ISBN 도서 번호 또는 파일명 중 하나이고, 이 검출의 결과는 비-네이티브 애플리케이션에 제공될 수 있어, 그것이 콘텐츠를 검색 및 제시하기 위해, 데이터의 타입을 알고서, 적절한 방법들을 이용할 수 있도록 한다. 방법은 옵션으로 또한 콘텐츠의 프리뷰를 갖는 하나 이상의 사용자 선택 가능한 사용자 인터페이스 요소들(예를 들어, 버튼)을 제시하는 단계를 포함할 수 있고, 이들 요소들은 검출된 데이터의 타입에 기초하여 선택될 수 있다. 예를 들어, 방법에 의해 검출된 데이터 타입이 데이터 타입이 카렌다 또는 카렌다 엔트리임을 나타내는 경우, 방법은 옵션으로 카렌다 또는 카렌다 엔트리의 콘텐츠의 프리뷰에 하나 이상의 사용자 선택 가능한 버튼들을 제시할 수 있고, 이들 하나 이상의 사용자 선택 가능한 버튼들은, 사용자에 의해 선택될 때, 카렌다 애플리케이션을 론치하는 것과 같은 액션이 새로운 카렌다 이벤트 또는 엔트리를 생성하도록 할 수 있다(예를 들어, 액션이 새로운 카렌다 이벤트를 생성하는 것임을 버튼이 나타낸다면). 다시 말해, 데이터 타입들을 검출하는 데이터 검출은 비-네이티브 애플리케이션에 의해 프리뷰와 제시되는 적절한 사용자 선택 가능한 UI 요소들을 선택할 수 있고, 사용자가 이들 UI 요소들 중 하나를 선택할 때, 네이티브 애플리케이션을 이용하여 액션이 인보크될 수 있고, 이 액션은 검출된 데이터 타입에 기초하고, 검출된 데이터 타입의 그 타입에 대해 적절하다. 따라서, 프리뷰의 콘텐츠는 검출되는 데이터의 타입에 대해 적절할 액션들을 지시하는 사용자 선택 가능한 UI 요소들을 지시한다.
다른 실시예에서, 프리뷰를 제시하기 위한 방법은 제1 애플리케이션을 통해 제1 문서를 제시하는 단계, 및 상기 제1 문서 내의 제1 데이터를 검출하는 단계, 및 상기 제1 데이터에 근접한 제1 입력을 수신하는 단계, 및 상기 제1 입력에 응답하여, 사용자 인터페이스 요소를 제시하는 단계를 포함할 수 있다. 사용자 인터페이스 요소는 제1 문서 내에서 검출된 제1 데이터에 의해 참조된, 콘텐츠의 프리뷰가 사용자 인터페이스 요소의 활성화에 응답하여 제시될 수 있다는 것을 사용자에게 표시할 수 있다. 상기 사용자 인터페이스 요소 상의 입력을 수신하는 것에 응답하여, 시스템은 상기 제1 문서를 계속해서 제시하면서, 상기 제1 데이터에 의해 참조되는 콘텐츠의 프리뷰를 제시할 수 있다. 이 방법의 예는 본원에 더 설명되는 바와 같이 검출되는 하나 이상의 거리 주소들을 그 안에 포함하는 워드 프로세싱 문서에 대해 제공될 수 있다. 시스템에 의한 거리 주소들의 검출은 시스템이 워드 프로세싱 문서 내의 거리 주소 위에 커서를 호버링하는 것과 같은, 거리 주소들에 근접한 입력을 수락할 수 있게 하고, 그 다음에 시스템은 거리 주소 위의 입력에 응답하여, 그 거리 주소에 관한 콘텐츠의 프리뷰가 사용자 인터페이스 요소를 선택함으로써 제공될 수 있다는 것을 사용자에게 표시하는 사용자 인터페이스 요소를 제시할 수 있다. 사용자 인터페이스 요소의 선택에 응답하여, 시스템은, 일 실시예에서, 워드 프로세싱 문서 내의 거리 주소에 있는 집 또는 빌딩 또는 다른 객체의 위치를 보여주는 거리 주소의 지도를 제시할 수 있다.
일 실시예에서, 제1 문서 내의 데이터의 검출은 URL(Uniform Resource Locator), 거리 주소, 이미지 파일명 또는 다른 데이터 중 적어도 하나를 검출하도록 구성되는 제2 애플리케이션에 의해 수행될 수 있고, 또한 데이터의 타입("데이터 타입") 및 프리뷰를 검출하는 것은 제1 문서를 생성하거나 편집하도록 구성되는 제1 애플리케이션과 상이한 비-네이티브 판독기 애플리케이션에 의해 제공될 수 있다. 데이터 검출기들을 이용하여 링크의 데이터 타입을 검출할 수 있고, 검출된 데이터 타입이 프리뷰 발생기에 제공될 수 있어, 프리뷰 발생기는, 일 실시예에서, 검출된 데이터 타입에 기초하여, 콘텐츠를 검색 및 제시하기 위한 적절한 루틴을 선택할 수 있다. 예를 들어, 제2 애플리케이션에 의한 제1 데이터의 검출은 제1 데이터 상의 입력을 수신하기 전에 발생할 수 있거나, 입력을 수신한 후에 발생할 수 있다. 일 실시예에서, 프리뷰는 사용자 상호작용 가능하도록 구성될 수 있고, 제1 문서를 제시하는 제1 애플리케이션에 의해 디스플레이된 윈도우와 오버랩되는 버블에 디스플레이될 수 있다. 일 실시예에서, 프리뷰는 프리뷰의 콘텐츠에서 검출된 데이터의 타입에 기초하여 결정 또는 선택되는 사용자 선택 가능한 UI 요소들을 포함할 수 있고, 이들 사용자 선택 가능한 UI 요소들은, 선택될 때, 검출된 콘텐츠에 대해 적절한 액션을 야기할 수 있다.
본 발명의 다른 양태는 검색 결과들의 제시에 관한 것이다. 이 양태에 따른 방법의 실시예는 검색의 결과들의 리스트를 제시하는 단계, 및 상기 결과들의 리스트에서 아이템의 선택을 나타내는 입력을 수신하는 단계, 및 상기 입력에 응답하여, 선택된 아이템의 콘텐츠의 프리뷰를 디스플레이하는 단계를 포함할 수 있다. 상기 프리뷰는 상기 검색의 결과들의 리스트에 인접하고 선택된 상기 아이템을 가리키는 뷰에 제공될 수 있다. 상기 프리뷰는 비-네이티브 애플리케이션으로 디스플레이될 수 있고, 상기 리스트가 또한 디스플레이됨과 동시에 디스플레이될 수 있다. 상기 리스트는 검색 결과들의 축약된 리스트일 수 있어서, 검색의 결과들 중 일부만이 디스플레이된다. 일 실시예에서, 리스트는 리스트가 축약될 때 검색 결과들 전부를 사용자가 볼 수 있게 하기 위해 "전부 표시(show all)" 커맨드 또는 유사한 커맨드를 포함할 수 있다. 일 실시예에서, 프리뷰는 콘텐츠의 상호작용 가능한 뷰일 수 있어, 사용자가 검색 결과들이 또한 디스플레이되는 동안 프리뷰 내의 콘텐츠를 스크롤하거나 페이지를 넘기거나 줌하는 등을 할 수 있게 한다. 일 실시예에서, 검색은 파일의 메타데이터 또는 파일들의 인덱싱된 콘텐츠 또는 둘다를 통해서 행해질 수 있다. 인덱싱된 콘텐츠는 파일들의 콘텐츠 내의 모든 논스톱 단어(non-stop word)의 풀 텍스트 인덱스(full text index)일 수 있다. 일 실시예에서, 검색은 디스플레이 스크린의 에지를 따르는 메뉴 영역으로부터 활성화되는 검색 입력 필드로부터 개시될 수 있고, 리스트는 디스플레이 스크린의 한 측면 또는 양 측면에 인접하게 디스플레이될 수 있다. 일 실시예에서, 뷰는 아이템이 선택되는 동안 이동할 수 없는 버블일 수 있지만, 리스트에서 다른 아이템을 선택하는 것은 리스트에 인접하고 리스트 내의 다른 아이템을 가리키는 다른 버블의 제시를 야기한다. 일 실시예에서, 결과들의 리스트 내의 커서 이동 및/또는 리스트에 대한 키보드 입력들은 검색 결과들의 리스트 내의 어느 아이템들이 가장 선택될 가능성이 큰지를 결정하기 위해 관측될 수 있고, 가장 선택될 가능성이 큰 아이템들의 결정에 기초하여, 프리뷰 발생기는 디스플레이될 가능성이 작은 리스트 내의 다른 아이템들의, 버블 내의 디스플레이를 위한, 콘텐츠를 프로세싱하기 전에 아이템들에 대한, 버블 내의 디스플레이를 위한, 콘텐츠를 프로세싱할 수 있다. 버블 내의 디스플레이를 위한 콘텐츠의 프로세싱은 버블 내의 콘텐츠의 디스플레이 전에 발생하는 전처리 동작일 수 있고, 이 전처리는 검색의 결과들의 리스트 내의 동적 커서 이동들에 기초한 순서로 수행될 수 있다.
본 발명의 다른 양태는 데이터 프로세싱 시스템 내의 파일 관리 시스템을 위한 사용자 인터페이스 프로그램에 의해 제시된 파일들의 리스트와 같은, 파일들의 리스트의 콘텍스트에서 파일의 프리뷰를 제공하기 위한 하나 이상의 방법들에 관한 것이다. 일 실시예에서, 방법은 디스플레이 스크린의 영역에 파일들의 리스트를 디스플레이하는 단계 및 파일들의 리스트에서 선택된 파일의 프리뷰를 디스플레이하기 위한 요구를 표시하는 제1 입력을 수신하는 단계를 포함할 수 있다. 제1 입력은 제2 입력에 응답하여 네이티브 애플리케이션에서 선택된 파일을 여는 데 이용되는 제2 입력과 상이할 수 있다. 시스템은, 제1 입력에 응답하여, 그 다음에 파일들의 리스트가 여전히 디스플레이 스크린의 영역에 디스플레이되는 동안 선택된 파일의 콘텐츠의 프리뷰를 제시할 수 있다. 프리뷰는 파일들의 리스트에 인접하고 선택된 파일을 가리키는 버블에 비-네이티브 애플리케이션으로 디스플레이될 수 있다. 일 실시예에서, 프리뷰는 사용자 상호작용 가능해서, 프리뷰는 그것이 프리뷰를 스크롤하거나 줌하거나 페이지를 넘기는 등을 하도록 하기 위한 입력을 수신하도록 구성된다. 이 방법에 의해, 사용자는 특정 선택된 파일을 가리키는 사용자 상호작용 가능한 프리뷰를 획득하기 위해 파일들의 리스트를 브라우징할 수 있다.
위의 요약은 본 발명의 모든 양태의 완전 목록을 포함하지는 않는다. 본 발명은 위에 요약된 다양한 양태들, 및 또한 아래 상세한 설명에 개시된 것들의 모든 적절한 결합들로부터 실시될 수 있는 모든 시스템 및 방법을 포함한다는 것이 고려된다.
본 발명은 유사한 참조부호가 유사한 요소들을 나타내는 첨부 도면들에서 한정이 아닌 예시에 의해 설명된다.
도 1은 본 발명의 일 실시예에 따른 방법을 도시하는 흐름도이다.
도 2a, 2b, 2c, 및 2d는 도 1에 도시된 방법에 따라 제공될 수 있는 사용자 인터페이스들의 예를 제공한다.
도 3a, 3b, 3c, 3d, 및 3e는 도 1에 도시된 방법의 실시예에 따라 제공될 수 있는 사용자 인터페이스들의 추가 예들을 제공한다.
도 4a 및 4b는 파일 관리 시스템을 위한 사용자 인터페이스와 함께 파일들의 프리뷰를 제시하기 위한 사용자 인터페이스의 예를 제공한다.
도 5a, 5b, 5c, 및 5d는 본 발명의 일 실시예에 따라, 도크(dock)로부터 뷰들로 제시 가능한 아이템들의 프리뷰들을 제공하기 위한 사용자 인터페이스들의 예들을 제공한다.
도 6a는 본 발명의 일 실시예에 따른 방법의 예를 도시하는 흐름도이다.
도 6b는 본 발명의 다른 실시예에 따른 방법을 도시하는 흐름도이다.
도 7a, 7b, 7c, 7d, 및 7e는 도 6a에 도시된 방법 또는 도 6b에 도시된 방법의 일부로서 제공될 수 있는 사용자 인터페이스들의 예들을 제공한다.
도 8은 본 발명의 일 실시예에 따른 데이터 프로세싱 시스템에서 프리뷰들을 발생하기 위한 시스템의 블록도이다.
도 9는 본원에 설명된 하나 이상의 실시예들에 따른 링크 데이터에 응답하여 발생될 수 있는 상이한 타입들의 링크 데이터 및 그것들의 연관된 프리뷰들을 나타내는 표이다.
도 10은 본 발명의 일부 실시예들에서 이용 가능한 예시적인 API 아키텍처의 블록도를 예시한다.
도 11은 본 발명의 일부 실시예들에서 이용 가능한 소프트웨어 스택의 예시적인 실시예를 도시한다.
도 12는 본원에 설명된 하나 이상의 실시예들과 이용될 수 있는 데이터 프로세싱 시스템의 예를 블록도 형태로 도시한다.
본 발명의 다양한 실시예들 및 양태들이 아래 논의되는 상세들을 참조하여 설명될 것이고, 첨부 도면들은 다양한 실시예들을 예시할 것이다. 다음의 설명 및 도면들은 본 발명을 예시하는 것이고 본 발명을 한정하는 것으로서 해석되어서는 안 된다. 본 발명의 다양한 실시예들의 철저한 이해를 제공하기 위해 다수의 특정 상세들이 설명된다. 그러나, 특정 사례들에서, 공지 또는 종래의 상세들은 본 발명의 실시예들의 간결한 논의를 제공하기 위해 설명되지 않는다.
명세서에서 "일 실시예" 또는 "실시예"에 대한 참조는, 실시예와 함께 설명된 특정 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함될 수 있다는 것을 의미한다. 명세서의 다양한 곳에서의 "일 실시예에서"라는 구절의 출현은 반드시 모두 동일한 실시예를 가리키는 것은 아니다. 다음에 오는 도면들에 도시된 프로세스들은 하드웨어(예를 들어, 회로, 전용 로직 등), 소프트웨어, 또는 둘의 결합을 포함하는 프로세싱 로직에 의해 수행된다. 프로세스들은 일부 순차적인 동작들에 관하여 아래 설명되지만, 설명된 동작들 중 일부는 상이한 순서로 수행될 수 있다는 것을 알아야 한다. 또한, 일부 동작들은 순차적으로 보다는 병렬로 수행될 수 있다.
본 설명은 그래픽 사용자 인터페이스 이미지들의 도해들과 같은, 저작권에 의해 보호되는 자료를 포함한다. 본 발명의 양수인을 포함하는 저작권의 소유자들은, 이로써 이들 자료들에서, 저작권을 포함하는, 그들의 권리를 보호한다. 저작권 소유자는 특허청 파일 또는 기록들에 나오는 바와 같은, 특허 문서 또는 특허 개시의 누군가에 의한 복사에 이의가 없지만, 어떠한 모든 저작권일지라도 보호한다. Copyright Apple Inc. 2010.
도 1은, 일 실시예에서, 축약된 검색 결과 리스트의 콘텍스트에서 프리뷰들을 제시하기 위한 본 발명의 일 실시예에 따른 방법을 도시한다. 이 방법에 따라 구현될 수 있는 사용자 인터페이스들의 예들은 도 2a-2d와 도 3a-3e에 제공된다. 방법은 검색 입력이 수신되고, 파일들의 세트를 통해 검색을 수행함으로써 시스템이 응답하는 동작(101)에서 시작할 수 있다. 일 실시예에서, 검색은 파일들의 풀 텍스트 콘텐츠의 인덱싱된 콘텐츠를 통해 수행될 수 있고, 부가적으로 또는 대안적으로, 검색은 파일들의 상이한 타입들의 메타데이터를 통해 수행될 수 있다. 수행될 수 있는 검색들의 타입의 일 예가 본원에 참고로 인용되는 미국 특허 7,630,971에 제공된다. 시스템은 일 실시예에서, 사용자가 타이핑할 때 그리고 사용자가 타이핑을 끝마치기 전에 검색 결과들의 디스플레이를 시작할 수 있다. 검색 결과들은 검색으로부터 히트들 또는 결과들 전부를 제시하지 않는 축약된 리스트로 디스플레이될 수 있다. 일 실시예에서, 축약된 히트들의 이러한 리스트를 "톱 히트(top hits)" 리스트라고 지칭할 수 있고, 시스템이 스크롤되거나 크기 조정되거나 둘다될 수 있는 윈도우에 검색 결과들 전부를 디스플레이하도록 하기 위해 사용자에 의해 선택 가능한 "전부 보기(show all)" 옵션을 포함할 수 있다. 검색 결과들이 동작(103)에서 디스플레이된 후에, 시스템은 검색 결과들 내의 아이템에 대한 입력을 수신할 수 있다. 일 실시예에서, 이것은 선택된 아이템들 중 하나 위에 커서를 호버링하는 것 또는 사용자의 하나 이상의 손가락으로 제스처를 하는 것 등을 수반할 수 있다. 동작(103)에서 수신된 입력에 응답하여, 시스템은 프리뷰 발생기를 통해 동작(105)에서 선택된 아이템의 콘텐츠의 프리뷰를 제시할 수 있다. 예를 들어, 시스템은 검색 결과들 내의 선택된 아이템에 인접하고 그것을 가리키는 버블에 콘텐츠를 디스플레이할 수 있다. 일 실시예에서, 옵션으로 시스템은 그것이 동시에 검색에서 발견된 검색 아이템들의 리스트와 디스플레이될 때 사용자 입력들이 버블 내의 콘텐츠를 스크롤하거나 콘텐츠의 페이지를 넘기는 것과 같은, 디스플레이된 콘텐츠와 상호작용할 수 있게 하는 상호작용 가능한 프리뷰를 제공할 수 있다.
일 실시예에서, 시스템은 검색 결과들의 리스트(URL들의 리스트를 포함할 수 있음)로 향하는 커서 이동 또는 손가락 이동 또는 키보드 입력에 기초하여 사용자에 의해 요구될 가능성이 큰 아이템들의 결정에 기초하여 버블에 디스플레이를 위한 콘텐츠를 전처리할 수 있다. 전처리의 순서는 일 실시예에서, 사용자가 검색 결과들의 리스트 위에서 커서 또는 손가락 또는 스타일러스를 이동할 때 시간에 따른 동적 커서 또는 손가락 이동으로부터 결정될 수 있다. 순서는 머지않아 필요할 가능성이 있는 URL(Uniform Resource Locator)들의 리스트를 포함하는 정렬된 어레이(ordered array)의 형태로 프리뷰 발생기에 제공될 수 있다. 옵션으로, 리스트는 머지않아 요청될 가능성이 있는 검색 결과들의 리스트 내의 모든 아이템들의 완전 리스트인 것으로 표시될 수 있다. 프리뷰 발생기는 그 다음에 이 리스트를 이용하여 그의 콘텐츠 전처리 동작들 및 그의 콘텐츠 캐싱(caching) 동작들의 우선순위를 정할 수 있고, 예를 들어, 프리뷰 발생기는 콘텐츠로부터 이미지들(예를 들어, PNG 이미지들 또는 다른 이미지 포맷들)을 발생하고 이러한 URL들의 리스트에 의해 우선순위가 정해지는 순서로 이미지들의 캐시에 이미지들을 저장할 수 있다.
시스템은 머지않아 어느 URL들이 필요할 가능성이 큰지를 결정하기 위해 시간에 따른 마우스 이동 및 시간에 따른 키보드 입력을 관찰함으로써 이 리스트를 결정할 수 있다. 마우스 커서 아래에 있는 아이템들과 가까이에 있는 아이템들이 먼저 나열되고, 커서가 이동하는 방향으로 가까이에 있는 아이템들은 반대 방향으로 있는 아이템들의 앞에 우선순위가 정해진다. 프리뷰 발생기는 그의 캐시에 버블 내의 잠재적인 디스플레이를 위한 이미지들을 사전 로드하기 위해 작업 리스트로서 리스트를 이용한다. 리스트가 시스템에 의해 독점적인 것으로 마킹되는 경우, 프리뷰 발생기는 리스트에 없는 버블을 위한 이미지들을 계산하는 데 있어서 진행중인 임의의 작업을 취소할 수 있다. 그러한 아이템들은 그것들이 이미 완전히 계산된 경우, 캐시가 가득 차지 않으면, 캐시로부터 반드시 제거될 필요는 없고, 이 경우, 나열된 아이템들 전부가 캐시에 저장될 수 있도록 하기 위해 충분한 나열되지 않은 아이템들이 캐시로부터 제거된다는 것에 주목한다. 리스트가 가능성 있는 순서(likelihood order)로 되어 있으면, 프리뷰 발생기는 가능성이 적은 URL들 전에 가능성이 큰 URL들에 대한 작업을 수행할 수 있다. 부가적으로, 캐시가 모든 아이템들을 유지할 수 없고 N개의 아이템만을 유지할 수 있다면, 리스트 내의 처음 N개의 아이템만이 캐시에 계산되어 저장될 필요가 있다. 아이템이 이미 캐시에 계산된 경우, 그것이 리스트에 있더라도 그것을 다시 계산할 필요가 없다. 결과적으로, 버블은 사용자가 그것을 디스플레이되도록 요구한 시간까지 이미 계산되었을 가능성이 있고, 버블의 콘텐츠가 가시적이 되기 전에 지연이 적다(또는 없다).
동작(107)은 검색 결과들의 리스트가 동작(107)에서 동시에 디스플레이되는 동안 프리뷰와 사용자의 상호작용의 결과를 디스플레이하는 것을 수반할 수 있다.
일 실시예에서, 도 1의 방법은 워드 프로세싱 파일들, 스프레드시트 파일들, 파워포인트 슬라이드 파일들, PDF 파일들, 영화 파일들, HTML 파일들, XML 파일들, 이미지 파일들 등과 같은, 많은 상이한 타입들의 파일들의 프리뷰들을 발생할 수 있는 비-네이티브 애플리케이션인 프리뷰 발생기를 통해 구현될 수 있고, 일 실시예에서, 비-네이티브 애플리케이션은 이들 상이한 타입들의 파일들의 콘텐츠를 제시할 수 있지만, 이들 상이한 타입들의 파일들을 편집하거나 생성할 수 없다. 프리뷰 발생기의 예가 도 8과 함께 아래에 제공되며, 이 프리뷰 발생기는 도 1에 따른 방법의 실시예에서 이용될 수 있다. 일 실시예에서, 검색은 디스플레이 스크린의 에지를 따르는 메뉴 영역으로부터 활성화되는 검색 입력 필드로부터 개시될 수 있고, 검색 결과들의 리스트는 디스플레이 스크린의 적어도 한 측면에 인접하여 디스플레이될 수 있다. 일 실시예에서, 프리뷰는 이동될 수 없는 버블인 뷰에 디스플레이될 수 있다. 검색 결과들의 리스트로부터 다른 아이템의 선택은 리스트에 인접하고 리스트와 동시에 디스플레이되며 선택된 리스트 내의 다른 아이템을 가리키는 다른 버블의 제시를 야기한다.
도 2a, 2b, 2c, 및 2d는 도 1에 따른 방법의 일 실시예에 제공될 수 있는 사용자 인터페이스들의 예를 제공한다. 사용자 인터페이스는 디스플레이 스크린의 에지에 검색 요구 아이콘(203)을 갖는 메뉴 바(202)를 포함하는 사용자 인터페이스를 디스플레이하는 액정 디스플레이 또는 다른 디스플레이 장치일 수 있는 디스플레이 스크린(201)을 포함한다. 사용자 인터페이스는 또한 데스크톱 상에 저장 아이콘(204) 및 아이콘(207)과 같은 하나 이상의 윈도우 및 아이콘을 디스플레이할 수 있는 데스크톱(205)을 포함하고, 아이콘(207)은 데스크톱 상에 사용자가 배치한 파일을 나타내는 아이콘이다. 데스크톱은 또한 하나 이상의 프로그램을 위한 하나 이상의 윈도우를 디스플레이할 수 있다. 도 2a에 도시된 예에서, 윈도우(211)는 파인더(Finder) 윈도우이지만, 그것은 다른 애플리케이션의 윈도우일 수 있다는 것이 가정된다. 파인더는 매킨토시 오퍼레이팅 시스템에서 파일 관리 시스템을 위한 사용자 인터페이스 프로그램의 예이고, 그것은 도 2a의 메뉴 바(202)에서 명칭 "Finder"에 의해 가장 앞의 애플리케이션으로서 도시된다. 도 2a에 도시된 실시예에서, 커서(209)가 디스플레이되고, 이 커서는 마우스 또는 트랙패드와 같은 임의의 알려진 커서 제어 장치에 의해 제어될 수 있고, 대안적인 실시예들에서, 터치 스크린 또는 터치 패드가 커서와 함께 또는 커서 없이 이용될 수 있고, 시스템과의 사용자 상호작용은 이 기술분야에 알려진 바와 같은 터치 패드 또는 터치 스크린 상의 터치들을 통해 발생한다. 도 2a에 도시된 사용자 인터페이스는 또한 디스플레이 스크린의 에지에 배치된 프로그램 제어 영역의 예인 도크(213)를 포함할 수 있다. 도크(213)는 도크(213)로부터 론치 또는 달리 제어될 수 있는 애플리케이션 프로그램들을 나타내는 아이콘들을 포함할 수 있다. 아이콘(215)은 일 실시예에서 프로그램 애플리케이션의 예이다. 검색 요구 아이콘(203)은 디스플레이 스크린(201)의 코너에 도시되지만, 검색 요구 아이콘에 대한 대안적인 위치들은, 검색 요구 아이콘 또는 검색 입력 필드의 제시를 야기하는, 디스플레이 스크린(201)의 코너와 같은 디스플레이 스크린의 에지에서의 메뉴 옵션의 활성화에 응답하여, 검색 요구 아이콘 또는 단어 "search" 등의 제시를 포함할 수 있다는 것을 알 수 있다. 검색 요구 아이콘 또는 검색 입력 필드의 이러한 대안적인 제시의 예가 (워싱턴주 레드몬드의 Microsoft Corporation로부터의) Windows 7에 제공되고, Windows 7의 시작 메뉴는 디스플레이 스크린의 코너에 있고, 시작 메뉴의 활성화는 검색 입력 필드(217)와 유사한 검색 입력 필드를 생성할 수 있다.
도 2b에 도시된 바와 같이, 사용자는 검색 요구 아이콘(203) 근처에 커서를 위치시킬 수 있고, 검색이 요구되고 있음을 데이터 프로세싱 시스템에 신호를 보낼 수 있다. 일 실시예에서, 이것은 검색 요구 아이콘(203) 근처에 커서를 배치하는 것, 마우스의 버튼 또는 키보드 상의 키와 같은 버튼을 누르는 것을 포함할 수 있다. 다른 실시예에서, 사용자는 검색 요구 아이콘(203) 근처에 커서(209)를 위치시키지 않고 키보드 상의 버튼(예를 들어, 파인더가 키보드 포커스(keyboard focus)를 가질 때 스페이스 바 버튼)을 누름으로써 검색 입력 필드를 활성화할 수 있다. 다른 실시예에서, 터치 스크린 또는 터치 패드 상의 사용자의 하나 이상의 손가락에 의한 미리 결정된 사용자 제스처가 또한 검색 요구로서 해석될 수 있어, 도 2b에 도시된 바와 같은 검색 입력 필드(217)의 제시를 야기한다. 시스템은 사용자에 의해 글자가 타이핑되거나 입력될 때 또는 사용자가 리턴 키를 입력하거나 검색 요구 또는 검색 입력이 완료되었다는 다른 신호를 제공한 후에 검색을 수행할 수 있다. 일 실시예에서, 검색의 결과는 검색 결과 패널(219)이 디스플레이 스크린의 에지를 따라 제시되는 도 2c에 도시된다. 검색 입력 필드(217)는 검색 입력으로 디스플레이된 채로 남아 있고, 검색 결과 아이템들은 검색 결과 패널(219) 내에 디스플레이된다. 검색 결과 패널(219)은 또한 검색 결과들 전부의 리스트를 제공하도록 사용자가 선택할 수 있는 "전부 보기(show all)" 커맨드(223)를 포함한다. 일 실시예에서, 검색 결과 패널(219)은 검색과 매칭되는 가장 관련 있는 또는 가장 최근의 결과들의 축약된 리스트(또는 일부 다른 기준 또는 기준의 결합)를 제시한다. PDF 파일, 마이크로소프트 워드 파일, 리치 텍스트 포맷 파일(Rich Text Format file), 영화 파일("bubble bath"), 및 이미지 파일("bubble nebula")을 포함하는 복수의 상이한 파일 타입들이 검색 결과들에 포함된다는 것을 볼 수 있다. 일 실시예에서, 사용자는 일 실시예에서 그 아이템 위에 커서를 호버링함으로써 검색 결과 패널(219)에 디스플레이된 검색 결과 아이템들 중 어느 하나를 선택할 수 있다. 이것은 도 2d에 도시되고, 여기서 사용자는 검색 결과 아이템(221) 위에 커서(209)를 호버링하거나 달리 위치시킴으로써, "bubble nebula" 사진 파일의 콘텐츠를 도시하는 프리뷰 패널(225)의 제시를 야기한다. 프리뷰 패널(225)은 선택된 아이템을 가리키는 포인터(227)를 포함한다. 검색 결과 패널(219) 위의 커서(209)의 위치를 변경하는 것은 아래 더 설명되는 도 3d 및 3e에 더 도시되는 바와 같이 상이한 파일들에 대한 상이한 프리뷰들의 제시를 제공한다. 각 파일의 콘텐츠의 프리뷰가 일 실시예에서 축약된 검색 결과들이 또한 검색 결과 패널(219)에 디스플레이됨과 동시에 제공될 수 있다는 것을 볼 수 있다. 프리뷰 패널(225)은 일 실시예에서 검색 결과들 또는 검색 히트들의 축약된 리스트를 제공하는 동시에 디스플레이되는 검색 결과 패널(219)에 바로 인접한다는 것을 도 2d로부터 알 수 있다. 이것은 종종 가장 관련 있는 문서들을 포함할 축약된 리스트를 사용자에게 제공하고, 그 다음에 사용자는 검색 결과 패널에 인접하게 프리뷰 패널이 나타나게 함으로써 검색 결과 패널(219)에 검색 결과들이 디스플레이되는 동안 문서들 각각 또는 어느 하나를 브라우징할 수 있다는 이점을 제공한다. 따라서, 사용자는 축약된 검색 결과 리스트 내의 아이템들을 신속하게 스캔 또는 브라우징하여 이 실시예에 따라 사용자가 하나 이상의 문서들을 더욱 효율적으로 찾을 수 있도록 검색 결과들과 동시에 디스플레이된 각 아이템에 대한 프리뷰를 디스플레이할 수 있다. 일 실시예에서, 축약된 검색 결과 리스트 내의 아이템들을 신속하게 스캔하는 능력은 본원에 설명된 바와 같은 시간에 따른 동적 커서 또는 손가락 이동들(또는 시간에 따른 키보드 입력들)에 기초하여 리스트 내의 아이템들을 전처리함으로써 개선될 수 있다.
도 3a, 3b, 3c, 3d, 및 3e는 도 1에 따른 방법의 실시예를 제공할 수 있는 사용자 인터페이스들의 다른 예들을 제공한다. 이 사용자 인터페이스들에서, 프리뷰들은 사용자 상호작용 가능하다. 예를 들어, 사용자는 축약된 검색 결과 리스트와 같은 검색 결과 리스트에 인접하여 디스플레이된 프리뷰 모드 또는 뷰 내에서 모두 문서의 페이지들을 스크롤하거나 영화를 플레이하거나 문서의 페이지를 넘기거나 문서에서 위 아래로 스크롤하거나 좌우로 스크롤할 수 있다.
도 3a, 3b, 및 3c에 도시된 예에서, 축약된 검색 결과 리스트는 카테고리들로 그룹화되고, 톱 히트 아이템 및 "전부 보기(show all)" 커맨드(332)를 포함한다. 카테고리들은 사전 정의들, 특정 폴더("Documents") 내의 아이템들, 폴더들, 이메일 메시지들, 이벤트들 및 투 두 아이템들(to do items), 이미지들, PDF 문서들, 프레젠테이션들, 등을 포함한다. 따라서, 도 3a, 3b, 및 3c로부터 볼 수 있는 바와 같이, JPEG 파일들과 같은 이미지들은 축약된 검색 결과들에서 함께 그룹화되고, PDF 파일들은 함께 그룹화된다. 사용자는 프리뷰 패널(325)과 같은 프리뷰의 제시를 야기하기 위해 축약된 검색 결과 패널(319)로부터 파일을 선택하기 위해 커서를 배치할 수 있다. 사용자는 PowerPoint 파일 또는 Keynote 파일 등일 수 있는 프레젠테이션 파일의 콘텐츠의 프리뷰의 제시를 야기하기 위해 검색 결과 아이템(321) 위에 일 실시예에서 커서(309)를 호버링하였다는 것을 도 3a로부터 알 수 있다. 도 3a, 3b, 및 3c에 도시된 경우에서, 파일은 Keynote 파일이고, Keynote는 마이크로소프트의 파워포인트 애플리케이션과 유사한 프레젠테이션 애플리케이션이다. 프리뷰 패널(325)은 사용자가 뒤로 버튼(301) 및 앞으로 버튼(303)을 이용하여, 프리뷰 패널(325) 내의 파일의 콘텐츠의 페이지를 넘길 수 있다는 점에서 사용자 상호작용 가능하다. 도 3b에 도시된 바와 같이, 사용자는 프리뷰 패널(325) 내로 커서(309)를 이동함으로써, 뒤로 버튼(301) 및 앞으로 버튼(303)의 제시를 야기한다. 사용자는 그 다음에 프레젠테이션의 상이한 페이지들이 디스플레이될 수 있도록 버튼들 위에 커서(309)를 호버링함으로써 버튼들과 상호작용할 수 있다. 도 3c에 도시된 바와 같이, 사용자는 앞으로 버튼(303) 위에 커서(309)를 호버링하였고 도 3a에 도시되어 있는 페이지 1 이외의 프레젠테이션 내의 페이지를 제시하였다. 프리뷰 패널(325)은 검색 입력 필드(317) 내로 입력된 검색 입력을 여전히 표시하는 검색 입력 필드(317)와 함께 검색 결과 패널(319)에 축약된 검색 결과 리스트가 디스플레이되어 있는 동안 프리뷰되고 있는 현재 선택된 아이템을 가리키는 포인터(327)를 포함할 수 있다. 검색 결과 패널(319) 및 프리뷰 패널(325) 내의 축약된 검색 결과 리스트의 제시는 도 3a, 3b, 및 3c에 도시된 바와 같이 데스크톱(305)의 꼭대기에서 일어난다.
도 3d 및 3e는 본 발명의 일 실시예에서 검색 결과 패널(219)에 인접하게 그리고 그와 동시에 제시될 수 있는 사용자 상호작용 가능한 프리뷰들의 다른 예를 제공한다. 도 3d에 도시된 예에서, 사용자는 검색 결과 패널(219)에 도시된 축약된 검색 결과들로부터 검색 결과 아이템(230)을 선택하였고, 그 선택에 의해, 선택된 검색 결과 아이템(230)을 가리키는 포인터(227)를 포함하는 프리뷰 패널(233) 내의 선택된 파일의 콘텐츠의 프리뷰의 제시를 야기하였다. 또한, 사용자는 일 실시예에서, "bubble bath"를 나타내는 영화를 플레이하기 위해 플레이 버튼의 제시를 야기할 수 있는 프리뷰 패널(233)의 콘텐츠에 커서(209)를 배치하였다는 것을 알 수 있다. 플레이 버튼(235)은 일 실시예에서 플레이 버튼(235) 위에 커서(209)를 배치함으로써 선택될 수 있다. 플레이 버튼을 선택하기 위한 다른 기법들은 터치 스크린 상의 사용자의 손가락의 하나 이상의 제스처들, 또는 이 기술분야에 알려진 다른 기법들을 포함할 수 있다.
도 3e는 도 3e에 도시된 바와 같이 검색 결과 패널(219)에 인접하여 디스플레이된 프리뷰 패널 내에서 프리뷰 콘텐츠(241)의 스크롤을 허용하기 위해 스크롤 업 버튼(243) 및 스크롤 다운 버튼(245)을 포함할 수 있는 사용자 상호작용 가능한 프리뷰의 다른 예를 도시한다. 이 예에서, 사용자는 일 실시예에서 전술한 바와 같이 축약된 검색 결과들의 제시일 수 있는 검색 결과 패널(219)에 인접하고 그것과 동시에 디스플레이되는 프리뷰 패널 내의 프리뷰 콘텐츠(241) 내에 커서(209)를 배치하였다. 또한 전술한 바와 같이, 검색은 전술한 바와 같은 파일들의 인덱싱된 콘텐츠 및 파일 관리 시스템 내의 파일들의 메타데이터 중 적어도 하나를 통해 행해질 수 있다. 검색은 전술한 바와 같이 검색 입력 필드(217)에 검색 조회를 입력함으로써 개시될 수 있고, 검색 결과 패널(219)에 도시된 결과들을 생성한다. 화살표(227)는 검색 결과 패널(219) 내의 선택된 파일(240)을 가리킨다. 사용자는 일 실시예에서 스크롤 업 버튼(243)의 제시 및 스크롤 다운 버튼(245)의 제시를 야기할 수 있는 프리뷰 콘텐츠(241) 내에 커서(209)를 배치할 수 있다. 사용자는 수직 방향으로 스크롤을 야기하기 위해 버튼들 중 어느 하나를 선택할 수 있고, 일 실시예에서, 사용자는 선택되는 버튼에 따라 스크롤 업 또는 스크롤 다운을 야기하기 위해 버튼들 중 하나 위에 커서(209)를 호버링할 수 있다. 이러한 식으로, 파일 "agenda.doc"의 콘텐츠는 문서가 복수의 페이지이더라도 프리뷰가 검색 결과 패널(219) 내에 도시된 검색 결과들에 인접한 프리뷰 패널에 제시되는 동안 위 또는 아래로 스크롤함으로써 이 프리뷰 모드에서 볼 수 있다.
또한, 검색 결과 패널은 검색으로부터 발견된 검색 결과들의 축약된 리스트를 디스플레이할 수 있고, 이것은 사용자가 축약된 리스트로부터 가장 관련 있는 파일들을 찾을 수 있는 더 신속한 방법을 제공할 수 있고, 적절한 문서가 발견되었는지 여부를 결정하기 위해 다중 페이지 파일 내에서 또한 스크롤할 수 있다. 프리뷰와의 사용자 상호작용은 콘텐츠가 스크롤될 수 있거나 페이지를 넘길 수 있거나 콘텐츠가 줌될 수 있거나(예를 들어, 뷰를 확대 또는 축소하기 위해 스케일링 업 또는 스케일링 다운될 수 있거나) 콘텐츠에서 영화를 플레이하는 등등이도록 구성될 수 있다.
도 4a 및 4b는 파일 관리 시스템에 대한 사용자 인터페이스 프로그램 내의 파일들의 리스트로부터 선택된 파일과 연관된 프리뷰를 제공하기 위한 사용자 인터페이스의 예를 도시한다. 캘리포니아주 쿠퍼티노의 Apple Inc.로부터의 파인더는 파일 관리 시스템에 대한 사용자 인터페이스 프로그램의 예이다. 워싱턴주 레드몬드의 마이크로소프트사로부터의 윈도우즈 익스플로러(Windows Explorer)는 파일 관리 시스템에 대한 사용자 인터페이스 프로그램의 다른 예이고, 다른 그러한 사용자 인터페이스 프로그램들이 이 기술분야에 알려져 있다. 본 발명의 이러한 양태는 파인더 프로그램이 도 4a 및 4b에서 예로서 주어졌더라도 사용자 인터페이스 프로그램들 중 어느 하나에 적용할 수 있다. 도 4a 및 4b의 사용자 인터페이스는 액정 디스플레이 또는 다른 디스플레이 장치 상의 디스플레이 스크린일 수 있는 디스플레이 스크린(401)을 포함한다. 사용자 인터페이스는 앞서 설명한 하나 이상의 메뉴 바(202) 및 검색 요구 아이콘(203)을 포함할 수 있다. 커서(209)는 커서를 제어하기 위해 마우스 또는 트랙패드 또는 다른 커서 제어 장치를 활용하는 실시예들과 같은, 커서가 이용되는 실시예들에서 데스크톱 상에 디스플레이될 수 있다. 대안적인 실시예들에서, 터치 스크린 또는 터치 패드는 본원에 설명된 바와 같이, 커서와 함께 또는 커서 없이 활용될 수 있다. 사용자 인터페이스는 디스플레이 스크린의 에지 상에 배치된 프로그램 제어 영역의 도크(213) 또는 다른 예들을 포함할 수 있다. 하나 이상의 윈도우 또는 하나 이상의 프로그램이 데스크톱의 꼭대기에 디스플레이될 수 있다. 도 4a에 도시된 예에서, 파일 관리 시스템 내의 파일들을 보여주는 파인더 프로그램의 윈도우가 데스크톱 상에 디스플레이된다. 윈도우(411)는 이 예에서 아이콘들(417 및 421)을 포함하는 아이콘들에 의해 표현되는 4개의 파일을 포함하고, 파일들 각각은 명칭들(419 및 423)과 같은 파일의 명칭인 대응하는 아이콘과 연관된 명칭을 포함한다. 파인더 윈도우(411)와 같은 각각의 윈도우는 윈도우(411) 내에 도시된 파일들을 포함하는 폴더 또는 서브경로 또는 서브디렉토리의 명칭을 포함할 수 있는 타이틀 바(415)를 포함할 수 있다. 또한, 타이틀 바(415)는 활성화될 때 윈도우를 닫거나 윈도우를 최소화하거나 윈도우를 최대화하는 데 이용될 수 있는 표준 윈도우 제어 아이콘들(413)을 제어할 수 있다. 사용자는 파일 위에 커서를 호버링하는 것 또는 커서가 파일의 명칭 또는 파일의 아이콘 위에 호버링되는 동안 마우스의 버튼을 누름으로써 파일을 선택하는 것 등과 같은 다양한 알려진 기법들 중 하나를 통해 윈도우(411) 내의 특정 파일을 선택할 수 있다. 사용자는 또한 예를 들어, 스페이스 바 키를 누르거나 팝업 메뉴로부터 프리뷰 커맨드를 선택하는 것 등에 의해 선택된 파일에 대한 프리뷰를 발생하기 위한 커맨드를 표시할 수 있다. 파일의 선택 및 프리뷰 커맨드의 선택에 응답하여, 프리뷰는 도 4b에 도시된 바와 같이 제시될 수 있다. 이 프리뷰는 선택된 파일에 인접하여 그것을 가리키며 제시될 수 있다. 포인터(433)는 프리뷰 콘텐츠(431)를 디스플레이하는 프리뷰 패널에 부착된 옵션의 포인터이다. 프리뷰는 그것이 사용자가 파일의 콘텐츠의 페이지를 넘기거나 스크롤하거나 줌 인 또는 줌 아웃하거나 파일 내의 영화를 플레이하는 등등 할 수 있게 한다는 점에서 사용자 상호작용 가능할 수 있다.
도 4a 및 4b에 도시된 사용자 인터페이스는 디스플레이 스크린의 영역에 파일들의 리스트를 디스플레이하는 것 및 파일들의 리스트에 선택된 파일의 프리뷰를 디스플레이하기 위한 요구를 표시하는 제1 입력을 수신하는 것을 포함하는 프리뷰를 제시하기 위한 방법을 제공할 수 있다. 윈도우(411)는 그 파일 관리 시스템에 대한 사용자 인터페이스 프로그램 파인더에 의해 제시되는 바와 같이 파일 관리 시스템 내의 파일들의 리스트를 포함한다. 프리뷰를 디스플레이하기 위한 입력은 네이티브 애플리케이션에서 선택된 파일을 열기 위한 입력과 상이할 수 있다. 프리뷰를 디스플레이하기 위한 입력에 응답하여, 프리뷰 패널은 파일들의 리스트가 여전히 디스플레이 스크린 상에 디스플레이되어 있는 동안 선택된 파일의 콘텐츠를 도시하면서 디스플레이될 수 있다. 이것은 프리뷰 패널이 선택된 파일을 포함하는 파일들의 리스트와 동시에 디스플레이되는 도 4b에서 볼 수 있다. 프리뷰는 일 실시예에서 선택된 파일을 편집하거나 생성할 수 없지만 텍스트 파일들, 이미지 파일들, PDF 파일들, html 파일들, 웹 페이지들, 영화 파일들, 스프레드시트 파일들, 파워포인트 파일들 등과 같은 복수의 상이한 타입들의 파일들 중 하나일 수 있는 선택된 파일의 콘텐츠를 제시할 수 있는 비-네이티브 애플리케이션에 의해 디스플레이될 수 있다.
도 5a, 5b, 5c, 및 5d는 상호작용가능할 수 있는 프리뷰가 어떻게 디스플레이 스크린의 에지에 배치된 도크 또는 다른 프로그램 제어 영역으로부터 액세스 가능한 문서들 또는 파일들에 제공될 수 있는지의 예를 제공한다. 일 실시예에서, 이들 프리뷰들의 제시를 허용하기 위한 방법은 디스플레이 스크린의 에지 상에 배치되는 도크 또는 다른 프로그램 제어 영역 내의 아이콘의 선택을 수신하는 것을 포함할 수 있다. 아이콘은 예를 들어 도크 상의 아이콘에 액세스함으로써 용이한 액세스를 위한 사용자에 의해 어셈블되는 문서들의 폴더 또는 콜렉션을 나타낼 수 있다. 도 5a에 도시된 바와 같이, 아이콘은 데스크톱(505) 상에 디스플레이되는 도크(511) 내의 폴더(517)와 같은 폴더와 유사할 수 있다. 폴더 아이콘(517)은 폴더 아이콘(517) 위에 커서(515)를 배치함으로써 선택될 수 있고, 사용자는 마우스의 버튼과 같은 버튼을 눌러서 도 5b에 도시된 콘텐츠 뷰어(521)의 제시를 야기한다. 사용자 인터페이스는 또한 윈도우(509) 내의 저장 아이콘(507)뿐만 아니라 데스크톱(505)을 포함할 수 있고, 모두 메뉴 바(503)와 함께 디스플레이 스크린(501) 상에 디스플레이된다. 그 다음에 사용자는 일 실시예에서 콘텐츠 뷰어(521) 내의 파일들 또는 객체들 중 하나를 선택하도록 커서를 배치함으로써 콘텐츠 뷰어(521) 내에 아이템들 중 어느 하나의 프리뷰를 제시할 수 있다. 일 실시예에서, 콘텐츠 뷰어(521) 내의 각 아이템은 콘텐츠 뷰어(521)의 제시를 통해 폴더 아이콘(517)으로부터 액세스 가능하도록 사용자에 의해 야기된 파일이다. 사용자는 도 5c에 도시된 바와 같이, 선택된 파일 또는 문서의 프리뷰 패널(523)에서 콘텐츠의 프리뷰의 제시를 야기하도록, 콘텐츠 뷰어(521) 내의 아이템들 중 하나 위에 커서(515)를 배치할 수 있다. 도 5c에 도시된 예에서, 사용자는 프리뷰 패널(523) 내의 선택된 파일의 콘텐츠의 제시를 야기하도록 콘텐츠 뷰어(521)로부터 4개의 파일들 또는 문서들 중 하나를 선택하였다. 일 실시예에서, 프리뷰 패널은 옵션으로 콘텐츠 뷰어(521)가 또한 디스플레이되는 동안 프리뷰 패널 내에 제시된 프리뷰와 사용자가 상호작용할 수 있도록 사용자에 의해 활성화 가능한 페이지 제어들 또는 스크롤 제어들 또는 플레이백 제어들 또는 다른 제어들을 포함할 수 있다.
도 5d는 스택의 형태로 콘텐츠 뷰어의 다른 예를 도시한다. 콘텐츠 뷰어(521A)는 또한 이 예에서, 프리뷰 패널(525)의 제시를 야기하기 위해 아이템들 중 하나 위에 커서(515)를 배치함으로써, 도 5d에 도시된 바와 같이 사용자 선택 가능하다. 일 실시예에서, 프리뷰 패널(525)은 선택된 파일을 가리키고, 프리뷰 패널 및 콘텐츠 뷰어(521A)와 동시에 디스플레이되는 포인터를 포함할 수 있다.
도 6a는 제1 애플리케이션을 통해 제시되는 제1 문서 내의 링크에 의해 참조되는 콘텐츠의 프리뷰를 동시에 제시하기 위한 일 실시예에 따른 방법의 예를 도시한다. 일 실시예에서, 프리뷰의 콘텐츠는 제1 애플리케이션과 상이하고 본원에 설명된 비-네이티브 애플리케이션 뷰어에 의해 제시될 수 있다. 동작(601)에서, 방법은 제1 애플리케이션을 통해 제1 문서를 제시함으로써 시작할 수 있다. 예를 들어, 제1 문서는 Microsoft Outlook 또는 Microsoft Entourage 또는 Apple's Mail 이메일 프로그램과 같은 이메일 애플리케이션을 통해 제시되는 이메일일 수 있다. 이메일은 이메일 내에, 웹사이트에 대한 URL과 같은 링크를 포함할 수 있다. 동작(603)에서, 시스템은 링크 상의 입력을 검출할 수 있다. 링크는 제1 애플리케이션에 의해 액세스 가능하지 않은 외부 데이터에 대한 것일 수 있다. 종래 기술에서, 사용자는 웹 브라우저가 웹 페이지의 디스플레이를 론치하도록 하기 위해 링크 위를 "클릭"함으로써 링크를 선택할 수 있었고, 이 경우, 론치된 웹 브라우저는 가장 앞의 윈도우가 되고 키보드 포커스를 갖는다. 본 발명의 실시예에 의하면, 사용자는 웹 페이지를 보기 위해 이메일 프로그램을 나갈 필요가 없고, 오히려 웹 페이지의 프리뷰가 이메일과 동시에 제시되게 할 수 있다. 이 예의 사용자 인터페이스의 예가 아래 더 설명되는 도 7a-7e와 함께 제공된다. 동작(603)에서 검출된 사용자 입력은 일 실시예에서 링크 위의 커서의 호버링 또는 링크에 대한 사용자의 손가락들 중 하나 이상의 제스처 또는 팝업 메뉴 또는 풀 다운 메뉴로부터의 "프리뷰 표시(display preview)" 커맨드의 선택 등일 수 있다. 동작(603)으로부터의 이러한 입력에 응답하여, 시스템은 동작(605)에서, 제1 애플리케이션을 통해 제1 문서를 계속해서 디스플레이하면서 예를 들어 버블에 콘텐츠의 프리뷰를 디스플레이한다. 일 실시예에서, 제1 애플리케이션은 여전히 가장 앞의 애플리케이션을 유지하고, 프리뷰는 본원에서 도 8과 함께 설명된 프리뷰 발생기와 같은 프리뷰들을 발생할 수 있는 비-네이티브 판독기 또는 뷰어 애플리케이션일 수 있는 제2 애플리케이션에 의해 제공될 수 있다. 일 실시예에서, 제1 애플리케이션은 제1 문서를 생성하거나 편집하도록 구성될 수 있고(예를 들어, 이메일 프로그램은 이메일들을 생성하거나 편집하여 이메일들이 보내지도록 구성됨), 프리뷰들을 발생하는 비-네이티브 애플리케이션은 이메일들을 생성하거나 편집할 수 없다. 일 실시예에서, 프리뷰는 사용자 상호작용 가능해서 사용자가 외부 데이터의 콘텐츠를 스크롤하거나 외부 데이터의 콘텐츠의 페이지를 넘기거나 외부 데이터의 콘텐츠를 줌 인 또는 줌 아웃하거나 외부 데이터가 영화인 경우 영화를 플레이하는 것 등 중 적어도 하나를 수행할 수 있도록 할 수 있다. 일 실시예에서, 프리뷰는 링크에 인접하고, 예를 들어, 버블이 포인터로 링크를 가리키는 것과 같은, 링크에 대한 버블의 관계를 표시하는, 버블에 디스플레이될 수 있다. 도 6a에 도시된 방법의 실시예는 또한 옵션으로 데이터 검출 동작(예를 들어, 도 6b의 동작(613))을 포함할 수 있고, 이 데이터 검출 동작은 프리뷰와 제시될 버튼들 또는 다른 사용자 인터페이스(UI) 요소들(예를 들어, 버블 내의 프리뷰의 버튼들)을 결정하는 데 이용될 수 있고, 이 버튼들 또는 다른 UI 요소들은 사용자 상호작용 가능해서, 사용자가 사용자 선택된 버튼 또는 다른 UI 요소와 연관된 액션을 야기할 수 있도록 할 수 있다. 예를 들어, 데이터 검출 동작은 버블에 디스플레이된 프리뷰가 카렌다임을 검출한 경우, 데이터 검출 동작은 (일 실시예에서) 프리뷰 발생기가 2개의 사용자 선택 가능한 버튼들을 또한 제시하도록 할 수 있고, 하나는 새로운 카렌다 이벤트 또는 엔트리를 생성하기 위한 것이고, 다른 것은 기존의 카렌다 이벤트 또는 엔트리를 편집하기 위한 것이고, 사용자가 이들 사용자 선택 가능한 버튼들 중 하나를 선택하는 경우, 시스템은 사용자가 새로운 카렌다 이벤트를 생성하거나 론치된 적절한 네이티브 애플리케이션 내에서 기존의 것을 편집할 수 있도록 적절한 네이티브 애플리케이션(예를 들어, 이 예에서는 카렌다 애플리케이션)을 론치함으로써 사용자 선택에 응답할 수 있다. 사용자 선택 가능한 버튼(738)(도 7e에서 콘텐츠(733A)를 도시하는 프리뷰 패널에 도시됨)은 본원에 설명된 데이터 검출 동작의 결과로서 발생된 사용자 선택 가능한 버튼의 예이고, 이 사용자 선택 가능한 버튼의 사용자 선택은 일 실시예에서 사용자 선택 가능한 버튼에 의해 특정된 액션을 수행 또는 시작하도록 네이티브 애플리케이션이 론치되게 할 수 있다.
일 실시예에서, 동작(603)에서의 사용자 입력은 프리뷰의 제시를 야기하는 제1 입력이고, 이 제1 입력은 외부 데이터의 콘텐츠를 천연적으로(natively) 제시하도록 구성되는 제2 애플리케이션 프로그램에 의해 제어되는 디스플레이 영역의 열림을 야기할 수 있는 제2 입력과 상이하다. 웹 페이지를 참조하는 링크를 포함하는 이메일 프로그램의 위에서 주어진 예에서, 제2 프로그램은 웹 브라우저일 수 있고, 제1 프로그램은 웹 브라우저에 의해 디스플레이되는 웹 페이지에 대한 링크를 포함한 이메일 프로그램일 수 있다.
도 6b는 프리뷰될 수 있는 콘텐츠를 식별하는 링크 또는 다른 데이터를 포함하는 문서의 콘텍스트에서 프리뷰를 제시하기 위한 본 발명의 실시예에 따른 다른 방법의 예를 도시한다. 도 6b에 도시된 방법은 제1 애플리케이션을 통해 제1 문서가 제시되는 동작(611)에서 시작할 수 있다. 제1 문서는 이메일 프로그램을 통해 제시된 이메일 또는 마이크로소프트 워드 또는 다른 워드 프로세싱 프로그램들을 통해 제시된 텍스트 문서일 수 있다. 동작(613)에서, 시스템은 제1 문서 내의 제1 데이터를 검출할 수 있다. 이 동작은 동작(611)에서 문서의 제시 이전에 또는 동작(611)에서 문서의 제시 후에 수행될 수 있다. 제1 데이터는 일 실시예에서, 제1 애플리케이션에 액세스 가능하지 않은, 외부 데이터에 대한 URL(Uniform Resource Locator) 또는 다른 링크 또는 포인터일 수 있다. 예를 들어, 이메일에서의 웹페이지에 대한 링크는 보통 이메일 프로그램 또는 워드 프로세싱 프로그램 또는 스프레드시트 프로그램 등에 액세스 가능하지 않다. 동작(615)에서, 시스템은 검출된 데이터에 근접할 수 있는 제1 입력을 수신할 수 있다. 일 실시예에서, 제1 데이터의 검출은 입력이 수신될 때 발생할 수 있다. 다시 말해, 입력이 사용자가 생각하는 데이터 위에 커서를 호버링하고 있는 것이거나 사용자가 생각하는 것 위에 손가락 또는 손가락들의 세트로 제스처를 행하는 것이면, 시스템은 제1 데이터가 외부 데이터 또는 제2 문서에 대한 링크 및 링크의 데이터 타입인지를 결정하기 위해 본원에 설명된 데이터 검출기 기법들을 이용할 수 있다. 이 실시예에서, 제1 데이터의 검출은 온디맨드 기초로(on an on-demand basis) 행해진다(예를 들어, 도 8의 데이터 검출기(809)는 링크 위의 호버링 입력에 응답하여 링크의 데이터 타입을 검출하기 위해 API를 통해 호출된다). 동작(617)에서, 사용자 선택 가능한 버튼(예를 들어, 프리뷰 버튼(731))과 같은 커맨드의 옵션의 표현이 제1 입력에 응답하여 디스플레이될 수 있다. 대안적으로, 시스템은 사용자가 동작(617)에서 디스플레이된 사용자 선택 가능한 버튼과 같은, 커맨드와 상호작용하는 것을 요구하지 않고 프리뷰의 제시를 야기하기 위해 제1 입력을 이용할 수 있다. 동작(617)으로부터 커맨드의 표현의 디스플레이를 이용하는 실시예에서, 그 다음에 시스템은 커맨드에 대한 동작(619)에서의 입력을 수신하여 도 8과 함께 설명된 프리뷰 발생기와 같은 비-네이티브 뷰어 애플리케이션에 의해 발생된 콘텐츠의 프리뷰와 같은 프리뷰의 디스플레이 또는 프리뷰의 제시를 야기할 수 있다. 콘텐츠는 본원에 설명된 바와 같이 제1 데이터에 의해 참조되는 제2 문서로 될 수 있다. 예를 들어, 콘텐츠는 동작(613)에서 검출된 제1 데이터인 URL에 의해 참조된 웹페이지일 수 있거나, 제2 문서는 동작(613)에서 제1 데이터로서 검출된 거리 주소에 의해 식별된 장소의 지도일 수 있거나 등등이다. 제2 문서는 도 9에 도시된 표에 발생된 프리뷰로서 식별된 문서들 중 어느 하나일 수 있다. 도 9의 표는 발생될 수 있는 프리뷰들의 상이한 타입들의 완전 리스트인 것으로 의도되지 않으며, 또한 링크 데이터의 리스트는 도 6b의 방법에 따른 제1 문서 내에서 검출될 수 있는 링크들의 상이한 타입들의 완전 리스트인 것으로 의도되지 않는다는 것을 이해할 것이다.
도 6b의 방법은, 사용자가 제2 문서와 상호작용할 수 있게 할 수 있는, 동작(621)인, 옵션의 동작을 포함할 수 있다. 이 상호작용은 제2 문서를 스크롤하는 것, 제2 문서의 페이지를 넘기는 것, 제2 문서를 줌 인 또는 줌 아웃하는 것, 제2 문서 내에서 영화를 플레이하는 것 등을 포함할 수 있다. 시스템은 제1 문서가 여전히 제1 애플리케이션을 통해 제시되고 있는 동안 상호작용을 야기하기 위해 사용자 입력들에 응답할 수 있다. 일 실시예에서, 제1 애플리케이션은 사용자 상호작용 가능할 수 있는 프리뷰가 제1 문서와 동시에 디스플레이되는 동안 가장 앞의 애플리케이션으로서 유지할 수 있다. 또한, 제2 문서는 사용자가 UI 요소들 중 하나 이상을 선택하는 것에 응답하여 프리뷰로부터 액션을 야기할 수 있게 하기 위해 하나 이상의 사용자 선택 가능한 UI 요소들(예를 들어, 버튼들)과 제시될 수 있다. 위에 주어진 예에서, 액션은 카렌다 애플리케이션의 론칭일 수 있고, 이것은 그 다음에 새로운 카렌다 이벤트 또는 엔트리를 생성한다. 프리뷰 발생기는, 그러한 UI 요소의 선택에 응답하여, 네이티브 애플리케이션이 프로세싱하기 위한 커맨드들 또는 데이터 또는 둘다를 특정하기 위해 네이티브 애플리케이션에 데이터를 전달할 수 있다. 예를 들어, 프리뷰 내의 카렌다 이벤트가 특정 일자에 대한 것이고, 사용자가 프리뷰 내의 "새로운 이벤트 생성(Create New Event)" 버튼을 선택하는 경우, 프리뷰 발생기는 새로운 이벤트를 생성하기 위한 커맨드와 그 특정 일자를 둘다 버튼의 선택에 응답하여 론치될 수 있는 카렌다 애플리케이션에 전달할 수 있고, 그 다음에 그 일자에 새로 생성된 이벤트를 제시할 수 있다(그리고 그 이벤트를 편집하기 위한 사용자 입력들을 수신할 준비가 될 수 있다). UI 요소들은 프리뷰 내의 검출된 데이터 타입들에 기초하여, 검출된 데이터 타입들에 대한 가장 적절한 액션들을 선택할 수 있는, 데이터 검출기들에 의해 결정될 수 있다. 예를 들어, 데이터 검출기들이 프리뷰 내의 지도를 검출하면, 데이터 검출기들은 사용자 선택 가능한 UI 요소들이 "새 연락처 생성(Create New Contact)" 버튼 및 "새 연락처 추가(Add New Contact)" 버튼 및 "웹 브라우저에서 열림(Open in Web Browser)" 버튼 중 하나 이상을 포함한다는 것을 특정할 수 있다.
일 실시예에서, 동작(613)에서의 제1 데이터의 검출은 제1 애플리케이션과 상이하고 또한 동작(619)에서 프리뷰를 발생하는 프리뷰 발생기와 상이한 애플리케이션에 의해 수행된다. 일 실시예에서, 동작(619)에서 제시된 프리뷰는 제1 애플리케이션에 의해 제1 윈도우에 제1 문서의 제시와 동시에 발생하고, 제1 애플리케이션은 가장 앞의 애플리케이션을 유지할 수 있어, 그것은 시스템으로부터 키보드 포커스 또는 다른 포커스를 갖도록 구성된다. 동작(613)에서 검출된 데이터의 타입들은, 일 실시예에서, 예를 들어, URL들 등을 포함하는, 도 9에 표시된 데이터 또는 링크들 중 어느 하나일 수 있다. 일 실시예에서, 동작(619)에서 제시된 프리뷰는 제1 문서를 디스플레이하는 제1 윈도우와 오버랩되는 버블에 디스플레이될 수 있다. 일 실시예에서, 하나 이상의 사용자 선택 가능한 커맨드들(예를 들어, 버튼들 또는 다른 UI 요소들)은 또한 사용자가 사용자 선택 가능한 커맨드와의 사용자 상호작용으로부터 응답을 인보크할 수 있도록 버블에 디스플레이될 수 있다. 동작(617)으로부터의 커맨드의 표현의 디스플레이를 활용하는 일 실시예에서, (프리뷰 버튼(731)과 같은) 커맨드의 표현은 제1 문서의 일부분이 아니고, 제1 입력을 수신하는 것에 응답하여 나타난다는 것을 알 것이다. 제1 입력은, 일 실시예에서, 커맨드의 표현의 제시를 야기하도록 구성되고, 이것은 차례로, 활성화될 때, 프리뷰의 제시를 야기할 수 있다. 그러나, 위에서 언급한 바와 같이, 제1 입력 자체는 동작(617)이 옵션일 때 프리뷰의 제시를 야기할 수 있다. 제1 데이터가 제1 애플리케이션과 상이한 제2 애플리케이션의 론칭을 허용하도록 이미 구성된 링크이면, 제1 입력은 제2 애플리케이션의 론칭이 도 7a-7e의 이메일의 예에서 주어진 웹 페이지와 같은, 링크로 가리켜진 데이터를 제시하도록 하는 제2 입력과 상이할 수 있다. 이러한 경우에, 제2 애플리케이션이 론칭될 때, 그것은 제1 애플리케이션에 대해 가장 앞의 윈도우가 될 것이지만, 프리뷰가 제시될 때, 제1 애플리케이션은 가장 앞의 윈도우를 유지하여 사용자가 제1 애플리케이션에서 제1 문서의 콘텍스트를 잃지 않고 프리뷰를 볼 수 있고, 가장 앞의 애플리케이션으로서 제1 애플리케이션을 유지하면서 키보드 입력들, 마우스 입력들 등을 수신할 수 있다.
도 7a-7e는 도 6a 또는 도 6b와 결합하여 설명된 방법들 중 하나 이상을 구현할 수 있는 사용자 인터페이스의 예를 도시한다. 사용자 인터페이스는, 일 실시예에서, 메뉴바(703), 데스크톱(711), 도크(717), 및 이메일 윈도우(715)를 포함하는 사용자 인터페이스를 제시하는 액정 디스플레이 장치일 수 있는 디스플레이 스크린(701)을 포함할 수 있다. 이메일 윈도우(715)는 캘리포니아주 쿠퍼티노의 Apple Inc.로부터의 메일 프로그램과 같은 이메일 프로그램에 의해 제시될 수 있고; 이 메일 프로그램은 메뉴바(703)의 프로그램 메뉴(705)에서 그의 존재에 의해(명칭 "Mail") 가장 앞의 애플리케이션으로서 도시된다. 이메일 프로그램은 이메일에 응답하기, 이메일 전달하기, 새로운 이메일 전송하기 또는 새로운 이메일 작성하기, 이메일 삭제하기 등과 같은 이메일을 프로세싱하기 위한 커맨드들을 나타내는 하나 이상의 아이콘을 디스플레이하는 종래의 툴 바(721)를 포함할 수 있는 이메일 윈도우(715)를 제시한다. 이메일 프로그램은 또한 이 기술분야에 알려진 바와 같이 하나 이상의 이메일들의 프리뷰들을 디스플레이하는 프리뷰 페인(preview pane)(723)을 이메일 윈도우(715) 내에 발생 및 표시할 수 있다. 이메일 윈도우(715)는 또한 프리뷰 페인(723) 아래에 도시된 이메일 콘텐츠(725)와 같은 선택된 이메일의 콘텐츠를 디스플레이할 수 있다.
사용자 인터페이스는 또한 이메일 프로그램이 실행중임을 나타내는 이메일 아이콘(719)과 같은 도크(717) 내의 하나 이상의 아이콘을 포함할 수 있고; 도크는 디스플레이 스크린의 에지에 배치된 프로그램 제어 영역의 예이고, 이러한 프로그램 제어 영역들을 이용하여 데이터 프로세싱 시스템에서 실행할 수 있는 하나 이상의 애플리케이션 프로그램에 대한 론칭 또는 중지 또는 다른 동작들을 제어할 수 있다. 사용자 인터페이스는 또한 데이터 프로세싱 시스템에 결합된 하드 드라이브 또는 다른 저장 시스템을 나타낼 수 있는 저장 아이콘(707)을 포함할 수 있고, 또한 데이터 프로세싱 시스템에 액세스 가능한 파일을 나타내는 아이콘(709)과 같은, 데스크톱 상의 하나 이상의 아이콘을 포함할 수 있다. 사용자 인터페이스는, 일 실시예에서, 마우스 또는 다른 커서 제어 장치의 사용을 통해 사용자 인터페이스를 제어하기 위해 종래의 방식으로 이용될 수 있는 커서(713)를 포함할 수 있다. 터치 스크린 또는 터치 패드 실시예들과 같은, 다른 실시예들에서, 커서는 존재할 수 있거나 존재하지 않을 수 있고, 입력들은 터치 스크린 또는 터치 패드와 같은 터치 감지 표면 상의 손가락 또는 스타일러스 터치들에 의해 인가될 수 있다.
도 7a에 도시된 예에서, 이메일 콘텐츠(725)는, 일 실시예에서, 이메일 애플리케이션에 액세스 가능하지 않은 외부 데이터를 가리킬 수 있는 링크(727)를 포함한다. 예를 들어, 링크는 웹 브라우저가 웹 페이지를 디스플레이하도록 요구하는 웹 페이지를 가리킬 수 있다. 도 9는, 컬럼 "링크 데이터" 아래에, 이메일 콘텐츠(725)와 같은 제1 문서 내에 존재할 수 있는 링크들의 타입들의 예들을 제공한다. 일 실시예에서, 링크들은 도 8과 함께 설명된 데이터 검출기들을 이용하여 검출되고, 다른 실시예들에서, 링크들은 웹페이지에 대한 URL과 같은, 링크의 특성 또는 타입을 나타내기 위해, 이메일 콘텐츠(725)와 같은, 제1 문서에 의해 이미 식별된다. 링크가 이미 식별된 경우, 종래 기술에서 링크를 선택하는 것은, 링크가 웹 페이지에 대한 URL일 때 웹 브라우저의 론칭이 웹 페이지를 디스플레이하도록 할 것이고; 그러나, 이것은 이메일 콘텐츠(725)와 같은 제1 문서의 콘텐츠로부터 사용자의 집중을 돌리게 하고, 이것은 웹 브라우저가 종래 기술에서 제1 문서의 꼭대기 상에 윈도우를 론칭하고 제시하기 때문이다. 본 발명의 적어도 특정 실시예들은 그러한 집중을 방해하는 것(distraction)을 피할 수 있고, 링크(727)와 같은, 링크에 의해 지칭되는 콘텐츠를 프로세싱할 수 있는 네이티브 애플리케이션을 론칭하지 않고 프리뷰 패널을 제시함으로써, 이메일 콘텐츠(725)와 같은 제1 문서에 사용자의 포커스가 유지될 수 있게 할 수 있다.
사용자는 예를 들어, 링크(727)에 근접하게(예를 들어, 위에) 커서(713)를 배치함으로써 링크(727)를 선택할 수 있고, 다른 실시예들에서, 링크는 선택될 때, 프리뷰 패널의 디스플레이를 야기할 수 있는 커맨드의 디스플레이를 야기하기 위해 또는 바로 프리뷰 패널의 디스플레이를 야기하기 위해 사용자의 손가락들 중 하나 이상에 의한 미리 결정된 제스처에 의해 프리뷰 모드에 대해 선택될 수 있다. 일 실시예에서, 사용자가 링크 위에 커서(713)를 호버링하고, 이것은 커서가 링크(727) 위에 호버링된 기간 후에, 시스템이 도 7c에 도시된 바와 같이 옵션의 프리뷰 버튼(731)을 제시하도록 한다. 그 다음, 사용자는 링크(727)에 의해 지칭된 문서의 콘텐츠(733)를 디스플레이하는 도 7d에 도시된 프리뷰 패널의 제시를 야기하기 위해, 이메일 콘텐츠(725) 상에 오버레이된, 프리뷰 버튼(731)을 선택할 수 있다. 일 실시예에서, 이 문서는 도 6b의 방법에서 지칭되는 제2 문서이다. 일 실시예에서, 제2 문서의 콘텐츠는, 이 경우에 이메일 윈도우(715)를 제시하고 있는 이메일 애플리케이션인 제1 애플리케이션에 액세스 가능하지 않다. 도 7d에 도시된 프리뷰 패널은 도 7d에 도시된 프리뷰 패널 내에 디스플레이된 콘텐츠를 가리키는 링크를 표시하는 포인터(735)를 포함할 수 있다.
프리뷰 버튼(731)은 특정 실시예들에서 옵션이고, 디스플레이되지 않을 수 있고, 이 경우에, 예를 들어, 링크(727) 위에 커서(713)를 호버링함으로써 수신된 입력이 도 7c에 도시된 사용자 인터페이스를 건너뛰어서 링크(727)에 의해 지칭된 문서의 콘텐츠를 도시하는 프리뷰 패널이 디스플레이되는 도 7d에 도시된 인터페이스로 바로 갈 것이고, 어떠한 프리뷰 버튼(프리뷰 버튼(731) 등)도 이 실시예에 대해 이 시퀀스에서 사용자 인터페이스에 디스플레이되지 않을 것이다.
도 7d에 도시된 프리뷰 패널 내에 제시된 프리뷰는, 사용자가 프리뷰되고 있는 콘텐츠의 페이지를 넘기거나 콘텐츠를 스크롤하거나, 콘텐츠를 줌 인 또는 줌 아웃하거나, 콘텐츠가 영화인 경우 영화를 플레이하는 등 할 수 있다는 점에서 사용자 상호작용 가능할 수 있다. 사용자 상호작용 가능한 프리뷰의 예가 도 7e에 도시되고, 도 7e에서는, 도 7d에 도시된 프리뷰가 이제 콘텐츠(733A)를 도시하는 프리뷰 패널 내에 디스플레이된 콘텐츠의 다양한 페이지를 넘기기 위해 버튼들 중 어느 하나 위에 커서(713)를 호버링함으로써 사용자에 의해 선택될 수 있는 뒤로 버튼(737) 및 앞으로 버튼(739)을 포함한다. 따라서, 도 7e에 도시된 사용자 인터페이스는 도 6b과 함께 위에서 설명된 동작(621)을 구현하는 데 이용될 수 있다. 또한, 콘텐츠(733A)를 도시하는 프리뷰 패널은 콘텐츠 내의 검출된 데이터 타입들로부터 결정되는 하나 이상의 사용자 선택 가능한 UI 요소들(사용자 선택 가능한 버튼(738) 등)을 포함할 수 있고, 이 UI 요소들은, 선택될 때, 본원에 설명된 바와 같은 액션(예를 들어, 새로운 카렌다 이벤트 생성하거나 새로운 연락처 생성 등)을 야기할 수 있다.
도 8은 도 6a 또는 도 6b와 함께 설명된 방법들 중 하나 이상을 구현할 수 있는 소프트웨어 아키텍처의 예를 도시한다. 소프트웨어 아키텍처(801)는 워드 프로세싱 파일들, 스프레드시트 파일들, 파워포인트 파일들, 프레젠테이션 파일들, PDF 파일들, 사진 또는 이미지 파일들, HTML 파일들, 웹 페이지들, 스트리밍 미디어 등을 포함하는 다양한 상이한 타입들의 파일들의 프리뷰들을 발생하도록 구성된 소프트웨어 루틴들의 세트를 포함할 수 있는 프리뷰 발생기(803)를 포함할 수 있다. 종종, 그 세트의 각 루틴은 파일들의 타입들 중 하나를 제시하도록 구성되어서, 하나의 루틴은 한 타입의 파일을 제시할 수 있고, 다른 루틴은 다른 타입의 파일을 제시할 수 있다. 이 경우, 프리뷰 발생기는 적절한 루틴을 선택하기 위해 파일의 타입(또는 데이터 타입)을 결정할 필요가 있고, 데이터 검출기들(809)은 그것이 적절한 루틴을 선택할 수 있도록 프리뷰 발생기에 파일의 타입(또는 데이터 타입)의 식별자를 제공할 수 있다. 이러한 아키텍처는 프리뷰 발생기(803)와 데이터 검출기들(809) 및 시스템의 다른 컴포넌트들 사이의 인터페이스로서 작용하기 위해 하나 이상의 API를 포함할 수 있다. 예를 들어, 도 7a에 도시된 이메일 애플리케이션과 같은 하나 이상의 애플리케이션 프로그램들은 파일에 대해 발생된 프리뷰를 갖기 위해 프리뷰 발생기(803)를 호출할 수 있다. 데이터 검출기들(809)은, 일 실시예에서, 도 9에서 컬럼 "링크 데이터" 아래에 도시된 URL 또는 다른 타입들의 링크들과 같은, 다양한 상이한 타입들의 데이터를 검출하도록 구성된 소프트웨어 루틴들의 세트일 수 있다. 일 실시예에서, 데이터 검출기들은 미국 특허들 5,390,281, 5,864,789, 및 5,946,647에 설명된 것들, 또한 계류중인 미국 출원 공보들 2008/0243841, 2010/0121631, 및 2009/0306964에 설명된 것들과 같은 공지된 데이터 검출기들일 수 있다. 이들 데이터 검출기들은 링크가 아직 콘텐츠에서 플래깅 또는 식별되지 않은 경우 링크의 존재를 결정하기 위해 이메일 콘텐츠(725)와 같은 콘텐츠를 프로세싱할 수 있다. 도 7a의 예를 이용하여, 제1 문서 콘텐츠는 웹 페이지일 수 있는 제2 문서의 콘텐츠를 가리키는 링크(727)를 포함하는 이메일 콘텐츠(725)인 것으로 고려될 수 있다. 이 예를 계속하면, 제1 애플리케이션(805)은 도 7a에 도시된 이메일 프로그램일 수 있고, 제2 애플리케이션(807)은 제2 문서의 콘텐츠(813)를 렌더링하도록 구성되는 웹 브라우저일 수 있다. 프리뷰 발생기(803)는, 데이터 검출기들(809)과 결합하여, 링크의 타입을 식별하고 나서 링크를 이용하여, 도 7d 및 7e에 도시된 예에서와 같이, 가장 앞의 애플리케이션으로서 여전히 제1 애플리케이션(805)을 유지하면서 제2 애플리케이션(807)을 론칭 또는 인보크하지 않고 콘텐츠(813)의 프리뷰를 디스플레이할 수 있다. 또한, 데이터 검출기들은 콘텐츠와 수행될 수 있는 액션들의 타입들을 결정할 수 있고, 사용자가 본원에 설명된 바와 같은 액션들을 인보크할 수 있도록 사용자 선택 가능한 UI 요소들을 제시할 수 있다.
일 실시예에서, 프리뷰 버블 또는 패널 또는 윈도우는 프리뷰 내의 텍스트 또는 다른 객체들의 일부분 또는 전부의 선택을 허용하고 나서, 다른 파일 또는 문서에 대한, 선택의, 복사 또는 드래그 또는 이동 동작을 허용하도록 구성될 수 있다. 예를 들어, 일 실시예에서, 사용자는 프리뷰 내에서 텍스트(또는 다른 객체)를 선택할 수 있고, 그 다음에 선택된 텍스트(또는 다른 객체)가 기존의 파일 또는 윈도우로 드롭될 것인지 또는 새로운 파일이 생성될 것인지 시스템에(예를 들어, 버튼 또는 제스처 또는 커서 이동을 통해) 신호 보낼 수 있다. 일 예에서, 사용자는 프리뷰 내에서 텍스트를 선택할 수 있고, 그 다음에 애플리케이션(예를 들어, 이메일 애플리케이션)을 나타내는 아이콘 또는 다른 윈도우에 손가락 또는 스타일러스 또는 커서로 텍스트를 드래그할 수 있고, 이것은 시스템이 텍스트를 다른 윈도우에 붙이거나 애플리케이션(예를 들어, 이메일 애플리케이션)에 의해 제어되는 윈도우를 열고 텍스트를 그 윈도우에 두도록 한다. 또한, 네이티브 애플리케이션에 의한 액션 또는 응답은 프리뷰의 콘텍스트 또는 콘텐츠에 의해 지시될 수 있다. 예를 들어, 선택된 텍스트가 이메일 주소이면, 네이티브 이메일 애플리케이션은, 드래그 및 드롭 동작에 응답하여, 그 주소로 어드레싱된 새로운 이메일을 생성하고 열 수 있는 반면, 선택된 텍스트가 주소라기보다는, 콘텐츠(예를 들어, 이메일 메시지에서 이용될 텍스트)이면, 네이티브 이메일 애플리케이션은, 드래그 및 드롭 동작에 응답하여, 콘텐츠를 포함하는 새로운 이메일을 생성하고 열 수 있다.
일부 실시예들은 호출하는 프로그램 코드가 하나 이상의 인터페이스를 통해 호출되는 다른 프로그램 코드와 상호작용하는 환경에서 하나 이상의 애플리케이션 프로그래밍 인터페이스(application programming interface; API)를 포함한다. 다양한 종류의 파라미터들을 더 포함할 수 있는, 다양한 함수 호출들, 메시지들 또는 다른 타입들의 인보크들(invocations)이 호출하는 프로그램과 호출되는 코드 사이에 API를 통해 전달될 수 있다. 또한, API는 API에 정의되고 호출되는 프로그램 코드에 구현된 데이터 타입들 또는 클래스들을 이용하는 능력을 호출하는 프로그램 코드에 제공할 수 있다.
적어도 특정 실시예들은 호출하는 소프트웨어 컴포넌트가 API를 통해 호출되는 소프트웨어 컴포넌트와 상호작용하는 환경을 포함한다. 이 환경에서 API를 통해 동작하는 방법은, API를 통해 하나 이상의 함수 호출들, 메시지들, 다른 타입들의 인보크들 또는 파라미터들을 전달하는 것을 포함한다.
하나 이상의 애플리케이션 프로그래밍 인터페이스(API)가 일부 실시예들에서 이용될 수 있다. API는 상이한 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하, "API 호출 컴포넌트")가 API 구현 컴포넌트에 의해 제공되는 하나 이상의 함수, 메소드, 프로시저, 데이터 구조, 클래스, 및/또는 다른 서비스들에 액세스하여 이용할 수 있게 하는 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하, "API 구현 컴포넌트")에 의해 구현되는 인터페이스이다. API는 API 호출 컴포넌트와 API 구현 컴포넌트 사이에 전달되는 하나 이상의 파라미터를 정의할 수 있다.
API는 API 호출 컴포넌트의 개발자(제3자 개발자일 수 있음)가 API 구현 컴포넌트에 의해 제공되는 특정 특징들을 레버리지(leverage)할 수 있게 한다. 하나의 API 호출 컴포넌트가 존재할 수 있거나, 하나보다 많은 그러한 컴포넌트가 존재할 수 있다. API는 애플리케이션으로부터 서비스들에 대한 요구들을 지원하기 위하여 컴퓨터 시스템 또는 프로그램 라이브러리가 제공하는 소스 코드 인터페이스일 수 있다. 오퍼레이팅 시스템(OS)은 OS에서 실행되는 애플리케이션들이 API들 중 하나 이상을 호출할 수 있도록 하기 위해 복수의 API를 가질 수 있고, 서비스(프로그램 라이브러리 등)는 서비스를 이용하는 애플리케이션이 API들 중 하나 이상을 호출할 수 있도록 하기 위해 복수의 API를 가질 수 있다. API는 애플리케이션이 확립될 때 해석 또는 컴파일될 수 있는 프로그래밍 언어에 관하여 특정될 수 있다.
일부 실시예들에서, API 구현 컴포넌트는 하나보다 많은 API를 제공할 수 있고, 각각은 API 구현 컴포넌트에 의해 구현되는 기능의 상이한 양태들에 액세스하는 상이한 양태들 또는 상이한 뷰를 제공한다. 예를 들어, API 구현 컴포넌트의 하나의 API는 제1 세트의 함수들을 제공할 수 있고, 제3자 개발자들에게 노출될 수 있으며, API 구현 컴포넌트의 다른 API는 은닉되고(노출되지 않고) 제1 세트의 함수들의 서브세트를 제공할 수 있고, 또한 제1 세트의 함수들에 있지 않은 테스트 또는 디버깅 함수들과 같은 다른 세트의 함수들을 제공할 수 있다. 다른 실시예들에서, API 구현 컴포넌트는 자체에서 기저 API를 통해 하나 이상의 다른 컴포넌트를 호출할 수 있고, 따라서 API 호출 컴포넌트와 API 구현 컴포넌트 둘다일 수 있다.
API는 API 구현 컴포넌트의 특정 특징들에 액세스하고 이용할 때 API 호출 컴포넌트들이 이용하는 언어 및 파라미터들을 정의한다. 예를 들어, API 호출 컴포넌트는 API에 의해 노출되는 (예를 들어, 함수 또는 메소드 호출들에 의해 구체화되는) 하나 이상의 API 호출들 또는 인보크들을 통해 API 구현 컴포넌트의 특정 특징들에 액세스하고, API 호출들 또는 인보크들을 통해 파라미터들을 이용하여 데이터 및 제어 정보를 전달한다. API 구현 컴포넌트는 API 호출 컴포넌트로부터의 API 호출에 응답하여 API를 통해 값을 리턴할 수 있다. API가 신택스(syntax) 및 API 호출의 결과(예를 들어, API 호출을 호출하는 법 및 API 호출이 무엇인지)를 정의하지만, API는 API 호출이 API 호출에 의해 특정되는 함수를 실현하는 법을 드러내지 않을 수 있다. 다양한 API 호출들이 호출(API 호출 컴포넌트) 및 API 구현 컴포넌트 사이에 하나 이상의 애플리케이션 프로그래밍 인터페이스를 통해 전달된다. API 호출을 전달하는 것은, 함수 호출들 또는 메시지들을 발행, 개시, 인보크(invoking), 호출, 수신, 리턴, 또는 응답하는 것을 포함할 수 있고, 다시 말해, 전달하는 것(transferring)은, API 호출 컴포넌트 또는 API 구현 컴포넌트에 의한 액션들을 설명할 수 있다. API의 함수 호출들 또는 다른 인보크들은 파라미터 리스트 또는 다른 구조를 통해 하나 이상의 파라미터들을 전송 또는 수신할 수 있다. 파라미터는 상수, 키, 데이터 구조, 객체, 객체 클래스, 변수, 데이터 타입, 포인터, 어레이, 리스트 또는 API를 통해 전달될 데이터 또는 다른 아이템을 참조하기 위한 함수 또는 메소드 또는 다른 방식에 대한 포인터일 수 있다.
또한, 데이터 타입들 또는 클래스들은 API에 의해 제공되고 API 구현 컴포넌트에 의해 구현될 수 있다. 따라서, API 호출 컴포넌트는 변수들을 선언하고, 포인터들을 이용하고, API에 제공된 정의들을 이용함으로써 그러한 타입들 또는 클래스들의 상수 값들을 이용 또는 인스턴스화(instantiate)할 수 있다.
일반적으로, API는 API 구현 컴포넌트에 의해 제공되는 서비스 또는 데이터에 액세스하기 위해 또는 API 구현 컴포넌트에 의해 제공되는 연산 또는 계산의 수행을 개시하기 위해 이용될 수 있다. 예시에 의해, API 구현 컴포넌트 및 API 호출 컴포넌트는 각각 오퍼레이팅 시스템, 라이브러리, 장치 드라이버, API, 애플리케이션 프로그램, 또는 다른 모듈 중 어느 하나일 수 있다(API 구현 컴포넌트 및 API 호출 컴포넌트는 서로 동일한 또는 상이한 타입의 모듈일 수 있다는 것을 이해해야 한다). API 구현 컴포넌트는 일부 경우에 적어도 부분적으로 펌웨어, 마이크로코드, 또는 다른 하드웨어 로직에 구체화될 수 있다. 일부 실시예들에서, API는 클라이언트 프로그램이 소프트웨어 개발 키트(Software Development Kit; SDK) 라이브러리에 의해 제공되는 서비스들을 이용할 수 있게 할 수 있다. 다른 실시예들에서, 애플리케이션 또는 다른 클라이언트 프로그램은 애플리케이션 프레임워크에 의해 제공되는 API를 이용할 수 있다. 이들 실시예들에서, 애플리케이션 또는 클라이언트 프로그램은 SDK에 의해 제공되고 API에 의해 제공되는 함수들 또는 메소드들에 대한 호출들을 포함하거나 또는 SDK에 정의되고 API에 의해 제공되는 데이터 타입들 또는 객체들을 이용할 수 있다. 애플리케이션 프레임워크는 이들 실시예들에서 프레임워크에 의해 정의되는 다양한 이벤트에 응답하는 프로그램에 대한 메인 이벤트 루프를 제공할 수 있다. API는 애플리케이션 프레임워크를 이용하여 애플리케이션이 이벤트들 및 이벤트들에 대한 응답들을 특정할 수 있게 한다. 일부 구현들에서, API 호출은 입력 능력 및 상태, 출력 능력 및 상태, 프로세싱 능력, 전력 상태, 저장 용량 및 상태, 통신 능력 등과 같은 양태들과 관련된 것들을 포함하여, 하드웨어 장치의 능력 또는 상태를 애플리케이션에 보고할 수 있고, API는 부분적으로 하드웨어 컴포넌트에서 실행하는 펌웨어, 마이크로코드, 또는 다른 저레벨 로직에 의해 부분적으로 구현될 수 있다.
API 호출 컴포넌트는 네트워크를 거쳐서 API를 통해 API 구현 컴포넌트와 통신하는 로컬 컴포넌트(즉, API 구현 컴포넌트와 동일한 데이터 프로세싱 시스템 상에 있음) 또는 원격 컴포넌트(즉, API 구현 컴포넌트와 상이한 데이터 프로세싱 시스템 상에 있음)일 수 있다. API 구현 컴포넌트는 또한 API 호출 컴포넌트로서 작용할 수 있고(즉, 그것은 상이한 API 구현 컴포넌트에 의해 노출된 API에 대해 API 호출을 할 수 있고), API 호출 컴포넌트는 또한 상이한 API 호출 컴포넌트에 노출되는 API를 구현함으로써 API 구현 컴포넌트로서 작용할 수 있다는 것을 이해해야 한다.
API는 상이한 프로그래밍 언어들로 쓰여진 복수의 API 호출 컴포넌트들이 API 구현 컴포넌트와 통신할 수 있게 할 수 있지만(따라서 API는 API 구현 컴포넌트와 API 호출 컴포넌트 사이에 호출들 및 리턴들을 번역하기 위한 피처들을 포함할 수 있지만), API는 특정 프로그래밍 언어에 관하여 구현될 수 있다. API 호출 컴포넌트는 일 실시예에서, OS 제공자로부터의 API들의 세트 및 플러그인 제공자(plug-in provider)로부터의 API들의 다른 세트 및 다른 제공자(예를 들어, 소프트웨어 라이브러리의 제공자)로부터의 API들의 다른 세트와 같은 상이한 제공자들 또는 다른 세트의 API들의 생성자로부터의 API들을 호출할 수 있다.
도 10은 본 발명의 일부 실시예들에서 이용될 수 있는, 예시적인 API 아키텍처를 도시하는 블록도이다. 도 10에 도시된 바와 같이, API 아키텍처(1000)는 API(1020)를 구현하는 API 구현 컴포넌트(1010)(예를 들어, 오퍼레이팅 시스템, 라이브러리, 장치 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)를 포함한다. API(1020)는 API 호출 컴포넌트(1030)에 의해 이용될 수 있는 API 구현 컴포넌트의 하나 이상의 함수, 메소드, 클래스, 객체, 프로토콜, 데이터 구조, 포맷 및/또는 다른 특징들을 특정한다. API(1020)는 API 구현 컴포넌트 내의 함수가 API 호출 컴포넌트로부터 파라미터들을 수신하는 법 및 함수가 API 호출 컴포넌트에 결과를 리턴하는 법을 특정하는 적어도 하나의 호출 규약을 특정할 수 있다. API 호출 컴포넌트(1030)(예를 들어, 오퍼레이팅 시스템, 라이브러리, 장치 드라이버, API, 애플리케이션 프로그램, 소프트웨어 또는 다른 모듈)는 API(1020)에 의해 특정되는 API 구현 컴포넌트(1010)의 특징들에 액세스하고 이용하기 위해 API(1020)를 통해 API 호출을 행한다. API 구현 컴포넌트(1010)는 API 호출에 응답하여 API 호출 컴포넌트(1030)에 API(1020)를 통해 값을 리턴할 수 있다.
API 구현 컴포넌트(1010)는 API(1020)를 통해 특정되지 않고 API 호출 컴포넌트(1030)에 이용가능하지 않은 부가적인 함수, 메소드, 클래스, 데이터 구조, 및/또는 다른 특징들을 포함할 수 있다는 것을 알 것이다. API 호출 컴포넌트(1030)는 API 구현 컴포넌트(1010)와 동일한 시스템 상에 있을 수 있거나, 원격으로 배치될 수 있고, 네트워크를 거쳐서 API(1020)를 이용하여 API 구현 컴포넌트(1010)에 액세스한다는 것을 이해해야 한다. 도 10은 API(1020)와 상호작용하는 단일 API 호출 컴포넌트(1030)를 예시하지만, API 호출 컴포넌트(1030)와 상이한 언어들(또는 동일한 언어)로 쓰여질 수 있는 다른 API 호출 컴포넌트들이 API(1020)를 이용할 수 있다는 것을 이해해야 한다.
API 구현 컴포넌트(1010), API(1020), 및 API 호출 컴포넌트(1030)는 머신(예를 들어, 컴퓨터 또는 다른 데이터 프로세싱 시스템)에 의해 판독 가능한 형태로 정보를 저장하기 위한 임의의 메커니즘을 포함하는, 유형의 머신 판독 가능한 저장 매체에 저장될 수 있다. 예를 들어, 유형의 머신 판독 가능한 저장 매체는 자기 디스크들, 광 디스크들, 랜덤 액세스 메모리(random access memory)(예를 들어, DRAM); 리드 온리 메모리(read only memory), 플래시 메모리 장치들 등을 포함한다.
도 11("소프트웨어 스택")의 예시적인 실시예에서, 애플리케이션들은 몇몇 서비스 API들을 이용하여 서비스들 A 또는 B 그리고 몇몇 OS API들을 이용하여 오퍼레이팅 시스템(OS)에 대한 호출을 행할 수 있다. 서비스들 A 및 B는 몇몇 OS API들을 이용하여 OS에 대한 호출을 행할 수 있다.
서비스 2는 2개의 API를 가지고, 그 중 하나(Service 2 API 1)는 애플리케이션 1로부터 호출들을 수신하고 거기에 값들을 리턴하며, 다른 것(Service 2 API 2)은 애플리케이션 2로부터 호출들을 수신하고 거기에 값들을 리턴한다는 것에 주목한다. 서비스 1(예를 들어, 소프트웨어 라이브러리일 수 있음)은 OS API 1에 대한 호출을 행하고 거기로부터 리턴된 값들을 수신하며, 서비스 2(예를 들어, 소프트웨어 라이브러리일 수 있음)은 OS API 1과 OS API 2 둘다에 대한 호출을 행하고 거기로부터 리턴된 값들을 수신한다. 애플리케이션 2는 OS API 2에 대한 호출을 행하고 거기로부터 리턴된 값들을 수신한다.
본원에 설명된 방법들 중 어느 하나는 범용 컴퓨터 시스템들, 특수 목적 컴퓨터 시스템들 등을 포함하는, 각종 상이한 데이터 프로세싱 장치들에서 구현될 수 있다. 예를 들어, 본원에 설명된 방법들 중 어느 하나를 이용할 수 있는 데이터 프로세싱 시스템들은 데스크톱 컴퓨터 또는 랩톱 컴퓨터 또는 태블릿 컴퓨터 또는 스마트폰, 또는 셀룰러 전화기, 또는 PDA(personal digital assistant), 임베디드 전자 장치 또는 소비자 전자 장치를 포함할 수 있다. 도 12는 본 발명과 이용될 수 있는 통상적인 데이터 프로세싱 시스템의 일 예를 도시한다. 도 12는 컴퓨터 시스템과 같은 데이터 프로세싱 시스템의 다양한 컴포넌트들을 예시하지만, 그러한 상세들이 본 발명에 밀접한 관련이 없기 때문에 그것이 컴포넌트들을 상호접속하는 임의의 특정 아키텍처 또는 방식을 나타내는 것으로 의도되지 않는다는 것에 주목한다. 또한 도 12에 도시된 것보다 적은 컴포넌트들 또는 도시된 것보다 많은 컴포넌트들을 갖는 다른 타입들의 데이터 프로세싱 시스템들이 또한 본 발명과 이용될 수 있다는 것을 알 것이다. 도 12의 데이터 프로세싱 시스템은 캘리포니아주 쿠퍼티노의 Apple Inc.로부터의 매킨토시 컴퓨터일 수 있다. 도 12에 도시된 바와 같이, 데이터 프로세싱 시스템(1201)은 시스템의 다양한 컴포넌트를 상호접속하는 역할을 하는 하나 이상의 버스들(1209)을 포함한다. 하나 이상의 프로세서들(1203)은 이 기술분야에 알려진 바와 같이 하나 이상의 버스들(1209)에 결합된다. 메모리(1205)는 DRAM 또는 비휘발성 RAM일 수 있거나 플래시 메모리 또는 다른 타입들의 메모리일 수 있다. 이 메모리는 이 기술분야에 알려진 기법들을 이용하여 하나 이상의 버스들(1209)에 결합된다. 데이터 프로세싱 시스템(1201)은 또한 시스템으로부터 전원이 제거된 후에도 데이터를 유지하는 하드 디스크 드라이브 또는 플래시 메모리 또는 광자기 드라이브 또는 자기 메모리 또는 광 드라이브 또는 다른 타입들의 메모리 시스템들일 수 있는 비휘발성 메모리(1207)를 포함할 수 있다. 비휘발성 메모리(1207) 및 메모리(1205)는 둘다 알려진 인터페이스들 및 접속 기법들을 이용하여 하나 이상의 버스들(1209)에 결합된다. 디스플레이 컨트롤러(1211)는 본원에 설명된 사용자 인터페이스 피처들 또는 실시예들 중 어느 하나를 디스플레이할 수 있는 디스플레이 장치(1213) 상에 디스플레이될 디스플레이 데이터를 수신하기 위해 하나 이상의 버스들(1209)에 결합된다. 디스플레이 장치(1213)는 터치 스크린을 제공하기 위해 통합형 터치 입력을 포함할 수 있다. 데이터 프로세싱 시스템(1201)은 또한 하나 이상의 마우스, 터치 스크린, 터치 패드, 조이스틱, 및 이 기술분야에 알려진 것들을 포함한 다른 입력 장치 및 출력 장치(예를 들어, 스피커)와 같은, 하나 이상의 I/O 장치에 대한 인터페이스들을 제공하는 하나 이상의 입출력(I/O) 컨트롤러(1215)를 포함한다. 입출력 장치들(1217)은 이 기술분야에 알려진 바와 같이 하나 이상의 I/O 컨트롤러(1215)를 통해 결합된다. 도 12는 비휘발성 메모리(1207) 및 메모리(1205)가 네트워크 인터페이스를 통해서보다는 바로 하나 이상의 버스에 결합되는 것을 도시하지만, 데이터 프로세싱 시스템은 모뎀 또는 이더넷 인터페이스와 같은 네트워크 인터페이스를 통해 또는 무선 WiFi 송수신기 또는 무선 셀룰러 전화기 송수신기 또는 그러한 송수신기들의 결합과 같은 무선 인터페이스를 통해 데이터 프로세싱 시스템에 결합되는 네트워크 저장 장치와 같은, 시스템에서 떨어진 비휘발성 메모리를 활용할 수 있다는 것을 알 것이다. 이 기술분야에 알려진 바와 같이, 하나 이상의 버스들(1209)은 다양한 버스 사이에 상호접속하기 위해 하나 이상의 브리지 또는 컨트롤러 또는 어댑터를 포함할 수 있다. 일 실시예에서, I/O 컨트롤러(1215)는 USB 주변장치들을 제어하기 위한 USB 어댑터를 포함하고, 이더넷 포트 또는 무선 송수신기 또는 무선 송수신기들의 결합을 제어할 수 있다. 본 발명의 양태들은 적어도 부분적으로 소프트웨어로 구체화될 수 있다는 것이 이 설명으로부터 명백할 것이다. 즉, 본원에 설명된 기법들 및 방법들은 메모리(1205) 또는 비휘발성 메모리(1207) 또는 그러한 메모리들의 결합과 같은 유형의 비-일시적 메모리에 포함된 명령어들의 시퀀스를 실행하는 프로세서에 응답하여 데이터 프로세싱 시스템에서 수행될 수 있고, 이들 메모리들 각각은 머신 판독 가능한 유형의 저장 매체의 형태이다. 다양한 실시예에서, 하드웨어 회로는 본 발명을 구현하기 위해 소프트웨어 명령어들과 결합하여 이용될 수 있다. 따라서, 기법들은 하드웨어 회로와 소프트웨어의 임의의 특정 결합으로도 데이터 프로세싱 시스템에 의해 실행되는 명령어들에 대한 임의의 특정 소스로도 한정되지 않는다.
전술한 설명에서, 본 발명은 그의 특정 예시적인 실시예들을 참조하여 설명되었다. 다음의 청구항들에 제시된 바와 같은 본 발명의 더 넓은 사상 및 범위에서 벗어나지 않고 그에 대한 다양한 수정들이 만들어질 수 있다는 것이 분명할 것이다. 따라서, 명세서 및 도면들은 제한의 의미보다는 예시적인 의미에서 여겨져야 한다.

Claims (37)

  1. 머신 구현 방법으로서,
    제1 애플리케이션에서 제1 문서의 콘텐츠를 제시하는 단계;
    상기 제1 문서 내의 복수의 참조를 검출하는 단계 - 상기 복수의 참조는 복수의 제2 문서 각각을 참조함 -;
    상기 제1 문서 내의 상기 복수의 검출된 참조 중 특정한 참조의 디스플레이된 표현으로 향해진 제1 입력을 수신하는 단계;
    상기 제1 입력을 수신하는 것에 응답하여, 프리뷰 버튼을 제시하는 단계;
    상기 프리뷰 버튼으로 향해진 제2 입력을 수신하는 단계; 및
    상기 제2 입력을 수신하는 것에 응답하여, 상기 제1 문서를 계속해서 제시하면서, 상기 복수의 검출된 참조 중 상기 특정한 참조에 의해 참조되는 제2 문서의 콘텐츠의 일부의 프리뷰를 디스플레이하는 콘텐츠 프리뷰를 제시하는 단계 - 상기 프리뷰 버튼은 상기 제2 문서의 상기 콘텐츠의 상기 프리뷰 부분을 디스플레이하는 상기 콘텐츠 프리뷰로부터 분리됨 -
    를 포함하는 머신 구현 방법.
  2. 제1항에 있어서,
    상기 복수의 검출된 참조 중 상기 특정한 참조의 상기 디스플레이된 표현으로 향해진 제3 입력을 수신하는 단계 - 상기 제3 입력은 상기 제1 입력과 상이한 입력 유형임 -; 및
    상기 제3 입력을 수신하는 것에 응답하여, 제2 애플리케이션을 론칭(launching)하고 상기 제2 문서를 디스플레이하는 단계 - 상기 제2 애플리케이션은 상기 제2 문서와 연관됨 -
    를 포함하는 머신 구현 방법.
  3. 제1항에 있어서,
    상기 콘텐츠 프리뷰를 제시하는 단계는,
    상기 제2 문서에 대한 네이티브 애플리케이션을 론칭하지 않고 상기 콘텐츠 프리뷰를 제시하는 단계를 포함하는, 머신 구현 방법.
  4. 제1항에 있어서,
    상기 제2 입력을 수신하기 이전에 상기 제2 문서를 위한 상기 프리뷰는 디스플레이되지 않는, 머신 구현 방법.
  5. 제1항에 있어서,
    상기 프리뷰는 상기 제1 애플리케이션과 상이한 제2 애플리케이션에 의해 생성되고, 상기 제2 애플리케이션은 상기 제1 문서를 편집하거나 생성할 수 없는, 머신 구현 방법.
  6. 제5항에 있어서,
    상기 복수의 검출된 참조 중 상기 특정한 참조는 링크이고,
    상기 링크 상의 제3 입력을 검출하는 것에 응답하여, 제2 애플리케이션에 의해 제어되는 디스플레이 영역을 여는(opening) 단계 - 상기 제2 애플리케이션은 상기 특정한 참조에 의해 참조되는 상기 제2 문서의 상기 콘텐츠의 일부를 천연적으로(natively) 제시하고, 상기 제2 애플리케이션은 상기 제1 애플리케이션과 상이함 - 를 더 포함하는 머신 구현 방법.
  7. 제1항에 있어서,
    상기 프리뷰를 제시하는 단계는, (a) 상기 프리뷰를 스크롤하는 것, (b) 상기 프리뷰를 줌 인(zooming in)하는 것, (c) 상기 프리뷰의 페이지를 넘기는 것(paging through), 및 (d) 상기 프리뷰에서 영화를 플레이하는 것 중 적어도 하나를 야기하기 위한 제3 입력을 수신하는 단계를 포함하고, 상기 제1 입력은, (i) 상기 복수의 검출된 참조 중 상기 특정한 참조의 상기 디스플레이된 표현에 근접하게 커서 제어 장치에 의해 제어되는 커서를 호버링(hovering)하는 것, 또는 (ii) 제1 터치 제스처 중 하나이고, 상기 프리뷰 버튼 상의 상기 제2 입력은, (Ⅰ) 상기 복수의 검출된 참조 중 상기 특정한 참조의 상기 디스플레이된 표현에 근접하게 상기 커서를 호버링하면서 버튼을 누르는 것, 또는 (Ⅱ) 제2 터치 제스처 중 하나인, 머신 구현 방법.
  8. 제1항에 있어서, 상기 제1 애플리케이션은 이메일 애플리케이션인 머신 구현 방법.
  9. 제1항에 있어서, 상기 제1 애플리케이션은 파일 관리 시스템을 위한 사용자 인터페이스 프로그램인 머신 구현 방법.
  10. 머신에 의해 수행될 때, 상기 머신이 제1항 내지 제9항 중 어느 한 항의 동작들을 수행하게 하는 명령어들을 포함하는 머신 판독 가능한 매체.
  11. 시스템으로서,
    하나 이상의 컴퓨터 프로세서를 포함하고,
    상기 하나 이상의 컴퓨터 프로세서는,
    제1 애플리케이션에서 제1 문서의 콘텐츠를 제시하고,
    상기 제1 문서 내의 복수의 링크를 검출하며 - 상기 복수의 링크는 상기 제1 애플리케이션에 액세스 가능하지 않은 외부 데이터를 참조함 -,
    상기 제1 문서 내의 상기 복수의 링크 중 특정한 링크의 디스플레이된 표현으로 향해진 제1 입력을 수신하고,
    상기 제1 입력을 수신하는 것에 응답하여, 상기 제1 문서 상에 오버레이되고, 외부 데이터를 참조하는 상기 복수의 링크 중 상기 특정한 링크로부터 분리된 프리뷰 버튼을 제시하며,
    상기 프리뷰 버튼으로 향해진 제2 입력을 수신하고,
    상기 제2 입력에 응답하여, 상기 제1 애플리케이션을 사용하여 상기 제1 문서를 계속해서 디스플레이하면서, 상기 프리뷰 버튼에 인접하여(adjacent) 콘텐츠 프리뷰를 제시하고, 상기 복수의 링크 중 상기 특정한 링크에 의해 참조되는 상기 외부 데이터의 일부의 프리뷰를 디스플레이하도록 구성되는, 시스템.
  12. 제11항에 있어서,
    상기 하나 이상의 컴퓨터 프로세서는,
    상기 복수의 링크 중 상기 특정한 링크의 상기 디스플레이된 표현으로 향해진 제3 입력을 수신하고 - 상기 제3 입력은 상기 제1 입력과 상이한 입력 유형임 -,
    상기 제3 입력을 수신하는 것에 응답하여, 제2 애플리케이션을 론칭하도록 구성되는- 상기 제2 애플리케이션은 상기 외부 데이터와 연관되고, 상기 외부 데이터를 디스플레이함-, 시스템
  13. 제11항에 있어서,
    상기 하나 이상의 컴퓨터 프로세서는 상기 외부 데이터에 대한 네이티브 애플리케이션을 론칭하지 않고 상기 콘텐츠 프리뷰를 제시하도록 적어도 구성되는 것에 의해 상기 콘텐츠 프리뷰를 제시하도록 구성되는, 시스템.
  14. 제11항에 있어서,
    상기 하나 이상의 컴퓨터 프로세서는 상기 제2 입력을 수신하기 이전에 상기 외부 데이터에 대한 상기 프리뷰를 디스플레이하지 않도록 구성되는, 시스템.
  15. 제11항에 있어서,
    상기 하나 이상의 컴퓨터 프로세서는 상기 제1 애플리케이션과 상이한 제2 애플리케이션을 사용하도록 적어도 구성되는 것에 의해 상기 프리뷰를 생성하도록 구성되고, 상기 제2 애플리케이션은 상기 제1 문서를 편집하거나 생성할 수 없는, 시스템.
  16. 삭제
  17. 제11항에 있어서, 상기 하나 이상의 컴퓨터 프로세서는, (a) 상기 프리뷰를 스크롤하는 것, (b) 상기 프리뷰를 줌 인하는 것, (c) 상기 프리뷰의 페이지를 넘기는 것, 및 (d) 상기 프리뷰에서 영화를 플레이하는 것 중 하나를 야기하기 위한 제3 입력을 수신하도록 구성되고, 상기 제1 입력은, (i) 상기 복수의 링크 중 상기 특정한 링크의 디스플레이된 표현에 근접하게 커서 제어 장치에 의해 제어되는 커서를 호버링하는 것, 또는 (ii) 제1 터치 제스처 중 하나이고, 상기 프리뷰 버튼 상의 상기 제2 입력은, (Ⅰ) 상기 복수의 링크 중 상기 특정한 링크의 상기 디스플레이된 표현에 근접하게 상기 커서를 호버링하면서 버튼을 누르는 것, 또는 (Ⅱ) 제2 터치 제스처 중 하나인, 시스템.
  18. 제11항에 있어서, 상기 제1 애플리케이션은 검색 애플리케이션인 시스템.
  19. 제11항에 있어서, 상기 제1 애플리케이션은 이메일 애플리케이션인 시스템.
  20. 제11항에 있어서, 상기 제1 애플리케이션은 파일 관리 시스템을 위한 사용자 인터페이스 프로그램인 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
KR1020137011173A 2010-09-30 2011-09-28 콘텐츠 프리뷰 KR101606920B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/895,444 2010-09-30
US12/895,444 US20120084644A1 (en) 2010-09-30 2010-09-30 Content preview
PCT/US2011/053669 WO2012044679A2 (en) 2010-09-30 2011-09-28 Content preview

Related Child Applications (1)

Application Number Title Priority Date Filing Date
KR1020167007593A Division KR101779308B1 (ko) 2010-09-30 2011-09-28 콘텐츠 프리뷰

Publications (2)

Publication Number Publication Date
KR20130077882A KR20130077882A (ko) 2013-07-09
KR101606920B1 true KR101606920B1 (ko) 2016-03-28

Family

ID=44764247

Family Applications (2)

Application Number Title Priority Date Filing Date
KR1020137011173A KR101606920B1 (ko) 2010-09-30 2011-09-28 콘텐츠 프리뷰
KR1020167007593A KR101779308B1 (ko) 2010-09-30 2011-09-28 콘텐츠 프리뷰

Family Applications After (1)

Application Number Title Priority Date Filing Date
KR1020167007593A KR101779308B1 (ko) 2010-09-30 2011-09-28 콘텐츠 프리뷰

Country Status (7)

Country Link
US (1) US20120084644A1 (ko)
EP (2) EP2742422B1 (ko)
KR (2) KR101606920B1 (ko)
CN (1) CN103210371A (ko)
BR (1) BR112013007710A2 (ko)
MX (1) MX2013003562A (ko)
WO (1) WO2012044679A2 (ko)

Families Citing this family (192)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20110265009A1 (en) * 2010-04-27 2011-10-27 Microsoft Corporation Terminal services view toolbox
US8434134B2 (en) 2010-05-26 2013-04-30 Google Inc. Providing an electronic document collection
US20120096349A1 (en) * 2010-10-19 2012-04-19 Microsoft Corporation Scrubbing Touch Infotip
WO2012068407A2 (en) 2010-11-17 2012-05-24 Imerj LLC Multi-screen email client
US9645722B1 (en) 2010-11-19 2017-05-09 A9.Com, Inc. Preview search results
US9990114B1 (en) * 2010-12-23 2018-06-05 Oracle International Corporation Customizable publication via multiple outlets
US9671825B2 (en) * 2011-01-24 2017-06-06 Apple Inc. Device, method, and graphical user interface for navigating through an electronic document
US9264435B2 (en) * 2011-02-15 2016-02-16 Boingo Wireless, Inc. Apparatus and methods for access solutions to wireless and wired networks
US8732569B2 (en) 2011-05-04 2014-05-20 Google Inc. Predicting user navigation events
US9641475B2 (en) * 2011-06-03 2017-05-02 Sony Corporation Electronic mail receiving device and method
US9769285B2 (en) 2011-06-14 2017-09-19 Google Inc. Access to network content
US8788711B2 (en) 2011-06-14 2014-07-22 Google Inc. Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof
US8959424B2 (en) 2011-06-28 2015-02-17 International Business Machines Corporation Comparative and analytic lens for displaying a window with a first column for first data and a second column for comparison values of the first data and second data
US8959423B2 (en) * 2011-06-28 2015-02-17 International Business Machines Corporation Drill-through lens for generating different types of reports
US8799412B2 (en) 2011-06-30 2014-08-05 Amazon Technologies, Inc. Remote browsing session management
US9621406B2 (en) 2011-06-30 2017-04-11 Amazon Technologies, Inc. Remote browsing session management
US8706860B2 (en) 2011-06-30 2014-04-22 Amazon Technologies, Inc. Remote browsing session management
US8577963B2 (en) 2011-06-30 2013-11-05 Amazon Technologies, Inc. Remote browsing session between client browser and network based browser
US8745212B2 (en) 2011-07-01 2014-06-03 Google Inc. Access to network content
US8650139B2 (en) 2011-07-01 2014-02-11 Google Inc. Predicting user navigation events
EP2544106A1 (en) * 2011-07-08 2013-01-09 Thinglink Oy Handling content related to digital visual objects
US9202297B1 (en) * 2011-07-12 2015-12-01 Domo, Inc. Dynamic expansion of data visualizations
US9792017B1 (en) 2011-07-12 2017-10-17 Domo, Inc. Automatic creation of drill paths
US10001898B1 (en) 2011-07-12 2018-06-19 Domo, Inc. Automated provisioning of relational information for a summary data visualization
US8566696B1 (en) * 2011-07-14 2013-10-22 Google Inc. Predicting user navigation events
US8744988B1 (en) 2011-07-15 2014-06-03 Google Inc. Predicting user navigation events in an internet browser
US9037696B2 (en) 2011-08-16 2015-05-19 Amazon Technologies, Inc. Managing information associated with network resources
US9195768B2 (en) 2011-08-26 2015-11-24 Amazon Technologies, Inc. Remote browsing session management
US10089403B1 (en) 2011-08-31 2018-10-02 Amazon Technologies, Inc. Managing network based storage
US8600921B2 (en) 2011-09-15 2013-12-03 Google Inc. Predicting user navigation events in a browser using directed graphs
US8655819B1 (en) 2011-09-15 2014-02-18 Google Inc. Predicting user navigation events based on chronological history data
US9298843B1 (en) 2011-09-27 2016-03-29 Amazon Technologies, Inc. User agent information management
US9641637B1 (en) 2011-09-27 2017-05-02 Amazon Technologies, Inc. Network resource optimization
US8914514B1 (en) 2011-09-27 2014-12-16 Amazon Technologies, Inc. Managing network based content
US8589385B2 (en) 2011-09-27 2013-11-19 Amazon Technologies, Inc. Historical browsing session management
US8849802B2 (en) 2011-09-27 2014-09-30 Amazon Technologies, Inc. Historical browsing session management
US9178955B1 (en) 2011-09-27 2015-11-03 Amazon Technologies, Inc. Managing network based content
US10693991B1 (en) 2011-09-27 2020-06-23 Amazon Technologies, Inc. Remote browsing session management
US9152970B1 (en) 2011-09-27 2015-10-06 Amazon Technologies, Inc. Remote co-browsing session management
US9383958B1 (en) 2011-09-27 2016-07-05 Amazon Technologies, Inc. Remote co-browsing session management
US9043411B2 (en) * 2011-09-29 2015-05-26 Microsoft Technology Licensing, Llc Inline message composing with visible list view
US8615431B1 (en) 2011-09-29 2013-12-24 Amazon Technologies, Inc. Network content message placement management
US9104664B1 (en) 2011-10-07 2015-08-11 Google Inc. Access to search results
US20130097555A1 (en) * 2011-10-13 2013-04-18 Microsoft Corporation Dynamic content preview cycling model for answers with transitions
US9313100B1 (en) 2011-11-14 2016-04-12 Amazon Technologies, Inc. Remote browsing session management
JP5930363B2 (ja) * 2011-11-21 2016-06-08 株式会社ソニー・インタラクティブエンタテインメント 携帯情報機器およびコンテンツ表示方法
US9584579B2 (en) 2011-12-01 2017-02-28 Google Inc. Method and system for providing page visibility information
US8972477B1 (en) 2011-12-01 2015-03-03 Amazon Technologies, Inc. Offline browsing session management
US8935610B2 (en) 2011-12-08 2015-01-13 Microsoft Corporation Dynamic minimized navigation bar for expanded communication service
US9117002B1 (en) 2011-12-09 2015-08-25 Amazon Technologies, Inc. Remote browsing session management
US9009334B1 (en) 2011-12-09 2015-04-14 Amazon Technologies, Inc. Remote browsing session management
US8959425B2 (en) 2011-12-09 2015-02-17 Microsoft Corporation Inference-based extension activation
US20130159082A1 (en) * 2011-12-16 2013-06-20 Comcast Cable Communications, Llc Managing electronic mail
US9330188B1 (en) 2011-12-22 2016-05-03 Amazon Technologies, Inc. Shared browsing sessions
US9747257B2 (en) * 2012-01-02 2017-08-29 Microsoft Technology Licensing, Llc Updating document previews of embedded files
US9679163B2 (en) 2012-01-17 2017-06-13 Microsoft Technology Licensing, Llc Installation and management of client extensions
US8793235B2 (en) 2012-01-19 2014-07-29 Google Inc. System and method for improving access to search results
US8856640B1 (en) 2012-01-20 2014-10-07 Google Inc. Method and apparatus for applying revision specific electronic signatures to an electronically stored document
US9336321B1 (en) 2012-01-26 2016-05-10 Amazon Technologies, Inc. Remote browsing and searching
US8627195B1 (en) 2012-01-26 2014-01-07 Amazon Technologies, Inc. Remote browsing and searching
US9087024B1 (en) 2012-01-26 2015-07-21 Amazon Technologies, Inc. Narration of network content
US9092405B1 (en) 2012-01-26 2015-07-28 Amazon Technologies, Inc. Remote browsing and searching
US8839087B1 (en) 2012-01-26 2014-09-16 Amazon Technologies, Inc. Remote browsing and searching
US10051300B1 (en) 2012-01-26 2018-08-14 Amazon Technologies, Inc. Multimedia progress tracker
US9509783B1 (en) 2012-01-26 2016-11-29 Amazon Technlogogies, Inc. Customized browser images
US9449112B2 (en) * 2012-01-30 2016-09-20 Microsoft Technology Licensing, Llc Extension activation for related documents
US8843822B2 (en) 2012-01-30 2014-09-23 Microsoft Corporation Intelligent prioritization of activated extensions
US9256445B2 (en) 2012-01-30 2016-02-09 Microsoft Technology Licensing, Llc Dynamic extension view with multiple levels of expansion
US9037975B1 (en) * 2012-02-10 2015-05-19 Amazon Technologies, Inc. Zooming interaction tracking and popularity determination
US9183258B1 (en) 2012-02-10 2015-11-10 Amazon Technologies, Inc. Behavior based processing of content
US9137210B1 (en) 2012-02-21 2015-09-15 Amazon Technologies, Inc. Remote browsing session management
US9374244B1 (en) 2012-02-27 2016-06-21 Amazon Technologies, Inc. Remote browsing session management
US9208316B1 (en) 2012-02-27 2015-12-08 Amazon Technologies, Inc. Selective disabling of content portions
US10296558B1 (en) 2012-02-27 2019-05-21 Amazon Technologies, Inc. Remote generation of composite content pages
US9460220B1 (en) 2012-03-26 2016-10-04 Amazon Technologies, Inc. Content selection based on target device characteristics
US9307004B1 (en) 2012-03-28 2016-04-05 Amazon Technologies, Inc. Prioritized content transmission
KR102007840B1 (ko) * 2012-04-13 2019-08-06 엘지전자 주식회사 이미지 검색 방법 및 이를 위한 디지털 디바이스
DE112013002409T5 (de) 2012-05-09 2015-02-26 Apple Inc. Vorrichtung, Verfahren und grafische Benutzeroberfläche für die Anzeige zusätzlicher Informationen in Reaktion auf einen Benutzerkontakt
WO2013169849A2 (en) 2012-05-09 2013-11-14 Industries Llc Yknots Device, method, and graphical user interface for displaying user interface objects corresponding to an application
KR101823288B1 (ko) 2012-05-09 2018-01-29 애플 인크. 제스처에 응답하여 디스플레이 상태들 사이를 전이하기 위한 디바이스, 방법, 및 그래픽 사용자 인터페이스
WO2013169854A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for providing feedback for changing activation states of a user interface object
CN108052264B (zh) 2012-05-09 2021-04-27 苹果公司 用于移动和放置用户界面对象的设备、方法和图形用户界面
EP3185116B1 (en) 2012-05-09 2019-09-11 Apple Inc. Device, method and graphical user interface for providing tactile feedback for operations performed in a user interface
WO2013169842A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting object within a group of objects
WO2013169877A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for selecting user interface objects
WO2013169843A1 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for manipulating framed graphical objects
WO2013169865A2 (en) 2012-05-09 2013-11-14 Yknots Industries Llc Device, method, and graphical user interface for moving a user interface object based on an intensity of a press input
US9946792B2 (en) 2012-05-15 2018-04-17 Google Llc Access to network content
US9922309B2 (en) 2012-05-25 2018-03-20 Microsoft Technology Licensing, Llc Enhanced electronic communication draft management
USD754159S1 (en) * 2012-06-11 2016-04-19 Apple Inc. Display screen or portion thereof with graphical user interface
JP6177321B2 (ja) * 2012-06-20 2017-08-09 マケ クリティカル ケア エービー ユーザが背景を選択可能なディスプレイを有する呼吸装置
US9026992B2 (en) * 2012-06-22 2015-05-05 Microsoft Technology Licensing, Llc Folded views in development environment
US20150100569A1 (en) 2012-06-28 2015-04-09 Google Inc. Providing a search results document that includes a user interface for performing an action in connection with a web page identified in the search results document
KR101963787B1 (ko) * 2012-07-09 2019-03-29 삼성전자주식회사 휴대 단말기의 부가 기능 운용 방법 및 장치
US9348512B2 (en) * 2012-08-08 2016-05-24 Nuance Communications, Inc. Methods for facilitating text entry
US9772979B1 (en) 2012-08-08 2017-09-26 Amazon Technologies, Inc. Reproducing user browsing sessions
US8887239B1 (en) 2012-08-08 2014-11-11 Google Inc. Access to network content
US8943197B1 (en) 2012-08-16 2015-01-27 Amazon Technologies, Inc. Automated content update notification
US8656265B1 (en) * 2012-09-11 2014-02-18 Google Inc. Low-latency transition into embedded web view
US9141722B2 (en) 2012-10-02 2015-09-22 Google Inc. Access to network content
US11308037B2 (en) 2012-10-30 2022-04-19 Google Llc Automatic collaboration
US9529916B1 (en) 2012-10-30 2016-12-27 Google Inc. Managing documents based on access context
JP6186706B2 (ja) * 2012-11-29 2017-08-30 株式会社寺岡精工 プリンタ及び制御プログラム
TWI554939B (zh) * 2012-12-17 2016-10-21 華碩電腦股份有限公司 電腦裝置及應用程式預覽介面的操作方法
US9495341B1 (en) 2012-12-18 2016-11-15 Google Inc. Fact correction and completion during document drafting
US9384285B1 (en) 2012-12-18 2016-07-05 Google Inc. Methods for identifying related documents
KR102001332B1 (ko) 2012-12-29 2019-07-17 애플 인크. 콘텐츠를 스크롤할지 선택할지 결정하기 위한 디바이스, 방법 및 그래픽 사용자 인터페이스
KR102118091B1 (ko) * 2013-03-06 2020-06-04 삼성전자주식회사 오브젝트에 대한 사전 실행 기능을 가지는 모바일 장치 및 그 제어방법
CN103309971A (zh) * 2013-06-08 2013-09-18 福州新锐同创电子科技有限公司 一种不同类型文件同屏预览的实现方法
US9578137B1 (en) 2013-06-13 2017-02-21 Amazon Technologies, Inc. System for enhancing script execution performance
US10152463B1 (en) 2013-06-13 2018-12-11 Amazon Technologies, Inc. System for profiling page browsing interactions
US9514113B1 (en) 2013-07-29 2016-12-06 Google Inc. Methods for automatic footnote generation
US9426190B1 (en) 2013-08-01 2016-08-23 Google Inc. Crowdsourcing descriptor selection
US9842113B1 (en) 2013-08-27 2017-12-12 Google Inc. Context-based file selection
US10545657B2 (en) 2013-09-03 2020-01-28 Apple Inc. User interface for manipulating user interface objects
CN104462035B (zh) * 2013-09-18 2017-11-14 北大方正集团有限公司 支持稿件编辑的方法和装置
US10222937B2 (en) * 2013-09-19 2019-03-05 Messagepoint Inc. System and method for variant content navigation
US11790154B2 (en) 2013-10-09 2023-10-17 Interactive Solutions Corp. Mobile terminal device, slide information managing system, and a control method of mobile terminal
JP6465372B2 (ja) * 2013-10-09 2019-02-06 株式会社インタラクティブソリューションズ 携帯端末装置、スライド情報管理システム及び携帯端末の制御方法
US20150106741A1 (en) 2013-10-15 2015-04-16 Microsoft Corporation Managing conversations
US20150143211A1 (en) * 2013-11-18 2015-05-21 Microsoft Corporation Link insertion and link preview features
US10769350B2 (en) 2013-12-03 2020-09-08 Microsoft Technology Licensing, Llc Document link previewing and permissioning while composing an email
US9529791B1 (en) 2013-12-12 2016-12-27 Google Inc. Template and content aware document and template editing
US20150213148A1 (en) * 2014-01-28 2015-07-30 Jeffrey Blemaster Systems and methods for browsing
TW201539218A (zh) * 2014-02-17 2015-10-16 Microsoft Technology Licensing Llc 與外部內容項目之間的編碼的關聯性
CN104007989A (zh) * 2014-05-21 2014-08-27 广州华多网络科技有限公司 信息交互的方法及装置
KR101929372B1 (ko) 2014-05-30 2018-12-17 애플 인크. 하나의 디바이스의 사용으로부터 다른 디바이스의 사용으로의 전환
US9635041B1 (en) 2014-06-16 2017-04-25 Amazon Technologies, Inc. Distributed split browser content inspection and analysis
US9710526B2 (en) 2014-06-25 2017-07-18 Microsoft Technology Licensing, Llc Data set preview technology
US9766789B1 (en) * 2014-07-07 2017-09-19 Cloneless Media, LLC Media effects system
US20160019306A1 (en) * 2014-07-18 2016-01-21 Empire Technology Development Llc Link preview management
US9703763B1 (en) 2014-08-14 2017-07-11 Google Inc. Automatic document citations by utilizing copied content for candidate sources
KR20160023336A (ko) * 2014-08-22 2016-03-03 현대모비스 주식회사 미리보기를 이용한 차량 기능 제어 장치 및 방법
CN112199000A (zh) 2014-09-02 2021-01-08 苹果公司 多维对象重排
US20160062571A1 (en) 2014-09-02 2016-03-03 Apple Inc. Reduced size user interface
DE102014019368A1 (de) * 2014-12-22 2016-06-23 Abb Technology Ag Einrichtung zur Verwaltung und Konfiguration von Feldgeräten einer Automatisierungsanlage
US10671810B2 (en) 2015-02-20 2020-06-02 Hewlett-Packard Development Company, L.P. Citation explanations
US10095396B2 (en) 2015-03-08 2018-10-09 Apple Inc. Devices, methods, and graphical user interfaces for interacting with a control object while dragging another object
US9645732B2 (en) * 2015-03-08 2017-05-09 Apple Inc. Devices, methods, and graphical user interfaces for displaying and using menus
US9632664B2 (en) 2015-03-08 2017-04-25 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US9639184B2 (en) 2015-03-19 2017-05-02 Apple Inc. Touch input cursor manipulation
US20170045981A1 (en) 2015-08-10 2017-02-16 Apple Inc. Devices and Methods for Processing Touch Inputs Based on Their Intensities
US10025758B2 (en) * 2015-04-27 2018-07-17 Microsoft Technology Licensing, Llc Support for non-native file types in web application environment
US10592572B2 (en) 2015-06-05 2020-03-17 Apple Inc. Application view index and search
US10621189B2 (en) 2015-06-05 2020-04-14 Apple Inc. In-application history search
US10755032B2 (en) 2015-06-05 2020-08-25 Apple Inc. Indexing web pages with deep links
US10509834B2 (en) 2015-06-05 2019-12-17 Apple Inc. Federated search results scoring
US10200598B2 (en) 2015-06-07 2019-02-05 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
US9830048B2 (en) 2015-06-07 2017-11-28 Apple Inc. Devices and methods for processing touch inputs with instructions in a web page
US9891811B2 (en) 2015-06-07 2018-02-13 Apple Inc. Devices and methods for navigating between user interfaces
US9860451B2 (en) 2015-06-07 2018-01-02 Apple Inc. Devices and methods for capturing and interacting with enhanced digital images
CN105045773A (zh) * 2015-07-10 2015-11-11 北京奇虎科技有限公司 卡片模板式服务类短信的生成方法及装置
US9965445B2 (en) 2015-08-06 2018-05-08 FiftyThree, Inc. Systems and methods for gesture-based formatting
US9880735B2 (en) 2015-08-10 2018-01-30 Apple Inc. Devices, methods, and graphical user interfaces for manipulating user interface objects with visual and/or haptic feedback
US10235035B2 (en) 2015-08-10 2019-03-19 Apple Inc. Devices, methods, and graphical user interfaces for content navigation and manipulation
US10733370B2 (en) * 2015-08-18 2020-08-04 Change Healthcare Holdings, Llc Method, apparatus, and computer program product for generating a preview of an electronic document
US10191891B2 (en) * 2015-08-26 2019-01-29 Microsoft Technology Licensing, Llc Interactive preview teasers in communications
CN105487746A (zh) * 2015-08-28 2016-04-13 小米科技有限责任公司 搜索结果的呈现方法和装置
US9996222B2 (en) * 2015-09-18 2018-06-12 Samsung Electronics Co., Ltd. Automatic deep view card stacking
US20170091831A1 (en) * 2015-09-25 2017-03-30 Bookgrabbr, Inc. Automated generation of content-limited previews for electronic media in a sharing platform
US9696967B2 (en) * 2015-11-09 2017-07-04 Microsoft Technology Licensing, Llc Generation of an application from data
CN108604117A (zh) * 2015-12-01 2018-09-28 量子界面有限责任公司 基于运动的接口系统和装置以及使用可定向激活属性或者属性控制对象制成和使用它们的方法
CN106909278A (zh) * 2015-12-23 2017-06-30 北京奇虎科技有限公司 信息呈现方法及装置
US11003627B2 (en) 2016-04-21 2021-05-11 Microsoft Technology Licensing, Llc Prioritizing thumbnail previews based on message content
US10637986B2 (en) 2016-06-10 2020-04-28 Apple Inc. Displaying and updating a set of application views
DK201670595A1 (en) 2016-06-11 2018-01-22 Apple Inc Configuring context-specific user interfaces
CN107977138A (zh) 2016-10-24 2018-05-01 北京东软医疗设备有限公司 一种显示方法及装置
CN106528691A (zh) * 2016-10-25 2017-03-22 珠海市魅族科技有限公司 一种网页内容的处理方法及移动终端
US10606924B2 (en) 2016-11-18 2020-03-31 Microsoft Technology Licensing, Llc Contextual file manager
US11257038B2 (en) 2017-06-02 2022-02-22 Apple Inc. Event extraction systems and methods
US10664538B1 (en) 2017-09-26 2020-05-26 Amazon Technologies, Inc. Data security and data access auditing for network accessible content
US10726095B1 (en) 2017-09-26 2020-07-28 Amazon Technologies, Inc. Network content layout using an intermediary system
CN107977346B (zh) * 2017-11-23 2021-06-15 深圳市亿图软件有限公司 一种pdf文档编辑方法及终端设备
US10749831B2 (en) 2017-12-15 2020-08-18 Microsoft Technology Licensing, Llc Link with permission protected data preview
CN108196746A (zh) * 2017-12-27 2018-06-22 努比亚技术有限公司 一种文件展示方法及终端、存储介质
KR20190106044A (ko) * 2018-03-07 2019-09-18 삼성전자주식회사 웹 페이지의 표시 방법 및 전자 장치
US11249950B2 (en) 2018-04-27 2022-02-15 Dropbox, Inc. Aggregated details displayed within file browser interface
US11112948B2 (en) 2018-04-27 2021-09-07 Dropbox, Inc. Dynamic preview in a file browser interface
US11151086B2 (en) 2018-04-27 2021-10-19 Dropbox, Inc. Comment previews displayed in context within content item
CN108737881A (zh) * 2018-04-27 2018-11-02 晨星半导体股份有限公司 一种信号源实时动态预览方法及系统
US10901584B2 (en) * 2018-06-03 2021-01-26 Apple Inc. Devices, methods, and systems for manipulating user interfaces
KR102530285B1 (ko) * 2018-10-30 2023-05-08 삼성에스디에스 주식회사 콘텐츠 미리보기 화면 디스플레이 방법 및 장치
US11106748B2 (en) * 2019-06-28 2021-08-31 Atlassian Pty Ltd. Systems and methods for generating digital content item previews
CN113849090B (zh) * 2020-02-11 2022-10-25 荣耀终端有限公司 卡片显示方法、电子设备及计算机可读存储介质
CN112925576A (zh) * 2021-01-21 2021-06-08 维沃移动通信有限公司 物品链接处理方法、装置、电子设备及存储介质
US11618160B2 (en) * 2021-03-26 2023-04-04 UiPath, Inc. Integrating robotic process automations into operating and software systems
US11449188B1 (en) 2021-05-15 2022-09-20 Apple Inc. Shared-content session user interfaces
US11907605B2 (en) 2021-05-15 2024-02-20 Apple Inc. Shared-content session user interfaces
WO2023028599A1 (en) * 2021-08-27 2023-03-02 Rock Cube Holdings LLC Systems and methods for time-dependent hyperlink presentation
CN114356174A (zh) * 2021-12-21 2022-04-15 永中软件股份有限公司 在提示框中实现即时预览的方法、计算装置以及计算机可读介质
US20230418891A1 (en) * 2022-06-24 2023-12-28 Microsoft Technology Licensing, Llc Transferring link context from desktop application to browser
US11842143B1 (en) * 2022-08-30 2023-12-12 International Business Machines Corporation Techniques for thumbnail and preview generation based on document content

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222097A1 (en) * 2007-03-05 2008-09-11 Frank Lawrence Jania Apparatus, system, and method for an inline display of related blog postings
US20090313586A1 (en) * 2007-03-06 2009-12-17 Ravish Sharma Preview window including a storage context view of one or more computer resources

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5390281A (en) 1992-05-27 1995-02-14 Apple Computer, Inc. Method and apparatus for deducing user intent and providing computer implemented services
US5946647A (en) 1996-02-01 1999-08-31 Apple Computer, Inc. System and method for performing an action on a structure in computer-generated data
US5864789A (en) 1996-06-24 1999-01-26 Apple Computer, Inc. System and method for creating pattern-recognizing computer structures from example text
JPH11219313A (ja) * 1998-02-02 1999-08-10 Mitsubishi Electric Corp コンテンツ先読み方法
GB0206090D0 (en) * 2002-03-15 2002-04-24 Koninkl Philips Electronics Nv Previewing documents on a computer system
US20040205514A1 (en) * 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method
US7234114B2 (en) * 2003-03-24 2007-06-19 Microsoft Corporation Extensible object previewer in a shell browser
US8041701B2 (en) * 2004-05-04 2011-10-18 DG FastChannel, Inc Enhanced graphical interfaces for displaying visual data
US7437358B2 (en) 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US8032482B2 (en) * 2004-09-30 2011-10-04 Microsoft Corporation Method, system, and apparatus for providing a document preview
US7243298B2 (en) * 2004-09-30 2007-07-10 Microsoft Corporation Method and computer-readable medium for previewing and performing actions on attachments to electronic mail messages
US20060143568A1 (en) * 2004-11-10 2006-06-29 Scott Milener Method and apparatus for enhanced browsing
US7779343B2 (en) * 2006-01-30 2010-08-17 Microsoft Corporation Opening network-enabled electronic documents
US7752237B2 (en) * 2006-03-15 2010-07-06 Microsoft Corporation User interface having a search preview
US7747749B1 (en) * 2006-05-05 2010-06-29 Google Inc. Systems and methods of efficiently preloading documents to client devices
US8135617B1 (en) * 2006-10-18 2012-03-13 Snap Technologies, Inc. Enhanced hyperlink feature for web pages
US7761785B2 (en) * 2006-11-13 2010-07-20 Microsoft Corporation Providing resilient links
US8201096B2 (en) 2007-06-09 2012-06-12 Apple Inc. Browsing or searching user interfaces and other aspects
US9058337B2 (en) 2007-10-22 2015-06-16 Apple Inc. Previewing user interfaces and other aspects
US20090228804A1 (en) * 2008-03-05 2009-09-10 Microsoft Corporation Service Preview And Access From an Application Page
JP4752868B2 (ja) * 2008-05-23 2011-08-17 コニカミノルタビジネステクノロジーズ株式会社 画像処理装置、画像処理方法および画像処理プログラム
US20100241996A1 (en) * 2009-03-19 2010-09-23 Tracy Wai Ho XMB submenu preview
CN101770371A (zh) * 2010-03-17 2010-07-07 华为终端有限公司 应用主题内容预览方法及装置
JP5790255B2 (ja) * 2011-07-29 2015-10-07 ソニー株式会社 表示制御装置、表示制御方法、およびプログラム

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20080222097A1 (en) * 2007-03-05 2008-09-11 Frank Lawrence Jania Apparatus, system, and method for an inline display of related blog postings
US20090313586A1 (en) * 2007-03-06 2009-12-17 Ravish Sharma Preview window including a storage context view of one or more computer resources

Also Published As

Publication number Publication date
KR20130077882A (ko) 2013-07-09
BR112013007710A2 (pt) 2016-08-09
WO2012044679A2 (en) 2012-04-05
US20120084644A1 (en) 2012-04-05
EP2742422A2 (en) 2014-06-18
EP2742422B1 (en) 2016-11-23
CN103210371A (zh) 2013-07-17
WO2012044679A3 (en) 2012-07-05
EP3156900A1 (en) 2017-04-19
KR20160038074A (ko) 2016-04-06
MX2013003562A (es) 2013-06-28
KR101779308B1 (ko) 2017-09-18
AU2011308901A1 (en) 2013-05-09

Similar Documents

Publication Publication Date Title
KR101606920B1 (ko) 콘텐츠 프리뷰
JP6570583B2 (ja) フォルダを管理するためのデバイス、方法及びグラフィカル・ユーザインタフェース
CN114467068B (zh) 基于应用布局和用户工作流来定位用户界面组件
KR101450415B1 (ko) 다수의 뷰잉 영역을 통해 내비게이션하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
US10078414B2 (en) Cursor for presenting information regarding target
US8826164B2 (en) Device, method, and graphical user interface for creating a new folder
CN111339032B (zh) 管理具有多页面的文件夹的设备、方法和图形用户界面
KR101451882B1 (ko) 애플리케이션 콘텍스트로의 딥 링크를 위한 방법 및 시스템
CN108334264B (zh) 在便携式终端中用于提供多点触摸交互的方法和设备
KR102004553B1 (ko) 사용자 인터페이스에서의 작업 공간 관리
KR101394682B1 (ko) 상호 작용 팝업 뷰들을 갖는 장치, 방법 및 그래픽 사용자 인터페이스
US20140351697A1 (en) Methods and systems for opening a file
US20100289757A1 (en) Scanner with gesture-based text selection capability
US20100205559A1 (en) Quick-launch desktop application
US20100192066A1 (en) Method and system for a graphical user interface
US20100293460A1 (en) Text selection method and system based on gestures
KR20120123076A (ko) 첨부물 보기 및 편집을 위한 장치, 방법 및 그래픽 사용자 인터페이스
US20070045961A1 (en) Method and system providing for navigation of a multi-resource user interface
US20100070916A1 (en) Template skimming preview
AU2011308901B2 (en) Content preview
US20130290907A1 (en) Creating an object group including object information for interface objects identified in a group selection mode

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
X091 Application refused [patent]
AMND Amendment
X701 Decision to grant (after re-examination)
A107 Divisional application of patent
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20200218

Year of fee payment: 5