KR101440706B1 - 가상 컨테이너 및 가상적으로 확장된 경계를 통해 터치 스크린 장치 접근성을 향상시키는 기법 및 시스템 - Google Patents
가상 컨테이너 및 가상적으로 확장된 경계를 통해 터치 스크린 장치 접근성을 향상시키는 기법 및 시스템 Download PDFInfo
- Publication number
- KR101440706B1 KR101440706B1 KR1020127021301A KR20127021301A KR101440706B1 KR 101440706 B1 KR101440706 B1 KR 101440706B1 KR 1020127021301 A KR1020127021301 A KR 1020127021301A KR 20127021301 A KR20127021301 A KR 20127021301A KR 101440706 B1 KR101440706 B1 KR 101440706B1
- Authority
- KR
- South Korea
- Prior art keywords
- container
- user interface
- item
- area
- input
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 81
- 230000002708 enhancing effect Effects 0.000 title claims description 5
- 238000012545 processing Methods 0.000 claims description 25
- 230000004044 response Effects 0.000 claims description 17
- 230000008569 process Effects 0.000 description 41
- 230000006870 function Effects 0.000 description 37
- 238000004891 communication Methods 0.000 description 35
- 230000015654 memory Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 14
- 230000009471 action Effects 0.000 description 8
- 230000001771 impaired effect Effects 0.000 description 8
- 230000003287 optical effect Effects 0.000 description 7
- 238000004590 computer program Methods 0.000 description 6
- 230000004048 modification Effects 0.000 description 6
- 238000012986 modification Methods 0.000 description 6
- 238000005516 engineering process Methods 0.000 description 5
- 230000002093 peripheral effect Effects 0.000 description 5
- 230000001413 cellular effect Effects 0.000 description 3
- 230000000694 effects Effects 0.000 description 3
- 238000003491 array Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 230000003993 interaction Effects 0.000 description 2
- 239000004973 liquid crystal related substance Substances 0.000 description 2
- 239000004065 semiconductor Substances 0.000 description 2
- 208000029257 vision disease Diseases 0.000 description 2
- 230000004393 visual impairment Effects 0.000 description 2
- 101001094649 Homo sapiens Popeye domain-containing protein 3 Proteins 0.000 description 1
- 101000608234 Homo sapiens Pyrin domain-containing protein 5 Proteins 0.000 description 1
- 101000578693 Homo sapiens Target of rapamycin complex subunit LST8 Proteins 0.000 description 1
- 102100027802 Target of rapamycin complex subunit LST8 Human genes 0.000 description 1
- 206010047571 Visual impairment Diseases 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000295 complement effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000013461 design Methods 0.000 description 1
- 238000005286 illumination Methods 0.000 description 1
- 229910044991 metal oxide Inorganic materials 0.000 description 1
- 150000004706 metal oxides Chemical class 0.000 description 1
- 238000010295 mobile communication Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 229920000642 polymer Polymers 0.000 description 1
- 230000010076 replication Effects 0.000 description 1
- 238000010897 surface acoustic wave method Methods 0.000 description 1
- 239000011800 void material Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04883—Interaction 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0487—Interaction 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/0488—Interaction 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/04886—Interaction 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 by partitioning the display area of the touch-screen or the surface of the digitising tablet into independently controllable areas, e.g. virtual keyboards or menus
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input 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/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/041—Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
Landscapes
- Engineering & Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- User Interface Of Digital Computer (AREA)
- Position Input By Displaying (AREA)
Abstract
터치 스크린 장치의 접근성을 향상시키는 기법이 개시되어 있다. 한 측면에서, 터치 스크린 장치의 터치 감응 사용자 인터페이스 상의 컨테이너 영역이 정의된다. 사용자 인터페이스 상의 위치에 대응하는 터치 이벤트가 수신되고, 그 위치가 특정의 컨테이너 영역에 대응하는 것으로 판정된다. 다른 터치 이벤트가 수신될 때, 특정의 컨테이너 영역의 컨텍스트에 따라 콘텐츠가 결정된다. 콘텐츠가 이어서 제시된다. 다른 측면에서, 사용자 인터페이스 상의 사용자 인터페이스 항목의 위치를 명시하는 데이터가 수신된다. 특정의 항목에 대한 영역을 확장시키기 위해 데이터가 수정된다. 사용자 인터페이스 상의 특정의 위치에 대응하는 터치 입력 이벤트가 수신된다. 위치가 항목에 대한 확장된 영역 내인 것으로 판정되고, 항목이 선택되었다는 것을 나타내는 입력이 응용 프로그램에 제공된다.
Description
본 발명 요지는 일반적으로 장치 접근성에 관한 것이다.
터치 스크린 장치는 사용자가 터치 스크린 상에 디스플레이된 사용자 인터페이스 항목을 선택하고 수정하기 위해 터치 입력을 제공할 수 있게 해준다. 예를 들어, 사용자는 터치 스크린 장치 상에서 응용 프로그램을 시작하기 위해 아이콘을 터치할 수 있거나, 특정의 장치 기능을 호출하기 위해 터치 스크린 장치 상에 디스플레이된 사용자-선택가능 컨트롤을 터치할 수 있다.
그렇지만, 사용자, 특히 시각 장애인은 터치 스크린 장치 상에 디스플레이되어 있는 관심의 항목을 위치 확인하는 데 어려움이 있을 수 있다. 예를 들어, 디스플레이 자체가 비교적 크고 장치 상에 디스플레이된 콘텐츠가 비교적 작을 때, 시각 장애 사용자가 자신이 관심을 갖고 있는 디스플레이의 영역을 위치 확인하는 것이 어려울 수 있다. 다른 일례로서, 이메일 응용 프로그램이 달력 응용 프로그램에 인접해 있을 때와 같이, 상이한 정보가 화면 상에서 서로 모여 있는 경우, 사용자가 화면 상에서 필요한 정보를 위치 확인하는 데 어려움을 겪을 수 있다.
사용자가 터치 스크린 장치의 사용자 인터페이스 상에 디스플레이되어 있는 유사한 항목들의 그룹 내에서 또는 그룹들 사이에서 이동할 수 있게 해주는 기법 및 시스템이 개시되어 있다. 이들 기법은 또한 사용자가 터치 스크린 장치의 사용자 인터페이스 상에 디스플레이된 원하는 항목을 보다 쉽게 터치할 수 있게 해줄 수 있다.
한 측면에서, 터치 스크린 장치의 터치 감응 사용자 인터페이스 상의 물리적 영역에 대응하는 컨테이너 영역이 정의된다. 사용자 인터페이스 상의 제1 위치에서의 제1 터치 입력이 수신된다. 장치는 제1 위치가 특정의 컨테이너 영역에 대응하는 것을 판정한다. 제2 터치 입력이 수신될 때, 장치는 제2 터치 입력에 응답하여 적절한 콘텐츠를 결정한다. 적절한 콘텐츠는, 다른 터치 이벤트가 수신된 위치에 상관없이, 특정의 컨테이너 영역의 컨텍스트에 따라 결정된다. 콘텐츠가 이어서 제시될 수 있다.
다른 측면에서, 터치 스크린 장치의 터치 감응 사용자 인터페이스 상의 사용자 인터페이스 항목의 위치를 명시하는 데이터가 수신된다. 터치 스크린 인터페이스 상에 디스플레이된 특정의 항목과 연관된 터치 감응 사용자 인터페이스 상의 영역을 확장시키기 위해 데이터가 수정된다. 사용자 인터페이스 상의 특정의 위치에서의 터치 입력이 수신된다. 특정의 위치가 특정의 사용자 인터페이스 항목에 대한 확장된 영역 내인 것으로 판정되고, 특정의 사용자 인터페이스 항목이 선택되었다는 것을 나타내는 입력이 터치 스크린 장치 상에서 실행 중인 응용 프로그램에 제공된다.
본 명세서에 기술된 발명 요지의 특정의 실시예가 이하의 이점들 중 하나 이상의 이점을 실현하도록 구현될 수 있다. 사용자는 화면을 볼 필요 없이 터치 스크린 장치의 화면을 보다 쉽게 탐색할 수 있다. 사용자는 터치 스크린 장치의 화면의 영역들 사이를 쉽게 이동할 수 있고, 화면 상에 디스플레이된 개별 항목들 사이를 쉽게 이동할 수 있다. 사용자는 화면 상에 큰 빈 공간 섹션을 갖는 터치 스크린 장치의 화면을 보다 쉽게 탐색할 수 있다. 사용자는 화면 상에 디스플레이된 특정의 항목을 찾아 큰 터치 스크린 공간을 탐색하는 데 소비하는 시간의 양을 감소시킬 수 있다. 사용자는, 항목의 레이아웃에 대응하는 컨테이너에 관한 정보를 획득함으로써, 화면 상에 디스플레이된 항목의 메타-레이아웃(meta-layout)에 관한 정보를 신속하게 획득할 수 있다.
도 1은 예시적인 장치를 나타낸 도면.
도 2는 장치 상의 예시적인 사용자 인터페이스를 나타낸 도면.
도 3은 장치 상에 디스플레이된 예시적인 달력 사용자 인터페이스를 나타낸 도면.
도 4는 가상 컨테이너 영역에 따라 입력을 처리하는 예시적인 프로세스의 흐름도.
도 5는 가상 컨테이너 내의 항목을 식별하고 항목에 대한 콘텐츠를 제시하는 예시적인 프로세스의 흐름도.
도 6은 현재의 컨테이너 영역을 업데이트하는 예시적인 프로세스의 흐름도.
도 7은 사용자가 주어진 컨테이너 영역 밖에서 입력을 제공할 때 사용자에게 경고하는 예시적인 프로세스의 흐름도.
도 8은 장치 상의 예시적인 사용자 인터페이스를 나타낸 도면.
도 9는 가상적으로 확장된 항목 경계를 사용하는 예시적인 프로세스의 흐름도.
도 10은 장치 접근성을 향상시키는 예시적인 소프트웨어 아키텍처를 나타낸 도면.
도 11은 향상된 접근성을 갖는 장치의 예시적인 하드웨어 아키텍처의 블록도.
도 12는 향상된 접근성을 갖는 장치에 대한 예시적인 네트워크 동작 환경의 블록도.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 구성요소를 나타낸다.
도 2는 장치 상의 예시적인 사용자 인터페이스를 나타낸 도면.
도 3은 장치 상에 디스플레이된 예시적인 달력 사용자 인터페이스를 나타낸 도면.
도 4는 가상 컨테이너 영역에 따라 입력을 처리하는 예시적인 프로세스의 흐름도.
도 5는 가상 컨테이너 내의 항목을 식별하고 항목에 대한 콘텐츠를 제시하는 예시적인 프로세스의 흐름도.
도 6은 현재의 컨테이너 영역을 업데이트하는 예시적인 프로세스의 흐름도.
도 7은 사용자가 주어진 컨테이너 영역 밖에서 입력을 제공할 때 사용자에게 경고하는 예시적인 프로세스의 흐름도.
도 8은 장치 상의 예시적인 사용자 인터페이스를 나타낸 도면.
도 9는 가상적으로 확장된 항목 경계를 사용하는 예시적인 프로세스의 흐름도.
도 10은 장치 접근성을 향상시키는 예시적인 소프트웨어 아키텍처를 나타낸 도면.
도 11은 향상된 접근성을 갖는 장치의 예시적인 하드웨어 아키텍처의 블록도.
도 12는 향상된 접근성을 갖는 장치에 대한 예시적인 네트워크 동작 환경의 블록도.
다양한 도면에서 유사한 참조 번호 및 명칭은 유사한 구성요소를 나타낸다.
예시적인 장치
도 1은 예시적인 장치(100)를 나타낸 것이다. 장치(100)는, 예를 들어, 컴퓨터, 태블릿 컴퓨터, 핸드헬드 컴퓨터, PDA(personal digital assistant), 셀룰러 전화, 네트워크 기기, 카메라, 스마트 폰, EGPRS(enhanced general packet radio service) 휴대폰, 네트워크 기지국, 미디어 플레이어, 내비게이션 장치, 이메일 장치, 게임 콘솔, 랩톱 컴퓨터, 또는 이 데이터 처리 장치 또는 기타 데이터 처리 장치 중 임의의 2개 이상의 조합일 수 있다.
장치 개요
일부 구현예에서, 장치(100)는 터치 감응 디스플레이(touch-sensitive display)(102)를 포함한다. 터치 감응 디스플레이(102)는 LCD(liquid crystal display) 기술, LPD(light emitting polymer display) 기술, 또는 어떤 다른 디스플레이 기술을 구현할 수 있다. 터치 감응 디스플레이(102)는 사용자와의 햅틱(haptic) 및/또는 촉각 접촉에 민감할 수 있다. 일부 구현예에서, 터치 감응 디스플레이(102)는 또한 디스플레이(102)를 실제로 터치하지 않고 그에 근접하여 수신된 터치 입력에 민감하다. 게다가, 장치(100)는 터치 감응 표면(예를 들어, 트랙패드 또는 터치패드)을 포함할 수 있다.
일부 구현예에서, 터치 감응 디스플레이(102)는 멀티-터치 감응 디스플레이(multi-touch-sensitive display)를 포함할 수 있다. 멀티-터치 감응 디스플레이는, 예를 들어, 각각의 입력 지점의 압력, 각도(degree) 및/또는 위치에 관련된 데이터를 처리하는 것을 포함하여 다수의 동시적인 입력 지점을 처리할 수 있다. 이러한 처리는 다수의 손가락에 의한 제스처 및 그와의 상호작용, 코딩(chording) 및 기타 상호작용을 용이하게 해준다. 기타 터치 감응 디스플레이 기술 - 예를 들어, 스타일러스 또는 기타 포인팅 장치를 사용하여 접촉이 행해지는 디스플레이 - 도 사용될 수 있다.
사용자는, 예를 들어, 사용자가 터치 감응 디스플레이(102)를 터치할 때, 다양한 터치 입력을 사용하여 장치(100)와 상호작용할 수 있다. 예컨대, 사용자가 터치 감응 디스플레이(102)를 가로질러 그의 손가락(또는 기타 입력 도구)을 움직이는 경우, 제스처 입력이 또한 다수의 터치 입력으로부터 도출될 수 있다. 예시적인 제스처 입력은 사용자가 그의 손가락(또는 기타 입력 도구)을 터치 감응 디스플레이(102)의 화면을 가로질러 스와이프하는 스와이프 입력(swipe input)이다. 일부 구현예에서, 장치(100)는 디스플레이(102)와 직접 접촉하여 수신되거나 디스플레이(102)로부터 특정의 수직 거리 내에서[예컨대, 디스플레이(102)로부터 1 또는 2 인치 내에서] 수신되는 입력을 검출할 수 있다. 사용자는 디스플레이(102) 상의 다수의 위치에서 동시에 입력을 제공할 수 있다. 예를 들어, 2개 이상의 위치에서 동시에 터치하는 입력이 수신될 수 있다.
일부 구현예에서, 장치(100)는 다양한 시스템 객체에의 사용자 접근을 제공하기 위해 그리고 사용자에게 정보를 전달하기 위해 터치 감응 디스플레이(102) 상에 하나 이상의 그래픽 사용자 인터페이스를 디스플레이할 수 있다. 일부 구현예에서, 그래픽 사용자 인터페이스는 하나 이상의 사용자 인터페이스 항목, 예컨대, 사용자 인터페이스 항목(104, 106)을 포함할 수 있다. 도시된 일례에서, 사용자 인터페이스 항목(104, 106)은 시스템 객체의 그래픽 표현이다. 시스템 객체의 어떤 일례로는 장치 기능, 응용 프로그램, 윈도우, 파일, 경고, 이벤트, 또는 기타 식별가능한 시스템 객체를 포함한다. 일부 구현예에서, 사용자 인터페이스 항목은 사용자에 의해 구성될 수 있고 - 예컨대, 사용자가 어느 사용자 인터페이스 항목이 디스플레이되는지를 지정할 수 있고 - 및/또는 다른 기능 및 대응하는 사용자 인터페이스 항목을 제공하는 부가의 응용 프로그램 또는 기타 소프트웨어를 다운로드할 수 있다.
예시적인 장치 기능
일부 구현예에서, 장치(100)는 다양한 장치 기능을 구현할 수 있다. 이들 기능 중 하나 이상의 기능의 일부로서, 장치(100)는 장치(100)의 터치 감응 디스플레이(102) 상에 그래픽 사용자 인터페이스를 제시하고, 또한, 예를 들어, 터치 감응 디스플레이(102)를 통해 사용자로부터 수신된 입력에 응답한다. 예를 들어, 사용자는 장치 상에서 하나 이상의 응용 프로그램을 시작함으로써 다양한 기능을 호출할 수 있다. 사용자는, 예를 들어, 장치의 메뉴 바(108)에서 사용자 인터페이스 항목들 중 하나의 항목을 터치함으로써 기능을 호출할 수 있다. 예를 들어, 사용자 인터페이스 항목(106)을 터치하는 것은 저장된 연락처 정보에 접근하기 위해 장치 상에서 주소록 응용 프로그램을 호출한다. 사용자는, 대안적으로, 예를 들어, 사용자 인터페이스에 포함된 사용자 선택가능 메뉴들(109) 중 하나의 메뉴를 사용하는 것을 포함하여 다른 방식으로 특정의 기능을 호출할 수 있다.
응용 프로그램이 선택되었으면, 응용 프로그램에 대응하는 하나 이상의 창 또는 페이지가 장치(100)의 디스플레이(102) 상에 디스플레이될 수 있다. 사용자는 디스플레이(102) 상의 적절한 곳을 터치함으로써 창 또는 페이지를 탐색할 수 있다. 예를 들어, 창(104)은 이메일 응용 프로그램에 대응한다. 사용자가 마우스 또는 키보드 입력을 사용하여 창과 상호작용하는 것처럼 사용자는 터치 입력을 사용하여 창과 상호작용할 수 있다. 예를 들어, 사용자는 창(104)에 열거된 폴더에 대응하는 사용자 선택가능 컨트롤들(110) 중 하나의 컨트롤을 터치함으로써 이메일 응용 프로그램에서의 다양한 폴더를 탐색할 수 있다. 다른 일례로서, 사용자는 디스플레이 상의 사용자 선택가능 컨트롤들(112) 중 하나의 컨트롤을 터치함으로써 현재의 이메일을 답신, 전달 또는 삭제하고자 한다는 것을 지정할 수 있다.
접근성 문제
장치(100)의 터치 감응 디스플레이(102)는 장애가 있는 사용자, 예를 들어, 시각 장애가 있는 사용자가 탐색하기 어려울 수 있다. 디스플레이는 사용자가 제시된 콘텐츠를 탐색하는 데 도움을 주는 데 또는 장치에 대한 입력이 필요한 때를 알아내는 데 유용한 피드백을 거의 제공하지 않는다.
일부 구현예에서, 장치(100)는 디스플레이 상의 콘텐츠에 관한 접근가능한 정보를 사용자에게 제공하도록 구성되어 있다. 예를 들어, 장치(100)는 디스플레이 상의 정보(예컨대, 합성 음성 및 사운드 효과를 포함하는 청각 피드백, 진동 및 장치 움직임을 포함하는 햅틱 피드백, 점자 피드백, 또는 사용자가 접근가능한 기타 피드백)를 시각 장애가 있는 사용자에게 제공하도록 구성될 수 있다. 사용자가 디스플레이 상의 특정의 위치를 터치하거나 다른 방식으로 선택할 때, 장치(100)는 특정의 위치에 있는 디스플레이의 콘텐츠를 기술하는 피드백을 제공할 수 있다. 예를 들어, 사용자가 영역(114) 근방에서 디스플레이를 터치하는 경우, 장치(100)는 텍스트 "받는 사람: Me@Me.com"에 대응하는 콘텐츠를 사용자에게 제시할 수 있다. 다른 일례로서, 사용자가 사용자 인터페이스 항목(106) 근방에서 디스플레이를 터치하는 경우, 장치는 사용자 인터페이스 항목(106)을 기술하는 콘텐츠, 또는 사용자 인터페이스 항목(106)을 선택하는 것이 주소록 응용 프로그램을 호출할 것이라는 사실을 제시할 수 있다. 사용자는 이어서, 단지 사용자 인터페이스 항목(106)에 관한 정보를 제공받는 것보다는, 사용자 인터페이스 항목(106)을 선택하고자 한다는 것을 나타내기 위해 특정의 입력을 사용할 수 있다.
그렇지만, 단지 접근가능한 피드백을 사용자에게 제공하는 것만으로 항상 충분한 것은 아니다. 시각 장애가 있는 사용자는 터치 스크린 인터페이스를 탐색하는 데 곤란을 겪을 수 있다. 예를 들어, 시각 장애가 있는 사용자는, 사용자가 소형 터치 스크린 인터페이스를 탐색하는 데 겪는 문제와 상이한, 대형 터치 스크린 인터페이스를 탐색하는 데 문제를 겪을 수 있다. 이들 문제는 대량의 빈 공간 및/또는 동시에 디스플레이된 많은 수의 콘텐츠 항목을 갖는 사용자 인터페이스를 탐색하는 데 있어서의 어려움을 포함할 수 있다.
이하에서 더 상세히 기술할 것인 바와 같이, 사용자에게 가상 컨테이너-기반 탐색을 제공하는 것 및/또는 항목 경계를 가상적으로 확장시키는 것은 터치 스크린 장치를 탐색하는 것을 시각 장애가 있는 사용자에 대해 더 쉽도록 만들어줄 수 있다. 이들 특징은, 예를 들어, 사용자가 장치(100)에 접근성 모드로 전환하도록 요청하는 입력을 제공할 때 가능하게 될 수 있다.
예시적인 가상 컨테이너
도 2는 장치(200) 상의 예시적인 사용자 인터페이스(201)를 나타낸 것이다. 또한, 사용자 인터페이스(201) 상에 가상 컨테이너[예컨대, 컨테이너(202a, 202b, 202c, 202d, 202e)]도 예시되어 있다. 가상 컨테이너는, 단지 예시를 위해, 사용자 인터페이스(201) 상에 보여져 있고, 이들이 장치(200)에 의해 유지되지만, 사용자에게 보여지는 사용자 인터페이스 상에서 일반적으로 시각적으로 구분되지 않는다. 이하에서 기술할 것인 바와 같이, 장치는 사용자가 터치 스크린 장치를 탐색하는 것을 돕기 위해 이들 가상 컨테이너를 사용한다.
각각의 가상 컨테이너(202)는 사용자 인터페이스(201) 상의 영역에 대응한다. 각각의 영역은 하나 이상의 항목을 포함한다. 예를 들어, 컨테이너(202a)는 이메일 응용 프로그램에 대한 폴더들의 목록에 대응한다. 컨테이너(202a)는 4개의 항목[예컨대, 항목(204a, 204b, 204c, 204d)]을 포함한다. 각각의 항목(204)은, 사용자에 의해 선택될 때, 상이한 폴더가 디스플레이되게 하는 사용자 선택가능 컨트롤이다. 컨테이너(202b)는 4개의 항목(206a, 206b, 206c, 206d)을 포함한다. 각각의 항목(206)은 이메일 응용 프로그램에 디스플레이되는 이메일에 관한 특정의 정보에 대응한다. 예를 들어, 항목(206a)은 이메일에 대한 "받는 사람" 정보("받는 사람: Me@Me.com")에 대응한다. 컨테이너(202c)는 이메일의 텍스트에 대응하는 하나의 항목(208)을 포함한다. 컨테이너(202d)는 3개의 항목(210a, 210b, 210c) - 각각이 장치로 하여금 디스플레이된 이메일과 관련하여 상이한 동작을 수행하게 하는 사용자 선택가능 컨트롤에 대응함 - 을 포함한다. 컨테이너(202e)는 4개의 항목(212a, 212b, 212c, 212d)을 포함한다. 각각의 항목(212)은, 사용자에 의해 선택될 때, 특정의 응용 프로그램이 장치(200) 상에서 실행되게 하는 사용자 선택가능 아이콘이다.
가상 컨테이너가 상이한 기준에 따라 정의될 수 있다. 일부 구현예에서, 가상 컨테이너는 사용자 인터페이스에서 디스플레이하기 위한 콘텐츠를 발생하는 응용 프로그램을 개발한 한명 이상의 소프트웨어 개발자에 의해 정의된다. 예를 들어, 도 2에 도시된 이메일 응용 프로그램의 개발자는 이메일 응용 프로그램에 적절한 하나 이상의 컨테이너를 지정할 수 있다. 다른 대안으로서 또는 그에 부가하여, 컨테이너가 사용자 인터페이스가 어떻게 디스플레이되는지를 제어하는 사용자 인터페이스 요소에 따라 정의될 수 있다. 일반적으로, 유사한 항목들이 시각적으로 서로 그룹화되어 있고 장치의 화면 상의 공간의 특정 영역을 차지하고 있는 컨테이너가 정의된다. 예를 들어, 응용 프로그램이 표 사용자 인터페이스 요소를 포함하는 경우, 표 사용자 인터페이스 요소에 대응하는 가상 컨테이너가 정의될 수 있다. 컨테이너를 정의하는 데 사용될 수 있는 다른 예시적인 사용자 인터페이스 요소는 도구 바, 탐색 바, 재생 컨트롤(예컨대, 재생, 일시정지, 트랙 위치 등)의 그룹, 및 웹 페이지 내의 프레임을 포함한다.
각각의 컨테이너 내의 항목은 논리적으로 정렬될 수 있다. 다양한 정렬 방식이 사용될 수 있다. 예를 들어, 항목이 화면 상에서의 그의 물리적 위치에 따라 정렬될 수 있다. 예를 들어, 화면의 좌측 상단에 더 많이 나오는 항목이 화면의 우측 하단에 더 많이 나오는 항목 이전에 정렬될 수 있는 직교 정렬(Cartesian ordering)이 사용될 수 있다. 다른 일례로서, 컨테이너 내의 항목이 사용자 인터페이스를 발생하는 데 사용된 소스 코드에 의해 할당된 순서에 따라 정렬될 수 있다. 예를 들어, 소스 코드가 항목을 특정의 순서로 열거하는 경우, 그 순서가 유지될 수 있다. 다른 일례로서, 컨테이너 내의 항목이 디스플레이되어 있는 콘텐츠에 대응하는 문서 객체 모델에 따라 정렬될 수 있다. 순서를 정의하는 다른 방식도 사용될 수 있다. 컨테이너가 또한, 예를 들어, 화면 상에서의 그의 물리적 위치에 따라 정렬될 수 있다. 예를 들어, 직교 정렬 시스템이 사용될 수 있다.
장치(200)는 시각 장애가 있는 사용자를 몇가지 방식으로 돕기 위해 가상 컨테이너를 사용할 수 있다. 예를 들어, 사용자가 종종 겪게 되는 한가지 문제점은, 사용자 인터페이스의 화면 상에서 사물들이 서로 가까이 있을 때, 실제로는 다른 항목을 터치하려고 하고 있는 동안에 화면 상의 한 항목을 터치하기 쉽다. 예를 들어, 사용자는 컨테이너(202c) 내의 이메일의 텍스트를 읽고 있을 수 있고, 이어서 컨테이너(202d) 내의 답신 컨트롤(210a) 상으로 그의 손가락을 움직일 수 있다. 장치는, 사용자가 가상 컨테이너 사이를 움직일 때 피드백(예컨대, 시각 장애가 있는 사용자에 의해 인지될 수 있는 청각 또는 촉각 피드백)을 제공함으로써, 이 문제를 해결할 수 있다.
장치(200)는 또한 사용자가 컨테이너 내의 항목들 사이를 움직이는 것을 돕기 위해 가상 컨테이너를 사용할 수 있다. 종종, 컨테이너는 꽤 크고, 컨테이너 내의 항목에 부가하여 많은 빈 공간을 포함한다. 이 공간은 시각 장애가 있는 사용자가 특정의 관심 항목을 찾는 것을 어렵게 만들 수 있다. 장치(200)는, 예를 들어, 특정의 입력이 사용자로부터 수신될 때 컨테이너 내의 한 항목으로부터 컨테이너 내의 다른 항목으로 자동으로 이동함으로써, 사용자가 컨테이너 내의 항목들 사이를 이동하는 데 도움을 줄 수 있다. 사용자가 컨테이너 내의 특정의 항목으로 이동할 때, 그 항목에 관한 정보가, 예를 들어, 사용자가 접근가능한 형식으로 사용자에게 제시된다.
예를 들어, 사용자는 컨테이너를 선택하기 위해 한 입력을 입력하고, 컨테이너 내의 제1 항목으로 이동(예컨대, 네 손가락 좌측으로 플릭)하거나 컨테이너 내의 마지막 항목으로 이동(예컨대, 네 손가락 우측으로 플릭)하기 위해 부가의 입력을 입력할 수 있다. 사용자가 이미 컨테이너 내의 제1 항목에 있는 경우, 사용자가 컨테이너 내의 제1 항목으로 이동하기 위한 입력을 제공할 때, 사용자는 이전 컨테이너 내의 제1 항목에 관한 정보를 제시받을 수 있다. 이와 유사하게, 사용자가 이미 컨테이너 내의 마지막 항목에 있는 경우, 사용자가 컨테이너 내의 마지막 항목으로 이동하기 위한 입력을 제공할 때, 사용자는 다음 컨테이너 내의 제1 항목에 관한 정보를 제시받을 수 있다.
사용자는 또한 다음 항목으로 이동(예컨대, 한 손가락 우측으로 플릭)하거나 이전 항목으로 이동(예컨대, 한 손가락 좌측으로 플릭)하기 위해 입력을 사용할 수 있다. 현재의 컨테이너에 다음(또는 이전) 항목이 있는 경우, 사용자는 그 다음(또는 이전) 항목에 관한 정보를 제시받는다. 그렇지 않은 경우, 사용자는 다음 컨테이너 내의 제1 항목(또는 이전 컨테이너 내의 마지막 항목)에 관한 정보를 제시받는다.
예를 들어, 사용자는 컨테이너(202a) 내부에서 터치하고, 컨테이너 내의 제1 항목[예컨대, 항목(204a)]으로 이동하기 위해 특정의 입력(예컨대, 특정의 제스처 입력)을 사용하며, 이어서 컨테이너(예컨대, 204b) 내의 다음 항목으로 이동하기 위해 상이한 입력(예컨대, 상이한 제스처 입력)을 사용할 수 있다. 사용자가 컨테이너(202a) 내부에서 터치할 때, 장치는 컨테이너를 식별해주는 피드백을 사용자에게 제공할 수 있다. 사용자가 컨테이너 내의 특정의 항목을 터치하는 경우, 장치는 컨테이너 및 터치된 항목 둘 다를 식별할 수 있다.
사용자는 또한 제1 컨테이너 내의 제1 항목으로 이동(예컨대, 네 손가락 위쪽으로 플릭)하거나 마지막 컨테이너 내의 마지막 항목으로 이동(예컨대, 네 손가락 아래쪽으로 플릭)하기 위해 특정의 제스처 입력을 사용할 수 있다.
장치(200)는 또한 사용자 입력에 응답하여 컨테이너들 사이를 이동할 수 있다. 예를 들어, 사용자는 이메일에 관한 컨테이너(202b) 내의 텍스트를 읽고 있을 수 있고 컨테이너(202c) 내의 이메일의 텍스트로 이동하고자 할 수 있다. 사용자는, 컨테이너의 순서에서 다음 컨테이너로 이동하고자 한다는 것을 나타내기 위해, 특정의 입력(예컨대, 특정의 제스처 입력)을 사용할 수 있다. 이와 유사하게, 사용자는 제1, 마지막 또는 이전 컨테이너로 이동하고자 한다는 것을 나타낼 수 있다.
일부 구현예에서, 장치(200)는 특정의 컨테이너 기능이 작동되도록 하기 위해 특정의 모드에 있을 수 있다. 예를 들어, 한 모드에서, 장치(200)는 컨테이너들 사이를 이동하는 것 및 컨테이너 내의 항목들 사이를 이동하는 것을 지원할 수 있다. 다른 모드에서, 장치(200)는, 사용자가 컨테이너 밖으로 이동할 때, 사용자에게 경고를 하는 것을 지원할 수 있다. 또 다른 모드에서, 장치(200)는 어떤 컨테이너 기능도 제공하지 않을 수 있다. 사용자는, 예를 들어, 장치에의 하나 이상의 입력을 통해 장치(200)에 대한 원하는 모드를 나타낼 수 있다.
도 3은 장치(300) 상에 디스플레이된 예시적인 달력 사용자 인터페이스(301)를 나타낸 것이다. 또한, 예시적인 가상 컨테이너도 예시되어 있다. 가상 컨테이너는 9월이라는 달에 대응하는 가상 컨테이너(302)를 포함하고, 또한 달력 상의 개별 날짜에 대응하는 컨테이너(302) 내에 내포된 가상 컨테이너를 포함한다. 예를 들어, 컨테이너(304, 306) 각각은 달력 상의 날짜에 대응한다.
장치(300)는 시각 장애가 있는 사용자가 다음과 같이 사용자 인터페이스를 탐색하는 것을 돕기 위해 가상 컨테이너를 사용할 수 있다. 먼저, 사용자가 컨테이너(302) 내에서 터치 입력을 제공한다. 이어서, 사용자가 컨테이너 내의 제1 항목이 제시되어야 한다는 것을 나타내는 터치 입력을 제공한다. 장치(300)는 비어 있는 컨테이너(308)로 이동한다. 장치는, 예를 들어, 컨테이너가 9월 1일이라는 날짜에 대응한다는 것과 어떤 달력 항목도 존재하지 않는다는 것을 나타내는 콘텐츠를 제시함으로써, 컨테이너(308)에 대응하는 콘텐츠를 제시한다. 사용자는 이어서 다음 항목이 제시되어야만 한다는 것을 나타내는 터치 입력을 제공한다. 장치는 이어서 컨테이너(304)로 이동하고 컨테이너(304)에 대응하는 콘텐츠를 제시한다. 예를 들어, 장치는 컨테이너가 2009년 9월 2일이라는 날짜에 대응한다는 것과 컨테이너 내에 2개의 항목이 포함되어 있다는 것을 나타내는 콘텐츠를 제시할 수 있다. 사용자는 이어서 다음 항목이 제시되어야만 한다는 것을 나타내는 터치 입력을 제공한다. 장치는 컨테이너(304) 내의 제1 항목(회의 A에 대응함)으로 이동하고 항목에 관한 정보를 제시한다. 사용자는 이어서 다음 항목이 제시되어야만 한다는 것을 나타내는 터치 입력을 제공한다. 장치는 컨테이너(304) 내의 두번째 항목(회의 B에 대응함)으로 이동하고 두번째 항목에 관한 정보를 제시한다.
도 2 및 도 3은 단지 몇가지 가능한 컨테이너만을 예시하고 있다. 하나 이상의 항목이 서로 그룹화될 수 있을 때는 언제든지 기타 컨테이너도 이와 유사하게 장치에 의해 정의될 수 있다. 예를 들어, 영상, 비디오, 및 기타 항목의 그룹에 대한 컨테이너가 발생될 수 있다. 다른 일례로서, 종래의 운영 체제 사용자 인터페이스 상의 아이콘이 2개의 컨테이너(하나는 도크에 대응하고 하나는 화면 상에 디스플레이된 다른 아이콘에 대응함)로 그룹화될 수 있다.
가상 컨테이너 영역을 사용하는 예시적인 프로세스
도 4는 가상 컨테이너 영역에 따라 입력을 처리하는 예시적인 프로세스(400)의 흐름도이다. 편의상, 예시적인 프로세스(400)는 프로세스(400)를 수행하는 시스템을 참조하여 기술될 것이다.
시스템은 사용자 인터페이스 상의 물리적 영역에 대응하는 컨테이너 영역을 정의할 수 있다(402). 각각의 컨테이너 영역은 하나 이상의 사용자 인터페이스 항목을 포함할 수 있다. 시스템은 컨테이너 영역의 현재의 좌표 및/또는 컨테이너 영역의 크기 및/또는 컨테이너 영역의 콘텐츠를 나타내는 데이터를 저장함으로써 컨테이너 영역을 정의할 수 있다. 컨테이너 영역의 좌표는 사용자 장치의 사용자 인터페이스 상의 영역의 물리적 위치에 대응한다. 예를 들어, 도 2에 예시된 사용자 인터페이스에 대해, 시스템은 4개의 컨테이너(202a, 202b, 202c, 202d)가 있다는 것을 나타내는 데이터, 사용자 인터페이스 상의 각각의 컨테이너의 물리적 좌표를 나타내는 데이터, 및 각각의 컨테이너의 콘텐츠를 나타내는 데이터[예컨대, 컨테이너(202a)는 4개의 항목을 하기의 순서로 포함함: 항목(204a, 204b, 204c, 204d)]를 유지할 수 있다.
컨테이너 정의는 또한 컨테이너에 관한 부가의 데이터, 예를 들어, 컨테이너의 순서를 정의하는 데이터, 또는 각각의 컨테이너의 간략한 설명(예를 들어, 각각의 컨테이너의 제목)을 포함할 수 있다.
시스템은, 유사한 사용자 인터페이스 항목이 컨테이너 영역에 대응하는 각각의 물리적 영역에 디스플레이되도록, 컨테이너 영역을 정의할 수 있다. 유사한 사용자 인터페이스 항목이란 공통 속성을 공유하는 사용자 인터페이스 항목이다. 예를 들어, 도 2의 컨테이너(202a)에 예시된 폴더는 각각 동일한 기본 기능(예컨대, 그 각자의 폴더에 대응하는 데이터가 디스플레이되게 함)을 가지는 사용자 선택가능 사용자 인터페이스 항목이다. 다른 일례로서, 도 2의 컨테이너(202b)에 예시된 이메일 헤더 데이터는 모두 이메일 메시지로부터 추출된 헤더 정보에 대응한다. 또 다른 일례로서, 도 2의 컨테이너(202c)에 예시된 사용자 선택가능 항목은 각각 디스플레이된 이메일 메시지에 대해 특정의 동작이 수행되게 하는 사용자 선택가능 항목이다.
시스템은 컨테이너에 대한 물리적 영역을 식별해주는 다양한 발견적 학습법(heuristics)을 사용할 수 있다. 예를 들어, 시스템은, 컨테이너를 식별하고 컨테이너의 경계를 결정하기 위해, 도 2를 참조하여 전술한 것들과 같은 기준을 적용할 수 있다. 다른 대안으로서 또는 그에 부가하여, 시스템은 특정의 응용 프로그램에 대해 컨테이너가 어디에 있어야 하는지를 정의하는 데이터를 제3자(예컨대, 소프트웨어 개발자)로부터 수신할 수 있다. 예를 들어, 소프트웨어 개발자는 특정의 사용자 인터페이스 구성요소가 컨테이너라는 것을 명시하기 위해 응용 프로그램 프로그래밍 인터페이스에 규정된 명령을 사용할 수 있다. 개발자는 특정의 속성을 사용자 인터페이스 구성요소와 연관시킬 수 있거나, 구성요소의 상태를 "컨테이너"와 "컨테이너 아님" 사이에서 토글시키기 위해 응용 프로그램 프로그래밍 인터페이스에 의해 제공되는 메소드를 호출할 수 있다. 이들 구현예에서, 시스템은 수신된 컨테이너 정의를 사용자 인터페이스 상의 적절한 좌표에 매핑할 수 있다.
시스템은 또한 현재의 컨테이너(예컨대, 사용자에 의해 선택된 마지막 컨테이너) 및 컨테이너 내의 현재의 항목(예컨대, 그에 대한 콘텐츠가 제시된 마지막 항목)을 나타내는 데이터를 유지할 수 있다. 이 데이터는 시스템에 의해, 예를 들어, 이하에 기술된 바와 같이 사용될 수 있다.
시스템은 사용자 인터페이스 상의 제1 위치에서 수신된 제1 터치 입력에 대응하는 제1 터치 이벤트를 수신할 수 있다(404). 시스템은 제1 터치 이벤트를, 예를 들어, 터치 서비스로부터 수신할 수 있다. 예시적인 터치 서비스는 도 10을 참조하여 이하에서 기술된다.
시스템은 제1 위치가 특정의 컨테이너 영역의 물리적 영역에 대응하는 것으로 판정할 수 있다(406). 시스템은, 예를 들어, 제1 입력의 좌표(예컨대, 입력에 대응하는 사용자 인터페이스 상의 위치)를 컨테이너 영역과 연관된 좌표와 비교함으로써, 입력이 물리적 영역 내인 것으로 판정할 수 있다.
시스템은 사용자 인터페이스 상의 제2 위치에서 수신된 제2 터치 입력에 대응하는 제2 터치 이벤트를 수신할 수 있다(408). 시스템은 제2 터치 이벤트를, 예를 들어, 터치 서비스로부터 수신할 수 있다.
시스템은, 예컨대, 제2 터치 이벤트에 응답하여, 제1 컨테이너 영역의 컨텍스트에 따라 사용자에게 제시할 콘텐츠를 결정할 수 있다(410). 컨텍스트는 컨테이너 영역 내의 사용자 인터페이스 항목, 그에 대한 콘텐츠가 제시된 컨테이너 영역 내의 마지막 사용자 인터페이스 항목(여기서, 컨테이너 영역은 컨테이너 영역들의 순서로 되어 있음), 및 컨테이너 영역의 물리적 경계 중 하나 이상을 포함할 수 있다. 시스템은 제시할 적절한 콘텐츠를, 예를 들어, 다음과 같이 결정할 수 있다. 시스템은 특정의 입력 이벤트를 특정의 동작에 매핑하는 데이터베이스에서 제2 입력 이벤트를 찾고, 제2 입력과 연관된 동작을 취하며, 이어서 동작과 연관되어 있는 콘텐츠를 출력할 수 있다.
시스템은, 입력이 수신된 위치에 상관없이, 입력을 처리할 수 있다. 예를 들어, 입력이 시스템에 의해 유지되는 순서와 관련하여 특정의 항목 또는 컨테이너를 요청할 수 있고, 시스템은 그 순서에 따라 요청된 항목을 식별할 수 있다. 예를 들어, 요청된 동작이 특정의 항목(예컨대, 다음 또는 이전 항목, 또는 컨테이너 내의 제1 또는 마지막 항목)으로 이동하는 것인 경우, 시스템은, 예를 들어, 도 5를 참조하여 이하에서 기술하는 바와 같이, 그렇게 할 수 있다. 다른 일례로서, 요청된 동작이 현재의 컨테이너를 업데이트하는 것인 경우, 시스템은, 예를 들어, 도 6을 참조하여 이하에서 기술하는 바와 같이, 그렇게 할 수 있다. 시스템이 특정의 항목 또는 특정의 컨테이너로 이동하면, 시스템은 그 항목 또는 컨테이너에 적절한 콘텐츠를 제시할 수 있다.
다른 대안으로서, 시스템은, 입력이 수신된 위치에 기초하여, 입력을 처리할 수 있다. 예를 들어, 도 7을 참조하여 이하에서 기술하는 바와 같이, 시스템은, 제2 입력이 제1 컨테이너 영역 밖일 때, 사용자에게 경고할 수 있다.
도 5는 가상 컨테이너 내의 항목을 식별하고 항목에 대한 콘텐츠를 제시하는 예시적인 프로세스(500)의 흐름도이다. 편의상, 예시적인 프로세스(500)는 프로세스(500)를 수행하는 시스템을 참조하여 기술될 것이다.
시스템은, 예를 들어, 도 4를 참조하여 전술한 바와 같이, 사용자 인터페이스 상의 컨테이너 영역을 정의할 수 있다(502).
시스템은 제1 터치 입력 이벤트로부터 제1 컨테이너 영역을 식별할 수 있다(504). 시스템은 제1 터치 입력 이벤트를, 예를 들어, 터치 서비스로부터 수신할 수 있다.
시스템은 제1 컨테이너 영역을 다양한 방식으로 식별할 수 있다. 예를 들어, 시스템은, 도 5를 참조하여 전술한 바와 같이, 특정의 컨테이너 영역 내에서의 제1 터치 입력 이벤트를 수신하고 그 영역을 식별할 수 있다. 다른 일례로서, 시스템은, 도 6을 참조하여 이하에서 더 상세히 기술하는 바와 같이, 특정의 영역이 새로운 현재의 컨테이너 영역이어야 한다는 것을 나타내는 제스처에 대응하는 제1 터치 입력 이벤트를 수신할 수 있다.
시스템은 제2 터치 입력 이벤트를 수신할 수 있다(506). 시스템은 제2 터치 입력 이벤트를 터치 서비스로부터 수신할 수 있다. 제2 터치 입력은 특정의 항목을 제시하라고 요청하는 제스처에 대응할 수 있다. 특정의 항목이 컨테이너 영역 내의 항목들의 순서에서의 상대 위치에 의해 식별될 수 있다. 예를 들어, 제2 터치 입력이 컨테이너 영역 내의 제1 항목을 제시하라는 또는 컨테이너 영역 내의 마지막 항목을 제시하라는 요청에 대응하는 제스처일 수 있다. 다른 일례로서, 제2 터치 입력이 다음 또는 이전 항목을 제시하라는 요청에 대응하는 제스처일 수 있다. 예시적인 입력 제스처가 도 2를 참조하여 전술되어 있다.
시스템은 제2 터치 입력에 응답하여 제1 컨테이너 영역 내의 항목에 대한 콘텐츠가 제시되어야 하는 것으로 판정할 수 있다(508). 시스템은 입력에 의해 요청된 항목을 식별하고 이어서 항목과 연관된 콘텐츠를 검색함으로써 이 판정을 할 수 있다.
시스템은 컨테이너 영역 내의 항목들의 순서, 사용자로부터의 입력, 및 선택적으로 컨테이너에 대해 제시된 마지막 항목 및 컨테이너들의 순서에 따라 제1 컨테이너 영역 내의 적절한 항목을 식별할 수 있다. 예를 들어, 입력이 컨테이너 내의 제1 또는 마지막 항목을 요청하는 경우, 시스템은 컨테이너 내의 항목들의 순서에 따라 제1 또는 마지막 항목을 식별할 수 있다. 입력이 컨테이너 내의 제1 항목을 요청하고 제시된 마지막 항목이 제1 항목이었던 경우, 시스템은 이전 컨테이너 내의 제1 항목을 식별할 수 있다. 입력이 컨테이너 내의 마지막 항목을 요청하고 제시된 마지막 항목이 마지막 항목이었던 경우, 시스템은 다음 컨테이너 내의 제1 항목을 식별할 수 있다.
다른 일례로서, 입력이 컨테이너 내의 다음 또는 이전 항목을 요청하는 경우, 시스템은 그에 관한 콘텐츠를 제시한 마지막 항목이 순서에서 어디에 있는지를 식별하고 이어서, 적절한 경우, 다음 또는 이전 항목을 식별할 수 있다. 제시된 마지막 항목이 컨테이너 내의 제1 항목이었고 입력이 이전 항목을 요청하는 경우, 시스템은 이전 컨테이너 내의 마지막 항목을 제시할 수 있다. 다른 대안으로서, 시스템은 순환하여 현재의 컨테이너 내의 제1 항목을 제시할 수 있다. 이와 유사하게, 제시된 마지막 항목이 컨테이너 내의 마지막 항목이었고 입력이 다음 항목을 요청하는 경우, 시스템은 다음 컨테이너 내의 제1 항목을 제시할 수 있거나 순환하여 현재의 컨테이너 내의 제1 항목을 제시할 수 있다. 순환할지 다음 또는 이전 컨테이너로 이동할지의 결정은 사용자 선호도에 따라 행해질 수 있거나 사전 결정되어 있을 수 있다.
항목과 연관된 콘텐츠가 요청된 항목에 대한 설명일 수 있다. 설명은 항목의 제목 및/또는 간략한 설명을 포함할 수 있다.
시스템은 콘텐츠를 제시할 수 있다(510). 시스템은 사용자가 접근할 수 있는 방식으로 콘텐츠를 제시할 수 있다(예를 들어, 햅틱 피드백 또는 합성된 음성과 같은 청각적 출력이 사용될 수 있다). 콘텐츠가 또한 사용자 선호도에 따라 제시될 수 있다. 예시적인 선호도은 콘텐츠가 어떻게 제시되는지에 관한 선호도(예컨대, 청각 콘텐츠에 대한 볼륨, 언어, 음성 품질, 음조, 및 말하기 속도 중 하나 이상)을 포함할 수 있다.
도 6은 현재의 컨테이너 영역을 업데이트하는 예시적인 프로세스(600)의 흐름도이다. 편의상, 예시적인 프로세스(600)는 프로세스(600)를 수행하는 시스템을 참조하여 기술될 것이다.
시스템은, 예를 들어, 도 4를 참조하여 전술한 바와 같이, 사용자 인터페이스 상의 컨테이너 영역을 정의할 수 있다(602).
시스템은 제1 컨테이너 영역을 현재의 영역으로서 식별할 수 있다(604).
제1 컨테이너 영역은, 예를 들어, 도 5를 참조하여 전술한 바와 같이, 사용자 입력에 따라 식별될 수 있다. 다른 대안으로서, 시스템은, 예를 들어, 도 4를 참조하여 전술한 바와 같이, 현재의 영역을 식별하기 위해 저장된 데이터를 사용할 수 있다.
시스템은 사용자 입력에 응답하여, 예를 들어, 현재의 영역을 나타내는 데이터를 수정함으로써 현재의 영역을 상이한 제2 컨테이너 영역으로 업데이트할 수 있다(606). 시스템은 입력을, 예를 들어, 터치 서비스로부터 터치 입력 이벤트로서 수신할 수 있다. 터치 입력 이벤트는 특정의 제스처가 검출되었다는 것을 식별해줄 수 있다. 시스템은, 예를 들어, 데이터베이스에서 제스처와 연관된 위치를 검색함으로써, 제스처를 사용자에 의해 요청되는 컨테이너들에 대한 순서에서의 특정의 위치에 매핑할 수 있다. 시스템은 사용자 입력 및 영역들에 대한 순서에 따라 적절한 업데이트된 영역을 결정할 수 있다. 예를 들어, 시스템이 다른 컨테이너(예컨대, 제1 또는 마지막 컨테이너)로 이동할 것을 사용자 입력이 요청하는 경우, 시스템은 컨테이너들의 순서에 따라 요청된 컨테이너를 식별할 수 있다. 다른 일례로서, 시스템이 컨테이너 내의 다음(또는 마지막) 항목으로 이동할 것을 사용자 입력이 요청하지만 시스템에 의해 제시된 이전 항목이 컨테이너 내의 마지막 항목이었던 경우, 시스템은 다음 컨테이너로 이동할 수 있다. 이와 유사하게, 시스템이 컨테이너 내의 이전(또는 제1) 항목으로 이동할 것을 사용자 입력이 요청하지만 시스템에 의해 제시된 이전 항목이 컨테이너 내의 제1 항목이었던 경우, 시스템은 이전 컨테이너로 이동할 수 있다.
시스템은 업데이트된 현재의 영역에 대응하는 콘텐츠를 제시할 수 있다(608). 예를 들어, 시스템은 업데이트된 현재의 컨테이너 영역에 대한 간략한 설명을 제시할 수 있다. 이 설명은 업데이트된 현재의 컨테이너 내의 항목의 제목 및/또는 간략한 설명 또는 수를 포함할 수 있다. 시스템은, 다른 대안으로서 또는 그에 부가하여, 컨테이너 내의 하나 이상의 항목(예를 들어, 컨테이너 내의 제1 항목)에 관한 콘텐츠를 제시할 수 있다.
일부 구현예에서, 시스템이 현재의 컨테이너 영역을 업데이트할 때, 시스템은 또한 컨테이너 영역의 보다 큰 표현을 화면 상에 디스플레이할 수 있다. 예를 들어, 시스템은, 업데이트된 컨테이너 영역이 장치 상에 디스플레이된 유일한 것이 되도록, 이를 확장시킬 수 있다.
도 7은 사용자가 주어진 컨테이너 영역 밖에서 입력을 제공할 때 사용자에게 경고하는 예시적인 프로세스(700)의 흐름도이다. 편의상, 예시적인 프로세스(700)는 프로세스(700)를 수행하는 시스템을 참조하여 기술될 것이다.
시스템은, 예를 들어, 도 4를 참조하여 전술한 바와 같이, 사용자 인터페이스 상의 컨테이너 영역을 정의할 수 있다(702).
시스템은, 예를 들어, 도 4를 참조하여 전술한 바와 같이, 제1 컨테이너 영역 내에서의 제1 입력에 대응하는 제1 터치 입력 이벤트를 수신할 수 있다(704).
시스템은 제2 입력에 대응하는 제2 터치 입력 이벤트를 수신할 수 있고, 제2 터치 입력이 제1 컨테이너 영역 밖인 것으로 판정할 수 있다(706). 시스템은, 제2 입력의 좌표를 현재의 컨테이너에 대한 정의에서의 좌표와 비교함으로써, 이 판정을 할 수 있다.
시스템은 제2 터치 입력이 제1 컨테이너 영역 밖이라는 것을 사용자에게 통지할 수 있다(708). 예를 들어, 시스템은 제2 입력이 제1 컨테이너 영역 밖이라는 것을 나타내기 위해 독특한 청각 피드백(예컨대, 사운드 효과) 또는 햅틱 피드백을 제공할 수 있다.
예시적인 가상적으로 확장된 항목
도 8은 장치(800) 상의 예시적인 사용자 인터페이스(801)를 나타낸 것이다. 또한, 사용자 인터페이스에 제시된 항목에 대한 가상 확장된 경계[예컨대, 가상 확장된 경계(802, 804, 806, 808, 810, 812, 814, 816, 818, 820, 822)]가 사용자 인터페이스(801) 상에 예시되어 있다. 가상 확장된 경계는, 단지 예시적인 목적을 위해, 사용자 인터페이스 상에 보여져 있고, 이들이 장치에 의해 유지되지만, 사용자에게 보여지는 사용자 인터페이스 상에서 일반적으로 시각적으로 구분되지 않는다. 이하에서 기술할 것인 바와 같이, 장치는 사용자가 터치 스크린 장치를 탐색하는 것을 돕기 위해 이들 가상 확장된 경계를 사용한다.
사용자가 사용자 인터페이스(801) 상의 특정의 위치에서 터치 입력을 제공할 때, 장치는 입력이 사용자 인터페이스에 제시된 항목에 대한 가상 확장된 경계들 중 하나의 경계 내인지를 판정할 수 있다. 그러한 경우, 장치 상에서 실행 중인 응용 프로그램은 사용자가 항목을 선택한 것처럼 기능할 수 있다. 예를 들어, 사용자는 가상 확장된 경계(802)의 좌측 상부 가장자리에서 터치했을 수 있고, 이메일 응용 프로그램은 사용자가 "받은 편지함" 사용자 선택가능 컨트롤(824)를 실제로 선택한 것처럼 기능할 것이다.
가상적으로 확장된 항목 경계를 사용하는 예시적인 프로세스
도 9는 가상적으로 확장된 항목 경계를 사용하는 예시적인 프로세스(900)의 흐름도이다. 편의상, 예시적인 프로세스(900)는 프로세스(900)를 수행하는 시스템을 참조하여 기술될 것이다.
시스템은 장치의 사용자 인터페이스 상에 디스플레이된 하나 이상의 사용자 인터페이스 항목의 위치를 명시하는 데이터를 수신한다(902). 데이터는, 예를 들어, 항목이 사용자 인터페이스 상에서 어디에 디스플레이되는지를 추적하는 종래의 기법을 사용하여 발생될 수 있다.
데이터는 사용자 인터페이스 상에 디스플레이된 각각의 항목의 경계를 식별해주는 데이터를 포함할 수 있다. 예를 들어, 데이터는 항목의 경계를 이루고 있는 직사각형의 4개의 코너를 명시할 수 있다.
시스템은 제1 사용자 인터페이스 항목과 연관된 영역을 확장시키기 위해 수신된 데이터를 수정한다(904). 이 수정은 제1 사용자 인터페이스 항목과 연관된 경계를 확장시키며, 사실상 사용자 인터페이스 항목에 대한 가상 경계를 생성한다. 수정된 경계는 다른 사용자 인터페이스 항목들 중 임의의 것에 대한 경계와 중복하지 않도록 선택될 수 있다.
일부 구현예에서, 시스템은 먼저 항목에 대한 경계가 확장되어야 하는지 여부를 판정할 수 있다. 이것을 하기 위해, 시스템은 하나 이상의 방향에서 항목 주변의 (예컨대, 다른 사용자 인터페이스 항목이 없는) 빈 공간의 양이 임계값을 만족시키는지 여부를 고려할 수 있다. 임계값은 소정의 임계값일 수 있거나, 동적일 수 있다. 예를 들어, 임계값은 현재 시간에서 장치 상에 디스플레이된 가장 큰, 가장 작은 또는 평균 사용자 인터페이스 창의 크기의 퍼센트일 수 있다. 다른 대안으로서 또는 그에 부가하여, 시스템은 항목에 대한 경계가 항목에 대한 특정의 속성에 따라 확장되어야만 하는 것으로 판정할 수 있다. 일부 항목이, 예를 들어, 생성될 때, 확장을 필요로 하는 것으로 식별될 수 있다.
시스템은 사용자 인터페이스 항목과 연관된 경계를 어떻게 수정할지를 결정하기 위해 다양한 발견적 학습법을 사용할 수 있다.
일부 구현예에서, 시스템은 사용자 인터페이스 상의 하나 이상의 방향에서 사용자 인터페이스 항목 주변의 빈 공간의 양을 결정한다. 시스템은 이어서 주어진 방향으로 그 방향에서의 빈 공간의 양으로부터 도출된 양만큼 경계를 확장시킬 수 있다. 예를 들어, 시스템은 빈 공간의 양을 스케일링 인자(예컨대, 1/3)와 곱할 수 있거나, 빈 공간의 양으로부터 상수값을 뺄 수 있다. 다른 대안으로서, 시스템은, 예컨대, 전술한 바와 같이 각각의 방향에 대한 가능한 확장 양을 결정하고 이어서 각각의 방향에서 가장 작은 결정된 확장 양만큼 경계를 확장시킴으로써, 각각의 방향에서 동일한 양만큼 경계를 확장시킬 수 있다.
일부 구현예에서, 시스템은 소정의 확장 양을 사용한다. 소정의 확장 양은 사용자 인터페이스 항목의 유형에 고유할 수 있다. 예를 들어, 도크 내의 아이콘은 한 확장 양을 가질 수 있고, 웹 페이지 내의 하이퍼링크는 상이한 확장 양을 가질 수 있다. 일부 구현예에서, 시스템은, 예를 들어, 확장된 경계와 다른 항목에 대한 경계 사이의 중복을 방지하기 위해, 소정의 확장 양을 수정할 수 있다.
일부 구현예에서, 항목이 특정의 사용자 인터페이스 구성요소 내에 포함되어 있을 때(예컨대, 표의 셀 내의 텍스트), 시스템은 항목을 사용자 인터페이스 구성요소의 크기로 확장시킨다. 예를 들어, 시스템은 텍스트를 표의 셀과 동일한 높이 및/또는 표의 셀과 동일한 폭을 갖도록 확장시킬 수 있다.
시스템은 사용자 인터페이스 상의 위치에서의 터치 입력에 대응하는 터치 입력 이벤트를 수신하고 터치 입력이 제1 사용자 인터페이스 항목에 대한 확장된 영역 내인 것으로 판정한다(906). 시스템은 터치 입력 이벤트를 터치 서비스로부터 입력 이벤트로서 수신할 수 있다. 예시적인 터치 서비스는 도 10을 참조하여 이하에서 기술된다.
시스템은 사용자가 사용자 인터페이스 상의 항목을 선택했는지를 다음과 같이 판정할 수 있다. 먼저, 시스템은 입력이 나타내는 화면 상의 위치를 결정한다. 이어서, 시스템은 그 위치를 수정된 데이터가 나타내는 경계와 비교한다.
시스템은, 예컨대, 사용자 입력에 응답하여, 제1 사용자 인터페이스 항목이 선택되었다는 것을 나타내는 입력을 장치 상의 응용 프로그램에 제공한다(908).
일부 구현예에서, 시스템은 트리거링 이벤트에 응답하여 다수의 항목에 대한 경계를 수정한다. 예를 들어, 시스템이 컨테이너 영역 내에서 터치 이벤트를 수신하는 경우, 시스템은 컨테이너 내의 모든 항목에 대한 경계를 수정할 수 있다(선택적으로 컨테이너 영역 내에 있지 않은 임의의 항목에 대한 경계를 그의 원래의 값으로 복귀시킴).
예시적인 소프트웨어 아키텍처
도 10은 장치 접근성을 향상시키는 예시적인 소프트웨어 아키텍처(1000)를 나타낸 것이다. 예시적인 소프트웨어 아키텍처(1000)는 도 4 내지 도 7 및 도 9를 참조하여 전술한 방법을 구현하는 데 사용될 수 있다.
소프트웨어 아키텍처(1000)는 운영 체제(1002), 터치 서비스 모듈(1004), 입력 수정 계층(1006) 및 응용 프로그램(들)(1008)을 포함할 수 있다. 이 아키텍처는 개념상으로 하드웨어 계층(도시 생략) 상부에서 동작할 수 있다.
운영 체제(1002)는 하드웨어 계층(예컨대, 용량성 터치 디스플레이 또는 장치)에의 인터페이스를 제공한다. 운영 체제(1002)는 하드웨어와 통신하는 하나 이상의 소프트웨어 드라이버를 포함할 수 있다. 예를 들어, 드라이버는 하드웨어 계층에 있는 터치 감응 디스플레이 또는 장치에 의해 발생된 터치 입력 신호를 수신하고 처리할 수 있다. 운영 체제(1002)는 드라이버(들)로부터 수신된 원시 입력 데이터를 처리할 수 있다. 이 처리된 입력 데이터는 이어서 하나 이상의 API(application programming interface)를 통해 터치 서비스 계층(1004)가 이용할 수 있게 될 수 있다. 이들 API는 보통 운영 체제(예를 들어, Linux 또는 UNIX API 등)에 포함되어 있는 한 세트의 API는 물론, 터치 입력에 관한 데이터를 전송 및 수신하기 위한 특정한 API일 수 있다.
터치 서비스 모듈(1004)은 운영 체제 계층(1002)으로부터 터치 입력을 수신하고, 내부 터치 이벤트 모델에 따라, 이들 터치 입력 중 하나 이상의 터치 입력을 터치 입력 이벤트로 변환할 수 있다.
터치 입력 이벤트는 터치 감응 장치에 의해 발생된 원시(raw) 터치 입력 신호보다 응용 프로그램에서 사용하기 더 쉬운 형식(예컨대, 속성)으로 되어 있을 수 있다. 예를 들어, 터치 입력 이벤트는 사용자 인터페이스 상에서 터치가 현재 일어나고 있는 각각의 위치에 대한 한 세트의 좌표를 포함할 수 있다.
일부 구현예에서, 2개 이상의 터치 입력 이벤트를 결합함으로써 제스처 터치 입력 이벤트도 역시 검출될 수 있다. 제스처 입력 이벤트는 스케일 및/또는 회전 정보를 포함할 수 있다. 회전 정보는 상대적 델타(relative delta)(단위: 도)인 회전 값을 포함할 수 있다. 스케일 정보는 또한 디스플레이 장치 상에서의 상대적 델타(단위: 픽셀)인 스케일링 값을 포함할 수 있다. 다른 제스처 이벤트가 가능하다.
이들 터치 입력 이벤트의 전부 또는 일부는 터치 입력 이벤트 API를 통해 개발자가 이용할 수 있게 될 수 있다. 터치 입력 API는 소프트웨어 개발 키트(SDK)로서 또는 응용 프로그램의 일부로서(예컨대, 브라우저 툴킷의 일부로서) 개발자가 이용할 수 있게 될 수 있다.
예를 들어, 도 2 내지 도 7을 참조하여 전술한 바와 같이, 입력 수정 계층(1006)은 터치 서비스 계층으로부터 입력을 수신하고, 사용자 인터페이스 항목의 가상 컨테이너 및/또는 가상 확장에 따라 입력을 처리한다. 입력 수정 계층은 이어서 명령어 이벤트를 하나 이상의 응용 프로그램에 제공한다. 응용 프로그램은 API를 통해 이들 명령어 이벤트에 액세스할 수 있다
응용 프로그램(들)(1008)은 입력 수정 계층으로부터 명령어 이벤트를 수신하고 명령어 이벤트의 내용에 기초하여 적절한 동작을 취한다.
예시적인 장치 아키텍처
도 11은 향상된 접근성을 갖는 장치(1000)의 예시적인 하드웨어 아키텍처의 블록도이다. 장치(1100)는 메모리 인터페이스(1102), 하나 이상의 데이터 프로세서, 이미지 프로세서 및/또는 중앙 처리 장치(1104), 및 주변 장치 인터페이스(1106)를 포함할 수 있다. 메모리 인터페이스(1102), 하나 이상의 프로세서(1104) 및/또는 주변 장치 인터페이스(1106)는 개별적인 구성요소일 수 있거나 하나 이상의 집적 회로에 통합되어 있을 수 있다. 장치(1100) 내의 다양한 구성요소가 하나 이상의 통신 버스 또는 신호선에 의해 결합될 수 있다.
센서, 장치 및 서브시스템이 다수의 기능을 용이하게 해주기 위해 주변 장치 인터페이스(1106)에 결합될 수 있다. 예를 들어, 움직임 센서(1110), 광 센서(1112) 및 근접 센서(1114)가 다양한 배향, 조명 및 근접 기능을 용이하게 해주기 위해 주변 장치 인터페이스(1106)에 결합될 수 있다. 예를 들어, 일부 구현예에서, 터치 스크린(1146)의 밝기를 조절하는 것을 용이하게 해주기 위해 광 센서(1112)가 이용될 수 있다. 일부 구현예에서, 장치의 움직임을 검출하기 위해 움직임 센서(1110)(예컨대, 가속도계, 속도계 또는 자이로스코프)가 이용될 수 있다. 따라서, 사용자 인터페이스 항목 및/또는 미디어가 검출된 배향(예컨대, 세로 또는 가로)에 따라 제시될 수 있다.
온도 센서, 생체 인식 센서, 또는 기타 감지 장치 등의 기타 센서(1116)도 관련 기능을 용이하게 해주기 위해 주변 장치 인터페이스(1106)에 연결될 수 있다.
위치 확인 시스템(1132)을 통해 위치 결정 기능이 용이하게 될 수 있다. 다양한 구현예에서, 위치 확인 시스템(1132)은 장치(1100) 내부에 있는 구성요소일 수 있거나, (예컨대, 유선 연결 또는 무선 연결을 사용하여) 장치(1100)에 결합된 외부 구성요소일 수 있다. 일부 구현예에서, 위치 확인 시스템(1132)은 GPS 수신기 및 수신된 GPS 위성 신호로부터 위치 확인 정보를 도출하는 동작을 하는 위치 확인 엔진을 포함할 수 있다. 다른 구현예에서, 위치 확인 시스템(1132)은 나침반(예를 들어, 자기 나침반) 및 가속도계는 물론, 추측 항법(dead reckoning) 기법에 기초하여 위치 확인 정보를 도출하는 동작을 하는 위치 확인 엔진을 포함할 수 있다. 또 다른 구현예에서, 위치 확인 시스템(1132)은 장치와 연관된 위치 정보를 결정하기 위해 무선 신호(예를 들어, 셀룰러 신호, IEEE 802.11 신호)를 사용할 수 있다. 다른 위치 확인 시스템이 가능하다.
하나 이상의 무선 주파수(RF) 수신기(들)(1118)를 통해 방송 수신 기능이 용이하게 될 수 있다. RF 수신기는, 예를 들어, AM/FM 방송 또는 위성 방송(예컨대, XM® 또는 Sirius® 라디오 방송)을 수신할 수 있다. RF 수신기는 또한 TV 튜너일 수 있다. 일부 구현예에서, RF 수신기(1118)는 무선 통신 서브시스템(1124) 내에 내장되어 있다. 다른 구현예에서, RF 수신기(1118)는 (예를 들어, 유선 연결 또는 무선 연결을 사용하여) 장치(1100)에 결합된 독립적인 서브시스템이다. RF 수신기(1118)는 동시 방송(simulcast)을 수신할 수 있다. 일부 구현예에서, RF 수신기(1118)는 방송 콘텐츠 및 동시 방송 데이터(예컨대, RDS 데이터)를 처리할 수 있는 RDS(Radio Data System) 프로세서를 포함할 수 있다. 일부 구현예에서, RF 수신기(1118)는 다양한 주파수에서 방송을 수신하기 위해 디지털적으로 동조될 수 있다. 게다가, RF 수신기(1118)는 위 또는 아래로 동조하다가 방송 콘텐츠가 이용가능한 다음 주파수에서 일시 정지하는 스캐닝 기능을 포함할 수 있다.
카메라 서브시스템(1120) 및 광 센서(1122) - 예컨대, CCD(charge coupled device) 또는 CMOS(complementary metal-oxide semiconductor) 광 센서 - 가 사진 및 비디오 클립의 녹화 등의 카메라 기능을 용이하게 해주기 위해 이용될 수 있다.
통신 기능은 하나 이상의 통신 서브시스템(1124)을 통해 용이하게 될 수 있다. 통신 서브시스템(들)은 하나 이상의 무선 통신 서브시스템 및 하나 이상의 유선 통신 서브시스템을 포함할 수 있다. 무선 통신 서브시스템은 무선 주파수 수신기 및 송신기 및/또는 광(예컨대, 적외선) 수신기 및 송신기를 포함할 수 있다. 유선 통신 시스템은 다른 컴퓨팅 장치(다른 통신 장치, 네트워크 액세스 장치, 개인용 컴퓨터, 프린터, 디스플레이 화면, 또는 데이터를 수신 및/또는 전송할 수 있는 다른 처리 장치 등)로의 유선 연결을 설정하는 데 사용될 수 있는 포트 장치[예컨대, USB(Universal Serial Bus) 포트 또는 어떤 다른 유선 포트 연결]를 포함할 수 있다. 통신 서브시스템(1124)의 특정의 설계 및 구현이 장치(1100)가 동작하도록 되어 있는 통신 네트워크(들) 또는 매체(들)에 의존할 수 있다. 예를 들어, 장치(1100)는 GSM(global system for mobile communications) 네트워크, GPRS 네트워크, EDGE(enhanced data GSM environment) 네트워크, 802.x 통신 네트워크(예컨대, Wi-Fi, WiMax, 또는 3G 네트워크), CDMA(code division multiple access) 네트워크, 및 블루투스™ 네트워크를 통해 동작하도록 설계되어 있는 무선 통신 서브시스템을 포함할 수 있다. 통신 서브시스템(1124)은 장치(1100)가 다른 무선 장치들에 대한 기지국으로서 구성될 수 있도록 호스팅 프로토콜(hosting protocol)을 포함할 수 있다. 다른 일례로서, 통신 서브시스템은 장치가 하나 이상의 프로토콜(예를 들어, TCP/IP 프로토콜, HTTP 프로토콜, UDP 프로토콜 및 임의의 다른 공지된 프로토콜 등)을 사용하여 호스트 장치와 동기할 수 있게 한다.
오디오 서브시스템(1126)은 스피커(1128) 및 하나 이상의 마이크(1130)에 결합될 수 있다. 하나 이상의 마이크(1130)는, 예를 들어, 음성-지원 기능(음성 인식, 음성 복제, 디지털 기록 및 전화 기능 등)을 용이하게 해주기 위해 사용될 수 있다.
I/O 서브시스템(1140)은 터치 스크린 제어기(1142) 및/또는 기타 입력 제어기(들)(1144)를 포함할 수 있다. 터치 스크린 제어기(1142)는 터치 스크린(1146)에 결합될 수 있다. 터치 스크린(1146) 및 터치 스크린 제어기(1142)는, 예를 들어, 용량성, 저항성, 적외선 및 표면 탄성파(surface acoustic wave) 기술은 물론, 터치 스크린(1146)과의 하나 이상의 접촉점 또는 터치 스크린(1146)에 대한 근접성을 판정하는 기타 근접 센서 어레이 또는 기타 요소(이들로 제한되지 않음)를 비롯한 다수의 터치 감도(touch sensitivity) 기술 중 임의의 기술을 사용하여 접촉 및 접촉의 움직임 또는 단절을 검출할 수 있다.
기타 입력 제어기(들)(1144)는 하나 이상의 버튼, 로커 스위치(rocker switch), 썸휠(thumbwheel), 적외선 포트, USB 포트, 및/또는 스타일러스와 같은 포인터 장치 등의 기타 입력/제어 장치(1148)에 결합될 수 있다. 하나 이상의 버튼(도시 생략)은 스피커(1128) 및/또는 마이크(1130)의 볼륨 제어를 위한 업/다운 버튼을 포함할 수 있다.
한 구현예에서, 제1 지속기간 동안 버튼을 누르면 터치 스크린(1146)의 잠금이 풀릴 수 있고, 제1 지속기간보다 긴 제2 지속기간 동안 버튼을 누르면 장치(1100)에 대한 전원을 켜거나 끌 수 있다. 사용자는 버튼들 중 하나 이상의 버튼의 기능을 커스터마이즈할 수 있다. 터치 스크린(1146)은 또한, 예를 들어, 가상 또는 소프트 버튼 및/또는 키보드를 구현하는 데 사용될 수 있다.
일부 구현예에서, 장치(1100)는 MP3, AAC 및 MPEG 파일 등의 레코딩된 오디오 및/또는 비디오 파일을 제시할 수 있다. 일부 구현예에서, 장치(1100)는 iPhone™ 등의 MP3 플레이어의 기능을 포함할 수 있다.
메모리 인터페이스(1102)는 메모리(1150)에 결합될 수 있다. 메모리(1150)는 고속 랜덤 액세스 메모리 및/또는 비휘발성 메모리[하나 이상의 자기 디스크 저장 장치, 하나 이상의 광 저장 장치, 및/또는 플래쉬 메모리(예를 들어, NAND, NOR) 등]를 포함할 수 있다. 메모리(1150)는 Darwin, RTXC, LINUX, UNIX, OS X, WINDOWS, 또는 임베디드 운영 체제(VxWorks 등)와 같은 운영 체제(1152)를 저장할 수 있다. 운영 체제(1152)는, 기본 시스템 서비스를 처리하고 하드웨어 의존적 작업을 수행하는 명령어를 포함할 수 있다. 일부 구현예에서, 운영 체제(1152)는 커널(예를 들어, UNIX 커널)일 수 있다.
메모리(1150)는 또한 하나 이상의 부가의 장치, 하나 이상의 컴퓨터 및/또는 하나 이상의 서버와의 통신을 용이하게 해주기 위해 통신 명령어(1154)를 저장할 수 있다. 통신 명령어(1154)는 또한, 장치의 지리적 위치[GPS/내비게이션 명령어(1168)에 의해 획득됨]에 기초하여, 장치에 의해 사용되는 동작 모드 또는 통신 매체를 선택하는 데 사용될 수 있다. 메모리(1150)는 그래픽 사용자 인터페이스 처리를 용이하게 해주는 그래픽 사용자 인터페이스 명령어(1156); 센서-관련 처리 및 기능[예컨대, 도 8을 참조하여 전술한 터치 서비스 모듈(804)]을 용이하게 해주는 센서 처리 명령어(1158); 전화-관련 프로세스 및 기능을 용이하게 해주는 전화 명령어(1160); 전자 메시징-관련 프로세스 및 기능을 용이하게 해주는 전자 메시징 명령어(1162); 웹 브라우징-관련 프로세스 및 기능을 용이하게 해주는 웹 브라우징 명령어(1164); 미디어 처리-관련 프로세스 및 기능을 용이하게 해주는 미디어 처리 명령어(1166); GPS 및 내비게이션-관련 프로세스 및 명령어(예컨대, 목표 위치를 지도에 표시하는 것)를 용이하게 해주는 GPS/내비게이션 명령어(1168); 카메라-관련 프로세스 및 기능을 용이하게 해주는 카메라 명령어(1170); 및/또는 기타 프로세스 및 기능(도 1 내지 도 9를 참조하여 기술된 접근성 특징 및 프로세스 등)을 용이하게 해주는 기타 소프트웨어 명령어(1172)를 포함할 수 있다. 메모리(1150)는 또한 웹 비디오-관련 프로세스 및 기능을 용이하게 해주는 웹 비디오 명령어, 및/또는 웹 쇼핑-관련 프로세스 및 기능을 용이하게 해주는 웹 쇼핑 명령어 등의 기타 소프트웨어 명령어(도시 생략)도 저장할 수 있다. 일부 구현예에서, 미디어 처리 명령어(1166)는, 오디오 처리-관련 프로세스 및 기능과 비디오 처리-관련 프로세스 및 기능을 용이하게 해주기 위해, 각각 오디오 처리 명령어 및 비디오 처리 명령어로 나누어진다.
이상에 언급한 명령어 및 응용 프로그램 각각이 이상에서 기술한 하나 이상의 기능을 수행하는 한 세트의 명령어에 대응할 수 있다. 이들 명령어가 개별적인 소프트웨어 프로그램, 프로시저 또는 모듈로서 구현될 필요는 없다. 메모리(1150)가 추가적인 명령어 또는 더 적은 명령어를 포함할 수 있다. 게다가, 장치(1100)의 다양한 기능이 하나 이상의 신호 처리 및/또는 ASIC(application specific integrated circuit)을 포함한 하드웨어로 및/또는 소프트웨어로 구현될 수 있다.
장치에 대한 예시적인 네트워크 동작 환경
도 12는 향상된 접근성을 갖는 장치에 대한 예시적인 네트워크 동작 환경(1200)의 블록도이다. 장치(1202a, 1202b)는, 예를 들어, 데이터 통신에서 하나 이상의 유선 및/또는 무선 네트워크(1210)를 통해 통신할 수 있다. 예를 들어, 무선 네트워크(1212)(예를 들어, 셀룰러 네트워크)는 게이트웨이(1216)를 사용하여 인터넷 등의 WAN(wide area network)(1214)과 통신할 수 있다. 이와 마찬가지로, 802.11g 무선 액세스 장치와 같은 액세스 장치(1218)는 WAN(wide area network)(1214)에의 통신 액세스를 제공할 수 있다. 일부 구현예에서, 음성 통신 및 데이터 통신 둘 다가 무선 네트워크(1212) 및 액세스 장치(1218)를 통해 설정될 수 있다. 예를 들어, 장치(1202a)는 (예를 들어, VoIP 프로토콜을 사용하여) 전화 통화를 걸고 받을 수 있고, (예를 들어, POP3 프로토콜을 사용하여) 이메일 메시지를 전송하고 수신할 수 있으며, (예를 들어, TCP/IP 또는 UDP 프로토콜을 사용하여) 무선 네트워크(1212), 게이트웨이(1216) 및 WAN(wide area network)(1214)을 통해 웹 페이지, 사진 및 비디오 등의 전자 문서 및/또는 스트림을 검색할 수 있다. 이와 마찬가지로, 일부 구현예에서, 장치(1202b)도 전화 통화를 걸고 받을 수 있고, 이메일 메시지를 전송하고 수신할 수 있으며, 액세스 장치(1218) 및 WAN(wide area network)(1214)을 통해 전자 문서를 검색할 수 있다. 일부 구현예에서, 장치(1202a 또는 1202b)는 하나 이상의 케이블을 사용하여 액세스 장치(1218)에 물리적으로 연결될 수 있고, 액세스 장치(1218)는 개인용 컴퓨터일 수 있다. 이 구성에서, 장치(1202a 또는 1202b)를 "코드가 있는(tethered)" 장치라고 할 수 있다.
장치(1202a, 1202b)는 또한 기타 수단에 의해 통신을 설정할 수 있다. 예를 들어, 무선 장치(1202a)는 무선 네트워크(1212)를 통해 다른 무선 장치 - 예를 들어, 다른 장치(1202a 또는 1202b), 휴대폰 등 - 와 통신할 수 있다. 이와 마찬가지로, 장치(1202a, 1202b)는 블루투스™ 통신 장치 등의 하나 이상의 통신 서브시스템을 사용하여 피어-투-피어 통신(1220) - 예컨대, PAN(personal area network) - 을 설정할 수 있다. 기타 통신 프로토콜 및 토폴로지도 구현될 수 있다.
장치(1202a 또는 1202b)는, 예를 들어, 하나 이상의 유선 및/또는 무선 네트워크(1210)를 통해 하나 이상의 서비스와 통신할 수 있다. 이들 서비스는, 예를 들어, 컨테이너 서비스(1230) 및 가상 항목 확장 서비스(1240)를 포함할 수 있다. 컨테이너 서비스(1230)는, 예를 들어, 도 2 내지 도 7을 참조하여 전술한 바와 같이, 가상 컨테이너의 정의 및 사용을 관리할 수 있다. 가상 항목 확장 서비스는, 예를 들어, 도 8 및 도 9를 참조하여 전술한 바와 같이, 사용자 인터페이스 항목의 가상 확장을 관리할 수 있다.
장치(1202a 또는 1202b)는 또한 하나 이상의 유선 및/또는 무선 네트워크(1210)를 통해 기타 데이터 및 콘텐츠에도 액세스할 수 있다. 예를 들어, 장치(1202a 또는 1202b)에 의해 뉴스 사이트, RSS 피드, 웹 사이트, 블로그, 소셜 네트워킹 사이트, 개발자 네트워크, 기타 등등의 콘텐츠 게시자가 액세스될 수 있다. 이러한 액세스는 사용자가, 예를 들어, 웹 객체를 터치한 것에 응답하여, 웹 브라우징 기능 또는 응용 프로그램(예를 들어, 브라우저)을 호출하는 것에 의해 제공될 수 있다.
기술된 특징은 디지털 전자 회로로, 또는 컴퓨터 하드웨어, 펌웨어, 소프트웨어로, 또는 이들의 조합으로 구현될 수 있다. 이들 특징은 프로그램가능 프로세서에 의해 실행되기 위해 정보 캐리어(information carrier)에 - 예를 들어, 기계 판독가능 저장 장치에 - 유형적으로 구현된 컴퓨터 프로그램 제품으로 구현될 수 있고, 방법 단계는 입력 데이터를 조작하여 출력을 발생함으로써 기술된 구현예의 기능을 수행하는 명령어들의 프로그램을 실행하는 프로그램가능 프로세서에 의해 수행될 수 있다. 다른 대안으로서 또는 그에 부가하여, 프로그램 명령어가 인위적으로 발생된 신호(예컨대, 프로그램가능 프로세서에서 실행하기 위해 적당한 수신기 장치로 전송하기 위한 정보를 인코딩하기 위해 발생되는 기계-발생 전기, 광, 또는 전자기 신호)인 전파 신호에 인코딩될 수 있다.
기술된 특징은 유익하게도 데이터 저장 시스템, 적어도 하나의 입력 장치 및 적어도 하나의 출력 장치로부터 데이터 및 명령어를 수신하고 이들에게로 데이터 및 명령어를 전송하도록 연결된 적어도 하나의 프로그램가능 프로세서를 포함하는 프로그램가능 시스템 상에서 실행가능한 하나 이상의 컴퓨터 프로그램으로 구현될 수 있다. 컴퓨터 프로그램은 특정의 동작을 수행하기 위해 또는 특정의 결과를 가져오기 위해 컴퓨터에서 직접 또는 간접적으로 사용될 수 있는 명령어 집합이다. 컴퓨터 프로그램은 컴파일된 또는 인터프리트된 언어를 비롯한 임의의 형태의 프로그래밍 언어(예를 들어, 오브젝티브-C, 자바)로 작성될 수 있고, 컴퓨터 프로그램은 독립형 프로그램으로서, 또는 모듈, 구성요소, 서브루틴, 또는 컴퓨팅 환경에서 사용하기에 적합한 기타 단위로서를 비롯한 임의의 형태로 배포될 수 있다.
명령어들의 프로그램을 실행하기에 적당한 프로세서는, 일례로서, 범용 마이크로프로세서 및 전용 마이크로프로세서 둘다와, 임의의 종류의 컴퓨터의 다중 프로세서 또는 코어 중 하나, 또는 단일 프로세서를 포함한다. 일반적으로, 프로세서는 판독 전용 메모리 또는 랜덤 액세스 메모리 또는 그 둘다로부터 명령어 및 데이터를 수신한다. 컴퓨터의 필수 요소는 명령어를 실행하는 프로세서와, 명령어 및 데이터를 저장하는 하나 이상의 메모리들이다. 일반적으로, 컴퓨터는 또한 데이터 파일을 저장하는 하나 이상의 대용량 저장 장치를 포함하거나, 그와 통신 연결되어 동작할 것이고, 이러한 장치는 내장형 하드 디스크 및 이동식 디스크와 같은 자기 디스크, 광자기 디스크, 및 광 디스크를 포함한다. 컴퓨터 프로그램 명령어 및 데이터를 유형적으로 구현하기에 적당한 저장 장치는, 일례로서, EPROM, EEPROM 및 플래시 메모리 장치 등의 반도체 메모리 장치, 내장형 하드 디스크 또는 이동식 디스크 등의 자기 디스크, 광자기 디스크, 그리고 CD-ROM 및 DVD-ROM 디스크를 포함한 모든 형태의 비휘발성 메모리를 포함한다. 프로세서 및 메모리는 ASIC(application-specific integrated circuit)에 의해 보완되거나, ASIC에 포함되어 있을 수 있다.
사용자와의 상호작용을 제공하기 위해, 이들 특징이 사용자에게 정보를 디스플레이하는 디스플레이 장치[CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터 등]와, 키보드 및 포인팅 장치(마우스 또는 트랙볼 등) - 이들에 의해 사용자가 컴퓨터에 입력을 제공할 수 있음 - 를 갖는 컴퓨터 상에서 구현될 수 있다.
이들 특징은 데이터 서버와 같은 백엔드 구성요소를 포함하거나, 응용 프로그램 서버 또는 인터넷 서버와 같은 미들웨어 구성요소를 포함하거나, 그래픽 사용자 인터페이스 또는 인터넷 브라우저를 갖는 클라이언트 컴퓨터와 같은 프런트엔드 구성요소를 포함하거나, 이들의 임의의 조합인 컴퓨터 시스템에서 구현될 수 있다. 시스템의 구성요소가 임의의 디지털 데이터 통신 형태 또는 매체(통신 네트워크 등)에 의해 연결될 수 있다. 통신 네트워크의 일례는, 예컨대, LAN, WAN 그리고 인터넷을 형성하는 컴퓨터 및 네트워크를 포함한다.
컴퓨터 시스템은 클라이언트 및 서버를 포함할 수 있다. 클라이언트 및 서버는 일반적으로 서로 멀리 떨어져 있으며, 통상적으로 네트워크를 통해 상호작용한다. 컴퓨터 프로그램이 각자의 컴퓨터 상에서 실행되고 서로 클라이언트-서버 관계를 갖는 것에 의해 클라이언트와 서버의 관계가 생긴다.
개시된 실시예의 하나 이상의 특징 또는 단계가 API(Application Programming Interface)를 사용하여 구현될 수 있다. API는 호출측 응용 프로그램과 서비스를 제공하는, 데이터를 제공하는, 또는 동작 또는 계산을 수행하는 다른 소프트웨어 코드(예컨대, 운영 체제, 라이브러리 루틴, 함수) 사이에서 전달되는 하나 이상의 파라미터를 정의할 수 있다.
API는 API 규격 문서에 정의된 호출 방식에 기초하여 파라미터 목록 또는 기타 구조를 통해 하나 이상의 파라미터를 전송 또는 수신하는 하나 이상의 호출로서 프로그램 코드에서 구현될 수 있다. 파라미터는 상수, 키, 데이터 구조, 객체, 객체 클래스, 변수, 데이터 유형, 포인터, 어레이, 목록, 또는 다른 호출일 수 있다. API 호출 및 파라미터는 임의의 프로그래밍 언어로 구현될 수 있다. 프로그래밍 언어는 API를 지원하는 기능에 액세스하기 위해 프로그래머가 이용하게 될 어휘 및 호출 방식을 정의할 수 있다.
일부 구현예에서, API 호출은 응용 프로그램을 실행하는 장치의 기능(입력 기능, 출력 기능, 처리 기능, 전력 기능, 통신 기능 등)을 응용 프로그램에 보고할 수 있다.
다수의 구현예가 기술되어 있다. 그럼에도 불구하고, 다양한 수정이 이루어질 수 있다는 것을 잘 알 것이다. 예를 들어, 추가의 구현예를 형성하기 위해 하나 이상의 구현예의 요소가 결합, 삭제, 수정 또는 보완될 수 있다. 또 다른 일례로서, 첨부 도면에 도시된 논리 흐름이 바람직한 결과를 달성하기 위해 도시된 특정의 순서 또는 순차적인 순서를 필요로 하지는 않는다. 게다가, 다른 단계가 기술된 흐름에 제공될 수 있거나, 단계가 그로부터 생략될 수 있고, 다른 구성요소가 기술된 시스템에 추가되거나 그로부터 제거될 수 있다. 그에 따라, 다른 구현예가 이하의 특허청구범위의 범위 내에 있다.
Claims (26)
- 데이터 처리 장치에 의해 실행되는 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법으로서,
복수의 컨테이너 영역들을 정의하는 단계 - 각각의 컨테이너 영역은 장치의 터치 감응 사용자 인터페이스 상의 각각의 물리적 영역에 대응하며, 제1 컨테이너 영역의 각각의 물리적 영역은, 복수의 유사한 사용자 인터페이스 항목들이 상기 터치 감응 사용자 인터페이스 상의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 디스플레이되도록 정의됨 -;
상기 사용자 인터페이스 상의 제1 위치에서의 제1 터치 입력을 수신하는 단계;
상기 제1 위치가 상기 복수의 컨테이너 영역들에서의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 대응한다고 판정하는 단계;
상기 사용자 인터페이스 상의 제2 위치에서의 제2 터치 입력을 수신하는 단계; 및
상기 제2 터치 입력에 응답하여, 상기 제2 위치와 관계 없이 상기 제1 컨테이너 영역의 컨텍스트에 따라 사용자에게 제시할 콘텐츠를 결정하는 단계
를 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제1항에 있어서,
햅틱 또는 청각 프리젠테이션을 이용하여 상기 콘텐츠를 제시하는 단계를 더 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제1항에 있어서,
상기 제1 컨테이너 영역은 순서를 갖는 하나 이상의 제1 사용자 인터페이스 항목들을 포함하고,
상기 제2 입력은 상기 순서에 대하여 항목의 원하는 위치를 식별하며,
상기 제시할 콘텐츠를 결정하는 단계는, 상기 순서에 대하여 상기 원하는 위치에서 특정의 제1 사용자 인터페이스 항목을 식별하며, 상기 특정의 제1 사용자 인터페이스 항목을 기술하는 콘텐츠를 획득하는 단계를 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제1항에 있어서,
상기 컨테이너 영역들은 연관된 순서를 갖고,
상기 제2 입력은 상기 순서에 대하여 컨테이너 영역의 원하는 위치를 식별하며,
상기 제시할 콘텐츠를 결정하는 단계는, 상기 원하는 위치에서 제2 컨테이너 영역을 식별하며, 상기 제2 컨테이너 영역을 기술하는 콘텐츠를 획득하는 단계를 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제4항에 있어서,
상기 제2 입력은, 상기 순서에서의 마지막 컨테이너 영역, 상기 순서에서의 첫번째 컨테이너 영역, 상기 순서에서의 다음의 컨테이너 영역, 또는 상기 순서에서의 이전의 컨테이너 영역 중 하나에 대한 요청에 대응하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제4항에 있어서,
상기 제1 위치가 상기 복수의 컨테이너 영역들에서의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 대응한다고 판정하는 단계 이후에, 상기 제1 입력에 응답하여 상기 제1 컨테이너 영역을 현재의 컨테이너로서 식별하는 데이터를 저장하는 단계; 및
상기 사용자 인터페이스 상의 제2 위치에서의 제2 터치 입력을 수신하는 단계 이후에, 상기 제2 입력에 응답하여 상기 제2 컨테이너 영역을 상기 현재의 컨테이너로서 식별하기 위해서 상기 저장된 데이터를 업데이트하는 단계
를 더 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제4항에 있어서,
상기 제2 컨테이너 영역을 기술하는 콘텐츠는 상기 제2 컨테이너 영역에 포함된 항목에 대한 콘텐츠인, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 터치 스크린 접근성을 향상시키는 장치로서,
터치 감응 사용자 인터페이스;
프로세서; 및
명령어들을 저장하는 컴퓨터 저장 매체
를 포함하며,
상기 명령어들은, 상기 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
복수의 컨테이너 영역들을 정의하는 동작 - 각각의 컨테이너 영역은 장치의 터치 감응 사용자 인터페이스 상의 각각의 물리적 영역에 대응하며, 제1 컨테이너 영역의 각각의 물리적 영역은, 복수의 유사한 사용자 인터페이스 항목들이 상기 터치 감응 사용자 인터페이스 상의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 디스플레이되도록 정의됨 -;
상기 사용자 인터페이스 상의 제1 위치에서의 제1 터치 입력을 수신하는 동작;
상기 제1 위치가 상기 복수의 컨테이너 영역들에서의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 대응한다고 판정하는 동작;
상기 사용자 인터페이스 상의 제2 위치에서의 제2 터치 입력을 수신하는 동작; 및
상기 제2 터치 입력에 응답하여, 상기 제2 위치와 관계 없이 상기 제1 컨테이너 영역의 컨텍스트에 따라 사용자에게 제시할 콘텐츠를 결정하는 동작
을 포함하는 동작들을 수행하게 하는, 터치 스크린 접근성을 향상시키는 장치. - 제8항에 있어서,
상기 동작들은, 햅틱 또는 청각 프리젠테이션을 이용하여 상기 콘텐츠를 제시하는 동작을 더 포함하는, 터치 스크린 접근성을 향상시키는 장치. - 제8항에 있어서,
상기 제1 컨테이너 영역은 순서를 갖는 하나 이상의 제1 사용자 인터페이스 항목들을 포함하고,
상기 제2 입력은 상기 순서에 대하여 항목의 원하는 위치를 식별하며,
상기 제시할 콘텐츠를 결정하는 동작은, 상기 순서에 대하여 상기 원하는 위치에서 특정의 제1 사용자 인터페이스 항목을 식별하며, 상기 특정의 제1 사용자 인터페이스 항목을 기술하는 콘텐츠를 획득하는 동작을 포함하는, 터치 스크린 접근성을 향상시키는 장치. - 제8항에 있어서,
상기 컨테이너 영역들은 연관된 순서를 갖고,
상기 제2 입력은 상기 순서에 대하여 컨테이너 영역의 원하는 위치를 식별하며,
상기 제시할 콘텐츠를 결정하는 동작은, 상기 원하는 위치에서 제2 컨테이너 영역을 식별하며, 상기 제2 컨테이너 영역을 기술하는 콘텐츠를 획득하는 동작을 포함하는, 터치 스크린 접근성을 향상시키는 장치. - 제8항에 있어서,
상기 제2 입력은, 순서에서의 마지막 컨테이너 영역, 상기 순서에서의 첫번째 컨테이너 영역, 상기 순서에서의 다음의 컨테이너 영역, 또는 상기 순서에서의 이전의 컨테이너 영역 중 하나에 대한 요청에 대응하는, 터치 스크린 접근성을 향상시키는 장치. - 명령어들을 저장하고, 터치 스크린 접근성을 향상시키는 컴퓨터 판독가능 저장 매체로서,
상기 명령어들은, 데이터 처리 장치에 의해 실행되는 경우, 상기 데이터 처리 장치로 하여금,
복수의 컨테이너 영역들을 정의하는 동작 - 각각의 컨테이너 영역은 장치의 터치 감응 사용자 인터페이스 상의 각각의 물리적 영역에 대응하며, 제1 컨테이너 영역의 각각의 물리적 영역은, 복수의 유사한 사용자 인터페이스 항목들이 상기 터치 감응 사용자 인터페이스 상의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 디스플레이되도록 정의됨 -;
상기 사용자 인터페이스 상의 제1 위치에서의 제1 터치 입력을 수신하는 동작;
상기 제1 위치가 상기 복수의 컨테이너 영역들에서의 상기 제1 컨테이너 영역의 각각의 물리적 영역에 대응한다고 판정하는 동작;
상기 사용자 인터페이스 상의 제2 위치에서의 제2 터치 입력을 수신하는 동작; 및
상기 제2 터치 입력에 응답하여, 상기 제2 위치와 관계 없이 상기 제1 컨테이너 영역의 컨텍스트에 따라 사용자에게 제시할 콘텐츠를 결정하는 동작
을 포함하는 동작들을 수행하게 하는, 터치 스크린 접근성을 향상시키는 컴퓨터 판독가능 저장 매체. - 제13항에 있어서,
제2항 내지 제7항 중 어느 한 항의 방법을 구현하기 위한 명령어들을 더 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 판독가능 저장 매체. - 데이터 처리 장치에 의해 실행되는 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법으로서,
복수의 사용자 인터페이스 항목들을 디스플레이하는 단계;
장치의 터치 스크린 사용자 인터페이스 상의 물리적 위치들에 대응하는 복수의 컨테이너 영역들을 정의하는 단계 - 각각의 영역은 상기 디스플레이된 사용자 인터페이스 항목들 중 하나 이상의 사용자 인터페이스 항목들에 대응하고, 상기 복수의 컨테이너 영역들은 순서를 가지며, 각각의 컨테이너 영역 내의 상기 하나 이상의 사용자 인터페이스 항목들은 순서를 가짐 -;
현재의 컨테이너 영역을 식별하는 데이터를 저장하는 단계;
상기 복수의 사용자 인터페이스 항목들을 디스플레이하는 동안,
제1 제스처 입력을 수신하는 단계;
상기 제1 제스처 입력이 상기 현재의 컨테이너 영역을 상기 컨테이너 영역들에 대한 순서에서의 위치에 따라 식별되는 새로운 컨테이너 영역으로 업데이트하라는 요청에 대응한다고 판정한 다음, 상기 현재의 컨테이너 영역을 상기 새로운 컨테이너 영역이 되도록 업데이트하는 단계;
제2 제스처 입력을 수신하는 단계;
상기 제2 제스처 입력이 상기 현재의 컨테이너 영역 내의 상기 하나 이상의 사용자 인터페이스 항목들에 대한 순서에서의 위치에 따라 식별되는 상기 현재의 컨테이너 영역 내의 특정의 사용자 인터페이스 항목에 대응하는 콘텐츠를 제시하라는 요청에 대응한다고 판정하는 단계; 및
상기 제2 제스처 입력에 응답하여 상기 특정의 사용자 인터페이스 항목에 대응하는 콘텐츠를 제시하는 단계
를 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 제1 제스처 입력은, 상기 컨테이너 영역들에 대한 순서에서의 첫번째 항목 또는 상기 컨테이너 영역들에 대한 순서에서의 마지막 항목 중 하나를 요청하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 현재의 컨테이너 영역을 식별하는 데이터를 저장하는 단계 이후에, 상기 현재의 컨테이너 영역 내의 현재의 항목을 나타내는 데이터를 저장하는 단계를 더 포함하고,
상기 현재의 컨테이너 영역 내의 상기 현재의 항목은 상기 현재의 컨테이너 영역에 대한 항목들의 순서에서의 첫번째 항목이고,
상기 제1 제스처 입력은, 상기 현재의 컨테이너 영역에 대한 항목들의 순서에서의 첫번째 항목 또는 상기 현재의 컨테이너 영역에 대한 항목들의 순서에서의 이전의 항목 중 어느 하나를 제시하라는 요청에 대응하며,
상기 새로운 컨테이너 영역은 상기 컨테이너 영역들에 대한 순서에서의 이전의 컨테이너 영역인, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 현재의 컨테이너 영역을 식별하는 데이터를 저장하는 단계 이후에, 상기 현재의 컨테이너 영역 내의 현재의 항목을 나타내는 데이터를 저장하는 단계를 더 포함하고,
상기 현재의 컨테이너 영역 내의 상기 현재의 항목은 상기 현재의 컨테이너 영역에 대한 항목들의 순서에서의 마지막 항목이고,
상기 제1 제스처 입력은, 상기 현재의 컨테이너 영역에 대한 항목들의 순서에서의 마지막 항목 또는 상기 현재의 컨테이너 영역에 대한 항목들의 순서에서의 다음의 항목 중 어느 하나를 제시하라는 요청에 대응하며,
상기 새로운 컨테이너 영역은 상기 컨테이너 영역들에 대한 순서에서의 다음의 컨테이너 영역인, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
제3 제스처 입력을 수신하는 단계;
상기 제3 제스처 입력이 상기 업데이트된 현재의 컨테이너 영역 내의 다른 사용자 인터페이스 항목에 대응하는 콘텐츠를 제시하라는 요청에 대응한다고 판정하는 단계; 및
상기 제3 제스처 입력에 응답하여 상기 다른 사용자 인터페이스 항목에 대응하는 콘텐츠를 제시하는 단계
를 더 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제19항에 있어서,
상기 특정의 사용자 인터페이스 항목을 상기 현재의 영역에 대한 현재의 사용자 인터페이스 항목으로서 식별하는 데이터를 저장하는 단계를 더 포함하며, 상기 제3 제스처 입력은, 상기 업데이트된 현재의 컨테이너 영역에 대한 순서에서 상기 현재의 사용자 인터페이스 항목에 대하여 이전의 또는 다음의 사용자 인터페이스 항목에 대한 요청에 대응하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제19항에 있어서,
상기 제3 제스처 입력은, 상기 업데이트된 현재의 컨테이너 영역에 대한 순서에서의 첫번째 또는 마지막 사용자 인터페이스 항목에 대한 요청에 대응하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 현재의 컨테이너 영역을 업데이트하는 것에 응답하여 상기 새로운 컨테이너 영역을 기술하는 콘텐츠를 제시하는 단계를 더 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 콘텐츠를 제시하는 단계는, 사용자의 하나 이상의 선호들에 따라 항목을 제시하는 단계를 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제15항에 있어서,
상기 콘텐츠를 제시하는 단계는, 햅틱 또는 청각 프리젠테이션을 이용하여 콘텐츠를 제시하는 단계를 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 제24항에 있어서,
상기 청각 프리젠테이션은 합성 음성(synthetic speech)을 포함하는, 터치 스크린 접근성을 향상시키는 컴퓨터 구현 방법. - 터치 스크린 접근성을 향상시키는 장치로서,
터치 감응 사용자 인터페이스;
프로세서; 및
명령어들을 저장하는 컴퓨터 저장 매체
를 포함하며,
상기 명령어들은, 상기 프로세서에 의해 실행되는 경우, 상기 프로세서로 하여금,
복수의 사용자 인터페이스 항목들을 디스플레이하는 동작;
장치의 터치 스크린 사용자 인터페이스 상의 물리적 위치들에 대응하는 복수의 컨테이너 영역들을 정의하는 동작 - 각각의 영역은 상기 디스플레이된 사용자 인터페이스 항목들 중 하나 이상의 사용자 인터페이스 항목들에 대응하고, 상기 복수의 컨테이너 영역들은 순서를 가지며, 각각의 컨테이너 영역 내의 상기 하나 이상의 사용자 인터페이스 항목들은 순서를 가짐 -;
현재의 컨테이너 영역을 식별하는 데이터를 저장하는 동작;
상기 복수의 사용자 인터페이스 항목들을 디스플레이하는 동안,
제1 제스처 입력을 수신하는 동작;
상기 제1 제스처 입력이 상기 현재의 컨테이너 영역을 상기 컨테이너 영역들에 대한 순서에서의 위치에 따라 식별되는 새로운 컨테이너 영역으로 업데이트하라는 요청에 대응한다고 판정한 다음, 상기 현재의 컨테이너 영역을 상기 새로운 컨테이너 영역이 되도록 업데이트하는 동작;
제2 제스처 입력을 수신하는 동작;
상기 제2 제스처 입력이 상기 현재의 컨테이너 영역 내의 상기 하나 이상의 사용자 인터페이스 항목들에 대한 순서에서의 위치에 따라 식별되는 상기 현재의 컨테이너 영역 내의 특정의 사용자 인터페이스 항목에 대응하는 콘텐츠를 제시하라는 요청에 대응한다고 판정하는 동작; 및
상기 제2 제스처 입력에 응답하여 상기 특정의 사용자 인터페이스 항목에 대응하는 콘텐츠를 제시하는 동작
을 포함하는 동작들을 수행하게 하는, 터치 스크린 접근성을 향상시키는 장치.
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US12/688,558 | 2010-01-15 | ||
US12/688,558 US8386965B2 (en) | 2010-01-15 | 2010-01-15 | Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries |
PCT/US2011/021010 WO2011088134A2 (en) | 2010-01-15 | 2011-01-12 | Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries |
Publications (2)
Publication Number | Publication Date |
---|---|
KR20120124445A KR20120124445A (ko) | 2012-11-13 |
KR101440706B1 true KR101440706B1 (ko) | 2014-09-17 |
Family
ID=44072728
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
KR1020127021301A KR101440706B1 (ko) | 2010-01-15 | 2011-01-12 | 가상 컨테이너 및 가상적으로 확장된 경계를 통해 터치 스크린 장치 접근성을 향상시키는 기법 및 시스템 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8386965B2 (ko) |
EP (1) | EP2524292A2 (ko) |
KR (1) | KR101440706B1 (ko) |
AU (2) | AU2013257534B2 (ko) |
WO (1) | WO2011088134A2 (ko) |
Families Citing this family (64)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10645562B2 (en) | 2004-09-21 | 2020-05-05 | Agis Software Development Llc | Method to provide ad hoc and password protected digital and voice networks |
US20110273379A1 (en) * | 2010-05-05 | 2011-11-10 | Google Inc. | Directional pad on touchscreen |
US20110288913A1 (en) * | 2010-05-20 | 2011-11-24 | Google Inc. | Interactive Ads |
US8131898B2 (en) * | 2010-05-27 | 2012-03-06 | Adobe Systems Incorporated | Event handling in an integrated execution environment |
KR101685145B1 (ko) * | 2010-06-09 | 2016-12-09 | 엘지전자 주식회사 | 이동 단말기 및 그 제어방법 |
US9875306B2 (en) | 2010-08-30 | 2018-01-23 | Google Inc. | Navigation through a collection of electronic documents |
US9639265B2 (en) | 2010-09-03 | 2017-05-02 | Microsoft Technology Licensing, Llc | Distance-time based hit-testing for displayed target graphical elements |
JP2012064075A (ja) * | 2010-09-17 | 2012-03-29 | Funai Electric Co Ltd | 文字入力装置 |
JP5652652B2 (ja) * | 2010-12-27 | 2015-01-14 | ソニー株式会社 | 表示制御装置および方法 |
JP5862271B2 (ja) * | 2010-12-29 | 2016-02-16 | 株式会社リコー | ユーザインターフェイス装置、画像形成装置、ユーザインターフェイス制御方法およびプログラム |
US8717151B2 (en) * | 2011-05-13 | 2014-05-06 | Qualcomm Incorporated | Devices and methods for presenting information to a user on a tactile output surface of a mobile device |
CA2742021A1 (en) * | 2011-06-02 | 2012-12-02 | Smithsonmartin Inc. | User interfaces and systems and methods for user interfaces |
US9513799B2 (en) | 2011-06-05 | 2016-12-06 | Apple Inc. | Devices, methods, and graphical user interfaces for providing control of a touch-based user interface absent physical touch capabilities |
US8634807B2 (en) | 2011-10-17 | 2014-01-21 | Blackberry Limited | System and method for managing electronic groups |
KR101354234B1 (ko) * | 2011-12-05 | 2014-01-22 | (주)이스트소프트 | 터치 입력 장치에서의 애플리케이션 제공 방법 |
US9116611B2 (en) | 2011-12-29 | 2015-08-25 | Apple Inc. | Devices, methods, and graphical user interfaces for providing multitouch inputs and hardware-based features using a single touch input |
KR101929297B1 (ko) * | 2012-04-27 | 2019-03-12 | 삼성전자주식회사 | 터치 반응성 개선 방법 및 그 전자 장치 |
US9671943B2 (en) | 2012-09-28 | 2017-06-06 | Dassault Systemes Simulia Corp. | Touch-enabled complex data entry |
US8743072B2 (en) | 2012-09-28 | 2014-06-03 | Lg Electronics Inc. | Display device and control method thereof |
US9459775B2 (en) * | 2012-10-31 | 2016-10-04 | Google Inc. | Post-touchdown user invisible tap target size increase |
KR102001218B1 (ko) * | 2012-11-02 | 2019-07-17 | 삼성전자주식회사 | 객체와 관련된 정보 제공 방법 및 이를 위한 디바이스 |
US9591339B1 (en) | 2012-11-27 | 2017-03-07 | Apple Inc. | Agnostic media delivery system |
USD733750S1 (en) | 2012-12-09 | 2015-07-07 | hopTo Inc. | Display screen with graphical user interface icon |
US9774917B1 (en) | 2012-12-10 | 2017-09-26 | Apple Inc. | Channel bar user interface |
US10200761B1 (en) | 2012-12-13 | 2019-02-05 | Apple Inc. | TV side bar user interface |
US9532111B1 (en) | 2012-12-18 | 2016-12-27 | Apple Inc. | Devices and method for providing remote control hints on a display |
US10521188B1 (en) | 2012-12-31 | 2019-12-31 | Apple Inc. | Multi-user TV user interface |
KR20150014083A (ko) * | 2013-07-29 | 2015-02-06 | 삼성전자주식회사 | 전자 장치 및 전자 장치의 입력 인식 방법 |
CN111078110B (zh) * | 2014-06-24 | 2023-10-24 | 苹果公司 | 输入设备和用户界面交互 |
CN106415475A (zh) | 2014-06-24 | 2017-02-15 | 苹果公司 | 用于在用户界面中导航的列界面 |
FR3024912B1 (fr) * | 2014-08-18 | 2018-09-28 | Inside Vision | Dispositif notamment pour afficheur destine a des malvoyants et afficheur comportant un tel dispositif |
KR102373337B1 (ko) | 2014-09-02 | 2022-03-11 | 애플 인크. | 가변 햅틱 출력을 위한 시맨틱 프레임워크 |
US9904463B2 (en) * | 2014-09-23 | 2018-02-27 | Sulake Corporation Oy | Method and apparatus for controlling user character for playing game within virtual environment |
USD803880S1 (en) * | 2015-01-20 | 2017-11-28 | Apple Inc. | Display screen or portion thereof with graphical user interface |
US9961239B2 (en) | 2015-06-07 | 2018-05-01 | Apple Inc. | Touch accommodation options |
USD772938S1 (en) * | 2015-07-27 | 2016-11-29 | Microsoft Corporation | Display screen with icon |
DK201670737A1 (en) | 2016-06-12 | 2018-01-22 | Apple Inc | Devices, Methods, and Graphical User Interfaces for Providing Haptic Feedback |
DK201670582A1 (en) | 2016-06-12 | 2018-01-02 | Apple Inc | Identifying applications on which content is available |
DK201670581A1 (en) | 2016-06-12 | 2018-01-08 | Apple Inc | Device-level authorization for viewing content |
DK179823B1 (en) | 2016-06-12 | 2019-07-12 | Apple Inc. | DEVICES, METHODS, AND GRAPHICAL USER INTERFACES FOR PROVIDING HAPTIC FEEDBACK |
DK179278B1 (en) | 2016-09-06 | 2018-03-26 | Apple Inc | Devices, methods and graphical user interfaces for haptic mixing |
DK201670720A1 (en) | 2016-09-06 | 2018-03-26 | Apple Inc | Devices, Methods, and Graphical User Interfaces for Generating Tactile Outputs |
US11966560B2 (en) | 2016-10-26 | 2024-04-23 | Apple Inc. | User interfaces for browsing content from multiple content applications on an electronic device |
US10372520B2 (en) | 2016-11-22 | 2019-08-06 | Cisco Technology, Inc. | Graphical user interface for visualizing a plurality of issues with an infrastructure |
US10739943B2 (en) * | 2016-12-13 | 2020-08-11 | Cisco Technology, Inc. | Ordered list user interface |
DK201770372A1 (en) | 2017-05-16 | 2019-01-08 | Apple Inc. | TACTILE FEEDBACK FOR LOCKED DEVICE USER INTERFACES |
TWI670639B (zh) | 2017-05-18 | 2019-09-01 | 美商愛特梅爾公司 | 用於識別使用者介面元件之技術以及使用其之系統及裝置 |
US10579227B1 (en) * | 2018-02-20 | 2020-03-03 | Amazon Technologies, Inc. | Identifying missed interactions |
US10719206B1 (en) | 2018-02-20 | 2020-07-21 | Amazon Technologies, Inc. | Measuring unresponsive interactions |
US10862867B2 (en) | 2018-04-01 | 2020-12-08 | Cisco Technology, Inc. | Intelligent graphical user interface |
DK201870354A1 (en) | 2018-06-03 | 2019-12-20 | Apple Inc. | SETUP PROCEDURES FOR AN ELECTRONIC DEVICE |
US11962836B2 (en) | 2019-03-24 | 2024-04-16 | Apple Inc. | User interfaces for a media browsing application |
EP3928526A1 (en) | 2019-03-24 | 2021-12-29 | Apple Inc. | User interfaces for viewing and accessing content on an electronic device |
US11683565B2 (en) | 2019-03-24 | 2023-06-20 | Apple Inc. | User interfaces for interacting with channels that provide content that plays in a media browsing application |
CN113711169A (zh) | 2019-03-24 | 2021-11-26 | 苹果公司 | 包括内容项的可选表示的用户界面 |
JP7120450B2 (ja) * | 2019-04-03 | 2022-08-17 | 京セラドキュメントソリューションズ株式会社 | 表示装置 |
US11863837B2 (en) | 2019-05-31 | 2024-01-02 | Apple Inc. | Notification of augmented reality content on an electronic device |
CN113906380A (zh) | 2019-05-31 | 2022-01-07 | 苹果公司 | 用于播客浏览和回放应用程序的用户界面 |
CN113906388A (zh) * | 2019-06-04 | 2022-01-07 | 西门子股份公司 | 部署有用于自动化控制程序的独立应用程序容器的监督设备 |
US11093108B2 (en) * | 2019-07-12 | 2021-08-17 | Qingdao Hisense Media Networks Ltd. | Method for displaying user interface and display device |
US11843838B2 (en) | 2020-03-24 | 2023-12-12 | Apple Inc. | User interfaces for accessing episodes of a content series |
US11899895B2 (en) | 2020-06-21 | 2024-02-13 | Apple Inc. | User interfaces for setting up an electronic device |
US11720229B2 (en) | 2020-12-07 | 2023-08-08 | Apple Inc. | User interfaces for browsing and presenting content |
US11934640B2 (en) | 2021-01-29 | 2024-03-19 | Apple Inc. | User interfaces for record labels |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080134017A1 (en) | 2004-08-31 | 2008-06-05 | Access Co., Ltd. | Markup Language Document Processing Device, Computer Program Product, and Markup Language Document Processing Method |
Family Cites Families (91)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4763356A (en) * | 1986-12-11 | 1988-08-09 | AT&T Information Systems, Inc. American Telephone and Telegraph Company | Touch screen form entry system |
US5119079A (en) * | 1990-09-17 | 1992-06-02 | Xerox Corporation | Touch screen user interface with expanding touch locations for a reprographic machine |
US5543588A (en) * | 1992-06-08 | 1996-08-06 | Synaptics, Incorporated | Touch pad driven handheld computing device |
US5412189A (en) * | 1992-12-21 | 1995-05-02 | International Business Machines Corporation | Touch screen apparatus with tactile information |
DE69525308T2 (de) * | 1994-11-15 | 2002-07-04 | Microsoft Corp | Hinausgleitender Schnittstellenbalken |
US6496182B1 (en) * | 1995-06-07 | 2002-12-17 | Microsoft Corporation | Method and system for providing touch-sensitive screens for the visually impaired |
US6049328A (en) * | 1995-10-20 | 2000-04-11 | Wisconsin Alumni Research Foundation | Flexible access system for touch screen devices |
US5831664A (en) * | 1995-12-15 | 1998-11-03 | Mediaone Group, Inc. | Method and system for synchronizing data between at least one mobile interface device and an interactive terminal |
US5825352A (en) * | 1996-01-04 | 1998-10-20 | Logitech, Inc. | Multiple fingers contact sensing method for emulating mouse buttons and mouse operations on a touch sensor pad |
US5729219A (en) * | 1996-08-02 | 1998-03-17 | Motorola, Inc. | Selective call radio with contraposed touchpad |
US5805157A (en) * | 1996-08-12 | 1998-09-08 | International Business Machines Corporation | Mobile client computer with hexagonal keyboard |
US5805159A (en) * | 1996-08-22 | 1998-09-08 | International Business Machines Corporation | Mobile client computer interdependent display data fields |
US5870083A (en) * | 1996-10-04 | 1999-02-09 | International Business Machines Corporation | Breakaway touchscreen pointing device |
US6002395A (en) * | 1996-10-31 | 1999-12-14 | Ncr Corporation | System and method for building, testing and integrating a graphical touch user interface |
US5812131A (en) * | 1997-03-07 | 1998-09-22 | International Business Machines Corp. | Mobile client computer programmed to process table displays |
US5956025A (en) * | 1997-06-09 | 1999-09-21 | Philips Electronics North America Corporation | Remote with 3D organized GUI for a home entertainment system |
JP4026907B2 (ja) * | 1997-12-26 | 2007-12-26 | 株式会社リコー | 画像形成装置の操作表示方法並びに操作表示装置 |
US6104334A (en) * | 1997-12-31 | 2000-08-15 | Eremote, Inc. | Portable internet-enabled controller and information browser for consumer devices |
US6757001B2 (en) * | 1999-03-30 | 2004-06-29 | Research Investment Network, Inc. | Method of using physical buttons in association with a display to access and execute functions available through associated hardware and software |
US20070177804A1 (en) * | 2006-01-30 | 2007-08-02 | Apple Computer, Inc. | Multi-touch gesture dictionary |
US7844914B2 (en) * | 2004-07-30 | 2010-11-30 | Apple Inc. | Activating virtual keys of a touch-screen virtual keyboard |
US8479122B2 (en) * | 2004-07-30 | 2013-07-02 | Apple Inc. | Gestures for touch sensitive input devices |
US6331840B1 (en) * | 1998-03-27 | 2001-12-18 | Kevin W. Nielson | Object-drag continuity between discontinuous touch screens of a single virtual desktop |
US6160553A (en) * | 1998-09-14 | 2000-12-12 | Microsoft Corporation | Methods, apparatus and data structures for providing a user interface, which exploits spatial memory in three-dimensions, to objects and in which object occlusion is avoided |
US20020018051A1 (en) * | 1998-09-15 | 2002-02-14 | Mona Singh | Apparatus and method for moving objects on a touchscreen display |
US6560612B1 (en) * | 1998-12-16 | 2003-05-06 | Sony Corporation | Information processing apparatus, controlling method and program medium |
US6259436B1 (en) * | 1998-12-22 | 2001-07-10 | Ericsson Inc. | Apparatus and method for determining selection of touchable items on a computer touchscreen by an imprecise touch |
US6335725B1 (en) * | 1999-07-14 | 2002-01-01 | Hewlett-Packard Company | Method of partitioning a touch screen for data input |
US7673241B2 (en) * | 2002-06-26 | 2010-03-02 | Siebel Systems, Inc. | User interface for multi-media communication for the visually disabled |
US7730401B2 (en) * | 2001-05-16 | 2010-06-01 | Synaptics Incorporated | Touch screen with user interface enhancement |
US20050134578A1 (en) * | 2001-07-13 | 2005-06-23 | Universal Electronics Inc. | System and methods for interacting with a control environment |
US7383515B2 (en) * | 2002-07-25 | 2008-06-03 | International Business Machines Corporation | Previewing next state based on potential action in current state |
US20050193351A1 (en) * | 2002-08-16 | 2005-09-01 | Myorigo, L.L.C. | Varying-content menus for touch screens |
US7187394B2 (en) * | 2002-10-04 | 2007-03-06 | International Business Machines Corporation | User friendly selection apparatus based on touch screens for visually impaired people |
US7296241B2 (en) * | 2002-10-18 | 2007-11-13 | Microsoft Corporation | System and method for managing a message view |
US7453442B1 (en) * | 2002-12-03 | 2008-11-18 | Ncr Corporation | Reconfigurable user interface systems |
US7158123B2 (en) * | 2003-01-31 | 2007-01-02 | Xerox Corporation | Secondary touch contextual sub-menu navigation for touch screen interface |
JP4193629B2 (ja) * | 2003-07-25 | 2008-12-10 | ソニー株式会社 | 画面表示装置,プログラム,および画面表示方法 |
US7164410B2 (en) * | 2003-07-28 | 2007-01-16 | Sig G. Kupka | Manipulating an on-screen object using zones surrounding the object |
US7178109B2 (en) * | 2003-08-12 | 2007-02-13 | Chordiant Software, Inc. | Process/viewer interface |
US7411575B2 (en) * | 2003-09-16 | 2008-08-12 | Smart Technologies Ulc | Gesture recognition method and touch system incorporating the same |
US20050235206A1 (en) * | 2004-04-15 | 2005-10-20 | Udo Arend | User interface for a quick activity window |
US20050235208A1 (en) * | 2004-04-15 | 2005-10-20 | Udo Arend | User interface for a guided activity window |
US20050235223A1 (en) * | 2004-04-15 | 2005-10-20 | Udo Arend | User interface adaptable by an end user |
US20050246665A1 (en) * | 2004-05-03 | 2005-11-03 | Microsoft Corporation | Systems and methods for an improved user interface shell for small computer devices |
US8560972B2 (en) * | 2004-08-10 | 2013-10-15 | Microsoft Corporation | Surface UI for gesture-based interaction |
US7483880B2 (en) * | 2004-09-30 | 2009-01-27 | Microsoft Corporation | User interface for database display |
MX2007005232A (es) * | 2004-11-02 | 2008-02-19 | Custom Lab Software Systems Inc | Dispositivo de comunicaciones para auxilio. |
US20060123359A1 (en) * | 2004-12-03 | 2006-06-08 | Schatzberger Richard J | Portable electronic device having user interactive visual interface |
US20060181519A1 (en) * | 2005-02-14 | 2006-08-17 | Vernier Frederic D | Method and system for manipulating graphical objects displayed on a touch-sensitive display surface using displaced pop-ups |
US20050216826A1 (en) * | 2005-05-09 | 2005-09-29 | Matrikon Inc. | Method of providing a concurrent overview and detailed display of industrial production facilities |
US20060267966A1 (en) * | 2005-05-24 | 2006-11-30 | Microsoft Corporation | Hover widgets: using the tracking state to extend capabilities of pen-operated devices |
TW200701050A (en) * | 2005-06-27 | 2007-01-01 | Compal Electronics Inc | A user interface with figures mapping to the keys, for allowing the user to select and control a portable electronic device |
EP1908051A4 (en) * | 2005-07-22 | 2012-01-25 | Matthew G Pallakoff | SYSTEM AND METHOD FOR A THUMB-OPTIMIZED USER INTERFACE OF A TOUCH SCREEN |
TW200723049A (en) * | 2005-12-07 | 2007-06-16 | Era Digital Media Co | Single page website organization method |
US7786975B2 (en) * | 2005-12-23 | 2010-08-31 | Apple Inc. | Continuous scrolling list with acceleration |
US7596761B2 (en) * | 2006-01-05 | 2009-09-29 | Apple Inc. | Application user interface with navigation bar showing current and prior application contexts |
US7966573B2 (en) * | 2006-02-17 | 2011-06-21 | Microsoft Corporation | Method and system for improving interaction with a user interface |
GB0605587D0 (en) * | 2006-03-20 | 2006-04-26 | British Broadcasting Corp | Graphical user interface methods and systems |
US20070097096A1 (en) * | 2006-03-25 | 2007-05-03 | Outland Research, Llc | Bimodal user interface paradigm for touch screen devices |
US20070236474A1 (en) * | 2006-04-10 | 2007-10-11 | Immersion Corporation | Touch Panel with a Haptically Generated Reference Key |
DE202007005237U1 (de) * | 2006-04-25 | 2007-07-05 | Philipp, Harald, Southampton | Hybrides kapazitives Berührungsbildschirmelement |
US7880728B2 (en) * | 2006-06-29 | 2011-02-01 | Microsoft Corporation | Application switching via a touch screen interface |
US8736557B2 (en) * | 2006-09-11 | 2014-05-27 | Apple Inc. | Electronic device with image based browsers |
US8584038B2 (en) * | 2006-12-18 | 2013-11-12 | Microsoft Corporation | Techniques for use with a calendar and messaging component |
US7889184B2 (en) * | 2007-01-05 | 2011-02-15 | Apple Inc. | Method, system and graphical user interface for displaying hyperlink information |
US20080165151A1 (en) * | 2007-01-07 | 2008-07-10 | Lemay Stephen O | System and Method for Viewing and Managing Calendar Entries |
KR100896711B1 (ko) * | 2007-02-08 | 2009-05-11 | 삼성전자주식회사 | 터치 스크린을 갖는 휴대 단말기의 탭을 통한 기능 실행방법 |
US8079039B2 (en) * | 2007-03-09 | 2011-12-13 | Microsoft Corporation | Isolating, managing and communicating with user interface elements |
US7895533B2 (en) * | 2007-03-13 | 2011-02-22 | Apple Inc. | Interactive image thumbnails |
US20080229248A1 (en) * | 2007-03-13 | 2008-09-18 | Apple Inc. | Associating geographic location information to digital objects for editing |
US9083815B2 (en) * | 2007-05-03 | 2015-07-14 | T-Mobile Usa, Inc. | System and method for account setup for mobile devices, such as an e-mail account setup |
US8108793B2 (en) * | 2007-05-21 | 2012-01-31 | Amazon Technologies, Inc, | Zone-associated objects |
US20090027334A1 (en) * | 2007-06-01 | 2009-01-29 | Cybernet Systems Corporation | Method for controlling a graphical user interface for touchscreen-enabled computer systems |
US20090005032A1 (en) * | 2007-06-28 | 2009-01-01 | Apple Inc. | Viewing Digital Content on a Mobile Device |
US11126321B2 (en) * | 2007-09-04 | 2021-09-21 | Apple Inc. | Application menu user interface |
US9619143B2 (en) * | 2008-01-06 | 2017-04-11 | Apple Inc. | Device, method, and graphical user interface for viewing application launch icons |
US8610671B2 (en) * | 2007-12-27 | 2013-12-17 | Apple Inc. | Insertion marker placement on touch sensitive display |
US9483755B2 (en) * | 2008-03-04 | 2016-11-01 | Apple Inc. | Portable multifunction device, method, and graphical user interface for an email client |
US9274681B2 (en) * | 2008-03-26 | 2016-03-01 | Lg Electronics Inc. | Terminal and method of controlling the same |
WO2009126165A1 (en) * | 2008-04-11 | 2009-10-15 | T-Mobile Usa, Inc. | Digital picture frame having communication capabilities |
US8159469B2 (en) * | 2008-05-06 | 2012-04-17 | Hewlett-Packard Development Company, L.P. | User interface for initiating activities in an electronic device |
KR101019039B1 (ko) * | 2008-05-22 | 2011-03-04 | 삼성전자주식회사 | 터치 스크린을 구비한 단말기 및 데이터 검색 방법. |
US9405847B2 (en) * | 2008-06-06 | 2016-08-02 | Apple Inc. | Contextual grouping of a page |
US8504001B2 (en) * | 2008-08-12 | 2013-08-06 | Apple Inc. | Unified settings for multiple account types |
US8341557B2 (en) * | 2008-09-05 | 2012-12-25 | Apple Inc. | Portable touch screen device, method, and graphical user interface for providing workout support |
US20100088654A1 (en) * | 2008-10-08 | 2010-04-08 | Research In Motion Limited | Electronic device having a state aware touchscreen |
US9009612B2 (en) * | 2009-06-07 | 2015-04-14 | Apple Inc. | Devices, methods, and graphical user interfaces for accessibility using a touch-sensitive surface |
US8171036B2 (en) * | 2009-07-21 | 2012-05-01 | Research In Motiion Limited | Method and apparatus for processing data records in a given order upon receiving input data from a touchscreen |
US8799826B2 (en) * | 2009-09-25 | 2014-08-05 | Apple Inc. | Device, method, and graphical user interface for moving a calendar entry in a calendar application |
US8843849B2 (en) * | 2009-11-09 | 2014-09-23 | Blackberry Limited | Directional navigation of page content |
-
2010
- 2010-01-15 US US12/688,558 patent/US8386965B2/en active Active
-
2011
- 2011-01-12 WO PCT/US2011/021010 patent/WO2011088134A2/en active Application Filing
- 2011-01-12 KR KR1020127021301A patent/KR101440706B1/ko active IP Right Grant
- 2011-01-12 EP EP11704865A patent/EP2524292A2/en not_active Ceased
-
2013
- 2013-11-19 AU AU2013257534A patent/AU2013257534B2/en active Active
-
2016
- 2016-04-14 AU AU2016202360A patent/AU2016202360A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080134017A1 (en) | 2004-08-31 | 2008-06-05 | Access Co., Ltd. | Markup Language Document Processing Device, Computer Program Product, and Markup Language Document Processing Method |
Also Published As
Publication number | Publication date |
---|---|
KR20120124445A (ko) | 2012-11-13 |
AU2011205328A1 (en) | 2012-09-06 |
WO2011088134A2 (en) | 2011-07-21 |
EP2524292A2 (en) | 2012-11-21 |
US8386965B2 (en) | 2013-02-26 |
AU2013257534B2 (en) | 2016-01-14 |
WO2011088134A3 (en) | 2011-09-29 |
AU2016202360A1 (en) | 2016-05-05 |
US20110179388A1 (en) | 2011-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR101440706B1 (ko) | 가상 컨테이너 및 가상적으로 확장된 경계를 통해 터치 스크린 장치 접근성을 향상시키는 기법 및 시스템 | |
US10007393B2 (en) | 3D view of file structure | |
CN106095449B (zh) | 提供便携式装置的用户接口的方法和设备 | |
US8487889B2 (en) | Virtual drafting tools | |
US10013098B2 (en) | Operating method of portable terminal based on touch and movement inputs and portable terminal supporting the same | |
CN111339032B (zh) | 管理具有多页面的文件夹的设备、方法和图形用户界面 | |
US8433828B2 (en) | Accessory protocol for touch screen device accessibility | |
KR102072732B1 (ko) | 디스플레이 상의 오브젝트를 실행하는 방법 및 디바이스 | |
US10877624B2 (en) | Method for displaying and electronic device thereof | |
US8452600B2 (en) | Assisted reader | |
US10073589B1 (en) | Contextual card generation and delivery | |
KR101534789B1 (ko) | 모바일 컴퓨팅 디바이스에서의 모션-컨트롤 뷰 | |
EP2450781B1 (en) | Mobile terminal and screen change control method based on input signals for the same | |
US20150095819A1 (en) | Method for displaying previews in a widget | |
US20100162165A1 (en) | User Interface Tools | |
US20110224896A1 (en) | Method and apparatus for providing touch based routing services | |
CN106233237A (zh) | 一种处理与应用关联的新消息的方法和装置 | |
US10684822B2 (en) | Locating and presenting key regions of a graphical user interface | |
KR101511118B1 (ko) | 분할 화면 표시 장치 및 그 방법 | |
AU2011205328B2 (en) | Techniques and systems for enhancing touch screen device accessibility through virtual containers and virtually enlarged boundaries | |
CN116048335A (zh) | 交互方法、交互装置、电子设备和计算机可读存储介质 | |
KR20160016569A (ko) | 컨텐츠를 제공하는 방법 및 이를 위한 디바이스 |
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 | ||
FPAY | Annual fee payment |
Payment date: 20170804 Year of fee payment: 4 |
|
FPAY | Annual fee payment |
Payment date: 20180816 Year of fee payment: 5 |