KR102143258B1 - 원자적으로 링크된 지속되는 엔티티를 이용한 자동완성 기법 - Google Patents

원자적으로 링크된 지속되는 엔티티를 이용한 자동완성 기법 Download PDF

Info

Publication number
KR102143258B1
KR102143258B1 KR1020157016328A KR20157016328A KR102143258B1 KR 102143258 B1 KR102143258 B1 KR 102143258B1 KR 1020157016328 A KR1020157016328 A KR 1020157016328A KR 20157016328 A KR20157016328 A KR 20157016328A KR 102143258 B1 KR102143258 B1 KR 102143258B1
Authority
KR
South Korea
Prior art keywords
entity
linked
user interface
receiving
computing device
Prior art date
Application number
KR1020157016328A
Other languages
English (en)
Other versions
KR20150100679A (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 KR20150100679A publication Critical patent/KR20150100679A/ko
Application granted granted Critical
Publication of KR102143258B1 publication Critical patent/KR102143258B1/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]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/20Natural language analysis
    • G06F40/274Converting codes to words; Guess-ahead of partial word inputs

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)
  • Machine Translation (AREA)
  • Document Processing Apparatus (AREA)
  • Input From Keyboards Or The Like (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Facsimiles In General (AREA)
  • Telephone Function (AREA)

Abstract

본 발명은 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티들을 지속시키는 것에 관한 것이다. 컴퓨팅 디바이스는 사용자 인터페이스 내의 입력을 수신하도록 활용될 수 있다. 그 다음 컴퓨팅 디바이스는 사용자 인터페이스 내의 입력을 수신한 것에 응답하여 자동완성 제안 리스트를 디스플레이할 수 있다. 그 다음 엔티티의 선택이 자동완성 제안 리스트로부터 수신될 수 있다. 그 다음 선택된 엔티티가 동작을 정의하는 프로그램 코드에 원자적으로 링크될 수 있다. 그 다음 원자적으로 링크된 엔티티가 사용자 인터페이스 내에 삽입될 수 있다. 그 다음 원자적으로 링크된 엔티티가 사용자 인터페이스 내에서 수신된 입력 사이에서 지속될 수 있다. 입력은 수정가능하며 원자적으로 링크된 엔티티는 사용자 인터페이스 내에서 수정 불가능하다.

Description

원자적으로 링크된 지속되는 엔티티를 이용한 자동완성 기법{AUTO-COMPLETE WITH PERSISTED ATOMICALLY LINKED ENTITIES}
다수의 모바일 및 데스크톱 컴퓨터 소프트웨어 애플리케이션은 사용자가 한 문자씩 타이핑할 때 리스트로부터 엔티티를 제안하는 자동완성 메커니즘을 제공한다. 예를 들어, 다수의 소셜 네트워킹 애플리케이션은 다른 사용자에게 메시지를 포스팅하는 것을 용이하게 하도록 자동완성 메커니즘을 활용한다. 특히, 선택된 엔티티(예로서, "John Smith")가 포스팅될 때 소셜 네트워킹 애플리케이션이 그 사용자에게 직접 메시지를 전달하도록, 제안된 엔티티들의 리스트 내의 각 엔티티(즉, 이름)는 특별한 프로그램상 의미를 가진다. 그러나 전술된 자동완성 메커니즘은 다수의 단점으로 문제를 겪는다. 예를 들어, 자동완성 메커니즘에 의해 제안되는 각 엔티티가 원자적(atomic)이기 때문에(즉, 엔티티의 텍스트가 어떠한 방식으로든 분리되거나 수정되면 더 이상 유효한 의미를 갖지 않을 것이다), 하나 이상의 문자의 삭제와 같은 엔티티에 대한 어떠한 편집도 특별한 프로그램상 의미가 깨지는 결과를 낳을 것이고, 따라서 그 엔티티로 메시지를 포스팅할 때 아무 일도 일어나지 않을 것이다. 이러한 문제에 대한 이전의 해결책은 그 엔티티가 "특별한" 것이라는 시각적 표시를 제공하는 것(예를 들어, 엔티티를 괄호 안에 넣거나, 배경 쉐딩을 사용하거나, 엔티티를 상이한 색상으로 디스플레이하는 등)과 사용자가 특별한 프로그램상 의미를 깰 수 있는 어떠한 변경 또는 수정도 하지 않기를 바라는 것을 포함한다. 그러나, 전술된 해결책은 단지 미학적인 것이며 실질적으로 사용자가 엔티티를 수정하는 것을 방지하지는 않는다. 다른 해결책은 사용자가 타이핑을 시작하거나 엔티티를 삽입한 후에 메시지의 텍스트에 대한 어떠한 변경도 허용하지 않는 것을 포함한다. 그러나, 전술된 해결책 또한 메시지 내의 (엔티티와 연관되지 않은 텍스트를 포함하는) 임의의 텍스트를 수정하는 것이 필요해졌을 때 사용자가 전체 메시지를 지우거나 처음부터 다시 시작하게 하는 원치 않는 결과를 가지며, 그에 따라 사용자로부터 타이핑 동안에 자신의 메시지를 편집하는 능력을 뺏게 된다. 이러한 고려사항들 및 다른 고려사항들과 관련하여 본 발명의 다양한 실시예가 만들어졌다.
본 요약부는 아래의 상세한 설명에서 추가로 기술되는 개념들의 선택을 단순화된 형태로 도입하도록 제공된다. 본 요약부가 청구된 주제사항의 중요한 특성 또는 필수 특성을 식별하고자 하는 것은 아니며, 청구된 주제사항의 범주의 결정을 돕고자 하는 것 역시 아니다.
자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티들을 지속(persist)시키기 위한 실시예들이 제공된다. 컴퓨팅 디바이스는 사용자 인터페이스에서 입력을 수신하도록 활용될 수 있다. 그 다음 컴퓨팅 디바이스는 사용자 인터페이스에서 입력을 수신한 것에 응답하여 자동완성 제안 리스트를 디스플레이할 수 있다. 그 다음 엔티티의 선택이 자동완성 제안 리스트로부터 수신될 수 있다. 그 다음 선택된 엔티티가 동작을 정의하는 프로그램 코드에 원자적으로 링크될 수 있다. 그 다음 원자적으로 링크된 엔티티가 사용자 인터페이스 내에 삽입될 수 있다. 그 다음 원자적으로 링크된 엔티티가 사용자 인터페이스 내에서 수신된 입력 사이에서 지속될 수 있다. 입력은 수정가능하며 원자적으로 링크된 엔티티는 사용자 인터페이스 내에서 수정 불가능하다.
이러한 특성 및 장점과 다른 특성 및 장점이 아래의 상세한 설명을 읽고 연관된 도면을 검토함으로써 명백해질 것이다. 전술된 전반적인 설명 및 아래의 상세한 설명은 모두 단지 예시적인 것이며 본 발명이 이에 따라 청구되는 것으로 제한하는 것은 아님이 이해되어야 한다.
도 1은 본 발명의 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이를 도시한 도면;
도 2는 본 발명의 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이를 도시한 도면;
도 3은 본 발명의 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이를 도시한 도면;
도 4는 본 발명의 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이를 도시한 도면;
도 5는 본 발명의 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이를 도시한 도면;
도 6은 본 발명의 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이를 도시한 도면;
도 7은 본 발명의 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 루틴을 도시한 순서도;
도 8은 본 발명의 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 루틴을 도시한 순서도;
도 9는 다양한 실시예들이 실시될 수 있는 컴퓨팅 디바이스의 단순화된 블록도;
도 10a는 다양한 실시예들이 실시될 수 있는 모바일 컴퓨팅 디바이스의 단순화된 블록도; 및
도 10b는 다양한 실시예들이 실시될 수 있는 모바일 컴퓨팅 디바이스의 단순화된 블록도이다.
자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티들을 지속시키기 위한 실시예들이 제공된다. 컴퓨팅 디바이스는 사용자 인터페이스에서 입력을 수신하도록 활용될 수 있다. 그 다음 컴퓨팅 디바이스는 사용자 인터페이스에서 입력을 수신한 것에 응답하여 자동완성 제안 리스트를 디스플레이할 수 있다. 그 다음 엔티티의 선택이 자동완성 제안 리스트로부터 수신될 수 있다. 그 다음 선택된 엔티티가 동작을 정의하는 프로그램 코드에 원자적으로 링크될 수 있다. 그 다음 원자적으로 링크된 엔티티가 사용자 인터페이스 내에 삽입될 수 있다. 그 다음 원자적으로 링크된 엔티티가 사용자 인터페이스 내에서 수신된 입력 사이에서 지속될 수 있다. 입력은 수정가능하며 원자적으로 링크된 엔티티는 사용자 인터페이스 내에서 수정 불가능하다.
도 1은 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크되는 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이(10)이다. 본 명세서에서 더욱 자세하게 논의되는 바와 같이, 컴퓨팅 디바이스는 범용 데스크톱, 랩탑, 핸드헬드, 태블릿 또는 하나 이상의 애플리케이션 프로그램을 실행할 수 있는 다른 타입의 컴퓨터를 포함할 수 있다. 사용자 인터페이스는 키보드(60)를 통해 사용자로부터의 입력(20)을 수신하는 입력 영역(예를 들어, 텍스트 박스)을 포함할 수 있다. 키보드(60)는 텍스트 또는 그래픽 문자(예로서, 이모티콘 등)를 입력 영역에 기입하기 위한 터치스크린 또는 물리적 키보드를 포함할 수 있다. 다양한 실시예들에 따르면, 입력(20)은 음성, 제스처 또는 데이터를 입력하기 위해 당업자에게 알려진 다른 수단을 통해서도 수신될 수 있음이 이해되어야만 한다. 실시예에 따르면, 입력 영역은 소셜 네트워킹 사이트에 한 명 이상의 사용자에게 (포스트 커맨드(70)를 통해) 포스팅하기 위한 메시지를 구성하도록 활용될 수 있다. 실시예에 따르면, 입력 영역은 호출 문자(30)를 추가로 포함할 수 있으며, 실시예에 따르면, 이러한 호출 문자(30)는 자동완성 제안 리스트(50)를 호출하도록 활용될 수 있는 사전결정된 특별한 문자(예로서, "@" 심볼)를 포함할 수 있다. 다양한 실시예에 따르면, 호출 문자(30)는 자동완성 제안 리스트(50)를 호출하기 위한 임의의 수의 사전결정된 특별한 문자를 포함할 수 있음이 이해되어야만 한다. 다른 실시예에 따르면, 사전결정된 특별한 문자가 요구되지 않을 수 있으며 자동완성 제안 리스트(50)는 엔티티 이름의 하나 이상의 초반 문자(예를 들어, 사용자의 소셜 네트워킹 계정 이름의 처음 몇 글자)를 타이핑함으로써 호출될 수 있음이 추가로 이해되어야만 한다. 사용자가 자동완성 제안 리스트(50)로부터 엔티티를 선택한 것에 이어 추가적인 입력을 기입하는 것을 가능하게 하도록 커서(40)도 제공된다.
본 명세서에서 더욱 자세하게 기술되는 바와 같이, 입력 영역에 특별한 또는 "원자적" 엔티티로서 삽입하기 위한 엔티티(예를 들어, 사용자의 이름 또는 용어)를 선택하도록 자동완성 제안 리스트(50)가 활용될 수 있다. 본 명세서에서 정의되는 원자적 엔티티(atomic entity)는 특별한 의미를 갖는 특별한 코드(예로서, 프로그램 코드)에 링크된 엔티티이다. 한번 원자적 엔티티가 입력 영역에 삽입되면, 사용자가 계속해서 메시지를 타이핑하는 동안에도 링크가 지속된다. 한번 엔티티가 원자적으로 링크되면, 사용자는 오로지 전체 용어를 사용하거나 또는 전체 용어를 삭제하기만 할 수 있다. 그러나, 사용자가 원자적 엔티티의 임의의 부분을 수정하는 것은 방지된다. 실시예에 따르면, 자동완성 제안 리스트(50)는 유한한 엔티티들(예로서, 사용자 이름)의 데이터베이스로부터 채워질 수 있으며, 각각의 엔티티는 메시지 내에서부터 직접 엔티티에 대한 정보에 접근하기 위해 활용될 수 있는 데이터(예를 들어, 계정 데이터)에 링크된다. 예를 들어, 소셜 네트워킹 포스트 내의 사용자에 링크된 원자적 엔티티의 선택은 해당 사용자의 소셜 네트워크 프로파일 정보의 디스플레이를 발생시킬 수 있다. 다른 예시로서, 원자적 엔티티는, 메시지 내에서 선택되었을 때 사용자를 패키지 추적 정보로 안내할 수 있는 추적 번호에 링크될 수 있다. 원자적 엔티티가 다른 타입의 데이터에도 링크될 수 있음이 당업자에 의해 이해되어야만 한다. 본 명세서에 기술된 메시지 포스트가 포스트의 일부로서의 내용을 갖는 텍스트 포스트인 "리치(rich)" 포스트를 포함할 수 있음이 이해되어야만 한다. 리치 포스트의 예시는 포스트 내에 포함된 텍스트와 관련된 다른 내용에 링크된 태그 또는 해시 태그를 포함할 수 있지만, 이것으로 제한되지 않는다.
실시예에 따르면, 컴퓨팅 디바이스 스크린 디스플레이(10) 상의 사용자 인터페이스는 인트라넷 포털, 문서 및 파일 관리, 콜라보레이션, 소셜 네트워크, 익스트라넷, 웹사이트, 기업 검색 및 비즈니스 인텔리전스를 제공하기 위한 통합된 웹 애플리케이션 플랫폼에 의해 생성될 수 있다. 예시적인 통합 웹 애플리케이션 플랫폼은 워싱턴주 레드몬드에 소재한 MICROSOFT CORPORATION사에 의해 개발된 SHAREPOINT 웹 애플리케이션 플랫폼이다. 그러나, 다른 제조자로부터의 다른 웹 애플리케이션 플랫폼 또한 본 명세서에 기술된 실시예의 사상 및 범주로부터 벗어나지 않고 활용될 수 있다.
도 2는 다른 실시예에 따라 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이(10)이다. 도 2의 사용자 인터페이스에서, 입력 영역은 호출 문자(30)에 이어 (키보드(60)로부터) 입력(20)에 추가되는 추가적인 텍스트 입력을 나타낸다. 추가적인 텍스트가 기입될 때(즉, 문자 하나씩), 자동완성 제안 리스트(50)는 추가적인 텍스트 입력 내에서 일치하는 문자에 기초하여 엔티티들을 자동으로 필터링한다. 따라서, 엔티티들의 알파벳 순서 리스팅은 (도 1에 도시된 바와 같이) 문자 "A"로 시작하는 엔티티들로부터 문자 "Jo"로 시작하는 엔티티(예를 들어, "John Smith")들로 필터링된다.
도 3은 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이(10)이다. 도 3의 사용자 인터페이스에서, 입력 영역은 (예를 들어, 터치 또는 키보드(50)로부터의 입력을 통해) 도 2에 도시된 자동완성 제안 리스트로부터 선택된 입력(20) 내의 엔티티(80)(즉, "John Smith")의 삽입을 나타낸다. 자동완성 제안 리스트는 엔티티(80)(또는 본 명세서에서 "원자적 엔티티(80)"로도 지칭됨)의 삽입에 따라 더 이상 보이지 않음이 이해되어야만 한다. 특히, 실시예에 따르면, 자동완성 제안 리스트는 자동완성 제안 리스트로부터의 엔티티 삽입에 따라 자동으로 숨겨질 수 있다. 입력(20)이 사용자 인터페이스에 기입되고 있는 동안 엔티티가 자동완성 제안 리스트로부터 선택되지 않는 경우도 존재할 수 있음이 이해되어야만 한다. 이러한 경우에서, 자동완성 제안 리스트는 사용자가 기입한 최종 문자(예를 들어, 마침표, 물음표, 감탄사 등)에 응답하여 숨겨질 수도 있다. 입력(20) 사이에 엔티티(80)를 삽입함에 따라, 엔티티(80)가 특별한 코드에 링크되며 입력(20) 내의 엔티티의 길이 및 시작 위치가 유지된다는 것이 추가로 이해되어야만 한다. 도 1과 관련하여 위에서 논의된 바와 같이, 입력(20) 사이에 삽입함에 따라 엔티티(80)가 원자적으로 링크된다(즉, 엔티티는 오로지 전체로서 사용되거나 삭제될 수 있으며 부분적으로 수정될 수 없다).
도 4는 다른 실시예에 따라, 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이(10)이다. 도 4의 사용자 인터페이스에서, 입력 영역은 입력(20) 내의 원자적 엔티티(80)(즉, "John Smith")의 선택을 나타낸다. 실시예에 따르면, 원자적 엔티티(80)를 포함하는 텍스트 내의 어느 곳의 선택을 수신한 것에 응답하여 (예를 들어, 터치 또는 키보드(60)로부터의 입력을 통해) 전체 원자적 엔티티(80)가 하이라이트될 수 있거나 또는 다른 방식으로 강조될 수 있다(예를 들어, 볼드체, 밑줄 등). 전체 원자적 엔티티(80)의 하이라이팅은 사용자가 추가적인 텍스트를 추가하거나 원자적 엔티티(80)로부터 특별한 문자를 제거하는 것이 금지된다는 것을 시각적으로 전달하도록 활용될 수 있다.
도 5는 다른 실시예에 따라 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이(10)이다. 도 5의 사용자 인터페이스에서, 입력 영역은 사용자 편집 동작에 응답하여 입력(20)으로부터 (도 4에서 나타낸) 원자적 엔티티(80)를 삭제한 것을 나타낸다. 특히, 원자적 엔티티(80)가 선택된 후에 사용자가 키보드(60)를 통해서 백스페이스를 누르거나 새로운 문자를 입력하고자 시도하였을 때 원자적 엔티티(80)가 삭제될 수 있다. 따라서, 원자적 엔티티(80)가 (결국 임의의 연관된 링크를 깰 수 있는) 엔티티의 부분 수정을 금지함으로써 시행된다는 것이 이해되어야만 한다. 원자적 엔티티(80)가 삭제되면, 자동완성 제안 리스트(80)가 자동으로 호출되어 사용자가 입력(20)에 삽입하기 위한 다른 엔티티를 선택할 수 있다는 것이 이해되어야만 한다.
도 6은 다른 실시예에 따라 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 사용자 인터페이스의 컴퓨팅 디바이스 스크린 디스플레이(10)이다. 도 6의 사용자 인터페이스에서, 입력 영역은 사용자에 의해 선택된 것으로 나타내어진 (예를 들어, 하이라이트된) 원자적 엔티티(85)가 입력(20) 사이에 삽입된 복수의 원자적 엔티티들(즉, 원자적 엔티티(80, 85))을 나타낸다. 실시예에 따르면, 복수의 고유한 엔티티에 대한 링크가 특별한(예를 들어, 프로그램) 코드로 적절하게 독립적으로 지속될 수 있으며 그들의 원자적 성질이 개별적으로 유지되어 사용자가 임의의 수의 디스플레이된 원자적 엔티티를 수정하는 것이 금지된다.
도 7은 실시예에 따라 자동완성 메커니즘을 활용할 때 원자적으로 링크되는 엔티티를 지속시키기 위한 루틴(700)을 도시한 루틴을 나타내는 순서도이다. 본 명세서에 제시된 루틴에 대한 설명을 읽을 때, 본 발명의 다양한 실시예의 논리적 동작들이 (1) 컴퓨터 디바이스 또는 시스템 상에서 구동하는 컴퓨터 구현 행동들의 시퀀스 또는 프로그램 모듈로서, 및/또는 (2) 컴퓨팅 디바이스 또는 시스템 내의 상호접속된 기계 논리 회로 또는 회로 모듈로서 구현된다는 것이 이해되어야만 한다. 구현은 본 발명을 구현하는 컴퓨팅 디바이스 또는 시스템의 성능 요구사항에 의존한 선택의 문제이다. 따라서, 도 7-8에 도시되고 본 명세서에 기술된 다양한 실시예를 구성하는 논리적 동작들은 동작, 구조적 디바이스, 행동 또는 모듈로서 다양하게 지칭된다. 당업자는 이러한 동작, 구조적 디바이스, 행동 및 모듈이 본 명세서에 개진된 청구항들 내에서 인용되는 본 발명의 사상 및 범주로부터 벗어나지 않고 소프트웨어, 펌웨어, 전용 디지털 논리 및 이들의 임의의 조합으로 구현될 수 있음을 인식할 것이다.
루틴(700)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 사용자 인터페이스에서 입력을 수신하는 동작(705)에서 시작한다. 예를 들어, 메시징 애플리케이션은 소셜 네트워킹 웹사이트 상에서 다른 사용자에게 메시지를 포스팅하기 위해 텍스트 또는 그래픽(예로서, 이모티콘 등)을 수신할 수 있다.
동작(705)으로부터, 루틴(700)은 사용자 인터페이스에서 입력을 수신한 것에 응답하여 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 선택가능한 엔티티들의 자동완성 제안 리스트를 디스플레이할 수 있는 동작(710)으로 계속된다. 실시예에 따르면, 사용자 인터페이스 내의 수신된 텍스트 사이에 사전결정된 문자(예로서, "@" 심볼)를 수신한 것에 응답하여 자동완성 제안 리스트가 자동으로 디스플레이될 수 있다. 다른 실시예에 따르면, 사용자 인터페이스 내에서 엔티티(예를 들어, 사용자 이름)의 처음 몇 문자가 수신되는 것에 응답하여 자동완성 제안 리스트가 자동으로 디스플레이될 수 있다. 자동완성 제안 리스트가 디스플레이된 후, 알려진 엔티티에 상응하는 추가적인 문자가 사용자 인터페이스 내에 입력될 때 리스트가 애플리케이션에 의해 동적으로 필터링될 수 있음이 이해되어야만 한다.
동작(710)으로부터, 루틴(700)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 자동완성 제안 리스트로부터 엔티티의 선택을 수신할 수 있는 동작(715)으로 계속된다.
동작(715)으로부터, 루틴(700)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 선택된 엔티티를 동작을 정의하는 프로그램 코드에 링크할 수 있는 동작(720)으로 계속된다. 예를 들어, 애플리케이션은 선택된 엔티티에 의해 식별된 사용자에게 메시지를 포스팅하는 것을 개시하는 프로그램 코드에 선택된 엔티티를 링크할 수 있다.
동작(720)으로부터, 루틴(700)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 사용자 인터페이스 내의 링크된 엔티티를 수신된 입력 사이에 삽입할 수 있는 동작(725)으로 계속된다. 전술된 바와 같이, 삽입되는 링크된 엔티티가 원자적임이 이해되어야만 한다. 즉, 원자적 엔티티는 오로지 전체로서 사용되거나 또는 전체로서 삭제될 수 있다. 따라서, 사용자가 원자적 엔티티의 임의의 부분을 수정하는 것이 방지된다.
동작(725)으로부터, 루틴(700)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 사용자 인터페이스 내에서 수신된 입력 사이에서 링크된 엔티티를 지속시킬 수 있는 동작(730)으로 계속된다. 전술된 바와 같이, 원자적 엔티티 밖의 입력의 어떠한 부분도 수정될 수 있지만, 원자적 엔티티 자체는 사용자 인터페이스 내에서 수정 불가능하다. 그 다음 동작(730)으로부터, 루틴(700)이 종료된다.
실시예에 따르면, (전술된) 동작(700-730)이 복수의 원자적 엔티티에도 적용될 수 있음이 이해되어야만 한다. 특히, 제 1 엔티티가 자동완성 제안 리스트로부터 선택된 후에, 사용자 인터페이스 내에서 수신되는 후속하는 입력에 응답하여 하나 이상의 다른 엔티티도 선택될 수 있다. 하나 이상의 상이한 엔티티는 (예를 들어 메시지 포스팅을 개시하기 위한) 동작을 정의하는 프로그램 코드에 추가로 링크될 수 있으며 사용자 인터페이스 내에 원자적 엔티티로서 삽입될 수 있다. 마지막으로, 임의의 주변 입력(예로서, 텍스트)이 사용자에 의해 수정될 수 있는 반면 각 원자적 엔티티가 수정 불가능하도록 각각의 서로 다른 원자적 엔티티가 독립적으로 지속될 수 있다.
도 8은 다른 실시예에 따라 자동완성 메커니즘을 활용할 때 원자적으로 링크되는 엔티티를 지속시키기 위한 루틴(800)을 도시한 루틴을 나타내는 순서도이다. 루틴(800)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 링크된 엔티티에 대한 편집 동작을 수신하는 동작(805)에서 시작된다. 편집 동작은 백스페이스를 누르거나 원자적 엔티티 내에 새로운 문자를 기입하고자 시도하는 것을 포함할 수 있다. 실시예에 따르면, 애플리케이션은 편집 동작이 원자적 엔티티를 향한 것인지 또는 그렇지 않은지 여부를 결정하기 위해 편집 동작을 수신함에 따라 문자 위치를 동적으로 계산하도록 구성될 수 있다. 애플리케이션은 엔티티 위에서 커서의 움직임을 검출함에 따라 원자적 엔티티를 하이라이팅하도록 추가로 구성될 수 있다.
동작(805)으로부터, 루틴(800)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 편집 동작을 수신한 것에 응답하여 링크된 엔티티를 삭제할 수 있는 동작(810)으로 계속된다. 특히, 도 5와 관련하여 논의된 바와 같이, 애플리케이션은 (결국 임의의 연관된 링크를 깰 수 있는) 엔티티의 부분 수정을 금지함으로써 원자적 엔티티를 시행할 수 있다.
동작(810)으로부터, 루틴(800)은 컴퓨팅 디바이스 상에서 실행하는 애플리케이션이 동작(810)에서의 원자적 엔티티의 삭제에 응답하여 자동완성 제안 리스트를 다시 디스플레이할 수 있는 동작(815)으로 계속된다. 그 다음 동작(815)으로부터, 루틴(800)이 종료된다.
도 9는 다양한 실시예들이 실시될 수 있는 컴퓨팅 디바이스(900)의 예시적인 물리적 구성요소를 도시한 블록도이다. 기본 구성에서, 컴퓨팅 디바이스(900)는 적어도 하나의 프로세싱 장치(902) 및 시스템 메모리(904)를 포함할 수 있다. 컴퓨팅 디바이스의 구성 및 타입에 의존하여, 시스템 메모리(904)는 휘발성(예로서, 랜덤 액세스 메모리(RAM)), 비휘발성(예로서, 판독 전용 메모리(ROM)), 플래시 메모리, 또는 이들의 임의의 조합을 포함할 수 있다. 시스템 메모리(904)는 운영 시스템(905), 애플리케이션(907) 및 데이터베이스(920)를 포함할 수 있다. 운영 시스템(905)은 예를 들어 컴퓨팅 디바이스(900)의 동작을 제어하기에 적합할 수 있으며, 실시예에 따라서, 캘리포니아주 쿠퍼티노에 소재한 APPLE INC.로부터의 iOS 및 OS 운영 시스템, 워싱턴주 레드몬드에 소재한 MICROSOFT CORPORATION사로부터의 WINDOWS 운영 시스템, 캘리포니아주 마운틴뷰에 소재한 GOOGLE INC.로부터의 ANDROID 운영 시스템을 포함할 수 있다. 본 명세서에 기술된 실시예가 다른 운영 시스템과 함께 실시될 수도 있으며 애플리케이션 프로그램 등이 임의의 특정한 애플리케이션 또는 시스템으로 제한되지 않는다는 것이 이해되어야만 한다. 애플리케이션(907)은 자동완성 메커니즘을 이용할 때 자동으로 링크되는 엔티티를 지속하도록 활용될 수 있다. 실시예에 따르면, 애플리케이션(907)은 인트라넷 포털, 문서 및 파일 관리, 콜라보레이션, 소셜 네트워크, 익스트라넷, 웹사이트, 기업 검색 및 비즈니스 인텔리전스를 제공하기 위한 통합된 웹 애플리케이션 플랫폼을 포함할 수 있다. 예시적인 통합 웹 애플리케이션 플랫폼은 워싱턴주 레드몬드에 소재한 MICROSOFT CORPORATION사에 의해 개발된 SHAREPOINT 웹 애플리케이션 플랫폼이다. 그러나, 다른 제조자로부터의 다른 웹 애플리케이션 플랫폼 또한 본 명세서에 기술된 실시예의 사상 및 범주로부터 벗어나지 않고 활용될 수 있다. 데이터베이스(920)는 메시지 내로부터 직접 엔티티에 대한 정보에 접근하도록 활용될 수 있는 데이터(예를 들어, 계정 데이터)에 각각이 링크된 유한 엔티티(예를 들어, 사용자 이름)를 저장하도록 활용될 수 있다.
컴퓨팅 디바이스(900)는 추가적인 특성 또는 기능을 가질 수 있다. 예를 들어, 컴퓨팅 디바이스(900)는 또한 예를 들어 자기 디스크, 광학 디스크, 고체 상태 저장 디바이스("SSD"), 플래시 메모리 또는 테이프와 같은 (제거가능한 및/또는 제거 불가능한) 추가적인 데이터 저장 디바이스를 포함할 수 있다. 이러한 추가적인 저장은 도 9에서 제거가능한 스토리지(909) 및 제거 불가능한 스토리지(910)에 의해 도시된다.
일반적으로, 다양한 실시예에서 일관적으로, 프로그램 모듈이 특정한 태스크를 수행할 수 있거나 특정한 추출 데이터 타입을 구현할 수 있는 루틴, 프로그램, 구성요소, 데이터 구조 및 다른 타입의 구조를 포함하는 프로그램 모듈이 제공될 수 있다. 또한, 다양한 실시예는 핸드헬드 디바이스, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 소비자 전자기기, 미니컴퓨터, 메인프레임 컴퓨터 등을 포함하는 다른 컴퓨터 시스템 구성으로 실시될 수 있다. 다양한 실시예들은 또한 태스크들이 통신 네트워크를 통해서 링크된 원격 프로세싱 디바이스에 의해서 수행되는 분산된 컴퓨팅 환경에서 실시될 수 있다. 분산된 컴퓨팅 환경에서, 프로그램 모듈은 로컬 및 원격 메모리 저장 디바이스 모두에 위치될 수 있다.
또한, 다양한 실시예는 이산 전자 요소를 포함하는 전기 회로, 논리 게이트를 포함하는 패키징 또는 통합된 전자 칩, 마이크로프로세서를 활용하는 회로, 또는 전자 요소 또는 마이크로프로세서를 포함하는 단일 칩 상에서 실시될 수 있다. 예를 들어, 다양한 실시예는 도 9에 도시된 각각의 또는 다수의 구성요소가 단일 집적 회로 상에 통합될 수 있는 시스템-온-칩("SOC")을 통해서 실시될 수 있다. 이러한 SOC 디바이스는 하나 이상의 프로세싱 장치, 그래픽 장치, 통신 장치, 시스템 가상화 장치 및 다양한 애플리케이션 기능을 포함할 수 있으며, 이들은 단일 집적 회로로서 칩 기판 상에 집적된다(또는 "묻힌다"). SOC를 통해 동작할 때, 본 명세서에 기술된 기능은 단일 집적 회로(칩) 상의 컴퓨팅 디바이스/시스템(900)의 다른 구성요소와 통합된 애플리케이션-특정 로직을 통해 동작할 수 있다. 실시예들은 또한 예를 들어 AND, OR 및 NOT과 같은 논리적 동작을 수행할 수 있는 다른 기술을 이용하여 실시될 수 있으며, 이는 기계, 광학, 유체공학적 및 양자 기술을 포함하지만 이것으로 제한되지는 않는다. 또한, 실시예들은 범용 컴퓨터 또는 임의의 다른 회로 또는 시스템 내에서 실시될 수 있다.
예를 들어 다양한 실시예는 컴퓨터 프로세스(방법), 컴퓨팅 시스템, 또는 컴퓨터 프로그램 제품 또는 컴퓨터 판독가능한 매체와 같은 제조 물품으로서 구현될 수 있다. 컴퓨터 프로그램 제품은 컴퓨터 시스템에 의해 판독가능하고 컴퓨터 프로세스를 실행하기 위한 명령의 컴퓨터 프로그램을 인코딩하는 컴퓨터 저장 매체일 수 있다.
본 명세서에서 사용되는 컴퓨터 판독가능한 매체는 컴퓨터 저장 매체를 포함할 수 있다. 컴퓨터 저장 매체는 컴퓨터 판독가능한 명령, 데이터 구조, 프로그램 모듈 또는 다른 데이터와 같은 정보의 저장을 위한 임의의 방법 또는 기술로 구현되는 휘발성 및 비휘발성, 제거가능 및 제거 불가능 매체를 포함할 수 있다. 시스템 메모리(904), 제거가능한 스토리지(909) 및 제거 불가능한 스토리지(910)는 모두 컴퓨터 저장 매체 예시이다(즉, 메모리 스토리지). 컴퓨터 저장 매체는 RAM, ROM, 전기적으로 삭제가능한 판독 전용 메모리(EEPROM), 플래시 메모리 또는 다른 메모리 기술, CD-ROM, DVD 또는 다른 광학 스토리지, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 다른 자기 저장 디바이스, 또는 정보를 저장하는 데에 사용될 수 있고 컴퓨터 디바이스(900)에 의해 액세스될 수 있는 임의의 다른 매체를 포함할 수 있지만, 이것으로 제한되지 않는다. 임의의 이러한 컴퓨터 저장 매체는 컴퓨팅 디바이스(900)의 일부일 수 있다.
컴퓨팅 디바이스(900)는 또한 키보드, 마우스, 펜, 음성 입력을 수신하기 위한 사운드 입력 디바이스(예를 들어, 마이크로폰), 제스처를 수신하기 위한 터치 입력 디바이스 등과 같은 이력 디바이스(들)(912)도 구비할 수 있다. 디스플레이, 스피커, 프린터 등과 같은 출력 디바이스(들)(914)도 포함될 수 있다. 전술된 디바이스는 예시이며 다른 디바이스들이 사용될 수 있다.
본 명세서에서 사용되는 컴퓨터 판독가능한 매체는 통신 매체도 포함할 수 있다. 통신 매체는 컴퓨터 판독가능한 명령, 데이터 구조, 프로그램 모듈, 또는 반송파 또는 다른 수송 메커니즘과 같은 변조된 데이터 신호 내의 다른 데이터에 의해 구현될 수 있으며, 임의의 정보 전달 매체를 포함한다. "변조된 데이터 신호"라는 용어는 신호 내의 정보를 인코딩하는 것과 같은 방식으로 설정 또는 변경된 하나 이상의 특징을 갖는 신호를 기술할 수 있다. 예시로서, 통신 매체는 유선 네트워크 또는 다이렉트-와이어드 접속과 같은 유선 매체 및 음향, 무선 주파수(RF), 적외선 및 다른 무선 매체와 같은 무선 매체를 포함할 수 있지만, 이것으로 제한되지 않는다.
도 10a 및 10b는 예를 들어 다양한 실시예가 실시될 수 있는 스마트폰, 태블릿 개인 컴퓨터, 랩탑 컴퓨터 등을 포함할 수 있지만 이것으로 제한되지는 않는 모바일 컴퓨팅 디바이스(1050)와 같은 적절한 모바일 컴퓨팅 환경을 도시한다. 도 10a를 참조하면, 실시예를 구현하기 위한 예시적인 모바일 컴퓨팅 디바이스(1050)가 도시되었다. 기본 구성에서, 모바일 컴퓨팅 디바이스(1050)는 입력 요소 및 출력 요소 모두를 구비하는 핸드헬드 컴퓨터이다. 입력 요소는 사용자가 모바일 컴퓨팅 디바이스(1050)에 정보를 입력하는 것을 가능하게 하는 터치 스크린 디스플레이(1025) 및 입력 버튼(1010)을 포함할 수 있다. 모바일 컴퓨팅 디바이스(1050)는 또한 추가적인 사용자 입력을 가능하게 하는 선택적인 측면 입력 요소(1020)를 포함할 수 있다. 선택적 측면 입력 요소(1020)는 회전식 스위치, 버튼, 또는 임의의 다른 타입의 수동 입력 요소일 수 있다. 다른 실시예에서, 모바일 컴퓨팅 디바이스(1050)는 더 많거나 적은 입력 요소를 포함할 수 있다. 예를 들어, 디스플레이(1025)는 일부 실시예에서 터치 스크린이 아닐 수 있다. 또 다른 실시예에서, 모바일 컴퓨팅 디바이스는 디스플레이(1025) 및 입력 버튼(1010)을 구비하는 셀룰러폰과 같은 휴대용 전화 시스템이다. 모바일 컴퓨팅 디바이스(1050)는 또한 선택적 키패드(1005)를 포함할 수 있다. 선택적 키패드(1005)는 물리적 키패드 또는 터치 스크린 디스플레이 상에 생성된 "소프트" 키패드일 수 있다.
모바일 컴퓨팅 디바이스(1050)는 그래픽 사용자 인터페이스(GUI)를 디스플레이할 수 있는 디스플레이(1025)와 같은 출력 요소를 포함한다. 다른 출력 요소는 스피커(1030) 및 LED(1080)를 포함한다. 또한, 모바일 컴퓨팅 디바이스(1050)는 (도시되지 않은) 진동 모듈을 포함할 수 있으며, 이는 모바일 컴퓨팅 디바이스(1050)로 하여금 사용자에게 이벤트를 통지하기 위해 진동하게 한다. 또 다른 실시예에서, 모바일 컴퓨팅 디바이스(1050)는 출력 신호를 제공하는 다른 수단을 제공하는 (도시되지 않은) 헤드폰 잭을 포함할 수 있다.
본 명세서에서는 모바일 컴퓨팅 디바이스(1050)와 함께 기술되었지만, 다른 실시예에서는 데스크톱 환경, 랩탑 또는 노트북 컴퓨터 시스템, 멀티프로세서 시스템, 마이크로프로세서 기반 또는 프로그램가능한 소비자 전자기기, 네트워크 PC, 미니 컴퓨터, 메인프레임 컴퓨터 등과 같은 임의의 수의 컴퓨터 시스템과 조합하여 사용될 수 있다. 다양한 실시예가 분산 컴퓨팅 환경에서 통신 네트워크를 통해 링크된 원격 프로세싱 디바이스에 의해 태스크가 수행되는 분산 컴퓨팅 환경에서도 실시될 수 있지만, 프로그램은 로컬 및 원격 메모리 저장 디바이스 모두에 위치될 수 있다. 요약하면, 복수의 환경 센서, 사용자에게 통지를 제공하기 위한 복수의 출력 요소 및 복수의 통지 이벤트 타입을 구비하는 임의의 컴퓨터 시스템이 본 명세서에 기술된 다양한 실시예들을 포함할 수 있다.
도 10b는 도 10a에 도시된 모바일 컴퓨팅 디바이스(1050)와 같은 일 실시예에서 사용되는 모바일 컴퓨팅 디바이스의 구성요소를 도시한 블록도이다. 즉, 모바일 컴퓨팅 디바이스(1050)는 일부 실시예를 구현하기 위해 시스템(1002)을 포함할 수 있다. 예를 들어, 시스템(1002)은 데스크톱 또는 노트북과 유사한 하나 이상의 애플리케이션을 실행할 수 있는 "스마트폰"을 구현하는 데에 사용될 수 있다. 일부 실시예들에서, 시스템(1002)은 통합 PDA 및 무선 폰과 같은 컴퓨팅 디바이스로서 통합된다.
하나 이상의 애플리케이션(1067) 및 데이터베이스(1095)가 메모리(1062) 상에 로딩될 수 있으며 운영 시스템(1064) 상에서 또는 그와 연관하여 실행할 수 있다. 시스템(1002)은 또한 메모리(1062) 내에 비휘발성 스토리지(1068)를 포함한다. 비휘발성 스토리지(1068)는 시스템(1002)이 파워다운 되었을 때 손실되어서는 안되는 지속 정보를 저장하도록 사용될 수 있다. 하나 이상의 애플리케이션(1067)은 자동완성 메커니즘을 활용할 때 원자적으로 링크되는 엔티티를 지속하도록 활용될 수 있다. 하나 이상의 애플리케이션(1067)은 데이터베이스(1095) 및 비휘발성 스토리지(1068) 내의 정보를 사용하고 그 안에 정보를 저장할 수 있다. 실시예에 따르면, 하나 이상의 애플리케이션(1067)은 인트라넷 포털, 문서 및 파일 관리, 콜라보레이션, 소셜 네트워크, 익스트라넷, 웹사이트, 기업 검색 및 비즈니스 인텔리전스를 제공하기 위한 통합된 웹 애플리케이션 플랫폼을 포함할 수 있다. 예시적인 통합 웹 애플리케이션 플랫폼은 워싱턴주 레드몬드에 소재한 MICROSOFT CORPORATION사에 의해 개발된 SHAREPOINT 웹 애플리케이션 플랫폼이다. 그러나, 다른 제조자로부터의 다른 웹 애플리케이션 플랫폼 또한 본 명세서에 기술된 실시예의 사상 및 범주로부터 벗어나지 않고 활용될 수 있음이 이해되어야만 한다. 데이터베이스(1095)는 메시지 내로부터 직접 엔티티에 대한 정보에 접근하도록 활용될 수 있는 데이터(예로서, 계정 데이터)에 각각이 링크된 유한 엔티티(예를 들어, 사용자 이름)를 저장하도록 활용될 수 있다.
(도시되지 않은) 동기화 애플리케이션 또한 시스템(1002) 상에 존재하며 호스트 컴퓨터에 저장된 상응하는 정보와 동기화된 비휘발성 스토리지(1068) 내에 저장된 정보를 유지하도록 호스트 컴퓨터 상에 존재하는 상응하는 동기화 애플리케이션과 상호작용하도록 프로그램된다. 다른 애플리케이션도 메모리(1062) 내에 로딩될 수 있으며 모바일 컴퓨팅 디바이스(1050) 상에서 실행할 수 있다.
시스템(1002)은 하나 이상의 배터리로서 구현될 수 있는 전원(1070)을 구비한다. 전원(1070)은 배터리를 공급 또는 재충전하는 AC 어댑터 또는 파워드 도킹 크래들과 같은 외부 전원을 더 포함할 수 있다.
시스템(1002)은 또한 무선 주파수 통신을 전송 및 수신하는 기능을 수행하는 라디오(1072)(즉, 라디오 인터페이스 층)도 포함할 수 있다. 라디오(1072)는 통신 캐리어 또는 서비스 제공자를 통해 시스템(1002)과 "외부 세상" 간의 무선 접속을 용이하게 한다. 라디오(1072)로/로부터의 전송은 OS(1064)의 제어 하에 수행된다. 다시 말하면, 라디오(1072)에 의해 수신되는 통신은 OS(1064)를 통해 애플리케이션(1067)으로 전파될 수 있으며, 그 역도 마찬가지이다.
라디오(1072)는 시스템(1002)이 예로서 네트워크 상에서 다른 컴퓨팅 디바이스와 통신하는 것을 가능하게 한다. 라디오(1072)는 통신 매체의 일 예시이다. 시스템(1002)의 실시예는 두 타입: 시각적 통지를 제공하도록 사용될 수 있는 LED(1080) 및 오디오 통지를 제공하도록 스피커(1030)와 함께 사용될 수 있는 오디오 인터페이스(1074)의 통지 출력 디바이스로 나타내어진다. 이러한 디바이스는 전원(1070)에 직접 연결될 수 있으며, 그에 따라 전원이 활성화되었을 때 프로세서(1060) 및 다른 구성요소가 배터리 전력을 보존하기 위해 셧다운할 수 있음에도 통지 메커니즘에 의해 지시되는 기간 동안 남아있을 수 있다. LED(1080)는 사용자가 디바이스의 파워-온 상태를 표시하도록 동작을 취할 때까지 무한정 남아있도록 프로그램될 수 있다. 오디오 인터페이스(1074)는 사용자에게 오디오 신호를 제공하고 사용자로부터 오디오 신호를 수신하도록 사용된다. 예를 들어, 스피커(1030)에 연결되는 것에 추가로, 오디오 인터페이스(107)는 예로서 전화 대화를 용이하게 하도록 오디오 입력을 수신하기 위해 (도시되지 않은) 마이크로폰에도 연결될 수 있다. 실시예에 따르면, 마이크로폰은 또한 통지의 제어를 용이하게 하기 위한 오디오 센서로서의 역할도 할 수 있다. 시스템(1002)은 또한 온-보드 카메라(1040)의 동작이 스틸 이미지, 비디오 스트림 등을 기록하는 것을 인에이블하는 비디오 인터페이스(1076)를 추가로 포함할 수 있다.
시스템(1002)을 구현하는 모바일 컴퓨팅 디바이스는 추가적인 특성 또는 기능을 구비할 수 있다. 예를 들어, 디바이스는 자기 디스크, 광학 디스크, 또는 테이프와 같은 추가적인 데이터 스토리지 디바이스(제거가능 및/또는 제거 불가능)도 포함할 수 있다. 이러한 추가적인 스토리지는 스토리지(1068)에 의해 도 10b에 도시되었다.
모바일 컴퓨팅 디바이스(1050)에 의해 생성 또는 캡처되고 시스템(1002)을 통해 저장되는 데이터/정보는 전술된 바와 같이 모바일 컴퓨팅 디바이스 상에 로컬로 저장될 수 있거나, 또는 데이터는 라디오(1072) 또는 모바일 컴퓨팅 디바이스(1050)와 예를 들어 인터넷과 같은 분산된 컴퓨팅 네트워크 내의 서버 컴퓨터와 같이 모바일 컴퓨팅 디바이스(1050)와 연관된 분리된 컴퓨팅 디바이스 사이의 유선 접속을 통해 디바이스에 의해 액세스될 수 있는 임의의 수의 저장 매체 상에 저장될 수 있다. 이러한 데이터/정보는 라디오(1072) 또는 분산된 컴퓨팅 네트워크를 통해 모바일 컴퓨팅 디바이스(1050)에 의해 접근될 수 있다. 유사하게, 이러한 데이터/정보는 전자메일 및 공동의 데이터/정보 공유 시스템을 포함하는 잘 알려진 데이터/정보 전송 및 저장 수단에 따른 저장 및 사용을 위해 컴퓨팅 디바이스들 사이에서 쉽게 전송될 수 있다.
다양한 실시예는 방법, 시스템 및 컴퓨터 프로그램 제품의 블록도 및/또는 동작상 도면을 참조로 하여 기술되었다. 블록에 기재된 기능/동작은 임의의 흐름도에서 도시된 바와 같은 순서와 다르게 발생할 수 있다. 예를 들어, 연속적으로 도시된 두 블록들이 사실은 실질적으로 동시에 실행될 수 있거나 또는 블록들이 때때로 관련된 기능/동작에 의존하여 역순으로 실행될 수도 있다.
소정의 실시예들이 기술되었지만, 다른 실시예가 존재할 수 있다. 또한, 다양한 실시예가 메모리 및 다른 저장 매체 내에 저장된 데이터와 연관되는 것으로서 기술되었지만, 데이터는 2차 저장 디바이스(즉, 하드 디스크, 플로피 디스크, 또는 CD-ROM), 인터넷으로부터의 반송파, 또는 다른 형태의 RAM 또는 ROM과 같은 다른 타입의 컴퓨터 판독가능한 매체 상에 저장될 수 있거나 또는 그로부터 판독될 수 있다. 또한, 개시된 루틴의 동작들은 본 명세서에 기술된 실시예로부터 벗어나지 않고 동작의 재순서화 및/또는 동작의 삽입을 포함하는 임의의 방식으로 수정될 수 있다.
본 명세서에 기술된 실시예의 범주 또는 사상으로부터 벗어나지 않고 다양한 수정 또는 변경이 이루어질 수 있음이 당업자에게 명백할 것이다. 다른 실시예들이 본 명세서에 기술된 실시예의 실시 및 명세서의 고려로부터 당업자에게 명백해질 것이다.

Claims (20)

  1. 자동완성 메커니즘을 활용할 때 원자적으로 링크되는 엔티티(atomically linked entity)를 지속시키기 위한 컴퓨터 구현 방법으로서,
    컴퓨팅 디바이스에 의해, 사용자 인터페이스에서 제 1 입력을 수신하는 단계와,
    상기 컴퓨팅 디바이스에 의해, 상기 사용자 인터페이스에서 상기 제 1 입력을 수신한 것에 응답하여 제 1 자동완성 제안 리스트(auto-complete suggestion list)를 디스플레이하는 단계 - 상기 입력은 호출 문자(invocation character)를 포함함 - 와,
    상기 컴퓨팅 디바이스에 의해, 상기 제 1 자동완성 제안 리스트로부터의 엔티티의 선택을 수신하는 단계와,
    상기 컴퓨팅 디바이스에 의해, 상기 선택된 엔티티를 동작을 정의하는 프로그램 코드에 링크하는 단계와,
    상기 컴퓨팅 디바이스에 의해, 링크된 엔티티를 상기 사용자 인터페이스 내에 삽입하는 단계 - 상기 링크된 엔티티는 상기 링크된 엔티티를 전부 삭제하는 것에 의한 것을 제외하고는 편집 가능하지 않음 - 와,
    상기 링크된 엔티티 상에서 사용자 활동을 검출하는 단계와,
    상기 링크된 엔티티 상에서 상기 사용자 활동을 검출한 것에 응답하여, 상기 링크된 엔티티를 전부 하이라이팅하는 단계와,
    상기 링크된 엔티티가 하이라이팅되는 동안, 상기 호출 문자와 다른 새로운 문자를 수신하는 단계와,
    상기 새로운 문자를 수신한 것에 응답하여, 상기 호출 문자를 삭제하지 않고 상기 링크된 엔티티를 삭제하는 단계와,
    상기 새로운 문자를 수신한 것에 응답하여 상기 링크된 엔티티를 삭제한 이후, 상기 사용자 인터페이스에서 제 2 자동완성 제안 리스트를 자동으로 디스플레이 하는 단계를 포함하는
    컴퓨터 구현 방법.
  2. 제 1 항에 있어서,
    상기 사용자 인터페이스에서 상기 새로운 문자가 수신되는 것에 응답하여 상기 제 2 자동완성 제안 리스트로부터 적어도 하나의 상이한 엔티티의 선택을 수신하는 단계와,
    상기 선택된 적어도 하나의 상이한 엔티티를 상기 동작을 정의하는 프로그램 코드에 링크하는 단계와,
    상기 링크된 적어도 하나의 상이한 엔티티를 상기 사용자 인터페이스 내에 삽입하는 단계 - 상기 링크된 적어도 하나의 상이한 엔티티는 상기 링크된 적어도 하나의 상이한 엔티티를 전부 삭제하는 것에 의한 것을 제외하고는 편집 가능하지 않음 - 와,
    상기 링크된 적어도 하나의 상이한 엔티티 및 상기 링크된 엔티티를 상기 사용자 인터페이스 내에서 수신된 상기 입력 및 후속 입력 사이에서 독립적으로 지속시키는 단계를 더 포함하되,
    상기 링크된 적어도 하나의 상이한 엔티티는 상기 사용자 인터페이스 내에서 수정 불가능한
    컴퓨터 구현 방법.
  3. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스에 의해 사용자 인터페이스에서 상기 제 1 입력을 수신하는 단계는, 상기 사용자 인터페이스에서 텍스트 문자 및 그래픽 중 하나 이상을 수신하는 단계를 포함하는
    컴퓨터 구현 방법.
  4. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스에 의해 상기 사용자 인터페이스에서 상기 제 1 입력을 수신하는 단계는, 다른 사용자에게 메시지를 포스팅하기 위해 메시징 애플리케이션에서 상기 제 1 입력을 수신하는 단계를 포함하는
    컴퓨터 구현 방법.
  5. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스에 의해 상기 사용자 인터페이스에서 상기 제 1 입력을 수신한 것에 응답하여 상기 제 1 자동완성 제안 리스트를 디스플레이하는 단계는, 상기 사용자 인터페이스에서 사전결정된 문자를 수신한 것에 응답하여 상기 자동완성 제안 리스트를 디스플레이하는 것을 포함하는
    컴퓨터 구현 방법.
  6. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스에 의해 상기 사용자 인터페이스에서 상기 제 1 입력을 수신한 것에 응답하여 상기 제 1 자동완성 제안 리스트를 디스플레이하는 단계는, 상기 입력을 포함하는 하나 이상의 문자가 상기 사용자 인터페이스에서 수신될 때 상기 제 1 자동완성 제안 리스트를 동적으로 필터링하는 단계를 포함하는
    컴퓨터 구현 방법.
  7. 제 1 항에 있어서,
    상기 컴퓨팅 디바이스에 의해 상기 선택된 엔티티를 동작을 정의하는 프로그램 코드에 링크하는 단계는, 상기 선택된 엔티티에 의해 식별된 사용자에 대한 메시지 포스팅을 개시하기 위한 프로그램 코드에 상기 선택된 엔티티를 링크하는 단계를 포함하는
    컴퓨터 구현 방법.
  8. 제 1 항에 있어서,
    상기 제 2 자동완성 제안 리스트를 제공하는 단계는, 사용자가 종료 문자를 입력한 것에 응답하여 상기 제 2 자동완성 제안 리스트를 숨기는 단계를 더 포함하는
    컴퓨터 구현 방법.
  9. 제 1 항에 있어서,
    상기 링크된 엔티티 상에서 상기 사용자 활동을 수신하는 단계는,
    상기 사용자 활동의 문자 위치를 결정하는 단계와,
    상기 문자 위치가 상기 사용자 인터페이스 상의 링크된 엔티티 위치를 나타내는지 결정하는 단계를 포함하는
    컴퓨터 구현 방법.
  10. 자동완성 메커니즘을 활용할 때 원자적으로 링크된 엔티티를 지속시키기 위한 컴퓨팅 디바이스로서,
    실행가능한 프로그램 코드를 저장하기 위한 메모리와,
    상기 메모리에 기능적으로 연결된 프로세서를 포함하되,
    상기 프로세서는 상기 프로그램 코드에 포함된 컴퓨터 실행가능한 명령에 응답하고, 상기 프로세서는,
    사용자 인터페이스에서 제 1 입력을 수신하고,
    상기 사용자 인터페이스에서 상기 입력을 수신한 것에 응답하여 제 1 자동완성 제안 리스트를 디스플레이하며 - 상기 입력은 호출 문자를 포함함 -,
    상기 제 1 자동완성 제안 리스트로부터의 엔티티의 선택을 수신하고,
    상기 선택된 엔티티를 동작을 정의하는 프로그램 코드에 링크하며,
    상기 링크된 엔티티를 상기 사용자 인터페이스 내에 삽입하고 - 상기 링크된 엔티티는 상기 링크된 엔티티를 전부 삭제하는 것에 의한 것을 제외하고는 편집 가능하지 않음 -,
    상기 링크된 엔티티 상에서 사용자 활동을 검출하며,
    상기 링크된 엔티티 상의 상기 사용자 활동에 응답하여, 상기 링크된 엔티티를 하이라이팅하고,
    상기 링크된 엔티티가 하이라이팅되는 동안, 상기 호출 문자와 다른 새로운 문자를 수신하며,
    상기 새로운 문자를 수신한 것에 응답하여, 상기 호출 문자를 삭제하지 않고 상기 링크된 엔티티를 삭제하고,
    상기 새로운 문자를 수신한 것에 응답하여 상기 링크된 엔티티를 삭제한 이후에, 상기 사용자 인터페이스에서 제 2 자동완성 제안 리스트를 자동으로 디스플레이하도록 동작하는
    컴퓨팅 디바이스.
  11. 제 10 항에 있어서,
    상기 프로세서는 또한,
    상기 사용자 인터페이스에서 상기 새로운 문자가 수신되는 것에 응답하여 상기 제 2 자동완성 제안 리스트로부터 적어도 하나의 상이한 엔티티의 선택을 수신하고,
    상기 선택된 적어도 하나의 상이한 엔티티를 상기 동작을 정의하는 프로그램 코드에 링크하며,
    상기 링크된 적어도 하나의 상이한 엔티티를 상기 사용자 인터페이스 내에 삽입하고 - 상기 링크된 적어도 하나의 상이한 엔티티는 상기 링크된 적어도 하나의 상이한 엔티티를 전부 삭제하는 것에 의한 것을 제외하고는 편집 가능하지 않음 -,
    상기 링크된 적어도 하나의 상이한 엔티티 및 상기 링크된 엔티티를 상기 사용자 인터페이스 내에서 수신된 상기 입력 및 후속 입력 사이에서 독립적으로 지속시키도록 동작하되,
    상기 링크된 적어도 하나의 상이한 엔티티는 상기 사용자 인터페이스 내에서 수정 불가능한
    컴퓨팅 디바이스.
  12. 제 10 항에 있어서,
    상기 제 1 입력은 텍스트 문자 및 그래픽 중 하나 이상을 포함하는
    컴퓨팅 디바이스.
  13. 제 10 항에 있어서,
    상기 제 1 입력은 다른 사용자에게 메시지를 포스팅하기 위한 메시징 애플리케이션 내의 복수의 텍스트 문자를 포함하는
    컴퓨팅 디바이스.
  14. 제 10 항에 있어서,
    상기 제 1 자동완성 제안 리스트는 상기 사용자 인터페이스에서 사전결정된 문자를 수신한 것에 응답하여 디스플레이되는
    컴퓨팅 디바이스.
  15. 제 10 항에 있어서,
    상기 제 1 자동완성 제안 리스트는 상기 입력을 포함하는 하나 이상의 문자가 상기 사용자 인터페이스에서 수신될 때 동적으로 필터링되는
    컴퓨팅 디바이스.
  16. 제 10 항에 있어서,
    상기 선택된 엔티티는 상기 선택된 엔티티에 의해 식별된 사용자에 대한 메시지 포스팅을 개시하기 위한 프로그램 코드에 링크되는
    컴퓨팅 디바이스.
  17. 제 10 항에 있어서,
    상기 프로세서는 또한, 사용자가 종료 문자를 입력한 것에 응답하여 상기 제 2 자동완성 제안 리스트를 숨기도록 동작하는
    컴퓨팅 디바이스.
  18. 컴퓨팅 디바이스에 의해 실행될 때, 상기 컴퓨팅 디바이스로 하여금 자동완성 메커니즘을 활용할 때 원자적으로 링크되는 엔티티를 지속시키는 방법을 수행하게 하는 비일시적 컴퓨터 저장 매체를 포함하는 데이터 저장 디바이스로서,
    상기 방법은,
    복수의 사용자에게 메시지를 포스팅하기 위한 사용자 인터페이스에서 제 1 입력을 수신하는 단계와,
    상기 사용자 인터페이스에서 상기 입력을 수신한 것에 응답하여 제 1 자동완성 제안 리스트를 디스플레이하는 단계 - 상기 자동완성 제안 리스트는 상기 입력이 상기 사용자 인터페이스 내에 입력될 때 동적으로 필터링되고, 상기 입력은 호출 문자를 포함함 - 와,
    상기 제 1 자동완성 제안 리스트로부터의 제 1 엔티티의 선택을 수신하는 단계와,
    상기 제 1 엔티티를 동작을 정의하는 프로그램 코드에 링크하는 단계와,
    상기 사용자 인터페이스 내에 상기 링크된 엔티티를 삽입하는 단계 - 상기 링크된 엔티티는 상기 링크된 엔티티를 전부 삭제하는 것에 의한 것을 제외하고는 편집 가능하지 않음 - 와,
    상기 제 1 엔티티 상에서 사용자 활동을 검출하는 단계와,
    상기 링크된 엔티티 상에서 상기 사용자 활동을 검출한 것에 응답하여, 상기 링크된 엔티티를 전부 하이라이팅하는 단계와,
    상기 링크된 엔티티가 하이라이팅되는 동안, 상기 호출 문자와 다른 새로운 문자를 수신하는 단계와,
    상기 새로운 문자를 수신한 것에 응답하여, 상기 호출 문자를 삭제하지 않고 상기 제 1 엔티티를 전부 삭제하는 단계와,
    상기 새로운 문자를 수신한 것에 응답하여 상기 링크된 엔티티를 삭제한 이후, 상기 사용자 인터페이스 내에 제 2 자동완성 제안 리스트를 자동으로 디스플레이 하는 단계와,
    상기 새로운 문자가 상기 사용자 인터페이스 내에 수신된 것에 응답하여 상기 제 2 자동완성 제안 리스트로부터의 제 2 엔티티의 선택을 수신하는 단계 - 상기 제 2 엔티티는 상기 제 1 엔티티와 상이함 - 와,
    상기 제 2 엔티티를 상기 동작을 정의하는 프로그램 코드에 자동으로 링크하는 단계와,
    상기 사용자 인터페이스 내에 상기 제 2 엔티티를 삽입하는 단계를 포함하는
    데이터 저장 디바이스.
  19. 제 18 항에 있어서,
    상기 제 1 자동완성 제안 리스트는 상기 사용자 인터페이스 내에서 사전결정된 문자를 수신한 것에 응답하여 디스플레이되는
    데이터 저장 디바이스.
  20. 제 18 항에 있어서,
    상기 제 1 입력은 텍스트 문자 및 그래픽 중 하나 이상을 포함하는
    데이터 저장 디바이스.
KR1020157016328A 2012-12-20 2013-12-19 원자적으로 링크된 지속되는 엔티티를 이용한 자동완성 기법 KR102143258B1 (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/722,200 2012-12-20
US13/722,200 US9836179B2 (en) 2012-12-20 2012-12-20 Auto-complete with persisted atomically linked entities
PCT/US2013/076562 WO2014100414A2 (en) 2012-12-20 2013-12-19 Auto-complete with persisted atomically linked entities

Publications (2)

Publication Number Publication Date
KR20150100679A KR20150100679A (ko) 2015-09-02
KR102143258B1 true KR102143258B1 (ko) 2020-08-10

Family

ID=50097811

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020157016328A KR102143258B1 (ko) 2012-12-20 2013-12-19 원자적으로 링크된 지속되는 엔티티를 이용한 자동완성 기법

Country Status (8)

Country Link
US (2) US9836179B2 (ko)
EP (1) EP2936340B1 (ko)
JP (2) JP6320420B2 (ko)
KR (1) KR102143258B1 (ko)
CN (2) CN105051722B (ko)
AR (1) AR094186A1 (ko)
TW (1) TW201433967A (ko)
WO (1) WO2014100414A2 (ko)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9836179B2 (en) 2012-12-20 2017-12-05 Microsoft Technology Licensing, Llc Auto-complete with persisted atomically linked entities
US9619046B2 (en) * 2013-02-27 2017-04-11 Facebook, Inc. Determining phrase objects based on received user input context information
US9313284B2 (en) * 2013-03-14 2016-04-12 International Business Machines Corporation Smart posting with data analytics and semantic analysis to improve a message posted to a social media service
US10684752B2 (en) * 2013-04-12 2020-06-16 Salesforce.Com, Inc. Computer implemented methods and apparatus for responding to actionable text patterns in a feed item
US20150006632A1 (en) * 2013-06-27 2015-01-01 Google Inc. Determining additional information for an intended action of a user
US9860338B2 (en) * 2014-12-30 2018-01-02 Facebook, Inc. Systems, methods, and apparatus for relationship mapping
US9965569B2 (en) 2015-03-13 2018-05-08 Microsoft Technology Licensing, Llc Truncated autosuggest on a touchscreen computing device
US9929990B2 (en) 2015-04-28 2018-03-27 Dropbox, Inc. Inserting content into an application from an online synchronized content management system
US20170083211A1 (en) * 2015-09-21 2017-03-23 Microsoft Technology Licensing, Llc Focused attention in documents and communications
US10049149B2 (en) 2015-09-29 2018-08-14 Oath Inc. Computerized system and method for search query auto-completion
US10380190B2 (en) * 2015-11-18 2019-08-13 International Business Machines Corporation Optimized autocompletion of search field
US10909146B2 (en) 2015-12-07 2021-02-02 Microsoft Technology Licensing, Llc Providing automated hashtag suggestions to categorize communication
US10749986B2 (en) 2016-04-11 2020-08-18 Samsung Electronics Co., Ltd. Platform for interaction via commands and entities
US10452638B2 (en) 2016-12-14 2019-10-22 International Business Machines Corporation Atomically moving data elements between or within linked data structures having no support for atomic moves
US10749978B2 (en) * 2017-04-07 2020-08-18 Accenture Global Solutions Limited Tags for automatic cloud resource provisioning
US11153284B2 (en) * 2018-11-07 2021-10-19 Citrix Systems, Inc. Systems and methods for transparent SaaS data encryption and tokenization
JP6725943B2 (ja) * 2019-04-03 2020-07-22 Line株式会社 表示方法およびプログラム
JP6966157B2 (ja) * 2019-04-03 2021-11-10 Line株式会社 表示方法およびプログラム
CN110162758A (zh) * 2019-05-21 2019-08-23 北京字节跳动网络技术有限公司 在线文档插入信息方法及装置
CN113407092A (zh) * 2021-06-17 2021-09-17 北京达佳互联信息技术有限公司 一种文本框信息处理方法、装置、电子设备及存储介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629793B1 (en) 2002-04-26 2003-10-07 Westie Intellectual Properties Limited Partnership Emoticon keyboard
US7346660B2 (en) 2003-02-21 2008-03-18 Hewlett-Packard Development Company, L.P. Method and system for managing and retrieving data
US7451397B2 (en) 2004-12-15 2008-11-11 Microsoft Corporation System and method for automatically completing spreadsheet formulas
US20100275109A1 (en) 2009-04-22 2010-10-28 Microsoft Corporation Efficient discovery, display, and autocompletion of links to wiki resources
WO2011002588A1 (en) 2009-07-01 2011-01-06 Facebook, Inc. Gathering information about connections in a social networking service

Family Cites Families (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63121971A (ja) 1986-11-11 1988-05-26 Fujitsu Ltd オブジエクト選択範囲再変換処理方式
JPH09190436A (ja) * 1996-01-12 1997-07-22 Toshiba Corp 情報処理装置及び範囲指定方法
US20060288297A1 (en) * 1999-08-12 2006-12-21 Robert Haitani System, method and technique for enabling users to interact and edit address fields of messaging applications
US8510668B1 (en) * 2000-04-03 2013-08-13 Google Inc. Indicating potential focus in a user interface
US7188316B2 (en) * 2003-03-24 2007-03-06 Microsoft Corporation System and method for viewing and editing multi-value properties
US20040234315A1 (en) * 2003-05-20 2004-11-25 Colwell Steven Lee Method and computer-readable medium for faster data entry
US9286935B1 (en) * 2007-01-29 2016-03-15 Start Project, LLC Simplified data entry
JP2008250708A (ja) * 2007-03-30 2008-10-16 Sanyo Electric Co Ltd 入力文字列予測装置および入力文字列予測プログラム
JP2007193849A (ja) 2007-04-25 2007-08-02 Microsoft Corp かな漢字変換システムおよび方法
US20090089690A1 (en) 2007-09-28 2009-04-02 Yahoo! Inc. System and method for improved tag entry for a content item
JP2009190436A (ja) 2008-02-12 2009-08-27 Toyota Motor Corp 車両の制御装置
US9098479B2 (en) * 2008-02-15 2015-08-04 Edyt Inc. Methods and apparatus for improved navigation among controlled terms in one or more user documents
US10867123B2 (en) 2009-11-09 2020-12-15 Microsoft Technology Licensing, Llc Social browsing
US20090271374A1 (en) 2008-04-29 2009-10-29 Microsoft Corporation Social network powered query refinement and recommendations
US8294680B2 (en) * 2009-03-27 2012-10-23 Sony Mobile Communications Ab System and method for touch-based text entry
US20110041177A1 (en) * 2009-08-14 2011-02-17 Microsoft Corporation Context-sensitive input user interface
US9317116B2 (en) * 2009-09-09 2016-04-19 Immersion Corporation Systems and methods for haptically-enhanced text interfaces
JP2011138305A (ja) 2009-12-28 2011-07-14 Fujitsu Ltd 文字入力装置、文字入力方法及びそのプログラム
JP5471457B2 (ja) * 2010-01-07 2014-04-16 富士通モバイルコミュニケーションズ株式会社 情報処理装置
US8782556B2 (en) * 2010-02-12 2014-07-15 Microsoft Corporation User-centric soft keyboard predictive technologies
US20110209040A1 (en) * 2010-02-24 2011-08-25 Microsoft Corporation Explicit and non-explicit links in document
US8704783B2 (en) * 2010-03-24 2014-04-22 Microsoft Corporation Easy word selection and selection ahead of finger
US8782080B2 (en) * 2010-04-19 2014-07-15 Facebook, Inc. Detecting social graph elements for structured search queries
US20120110493A1 (en) 2010-10-27 2012-05-03 Honda Motor Co., Ltd. Text entry using a steering wheel in a vehicle
CA3043599C (en) * 2011-01-27 2022-05-31 Google Llc Content access control in social network
US9519476B2 (en) 2011-03-29 2016-12-13 Hewlett Packard Enterprise Development Lp Methods, apparatus and articles of manufacture to autocomplete application lifecycle management entities
US9141707B2 (en) * 2012-07-19 2015-09-22 Facebook, Inc. Context-based object retrieval in a social networking system
US9424249B1 (en) * 2012-09-18 2016-08-23 Amazon Technologies, Inc. Encoding text units
US9836179B2 (en) 2012-12-20 2017-12-05 Microsoft Technology Licensing, Llc Auto-complete with persisted atomically linked entities

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6629793B1 (en) 2002-04-26 2003-10-07 Westie Intellectual Properties Limited Partnership Emoticon keyboard
US7346660B2 (en) 2003-02-21 2008-03-18 Hewlett-Packard Development Company, L.P. Method and system for managing and retrieving data
US7451397B2 (en) 2004-12-15 2008-11-11 Microsoft Corporation System and method for automatically completing spreadsheet formulas
US20100275109A1 (en) 2009-04-22 2010-10-28 Microsoft Corporation Efficient discovery, display, and autocompletion of links to wiki resources
WO2011002588A1 (en) 2009-07-01 2011-01-06 Facebook, Inc. Gathering information about connections in a social networking service

Also Published As

Publication number Publication date
US11455069B2 (en) 2022-09-27
US20180150160A1 (en) 2018-05-31
US20140181692A1 (en) 2014-06-26
WO2014100414A2 (en) 2014-06-26
AR094186A1 (es) 2015-07-15
KR20150100679A (ko) 2015-09-02
JP2016503207A (ja) 2016-02-01
TW201433967A (zh) 2014-09-01
CN105051722B (zh) 2019-05-03
CN110096700B (zh) 2023-07-04
EP2936340B1 (en) 2019-12-04
EP2936340A2 (en) 2015-10-28
JP6514388B2 (ja) 2019-05-15
US9836179B2 (en) 2017-12-05
CN105051722A (zh) 2015-11-11
WO2014100414A3 (en) 2014-08-14
CN110096700A (zh) 2019-08-06
JP2018129076A (ja) 2018-08-16
JP6320420B2 (ja) 2018-05-09

Similar Documents

Publication Publication Date Title
KR102143258B1 (ko) 원자적으로 링크된 지속되는 엔티티를 이용한 자동완성 기법
US10528653B2 (en) Collaborative communication in a web application
US10394440B2 (en) Drag and drop always sum formulas
CA2849076C (en) Dynamic content feed filtering
US10565301B2 (en) Stateful editing of rich content using a basic text box
CN112154427A (zh) 协作文档的渐进式显示用户界面
US20150277726A1 (en) Sliding surface
US10452414B2 (en) Assistive technology notifications for relevant metadata changes in a document
US20160371241A1 (en) Autocreate files using customizable list of storage locations
US20150234795A1 (en) Encoded associations with external content items
KR102385652B1 (ko) 작성 애플리케이션 확장판 활성화 기법

Legal Events

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