CN109086905A - 用于电子通信的可扩展性特征 - Google Patents

用于电子通信的可扩展性特征 Download PDF

Info

Publication number
CN109086905A
CN109086905A CN201810795039.5A CN201810795039A CN109086905A CN 109086905 A CN109086905 A CN 109086905A CN 201810795039 A CN201810795039 A CN 201810795039A CN 109086905 A CN109086905 A CN 109086905A
Authority
CN
China
Prior art keywords
small tool
code
extension
interface
message
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
CN201810795039.5A
Other languages
English (en)
Inventor
W·R·拜恩
J·B·马赫德
R·E·格雷格
J·T·亨德森
A·萨拉马托夫
D·克劳克斯
O·欧连卡恩
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 CN109086905A publication Critical patent/CN109086905A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/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
    • G06F3/04842Selection of displayed objects or displayed text elements
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • G06F15/16Combinations of two or more digital computers each having at least an arithmetic unit, a program unit and a register, e.g. for a simultaneous processing of several programs
    • G06F15/163Interprocessor communication
    • G06F15/173Interprocessor communication using an interconnection network, e.g. matrix, shuffle, pyramid, star, snowflake
    • 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
    • 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]
    • 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
    • G06Q50/00Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
    • G06Q50/60Business processes related to postal services
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • 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/42Mailbox-related aspects, e.g. synchronisation of mailboxes
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Strategic Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Economics (AREA)
  • General Business, Economics & Management (AREA)
  • Tourism & Hospitality (AREA)
  • Marketing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Human Computer Interaction (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Data Mining & Analysis (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Primary Health Care (AREA)
  • Environmental & Geological Engineering (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

使用可扩展性模型来在通信项中提供活动和交互式功能,但各实施例不限于此。一实施例的计算机系统包括被配置成标识一个或多个激活触发的各个组件,该一个或多个激活触发用于使用隔离的代码执行环境来激活小工具代码作为将内容注入电子邮件通信的一部分。一个实施例的一种方法提供一种可扩展性框架,用于使用已定义的小工具触发及相关联的功能作为自动与邮件消息内联地注入内容的一部分。

Description

用于电子通信的可扩展性特征
本申请是申请日为2012年05月06日、题目为“用于电子通信的可扩展性特征”、申请号为201280022410.5的专利申请的分案申请。
背景
通信网络(例如,网际协议、蜂窝等)及相关联的用户设备/系统的进步提供了用于可能丰富的交互式应用的机制。当今的高级通信基础结构使用户能够使用许多不同类型的设备/系统(诸如台式机、便携式计算机和智能电话)来访问和散发来自几乎任何位置的信息。无线和移动能力当前在许多环境中扮演关键角色,这部分地由于设备和服务访问的合理成本。在可获得各种各样的媒体类型的情况下,经常使用插件组件来提供附加的交互式特征和功能。插件一般不是自包含的并且可损害机器性能,中断和延迟用户体验,包括复杂的安装对话并且可能需要一个或多个安装程序。不幸的是,安装插件一般是麻烦的,并且插件有时可被用来获取对相关联的对象模型和系统资源的不受限访问。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例提供了一种可扩展性模型,该可扩展性模型被部分地用来在通信项中提供活动和交互式功能,但各实施例不限于此。在一实施例中,一种计算机系统包括被配置成标识一个或多个激活触发的各个组件,该一个或多个激活触发用于使用隔离的代码执行环境来激活小工具代码作为将内容注入电子邮件通信的一部分。一个实施例的一种方法提供一种可扩展性框架,以用于使用已定义的小工具触发及相关联的小工具功能作为自动与邮件消息内联地注入内容的一部分。还包括其他实施例。
通过阅读下面的具体实施方式并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下详细描述均仅是说明性的,且不限制所要求保护的本发明。
附图简述
图1是示例性计算系统的框图。
图2是描绘提供激活模型以控制应用扩展或小工具的使用的示例性过程的流程图。
图3A-3B描绘了被配置成提供用于电子邮件通信环境的内联可扩展性特征的示例性系统的各个组件的框图。
图4是描绘使用可扩展性模型来通过使用一个或多个小工具提供内联内容作为提供电子消息收发特征的一部分的示例性过程的流程图。
图5A-5F描绘了被部分地用来提供可扩展性特征的示例性电子邮件应用界面的各方面。
图6是示出用于实现此处所描述的各个实施例的示例性计算环境的框图。
详细描述
图1是描绘被部分地配置成提供用于电子通信的可扩展性特征的示例性计算系统100的框图,但该计算系统不限于此。一实施例的系统100包括计算机处理、存储和其它组件/资源,这些组件/资源提供通信功能和特征,包括扩展的电子邮件消息收发特征,如下所述。一实施例的解析引擎可被配置成解析所选通信并标识一个或多个激活或小工具触发,该一个或多个激活或小工具触发在被标识时触发或激活一个或多个特定通信扩展或小工具。
一个实施例的解析引擎可使用包括一个或多个小工具触发的解决方案包清单来确定是否要通过使用隔离的沙箱环境激活与该解决方案包相关联的脚本语言代码。例如,该解析引擎可使用被包含在解决方案清单文件中的一个或多个正则表达式作为一个或多个触发,该一个或多个触发使得能够标识特定通信项部分(例如,串、链接、元数据等)作为激活一个或多个相关联的小工具的一部分,该一个或多个相关联的小工具用于注入活动和交互式内容作为电子通信项显示的一部分。
在一实施例中,可扩展性模型结合所选电子邮件消息(例如,被点击的消息)和解决方案清单使用解析引擎来解析所选电子邮件消息的正文部分(例如,纯文本、超文本标记语言(HTML)、可扩展标记语言(XML)等),作为标识正文部分中的满足解决方案清单中的特定触发的信息的一部分。在一个实施例中,系统100包括多个可用扩展或小工具,该多个可用扩展和小工具在被激活时可结合电子邮件应用(包括基于web的应用和本地应用安装)被用来自动向应用用户提供扩展的活动和/或交互式内联内容功能。
如图1所示,示例性系统100包括诸如电子邮件或消息收发应用等通信应用102、解析引擎104、诸如HTML电子邮件项DOM等通信项文档对象模型(DOM)106和耦合到解析引擎104的一个或多个应用编程接口(API)108,以及多个可用扩展和/或小工具110(1)、110(2)、110(3)、…、110(N),其中N是整数。解析引擎104可使用正则表达式触发作为确定是否要打开解决方案包并将相关联的扩展功能注入通信项的一部分。
例如,解析引擎104可被配置为HTML呈现引擎,该HTML呈现引擎被配置成呈现HTML电子邮件部分作为从传入和/或接收到的电子邮件消息中标识一个或多个小工具激活触发的一部分。如图所示,在一个实施例中,每一个可用小工具都具有对应的激活触发(例如,准则112(1)、112(2)、112(3)、…、112(N))。可以理解,可用小工具的数量可取决于用户控制和/或偏好和/或可用性。在一个实施例中,针对特定扩展的激活准则或条件可基于被包含在标记语言清单文件中的正则表达式触发的数量。例如,当标识诸如单词、术语和/或字符的简单和/或复杂模式等感兴趣的串或其它项时,正则表达式可被用作触发。
在特定实施例中,小工具和/或相关联的功能可被本地地安装或通过诸如全球消息收发通信网络等计算机网络来访问。如下所述,用户可使用小工具选择界面作为肯定地选择将要与诸如所选电子邮件消息等通信项(例如参见图5A)一起使用的特定小工具的一部分。例如,一旦用户选择了特定小工具以由此显露用于部分地基于一个或多个解析操作来选择的通信项的扩展的交互式功能,就可激活小工具。如上简述,示例性系统100可被配置为本地安装的通信应用(例如,已安装的电子邮件应用)或基于web的通信应用(例如,基于浏览器的电子邮件应用)。
在一实施例中,扩展或小工具可被配置成在电子消息收发应用的框架内提供活动内容特征和功能,以用于台式机、膝上型计算机、平板、智能电话以及包括使用处理器和存储器资源来提供通信和交互式应用功能的其它计算设备。在一个实施例中,可用扩展特征或小工具可被配置为压缩和/或加密文件(例如,zip文件),该文件包括HTML、层叠样式表(CSS)和/或脚本(例如,VISUAL BASIC、JAVASCRIPT等)特征中的一个或多个。
一旦被激活,一个或多个已启用的小工具可被配置成与其它计算机组件(例如,服务器等)交互以获取和/或使用特定扩展或小工具特征。例如,用户可能使用基于浏览器的电子邮件应用来下载和选择一消息,在该所选电子邮件消息的正文中包括超链接。对于该说明性示例,一旦解析引擎标识特定超链接,与该超链接相关联的已启用的小工具就能够自动触及计算机网络或本地资源,并且在相关联的电子邮件消息的正文中内联地插入相关联的活动内容或功能,或者用该活动和交互式功能来替换超链接,或者与该超链接相邻地定位扩展功能。例如,与已激活的小工具相关联的脚本可被自动注入所呈现的电子邮件的正文,并且在进行中运行。
根据一实施例,对一个或多个激活扩展或小工具的激活和/或使用导致使用隔离沙箱或隔离的代码执行环境来执行脚本语言或其它可执行代码。隔离沙箱可被配置成在执行代码向第三方请求不受信内容时与其它组件交互,作为根据特定激活触发用活动内容替换电子邮件消息的所标识部分的一部分。
通常完全独立于隔离沙箱的不受信代码可被变换或以其它方式控制以遵从特定安全或执行策略。例如,隔离沙箱中的控制可包括将HTML、CSS和脚本代码中的一个或多个转换成与消息收发应用一起执行的代码,包括控制与电子消息内联的活动和/或交互式内容的注入,诸如作为用于显示受控制的内容的预览或查看窗口或窗格的一部分。如上所述,准则112(1)-准则112(N)中的一个或多个可用于控制要允许、拒绝还是使用另一实现或工具作为内联注入控制和可扩展性特征的一部分。
图2是描绘提供激活模型以控制应用扩展或小工具的使用作为使用电子通信的一部分的示例性过程200的流程图,但不限于此。例如,激活模型可结合电子邮件消息收发应用被用来部分地基于对一个或多个激活触发的标识来控制活动内容在所选电子邮件消息中的注入。在一个实施例中,过程200可用作以下动作的一部分:控制活动和交互式内容的激活作为提供用于电子邮件应用的附加特征的一部分。例如,过程200可用于激活隔离代码作为与所选电子邮件消息的正文内联地嵌入交互式内容的一部分。
过程200在202操作,用户选择电子通信项,诸如显示在例如电子邮件消息列表中的电子邮件消息。在一实施例中,可以在进行中预编码、打包和/或使用一个或多个扩展或小工具作为提供扩展的电子通信功能的一部分。在一个实施例中,特定小工具或扩展可被配置为解决方案包,该解决方案包包括清单(例如,XML清单)、标记/代码定义(例如,HTML/CSS/JAVASCRIPT定义)和/或一个或多个嵌入式或web资源(例如,图标、标记等)。
作为示例,过程200在202可以在使用智能电话、台式机或膝上型计算机浏览器或本地安装的电子邮件应用来启动电子邮件应用和/或启用一个或多个小工具(参见示出示例性可用小工具的图5A)并选择接收到项目列表中的电子邮件消息之后操作。在一替换实施例中,过程200在202操作以在终端用户(例如,使用专用服务器)的肯定消息交互(例如,项点击、轻击等)之前处理电子邮件消息。例如,过程200可以在电子邮件消息被传递至用户收件箱之前操作。
在204,过程200操作以解析所选电子通信项的一个或多个部分。在一实施例中,过程200在204使用集成的解析引擎,该解析引擎被配置成对所选电子邮件消息执行解析操作作为标识与一个或多个可用和/或已启动的扩展或小工具相关联的一个或多个激活触发的一部分。例如,过程200在204可以在标识和使用一个或多个已定义的小工具激活触发以内联地提供活动内容作为消息查看或预览功能的一部分时使用解析引擎来解析所选电子邮件的电子邮件消息正文的标记。
在一个实施例中,过程200在204操作以解析所选电子通信项,从而标识各种小工具激活触发作为触发活动和交互式内容对电子通信的嵌入的一部分。例如,过程200在204可使用定义小工具激活触发(例如,正则表达式、日期、时间、链接、源语言、发件人域、消息类型等)的解决方案清单,该清单被部分地用来标识触发来自隔离沙箱的代码的激活作为查看或其它操作的一部分的经解析的通信部分。在一个实施例中,解决方案清单可以与解决方案代码和/或一个或多个嵌入式资源打包在一起,并且被压缩和/或加密作为提供激活控制特征的一部分。
在206,如果基于解析操作满足了触发准则,则过程200操作以在电子通信项的上下文中加载与已激活的扩展或小工具相关联的解决方案代码。例如,当满足诸如已定义的正则表达式等特定小工具激活触发时,过程200在206可操作以在电子邮件上下文中加载解决方案HTML和JAVASCRIPT,这可被用作在预览器或其它消息查看窗口中显示活动内容的一部分。
在208,过程200操作以显示包括由相关联的解决方案包定义的扩展功能的现在激活的电子通信项。例如,过程200在208可操作以根据对应的正则表达式定义来显示基于已定义的小工具激活而激活和扩展的HTML电子邮件消息。如果未满足准则,则过程200继续至210,并且正常地显示电子通信而不向其添加任何扩展特征。例如,如果根据一个或多个XML清单文件未满足激活准则,则过程200在210可操作以显示包括未经修改的HTML正文部分的电子邮件消息。尽管针对图2中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
图3A-3B描绘了被配置成提供用于电子邮件通信环境的内联可扩展性特征的示例性系统300的各个组件的框图。如图3A所示,示例性系统300包括电子邮件客户端302,该电子邮件客户端302包括本地和/或基于web的电子邮件应用、诸如HTML呈现引擎等呈现或解析引擎304、电子邮件项DOM 306和/或隔离沙箱308。虽然用于该示例性系统的隔离沙箱308被示为单独组件,但在其它实施例中,隔离沙箱308可被包括为电子邮件客户端功能的一部分。此外,可根据特定实现配置和/或偏好来从隔离沙箱308中动态地加载和/或移除扩展代码。
如上所述,一旦调用扩展,就可以从隔离沙箱308中执行相关联的扩展代码。对于该示例,扩展代码被说明性地示为与电子邮件项DOM 306隔离。根据一个实施例,API 309耦合在隔离沙箱308和电子邮件项DOM 306之间,担当控制其间信息的流转的网关。示例性通信链接310、312和314示出了隔离的扩展代码分别推送和/或拉取来自各种资源(包括云服务316、全球计算机/通信网络318和内联网320)的信息的能力。
图3B描绘了被用作提供用于电子邮件项的内联可扩展性特征的一部分的示例性解决方案包322。如图3B所示,一实施例的解决方案包322包括源代码324、一个或多个嵌入式资源326和清单328。在一实施例中,一个或多个激活触发可以与清单328包括在一起并被用来触发用于所选电子邮件项的内联可扩展性。例如,一个或多个激活触发可被包括在被体现为一个或多个正则表达式结构的清单328中,该一个或多个正则表达式结构用于触发与所选电子邮件项内联的活动内容的注入。在一实施例中,解决方案包的各部分可被存储在一个或多个远程和/或本地位置。
呈现引擎304可使用清单328中定义的所体现的正则表达式,作为确定是否要打开解决方案包并且自动将由该解决方案包定义的相关联的扩展功能嵌入所选电子邮件项的一部分。例如,正则表达式可用作将上下文信息直接添加到邮件消息的阅读窗格中(包括与所选邮件消息内联地注入基于HTML的内容)的触发,其中该内联内容可使用消息检查窗口或浏览器窗口的阅读窗格来显示。
一个实施例的系统300使用被包含在压缩文件(例如,zip文件)中并被存储为用户的邮箱的一部分(例如,用户的邮箱中的隐藏消息)的HTML/CSS数据和JAVASCRIPT代码来提供用于消息收发界面的可扩展性特征。呈现引擎304用于识别用于激活可扩展性特征的有效激活上下文。对于这一实施例,当激活时,JAVASCRIPT代码在隔离沙箱308中运行以生成在所选邮件消息的阅读窗格或在该消息的相关联查看窗口中内联地显示的HTML代码。
作为示例,呈现引擎304可操作并使用与所选消息相关联的消息属性(例如,主题,发件人,收件人,类别,诸如回复、回复全部、转发等消息动词等)来确定激活触发是否为真并需要激活。如果为真,则可检索(例如,从隐藏消息中)、解压HTML/CSS内容和JAVASCRIPT代码,和/或内联地呈现HTML上下文内容作为与所选消息交互的一部分。由此,激活模型只允许对消息内容的受限访问并包括在隔离中运行JAVASCRIPT代码。
在一个实施例中,解决方案包322包括解包的JAVASCRIPT代码和HTML内容,并且然后在隔离沙箱308中加载JAVASCRIPT代码。JAVASCRIPT代码可被编码成获取用于所选消息的附加名-值对以便向相关联的电子邮件应用返回标记流(例如,HTML流),以供在查看所选消息时在消息阅读窗格或其它查看器中显示。在一个实施例中,一旦激活扩展,JAVASCRIPT代码就可被初始化并确定指定的对象上下文作为JAVASCRIPT对象记法(JSON)名/值对,其中JAVASCRIPT代码在隔离中运行并准备HTML以供显示。
图4是描绘使用可扩展性模型来通过使用一个或多个小工具提供内联内容作为提供电子消息收发特征的一部分的示例性过程400的流程图。例如,所选小工具可结合电子邮件应用被用来部分地基于对一个或多个小工具触发的标识来将活动内容注入所选电子邮件消息。在一个实施例中,过程400可被用作在与电子邮件消息交互期间控制小工具的激活的一部分。例如,过程400可用于激活隔离的小工具代码作为在所选电子邮件消息的上下文内提供交互式内容的一部分。
过程400在402操作以扫描所选电子邮件消息作为确定是否要自动执行来自隔离的代码执行环境的小工具代码的一部分。例如,过程400在402可使用本地和/或远程解析功能来扫描被包含在所选电子邮件消息的经解析的正文部分中的正则表达式触发。作为示例,过程400可使用解决方案清单,该解决方案清单将小工具激活触发定义为被部分地用来触发来自隔离的代码执行环境的小工具代码的激活的一个或多个正则表达式。在一实施例中,用户可以预先选择或启用可以在扫描操作在电子邮件的正文中标识出触发时被触发的一个或多个小工具,并激活一个或多个已启动的小工具来提供用于相关联的所选电子邮件消息的经扩展的嵌入式内容功能。
在一个实施例中,每一个小工具触发都可以在清单文件(例如,包含正则表达式触发的XML清单)中编码并且在扫描一个或多个电子邮件消息以标识已启动的特定小工具触发时使用。作为一个示例,每一个小工具都可被开发和/或编码为解决方案包,该解决方案包包括清单(例如,XML清单)、标记/代码定义(例如,HTML/CSS/JAVASCRIPT定义)和/或一个或多个嵌入式资源。小工具可结合包括专用电子邮件应用在内的消息收发应用来使用,该消息收发应用被配置成与诸如智能电话、台式计算机、膝上型计算机等各种计算/通信设备一起操作。
在404,如果扫描操作标识出小工具触发,则一实施例的过程400操作以获取相关联的内容。例如,过程400可基于对主题、发件人、收件人和/或其它消息属性的评估使用触发准则,并且在标识出特定小工具触发时从用户的收件箱中的包括压缩文件的被隐藏电子邮件消息获取内容以及任何其它相关信息,该压缩文件包含小工具执行代码(例如、HTML/CSS和JAVASCRIPT)和/或一个或多个嵌入式资源。在一个实施例中,隐藏消息被用来内联地提供活动内容作为电子邮件消息查看或预览的一部分。否则,如果未标识出小工具触发,则过程400继续至406并且电子邮件应用操作以在阅读窗格或消息检查器中显示消息内容,而没有特定小工具所提供的任何附加内联特征。
在408,在标识出一个或多个小工具触发后,过程400操作以激活与已触发的特定小工具相关联的内容,包括将相关联的JAVASCRIPT加载到隔离的代码执行环境中。在410,过程400通过使用隔离的代码执行环境来在隔离中运行解包的JAVASCRIPT代码和/或从所选电子邮件消息获取附加项上下文(例如,JSON名-值对)来操作。在412,过程400通过执行JAVASCRIPT代码来返回通过执行来自隔离的代码执行环境的小工具代码而修改的经变换的HTML。在414,一实施例的过程400操作以在阅读窗格或检查器窗口中与电子邮件消息正文内联地显示与所激活的小工具相关联的注入内容。尽管针对图4中的示例性流程图描述了一定数量和次序的操作,但可以理解,可根据所期望的实现而使用其他数量和/或次序。
作为示例,清单文件可使用以下模式定义来编写:
作为另一示例,用于小工具或内联扩展的清单文件可使用以下模式定义来编写:
作为另一示例,用于fancy box(装潢盒子)小工具(参见图5F)的清单文件可以如下配置:
<?xml version="1.0"?>
<Lab xmlns="https://schemas.microsoft.com/office/.../*_manifest">
<Title>Gallery View</Title>
<Prereq>http://code.jquery.com/jquery-1.4.2.min.js</Prereq>
<Prereq>http://example.org/*jquery.easing-1.3.pack.js</Prereq>
<Prereq>http://example.org/*jquery.fancybox-1.3.1.js</Prereq>
<Prereq>http://example.org/*http://example.org/*jquery.mousewheel-3.0.2.pack.js</Prereq>
<Location http://example.org/*fancybox.js</Location>
<Guid>{466DF5A9-BDD2-48F8-A345-A10C5DAC8DE0}</Guid>
<Version>1.0.0.3</Version>
<Author>John Doe</Author>
<Description>FancyBox Schtuff</Description>
<Icon>http://www.example.com/cdrom/msaggallery.jpg</Icon>
<NoCache>false</NoCache>
</Lab>
对于装潢盒子扩展或小工具,可执行脚本语言代码可以如以下示例所示出的那样配置:
作为另一示例,用于送货跟踪小工具的清单文件可以如下配置:
<Lab>
<Title>Shipment Tracking v2</Title>
<Location http://example.org/*Scripts\xs_tracking.js</Location>
<Guid>{D833FF8F-8C95-461B-A3B2-4FC3DC25E7D9}</Guid>
<Version>2.0.0.5</Version>
<Author>Jane Doe</Author>
<NoCache>false</NoCache>
<Description>Advanced package tracking information,provided byPackageTrackr.</Description>
<ICON>http://example.org\images\Shipment-Tracking.gif</ICON>
<Lab>
对于送货跟踪扩展或小工具,可执行脚本语言代码可以如以下示例所示出的那样配置:
其它示例是可用的且是可配置的。
图5A-5F描绘了被部分地用来提供与电子邮件应用相关联的可扩展性特征的示例性电子邮件应用界面500的各方面。例如,界面500可被用作基于web的或本地安装的电子邮件应用的一部分以查看所选电子邮件。如图5A所示,示例性界面500包括多个可用小工具502-514以及用户可选择以启用一个或多个特定小工具的选择框516。当用户悬停在每一个小工具上方时,选择框可被配置成为对应的小工具显露。已启用的小工具可根据如上文详述的特定激活触发来为所选电子邮件项显露。
图5B示出了示例性电子邮件应用界面500,该界面包括链接517以及在已由于通过链接517的标识来触发的相关联的小工具的激活而被自动注入电子邮件消息后自动嵌入的与该链接517相关联的内容518。
图5C示出了示例性电子邮件应用界面500,该界面包括链接520以及在已由于通过链接520的标识来触发的相关联的小工具的激活而被自动注入电子邮件消息后自动嵌入的与该链接520相关联的视频522。
图5D示出了示例性电子邮件应用界面500,该界面包括链接526以及在已由于通过链接526的标识来触发的相关联的小工具的激活而被自动注入电子邮件消息后自动嵌入的与该链接526相关联的视频528。示例性电子邮件应用界面500还正显示已由另一链接触发的另一嵌入式视频524。
图5E示出了示例性电子邮件应用界面500,该界面包括自动嵌入的活动包裹跟踪内容530,该内容已经由于通过标识一个或多个跟踪号或其它包裹运输准则来触发的相关联小工具的激活而被自动注入电子邮件消息。
图5F示出了示例性电子邮件应用界面500,该界面包括链接532和自动嵌入的相关联的照片534、链接536和自动嵌入的相关联的照片538以及链接540和自动嵌入的相关联的照片542,其中照片534、538和542已经由于通过分别标识链接532、536和540来触发的相关联小工具的激活而被自动注入电子邮件消息。如图5F所示,已触发的小工具还允许通过使用特征丰富的照片查看器544来与所注入的照片交互。
可以理解,可扩展性特征可被实现为处理器驱动的计算机环境的一部分。此外,尽管在此描述了某些实施例,但其他实施例是可用的,并且不应该用所描述的各实施例来限制权利要求书。合适的编程装置包括指示计算机系统或设备执行方法中的各步骤的任何装置,例如包括由处理单元和耦合到计算机存储器的各算术逻辑电路组成的系统,该系统具有在计算机存储器中进行存储的能力,该计算机存储器包括配置来存储数据和程序指令的电子电路。示例性计算机程序产品能与任何合适的数据处理系统一起使用。尽管以上描述了一定数量和类型的组件,但可以理解,根据各个实施例可以包括其他数量和/或类型和/或结构。因此,根据所期望的实现,还可将组件功能进一步进行划分和/或将其与其他组件功能组合在一起。
如这里所使用的术语计算机可读介质可以包括计算机存储介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块之类的信息的任何方法或技术实现的易失性与非易失性、可移动与不可移动介质。系统存储器、可移动存储和不可移动存储都是计算机存储介质示例(即,存储器存储)。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备访问的任何其它介质。任何这样的计算机存储介质都可以是设备或系统的一部分。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、射频、红外线和其他无线介质。
此处描述的各实施例和示例不旨在是限制性的,并且其他实施例也是可用的。此外,上述各组件可被实现为联网、分布式和/或其他计算机实现环境的一部分。这些组件可以经由有线、无线、和/或通信网络的组合来通信。网络组件和/或各组件之间的耦合可包括任何类型、数量和/或组合的网络,且相应的网络组件包括但不限于广域网(WAN)、局域网(LAN)、城域网(MAN)、专有网络、后端网络等。
客户计算设备/系统和服务器可以是任何类型和/或组合的基于处理器的设备或系统。另外,服务器功能可包括许多组件并包括其他服务器。在单个时态中描述的计算环境的组合可包括这种组件的多个实例。尽管特定实施例包括软件实现,但它们不限于此并且它们涵盖硬件或混合硬件/软件解决方案。
本说明书中使用的术语,诸如组件、模块、系统、设备、云、网络和其他术语一般描述包括硬件、软件、估计和/或其他项目的计算机相关操作环境。组件可以使用用到处理器、可执行和/或脚本代码的进程。示例性组件包括应用、运行在该应用上的服务器、和/或与服务器耦合的用于接收通信项的电子通信客户机。计算机资源可以包括处理器和存储器资源,诸如:数字信号处理器、微处理器、多核处理器等,以及诸如磁、光和/或其他存储设备之类的存储器组件、智能存储器、闪存等。通信组件可用于传送计算机可读信息,该传送作为使用通信网络或诸如例如因特网之类的网络来转发、接收和/或呈现电子通信项的一部分。其他实施例和配置被包括在内并且是可用的。
示例性操作环境
现在参考图6,以下讨论旨在提供可以在其中实现本发明的各实施例的合适计算环境的简要、一般的描述。尽管将在结合在个人计算机上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述本发明,但本领域的技术人员可以认识到,本发明也可结合其他类型的计算系统和程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。而且,本领域的技术人员可以理解,本发明可用其他计算机系统配置来实现,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机等。本发明也可在其中由通过通信网络链接的远程处理设备执行任务的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
现在参考图6,将描述用于本发明的各实施例的说明性操作环境。如图6所示,计算机2包括通用服务器、台式计算机、膝上型计算机、手持式计算机、或能够执行一个或多个应用程序的其它类型的计算机。计算机2包括至少一个中央处理单元8(“CPU”)、包括随机存取存储器18(“RAM”)和只读存储器(“ROM”)20的系统存储器12、以及将存储器耦合至CPU 8的系统总线10。在ROM 20中存储基本输入/输出系统,该系统包含有助于诸如在启动期间在计算机内的元件之间传输信息的基本例程。计算机2还包括用于储存操作系统24、应用程序、以及其他程序模块/资源26的大容量存储设备14。
将大容量存储设备14通过连接到总线10的大容量存储控制器(未示出)连接到CPU8。大容量存储设备14及其相关联的计算机可读介质为计算机2提供非易失性存储。尽管此处包含的计算机可读介质的描述指的是大容量存储设备,诸如硬盘或CD-ROM驱动器,但本领域的技术人员应明白,计算机可读介质可以是可由计算机2访问或利用的任何可用介质。
作为示例而非限制,计算机可读介质可包括计算机存储介质和通信介质。计算机存储介质包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据之类的信息的任何方法或技术来实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括,但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机2访问的任何其他介质。
根据本发明的各实施例,计算机2可以使用通过诸如局域网、因特网等的网络4与远程计算机的逻辑连接在联网环境中操作。计算机2可以通过连接至总线10的网络接口单元16来连接到网络4。应当明白,网络接口单元16也可用于连接至其它类型的网络和远程计算系统。计算机2也可包括输入/输出控制器22,用于接收和处理来自多个其他设备,包括键盘、鼠标等(未示出)的输入。类似地,输入/输出控制器22可将输出提供给显示屏、打印机、或其他类型的输出设备。
如以上简要地提及的,许多程序模块和数据文件可以被存储在计算机2的大容量存储设备14和RAM 18中,包括适用于控制联网的个人计算机的操作的操作系统24,诸如位于华盛顿州雷德蒙市的微软公司的WINDOWS操作系统。大容量存储设备14和RAM 18还可以存储一个或多个程序模块。具体地,大容量存储设备14和RAM 18可存储诸如文字处理、电子表格、绘画、电子邮件和其他应用程序和/或程序模块等应用程序。
应当明白,本发明的各种实施例可被实现为(1)运行于计算机系统上的一系列计算机实现的动作或程序模块,和/或(2)计算机系统内互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,包括相关算法的逻辑操作可被不同地称为操作、结构设备、动作或模块。本领域技术人员将认识到,这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑、以及其任意组合实现,而不背离如本文中阐述的权利要求内陈述的本发明精神和范围。
尽管已经结合各示例性实施例描述了本发明,但本领域普通技术人员将理解,可以在所附权利要求的范围内对其作出许多修改。因此,并非旨在以任何方式将本发明的范围限于以上的说明,而是应该完全参照所附权利要求书来确定。

Claims (10)

1.一种系统,包括:
一个或多个小工具,所述一个或多个小工具提供扩展的通信功能并根据一个或多个解决方案包来配置;
解析引擎,所述解析引擎被部分地配置成解析所选消息并标识一个或多个激活触发,其中所标识的每一个激活触发都导致使用隔离的代码执行环境来执行相关联的小工具代码;以及
界面,所述界面被部分地用来显示所选消息以及由已激活的小工具提供的任何相关联的扩展功能。
2.如权利要求1所述的系统,其特征在于,所述界面还包括电子邮件应用界面,所述电子邮件应用界面部分地基于使用隔离的脚本代码返回标记流来显示扩展特征,作为与所选电子邮件消息内联地显示内容的一部分。
3.如权利要求2所述的系统,其特征在于,每一个小工具都包括部分地基于清单文件和脚本的对应的解决方案包,其中所述清单文件定义使所述脚本执行并将活动内容嵌入所述所选电子邮件消息的至少一个小工具触发。
4.如权利要求1所述的系统,其特征在于,所述界面还被配置成在使用所述解析引擎来标识为所述一个或多个小工具声明的激活触发之前使用用户输入作为与电子邮件消息交互的一部分。
5.如权利要求1所述的系统,其特征在于,每一个小工具都能够包括第三方代码,并与其它资源通信以根据触发相关联的激活触发的经解析内容来用活动内容填充所选电子邮件消息的所标识的部分。
6.如权利要求1所述的系统,其特征在于,所述界面还被配置成检查电子邮件通信以确定是否满足激活条件,在满足所述激活条件的情况下解包包含脚本代码和标记语言内容的压缩包,在隔离沙箱中加载所述脚本代码,并提供标记语言流以供与所选电子邮件消息一起显示。
7.一种方法,包括:
使用解析引擎来解析源通信并产生经解析的输出;
使用界面和触发准则作为在所述源通信的所述经解析的输出中标识扩展触发的一部分;以及
使用所述界面实现扩展作为与所述源通信交互的一部分,包括在标识针对所述扩展的对应的扩展触发后使用隔离的代码执行环境来执行扩展代码作为提供用于所述源通信的活动内容特征的一部分。
8.如权利要求7所述的方法,其特征在于,还包括使用包括对应的扩展代码以及用于每一个扩展的清单的解决方案包。
9.如权利要求7所述的方法,其特征在于,还包括使用解决方案包作为部分地基于解析源电子邮件消息来执行所述扩展代码的一部分、定位正文标签、以及与所述正文标签相关地注入小工具脚本。
10.一种包括可执行指令的计算机可读存储介质,所述可执行指令在被执行时通过以下动作来提供可扩展通信特征:
使用客户端作为检查所选电子通信项以标识一个或多个小工具触发的一部分,包括解析所选电子通信项的各部分以提供经解析的各部分并使用清单来在至少一个经解析的部分中标识所述一个或多个小工具触发;以及
当标识出对应的小工具触发时执行来自隔离环境的代码,作为与所述所选电子通信项内联地提供活动内容特征的一部分。
CN201810795039.5A 2011-05-09 2012-05-06 用于电子通信的可扩展性特征 Pending CN109086905A (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/103,614 2011-05-09
US13/103,614 US9524531B2 (en) 2011-05-09 2011-05-09 Extensibility features for electronic communications
CN201280022410.5A CN103547986A (zh) 2011-05-09 2012-05-06 用于电子通信的可扩展性特征

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
CN201280022410.5A Division CN103547986A (zh) 2011-05-09 2012-05-06 用于电子通信的可扩展性特征

Publications (1)

Publication Number Publication Date
CN109086905A true CN109086905A (zh) 2018-12-25

Family

ID=47139920

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201810795039.5A Pending CN109086905A (zh) 2011-05-09 2012-05-06 用于电子通信的可扩展性特征
CN201280022410.5A Pending CN103547986A (zh) 2011-05-09 2012-05-06 用于电子通信的可扩展性特征

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201280022410.5A Pending CN103547986A (zh) 2011-05-09 2012-05-06 用于电子通信的可扩展性特征

Country Status (6)

Country Link
US (3) US9524531B2 (zh)
EP (1) EP2707849A4 (zh)
JP (1) JP6043342B2 (zh)
KR (1) KR101897310B1 (zh)
CN (2) CN109086905A (zh)
WO (1) WO2012154634A2 (zh)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10015122B1 (en) * 2012-10-18 2018-07-03 Sitting Man, Llc Methods and computer program products for processing a search
US9524531B2 (en) 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications
CN102662737B (zh) * 2012-03-14 2014-06-11 优视科技有限公司 扩展程序的调用方法及装置
US9256733B2 (en) * 2012-04-27 2016-02-09 Microsoft Technology Licensing, Llc Retrieving content from website through sandbox
US8904550B2 (en) 2012-06-27 2014-12-02 Blackberry Limited Selection of sandbox for initiating application
US10397150B1 (en) * 2012-10-18 2019-08-27 Gummarus, Llc Methods and computer program products for processing a search query
US10291562B2 (en) * 2013-05-20 2019-05-14 International Business Machines Corporation Embedding actionable content in electronic communication
US10257141B2 (en) * 2015-03-13 2019-04-09 Cola, Inc. System and method for delivering inline interactive objects encapsulated in a message
US10769351B2 (en) * 2015-05-08 2020-09-08 Citrix Systems, Inc. Rendering based on a document object model
US10884580B2 (en) * 2015-06-07 2021-01-05 Apple Inc. Devices and methods for displaying content in a note-taking application
US10296190B2 (en) 2015-12-11 2019-05-21 Microsoft Technology Licensing, Llc Spatially organizing communications
US10852912B2 (en) 2016-06-12 2020-12-01 Apple Inc. Image creation app in messaging app
US10785175B2 (en) * 2016-06-12 2020-09-22 Apple Inc. Polling extension application for interacting with a messaging application
US10595169B2 (en) 2016-06-12 2020-03-17 Apple Inc. Message extension app store
US10346530B2 (en) * 2017-03-10 2019-07-09 Microsoft Technology Licensing, Llc Embedded meeting extensions
US20190081915A1 (en) * 2017-09-08 2019-03-14 Microsoft Technology Licensing, Llc Extensions embedded in e-mail messages
US11138265B2 (en) * 2019-02-11 2021-10-05 Verizon Media Inc. Computerized system and method for display of modified machine-generated messages
US20210152504A1 (en) * 2019-11-14 2021-05-20 Black Hills Ip Holdings, Llc Structured text for electronic communications
US20230418891A1 (en) * 2022-06-24 2023-12-28 Microsoft Technology Licensing, Llc Transferring link context from desktop application to browser

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20060174078A1 (en) * 2005-01-19 2006-08-03 Alcatel System and method for executing a process on a microprocessor-enabled device
US20070011258A1 (en) * 2002-09-18 2007-01-11 Advenix, Corp. (Ca Corporation) Enhancement of e-mail client user interfaces and e-mail message formats
CN101036133A (zh) * 2004-06-22 2007-09-12 J2全球通信公司 电子消息收发协议消息中图像内容的变化
US20070239662A1 (en) * 2006-03-31 2007-10-11 Paul Fontes Expanded snippets
CN101454774A (zh) * 2006-03-31 2009-06-10 谷歌公司 协作在线电子表格应用
US20100131529A1 (en) * 2008-11-26 2010-05-27 Vishal Kasera Open entity extraction system
CN101957749A (zh) * 2009-07-20 2011-01-26 华为技术有限公司 一种生成widget的方法及装置

Family Cites Families (76)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1998000422A1 (en) 1996-07-02 1998-01-08 Sang Sup Jew Oxirane carboxylic acid derivative and its manufacturing method
US10636084B2 (en) 1996-10-31 2020-04-28 Citicorp Credit Services, Inc. (Usa) Methods and systems for implementing on-line financial institution services via a single platform
WO2002073413A2 (en) * 2001-03-12 2002-09-19 Nice Systems Limited System and method for capturing, analyzing and recording screen events
US6836886B2 (en) 2001-03-19 2004-12-28 Autodesk, Inc. Method and apparatus for delivering electronic information
JP2003051851A (ja) 2001-08-08 2003-02-21 Sangaku Renkei Kiko Kyushu:Kk 電子メール受信方法と、それに使用するメールサーバ、ウェブサーバ、受信端末及び電子メール受信システム
US6993562B2 (en) * 2002-03-21 2006-01-31 Peerless Systems Corporation Method and system to print via email
EP1326189A3 (en) 2001-12-12 2005-08-17 Microsoft Corporation Controls and displays for acquiring preferences, inspecting behaviour, and guiding the learning and decision policies of an adaptive communications prioritization and routing systems
CA2479601C (en) * 2002-03-20 2012-07-03 Research In Motion Limited System and method for transmitting and utilizing attachments
US9076147B2 (en) * 2002-09-18 2015-07-07 Advenix, Corp. Systems and methods for online marketing and advertising on e-mail systems
US7886359B2 (en) 2002-09-18 2011-02-08 Symantec Corporation Method and apparatus to report policy violations in messages
US8024335B2 (en) 2004-05-03 2011-09-20 Microsoft Corporation System and method for dynamically generating a selectable search extension
US7634720B2 (en) 2003-10-24 2009-12-15 Microsoft Corporation System and method for providing context to an input method
US8095882B2 (en) 2003-10-30 2012-01-10 Avaya Technology Corp. Additional functionality for telephone numbers and utilization of context information associated with telephone numbers in computer documents
US20050177635A1 (en) * 2003-12-18 2005-08-11 Roland Schmidt System and method for allocating server resources
US7571213B2 (en) 2004-03-26 2009-08-04 Microsoft Corporation Interactive electronic bubble messaging
US7475150B2 (en) 2004-09-07 2009-01-06 International Business Machines Corporation Method of generating a common event format representation of information from a plurality of messages using rule-based directives and computer keys
US7647559B2 (en) 2004-09-30 2010-01-12 Microsoft Corporation Method and computer-readable medium for navigating between attachments to electronic mail messages
US7567965B2 (en) 2004-10-22 2009-07-28 Microsoft Corporation Presenting message attachments independent of electronic messages at a user-interface
US7487446B2 (en) 2004-11-10 2009-02-03 Microsoft Corporation Using a word processor with accounting data
US8849968B2 (en) 2005-06-20 2014-09-30 Microsoft Corporation Secure and stable hosting of third-party extensions to web services
US8239939B2 (en) * 2005-07-15 2012-08-07 Microsoft Corporation Browser protection module
US20090100010A1 (en) * 2005-10-26 2009-04-16 Zimbra, Inc. System and method for seamlessly integrating separate information systems within an application
US7707514B2 (en) 2005-11-18 2010-04-27 Apple Inc. Management of user interface elements in a display environment
CN101055394B (zh) 2005-12-22 2010-10-13 日本电气液晶显示技术株式会社 液晶显示器件及使用其的终端器件
CN101512490B (zh) * 2006-01-17 2013-11-20 基达罗(以色列)有限公司 在网络化环境中保护数据安全
US20070174429A1 (en) 2006-01-24 2007-07-26 Citrix Systems, Inc. Methods and servers for establishing a connection between a client system and a virtual machine hosting a requested computing environment
US20070204223A1 (en) 2006-02-27 2007-08-30 Jay Bartels Methods of and systems for personalizing and publishing online content
US7765097B1 (en) 2006-03-20 2010-07-27 Intuit Inc. Automatic code generation via natural language processing
US7747785B2 (en) * 2006-04-14 2010-06-29 Microsoft Corporation Instant messaging plug-ins
US20070256003A1 (en) 2006-04-24 2007-11-01 Seth Wagoner Platform for the interactive contextual augmentation of the web
KR20090082349A (ko) * 2006-08-24 2009-07-30 첨비 인더스트리즈, 인코포레이티드 네트워크화된 어플리케이션 공유 시스템에서 사용하기 위한설정가능한 개인용 시청각 장치
US8903840B2 (en) 2006-08-31 2014-12-02 International Business Machines Corporation System and method for launching a specific program from a simple click on a string of characters
GB0620238D0 (en) * 2006-10-12 2006-11-22 Ibm A method and apparatus for converting a text-based email message to an email message comprising image-based fonts
US8468244B2 (en) * 2007-01-05 2013-06-18 Digital Doors, Inc. Digital information infrastructure and method for security designated data and with granular data stores
US20080168368A1 (en) 2007-01-07 2008-07-10 Louch John O Dashboards, Widgets and Devices
US20080165148A1 (en) 2007-01-07 2008-07-10 Richard Williamson Portable Electronic Device, Method, and Graphical User Interface for Displaying Inline Multimedia Content
US9537816B2 (en) 2007-01-23 2017-01-03 Microsoft Technology Licensing, Llc API for representing a mailbox in a message system
US7647404B2 (en) * 2007-01-31 2010-01-12 Edge Technologies, Inc. Method of authentication processing during a single sign on transaction via a content transform proxy service
US7831676B1 (en) * 2007-02-21 2010-11-09 Nagar Ajay R Method and system for handling email
US8196097B1 (en) 2007-03-02 2012-06-05 Google Inc. Method and apparatus for extending a software gadget
US10997531B2 (en) * 2007-09-11 2021-05-04 Ciambella Ltd. System, method and graphical user interface for workflow generation, deployment and/or execution
EP2042969A1 (en) 2007-09-28 2009-04-01 Alcatel Lucent Method for determining user reaction with specific content of a displayed page.
AU2008310312B2 (en) * 2007-10-12 2013-12-19 Csl Limited Method of eliciting an immune response against pandemic influenza virus
US9785916B2 (en) * 2007-10-12 2017-10-10 Yahoo Holdings, Inc. Integrating rich media into a web-based calendar
US8719121B1 (en) * 2008-01-15 2014-05-06 David Leason System and method for automated construction of time records based on electronic messages
US8196112B1 (en) * 2008-02-15 2012-06-05 Amazon Technologies, Inc. Systems and methods for testing widgets in computer environments
US8060570B2 (en) 2008-03-13 2011-11-15 SMS, ac, Inc. Systems and methods for sending and receiving e-mail on a network community platform
WO2009130605A2 (en) * 2008-04-21 2009-10-29 Vaka Corporation Methods and systems for customizing and embedding widgets in instant messages
US8291496B2 (en) * 2008-05-12 2012-10-16 Enpulz, L.L.C. Server based malware screening
EP2144406B1 (en) * 2008-07-09 2012-11-21 Research In Motion Limited Delivery of email messages with repetitive attachments
US8346615B2 (en) 2008-11-25 2013-01-01 Yodlee, Inc. Financial gadgets
US20100192224A1 (en) * 2009-01-26 2010-07-29 International Business Machines Corporation Sandbox web navigation
US8392896B2 (en) 2009-03-06 2013-03-05 Microsoft Corporation Software test bed generation
US20100257182A1 (en) 2009-04-06 2010-10-07 Equiom Labs Llc Automated dynamic style guard for electronic documents
US8626802B2 (en) 2009-07-24 2014-01-07 Apple Inc. Dynamic media content previews
US8239467B2 (en) 2009-08-19 2012-08-07 Ianywhere Solutions, Inc. Extending business processes to mobile devices
US20110054289A1 (en) 2009-09-01 2011-03-03 Adidas AG, World of Sports Physiologic Database And System For Population Modeling And Method of Population Modeling
US9032066B1 (en) * 2009-09-29 2015-05-12 Amazon Tehnologies, Inc. Virtual sandboxing for supplemental content
US20110099507A1 (en) * 2009-10-28 2011-04-28 Google Inc. Displaying a collection of interactive elements that trigger actions directed to an item
US8839138B1 (en) * 2009-12-21 2014-09-16 Symantec Corporation Systems and methods for transitioning between user interface environments
US9185064B2 (en) * 2010-01-15 2015-11-10 Microsoft Technology Licensing, Llc Interactive email
US8751633B2 (en) * 2010-04-01 2014-06-10 Cloudflare, Inc. Recording internet visitor threat information through an internet-based proxy service
US20110289162A1 (en) 2010-04-02 2011-11-24 Furlong Wesley J Method and system for adaptive delivery of digital messages
WO2011127653A1 (en) * 2010-04-14 2011-10-20 Google Inc. Enriching web resources
US20110288962A1 (en) * 2010-05-21 2011-11-24 Rankin Jr Claiborne R Apparatuses, methods and systems for a lead exchange facilitating hub
US8890890B2 (en) 2010-05-26 2014-11-18 Microsoft Corp. Pluggable web-based visualizations for applications
US8875029B1 (en) 2010-08-16 2014-10-28 Google Inc. Active mail thread
US20120054289A1 (en) * 2010-08-25 2012-03-01 Doruk Aytulu Email command systems and methods
CN101937466B (zh) 2010-09-15 2011-11-30 任子行网络技术股份有限公司 网页邮箱识别分类方法及系统
US20120081299A1 (en) * 2010-10-04 2012-04-05 Verizon Patent And Licensing Inc. Method and apparatus for providing remote control via a touchable display
US20120221571A1 (en) * 2011-02-28 2012-08-30 Hilarie Orman Efficient presentation of comupter object names based on attribute clustering
US9524531B2 (en) 2011-05-09 2016-12-20 Microsoft Technology Licensing, Llc Extensibility features for electronic communications
US9449112B2 (en) 2012-01-30 2016-09-20 Microsoft Technology Licensing, Llc Extension activation for related documents
US9092728B2 (en) 2012-04-19 2015-07-28 Microsoft Technology Licensing, Llc Providing rule based analysis of content to manage activation of web extension
US9235803B2 (en) 2012-04-19 2016-01-12 Microsoft Technology Licensing, Llc Linking web extension and content contextually
US8904550B2 (en) * 2012-06-27 2014-12-02 Blackberry Limited Selection of sandbox for initiating application

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070011258A1 (en) * 2002-09-18 2007-01-11 Advenix, Corp. (Ca Corporation) Enhancement of e-mail client user interfaces and e-mail message formats
CN101036133A (zh) * 2004-06-22 2007-09-12 J2全球通信公司 电子消息收发协议消息中图像内容的变化
US20060174078A1 (en) * 2005-01-19 2006-08-03 Alcatel System and method for executing a process on a microprocessor-enabled device
US20070239662A1 (en) * 2006-03-31 2007-10-11 Paul Fontes Expanded snippets
CN101454774A (zh) * 2006-03-31 2009-06-10 谷歌公司 协作在线电子表格应用
US20100131529A1 (en) * 2008-11-26 2010-05-27 Vishal Kasera Open entity extraction system
CN101957749A (zh) * 2009-07-20 2011-01-26 华为技术有限公司 一种生成widget的方法及装置

Also Published As

Publication number Publication date
WO2012154634A3 (en) 2013-03-28
KR20140034188A (ko) 2014-03-19
KR101897310B1 (ko) 2018-10-18
JP2014519088A (ja) 2014-08-07
WO2012154634A2 (en) 2012-11-15
US9524531B2 (en) 2016-12-20
US20170097754A1 (en) 2017-04-06
US20120290945A1 (en) 2012-11-15
EP2707849A4 (en) 2014-09-24
US20190179518A1 (en) 2019-06-13
US10241657B2 (en) 2019-03-26
EP2707849A2 (en) 2014-03-19
CN103547986A (zh) 2014-01-29
JP6043342B2 (ja) 2016-12-14
US11144180B2 (en) 2021-10-12

Similar Documents

Publication Publication Date Title
CN109086905A (zh) 用于电子通信的可扩展性特征
WO2018228211A1 (zh) 应用转换方法、装置及设备
CN106254423B (zh) 基于微服务架构实现Restful服务快速发布的方法
US20190034199A1 (en) Auto-generation of application programming interface (api) documentation via implementation-neutral analysis of api traffic
Daniel et al. Hosted universal composition: Models, languages and infrastructure in mashart
US8856658B2 (en) Representing user interactions as a synchronous action in a business process flow
AU2008206688B2 (en) Method and system for creating IT-oriented server-based web applications
US9239705B2 (en) Method and apparatus for customized software development kit (SDK) generation
US20030097639A1 (en) Inserting device specific content
US11170157B2 (en) Systems and methods for co-browsing
CN102859511A (zh) 包括社交网络系统之外的网页的社交图
US9614901B2 (en) Data infrastructure for providing interconnectivity between platforms, devices, and operating systems
Tsai et al. Service-oriented user interface modeling and composition
US10127330B2 (en) Unbounded list processing
Machiraju et al. Developing Bots with Microsoft Bots Framework
Barboni et al. Bridging the gap between a behavioural formal description technique and a user interface description language: Enhancing ICO with a graphical user interface markup language
US10936998B2 (en) Metadata-based chat wizard
US20100162213A1 (en) System and method for message choreographies of services
Cheng et al. Weaving a social fabric into existing software
CN109983488A (zh) 电子邮件项的自动化显示状态
Pierce et al. Cyberinfrastructure and Web 2.0.
Uchitel et al. Goal and scenario validation: a fluent combination
Wilson Building Node Applications with MongoDB and Backbone: Rapid Prototyping and Scalable Deployment
Honkala Web user interaction: a declarative approach based on XForms
Lovrekovic et al. Is HTML5 Right Technology for the Development of Business Software Applications?

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