KR20160099575A - 의도-기반 사용자 경험을 제공하는 기법 - Google Patents

의도-기반 사용자 경험을 제공하는 기법 Download PDF

Info

Publication number
KR20160099575A
KR20160099575A KR1020167016055A KR20167016055A KR20160099575A KR 20160099575 A KR20160099575 A KR 20160099575A KR 1020167016055 A KR1020167016055 A KR 1020167016055A KR 20167016055 A KR20167016055 A KR 20167016055A KR 20160099575 A KR20160099575 A KR 20160099575A
Authority
KR
South Korea
Prior art keywords
user
intention
intent
application
user interface
Prior art date
Application number
KR1020167016055A
Other languages
English (en)
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 KR20160099575A publication Critical patent/KR20160099575A/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/16Sound input; Sound output
    • G06F3/167Audio in a user interface, e.g. using voice commands for navigating, audio feedback
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/18Speech classification or search using natural language modelling
    • G10L15/1822Parsing for meaning understanding

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Multimedia (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • General Health & Medical Sciences (AREA)
  • Acoustics & Sound (AREA)
  • Artificial Intelligence (AREA)
  • Computational Linguistics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

애플리케이션들 내부에서의 태스크의 수행을 용이하게 하는 기술이 제시된다. 의도-기반 사용자 경험은 생산성 애플리케이션과 같은 애플리케이션의 이용에 관한 사용자로부터의 의도의 자연어 스테이트먼트를 취득하는 것을 통해 이용 가능하다. 사용자를 위한 그래픽 사용자 인터페이스는 사용자의 의도에 기초하여 구성 및 재구성될 수 있고; 그에 따라 태스크-지향 사용자 인터페이스가 생성된다. 사용자의 의도는 태스크들을 수행하는데 사용될 수 있는 하나 이상의 도구 및 정보와 연계될 수 있는 의도의 자연어 스테이트먼트를 특정 태스크들에 대하여 분류 및/또는 맵핑하는 것을 통해 결정될 수 있다. 하나 이상의 도구 및 정보는 그래픽 사용자 인터페이스에서 사용자에게 표면화될 수 있다.

Description

의도-기반 사용자 경험을 제공하는 기법{INTENT-BASED USER EXPERIENCE}
사용자들은 오늘날의 복잡한 소프트웨어 애플리케이션들에 있어서의 특징 및 기능의 수가 계속해서 증가하는 상황에 직면해 있다. 사용자들이 애플리케이션에서 작업을 행하고자 할 때, 원하는 커맨드(command)를 긴 메뉴들 및 내포된 서브-메뉴들을 통해 검색해서 찾도록 강제되곤 한다. 커맨드들이 기능적으로 그룹화될 수 있지만, 특정 커맨드의 그룹화(및 위치결정)는 사용자가 이해하기 쉬운 방식으로 그룹화(또는 위치결정)되지 않을 수 있으며, 특정 경우에는, 일부 작업들은 서로 전혀 다른 메뉴들 및 버튼들에 위치되는 다중 커맨드를 필요로 한다.
때때로, 사용자들은 정확한 커맨드를 찾기 위해 도움말(help) 인터페이스에 의존하지만, 사용자들이 검색에 충분할 정도로 표현할 수 없는 설명으로 되어 있는 커맨드들을 도움말에서 찾는 것은 어려울 수 있다. 또한, 메뉴들에서 커맨드들을 물색하거나, 검색 결과를 살펴보더라도, 사용자들이 그들이 유용해 할만한 새로운 커맨드들을 발견할 수 있는 것은 아니다. 이는, 애플리케이션이 특정 상태에 있지 않으면, 표면화되지 않는 커맨드들 또는 메뉴들에 대한 경우일 수도 있다. 예컨대, 이미지 편집에 관한 특정 커맨드들(및 메뉴들)은 이미지를 선택하지 않으면 나타나지 않을 수 있다. 또한, 사용자들이 자주 사용하는 커맨드들의 위치를 비로소 익히기 시작했는데, 많은 명령어들의 사용자 인터페이스 위치를 변경하고 부가적인 커맨드들을 추가한 새로운 버전의 소프트웨어 애플리케이션이 배포될 수 있다.
애플리케이션들 내에서의 태스크의 수행을 용이하게 하는 기술을 제시한다. 사용자가 자연어 스테이트먼트(natural language statement)를 이용해서 태스크에 관련된 목표 또는 의도를 전달할 수 있고, 태스크를 수행함에 있어서 사용자가 이용할 수 있게 관련 사용자 인터페이스 요소들이 표면화될 수 있는 사용자 경험(user experience)을 기술한다. 이렇게 해서, 다양한 생산성 애플리케이션(productivity application)에 대하여 태스크-지향 재구성 가능 인터페이스(task-oriented reconfigurable interface)가 제공될 수 있다.
메뉴들 또는 버튼 리본(button ribbon)들을 통해 애플리케이션의 커맨드들 및 특징들을 검색하는 대신에, 상호작용 표면(interaction surface)은 사용자가 주어진 태스크 또는 목표를 수행하려는 의도를 말로 표현하고 그 태스크 또는 목표를 수행하기 위한 도구들 및 정보를 취득하는 것을 가능하게 한다. 말로 하는 표현은 원하는 결과, 목표, 문제점, 태스크, 또는 그 밖의 의도에 대한 스테이트먼트일 수 있다. 즉, 사용자의 스테이트먼트는 무엇이든 유효해질 수 있으며, 커맨드의 명칭(즉, 커맨드 명칭 또는 유의어)에 직접적으로 관련된 용어가 필요한 것은 아니다. 스테이트먼트는 자연어 스테이트먼트일 수 있고, 시스템은 자연어 스테이트먼트를 하나 이상의 애플리케이션을 통해 사용자가 이용 가능한 커맨드, 특징, 및 정보를 포함하는 요소들에 맵핑되는 "의도(intent)"로 해석한다.
태스크-지향 재구성 가능 인터페이스는, 페인(pane), 윈도우(window), 드롭다운 메뉴(dropdown menu), 박스(box) 또는 기타 그래픽 요소가 추가되는, 생산성 애플리케이션에 대하여 이용 가능한 보다 전통적인 그래픽 사용자 인터페이스와 유사하게 나타날 수 있다. 다른 경우들에 있어서는, 태스크-지향 재구성 가능 인터페이스는 전적으로 사용자의 결정된 의도에 관련된 요소들에 기초하여 렌더링될 수 있다.
본 개요는 후속하여 발명의 상세한 설명 부분에서 설명되는 개념들 중 선택된 것들을 단순화된 형태로 소개하고자 제공되는 것이다. 본 개요는 청구항의 청구대상의 핵심적인 특징이나 필수적인 특징들을 밝히고자 함이 아니며, 청구항의 청구대상의 범위를 한정하는 데 이용하고자 함도 아니다.
도 1은 의도-기반 사용자 경험에 대한 기능도를 나타낸다.
도 2a 및 도 2b는 의도-기반 사용자 경험에 대한 사용자 인터페이스 요소들의 제시의 예시적인 표현들을 나타낸다.
도 3a 및 도 3b는 의도-기반 사용자 경험에 대한 태스크-지향 사용자 인터페이스를 구현하기 위한 예시적인 기본 화면들을 나타낸다.
도 4a 및 도 4b는 의도의 자연어 스테이트먼트를 취득하기 위한 예시적인 상호작용 요소들을 나타낸다.
도 5a 내지 도 5g는 의도의 자연어 스테이트먼트의 취득에 응답하여 표면화된 태스크-지향 사용자 인터페이스의 예시적인 화면들을 나타낸다.
도 6a는 의도-기반 사용자 경험의 특정 구현예가 실행될 수 있는 작업 환경을 나타낸다.
도 6b는 애플리케이션에 대하여 일반화된 모델이 그 가용 의도들 및 인터페이스 요소들을 게재할 수 있게 하는 예시적인 구현을 나타낸다.
도 7a 내지 도 7c는 예시적인 상황에 대한 태스크-지향 사용자 인터페이스의 화면들을 나타낸다.
도 8은 태스크-지향 사용자 인터페이스의 다른 예시적인 상황을 묘사한다.
도 9는 태스크-지향 사용자 인터페이스의 또 다른 예시적인 상황을 묘사한다.
도 10은 일부 실시예에서 사용된 컴퓨팅 장치 또는 시스템의 컴포넌트들을 나타내는 블록도이다.
도 11은 실시예가 실행될 수 있는 예시적인 시스템 아키텍처를 나타낸다.
애플리케이션들 내에서의 태스크들의 수행을 용이하게 하는 기술을 제시한다.
본 명세서에 기재된 예시적인 사용자 경험에 있어서, 관련 사용자 인터페이스 커맨드들은 사용자가 전달한 목표, 또는 의도의 자연어 스테이트먼트에 응답하여 제시될 수 있다. 본 명세서에 기재된 실시예들은, 애플리케이션 내에서 및 애플리케이션들 사이에서, 사용자들이 그들의 의도된 목표에 관한 특징들을 신속하게 찾아서 이용할 수 있게 한다. 본 명세서에서 사용되는 "자연어(natural language)" 스테이트먼트는 어떤 경우든 사용자에게 직관적인 용어를 의미한다. 스테이트먼트(문자열, 문구, 또는 그 밖의 표현)는 기록된 또는 구술된 언어 구조에 기초할 수 있으며, 표준화된 양태 및 표준화되지 않은 양태를 포함할 수 있다.
본 기술은 생산성 애플리케이션들에 적합하다. 생산성 애플리케이션은 콘텐츠 생산에 관련된 다양한 태스크의 수행을 용이하게 할 수 있는 다양한 도구들 및 정보를 포함할 수 있다.
생산성 애플리케이션은, 모두 마이크로소프트사(Microsoft Corp.)의 등록 상표인 마이크로소프트 워드(Microsoft Word®), 마이크로소프트 엑셀(Microsoft Excel®), 마이크로소프트 파워포인트(Microsoft Powerpoint®) 뿐만 아니라 그 웹 애플리케이션 컴포넌트들을 포함하는 마이크로소프트사로부터 입수 가능한 애플리케이션들의 마이크로소프트 오피스 스위트(Microsoft Office® suite); 구글 문서도구(Google Docs)(및 구글 드라이브(Google Drive™)); 아파치 소프트웨어 재단(Apache Software Foundation)으로부터 입수 가능한 아파치 오픈오피스(Apache OpenOffice™); 도큐먼트 재단(The Document Foundation)의 등록 상표인, 도큐먼트 재단으로부터 입수 가능한 애플리케이션들의 리브레오피스 스위트(LibreOffice® suite); 모두 애플사(Apple Inc.)의 등록 상표인 애플 페이지(Apple Pages®), 애플 키노트(Apple Keynote®), 및 애플 넘버(Apple Numbers®)를 포함하는, 애플사로부터 입수 가능한 애플리케이션들의 애플 아이워크 스위트(Apple iWork® suite)를 예로서 포함한다.
특정 실시예들에 따르면, 생산성 애플리케이션에 대한 사용자 인터페이스는 태스크-지향 사용자 경험을 제공하는 방식으로 제시된다. 태스크-지향 사용자 경험은 특정 태스크를 다루기에 적합한 방식으로 사용자 인터페이스 컴포넌트들을 제시한다. 예시적인 사용자 인터페이스 컴포넌트들(또는 요소들)은 커맨드, 메뉴, 입력 필드, 아이콘, 구도 및 상호작용 표면(composition and interaction surface), 및 객체를 포함하지만, 이들에 한정되는 것은 아니다.
일부 경우에는, 태스크-지향 사용자 경험에서 표면화될 수 있는 사용자 인터페이스 요소는 다른 애플리케이션을 호출하거나 또는 다른 애플리케이션과 통신하는 요소를 포함한다.
도 1은 의도-지향 사용자 경험에 대한 기능도를 나타내고; 도 2a 및 도 2b는 의도-기반 사용자 경험에 대한 사용자 인터페이스 요소들의 제시의 예시적인 표현들을 나타낸다.
도 1을 참조하면, 사용자는 자연어 스테이트먼트(100)를 이용함으로써 생산성 애플리케이션에서 수행될 수 있는 태스크와 관련된 목표 또는 의도를 전달할 수 있다. 자연어 스테이트먼트는, 생산성 애플리케이션에서 주어진 태스크 또는 목표를 수행하려는 의도를, 사용자에게는 직관적인 방식으로, 사용자가 말로 표현할 수 있게 하는 임의의 기술을 통해 제공될 수 있다. 스테이트먼트 그 자체는, 도움을 구하는 것, 웹을 조사하는 것, 및 태스크(예컨대, "미팅 예약(book a meeting)")를 완료하는 것과 같은 생산성 애플리케이션의 이용에 관한 원하는 결과, 목표, 문제점, 태스크, 또는 그 밖의 의도의 스테이트먼트일 수 있다.
의도의 자연어 스테이트먼트의 예로서, "더 예쁘게 꾸미세요(make this more beautiful)", "너무 어수선해 보입니다(this looks too cluttered)", "페이지를 넘기세요(turn the page)", "휴가 계획(vacation planning)", "휴가 갑니다(I'm going on vacation)", "메모를 쓰세요(write a memo)", "내 노트들을 정리하세요(organize my notes)" 및 "그림 카드를 만드세요(make a picture card)"를 들 수 있다. 이들 예에 나타내진 바와 같이, 사용자의 스테이트먼트는, (콘텐츠의 생성 및/또는 구축을 위해) 분명하게 표현될 수 있으며 애플리케이션의 이용을 수반할 수 있는 것이면 무엇이든 유효해질 수 있고, 태스크를 수행하는데 이용될 수 있는 애플리케이션에서의 커맨드 또는 메뉴 아이템의 명칭(즉, 커맨드 명칭 또는 커맨드 명칭의 유의어)과 직접적으로 관련된 용어들을 필요로 하지 않는다.
사용자의 자연어 스테이트먼트(100)는, 자연어 스테이트먼트의 "의도(intent)"를 결정하고 그 의도에 대응하는 애플리케이션 요소들(정보 및/또는 도구들)을 결정할 수 있는 의도-요소 엔진(intent-to-element engine)(110)에 의해 취득될 수 있다. 사용자는 사용자가 작업하고 있는 특정 애플리케이션의 파라미터 구조를 이해할 필요가 없다. 오히려, 의도-요소 엔진(110)은 사용자와 기본 애플리케이션 또는 애플리케이션들과의 사이에 레이어(layer)를 제공할 수 있다.
의도-요소 엔진(110)은 사용자의 스테이트먼트에 관련된 태스크들을 특정 사용자 인터페이스 요소들(112)에 맵핑하는 구조화 정보를 포함할 수 있는 의도 데이터베이스(111)에 액세스함으로써 자연어 스테이트먼트를 자연어 스테이트먼트에 의해 전달된 의도에 대응하는 사용자 인터페이스 요소들로 변환할 수 있다.
자연어 스테이트먼트는, 자연어 스테이트먼트에 대응할 수 있는 가능한 관련 태스크들에 대하여 자연어 스테이트먼트를 분석하고; 의도 데이터베이스(111)를 이용해서 가능한 관련 태스크들과 연계된 하나 이상의 사용자 인터페이스 요소를 검색함으로써 사용자 인터페이스 요소들로 변환될 수 있다. 분석 기술의 하나로서, 의도의 자연어 스테이트먼트는, 예컨대 클러스터링 기술을 통해 파라미터화될 수 있다.
따라서, 사용자의 의도의 자연어 스테이트먼트(100)를 취득하는 것에 응답하여, 의도-요소 엔진(110)은 결정된 의도와 연계된 태스크를 사용자가 수행하는 것을 돕기 위해 사용자(120)에게 제시될 수 있는 사용자 인터페이스 요소들을 생성할 수 있다. 바람직하게는, 특정 구현예들은 사용자가 잘 모르고 있거나 또는 직접적으로 액세스하지 못할 수 있는 기본 생산성 애플리케이션의 특징들을 노출하는 것을 포함할 수 있다. 예컨대, 비활성화된 커맨드들(특정 객체 선택에 기초하여 이용 가능한 문맥 인식 커맨드들), 신규 커맨드들, 관련 커맨드들, 보편적으로 사용되는 커맨드들, 및 최근에 사용된 커맨드들이 모두 주어진 의도에 대한 결과물 세트의 일부로서 표면화될 수 있다.
사용자 인터페이스 요소들(112)은, 한정되는 것은 아니지만, 워드 프로세서, 스프레드시트, 프리젠테이션 디자인 애플리케이션, 사진 편집 도구, 이메일 애플리케이션, 태스크 추적 애플리케이션, 개인 정보 매니저, 그래픽 디자인 프로그램, 데스크탑 게재 도구, 또는 웹 브라우저를 포함하는 단일의 애플리케이션 또는 다수의 애플리케이션으로부터 얻을 수 있다. 애플리케이션은, 마이크로소프트 워드(Microsoft Word®), 에버노트(Evernote®), 어도비 포토샵(Adobe Photoshop®), 마이크로소프트 아웃룩(Microsoft Outlook®), 및 구글 크롬(Google Chrome®)을 예로서 포함한다. 애플리케이션(들)은 사용자의 장치에 상주할 수 있거나, 클라우드 서비스에 상주하여 원격으로 장치 디스플레이에 렌더링될 수 있거나, 또는 그 임의의 조합으로 될 수 있다. 애플리케이션(들)은 웹 브라우저 내에서 렌더링될 수도 있다.
특정 구현예들은 수신한 의도의 자연어 스테이트먼트로부터 사용자의 의도를 분류하고 나서 의도(들)를 실행하는데 사용될 수 있는 관련 인터페이스 요소들(도구들 및 정보를 포함)을 제공할 수 있는 의도 맵핑 서비스를 이용한다. 의도 맵핑 서비스는, 그 기능들을 실행할 때, 웹사이트들로부터의 외부 정보, 수집 서비스를 통한 다수의 사용자로부터의 사용 데이터, 및 사용자의 사용 습관, 네트워크 위치, 또는 기타 출처들로부터 모은 문맥 관련 정보에 액세스할 수 있다.
사용자 인터페이스 요소들은 사용자의 자연어 스테이트먼트(또는 사용자의 의도의 자연어 스테이트먼트의 적어도 일부)의 취득에 응답하여 제시될 수 있기 때문에, 생산성 애플리케이션에 대한 사용자 인터페이스는 태스크-지향 재구성 가능 인터페이스로 고려될 수 있다. 즉, 생산성 애플리케이션에 대한 사용자 인터페이스(예컨대, 그래픽 사용자 인터페이스)는 의도의 현재의 자연어 스테이트먼트에 기초하여 구성 및 재구성될 수 있다.
자동완성(prediction) 기술들이 추가로 개발될 수 있기 때문에, 일부 생산성 애플리케이션 메뉴들은 자동완성 기능의 커맨드 표면(predictive command surface)들을 포함할 수 있다. 상기와 같은 자동완성 기능의 커맨드 표면들은 태스크-지향 사용자 경험에 포함될 수도 있다. 따라서, 사용자가 진술한 태스크, 목표, 또는 그 밖의 의도의 자연어 스테이트먼트는 사용자 인터페이스 및 이용 가능한 커맨드들의 제시에 영향을 미칠 수 있을 뿐만 아니라, 사용자가 진술하고 있는 문맥은 사용자가 바랄 수 있는 하나 이상의 다음 커맨드 또는 정보를 자동완성하기 위해 고려될 수 있다.
사용자 인터페이스 요소(들)는 특정 구현예에 따라 다양한 방식으로 사용자에게 제시될 수 있다. 예컨대, 도 2a에 나타내진 바와 같이, 사용자 인터페이스 요소들은 생산성 애플리케이션 인터페이스(211)에서 드롭다운 메뉴 또는 리스트(210)로서 제시될 수 있다. 다른 예로서, 도 2b에 나타내진 바와 같이, 의도에 맵핑된 사용자 인터페이스 요소들(예컨대, 요소들(220-A, 220-B, 220-C))은 사용자에 대한 전체 생산성 인터페이스를 구축해서 구도 표면, 태스크 또는 메뉴 페인, 및 정보 또는 도구들과 같은 요소들을 제공할 수 있다.
사용자에게 제공된 사용자 인터페이스 요소들(특정 태스크 또는 그 밖의 결정된 의도의 수행에 맵핑될 수 있음)은, 이산형 애플리케이션 커맨드들; 텍스트 입력 박스, 버튼, 메뉴, 드롭다운 메뉴, 리본, 또는 그 밖에 본 기술분야에 공지된 제어부와 같은 사용자 입력 장치들; 또는 심지어 사용자 인터페이스에 동적으로 배치되어 있는 제어부 또는 메뉴를 포함하는 사용자 입력 장치들로 이루어진 집합체들을 포함할 수 있다. "정보(information)"는 애플리케이션의 도움말 파일로부터의 항목들, 애플리케이션에 의해 게재되거나 또는 웹사이트에 위치되는 사용 안내 비디오들(how-to videos), 백과사전 항목들, 조사 결과물들, 검색 결과물들, 회사 지식 관리 시스템 또는 인트라넷으로부터의 콘텐츠, 웹사이트 콘텐츠, 검색 결과물들, 또는 사용자의 의도에 관련되도록 의도 맵핑 서비스에 의해 결정되어 있는 임의의 다른 콘텐츠를 포함할 수 있다.
도 3a 및 도 3b는 의도-기반 사용자 경험에 대한 태스크-지향 사용자 인터페이스를 구현하기 위한 예시적인 기본 화면들을 나타내고; 도 4a 및 도 4b는 의도의 자연어 스테이트먼트를 취득하기 위한 예시적인 상호작용 요소들을 나타내고; 도 5a 내지 도 5g는 의도의 자연어 스테이트먼트의 취득에 응답하여 표면화된 태스크-지향 사용자 인터페이스의 예시적인 화면들을 나타낸다.
태스크-지향 재구성 가능 인터페이스는, 페인, 윈도우, 드롭다운 메뉴, 박스 또는 기타 그래픽 요소가 추가되는, 생산성 애플리케이션에 대하여 이용 가능한 보다 전통적인 그래픽 사용자 인터페이스와 유사하게 나타날 수 있다. 다른 경우들에 있어서는, 태스크-지향 재구성 가능 인터페이스는 전적으로 사용자의 결정된 의도에 관련된 요소들에 기초하여 렌더링될 수 있다.
도 3a를 참조하면, 하나의 기본 화면(300-A)은, 의도의 자연어 스테이트먼트를 취득하기 위한 상호작용 요소(310)을 포함하여, 생산성 애플리케이션에 대한 사용자 인터페이스에서 예상되는 특징부들을 포함할 수 있다. 예컨대, 구도 표면(320) 및 리본 커맨드들(300)이 사용자 인터페이스의 일부로서 렌더링될 수 있다.
도 3b에 도시된 바와 같은 다른 구현예에 있어서는, 기본 화면(300-B)은 블랭크로서 나타날 수 있거나, 아니면 상호작용 요소(310)가 있는 깨끗한 캔버스 또는 윈도우로서 나타날 수 있다.
상호작용 요소(310)는 의도의 자연어 스테이트먼트의 입력을 표시하기 위해 임의의 적절한 방식으로 구현될 수 있다. 예컨대, 도 4a에 도시된 바와 같은 텍스트 박스 입력 필드 상호작용 요소(311)는 키보드, 키패드, 터치패드, 펜/스타일러스, 또는 기타 입력 장치를 통해 텍스트 입력을 취득할 수 있다. 다른 예로서, 도 4b에 도시된 바와 같이, 음성 입력 상호작용 요소(312)가 제공될 수 있다.
의도의 자연어 스테이트먼트가 취득되면, 사용자의 의도를 실행하는 것과 관련된 하나 이상의 사용자 인터페이스 요소가 표면화될 수 있다. 도 5a는 생산성 애플리케이션 인터페이스 위로 또는 옆으로 표면화될 수 있는 패널(501)을 나타낸다. 도 5b는 상호작용 요소(310)로부터 표면화될 수 있는 드롭다운 메뉴(502)를 나타낸다. 도 5c는 생산성 애플리케이션 인터페이스 내에서 표면화될 수 있는 리본 요소(503)(의도된 태스크를 수행하기 위한 하나 이상의 도구를 제공할 수 있음 - 여기서 이들 도구는 반드시 동일 그룹화되는 것이 아니라 전통적인 메뉴를 통해 이용할 수도 있음)를 나타낸다.
도 5d는, 메뉴(504)가 상호작용 요소(310)로부터 드롭다운될 수 있으며, 또한 상호작용 표면(505)이 일례로서 기본 화면(300-B)으로부터 의도의 자연어 스테이트먼트를 취득하는 것에 응답하여 콘텐츠를 생성하기 위해 렌더링될 수 있는 일례를 나타낸다. 도 5e는 유사한 예를 나타내지만, 여기서는 플로팅 메뉴(506)가 상호작용 표면(505)과 함께 표면화될 수 있다.
도 5f는 태스크-지향 인터페이스가 생산성 애플리케이션 인터페이스 위로 열리며 사용자 인터페이스 요소부(507) 및 상호작용 요소(310)를 포함하는 별도의 윈도(또는 플로팅 툴바)인 예를 나타낸다. 도 5g는 태스크-지향 인터페이스가 여러 장치들에 걸쳐서 구현되는 예를 나타낸다. 도 5g에 도시된 예에 있어서, 하나의 장치(509)는 상호작용 요소(310)를 통해 입력을 취득하는데 사용될 수 있는 반면, 제 2 장치(510)는 사용자 인터페이스 요소들을 표면화할 수 있다. 예시적인 사용자 인터페이스 요소들은 하나 이상의 패널(510-A)(도구들 및/또는 정보를 구비함), 구도/상호작용 표면(510-B), 및 리본 또는 메뉴 도구들 및/또는 정보(510-C)를 포함한다.
개시된 시스템 및 기술은, 의도 맵핑 서비스에 의해 적절한 애플리케이션 특징들로 해석되게 되는 태스크 의도를 사용자가 보다 크거나 작은 단위로 표현할 수 있게 한다. 일부 경우에는, 슬롯 채우기 패러다임이 포함될 수 있다. 예컨대, 슬롯, 또는 입력 필드는 의도 추출 다이얼로그의 일부로서 제공될 수 있다. 맞춤법 검사가 포함될 수도 있다. 의도 맵핑 서비스는 본 명세서에 기재된 다양한 방식으로 의도를 특징들에 큐레이팅할 수 있다. 일부 실시예에 있어서는, 특징들에의 액세스를 단순화하기 위해 보다 복잡한 사용자 인터페이스 표면들이 구축될 수도 있다. 개시된 기술들은, 모든 사용자들이 애플리케이션을 보다 이용하기 쉽게 만들고, 소형 디스플레이 또는 터치식 디스플레이(예컨대, 특정 메뉴 및/또는 리본이 지나치게 많은 공간을 차지할 수 있는 장치 디스플레이)를 구비한 장치에서 애플리케이션을 보다 이용하기 쉽게 만들고, 또한 많은 종류의 장애가 있는 사용자들의 접근성을 향상시킬 수 있다.
도 6a는 의도 맵핑 경험의 특정 구현예들이 실행될 수 있는 작업 환경을 나타낸다. 도 6a에서, 사용자(610)가 작업하고 있는 애플리케이션(605)의 사용자 인터페이스(UI)(600)는 사용자 장치(612)의 디스플레이(611) 상에서 렌더링될 수 있다. 애플리케이션(605)은 사용자 장치(612) 상에서 바로 구동되거나 또는 사용자 장치(612) 상에서 구동되는 브라우저를 통해 구동될 수 있다. 사용자 장치(612)는, 한정되는 것은 아니지만, 아래에서 도 10을 참조하여 기술되는 컴퓨팅 시스템(1000)으로 대표되는, 개인용 컴퓨터, 랩탑 컴퓨터, 데스크탑 컴퓨터, 태블릿 컴퓨터, 리더, 모바일 장치, 개인 정보 단말기, 스마트 폰, 게임용 장치 또는 콘솔, 광학 헤드마운트식 디스플레이를 구비한 웨어러블 컴퓨터, 컴퓨터 워치, 또는 스마트 텔레비전일 수 있다.
UI(600)는 애플리케이션(605)의 의도 맵핑 컴포넌트(615)에 의해 구성되거나 및/또는 영향을 받을 수 있다. 의도 맵핑 컴포넌트(615)는 애플리케이션(605)에 의해 호출(또는 인보크(invoke))될 수 있는 하나 이상의 소프트웨어 모듈의 형태로 될 수 있다. 의도 맵핑 컴포넌트(615)는 본 명세서에 기재된 의도-기반 사용자 경험을 가능하게 하는 하나 이상의 방법을 실행하기 위해 명령어들을 제공할 수 있다.
사용자의 의도 또는 목표는 애플리케이션(605)과 연계된 상호작용 요소를 통해 표시될 수 있다. 가장 간단한 수준의 의도 또는 목표 서술은 원하는 특징의 명칭의 일부 혹은 전체 명칭이 될 수 있다. 그러나, 대부분의 실시예에 있어서는, 흔히 다수의 애플리케이션 커맨드 또는 특징을 포괄하는 사용자가 수행하고자 하는 태스크 또는 목표의 자연어 서술을 포함하는, 보다 확실한 의도의 서술이 예상된다. 사용자의 의도는 다양한 방식으로, 예컨대 텍스트로서의 타이핑 입력, 음성 커맨드로서의 구술, 또는 리스트로부터의 선택으로 서술될 수 있다. 일부 실시예에 있어서, 의도는, 예컨대 사용자가 태스크를 어떻게 실행해야 할지에 대하여 혼란스러워 한다는 것을 가리키는, 몇 가지 행동 이후의 "되돌리기(undo)"를 사용자가 반복적으로 선택한다고 애플리케이션이 인식할 때에는, 구사되지 않을 수도 있다. 본 명세서에서는, 이 의도를 "말로 표현하는(vocalized)"으로서 기술할 수 있지만, 이 용어를 사용하는 것이 의도-스테이트먼트를 구술(speaking)에 한정하려는 것이 아님에 유의해야 한다.
의도 맵핑 컴포넌트(615)는 의도의 자연어 스테이트먼트를, 특정 태스크(또는 태스크들) 및 그 특정 태스크(또는 태스크들)를 실행하는데 유용할 수 있는 상응하는 사용자 인터페이스 요소들에 맵핑하는 것을 가능하게 할 수 있다.
사용자의 의도를 해석하는 것과, 사용자의 의도를 특징들 및 정보에 매칭하는 것은 다양한 기술을 이용하여 수행될 수 있다. 일부 실시예에 있어서, 자연어 의도 스테이트먼트의 텍스트는, 사용자의 의도를 결정하고 사용자의 의도를 의도된 태스크를 수행하는 것과 관련된 특징들 및 정보에 맵핑하는 활동을 실행하는 소프트웨어 레이어에 UI(600)를 통해 송신될 수 있다.
이 소프트웨어 레이어는 "의도 맵핑 서비스(intent mapping service)(620, 622)"일 수 있다. 의도 맵핑 서비스의 전부 또는 일부는 사용자의 컴퓨팅 장치에 상주하거나, 다수의 기기에 걸쳐 분포되거나, 또는 심지어 클라우드 서비스에 상주할 수 있다. 단수형의 "의도 맵핑 서비스"는, 실제로는 서로 통신하는 다수의 서브-서비스로 구성될 수 있다. 의도 맵핑 서비스 및 그 구성 서브-서비스들의 물리적인 위치는 구현예에 따라 달라지게 된다.
일부 구현예에 있어서는, 원격 의도 맵핑 서비스(620)가 이용될 수 있다. 의도-기반 사용자 경험의 일부 양태는 사용자 장치(612) 상에서 실행되고 사용자 인터페이스(600)에서 디스플레이되도록 렌더링되지만, 다른 양태들은 적어도 부분적으로, 의도 맵핑 서비스(620, 622)에 의해 실행될 수 있다.
서버 컴퓨터, 데스크탑 컴퓨터, 랩탑 컴퓨터, 태블릿 컴퓨터, 스마트 폰, 또는 임의의 다른 적절한 컴퓨팅 기기와 같은 다양한 유형의 물리적인 또는 가상의 컴퓨팅 시스템들이 의도 맵핑 서비스(620)를 구현하는데 사용될 수 있다. 서버 컴퓨터를 이용하여 구현되는 경우, 애플리케이션 서버, 데이터베이스 서버, 메일 서버, 랙(rack) 서버, 블레이드(blade) 서버, 타워(tower) 서버, 또는 임의의 다른 유형의 서버, 서버의 변형, 또는 그 조합을 포함하는 다양한 서버들 중 하나가 사용될 수 있지만, 이들에 한정되는 것은 아니다.
의도 맵핑 컴포넌트(615)는 네트워크를 통해 의도 맵핑 서비스(620)와 상호작용할 수 있다. 네트워크는, 셀룰러 네트워크(예컨대, 무선 전화기), 지점간 다이얼업 접속(point-to-point dial up connection), 위성 네트워크, 인터넷(Internet), 로컬 에이리어 네트워크(LAN), 와이드 에이리어 네트워크(WAN), 와이파이(WiFi) 네트워크, 애드혹(ad hoc) 네트워크, 인트라넷, 엑스트라넷, 또는 그 조합을 포함할 수 있지만, 이들에 한정되는 것은 아니다. 상기와 같은 네트워크들은 허브, 브리지, 라우터, 스위치, 서버, 및 게이트웨이와 같은 다양한 유형의 네트워크 요소들을 접속하는데 폭넓게 사용된다. 네트워크는 인터넷과 같은 공중 네트워크, 및/또는 안전한 기업 사설 네트워크와 같은 사설 네트워크를 포함하는 하나 이상 접속된 네트워크들(예컨대, 멀티-네트워크 환경)을 포함할 수 있다. 네트워크에의 액세스는, 당업자가 이해하는 바와 같이, 하나 이상의 유선 또는 무선 액세스 네트워크를 통해 제공될 수 있다.
특정 구현예에서, 의도 맵핑 서비스(620)의 응용 프로그래밍 인터페이스(API)를 이용해서, 의도 맵핑 컴포넌트(615)는 UI(600)와 상호작용하는 사용자(610)와 의도 맵핑 서비스(620)간의 상호작용을 가능하게 한다.
일부 구현예에 있어서는, 원격 의도 맵핑 서비스(620)를 대신해서 로컬 의도 맵핑 서비스(622)가 이용될 수 있다. 로컬 의도 맵핑 서비스(622)는 사용자의 의도의 자연어 스테이트먼트가 해석될 수 있게 하는 사용자 장치(612) 상의 레이어를 하나 이상의 애플리케이션으로부터의 사용자 인터페이스 요소들에 제공할 수 있다. 의도 맵핑 컴포넌트(615)는 의도 맵핑 서비스(622)의 API를 이용해서 의도 맵핑 서비스(622)와 UI(600)와 상호작용하는 사용자(610)와의 사이의 상호작용을 가능하게 한다.
API는 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하, "API-구현 컴포넌트"라고 함)에 의해 구현되는 인터페이스이고, 이는 상이한 프로그램 코드 컴포넌트 또는 하드웨어 컴포넌트(이하, "API-호출 컴포넌트"라고 함)가 API-구현 컴포넌트에 의해 제공되는 하나 이상의 기능, 방법, 절차, 데이터 구조, 클래스, 및/또는 그 밖의 서비스에 액세스해서 이용할 수 있게 한다. API는 API-호출 컴포넌트와 API-구현 컴포넌트 사이에서 건네지는 하나 이상의 파라미터를 규정할 수 있다.
API는 일반적으로 2개 이상의 애플리케이션들이 서로 통신하는 것을 가능하게 하는 일련의 프로그래밍 명령어들 및 표준들이고, 일련의 HTTP(Hypertext Transfer Protocol) 요청 메시지들 및 REST(Representational state transfer) 또는 SOAP(Simple Object Access Protocol) 아키텍처에 따른 지정된 포맷 또는 구조의 응답 메시지들로서 보편적으로 인터넷을 통해 구현된다.
API는 API-구현 컴포넌트에 의해 제공된 서비스 또는 데이터에 액세스하거나, 또는 API-구현 컴포넌트에 의해 제공된 동작 또는 연산의 실행을 개시하는데 사용될 수 있다. 예로서, API-구현 컴포넌트 및 API-호출 컴포넌트는 각각 운영 체제, 라이브러리, 장치 드라이버, API, 애플리케이션 프로그램, 또는 다른 모듈 중 어느 하나일 수 있다(API-구현 컴포넌트 및 API-호출 컴포넌트는 서로 동일한 또는 상이한 유형의 모듈일 수 있다는 점을 이해해야 함). API-구현 컴포넌트는, 일부 경우에는, 적어도 부분적으로 펌웨어, 마이크로코드, 또는 그 밖의 하드웨어 로직으로 실시될 수 있다.
API-호출 컴포넌트는 네트워크를 거쳐서 API를 통해 API-구현 컴포넌트와 통신하는 로컬 컴포넌트(즉, API-구현 컴포넌트와 동일한 데이터 프로세싱 시스템 상의 컴포넌트) 또는 원격 컴포넌트(즉, API-구현 컴포넌트와 상이한 데이터 프로세싱 시스템 상의 컴포넌트)일 수 있다.
API-구현 컴포넌트는 API-호출 컴포넌트로서도 작용할 수 있으며(즉, API가 상이한 API-구현 컴포넌트에 의해 노출된 API를 호출하게 할 수 있음), API-호출 컴포넌트는 상이한 API-호출 컴포넌트에 노출되는 API를 구현하는 것에 의해 API-구현 컴포넌트로서도 작용할 수 있음을 이해해야 한다.
API 및 관련 컴포넌트들은 하나 이상의 기계-판독 가능 스토리지 매체(예컨대, 하드 드라이브, 자기 디스크, 솔리드 스테이트 드라이브, 랜덤 액세스 메모리, 플래시, CD, DVD 등과 같은 스토리지 매체)에 저장될 수 있다.
UI(600)와의 특정한 사용자 상호작용을 수신하는 것에 응답하여, 의도 맵핑 컴포넌트(615)는 의도 맵핑 서비스(620(또는 622))의 API를 이용해서 의도 맵핑 서비스(620(또는 622))의 호출(또는 인보크)을 가능하게 할 수 있다. 이후, 의도 맵핑 서비스(620(또는 622))는 의도 맵핑 컴포넌트(615)에 의해 제공된 정보에 기초하여 사용자의 의도된 목표 또는 태스크의 결정 뿐만 아니라, 그 의도된 목표 또는 태스크에 관련될 수 있는 애플리케이션 사용자 인터페이스 컴포넌트의 결정을 실행할 수 있다.
의도 맵핑 서비스(620, 622)는, 예컨대 의도의 스테이트먼트를 생산성 애플리케이션(및/또는 그 밖의 애플리케이션)을 통해 이용 가능한 도구들 및 정보에 맞춰져 있을 수 있는 하나 이상의 가능한 태스크와 매칭시킴으로써 사용자의 의도의 자연어 스테이트먼트와 연계된 태스크(들)를 결정할 수 있다. 사용자 자신이 원하는 태스크의 서술은 자연어 스테이트먼트로 시작할 수 있기 때문에, 일부 실시예에 있어서는, 사용자의 스테이트먼트를 다양한 가능한 매칭 의도들과 매칭시키기 위해 의도 맵핑 서비스(620, 622)에 의해 자연어 프로세싱이 사용될 수 있다.
예컨대, 워드 프로세싱 애플리케이션에서 "이 종이를 법률 문서로 만들라(make this paper a legal document)"는 의도를 사용자가 말로 표현한다고 가정한다. 의도 맵핑 서비스는, 사용자가 종이 사이즈를 "레터-사이즈(letter-size)"에서 "A4" 사이즈로 변경하는 것을 가능하게 할 수 있는(및/또는 통지할 수 있는) 관련 특징들을 가진 "페이지 사이즈 변경(changing the page size)"을 사용자의 의도된 태스크가 포함한다고 결정할 수 있다. 그러나, 그 밖의 관련 특징들은 페이지의 여백을 변경하는 것, 방위를 세로방향에서 가로방향으로 회전시키는 것, 및 A4 종이가 들어있는 다른 프린터로 전환하는 것일 수 있다. 이들 도구는 모두 태스크-지향 사용자 인터페이스의 일부로서 사용자에게 제시될 수 있다.
일부 구현예에 있어서, 의도 맵핑 서비스는 인터넷 검색 엔진 또는 온라인 도움말 웹사이트의 검색 엔진을 이용해서 애플리케이션에 대한 보편적인 사용자 의도 또는 가장 인기 있는 의도를 회답할 수 있다.
일부 구현예에 있어서, 의도 맵핑 서비스(620, 622)는 애플리케이션의 다른 사용자들로부터 수집된 사용 데이터를 이용할 수 있다. 의도 맵핑 서비스(620(또는 622))는 의도된 태스크에 관련될 수 있는 부가적인 사용자 인터페이스 요소들을 회답하기 위해 하나 이상의 사용자에 대한 사용 데이터를 수집 및 처리하는 사용 데이터 서비스(625)와 통신할 수 있다.
사용 데이터 기록장치는 사용자의 장치에 또는 다른 어딘가에 상주할 수 있으며, 사용자 거동의 유형 및 빈도를 기록하도록 기능하는 한편, 일부 경우에는 많은 수의 사용자에 대한 사용 패턴을 도표화하는 중앙 집중 프로세싱 서비스(사용 데이터 서비스(625)의 일부일 수 있음)에 사용 데이터를 업로드할 수 있다. 이 데이터는 사용자가 진술한 의도를 해석해서 기지의 의도들에 매칭시키기 위한 부가적인 인자로서 의도 맵핑 서비스(620, 622)에 의해 질의될 수 있다.
전술한 기술들의 어느 하나 또는 전부는 사용자가 말로 표현한 의도를 애플리케이션-이용 가능 의도에 매칭시키기 위해 의도 맵핑 서비스에 의해 이용될 수 있다. 부가적으로, 이들 모델의 어느 하나 또는 전부에 있어서, 비밀스러운 개인들은, 예컨대 믿을 만한 출처들로부터의 가장 완전한 의도들 중에서 선택하는 것에 의해, 가용 의도들을 편집 가능하게 선택할 수 있다. 아래에서 더 상세히 기술되는 도 6b는 애플리케이션에 대하여 일반화된 모델이 그 가용 의도들 및 인터페이스 요소들을 게재할 수 있게 하는 예시적인 구현을 나타낸다. 결국, 태스크를 매칭하는 사용자 인터페이스 요소들은 UI에 회답되어서 사용자에게 디스플레이될 수 있다.
결정된 사용자 인터페이스 요소들은 사용자 장치(612)(예컨대, 행선지가 의도 맵핑 컴포넌트(615)임)에 회답될 수 있다. 이후, 의도 맵핑 컴포넌트(615)는 의도 맵핑 서비스(620)로부터 수신된 정보에 기초하여 UI(600)에서 요소들을 표면화할 수 있다.
일부 구현예에 있어서, 사용자의 의도의 결정을 가능하게 하거나, 및/또는 유용할 수 있는 부가적인 사용자 인터페이스 요소들을 생성하기 위해, 부가적인 정보가 사용될 수 있다. 부가적인 정보는 경우에 따라 달라질 수 있지만, 일부 실시예에 있어서는, 애플리케이션 상태(애플리케이션에서의 사용자 인터페이스의 상태를 포함)와 같은 정보를 포함할 수 있다. 예컨대, 애플리케이션이 워드 프로세서인 경우에는, 주어진 사용자 의도를 수행함에 있어서 도움이 되는 특징들 및 정보가 단어 및 단락에 대하여 상이할 수 있기 때문에, 관련 사용자 인터페이스 상태는 단일의 단어가 전체 단락을 대신하여 인터페이스에서 선택된다는 사실을 포함할 수 있다.
부가적인 정보의 다른 형태들은 과거에 사용자가 요청했던 의도들의 이력을 포함할 수 있다. 이는 사용자가 통상적으로 인보크하는 특징들 및 기능들의 유형들의 이력을 포함할 수도 있다. 의도는 그래프 열기(Open Graph) 표준에 기초한 소셜 그래프 또는 다른 그래프에 대하여, 또는 심지어 온라인 여론조사 또는 다른 능동 집계 피드백에 대하여 비교 또는 검색될 수 있다. 부가적인 정보는 사용자의 유형, 예컨대 사용자가 사내 네트워크로부터 작업하고 있는지 또는 외부로부터 작업하고 있는지의 여부를 포함할 수도 있다. 전자의 경우에는, 사용자의 의도가 더욱 작업-지향적일 가능성이 높고, 후자의 경우에는, 사용자의 의도가 더욱 소비자-지향적일 가능성이 높다. 예컨대, 사용자가 "레터를 포매팅해라(format a letter)" 또는 "레터를 준비해라(prepare a letter)"라고 말로 표현한 의도는 레터가 개인용 레터가 아니라 비지니스 레터로서 준비되고 있는지의 여부에 기초하여 특정 정보 또는 도구들을 포함할 수 있다. 예컨대, 비지니스 레터는 정해진 포맷을 따를 수 있기 때문에(또한, 폼 레터를 포함할 수 있기 때문에), 동일한 스타일, 심지어 동일한 요지의 다수의 레터의 생성에 관련된 정보 또는 도구들이 도움이 될 수 있다. 반대로, 개인용 레터는 이력서의 커버 레터를 준비하는 것에 관련된 도구들 및 정보, 또는 대안적으로 휴일 안내 또는 생일 축하 카드 도구들로부터 유익할 수 있다.
또한, 부가적인 정보(및/또는 언급되지 않은 다른 정보 및 메타데이터)의 일부는 사용자의 의도의 자연어 스테이트먼트에 기초하여 선택된 사용자 인터페이스 요소들과 함께 표면화될 수 있는 자동완성 기능의 커맨드들 및/또는 요소들을 생성하는데 사용될 수 있다.
위에서 언급한 바와 같이, 맵핑 서비스는 실시예에 따라 달라지는 다양한 방식으로 특징들 및 정보에 대한 의도들의 맵핑을 실행할 수 있다. 일부 실시예에 있어서, 고급 의도-특징 맵핑 언어는 의도들 및 그들의 상응하는 특징들 및 정보를 서술 및 게재하는데 이용될 수 있다. 규정된 XML 스키마(XSD)를 따르는 XML 데이터와 같은, 본 기술분야에서 보편적인 방법들을 이용하면, 다양한 자연어 의도들이 애플리케이션의 관련 커맨드들에 매칭될 수 있다.
도 6b에 도시된 바와 같이, 의도 맵핑 컴포넌트(625)는 의도 맵핑 서비스(620)로부터 XML(680)을 취득할 수 있다. 의도 맵핑 컴포넌트는 일부 구현예에 있어서는 표준화된 OS 특징부로서 이용 가능한 것일 수 있다. 의도 맵핑 컴포넌트(625)는 관련된 태스크 서술을 판독하고, 특징들을 애플리케이션 내부에서 그들의 보편적인 호출 가능한 명칭들에 매칭시킴으로써 XML 서술을 처리한다.
일부 실시예에 있어서, 애플리케이션 개발자들은 표준화된 커맨드 세트 게재 인터페이스(681)를 이용하여 그들의 애플리케이션들에서 커맨드들을 "게재(publish)"할 수 있다. 이렇게 해서, 내부 커맨드(682)들이 의도-기반의 맵핑을 위한 외부 호출자들에 대하여 액세스 가능한 것으로 된다. 다수의 애플리케이션들이 이미, 다른 애플리케이션들 또는 서비스들이 프로그래밍 언어, 스크립팅 언어, 또는 마크로 언어로부터 작업들을 실행 또는 "호출(call)"하는 것을 허용하는 API 또는 "객체 모델(object model)"을 노출하고 있다는 점에 유의해야 한다. 마이크로소프트 워드(Microsoft Word®)는, 예컨대 그 특징들의 대부분을 노출시켜서 마이크로소프트 워드(Microsoft Word®) 문서 파일들을 워드 객체 모델(Word Object Model)을 통해 조작한다.
애플리케이션 개발자가 태스크 맵핑에 이용할 수 있게 만들고자 하는 커맨드들 및 특징들은 의도-기반 사용자 경험에 이용 가능한 특징들을 게재하기 위한 표준화된 인터페이스 모델에 따라 규정될 수 있다. 인터페이스 규정 모델의 일례는, 그 애플리케이션 내부 기능 명칭 "방위 플립(orientation flip)"에 매칭된 단일 커맨드 "페이지 방위 변경(change page orientation)"를 묘사하는, 도 6b에 도시된다.
도 6b에 나타내진 예에서는, 의도 맵핑 컴포넌트(625)가 일반적으로 OS를 통해 호출 가능하고 반드시 애플리케이션에 의해 제어되는 것은 아니라는 점에 유의해야 한다. 이는, 의도 상호작용 표면을 디스플레이하기 위한 보다 일반화된 모델을 나타내고, 여기서 의도는 주어진 애플리케이션의 인터페이스의 외부로부터 말로 표현될 수 있지만, 여전히 하나 이상의 애플리케이션 내부에서 커맨드들을 호출할 수도 있다.
보다 복잡한 사용자 인터페이스 요소들이 동적 인터페이스 표면에 디스플레이되게 되는 실시예들에 있어서, 애플리케이션 개발자는 위에서 기술한 XML-기반의 기술들을 이용해서 커맨드들과 인터페이스 요소들을 맞춤형 인터페이스 요소들에 결합하여 게재할 수 있다. 응용 주문형 "커스텀(custom)" 인터페이스 요소들을 규정하는 방법들은 본 기술분야에 공지되어 있으며, 기존의 사양들에 따라 실행될 수 있다.
일부 실시예에 있어서, 의도들은 애플리케이션 기능들에 맵핑하도록 애플리케이션 개발자에 의해 특별히 규정될 수 있다. 그러나, 위에서 기술한 의도-특징 맵핑 언어를 이용하면, 제 3 자들이 의도-특징 서술들을 개발할 수 있을 것이라고도 생각된다. 이들 제 3 자들은 인터넷 포럼, 블로그, 웹사이트, 또는 소셜 미디어 환경에 참여하는 개인들을 포함할 수 있다. 개인들은 복잡한 태스크들에 대하여 도움을 필요로 하는 사용자들에게 의도-특징 맵핑 서술들을 판매할 수 있는 웹 거래업체에 고용된 전문가들일 수도 있다. 개인들은, 심지어, 회사에 특정된 일련의 비지니스 태스크에 대하여 의도-기능 맵핑들을 규정하는 일을 실행하는 회사의 종업원일 수도 있다.
위에서 주지된 바와 같이, 의도 맵핑 서비스는, 애플리케이션 특징들 외에, 사용자가 태스크를 수행함에 있어서 유용해 할만한 정보를 회답할 수도 있다. 이 정보는 애플리케이션의 도움말 파일로부터의 서술형 도움말 문서를 포함할 수 있다. 또한, 복잡한 작업을 실행하는 방법을 보다 상세하게 서술하는 웹 페이지를 포함할 수도 있다. 또한, 작업을 실행하는 방법을 사용자에게 시각적으로 보여주는 웹사이트에서 이용 가능한 비디오 파일을 포함할 수도 있다. 상기와 같은 정보 제공 소스들은 맵핑 언어로 서술될 수 있거나, 또는 웹 서치 또는 다른 방법을 이용해서 의도 맵핑 서비스에 의해 컴파일링될 수 있다.
상황들:
하기의 예시적인 상황들은 본 발명의 특정 실시예들 및 그 많은 장점들에 대한 보다 나은 이해를 제공하기 위해 제시된다. 하기의 예시적인 상황들은 단지 실시예들에 대한 일부 적용예 및 변형예를 설명하려는 것이다. 물론, 이들은 어떤 식으로든 제한적인 것으로 여겨지지 않아야 한다.
일부 상황에 있어서, 태스크-지향 인터페이스는 의도의 스테이트먼트에 응답하여 가능한 의도들로 이루어진 리스트를 덧붙이는 단순한 텍스트 윈도우를 수반할 수 있으며, 가능한 의도들 각각에는 사용자의 목표를 수행함에 있어서 도움이 되는 관련 애플리케이션 기능 및 기타 정보가 하위에 열거된다.
다른 상황들은, 다수의 애플리케이션 및/또는 보다 복잡한 사용자 입력 장치들을 수반할 수 있는 의도들을 사용자가 말로 표현할 수 있게 하는, 보다 정교한 상호작용 표면들을 표면화할 수 있다.
예시적인 상황 A:
도 7a 및 도 7b에 묘사된 예에 있어서는, 워드 프로세싱 애플리케이션 인터페이스(700)가 예시된다. 애플리케이션의 메인 메뉴 영역(701)에서, 텍스트 박스를 포함하는 상호작용 요소(710)는 사용자가 의도의 스테이트먼트를 표현하는 문구를 타이핑하는 것을 허용한다. 도 7a의 예에 있어서, 박스를 클릭하면, 보편적인 의도들, 특징들, 및 정보의 교차 구역을 포함하는 선택 리스트(711)가 표면화될 수 있다. 이 리스트는 사용자의 개인적인 사용 데이터, 애플리케이션에 대한 보편적인 검색 질의들, 사용 데이터 수집 서비스에 의해 계산된 보편적으로 사용되는 커맨드들, 최신 버전의 애플리케이션에서 새롭게 배포된 커맨드들, 또는 상술한 것들의 어느 하나 또는 전부의 조합에 기초하여 덧붙여질 수 있다.
사용자가 도 7b에 묘사된 텍스트 박스에 타이핑하기 시작하면, 의도들로 이루어진 리스트를 좁히기 위해 의도 맵핑 서비스가 문자들을 이용할 수 있다. 도시된 바와 같이, 상호작용 요소(710)에 문자 "in"을 타이핑하면, 가능한 관련 커맨드들(712) 및 정보(713)를 리스트(711)에 덧붙이기 시작할 수 있다. 본 예에서는, "insert a table(표 삽입)" 및 "increase my margins(여백 늘리기)"가 워드 프로세싱 애플리케이션에서 2개의 가능한 관심 특징 세트로 될 수 있다. 또한, 본 예에서는, 관련된 정보 제공 팁들 및 항목들로 이루어진 리스트(정보(713))가 묘사된다. 마우스, 터치 제스처, 또는 그 밖의 적절한 인터페이스 방법으로 커맨드(712) 또는 정보(713) 소스를 클릭하면, 리스트로부터 아이템이 활성화된다.
예시적인 상황 B:
도 7c에 묘사된 예는 부가적인 의도들 및 특징 세트들로 이루어진 그룹을 회답하는 의도의 자연어 스테이트먼트를 사용자가 입력하는 것을 묘사한다. 여기서, 상호작용 요소(710)에 대한 의도 입력의 자연어 스테이트먼트는 워드 프로세싱 애플리케이션의 사용자에게 해결되어야 할 "문제(problem)"로서, 즉 글씨가 너무 작게 보인다고 표현된다. 사용자의 "문제"를 해결하기 위한, 특징 세트로서 그룹화된 다양한 "해법(solutions)"이 의도 맵핑 서비스에 의해 추천되고, 예컨대 리스트(715)의 일부로서 표면화된다. 해법들은 그 자체로 사용자의 의도를 결정하는 것을 돕는데 사용될 수 있으며, 해법을 선택하면, 태스크를 수행하는데 유용할 수 있는 커맨드 또는 정보로 귀결될 수 있다.
각각의 특징 세트는 그 자체로 선택 가능한 것이다. 본 예에서, 사용자는 텍스트를 더 크게 만들기(make the text bigger)(720)로 결정하고, 다양한 인터페이스 요소를 가진 커맨드 그룹을 포함하는 추가의 상호작용 표면을 연다. 하나의 인터페이스 요소는 사용자가 드롭다운 선택 리스트를 이용해서 더욱 보기 편하다고 생각하는 새로운 글꼴(721)을 선택할 수 있게 한다. 다른 입력 장치, 즉 업/다운 "스피너" 제어부(up/down "spinner" control)는 사용자가 글자 크기(722)를 키울 수 있게 한다. 그 자체로 커맨트들을 포함하는 추가의 인터페이스를 표면화하는 세 번째 요소는 사용자가 텍스트의 "커닝(kerning; 글자 엇물리기)"을, 또는 각각의 개별 문자 사이의 공백을 조정(723)할 수 있게 한다.
예시적인 상황 C:
개인 정보 관리(PIM) 애플리케이션(이메일, 태스크, 캘린더, 및 연락처를 정리함)의 사용자는 휴가를 갑니다. 사용자는 PIM에 대한 상호작용 요소(도시되지 않음)에 "다음 주에 휴가 갑니다(I am going on vacation next week)"라고 타이핑하거나 구술한다. 다양한 시간 표현들이 사용될 수 있고, 예컨대 퍼지 캘린더링(또는 퍼지 시간 연계)을 통해 시스템이 이해할 수 있다. 상호작용 요소는 PIM에 대한 인터페이스와 동일한 또는 상이한 장치일 수 있다. PIM에 대한 태스크-지향 사용자 인터페이스(800)는 사용자가 휴가에 대비할 수 있게 커맨드들, 기능들 및 정보를 제시하도록 표면화될 수 있다.
이 상황에 있어서, 사용자의 의도의 자연어를 취득하는 것에 응답하여 표면화될 수 있는 사용자 인터페이스 요소들은 사용자가 부재중(out-of-office) 메시지를 타이핑할 수 있는 박스(801), 일정 변경 또는 취소되어야 할 예약 리스트(802), 기한을 변경할 필요가 있는 태스크 리스트(803), 및 특정 발송자로부터의 이메일이 예비자(backup person)에게로 경로 변경될 수 있는 규칙을 설정하기 위한 사용자 입력 요소들(804)을 포함한다. 이들 애플리케이션 특징들 각각은 PIM의 일부일 수 있지만, 전형적인 PIM에서는, 각각 자신의 커맨드 구조를 갖춘, 애플리케이션의 모든 상이한 세그먼트들로 전환하는 것에 의해서만 액세스 가능하다. 일부 경우에는, 사용자 인터페이스 요소들은 모호한 의도들 또는 "퍼지(fuzzy)" 의도들(예컨대, "저녁 식사(dinner)"는 제시하기에는 너무 많은 특징들 및 태스크들에 관련될 수 있고, 저녁 식사에 관련된 많은 상이한 양태들을 다룸)의 명확화를 가능하게 하는 것들을 포함할 수 있다.
일부 구현예에 있어서, 태스크-지향 사용자 인터페이스는 보다 전통적인 PIM 사용자 인터페이스 위에 윈도우에서 표면화되고; 따라서, "종료(Finished)" 버튼(805)을 클릭하면 요청된 기능들이 완료될 수 있어서, 동적 사용자 인터페이스가 닫히고 사용자는 자신의 앞서의 인터페이스 표면으로 복귀한다.
예시적인 상황 D:
상황 D는 다중-애플리케이션 모델에 있어서의 개시된 기술의 능력을 추가로 나타낸다. 이 상황에 있어서, 사용자는 중요한 연락처의 생일이 다가오고 있다는 리마인더 통지를 PIM으로부터 취득한다. 이 리마인더와 관련된 태스크들에 대한 몇 가지 옵션은 의도-지향 사용자 경험에 대한 상호작용 요소에 포함될 수 있다. 예컨대, 생일 통지의 문맥에서 사용자의 가능성 높은 다음 의도들을 예상하면, PIM은 가능성 높은 의도들을 처리하고, 하나의 응답으로서 연락처에 대하여 "생일 축하 카드를 만들어라(make a birthday card)"라고 추천한다.
도 9는 상황 D를 구현하는 예시적인 인터페이스를 나타낸다. 리마인더 메시지(900)는 PIM의 통상적인 리마인더 디스플레이 모델의 일부로서 표면화된다. 리마인더 메시지는 사용자에 의해 선택 가능한 태스크들(901)을 포함할 수 있거나, 또는 사용자가 의도의 자연어 스테이트먼트를 표시할 수 있는 상호작용 요소(902)를 포함할 수 있다.
사용자가 "생일 축하 카드를 만들어라(make a birthday card)"(903)를 선택(또는 자연어 스테이트먼트를 입력)하면, 생일 축하 카드를 만드는 태스크와 관련된 PIM(또는 그 밖의 액세스 가능한 애플리케이션)의 하나 이상의 사용자 인터페이스 요소가 윈도우 또는 페인(905)(또는 그 밖의 컨테이너)에서 표면화될 수 있다. 하나의 가능한 사용자 인터페이스 요소는 워드 프로세싱 또는 게재 애플리케이션을 통해 이용할 수 있는 생일 축하 카드에 대한 템플릿(910)의 선택을 가능하게 하는 특징들을 포함한다. 다른 사용자 인터페이스 요소는 제 2 애플리케이션이 인보크되게 할 수 있다. 예컨대, "감격적인 인용문을 뽑아라(pick an inspirational quotation)"(911)는, 제 1 애플리케이션(워드 프로세싱 애플리케이션)과 검색 엔진 서비스 사이의 통신을 통해 또는 웹 브라우저의 제 3 애플리케이션을 통해 액세스할 수 있는 검색 엔진과 같은 상이한 애플리케이션에 사용자가 액세스하는 것을 가능하게 할 수 있다.
일 구현예에 있어서, "감격적인 인용문을 뽑아라(pick an inspirational quotation)"(911)의 선택은 인용구들(또는 감격적인 인용구를 취하는 것에 관련된 커맨드들)의 드롭다운 메뉴를 제공할 수 있다. 다른 구현예에 있어서, "감격적인 인용문을 뽑아라(pick an inspirational quotation)"(911)의 선택은 웹 브라우저(920)를 불러낼 수 있다.
예시적인 컴퓨팅 환경
도 10은 일부 실시예에서 사용되는 컴퓨팅 장치(예컨대, 사용자 장치(612))의 컴포넌트들을 나타내는 블록도를 도시한다. 시스템(1000)은 실행 프로그램 명령어들에 대해 협력하는 단일의 컴퓨팅 장치 내에서 구현되거나, 또는 다수의 컴퓨팅 장치들 또는 서브-시스템들에 걸쳐 분포될 수 있다. 시스템(1000)은, 제한되는 것은 아니지만, 개인용 컴퓨터, 태블릿 컴퓨터, 리더, 모바일 장치, 개인 정보 단말기, 웨어러블 컴퓨터, 스마트폰, 랩탑 컴퓨터(노트북 또는 넷북), 게임용 장치 또는 콘솔, 데스크탑 컴퓨터, 또는 스마트 텔레비전을 포함하는 무수한 컴퓨팅 장치를 구현하는 데 사용될 수 있다. 결국, 시스템(1000)에 관하여 기술된 요소들은 특정 컴퓨팅 장치를 구현하기 위해 더 많이 또는 더 적게 포함될 수 있다.
시스템(1000)은, 예컨대, 장치 운영 체제(OS)(1015)와 상호작용하는 하나 이상의 애플리케이션 프로그램(1010)의 명령어들에 따라 데이터를 처리하는 프로세서(1005)를 포함한다. 프로세서(1005)로서는, 범용 중앙 처리 유닛, 응용 주문형 프로세서, 및 로직 디바이스 뿐만 아니라 그 밖의 임의의 유형의 처리 장치, 그 조합 또는 변형을 예로 들 수 있다.
애플리케이션 프로그램(1010), OS(1015) 및 기타 소프트웨어는 스토리지 시스템(1020)에 로딩되어 저장될 수 있다. 장치 운영 체제(1015)는 일반적으로, 컴퓨팅 장치 내의 다양한 컴포넌트들의 기능들을 제어 및 조정해서, 네트워킹 인터페이스와 같은 저급 인터페이스들과의 보다 용이한 접속을 애플리케이션들에 제공한다. 운영 체제의 비제한적인 예로서는, 마이크로소프트사(Microsoft Corp.)의 윈도우즈(Windows®), 애플사(Apple, Inc.)의 IOS™, 구글사(Google, Inc.)의 안드로이드 OS(Android® OS), 마이크로소프트사의 윈도우즈 RT(Windows® RT), 및 캐노니컬사(Canonical)의 리눅스 OS(Linux® OS) 기반의 우분투(Ubuntu®) 제품군을 들 수 있다.
OS(1015)는 컴퓨팅 장치 상에서 전용으로, 또한 전용의 디바이스 OS의 상위에서 가동하는 소프트웨어 가상화 레이어 상에서 구현될 수 있다는 점에 유의해야 한다. 도 10에 묘사되어 있지는 않지만, 가상화된 OS 레이어들은, OS, 애플리케이션 프로그램, 및 API를 각각 포함하는, OS(1015) 공간 내의 추가적인 내포 그룹들로 여겨질 수 있다.
스토리지 시스템(1020)은 프로세서(1005)에 의해 판독 가능하고 소프트웨어(예컨대, 애플리케이션 프로그램(1010) 및 OS(1015))를 저장할 수 있는 임의의 컴퓨터 판독 가능 스토리지 매체를 포함할 수 있다.
스토리지 시스템(1020)은 컴퓨터 판독 가능 명령어, 데이터 구조, 프로그램 모듈, 또는 그 밖의 데이터와 같은 정보를 저장하는 임의의 방법 또는 기술로 구현된 휘발성 및 비휘발성의, 착탈식 및 비착탈식 매체를 포함할 수 있다. 스토리지 매체로서는, 랜덤 액세스 메모리, 리드 온리 메모리, 자기 디스크, 광 디스크, 플래시 메모리, 가상 메모리 및 비-가상 메모리, 자기 카세트, 자기 테이프, 자기 디스크 스토리지 또는 기타 자기 스토리지 장치, 또는 임의의 다른 적절한 스토리지 매체를 예로 들 수 있다. 어떠한 경우에도, 스토리지 매체는 전파 신호가 아니다. 스토리지 매체 외에, 일부 구현예에 있어서 스토리지 시스템(1020)은 소프트웨어가 내부로 또는 외부로 통신할 수 있게 하는 통신 매체를 포함할 수도 있다. 스토리지 시스템(1020)은 단일의 스토리지 장치로서 구현될 수 있지만, 서로 같은 장소에 위치되거나 또는 분산되는 다수의 스토리지 장치들 또는 서브-시스템들에 걸쳐서 구현될 수도 있다. 스토리지 시스템(1020)은 프로세서(1005)와 통신할 수 있는 컨트롤러와 같은 부가적인 요소들을 포함할 수 있다.
소프트웨어는 프로그램 명령어들로 구현될 수 있으며, 여러 기능들 중에서도, 일반적으로는 시스템(1000)에 의해, 또는 특히는 프로세서(1005)에 의해 실행될 때, 시스템(1000) 또는 프로세서(1005)를 본 명세서에 기술된 바와 같이 작동시킬 수 있다. 소프트웨어는 운영 체제 소프트웨어 또는 그 밖의 애플리케이션 소프트웨어와 같은 부가적인 프로세스들, 프로그램들, 또는 컴포넌트들을 포함할 수 있다. 소프트웨어는, 또한 프로세서(1005)에 의해 실행 가능한 기계-판독 가능 프로세싱 명령어들의 펌웨어 또는 일부 다른 형태를 포함할 수도 있다.
일반적으로, 소프트웨어는, 프로세서(1005)에 로딩되어 실행될 때, 컴퓨팅 시스템(1000) 전체를 범용 컴퓨팅 시스템으로부터 맞춤형 특수 목적 컴퓨팅 시스템으로 변환해서, 각각의 구현에 대하여 본 명세서에 기술된 바와 같이 문맥 관련 정보 색인 및 내비게이션 프로세스 플로우를 가능하게 할 수 있다. 실제로, 스토리지 시스템(1020) 상의 소프트웨어를 부호화하면, 스토리지 시스템(1020)의 물리적 구조가 변환될 수 있다. 물리적 구조의 구체적인 변환은 본 명세서의 상이한 구현예들에서의 다양한 인자들에 의존할 수 있다. 상기와 같은 인자들로서는, 스토리지 시스템(1020)의 스토리지 매체를 구현하는데 사용된 기술 및 컴퓨터-스토리지 매체가 일차 또는 이차 스토리지로서 특정되는지의 여부를 예로 들 수 있지만, 이들에 한정되는 것은 아니다.
예컨대, 컴퓨터-스토리지 매체가 반도체-기반의 메모리로서 구현되면, 소프트웨어는, 프로그램이 내부에서 부호화될 때, 반도체 메모리를 구성하는 트랜지스터, 커패시터, 또는 그 밖의 개별 회로 요소들의 상태를 변환하는 등에 의해, 반도체 메모리의 물리적 상태를 변환할 수 있다. 자기 또는 광학 매체에 대해서도 유사한 변환이 일어날 수 있다. 본 명세서의 범위로부터 일탈함이 없이, 단지 이 논의를 가능하게 할 의도로 제공된 전술한 예들에 의해, 물리적 매체의 다른 변환들도 가능하다.
시스템(1000)의 다수의 요소들이 시스템-온-칩(SoC) 장치에 포함될 수 있다는 점에 유의해야 한다. 이들 요소는, 프로세서(1005), 통신 인터페이스(1035), 오디오 인터페이스(1040), 비디오 인터페이스(1045), 및 심지어 스토리지 시스템(1020)의 요소들을 포함할 수 있지만, 이들에 한정되는 것은 아니다.
통신 인터페이스(1035)는 하나 이상의 통신 네트워크(도시되지 않음)를 통한 다른 컴퓨팅 시스템들과의 통신을 허용하는 통신 접속부들 및 장치들을 포함할 수 있다. 시스템간 통신을 함께 허용하는 접속부들 및 장치들로서는, 네트워크 인터페이스 카드, 안테나, 전력 증폭기, RF 회로, 트랜시버, 및 그 밖의 통신 회로를 예로 들 수 있다. 접속부들 및 장치들은 다른 컴퓨팅 시스템들 또는 시스템들의 네트워크들과 통신을 교환하기 위해 통신 매체(예컨대, 금속, 유리, 공기, 또는 임의의 다른 적절한 통신 매체)를 통해 통신할 수 있다. 통신 인터페이스에 대한 전송은 필요에 따라 애플리케이션 및 API에 통신 이벤트를 통지하는 OS(1015)에 의해 제어된다.
인터페이스 장치(1050)는 마우스(1051), 트랙 패드, 키보드(1052), 마이크로폰(1053), 사용자로부터의 터치 제스처를 취득하는 터치 디바이스(1054), 사용자에 의한 비-터치 제스처 및 기타 모션들을 검출하는 모션 입력 장치(1055), 및 사용자 입력을 취득할 수 있는 다른 유형의 입력 장치들 및 그들의 관련 처리 요소들과 같은 입력 장치들을 포함할 수 있다.
인터페이스 장치(1050)는 디스플레이 스크린(1056), 스피커(1057), 촉각 피드백을 위한 팹틱 장치, 및 그 밖의 유형의 출력 장치들과 같은 출력 장치들을 또한 포함할 수도 있다. 특정한 경우에, 입력 장치와 출력 장치는 사용자로부터의 터치 제스처를 취득하고 이미지를 묘사하는 터치 스크린 디스플레이와 같은 단일의 장치에 결합될 수 있다. 그래픽 사용자 인터페이스 요소, 텍스트, 이미지, 비디오, 통지, 가상 버튼, 가상 키보드, 또는 시각적 형태로 묘사될 수 있는 임의의 다른 유형의 정보를 제시하는 시각적 출력은 디스플레이(1051) 상에서 무수한 방식으로 묘사될 수 있다. 다른 종류의 사용자 인터페이스도 가능하다. 사용자 인터페이스(1050)는 다양한 사용자 입력 장치 및 출력 장치를 지원하여 OS(1015)에 의해 실행되는 관련 사용자 인터페이스 소프트웨어도 포함할 수 있다. 상기와 같은 소프트웨어는 OS가 사용자 인터페이스 하드웨어 이벤트를 규정된 메커니즘을 이용해서 애플리케이션 프로그램(1010)에 통신하는 것을 돕는다.
컴퓨팅 시스템(1000)은 일반적으로, 본 명세서에 기술된 바와 같이 문맥 관련 정보 색인 및 내비게이션 프로세스 플로우로 애플리케이션을 구현하기 위해 소프트웨어를 배치해서 실행하는 컴퓨팅 시스템을 제시하려는 것이다. 그러나, 컴퓨팅 시스템(1000)은, 소프트웨어가 설치될 수 있고, 또한 배치 및 실행을 위해, 또는 추가적인 분산을 위해, 그곳에서 소프트웨어가 분산되거나, 이전되거나, 다운로드되거나, 아니면 또 다른 컴퓨팅 시스템에 제공될 수 있는 임의의 컴퓨팅 시스템을 제시할 수도 있다.
도 11은 제안된 개량형의 애플리케이션이 시스템(1000)(도 10 참조)에서 묘사되고 위에서 논의된 원리들을 이용해서 구현될 수 있는 애플리케이션 환경(1100)을 나타낸다. 특히, 도 11은 다양한 플랫폼(1110, 1120, 1130, 및 1140)을 도시하고, 이들은 각각 문맥 관련 검색을 실행하고 관련된 결과물을 회답하기 위해 통신 네트워크(1101)를 통해 서비스 플랫폼들(1170 및 1180)과 통신할 수 있다. 애플리케이션 플랫폼들(1110, 1120, 1130, 및 1140)은 그 플랫폼 상에서 애플리케이션(1111, 1121, 1131, 1141)을 구현하기에 적합한 컴퓨팅 아키텍처를 채용하는 임의의 컴퓨팅 장치, 디바이스, 시스템, 또는 집합체일 수 있다.
일부 실시예에 있어서, 기술된 인터페이스들 및 프로세스 플로우는 텍스트 내용을 보고 조작하도록 설계된 애플리케이션들 내에서 구현될 수 있다. 다른 실시예들에 있어서, 기술된 방법들에 따라 텍스트 선택을 검출하고 관련된 결과물을 비간섭적으로 렌더링하는 기능은 OS에 의해, 또는 API를 통해 애플리케이션들에 액세스 가능한 레이어드 컴포넌트들에 의해 구현될 수 있다.
애플리케이션(1111)은 로컬에 설치되어 실행되는 풀 버전 또는 "전용(native)" 버전이 고려될 수 있다. 일부 경우에는, 애플리케이션(1111)은 하이브리드 방식으로 동작할 수 있고, 여기서 애플리케이션의 일부분은 로컬에 설치되어 실행되는 한편, 다른 부분들은 원격으로 실행되고 나서 로컬 렌더링을 위해 애플리케이션 플랫폼(1110)에 대하여 스트리밍된다. 애플리케이션(1111)은 마이크로소프트 워드(Microsoft Word®), 에버노트(Evernote®), 마이크로소프트 엑셀(Microsoft Excel®), 및 애플 페이지(Apple Pages®)를 비제한적인 예로서 포함할 수 있다.
애플리케이션 플랫폼(1120) 상에서 구현되는 브라우저-기반 애플리케이션(1121)은 브라우저 애플리케이션(1122)의 맥락에서 전적으로 또는 부분적으로 실행되는 브라우저-기반의 버전으로 고려될 수 있다. 이 모델에 있어서, 프로그래밍 명령어들의 전부 또는 일부는 원격으로 실행되고, 브라우저(1122)는 결과물을 HTML과 같은 시각적 표현 언어를 통해 사용자의 장치에 렌더링한다. 브라우저-기반 애플리케이션(1121)은 마이크로소프트 오피스 웹 앱 서비스(Microsoft Office® Web App Service) 및 구글 드라이브(Google Drive™)를 비제한적인 예로서 포함한다. 브라우저 애플리케이션(1122)은 구글 크롬(Google Chrome™), 마이크로소프트 인터넷 익스플로러(Microsoft Internet Explorer™), 및 모질라 파이어폭스(Mozilla Firefox™)를 예로서 포함한다.
애플리케이션(1131)은 모바일 장치 상에서 로컬에 설치되어 실행되는 모바일 애플리케이션 버전으로 고려될 수 있다. 일부 경우에는, 애플리케이션(1131)은 하이브리드 방식으로 동작할 수 있고, 여기서 애플리케이션의 일부분은 로컬에 설치되어 실행되는 한편, 다른 부분들은 원격으로 실행되고 나서 로컬 렌더링을 위해 애플리케이션 플랫폼(1130)에 대하여 스트리밍된다. 모바일 애플리케이션(1131)은 구글 안드로이드(Google Android™) 및 애플 IOS(Apple IOS™) 장치 상의 퀵오피스 HD(QuickOffice® HD)를 비제한적인 예로서 포함한다.
애플리케이션 플랫폼(1140) 상에서 구현되는 애플리케이션(1141)은 모바일 브라우저 애플리케이션(1142)의 맥락에서 전적으로 또는 부분적으로 실행되는 브라우저-기반의 버전으로 고려될 수 있다. 이 모델에 있어서, 프로그래밍 명령어들의 전부 또는 일부는 원격으로 실행되고, 모바일 브라우저(1142)는 결과물을 HTML과 같은 시각적 표현 언어를 통해 사용자의 장치에 렌더링한다. 모바일 브라우저-기반 애플리케이션(1141)은 마이크로소프트 스카이드라이브(Microsoft SkyDrive®), 구글 드라이브(Google Drive)를 통한 콘텐츠의 모바일-장치-증강 화면을 비제한적인 예로서 포함한다. 모바일 브라우저 애플리케이션(1142)은 구글 크롬(Google Chrome™) 및 모질라 파이어폭스(Mozilla Firefox™)를 예로서 포함한다.
애플리케이션 플랫폼(1110, 1120, 1130, 및 1140)은 네트워크(1101)에 의해 접속된 서비스 플랫폼들(1170 및 1180)과 통신할 수 있다. 서비스 플랫폼들은 본 명세서에 기재된 바와 같은 의도-기반의, 태스크-지향 사용자 경험을 가능하게 하는, 애플리케이션 플랫폼들 및 애플리케이션들에 유용한 다양한 서비스를 전달할 수 있다. 예컨대, 서비스 플랫폼(1170)은 위에서 상세히 기술한 의도 맵핑 서비스(1171)를 전달할 수 있다. 서비스(1171)는 원격 프로그래밍 명령어들을 호스팅해서, 그 결과물을 애플리케이션 플랫폼들 중 어느 하나의 플랫폼 상의 애플리케이션들 또는 브라우저들에 렌더링한다. 의도 맵핑 서비스(1171)는 네트워크를 통해 통신하는 하나 이상의 물리 및/또는 가상 서버를 이용해서 구현될 수 있다.
또한, 서비스 플랫폼(1180)은 애플리케이션들(1111, 1121, 1131, 및 1141)에 의해, 또한 의도 맵핑 서비스(1171)에 의해 이용될 수 있는 파일들 또는 기타 데이터의 비-로컬 저장을 가능하게 하는 스토리지 제공자 서비스(1181)를 전달할 수 있다. 예컨대, 스토리지 제공자 서비스(1181)는 클라우드 스토리지 제공자, 데이터베이스 서버, 또는 로컬 에이리어 네트워크 파일 서버일 수 있다. 의도 맵핑 서비스는 본 명세서에 기술된 바와 같이 의도 규정에 대한 또는 정보 제공 콘텐츠에 대한 이들 스토리지 제공자를 검색하고 결과물을 제시하는 기능을 포함할 수 있다. 스토리지 제공자 서비스는 마이크로소프트 스카이드라이브(Microsoft SkyDrive®), 구글 드라이브(Google Drive™), 드롭박스(DropBox™), 박스(Box™), 및 마이크로소프트 SQL 서버(Microsoft® SQL Server)를 비제한적인 예로서 포함한다.
이 명세서에서 인용되는 "일 실시예(one embodiment)", "실시예(an embodiment)", "예시적인 실시예(example embodiment)" 등은 실시예와 관련되어 기술된 특정한 특징, 구조, 또는 특성이 본 발명의 적어도 하나의 실시예에 포함된다는 것을 의미한다. 본 명세서의 여러 곳에서 상기와 같은 문구가 출현하더라도, 반드시 전부 동일한 실시예를 의미하는 것은 아니다. 또한, 본 명세서에 개시된 임의의 발명 또는 그 실시예의 임의의 요소들 또는 제한들은 본 명세서에 개시된 임의의 다른 발명 또는 그 실시예의 임의의 및/또는 모든 요소들 또는 제한들(개별적으로 또는 임의의 조합으로)과 결합될 수 있으며, 상기와 같은 모든 조합은 제한 없이 본 발명의 범위와 함께 고려된다.
본 명세서에 개시된 예들 및 실시예들은 단지 설명을 위해 의도된 것이며, 이에 비추어 당업자에게는 다양한 수정 또는 변경이 제안될 수 있고 본원의 정신 및 범위 내에 포함되는 것임을 이해해야 한다.

Claims (10)

  1. 하나 이상의 애플리케이션 내에서의 태스크의 수행을 용이하게 하는 방법으로서,
    생산성 애플리케이션의 이용에 관한 의도(intent)의 자연어 스테이트먼트(natural language statement)를 취득하는 단계와,
    상기 의도에 대응하는 하나 이상의 사용자 인터페이스 요소를 결정하는 단계와,
    상기 의도에 대응하는 상기 하나 이상의 사용자 인터페이스 요소를 이용해서 그래픽 사용자 인터페이스를 구성하는 단계를 포함하는
    방법.
  2. 제 1 항에 있어서,
    상기 의도에 대응하는 하나 이상의 사용자 인터페이스 요소를 결정하는 단계는,
    상기 자연어 스테이트먼트에 대응할 수 있는 가능한 관련된 태스크에 대하여 상기 자연어 스테이트먼트를 분석하는 단계와,
    상기 가능한 관련된 태스크와 연계된 하나 이상의 사용자 인터페이스 요소를 검색하는 단계
    를 포함하고,
    선택적으로, 사용자 유형, 사용자의 이전의 사용 이력, 상기 생산성 애플리케이션의 상태 및 사용자의 이전의 의도의 자연어 스테이트먼트의 이력 중 적어도 하나, 그리고 상기 의도의 자연어 스테이트먼트를 이용하는 단계를 포함하는
    방법.
  3. 제 1 항에 있어서,
    상기 의도에 대응하는 상기 하나 이상의 사용자 인터페이스 요소를 이용해서 그래픽 사용자 인터페이스를 구성하는 단계는, 상기 의도와 연계된 태스크를 수행하기 위한 도구 및 상기 의도와 연계된 태스크를 수행하기 위한 정보 중 적어도 하나를 표면화하는 단계를 포함하는
    방법.
  4. 하나 이상의 컴퓨터 판독 가능 스토리지 매체와,
    프로세싱 시스템에 의해 실행될 때, 상기 프로세싱 시스템으로 하여금, 재구성 가능한 태스크-지향 사용자 인터페이스를 렌더링하게 하는 상기 하나 이상의 컴퓨터 판독 가능 매체에 저장된 프로그램 명령어
    를 포함하는 장치로서,
    상기 재구성 가능한 태스크-지향 사용자 인터페이스는,
    생산성 애플리케이션의 이용에 관한 의도의 자연어 스테이트먼트를 취득하기 위한 상호작용 요소와,
    상기 의도의 결정에 응답하여 표면화되는 상기 의도와 연계된 하나 이상의 인터페이스 요소
    를 포함하고,
    선택적으로, 하나 이상의 자동완성 커맨드를 표면화하는 도구 요소를 포함하는
    장치.
  5. 제 4 항에 있어서,
    상기 하나 이상의 인터페이스 요소는 상기 의도와 연계된 태스크를 수행하기 위한 도구 및 상기 의도와 연계된 태스크를 수행하기 위한 정보 중 적어도 하나를 포함하고,
    상기 의도와 연계된 태스크를 수행하기 위한 정보는 애플리케이션 도움말 콘텐츠 또는 멀티미디어 콘텐츠를 포함하며,
    상기 의도와 연계된 태스크를 수행하기 위한 도구는 상기 의도에 따라 그룹화된 복수의 커맨드를 포함하는
    장치.
  6. 제 4 항에 있어서,
    상기 하나 이상의 인터페이스 요소는 제 1 생산성 애플리케이션으로부터의 제 1 인터페이스 요소, 및 개인 정보 관리 애플리케이션을 포함하는 제 2 생산성 애플리케이션과 상호작용하는 제 2 인터페이스 요소를 포함하는
    장치.
  7. 제 4 항에 있어서,
    상기 상호작용 요소는 상기 의도의 자연어 스테이트먼트를 제 2 장치로부터 취득하는
    장치.
  8. 의도-기반 사용자 경험(intent-based user experience)을 용이하게 하는 방법으로서,
    하나 이상의 애플리케이션의 이용에 관한 의도의 자연어 스테이트먼트를 취득하기 위한 상호작용 요소를 디스플레이하는 단계와,
    상기 의도의 자연어 스테이트먼트를 취득하는 것에 응답하여, 상기 의도의 자연어 스테이트먼트를, 상기 의도를 분류하고, 상기 의도에 대응하는 상기 하나 이상의 애플리케이션의 하나 이상의 도구, 하나 이상의 정보, 또는 이들의 조합을 포함하는 하나 이상의 인터페이스 요소의 표시를 제공하는 의도 맵핑 서비스(intent mapping service)에 보내는 단계와,
    상기 의도 맵핑 서비스로부터 상기 하나 이상의 인터페이스 요소의 표시를 취득하는 것에 응답하여, 상기 하나 이상의 사용자 인터페이스 요소를 제 1 메뉴에서 표면화하는 단계
    를 포함하는 방법.
  9. 제 8 항에 있어서,
    상기 하나 이상의 애플리케이션은 적어도 하나의 생산성 애플리케이션을 포함하고,
    상기 방법은, 상기 적어도 하나의 생산성 애플리케이션의 자동완성 기능의 커맨드(predictive command)를 제 2 메뉴에서 표면화하는 단계를 더 포함하는
    방법.
  10. 제 8 항에 있어서,
    상기 제 1 메뉴에서의 상기 하나 이상의 인터페이스 요소는 상기 하나 이상의 애플리케이션의 표준 메뉴에서는 함께 보이지 않는
    방법.
KR1020167016055A 2013-12-18 2014-12-11 의도-기반 사용자 경험을 제공하는 기법 KR20160099575A (ko)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US14/133,093 US20150169285A1 (en) 2013-12-18 2013-12-18 Intent-based user experience
US14/133,093 2013-12-18
PCT/US2014/069636 WO2015094871A2 (en) 2013-12-18 2014-12-11 Intent-based user experience

Publications (1)

Publication Number Publication Date
KR20160099575A true KR20160099575A (ko) 2016-08-22

Family

ID=52358973

Family Applications (1)

Application Number Title Priority Date Filing Date
KR1020167016055A KR20160099575A (ko) 2013-12-18 2014-12-11 의도-기반 사용자 경험을 제공하는 기법

Country Status (6)

Country Link
US (1) US20150169285A1 (ko)
EP (1) EP3084758A4 (ko)
KR (1) KR20160099575A (ko)
CN (1) CN105830150B (ko)
TW (1) TW201537435A (ko)
WO (1) WO2015094871A2 (ko)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048213A (ko) * 2016-10-31 2018-05-10 한국항공우주산업 주식회사 통합개발환경 사용자 정의 멤버 편집창 구성 방법 및 장치

Families Citing this family (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120159341A1 (en) 2010-12-21 2012-06-21 Microsoft Corporation Interactions with contextual and task-based computing environments
US20120166522A1 (en) * 2010-12-27 2012-06-28 Microsoft Corporation Supporting intelligent user interface interactions
EP3040985B1 (en) * 2013-08-26 2023-08-23 Samsung Electronics Co., Ltd. Electronic device and method for voice recognition
US9754591B1 (en) * 2013-11-18 2017-09-05 Amazon Technologies, Inc. Dialog management context sharing
US20150186377A1 (en) * 2013-12-27 2015-07-02 Google Inc. Dynamically Sharing Intents
WO2015184284A1 (en) * 2014-05-29 2015-12-03 Intergraph Corporation Apparatus and method of displaying objects in configurable window groups
US10613751B2 (en) * 2014-06-27 2020-04-07 Telenav, Inc. Computing system with interface mechanism and method of operation thereof
US10338959B2 (en) 2015-07-13 2019-07-02 Microsoft Technology Licensing, Llc Task state tracking in systems and services
US20170177738A1 (en) * 2015-12-21 2017-06-22 Google Inc. Dynamic intent registry
US20170199748A1 (en) * 2016-01-13 2017-07-13 International Business Machines Corporation Preventing accidental interaction when rendering user interface components
US10635281B2 (en) 2016-02-12 2020-04-28 Microsoft Technology Licensing, Llc Natural language task completion platform authoring for third party experiences
US10990757B2 (en) 2016-05-13 2021-04-27 Microsoft Technology Licensing, Llc Contextual windows for application programs
US20180039478A1 (en) * 2016-08-02 2018-02-08 Google Inc. Voice interaction services
US20180046470A1 (en) * 2016-08-11 2018-02-15 Google Inc. Methods, systems, and media for presenting a user interface customized for a predicted user activity
US10802839B2 (en) * 2016-11-21 2020-10-13 Vmware, Inc. User interface customization based on user tendencies
US11025566B2 (en) * 2017-04-12 2021-06-01 Facebook, Inc. Techniques for intent-based search for bots
US11144810B2 (en) * 2017-06-27 2021-10-12 International Business Machines Corporation Enhanced visual dialog system for intelligent tutors
US11494395B2 (en) * 2017-07-31 2022-11-08 Splunk Inc. Creating dashboards for viewing data in a data storage system based on natural language requests
EP3622392A1 (en) 2017-08-22 2020-03-18 Google LLC Facilitating user device and/or agent device actions during a communication session
CN107773982B (zh) * 2017-10-20 2021-08-13 科大讯飞股份有限公司 游戏语音交互方法及装置
TWI661349B (zh) * 2017-11-15 2019-06-01 財團法人資訊工業策進會 產生對話式使用者介面的方法及系統
CN107977183A (zh) * 2017-11-16 2018-05-01 百度在线网络技术(北京)有限公司 语音交互方法、装置及设备
CN108268617B (zh) * 2018-01-05 2021-10-29 创新先进技术有限公司 用户意图确定方法及装置
CN108376544B (zh) * 2018-03-27 2021-10-15 京东方科技集团股份有限公司 一种信息处理方法、装置、设备及计算机可读存储介质
US11307880B2 (en) 2018-04-20 2022-04-19 Meta Platforms, Inc. Assisting users with personalized and contextual communication content
US11010436B1 (en) 2018-04-20 2021-05-18 Facebook, Inc. Engaging users by personalized composing-content recommendation
US11128735B2 (en) * 2018-10-05 2021-09-21 Microsoft Technology Licensing, Llc Remote computing resource allocation
CA3119946A1 (en) * 2018-11-16 2020-05-22 Liveperson, Inc. Automatic bot creation based on scripts
US11017045B2 (en) * 2018-11-19 2021-05-25 Microsoft Technology Licensing, Llc Personalized user experience and search-based recommendations
WO2020176353A1 (en) * 2019-02-25 2020-09-03 Liveperson, Inc. Intent-driven contact center
US11347756B2 (en) 2019-08-26 2022-05-31 Microsoft Technology Licensing, Llc Deep command search within and across applications
US12045637B2 (en) 2019-10-01 2024-07-23 Google Llc Providing assistive user interfaces using execution blocks
US11687601B2 (en) 2019-10-04 2023-06-27 The Toronto-Dominion Bank Dynamic user interface for navigating user account data
US20230186194A1 (en) * 2019-11-03 2023-06-15 Microsoft Technology Licensing, Llc Integrated Time Away Management Mechanism
CA3164413A1 (en) * 2020-01-22 2021-07-29 Amit Choudhary Providing an intent suggestion to a user in a text-based conversation
US20210240770A1 (en) * 2020-01-30 2021-08-05 Microsoft Technology Licensing, Llc Application search system
US11403286B2 (en) 2020-07-28 2022-08-02 Sap Se Bridge from natural language processing engine to database engine
TWI737431B (zh) * 2020-08-04 2021-08-21 易晨智能股份有限公司 資料傳輸系統及其方法
US11900046B2 (en) * 2020-08-07 2024-02-13 Microsoft Technology Licensing, Llc Intelligent feature identification and presentation
US11206330B1 (en) 2020-09-01 2021-12-21 T-Mobile Usa, Inc. Interactive voice response using intent prediction and a 5G capable device
WO2022065837A1 (en) * 2020-09-23 2022-03-31 Samsung Electronics Co., Ltd. Electronic apparatus and control method thereof
CN113761144A (zh) * 2020-11-16 2021-12-07 北京沃东天骏信息技术有限公司 应答信息确定方法和装置
US11775773B2 (en) * 2020-12-15 2023-10-03 Kore.Ai, Inc. Methods for conducting a conversation in an application enabled by a virtual assistant server and devices thereof
JP2022099403A (ja) * 2020-12-23 2022-07-05 富士フイルムビジネスイノベーション株式会社 情報処理装置およびプログラム
US20220404956A1 (en) * 2021-06-17 2022-12-22 Samsung Electronics Co., Ltd. Method and electronic device for navigating application screen
US11606446B1 (en) 2021-09-13 2023-03-14 International Business Machines Corporation Microapplication composition
CN114546554B (zh) * 2022-02-14 2023-11-07 支付宝(杭州)信息技术有限公司 一种控件的展示方法、装置以及设备
CN116257229A (zh) * 2023-03-13 2023-06-13 上海鼎捷移动科技有限公司 界面生成系统以及界面生成方法
CN115964115B (zh) * 2023-03-17 2023-06-02 中科航迈数控软件(深圳)有限公司 基于预训练强化学习的数控机床交互方法及相关设备
CN117112261A (zh) * 2023-08-28 2023-11-24 上海澜码科技有限公司 用于实现自然语言对话式api的方法及系统

Family Cites Families (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7085708B2 (en) * 2000-09-23 2006-08-01 Ravenflow, Inc. Computer system with natural language to machine language translator
US7720674B2 (en) * 2004-06-29 2010-05-18 Sap Ag Systems and methods for processing natural language queries
US8677274B2 (en) * 2004-11-10 2014-03-18 Apple Inc. Highlighting items for search results
US7409344B2 (en) * 2005-03-08 2008-08-05 Sap Aktiengesellschaft XML based architecture for controlling user interfaces with contextual voice commands
US7627466B2 (en) * 2005-11-09 2009-12-01 Microsoft Corporation Natural language interface for driving adaptive scenarios
US8781813B2 (en) * 2006-08-14 2014-07-15 Oracle Otc Subsidiary Llc Intent management tool for identifying concepts associated with a plurality of users' queries
US8924197B2 (en) * 2006-10-31 2014-12-30 Semantifi, Inc. System and method for converting a natural language query into a logical query
US8140335B2 (en) * 2007-12-11 2012-03-20 Voicebox Technologies, Inc. System and method for providing a natural language voice user interface in an integrated voice navigation services environment
US20090327915A1 (en) * 2008-06-27 2009-12-31 International Business Machines Corporation Automatic GUI Reconfiguration Based On User Preferences
US20100005085A1 (en) * 2008-07-03 2010-01-07 Oracle International Corporation Creating relationship maps from enterprise application system data
EP2629211A1 (en) * 2009-08-21 2013-08-21 Mikko Kalervo Väänänen Method and means for data searching and language translation
US10705794B2 (en) * 2010-01-18 2020-07-07 Apple Inc. Automatically adapting user interfaces for hands-free interaction
US8738377B2 (en) * 2010-06-07 2014-05-27 Google Inc. Predicting and learning carrier phrases for speech input
US8594997B2 (en) * 2010-09-27 2013-11-26 Sap Ag Context-aware conversational user interface
US8719192B2 (en) * 2011-04-06 2014-05-06 Microsoft Corporation Transfer of learning for query classification
US9754585B2 (en) * 2012-04-03 2017-09-05 Microsoft Technology Licensing, Llc Crowdsourced, grounded language for intent modeling in conversational interfaces
US8346563B1 (en) * 2012-04-10 2013-01-01 Artificial Solutions Ltd. System and methods for delivering advanced natural language interaction applications
US10656808B2 (en) * 2012-09-18 2020-05-19 Adobe Inc. Natural language and user interface controls
US9292492B2 (en) * 2013-02-04 2016-03-22 Microsoft Technology Licensing, Llc Scaling statistical language understanding systems across domains and intents
US20140249830A1 (en) * 2013-03-01 2014-09-04 Nuance Communications, Inc. Virtual medical assistant methods and apparatus
US9367625B2 (en) * 2013-05-03 2016-06-14 Facebook, Inc. Search query interactions on online social networks
US9575720B2 (en) * 2013-07-31 2017-02-21 Google Inc. Visual confirmation for a recognized voice-initiated action
US9229680B2 (en) * 2013-09-20 2016-01-05 Oracle International Corporation Enhanced voice command of computing devices

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR20180048213A (ko) * 2016-10-31 2018-05-10 한국항공우주산업 주식회사 통합개발환경 사용자 정의 멤버 편집창 구성 방법 및 장치

Also Published As

Publication number Publication date
EP3084758A2 (en) 2016-10-26
CN105830150A (zh) 2016-08-03
US20150169285A1 (en) 2015-06-18
WO2015094871A3 (en) 2015-10-22
CN105830150B (zh) 2019-11-26
WO2015094871A2 (en) 2015-06-25
EP3084758A4 (en) 2017-08-16
TW201537435A (zh) 2015-10-01

Similar Documents

Publication Publication Date Title
KR20160099575A (ko) 의도-기반 사용자 경험을 제공하는 기법
US10331416B2 (en) Application with embedded workflow designer
US10466971B2 (en) Generation of an application from data
CN108292206B (zh) 具有易于使用特征的工作流开发系统
KR102310648B1 (ko) 상황 정보 탐색 및 내비게이션 기법
US20170139890A1 (en) Smart card presentation of tabular data from collaboration database
US10691292B2 (en) Unified presentation of contextually connected information to improve user efficiency and interaction performance
US10733372B2 (en) Dynamic content generation
US20190065014A1 (en) Embedded analytics for applications and interfaces across multiple platforms
WO2017189637A1 (en) Tailored recommendations for a workflow development system
EP3111392A1 (en) Unified presentation of contextually connected information to improve user efficiency and interaction performance
US11244106B2 (en) Task templates and social task discovery
US9910644B2 (en) Integrated note-taking functionality for computing system entities
JP2016505955A (ja) 電子リーダにおけるフラットブックからリッチブックへの変換
US20240012540A1 (en) Methods and Systems for Input Suggestion
EP3563367A1 (en) Teaching and coaching user interface element with celebratory message
US12118488B2 (en) Automated code generation for data transformations in a workflow
US11036356B2 (en) Service backed digital ruled paper templates
Vandome macOS High Sierra in easy steps: Covers version 10.13

Legal Events

Date Code Title Description
WITB Written withdrawal of application