KR20090048570A - 그래픽 사용자 인터페이스를 생성하는 데이터 처리 장치, 네비게이트 방법, 컴퓨터 구현 방법, 기계 판독가능 매체, 및 무선 데이터 처리 장치 - Google Patents

그래픽 사용자 인터페이스를 생성하는 데이터 처리 장치, 네비게이트 방법, 컴퓨터 구현 방법, 기계 판독가능 매체, 및 무선 데이터 처리 장치 Download PDF

Info

Publication number
KR20090048570A
KR20090048570A KR1020097000315A KR20097000315A KR20090048570A KR 20090048570 A KR20090048570 A KR 20090048570A KR 1020097000315 A KR1020097000315 A KR 1020097000315A KR 20097000315 A KR20097000315 A KR 20097000315A KR 20090048570 A KR20090048570 A KR 20090048570A
Authority
KR
South Korea
Prior art keywords
movement
trackball
elements
selectable
predetermined area
Prior art date
Application number
KR1020097000315A
Other languages
English (en)
Other versions
KR101433969B1 (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
Priority claimed from US11/484,105 external-priority patent/US7782302B2/en
Priority claimed from US11/484,237 external-priority patent/US7626573B2/en
Application filed by 데인저 인코포레이티드 filed Critical 데인저 인코포레이티드
Publication of KR20090048570A publication Critical patent/KR20090048570A/ko
Application granted granted Critical
Publication of KR101433969B1 publication Critical patent/KR101433969B1/ko

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B1/00Details of transmission systems, not covered by a single one of groups H04B3/00 - H04B13/00; Details of transmission systems not characterised by the medium used for transmission
    • H04B1/38Transceivers, i.e. devices in which transmitter and receiver form a structural unit and in which at least one part is used for functions of transmitting and receiving
    • H04B1/40Circuits
    • 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/04812Interaction techniques based on cursor appearance or behaviour, e.g. being affected by the presence of displayed objects
    • 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/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/0483Interaction with page-structured environments, e.g. book metaphor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04886Interaction 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/72Mobile telephones; Cordless telephones, i.e. devices for establishing wireless links to base stations without route selection
    • H04M1/724User interfaces specially adapted for cordless or mobile telephones
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04MTELEPHONIC COMMUNICATION
    • H04M1/00Substation equipment, e.g. for use by subscribers
    • H04M1/02Constructional features of telephone sets
    • H04M1/23Construction or mounting of dials or of equivalent devices; Means for facilitating the use thereof
    • H04M1/233Construction or mounting of dials or of equivalent devices; Means for facilitating the use thereof including a pointing device, e.g. roller key, track ball, rocker switch or joystick

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)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Position Input By Displaying (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

어떤 상황하에서 그래픽 요소들 사이의 커서 움직임을 일시적으로 방지하기 위해 논리적 장벽을 사용하는 그래픽 사용자 인터페이스. 예를 들면, 본 발명의 일실시예는, 프로그램 코드를 저장하는 메모리 및 상기 프로그램 코드를 처리하는 프로세서를 구비하여 그래픽 사용자 인터페이스(GUI)를 생성하는 데이터 처리 장치에 있어서, 상기 GUI는: 제1 복수의 선택가능한 그래픽 요소들을 포함하는 제1 소정 영역; 제2 복수의 선택가능한 그래픽 요소들을 포함하는 제2 소정 영역; 및 상기 제1 소정 영역과 상기 제2 소정 영역 사이의 논리적 장벽을 포함하고, 상기 논리적 장벽은 상기 제2 소정 영역내 그래픽 요소를 향한 사용자 입력에 응답하여 상기 제1 소정 영역내 그래픽 요소에서 상기 제2 소정 영역내 그래픽 요소로의 움직임을 일시적으로 방지하도록 구성되고, 상기 논리적 장벽은 상기 움직임을 특정 지속시간 및/또는 사용자 입력 장치에 의해 생성된 특정 양의 움직임 동안 일시적으로 방지하는 데이터 처리 장치를 포함한다.
그래픽 사용자 인터페이스, 프로그램 코드, 데이터 처리 장치

Description

그래픽 사용자 인터페이스를 생성하는 데이터 처리 장치, 네비게이트 방법, 컴퓨터 구현 방법, 기계 판독가능 매체, 및 무선 데이터 처리 장치{TRACKBALL SYSTEM AND METHOD FOR A MOBILE DATA PROCESSING DEVICE}
본 발명은 데이터 처리 장치 분야에 관한 것으로, 더 구체적으로, 데이터 처리 장치를 위한 다목적 입/출력 및 디스플레이 구성에 관한 것이다.
PDA (Personal Digital Assistants) 및 프로그래머블 무선 전화와 같은 휴대용 데이터 처리 장치는 예전같으면 개인 컴퓨터에서나 가능하였던 광범위한 애플리케이션을 사용자들에게 제공하여 점점 더욱 강력해지고 있다. 동시에, 실리콘 처리 기술 및 배터리 기술의 진보에 따라, 이 장치들은 점점 더 작은 형태 요인들을 이용하여 제조될 수 있다. 이에 따라, 사용자들은 개인 데이터 처리 장치를 선택할 때 더 이상 휴대성 때문에 처리능력을 희생할 필요가 없다.
작은 형태 요인들을 갖는 처리 장치가 보다 휴대성이 좋지만, 사용자들은 이들과 상호작용하기가 점점 힘들어진다는 것을 알 수 있다. 예를 들면, 데이터를 입력하는 것이 표준 크기의 키보드의 부재로 힘들 수 있고 정보를 보는 것이 작고 희미한 액정 디스플레이 (LCD) 때문에 어려울 수 있다.
이러한 문제들 중 일부를 해결하기 위해, 본 출원의 양수인은 각각 "사이드 킥(Sidekick)" 및 "사이드킥 II"로 상업적으로 알려진 두개의 데이터 처리 장치를 개발하였다. 사이드킥은 도 1a-c에 도시되어 있다. 이 데이터 처리 장치(100)는 키보드(101), 제어 노브/휠(102) (예컨대, 메뉴 아이템 및/또는 데이터 사이의 스크롤 목적), 및 제어버튼 세트(105) (예컨대, 메뉴 아이템 및/또는 데이터 선택 목적)를 포함한다.
디스플레이(103)는 데이터 처리 장치(100)에 회전축으로 결합되어 피벗(pivot) 영역(104) 내에 위치한 피벗 점(109) 주위에서 도 1a에 도시된 제1 위치로부터 도 1b-c에 도시된 제2 위치로 회전한다. 제1 위치에서 디스플레이(103)가 키보드(101)를 커버하여, 장치(100)의 크기가 감소하고 키보드(101)를 보호한다. 그러나, 디스플레이가 제1 위치에 있을 때에도, 제어 노브(102)와 제어 버튼(105)이 노출되어 사용자가 액세스가능하다. 제1 위치에서 제2 위치로 디스플레이(103)의 이동이 도 1a-b에 도시된 이동 화살표(106)로 표시된다. 도시된 대로, 제2 위치에 있을 때, 키보드(101)는 완전히 노출된다. 따라서, 디스플레이를 볼 수 있고, 데이터는 제1 위치와 제2 위치에서 사용자에 의해 액세스가능하다 (키보드는 제1 위치에서만 액세스되지만).
일실시예에서, 데이터 처리 장치(100)는 또 오디오 전화 (예컨대, 셀룰라) 능력을 구비한다. 오디오 전화 기능을 지원하기 위해, 도 1a-c에 도시된 실시예는 전화 통화 중에 말하고 듣기 위한 스피커(120)와 마이크로폰(121)을 포함한다. 스피커(120)와 마이크로폰(121)은 데이터 처리 장치(100)의 반대편에 위치하고 스크린(103)이 개폐 위치에 있을 때 액세스가능하다.
사이드킥 II이 도 2a-b에 도시된다. 이 데이터 처리 장치(200)는 예컨대 문자/숫자 겸용 키보드(305) 및 제어 휠(230)이 보이는 피벗 디스플레이(205)와 같은 많은 동일 특징들을 포함한다. 또한, 사이드킥 II은 커서 제어 동작을 수행하는 방향 패드(245) 및 일체형의 스피커(246)와 LED (도시되지 않음)를 포함한다.
상기한 바와 같이, 이 장치들과 다른 장치들에 있는 제어 휠(102 및 230)은 메뉴 아이템 및/또는 데이터 입력 필드와 같은 아이템 리스트들을 스크롤하기 위해 사용될 수 있다. 그러나, 이 스크롤 휠의 한가지 제한은 이것은 단일 차원 내에서만 네비게이트할 수 있다는 점이다. 예컨대, 제어 휠(112)을 조작함으로써, 사용자는 스크린의 방향에 관하여 "위" 또는 "아래"로 그래픽 선택 요소를 이동시킬 수 있다 (또는 사용자 인터페이스가 어떻게 프로그램되어 있는지에 따라 "좌" 또는 "우"). 그러나, 제어 휠은 사용자가 스크린 상에서 어느 원하는 방향으로든 네비게이트할 수 있게 허용하지 않는다. 따라서, 이동장치의 그래픽 인터페이스 내에서 네비게이트하기 위한 보다 유연한 사용자 인터페이스 솔루션이 필요하다.
어떤 상황하에서 그래픽 요소들 사이의 커서 움직임을 일시적으로 방지하기 위해 논리적 장벽을 사용하는 그래픽 사용자 인터페이스가 이하 기술된다. 예를 들면, 본 발명의 일실시예는, 프로그램 코드를 저장하는 메모리 및 상기 프로그램 코드를 처리하는 프로세서를 구비하여 그래픽 사용자 인터페이스(GUI)를 생성하는 데이터 처리 장치를 포함하는데, 상기 GUI는: 제1 복수의 선택가능한 그래픽 요소들을 포함하는 제1 소정 영역; 제2 복수의 선택가능한 그래픽 요소들을 포함하는 제2 소정 영역; 및 상기 제1 소정 영역과 상기 제2 소정 영역 사이의 논리적 장벽을 포함하고, 상기 논리적 장벽은 상기 제2 소정 영역내 그래픽 요소를 향한 사용자 입력에 응답하여 상기 제1 소정 영역내 그래픽 요소에서 상기 제2 소정 영역내 그래픽 요소로의 움직임을 일시적으로 방지하도록 구성되고, 상기 논리적 장벽은 상기 움직임을 특정 지속시간 및/또는 사용자 입력 장치에 의해 생성된 특정 양의 움직임 동안 일시적으로 방지한다.
다음 도면과 관련하여 아래의 상세한 설명으로부터 본 발명을 보다 더 잘 이해할 수 있다.
도 1a-c는 제어 휠 및 조정가능한 디스플레이를 구비한 종래의 데이터 처리 장치를 도시한다.
도 2a-b는 제어 휠 및 디스플레이를 구비한 다른 종래의 데이터 처리 장치를 도시한다.
도 3a-b는 트랙볼을 구비한 데이터 처리 장치의 일실시예를 도시한다.
도 4a-b는 트랙볼을 이용하여 그래픽 사용자 인터페이스 내에서 네비게이트하는 방법의 일실시예를 도시한다.
도 4c는 본 발명의 실시예들이 구현될 수 있는 바람직한 GUI를 도시한다.
도 5a-f는 도 4a-b의 방법이 실시될 수 있는 바람직한 사용자 인터페이스를 도시한다.
도 6a-c는 텍스트 필드를 네비게이트하고 편집하기 위한 본 발명의 일실시예 를 도시한다.
도 7은 그래픽 사용자 인터페이스 내에서 텍스트를 선택하기 위한 본 발명의 일실시예를 도시한다.
도 8은 본 발명의 일실시예에 따라 텍스트를 선택하는 추가적인 기술을 도시한다.
도 9a-b는 본 발명의 일실시예에 따라 그래픽 사용자 인터페이스 내에서 사용되는 추가적인 내비게이션 기술을 도시한다.
도 10a-e는 본 발명의 일실시예에 따라 논리적 경계의 구현을 도시한다.
이하의 설명에서, 설명의 목적을 위해, 다양한 구체적인 세부사항들이 본 발명의 완전한 이해를 제공하기 위해 설명된다. 그러나, 본 발명이 이 구체적인 세부사항들의 일부가 없어도 실시될 수 있음은 당업자라면 알 수 있을 것이다. 다른 경우에, 공지의 구조 및 장치는 본 발명의 근본 원리를 모호하게 하는 것을 피하기 위해 블록도로 도시된다.
이동 데이터 처리 장치에서 트랙볼을 구현하는 몇가지 다른 기술들이 이하에 설명된다. 이하 설명으로부터 명백한 바와 같이, 이 구성들의 많은 것은 PDA (personal digital assistant) 또는 통합된 무선 전화 능력을 구비한 다른 이동 컴퓨팅 장치와 같은 이중목적 데이터 처리 장치 (예컨대, PDA 및 셀폰 겸용)에서 사용될 때 특히 도움이 된다. 그러나, 본 발명의 근본 원리는 무선 전화 구성에 한정되지 않음에 유의하여야 한다.
본 발명의 일실시예에 따른 데이터 처리 장치(300)는 도 3a-b에 도시된다. 상기 종래의 데이터 처리 장치와 달리, 이 데이터 처리 장치(300)는 데이터 처리 장치 디스플레이(305)에 디스플레이된 그래픽 이미지와 텍스트를 통해 네비게이트하는 트랙볼(301)을 포함한다. 또한, 일실시예에서, 트랙볼(301)은 선택 기능을 생성하기 위해 데이터 처리 장치 내로 클릭될 수 있다 (즉, 표준 마우스 버튼에 의해 제공되는 기능과 유사).
일실시예에서, 데이터 처리 장치(300) 디스플레이는 상기 종래의 데이터 처리 장치에서와 같이 조정된다. 예컨대, 일실시예에서, 디스플레이(305)는 데이터 처리 장치(300)에 회전축으로 결합되어 피벗 점(309) 주위에서 도 3a에 도시된 제1 위치로부터 도 3b에 도시된 제2 위치로 회전한다.
제1 위치에 있을 때 디스플레이(305)는 키보드(306)를 커버하여, 장치(300)의 크기를 줄이고 키보드(306)를 보호한다. 그러나, 디스플레이가 제1 위치에 있을 때에도, 트랙볼(301)과 제어 버튼은, 방향 패드(345)처럼, 노출되어 사용자에 의해 액세스가능하다. 도 3b에 도시된 바와 같이, 제2 위치에 있을 때, 키보드(306)는 완전히 노출된다. 따라서, 디스플레이가 보이고, 데이터는 제1 위치와 제2 위치에서 사용자가 액세스가능하다 (키보드는 제1 위치에서만 액세스되지만).
일실시예에서, 데이터 처리 장치(300)는 또 오디오 전화 (예컨대, 셀룰라) 성능을 구비한다. 오디오 전화 기능을 지원하기 위해, 도 3a-b에 도시된 실시예는 전화 대화 중에 말하고 듣기 위한 스피커(346) (방향 패드에 내장)와 마이크로폰(321)을 포함한다. 스피커(346)와 마이크로폰(321)은 데이터 처리 장치(300)의 반대편에 위치하고 스크린(305)이 개폐위치에 있을 때 액세스가능하다.
휴대용 데이터 처리 장치에 트랙볼(301)을 구현하는 것은 몇가지 특이한 문제를 제공한다. 예를 들면, 비교적 작은 디스플레이 스크린은 "포인트-앤-클릭" 환경 (예컨대, 포인터를 이동시켜 스크린에서 임의의 그래픽을 클릭하는 능력을 사용자에게 제공하는 윈도우 환경)에 충분치 않은 공간을 제공할 수 있다. 즉, 데이터 처리 장치 디스플레이에 디스플레이되는 그래픽은 너무 작고 가까워서 아이콘을 확인하기 위해 커서를 올바른 위치로 이동시키는 것이 어려울 수 있다. 또한, 이동 장치를 이용하여, 사용자들은 종종 표준 개인 컴퓨터를 이용하는 경우와 동일한 초점을 가지지 못한다 (예컨대, 사용자들은 이동 장치를 사용할 때 데스크 앞에 앉아 있지 않는다). 따라서, 트랙볼과 함께 사용을 위한 단순화된 내비게이션 기술이 필요하다.
본 발명의 일실시예에서, 내비게이션을 단순화하기 위해, 트랙볼의 사용자 조작에 응답하여, "선택 요소" 또는 "선택 그래픽"이 사용자 인터페이스 내에서 디스플레이되는 제한된 수의 선택가능한 사용자 인터페이스 요소들 (예컨대, 데이터 필드, 메뉴 아이템, 텍스트 등)을 통해 트래버스한다. 이 접근방식은 사용자에 의한 불필요한 트랙볼 이동을 제거하고, 사용자 오류를 방지하고, 그래픽 내비게이션을 가능한 한 효율적이게 한다.
일반적인 트랙볼 내비게이션
트랙볼 입력 장치를 이용하여 요소들을 선택하는 방법의 일실시예가 도 4a-b를 참조하여 도시된다. "요소(element)"라는 용어는 예컨대 데이터 입력 필드, 메 뉴 아이템, 텍스트 및 그래픽 아이콘을 포함한 디스플레이 스크린 상의 임의 종류의 이미지를 가리키기 위해 이 컨텍스트에서 폭넓게 사용된다. 도 4a-b의 설명 후에, 그래픽 사용자 인터페이스 내의 일련의 특정 예들이 도 5a-f에 제공될 것이다.
도 4a를 참조하면, 401에서, 데이터 처리 장치가 사용자로부터 트랙볼 입력을 등록한다. 402에서, 사용자 입력이 기본적으로 수평 입력인지 (예컨대, 좌 또는 우) 수직 입력인지 (예컨대, 위 또는 아래) 결정한다. 사용자가 가상적으로 임의 방향으로 트랙볼을 스크롤하면, 입력은 우연히 수평 및 수직 구성요소를 모두 포함할 수 있다. 데이터 처리 장치(300)의 일실시예는 입력의 상대적 수평 및 수직 구성요소에 기초하여 "수평" 입력인지 "수직" 입력인지 결정한다 (즉, 입력은 수평 및 수직 구성요소를 갖는 벡터이다). 입력이 상대적으로 더 큰 수평 구성요소를 가지면, 다음 트랙볼 움직임은 수평적으로 지속하도록 기울어질 것이고; 역으로, 입력이 상대적으로 더 큰 수직 구성요소를 가지면, 다음 트랙볼 움직임은 수직으로 기울어질 것이다.
입력이 수직으로 확인되면, 프로세스는 도 4b (이하 설명)로 진행한다. 입력이 수평으로 확인되면, 프로세스는 403으로 진행하여 수동 오버라이드(override)가 요청된 이동에 존재하는지 결정한다 (403). 예컨대, 일부 경우에, 이하 설명되는 사용자 인터페이스 내에서 요소를 선택하는 핵심 기술들은 바람직하지 않을 수 있다. 이 경우에, 사용자 인터페이스 프로그래머는 사용자 인터페이스를 위해 수동으로 원하는 동작을 확인할 수 있다. 예컨대, 이하에 설명되는 기술들이 사용자가 선택하고 싶은 요소일 것 같지 않은 요소가 선택되게 하면, 수동 오버라이드는 다른 (더 원하는) 요소가 선택되게 할 것이다.
수동 오버라이드가 존재하지 않으면, 405에서 요소들이 현재 요소에 의해 점유된 것과 동일한 수평선 내에 존재하는지 여부, 즉 현재 요소와 적어도 일부 중첩하는 수직 좌표를 포함하는 다른 요소가 존재하는지 여부에 대해 결정한다. 예컨대, 도 4c에서, 요소들(453 및 454)은 그들의 수직 좌표의 적어도 일부가 중첩되기 때문에 요소(452)와 동일한 수평 "선"에 있다.
현재 요소와 동일한 수평선에 있는 요소들이 없으면, 406에서 새로운 요소가 선택되지 않는다. 예컨대, 사용자가 트랙볼(301)을 좌/우로 스크롤하고 좌/우로 요소들이 존재하지 않으면 (현재 요소에 의해 점유된 수직 좌표의 범위 내), 새로운 요소가 선택되지 않을 것이다.
그러나, 현재 요소에 의해 정의된 수직 좌표의 범위 내에 요소들이 존재하면, 407에서 둘 이상의 요소가 중첩된 수직 좌표와 함께 존재하는지 여부에 대해 결정한다. 존재한다면, 406에서, 한 요소가 선택된다. 존재하지 않으면, 409에서 트랙볼 이동의 방향에 가장 가까운 동일 수평선에 있는 요소가 선택될 것이다. 예컨대, 도 4c에서, 요소(452)가 현재 선택되고 사용자가 우측 약간 위로 스크롤하면, 요소(453)가 선택될 것이다. 역으로, 요소(452)가 현재 선택되고 사용자가 우측 약간 아래로 스크롤하면, 요소(454)가 선택될 것이다. 이와 달리, 일실시예에서, 비교적 더 큰 수직 좌표를 갖는 요소 (즉, 디스플레이의 상단에 비교적 더 가까운 요소, 이 예에서는 요소(453))가 자동적으로 선택된다.
도 4b는 수직 이동에 응답하여 요소를 선택하는 프로세스를 도시한다 (즉, 트랙볼을 디스플레이에 대해 상하로 이동). 410에서, 수동 오버라이드가 존재하는지 여부에 대해 결정한다. 존재하면, 411에서 새로운 요소가 수동 오버라이드에 따라 선택된다. 존재하지 않으면, 412에서, 현재 요소에 수직으로 가장 가까운 요소 X가 확인된다. 예를 들면, 도 4c에서, 요소(450)에 수직으로 가장 가까운 요소는 요소(451)이다. 413에서, 현재 요소에 가장 가까운 가장 좌측의 좌표를 갖는 요소 X와 동일 수평선에 있는 요소 (또는 동일 수평선에 다른 요소들이 없다면 요소 X)가 선택된다. 예컨대, 도 4c에서, 요소(452)의 가장 좌측 좌표(460)가 요소(450)의 가장 좌측 좌표(461)에 가장 가깝기 때문에 (예컨대, 그것은 요소(453)의 가장 좌측 좌표(462) 보다 수평 축에서 더 가깝다), 요소(452)가 요소(450)으로부터의 하향 움직임에 응답하여 선택된다.
다양한 다른 및/또는 추가 기술들이 트랙볼 신호에 응답하여 다음 요소를 선택하기 위해 사용될 수 있디. 예를 들면, 일실시예에서, 수직 또는 수평 움직임 신호에 응답하여, 각각 현재 요소와 중첩되는 가장 큰 수평 범위 또는 수직 범위를 갖는 요소가 선택될 수 있다. 본 발명의 근본 원리와 일치하면서 다음 요소를 선택하는 다양한 다른 기술들이 이용될 수 있다.
도 5a-f는 상기 프로세스의 특정 예들을 도시한다 (수동 오버라이드는 없다고 가정). 도 5a는 아이콘을 선택하는 아이콘 선택 요소(502) 및 사용자의 성명과 별명을 입력하는 데이터 입력 필드(503-506)를 구비한 데이터 입력 상자(501)를 도시한다. 아이콘 선택 요소(502)가 처음 선택되고 (도시된 바와 같이) 사용자가 수평으로 우측으로 스크롤하면, 데이터 입력 필드(503-504)가 아이콘 선택 요소(502) 와 중첩된 수직 좌표를 갖는다 (즉, 이들은 모두 일반적으로 아이콘 선택 요소(502)의 우측에 있다). 이로써, 상대적으로 더 높은 수직 좌표를 갖는 데이터 입력 필드, 이 예에서는 "이름" 필드(503)가 선택된다. 사용자가 이제 수직으로 아래로 스크롤하면, 데이터 필드(504-506)가 연속적으로 선택될 것이다. 사용자가 데이터 입력 필드(505 또는 506)로부터 좌측으로 스크롤하면, 이 필드들의 좌측으로 어떤 요소도 이 필드들과 중첩되는 수직 좌표를 갖지 않기 때문에 어떤 새로운 요소도 밝게 강조표시되지 않을 것이다. 이에 반해, 사용자가 데이터 입력 필드(503 또는 504)로부터 좌측으로 스크롤하면, 아이콘 선택 요소가 이 필드들과 중첩되는 수직 좌표를 공유하기 때문에 선택될 것이다.
도 5b는 직책(510), 회사(511), 및 생일(512)과 월 선택 요소(513)에 대한 데이터 입력 필드를 포함하는 다른 데이터 입력 상자를 도시한다. 현재 선택된 요소가 회사 필드(511)이고 사용자가 트랙볼을 이용하여 스크롤 다운하면, 회사 요소(511)의 가장 좌측 좌표가 생일 요소의 가장 좌측 좌표에 가장 가깝기 때문에 생일 필드(512)가 선택될 것이다.
도 5c는 라벨(520), 거리(521), 시(522), 주(523), 우편번호(524), 및 국가(525)에 대한 데이터 입력 필드를 포함하는 주소 데이터 입력 상자를 도시한다. 현재 선택된 요소가 주 필드(523)이고 사용자가 트랙볼을 이용하여 스크롤 다운하면, 국가 필드(525)의 가장 좌측 좌표가 주 필드(523)의 가장 좌측 좌표와 가장 가깝기 때문에 국가 필드(525)가 선택될 것이다. 마찬가지로, 현재 선택된 요소가 국가 필드(525)이고 사용자가 트랙볼을 이용하여 스크롤 업하면, 주 필드(523)의 가장 좌측 좌표가 국가 필드(525)의 가장 좌측 좌표와 가장 가깝기 때문에 주 필드(523)가 선택될 것이다.
도 5d는 이벤트명(530), 위치(531), 시작일 필드(532), 시작일에 대한 월 선택 상자(533), 시작일에 대한 시간 선택 상자(534), 종료일 필드(535), 종료일에 대한 월 선택 상자(536), 및 종료일에 대한 시간 선택 상자(537)에 대한 데이터 입력 필드를 포함하는 달력 이벤트 정보를 특정하는 데이터 입력 상자를 도시한다. 이 예에서, 종료일에 대한 월 선택 상자(536)가 현재 선택되고 사용자가 스크롤 업하면, 월 선택 상자(536)의 가장 좌측 좌표가 월 선택 상자(533)의 가장 좌측 좌표에 가장 가깝기 때문에 시작일에 대한 월 선택 상자(533)가 선택될 것이다. 따라서, 시작일 필드(532) 및 시간 선택 상자(534)가 수직으로 한 픽셀 더 가깝다 하더라도 월 선택 상자(533)가 선택된다. 본 발명의 일실시예는 처음에 시작일 필드(532), 월 선택 상자(533), 및 시간 선택 상자(534)가 동일 수평선에 있기 때문에 이들을 함께 그룹으로 형성하고, 그후 가장 좌측 좌표를 갖는 것을 선택한다.
도 5e는 (다른 요소들 중에서) 언틸(Until) 체크 상자(540) 및 리마인더(Reminder) 체크 상자(541)를 포함하는 또다른 예를 도시한다. 이 예에서, 현재 선택된 요소가 리마인더 체크 상자(541)이고 사용자가 트랙볼을 이용하여 스크롤 업하면, 언틸 체크 상자(540)의 가장 좌측 좌표가 리마인더 체크 상자(541)의 가장 좌측 좌표에 가장 가깝기 때문에 언틸 체크 상자(540)가 선택될 것이다.
마찬가지로, 도 5f는 디폴트 리마인더 데이터 입력 필드(550), 시 데이터 입력 필드(551), 및 분 데이터 입력 필드(552)를 포함하는 일예를 도시한다. 이 경 우, 현재 선택된 요소가 디폴트 리마인더 데이터 입력 필드(550)이고 사용자가 트랙볼을 이용하여 스크롤 업하면, 분 데이터 입력 필드(552)의 가장 좌측 좌표가 디폴트 리마인더 데이터 입력 필드(550)의 가장 좌측 좌표에 가장 가깝기 때문에 분 데이터 입력 필드(552)가 선택될 것이다.
신속한 편집 텍스트 필드
본 발명의 일실시예는 트랙볼(301)을 이용하여 텍스트 입력 필드를 네비게이트하고 편집하는 기술을 이용한다. 구체적으로, 본 실시예에서, 트랙볼(300)을 스크롤하는 것은 각 텍스트 입력 필드가 상기 기술에 따라 선택되게 한다 (예컨대, 수직으로 이동할 때 가장 좌측 데이터 필드 좌표에 기초하여 그리고 수평으로 이동할 때 중첩되는 수직 좌표에 기초하여). 특정 텍스트 입력 필드가 처음 선택될 때, 이 필드가 "초점맞춰지고" 전체 텍스트 필드가 선택됨을 나타내기 위해 강조표시가 제공된다. 이 단계에서, 키보드(306)에서 타이핑하는 것은 필드 내의 현재 텍스트가 새로 입력된 텍스트로 대체되게 한다. 이에 반해, 트랙볼(301)을 데이터 처리 장치(300) 또는 방향 패드(345)로 클릭하는 것은 커서가 텍스트 입력 필드에 들어가게 하고, 이에 의해 사용자가 텍스트를 편집할 수 있게 한다. 텍스트 내 및/또는 텍스트 끝에 있는 커서와 함께 트랙볼(301)을 스크롤하는 것은 새로운 필드가 선택되어 초점맞춰지게 한다. 이에 반해, 이 단계에서 방향 패드(345)를 클릭하는 것은 커서가 선택된 필드의 텍스트를 통해 이동하게 한다.
도 6a-c는 상기 동작의 일예를 제공한다. 도 6a에서, 거리(602)를 입력하는 텍스트 입력 필드가 처음 선택된다. 텍스트 입력이 필드(602)의 현재 내용을 대체 할 것임을 표시하기 위해 전체 텍스트 입력 필드가 강조표시된다. 또한, 종래의 사용자 인터페이스와 달리, 텍스트 입력 필드에 대한 라벨 (예컨대, "주")이 필드 자체 내에 텍스트로서 제공된다. 트랙볼에서 사용자가 좌측으로 스크롤하는 것에 응답하여, 시 필드가 다시 강조표시된다. 도시된 예에서, 사용자가 거리 번호를 타이핑하고 트랙볼에서 스크롤 다운하여 시를 입력하는 텍스트 입력 필드(603)가 강조표시되게 한다. 사용자가 시를 타이핑하기 시작할 때, 도 6b에 표시한 바와 같이 시 라벨이 대체된다. 시가 입력된 후 우측 스크롤에 응답하여, 주를 입력하는 텍스트 입력 필드(604)가 강조표시된다. 사용자가 텍스트를 입력하지 않고 대신 좌측으로 스크롤하면, 도 6b에 표시한 바와 같이 사전에 입력된 시에 대한 텍스트가 모두 강조표시된다. 사용자가 삭제 버튼을 선택하거나 임의의 텍스트를 타이핑하면, 도 6c에 표시한 바와 같이 각각 시 텍스트 입력 필드의 내용이 삭제되거나 대체된다.
일실시예에서, 커서가 현재 텍스트 입력 필드 내에서 텍스트의 시작 또는 끝에 있고 커서가 각각 좌측 또는 우측으로 스크롤되는 경우에만, 또는 트랙볼이 커서의 위치에 상관없이 스크롤 업 또는 다운되면, 새로운 텍스트 입력 필드가 트랙볼 이동에 응답하여 선택된다. 예컨대, 커서가 도 6b의 제1 프레임에서 도시된 바와 같이 텍스트 입력 상자(603)에서 텍스트의 우측에 위치하고 사용자가 우측으로 스크롤하면, 새로운 텍스트 입력 필드(604)가 선택된다. 그러나, 일실시예에서, 사용자가 이 상황에서 좌측으로 스크롤하면, 커서는 이에 반응하여 텍스트 입력 상자(602) 내에서 텍스트의 시작에 도달할 때까지 텍스트를 통해 한번에 한 캐릭터씩 이동할 것이다.
이와 달리, 일실시예에서, 트랙볼을 스크롤하면 커서의 위치에 상관없이 다른 필드가 강조표시될 것이다. 본 실시예에서, 커서는 트랙볼 보다는 방향 패드를 통해 이동한다.
텍스트 선택
본 발명의 일실시예는 예컨대 웹페이지나 이메일 메시지를 볼 때와 같이 "읽기" 모드에 있을 때 트랙볼(301)을 이용하여 텍스트를 선택하는 기술을 제공한다. 이 기술은 도 7을 참조하여 설명될 것이다.
본 실시예에서, 사용자가 텍스트, 하이퍼링크 및 그래픽을 포함한 이메일 메시지의 한 페이지를 읽고 있다. 세가지 모드, 즉 "표준" 모드, "대상설정/선택" 모드 (이하 "대상설정" 모드), 및 "선택" 모드의 동작이 그 페이지를 네비게이트하기 위해 제공된다. 윈도우(700)에서 도시된 표준 모드에 있을 때, 하이퍼링크들만이 트랙볼(301)의 움직임에 응답하여 선택된다. 즉, 트랙볼을 스크롤하는 사용자에 응답하여, 강조표시자가 한 하이퍼링크에서 다른 하이퍼링크로 점프하여, 모든 하이퍼링크되지 않은 텍스트를 바이패스한다. 이 모드는 표준 웹 브라우징 동작에 사용될 수 있다.
일실시예에서, 사용자는 메뉴에서 한 명령을 선택하거나 특정 단축키 (예컨대, 키보드(306)에서 시프트키)를 누르고 및/또는 유지함으로써 장치가 "대상설정" 모드로 들어가게 할 수 있다. 대상설정 모드에 있을 때, 하이퍼링크된 텍스트, 하이퍼링크되지 않은 텍스트 및 그래픽 요소들은 트랙볼 움직임에 응답하여 선택된 다. 구체적으로, 사용자가 트랙볼을 이동할 때, 강조표시자는 트랙볼 이동의 방향으로 연속하여 각 워드를 강조표시한다 (하이퍼링크된 워드만이 아니라). 윈도우(701)에 나타난 바와 같이, 강조표시자는 색을 바꿀 수 있고 하이퍼링크된 워드들에 사용된 포매팅은 장치가 대상설정 모드에 있음을 나타내기 위해 바뀔 수 있다. 사용자는 표준 모드 (시작이 하이퍼링크인 경우) 또는 대상설정 모드에서 원하는 텍스트 선택 지점의 시작의 위치를 정할 수 있다.
원하는 텍스트 선택 지점의 시작이 일단 확인되면, 사용자는 영향을 미치는 한 텍스트를 선택하기 위해 특정 단축키 (예컨대, 시프트)를 유지하면서 트랙볼을 이동시킴으로써 선택 모드로 들어갈 수 있다. 일실시예에서, 지정된 단축키를 유지하면서, 연속적인 각 추가 워드가 현재 선택된 워드(들)과 함께 강조표시될 것이다. 이것은 윈도우(702)에서 그림으로 도시된다. 사용자는 그후 텍스트를 복사하거나 (예컨대, 메뉴 또는 지정된 키 조합으로부터 복사 명령을 이용하여), 다른 텍스트가 선택되도록 단축키를 풀고 트랙볼을 이동시킴으로써 위치 설정 상태로 돌아갈 수 있다.
상기와 같이 워드별(word-by-word basis) 선택은 효율적이고 캐릭터별(character-by-character basis) 선택보다 오류가 덜 발생한다. 그러나, 본 발명의 근본 원리는 캐릭터별 선택을 이용하여 구현될 수 있다.
워드별 선택이 이용된다고 가정하면, 일실시예에서 "워드"는 (a) 하나 이상의 레터, (b) 하나 이상의 디지트, 공간 블록, (c) 하나의 구두점/심볼/특수문자 중 임의의 것으로 정의된다. 이런 식으로, 대부분의 텍스트 선택 상황이 쉽게 캡 처된다. 상기 특징들은 전형적인 일련의 숫자들, 레터들 및 다른 캐릭터들, 즉 sapien123 1-2234-566!!!을 나타낸 도 8에 도시된다. 상기 대상설정 움직임에 응답하여, "sapien" 캐릭터열은 다음의 숫자 집합 ("123")과 논리적으로 분리된다. 이것은 레터들과 숫자들 사이에 스페이스가 없어도 적용된다. 사용자가 지정된 제어키 (예컨대, 시프트)를 유지하면서 휠을 우측으로 스크롤할 때, 다음 캐릭터들이 연속하여 선택된다: 123, 스페이스, 1, -, 2234, -, 566, !, !, !. 따라서, 이 시스템은 무리지어 대시(dash)에 의해 구별된 숫자들 (예컨대, 2234)을 선택하고, 대시, 스페이스, 및 느낌표와 같은 특수문자들을 개별적으로 강조표시한다. 상기 알고리즘의 목적은 효율적이고 사용자에 의해 아마도 의도된 선택을 반영하는 선택 메커니즘을 제공하는 것이다 (예컨대, 사용자는 상기 예에서 2234의 일부만 강조표시할 것 같지는 않다).
브라우저 내비게이션
일실시예에서, 특별한 링크 내비게이션 특징들이 웹 브라우저 내비게이션을 개선하기 위해 제공된다. 예를 들면, 이동 장치 상의 어느 웹 페이지에서, 하이퍼링크들이 임의로 위치될 수 있고 다양한 크기와 길이를 가질 수 있다. 결과적으로, 사용자들은 트랙볼을 위, 아래, 좌, 또는 우로 움직인 후에 어느 링크가 강조표시될지 분간하는 데 문제가 있을 수 있다. 예컨대, 도 9a에서, 메일 아이콘(901)이 현재 강조표시된 링크이지만 사용자가 스크롤 다운하면 어느 링크 (예컨대, 영화 또는 별점)가 강조표시될지 불명확하다.
이 문제를 해결하기 위해, 본 발명의 일실시예는 현재 링크에서 떨어져 이동 하는 트랙볼 이동에 응답하여 선택될 링크들을 시각적으로 확인한다. 도 9b에서, 현재 링크는 "사람 검색"(902)이다. 사용자가 트랙볼을 스크롤하면 선택될 링크들의 표시를 제공하기 위해, 가능성있는 링크들이 투명한 색으로 강조표시된다. 또한, 움직임의 서로 다른 방향을 구별하기 위해, 좌/우측 링크들에게 현재 링크(902) 위/아래에 있는 링크들과 다른 색이 제공된다. 도시된 예에서, 지도 링크(903) 및 TV 링크(904)가 자주색을 갖고 뉴스 링크(905) 및 인물 링크(906)는 회색을 갖는다. 또한, 일실시예에서, 링크가 현재 요소로부터 더 멀리 떨어질수록, 이 링크와 연관된 투명도 값이 더 커진다 (예컨대, 지오시티 링크(907)는 지도 링크(903)보다 더 높은 투명도 값을 가지므로 더 투명하다). 사용자가 새로운 링크로 이동할 때, 강조표시는 이에 따라 재생된다.
논리적 장벽
본 발명의 일실시예는 사용자가 무의식중에 틀린 방향으로 네비게이트하는 것을 방지하기 위해 윈도우들과 다른 그래픽 요소들 사이의 논리적 장벽을 이용한다. 예를 들면, 사용자가 트랙볼(301)을 가지고 메뉴 구조를 스크롤 다운할 생각이었으나 무의식중에 우측 또는 좌측으로 스크롤한 경우, 본 발명의 이 실시예들은 우측 및/또는 좌측 입력을 즉시 등록하지 않는다.
도 10a-b는 달력 프로그램의 2개월 사이의 논리적 장벽의 일실시예를 도시한다. 도 10a에서, 9월달이 윈도우(1000)에 도시되고 10월달이 윈도우(1003)에 도시된다. 이 특정 예에서, 사용자는 9월 13일에서 9월 27일로 (블록 1001) 트랙볼에서 스크롤 다운한다. 9월 27일이 일단 강조표시되면, 논리적 장벽이 처음에 추가 적인 하향 스크롤 동작에 응답하여 강조표시가 10월 윈도우(1003)로 이동하는 것을 방지할 것이다. 일실시예에서, 논리적 장벽은 사용자가 아무런 효과없이 계속 아래로 스크롤할 수 있는 단기간 (예컨대, 4/10초, 1/2초 등)을 포함한다. 이와 달리, 또는 추가적으로, 논리적 장벽은 하향으로 특정 양의 회전을 포함한다 (예컨대, 트랙볼에서 특정 갯수의 하향 "클릭"). 단기간 및/또는 양의 하향 이동 후, 트랙볼(301)에서의 추가적인 하향 스크롤은 강조표시를 10월달 윈도우(1003) 내의 10월 4일자(1002)로 이동시킬 것이다. 일실시예에서, 논리적 장벽은 사용자가 구성할 수 있어서, 사용자가 특정 양의 시간 및/또는 어느 정도의 하향 스크롤이 논리적 장벽으로서 사용되어야 하는지 특정할 수 있다.
도 10b는 주간 달력 보기를 이용하여 동일한 일반 원리를 설명한다. 이 예에서, 11월 15일 수요일 입력(1005)이 11/12/06 (윈도우(1006))의 주에서 처음 선택된다. 트랙볼을 우측으로 스크롤하는 것에 응답하여, 11/15 부터 11/18 까지의 각 날짜가 연속하여 강조표시된다. 윈도우(1006) 내의 최종일이 강조표시될 때 (11/18), 논리적 장벽은 처음에 다음 윈도우(1008)가 추가적인 우측 트랙볼 이동에 응답하여 디스플레이되는 것을 방지할 것이다. 특정 양의 시간 (예컨대, 4/10초, 1/2초 등) 및/또는 트랙볼에서 특정 양의 추가적인 우측 이동 후에, 커서는 새로운 윈도우(1008)에서 첫째일 입력(1007)으로 이동할 것이다.
도 10c-e는 본 발명의 일실시예에 따라 계층구조의 메뉴 구조 내에서 무의식적인 트랙볼 움직임을 방지하기 위한 "레일 가드 (rail guard)"라고 하는 특별 유형의 논리적 장벽을 도시한다. 구체적으로, 도 10c는 트랙볼(301)에서 업/다운 스 크롤 이동을 통해 선택될 수 있는 복수의 선택가능한 요소들을 갖는 드롭다운 메뉴(1010)를 도시한다. 요소(1011)와 같은 어떤 요소들은 이들과 연관된 하위요소들을 갖는다 (일부 요소들에서 디스플레이된 우측포인팅 화살표로 표시). 사용자는 요소(1011)가 하위요소들을 노출하도록 강조표시될 때 트랙볼(301)에서 우측으로 스크롤한다. 예컨대, 도 10d에 도시된 바와 같이, 요소(1011)가 "비행기 모드" 하위요소들 집합을 제시할 때 우측으로 스크롤한다.
본 발명의 일실시예에서, "레일 가드" 논리적 장벽은 부주의한 우/좌측 스크롤 이동에 응답하여 하위요소들이 노출되는 것을 방지하도록 각 요소에서 구성된다. 더 구체적으로, 하위요소들은 수직 이동이 정지한 후 특정 양의 시간 (예컨대, 2/10초) 후에만 우측 이동에 응답하여 선택될 것이다. 따라서, 수직 이동이 정지한 후에 특정 양의 시간 내에 발생하는 임의의 수평 이동은 뜻하지 않은 것으로 간주하여 무시된다. 이와 달리, 또는 추가적으로, 하위요소들은 트랙볼에서 특정 양의 추가적인 우측 이동 후에만 선택될 수 있다.
본 발명의 일실시예에서, 동일 개념이 도 10e에 도시된 것과 같은 그래픽의 원형 메뉴 구조에 적용된다. 즉, 요소(1020)와 같은 어떤 메뉴 요소들은 트랙볼에서 특정 양의 시간 및/또는 특정 양의 추가적인 우측 이동 후에만 우측 이동에 응답하여 선택될 그들과 연관된 하위요소들을 갖는다.
상기 논리적 장벽의 최종결과는 윈도우나 다른 그래픽 요소의 가장자리에서 사용자에 의한 부주의한 이동은 각각 인접한 윈도우 및/또는 다른 그래픽 요소로의 원치 않는 움직임을 유발하지 않을 것이며, 이에 의해 사용자를 위한 내비게이션 경험이 향상된다.
본 발명의 실시예들은 앞서 설명된 다양한 단계들을 포함할 수 있다. 이 단계들은 기계 실행 명령으로 실시될 수 있다. 이 명령은 범용 또는 특수목적 프로세서가 어떤 단계들을 수행하게 하도록 사용될 수 있다. 이와 달리, 이 단계들은 이 단계들을 수행하기 위한 하드웨어에 내장된 논리를 포함하는 특정 하드웨어 구성요소들, 또는 프로그램된 컴퓨터 구성요소들과 주문형 하드웨어 구성요소들의 임의의 조합에 의해 수행될 수 있다.
본 발명의 요소들은 또한 기계 실행 명령을 저장하는 기계 판독가능 매체로서 제공될 수 있다. 기계 판독가능 매체는 플로피 디스켓, 광 디스크, CD-ROM, 및 자기 광학 디스크, ROM, RAM, EPROM, EEPROM, 자기 또는 광 카드, 전파 매체 또는 전자 명령을 저장하는 데 적절한 다른 종류의 매체/기계 판독가능 매체를 포함하지만, 이에 한정되는 것은 아니다. 예컨대, 본 발명은 통신 링크 (예컨대, 모뎀 또는 네트워크 연결부)를 통해 캐리어 웨이브 또는 다른 전파 매체로 실시된 데이터 신호를 통해 원격 컴퓨터 (예컨대, 서버)에서 요청 컴퓨터 (예컨대, 클라이언트)로 전송될 수 있는 컴퓨터 프로그램으로서 다운로드될 수 있다.
상기 설명 전체에서, 설명의 목적상, 많은 특정 세부사항들이 본 발명의 완전한 이해를 위해 설명되었다. 그러나, 본 발명이 이들 특정 세부사항들의 일부 없이도 실시될 수 있음은 당업자에게 명백할 것이다. 따라서, 본 발명의 범위 및 사상은 다음 청구범위의 면에서 판단되어야 한다.

Claims (37)

  1. 프로그램 코드를 저장하는 메모리 및 상기 프로그램 코드를 처리하는 프로세서를 구비하여 그래픽 사용자 인터페이스(GUI)를 생성하는 데이터 처리 장치에 있어서, 상기 GUI는:
    제1 복수의 선택가능한 그래픽 요소들을 포함하는 제1 소정 영역;
    제2 복수의 선택가능한 그래픽 요소들을 포함하는 제2 소정 영역; 및
    상기 제1 소정 영역과 상기 제2 소정 영역 사이의 논리적 장벽을 포함하고,
    상기 논리적 장벽은 상기 제2 소정 영역내 그래픽 요소를 향한 사용자 입력에 응답하여 상기 제1 소정 영역내 그래픽 요소에서 상기 제2 소정 영역내 그래픽 요소로의 움직임을 일시적으로 방지하도록 구성되고, 상기 논리적 장벽은 상기 움직임을 특정 지속시간 및/또는 사용자 입력 장치에 의해 생성된 특정 양의 움직임 동안 일시적으로 방지하는 데이터 처리 장치.
  2. 제1항에 있어서,
    상기 제1 소정 영역은 제1 윈도우를 포함하고 상기 제2 소정 영역은 상기 제1 윈도우에 인접한 제2 윈도우를 포함하고,
    상기 제1 윈도우가 상기 데이터 처리 장치의 디스플레이에서 보일 때, 상기 제2 디스플레이 윈도우는 보이지 않고,
    상기 제2 디스플레이 윈도우가 상기 디스플레이에서 보일 때, 상기 제2 윈도 우는 보이지 않는 데이터 처리 장치.
  3. 제2항에 있어서,
    상기 제1 윈도우 및 상기 제2 윈도우 각각이 상기 전체 데이터 처리 장치 디스플레이를 개별적으로 점유하는 데이터 처리 장치.
  4. 제1항에 있어서,
    상기 제1 논리적 영역은 그래픽 달력 인터페이스 내에 제1 월을 포함하고 상기 제1 복수의 선택가능한 그래픽 요소들은 상기 제1 월 내에 달력 입력들을 포함하고,
    상기 제2 논리적 영역은 상기 그래픽 달력 인터페이스 내에 제2 월을 포함하고 상기 제2 복수의 선택가능한 그래픽 요소들은 상기 제2 월 내에 달력 입력들을 포함하는 데이터 처리 장치.
  5. 제1항에 있어서,
    상기 제1 그래픽 영역은 제1 메뉴를 포함하고 상기 제1 복수의 선택가능한 그래픽 요소들은 선택가능한 메뉴 요소들을 포함하고; 상기 제1 그래픽 영역은 제1 메뉴를 포함하고 상기 제1 복수의 선택가능한 그래픽 요소들은 선택가능한 메뉴 요소들을 포함하고; 상기 제2 복수의 선택가능한 그래픽 요소들은 상기 선택가능한 메뉴 요소들 각각과 연관된 선택가능한 하위 요소들을 포함하는 데이터 처리 장치.
  6. 제1항에 있어서,
    상기 사용자 입력 장치는 트랙볼을 포함하는 데이터 처리 장치.
  7. 사용자 인터페이스 장치를 통한 입력에 응답하여 데이터 처리 장치 디스플레이에 디스플레이되는 그래픽 사용자 인터페이스를 통해 네비게이트하는 방법에 있어서,
    제1 복수의 선택가능한 그래픽 요소들을 포함하는 제1 소정 영역을 제공하는 단계;
    제2 복수의 선택가능한 그래픽 요소들을 포함하는 제2 소정 영역을 제공하는 단계; 및
    상기 제2 소정 영역내 그래픽 요소를 향한 사용자 입력에 응답하여 상기 제1 소정 영역내 그래픽 요소에서 상기 제2 소정 영역내 그래픽 요소로의 움직임을 일시적으로 방지하는 단계를 포함하고, 상기 움직임은 특정 지속시간 및/또는 사용자 입력 장치에 의해 생성된 특정 양의 움직임 동안 방지되는 네비게이트 방법.
  8. 제7항에 있어서,
    상기 제1 소정 영역은 제1 윈도우를 포함하고 상기 제2 소정 영역은 상기 제1 윈도우에 인접한 제2 윈도우를 포함하고,
    상기 제1 윈도우가 상기 데이터 처리 장치의 디스플레이에서 보일 때, 상기 제2 디스플레이 윈도우는 보이지 않고,
    상기 제2 디스플레이 윈도우가 상기 디스플레이에서 보일 때, 상기 제2 윈도우는 보이지 않는 네비게이트 방법.
  9. 제8항에 있어서,
    상기 제1 윈도우 및 상기 제2 윈도우 각각이 상기 전체 데이터 처리 장치 디스플레이를 개별적으로 점유하는 네비게이트 방법.
  10. 제7항에 있어서,
    상기 제1 논리적 영역은 그래픽 달력 인터페이스 내에 제1 월을 포함하고 상기 제1 복수의 선택가능한 그래픽 요소들은 상기 제1 월 내에 달력 입력들을 포함하고,
    상기 제2 논리적 영역은 상기 그래픽 달력 인터페이스 내에 제2 월을 포함하고 상기 제2 복수의 선택가능한 그래픽 요소들은 상기 제2 월 내에 달력 입력들을 포함하는 네비게이트 방법.
  11. 제7항에 있어서,
    상기 제1 그래픽 영역은 제1 메뉴를 포함하고 상기 제1 복수의 선택가능한 그래픽 요소들은 선택가능한 메뉴 요소들을 포함하고; 상기 제1 그래픽 영역은 제1 메뉴를 포함하고 상기 제1 복수의 선택가능한 그래픽 요소들은 선택가능한 메뉴 요 소들을 포함하고; 상기 제2 복수의 선택가능한 그래픽 요소들은 상기 선택가능한 메뉴 요소들 각각과 연관된 선택가능한 하위 요소들을 포함하는 네비게이트 방법.
  12. 제7항에 있어서,
    상기 사용자 입력 장치는 트랙볼을 포함하는 네비게이트 방법.
  13. 데이터 처리 장치의 디스플레이에 디스플레이되는 텍스트 또는 그래픽 (이하 "텍스트") 블록들을 통해 네비게이트하는 방법에 있어서,
    하이퍼링크들을 갖는 텍스트 블록들만이 사용자 입력 장치의 움직임의 방향으로 연속하여 선택되는 제1 선택 모드로 들어가는 단계; 및
    제1 사용자 입력에 응답하여, 하이퍼링크된 텍스트 및 하이퍼링크되지 않은 텍스트 블록들이 상기 사용자 입력 장치의 상기 움직임에 응답하여 연속하여 선택되는 제2 선택 모드로 들어가는 단계
    를 포함하는 네비게이트 방법.
  14. 제13항에 있어서,
    상기 제1 선택 모드와 상기 제2 선택 모드 사이에서 바뀔 때 선택 강조표시자와 연관된 색을 수정하는 단계를 더 포함하는 네비게이트 방법.
  15. 제13항에 있어서,
    제2 사용자 입력에 응답하여, 연속한 각 추가적인 텍스트 블록이 상기 사용자 인터페이스 장치의 상기 움직임에 응답하여 현재 텍스트 블록들과 함께 강조표시되는 제3 선택 모드로 들어가는 단계를 더 포함하는 네비게이트 방법.
  16. 제13항에 있어서,
    상기 텍스트 블록들이 웹페이지 내에 있는 네비게이트 방법.
  17. 제13항에 있어서,
    상기 사용자 인터페이스 장치는 트랙볼을 포함하는 네비게이트 방법.
  18. 제13항에 있어서,
    상기 제1 사용자 입력은 상기 데이터 처리 장치에서 특정 키의 사용자 선택을 포함하는 네비게이트 방법.
  19. 제15항에 있어서,
    상기 제2 사용자 입력은 상기 사용자가 상기 사용자 입력 장치를 동시에 이동시키면서 상기 데이터 처리 장치에서 특정 키를 선택하여 유지하는 것을 포함하는 네비게이트 방법.
  20. 트랙볼을 이용하여 복수의 그래픽 요소들을 통해 네비게이트하는 컴퓨터 구 현 방법에 있어서,
    제1 요소가 선택될 때 상기 트랙볼에서 실질적으로 수직 이동을 검출하는 단계; 및
    (a) 상기 제1 요소에 수직으로 가장 가까운 제2 요소 또는 (b) 상기 제1 요소와 동일한 수평선에 있는 제3 요소 중의 어느 하나를, 상기 제3 요소의 가장 좌측의 수평 좌표가 상기 제2 요소의 가장 좌측의 수평 좌표 보다 상기 제1 요소의 가장 좌측의 수평 좌표에 더 가까우면, 반응적으로 선택하는 단계
    를 포함하는 컴퓨터 구현 방법.
  21. 제20항에 있어서,
    상기 실질적으로 수직인 이동에 응답하여 상기 제1 요소에서 제4 요소로의 이동을 정의하는 수동 오버라이드(override)가 존재하는지 여부를 결정하는 단계; 및
    상기 수동 오버라이드에 응답하여 상기 제4 요소를 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
  22. 제20항에 있어서,
    상기 제1 요소가 선택될 때 상기 트랙볼에서 실질적으로 수평인 이동을 검출하는 단계; 및
    상기 트랙볼 이동의 방향에 가장 가까운 상기 제1 요소와 동일한 수평선에서 한 요소를 선택하는 단계를 더 포함하는 컴퓨터 구현 방법.
  23. 제20항에 있어서,
    실질적으로 수평인 이동을 검출하는 상기 단계는:
    수직 구성요소 및 수평 구성요소를 갖는 트랙볼 이동을 검출하는 단계 및 상기 수평 구성요소가 상기 수직 구성요소보다 더 크면 상기 이동이 실질적으로 수평인 이동을 포함한다고 결정하는 단계를 포함하는 컴퓨터 구현 방법.
  24. 제20항에 있어서,
    상기 그래픽 요소들은 텍스트 입력 필드들을 포함하는 컴퓨터 구현 방법.
  25. 제20항에 있어서,
    상기 그래픽 요소들은 드롭다운 메뉴 요소들을 포함하는 컴퓨터 구현 방법.
  26. 기계에 의해 실행될 때 상기 기계가 이하의 동작을 수행하게 하는 프로그램 코드를 저장한 기계 판독가능 매체로서,
    상기 동작은
    일군의 그래픽 요소들 중 제1 요소가 선택될 때 트랙볼에서 실질적으로 수직인 이동을 검출하는 동작; 및
    (a) 상기 제1 요소에 수직으로 가장 가까운 제2 요소 또는 (b) 상기 제1 요 소와 동일한 수평선에 있는 제3 요소 중의 어느 하나를, 상기 제3 요소의 가장 좌측의 수평 좌표가 상기 제2 요소의 가장 좌측의 수평 좌표 보다 상기 제1 요소의 가장 좌측의 수평 좌표에 더 가까우면, 반응적으로 선택하는 동작을 포함하는 기계 판독가능 매체.
  27. 제26항에 있어서,
    상기 기계로 하여금,
    상기 실질적으로 수직인 이동에 응답하여 상기 제1 요소에서 제4 요소로의 이동을 정의하는 수동 오버라이드가 존재하는지 여부를 결정하는 동작; 및
    상기 수동 오버라이드에 응답하여 상기 제4 요소를 선택하는 동작을 수행하게 하는 추가적인 프로그램 코드를 포함하는 기계 판독가능 매체.
  28. 제26항에 있어서,
    상기 기계로 하여금,
    상기 제1 요소가 선택될 때 상기 트랙볼에서 실질적으로 수평인 이동을 검출하는 동작; 및
    상기 트랙볼 이동의 방향에 가장 가까운 상기 제1 요소와 동일한 수평선에서 한 요소를 선택하는 동작을 수행하게 하는 추가적인 프로그램 코드를 포함하는 기계 판독가능 매체.
  29. 제26항에 있어서,
    상기 실질적으로 수평인 이동을 검출하는 동작은,
    수직 구성요소 및 수평 구성요소를 갖는 트랙볼 이동을 검출하고, 상기 수평 구성요소가 상기 수직 구성요소보다 더 크면 상기 이동이 실질적으로 수평인 이동을 포함한다고 결정하는 것을 포함하는 기계 판독가능 매체.
  30. 제26항에 있어서,
    상기 그래픽 요소들은 텍스트 입력 필드들을 포함하는 기계 판독가능 매체.
  31. 제26항에 있어서,
    상기 그래픽 요소들은 드롭다운 메뉴 요소들을 포함하는 포함하는 기계 판독가능 매체.
  32. 무선 데이터 처리 장치에 있어서,
    복수의 선택가능한 그래픽 요소들을 포함하는 그래픽 사용자 인터페이스를 디스플레이하는 디스플레이;
    상기 선택가능한 그래픽 요소들 사이의 움직임을 야기하도록 사용자 입력을 수신하는 트랙볼;
    프로그램 코드를 저장하는 메모리; 및
    프로세서를 포함하며,
    상기 프로세서는,
    상기 프로그램 코드를 처리하여
    일군의 그래픽 요소들 중 제1 요소가 선택될 때 트랙볼에서 실질적으로 수직인 이동을 검출하는 동작; 및
    (a) 상기 제1 요소에 수직으로 가장 가까운 제2 요소 또는 (b) 상기 제1 요소와 동일한 수평선에 있는 제3 요소 중의 어느 하나를, 상기 제3 요소의 가장 좌측의 수평 좌표가 상기 제2 요소의 가장 좌측의 수평 좌표 보다 상기 제1 요소의 가장 좌측의 수평 좌표에 더 가까우면, 반응적으로 선택하는 동작을 수행하는 무선 데이터 처리 장치.
  33. 제32항에 있어서,
    상기 프로세서로 하여금,
    상기 실질적으로 수직인 이동에 응답하여 상기 제1 요소에서 제4 요소로의 이동을 정의하는 수동 오버라이드가 존재하는지 여부를 결정하는 동작; 및
    상기 수동 오버라이드에 응답하여 상기 제4 요소를 선택하는 동작을 수행하게 하는 추가적인 프로그램 코드를 포함하는 무선 데이터 처리 장치.
  34. 제32항에 있어서,
    상기 프로세서로 하여금,
    상기 제1 요소가 선택될 때 상기 트랙볼에서 실질적으로 수평인 이동을 검출 하는 동작; 및
    상기 트랙볼 이동의 방향에 가장 가까운 상기 제1 요소와 동일한 수평선에서 한 요소를 선택하는 동작을 수행하게 하는 추가적인 프로그램 코드를 포함하는 무선 데이터 처리 장치.
  35. 제32항에 있어서,
    실질적으로 수평인 이동을 검출하는 상기 동작은,
    수직 구성요소 및 수평 구성요소를 갖는 트랙볼 이동을 검출하고, 상기 수평 구성요소가 상기 수직 구성요소보다 더 크면 상기 이동이 실질적으로 수평인 이동을 포함한다고 결정하는 것을 포함하는 무선 데이터 처리 장치.
  36. 제32항에 있어서,
    상기 그래픽 요소들은 텍스트 입력 필드들을 포함하는 무선 데이터 처리 장치.
  37. 제32항에 있어서,
    상기 그래픽 요소들은 드롭다운 메뉴 요소들을 포함하는 무선 데이터 처리 장치.
KR1020097000315A 2006-07-10 2007-07-06 그래픽 사용자 인터페이스를 생성하는 데이터 처리 장치, 네비게이트 방법, 컴퓨터 구현 방법, 기계 판독가능 매체, 및 무선 데이터 처리 장치 KR101433969B1 (ko)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US11/484,237 2006-07-10
US11/484,105 US7782302B2 (en) 2006-07-10 2006-07-10 Trackball for a mobile device
US11/484,105 2006-07-10
US11/484,237 US7626573B2 (en) 2006-07-10 2006-07-10 Trackball for a mobile device
PCT/US2007/015520 WO2008008267A2 (en) 2006-07-10 2007-07-06 Trackball system and method for a mobile data processing device

Publications (2)

Publication Number Publication Date
KR20090048570A true KR20090048570A (ko) 2009-05-14
KR101433969B1 KR101433969B1 (ko) 2014-08-26

Family

ID=38923797

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020097000315A KR101433969B1 (ko) 2006-07-10 2007-07-06 그래픽 사용자 인터페이스를 생성하는 데이터 처리 장치, 네비게이트 방법, 컴퓨터 구현 방법, 기계 판독가능 매체, 및 무선 데이터 처리 장치

Country Status (5)

Country Link
EP (1) EP2044505B1 (ko)
JP (2) JP2009543256A (ko)
KR (1) KR101433969B1 (ko)
CA (2) CA2871409C (ko)
WO (1) WO2008008267A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190063853A (ko) * 2017-11-30 2019-06-10 삼성에스디에스 주식회사 입력 필드의 이동 방법 및 장치

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7782302B2 (en) 2006-07-10 2010-08-24 Microsoft Corporation Trackball for a mobile device
US7626573B2 (en) 2006-07-10 2009-12-01 Microsoft Corporation Trackball for a mobile device
US10175874B2 (en) 2013-01-04 2019-01-08 Samsung Electronics Co., Ltd. Display system with concurrent multi-mode control mechanism and method of operation thereof
US9836313B2 (en) * 2014-02-04 2017-12-05 Tactual Labs Co. Low-latency visual response to input via pre-generation of alternative graphical representations of application elements and input handling on a graphical processing unit

Family Cites Families (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05143238A (ja) * 1991-11-25 1993-06-11 Fujitsu Ltd ポインテイングカーソル移動制御装置
JPH05150899A (ja) * 1991-11-26 1993-06-18 Canon Inc ポインテイングデバイス
JPH05334289A (ja) * 1992-05-29 1993-12-17 Canon Inc 文書処理装置
US5745100A (en) * 1992-10-02 1998-04-28 International Business Machines Corporation Input device pointer remap region on a computer display
US5929840A (en) * 1994-03-04 1999-07-27 Microsoft Corporation System and method for computer cursor control
JPH08137853A (ja) * 1994-11-14 1996-05-31 Canon Inc 文書処理装置
US5760773A (en) * 1995-01-06 1998-06-02 Microsoft Corporation Methods and apparatus for interacting with data objects using action handles
US6219032B1 (en) * 1995-12-01 2001-04-17 Immersion Corporation Method for providing force feedback to a user of an interface device based on interactions of a controlled cursor with graphical elements in a graphical user interface
US6867790B1 (en) * 1996-08-09 2005-03-15 International Business Machines Corporation Method and apparatus to conditionally constrain pointer movement on a computer display using visual cues, controlled pointer speed and barriers on the display which stop or restrict pointer movement
DE69726028T2 (de) * 1996-09-18 2004-07-15 Access Co., Ltd. Programm für Internet-Gerät
JPH1132113A (ja) * 1997-07-08 1999-02-02 Kokusai Electric Co Ltd 携帯電話機
US5977972A (en) * 1997-08-15 1999-11-02 International Business Machines Corporation User interface component and method of navigating across a boundary coupled to a scroll bar display element
US6154205A (en) * 1998-03-25 2000-11-28 Microsoft Corporation Navigating web-based content in a television-based system
JP2000039966A (ja) * 1998-07-23 2000-02-08 Alps Electric Co Ltd ポインティングカーソルの移動方法
US6295049B1 (en) * 1999-03-03 2001-09-25 Richard T. Minner Computer system utilizing graphical user interface with hysteresis to inhibit accidental selection of a region due to unintended cursor motion and method
US6433775B1 (en) * 1999-03-25 2002-08-13 Monkeymedia, Inc. Virtual force feedback interface
JP2001265532A (ja) * 2000-03-23 2001-09-28 Sharp Corp 情報機器への情報入力装置および情報入力装置による情報機器への情報入力方法ならびに情報入力処理プログラムを記憶した記憶媒体
US6822664B2 (en) * 2000-10-11 2004-11-23 Microsoft Corporation Browser navigation for devices with a limited input system
US7325198B2 (en) * 2002-12-31 2008-01-29 Fuji Xerox Co., Ltd. Calendar-based interfaces for browsing and manipulation of digital images
US7404149B2 (en) * 2003-03-28 2008-07-22 International Business Machines Corporation User-defined assistive GUI glue

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20190063853A (ko) * 2017-11-30 2019-06-10 삼성에스디에스 주식회사 입력 필드의 이동 방법 및 장치

Also Published As

Publication number Publication date
JP5701836B2 (ja) 2015-04-15
CA2657901C (en) 2015-10-13
EP2044505A4 (en) 2013-01-09
CA2871409A1 (en) 2008-01-17
EP2044505A2 (en) 2009-04-08
JP2013058214A (ja) 2013-03-28
KR101433969B1 (ko) 2014-08-26
WO2008008267A2 (en) 2008-01-17
EP2044505B1 (en) 2019-01-16
CA2871409C (en) 2015-05-19
WO2008008267A3 (en) 2008-12-11
CA2657901A1 (en) 2008-01-17
JP2009543256A (ja) 2009-12-03

Similar Documents

Publication Publication Date Title
US7782302B2 (en) Trackball for a mobile device
US11099712B2 (en) Device, method, and graphical user interface for navigating and displaying content in context
US20220397996A1 (en) Touch screen device, method, and graphical user interface for customizing display of content category icons
US9569102B2 (en) Device, method, and graphical user interface with interactive popup views
US7626573B2 (en) Trackball for a mobile device
EP2508976B1 (en) Portable electronic device, method and graphical user interface for displaying structured electronic documents
US20080165148A1 (en) Portable Electronic Device, Method, and Graphical User Interface for Displaying Inline Multimedia Content
JP5701836B2 (ja) モバイルデータ処理デバイスのためのトラックボールシステムおよび方法
AU2019213409B2 (en) Portable electronic device, method, and graphical user interface for displaying structured electronic documents
AU2014262258B2 (en) Portable electronic device, method, and graphical user interface for displaying structured electronic documents
AU2011101188A4 (en) Portable electronic device, method, and graphical user interface for displaying structured electronic documents
AU2011101190A4 (en) Portable electronic device, method, and graphical user interface for displaying structured electronic documents

Legal Events

Date Code Title Description
A201 Request for examination
AMND Amendment
E902 Notification of reason for refusal
AMND Amendment
E601 Decision to refuse application
J201 Request for trial against refusal decision
AMND Amendment
B701 Decision to grant
N231 Notification of change of applicant
GRNT Written decision to grant
FPAY Annual fee payment

Payment date: 20170719

Year of fee payment: 4

FPAY Annual fee payment

Payment date: 20180718

Year of fee payment: 5