CN112805685A - 用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的方法、装置和计算机可读介质 - Google Patents
用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的方法、装置和计算机可读介质 Download PDFInfo
- Publication number
- CN112805685A CN112805685A CN201980065514.6A CN201980065514A CN112805685A CN 112805685 A CN112805685 A CN 112805685A CN 201980065514 A CN201980065514 A CN 201980065514A CN 112805685 A CN112805685 A CN 112805685A
- Authority
- CN
- China
- Prior art keywords
- data object
- note data
- user
- rich
- rich note
- 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.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 230000001902 propagating effect Effects 0.000 title claims abstract description 12
- 230000004044 response Effects 0.000 claims abstract description 26
- 230000015654 memory Effects 0.000 claims description 12
- 230000007246 mechanism Effects 0.000 claims description 7
- 230000006854 communication Effects 0.000 description 16
- 238000004891 communication Methods 0.000 description 16
- 230000008569 process Effects 0.000 description 16
- 230000009471 action Effects 0.000 description 11
- 241001422033 Thestylus Species 0.000 description 10
- 241000699666 Mus <mouse, genus> Species 0.000 description 9
- 238000012545 processing Methods 0.000 description 7
- 238000010586 diagram Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 230000001960 triggered effect Effects 0.000 description 5
- 230000003993 interaction Effects 0.000 description 4
- 238000013515 script Methods 0.000 description 4
- 239000008186 active pharmaceutical agent Substances 0.000 description 3
- 230000004075 alteration Effects 0.000 description 3
- 230000008859 change Effects 0.000 description 3
- 230000007175 bidirectional communication Effects 0.000 description 2
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 230000000644 propagated effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 230000000007 visual effect Effects 0.000 description 2
- 241000699670 Mus sp. Species 0.000 description 1
- 230000004913 activation Effects 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 238000004422 calculation algorithm Methods 0.000 description 1
- 239000003086 colorant Substances 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 238000013507 mapping Methods 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 239000003607 modifier Substances 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000009877 rendering Methods 0.000 description 1
- 238000012549 training Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION 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/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/103—Workflow collaboration or project management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/544—Buffers; Shared memory; Pipes
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Theoretical Computer Science (AREA)
- Strategic Management (AREA)
- Human Resources & Organizations (AREA)
- General Physics & Mathematics (AREA)
- Entrepreneurship & Innovation (AREA)
- Physics & Mathematics (AREA)
- Software Systems (AREA)
- Marketing (AREA)
- Data Mining & Analysis (AREA)
- Economics (AREA)
- General Engineering & Computer Science (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- Tourism & Hospitality (AREA)
- General Business, Economics & Management (AREA)
- User Interface Of Digital Computer (AREA)
- Information Transfer Between Computers (AREA)
Abstract
用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的系统、方法和计算机可读介质,包括通过网络套接字连接在计算设备上传递参与者可访问的协作工作空间的表示,生成富充笔记数据对象,该富充笔记数据对象包括文本、用户可访问控件和内容文件,并且被配置为显示该文本和该用户可访问控件,并响应于对显示控件的选择而打开该内容文件,检测将富充笔记数据对象与协作工作空间的表示中的选定位置相关联的用户输入,并通过网络套接字连接将富充笔记数据对象、选定位置和指令传输到服务器,该指令被配置为使服务器将富充笔记数据对象和选定位置传播到计算设备。
Description
背景技术
操作系统和在操作系统内执行的应用频繁使用外部硬件设备,以允许用户向程序提供输入并向用户提供输出。外部硬件设备的常见示例包括键盘、计算机鼠标、麦克风和外部扬声器。这些外部硬件设备通过使用驱动器与操作系统进行对接,驱动器是被配置为在特定硬件设备所使用的硬件命令与操作系统之间进行对接的专用软件程序。
有时会将应用设计为与某些硬件设备对接。例如,可以将语音到文本的文字处理应用设计为与包括麦克风的音频耳机对接。在这种情况下,必须将应用专门配置为接收语音命令、执行语音识别、将识别的词语转换为文本内容并将文本内容输出到文档中。该功能通常将体现在应用的应用程序编程接口(API)中,该API是各种软件组件之间通信的一组已定义方法。在语音识别应用的示例中,API可以包括该应用程序和驱动器上的软件之间的接口,该驱动器负责与硬件设备(麦克风)本身对接。
现有的利用专用硬件设备的软件存在的一个问题是,必须对应用或操作系统软件本身进行定制和专门设计,以利用硬件设备。这种定制意味着硬件设备不能超出应用为其限定的范围,并且不能用于其设计要用于的特定应用之外的情境。例如,语音到文本的文字处理应用的用户无法使用语音命令来操纵操作系统内的其他应用程序或其他组件,除非这些其他应用程序或操作系统经过了专门设计以利用通过麦克风接收到的语音命令。
图1示出了利用耦接的硬件设备进行用户输入的系统的现有体系结构的示例。图1的操作系统100A包括执行应用101A和102A,每个应用都分别具有其自己的API 101B和102B。操作系统100A还具有其自己的API 100B以及专用驱动器100C、101C和102C,该专用驱动器100C、101C和102C被配置为与硬件设备100D、101D和102D对接。
如图1所示,应用API 101B被配置为与驱动器101C对接,该驱动器101C自身与硬件设备101D对接。类似地,应用API 102B被配置为与驱动器102C对接,该驱动器102C自身与硬件设备102D对接。在操作系统层面,操作系统API 100B被配置为与驱动器100C对接,该驱动器100C本身与硬件设备100D对接。
图1所示的系统的体系结构限制了用户在某些应用或操作系统情境之外利用硬件设备的能力。例如,用户不能利用硬件设备101D向应用102A提供输入,也不能利用硬件设备102D向应用101A或操作系统100A提供输入。
因此,需要改进硬件-软件接口,以允许在多个软件情境中利用硬件设备。
附图说明
图1示出了利用耦接的硬件设备进行用户输入的系统的现有体系结构的示例。
图2示出了根据示例性实施例的利用通用硬件-软件接口的系统的体系结构。
图3示出了根据示例性实施例的用于实施通用硬件-软件接口的流程图。
图4示出了根据示例性实施例的,当由通信地耦接至系统的一个或多个硬件设备捕获的信息包括一个或多个图像时,至少部分地基于该一个或多个硬件设备捕获的该信息来确定用户输入的流程图。
图5A示出根据示例性实施例的对象识别的示例。
图5B示出了根据示例性实施例的确定输入位置坐标的示例。
图6示出了根据示例性实施例的,当由通信地耦接至系统的一个或多个硬件设备所捕获的信息是声音信息时,至少部分地基于所捕获的信息来确定用户输入的流程图。
图7示出了根据示例性实施例的可以是透明层的一部分的工具界面。
图8示出了根据示例性实施例的可以是系统的一部分的触控笔的示例。
图9示出了根据示例性实施例的识别与用户输入对应的情境的流程图。
图10示出了根据示例性实施例的使用输入坐标来确定情境的示例。
图11示出了根据示例性实施例的用于将用户输入转换为透明层命令的流程图。
图12A示出了根据示例性实施例的当切换选择模式时接收输入坐标的示例。
图12B示出了根据示例性实施例的当切换指向模式时接收输入坐标的示例。
图12C示出了根据示例性实施例的当切换绘图模式时接收输入坐标的示例。
图13示出了根据示例性实施例的基于在输入语音数据中识别出的一个或多个词语而确定的透明层命令的示例。
图14示出了根据示例性实施例的基于在输入语音数据中识别出的一个或多个词语而确定的透明层命令的另一示例。
图15示出了根据示例性实施例的用于在透明层上执行一个或多个透明层命令的流程图。
图16示出了根据示例性实施例的用于添加与用户输入对应的新命令的示例界面。
图17示出了根据示例性实施例的绘制界面和绘图模式的各种组件和选项。
图18示出了根据示例性实施例的用于摄像机硬件设备的校准和设置界面,该摄像机硬件设备用于识别对象并允许用户使用触摸和手势来提供输入。
图19示出了根据示例性实施例的允许用户定制界面的各个方面、切换输入模式以及进行其他改变的一般设置界面。
图20示出了根据示例性实施例的用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的流程图。
图21A示出了根据示例性实施例的用于托管和发送协作工作空间的网络体系结构。
图21B示出了根据示例性实施例的用于将编辑传播至网络内的协作工作空间的处理。
图22示出了根据示例性实施例的协作工作空间的多个表示。
图23A-23B示出了根据示例性实施例的用于在网络协作工作空间内生成丰富笔记数据对象的处理。
图24示出了根据示例性实施例的生成的丰富笔记2400。
图25A-25B示出了根据示例性实施例的检测将丰富笔记数据对象与协作工作空间的表示中的所选位置相关联的用户输入的示例。
图26示出了根据示例性实施例的用于传播丰富笔记数据对象的处理。
图27示出了根据示例性实施例的在协作工作空间的多个实例上的丰富笔记。
图28-32示出了根据示例性实施例的用户与丰富笔记的交互的示例。
图33示出了被配置为执行所公开方法的示例性计算环境。
具体实施方式
尽管本文通过示例和实施例的方式描述了方法、装置和计算机可读介质,但是本领域技术人员知道,用于实现通用硬件-软件接口的方法、装置和计算机可读介质不限于所描述的实施例或附图。应当理解,附图和说明书不旨在限于所公开的特定形式。相反,其意图是覆盖落入所附权利要求书的精神和范围内的所有修改、等同形式和替代形式。本文使用的任何标题仅用于组织目的,并不意味着限制说明书或权利要求书的范围。如本文所用,词语“可以”以允许的意义(即,意味着有可能)而不是强制性的意义(即,必须)使用。类似地,词语“包括(include)”、“包含(including)”和“包含(includes)”是指包括但不限于。
申请人已经发现了解决以往用于硬件设备的硬件-软件接口相关联的问题的方法、装置和计算机可读介质。特别地,申请人已经开发了通用的硬件-软件接口,该接口允许用户在各种软件情境中利用通信耦接的硬件设备。所公开的实施方式消除了对应用或操作系统进行定制设计,以通过使用专用虚拟驱动器和相应的透明层来与特定硬件设备对接的需求,这将在下面更详细地描述。
图2示出了根据示例性实施例的利用通用硬件-软件接口的系统的体系结构。如图2所示,操作系统200A包括与虚拟驱动器204通信的透明层203。如将在下面更详细地解释的,透明层203是被配置为在虚拟驱动器与操作系统和/或在操作系统上执行的应用之间的接口的API。在该示例中,透明层203在虚拟驱动器204与应用201A的API 201B、应用202A的API 202B以及操作系统200A的操作系统API 200B之间进行对接。
透明层203可以是在操作系统上运行的软件处理的一部分,并且可以具有其自己的用户界面(UI)元素,包括叠加在底层用户界面上的透明UI和/或用户能够与之交互的可见UI元素。
虚拟驱动器204被配置为仿真驱动器205A和205B,该驱动器205A和205B分别与硬件设备206A和206B对接。虚拟驱动器可以接收用户输入,该用户输入以诸如语音命令、在用户界面上做出的选择和/或用户在耦接的网络相机前做出的手势的形式,指示虚拟驱动器在哪个虚拟驱动器上进行仿真。例如,连接的每个硬件设备可以在“监听”模式下运行,并且可以将虚拟驱动器204中的每个仿真驱动器配置为检测初始化信号,该初始化信号作为虚拟驱动器切换到特定仿真模式的信号。例如,说“开始语音命令”的用户可以激活与麦克风相对应的驱动器来接收新的语音命令。类似地,给出某一手势的用户可以激活与网络相机相对应的驱动器来接收手势输入或触摸输入。
虚拟驱动器也可以被配置为与本地驱动器(例如,本地驱动器205C)交互,该本地驱动器本身与硬件设备206C通信。在一个示例中,硬件设备206C可以是操作系统本地支持的标准输入设备,例如,键盘或鼠标。
图2所示的系统允许实施通用的硬件-软件接口,在该接口中,用户可以在各种情境(例如,特定应用或操作系统)中使用任何耦接的硬件设备,而无需定制应用或操作系统来与硬件设备对接。
例如,硬件设备206A可以捕捉随后由仿真驱动器205A的虚拟驱动器204接收的信息。虚拟驱动器204可以基于该捕捉的信息来确定用户输入。例如,如果该信息是一系列用户移动手的图像,则虚拟驱动器可以确定用户已经执行了手势。
基于识别的情境(例如,特定应用或操作系统),可以将用户输入转换为透明层命令,并发送到透明层203以供执行。透明层命令可以包括识别的情境中的本地命令。例如,如果识别的情境是应用201A,则本地命令将采用与应用201A的应用API201B兼容的格式。然后,可以将透明层命令的执行配置为致使在识别的情境中执行一个或多个本地命令。这是通过透明层203与在操作系统200A上执行的应用的各个API以及操作系统API 200B进行对接来实现的。例如,如果本地命令是操作系统命令(例如,启动新程序的命令),则透明层203可以将该本地命令提供给操作系统API200B以供执行。
如图2所示,所有所示组件之间都存在双向通信。这意味着,例如,在透明层203中执行透明层命令可以导致将信息传输到虚拟驱动器204以及所连接的硬件设备之一上。例如,在语音命令被识别为输入,转换为包括本地命令的透明层命令并由透明层执行(导致在识别的情境中执行本地命令)之后,可以从透明层向扬声器(通过虚拟驱动器)发送信号,以传输“收到命令”的声音输出。
当然,图2所示的体系结构仅出于说明的目的,并且应当理解,执行的应用的数量、所连接的硬件设备的数量和类型、驱动器的数量以及仿真驱动器的数量可以变化。
图3示出了根据示例性实施例的用于实施通用硬件-软件接口的流程图。
在步骤301,至少部分地基于由通信地耦接到系统的一个或多个硬件设备捕获的信息来确定用户输入。本文所使用的系统可以指执行该方法的步骤的一个或多个计算设备、包括执行该方法步骤的一个或多个处理器以及一个或多个存储器(memory)的装置、或任何其他计算系统。
可以由在系统上执行的虚拟驱动器来确定用户输入。如前所述,虚拟驱动器可以在仿真模式下运行,在该模式下,虚拟驱动器正在仿真其他硬件驱动器,从而从硬件设备接收捕获的信息,或者可以可选地从被配置为与特定的硬件设备对接的一个或多个其他硬件驱动器接收捕获的信息。
各种硬件设备都可以被利用,例如相机、摄像机、麦克风、具有双向通信的耳机、鼠标、触摸板、触控板、控制器、游戏手柄、操纵杆、触摸屏、包括加速度计和/或倾斜传感器的动作捕捉设备、遥控器、触控笔或这些设备的任意组合。当然,提供该硬件设备列表仅作示例,并且任何可用于检测语音、图像、视频或触摸信息的硬件设备都可以被利用。
硬件设备与系统之间的通信耦接可以采用多种形式。例如,硬件设备可以经由无线网络、蓝牙协议、射频、红外信号和/或通过诸如通用串行总线(USB)连接的物理连接与系统通信。该通信还可以包括无线和有线通信。例如,硬件设备可以包括两个组件,其中一个组件以无线方式(例如,通过蓝牙)将信号传输到本身通过有线连接(例如,USB)连接到系统的第二组件。根据本文描述的系统,可以利用各种通信技术,并且这些示例并非旨在进行限定。
一个或多个硬件设备捕获的信息可以是任何类型的信息,例如包括一个或多个图像的图像信息、视频帧、声音信息和/或触摸信息。捕获的信息可以采用任何合适的格式,例如声音信息的.wav或.mp3文件、图像的.jpeg文件、触摸信息的数字坐标等。
本文所述的技术可以允许任何显示设备在任何情境中有效地充当“触摸”屏幕设备,即使该显示设备不包括检测触摸信号或基于触摸的手势的任何硬件。这点将在下面详细描述,并且可以通过分析由相机或摄像机捕获的图像来完成。
图4示出了当由通信地耦接至系统的一个或多个硬件设备捕获的信息包括一个或多个图像时,至少部分地基于该一个或多个硬件设备捕获的该信息来确定用户输入的流程图。
在步骤401,接收一个或多个图像。如前所述,这些图像可以由硬件设备(例如,相机或摄像机)捕获,并可以由虚拟驱动器接收。
在步骤402,识别一个或多个图像中的对象。该对象可以是例如用户的手、手指或其他身体部位。该对象还可以是专用设备,例如触控笔或笔,或专用硬件设备,例如动作跟踪触控笔/遥控器,该对象可通信地耦接到系统并包含加速计和/或倾斜传感器。可以由虚拟驱动器基于早期训练来执行对象识别,例如通过使用该对象运行的校准例程。
图5A示出根据示例性实施例的对象识别的示例。如图5A所示,图像501包括已经被识别为对象502的用户的手。识别算法当然可以被配置为识别不同的物体,例如手指。
回到图4,在步骤403,确定所识别对象的一个或多个朝向和一个或多个位置。这可以通过多种方式来实现。如果对象不是硬件设备,而是身体的部分(例如,手或手指),则可以使用相机的已知位置作为参考点,将对象映射到三维坐标系中,从而确定对象的三维坐标以及相对于X,Y和Z轴的各角度。如果对象是硬件设备,并且包括运动跟踪硬件(例如,加速度计和/或倾斜传感器),则可以将图像信息与加速度计和/或倾斜传感器指示的信息结合使用,以确定对象的位置和朝向。
在步骤404,至少部分地基于所识别对象的一个或多个朝向和一个或多个位置来确定用户输入。这可以包括至少部分地基于一个或多个朝向和一个或多个位置来确定透明层的透明用户界面(UI)上的位置坐标。透明UI是透明层的一部分,并叠加在与操作系统和/或在操作系统上执行的任何应用相对应的底层UI上。
图5B示出了当对象是用户的手指时该步骤的示例。如图5B所示,显示设备503包括底层UI 506和叠加在底层UI 506上的透明UI 507。为了清楚起见,透明UI 507以点阴影示出,但是应当理解,实际上,透明UI是用户不可见的透明层。另外,透明UI 507被示为比底层UI 506略小,但是应当理解,在实际中,透明UI将覆盖与底层UI相同的屏幕面积。
如图5B所示,对象(用户的手指)的位置和朝向信息用于将线投射到显示设备503的平面上并确定交点505。由相机504捕获的图像信息和相机下方的显示设备503的已知位置可以用于辅助这样的投射。如图5B所示,用户输入被确定为交点505处的输入坐标。
如将在下面进一步讨论的,基于该输入生成的实际透明层命令可以基于用户设置和/或识别的情境。例如,该命令可以是触摸命令,该触摸命令指示位于点505的坐标的对象应该被选择和/或打开。该命令还可以是指向命令,该指向命令指示应将指针(例如,鼠标指针)移动到点505的坐标。另外,该命令可以是编辑命令,该编辑命令修改该位置的图形输出(例如,对界面进行注释或绘制元素)。
尽管图5B将识别出的对象502示出为与显示设备503相距一定距离,但是无论距离是多少,都可以检测到触摸输入。例如,如果用户要物理触摸显示设备503,则上述技术仍将确定输入坐标。在这种情况下,对象502和交点之间的投射线只是将短一些。
当然,触摸输入并不是可以从捕获的图像确定的唯一用户输入类型。至少部分地基于所识别对象的一个或多个朝向和一个或多个位置来确定用户输入的步骤可以包括确定手势输入。特别地,可以分析跨多个图像的所识别对象的位置和朝向,以确定相应的手势,例如轻扫手势、捏合手势和/或任何已知的或定制的手势。用户可以校准虚拟驱动器,以识别映射到特定情境的定制手势以及那些情境中的命令。例如,用户可以创建映射到操作系统情境的定制手势,并致使执行启动特定应用的本地操作系统命令。
如前所述,在图3的步骤301中由一个或多个硬件设备捕获的信息还可以包括由麦克风捕获的声音信息。图6示出了当由通信地耦接至系统的一个或多个硬件设备所捕获的信息是声音信息时,至少部分地基于所捕获的信息来确定用户输入的流程图。如下所述,对声音信息执行语音识别以识别与用户输入相对应的一个或多个词语。
在步骤601,接收声音数据。如上所述,声音数据可以由诸如麦克风的硬件设备捕获并由虚拟驱动器接收。在步骤602,可以将接收到的声音数据与声音字典进行比较。声音字典可以包括一个或多个已识别词语(例如,指令词或指令修饰词)的声音特征。在步骤603,基于比较,将声音数据中的一个或多个词语识别为用户输入。然后可以将识别出的一个或多个词语转换为透明层命令,然后传递给透明层。
如前所述,可以至少部分地基于一个或多个设置或先前的用户输入来确定由虚拟驱动器仿真的驱动器、用户输入的预期类型以及基于用户输入而生成的命令。
图7示出了也可以是透明层的一部分的工具界面701。与透明UI不同,工具界面701对用户可见,并且可用于在不同选项之间进行选择,这些选项会更改虚拟驱动器的仿真模式、基于用户输入而生成的本地命令或执行其他功能。
当用户输入是输入坐标(例如,基于用户用手或触摸笔/遥控器触摸屏幕的坐标)时,按钮701A允许用户选择用于以图形方式修改用户界面的绘图工具的类型。各种绘图工具可以包括不同的笔刷、颜色、笔、荧光笔等。这些工具可以导致改变样式、厚度、颜色等的图形更改。
当接收到输入坐标作为用户输入时,按钮701B允许用户在选择、指向或绘图模式之间切换。在选择模式下,输入坐标可以作为“触摸”处理,并致使在输入坐标处选择或打开对象。在指向模式下,可以将坐标作为指针(例如,鼠标指针)位置处理,从而有效地让用户仿真鼠标。在绘图模式下,可以将坐标作为位置处理,在该位置更改用户界面的图形输出以在用户界面上呈现绘图或书写的外观。如参考按钮701A所讨论的,更改的性质可以取决于所选择的绘图工具。按钮701B还可以提醒虚拟驱动器期望图像输入和/或运动输入(如果使用了运动跟踪设备),并相应地仿真适当的驱动器。
按钮701C提醒虚拟驱动器期望语音命令。如相对于图6所论述的,这可以使虚拟驱动器对与耦接的麦克风相对应的驱动器进行仿真,以接收语音输入并解析语音输入。
按钮701D打开启动器应用,该启动器应用可以是透明层的一部分,并且可以用于启动操作系统内的应用或启动应用内的特定命令。启动器还可用于定制透明层中的选项,例如定制语音指令、定制手势、与用户输入关联的应用的定制本地指令,和/或用于校准硬件设备和用户输入(例如,语音校准、运动捕捉设备校准、和/或对象识别校准)。
按钮701E可用于捕获用户界面的屏幕截图并将屏幕截图导出为图像。这可以与按钮701B的绘图模式和701A的绘图工具结合使用。用户标记了特定的用户界面后,可以将标记的版本导出为图像。
按钮701F还允许图形编辑,并且可以用于改变用户正在用户界面上创建的绘图的颜色或绘图的各个方面。类似于按钮701B的绘图模式,此按钮改变输入坐标处图形更改的性质。
按钮701G取消用户界面上的绘图。选择此按钮可以移除用户界面上的所有图形标记,并将底层UI重置为用户创建绘图之前的状态。
按钮701H可用于启动白板应用,该应用允许用户在虚拟白板上用绘图模式创建绘图或书写。
按钮701I可用于将文本注释添加到对象(例如,操作系统UI或应用UI中示出的对象)。文本注释可以解释自语音信号,也可以由用户使用键盘键入。
按钮701J可用于打开或关闭工具界面701。关闭时,可以最小化工具界面或将其完全从底层用户界面中移除。
如前所述,触控笔或远程硬件设备可以与其他硬件设备(例如,相机或摄像机)结合用于本系统。图8示出了可以与系统一同使用的触控笔801的示例。触控笔801可以(例如,通过蓝牙)与硬件接收器802通信。硬件接收器可以连接到计算机系统,例如通过USB 802B,并且通过硬件接收器传递到计算机系统的来自触控笔的信号可以用来控制菜单803并与菜单803交互,该菜单803类似于图7所示的工具界面。
如图8所示,触控笔801可以包括物理按钮801A。这些物理按钮801可用于打开触控笔的电源、浏览菜单803、以及进行选择。另外,触控笔801可以包括独特的笔尖801B,该笔尖801B被相机捕获于图像中并且被虚拟驱动器识别。当处于绘图模式时,这可以使得触控笔801可以用于绘图和编辑。触控笔801还可以包括运动跟踪硬件(例如,加速度计和/或倾斜传感器),以在使用触控笔来提供输入坐标或手势时辅助位置检测。另外,硬件接收器802可以包括校准按钮802A,当按下该按钮时,可以在用户界面中启动校准实用程序。这使得可以对触控笔进行校准。
回到图3,在步骤302,识别与用户输入相对应的情境。所识别的情境包括操作系统或在该操作系统上执行的应用中的一个。
图9示出了根据示例性实施例的用于识别与用户输入对应的情境的流程图。如图9所示,操作系统数据901、应用数据902和用户输入数据903均可用于确定情境904。
操作系统数据901可以包括,例如,与操作系统中的活动窗口有关的信息。例如,如果活动窗口是计算器窗口,则可以将情境确定为计算器应用。类似地,如果活动窗口是Microsoft Word窗口,则可以将情境确定为Microsoft Word应用。另一方面,如果活动窗口是文件夹,则可以将活动情境确定为操作系统。操作系统数据还可以包括其他信息,例如,当前正在执行哪些应用、最后启动的应用以及可用于确定情境的任何其他操作系统信息。
应用数据902可以包括例如关于正在执行的一个或多个应用的信息和/或将特定应用映射到某些类型的用户输入的信息。例如,第一应用可以被映射到语音输入,使得每当接收到语音命令时,就自动将情境确定为第一应用。在另一个示例中,特定手势可以与第二应用相关联,使得当接收到该手势作为输入时,将第二应用启动或关闭、或执行在第二应用内的某些动作。
用户输入903也可以用于以各种方式确定情境。如上所述,可以将某些类型的用户输入映射到某些应用。在以上示例中,语音输入与第一应用的情境相关联。另外,用户输入的属性也可以用于确定情境。手势或动作可以映射到应用或操作系统。语音命令中的特定词语也可以映射到应用或操作系统。输入坐标也可以用于确定情境。例如,可以确定用户界面中输入坐标的位置处的窗口,并且可以将与该窗口相对应的应用确定为情境。
图10示出了使用输入坐标来确定情境的示例。如图10所示,显示设备1001正在显示用户界面1002。还示出了相机1004和叠加在底层用户界面1003上的透明层1003。用户利用触控笔1000指向用户界面1002中的位置1005。由于位置1005位于与应用1对应的应用窗口内,因此,对照于应用2、应用3或操作系统,可以将应用1确定为用户输入的情境。
回到图3,在步骤303,至少部分基于所识别的情境,将用户输入转换为一个或多个透明层命令。如前所述,透明层包括被配置为在虚拟驱动器与操作系统和/或在操作系统上执行的应用之间进行对接的应用程序编程接口(API)。
图11示出了用于将用户输入转换为透明层命令的流程图。如图11的步骤1104所示,可以至少部分地基于所识别的情境1102和用户输入1103来确定透明层命令。透明层命令可以包括被配置为在一个或多个对应情境中执行的一个或多个本地命令。透明层命令还可以包括响应输出,该响应输出将被传输到虚拟驱动器并传输到硬件设备上。
识别的情境1102可以用于确定应该将哪个透明层命令应映射到用户输入。例如,如果识别的情境是“操作系统”,则可以将轻扫手势输入映射到透明层命令,该命令致使用户界面滚动浏览当前在操作系统内打开的窗口(通过最小化一个打开的窗口并最大化下一个打开的窗口)。替代地,如果识别的情境是“Web浏览器应用”,则可以将相同的轻扫手势输入映射到透明层命令,该命令致使网页滚动。
由于用户输入被特定地映射到一个或多个情境内的某些本地命令,并且这些本地命令是透明层命令的一部分,所以用户输入1103还确定透明层命令。例如,语音命令“打开电子邮件”可以映射到特定的操作系统本地命令,以启动电子邮件应用Outlook。当接收到包含识别的词语“打开电子邮件”的语音输入时,这将致使确定包括用于启动Outlook的本地命令的透明层命令。
如图11所示,还可以基于一个或多个用户设置1101和API库1104来确定透明层命令。API库1104可用于查找与识别的情境和特定用户输入相对应的本地命令。在轻扫手势和网络浏览器应用情境的示例中,可以查询与该网络浏览器应用相对应的API库以进行适当的API调用,以致使网页滚动。可选地,可以忽略API库1104,并可以将本地命令映射到特定的用户输入和识别的情境。
在确定用户输入为输入坐标的情况下,透明层命令至少部分地基于输入位置坐标和识别的情境来确定。在这种情况下,透明层命令可以在识别的情境中包括至少一个本地命令,该至少一个本地命令被配置为在底层UI中的相应位置坐标处执行动作。
当有一个以上可能的动作映射到特定的情境和用户输入时,设置1101可用于确定相应的透明层命令。例如,当接收到输入坐标作为用户输入时,图7的按钮701B允许用户在选择、指向或绘图模式之间进行选择。此设置可用于确定透明层命令,并由此确定执行哪个本地命令和执行哪个动作。在这种情况下,可能的本地命令可以包括配置为选择与底层UI中的相应位置坐标关联的对象的选择命令、配置为将指针移至底层UI中的相应位置坐标的指针命令、以及配置为在底层UI中的相应位置坐标处更改显示输出的图形命令。
图12A示出了当切换选择模式时接收输入坐标的示例。如图12A所示,用户已经将触控笔1200指向显示设备1201上的操作系统UI 1202(具有叠加的透明UI 1203)。类似于前面的示例,相机1204可用于确定触控笔1200的位置和朝向信息以及输入坐标。由于切换了选择模式,并且触控笔1200指向操作系统UI 1202内的文件夹1205,因此所确定的透明层命令可以包括本地操作系统命令,以选择与输入坐标相关联的对象(在这种情况下为文件夹1205)。在另一个示例中,如果窗口位于输入坐标处,则将致使选择整个窗口。
图12B示出了当切换指向模式时接收输入坐标的示例。在这种情况中,确定的透明层命令可以包括本地操作系统命令,以将鼠标指针1206移动到输入坐标的位置。
图12C示出了当切换绘图模式并且用户将触控笔1200轻扫了多个输入坐标时,接收输入坐标的示例。在这种情况中,确定的透明层命令可以包括本地操作系统命令,以更改每个输入坐标的位置处的显示输出,致使用户在用户界面1202上绘制线1207。可以将产生于绘图模式的修改后的图形输出存储为透明层1203的一部分,例如,存储为与输入坐标的路径有关的元数据。然后,用户可以选择选项,以将更改后的显示输出导出为图像。
在用户输入被识别为手势的情况中,至少部分地基于所识别的情境将用户输入转换为一个或多个透明层命令可以包括:至少部分地基于所识别的手势和所识别的情境来确定透明层命令。透明层命令可以包括在识别的情境中的至少一个本地命令,该至少一个本地命令被配置为在识别的情境中执行与识别的手势相关联的动作。上面关于轻扫手势和网络浏览器应用情境描述了示例,使得本地命令被配置为在网络浏览器中执行滚动动作。
在用户输入被识别为一个或多个词语的情况下(例如,通过使用语音识别),至少部分地基于所识别的情境将用户输入转换为一个或多个透明层命令可以包括:至少部分地基于所识别的一个或多个词语和所识别的情境来确定透明层命令。透明层命令可以包括在识别的情境中的至少一个本地命令,该至少一个本地命令被配置为在识别的情境中执行与识别的一个或多个词语相关联的动作。
图13示出了基于在输入语音数据中识别出的一个或多个单词而确定的透明层命令1300的示例。所识别的词语1301包括短语“白板”或“空白页”中的一个。透明层命令1300还包括命令的说明1302和响应命令1303,响应命令1303是在执行透明层指令时由透明层发送给虚拟驱动器和硬件输出设备的输出指令。另外,透明层命令1300包括用于调用白板功能的实际本地命令1304。
图14示出了根据示例性实施例的基于在输入语音数据中识别出的一个或多个单词而确定的透明层命令1400的另一示例。在此示例中,一个或多个词语是“打开电子邮件”。如图14所示,透明层命令1400包括本地命令“outlook.exe”,该本地命令是运行特定可执行文件的指令,该特定可执行文件启动Outlook应用。透明层命令1400还包括语音响应“电子邮件已打开”,该语音响应将响应于接收到语音命令而被输出。
回到图3,在步骤304,在透明层上执行一个或多个透明层命令。一个或多个透明层命令的执行被配置为使得在所识别的情境中执行一个或多个本地命令。
图15示出了根据示例性实施例的用于在透明层上执行一个或多个透明层命令的流程图。在步骤1501,识别透明层命令中的至少一个本地命令。本地命令可以(例如,指定为在透明层命令的结构内的本地命令)允许识别。
在步骤1502,在所识别的情境中执行至少一个本地命令。该步骤可以包括经由针对该情境识别的API,将至少一个本地命令传递给所识别的情境,并在所识别的情境内执行本地命令。例如,如果识别的情境是操作系统,则可以通过操作系统API将本地命令传递到操作系统以执行。另外,如果识别的情境是应用,则可以通过应用API将本地命令传递给应用以执行。
可选地,在步骤1503,可以将响应发送到硬件设备。如前所述,此响应可以从透明层路由到虚拟驱动器,再路由到硬件设备上。
图16-19示出了本文公开的系统的附加特征。图16示出了根据示例性实施例的用于添加与用户输入对应的新命令的示例界面。界面1600中的仪表板包括已经被添加并且可以使用预定的用户输入和硬件设备(例如,语音命令)启动的应用1601的图标。仪表板还可以显示特定于应用并且被映射到某些用户输入的其他命令。选择添加按钮1602将打开添加命令菜单1603。该菜单允许用户在以下选项之间进行选择:项目类型:要添加到底部栏菜单上的固定项目/要添加到拖动菜单中的普通项目;图标:选择图像图标;背景:选择背景图标颜色;颜色:选择图标颜色;名称:设置新的项目名称;语音命令:设置语音激活命令以打开新应用;反馈响应:设置应用语音响应反馈;命令:选择要启动的应用类型或定制命令类型(例如,启动应用命令,在应用内执行动作命令,关闭应用命令等);进程开始:如果启动新的进程或应用,则该进程或应用的名称;和参数:传递给新进程或应用的任何参数。
图17示出了根据示例性实施例的绘制界面1700和绘图模式的各种组件和选项。图18示出了用于摄像机硬件设备的校准和设置界面1800,该摄像机硬件设备用于识别对象并允许用户使用触摸和手势来提供输入。图19示出了允许用户定制界面的各个方面、切换输入模式以及进行其他改变的一般设置界面1900。如界面1900所示,用户还可以访问设置页面以校准和调整硬件触控笔(称为“魔术触控笔(Magic Stylus)”的设置。
本文公开的系统可以在多个联网的计算设备上实现,并用于辅助进行网络协作会话。例如,先前描述的白板功能可以是多个计算设备上的多个用户之间的共享白板。
网络协作空间频繁用于项目管理和软件开发,以协调团队成员之间的活动、组织任务并确定任务优先级、以及集思广益。例如,Scrum是用于管理工作和项目的灵活框架,在该框架中,开发人员或其他参与者以团队协作的方式通过实时(当面或在线)交换信息和想法来解决特定问题。Scrum框架频繁使用Scrum板来实现,在该板中,用户在整个思维碰撞会期间不断张贴包含想法、主题或其他贡献的物理或数字便笺。
现有白板和其他共享协作空间(例如,网络Scrum板)的其中一个问题是,通过数字便笺传达的信息仅限于文本内容,而没有任何有关来自参会者的贡献的情境信息(例如想法、任务等),并且没有任何支持信息,这些支持信息可能使得在网络空间中共享想法更加容易和有效,尤其是在时间是宝贵资源的情况下。此外,由于Scrum会话有时可能涉及负有不同职责的各个团队,因此数字便笺无法选择性地限制对其所包含的想法的访问,会向不同团队或具有不同安全权限的协作者暴露潜在的机密或敏感信息,从而可能引入额外的漏洞。
当前没有有效的方法可以将带有相关内容数据的来自协作者的协作贡献数据和访问控制数据打包为可以在协作会话中通过网络有效地传输到多个联网的计算设备上的格式、以及同时包含用于嵌入或用于联网项目管理会话(例如,Scrum会话)的功能的格式中。
除了先前描述的用于实现通用硬件-软件接口的方法和系统之外,申请人还发现了方法、装置和计算机可读介质,这些方法、装置和计算机可读介质允许在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象(enriched note data object),并且解决了前述问题。
图20示出了根据示例性实施例的用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的流程图。图20所示的所有步骤可以在本地计算设备(例如,连接到服务器的客户端设备)上执行,并且不要求多个计算设备。所公开的处理还可以通过连接到服务器的多个设备或通过既充当本地计算设备又充当托管一个或多个其他计算设备的网络协作会话的服务器的计算设备来实现。
在步骤2001,在本地计算设备的用户界面上传输托管在服务器上的协作工作空间的表示。协作工作空间可通过网络套接字连接访问多个计算设备上的多个参与者,包括本地计算设备处的本地参与者和远程计算设备处的一个或多个远程参与者。如本文所使用的,远程计算设备和远程参与者是指除本地参与者和本地计算设备以外的计算设备和参与者。远程计算设备通过诸如广域网(WAN)的网络与本地设备分开。
图21A示出了根据示例性实施例的用于托管和发送协作工作空间的网络体系结构。如图21A所示,服务器2100连接到计算设备2101A-2101F。服务器2100和计算设备2101A-2101F可以通过网络连接(例如,网络套接字连接)连接,该网络连接允许计算设备2101A-2101F(客户端)与服务器2100之间进行双向通信。如图21A所示,计算设备可以是任何类型的计算设备,例如膝上型计算机、台式计算机、智能电话或其他移动设备。另外,尽管服务器2100被示为单独的实体,但是应当理解,计算设备2101A-2101F中的任何一个也可以充当其他计算设备的服务器,这意味着计算设备在托管协作会话中执行服务器的功能,即使它是协作会话本身的参与者。
协作工作空间可以是例如数字白板,该数字白板被配置为通过网络套接字连接将来自多个参与者中的任意参与者的任意编辑传播到其他参与者。图21B示出了根据示例性实施例的用于将编辑传播至网络内的协作工作空间的处理。如图21B所示,如果计算设备2101B处的用户对协作工作空间进行编辑或更改,则该编辑或更改2102B被发送到服务器2100,在服务器2100中,该编辑或更改用于更新工作空间的托管版本。然后,服务器2100将编辑或更改作为更新2102A、2102C、2102D、2102E和2102F传播到其他连接的计算设备2101A、2101C、2101D、2101E和2101F。
协作工作空间的每个表示都可以是为本地参与者定制的协作工作空间的版本。例如,如上所述,协作工作空间的每个表示可以包括与连接到服务器的一个或多个远程计算设备相对应的一个或多个远程参与者对象。
图22示出了根据示例性实施例的协作工作空间的多个表示。如图22所示,服务器2200托管协作工作空间2201。如前所述,服务器上托管的协作工作空间的版本被传播到连接的设备。图22还示出了三个连接的用户(用户1、用户2和用户3)的协作工作空间的表示。每个表示可以可选地针对本地参与者(针对每个位置的本地计算设备)进行定制。
回到图20,在步骤2002,由本地计算设备生成丰富笔记数据对象。丰富笔记数据对象响应于来自用户的输入(例如通过用户界面)来创建,并包括由用户选择或输入并被配置为显示的文本、被配置为显示的一个或多个用户可访问控件、以及用户选择的至少一个内容文件。丰富笔记数据对象被配置为在由丰富笔记数据对象限定的丰富笔记用户界面元素内显示文本和一个或多个用户可访问控件,该丰富笔记数据对象还被配置为响应于在一个或多个用户可访问控件中的显示控件的选择来打开至少一个内容文件。例如,丰富笔记数据对象可以包括被配置为显示笔记用户界面元素和用户可访问控件的嵌入式脚本或软件。丰富笔记数据对象可以,例如,与作为丰富笔记数据对象的一部分的显示控件脚本相关联地或作为该显示控件脚本的一部分地,存储到内容文件的地址的链接或指针,并将实际内容项存储在丰富笔记数据对象的单独的部分中。在这种情况中,链接或指针可以引用丰富笔记数据对象的单独部分内的内容项的地址。内容项可以是任何类型的内容项,例如视频文件、图像文件、音频文件、文档、电子表格、网页。
丰富笔记是专用的用户界面元素,该元素是丰富笔记数据对象的可视组件。丰富笔记是内容耦接或内容链接的笔记,其中底层数据结构(丰富笔记数据对象)将显示文本(笔记)与丰富笔记数据对象内已被用户选择的相应内容项进行链接。然后,经由丰富笔记的用户可访问控件,存储在丰富笔记数据对象中的该链接的内容可通过丰富笔记访问。因此,丰富笔记(以及丰富笔记数据对象的相应底层数据结构)充当动态数字化笔记,因为它在计算设备的内存中以可访问、可移动和可共享的方式通过具有许多参与者的网络协作会话将某些显示文本与底层内容项进行链接。丰富笔记(以及底层的丰富笔记数据对象)提供了更大的功能,因为它可以“钉”到任何类型的内容(不仅是文档),并且集成动态访问控件以及其他功能。如下面将更详细讨论的,丰富笔记数据对象解决了网络协作会话中的现有问题,因为它提供了将来自参与者的贡献链接到“附着”到某些虚拟位置的笔记的功能,同时允许每个参与者与丰富笔记进行独立交互并访问相关的链接内容。
图23A-23B示出了根据示例性实施例的用于在网络协作工作空间内生成丰富笔记数据对象的处理。
图23A示出了在接收到生成丰富笔记数据对象的请求之前本地计算设备的用户界面(桌面)的示例。如图23A所示,用户界面2301包括协作应用2302,该协作应用2302在本地显示托管于服务器上的协作工作空间2303的表示。
协作应用2302可以包括协作工作空间2303的表示,该表示包含本地参与者和任何其他参与者的所有编辑和贡献、以及工具栏2304。工具栏2304可以包括各种编辑工具、设置、命令和选项,用于与协作工作空间的表示进行交互或配置协作工作空间的表示。例如,工具栏2304可包括编辑工具以在协作工作空间2303的表示上绘图,其中该编辑通过网络套接字连接传播到服务器和其他连接的计算设备。
工具栏2304还包括丰富笔记按钮2305,该丰富笔记按钮2305在被选择时使本地计算设备显示提示或界面,该提示或界面允许进行选择的用户生成丰富笔记并指定丰富笔记的属性和特征。因此,用户可以通过选择屏幕共享按钮2305来开始生成丰富笔记的处理。注意,如本文所使用的,“丰富笔记”是指与“丰富笔记数据对象”相对应的用户界面元素。如下面将更详细讨论的,“丰富笔记数据对象”包括数据,例如自动脚本、内容文件或到内容文件的链接、隐私设置以及并不总是显示为“丰富笔记”的一部分的其他配置参数。
图23B示出了在用户已经选择了工具栏2304的丰富笔记按钮2305之后本地计算设备的用户界面(桌面)2301的示例。如图23B所示,对丰富笔记按钮2305的选择使本地计算设备显示丰富笔记创建界面2306。
丰富笔记创建界面2306包括多个输入区域,包括允许用户键入将在丰富笔记的面部上显示的消息的文本输入区域2306A。可替代地,用户可以从数个预定义的消息中的一个中进行选择。例如,响应于用户选择文本输入区域2306,可以显示预定消息的列表,然后用户可以选择预定消息中的一个。
丰富笔记创建界面2306还包括附加内容按钮2603B。在选择附加内容按钮2306B时,可以显示界面,在该界面允许用户从本地或网络文件夹中选择要包括在丰富笔记数据对象中并且可以从丰富笔记访问的内容文件。另外,对附加内容按钮2306B的选择还可以致使显示内容输入界面,例如,草图工具或允许用户直接创建内容的其他输入界面。在这种情况下,可以将创建的内容自动保存为文件夹中的文件,并且可以将创建的文件与丰富笔记相关联。如前所述,内容项可以是任何类型的内容项,例如,视频文件、图像文件、音频文件、文档、电子表格和/或网页。用户还可以通过包括链接(例如,网页链接)来指定内容,在这种情况下,可以从网页下载相关内容并将该相关内容作为网页文档(例如,html文件)进行附加。可替代地,考虑到网络浏览器的普遍性,可以将网页链接本身归类为附加内容,在这种情况下,接收到丰富笔记的用户将只需要点击链接就可以在本地浏览器内从相关网络源访问内容。
丰富笔记创建界面2306另外包括重要按钮2603C。在选择重要按钮2306C时,与丰富笔记相关联的重要性标记可以被设置为真。这导致丰富笔记带着重要性指示符(例如,图形或消息)显示,该重要性指示符提醒查看者该丰富笔记是紧急或重要的。
丰富笔记创建界面2306还包括隐私按钮2603D。在选择隐私按钮2306D时,可以显示允许用户输入隐私设置的界面。隐私设置可以允许用户设置丰富笔记的内容部分的访问控件,例如密码、认证检查和/或许可的参与者的列表。当利用许可的参与者的列表时,可以通过网络套接字连接从服务器中检索与每个许可的参与者相关联的IP地址,并将该IP地址链接到访问控件,使得丰富笔记的内容部分只能从与许可的用户关联的IP地址访问。可选地,丰富笔记的创建者可以指定每个许可的参与者的一些识别符,并且那些参与者可以输入适当的识别符以获得对内容的访问。隐私控件的多种变型都是可能的,这些示例也并非旨在进行限制。
丰富笔记创建界面2306还包括警告按钮2603E。在选择提醒按钮2306E时,可以显示界面,该界面允许用户配置与丰富笔记相关联的一个或多个警告。警告可以是通知(例如,弹出窗口)、通信(例如,电子邮件)或其他通知(例如,日程提醒)。用户可以选择与每个警告关联的时间和日期、以及警告消息。对于诸如弹出窗口或日程通知的本地警告,任何丰富笔记的接收者将因此在适当的时间和日期在其本地计算设备上激活与丰富笔记相关联的任何警告。对于通信警告,可以在选定的时间和日期触发从丰富笔记的创建者到丰富笔记的接收者的通信。例如,提醒警告可以提醒丰富笔记的接收者在某个截止日期之前进行查看。
丰富笔记创建界面2306还包括语音笔记按钮2603F。选择语音笔记按钮2603F将产生提示或界面,该提示或界面要求创建者录制要包括在丰富笔记数据对象中并且可以从丰富笔记访问的语音。可选地,语音笔记按钮2603F可以集成到附加内容按钮2603中,从而用户可以通过选择附加内容按钮2603来录制语音笔记以及附加其他类型的内容。
按钮2306B-2306F仅作为示例提供,并且丰富笔记创建界面2306可以包括其他用户可配置选项。例如,丰富笔记创建界面2306可以包括允许用户配置丰富笔记的大小、形状、颜色或图案的选项。
一旦创建者完成了配置丰富笔记、设置任何标记、设置隐私控件、附加内容和/或录制语音笔记,他们就可以通过选择创建按钮2306G来创建丰富笔记数据对象。丰富笔记数据对象的创建包括创建者指定的并且可以以多种方式执行的所有设置和内容的集成。例如,可以将丰富笔记数据对象配置为数据容器,该数据容器包括与所选设置相对应的自动脚本以及到特定内容的链接以及内容文件本身。丰富笔记数据对象还可以是预定义的模板数据对象,该模板数据对象具有基于创建者的选择而设置的数个标记,并且包括填充有所选内容文件的地址的预定义链接。
图24示出了根据示例性实施例的生成的丰富笔记2400。如图24所示,丰富笔记2400显示文本“用于实现数据测试特征的想法”,并且包括用户可访问控件2401-2405。如丰富笔记数据对象所限定的,每个用户可访问控件都链接到丰富笔记的功能或设置。
丰富笔记2400包括显示控件2401,该显示控件2401指示存在与丰富笔记相关联的附加内容。对显示控件2401的选择被配置为使丰富笔记2400显示与丰富笔记2400相关联的内容项。响应于对显示控件2401的选择,丰富笔记数据对象被配置为检测与至少一个内容文件相关联的应用,并通过在丰富笔记的内容显示区中初始化与至少一个内容文件相关联的应用并将该至少一个内容文件加载到初始化的应用中,来打开该至少一个内容文件。内容显示区可以与被配置为显示文本和一个或多个用户可访问控件2401-2405的主显示区相邻。然后,用户能够浏览、滚动或以其他方式与打开的内容进行交互。
用于显示控件2401的图标本身可以基于与丰富笔记相关联或链接的内容文件的类型来确定。如图24所示,显示控件2401图标对应于图像文件,指示链接的内容是图像。基于对由创建者链接的内容文件的类型的分析,可以在用户可访问控件以外自动确定和利用其他类型的图标。例如,不同的图标可以用于文档文件、便携式文档格式(PDF)文件、视频文件或网络浏览器链接。在创建者尚未将任何内容项目与丰富笔记相关联的情况下,丰富笔记数据对象可以被配置为从丰富笔记2400中省略显示控件2401图标。
在图24中还示出了重要性指示符2402图标。当丰富笔记的创建者已经将笔记标记为重要时,丰富笔记数据对象被配置为显示重要性指示符图标(显示为星形图标)。可以将丰富笔记的重要性设置为标记(重要或不重要),或者可以将其设置为多个不同重要性值(例如,低、中、高)中的重要性值。重要性指示符2402图标可以指示与丰富笔记相关联的重要性值。重要性指示符2402图标可以显示图像或具有指示重要性级别的视觉属性。例如,重要性指示符2402图标可以被颜色编码,使得最重要的富集笔记具有红色的重要性指示符2402图标,而最不重要的富集笔记具有绿色的重要性指示符2402图标。在创建者未将丰富笔记标记为重要的情况下,可以可选地省略重要性指示符2402图标。
警告控件2402的选择可以显示与丰富笔记2400相关联的任何警告或通知。例如,选择警告控件可以指示与特定通知相关联的时间和日期。当丰富笔记包括警告时,警告可以由接收丰富笔记的设备的操作系统触发。例如,警告可以作为发送到客户端的推送通知触发,或者作为添加到客户端日程的日程事件触发。日程事件可以作为通知警告发送,然后由用户选择要添加到日程中。可替代地,如果用户在其设备上提供了访问日程应用的权限,则可以自动添加日程事件。
图24另外示出了隐私控件2403图标(显示为锁)。丰富笔记数据对象被配置为在存在与丰富笔记相关联的隐私或访问控件时显示隐私控件2403。丰富内容笔记数据对象被配置为响应于对显示控件2401或隐私控件2403的选择来确定是否存在与该丰富笔记数据对象相关联的任何隐私或访问控制机制。如果存在与丰富笔记数据对象相关联的任何类型的隐私或访问控制机制,则将丰富内容笔记数据对象配置为在打开或以其他方式提供对任何相关联的内容文件的访问之前执行认证检查(根据隐私或访问控制机制)。
认证检查可以是,例如,要求密码、要求并验证用户凭据、验证与用户关联的互联网协议(IP)地址在许可列表上、要求用户同意某些条款等。例如,当存在与丰富笔记相关联的隐私控件并且用户选择显示控件2401图标时,可以在将相关联的内容显示给用户之前执行认证检查。可选地,只要通过选择隐私控件2403图标,用户就会在他尝试打开相关联的内容之前触发认证检查。丰富笔记数据对象被配置为在认证检查失败时拒绝对相关联的内容文件的访问。
在图24中还示出了警告控件2404。丰富笔记数据对象被配置为存在与丰富笔记关联的提醒时显示警告控件(显示为时钟图标)。警告控件2404的选择可以在与警告相关联的时间和日期显示与丰富笔记2400相关联的任何警告或通知。例如,选择警告控件可以指示与特定通知相关联的时间和日期。当丰富笔记包括警告时,警告可以由接收丰富笔记的设备的操作系统触发。例如,警告可以作为发送到客户端的推送通知触发,或者作为添加到客户端日程的日程事件触发。日程事件可以作为通知警告发送,然后由用户选择要添加到日程中。可替代地,如果用户在其设备上提供了访问日程应用的权限,则可以自动添加日程事件。
丰富笔记2400还可包括语音笔记指示符2405图标。丰富笔记被配置为当创建者已经将语音笔记包括在丰富笔记数据对象中时显示语音笔记指示符2405图标。当显示语音笔记指示符2405图标时,语音笔记指示符2405图标的选择导致在相邻窗口或界面中打开音频回放应用,并且在音频回放应用中加载相应的语音笔记。然后,用户可以收听或浏览语音笔记。
回到图20,在步骤2003,本地计算设备检测到用户输入,该用户输入将丰富笔记数据对象与协作工作空间的表示中的所选位置相关联。例如,一旦创建了丰富笔记(如图24所示),用户便可以在协作工作空间内拖放或以其他方式定位该丰富笔记,以将丰富笔记“钉”在协作工作空间中的那个位置。
图25A-25B示出了根据示例性实施例的检测将丰富笔记数据对象与协作工作空间的表示中的所选位置相关联的用户输入的示例。
如图25A所示,创建者已完成用于创建丰富笔记的处理,并且最终在用户界面2500中将所得到的丰富笔记2501显示在协作应用2503的协作工作空间2502内。此时,还没有选择丰富笔记2501的位置。
图25B示出了为丰富笔记2501选择位置的处理。如图25B所示,用户可以将丰富笔记2501拖动到协作工作空间2502内的期望位置。只要用户对位置满意,就可以通过用户“放下”丰富笔记2501(例如,通过按下指向设备)和/或通过用户选择某个用户界面元素(例如,丰富笔记图标2504)以指示他们对该位置感到满意,来检测位置。然后,检测协作工作空间2502内的该位置,并将该位置与丰富笔记相关联地存储在存储器中。位置可以由协作应用2503本身、操作系统或如本申请中前面提及的透明层来检测。
作为替代来检测创建丰富笔记之后将丰富笔记数据对象与所选位置相关联的用户输入,可以在创建丰富笔记数据对象之前检测用户输入,在该丰富笔记数据对象中,用户首先指定协作工作空间内的位置。例如,参考图25A,正如关于图23A-23B所描述,用户可以将丰富笔记图标2504拖动到协作工作空间2502内的期望位置,以便启动丰富笔记生成处理。一旦生成丰富笔记,便可以将其自动“钉”到先前检测到的用户通过拖动丰富笔记图标2504而指定的位置。
回到图20,在步骤2004,丰富笔记数据对象、所选位置以及一个或多个命令由本地计算设备通过网络套接字连接传输到服务器。该一个或多个命令被配置为使服务器将丰富笔记数据对象和所所选位置传播到所有连接到协作会话的服务器的计算设备。一个或多个命令还被配置为使服务器指示每个连接的计算设备(即,每个计算设备上的协作应用的本地版本和/或每个计算设备上的透明层)来插入与所选位置上的丰富笔记数据对象(包括所有相关联的内容和设置)相对应的丰富笔记。例如,从本地计算设备发送到服务器的命令可使服务器向每个连接的设备发送另外的命令,该命令指示连接的计算设备于所选位置处在其协作工作空间的本地表示内插入或实例化丰富笔记的副本。在接收到丰富笔记数据对象和所选位置时,连接到协作会话的每个计算设备可以被配置为在协作工作空间的本地表示内的所选位置处插入丰富笔记数据对象。每个连接的计算设备上的丰富笔记的每个副本均包含设置(例如,隐私控件、警告等)以及到内容(相关联的内容项、语音记录等)的链接,作为原始的丰富笔记,所有这些内容包含在每个连接的计算设备接收到的丰富笔记数据对象内。
图26示出了根据示例性实施例的用于传播丰富笔记数据对象的处理。如图26所示,在计算设备2601上的用户1创建丰富笔记数据对象并选择与该丰富笔记数据对象相关联的位置之后,该丰富笔记数据对象连同指示应该在协作工作空间内的何处插入丰富笔记数据对象的位置信息(在图20的步骤103中被检测)、以及指示服务器2600将丰富笔记数据对象和所选位置信息二者都传播到连接到协作会话的所有计算设备2601-2603的命令一起发送到服务器2600。
从本地计算设备2601传输到服务器2600,然后从服务器2600传输到所有计算设备2601-2603的丰富笔记数据对象不仅包括用于在丰富笔记内显示的文本,还包括用户设置和配置(例如,隐私控件、警告、重要性级别)以及与丰富笔记相关联的任何内容(例如,内容文件或语音记录)。通过最终存储丰富数据对象的本地副本(包括所有内容和设置),每个用户可以独立与丰富数据对象进行交互,而不必依赖服务器响应于用户交互来提供信息,从而优化交互响应时间和服务器上的负载,同时仍维持统一的项目计划协作工作空间(因为每个丰富笔记在协作工作空间的各个表示中都显示在相同的位置)。
可选地,服务器可以将丰富笔记数据对象和位置信息的副本存储在服务器文件存储库或存贮器(storage)2604中。如果客户端(计算设备2601-2603)中的一个与协作会话断开连接,则服务器2600可以在重新连接时向客户端重新提供相关的丰富笔记数据对象和位置信息。
图27示出了根据示例性实施例的在协作工作空间的多个实例上的丰富笔记。如图27所示,协作工作空间的每个表示,包括表示2701、2702和2703,都在同一选定位置(由丰富笔记数据对象的创建者指定)显示丰富笔记的副本。如上所述,与丰富笔记相对应的丰富笔记数据对象通过服务器2700发送到所有连接的计算设备。尽管每个表示都显示相同的丰富笔记,但用户1、用户2和用户3可以自由地彼此独立地与各自的丰富笔记进行交互。
图28-32示出了根据示例性实施例的用户与丰富笔记的交互的示例。图28示出了具有显示文本“用于展示的天际线图片”的丰富笔记2800,其中用户已经选择了显示控件2801图标。作为该选择的结果,将相关联的内容文件(图片)显示在相邻的内容显示区2802中。
如前所述,可以在渲染丰富笔记2800之前检测相关联的内容文件的类型,并将该相关联的内容文件的类型用于确定用于显示控件2801的图标的类型。此外,相关联的内容文件的类型可用于确定适当的应用,以在相邻内容显示区2802内进行初始化。例如,相关联的文档将导致相邻显示区2802内的文字处理程序的初始化,而相关联的视频将导致相邻显示区内的媒体播放器的初始化。
用户可以使用相邻内容浏览控件2803中的一个与相关联的内容文件进行交互。内容浏览控件2803允许用户最大化内容窗口、滚动、浏览或以其他方式与内容交互,并提供关于内容的信息(例如,元数据)。例如,当附加的内容是视频时,用户可以快进、快退或跳到视频内的不同片段。
在取消选择控件2801或选择使相关联的内容最小化的某个其他用户界面元素时,丰富笔记就恢复为其初始形式(例如,如图24所示)。
图29示出了丰富笔记2900,其中创建者已经设置了隐私控件,使得显示隐私控件图标2902。如图29所示,在选择显示控件2901时,显示提示2903,要求用户输入密码以便查看图像。可选地,用户也可以通过选择隐私控件图标2902来启动该提示2903。一旦用户通过输入正确的密码而成功响应隐私控件测试,则用户便能够以类似于图28所示的形式查看相关联的内容。
图30示出了丰富笔记3000,其中创建者已经将重要性级别设置为高。如图30所示,如果用户选择相应的重要性指示符图标3001,则显示提示3002,以向用户告知丰富笔记3000的重要性级别。
图31示出了丰富笔记3100,其中,创建者已经将重要性级别设置为高,使访问控件包括其内,还使警告包括其内。如图31所示,如果用户选择警告控件图标3101,则显示提示3102,以向用户告知相关联的警告通知。在这种情况下,警告通知是配置为在美国东部标准时间下午1点显示的消息,提醒用户在美国东部标准时间下午2点之前查看丰富笔记。
图32示出了丰富笔记3200,其中创建者已经使语音笔记包括其内。如图32所示,如果用户选择语音笔记指示符图标3201,则将带有可回放语音笔记的内容显示区3202输出。如图所示,用户可以通过内容浏览控件3204或直接(例如,通过使用指向设备或手或触摸手势3203)浏览语音笔记并与语音笔记交互。例如,用户可以向前跳到语音笔记的某些部分。
作为用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的方法的一部分,从用户接收的输入可以通过任何类型的指向设备(例如,鼠标、触摸屏或触控笔)接收。先前描述的涉及虚拟驱动器和/或透明层的技术可以用于检测输入。例如,输入可以是用户的指向手势。另外,诸如拖放动作、选择、取消选择或其他输入或一系列输入的上述动作,还可以使用先前描述的涉及虚拟驱动器和/或透明层的技术来输入。
一个或多个上述技术可以在一个或多个计算机系统中实现或涉及一个或多个计算机系统。图33示出了专用计算环境3300的示例。计算环境3300不是旨在提出关于所描述的实施例的使用范围或功能的任何限制的建议。
参考图33,计算环境3300包括至少一个处理单元3310和存储器3320。处理单元3310执行计算机可执行指令,并且可以是真实或虚拟处理器。在多处理系统中,多个处理单元执行计算机可执行指令以增加处理能力。存储器3320可以是易失性存储器(例如,寄存器、高速缓存、RAM)、非易失性存储器(例如,ROM、EEPROM、闪存等)、或两者的某种组合。存储器3320可以存储实现所描述的技术的软件3380。
计算环境可以具有附加特性。例如,计算环境3300包括存贮器3340、一个或多个输入设备3350、一个或多个输出设备3360以及一个或多个通信连接3390。诸如总线、控制器或网络的互连机制3370将计算环境3300的组件互连。通常,操作系统软件或固件(未示出)为在计算环境3300中执行的其他软件提供操作环境,并协调计算环境3300的组件的活动。
存贮器3340可以是可移动的或不可移动的,并且包括磁盘、磁带或盒式磁带、CD-ROM、CD-RW、DVD或可用于存储信息并可在计算环境3300内访问的任何其他介质。存贮器3340可以存储用于软件3380的指令。
输入设备3350可以是诸如键盘、鼠标、笔、轨迹球、触摸屏或游戏控制器的触摸输入设备,语音输入设备,扫描设备,数字照相机,遥控器或向计算环境3300提供输入的另一设备。输出设备3360可以是显示器、电视机、监视器、打印机、扬声器或提供来自计算环境3300的输出的另一设备。
一个或多个通信连接3390使得能够通过通信介质与另一计算实体进行通信。通信介质以调制数据信号传递信息(例如,计算机可执行指令、音频或视频信息或其他数据)。调制数据信号是以将信息编码在信号中的形式来设置或更改其一个或多个特征的信号。作为示例而非限制,通信介质包括利用电、光、RF、红外、声或其他载体实现的有线或无线技术。
实施方式可以在计算机可读介质的情境中描述。计算机可读介质是可以在计算环境中访问的任何可用介质。作为示例而非限制,在计算环境3300内,计算机可读介质包括存储器3320、存贮器3340、通信介质以及以上任意者的组合。
当然,图33将计算环境3300、显示设备3360和输入设备3350图示为单独的设备,仅为了易于辨识。计算环境3300、显示设备3360和输入设备3350可以是单独的设备(例如,通过线连接到监视器和鼠标的个人计算机),可以集成在单个设备(例如,具有触摸显示器的移动设备,例如,智能手机或平板电脑)中,或是设备的任何组合(例如,可操作地耦接到触摸屏显示设备的计算设备、附接到单个显示设备和输入设备的多个计算设备等)。计算环境3300可以是机顶盒、个人计算机或一个或多个服务器,例如,联网服务器场、集群服务器环境或计算设备的云网络。
现已参考所描述的实施例描述和说明了本发明的原理,将认识到的是,所描述的实施例可以在布置和细节上进行修改而不背离这些原理。以软件示出的所描述的实施例的元件可以以硬件来实现,反之亦然。
鉴于可以应用本发明的原理的许多可能的实施例,我们要求所有落入所附权利要求及其等同物的范围和精神之内的实施例作为本发明。
Claims (30)
1.一种用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的方法,其特征在于,所述方法包括:
在本地计算设备的用户界面上,传递协作工作空间的表示,所述协作工作空间托管于服务器上,并且可通过网络套接字连接被多个计算设备上的多个参与者访问;
通过所述本地计算设备,生成丰富笔记数据对象,所述丰富笔记数据对象包括文本、一个或多个用户可访问控件以及至少一个内容文件,其中,所述丰富笔记数据对象被配置为显示所述文本和所述一个或多个用户可访问控件,并且还被配置为响应于对所述一个或多个用户可访问控件中的显示控件的选择来打开所述至少一个内容文件;
通过所述本地计算设备,检测将所述丰富笔记数据对象与所述协作工作空间的所述表示中的所选位置相关联的用户输入;以及
通过所述本地计算设备,通过所述网络套接字连接向所述服务器传递所述丰富笔记数据对象、所述所选位置、以及一个或多个命令,所述一个或多个命令被配置为使所述服务器将所述丰富笔记数据对象和所述所选位置传播给所述多个计算设备。
2.根据权利要求1所述的方法,其特征在于,所述丰富笔记数据对象还被配置为检测与所述至少一个内容文件关联的应用。
3.根据权利要求2所述的方法,其特征在于,所述丰富笔记数据对象被配置为,响应于对所述一个或多个用户可访问控件中的所述显示控件的选择,通过以下方式来打开所述至少一个内容文件:
检测对所述显示控件的选择;
在内容显示区中初始化与所述至少一个内容文件相关联的所述应用;以及
将所述至少一个内容文件加载到初始化的所述应用中。
4.根据权利要求3所述的方法,其特征在于,所述丰富笔记数据对象还被配置为在主显示区中显示所述文本和所述一个或多个用户可访问控件,并且其中,内容显示区与所述主显示区相邻。
5.根据权利要求1所述的方法,其特征在于,所述一个或多个用户可访问控件包括隐私控件,并且其中,所述丰富笔记数据对象还被配置为:
响应于对所述显示控件或所述隐私控件的选择,确定是否有与所述丰富笔记数据对象相关联的访问控制机制;
在打开所述至少一个内容文件之前,至少部分地基于确定所述隐私控件被激活来执行认证检查。
6.根据权利要求5所述的方法,其特征在于,所述丰富笔记数据对象还被配置为:如果所述认证检查失败,则拒绝对所述至少一个内容文件的访问。
7.根据权利要求1所述的方法,其特征在于,所述一个或多个用户可访问控件包括警告控件,并且其中,所述丰富笔记数据对象还被配置为:
通过所述警告控件从所述丰富笔记数据对象的创建者接收对警告时间和日期的选择以及警告通知;以及
在所述警告时间和日期,在存储所述丰富笔记数据对象的任何计算设备上发送所述警告通知。
8.根据权利要求1所述的方法,其特征在于,所述服务器包括所述本地计算设备或所述多个计算设备中的计算设备。
9.根据权利要求1所述的方法,其特征在于,所述多个计算设备中的每个计算设备被配置为在所述所选位置处将所述丰富笔记数据对象插入到所述协作工作空间的本地表示中。
10.根据权利要求1所述的方法,其特征在于,所述丰富笔记数据对象被配置为在由所述丰富笔记数据对象限定的丰富笔记用户界面元素中显示所述文本和所述一个或多个用户可访问控件。
11.一种用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的本地计算设备,其特征在于,所述本地计算设备包括:
一个或多个处理器;和
一个或多个存储器,所述一个或多个存储器可操作地耦接
到所述一个或多个处理器中的至少一个处理器,并具有存储在其上的指令,当所述指令由所述一个或多个处理器中的至少一个处理器执行时,使所述一个或多个处理器中的至少一个处理器执行以下操作:
在所述本地计算设备的用户界面上,传递协作工作空间的表示,所述协作工作空间托管于服务器上,并且可通过网络套接字连接被多个计算设备上的多个参与者访问;
生成丰富笔记数据对象,所述丰富笔记数据对象包括文本、一个或多个用户可访问控件以及至少一个内容文件,其中,所述丰富笔记数据对象被配置为显示所述文本和所述一个或多个用户可访问控件,并且还被配置为响应于对所述一个或多个用户可访问控件中的显示控件的选择来打开所述至少一个内容文件;
检测将所述丰富笔记数据对象与所述协作工作空间的所述表示中的所选位置相关联的用户输入;以及
通过所述网络套接字连接向所述服务器传递所述丰富笔记数据对象、所述所选位置、以及一个或多个命令,所述一个或多个命令被配置为使所述服务器将所述丰富笔记数据对象和所述所选位置传播给所述多个计算设备。
12.根据权利要求11所述的本地计算设备,其特征在于,所述丰富笔记数据对象还被配置为检测与所述至少一个内容文件关联的应用。
13.根据权利要求12所述的本地计算设备,其特征在于,所述丰富笔记数据对象被配置为,响应于对所述一个或多个用户可访问控件中的所述显示控件的选择,通过以下方式来打开所述至少一个内容文件:
检测对所述显示控件的选择;
在内容显示区中初始化与所述至少一个内容文件相关联的所述应用;以及
将所述至少一个内容文件加载到初始化的所述应用中。
14.根据权利要求13所述的本地计算设备,其特征在于,所述丰富笔记数据对象还被配置为在主显示区中显示所述文本和所述一个或多个用户可访问控件,并且其中,内容显示区与所述主显示区相邻。
15.根据权利要求11所述的本地计算设备,其特征在于,所述一个或多个用户可访问控件包括隐私控件,并且其中,所述丰富笔记数据对象还被配置为:
响应于对所述显示控件或所述隐私控件的选择,确定是否有与所述丰富笔记数据对象相关联的访问控制机制;
在打开所述至少一个内容文件之前,至少部分地基于确定所述隐私控件被激活来执行认证检查。
16.根据权利要求15所述的本地计算设备,其特征在于,所述丰富笔记数据对象还被配置为:如果所述认证检查失败,则拒绝对所述至少一个内容文件的访问。
17.根据权利要求11所述的本地计算设备,其特征在于,所述一个或多个用户可访问控件包括警告控件,并且其中,所述丰富笔记数据对象还被配置为:
通过所述警告控件从所述丰富笔记数据对象的创建者接收对警告时间和日期的选择以及警告通知;以及
在所述警告时间和日期,在存储所述丰富笔记数据对象的任何计算设备上发送所述警告通知。
18.根据权利要求11所述的本地计算设备,其特征在于,所述服务器包括所述本地计算设备或所述多个计算设备中的计算设备。
19.根据权利要求11所述的本地计算设备,其特征在于,所述多个计算设备中的每个计算设备被配置为在所述所选位置处将所述丰富笔记数据对象插入到所述协作工作空间的本地表示中。
20.根据权利要求11所述的本地计算设备,其特征在于,所述丰富笔记数据对象被配置为在由所述丰富笔记数据对象限定的丰富笔记用户界面元素中显示所述文本和所述一个或多个用户可访问控件。
21.至少一种非暂时性计算机可读介质,其特征在于,存储计算机可读指令,所述计算机可读指令在由本地计算设备执行时使所述本地计算设备执行以下操作:
在所述本地计算设备的用户界面上,传递协作工作空间的表示,所述协作工作空间托管于服务器上,并且可通过网络套接字连接被多个计算设备上的多个参与者访问;
生成丰富笔记数据对象,所述丰富笔记数据对象包括文本、一个或多个用户可访问控件以及至少一个内容文件,其中,所述丰富笔记数据对象被配置为显示所述文本和所述一个或多个用户可访问控件,并且还被配置为响应于对所述一个或多个用户可访问控件中的显示控件的选择来打开所述至少一个内容文件;
检测将所述丰富笔记数据对象与所述协作工作空间的所述表示中的所选位置相关联的用户输入;以及
通过所述网络套接字连接向所述服务器传递所述丰富笔记数据对象、所述所选位置、以及一个或多个命令,所述一个或多个命令被配置为使所述服务器将所述丰富笔记数据对象和所述所选位置传播给所述多个计算设备。
22.根据权利要求21所述的至少一种非暂时性计算机可读介质,其特征在于,所述丰富笔记数据对象还被配置为检测与所述至少一个内容文件关联的应用。
23.根据权利要求22所述的至少一种非暂时性计算机可读介质,其特征在于,所述丰富笔记数据对象被配置为,响应于对所述一个或多个用户可访问控件中的所述显示控件的选择,通过以下方式来打开所述至少一个内容文件:
检测对所述显示控件的选择;
在内容显示区中初始化与所述至少一个内容文件相关联的所述应用;以及
将所述至少一个内容文件加载到初始化的所述应用中。
24.根据权利要求23所述的至少一种非暂时性计算机可读介质,其特征在于,所述丰富笔记数据对象还被配置为在主显示区中显示所述文本和所述一个或多个用户可访问控件,并且其中,内容显示区与所述主显示区相邻。
25.根据权利要求21所述的至少一种非暂时性计算机可读介质,其特征在于,所述一个或多个用户可访问控件包括隐私控件,并且其中,所述丰富笔记数据对象还被配置为:
响应于对所述显示控件或所述隐私控件的选择,确定是否有与所述丰富笔记数据对象相关联的访问控制机制;
在打开所述至少一个内容文件之前,至少部分地基于确定所述隐私控件被激活来执行认证检查。
26.根据权利要求25所述的至少一种非暂时性计算机可读介质,其特征在于,所述丰富笔记数据对象还被配置为:如果所述认证检查失败,则拒绝对所述至少一个内容文件的访问。
27.根据权利要求21所述的至少一种非暂时性计算机可读介质,其特征在于,所述一个或多个用户可访问控件包括警告控件,并且其中,所述丰富笔记数据对象还被配置为:
通过所述警告控件从所述丰富笔记数据对象的创建者接收对警告时间和日期的选择以及警告通知;以及
在所述警告时间和日期,在存储所述丰富笔记数据对象的任何计算设备上发送所述警告通知。
28.根据权利要求21所述的至少一种非暂时性计算机可读介质,其特征在于,所述服务器包括所述本地计算设备或所述多个计算设备中的计算设备。
29.根据权利要求21所述的至少一种非暂时性计算机可读介质,其特征在于,所述多个计算设备中的每个计算设备被配置为在所述所选位置处将所述丰富笔记数据对象插入到所述协作工作空间的本地表示中。
30.根据权利要求21所述的至少一种非暂时性计算机可读介质,其特征在于,所述丰富笔记数据对象被配置为在由所述丰富笔记数据对象限定的丰富笔记用户界面元素中显示所述文本和所述一个或多个用户可访问控件。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US16/054,328 | 2018-08-03 | ||
US16/054,328 US20190065012A1 (en) | 2017-08-24 | 2018-08-03 | Method, apparatus, and computer-readable medium for propagating enriched note data objects over a web socket connection in a networked collaboration workspace |
PCT/EP2019/070822 WO2020025769A1 (en) | 2018-08-03 | 2019-08-01 | Method, apparatus, and computer-readable medium for propagating enriched note data objects over a web socket connection in a networked collaboration workspace |
Publications (1)
Publication Number | Publication Date |
---|---|
CN112805685A true CN112805685A (zh) | 2021-05-14 |
Family
ID=67660515
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201980065514.6A Pending CN112805685A (zh) | 2018-08-03 | 2019-08-01 | 用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的方法、装置和计算机可读介质 |
Country Status (6)
Country | Link |
---|---|
EP (1) | EP3837606A1 (zh) |
JP (1) | JP2021533456A (zh) |
KR (1) | KR20210038660A (zh) |
CN (1) | CN112805685A (zh) |
BR (1) | BR112021001995A2 (zh) |
WO (1) | WO2020025769A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111625094B (zh) * | 2020-05-25 | 2023-07-14 | 阿波罗智联(北京)科技有限公司 | 智能后视镜的交互方法、装置、电子设备和存储介质 |
JP2024121075A (ja) | 2023-02-27 | 2024-09-06 | カシオ計算機株式会社 | 情報処理装置、情報処理方法およびプログラム |
Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059235A1 (en) * | 2004-09-15 | 2006-03-16 | International Business Machines Corporation | System and method for multi-threaded discussion within a single instant messenger pane |
CN101286924A (zh) * | 2007-05-31 | 2008-10-15 | 北大方正集团有限公司 | 互联网批注共享、管理和下载的方法 |
CN103731458A (zh) * | 2012-10-15 | 2014-04-16 | 金蝶软件(中国)有限公司 | 终端间分享文件的方法及系统 |
US20140172799A1 (en) * | 2012-12-19 | 2014-06-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
US20140208220A1 (en) * | 2012-03-01 | 2014-07-24 | Aditya Watal | System and Method for Contextual and Collaborative Knowledge Generation and Management Through an Integrated Online-Offline Workspace |
CN104067303A (zh) * | 2012-01-19 | 2014-09-24 | 微软公司 | 对会议文档和注释的笔记本驱动的收集 |
CN107045460A (zh) * | 2016-02-05 | 2017-08-15 | 溥美公司 | 跨平台注释同步 |
CN107078942A (zh) * | 2015-06-24 | 2017-08-18 | 普莱巨人公司 | 受发送者控制的消息传送和内容共享的方法和系统 |
US20170364866A1 (en) * | 2016-06-17 | 2017-12-21 | Microsoft Technology Licensing, Llc | Shared collaboration objects |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2017019292A1 (en) * | 2015-07-24 | 2017-02-02 | Coscreen, Inc. | Frictionless interface for virtual collaboration, communication and cloud computing |
-
2019
- 2019-08-01 WO PCT/EP2019/070822 patent/WO2020025769A1/en unknown
- 2019-08-01 BR BR112021001995-2A patent/BR112021001995A2/pt not_active Application Discontinuation
- 2019-08-01 CN CN201980065514.6A patent/CN112805685A/zh active Pending
- 2019-08-01 JP JP2021505268A patent/JP2021533456A/ja active Pending
- 2019-08-01 EP EP19752906.8A patent/EP3837606A1/en not_active Withdrawn
- 2019-08-01 KR KR1020217006164A patent/KR20210038660A/ko unknown
Patent Citations (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060059235A1 (en) * | 2004-09-15 | 2006-03-16 | International Business Machines Corporation | System and method for multi-threaded discussion within a single instant messenger pane |
CN101286924A (zh) * | 2007-05-31 | 2008-10-15 | 北大方正集团有限公司 | 互联网批注共享、管理和下载的方法 |
CN104067303A (zh) * | 2012-01-19 | 2014-09-24 | 微软公司 | 对会议文档和注释的笔记本驱动的收集 |
US20140208220A1 (en) * | 2012-03-01 | 2014-07-24 | Aditya Watal | System and Method for Contextual and Collaborative Knowledge Generation and Management Through an Integrated Online-Offline Workspace |
CN103731458A (zh) * | 2012-10-15 | 2014-04-16 | 金蝶软件(中国)有限公司 | 终端间分享文件的方法及系统 |
US20140172799A1 (en) * | 2012-12-19 | 2014-06-19 | Box, Inc. | Method and apparatus for synchronization of items with read-only permissions in a cloud-based environment |
CN107078942A (zh) * | 2015-06-24 | 2017-08-18 | 普莱巨人公司 | 受发送者控制的消息传送和内容共享的方法和系统 |
CN107045460A (zh) * | 2016-02-05 | 2017-08-15 | 溥美公司 | 跨平台注释同步 |
US20170364866A1 (en) * | 2016-06-17 | 2017-12-21 | Microsoft Technology Licensing, Llc | Shared collaboration objects |
Non-Patent Citations (1)
Title |
---|
徐长通;李志勇;: "以活动为中心的协作模型与平台研究", 微计算机信息, no. 02 * |
Also Published As
Publication number | Publication date |
---|---|
JP2021533456A (ja) | 2021-12-02 |
KR20210038660A (ko) | 2021-04-07 |
EP3837606A1 (en) | 2021-06-23 |
WO2020025769A1 (en) | 2020-02-06 |
BR112021001995A2 (pt) | 2021-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20190065012A1 (en) | Method, apparatus, and computer-readable medium for propagating enriched note data objects over a web socket connection in a networked collaboration workspace | |
US20220382505A1 (en) | Method, apparatus, and computer-readable medium for desktop sharing over a web socket connection in a networked collaboration workspace | |
US11483376B2 (en) | Method, apparatus, and computer-readable medium for transmission of files over a web socket connection in a networked collaboration workspace | |
JP5442727B2 (ja) | ユーザーインターフェイス表示上での教示動画の表示 | |
JP5829996B2 (ja) | ユーザインタフェースとの制限対話を設定するためのデバイス、方法及びグラフィカルユーザインタフェース | |
EP3155501B1 (en) | Accessibility detection of content properties through tactile interactions | |
US20120144306A1 (en) | Method and system for interacting or collaborating with exploration | |
US10990344B2 (en) | Information processing apparatus, information processing system, and information processing method | |
WO2020006669A1 (zh) | 一种图标切换方法、显示gui的方法及电子设备 | |
TW201617839A (zh) | 光解離管理器 | |
CN112805685A (zh) | 用于在网络协作工作空间中通过网络套接字连接传播丰富笔记数据对象的方法、装置和计算机可读介质 | |
BR112020003524A2 (pt) | método, aparelho e meio legível por computador para implementação de uma interface universal de hardware-software | |
CN112106044A (zh) | 用于在网络协作工作空间中通过网络套接字连接传输文件的方法,设备和计算机可读介质 | |
US11334220B2 (en) | Method, apparatus, and computer-readable medium for propagating cropped images over a web socket connection in a networked collaboration workspace | |
CN112204512A (zh) | 用于在网络化协作工作区中通过web套接字连接进行桌面共享的方法,装置和计算机可读介质 | |
KR20190115401A (ko) | 링크 뷰 방법, 링크 뷰 장치 및 링크 뷰 프로그램 | |
CN112424738A (zh) | 在网络协作工作空间中通过网络套接字连接来传播裁剪图像的方法,装置和计算机可读介质 |
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 |