首页 / 专利库 / 数学与统计 / 工作空间 / 基于网络的可嵌入协作工作空间

基于网络的可嵌入协作工作空间

阅读:347发布:2020-05-11

专利汇可以提供基于网络的可嵌入协作工作空间专利检索,专利查询,专利分析的服务。并且自由形式输入不是若干应用或文档类型原生的,但是用户希望将其作为输入模式,特别是对于协作而言。因此,提供了系统和方法以实现插入 电子 协作 工作空间 ,所述电子协作工作空间接受和存储自由形式输入以用作可嵌入各种文档中的对象。外部主机应用提供自由形式输入所需的功能,并且输入可以被提交到文档或作为单独的文档存储,所述单独的文档可以由多个用户出于协作的目的引用和 访问 。,下面是基于网络的可嵌入协作工作空间专利的具体信息内容。

1.一种用于在不原生地支持自由形式输入的文档中实现自由形式输入的方法,包括:
由计算设备定义自由形式输入对象;
由所述计算设备在所述文档的文档对象模型(DOM)中引用主机应用;
由所述计算设备在所述DOM中定义可嵌入协作工作空间,其中,第一框架处理来自所述文档的接口命令,并且被包括在所述第一框架中的第二框架处理与原生地支持自由形式输入的所述主机应用的通信,从而提供对所述文档中的自由形式输入的支持。
2.如权利要求1所述的方法,其中,所述主机应用是从所述文档远程运行的。
3.如权利要求2所述的方法,其中,所述主机应用由服务器提供作为软件即服务解决方案的部分。
4.如权利要求1所述的方法,其中,所述第一框架引用其中存储了对所述可嵌入协作工作空间的输入的可嵌入框架文档。
5.如权利要求4所述的方法,其中,存储在所述可嵌入框架文档中的现有内容被检索以用于显示。
6.如权利要求4所述的方法,其中,所述可嵌入框架文档远离所述文档地存储在云服务器上作为软件即服务解决方案的部分。
7.如权利要求4所述的方法,其中,对所述可嵌入协作工作空间的所述输入响应于用户提供提交命令而被存储。
8.一种用于在不原生地支持自由形式输入的文档中实现自由形式输入的系统,包括:
处理单元;以及
存储器存储装置,所述存储器存储装置包括指令,所述指令在由所述处理单元执行时可操作以提供:
用户应用,其提供由文档对象模型(DOM)定义的文档,所述DOM包括控制接口框架并且所述控制接口框架包括应用框架;
其中,所述控制接口框架指定所述DOM中的位置属性和一个或多个尺寸属性,以在所述文档中定义可嵌入协作工作空间;以及
其中,所述应用框架链接到主机应用,以向所述可嵌入协作工作空间提供自由形式输入功能。
9.如权利要求8所述的系统,其中,所述控制接口链接到存储在本地设备上的嵌入式框架文档,其中,所述嵌入式框架文档存储在所述可嵌入协作工作空间中进行的所述自由形式输入。
10.如权利要求8所述的系统,其中,所述控制接口创建嵌入式框架文档,其中,所述嵌入式框架文档存储在所述可嵌入协作工作空间中进行的所述自由形式输入。
11.如权利要求8所述的系统,其中,所述可嵌入协作工作空间可操作以接收结构化输入。
12.如权利要求8所述的系统,其中,所述控制接口链接到存储在远程设备上的嵌入式框架文档,其中,所述嵌入式框架文档存储在所述可嵌入协作工作空间中进行的并且可由多个用户访问的所述自由形式输入。
13.如权利要求12所述的系统,其中,来自所述多个用户中的每个用户的自由形式输入与独特标识符相关联。
14.如权利要求8所述的系统,其中,所述可嵌入协作工作空间,其中,所述控制接口链接到是电子邮件消息的部分的嵌入式框架文档,其中,所述嵌入式框架文档存储在所述可嵌入协作工作空间中进行的所述自由形式输入并且与所述电子邮件消息一起被发送给收件人。
15.一种包括指令的计算机可读存储设备,所述指令在由处理器执行时可操作以提供用于在不原生地支持自由形式输入的文档中实现自由形式输入的方法,包括:
由计算设备定义自由形式输入对象;
由所述计算设备在所述文档的文档对象模型(DOM)中引用主机应用;
由所述计算设备在所述DOM中定义可嵌入协作工作空间,其中,第一框架处理来自所述文档的接口命令,并且被包括在所述第一框架中的第二框架处理与原生地支持自由形式输入的所述主机应用的通信,从而提供对所述文档中的自由形式输入的支持。

说明书全文

基于网络的可嵌入协作工作空间

背景技术

[0001] 相对于被动查看托管的内容,与网站的用户交互被称为“Web 2.0”,并且包括社交媒体网站、博客、维基、视频共享站点、具有评论部分或论坛特征的网站等。Web 2.0站点经常使用具有各种格式化控件(例如,图形用户界面(GUI)控件、超文本标记语言(HTML)或专有标签)的嵌入式富文本框(RTB)来在与网站交互时录入文本以及向文本录入“丰富性”(即,用于文本和非文本对象的格式化信息)。为了在单个框内录入文本之外的内容(例如,第一文本框内的第二文本框、文本列、图像、视频、超链接、其他非文本对象),可以向用户提供各种对话以上载那些内容项,或者用户可以经由文本内的标签链接到非文本项(例如,作为超链接或锚定对象)。然而,RTB不允许自由形式的交互或协作,并且不好用,尤其是在添加除文本之外的对象或尝试经由连续帖子进行对话或协作时,例如在在线论坛或留言板中。替代地,当使用基于软件包或经由软件即服务(SaaS)系统时,用户可以在单个文档内在线协作。然而,提供基于云的软件是在计算上昂贵的(数据被发送到提供者服务器并被解释两次)并且基于云的软件在提供者特定的网站或户网站处被访问;它不可嵌入在第三方网页上的Web 2.0UX中或应用中,这要求用户将焦点在多个应用之间转移,这进一步要求花费计算和存储器资源以用于多个应用。发明内容
[0002] 提供本概述是为了以简化形式介绍对构思的选择,所述构思将在以下的详细描述部分中被进一步描述。本概述不旨在确定所要求保护的主题的所有特征,也不旨在限制所要求保护的主题的范围。
[0003] 本文提供了用于实现基于网络的可嵌入协作工作空间的系统和方法。提供画布以用作基于网络的可嵌入协作工作空间,以实现除文本输入和操作之外的用户交互和协作,使得用户被给予自由形式访问以与应用交互,而不是或附加于结构化的基于文本的交互。在应用和用户之间实现了丰富的交互性,以使得用户能够发布可格式化的文本以及非文本对象(例如,笔输入、图像、视频、声音文件)而无需对话框、特殊的基于文本的标签或用于托管交互体验的第三方服务器。通过包括可嵌入协作工作空间,为用户改善了用户体验(UX),并且可以通过使得应用能够提供改善的UX而不依赖于单独的应用来减少需要发送的数据量。
[0004] 在以下附图和描述中阐述了一个或多个方面的细节。通过阅读以下详细描述和审阅相关联的附图,其他特征和优点将是显而易见的。应当理解,以下详细描述仅是解释性的而非限制性的;本公开内容的正确范围由权利要求限定。

附图说明

[0005] 被包括在本公开内容中并构成本公开内容的一部分的附图示出了本公开内容的各个方面。在符图中:
[0006] 图1示出了其中可以实现电子协作工作空间的示例性环境;
[0007] 图2A和图2B示出了用于接受自由形式输入的示例性用户界面;
[0008] 图3A和图3B示出了其中已经嵌入了电子协作工作空间的若干示例性用户界面;
[0009] 图4是示出用于使得自由形式电子协作工作空间能够作为对象嵌入各种文档和应用的示例性方法中涉及的一般阶段的流程图
[0010] 图5是示出可以用其实践示例的计算设备的物理组件的框图
[0011] 图6A和图6B是可以用其实现各方面的移动计算设备的框图;以及
[0012] 图7是可以用其实践各方面的分布式计算系统的框图。

具体实施方式

[0013] 以下详细描述参考了附图。在附图和以下描述中尽可能使用相同的附图标记来指代相同或相似的元素。虽然可以描述本公开内容的各方面,但是修改、改编和其他实施方式是可能的。例如,可以对附图中示出的元素进行替换、添加或修改,并且可以通过将阶段替换、重新排序或添加到所公开的方法来修改本文描述的方法。因此,以下详细描述不限制本公开内容的内容,而是本公开内容的正确范围由所附权利要求限定。示例可以采用硬件实施方式或完全软件实施方式或者结合软件和硬件方面的实施方式的形式。因此,以下详细描述不应被视为具有限制意义。
[0014] 富文本框(RTB)是用于向网页、文档或应用添加交互性的公共控制特征。例如,网页可以包括用于用户在网页上留下评论的RTB,或者电子表格应用可以嵌入RTB以允许除了电子表格文档的列、行和单元格之外的用户输入。然而,RTB使用结构化输入模型;用户键入文本并添加非文本对象就好像它们是文本一样(例如,行从左向右(sinistrodextrally)/从右向左(dextrosinistrally)/双向,或列从上到下)。
[0015] 期望自由形式输入的用户可以转向替代应用以增强他们的通信。例如,第一用户可以使用自由形式输入的屏幕捕获来包括作为RTB中的图像,或者协作组可以经由电子邮件进行通信,但是保持在线白板以允许他们链接到的或者在他们的电子邮件中引用的自由形式输入。运行多个应用和/或保存另外的文件以便以自由形式方式进行通信添加另外的计算成本,并降低人员之间的通信容易度。
[0016] 允许文本和非文本对象的自由形式输入(其不受文本流的约束)的可嵌入协作工作空间针对用户可以通过各种应用如何与彼此交互和通信实现了改善的用户体验(UX)。例如,可嵌入协作工作空间可以被提供以代替或者附加于艺术画廊的网页设计中的RTB,作为向用户提供与艺术家的交互性的方式,以便针对艺术作品在网页上评论的用户可以直接在网页中的艺术作品的图像上进行评论、可以在图像的下方(或一侧)留下自由形式的评论并且可以与其他用户协作地进行评论以取代或附加于单独的“帖子”。在另一示例中,应用可以通过允许用户在文档内包括可嵌入协作工作空间来增加其对自由形式输入的易用性。
[0017] 图1示出了其中可以实现可嵌入协作工作空间的示例性环境100。如所示,用户机器110正在运行访问具有两个嵌入框架的文档对象模型(DOM)120的用户应用170;控制接口框架130和应用框架140。控制接口框架130指定文档中的可嵌入协作工作空间的位置和尺寸属性,并链接到嵌入式框架文档150。应用框架140嵌入在控制接口中框架130中并且链接到主机应用160,以向文档中的可嵌入协作工作空间提供自由形式编辑功能。
[0018] 用户机器110示出了众多计算系统,包括但不限于桌上型计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板电脑或平板型计算机、笔记本计算机和膝上型计算机)、手持设备、多处理器系统、基于微处理器或可编程的消费者电子产品、小型计算机和大型计算机。关于图5、图6A、图6B和图7更详细地讨论这些计算系统的硬件。在各个方面中,用户机器110本地地和/或通过网络被访问,所述网络可以包括互联网、局域网(LAN)、用于实体(例如,公司、大学、政府机构)的私有分布式网络、无线自组织网络、虚拟专用网络(VPN)或其他直接数据链路(例如,蓝牙连接、直接有线链接)。
[0019] DOM 120示出了包括众多文档和应用的后端代码,所述文档和应用包括但不限于文字处理文档、电子表格文件、演示文件、电子邮件文件、笔记记录文件、网页和自定义可执行文件。在各个方面中,DOM 120根据可扩展标记语言(XML)格式、超文本标记语言(HTML)格式、PERL、C++、VisualBasic、JavaScript或各种其他编码格式来格式化。如将领会的,DOM 120由运行在用户机器110上的应用解释以显示为文档;DOM 120定义用户看到的内容,并且在各个方面中从用户的视图中隐藏。
[0020] 当主机希望嵌入可嵌入协作工作空间时,其应用代码将包括用于可嵌入协作工作空间的软件开发工具包(SDK),并且DOM 120将引用SDK(例如,在HTML构造的标题部分中)。在各个方面中,用于在可嵌入协作工作空间中输入的命令可以限于SDK中的可用命令的子集,例如,命令(和GUI元素)可以与主机应用的命令匹配以匹配其UX。例如,插入由笔记记录应用访问的网站中的可嵌入协作工作空间可以使用笔记记录应用的命令栏来获得GUI元素以编辑可嵌入协作工作空间中的输入,插入到由网络浏览器访问的网站中的可嵌入协作工作空间可以使用自定义的GUI元素集来编辑可嵌入协作工作空间中的输入,插入到由文字处理应用访问的网站中的可嵌入协作工作空间可以限制在画布具有焦点的同时可访问其GUI元素中的哪些GUI元素等。
[0021] SDK中包括各种应用程序接口(API),使得当SDK在DOM 120中被引用时,从用户机器110接收的命令和用户通过其访问文档的应用被翻译以发布到主机应用160,并且来自主机应用160的响应被翻译以并入到DOM 120中。命令可以从诸如鼠标键盘、遥控器等的输入设备或者从自然用户输入(NUT)方法接收,所述NUT方法包括依赖于以下各项的方法:语音辨识、触摸和触笔辨识、屏幕上和屏幕附近二者的手势辨识、空中手势、头部和眼睛跟踪、话音和语音、视觉、触摸、悬停、手势和机器智能。
[0022] 用户应用170根据其DOM 120打开和访问文档,所述用户应用170示出了用户可以在其中创作或共同创作内容的任何数量的生产应用。在各个方面中,用户应用170不原生地支持用自由形式输入进行共同创作,并且使用嵌入式框架文档150和主机应用160来处理用自由形式输入进行共同创作,所述自由形式输入作为用户应用170的标准UX和DOM 120内的嵌入式字段。尽管本文根据DOM 120用于网站并且用户应用170是网络浏览器给出了若干示例,但是其他样式的文档和应用也可以利用本公开内容以在其DOM 120内包括可嵌入协作工作空间120。例如,电子表格程序(例如,来自加利福尼亚州库比蒂诺的苹果公司的电子表格应用)的用户或演示程序(例如, 演示应用,也是来自苹果公司)可以将可嵌入协作工作空间并入到电子表格文档或幻灯片放映文档中。因此,对网站的讨论将被理解为是说明性的并且包括其他文档类型。可嵌入协作工作空间使得内容编辑和查看界面能够与生产力应用解耦,以便可嵌入基于网络的通信系统中,例如即时通讯程序、电子邮件、MMS(多媒体消息系统)文本、论坛、数字讨论板、团队笔记本、维基等。
[0023] 在DOM 120内,嵌入了控制接口130,其允许在用户查看文档时在文档中显示可嵌入协作工作空间。控制接口130指定了(相对于DOM 120的其他元素)可嵌入协作工作空间要在文档中的何处被示出、可嵌入协作工作空间将有多大以及用于向用户显示可嵌入协作工作空间的其他属性。在各个方面中,控制接口130作为内联框架被嵌入在DOM 120中(例如,作为“iframe”元素)并且引用嵌入式框架文档150。作为针对可嵌入协作工作空间引用嵌入式框架文档150的部分,DOM 120可以引用本地存储到用户机器110或存储在云服务器(例如,用于网页的主机、第三方软件即服务(SaaS)提供商的云生产力平台,例如谷歌DocsTM(可从加利福尼亚州山景城的Alphabet公司获得), (可从华盛顿州雷蒙德市的微软公司获得)或Slack(可从加利福尼亚州旧金山的Slack Tech公司获得)中的文档。在各个方面中,嵌入式框架文档150可以是笔记记录文档,例如 文档(可从微软公司获得)、 文档(可从加利福尼亚州雷德伍德市的Evernote公司获得)、 文档(可从苹果公司获得)或允许自由形式输入的另一文档类型。
[0024] 在各个方面中,嵌入式框架文档150可以是现有文档(其可以包含先前添加的内容),或者可以是尚未创建的文档,在这种情况下,当用户将内容添加到可嵌入协作工作空间时(在定时的基础上或当用户指示“提交”命令时),嵌入式框架文档150将被创建并被保存在其主机上。在替代方面中,嵌入式框架文档150可以仅存在于用户机器110上的活动存储器中,直到用户指示“提交”命令,此时嵌入式框架文档150将被创建或者内容将被集成到DOM 120中。例如,用户可以访问包括可嵌入协作工作空间的网站,用户向其添加内容并将内容保持在活动存储器中直到点击“提交”按钮,此时内容被发送到网站的主机并且嵌入式框架文档150被集成到DOM 120中。在另一示例中,用户可以访问其DOM 120包括可嵌入协作工作空间的电子邮件消息,所述可嵌入协作工作空间链接到存储在云服务器上的用户可以向其进行添加或从其查看现有内容的现有嵌入式框架文档150。
[0025] 嵌入式框架文档150可以取决于用户的访问控制以只读模式或读写模式操作。例如,使用可嵌入协作工作空间构建允许自由形式输入的论坛体验的网站可以允许所有用户对他们发布的现有消息进行读写访问,但是对其他用户发布的消息进行只读访问。相反,管理员可以基于管理访问权限而被授予对任何用户发布的消息的读写访问以调节论坛,并且访问者(或尚未登录的用户)可以被授予对所有消息(或者消息的子集)的只读访问。在各个方面中,当用户试图访问或更新嵌入式框架文档150或向其添加内容时,用户的许可和帐户设置(例如,用户名、密码、输入偏好)与用户的输入一起传递以管理对用户的认证。
[0026] 与RTB不同,可嵌入协作工作空间接受自由形式输入并且不依赖于文本输入的方向(例如,从左到右、从右到左、从上到下);用户可以在可嵌入协作工作空间的画布内选择位置并在该位置提供输入,而不论是否存在也存在于该位置处的其他内容。例如,用户可以通过将图像拖动到可嵌入协作工作空间中的位置中来输入图像,并且然后可以在图像之上书写,用形状工具来高亮图像的一部分,提供笔输入等。可嵌入协作工作空间的自由形式输入还可以包括文本方向输入,并且包括RTB的功能。例如,用户可以单击画布中的位置并键入文本输入并包括(手动地或经由GUI)标签以向文本添加丰富度,例如格式化提示、超链接、表格等。可嵌入协作工作空间可以在其画布(即,接受内容的部分)中包括各种控件,包括由用户应用(例如,在应用的功能区或工具栏中)提供的参考控件,或者包括文档中提供的参考控件(例如,ActiveX控件或文档中控件)。
[0027] 用于处理对可嵌入协作工作空间的输入的用户应用170是主机应用160,并且它由来自DOM 120的控制接口框架130引用。控制接口框架130可以向远程或本地托管的应用指出存储嵌入式框架文档150的位置,并且主机应用160可以是能够接受和呈现自由形式输入的任何程序。控制接口框架130将若干参数传递给主机应用160,这允许主机应用160修改其显示以符合可嵌入协作工作空间的期望用例。例如,可以从可嵌入协作工作空间的显示中移除各种GUI元素,从主机应用160通常提供的显示中移除各种GUI元素,可以将另外的控件添加到可嵌入协作工作空间的画布,或者可以使控件匹配由用户机器110用来访问文档的用户应用170的外观和感受(look-and-feel)。
[0028] 图2A示出了用于原生地支持自由形式输入的程序的UI 201,所述程序可以被引用为主机应用160。原生地支持自由形式输入的程序的示例包括但不限于: (可从微软公司获得)、谷歌KeepTM(可从Alphabet公司获得)、 (可从Evernote公司获得)和 (可从苹果公司获得)。如所示,自由形式画布210是添加和创作内容的地方,所述内容可以包括可以以结构化格式(例如,文本输入)或自由形式格式(例如,拖放、笔输入)添加的各种内容类型。根据特定于应用的UI 201的布局来显示应用的组织元数据220,控制接口230也是如此。控制接口230可以影响自由形式画布、自由形式画布210中的对象的类或选择以及文档本身(例如,用户首选项、保存命令、邮件合并)。
[0029] 图2B示出了用户应用170的UI 202,其可以不原生地支持自由形式输入,但是已经集成了可嵌入协作工作空间来处理自由形式输入。如所示,图2A和图2B的自由形式画布210中的内容是相同的,但是图2B中示出的用户应用170的UX和组织元数据220已经从原生应用保留并且包括来自用户应用170的命令接口230。如参考图1描述的,可以在UI 202中定义自由形式画布210,以使用原生地支持自由形式输入的程序(如主机应用160),并且要保存的内容可以使用该程序的文件类型(如嵌入式框架文档150)。命令接口230的设置可以使用用户应用170原生的接口(如所示)、来自主机应用160的接口、来自两个应用的接口或其子集。如所示,UI 202的命令接口230中的GUI元素使得用户能够在主机应用160中打开嵌入式框架文档150,而不是或附加于在用户应用170中打开的实例,在该情况下: 笔记记录应用(可从微软公司获得)。
[0030] 图3A和图3B示出了其中已经嵌入了可嵌入协作工作空间的若干示例性UI;图3A示出了示例性白板UI 301,并且图3B示出了示例性电子邮件客户端UI 302。
[0031] 在图3A中,示出了接受自由形式输入的画布310的白板UI 301,包括嵌入式命令接口320。具有读取和写入访问的用户能够使用嵌入式命令接口320将输入添加到画布310。输入可以包括自由形式输入(例如,拖放、笔输入)以及结构化输入,例如文本。例如,用户可以将RTB拖动到画布310中到期望的位置(自由形式输入),并且然后键入该RTB(结构化输入)。嵌入式命令接口320中可用的控件和命令可以是可从主机应用160获得的控件的全部或子集,或者可以是可从用户应用170(其中嵌入了画布310)获得的控件的全部或子集。画布310可以嵌入在用户应用170的一部分(例如,UI)中或者嵌入在个别的文档中。
[0032] 当在可嵌入协作工作空间中共同创作时,为每个用户提供用户指示符330以标识正在编辑画布310的人以及那些编辑340是什么。例如,第一用户可以通过第一颜色(深灰色、绿色等)与第一用户指示符330a和(由第一用户做出的)第一编辑340a相关联,并且第二用户可以通过第二颜色(浅灰色、蓝色等)与第二用户指示符330b和(由第二用户做出的)第二编辑340b相关联。例如,用户指示符330可以示出可以应用于画布310中的该用户的编辑340的对于该用户是独特的颜色或图案。用户可以修改与其编辑340相关联的颜色和/或图案以定制他们的共同创作体验。
[0033] 在各个方面中,用户可以致动用户指示符330以高亮相关联的编辑340、隐藏相关联的编辑340或者关闭相关联的颜色或图案以示出编辑340的基础格式。例如,通过致动用户指示330,可以动画化(例如,闪光、脉冲、加粗)相关联的编辑340,或者可以减少其他编辑的突显性(例如,隐藏、变灰、缩小尺寸)以高亮给定用户的编辑340。在另一示例中,致动用户指示330将隐藏给定用户的编辑340或使其变灰。在又一示例中,考虑以下情况:第一用户的编辑340a以绿色示出以将它们与由其他用户做出的编辑区分开,但第一用户的编辑340a实际上是作为蓝色自由形式笔输入而输入的。通过在该情况下致动用户指示符330a,将移除与第一输入相关联的绿色编辑340a,使得用户可以看到第一用户的输入340a的实际颜色。如将领会的,画布310可以支持另外的控件以针对一个或多个共同作者打开或关闭编辑高亮。与不再活动的用户相关联的内容可以保持与该特定用户的关联,可以与无高亮选项相关联,或者可以与作为总括(catchall)的用于由非活动用户编辑的所有内容的系统高亮选项相关联。
[0034] 在图3B中,示出了电子邮件客户端302的用户应用170,其中,画布310已经嵌入在电子邮件文档的消息区域305中。如将领会的,尽管画布310已经被添加到电子邮件文档中,但它可以经由嵌入式框架文档150的存储解决方案在电子邮件链(即,用户之间关于消息而来回回复的系列)中保持为活动文档,使得画布310的内容将随着用户编辑画布310而保持最新。在各个方面中,画布310可以保持在电子邮件链中的给定位置(例如,用户插入它的地方)或者可以在电子邮件链中保持“在顶部”以便每个收件人将在收到的最近的电子邮件或当前正在撰写的电子邮件中看到画布310。当在电子邮件客户端302中编辑画布310时,用户可以保留在电子邮件客户端302中,或者经由用于在电子邮件客户端302的上下文内提供的画布310的全屏界面或者经由主机应用160的全屏界面切换到全画布编辑模式。
[0035] 图4是示出示例性方法400中涉及的一般阶段的流程图,所述示例性方法400用于使得自由形式可嵌入协作工作空间能够作为对象而被嵌入各种文档和应用中。方法400开始于操作410处,其中,自由形式的输入对象在面向用户的应用(例如,网络浏览器)中被定义,所述面向用户的应用可以不原生地支持自由形式输入。可以通过嵌入或引用SDK来定义这些对象,所述SDK创建对象的类和操纵这样的对象所需的函数。
[0036] 在操作420处,可嵌入协作工作空间被定义在文档或应用的UI的空间中。如将领会的,UI中可嵌入协作工作空间的尺寸、形状和位置在不同场景中被不同地定义,并且可嵌入协作工作空间可以相对于UI中的其他对象而被定义或在UI中被绝对地定义,以便嵌入式协作工作空间分别可以:随着显示器改变尺寸(在不同的显示设备上或响应于窗口尺寸改变)而增大/缩小或改变位置,或者保持相同的尺寸和相同的位置而不论显示器尺寸。可嵌入协作工作空间的命令接口也在操作420中被定义,使得本地应用的菜单或功能区(或其子集)、来自文档的控件(或其子集)或可嵌入协作工作空间本身内的控件可以被指定。在各个方面中,可嵌入协作工作空间的主机应用160的菜单或功能区(或其子集)可以被指定为要被包括在可嵌入协作工作空间的画布中的命令接口。
[0037] 类似地,在操作430处,定义自由形式输入的存储位置。在各个方面中,可嵌入协作工作空间可以由多个用户协作地使用以同时或在不同时间留下输入,并且因此需要是可跨多个会话访问的。用户在定义存储解决方案时可以指示哪些其他用户可以提供输入(读写访问)或查看(只读访问)存储解决方案,或者其他用户的访问设置可以由主机的管理员针对存储解决方案进行设置。例如,组电子白板可以被构建为可嵌入协作工作空间,其在用于用户工作组的电子邮件文档中被共享。在其他方面中,可嵌入协作工作空间可以由单个用户使用,或者与来自主机、该用户或其他用户的先前可嵌入协作工作空间组合使用。例如,在线论坛可以经由可嵌入协作工作空间而不是RTB提供自由形式输入,以发布到用户稍后可以编辑的论坛链式消息(thread)中。在另一示例中,若干用户可以经由可嵌入协作工作空间对图像进行评论,并且每个连续用户的输入可以与该图像合并以示出经由可嵌入协作工作空间提供的图像上的交迭评论。在各个方面中,存储位置可以包括现有文档、尚未创建的文档,或者可以指定可嵌入协作工作空间要保持在活动存储器中直到接收到“提交”命令,此时可以创建DOM 120可以引用的文档,或者来自可嵌入协作工作空间的内容被集成到DOM 120中。
[0038] 在各个方面中,可嵌入协作工作空间被定义为文档或应用的DOM 120中的第一框架对象,所述文档或应用引用嵌入式框架文档150或用于维持自由形式输入的其他存储解决方案。第一框架对象包括第二框架对象以作为子框架,并且每个框架处理如何将可嵌入协作工作空间并入到UI中的不同方面。第一框架处理向影响可嵌入协作工作空间的命令接口(例如,应用菜单或功能区、文档中的UI元素和可嵌入协作工作空间中的用户元素)发送命令并从所述命令接口接收命令,而第二框架充当用户应用和用于在用户应用中提供可嵌入协作工作空间体验的主机应用160之间的中介,并且经由各种API验证和翻译UI与主机应用160之间的消息。因此,主机应用160的体验在文档或用户应用中被提供,并且针对期望的UX进行定制。
[0039] 当可嵌入协作工作空间引用现有嵌入式框架文档150作为其存储解决方案时,执行可选操作440。在可选操作440处,来自嵌入式框架文档150的内容被检索并为用户显示。例如,当可嵌入协作工作空间是组白板时,由用户或协作者做出的先前内容输入将已被保存到嵌入式框架文档150,并且将被检索以使得经由组白板的协作可以跨多个访问会话进行;在嵌入式协作工作空间中执行的工作被保存到嵌入式框架文档150,并且稍后被检索以继续之前的工作或者在之前的工作的基础上进行构建。
[0040] 在操作450处,由用户做出的输入被显露给可嵌入协作工作空间存储解决方案。例如,每n毫秒、每n个动作、每n个字节的内容被操纵、或者当用户手动选择“提交”命令时,可嵌入协作工作空间被显露给存储解决方案。在不同方面中,显露可嵌入协作工作空间可以需要显露改变日志或将文档状态显露给存储解决方案,使得存储解决方案将反映用户对可嵌入协作工作空间的输入。如将领会的,主机应用160可以执行各种冲突解决步骤以确保由不同用户做出的可嵌入协作工作空间中的编辑不覆盖彼此或者造成存储解决方案中的异常行为。存储解决方案可以是处理自由形式输入的基于云的文档、处理自由形式输入的本地共享的文档,或者如果可嵌入协作工作空间可以在“提交”命令时被提交给DOM 120,则可以是DOM 120本身(例如,论坛帖子)。
[0041] 当用户与可嵌入协作工作空间交互并且新内容从存储解决方案中不断添加或检索时,方法400多次重复通过操作450和可选操作440。当用户结束创作会话(例如,关闭创作程序或离开可嵌入协作工作空间的焦点)时,然后方法400可以结束。
[0042] 虽然已经在结合在计算机上的操作系统上运行的应用程序执行的程序模的一般上下文中描述了实施方式,但是本领域技术人员将认识到,各方面也可以组合其他程序模块来实现。通常,程序模块包括例程、程序、组件、数据结构和执行特定任务或实现特定抽象数据类型的其他类型的结构。
[0043] 本文描述的方面和功能可以经由众多计算系统进行操作,所述计算系统包括但不限于:桌上型计算机系统、有线和无线计算系统、移动计算系统(例如,移动电话、上网本、平板电脑或平板型计算机、笔记本计算机以及膝上型计算机)、手持设备、多处理器系统、基于微处理器的或可编程的消费者电子产品、小型计算机和大型计算机。
[0044] 另外,根据一方面,本文描述的方面和功能在分布式系统(例如,基于云的计算系统)上进行操作,其中,应用功能、存储器、数据存储和检索以及各种处理功能在分布式计算网络(例如,互联网或内联网)上彼此远程地进行操作。根据一方面,经由机载计算设备显示器或经由与一个或多个计算设备相关联的远程显示单元显示各种类型的用户界面和信息。例如,在各种类型的用户界面和信息被投影到其上的墙壁表面上显示各种类型的用户界面和信息并与之交互。与用其实践实施方式的众多计算系统的交互包括击键输入、触摸屏输入、语音或其他音频输入、手势输入,其中,相关联的计算设备配备有用于捕获和解释用于控制计算设备的功能的用户手势的检测(例如,相机)功能单元等。
[0045] 图5-7和相关联的描述提供了对其中实践示例的各种操作环境的讨论。然而,关于图5-7示出和讨论的设备和系统是出于示例和说明的目的,而不是限制本文描述的用于实践各方面的大量计算设备配置。
[0046] 图5是示出用其可以实践本公开内容的示例的计算设备500的物理组件(即,硬件)的框图。在基本配置中,计算设备500包括至少一个处理单元502和系统存储器504。根据一方面,取决于计算设备的配置和类型,系统存储器504包括但不限于:易失性存储装置(例如,随机存取存储器)、非易失性存储装置(例如,只读存储器)、闪速存储器或这样的存储器的任何组合。根据一方面,系统存储器504包括操作系统505和适合于运行软件应用550的一个或多个程序模块506。根据一方面,系统存储器504包括SDK和/或用户应用170以使得软件应用550能够经由存储的指令采用本公开内容的教导。例如,操作系统505适合于控制计算设备500的操作。此外,各方面结合图形库、其他操作系统或任何其他应用程序来实践,并且不限于任何特定应用或系统。该基本配置在图5中由虚线508内的那些组件示出。根据一方面,计算设备500具有另外的特征或功能。例如,根据一方面,计算设备500包括另外的数据存储设备(可移除和/或不可移除的),例如磁盘、光盘或磁带。这样的另外的存储装置在图5中由可移除存储设备509和不可移除存储设备510示出。
[0047] 如上所述,根据一方面,多个程序模块和数据文件存储在系统存储器504中。当在处理单元502上执行时,程序模块506(例如,SDK和/或用户应用170)执行包括但不限于图4所示的方法400的阶段中的一者或多者的过程。根据一方面,其他程序模块根据示例来被使用,并且包括诸如电子邮件和联系人应用、文字处理应用、电子表格应用、数据库应用、幻灯片演示应用、绘图或计算机辅助应用程序等的应用。
[0048] 根据一方面,计算设备500具有一个或多个输入设备512,例如键盘、鼠标、笔、声音输入设备、触摸输入设备等。根据一方面,还包括诸如显示器、扬声器、打印机等的输出设备514。上述设备是示例,并且可以使用其他设备。根据一方面,计算设备500包括允许与其他计算设备518通信的一个或多个通信连接516。合适的通信连接516的示例包括但不限于:射频(RF)发射机、接收机和/或收发机电路;通用串行总线(USB)、并行和/或串行端口。
[0049] 如本文使用的术语计算机可读介质包括计算机存储介质装置和制品。计算机存储介质包括以用于存储信息(例如,计算机可读指令、数据结构或程序模块)的任何方法或技术实现的易失性和非易失性、可移除和不可移除介质。系统存储器504、可移除存储设备509和不可移除存储设备510都是计算机存储介质示例(即,存储器存储装置)。根据一方面,计算机存储介质包括RAM、ROM、电可擦除可编程只读存储器(EEPROM)、闪速存储器或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光学存储装置、磁带盒、磁带、磁盘存储装置或其他磁存储设备或可以用于存储信息并且可以由计算设备500访问的任何其他制品。根据一方面,任何这样的计算机存储介质是计算设备500的部分。计算机存储介质不包括载波或其他传播的数据信号
[0050] 根据一方面,通信介质由计算机可读指令、数据结构、程序模块或调制的数据信号中的其他数据(例如,载波或其他传输机制)体现,并且包括任何信息递送介质。根据一方面,术语“调制的数据信号”描述了一个或多个特性以对信号中的信息进行编码的方式被设置或改变的的信号。通过示例而非限制的方式,通信介质包括:诸如有线网络或直接有线连接之类的有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质之类的无线介质。
[0051] 图6A和图6B示出了用其可以实现各方面的移动计算设备600,例如移动电话、智能电话、平板个人计算机、膝上型计算机等。参考图6A,示出了用于实现各方面的移动计算设备600的示例。在基本配置中,移动计算设备600是具有输入元件和输出元件二者的手持式计算机。移动计算设备600通常包括显示器605和一个或多个输入按钮610,所述输入按钮610允许用户将信息录入到移动计算设备600。根据一方面,移动计算设备600的显示器605充当输入设备(例如,触摸屏显示器)。如果被包括,则可选的侧输入元件615允许另外的用户输入。根据一方面,侧输入元件615是旋转开关、按钮或任何其他类型的手动输入元件。在替代示例中,移动计算设备600包括更多或更少的输入元件。例如,在一些示例中,显示器
605可以不是触摸屏。在替代示例中,移动计算设备600是便携式电话系统,例如蜂窝电话。
根据一方面,移动计算设备600包括可选的按键板635。根据一方面,可选的按键板635是物理按键板。根据另一方面,可选的按键板635是在触摸屏显示器上生成的“软”按键板。在各个方面中,输出元件包括用于示出图形用户界面(GUI)的显示器605、视觉指示器620(例如,发光二极管)和/或音频换能器625(例如,扬声器)。在一些示例中,移动计算设备600包括用于向用户提供触觉反馈的振动换能器。在又一示例中,移动计算设备600包括外围设备端口
640,例如用于向外部设备发送信号或从外部设备接收信号的音频输入(例如,麦克插孔)、音频输出(例如,机插孔)和视频输出(例如,HDMI端口)。
[0052] 图6B是示出移动计算设备的一个示例的架构的框图。换言之,移动计算设备600包括用于实现一些示例的系统(即,架构)602。在一个示例中,系统602被实现为能够运行一个或多个应用(例如,浏览器、电子邮件、日历、联系人管理器、消息传送客户端、游戏和媒体客户端/播放器)的“智能电话”。在一些示例中,系统602被集成为计算设备,例如集成的个人数字助理(PDA)和无线电话。
[0053] 根据一方面,一个或多个应用程序650被加载到存储器662中并在操作系统664上或操作系统664其相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、个人信息管理(PIM)程序、文字处理程序、电子表格程序、互联网浏览器程序、消息传送程序等。根据一方面,SDK和/或用户应用170被加载到存储器662中。系统602还包括存储器662内的非易失性存储区域668。非易失性存储区域668用于存储如果系统602掉电则不应该丢失的持久信息。应用程序650可以使用非易失性存储区域668中的信息并且将信息存储在非易失性存储区域668中,所述信息例如电子邮件或由电子邮件应用使用的其他消息等。同步应用(未示出)也驻留在系统602上,并被编程为与驻留在主计算机上的对应同步应用交互,以使存储在非易失性存储区域668中的信息与存储在主计算机处的对应信息保持同步。如应当领会的,可以将其他应用加载到存储器662中并在移动计算设备600上运行。
[0054] 根据一方面,系统602具有电源670,其被实现为一个或多个电池。根据一方面,电源670还包括外部电源,例如AC适配器或对电池进行补充或重新充电的电动对接支架
[0055] 根据一方面,系统602包括执行发送和接收射频通信功能的无线单元672。无线单元672经由通信运营商或服务提供商促进系统602与“外界”之间的无线连接。在操作系统664的控制下进行去往和来自无线单元672的传输。换言之,由无线单元672接收的通信可以经由操作系统664传播到应用程序650,反之亦然。
[0056] 根据一方面,视觉指示器620用于提供视觉通知,并且/或者音频接口674用于经由音频换能器625产生可听通知。在示出的示例中,视觉指示器620是发光二极管(LED),并且音频换能器625是扬声器。这些设备可以直接耦合到电源670,使得当它们被激活时,即使处理器660和其他组件可能关闭以节省电池电量,它们也在由通知机制指示的持续时间内保持开启。LED可以被编程为无限期地保持开启,直到用户采取行动来指示设备的通电状态。音频接口674用于向用户提供可听信号并从用户接收可听信号。例如,除了耦合到音频换能器625之外,音频接口674还可以耦合到麦克风以接收可听输入,例如以促进电话对话。根据一方面,系统602还包括视频接口676,其实现用于记录静止图像、视频流等的板载相机630的操作。
[0057] 根据一方面,实现系统602的移动计算设备600具有另外的特征或功能。例如,移动计算设备600包括另外的数据存储设备(可移除和/或不可移除的),例如磁盘、光盘或磁带。这样的另外的存储装置在图6B中由非易失性存储区域668示出。
[0058] 根据一方面,由移动计算设备600生成或捕获以及经由系统602存储的数据/信息本地地存储在移动计算设备600上,如以上描述的。根据另一方面,数据存储在任何数量的存储介质上,所述存储介质可由设备经由无线单元672或经由移动计算设备600与关联于移动计算设备600的单独计算设备(例如,诸如互联网之类的分布式计算网络中的服务器计算机)之间的有线连接访问的。如应当领会的,这样的数据/信息可经由无线单元672或经由分布式计算网络通过移动计算设备600访问。类似地,根据一方面,根据众所周知的数据/信息传输和存储手段(包括电子邮件和协作数据/信息共享系统),这样的数据/信息在计算设备之间容易地传输以用于存储和使用。
[0059] 图7示出了如以上描述的用于自动呈现重复内容块的系统的架构的一个示例。与主机应用160相关联地开发、与之交互或编辑的内容能够存储在不同的通信信道或其他存储类型中。例如,可以使用目录服务722、网络门户724、邮箱服务726、即时消息传送存储库728或社交网络站点730来存储各种文档。主机应用160可操作以使用这些类型的系统或类似系统中的任一者来分发所选择的内容,如本文描述的。根据一方面,服务器720将主机应用160提供给客户端705a-c(概括地称为客户端705),其可以由用户机器110运行。作为一个示例,服务器720是在网络上提供主机应用160的网络服务器。服务器720通过网络740在网络上向客户端705提供主机应用160。作为示例,客户端计算设备以以下设备实现并体现在以下设备中:个人计算机705a、平板计算设备705b或移动计算设备705c(例如,智能电话)或其他计算设备。客户端计算设备的这些示例中的任一者可操作以从存储库716获得内容。
[0060] 例如,以上参考根据各方面的方法、系统和计算机程序产品的框图和/或操作说明描述了实施方式。框中记录的功能/动作可以不按任何流程图中示出的顺序发生。例如,连续示出的两个框实际上可以基本上同时执行,或者框有时可以以相反的顺序执行,这取决于所涉及的功能/动作。
[0061] 本申请中提供的一个或多个示例的描述和说明不旨在以任何方式限制或约束所要求保护的范围。本申请中提供的方面、示例和细节被认为足以传达所有物并使得其他人能够制作和使用最佳模式。实施方式不应当被解释为限于本申请中提供的任何方面、示例或细节。无论是组合地还是单独地示出和描述,(结构上和方法上二者的)各种特征旨在选择性地被包括或省略以产生具有特定特征集的示例。已经提供了本申请的描述和说明,本领域技术人员可以设想落入不脱离本公开内容的更宽范围的、本申请中体现的总体发明构思的更宽方面的精神内的变型、修改和替代示例。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈