CN104685470A - 用于从模板生成用户界面的设备和方法 - Google Patents

用于从模板生成用户界面的设备和方法 Download PDF

Info

Publication number
CN104685470A
CN104685470A CN201480001136.2A CN201480001136A CN104685470A CN 104685470 A CN104685470 A CN 104685470A CN 201480001136 A CN201480001136 A CN 201480001136A CN 104685470 A CN104685470 A CN 104685470A
Authority
CN
China
Prior art keywords
user interface
party application
respective display
template
information
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
CN201480001136.2A
Other languages
English (en)
Other versions
CN104685470B (zh
Inventor
C·马加赫恩
S-W·黄
N·J·保尔森
T·M·阿尔西纳
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.)
Apple Inc
Original Assignee
Apple Computer Inc
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 Apple Computer Inc filed Critical Apple Computer Inc
Priority to CN201811428176.1A priority Critical patent/CN110083411B/zh
Priority claimed from US14/291,688 external-priority patent/US20140365895A1/en
Publication of CN104685470A publication Critical patent/CN104685470A/zh
Application granted granted Critical
Publication of CN104685470B publication Critical patent/CN104685470B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • 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/451Execution arrangements for user interfaces
    • G06F9/452Remote windowing, e.g. X-Window System, desktop virtualisation

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)
  • Telephone Function (AREA)

Abstract

本发明公开了一种电子设备,该电子设备被配置为接收在与该设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一请求。设备被进一步配置为:响应于接收到该请求,获得被配置为由多个第三方应用程序使用的第一用户界面模板,并且从该第一应用程序来请求用于填充该第一模板的一个或多个值。设备还被配置为:当第一应用程序正在设备上运行时,从第一应用程序接收用于填充第一模板的第一组值;利用第一组值来填充第一模板;使用利用第一组值填充的第一模板来生成用于第一应用程序的第一用户界面;并且向相应显示器发送使得第一用户界面能够被显示的信息。

Description

用于从模板生成用户界面的设备和方法
相关申请的交叉引用
本专利申请要求2013年6月8日提交的美国临时专利申请61/832,841的优先权,并且与以下申请相关:2013年3月15日提交的名称为“Voiceand Touch User Interface”的美国申请序列号61/793,924;2011年2月22日提交的名称为“Pushing a Graphical User Interface to a Remote Device withDisplay Rules Provided by the Remote Device”的美国申请序列号13/032,614;2010年1月6日提交的名称为“Pushing a User Interface to aRemote Device”的美国申请序列号12/683,218;2008年5月13日提交的名称为“Pushing a User Interface to a Remote Device”的美国申请序列号12/119,960;2011年7月1日提交的名称为“Pushing a User Interface to aRemote Device”的美国申请序列号13/175,581;2011年6月15日提交的名称为“Pushing a Graphical User Interface to a Remote Device with DisplayRules Provided by the Remote Device”的美国申请序列号13/161,339;2011年9月30日提交的名称为“Automatically Adapting User Interfaces forHands-Free Interaction”的美国申请序列号13/250,947;2011年1月10日提交的名称为“Intelligent Automated Assistant”的美国申请序列号12/987,982;2010年1月18日提交的名称为“Intelligent AutomatedAssistant”的美国临时申请序列号61/295,774;2011年6月3日提交的名称为“Generating and Processing Data Items that Represent Tasks to Perform”的美国临时申请序列号61/493,201;2012年6月9日提交的名称为“Automatically Adapting User Interface for Hands-Free Interaction(为免提交互自动适配用户界面)”的美国临时申请序列号61/657,744;2008年9月9日提交的名称为“Radio with Personal DJ”的美国临时申请序列号12/207,316;2012年11月16日提交的名称为“System and Method forNegotiating Control of a Shared Audio or Visual Resource”的美国临时申请序列号61/727,554;2013年6月8日提交的名称为“Mapping Application withSeveral User Interfaces”的美国申请序列号61/832,818;2013年6月8日提交的名称为“Application Gateway for Providing Different User Interfaces forLimited Distraction and Non-Limited Distraction Contexts”的美国申请序列号13/913,428;2013年6月8日提交的名称为“Device,Method,and GraphicalUser Interface for Synchronizing Two of More Displays”的美国临时申请序列号61/832,842。
技术领域
本发明整体涉及用于生成用户界面,包括但不限于提供用于第三方应用程序的用户界面的电子设备。
背景技术
触敏表面作为计算机和其它电子计算设备的输入设备的使用在近年来显著增长。示例性触敏表面包括触控板和触摸屏显示器。此类表面广泛用于在与第一电子设备相关联的第一显示器上操纵用户界面对象。
示例性操纵包括:调整一个或多个用户界面对象的位置和/或大小;激活按钮或打开由用户界面对象表示的文件/应用程序;或以其它方式操纵用户界面。示例性用户界面对象包括数字图像、视频、文本、图标、控制元件如按钮和其它图形。
设备有时具有第一方(或本机)设备软件(例如,操作***,该操作***用于由发展出该操作***的同一实体发展出或在该同一实体的方向上发展出的设备和应用程序)和第三方软件,第三方软件包括独立于第一方(或本机)设备软件发展出的应用程序。第三方应用程序有时被加载在设备上以便向设备提供另外的功能性。
发明内容
但是第三方应用程序的用户界面常常是定制的和/或专用的。另外,专用用户界面有时包括太小以致难以在开车时安全使用的文字或控件。此外,用于不同应用程序的不同的定制和/或专用用户界面有时将具有类似功能的控件放置在不同位置中,使得用户将花费另外的时间和注意力来定位这些不同控件和确定这些不同控件的功能。因此,具有用于不同应用程序的不同的定制和/或专用用户界面是麻烦且低效的。此外,在一些情况下,这些用户界面所花费的时间比用户操纵所必要的时间更长,从而浪费能量。这后一考虑在电池驱动的设备中是特别重要的。
因此,需要具有更快、更有效的用于提供对第三方应用程序的访问并且消除驾驶员在使用第三方应用程序时分神的方法的电子设备。从与第三方应用程序一起使用的模板生成提高用于与第三方应用程序交互的用户界面的易读性和易用性的用户界面消除了驾驶员分神并且提高了用户效率。此类方法任选地补充或替代用于生成用户界面并且提供对第三方应用程序的访问的常规方法。此类方法减轻了用户的认知负担,并且生成了一种更有效的人机界面。对于电池驱动的设备,此类方法节省功率,并且增加电池充电之间的时间。
通过所公开的设备减少或消除了与用于具有触敏表面的电子设备的用户界面相关联的上述缺陷和其它问题。在一些实施例中,设备是台式计算机。在一些实施例中,设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施例中,设备具有触控板。在一些实施例中,设备具有触敏显示器(也被称为“触摸屏”或“触摸屏显示器”)。在一些实施例中,设备具有图形用户界面(GUI)、一个或多个处理器、存储器以及存储在存储器中用于执行多个功能的一个或多个模块、程序或指令集。在一些实施例中,用户主要通过触敏表面上的手指接触和手势来与GUI交互。在一些实施例中,这些功能任选地包括图像编辑、画图、展示、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、锻炼支持、数字摄影、数字视频记录、网络浏览、数字音乐播放、和/或数字视频播放。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其它计算机程序产品中。
根据一些实施例,在具有一个或多个处理器和存储器的电子设备处执行一种方法。该方法包括:接收在与电子设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求。响应于接收到第一显示请求,该方法包括:获得被配置为由多个第三方应用程序使用的第一用户界面模板;以及从第一第三方应用程序请求用于填充第一用户界面模板的一个或多个值。该方法还包括:当第一第三方应用程序正在电子设备上运行时,从第一第三方应用程序接收用于填充第一用户界面模板的第一组值;利用从第一第三方应用程序接收的第一组值来填充第一用户界面模板;使用利用第一组值填充的第一用户界面模板来生成用于第一第三方应用程序的第一用户界面;以及向相应显示器发送使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示器上的信息。
根据一些实施例,电子设备包括存储器和耦接到存储器的处理单元。处理单元被配置为接收在与电子设备通信的相应显示单元上显示第一第三方应用程序的用户界面的第一显示请求。处理单元还被配置为响应于接收到第一显示请求:获得被配置为由多个第三方应用程序使用的第一用户界面模板;并且从第一第三方应用程序请求用于填充第一用户界面模板的一个或多个值。处理单元还被配置为:当第一第三方应用程序正在电子设备上运行时,从第一第三方应用程序接收用于填充第一用户界面模板的第一组值;利用从第一第三方应用程序接收的第一组值来填充第一用户界面模板;使用利用第一组值填充的第一用户界面模板来生成用于第一第三方应用程序的第一用户界面;并且向相应显示单元发送使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示单元上的信息。
根据一些实施例,电子设备包括一个或多个处理器、存储器和一个或多个程序;一个或多个程序被存储在存储器中并且被配置为由一个或多个处理器执行,并且一个或多个程序包括用于执行任何本文所述的方法的操作的指令。根据一些实施例,非暂态计算机可读存储介质在其中存储指令,在由电子设备执行时,这些指令使得该设备执行任何本文所述的方法的操作。根据一些实施例,电子设备包括用于执行任何本文所述的方法的操作的装置。根据一些实施例,用于在第一电子设备中使用的信息处理装置包括用于执行任何本文所述的方法的操作的装置。
因此,具有显示器的电子设备具有更快、更有效的用于提供用于第三方应用程序的用户界面从而提高此类设备的效果、效率和用户满意度的方法。此类方法和界面可以补充或替代用于生成用户界面的常规方法。
附图说明
为了更好地理解本发明的各种所描述的实施例,应该结合以下附图参考下面的实施例的说明,在附图中,类似的附图标号在所有附图中指示对应的部分。
图1A是示出根据一些实施例的具有触敏显示器的便携式多功能设备的框图。
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图。
图2示出了根据一些实施例的具有触摸屏的便携式多功能设备。
图3是根据一些实施例的具有显示器和触敏表面的示例性多功能设备的框图。
图4A示出了根据一些实施例的在便携式多功能设备上用于应用程序菜单的一种示例性用户界面。
图4B示出了根据一些实施例的用于具有与显示器分开的触敏表面的多功能设备的一种示例性用户界面。
图5是示出根据一些实施例的一种操作环境的框图,在该操作环境中,便携式多功能设备与外部信息展示***和/或服务器通信。
图6A-6C示出根据一些实施例的从模板生成的示例性用户界面。
图7A-7I是示出根据一些实施例的一种从模板生成用户界面的方法的流程图。
图8是根据一些实施例的电子设备的功能框图。
具体实施方式
许多电子设备使用图形用户界面。许多图形用户界面是定制设计的,或是特定于各个应用程序的。以下所描述的方法和设备通过从与第三方应用程序一起使用的用户界面模板生成用户界面而改进了这些方法。在一些实施例中,用户界面模板是由多个不同应用程序使用的通用或应用程序无关的用户界面模板。这些用户界面是显示在相应的显示器上的。针对多个不同的第三方应用程序使用同一通用用户界面模板有助于使第三方应用程序的用户界面标准化。此标准化在仍为用户提供对第三方应用程序的功能性的访问的同时,使第三方应用程序更直观、并且更容易且更方便与之进行交互。
这些模板具体地讲在以下情况下有帮助:设备正在在该设备外部的信息展示***上提供对第三方应用程序的访问,诸如智能电话,该智能电话正在通过汽车中的触摸屏显示器提供对该智能电话上的第三方应用程序的访问。信息展示***任选地具有显示器,该显示器具有多个不同操作特性集(例如,显示尺寸、控制类型等)之一。在一些实施例中,相应显示器是车辆信息显示***中的显示器,该显示器是从车辆的驾驶员座椅可见的,以便改善第三方应用程序由车辆中的驾驶员和/或乘客使用的易用性。
下面,图1A-1B、图2和图3提供了对示例性设备的描述。图4A-4B和6A-6C示出了从模板生成的示例性用户界面。图7A-7I是示出一种提供用于第三方应用程序的用户界面的方法的流程图。图8是电子设备的功能框图。图6A-6C中的用户界面用于阐释图7A-7I中的过程。
示例性设备
现在将详细地参考实施例,这些实施例的示例在附图中被示出。在下面的详细描述中示出了许多具体细节,以便提供对各种所描述的实施例的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施例可以在没有这些具体细节的情况下被实践。在其它情况下,没有详细地描述众所周知的方法、过程、部件、电路、和网络,从而不会不必要地使实施例的方面晦涩难懂。
还将理解的是,虽然术语“第一”、“第二”等在本文中在一些实施例中用来描述各种元素,但是这些元素不应受到这些术语限制。这些术语只是用来将一个元素与另一元素区分开。例如,第一接触可以被命名为第二接触,并且类似地,第二接触可以被命名为第一接触,而不背离各种所描述的实施例的范围。第一接触和第二接触二者都是接触,但是它们不是同一接触。
在本文中对各种所描述的实施例的描述中所使用的术语只是为了描述特定实施例的目的,而并非旨在进行限制。如在对各种所描述的实施例中的描述和所附权利要求书中所使用的那样,单数形式“一个”、“一种”和“该”旨在也包括复数形式,除非上下文明确地另外指出。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测到”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为意思是“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
介绍了电子设备、用于这样的设备的用户界面、和用于使用这样的设备的相关联过程的实施例。在一些实施例中,设备是还包含其它功能诸如个人数字助理和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施例包括但不限于来自Apple Inc(Cupertino,Califormia)的iPod设备。任选地使用其它便携式电子设备,诸如具有触敏表面(例如,触摸屏显示器和/或触控板)的膝上型计算机或平板电脑。还应当理解的是,在一些实施例中,设备不是便携式通信设备,而是具有触敏表面(例如,触摸屏显示器和/或触控板)的台式计算机。
在下面的讨论中,介绍了一种包括显示器和触敏表面的电子设备。然而应当理解,电子设备任选地包括一个或多个其它物理用户接口设备,诸如物理键盘、鼠标和/或操纵杆。
设备通常支持多种应用程序,诸如以下中的一种或多种:画图应用程序、展示应用程序、文字处理应用程序、网页创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、锻炼支持应用程序、相片管理应用程序、数字相机应用程序、数字视频摄像机应用程序、网络浏览应用程序、数字音乐播放器应用程序、和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个共用的物理用户接口设备,诸如触敏表面。触敏表面的一种或多种功能以及显示在设备上的对应信息任选地从一种应用程序调整和/或变化至下一种应用程序和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式设备的实施例。图1A是示出根据一些实施例的具有触敏显示器112的便携式多功能设备100的框图。触敏显示器112有时为了方便被叫做“触摸屏”,并且有时可被称为或被叫做触敏显示***。设备100包括存储器102(任选地包括一个或多个计算机可读存储介质)、存储器控制器122、一个或多个处理单元(CPU)120、***设备接口118、RF电路***108、音频电路***110、扬声器111、麦克风113、输入/输出(I/O)子***106、其它输入或控制设备116、和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100上的接触的强度的一个或多个强度传感器165(例如,触敏表面,诸如设备100的触敏显示***112)。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如,在触敏表面,诸如设备100的触敏显示***112或设备300的触控板355上生成触觉输出)。这些部件任选地通过一根或多根通信总线或信号线103通信。
如在本说明书和权利要求书中所使用,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同值并且更典型地包括上百个不同值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些实施例中,来自多个力传感器的力测量值被合并(例如,加权平均数)以确定估计的接触的力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。可替代地,在触敏表面上检测到的接触面积的大小和/或其变化、邻近接触的触敏表面的电容和/或其变化、和/或邻近接触的触敏表面的电阻和/或其变化任选地用作触敏表面上的接触的力或压力的替代物。在一些实施例中,接触力或压力的替代物测量值直接用于确定是否已经超过强度阈值(例如,强度阈值是以对应于替代物测量值的单位来描述)。在一些实施例中,接触力或压力的替代物测量值被转换成估计的力或压力,并且估计的力或压力用于确定是否已经超过强度阈值(例如,强度阈值是以压力的单位测量的压力阈值)。
如本说明书和权利要求书中所使用,术语“触觉输出”是指将由用户通过用户的触摸感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户的手部的其它部分)接触的情况下,通过物理位移生成的触觉输出将由用户解读为触感,该触感对应于所感知到的设备或设备部件的物理特性上的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解读为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。又如,触敏表面的移动任选地由用户解读为或感测为触敏表面的“粗糙度”,即使在触敏表面的光滑度无变化时。虽然此类由用户对触摸的解读将受到用户的个体化感官知觉限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的所描述的感官知觉。
应当理解,设备100只是一种便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件以硬件、软件或软件和硬件的组合来实现,包括一个或多个信号处理和/或专用集成电路。
存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其它非易失性固态存储器设备。设备100的其它部件(诸如CPU 120和***设备接口118)对存储器102的访问任选地由存储器控制器122来控制。
***设备接口118可以被用来将设备的输入和输出***设备耦接到CPU 120和存储器102。该一个或多个处理器120运行或执行存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能以及处理数据。
在一些实施例中,***设备接口118、CPU 120、和存储器控制器122任选地被实现在单个芯片诸如芯片104上。在一些其它实施例中,它们任选地被实现在独立的芯片上。
RF(射频)电路***108接收和发送RF信号,也被叫做电磁信号。RF电路***108将电信号转换为电磁信号/将电磁信号转换为电信号,并且经由电磁信号与通信网络及其它通信设备通信。RF电路***108任选地包括用于执行这些功能的众所周知的电路***,包括但不限于天线***、RF收发器、一个或多个放大器、调谐器、一个或多个振荡器、数字信号处理器、编解码芯片组、用户身份模块(SIM)卡、存储器等等。RF电路***108任选地通过无线通信与网络以及其它设备通信,网络诸如是互联网(也被称为万维网(WWW))、内联网和/或无线网络(诸如蜂窝电话网络、无线局域网(LAN)和/或城域网(MAN))。无线通信任选地使用多种通信标准、协议和技术中的任何一种,包括但不限于全球移动通信***(GSM)、增强数据GSM环境(EDGE)、高速下行链路分组接入(HSDPA)、高速上行链路分组接入(HSUPA)、演进、纯数据(EV-DO)、HSPA、HSPA+、双单元HSPA(DC-HSPDA)、长期演进(LTE)、近场通信(NFC)、宽带码分多址(W-CDMA)、码分多址(CDMA)、时分多址(TDMA)、蓝牙、无线保真(Wi-Fi)(例如,IEEE 802.11a、IEEE 802.11b、IEEE 802.11g和/或IEEE802.11n)、互联网协议语音技术(VoiP)、Wi-MAX、电子邮件协议(例如,互联网消息访问协议(IMAP)和/或邮局协议(POP))、即时消息(例如,可扩展消息处理现场协议(XMPP)、用于即时消息和现场利用扩展的会话发起协议(SIMPLE)、即时消息和到场服务(IMPS))、和/或短消息服务(SMS)、或者其它任何适当的通信协议,包括在本文档提交日期还未开发出的通信协议。
音频电路***110、扬声器111、和麦克风113提供用户与设备100之间的音频接口。音频电路***110从***设备接口118接收音频数据,将音频数据转换为电信号,并将电信号传输到扬声器111。扬声器111将电信号转换为人类可听的声波。音频电路***110还接收由麦克风113根据声波转换来的电信号。音频电路***110将电信号转换为音频数据,并将音频数据传输到***设备接口118以进行处理。音频数据任选地由***设备接口118检索自和/或传输至存储器102和/或RF电路***108。在一些实施例中,音频电路***110还包括耳麦插孔(例如,图2中的212)。耳麦插孔提供音频电路***110与可移除的音频输入/输出***设备之间的接口,该***设备诸如仅输出的耳机或者具有输出(例如,单耳或双耳耳机)和输入(例如,麦克风)二者的耳麦。
I/O子***106将设备100上的输入/输出***设备,诸如触摸屏112和其它输入控制设备116,耦接到***设备接口118。I/O子***106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161、和用于其它输入或控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其它输入控制设备116接收电信号/发送电信号到其它输入控制设备116。其它输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击式转盘等等。在一些另选实施例中,输入控制器160任选地耦接到(或不耦接到)以下任一个:键盘、红外线端口、USB端口、和指针设备诸如鼠标。一个或多个按钮(例如,图2中的208)任选地包括用于扬声器111和/或麦克风113的音量控制的向上/向下按钮。一个或多个按钮任选地包括下压按钮(例如,图2中的206)。
触敏显示器112提供设备与用户之间的输入接口和输出接口。显示控制器156从触摸屏112接收电信号和/或向触摸屏112发送电信号。触摸屏112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频和它们的任何组合(统称为“图形”)。在一些实施例中,一些视觉输出或全部的视觉输出对应于用户界面对象。
触摸屏112具有基于触觉和/或触觉接触从用户接受输入的触敏表面、传感器或传感器组。触摸屏112和显示控制器156(与存储器102中的任何相关联模块和/或指令集一起)检测触摸屏112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与显示在触摸屏112上的用户界面对象(例如,一个或多个软按键、图标、网页或图像)的交互。在示例性实施例中,触摸屏112与用户之间的接触点对应于用户的手指。
触摸屏112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、或LED(发光二极管)技术,但是在其它实施例中使用其它显示技术。触摸屏112和显示控制器156任选地使用现在已知的或以后将开发出的多种触摸感测技术中的任何技术以及其它接近传感器阵列或用于确定与触摸屏112接触的一个或多个点的其它元件来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外线的、和表面声波技术。在一示例性实施例中,使用投射式互电容感测技术,诸如从Apple Inc.(Cupertino,California)的iPod发现的技术。
触摸屏112任选地具有超过100dpi的视频分辨率。在一些实施例中,触摸屏具有大约160dpi的视频分辨率。用户任选地使用任何合适的物体或附加物诸如触笔、手指等等,与触摸屏112接触。在一些实施例中,用户界面被设计为主要与基于手指的接触和手势一起工作,这与基于触笔的输入相比由于手指在触摸屏上接触面积更大而可能精确度更低。在一些实施例中,设备将基于手指的粗略输入翻译为精确的指针/光标位置或命令,以执行用户所期望的动作。
在一些实施例中,除了触摸屏之外,设备100任选地包括用于激活或解除激活特定功能的触控板(未示出)。在一些实施例中,触控板是设备的触敏区域,该触敏区域与触摸屏不同,其不显示视觉输出。触控板任选地是与触摸屏112分开的触敏表面,或者是由触摸屏形成的触敏表面的延伸部分。
设备100还包括用于为各种部件供电的电力***162。电力***162任选地包括电力管理***、一个或多个电源(例如,电池、交流电(AC))、再充电***、电力故障检测电路、功率转换器或逆变器、电力状态指示器(例如,发光二极管(LED))和任何其它与便携式设备中电力的生成、管理和分配相关联的部件。
设备100任选地还包括一个或多个光学传感器164。图1A示出了耦接到I/O子***106中光学传感器控制器158的光学传感器。光学传感器164任选地包括电荷耦合器件(CCD)或互补金属氧化物半导体(CMOS)光电晶体管。光学传感器164从环境接收通过一个或多个透镜投射的光,并且将光转换为表示图像的数据。结合成像模块143(也叫做相机模块),光学传感器164任选地捕获静态图像或视频。在一些实施例中,光学传感器位于设备100的后部上,与设备前部上的触摸屏显示器112相背对,使得触摸屏显示器能够用作用于静态图像和/或视频图像采集的取景器。在一些实施例中,另一光学传感器位于设备的前部上,使得用户在触摸屏显示器上观看其它视频会议参与者的同时,任选地获得该用户的图像以用于视频会议。
设备100任选地还包括一个或多个接触强度传感器165。图1A示出耦接到I/O子***106中强度传感器控制器159的接触强度传感器。接触强度传感器165任选地包括一个或多个压阻应变计、电容式力传感器、电力传感器、压电力传感器、光学力传感器、电容式触敏表面或其它强度传感器(例如,用于测量触敏表面上的接触的力(或压力)的传感器)。接触强度传感器165从环境接收接触强度信息(例如,压力信息或压力信息的代用物)。在一些实施例中,至少一个接触强度传感器与触敏表面(例如,触敏显示***112)并置排列或邻近。在一些实施例中,至少一个接触强度传感器位于设备100的后部上,与位于设备100的前部上的触摸屏显示器112相背对。
设备100任选地还包括一个或多个接近传感器166。图1A示出了耦接到***设备接口118的接近传感器166。作为另外一种选择,接近传感器166耦接到I/O子***106中的输入控制器160。在一些实施例中,当多功能设备被置于用户的耳朵附近时(例如,当用户正在进行电话呼叫时),接近传感器关闭并且禁用触摸屏112。
设备100任选地还包括一个或多个触觉输出发生器167。图1A示出耦接到I/0子***106中触觉反馈控制器161的触觉输出发生器。触觉输出发生器167任选地包括:一个或多个电声设备,诸如扬声器或其它音频部件;和/或将能量转换成线性运动的机电设备,诸如电机、螺线管、电活性聚合物、压电致动器、静电致动器或其它触觉输出生成部件(例如,将电信号转换成设备上的触觉输出的部件)。接触强度传感器165从触觉反馈模块133接收触觉反馈生成指令,并且在设备100上生成能够由设备100的用户感测到的触觉输出。在一些实施例中,至少一个触觉输出发生器与触敏表面(例如,触敏显示***112)并置排列或邻近,并且任选地通过竖直地(例如,向设备100的表面之内/之外)或侧向地(例如,在与设备100的表面相同的平面中前后地)移动触敏表面来生成触觉输出。在一些实施例中,至少一个触觉输出发生器传感器位于设备100的后部上,与位于设备100的前部上的触摸屏显示器112相背对。
设备100任选地还包括一个或多个加速度计168。图1A示出了耦接到***设备接口118的加速度计168。作为另外一种选择,加速度计168任选地耦接到I/O子***106中的输入控制器160。在一些实施例中,信息基于对从该一个或多个加速度计所接收的数据的分析而在触摸屏显示器上以纵向视图或横向视图被显示。设备100任选地除了加速度计168之外还包括磁力仪(未示出)和GPS(或GLONASS或其它全球导航***)接收器(未示出),用于获得关于设备100的位置和取向(例如,纵向或横向)的信息。
在一些实施例中,存储在存储器102中的软件部件包括操作***126、通信模块(或指令集)128、接触/运动模块(或指令集)130、图形模块(或指令集)132、文本输入模块(或指令集)134、全球定位***(GPS)模块(或指令集)135、以及应用程序(或指令集)136。此外,在一些实施例中,存储器102存储设备/全局内部状态157,如图1A和3中所示。设备/全局内部状态157包括以下中一者或多者:活动应用程序状态,用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,用于指示什么应用程序、视图或其它信息占据触摸屏显示器112的各个区域;传感器状态,包括从设备的各个传感器和输入控制设备116获得的信息;以及关于设备的位置和/或姿态的位置信息。
操作***126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作***诸如VxWorks)包括用于控制和管理一般***任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。
通信模块128有利于通过一个或多个外部端口124与其它设备通信,并且还包括用于处理由RF电路***108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其它设备或者间接地通过网络(例如,因特网、无线LAN等)耦接。在一些实施例中,外部端口是与iPod(Apple Inc.的商标)设备上所使用的30针连接器相同的或类似的以及/或者与其兼容的多针(例如,30针)连接器。在一些实施例中,外部端口是与iPhone和iPod(Apple Inc.的商标)设备上所使用的8针连接器(例如,闪电连接器)相同的或类似的和/或与其兼容的多针(例如,8针)连接器。
接触/运行模块130任选地检测与触摸屏112(结合显示控制器156)和其它触敏设备(例如,触控板或物理点击式转盘)的接触。接触/运动模块130包括各种软件部件用于执行与接触的检测相关的各种操作,诸如确定是否已经发生了接触(例如,检测手指按下事件)、确定接触的强度(例如,接触的力或压力,或接触的力或压力的替代物)、确定是否存在接触的移动并且在整个触敏表面上跟踪该移动(例如,检测一个或多个手指拖动事件)、以及确定接触是否已经停终止(例如,检测手指抬起事件或者接触中断)。接触/运动模块130从触敏表面接收接触数据。确定接触点的移动任选地包括确定接触点的速率(量值)、速度(量值和方向)、和/或加速度(量值和/或方向的改变),接触点的移动由一系列接触数据来表示。这些操作任选地被应用于单点接触(例如,单指接触)或者多点同时接触(例如,“多点触摸”/多个手指接触)。在一些实施例中,接触/运动模块130和显示控制器156检测触控板上的接触。
在一些实施例中,接触/运动模块130使用一组一个或多个强度阈值来确定操作是否已经由用户执行(例如,确定用户是否已经“点击”图标)。在一些实施例中,根据软件参数来确定至少强度阈值的一个子集(例如,强度阈值不是由特定物理致动器的激活阈值来确定,并且可在不改变设备100的物理硬件的情况下被调整)。例如,在不改变触控板或触摸屏显示器硬件的情况下,触控板或触摸屏的鼠标“点击”阈值可被设定成预定义的阈值的大范围中的任一个。另外,在一些具体实施中,向设备的用户提供用于调整强度阈组值中的一个或多个(例如,通过调整各个强度阈值和/或通过利用对“强度”参数的***级点击一次调整多个强度阈值)的软件设置。
接触/运动模块130任选地检测用户的手势输入。触敏表面上的不同手势具有不同接触图案(例如,所检测到的接触的不同运动、计时和/或强度)。因此,任选地通过检测具体接触图案来检测手势。例如,检测到手指轻击手势包括检测到手指按下事件、然后在与手指按下事件相同的位置(或基本上相同的位置)处(例如,在图标位置处)检测到手指抬起(抬离)事件。又如,在触敏表面上检测到手指轻扫手势包括检测到手指按下事件、然后检测到一个或多个手指拖动事件、并且随后检测到手指抬起(抬离)事件。
图形模块132包括用于在触摸屏112或其它显示器上展示和显示图形的各种已知软件部件,包括用于改变所显示的图形的视觉冲击(例如,亮度、透明度、饱和度、对比度或其它视觉特性)的部件。如本文所使用,术语“图形”包括可被显示给用户的任何对象,非限制性地包括文本、网页、图标(诸如包括软按键的用户界面对象)、数字图像、视频、动画等等。
在一些实施例中,图形模块132存储要使用的数据表示图形。每个图形任选地被分配有对应的代码。图形模块132从应用程序等接收指定要显示的图形的一个或多个代码,在必要的情况下还一起接收坐标数据和其它图形属性数据,并且然后生成屏幕图像数据来输出给显示控制器156。
触觉反馈模块133包括用于生成指令的各种软件部件,这些指令由触觉输出发生器167使用,以便响应于用户与设备100的交互而在设备100上的一个或多个位置处产生触觉输出。
任选地作为图形模块132的部件的文本输入模块134提供用于在各种应用程序(例如,联系人137、电子邮件140、IM 141、浏览器147、和需要文本输入的任何其它应用程序)中输入文本的软键盘。
GPS模块135确定设备的位置,并且提供该信息以在各种应用程序中使用(例如,提供给电话138以用于基于位置的拨号、提供给相机143作为照片/视频元数据、以及提供给提供基于位置的服务的应用程序,诸如天气桌面小程序、本地黄页桌面小程序、和地图/导航桌面小程序)。
应用程序136任选地包括以下模块(或指令集)或者其子组或超集:
·联系人模块137(有时叫做通讯录或联系人列表);
·电话模块138;
·视频会议模块139;
·电子邮件客户端模块140;
·即时消息(IM)模块141;
·互联网广播模块142;
·用于静态图像和/或视频图像的相机模块143;
·图像管理模块144;
·浏览器模块147;
·日历模块148;
·桌面小程序模块149,任选地包括以下中一者或多者:天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、字典桌面小程序149-5、和用户获得的其它桌面小程序、以及用户创建的桌面小程序149-6;
·数字个人助理模块150;
·车辆集成模块151;
·视频和音乐播放器模块152,任选地由视频播放器模块和音乐播放器模块构成;
·便笺模块153;
·地图模块154;和/或
·音乐库模块155。
任选地被存储在存储器102中的其它应用程序136的示例包括其它文字处理应用程序、其它图像编辑应用程序、画图应用程序、展示应用程序、JAVA启用的应用程序、加密、数字权益管理、声音识别、和声音复制。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,联系人模块137任选地用于管理通讯录或联系人列表(例如,存储在存储器102或存储器370中的联系人模块137的应用程序内部状态192中),包括:添加姓名到通讯录;从通讯录删除姓名;将电话号码、电子邮件地址、实际地址或其它信息与姓名关联;将图像与姓名关联;对姓名进行分类和归类;提供电话号码或电子邮件地址来发起和/或促进通过电话138、视频会议139、电子邮件140或IM 141的通信;等等。
结合RF电路***108、音频电路***110、扬声器111、麦克风113、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电话模块138任选地被用于输入对应于电话号码的字符序列、访问通讯录137中的一个或多个电话号码、修改已经输入的电话号码、拨打相应的电话号码、进行会话以及当会话完成时断开或挂断。如上所述,无线通信任选地使用多种通信标准、协议和技术中的任一种。
结合RF电路***108、音频电路***110、扬声器111、麦克风113、触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、文本输入模块134、联系人列表137、和电话模块138,视频会议模块139包括用于根据用户指令发起、进行、和结束用户与一个或多个其它参与方之间的视频会议的可执行指令。
结合RF电路***108、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,电子邮件客户端模块140包括用于响应于用户指令来创建、发送、接收、和管理电子邮件的可执行指令。结合图像管理模块144,电子邮件客户端模块140使得非常容易创建和发送具有由相机模块143拍摄的静态图像或视频图像的电子邮件。
结合RF电路***108、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,即时消息模块141包括用于输入响应于即时消息的字符序列、修改先前输入的字符、传输相应即时消息(例如,使用短消息服务(SMS)或多媒体消息服务(MMS)协议用于基于电话的即时消息或者使用XMPP、SIMPLE、或IMPS用于基于因特网的即时消息)、接收即时消息以及查看所接收的即时消息的可执行指令。在一些实施例中,所传输和/或接收的即时消息任选地包括图形、相片、音频文件、视频文件和/或MMS和/或增强消息服务(EMS)中所支持的其它附件。如本文所使用,“即时消息”是指基于电话的消息(例如,使用SMS或MMS发送的消息)和基于互联网的消息(例如,使用XMPP、SIMPLE、或IMPS发送的消息)二者。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、音频电路***110、扬声器111、和RF电路***108,互联网广播模块142是包括用于选择和播放互联网广播电台的可执行指令的假想例第三方应用程序。
结合触摸屏112、显示控制器156、光学传感器164、光学传感器控制器158、接触模块130、图形模块132、和图像管理模块144,相机模块143包括用于捕获静态图像或视频(包括视频流)并且将它们存储到存储器102中、修改静态图像或视频的特性、或从存储器102删除静态图像或视频的可执行指令。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、和相机模块143,图像管理模块144包括用于排列、修改(例如,编辑)、或以其它方式操控、加标签、删除、呈现(例如,在数字幻灯片或相册中)、以及存储静态图像和/或视频图像的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、和文本输入模块134,浏览器模块147包括用于根据用户指令浏览因特网(包括搜索、链接到、接收、和显示网页或其部分、以及链接到网页的附件和其它文件)的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、电子邮件客户端模块140、和浏览器模块147,日历模块148包括用于根据用户指令创建、显示、修改、和存储日历和与日历相关联的数据(例如,日历条目、待办任务列表等)的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、和浏览器模块147,桌面小程序模块149是任选地由用户下载和使用的微型应用程序(例如,天气桌面小程序149-1、股市桌面小程序149-2、计算器桌面小程序149-3、闹钟桌面小程序149-4、和字典桌面小程序149-5)或由用户创建的微型应用程序(例如,用户创建的桌面小程序149-6)。在一些实施例中,桌面小程序包括HTML(超文本标记语言)文件、CSS(层叠样式表)文件、和JavaScript文件。在一些实施例中,桌面小程序包括XML(可扩展标记语言)文件和JavaScript文件(例如,Yahoo!桌面小程序)。
结合RF电路***108、音频电路***110、扬声器111、麦克风113、触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,数字个人助理模块150记录语音命令并且将表示所记录的语音命令的信息发送给服务器诸如图5中的服务器510以用于分析,并且基于来自服务器的响应对语音命令作出响应。
车辆集成模块151包括用于一个或多个中间进程的可执行指令,该一个或多个中间进程控制车辆(例如,汽车、卡车、货车等)中的车辆信息显示***,从而在该车辆信息显示***的相应显示器(例如,图5中的外部信息展示***540的显示器547)上提供用户界面,该用户界面诸如为用于映射应用程序或音乐应用程序。车辆集成应用程序将来自第三方应用程序的信息转换成用于通过车辆集成应用程序显示在车辆信息显示***的相应显示器上的内容。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、音频电路***110、扬声器111、RF电路***108、和浏览器模块147,视频和音乐播放器模块152包括允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其它声音文件的可执行指令,以及用于显示、展示或以其它方式回放视频(例如,在触摸屏112上或在经由外部端口124连接的外部显示器上)的可执行指令。在一些实施例中,设备100任选地包括MP3播放器,诸如iPod(Apple Inc.的商标)的功能性。
结合触摸屏112、显示控制器156、接触模块130、图形模块132、和文本输入模块134,便笺模块153包括用于根据用户指令创建和管理便笺、待办任务清单等的可执行指令。
结合RF电路***108、触摸屏112、显示***控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、和浏览器模块147,地图模块154任选地用于根据用户指令接收、显示、修改、和存储地图以及与地图相关联的数据(例如,驾车路线;与在特定位置处或附近的商店和其它兴趣点有关的数据;以及其它基于位置的数据)。
结合触摸屏112、显示***控制器156、接触模块130、图形模块132、音频电路***110、扬声器Ill、和RF电路***108,音乐库模块155是包括用于从音乐库选择和播放歌曲的可执行指令的假想例第三方应用程序。
上述每个模块和应用程序对应于用于执行上述一种或多种功能以及在本申请中所介绍的方法(例如,本文中所描述的计算机实现的方法和其它信息处理方法)的一组可执行指令。这些模块(即指令集)不必被实现为分开的软件程序、过程或模块,因此这些模块的各种子组任选地在各种实施例中被组合或以其它方式重新布置。在一些实施例中,存储器102任选地存储上述模块和数据结构的子组。此外,存储器102任选地存储上面没有描述的另外的模块和数据结构。
在一些实施例中,设备100是这样一种设备,即在该设备上预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行。通过使用触摸屏和/或触控板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地通过触摸屏和/或触控板执行的该预定义的一组功能任选地包括介于用户界面之间的导航。在一些实施例中,触控板在被用户触摸时将设备100从显示在设备100上的任何用户界面导航到主菜单、主屏幕菜单或根菜单。在此类实施例中,使用触控板来执行“菜单按钮”。在一些其它实施例中,菜单按钮是物理下压按钮或者其它物理输入控制设备,而不是触控板。
图1B是示出根据一些实施例的用于事件处理的示例性部件的框图。在一些实施例中,存储器102(图1A中)或存储器370(图3)包括事件分类器170(例如,在操作***126中)以及相应的应用程序136-1(例如,前述应用程序137-13、155、380-390中的任何应用程序)。
事件分类器170接收事件信息并确定要将事件信息传递到的应用程序136-1和应用程序136-1的应用程序视图191。事件分类器170包括事件监视器171和事件调度器模块174。在一些实施例中,应用程序136-1包括应用程序内部状态192,该应用程序内部状态192指示当应用程序是活动的或正在执行时显示在触敏显示器112上的当前应用程序视图。在一些实施例中,设备/全局内部状态157被事件分类器170用来确定哪个(哪些)应用程序当前是活动的,并且应用程序内部状态192被事件分类器170用来确定要将事件信息传递到的应用程序视图191。
在一些实施例中,应用程序内部状态192包括另外的信息,诸如以下中一者或多者:当应用程序136-1恢复执行时将被使用的恢复信息、指示正通过应用程序136-1显示的信息或准备好用于通过应用程序136-1显示的信息的用户界面状态信息、用于使得用户能够返回到应用程序136-1的前一状态或视图的状态队列、以及用户采取的先前动作的重复/撤销队列。
事件监视器171从***设备接口118接收事件信息。事件信息包括关于子事件(例如,触敏显示器112上的用户触摸,作为多点触摸手势的一部分)的信息。***设备接口118传输其从I/O子***106或传感器(诸如是接近传感器166)、加速度计168、和/或麦克风113(通过音频电路***110)所接收的信息。***设备接口118从I/O子***106接收的信息包括来自触敏显示器112或触敏表面的信息。
在一些实施例中,事件监视器171以预先确定的间隔来发送请求给***设备接口118。作为响应,***设备接口118传输事件信息。在其它实施例中,***设备接口118仅当存在显著事件(例如,接收到高于预先确定的噪声阈值的输入和/或接收到超过预先确定的持续时间的输入)时传输事件信息。
在一些实施例中,事件分类器170还包括命中视图确定模块172和/或活动事件识别器确定模块173。
当触敏显示器112显示多于一个视图时,命中视图确定模块172提供用于确定子事件已经在一个或多个视图内什么地方发生了的软件过程。视图由用户在显示器上可以看到的控件和其它元件构成。
与应用程序相关联的用户界面的另一方面是一组视图,本文中有时也称为应用程序视图或用户界面窗口,在其中显示信息以及发生基于触摸的手势。在其中检测到触摸的(相应应用程序的)应用程序视图任选地对应于在应用程序的程序化或视图分级结构内的程序化水平。例如,在其中检测到触摸的最低水平视图任选地被叫做命中视图,并且被识别为正确输入的事件集任选地至少部分地基于始于基于触摸的手势的初始触摸的命中视图来确定。
命中视图确定模块172接收与基于触摸的手势的子事件相关的信息。当应用程序具有被组织在分级结构中的多个视图时,命中视图确定模块172将命中视图识别为该分级结构中应该处理该子事件的最低视图。在大多数情形中,命中视图是发起子事件(即形成事件或潜在事件的子事件序列中的第一个子事件)在其中发生的最低水平视图。一旦命中视图被命中视图确定模块识别,命中视图通常接收与其被识别为命中视图所针对的同一触摸或输入源相关的所有子事件。
活动事件识别器确定模块173确定视图分级结构内的哪个或哪些视图应该接收特定的子事件序列。在一些实施例中,活动事件识别器确定模块173确定仅命中视图应该接收特定的子事件序列。在其它实施例中,活动事件识别器确定模块173确定包括子事件的物理位置的所有视图是活跃涉及的视图,并且因此确定所有活跃涉及的视图应该接收特定子事件序列。在其它实施例中,即使触摸子事件完全被局限到与一特定视图相关联的区域,分级结构中更高的视图将仍然保持为活跃涉及的视图。
事件调度器模块174将事件信息调度到事件识别器(例如,事件识别器180)。在包括活动事件识别器确定模块173的实施例中,事件调度器模块174将事件信息传递到由活动事件识别器确定模块173确定的事件识别器。在一些实施例中,事件调度器模块174在事件队列中存储事件信息,事件信息由相应事件接收器模块182检索。
在一些实施例中,操作***126包括事件分类器170。或者,应用程序136-1包括事件分类器170。在另一实施例中,事件分类器170是独立的模块,或者是存储在存储器102中的另一模块(诸如接触/运动模块130)的一部分。
在一些实施例中,应用程序136-1包括多个事件处理程序190和一个或多个应用程序视图191,其中每一个都包括用于处理发生在应用程序的用户界面的相应视图内的触摸事件的指令。应用程序136-1的每个应用程序视图191包括一个或多个事件识别器180。通常,相应应用程序视图191包括多个事件识别器180。在其它实施例中,事件识别器180中的一个或多个是独立模块的一部份,独立模块诸如是用户界面工具包(未示出)或应用程序136-1从中继承方法和其它特性的更高水平对象。在一些实施例中,相应事件处理程序190包括以下中的一者或多者:数据更新器176、对象更新器177、GUI更新器178、和/或从事件分类器170接收的事件数据179。事件处理程序190任选地利用或调用数据更新器176、对象更新器177或GUI更新器178来更新应用程序内部状态192。或者,应用程序视图191中的一个或多个包括一个或多个相应事件处理程序190。另外,在一些实施例中,数据更新器176、对象更新器177、和GUI更新器178中的一个或多个被包括在相应应用程序视图191中。
相应的事件识别器180从事件分类器170接收事件信息(例如,事件数据179),并且从事件信息来标识事件。事件识别器180包括事件接收器182和事件比较器184。在一些实施例中,事件识别器180还至少包括以下的一个子组:元数据183、和事件传递指令188(任选地包括子事件传递指令)。
事件接收器182从事件分类器170接收事件信息。事件信息包括关于子事件的信息,例如触摸或触摸移动。根据子事件,事件信息还包括另外的信息,诸如子事件的位置。当子事件涉及触摸的动作时,事件信息任选地还包括子事件的速率和方向。在一些实施例中,事件包括设备从一个取向旋转到另一取向(例如,从纵向取向旋转到横向趋向,反之亦然),并且事件信息包括关于设备的当前取向(也被称为设备姿态)的相应信息。
事件比较器184将事件信息与预定义的事件或子事件定义进行比较,并且基于该比较来确定事件或子事件、或者确定或更新事件或子事件的状态。在一些实施例中,事件比较器184包括事件定义186。事件定义186包含事件的定义(例如,预定义的子事件序列),例如事件1(187-1)、事件2(187-2)以及其它。在一些实施例中,事件187中的子事件例如包括触摸开始、触摸结束、触摸移动、触摸取消、和多点触摸。在一个实例中,事件1(187-1)的定义是在被显示对象上的双击。例如,该双击包括在被显示的对象上的预定时长的第一次触摸(触摸开始)、预定时长的第一次抬起(触摸结束)、在该被显示的对象上的预定时长的第二次触摸(触摸开始)、以及预定时长的第二次抬起(触摸结束)。在另一实例中,事件2(187-2)的定义是在被显示对象上的拖动。例如,该拖动包括在该被显示对象上的预先确定时长的触摸(或接触)、该触摸在触敏显示器112上的移动、以及该触摸的抬起(触摸结束)。在一些实施例中,事件还包括用于一个或多个相关联事件处理程序190的信息。
在一些实施例中,事件定义187包括用于相应用户界面对象的事件的定义。在一些实施例中,事件比较器184执行命中测试,以确定哪个用户界面对象与子事件相关联。例如,在其中在触摸显示器112上显示三个用户界面对象的应用程序视图中,当在触敏显示器112上检测到触摸时,事件比较器184执行命中测试,以确定这三个用户界面对象中哪一个与该触摸(子事件)相关联。如果每个所显示的对象与相应的事件处理程序190相关联,则事件比较器使用该命中测试的结果来确定哪个事件处理程序190应该被激活。例如,事件比较器184选择与触发该命中测试的对象和子事件相关联的事件处理程序。
在一些实施例中,相应事件187的定义还包括延迟动作,延迟动作延迟事件信息的传递,直到已经确定子事件序列是否确实对应于事件识别器的事件类型之后。
当相应事件识别器180确定子事件串不与事件定义186中的任何事件匹配,则该相应事件识别器180进入事件不可能、事件失败、或事件结束状态,然后其不理会该基于触摸的手势的后续子事件。在这种情况下,对于命中视图保持活动的其它事件识别器(如果有的话)继续跟踪和处理正在进行的基于触摸的手势的子事件。
在一些实施例中,相应事件识别器180包括具有指示事件传递***应该如何执行对活跃涉及的事件识别器的子事件传递的能配置的属性、标志和/或列表的元数据183。在一些实施例中,元数据183包括指示事件识别器彼此如何交互或如何能够交互的能配置的属性、标志和/或列表。在一些实施例中,元数据183包括指示子事件是否被传递到视图或程序化分级结构中变化的水平的能配置的属性、标记和/或列表。
在一些实施例中,当事件的一个或多个特定子事件被识别时,相应事件识别器180激活与事件相关联的事件处理程序190。在一些实施例中,相应事件识别器180将与该事件相关联的事件信息传递到事件处理程序190。激活事件处理程序190不同于发送(和延期发送)子事件到相应的命中视图。在一些实施例中,事件识别器180抛出与所识别的事件相关联的标志,并且与该标志相关联的事件处理程序190接到该标志并执行预定义的过程。
在一些实施例中,事件传递指令188包括传递关于子事件的事件信息而不激活事件处理程序的子事件传递指令。相反,子事件传递指令将事件信息传递到与子事件串相关联的事件处理程序或者传递到活跃涉及的视图。与子事件串或与活跃涉及的视图相关联的事件处理程序接收事件信息,并执行预先确定的过程。
在一些实施例中,数据更新器176创建并更新在应用程序136-1中使用的数据。例如,数据更新器176更新在联系人模块137中使用的电话号码,或者存储在视频播放器模块145中使用的视频文件。在一些实施例中,对象更新器177创建并更新在应用程序136-1中使用的对象。例如,对象更新器176创建新的用户界面对象,或者更新用户界面对象的位置。GUI更新器178更新GUI。例如,GUI更新器178准备显示信息,并且将显示信息发送到图形模块132用以显示在触敏显示器上。
在一些实施例中,事件处理程序190包括或者具有对数据更新器176、对象更新器177、和GUI更新器178的访问权限。在一些实施例中,数据更新器176、对象更新器177、和GUI更新器178被包括在相应应用程序136-1或应用程序视图191的单个模块中。在其它实施例中,它们被包括在两个或更多个软件模块中。
应当理解,上述关于触敏显示器上的用户触摸的事件处理的讨论还适用于利用输入设备操作多功能设备100的其它形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地与单次或多次键盘按下或按住协作的鼠标移动和鼠标按钮按下;触控板上的接触移动,诸如轻击、拖拽、滚动等;触笔输入;设备的移动;口头指令;检测到的眼睛移动;生物识别输入;和/或它们的任何组合任选地被用作对应于限定要识别的事件的子事件的输入。
图2示出了根据一些实施例的具有触摸屏112的一种便携式多功能设备100。触摸屏任选地在用户界面(UI)200内显示一个或多个图形。在该实施例中,以及在下文中介绍的其它实施例中,用户能够通过例如用一根或多根手指202(在附图中没有按比例绘制)或者用一个或多个触笔203(在附图中没有按比例绘制)在图形上作出手势来选择这些图形中的一个或多个。在一些实施例中,当用户中断与该一个或多个图形的接触时,发生对一个或多个图形的选择。在一些实施例中,手势任选地包括一次或多次轻击、一次或多次轻扫(从左向右、从右向左、向上和/或向下)和/或已经与设备100接触的手指的拨动(从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当与选择对应的手势是轻击时,在应用程序图标之上扫动的轻扫手势任选地不会选择相应的应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“主屏幕”或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。或者,在一些实施例中,菜单按钮被实现为显示在触摸屏112上的GUI中的软键。
在一个实施例中,设备100包括触摸屏112、菜单按钮204、用于设备开关机和锁定设备的下压按钮206、(一个或多个)音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212、和对接/充电外部端口124。下压按钮206任选地用于通过压下该按钮并且将该按钮保持在压下状态达预定义的时间间隔来对设备进行开关机;通过压下该按钮并在经过该预定义的时间间隔之前释放该按钮来锁定设备;和/或解锁设备或发起解锁过程。在另选的实施例中,设备100还通过麦克风113接受用于激活或解除激活某些功能的言语输入。设备100还任选地包括用于检测触摸屏112上的接触的强度的一个或多个接触强度传感器165,和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器167。
图3是根据一些实施例的具有显示器和触敏表面的示例性多功能设备的框图。设备300不必是便携式的。在一些实施例中,设备300是膝上型计算机、台式计算机、平板电脑、多媒体播放器设备、导航设备、教育设备(诸如儿童学习玩具)、游戏***或控制设备(例如,家用或工业用控制器)。设备300通常包括一个或多个处理单元(CPU)310、一个或多个网络或其它通信接口360、存储器370和用于使这些部件互连的一根或多根通信总线320。通信总线320任选地包括使***部件互连并且控制***部件之间的通信的电路***(有时叫做芯片组)。设备300包括输入/输出(I/O)接口330,该接口330包括通常是触摸屏显示器(例如,触摸屏显示器112)的显示器340。I/O接口330还任选地包括键盘和/或鼠标(或其它指向设备)350和触控板355、用于在设备300上生成触觉输出的触觉输出发生器357(例如,类似于以上参考图1A所述的触觉输出发生器167)、传感器359(例如,光学传感器、加速度传感器、接近传感器、触敏传感器、和/或类似于以上参考图1A所述的接触强度传感器165的接触强度传感器)。存储器370包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备;并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存设备、或其它非易失性固态存储设备。存储器370任选地包括远离CPU 310定位的一个或多个存储设备。在一些实施例中,存储器370存储与便携式多功能设备100(图1A)的存储器102中所存储的程序、模块和数据结构类似的程序、模块、和数据结构,或它们的子组。此外,存储器370任选地存储在便携式多功能设备100的存储器102中不存在的另外的程序、模块、和数据结构。例如,设备300的存储器370任选地存储画图模块380、展示模块382、文字处理模块384、网站创建模块386、盘编辑模块388、和/或电子表格模块390,而便携式多功能设备100(图1A)的存储器102任选地不存储这些模块。
图3中上述所识别的元件的每一个任选地被存储在一个或多个先前提到的存储器设备中。上述所识别的模块的每一个对应于用于执行上述功能的一组指令。上述所识别的模块或程序(即,指令集)不必被实现为单独的软件程序、过程或模块,并且因此这些模块的各种子组任选地在各种实施例中被组合或以其它方式重新布置。在一些实施例中,存储器370任选地存储上述模块和数据结构的子组。此外,存储器370任选地存储上面未描述的另外的模块和数据结构。
现在将注意力转到任选地在便携式多功能设备100上实现的用户界面(“UI”)的实施例。
图4A示出了根据一些实施例的便携式多功能设备100上用于应用程序菜单的一种示例性用户界面。类似的用户界面任选地在设备300上实现。在一些实施例中,用户界面400包括以下元素或者其子组或超集:
·无线通信(诸如蜂窝信号和Wi-Fi信号)的信号强度指示器402;
·时间404;
·蓝牙指示器405;
·电池状态指示器406;
·具有常用应用程序图标的托盘408,图标诸如:
○电话模块138的标记“电话”的图标416,该图标416任选地包括未接来电或语音留言的数量的指示器414;
○电子邮件客户端模块140的标记“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示器410;
○浏览器模块147的标记“浏览器”的图标420;和
○视频和音乐播放器模块152(也叫做iPod(Apple Inc.的商标)模块152)的标记“iPod”的图标422;以及
·其它应用程序的图标,图标诸如:
○IM模块141的标记“文本”的图标424;
○日历模块148的标记“日历”的图标426;
○图像管理模块144的标记“相片”的图标428;
○相机模块143的标记“相机”的图标430;
○音乐库模块155的标记“音乐库”的图标432;
○股市桌面小程序149-2的标记“股市”的图标434;
○地图模块154的标记“地图”的图标436;
○天气桌面小程序149-1的标记“天气”的图标438;
○闹钟桌面小程序149-4的标记“时钟”的图标440;
○互联网广播模块142的标记“互联网广播”的图标442;
○便笺模块153的标记“便笺”的图标444;以及
○设置应用程序或模块的图标446,该图标446提供对设备100及其各种应用程序136的设置的访问;
应当指出的是,图4A中示出的图标标签仅仅是示例性的。例如,视频和音乐播放器模块152的图标422被标记“音乐”或“音乐播放器”。其它标签任选地用于各种应用程序图标。在一些实施例中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施例中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图4B示出了具有与显示器450(例如,触摸屏显示器112)分开的触敏表面451(例如,图3中的平板或触控板355)的设备(例如,图3中的设备300)上的示例性用户界面。设备300还任选地包括用于检测触敏表面451上的接触的强度的一个或多个接触强度传感器(例如,传感器357中的一个或多个),和/或用于为设备300的用户生成触觉输出的一个或多个触觉输出发生器359。
尽管将参考触摸屏显示器112(其中组合了触敏表面和显示器)上的输入给出随后的实例中的一些,但是在一些实施例中,设备检测与显示器分开的触敏表面上的输入,如图4B中所示。在一些实施例中,触敏表面(例如,图4B中的451)具有与显示器(例如,450)上的主轴(例如,图4B中的453)对应的主轴(例如,图4B中的452)。根据这些实施例,设备检测在与显示器上的相应位置对应的位置(例如,在图4B中,460对应于468并且462对应于470)处与触敏表面451的接触(例如,图4B中的460和462)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(图4B中的450)分开时,由设备在触敏表面上检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其它用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、手指轻击手势、手指轻扫手势)来给出下面的实例,但是应当理解的是,在一些实施例中,这些手指输入中的一个或多个由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触)、之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由光标位于轻击手势的位置之上时的鼠标点击(例如,而不是对接触的检测、之后是终止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个电脑鼠标任选地被同时使用,或一个鼠标和多个手指接触任选地被同时使用。
图5示出了根据一些实施例的一种操作环境500的框图。操作环境500包括服务器510、一个或多个通信网络505、便携式多功能设备100和外部信息展示***540。在一些实施例中,外部信息展示***540被实现在车辆中。
服务器510通常包括一个或多个用于执行存储器524中所存储的模块、程序和/或指令从而执行处理操作的处理单元(CPU)512、一个或多个网络或其它通信接口520、存储器524、和用于使这些部件互连的一个或多个通信总线522。通信总线522任选地包括使***部件互连并且控制***部件之间的通信的电路***(有时叫做芯片组)。存储器524包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备,并且可包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其它非易失性固态存储设备。存储器524任选地包括远离CPU 512定位的一个或多个存储设备。存储器524或存储器524内作为另外一种选择的非易失性存储器设备包括非暂态计算机可读存储介质。在一些实施例中,存储器524或存储器524的计算机可读存储介质存储以下程序、模块和数据结构,或它们的子组:
·操作***526,包括用于处理各种基础***服务的过程和用于执行硬件相关的任务的过程。以及
·网络通信模块528,用于通过一个或多个通信网络接口520和一个或多个通信网络505(有线地或无线地)将服务器510连接至其它计算设备,该一个或多个通信网络505诸如为互联网、其它广域网、局域网、城域网等等。
便携式多功能设备100通常包括参考图1A-1B和/或图3所描述的部件。
外部信息展示***540通常包括一个或多个用于执行存储器554中所存储的模块、程序和/或指令从而执行处理操作的处理单元(CPU)542、一个或多个网络或其它通信接口550、存储器554、和用于使这些部件互连的一个或多个通信总线552。外部信息展示***540任选地包括用户界面546,该用户界面546包括显示设备547和控件548(例如,机械示能表示(affordance)、按钮或旋钮、触敏表面诸如触摸屏显示器、或其它输入源)。在一些实施例中,显示器547是能够接收用户触摸输入的触摸屏显示器。通信总线552任选地包括使***部件互连并且控制***部件之间的通信的电路***(有时叫做芯片组)。存储器554包括高速随机存取存储器,诸如DRAM、SRAM、DDR RAM或其它随机存取固态存储器设备,并且任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、光盘存储设备、闪存存储器设备或其它非易失性固态存储设备。存储器554任选地包括远离CPU 542定位的一个或多个存储设备。存储器552或存储器552内作为另外一种选择的非易失性存储器设备包括非暂态计算机可读存储介质。在一些实施例中,存储器552或存储器552的计算机可读存储介质存储以下程序、模块和数据结构,或它们的子组:
·操作***556,包括用于处理各种基础***服务的过程和用于执行硬件相关的任务的过程。以及
·网络通信模块558,用于通过一个或多个通信网络接口550和一个或多个通信网络505(有线地或无线地)将服务器540连接至其它计算设备,该一个或多个通信网络505诸如互联网、其它广域网、局域网、城域网等等。
在一些实施例中,设备100驱动***540的显示器547。例如,设备100向***540发送视频信号,并且***540的CPU 542在显示器547上渲染该视频信号。在一些实施例中,设备100直接向显示器547发送视频信号,并且CPU 542不被用来渲染该视频信号(例如,设备100使用显示器547作为辅助显示器)。在一些实施例中,设备100的触摸屏112上所显示的用户界面与***540的显示器547上所显示的用户界面同步,并且在一些其它实施例中,设备100的触摸屏112上所显示的用户界面不与***540的显示器547上所显示的用户界面同步。在一些实施例中,***540向设备100发送对应于用户输入(例如,显示器547上的用户触摸输入、或通过控件548的用户输入)的信息,并且设备100根据所接收的信息来更新设备100的触摸屏112上所显示的用户界面。
用户界面和相关联的过程
现在将注意力转到可在具有显示器和触敏表面的电子设备(诸如设备300或便携式多功能设备100)上实现的用户界面(“UI”)及相关联的过程的实施例。
图6A-6C示出了根据一些实施例的从与第三方应用程序一起使用的模板生成的示例性用户界面。这些附图中的用户界面被用于阐示下面介绍的过程,包括图7A-7I中的过程。
图6A示出了外部信息展示***540的显示器547上所显示的用户界面模板601。在一些实施例中,***540包括在车辆中(例如,在车辆的仪表盘或方向盘中)。在一些实施例中,显示器547是被配置为接收用户触摸输入的触摸屏显示器。图6A还示出了包括应用程序标题栏602、默认主菜单604、定制菜单608、内容选择视图606、活动项目栏610和退出按钮612的多个用户界面对象(在本文中有时叫做“示能表示”或“可选择用户界面对象”)。在一些实施例中,用户界面模板包含与模板601中所示相比更少的示能表示,以便进一步简化用户界面并且防止驾驶员分神。
图6B示出了从用户界面模板601(例如,与互联网广播应用程序一起使用)生成的用户界面的实例。图6B示出了显示当前应用程序(例如,互联网广播应用程序)的标题的应用程序标题栏602、具有默认控件(例如,向上、向下、搜索、分类等)的主菜单604、具有应用程序专用控件(例如,过滤收藏夹、添加当前至对应于专用功能的收藏夹)的定制菜单608(例如,收藏夹菜单)、和退出按钮612。图6B还示出了显示用于当前应用程序的选择选项(例如,轻柔爵士乐电台103、韩国流行音乐电台105等)的内容选择视图606(例如,电台选择),以及显示关于当前活动的项目(例如,硬摇滚音乐电台101)的信息的活动项目栏610。
图6C示出了从用户界面模板601(例如,与音乐库应用程序一起使用)生成的用户界面的实例,该用户界面不同于图6B中所示的从模板601生成的用户界面。图6C示出了显示当前应用程序(例如,音乐库App)的标题的应用程序标题栏602、具有默认控件(例如,向上、向下、搜索、分类等)的主菜单604、具有应用程序专用控件(例如,播放列表1、播放列表2等)的定制菜单608(例如,用户播放列表菜单)、和退出按钮612。图6C还示出了显示用于当前应用程序的选择选项(例如,存储歌曲103、存储歌曲105等)的内容选择视图606(例如,歌曲库),以及显示关于当前活动的项目(例如,存储歌曲101)的信息的活动项目栏610。
如图6B-6C中所示,通用模板(例如,图6A中所示的模板601)通过将从不同的第三方应用程序检索到的信息***到用户界面模板601中,任选地被用于生成用于不同的第三方应用程序的不同用户界面(例如,图6B中所示的用于互联网广播应用程序的用户界面不同于图6C中所示的用于音乐库应用程序的用户界面)。然而,图6B和图6C中所示的不同用户界面享有相似之处,使得它们更易于使用(例如,在图6B和图6C中的用户界面二者中,用于选择可播放内容的示能表示被显示在内容选择视图606中;并且在图6B和图6C中的用户界面二者中,关于当前正在播放的媒体的信息被显示在活动项目栏610中)。另外,模板任选地强加最小文本大小,以便确保图6B和图6C中的用户界面中所显示的文本是易于读取的。
图7A-7I是示出根据一些实施例的一种提供用于第三方应用程序的用户界面的方法700的流程图。该方法700在电子设备(例如,图3中的设备300或图1A中的便携式多功能设备100)处被执行。在一些实施例中,电子设备包括显示器和触敏表面。在一些实施例中,显示器是触摸屏显示器,并且触敏表面在显示器上。在一些实施例中,显示器与触敏表面是分开的。方法700中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如以下所描述,方法700提供用于第三方应用程序的减轻用户在与第三方应用程序交互时的认知负担的用户界面,从而创建更有效的人机界面。对于电池驱动的电子设备,使用户能够更快且更有效地与用户界面进行交互节省了电力并且增加了电池充电之间的时间。
该设备接收(702)在与电子设备通信(通过有线连接或无线连接)的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求。例如,该设备从与相应显示器相关的控件或与电子设备相关联的控件来接收对应于激活用于第一第三方应用程序的应用程序启动图标的输入(例如,用于互联网广播应用程序142(图1A或图3)的互联网广播图标442(图4A)上的轻击手势,或用于音乐库应用程序155(图1A或图3)的音乐库图标432(图4A)上的轻击手势)。在一些实施例中,相应显示器是该设备的显示器(例如,便携式多功能设备100的触摸屏112)。在一些实施例中,相应显示器是与设备分开的显示器(例如,图5中的外部信息展示***540的显示器547)。
响应于接收到第一显示请求(704),设备获得(706)被配置(或设计)为由多个第三方应用程序使用的第一用户界面模板;并且该设备从第一第三方应用程序请求(710)用于填充第一用户界面模板的一个或多个值。在一些实施例中,第一用户界面模板是由多个不同应用程序使用的通用或应用程序无关的(或非相关的)用户界面模板。例如,在一些实施例中,该设备获得图6A中所示的用户界面模板601。
在一些实施例中,相应显示器是(708)从车辆的驾驶员座椅可见的车辆信息显示***中的显示器;并且第一用户界面模板是多个预先确定的用户界面模板之一,该多个预先确定的用户界面模板被配置为用于在相应显示器上生成用于第三方应用程序的用户界面,从而防止驾驶员分神(例如,该多个预先确定的模板具有大的字体和若干可容易选择的选项,这些选项可由驾驶员操作而不会使驾驶员从安全驾驶分神)。因此,在一些实施例中,使用这些预先确定的用户界面模板使得设备能够向用户提供对一个或多个第三方应用程序的功能性的访问,同时维持对相应显示器上所显示的用户界面的外观的一些控制,以便确保相应显示器上的用户界面是使用起来简单且直观的。
在一些实施例中,第一第三方应用程序处的值被布置(711)成包括多个节点的树结构,该多个节点具有预先确定的特性并且与该树结构中的一个或多个其它节点具有树关系(例如,父关系或子关系)。在一些实施例中,对用于填充第一用户界面模板的一个或多个值的请求包括下列中的一者或多者:对返回与多个节点的相应节点的子节点列表对应的值的请求(例如,对于对应于艺术家的节点,子节点对应于该艺术家的歌曲或该艺术家的相册);对返回与多个节点的相应节点的特性列表对应的值的请求;对提供由相应节点表示的内容的请求(例如,对提供与音频文件、音频流、视频文件、视频流和/或播放列表或广播电台对应的音频内容的请求,播放列表或广播电台与多个不同单元的内容对应);对提供匹配搜索查询的节点列表的请求(例如,对提供匹配一组一个或多个搜索词以及任选地连接搜索词的逻辑运算符的艺术家列表、相册列表、歌曲列表、广播电台列表、有声读物列表、播客列表等的请求);以及对提供特定于第一第三方应用程序的动作列表的请求,这些动作是在提供对与第一第三方应用程序相关联的内容的访问时可进行的(例如,“喜欢”、“跳过”、“添加至收藏夹”、“标记”或其它专用操作)。在一些实施例中,相应节点的特性包括下列中的一者或多者:相应节点的原图、相应节点的标识符、与相应节点相关联的媒体内容的持续时间、相应节点的标题(当前正在播放的轨道或广播电台的标题)、相应节点的副标题(例如,当前正在播放的歌曲的艺术家或当前正在播放的广播电台的轨道)、指示相应节点是否可播放的可播放标记、指示相应节点是否已经播放的已播放标记、和/或指示相应节点是否是具有子节点的容器的容器标记。
当第一第三方应用程序正在电子设备上运行时,该设备从第一第三方应用程序接收(712)用于填充第一用户界面模板的第一组值(例如,接收互联网流式广播电台的名称列表)。例如,图6B示出了利用来自标题为“互联网广播应用程序”的应用程序的数据填充的用户界面模板601。
在一些实施例中,由第一第三方应用程序响应于对用于填充第一用户界面模板的一个或多个值的请求,从远程源(例如,与第一第三方应用程序通信的服务器,诸如图5中的服务器510)检索(713)第一组值中的一个或多个值。例如,当已经选择流式互联网广播电台用于播放时,第一第三方应用程序发起向远程服务器发送开始流式传输流式互联网广播电台的请求,并且请求歌曲的名称以及要在流式互联网广播电台上播放的歌曲的艺术家和对应相册原图。第一第三方应用程序接收这些值并且将这些值传输到中间进程,以结合到该中间进程将传输到相应显示器的“现在播放的”用户界面模板中。
在一些实施例中,该设备包括(714)具有语音识别能力的数字个人助理进程(例如,数字个人助理150,该数字个人助理150记录语音命令并且将表示所记录的语音命令的信息发送至服务器、诸如图5中的服务器510以用于分析,并且基于来自服务器的响应对语音命令作出响应)。在一些实施例中,该设备基于来自第一第三方应用程序对向第三方应用程序请求值的多个请求的响应,确定(715)第一第三方应用程序的能力,这些值与填充用于相应显示器的用户界面的用户界面模板相关联(例如,数字个人助理进程遍历用于第一第三方应用程序的元数据的树结构,并且映射出通过第一第三方应用程序可访问的各种选项和元数据)。在一些实施例中,该设备生成(716)第一第三方应用程序的能力的索引(例如,基于可通过第一第三方应用程序访问的各种选项和元数据的映射图)。在一些实施例中,该设备通过数字个人助理进程提供(718)对第一第三方应用程序的能力的语音访问(例如,使得用户能够使用语音命令来请求特定艺术家的歌曲列表的显示、可用于播放的互联网流式广播电台列表的显示、特定艺术家的特定歌曲的回放,或搜遍媒体展示应用程序以获得匹配口头陈述的搜索查询的媒体)。例如,对于流式互联网广播应用程序,个人助理将遍历用于可用的流式互联网广播电台以及可由流式互联网广播应用程序执行的其它操作的元数据的树结构并且建立该元数据的树结构的索引。随后,使得用户能够向数字个人助理提供言语命令以开始播放广播电台、停止播放广播电台、基于当前歌曲创建新的广播电台、跳过歌曲、或使用涉及数字个人助理的语音命令(例如,“助理,请播放艺术家X广播电台”、“助理,请跳过这首歌曲”、“助理,请列出上周创建的所有广播电台”或“助理,请标记这首歌曲作为最爱”)进行的其它操作。
在一些实施例中,该设备检测(720)预先确定的条件是否已经满足。响应于检测到预先确定的条件已经满足,该设备重新确定(721)第一第三方应用程序的能力并且重新生成第一第三方应用程序的能力的列表(例如,在以下情况时重建可通过第一第三方应用程序访问的各种选项的索引:该设备被放置成与相应显示器(诸如外部信息展示***540(图5)的显示器547)通信、该设备被连接至包括相应显示器的车辆信息显示***、和/或一第三方应用程序被启动。)例如,对于流式互联网广播应用程序,流式互联网广播电台的可用性任选地基于用于接收流式互联网广播电台的互联网连接的可用性来确定;类似地,如果用户创建/订阅新的广播电台或删除/退订旧的广播电台,则与流式互联网广播应用程序相关联的元数据改变(例如,哪些广播电台是树结构中的节点和/或哪些广播电台是可播放的)。为了对流式互联网广播应用程序处的改变的元数据进行编址,该设备周期性地重建流式互联网广播应用程序处的元数据的索引(例如,当流式互联网广播应用程序被启动时,或当该设备被连接至车辆信息显示***时)。在一些实施例中,第三方应用程序主动地通知数字个人助理元数据的某一部分已经改变或更新,并且提示数字个人助理重建第三方应用程序的元数据的该部分(或所有)的索引。响应于接收到元数据的该部分已经改变的信息或第三方应用程序下一次被启动,数字个人助理重建第三方应用程序的元数据的该部分(或所有)的索引。
该设备利用从第一第三方应用程序接收的第一组值来填充(722)第一用户界面模板。例如,根据这些实施例,图6B示出了利用来自标题为“互联网广播应用程序”的第三方应用程序(例如,电台选择、收藏夹、当前电台等)的数据填充以生成图6C中的用于显示器547上所显示的第三方应用程序的用户界面的用户界面模板601。
在一些实施例中,第一用户界面模板由多个不同的第三方应用程序使用,该多个不同的第三方应用程序包括(724)第一第三方应用程序和第二第三方应用程序。在一些实施例中,利用从相应第三方应用程序接收的值来填充第一用户界面模板包括:以向相应显示器提供的用户界面中的预定义的字体大小,将由相应第三方应用程序识别为属于第一类值的值***在预定义的区域中。针对第一用户界面模板,第一第三方应用程序将第一类型信息识别为第一类值,并且第二第三方应用程序将不同于第一类型信息的第二类型信息识别为第一类值。例如,图6B示出利用与互联网广播电台相关的值填充的用户界面模板601,并且图6C示出利用与所存储的歌曲相关的值填充的用户界面模板601。根据这些实施例,图6B和图6C示出具有相同字体大小的用户界面模板。
在一些实施例中,针对第一用户界面模板:第一第三方应用程序将远程生成的内容电台(例如,流式互联网广播电台)的名称识别(726)为第一类值;并且第二第三方应用程序将预先确定的播放列表的名称识别为第一类值。在一些实施例中,预先确定的播放列表不同于流式互联网广播电台,因为预先确定的播放列表具有设定长度并且该播放列表的内容是在用户选择该播放列表以用于播放时设定,而流式互联网广播电台是具有未确定长度的音乐的连续流,该连续流持续与用户收听一样长的时间并且包括远程(例如,由计算机根据音乐选择算法自动地,或由音乐节目主持人、电台节目主持人或与由设备的用户进行动作无关的其他人手动地)选择的内容。例如,在图6B-6C中,该设备针对图6B中的互联网广播应用程序(例如,如图1A中的142)将流式互联网广播电台的名称识别为第一类值(例如,对可播放媒体内容项目的描述),并且该设备针对图6C中的音乐库应用程序(例如,如图1A中的155)将歌曲的名称识别为第一类值。
在一些实施例中,针对第一用户界面模板:第一第三方应用程序将可流式传输至该设备的内容(例如,音乐或其它媒体内容通过分布式数据网络诸如互联网的点播流式传输)的名称识别(728)为第一类值;并且第二第三方应用程序将存储在该设备上的内容(例如,语言学习程序、有声读物、音乐、播客等等)的名称识别为第一类值。
该设备使用利用第一组值填充的第一用户界面模板来生成(730)用于第一第三方应用程序的第一用户界面。例如,图6B示出从用户界面模板601以及从互联网广播应用程序接收的值生成的用户界面。根据此实例,图6B示出:默认主菜单604,该默认主菜单604包括信息按钮(例如,用于返回对应于相应节点的特性列表的值)、激活按钮(例如,用于提供由相应节点表示的内容)、搜索按钮(例如,用于提供匹配搜索查询的节点列表);以及具有定制按钮(例如,用于提供特定于第一第三方应用程序的动作列表,这些动作是在提供对与第一第三方应用程序相关联的内容的访问时可进行的)的定制菜单608。
在一些实施例中,该设备包括(732)多个进程,该多个进程包括:用于运行第一第三方应用程序的第一第三方应用程序进程,以及用于中继相应显示器和第一第三方应用程序进程之间的信息的一组一个或多个中间进程(例如,用于集成第三方应用程序与车辆信息显示***(诸如导航或娱乐***)或其它外部信息显示***(像图5中的外部信息展示***540)的应用程序)。在一些实施例中,对用于填充第一用户界面模板的一个或多个值的请求是由来自一组一个或多个中间进程的中间进程生成;并且第一用户界面是由来自一组一个或多个中间进程的中间进程生成。例如,智能电话(例如,图5中的便携式多功能设备100)具有车辆集成应用程序151(例如,包括一个或多个中间进程的应用程序),该车辆集成应用程序151控制车辆(例如,汽车、卡车、货车等)中的车辆信息显示***,从而在该车辆信息显示***的相应显示器(例如,图5中的外部信息展示***540的显示器547)上提供用户界面,该用户界面诸如为用于映射应用程序或音乐应用程序。智能电话还具有一个或多个第三方应用程序,诸如独立的播客应用程序或流式互联网广播应用程序,并且车辆集成应用程序将来自第三方应用程序的信息转换成用于通过车辆集成应用程序显示在车辆信息显示***的相应显示器上的内容。
在一些实施例中,第一第三方应用程序是(734)媒体呈现应用程序(例如,图1A中的互联网广播142)。在一些实施例中,该设备包括第一方应用程序,该第一方应用程序是媒体呈现应用程序(例如,图1A中的视频和音乐播放器模块152);第一方应用程序包括第一方用户界面,该第一方用户界面在该第一方用户界面中的相应位置处具有用于请求媒体呈现操作的执行的多个可选择的示能表示以及一个或多个内容呈现区域(例如,用于显示可用媒体的列表的区域);并且生成用于第一第三方应用程序的第一用户界面包括:生成包括可选择的示能表示和一个或多个内容呈现区域的用户界面,可选择的示能表示和一个或多个内容呈现区域在功能和位置上对应于第一方用户界面的可选择的示能表示和内容呈现区域。因此,在一些实施例中,第一用户界面模板是使来自第三方应用程序的信息符合标准化用户界面的模板,该标准化用户界面具有类似于第一方媒体呈现应用程序的控件、内容区域和外观,以便在被显示在从车辆的驾驶员座椅可见的车辆信息显示***上时,提供用户熟悉的一致的用户界面并且因此防止驾驶员分神。
该设备向相应显示器发送(736)或以其它方式提供使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示器上的信息(例如,便携式多功能设备100向图5中的外部信息展示***540的显示器547提供信息)。
在一些实施例中,当用于第一第三方应用程序的第一用户界面被显示在相应显示器上时,该设备从用于相应显示器的输入设备(例如,与相应显示器重合的触敏表面,或用于控制相应显示器的按钮或旋钮)接收(738)相应输入,该相应输入对应于对第一用户界面中的选项的选择(例如,所选择的选项是用于播放、暂停、查找、显示新菜单或执行特定于第三方应用程序的操作的选项,该操作诸如为“喜欢”、“跳过”或“添加至收藏夹”)。响应于接收到相应输入,该设备向正在电子设备上运行的第一第三方应用程序提供(740)使得第一第三方应用程序能够对第一用户界面中的选项的选择作出响应的信息。在一些实施例中,该设备从第一第三方应用程序接收(742)来自第一第三方应用程序对选项的选择的响应;并且向相应显示器发送(744)或以其它方式提供使得对选项的选择的响应被提供(例如,显示)给用户的信息。例如,在相应显示器上向用户展示流式互联网广播电台名称的列表,用户轻击相应流式互联网广播电台的名称(例如,在图5中的外部信息展示***540的触摸屏显示器上),该设备(例如,图5中的便携式多功能设备100)处的中间进程向第一第三方应用程序提供指示已经选择相应流式互联网广播电台的信息,第一第三方应用程序请求服务器(例如,图5中的服务器510)提供相应流式互联网广播电台的原图、标题、副标题和音频流并且随后向中间进程(例如,在图5中的便携式多功能设备100处)提供此信息,该中间进程基于该信息和用户界面模板生成用户界面并且将所生成的用户界面传输至相应显示器以用于显示(例如,在图5中的外部信息展示***540的显示器547上)。
在一些实施例中,该设备处的第一方中间进程通过以下方式中转相应显示器和第一第三方应用程序之间的通信:将来自第一第三方应用程序的数据转换成标准化、简单化的用户界面从而防止分神的驾驶,并且通过中继与具有显示在相应显示器上的用户界面的用户交互对应的输入,使得第一第三方应用程序可对输入作出响应,即使在第一第三方应用程序未被提供指示相应显示器的大小、分辨率和其它特性的信息并且不具有对用户与相应显示器上所显示的用户界面的交互的直接访问权限时。例如,第三方应用程序未被提供触摸输入的时间和位置,而是获得关于用户请求什么信息作为通过第一方中间进程过滤的信息。
在一些实施例中,当第一第三方应用程序的第一用户界面被显示在相应显示器上(746)时,该设备接收(748)指示对第一用户界面中相应选项的选择(例如,对容器或具有子节点的节点(诸如包括所选择的艺术家的歌曲的“艺术家”文件夹)的选择,或对多个互联网流式广播电台中的特定互联网流式广播电台的选择)的信息。在一些实施例中,响应于接收到指示对第一用户界面中相应选项的选择的信息(750):该设备获得(752)不同于第一用户界面模板的第二用户界面模板(例如,用于显示容器的内容的模板,诸如播放列表模板或“现在播放的”用户界面模板);并且从第一第三方应用程序请求(754)用于填充第二用户界面模板的一个或多个值。在一些实施例中,当第一第三方应用程序正在电子设备上运行时,该设备从第一第三方应用程序接收(756)用于填充第二用户界面模板的第二组值(例如,用于播放列表模板的所选择艺术家歌曲的名称和播放时间信息,或用于“现在播放的”模板的当前播放的广播电台的名称、当前播放的歌曲的名称、当前播放的歌曲的原图);利用从第一第三方应用程序接收的第二组值来填充(758)第二用户界面模板;通过使用利用第二组值填充的第二用户界面模板,生成(760)用于第一第三方应用程序的第二用户界面(例如,将所选择艺术家的歌曲的名称和播放时间信息***到播放列表模板中,或将当前播放的广播电台的名称、当前播放的歌曲的名称以及当前播放的歌曲的原图***到“现在播放的”模板中,该“现在播放的”模板包括用于控制暂停/开始/停止/快进/倒退当前播放的歌曲的控件);并且向相应显示器发送(762)或以其它方式提供使得用于第一第三方应用程序的第二用户界面能够被显示在相应显示器上的信息。
在一些实施例中,在向相应显示器发送使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示器上的信息之后(764),该设备接收(766)在相应显示器上显示用于与第一第三方应用程序不同的第二第三方应用程序的用户界面的第二显示请求(例如,接收使用与相应显示器相关联的控件或与电子设备相关联的控件对用于第二第三方应用程序的应用程序启动图标的激活)。例如,在用户初始地播放来自互联网流式广播应用程序142的音频(例如,使用图6B中所示的用于流式互联网广播应用程序的用户界面)时,用户切换成播放来自独立的播客应用程序或有声读物应用程序的音频。在一些实施例中,响应于接收到第二显示请求,该设备从第二第三方应用程序请求(768)用于填充第一用户界面模板的一个或多个值;当第二第三方应用程序正在电子设备上运行时,从第二第三方应用程序接收(770)用于填充第一用户界面模板的第三组值;利用从第二第三方应用程序接收的第三组值来填充(772)第一用户界面模板;使用利用第三组值填充的第一用户界面模板来生成(774)用于第二第三方应用程序的第二用户界面;并且向相应显示器发送(776)(或以其它方式提供)使得用于第二第三方应用程序的第二用户界面(例如,图6C中所示的用于音乐库应用程序155的用户界面)显示在相应显示器上的信息。因此,在一些实施例中,当请求使用相同第一用户界面模板的不同的第三方应用程序时,该设备重复从第三方应用程序请求值以充填第一用户界面模板的过程。在此情况下,此过程重复,因为第一用户界面模板是被设计或配置为由多个不同的第三方应用程序使用。
在一些实施例中,在向相应显示器发送使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示器上的信息之后(764):该设备从第一第三方应用程序接收(778)用于填充第一用户界面模板的更新后的第一组值。在一些实施例中,响应于接收到用于填充第一用户界面模板的更新后的第一组值(780),该设备利用从第一第三方应用程序接收的更新后的第一组值来填充(782)第一用户界面模板;使用利用更新后的第一组值填充的第一用户界面模板来生成(784)用于第一第三方应用程序的第一用户界面;并且向相应显示器提供(786)使得用于第一第三方应用程序的更新后的第一用户界面能够被显示在相应显示器上的信息。在一些实施例中,更新后的第一组值是基于在第一第三方应用程序处发生的事件来确定(例如,对用于第一第三方应用程序的用户界面的更新是由第一第三方应用程序发起,而不是由中间进程发起)。例如,第三方应用程序是流式媒体应用程序,并且该设备的数据连接终止运作。响应于检测到数据连接已经终止运作,第三方应用程序向该设备处的中间进程传输信息,该信息指示先前被标记为“可播放”(例如,当存在工作数据连接时)的流式内容的状态已经改变,使得该内容是“不可播放”(例如,因为数据连接不再是可用的)。在一些实施例中,当内容从“可播放”改变成“不可播放”时,用于第一第三方应用程序的第一用户界面被更新以指示该内容是“不可播放”(例如,通过将该内容从可播放内容的列表中移除,或通过降低该展示的对比度或在该内容的展示附近显示“不可播放”图标或符号来改变该内容的展示的外观,以便指示该内容不是当前可播放的)。例如,在图6B中,如果该设备终止对内容选择视图606中所示的流式互联网广播电台的访问,该设备将重新生成图6B中所示的用户界面,以便反映流式互联网广播电台的不可用性(例如,通过相邻于不可用电台的名称显示不可播放图标,通过降低不可用电台的对比度(使不可用电台“变灰”),或通过将电台从内容选择视图606中移除)。
应当理解,对图7A-7I中已经进行描述的操作的具体次序仅仅是示例性的,并非旨在表明所述次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到各种方式来对本文所述的操作进行重新排序。
根据一些实施例,图8示出了根据各种所描述的实施例的原理配置的第一电子设备800的功能框图。该设备的功能块任选地由进行各种所描述的实施例的原则的硬件、软件、或硬件和软件的组合来实现。本领域的技术人员应当理解,图8中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施例的原理。因此,本文的描述任选地支持本文所述功能块的任何可能的组合或分离或进一步限定。
如图8所示,电子设备800包括耦接到处理单元802的存储器。在一些实施例中,电子设备800还包括通信接口单元804,该通信接口单元804耦接到处理单元802并且被配置为与相应显示单元806通信。在一些实施例中,处理单元802包括接收单元807、获得单元808、请求单元810、填充单元812、界面生成单元814、发送单元816、信息提供单元818、确定单元820、索引生成单元822、语音提供单元824、检测单元826和数字助理单元828。处理单元802被配置为接收(例如,利用接收单元807通过通信接口单元804)在与电子设备800通信的相应显示单元上显示第一第三方应用程序的用户界面(例如,利用相应显示单元806)的第一显示请求。处理单元802被进一步配置为响应于接收到第一显示请求:获得(例如,利用获得单元808)被配置为由多个第三方应用程序使用的第一用户界面模板;并且从第一第三方应用程序请求(例如,利用请求单元810)用于填充第一用户界面模板的一个或多个值。处理单元802被进一步配置为:当第一第三方应用程序正在电子设备上运行时,从第一第三方应用程序接收(例如,利用接收单元807或通信接口单元804)用于填充第一用户界面模板的第一组值;利用从第一第三方应用程序接收的第一组值来填充(例如,利用填充单元812)第一用户界面模板;使用利用第一组值填充的第一用户界面模板来生成(例如,利用界面生成单元814)用于第一第三方应用程序的第一用户界面;并且向相应显示单元发送(例如,利用发送单元816)使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示单元(例如,相应显示单元806)上的信息。
在一些实施例中,处理单元802被进一步配置为:当用于第一第三方应用程序的第一用户界面被显示在相应显示单元(例如,相应显示单元806)上时,从用于相应显示单元的输入设备接收(例如,利用接收单元807通过通信接口单元804)对应于对第一用户界面中的选项的选择的相应输入;并且响应于接收到相应输入,向正在电子设备上运行的第一第三方应用程序提供(例如,利用信息提供单元818)使得第一第三方应用程序能够对第一用户界面中的选项的选择作出响应的信息。在一些实施例中,处理单元802被进一步配置为:从第一第三方应用程序接收(例如,利用接收单元807通过通信接口单元804)来自第一第三方应用程序对选项的选择的响应;并且向相应显示单元发送(例如,利用发送单元816)使得对选项的选择的响应被提供给用户的信息。
在一些实施例中,处理单元802被进一步配置为,当用于第一第三方应用程序的第一用户界面被显示在相应显示单元(例如,相应显示单元806)上时:接收(例如,利用接收单元807通过通信接口单元804)指示对第一用户界面中相应选项的选择的信息;并且响应于接收到指示对第一用户界面中相应选项的选择的信息:获得(例如,利用获得单元808)不同于第一用户界面模板的第二用户界面模板;并且从第一第三方应用程序请求(例如,利用请求单元810)用于填充第二用户界面模板的一个或多个值。在一些实施例中,处理单元802被进一步配置为:当第一第三方应用程序正在电子设备上运行时,从第一第三方应用程序接收(例如,利用接收单元807通过通信接口单元804)用于填充第二用户界面模板的第二组值;利用从第一第三方应用程序接收的第二组值来填充(例如,利用填充单元812)第二用户界面模板;通过使用利用第二组值填充的第二用户界面模板来生成(例如,利用界面生成单元814)用于第一第三方应用程序的第二用户界面;并且向相应显示单元发送(例如,利用发送单元816)使得用于第一第三方应用程序的第二用户界面能够被显示在相应显示单元(例如,相应显示单元806)上的信息。
在一些实施例中,处理单元802被进一步配置为:在向相应显示单元发送(例如,利用发送单元816)使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示单元(例如,相应显示单元806)上的信息之后,接收(例如,利用接收单元807或通信接口单元804)在相应显示单元(例如,相应显示单元806)上显示用于不同于第一第三方应用程序的第二第三方应用程序的用户界面的第二显示请求。在一些实施例中,处理单元802被进一步配置为:响应于接收到第二显示请求,从第二第三方应用程序请求(例如,利用请求单元810)用于填充第一用户界面模板的一个或多个值;当第二第三方应用程序正在电子设备上运行时,从第二第三方应用程序接收(例如,利用接收单元807通过通信接口单元804)用于填充第一用户界面模板的第三组值;利用从第二第三方应用程序接收的第三组值来填充(例如,利用填充单元812)第一用户界面模板;使用利用第三组值填充的第一用户界面模板来生成(例如,利用界面生成单元814)用于第二第三方应用程序的第二用户界面;并且向相应显示单元发送(例如,利用发送单元816)使得用于第二第三方应用程序的第二用户界面能够被显示在相应显示单元(例如,相应显示单元806)上的信息。
在一些实施例中,该设备包括多个进程,该多个进程包括:用于运行第一第三方应用程序的第一第三方应用程序进程,以及用于中继相应显示单元和第一第三方应用程序进程之间的信息的一组一个或多个中间进程;对用于填充第一用户界面模板的一个或多个值的请求是由来自一组一个或多个中间进程的中间进程生成;并且第一用户界面是由来自一组一个或多个中间进程的中间进程生成。
在一些实施例中,由第一第三方应用程序响应于对用于填充第一用户界面模板的一个或多个值的请求,从远程源检索第一组值中的一个或多个值。
在一些实施例中,相应显示单元(例如,相应显示单元806)是从车辆的驾驶员座椅可见的车辆信息显示***中的显示单元;并且第一用户界面模板是多个预先确定的用户界面模板之一,该多个预先确定的用户界面模板被配置为用于在相应显示单元上生成用于第三方应用程序的用户界面,从而防止驾驶员分神。
在一些实施例中,第一用户界面模板由多个不同的第三方应用程序使用,该多个不同的第三方应用程序包括第一第三方应用程序和第二第三方应用程序;利用从相应第三方应用程序接收的值填充(例如,利用填充单元812)第一用户界面模板包括:以向相应显示单元提供的用户界面中的预定义的字体大小,将由相应第三方应用程序识别为属于第一类值的值***在预定义的区域中;并且,针对第一用户界面模板:第一第三方应用程序将第一类型信息识别为第一类值;并且第二第三方应用程序将不同于第一类型信息的第二类型信息识别为第一类值。
在一些实施例中,针对第一用户界面模板:第一第三方应用程序将远程生成的内容电台的名称识别为第一类值;并且第二第三方应用程序将预先确定的播放列表的名称识别为第一类值。
在一些实施例中,针对第一用户界面模板:第一第三方应用程序将可被流式传输至该设备的内容的名称识别为第一类值;并且第二第三方应用程序将被存储在该设备上的内容的名称识别为第一类值。
在一些实施例中,第一第三方应用程序处的值被布置成包括多个节点的树结构,该多个节点具有预先确定的特性并且与该树结构中的一个或多个其它节点具有树关系;并且对用于填充第一用户界面模板的一个或多个值的请求(例如,利用请求单元810)包括下列中的一者或多者:对返回对应于多个节点中的相应节点的子节点列表的值的请求;对返回对应于多个节点中的相应节点的特性列表的值的请求;对提供由相应节点表示的内容的请求;对提供匹配搜索查询的节点列表的请求;以及对提供特定于第一第三方应用程序的动作列表的请求,这些动作是在提供对与第一第三方应用程序相关联的内容的访问时可进行的。
在一些实施例中,第一第三方应用程序是媒体呈现应用程序。在一些实施例中,设备800包括第一方应用程序,该第一方应用程序是媒体呈现应用程序;第一方应用程序包括第一方用户界面,该第一方用户界面在该第一方用户界面中的相应位置处具有用于请求媒体呈现操作的执行的多个可选择的示能表示以及一个或多个内容呈现区域;并且生成(例如,利用界面生成单元814)用于第一第三方应用程序的第一用户界面包括:生成包括可选择的示能表示和一个或多个内容呈现区域的用户界面,可选择的示能表示和一个或多个内容呈现区域在功能和位置上对应于第一方用户界面的可选择的示能表示和内容呈现区域。
在一些实施例中,处理单元802被进一步配置为,在向相应显示单元发送使得用于第一第三方应用程序的第一用户界面能够被显示在相应显示单元(例如,相应显示单元806)上的信息之后:从第一第三方应用程序接收(例如,利用接收单元807通过通信接口单元804)用于填充第一用户界面模板的更新后的第一组值;并且,响应于接收到用于填充第一用户界面模板的更新后的第一组值:利用从第一第三方应用程序接收的更新后的第一组值来填充(例如,利用填充单元812)第一用户界面模板;使用利用更新后的第一组值填充的第一用户界面模板来生成(例如,利用界面生成单元814)用于第一第三方应用程序的更新后的第一用户界面;并且向相应显示单元提供(例如,利用信息提供单元818)使得用于第一第三方应用程序的更新后的第一用户界面能够被显示在相应显示单元上的信息。
在一些实施例中,设备800包括具有语音识别能力的数字个人助理进程(例如,数字助理单元828)。在一些实施例中,处理单元802被进一步配置为:基于来自第一第三方应用程序对向第三方应用程序请求值的多个请求的响应,确定(例如,利用确定单元820)第一第三方应用程序的能力,这些值与填充用于相应显示单元的用户界面的用户界面模板相关联;生成(例如,利用索引生成单元822)第一第三方应用程序的能力的索引;并且通过数字个人助理进程(例如,利用数字助理单元828)提供(例如,利用语音提供单元824)对第一第三方应用程序的能力的语音访问。
在一些实施例中,处理单元802被进一步配置为:检测(例如,利用检测单元826)预先确定的条件是否已经满足;并且,响应于检测到预先确定的条件已经满足:重新确定(例如,利用确定单元820)第一第三方应用程序的能力;并且重新生成(例如,利用索引生成单元822)第一第三方应用程序的能力的索引。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A和图3所描述)或特定于应用的芯片。
以上参考图7A-7I所述的操作任选地由图1A-1B或图8中所描绘的部件来实现。例如,接收操作702和712、请求操作710、填充操作722、生成操作730和发送操作736任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测在触敏显示器112上的接触,并且事件调度器模块174将事件信息传递到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的取向是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与检测到该事件或子事件相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施例中,事件处理程序190访问相应GUI更新器178来更新应用程序显示的内容。类似地,本领域技术人员会清楚地知道基于在图1A-1B中所示的部件可如何实现其它过程。
为了解释的目的,前面的描述是通过参考具体实施例来进行描述的。然而,上面的示例性的讨论并非意图是详尽的,也并非意图要将本发明限制到所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施例是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其它技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施例。

Claims (38)

1.一种方法,包括:
在具有一个或多个处理器和存储器的电子设备处:
接收在与所述电子设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求;
响应于接收到所述第一显示请求:
获得被配置为由多个第三方应用程序使用的第一用户界面模板;以及
从所述第一第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第一用户界面模板的第一组值;
利用从所述第一第三方应用程序接收的所述第一组值来填充所述第一用户界面模板;
使用利用所述第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的第一用户界面;以及
向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的信息。
2.根据权利要求1所述的方法,包括:
当用于所述第一第三方应用程序的所述第一用户界面被显示在所述相应显示器上时,从用于所述相应显示器的输入设备接收对应于对所述第一用户界面中的选项的选择的相应输入;以及
响应于接收到所述相应输入,向正在所述电子设备上运行的所述第一第三方应用程序提供使得所述第一第三方应用程序能够对所述第一用户界面中的所述选项的选择作出响应的信息;
从所述第一第三方应用程序接收来自所述第一第三方应用程序对所述选项的选择的所述响应;以及
向所述相应显示器发送使得对所述选项的选择的所述响应能够被提供给所述用户的信息。
3.根据权利要求1至2中任一项所述的方法,包括当用于所述第一第三方应用程序的所述第一用户界面被显示在所述相应显示器上时:
接收指示对所述第一用户界面中的相应选项的选择的信息;以及
响应于接收到指示对所述第一用户界面中的所述相应选项的所述选择的所述信息:
获得不同于所述第一用户界面模板的第二用户界面模板;以及
从所述第一第三方应用程序,请求用于填充所述第二用户界面模板的一个或多个值;
当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第二用户界面模板的第二组值;
利用从所述第一第三方应用程序接收的所述第二组值来填充所述第二用户界面模板;
使用利用所述第二组值填充的所述第二用户界面模板来生成用于所述第一第三方应用程序的第二用户界面;以及
向所述相应显示器发送使得用于所述第一第三方应用程序的所述第二用户界面能够被显示在所述相应显示器上的信息。
4.根据权利要求1至3中任一项所述的方法,包括在向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的所述信息之后:
接收在所述相应显示器上显示用于不同于所述第一第三方应用程序的第二第三方应用程序的用户界面的第二显示请求;
响应于接收到所述第二显示请求,从所述第二第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
当所述第二第三方应用程序正在所述电子设备上运行时,从所述第二第三方应用程序接收用于填充所述第一用户界面模板的第三组值;
利用从所述第二第三方应用程序接收的所述第三组值来填充所述第一用户界面模板;
使用利用所述第三组值填充的所述第一用户界面模板来生成用于所述第二第三方应用程序的第二用户界面;以及
向所述相应显示器发送使得用于所述第二第三方应用程序的所述第二用户界面能够被显示在所述相应显示器上的信息。
5.根据权利要求1至4中任一项所述的方法,其中:
所述设备包括多个进程,所述多个进程包括:用于运行所述第一第三方应用程序的第一第三方应用程序进程,以及用于中继所述相应显示器和所述第一第三方应用程序进程之间的信息的一组一个或多个中间进程;
对用于填充所述第一用户界面模板的所述一个或多个值的所述请求是由来自所述一组一个或多个中间进程的中间进程生成的;并且
所述第一用户界面是由来自所述一组一个或多个中间进程的中间进程生成的。
6.根据权利要求1至5中任一项所述的方法,其中由所述第一第三方应用程序响应于对用于填充所述第一用户界面模板的一个或多个值的所述请求,从远程源检索所述第一组值中的一个或多个值。
7.根据权利要求1至6中任一项所述的方法,其中:
所述相应显示器是从车辆的驾驶员座椅可见的车辆信息显示***中的显示器;并且
所述第一用户界面模板是多个预先确定的用户界面模板之一,所述多个预先确定的用户界面模板被配置为用于在所述相应显示器上生成用于所述第一第三方应用程序的用户界面,其防止所述驾驶员分神。
8.根据权利要求1至7中任一项所述的方法,其中:
所述第一用户界面模板由多个不同的第三方应用程序使用,所述多个不同的第三方应用程序包括所述第一第三方应用程序和第二第三方应用程序;
利用从相应第三方应用程序接收的值填充所述第一用户界面模板包括:以向所述相应显示器提供的用户界面中的预定义的字体大小,将由所述相应第三方应用程序识别为属于第一类值的值***预定义的区域中;以及
针对所述第一用户界面模板:
所述第一第三方应用程序将第一类型信息识别为所述第一类值;并且
所述第二第三方应用程序将不同于所述第一类型信息的第二类型信息识别为所述第一类值。
9.根据权利要求8所述的方法,其中针对所述第一用户界面模板:
所述第一第三方应用程序将远程生成的内容电台的名称识别为所述第一类值;并且
所述第二第三方应用程序将预先确定的播放列表的名称识别为所述第一类值。
10.根据权利要求8所述的方法,其中针对所述第一用户界面模板:
所述第一第三方应用程序将可被流式传输至所述设备的内容的名称识别为所述第一类值;并且
所述第二第三方应用程序将存储在所述设备上的内容的名称识别为所述第一类值。
11.根据权利要求1至10中任一项所述的方法,其中:
在所述第一第三方应用程序处的值被布置成包括多个节点的树结构,所述多个节点具有预先确定的特性并与所述树结构中的一个或多个其它节点具有树关系;并且
对用于填充所述第一用户界面模板的一个或多个值的所述请求包括下列中的一者或多者:
返回对应于所述多个节点中的相应节点的子节点列表的值的请求;
返回对应于所述多个节点中的相应节点的特性列表的值的请求;
提供由所述相应节点表示的内容的请求;
提供匹配搜索查询的节点列表的请求;以及
提供特定于所述第一第三方应用程序的动作列表的请求,所述动作是在提供对与所述第一第三方应用程序相关联的内容的访问时可进行的。
12.根据权利要求1至11中任一项所述的方法,其中:
所述第一第三方应用程序是媒体呈现应用程序;
所述设备包括第一方应用程序,所述第一方应用程序是媒体呈现应用程序;
所述第一方应用程序包括第一方用户界面,所述第一方用户界面在所述第一方用户界面中的相应位置处具有用于请求媒体呈现操作的执行的多个可选择的示能表示以及一个或多个内容呈现区域;并且
生成用于所述第一第三方应用程序的所述第一用户界面包括:生成包括可选择的示能表示和一个或多个内容呈现区域的用户界面,所述可选择的示能表示和所述一个或多个内容呈现区域在功能和位置上对应于所述第一方用户界面的所述可选择的示能表示和所述内容呈现区域。
13.根据权利要求1至12中任一项所述的方法,在向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的所述信息之后:
从所述第一第三方应用程序接收用于填充所述第一用户界面模板的更新后的第一组值;以及
响应于接收到用于填充所述第一用户界面模板的所述更新后的第一组值:
利用从所述第一第三方应用程序接收的所述更新后的第一组值来填充所述第一用户界面模板;
使用利用所述更新后的第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的更新后的第一用户界面;以及
向所述相应显示器提供使得用于所述第一第三方应用程序的所述更新后的第一用户界面能够被显示在所述相应显示器上的信息。
14.根据权利要求1至13中任一项所述的方法,其中:
所述设备包括具有语音识别能力的数字个人助理进程;并且
所述方法包括:
基于来自所述第一第三方应用程序对向所述第一第三方应用程序请求值的多个请求的响应,确定所述第一第三方应用程序的能力,所述值与填充用于所述相应显示器的用户界面的用户界面模板相关联;
生成所述第一第三方应用程序的所述能力的索引;以及
通过所述数字个人助理进程,提供对所述第一第三方应用程序的所述能力的语音访问。
15.根据权利要求14所述的方法,包括:
检测预先确定的条件是否已经满足;以及
响应于检测到所述预先确定的条件已经满足:
重新确定所述第一第三方应用程序的所述能力;以及
重新生成所述第一第三方应用程序的所述能力的所述索引。
16.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括指令,所述指令用于:
接收在与所述电子设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求;
响应于接收到所述第一显示请求:
获得被配置为由多个第三方应用程序使用的第一用户界面模板;以及
从所述第一第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第一用户界面模板的第一组值;
利用从所述第一第三方应用程序接收的所述第一组值来填充所述第一用户界面模板;
使用利用所述第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的第一用户界面;以及
向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的信息。
17.一种存储一个或多个程序的非暂态计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由具有一个或多个处理器和存储器的电子设备执行时,使得所述设备:
接收在与所述电子设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求;
响应于接收到所述第一显示请求:
获得被配置为由多个第三方应用程序使用的第一用户界面模板;并且
从所述第一第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第一用户界面模板的第一组值;
利用从所述第一第三方应用程序接收的所述第一组值来填充所述第一用户界面模板;
使用利用所述第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的第一用户界面;并且
向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的信息。
18.一种电子设备,包括:
用于接收在与所述电子设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求的装置;
响应于接收到所述第一显示请求而用于以下操作的装置:
获得被配置为由多个第三方应用程序使用的第一用户界面模板;以及
从所述第一第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
用于当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第一用户界面模板的第一组值的装置;
用于利用从所述第一第三方应用程序接收的所述第一组值来填充所述第一用户界面模板的装置;
用于使用利用所述第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的第一用户界面的装置;以及
用于向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的信息的装置。
19.一种用于在电子设备中使用的信息处理装置,包括:
用于接收在与所述电子设备通信的相应显示器上显示第一第三方应用程序的用户界面的第一显示请求的装置;
响应于接收到所述第一显示请求而用于以下操作的装置:
获得被配置为由多个第三方应用程序使用的第一用户界面模板;以及
从所述第一第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
用于当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第一用户界面模板的第一组值的装置;
用于利用从所述第一第三方应用程序接收的所述第一组值来填充所述第一用户界面模板的装置;
用于使用利用所述第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的第一用户界面的装置;以及
用于向所述相应显示器发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示器上的信息的装置。
20.一种电子设备,包括:
一个或多个处理器;
存储器;以及
一个或多个程序,其中所述一个或多个程序被存储在所述存储器中并被配置为由所述一个或多个处理器执行,所述一个或多个程序包括用于执行根据权利要求1至15所述的方法中的任何一种的指令。
21.一种存储一个或多个程序的计算机可读存储介质,所述一个或多个程序包括指令,所述指令在由电子设备执行时,使得所述设备执行根据权利要求1至15所述的方法中的任何一种。
22.一种电子设备,包括:
用于执行根据权利要求1至15所述的方法中的任何一种的装置。
23.一种用于在电子设备使用的信息处理装置,包括:
用于执行根据权利要求1至15所述的方法中的任何一种的装置。
24.一种电子设备,包括:
存储器;以及
耦接到所述存储器的处理单元,所述处理单元被配置为:
接收在与所述电子设备通信的相应显示单元上显示第一第三方应用程序的用户界面的第一显示请求;
响应于接收到所述第一显示请求:
获得被配置为由多个第三方应用程序使用的第一用户界面模板;并且
从所述第一第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第一用户界面模板的第一组值;
利用从所述第一第三方应用程序接收的所述第一组值来填充所述第一用户界面模板;
使用利用所述第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的第一用户界面;并且
向所述相应显示单元发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示单元上的信息。
25.根据权利要求24所述的电子设备,其中所述处理单元被进一步配置为:
当用于所述第一第三方应用程序的所述第一用户界面被显示在所述相应显示单元上时,从用于所述相应显示单元的输入设备接收对应于对所述第一用户界面中的选项的选择的相应输入;并且
响应于接收到所述相应输入,向正在所述电子设备上运行的所述第一第三方应用程序提供使得所述第一第三方应用程序能够对所述第一用户界面中的所述选项的选择作出响应的信息;
从所述第一第三方应用程序接收来自所述第一第三方应用程序的对所述选项的选择的所述响应;并且
向所述相应显示单元发送使得对所述选项的选择的所述响应能够被提供给所述用户的信息。
26.根据权利要求24至25中任一项所述的电子设备,其中所述处理单元被进一步配置为,当用于所述第一第三方应用程序的所述第一用户界面被显示在所述相应显示单元上时:
接收指示对所述第一用户界面中的相应选项的选择的信息;并且
响应于接收到指示对所述第一用户界面中的所述相应选项的所述选择的所述信息:
获得不同于所述第一用户界面模板的第二用户界面模板;并且
从所述第一第三方应用程序,请求用于填充所述第二用户界面模板的一个或多个值;
当所述第一第三方应用程序正在所述电子设备上运行时,从所述第一第三方应用程序接收用于填充所述第二用户界面模板的第二组值;
利用从所述第一第三方应用程序接收的所述第二组值来填充所述第二用户界面模板;
通过使用利用所述第二组值填充的所述第二用户界面模板来生成用于所述第一第三方应用程序的第二用户界面;并且
向所述相应显示单元发送使得用于所述第一第三方应用程序的所述第二用户界面能够被显示在所述相应显示单元上的信息。
27.根据权利要求24至26中任一项所述的电子设备,其中所述处理单元被进一步配置为,在向所述相应显示单元发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示单元上的所述信息之后:
接收在所述相应显示单元上显示用于不同于所述第一第三方应用程序的第二第三方应用程序的用户界面的第二显示请求;
响应于接收到所述第二显示请求,从所述第二第三方应用程序,请求用于填充所述第一用户界面模板的一个或多个值;
当所述第二第三方应用程序正在所述电子设备上运行时,从所述第二第三方应用程序接收用于填充所述第一用户界面模板的第三组值;
利用从所述第二第三方应用程序接收的所述第三组值来填充所述第一用户界面模板;
使用利用所述第三组值填充的所述第一用户界面模板来生成用于所述第二第三方应用程序的第二用户界面;并且
向所述相应显示单元发送使得用于所述第二第三方应用程序的所述第二用户界面能够被显示在所述相应显示单元上的信息。
28.根据权利要求24至27中任一项所述的电子设备,其中:
所述设备包括多个进程,所述多个进程包括:用于运行所述第一第三方应用程序的第一第三方应用程序进程,以及用于中继所述相应显示单元和所述第一第三方应用程序进程之间的信息的一组一个或多个中间进程;
对用于填充所述第一用户界面模板的所述一个或多个值的所述请求是由来自所述一组一个或多个中间进程的中间进程生成的;并且
所述第一用户界面是由来自所述一组一个或多个中间进程的中间进程生成的。
29.根据权利要求24至28中任一项所述的电子设备,其中由所述第一第三方应用程序响应于对用于填充所述第一用户界面模板的一个或多个值的所述请求,从远程源检索所述第一组值中的一个或多个值。
30.根据权利要求24至29中任一项所述的电子设备,其中:
所述相应显示单元是从车辆的驾驶员座椅可见的车辆信息显示***中的显示单元;并且
所述第一用户界面模板是多个预先确定的用户界面模板之一,所述多个预先确定的用户界面模板被配置为用于在所述相应显示单元上生成用于所述第三方应用程序的用户界面,其防止驾驶员分神。
31.根据权利要求24至30中任一项所述的电子设备,其中:
所述第一用户界面模板由多个不同的第三方应用程序使用,所述多个不同的第三方应用程序包括所述第一第三方应用程序和第二第三方应用程序;
利用从相应第三方应用程序接收的值填充所述第一用户界面模板包括:以向所述相应显示单元提供的用户界面中的预定义的字体大小,将由所述相应第三方应用程序识别为属于第一类值的值***预定义的区域中;并且
针对所述第一用户界面模板:
所述第一第三方应用程序将第一类型信息识别为所述第一类值;并且
所述第二第三方应用程序将不同于所述第一类型信息的第二类型信息识别为所述第一类值。
32.根据权利要求31所述的电子设备,其中针对所述第一用户界面模板:
所述第一第三方应用程序将远程生成的内容电台的名称识别为所述第一类值;并且
所述第二第三方应用程序将预先确定的播放列表的名称识别为所述第一类值。
33.根据权利要求31所述的电子设备,其中针对所述第一用户界面模板:
所述第一第三方应用程序将可被流式传输至所述设备的内容的名称识别为所述第一类值;并且
所述第二第三方应用程序将被存储在所述设备上的内容的名称识别为所述第一类值。
34.根据权利要求24至33中任一项所述的电子设备,其中:
在所述第一第三方应用程序处的值被布置成包括多个节点的树结构,所述多个节点具有预先确定的特性并与所述树结构中的一个或多个其它节点具有树关系;并且
对用于填充所述第一用户界面模板的一个或多个值的所述请求包括下列中的一者或多者:
返回对应于所述多个节点中的相应节点的子节点列表的值的请求;
返回对应于所述多个节点中的相应节点的特性列表的值的请求;
提供由所述相应节点表示的内容的请求;
提供匹配搜索查询的节点列表的请求;以及
提供特定于所述第一第三方应用程序的动作列表的请求,所述动作是在提供对与所述第一第三方应用程序相关联的内容的访问时可进行的。
35.根据权利要求24至34中任一项所述的电子设备,其中:
所述第一第三方应用程序是媒体呈现应用程序;
所述设备包括第一方应用程序,所述第一方应用程序是媒体呈现应用程序;
所述第一方应用程序包括第一方用户界面,所述第一方用户界面在所述第一方用户界面中的相应位置处具有用于请求媒体呈现操作的执行的多个可选择的示能表示以及一个或多个内容呈现区域;并且
生成用于所述第一第三方应用程序的所述第一用户界面包括:生成包括可选择的示能表示和一个或多个内容呈现区域的用户界面,所述可选择的示能表示和所述一个或多个内容呈现区域在功能和位置上对应于所述第一方用户界面的所述可选择的示能表示和所述内容呈现区域。
36.根据权利要求24至35中任一项所述的电子设备,其中所述处理单元被进一步配置为,在向所述相应显示单元发送使得用于所述第一第三方应用程序的所述第一用户界面能够被显示在所述相应显示单元上的所述信息之后:
从所述第一第三方应用程序接收用于填充所述第一用户界面模板的更新后的第一组值;并且
响应于接收到用于填充所述第一用户界面模板的所述更新后的第一组值:
利用从所述第一第三方应用程序接收的所述更新后的第一组值来填充所述第一用户界面模板;
使用利用所述更新后的第一组值填充的所述第一用户界面模板来生成用于所述第一第三方应用程序的更新后的第一用户界面;并且
向所述相应显示单元提供使得用于所述第一第三方应用程序的所述更新后的第一用户界面能够被显示在所述相应显示单元上的信息。
37.根据权利要求24至36中任一项所述的电子设备,其中:
所述设备包括具有语音识别能力的数字个人助理进程;并且
所述处理单元被进一步配置为:
基于来自所述第一第三方应用程序对向所述第三方应用程序请求值的多个请求的响应,确定所述第一第三方应用程序的能力,所述值与填充用于所述相应显示单元的用户界面的用户界面模板相关联;
生成所述第一第三方应用程序的所述能力的索引;并且
通过所述数字个人助理进程,提供对所述第一第三方应用程序的所述能力的语音访问。
38.根据权利要求37所述的电子设备,其中所述处理单元被进一步配置为:
检测预先确定的条件是否已经满足;并且
响应于检测到所述预先确定的条件已经满足:
重新确定所述第一第三方应用程序的所述能力;并且
重新生成所述第一第三方应用程序的所述能力的所述索引。
CN201480001136.2A 2013-06-08 2014-05-30 用于从模板生成用户界面的设备和方法 Active CN104685470B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811428176.1A CN110083411B (zh) 2013-06-08 2014-05-30 用于从模板生成用户界面的设备和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201361832841P 2013-06-08 2013-06-08
US61/832,841 2013-06-08
US14/291,688 US20140365895A1 (en) 2008-05-13 2014-05-30 Device and method for generating user interfaces from a template
US14/291,688 2014-05-30
PCT/US2014/040416 WO2014197340A1 (en) 2013-06-08 2014-05-30 Device and method for generating user interfaces from a template

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201811428176.1A Division CN110083411B (zh) 2013-06-08 2014-05-30 用于从模板生成用户界面的设备和方法

Publications (2)

Publication Number Publication Date
CN104685470A true CN104685470A (zh) 2015-06-03
CN104685470B CN104685470B (zh) 2018-11-30

Family

ID=51228624

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201480001136.2A Active CN104685470B (zh) 2013-06-08 2014-05-30 用于从模板生成用户界面的设备和方法
CN201811428176.1A Active CN110083411B (zh) 2013-06-08 2014-05-30 用于从模板生成用户界面的设备和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN201811428176.1A Active CN110083411B (zh) 2013-06-08 2014-05-30 用于从模板生成用户界面的设备和方法

Country Status (6)

Country Link
CN (2) CN104685470B (zh)
AU (1) AU2014100585B4 (zh)
DE (1) DE202014004555U1 (zh)
NL (1) NL2012965C2 (zh)
TW (1) TWI515640B (zh)
WO (1) WO2014197340A1 (zh)

Cited By (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105867931A (zh) * 2016-04-07 2016-08-17 北京橙鑫数据科技有限公司 信息展示界面的变更方法和装置
CN107015790A (zh) * 2015-10-30 2017-08-04 福特全球技术公司 分层的用户界面和帮助***
CN107924256A (zh) * 2015-09-09 2018-04-17 苹果公司 表情符号和预设回复
CN109600298A (zh) * 2018-11-15 2019-04-09 安徽信果网络科技有限公司 一种基于微信小程序的手机界面模拟显示***
CN110168589A (zh) * 2016-08-31 2019-08-23 支点全球技术公司 用于跟踪、捕获和跨多个设备同步活动数据的方法和装置
CN110837534A (zh) * 2019-11-07 2020-02-25 北京字节跳动网络技术有限公司 一种数据列表的展示方法、装置、设备和存储介质
CN110881079A (zh) * 2018-09-06 2020-03-13 上海伴我科技有限公司 在扁平的交互层级中平行切换多个资源的方法及电子设备
CN111985199A (zh) * 2020-08-13 2020-11-24 黄石示界创信息科技有限公司 基于思维导图的ppt生成方法及***
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US11048873B2 (en) 2015-09-15 2021-06-29 Apple Inc. Emoji and canned responses
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
CN113273220A (zh) * 2018-09-06 2021-08-17 上海伴我科技有限公司 资源的配置方法、用户界面的导航方法及电子设备、存储介质
CN113646746A (zh) * 2019-03-29 2021-11-12 三星电子株式会社 用于经由用户演示学习并启用命令的方法和***
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11418929B2 (en) 2015-08-14 2022-08-16 Apple Inc. Easy location sharing
CN115605837A (zh) * 2020-03-03 2023-01-13 索尼互动娱乐股份有限公司(Jp) 带有动作卡链的游戏控制台应用程序
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111158803B (zh) 2018-11-07 2024-05-10 财团法人工业技术研究院 虚拟助理磋商***及其方法
US11169665B2 (en) 2020-03-03 2021-11-09 Sony Interactive Entertainment Inc. Game console user interface with application previews
US11185758B2 (en) * 2020-03-03 2021-11-30 Sony Interactive Entertainment Inc. Game console application with action cards
TWI751653B (zh) * 2020-08-14 2022-01-01 博橡科技股份有限公司 人機介面開發方法、人機介面裝置以及電腦程式產品
CN112099872A (zh) * 2020-09-09 2020-12-18 杭州朗澈科技有限公司 一种基于语音引导的k8s资源创建***
CN113095056B (zh) * 2021-03-17 2024-04-12 阿里巴巴创新公司 生成方法、处理方法、装置、电子设备以及介质
CN114153445B (zh) * 2022-02-09 2022-05-20 中国电子信息产业集团有限公司 一种通过批量选择组件实现快速生成连接关系的方法
WO2023235434A2 (en) * 2022-06-04 2023-12-07 Apple Inc. Synchronized rendering

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090276730A1 (en) * 2008-03-04 2009-11-05 Alexandre Aybes Techniques for navigation of hierarchically-presented data
CN101582053A (zh) * 2008-05-13 2009-11-18 苹果公司 将用户界面推到远程设备
CN101667098A (zh) * 2005-12-30 2010-03-10 苹果公司 具有界面重配置模式的便携式电子设备
US20100077058A1 (en) * 2008-09-19 2010-03-25 Samsung Electronics Co., Ltd. Sending a remote user interface
US20130086597A1 (en) * 2011-09-30 2013-04-04 Kevin Cornwall Context and application aware selectors

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1378149A (zh) * 2001-04-02 2002-11-06 钱跃良 便携式农业专家***
JP4903054B2 (ja) * 2003-12-31 2012-03-21 オープンピーク インコーポレイテッド 制御環境内のコンポーネントを自動的に管理するための方法、システムおよびコンピュータプログラム製品
US8970647B2 (en) * 2008-05-13 2015-03-03 Apple Inc. Pushing a graphical user interface to a remote device with display rules provided by the remote device
US9870130B2 (en) * 2008-05-13 2018-01-16 Apple Inc. Pushing a user interface to a remote device
CN102193953B (zh) * 2010-03-17 2017-04-12 日电(中国)有限公司 桌面应用迁移***和方法
US8386929B2 (en) * 2010-06-22 2013-02-26 Microsoft Corporation Personal assistant for task utilization
CN102455903B (zh) * 2010-10-29 2014-12-10 卓望数码技术(深圳)有限公司 一种用户应用界面的生成方法
US20120265784A1 (en) * 2011-04-15 2012-10-18 Microsoft Corporation Ordering semantic query formulation suggestions

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101667098A (zh) * 2005-12-30 2010-03-10 苹果公司 具有界面重配置模式的便携式电子设备
US20090276730A1 (en) * 2008-03-04 2009-11-05 Alexandre Aybes Techniques for navigation of hierarchically-presented data
CN101582053A (zh) * 2008-05-13 2009-11-18 苹果公司 将用户界面推到远程设备
US20100077058A1 (en) * 2008-09-19 2010-03-25 Samsung Electronics Co., Ltd. Sending a remote user interface
US20130086597A1 (en) * 2011-09-30 2013-04-04 Kevin Cornwall Context and application aware selectors

Cited By (29)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11025565B2 (en) 2015-06-07 2021-06-01 Apple Inc. Personalized prediction of responses for instant messaging
US11418929B2 (en) 2015-08-14 2022-08-16 Apple Inc. Easy location sharing
CN107924256A (zh) * 2015-09-09 2018-04-17 苹果公司 表情符号和预设回复
CN107924256B (zh) * 2015-09-09 2021-03-26 苹果公司 表情符号和预设回复
US11048873B2 (en) 2015-09-15 2021-06-29 Apple Inc. Emoji and canned responses
CN107015790A (zh) * 2015-10-30 2017-08-04 福特全球技术公司 分层的用户界面和帮助***
WO2017173914A1 (zh) * 2016-04-07 2017-10-12 北京橙鑫数据科技有限公司 信息展示界面的变更方法和装置
CN105867931A (zh) * 2016-04-07 2016-08-17 北京橙鑫数据科技有限公司 信息展示界面的变更方法和装置
CN105867931B (zh) * 2016-04-07 2019-05-07 北京橙鑫数据科技有限公司 信息展示界面的变更方法和装置
CN110168589A (zh) * 2016-08-31 2019-08-23 支点全球技术公司 用于跟踪、捕获和跨多个设备同步活动数据的方法和装置
CN110168589B (zh) * 2016-08-31 2024-04-02 支点全球技术公司 用于跟踪、捕获和跨多个设备同步活动数据的方法和装置
US11782575B2 (en) 2018-05-07 2023-10-10 Apple Inc. User interfaces for sharing contextually relevant media content
CN110881079A (zh) * 2018-09-06 2020-03-13 上海伴我科技有限公司 在扁平的交互层级中平行切换多个资源的方法及电子设备
CN110881080B (zh) * 2018-09-06 2023-10-13 上海有偶咨询策划有限公司 主要依赖物理键与程序交互的电子设备
CN110881080A (zh) * 2018-09-06 2020-03-13 上海伴我科技有限公司 主要依赖物理键与程序交互的电子设备
CN113273220A (zh) * 2018-09-06 2021-08-17 上海伴我科技有限公司 资源的配置方法、用户界面的导航方法及电子设备、存储介质
CN110881079B (zh) * 2018-09-06 2023-09-12 上海伴我科技有限公司 在扁平的交互层级中平行切换多个资源的方法及电子设备
CN109600298A (zh) * 2018-11-15 2019-04-09 安徽信果网络科技有限公司 一种基于微信小程序的手机界面模拟显示***
CN113646746A (zh) * 2019-03-29 2021-11-12 三星电子株式会社 用于经由用户演示学习并启用命令的方法和***
US11620046B2 (en) 2019-06-01 2023-04-04 Apple Inc. Keyboard management user interfaces
US11347943B2 (en) 2019-06-01 2022-05-31 Apple Inc. Mail application features
US11194467B2 (en) 2019-06-01 2021-12-07 Apple Inc. Keyboard management user interfaces
US11074408B2 (en) 2019-06-01 2021-07-27 Apple Inc. Mail application features
US11842044B2 (en) 2019-06-01 2023-12-12 Apple Inc. Keyboard management user interfaces
CN110837534A (zh) * 2019-11-07 2020-02-25 北京字节跳动网络技术有限公司 一种数据列表的展示方法、装置、设备和存储介质
CN115605837A (zh) * 2020-03-03 2023-01-13 索尼互动娱乐股份有限公司(Jp) 带有动作卡链的游戏控制台应用程序
US11896900B2 (en) 2020-03-03 2024-02-13 Sony Interactive Entertainment Inc. Game console application with action card strand
CN111985199A (zh) * 2020-08-13 2020-11-24 黄石示界创信息科技有限公司 基于思维导图的ppt生成方法及***
CN111985199B (zh) * 2020-08-13 2023-10-27 黄石示界创信息科技有限公司 基于思维导图的ppt生成方法及***

Also Published As

Publication number Publication date
DE202014004555U1 (de) 2014-09-18
AU2014100585B4 (en) 2015-03-12
NL2012965A (en) 2014-12-09
AU2014100585A4 (en) 2014-07-03
CN104685470B (zh) 2018-11-30
CN110083411B (zh) 2022-02-01
TWI515640B (zh) 2016-01-01
CN110083411A (zh) 2019-08-02
WO2014197340A1 (en) 2014-12-11
TW201506759A (zh) 2015-02-16
NL2012965C2 (en) 2015-03-10

Similar Documents

Publication Publication Date Title
CN104685470B (zh) 用于从模板生成用户界面的设备和方法
US11692840B2 (en) Device, method, and graphical user interface for synchronizing two or more displays
CN105955520B (zh) 用于***体呈现的设备和方法
CN205038630U (zh) 电子设备
CN105144037B (zh) 用于输入字符的设备、方法和图形用户界面
CN104471521B (zh) 用于针对改变用户界面对象的激活状态来提供反馈的设备、方法和图形用户界面
CN104487929B (zh) 用于响应于用户接触来显示附加信息的设备、方法和图形用户界面
CN105264476A (zh) 用于提供导航和搜索功能的装置、方法和图形用户界面
CN104487927A (zh) 用于选择用户界面对象的设备、方法和图形用户界面
US20140365895A1 (en) Device and method for generating user interfaces from a template
CN104487930A (zh) 用于移动和放置用户界面对象的设备、方法和图形用户界面
CN105144057A (zh) 用于根据具有模拟三维特征的控制图标的外观变化来移动光标的设备、方法和图形用户界面
CN106502556A (zh) 用于使用触敏远程控件移动当前焦点的设备和方法
CN106502520A (zh) 用于导航和播放内容的用户界面
CN105264479A (zh) 用于对用户界面分级结构进行导航的设备、方法和图形用户界面
CN106415722A (zh) 音乐正在播放用户界面
CN104903835A (zh) 用于针对多接触手势而放弃生成触觉输出的设备、方法和图形用户界面
CN109196455A (zh) 用于carplay的应用程序快捷方式
CN105144067A (zh) 用于调节控件的外观的设备、方法和图形用户界面
CN104885050A (zh) 用于确定是滚动还是选择内容的设备、方法和图形用户界面
CN104246678A (zh) 用于对文档中的内容对象进行共享的设备、方法和图形用户界面
CN107710131A (zh) 内容浏览用户界面
CN107690614A (zh) 多个视图之间的移动
CN107787478A (zh) 在用户界面显示器中选择内容项
CN110286836A (zh) 用于移动应用接口元素的设备、方法和图形用户界面

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant