CN102968312A - 用于应用扩展程序的用户界面占位符 - Google Patents

用于应用扩展程序的用户界面占位符 Download PDF

Info

Publication number
CN102968312A
CN102968312A CN2012105557099A CN201210555709A CN102968312A CN 102968312 A CN102968312 A CN 102968312A CN 2012105557099 A CN2012105557099 A CN 2012105557099A CN 201210555709 A CN201210555709 A CN 201210555709A CN 102968312 A CN102968312 A CN 102968312A
Authority
CN
China
Prior art keywords
extender
placeholder
subscriber equipment
application
user
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN2012105557099A
Other languages
English (en)
Other versions
CN102968312B (zh
Inventor
T·法雷尔
D·阿赫斯
M·奇贝利
D·莫厄特
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 Corp
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 Corp filed Critical Microsoft Corp
Publication of CN102968312A publication Critical patent/CN102968312A/zh
Application granted granted Critical
Publication of CN102968312B publication Critical patent/CN102968312B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation or generation of source code for implementing user interfaces
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/128Restricting unauthorised execution of programs involving web programs, i.e. using technology especially used in internet, generally interacting with a web browser, e.g. hypertext markup language [HTML], applets, java
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/65Updates
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/445Program loading or initiating
    • G06F9/44521Dynamic linking or loading; Link editing at or after load time, e.g. Java class loading
    • G06F9/44526Plug-ins; Add-ons
    • 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]

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Stored Programmes (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本文描述了用于应用扩展程序的用户界面占位符的概念和技术。根据本文公开的这些概念和技术,将用户界面占位符插入到用户界面中以表示已被激活或插入到应用程序或文件中的扩展程序。占位符描述扩展程序,提供用于经由权利过程来激活扩展程序的指令,显示与扩展程序相关联的可视标记和/或提供由设备响应于检测到与占位符的交互来执行的功能。在完成权利过程后,应用程序、文件、占位符或扩展程序可以手动或通过应用回调来更新以反映用户使用扩展程序的权利。

Description

用于应用扩展程序的用户界面占位符
技术领域
本发明涉及用于应用扩展程序的用户界面占位符。
背景技术
软件和应用开发者有时创建附加件、插件或其他可执行代码(“扩展程序”)以扩展软件或应用的功能。扩展程序可以在应用中插入或激活和/或被插入使用应用来交互的特定文件或结合该文件使用。扩展程序有时被插入为文档或文件中的功能块、软件生成的用户界面中呈现的任务窗格和/或应用程序中的命令、状态栏或菜单。
一些扩展程序可供软件应用的用户免费获取,而一些扩展程序是出售的。在许多情况下,可供购买的扩展程序使用多步骤过程来购买和/或激活。例如,用户可输入购买扩展程序的命令。用户可被定向或路由至诸如与扩展程序开发者或零售商相关联的网站等购买站点,或具有来自多个提供者的扩展程序的市场站点。在完成购买后,用户可返回到应用,搜索扩展程序或文档,并重启应用或刷新当前视图以访问扩展程序或执行一组步骤,诸如打开菜单和对话框和/或选择命令和选项。在某些情况下,扩展程序还必须在完成购买过程后下载和/或安装。
在某些情况下,用户可能难以定位扩展程序和/或被插入扩展程序的文件。此外,用户可能难以记住或重复先前为了到达可插入或激活扩展程序的阶段而完成的多个步骤和/或必须重复这些步骤。同样,可能没有在不关闭应用和/或文件的情况下刷新软件应用中的视图的方法。由此,寻求使用扩展程序的用户可能被迫在不记得或不可访问插入扩展程序的上下文的情况下激活或插入应用。由此,用户可能在激活和访问与所购买的扩展程序相关联的功能上面浪费时间。
本文所做出的本公开正是关于这些和其他考虑事项而提出的。
发明内容
本文描述了用于应用扩展程序的用户界面占位符的概念和技术。根据本文公开的概念和技术,用户界面占位符被插入用户界面以表示扩展程序、应用程序、应用、插件、附加件或者已经被激活或插入到应用程序或应用程序与其交互的文件中的其他软件(“扩展程序”)。在一些实施例中,向用户呈现扩展程序的列表以供选择和/或插入。扩展程序的列表可基于用户活动的上下文或基于其他考虑事项,诸如用户简档、用户使用和/或购买历史、用户先前使用或购买的扩展程序、最受欢迎的扩展程序、被评级为最喜欢的扩展程序、编辑的信息,等等。在选择扩展程序后,将表示扩展程序的占位符插入程序或文件。
占位符可描述扩展程序,提供用于激活扩展程序的指令,提供关于扩展程序的激活的状态,显示与扩展程序相关联的可视标记和/或提供由设备响应于检测到与占位符的交互来执行的功能。这些指令可以在例如时间在插入占位符和完成扩展程序的激活之间流逝的情况下随时间变化,和/或可改变以反映获取或激活扩展程序的不同阶段或操作,包括诸如记账、评论、完成激活等可以在外部网站或商店上完成的操作。根据各实施例,可以在任何特定时间插入不止一个扩展程序和/或占位符。
根据各实施例,扩展程序在被激活之前需要用户活动。用户活动可包括权利过程,该权利过程用于购买扩展程序、同意与扩展程序相关联的使用条款和/或向扩展程序开发者、零售商或另一方提交信息。权利过程的完成可以例如使用web浏览器或其他应用来在应用程序之内或在应用程序之外完成。如此处所使用的,“权利过程”包括但不限于:用于购买扩展程序的过程、用于查阅和/或接受与扩展程序相关联的使用条款的过程、用于向扩展程序开发者或零售商提交用户信息的过程、用于获取扩展程序的试用版或限制时间的试用版的过程、用于获取基本使用权或高级使用权的过程、用于为一时间段预先付费的过程、用于购买订阅的过程、和/或用于授权用户激活和/或使用扩展程序的其他过程,诸如检查用户先前是否通过在另一设备上购买扩展程序或通过做出获取权利的不同购买或动作集来接收权利。可例如通过呈现“完成”或“继续”激活的按钮来提示用户完成购买或激活过程。
在一些实施例中,权利过程由web服务器主存,但不一定如此。当用户完成权利过程时,可由用户设备接收和/或执行协议处理程序、应用回调或其他功能(下文中被称为“应用回调”)。应用回调可以在应用或设备外部、在应用或设备内部和/或与占位符相关联。其他操作是可能的,例如用户设备可激活占位符内的侦听服务以等待激活和/或权利获取,和/或激活扩展程序以供在适当时使用。由此,占位符可以在激活和/或权利过程期间提供状态或进度更新。
应用回调指示用户设备搜索占位符、与占位符相关联的扩展程序或被插入扩展程序的应用程序或文件。如果找到不止一个占位符,则可将应用回调优化成搜索最近使用的应用、操作系统中的最上面的窗口、最近交互的占位符等,以标识占位符。用户设备可定位应用、扩展程序、文件或占位符;将应用或文件带到前台;以及刷新屏幕显示以指示扩展程序的激活。在一些实现中,用户设备使用为用户示出扩展程序的激活的各种过渡效果来将占位符转换成激活扩展程序用户界面。
根据一方面,用户设备执行被配置成呈现用于与应用程序交互的用户界面的一个或多个应用程序。这些应用程序可建议供用户激活的扩展程序以扩展应用程序的功能。如上所述,可以在给用户的推荐的列表中以及通过其他机制建议扩展程序。推荐列表可以但不一定基于用户的上下文、用户简档、用户的使用和/或购买历史以及其他信息。如果用户设备接收到用于激活扩展程序的输入,则可将用户界面修改成呈现具有以下各项的占位符:对扩展程序功能的描述、用于激活扩展程序的指令以及诸如图像、图标或文本等可视标记。占位符还可包括嵌入功能并且还可用于向用户呈现建议。
根据另一方面,用户设备响应于检测到与占位符的交互来启动权利过程。权利过程可由与用户设备通信的web服务器来主存和/或执行并且使用web浏览器或其他应用程序来完成。在完成权利过程后,用户设备可下载和安装扩展程序。在其他实施例中,扩展程序由用户设备来存储。用户设备还可刷新应用程序以反映针对扩展程序的权利。
根据另一方面,占位符包括用于移除或取消对扩展程序的插入、激活和/或权利的功能。例如,如果用户决定他们不再对扩展程序感兴趣、如果扩展程序是被无意插入的或出于其他理由,则占位符可包括用于关闭或移除占位符的“取消”或“移除”按钮。用户可基于例如占位符中插入的信息来决定移除扩展程序。在一些实施例中,本文描述的应用回调被配置成在应用处发起并向诸如网站等外部系统或设备报告以取消权利或获取过程。
根据另一方面,用户设备可执行应用回调以更新占位符和/或激活扩展程序。应用回调可包括任何处理程序,包括但不限于:例如设备级的应用外部的处理程序;例如应用级的应用内部的处理程序;以及占位符级的处理程序。应用回调可被传送到用户设备或由用户设备执行。应用回调可促使用户设备搜索该应用回调所引用的占位符、扩展程序、文件或应用程序;将应用程序、文件、扩展程序或占位符带到前台;以及更新占位符以反映用户对扩展程序的权利。可以对用户界面应用过渡效果以便在需要时反映该更新。
应当理解,上述主题可被实现为计算机控制的装置、计算机进程、计算系统或诸如计算机可读存储介质等制品。通过阅读下面的详细描述并审阅相关联的附图,这些及各种其他特征将变得显而易见。
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并不旨在标识所要求保护的主题的关键特征或必要特征,也不旨在将本发明内容用来限制所要求保护的主题的范围。此外,所要求保护的主题不限于解决在本公开的任一部分中所提及的任何或所有缺点的实现。
附图说明
图1是示出用于本文所公开的各实施例的说明性操作环境的系统图。
图2是示出根据一示例性实施例的呈现用于应用扩展程序的用户界面占位符的方法的各方面的流程图。
图3是示出根据另一示例性实施例的呈现用于应用扩展程序的用户界面占位符的方法的各方面的流程图。
图4A-4H是示出根据各说明性实施例的用于呈现和修改用于应用扩展程序的用户界面占位符的用户界面的各方面的用户界面图。
图5是示出能够实现本文所呈现的实施例的各方面的计算系统的说明性计算机硬件和软件体系结构的计算机体系结构图。
图6是示出能够实现本文呈现的各实施例的各方面的分布式计算环境的图示。
图7是示出能够实现本文呈现的各实施例的各方面的计算设备体系结构的计算机体系结构图。
具体实施方式
以下具体实施方式涉及用于应用扩展程序的用户界面占位符的概念和技术。根据本文描述的概念和技术,用户界面占位符被插入用户界面以表示插件、附加件或者被激活或插入到应用程序或文件中的其他软件扩展程序(“扩展程序”)。占位符可描述扩展程序,提供用于经由权利过程来激活扩展程序的指令,显示与扩展程序相关联的可视标记和/或提供由设备响应于检测到与占位符的交互来执行的功能。根据各实施例,权力过程包括但不限于:购买使用扩展程序的权利、同意与扩展程序相关联的使用条款和/或向扩展程序开发者、零售商或其他实体提交信息以获取对扩展程序的访问。
权利过程可以在被插入扩展程序的应用程序或文件中完成或者在应用程序之外完成。在一些实施例中,例如,权利过程经由用于与主存权利过程的web服务器交互的web浏览器或独立应用来完成。当用户完成权利过程时,占位符可以手动或通过用户设备接收和/或执行的应用回调来更新。应用回调包括在被用户设备执行时指示该用户设备搜索占位符、与占位符相关联的扩展程序或被插入扩展程序的应用程序或文件的计算机可执行代码。用户设备可定位应用、扩展程序、文件或占位符;将应用或文件带到前台;以及刷新屏幕显示以指示扩展程序的激活。在一些实现中,用户设备使用为用户示出扩展程序的激活的各种过渡效果来将占位符转换成激活扩展程序用户界面。
尽管在结合计算机系统上的操作系统和应用程序的执行而执行的程序模块的一般上下文中提出了本文描述的主题,但是本领域技术人员将认识到,其他实现可以结合其他类型的程序模块来执行。一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其它类型的结构。此外,本领域技术人员将明白,可以利用其他计算机系统配置来实施本文描述的主题,这些计算机系统配置包括手持式设备、多处理器系统、基于微处理器的或可编程消费电子产品、小型计算机、大型计算机等等。
在以下详细描述中,参考了构成详细描述的一部分并作为说明示出了各具体实施方式或示例的附图。现在参考附图(贯穿若干附图中,相同的标号表示相同的元素),将提出用于应用扩展程序的用户界面占位符的计算系统、计算机可读存储介质和计算机实现的方法的各方面。
现在参考图1,将描述用于本文所提出的各实施例的一个操作环境100的各方面。图1所示的操作环境100包括用户设备102。根据各实施例,用户设备102的功能由个人计算机(“PC”)提供,诸如台式、平板或膝上型计算系统;服务器计算机;诸如手持式计算机、平板计算机等移动计算设备;或者另一种类型的计算设备。在某些实施例中,用户设备102被配置成与通信网络(“网络”)104进行通信操作,但未必如此。网络104可包括任何类型的通信网络或通信网络的任何组合。因为用户设备102可以在独立计算环境中操作,所以应当理解,图1所示的实施例是说明性的,且不应被解释为以任何方式构成限制。
用户设备102被配置成执行操作系统106以及一个或多个应用程序108。操作系统106是用于控制用户设备102的操作的计算机程序。应用程序108是被配置成在操作系统106的上面执行以便为用户设备102提供各种类型的功能的可执行程序。在一些实施例中,例如应用程序108包括一个或多个应用程序或应用程序套件,诸如web浏览器、客户关系管理软件、个人信息管理软件、生产力软件、其他应用程序、以上各项的组合,等等。例如,在用户设备102的一个构想的实施例中,应用程序108包括来自华盛顿州雷蒙德市的微软公司的MICROSOFT OFFICE家族产品中的一个或多个成员。应该理解,该实施例是示例性的,并且不应被解释为以任何方式构成限制。
应用程序108可以创建、保存、修改一个或多个文档或其他文件(下文中统称和/或一般地称为“文件”)和/或对这些文件执行操作。在一些实施例中,文件包括MS WORD文档文件;MS EXCEL电子表格文件;MS POWERPOINT演示文件;MS ACCESS数据库文件;和/或其他类型的文件或文档。因为本文描述的概念和技术可用于任何类型的软件,所以应当理解应用程序108和文件的这些实施例是说明性的,且不应被解释为以任何方式构成限制。
在本文描述的概念和技术的各种实现中,计算设备102执行的应用程序108被配置成与一个或多个插件、附加件、扩展程序或其他软件(下文中统称和/或一般地称为“扩展程序”)110交互。尽管被示为存储在用户设备102处,但应当理解,扩展程序110可被存储在远离用户设备102的位置,并且由用户设备102在如下文中更详细描述的那样安装或激活扩展程序110后下载。一旦安装和/或激活,扩展程序110就可与应用程序108交互,可支持外部资源或计算设备经由网络104与应用程序108的交互和/或可启用其他功能。根据各实施例,扩展程序110包括但不限于web附加件和/或其他类型的扩展程序。应该理解,该实施例是示例性的,并且不应被解释为以任何方式构成限制。
应用程序108还被配置成生成一个或多个用户界面(“UI”)112。UI112可以向用户提供用于与同应用程序108相关联的功能交互的可视界面。UI112还可包括用于访问与扩展程序110相关联的功能的UI控件。因此,例如应用程序108呈现的UI112可被修改成包括用于在扩展程序110被安装和/或激活时访问与一个或多个扩展程序110相关联的功能的控件。UI112还可呈现用于指示可用扩展程序110和/或未被激活的扩展程序110的一个或多个占位符114。
如此处所使用的,诸如占位符114等“占位符”是可担当用于侦听改变的处理程序的可执行代码的可视指示符和/或容器。占位符114由扩展程序110和/或应用程序108插入UI112,以指示与扩展程序110相关联的功能可供购买、下载、安装和/或激活。根据本文描述的概念和技术的各实施例,用户设备102接收用于将扩展程序110插入应用程序108或使用应用程序108来交互的文件中的输入。响应于该输入,用户设备102将占位符114插入UI112以便向用户可视地指示扩展程序110的可用性、与扩展程序110相关联的功能是什么,以及向用户提供可访问与扩展程序110相关联的功能之前的剩余步骤的可视提示。
占位符114可包括诸如扩展程序110的标题、图像、图标等可视标记和/或与扩展程序110相关联的功能的文本描述和/或用于激活和/或购买扩展程序110的用户界面控件。占位符114还可提供用于完成购买或其他权利过程的各种视图和/或用户界面。如此处所使用的,“权利过程”包括购买过程以及可以完成以获取对扩展程序的访问的其他过程,诸如接受使用条款、提交用户信息、创建网站、零售商或其他位置处的帐户、请求下载或激活扩展程序110的试用版本、其他过程等等。在一些实施例中,占位符114包括用于例如在用户完成购买或其他权利动作后继续激活扩展程序110的“继续”或“完成”按钮或其他功能;用于例如在扩展程序110是被无意插入的或者用户改变他或她的主意的情况下移除或取消对扩展程序110的激活或插入的“取消”或“移除”按钮;其他功能,等等。权利过程的这些和其他方面可经由占位符114呈现的用户界面来控制,经由在用户设备102处执行的其他应用程序108来控制和/或由嵌入在占位符114中的计算机可执行代码来促进。
根据一些实现,操作环境100包括作为网络104的一部分操作或与网络104通信的一个或多个web服务器116。用户设备102可被配置成经由网络104与web服务器116进行通信以完成权利过程,获取与扩展程序110相关联的信息和/或下载扩展程序110。在一些实施例中,web服务器116主存被配置成存储和/或执行权利过程的服务器应用118。服务器应用118还可管理扩展程序数据120和/或扩展程序110的主存和/或服务。用户设备102可响应于检测到执行以下操作的请求而访问web应用118:在为用户生成扩展程序建议时在用户设备102处购买扩展程序110或者在完成权利过程后或在其他时间下载扩展程序110。
根据各实施例,用户设备102请求关于扩展程序110的信息并且web服务器116通过提供扩展程序数据120来进行响应。扩展程序数据120可包括但不限于描述数据、指令数据、可视标记数据、功能数据、其他数据等等。描述数据可描述扩展程序110并且可包括例如标题信息、描述扩展程序110的功能的信息、指示扩展程序110的一个或多个版本的价格的价格信息、试用版本信息、其他信息等等。指令数据可包括用于激活和/或购买扩展程序110的指令和其他信息。可视标记可包括图像、图标或其他可视信息。功能数据可包括在用户或应用程序108访问或激活扩展程序110时在用户设备102处执行的计算机可执行指令。
web服务器116还可被配置成存储一个或多个应用回调122。应用回调122是在被用户设备102执行时促使任何数量的动作的计算机可执行指令。在一些实施例中,例如应用回调122的执行促使用户设备102在应用程序108中搜索应用回调122标识的应用,确定应用回调122标识的任何扩展程序110是否被插入文档或在用户设备102处执行的应用中,和/或对扩展程序110采取各种动作。应用回调122还可促使用户设备102搜索占位符114。如将在下文中更详细地解释的,应用回调122可以从web服务器116传递至用户设备102以激活扩展程序110,刷新一个或多个应用程序108呈现的屏幕显示,将特定应用程序108带到前台,将占位符114滚动到文档中的试图和/或出于其他目的。应用回调122的这些和其他方面在下文中(具体参考图3)被更详细地示出和描述。
根据一些实施例,应用回调122包括一个或多个协议处理程序。根据一些实施例,应用回调122被配置成查验应用回调web服务以确定扩展程序110是否准备好被安装或激活。在另一实施例中,应用回调122维护对应用回调web服务的开放http://请求。在该实施例中,该请求可以在请求超时的情况下更新。当扩展程序110准备好被激活时,web服务器116可通过经由应用回调web服务向占位符114发送响应来回调。根据又一实施例,web浏览器被用来完成权利过程。在该过程期间,由web服务器116向用户设备102写入cookie。用户可简单地输入ALT-TAB键击命令以返回到应用窗口UI112,并且在操作系统将焦点返回给应用时,该应用可以在对扩展程序110的授权完成的情况下使用该事件来发起从cookie的读取。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
根据一个实施例,应用程序108生成附加件或其他扩展程序建议以供呈现给用户。响应于接收到用于激活扩展程序110或将扩展程序110插入应用程序108或经由应用程序108来交互的文件中的输入,用户设备102将占位符114插入应用程序108呈现的用户界面122。占位符114包括描述扩展程序110的数据、用于激活扩展程序110的指令、诸如图像或文本等可视标记以及可促进用户设备102的各种动作的嵌入式功能。如上所述,数据可作为扩展程序数据120从web服务器116或其他设备下载。
响应于检测到来自用户的用于激活或购买扩展程序110的输入,用户设备102可访问web服务器116以完成权利过程。在完成权利过程后,web服务器116可以向用户设备102发出应用回调122。应用回调122包括在被用户设备102执行时使得用户设备102搜索应用回调122所引用的应用程序108、占位符114或文件的计算机可执行指令。应用回调122还可命令用户设备102从web服务器116或从另一下载位置下载扩展程序110。
当标识出所引用的应用程序108、占位符114或文件时,用户设备102将应用程序108或文件带到前台,刷新视图和/或占位符114并呈现激活的扩展程序110。在一些实施例中,用户设备102使用可视过渡效果来更新占位符114以便向用户指示占位符114被激活的扩展程序110替换。由此,用户的注意力可被吸引到新激活的扩展程序110。
在一些实施例中,web服务器116可被配置成在权利过程期间为用户生成新的、替换或促销建议。例如,用户可接收到购买标题为“扩展程序A”的扩展程序110的建议,并且可选择该扩展程序110。响应于该选择,对应于“扩展程序A”的占位符可被放置在文档或UI112中。在本文描述的权利过程期间,用户可被建议升级至“扩展程序B”或其他扩展程序110。响应于选择该建议,用户设备102可以用对应于“扩展程序B”的占位符来更新占位符114。应该理解,该实施例是说明性的,并且不应被解释为以任何方式构成限制。
同样,虽然本说明书为了简明起见描述了具有单个占位符114的实施例,但应理解,用户设备102可被配置成插入多个占位符114。占位符114可以彼此相关或不相关,并且可以彼此不同或者可以不彼此不同。例如,除了具有不同的底层功能之外,占位符114还可包括一个或多个内容web附加件和任务窗格web附加件、其它类型的扩展程序110等。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
图1示出一个用户设备102、一个网络104以及一个web服务器116。然而,应该理解,操作环境100的一些实现包括多个用户设备102、多个网络104、以及多个web服务器116。因此,所示实施例应该被理解为说明性的,并且不应该被解释为以任何方式构成限制。
现在转向图2,根据一说明性实施例,将详细描述用于呈现用于应用扩展程序的用户界面占位符的方法200的各方面。应该理解,不一定按任何特定次序来呈现此处公开的方法的操作,并且构想了用替换次序来执行部分或全部操作是可能的。为了易于描述和说明,按所示次序来呈现各操作。可以添加、省略和/或同时执行操作,而不脱离所附权利要求书的范围。
还应该理解,所示方法可以在任何时候结束并且不必完整地执行。本文描述的方法的一些或全部操作和/或基本上等效的操作可以通过执行计算机存储介质上所包括的计算机可读指令来执行,如此处定义的。如在说明书和权利要求书中使用的术语“计算机可读指令”及其变型,在本文是用来广泛地包括例程、应用、应用模块、程序模块、程序、组件、数据结构、算法等等。计算机可读指令可以在各种系统配置上实现,包括单处理器或多处理器系统、小型计算机、大型计算机、个人计算机、手持式计算设备、基于微处理器的可编程消费电子产品、其组合等等。
因此,应该理解,本文所述的逻辑操作被实现为:(1)一系列计算机实现的动作或运行于计算系统上的程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。取决于计算系统的性能及其他要求,该实现是设计问题。因此,此处描述的逻辑操作被不同地称为状态、操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑、及其任何组合来实现。
处于阐明和描述本公开的各概念的目的,此处公开的各种方法被描述为由用户设备102经由执行一个或多个应用程序108来执行。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。方法200开始于操作202,其中用户设备102建议扩展程序110。根据各实现,一个或多个应用程序108可建议供在用户设备102处插入或激活的扩展程序110。建议还可由与用户设备102通信的其他设备或应用来生成。建议可基于例如诸如应用程序108与其交互的文件等上下文信息、与用户设备102相关联的扩展程序购买和/或激活历史、扩展程序更新或可用性,等等。
在一些实施例中,建议在应用窗口或与一个或多个应用程序108相关联的其它UI112中被提供给用户。例如,建议可以在附加件管理窗口或菜单中提供。在其他实施例中,建议在占位符114内示出。在又一些其他实施例中,建议在应用用户界面中示出。用于在附加件管理窗口中呈现建议的用户界面的一个构想的示例以下参考图4A来示出和描述。在其他实施例中,建议可以在需要时在警告窗口、侧面板或应用程序108之外提供。由此,应当理解,添加扩展程序110的建议能够以各种方式提供。出于描述本文公开的概念和技术的目的,建议被描述为在附加件管理菜单或窗口中提供。应该理解,该实施例是示例性的,并且不应被解释为以任何方式构成限制。
方法200从操作202继续至操作204,其中用户设备102接收用于激活诸如所建议的扩展程序110等扩展程序110的输入。在一些实施例中,用户可点击激活扩展程序110或将其插入应用程序108或应用程序108与其交互的文件中的选项。该输入可经由用户设备102支持的任何种类的输入来接收,包括但不限于鼠标点击、手指轻击、语音命令、键击命令、以上各项的组合,等等。
方法200从操作204继续至操作206,其中用户设备102将占位符114插入一个或多个应用程序108呈现的UI112中。占位符114向用户提供扩展程序110可用和/或已经被插入文档或另一文件中的可视指示符。占位符114还指示在没有用户的附加动作的情况下扩展程序110未被激活或不可用。例如,占位符114可指示扩展程序110需要用户完成购买过程、条款同意过程、信息提交过程或授权用户使用或激活扩展程序110的其他步骤。应该理解,该实施例是示例性的,并且不应被解释为以任何方式构成限制。
根据各实现,占位符114被插入菜单、命令带状条、文档或另一文件;应用程序108呈现的UI112;或其他地方。占位符114可包括图标、图像、菜单、侧面板或另一用户界面对象。占位符114可包括各种数据,包括但不限于以上参考图1示出和描述的扩展程序数据120。由此,尽管未在图2中示出,但应理解,用户设备102可以在建议扩展程序110时、在接收到用于激活扩展程序的输入时或在其他时候请求、访问和/或接收来自web服务器116的扩展程序数据120,并将该信息作为占位符114的一部分或作为占位符114来呈现。
方法200从操作206继续至操作208,其中用户设备102发起、提示、开始或启动(“启动”)权利过程。由此,应当理解,权利过程可以自动或手动发起。在一些实施例中,权利过程由用户设备102经由与web服务器116交互来完成。由此,用户设备102可访问web服务器116,标识扩展程序110和/或应用程序108并启动权利过程。权利过程可包括到市场搜索扩展程序110或其他项目,为扩展程序110付费、接受与扩展程序110相关联的使用条款、获取用于扩展程序110的激活码和/或提交诸如用户信息等数据,等等。
在一些实施例中,权利过程由用户设备102经由用于访问web服务器116的web浏览器或独立应用来启动。在其他实施例中,应用程序108、扩展程序110和/或占位符114包括用于启动购买或以其他方式获取使用扩展程序110的权利的应用内权利过程的功能。用于进行权利过程的一些构想的用户界面以下参考图4C和4D来示出和描述。
尽管未在图2中示出,但权利过程可由用户设备102响应于以下动作来启动:将占位符114插入应用程序108或文件中、检测到指示与占位符114的用户交互的点击或其他用户输入、用户选择激活扩展程序110的选项或其他动作。在一些实施例中,如果扩展程序110尚未被激活,则用户设备102在每一次在用户设备102处打开具有所插入的扩展程序110的应用程序108或文件时自动地启动权利过程。可以从本说明书中认识到,用户设备102可通过检测一个或多个占位符114在应用程序108或文件中的存在来确定非活动扩展程序110是否被插入应用程序108或文件中。应当理解,这些实施例是说明性的,而不应被解释为以任何方式构成限制。
如此处所使用的,权利过程可包括通过完成支付过程来购买扩展程序110或与扩展程序110相关联的功能的过程。权利过程还可包括可以是授权用户使用扩展程序110所必需的其他过程。例如,一些扩展程序110可被提供为在激活或使用之前需要用户同意使用条款或提交信息的试用版本或免费版本。由此,权利过程还可包括同意条款或提交信息。在其他实施例中,权利过程包括在web服务器116上创建服务帐户或例如向web服务器116提交信息。因为扩展程序开发者或零售商可能需要其他步骤,所以这些实施例应被理解为是说明性的并且不应被解释以任何方式构成限制。
方法200从操作208继续至操作210,其中用户设备102确定操作208中启动的权利过程是否完成。在一些实施例中,用户设备102可以主动监视或检查权利过程的状态以确定权利过程何时完成。在其他实施例中,用户设备102被动等待权利过程已经完成的指示。在一些实施例中,该指示通过如在图1中解释的并且将在下文中参考图3更详细地描述的应用回调122来出现。在其他实施例中,用户设备102接收用于以下动作的命令:刷新插入扩展程序110的应用程序108或文件以指示权利过程已经完成。在又一些其他实施例中,占位符114等待直到UI112再次聚焦于操作系统或浏览器中的最上面的窗口,并且将该指示用作权利过程完成的指示。因为构想用于检测权利过程的完成的其他实施例,所以应当理解这些实施例是说明性的,且不应被解释为以任何方式构成限制。
如果用户设备102在操作210中确定权利过程未完成,则方法200可返回到操作210。因此,用户设备102可以在操作210处暂停方法200的执行,直到用户设备102确定权利过程完成。如果用户设备102在操作210的任何迭代中确定权利过程已完成,则方法200继续至操作212。
在操作212,用户设备102更新操作206中插入的占位符114。用户设备102可被手动促使更新占位符114或可自动更新占位符114。在一些实施例中,例如使用应用回调122来更新占位符114,如以下参考图3示出和描述的。在其他实施例中,占位符114包括用户选择来更新占位符114的“继续”或“完成”按钮;用户或用户设备102可重启插入占位符114的应用以更新占位符114;用户或用户设备102可刷新应用的屏幕以更新占位符114;用户或用户设备102可经由例如ALT-TAB键击命令来访问应用以访问应用窗口并刷新视图;或者可使用其他功能来促进对占位符114的更新。
如此处所解释的,占位符114可指示扩展程序110可用或者已被插入,但扩展程序110的功能出于某种原因而受限。由此,操作212可包括更新占位符114以指示扩展程序110现在已被激活或可用。在一些实施例中,用户设备102使用一个或多个过渡效果来更新占位符114以指示对扩展程序110的激活。过渡效果的一个构想的实施例以下参考图4F-4H来示出和描述。尽管未在图2中示出,在权利过程完成后,用户设备102可被配置成作为占位符114的更新的一部分或者在占位符114的更新完成之前下载扩展程序110。
此外,尽管未在图2中示出,本文公开的概念和技术的一些实施例包括响应于完成占位符114的更新来呈现、推荐和/或插入占位符114。由此,例如本文描述的权利过程的完成可导致由现在激活的占位符114注入附加占位符114,并且每一个新占位符114或新占位符114的集合还可要求在激活之前授权。在其他实施例中,作为占位符114的激活的一部分,新占位符114可被插入为试用版本。应该理解,该实施例是说明性的,并且不应被解释为以任何方式构成限制。
方法200从操作212继续至操作214。该方法200在操作214结束。
现在转向图3,根据另一说明性实施例,将详细描述用于呈现用于应用扩展程序的用户界面占位符的方法300的各方面。方法300开始于操作302,其中用户设备102向用户建议扩展程序110。方法300从操作302继续至操作304,其中用户设备接收用于激活扩展程序110的输入。方法300从操作304继续至操作306,其中用户设备将占位符114插入一个或多个应用程序108呈现的UI112中。方法300从操作306继续至操作308,其中用户设备102启动权利过程。应当理解,操作302-308可以但不一定与以上参考图2所示的方法200描述的操作202-208相似或甚至相同。
方法300从操作308继续至操作310,其中用户设备102接收或执行应用回调122以指示权利过程的完成。在一个构想的实施例中,应用回调122被包括在由web浏览器查看的网页中以完成权利过程。由此,应用回调122可由用户设备102在权利过程期间访问。如上文所解释的,应用回调122可包括在由用户设备102执行时使得用户设备102搜索特定应用程序108、扩展程序110和/占位符114的计算机可执行指令。在所示实施例中,应用回调122由web服务器116提供并且包括标识在操作308中对其启动权利过程的扩展程序110的数据。
在其他实施例中,对应于应用回调122的计算机可执行代码被传送到用户设备102并被用来触发本文描述的各种功能。例如,web服务器116可被配置成响应于检测到权利过程完成而发出应用回调122,但未必如此。在操作310中接收到或执行的应用回调122可标识扩展程序110、插入扩展程序110和/或占位符114的应用程序108以及指示用户或用户设备102现在被授权使用扩展程序110的信息。在各实施例中,应用回调122包括丰富的参数,这些参数指示例如试用模式、将由用户采取的附加步骤、刷新呈现占位符114的UI的命令和/或其他参数。在所示实施例中,以下描述的操作312-316由应用回调122来促进,但未必如此。
在又一些其他实施例中,应用程序108包括由用户设备102执行的web浏览器或基于web的OS。浏览器或基于web的OS可由用户设备102执行以访问web服务或web应用。扩展程序110可对应于用户为web应用购买的web扩展程序,并由此在各实施例中可由回调函数或类似功能来提供此处针对应用回调122描述的功能。由此,本文针对应用回调122公开的实施例示出了一些构想的实施例,并且不应被解释为以任何方式构成限制。
方法300从操作310继续至操作312,其中用户设备102将用户设备102的焦点返回到应用回调122标识的应用程序108。在一些实施例中,例如以下参考图4C示出的实施例,权利过程在应用程序108内完成并由此可跳过操作312。在其他实施例中,例如以下参考图4D示出的实施例,用户设备102在除了已经插入扩展程序110或占位符114的应用程序108之外的应用程序108之一中启动权利过程。由此,操作312可包括将用户设备102的焦点返回到已经插入扩展程序110或占位符114的应用程序108。
在一些实施例中,操作312包括将应用程序108带到屏幕显示的前台。在其他实施例中,操作312将用户设备102的焦点返回到应用程序108而不更新屏幕显示。由此,参考操作312描述的功能可以在需要时在对用户不可见的情况下执行,或者可以在用户可见的情况下完成以便将用户的注意力吸引到应用程序108。
方法300从操作312继续至操作314,其中用户设备102在应用程序108中定位占位符114。应用回调122可通过名称或其他标识符来标识应用程序108、扩展程序110和/或占位符114。由此,用户设备102可搜索应用程序108、扩展程序110和/或占位符114。
方法300从操作314继续至操作316,其中用户设备102更新占位符114。用户设备102将占位符114修改成改为提供用于访问扩展程序110的活动用户界面控件。如上所述,用户设备102可提供各种可视过渡效果以便在需要时指示更新占位符114。由此,用户设备102可通过执行操作312-316来被配置成将用户的注意力吸引到扩展程序110并向用户可视地表示扩展程序110已被激活。一个构想的过渡效果以下参考图4F-4H来示出和描述。尽管未在图3中示出,但用户设备102还可被配置成在权利过程完成后下载扩展程序110。
方法300从操作316行进至操作318。该方法300在操作318结束。
现在转向图4A-4H,将根据各说明性实施例来描述示出本文描述的用于呈现用于应用扩展程序的用户界面占位符的概念和技术的各方面的UI图。具体而言,图4A示出了由在用户设备102处执行的一个或多个应用程序108生成的屏幕显示400A。在所示实施例中,屏幕显示400A由来自华盛顿州雷蒙德市的微软公司的文字处理软件应用的MICROSOFT WORD家族中的一个成员来生成。应该理解,该示例是说明性的,并因此不应被解释为以任何方式构成限制。
如图4A所示,屏幕显示400A包括应用窗口402。应用窗口402可包括各种菜单和/或菜单选项。在所示实施例中,应用窗口402包括命令带状条404。在其他实施例中,命令带状条404被省略或补充有其他菜单、命令选项等。屏幕显示400A还可呈现选项窗口406,该选项窗口用于管理与应用窗口402相关联的应用程序108的各方面。选项窗口406包括用于呈现各种选项的选项菜单408。选项菜单408中示出的选项包括用于查看和管理附加件或其他扩展程序的附加件选项410。附加件选项410在图4A中被示为是突出显示的,以便指示该附加件选项410已被选择和/或当前是选项窗口406的焦点。应该理解,该实施例是说明性的,并且不应被解释为以任何方式构成限制。
对附加件选项410的选择可促使用户设备102修改选项窗口406以显示附加件细节窗口412。附加件细节窗口412呈现活动和非活动附加件,以及描述这些活动和/或非活动附加件的信息。根据本文公开的概念和技术的各种实现,附加件细节窗口412包括建议区域414,该建议区域414用于呈现所建议的扩展程序或其他附加件416A-C(下文中统称和/或一般地称为“所建议的附加件416”)以及与所建议的附加件416相关的信息,诸如与所建议的附加件416相关联的存储位置、与所建议的附加件416相关联的附加件类型和/或其他信息(未示出)。
如上文参考图1-3所示,所建议的附加件416能够以多种方式提供给用户,并由此所示实施例必须被理解为是说明性的。具体而言,本文公开的概念和技术的其他实施例包括在警告窗口中、在电子消息中、在UI112中的占位符114中或作为占位符114、在文档或其他文件中或经由其他方法来呈现所建议的附加件416。
在图4A所示的实施例中,用户选择了所建议的附加件416B的表示并正在选择“确定”选项418以接受对所建议的附加件416B的选择。为了方便说明,鼠标指针420被示为用于选择图4A中的确定选项418。然而,应当理解,本文公开的概念和技术的实施例包括使用基于触摸的界面、语音命令驱动的界面和/或其他用户界面的实现。由此,应该理解,该示例是说明性的,并且不应被解释为以任何方式构成限制。
现在转向图4B,将根据另一说明性实施例来描述用于呈现用于应用扩展程序的用户界面占位符的概念和技术的其他方面。具体而言,图4B示出了由在用户设备102处执行的一个或多个应用程序108生成的屏幕显示400B。应当理解,图4B所示的屏幕显示400B是说明性的并且不应被解释为以任何方式构成限制。
图4B所示的屏幕显示400B可以但不一定由用户设备102响应于对图4A中的确定选项418的选择来生成。由此,屏幕显示400B包括占位符114。占位符114可被插入由用户设备102响应于检测到将扩展程序110插入应用程序108或使用应用程序108来交互的文件中的命令而生成的屏幕显示400B中。在一些实施例中,屏幕显示400B被用来通过占位符114而不是响应于插入所建议的扩展程序110来呈现所建议的附加件。
如上所述,占位符114可包括标记430。标记430可包括例如与占位符114相关联的扩展程序110的文本描述、与扩展程序110相关联的图像或图标、用于激活或使用扩展程序110的指令等。因为占位符114可用于建议扩展程序110,所以占位符114还可包括扩展程序110和/或诸如图4A所示的所建议的附加件416等所建议的附加件的广告。占位符114还可包括可由用户设备102响应于检测到用于与占位符114交互的点击或其他用户输入来执行的功能,如上文参考扩展程序数据120所解释的。在一个实施例中,点击或以其他方式与占位符114交互可启动web浏览器或其他应用程序108以购买扩展程序110。
虽然占位符114被示为被插入命令带状条404中,但应理解,该实施例是说明性的。具体而言,本文公开的用于呈现占位符114的概念和技术可用于将占位符114呈现为任务窗格、侧面板或其他位置。另外,本文公开的概念和技术可用于在注入游戏环境、照片幻灯片演示等其他应用程序108中提供占位符114。
例如,占位符114可以在游戏环境中提供以允许用户在游戏环境中购买物体或人物。例如游戏环境中的人物可被示为占位符114。在该示例中,对应于人物的占位符114可被示为具有标记430的骨架或轮廓,该标记指示可购买在该示例中是人物的扩展程序110。类似地,幻灯片演示中的占位符114可包括具有标记430的照片的低分辨率版本,该标记指示用户可购买该照片的高分辨率版本,即扩展程序110。由此,此处针对占位符114和扩展程序110提供的示例可被理解为是说明性的并且不应被解释为以任何方式构成限制。具体而言,本文公开的提供用于扩展程序110的占位符114的概念和技术可以在任何类型的应用程序108和/或应用环境中提供。
现在转向图4C,将根据另一说明性实施例来描述用于呈现用于应用扩展程序的用户界面占位符的概念和技术的其他方面。具体而言,图4C示出了用户设备102生成的屏幕显示400C。应当理解,图4C所示的屏幕显示400C是说明性的并且不应被解释为以任何方式构成限制。
图4C所示的屏幕显示400C可以但不一定是用户设备102响应于检测到与占位符114的交互而生成的。例如,占位符114可包括用于购买、激活或以其他方式获取对与占位符114相关联的扩展程序110的授权的UI控件,但未必如此。如图所示,屏幕显示400C正在显示扩展程序购买窗口440。根据各实施例,扩展程序购买窗口440可以从占位符114中启动。由此,在诸如图4C所示的实施例等一些实施例中,占位符114可被扩展成包括扩展程序购买窗口440。应该理解,该实施例是示例性的,并且不应被解释为以任何方式构成限制。扩展程序购买窗口440包括购买细节区域442。应当理解,扩展程序购买窗口440可提供各种视图或显示画面以引导用户通过购买或其他权利过程。例如,扩展程序购买窗口440可包括为用户呈现用于提供购买细节区域442中示出的信息的字段的视图,但未必如此。
在一些实施例中,权利过程包括同意使用条款、签约免费试用版、提交用户信息或图4C中未示出的其他过程。由此,图4C所示的实施例是说明性的,且不应当被解释为以任何方式构成限制。扩展程序购买窗口440还显示用于结束扩展程序购买或权利过程的提交UI控件444以及用于退出权利过程的取消UI控件446。对图4C所示的提交UI控件444的选择可完成购买过程,下载扩展程序110和/或使得web服务器116或其他设备发出应用回调122以便在需要时更新占位符114。如图4C所示,用户可使用他或她的手指或其他输入来选择提交UI控件444。
如上文所解释的,本文公开的概念和技术还可用于在已经插入扩展程序110的应用程序108之外启动权利过程。例如,用户设备102可以启动web浏览器或其他应用程序108以便在需要时完成权利过程。图4D示出了用于提供在应用程序108之外完成权利过程的实施例的屏幕显示400D的示例。
图4D所示的屏幕显示400D包括订单汇总查阅区域450。如图4D所示,订单汇总查阅区域可以在诸如浏览器窗口452等另一应用窗口中示出。如上文所解释的,对占位符114的选择可使得用户设备102启动插入占位符114的应用程序108外部的web浏览器或其它应用,以完成权利过程。在图4D所示的实施例中,对占位符114的选择使得用户设备102在浏览器窗口452中启动web浏览器以完成权利过程。应该理解,该实施例是说明性的,并且不应被解释为以任何方式构成限制。
订单汇总查阅区域450可包括用于完成扩展程序110的购买的提交选项454。订单汇总查阅区域450还可包括用于退出权利过程的取消选项456。如图4D所示,订单汇总查阅区域450可指示订单、用户、递送和支付信息。在一些实施例中,订单汇总查阅区域450指示用户同意的使用条款或要求,但不需要或显示支付信息。由此,所示实施例应被理解为是说明性的,且不以任何方式构成限制。从以上描述中应当理解,对提交选项454的选择可促使发出或执行应用回调122。类似地,对提交选项454的选择可促使下载和/或安装扩展程序110。
现在转向图4E,将根据又一说明性实施例来描述用于呈现用于应用扩展程序的用户界面占位符的概念和技术的其他方面。具体而言,图4E示出了由用户设备102响应于检测到权利过程的完成而生成的屏幕显示400E。应当理解,图4E所示的屏幕显示400E是说明性的并且不应被解释为以任何方式构成限制。
图4E所示的屏幕显示400E可以但不一定由用户设备102响应于检测到对图4C所示的提交UI控件444或图4D所示的提交选项454的选择而生成。如图所示,屏幕显示400E包括用于访问与扩展程序110相关联的功能的UI控件460。在图4E所示的实施例中,UI控件460被示为用于呈现与扩展程序110相关联的各种功能的任务窗格或侧面板。从以上描述中应该理解,占位符114能够以与图4E所示的UI控件460的格局相似或甚至相同的格局显示。
现在转向图4F-4H,将描述本文公开的用于呈现用于应用扩展程序的用户界面占位符的概念和技术的其他方面。具体而言,图4F-4H示出了将占位符114转变成用于访问扩展程序110的UI控件的示例过渡效果。因为各种过渡效果被构想且是可能的,所以图4F-4H所示的过渡效果应被理解为是说明性的。
当确定权利过程完成时,过渡效果可以例如被应用于图4B所示的占位符114。响应于确定权利过程已完成,用户设备102可更新屏幕显示400B以呈现动画化的转变,包括屏幕显示400F、屏幕显示400G、屏幕显示400H和/或其他屏幕显示。在所示实施例中,占位符114的标记430转变以动画化滚动,以查看新标记470。新标记470可通过呈现用于提供与扩展程序110相关联的各种功能的UI控件472、474来指示权利过程完成。由此,占位符114可被转变以提供用于访问激活的扩展程序110的全能UI控件476。
在一些构想的实施例中,应用过渡效果,包括:将占位符114滚动到视图外并将用于访问激活的扩展程序110的UI控件476滚动到视图内;交叉消隐占位符114和用于访问激活的扩展程序110的UI控件476;消隐占位符114以展现用于访问激活的扩展程序110的UI控件476;同时对占位符114和用于访问激活的扩展程序110的UI控件476进行淡出和淡入;和/或其他效果。因为过渡效果可以跨大量动画帧来动画化,所以应当理解所示屏幕显示400B、400F、400G和400H阐明过渡效果且不应被解释为是限制性的。
图5示出了能够执行本文描述的用于呈现用于应用扩展程序的用户界面占位符的软件组件的设备的说明性计算机体系结构500。因此,图5中所示的计算机架构500示出了用于服务器计算机、移动电话、PDA、智能电话、台式计算机、上网本计算机、平板计算机和/或膝上型计算机的体系结构。计算机体系结构500可用于执行本文所呈现的软件组件的任何方面。
图5所示的计算机体系结构500包括中央处理单元502(“CPU”)、包括随机存取存储器504(“RAM”)和只读存储器(“ROM”)506的系统存储器508、以及将存储器504耦合至CPU502的系统总线510。基本输入/输出系统被存储在ROM508中,该系统包含帮助诸如在启动期间计算机体系结构500中的元件之间传递信息的基本例程。计算机体系结构500还包括用于存储操作系统106、应用程序108、扩展程序110和/或其他应用程序的大容量存储设备512。大容量存储设备512还可被配置成在需要时存储UI112和/或其他数据。尽管未在图5中示出,但应理解,大容量存储设备512还可存储占位符114、扩展程序数据120、应用回调122和/或其他数据。
大容量存储设备512通过连接至总线510的大容量存储控制器(未示出)连接到CPU502。大容量存储设备512及其相关联的计算机可读介质为计算机体系结构500提供非易失性存储。虽然对此处包含的计算机可读介质的描述引用了诸如硬盘或CD-ROM驱动器之类的大容量存储设备,但是本领域的技术人员应该明白,计算机可读介质可以是可由计算机体系结构500访问的任何可用计算机存储介质或通信介质。
通信介质包括诸如载波或其它传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块或其它数据,且包含任何传递介质。术语“已调制数据信号”指的是其一个或多个特征以在信号中编码信息的方式被更改或设定的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。上述的任意组合也应包括在计算机可读介质的范围之内。
作为示例而非限制,计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。例如,计算机介质包括但不限于,RAM、ROM、EPROM、EEPROM、闪存或其他固态存储器技术、CD-ROM、数字多功能盘(“DVD”)、HD-DVD、蓝光(BLU-RAY)或其他光学存储、磁带盒、磁带、磁盘存储或其他磁性存储设备、或能用于存储所需信息且可以由计算机体系结构500访问的任何其他介质。为了权利要求书的目的,短语“计算机存储介质”及其变型不包括波、信号和/或其他瞬态和/或无形通信介质本身。
根据各实施例,计算机体系结构500可以使用通过诸如网络104之类的网络到远程计算机的逻辑连接来在联网环境中操作。计算机体系结构500可以通过连接至总线510的网络接口单元516来连接到网络104。应当明白,网络接口单元516还可以被用来连接到其它类型的网络和远程计算机系统,例如,web服务器116和/或其他系统或设备。计算机体系结构500还可以包括用于接收和处理来自多个其他设备的输入的输入/输出控制器518,这些设备包括键盘、鼠标或者电子指示笔(未在图5中示出)。类似地,输入/输出控制器518可以提供至显示屏、打印机或其他类型的输出设备(也未在图5中示出)的输出。
应当理解,本文所描述的软件组件在被加载到CPU502中并被执行时可以将CPU502和总体计算机体系结构500从通用计算系统变换成为方便本文所提出的功能而定制的专用计算系统。CPU502可以用任意数量的晶体管或其他分立的电路元件(它们可以分别地或共同地呈现任意数量的状态)构建。更具体地,CPU502可以响应于包含在本文所公开的软件模块中的可执行指令来作为有限状态机进行操作。这些计算机可执行指令可以通过指定CPU502如何在各状态之间转换来变换CPU502,由此变换了构成CPU502的晶体管或其它分立硬件元件。
对本文所提出的软件模块的编码也可变换本文所提出的计算机可读介质的物理结构。在本说明书的不同实现中,物理结构的具体变换可取决于各种因素。这样的因素的示例可以包括,但不仅限于:用于实现计算机可读介质的技术、计算机可读介质被表征为主存储器还是辅存储器等等。例如,如果计算机可读介质被实现为基于半导体的存储器,则本文所公开的软件可以通过变换半导体存储器的物理状态而在计算机可读介质上编码。例如,软件可以变换构成半导体存储器的晶体管、电容器或其它分立电路元件的状态。软件还可变换这些组件的物理状态以在其上存储数据。
作为另一示例,本文所公开的计算机可读介质可以使用磁或光技术来实现。在这些实现中,本文所提出的软件可以在磁或光介质中编码了软件时变换所述磁或光介质的物理状态。这些变换可以包括改变给定磁性介质内的特定位置的磁性。这些变换还可以包括改变给定光学介质内的特定位置的物理特征或特性,以改变这些位置的光学特性。在没有偏离本说明书的范围和精神的情况下,物理介质的其他转换也是可以的,前面提供的示例只是为了便于此讨论。
鉴于以上内容,应当理解,在计算机体系结构500中发生许多类型的物理变换以便存储并执行本文所提出的软件组件。还应当理解,计算机体系结构500可包括其它类型的计算设备,包括手持式计算机、嵌入式计算机系统、个人数字助理、以及本领域技术人员已知的其它类型的计算设备。还可以构想的是,计算机体系结构500可以不包括图5所示的全部组件、可以包括未在图5中明确示出的其他组件、或者可利用完全不同于图5所示的体系结构。
图6示出了能够执行本文描述的用于呈现用于应用扩展程序的用户界面占位符的软件组件的说明性分布式计算环境600。因此,图6所示的分布式计算环境600可用于提供本文针对用户设备102和/或web服务器116描述的功能。分布式计算环境600可用于执行本文所呈现的软件组件的任何方面。
根据各种实现,分布式计算环境600包括在网络604上操作、与该网络通信、或者作为该网络的一部分的计算环境602。网络604还可包括各种接入网络。根据各种实现,网络604的功能可以由图1和5所示的网络104提供。一个或多个客户机设备606A-606N(下文统称和/或一般地称为“客户机606”)可以经由网络604和/或其他连接(图6中未示出)与计算环境602通信。在所示的实施例中,客户机606包括:诸如膝上型计算机、台式计算机、或其他计算设备之类的计算设备606A;板式或平板计算设备(“平板计算设备”)606B;诸如移动电话、智能电话、或其他移动计算设备之类的移动计算设备606C;服务器计算机6906D;和/或其他设备606N。应当理解,任意数量的客户机606可与计算环境602通信。在本文中参考图5和7示出并描述客户机606的两个示例计算体系结构。应当理解,所示客户机606以及本文中示出和描述的计算体系结构是说明性的,并且不应被解释为以任何方式进行限制。
在所示的实施例中,计算环境602包括应用服务器608、数据存储610、以及一个或多个网络接口612。根据各种实现,应用服务器608的功能可由作为网络604一部分执行或者与该网络通信的一个或多个服务器计算机提供。应用服务器608可主存各种服务、虚拟机、门户、和/或其他资源。在所示的实施例中,应用服务器608主存一个或多个虚拟机614以供主存应用或其他功能。根据各种实现,虚拟机614主存用于提供本文描述的用于呈现用于应用扩展程序的用户界面占位符的功能一个或多个应用和/或软件模块。应当理解,本实施例是说明性的,并且不应被解释为以任何方式进行限制。应用服务器608还主存或提供对一个或多个web门户、链接页面、网站、和/或其他信息(“web门户”)616的访问。
根据各种实现,应用服务器608还包括一个或多个邮箱服务618、以及一个或多个消息收发服务620。邮箱服务618可包括电子邮件(“email”)服务。邮箱服务618还可包括各种个人信息管理(“PIM”)服务,包括但不限于日历服务、联系人管理服务、协作服务、和/或其他服务。消息收发服务620可包括但不限于即时消息收发服务、聊天服务、论坛服务、和/或其他通信服务。
应用服务器608还可以包括一个或多个社交网络服务622。社交网络服务622可以包括各种社交网络服务,包括但不限于用于共享或张贴状态更新、即时消息、链接、照片、视频、和/或其他信息的服务;用于评论或显示对文章、产品、博客或其他资源感兴趣的服务;和/或其他服务。在一些实施例中,社交网络服务622可包括脸谱(FACEBOOK)社交网络服务、LINKEDIN专业人士网络服务、MYSPACE社交网络服务、FOURSQUARE地理网络服务、YAMMER办公同事网络服务等,或者可由这些服务提供。在其他实施例中,社交网络服务622可以由可以明确或不明确地作为社交网络提供者的其他服务、站点和/或提供者提供。例如,一些网站允许用户在各种活动和/或情境(诸如阅读已发表的文章、评论商品或服务、发表、协作、游戏等)期间经由电子邮件、聊天服务、和/或其他手段彼此交互。这些服务的示例包括但不限于来自美国华盛顿州雷蒙德市微软公司的WINDOWS LIVE服务和XBOX LIVE服务。其他服务也是可能的且是可构想的。
社交网络服务622还可以包括评论、博客、和/或微博服务。这种服务的示例包括但不限于YELP评论服务、KUDZU查看服务、OFFICETALK企业微博服务、TWITTER消息服务、GOOGLE BUZZ服务、和/或其他服务。应该明白,以上的服务列表并非穷尽性的并且本文出于简洁,并未提及许多其他和/或替换社交网络服务622。由此,以上实施例是说明性的,并且不应被解释为以任何方式进行限制。
如图6所示,应用服务器608还可以主存其他服务、应用、门户、和/或其他资源(其他资源)624。其他资源624可包括但不限于web服务器116提供的服务。因此应该明白,计算环境602可以提供本文公开并提供的用于呈现用于应用扩展程序的用户界面占位符的概念和技术与各种邮箱、消息收发、社交网络、和/或其他服务或资源的集成。例如,本文公开的概念和技术可用于在应用程序108中提供占位符114,其中与占位符114相关联的扩展程序110提供各种社交网络、消息收发功能和/或其他服务或功能。
如上所述,计算环境602可以包括数据存储610。根据多个实现,数据存储610的功能由在网络604上或与之通信地操作的一个或多个数据库来提供。数据存储610的功能也可由被配置成主存用于计算环境602的数据的一个或多个服务器计算机提供。数据存储610可以包括、主存或提供一个或多个实际或虚拟数据存储626A-626N(下文统称和/或一般地称为“数据存储626”)。数据存储626被配置成主存由应用服务器608使用或创建的数据和/或其他数据。尽管未在图6中示出,但数据存储626还可以在需要时主存或存储服务器应用118、扩展程序数据120和/或应用回调122。
计算环境602可与网络接口612通信或由该网络接口访问。网络接口612可包括各种类型的网络硬件和软件,以支持包括但不限于客户机606和应用服务器608的两个或更多个计算设备之间的通信。应当理解,网络接口612还可以被用来连接到其他类型的网络和/或计算机系统。
应当理解,本文中所描述的分布式计算环境600可向本文中所描述的软件元件的任何方面提供可被配置成执行本文中所公开的软件组件的任何方面的任意数量的虚拟计算资源和/或其他分布式计算功能。根据本文中所公开的概念和技术的各种实现,分布式计算环境600向客户机606提供本文中所描述的软件功能作为服务。应该理解,客户机606可以包括真实或虚拟机,包括但不限于服务器计算机、web服务器、个人计算机、移动计算设备、智能电话和/或其他设备。由此,本文公开的概念和技术的各实施例使被配置成访问分布式计算环境600的任何设备能够使用本文描述的用于呈现用于应用扩展程序的用户界面占位符的功能。
现在转向图7,示出了根据一个实施例的能够执行本文描述的用于呈现用于应用扩展程序的用户界面占位符的各种软件组件的计算设备的说明性计算设备体系结构700。计算设备体系结构700可用于部分地由于形状因子、无线连接和/或电池供电操作而便于移动计算的计算设备。在一些实施例中,计算设备包括但不限于移动电话、平板设备、板状设备、便携式视频游戏设备等。此外,计算设备体系结构700可适用于图6所示的客户机706中的任一个。此外,计算设备体系结构700的多个方面还可以用于传统的台式计算机、便携式计算机(例如膝上型计算机、笔记本、超便携计算机、和上网本)、服务器计算机、以及其他计算机系统,诸如参照图5所描述的。例如,本文中在以下所公开的单点触摸和多点触摸方面可应用于利用触摸屏或一些其他启用触摸的设备(诸如启用触摸的跟踪板或者启用触摸的鼠标)的台式计算机。
图7所示的计算设备体系结构700包括处理器702、存储器组件704、网络连接组件706、传感器组件708、输入/输出组件710以及电源组件712。在所示的实施例中,处理器702与存储器组件704、网络连接组件706、传感器组件708、输入/输出(I/O)组件710、以及电源组件712通信。虽然在图7所示的单独的组件之间未示出连接,但是这些组件可交互以实现设备功能。在一些实施例中,这些组件被安排成经由一条或多条总线(未示出)通信。
处理器702包括中央处理单元(CPU),中央处理单元被配置成处理数据、执行一个或多个应用程序的计算机可执行指令并且与计算设备体系结构700的其他组件通信以执行本文所述的多个功能。处理器702可用于执行本文中所描述的软件组件的多个方面,特别是至少部分地利用启用触摸的输入的那些方面。
在一些实施例中,处理器702包括被配置成加速由CPU执行的操作的图形处理单元(GPU),包括但不限于通过执行通用科学和工程计算应用以及图形密集的计算应用(诸如高分辨率视频(例如720P、1080P以及更高)、视频游戏、三维(3D)建模应用)等等而执行的操作。在一些实施例中,处理器702被配置成与分立的GPU(未示出)通信。在任一情况下,CPU和GPU可根据共同处理CPU/GPU计算模型来配置,其中应用的顺序部分在CPU上执行而计算密集部分由GPU加速。
在一些实施例中,处理器702连同在下文中所描述的其他组件中的一个或多个为片上系统(“SoC”)或者包括在该SoC中。例如,Soc可包括处理器702、GPU、网络连接组件706中的一个或多个、以及传感器组件708中的一个或多个。在一些实施例中,可部分地利用层叠封装(“PoP”)集成电路封装技术来制造处理器702。此外,处理器702可以是单核或多核处理器。
处理器702可以根据ARM体系结构(可从英国剑桥的ARM HOLDINGS购买许可)来创建。或者,处理器702可以根据x86体系结构(诸如可从加利福尼亚州芒廷维尤的英特尔公司购得)以及其他体系结构来创建。在一些实施例中,处理器702是可从美国加利福尼亚州圣地亚哥市高通公司购得的SNAPDRAGON SoC、可从美国加利福尼亚州圣巴巴拉市的NVIDIA购得的TEGRASoC、可从韩国首尔市三星公司购得的HUMMINGBIRD SoC、可从美国德克萨斯州达拉斯市德州仪器公司购得的开放式多媒体应用平台(“OMAP”)SoC、以上SoC中的任一个的定制版、或者专有SoC。
存储器组件704包括随机存取存储器(“RAM”)714、只读存储器(“ROM”)716、集成存储器(“集成存储”)718、以及可移动存储存储器(“可移动存储”)720。在一些实施例中,RAM714或其部分、ROM716或其部分和/或RAM714和ROM716的某种组合可以集成在处理器702中。在一些实施例中,ROM716被配置成存储固件、操作系统或其一部分(例如,操作系统内核)、和/或从集成存储718或可移动存储720加载操作系统内核的引导装入器(bootloader)。
集成存储718可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。集成存储718可焊接或以其他方式连接到逻辑板,该逻辑板还可连接有处理器702以及本文中所描述的其他组件。由此,集成存储718集成在计算设备中。集成存储718被配置成存储操作系统或其多个部分、应用程序、数据、以及本文中所描述的其他软件组件。
可移动存储720可包括固态存储器、硬盘、或者固态存储器和硬盘的组合。在一些实施例中,提供可移动存储720来代替集成存储718。在其他实施例中,提供可移动存储720作为附加的任选存储。在一些实施例中,可移动存储720在逻辑上与集成存储718组合,以使全部可用的存储变得可用且示出给用户作为集成存储718和可移动存储720的总组合容量。
可移动存储720被配置成插入通过其插入和紧固可移动存储720以便于连接的可移动存储存储器槽(未示出)或其他机构,通过该连接可移动存储720可与诸如处理器702之类的计算设备其他组件通信。可移动存储720可以具体化为各种存储器卡格式,包括但不限于PC卡、CompactFlash卡、存储器棒、安全数字(“SD”)、小型SD(miniSD)、微型SD(microSD)、通用集成电路卡(“UICC”)(例如,订户身份模块(“SIM”)或通用SIM(“USIM”))、私有格式等。
可以理解,存储器组件704的一个或多个可存储操作系统。根据多个实施例,操作系统包括但不限于:来自SYMBIAN有限公司的SYMBIAN OS、来自美国华盛顿州雷蒙德市微软公司的WINDOWS MOBILE OS、来自微软公司的WINDOWS PHONE OS、来自软件公司的WINDOWS、来自美国加利福尼亚州帕洛阿尔托市Hewlett-Packard公司的PALM WEBOS、来自加拿大安大略省沃特卢市的Motion Limited的研究的BLACKBERRY OS、来自美国加利福尼亚州库珀蒂诺市苹果公司的IOS、以及来自加利福尼亚州芒廷维尤市谷歌公司的ANDROID OS。可构想其他操作系统。
网络连接组件706包括无线广域网组件(“WWAN组件”)722、无线局域网组件(“WLAN组件”)724、以及无线个域网组件(“WPAN组件”)726。网络连接组件706便于与网络728的往返通信,该网络可以是WWAN、WLAN、或WPAN。虽然示出单个网络728,但是网络连接组件706可便于与多个网络的同时通信。例如,网络连接组件706可便于经由WWAN、WLAN、或WPAN中的一个或多个与多个网络的同时通信。在一些实施例中,网络728由网络104、604中的一个或多个提供。在一些实施例中,网络728包括网络104、604。再又一实施例中,网络728提供对网络104、604的访问。
网络728可以是WWAN,诸如利用一种或多种移动电信技术经由WWAN组件722向利用计算设备体系结构700的计算设备提供语音和/或数据服务的移动电信网络。移动电信技术可包括但不限于全球移动通信系统(“GSM”)、码分多址(“CDMA”)系统、CDMA2000、通用移动电信系统(“UMTS”)、长期演进(“LTE”)、以及微波接入全球互通(“WiMax”)。此外,网络728可利用各种信道接入方法(它们可被或可不被上述标准使用),这些信道接入方法包括但不限于时分多址(“TDMA”)、频分多址(“FDMA”)、CDMA、宽带CDMA(“W-CDMA”)、正交频分多路复用(“OFDM”)、空分多址(“SDMA”)等。可使用通用分组无线电业务(“GPRS”)、全球演进的增强型数据速率(“EDGE”)、包括高速下行链路分组接入(“HSDPA”)、增强型上行链路(“EUL”)或者称为高速上行链路分组接入(“HSUPA”)的高速分组接入(“HSPA”)协议系列、演进HSPA(“HSPA+”)、LTE、以及各种其他当前和未来的无线数据接入标准来提供数据通信。网络728可被配置成通过以上技术的任意组合提供语音和/或数据通信。网络728可被配置成调适成根据未来的生成技术提供语音和/或数据通信。
在一些实施例中,WWAN组件722被配置成提供到网络728的双模、多模连接。例如,WWAN组件722可被配置成提供到网络728的连接,其中网络728经由GSM和UMTS技术、或者经由技术的一些其他组合提供服务。替换地,多个WWAN组件722可用于执行这种功能和/或提供附加功能以支持其他非兼容技术(即,无法被单个WWAN组件支持)。WWAN组件722可便于与多个网络(例如,UMTS网络和LTE网络)的类似连接。
网络728可以是根据一个或多个电气和电子工程师学会(“IEEE”)802.11标准(诸如IEEE802.11a、802.11b、802.11g、802.11n、和/或未来的802.11标准(在此被称为WI-FI))而操作的WLAN。还可构想802.11标准草案。在一些实施例中,利用一个或多个无线WI-FI接入点来实现WLAN。在一些实施例中,用作WI-FI热点的一个或多个无线WI-FI接入点是与WWAN连接的另一计算设备。WLAN组件724被配置成经由WI-FI接入点连接到网络728。可经由加密技术来确保这些连接,这些加密技术包括但不限于WI-FI保护接入(“WPA”)、WPA2、有线等效加密(“WEP”)等。
网络728可以是根据红外数据协会(“IrDA”)、BLUETOOTH、无线通用串行总线(“USB”)、Z-波、ZIGBEE、或者一些其他近程无线技术操作的WPAN。在一些实施例中,WPAN组件726被配置成便于经由WPAN与诸如外围设备、计算机、或者其他计算设备之类的其他设备的通信。
传感器组件708包括磁力计730、环境光传感器732、邻近传感器734、加速度计736、陀螺仪738、以及全球定位系统传感器(“GPS传感器”)740。可构想其他传感器(诸如但不限于温度传感器或震动检测传感器)也可结合到计算设备体系结构700中。
磁力计730被配置成测量磁场的强度和方向。在一些实施例中,磁力计730提供对存储在存储器组件704之一内的罗盘应用程序的测量以向用户提供包括基本方向、北、南、东和西的基准帧中的准确方向。可将类似的测量值提供给包括罗盘组件的导航应用程序。可构想磁力计730所获取的测量值的其他用途。
环境光传感器732被配置成测量环境光。在一些实施例中,环境光传感器732提供对存储在一个存储器组件704内的应用程序的测量,从而自动地调整显示器的亮度(在下文中描述)以补偿低光和高光环境。可构想环境光传感器732所获取的测量值的其他用途。
邻近传感器734被配置成检测邻近计算设备而不直接接触的对象或物体的存在。在一些实施例中,邻近传感器734检测用户身体(例如,用户的脸部)的存在性,并且将该信息提供给存储在存储器组件704之一内的应用程序,该存储器组件利用邻近信息来启用或禁用计算设备的一些功能。例如,电话应用程序可响应于接收到邻近信息自动地禁用触摸屏(在下文中描述),以使用户的脸部在呼叫期间不会无意地结束呼叫或者启用/禁用电话应用程序内的其他功能。可构想如邻近传感器734检测到的接近度的其他用途。
加速度计736被配置成测量准确的加速。在一些实施例中,来自加速度计736的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,应用程序可以是视频游戏,其中响应于经由加速度计736接收到的输入移动或以其他方式操纵字符、其一部分、或者对象。在一些实施例中,将来自加速度计736的输出被提供给应用程序以供在横向和纵向模式之间切换时使用,从而计算坐标加速或检测下降。可构想加速计736的其他用途。
陀螺仪738被配置成测量和维持定向。在一些实施例中,来自陀螺仪738的输出被应用程序作为输入机制以控制应用程序的一些功能。例如,陀螺仪738可用于准确地识别在视频游戏应用或一些其他应用的3D环境内的移动。在一些实施例中,应用程序利用来自陀螺仪738和加速度计736的输出来增强对应用程序的一些功能的控制。可构想陀螺仪738的其他用途。
GPS传感器740被配置成接收来自GPS卫星的信号,以供在计算位置时使用。GPS传感器740计算的位置可被需要位置信息或者受益于该位置信息的任何应用程序使用。例如,GPS传感器740计算的位置可与导航应用程序一起使用,以提供从该位置到目的地的方向、或者从目的地到该位置的方向。此外,GPS传感器740可用于将位置信息提供给基于外部位置的服务,诸如E911服务。GPS传感器740可在获取位置方位时利用网络连接组件706中的一个或多个来辅助GPS传感器740获取经由WI-FI、WIMAX、和/或蜂窝三角测量技术而生成的位置信息。GPS传感器740还可用于辅助GPS(“A-GPS”)系统中。
I/O组件710包括显示器742、触摸屏744、数据I/O接口组件(“数据I/O”)746、音频I/O接口组件(“音频I/O”)748、视频I/O接口组件(“视频I/O”)750、以及相机752。在一些实施例中,显示器742和触摸屏744组合。在一些实施例中,数据I/O组件746、音频I/O组件748、以及视频I/O组件750中的两个或更多个组合。I/O组件710可包括被配置成支持在下文中所描述的各种接口的分立处理器,或者可包括构建到处理器702中的处理功能。
显示器742是被配置成以视觉形式呈现信息的输出设备。具体而言,显示器742可呈现图形用户界面(“GUI”)元素、文本、图像、视频、通知、虚拟按钮、虚拟键盘、消息收发数据、因特网内容、设备状态、时间、日期、日历数据、偏好、地图信息、位置信息、以及能够以视觉形式呈现的任何其他信息。在一些实施例中,显示器742是利用任何有源或无源矩阵技术以及任何背光技术(如果使用的话)的液晶显示器件(“LCD”)。在一些实施例中,显示器742是有机发光二极管(“OLED”)显示器。可构想其他显示器类型。
触摸屏744是被配置成检测触摸的存在和位置的输入设备。触摸屏744可以是电阻触摸屏、电容触摸屏、表面声波触摸屏、红外触摸屏、光学成像触摸屏、色散信号触摸屏、声音脉冲识别触摸屏,或者可利用任何其他触摸屏技术。在一些实施例中,触摸屏744结合到显示器742的顶部作为透明层,以使用户能够使用一个或多个触摸与显示器742上所呈现的对象或其他信息交互。在其他实施例中,触摸屏744是结合到不包括显示器742的计算设备的表面上的触摸垫。例如,计算设备可具有结合到显示器742的顶部的触摸屏以及与显示器742相对的表面上的触摸垫。
在一些实施例中,触摸屏744是单点触摸触摸屏。在其他实施例中,触摸屏744是多点触摸触摸屏。在一些实施例中,触摸屏744被配置成检测分立触摸、单点触摸姿势、和/或多点触摸姿势。为了方便起见,这些在此处被统称为姿势。现在将描述若干姿势。应当理解,这些姿势是说明性的,并且不旨在限制所附权利要求书的范围。此外,所描述的姿势、附加姿势、和/或替换姿势可在软件中实现以与触摸屏744一起使用。由此,开发者可创建特定应用程序专用的姿势。
在一些实施例中,触摸屏744支持轻叩姿势,其中用户在显示器742上所呈现的项目上轻叩触摸屏744一次。出于各种原因,可使用轻击姿势,这些原因包括但不限于打开或启动用户轻击的任何事物。在一些实施例中,触摸屏744支持双轻击姿势,其中用户在显示器744上所呈现的项目上轻击触摸屏742两次。出于各种原因,可使用双轻击姿势,这些原因包括但不限于分多级放大或缩小。在一些实施例中,触摸屏744支持轻击并保持姿势,其中用户轻击触摸屏744并维持接触达至少预定义时间。出于各种原因,可使用轻击并保持姿势,这些原因包括但不限于打开上下文特定的菜单。
在一些实施例中,触摸屏744支持平移姿势,其中用户将手指放置在触摸屏744上并维持与触摸屏744的接触,同时在触摸屏744上移动手指。出于各种原因,可使用平移姿势,这些原因包括但不限于以受控速率移动通过屏幕、图像、或菜单。还可构想多手指平移姿势。在一些实施例中,触摸屏744支持轻拂姿势,其中用户在用户想要屏幕移动的方向上划动(swipe)手指。出于各种原因,可使用轻拂姿势,这些原因包括但不限于水平或垂直滚动通过菜单和页面。在一些实施例中,触摸屏744支持收窄和张开姿势,其中用户在触摸屏744上用两个手指(例如,拇指和食指)进行收窄运动或者将两个手指张开。出于各种原因,可使用收窄和张开姿势,这些原因包括但不限于逐步地放大或缩小网站、地图、或图片。
虽然已参考将一个或多个手指用于执行姿势来描述了以上姿势,但是诸如脚趾之类的其他附属体以及诸如指示笔之类的物体可用于与触摸屏744交互。如此,以上姿势应当被理解为说明性的,并且不应被解释为以任何方式进行限制。
数据I/O接口组件746被配置成便于数据输入到计算设备以及从计算设备输出数据。在一些实施例中,例如出于同步操作的目的,数据I/O接口组件746包括被配置成提供计算设备和计算机系统之间的有线连接的连接器。连接器可以是专有连接器或标准化连接器,诸如USB、微型USB、小型USB等。在一些实施例中,连接器是用于将计算设备与诸如对接站、音频设备(例如,数字音乐播放器)、或视频设备之类的另一设备对接的对接连接器。
音频I/O接口组件748被配置成向计算设备提供音频输入和/或输出能力。在一些实施例中,音频I/O接口组件746包括被配置成收集音频信号的话筒。在一些实施例中,音频I/O接口组件746包括被配置成向耳机或其他外部扬声器提供连接的耳机插孔。在一些实施例中,音频接口组件748包括用于输出音频信号的扬声器。在一些实施例中,音频I/O接口组件746包括光学音频电缆输出。
视频I/O接口组件750被配置成向计算设备提供视频输入和/或输出能力。在一些实施例中,视频I/O接口组件750包括被配置成接收视频作为来自另一设备(例如,诸如DVD或蓝光播放器之类的视频媒体播放器)的输入或者将视频作为输出发送到另一设备(例如,监视器、电视、或者一些其他外部显示器)的视频连接器。在一些实施例中,视频I/O接口组件750包括高清晰度多媒体接口(“HDMI”)、小型HDMI、微型HDMI、显示器端口、或者到输入/输出视频内容的专有连接器。在一些实施例中,视频I/O接口组件750或其一部分与音频I/O接口组件748或其一部分组合。
相机752可被配置成捕捉静止图像和/或视频。相机752可利用电荷耦合设备(“CCD”)或互补金属氧化物半导体(“CMOS”)图像传感器来捕捉图像。在一些实施例中,相机752包括在低光环境中辅助拍摄图片的闪光灯。相机752的设置可被实现为硬件或软件按钮。
虽然未示出,但是还可在计算设备体系结构700中包括一个或多个硬件按钮。硬件按钮可用于控制计算设备的一些操作方面。硬件按钮可以是专用按钮或多用途按钮。硬件按钮可以是基于机械或传感器的。
所示的电源组件712包括可连接到电池量具(gauge)756的一个或多个电池754。电池754可以是再充电的或者一次性的。再充电的电池类型包括但不限于锂聚合物、锂电池、镍镉、以及镍金属氢化物。每一电池754可由一个或多个电池单元制成。
电池量具756可被配置成测量电池参数,诸如电流、电压、以及温度。在一些实施例中,电池量具756被配置成测量电池的放电速率、温度、使用年限、以及其他因素的影响以在特定百分比误差内预测剩余寿命。在一些实施例中,电池量具756向应用程序提供测量值,该应用程序被配置成利用这些测量值将有用的电源管理数据呈现给用户。电源管理数据可包括所使用电池的百分比、剩余电池的百分比、电池状况、剩余时间、剩余电容量(例如,瓦时)、电流消耗、以及电压中的一个或多个。
电源组件712还可包括电源连接器,该电源连接器可与上述I/O组件710中的一个或多个组合。电源组件712可经由电源I/O组件与外部电源系统或充电装备进行接口连接。
基于上述内容,应当理解,本文已经公开了用于应用扩展程序的用户界面占位符的技术。虽然用计算机结构特征、方法和变换动作、特定计算机器、以及计算机可读介质专用的语言描述了本文中所描述的主题,但是应当理解,所附权利要求书中所定义的本发明不必限于本文中所描述的具体特征、动作、或介质。相反,这些具体特征、动作、以及介质是作为实现权利要求的示例形式而公开的。
以上所述的主题仅作为说明提供,并且不应被解释为限制。可对本文中所描述的主题作出各种修改和改变,而不必遵循示出和描述的示例实施例和应用且不背离所附权利要求书中所阐述的本发明的真正精神和范围。

Claims (10)

1.一种用于将占位符插入呈现在用户设备处的用户界面中的计算机实现的方法,所述计算机实现的方法包括执行用于以下动作的计算机实现的操作:
建议供在所述用户设备处激活的扩展程序;
接收用于激活所述扩展程序的输入;
响应于接收到所述输入,将占位符插入呈现在所述用户设备处的用户界面中;以及
启动权利过程以获取使用所述扩展程序的权利。
2.如权利要求1所述的方法,其特征在于,还包括:
确定所述权利过程是否完成;以及
响应于确定所述权利过程已完成,更新所述占位符以指示对所述扩展程序的权利。
3.如权利要求1所述的方法,其特征在于,建议所述扩展程序包括呈现包括用于建议所述扩展程序的所建议的扩展程序窗口的用户界面。
4.如权利要求1所述的方法,其特征在于,插入所述占位符包括从web服务器获取扩展程序数据并至少部分地基于所述扩展程序数据来配置所述占位符。
5.如权利要求1所述的方法,其特征在于,所述扩展程序数据包括对所述扩展程序的描述以及用于激活所述扩展程序的指令,并且其中所述占位符包括用于呈现所述扩展程序数据的至少一部分的可视标记。
6.如权利要求1所述的方法,其特征在于,还包括在完成所述权利过程时执行应用回调。
7.如权利要求6所述的方法,其特征在于,所述应用回调包括在由所述用户设备执行时使得所述用户设备执行以下操作的计算机可执行指令:
搜索所述占位符;
将呈现所述用户界面的应用程序带到屏幕显示的前台;以及
刷新所述占位符以指示所述权利过程的完成。
8.如权利要求7所述的方法,其特征在于,刷新所述占位符包括将所述占位符替换为用于访问与所述扩展程序相关联的功能的用户界面控件。
9.如权利要求1所述的方法,其特征在于,启动所述权利过程包括访问主存所述权利过程的web服务器。
10.一种其上存储有计算机可读指令的计算机存储介质,所述指令在由计算机执行时致使所述计算机:
在执行应用程序的用户设备处建议供在所述用户设备处激活的扩展程序;
在所述用户设备处接收用于激活所述扩展程序的输入;
响应于接收到所述输入,将占位符插入呈现在所述用户设备处的用户界面中,所述占位符包括与所述扩展程序相关联的可视标记;以及
在所述用户设备处启动权利过程以获取使用所述扩展程序的权利。
CN201210555709.9A 2011-12-20 2012-12-19 用于应用扩展程序的用户界面占位符 Active CN102968312B (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/330,683 US9454349B2 (en) 2011-12-20 2011-12-20 User interface placeholders for application extensions
US13/330,683 2011-12-20

Publications (2)

Publication Number Publication Date
CN102968312A true CN102968312A (zh) 2013-03-13
CN102968312B CN102968312B (zh) 2017-03-01

Family

ID=47798470

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210555709.9A Active CN102968312B (zh) 2011-12-20 2012-12-19 用于应用扩展程序的用户界面占位符

Country Status (3)

Country Link
US (1) US9454349B2 (zh)
CN (1) CN102968312B (zh)
WO (1) WO2013096021A1 (zh)

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556468A (zh) * 2013-09-06 2016-05-04 微软技术许可有限责任公司 从应用本身内初始化和引导的应用定制
CN106598967A (zh) * 2015-10-14 2017-04-26 北京国双科技有限公司 一种快速查询方法及装置
CN106708478A (zh) * 2015-07-21 2017-05-24 阿里巴巴集团控股有限公司 滚动视图显示方法及装置
CN107992347A (zh) * 2017-10-24 2018-05-04 维沃移动通信有限公司 一种功能演示方法及移动终端
CN108089887A (zh) * 2016-11-18 2018-05-29 阿里巴巴集团控股有限公司 一种新增页面的启动控制方法及装置
WO2020006864A1 (zh) * 2018-07-06 2020-01-09 平安科技(深圳)有限公司 浏览器输入框展示方法、装置、计算机设备及存储介质
CN112817609A (zh) * 2015-01-20 2021-05-18 微软技术许可有限责任公司 将应用下载到装置

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9436493B1 (en) * 2012-06-28 2016-09-06 Amazon Technologies, Inc. Distributed computing environment software configuration
KR20160037019A (ko) * 2014-09-26 2016-04-05 삼성전자주식회사 전자 장치, 그 제어 방법 및 기록 매체
JP6403559B2 (ja) * 2014-12-08 2018-10-10 キヤノン株式会社 情報処理装置およびその制御方法、並びにプログラム
US11030385B2 (en) 2015-03-30 2021-06-08 Microsoft Technology Licensing, Llc Enhanced preview technology for application add-ins
US20160313958A1 (en) * 2015-04-27 2016-10-27 Microsoft Technology Licensing, Llc Cross-platform command extensibility
US11204749B2 (en) * 2016-09-20 2021-12-21 Apple Inc. State machines for installation management
US10955994B2 (en) * 2017-06-02 2021-03-23 Apple Inc. User interfaces for downloading applications on an electronic device
KR101835856B1 (ko) * 2017-06-13 2018-03-08 주식회사 기가코리아 통합 애플리케이션을 이용한 맞춤형 애플리케이션 제작 서버, 방법 및 이를 실행하기 위하여 컴퓨터 판독가능한 기록매체에 저장된 애플리케이션
CN111626021B (zh) * 2020-04-20 2022-08-12 腾讯科技(深圳)有限公司 一种演示文稿生成方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050229104A1 (en) * 2004-04-09 2005-10-13 Microsoft Corporation Add-on management
US20100011352A1 (en) * 2008-07-11 2010-01-14 International Business Machines Corporation Matching Plugins to Users
US20110022984A1 (en) * 2009-01-23 2011-01-27 Palm, Inc. Selective Plug-In Activation For Resource-Limited Platforms
US20110191744A1 (en) * 2010-02-02 2011-08-04 International Business Machines Corporation Architecting and defining extensible methods and processes to build hybrid solutions
CN102158536A (zh) * 2011-02-15 2011-08-17 宇龙计算机通信科技(深圳)有限公司 一种移动终端及推荐应用的方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
US20030014442A1 (en) * 2001-07-16 2003-01-16 Shiigi Clyde K. Web site application development method using object model for managing web-based content
WO2004042515A2 (en) 2002-11-01 2004-05-21 Pocketpurchase, Inc. Method and system for online software purchases
US7846023B2 (en) 2003-03-27 2010-12-07 Microsoft Corporation Application-centric user interface techniques
US20050240927A1 (en) 2004-04-08 2005-10-27 International Business Machines Corporation On-demand tasks
US20050251786A1 (en) 2004-05-07 2005-11-10 International Business Machines Corporation System and method for dynamic software installation instructions
US20050278258A1 (en) * 2004-06-14 2005-12-15 O'donnell Michael User software for facilitating copyright licensing and compliance
US20060059481A1 (en) 2004-09-16 2006-03-16 Rodney Smith Presenting, delivering and installing electronic downloads with an installed list
US7500194B2 (en) 2005-05-13 2009-03-03 Microsoft Corporation Applying a slide layout with an arbitrary number of placeholders
US7721332B2 (en) * 2005-08-16 2010-05-18 Microsoft Corporation Integrated software for managing add-ons
US20070201655A1 (en) * 2006-02-03 2007-08-30 Michael Shenfield System and method for installing custom services on a component-based application platform
US7937458B2 (en) 2006-02-14 2011-05-03 Nanamura Roberto N On-demand software service system and method
US8065675B2 (en) * 2007-03-21 2011-11-22 Yahoo! Inc. In-page installer
US20090044216A1 (en) * 2007-08-08 2009-02-12 Mcnicoll Marcel Internet-Based System for Interactive Synchronized Shared Viewing of Video Content
US8042035B2 (en) 2007-09-10 2011-10-18 International Business Machines Corporation Method and system for rapid access to frequently used or searched objects
US8935687B2 (en) 2008-02-29 2015-01-13 Red Hat, Inc. Incrementally updating a software appliance
US20110010433A1 (en) * 2009-07-10 2011-01-13 Microsoft Corporation Targeted presentation and delivery of themes
US8559931B2 (en) 2009-11-04 2013-10-15 Cellco Partnership Application suggestions for mobile communication device based on location-based directory information
US8484100B2 (en) * 2010-10-19 2013-07-09 Apple Inc. Method, medium, and system for an integrated application store for a user device
US9213539B2 (en) * 2010-12-23 2015-12-15 Honeywell International Inc. System having a building control device with on-demand outside server functionality
US20120221936A1 (en) * 2011-02-24 2012-08-30 James Patterson Electronic book extension systems and methods
US9021425B2 (en) * 2012-12-14 2015-04-28 Sap Se Software application extensibility

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050229104A1 (en) * 2004-04-09 2005-10-13 Microsoft Corporation Add-on management
US20100011352A1 (en) * 2008-07-11 2010-01-14 International Business Machines Corporation Matching Plugins to Users
US20110022984A1 (en) * 2009-01-23 2011-01-27 Palm, Inc. Selective Plug-In Activation For Resource-Limited Platforms
US20110191744A1 (en) * 2010-02-02 2011-08-04 International Business Machines Corporation Architecting and defining extensible methods and processes to build hybrid solutions
CN102158536A (zh) * 2011-02-15 2011-08-17 宇龙计算机通信科技(深圳)有限公司 一种移动终端及推荐应用的方法

Cited By (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105556468A (zh) * 2013-09-06 2016-05-04 微软技术许可有限责任公司 从应用本身内初始化和引导的应用定制
CN105556468B (zh) * 2013-09-06 2019-03-01 微软技术许可有限责任公司 从应用本身内初始化和引导的应用定制的方法和系统
CN112817609A (zh) * 2015-01-20 2021-05-18 微软技术许可有限责任公司 将应用下载到装置
CN106708478A (zh) * 2015-07-21 2017-05-24 阿里巴巴集团控股有限公司 滚动视图显示方法及装置
CN106708478B (zh) * 2015-07-21 2020-06-05 阿里巴巴集团控股有限公司 滚动视图显示方法及装置
CN106598967A (zh) * 2015-10-14 2017-04-26 北京国双科技有限公司 一种快速查询方法及装置
CN106598967B (zh) * 2015-10-14 2020-06-05 北京国双科技有限公司 一种快速查询方法及装置
CN108089887A (zh) * 2016-11-18 2018-05-29 阿里巴巴集团控股有限公司 一种新增页面的启动控制方法及装置
CN108089887B (zh) * 2016-11-18 2021-05-18 阿里巴巴集团控股有限公司 一种新增页面的启动控制方法及装置
CN107992347A (zh) * 2017-10-24 2018-05-04 维沃移动通信有限公司 一种功能演示方法及移动终端
WO2020006864A1 (zh) * 2018-07-06 2020-01-09 平安科技(深圳)有限公司 浏览器输入框展示方法、装置、计算机设备及存储介质

Also Published As

Publication number Publication date
US9454349B2 (en) 2016-09-27
US20130159891A1 (en) 2013-06-20
WO2013096021A1 (en) 2013-06-27
CN102968312B (zh) 2017-03-01

Similar Documents

Publication Publication Date Title
CN102968312A (zh) 用于应用扩展程序的用户界面占位符
CN102982440A (zh) 聚集和呈现任务
CN104094252A (zh) 在文档中的软件应用分发
US20130326499A1 (en) Automatically installing and removing recommended applications
CN102982016A (zh) 用于电子表格应用程序的快速分析工具
CN108369595B (zh) 可收集数据结构的可扩展性
CN116034385A (zh) 指示相关联内容的可用性的动画视觉提示
CN104520851A (zh) 基于电子表格应用中的数据点生成查询
CN104737185A (zh) 用于具有伴随的备注的交互式幻灯片演示的阅读模式
US20170316387A1 (en) Automation of workflow events
CN104067215A (zh) 呈现数据驱动表单
CN105593803A (zh) 自动滚动区域
KR20170128902A (ko) 어플리케이션 표시 방법 및 이를 구현한 전자 장치
WO2017189381A1 (en) Contextually-aware resource manager
US20170169248A1 (en) Enhanced management capabilities for collectable data structures
CN105393222A (zh) 网络应用与本地应用之间的渲染委托
CN103257997A (zh) 为视频及其他媒体内容启用复制和粘贴功能
WO2017189341A1 (en) Resource-based service provider selection and auto completion
WO2021101699A1 (en) Enhanced views and notifications of location and calendar information
CN111868767A (zh) 基于用户洞察来驱动上下文感知的用户协作
US20160291844A1 (en) Method and apparatus for opening a data processing page
US11222090B2 (en) Site and service signals for driving automated custom system configuration
CN106062709A (zh) 将主题信息从主机应用传播到主机扩展
EP3262482B1 (en) Discoverability and utilization of a reference sensor
EP3374860B1 (en) Communicating information about an update of an application

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
ASS Succession or assignment of patent right

Owner name: MICROSOFT TECHNOLOGY LICENSING LLC

Free format text: FORMER OWNER: MICROSOFT CORP.

Effective date: 20150720

C41 Transfer of patent application or patent right or utility model
TA01 Transfer of patent application right

Effective date of registration: 20150720

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant