KR101579345B1 - 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스 - Google Patents

검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스 Download PDF

Info

Publication number
KR101579345B1
KR101579345B1 KR1020127020652A KR20127020652A KR101579345B1 KR 101579345 B1 KR101579345 B1 KR 101579345B1 KR 1020127020652 A KR1020127020652 A KR 1020127020652A KR 20127020652 A KR20127020652 A KR 20127020652A KR 101579345 B1 KR101579345 B1 KR 101579345B1
Authority
KR
South Korea
Prior art keywords
search result
map
search
path
selection
Prior art date
Application number
KR1020127020652A
Other languages
English (en)
Other versions
KR20120107131A (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 KR20120107131A publication Critical patent/KR20120107131A/ko
Application granted granted Critical
Publication of KR101579345B1 publication Critical patent/KR101579345B1/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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3667Display of a road map
    • G01C21/3676Overview of the route on the road map
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3605Destination input or retrieval
    • G01C21/3611Destination input or retrieval using character input or menus, e.g. menus of POIs
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3664Details of the user input interface, e.g. buttons, knobs or sliders, including those provided on a touch screen; remote controllers; input using gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0412Digitisers structurally integrated in a display
    • 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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • G06F3/0416Control or interface arrangements specially adapted for digitisers
    • 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/0485Scrolling or panning
    • 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
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04806Zoom, i.e. interaction techniques or interactors for controlling the zooming operation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/048Indexing scheme relating to G06F3/048
    • G06F2203/04808Several contacts: gestures triggering a specific function, e.g. scrolling, zooming, right-click, when the user establishes several contacts with the surface simultaneously; e.g. using several fingers or a combination of fingers and pen

Abstract

방법은 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 표시하는 단계; 상기 제1 필드에서 상기 제1 조회 입력을 수신하는 단계; 상기 제2 필드에서 상기 제2 조회 입력을 수신하는 단계; 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하는 단계; 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시하는 단계; 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지하는 단계; 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지하는 단계; 및 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하는 단계를 포함한다.

Description

검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스{DEVICE, METHOD, AND GRAPHICAL USER INTERFACE FOR MAPPING DIRECTIONS BETWEEN SEARCH RESULTS}
본 발명은 일반적으로 방향을 맵핑하는 디스플레이를 갖는 전자 장치를 포함하지만 이에 한정되지 않는 디스플레이를 갖는 전자 장치에 관한 것이다.
최근에 방향을 제공하는 전자 컴퓨팅 장치들의 사용이 크게 증가하였다. 방향을 제공하는 예시적인 전자 컴퓨팅 장치들은 내비게이션 시스템(예로서, 글로벌 포지셔닝 시스템(GPS) 내비게이션 시스템)을 포함한다. 그러한 장치들은 방향을 맵핑하기 위해 광범위하게 사용된다.
검색 결과들과 방향 맵핑을 통합하기 위한 기존의 방법들은 성가시고 비효율적이다. 예를 들어, 사용자가 시작 포인트에 대한 제1 검색을 수행하고, 검색 결과들의 제1 세트 내에서 시작 포인트를 식별하고, 종료 포인트에 대한 제2 검색을 수행하고, 제2 검색 결과들의 제2 세트 내에서 종료 포인트를 식별하고, 이어서 식별된 시작 포인트와 식별된 종료 포인트를 맵핑 애플리케이션에 입력하여, 식별된 시작 포인트와 식별된 종료 포인트 간의 경로(route)를 결정하는 것은 매우 지루하다. 이러한 프로세스는 사용자에 대한 상당한 인식 부담을 유발한다. 이러한 프로세스는 사용자가 시작 포인트 또는 종료 포인트에 대해 상이한 검색 결과를 선택하기를 원할 경우에 훨씬 더 지루해진다. 사람은 제한된 단기 기억 및 작업 기억 용량을 갖는 것으로 알려져 있다. M. Daneman and P. Carpenter, "Individual differences in working memory and reading Journal of Verbal Learning & Verbal Behavior", 19(4): 450-66 (1980); G. A. Miller, "The magical number seven, plus or minus two: Some limits on our capacity for processing information", Psychological Review, 63, 81-97 (1956)을 참고한다.) 사용자들은 그들의 제한된 기억 용량으로 인해 이전 검색들의 결과들을 쉽게 잊을 수 있으며, 따라서 동일 검색들을 반복해야 한다. 더구나, 사용자들은 이전 검색의 결과들을 나중 검색의 결과들과 관련시키는 어려움을 가질 수 있다. 이러한 문제들은 효율 및 생산성을 줄인다. 게다가, 기존 방법들은 필요 이상으로 오래 걸리며, 따라서 에너지를 낭비한다. 이러한 후자의 사항은 배터리로 작동되는 장치들에서 특히 중요하다.
따라서, 검색 결과들과 방향 맵핑을 통합하기 위한 더 빠르고 더 효율적인 방법들 및 인터페이스들을 갖는 컴퓨팅 장치들이 필요하다. 그러한 방법들 및 인터페이스들은 방향을 맵핑하기 위한 전통적인 방법들을 보완 또는 대체할 수 있다. 그러한 방법들 및 인터페이스들은 사용자의 인식 부담을 줄이며, 더 효율적인 사람-기계 인터페이스를 생성한다. 배터리로 작동되는 컴퓨팅 장치들에 대해, 그러한 방법들 및 인터페이스들은 전력을 보존하고, 배터리 충전들 간의 시간을 늘린다.
컴퓨팅 장치들에 대한 사용자 인터페이스들과 관련된 위의 결함들 및 다른 문제들은 개시되는 장치들에 의해 줄거나 제거된다. 일부 실시예들에서, 장치는 데스크탑 컴퓨터이다. 일부 실시예들에서, 장치는 휴대용(예를 들어, 노트북 컴퓨터, 태블릿 컴퓨터 또는 핸드헬드 장치)이다. 일부 실시예들에서, 장치는 터치패드를 갖는다. 일부 실시예들에서, 장치는 ("터치 스크린" 또는 "터치 스크린 디스플레이"로도 알려진) 터치 감지 디스플레이를 구비한다. 일부 실시예들에서, 장치는 음성 인식 시스템을 구비한다. 일부 실시예들에서, 장치는 그래픽 사용자 인터페이스(GUI), 하나 이상의 프로세서들, 메모리 및 다수의 기능들을 수행하기 위해 메모리에 저장된 하나 이상의 모듈들, 프로그램들 또는 명령어 세트들을 구비한다. 일부 실시예들에서, 사용자는 주로 터치 감지 표면 상에서의 손가락 접촉들 및 제스처들을 통해 GUI와 상호작용한다. 일부 실시예들에서, 기능들은 이미지 편집, 제도, 프레젠테이션, 워드 프로세싱, 웹사이트 생성, 디스크 저작, 스프레드시트 작성, 게임 실행, 통화, 비디오 회의, 이메일링, 인스턴트 메시징, 운동 지원, 디지털 사진 촬영, 디지털 비디오 촬영, 웹 브라우징, 디지털 음악 재생 및/또는 디지털 비디오 재생을 포함할 수 있다. 이러한 기능들을 수행하기 위한 실행 가능한 명령어들은 하나 이상의 프로세서들에 의한 실행을 위해 구성된 컴퓨터 판독 가능 저장 매체 또는 기타 컴퓨터 프로그램 제품에 포함될 수 있다.
일부 실시예들에 따르면, 디스플레이를 갖는 컴퓨팅 장치에서 방법이 수행된다. 이 방법은 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 표시하는 단계를 포함한다. 이 방법은 또한 상기 제1 필드에서 상기 제1 조회 입력을 수신하는 단계; 상기 제2 필드에서 상기 제2 조회 입력을 수신하는 단계; 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하는 단계; 및 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시하는 단계를 포함한다. 이 방법은 또한 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지하는 단계; 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지하는 단계; 상기 제1 검색 결과의 선택의 감지 및 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하는 단계를 포함한다.
일부 실시예들에 따르면, 컴퓨팅 장치는 디스플레이, 하나 이상의 프로세서들, 메모리 및 하나 이상의 프로그램들을 포함한다. 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성된다. 상기 하나 이상의 프로그램들은 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 표시하기 위한 명령어들을 포함한다. 상기 하나 이상의 프로그램들은 또한 상기 제1 필드에서 상기 제1 조회 입력을 수신하고; 상기 제2 필드에서 상기 제2 조회 입력을 수신하고; 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하고; 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시하기 위한 명령어들을 포함한다. 상기 하나 이상의 프로그램들은 또한 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지하고; 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지하고; 상기 제1 검색 결과의 선택의 감지 및 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하기 위한 명령어들을 포함한다.
일부 실시예들에 따르면, 디스플레이, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 컴퓨팅 장치 상의 그래픽 사용자 인터페이스는 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 포함한다. 상기 제1 필드에서 상기 제1 조회 입력을 수신한다. 상기 제2 필드에서 상기 제2 조회 입력을 수신한다. 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시한다. 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시한다. 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지한다. 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지한다. 상기 제1 검색 결과의 선택의 감지 및 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시한다.
일부 실시예들에 따르면, 컴퓨터 판독 가능 저장 매체는 명령어들을 저장하며, 상기 명령어들은 디스플레이를 갖는 컴퓨팅 장치에 의해 실행될 때 상기 장치로 하여금 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 표시하게 한다. 상기 명령어들은 또한 상기 장치로 하여금 상기 제1 필드에서 상기 제1 조회 입력을 수신하고; 상기 제2 필드에서 상기 제2 조회 입력을 수신하고; 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하고; 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시하게 한다. 상기 명령어들은 또한 상기 장치로 하여금 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지하고; 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지하고; 상기 제1 검색 결과의 선택의 감지 및 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하게 한다.
일부 실시예들에 따르면, 컴퓨팅 장치는 디스플레이; 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 표시하기 위한 수단을 포함한다. 상기 컴퓨팅 장치는 또한 상기 제1 필드에서 상기 제1 조회 입력을 수신하기 위한 수단; 상기 제2 필드에서 상기 제2 조회 입력을 수신하기 위한 수단; 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하기 위한 수단; 및 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시하기 위한 수단을 포함한다. 상기 컴퓨팅 장치는 또한 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지하기 위한 수단; 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지하기 위한 수단; 상기 제1 검색 결과의 선택의 감지 및 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하기 위한 수단을 포함한다.
일부 실시예들에 따르면, 디스플레이를 갖는 컴퓨팅 장치에서 사용하기 위한 정보 처리 장치는 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 표시하기 위한 수단을 포함한다. 상기 정보 처리 장치는 또한 상기 제1 필드에서 상기 제1 조회 입력을 수신하기 위한 수단; 상기 제2 필드에서 상기 제2 조회 입력을 수신하기 위한 수단; 상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하기 위한 수단; 및 상기 제1 조회 입력에 대한 제1 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2 복수의 검색 결과를 상기 지도 상에 동시에 표시하기 위한 수단을 포함한다. 상기 정보 처리 장치는 또한 상기 제1 복수의 검색 결과에서 제1 검색 결과의 선택을 감지하기 위한 수단; 상기 제2 복수의 검색 결과에서 제2 검색 결과의 선택을 감지하기 위한 수단; 및 상기 제1 검색 결과의 선택의 감지 및 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하기 위한 수단을 포함한다.
일부 실시예들에 따르면, 디스플레이 및 터치 감지 표면을 갖는 컴퓨팅 장치에서 방법이 수행된다. 상기 방법은 지도 상에 경로의 일부를 표시하는 단계; 및 다음 스텝 아이콘에 대응하는 상기 터치 감지 표면 상의 위치에서 복수의 제스처를 감지하는 단계를 포함한다. 상기 방법은 또한 상기 복수의 제스처 내의 각각의 제스처에 대해: 상기 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 현재 웨이포인트(waypoint)로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 상기 다음 웨이포인트를 포함하는 상기 경로의 일부를 표시하는 단계; 및 상기 각각의 제스처가 상기 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 상기 현재 웨이포인트로부터 상기 다음 웨이포인트로 이동하는 상기 애니메이션을 표시하지 않고, 상기 다음 웨이포인트를 포함하는 상기 경로의 상기 일부를 표시하는 단계를 포함한다.
일부 실시예들에 따르면, 컴퓨팅 장치는 디스플레이, 터치 감지 표면, 하나 이상의 프로세서들, 메모리 및 하나 이상의 프로그램들을 포함한다. 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성된다. 상기 하나 이상의 프로그램들은 지도 상에 경로의 일부를 표시하고; 다음 스텝 아이콘에 대응하는 상기 터치 감지 표면 상의 위치에서 복수의 제스처를 감지하기 위한 명령어들을 포함한다. 상기 하나 이상의 프로그램들은 또한, 상기 복수의 제스처 내의 각각의 제스처에 대해: 상기 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 상기 다음 웨이포인트를 포함하는 상기 경로의 일부를 표시하며; 상기 각각의 제스처가 상기 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 상기 현재 웨이포인트로부터 상기 다음 웨이포인트로 이동하는 상기 애니메이션을 표시하지 않고, 상기 다음 웨이포인트를 포함하는 상기 경로의 상기 일부를 표시하기 위한 명령어들을 포함한다.
일부 실시예들에 따르면, 디스플레이, 터치 감지 표면, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 컴퓨팅 장치 상의 그래픽 사용자 인터페이스는 지도 상의 경로의 일부를 포함한다. 다음 스텝 아이콘에 대응하는 상기 터치 감지 표면 상의 위치에서 복수의 제스처를 감지한다. 상기 복수의 제스처 내의 각각의 제스처에 대해: 상기 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 상기 다음 웨이포인트를 포함하는 상기 경로의 일부를 표시하며; 상기 각각의 제스처가 상기 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 상기 현재 웨이포인트로부터 상기 다음 웨이포인트로 이동하는 상기 애니메이션을 표시하지 않고, 상기 다음 웨이포인트를 포함하는 상기 경로의 상기 일부를 표시한다.
일부 실시예들에 따르면, 컴퓨터 판독 가능 저장 매체는 명령어들을 저장하며, 상기 명령어들은 디스플레이 및 터치 감지 표면을 갖는 컴퓨팅 장치에 의해 실행될 때 상기 장치로 하여금 지도 상에 경로의 일부를 표시하고; 다음 스텝 아이콘에 대응하는 상기 터치 감지 표면 상의 위치에서 복수의 제스처를 감지하게 한다. 상기 명령어들은 또한 상기 장치로 하여금 상기 복수의 제스처 내의 각각의 제스처에 대해: 상기 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 상기 다음 웨이포인트를 포함하는 상기 경로의 일부를 표시하며; 상기 각각의 제스처가 상기 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 상기 현재 웨이포인트로부터 상기 다음 웨이포인트로 이동하는 상기 애니메이션을 표시하지 않고, 상기 다음 웨이포인트를 포함하는 상기 경로의 상기 일부를 표시하게 한다.
일부 실시예들에 따르면, 컴퓨팅 장치는 디스플레이; 터치 감지 표면; 지도 상에 경로의 일부를 표시하기 위한 수단; 및 다음 스텝 아이콘에 대응하는 상기 터치 감지 표면 상의 위치에서 복수의 제스처를 감지하기 위한 수단을 포함한다. 상기 컴퓨팅 장치는 또한 상기 복수의 제스처 내의 각각의 제스처에 대해: 상기 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 상기 다음 웨이포인트를 포함하는 상기 경로의 일부를 표시하기 위한 수단; 및 상기 각각의 제스처가 상기 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 상기 현재 웨이포인트로부터 상기 다음 웨이포인트로 이동하는 상기 애니메이션을 표시하지 않고, 상기 다음 웨이포인트를 포함하는 상기 경로의 상기 일부를 표시하기 위한 수단을 포함한다.
일부 실시예들에 따르면, 디스플레이 및 터치 감지 표면을 갖는 컴퓨팅 장치에서 사용하기 위한 정보 처리 장치는 지도 상에 경로의 일부를 표시하기 위한 수단; 및 다음 스텝 아이콘에 대응하는 상기 터치 감지 표면 상의 위치에서 복수의 제스처를 감지하기 위한 수단을 포함한다. 상기 정보 처리 장치는 또한 상기 복수의 제스처 내의 각각의 제스처에 대해: 상기 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 상기 다음 웨이포인트를 포함하는 상기 경로의 일부를 표시하기 위한 수단; 및 상기 각각의 제스처가 상기 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 상기 경로 상의 상기 현재 웨이포인트로부터 상기 다음 웨이포인트로 이동하는 상기 애니메이션을 표시하지 않고, 상기 다음 웨이포인트를 포함하는 상기 경로의 상기 일부를 표시하기 위한 수단을 포함한다.
일부 실시예들에 따르면, 디스플레이를 갖는 컴퓨팅 장치에서 방법이 수행된다. 상기 방법은 상기 디스플레이 상에 지도를 표시하는 단계; 상기 지도를 표시하는 동안, 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하는 단계; 및 상기 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지하는 단계를 포함한다. 상기 방법은 또한 상기 이전 조회 입력들의 목록 내의 상기 이전 조회 입력의 선택을 감지하는 것에 응답하여, 상기 선택된 이전 조회 입력을 이용하여 검색을 개시하는 단계; 및 상기 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들을 상기 지도 상에 표시하는 단계를 포함한다.
일부 실시예들에 따르면, 컴퓨팅 장치는 디스플레이, 하나 이상의 프로세서들, 메모리 및 하나 이상의 프로그램들을 포함한다. 상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성된다. 상기 하나 이상의 프로그램들은 상기 디스플레이 상에 지도를 표시하고; 상기 지도를 표시하는 동안, 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하고; 상기 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지하기 위한 명령어들을 포함한다. 상기 컴퓨팅 장치는 또한 상기 이전 조회 입력들의 목록 내의 상기 이전 조회 입력의 선택을 감지하는 것에 응답하여, 상기 선택된 이전 조회 입력을 이용하여 검색을 개시하기 위한 명령어들; 및 상기 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들을 상기 지도 상에 표시하기 위한 명령어들을 포함한다.
일부 실시예들에 따르면, 디스플레이, 메모리, 및 상기 메모리에 저장된 하나 이상의 프로그램들을 실행하기 위한 하나 이상의 프로세서들을 갖는 컴퓨팅 장치 상의 그래픽 사용자 인터페이스는 상기 디스플레이 상의 지도를 포함한다. 상기 지도를 표시하는 동안, 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시한다. 상기 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지하는 것에 응답하여, 상기 선택된 이전 조회 입력을 이용하여 검색을 개시하고; 상기 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들을 상기 지도 상에 표시한다.
일부 실시예들에 따르면, 컴퓨터 판독 가능 저장 매체는 명령어들을 저장하며, 상기 명령어들은 디스플레이를 갖는 컴퓨팅 장치에 의해 실행될 때 상기 장치로 하여금 상기 디스플레이 상에 지도를 표시하고; 상기 지도를 표시하는 동안, 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하고; 상기 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지하게 한다. 상기 명령어들은 또한 상기 장치로 하여금 상기 이전 조회 입력들의 목록 내의 상기 이전 조회 입력의 선택을 감지하는 것에 응답하여, 상기 선택된 이전 조회 입력을 이용하여 검색을 개시하고; 상기 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들을 상기 지도 상에 표시하게 한다.
일부 실시예들에 따르면, 컴퓨팅 장치는 디스플레이; 상기 디스플레이 상에 지도를 표시하기 위한 수단; 상기 지도를 표시하는 동안, 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하기 위한 수단; 및 상기 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지하기 위한 수단을 포함한다. 상기 컴퓨팅 장치는 또한 상기 이전 조회 입력들의 목록 내의 상기 이전 조회 입력의 선택을 감지하는 것에 응답하여, 상기 선택된 이전 조회 입력을 이용하여 검색을 개시하기 위한 수단; 및 상기 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들을 상기 지도 상에 표시하기 위한 수단을 포함한다.
일부 실시예들에 따르면, 디스플레이를 갖는 컴퓨팅 장치에서 사용하기 위한 정보 처리 장치는 상기 디스플레이 상에 지도를 표시하기 위한 수단; 상기 지도를 표시하는 동안, 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하기 위한 수단; 및 상기 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지하기 위한 수단을 포함한다. 상기 정보 처리 장치는 또한 상기 이전 조회 입력들의 목록 내의 상기 이전 조회 입력의 선택을 감지하는 것에 응답하여, 상기 선택된 이전 조회 입력을 이용하여 검색을 개시하기 위한 수단; 및 상기 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들을 상기 지도 상에 표시하기 위한 수단을 포함한다.
따라서, 디스플레이들을 갖는 컴퓨팅 장치들은 검색 결과들과 방향 맵핑을 통합하여, 그러한 장치들의 유효성, 효율 및 사용자 만족도를 향상시키기 위한 더 빠르고 더 효율적인 방법들 및 인터페이스들을 구비한다. 그러한 방법들 및 인터페이스들은 방향을 맵핑하기 위한 전통적인 방법들을 보완 또는 대체할 수 있다.
본 발명의 상기 실시예 및 추가적인 실시예에 대한 더 양호한 이해를 위하여, 첨부된 도면과 함께 이하의 실시예들의 설명이 참조되어야 하며, 동일한 참조 번호들은 도면 전체에 걸쳐 대응 요소들을 지칭한다.
도 1a 및 1b는 일부 실시예들에 따른 터치-감지 디스플레이를 구비한 휴대용 다기능 장치를 도시하는 블록도이다.
도 1c는 일부 실시예들에 따른 이벤트 처리를 위한 예시적인 컴포넌트들을 나타내는 블록도이다.
도 2는 일부 실시예들에 따른 터치 스크린을 가진 휴대용 다기능 장치를 도시한다.
도 3은 일부 실시예들에 따른 디스플레이 및 터치 감지 표면을 갖는 예시적인 다기능 장치의 블록도이다.
도 4a 및 4b는 일부 실시예들에 따른 휴대용 다기능 장치 상의 애플리케이션들의 메뉴를 위한 예시적인 사용자 인터페이스들을 도시한다.
도 4c는 일부 실시예들에 따른 디스플레이로부터 분리된 터치 감지 표면을 갖는 다기능 장치를 위한 예시적인 사용자 인터페이스를 나타낸다.
도 5a-5eee는 일부 실시예들에 따른 검색 결과들 사이에서 방향을 맵핑하기 위한 예시적인 사용자 인터페이스들을 나타낸다.
도 6a-6b는 일부 실시예들에 따른 검색 결과들 사이에서 방향을 맵핑하는 방법을 나타내는 흐름도들이다.
도 7a-7b는 일부 실시예들에 따른 경로의 부분들을 맵핑하는 방법을 나타내는 흐름도들이다.
도 8a-8c는 일부 실시예들에 따른 이전 조회 결과들의 목록을 갖는 팝업 뷰를 표시하는 방법을 나타내는 흐름도들이다.
이하, 첨부된 도면에 그 예가 도시된 실시예들에 대해 상세하게 언급할 것이다. 이하의 상세한 설명에서, 본 발명의 철저한 이해를 제공하기 위하여 다수의 특정 세부사항이 상술된다. 그러나, 이러한 특정 세부사항 없이도 본 발명이 실시될 수 있음은 당업자에게 자명할 것이다. 한편, 실시예의 양태를 불필요하게 모호하게 하지 않도록, 공지된 방법, 절차, 컴포넌트, 회로 및 네트워크에 대해서는 상세하게 설명하지 않았다.
또한, 본 명세서에 제1, 제2 등의 용어가 다양한 구성요소를 설명하기 위해 사용될 수 있지만, 이들 구성요소는 이러한 용어에 의해 한정되지 않아야 한다. 이러한 용어는 구성요소 간의 구별을 위해서 사용될 뿐이다. 예컨대, 본 발명의 기술적 사상으로부터 벗어나지 않고, 제1 접촉은 제2 접촉이라고 지칭될 수 있고, 유사하게 제2 접촉은 제1 접촉이라고 지칭될 수 있다. 제1 접촉 및 제2 접촉은 모두 접촉이지만, 이들은 동일한 접촉은 아니다.
본 발명의 명세서에 사용된 용어는 특정 실시예를 설명하기 위한 것일 뿐이며 본 발명을 제한하는 것으로 의도된 것이 아니다. 본 발명의 명세서 및 첨부된 특허청구범위에 사용된, "일", "하나의" 및 "상기"라는 단수형은 문맥상 명확하게 달리 지적하지 않은 이상 복수형도 포함하는 것으로 의도된 것이다. 또한, 본 명세서에 사용된 "및/또는"이라는 용어는 열거된 관련 아이템들 중 하나 이상의 아이템의 가능한 모든 조합을 지칭하고 포함하는 것임을 이해할 것이다. "구비한다", "구비하는", "포함한다" 및/또는 "포함하는"이라는 용어는, 본 명세서에서 사용되는 경우, 언급된 특징, 정수, 단계, 동작, 구성요소 및/또는 컴포넌트의 존재를 나타내지만, 하나 이상의 다른 특징, 정수, 단계, 동작, 구성요소, 컴포넌트 및/또는 이들의 그룹의 존재 또는 추가를 배제하지 않음을 더 이해할 것이다.
본 명세서에 사용되는 "~인 경우"이란 용어는 상황에 따라 "~인 때" 또는 "~와 동시에" 또는 "판단에 응답하여" 또는 "감지에 응답하여"를 의미하는 것으로 해석될 수 있다. 유사하게, "판단되는 경우" 또는 "[언급된 조건 또는 이벤트가] 감지되는 경우"이란 구문은 문맥에 따라 "판단되면" 또는 "판단에 응답하여" 또는 "[언급된 조건 또는 이벤트가] 감지되면" 또는 "[언급된 조건 또는 이벤트의] 감지에 응답하여"를 의미하는 것으로 해석되어야 한다.
본 명세서에서 사용되는 "조회 입력"이라는 용어는 검색 결과들과 관련된 조회 입력들(예로서, 검색 용어들)을 지칭하며, 검색 결과들의 적어도 서브세트는 지도 상에 표시된다.
본 명세서에서 사용되는 "대화 인식" 또는 "음성 인식"이라는 용어는 대화 및/또는 음성에 기초하는 오디오 입력들을 지칭하기 위해 대체 가능하게 사용된다. 본 명세서에서 사용되는 "음성 명령"이라는 용어는 장치들 내의 각각의 액션들을 개시하는 대화 및/또는 음성에 기초하는 오디오 입력들을 지칭한다.
컴퓨팅 장치들, 그러한 장치들을 위한 사용자 인터페이스들, 그리고 그러한 장치들을 사용하기 위한 관련 프로세스들의 실시예들이 기술된다. 일부 실시예들에서, 컴퓨팅 장치는 PDA 및/또는 음악 플레이어 기능들 등의 다른 기능들을 더 포함하는 이동 전화와 같은 휴대용 통신 장치이다. 휴대용 다기능 장치들의 예시적인 실시예들은 캘리포니아, 쿠퍼티노의 애플사로부터의 iPhone® 및 iPod Touch® 장치들을 포함하지만 이에 한정되지 않는다. 터치 감지 표면들(예로서, 터치 스크린 디스플레이들 및/또는 터치 패드들)을 갖는 랩탑들 또는 태블릿 컴퓨터들과 같은 다른 휴대용 장치들도 사용될 수 있다. 일부 실시예들에서, 장치들은 휴대용 통신 장치가 아니라, 터치 감지 표면(예로서, 터치 스크린 디스플레이 및/또는 터치 패드)을 갖는 데스크탑 컴퓨터라는 것도 이해해야 한다.
아래의 설명에서는 디스플레이 및 터치 감지 표면을 포함하는 컴퓨팅 장치가 설명된다. 그러나, 컴퓨팅 장치는 물리 키보드, 마우스 및/또는 조이스틱과 같은 하나 이상의 다른 물리적 사용자 인터페이스 장치들을 포함할 수 있다는 것을 이해해야 한다. 또한, 컴퓨팅 장치는 음성 인식 시스템을 포함할 수 있다.
장치는, 제도 애플리케이션, 프레젠테이션 애플리케이션, 워드 프로세싱 애플리케이션, 웹사이트 생성 애플리케이션, 디스크 저작 애플리케이션, 스프레드시트 애플리케이션, 게이밍 애플리케이션, 통화 애플리케이션, 비디오 회의 애플리케이션, 이메일 애플리케이션, 인스턴트 메시징 애플리케이션, 운동 지원 애플리케이션, 사진 관리 애플리케이션, 디지털 카메라 애플리케이션, 디지털 비디오 카메라 애플리케이션, 웹 브라우징 애플리케이션, 디지털 음악 플레이어 애플리케이션 및/또는 디지털 비디오 플레이어 애플리케이션 중 하나 이상의 애플리케이션과 같은 다양한 애플리케이션을 지원한다.
장치 상에서 실행될 수 있는 다양한 애플리케이션은 터치 감지 표면 등의 적어도 하나의 공통의 물리적 사용자 인터페이스를 사용할 수 있다. 터치 감지 표면의 하나 이상의 기능뿐만 아니라 장치 상에 표시되는 대응 정보가 애플리케이션별로 그리고/또는 각 애플리케이션 내에서 조정 및/또는 변경될 수 있다. 이러한 방식으로, 장치의 (터치 감지 표면 등의) 공통의 물리적 아키텍처는 직관적이고 사용자에게 투명한 사용자 인터페이스들을 갖는 다양한 애플리케이션을 지원할 수 있다.
사용자 인터페이스는 하나 이상의 소프트 키보드 실시예를 포함할 수 있다. 소프트 키보드 실시예는, 그 내용 전체가 본 명세서에 참조문헌으로서 포함되는 2006년 7월 24일 출원된 미국 특허출원 제11/459,606호, "Keyboards For Portable Electronic Devices" 및 2006년 7월 24일 출원된 미국 특허출원 제11/459,615호, "Touch Screen Keyboards For Portable Electronic Devices"에 기술된 것과 같은, 키보드의 표시된 아이콘 상에 표준 구성(QWERTY) 및/또는 비표준 구성의 심볼을 포함할 수 있다. 키보드 실시예는 타자기를 위한 것과 같은 기존 물리적 키보드의 키 개수보다 적은 수의 아이콘(또는 소프트 키)을 포함할 수 있다. 이를 통해 사용자가 키보드의 하나 이상의 아이콘을 선택하고 그에 따라 하나 이상의 해당 심볼을 선택하는 것이 용이해질 수 있다. 키보드 실시예는 적응적일 수 있다. 예컨대, 표시된 아이콘은 하나 이상의 아이콘의 선택 및/또는 하나 이상의 해당 심볼의 선택과 같은 사용자 액션에 따라 수정될 수 있다. 휴대용 장치 상의 하나 이상의 애플리케이션은 공통의 키보드 실시예 및/또는 상이한 키보드 실시예를 이용할 수 있다. 따라서, 사용되는 키보드 실시예는 애플리케이션 중 적어도 일부에 대해 맞춤화될(tailored) 수 있다. 일부 실시예들에서, 하나 이상의 키보드 실시예는 각 사용자에 대해 맞춤화될 수 있다. 예컨대, 하나 이상의 키보드 실시예는 각 사용자의 단어 사용 기록(사전 편찬법, 속어, 개별 사용량)에 기초하여 각 사용자에 대해 맞춤화될 수 있다. 키보드 실시예 중 일부는 소프트 키보드 실시예를 사용하는 경우 하나 이상의 아이콘을 선택하고 그에 따라 하나 이상의 심볼을 선택할 때 사용자가 실수할 확률을 줄이도록 조정될 수 있다.
이하, 터치 감지 디스플레이를 갖는 휴대용 장치의 실시예에 대하여 논한다. 도 1a 및 1b는 일부 실시예들에 따른 터치-감지 디스플레이(112)를 구비한 휴대용 다기능 장치(100)를 도시하는 블록도이다. 터치-감지 디스플레이(112)는 편의상 "터치 스크린"이라 지칭되고, 터치-감지 디스플레이 시스템으로도 알려지거나 지칭될 수 있다. 장치(100)는 (하나 이상의 컴퓨터 판독가능 저장 매체를 포함할 수 있는) 메모리(102), 메모리 컨트롤러(122), 하나 이상의 처리 장치(CPU)(120), 주변장치 인터페이스(118), RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 입출력(I/O) 서브시스템(106), 기타 입력 또는 출력 장치(116) 및 외부 포트(124)를 포함할 수 있다. 장치(100)는 하나 이상의 광센서(164)를 포함할 수 있다. 이러한 컴포넌트들은 하나 이상의 통신 버스 또는 신호선(103)을 통해 통신할 수 있다.
장치(100)가 휴대용 다기능 장치의 일례일 뿐이고 장치(100)가 도시된 것보다 많거나 적은 컴포넌트를 구비하거나, 2개 이상의 컴포넌트를 결합시키거나, 상이한 컴포넌트 구성 또는 배치를 가질 수 있음이 인정되어야 한다. 도 1a 및 1b에 도시된 다양한 컴포넌트는, 하나 이상의 신호 처리 및/또는 애플리케이션 특화된 집적 회로를 포함하는, 하드웨어, 소프트웨어, 또는 하드웨어 및 소프트웨어 양자의 조합으로 구현될 수 있다.
메모리(102)는 고속 랜덤 액세스 메모리(high-speed random access memory)를 포함할 수 있고, 또한 하나 이상의 자기 디스크 저장 장치, 플래시 메모리 장치 또는 기타 비휘발성 고체 상태 메모리 장치(non-volatile solid-state memory device) 등의 비휘발성 메모리를 포함할 수 있다. CPU(120) 및 주변장치 인터페이스(118)와 같은 장치(100)의 다른 컴포넌트에 의한 메모리(102)에 대한 액세스는 메모리 컨트롤러(122)에 의해 제어될 수 있다.
주변장치 인터페이스(118)는 장치의 입력 및 출력 주변장치를 CPU(120) 및 메모리(102)에 결합하는 데 사용될 수 있다. 하나 이상의 프로세서(120)는 메모리(102)에 저장된 다양한 소프트웨어 프로그램 및/또는 명령어 집합을 실행하여 장치(100)를 위한 다양한 기능을 수행하고 데이터를 처리할 수 있다.
일부 실시예들에서, 주변장치 인터페이스(118), CPU(120) 및 메모리 컨트롤러(122)는 칩(104)과 같은 단일 칩 상에 구현될 수 있다. 일부 다른 실시예에서, 이들은 개별 칩 상에 구현될 수 있다.
RF(라디오 주파수) 회로(108)는 전자기 신호(electromagnetic signal)라고도 알려진 RF 신호를 송수신한다. RF 회로(108)는 전기 신호를 전자기 신호로 변환하거나 전자기 신호로부터 전기 신호로 변환하고, 전자기 신호를 통해 통신 네트워크 및 다른 통신 장치와 통신한다. RF 회로(108)는 이러한 기능을 수행하기 위한 공지된 회로를 포함할 수 있는데, 이러한 회로는 안테나 시스템, RF 송수신기, 하나 이상의 증폭기, 튜너, 하나 이상의 발진기(oscillator), 디지털 신호 처리기, CODEC 칩셋, 가입자 식별 모듈(SIM) 카드, 메모리 등을 포함하지만 이들로 한정되지 않는다. RF 회로(108)는, 셀룰러 전화 네트워크, 무선 LAN(local area network) 및/또는 MAN(metropolitan area network) 등의 무선 네트워크, 인트라넷, 및/또는 월드 와이드 웹(WWW)이라고도 불리는 인터넷과 같은 네트워크 및 기타 장치와 무선 통신에 의해 통신할 수 있다. 이러한 무선 통신에는, GSM(Global System for Mobile Communications), EDGE(Enhanced Data GSM Environment), HSDPA(high-speed downlink packet access), W-CDMA(wideband code division multiple access), CDMA(code division multiple access), TDMA(time division multiple access), 블루투스(Bluetooth), (IEEE 802.11a, IEEE 802.11b, IEEE 802.11g 및/또는 IEEE 802.11n 등의) Wi-Fi(Wireless Fidelity), VoIP(voice over Internet Protocol), Wi-MAX, (IMAP(Internet message access protocol) 및/또는 POP(post office protocol) 등의) 이메일용 프로토콜, (XMPP(extensible messaging and presence protocol), SIMPLE(Session Initiation Protocol for Instant Messaging and Presence Leveraging Extensions), IMPS(Instant Messaging and Presence Service), 및/또는 SMS(Short Message Service) 등의) 인스턴트 메시징, 또는 본원의 제출일 당시에 개발되지 않은 통신 프로토콜을 포함하는 임의의 다른 적합한 통신 프로토콜을 포함하지만 이들로 한정되지 않는 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것이 사용될 수 있다.
오디오 회로(110), 스피커(111) 및 마이크로폰(113)은 사용자와 장치(100) 사이의 오디오 인터페이스를 제공한다. 오디오 회로(110)는 주변장치 인터페이스(118)로부터 오디오 데이터를 수신하고, 오디오 데이터를 전기 신호로 변환하며, 전기 신호를 스피커(111)로 송신한다. 스피커(111)는 전기 신호를 가청 음파(human-audible sound wave)로 변환한다. 오디오 회로(110)는 또한 마이크로폰(113)에 의해 음파로부터 변환된 전기 신호를 수신한다. 오디오 회로(110)는 전기 신호를 오디오 데이터로 변환하고, 처리를 위해 오디오 데이터를 주변장치 인터페이스(118)에 송신한다. 오디오 데이터는 주변장치 인터페이스(118)에 의해 메모리(102) 및/또는 RF 회로(108)로부터 검색되거나 그들로 송신될 수 있다. 일부 실시예들에서, 오디오 회로(110)는 (도 2의 212와 같은) 헤드셋 잭(headset jack)을 더 포함한다. 헤드셋 잭은 (한쪽귀용 또는 양쪽귀용 헤드폰 등의) 출력과 (마이크로폰 등의) 입력을 모두 구비한 헤드셋 또는 출력-전용 헤드폰과 같은 이동식 오디오 입/출력 주변장치와 오디오 회로(110) 사이의 인터페이스를 제공한다.
I/O 서브시스템(106)은 터치 스크린(112) 및 기타 입력/제어 장치(116)와 같은 장치(100) 상의 입/출력 주변장치를 주변장치 인터페이스(118)에 결합시킨다. I/O 서브시스템(106)은 디스플레이 컨트롤러(156) 및 기타 입력 또는 제어 장치를 위한 하나 이상의 입력 컨트롤러(160)를 포함할 수 있다. 하나 이상의 입력 컨트롤러(160)는 기타 입력 또는 제어 장치(116)로부터 전기 신호를 수신하거나 그것으로 송신할 수 있다. 기타 입력/제어 장치(116)는 (푸시 버튼, 락커 버튼 등의) 물리적 버튼, 다이얼, 슬라이더 스위치, 조이스틱, 클릭 휠 등을 포함할 수 있다. 일부 다른 실시예에서, 입력 컨트롤러(들)(160)는 키보드, 적외선 포트, USB 포트 및 마우스 등 포인터 장치 중 임의의 것과 결합될 수 있다(또는 이들 중 아무것과도 결합되지 않을 수 있다). (도 2의 208과 같은) 하나 이상의 버튼은 스피커(111) 및/또는 마이크로폰(113)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다. 하나 이상의 버튼은 (도 2의 206과 같은) 푸시 버튼을 포함할 수 있다. 본 명세서에 참조문헌으로서 포함되는 2005년 12월 23일 출원된 미국 특허출원 제11/322,549호, "Unlocking a Device by Performing Gestures on an Unlock Image"에 기술된 바와 같이, 푸시 버튼을 짧게 누르면, 터치 스크린(112)이 잠금해제되거나, 터치 스크린 상의 제스처를 사용하여 장치를 잠금해제하는 프로세스가 개시될 수 있다. (206 등의) 푸시 버튼을 길게 누르면, 장치(100)에 대한 전원을 턴온 또는 턴오프할 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능성을 맞춤화하는 것이 가능할 수 있다. 터치 스크린(112)은 가상 버튼이나 소프트 버튼 및 하나 이상의 소프트 키보드를 구현하는데 사용된다.
터치-감지 디스플레이(112)는 장치와 사용자 사이의 입력 인터페이스 및 출력 인터페이스를 제공한다. 디스플레이 컨트롤러(156)는 터치 스크린(112)으로부터 전기 신호를 수신하거나, 터치 스크린(112)으로 전기 신호를 송신하거나, 송수신을 모두 행할 수 있다. 터치 스크린(112)은 사용자에 대한 시각적 출력을 표시한다. 시각적 출력은 그래픽, 텍스트, 아이콘, 비디오 및 이들의 임의의 조합(총괄하여 "그래픽"이라고 지칭됨)을 포함할 수 있다. 일부 실시예들에서, 시각적 출력의 일부 또는 전부는 사용자-인터페이스 객체들(user-interface object)에 대응할 수 있다.
터치 스크린(112)은 햅틱 접촉(haptic contact) 및/또는 택틸(tactile) 접촉에 기초하여 사용자로부터의 입력을 받아들이는 터치-감지 표면, 센서 또는 센서 집합을 구비한다. 터치 스크린(112) 및 디스플레이 컨트롤러(156)는 (메모리(102)의 임의의 관련 모듈 및/또는 명령어 집합과 함께) 터치 스크린(112) 상의 접촉(및 접촉의 임의의 움직임(movement)이나 해제)을 감지하고 감지된 접촉을 터치 스크린(112) 상에 표시된 (하나 이상의 소프트 키, 아이콘, 웹 페이지 또는 이미지 등의) 사용자-인터페이스 객체와의 상호 작용으로 변환한다. 예시적인 실시예에서, 터치 스크린(112)과 사용자 사이의 접촉점은 사용자의 손가락에 대응한다.
터치 스크린(112)에는 LCD(액정 디스플레이) 기술 또는 LPD(발광 중합체 디스플레이) 기술 또는 LED(발광 다이오드) 기술이 사용될 수 있지만, 기타 디스플레이 기술이 다른 실시예에서 사용될 수 있다. 터치 스크린(112) 및 디스플레이 컨트롤러(156)는, 용량식(capacitive), 저항식(resistive), 적외선(infrared) 및 표면 음파(surface acoustic wave) 기술들을 포함하지만 이들로 한정되지 않는, 이미 공지되었거나 추후 개발될 복수의 터치 감지 기술 중 임의의 것을 이용하는 동시에, 다른 근접 센서 배열(proximity sensor array) 또는 터치 스크린(112)과의 하나 이상의 접촉점을 판단하기 위한 기타 구성요소를 이용하여 접촉 및 그것의 임의의 움직임이나 해제를 감지할 수 있다. 예시적인 실시예에서는, 캘리포니아, 쿠퍼티노의 애플사로부터의 iPhone® 및 iPod Touch®에서 발견되는 것과 같은 투영 상호 용량 감지 기술이 이용된다.
터치 스크린(112)의 일부 실시예들에서의 터치-감지 디스플레이는, 본 명세서에 그 전체가 각각 참조문헌으로 포함되는 미국 특허 제6,323,846호(Westerman 외), 제6,570,557호(Westerman 외) 및/또는 제6,677,932호(Westerman), 및/또는 미국 특허공개공보 제2002/0015024호에 설명된 멀티-터치 감지 터치패드와 유사할 수 있다. 그러나, 터치 스크린(112)은 휴대용 장치(100)로부터의 시각적 출력을 표시하는 반면, 터치 감지 터치패드는 시각적 출력을 제공하지 않는다.
터치 스크린(112)의 일부 실시예들에서의 터치-감지 디스플레이는 ⑴ 2006년 5월 2일 출원된 미국 특허출원 제11/381,313호, "Multipoint Touch Surface Controller", ⑵ 2004년 5월 6일 출원된 미국 특허출원 제10/840,862호, "Multipoint Touchscreen", ⑶ 2004년 7월 30일 출원된 미국 특허출원 10/903,964호, "Gestures For Touch Sensitive Input Devices", ⑷ 2005년 1월 31일 출원된 미국 특허출원 제11/048,264호, "Gestures For Touch Sensitive Input Devices", ⑸ 2005년 1월 18일 출원된 미국 특허출원 제11/038,590호, "Mode-Based Graphical User Interfaces For Touch Sensitive Input Devices", ⑹ 2005년 9월 16일 출원된 미국 특허출원 제11/228,758호, "Virtual Input Device Placement On A Touch Screen User Interface", ⑺ 2005년 9월 16일 출원된 미국 특허출원 제11/228,700호, "Operation Of A Computer With A Touch Screen Interface", ⑻ 2005년 9월 16일 출원된 미국 특허출원 제11/228,737호, "Activating Virtual Keys Of A Touch-Screen Virtual Keyboard", ⑼ 2006년 3월 3일 출원된 미국 특허출원 제11/367,749호, "Multi-Functional Hand-Held Device"에 설명된 것과 같을 수 있다. 위 출원 모두는 그 전체가 본 명세서에 참조문헌으로 포함된다.
터치 스크린(112)은 100dpi를 넘는 해상도를 가질 수 있다. 일부 실시예에서, 터치 스크린은 대략 160dpi의 해상도를 가질 수 있다. 사용자는 스타일러스, 손가락 등과 같은 임의의 적합한 물체 또는 부속물(appendage)을 사용하여 터치 스크린(112)과 접촉할 수 있다. 일부 실시예들에서, 사용자 인터페이스는 주로 손가락-기반 접촉 및 제스처를 이용하여 동작하도록 설계되는데, 이러한 손가락-기반 접촉 및 제스처는 스타일러스-기반의 입력에 비해 터치 스크린 상에서의 손가락의 접촉 면적이 보다 넓기 때문에 덜 정확하다. 일부 실시예들에서, 장치는 개략적인(rough) 손가락-기반 입력을 사용자가 원하는 액션을 수행하기 위한 정확한 포인터/커서 위치 또는 명령으로 번역한다.
일부 실시예들에서, 장치(100)는 터치 스크린 외에도 특정 기능을 활성화하거나 비활성화하기 위한 터치패드(도시 생략)를 포함할 수 있다. 일부 실시예들에서, 터치패드는 터치 스크린과 달리 시각적 출력을 표시하지 않는, 장치의 터치-감지 영역이다. 터치패드는 터치 스크린(112)으로부터 분리된 터치-감지 표면이거나, 터치 스크린에 의해 형성된 터치-감지 표면의 연장일 수 있다.
일부 실시예들에서, 장치(100)는 입력 제어 장치(116)로서 물리적 혹은 가상 휠(예를 들면, 클릭 휠)을 포함할 수 있다. 사용자는 클릭 휠을 돌리거나 (예컨대, 접촉점의 움직임 량이 클릭 휠의 중심점에 대한 접촉점의 각 변위에 의해 측정되는 경우에는) 클릭 휠과의 접촉점을 움직임으로써, 터치 스크린(112)에 표시된 하나 이상의 그래픽 객체(예를 들면, 아이콘)를 내비게이션하고 그것들과 상호 작용할 수 있다. 클릭 휠은 또한 표시된 아이콘들 중 하나 이상의 아이콘을 선택하는데 사용될 수 있다. 예컨대, 사용자는 관련 버튼 또는 클릭 휠의 적어도 일부분을 누를 수 있다. 클릭 휠을 통해 사용자에 의해 제공되는 사용자 명령 및 내비게이션 명령은 입력 컨트롤러(160)뿐만 아니라 메모리(102)의 명령어 집합 및/또는 모듈들 중 하나 이상에 의해 처리될 수 있다. 가상 클릭 휠의 경우, 클릭 휠 및 클릭 휠 컨트롤러는 각각 터치 스크린(112) 및 디스플레이 컨트롤러(156)의 일부일 수 있다. 가상 클릭 휠의 경우, 클릭 휠은 장치와의 사용자의 상호 작용에 응답하여 터치 스크린 디스플레이상에 나타나고 사라지는 불투명하거나 반투명한 객체일 수 있다. 일부 실시예들에서, 가상 클릭 휠은 휴대용 다기능 장치의 터치 스크린 상에 표시되고 터치 스크린과의 사용자 접촉에 의해 동작된다.
장치(100)는 또한 다양한 컴포넌트에 전력을 공급하는 전력 시스템(162)을 포함한다. 전력 시스템(162)은 전력 관리 시스템, (배터리, 교류(AC) 등의) 하나 이상의 전원, 충전 시스템, 전력 실패 감지 회로(power failure detection circuit), 전력 변환기 또는 인버터, (발광 다이오드(LED) 등의) 전력 상태 표시자 및 휴대용 장치의 전력 생성, 관리 및 분배와 연관된 임의의 다른 컴포넌트를 포함할 수 있다.
장치(100)는 또한 하나 이상의 광센서(164)를 포함할 수 있다. 도 1a 및 1b는 I/O 서브시스템(106)의 광센서 컨트롤러(158)에 결합된 광센서를 도시한다. 광센서(164)는 전하 결합 소자(CCD) 또는 상보형 금속 산화막 반도체(CMOS) 포토트랜지스터를 포함할 수 있다. 광센서(164)는 하나 이상의 렌즈를 통해 투사되는, 환경으로부터의 광을 수신하고 그 광을 이미지를 나타내는 데이터로 변환한다. (카메라 모듈이라고도 지칭되는) 이미징 모듈(143)과 함께, 광센서(164)는 정지 이미지 또는 비디오를 캡처할 수 있다. 일부 실시예들에서, 터치 스크린 디스플레이가 정지 및/또는 비디오 이미지 획득 중 어느 하나를 위한 뷰파인더로서 사용될 수 있도록, 장치의 전면 상의 터치 스크린 디스플레이(112)에 대향하여, 광센서가 장치(100)의 후면에 배치된다. 일부 실시예들에서, 사용자가 터치 스크린 디스플레이 상에서 다른 비디오 회의 참가자를 보는 동안 사용자의 이미지가 비디오 회의를 위해 획득될 수 있도록, 광센서가 장치의 전면에 배치된다. 일부 실시예들에서, 하나의 광센서(164)가 비디오 회의 및 정지 및/또는 비디오 이미지 획득 양자 모두에 대해 터치 스크린 디스플레이와 함께 사용될 수 있도록, 사용자가 (예컨대, 장치 하우징의 렌즈 및 센서를 회전시킴으로써) 광센서(164)의 위치를 변경할 수 있다.
장치(100)는 또한 하나 이상의 근접 센서(proximity sensor; 166)를 포함할 수 있다. 도 1a 및 1b는 주변장치 인터페이스(118)에 결합된 근접 센서(166)를 도시한다. 또는, 근접 센서(166)는 I/O 서브시스템(106)의 입력 컨트롤러(160)에 결합될 수 있다. 근접 센서(166)는, 본 명세서에 그 전체가 참조문헌으로 포함되는 미국 특허출원 제11/241,839호, "Proximity Detector In Handheld Device"; 제11/240,788호, "Proximity Detector In Handheld Device"; 제11/602,702호, "Using Ambient Light Sensor To Augment Proximity Sensor Output"; 제11/586,862호, "Automated Response To And Sensing Of User Activity In Portable Devices"; 및 제11/638,251호, "Methods And Systems For Automatic Configuration Of Peripherals"에 설명된 바와 같이 동작할 수 있다. 일부 실시예들에서, (예컨대, 사용자가 전화 통화 중인 경우와 같이) 다기능 장치가 사용자의 귀에 인접하여 놓이는 경우, 근접 센서는 터치 스크린(112)을 턴오프하고 디스에이블링한다.
장치(100)는 또한 하나 이상의 가속도계(accelerometers; 168)를 포함할 수 있다. 도 1a 및 1b는 주변장치 인터페이스(118)에 결합된 가속도계(168)를 도시한다. 또는, 가속도계(168)는 I/O 서브시스템(106)의 입력 컨트롤러(160)에 결합될 수 있다. 가속도계(168)는, 그 전체가 각각 모두 본 명세서에 참조문헌으로 포함되는 미국 특허공개공보 제20050190059호, "Acceleration-based Theft Detection System for Portable Electronic Devices" 및 미국 특허공개공보 제20060017692호, "Methods and Apparatuses For Operating A Portable Device Based On An Accelerometer"에 설명된 바와 같이 동작할 수 있다. 일부 실시예들에서, 정보가 하나 이상의 가속도계로부터 수신된 데이터에 대한 분석에 기초하여 세로 뷰 또는 가로 뷰로 터치 스크린 디스플레이 상에 표시된다. 장치(100)는 옵션으로서, 가속도계(들)(168)에 더하여, 장치(100)의 위치 및 배향(예로서, 세로 또는 가로)에 관한 정보를 얻기 위한 자기계(도시되지 않음) 및 GPS(또는 GLONASS 또는 다른 글로벌 내비게이션 시스템 수신기)(도시되지 않음)를 포함한다.
일부 실시예들에서, 메모리(102)에 저장된 소프트웨어 컴포넌트에는, 운영 체제(126), 통신 모듈(또는 명령어 집합)(128), 접촉/운동 모듈(또는 명령어 집합)(130), 그래픽 모듈(또는 명령어 집합)(132), 텍스트 입력 모듈(또는 명령어 집합)(134), GPS 모듈(또는 명령어 집합)(135) 및 애플리케이션(또는 명령어 집합)(136)이 포함될 수 있다. 더구나, 일부 실시예들에서, 메모리(102)는 도 1a, 1b에 도시된 바와 같이 장치/글로벌 내부 상태 정보(157)를 저장한다. 장치/글로벌 상태 정보(157)는 존재할 경우에 어느 애플리케이션이 현재 활성인지를 지시하는 활성 애플리케이션 상태; 어떤 애플리케이션들, 뷰들 또는 다른 정보가 터치 스크린 디스플레이(112)의 다양한 영역들을 점유하는지를 지시하는 디스플레이 상태; 장치의 다양한 센서들 및 입력 제어 장치들(116)로부터 얻어진 정보를 포함하는 센서 상태; 및 장치의 위치 및/또는 자세에 관한 위치 정보 중 하나 이상을 포함한다.
(다윈, RTXC, 리눅스, 유닉스, OS X, 윈도우즈, 또는 VxWorks 등의 임베디드 운영 체제와 같은) 운영 체제(126)는 (메모리 관리, 저장 장치 제어, 전력 관리 등의) 일반적인 시스템 태스크를 제어하고 관리하기 위한 다양한 소프트웨어 컴포넌트 및/또는 드라이버를 포함하고 다양한 하드웨어 및 소프트웨어 컴포넌트 사이의 통신을 가능하게 한다.
통신 모듈(128)은 하나 이상의 외부 포트(124)를 통한 다른 장치와의 통신을 가능하게 하며, RF 회로(108) 및/또는 외부 포트(124)에 의해 수신된 데이터를 처리하기 위한 다양한 소프트웨어 컴포넌트를 또한 포함한다. (USB, 파이어와이어 등의) 외부 포트(124)는 다른 장치에 직접 결합하거나 (인터넷, 무선 LAN 등의) 네트워크를 통해 간접적으로 결합하도록 적응된다. 일부 실시예들에서, 외부 포트는 (애플 컴퓨터사의 상표인) iPod 상에서 사용되는 30핀 커넥터와 동일, 유사 및/또는 호환가능한 (예컨대 30핀의) 다중 핀 커넥터이다.
접촉/운동 모듈(130)은 (디스플레이 컨트롤러(156)와 함께) 터치 스크린(112) 및 (터치패드 또는 물리적 클릭 휠 등의) 기타 터치 감지 장치와의 접촉을 감지할 수 있다. 접촉/운동 모듈(130)은, 접촉 발생 여부를 판단하는 동작(예를 들어, 손가락 다운 이벤트의 감지), 접촉의 움직임이 있는지 여부를 판단하고 그 움직임을 터치 스크린을 따라 추적하는 동작(예를 들어, 하나 이상의 손가락 드래깅 이벤트들의 감지), 그리고 접촉 중단 여부를 판단하는 동작(예를 들어, 손가락 업 이벤트 또는 접촉 분리의 감지)과 같은, 접촉 감지와 관련된 다양한 동작을 수행하기 위한 다양한 소프트웨어 컴포넌트를 포함한다. 접촉/운동 모듈(130)은 터치 감지 표면으로부터 접촉 데이터를 수신한다. 일련의 접촉 데이터에 의해 표현되는 접촉점의 움직임을 판단하는 동작은 접촉점의 속력(크기), 속도(크기 및 방향) 및/또는 가속도(크기 및/또는 방향의 변화)를 판단하는 동작을 포함할 수 있다. 이러한 동작은 (하나의 손가락 접촉 등의) 단일 접촉에 적용되거나 ("멀티터치"/다수의 손가락 접촉 등의) 다중 동시 접촉에 적용될 수 있다. 일부 실시예들에서, 접촉/운동 모듈(130) 및 디스플레이 컨트롤러(156)는 또한 터치패드 상의 접촉을 감지한다. 일부 실시예들에서, 접촉/운동 모듈(130) 및 컨트롤러(160)는 클릭 휠 상의 접촉을 감지한다.
접촉/운동 모듈(130)은 사용자에 의한 제스처 입력을 감지할 수 있다. 터치 감지 표면 상의 상이한 제스처들은 상이한 접촉 패턴들을 갖는다. 따라서, 특정 접촉 패턴을 감지함으로써 제스처를 감지할 수 있다. 예를 들어, 손가락 탭 제스처의 감지는 손가락 다운 이벤트를 감지한 후에 (예를 들어, 아이콘의 위치에서의) 손가락 다운 이벤트와 동일한 위치(또는 실질적으로 동일한 위치)에서의 손가락 업(리프트 오프) 이벤트를 감지하는 것을 포함한다. 다른 예로서, 터치 감지 표면 상에서의 손가락 스와이프 제스처의 감지는 손가락 다운 이벤트를 감지한 후에 하나 이상의 손가락 드래깅 이벤트들을 감지하고, 이어서 손가락 업(리프트 오프) 이벤트를 감지하는 것을 포함한다.
그래픽 모듈(132)은 표시된 그래픽의 밝기를 변경하기 위한 컴포넌트를 포함하는, 터치 스크린(112) 또는 기타 디스플레이 상의 그래픽을 렌더링하고 표시하기 위한 다양한 알려진 소프트웨어 컴포넌트를 포함한다. 본 명세서에 사용되는 "그래픽"이라는 용어는, 텍스트, 웹 페이지, (소프트 키를 포함하는 사용자-인터페이스 객체 등의) 아이콘, 디지털 이미지, 비디오 및 애니메이션 등을 포함하지만 이들로 한정되지 않는, 사용자에게 디스플레이될 수 있는 임의의 객체를 포함한다.
일부 실시예들에서, 그래픽 모듈(132)은 사용될 그래픽을 나타내는 데이터를 저장한다. 각각의 그래픽은 대응 코드를 할당받을 수 있다. 그래픽 모듈(132)은 필요한 경우에 좌표 데이터 및 다른 그래픽 특성 데이터와 함께 표시될 그래픽을 지정하는 하나 이상의 코드들을 애플리케이션 등으로부터 수신한 후에, 디스플레이 컨트롤러(156)로 출력할 스크린 이미지 데이터를 생성한다.
그래픽 모듈(132)의 컴포넌트일 수 있는 텍스트 입력 모듈(134)은 (연락처(137), 이메일(140), IM(141), 브라우저(147) 및 텍스트 입력을 필요로 하는 임의의 다른 애플리케이션 등의) 다양한 애플리케이션에 텍스트를 입력하기 위한 소프트 키보드를 제공한다.
GPS 모듈(135)은 장치의 위치를 판단하고 이 정보를 다양한 애플리케이션에서 사용할 수 있도록 제공한다(예컨대, 위치-기반 다이얼링에 사용하도록 전화(138)에 제공하고, 픽처/비디오 메타데이터로서 카메라(143)에 제공하며, 날씨 위젯, 지역 전화번호부 위젯 및 지도/내비게이션 위젯 등의 위치-기반 서비스를 제공하는 애플리케이션 등에 제공한다).
애플리케이션(136)은 이하의 모듈(또는 명령어 집합), 또는 이들의 서브세트(subset)나 수퍼세트(superset)을 포함할 수 있다.
● 연락처 모듈(137) (주로 주소록 또는 연락처 목록이라고 지칭됨);
● 전화 모듈(138);
● 비디오 회의 모듈(139);
● 이메일 클라이언트 모듈(140);
● 인스턴트 메시징(IM) 모듈(141);
● 운동 지원 모듈(142);
● 정지 및/또는 비디오 이미지를 위한 카메라 모듈(143);
● 이미지 관리 모듈(144);
● 비디오 플레이어 모듈(145);
● 음악 플레이어 모듈(146);
● 브라우저 모듈(147);
● 달력 모듈(148);
● 날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4), 사전 위젯(149-5) 및 사용자가 획득한 기타 위젯, 그리고 사용자-생성 위젯(149-6) 중 하나 이상을 포함할 수 있는 위젯 모듈(149);
● 사용자-생성 위젯(149-6)을 작성하기 위한 위젯 생성기 모듈(150);
● 검색 모듈(151);
● 비디오 플레이어 모듈(145) 및 음악 플레이어 모듈(146)을 통합한 비디오 및 음악 플레이어 모듈(152);
● 노트 모듈(153);
● 지도 모듈(154); 및/또는
● 온라인 비디오 모듈(155).
메모리(102)에 저장될 수 있는 다른 애플리케이션(136)의 예로서, 기타 워드 프로세싱 애플리케이션, 기타 이미지 편집 애플리케이션, 제도 애플리케이션, 프레젠테이션 애플리케이션, JAVA-작동식 애플리케이션, 암호화, 디지털 권한 관리, 음성 인식(voice recognition) 및 음성 복제(voice replication)가 포함된다.
연락처 모듈(137)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께 주소록 또는 연락처 목록(예로서, 메모리(102) 또는 메모리(370) 내의 연락처 모듈(137)의 애플리케이션 내부 상태(192)에 저장됨)의 관리에 사용될 수 있는데, 이러한 관리에는 주소록에 이름(들)을 추가하고, 주소록으로부터 이름(들)을 삭제하며, 전화번호(들), 이메일 주소(들), 물리 주소(들) 또는 기타 정보를 이름과 연관시키고, 이름과 이미지를 연관시키며, 이름을 분류 및 정렬하고, 전화(138), 비디오 회의(139), 이메일(140) 또는 IM(141)에 의한 통신을 개시 및/또는 가능하게 하기 위한 전화번호 또는 이메일주소를 제공하는 것 등이 포함된다.
전화 모듈(138)은 RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 전화번호에 대응하는 문자열을 입력하고, 주소록(137)의 하나 이상의 전화번호를 액세스하며, 입력된 전화번호를 수정하고, 각각의 전화번호를 다이얼링하며, 대화를 수행하고, 대화 완료시 접속해제하거나 전화를 끊는데 사용될 수 있다. 이미 언급된 바와 같이, 무선 통신에는 복수의 통신 표준, 프로토콜 및 기술 중 임의의 것이 사용될 수 있다.
비디오 회의 모듈(139)은 RF 회로(108), 오디오 회로(110), 스피커(111), 마이크로폰(113), 터치 스크린(112), 디스플레이 컨트롤러(156), 광센서(164), 광센서 컨트롤러(158), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 연락처 목록(137) 및 전화 모듈(138)과 함께 사용자 명령에 따라 사용자와 한 명 이상의 다른 참여자 사이의 비디오 회의를 개시하고 수행하며 종료하기 실행 가능 명령어들을 포함한다.
이메일 클라이언트 모듈(140)은 RF 회로(108), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께 사용자 명령에 응답하여 이메일을 생성하고 송수신하며 관리하기 위한 실행 가능 명령어들을 포함한다. 이메일 모듈(140)은 이미지 관리 모듈(144)과 함께 카메라 모듈(143)로 획득한 정지 또는 비디오 이미지를 포함하는 이메일을 생성하고 송신하는 것을 매우 용이하게 한다.
인스턴트 메시징 모듈(141)은 RF 회로(108), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 인스턴트 메시지에 대응하는 문자열을 입력하고, 이미 입력된 문자를 수정하며, (예컨대, 전화-기반 인스턴트 메시지를 위한 SMS 또는 MMS(Multimedia Message Service) 프로토콜을 이용하거나, 인터넷-기반 인스턴트 메시지를 위한 XMPP, SIMPLE 또는 IMPS를 이용하여) 각각의 인스턴트 메시지를 송신하고, 인스턴트 메시지를 수신하며, 수신된 인스턴트 메시지를 보기 위한 실행 가능 명령어들을 포함한다. 일부 실시예들에서, 송신 및/또는 수신된 인스턴트 메시지는 그래픽, 사진, 오디오 파일, 비디오 파일, 및/또는 MMS 및/또는 EMS(Enhanced Messaging Service)에서 지원되는 기타 첨부물을 포함할 수 있다. 본 명세서에 사용되는 "인스턴트 메시징(instant messaging)"은 (SMS 또는 MMS를 사용해 송신된 메시지와 같은) 전화-기반 메시지 및 (XMPP, SIMPLE 또는 IMPS를 사용해 송신된 메시지와 같은) 인터넷-기반 메시지 양자 모두를 지칭한다.
운동 지원 모듈(142)은 RF 회로(108), 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135), 지도 모듈(154) 및 음악 플레이어 모듈(146)과 함께, (예로서, 시간, 거리 및/또는 칼로리 연소 목표를 갖는) 운동들을 생성하고; 운동 센서들(스포츠 장치들)과 통신하고; 운동 센서 데이터를 수신하고; 운동을 모니터링하는 데 사용되는 센서들을 조정하고; 운동을 위한 음악을 선택 및 재생하고; 운동 데이터를 표시, 저장 및 전송하기 위한 실행 가능 명령어들을 포함한다.
카메라 모듈(143)은 터치 스크린(112), 디스플레이 컨트롤러(156), 광센서(들)(164), 광센서 컨트롤러(158), 접촉 모듈(130), 그래픽 모듈(132) 및 이미지 관리 모듈(144)과 함께, 정지 이미지 또는 (비디오 스트림을 포함하는) 비디오를 캡처하고 이들을 메모리(102)에 저장하거나, 정지 이미지 또는 비디오의 특성을 수정하거나, 정지 이미지 또는 비디오를 메모리(102)로부터 삭제하기 위한 실행 가능 명령어들을 포함한다.
이미지 관리 모듈(144)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 카메라 모듈(143)과 함께, 정지 및/또는 비디오 이미지를 배열하고 수정(예를 들면, 편집) 또는 조작하며 라벨링하고 삭제하며 (디지털 슬라이드 쇼 또는 앨범 형태 등으로) 표시하고 저장하기 위한 실행 가능 명령어들을 포함한다.
비디오 플레이어 모듈(145)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110) 및 스피커(111)와 함께, (예컨대, 터치 스크린(112), 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에) 비디오를 표시하고 표시 또는 재생하기 위한 실행 가능 명령어들을 포함한다.
음악 플레이어 모듈(146)은 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108) 및 브라우저 모듈(147)과 함께, 사용자가 MP3 또는 AAC 파일 등의 하나 이상의 파일 포맷으로 저장된 녹음된 음악 및 기타 사운드 파일을 다운로드하고 재생할 수 있게 하기 위한 실행 가능 명령어들을 포함한다. 일부 실시예들에서, 장치(100)는 (애플 컴퓨터사의 상표인) iPod과 같은 MP3 플레이어의 기능성을 포함할 수 있다.
브라우저 모듈(147)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 웹 페이지나 그 일부 및 웹 페이지에 링크된 첨부물 및 기타 파일에 대한 검색, 링크, 수신 및 디스플레이를 포함하여, 사용자 명령에 따라 인터넷을 브라우징하기 위한 실행 가능 명령어들을 포함한다.
달력 모듈(148)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 사용자 명령에 따라 달력 및 달력과 연관된 데이터(달력 엔트리, 할일 목록 등)를 생성하고 표시하며 저장하기 위한 실행 가능 명령어들을 포함한다.
위젯 모듈(149)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께, (날씨 위젯(149-1), 주식 위젯(149-2), 계산기 위젯(149-3), 알람 시계 위젯(149-4) 및 사전 위젯(149-5)과 같이) 사용자에 의해 다운로드되고 사용될 수 있거나, (사용자-생성 위젯(149-6)과 같이) 사용자에 의해 생성될 수 있는 미니 애플리케이션이다. 일부 실시예들에서, 위젯은 HTML 파일, CSS 파일 및 자바 스크립트 파일을 포함한다. 일부 실시예들에서, 위젯(예컨대, 야후! 위젯)은 XML 파일 및 자바 스크립트 파일을 포함한다.
위젯 생성기 모듈(150)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134) 및 브라우저 모듈(147)과 함께 (예컨대, 웹 페이지의 사용자-지정 부분을 위젯으로 바꾸는 등으로) 위젯을 생성하는데 사용자에 의해 이용될 수 있다.
검색 모듈(151)은 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 사용자 명령에 따라 (하나 이상의 사용자-지정 검색 용어 등의) 하나 이상의 검색 조건과 매칭되는 메모리(102)의 텍스트, 음악, 사운드, 이미지, 비디오 및/또는 기타 파일을 검색하기 위한 실행 가능 명령어들을 포함한다.
노트 모듈(153)은 터치 스크린(112), 디스플레이 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132) 및 텍스트 입력 모듈(134)과 함께, 사용자 명령에 따라 노트, 할일 목록 등을 생성하고 관리하기 위한 실행 가능 명령어들을 포함한다.
지도 모듈(154)은 RF 회로(108), 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 텍스트 입력 모듈(134), GPS 모듈(135) 및 브라우저 모듈(147)과 함께, 사용자 명령에 따라 (예컨대, 운전 방향, 특정 위치의 또는 인접한 가게 및 기타 관련 지점에 대한 데이터, 및 기타 위치-기반 데이터 등의) 지도 관련 데이터 및 지도를 수신하고 표시하며 수정하고 저장하는데 사용될 수 있다.
온라인 비디오 모듈(155)은 터치 스크린(112), 디스플레이 시스템 컨트롤러(156), 접촉 모듈(130), 그래픽 모듈(132), 오디오 회로(110), 스피커(111), RF 회로(108), 텍스트 입력 모듈(134), 이메일 클라이언트 모듈(140) 및 브라우저 모듈(147)과 함께, 사용자로 하여금 특정 온라인 비디오로의 링크를 갖는 이메일을 액세스하고 브라우징하며 (예컨대, 스트리밍 및/또는 다운로드를 통해) 수신하고 (예컨대, 터치 스크린, 또는 외부 포트(124)를 통해 접속된 외부 디스플레이 상에서) 재생하며 송신할 수 있게 하거나, H.264 등의 하나 이상의 파일 포맷의 온라인 비디오를 관리할 수 있게 하기 위한 명령어들을 포함한다. 일부 실시예들에서, 이메일 클라이언트 모듈(140)이 아닌 인스턴트 메시징 모듈(141)이 특정 온라인 비디오에 대한 링크를 송신하는데 사용된다. 온라인 비디오 애플리케이션에 대한 부가적인 설명은, 그 내용 전체가 본 명세서에 참조문헌으로 포함되는 2007년 6월 20일 출원된 미국 특허 가출원 제60/936,562호, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos", 및 2007년 12월 31일자로 출원된 미국 특허 출원 제11/968,067호, "Portable Multifunction Device, Method, and Graphical User Interface for Playing Online Videos"에서 찾아볼 수 있다.
이상 언급된 모듈 및 애플리케이션 각각은 지금까지 설명된 하나 이상의 기능 및 본원에서 설명되는 방법들(예로서, 본 명세서에서 설명되는 컴퓨터 구현 방법들 및 다른 정보 처리 방법들)을 수행하기 위한 실행 가능 명령어 집합에 대응한다. 이러한 모듈(즉, 명령어 집합)은 개별 소프트웨어 프로그램, 절차 또는 모듈로서 구현될 필요는 없으며, 다양한 실시예에서 이러한 모듈들의 다양한 서브세트가 통합되거나 재배치될 수 있다. 예컨대, 비디오 플레이어 모듈(145)은 음악 플레이어 모듈(146)과 (예컨대, 도 1b의 비디오 및 음악 플레이어 모듈(152)와 같은) 단일 모듈로 결합될 수 있다. 일부 실시예들에서, 메모리(102)는 이상 언급된 모듈 및 데이터 구조의 서브세트를 저장할 수 있다. 나아가, 메모리(102)는 지금까지 언급되지 않은 추가적인 모듈 및 데이터 구조를 저장할 수 있다.
일부 실시예들에서, 장치(100)는 터치 스크린 및/또는 터치패드를 통해서만 장치 상에서의 소정의 기능 집합의 동작이 수행되는 장치이다. 장치(100)의 동작을 위한 기본적인 입력/제어 장치로서 터치 스크린 및/또는 터치패드를 사용함으로써, 장치(100) 상의 (푸시 버튼, 다이얼 등의) 물리적 입력/제어 장치의 개수가 감소될 수 있다.
터치 스크린 및/또는 터치패드를 통해서만 수행될 수 있는 소정의 기능 집합에는 사용자 인터페이스 간의 내비게이션이 포함된다. 일부 실시예들에서, 터치패드는, 사용자가 터치하면, 장치(100) 상에 디스플레이될 수 있는 임의의 사용자 인터페이스로부터 메인 메뉴, 홈 메뉴 또는 루트 메뉴로 장치(100)를 내비게이션한다. 이러한 실시예에서, 터치패드는 "메뉴 버튼"이라고 지칭될 수 있다. 일부 다른 실시예에서, 메뉴 버튼은 터치패드 대신에 물리적 푸시 버튼 또는 기타 물리적 입력/제어 장치일 수 있다.
도 1c는 일부 실시예들에 따른 이벤트 처리를 위한 예시적인 컴포넌트들을 나타내는 블록도이다. 일부 실시예들에서, (도 1a 및 1b의) 메모리(102) 또는 (도 3의) 메모리(370)는 (예로서, 운영 체제(126) 내의) 이벤트 분류기(170) 및 각각의 애플리케이션(136-1)(예를 들어, 전술한 애플리케이션들(137-151, 155, 380-390) 중 임의 애플리케이션)을 포함한다.
이벤트 분류기(170)는 이벤트 정보를 수신하고, 이벤트 정보를 전송할 애플리케이션(136-1) 및 애플리케이션(136-1)의 애플리케이션 뷰(191)를 결정한다. 이벤트 분류기(170)는 이벤트 모니터(171) 및 이벤트 디스패처 모듈(174)을 포함한다. 일부 실시예들에서, 애플리케이션(136-1)은 애플리케이션이 활성이거나 실행되고 있을 때 터치 감지 디스플레이(112) 상에 표시된 현재 애플리케이션 뷰(들)를 지시하는 애플리케이션 내부 상태(192)를 포함한다. 일부 실시예들에서, 이벤트 분류기(170)는 장치/글로벌 내부 상태(157)를 이용하여, 어느 애플리케이션(들)이 현재 활성인지를 결정하며, 이벤트 분류기(170)는 애플리케이션 내부 상태(192)를 이용하여, 이벤트 정보를 전송할 애플리케이션 뷰들(191)을 결정한다.
일부 실시예들에서, 애플리케이션 내부 상태(192)는 애플리케이션(136-1)이 실행을 재개할 때 사용될 재개 정보, 표시되고 있는 정보를 지시하거나 애플리케이션(136-1)에 의한 표시를 위해 준비된 사용자 인터페이스 상태 정보, 사용자가 애플리케이션(136-1)의 이전 상태 또는 뷰로 돌아갈 수 있게 하기 위한 상태 큐, 및 사용자에 의해 취해진 이전 액션들의 재실행/취소 큐 중 하나 이상과 같은 추가적인 정보를 포함한다.
이벤트 모니터(171)는 주변 장치 인터페이스(118)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트(예로서, 멀티 터치 제스처의 일부인 터치 감지 디스플레이(112) 상의 사용자 터치)에 대한 정보를 포함한다. 주변 장치 인터페이스(118)는 근접 센서(166), 가속도계(들)(168) 및/또는 마이크로폰(113)(오디오 회로(110)를 통해)과 같은 I/O 서브시스템(106) 또는 센서로부터 수신하는 정보를 전송한다. 주변 장치 인터페이스(118)가 I/O 서브시스템(106)으로부터 수신하는 정보는 터치 감지 디스플레이(112) 또는 터치 감지 표면으로부터의 정보를 포함한다.
일부 실시예들에서, 이벤트 모니터(171)는 요청들을 사전 결정된 간격으로 주변 장치 인터페이스(118)로 전송한다. 이에 응답하여, 주변 장치 인터페이스(118)는 이벤트 정보를 전송한다. 다른 실시예들에서, 주변 장치 인터페이스(118)는 (예를 들어, 사전 결정된 잡음 임계치를 초과하는 그리고/또는 사전 결정된 지속 기간보다 긴 기간 동안 입력을 수신하는) 중요한 이벤트가 존재할 때만 이벤트 정보를 전송한다.
일부 실시예들에서, 이벤트 분류기(170)는 히트 뷰 결정 모듈(172) 및/또는 활성 이벤트 인식기 결정 모듈(173)도 포함한다.
히트 뷰 결정 모듈(172)은 터치 감지 디스플레이(112)가 둘 이상의 뷰를 표시할 때 하나 이상의 뷰들 내에서 서브이벤트가 어느 곳에서 발생했는지를 결정하기 위한 소프트웨어 절차들을 제공한다. 뷰들은 사용자가 디스플레이 상에서 볼 수 있는 컨트롤들 및 다른 요소들로 구성된다.
애플리케이션과 관련된 사용자 인터페이스의 다른 양태는 정보가 표시되고 터치 기반 제스처들이 발생하는, 본 명세서에서 때때로 애플리케이션 뷰들 또는 사용자 인터페이스 윈도들이라고 하는 한 세트의 뷰들이다. 터치가 감지되는 (각각의 애플리케이션)의 애플리케이션 뷰들은 애플리케이션의 프로그램 또는 뷰 계층 구조 내의 프로그램 레벨들에 대응할 수 있다. 예를 들어, 터치가 감지되는 최저 레벨 뷰는 히트 뷰로 지칭될 수 있으며, 적절한 입력들로서 인식되는 이벤트들의 세트는 터치 기반 제스처를 시작하는 최초 터치의 히트 뷰에 적어도 부분적으로 기초하여 결정될 수 있다.
히트 뷰 결정 모듈(172)은 터치 기반 제스처의 서브이벤트들에 관련된 정보를 수신한다. 애플리케이션이 계층 구조로 구성된 다수의 뷰를 가질 때, 히트 뷰 결정 모듈(172)은 히트 뷰를, 서브이벤트를 처리해야 하는 계층 구조 내의 최하위 뷰로서 식별한다. 대부분의 상황들에서, 히트 뷰는 개시 서브이벤트(즉, 이벤트 또는 잠재적 이벤트를 형성하는 서브이벤트들의 시퀀스 내의 제1 서브이벤트)가 발생하는 최저 레벨 뷰이다. 히트 뷰 결정 모듈에 의해 히트 뷰가 식별되면, 통상적으로 히트 뷰는 그가 히트 뷰로서 식별된 동일 터치 또는 입력 소스에 관련된 모든 서브이벤트들을 수신한다.
활성 이벤트 인식기 결정 모듈(173)은 뷰 계층 구조 내의 어느 뷰 또는 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는지를 결정한다. 일부 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 히트 뷰만이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 활성 이벤트 인식기 결정 모듈(173)은 서브이벤트의 물리 위치를 포함하는 모든 뷰들이 유효하게 관련된 뷰들인 것으로 결정하고, 따라서 모든 유효하게 관련된 뷰들이 서브이벤트들의 특정 시퀀스를 수신해야 하는 것으로 결정한다. 다른 실시예들에서, 터치 서브이벤트들이 하나의 특정 뷰와 관련된 영역으로 완전히 제한되는 경우에도, 계층 구조 내의 상위 뷰들은 여전히 유효하게 관련된 뷰들로 남을 것이다.
이벤트 디스패처 모듈(174)은 이벤트 정보를 이벤트 인식기(예로서, 이벤트 인식기(180))로 디스패치한다. 활성 이벤트 인식기 결정 모듈(173)을 포함하는 실시예들에서, 이벤트 디스패처 모듈(174)은 이벤트 정보를 활성 이벤트 인식기 결정 모듈(173)에 의해 결정된 이벤트 인식기로 전송한다. 일부 실시예들에서, 이벤트 디스패처 모듈(174)은 각각의 이벤트 수신기 모듈(182)에 의해 검색된 이벤트 정보를 이벤트 큐에 저장한다.
일부 실시예들에서, 운영 체제(126)는 이벤트 분류기(170)를 포함한다. 대안으로서, 애플리케이션(136-1)이 이벤트 분류기(170)를 포함한다. 또 다른 실시예들에서, 이벤트 분류기(170)는 독립 모듈이거나, 접촉/운동 모듈(130)과 같은, 메모리(102)에 저장된 다른 모듈의 일부이다.
일부 실시예들에서, 애플리케이션(136-1)은 하나 이상의 애플리케이션 뷰들(191)을 포함하며, 애플리케이션 뷰들 각각은 애플리케이션의 사용자 인터페이스의 각각의 뷰 내에서 발생하는 터치 이벤트들을 처리하기 위한 명령어들을 포함한다. 애플리케이션(136-1)의 각각의 애플리케이션 뷰(191)는 하나 이상의 이벤트 인식기들(180) 및 하나 이상의 이벤트 핸들러(190)를 포함한다. 통상적으로, 각각의 애플리케이션 뷰(191)는 복수의 이벤트 인식기(180) 및 복수의 이벤트 핸들러(190)를 포함한다. 다른 실시예들에서, 이벤트 인식기들(180) 중 하나 이상은 사용자 인터페이스 키트(도시되지 않음) 또는 애플리케이션(136-1)이 메소드들 및 다른 특성들을 상속받는 상위 레벨 객체와 같은 개별 모듈의 일부이다. 일부 실시예들에서, 각각의 애플리케이션 뷰(191)는 또한 데이터 갱신기(176), 객체 갱신기(177), GUI 갱신기(178), 및/또는 이벤트 분류기(170)로부터 수신된 이벤트 데이터(179) 중 하나 이상을 포함한다.
각각의 이벤트 인식기(180)는 이벤트 분류기(170)로부터 이벤트 정보(예로서, 이벤트 데이터(179))를 수신하고, 이벤트 정보로부터 이벤트를 식별한다. 이벤트 인식기(180)는 이벤트 수신기(182) 및 이벤트 비교기(184)를 포함한다. 일부 실시예들에서, 이벤트 인식기(180)는 또한 메타데이터(183) 및 (서브이벤트 전송 명령어들을 포함할 수 있는) 이벤트 전송 명령어들(188)의 적어도 서브세트를 포함한다.
이벤트 수신기(182)는 이벤트 분류기(170)로부터 이벤트 정보를 수신한다. 이벤트 정보는 서브이벤트, 예컨대 터치 또는 터치 움직임에 대한 정보를 포함한다. 서브이벤트에 따라서는, 이벤트 정보는 서브이벤트의 위치와 같은 추가적인 정보도 포함한다. 서브이벤트가 터치의 움직임과 관련될 때, 이벤트 정보는 서브이벤트의 속력 및 방향도 포함할 수 있다. 일부 실시예들에서, 이벤트들은 하나의 배향으로부터 다른 배향으로의(예로서, 세로 배향으로부터 가로 배향으로의 또는 그 반대의) 장치의 회전을 포함하며, 이벤트 정보는 장치의 (장치 자세라고도 하는) 현재 배향에 대한 대응 정보를 포함한다.
이벤트 비교기(184)는 이벤트 정보를 사전 정의된 이벤트 또는 서브이벤트 정의들과 비교하고, 비교에 기초하여, 이벤트 또는 서브이벤트를 결정하거나, 이벤트 또는 서브이벤트의 상태를 결정 또는 갱신한다. 일부 실시예들에서, 이벤트 비교기(184)는 이벤트 정의들(186)을 포함한다. 이벤트 정의들(186)은 이벤트들(예로서, 사전 정의된 서브이벤트들의 시퀀스들), 예로서 이벤트 1(187-1), 이벤트 2(187-2) 등의 정의들을 포함한다. 일부 실시예들에서, 이벤트(187) 내의 서브이벤트들은 예를 들어 터치 시작, 터치 종료, 터치 움직임, 터치 취소 및 다수의 터칭을 포함한다. 일례에서, 이벤트 1(187-1)에 대한 정의는 표시된 객체 상의 더블 탭이다. 더블 탭은 예를 들어 사전 결정된 단계 동안의 표시 객체 상의 제1 터치(터치 시작), 사전 결정된 단계 동안의 제1 리프트-오프(터치 종료), 사전 결정된 단계 동안의 표시 객체 상의 제2 터치(터치 시작) 및 사전 결정된 단계 동안의 제2 리프트 오프(터치 종료)를 포함한다. 다른 예에서, 이벤트 2(187-2)에 대한 정의는 표시 객체 상에서의 드래깅이다. 드래깅은 예를 들어 사전 결정된 단계 동안의 표시 객체 상의 터치(또는 접촉), 터치 감지 디스플레이(112)를 가로지르는 터치의 이동, 및 터치의 리프트 오프(터치 종료)를 포함한다. 일부 실시예들에서, 이벤트는 이벤트의 관련 이벤트 핸들러들(190)에 대한 정보도 포함한다.
일부 실시예들에서, 이벤트 정의(187)는 각각의 사용자 인터페이스 객체에 대한 이벤트의 정의를 포함한다. 일부 실시예들에서, 이벤트 비교기(184)는 히트 테스트를 수행하여, 어느 사용자 인터페이스 객체가 서브이벤트와 관련되는지를 결정한다. 예를 들어, 터치 감지 디스플레이(112) 상에 3개의 사용자 인터페이스 객체가 표시되는 애플리케이션 뷰에서, 터치 감지 디스플레이(112) 상에서 터치가 감지될 때, 이벤트 비교기(184)는 히트 테스트를 수행하여, 3개의 사용자 인터페이스 객체 중 어느 것이 터치(서브이벤트)와 관련되는지를 결정한다. 각각의 표시 객체가 각각의 핸들러 이벤트(190)와 관련되는 경우, 이벤트 비교기는 히트 테스트의 결과를 이용하여, 어느 이벤트 핸들러(190)가 활성화되어야 하는지를 결정한다. 예를 들어, 이벤트 비교기(184)는 히트 테스트를 트리거링하는 서브이벤트 및 객체와 관련된 이벤트 핸들러를 선택한다.
일부 실시예들에서, 각각의 이벤트(187)에 대한 정의는 서브이벤트들의 시퀀스가 이벤트 인식기의 이벤트 타입에 대응하는지의 여부가 결정된 후까지 이벤트 정보의 전송을 지연시키는 지연된 액션들도 포함한다.
각각의 이벤트 인식기(180)가 일련의 서브이벤트가 이벤트 정의들(186) 내의 이벤트들 중 어느 것과도 매칭되지 않는 것으로 결정할 때, 각각의 이벤트 인식기(180)는 이벤트 불가능, 또는 이벤트 취소 상태에 들어가고, 이어서 터치 기반 제스처의 후속 서브이벤트들을 무시한다. 이러한 상황에서, 존재할 경우, 히트 뷰에 대해 활성 상태를 유지하는 다른 이벤트 인식기들은 진행중인 터치 기반 제스처의 서브이벤트들을 계속 추적하고 처리한다.
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트 전송 시스템이 어떻게 유효하게 관련된 이벤트 인식기들로의 서브이벤트 전송을 수행해야 하는지를 지시하는 구성 가능한 특성들, 플래그들 및/또는 목록들을 갖는 메타데이터(183)를 포함한다. 일부 실시예들에서, 메타데이터(183)는 이벤트 인식기들이 어떻게 서로 상호작용할 수 있는지를 지시하는 구성 가능한 특성들, 플래그들 및/또는 목록들을 포함한다. 일부 실시예들에서, 메타데이터(183)는 서브이벤트들이 뷰 또는 프로그램 계층 구조 내의 다양한 레벨들로 전송되는지의 여부를 지시하는 구성 가능한 특성들, 플래그들 및/또는 목록들을 포함한다.
일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트의 하나 이상의 특정 서브이벤트들이 인식될 때 이벤트와 관련된 이벤트 핸들러(190)를 활성화한다. 일부 실시예들에서, 각각의 이벤트 인식기(180)는 이벤트와 관련된 이벤트 정보를 이벤트 핸들러(190)로 전송한다. 이벤트 핸들러(190)의 활성화는 서브이벤트들의 각각의 히트 뷰로의 전송(및 디폴트 전송)과 다르다. 일부 실시예들에서, 이벤트 인식기(180)는 인식된 이벤트와 관련된 플래그를 던지며, 플래그와 관련된 이벤트 핸들러(190)는 플래그를 받아서, 사전 정의된 프로세스를 수행한다.
일부 실시예들에서, 이벤트 전송 명령어들(188)은 이벤트 핸들러를 활성화하지 않고 서브이벤트에 대한 이벤트 정보를 전송하는 서브이벤트 전송 명령어들을 포함한다. 대신에, 서브이벤트 전송 명령어들은 이벤트 정보를 일련의 서브이벤트들과 관련되거나 유효하게 관련된 뷰들과 관련된 이벤트 핸들러들로 전송한다. 일련의 서브이벤트들과 또는 유효하게 관련된 뷰들과 관련된 이벤트 핸들러들은 이벤트 정보를 수신하고, 사전 결정된 프로세스를 수행한다.
일부 실시예들에서, 데이터 갱신기(176)는 애플리케이션(136-1)에서 사용되는 데이터를 생성하고 갱신한다. 예컨대, 데이터 갱신기(176)는 연락처 모듈(137)에서 사용되는 전화 번호를 갱신하거나, 비디오 플레이어 모듈(145)에서 사용되는 비디오 파일을 저장한다. 일부 실시예들에서, 객체 갱신기(177)는 애플리케이션(136-1)에서 사용되는 객체들을 생성하고 갱신한다. 예컨대, 객체 갱신기(176)는 새로운 사용자 인터페이스 객체를 생성하거나, 사용자 인터페이스 객체의 위치를 갱신한다. GUI 갱신기(178)는 GUI를 갱신한다. 예를 들어, GUI 갱신기(178)는 디스플레이 정보를 준비하고, 이를 터치 감지 디스플레이 상의 표시를 위해 그래픽 모듈(132)로 전송한다.
일부 실시예들에서, 이벤트 핸들러(들)(190)는 데이터 갱신기(176), 객체 갱신기(177) 및 GUI 갱신기(178)를 포함하거나, 이들에 대한 액세스를 갖는다. 일부 실시예들에서, 데이터 갱신기(176), 객체 갱신기(177) 및 GUI 갱신기(178)는 각각의 애플리케이션(136-1) 또는 애플리케이션 뷰(191)의 단일 모듈 내에 포함된다. 다른 실시예들에서, 이들은 2개 이상의 소프트웨어 모듈 내에 포함된다.
터치 감지 디스플레이들 상의 사용자 터치들의 이벤트 처리에 관한 위의 설명은 입력 장치들을 갖는 다기능 장치들(100)을 조작하기 위한 다른 형태의 사용자 입력들에도 적용된다는 것을 이해해야 하고, 이러한 사용자 입력들은 그 모두가 터치 스크린들 상에서 개시되는 것은 아니며, 이들은 예를 들어 단일 또는 다수의 키보드 누름 또는 유지가 있거나 없는 상태에서의 마우스 움직임 및 마우스 버튼 누름의 조정, 터치패드들 상에서의 사용자 움직임 탭, 드래그, 스크롤 등, 펜 스타일러스 입력, 장치의 움직임, 구두 명령, 눈 움직임 감지, 생체학적 입력 및/또는 이들의 조합을 포함하며, 인식될 이벤트를 정의하는 서브이벤트들에 대응하는 입력들로서 사용될 수 있다.
도 2는 일부 실시예들에 따른 터치 스크린(112)을 구비한 휴대용 다기능 장치(100)를 도시한다. 터치 스크린은 사용자 인터페이스(UI)(200) 내에 하나 이상의 그래픽을 표시할 수 있다. 본 실시예 및 이하 기술되는 다른 실시예에서, 사용자는 예컨대 하나 이상의 손가락(202)(도면에는 축척에 맞게 도시되지 않음) 또는 하나 이상의 스타일러스(203)(도면에는 축척에 맞게 도시되지 않음)를 이용해 그래픽을 터치하거나 접촉함으로써 그래픽들 중 하나 이상을 선택할 수 있다. 일부 실시예들에서, 사용자가 하나 이상의 그래픽과의 접촉을 해제하면 그 하나 이상의 그래픽에 대한 선택이 이루어진다. 일부 실시예들에서, 접촉은 장치(100)와 접촉된 손가락의 (좌에서 우로, 우에서 좌로, 위로 및/또는 아래로의) 롤링(rolling), (좌에서 우로, 우에서 좌로, 위로 및/또는 아래로의) 하나 이상의 스와이프(swipe) 및/또는 하나 이상의 탭(tap)과 같은 제스처를 포함할 수 있다. 일부 실시예들에서, 그래픽과의 우연한 접촉에 의해서는 그 그래픽이 선택되지 않을 수 있다. 예컨대, 선택에 대응하는 제스처가 탭일 경우 애플리케이션 아이콘 상을 지나가는 스와이프 제스처에 의해서는 해당 애플리케이션이 선택되지 않을 수 있다.
장치(100)는 또한 "홈" 또는 메뉴 버튼(204) 등의 하나 이상의 물리적 버튼을 포함할 수 있다. 이미 설명된 바와 같이, 메뉴 버튼(204)은 장치(100) 상에서 실행될 수 있는 애플리케이션 집합 중 임의의 애플리케이션(136)으로 내비게이션하는데 사용될 수 있다. 또는, 일부 실시예들에서, 메뉴 버튼은 터치 스크린(112)의 GUI의 소프트 키로서 구현된다.
일 실시예에서, 장치(100)는 터치 스크린(112), 메뉴 버튼(204), 장치의 전원을 온/오프하고 장치를 잠그기 위한 푸시 버튼(206), 볼륨 조정 버튼(208), 가입자 식별 모듈(SIM) 카드 슬롯(210), 헤드셋 잭(212) 및 도킹/충전용 외부 포트(124)를 포함한다. 푸시 버튼(206)은, 버튼을 눌러 소정의 시간 동안 버튼을 눌러진 상태로 유지시키는 것을 통한 장치 상의 전원의 턴온/턴오프; 버튼을 눌러 소정의 시간이 경과하기 전에 버튼을 릴리즈하는 것을 통한 장치 잠금; 및/또는 잠금해제 프로세스의 개시나 장치 잠금해제에 사용될 수 있다. 다른 실시예에서, 장치(100)는 또한 마이크로폰(113)을 통하여 일부 기능의 활성화 또는 비활성화를 위한 구두 입력(verbal input)을 받아들일 수 있다.
도 3은 일부 실시예들에 따른 디스플레이 및 터치 감지 표면을 갖는 예시적인 다기능 장치의 블록도이다. 장치(300)는 휴대용일 필요는 없다. 일부 실시예들에서, 장치(300)는 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 멀티미디어 플레이어 장치, 내비게이션 장치, 교육용 장치(어린이 학습 완구 등), 게이밍 시스템 또는 제어 장치(예로서, 홈 또는 산업용 컨트롤러)이다. 통상적으로, 장치(300)는 하나 이상의 처리 유닛(CPU)(310), 하나 이상의 네트워크 또는 기타 통신 인터페이스(360), 메모리(370), 및 이러한 컴포넌트들을 상호접속하기 위한 하나 이상의 통신 버스(320)를 포함한다. 통신 버스들(320)은 시스템 컴포넌트들을 상호접속하고 이들 간의 통신을 제어하는 회로(때로는 칩셋이라 한다)를 포함할 수 있다. 장치(300)는 통상적으로 터치 스크린 디스플레이인 디스플레이(340)를 포함하는 입출력(I/O) 인터페이스(330)를 포함한다. I/O 인터페이스(330)는 키보드 및/또는 마우스(또는 다른 포인팅 장치)(350) 및 터치패드(355)도 포함할 수 있다. 메모리(370)는 DRAM, SRAM, DDR RAM 또는 다른 랜덤 액세스 반도체 메모리 장치들과 같은 고속 랜덤 액세스 메모리를 포함하며, 하나 이상의 자기 디스크 저장 장치, 광 디스크 저장 장치, 플래시 메모리 장치 또는 다른 비휘발성 반도체 저장 장치들과 같은 비휘발성 메모리를 포함할 수 있다. 메모리(370)는 옵션으로서 CPU(들)(310)로부터 원격 위치하는 하나 이상의 저장 장치를 포함할 수 있다. 일부 실시예들에서, 메모리(370)는 휴대용 다기능 장치(100)(도 1)의 메모리(102)에 저장된 프로그램들, 모듈들 및 데이터 구조들과 유사한 프로그램들, 모듈들 및 데이터 구조들 또는 이들의 서브세트를 저장한다. 더구나, 메모리(370)는 휴대용 다기능 장치(100)의 메모리(102) 내에 존재하지 않는 추가적인 프로그램들, 모듈들 및 데이터 구조들을 저장할 수 있다. 예를 들어, 장치(300)의 메모리(370)는 제도 모듈(380), 프레젠테이션 모듈(382), 워드 프로세싱 모듈(384), 웹사이트 생성 모듈(386), 디스크 저작 모듈(388) 및/또는 스프레드시트 모듈(390)을 저장할 수 있는 반면, 휴대용 다기능 장치(100)(도 1)의 메모리(102)는 이러한 모듈들을 저장하지 않을 수 있다.
도 3의 전술한 요소들 각각은 전술한 하나 이상의 메모리 장치들에 저장될 수 있다. 전술한 모듈들 각각은 전술한 기능을 수행하기 위한 명령어들의 세트에 대응한다. 전술한 모듈들 또는 프로그램들(즉, 명령어 세트들)은 개별 소프트웨어 프로그램들, 절차들 또는 모듈들로서 구현될 필요는 없으며, 따라서 다양한 실시예들에서는 이러한 모듈들의 다양한 서브세트들이 결합되거나 재배열될 수 있다. 일부 실시예들에서, 메모리(370)는 전술한 모듈들 및 데이터 구조들의 서브세트를 저장할 수 있다. 더구나, 메모리(370)는 전술한 추가적인 모듈들 및 데이터 구조들을 저장할 수 있다.
이하, 휴대용 다기능 장치(100) 상에 구현될 수 있는 사용자 인터페이스(UI)의 실시예에 대하여 설명한다.
도 4a 및 4b는 일부 실시예들에 따른 휴대용 다기능 장치(100) 상의 애플리케이션 메뉴를 위한 예시적인 사용자 인터페이스를 도시한다. 유사한 사용자 인터페이스들이 장치(300) 상에 구현될 수 있다. 일부 실시예들에서, 사용자 인터페이스(400A)는 이하의 구성요소, 또는 이들의 서브세트나 수퍼세트를 포함할 수 있다.
● 셀룰러 신호 및 Wi-Fi 신호 등의 무선 통신을 위한 신호 강도 표시자(402);
● 시간(404);
● 블루투스 표시자(405);
● 배터리 상태 표시자(406);
● 이하의 애플리케이션들과 같은 자주 사용되는 애플리케이션을 위한 아이콘을 포함한 트레이(408); 및
○ 부재중 전화 또는 음성메일 메시지 개수에 대한 표시자(414)를 포함할 수 있는 전화(138),
○ 읽지 않은 이메일 개수에 대한 표시자(410)를 포함할 수 있는 이메일 클라이언트(140),
○ 브라우저(147), 및
○ 음악 플레이어(146)
● 이하의 애플리케이션들과 같은 다른 애플리케이션을 위한 아이콘
○ IM(141),
○ 이미지 관리(144),
○ 카메라(143),
○ 비디오 플레이어(145),
○ 날씨(149-1),
○ 주식(149-2),
○ 운동 지원(142),
○ 달력(148),
○ 계산기(149-3),
○ 알람 시계(149-4),
○ 사전(149-5), 및
○ 사용자-생성 위젯(149-6).
일부 실시예들에서, 사용자 인터페이스(400B)는 이하의 구성요소, 또는 이들의 서브세트나 수퍼세트를 포함할 수 있다.
● 상기 언급된 것과 같은 구성요소들(402, 404, 405, 406, 141, 148, 144, 143, 149-3, 149-2, 149-1, 149-4, 410, 414, 138, 140 및 147);
● 지도 모듈에 대한 지도 아이콘(154);
● 노트 모듈에 대한 노트 아이콘(153);
● 추후 상세히 설명되는 바와 같이, 장치(100) 및 그것의 다양한 애플리케이션(136)을 위한 설정에 대한 액세스를 제공하는 설정(412);
● (애플 컴퓨터사의 상표인) iPod 모듈(152)이라고도 지칭되는 비디오 및 음악 플레이어 모듈에 대한 아이팟 아이콘(152); 및
● (구글사의 상표인) YouTube 모듈(155)이라고도 지칭되는 온라인 비디오 모듈에 대한 온라인 비디오 아이콘(155).
도 4c는 디스플레이(450)(예로서, 터치 스크린 디스플레이(112))와 분리된 터치 감지 표면(451)(예로서, 태블릿 또는 터치패드(355), 도 3)을 갖는 장치(예로서, 장치(300), 도 3) 상의 예시적인 사용자 인터페이스를 나타낸다. 이어지는 예들 중 다수가 (터치 감지 표면과 디스플레이를 결합한) 터치 스크린 디스플레이(112) 상에서의 입력들과 관련하여 주어지지만, 일부 실시예들에서, 장치는 도 4c에 도시된 바와 같이 디스플레이로부터 떨어진 터치 감지 표면 상의 입력들을 감지한다. 일부 실시예들에서, 터치 감지 표면(예로서, 도 4c의 451)은 디스플레이(예로서, 450) 상의 주축(예로서 도 4c의 453)에 대응하는 주축(예로서, 도 4c의 452)을 갖는다. 이러한 실시예들에 따르면, 장치는 디스플레이 상의 각각의 위치들에 대응하는 위치들(예로서, 도 4c에서 460은 468에 대응하고, 462는 470에 대응함)에서 터치 감지 표면(451)과의 접촉들(예로서, 도 4c의 460, 462)을 감지한다. 이러한 방식으로, 터치 감지 표면(예로서, 도 4c의 451) 상에서 장치에 의해 감지된 사용자 입력들(예로서, 접촉들(460, 462) 및 그의 이동들)은 터치 감지 표면이 디스플레이로부터 떨어져 있을 때 다기능 장치의 디스플레이(예로서, 도 4c의 450) 상의 사용자 인터페이스를 조작하기 위해 장치에 의해 사용된다. 본 명세서에서 설명되는 다른 사용자 인터페이스들에 대해 유사한 방법들이 이용될 수 있다는 것을 이해해야 한다.
게다가, 아래의 예들은 주로 손가락 입력들(예로서, 손가락 접촉들, 손가락 탭 제스처들, 손가락 스와이프 제스처들)과 관련하여 주어지지만, 일부 실시예들에서는 손가락 입력들 중 하나 이상이 다른 입력 장치로부터의 입력(예로서, 마우스 기반 입력, 스타일러스 입력, 키보드 입력, 또는 음성 입력)으로 대체된다는 것을 이해해야 한다. 예를 들면, 탭 제스처는 커서가 탭 제스처 위치 위에 있는 동안 마우스 클릭으로 대체될 수 있다(예컨대, 접촉의 감지 후에 접촉의 감지를 중단하는 대신). 다른 예로서, 음성 입력은 디스플레이 상에 물체들을 활성화시키는데 사용될 수 있다(예컨대, 음성 명령 "다음"은 디스플레이 상에서 "다음" 또는 "다음 스텝"을 활성화시킬 수 있다). 유사하게, 다수의 사용자 입력이 동시에 감지되면, 다수의 컴퓨터 마우스들이 동시에 사용될 수 있거나, 마우스 및 손가락 접촉이 동시에 사용될 수 있다는 것을 이해해야 한다.
아래에 제공되는 설명에서, "접촉"이라는 용어는 (연락처 목록, 주소록 등에서의 엔트리를 설명하는 데 사용될 때를 제외하고) "터치 제스처"에 대한 속기 용어로서 사용되며, 따라서 아래에 언급되거나 설명되는 각각의 접촉은 터치 감지 디스플레이 또는 다른 터치 감지 표면의 센서(또는 센서들의 세트)에 의해 감지되는 임의의 적절한 터치 제스처일 수 있다. 유사하게, 아래에서 언급되거나 설명되는 각각의 "손가락 탭"은 임의의 적절한 터치 제스처일 수 있다. 더구나, 일부 실시예들에서, "터치 제스처들"은 터치 감지 스크린(112) 또는 다른 터치 감지 표면과 물리적으로 접촉하는 하나 이상의 손가락 또는 하나 이상의 스타일러스에 의해 이루어지는 제스처들만이 아니라, 터치 감지 스크린(112) 또는 다른 터치 감지 표면에 충분히 가까운 곳에서 전체적으로 또는 부분적으로 발생하는 제스처들도 포함하며, 터치 감지 스크린(112) 또는 다른 터치 감지 표면의 하나 이상의 센서들은 그러한 제스처들을 감지할 수 있다.
후술하는 실시예들과 관련하여, 사용자가 개시하는 "검색들"은 온라인 지도 애플리케이션과 협동하는 지도 프로그램(예로서, 지도 모듈(154))과 관련하여 수행된다. 예를 들어, 일부 실시예들에서, 사용자 개시 검색이 "hotel"의 검색 조회에 대해 수행될 때, 검색 조회 "hotel"은 장치(100 또는 300)의 지도 모듈(154)에 의해 온라인 서버로 전송되고, 이 온라인 서버는 맵핑 애플리케이션 서비스들을 제공하며, 이에 응답하여 장치(100 또는 300)는 지도 정보를 수신한다. 지도 모듈(154)은 수신된 지도 정보를 장치(100 또는 300)의 디스플레이(112 또는 340) 상에 렌더링한다. 이 예에서, 장치에 의해 수신되는 지도 정보는 특정 지리 영역(예를 들어, 사용자의 현재 위치를 둘러싸는 지리 영역 또는 사용자에 의해 마지막으로 지정된 지리 위치에 대응하는 지리 영역)에 대한 도로 지도 또는 다른 지도 및 호텔들의 지도 위치들을 나타내는 객체들(예로서, 검색 결과 핀들)의 세트를 포함한다. 후술하는 바와 같이 다양한 타입의 지도 검색들이 존재하며, 검색에 응답하여 장치(100 또는 300)로 반환되는 정보는 요청된 정보에 의존한다. 다른 실시예들에서는, 지도 데이터베이스가 장치(100 또는 300) 내의 메모리(102 또는 370) 내에 국지적으로 저장되며, 국지적으로 저장된 지도 데이터베이스를 검색함으로써 사용자 개시 검색들이 국지적으로 수행된다.
이제, 장치(300) 또는 휴대용 다기능 장치(100)와 같은, 디스플레이 및 터치 감지 표면을 갖는 다기능 장치 상에서 구현될 수 있는 사용자 인터페이스들("UI") 및 관련 프로세스들의 실시예들이 설명된다.
도 5a-5eee는 일부 실시예들에 따른 검색 결과들 사이에서 방향을 맵핑하기 위한 예시적인 사용자 인터페이스들을 나타낸다. 이 도면들 내의 사용자 인터페이스들은 도 6a-6b, 7a-7b 및 8a-8c의 프로세스들을 포함하는 후술하는 프로세스들을 설명하는 데 사용된다.
도 5a는 터치 스크린(112) 상의 맵핑 애플리케이션 내에 지도(520)를 표시하는 예시적인 사용자 인터페이스를 나타낸다. 맵핑 애플리케이션은 다음의 요소들 또는 이들의 서브세트 또는 수퍼세트를 포함할 수 있다.
● (예를 들어, 아이콘 상의 손가락 탭에 의해) 활성화될 때, 검색 모드에서 지도의 표시를 개시하는 검색 모드 아이콘(508); 검색 모드에서, 지도는 검색 결과들을 오버레이하도록 구성되며; 이 예에서는 검색 모드 아이콘이 활성화되고, 결과적으로 검색 모드 아이콘은 굵은 테두리로 강조됨;
● (예로서, 아이콘 상의 손가락 탭에 의해) 활성화될 때, 방향 모드에서 지도의 표시를 개시하는 방향 모드 아이콘(510); 방향 모드에서, 지도는 방향을 오버레이하도록 구성됨;
● (예로서, 아이콘 상의 손가락 탭에 의해) 활성화될 때, 추적 모드 또는 헤딩 모드와 같은 다양한 모드들을 개시하는 뷰 위치 아이콘(512);
● (예로서, 아이콘 상의 손가락 탭에 의해) 활성화될 때, 북마크들 및/또는 연락처들의 표시를 개시하는 북마크 아이콘(514);
● (예로서, 아이콘 상의 손가락 탭에 의해) 활성화될 때, 위치 검색을 위한 검색 용어들의 수신을 개시하는 검색 용어 입력 영역(516)(예를 들어, 검색 용어들은 완전한 또는 부분적인 주소, 또는 비즈니스 또는 사람의 이름일 수 있다).
도 5a에 도시된 예시적인 사용자 인터페이스는 또한 (Wi-Fi, EDGE 및 3G에 대한 신호와 같은 무선 통신 신호의 강도를 지시하는) 신호 강도 지시자(502), 현재 시간 지시자(504) 및 배터리 전력 지시자(506)를 포함한다.
도 5a에서, 장치의 현재 위치 지시자(598-1)가 지도(520) 상에 표시된다. 일부 실시예들에서, 현재 위치 지시자(598-1)는 장치의 근사 위치를 나타낸다. 도 5a는 또한 (텍스트 입력 필드의 일례인) 검색 필드(516)에 대응하는(예를 들어, 그곳 또는 그 근처) 터치 스크린(112) 상의 위치에서의 접촉(505)의 감지를 나타낸다.
도 5b에서, 접촉(505)의 감지에 응답하여, 최근 팝업 뷰(recents popup view; 540-1) 및 키보드(542)가 표시된다. 최근 팝업 뷰(540-1)는 최근의 조회 입력들의 목록을 포함한다. 사용자는 최근 팝업 뷰(540) 내에 목록화된 조회 입력들 중 하나를 선택함으로써 또는 키보드(542) 상에서 하나 이상의 키워드들을 타이핑함으로써 조회 입력들을 제공할 수 있다.
도 5b는 또한 최근 팝업 뷰(540-1)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(507-A)이 감지되는 것을 나타낸다. 도 5c에서, 접촉(507)은 다른 위치(예로서, 507-B)로 이동하였으며, 최근 팝업 뷰(540-1)의 일부가 접촉(507)의 이동에 따라 스크롤되었다.
도 5d는 사용자가 키보드(542) 상에서 키워드의 타이핑을 개시한 것을 나타낸다. 이 예에서는, 키 "H"에 대응하는 키보드(542) 상의 위치에서 접촉(509)이 감지된다. 도 5d에서, 접촉(509)의 감지에 응답하여, 최근 팝업 뷰(540-1)는 제안 팝업 뷰(540-2)로 바뀌며, 문자 "H"는 검색 용어 입력 영역(516)에 표시된다. 제안 팝업 뷰(540-2)는 키보드를 통해 수신된 입력과 적어도 부분적으로 매칭되는 제안되는 키워드들을 표시한다. 이 예에서, 제안 팝업 뷰(540-2)는 제공된 검색 용어 문자 "h"로 시작하는 제안되는 키워드들을 표시하며, 옵션으로서 제공된 검색 용어 문자 "h"로 시작하는 적어도 하나의 단어를 갖는 하나 이상의 제안되는 키워드 문구들(예로서, "h"로 시작되는 성을 갖는 "Thomas Holmes")을 표시한다. 게다가, 삭제 아이콘(578)이 검색 용어 입력 영역(516)에 표시된다. 삭제 아이콘(578)은 (예로서, 아이콘 상의 손가락 탭에 의해) 활성화될 때 검색 용어 입력 영역(516)에서, 존재할 경우, 전체 엔트리를 삭제한다.
도 5e에서, 키 "O"에 대응하는 키보드(542) 상의 위치에서 접촉(511)이 감지된다. 접촉(511)의 감지에 응답하여, 문자 "o"가 검색 용어 입력 영역(516)에 추가로 표시되며, 제안 팝업 뷰(540-3)는 사용자 제공 문자 "ho"로 시작하는(또는 이들로 시작하는 단어를 포함하는) 제안되는 키워드들을 표시한다.
도 5f는 검색 용어 입력 영역(516)이 검색 용어 "Hotel"을 포함하는 것을 나타낸다. 검색 용어 "Hotel"은 전술한 바와 같은 키보드 (542) 상의 키들을 이용하여 제공될 수 있다. 도 5f에서, 검색 개시 아이콘(예로서, 검색 키(544))에 대응하는 위치에서 제스처(예로서, 접촉(513-A))가 감지된다. 이에 응답하여, 검색 용어 "hotel"에 대응하는 위치들을 검색하기 위해 검색이 개시된다. 대안으로서, 검색 입력 영역(516) 내에 이미 존재하는 엔트리에 관계없이, 검색 키워드 "hotel"에 대응하는 제안되는 키워드들(546) 중 하나(이 예에서, 제안되는 키워드(546-1))에서의 접촉(513-A')이 동일 검색을 개시한다(예를 들어, 검색 입력 영역(516)이 "coffee"와 같은 상이한 검색 용어를 포함하는 경우에도, 제안되는 키워드 "hotel" 상의 접촉은 검색 용어 "hotel"에 대응하는 위치들에 대한 검색을 개시한다).
도 5g-5h는 지도(520) 상에 검색 결과들을 표시하는 애니메이션을 나타낸다. 도 5g에서, 검색 결과 핀들(522-1, 522-2)이 터치 스크린(112)의 에지로부터 나타나고, 검색 결과들에 대응하는 위치들을 향해 이동한다. 또한, 핀 그림자들(548-1, 548-2) 또는 다른 시각 효과들이 나타나고, 검색 결과들에 대응하는 위치들을 향해 이동할 수 있다. 게다가, 특별 지시자(582-1)가 나타나고, 특별 지정의 검색 결과에 대응하는 위치(예로서, 스폰서에 의해 선택된 위치, 인기 있는 위치 등)를 향해 이동한다. 다른 실시예들에서, 검색 결과 핀들은 상이한 방식으로 애니메이션될 수 있거나, 애니메이션 없이 지도 상에 나타날 수 있다.
도 5h에서, 콜아웃(callout; 524-1)이 검색 결과 핀(522-1)에 인접 표시된다. 콜아웃(524-1)은 대응하는 위치와 관련된 정보 텍스트(예로서, 사람, 비즈니스 또는 빌딩의 이름, 빌딩/설비의 타입, 주소 등)를 포함한다. 이 예에서, 콜아웃(524-1)은 대응하는 위치와 관련된 비즈니스 또는 빌딩의 이름 "ABC Hotel"을 포함한다. 콜아웃(524-1)은 또한, (아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때 대응하는 위치의 거리 뷰의 표시를 개시하는 거리 뷰 아이콘(528); 및/또는 (아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때 대응하는 위치와 관련된 추가 정보(예로서, 대응하는 위치에 있는 사람 또는 비즈니스의 전화 번호 및/또는 웹사이트 주소)의 표시를 개시하는 정보 아이콘(526)을 포함할 수 있다.
도 5i에서, 방향 모드 아이콘(510)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(515)이 감지된다. 접촉(515)(또는 임의의 등가적인 사용자 명령)은 지도 애플리케이션으로 하여금 방향 모드에서 사용자 인터페이스를 표시하게 한다.
도 5j는 방향 모드에서의 예시적인 사용자 인터페이스를 나타낸다. 예시적인 사용자 인터페이스는 다음의 요소들 또는 이들의 서브세트 또는 수퍼세트를 포함할 수 있다.
● 경로에 대한 시작 포인트를 표시하는 시작 포인트 입력 영역(570); 시작 포인트 입력 영역(570)은 활성화될 때(예를 들어, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해 선택될 때) 도 5a-f와 관련하여 설명된 바와 같이 시작 포인트에 대한 검색 조회의 입력을 가능하게 함;
● 경로에 대한 종료 포인트를 표시하는 종료 포인트 입력 영역(572); 종료 포인트 입력 영역(572)은 활성화될 때(예를 들어, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해 선택될 때) 도 5a-f와 관련하여 설명된 바와 같이 종료 포인트에 대한 검색 조회의 입력을 가능하게 함;
● (예를 들어, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때, 시작 포인트들의 목록(예로서, 시작 포인트들에 대한 조회 결과들, 또는 최근에 선택된 위치들의 목록)의 표시를 개시하는 시작 포인트 목록 아이콘(574-1);
● (예를 들어, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때, 종료 포인트들의 목록(예로서, 종료 포인트들에 대한 조회 결과들, 또는 최근에 선택된 위치들의 목록)의 표시를 개시하는 종료 포인트 목록 아이콘(574-2);
● 활성화시에 시작 포인트들과 종료 포인트들의 스위칭(즉, 시작 포인트들의 종료 포인트들로의 변환 및 종료 포인트들의 시작 포인트들로의 변환), 시작 포인트 입력 영역(570) 내의 엔트리와 종료 포인트 입력 영역(572) 내의 엔트리의 스위칭 및 방향의 갱신 중 하나 이상을 개시하는 역경로 아이콘(576);
● 선택된 시작 포인트로부터 선택된 종료 포인트까지의 경로를 지시하는 경로(580-1); 일부 실시예들에서, 장치(100)는 사전 정의된 기준들에 기초하여 시작 포인트 및 종료 포인트를 선택하고; 이 예에서는, (현재 위치 지시자(598-1)에 의해 표시되는) 장치의 현재 위치가 시작 포인트로서 선택되고, 검색 결과 핀(522-1)이 종료 포인트로서 선택됨;
● 시작 포인트로부터 종료 포인트까지의 경로와 관련된 정보를 표시하는 방향 팝업 뷰(530); 일부 실시예들에서, 방향 팝업 뷰(530) 내에 표시되는 정보는 이동 방향을 포함하며; 이 예에서, 방향 팝업 뷰(530)는 각각의 이동(운전) 모드에 대해 종료 포인트 ABC Hotel까지의 경로(580-1)에 대한 거리 및 이동 시간을 지시함;
● (예를 들어, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때, 이동 모드의 선택을 개시하고, 옵션으로서 경로(580-1) 및/또는 방향 팝업 뷰(530)를 갱신하는(예로서, 선택된 이동 모드에 대한 갱신된 경로 및 관련 정보를 표시하는) 이동 모드 아이콘들(532); 이 예에서, 이동 모드 아이콘들(532)은 운전 아이콘(532-1), 대중 교통 아이콘(532-2) 및 도보 아이콘(532-3)을 포함함; 및
● (예를 들어, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때, 선택된 시작 포인트로부터 선택된 종료 포인트까지의 경로에 대한 방향의 표시를 개시하는 시작 방향 아이콘(534).
또한, 도 5j에서, 검색 결과 핀들(522)은 종료 포인트 검색 결과 핀들이 된다. 즉, 이전 검색 결과들은 사용자 선택 가능 종료 포인트들이 된다. 역경로 아이콘의 활성화 여부에 따라, 이러한 검색 결과들은 사용자 선택 가능 시작 포인트들이 될 수도 있다.
도 5k에서, 종료 포인트 목록 아이콘(574-2)에 대응하는(예로서, 그곳 또는 그 근처의) 터치 스크린(112) 상의 위치에서 접촉(517)이 감지된다. 이에 응답하여, 도 5l에서 결과 팝업 뷰(540-4)가 표시된다. 결과 팝업 뷰(540-4)는 검색 조회 "hotel"에 대응하는 위치들에 대하여 이전 검색으로부터 얻어진 조회 결과들의 목록을 포함한다.
도 5l은 또한 결과 팝업 뷰(540-4) 밖의 터치 스크린(112) 상의 위치에서 접촉(519)이 감지되는 것을 나타낸다. 이에 응답하여, 결과 팝업 뷰(540-4)는 도 5m에 도시된 바와 같이 표시가 중단된다(또는 사라진다).
도 5m은 또한 검색 결과 핀(522-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(521)이 감지되어 검색 결과 핀(522-2)이 선택되는 것을 나타낸다. 접촉(521)에 응답하여, 경로(580-1)는 표시가 중단되고(또는 사라지며), 도 5n에 도시된 바와 같이 현재 위치(598-1)로부터 검색 결과 핀(522-2)까지의 경로(580-2)가 표시된다. 게다가, 콜아웃(524-1)의 표시가 중단되고(또는 사라지고), 콜아웃(524-2)이 표시된다. 옵션으로서, 콜아웃(524-2)은 전술한 바와 같은 거리 뷰 아이콘(528) 및 정보 아이콘(526)을 포함한다. 방향 팝업 뷰(530)는 경로(580-2)와 관련된 정보를 표시한다. 옵션으로서, 방향 팝업 뷰(530)는 전술한 바와 같은 아이콘들(532-1, 532-2, 532-3, 534)을 포함한다.
도 5o에서, 시작 포인트 입력 영역(570)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(523)이 감지된다. 이에 응답하여, 도 5p에 도시된 바와 같이 최근 팝업 뷰(540-5) 및 키보드(542)가 표시된다. 최근 팝업 뷰(540-5)(도 5p)는 시작 포인트들에 대한 최근 검색 조회들(조회 입력들이라고도 함)(546)의 목록을 포함한다. 도 5q에서, 최근 조회 입력(546-7)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(525)이 감지된다. 이에 응답하여, 검색 조회 "coffee"에 대응하는 위치들을 검색하기 위해 검색이 개시된다. 도 5r-5s는 검색 조회 "coffee"에 대응하는 위치들에 대한 검색의 개시를 위해 발생하는 지도 애플리케이션의 사용자 인터페이스의 변화들을 나타낸다.
특히, 도 5r-5s는 지도(520) 상에 (검색 조회 "coffee"에 대한) 검색 결과들을 표시하는 애니메이션을 나타낸다. 도 5r에서는, 전술한 바와 같이 시작 포인트 검색 결과 핀들(536-1, 536-2) 및 핀 그림자들(548-3, 548-4)이 나타난다. 게다가, 경로(580-2)는 표시가 중단되고(또는 사라지고), 시작 포인트 검색 결과 핀(536-2)으로부터 종료 포인트 검색 결과 핀(522-2)까지의 경로(580-3) 및 콜아웃(524-3)이 표시된다. 이 예에서, 종료 포인트 검색 결과 핀들(536-1, 536-2) 및 시작 포인트 검색 결과 핀들(522-1, 522-2)은 상이한 컬러들, 패턴들 또는 명암을 가짐으로써 시각적으로 구별된다. 일부 실시예들에서는, 시작 포인트 검색 결과 핀들에 대한 핀 그림자들(예로서, 548-1, 548-2)과 종료 포인트 검색 결과 핀들에 대한 핀 그림자들(예로서, 548-3, 548-4)이 상이한 컬러들, 패턴들 또는 명암을 가짐으로써 시각적으로 구별된다.
도 5s에서, 종료 포인트 입력 영역(572)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(527)이 감지된다. 이에 응답하여, 지도 애플리케이션은 도 5t에 도시된 바와 같이 최근 팝업 뷰(540-6) 및 키보드(542)를 표시한다. 최근 팝업 뷰(540-6)는 종료 포인트들에 대한 최근 검색 조회들의 목록을 포함한다. 이 예에서, 종료 포인트들에 대한 최근 팝업 뷰(540-6) 및 시작 포인트들에 대한 최근 팝업 뷰(540-5)(도 5p)는 상이한 최근 조회 입력들의 목록들을 갖는다(즉, 시작 포인트들에 대한 최근 조회 입력들의 목록과 종료 포인트들에 대한 최근 조회 입력들의 목록은 동일하지 않다). 예를 들어, (종료 포인트들에 대한) 최근 팝업 뷰(540-6)는 검색 용어들: 식당, 컴퓨터 및 사람 이름 John Doe를 포함한다. 이들 중 어느 것도 최근 팝업 뷰(540-5)에는 포함되지 않는다. 그러나, 일부 다른 실시예들에서는, 시작 포인트들 및 종료 포인트들 양쪽에 대해 동일한 최근 팝업 뷰가 제공된다. 옵션으로서, 최근 팝업 뷰(540-6)는 최근에 선택된 지도 위치들 및/또는 (지도 위치들에 대한, 시작 포인트들에 대한 그리고 종료 포인트들에 대한) 모든 타입의 최근 위치 검색 조회들을 포함한다.
도 5t는 또한 최근 팝업 뷰(540-6) 밖의 영역에 대응하는 터치 스크린(112) 상의 위치에서 접촉(529)이 감지되는 것을 나타낸다. 이에 응답하여, 지도 애플리케이션은 도 5u에 도시된 바와 같이 최근 팝업 뷰(540-6)의 표시를 중단한다.
도 5u는 역경로 아이콘(576)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(531)의 감지를 나타낸다. 이에 응답하여, 도 5v에 도시된 바와 같이 시작 포인트들과 종료 포인트들이 스위칭된다. 예를 들어, 검색 입력 영역들(570, 572)은 시작 포인트들에 대한 조회 입력으로서 hotel을 그리고 종료 포인트들에 대한 조회 입력으로서 coffee를 표시한다. 시작 포인트 검색 결과 핀들(522-1, 522-2)은 종료 포인트 검색 결과 핀들(536-3, 536-4)로 변환된다. 유사하게, 종료 포인트 검색 결과 핀들(536-1, 536-2)은 시작 포인트 검색 결과 핀들(522-3, 522-4)로 변환된다. 방향 팝업 뷰(530)는 시작 포인트 검색 결과 핀(536-4)으로부터 종료 포인트 검색 결과 핀(522-4)까지의 경로와 관련된 정보를 표시한다.
도 5w는 역경로 아이콘(576)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(533)의 감지를 나타낸다. 이에 응답하여, 도 5x에 도시된 바와 같이 시작 포인트들과 종료 포인트들이 다시 스위칭된다.
도 5x는 또한 시작 포인트 검색 결과 핀(536-1)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(535)의 감지를 나타내며, 따라서 시작 포인트 검색 결과 핀(536-1)이 선택된다. 이에 응답하여, 지도 애플리케이션은 경로(580-3)의 표시를 중단하는 대신, 도 5y에 도시된 바와 같이 시작 포인트 검색 결과 핀(536-1)으로부터 종료 포인트 검색 결과 핀(522-2)까지의 경로(580-4)를 표시한다. 게다가, (시작 포인트 검색 결과 핀(536-1)에 대한) 콜아웃(524-4)이 표시된다.
도 5z는 종료 포인트 검색 결과 핀(522-1)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(537)의 감지를 나타내며, 따라서 종료 포인트 검색 결과 핀(522-1)이 선택된다. 이에 응답하여, 지도 애플리케이션은 경로(580-4)의 표시를 중단하는 대신, 도 5aa에 도시된 바와 같이 시작 포인트 검색 결과 핀(536-1)으로부터 종료 포인트 검색 결과 핀(522-1)까지의 경로(580-5)를 표시한다.
도 5bb에서, 사전 정의된 지속 기간보다 긴 기간 동안 터치 스크린(112) 상의 위치에서 접촉(539)이 감지된다. 일부 실시예들에서, 사전 정의된 지속 기간은 0.2초와 2초 사이의 고정 시간 길이(예로서, 1초)이다. 이에 응답하여, 지도 애플리케이션은 도 5cc-5dd에 도시된 바와 같이 본 명세서에서 "낙하 핀"이라고 하는 사용자 이동 가능 마커를 지도(520)에 추가한다.
도 5cc-5dd는 지도(520)에 추가되고 있는 사용자 이동 가능 위치 마커(낙하 핀(538-1))를 표시하는 애니메이션을 나타낸다. 낙하 핀(538-1), 핀 그림자(548-5) 및 콜아웃(524-5)이 전술한 바와 같이 나타난다. 게다가, 지도 애플리케이션은 경로(580-5)의 표시를 중단하는 대신, 도 5dd에 도시된 바와 같이 시작 포인트 검색 결과 핀(536-1)으로부터 낙하 핀(538-1)까지의 경로(580-6)를 표시한다. 낙하 핀(538-1)은 상이한 컬러들, 패턴들 또는 명암을 가짐으로써 시작 포인트 검색 결과 핀들(522) 및 종료 포인트 검색 결과 핀들(536)로부터 시각적으로 구별된다. 일부 실시예들에서는, 낙하 핀(538-1)에 대한 핀 그림자(548-5)가 시작 포인트 검색 결과 핀들 및 종료 포인트 검색 결과 핀들에 대한 핀 그림자들로부터 시각적으로 구별된다. 도 5dd에서, "종료" 필드(572)는 낙하 핀의 위치로 갱신되지 않았지만, 일부 실시예들에서는 낙하 핀의 위치의 주소를 결정하기 위해 역탐색이 이용될 수 있고, 주소는 적절한 경우에 시작 또는 종료 필드에 자동 입력될 수 있다.
도 5ee-5hh는 접촉(541)의 사용자 제어 이동에 따라 낙하 핀(538-1)을 이동시키는 애니메이션을 나타낸다. 도 5ee에서, 낙하 핀(538-1)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(541-A)이 감지된다. 접촉(541)이 이동함에 따라, 낙하 핀(538-1)은 뽑힌 상태로 나타나고(도 5ff), 접촉(541)을 따라서(도 5gg), 최종 접촉(도 5gg의 541-C)의 위치에 대응하는 위치에 낙하한다(도 5hh). 일부 실시예들에서, 낙하 핀의 외관은 낙하 핀이 지도 상에서 조작되거나 이동되고 있는 동안에 변하지 않을 수 있다. 게다가, 시작 포인트 검색 결과 핀(536-1)으로부터 낙하 핀(538-1)의 새 위치까지의 경로(580-7)가 표시된다.
도 5ii에서, 역경로 아이콘(576)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(543)이 감지된다. 이에 응답하여, 전술하고 도 5jj에 도시된 바와 같이 시작 포인트들과 종료 포인트들이 스위칭된다. 방향 팝업 뷰(530)는 낙하 핀(538-1)으로부터 종료 포인트 검색 결과 핀(522-3)까지의 경로에 대한 정보를 표시한다.
도 5kk 및 5ll은 맵핑 애플리케이션에서의 스냅핑(snapping) 프로세스를 나타낸다. 도 5kk에서, 일반 차량 또는 일반인이 갈 수 없는 물리적 위치(예를 들어, 대양, 호수 또는 하천과 같은 수역 또는 길이 없는 숲 또는 산악 지대)에 대응하는 터치 스크린(112) 상의 위치에서 사전 정의된 지속 기간보다 긴 기간 동안 접촉(545)이 감지된다. 예를 들어, 공항의 중앙(예로서, 활주로)에 대응하는 위치에서 접촉(545-A)이 감지된다. 유사하게, 하천 수로의 중앙 위치에 대응하는 위치에서 접촉(545-A')이 감지된다. 공항 활주로 및 하천 수로들은 일반 차량 또는 일반인이 가지 못하는 영역들이다. 도 5ll은 낙하 핀들(538-2, 538-3)이 일반 차량 또는 일반인이 (예를 들어, 공용 도로들을 통해) 갈 수 있는, 접촉들(545-A, 545-A')에 인접하는 물리적 위치들에 대응하는 위치들에 배치되는 것을 나타낸다. 일부 실시예들에서, 접근 불가 위치에서 접촉(545)이 감지될 때, 낙하 핀은 교차로, 거리, 공항 터미널, 공원, 해변 또는 접촉(545)에 가장 가까운 다른 공개적으로 접근 가능한 포인트에 배치된다.
도 5mm-5eee는 일부 실시예들에 따른 경로의 부분들을 표시하기 위한 예시적인 사용자 인터페이스들을 나타낸다.
도 5mm은 터치 스크린(112) 상에 지도(520)를 표시하는 예시적인 지도 애플리케이션 사용자 인터페이스를 나타낸다. 사용자 인터페이스는 아래의 요소들 또는 이들의 서브세트 또는 수퍼세트를 포함할 수 있다.
● 전술한 바와 같은 시작 포인트 검색 결과 핀들(536-5, 536-6);
● 전술한 바와 같은 종료 포인트 검색 결과 핀들(522-5, 522-6);
● 전술한 바와 같은 방향 팝업 뷰(530); 및
● 전술한 바와 같은 시작 방향 아이콘(534).
도 5mm은 시작 포인트 검색 결과 핀(536-6)으로부터 종료 포인트 검색 결과 핀(522-6)까지의 경로(580-8)를 나타낸다. 도 5mm은 또한 시작 방향 아이콘(534)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(547)이 감지되는 것을 나타낸다. 접촉(547)에 응답하여, 지도 애플리케이션은 도 5nn에 도시된 바와 같이 지도(520) 상에 경로(580-8)의 부분들을 표시한다. 게다가, 지도 애플리케이션은 지도(520) 상에 웨이포인트들(554-1, 554-2, 554-3)을 표시한다. 도 5nn은 방향 팝업 뷰(530)가 현재 웨이포인트(예로서, 554-1)로부터 다음 웨이포인트(예로서, 554-2)까지의 경로의 일부를 표시하는 것을 나타낸다. 웨이포인트들의 경로 상의 포인트들이다. 일부 실시예들에서, 웨이포인트들은 이동 방향이 바뀌거나 경로가 하나의 도로 또는 하위 경로로부터 다른 도로 또는 하위 경로로 바뀌는 경로 상의 포인트들이다. 옵션으로서, 도 5nn에 도시된 바와 같이, 방향 팝업 뷰(530)는 아래의 요소들을 포함할 수 있다.
● (예로서, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때, 경로의 이전 부분의 표시를 개시하는 이전 스텝 아이콘(550-1); 및
● (예로서, 아이콘 상의 손가락 탭에 의해 또는 음성 명령에 의해) 활성화될 때, 경로의 다음 부분의 표시를 개시하는 다음 스텝 아이콘(550-2).
도 5nn은 또한 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(549)의 감지를 나타낸다. 일부 실시예들에서, 지도 애플리케이션은 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉(549)에 응답하여, 도 5oo-5rr에 도시된 바와 같이 현재 웨이포인트(예로서, 554-1)로부터 다음 웨이포인트(예로서, 554-2)로 이동하는 애니메이션을 표시한다. 도 5oo-5rr에서는, 현재 웨이포인트로부터 다음 웨이포인트까지의 진행을 지시하기 위해 위치 지시자(552)가 사용된다.
도 5rr에서, 경로의 다음 부분(예로서, 웨이포인트(554-2)로부터 웨이포인트(554-3)까지의 경로의 일부)이 표시된다. 일부 실시예들에서, 경로의 다음 부분의 표시는 경로의 다음 부분과 이동하지 않은 경로의 나머지를 시각적으로 구별하는 것을 포함한다. 이 예에서, 경로의 다음 부분은 상이한 컬러들, 패턴들 및/또는 라인 폭을 가짐으로써 시각적으로 구별된다. 도 5rr은 또한 방향 팝업 뷰(530)가 경로의 다음 부분에 대한 방향을 표시하는 것을 나타낸다.
도 5ss에서, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(551)이 감지된다. 일부 실시예들에서, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(551)에 응답하여, 지도 애플리케이션은 도 5tt에 도시된 바와 같이 웨이포인트(554-2)로부터 웨이포인트(554-3)로 이동하는 위치 지시자(552)의 애니메이션을 표시한다.
도 5tt에서, 애니메이션이 표시되는 동안, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉들(553-A, 553-B)이 감지된다. 일부 실시예들에서, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉들(553-A, 553-B)에 응답하여, 웨이포인트(554-2)로부터 웨이포인트(554-3)로 이동하는 위치 지시자(552)의 애니메이션이 중단(또는 종료)되고, 도 5uu에 도시된 바와 같이 웨이포인트(554-3)에 위치 지시자(552)가 표시된다.
도 5vv에서, 웨이포인트(554-3)로부터 웨이포인트(554-4)까지의 경로의 일부가 표시된다(그리고/또는 경로(580-8)의 다른 부분들과 시각적으로 구별된다). 웨이포인트(554-3)에 대응하는 위치에 위치 지시자(552)가 표시된다. 지도 애플리케이션은 도 7a에 도시된 동작 706을 참조하여 후술하는 바와 같이 사전 정의된 기준들에 따라 도 5vv의 뷰로부터 도 5ww의 뷰로 바뀐다.
도 5ww에서, 웨이포인트(554-4)로부터 웨이포인트(554-5)까지의 경로의 일부가 표시된다. 웨이포인트(554-4)에 대응하는 위치에(즉, 도 5vv의 위치 지시자(552)에 의해 식별되는 웨이포인트 뒤의 경로를 따른 다음 웨이포인트에) 위치 지시자(552)가 표시된다. 도 5ww는 또한 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉들(555-A, 555-B, 555-C)의 감지를 나타낸다.
도 5xx-5yy는 전체 경로 뷰 내의 애니메이션을 갖는 예시적인 사용자 인터페이스를 나타낸다. 도 5xx-5yy에서, 경로(580-8)의 전체 경로가 표시된다. 웨이포인트(554-4)로부터 웨이포인트(554-5)까지의 경로의 일부 상에 위치 지시자(552)가 표시된다. 일부 실시예들에서, 위치 지시자(552)는 웨이포인트(554-4)로부터 웨이포인트(554-5)로의 진행을 시각적으로 나타내는 애니메이션과 함께 표시된다. 도 5xx는 또한 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉들(557-A, 557-B, 557-C)의 감지를 나타낸다. 유사하게, 도 5yy는 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서의 접촉들(559-A, 559-B, 559-C)의 감지를 나타낸다.
도 5zz-5aaa는 전체 경로 뷰 내의 유사한 애니메이션을 나타낸다. 도 5zz에서, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉들(561-A, 561-B, 561-C)이 감지된다. 도 5aaa에서, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉들(563-A, 563-B)이 감지된다. 지도 애플리케이션은 도 7a를 참조하여 후술하는 바와 같이 접촉들(563-A, 563-B)의 레이트(또는 이들 간의 시간차)에 따라 어떻게 사용자 인터페이스를 갱신할지를 결정한다.
도 5bbb에서, 웨이포인트(554-6)로부터 웨이포인트(554-7)까지의 경로의 일부가 표시된다(그리고/또는 경로(580-8)의 다른 옵션들과 시각적으로 구별된다). 도 5bbb-5ccc는 또한 웨이포인트(554-6)로부터 웨이포인트(554-7)로 이동하는 위치 지시자(552)의 애니메이션을 나타낸다. 도 5ccc에서, 다음 스텝 아이콘(550-2)에 대응하는 터치 스크린(112) 상의 위치에서 접촉(565)이 감지된다.
유사하게, 도 5ddd-5eee에서, 웨이포인트(554-7)로부터 웨이포인트(554-8)까지의 경로의 일부가 표시된다(그리고/또는 경로(580-8)의 다른 옵션들과 시각적으로 구별된다). 도 5ddd-5eee는 또한 웨이포인트(554-7)로부터 웨이포인트(554-8)로 이동하는 위치 지시자(552)의 애니메이션을 나타낸다. 도 5eee는 애니메이션의 완료를 나타낸다.
도 6a-6b는 일부 실시예들에 따른 검색 결과들 사이에 방향을 맵핑하는 방법(600)을 나타내는 흐름도들이다. 방법(600)은 디스플레이를 구비한 컴퓨팅 장치(예를 들어, 도 3의 장치(300) 또는 도 1의 휴대용 다기능 장치(100))에서 수행된다. 일부 실시예들에서, 장치는 터치 감지 표면을 갖는다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감지 표면은 디스플레이 상에 위치한다. 일부 실시예들에서, 디스플레이는 터치 감지 표면과 분리된다. 방법(600)의 일부 동작들은 결합될 수 있고 그리고/또는 일부 동작들의 순서는 변경될 수 있다.
후술하는 바와 같이, 방법(600)은 검색 결과들 사이에 방향을 맵핑하기 위한 직관적인 방법을 제공한다. 방법은 검색 결과들 사이에 방향을 맵핑할 때 사용자의 인식 부담을 줄임으로써 더 효율적인 사람-기계 인터페이스를 생성한다. 예를 들어, 사용자가 시작 포인트들 및 종료 포인트들 양자를 검색할 때, 전통적인 방법들은 사용자가 시작 포인트들 및 종료 포인트들에 대해 각각 검색을 수행하는 것을 필요로 한다. 그러한 다수의 검색은 지루하다. 이에 비해, 시작 포인트들 및 종료 포인트들 양자에 대한 검색 결과들의 동시 표시는 시작 포인트 및 종료 포인트의 더 빠르고 더 최적인 선택을 가능하게 한다(예를 들어, 호텔들 및 커피숍들의 동시 표시는 커피숍에 가장 가까이 위치하는 호텔의 선택을 가능하게 한다). 배터리에 의해 작동되는 컴퓨팅 장치들에 대해, 사용자가 더 빠르고 더 효율적으로 검색 결과들 사이에서 방향을 맵핑할 수 있게 하는 것은 전력을 보존하고 배터리 충전들 사이의 시간을 늘린다.
장치(100)는 지도, 제1 조회 입력을 수신하도록 구성된 제1 필드, 및 제2 조회 입력을 수신하도록 구성된 제2 필드를 (예를 들어, 브라우저(147) 또는 전용 맵핑 애플리케이션(154) 내에) 표시한다(602). 예를 들어, 도 5j에서, 터치 스크린(112)은 지도(520), 제1 조회 입력을 수신하도록 구성된 제1 필드(예로서, 시작 포인트 입력 영역(570)), 및 제2 조회 입력을 수신하도록 구성된 제2 필드(예로서, 종료 포인트 입력 영역(572))를 표시한다. 제1 필드는 제2 필드와 다르다(예를 들어, 시작 포인트 입력 영역(570)은 종료 포인트 입력 영역(572)과 다르다). 지도, 제1 필드 및 제2 필드는 통상적으로 동시에 표시된다(예로서, 도 5j).
장치(100)는 (예를 들어, 물리 키보드, 소프트 키보드 상의 손가락 또는 스타일러스 제스처들, 또는 오디오 입력의 대화 인식을 통해) 제1 필드에서 제1 조회 입력을 수신한다(604). 예를 들어, 시작 포인트 입력 영역(570)에서의 제1 조회 입력은 최근 팝업 뷰(540-5)(도 5q) 내에 목록화된 이전 조회 입력 상의 접촉(525)에 의해 제공된다. 장치(100)는 유사한 방식으로 제2 필드에서 제2 조회 입력을 수신한다(606)(예를 들어, 도 5t의 최근 팝업 뷰(540-6)를 이용하여 제2 필드 내에 제2 조회 입력을 제공할 수 있다).
일부 실시예들에서, 제2 필드 내의 제2 조회 입력은 제3 필드에서 수신된 조회 입력에 대응한다. 예를 들어, 종료 포인트 입력 영역(572) 내의 조회 입력은 검색 용어 입력 영역(516)(도 5i-5j)에서 수신된 조회 입력에 대응한다.
장치(100)는 제1 조회 입력을 사용하는 검색 및 제2 조회 입력을 사용하는 검색을 개시한다(608). 검색(들)은 컴퓨팅 장치에서 그리고/또는 컴퓨팅 장치와 통신할 수 있는 원격 서버(예로서, 검색 엔진 서버)에서 수행될 수 있다.
장치(100)는 지도 상에 제1 조회 입력에 대한 제1 복수의 검색 결과 및 제2 조회 입력에 대한 제2 복수의 검색 결과를(예를 들어, 도 5s의 지도(520) 상에 시작 포인트 검색 결과 핀들(522-1, 522-2) 및 종료 포인트 검색 결과 핀들(536-1, 536-2)을) 동시에 표시한다(610).
장치(100)는 (예를 들어, 제1 검색 결과 상의 손가락 또는 스타일러스 제스츠의 감지, 커서가 제1 검색 결과 위에 위치할 때의 마우스 클릭의 감지, 또는 오디오 입력의 대화 인식을 통해) 제1 복수의 검색 결과 내의 제1 검색 결과의 (사용자에 의한) 선택; 예를 들어 도 5x의 시작 포인트 검색 결과 핀(536-1) 상의 접촉(535)을 감지한다(612). 일부 실시예들에서, 제1 복수의 검색 결과 내의 제1 검색 결과의 선택은 사용자의 개별적인 선택 없이 제1의 사전 정의된 기준들에 따른 제1 검색 결과의 선택을 포함한다. 예를 들어, 도 5s에서 사용자의 개별적인 선택(예로서, 접촉) 없이 시작 포인트 검색 결과 핀(536-2)이 선택된다. 사전 정의된 기준들은 다음 요소들, 즉 현재 위치에 대한 근접도, 주요 도로에 대한 근접도, 지도 중심에 대한 근접도 및 검색 결과들의 순서 또는 순위 중 하나 이상을 포함할 수 있다.
장치(100)는 (예를 들어, 제2 검색 결과 상의 손가락 또는 스타일러스 제스츠의 감지, 커서가 제2 검색 결과 위에 위치할 때의 마우스 클릭의 감지, 또는 오디오 입력의 대화 인식을 통해) 제2 복수의 검색 결과 내의 제2 검색 결과의 (사용자에 의한) 선택; 예를 들어 도 5z의 종료 포인트 검색 결과 핀(522-1) 상의 접촉(537)을 감지한다(614). 일부 실시예들에서, 제2 복수의 검색 결과 내의 제2 검색 결과의 선택은 사용자의 개별적인 선택 없이 제2의 사전 정의된 기준들에 따른 제2 검색 결과의 선택을 포함한다. 예를 들어, 도 5j에서 사용자의 개별적인 선택(예로서, 접촉) 없이 종료 포인트 검색 결과 핀(522-1)이 선택된다. 제2의 사전 정의된 기준들은 전술한 바와 같다. 일부 실시예들에서, 제1의 사전 정의된 기준들은 제2의 사전 정의된 기준들과 상이하다. 다른 실시예들에서, 제1의 사전 정의된 기준들 및 제2의 기준들은 동일하다.
제1 검색 결과의 선택의 감지 및 제2 검색 결과의 선택의 감지에 응답하여, 장치(100)는 제1 검색 결과로부터 제2 검색 결과까지의 지도 상의 경로(예를 들어, 도 5aa의 경로(580-5)를 표시한다(616). 경로는 자동차, 버스 또는 보행자에 대한 방향을 포함할 수 있다(예를 들어, 도 5aa의 방향 팝업 뷰(530)는 방향을 포함할 수 있다).
다양한 실시예들에서는, 추가 단계들 및/또는 제한들이 구현될 수 있다(예로서, 도 6b의 618 참조).
일부 실시예들에서, 제1 복수의 검색 결과는 경로 시작 포인트들이고, 제2 복수의 검색 결과는 경로 종료 포인트들이다(620). 예를 들어, 제1 조회 입력(예를 들어, 시작 포인트 입력 영역(570) 내의 조회 입력)에 대한 제1 복수의 검색 결과는 도 5s의 경로 시작 포인트들(예로서, 시작 포인트 검색 결과 핀들(522))이다. 유사하게, 제2 조회 입력(예로서, 종료 포인트 입력 영역(572) 내의 조회 입력)에 대한 제2 복수의 검색 결과는 도 5s의 경로 종료 포인트들(예로서, 종료 포인트 검색 결과 핀들(536))이다.
일부 실시예들에서, 제1 검색 결과와 제2 검색 결과 사이의 경로를 지도 상에 표시하는 동안, 장치(100)는 (예로서, 역경로 아이콘 상의 손가락 또는 스타일러스 제스처의 감지, 역경로 아이콘 상에 커서가 위치할 때의 마우스 클릭의 감지 또는 오디오 입력의 대화 인식을 통해) 역경로 아이콘의 선택; 예를 들어 도 5u의 역경로 아이콘(576) 상의 접촉(531)을 감지한다(622). 역경로 아이콘의 선택의 감지에 응답하여, 장치(100)는 제1 복수의 검색 결과를 경로 종료 포인트들로 그리고 제2 복수의 검색 결과를 경로 시작 포인트들로 변환하며(예를 들어, 시작 포인트 검색 결과 핀들(536-1, 536-2)은 종료 포인트 검색 결과 핀들(522-3, 522-4)로 변환되고, 종료 포인트 검색 결과 핀들(522-1, 522-2)은 도 5u 내지 5v에서 시작 포인트 검색 결과 핀들(536-3, 536-4)로 변환되며), 경로를 제2 조회 결과로부터 제1 조회 결과까지의 경로로 변환한다(예를 들어, 방향 팝업 뷰(530)는 도 5u-5v의 경로의 반전을 지시한다).
일부 실시예들에서, 제1 검색 결과와 제2 검색 결과 사이의 경로를 지도 상에 표시하는 동안, 장치(100)는 (예를 들어, 제3 검색 결과 상의 손가락 또는 스타일러스 제스처의 감지, 제3 검색 결과 상에 커서가 위치할 때의 마우스 클릭의 감지 또는 오디오 입력의 대화 인식을 통해) 제1 복수의 검색 결과 내의 제3 검색 결과의 (사용자에 의한) 선택을 감지한다(624). 제3 검색 결과의 선택의 감지에 응답하여, 장치는 제1 검색 결과로부터 제2 검색 결과까지의 경로를 지도 상에 표시하는 것을 중단하고, 제3 검색 결과로부터 제2 검색 결과까지의 경로를 지도 상에 표시한다(예를 들어, 도 5x의 시작 포인트 검색 결과 핀(536-1) 상의 접촉(535)의 감지에 응답하여, 시작 포인트 검색 결과 핀(536-1)으로부터 종료 포인트 검색 결과 핀(522-2)까지의 경로(580-4)가 도 5y에 표시된다).
일부 실시예들에서, 제1 검색 결과와 제2 검색 결과 사이의 경로를 지도 상에 표시하는 동안, 장치(100)는 (예를 들어, 제3 검색 결과 상의 손가락 또는 스타일러스 제스처의 감지, 제3 검색 결과 상에 커서가 위치할 때의 마우스 클릭의 감지 또는 오디오 입력의 대화 인식을 통해) 제2 복수의 검색 결과 내의 제3 검색 결과의 (사용자에 의한) 선택을 감지한다(626). 제3 검색 결과의 선택의 감지에 응답하여, 장치(100)는 제1 검색 결과로부터 제2 검색 결과까지의 경로를 지도 상에 표시하는 것을 중단하고, 제1 검색 결과로부터 제3 검색 결과까지의 경로를 지도 상에 표시한다(예를 들어, 도 5z의 종료 포인트 검색 결과 핀(522-1) 상의 접촉(537)의 감지에 응답하여, 시작 포인트 검색 결과 핀(536-1)으로부터 종료 포인트 검색 결과 핀(522-1)까지의 경로(580-5)가 도 5aa에 표시된다).
일부 실시예들에서, 제1 검색 결과와 제3 검색 결과 사이의 경로를 지도 상에 표시하는 동안, 장치(100)는 (예를 들어, 제4 검색 결과 상의 손가락 또는 스타일러스 제스처의 감지, 제4 검색 결과 상에 커서가 위치할 때의 마우스 클릭의 감지 또는 오디오 입력의 대화 인식을 통해) 제1 복수의 검색 결과 내의 제4 검색 결과의 (사용자에 의한) 선택을 감지한다(628). 제4 검색 결과의 선택의 감지에 응답하여, 장치(100)는 제1 검색 결과로부터 제3 검색 결과까지의 경로를 지도 상에 표시하는 것을 중단하고, 제4 검색 결과로부터 제3 검색 결과까지의 경로를 지도 상에 표시한다(예를 들어, 도 5z의 종료 포인트 검색 결과 핀(522-1) 상의 접촉(537)의 감지에 응답하여, 시작 포인트 검색 결과 핀(536-1)으로부터 종료 포인트 검색 결과 핀(522-1)까지의 경로(580-5)가 도 5aa에 표시된다).
일부 실시예들에서, 제1 복수의 검색 결과는 (예를 들어, 제1 복수가 후보 경로 시작 포인트들일 때의 제1 복수에 대한 녹색 핀들 및 제2 복수가 후보 경로 종료 포인트들일 때의 제2 복수에 대한 적색 핀들과 같이 상이한 컬러들, 패턴들 또는 명암을 가짐으로써) 제2 복수의 검색 결과와 시각적으로 구별된다(630). 예를 들어, 도 5s-5aa에서 시작 포인트 검색 결과 핀들(536)은 종료 포인트 검색 결과 핀들(522)과 시각적으로 구별된다.
도 7a-7b는 일부 실시예들에 따른 경로의 부분들을 맵핑하는 방법(700)을 나타내는 흐름도들이다. 방법(700)은 디스플레이 및 터치 감지 표면을 구비한 컴퓨팅 장치(예를 들어, 도 3의 장치(300) 또는 도 1의 휴대용 다기능 장치(100))에서 수행된다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감지 표면은 디스플레이 상에 위치한다. 일부 실시예들에서, 디스플레이는 터치 감지 표면과 분리된다. 방법(700)의 일부 동작들은 결합될 수 있고 그리고/또는 일부 동작들의 순서는 변경될 수 있다.
후술하는 바와 같이, 방법(700)은 경로의 부분들을 표시하기 위한 직관적인 방법을 제공한다. 방법은 경로의 부분들을 표시할 때 사용자의 인식 부담을 줄임으로써 더 효율적인 사람-기계 인터페이스를 생성한다. 예를 들어, 이 방법은 사용자가 경로의 일부와 전체 경로 간의 관계를 알 수 있게 함으로써 더 양호한 경로 이해를 가능하게 한다. 게다가, 이 방법은 경로의 부분들의 가속화된 표시를 가능하게 하여 표시 시간을 줄인다. 배터리에 의해 작동되는 컴퓨팅 장치들에 대해, 사용자가 더 빠르고 더 효율적으로 경로의 부분들을 표시할 수 있게 하는 것은 전력을 보존하고 배터리 충전들 사이의 시간을 늘린다.
장치(100)는 (예를 들어, 브라우저(147) 또는 전용 맵핑 애플리케이션(154)에서) 지도 상에 경로의 일부를 표시한다(702). 예를 들어, 도 5nn에서 경로(예로서, 경로(580-8)의 일부가 지도(520) 상에 표시된다. 경로는 시작 웨이포인트로부터 종료 웨이포인트까지의 경로(예로서, 도 5mm에서 시작 포인트 검색 결과 핀(536-6)으로부터 종료 포인트 검색 결과 핀(522-6)까지의 경로(580-8))이다.
장치(100)는 다음 스텝(또는 다음 웨이포인트) 아이콘(예컨대, 다음 스텝 아이콘(550-2))에 대응하는 터치 감지 표면 상의 위치에서 복수의 제스처(예로서, 손가락 또는 스타일러스를 이용하여 행해진 탭 제스처들; 도 5nn-5ccc의 접촉들(549, 551, 553, 555, 557, 559, 561, 563, 565)를 감지한다(704).
복수의 제스처 내의 각각의 제스처에 대해, 각각의 제스처가 제1의 사전 정의된 조건을 충족시킬 때(예로서, 각각의 제스처가 애니메이션의 표시 후에 감지되거나; 각각의 제스처와 다음 스텝 아이콘 상의 이전 제스처의 감지 사이의 시간이 사전 정의된 지속 기간보다 길거나; 다음 스텝 아이콘 상에서 감지된 제스처들의 레이트가 사전 정의된 임계치보다 적게 증가할 때), 장치(100)는 경로 상에서 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하고, 다음 웨이포인트를 포함하는 경로의 일부를 표시하며(예로서, 도 5nn-5qq), 각각의 제스처가 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때(예로서, 각각의 제스처가 애니메이션의 표시 동안에 감지되거나; 각각의 제스처와 다음 스텝 아이콘 상의 이전 제스처의 감지 사이의 시간이 사전 정의된 지속 기간보다 짧거나; 다음 스텝 아이콘 상에서 감지된 제스처들의 레이트가 사전 정의된 임계치보다 많이 증가할 때), 장치(100)는 경로 상에서 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 애니메이션을 표시하지 않고, 다음 웨이포인트를 포함하는 경로의 일부를 표시한다(예로서, 도 5vv-5ww)(706). 일부 실시예들에서, 각각의 제스처가 제1의 사전 정의된 조건과 다른 제2의 사전 정의된 조건을 충족시킬 때, 장치(100)는 경로 상에서 현재 웨이포인트로부터 다음 웨이포인트로 이동하는 더 짧은 애니메이션을 표시하고, 다음 웨이포인트를 포함하는 경로의 일부를 표시한다.
일부 실시예들에서는, 각각의 제스처와 다음 스텝 아이콘 상의 이전 제스처의 감지 사이의 시간이 사전 정의된 지속 기간보다 길 때 제1의 사전 정의된 조건이 충족된다(708). 일부 실시예들에서, 사전 정의된 지속 기간은 0.1초 내지 2초(예로서, 0.5초)이다.
일부 실시예들에서, 각각의 제스처가 다음 스텝 아이콘에 대응하는 터치 감지 표면 상의 위치에서 이전 제스처 후에 발생할 때, 제1의 사전 정의된 조건은 각각의 제스처가 이전 제스처에 대응하는 애니메이션이 완전히 표시된 후에 감지되는 경우에(예로서, 도 5ss의 접촉(551)) 충족된다(710). 논리적으로 등가인 다른 방식으로 표현하면, 제1의 사전 정의된 조건은 각각의 제스처가 다음 스텝 아이콘에 대응하는 터치 감지 표면 상의 위치에서 이전 제스처 후에 발생하고 각각의 제스처가 이전 제스처에 대응하는 애니메이션이 완전히 표시된 후에 감지될 때 충족된다(710).
일부 실시예들에서, 제2의 사전 정의된 조건은 각각의 제스처와 다음 스텝 아이콘 상의 이전 제스처의 감지 사이의 시간이 사전 정의된 지속 기간보다 짧은 경우에 충족된다(712). 일부 실시예들에서, 사전 정의된 지속 기간은 0.1초와 2초 사이(예로서, 0.5초)이다.
일부 실시예들에서, 각각의 제스처가 다음 스텝 아이콘에 대응하는 터치 감지 표면 상의 위치에서 이전 제스처 후에 발생할 때, 제2의 사전 정의된 조건은 각각의 제스처가 이전 제스처에 대응하는 애니메이션이 표시되는 동안에 감지되는 경우에(예로서, 도 5tt의 접촉(553-A) 또는 접촉(553-B)) 충족된다(714). 논리적으로 등가인 다른 방식으로 표현하면, 제2의 사전 정의된 조건은 각각의 제스처가 다음 스텝 아이콘에 대응하는 터치 감지 표면 상의 위치에서 이전 제스처 후에 발생하고 각각의 제스처가 이전 제스처에 대응하는 애니메이션이 표시되는 동안에 감지될 때 충족된다(714).
다양한 실시예들에서는, 추가적인 단계들 및/또는 제한들이 구현될 수 있다(예로서, 도 7b의 716 참조).
일부 실시예들에서, 복수의 제스처 내의 각각의 제스처에 대해, 각각의 제스처가 제1의 사전 정의된 조건 및 제2의 사전 정의된 조건과 다른 제3의 사전 정의된 조건을 충족시킬 때(예로서, 각각의 제스처와 다음 스텝 아이콘 상의 이전 제스처의 감지 사이의 시간이 사전 정의된 지속 기간보다 짧고, 제스처의 레이트가 사전 정의된 레이트를 초과할 때), 장치(100)는 전체 경로를 표시하고, 경로 상의 다음 웨이포인트로의 진행을 시각적으로 지시한다(718). 예를 들어, 도 5ww의 접촉들(555-A, 555-B, 555-C)에 응답하여, 도 5ww-5yy에서 전체 경로가 표시되고, 다음 웨이포인트로의 진행의 시각적 방향이 표시된다.
일부 실시예들에서, 제3의 사전 정의된 조건은 각각의 제스처와 다음 스텝 아이콘 상의 이전 제스처의 감지 사이의 시간이 사전 정의된 지속 기간보다 짧을 경우에 충족된다(720). 일부 실시예들에서, 사전 정의된 지속 기간은 0.1초 내지 2초(예로서, 0.3초)이다.
일부 실시예들에서, 제1, 제2 및 제3의 사전 정의된 조건들은 사전 정의된 시간 간격 동안 다음 스텝 아이콘에 대응하는 터치 감지 표면 상의 위치에서의 제스처들의 수를 포함한다(722). 일부 실시예들에서, 사전 정의된 시간 간격은 0.2초 내지 2초(예로서, 1초)이다. 일부 실시예들에서, 제3의 사전 정의된 조건을 충족시키는 제스처들의 수는 1초 내의 1 내지 5개 제스처(예로서, 1초 내의 3개 제스처) 또는 사전 정의된 시간 간격 동안의 제스처들의 동일 레이트에서의 제스처들의 대응하는 수(예로서, 0.67초 내의 2개 제스처는 1초 내의 3개 제스처와 실질적으로 동일한 레이트를 갖는다)이다.
일부 실시예들에서, 제3의 사전 정의된 조건을 충족시키는 하나 이상의 제스처를 감지한 후에, 장치(100)는 제4의 사전 정의된 조건의 충족(예로서, 사전 정의된 기간 동안의 다음 스텝 아이콘 상의 다른 제스처의 감지의 중단; 다음 스텝 아이콘 상의 제스처들의 레이트가 사전 정의된 레이트보다 작음, 여기서 사전 정의된 레이트는 초당 1 내지 4개 탭임; 또는 다음 스텝 아이콘 상의 제스처들의 레이트가 사전 정의된 백분율보다 많이 감소함)을 감지한다(724). 제4의 사전 정의된 조건의 충족의 감지에 응답하여, 장치(100)는 다음 웨이포인트를 포함하는 경로의 일부를 표시한다. 즉, 전체 경로 및 이 전체 경로 뷰 내의 다음 웨이포인트의 위치를 표시하는 것으로부터 다음 웨이포인트를 포함하는 경로의 일부만을 표시하는 것으로 표시가 변경된다. 일부 실시예들에서, 이러한 변경은 애니메이션된다. 예를 들어, 도 5zz-5bbb에서, 각각의 사전 정의된 시간 간격 동안의 제스처들의 수는 도 5zz의 3개 제스처로부터 도 5aaa의 2개 제스처로 감소한다. 이에 응답하여, 장치(100)는 전체 경로의 표시를 중단하고, 도 5bbb에서 경로의 일부를 표시한다. 게다가, 도 5bbb에서, 웨이포인트(554-6)로부터 웨이포인트(554-7)로 이동하는 위치 지시자(552)의 애니메이션이 표시된다.
도 8a-8c는 일부 실시예들에 따른 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하는 방법(800)을 나타내는 흐름도들이다. 방법(800)은 디스플레이를 구비한 컴퓨팅 장치(예를 들어, 도 3의 장치(300) 또는 도 1의 휴대용 다기능 장치(100))에서 수행된다. 일부 실시예들에서, 장치는 터치 감지 표면을 갖는다. 일부 실시예들에서, 디스플레이는 터치 스크린 디스플레이이고, 터치 감지 표면은 디스플레이 상에 위치한다. 일부 실시예들에서, 디스플레이는 터치 감지 표면과 분리된다. 방법(800)의 일부 동작들은 결합될 수 있고 그리고/또는 일부 동작들의 순서는 변경될 수 있다.
후술하는 바와 같이, 방법(800)은 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시하기 위한 직관적인 방법을 제공한다. 이 방법은 이전 조회 입력들의 목록을 갖는 팝업 뷰를 표시할 때 사용자의 인식 부담을 줄임으로써 더 효율적인 사람-기계 인터페이스를 생성한다. 예를 들어, 사용자가 이전 조회 입력들의 목록으로부터 조회 입력을 선택할 수 있게 하는 것은 (예로서, 타이핑과 관련된 인쇄 에러들을 방지하고 그리고/또는 새로운 조회 입력들의 대화 인식과 관련된 에러들을 줄임으로써) 정확도를 그리고 (조회 입력을 다시 제공할 필요를 없앰으로써) 효율을 향상시킨다. 이전 조회 입력들의 목록과 지도의 일부의 동시 표시는 사용자에게 검색이 개시될 지도의 영역을 상기시키며, 따라서 사용자의 인식 부담을 줄인다. 배터리로 작동되는 컴퓨팅 장치들에 대해, 사용자가 이전 조회 입력들의 목록을 갖는 팝업 뷰를 더 빠르고 더 효율적으로 표시할 수 있게 하는 것은 전력을 보존하고, 배터리 충전들 간의 시간을 늘린다.
장치(100)는 디스플레이를 갖는 컴퓨팅 장치를 포함한다(802). 장치(100)는 디스플레이 상에(예로서, 브라우저(147) 또는 전용 맵핑 애플리케이션(154) 내에) 지도를 표시한다(804). 예를 들어, 장치(100)는 도 5a의 터치 스크린(112) 상에 지도(520)를 표시한다.
지도를 표시하는 동안, 장치(100)는 이전 조회 입력들의 목록을 갖는 팝업 뷰(예로서, 도 5b의 최근 팝업 뷰(540-1), 도 5p의 540-5 및 도 5t의 540-6)를 표시한다(806).
장치(100)는 (예를 들어, 이전 조회 입력 상의 제스처의 감지, 이전 조회 입력 위에 커서가 위치할 때의 마우스 클릭의 감지 또는 오디오 입력의 대화 인식을 통해) 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택을 감지한다(808). 예를 들어, 도 5q에서 이전 조회 입력(546-7) 상에서 접촉(525)이 감지된다.
이전 조회 입력들의 목록 내의 이전 조회 입력의 선택의 감지에 응답하여, 장치(100)는 선택된 이전 조회 입력을 이용하여 검색을 개시하고(810), 선택된 이전 조회 입력에 대한 하나 이상의 검색 결과들(예를 들어, 도 5r-5s의 시작 포인트 검색 결과 핀들(536))을 지도 상에 표시한다.
일부 실시예들에서, 선택된 이전 조회 입력을 이용하여 검색을 개시하는 것은 선택된 이전 조회 입력을 이용한 이전 검색으로부터 검색 결과들을 검색하는 것을 포함한다. 일부 실시예들에서, 선택된 이전 조회 입력을 이용한 이전 검색으로부터 검색 결과들을 검색하는 것은 장치(100)에 저장된 검색 결과들의 서브세트를 검색하는 것을 포함한다. 다른 실시예들에서, 선택된 이전 조회 입력을 이용한 이전 검색으로부터 검색 결과들을 검색하는 것은 원격 서버(예로서, 지도 정보 검색 서비스들을 제공하는 서버)에 저장된 검색 결과들의 서브세트를 검색하는 것을 포함한다.
다양한 실시예들에서는, 추가적인 단계들 및/또는 제한들(예로서, 도 8b의 812 및 도 8c의 814 참조)이 구현될 수 있다.
일부 실시예들에서, 이전 조회 입력들의 목록은 스크롤링 가능하다(816)(예를 들어, 도 5b-5c에 도시된 바와 같이, 최근 팝업 뷰(540-1)는 스크롤링 가능하다).
일부 실시예들에서, 이전 조회 입력들의 목록 내의 이전 조회 입력의 선택의 감지에 응답하여, 장치(100)는 팝업 뷰의 표시를 중단한다(818)(예를 들어, 도 5q-5r에서, 이전 조회 입력(546-7) 상의 접촉(525)의 감지 후에, 지도 애플리케이션은 터치 스크린(112) 상의 최근 팝업 뷰(540-5)의 표시를 중단한다).
일부 실시예들에서, 컴퓨팅 장치는 터치 감지 표면(예로서, 트랙 패드 또는 터치 감지 디스플레이)을 포함한다(820). 장치(100)는 디스플레이 상에 키보드를 표시하고, 키보드에 대응하는 터치 감지 표면 상의 위치에서 제스처(예로서, 키보드 내의 키 상의 탭 제스처)를 감지한다. 키보드에 대응하는 터치 감지 표면 상의 위치에서의 제스처의 감지에 응답하여, 장치(100)는 제안된 조회 입력들의 목록을 포함하는 제안 박스(예로서, 도 5d의 제안 팝업 뷰(540-2))를 표시한다.
일부 실시예들에서, 제안 박스의 표시는 제안된 조회 입력들의 목록으로 이전 조회 입력들의 목록을 대체한다(822)(예를 들어, 도 5c-5d에서 제안 팝업 뷰(540-2)는 최근 팝업 뷰(540-1)를 대체한다).
일부 실시예들에서, 키보드를 통해 수신된 입력(예로서, 검색 필드 내의 입력)에 따라, 제안된 조회 입력들의 목록이 생성된다(824)(예를 들어, 도 5d-5e에서 검색 용어 입력 영역(516) 내의 조회 입력에 따라, 제안된 조회 입력들의 각각의 목록이 생성된다).
일부 실시예들에서, 제안된 조회 입력들의 목록을 생성하는 것은 컴퓨팅 장치에 저장된 주소록 내의 엔트리를 식별하는 것을 포함한다(826)(예를 들어, 제안 팝업 뷰(540-2) 내의 "Henry Doe" 및 "Thomas Holmes"는 장치(100)에 저장된 주소록 내의 엔트리들일 수 있다. 엔트리는 키보드를 통해 수신된 입력과 적어도 부분적으로 매칭된다(예를 들어, "Henry Doe"는 검색 용어 입력 영역(516)에서 수신된 문자 "h"로 시작하고, 유사하게 "Thomas Holmes"의 성은 문자 "h"로 시작한다).
일부 실시예들에서, 제안된 조회 입력들의 목록을 생성하는 것은 원격 서버로부터 제안된 조회 입력들을 획득하는 것을 포함한다(828). 일부 실시예들에서, 원격 서버는 검색 엔진 또는 지도 정보 검색 서비스들을 제공하는 서버이다. 일부 실시예들에서, 원격 서버는 지도 데이터베이스를 포함한다.
일부 실시예들에서, 컴퓨팅 장치는 터치 감지 표면(예로서, 트랙 패드 또는 터치 감지 디스플레이)을 포함하고(830), 장치(100)는 이전 조회 입력에 대응하는 터치 감지 표면 상의 위치에서 제스처(예로서, 손가락 또는 스타일러스를 이용하여 이루어진 탭 제스처)(예로서, 도 5q에서 이전 조회 입력(546-7)에 대응하는 위치에서의 접촉(525))를 감지함으로써 이전 조회 입력의 선택을 감지한다.
일부 실시예들에서, 컴퓨팅 장치는 터치 감지 표면(예로서, 트랙 패드 또는 터치 감지 디스플레이)을 포함하고(832), 최근 조회 아이콘에 대응하는 터치 감지 표면 상의 위치에서의 제스처(예로서, 손가락 또는 스타일러스를 이용하여 행해진 탭 제스처)의 감지에 응답하여 이전 조회 입력들의 목록을 갖는 팝업 뷰가 표시된다. 예를 들어, 일부 실시예들에서, 도 5k의 목록 아이콘(574)은 활성화 시에 도 5l의 최근 팝업 뷰(540-4)와 같은 이전 조회 입력들의 목록의 표시를 개시한다.
일부 실시예들에서, 컴퓨팅 장치는 터치 감지 표면(예로서, 트랙 패드 또는 터치 감지 디스플레이)을 포함하고(834), 제1 조회 입력을 수신하도록 구성된 제1 필드 및 제2 조회 입력을 수신하도록 구성된 제2 필드 중 하나에 대응하는 터치 감지 표면 상의 위치에서의 제스처(예로서, 손가락 또는 스타일러스를 이용하여 행해진 탭 제스처)의 감지에 응답하여 이전 조회 입력들의 목록을 갖는 팝업 뷰가 표시된다. 예를 들어, 도 5o의 접촉(523)에 응답하여, 도 5p에서 최근 팝업 뷰(540-5)가 표시된다. 일부 실시예들에서, 제1 필드(예로서, 시작 포인트 입력 영역(570))는 시작 위치 또는 조회(예로서, 경로의 시작 위치에 관한 조회)를 수신하도록 구성된 시작 필드이고, 제2 필드(예로서, 종료 포인트 입력 영역(572))는 종료 위치 또는 조회(예로서, 경로의 종료 위치에 관한 조회)를 수신하도록 구성된 종료 필드이다.
일부 실시예들에서, 제1 필드에 대한 팝업 뷰는 제1 필드에서 수신된 이전 조회 입력들의 목록(예로서, 도 5p의 최근 팝업 뷰(540-5))을 포함하고, 제2 필드에 대한 팝업 뷰는 제2 필드에서 수신된 이전 조회 입력들의 목록(예로서, 도 5t의 최근 팝업 뷰(540-6))을 포함한다(836).
일부 실시예들에서, 제1 필드에서 수신된 이전 조회 입력들의 목록은 제2 필드에서 수신된 이전 조회 입력들의 목록과 다르다(838). 예를 들어, 이러한 실시예들에서, 도 5p의 최근 팝업 뷰(540-5) 내의 이전 조회 입력들의 목록은 도 5t의 최근 팝업 뷰(540-6) 내의 이전 조회 입력들의 목록과 다르다. 그러나, 일부 실시예들에서는, (예를 들어, 시작 포인트를 지정하기 위한) 제1 필드 및 (예로서, 종료 포인트를 지정하기 위한) 제2 필드 양자에 대해 동일한 이전 조회 입력들의 목록이 제공된다.
도 6a-6b, 7a-7b 및 8a-8c와 관련하여 전술한 동작들은 도 1a-1c에서 도시된 컴포넌트들에 의해 구현될 수 있다. 예를 들어, 수신 동작들(604, 606), 감지 동작들(612, 614) 및 표시 동작(616)은 이벤트 분류기(170), 이벤트 인식기(180) 및 이벤트 핸들러(190)에 의해 구현될 수 있다. 이벤트 분류기(170) 내의 이벤트 모니터(171)는 터치 감지 디스플레이(112) 상의 접촉을 감지하고, 이벤트 디스패처 모듈(174)은 이벤트 정보를 애플리케이션(136-1)으로 보낸다. 애플리케이션(136-1)의 각각의 이벤트 인식기(180)는 이벤트 정보를 각각의 이벤트 정의들(186)과 비교하고, 터치 감지 표면 상의 제1 위치에서의 제1 접촉이 사용자 인터페이스 상의 객체의 선택과 같은 사전 정의된 이벤트 또는 서브이벤트에 대응하는지를 결정한다. 각각의 사전 정의된 이벤트 또는 서브이벤트가 감지될 때, 이벤트 인식기(180)는 이벤트 또는 서브이벤트의 감지와 관련된 이벤트 핸들러(190)를 활성화한다. 이벤트 핸들러(190)는 데이터 갱신기(176) 또는 객체 갱신기(177)를 이용하거나 호출하여 애플리케이션(136-1) 내부 상태 데이터를 갱신할 수 있다. 일부 실시예들에서, 이벤트 핸들러(190)는 각각의 GUI 갱신기(178)에 액세스하여 애플리케이션에 의해 표시되는 것을 갱신한다. 유사하게, 이 분야의 통상의 기술자에게는 도 1a-1c에 도시된 컴포넌트들에 기초하여 어떻게 다른 프로세스들이 구현될 수 있는지가 명확할 것이다.
전술한 정보 처리 방법들에서의 동작들은 범용 프로세서들 또는 주문형 칩들과 같은 정보 처리 장치 내의 하나 이상의 기능 모듈들을 실행함으로써 구현될 수 있다. 이러한 모듈들, 이러한 모듈들의 조합들 및/또는 이들의 (예로서, 도 1a, 1b 및 3과 관련하여 전술한 바와 같은) 정보 처리 및 저장 하드웨어와의 조합은 본 발명의 보호 범위 내에 포함된다.
설명의 목적을 위해 위의 설명은 특정 실시예들을 참조하여 설명되었다. 그러나, 위의 예시적인 설명들은 포괄적인 것을 의도하지 않거나 본 발명을 개시된 바로 그 형태들로 한정하는 것을 의도하지 않는다. 위의 가르침에 비추어 많은 변경 및 변형이 가능하다. 실시예들은 본 발명의 원리들 및 그 실제 응용들을 가장 잘 설명함으로써 이 분야의 다른 기술자들이 고려되는 특정 용도에 적합한 바와 같은 다양한 변경들과 더불어 본 발명 및 다양한 실시예들을 최상으로 이용할 수 있게 하기 위해 선택되고 설명되었다.

Claims (44)

  1. 컴퓨팅 장치로서,
    디스플레이;
    하나 이상의 프로세서들;
    메모리; 및
    하나 이상의 프로그램들
    을 포함하고,
    상기 하나 이상의 프로그램들은 상기 메모리에 저장되고, 상기 하나 이상의 프로세서들에 의해 실행되도록 구성되며,
    상기 하나 이상의 프로그램들은,
    지도, 제1 조회 입력을 수신하도록 구성된 제1 텍스트 필드 및 제2 조회 입력을 수신하도록 구성된 제2 텍스트 필드를 동시에 표시하고;
    상기 제1 텍스트 필드에서 상기 제1 조회 입력을 수신하고;
    상기 제2 텍스트 필드에서 상기 제2 조회 입력을 수신하고;
    상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하고;
    상기 제1 조회 입력에 대한 제1의 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2의 복수의 검색 결과를 상기 지도 상에 동시에 표시하고;
    상기 제1의 복수의 검색 결과에서 제1 검색 결과를 선택하는, 상기 표시된 지도 상의 제1 손가락 제스처를 감지하고;
    상기 제2의 복수의 검색 결과에서 제2 검색 결과를 선택하는, 상기 표시된 지도 상의 제2 손가락 제스처를 감지하며 - 상기 제1 검색 결과의 선택을 감지하는 것은 상기 제2 검색 결과의 선택을 감지하는 것과 분리됨 -;
    상기 표시된 지도 상에서의 상기 제1 검색 결과의 선택의 감지 및 상기 표시된 지도 상에서의 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로가 상기 지도 상에 표시되기 위한
    명령어들을 포함하는 컴퓨팅 장치.
  2. 제1항에 있어서,
    상기 제1의 복수의 검색 결과는 경로 시작 포인트들이고, 상기 제2의 복수의 검색 결과는 경로 종료 포인트들인 컴퓨팅 장치.
  3. 제2항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 역경로 아이콘의 선택을 감지하고;
    역경로 아이콘의 선택의 감지에 응답하여:
    상기 제1의 복수의 검색 결과를 경로 종료 포인트들로 변환하고, 상기 제2의 복수의 검색 결과를 경로 시작 포인트들로 변환하며;
    상기 경로를 상기 제2 검색 결과로부터 상기 제1 검색 결과로의 경로로 변환하기 위한
    명령어들을 포함하는 컴퓨팅 장치.
  4. 제1항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제1의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제3 검색 결과의 선택을 감지하고;
    상기 표시된 지도 상에서의 상기 제3 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제2 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하며;
    상기 제3 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하기 위한
    명령어들을 포함하는 컴퓨팅 장치.
  5. 제1항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제2의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제3 검색 결과의 선택을 감지하고;
    상기 표시된 지도 상에서의 상기 제3 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제2 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하며;
    상기 제1 검색 결과로부터 상기 제3 검색 결과로의 경로를 상기 지도 상에 표시하기 위한
    명령어들을 포함하는 컴퓨팅 장치.
  6. 제5항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 제1 검색 결과와 상기 제3 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제1의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제4 검색 결과의 선택을 감지하고;
    상기 표시된 지도 상에서의 상기 제4 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제3 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하며;
    상기 제4 검색 결과로부터 상기 제3 검색 결과로의 경로를 상기 지도 상에 표시하기 위한
    명령어들을 포함하는 컴퓨팅 장치.
  7. 제1항에 있어서,
    상기 제1의 복수의 검색 결과는 상기 제2의 복수의 검색 결과와 시각적으로 구별되는 컴퓨팅 장치.
  8. 하나 이상의 프로그램들을 저장한 컴퓨터 판독 가능 저장 매체로서,
    상기 하나 이상의 프로그램들은 디스플레이를 갖는 컴퓨팅 장치에 의해 실행될 때 상기 장치로 하여금,
    지도, 제1 조회 입력을 수신하도록 구성된 제1 텍스트 필드 및 제2 조회 입력을 수신하도록 구성된 제2 텍스트 필드를 동시에 표시하고;
    상기 제1 텍스트 필드에서 상기 제1 조회 입력을 수신하고;
    상기 제2 텍스트 필드에서 상기 제2 조회 입력을 수신하고;
    상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하고;
    상기 제1 조회 입력에 대한 제1의 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2의 복수의 검색 결과를 상기 지도 상에 동시에 표시하고;
    상기 제1의 복수의 검색 결과에서 제1 검색 결과를 선택하는, 상기 표시된 지도 상의 제1 손가락 제스처를 감지하고;
    상기 제2의 복수의 검색 결과에서 제2 검색 결과를 선택하는, 상기 표시된 지도 상의 제2 손가락 제스처를 감지하며 - 상기 제1 검색 결과의 선택을 감지하는 것은 상기 제2 검색 결과의 선택을 감지하는 것과 분리됨 -;
    상기 표시된 지도 상에서의 상기 제1 검색 결과의 선택의 감지 및 상기 표시된 지도 상에서의 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하게 하기 위한
    명령어들을 포함하는 컴퓨터 판독 가능 저장 매체.
  9. 제8항에 있어서,
    상기 제1의 복수의 검색 결과는 경로 시작 포인트들이고, 상기 제2의 복수의 검색 결과는 경로 종료 포인트들인 컴퓨터 판독 가능 저장 매체.
  10. 제9항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 장치로 하여금,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 역경로 아이콘의 선택을 감지하고;
    역경로 아이콘의 선택의 감지에 응답하여:
    상기 제1의 복수의 검색 결과를 경로 종료 포인트들로 변환하고, 상기 제2의 복수의 검색 결과를 경로 시작 포인트들로 변환하며;
    상기 경로를 상기 제2 검색 결과로부터 상기 제1 검색 결과로의 경로로 변환하게 하기 위한
    명령어들을 포함하는 컴퓨터 판독 가능 저장 매체.
  11. 제8항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 장치로 하여금,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제1의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제3 검색 결과의 선택을 감지하고;
    상기 표시된 지도 상에서의 상기 제3 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제2 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하며;
    상기 제3 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하게 하기 위한
    명령어들을 포함하는 컴퓨터 판독 가능 저장 매체.
  12. 제8항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 장치로 하여금,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제2의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제3 검색 결과의 선택을 감지하고;
    상기 표시된 지도 상에서의 상기 제3 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제2 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하며;
    상기 제1 검색 결과로부터 상기 제3 검색 결과로의 경로를 상기 지도 상에 표시하게 하기 위한
    명령어들을 포함하는 컴퓨터 판독 가능 저장 매체.
  13. 제12항에 있어서, 상기 하나 이상의 프로그램들은,
    상기 장치로 하여금,
    상기 제1 검색 결과와 상기 제3 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제1의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제4 검색 결과의 선택을 감지하고;
    상기 표시된 지도 상에서의 상기 제4 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제3 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하며;
    상기 제4 검색 결과로부터 상기 제3 검색 결과로의 경로를 상기 지도 상에 표시하게 하기 위한
    명령어들을 포함하는 컴퓨터 판독 가능 저장 매체.
  14. 제8항에 있어서,
    상기 제1의 복수의 검색 결과는 상기 제2의 복수의 검색 결과와 시각적으로 구별되는 컴퓨터 판독 가능 저장 매체.
  15. 디스플레이를 갖는 컴퓨팅 장치에서,
    지도, 제1 조회 입력을 수신하도록 구성된 제1 텍스트 필드 및 제2 조회 입력을 수신하도록 구성된 제2 텍스트 필드를 동시에 표시하는 단계;
    상기 제1 텍스트 필드에서 상기 제1 조회 입력을 수신하는 단계;
    상기 제2 텍스트 필드에서 상기 제2 조회 입력을 수신하는 단계;
    상기 제1 조회 입력을 사용하는 검색 및 상기 제2 조회 입력을 사용하는 검색을 개시하는 단계;
    상기 제1 조회 입력에 대한 제1의 복수의 검색 결과 및 상기 제2 조회 입력에 대한 제2의 복수의 검색 결과를 상기 지도 상에 동시에 표시하는 단계;
    상기 제1의 복수의 검색 결과에서 제1 검색 결과를 선택하는, 상기 표시된 지도 상의 제1 손가락 제스처를 감지하고;
    상기 제2의 복수의 검색 결과에서 제2 검색 결과를 선택하는, 상기 표시된 지도 상의 제2 손가락 제스처를 감지하며 - 상기 제1 검색 결과의 선택을 감지하는 것은 상기 제2 검색 결과의 선택을 감지하는 것과 분리됨 -;
    상기 표시된 지도 상에서의 상기 제1 검색 결과의 선택의 감지 및 상기 표시된 지도 상에서의 상기 제2 검색 결과의 선택의 감지에 응답하여, 상기 제1 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하는 단계
    를 포함하는 방법.
  16. 제15항에 있어서,
    상기 제1의 복수의 검색 결과는 경로 시작 포인트들이고, 상기 제2의 복수의 검색 결과는 경로 종료 포인트들인 방법.
  17. 제16항에 있어서,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 역경로 아이콘의 선택을 감지하는 단계;
    역경로 아이콘의 선택의 감지에 응답하여:
    상기 제1의 복수의 검색 결과를 경로 종료 포인트들로 변환하고, 상기 제2의 복수의 검색 결과를 경로 시작 포인트들로 변환하는 단계; 및
    상기 경로를 상기 제2 검색 결과로부터 상기 제1 검색 결과로의 경로로 변환하는 단계
    를 포함하는 방법.
  18. 제15항에 있어서,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제1의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제3 검색 결과의 선택을 감지하는 단계;
    상기 표시된 지도 상에서의 상기 제3 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제2 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하는 단계; 및
    상기 제3 검색 결과로부터 상기 제2 검색 결과로의 경로를 상기 지도 상에 표시하는 단계
    를 포함하는 방법.
  19. 제15항에 있어서,
    상기 제1 검색 결과와 상기 제2 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제2의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제3 검색 결과의 선택을 감지하는 단계;
    상기 표시된 지도 상에서의 상기 제3 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제2 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하는 단계; 및
    상기 제1 검색 결과로부터 상기 제3 검색 결과로의 경로를 상기 지도 상에 표시하는 단계
    를 포함하는 방법.
  20. 제19항에 있어서,
    상기 제1 검색 결과와 상기 제3 검색 결과 사이의 상기 경로를 상기 지도 상에 표시하는 동안, 상기 제1의 복수의 검색 결과에서 상기 표시된 지도 상에서의 제4 검색 결과의 선택을 감지하는 단계;
    상기 표시된 지도 상에서의 상기 제4 검색 결과의 선택의 감지에 응답하여:
    상기 제1 검색 결과로부터 상기 제3 검색 결과로의 상기 경로를 상기 지도 상에 표시하는 것을 중단하는 단계; 및
    상기 제4 검색 결과로부터 상기 제3 검색 결과로의 경로를 상기 지도 상에 표시하는 단계
    를 포함하는 방법.
  21. 제15항에 있어서,
    상기 제1의 복수의 검색 결과는 상기 제2의 복수의 검색 결과와 시각적으로 구별되는 방법.
  22. 삭제
  23. 삭제
  24. 삭제
  25. 삭제
  26. 삭제
  27. 삭제
  28. 삭제
  29. 삭제
  30. 삭제
  31. 삭제
  32. 삭제
  33. 삭제
  34. 삭제
  35. 삭제
  36. 삭제
  37. 삭제
  38. 삭제
  39. 삭제
  40. 삭제
  41. 삭제
  42. 삭제
  43. 삭제
  44. 삭제
KR1020127020652A 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스 KR101579345B1 (ko)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/US2010/020229 WO2011084156A2 (en) 2010-01-06 2010-01-06 Device, method, and graphical user interface for mapping directions between search results

Related Child Applications (3)

Application Number Title Priority Date Filing Date
KR1020127022248A Division KR101528966B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020157035252A Division KR101628737B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020127022253A Division KR20120114371A (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스

Publications (2)

Publication Number Publication Date
KR20120107131A KR20120107131A (ko) 2012-09-28
KR101579345B1 true KR101579345B1 (ko) 2015-12-21

Family

ID=44306010

Family Applications (5)

Application Number Title Priority Date Filing Date
KR1020127020652A KR101579345B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020127022248A KR101528966B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020167014723A KR101688374B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020157035252A KR101628737B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020127022253A KR20120114371A (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스

Family Applications After (4)

Application Number Title Priority Date Filing Date
KR1020127022248A KR101528966B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020167014723A KR101688374B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020157035252A KR101628737B1 (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
KR1020127022253A KR20120114371A (ko) 2010-01-06 2010-01-06 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스

Country Status (6)

Country Link
EP (2) EP2521893B1 (ko)
KR (5) KR101579345B1 (ko)
CN (2) CN102939515B (ko)
AU (1) AU2010340369B2 (ko)
HK (1) HK1177252A1 (ko)
WO (1) WO2011084156A2 (ko)

Families Citing this family (30)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB2474748B (en) * 2009-10-01 2011-10-12 Amira Pharmaceuticals Inc Polycyclic compounds as lysophosphatidic acid receptor antagonists
US9256314B2 (en) * 2012-03-15 2016-02-09 Microsoft Technology Licensing, Llc Input data type profiles
US10176633B2 (en) * 2012-06-05 2019-01-08 Apple Inc. Integrated mapping and navigation application
US9997069B2 (en) 2012-06-05 2018-06-12 Apple Inc. Context-aware voice guidance
US9482296B2 (en) 2012-06-05 2016-11-01 Apple Inc. Rendering road signs during navigation
US9319831B2 (en) 2012-06-05 2016-04-19 Apple Inc. Mapping application with automatic stepping capabilities
US8983778B2 (en) 2012-06-05 2015-03-17 Apple Inc. Generation of intersection information by a mapping service
US9311750B2 (en) 2012-06-05 2016-04-12 Apple Inc. Rotation operations in a mapping application
US10156455B2 (en) 2012-06-05 2018-12-18 Apple Inc. Context-aware voice guidance
US20130325343A1 (en) * 2012-06-05 2013-12-05 Apple Inc. Mapping application with novel search field
US9418672B2 (en) 2012-06-05 2016-08-16 Apple Inc. Navigation application with adaptive instruction text
US9135751B2 (en) * 2012-06-05 2015-09-15 Apple Inc. Displaying location preview
US8965696B2 (en) 2012-06-05 2015-02-24 Apple Inc. Providing navigation instructions while operating navigation application in background
US9367959B2 (en) 2012-06-05 2016-06-14 Apple Inc. Mapping application with 3D presentation
US9886794B2 (en) 2012-06-05 2018-02-06 Apple Inc. Problem reporting in maps
KR101323971B1 (ko) * 2012-09-03 2013-10-31 현대엠엔소프트 주식회사 모바일 맵핑 시스템을 이용한 터널 정보 자동 취득 방법
US9317813B2 (en) 2013-03-15 2016-04-19 Apple Inc. Mobile device with predictive routing engine
US9200915B2 (en) 2013-06-08 2015-12-01 Apple Inc. Mapping application with several user interfaces
EP3101392B1 (en) * 2013-03-15 2021-12-15 Apple Inc. Mapping application with turn-by-turn navigation mode for output to vehicle display
US10043412B2 (en) 2013-05-26 2018-08-07 Dean Joseph Lore System for promoting travel education
US20140358962A1 (en) * 2013-06-04 2014-12-04 Microsoft Corporation Responsive input architecture
KR102052604B1 (ko) * 2014-02-28 2019-12-05 현대엠엔소프트 주식회사 내비게이션의 검색 방법 및 그 장치
US10113879B2 (en) 2014-03-03 2018-10-30 Apple Inc. Hierarchy of tools for navigation
DE102015203261A1 (de) * 2014-03-03 2015-09-03 Apple Inc. Kartenanwendung mit verbesserten Navigationswerkzeugen
US10386197B2 (en) * 2016-05-17 2019-08-20 Microsoft Technology Licensing, Llc Calculating an optimal route based on specified intermediate stops
DK179309B1 (en) * 2016-06-09 2018-04-23 Apple Inc Intelligent automated assistant in a home environment
CN110134745A (zh) * 2018-02-09 2019-08-16 北京搜狗科技发展有限公司 一种查询路线信息的方法、装置和设备
DE102018117619A1 (de) * 2018-07-20 2020-01-23 Amazonen-Werke H. Dreyer Gmbh & Co. Kg Bedieneinheit für eine landwirtschaftliche Maschine
WO2020243645A1 (en) * 2019-05-31 2020-12-03 Apple Inc. User interfaces for a podcast browsing and playback application
CN114217723B (zh) * 2022-02-22 2022-05-31 龙旗电子(惠州)有限公司 信息显示方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608635A (en) 1992-04-14 1997-03-04 Zexel Corporation Navigation system for a vehicle with route recalculation between multiple locations
US20080168396A1 (en) 2007-01-07 2008-07-10 Michael Matas Portable Multifunction Device, Method, and Graphical User Interface for Providing Maps and Directions
US20080320419A1 (en) * 2007-06-22 2008-12-25 Michael Matas Touch Screen Device, Method, and Graphical User Interface for Providing Maps, Directions, and Location-Based Information
US20090281724A1 (en) 2008-05-12 2009-11-12 Apple Inc. Map service with network-based query for search

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3859005A (en) 1973-08-13 1975-01-07 Albert L Huebner Erosion reduction in wet turbines
US4826405A (en) 1985-10-15 1989-05-02 Aeroquip Corporation Fan blade fabrication system
EP1717684A3 (en) 1998-01-26 2008-01-23 Fingerworks, Inc. Method and apparatus for integrating manual input
US6600502B1 (en) * 2000-04-14 2003-07-29 Innovative Technology Application, Inc. Immersive interface interactive multimedia software method and apparatus for networked computers
US7218226B2 (en) 2004-03-01 2007-05-15 Apple Inc. Acceleration-based theft detection system for portable electronic devices
US7688306B2 (en) 2000-10-02 2010-03-30 Apple Inc. Methods and apparatuses for operating a portable device based on an accelerometer
US6421602B1 (en) * 2001-01-03 2002-07-16 Motorola, Inc. Method of navigation guidance for a distributed communications system having communications nodes
US6677932B1 (en) 2001-01-28 2004-01-13 Finger Works, Inc. System and method for recognizing touch typing under limited tactile feedback conditions
US6570557B1 (en) 2001-02-10 2003-05-27 Finger Works, Inc. Multi-touch system and method for emulating modifier keys via fingertip chords
US7752326B2 (en) * 2001-08-20 2010-07-06 Masterobjects, Inc. System and method for utilizing asynchronous client server communication objects
GB0304358D0 (en) * 2003-02-26 2003-04-02 Palmtop Software B V Navigator 2.0 features
TWI290572B (en) * 2003-08-06 2007-12-01 Lg Chemical Ltd Primer composition for coating transparent materials and photochromic transparent materials
JP2005300419A (ja) * 2004-04-14 2005-10-27 Mitsubishi Electric Corp 車載用ナビゲーションシステム
US8131674B2 (en) * 2004-06-25 2012-03-06 Apple Inc. Methods and systems for managing data
US7920965B1 (en) * 2006-05-05 2011-04-05 Mapquest, Inc. Identifying a route configured to travel through multiple points of interest
JP4333703B2 (ja) * 2006-06-30 2009-09-16 アイシン・エィ・ダブリュ株式会社 ナビゲーション装置
US20100293186A1 (en) * 2006-12-27 2010-11-18 Pioneer Corporation Search device, search method, search program, and computer readable recording medium
CN100529670C (zh) * 2007-03-19 2009-08-19 江苏华科导航科技有限公司 用于模拟引导路径的导航器及其工作方法
CN101270998A (zh) * 2007-03-20 2008-09-24 联发科技(合肥)有限公司 根据路段提示兴趣点的电子装置及其方法
WO2009002942A2 (en) * 2007-06-22 2008-12-31 Apple Inc. Touch screen device, method, and graphical user interface for providing maps, directions, and location-based information
US8355862B2 (en) * 2008-01-06 2013-01-15 Apple Inc. Graphical user interface for presenting location information
DE102008008948A1 (de) * 2008-02-13 2009-08-20 Volkswagen Ag Systemarchitektur und Verfahren zur multimodalen Informationseingabe
US20100281052A1 (en) * 2008-02-15 2010-11-04 Pieter Geelen Navigation device, system and method with over the air search module

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5608635A (en) 1992-04-14 1997-03-04 Zexel Corporation Navigation system for a vehicle with route recalculation between multiple locations
US20080168396A1 (en) 2007-01-07 2008-07-10 Michael Matas Portable Multifunction Device, Method, and Graphical User Interface for Providing Maps and Directions
US20080320419A1 (en) * 2007-06-22 2008-12-25 Michael Matas Touch Screen Device, Method, and Graphical User Interface for Providing Maps, Directions, and Location-Based Information
US20090281724A1 (en) 2008-05-12 2009-11-12 Apple Inc. Map service with network-based query for search

Also Published As

Publication number Publication date
CN105224231B (zh) 2019-01-18
WO2011084156A2 (en) 2011-07-14
EP2521893A2 (en) 2012-11-14
EP2543972A3 (en) 2013-02-13
EP2543972B1 (en) 2014-03-12
KR101628737B1 (ko) 2016-06-13
AU2010340369B2 (en) 2014-06-05
KR20120107131A (ko) 2012-09-28
KR20120114371A (ko) 2012-10-16
AU2010340369A1 (en) 2012-08-09
KR101528966B1 (ko) 2015-06-15
KR20120113795A (ko) 2012-10-15
CN102939515B (zh) 2015-09-02
CN105224231A (zh) 2016-01-06
KR20160075785A (ko) 2016-06-29
CN102939515A (zh) 2013-02-20
EP2521893B1 (en) 2016-04-20
KR20160005368A (ko) 2016-01-14
KR101688374B1 (ko) 2016-12-20
HK1177252A1 (zh) 2013-08-16
WO2011084156A3 (en) 2012-06-21
EP2543972A2 (en) 2013-01-09

Similar Documents

Publication Publication Date Title
KR101579345B1 (ko) 검색 결과들 사이에서 방향을 맵핑하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
US10169431B2 (en) Device, method, and graphical user interface for mapping directions between search results
US11868159B2 (en) Device, method, and graphical user interface for navigation of information in a map-based interface
AU2016100254A4 (en) Devices, methods, and graphical user interfaces for displaying and using menus
NL2014737B1 (en) Continuity.
KR101450415B1 (ko) 다수의 뷰잉 영역을 통해 내비게이션하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
US9542091B2 (en) Device, method, and graphical user interface for navigating through a user interface using a dynamic object selection indicator
KR101607365B1 (ko) 전자 문서의 페이지들을 변경하기 위한 장치, 방법 및 그래픽 사용자 인터페이스
US10133543B2 (en) Devices, methods, and graphical user interfaces for media playback control using intensity-based user inputs
JP2018067334A (ja) ユーザインタフェースオブジェクトを選択するためのデバイス、方法及びグラフィカルユーザインタフェース
US20120011437A1 (en) Device, Method, and Graphical User Interface for User Interface Screen Navigation
US20120030568A1 (en) Device, Method, and Graphical User Interface for Copying User Interface Objects Between Content Regions
US9026951B2 (en) Device, method, and graphical user interface for selection of views in a three-dimensional map based on gesture inputs
US11567632B2 (en) Systems and methods for exploring a geographic region
AU2014202094B2 (en) Device, method, and graphical user interface for mapping directions between search results
AU2015100490C4 (en) Continuity
AU2016208379A1 (en) Device, method, and graphical user interface for mapping directions between search results

Legal Events

Date Code Title Description
A201 Request for examination
A107 Divisional application of patent
E902 Notification of reason for refusal
E601 Decision to refuse application
J201 Request for trial against refusal decision
J301 Trial decision

Free format text: TRIAL DECISION FOR APPEAL AGAINST DECISION TO DECLINE REFUSAL REQUESTED 20141104

Effective date: 20150812

S901 Examination by remand of revocation
GRNO Decision to grant (after opposition)
A107 Divisional application of patent
FPAY Annual fee payment

Payment date: 20181115

Year of fee payment: 4