CN113196275A - 经由计算机网络的基于网络的协作墨迹书写 - Google Patents

经由计算机网络的基于网络的协作墨迹书写 Download PDF

Info

Publication number
CN113196275A
CN113196275A CN201980082333.4A CN201980082333A CN113196275A CN 113196275 A CN113196275 A CN 113196275A CN 201980082333 A CN201980082333 A CN 201980082333A CN 113196275 A CN113196275 A CN 113196275A
Authority
CN
China
Prior art keywords
computer
ink
serialized
ink object
transmitting
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
Application number
CN201980082333.4A
Other languages
English (en)
Inventor
R·阿拉克里
C·L·马斯特森
M·A·拉科夫
R·阿塔纳索夫
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 CN113196275A publication Critical patent/CN113196275A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/171Editing, e.g. inserting or deleting by use of digital ink
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/75Indicating network or usage conditions on the user display
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/169Annotation, e.g. comment data or footnotes
    • 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
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1083In-session procedures
    • H04L65/1089In-session procedures by adding media; by removing media
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • H04L67/025Protocols based on web technology, e.g. hypertext transfer protocol [HTTP] for remote control or remote monitoring of applications
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • 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/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • G06F3/04883Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures for inputting data by handwriting, e.g. gesture or text

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • General Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Computational Linguistics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Health & Medical Sciences (AREA)
  • Strategic Management (AREA)
  • Artificial Intelligence (AREA)
  • Marketing (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • User Interface Of Digital Computer (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

用于经由计算机网络的基于网络的协作墨迹书写会话的技术被本公开描述。在一个实施例中,第一计算机能够在第一计算机处将所检测的指针输入序列化为表示一个或多个墨迹对象的数据,该墨迹对象个体地表示与所检测的指针输入相对应的图像或动画。第一计算机能够然后经由计算机网络向第二计算机传送表示序列化的墨迹对象的数据。在接收到所传送的数据后,第二计算机能够反序列化所接收的序列化的墨迹对象,在第一计算机处重建与所检测的指针输入相对应的图像或动画,并且向第二用户在第二网络浏览器上呈现所检测的指针输入的图像或动画,第二网络浏览器在第二计算机上显示相同的网页,从而在第一和第二用户之间启用基于网络的协作会话。

Description

经由计算机网络的基于网络的协作墨迹书写
背景技术
诸如台式计算机、智能手机、平板电脑和膝上型计算机的现代计算设备,通常可以包括触摸屏作为输入/输出组件。用户可以通过触笔、笔、鼠标、触摸板甚至用户的手指经由触摸屏与这种计算设备进行交互。例如,用户可以使用触笔或手指经由触摸屏通过菜单、绘制图片、写笔记、签署文档或执行其他合适的操作进行导航。
发明内容
提供本发明内容以简化形式介绍一些概念,这些概念将在下面的具体实施方式中进一步描述。本发明内容既不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于限制所要求保护的主题的范围。
在计算中,笔计算通常是指使用笔、触笔、用户的手指、鼠标或触摸板的用户界面,作为用于将数字墨迹(为了简洁在此称为“墨迹”)或其他合适类型的指针输入提供给计算机的指针输入设备墨迹。在某些计算设备中,采用这种用户界面的笔计算应用可以允许用户使用触笔、笔、手指、鼠标或触摸板来为显示在触摸屏或其他合适类型的输出设备上的书籍或文档手写评论、备注、编辑标记或其他注释。例如,用户可以使用笔计算应用手写注释,诸如“这很有趣”、“再读一遍”、“滑稽”或其他评论或备注,从而引用在触摸屏上显示的书籍或文档。手写注释还可以包括图形表示,诸如复选标记、笑脸、愤怒的脸等。笔计算应用还可以允许用户将他/她的手写注释作为静止图像、动画、视频或其他合适类型的媒体共享给其他用户。
将作为数字墨迹的注释共享可以成团队环境中用于协作的绝佳工具。然而,这种共享通常需要利用特定的笔计算应用(诸如由华盛顿州雷蒙德市的微软公司提供的Windows
Figure BDA0003112022550000021
),并且其在网络浏览器中不可用。例如,当用户在网络浏览器中阅读网页时,用户可以在平板电脑上提供作为墨迹的手写注释。为了共享手写注释,用户可以将墨迹保存为图像,然后将所保存的图像作为例如电子邮件中的附件共享给其他用户。这种共享技术可能是笨重的,并且不促进与团队中其他用户的实时协作。如此,当在网络上的团队环境中工作时,用户的协作体验可能会受到限制。
所公开技术的若干实施例可以通过实现被配置为通过用户促进基于网络的协作墨迹书写(inking)的应用(例如,作为网络浏览器的扩展和/或网络浏览器的集成部分)来解决上述困难中的至少一些困难。这种基于网络的协作可以跨不同类型的网络浏览器和/或计算平台。这种基于网络的协作也可以是实时的或处于不同的时间点。例如,用户可以在交互会话期间同时协作以在单个网页上墨迹书写。在另一个示例中,用户可以与其他用户共享来自先前协作会话的墨迹并且允许其他用户在以后的日期/时间继续墨迹书写和/或编辑所共享的墨迹。这种基于网络的协作还可以允许所共享的墨迹保持“湿润”,即,在预设或用户可选择的时间段内,该墨迹可以由共享用户的和/或被共享的(多个)用户编辑。
在某些实施例中,应用可以被配置为在接收后来自第一用户的用户输入以激活基于网络的协作墨迹书写后,向在第一计算机的触摸屏上的网络浏览器中显示的网页注入一个或多个渲染上下文(例如,作为个体的透明覆盖或墨迹渲染覆盖)。例如,在一种实施方式中,应用可以被配置为通过将可扩展标记语言(XML)或其他合适类型的标记语言的合适代码插入网页的文档对象模型(DOM),来将可缩放矢量图形(SVG)染上下文注入网页。在其他实施方式中,应用还可以将被配置为根据超文本标记语言(HTML)5标准、InkML覆盖、Ink序列化格式(ISF)覆盖或根据其他合适格式的覆盖,来注入画布渲染上下文。在进一步的实施方式中,多个渲染上下文可以被使用。例如,墨迹可以被锚定到网页上的内容项目,并且墨迹渲染覆盖可以被注入到所锚定的内容项目的位置和/或(多个)z深度。因此,同一网页上的其他网页内容(例如,工具提示、弹出菜单、模式对话等)可以被正确地渲染在所注入的墨迹渲染覆盖的上面/下面。
然后,应用可以被配置为检测用户经由触摸屏或计算机的其他合适的输入设备的作为墨迹书写的指针输入。响应于检测指针输入,应用可以被配置为序列化与所检测的指针输入相对应的墨迹对象。在数据操纵的上下文中,序列化是将数据结构或对象状态转换为可以被存储(例如,在文件或存储器缓冲器中)或被传送(例如,经由计算机网络)的格式、然后在以后重建(例如,在不同的计算机环境中)的过程。如此,通过对来自用户的所检测的指针输入序列化,应用可以生成可以被存储、传送和重建以在触摸屏上表示所检测的指针输入的墨迹数据。在一种示例实施方式中,所检测的指针输入可以根据SVG图像格式被转换为一个或多个<path>对象。在其他实施方式中,所检测的指针输入也可以被转换为一个或多个画布对象、InkML对象、ISF对象或其他合适类型的对象。
在某些实施例中,在接收到发起基于网络的协作会话的另一用户输入后,应用可以被配置为向远程服务器推送或以其他方式发送序列化的墨迹对象,连同会话ID、会话策略、访问凭证和/或其他合适的信息。根据所公开技术的实施例,远程服务器可以被配置为将从应用接收的序列化墨迹对象存储在与会话ID相对应的会话缓冲器,并实施任何会话策略以用于访问和/或更新所接收的序列化的墨迹对象,如下文更详细的描述。
在第二计算机上,在接收到来自第二用户的用户输入以加入由第一用户发起的协作会话后,第二计算机上的应用的另一副本可以被配置为向在第二计算机上的网络浏览器中的所显示的相同网页上注入渲染上下文,如上参考在第一计算机上注入渲染上下文所述。然后应用可以被配置为向远程服务器发送请求以及用户标识、凭证或其他合适的信息,以加入协作会话。在第二用户认证后,远程服务器可以被配置为经由计算机网络向第二计算机提供序列化的墨迹对象。在从远程服务器接收到序列化的墨迹对象后,第二计算机处的应用可以被配置为反序列化墨迹对象,并且在第二计算机处的网页上的所注入的渲染上下文中渲染反序列化的墨迹对象。例如,在一个示例实施方式中,<path>对象可以被顺序地反序列化以生成在第一计算机处从第一用户接收的指针输入的动画。在某些实施例中,通过包括诸如笔划类型、笔划宽度、笔划速度和/或其他合适的参数之类的数据,所生成的动画可以是第一计算机上所接收的指针输入的一般精确表示。在其他实施例中,通过用相同的颜色、笔划宽度或其他合适的参数来表示所有笔划,所生成的动画可以是第一计算机上所接收的指针输入的简化表示。
在某些实施例中,第二用户可以被允许通过提供附加的墨迹和/或修改现有墨迹来参与基于网络的协作会话。例如,第二用户可以在第二计算机上提供附加的指针输入以在第二计算机上编辑、擦除、添加或以其他方式修改来自第一用户的墨迹对象。作为响应,第二计算机处的应用可以被配置为将所接收的指针输入序列化为附加的和/或更新的墨迹对象,并且向远程服务器传送这种墨迹对象。然后远程服务器可以相应地添加和/或更新存储在远程服务器上的墨迹对象。在某些实施例中,不同用户的墨迹对象可以被其他用户个体地跟踪和重绘/编辑。在其他实施例中,不同用户的墨迹对象可以被合并为一组墨迹对象。在另一实施例中,远程服务器还可以利用合适的应用和/或计算服务来转换、减少和/或重新配置墨迹对象为不同的对象格式。在又一实施例中,远程服务器还可以利用合适的应用和/或计算服务来执行光学字符识别(OCR)、语言翻译和/或其他合适的操作。
在其他实施例中,基于从在远程服务器处的第一用户(或其他合适的实体,诸如会话管理员)所接收的会话策略,第二用户可以被允许执行一些前述动作。例如,会话策略可以将第二用户对墨迹对象的访问限制为仅查看。这样,远程服务器可以向第二用户提供待由在第二计算机处的应用渲染的序列化的墨迹对象。然而,经由第二计算机从第二用户所接收的任何附加的序列化的墨迹对象可能被忽略。在另一示例中,会话策略可以将第二用户对墨迹对象的访问限制为仅添加而不修改第一用户创建的任何墨迹对象。如此,远程服务器可以向会话缓冲器添加来自第二用户的附加的墨迹对象,但忽略表示对来自第一用户的原始墨迹对象的修改的任何墨迹对象。
所公开的技术的若干实施例因此能够实现跨各种类型的网络浏览器和/或计算平台的多个用户的基于网络的协作墨迹书写。这种基于网络的协作也可以是实时的或处于不同的时间点。例如,用户可以同时协作以在同一网页上墨迹书写,或者用户可以在以后的日期/时间继续墨迹书写和/或编辑来自先前会话的所共享的墨迹。这种基于网络的协作还可以允许所共享的墨迹保持“湿润”,即,在一段时间内可被共享用户和/或被共享的(多个)用户编辑。通过允许经由网络浏览器的基于网络的协作墨迹书写,用户的各种计算机处的计算负载可以通过不运行特定的应用来被减少,同时改善用户的协作体验。
尽管所公开的技术被描述在通过远程服务器促进的上下文中,但在附加的实施方式中,当第一计算机和第二计算机可以协作以促进基于网络的协作墨迹书写以点对点的方式时,远程服务器可以被省略。例如,第一计算机和第二计算机都可以个体地被配置为具有用于存储序列化的墨迹对象的相对应的会话缓冲器的服务器,并且在协作会话中向另一计算机提供来自会话缓冲器的序列化的墨迹对象。在另一示例中,第一计算机或第二计算机中的一个计算机可以被配置为服务器,而另一个计算机被配置为客户端。在又一实施方式中,前述协作墨迹书写技术可以通过一个或多个数据库服务器、认证服务器、网络网关和/或其他合适的计算设备来被促进。
附图说明
图1A-图1C是根据本技术的实施例在操作的某些阶段期间实现基于网络的协作墨迹书写的计算系统的示意图。
图2A和图2B是本技术的实施例在操作的某些阶段期间实现基于网络的协作墨迹书写的另一计算系统的示意图。
图3是说明图1A-图2B中的计算设备的示例软件组件的示意图。
图4A-图4C示出了根据所公开的技术的实施例的基于网络的协作墨迹书写的方法的流程图。
图5是示出图1A-图2B中的计算系统的示例硬件组件的示意图。
具体实施方式
用于实现基于网络的协作墨迹书写的计算系统、设备、组件、模块、例程和过程的某些实施例被描述在下面。在接下来的描述中,组件的特定细节被包括以提供对所公开技术的某些实施例的透彻理解。相关领域的技术人员还将理解,所公开的技术可以具有附加的实施例或者可以在没有以下参照图1A-图5描述的实施例的若干细节的情况下被实践。
如本文所用,术语“墨迹”或“数字墨迹”是指数字图像、动画或其他合适类型的数据,该数据表示通过用户利用触笔、笔、用户的手指、鼠标、触摸板或与笔计算相关的其他合适的指针输入设备而在计算设备的输入组件(例如,触摸屏)处所接收的一个或多个笔划。笔划或笔划的组合可以形成一个或多个具有对应形状、长度、重复图案、矢量或其他合适特性的“墨迹对象”。墨迹对象可以根据各种格式被编码。在一个示例中,墨迹对象可以包括根据SVG的<path>对象。在其他示例中,墨迹对象可以包括画布、InkML、ISF或其他合适类型的对象。
如本文所用,“序列化”通常是指将数据结构或对象状态转换为可以被存储(例如,在文件或存储器缓冲器中)或被传送(例如,经由计算机网络)的位格式的过程,然后实时、近实时或在以后的时间(例如,在相同或不同的计算机环境中)被重建。根据序列化格式,当产生的一系列位被重读取或“反序列化”时,该一系列位可被用于重创建原始对象在语义上一般相同的克隆,诸如原始笔划的图像或动画。如此,通过序列化所检测的指针输入,应用可以生成表示墨迹对象的数据,该数据可以在目的地计算机上被存储、传送和重建,以表示在源计算机处接收到的所检测的指针输入,从而实现基于网络的“协作墨迹书写”。
数字墨迹的共享可以成为团队环境中用于协作的绝佳工具。然而,这种共享通常需要利用特定的笔计算应用(由华盛顿州雷蒙德市的微软公司提供诸如Windows
Figure BDA0003112022550000071
),并且其在网络浏览器中不可用。例如,当用户在网络浏览器中阅读网页时,用户可以在平板电脑上提供作为墨迹的手写注释。为了共享手写注释,用户可以将墨迹保存为图像,然后将所保存的图像作为例如电子邮件中的附件共享给其他用户。这种共享技术可能是笨重的,并且不促进与团队中其他用户的实时协作。如此,当在网络上的团队环境中工作时,用户的协作体验可能会受到限制。
所公开技术的数个实施例可以通过实现被配置为通过用户促进基于网络的协作墨迹书写的应用(例如,作为网络浏览器的扩展和/或网络浏览器的集成部分)来解决上述困难中的至少一些困难。这种基于网络的协作可以跨不同类型的网络浏览器和/或计算平台。这种基于网络的协作也可以是实时的或在不同的时间点的。例如,用户可以在协作会话期间同时协作以在单个网页上墨迹书写。在另一示例中,用户可以与其他用户共享来自先前协作会话的墨迹,并且允许其他用户在以后的日期/时间继续墨迹书写和/或编辑所共享的墨迹。这种基于网络的协作还可以允许所共享的墨迹保持“湿润”,即,在一时间段内,该墨迹可以由所共享的和/或共享(多个)用户编辑,如以下参考图1A-图5更详细地描述的。
图1A-图1C是根据本技术的实施例在操作的某些阶段期间实现基于网络的协作墨迹书写的计算系统的示意图。如图1A所示,计算系统100可以包括互连客户端设备102(在图1A中显示为第一客户端设备102a和第二客户端设备102b)的计算机网络104和一个或多个互连到数据存储装置108的远程服务器(为简洁起见,在此称为远程服务器106)。计算机网络104可以包括企业内联网、社交网络、因特网或其他合适类型的网络。尽管所公开技术的实施例被描述在以下的企业内联网的上下文中,但是在其他实施例中,所公开的技术也可以在具有附加和/或不同组件的其他合适类型的计算系统中被实现。
客户端设备102可以个体地包括计算设备,该计算设备促进由用户101(被标识为第一用户101a和和第二用户101b)经由计算机网络104的协作墨迹书写。例如,在说明性实施例中,客户端设备102个体地包括台式计算机。在其他实施例中,客户端设备102还可以个体地包括膝上型电脑、平板电脑、智能手机或其他合适类型的计算设备。尽管出于说明目的两个用户101被在图1A中示出,但是在其他实施例中,计算系统100可以在经由计算机网络104的协作墨迹书写会话期间促进任何合适数量的成员101。
如图1A所示,客户端设备102可以个体执行合适的指令以提供网络浏览器120(或被配置为渲染网页的其他合适的应用)。在示出的实施例中,网络浏览器120可以包括用户界面,该用户界面具有包含网址(例如,“http://www.jokes.com”)的地址栏122,以及包含与地址栏122中的网址相对应的网页123的内容的主体部分121。例如,网页123可以包括语句“我的狗过去常常追在自行车上的人。事情变得如此糟糕,最后我不得不把他的自行车拿走”作为网页123中的文本。在其他示例中,主体部分121还可以包含图像、视频和/或其他合适类型的内容。
网络浏览器120可以被配置为通过例如包括、安装或以其他方式访问用于促进协作墨迹书写的墨迹应用130(图3中所示)来促进协作墨迹书写。墨迹应用130可以是网络浏览器120的扩展、被集成到网络浏览器120中、独立应用或其他合适类型的应用程序。墨迹应用130可以被配置为提供用于激活协作墨迹书写的用户界面元素。例如,如图1A所示,网络浏览器120可以包括“墨迹书写”按钮124。在由第一用户101a启动后,网络浏览器120可以将渲染上下文128(为清楚起见用虚线示出)插入在网页123的顶部上。渲染上下文128可以包括覆盖,该覆盖被配置为在网页123上渲染和呈现从用户101接收到的指针输入。在一种实施方式中,插入渲染上下文128可以将表示透明覆盖的SVG部分插入网页123的DOM中。用于这种SVG部分的示例代码如下:
Figure BDA0003112022550000091
在其他实施方式中,画布、InkML、ISF或其他合适类型的图像格式的代码可以被插入,以补充或代替SVG部分。在其他示例中,协作墨迹书写可以经由(多个)菜单项或其他合适的用户界面元素被激活,或者可以在网页123被加载到网络浏览器120中时被自动激活。
第一用户101a然后可以经由例如第一客户端设备102a的触摸屏向网页123提供指针输入。作为响应,客户端设备102可以被配置为检测这种指针输入,将所检测的指针输入转换为一个或多个墨迹对象110(如图1B所示),并且在所插入的渲染上下文128上渲染墨迹对象110。例如,如图1B所示,第一用户101a可以引用网页123中的文本在网页123上手写评论127,即“这很有趣”。作为响应,墨迹应用130可以将第一用户101a的手写稿转换为一个或多个<path>对象,并且将<path>对象插入第一客户端设备102a上的网页123的DOM中的SVG部分中。示例<path>对象如下所示:
<path d=″M 100 350 q 150 -300 300 0″Stroke=″blue″stroke-width=″5″fill=″none″/>
所插入的<path>对象然后可以在渲染上下文128上被渲染,以覆盖在网页123上,就好像评论127在网页123上一样。在其他示例中,来自第一用户101a的指针输入可以与动画、笔划或其他合适类型的对象一起被捕获。
第一用户101a还可以决定与第二用户101b或附加用户101(未示出)共享他/她的评论127。在示出的实施例中,墨迹应用130可以被配置为在网页123上提供另一用户界面元素(例如,“广播”按钮125)。在由第一用户101a启动后,墨迹应用130可以序列化一个或多个墨迹对象110(显示为墨迹对象1101,1102...,110n),并向远程服务器106传送序列化的墨迹对象110。
在某些实施例中,远程服务器106可以被配置为将默认会话策略应用于第一用户101a和和第二用户101b之间的协作会话。在其他实施例中,第一用户101a还可以配置和传送可选的一组会话策略111到远程服务器106。会话策略111可以包括指定对墨迹对象110的访问级别的数据。例如,会话策略111可以指定第二用户101b只能读取、只能读取和添加,或者只能读取、添加、修改所共享的墨迹对象110。
响应于从第一用户101a接收到墨迹对象110和可选的会话策略111,远程服务器106可以被配置为将墨迹对象110以及相对应的会话标识存储在数据存储装置中。远程服务器106还可以被配置为促进用于由第二用户101b访问协作墨迹书写会话的认证,并且根据来自第一用户101a的默认会话策略或可选的会话策略111,在成功认证后向第二客户端设备102a提供所接收的墨迹对象110。
如图1B所示,为了参与协作墨迹书写会话,第二用户101b也可以启动“墨迹书写”按钮124。作为响应,渲染上下文128可以被插入到第二客户端设备102b上的网络浏览器120中的网页123上。在从远程服务器106接收到墨迹对象110后,第二客户端设备102b处的墨迹扩展可以反序列化墨迹对象110,并且在第二客户端设备102b处将反序列化的墨迹对象110渲染为所插入的渲染上下文128中的一个或多个图像或动画。由第一客户端设备102a和第二客户端设备102b进行的前述检测、序列化、反序列化和呈现可以是周期性的(例如,每20毫秒一次)、根据事件(例如,在检测到新的指针输入后)的、或根据其他合适的基础的。如此,在某些实施例中,当第一用户101a正在第一客户端设备102a上写他/她的评论时,来自第一用户101a的评论127'可以实时或接近实时地被呈现给第二用户101b。在其他实施例中,墨迹对象110也可以保持“湿润”,以允许第一用户101a和/或第二用户101b在以后的日期/时间查看、添加或修改。
图1C示出了会话策略111允许第二用户101b添加和修改来自第一用户101a的评论127'的实施例。如图1C所示,第二用户101b可以在第二客户端设备102b处的网页123上手写附加的评论129。作为响应,第二客户端设备102b处的墨迹应用130可以被配置为检测该指针输入并且将指针输入转换/序列化为一个或多个附加的墨迹对象110'(显示为墨迹对象110’1,110’2,...,110’n),以及向远程服务器106传送序列化的墨迹对象110'。远程服务器106然后可以经由计算机网络104向第一客户端设备102a提供附加的墨迹对象110'。在接收到附加的墨迹对象110'后,第一客户端设备101a处的墨迹应用130可以被配置为反序列化附加的墨迹对象110',并且在渲染上下文128上将所反序列化的附加的墨迹对象110'渲染为一个或多个图像或动画。如此,当第二用户101b正在写评论129时,来自第二用户101b的附加的评论129可以被呈现给第一用户101a。
还如图1C所示,第二用户101也可以由第一用户101a在第二客户端设备101b上修改评论127。例如,第二用户101b可以将感叹号“!”添加到第一用户101a的评论127的末尾。作为响应,第二客户端设备102b处的墨迹应用130可以修改例如与评论127相对应的一个或多个墨迹对象110,并向远程服务器106传送所修改的墨迹对象110。远程服务器106然后可以根据会话策略111(图1B)确定这种修改是否被允许。在确定针对第二用户101b的这种修改被允许后,远程服务器106可以基于从第二用户101b接收的修改的墨迹对象110来修改(例如,重写)从第一用户101a原始接收到的所存储的墨迹对象110的副本。修改的墨迹对象110然后可以被提供给第一设备102a并且被呈现,如上所述。如此,对评论127的修改能够以协作的方式呈现给第一用户101a。在确定这种修改不被允许后,远程服务器106可以被配置为拒绝和/或忽略从第二用户101b所接收的墨迹对象110'以实现访问控制。
尽管图1A-图1C示出了被配置为促进使用远程服务器106的协作墨迹书写的计算系统100,在某些实施例中,计算系统100还可以在没有远程服务器106的情况下促进该协作墨迹书写。例如,如图2A所示,第一客户端设备102a和第二客户端设备102b可以以点对点方式促进协作墨迹书写。例如,第一客户端设备102a和第二客户端设备102b可以个体地被配置为服务器,以用于管理和提供墨迹对象110给其他所共享的客户端设备100。在图2A所示的实施例中,第一客户端设备102a可以被可操作地耦合到或包括用于存储来自第一用户101a的墨迹对象110的数据存储装置108。第一客户端设备101a然后可以被配置为基于例如会话策略111(图1B),将所存储的墨迹对象110提供给第二客户端设备101b。如图2B所示,第二客户端设备102a还可以被可操作地耦合到或包括用于存储来自第二用户101b的墨迹对象110的数据存储装置108'。然后,第二客户端设备101b可以被配置为基于例如会话策略111,将所存储的墨迹对象110'提供给第一客户端设备101b。
图3是说明图1A-图2B中的计算设备的示例软件组件的示意图。在图3中,其中的组件和功能被示出在第一客户端设备102a与第二客户端设备102b共享墨迹的上下文中。如此,第一客户端设备102a处的墨迹应用130可以包括与第二客户端设备102b处的组件不同的组件。然而,在一些实施例中,这种共享可以是双向的。如此,在第一客户端设备102a和第二客户端设备102b的两者处的墨迹应用130可以包括下面描述的所有组件。
在图3和本文的其他图中,个体的软件组件、对象、类、模块和例程可以是用C、C++、C#、Java和/或其他合适的编程语言编写为源代码的计算机程序、步骤或过程。组件可包括但不限于一个或多个模块、对象、类、例程、属性、过程、线程、可执行文件、库或其他组件。组件可以是源代码或二进制形式。组件可能包括编译前的源代码方面(例如,类、属性、步骤、例程)、已编译的二进制单元(例如,库、可执行文件)或在运行时实例化和使用的人工制品(例如,对象、过程、线程)。
系统内的组件在系统内可以采用不同的形式。作为一个示例,包括第一组件、第二组件和第三组件的系统可以但不限于包含具有作为源代码中的特性的第一组件、作为二进制编译库的第二组件,以及作为在运行时被创建的线程的第三组件的系统。计算机程序、步骤或过程可被编译成对象、中间或机器代码并且被呈现以供个人计算机、网络服务器、膝上型计算机、智能手机和/或其他合适的计算设备的一个或多个处理器执行。同样,组件可以包括硬件电路系统。本领域普通技术人员认识到,硬件可以被认为是僵化的软件,而软件可以被认为是液化的硬件。仅举一个例子,组件中的软件指令可以被烧录到可编程逻辑阵列电路中,或者可以被设计为具有适当集成电路的硬件电路。同样,硬件可以被软件模拟。源、中间和/或对象代码和相关数据的各种实施方式可以被存储在计算机存储器中,该计算机存储器包括只读存储器、随机存取存储器、磁盘存储介质、光存储介质、闪存设备和/或排除传播信号的其他合适的计算机可读存储介质。
如图3所示,墨迹应用130可以包括墨迹检测器132、序列化器134和墨迹输出136,它们在第一客户端设备102a处彼此可操作地耦合。墨迹检测器132可以被配置为检测来自第一用户101a的一个或多个指针输入131并将所检测的指针输入131转换成电的或其他合适类型的信号。墨迹检测器132可以包括触摸屏驱动器和/或其他合适的硬件/软件组件。
墨迹检测器132然后可以将所检测的指针输入131提供给序列化器134用于进一步处理。序列化器134可以被配置为将与所检测的指针输入131相对应的电信号转换成可以被例如第二客户端设备102b重建的一个或多个墨迹对象110。上文参考图1A-图1C描述了这种转换的示例技术。墨迹输出136然后可以被配置为经由计算机网络104(图1A)将墨迹对象110传送到远程服务器106。由墨迹应用程序130的各个组件进行的前述检测、序列化和传送可以是周期性的(例如,每20毫秒一次)、根据事件(例如,根据所检测新的指针输入131)的或根据其他合适的基础的。
如上所述,远程服务器106可以被配置为从第一客户端设备102a接收墨迹对象110,存储所接收的墨迹对象110,并且根据请求将墨迹对象110提供给第二客户端设备102b。如图3所示,在第二客户端设备102b处的墨迹应用130'可以包括彼此可操作地耦合的反序列化器141和渲染组件143。反序列化器141可被配置为基于所接收的墨迹对象110反序列化或重建一个或多个图像或动画。例如,反序列化器141可以被配置为组合多个墨迹对象110(例如,多个<path>对象)以形成单个图像或动画。渲染组件143可以被配置为渲染并呈现从所接收的墨迹对象重建的图像和/或动画。
图4A-图4B示出了根据所公开技术的实施例的基于网络的协作墨迹书写的方法的流程图。尽管这些方法的实施例在下面的图1A-图2B的计算系统100的上下文中被描述,但在其他实施例中,这些方法也可以在具有附加和/或不同组件的计算系统中被实现。
如图4A所示,协作墨迹书写的过程200可以包括在阶段202处在第一计算机处生成序列化的墨迹对象。墨迹对象可以根据SVG、画布、InkML、ISF或其他合适的图像和/或动画格式来被生成。下面参考图4B描述生成序列化的墨迹对象的示例操作。过程200然后可以包括在阶段204处向第二计算机传送墨迹对象。在某些实施方式中,如图1A-图1C所示,传送墨迹对象可以被远程服务器106促进。在其他实施方式中,如图2A和2B所示,可以以点对点方式传送墨迹对象。然后,过程200可以包括在阶段206处反序列化墨迹对象,将所反序列化的墨迹对象渲染为一个或多个图像和/或动画。下面参考图4C描述反序列化墨迹对象的示例操作。
如图4B所示,用于生成序列化的墨迹对象的示例操作可以包括在阶段212处经由例如触摸屏或其他合适的输入设备检测指针输入。该操作然后可以包括用于确定是否接收到指针输入的决定阶段。响应于确定接收到指针输入,操作推进到阶段216处将所检测的指针输入序列化为一个或多个墨迹对象。参考图1A-图1C,用于序列化指针输入的示例实现在上文中被更详细地描述。响应于确定没有接收到指针输入,操作返回到在阶段212处检测指针输入。
如图4C所示,用于反序列化墨迹对象的示例操作可以包括在阶段222处接收序列化的墨迹对象。操作然后可以推进到阶段224处反序列化墨迹对象。在某些实施例中,该反序列化可以在接收到墨迹对象时被执行。在其他实施例中,反序列化可以在等待时间段内被执行。例如,反序列化可以对在前40毫秒或其他合适时间段内接收到的墨迹对象执行。操作然后可以包括在阶段226处基于反序列化的墨迹对象,渲染一个或多个图像和/或动画。
图5是示出适合于图1A-图2B中的计算系统100的组件的计算设备的示例硬件组件的示意图。例如,计算设备可能适用于客户端设备102和远程服务器106。在非常基本的配置202中,计算设备102可以包括一个或多个处理器204和系统存储器206。存储器总线208可以被用于处理器204和系统存储器206之间的通信。
取决于期望的配置,处理器204可以是任何类型,包括但不限于微处理器(μP)、微控制器(μC)、数字信号处理器(DSP)或其任意组合。处理器204可以包括更多级缓存,诸如一级缓存210和二级缓存212、处理器核214和寄存器216。示例处理器核214可以包括算术逻辑单元(ALU)、浮点单元(FPU)、数字信号处理核(DSP核)或其任何组合。示例存储器控制器218也可以与处理器204一起被使用,或者在一些实施方式中,存储器控制器218可以是处理器204的内部部分。
取决于期望的配置,系统存储器206可以是任何类型,包括但不限于易失性存储器(诸如RAM)、非易失性存储器(诸如ROM、闪存等)或其任何组合。系统存储器206可以包括操作系统220、一个或多个应用程序222以及程序数据224。该描述的基本配置202在图2中由内部虚线内的那些组件示出。
计算设备102可以具有附加的特征或功能以及附加的接口以促进基本配置202与任何其他设备和接口之间的通信。例如,总线/接口控制器230可被用于促进基本配置202和一个或多个数据存储设备232之间经由存储设备接口总线234的通信。数据存储设备232可以是可移动存储设备236、不可移动存储设备238或其组合。可移动存储和不可移动存储设备的示例包括磁盘设备(诸如软盘驱动器和硬盘驱动器(HDD))、光盘驱动器(诸如光盘(CD)驱动器或数字通用磁盘(DVD)驱动器)、固态硬盘驱动器(SSD)和磁带驱动器等等。示例计算机存储介质可以包括用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的以任何方法或技术实现的易失性和非易失性、可移动和不可移动的介质。
系统存储器206、可移动存储设备236和不可移动存储设备238是计算机可读存储介质的示例。计算机可读存储介质包括存储硬件或(多个)设备,其示例包括但不限于RAM、ROM、EEPROM、闪存或其他存储技术、CD-ROM、数字通用磁盘(DVD)或其他光学存储装置、盒式磁带、磁带、磁盘存储装置或其他磁存储设备、或可用于存储所需信息并且可由计算设备102访问的任何其他介质。任何这样的计算机可读存储介质可以是计算设备102的一部分。术语“计算机可读存储介质”不包括传播信号和通信介质。
计算设备102还可以包括接口总线240,用于促进从各种接口设备(例如,输出设备242、外围接口244和通信设备246)经由总线/接口控制器230到基本配置202的通信。示例输出设备242包括图形处理单元248和音频处理单元220,其可以被配置为经由一个或多个A/V端口222与各种外部设备通信,诸如显示器或扬声器。示例外围接口244包括串行接口控制器224或并行接口控制器226,其可以被配置为经由一个或多个I/O端口228与诸如输入设备(例如,键盘、鼠标、笔、语音输入设备、触摸输入设备等)之类的外部设备或其他外围设备(例如,打印机、扫描仪等)通信。示例通信设备246包括网络控制器260,其可以被布置为促进经由一个或多个通信端口264在网络通信链路上与一个或多个其他计算设备262通信。
网络通信链路可以是通信介质的一个示例。通信介质通常可以由计算机可读指令、数据结构、程序模块或调制数据信号(诸如载波或其他传输机制)中的其他数据来体现,,并且可以包括任何信息传递介质。“调制数据信号”可以是这样一种信号,其一个或多个特性以在信号中编码信息的方式被设置或改变。作为示例而非限制,通信介质可以包括诸如有线网络或直接有线连接的有线介质,以及诸如声学、射频(RF)、微波、红外(IR)和其他无线介质的无线介质。这里使用的术语计算机可读介质可以包括存储介质和通信介质。
计算设备102可以被实现为小型便携式(或移动)电子设备(诸如手机、个人数字助理(PDA)、个人媒体播放器设备、无线网络观看设备、个人耳机设备、特定应用设备或包含上述任何功能的混合设备)的一部分。计算设备102也可以被实现为包括膝上型计算机和非膝上型计算机配置的个人计算机。
从上文可以理解,为了说明的目的已经在本文中描述了本公开的特定实施例,但是在不背离本公开的情况下可以进行各种修改。此外,一个实施例的许多元素可以与其他实施例组合,以补充或代替其他实施例的元素。因此,本技术不受所附权利要求的限制。

Claims (10)

1.一种用于在通过计算机网络互连的第一计算机和第二计算机之间的基于网络的协作墨迹书写的方法,所述方法包括:
在所述第一计算机处接收到用户输入以在呈现网页的网络浏览器中激活协作墨迹书写后,
检测来自利用触笔、笔或手指的所述用户的对所述第一计算机处的所述网络浏览器中的所述网页的指针输入;以及
响应于检测到对所述第一计算机的所述指针输入,
将在所述网页处所检测的所述指针输入序列化为表示一个或多个墨迹对象的数据,所述一个或多个墨迹对象个体地表示与所检测的所述指针输入相对应的图像的至少一部分;以及
向所述第二计算机传送表示序列化的所述墨迹对象的所述数据,其中所述第二计算机被配置为反序列化所述墨迹对象,以在所述第二计算机上重建和呈现与在所述第一计算机上的所检测的所述指针输入相对应的所述图像。
2.根据权利要求1所述的方法,其中所述第二计算机被配置为在所述第一计算机上呈现与所检测的所述指针输入相对应的所述图像作为多个图像的动画。
3.根据权利要求1所述的方法,还包括:
在所述第一计算机处接收到所述用户输入以在网络浏览器中激活协作墨迹书写后,
在所述第一计算机处将渲染上下文插入到所述网络浏览器中的呈现的所述网页上;以及
响应于检测到对所述第一计算机的所述指针输入,经由所述网页上的所插入的所述渲染上下文,渲染个体地表示与所检测的所述指针输入相对应的所述图像的至少一部分的所述一个或多个墨迹对象。
4.根据权利要求1所述的方法,其中:
所述第二计算机包括另一渲染上下文,所述另一渲染上下文被插入到另一网络浏览器中的相同网页的副本上;以及
所述第二计算机被配置为经由所述另一渲染上下文在所述第一计算机上呈现与所检测的所述指针输入相对应的所述图像。
5.根据权利要求1所述的方法,其中传送表示序列化的所述墨迹对象的所述数据包括:
经由所述计算机网络从所述第一计算机向远程服务器传送序列化的所述墨迹对象;以及
其中所述远程服务器被配置为:
基于协作会话标识,将所接收的序列化的所述墨迹对象存储在存储设备中;以及
在请求后,经由所述计算机网络向所述第二计算机传送所存储的序列化的所述墨迹对象。
6.根据权利要求1所述的方法,其中:
传送表示序列化的所述墨迹对象的所述数据包括:经由所述计算机网络从所述第一计算机向远程服务器传送序列化的所述墨迹对象;以及
所述方法还包括:向所述远程服务器传送表示与所述协作会话相对应的会话策略的数据;以及
其中所述远程服务器被配置为:
基于协作会话标识,将所接收的序列化的所述墨迹对象存储在存储设备中;以及
在请求后,根据所接收的所述会话策略,经由所述计算机网络向所述第二计算机传送所存储的序列化的所述墨迹对象。
7.根据权利要求1所述的方法,其中:
传送表示序列化的所述墨迹对象的所述数据包括:经由所述计算机网络从所述第一计算机向远程服务器传送序列化的所述墨迹对象;以及
所述方法还包括:向所述远程服务器传送表示与所述协作会话相对应的会话策略的数据,所述会话策略指示所述第二计算机无法添加或修改来自所述第一计算机的序列化的所述墨迹对象;以及
其中所述远程服务器被配置为:
基于协作会话标识,将所接收的序列化的所述墨迹对象存储在存储设备中;以及
在请求后,经由所述计算机网络向所述第二计算机传送所存储的序列化的所述墨迹对象,同时防止所述第二计算机添加或修改在所述远程服务器处的所述存储设备中的所存储的所述墨迹对象。
8.根据权利要求1所述的方法,其中:
传送表示序列化的所述墨迹对象的所述数据包括:经由所述计算机网络从所述第一计算机向远程服务器传送序列化的所述墨迹对象;以及
所述方法还包括:向所述远程服务器传送表示与所述协作会话相对应的会话策略的数据;以及
所述方法还包括:向所述远程服务器传送表示与所述协作会话相对应的会话策略的数据,所述会话策略指示所述第二计算机能够添加或修改来自所述第一计算机的序列化所述墨迹对象;以及
其中所述远程服务器被配置为:
基于协作会话标识,将从所述第一计算机接收的序列化的所述墨迹对象存储在存储设备中;
接收来自所述第二计算机的附加的墨迹对象;以及
基于所述协作会话标识,将从所述第二计算机接收的附加的所述墨迹对象存储在存储设备中。
9.根据权利要求1所述的方法,还包括:
在所述第一计算机处接收来自所述第二计算机的附加的墨迹对象;以及
响应于在第一计算机处接收到附加的所述墨迹对象
反序列化来自所述第二计算机的附加的所述墨迹对象;以及
渲染并且呈现反序列化的附加的所述墨迹对象作为在所述第一计算机处的所述网页上的一个或多个图像。
10.根据权利要求1所述的方法,其中向所述第二计算机传送表示序列化的所述墨迹对象的所述数据包括:表示从所述第一计算机经由所述计算机网络通过点对点连接到所述第二计算机的序列化的所述墨迹对象的所述数据。
CN201980082333.4A 2018-12-28 2019-12-20 经由计算机网络的基于网络的协作墨迹书写 Pending CN113196275A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/234,785 US10911573B2 (en) 2018-12-28 2018-12-28 Web-based collaborative inking via computer networks
US16/234,785 2018-12-28
PCT/US2019/067709 WO2020139728A1 (en) 2018-12-28 2019-12-20 Web-based collaborative inking via computer networks

Publications (1)

Publication Number Publication Date
CN113196275A true CN113196275A (zh) 2021-07-30

Family

ID=69182733

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201980082333.4A Pending CN113196275A (zh) 2018-12-28 2019-12-20 经由计算机网络的基于网络的协作墨迹书写

Country Status (4)

Country Link
US (1) US10911573B2 (zh)
EP (1) EP3903219A1 (zh)
CN (1) CN113196275A (zh)
WO (1) WO2020139728A1 (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11595739B2 (en) 2019-11-29 2023-02-28 Gree, Inc. Video distribution system, information processing method, and computer program
US11422836B1 (en) * 2021-05-07 2022-08-23 Avaya Management L.P. User guidance from gaze information during a communication session while viewing a webpage
US20240187463A1 (en) * 2022-12-01 2024-06-06 Microsoft Technology Licensing, Llc Managing inking events from remote inking devices during online meetings

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6342906B1 (en) * 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US20040237033A1 (en) * 2003-05-19 2004-11-25 Woolf Susan D. Shared electronic ink annotation method and system
WO2007062187A2 (en) * 2005-11-23 2007-05-31 Quiteso Technologies, Llc Systems and methods for enabling tablet pc/pen to paper space
US8930462B1 (en) * 2011-07-05 2015-01-06 Symantec Corporation Techniques for enforcing data sharing policies on a collaboration platform
US20160352803A1 (en) * 2015-05-28 2016-12-01 Fireglass Ltd. Reconstruction of web pages based on dom serialization
CN108885615A (zh) * 2016-03-29 2018-11-23 微软技术许可有限责任公司 针对浏览器导航的墨水输入

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8751689B2 (en) 2011-06-28 2014-06-10 Adobe Systems Incorporated Serialization and distribution of serialized content using socket-based communication
EP3072039B1 (en) 2013-11-19 2019-08-14 Wacom Co., Ltd. Method and system for ink data generation, ink data rendering, ink data manipulation and ink data communication
US20180052809A1 (en) 2016-08-16 2018-02-22 Microsoft Technology Licensing, Llc Inferring user interaction with an iframe

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6342906B1 (en) * 1999-02-02 2002-01-29 International Business Machines Corporation Annotation layer for synchronous collaboration
US20040237033A1 (en) * 2003-05-19 2004-11-25 Woolf Susan D. Shared electronic ink annotation method and system
WO2007062187A2 (en) * 2005-11-23 2007-05-31 Quiteso Technologies, Llc Systems and methods for enabling tablet pc/pen to paper space
US8930462B1 (en) * 2011-07-05 2015-01-06 Symantec Corporation Techniques for enforcing data sharing policies on a collaboration platform
US20160352803A1 (en) * 2015-05-28 2016-12-01 Fireglass Ltd. Reconstruction of web pages based on dom serialization
CN108885615A (zh) * 2016-03-29 2018-11-23 微软技术许可有限责任公司 针对浏览器导航的墨水输入

Also Published As

Publication number Publication date
US10911573B2 (en) 2021-02-02
EP3903219A1 (en) 2021-11-03
US20200213421A1 (en) 2020-07-02
WO2020139728A1 (en) 2020-07-02

Similar Documents

Publication Publication Date Title
Rädle et al. Codestrates: Literate computing with webstrates
KR101130397B1 (ko) 포맷된 문서를 웹 페이지로 변환하는 시스템 및 방법
JP4700423B2 (ja) 形状を使用する共通チャーティング
US8074167B2 (en) Cross domain presence of web user interface and logic
US9582601B2 (en) Combining server-side and client-side user interface elements
CA2508500C (en) An architecture for ink annotations on web documents
KR101031700B1 (ko) 컴퓨터 플랫폼에 대한 프로그래밍 인터페이스
CN100444158C (zh) 使用外部计划主题的Web网页绘制机制
JP4179553B2 (ja) 表示制御情報生成方法、表示制御情報を生成するコンピュータ、およびプログラム
US20050091672A1 (en) Facilitating presentation functionality through a programming interface media namespace
US9772978B2 (en) Touch input visualizations based on user interface context
US20110145694A1 (en) Method and System for Transforming an Integrated Webpage
US20140372865A1 (en) Interaction of Web Content with an Electronic Application Document
CN113196275A (zh) 经由计算机网络的基于网络的协作墨迹书写
KR20110127686A (ko) 리치 웹 사이트 저작 및 디자인
WO2012170312A2 (en) Embedded web viewer for presentation applications
US20090222727A1 (en) Method, Apparatus and Computer Program Product for Capturing and Viewing Stored Web Resource Interactions
Viana et al. XMobile: A MB-UID environment for semi-automatic generation of adaptive applications for mobile devices
US20140033135A1 (en) Gesture-initiated symbol entry
KR20150095663A (ko) E-리더에서의 플랫북에서 리치북으로의 변환 기법
Stolley How to design and write web pages today
Yao et al. . NET compact framework programming with C#
Gad Building Android Apps in Python Using Kivy with Android Studio: With Pyjnius, Plyer, and Buildozer
Simpson Introduction to JavaScript
Gad Building android apps in python using kivy with android studio

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