CN107646120A - 用于内容创建的交互式命令行 - Google Patents

用于内容创建的交互式命令行 Download PDF

Info

Publication number
CN107646120A
CN107646120A CN201680029636.6A CN201680029636A CN107646120A CN 107646120 A CN107646120 A CN 107646120A CN 201680029636 A CN201680029636 A CN 201680029636A CN 107646120 A CN107646120 A CN 107646120A
Authority
CN
China
Prior art keywords
order
service
communication system
input
user
Prior art date
Legal status (The legal status 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 status listed.)
Granted
Application number
CN201680029636.6A
Other languages
English (en)
Other versions
CN107646120B (zh
Inventor
M·莱恩
L·沃尔德曼
C·福斯
W·J·布利斯
L·E·雷加拉多德洛埃拉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
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 Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of CN107646120A publication Critical patent/CN107646120A/zh
Application granted granted Critical
Publication of CN107646120B publication Critical patent/CN107646120B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/101Collaborative creation, e.g. joint development of products or services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L51/00User-to-user messaging in packet-switching networks, transmitted according to store-and-forward or real-time protocols, e.g. e-mail
    • H04L51/04Real-time or near real-time messaging, e.g. instant messaging [IM]
    • H04L51/046Interoperability with other network applications or services
    • 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

Abstract

本公开内容的非限制性示例描述了可以与一个或多个命令资源对接的协作通信系统。协作通信系统可以包括至少一个存储器和与该存储器操作地连接的至少一个处理器以执行操作。响应于在协作通信系统的用户界面中的编写期间接收的命令输入,查询被处理并传递给命令资源。该查询包括命令输入的参数和与编写相关联的上下文。基于命令输入的参数和上下文从命令资源接收响应。该响应可以包括结果数据和用于与协作通信系统进行交互的参数。该结果数据被呈现在协作通信系统的用户界面中。还描述了其他示例。

Description

用于内容创建的交互式命令行
背景技术
目前可用多种多样的通信平台。一些通信平台(例如,消息传送和/或电子邮件平台)允许一定量的互操作性。然而,这些平台无法充分满足当代团队环境的需求和要求。常见的通信服务在团队环境中编写通信期间的能力方面是相当静态和有限的。此外,第三方服务通常向通信服务进行注册,但之后与通信服务的交互有限。本申请涉及这样的一般技术领域。
发明内容
本公开内容的非限制性示例描述了可以与一个或多个命令资源对接的协作通信系统。协作通信系统可以包括至少一个存储器和与存储器操作地连接的至少一个处理器以执行操作。响应于在协作通信系统的用户界面中的编写期间接收的命令输入,处理查询并将其传递给命令资源。查询包括命令输入的参数和与编写相关联的上下文。基于命令输入的参数和上下文从命令资源接收响应。该响应可以包括结果数据和用于与协作通信系统进行交互的参数。结果数据被呈现在协作通信系统的用户界面中。
在另外的非限制性示例中,本公开内容描述了可以与一个或多个外部资源对接的协作通信系统。响应于在协作通信系统的用户界面中的编写期间接收的命令输入,发送包括命令输入的参数和与编写相关联的上下文的请求。基于命令输入的参数和上下文从外部资源接收响应。该响应可以包括结果数据和用于与协作通信系统进行交互的参数。结果数据被呈现在协作通信系统的用户界面中。
在其他非限制性示例中,从用于协作通信服务中的可执行的命令的外部资源接收命令处理器的注册数据。注册数据包括用于定义与命令处理器相关联的命令的参数。注册数据存储在协作通信服务的存储设备中。在协作通信服务中接收到输入的声明时,使用用于定义命令的参数来确定输入是否触发命令处理器。在确定输入触发命令处理器时,呈现所存储的命令处理器以在协作通信服务的用户界面中显示。
本公开内容的其他非限制性示例描述了协作通信服务与至少一个外部资源之间的通信。在协作通信服务的用户界面中的编写期间接收到命令输入时,将第一查询发送给外部资源。第一查询包括命令输入的参数和与编写相关的上下文。基于命令输入的参数和上下文从外部资源接收第一响应。第一响应可以包括结果数据和用于与协作通信服务进行交互的参数。结果数据被呈现在用户界面中。在更新命令输入时,将第二查询发送给外部资源。第二查询包括经更新的命令输入的参数。基于由第一查询提供的命令输入的参数和上下文从外部资源接收第二响应。在示例中,所接收的第二响应包括更新的结果数据。更新的结果数据被呈现在用户界面中。
提供本发明内容是为了以简化的形式介绍将在以下具体实施例中进一步描述的对构思的选择。本发明内容不旨在确定所要求保护的主题的关键特征或基本特征,也并非旨在用于限制所要求保护的主题的范围。
附图说明
参考以下附图来描述非限制性和非穷尽性的示例。
图1例示了根据本文描述的示例的用于统一通信平台的示例性概念模型。
图2A例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图2B例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图2C例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图2D例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图2E例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图2F例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性移动界面。
图2G例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性移动界面。
图3例示了根据本文描述的示例的在用于命令行交互的计算设备上实现的示例性系统。
图4A例示了根据本文描述的示例的用于在统一通信平台与外部资源之间的交互的示例性方法。
图4B例示了根据本文描述的示例的由第三方服务执行的示例性方法。
图4C例示了根据本文描述的示例的用于由统一通信平台所执行的处理的示例性方法。
图4D例示了根据本文描述的示例的用于评估统一通信平台与命令资源之间的通信的示例性方法。
图5A例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图5B例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图5C例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图5D例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
图6A例示了根据本文描述的示例的用于显示统一通信平台中的内容的示例性视图。
图6B例示了根据本文描述的示例的用于显示统一通信平台中的内容的示例性视图。
图6C例示了根据本文描述的示例的统一通信平台的示例性用户界面组件。
图7是例示了可以实践本公开内容的各方面的计算设备的示例性物理组件的框图。
图8A和图8B是可以实践本公开内容的各方面的移动计算设备的简化框图。
图9是其中可以实践本公开内容的各个方面的分布式计算系统的简化框图。
图10例示了用于执行本公开内容的一个或多个方面的平板计算设备。
具体实施方式
在下面的详细描述中,参考形成其一部分的附图,并且其中,通过图示示出具体实施例或示例。可以组合这些方面,可以利用其他方面,并且可以在不脱离本公开内容的情况下进行结构改变。实施例可以被实践为方法、系统、计算机可读存储设备或设备。因此,实施例可以采取硬件实现、完全软件实现或者组合软件和硬件方面的实现的形式。因此,下面的详细描述不应被认为是限制性的,并且本公开内容的范围由所附权利要求及其等同物限定。
通信服务正在变得更加先进。然而,通信服务在编写通信期间的能力方面相当静态。例如,用户可能会快速地说出或键入诸如“服务,请打开我的日历”之类的输入。然而,先前的通信系统/服务不能与用户交互以处理诸如“/会议时间<人员1,人员2,人员3>之类的命令,并且具有自动完成键入来显示何时建议三位特定人员之间的会议的建议。因此,常见的通信服务不允许用户与第三方服务进行深入而有效的交互,以在第三方服务与通信服务之间进行来回交互。
本公开内容的非限制性示例描述了支持与比仅仅注册更丰富的外部服务交互并且忽略当前存在于通信服务与外部服务之间的交互的通信系统/服务。提供的示例包括能够与包括第三方服务的多个外部资源进行丰富的后台通信的系统和/或服务,以便在编写内容期间促进多步查询。在一个示例中,个人助理服务可以注册处理器集,该处理器集在被触发时可以在编写诸如消息/电子邮件之类的内容期间提示进行动态交互。例如,键入新消息的用户可以键入“Hi John。我建议我们见面/mynextfreetimes(我的下一个空闲时间)”。使用本文描述的示例,通信服务可以能够与第三方服务进行交互以进行命令处理,从而插入用John空闲的时间替换命令“/mynextfreetimes”的内容。本文描述的示例性通信系统/服务可以促进与外部服务的进一步通信,以改进用户对示例性通信系统/服务的体验。继续上述示例,用户可以键入请求另外的可用时间的命令以与John会面,并且通信系统/服务可以继续与外部服务交互以满足用户的请求。在另一个示例中,用户可以键入“Sandy-我真的喜欢它/助手'上次会议的文档是什么?'”的输入。基本上,这样的输入可能是要求个人数字助理服务提供最后一次会议中呈现的文档列表。个人助理服务可能以丰富的答案回答,可能是以自动完成的形式,允许用户选择他们想参考的文档,然后继续编写消息。相应地,本文描述的示例实现了丰富的编写整合。
基于本公开内容实现了许多技术优点,包括但不限于:创建了稳健的和可扩展的通信服务,改善了示例性通信服务与外部服务之间的通信/交互,关于输入处理的处理效率,改善了用户与示例性通信服务之间的用户交互,提高了用于UI控制的效率和可用性,降低了用于输入处理的错误率,以及小型化或者用于UI功能所需的更小的空间,等等。
图1例示了根据示例性实施例的用于提供统一通信平台的示例性系统。在各方面中,统一通信平台105可以经由客户端计算设备104上执行的客户端统一通信应用104a与服务器计算设备106通信来实现。在一些方面,客户端计算设备104可以包括与服务器端对象模型进行通信的客户端对象模型。在基本配置中,客户端计算设备104是具有输入元件和输出元件的个人或手持式计算机。例如,客户端计算设备104可以是包括但不限于以下各项中的一个:移动电话;智能手机;平板电脑;平板手机;智能手表;可穿戴计算机;个人计算机;台式计算机;膝上型计算机;游戏控制台/计算机设备(例如,Xbox);电视;等等。这个列表仅仅是示例性的,不应被认为是限制性的。可以使用用于执行通信应用的任何适当的客户端计算设备。
统一通信平台105是为用户提供协作环境进行通信和协作的通信系统/服务。统一通信平台105由虚线示出,示出统一通信平台105的实现可以涉及服务器106的前端106a、中间层106b和/或后端106c等等。在各方面中,服务器计算设备106可以包括一个或多个服务器计算设备106。在示例中,统一通信平台105通过可以包括多个不同视图的用户界面(UI)呈现用于用户之间的协作的可配置和可扩展的工作空间。统一通信平台105的用户可以包括但不限于:一个或多个人、公司、组织、部门、虚拟团队、自组织群组、供应商、客户、第三方等。统一通信用户平台105的用户可具有可由用户自定义的一个或多个用户简档。统一通信平台105使得包括以团队或群组以及团队/群组外的用户/群组组织的用户在内的用户之间的可见性和通信成为可能。可以由团队/群组的一个或多个管理员以及统一通信平台105的管理员为团队/群组设置策略。贯穿本公开内容描述的示例被设计为容适保护用户的隐私。保护包括受法律保护的数据和个人可识别信息的敏感信息是实现本文所述的示例的首要考虑因素。例如,用户可以为可以显示/共享的数据设置隐私设置,并且本文描述的示例符合这样的设置以及与数据分发和隐私保护相关的法律。
如图1所例示,与统一通信平台105相关联的系统和/或服务可以实现为服务器计算设备106上的前端106a、中间层106b和后端106c。然而,本领域技术人员将认识到统一通信平台105可以跨本文描述的系统示例的一个或多个组件(包括一个或多个客户端计算设备104和/或企业堆栈110)来实现。在一些方面,服务器计算设备106的前端106a可以经由客户端统一通信应用104a向客户端计算设备104发送信息和命令。在一些方面,服务器计算设备106的中间层106b和/或后端106c可以经由客户端统一通信应用104a从客户端计算设备104接收信息和命令。在其他方面,前端106a可以充当客户端计算设备104与中间层106b之间的中介。换言之,前端106a可以与客户端计算设备104交换命令和信息,并且还可以与中间层106b交换命令和信息。在示例中,统一通信平台105指的是经由与客户端统一通信应用104a进行通信的前端106a、中间层106b以及后端106c在服务器计算设备106上执行的服务器统一通信应用。
在一些方面,后端106c还可以包括一个或多个应用代理106d或与其通信以促进与一个或多个外部资源114的互操作性和通信。更具体地,应用代理106d可以使用回呼(webhook)106e与外部资源114进行对接,以促进统一通信平台105与外部资源/服务114之间的集成。外部资源114是在统一通信平台105之外存在且可管理的任何资源(例如,系统、应用/服务等)。外部资源包括但不限于系统,可以由与统一通信平台105相同的组织管理的应用/服务(例如,由组织提供的其他服务,诸如网络搜索服务、电子邮件应用、日历、设备管理服务、地址簿服务、信息服务等)以及由第三方托管或控制的服务和/或网站。例如,外部资源114可以包括业务线(LOB)管理服务、客户关系管理(CRM)服务、调试服务、会计服务、工资单服务等。外部资源114还可以包括由第三方托管的其他网站和/或应用,诸如社交媒体网站;照片共享网站;视频和音乐流媒体网站;搜索引擎网站;体育、新闻或娱乐网站等。换言之,一些外部资源114可以提供稳健的报告、分析、数据编译和/或存储服务等,而其他外部资源114可以提供对数据和信息、图像、视频等的搜索引擎或其他访问。
在各方面中,可以在服务器计算设备106与一个或多个外部资源114之间共享数据或信息。例如,可以经由与服务器计算设备106通信的客户端计算设备104来输入业务联系人、销售等,服务器计算设备106与由第三方托管的CRM软件进行通信。CRM软件可以追踪销售活动、营销、客户互动等,以提供分析或其他信息来促进业务关系。或者,可以经由与服务器计算设备106通信的客户端计算设备104来输入制造订单,服务器计算设备106与由第三方托管的LOB管理软件进行通信。LOB管理软件可以通过创建诸如用于安排制造设备、订购原材料、安排运输、减少库存等的任务或警报之类的工作流程来指导和追踪订单。在某些情况下,LOB管理软件可以创建用户批准的请求或在工作流程中的不同阶段进行审核。在一方面,用户可以向一个或多个外部资源114发出查询,例如对业务联系人的请求、上个月的销售、订单的状态、对图像的请求等。
如图1所示,服务器计算设备106可以经由网络108与外部代理114和客户端设备104通信。在一个方面中,网络108是分布式计算网络,例如互联网。在各方面中,统一通信平台105可以在多于一个的服务器计算设备106(例如多个服务器计算设备106)上实现。如上所述,服务器计算设备106可以通过网络108向客户端计算设备104并且从客户端计算设备104提供数据。数据可以通过适合发送数据的任何网络传送。在一些方面,网络108是诸如企业内联网和/或互联网之类的计算机网络。就这一点而言,网络108可以包括局域网(LAN)、广域网(WAN)、互联网、无线和有线传输介质。在进一步的方面中,服务器计算设备106可以经由本地网络(例如企业内联网)与系统的一些组件进行通信,而服务器计算设备106可以经由广域网(例如,互联网)与系统的其他组件进行通信。
根据另外的方面,统一通信平台105与系统的其他组件之间的通信可能需要认证112。认证112指的是设备、应用、组件、用户等通过其提供是“真实的”或“经授权的”访问其他设备、应用、组件、用户等或与其他设备、应用、组件、用户进行通信的证据的过程。认证可能涉及使用第三方数字证书、认证令牌、密码、对称或非对称密钥加密方案、共享秘密、认证协议或者现在已知或将来开发的任何其他适当的认证系统或方法。在各方面中,在认证时,可以允许访问或通信,并且可以在统一通信平台105与系统的各种其他组件之间交换数据或信息。在一些方面,链接各种设备、应用、组件、用户等的环境或网络可被称为“可信的”环境。在可信的环境中,设备、应用、组件、用户等之间的认证可能是不必要的。
在服务器计算设备106上执行操作的统一通信平台105还可以进一步与一个或多个企业应用(例如,企业堆栈110)进行通信。企业堆栈110可以包括例如活动目录110a、企业消息传送应用110b、文件共享应用110c、遥测应用110d等。企业堆栈110可以在本地存储和/或执行,例如在企业内联网内、或者在互联网上的分布式位置中。在一些情况下,企业堆栈110可以被包括在服务器计算设备106内。例如,活动目录110a可以被包括作为服务器计算设备106的后端106c的一部分。在至少一些情况下,企业堆栈110可以在可信的环境内驻留或与统一通信平台105通信。在各方面中,经由统一通信平台105接收、发送或存储的信息和/或消息可以被传送到企业堆栈110。此外,经由企业堆栈110接收、发送或存储的信息和/或消息可以被传送到统一通信平台105。
另外,在一些方面,在服务器计算设备106上执行的统一通信平台105可以与一个或多个第三方消息传送应用116通信。第三方消息传送应用116是由第三方托管或控制的消息传送应用。在各方面中,作为团队成员的一些用户可以向统一通信平台105进行注册(例如,内部用户),而作为团队成员的其他用户可以不向统一通信平台105进行注册(例如外部用户),但是可以向一个或多个第三方消息传送应用116注册。在一些方面,向企业消息传送应用110b注册但不向统一通信平台105注册的用户被视为外部用户。在这种情况下,统一通信平台105可以与一个或多个第三方消息传送应用116通信和/或与一个或多个企业消息传送应用110b通信,以与外部用户交换信息和消息。在一些方面,通过网络108在统一通信平台105与一个或多个第三方消息传送应用116和/或一个或多个企业消息传送应用110b之间的通信可以涉及认证112。在其他方面,统一通信平台105与例如一个或多个企业消息传送应用110b之间的通信可以不涉及认证112。
应当理解,关于图1所描述的各种设备、组件等并不旨在将系统和方法限制到所描述的特定组件。因此,可以使用另外的拓扑配置来实践本文的方法和系统,和/或可以排除所描述的一些组件,而不脱离本文公开的方法和系统。
图2A例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
在各方面中,用户可以经由用户界面200(例如,图形用户界面)与统一通信平台交互。在图1的描述中描述了示例性统一通信平台105,并且在本公开内容的其余部分中(例如,在图2A-2E和图5A-6C等中)进一步描述了示例性统一通信平台105。在一些方面中,用户界面200可以涉及用于组织信息的显示和/或交互式控件的一个或多个窗格或窗口。在一个示例中,用户界面200可以包括三个窗格,例如左边栏(rail)202、中央窗格204和右边栏206。在另一示例中,用户界面200可以包括两个窗格,例如左边栏和右边栏。在其他示例中,用户界面200可以包括一个窗格、四个或更多个窗格、和/或可以体现在多个浏览器或应用中的窗格。
如上所述,每个窗格或窗口可以显示具有文本、图形等形式的信息和/或一个或多个交互式控件或链接。例如,第一窗格(例如,左边栏202)可以显示一个或多个团队208、电子邮件门户等。如本文所使用的,团队是指为了某个目的而形成的两个或更多个用户的任何群组。团队可以出于任何目的(例如,商业目的、社交目的、慈善目的等)而形成。此外,团队可以包括任何类型的用户,例如,同事、家庭成员、同学、商业伙伴等。在各方面中,可以通过创建团队标题(例如,领导团队、设计团队、事件团队、项目团队等等)以及将用户(例如,成员)添加到团队中来在统一通信平台105内形成团队。例如,在设置或管理窗格(未示出)中,可以通过选择用户的标识符(例如,用户图标、用户电子邮件、用户电话号码等)将成员添加到团队中。至少一些方面,团队的每个成员都被准予访问团队门户或通道的权限。在另外的方面中,可以在统一通信平台105内创建任意数量的团队,和/或可以基于两个或更多个用户之间的通信来隐式地创建团队。
团队门户可以提供对由任何团队成员共享的所有通信、文件、链接、列表、主题标签、开发工具等的访问。根据示例,在选择(例如,通过点击)窗格内的团队标题(例如,左边栏202)时,团队门户可以被打开。团队门户是指接入点,团队成员可以通过该接入点查看共享信息和其他团队成员并与共享信息和其他团队成员进行交互。在至少一些情况下,团队中的每个成员都被准予完全访问团队门户内共享的信息和会话的权限。在各方面中,在选择团队208时,关于团队的一般信息、项目规格等可以被显示在例如中央窗格204的第二窗格中。例如,成员姓名、成员联系信息(例如,电子邮件地址、电话号码等)、成员使用时间、项目规格、项目时间线、项目任务等可以被显示在中央窗格204中。
团队门户可以基于团队208的信息的类别210被进一步组织。例如,可以为团队门户创建用于组织团队信息的任何适当的类别210,例如,财务、工程、发布准备、调试、餐饮、建筑、一般、随机等。在各方面中,在选择左边栏202内的团队208的类别210时,可以在中央窗格204中显示与类别210有关的信息。在一些情况下,团队的每个成员被准予完全访问与团队门户内的团队208的每个类别210相关联的信息。
如上所述,团队门户提供对由团队成员208共享的所有通信、文件、链接、列表、主题标签等的访问。在各个方面中,在每个类别210内,还可以通过选项卡或页面组织信息。例如,每个选项卡212可以在中央窗格204中显示与类别210相关联的不同类型的信息。当被选择时,选项卡212可以通过用不同的字体或字体颜色突出显示、加轮廓等来标识。如图2A所示,第一选项卡(例如,会话选项卡212a)可以显示团队成员之间的通信。在各方面中,会话216需要团队成员之间的任何类型或模式的两个或更多个通信218。在一些情况下,会话216可以以升序显示,其中,最近的通信218显示在中央窗格204的底部。或者,会话216可以以降序显示,其中,最近的通信218显示在中央窗格204的顶部。
在下面进一步描述的一些情况下,一个或多个通信218可以被分组为会话线程220。通信218是指由团队成员以任何格式(例如,电子邮件、文本、SMS、即时消息等)经由任何模式(例如,经由统一通信平台或经由任何企业或第三方消息传送应用)发送的单个消息。换言之,消息可以在内部用户之间的统一通信平台105内生成,或者消息可以经由企业消息传送应用(例如,企业消息传送应用110b)和/或第三方消息传送应用(例如,第三方消息应用116)传送到外部用户或从外部用户传送。
如上所详述的,每个窗格或窗口可以显示信息和/或交互式控件。例如,第三窗格(即,右边栏206)可以显示上下文信息、状态信息、最近的活动等。在一些方面,在右边栏206中显示的信息可以与在左边栏202中选择的类别210有关或相关联。例如,在中央窗格204显示与标题为“新产品发布”的类别210a有关的通信、文件、链接、列表、主题标签等的情况下,右边栏206可以显示一个或多个最近的文件222、最近的链接224、标签226或活跃人员228。在一些方面,显示在右边栏206的至少一些信息可以是特定于特定用户(例如,经由客户端计算设备104访问团队门户的特定用户)的。在各方面中,访问团队门户的特定用户可以通过右边栏206内的名称、图标等来标识。例如,特定用户可以由用户名称230a或用户图标230b来标识。换言之,例如,最近的文件222和/或最近的链接224可能已经被特定的用户最近访问或上传。在另一示例中,针对访问相同类别210的另一用户显示的右边栏206可以显示不同组的最近文件222或最近链接224。在其他示例中,可以在右边栏206中显示与类别210和特定用户有关的另外或不同信息,例如,用户任务、用户警报、用户日历、用户笔记等。
根据另外的方面,中央窗格204可以包括搜索字段240。例如,搜索字段240可以允许用户在团队门户内搜索任何通信、文件、链接、列表、主题标签、术语、团队成员、日历、任务、事件等。在各方面中,搜索字段240可以允许简明的语言搜索、布尔搜索(例如,使用布尔运算符的搜索)或其他方式。在将一个或多个搜索术语键入到搜索字段240中时,可以将与团队门户内的搜索术语有关的任何信息显示为对用户的搜索结果。
应当理解的是,参考图2A所描述的用户界面200的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文所描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图2B例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
如图2B所示,统一通信平台105可以提供用于生成通信的各种选项。例如,统一通信平台105可以提供输入键入字段232,用于发送即时消息、SMS或其他“类似文本”通信。然而,本领域技术人员将认识到,输入键入字段232不限于类似文本的输入。在各方面中,输入键入字段232可以允许文本的键入、命令的键入、主题标签的键入,和/或可以基于两个或更多个用户之间的通信等隐式地创建团队。输入键入字段232可以以任何形式接收输入键入,其包括但不限于文本输入、音频/语音输入、手写输入和信号等等。输入键入字段232还可以包括用于附加文件、插入表情图标等的控件266。然而,在至少一些方面,输入键入字段232可能不提供接收者的选择或主题行的键入。在将消息输入到输入键入字段232并敲击回车时,来自用户的通信可以自动地作为新消息而发布到会话。根据另外的方面,输入键入字段232可以包括用于将输入键入字段232扩展为电子邮件接口对象(例如,下面描述的电子邮件接口对象238)的可选控件266。
或者,统一通信平台105可以提供与会话的每个通信218相关联的回复链接234。在一些方面,回复链接234被显示在会话的每个通信218附近,例如,在通信的发送者或主题行的右侧(未示出),在通信下方缩进(示出),在通信的上方和右侧缩进(未示出)等。或者,除非和直到通信218被点击、悬置、触摸或用输入设备(例如,鼠标、指针等)识别,否则回复链接234可能不被显示。在显示和选择与特定通信218相关联的回复链接234时,可以显示回复消息文本字段(未示出)。类似于输入键入字段232,回复消息文本字段可以允许文本的键入、命令的键入、主题标签的键入、文件的附加、表情符号的插入等。然而,在这种情况下,在输入消息并敲击回车时,来自用户的通信可以自动发布在与特定通信218相关联的会话线程220内。在各方面,如图2A所示,会话线程220内的通信218b可以被显示为在主要的或最初的通信218a(在以上示例中,该特定通信可以被称为主要通信)之下缩进、加标符号或以其他方式偏移。
或者,统一通信平台105可以提供用于访问电子邮件界面对象(例如,电子邮件界面对象238)的电子邮件控件236,以发送“类似电子邮件”通信。在各方面中,电子邮件界面对象238可以允许类似的动作来输入键入字段232(例如,用于键入文本、键入命令、键入主题标签等的文本字段276),以及用于文件的附加、表情符号的插入等的控件268。另外,电子邮件界面对象238可以提供用于改变文本字体和大小、对文本加标符号等的控件278,以及用于发送、保存草稿电子邮件、删除等的控件270。电子邮件界面对象238还可以提供用于输入或选择接收者的接收者字段272,以及用于输入主题行的主题字段274等。在将消息输入到电子邮件界面对象238并敲击回车时,来自用户的通信可以自动地发布到会话中作为新的“类似电子邮件”消息。
应当理解的是,参考图2B所描述的用户界面200的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文所描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图2C例示了根据本文描述的示例的用于与统一通信平台105进行交互的示例性界面。
如上面所描述的,每个选项卡212可以在中央窗格204中显示与类别210a相关联的不同类型的信息。例如,如图2C所示,第二选项卡(例如,文件选项卡212b)可以显示在团队成员之间共享的文件242。文件242可以包括任何类型的文件,例如,文档文件、电子表格文件、演示文件、图像文件、视频文件、音频文件、注释文件等。
在一些方面中,在文件选项卡212b中显示的文件242包括作为附件发送给团队成员之间的通信218的文件242。换言之,统一通信应用可以提取作为附件发送的文件,并将其自动保存在文件选项卡212b中。在其他方面中,如图2C所示,可以提供文件上传字段244。在选择文件上传字段244时,用户可以将一个或多个文件242保存到文件选项卡212b。例如,在选择文件上传字段244时,可以激活浏览框(未示出)以便取回用于上传的文件。或者,可以键入命令(例如,/file)以便取回用于上传的文件。或者,可以将文件进行复制并粘贴到文件上传字段244。在各方面中,可以实现用于上传和保存文件到文件选项卡212b的任何适当的方法。在至少一些方面中,在文件选项卡212b中存在具有第一文件名称的第一文件的单个版本,使得在该单个版本内同步并存储对第一文件进行的修改、编辑、注释等。在另外的方面中,在利用第二文件名称保存第一文件时,可以将第二文件创建、附加和/或上传到文件选项卡212b。
根据另外的方面,第三选项卡(例如,链接选项卡212c)可以显示在团队成员之间共享的链接(例如,超链接)。在一些方面中,在链接选项卡212c中显示的链接包括作为附件发送给团队成员之间的通信218的链接。换言之,统一通信应用可以提取作为附件发送的链接并且可以将它们自动保存到链接选项卡212c。在其他方面中,可以提供链接上传字段(未示出)。在选择链接上传字段时,用户可以将一个或多个链接保存到链接选项卡212c。例如,在选择链接上传字段时,可以激活浏览框(未示出)以便取回用于上传的链接。或者,可以键入命令(例如,“/link”)以便取回用于上传的链接。或者,可以将链接复制并粘贴到链接上传字段中。在各方面中,可以实现用于上传链接并将链接保存到链接选项卡212c的任何适当的方法。
第四选项卡(例如,列表选项卡212d)可以显示团队成员之间共享的列表文件或其他信息、数据、对象、图像等。在各方面中,列表文件可以包括列表、表格、图表或其他有组织的数据形式。在一些方面中,在列表选项卡212d中显示的列表文件包括作为附件发送给团队成员之间的通信218的列表文件。换言之,统一通信应用可以提取作为附件发送的列表文件并将它们自动保存到列表选项卡212d。在其他方面中,列表可以由用户在列表选项卡212d内创建或上传。例如,可以提供用于创建列表文件的列表创建控件(未示出)。在选择列表创建控件时,可以由用户创建列表文件并将其保存到列表选项卡212d。或者,可以提供列表上传字段(未示出)。如上面类似地描述,在选择列表上传字段时,用户可以将一个或多个列表文件保存到列表选项卡212d。在至少一些情况下,可能存在每个列表的单个副本,使得如果在任何视图中(例如,在通信选项卡212a或列表选项卡212d内)更新数据,则列表文件将跨越所有其他视图自动更新和同步。
根据各方面,可以创建任意数量的选项卡212以便组织和隔离与类别210a有关的各种信息。例如,可以添加主题标签选项卡以将创建的各个主题标签存储在团队成员之间的通信内。在另外的示例中,可以创建自定义的或可扩展的选项卡,例如,用于电子表格指示板的选项卡、用于网页的选项卡、用于自定义的应用的选项卡、用于系统插件的选项卡等。在另外的方面中,可以在左边栏202中提供另外的交互式控件或链接(例如,控件246),以访问与团队208有关的通信、文件、列表、链接、标签等。例如,控件246a可以访问存储在团队门户中的团队成员和/或会话,控件246b可以访问存储在团队门户中的文件,控件246c可以访问存储在团队门户中的列表,控件246d可以访问存储在团队门户中的链接,并且控件246e可以访问存储在团队门户中的主题标签。在一些方面中,对控件246的选择可以在中央窗格204内显示相应的选项卡视图。
如图2C所示,在对文件选项卡212b进行选择时,右边栏206可以显示与在中央窗格204中查看另一选项卡212时不同的信息。例如,突出显示中央窗格204中的文件242a可能使得与文件242a有关的信息显示在右边栏206中。例如,文件242a的文件历史262可以显示在右边栏206中。文件历史262可以包括诸如针对上传文件242a的用户、编写文件242a的用户、编辑文件242a的用户的用户标识符、文件创建日期、文件修订日期等的信息。右边栏206还可以显示关于文件242a的最近的注释262。在各方面中,与文件242a有关的任何信息可以显示在右边栏206中。
应当理解的是,参考图2C所描述的用户界面200的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文所描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图2D例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
在另外的方面中,左边栏202可以包括电子邮件门户214。与团队门户不同,电子邮件门户214可以是接入点,特定用户可以通过该接入点查看他或她的电子邮件消息并与该电子邮件消息进行交互。在各方面中,在选择电子邮件门户214时,第二窗格(例如,中央窗格204)可以显示用户的电子邮件消息。中央窗格204还可以将用户标识符248显示为头部,例如,用户电子邮件地址、用户名称、用户图标等。中央窗格204可以提供用于组织用户的电子邮件消息的一个或多个选项卡250。选项卡250可以包括例如,收件箱选项卡250a、文件选项卡250b、链接选项卡250c、发送选项卡250d、草稿选项卡250e、删除选项卡250f等。例如,用户的消息收件箱可以显示在中央窗格204中收件箱选项卡250a处。在另外的方面,用户的消息收件箱可以包括发送给用户的所有消息,例如,包括内部和外部用户的团队成员之间的消息,以及实体和不是团队成员的用户之间的消息。
在一些方面中,可以以汇总列表的格式(示出),基于接收到电子邮件消息的日期,按照递减顺序,以在中央窗格204的顶部处显示最近的电子邮件消息的方式显示收件箱选项卡250a中的用户的电子邮件消息280。汇总列表格式可以显示每个电子邮件消息的一部分,例如,发送者、主题行、以及每个电子邮件消息的文本的一部分。
在替代方面中,收件箱选项卡250a中的用户的电子邮件消息可以以会话线程格式(未示出)进行显示。会话线程格式可以显示电子邮件消息,该电子邮件消息是以在主要电子邮件消息之下缩进、加标符号、或以其他方式偏移的方式对主要电子邮件的回复。在至少一些方面中,可以基于会话线程中的最后一封电子邮件所接收的日期,按照递减顺序,以在中央窗格204的顶部处显示最近的会话线程的方式显示每个会话线程。在这种情况下,个体通信(即,尚未被回复的通信)可以基于接收到个体通信的日期,按照递减顺序散布在会话线程当中。在其他方面中,可以基于接收到会话线程中的最后的电子邮件的日期,按照递增顺序,以在中央窗格204的底部处显示最近的会话线程的方式显示每个会话线程。在这种情况下,个体通信可以基于接收到该个体通信的日期,按照递增顺序散布在会话线程当中。
在另外的方面中,已经被打开或查看的电子邮件消息可以以普通文本显示在中央窗格204的收件箱选项卡250a内,而未被打开或查看的电子邮件消息可以显示在中央窗格204内,其中,至少部分电子邮件消息以粗体文本显示(例如,发送者和/或主题行可以以粗体文本显示)。
应当理解的是,参考图2D所描述的用户界面200的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文所描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图2E例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。
如上面所描述的,在选择电子邮件门户214时,中央窗格204可以显示用户的电子邮件消息。在一些方面中,如图2E所示,可以基于一个或多个用户之间的会话252来组织用户的电子邮件消息。例如,第一用户与第二用户(例如,Rachel)之间的会话252a可以与第一用户、第三用户(例如,Rob)和第四用户(例如,Sofia)之间的会话252b分开地进行显示。
在各方面中,通过选择在左边栏202中显示的会话252,一个或多个用户之间的通信可以显示在中央窗格204中。如图2E所示,已经选择了会话252c,并且第一用户和第二用户(例如,Rachel)、第三用户(例如Rob)、第五用户(例如,Jim)和第六用户(例如,Sophia)之间的通信254显示在中央窗格204中。在该示例中,第一用户是指访问由用户名称256a和用户图标256b标识的统一通信应用(例如,Ping Li)的特定用户。
在各方面中,会话252c的通信254可以基于接收到每个通信254的日期,按照递减顺序,以在中央窗格204的顶部处显示最近的通信254的方式进行显示。在其他方面中,会话252c的通信254可以基于接收到每个通信254的日期,按照递增顺序,在中央窗格204的底部处显示最近的通信254的方式进行显示。
在另外的方面中,与会话252c有关的信息可以通过选项卡或页面进行组织。例如,每个选项卡258可以将与会话252c相关联的不同类型的信息显示在中央窗格204中。当被选择时,选项卡258可以通过使用不同的字体或字体颜色突出显示、通过概述等来标识。如图2E所示,第一选项卡(例如,会话选项卡258a)可以显示第一用户、第二用户、第三用户、第五用户和第六用户之间的通信254。如上面进一步详细描述的,另外的选项卡可以包括第二选项卡(例如,文件选项卡258b)、第三选项卡(例如,链接选项卡258c)、第四选项卡(例如,列表选项卡258d)等。例如,如图2E所示,列表260被插入到来自第二用户(例如,Rachel)的通信254a中。在各方面中,如上面所描述的,列表260可以从会话选项卡258a或从列表选项卡258d进行访问。
如图2E所示,当查看在第一用户、第二用户、第三用户、第五用户和第六用户之间的会话252c时,右边栏206可以显示与会话252c和/或参与会话252c的用户相关联的信息。例如,右边栏206可以显示参与会话252c的用户的群组的可用性282。右边栏206还可以显示在参与会话252c的用户之间的公共会议284。在各方面中,与会话252c有关的任何信息和/或参与用户可以在右边栏206中进行显示。
应当理解是,参考图2E所描述的用户界面200的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图2F例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性移动界面。
在各方面中,统一通信平台的版本可以为移动设备提供用户界面285。移动用户界面285可以提供用于查看与用户是其中的成员的一个或多个团队相关联的通信、文件、列表、链接等的一个或多个窗格或窗口。在一些方面中,在以从左到右的方向或从右到左的方向滑动第一窗格(例如,第一窗格286)时,可以显示第二窗格(例如,第二窗格288)。本领域技术人员将认识到,与改变窗格(例如,第一窗格286和第二窗格288)相关联的动作不限于滑动,并且可以是统一通信平台所理解的任何输入动作。
如图所示,第一窗格286显示一个或多个团队(例如,团队287)以及一个或多个类别(例如,类别291)。在各方面中,当已经在类别291内接收到新的通信、文件、列表、超链接等时,可以在类别(例如,类别291a)附近显示通知(例如,通知292)。如进一步所示,第二窗格288显示一个或多个通信289(例如,通信289a和通信289b),一个或多个通信289中的每一个都与发送者(例如,发送者290a和发送者290b)相关联。
应当理解的是,参考图2F所描述的用户界面285的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文所描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图2G例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性移动界面。
如上面所描述的,移动用户界面285可以允许用户在会话窗格(例如,会话窗格294)中查看会话(例如,会话293)。移动用户界面285还可以提供新的消息输入字段295和输入界面296,以便输入和发送通信到会话293的参与者。在各方面中,当通信被发送给正在进行的会话(例如,会话293)的参与者时,新的消息输入字段295不需要接收者信息,而是可以提供主题输入字段(例如,主题输入字段297)以便输入通信的主题(例如,“New UX”)。在一些方面中,新的消息输入字段295可以类似于即时、聊天、SMS、或类似的通信界面。在其他方面中,新的消息输入字段295可以提供类似于电子邮件通信界面(例如,允许附加文档、列表对象、图像等)的功能。如图所示,通信298已经被部分地输入到新的消息输入字段295中。
应当理解的是,参考图2G所描述的用户界面285的各种特征和功能不旨在将相关联的系统和方法限制于所描述的特定特征和功能。因此,另外的特征和功能可以与本文所描述的系统和方法相关联,和/或可以排除所描述的一些特征和功能,而不脱离本文所描述的系统和方法。
图3例示了根据本文描述的示例的在用于命令行交互的计算设备上实现的示例性系统300。所呈现的示例性系统300是相互依赖的组件的组合,所述组件相互作用以基于用户示例性操作形成学习程序生成的整体。系统300的组件可以是在系统300的硬件组件上实现和/或由其执行的硬件。在示例中,系统300可以包括硬件组件(例如ASIC,用于执行/运行操作系统的其他设备)以及在硬件上运行的软件组件(例如,应用、应用编程接口、模块、虚拟机、运行时库等)中的任一个或多个。在一个示例中,示例性系统300可以提供软件组件运行的环境,遵守为操作设置的约束,并且利用系统100的资源或设施,其中,组件可以是在一个或多个处理设备上运行的软件(例如,应用、程序、模块等等)。例如,软件(例如,应用、操作指令、模块等)可以在诸如计算机、移动设备(例如,智能手机/电话、平板电脑)和/或任何其他电子设备之类的处理设备上运行。作为处理设备操作环境的示例,参考图7-10的操作环境。在其他示例中,本文公开的系统的组件可以跨多个设备分布。例如,可以在客户端设备(例如,处理设备)上键入输入,并且可以从网络中的诸如一个或多个服务器设备之类的其他设备处理或访问信息。
本领域的技术人员将会理解,诸如系统300之类的系统的规模可以变化,并且可以包括比图3中所描述的组件更多或更少的组件。在一些示例中,系统300的组件之间的对接可以远程地发生,例如,系统300的组件可以跨分布式网络的一个或多个设备散布。在示例中,一个或多个数据储存器/存储设备或其他存储器与系统100相关联。例如,系统300的组件可以具有与其相关联的一个或多个数据存储设备/存储器/储存器。与系统300的组件相关联的数据可以被存储在其上以及处理由系统300的组件执行的操作/指令。
系统300包括处理设备302、网络连接304、命令处理组件306和存储设备(一个或多个)314。命令处理组件306可以包括一个或多个另外的组件,例如用户界面组件308、命令行组件310和命令处理器组件312等。作为示例,包括子组件308-312的命令处理组件306可被包括在图1的服务器计算设备106中。在一个示例中,命令处理组件306可在包括前端106A、中间层106B和后端106C的服务器计算设备106的任何部分上实现。然而,本领域技术人员将认识到,执行由命令处理组件306执行的处理的设备可以改变,并且可以在除服务器计算设备106之外的处理设备上执行。系统300中描述的组件和操作可以与图1中描述的统一通信平台105相关联。
处理设备302可以是包括至少一个处理器和至少一个存储器/存储设备的任何设备。处理设备302的示例可以包括但不限于:诸如电话、平板电脑、平板手机、平板计算机(slate)、膝上型计算机、手表之类的移动设备,包括台式计算机、服务器的计算设备等。在一个示例中,处理设备302可以是正在运行与协作通信系统相关联的应用/服务的用户的设备。例如,处理设备302可以是与系统300的其他组件(例如,可包括命令处理组件306的服务器计算设备106)对接的客户端设备。在示例中,处理设备302可以经由网络304与命令处理组件306通信。在一个方面,网络304是分布式计算网络,例如互联网。
命令处理组件306是组件的集合,其用于命令行处理以使得能够在与协作通信系统/服务的用户的交互期间键入和处理命令输入。命令处理组件306包括用户界面组件308。用户界面组件308是一个或多个组件,其被配置为实现与协作通信系统/服务的用户的交互。通过用户界面组件308将透明度和组织提供给协作通信系统/服务的用户,其中,用于协作的可配置和可扩展的工作空间被提供有多个不同视图、特征和可自定义选项。图2A-2E和图5A-6C中示出了用户界面组件308的示例。命令行组件310和命令处理器组件312与用户界面组件308对接以实现命令行处理以及与用户和外部资源二者的交互。在一个示例中,用户界面组件308被实现为服务器计算设备106的前端106a,并且与服务器计算设备106的中间层106b和后端106c通信以促进用户交互。然而,本领域技术人员将认识到,可以将任何处理设备配置为执行用户界面组件308的特定操作。在一些方面,用户界面组件308可以经由客户端统一通信应用发送/接收信息和命令到客户端计算设备。在其他方面,用户界面组件308可以充当客户端计算设备104与服务器计算设备106之间的中介,例如中间层106b。换言之,用户界面组件308可以与客户端计算设备交换命令和信息,并且还可以与服务器计算设备106的一个或多个组件交换命令和信息。在系统300的示例中,用户界面组件308可以与至少一个存储设备314通信以实现与协作通信系统/服务相关联的UI的显示和处理。
命令行组件310是命令处理组件306的组件,其与用户界面308和命令处理器组件312对接以实现协作通信系统/服务中的命令处理。在一个示例中,命令处理组件310在服务器计算设备106的中间层106b上实现,并且与服务器计算设备106的前端106a和后端106c通信以促进命令处理。然而,本领域技术人员将认识到,可以将任何处理设备配置为执行命令处理组件310的特定操作。命令处理组件312可以与用户界面组件308交换命令和信息并且还可以与服务器计算设备106的一个或多个组件交换命令和信息。在一个示例中,用户界面组件308可以呈现输入键入字段,例如至少图2B中示出的输入键入字段232。命令行组件310可以与用户界面组件308进行通信,以提供协作通信系统/服务内的命令选项,例如参照图5A至图6C所示和所述描述的。此外,命令行组件310可以执行至少方法400(图4A)、方法440(图4C)和方法460(图4D)等中描述的操作。在系统300的示例中,命令行组件310可以与至少一个存储设备314通信,以存储用于实现协作通信系统/服务内的命令行处理的数据。
命令处理器组件312是命令处理组件306的组件,其与用户界面308和命令行组件310对接以实现协作通信系统/服务中的命令处理。在一个示例中,命令处理器组件312在服务器计算设备106的中间层106b上实现,并且与服务器计算设备106的前端106a和后端106c通信以促进命令处理。然而,本领域技术人员将认识到,可以将任何处理设备配置为执行命令处理器组件312的特定操作。命令处理器组件312可以与用户界面组件308和命令行组件310进行通信,以提供协作通信系统/服务内的命令选项/命令行处理的注册和实现,例如参照图5A至图6C所示和所述的。此外,在其他示例中,命令处理器组件312可以执行至少方法400(图4A)、方法440(图4C)和方法460(图4D)中描述的操作。在一个示例中,命令处理器组件312与外部资源(例如,图1的外部资源114)对接,以使得外部资源能够向协作通信系统/服务注册命令处理器。在其他示例中,命令处理器组件312可以与第一方资源对接以实现对命令处理器的处理。第一方资源是包括在统一通信平台内的资源。例如,命令处理器组件312可以被配置为能够处理用于处理特定于统一命令平台的操作的处理命令处理器。在系统300的示例中,命令处理器组件312可以与至少一个存储设备314通信以存储与命令处理器有关的注册数据,使得协作通信系统/服务可以与外部资源进行交互以实现协作通信系统中的命令处理/服务。在方法400(图4A)的描述中描述了与命令/命令处理器相关联的注册数据。作为一个示例,命令处理器组件312可以与第三方服务对接以使得第三方服务能够向协作通信系统/服务注册命令处理器。在方法420(图4B)中描述了第三方服务与协作通信系统/服务之间的交互的示例。除了可注册用于外部资源的命令处理的注册数据之外,示例性统一通信平台还可配置为管理第一方资源以及第二方资源的注册数据。
图4A例示了根据本文描述的示例的用于统一通信平台与外部资源之间的交互的示例性方法。作为示例,方法400可以由如图1和图3中所示的示例性系统执行。在示例中,方法400可以在包括至少一个处理器的设备上执行,该至少一个处理器被配置为存储和执行操作、程序或指令。然而,方法400不限于这样的示例。在至少一个示例中,方法400可以由处理设备的一个或多个组件或分布式网络的组件(例如,网络服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。可以使用系统组件来执行本文关于方法400描述的操作。作为示例,方法400可以由示例性协作通信系统/服务执行。协作通信系统/服务是在图1的描述中详细描述的统一通信平台105的示例。
方法400开始于操作402,其中,协作通信系统/服务与外部资源对接。如上所述,外部资源(例如,外部资源114)是在统一通信平台105之外存在且可管理的任何资源(例如,系统、应用/服务等)。外部资源包括但不限于可以由与统一通信平台105相同的组织管理的系统、应用/服务(例如,由诸如网络搜索服务、电子邮件应用、日历、设备管理服务、地址簿服务、信息服务等的组织提供的其他服务)以及由第三方托管或控制的服务和/或网站。在示例中,协作通信系统/服务可以发送/接收用于实现协作通信系统/服务与外部资源之间的交互的请求。例如,握手操作可以在协作通信系统/服务和外部资源之间建立一个或多个通信信道。在信道上的正常通信开始之前,握手操作动态地设置在协作通信系统/服务和外部资源之间建立的通信信道的参数。作为示例,应用代理(例如,应用代理106d)可以使用回呼与外部资源114对接,以促进统一通信平台与外部资源之间的集成。在其他示例中,应用编程接口(API)可以实现协作通信系统/服务与外部资源之间的交互。
协作通信系统/服务可以是可自定义的并且可配置为控制与外部资源/服务的交互。作为示例,协作通信系统/服务与外部资源/服务之间的注册可以是一次发生的单个操作。协作通信系统/服务也可以是可自定义的并且可配置为控制客户端与外部资源/服务之间的交互。在一些示例中,一旦外部资源已经向协作通信系统/服务注册,则协作通信系统/服务可以使得客户端(例如,客户端统一通信应用104a)能够与注册的外部资源/服务114直接通信。换言之,协作通信系统/服务可以作为中介来协调(broker)客户端和外部资源之间的连接。
流程进行到操作404,其中,从外部资源接收用于命令处理器的注册数据。如上面的示例所述,应用代理(例如,应用代理106d)可以使用回呼与外部资源114对接,以便促进协作通信系统/服务(例如,统一通信平台)与外部资源之间的集成。在其他示例中,API可以实现协作通信系统/服务和外部资源之间的交互,以实现注册数据的传输。在一个示例中,协作通信系统/服务使得第三方服务能够注册可以被协作通信系统/服务使用的命令处理器。例如,第三方服务可以提供可以被包括在协作通信系统/服务内的能力或功能,以改善用户体验。注册数据是与命令/命令处理器相关联的任何数据,这些数据在协作通信系统/服务和用于涉及命令/命令处理器的命令行处理的外部资源之间的通信中可能是有用的。作为示例,注册数据可以包括定义命令/命令处理器的参数。在示例中,外部资源可以定义与命令/命令处理器相关联的参数。然而,在其他示例中,协作通信系统/服务可以从外部资源接收数据并且生成用于管理命令/命令处理器的注册数据。如上所述,注册数据还可以涉及由协作通信系统/服务控制的第一方资源的命令处理器。可以为协作通信系统/服务内的任何命令定义的命令处理器的部分可以包括但不限于:
触发方法:第一方和第三方
触发范围:指示符/首字符/内联
交互模式:垂直列表;平铺列表(titled list),iFrame
参数格式:选项枚举;可选或必需的字符串;命令文本
启动UI:没有UI;可以包含在工具栏中;消息;搜索等
本领域技术人员将认识到,用于命令处理器的注册数据的格式不限于以上提供的示例的格式和内容。注册数据可以包括可由协作通信系统/服务用于管理命令处理器注册和处理的任何数据。以上列出的示例性数据(除注册数据的其他部分之外)可以被提供给协作通信系统/服务或由协作通信系统/服务请求。触发方法数据可对应于响应于命令处理器的触发而与协作通信系统/服务交互的各方的标识以及这些方如何与协作通信系统/服务交互。触发方法数据可能因正在注册的命令处理器而异。如以上示例所示,触发方法可以与第一方资源和第三方资源等等相关联。触发范围数据涉及可能触发命令处理的协作通信系统/服务内的交互。触发范围数据可能因正在注册的命令处理器而异。如以上示例所示,可以基于协作通信系统/服务的操作内的指示符、第一字符输入或内联等触发命令处理(例如,触发范围)。交互模式数据涉及从命令行处理生成的结果数据如何显示在协作通信系统/服务内。交互模式数据可能因正在注册的命令处理器而异。在示例中,可以以诸如垂直列表、平铺列表和iFrame等的形式来显示结果数据。参见图6A-6C垂直列表、平铺列表和iFrame表示的图示示例。参数格式数据是描述如何在协作通信系统/服务中指定命令参数数据的数据。参数格式数据可能因正在注册的命令处理器而异。如以上示例所示,用于命令处理器的参数格式数据可以是枚举类型、字符串、文本等。在示例中,参数格式数据可以被进一步指定为可选或必需的。启动UI数据是指定命令处理器可以如何在协作通信系统/服务的用户界面内交互的任何数据。例如,启动UI数据可以指定是否为命令处理器创建UI元素,命令处理器是否将被包括在UI工具栏中,以及命令处理器注册数据在协作通信系统/服务内出现的位置和方式(例如,消息输入字段、搜索字段等)。在一个示例中,UI元素可以是合并在协作通信系统/服务内的UI小部件。例如,可以通过UI小部件在协作通信系统/服务内启动命令处理。启动UI数据可能因正在注册的命令处理器而异。
此外,注册数据的另一示例可以包括类似于(但不限于)以下各项的示例性参数字段:
触发方法:斜线(slash)
触发范围:第一字符(firstChar)||内联的
互动:选择
过滤参数:
最高级类别
第二级类别
搜索参数:自定义标题(CustomCaption)
可以在工具栏中:是。
本领域技术人员将认识到,注册数据的参数的格式不限于上面提供的示例的格式和内容。作为示例,触发方法数据可以作为在示例性协作通信系统/服务内调用命令的触发器来输入(例如,斜线、点击动作、语音等)。触发方法数据可能因正在注册的命令处理器而异。触发范围数据上面在前面的示例中已经描述过了,并且可能因命令处理器而异。交互数据是指示与协作通信系统/服务的用户的交互的数据,例如结果数据如何呈现给用户(例如,选择)。交互数据可能会因正在注册的命令处理器而异。过滤参数数据是进一步指定如何搜索、返回和/或呈现给协作通信系统/服务的用户结果数据的数据。例如,协作通信系统/服务使得用户能够经由UI元素(例如,如图6A-6C中所示和所述)键入输入,其中,参数可以被排列并显示给用户,并且用户选择UI元素结果传递参数用于命令处理。过滤参数数据可能因正在注册的命令处理器而异。搜索参数数据是指示如何搜索命令参数的数据。搜索参数数据可能会因正在注册的命令处理器而异。作为示例,参数可以使用搜索词、自定义输入(例如,自定义标题)和结构化UI元素(例如,列表、排列的数据、图像等)等来搜索。此外,注册数据可以包括实现参数自定义的多个自定义字段。如上所述,注册数据的参数可以由协作通信系统/服务和外部资源中的一个或多个来定义。例如,以上示例中的特征可以指示命令是否可以被包括在协作通信系统/服务内的UI工具栏中。
流程进行到操作406,其中,注册数据被存储在协作通信系统/服务的存储设备中。协作通信系统/服务可以维护注册数据以使得能够通过协作通信系统/服务的UI来显露/显示命令处理器。协作通信系统/服务的用户可以在协作通信系统/服务的使用期间使用这样的命令处理器。在一个示例中,存储设备是在系统300中描述的存储设备314。存储设备是由用于保存数字数据的计算机组件和记录介质组成的任何技术。存储设备的示例包括但不限于存储器、存储器单元、数据储存器和虚拟存储器等等。
流程可以进行到判定操作408,其中,协作通信系统/服务确定是否通过协作通信系统/服务的UI接收可以触发命令处理器的显示的输入。触发是通过协作通信系统/服务的UI接收的输入,并且可以包括但不限于:键入的字符、数字、符号、单词和选择的UI项等等。用于键入命令输入的示例性格式可以类似于(但不限于):命令格式:/命令名称/过滤参数l/过滤参数2“字符串参数”。然而,命令输入可能不包括在示例性命令输入格式中描述的所有参数。每个命令输入可能有零个或多个过滤参数。在一个示例中,过滤参数总是按顺序应用的。在示例中,每个命令输入可以被识别为包括一个或多个字符的字符串参数。如果没有接收到触发显示命令处理器的输入,则流程分支为“否”并且方法400的处理结束。然而,如果检测到可能触发显示命令处理器的输入已经被键入,则流程分支为“是”并且进行到操作410。在示例中,当协作通信系统/服务接收到用户输入时,操作408可以发生多次。例如,初始输入可以由协作通信系统/服务键入和处理,并且可以接收修改所接收的输入的进一步输入。操作408可以在接收到包括协作通信系统/服务解释为命令处理意图的命令触发或任何其他输入的任何时间发生。
在操作410中,协作通信系统/服务在UI中呈现所存储的命令处理器以实现涉及所存储的命令处理器的使用/命令行处理。作为示例,协作通信系统/服务可以与协作通信系统/服务的一个或多个存储设备以及外部资源(以及与这样的外部资源相关联的系统)通信,以实现协作通信系统/服务内的命令处理器的处理和显示。在一个示例中,命令处理器的呈现可以包括显示命令处理器。在另一示例中,命令处理器的呈现可以包括显示可以被调用/执行的命令的列表或群组,例如,如图5A和5C中所示。在示例中,命令处理器可以与在协作通信系统/服务内发生的动作以及文件/链接/URL的显示等相关联。
在示例中,方法400可以包括判定操作412,其中,确定是否接收到对注册数据的更新。作为示例,可以从诸如第三方服务之类的外部资源接收对注册数据的更新。如果没有接收到对注册数据的更新,则流程分支为“否”并且方法400的处理结束。然而,如果接收到对注册数据的更新,则流程分支为“是”,并且流程返回到所存储的注册数据被更新所在的操作406。在这样的示例中,可以在检测到可以触发使用与存储的命令处理器相关联的命令的输入时,使用由协作通信系统/服务存储的更新的注册数据。在一些示例中,对注册数据的更新可以动态地发生。在其他示例中,注册数据的注册和更新可以由协作通信系统/服务的管理员管理。在一个示例中,与注册数据相关联的元数据可以绑定到被打包为要由协作通信系统/服务的管理员管理的加载项的扩展。响应于注册数据的参数的改变,加载项可以被被预定的更新循环更新并且处理,以更新一条或更多条注册数据。注意,当注册数据被改变/更新时,与注册的参数数据相关联的编程代码和用户界面元素可能被更新。这样,协作通信系统/服务可以适当地管理注册数据和对注册数据的更新,来以尽可能最好的方式更新协作通信系统/服务。
图4B例示了根据本文描述的示例的由第三方服务执行的示例性方法420。作为示例,方法420可以根据如图1和3所示的示例性系统来执行。在示例中,方法400可以在包括至少一个处理器的设备上执行,该至少一个处理器被配置为存储和执行操作、程序或指令。然而,方法420不限于这样的示例。在至少一个示例中,方法420可以由处理设备的一个或多个组件或分布式网络的组件(例如,网络服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。可以使用系统组件来执行本文关于方法420描述的操作。作为示例,方法400可以由诸如第三方服务之类的外部资源(例如,图1的外部资源114)执行。
方法420的流程开始于操作422,其中,第三方服务向协作通信系统/服务进行注册。如上面的示例中所述,应用代理(例如,应用代理106d)可以使用回呼与诸如第三方服务之类的外部资源114对接,以促进统一通信平台与第三方服务之间的集成。在其他示例中,API可以实现协作通信系统/服务与第三方服务之间的交互,以实现注册数据的传输。上面在方法400(图4A)的描述中提供了注册数据的示例。
流程进行到操作424,其中,生成定义与命令处理器相关联的命令的参数。以上关于图4A的方法400的描述描述了可以用来定义命令/命令处理器的参数的示例。
流程随后进行到操作426,其中,第三方服务向协作通信系统/服务注册命令处理器。在示例中,第三方服务可以通过回呼、API以及诸如(HTTP请求、JSON请求等)的任何其他类型的请求/响应来与协作通信系统服务对接。
在判定操作428中,第三方服务可以确定是否将更新命令处理器的注册数据。例如,第三方服务可以更新与命令/命令处理器相关联的参数。如果注册数据(例如,包括用于命令/命令处理器的参数)将被更新,则流程分支为“是”并且前进到操作430,其中,更新的注册数据被发送给协作通信系统/服务。随后,流程返回到操作426,其中,第三方服务可以与协作通信系统/服务交互以确认向协作通信系统/服务注册命令处理器。
如果注册数据(例如,包括用于命令/命令处理器的参数)未被更新,则流程分支为“否”并且方法420的处理进行到判定操作432。在判定操作432中,第三方服务确定是否接收到与命令处理器相关联的请求。作为示例,协作通信系统/服务可以发送包括用于指示在协作通信系统/服务中调用命令处理器的参数的请求。如果没有从协作通信系统/服务接收到请求,则流程分支为“否”并且方法420的处理结束。如果从协作通信系统/服务接收到请求,则流程分支为“是”并且进行到操作434,其中,第三方服务与协作通信系统/服务交互以执行与命令/命令处理器相关联的处理。
图4C例示了根据本文描述的示例的由统一通信平台执行的处理的示例性方法440。作为示例,方法440可以由如图1和图3所示的示例性系统执行。在示例中,方法440可以在包括至少一个处理器的设备上执行,该至少一个处理器被配置为存储和执行操作、程序或指令。然而,方法440不限于这些示例。在至少一个示例中,方法440可以由处理设备的一个或多个组件或分布式网络的组件(例如,网络服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。可以使用系统组件来执行本文关于方法400描述的操作。作为示例,方法440可以由示例性协作通信系统/服务来执行。协作通信系统/服务是在图1的描述中详细描述的统一通信平台105的示例。
方法440的流程开始于操作442,其中,通过协作通信系统/服务的UI接收命令输入。输入是通过协作通信系统/服务的UI接收的任何数据(包括用户动作的指示)。输入可以是任何形式并且通过多种输入方法中的任一种或多种来接收,所述多种输入方法包括但不限于:键盘键入(例如,物理关键字或软输入面板(SIP)、音频数据、视频数据、触摸/点击动作(例如,鼠标点击/触摸屏)和传输信号等。命令输入是键入到输入键入字段232(在图2的描述中描述)中的任何输入,其可以与命令/命令处理器相关联。命令是在跨协作通信系统/服务和外部资源的所有方面的消息中的自定义触发。当命令被触发时,相关的数据将被实时地发送/取回。可以在协作通信系统/服务的UI中选择用于触发显露可以由协作通信系统/服务使用的命令的数据。示例性协作通信系统/服务被配置为处理多个输入(例如,N个输入)。换言之,每次(例如N次)用户键入命令时,输入操作442被执行以处理命令输入。协作通信系统/服务的命令框架对多种不同场景起作用,该多种不同场景包括但不限于:消息内容插入(例如,插入包括图像、名称、项、任务、文件、位置、视频、声音、编写效率(例如,添加表情符号、消息细节、引用重要信息(@mentions)、语义内容插入(例如,批准计划、提交以便共享)、用于控制/查询的快速动作(协作通信系统/服务管理、提醒、邀请函、存在等等)、请求来自诸如第一方资源、第二方资源和第三方资源之类的资源的信息。
可以基于对触发的识别来检测命令输入的接收(操作442)。如上所述,触发是通过协作通信系统/服务的UI接收的输入,并且可以包括但不限于:键入的字符、数字、符号、单词和所选的UI项等等。用于命令输入的键入的示例性格式可以类似于(但不限于):命令格式:/命令名称/过滤参数l/过滤参数2“字符串参数”。然而,命令输入可能不包括以示例性命令输入格式描述的所有参数。每个命令输入可能有零个或多个过滤参数。在一个示例中,可以按顺序应用过滤参数。在示例中,每个命令输入可以被识别为包括一个或多个字符的字符串参数。
流程进行到操作444,其中,由协作通信系统/服务处理第一查询。作为示例,操作444可以包括生成查询并将该查询传递给命令资源以便进一步进行处理。在一个示例中,操作444可以包括将第一查询发送给命令资源。命令资源是执行命令的第一方资源、第二方资源或第三方资源。在一个示例中,命令资源可以是如前所述的外部资源。继续该示例,在识别/检测到(操作442)接收到命令输入时,第一查询的处理(操作444)可以生成查询并将查询发送给外部资源。在另一示例中,操作444可以包括使用协作通信系统/服务内的资源来处理命令输入。例如,操作444可以确定命令输入将由第一方资源或嵌入在协作通信系统/服务内的资源来处理。在该示例中,所生成的查询将在协作通信系统/服务内被处理。
在一个示例中,可以在协作通信系统/服务中的编写期间接收命令输入。例如,用户可能正在生成如图2A-2E所示的通信(例如,电子邮件、消息、消息线程等)。作为示例,多个用户可以在消息线程中进行通信,其中,一个用户可以用诸如“Matthew,很高兴看到你和/助手孩子姓名。”之类的输入来响应该线程。在这种输入中,用户可能在将通信发送到包括名为Matthew的用户的线程中之前,正在请求个人助手应用查找Matthews的孩子的姓名并将其插入到输入字段中。在该示例中,输入中的“/助手”可以充当用于调用个人助手应用以定位和返回与用户请求相关联的数据的触发器。协作通信系统/服务可以接收这样的输入并将第一查询发送给外部资源(例如,个人助手应用),该外部资源可以包括命令输入的参数和与编写相关联的上下文。与编写相关联的上下文可以包括可用的关于协作通信系统/服务的操作状态的任何信息。在示例中,上下文可以包括但不限于:在输入键入字段232中键入的文本、当前/先前的通信(例如,消息、电子邮件、线程等),其中,命令输入被键入,其在编写/通信时被涉及,其在协作通信系统/服务的团队/群组与通信/编写相关联的内容,通信中包括的内容,协作通信系统/服务的用户的信息,时间戳信息,灵敏度(例如,时间、和/或隐私)以及与协作通信系统/服务相关联的特征等等中被涉及。在上述示例中,在输入指向标识Matthews的孩子姓名的个人助手应用的情况下,上下文可以是与用户Matthew相关联的用户简档信息、以及个人助手应用可用于识别Mathew的孩子的姓名的信息。例如,协作通信系统/服务可以提供关于名为Matthew的用户是谁的上下文信息,使得个人助手应用可以最有效和准确地满足用户命令请求。如上所述,传递给任何资源资源的上下文符合支持协作通信系统/服务的用户的隐私保护的标准。例如,名为Matthew的用户的存储的联系人键入可能具有包括他的孩子姓名的相关联信息。个人助手应用可以返回这样的信息或者可以找出可用于满足输入请求的信息。在一些示例中,在命令资源与协作通信系统/服务之间可能发生来回交互(例如,多次来回通信/握手)。例如,个人助手可以请求与所提供的命令输入和/或上下文有关的澄清。在方法460(图4D)的描述中更详细地描述上下文的澄清。在一些示例中,协作通信系统/服务可以请求关于接收到的输入的来自用户的澄清。
流程可以进行到操作446,其中,生成对接收到的命令输入的响应。在示例中,第一响应由命令资源生成。在一个示例中,命令资源可以是外部资源。在该示例中,外部资源可以接收查询并且基于与从协作通信系统/服务接收到的命令输入和由协作通信系统/服务提供的上下文相关联的参数来生成响应。然而,在替代示例中,上下文可能不需要由协作通信系统/服务提供以启用命令处理。在任何示例中,生成的第一响应(操作446)可以包括结果数据和用于与协作通信系统/服务进行交互的参数。在一些示例中,可以在命令资源与协作通信系统/服务之间发生来回交互(例如,多次来回通信/握手)以生成对所接收的命令输入的响应。用于与协作通信系统/服务交互的参数的示例可以包括显示和/或浏览提供的结果数据的方式,以及检查是否将进行进一步的交互,例如是否已经通过协作通信系统/服务接收到对命令输入的更新。例如,构建上面的示例,其中,输入与名为Matthew的用户的孩子姓名的识别相关,结果数据可以包括Matthew的孩子姓名的名称或者用户可以从中选择的潜在姓名选项的列表。
流程进行到操作448,其中,结果数据被呈现在协作通信系统/服务的UI中。在一个示例中,呈现结果数据可以包括将结果数据插入到正在编写协作通信系统/服务的UI的通信中。例如,构建上面输入与名为Matthew的用户的孩子姓名的识别有关的示例,如果个人助手操作对于插入的姓名有信心,则可以将这种信息插入到用户的消息中,以包括在与Matthew的线程消息中。在一个示例中,结果数据在正在编写的通信中内联呈现。在另一示例中,呈现结果数据可以包括显示将由协作通信系统/服务的用户浏览和/或选择的结果数据。作为示例,可以在协作通信系统/服务的用户选择时将结果数据插入到通信中。换言之,协作通信系统/服务可以与命令资源对接以实现用户命令请求的自动完成,例如,允许用户选择要并入的文档/数据/文件(例如,从由命令资源提供的结果数据选择),然后继续编写消息。
流程可以进行到判定操作450,其中,确定是否接收到对命令输入的更新。如果否,则流程分支为“否”并且方法440的处理。在示例中,协作通信系统/服务可以使得用户能够实时更新命令输入。换言之,命令输入可以改变并且协作通信系统/服务可以与命令资源(例如,外部资源)实时通信以与更新的输入相对应。例如,继续关于具有用于个人助手应用的命令的输入的上述示例,输入可以被更新为“Matthew,很高兴看到你和/助手孩子姓名和妻子姓名”。协作通信系统/服务被配置为与命令资源对接以实时更新结果数据。
如果接收到对命令输入的更新,则流程分支为“是”并且进行到操作452,其中,后续查询被发送给命令资源。发送的后续查询(例如,第二查询)(操作452)包括更新的命令输入的参数和/或更新的命令输入的上下文。在一些示例中,可以在命令资源与协作通信系统/服务之间发生来回交互(例如,多次来回通信/握手)以处理后续查询并最终生成更新的响应。
流程进行到操作454,其中,从命令资源接收对后续查询的响应。在示例中,多个后续查询可以由协作通信系统/服务接收和处理。作为一个示例,对后续查询的响应可以包括基于更新的命令输入和/或上下文的更新的结果数据,其可能已经在先前的查询中提供。在上述更新用于请求键入Matthews的妻子的姓名的输入的示例中,协作通信系统/服务可以与命令资源(例如,嵌入资源和/或外部资源)交互以识别和返回数据来满足更新的命令输入。
流程进行到操作456,其中,更新的结果数据被呈现在协作通信系统/服务的UI中。在一个示例中,呈现更新的结果数据可以包括将更新的结果数据插入到正在编写协作通信系统/服务的UI的通信中。在一个示例中,更新的结果数据在正在编写的通信中内联呈现。在另一示例中,呈现结果数据可以包括显示要由协作通信系统/服务的用户浏览和/或选择的更新的结果数据。作为示例,更新的结果数据可以在协同通信系统/服务的用户选择时插入到通信中。在示例中,可以将更新的结果数据插入替换先前插入的项/对象的编写中,或者替代地,将其与先前插入的项/对象一起呈现。当接收到另外的命令输入时,流程可以返回到操作442。
图4D例示了根据本文描述的示例的用于评估统一通信平台与命令资源之间的通信的示例性方法。如前所述,命令资源是执行命令的第一方资源、第二方资源或第三方资源。在一个示例中,命令资源可以是如前所述的外部资源。作为示例,方法460可以由如图1和图3所示的示例性系统执行。在示例中,方法460可以在包括至少一个处理器的设备上执行,该至少一个处理器被配置为存储和执行操作、程序或指令。然而,方法460不限于这样的示例。在至少一个示例中,方法460可以由处理设备的一个或多个组件或分布式网络的组件(例如,网络服务/分布式网络服务(例如,云服务))执行(例如,计算机实现的操作)。可以使用系统组件来执行本文关于方法460描述的操作。作为示例,方法460可以由示例性协作通信系统/服务执行。协作通信系统/服务是在图1的描述中详细描述的统一通信平台105的示例。
方法460开始于判定操作462,其中,确定在与命令资源的交互期间是否发生通信错误。如果识别出通信错误,则流程分支为“是”并且进行到操作464,其中,利用命令资源重新发起通信。在一个示例中,可以将请求重新发送给诸如外部资源之类的命令资源。在示例中,操作464可以包括协作通信系统/服务与命令资源之间的多个通信以重新发起通信。处理流程可以结束或重新开始(如果检测到另一个通信错误)。在替代示例中,协作通信系统/服务的网络管理员可以评估通信错误并尝试解决该问题以实现协作通信系统/服务与外部资源之间的通信。
如果通信错误未被识别,则流程分支为“否”并且进行到判定操作466,其中,确定协作通信系统/服务中的编写的上下文是否被提供给命令资源。如果否,则流程分支为“否”并且方法460的处理结束。如果提供上下文,则流程分支为“是”并进行到判定操作468。
在判定操作468中,确定上下文是否被命令资源理解。如果正确地处理了上下文(例如,以准确的结果数据接收到传输),则流程分支为“是”并且方法460的处理结束。如果否,则分支为“否”并进行到操作470,其中,对于命令资源澄清上下文。操作470还包括从命令资源重新请求结果数据。
流程可以进行到操作474,其中,接收到更新的结果数据。在替代示例中,协作通信系统/服务可以评估更新的结果数据的准确性,并且与命令资源的交互可以根据这样的确定而改变。
流程可以进行到操作474,其中,更新的结果数据通过协作通信系统/服务的UI被呈现/显示。
图5A例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。图5A例示了示例性协作通信UI视图502。协作通信UI视图502例示了将命令输入504键入到输入键入字段232中。如可以在协作通信UI视图502中看出的,斜线(/)输入用作触发UI显露/显示与协作通信系统/服务集成的多个命令/命令处理器506。例如,当用于命令输入504的触发器被键入到输入键入字段232中时,UI视图502中所示的协作通信系统/服务可以呈现要调用/执行的潜在命令的自动完成列表,如项506所示。例如,用户可能正处于键入包括输入的一个或多个字符的命令输入504的过程,其中,协作通信系统/服务可以实时适应以显示与输入相关联的命令。作为示例,可以键入“/assit”的命令输入,并且所显示的多个命令处理器506可以调整以显示与输入相关联的潜在命令处理器的列表,例如“助手”。在示例中,多个命令/命令处理器506可以根据由协作通信系统/服务接收的命令输入502来更新。
在示例性UI视图502中,命令输入502在编写会话(例如,协作通信系统/服务的用户/团队成员之间的通信)期间正被输入。UI视图502的项212例示命令输入504正被键入到多个用户(例如,Sophia,Mike,Rob,Rachel)之间的会话中。如在UI视图502中可以看到的,UI的左边栏显示了可能正在进行的会话的列表。用户可以使用这样的特征来方便地在会话/通信之间切换。命令输入504可被键入到任何会话(例如,通信线程、电子邮件等)中。然而,本领域技术人员将认识到,命令输入504不限于协作通信系统/服务的会话线程。命令输入504可以与协作通信系统/服务的任何特征(包括但不限于通信/会话、搜索功能、文件、文本输入和链接/URL、语义对象等)相关联。语义对象的示例是如图2E所示,是实时对象,其中,数据/内容可以被实时地合并/更新,而不是将多个通信响应/输入添加到冗长的线程中。例如,语义对象的示例可以是图2E所示的工作流,其中,可以实时更新数据(例如,命名约定、所有者、状态、消息内容/会话等)。
图5B例示了根据本文描述的示例的用于与统一通信平台进行交互的示例性界面。图5B例示了示例性协作通信UI视图510。协作通信UI视图510例示了更新的命令输入512到输入键入字段232中的键入。如在协作通信UI视图510中可以看到的,更新的命令输入键入512改变显示在协作通信系统/服务的UI中的命令/结果数据514。此外,协作通信系统/服务可以为用户提供自动完成的命令输入选项以完成命令输入512。例如,用户可以键入搜索动画图像的命令,并且可以指定优化输入搜索的命令参数。协作通信系统/服务可以与命令资源(例如,用于动画图像的第三方服务)对接并且使用命令参数来优化提供回协作通信系统/服务的结果数据。如项514所示,用于命令输入512的自动完成选项被提供给用户以更加容易地从满足用户意图的结果数据中进行选择。
图5C例示了根据本文描述的示例的用于与统一通信平台交互的示例性界面。图5C例示了示例性协作通信UI视图520。协作通信UI视图520例示了更新的命令输入522到输入键入字段232中的键入。如在协作通信UI视图520中可以看出的,更新的命令输入键入改变显示在协作通信系统/服务的UI中的命令/结果数据524。例如,“/file”命令显示文件/内容命令。作为示例,导致文件选择的命令交互可能导致文件被合并到正在进行的通信/会话中。
图5D例示了根据本文描述的示例的用于与统一通信平台交互的示例性界面。图5D例示了示例性协作通信UI视图530。协作通信UI视图530例示了更新的命令输入532到输入键入字段232中的键入。如在协作通信UI视图530中可以看到的,更新的命令输入键入改变显示在协作通信系统/服务的UI中的命令/结果数据534。例如,与命令处理器相关联的特定文件的规范改变项534中显示的文件列表。在图5C的UI视图520中,命令处理器524的列表示出可以从中选择的多种类型的文件。在图5D的UI视图530中,当命令输入532被改变以指定正在搜索的文件是诸如POWERPOINT文件之类的演示文件时,更新命令处理器534的列表。
图6A例示了根据本文描述的示例的用于显示统一通信平台中的内容的示例性视图。如图6A中所示,协作通信系统/服务UI中的内容可以被显示在垂直列表视图602、平铺列表视图604和iFrame视图606中。可以编程示例性协作通信系统/服务以根据示例性视图602-606中的一个显示内容。包括与注册命令处理器相关联的命令参数的注册数据可以被用来确定内容如何在协作通信系统/服务的UI中显示。然而,本领域技术人员将认识到,所显示的内容不限于示例性视图602-606。内容可以以可能对UI的用户有用或令UI的用户满意的任何形式显示。在示例中,可以使用示例性视图602-606来显示协作通信系统/服务的编写中的内容(例如,结果数据)。然而,本领域技术人员将认识到,示例性视图602-606可以用于以协作通信系统/服务的UI内的任何方式显示内容。
图6B例示了根据本文描述的示例的用于显示统一通信平台中的内容的示例性视图。如图6B所示,协作通信系统/服务UI中的内容的显示可以基于用户选择或对命令输入的改变而实时适应。例如,视图612例示了显示的内容的第一状态。在示例中,内容的显示可以根据命令输入/对命令输入的更新的键入而改变。在示例中,可以通过在协作通信系统/服务的UI内进行选择来更新命令参数。换言之,用户可以在必须为命令输入参数键入文本的情况下进行选择。视图614例示了基于用户选择而改变的显示的内容的第二状态。例如,当用户进行选择(例如,鼠标点击/触摸屏输入等)时,可以在协作通信系统/服务的UI中更新命令参数和结果数据。视图616例示了在另外的用户选择之后改变的显示的内容的第三状态。
图6C例示了根据本文描述的示例的统一通信平台的示例性用户界面组件。用户界面组件可以采取任何形式。在一个示例中,用户界面视图630例示了作为工具栏的UI组件632的显示。当UI组件632中的项被选择时,可以显示命令数据634。如在这个示例中,可以经由在诸如UI组件632之类的UI组件中命令的选择来接收命令输入。在一些情况下,命令的注册过程可以由协作通信系统/服务解释,使得协作通信系统/服务使UI元素(例如,按钮)可供用户使用。在示例中,UI元素可以是可自定义的,例如由协作通信系统/服务的管理员和/或用户自定义。例如,可以在协作通信系统/服务中对UI元素/组件进行编程,从而能够快速动作以调用命令。在一个示例中,UI元素可以是合并在协作通信系统/服务内的UI小部件。例如,可以通过UI小部件在协作通信系统/服务内启动命令处理。在示例中,UI组件632可以由协作通信系统/服务的开发者和/或用户编程或适配。用户通过协作通信系统/服务的UI(例如,与诸如中间层106b之类的其他服务器组件进行通信的前端106a)可以更新要包括在UI组件632中的命令/UI对象的布置。在示例中,UI组件632的定位根据用户偏好可以是可变的或可调整的。然而,在其他示例中,UI组件632的定位可以由协作通信系统/服务的程序开发者来固定。
图7-10和相关联的描述提供了可以在其中实践本公开内容的各方面的各种操作环境的讨论。然而,关于图7-10所示和讨论的设备和系统是出于示例和说明的目的的,并不限制可用于实践本文所述的公开内容的各方面的大量计算设备配置。
图7是例示可以实践本公开内容的各方面的计算设备700的物理组件(例如,硬件)的框图。下面描述的计算设备组件可以具有用于在服务器计算设备108上实现高效的实际问题回答的计算机可执行指令,包括用于搜索引擎711的计算机可执行指令,其可以被执行以采用本文所公开的方法。在基本配置中,计算设备700可以包括至少一个处理单元702和系统存储器704。取决于计算设备的配置和类型,系统存储器704可以包括但不限于易失性存储设备(例如,随机存取存储器)、非易失性存储设备(例如只读存储器)、闪存或这些存储器的任何组合。系统存储器704可以包括操作系统705和适于运行软件应用720的一个或多个程序模块706,例如关于图1和图3的一个或多个组件等,特别是提取器组件713、排序器组件715或记分器组件717。操作系统705可以例如适合于控制计算设备700的操作。此外,本公开内容的实施例可以结合图形库、其他操作系统或者任何其他应用程序进行实践并且不限于任何特定的应用或系统。该基本配置在图7中由虚线708内的那些组件例示。计算设备700可具有另外的特征或功能。例如,计算设备700还可以包括另外的数据存储设备(可移除的和/或不可移除的),例如,举例来说,磁盘、光盘或磁带等。图7中通过可移除存储设备709和不可移除存储设备710来例示这种另外的存储设备。
如上所述,多个程序模块和数据文件可以被存储在系统存储器704中。当在处理单元702上执行时,程序模块706(例如,搜索引擎711)可以执行包括但不包括限于如本文所述的这些方面的过程。根据本公开内容的各个方面可以使用的其他程序模块,特别是用于高效的实际问题回答的程序模块可以包括提取器组件713、排序器组件715和记分器组件717等。
此外,本公开内容的示例可以在包括分立电子元件、包含逻辑门的封装或集成电子芯片、使用微处理器的电路中,或者在包含电子元件或微处理器的单个芯片上实践。例如,可以经由片上系统(SOC)来实践示例,其中,图7中所示的组件中每一个或多个可以被集成到单个集成电路上。这样的SOC器件可以包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元和各种应用功能,所有这些单元作为单个集成电路被集成(或“烧”)到芯片衬底上。当经由SOC操作时,本文描述的关于客户端切换协议的能力的功能可以经由与单个集成电路(芯片)上的计算设备700的其他组件集成的专用逻辑来操作。本公开内容的示例也可以使用能够执行逻辑运算(例如,举例来说,AND(与)、OR(或)和NOT(非)等)的其他技术(包括但不限于机械、光学、流体和量子技术)来实践。另外,可以在通用计算机或任何其他电路或系统内实践示例。
计算设备700还可以具有一个或多个输入设备712,例如键盘、鼠标、笔、声音或语音输入设备、触摸或滑动输入设备等。还可以包括诸如显示器、扬声器、打印机等的输出设备714。上述设备是示例,并且可以使用其他设备。计算设备700可以包括允许与其他计算设备718通信的一个或多个通信连接716。适当的通信连接716的示例包括但不限于射频(RF)发射器、接收器和/或收发器电路,通用串行总线(USB)、并行和/或串行端口。
本文使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质可以包括以用于存储信息(例如,计算机可读指令、数据结构或程序模块)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。系统存储器704、可移除存储设备709和不可移除存储设备710都是计算机存储介质示例(例如,存储器存储设备)。计算机存储介质可以包括RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储设备、盒式磁带、磁带、磁盘存储设备或其他磁性存储设备或可以用于存储信息并且可以由计算设备700访问的任何其他制品。任何这样的计算机存储介质可以是计算设备700的一部分。计算机存储介质不包括载波或其他传播或调制的数据信号。
通信介质可以通过计算机可读指令、数据结构、程序模块或调制数据信号(例如载波或其他传输机制)中的其他数据来体现,并且包括任何信息传递介质。术语“调制数据信号”可以描述具有以对信号中的信息进行编码的方式设置或改变的一个或多个特性的信号。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质之类的无线介质。
图8A和图8B例示了移动计算设备800,例如移动电话、智能电话、可穿戴计算机(例如,智能手表)、平板计算机、膝上型计算机等,利用它们可以实践本公开内容的实施例。在一些方面,客户端可以是移动计算设备。参照图8A,例示了用于实现这些方面的移动计算设备800的一个方面。在基本配置中,移动计算设备800是具有输入元件和输出元件二者的手持式计算机。移动计算设备800通常包括显示器805以及允许用户将信息键入到移动计算设备800中的一个或多个输入按钮810。移动计算设备800的显示器805还可以用作输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧面输入元件815允许更多的用户输入。侧面输入元件815可以是旋转开关、按钮等或任意其他类型的手动输入元件。在替代方面,移动计算设备800可以包含更多或更少的输入元件。例如,在一些实施例中,显示器805可以不是触摸屏。在又一个替代示例中,移动计算设备800是便携式电话系统,例如蜂窝电话。移动计算设备800还可以包括可选按键板835。可选按键板835可以是物理按键板或在触摸屏显示器上生成的“软”按键板。在各种实施例中,输出元件包括用于示出图形用户界面(GUI)的显示器805、视觉指示器820(例如,发光二极管)和/或音频换能器825(例如,扬声器)。在一些方面中,移动计算设备800包含振动换能器以向用户提供触觉反馈。在又一个方面,移动计算设备800包含诸如音频输入(例如,麦克风插孔)、音频输出(例如,耳机插孔)和视频输出(例如,HDMI端口)之类的输入和/或输出端口,以便向外部设备发送信号或从外部设备接收信号。
图8B是例示移动计算设备的一个方面的架构的框图。换言之,移动计算设备800可以包含系统(例如,架构)802以实现一些方面。在一个实施例中,系统802被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些方面中,系统802被集成为计算设备,例如集成的个人数字助理(PDA)和无线电话等。
一个或多个应用程序866可以被加载到存储器862中并且在操作系统864上或者与操作系统864相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等等。系统802还包括存储器862内的非易失性存储区域868。非易失性存储区域868可用于存储假如系统802断电不应丢失的持久信息。应用程序866可以使用和存储非易失性存储区域868中的信息,例如电子邮件或由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统802上,并被编程为与驻留在主计算机上的相应同步应用交互,以保持存储在非易失性存储区域868中与存储在主计算机中的相应信息同步的信息。应当理解,可以将其他应用程序加载到存储器862中并且运行在移动计算设备800上,包括用于如本文所述的高效的实际问题回答的指令(例如,搜索引擎、提取器模块、相关性排序模块、回答记分模块等)。
系统802具有电源870,电源870可以被实现为一个或多个电池。电源870还可以包括外部电源,例如对电池进行补充或再充电的AC适配器或电动对接支架(dockingcradle)。
系统802还可以包括执行发送和接收射频通信的功能的无线接口层872。无线接口层872经由通信运营商或服务提供商促进系统802与“外部世界”之间的无线连接。去往和来自无线接口层872的传输在操作系统864的控制下进行。换而言之,无线接口层872接收的通信可以经由操作系统864传播到应用程序866,反之亦然。
可视指示器820可以用于提供视觉通知、和/或可以使用音频接口874来经由音频换能器825产生可听通知。在所例示示例中,可视指示器820是发光二极管(LED)并且音频换能器825是扬声器。这些设备可以直接耦合到电源870,使得当被激活时,即使处理器860和其他组件可能关闭以保存电池电力,它们仍然保持开启达通知机制所指定的持续时间。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态为止。音频接口874用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器825之外,音频接口874还可以耦合到麦克风以接收可听输入,从而促进电话交谈。根据本公开内容的示例,麦克风还可以用作音频传感器以促进对通知的控制,如将在下面描述的。系统802可以进一步包括视频接口876,其使得机载相机830的操作能够记录静止图像、视频流等。
实现系统802的移动计算设备800可以具有另外的特征或功能。例如,移动计算设备800还可以包括另外的数据存储设备(可移除和/或不可移除),例如磁盘、光盘或磁带。图8B中通过非易失性存储区域868例示了这样的另外的存储器。
如上所述,由移动计算设备800生成或捕获并经由系统802存储的数据/信息可以本地存储在移动计算设备800上,或者数据可以存储在可以由设备经由无线接口层872或经由移动计算设备800和与移动计算设备800相关联的单独的计算设备(例如,诸如互联网之类的分布式计算网络中的服务器计算机)之间的有线连接访问的任意数量的存储介质上。应该理解,这样的数据/信息可以经由无线接口层872经由移动计算设备800或经由分布式计算网络来访问。类似地,根据众所周知的数据/信息传送和存储手段,包括电子邮件和协作数据/信息共享系统,这些数据/信息可以容易地在计算设备之间传送以用于存储和使用。
图9例示了如上所述的用于处理来自远程源(例如,个人计算机904、平板计算设备906或移动计算设备908)的在计算系统处接收到的数据的系统的架构的一个方面。在服务器设备902处显示的内容可以被存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务922、网络门户924、邮箱服务926、即时消息传送储存器928或社交网站930来存储各种文档。搜索引擎711可以由与服务器设备902通信的客户端采用。服务器设备902可以通过网络915向诸如个人计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)之类的客户端计算设备提供数据并且从其提供数据。作为示例,上述计算机系统示例可以体现在个人计算机904、平板计算设备906和/或移动计算设备908(例如,智能电话)中。除了接收可用于在图形发起系统处预处理或者在接收方计算系统处后处理的图形数据之外,计算设备的这些实施例中的任何一个还可以从储存器916获得内容。
图10例示了可以执行本文公开的一个或多个方面的示例性平板计算设备1000。另外,本文描述的方面和功能可以在分布式系统(例如,基于云的计算系统)上操作,其中,应用功能、存储器、数据存储设备和检索以及各种处理功能可以通过分布式计算网络(例如,互联网或内联网等)从彼此远程地操作。用户界面和各种类型的信息可以经由机载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元来显示。例如,用户界面和各种类型的信息可以在用户界面和各种类型的信息被投影到的墙表面上被显示和交互。与可以实践本发明的实施例的多个计算系统的交互包括击键键入、触摸屏键入、语音或其他音频键入、手势键入,其中,相关联的计算设备配备有用于捕获和解释用户手势的检测(例如,照相机)功能,以便控制计算设备的功能等。
例如,上面参考根据本公开内容的各方面的方法、系统和计算机程序产品的框图和/或操作说明来描述了本公开内容的各方面。在框中记录的功能/动作可能不按任何流程图中示出的顺序发生。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行。
本申请中提供的一个或多个方面的描述和说明不旨在以任何方式限制或限定要求保护的本公开内容的范围。本申请中提供的方面、示例和细节被认为足以传达拥有权并使得其他人能够制作和使用所要求保护的公开内容的最佳模式。所要求保护的公开内容不应被解释为限于本申请中提供的任何方面、示例或细节。无论是否组合地或单独地示出和描述,旨在有选择地包括或省略各种特征(结构和方法二者)以产生具有特定特征集合的实施例。在被提供本申请的描述和说明之后,本领域技术人员可以设想落入本申请中体现的总体发明构思的更宽泛方面的精神内的变化、修改和替代方面,其不脱离要求保护的公开内容的更宽泛范围。

Claims (15)

1.一种协作通信系统,包括:
存储器;以及
至少一个处理器,所述至少一个处理器与所述存储器操作地连接,所述处理器执行包括以下步骤的操作:
响应于在所述协作通信系统的用户界面中的编写期间接收的命令输入,基于所接收的输入通过将查询传递给命令资源来处理所述查询,其中,所述查询包括所述命令输入的参数和与所述编写相关联的上下文,
基于所述命令输入的参数和所述上下文接收来自所述命令资源的响应,其中,所述响应包括结果数据和用于与所述协作通信系统进行交互的参数,以及
在所述用户界面中呈现所述结果数据。
2.根据权利要求1所述的协作通信系统,其中,所述操作还包括:基于从用户接收到触发来识别所述命令输入。
3.根据权利要求1所述的协作通信系统,其中,所述呈现所述结果数据还包括:将所述结果数据插入到所述协作通信系统的所述用户界面中的正在编写的通信中。
4.根据权利要求1所述的协同通信系统,其中,从所述命令资源接收的用于与所述协作通信系统进行交互的参数包括用于指示如何使用由所述用户界面呈现的所述结果数据的参数,并且所述协作通信系统根据所述命令资源传递的参数来呈现所述结果数据。
5.根据权利要求1所述的协同通信系统,其中,所述命令输入是通过所述用户在所述协作通信系统中与之交互的UI小部件触发的。
6.根据权利要求5所述的协作通信系统,其中,所述操作还包括:响应于所述命令输入被更新而通过将所述查询传递给命令资源来处理与所接收的输入相关联的第二查询,其中,所述第二查询包括更新的命令输入的参数。
7.根据权利要求6所述的协作通信系统,其中,所述操作还包括:基于所述更新的命令输入的参数和与所述编写相关联的所述上下文,从所述命令资源接收第二响应,其中,所述第二响应包括更新的结果数据以及用于与所述协作通信系统进行交互的参数。
8.根据权利要求7所述的协作通信系统,其中,所述操作还包括:在所述用户界面中呈现所述更新的结果数据,以及响应于接收到与所述结果数据相对应的选择,将所选择的结果数据内联地插入到所述协作通信系统的所述用户界面中的正在编写的通信中。
9.一种包括可执行指令的计算机可读存储设备,所述可执行指令在至少一个处理器上执行时使得所述处理器执行包括以下步骤的过程:
从用于协同通信服务中的可执行的命令的外部资源接收命令处理器的注册数据,其中,所述注册数据包括用于定义与所述命令处理器相关联的命令的参数;
将所述注册数据存储在所述协同通信服务的存储设备中;
响应于在所述协作通信服务中接收到输入的声明,使用用于定义所述命令的参数来确定所述输入是否触发所述命令处理器;以及
响应于确定所述输入触发所述命令处理器,呈现所存储的命令处理器以显示在所述协作通信服务的用户界面中。
10.一种计算机实现的方法,包括:
响应于在协作通信服务的用户界面中的编写期间接收的命令输入,向外部资源传送第一查询,所述第一查询包括所述命令输入的参数和与所述编写相关联的上下文;
基于所述命令输入的参数和所述上下文从所述外部资源接收第一响应,其中,所述第一响应包括结果数据和用于与所述协作通信服务交互的参数;
在所述用户界面中呈现所述结果数据;
响应于对所述命令输入的更新,向所述外部资源传送第二查询,所述第二查询包括更新的命令输入的参数;
基于由所述第一查询提供的所述命令输入的参数和所述上下文,从所述外部资源接收第二响应,其中,所接收的所述第二响应包括更新的结果数据;以及
在所述用户界面中呈现所述更新的结果数据。
11.根据权利要求10所述的计算机实现的方法,还包括:在与所述协作通信服务相关联的存储设备中注册与命令处理器相关联的数据,所述数据是从用于所述协作通信服务中的可执行的命令的所述外部资源接收的,其中,所注册的数据包括用于定义与所述命令处理器相关联的所述命令的参数。
12.根据权利要求11所述的计算机实现的方法,还包括:响应于接收的所述命令输入,使用所注册的数据的参数来确定所述命令输入是否触发所述命令处理器,以及响应于确定所述命令输入触发所述命令处理器,呈现所述命令处理器以显示在所述用户界面中,其中,所述呈现所存储的命令处理器的还包括响应于确定所述命令输入触发所述命令处理器,显示自动完成的命令处理器。
13.根据权利要求12所述的计算机实现的方法,还包括:响应于接收的所述命令输入,使用更新的注册的数据的参数来确定所述命令输入是否触发所述命令处理器,以及响应于确定所述命令输入触发所述命令处理器,呈现所述命令处理器以显示在所述用户界面中。
14.根据权利要求10所述的计算机实现的方法,还包括:基于从用户接收到触发来识别所述命令输入,其中,所述触发是以下各项中的至少一项的输入:键入的字符、数字、符号、单词以及所述用户界面中的选择的项。
15.根据权利要求10所述的计算机实现的方法,其中,所述呈现所述结果数据还包括将所述结果数据内联地插入到所述用户界面中的正在编写的通信中,并且其中,所述呈现所述更新的结果数据还包括在与所述更新的结果数据的通信中替换所述结果数据。
CN201680029636.6A 2015-05-22 2016-05-20 用于内容创建的交互式命令行 Active CN107646120B (zh)

Applications Claiming Priority (7)

Application Number Priority Date Filing Date Title
US201562165739P 2015-05-22 2015-05-22
US201562165856P 2015-05-22 2015-05-22
US62/165,739 2015-05-22
US62/165,856 2015-05-22
US14/801,067 2015-07-16
US14/801,067 US20160342665A1 (en) 2015-05-22 2015-07-16 Interactive command line for content creation
PCT/US2016/033382 WO2016191221A1 (en) 2015-05-22 2016-05-20 Interactive command line for content creation

Publications (2)

Publication Number Publication Date
CN107646120A true CN107646120A (zh) 2018-01-30
CN107646120B CN107646120B (zh) 2021-04-02

Family

ID=57324482

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201680029636.6A Active CN107646120B (zh) 2015-05-22 2016-05-20 用于内容创建的交互式命令行

Country Status (4)

Country Link
US (1) US20160342665A1 (zh)
EP (1) EP3298559A1 (zh)
CN (1) CN107646120B (zh)
WO (1) WO2016191221A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111788557A (zh) * 2018-04-05 2020-10-16 华睿泰科技有限责任公司 用于多个云服务的数据管理的系统和方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11483266B2 (en) * 2013-03-04 2022-10-25 Paul Everton Method and system for electronic collaboration
US10216709B2 (en) 2015-05-22 2019-02-26 Microsoft Technology Licensing, Llc Unified messaging platform and interface for providing inline replies
US20160344677A1 (en) 2015-05-22 2016-11-24 Microsoft Technology Licensing, Llc Unified messaging platform for providing interactive semantic objects
US10248283B2 (en) * 2015-08-18 2019-04-02 Vmware, Inc. Contextual GUI-style interaction for textual commands
US10291565B2 (en) * 2016-05-17 2019-05-14 Google Llc Incorporating selectable application links into conversations with personal assistant modules
US10263933B2 (en) 2016-05-17 2019-04-16 Google Llc Incorporating selectable application links into message exchange threads
USD809557S1 (en) 2016-06-03 2018-02-06 Samsung Electronics Co., Ltd. Display screen or portion thereof with transitional graphical user interface
WO2018071659A1 (en) * 2016-10-13 2018-04-19 Itron, Inc. Hub and agent communication through a firewall
US11188710B2 (en) * 2016-12-30 2021-11-30 Dropbox, Inc. Inline content item editor commands
US10740553B2 (en) * 2017-04-17 2020-08-11 Microsoft Technology Licensing, Llc Collaborative review workflow graph
US10887423B2 (en) 2017-05-09 2021-01-05 Microsoft Technology Licensing, Llc Personalization of virtual assistant skills based on user profile information
US20190004821A1 (en) * 2017-06-29 2019-01-03 Microsoft Technology Licensing, Llc Command input using robust input parameters
US11044285B1 (en) * 2018-07-13 2021-06-22 Berryville Holdings, LLC Method of providing secure ad hoc communication and collaboration to multiple parties
US10719340B2 (en) 2018-11-06 2020-07-21 Microsoft Technology Licensing, Llc Command bar user interface
US10922494B2 (en) * 2018-12-11 2021-02-16 Mitel Networks Corporation Electronic communication system with drafting assistant and method of using same
WO2021178901A1 (en) * 2020-03-05 2021-09-10 Brain Technologies, Inc. Collaboration user interface for computing device
US11445029B2 (en) 2020-05-18 2022-09-13 Slack Technologies, Llc Integrated workspaces on communication platform

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1257247A (zh) * 1998-12-16 2000-06-21 国际商业机器公司 用于保护计算机系统的图形用户界面中控件的方法和装置
CN102662704A (zh) * 2012-03-31 2012-09-12 上海量明科技发展有限公司 一种启动即时通信交互界面的方法、终端和系统
WO2013137660A1 (en) * 2012-03-16 2013-09-19 Samsung Electronics Co., Ltd. Collaborative personal assistant system for delegating provision of services by third party task providers and method therefor
CN103532756A (zh) * 2013-10-15 2014-01-22 上海寰创通信科技股份有限公司 一种基于网管系统的命令行系统以及命令行操作方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7239629B1 (en) * 1999-12-01 2007-07-03 Verizon Corporate Services Group Inc. Multiservice network
US8577913B1 (en) * 2011-05-27 2013-11-05 Google Inc. Generating midstring query refinements
US9235654B1 (en) * 2012-02-06 2016-01-12 Google Inc. Query rewrites for generating auto-complete suggestions
US20150205876A1 (en) * 2013-03-15 2015-07-23 Google Inc. Providing access to a resource via user-customizable keywords
US9582608B2 (en) * 2013-06-07 2017-02-28 Apple Inc. Unified ranking with entropy-weighted information for phrase-based semantic auto-completion
US9930167B2 (en) * 2014-07-07 2018-03-27 Verizon Patent And Licensing Inc. Messaging application with in-application search functionality

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1257247A (zh) * 1998-12-16 2000-06-21 国际商业机器公司 用于保护计算机系统的图形用户界面中控件的方法和装置
WO2013137660A1 (en) * 2012-03-16 2013-09-19 Samsung Electronics Co., Ltd. Collaborative personal assistant system for delegating provision of services by third party task providers and method therefor
CN102662704A (zh) * 2012-03-31 2012-09-12 上海量明科技发展有限公司 一种启动即时通信交互界面的方法、终端和系统
CN103532756A (zh) * 2013-10-15 2014-01-22 上海寰创通信科技股份有限公司 一种基于网管系统的命令行系统以及命令行操作方法

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111788557A (zh) * 2018-04-05 2020-10-16 华睿泰科技有限责任公司 用于多个云服务的数据管理的系统和方法

Also Published As

Publication number Publication date
WO2016191221A1 (en) 2016-12-01
EP3298559A1 (en) 2018-03-28
US20160342665A1 (en) 2016-11-24
CN107646120B (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
CN107646120A (zh) 用于内容创建的交互式命令行
US11907653B2 (en) Digital processing systems and methods for network map visualizations of team interactions in collaborative work systems
US11782582B2 (en) Digital processing systems and methods for detectable codes in presentation enabling targeted feedback in collaborative work systems
RU2754990C2 (ru) Улучшения эффективности в приложениях администрирования задач
CN107683468A (zh) 用于提供交互式列表对象的统一消息传送平台
CN105074741B (zh) 建议相关项
US8762870B2 (en) Multifunction drag-and-drop selection tool for selection of data objects in a social network application
KR102122002B1 (ko) 다른 형태의 정보 공유를 통한 코브라우징의 통합
US10270666B2 (en) Displaying and navigating implicit and explicit enterprise people relationships
CN109219824A (zh) 利用用户访问权限来自动共享文档
CN107646186A (zh) 用于提供内联回复的统一消息传送平台和接口
CN104081382A (zh) 建立可动态指定的用户界面的方法和系统
CN108292304A (zh) 跨应用数字墨水库
US11861258B2 (en) Method, apparatus, and computer program product for sharing interface annotations among participating devices within a group-based communication system
CN108475159A (zh) 在锁定屏幕上创建笔记
US20160125527A1 (en) Financial Information Management System and User Interface
KR20150137111A (ko) 사용자 인터페이스 내 상호작용형 요소
CN110023943A (zh) 自动会议邀请处理
CN112242948B (zh) 群会话处理方法、装置、计算机设备和存储介质
US20150248734A1 (en) Displaying activity streams for people and groups in an enterprise
CN110431548A (zh) 针对图表的上下文规则
CN107180174A (zh) 用于计算设备的通行码
Caixeiro Integration of an App iOS APP with Social Networks and Cloud Storages
Caixeiro Integration of an iOS App with Social Networks and Cloud Storages
Pereira iOS integration with Internet Chat Services

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant