KR20170041219A - 렌더링된 콘텐츠와의 호버 기반 상호작용 - Google Patents

렌더링된 콘텐츠와의 호버 기반 상호작용 Download PDF

Info

Publication number
KR20170041219A
KR20170041219A KR1020177004856A KR20177004856A KR20170041219A KR 20170041219 A KR20170041219 A KR 20170041219A KR 1020177004856 A KR1020177004856 A KR 1020177004856A KR 20177004856 A KR20177004856 A KR 20177004856A KR 20170041219 A KR20170041219 A KR 20170041219A
Authority
KR
South Korea
Prior art keywords
display
content
location
determining
window
Prior art date
Application number
KR1020177004856A
Other languages
English (en)
Other versions
KR102384130B1 (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 KR20170041219A publication Critical patent/KR20170041219A/ko
Application granted granted Critical
Publication of KR102384130B1 publication Critical patent/KR102384130B1/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/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/04845Interaction 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 for image manipulation, e.g. dragging, rotation, expansion or change of colour
    • 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
    • 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
    • G06F3/0418Control or interface arrangements specially adapted for digitisers for error correction or compensation, e.g. based on parallax, calibration or alignment
    • G06F3/04186Touch location disambiguation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0481Interaction techniques based on graphical user interfaces [GUI] based on specific properties of the displayed interaction object or a metaphor-based environment, e.g. interaction with desktop elements like windows or icons, or assisted by a cursor's changing behaviour or appearance
    • G06F3/0482Interaction with lists of selectable items, e.g. menus
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/04842Selection of displayed objects or displayed text elements
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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/04847Interaction techniques to control parameter settings, e.g. interaction with sliders or dials
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2203/00Indexing scheme relating to G06F3/00 - G06F3/048
    • G06F2203/041Indexing scheme relating to G06F3/041 - G06F3/045
    • G06F2203/041012.5D-digitiser, i.e. digitiser detecting the X/Y position of the input means, finger or stylus, also when it does not touch, but is proximate to the digitiser's interaction surface and also measures the distance of the input means within a short range in the Z direction, possibly with a separate measurement setup
    • 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/04805Virtual magnifying lens, i.e. window or frame movable on top of displayed information to enlarge it for better reading or selection
    • 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
    • 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

Abstract

개시된 것은 관람 디바이스의 디스플레이 상에서 렌더링되는 콘텐츠와의 "호버 기반" 상호작용을 가능하게 하는 기법들 및 시스템들이다. 프로세스가 디스플레이 상에 콘텐츠를 렌더링하는 단계, 디스플레이의 전면의 표면 앞쪽에서 호버링되는 객체를 검출하는 단계, 및 객체를 검출하는 단계에 응답하여, 객체의 포지션에 대응하는 디스플레이의 전면 상의 로케이션을 결정하는 단계를 포함할 수도 있다. 디스플레이의 전면 상의 결정된 로케이션은 그 다음에 로케이션에서 또는 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 부분을 결정하는데 사용될 수도 있고, 콘텐츠의 부분의 확대된 윈도우는 그 다음에 디스플레이의 지역에서 디스플레이될 수도 있다. 확대된 윈도우 내의 콘텐츠의 부분은 확대된 윈도우 내에 사용자 입력이 제공될 때 사용자 입력에 응답함으로써 액션 가능할 수도 있다.

Description

렌더링된 콘텐츠와의 호버 기반 상호작용{HOVER-BASED INTERACTION WITH RENDERED CONTENT}
데스크탑 컴퓨터들은 가장 일반적인 개인용 컴퓨터 구성으로서 지배적이 되자마자, 소프트웨어 개발자들이 데스크탑 디스플레이 상에서 최적의 렌더링을 위해 설계된 콘텐츠를 만들게 하였다. 예를 들어, 웹사이트 개발자들은 관람 디바이스(viewing device) 상에서 디스플레이 "물적 자산(real estate)"이 그것의 최대 범위를 활용하도록 웹 페이지에 대해 풍부하고 밀집한 콘텐츠에 종종 호의를 보인다. 웹사이트 개발자들을 풍부하고 밀집한 웹 페이지 콘텐츠를 향해 몰아가는 하나의 요인은 서드 파티 엔티티들이 콘텐츠 제공자의 웹 페이지 상에 제공될 그들의 콘텐츠(예컨대, 광고들)에 대가를 지불하려고 한다는 사실이다. 이는 콘텐츠 제공자들이 웹 페이지 상에 빈 공간을 남겨 둘 것을 선택할 때 돈을 사실상 잃는다는 것을 의미한다.
풍부하고 밀집한 콘텐츠를 설계하는 것은 데스크탑 디스플레이들에서는 일반적으로 사소한 일이다. 예를 들면, 19 인치 데스크탑 디스플레이로부터 눈이 대략 1 피트 떨어져 위치된 평균 사용자가, 디스플레이 상에서 렌더링되는 밀집한 콘텐츠를 맨 눈으로 읽을 수 있고, 마우스 또는 유사한 포인팅 디바이스로 온 스크린 커서를 조작함으로써 추가로 내비게이션할 수 있다.
그러나, 컴퓨팅 기술이 발전함에 따라, 작은 폼 팩터를 갖는 컴퓨팅 디바이스들이 매우 흔해졌다. 예를 들어, 다수의 개인들이 스마트 폰(통상 약 4 내지 5 인치 범위의 디스플레이 사이즈를 가짐)을 소유하고 그들이 가는 곳 어디서나 그것을 가지고 간다. 더욱이, 소비자들은 그들 소유의 거실에서 편안하게 홈 텔레비전(TV) 디스플레이 상에서 인터넷을 서핑하는 경험에 이제 친숙하다. 어느 하나의 시나리오에서, 사용자의 디스플레이 상에서 렌더링되는 적어도 일부 콘텐츠는 그 콘텐츠와의 상호작용을 시도할 때 읽는 것 및/또는 선택하는 것이 어려울 수도 있다. 작은 폼 팩터의 디바이스들에 관해, 가독성 및/또는 선택능력(selectability) 문제들은 작은 디스플레이 상에 밀집한 콘텐츠를 렌더링하는 것에 기인한다. 유사한 문제가 풍부하고 밀집된 레이아웃으로 제공되는 콘텐츠를 읽는 것 및/또는 선택하는 것을 어렵게 하는, 디스플레이로부터의 상당한 거리에 사용자가 위치할 때 거실 TV 시나리오에서 일어난다. 결과적으로, 사용자들은 그들의 소비자 디바이스들 상에서 콘텐츠를 내비게이션하고 브라우징할 때 좌절을 계속 경험한다.
본 명에서 설명되는 것은 관람 디바이스의 디스플레이 상에서 렌더링되는 콘텐츠와의 "호버 기반(hover-based)" 상호작용을 가능하게 하는 기법들 및 시스템들이다. "호버"라는 용어(때때로 "3차원(3D) 터치"라고 지칭됨)는 객체가 디스플레이의 전면의 앞쪽에 있지만 그 전면과 접촉하지 않고 위치되고 디스플레이의 앞쪽에서 미리 결정된 3D 공간 또는 볼륨 내에 있는 상태를 설명하는데 사용된다. 따라서, 호버링 객체가 디스플레이의 전면과 실제로 접촉하는 일 없이 미리 결정된 3D 공간 내에서 컴퓨팅 디바이스의 디스플레이의 앞쪽에 위치되는 객체로서 정의될 수도 있다. 호버 상호작용들이 제한되는 3D 공간의 차원들과, 특히 디스플레이의 전면에 수직인 차원은, 아래에서 더 상세히 설명될 바와 같이, 디스플레이의 사이즈 및/또는 디스플레이가 사용했던 콘텍스트에 의존할 수도 있다.
일부 실시형태들에서, 콘텐츠와의 호버 기반 상호작용을 가능하게 하는 프로세스가, 디스플레이 상에서 콘텐츠를 렌더링하는 단계, 디스플레이의 전면의 앞쪽에 있지만 그 전면과 접촉하지 않는 객체를 검출하는 단계, 및 객체를 검출하는 단계에 응답하여, 객체로부터 디스플레이의 전면 상의 다른 로케이션들까지의 거리들에 비하여 객체로부터 최단 거리 이격되는 전면 상의 로케이션을 결정하는 단계를 포함한다. 디스플레이의 전면 상의 결정된 로케이션은 그 다음에 로케이션에서 또는 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 부분을 결정하는데 사용될 수도 있고, 콘텐츠의 부분의 확대된 윈도우는 그 다음에 디스플레이의 지역에서 디스플레이될 수도 있다. 일부 실시형태들에서, 확대된 윈도우 내의 콘텐츠의 부분은 확대된 윈도우 내에 사용자 입력이 제공될 때 사용자 입력에 응답함으로써 액션 가능하다. 전술한 프로세스를 구현하기 위한 시스템들 및 컴퓨터 판독가능 매체들이 또한 본 명세서에서 개시된다.
디스플레이의 앞쪽에서 호버링하는 객체를 검출하는 것에 응답하여 디스플레이의 지역에서 확대된 윈도우를 디스플레이함으로써, 사용자가 렌더링된 콘텐츠의 향상된 브라우징 및 내비게이션을 경험할 수도 있다. 구체적으로는, 렌더링된 콘텐츠는 최저 줌(zoom) 레벨로 남아 있을 (즉, 줌 아웃될) 수도 있고, 사용자는 렌더링된 콘텐츠의 줌 레벨을 변경하는 일 없이 사용자가 관심 있어 하는 렌더링된 콘텐츠의 부분들을 편리하게 식별할 수 있다. 다르게 말하면, 확대된 윈도우 특징은 디스플레이 상에서 렌더링된 콘텐츠를 찾고, 읽고, 및/또는 선택하기 위하여 콘텐츠를 핀치 및 줌하는(그리고 잠재적으로는 패닝(panning)하는)데 요구된 단계들을 제거하여, 콘텐츠를 브라우징할 때 사용자 시간을 절약하고 좌절감을 제거한다. 확대된 윈도우를 통해 콘텐츠의 관심 부분을 찾을 시, 사용자는 그러면 사용자 입력 커맨드를 통해 관심있는 부분에 대해 줌하는 능력을 가질 수도 있다. 더구나, 확대된 윈도우 특징은, 콘텐츠 제공자들이 그들의 사이트로부터 콘텐츠를 제거하는 경향이 있어 결국 수익을 잃게 하는 그들의 콘텐츠의 "모바일" 버전들(예컨대, 모바일 사이트들)에 대한 리소스들을 확장하는 일 없이 풍부하고 밀집한 콘텐츠를 계속 설계하는 것을 또한 가능하게 한다.
일부 실시형태들에서, 관람 디바이스의 디스플레이 상에서 렌더링되는 액션가능 콘텐츠는, 검출된 호버 상호작용들에 응답하여 렌더링된 콘텐츠를 수정하고 그리고/또는 추가적인 콘텐츠를 렌더링함으로써 수신된 호버 상호작용들에 응답하도록 구성된다. 이 시나리오에서, 렌더링된 콘텐츠와의 호버 기반 상호작용은, 디스플레이 상에서 콘텐츠를 렌더링하는 단계, 디스플레이의 전면의 앞쪽에 있지만 그 전면과 접촉하지 않는 객체를 검출하는 단계, 및 객체를 검출하는 단계에 응답하여, 객체 아래에서 콘텐츠의 부분에 연관된 포인터 이벤트를 식별하는 단계를 포함하는 프로세스에 의해 가능하게 될 수도 있다. 식별된 포인터 이벤트에 연관되는 디스플레이 관련된 기능이 콘텐츠의 렌더링된 부분을 수정하고 그리고/또는 디스플레이 상에서 추가적인 콘텐츠를 렌더링하도록 결정 및 수행될 수도 있다. 일부 실시형태들에서, 객체로부터의 호버 상호작용은 확대된 윈도우에서의 콘텐츠의 부분이 수정되고 및/또는 추가적인 콘텐츠가 확대된 윈도우 외부(outside)에 있을 때 확대된 윈도우 내에서 렌더링되도록 확대된 윈도우 내에 제공될 수도 있다.
이 개요는 아래의 상세한 설명에서 추가로 설명되는 단순화된 형태의 개념들의 선택을 소개하기 위해 제공된다. 이 개요는 청구된 요지의 핵심 특징들 또는 본질적 특징들을 식별하기 위해 의도된 것이 아니며, 청구된 요지의 범위를 제한하는데 사용되도록 의도된 것도 아니다.
상세한 설명은 첨부 도면들을 참조하여 설명된다. 도면들에서, 참조 번호의 최좌측 숫자(들)는 참조 번호가 처음 나타나는 도면을 식별한다. 상이한 도면들에서의 동일한 참조 번호들은 유사하거나 또는 동일한 아이템들을 나타낸다.
도 1은 렌더링된 콘텐츠와의 호버 기반 상호작용을 가능하게 하도록 구성되는 컴퓨팅 디바이스를 포함하는 예시적인 컴퓨팅 시스템을 도시한다.
도 2는 원격으로 위치된 콘텐츠 제공자(들)로부터 콘텐츠를 수신하도록 구성되는 예시적인 컴퓨팅 디바이스를 보여주는 예시적인 컴퓨팅 시스템 환경을 도시한다.
도 3a는 액션가능 콘텐츠를 렌더링하는 예시적인 디스플레이를 갖는 예시적인 컴퓨팅 디바이스 - 컴퓨팅 디바이스는 렌더링된 콘텐츠와의 호버 기반 상호작용을 가능하게 하도록 구성됨 - 의 정면도를 도시한다.
도 3b는 도 3a의 예시적인 컴퓨팅 디바이스의 측면도를 도시한다.
도 3c는 객체가 컴퓨팅 디바이스의 디스플레이의 앞쪽에서 호버링되고 있을 때 도 3a의 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 3d는 도 3c의 객체가 컴퓨팅 디바이스의 디스플레이의 앞쪽에서 호버링되고 있을 때 도 3b의 예시적인 컴퓨팅 디바이스의 측면도를 도시한다.
도 3e는 객체로부터의 검출된 호버 상호작용에 응답하여 디스플레이의 지역에서 확대된 윈도우를 디스플레이할 때 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 4는 확대된 윈도우 내에서 객체에 의해 제공되는 사용자 입력을 보여주는 도 3a 내지 도 3e의 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 5a는 디스플레이의 전면을 가로질러 이동하는 객체와 그 객체와 함께 이동하는 확대된 윈도우를 보여주는 도 3 및 도 4의 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 5b는 도 5a의 예시적인 컴퓨팅 디바이스 및 이동하는 객체의 부분 측면도를 도시한다.
도 6은 확대된 윈도우 내에서 객체에 의해 제공되는 사용자 입력을 보여주는 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 7a는 디스플레이의 전면으로부터 제 1 거리에서 호버링하는 객체, 뿐만 아니라 확대된 윈도우의 제 1 확대 레벨을 보여주는 예시적인 컴퓨팅 디바이스의 부분 측면도 및 부분 정면도를 도시한다.
도 7b는 디스플레이의 전면로부터 제 2 거리에서 호버링하는 객체, 뿐만 아니라 확대된 윈도우의 제 2 확대 레벨을 보여주는 예시적인 컴퓨팅 디바이스의 부분 측면 및 정면도들을 도시한다.
도 8a는 객체가 브라우저의 제어 영역 내부에서부터 제어 영역의 경계 외부의 포지션으로 이동하여, 확대된 윈도우가 디스플레이로부터 사라지게 함을 보여주는 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 8b는 도 8a의 예시적인 컴퓨팅 디바이스 및 이동하는 객체의 측면도를 도시한다.
도 9는 객체가 디스플레이 상의 제어 영역의 경계 근처의 포지션에서부터 경계에 더 가까운 포지션으로 이동하여, 확대된 윈도우가 디스플레이 상의 지역 내에서 정적으로 유지되는 동안 확대된 윈도우 내의 콘텐츠가 패닝되도록 함을 보여주는 예시적인 컴퓨팅 디바이스의 정면도를 도시한다.
도 10a는 디스플레이 상의 로케이션에서 터치 기반 입력을 제공하는 객체를 보여주는 예시적인 컴퓨팅 디바이스의 부분 정면도를 도시한다.
도 10b는 그 로케이션에서 터치 기반 입력을 제공하는 객체를 보여주는 도 10a의 예시적인 컴퓨팅 디바이스 및 객체의 부분 측면도를 도시한다.
도 10c는 터치 기반 입력이 수신되었던 로케이션에 대응하는 콘텐츠의 줌 인된 부분을 보여주는 터치 기반 입력의 수신 후의 도 10a 및 도 10b의 예시적인 컴퓨팅 디바이스의 부분 정면도를 도시한다.
도 11은 객체가 디스플레이 상의 상호작용 엘리먼트 위에서 호버링하여 호버링하는 객체에 응답하여 디스플레이 관련된 기능의 수행을 초래함을 보여주는 예시적인 컴퓨팅 디바이스의 부분 정면도를 도시한다.
도 12는 호버링 객체를 검출하고, 응답하여, 확대된 윈도우와 그 속의 액션가능 콘텐츠를 디스플레이하는 구체적인 프로세스의 흐름도이다.
도 13은 호버링 객체의 움직임을 검출하고, 응답하여, 호버링 객체와 함께 디스플레이 상에서 확대된 윈도우를 이동시키는 구체적인 프로세스의 흐름도이다.
도 14는 디스플레이의 전면에 수직인 방향으로의 객체의 움직임에 응답하여 확대된 윈도우 내에서 콘텐츠의 확대 레벨을 변경하는 구체적인 프로세스의 흐름도이다.
본 개시물의 실시형태들은, 무엇보다도, 관람 디바이스의 디스플레이 상에서 렌더링되는 콘텐츠와의 "호버 기반" 상호작용을 가능하게 하는 기법들 및 시스템들을 위한 것이다. 비록 예들이 주로 모바일 컴퓨팅 디바이스(예컨대, 스마트 폰)에 관하여 본 명세서에서 제공되지만, 기법들 및 시스템들이 모바일 디바이스들로 제한되지 않는다는 것이 이해된다. 예를 들면, 본 명세서에서 개시되는 기법들로부터 이익을 얻을 수도 있는 관람 디바이스들은, 모바일 디바이스들(예컨대, 스마트 폰들, 태블릿 컴퓨터들, 휴대용 미디어 플레이어들, 착용가능 컴퓨터들 등), 뿐만 아니라 텔레비전(TV) 디스플레이들, 이동하는 차량들 내에 구현되는 디스플레이들(예컨대, 자동차들, 항공기 등에서의 내비게이션 디스플레이들) 등을 비제한적으로 포함할 수도 있다. 이런 의미에서, 호버 상호작용들이 검출될 수도 있는 본 명세서에서 설명되는 디스플레이들은 모바일이거나(예컨대, 모바일 컴퓨팅 디바이스, 차량 등에 통합되거나) 또는 위치해 있을 (예컨대, 벽걸이형(wall mounted) 디스플레이들일) 수도 있다.
본 명세서에서 생각되는 다양한 디바이스들에 제공될 수도 있는 호버 기반 입력의 특성들은, 이러한 호버 기반 입력을 가능하게 하는 디바이스의 사이즈, 디바이스의 사용의 콘텍스트, 및/또는 하드웨어(예컨대, 센서들)와 함께 가변할 수도 있다. 예를 들어, 거실에서의 TV 디스플레이가 큰 스크린 사이즈를 가질 수도 있으며, 정적일 수도 있고, 호버 상호작용들을 검출하기 위해 이미지 캡처 디바이스(예컨대, 깊이 카메라)를 이용할 수도 있다. 반면에, 작은, 모바일 디바이스, 이를테면 스마트 폰이, 디스플레이 자체에 임베딩된 센서 또는 센서 어레이(예컨대, 근접 감지 능력들을 갖는 용량성 기반 터치 스크린 센서)를 이용할 수도 있다. 디바이스 유형, 센서들, 또는 사용의 콘텍스트가 무엇이든, "호버"는, 본 명세서에서 사용되는 바와 같이, 디스플레이의 전면에 실제로 접촉하는 일 없이 디스플레이 앞쪽의 미리 결정된 3D 공간 내에 위치되는 객체의 물리적 상태를 언급할 수도 있다는 것이 이해된다. 미리 결정된 3D 공간의 차원들은 디스플레이 상의 2차원(2D) 영역과 디스플레이의 전면에 수직인 방향으로의 거리에 의해 정의될 수도 있다. 이런 의미에서, 디스플레이 상의 2D 영역 외부에 위치되거나, 디스플레이와 접촉하고 있거나, 또는 디스플레이의 전면에 수직인 방향으로 임계 거리를 너머에 있는 객체들은 호버 상태에 있지 않는 것으로 간주될 수도 있다.
본 명세서에서 설명되는 기법들 및 시스템들은 다수의 방식들로 구현될 수도 있다. 예시적인 구현예들은 다음의 도면들을 참조하여 아래에 제공된다.
예시적인 컴퓨팅 환경
도 1은 예시적인 컴퓨팅 시스템(100)을 도시한다. 시스템(100)은 렌더링된 콘텐츠와의 호버 기반 상호작용을 가능하게 하도록 구성되는 컴퓨팅 디바이스(102)를 포함할 수도 있다. 시스템(100)은 본원에서 설명되는 기법들이 도 1의 시스템을 사용한 수행으로 제한되지 않도록 본원에서 설명되는 기법들을 구현하는 단지 하나의 예시적인 시스템이다.
컴퓨팅 디바이스(102)는 모바일 폰(스마트 폰), 태블릿 컴퓨터, 전자 책(e-북) 리더, 랩톱 컴퓨터, 넷북 컴퓨터, 텔레비전, 디스플레이에 커플링된 셋톱 박스, 디스플레이에 커플링된 게임 콘솔, 내비게이션 디바이스(예컨대, 글로벌 포지셔닝 시스템(global positioning system, GPS) 디바이스), 차량 탑재형 디스플레이, 착용가능 컴퓨터(예컨대, 스마트 워치), 의료 영상화 디바이스, 디지털 카메라 및/또는 비디오 레코더 등을 포함하는 임의의 수의 컴퓨팅 디바이스들(그것들의 비제한적인 예들은 도 2에 도시됨)로서 구현될 수도 있다.
컴퓨팅 디바이스(102)에는 하나 이상의 프로세서(104)와 시스템 메모리(106)가 장착될 수도 있다. 컴퓨팅 디바이스의 정확한 구성 및 유형에 의존하여, 시스템 메모리(106)는 휘발성(예컨대, 랜덤 액세스 메모리(random access memory, RAM)), 비휘발성(예컨대, 판독 전용 메모리(read only memory, ROM), 플래시 메모리 등), 또는 두 개의 일부 조합일 수도 있다. 시스템 메모리(106)는, 프로세서(들)(104)가 액세스 가능한 운영 체제(108), 브라우저 모듈(110), 프로그램 데이터(112), 및 로컬 콘텐츠 저장소(114)를 비제한적으로 포함할 수도 있다.
운영 체제(108)는 컴포넌트들(속성들 및 이벤트들을 포함함), 객체들, 상속, 다형성(polymorphism), 반사를 지원하고, 워싱턴 주, 레드몬드의 Microsoft® Corporation로부터 상업적으로 입수 가능한 Win32™ 프로그래밍 모델 및 .NET™ 프레임워크의 것과 같은 객체 지향 컴포넌트 기반 응용 프로그래밍 인터페이스(application programming interface, API)를 제공하는 컴포넌트 기반 프레임워크(116)를 포함할 수도 있다. 컴포넌트 기반 프레임워크(116)에 의해 제공되는 API는 운영 체제(108) 및/또는 연관된 응용 프로그램들과의 인터페이스를 제공하는 운영 체제(108) 및/또는 운영 체제(108)의 응용 프로그램에 연관된 한 세트의 루틴들, 프로토콜들, 및/또는 도구들을 포함할 수도 있다.
운영 체제(108)는 컴퓨팅 디바이스(102)의 디스플레이 및 그 디스플레이 상에서 렌더링되는 콘텐츠와의 호버 기반 상호작용을 가능하게 하도록 구성되는 호버 인터페이스 모듈(118)을 더 포함할 수도 있다. 대체로, 운영 체제(108)는 표준 클래스의 휴먼 인터페이스 디바이스들(human interface devices, HID들)(예컨대, 키보드들, 마우스들 등)을 구동시킬 뿐만 아니라 터치 스크린 입력(즉, 연관된 디스플레이와의 접촉 기반 입력)을 가능하게 하도록 하나 이상의 스택으로 구성될 수도 있다. 호버 인터페이스 모듈(118)은 덧붙여, 컴퓨팅 디바이스(102)가 연관된 디스플레이 앞에서 호버링하는 객체들(예컨대, 사용자의 손가락 또는 손, 스타일러스, 펜, 원드(wand) 등)로부터 수신된 호버 기반 입력을 결정 및 해석하는 것과, 호버 기반 입력에 관계된 기능들을 수행하는 것을 가능하게 한다. 객체로부터 호버 기반 입력을 결정 및 해석하기 위하여, 호버 인터페이스 모듈(118)은 컴퓨팅 디바이스(102)의 하나 이상의 추가적인 하드웨어 및/또는 소프트웨어 컴포넌트, 이를테면 브라우저 모듈(110)과 호버링하는 객체(즉, 컴퓨팅 디바이스(102)의 디스플레이의 앞쪽에서 접촉하지 않는 객체)를 검출하도록 구성되는 컴퓨팅 디바이스(102)의 하나 이상의 하드웨어 센서에 의존할 수도 있다.
브라우저 모듈(110)은 콘텐츠를 수신하도록, 그리고 컴퓨팅 디바이스(102)의 디스플레이 상에서 브라우저(예컨대, 웹 브라우저)를 통해 수신된 콘텐츠를 렌더링하도록 구성될 수도 있다. 브라우저 모듈(110)의 실행은, 예를 들어, 연관된 디스플레이 상의 웹사이트에 의해 서빙되는 웹 페이지들을 렌더링함으로써 웹사이트에 대한 액세스를 제공할 수도 있다. 브라우저 모듈(110)은 브라우저를 통해 렌더링되는 콘텐츠와의 호버 기반 상호작용을 가능하게 하기 위해 운영 체제(108)의 API를 통해 호버 인터페이스 모듈(118)과 상호작용하도록 추가로 구성될 수도 있다. 렌더링될 콘텐츠는 문서들, 애플리케이션들, 웹 콘텐츠 등을 포함할 수도 있는데, 그 콘텐츠는 콘텐츠가 컴퓨팅 디바이스(102) 상에 로컬로 저장될 때 로컬 콘텐츠 저장소(114)로부터, 또는 원격 소스들로부터, 이를테면 도 1에 도시된 다른 컴퓨팅 디바이스들(120)(예컨대, 콘텐츠 제공자 서버들)로부터 수신/액세스될 수도 있다.
일부 실시형태들에서, 브라우저 모듈(110)에 의해 수신된 콘텐츠는 콘텐츠가 사용자 입력에 응답한다는 점에서 "액션 가능"하도록 콘텐츠를 구성하는 하이퍼 텍스트 마크업 언어(hyper text markup language, HTML) 코드에 기초한 웹 페이지 콘텐츠를 포함할 수도 있다. 임의의 적합한 스크립팅 언어(예컨대, JavaScript, Jscript, 유럽 컴퓨터 제조자 협회 스크립트(European Computer Manufacturers Association script, ECMAScript) 등) 또는 프로그램(예컨대, Java 애플릿)이 호버 기능에 링크될 수도 있는 콘텐츠를 포함하는 액션가능 콘텐츠를 가능하게 하기 위해 이용될 수도 있다. 이런 의미에서, 브라우저 모듈(110)에 의해 수신된 콘텐츠는 임의의 유형의 콘텐츠에 대한 문서 객체 모델(document object model, DOM) 트리 내부의 엘리먼트 노드들 상에 이벤트 핸들러들/리스너들을 등록시키기 위해 이벤트 구동형 프로그래밍 언어들로 코딩될 수도 있다. 콘텐츠를 액션 가능하게 하기 위해 이용될 수도 있는 하나의 적합한 이벤트는 모델은, 호버 이벤트들을 포함하는, 포인터 이벤트들에 대한 월드 와이드 웹 컨소시엄(World Wide Web Consortium, W3C) 모델이다.
구체적인 예에서, 브라우저 모듈(110)에 의해 수신된 콘텐츠는 선택된 텍스트를 강조, 텍스트 선택 그리퍼들, 또는 다른 적합한 디스플레이 기반 수정으로 수정함으로써 선택 입력에 응답하는 선택가능(즉, 액션가능) 텍스트를 포함하는 웹 페이지 콘텐츠를 포함할 수도 있다. 다른 예로서, 웹 페이지 상의 콘텐츠는 임베디드 비디오/오디오 콘텐츠를 위한 다른 웹 페이지들 또는 사이트들, 비디오 또는 오디오 재생 버튼들에 대한 링크들(예컨대, 하이퍼링크들) 등을 포함할 수도 있다. 따라서, 이러한 액션가능 콘텐츠의 선택 시, 콘텐츠는 각각 다른 웹페이지로 내비게이션하거나 또는 비디오/오디오 파일들을 플레이 백함으로써 응답할 수도 있다. 호버 이벤트들이 콘텐츠의 부분들과 연관될 때, 그들 부분들은 콘텐츠 위에 위치되어 있는 커서에 응답하여 외관을 변경(즉, 디스플레이 수정)함으로써 또는 추가적인 콘텐츠(예컨대, 드롭 다운 메뉴, 콘텐츠에 관한 정보를 갖는 팝업 버블)을 렌더링함으로써 액션 가능할 수도 있고, 이들 디스플레이 수정들 및/또는 추가적인 콘텐츠는 커서가 호버 가능 콘텐츠로부터 멀어지게 이동할 때 디스플레이로부터 사라질 수도 있다.
컴퓨팅 디바이스(102)는 예를 들어, 자기 디스크들, 광 디스크들, 또는 테이프와 같은 추가적인 데이터 저장 디바이스들(착탈식 및/또는 비-착탈식)을 또한 포함할 수도 있다. 이러한 추가적인 스토리지는 도 1에서 착탈식 스토리지(122) 및 비착탈식 스토리지(124)에 의해 예시된다. 컴퓨터 판독가능 매체들은, 본원에서 사용되는 바와 같이, 적어도, 두 개의 유형들의 컴퓨터 판독가능 매체들, 즉 컴퓨터 저장 매체들 및 통신 매체들을 포함할 수도 있다. 컴퓨터 저장 매체들은, 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 착탈식 및 비착탈식 매체들을 포함할 수도 있다. 시스템 메모리(106), 착탈식 스토리지(122) 및 비착탈식 스토리지(124)는 컴퓨터 저장 매체들의 모든 예들이다. 컴퓨터 저장 매체들은, RAM, ROM, 전기적으로 소거가능 프로그램가능 판독 전용 메모리(electrically erasable programmable read-only memory, EEPROM), 플래시 메모리 또는 다른 메모리 기술, 콤팩트 디스크 판독전용 메모리(compact disk read-only memory, CD-ROM), 디지털 다기능 디스크들(digital versatile disks, DVD) 또는 다른 광학적 스토리지, 자기 카세트들, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스들, 또는 원하는 정보를 저장하는데 사용될 수 있고 컴퓨팅 디바이스(102)에 의해 액세스될 수 있는 임의의 다른 비-송신 매체를 비제한적으로 포함한다. 임의의 이러한 컴퓨터 저장 매체들은 디바이스(102)의 부분일 수도 있다.
일부 실시형태들에서, 시스템 메모리(106), 착탈식 스토리지(122) 및 비착탈식 스토리지(124) 중 임의의 것 또는 모두가, 프로세서(들)(104)에 의해 실행될 때, 본 명세서에서 설명되는 프로세스들의 일부 또는 전부를 구현하는 프로그래밍 명령어들, 데이터 구조들, 프로그램 모듈들 및 다른 데이터를 저장할 수도 있다.
반면, 통신 매체들은 변조된 데이터 신호, 이를테면 반송파, 또는 다른 송신 메커니즘 내에 컴퓨터 판독가능 명령어들, 데이터 구조들, 프로그램 모듈들, 또는 다른 데이터를 포함할 수도 있다. 본 명세서에서 정의되는 바와 같이, 컴퓨터 저장 매체들은 통신 매체들을 포함하지 않는다.
컴퓨팅 디바이스(102)는 키보드, 포인팅 디바이스들(예컨대, 마우스, 터치 패드, 조이스틱 등), 펜, 스타일러스, 또는 원드, 터치 스크린(예컨대, 용량성, 저항성, 적외선, 음파(acoustic wave, SAW), 광학적), 카메라(예컨대, 3D 센서), 근접 센서, 마이크로폰 등과 같은 하나 이상의 입력 디바이스(126)를 또한 포함할 수도 있으며, 그것을 통해 사용자는 커맨드들 및 정보를 컴퓨팅 디바이스(102) 속에 입력할 수도 있다. 비록 입력 디바이스(들)(126)가 컴퓨팅 디바이스(102) 내에 있는 것으로 도 1에서 도시되지만, 입력 디바이스(들)(126)는 컴퓨팅 디바이스(102)(예컨대, 터치 스크린) 내에 물리적으로 임베딩될 수도 있거나, 또는 입력 디바이스(들)(126)는 유선 또는 무선 중 어느 하나의 연결을 통해 컴퓨팅 디바이스(102)에 착탈 가능하게 커플링되는 주변 디바이스들(예컨대, 주변 카메라 기반 입력 디바이스)일 수도 있다는 것이 이해된다. 따라서, 입력 디바이스(들)(126)는 유선 연결(예컨대, 유니버셜 직렬 버스(USB) 인터페이스), 또는 WiFi 또는 블루투스®와 같은 무선 사용자 입력 인터페이스를 통해 프로세서(들)(104)에 커플링될 수도 있다.
일부 실시형태들에서, 입력 디바이스(들)(126)는 컴퓨팅 디바이스(102)의 디스플레이의 앞쪽에서 호버링하는 객체를 검출하도록 구성되는 하나 이상의 근접 기반 센서(128)를 포함할 수도 있다. 근접 기반 센서(들)(128)는, 단순히 디스플레이 근처의 객체들을 검출하고 검출된 객체를 접촉 기반 터치 이벤트로서 분석하는 것이 아니라, 컴퓨팅 디바이스(102)가 접촉 기반 터치 이벤트들과 비-접촉(즉, 호버) 상호작용들을 구별하는 것을 가능하게 한다. 이런 의미에서, 컴퓨팅 디바이스(102)는 "호버-가능"한 것으로 간주될 수도 있는데, 그 컴퓨팅 디바이스가 호버 상호작용들 및 터치/접촉 상호작용들을 상호 배타적인 방식으로 검출할 수 있기 때문이다.
근접 센서(들)(128)는 임의의 적합한 근접 감지 기술을 포함할 수도 있다. 적합한 근접 감지 기술의 하나의 구체적인 예는 컴퓨팅 디바이스(102)의 디스플레이의 앞쪽에서 호버링하는 객체를 검출하도록 구성되는 용량성 센서 또는 센서 어레이이다. 이러한 용량성 센서 또는 센서 어레이는 전극들이 각각의 전극에서 커패시턴스 변화들을 측정하게 구성되도록 그 전극들에 전압이 인가되는 컴퓨팅 디바이스(102)의 디스플레이 스크린의 영역을 실질적으로 스패닝하는 2차원(2D) 그리드의 전극들을 포함할 수도 있다. 전극들에서의 커패시턴스 변화들은 객체가 가장 가까운 디스플레이의 전면 상의 로케이션이 대응하는 커패시턴스 변화들을 측정하는 전극들에 기초하여 핀포인팅될 수 있도록 전극들에 근접한 객체(이를테면 사람 손가락)에 의해 영향을 받을 수도 있다. 호버링 객체를 감지하기 위하여, 용량성 센서 또는 센서 어레이는 객체가 디스플레이에 접촉하는 일 없이 그 객체가 디스플레이의 전면의 앞쪽에서 검출될 수도 있도록 상호 커패시턴스 센서들에 비하여 더 강한 신호 감지를 제공하는 것으로 알려진 자체 커패시턴스에 적어도 부분적으로 기초할 수도 있다. 자체 커패시턴스 및 상호 커패시턴스의 조합에 기초한 근접 센서(128)가 용량성 센서들의 양쪽 유형들, 즉 각각 근접 감지 및 멀티-터치(즉, 동일한 시간에 다수의 터치 로케이션들을 검출함)의 유익들을 향유할 수도 있다. 일부 사례들에서, 근접 센서(들)(128)는 디스플레이의 전면으로부터 그 전면에 수직인 방향으로 약 0.001 인치 내지 약 8 인치의 범위 내의 거리에 있는 디스플레이의 앞쪽에서 객체를 검출하도록 구성될 수도 있다.
컴퓨팅 디바이스(102)의 디스플레이의 앞쪽에 위치된 객체를 검출하도록 구성되는 상대적으로 "긴 범위의" 입력 디바이스(126)의 하나의 예는 깊이 카메라(예컨대, 워싱턴 주, 레드몬드의 Microsoft® Corporation로부터의 Xbox® 콘솔 시스템과 함께 사용되는 Kinect® 센서)이다. 깊이 카메라가 비행시간(time-of-flight, ToF), 구조화된 광 영상화, 스테레오 영상화 등과 같은 임의의 적합한 기법을 사용하여 이미지 데이터 및 깊이 정보를 캡처하도록 구성될 수도 있다. 일부 사례들에서, 더 긴 범위의 감지 능력들을 갖는 근접 센서(들)(128)는 디스플레이의 전면으로부터 약 20 인치 내지 약 170 인치 범위 내의 거리에 있는 디스플레이 앞쪽의 객체를 검출하도록 구성될 수도 있다.
입력 디바이스(들)(126)는 위에서 설명된 예들로 제한되지 않고, 유도, 자기, 초음파, 또는 다른 적합한 근접 센서들(128)을 비제한적으로 포함하는, 임의의 적합한 근접 센서(들)(128)가 컴퓨팅 디바이스(102)의 디스플레이의 앞쪽에서 호버링하는 객체를 검출하는데 사용될 수도 있다는 것이 이해된다.
컴퓨팅 디바이스(102)는 프로세서(들)(104)에 통신적으로 커플링된 디스플레이(132)(예컨대, 액정 디스플레이(liquid crystal display, LCD), 플라즈마, 배면 프로젝션 등), 하나 이상의 스피커, 프린터, 또는 임의의 다른 적합한 출력 디바이스와 같은 출력 디바이스(들)(130)를 또한 포함할 수도 있다. 출력 디바이스(들)(130)는 컴퓨팅 디바이스(102)의 사용자에게 출력을 제공하도록 일반적으로 구성될 수도 있다. 일부 실시형태들에서, 출력 디바이스(들)(130)는 컴퓨팅 디바이스(102)(예컨대, 임베디드 디스플레이(132)) 속에 통합되거나, 또는 주변 출력 디바이스(130)(예컨대, 주변 디스플레이(132))로서 외부에 제공될 수도 있다.
도 1은 콘텐츠가 디스플레이(132) 상에서 렌더링될 때 컴퓨팅 디바이스(102)의 디스플레이(132)를 통해 출력될 수도 있는 예시적인 스크린 렌더링(134)을 도시한다. 도 1의 예에서, 스크린 렌더링(134)은 웹 페이지 콘텐츠를 디스플레이하는 웹 브라우저를 나타낸다. 따라서, 스크린 렌더링(134)은 웹사이트의 URL(uniform resource locator)(여기서는 "www.website.com")을 입력하기 위한 주소 필드와 추가적인 브라우저 윈도우들을 열고, 웹 페이지 콘텐츠를 리프레시하는 등을 위한 브라우징 기능성을 사용자에게 제공할 수도 있는 다양한 다른 컨트롤들을 갖는 내비게이션 바(136)를 포함할 수도 있다. 스크린 렌더링(134)은 디스플레이(132) 상에 렌더링되는 브라우저의 제어 영역 내에 콘텐츠(138)를 더 포함할 수도 있다. 주목할 만하게도, 도 1의 예에서의 콘텐츠(138)는 데스크탑 컴퓨터 디스플레이 상에서의 최적의 렌더링을 위해 설계된 웹 페이지로 인해 "풍부하고 밀집"하다.
도 1은 디스플레이(132)의 전면 위에서 호버링되는 객체가 검출되는, 디스플레이(132)의 전면 상의 영역(140)을 추가로 예시한다. 아래에서 더 상세히 논의될 바와 같이, 그 영역(140)은 객체가 스크린의 앞쪽에서 호버링할 때 스크린을 기준으로 객체의 로케이션을 나타내는, 디스플레이(132)의 전면 상의 포인트 로케이션으로 해석될 수도 있다. 근접 센서(들)(128)는 호버링 객체를 검출할 수도 있고, 호버 인터페이스 모듈(118)은 영역(140)에 의해 표현되는 디스플레이(132) 앞쪽의 객체들의 포지션이 호버 기능이 가능하게 된 제어 영역 내에 로케이션에 있다고 결정할 수도 있다. 일부 실시형태들에서, 브라우저 모듈(110)은, 내비게이션 바(136)가 아니라, 콘텐츠(138)를 경계 짓는 것으로서 제어 영역을 특정하기 위하여 운영 체제(108)의 API를 통해 운영 체제(108)와 상호작용할 수도 있다. 브라우저 모듈(110)은 렌더링된 콘텐츠(138)의 줌 레벨을 추가로 특정할 수도 있다(이 경우 콘텐츠(138)는 최저 줌 레벨로 줌 아웃될 수도 있다). 이 정보로, 호버 인터페이스 모듈(118)은, 렌더링된 콘텐츠가 최저 줌 레벨에 있다고 그리고 호버 이벤트가 렌더링된 콘텐츠(138)에 관해 검출될 수도 있도록 객체는 웹 브라우저의 제어 영역 내에서 호버링하고 있다고 결정할 수도 있다.
호버 이벤트가 검출될 때, 호버 인터페이스 모듈(118)은 컴퓨팅 디바이스(102)의 디스플레이(130) 상에서 렌더링되는 디스플레이 관련된 기능의 수행을 초래할 수도 있다. 호버 이벤트의 검출에 응답하여 수행될 수도 있는 디스플레이 관련된 기능들은, 콘텐츠(138)의 부분(예컨대, 객체 밑에 있는 콘텐츠(138)의 부분)의 확대된 윈도우(142)를 디스플레이하는 것, 콘텐츠(138)의 그 부분의 디스플레이를 수정하는 것, 및/또는 콘텐츠(138)의 부분에 연관하여 추가적인 콘텐츠를 렌더링하는 것을 비제한적으로 포함한다. 도 1의 확대된 윈도우(142) 내에서 렌더링되는 콘텐츠(138)의 부분은 영역(140) 내의 로케이션에서 또는 그런 로케이션으로부터 임계 거리 내에서(예컨대, 객체의 로케이션 바로 위쪽에서) 렌더링되는 콘텐츠(138)의 부분을 나타낼 수도 있다. 호버 상호작용이 원하는 것이 아닌 사례들에서 컴퓨팅 디바이스(102)의 호버 상호작용 능력은 사용자 설정들 또는 디바이스(102)의 유사한 사용자 구성을 통해 턴 "온" 또는 "오프"될 수도 있다는 것이 이해된다.
컴퓨팅 디바이스(102)는 네트워킹된 환경에서 동작할 수도 있고, 이와 같이, 컴퓨팅 디바이스(102)는 그 디바이스가 원격으로 위치된 콘텐츠 제공자들과 같은 다른 컴퓨팅 디바이스들(120)과 통신하는 것을 허용하는 통신 연결들(142)을 추가로 포함할 수도 있다. 통신 연결들(142)은 데이터, 이를테면 로컬 콘텐츠 저장소(114)에 저장될 수도 있는 콘텐츠를 송신 및/또는 수신하는데 사용할 수 있다.
도 2는 원격으로 위치된 콘텐츠 제공자(들)(202)로부터 콘텐츠를 수신하도록 구성되는 예시적인 컴퓨팅 디바이스들(102)을 보여주는 예시적인 컴퓨팅 시스템 환경(200)을 도시한다. 비록 실시형태들이 웹 기반 시스템의 맥락에서 설명되지만, 다른 유형들의 클라이언트/서버 기반 통신들 및 연관된 애플리케이션 로직이 사용될 수 있다. 도 2는 컴퓨팅 디바이스(102)의 디스플레이(132) 상에서 렌더링될 콘텐츠가 원격 콘텐츠 저장소(204)에 콘텐츠를 저장할 수도 있는 콘텐츠 제공자(들)(202)로부터 다운로드될 수도 있거나 또는 아니면 수신될 수도 있다는 것을 예시한다. 일부 예들에서, 수신된 콘텐츠는 콘텐츠 제공자(들)(202)의 웹사이트로부터의 웹 페이지 콘텐츠일 수도 있다. 이 시나리오에서, 콘텐츠 제공자(202)는, 하나 이상의 웹사이트를 호스팅하기 위해 아마도 클러스터로 배열되거나 또는 서버 팜으로서의 하나 이상의 서버(들)(206(1), 206(2), ..., 206(N)(총칭하여(206)))를 이용할 수도 있다. 컴퓨팅 디바이스(102)에 연관된 사용자가 그 다음에, 이를테면 컴퓨팅 디바이스(102) 상에서 실행되고 있는 웹 브라우저의 주소 필드 속에 입력되는 URL의 형태로, 네트워크(208)를 통해 서버(들)(206)에게 요청을 제출함으로써, 웹사이트에 액세스할 수도 있다. 요청의 수신 시, 서버(들)(206)는 네트워크(208)를 통해 요청하는 컴퓨팅 디바이스(102)에게 웹 페이지를 반환할 수도 있다. 웹사이트는 많은 사용자들로부터의 요청들을 핸들링하고, 응답하여, 컴퓨팅 디바이스들(102)의 연관된 디스플레이들 상에서 렌더링될 수 있는 다양한 웹 페이지들을 서빙할 수도 있다. 네트워크(208)는, 원거리 통신망(wide area network, WAN) 또는 근거리 통신망(local area network, LAN)과 같은 그리고 케이블 네트워크들, 인터넷, 및 무선 네트워크들을 포함하는 다수의 상이한 유형들의 네트워크들의 임의의 하나 또는 조합을 나타낸다.
도 3a는 도 1의 콘텐츠(138)와 같은 액션가능 콘텐츠를 렌더링하는 예시적인 디스플레이(132)를 갖는 예시적인 컴퓨팅 디바이스(102)의 정면도를 도시한다. 일부 실시형태들에서, 호버 상호작용들이 제한될 수도 있는 전술한 제어 영역은 콘텐츠(138)가 렌더링되는 디스플레이 상의 2D 영역과 일치한다. 도 3a에 도시된 컴퓨팅 디바이스(102)는 그것이 렌더링된 콘텐츠(138)와의 호버 기반 상호작용을 가능하게 하는 도 1에서 설명된 컴포넌트들을 포함한다는 의미에서 "호버 가능" 디바이스를 나타낸다. 도 3b는 도 3a의 컴퓨팅 디바이스(102)의 측면도를 도시한다.
도 3a 및 도 3b는 다양한 기준 평면들을 또한 도시한다. 이와 같이, 도 3a는 컴퓨팅 디바이스(102)의 중앙을 통해 뻗을 수도 있고 컴퓨팅 디바이스(102)를 좌측 및 우측으로 분할할 수도 있는 가상 정중시상면(midsagittal plane)을 도시한다. 컴퓨팅 디바이스(102)를 상위(상단/상부) 및 하위(하단/하부) 부분들로 분할하는 가상면인 횡단면이, 도 3a 및 도 3b를 수평으로 가로질러 뻗어 있는 것으로 도시되어 있다. 더욱이, 관상면(frontal plane)이 컴퓨팅 디바이스(102)를 전면부분 및 배면 부분으로 분할하는 가상 수직면으로서 도 3b에 의해 도시된다. 따라서, 도 3b는 컴퓨팅 디바이스(102)의 전면 부분에 대해 관상면에 평행한 표면인 것으로서 디스플레이(132)의 전면(300)을 도시한다. 도 3a는 관상면에 평행한 2D 좌표 기준 면(예컨대, x-y 평면)이 디스플레이(132)의 전면(300) 상의 (x, y) 포인트 로케이션들을 참조하기 위해 이용될 수도 있다는 것을 추가로 도시한다. 디스플레이(132)의 전면(300) 상의 로케이션들은 디스플레이(132)의 화소들과, 화소들의 그룹들에 의해 정의된 영역들에 의해 또한 표현될 수도 있다. 도 3b는 디스플레이(132)의 전면(300)에 수직인 방향이 데카르트 좌표들의 측면에서 z-방향에 의해 표현될 수도 있다는 것을 예시한다.
도 3c는 객체(302)(이 경우, 사용자의 손가락)가 컴퓨팅 디바이스(102)의 디스플레이(132)의 앞쪽에서 호버링할 때의 도 3a 및 도 3b의 예시적인 컴퓨팅 디바이스(102)의 정면도를 도시한다. 도 3d는 도 3c의 컴퓨팅 디바이스(102) 및 객체(302)의 측면도를 도시한다. 구체적으로는, 객체(302)는 도 3d에서 디스플레이(132)의 전면(300)으로부터 z-방향(전면(300)에 수직인 방향)으로 거리 d에 위치된(이격된) 것으로 도시된다. 거리 d는 객체(302)로부터 전면(300) 상의 다른 로케이션들까지의 다른 거리들에 비하여 객체(302)로부터 전면(300)까지의 최단 거리를 나타낸다는 것이 이해된다. 하나의 구체적인 예에서, 컴퓨팅 디바이스(102)는 디스플레이(132) 내에 임베딩된, 또는 그 디스플레이 뒤에 배치된 근접 센서(들)(128)(예컨대, 용량성 센서 어레이)를 이용하는 스마트 폰을 나타낼 수도 있고, 거리 d는 약 0.001 인치 내지 약 1.5 인치의 범위 내에 있을 수도 있다. 일부 실시형태들에서, 근접 센서(들)(128)는 그것이 전면(300)으로부터의 임계 거리, 이를테면 약 8 인치보다 크지 않을 수도 있는 임계 거리 내에 위치될 때 객체(302)를 검출하도록 구성될 수도 있다. 더 큰 디스플레이 사이즈들을 갖는 컴퓨팅 디바이스들(102) 및/또는 상이한 유형들의 근접 센서(들)(128)(예컨대, 깊이 카메라)를 갖는 상이한 콘텍스트들에서 구현된 컴퓨팅 디바이스들(102)(예컨대, 거실 TV들)의 경우, 거리 d가 디스플레이(132)의 전면(300)으로부터 약 170 인치까지일 수도 있고, 컴퓨팅 디바이스(102)의 근접 센서(들)(128)는 전면(300)의 앞쪽으로 그 거리 d에서 호버링하는 객체(302)(예컨대, 사용자의 손)를 여전히 검출할 수도 있도록 임계 거리가 8 인치를 초과할 수도 있다. 심지어 단일 객체(302)가 도 3c 및 도 3d에 도시되더라도, 근접 센서(들)(128)는 다수의 호버링 객체들(302)을 검출하도록 구성될 수도 있다는 것이 또한 이해된다.
도 3c는 객체(302)가 디스플레이(132)의 앞쪽에서 호버링할 때 디스플레이(132)를 기준으로 객체의 로케이션을 나타내는 전면(300) 상의 포인트 로케이션(304)을 추가로 도시한다. 그 로케이션(304)은 근접 센서(들)(128)로부터 검출된 객체(302)의 표시를 수신한 후 호버 인터페이스 모듈(118)에 의해 결정될 수도 있다. 로케이션(304)을 결정하기 위하여, 호버 인터페이스 모듈(118)은 운영 체제(108)에게 일반적으로 알려진 디스플레이(132)의 x-y 좌표들 또는 화소들에 관한 데이터 및/또는 근접 센서(들)(128)로부터의 데이터에 액세스할 수도 있다. 도 3d에 의해 예시된 바와 같이, 로케이션(304)은 객체(302)로부터 전면(300)까지의 최단 거리 d인 디스플레이(132)의 전면(300) 상의 로케이션(304)을 나타낼 수도 있는데, 객체(302)가 디스플레이(132)의 전면(300)에 수직인 로케이션(304)으로부터의 방향에 실질적으로 있기 때문이다.
도 3c는 호버 인터페이스 모듈(118)이 로케이션(304)으로부터 임계 거리 h 내에서 렌더링되는 콘텐츠(138)의 부분(306)을 결정하도록 추가로 구성될 수도 있다는 것을 추가로 도시한다. 도 3c의 예에서, 선택되는 콘텐츠(138)의 부분(306)은 로케이션(304) 상측으로 (즉, 컴퓨팅 디바이스(102))의 상단 부분을 향해) 거리 h에서 렌더링된다. 다른 실시형태들에서, 호버 인터페이스 모듈(118)에 의해 결정되는 부분(306)은 로케이션(304)에서 렌더링되는 콘텐츠(138)의 부분(즉, 호버링 객체(302) 바로 아래에 있는 콘텐츠)일 수도 있다. 객체(302)가 부분(306)의 사용자의 시야를 방해하지 않도록 로케이션(304) 상측으로 거리 h에서 렌더링되는 부분(306)을 선택하는 것이 유리할 수도 있지만, 객체(302) 바로 아래 또는 상이한 방향으로의 로케이션(304)의 거리 내의 부분이 시스템의 기본 특성들을 변경하는 일 없이 선택될 수도 있다는 것이 이해될 수도 있다.
도 3e는 확대된 윈도우, 이를테면 도 1의 확대된 윈도우(142)가 객체(302)로부터의 검출된 호버 상호작용에 응답하여 디스플레이(132)의 지역에서 디스플레이되는 도 3a 내지 도 3d의 예시적인 컴퓨팅 디바이스(102)의 정면도를 도시한다. 도 3e에 도시된 객체(302)(손가락)는 도 3c 및 도 3d에 도시된 동일한 포지션(즉, 호버 포지션)에 있다. 확대된 윈도우(142)는 도 3c에 도시된 콘텐츠(138)의 부분(306)을 포함할 수도 있다. 도 4를 참조하여 더 상세히 설명될 바와 같이, 확대된 윈도우(142) 내에서 렌더링되는 콘텐츠는 그 콘텐츠가 확대된 윈도우(142) 외부에서 사용자 입력에 응답하도록 구성되는 방법과 동일한 또는 유사한 방식으로 확대된 윈도우(142) 내에서 수신되는 사용자 입력에 응답함으로써 액션 가능할 수도 있다. 예를 들어, "Store Clerk Thwarts Robbery Attempt"라고 읽히는 텍스트는, 도 3c에 도시된 바와 같이, 콘텐츠(138)의 부분(306)에 포함되고, 그 텍스트는 확대된 윈도우(142) 외부의 선택 시(예컨대, 손가락이 텍스트 엘리먼트 상의 디스플레이(132)를 터치할 시), 웹 브라우저를 통해 그 텍스트에 연관된 전체 기사를 포함하는 다른 페이지까지 사용자를 내비게이션하게 하는 하이퍼텍스트로서 코딩될 수도 있다. 동일한, 또는 적어도 유사한 패션으로, 사용자가, 예를 들어, "Store Clerk Thwarts Robbery Attempt"라고 읽히는 텍스트를 선택하기 위해 확대된 윈도우(142) 내에서 입력을 제공할 수도 있다. 확대된 윈도우(142) 내에서 사용자 입력의 수신 시, 브라우저 모듈(110)은 그 텍스트에 연관된 전체 기사를 갖는 상이한 웹 페이지로 사용자가 내비게이션하게 할 수도 있다. 이런 방식으로, 확대된 윈도우(142)는 확대된 윈도우(142) 내부에서 제공된 사용자 입력에 응답함으로써 확대된 윈도우(142) 자체 내에 액션가능 콘텐츠를 제공하는 "미니-브라우저" 윈도우로서 역할을 한다.
일부 실시형태들에서, 확대된 윈도우(142)는 디스플레이(132)의 전체 폭보다 작을 수도 있는 폭 w로 된다. 하나의 예에서, 폭 w는 디스플레이(132)의 폭의 약 75%보다 크지 않다. 다른 예에서, 폭 w는 디스플레이(132)의 폭의 약 50%보다 크지 않다. 또 다른 예에서, 폭 w는 디스플레이(132)의 폭의 약 25%보다 크지 않다. 그 폭 w에 대한 디스플레이(132)의 폭의 분수인 것으로의 제한이, 확대된 윈도우(142) 내에서 렌더링되는 콘텐츠(138)의 부분(306)의 최적의 확대를 허용할 수도 있고, 그것은 콘텐츠를 좌우 방식, 또는 그 반대 방식으로 선택적으로 브라우징하는 것을 용이하게 할 수도 있다.
일부 실시형태들에서, 확대된 윈도우(142)가 디스플레이되는 지역은 객체(302)에 대응하는 전면(300) 상의 로케이션(304)으로부터 미리 결정된 거리 b에 위치되는 하단 경계를 포함할 수도 있다. 예를 들어, 미리 결정된 거리 b는 약 0.2 인치 내지 약 0.5 인치의 범위 내에 있을 수도 있다. 다른 예에서, 미리 결정된 거리 b는 약 1 인치보다 크지 않을 수도 있다. 확대된 윈도우(142)를 로케이션(304) 상측의 미리 결정된 거리 b에서 렌더링하는 것은, 확대된 윈도우(142) 또는 그것의 부분 내에서 콘텐츠의 사용자의 시야를 객체(302)가 방해하는 것을 방지할 수도 있다.
일부 실시형태들에서, 호버 인터페이스 모듈(118)은 확대된 윈도우(142)의 디스플레이를 초래하기 전에 객체(302)로부터 입력 제스처를 식별할 수도 있다. 이런 의미에서, 확대된 윈도우(142)는 임의의 적합한 형태를 취할 수도 있는 입력 제스처의 수신에 응답하여 디스플레이될 수도 있다. 확대 윈도우(142)의 디스플레이를 트리거할 수도 있는 하나의 예의 입력 제스처는 미리 결정된 시구간(period of time) 동안 도 3c 내지 도 3e에 도시된 제 1 포지션에 남아 있는 객체(302)의 형태일 수도 있다. "제 1 포지션에 남아 있는 것"은 미리 결정된 시구간 동안 미리 결정된 영역(306) 내에서 전면(300) 앞쪽에서 호버링하는 것을 포함할 수도 있다. 미리 결정된 영역(306)은 객체(302)가 약간 흔들린다면, 그 객체는 "제 1 포지션에 남아 있다"고 간주될 수도 있도록 로케이션(304) 주위에서 한계가 정해질 수도 있다. 객체(302)가 제 1 포지션에서 남아 있는 미리 결정된 시구간은 약 50 밀리초 내지 약 100 밀리초의 범위 내에 있을 수도 있다. 다른 실시형태들에서, 미리 결정된 시구간은 약 2000 밀리초보다 크지 않을 수도 있다. 이 시나리오에서, 사용자가 미리 결정된 시구간 동안 미리 결정된 영역(306) 내에서 호버 포지션에 손가락을 유지함으로써 입력 제스처를 제공할 수도 있고, 응답하여, 호버 인터페이스 모듈(118)은 확대된 윈도우(142)의 디스플레이가 콘텐츠(138)의 향상된 브라우징을 제공하게 할 수도 있다.
비록 도 1 및 도 3e에 도시된 확대된 윈도우(142)가 직사각형 형상이지만, 확대된 윈도우(142)는 임의의 적합한 형상, 이를테면 원형, 삼각형, 정사각형, 육각형, 또는 콘텐츠(138)의 부분(306)의 확대된 뷰를 포함하기에 적합한 임의의 유형의 다각형 형상을 포함할 수도 있다는 것이 이해된다.
도 4는 확대된 윈도우(142) 내에서 객체(302)에 의해 제공되는 사용자 입력을 보여주는 도 3a 내지 도 3e의 예시적인 컴퓨팅 디바이스(102)의 정면도를 도시한다. 확대된 윈도우(142) 내에 그 속의 콘텐츠와 상호작용하도록 제공되는 사용자 입력은, 확대된 윈도우(142) 내에서 렌더링되는 엘리먼트를 선택하기 위한 터치 기반 입력을 제공하기 위해 디스플레이(132)의 전면(300)과 접촉하는 객체(302)와 같은 임의의 적합한 형태를 취할 수도 있다. 도 4의 예에서, 사용자가 "Store Clerk Thwarts Robbery Attempt"라고 읽히는 확대된 윈도우(142) 내의 텍스트 상의 디스플레이(132)의 전면(300)에 자신의 손가락을 터치하였다. 상호작용 콘텐츠 엘리먼트들(예컨대, 하이퍼링크들)을 선택하기 위해 디스플레이(132)에 터치 기반 입력을 사용자가 제공할 수 있는 것처럼, 사용자는 텍스트를 선택하기 위해 확대된 윈도우(142) 내에 제공되는 하이퍼텍스트 "Store Clerk Thwarts Robbery Attempt" 상의 디스플레이(132)의 전면(300)에 접촉하고 그 텍스트에 연관된 전체 기사를 갖는 다른 웹 페이지로 내비게이션할 것을 브라우저 모듈(110)에게 명령할 수도 있다. 이런 의미에서, 부분(306)이 확대된 윈도우(142) 외부의 사용자 입력에 응답하는 것처럼, 확대된 윈도우(142) 내의 콘텐츠의 부분은 확대된 윈도우(142) 내에 사용자 입력이 제공될 때 사용자 입력에 응답함으로써 액션 가능하다.
일부 실시형태들에서, 확대된 윈도우(142) 내에 제공된 사용자 입력은, 도 4에서 예시된 바와 같이, 객체(302)로부터의 호버 상호작용을 포함할 수도 있다. 예를 들어, 객체(302)는 확대된 윈도우(142) 내에서 렌더링되는 콘텐츠 위의 디스플레이(132)의 전면(300)으로부터 어떤 거리에서 호버링될 수도 있고, 액션가능 콘텐츠는, 호버 이벤트들에 응답하도록 코딩된다면, 디스플레이 관련된 기능, 이를테면 콘텐츠의 외관을 변경하는 것(예컨대, 텍스트 "Store Clerk Thwarts Robbery"에 밑줄치는 것), 추가적인 콘텐츠(예컨대, 콘텐츠에 관한 정보를 갖는 팝-업, 드롭 다운 메뉴 등)를 디스플레이하는 것 등을 수행함으로써 호버 기반 사용자 입력에 응답할 수도 있다.
도 5a는 디스플레이(132)의 전면(300)을 가로질러 전면(300)과 이격된 관계를 유지하면서 이동하는 객체(302)를 보여주는 도 3 내지 도 4의 예시적인 컴퓨팅 디바이스(102)의 정면도를 도시한다. 따라서, 도 5b는 전면(300)을 가로지르는 객체(302)의 움직임 동안 유지되는 이격된 관계를 예시하는 컴퓨팅 디바이스(102) 및 이동하는 객체(302)의 부분 측면도를 도시한다. 도 5a 및 도 5b에 도시된 객체(302)의 움직임에 응답하여, 확대된 윈도우(142)는 디스플레이(132)의 제 1 지역(점선 박스에 의해 표현됨)으로부터 디스플레이(132)의 제 2 지역으로 이동하는 객체(302)와 함께 디스플레이(132)를 가로질러 이동하는 것으로 도시된다. 일부 실시형태들에서, 호버 인터페이스 모듈(118)은 객체(302)가 미리 결정된 속도 미만으로 전면(300)을 가로질러 이동하는지의 여부를 결정할 수도 있다. 아래에서 더 상세히 설명될 바와 같이, 일부 실시형태들에서, 객체(302)가 전면(300)을 가로질러 너무 빠르게 (즉, 임계 속도를 초과하여) 이동한다면, 확대된 윈도우(142)는 디스플레이(132)로부터 사라질 수도 있다. 그러므로, 일부 실시형태들에 따르면, 객체(302)가 전면(300)을 그 전면과는 이격된 관계로 횡단할 때 미리 결정된 속도 미만으로 이동하는 한, 확대된 윈도우(142)는 객체(302)의 새로운 포지션에 대응하는 디스플레이(132)의 새로운 지역으로 객체(302)와 함께 이동할 수도 있다. 도 5a의 예에서, 객체(302)가 이동한 후의 새로운/제 2의 지역에서의 확대된 윈도우(142)는, 객체(302)의 업데이트된 포지션에 대응하는 디스플레이(132)의 전면(300) 상의 새로운 로케이션에서, 또는 그러한 새로운 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠(138)의 다른 부분을 포함한다. 이런 방식으로, 객체(302)는 객체(302)가 이동함에 따라 콘텐츠(138)의 상이한 부분들을 동적으로 렌더링하기 위해 제어된 방식 (즉, 미리 결정된 속도 미만으로) 전면(300)을 횡단할 수도 있다. 이는 신문 위에서 돋보기를 이동하는 것과 유사한 가상의 경험을 컴퓨팅 디바이스(102)의 사용자에게 제공한다.
도 6은 확대된 윈도우(142) 내에서 객체(302)에 의해 제공되는 사용자 입력을 보여주는 도 3 내지 도 5의 컴퓨팅 디바이스(102)의 정면도를 도시한다. 확대된 윈도우(142) 내에 제공되는 사용자 입력은 그 확대된 윈도우 내의 콘텐츠와 상호작용하도록 제공될 수도 있고, 그 사용자 입력은, 도 4를 참조하여 위에서 설명된 바와 같이, 임의의 적합한 형태를 취할 수도 있다. 도 6의 예에서, 객체(302)는 확대된 윈도우(142) 내에서 렌더링되는 엘리먼트를 선택하기 위한 터치 기반 입력을 제공하기 위해 디스플레이(132)의 전면(300)과 접촉할 수도 있다. 구체적으로는, 객체(302)(손가락)는 확대된 윈도우(142) 내에서 렌더링되는 확대된 비디오 재생 버튼 상의 디스플레이(132)의 전면(300)과 접촉할 수도 있다. 확대된 윈도우(142)가 디스플레이(132) 상에서 렌더링되지 않을 때, 객체(302)는 비디오가 디스플레이(132) 상에서 사용자에게 재생되게 하는 비디오 재생 버튼 상의 디스플레이(132)의 전면(300)에 터치할 수도 있다는 것이 인지된다. 확대된 윈도우(142)는 확대된 윈도우(142) 외부의 디스플레이(132) 상에서 렌더링되는 액션가능 콘텐츠(138)와 동일한 방식으로 응답하는 액션가능 콘텐츠를 또한 렌더링한다. 이런 의미에서, 객체(302)는 상호작용 엘리먼트들(예컨대, 비디오 재생 버튼)을 선택하기 위해 확대된 윈도우(142) 내에서 입력 커맨드들을 제공(예컨대, 디스플레이(132)의 전면(300)에 접촉)할 수도 있고, 응답하여, 브라우저 모듈(110)은, 이를테면 재생 버튼에 연관된 비디오 파일의 재생을 개시함으로써 사용자 입력에 응답할 수도 있다.
일부 실시형태들에서, 확대된 윈도우(142) 내에 제공된 사용자 입력은 객체(302)로부터의 호버 상호작용을 포함할 수도 있다. 예를 들어, 객체(302)는 확대된 윈도우(142) 내에서 렌더링되는 콘텐츠 위의 디스플레이(132)의 전면(300)으로부터 어떤 거리에서 호버링될 수도 있고, 액션가능 콘텐츠는, 호버 이벤트들에 응답하도록 코딩된다면, 디스플레이 관련된 기능, 이를테면 콘텐츠의 외관을 변경하는 것(예컨대, 비디오 재생 버튼의 원을 강조표시하는 것), 추가적인 콘텐츠를 디스플레이하는 것 등을 수행함으로써 호버 기반 사용자 입력에 응답할 수도 있다.
도 7a는 디스플레이(132)의 전면(300)으로부터 제 1 거리(d1)에서 호버링하는 객체(302), 뿐만 아니라 확대된 윈도우(142)의 제 1 확대 레벨을 보여주는 컴퓨팅 디바이스(102)의 부분 측면도 및 부분 정면도를 도시한다. 도 7b는 디스플레이(132)의 전면(300)으로부터 제 2 거리(d2)에서 호버링하는 객체(302), 뿐만 아니라 확대된 윈도우(142)의 제 2 확대 레벨을 보여주는 컴퓨팅 디바이스(102)의 부분 측면 및 정면 도들을 도시한다. 따라서, 도 7a 및 도 7b는 확대된 윈도우(142) 내의 콘텐츠의 확대/줌 레벨이 z-방향(즉, 전면(300)에 수직인 방향)에서의 객체(302)의 움직임에 응답하여 조정 또는 제어되어, 확대된 윈도우(142)가 디스플레이될 때 사용자가 확대된 윈도우(142) 내에서 콘텐츠의 렌더링된 사이즈를 제어하는 것을 허용할 수도 있다는 것을 예시한다. 호버 인터페이스 모듈(118)은 확대 레벨들을 디스플레이(132)의 전면(300)으로부터의 z-방향 거리들에 매핑하는 프로그램 데이터(112)에서의 매핑 데이터에 액세스함으로써 이러한 z-방향 줌 제어를 가능하게 할 수도 있다. 이런 방식으로, 전면(300)으로부터의 제 1 거리(d1)에서 검출되는 객체(302)는, 확대된 윈도우(142) 내의 콘텐츠가 제 1 확대 레벨로 렌더링될 수도 있도록 확대된 윈도우(142) 내의 콘텐츠에 대해 제 1 확대 레벨로 해석될 수도 있고, 객체(302)가 전면(300)으로부터 z-방향으로 제 2 거리(d2)까지 멀어지게 이동하였다는 결정에 응답하여, 확대된 윈도우(142) 내의 콘텐츠의 확대 레벨은 조정될(예컨대, 감소될) 수도 있다. 전면(300)으로부터 객체의 거리를 검출하는 것은 수신 신호 강도, 비행시간(ToF), 또는 디스플레이(132)의 전면(300)으로부터 객체(302)의 거리를 결정하기 위한 다른 수단에 기초하여 근접 센서(들)(128)에 의해 수행될 수도 있다.
도 8a는 객체(302)가 브라우저의 제어 영역(800) 내부에서부터 제어 영역(800)의 경계 외부의 포지션으로 이동하여, 확대된 윈도우(142)가 디스플레이(132)로부터 사라지게 함을 보여주는 컴퓨팅 디바이스(102)의 정면도를 도시한다. 도 8b는 디스플레이(132)의 전면(300)을 가로지르는 객체(302)의 움직임이 그 객체(302)가 전면(300)에 대해 이격된 관계를 유지(즉, 객체(302)가 전면(300)을 가로질러 호버링 상태로 이동)하는 동안 일어남을 보여주는 컴퓨팅 디바이스(102) 및 객체(302)의 측면도를 도시한다. 도 8a 및 도 8b는 일단 처음으로 렌더링되었다면; 즉 객체(302)가 디스플레이(132) 상의 지정된 제어 영역(800) 외부로 이동한다면 확대된 윈도우(142)가 디스플레이(132)로부터 사라지게 하기 위한 하나의 기준의 일 예를 보여준다. 예를 들어, 브라우저 모듈(110)은 웹 브라우저를 통해 렌더링된 콘텐츠(138)를 둘러싸는 디스플레이(132) 상의 영역을 포함하는 것으로서 제어 영역(800)을 특정할 수도 있다. 따라서, 내비게이션 바(136)는, 비록 스크린 렌더링(134)의 일부이지만, 제어 영역(800)의 외부에 있는 것으로서 지정될 수도 있어서, 객체(302)가 웹 브라우저의 내비게이션 바(136) 위의 포지션으로 이동함에 응답하여 확대된 윈도우(142)는 사라진다. 응용 프로그램(예컨대, 워드 프로세싱 프로그램)의 임의의 유형의 메뉴 바 또는 컨트롤 페인이 제어 영역(800)의 외부에 있는 것으로 유사한 방식으로 지정될 수도 있어서, 객체(302)가 콘텐츠(138) 위에서 호버링될 때이지만, 그 객체가 실제 콘텐츠(138)를 렌더링하지 않는 디스플레이(132)의 다른 부분들 위에서 호버링하고 있지 않을 때 확대된 윈도우(142)는 렌더링된다. 객체(302)가 디스플레이(132) 자체의 경계 외부의 포지션으로 이동할 때, 확대된 윈도우(142)는 그 경우에 또한 사라질 수도 있도록 디스플레이(132)의 경계의 적어도 부분이 제어 영역(800)과 일치될 수도 있다는 것이 이해된다.
일부 실시형태들에서, 다른 기준들이 디스플레이(132) 상의 확대된 윈도우(142)를 선택적으로 렌더링하는데 이용될 수도 있다. 하나의 예시적인 기준은 객체(302)가 미리 결정된 속도 위로 디스플레이(132)의 전면(300)을 가로질러 이동(즉, 객체가 너무 빨리 이동)하는 것일 수도 있다. 이 기준은 도 5a 및 도 5b를 참조하여 미리 결정된 속도 아래로 객체(302)의 움직임을 기술하는 동안 암시되었다. 다시 말하면, 객체(302)가 디스플레이(132)의 전면(300)을 가로질러 호버링하는 상태로 미리 결정된 속도 아래로 이동할 때, 확대된 윈도우(142)는 객체(132)와 함께 디스플레이의 새로운 지역으로 이동할 수도 있지만, 객체가 미리 결정된 속도를 초과할 때, 확대된 윈도우(142)는 디스플레이(132)로부터 사라질 수도 있다. 확대된 윈도우(142)를 사라지게 하는 다른 예시적인 기준은, 확대된 윈도우(142)가 디스플레이되는 지역 외부에서 객체(302)가 디스플레이(132)의 전면(300)과 접촉하는 것일 수도 있다. 확대된 윈도우(142)를 사라지게 하기 위한 또 다른 예시적인 기준은, 객체(302)가 전면(300)으로부터 z- 방향으로 전면(300)부터 임계 거리를 넘어 z-방향으로 멀어지게 이동하는 것일 수도 있다. 어느 경우에나, 확대된 윈도우(142)가 디스플레이되는 사례와 그것이 아닌 사례가 있을 수도 있고, 위에서 설명된 기준들은 디스플레이로부터 객체(302)를 사라지게 하는 그들 사례들을 결정하는데 이용될 수도 있다.
도 9는 디스플레이(132) 상의 제어 영역(800)의 경계 근처의 포지션으로부터 경계에 더 가까운 포지션으로 이동하는 객체(302)를 보여주는 컴퓨팅 디바이스(102)의 정면도를 도시한다. 구체적으로, 호버 인터페이스 모듈(118)은 객체(302)가 전면(300) 위에서 호버링하고 있는 로케이션(304)을 결정할 수도 있고, 그 로케이션(304)이 제어 영역(800)의 경계로부터의 거리(p)라고 추가로 결정할 수도 있는데, 거리(p)는 제어 영역(800)의 경계로부터 임계 거리 내에 있다. 객체가, 도 9에 도시된 바와 같이, 로케이션(304)으로부터 제어 영역(800)의 경계에 더 가까이 이동한다는 결정 시, 호버 인터페이스 모듈(118)은 확대된 윈도우(142) 내에서 객체(302)의 움직임의 방향과는 반대 방향으로 콘텐츠를 패닝할 수도 있다. 이들 상황들에서의 확대된 윈도우(142) 내의 콘텐츠의 패닝은 확대된 윈도우(142) 자체를 디스플레이(132)의 새로운 지역으로 이동하는 것 대신 일어날 수도 있다. 이는 유리할 수도 있는데, 객체(302)가 로케이션(304)에 있을 때, 확대된 윈도우(142)의 측면 경계는 일부 사례들에서 디스플레이(132)의 경계와 일치할 수도 있는 제어 영역(800)의 경계와 실질적으로 접할 수도 있기 때문이다. 이 시나리오에서, 확대된 윈도우(142)를 제어 영역(800)의 경계 외부로 이동시키는 대신, 확대된 윈도우(142) 내의 콘텐츠는, 객체(302)가 로케이션(304) 위에서 호버링되었을 때, 확대된 윈도우 내에서 그렇지 않으면 가시적이 되지 않았던 콘텐츠(138)의 부분을 콘텐츠(138)의 가장자리에서 드러내도록 패닝될 수도 있다. 이런 방식으로, 사용자가 콘텐츠(138)의 외부 경계 근처에서 콘텐츠(138)의 부분들을 볼 수도 있다.
도 10a는 객체(302)가 확대된 윈도우(142)의 디스플레이를 초래하기 위해 이전에 호버링되었을 수도 있는 디스플레이(132) 상의 로케이션(304)에서 터치 기반 입력을 제공하는 객체(302)를 보여주는 컴퓨팅 디바이스(102)의 부분 정면도를 도시한다. 로케이션(304)에서 제공되는 터치 기반 입력은, 객체(302)가 로케이션(304)에서 디스플레이(132)의 전면(300)과 접촉하게 되는 접촉 기반 입력의 임의의 적합한 유형일 수도 있다. 확대된 윈도우(142)를 사라지게 하는 사용자의 의도를 나타내는 접촉과는 구별하기 위해, 호버 인터페이스 모듈(118)은 터치 기반 입력이 다중 접촉 형의 터치 기반 입력(예컨대, "더블-탭")으로서 제공되는지의 여부를 결정할 수도 있다. 이런 방식으로, 미리 결정된 시구간 내의 두 개의 연속하는 접촉들은 사용자가 로케이션(304)에 연관된 콘텐츠의 부분에 대해 줌하기 원하는 것을 호버 인터페이스 모듈(118)에게 나타낼 수도 있다.
도 10c는 디스플레이(132)의 전면(300) 상의 로케이션(304)에서의 터치 기반 입력의 수신 후의 도 10a 및 도 10b의 컴퓨팅 디바이스(102)의 부분 정면도를 도시한다. 주목할 만하게도, 디스플레이(132)는 로케이션(304) 주위로 렌더링되는 콘텐츠의 줌 인된 뷰; 이 경우, 객체(302)가 위에서 호버링하였던 기사를 도시한다. 이런 방식으로, 사용자가 콘텐츠 상에서 실제로 줌 인하는 일 없이 콘텐츠를 읽는 것을 위한 도움으로서 확대된 윈도우(142)를 사용하여 콘텐츠를 브라우징할 수도 있고, 그러면 사용자는 자신이 관심 있어 하는 콘텐츠(138)의 부분을 줌 인할 수도 있다.
도 11은 호버링 객체(302)에 응답하여 디스플레이 관련된 기능의 수행을 초래하기 위해 디스플레이(132) 상의 상호작용 엘리먼트(예컨대, 메뉴 텍스트로 읽는 "스포츠") 위에서 호버링하는 객체(302)를 보여주는 컴퓨팅 디바이스(102)의 부분 정면도를 도시한다. 구체적으로, 콘텐츠(138)의 부분들은 호버 이벤트들에 응답하도록 코딩될 수도 있다. 데스크탑 컴퓨터의 맥락에서, 호버 이벤트가 커서가 호버 기능으로 콘텐츠에서의 상호작용 엘리먼트 위에 배치되어 있을 시 일어날 수도 있다. 호버 가능 컴퓨팅 디바이스, 이를테면 컴퓨팅 디바이스(102)의 맥락에서, 객체들(302)로부터의 호버 이벤트들은 디스플레이 관련된 기능들이 디스플레이(132)의 전면(300) 위에서 호버링하는 객체(302)를 검출하는 것에 응답하여 수행되게 하기 위해 포인터 이벤트들에 링크될 수도 있다.
도 11은 "스포츠" 메뉴 텍스트 위의 검출된 호버링 객체(302)에 응답하여 수행되고 있는 다수의 디스플레이 관련된 기능들을 도시한다. 예를 들어, 호버 인터페이스 모듈(118)은 객체(302)가 "스포츠" 메뉴 텍스트 위에서 호버링하는 것으로서 현재 검출된다는 것을 사용자에게 표시하 위해 상호작용 텍스트로 읽는 "스포츠"의 디스플레이가 비-굵은 글꼴로부터 굵은 글꼴로 전환하게 할 수도 있다. 다른 디스플레이 관련된 기능들은 이를테면 추가적인 콘텐츠(1100); 이 경우, "스포츠" 범주에 대한 하위범주들의 드롭 다운 메뉴를 디스플레이하는 것으로서 또한 수행될 수도 있다.
도 11은 호버 인터페이스 모듈(118)이 브라우저 모듈(110)에 의해 수신되는 액션가능 콘텐츠에 대해 전체 마우스/포인터 지원을 제공할 수도 있는 방법을 예시한다. 다시 말하면, 웹 브라우저들과 다른 콘텐츠 렌더링 애플리케이션들은 호버 가능 디바이스, 이를테면 컴퓨팅 디바이스(102) 상에서 "데스크탑 패리티(desktop parity)"를 제공하는 방식으로 구현될 수도 있다. 예를 들어, 작은 폼 팩터 스마트 폰이 객체, 이를테면 객체(302)가 디스플레이(132)의 앞쪽에서 호버링할 때 렌더링된 콘텐츠로 호버 이벤트들(예컨대, W3C 포인터 이벤트들)을 가능하게 하기 위해 전체 마우스 지원을 제공할 수도 있다. 도 11의 구체적인 예에서, 객체(302)가 "스포츠" 메뉴 텍스트 위에서 호버링될 수도 있고, 메뉴 텍스트는 수정될(예컨대, 굵게, 강조표시 등이 될) 수도 있고 그리고/또는 추가적인 콘텐츠(예컨대, 하위범주 드롭 다운 메뉴)는 데스크탑 컴퓨터 상의 액션가능 콘텐츠 위에서 호버링하는 커서에 반응하는 방법과 유사하게 렌더링될 수도 있다. 이런 방식으로, 모든 포인터 이벤트들(예컨대, 마우스오버(mouseover) 등)은 다른 컴퓨팅 디바이스들(102) 상의 이러한 데스크탑 패리티를 가능하게 하기 위해 호버 이벤트들에 링크될 수도 있다. 이러한 링킹은 객체(302)로부터의 호버 상호작용들과 터치 기반 상호작용들 사이를 구별하는 능력으로 인해 호버 가능 디바이스들에서 가능하다.
추가의 예시를 위해, 표 1은 확대된 윈도우(142)가 현재 디스플레이되지 않을 때 호버 기반 입력 및 터치 기반 입력의 조합을 통해 디스플레이(132)와 상호작용하는 객체(302)에 응답하는 방법을 결정하기 위해 호버 인터페이스 모듈(118)에 의해 이용될 수도 있는 일차 "접촉" 로직의 예를 도시한다.
초기 상태 변경 반응
웹 브라우저 데스크탑 사이트 상의 접촉 없음 새로운 Contact1이 범위에서 일어난다 Contact1은 일차가 된다
Contact1은 일차이다 새로운 Contact2가 범위에서 일어난다 반응 없음
Contact1은 여전히 호버링하고 있고 Contact2는 터치한다 Contact2는 일차가 된다
Contact2는 범위 밖이고 Contact3가 입력된다 - Contact1은 일차가 되지 않지만 Contact3은 일차이다
- 일단 일차가 사라지면, 새로운 접촉이 범위에서 일어나기까지 일차는 없다
- 현존 접촉들은 결코 일차가 되지 않는다
- 일단 상태가 "접촉 없음"으로 복귀하면, 표는 다시 적용 가능하게 된다
덧붙여, 다음은 객체(302)와 디스플레이(132) 사이의 다양한 상호작용에 응답하여 호버 인터페이스 모듈(118)에 의해 추종될 수도 있는 시나리오들을 주문하는 예시적인 이벤트이다:
터치 다운: 디스플레이(132)의 전면(300) 상에서 렌더링된 엘리먼트에 대한 터치 다운은 WM_PointerDown 메시지의 히트 테스트되는 노드 상의 다음의 이벤트 시퀀스를 생성할 수도 있다: mousemove, pointerover, mouseover, mouseenter, pointerdown, mousedown.
리프팅 : 디스플레이(132)의 전면(300) 상에서 렌더링된 엘리먼트로부터의 리프팅 업은 WM_PointerUp 메시지의 히트 테스트되는 노드 상의 다음의 이벤트 시퀀스를 생성할 수도 있다: pointerup, mouseup, pointerout, mouseout, mouseleave.
접촉자 이동(객체 (302)는 비-접촉으로 남아 있음): 스크린 상에서 (터치 다운 후) 비-접촉 동안 접촉자를 이동시키는 것은 다음의 시퀀스를 생성할 수도 있다:
[pointerout, mouseout,] {mouseleave,}
pointermove, mousemove,
[pointerover, mouseover,] (mouseenter,)
여기서, [ ] 꺽쇠괄호들은 새로운 히트 테스트 결과가 이전의 히트 테스트 결과와 동일하지 않을 때 발생(fire)하는 이벤트들을 나타낸다. 이들 이벤트들은 이전의 히트 테스트 결과에서 발생된다. { } 꽃괄호들은 업데이트가 엘리먼트의 경계들 안에서/밖에서 전환될 때 발생하는 이벤트들을 나타낸다.
접촉자 이동 - 호버: 스크린(근접 장 입력 디바이스들/객체들)과 접촉되지 않고 좌표 업데이트들을 생성한다. 이벤트들의 시퀀스는 다음과 같다:
[pointerout, mouseout,] {mouseleave,}
pointerhover, mousemove,
[pointerover, mouseover,] (mouseenter,)
조작을 시작하게 하는 접촉자 이동: 직접 조작이 조작 목적으로 일차 접촉을 이어 받을 때(WM_POINTERCAPTURECHANGE 메시지에 의해 시그널링됨), 다음의 이벤트들은 디스패치될 수도 있다: pointerout, mouseout, mouseleave, pointercancel, mouseup. 여기서, "mouseup" 이벤트는 HTML 엘리먼트(윈도우)를 대상으로 한다.
예시적인 프로세스들
도 12, 도 13, 및 도 14는 하드웨어, 소프트웨어, 또는 그 조합으로 구현될 수 있는 동작들의 시퀀스를 나타내는 논리적 흐름도에서의 한 무더기의 블록들로서 프로세스들을 예시한다. 소프트웨어의 맥락에서, 그 블록들은, 하나 이상의 프로세서에 의해 실행될 때, 언급된 동작들을 수행하는 컴퓨터 실행가능 명령어들을 나타낸다. 일반적으로, 컴퓨터 실행가능 명령어들은 특정 기능들을 수행하거나 또는 특정 추상 데이터 타입들을 구현하는 루틴들, 프로그램들, 객체들(objects), 컴포넌트들, 데이터 구조들 등을 포함한다. 동작들이 설명되는 순서는 제한하는 것으로서 해석되도록 의도되지 않았고, 임의의 수의 설명된 블록들은 이 프로세스들을 구현하기 위해 임의의 순서로 그리고/또는 병렬로 조합될 수 있다.
도 12는 호버링 객체(302)를 검출하고, 응답하여, 확대된 윈도우(142)와 그 속의 액션가능 콘텐츠를 디스플레이하는 구체적인 프로세스(1200)의 흐름도이다. 논의 목적을 위해, 프로세스(1200)는 도 1의 컴퓨팅 시스템 환경(100)과, 특히 브라우저 모듈(110), 호버 인터페이스 모듈(118), 근접 센서(들)(128), 및 디스플레이(들)(132)를 참조하여 설명된다.
1202에서, 브라우저 모듈(110)은 컴퓨팅 디바이스(102)의 디스플레이(132) 상에 콘텐츠(138)를 렌더링할 수도 있다. 위에서 설명된 바와 같이, 콘텐츠(138)의 적어도 일부가 사용자 입력에 응답함으로써 액션 가능할 수도 있다. 예를 들면, 1202에서 디스플레이(132) 상에서 렌더링되는 콘텐츠(138)는, 사용자 입력에 응답하여, 내비게이션 기능의 수행(예컨대, 링크의 선택 시 상이한 웹 페이지로 브라우저를 내비게이션하는 것), 디스플레이 관련된 기능(예컨대, 콘텐츠(138)의 디스플레이를 수정하는 것, 추가적인 콘텐츠를 디스플레이하는 것 등) 등을 초래할 수도 있는 상호작용 텍스트(예컨대, 선택가능 텍스트), 링크들(예컨대, 하이퍼링크들), 소프트 버튼들(예컨대, 비디오/오디오 재생 버튼들) 등의 일부 또는 전부를 비제한적으로 포함하는 웹 페이지 콘텐츠를 포함할 수도 있다.
1204에서, 근접 센서(들)(128)는 디스플레이(132)의 앞쪽에서 호버링하는 객체(302)를 검출할 수도 있다. 다시 말하면, 객체(302)는 근접 센서(들)(128)가 객체(302)를 검출할 수도 있도록 디스플레이(132)의 전면(300)으로부터의 어떤 거리에서 전면(300)의 앞쪽에 있지만 그 전면과 접촉하지 않을 수도 있다. 하나의 구체적인 예에서, 근접 센서(들)(128)는 디스플레이(132) 내에 또는 뒤에 임베딩된 용량성 센서 어레이를 포함하고, 용량성 센서 어레이의 신호 강도는 전면(300)에 근접하여(예컨대, 약 0.001 인치 내지 약 8 인치의 범위 내에서) 객체들(302)을 검출하는데 충분할 수도 있다.
1206에서, 호버 인터페이스 모듈(118)은 디스플레이(132)의 전면(300)을 기준으로 객체의 포지션에 대응하는 디스플레이(132)의 전면(300) 상의 로케이션(304)을 결정할 수도 있다. 일부 실시형태들에서, 호버 인터페이스 모듈(118)은 근접 센서(들)(128)로부터 획득된 데이터로부터의 로케이션(304)(예컨대, 근접 센서(들)(128)의 특정 전극의 포지션)을 수신할 수도 있다. 다른 실시형태들에서, 호버 인터페이스 모듈(118)은 근접 센서(들)(128)에 의해 검출된 객체(132)의 포지션에 대응하는 화소 로케이션(들)을 획득하기 위해 프로그램 데이터(112)에 액세스할 수도 있다. 어느 경우에나, 로케이션(304)은 객체(302)로부터 디스플레이(132)의 전면(300) 상의 다른 로케이션들까지의 거리들에 비하여 객체(302)로부터 최단 거리 이격될 수도 있다. 이런 방식으로, 객체의 포지션은 객체(302)로부터 디스플레이(132)의 전면(300)으로의 전면(300)에 수직인 방향에 기초하여 로케이션(304)에 대해 해석될 수도 있다.
일부 실시형태들에서, 호버 인터페이스 모듈(118)은, 제어 영역(800) 외부의 객체들(302)에 응답하지 않지만 제어 영역(800) 내의 호버링하는 객체들(302)에 선택적으로 응답하기 위해서, 로케이션(304)이 브라우저의 제어 영역(800) 내에 있는지의 여부를 결정할 수도 있다. 예를 들어, 디스플레이(132) 상에서 렌더링되는 웹 브라우저의 내비게이션 바 위에서 호버링하는 객체(302)가 제어 영역(800) 외부에 위치된 것으로 결정될 수도 있다. 일부 실시형태들에서, 호버 인터페이스 모듈(118)은 호버 상태에 있을 때 입력 제스처가 객체(302)로부터 수신되는지의 여부를 결정할 수도 있다. 예를 들어, 객체(302)가 미리 결정된 시구간(예컨대, 50 밀리초들) 동안 로케이션(304) 주위의 영역(306)에 남아 있다면, 입력 제스처가 객체(302)에 의해 제공되었다고 결정될 수도 있다.
1208에서, 호버 인터페이스 모듈(118)은 로케이션(304)에서 또는 로케이션(304)으로부터 임계 거리(h) 내에서 렌더링되는 콘텐츠(138)의 부분(306)을 결정할 수도 있다. 그 부분(306)은 컴퓨팅 디바이스(102)의 사용자에 대한 부분(306)의 가독성을 용이하게 하기 위해 확대된 윈도우(142) 내에 디스플레되는 것이다. 이와 같이, 부분(306)은 그것이 로케이션(304)에 상대적으로 아주 가까이 있는 콘텐츠(138)의 부분이라는 점에서 로케이션(304)에 대응하는 것이다. 이런 의미에서, 1208에서 결정되는/선택되는 콘텐츠(308)의 부분(306)은 객체(304) 바로 아래에(즉, 로케이션(304)에), 또는 로케이션(304)으로부터 적어도 임계 거리(h) 내에 (예컨대, 도 3c에 도시된 바와 같이, 객체(302) 바로 상측에) 있을 수도 있다.
1210에서, 호버 인터페이스 모듈(118)은 콘텐츠의 부분(306)을 포함하는 디스플레이의 지역에 확대된 윈도우(142)를 디스플레이할 수도 있다. 확대된 윈도우(142) 내에서 렌더링되는 부분(306)은 액션가능 형태로 렌더링될 수도 있다(즉, 확대된 윈도우(142) 내의 부분(306)은 확대된 윈도우(142) 내에 사용자 입력이 제공될 때 사용자 입력에 응답함으로써 액션 가능할 수도 있다). 프로세스(1200)는, 특히 콘텐츠(138)가 풍부하고 밀집한 상황들에서, 디스플레이(132) 상의 렌더링된 콘텐츠(138)의 편리한 브라우징을 용이하게 하여, 가독성 및 선택능력을 일부 디스플레이들(132) 상의 이슈가 되게 한다.
추가의 예시를 위해, 표 2는 호버 기반 입력 및 터치 기반 입력의 조합을 통해 디스플레이(132)와 상호작용하는 객체(302)에 응답하는 방법을 결정하기 위해 호버 인터페이스 모듈(118)에 의해 이용될 수도 있는 호버 상호작용 로직을 도시한다.
초기 상태 변경 반응
디폴트 값으로 줌된 웹 브라우저 데스크탑 사이트 상의 접촉 없음 새로운 접촉이 범위에서 일어난다 Contact1은 확대된 윈도우(디스플레이 확대된 윈도우)를 얻는다
Contact1은 확대된 윈도우와 함께 호버링하고 있고 사용자는 페이지의 관심 영역을 찾는다 Contact1은 단일 탭 - 콘텐츠가 액션 가능하다면, 브라우저는 액션을 취하며;
- 액션이 없다면, 확대된 윈도우는 제거/숨김되고 모든 일반 브라우저 기능들은, 디바이스가 호버 가능이 아닌 것처럼 재개되며
Contact1은 확대된 윈도우로 호버링하고 있고 사용자는 페이지의 관심 영역을 찾는다 Contact1은 이중 탭 페이지는 그 영역에서 그 영역이 터치 스크린 디바이스 상에서 핀칭되고 줌되었던 것처럼 줌된다
Contact1은 확대된 윈도우로 호버링하고 있다 새로운 Contact2가 범위에서 일어난다 반응 없음
Contact1은 여전히 호버링하고 있고 Contact2는 터치한다 반응 없음
Contact2는 범위 밖이고 Contact3가 입력된다 반응 없음
Contact1은 확대된 윈도우로 호버링하고 있다 Contact1은 중단된다 확대된 윈도우를 숨긴다
도 13은 호버링 객체(302)의 움직임을 검출하고, 응답하여, 호버링 객체(302)와 함께 디스플레이(132) 상에서 확대된 윈도우(142)를 이동시키는 구체적인 프로세스(1300)의 흐름도이다. 논의 목적을 위해, 프로세스(1300)는 도 1의 컴퓨팅 시스템 환경(100)과, 특히 호버 인터페이스 모듈(118), 근접 센서(들)(128), 및 디스플레이(들)(132)를 참조하여 설명된다. 프로세스(1300)는 도 12의 프로세스(1200)의 단계 1210에서 계속할 수도 있다.
1302에서, 호버 인터페이스 모듈(118)은 객체(302)가 디스플레이(132)의 전면(300)과 이격된 관계를 유지하면서 디스플레이(132)의 전면(300)을 가로질러 미리 결정된 속도 아래로 이동하였다고 결정할 수도 있다. 전면(300)을 가로질러 호버링 방식으로 너무 빠르게(예컨대, 미리 결정된 속도로 또는 미리 결정된 속도 위로) 이동하는 객체(302)가 이전에 디스플레이된 확대된 윈도우(142)를 디스플레이(132)로부터 사라지게 할 수도 있도록 미리 결정된 속도는 설정될 수도 있다. 객체(302)가 디스플레이(132)의 전면(300)을 가로질러 이동하고 있다는 것을 결정하기 위하여, 호버 인터페이스 모듈(118)은 객체(302)에 대응하는 검출된 로케이션들을 나타내는 근접 센서(들)(128)로부터의 데이터를 활용/그 데이터에 액세스할 수도 있고, 전면(300)을 가로질러 객체의 움직임의 속도를 결정하기 위해 클록 또는 유사한 타이머를 추가로 참조할 수도 있다.
1304에서, 호버 인터페이스 모듈(118)은 1302에서의 검출된 객체 움직임에 응답하여 디스플레이(132)의 다른 지역에 (디스플레이(132)의 제 1 지역에서 이전에 렌더링된) 확대된 윈도우(142)를 디스플레이할 수도 있다. 이는 확대된 윈도우(142)가 객체(302)의 움직임과 함께 이동하고 있는 것처럼 사용자의 육안에 보이게 하는 시간 간격들로 수행될 수도 있다. 객체(302)의 각각의 새로운 로케이션은 1304에서 디스플레이(132)의 새로운 지역으로의 확대된 윈도우(142)의 움직임을 초래할 수도 있다. 프로세스(1300)는 렌더링된 콘텐츠(138)의 상이한 부분들을 브라우징하기 위해 디스플레이(132)의 전면(300) 위에서 이격된 관계로 사용자가 객체(302)를 드래그/이동하는 것을 허용할 수도 있다.
도 14는 디스플레이(132)의 전면(300)에 수직인 방향으로의 객체(302)의 움직임에 응답하여 확대된 윈도우(142) 내에서 콘텐츠의 확대 레벨을 변경하는 구체적인 프로세스(1400)의 흐름도이다. 논의 목적을 위해, 프로세스(1400)는 도 1의 컴퓨팅 시스템 환경(100)과, 특히 호버 인터페이스 모듈(118), 근접 센서(들)(128), 및 디스플레이(들)(132)를 참조하여 설명된다.
1402에서, 근접 센서(들)(128)는 콘텐츠(138)를 렌더링하고 있는 디스플레이(132)의 앞쪽에서 호버링하는 객체(302)를 검출할 수도 있다. 다시 말하면, 객체(302)는 근접 센서(들)(128)가 객체(302)를 검출할 수도 있도록 디스플레이(132)의 전면(300)으로부터의 어떤 거리에서 전면(300)의 앞쪽에 있지만 그 전면과 접촉하지 않을 수도 있다.
1404에서, 호버 인터페이스 모듈(118)은 1402에서 검출된 객체(302)의 포지션에 대응하는 액션가능 형태로 콘텐츠(138)의 부분(306)을 포함하는 디스플레이의 지역에 확대된 윈도우(142)를 디스플레이할 수도 있다.
1406에서, 호버 인터페이스 모듈(118)은 (근접 센서(들)(128)로부터 수신된 데이터에 기초하여) 객체(302)가 디스플레이(132)의 전면(300)으로부터 전면(300)에 수직인 방향(즉, 도 3b에 도시된 z-방향)으로 멀어지게 이동하였다고 결정할 수도 있다.
1408에서, 호버 인터페이스 모듈(118)은, 객체(302)가 전면(300)으로부터 멀어지게 이동할 때 확대된 윈도우(142) 내에서 콘텐츠(138)를 더 많이 드러내기 위해 확대된 윈도우(142)가 줌 아웃되도록 확대된 윈도우(142) 내에서 콘텐츠(138)의 부분(306)의 확대 레벨을 감소시킬 수도 있다.
1410에서 호버 인터페이스 모듈(118)은 (근접 센서(들)(128)로부터 수신된 데이터에 기초하여) 객체(302)가 디스플레이(132)의 전면(300)에 수직인 방향(즉, 도 3b에 도시된 z-방향)에서 그 전면(300)에 더 가깝게 이동하였다고 결정할 수도 있다.
1412에서, 호버 인터페이스 모듈(118)은, 객체(302)가 전면(300)에 더 가깝게 이동할 때 확대된 윈도우(142) 내에서 콘텐츠(138)를 더 적게 드러내기 위해 확대된 윈도우(142)가 줌 인되도록 확대된 윈도우(142) 내에서 콘텐츠(138)의 부분(306)의 확대 레벨을 증가시킬 수도 있다.
본 명세서에서 설명되는 환경 및 개개의 엘리먼트는 많은 다른 논리적, 프로그램적, 및 물리적 컴포넌트들을 물론 포함할 수도 있으며, 그것들 중 첨부 도면들에서 도시된 것들은 본 명세서에서의 논의에 관련되는 단지 예들이다.
다른 아키텍처들이 설명된 기능을 구현하는데 사용될 수도 있고, 본 개시물의 범위 내에 있는 것으로 의도된다. 더욱이, 비록 특정 책임 분배들이 논의 목적으로 위에서 정의되지만, 다양한 기능들 및 책임들이 상황에 따라 달라지는, 상이한 방식들로 배포되고 나누어질 것이다.
예 1: 디스플레이 상에 콘텐츠(예컨대, 웹 콘텐츠, 문서 콘텐츠, 애플리케이션 콘텐츠 등)를 렌더링하는 단계; 디스플레이의 전면의 앞쪽에 있지만 그 전면과 접촉하지 않는 객체(예컨대, 손가락, 손, 펜, 스타일러스, 원드 등)를 검출하는 단계; 객체를 검출하는 것에 적어도 부분적으로 응답하여, 객체로부터 디스플레이의 전면 상의 다른 로케이션들까지의 거리들에 비하여 객체로부터 최단 거리 이격되는 디스플레이의 전면 상의 로케이션을 결정하는 단계; 그 로케이션에서 또는 그 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 부분을 결정하는 단계; 및 디스플레이의 지역에, 콘텐츠의 부분의 확대된 윈도우를 디스플레이하는 단계를 포함하는, 방법.
예 2: 예 1에 있어서, 콘텐츠의 부분은 임베디드 링크, 비디오 재생 버튼, 또는 오디오 재생 버튼 중 적어도 하나를 포함하는 하나 이상의 상호작용 엘리먼트를 포함하고, 하나 이상의 상호작용 엘리먼트 중 개개의 상호작용 엘리먼트는 사용자 입력(예컨대, 터치 기반 입력, 호버 기반 입력 등)이 확대된 윈도우 내에 제공될 때 그 사용자 입력에 응답하도록 구성되는, 방법.
예 3: 예 1 또는 예 2에 있어서, 사용자 입력은 확대된 윈도우 내에서 하나 이상의 상호작용 엘리먼트 중 개개의 상호작용 엘리먼트 상의 디스플레이의 전면과 접촉하는 객체를 포함하는, 방법.
예 4: 예 1 내지 예 3 중 어느 한 예에 있어서, 확대된 윈도우는 콘텐츠의 부분을 렌더링하는 브라우저 윈도우를 포함하는, 방법.
예 5: 예 1 내지 예 4 중 어느 한 예에 있어서, 디스플레이의 전면의 앞쪽에 있지만 그 전면과 접촉하지 않는 객체를 검출하는 단계는, 객체로부터의 입력 제스처(예컨대, 객체가 미리 결정된 시구간 동안 로케이션 주위에서 호버링하는 것, 객체에 의해 생성된 심볼/부호, 스위핑 또는 움직임 기반 제스처 등)를 결정하는 단계를 포함하는, 방법.
예 6: 예 1 내지 예 5 중 어느 한 예에 있어서, 입력 제스처는 전면에 수직인 방향으로 측정되는 전면으로부터의 임계 거리 내에 있는 제 1 포지션에 객체가 있다는 것을 검출하는 것; 및 객체가 미리 결정된 시구간 동안 제 1 포지션의 미리 결정된 영역 - 미리 결정된 영역은 디스플레이의 전면에 평행함 - 내에 있다고 결정하는 것에 의해 결정되는, 방법.
예 7: 예 1 내지 예 6 중 어느 한 예에 있어서, 디스플레이의 전면은 상단 부분, 하단 부분, 좌측, 및 우측을 포함하고, 양의 수직 방향은 상단 부분을 향하며, 지역은 양의 수직 방향으로 로케이션으로부터 미리 결정된 거리에 있는 하단 경계를 포함하는, 방법.
예 8: 예 1 내지 예 7 중 어느 한 예에 있어서, 전면에 수직인 방향으로 디스플레이의 전면으로부터 멀어지게 객체가 이동하였다고 결정하는 단계; 및 전면으로부터 멀어지게 객체가 이동하였다고 결정하는 단계에 응답하여, 확대된 윈도우 내에서 콘텐츠의 부분의 확대 레벨을 감소시키는 단계를 더 포함하는, 방법.
예 9: 예 1 내지 예 8 중 어느 한 예에 있어서, 지역은 디스플레이의 폭의 약 75%보다 크지 않은 폭을 갖는, 방법.
예 10: 예 1 내지 예 9 중 어느 한 예에 있어서, 로케이션은 제 1 로케이션이며, 그 방법은, 디스플레이의 전면과의 이격된 관계를 유지하면서 디스플레이의 전면을 가로질러 미리 결정된 속도 아래로 객체가 이동하였다고 결정하는 단계; 및 객체가 이동하였다고 결정하는 단계에 응답하여, 확대된 윈도우를 디스플레이의 전면을 가로질러 디스플레이의 다른 지역으로 객체와 함께 이동 - 이동 후의 확대된 윈도우는 디스플레이의 전면을 가로질러 이동한 후의 객체의 포지션에 대응하는 디스플레이의 전면 상의 새로운 로케이션에서, 또는 새로운 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 다른 부분을 포함함 - 시키는 단계를 더 포함하는, 방법.
예 11: 예 1 내지 예 10 중 어느 한 예에 있어서, (i) 객체가 디스플레이의 제어 영역(예컨대, 브라우저 제어 영역) 외부로 이동한다고 결정하는 것, (ii) 객체가 미리 결정된 속도 위로 디스플레이의 전면을 가로질러 이동한다고 결정하는 것, (iii) 객체가 지역 외부에서 디스플레이의 전면과 접촉한다고 결정하는 것, 또는 (iv) 객체가 디스플레이의 전면에 수직인 방향으로 방향을 따라 측정된 디스플레이의 전면으로부터의 임계 거리를 넘어서 디스플레이의 전면으로부터 멀어지게 이동하였다고 결정하는 것 중 적어도 하나에 응답하여 확대된 뷰가 디스플레이로부터 사라지게 하는 단계를 더 포함하는, 방법.
예 12: 예 1 내지 예 11 중 어느 한 예에 있어서, 로케이션이 디스플레이의 제어 영역(예컨대, 브라우저 제어 영역)의 경계로부터 임계 거리 내에 있다고 결정하는 단계; 디스플레이의 전면과의 이격된 관계를 유지하면서 디스플레이의 전면을 가로질러 로케이션으로부터 제어 영역의 경계까지의 거리에 비하여 제어 영역의 경계로부터 더 가까운 새로운 로케이션으로 객체가 이동하였다고 결정하는 단계; 및 새로운 로케이션으로 객체가 이동하였다고 결정하는 단계에 응답하여, 확대된 윈도우 내에서 콘텐츠의 부분을 패닝하여 콘텐츠의 부분으로부터 제어 영역의 경계까지의 거리에 비하여 제어 영역의 경계에 더 가까이에서 렌더링되는 콘텐츠의 다른 부분을 드러내는 단계를 더 포함하는, 방법.
예 13: 예 1 내지 예 12 중 어느 한 예에 있어서, 로케이션에서 디스플레이의 전면 상의 객체로부터의 제 1 접촉과 로케이션에서 디스플레이의 전면 상의 객체로부터의 제 2 접촉 - 제 2 접촉은 제 1 접촉을 검출하는 것으로부터 임계 시구간 내에 검출됨 - 을 검출하는 단계; 및 제 1 접촉과 제 2 접촉을 검출하는 단계에 응답하여, 디스플레이 상에서, 로케이션 주위에서 콘텐츠의 줌 인된 뷰를 렌더링하는 단계를 더 포함하는, 방법.
예 14: 콘텐츠(예컨대, 웹 콘텐츠, 문서 콘텐츠, 애플리케이션 콘텐츠 등)를 디스플레이하도록 구성되는 디스플레이; 디스플레이의 전면의 앞쪽에 있지만 전면과 접촉하지 않는 객체(예컨대, 손가락, 손, 펜, 스타일러스, 원드 등)를 검출하도록 구성되는 하나 이상의 센서(예컨대, 근접 센서(들)); 하나 이상의 프로세서; 및 하나 이상의 프로세서에 의해 실행될 때, 하나 이상의 프로세서가 액트들을 수행하게 하는, 컴퓨터 실행가능 명령어들을 저장하는 메모리를 포함하며, 상기 액트들은 디스플레이의 전면의 앞쪽에 있지만 전면과 접촉하지 않는 객체를 검출하는 것에 적어도 부분적으로 응답하여, 객체로부터 디스플레이의 상기 전면 상의 다른 로케이션들까지의 거리들에 비하여 객체로부터 최단 거리 이격되는 디스플레이의 전면 상의 로케이션을 결정하는 액트; 그 로케이션에서 또는 그 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 부분을 결정하는 액트; 및 디스플레이의 지역에서, 콘텐츠의 부분의 확대된 윈도우의 프레젠테이션을 유발하는 액트를 포함하는, 시스템.
예 15: 예 14에 있어서, 콘텐츠의 부분은 임베디드 링크, 비디오 재생 버튼, 또는 오디오 재생 버튼 중 적어도 하나를 포함하는 하나 이상의 상호작용 엘리먼트를 포함하고, 하나 이상의 상호작용 엘리먼트 중 개개의 상호작용 엘리먼트는 사용자 입력(예컨대, 터치 기반 입력, 호버 기반 입력 등)이 확대된 윈도우 내에 제공될 때 그 사용자 입력에 응답하도록 구성되는, 시스템.
예 16: 예 14 또는 예 15에 있어서, 사용자 입력은 확대된 윈도우 내에서 하나 이상의 상호작용 엘리먼트 중 개개의 상호작용 엘리먼트 상의 디스플레이의 전면과 접촉하는 객체를 포함하는, 시스템.
예 17: 예 14 내지 예 16 중 어느 한 예에 있어서, 확대된 윈도우는 콘텐츠의 부분을 렌더링하는 브라우저 윈도우를 포함하는, 시스템.
예 18: 예 14 내지 예 17 중 어느 한 예에 있어서, 하나 이상의 센서는 또한, 디스플레이의 전면에 수직인 방향으로 디스플레이의 전면과 객체 사이의 거리를 결정하도록 구성되며, 액트들은 또한, 그 방향으로 전면으로부터 멀어지게 객체가 이동하였다고 결정하는 액트; 및 전면으로부터 멀어지게 객체가 이동하였다고 결정하는 액트에 응답하여, 확대된 윈도우 내에서 콘텐츠의 부분의 확대 레벨을 감소시키는 액트를 포함하는, 시스템.
예 19: 예 14 내지 예 18 중 어느 한 예에 있어서, 로케이션은 제 1 로케이션이며, 그 액트들은, 디스플레이의 전면과의 이격된 관계를 유지하면서 디스플레이의 전면을 가로질러 미리 결정된 속도 아래로 객체가 이동하였다고 결정하는 액트; 및 객체가 이동하였다고 결정하는 액트에 응답하여, 확대된 윈도우를 디스플레이의 전면을 가로질러 디스플레이의 다른 지역으로 객체와 함께 이동 - 이동 후의 확대된 윈도우는 디스플레이의 전면을 가로질러 이동한 후의 객체의 포지션에 대응하는 디스플레이의 전면 상의 새로운 로케이션에서, 또는 새로운 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 다른 부분을 포함함 - 시키는 액트를 더 포함하는, 시스템.
예 20: 컴퓨팅 디바이스가 액트들을 수행하게 하는 컴퓨팅 디바이스의 하나 이상의 프로세서에 의해 실행 가능한 복수의 프로그래밍 명령어들을 저장하는 메모리를 포함하는 하나 이상의 컴퓨터 판독가능 저장 매체로서, 상기 액트들은, 디스플레이 상에 콘텐츠(예컨대, 웹 콘텐츠, 문서 콘텐츠, 애플리케이션 콘텐츠 등)를 렌더링하는 액트; 디스플레이의 전면의 앞쪽에 있지만 전면과 접촉하지 않는 객체(예컨대, 손가락, 손, 펜, 스타일러스, 원드 등)로부터 입력 제스처(예컨대, 객체가 미리 결정된 시구간 동안 로케이션 주위에서 호버링하는 것, 객체에 의해 생성된 심볼/부호, 스위핑 또는 움직임 기반 제스처 등)를 검출하는 액트; 객체를 검출하는 액트에 적어도 부분적으로 응답하여, 객체로부터 디스플레이의 전면 상의 다른 로케이션들까지의 거리들에 비하여 객체로부터 최단 거리 이격되는 디스플레이의 전면 상의 로케이션을 결정하는 액트; 그 로케이션에서 또는 그 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 부분을 결정하는 액트; 및 디스플레이의 지역에서, 콘텐츠의 부분의 확대된 윈도우를 디스플레이하는 액트를 포함하는, 컴퓨터 판독가능 저장 매체.
예 21: 콘텐츠(예컨대, 웹 콘텐츠, 문서 콘텐츠, 애플리케이션 콘텐츠 등)를 디스플레이하는 수단; 디스플레이하는 수단의 전면의 앞쪽에서 전면과 접촉하지 않고 객체(예컨대, 손가락, 손, 펜, 스타일러스, 원드 등)를 검출하는 하나 이상의 수단(예컨대, 근접 센서(들)); 예를 들어, 중앙 프로세싱 유닛들(CPU들), 시스템 온 칩(system on chip, SoC) 등)과 같은 하드웨어 프로세서(들)를 포함하는, 컴퓨터 실행가능 명령어들(예컨대, 프로세서(들)을 실행하는 하나 이상의 수단; 및 컴퓨터 실행가능 명령어들을 실행하는 하나 이상의 수단에 의해 실행될 때, 컴퓨터 실행가능 명령어들을 실행하기 위한 하나 이상의 수단이 액트들을 수행하게 하는 컴퓨터 실행가능 명령어들을 저장하는 수단(예컨대, 메모리, 컴퓨터 판독가능 스토리지 매체들 이를테면 RAM, ROM, EEPROM, 플래시 메모리 등)을 포함하며, 그 액트들은, 디스플레이하는 수단의 전면의 앞쪽에 있지만 전면과 접촉하지 않는 객체를 검출하는 것에 적어도 부분적으로 응답하여, 객체로부터 디스플레이하는 수단의 전면 상의 다른 로케이션들까지의 거리들에 비하여 객체로부터 최단 거리 이격되는 디스플레이하는 수단의 전면 상의 로케이션을 결정하는 액트; 로케이션에서 또는 로케이션으로부터 임계 거리 내에서 렌더링되는 콘텐츠의 부분을 결정하는 액트; 및 디스플레이하는 수단의 지역에서, 콘텐츠의 부분의 확대된 윈도우의 프레젠테이션을 유발하는 액트를 포함하는, 시스템.
예 22: 예 21에 있어서, 객체를 검출하는 하나 이상의 수단은 또한, 디스플레이하는 수단의 전면과 디스플레이하는 수단의 전면에 수직인 방향으로의 객체 사이의 거리를 결정하도록 추가로 구성되며, 그 액트들은 또한, 그 방향으로 전면으로부터 멀어지게 객체가 이동하였다고 결정하는 액트; 및 전면으로부터 멀어지게 객체가 이동하였다고 결정하는 액트에 응답하여, 확대된 윈도우 내에서 콘텐츠의 부분의 확대 레벨을 감소시키는 액트를 포함하는, 시스템.
결론
마지막으로, 비록 다양한 실시형태들이 구조적 특징들 및/또는 방법론적 액트들에 특정된 언어표현으로 설명되어있지만, 첨부의 표현들에서 정의되는 요지는 설명된 특정 특징들 및 액트들로 제한될 필요는 없다는 것이 이해된다. 오히려, 특정된 특징들 및 액트들은 청구되는 요지를 구현하는 예시적인 형태들로서 개시된다.

Claims (15)

  1. 방법에 있어서,
    디스플레이 상에서 콘텐츠를 렌더링하는 단계;
    상기 디스플레이의 전면(front surface)의 앞쪽에 있지만 상기 전면과 접촉하지 않는 객체(object)를 검출하는 단계;
    상기 객체를 검출하는 단계에 적어도 부분적으로 응답하여, 상기 객체로부터 상기 디스플레이의 전면 상의 다른 로케이션들까지의 거리들에 비하여 상기 객체로부터 최단 거리 이격되는 상기 디스플레이의 전면 상의 로케이션을 결정하는 단계;
    상기 로케이션에서 또는 상기 로케이션으로부터 임계 거리 내에서 렌더링되는 상기 콘텐츠의 부분을 결정하는 단계; 및
    상기 디스플레이의 지역(region) 내에, 상기 콘텐츠의 부분의 확대된 윈도우를 디스플레이하는 단계를 포함하는, 윈도우 디스플레이 방법.
  2. 제 1 항에 있어서,
    상기 콘텐츠의 부분은 임베디드 링크(embedded link), 비디오 재생 버튼, 또는 오디오 재생 버튼 중 적어도 하나를 포함하는 하나 이상의 상호작용 엘리먼트를을 포함하고, 상기 하나 이상의 상호작용 엘리먼트 중 개개의 상호작용 엘리먼트는 상기 확대된 윈도우 내에 사용자 입력이 제공될 때 상기 사용자 입력에 응답하도록 구성되는 것인, 윈도우 디스플레이 방법.
  3. 제 2 항에 있어서,
    상기 사용자 입력은, 상기 확대된 윈도우 내에서 상기 하나 이상의 상호작용 엘리먼트 중 상기 개개의 상호작용 엘리먼트 상의 디스플레이의 전면과 접촉하는 객체를 포함하는 것인, 윈도우 디스플레이 방법.
  4. 제 1 항에 있어서,
    상기 확대된 윈도우는, 상기 콘텐츠의 부분을 렌더링하는 브라우저 윈도우를 포함하는 것인, 윈도우 디스플레이 방법.
  5. 제 1 항에 있어서,
    상기 디스플레이의 전면의 앞쪽에 있지만 상기 전면과 접촉하지 않는 상기 객체를 검출하는 단계는, 상기 객체로부터의 입력 제스처를 결정하는 단계를 포함하는 것인, 윈도우 디스플레이 방법.
  6. 제 5 항에 있어서,
    상기 입력 제스처는,
    상기 객체가 상기 전면에 수직인 방향으로 측정되는 상기 전면으로부터의 임계 거리 내에 있는 제 1 포지션에 있다는 것을 검출하고;
    상기 객체가 미리 결정된 시구간(period of time) 동안 상기 제 1 포지션의 미리 결정된 영역(area) - 상기 미리 결정된 영역은 상기 디스플레이의 전면에 평행함 - 내에 있다고 결정함으로써 결정되는 것인, 윈도우 디스플레이 방법.
  7. 제 1 항에 있어서,
    상기 디스플레이의 전면은 상단 부분, 하단 부분, 좌측, 및 우측을 포함하고, 양의 수직 방향은 상기 상단 부분을 향하며, 상기 지역은 상기 양의 수직 방향으로 상기 로케이션으로부터 미리 결정된 거리에 있는 하단 경계를 포함하는 것인, 윈도우 디스플레이 방법.
  8. 제 1 항에 있어서,
    상기 객체가 상기 전면에 수직인 방향으로 상기 디스플레이의 전면으로부터 멀어지게 이동하였다고 결정하는 단계; 및
    상기 객체가 상기 전면으로부터 멀어지게 이동하였다고 결정하는 단계에 응답하여, 상기 확대된 윈도우 내에서 상기 콘텐츠의 부분의 확대 레벨을 감소시키는 단계를 더 포함하는, 윈도우 디스플레이 방법.
  9. 제 1 항에 있어서,
    상기 지역은 상기 디스플레이의 폭의 약 75%보다 크지 않은 폭을 갖는 것인, 윈도우 디스플레이 방법.
  10. 제 1 항에 있어서,
    상기 로케이션은 제 1 로케이션이고, 상기 방법은,
    상기 객체가 상기 디스플레이의 전면과의 이격된 관계를 유지하면서 상기 디스플레이의 전면을 가로질러 미리 결정된 속도 아래로 이동하였다고 결정하는 단계; 및
    상기 객체가 이동하였다고 결정하는 단계에 응답하여, 상기 확대된 윈도우를 상기 디스플레이의 전면을 가로질러 상기 디스플레이의 다른 지역으로 상기 객체와 함께 이동 - 상기 이동 후의 상기 확대된 윈도우는 상기 디스플레이의 전면을 가로질러 이동한 후의 상기 객체의 포지션에 대응하는 상기 디스플레이의 전면 상의 새로운 로케이션에서, 또는 상기 새로운 로케이션으로부터 임계 거리 내에서 렌더링되는 상기 콘텐츠의 다른 부분을 포함함 - 시키는 단계를 더 포함하는 것인, 윈도우 디스플레이 방법.
  11. 제 1 항에 있어서,
    (i) 상기 객체가 상기 디스플레이의 제어 영역의 외부(outside)로 이동한다고 결정하는 것, (ii) 상기 객체가 미리 결정된 속도 위로 상기 디스플레이의 전면을 가로질러 이동한다고 결정하는 것, (iii) 상기 객체가 상기 지역 외부에서 상기 디스플레이의 전면과 접촉한다고 결정하는 것, 또는 (iv) 상기 객체가 상기 디스플레이의 전면에 수직인 방향으로, 상기 방향을 따라 측정된 상기 디스플레이의 전면으로부터의 임계 거리를 넘어서 상기 디스플레이의 전면으로부터 멀어지게 이동하였다고 결정하는 것 중 적어도 하나에 응답하여, 상기 확대된 뷰가 상기 디스플레이로부터 사라지게 하는 단계를 더 포함하는, 윈도우 디스플레이 방법.
  12. 제 1 항에 있어서,
    상기 로케이션이 상기 디스플레이의 제어 영역의 경계로부터 임계 거리 내에 있다고 결정하는 단계;
    상기 객체가 상기 로케이션으로부터 상기 제어 영역의 경계까지의 거리에 비하여 상기 제어 영역의 경계에 더 가까운 새로운 로케이션으로, 상기 디스플레이의 전면과의 이격된 관계를 유지하면서 상기 디스플레이의 전면을 가로질러 이동하였다고 결정하는 단계; 및
    상기 객체가 상기 새로운 로케이션으로 이동하였다고 결정하는 것에 응답하여, 상기 확대된 윈도우 내에서 상기 콘텐츠의 부분을 패닝(panning)하여 상기 콘텐츠의 부분으로부터 상기 제어 영역의 경계까지의 거리에 비하여 상기 제어 영역의 경계에 더 가까이에서 렌더링되는 상기 콘텐츠의 다른 부분을 드러내는 단계를 더 포함하는, 윈도우 디스플레이 방법.
  13. 제 1 항에 있어서,
    상기 로케이션에서의 상기 디스플레이의 전면 상의 객체로부터의 제 1 접촉과 상기 로케이션에서의 상기 디스플레이의 전면 상의 객체로부터의 제 2 접촉 - 상기 제 2 접촉은 상기 제 1 접촉을 검출하는 것으로부터 임계 시구간 내에 검출됨 - 을 검출하는 단계; 및
    상기 제 1 접촉과 상기 제 2 접촉을 검출하는 단계에 응답하여, 상기 디스플레이 상에서, 상기 로케이션 주위에서 상기 콘텐츠의 줌 인된 뷰를 렌더링하는 단계를 더 포함하는, 윈도우 디스플레이 방법.
  14. 시스템에 있어서,
    콘텐츠를 디스플레이하도록 구성되는 디스플레이;
    상기 디스플레이의 전면의 앞쪽에 있지만 상기 전면과 접촉하지 않는 객체를 검출하도록 구성되는 하나 이상의 센서;
    하나 이상의 프로세서; 및
    상기 하나 이상의 프로세서에 의해 실행될 때, 상기 하나 이상의 프로세서가 액트들을 수행하게 하는, 컴퓨터 실행가능 명령어들을 저장하는 메모리를 포함하고,
    상기 액트들은,
    상기 디스플레이의 전면의 앞쪽에 있지만 상기 전면과 접촉하지 않는 상기 객체를 검출하는 것에 적어도 부분적으로 응답하여, 상기 객체로부터 상기 디스플레이의 전면 상의 다른 로케이션들까지의 거리들에 비하여 상기 객체로부터 최단 거리 이격되는 상기 디스플레이의 전면 상의 로케이션을 결정하는 액트;
    상기 로케이션에서 또는 상기 로케이션으로부터 임계 거리 내에서 렌더링되는 상기 콘텐츠의 부분을 결정하는 액트; 및
    상기 디스플레이의 지역에서, 상기 콘텐츠의 부분의 확대된 윈도우의 프레젠테이션을 유발하는 액트를 포함하는 것인, 시스템.
  15. 제 14 항에 있어서,
    상기 하나 이상의 센서는 또한, 상기 디스플레이의 전면에 수직인 방향으로 상기 디스플레이의 전면과 상기 객체 사이의 거리를 결정하도록 구성되며, 상기 액트들은,
    상기 객체가 상기 방향으로 상기 전면으로부터 멀어지게 이동하였다고 결정하는 액트; 및
    상기 객체가 상기 전면으로부터 멀어지게 이동하였다고 결정하는 액트에 응답하여, 상기 확대된 윈도우 내에서 상기 콘텐츠의 부분의 확대 레벨을 감소시키는 액트를 더 포함하는 것인, 시스템.
KR1020177004856A 2014-08-12 2015-08-10 렌더링된 콘텐츠와의 호버 기반 상호작용 KR102384130B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/458,136 2014-08-12
US14/458,136 US9594489B2 (en) 2014-08-12 2014-08-12 Hover-based interaction with rendered content
PCT/US2015/044406 WO2016025356A1 (en) 2014-08-12 2015-08-10 Hover-based interaction with rendered content

Publications (2)

Publication Number Publication Date
KR20170041219A true KR20170041219A (ko) 2017-04-14
KR102384130B1 KR102384130B1 (ko) 2022-04-06

Family

ID=54015184

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020177004856A KR102384130B1 (ko) 2014-08-12 2015-08-10 렌더링된 콘텐츠와의 호버 기반 상호작용

Country Status (6)

Country Link
US (2) US9594489B2 (ko)
EP (1) EP3180687B1 (ko)
KR (1) KR102384130B1 (ko)
CN (1) CN106575203B (ko)
ES (1) ES2702718T3 (ko)
WO (1) WO2016025356A1 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022182025A1 (ko) * 2021-02-26 2022-09-01 삼성전자(주) 전자 장치 및 그 제어 방법

Families Citing this family (35)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9063563B1 (en) * 2012-09-25 2015-06-23 Amazon Technologies, Inc. Gesture actions for interface elements
KR102135092B1 (ko) * 2013-06-03 2020-07-17 엘지전자 주식회사 영상표시장치의 동작 방법
US10108305B2 (en) 2013-08-13 2018-10-23 Samsung Electronics Company, Ltd. Interaction sensing
US10073578B2 (en) 2013-08-13 2018-09-11 Samsung Electronics Company, Ltd Electromagnetic interference signal detection
KR102130797B1 (ko) * 2013-09-17 2020-07-03 엘지전자 주식회사 이동 단말기 및 그것의 제어방법
US9645651B2 (en) 2013-09-24 2017-05-09 Microsoft Technology Licensing, Llc Presentation of a control interface on a touch-enabled device based on a motion or absence thereof
US9594489B2 (en) 2014-08-12 2017-03-14 Microsoft Technology Licensing, Llc Hover-based interaction with rendered content
KR102399589B1 (ko) * 2014-11-05 2022-05-18 삼성전자주식회사 디바이스에 오브젝트를 디스플레이 하는 방법, 그 디바이스 및 기록매체
EP3040839B1 (en) * 2014-12-31 2020-08-12 Dassault Systèmes Selection of a graphical element
CN108027811B (zh) * 2015-09-09 2021-06-29 华为技术有限公司 一种数据编辑方法及装置
CN106598972B (zh) * 2015-10-14 2020-05-08 阿里巴巴集团控股有限公司 一种信息显示方法、装置及智能终端
KR102474244B1 (ko) * 2015-11-20 2022-12-06 삼성전자주식회사 영상 표시 장치 및 그 동작방법
US10732719B2 (en) * 2016-03-03 2020-08-04 Lenovo (Singapore) Pte. Ltd. Performing actions responsive to hovering over an input surface
KR102526860B1 (ko) * 2016-03-18 2023-05-02 삼성전자주식회사 전자 장치 및 전자 장치 제어 방법
EP3408731A4 (en) * 2016-04-07 2019-01-30 Samsung Electronics Co., Ltd. INTERACTION MODES FOR OBJECT DEVICE INTERACTIONS
US10719193B2 (en) * 2016-04-20 2020-07-21 Microsoft Technology Licensing, Llc Augmenting search with three-dimensional representations
CN108139799B (zh) * 2016-04-22 2022-01-14 深圳市大疆创新科技有限公司 基于用户的兴趣区(roi)处理图像数据的系统和方法
WO2018000382A1 (zh) * 2016-06-30 2018-01-04 华为技术有限公司 一种查看应用程序的图形用户界面、方法及终端
US10416777B2 (en) * 2016-08-16 2019-09-17 Microsoft Technology Licensing, Llc Device manipulation using hover
US11435888B1 (en) * 2016-09-21 2022-09-06 Apple Inc. System with position-sensitive electronic device interface
CN117251083A (zh) * 2017-01-11 2023-12-19 比吉斯合伙人有限公司 用于订单输入的具有悬停功能的图形用户界面
US20180267691A1 (en) * 2017-03-20 2018-09-20 Tempo Music Design Oy Method and system for generating audio associated with a user interface
CN108153464A (zh) * 2018-01-26 2018-06-12 北京硬壳科技有限公司 一种控制方法和装置
WO2019163503A1 (ja) * 2018-02-22 2019-08-29 京セラ株式会社 電子機器、制御方法およびプログラム
CN110312000B (zh) * 2018-03-20 2021-06-29 Oppo广东移动通信有限公司 滑出结构的控制方法、检测组件及电子装置
US10942633B2 (en) * 2018-12-20 2021-03-09 Microsoft Technology Licensing, Llc Interactive viewing and editing system
US20200257442A1 (en) * 2019-02-12 2020-08-13 Volvo Car Corporation Display and input mirroring on heads-up display
CN111580803B (zh) * 2019-02-15 2022-09-06 广汽埃安新能源汽车有限公司 生成带悬浮提示的流程图的方法及系统、电子设备、介质
JP7335487B2 (ja) * 2019-04-02 2023-08-30 船井電機株式会社 入力装置
US10996761B2 (en) 2019-06-01 2021-05-04 Apple Inc. User interfaces for non-visual output of time
CN113032605B (zh) * 2019-12-25 2023-08-18 中移(成都)信息通信科技有限公司 一种信息展示方法、装置、设备及计算机存储介质
US11635883B2 (en) * 2020-02-18 2023-04-25 Micah Development LLC Indication of content linked to text
JP2021176049A (ja) * 2020-05-01 2021-11-04 レノボ・シンガポール・プライベート・リミテッド 情報処理装置、及び情報処理方法
US11933625B2 (en) 2020-09-24 2024-03-19 International Business Machines Corporation Managing navigation interface display
CN115967831B (zh) * 2022-10-28 2023-08-22 北京优酷科技有限公司 视频显示方法、装置、电子设备及存储介质

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778874B1 (en) * 2005-11-14 2010-08-17 A9.Com, Inc. Automated generation of suggested online advertising campaign parameters
US20130050131A1 (en) * 2011-08-23 2013-02-28 Garmin Switzerland Gmbh Hover based navigation user interface control
JP2013130979A (ja) * 2011-12-20 2013-07-04 Sharp Corp 情報処理装置、情報処理装置の制御方法、情報処理装置制御プログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体

Family Cites Families (49)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8479122B2 (en) 2004-07-30 2013-07-02 Apple Inc. Gestures for touch sensitive input devices
US7760187B2 (en) * 2004-07-30 2010-07-20 Apple Inc. Visual expander
US7256770B2 (en) 1998-09-14 2007-08-14 Microsoft Corporation Method for displaying information responsive to sensing a physical presence proximate to a computer input device
US6501464B1 (en) 2000-10-31 2002-12-31 Intel Corporation On-screen transparent keyboard interface
US20030020733A1 (en) 2001-07-24 2003-01-30 Yin Memphis Zhihong Computer display having selective area magnification
US20030025676A1 (en) 2001-08-02 2003-02-06 Koninklijke Philips Electronics N.V. Sensor-based menu for a touch screen panel
US6907576B2 (en) * 2002-03-04 2005-06-14 Microsoft Corporation Legibility of selected content
US7314165B2 (en) 2004-07-01 2008-01-01 American Express Travel Related Services Company, Inc. Method and system for smellprint recognition biometrics on a smartcard
US8381135B2 (en) 2004-07-30 2013-02-19 Apple Inc. Proximity detector in handheld device
US7489306B2 (en) 2004-12-22 2009-02-10 Microsoft Corporation Touch screen accuracy
JP4602166B2 (ja) 2005-06-07 2010-12-22 富士通株式会社 手書き情報入力装置。
US7636794B2 (en) 2005-10-31 2009-12-22 Microsoft Corporation Distributed sensing techniques for mobile devices
US20070268317A1 (en) * 2006-05-18 2007-11-22 Dan Banay User interface system and method for selectively displaying a portion of a display screen
US7956847B2 (en) 2007-01-05 2011-06-07 Apple Inc. Gestures for controlling, manipulating, and editing of media files using touch sensitive devices
US7877707B2 (en) 2007-01-06 2011-01-25 Apple Inc. Detecting and interpreting real-world and security gestures on touch and hover sensitive devices
US8650505B2 (en) 2007-02-28 2014-02-11 Rpx Corporation Multi-state unified pie user interface
US8219936B2 (en) * 2007-08-30 2012-07-10 Lg Electronics Inc. User interface for a mobile device using a user's gesture in the proximity of an electronic device
US8363019B2 (en) 2008-05-26 2013-01-29 Lg Electronics Inc. Mobile terminal using proximity sensor and method of controlling the mobile terminal
US9658765B2 (en) 2008-07-31 2017-05-23 Northrop Grumman Systems Corporation Image magnification system for computer interface
US8237666B2 (en) * 2008-10-10 2012-08-07 At&T Intellectual Property I, L.P. Augmented I/O for limited form factor user-interfaces
US20100107067A1 (en) 2008-10-27 2010-04-29 Nokia Corporation Input on touch based user interfaces
US9703411B2 (en) 2009-04-30 2017-07-11 Synaptics Incorporated Reduction in latency between user input and visual feedback
EP2252055B1 (en) 2009-05-13 2013-09-18 Sony Europe Limited A system for retrieval of executable applications for broadcast television
US8466934B2 (en) 2009-06-29 2013-06-18 Min Liang Tan Touchscreen interface
US8347221B2 (en) 2009-10-07 2013-01-01 Research In Motion Limited Touch-sensitive display and method of control
US8358281B2 (en) 2009-12-15 2013-01-22 Apple Inc. Device, method, and graphical user interface for management and manipulation of user interface elements
US8384683B2 (en) 2010-04-23 2013-02-26 Tong Luo Method for user input from the back panel of a handheld computerized device
US20110261030A1 (en) * 2010-04-26 2011-10-27 Bullock Roddy Mckee Enhanced Ebook and Enhanced Ebook Reader
US9098138B2 (en) 2010-08-27 2015-08-04 Apple Inc. Concurrent signal detection for touch and hover sensing
US8780060B2 (en) 2010-11-02 2014-07-15 Apple Inc. Methods and systems for providing haptic control
US20120120002A1 (en) * 2010-11-17 2012-05-17 Sony Corporation System and method for display proximity based control of a touch screen user interface
US9575561B2 (en) 2010-12-23 2017-02-21 Intel Corporation Method, apparatus and system for interacting with content on web browsers
JP2012168932A (ja) 2011-02-10 2012-09-06 Sony Computer Entertainment Inc 入力装置、情報処理装置および入力値取得方法
JP5774327B2 (ja) 2011-02-16 2015-09-09 株式会社テイエルブイ 気液分離器
US8314790B1 (en) 2011-03-29 2012-11-20 Google Inc. Layer opacity adjustment for a three-dimensional object
US9285950B2 (en) 2011-03-30 2016-03-15 Google Inc. Hover-over gesturing on mobile devices
KR101748668B1 (ko) 2011-04-14 2017-06-19 엘지전자 주식회사 이동 단말기 및 그의 입체영상 제어방법
US9477348B2 (en) 2011-04-15 2016-10-25 Hewlett-Packard Development Company, L.P. Focus-based touch and hover detection
US9658766B2 (en) 2011-05-27 2017-05-23 Microsoft Technology Licensing, Llc Edge gesture
JP2012248066A (ja) 2011-05-30 2012-12-13 Canon Inc 画像処理装置、その制御方法、および制御プログラム、並びに撮像装置
RU2455676C2 (ru) 2011-07-04 2012-07-10 Общество с ограниченной ответственностью "ТРИДИВИ" Способ управления устройством с помощью жестов и 3d-сенсор для его осуществления
US20130194314A1 (en) 2012-01-26 2013-08-01 Nokia Corporation Desktop extension
WO2013113360A1 (en) 2012-01-30 2013-08-08 Telefonaktiebolaget L M Ericsson (Publ) An apparatus having a touch screen display
CN102719990B (zh) 2012-06-18 2014-07-30 三明学院 智能经编多速电子送经系统
US8907927B2 (en) 2012-09-13 2014-12-09 Sap Portals Israel Ltd Camera based hover detection for touch-based mobile devices
JP5798103B2 (ja) * 2012-11-05 2015-10-21 株式会社Nttドコモ 端末装置、画面表示方法、プログラム
US9645651B2 (en) 2013-09-24 2017-05-09 Microsoft Technology Licensing, Llc Presentation of a control interface on a touch-enabled device based on a motion or absence thereof
US20160246383A1 (en) * 2013-10-31 2016-08-25 Huawei Technologies Co., Ltd. Floating or mid-air operation processing method and apparatus
US9594489B2 (en) 2014-08-12 2017-03-14 Microsoft Technology Licensing, Llc Hover-based interaction with rendered content

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7778874B1 (en) * 2005-11-14 2010-08-17 A9.Com, Inc. Automated generation of suggested online advertising campaign parameters
US20130050131A1 (en) * 2011-08-23 2013-02-28 Garmin Switzerland Gmbh Hover based navigation user interface control
JP2013130979A (ja) * 2011-12-20 2013-07-04 Sharp Corp 情報処理装置、情報処理装置の制御方法、情報処理装置制御プログラムおよび該プログラムを記録したコンピュータ読み取り可能な記録媒体

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2022182025A1 (ko) * 2021-02-26 2022-09-01 삼성전자(주) 전자 장치 및 그 제어 방법

Also Published As

Publication number Publication date
EP3180687B1 (en) 2018-09-26
US9594489B2 (en) 2017-03-14
ES2702718T3 (es) 2019-03-05
CN106575203A (zh) 2017-04-19
US20160048304A1 (en) 2016-02-18
WO2016025356A1 (en) 2016-02-18
EP3180687A1 (en) 2017-06-21
CN106575203B (zh) 2020-07-31
US20170160914A1 (en) 2017-06-08
KR102384130B1 (ko) 2022-04-06
US10444961B2 (en) 2019-10-15

Similar Documents

Publication Publication Date Title
KR102384130B1 (ko) 렌더링된 콘텐츠와의 호버 기반 상호작용
US10152228B2 (en) Enhanced display of interactive elements in a browser
US10102010B2 (en) Layer-based user interface
KR102027612B1 (ko) 애플리케이션의 썸네일-이미지 선택 기법
US9898180B2 (en) Flexible touch-based scrolling
US10627990B2 (en) Map information display device, map information display method, and map information display program
CN109643210B (zh) 使用悬停的设备操纵
US9507512B1 (en) Using gestures to deliver content to predefined destinations
US20130185676A1 (en) Method and mobile device for classified webpage switching
US20140282269A1 (en) Non-occluded display for hover interactions
KR20140025494A (ko) 에지 제스처 기법
KR20140025493A (ko) 에지 제스처 기법
KR20160094442A (ko) 플로팅 터치에 기초한 클릭 객체 확대 방법 및 장치
KR20140078629A (ko) 인플레이스 방식으로 값을 편집하는 사용자 인터페이스
KR102205283B1 (ko) 적어도 하나의 어플리케이션을 실행하는 전자 장치 및 그 제어 방법
US20150346919A1 (en) Device, Method, and Graphical User Interface for Navigating a Content Hierarchy
EP3436969A1 (en) Ink input for browser navigation
US20120179963A1 (en) Multi-touch electronic device, graphic display interface thereof and object selection method of multi-touch display
JP2015022675A (ja) 電子機器、インターフェース制御方法、および、プログラム
EP2755124B1 (en) Enhanced display of interactive elements in a browser
KR101692848B1 (ko) 호버링을 이용하는 가상 터치패드 조작방법 및 이를 수행하는 단말기
CN110945470A (zh) 可编程的多点触摸屏幕上键盘

Legal Events

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