KR101711110B1 - 컴퓨팅 디바이스 상의 글리프 엔트리 - Google Patents

컴퓨팅 디바이스 상의 글리프 엔트리 Download PDF

Info

Publication number
KR101711110B1
KR101711110B1 KR1020117026849A KR20117026849A KR101711110B1 KR 101711110 B1 KR101711110 B1 KR 101711110B1 KR 1020117026849 A KR1020117026849 A KR 1020117026849A KR 20117026849 A KR20117026849 A KR 20117026849A KR 101711110 B1 KR101711110 B1 KR 101711110B1
Authority
KR
South Korea
Prior art keywords
glyph
user
input
touch screen
entry
Prior art date
Application number
KR1020117026849A
Other languages
English (en)
Other versions
KR20120013377A (ko
Inventor
양 리
Original Assignee
구글 인코포레이티드
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 구글 인코포레이티드 filed Critical 구글 인코포레이티드
Publication of KR20120013377A publication Critical patent/KR20120013377A/ko
Application granted granted Critical
Publication of KR101711110B1 publication Critical patent/KR101711110B1/ko

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/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/03Arrangements for converting the position or the displacement of a member into a coded form
    • G06F3/041Digitisers, e.g. for touch screens or touch pads, characterised by the transducing means
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0484Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
    • G06F3/0485Scrolling or panning
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units

Abstract

컴퓨터에 의해 구현되는 사용자 인터페이스 방법이 개시된다. 이 방법은 아이템 목록의 제1 서브-부분을 컴퓨팅 디바이스의 터치스크린에 디스플레이하는 단계, 상기 디바이스의 사용자로부터 상기 터치스크린 상에서 드로운 입력을 수신하는 단계, 상기 드로운 입력을 영숫자 문자에 상관시키는 단계, 및 두문자가 상기 영숫자 문자에 상관하는 하나 이상의 입력을 갖는 상기 목록의 제2 서브 부분을 자동으로 디스플레이하는 단계를 포함한다.

Description

컴퓨팅 디바이스 상의 글리프 엔트리{GLYPH ENTRY ON COMPUTING DEVICE}
본 출원은 발명의 명칭이 "컴퓨팅 디바이스 상의 글리프 엔트리"로서, 2009년 4월 10일 출원된 미국 출원 번호 제12/422,185호에 대한 우선권을 주장하며, 이 미국 특허 출원의 모든 내용은 참조로서 본 명세서에 포함된다.
본 명세서는 컴퓨팅 디바이스의 디스플레이 상에서 글리프들(glyphs) 또는 드로운 기호들(drawn symbols: 예컨대, 알파벳 문자들)을 입력하는 사용자와의 인터렉션(interaction)을 위한 시스템들 및 기법들에 관한 것이다.
사람들은 컴퓨터들, 전화들, 음악 재생기들 등과 같은 전자 디바이스들을 가지고, 한번에 몇 시간을 보낸다. 사람들은 사용하기에 직관적이고, 기계들이 어떻게 동작해야 하는지에 관한 사람들의 기대들을 가장 충족시키는 인터렉션들을 갖는 이러한 디바이스들을 가장 좋아한다. 사람들은 전자 디바이스들로부터의 입력 및 출력을 통해 그 전자 디바이스들과 인터렉션하는데, 상기 출력은 일반적으로 들리도록(audibly) 그리고/또는 평면 그래픽 디스플레이 스크린 상에 제공되고, 상기 입력은 터치스크린들, 조이스틱들, 마우스들, 4-방향 키패드들, 및 다른 이러한 입력 메카니즘들을 통해 발생할 수 있다.
모바일 디바이스들이 점점 더 강력해짐에 따라, 사용자들은 그래픽 객체들(graphical objects)(예컨대, 아이템들의 목록들, 지도들, 이미지들 등)을 더욱 사용하여 상기 모바일 디바이스들과 인터렉션한다. 모바일 디바이스 상의 디스플레이는 매우 작은 반면에, 이러한 객체들로 표현되는 정보는 표현되는 데이터 관점에서 엄청나고, 또한 시각적으로 매우 클 수 있다(미국의 상세 지도의 폭은 마일 단위임). 그 결과로서, 사용자에게 공간 감각을 여전히 부여하면서 공간 전체를 통해 직관적으로 이동할 수 있도록 하면서, 사용자에게 충분히 자세한 그래픽 정보(예컨대, 객체의 특정 영역을 줌인(zooming in)함으로써)를 제공하는 것은 어려울 수 있다.
본 명세서는 터치스크린 사용자 인터페이스를 구비한 모바일 전화와 같은 컴퓨팅 디바이스의 사용자와 인터렉션하기 위해 사용될 수 있는 시스템들 및 기법들을 기술한다. 일반적으로, 상기 기법들은 글리프에 연관된, 컴퓨팅 디바이스 시스템에 저장된 객체로 사용자를 이동시킴으로써, 디스플레이 상에서 글리프의 사용자 입력에 반응할 수 있다. 글리프는 일반적으로 사용자가 자신의 손가락을 떼지 않고 단일 트레이스 모션(single traced motion)으로, 예컨대 터치스크린 상에 사용자의 손가락을 드래그함으로써 입력할 수 있는 시각적 기록 요소이다. 글리프들은 영숫자 문자(alphanumeric character)들 및 다른 기호들을 포함할 수 있다.
예를 들어, 재생목록(playlist)에 있는 노래들의 목록과 같은 아이템들의 긴 목록을 보고 있는 사용자는 디스플레이 상에서 알파벳 글자를 그려서, 그 글자로 시작하는 엔트리들로 목록이 자동으로 스크롤되게 할 수 있다. 유사한 방식으로, 지도의 일 부분을 줌인(zoom-in)하고 있는 사용자는 자신의 디바이스의 스크린 위에 글자를 트레이스해서(trace), 그 글자로 시작하는 가장 가까운 랜드마크로 팬(pan)할 수 있게 한다. 또는 가상 거리 뷰(virtual view of street)를 보고 있는 사용자는 스크린상에서 글자 "E"를 트레이스해서, 자신의 아바타가 동쪽을 향하도록 할 수 있다.
또한 사용자는 하나 이상의 커스텀 글리프들(custom glyph)을 컴퓨터 상의 특정 객체들에 할당하도록 허용될 수 있다. 예를 들어, 사용자는 친구를 위한 연락처 엔트리(contacts entry)를 열고, 글리프를 제출하기 위한 컨트롤을 선택할 수 있다. 이후에, 사용자는 자신이 선호하는 어떤 글리프(예컨대, 친구 별명의 첫 글자 또는 단순한 형상)를 트레이스하고, 그 글리프를 친구의 연락처 기록(friend's contact record)에 할당할 수 있다. 만약 사용자가 디바이스를 사용하는 동안에, 글리프를 나중에 입력하면, 사용자는 연락처 기록에 바로 안내될 수 있다. 또한, 복수의 글리프들이 동일한 객체에 할당되어서, 사용자는 이러한 객체에 도달하는 다수의 방식들을 가질 수 있다.
또한, 단일의 글리프가 다수의 객체들에 할당될 수 있다. 이와 같은 상황에서, 사용자에 의한 글리프의 엔트리 직후에, 팝업 컨트롤(pop up control)이 복수의 객체들을 나열하고, 사용자는 그 복수의 객체들 중 하나를 선택할 수 있다. 대안적으로, 시스템은 글리프가 입력된 콘텍스트(context)에 기초하여, 적절한 객체(proper object)을 자동적으로 선택할 수 있다. 예를 들어, 만약 글리프가 주소록 애플리케이션이 활성화되었을 때 입력되면, 디바이스는 글리프에 대응하는 음악 재생목록보다는 글리프에 대응하는 연락처 엔트리로 점프할 것이다. 콘텍스트가 다수의 객체들에 관련될 수 있는 경우(예컨대, 글리프가 데스크탑 상에서 입력됨)에는, 상기 객체들은 선택될 가능성이 가장 높은 객체에 따라서 우선 순위가 부여될 수 있다(예컨대, 그 객체는 디바이스의 사용자에 의해 빈번하게 액세스되거나, 그 객체의 유형은 객체의 다른 유형보다 일반적으로 많이 액세스되기 때문임).
일 구현예에서, 컴퓨터에 의해 구현된 사용자 인터페이스 방법이 개시된다. 상기 방법은 아이템들의 목록의 제1 서브-부분을 컴퓨팅 디바이스의 터치스크린에 디스플레이하는 단계, 디바이스의 사용자로부터 상기 터치스크린 상의 드로운 입력(drawn input)을 수신하는 단계, 드로운 입력을 영숫자 문자에 상관(correlate)시키는 단계, 그리고 첫 글자가 상기 영숫자 문자에 상관하는 하나 이상의 엔트리를 갖는 상기 목록의 제2 서브 부분을 자동으로 디스플레이하는 단계를 포함한다. 또한, 상기 방법은 영숫자 문자의 엔트리와 목록에 대한 스크롤링 입력(scrolling input)을 구별하는 단계를 포함할 수 있다. 영숫자 문자의 입력과 스크롤링 입력을 구별하는 단계는 영숫자 문자의 일부의 엔트리를 위한 경계 박스를 식별하는 단계를 포함한다. 또한, 터치스크린 상의 드로운 입력을 수신하는 단계는 아이템들의 목록의 서브-부분의 상부 상의 드로운 입력을 수신하는 단계를 포함할 수 있다.
특정 양상에서, 아이템들의 목록은 아이템들의 알파벳순의 목록을 포함하고, 상기 목록의 제2 서브-부분을 디스플레이하는 단계는 목록이 디스플레이되는 디스플레이 영역의 상부에 첫 글자로 시작하는 제1 알파벳순 엔트리를 디스플레이하는 단계를 포함한다. 또한, 이 방법은 드로운 입력이 영숫자 문자로서 인식되지 않으면, 사용자에게 시각적 또는 청각적 실패 표시자(visual or audible failure indicator)를 제공하는 단계를 포함할 수 있다. 상기 실패 표시자는 이전에 디스플레이된 드로운 입력의 색상과는 대비되는 색상으로 드로운 입력을 디스플레이하는 단계를 포함할 수 있다. 이에 더하여, 상기 드로운 입력은 터치스크린과의 포인터 접촉(pointer contact), 이에 후속하는 상기 터치스크린으로부터 포인터 접촉 해제(pointer release) 및 상기 터치스크린 상에서 상기 포인터 접촉과 상기 포인터접촉 해제 간의 트레이스된 포인터 경로에 의해 정해질 수 있다. 또한 상기 방법은 아이템들의 목록의 제1 서브-부분을 디스플레이하기 전에, 사용자로부터 상기 터치스크린 상에서 글리프의 트레이싱(tracing)을 수신하는 단계, 수신된 글리프가 아이템들의 목록에 대응함을 판단하는 단계, 및 상기 글리프의 수신에 응답하여 아이템들의 목록의 제1 서브-부분을 디스플레이하는 단계를 포함할 수 있다.
다른 구현예에서, 컴퓨터에 의해 구현된 사용자 인터페이스 방법이 개시되며, 상기 방법은 컴퓨팅 디바이스에서 동작하는 운영 시스템 또는 애플리케이션으로부터의 콘텐츠를 컴퓨팅 디바이스의 터치스크린 상에 디스플레이하는 단계, 디바이스의 사용자로부터, 상기 운영 시스템 또는 애플리케이션으로부터의 콘텐츠 위의 터치스크린 상의 드로운 입력을 수신하는 단계―상기 드로운 입력은 운영 시스템 또는 애플리케이션으로부터의 콘텐츠에 상관되지 않음―, 그려진 입력에 연관되는 사용자정의 글리프를 식별하는 단계; 및 사용자정의 글리프를 식별한 것에 응답하여, 상기 사용자정의 글리프에 대응하는 하나 이상의 사용자정의 인터페이스 요소(user-defined interface element)를 터치스크린 상에 자동으로 디스플레이하는 단계를 포함한다. 하나 이상의 사용자정의 인터페이스 요소들을 디스플레이하는 단계는 사용자정의 글리프에 연관되는 애플리케이션을 실행시키는 단계를 포함할 수 있다. 또한 이 발명은 사용자정의 글리프에 대응하는 복수의 결과들을 식별하는 단계, 및 사용자에게 복수의 결과들 중 하나에 대한 선택을 요청하는 단계를 포함하고, 상기 선택된 결과는 하나 이상의 사용자정의 인터페이스 요소들을 발생시킨다.
또 다른 구현예에서, 하나 이상의 기계가 동작들을 수행할 수 있게 하는 프로그램 코드를 저장하는 컴퓨터 판독가능 데이터 저장 매체를 포함하는 물품이 개시된다. 이 동작들은 아이템들의 목록의 제1 서브-부분을 컴퓨팅 디바이스의 터치스크린상에 디스플레이하는 단계, 디바이스의 사용자로부터 상기 터치스크린 상의 드로운 입력(drawn input)을 수신하는 단계, 드로운 입력을 영숫자 문자에 상관시키는 단계, 그리고 첫 글자가 영숫자 문자에 상관하는 하나 이상의 엔트리들을 갖는 상기 목록의 제2 서브 부분을 자동으로 디스플레이하는 단계를 포함한다. 이 동작들은 영숫자 문자의 엔트리와 목록에 대한 스크롤링 입력을 구별하는 단계를 더 포함할 수 있다. 이 동작들은 알파벳 문자의 입력과 그 목록을 위한 스크롤링 입력을 구별하는 단계를 더 포함한다. 또한, 아이템들의 목록은 아이템들의 알파벳순 목록을 포함할 수 있고, 상기 목록의 제2 서브-부분을 디스플레이하는 단계는 목록이 디스플레이되는 디스플레이 영역의 상부에 첫 글자로 시작하는 제1 알파벳순 엔트리를 디스플레이하는 단계를 포함한다. 또한 드로운 입력은 터치스크린과의 포인터 접촉(pointer contact), 이에 후속하는 상기 터치스크린으로부터의 포인터 접촉 해제(pointer release) 및 상기 터치스크린 상에서 상기 포인터 접촉과 상기 포인터 접촉 해제 간에 트레이스된 포인터 경로에 의해 정해질 수 있다.
특정 양상들에서, 상기 동작들은 아이템들의 목록의 제1 서브-부분을 디스플레이하기 전에, 사용자로부터 상기 터치스크린 상에서 글리프의 트레이싱을 수신하는 단계, 수신된 글리프가 아이템들의 목록에 대응함을 판단하는 단계, 및 그 글리프의 수신에 응답하여 아이템들의 목록의 제1 서브-부분을 디스플레이하는 단계를 포함할 수 있다.
다른 구현예예서, 컴퓨터에 의해 구현된 사용자 인터페이스 시스템이 알파벳순 제목들로 지정된 객체들을 보여주는 그래픽 사용자 인터페이스의 부분들을 제시하는 그래픽 디스플레이, 그래픽 디스플레이 상에서 사용자 트레이스들(user traces)을 수신하고, 수신된 사용자 트레이스에 대응하는 글리프를 식별하는 글리프 해석기, 식별된 글리프에 대응하는 것으로 미리 식별된 새로운 콘텐츠를 그래픽 디스플레이 상에 디스플레이하도록 프로그램된 드로운 사용자 입력 제어기를 포함하는 것이 개시된다. 알파벳순의 제목들에 의해 지정된 객체들은 정렬된 객체 목록의 일부일 수 있고, 새로운 콘텐츠는 식별된 글리프에 매칭하는 문자로 시작하는, 목록에 있는 하나 이상의 엔트리들을 포함할 수 있다. 또한, 드로운 사용자 입력 제어기는 사용자 드로잉 입력과 스크롤링 입력을 구별하도록 프로그래밍되고, 입력이 사용자 드로잉 입력으로 판단될 경우에만 글리프를 식별하도록 프로그래밍될 수 있다. 또한, 드로운 사용자 입력 제어기는 사용자로부터 드로운 글리프를 수신하고, 드로운 글리프와 사용자에 의해 식별된 객체 간에 상관이 형성되도록 하여, 드로운 글리프로 된 향후 사용자 입력은 사용자에 의해 식별된 객체가 시스템에 의해 어드레스되도록 한다. 드로운 사용자 입력 제어기는 그래픽 디스플레이 상에서, 가시 입력 영역(visible input area)이 없이, 활성 애플리케이션을 통해 수신된 드로운 입력을 식별하도록 더 프로그래밍될 수 있다.
다른 구현예들에서, 컴퓨터 구현 사용자 인터페이스 시스템은 알파벳순 제목들로 지정된 객체들을 보여주는 그래픽 사용자 인터페이스의 부분들을 제시하는 그래픽 디스플레이, 그래픽 디스플레이 상에서 사용자 트레이스들을 수신하고, 수신된 사용자 트레이스에 대응하는 글리프를 식별하는 글리프 해석기, 및 그래픽 디스플레이 상에서 글리프의 수신에 응답하여 객체들 중 하나를 디스플레이하는 수단을 포함하고, 디스플레이되는 객체는 식별된 글리프에 상관된다.
하나 이상의 실시예들의 상세가 첨부하는 도면들과 아래의 상세한 설명에서 제시된다. 다른 특징들과 이점들은 상세한 설명, 도면들, 및 청구항들로부터 명백해질 것이다.
특정 구현예들에서, 이러한 시스템들과 기법들은 하나 이상의 장점들을 제공할 수 있다. 예를 들어, 컴퓨팅 디바이스의 사용자는 자신이 터치스크린 상에 그린 글자로 목록 내에서 점프함으로써 목록 전역을 빠르게 이동할 수 있다. 유사하게, 사용자는 단일 스크린에 적합하지 않은 2차원 또는 3차원 공간에 있는 객체를 향해, 스크린 상이고 상기 객체가 위치되는 그래픽적 묘사(graphical depiction) 위에 상기 객체에 대한 글자를 입력함으로써 이동할 수 있다. 이에 더하여, 사용자는 자신의 컴퓨팅 디바이스를 자신의 필요들에 따라 커스터마이징(customizing)할 수 있고, 디스플레이 상에 커스텀 글리프를 그림으로써 현재 제시된 것과는 전혀 다른 유형의 애플리케이션에 있는 객체로 점프할 수 있다. 이러한 방식으로, 사용자 경험이 향상될 수 있고, 사용자는 자신의 디바이스 사용에 있어 더욱 효율적이 될 수 있다.
도 1은 사용자 입력 문자(user-entered character)에 대응하는, 목록에 있는 위치로 스크롤링하는 모바일 터치스크린 디바이스의 일련의 스크린샷들을 나타낸다.
도 2는 커스텀 글리프로 프로그램되는 모바일 터치스크린 디바이스의 일련의 스크린샷들을 나타낸다.
도 3은 하나의 객체에 대응하는 복수의 글리프들을 보여주는 모바일 터치스크린 디바이스의 일련의 스크린샷들을 나타낸다.
도 4는 터치스크린 입력들에 응답하여 사용자 인터렉션을 제공하는 시스템의 개략적 다이어그램이다.
도 5a-5d는 컴퓨팅 디바이스의 사용자에 의한 글리프 엔트리들을 처리하는 예시적 프로세스들의 순서도들이다.
도 6a-6b는 글리프들을 특정 컴퓨팅 객체들에 연관시키는 예시적 프로세스의 순서도들이다.
도 7은 본 명세서에서 설명된 기법들을 구현하기 위해 사용될 수 있는 예시적 컴퓨터 디바이스와 모바일 컴퓨터 디바이스를 나타낸다.
여러 도면들에서 동일한 참조 기호들은 동일한 요소들을 가리킨다.
본 명세서는 모바일 디바이스들이 그러한 디바이스들의 사용자와 인터렉션할 수 있게 하는 시스템들과 기법들을 설명한다. 이러한 인터렉션은 많은 경우에 로마/라틴 알파벳 문자들의 형태일 수 있는 간단한 문자들, 또는 글리프들의 사용자 엔트리들에 응답하는 모바일 디바이스에 의해 발생할 수 있다. 예를 들어, 사용자는 디스플레이되는 재생목록 위의 디스플레이 스크린 상에서 글자를 트레이싱함에 의해, 음악 재생목록과 같은 알파벳순으로 정렬된 목록에 있는 한 위치로 점프하여, 디스플레이는 사용자에 의해 입력된 문자로 시작하는, 목록에 있는 제1 엔트리로 점프할 수 있다.
사용자는 고유의 글리프들을 운영 시스템 또는 운영 시스템에서 실행중인 애플리케이션에 있는 다양한 서로 다른 객체들에 할당하도록 추가적으로 허용된다. 예를 들어, 사용자는 연락처, 노래, 다른 유형의 미디어 파일, 또는 다른 유사한 객체와 같은 객체들로 이동할 수 있다. 글리프를 객체에 할당하고자 하는 의도를 나타내기 위해, 사용자는 그 객체에 연관된 컨트롤을 선택한 다음, 컴퓨팅 디바이스의 디스플레이 상에 글리프를 그릴 것을 지시받을 수 있다. 사용자가 자신이 그린 글리프가 할당되기를 원하는지(또는 사용자가 글리프 다시 그리기를 선택할 수 있음)를 확인할 수 있도록 하기 위해, 글리프는 사용자가 그린 대로 보여질 수 있다. 사용자가 이후 디바이스를 사용할 때, 사용자가 객체로 점프하기 위하여 자신이 생성해 놓은 글리프를 그릴 수 있다. 특정 환경에서, 글리프는 디바이스 상의 어떤 위치에서 그려질 수 있고, 객체로 바뀔 수 있고, 다른 환경에서 글리프는 디바이스가 특정 상황(예컨대, 특정 애플리케이션에서 위치를 위한 글리프가 그 애플리케이션이 활성화인 동안에만 이용가능할 수 있음)에 있을 때에만, 바뀔 수 있다.
도 1은 사용자 입력 문자들에 대응하는 목록에서 한 위치로 스크롤링하는 모바일 터치스크린 디바이스의 일련의 스크린샷들을 나타낸다. 일반적으로, 스크린샷들은 모바일 스마트폰의 형태로 된 모바일 컴퓨팅 디바이스의 디스플레이들에 대한 것이고, 디바이스의 터치스크린 위에 다양한 알파벳 글리프들을 입력하는 사용자에 대한 것이다. 6개의 스크린샷 각각은 사용자 입력들의 시퀀스 동안 서로 다른 디스플레이를 보여준다.
글자(a)로 지정된 디스플레이는 사용자가 디바이스 상에서 연락처 목록을 보고 있는 것을 나타낸다. 연락처 목록은 알파벳순으로 정렬되어 있고, 동작 개시 시점에, 글자 "C"로 시작하는 이름들에 멈추어 있다. 보이는 바와 같이, 사용자는 스크린 상에서 "b"의 아랫부분을 트레이싱하는 과정이고, 문자는 사용자가 트레이싱 한대로 디스플레이 상에 그대로 그려진다. 글자 (b)로 지정된 디스플레이에서, 사용자는 문자를 그리는 것을 끝내고, 글자 "B"(사용자가 트레이싱한 문자에 대응함)로 시작하는 이름들에 자동으로 점프된 이름들의 목록을 볼 수 있고, 첫 알파벳문자가 "B"로 된 이름이 목록의 상부에 있다. 따라서 디바이스는 사용자가 트레이싱한 글리프가 알파벳 "b"의 표현에 매칭되는 것을 인식하였고, 디스플레이를 목록에 있는 그 위치로 점프시켰다.
글자 (c)로 지정된 디스플레이에서, 사용자는 문자 "C"로 시작하는 엔트리들을 보고 싶다는 것을 결심하고, 그에 따라 디바이스의 스크린 위에 상기 문자를 트레이싱하기 시작한다. 도시된 바와 같이, 사용자가 엔트리를 입력함에 따라, 디스플레이는 자신의 엔트리를 반복하고, 문자 (d)로 지시된 디스플레이에서 사용자가 터치스크린 표면으로부터 자신의 손가락을 떼어, 문자 "C"를 완성하였다. 이 시점에, 디바이스는 사용자 엔트리가 완료되었는지를 판단하고, 대체로 원형이고 일부 오픈된 엔트리를 문자 "C"로 해석하고, 신속하고 자동으로 문자 "C"로 시작하는 엔트리들로 목록을 스크롤한다.
사용자는 글자들 (e)와 (f)로 마킹된 디스플레이에서, 사용자의 엔트리들을 계속하고, 알파벳 문자들 "d"와 "e"를 각각 입력한다. 각 엔트리에서, 목록은 사용자가 입력한 문자들로 시작하는 엔트리들로 스크롤한다.
도시된 바와 같이, 사용자 엔트리는 목록을 디스플레이하는 애플리케이션이 디스플레이 컴포넌트들을 제공하는 디스플레이 영역 바로 위에서 발생한다. 따라서 글리프들의 엔트리는 동일한 영역에서 발생할 수 있는 다른 데이터 엔트리와 구별될 필요가 있을 수 있다. 그와 같이, 디바이스는 글리프 자체를 인식하기 전에 글리프를 입력하고자 하는 사용자 의도를 인식할 필요가 있다.
특정 사용자 트레이싱(user tracing)에 의해 의도된 글리프를 인식하고 식별하는 방식은 다수의 서로 다른 메카니즘을 사용하여 구현될 수 있으며, 메카니즘은 웁브로크(Wobbrock) 등의 "라이브러리들, 툴킷들, 또는 훈련이 없는 제스처들: 사용자 인터페이스 프로토타입들을 위한 $1 인식기", USIT'07, 2007년 10월 7-10일, 미국 로드아일랜스 뉴포트(ACM 978-1-59593-679-2/07/0010)에 언급된 $1 인식기 및 그 밖의 인식기들 및 분류기들을 포함한다. 입력된 글리프를 인식하기 위한 특정 메카니즘은 인식기가 충분한 정확도를 제공하는 한, 본 명세서에서 사용된 글리프에 적용되는 방식에 결정적이지 않다.
긴 목록 상에서 문자의 엔트리는 그 목록을 스크롤하도록 의도되는 사용자 엔트리들과 구별될 필요가 있다. 이러한 구별들은 다양한 방식들로 이루어질 수 있다. 예를 들어, 경계 박스(bounding box)는 어떤 초기 수직 입력(목록이 수직으로 스크롤하는 곳) 또는 그 초기 수직 입력의 일부 주위에 구성될 수 있으며, 경계 박스의 종횡비(aspect ratio)는 사용자의 의도(user's intent)를 추론(더 넓은 경계 박스는 스크롤하는 것보다 글리프를 입력하고자 하는 의도를 나타낼 수 있음)하는데 사용될 수 있다. 경계 박스는 엔트리가 발생된 스크린상의 가장자리에 직교(orthogonal)할 수 있지만, 반드시 직교할 필요는 없다. 상기 기법이 움직임(motion)에 대해서 최소 경계 박스를 사용하기 때문에, 글리프 드로잉으로부터 스크롤링을 효율적으로 구별할 수 있다. 예를 들어, 스크롤링 움직임(scrolling motion)은 완전하게 수직이 아닐 수 있는데, 실제로 많은 스크롤링 움직임은 사선 또는 약간 사선이다. 또는 사용자가 지그재그 움직임이 되도록, 손가락을 떼지 않고 목록 업 및 다운을 스크롤링할 수 있다. 이러한 모든 것들은 이 컨텍스트에서 "좁은(narrow)" 경계 박스, 즉 낮은 종횡비가 될 것이다.
또한, 경계 박스는 초기 스트로크(stroke)가 미리 결정된 최소 길이를 초과하는 경우에만 체크될 수 있고, 여기서, 매우 짧은 사용자 움직임들은 터치스크린을 통해 사용자에게 제시되는 캔버스에 비해 상대적으로 너무 작기 때문에, 문자를 입력할 의도를 지시하지 않는다고 가정된다.
또한, 원래의 드래깅 움직임(original dragging motion)의 속도는, 빠른 넘김(fast flick)은 스크롤을 하려는 의도를 나타내는 반면, 느린 엔트리는 글리프를 입력하려는 더욱 신중한 의도를 지시하는 것으로 고려될 수 있다. 다른 속도 데이터 또는 속도 데이터의 조합도 사용될 수 있다. 예를 들어, 매우 느린 수직 움직임은 목록에서 매우 적은 양의 스크롤을 하려는 의도를 나타낼 수 있는 반면, 매우 빠른 움직임은 목록을 넘기려 한다는 것을 나타낼 수 있으며, 속도의 중간 범위는 글리프를 입력하려고 한다는 것을 나타낼 수 있다. 또한, 시스템이 수직 요소들을 갖는 글리프들이 없는 프로그램이라면, 어떤 수직 입력은 스크롤하려는 것을 나타내는 것으로 즉시 추정될 수 있다. 또한 스크롤링은, 입력이 글리프 입력 또는 스크롤링 입력으로 의도되는지에 대한 초기 판단이 행해지는 동안, 금지되거나, 또는 글리프가 입력되는 동안 스크롤링이 시작 또는 계속된 후에, 디바이스는 글리프 입력이 사용자에 의해 완료되면, 스크롤링의 일부로서, 그 입력된 글리프에 대응하는 문자로 표현되는 목록의 부분으로 점프할 수 있다.
또한, 입력된 문자는 그 문자가 입력되는 동안, 또는 그 문자의 입력이 완료된 후에만 인식될 수 있다. 후자의 인식은 터치스크린 상에서 "포인터 업(poiner up)" 이벤트에 의해 트리거될 수 있고, 반면에 전자는 글리프가 입력되는 동안 인식기에 트레이싱 정보를 계속적으로 제공하는 과정과, 하나를 제외한 모든 솔루션이 제외될 때까지, 입력된 데이터를 가능한 솔루션들의 세트(set of possible solutions)와 계속적으로 비교하는 과정을 포함한다. 이 지점에서, 인식은 사용자가 아직 자신의 엔트리를 완료하지 않았더라도 이루어질 수 있다. 디바이스가 그 엔트리가 글리프에 대한 것인지, 또는 스크롤을 위한 것인지를 판단하는 동안은, 사용자의 손가락에 의해 트레이싱된 것을 따르는 라인의 디스플레이는 처음에는 어두워질 수 있지만, 사용자의 의도가 글리프를 입력하는 것이라고 판단되는 즉시, 그 라인의 디스플레이는 더 밝아지고, 더 두꺼워지고, 그리고/또는 다른 색상이 될 수 있다.
또한 사용자 의도에 대한 판단은, 수직 스트로크(vertical stroke)를 시작하는 각도와 그 스트로크의 속도와 같은 다른 판단들과 조합되거나 또는 그 판단들과 별개로, 사용자에 의해 가해진 압력 레벨을 판단하는 것을 포함할 수 있다. 예를 들어, 매우 가볍고 빠른 사용자 입력은 넘기기와, 빠르게 스크롤하려는 의도를 나타낼 수 있다. 높은 압력은 더욱 신중한 엔트리를 나타내는데, 사용자가 문자 또는 다른 글리프를 트레이스 아웃하는 것을 시도하고 있어서, 스크롤보다는 입력을 그리는 것을 의도하기 때문이다.
도 2는 커스텀 글리프들로 프로그래밍되는 모바일 터치스크린 디바이스의 일련의 스크린샷들을 나타낸다. 일반적으로, 상기 스크린샷들은 사용자의 친구인 어떤 사람의 연락처 기록의 형태로 된 사용자 인터페이스 아이템에 도달하기 위한 커스텀의, 사용자-정의 글리프들(user-defined glyphs)을 입력하고 있는 모바일 디바이스 디스플레이들을 나타낸다. 다시, 스크린샷들의 각각은 이전 스크린샷 후에 시간순으로 발생한다.
글자 (a)로 지정된 첫 번째 디스플레이는, 사용자 연락처의 알파벳 목록에서 한 친구 이름 위에서의 사용자 긴 누름(user long pressing)을 나타낸다. 이러한 선택은 글자 (b)로 지정된 디스플레이에 멀티-파트 메뉴(multi-part menu)가 표시되게 하는데, 이 멀티-파트 메뉴는 연락처 보기(예컨대, 하나 이상의 전화 번호와 이메일 주소들과 함께 친구의 사진 보기), 그 친구를 즐겨찾기 목록(사용자가 자신의 디바이스 상에 가질 수 있는 이 유형의 모든 객체들에 대한 서브-리스트이고, 디바이스 상에서 모든 객체들의 목록를 보여주는 것보다 더욱 편리하게 사용자에게 제시될 수 있음)에 추가하기, 연락처 편집하기(사용자에게 연락처 정보를 보여주고, 사용자가 그 연락처 정보를 변경할 수 있게 함으로써), 연락처 삭제하기, 및 연락처에 대한 바로가기(shortcut) 편집하기에 대한 옵션들을 사용자에게 제시한다. 이 이미지에서, 사용자는 친구의 연락처 기록의 아이템 또는 객체에 대한 바로가기를 편집하기 위해, 이 옵션을 클릭킹(clicking)하거나, 길게 클릭킹한다.
사용자가 그 옵션을 선택하면 글자 (c)로 지정된 디스플레이가 표시되는데, 이 디스플레이는 부분적으로 투명한 캔버스가 그 메뉴 위에 디스플레이되고, 사용자에게 글리프를 그리거나 트레이스하도록 하는 명령들도 함께 디스플레이되고, 상기 글리프의 엔트리는 친구에 대한 연락처 기록에 상관된다(도면의 라인 그리기에서는, 캔버스가 완전하게 투명하지만, 실제로 구현예들은 사용자가 문자를 입력하는 동안 사용자가 시스템에서 장소에 대한 감각을 유지하도록 하기 위한 다양한 시각적 효과들을 사용할 수 있다). 디스플레이에서, 친구의 이름이 글자 "P"로 시작하기 때문에 사용자는 글자 "P"를 트레이싱하고 있다. 따라서, "P"는 사용자가 나중에 그 친구를 위한 적합한 글리프를 기억하는데 있어서 자연스러운 기억 보조자(natural memory clutch)이다.
글자 (d)로 표현된 디스플레이에서, 사용자는 동일한 친구의 연락처 기록에 대하여 다시 "바로가기 편집" 메뉴를 선택했고, 표준 5각형 별(standard 5-point star)의 형태로 글리프를 그리는 과정에 있다. 별을 그리는 이유는, 아마도 사용자는 그 친구가 항상 모든 것을 훌륭하게 해냈으므로, 스타급 실행자(star performer)라고 생각하고 있기 때문일 수 있다. 또한 사용자는 트레이스된 문자 "P" 이외에, 그 친구를 위한 표현 중 하나로서 별 글리프를 추가하기 위해, "추가"버튼을 누르는 과정에 있다.
글자 (e)로 표현된 디스플레이에서, 사용자는 이 프로세스가 디스플레이 (a)에서 시작된 연락처 목록으로 돌아와, 5각형 별을 트레이싱하는 프로세스를 수행하고, 글자 (f)로 표현된 디스플레이에서, 별 글리프의 엔트리가 완료되고, 그 별 글리프는 디스플레이 (d)에서 사용자가 입력한 글리프에 매칭되는 것으로서, 디바이스에 의해 해석된다. 글자 (g)로 표현되는 디스플레이에서, 사용자는 다른 글자로 스크롤하도록 디스플레이를 유도하기 위하여 그 디스플레이를 넘기고(여기서, 수직 넘김(vertical flick)은 문자 또는 다른 글리프의 엔트리와 구별됨), 이어 글자 (h)로 표현된 디스플레이에서, 5각형 별을 다시 입력함으로써 디스플레이가 그 친구의 연락처를 보여주는 기록으로 돌아가게끔 한다.(이 도면에서 일부 항목들에 대한 이중 디스플레이는 빠른 스크롤링이 발생함에 따른 이러한 엔트리들에 대한 흐릿한 움직임을 표현한다).
특정 환경들에서, 표준 글리프들은 커스텀 글리프들과 혼합될 수 있다. 표준 글리프들은 소프트웨어 개발자와 같은 제3자에 의해 할당된 글리프들인 반면, 커스텀 글리프들은 디바이스의 사용자 스스로가 그린 것이다. 따라서 예를 들어, 표준 글리프는 음악 목록들 및 연락처 목록들과 같은 영숫자 목록들에서 위치들을 표현하기 위해 사용될 수 있는 반면, 커스텀 글리프들은 사용자 디바이스에 대해서 고유한 특정 객체들을 표현하기 위해 사용될 수 있다. 또한 예를 들어 사용자는 비영어 알파벳으로부터의 문자들을 이러한 문자들의 엔트리에 따라 목록들을 스크롤링시키도록 할당하기 위해, 사용자는 특정 객체에 대하여 다수의 글리프들을 생성할 수 있는데, 여기서 목록들은 그 목록에 있는 등가 영어 문자의 위치로 스크롤될 수 있다.
표준 글리프들을 식별하기 위한 표준들은 커스텀 글리프들을 식별하기 위한 표준들보다 엄격하지 않을 수 있다. 특히, 표준 글리프들은 서로 다른 많은 사람들에 의해 사용되기 위해 개발되고, 따라서 보다 큰 변형 레벨(greater level of variation)을 모두 인식할 필요가 있는 반면, 커스텀 글리프들은 특정 사용자에 의해 그려지므로 보다 큰 반복성 정도(greater degree of repeatability)를 갖는다고 가정될 수 있다. 따라서 거짓 긍정 인식들의 출현율(the prevalence of false positive recognitions)은 커스텀 글리프들을 위해 허용되는 변형 레벨을 낮춤으로서(dialing down) 커스텀 글리프들에 대해 감소될 수 있다.
도 3은 하나의 객체에 대응하는 다수의 글리프들을 나타내는 모바일 터치스크린 디바이스의 일련의 스크린샷들을 나타낸다. 일반적으로, 이러한 스크린샷들은 다수의 서로 다른 글리프들이 어떻게 단일 객체에 할당되는지를 보여주는 디스플레이들을 나타내며, 변형성이 큰 사용자 입력을 수용가능하게 하는 다수의 유사한 글리프들을 포함한다.
글자 (a)로 표현된 디스플레이에서, 사용자가 도 2에 도시된 글자 (b)의 선택과 유사한, 지인의 연락처 기록에 대한 바로가기를 편집하기 위한 메뉴 컨트롤을 선택하는 것을 나타낸다. 도 2에서 글자 (c)와 같이, 도 3의 글자 (b)로 표현된 디스플레이에서, 글리프를 그리거나 트레이스할 캔버스가 사용자에게 제시되고, 이 경우에서 사용자는 소문자 필기체로 "l"을 트레이스한다. 글자 (c)로 표현된 디스플레이에서, 사용자는 연락처들의 목록으로 돌아와, 특정 연락처 기록을 위하여 사용자가 이전에 입력한 것보다 얇은 고리(loop)를 가짐에도 불구하고, 소문자 "l"를 입력하였다. 입력된 글리프가 저장된 글리프-또는 현재 콘텍스트에 관련있는 적어도 어떤 저장된 글리프-에 충분한 정도로 매칭되지 않는 경우에는, 디바이스는 사용자에게 엔트리가 적절하게 등록되지 않았음을 표시할 수 있다. 예를 들어, 사용자가 그린 글자의 색상이 실패한 엔트리를 표시하기 위하여 흰색에서 빨간색으로 변경될 수 있다. 대안적으로, 디바이스가 소리(예컨대, 야유 소리(Bronx cheer or Raspberry)내거나 약간 진동하여, 사용자가 무엇인가가 정상이 아니라는 것을 듣거나 느낄 수 있도록 한다.
이러한 통지를 받는 즉시, 이 예시에서 사용자는 이미 친구의 연락처 기록에 상관된 글리프들을 보기로 결심하고, 그 기록(이미 화면의 상부에 있었던)을 선택했다. 글자들 (d) 내지 (h)로 표현된 디스플레이들은 대문자 인쇄체 "L" 문자들과 닮은 3개의 글리프와 소문자 필기체 "l" 문자들을 표현하는 2개의 글리프들로 된 5개의 서로 다른 글리프들을 표현하는데, 이 글리프들은 사용자가 이 연락처 기록에 이미 할당한 것이다. 서로 다른 디스플레이들은 사용자가 터치스크린에 디스플레이되는 "이전" 및 "다음" 컨트롤을 선택하는 것을 통해, 또는 다른 적절한 방식으로 순환될 수 있다. 이 예시에서 사용자는 글자 (c)에서 자신이 입력한 글리프가 뭐가 잘못되었는지를 볼 수 있고, 새로운 글리프를 추가하거나, 또는 문자 (g)와 (h)로 표시된 디스플레이들에서 보여진 저장된 글리프들과 보다 잘 매칭될 수 있도록 자신의 향후 실행들을 변경시킬 수 있다.
글리프가 인식되었지만 그 의미가 모호한 경우, 다양한 메커니즘들이 모호함을 해결하기 위해 이용될 수 있다. 예를 들어, 사용자가 알파벳 목록을 보고있지만, 사용자가 글자 형태로 된 글리프를 재생 목록, 애플리케이션, 및 친구의 연락처 기록에도 할당한 경우, 그 입력은 이러한 객체들 중 어떤 것이든지 나타낼 수 있기 때문에 모호해질 것이다. 일 구현예에서, 하나 이상의 규칙들이 사용자의 의도를 추론하는 데 사용될 수 있다. 예를 들어, 사용자가 목록의 콘텍스트에 있기 때문에, 디바이스는 사용자가 목록 내에서 스크롤할 것이라는 것을 추정할 수 있다. 대안적으로, 사용자가 데스크탑 상에 있었으면, 디바이스는 사용자가 애플리케이션을 시작하고 싶어했다는 것을 추정했을 수 있다. 다양한 우선순위 규칙들이 이와 같은 결정들을 행하는데 적용될 수 있으며, 이 규칙들은 특정 사용자에 의해 변형되고 커스터마이징될 수 있다.
또한, 디바이스는 사용자가 모호한 사용자 초기 입력에 이어서 후속 입력(follow-up input)을 제공하는 것을 허용할 수 있다. 따라서 상술된 예시에서, 사용자에게 자신이 입력한 글리프에 대응하는 객체들의 목록을 그래픽적으로 보여줄 수 있다. 이어, 사용자는 그 후에 예를 들어 디스플레이 상에서 객체를 누르거나, 디스플레이된 목록에 있는 객체의 위치에 대응하는 숫자를 말함으로써 그 목록으로부터 객체들 중 하나를 선택할 수 있다.
특정 구현예들에서는, 글리프의 엔트리가 보편적일 수 있고, 다른 구현예들에서는 글리프의 입력이 콘텍스트적(contextual)일 수 있다. 또한, 특정 글리프들의 엔트리는 특정 콘텍스트들에서만 처리될 수 있는 반면에, 다른 글리프의 엔트리는 모든 콘텍스트에서 어드레스될 수 있다. 후자의 상황인 일 예시로서, 연락처 기록과 같은 특정 객체를 활성(active)과 관련시키는 글리프는 어떤 콘텍스트에서 호출될 수 있다.
또한, 글리프들은 디바이스 상에 저장된 매크로들, 스크립트들, 또는 다른 객체들에 링크될 수 있다. 예를 들어, 사용자는 자신이 직장에 있을 때 필요들에 매칭되고, 퇴근했을 때는 서로 다른 필요들에 매칭되도록 하기 위해, 자신의 디바이스에서 다양한 설정들을 변경시키는 매크로 또는 스크립트를 작성할 수 있다. 즉, 수많은 서로 다른 객체들을 통해 그 디바이스의 설정들을 효율적으로 변경한다. 이러한 일 구현예에서, 사용자가 데스크탑 상에서 또는 애플리케이션 내에서 글리프를 입력했든지 간에, 모든 관련 객체들이 디바이스에서 자동으로 변경되도록 하기 위해, 사용자는 글리프를 매크로 또는 스크립트에 연관시킬 수 있다.
또한, 글리프는 예를 들어, 글리프들이 표준 문자이든지, 사용자-정의 글리프들이든지에 상관없이, 사용자가 제출한 탐색 쿼리(user-directed search query)들에 관련하여 사용될 수 있다. 예를 들어, 문자 "H"는 역 시간순 목록 또는 다른 적절한 방식으로 나열된, 디바이스에 대한 최근에 방문된 웹 사이트들의 히스토리를 생성하도록 사용자에 의해 그려질 수 있다. 마찬가지로, 사용자는 자신이 제출하고 싶고, 글리프를 할당할 수도 있는 영구 탐색(persistent serach)을 정의할 수 있다. 예를 들어, 사용자가 자신에 관한 뉴스를 반복적으로 탐색하기를 원할 수 있고, 자신의 이름을 포함하는 탐색 요청으로서 해석되고 뉴스-관련 탐색 엔진에 제출될 별 모양의 글리프를 프로그래밍할 수 있다. 어떤 콘텍스트로부터의 디바이스 상의 이 글리프의 엔트리는, 브라우저를 실행시키고, 탐색 쿼리가 제출되게 하고, 그 탐색 결과들이 그 브라우저로 전달되게끔 한다.
도 4는 터치스크린 입력들에 응답하여 사용자 인터렉션을 제공하는 시스템(400)의 개략도이다. 상기 시스템(400)은 디바이스(402)와 같은 모바일 디바이스를 사용하여 구현될 수 있다. 디바이스(402)는 터치스크린 디스플레이(404)와 롤러 볼(406)과 같은 다양한 입력 및 출력 메커니즘들을 포함한다. 디바이스(402) 내의 다수의 컴포넌트들은 예를 들어, 디스플레이(404) 상에 하나 이상의 글리프를 그림으로써, 디스플레이(404) 상에 다양한 선택 기능을 제공하도록 구성될 수 있다.
이러한 컴포넌트 중 하나인 디스플레이 관리자(412)는 디스플레이(404) 상에 프리젠테이션을 위한 콘텐츠를 렌더링하는 역할을 한다. 디스플레이 관리자(412)는 다수의 소스들로부터 그래픽 관련 콘텐츠(graphic-related content)를 수신할 수 있고, 그 콘텐츠를 어떻게 사용자에게 제공할지를 결정할 수 있다. 예를 들어, 디바이스(404) 상의 다양한 애플리케이션(410)에 대한 다수의 서로 다른 윈도우들이 디스플레이되기 위해 필요할 수 있고, 디스플레이 관리자(412)는 어떤 것을 디스플레이하고, 어떤 것을 숨길 것인지, 그리고 다양한 그래픽 객체들 간에 겹침이 있을 때 디스플레이할 것 또는 숨길 것을 결정할 수 있다. 또한, 디바이스(404)의 또 다른 컴포넌트가, 사용자가 터치스크린 디스플레이 상에 글리프를 그리려고 하는 것을 인식하면, 디스플레이 관리자는 사용자가 그린 위치에서 디스플레이 상에 글리프의 발생을 조정하는 것을 도울 수 있다.
디스플레이 관리자(412)는 디스플레이된 컴포넌트들과 인터렉션하기 위한 특정 기능성을 제공하는 다양한 컴포넌트들을 포함할 수 있고, 디스플레이된 컴포넌트들은 다수의 애플리케이션들을 통해 공유될 수 있고, 예를 들어 디바이스(402)의 운영 시스템에 의해 공급될 수 있다. 다른 디스플레이된 컴포넌트들의 위에서의 글리프들의 엔트리는, 디스플레이 관리자(412)에 의한 조정으로, 드로운 사용자 입력 제어기(drawn user input controller: 417)를 사용하여 관리될 수 있다. 이러한 제어기는 사용자가 디스플레이 상에 서로 다른 기능을 수행하는 것보다 글리프를 입력할 때를 인식하고, 그 입력된 글리프를 디바이스의 다른 컴포넌트들에 의해 해석될 수 있는 명령(command)으로 변경하는 역할을 한다. 이러한 명령들을 생성하기 위하여, 드로운 사용자 입력 제어기(417)는 사용자가 입력한 글리프의 모양을 정의하는 정보를 글리프 해석기(415)에게 전달함으로써, 글리프 해석기를 참조할 수 있다. 글리프 해석기(415)는 그 후에 입력된 글리프를 디바이스 상에 저장된 표준 및 커스텀 글리프들 모두에 비교할 수 있고, 예컨대 글리프 ID 번호와 같은 글리프의 아이덴티티(identity)를 반환할 수 있다.
드로운 사용자 입력 제어기(417)는 글리프 ID들, 및 특정 글리프가 입력되었을 때 발생할 동작들을 이전에 매핑하고 저장했을 수 있다. 그 결과, 제어기(417)는 이러한 정보를 디바이스의 다른 컴포넌트들에 전달할 수 있다. 예를 들어, 다양한 애플리케이션(410)이 디바이스 상에 저장되고 실행될 수 있다. 예를 들어, 제어기(417)가 연락처 기록에 상관된 글리프를 표현하는 경우, 제어기(417)는 연락처 애플리케이션을 호출할 수 있고, 기록이 사용자의 글리프 엔트리에 응답하여 자동으로 디스플레이되도록 하기 위해, 연락처 애플리케이션에 기록의 아이덴티티를 전달할 수 있다. 이러한 방식으로, 제어기(417)는 운영 시스템의 핵심 컴포넌트들 간에 일종의 조정자(intervener)로서 동작할 수 있고, 디바이스 상의 애플리케이션들과 함께 동작할 수 있다.
입력 관리자(414)는 디바이스(402)의 사용자가 제공하는 명령들을 번역하는 역할을 한다. 예를 들어, 이러한 명령들은 키보드, 터치스크린 디스플레이(404), 트랙볼(406), 또는 전용 버튼들이나 소프트 버튼들(예를 들어, 시간이 지남에 따라 변경될 수 있는 기능들 또는 특정 버튼에 인접하는 디스플레이(404)의 영역에 디스플레이될 수 있는 기능들을 갖는 버튼들)을 포함하는 그 밖의 소스들로부터 입력될 수 있다. 입력 관리자(414)는 예를 들어, 디스플레이의 어떤 영역에서 명령들이 수신되고, 디스플레이에 그 명령들이 의도한 어떤 애플리케이션을 보여줄 것인지를 판단할 수 있다. 또한, 입력 관리자(414)는 터치스크린(404)에서의 입력 움직임들을 공통 포맷으로 해석할 수 있고, 이 해석된 움직임들(예컨대, 짧은 프레스, 긴 프레스, 넘김, 및 직선 드래그들)을 적절한 애플리케이션에 전달할 수 있다. 또한, 입력 관리자(414)는 이러한 입력들을 이벤트 관리자(도시되지 않음)에 보고할 수 있고, 그 이벤트 관리자는 또한 그 입력들을 적절한 모듈들 또는 애플리케이션들에 보고한다. 입력 관리자는 IME 기능성이 장치를 위해 활성화되었을 때, 소프트 키보드의 영역에 있는 입력들을 IME(415)에 전달할 수 있다.
제어기(417)는 입력 관리자(414)에 등록하여, 터치스크린 상의 사용자 입력들을 통지받고, 자신이 특정 입력을 드로운 입력으로 인식할 때를 입력 관리자에 통지하여, 입력 관리자가 그 입력을 다른 것으로 부정확하게 해석할 수 있는 다른 컴포넌트에 전달하는 것을 방지할 수 있다.
다양한 애플리케이션들(410)은 디바이스(402) 상에서 일반적으로 공통 마이크로처리기에서 작동될 수 있다. 애플리케이션들(410)은 예를 들어, 매핑 애플리케이션들, 전자 메일 및 기타 메시징 애플리케이션들, 웹 브라우저 애플리케이션들, 음악 및 비디오 재생기들, 및 웹 브라우저 내에서 실행되거나 웹 브라우저의 연장들을 실행하는 다양한 애플리케이션들과 같은 다양한 형태들을 취할 수 있다. 애플리케이션들(410)은 영숫자 이름들을 갖는 기록들 또는 다른 컴포넌트들을 저장하는 애플리케이션들을 포함할 수 있고, 이로써 애플리케이션들은 터치스크린(404)의 전면 상에서 사용자가 영숫자 문자를 그림으로서 빠르게 액세스될 수 있다.
무선 인터페이스(408)는 무선 네트워크와의 통신을 관리하고, 그 무선 네트워크는 음성 통신들 또한 수행하는 데이터 네트워크일 수 있다. 무선 인터페이스(408)는 익숙한 방식(예컨대, 후술될 예시들에 따름)으로 동작할 수 있고, 텍스트 메시징, 전자 메일, 전화 음성 메일 메시징과 같은 메시징 서비스들로 디바이스(402)에 의한 통신을 제공한다. 추가적으로, 무선 인터페이스(408)는 무선 네트워크를 통해 콘텐츠 및 컴퓨터 코드의 다운로드들 및 업로드들을 지원할 수 있다.
다양한 형태들의 영구 저장소가 예를 들어, 고정 디스크 드라이브들(fixed disk drives) 및/또는 고체 상태 메모리 디바이스들(solid state memory devices)을 이용하여 제공될 수 있다. 여기에 두 가지 예시들이 제시된다. 첫째, 목록들, 지도들 등 저장소(416)는 디바이스(402)에 저장되고, 디바이스(402)에 의해 제시될 수 있는 객체들에 대한 다양한 정의들을 포함한다. 이러한 객체들은 노래들의 목록들, 텔레비전 쇼들, 영화들, 또는 디바이스 상의 다른 미디어와 같은 다른 객체들의 목록을 포함한다. 또한, 목록들은 파일 이름들의 목록들을 포함할 수 있고, 디바이스(402)는 많은 수의 파일들을 저장한다. 또한, 지도들과 같은 다른 객체들(예컨대, 원격 서버로부터 미리 페치될(pre-fetched) 수 있는 그래픽 맵 타일들(graphical map tiles)과, 지도들에 관한 메타 데이터들(예컨대, 지도상에서 관심 지점들 및 상점의 이름과 함께 지도의 도시와 거리들의 이름들))이 저장될 수 있다.
다른 저장소는 사용자 기본값들(418)을 포함하고, 그 사용자 기본값들은 목록들, 지도들 등(416)과 동일 미디어에 저장된 사용자에 대한 프로파일 정보일 수 있다. 상기 사용자 기본값들(418)은 디바이스(402)의 사용자에 관한 다양한 파라미터들을 포함한다. 본 명세서에 관련된 예시에서, 사용자 프로파일은 사용자가 입력한 다양한 커스텀 글리프들을 정의하는 데이터를 포함하고, 그와 함께 그 글리프들의 엔트리에 연관될 객체들 또는 동작들을 포함할 수 있다. 글리프 데이터 및 다른 정보는 다양한 형태들(예컨대, 하나 이상의 XML 파일들이나 Sqlite 파일들)로 저장될 수 있다.
도시된 컴포넌트들과, 명료화를 위해 본 명세서에서 생략된 다른 컴포넌트들을 이용하여, 디바이스(402)는 사용자 입력들에 응답하여 특정 동작들을 제공할 수 있다. 특히, 디바이스(402)는 입력이 글리프 바로가기임을 인식함으로써 사용자 입력에 응답할 수 있고, 이러한 데이터 엔트리에 응답하여 디바이스는 그 글리프에 연관된 위치 또는 객체로 점프한다.
도 5a - 5d는 컴퓨팅 디바이스의 사용자에 의한 글리프 엔트리를 다루기 위한 예시적 프로세스들의 순서도들이다. 도 5a는 디바이스에서 디스플레이되는 목록의 위에서 사용자가 입력한 영숫자 글리프가 그 디바이스를 목록에 있는 새로운 위치로 자동으로 점프시키는 프로세스를 일반적으로 나타낸다.
프로세스는 글리프가 수신되는 박스(502)에서 시작한다. 그 글리프는 사용자가 목록(예컨대, 연락처들의 목록, 노래들의 목록, 또 다른 유형의 목록)을 디스플레이하고자 한다는 것을 표시하도록 사용자가 이전에 프로그램한 형태일 수 있다. 예를 들어, 사용자는 자신의 모바일 디바이스 상의 노래 목록을 디스플레이하고자 하는 의도를 표현하기 위해, 자신의 디바이스에 높은 음자리표(treble clef) 모양을 프로그래밍했을 수 있다. 목록은 일반적으로 영숫자 방식으로 정렬되어, 예컨대 목록의 상부 근처는 숫자로 시작하는 제목들이 있고, 하부 근처는 글자 Z로 시작하는 제목들을 있다. 글리프는 접촉 지점(contact point), 접촉 해제 지점(release point), 및 접촉 지점과 접촉 해제 지점 간의 드로운 경로(drawn path)에 의해 정해지는 문자의 형태로 입력될 수 있다.
박스(504)에서, 글리프는 목록에 상관(예컨대, 상기 글리프에 가장 근접한 글리프를 저장된 글리프들의 라이브러리에서 찾고, 매칭된 저장된 글리프가 노래 목록을 생성하는 동작에 할당되었는지를 결정함)되고, 그 목록은 지난 위치에서 디스플레이된다. 예를 들어, 목록이 이전에 활성화되고 사용자가 또 다른 애플리케이션을 사용하기 시작하였다면, 그 목록은 사용자가 마지막으로 그 목록을 보았을 때의 상태로 디스플레이될 수 있다. 이 예시에서, 사용자는 목록에 있는 다른 위치로 점프하고 싶고, 그래서 박스(506)에서, 예를 들어 글자가 사용자가 점프하고 싶은 목록에서의 위치를 표현하는 도 1에 도시된 방식으로, 사용자는 목록 위에서 알파벳 글자로 된 글리프를 그린다.
박스(508)에서, 프로세스는 먼저 사용자가 글리프의 입력을 의도하는지를 판단하고, 그 후에 사용자가 입력한 글리프에 대응하는 영숫자 문자를 식별한다. 예를 들어, 프로세스는 사용자가 알파벳의 특정 글자를 입력하려고 시도했는지를 판단할 수 있다. 따라서 박스(510)에서, 프로세스는 목록에 있는 첫 번째 파일이 사용자가 입력한 문자로 시작하도록 하기 위해, 그 목록을 스크롤한다. 예를 들어, 만약 사용자가 글자 B를 입력하였다면, 그 목록은 디스플레이의 상부가 Badlands로 시작하고, 이어 The Ballad of John and Yoko와 Bang,Bang,Bang(John Lee Hooker) 등이 오는 사용자를 위한 노래 목록이 보이도록 스크롤될 수 있다.
이러한 방식으로, 사용자는 오랫동안 목록을 위, 아래로 스크롤하지 않더라도, 아이템들의 목록에서 양호하게 정의된 위치(well-defined location)로 빠르게 점프할 수 있다. 그 결과로서, 사용자는 스크롤이 요구되는 경우보다 더욱 빠르고, 안정적으로 원하는 위치에 도달 수 있다. 또한, 자신의 디바이스를 쳐다보지 않더라도, 글리프를 트레이스할 수 있어, 자신이 하고 있는 다른 것들에 대한 집중력을 잃지 않으면서 자신의 디바이스를 제어할 수 있다.
도 5b는 도 5a에 제시된 프로세스와 유사한 프로세스를 전체적으로 나타지만, 사용자가 목록 내의 새로운 위치로 점프하도록 디바이스가 동작할 수 있게 하는 추가 세부 사항들을 나타낸다. 프로세스는 박스(516)에서 시작하며, 사용자는 특정 유형의 목록을 디스플레이하고자 하는 의도를 보여주기 위하여 글리프를 입력한다. 박스(518)에서, 프로세스는 입력된 글리프를 특정 목록에 상관시키고, 그 목록이 목록의 가장 최근 위치에서 디스플레이되도록 한다. 박스(520)에서, 프로세스는 목록 위에서, 예를 들어 목록을 보이는 터치스크린 디스플레이에 사용자가 손가락을 누르고, 그 디스플레이 위에서 경로를 트레이스 아웃함으로써, 사용자 입력을 수신한다.
박스(522)에서, 프로세스는 사용자 입력이 선택 입력인지를 판단한다. 예를 들어, 디스플레이에 있는 객체에 대한 사용자 탭핑(user tapping)은 그 객체를 선택(예컨대, 이름 목록에 있는 이름을 선택하여 선택된 이름을 위한 연락처 기록이 디바이스에서 디스플레이되도록 함)하고자 하는 사용자 의도를 나타낼 수 있다. 그 입력이 선택 가져오기(selection import)이면, 프로세스는 선택 박스(524)를 보여주고, 사용자로부터의 추가 입력들을 위한 대기를 계속할 수 있다.
박스(526)에서, 그 입력이 스크롤링 입력의 형태인지를 판단한다. 예를 들어, 입력이 디스플레이 스크린상에서 사용자에 의한 빠른 수직으로 쓸어넘기기(quick vertical swipe)인지를 판단한다. 만약 그 입력이 스크롤링 입력의 형태이면, 프로세스는 박스(527)에 제시된 바와 같이, 그 목록을 새로운 위치로 스크롤하고, 이어 추가 사용자 입력을 수신하기 위해 돌아간다.
박스(528)에서, 만약 그 입력이 스크롤링 입력이 아니고, 선택 입력도 아니면, 프로세스는 그 입력이 글리프 입력인지를 판단한다. 이러한 판단은 예를 들어, 사용자가 초기 입력한 라인의 경계 박스를 식별하고, 그 경계 박스의 종횡비가 글리프와 같은 문자를 입력하려는 사용자 의도를 나타내는지를 판단함으로써 행해질 수 있다. 만약 그 입력이 글리프 입력이 아니면, 프로세스는 추가 사용자 입력을 수신하기 위해 다시 돌아갈 수 있다. 인식된 입력들 중 어느 것과도 매칭되지 않는 이러한 입력은, 예를 들어 선택가능한 객체들이 없는 디스플레이 영역에서 이루어진 선택을 포함할 수 있다.
박스(530)에서, 글리프는 그려진 대로 스크린에 보여진다. 예를 들어, 하나의 라인 또는 폴리라인(polyline)이 사용자가 자신의 손가락을 눌러서 드래그한 스크린 상의 한 라인의 아래 위치에서 나타날 수 있다. 이러한 방식으로, 사용자에게는 디바이스가 적절한 방식으로 이들의 가져오기를 인식하고 있다는 것을 표시하는 피드백이 제공되며, 따라사 사용자는 계속 입력을 제공할 수 있다.
박스(532)에서, 프로세스는 어떤 글리프가 사용자 입력에 의해 인식되었는지 아닌지를 판단한다. 예를 들어, 프로세스는 글리프를 위해 그려진 모양을 알려진 글리프들(예컨대, 영숫자 문자들)을 표현하는 저장된 모양들과 비교하기 위해, 다양한 메카니즘들을 이용할 수 있다. 만약 인식된 글리프가 없으면, 프로세스는 사용자에게 그 글리프를 더 이상 보이지 않기 위해, 박스(536)에서 그 글리프를 빨간 색으로 디스플레이하고, 그 글리프를 점점 흐리게 하여 없어지게 한다. 이러한 방식으로, 프로세스는 그 글리프의 인식이 실패하였고, 사용자가 다른 글리프들을 입력하는 것을 시도하거나 다른 동작들을 수행해야만 한다는 것을 사용자에게 표시한다. 그 후에, 프로세스는 추가 사용자 입력을 대기하는 것으로 되돌아간다.
만약 글리프가 인식되면, 프로세스는 박스(534)에서 그 입력이 모호한지 아닌지를 판단하는데, 프로세스는 다수의 글리프가 인식되었는지를 판단한다. 만약 오직 하나의 글리프만이 인식되었으면, 프로세스는 박스(538)에서 그 목록을 입력된 글리프와 연관된 문자로 즉시 스크롤할 수 있다. 만약 다수의 글리프가 사용자가 입력한 글리프에 매칭될 수 있으면, 프로세스는 다수의 방식들 중 한 방식으로 상기 엔트리를 명확히 할 수 있다. 이 예시에서는, 입력을 명확하게 하는 두 가지 서로 다른 방식이 제시된다. 첫째, 박스(540)에서, 프로세스는, 가능한 후보 글리프들(possible candidate glyphs) 중에서 사용자가 입력을 의도하려고 한 가장 가능성 있는 글리프들(most likely glyphs)을 골라낼 수 있다. 예를 들어, 상술한 바와 같이, 다수의 규칙이 가장 중요한 글리프 또는 가장 가능성 있는 글리프들을 결정하는데 이용될 수 있다. 예를 들어, 사용자가 특정 애플리케이션을 사용하고 있으면, 그 애플리케이션에 특별하게 연관된 그 글리프가 좀 더 일반적인 글리프(예컨대, 사용자를 다른 애플리케이션에 있는 객체로 점프시키는 글리프)보다 선호될 수 있다. 대안적으로, 박스(542)에서 가능한 동작들의 목록이 사용자에게 보여질 수 있고, 그 사용자는 자신이 글리프를 입력했을 때 호출하였으면 하는 동작을 선택할 수 있다. 두 가지 상황에서, 프로세스는 그 목록을 사용자가 의도한 문자로 판단된 문자로 다시 스크롤하고, 프로세스는 사용자로부터 추가적인 입력을 수신하기 위해 되돌아간다.
도 5c는 글리프 엔트리를 사용하여 지리적 지도 상에서 이동하는 방법의 순서도를 나타낸다. 일반적으로, 프로세스는 영숫자 문자의 형태로 된 글리프 또는 지도 상에 현재 표현되지 않은 사용자 관심 지점을 표시하는 다른 엔트리를 수신하는 단계와, 알파벳 또는 숫자 문자 또는 다른 엔트리에 대응하는 관심 지점으로 지도를 자동으로 패닝(panning)하는 단계를 포함한다.
프로세스는 컴퓨팅 디바이스가 사용자에게 지도를 디스플레이하는 박스(550)에서 시작한다. 지도는 예컨대, 구글 맵(GOOGLE MAPS)이 제공하는 방식으로 된 다수의 타일들로 구성될 수 있다. 박스(552)에서, 디바이스는 지도의 표면 상에 서 사용자에 의한 글리프 엔트리를 수신한다. 그 글리프는 상술되어진 것과 같은 메카니즘들을 사용하여 다른 엔트리들(예컨대, 선택들, 또는 지도 상에서의 패닝 또는 주밍(zooming) 움직임들)과 구별될 수 있다.
박스(554)에서, 프로세스는 입력된 글리프에 대응하는 글자 또는 숫자를 식별한다. 또한, 프로세스는 사용자가 그 글리프에 연관시킨 바로가기를 식별할 수 있다. 박스(556)에서, 프로세스는 그 글리프에 연관된 글자로 시작되는 랜드마크들을 식별한다. 랜드마크들은 서로 다른 다양한 방식들로 식별될 수 있다. 예를 들어, 지도를 위한 타일들이 중앙 서버로부터 디바이스에 다운로드될 때, 지도를 위한 추가 메타데이터가 다운로드와 함께 제공될 수 있다. 예를 들어, 거리들, 랜드마크들, 건물들, 상점들, 강들, 교차로를, 구역들, 스포츠 경기장들, 축제들, 및 그 밖의 이러한 객체들의 이름이 이러한 아이템을 위한 지리위치 정보(geolocation information)와 함께 디바이스에 제공될 수 있다. 이러한 메타 데이터는 사용자가 디바이스에 쿼리를 입력했을 때, 디바이스의 일반적 사용에서 이용될 수 있다. 그러나, 본 명세서의 프로세스에서 보여진 것처럼, 메타 데이터는 사용자가 입력한 글리프의 글자에 매칭될 수 있다. 따라서, 예를 들어, 사용자가 메인 거리를 찾으면서 도시 지역을 운전하고 있었다면, 스크린 상에 "M" 모양을 입력하여, 디스플레이되고 있는 지도 상에서 메인 거리가 자신을 위해 표시되도록 할 수 있다. 이러한 방식에서, 사용자는 특정 글자로 시작하는 사용자 주변에 있는 랜드마크들 또는 다른 아이템들을 빠르게 식별할 수 있다.
많은 경우에, 사용자의 주변에 다수의 랜드마크들이 동일한 글자로 시작할 것이다. 따라서 공식 글리프(formal glyph)로 된 사용자에 의한 문자 엔트리가 장치에 대해 모호할 수도 있다. 목록들에 대해서 상술된 바와 같이, 특정 랜드마크는 다양한 선택 규칙을 이용함으로써 선택되고 디스플레이될 수 있다. 대안적으로, 한 구역에 있는 모든 랜드마크들은 사용자의 선택을 위해, 목록으로 사용자에게 제시될 수 있다. 예를 들어, 상술한 바와 같이, 사용자가 자신의 디바이스 상에서 "M" 모양을 입력한 경우, 그 구역에 골든 아치로 표시되는 복수의 맥도웰 레스토랑이 있을 수 있고, 이 레스토랑들 또한 매칭을 유발할 수 있다. 유사한 방식으로, 메이플 거리(Maple Street), 마르플 에비뉴(Marple avenue), 및 메트로돔(Metrodome)이 매치로 식별될 수 있다.
사용자가 입력한 글자에 대해 다수의 매치가 발생한 경우, 박스(558)은 그 랜드마크들의 중요성(prominence) 및 사용자와의 거리에 기초하여 그 랜드마크들에 점수가 부여된다는 것을 나타낸다. 예를 들어, 점수부여 알고리즘(scoring algorithm)은 사용자가 상대적으로 높은 속도(예컨대, 그들의 자동차 안에서)로 이동하고 있을 때는 거리 이름들이 상점 이름보다 중요하게 취급되고,사용자가 좀 더 느리게 이동하고 있을 때는 사용자가 걸어가면서 어쩌면 특정 가게를 찾는다는 것을 나타내기 위하여 상점 이름들이 거리 이름들보다 중요하게 취급되도록 프로그래밍될 수 있다. 유사한 방식으로, 사용자에게 가까운 랜드마크들은 멀리 떨어져 있는 랜드마크들보다 중요하게 취급될 수 있다. 따라서 다양한 방식으로, 프로세스는 박스(560)에 도시된 것처럼, 사용자가 입력한 글자와 매칭되는 랜드마크 각각을 위한 종합 점수를 생성할 수 있고, 다양한 매칭된 랜드마크들이 점수에 따라 정렬(내림 차순으로)된 목록으로 사용자에게 디스플레이될 수 있다.
박스(562)에서, 프로세스는 특정 랜드마크의 사용자 선택을 수신하고, 박스 (564)에서, 프로세스는 선택된 랜드마크를 디바이스 상에 보이기 위해서 지도의 디스플레이를 패닝한다. 랜드마크가 단일 디스플레이 상에 디스플레이될 수 없는 경우(예컨대, 랜드마크가 긴 거리일 때), 그 랜드마크를 따르는 특정 위치가 결정될 수 있다(예컨대, 사용자가 현재 이동하는 방향으로 계속해서 이동한다면, 그 랜드마크와 사용자의 향후 교차점을 판단 함). 또한, 특정 랜드마크들(예컨대, 매우 큰 랜드마크들)은 사용자가 그 랜드마크를 선택한 후에 지도의 줌 레벨이 변하게 할 수 있다.
도 5d는 지도 위에서 사용자의 글리프 입력에 반응하여 지도 위를 이동하는 프로세스를 나타내는데, 도 5d는 도 5c에 도시된 프로세스와 유사하지만, 도 5c 보다 더욱 상세하게 도시되어 있다. 프로세스는 친숙한 방식으로 지도가 디스플레이되는 박스(570)에서 시작한다. 박스(572)에서, 사용자 입력은 지도 위에서 수신된다. 박스(574)에서, 프로세스는 사용자 입력이 선택 입력인지를 판단하고, 만약 선택 입력이라면, 박스(576)에서 그 입력이 실행된다. 박스(578)에서, 그 입력은 글리프 입력인지를 판단하기 위해 분석되고, 만약 그 입력이 글리프 입력이 아니라면, 프로세스는 추가 사용자 입력의 수신을 대기하는 단계로 되돌아간다. 그 입력이 글리프 가져오기이면, 그 글리프는 박스(580)에서 사용자가 그린대로 스크린 상에 디스플레이된다. 이 방식으로, 프로세스는 사용자가 자신의 입력이 디바이스에 의해 적절하게 처리되고 있는지를 확인할 수 있도록 하기 위해, 사용자에게 피드백을 제공한다.
박스(582)에서, 글리프가 그려졌고(예컨대, 사용자가 자신의 손가락을 들어올림), 프로세스는 사용자가 입력한 글리프를 인식할 수 있는지를 판단한다. 만약 프로세스가 그 글리프를 디바이스에 저장된 글리프에 관련하는 것으로서 인식할 수 없으면, 프로세스는 사용자가 추가 가져오기를 하는 단계로 돌아가면서, 박스(584)에서 그 글리프를 빨간색으로 표시하고 점점 흐려지면서 없어지게 한다. 그러면, 예를 들어, 사용자는 디바이스가 글리프를 재차 인식하게 해보려는 노력으로 그 글리프를 재입력하는 것을 시도할 수 있다.
만약 글리프가 인식되면, 프로세스는 그 글리프에 상관되는 영숫자로 시작하는, 사용자의 근처에 있는 랜드마크들을 식별하고, 그 랜드마크들에 대해 점수를 부여한다(사용자의 근처는 예컨대, GPS 수신기를 사용하여 실제 위치로서 판단되거나, 예컨대 사용자에게 현재 보여지고 있는 지도의 중심에 사용자가 있다고 가정함으로써 추론적 위치로서 판단될 수 있음). 프로세스는 글리프의 글자 또는 숫자로 시작하는 랜드마크들의 목록을 제시하고, 박스(588)에서 랜드마크들 중 하나에 대한 사용자 선택을 수신한다. 박스(590)에서, 상술된 것과 같은 방식으로 랜드마크에 대한 센터 지점(center point) 및 줌 레벨을 식별하고, 박스(592)에서, 프로세스는 랜드마크가 새로운 위치에 있는 사용자에게 제시되도록 하기 위해서, 새로운 위치로 지도 디스플레이를 패닝함으로써 종료한다.
일반적으로, 도 6a는 하나 이상의 글리프들을 특정 객체에 할당하기 위한 프로세스를 나타내고, 도 6b는 객체에 연관된 글리프들을 디스플레이하기 위한 프로세스를 나타낸다. 도 6a의 프로세스는 운영 시스템 객체의 사용자 선택을 수신하는 박스 602에서 시작한다. 이러한 선택은 서로 다른 많은 유형의 예들(예컨대, 사용자가 객체에 대한 세부 내용을 검토하기를 원하거나 그 객체에 연관된 애플리케이션을 실행시키기를 원할 때)에서 발생할 수 있다. 예를 들어, 친구에게 전화를 걸고 싶어하는 사용자는 그 친구에게 전화를 걸기 위해 전화 애플리케이션을 실행시키기 위한 목적으로, 연락처들의 목록에서 그 친구에 대한 연락처 기록을 자주 확인할 수 있다.
박스(604)에서, 프로세스는 글리프를 객체에 할당하려는 사용자 의도를 나타내는 사용자 선택을 수신한다. 예를 들어, 사용자가 최근에 특정 지인과 더 친해져서, 과거에 연락했던 것보다 보다 빠르게 그 지인에게 연락할 수 있기를 원할 수 있다. 그 결과, 사용자는 그 친구에 대한 연락처 기록이 보다 빠르게 불려지도록 하기 위해 글리프를 그 친구에게 할당하기를 원할 수 있다. 박스(606)에서, 글리프 엔트리 명령어들이 사용자에게 디스플레이되고, 그 사용자는 그 명령어들에 응답하여 그 지인을 위한 새로운 글리프를 트레이스한다. 사용자의 트레이싱 경로(tracing path)는 디바이스의 배경화면과 대비되는 색상으로 된 폴리라인으로 디스플레이될 수 있어, 사용자가 글리프를 그리는 자신의 진행 과정을 추적할 수 있게 한다. 박스(608)에서, 사용자가 글리프를 그리는 것을 완료하면, 프로세스는 그 글리프를 사용자에게 디스플레이하고, 프로세스는 사용자가 그 지인에 대해 할당되도록 그린 글리프를 보유할 것인지에 대한 확인을 사용자로부터 수신한다. 만약 사용자가 자신이 글리프를 적절히 그렸다고 생각하지 않으면, 사용자는 그 글리프가 지인의 연락처 기록에 상관되는 것을 거절할 수 있고, 사용자에게 다시 글리프를 그릴 수 있도록 하는 캔버스가 다시 보여진다. 사용자가 그 글리프를 객체에 상관하고자 한다는 의도가 표시되면, 프로세스는 박스(610)에서 그 글리프를 객체에 할당할 수 있다.
이후 시점에, 사용자는 자신의 디바이스를 사용할 수 있고, 즉시 그 객체를 호출하고 목록을 열 필요없이, 목록 전체를 스크롤하고, 그 목록으로부터 특정 객체를 선택하기를 원할 수 있다. 결과적으로, 사용자는 글리프를 자신의 디바이스에 입력할 수 있고, 디바이스와 프로세스는 박스(614)에서 객체를 보고자 하는 사용자 의도로서 글리프의 엔트리를 해석할 수 있고, 사용자의 검토를 위해 그 객체를 자동으로 열 수 있다.
도 6b는 일반적으로 사용자가 글리프를 그리고 객체를 선택함으로써 글리프를 객체에 할당하는 프로세스를 나타낸다. 여기에 도시된 특정 프로세스에서, 사용자는 처음에 이들의 모바일 디바이스에 의해 인식되지 않은 글리프를 그리고, 객체를 찾아, 그 객체가 그 글리프에 상관될 수 있게 하여, 그 글리프가 입력된 다음 시점에 그 객체가 자동으로 호출되도록 할 수 있다.
도 6b의 프로세스는 글리프의 사용자 엔트리를 수신하는 박스(621)에서 시작한다. 박스(622)에서, 프로세스는 그 글리프가 복수의 저장된 글리프들 중 하나로서 인식되는지를 판단하는데, 복수의 저장된 글리프들은 사용자가 디바이스에 입력할 수 있는 것이다. 만약 상기 복수의 글리프들 중 하나가 인식되면, 박스(624)에서 그 글리프에 대응하는 객체가 활성화되고, 프로세스는 추가 사용자 입력을 대기하는 과정으로 되돌아간다. 만약 글리프가 인식되지 않으면, 사용자가 객체를 위한 글리프를 입력하고자 했지만 객체에 현재 할당된 글리프를 적절하게 입력하는 것을 실패하였다는 가정하에, 프로세스는 사용자로 하여금 객체로 이동할 것을 지시할 수 있다. 박스(628)에서, 사용자는 객체로 이동했고, 이로써 프로세스는 사용자가 상기 객체에 대해 그린 글리프에 객체를 링크시킬 수 있다.
박스(630)에서, 사용자는 동일한 객체에 연관된 다른 글리프들을 확인하고자 하는지 판단할 수 있고, 그 관점에서 컨트롤을 선택한다. 프로세스는 도 3에 제시된 것과 같은 방식으로 다른 글리프들을 사용자에게 보여줌으로써 응답할 수 있다. 박스(632)에서, 사용자는 글리프들을 검토하는 것을 중단한다는 의도를 나타내고, 프로세스는 박스(632)에서 글리프 엔트리 프로세스를 종료한다. 프로세스는 그 프로세스가 시작된 지점으로 돌아가고, 사용자는 이전 방식으로 자신의 디바이스와 인터렉션을 계속할 수 있다.
도 7는 본 명세서에서 설명된 기법들과 함께 사용될 수 있는 일반적인 컴퓨터 디바이스(700)와 일반적인 모바일 컴퓨터 디바이스(750)의 실시예를 나타낸다. 컴퓨팅 디바이스(700)는 랩탑들, 데스크탑들, 워크스테이션들, PDA들(Personal Digital Assistants), 서버들, 블레이드(blade) 서버들, 메인프레임들 및 그 밖의 적절한 컴퓨터들과 같은 다양한 형태의 디지털 컴퓨터들을 나타내기 위해 사용된다. 컴퓨팅 디바이스(750)는 PDA들, 셀룰러 전화들, 스마트폰들 및 그 밖의 유사한 컴퓨팅 디바이스들과 같은 다양한 형태의 모바일 디바이스들을 나타내기 위해 사용된다. 여기에 도시된 컴포넌트들, 이들의 접속 및 관계 및 이들의 기능들은 단지 대표적인 것을 의미하고, 본 명세서에서 설명되고 그리고/또는 청구된 발명들의 구현들을 한정하는 의미를 갖지는 않는다.
컴퓨팅 디바이스(700)는 프로세서(702), 메모리(704), 저장 디바이스(706), 메모리(704)와 고속 연장 포트(710)에 접속하는 고속 인터페이스(708), 및 저속 버스(714)와 저장 디바이스(706)에 접속하는 저속 인터페이스(712)를 포함한다. 각 컴포넌트들(702, 704, 706, 708, 710, 및 712)은 다양한 버스들을 사용하여 서로 접속되고, 공통 마더보드에 탑재되거나 또는 적절한 경우 다른 방식으로 탑재될 수 있다. 프로세서(702)는 컴퓨팅 디바이스(700) 내에서 실행하기 위한 명령어를 처리할 수 있으며, 이러한 명령어에는, 고속 인터페이스(708)에 결합된 디스플레이(716)와 같은 외부 입/출력 디바이스 상에서 GUI용 그래픽 정보를 디스플레이하기 위해, 메모리(704) 또는 저장 디바이스(706)에 저장되는 명령어들이 포함된다. 다른 구현예들에서, 다중 프로세서들 및/또는 다중 버스들은 적절한 경우, 다중 메모리들 및 메모리 유형들과 함께 사용될 수 있다. 또한, 다중 컴퓨팅 디바이스들(700)은 각 디바이스가 필요 동작의 부분을 제공하는 형태(예를 들어, 서버 뱅크, 블레이드 서버들의 그룹, 또는 다중 프로세서 시스템)로 접속될 수 있다.
메모리(704)는 컴퓨팅 디바이스(700) 내에 정보를 저장한다. 한 구현에서, 메모리(704)는 휘발성 메모리 유닛 또는 유닛들이다. 또 다른 구현에서, 메모리(704)는 비휘발성 메모리 유닛 또는 유닛들이다. 또한, 메모리(704)는 마그네틱 또는 광 디스크와 같은 또 다른 형태의 컴퓨터 판독가능 매체일 수 있다.
저장 디바이스(706)는 컴퓨팅 디바이스(700)용 대용량 저장소(mass storage)를 제공할 수 있다. 일 구현예에서, 저장 디바이스(706)는 다양한 다른 구현예들에서, 저장 디바이스(706)는 플로피 디스크 디바이스, 하드 디스크 디바이스, 광 디스크 디바이스, 또는 테입 디바이스, 플래쉬 메모리 또는 다른 유사한 고체 상태 메모리 디바이스, 또는 저장 영역 네트워크 또는 다른 구성들에 존재하는 디바이스를 포함하는 디바이스들의 어레이와 같은, 컴퓨터에 의해 판독 가능한 매체이거나, 컴퓨터에 의해 판독 가능한 매체를 포함할 수 있다. 컴퓨터 프로그램 제품은 정보 캐리어(information carrier) 내에 유형적으로 구현될 수 있다. 컴퓨터 프로그램 제품은 실행될 때, 상술한 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함할 수 있다. 정보 캐리어는 메모리(704), 저장 디바이스(706), 프로세서(702)상의 메모리, 또는 전달된 신호와 같은 컴퓨터 또는 기계에 의해 판독 가능한 매체이다.
저속 제어기(712)가 컴퓨팅 디바이스(700)에 대한 저대역-집약적 동작들(lower bandwidth-intensive operations)을 관리하는 반면, 고속 제어기(708)는 컴퓨팅 디바이스(700)에 대한 대역-집약적 동작들을 관리한다. 이러한 기능들의 할당은 단지 대표적인 것이다. 일 구현예에서, 고속 제어기(708)는 메모리(704), 디스플레이(716)(예를 들어, 그래픽 프로세서 또는 가속기를 통함)에 연결되고, 다양한 연장 카드들(도시되지 않음)을 수용할 수 있는 고속 연장 포트들(710)에 결합된다. 일 구현 예에서는, 저속 제어기(712)는 저장 디바이스(706) 및 저속 연장 포트(714)에 결합된다. 다양한 통신 포트들(예를 들어, USB, 블루투스, 이더넷, 무선 이더넷)을 포함할 수 있는 저속 연장 포트는 키보드, 포인팅 디바이스, 스캐너와 같은 하나 이상의 입/출력 디바이스들에 결합되거나, 또는 예컨대 네트워크 어댑터를 통하여, 스위치 또는 라우터와 같은 네트워킹 디바이스에 결합될 수 있다.
컴퓨팅 디바이스(700)는 도면에 도시된 바와 같이, 다수의 서로 다른 형태들로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(700)는 표준 서버(720)로 구현되거나 이러한 서버들의 그룹에서 여러 번 구현될 수 있다. 또한, 컴퓨팅 디바이스(700)는 랙 서버 시스템(724)의 부분으로서 구현될 수 있다. 이에 더하여, 컴퓨팅 디바이스(700)는 랩탑 컴퓨터(722)와 같은 개인용 컴퓨터 내에 구현될 수 있다. 대안적으로, 컴퓨팅 디바이스(700)로부터의 컴포넌트들은 디바이스(750)와 같은 모바일 디바이스(도시되지 않음) 내 다른 컴포넌트들과 결합될 수 있다. 이러한 디바이스들 각각은 하나 이상의 컴퓨팅 디바이스(700, 750)를 포함할 수 있고, 전체적인 시스템은 서로 통신하는 다중 컴퓨팅 디바이스들(700, 750)로 구성될 수 있다.
컴퓨팅 디바이스(750)는 여러 다른 컴포넌트들 중에서 프로세서(752), 메모리(764), 디스플레이(754)와 같은 입/출력 디바이스, 통신 인터페이스(766), 및 트랜스시버(768)를 포함한다. 또한, 디바이스(750)에는 추가적인 저장소를 제공하기 위하여, 마이크로 드라이브 또는 다른 디바이스와 같은 저장 디바이스가 제공될 수 있다. 컴포넌트들(750, 752, 764, 754, 766 및 768) 각각은 다양한 버스들을 이용하여 서로 접속되고, 컴포넌트들의 몇몇은 공통 마더보드에 탑재되거나 적절한 다른 방법들로 탑재될 수 있다.
프로세서(752)는 컴퓨팅 디바이스(750) 내에서 명령어들을 실행하며, 이 명령어에는 메모리(764)에 저장된 명령어들이 포함된다. 프로세서는 아날로그 및 디지털 프로세서들을 개별적으로 그리고 다중으로 포함하는 칩들의 칩셋으로 구현될 수 있다. 프로세서는, 예를 들어, 사용자 인터페이스들의 제어, 디바이스(750)에 의해 실행되는 애플리케이션, 및 컴퓨팅 디바이스(750)에 의한 무선 통신과 같은 디바이스(750)의 다른 컴포넌트들 사이에 조정을 제공할 수 있다.
프로세서(752)는 제어 인터페이스(758) 및 디스플레이(754)에 결합된 디스플레이 인터페이스(756)를 통해 사용자와 통신할 수 있다. 디스플레이(754)는, 예를 들어, TFT LCD(Thin-Film-Tansistor Liquid Crystal Display) 디스플레이 또는 OLED(Organic Light Emitting Diode) 디스플레이, 또는 다른 적절한 디스플레이 기술일 수 있다. 디스플레이 인터페이스(756)는 그래픽 정보 및 다른 정보를 사용자에게 제시하기 위해 디스플레이(754)를 구동하는 적절한 회로망을 포함한다. 제어 인터페이스(758)는 사용자로부터 명령들을 수신하고, 프로세서(752)에 제출하기 위해 그 명령들을 변환한다. 이에 더하여, 외부 인터페이스(762)는 디바이스(750)와 다른 디바이스들 간에 근거리 통신이 가능하도록 하기 위해, 프로세서(752)와의 통신에 제공될 수 있다. 일부 구현예들에서, 외부 인터페이스(762)는, 예를 들어 일부 구현예에서는 유선 통신을 제공하고, 또는 다른 구현예들에서는 무선 통신을 제공하며, 또한 다중 인터페이스가 사용될 수 있다.
메모리(764)는 컴퓨팅 디바이스(750) 내에 정보를 저장한다. 메모리(764)는 컴퓨터 판독가능 매체 또는 미디어, 휘발성 메모리 유닛 또는 유닛들, 또는 비휘발성 메모리 유닛 또는 유닛들 중 하나 이상으로 구현될 수 있다. 또한, 연장 메모리(774)가 제공되어, 예를 들어 SIMM(Single In Line Memory Module) 카드 인터페이스를 포함하는 연장 인터페이스(772)를 통해 디바이스(750)에 접속될 수 있다. 이러한 연장 메모리(774)는 디바이스(750)를 위한 여분의 저장 공간을 제공할 수 있고, 또한 애플리케이션들 또는 디바이스(750)를 위한 다른 정보를 저장할 수 있다. 특히, 연장 메모리(774)는 상술된 프로세스를 실행하거나 보조하기 위한 명령어들을 포함하고, 또한 보안 정보를 포함할 수 있다. 따라서 예를 들어, 연장 메모리(774)는 디바이스(750)용 보안 모듈(security module)로서 제공될 수 있고, 디바이스(750)의 안전한 사용을 가능하게 하는 명령어들로 프로그램될 수 있다. 더욱이, 보안 애플리케이션들은, 해킹할 수 없는 방식(non-hackable manner)으로 SIMM 카드 상에 식별 정보를 위치시킨 것과 같은 추가적 정보와 함께 SIMM 카드들을 통해 제공될 수 있다.
메모리는 아래에서 논의되는 것과 같이 예를 들어, 플래시 메모리 및/또는 NVRAM 메모리를 포함할 수 있다. 일 구현예에서, 컴퓨터 프로그램 제품은 정보 캐리어에 유형적으로 구현된다. 컴퓨터 프로그램 제품은 실행될 때, 상술된 것과 같은 하나 이상의 방법들을 수행하는 명령어들을 포함한다. 정보 캐리어는 메모리(764), 연장 메모리(774), 프로세서(752) 상의 메모리, 또는 예를 들어, 트랜스시버(768) 또는 외부 인터페이스(762)를 통해 수신된 전달된 신호와 같은 컴퓨터-또는 기계-판독가능 매체이다.
디바이스(750)는 필요한 곳에 디지털 신호 처리 회로망을 포함하는 통신 인터페이스(766)를 통해 무선으로 통신할 수 있다. 통신 인터페이스(766)는 그 중에서도 GSM 음성 통화, SMS, EMS, 또는 MMS 메시징, CDMA, TDMA, PDC, WCDMA, CDMA2000, 또는 GPRS 등과 같은 다양한 모드들 또는 프로토콜들 하에서의 통신들을 제공할 수 있다. 이러한 통신은 예를 들어, 무선-주파수 트랜스시버(768)를 통해 수행될 수 있다. 또한, 단거리(short-range) 통신은 예를 들어, 블루투스, WiFi, 또는 다른 이러한 트랜스시버(도시되지 않음)를 사용하여 수행될 수 있다. 이에 더하여, 글로벌 포지셔닝 시스템(Global Positioning System, GPS) 수신기 모듈(770)은 추가적인 네비게이션-관련 및 위치-관련 무선 데이터를 디바이스(750)에 제공할 수 있으며, 이 무선 데이터는 디바이스(750)에서 실행중인 애플리케이션에 의해 적절하게 사용될 수 있다.
또한, 디바이스(750)는 사용자로부터의 발화 정보(spoken information)를 수신하고, 그 발화 정보를 사용가능한 디지털 정보로 변환하는 오디오 코덱(760)을 이용하여, 청취가능하게(audibly) 통신할 수 있다. 오디오 코덱(760)은 예를 들어, 디바이스(750)의 핸드셋 내의 스피커를 통하는 것과 같이, 사용자가 들을 수 있는 음향을 발생한다. 이러한 음향은 음성 전화 통화들로부터의 소리를 포함할 수 있고, 녹음된 소리(예를 들어, 음성 메시지들, 음악 파일들 등)를 포함할 수 있고, 또한 디바이스(750)상에서 동작하는 애플리케이션들에 의해 발생된 소리를 포함할 수 있다.
컴퓨팅 디바이스(750)는 도면에 도시된 바와 같이, 다수의 서로 다른 형태들로 구현될 수 있다. 예를 들어, 컴퓨팅 디바이스(750)는 셀룰러 전화(780)로서 구현될 수 있다. 또한, 컴퓨팅 디바이스(750)는 스마트폰(782), PDA, 또는 다른 유사한 모바일 디바이스의 일부로서 구현될 수 있다.
또한, 디바이스(750)은 움직임을 센싱(sensing)할 수 있는 하나 이상의 서로 다른 디바이스를 포함할 수 있다. 예로서, 가속도계들과 나침반들이 있지만, 이에 한정되지 않는다. 가속도계와 나침반, 또는 움직임이나 위치를 검출할 수 있는 다른 디바이스들은 임의 수의 밴더들(vendors)로부터 이용가능하고, 다양한 방식들로 움직임을 센싱할 수 있다. 예를 들어, 가속도계는 가속도의 변화를 검출할 수 있고, 나침반은 자성의 북극 또는 남극에 대한 각 방향의 변화를 검출할 수 있다. 움직임의 이러한 변화들은 디바이스(750)에 의해 검출될 수 있고, 본 명세서에서 설명된 프로세스들과 기법들에 따른 디바이스(750) 각각의 디스플레이를 업데이트하기 위해 사용될 수 있다.
삭제
본 명세서에 기재된 시스템들과 기법들의 다양한 구현예들은 디지털 전자 회로망, 집적 회로망, 특별하게 설계된 ASICs(Application Specific Intergrated Circuit), 컴퓨터 하드웨어, 펌웨어, 소프트웨어, 및/또는 이들의 조합들로 구현될 수 있다. 이러한 다양한 구현예는 하나 이상의 컴퓨터 프로그램으로 된 구현예를 포함하며, 이 컴퓨터 프로그램은 적어도 하나의 프로그래밍 가능한 프로세서를 포함하는 프로그래밍 가능한 시스템에서 실행가능하고 그리고/또는 해석가능하다. 또한, 전용 또는 범용 프로세서일 수 있는 이 프로그램 가능한 프로세서는 데이터와 명령어들을 송수신하기 위해, 저장 시스템, 적어도 하나의 입력 디바이스 및 적어도 하나의 출력 디바이스에 연결된다.
컴퓨터 프로그램들(또한 프로그램들, 소프트웨어, 소프트웨어 애플리케이션들, 또는 코드로 알려짐)은 프로그래밍 가능한 프로세서를 위한 기계 명령어들을 포함하고, 고레벨 절차 및/또는 객체 지향 프로그램 언어(object-oriented programming language) 및/또는 어셈블리/기계 언어로 구현될 수 있다. 본 명세서에서 사용되는 바와 같이, 용어 "기계 판독가능 매체(machine-readable medium)"와 "컴퓨터 판독가능 매체(computer-readable medium)"는 기계 명령어 및/또는 데이터를 프로그래밍 가능한 프로세서에 제공하기 위해 이용되는 어떤 컴퓨터 프로그램 제품, 장치, 및/또는 디바이스(예를 들어, 마그네틱 디스크들, 광학 디스크들, 메모리, PLD들(Programmable Logic Devices))를 가리키며, 기계 판독가능 신호와 같은 기계 명령어를 수신하는 기계 판독가능 매체를 포함한다. 용어 "기계 판독가능 신호(machine-readable signal)"는 기계 명령어 및/또는 데이터를 프로그램 가능한 프로세서에 제공하기 위해 사용되는 어떤 신호를 가리킨다.
사용자와의 인터렉션을 제공하기 위하여, 본 명세서에 기술된 시스템들과 기법들은, 정보를 사용자에게 디스플레이하기 위한 디스플레이 디바이스(예를 들어, CRT(cathode ray tube) 또는 LCD(liquid crystal display) 모니터)와 사용자가 컴퓨터에 입력을 제공할 수 있는 키보드 및 포인팅 디바이스(예를 들어, 마우스 또는 트랙볼)를 구비한 컴퓨터상에서 구현될 수 있다. 사용자와의 인터렉션을 제공하기 위하여 다른 종류의 디바이스들이 또한 사용될 수 있다; 예를 들어, 사용자에게 제공되는 피드백(feedback)은 어떤 형태의 감각 피드백(예를 들어, 시각 피드백, 청각 피드백 또는 촉각 피드백)일 수 있고, 사용자로부터의 입력은 음향(acoustic), 음성(speech) 또는 촉각(tactile) 입력을 포함하는 임의의 형태로 수신될 수 있다.
본 명세서에서 설명한 시스템들과 기법들은, 백 엔드(back end) 컴포넌트(예를 들어, 데이터 서버와 같은), 또는 미들웨어 컴포넌트(예를 들어, 애플리케이션 서버), 또는 프론트 엔드(front end) 컴포넌트(예를 들어, 본 명세서에서 설명된 시스템 및 기술의 구현예와 사용자가 인터렉션할 수 있는 그래픽 사용자 인터페이스 또는 웹브라우저를 구비한 클라이언트 컴퓨터), 또는 이러한 백 엔드, 미들웨어, 또는 프론트 엔드 컴포넌트들의 임의 결합을 포함하는 컴퓨팅 시스템으로 구현될 수 있다. 시스템의 컴포넌트들은 디지털 데이터 통신의 어떤 형태 또는 매체(예를 들어, 통신 네트워크)에 의해 상호 접속될 수 있다. 통신 네트워크의 예로서, 근거리 네트워크(LAN), 광역 네트워크(WAN), 및 인터넷이 있다.
컴퓨팅 시스템은 클라이언트들과 서버들을 포함할 수 있다. 클라이언트와 서버는 보통 서로 떨어져 있으며, 일반적으로는 통신 네트워크를 통하여 인터렉션한다. 클라이언트와 서버의 관계는 각각의 컴퓨터상에서 실행되고 상호 클라이언트-서버 관계를 갖는 컴퓨터 프로그램들에 의하여 발생한다.
다수의 실시예들이 설명되었다. 그러나, 본 발명의 사상과 범위를 벗어나지 않는 다양한 변형들이 만들어질 수 있다는 것이 이해되어야 한다. 예를 들어, 이 명세서의 많은 부분이 메시징 및 매핑 애플리케이션들에 관련되어 기술되었지만, 다른 형태의 그래픽 애플리케이션(예컨대, 인터렉션 프로그램 가이드, 웹 페이지 네비게이션 및 주밍, 및 다른 이와 같은 애플리케이션)도 다뤄질 수 있다.
또한, 도면들에서 묘사된 논리 흐름들은 원하는 결과를 달성하기 위해, 제시된 특정 순서 또는 시퀀스 순서를 요구하지 않는다. 또한, 설명된 흐름으로부터 다른 단계들이 제공되거나, 단계들이 제거될 수 있고, 설명된 시스템들로부터 다른 컴포넌트들이 추가되거나 제거될 수 있다. 따라서 다른 실시예들은 후술하는 청구범위의 범위 내에 속한다.
400: 시스템
408: 무선 인터페이스
410: 애플리케이션(들)
412: 디스플레이 관리자
414: 입력 관리자
415: 글리프 해석기
417: 드로운 사용자 입력 제어기

Claims (23)

  1. 컴퓨터에 의해 구현되는 사용자 인터페이스 방법(computer-implemented user interface method)에 있어서,
    객체(object)의 제1 서브-부분을 컴퓨팅 디바이스의 터치스크린의 영역 내에 디스플레이하는 단계와;
    상기 컴퓨팅 디바이스의 사용자로부터, 상기 터치스크린의 영역 내의 드로운 입력(drawn input)을 수신하는 단계와, 상기 드로운 입력의 적어도 일부는 상기 터치스크린의 영역 내에 상기 객체의 제1 서브-부분이 디스플레이되는 동안에 수신되고;
    상기 드로운 입력이 상기 객체에 대한 스크롤링 입력(scrolling input) 또는 글리프 엔트리(entry of glyph)를 포함하는지를 결정하는 단계와, 상기 글리프는 하나 이상의 특정 아이템들에 할당된 하나 이상의 커스텀 글리프들을 포함하며;
    상기 드로운 입력이 상기 객체의 상기 특정 아이템에 할당된 특정 글리프에 대응함을 결정하는 단계와; 그리고
    상기 드로운 입력이 상기 특정 글리프에 대응함을 결정함에 응답하여, 상기 글리프가 입력된 컨텍스트에 기초하여, 상기 터치스크린의 영역 내에, 상기 특정 글리프가 할당된 상기 특정 아이템을 포함하는 상기 객체의 제2 서브-부분을 자동적으로 디스플레이하는 단계를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  2. 제 1항에 있어서,
    상기 객체는 아이템들의 리스트, 지도 및 이미지를 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  3. 제 1항에 있어서,
    만약 상기 드로운 입력이 인식되지 않으면, 시각적 또는 청각적 실패 표시자(visual or audible failure indicator)를 상기 사용자에게 제공하는 단계를 더 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  4. 제 3항에 있어서,
    상기 실패 표시자는 이전에 디스플레이된 상기 드로운 입력의 색상과는 대비되는 색상으로 상기 드로운 입력을 디스플레이하는 것을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  5. 제 1항에 있어서,
    상기 드로운 입력은 상기 터치스크린과의 포인터 접촉(pointer contact) 및 이에 후속되는 상기 터치스크린으로부터의 포인터 접촉 해제(pointer release), 및 상기 터치스크린 상에서의 상기 포인터 접촉과 상기 포인터 접촉 해제 간의 트레이스된 포인터 경로에 의해 정의되는 것을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  6. 제 1항에 있어서,
    상기 사용자에 의한 드로운 글리프가 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하는 단계는 상기 사용자에 의한 드로운 글리프의 부분의 엔트리에 대한 경계 박스(bounding box)를 식별하는 것을 포함하는 것을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  7. 제 1항에 있어서,
    상기 제2 서브-부분에서의 하나 이상의 아이템들은 상기 컴퓨팅 디바이스의 사용자에 의해 상기 글리프와 상관되었던 것임을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  8. 제 7항에 있어서,
    상기 제2 서브-부분에서의 하나 이상의 아이템들은 상기 글리프를 드로잉(drawing)하고 상기 글리프를 상기 하나 이상의 아이템들에 할당하기로 확인(confirmation)을 보냄으로써 상기 사용자에 의한 상기 글리프와 상관되었던 것임을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  9. 제 7항에 있어서,
    상기 제2 서브-부분에서의 하나 이상의 아이템들은 상기 글리프를 드로잉하고 상기 글리프에 링크하기 위해 상기 하나 이상의 아이템들을 선택함으로써 상기 사용자에 의해 상기 글리프와 상관되었던 것임을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  10. 제 1항에 있어서,
    상기 제2 서브-부분에서의 하나 이상의 아이템들은 제3자의 소프트웨어 개발자(third party software developer)에 의해 상기 글리프와 상관되었던 것임을 특징으로 하는 컴퓨터에 의해 구현되는 사용자 인터페이스 방법.
  11. 하나 이상의 기계들이 동작들을 수행하도록 동작 가능한 프로그래밍 코드를 저장하는 비-일시적 컴퓨터 판독가능 데이터 저장 매체(non-transitory computer-readable data storage medium)에 유형적으로(tangibly) 구현된 물품(article)으로서, 상기 동작들은:
    객체(object)의 제1 서브-부분을 컴퓨팅 디바이스의 터치스크린의 영역 내에 디스플레이하는 것과;
    상기 컴퓨팅 디바이스의 사용자로부터 상기 터치스크린의 영역 내의 드로운 입력을 수신하는 것과, 상기 드로운 입력의 적어도 일부는 상기 터치스크린의 영역 내에 상기 객체의 제1 서브-부분이 디스플레이되는 동안에 수신되고;
    상기 드로운 입력이 상기 객체에 대한 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하는 것과, 상기 글리프는 하나 이상의 특정 아이템들에 할당된 하나 이상의 커스텀 글리프들을 포함하며;
    상기 드로운 입력이 상기 객체의 상기 특정 아이템에 할당된 특정 글리프에 대응함을 결정하는 것과; 그리고
    상기 드로운 입력이 상기 특정 글리프에 대응함을 결정함에 응답하여, 상기 글리프가 입력된 컨텍스트에 기초하여, 상기 터치스크린의 영역 내에, 상기 특정 글리프가 할당된 상기 특정 아이템을 포함하는 상기 객체의 제2 서브-부분을 자동적으로 디스플레이하는 것을 포함하는 것을 특징으로 하는 물품.
  12. 제 11항에 있어서,
    상기 드로운 입력은 상기 터치스크린과의 포인터 접촉 및 이에 후속되는 상기 터치스크린으로부터의 포인터 접촉 해제, 및 상기 포인터 접촉과 상기 포인터 접촉 해제 간의 트레이스된 포인터 경로에 의해 정의되는 것을 특징으로 하는 물품.
  13. 제 11항에 있어서,
    상기 사용자에 의한 드로운 글리프가 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하는 것은 상기 사용자에 의한 드로운 글리프의 부분의 엔트리에 대한 경계 박스를 식별하는 것을 포함하는 것을 특징으로 하는 물품.
  14. 컴퓨터 구현 사용자 인터페이스 시스템에 있어서,
    그래픽 디스플레이 및 하나 이상의 관련된 프로세서들 및 저장된 명령들과, 이들은:
    문자들(characters) 또는 기호들(symbols)과 관련된 콘텐츠를 포함하는 콘텐츠를 상기 그래픽 디스플레이의 영역 내에 변화하는 가시 그래픽들(visible graphics)이 디스플레이될 수 있는 구역(area)을 통해 디스플레이하고, 그리고
    상기 그래픽 디스플레이의 영역 내에 사용자에 의한 드로운 글리프를 수신하도록 구성되고;
    글리프 해석기(glyph interpreter)와, 상기 글리프 해석기는:
    상기 사용자에 의한 드로운 글리프를 수신하고,
    상기 사용자에 의한 드로운 글리프가 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하고, 상기 글리프는 하나 이상의 특정 아이템들에 할당된 하나 이상의 커스텀 글리프들을 포함하며, 그리고
    상기 사용자에 의한 드로운 글리프가 컨텐츠에서 특정 아이템에 할당된 특정 글리프에 대응함을 결정하도록 프로그래밍되고; 그리고
    드로운 사용자 입력 제어기(drawn user input controller)를 포함하고, 상기 드로운 사용자 입력 제어기는, 상기 사용자에 의한 드로운 글리프가 상기 특정 글리프에 대응함을 결정함에 응답하여, 상기 글리프가 입력된 컨텍스트에 기초하여, 상기 그래픽 디스플레이의 상기 영역 내에, 상기 특정 글리프가 할당된 상기 특정 아이템을 포함하는 상기 컨텐츠의 서브-부분을 상기 그래픽 디스플레이상에 자동적으로 디스플레이하도록 프로그래밍되는 것을 특징으로 하는 시스템.
  15. 제 14항에 있어서,
    상기 서브-부분은 상기 컨텐츠에서의 하나 이상의 엔트리들을 포함하고, 상기 하나 이상의 엔트리들은 상기 특정 글리프에 대응하는 글자로 시작하는 것을 특징으로 하는 시스템.
  16. 제 14항에 있어서,
    상기 드로운 사용자 입력 제어기는 사용자로부터 드로운 글리프를 수신하고, 상기 드로운 글리프와 상기 사용자에 의해 식별된 대상(object) 간의 상관도(correlation)가 형성되어, 상기 드로운 글리프의 미래의 사용자 엔트리가 상기 사용자에 의해 식별된 상기 대상으로 하여금 상기 시스템에 의해 어드레스되도록 더 프로그래밍 되는 것을 특징으로 하는 시스템.
  17. 제 14항에 있어서,
    상기 드로운 사용자 입력 제어기는 상기 그래픽 디스플레이 상에서 가시 입력 구역(visible input area) 없이, 활성 어플리케이션을 통해 수신되는 드로운 입력을 식별하도록 프로그래밍되는 것을 특징으로 하는 시스템.
  18. 제 14항에 있어서,
    상기 사용자에 의한 드로운 글리프가 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하는 것은 상기 글리프의 부분의 엔트리에 대한 경계 박스를 식별하는 것을 포함하는 것을 특징으로 하는 시스템.
  19. 컴퓨터 구현 사용자 인터페이스 시스템에 있어서,
    그래픽 디스플레이 및 하나 이상의 관련된 프로세서들 및 저장된 명령들과, 이들은:
    문자들 또는 기호들과 관련된 콘텐츠를 포함하는 콘텐츠를 상기 그래픽 디스플레이의 영역 내에 변화하는 가시 그래픽들이 디스플레이될 수 있는 구역을 통해 디스플레이하고, 그리고
    상기 그래픽 디스플레이의 영역 내에 사용자에 의한 드로운 글리프를 수신하도록 구성되고;
    글리프 해석기와, 상기 글리프 해석기는:
    상기 사용자에 의한 드로운 글리프를 수신하고,
    상기 사용자에 의한 드로운 글리프가 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하고, 상기 글리프는 하나 이상의 특정 아이템들에 할당된 하나 이상의 커스텀 글리프들을 포함하며, 그리고
    상기 사용자에 의한 드로운 글리프가 컨텐츠에서 특정 아이템에 할당된 특정 글리프에 대응함을 결정하고; 그리고
    상기 사용자에 의한 드로운 글리프가 상기 특정 글리프에 대응함을 결정함에 응답하여, 상기 글리프가 입력된 컨텍스트에 기초하여, 상기 그래픽 디스플레이의 상기 영역 내에 상기 컨텐츠의 서브-부분을 자동적으로 디스플레이하는 수단을 포함하고, 목록은 상기 특정 글리프가 할당된 상기 특정 아이템을 포함하는 것을 특징으로 하는 시스템.
  20. 제 19항에 있어서,
    상기 사용자에 의한 드로운 글리프가 스크롤링 입력 또는 글리프 엔트리를 포함하는지를 결정하는 것은 상기 글리프의 부분의 엔트리에 대한 경계 박스를 식별하는 것을 포함하는 것을 특징으로 하는 시스템.
  21. 삭제
  22. 삭제
  23. 삭제
KR1020117026849A 2009-04-10 2010-04-08 컴퓨팅 디바이스 상의 글리프 엔트리 KR101711110B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US12/422,185 2009-04-10
US12/422,185 US8819597B2 (en) 2009-04-10 2009-04-10 Glyph entry on computing device
PCT/US2010/030417 WO2010118247A1 (en) 2009-04-10 2010-04-08 Glyph entry on computing device

Publications (2)

Publication Number Publication Date
KR20120013377A KR20120013377A (ko) 2012-02-14
KR101711110B1 true KR101711110B1 (ko) 2017-03-13

Family

ID=42315456

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020117026849A KR101711110B1 (ko) 2009-04-10 2010-04-08 컴퓨팅 디바이스 상의 글리프 엔트리

Country Status (7)

Country Link
US (1) US8819597B2 (ko)
EP (1) EP2417516B1 (ko)
JP (1) JP2012523633A (ko)
KR (1) KR101711110B1 (ko)
CN (1) CN102460362B (ko)
MX (1) MX2011010676A (ko)
WO (1) WO2010118247A1 (ko)

Families Citing this family (48)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8633930B2 (en) * 2007-03-26 2014-01-21 Apple Inc. Non-linear text flow
US8594740B2 (en) 2008-06-11 2013-11-26 Pantech Co., Ltd. Mobile communication terminal and data input method
US20110055753A1 (en) * 2009-08-31 2011-03-03 Horodezky Samuel J User interface methods providing searching functionality
CN101661373B (zh) * 2009-09-29 2013-02-27 中兴通讯股份有限公司 一种通过接触面型进行识别解锁的方法及装置
US9021402B1 (en) 2010-09-24 2015-04-28 Google Inc. Operation of mobile device interface using gestures
WO2012050251A1 (ko) * 2010-10-14 2012-04-19 엘지전자 주식회사 이동 단말기 및 그 제어방법
CN102645990A (zh) * 2011-02-18 2012-08-22 瑞轩科技股份有限公司 控制并显示可控装置上的画面信息的系统与其应用方法
US20120216152A1 (en) 2011-02-23 2012-08-23 Google Inc. Touch gestures for remote control operations
US20120280927A1 (en) * 2011-05-04 2012-11-08 Ludwig Lester F Simple touch interface and hdtp grammars for rapid operation of physical computer aided design (cad) systems
US8793624B2 (en) 2011-05-18 2014-07-29 Google Inc. Control of a device using gestures
DE102011110974A1 (de) * 2011-08-18 2013-02-21 Volkswagen Aktiengesellschaft Verfahren und Einrichtung zum Bedienen einer elektronischen Einrichtung und/ oder Applikationen
DE102011112443A1 (de) * 2011-09-03 2013-03-07 Dr.Ing.H.C. F. Porsche Ag Verfahren und Vorrichtung zum Bereitstellen einer Nutzerschnittstelle in einem Fahrzeug
US8478777B2 (en) * 2011-10-25 2013-07-02 Google Inc. Gesture-based search
KR101873741B1 (ko) * 2011-10-26 2018-07-03 엘지전자 주식회사 휴대 단말기 및 그 제어 방법
US10430066B2 (en) * 2011-12-06 2019-10-01 Nri R&D Patent Licensing, Llc Gesteme (gesture primitive) recognition for advanced touch user interfaces
US8504842B1 (en) 2012-03-23 2013-08-06 Google Inc. Alternative unlocking patterns
KR101395480B1 (ko) * 2012-06-01 2014-05-14 주식회사 팬택 필기 입력에 기초하여 어플리케이션을 실행하는 방법 및 그 단말
US20130339859A1 (en) 2012-06-15 2013-12-19 Muzik LLC Interactive networked headphones
JP5852928B2 (ja) * 2012-06-27 2016-02-03 株式会社オプティム 所作入力装置、所作入力方法及びプログラム
EP2872981A4 (en) * 2012-07-13 2016-10-19 Samsung Electronics Co Ltd METHOD FOR SENDING AND RECEIVING DATA BETWEEN A MEMO LAYER AND APPLICATION AND ELECTRONIC DEVICE THEREFOR
CN102739873B (zh) * 2012-07-13 2017-01-18 上海触乐信息科技有限公司 便携式终端设备滑行操作辅助信息输入控制功能的系统及方法
GB201215283D0 (en) * 2012-08-28 2012-10-10 Microsoft Corp Searching at a user device
US9147058B2 (en) * 2012-10-12 2015-09-29 Apple Inc. Gesture entry techniques
US9372970B2 (en) 2012-10-12 2016-06-21 Apple Inc. Gesture entry techniques
EP2722745A1 (en) * 2012-10-17 2014-04-23 Advanced Digital Broadcast S.A. A method for operating a gesture-controlled graphical user interface
US8640046B1 (en) 2012-10-23 2014-01-28 Google Inc. Jump scrolling
JP6003622B2 (ja) * 2012-12-21 2016-10-05 ブラザー工業株式会社 印刷装置
US20140223382A1 (en) * 2013-02-01 2014-08-07 Barnesandnoble.Com Llc Z-shaped gesture for touch sensitive ui undo, delete, and clear functions
KR101373552B1 (ko) * 2013-02-14 2014-03-12 주식회사 한국스테노 터치스크린을 구비한 속기 장치
GB2511044A (en) 2013-02-20 2014-08-27 Ibm Capturing diacritics on multi-touch devices
KR102203885B1 (ko) * 2013-04-26 2021-01-15 삼성전자주식회사 사용자 단말 장치 및 그 제어 방법
KR102063103B1 (ko) * 2013-08-23 2020-01-07 엘지전자 주식회사 이동 단말기
JP5969441B2 (ja) * 2013-08-30 2016-08-17 京セラドキュメントソリューションズ株式会社 検索プログラムおよび検索装置
JP6178741B2 (ja) * 2013-09-24 2017-08-09 京セラドキュメントソリューションズ株式会社 電子機器
US20150095849A1 (en) 2013-09-30 2015-04-02 Microsoft Corporation Dialogs positioned with action visualization
US9558716B2 (en) 2014-05-05 2017-01-31 Here Global B.V. Method and apparatus for contextual query based on visual elements and user input in augmented reality at a device
FR3022369A1 (fr) * 2014-06-17 2015-12-18 Orange Procede de selection d’un element dans une liste
DE202015006141U1 (de) 2014-09-02 2015-12-14 Apple Inc. Elektronische Touch-Kommunikation
JP2017534132A (ja) 2014-10-10 2017-11-16 ミュージック エルエルシー ユーザー相互作用を共有するための装置
JP2016110518A (ja) * 2014-12-09 2016-06-20 キヤノン株式会社 情報処理装置、その制御方法、プログラム、及び記憶媒体
CN104539801B (zh) * 2014-12-30 2017-01-04 杭州华为数字技术有限公司 一种呈现联系人信息的方法及终端
US9892167B2 (en) * 2015-03-31 2018-02-13 Rovi Guides, Inc. Methods and systems for generating cluster-based search results
CN104898946B (zh) * 2015-05-25 2018-08-31 联想(北京)有限公司 一种控制方法及电子设备
CN105138263A (zh) * 2015-08-17 2015-12-09 百度在线网络技术(北京)有限公司 一种在应用内跳转至特定页面的方法与装置
CN109032379B (zh) * 2018-07-25 2023-06-02 维沃移动通信有限公司 一种语言选项显示方法及终端
CN110308898A (zh) * 2019-07-06 2019-10-08 朱洪俊 一种提供导出打印的礼簿软件系统
WO2021054934A1 (en) * 2019-09-16 2021-03-25 Hewlett-Packard Development Company, L.P. Hand engagement interface
TWI730539B (zh) * 2019-10-09 2021-06-11 開曼群島商粉迷科技股份有限公司 動態數位內容的顯示方法、圖形使用者介面與系統

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214540A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Write anywhere tool

Family Cites Families (31)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4972496A (en) * 1986-07-25 1990-11-20 Grid Systems Corporation Handwritten keyboardless entry computer system
US4988981B1 (en) * 1987-03-17 1999-05-18 Vpl Newco Inc Computer data entry and manipulation apparatus and method
US5252951A (en) * 1989-04-28 1993-10-12 International Business Machines Corporation Graphical user interface with gesture recognition in a multiapplication environment
JPH0773190A (ja) * 1993-04-29 1995-03-17 Matsushita Electric Ind Co Ltd ペンベースコンピューターシステム用絵文字ネーミング
US5500937A (en) * 1993-09-08 1996-03-19 Apple Computer, Inc. Method and apparatus for editing an inked object while simultaneously displaying its recognized object
WO1996001453A1 (en) * 1994-07-01 1996-01-18 Palm Computing, Inc. Multiple pen stroke character set and handwriting recognition system
JP2845149B2 (ja) * 1994-12-28 1999-01-13 日本電気株式会社 手書文字入力装置および手書文字入力方法
US5864635A (en) * 1996-06-14 1999-01-26 International Business Machines Corporation Distinguishing gestures from handwriting in a pen based computer by stroke analysis
US6057845A (en) * 1997-11-14 2000-05-02 Sensiva, Inc. System, method, and apparatus for generation and recognizing universal commands
US7840912B2 (en) * 2006-01-30 2010-11-23 Apple Inc. Multi-touch gesture dictionary
US6573883B1 (en) * 1998-06-24 2003-06-03 Hewlett Packard Development Company, L.P. Method and apparatus for controlling a computing device with gestures
US6407679B1 (en) * 1998-07-31 2002-06-18 The Research Foundation Of The State University Of New York System and method for entering text in a virtual environment
US6791537B1 (en) * 2001-07-06 2004-09-14 Mobigence, Inc. Display of ink for hand entered characters
JP2003225209A (ja) * 2001-11-22 2003-08-12 Nec Corp 電子情報記録システムおよび制御プログラム
US6938222B2 (en) * 2002-02-08 2005-08-30 Microsoft Corporation Ink gestures
US7079713B2 (en) * 2002-06-28 2006-07-18 Microsoft Corporation Method and system for displaying and linking ink objects with recognized text and objects
US7002560B2 (en) * 2002-10-04 2006-02-21 Human Interface Technologies Inc. Method of combining data entry of handwritten symbols with displayed character data
US20040145574A1 (en) * 2003-01-29 2004-07-29 Xin Zhen Li Invoking applications by scribing an indicium on a touch screen
KR20040083788A (ko) * 2003-03-25 2004-10-06 삼성전자주식회사 제스쳐 커맨드를 이용하여 프로그램을 구동시킬 수 있는휴대용 단말기 및 이를 이용한 프로그램 구동 방법
EP1639441A1 (en) * 2003-07-01 2006-03-29 Nokia Corporation Method and device for operating a user-input area on an electronic display device
US7831933B2 (en) * 2004-03-17 2010-11-09 Leapfrog Enterprises, Inc. Method and system for implementing a user interface for a device employing written graphical elements
US9008447B2 (en) * 2004-04-01 2015-04-14 Google Inc. Method and system for character recognition
US7372993B2 (en) * 2004-07-21 2008-05-13 Hewlett-Packard Development Company, L.P. Gesture recognition
US7719523B2 (en) * 2004-08-06 2010-05-18 Touchtable, Inc. Bounding box gesture recognition on a touch detecting interactive display
JP2006293970A (ja) * 2005-03-15 2006-10-26 Ricoh Co Ltd 画像処理装置、画像処理方法、画像処理プログラム
US20070273674A1 (en) * 2005-03-18 2007-11-29 Searete Llc, A Limited Liability Corporation Machine-differentiatable identifiers having a commonly accepted meaning
US7786975B2 (en) * 2005-12-23 2010-08-31 Apple Inc. Continuous scrolling list with acceleration
US7694240B2 (en) * 2006-11-22 2010-04-06 General Electric Company Methods and systems for creation of hanging protocols using graffiti-enabled devices
US8060841B2 (en) * 2007-03-19 2011-11-15 Navisense Method and device for touchless media searching
US8094939B2 (en) * 2007-06-26 2012-01-10 Microsoft Corporation Digital ink-based search
US7949157B2 (en) * 2007-08-10 2011-05-24 Nitin Afzulpurkar Interpreting sign language gestures

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030214540A1 (en) * 2002-05-14 2003-11-20 Microsoft Corporation Write anywhere tool

Also Published As

Publication number Publication date
WO2010118247A1 (en) 2010-10-14
KR20120013377A (ko) 2012-02-14
MX2011010676A (es) 2012-03-16
EP2417516B1 (en) 2018-12-19
EP2417516A1 (en) 2012-02-15
US20100262905A1 (en) 2010-10-14
JP2012523633A (ja) 2012-10-04
CN102460362A (zh) 2012-05-16
US8819597B2 (en) 2014-08-26
CN102460362B (zh) 2015-03-11

Similar Documents

Publication Publication Date Title
KR101711110B1 (ko) 컴퓨팅 디바이스 상의 글리프 엔트리
US11009958B2 (en) Method and apparatus for providing sight independent activity reports responsive to a touch gesture
US9805241B2 (en) Gesture recognition on computing device correlating input to a template
US11423209B2 (en) Device, method, and graphical user interface for classifying and populating fields of electronic forms
CN108701138B (zh) 确定与文本相关联的图形元素
US8060841B2 (en) Method and device for touchless media searching
US9703462B2 (en) Display-independent recognition of graphical user interface control
US8914743B2 (en) Device, method, and graphical user interface for navigating a list of identifiers
JP6062548B2 (ja) 文字を入力するためのデバイス、方法、及びグラフィカルユーザインターフェース
KR101668398B1 (ko) 터치 스크린과의 사용자 상호작용을 입력 커맨드로 번역
US8862576B2 (en) Device, method, and graphical user interface for mapping directions between search results
KR20130116295A (ko) 이동 장치의 키보드 애플리케이션과 같은 키보드 애플리케이션에 명령하기 위한 제스처들의 사용
US20110047514A1 (en) Recording display-independent computerized guidance
WO2017218244A1 (en) Virtual keyboard with intent-based, dynamically generated task icons
US20110047462A1 (en) Display-independent computerized guidance
US10684822B2 (en) Locating and presenting key regions of a graphical user interface
KR102278213B1 (ko) 휴대 장치 및 휴대 장치의 화면 제어방법

Legal Events

Date Code Title Description
A201 Request for examination
E902 Notification of reason for refusal
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: 20200213

Year of fee payment: 4