发送大电子邮件附件的双服务器系统的制作方法

文档序号:12287893阅读:416来源:国知局
发送大电子邮件附件的双服务器系统的制作方法与工艺

1.技术领域

本文中的实施方案总体涉及在包括具有触摸屏显示器的设备的电子设备之间发送包含大附件的消息。更具体地说,所述实施方案涉及在这种设备上用于发送这些消息的用户界面和手势。

2.

背景技术:

随着多媒体和其他社交媒体在电子计算设备的许多用户之间共享,在用户之间发送包括大多媒体附件的消息变得日益普及。鉴于对电子邮件带宽的需求增大,许多电子邮件提供商正对用户可使用提供商的服务发送的电子邮件消息施加大小限制。大多媒体或内容文件因此通过文件共享服务共享,但不是通过将这些文件包含在电子邮件消息中。用户在发送电子邮件时的体验因此变得复杂,这是因为不得不调用两个或更多独立服务以递送包括大材料诸如电影、高分辨率照片、展示和存档文件的消息所引起的不便。



技术实现要素:

具有触敏表面和显示器的电子设备可执行配置为管理具有大附件的电子邮件的即时消息应用程序。公开了用于计算机实现的方法、包括执行所述方法中任一方法的指令或装置的设备以及包括执行所述方法中的任一方法的指令的计算机可读存储介质。

在一个实施方案中,执行即时消息应用程序的设备接收到发送电子邮件消息的请求。响应于接收到该请求,该设备确定附件的大小是否超过阈值。响应于确定该大小超过阈值,则设备向服务器发送用于将附件上载到服务器的请求。响应于从服务器接收到对上载请求的肯定确认,该设备提供选项把附件上载到服务器以及在电子邮件消息中嵌入对附件在服务器上的位置的链接。以及响应于接收到对上载和嵌入选项的选择,该设备将UI元素和附件版本添加到电子邮件消息,其中UI元素包括该附件在云服务器上的位置的链接,并且其中该版本具有比阈值小的尺寸。该设备发送电子邮件消息。

在另一实施方案中,该设备接收存储电子邮件消息的附件的请求。响应于接收到该请求,该设备确定附件的大小是否超过阈值。根据确定该大小超过阈值,该设备计算在配置为基于存储参数存储附件的位置处的存储空间。根据确定该存储空间足够大以存储该附件,该设备发送包括对位置的链接以及有效性信息的第一确认。

在另一实施方案中,设备接收电子邮件消息,该电子邮件消息包括对与电子邮件消息相关联的附件在服务器上的位置的链接以及该链接的有效性信息。响应于打开该电子邮件消息的动作,该设备确定该链接是否有效,并且响应于选择对该附件的位置的链接的动作以及根据确定该链接有效,该设备向服务器发送检索该附件的请求。该设备随后从服务器检索该附件并且在检索该附件时,更新该链接的有效性信息来指示该附件已从服务器被检索,并且将更新的有效性信息与电子邮件消息一起存储且其中附件嵌入电子邮件消息内。

在一个实施方案中,设备接收电子邮件消息,该电子邮件消息包括与电子邮件相关联的附件在服务器上的位置的链接以及该链接的有效性信息。在接收到选择对附件的位置的链接以及链接有效时,该设备向服务器发送检索该附件的请求。在确定附件已从服务器被检索时,该设备更新有效性状态的可视指示来指示该附件已从服务器被检索。

附图说明

为了更好地理解各种所述实施方案,应结合以下附图来参考下面的具体实施方式,其中在整个附图中类似的附图标记是指对应的部件。

图1A是示出根据一些实施方案的具有触敏显示器的便携式多功能设备的框图。

图1B是示出根据一些实施方案的用于事件处理的示例性部件的框图。

图2示出了根据一些实施方案的具有触摸屏的便携式多功能设备。

图3是根据一些实施方案的具有显示器和触敏表面的示例性多功能设备的框图。

图4A示出了根据一些实施方案的便携式多功能设备上的应用程序菜单的示例性用户界面。

图4B示出了根据一些实施方案的具有与显示器分开的触敏表面的多功能设备的示例性用户界面。

图5示出了根据一个实施方案的用于发送具有大附件的电子邮件消息的设备和服务器的网络示图。

图6示出了根据一个实施方案的设备的应用程序图标的横向视图。

图7示出了根据一个实施方案的邮件应用程序的应用视图。

图8A和图8B示出了根据一些实施方案的在邮件应用程序的应用视图中编写包括大附件的消息的手势和方法。

图9示出了根据一个实施方案的发送包括大附件的消息的流程图。

图10A-图10D示出了根据一些实施方案的邮件应用程序中的发送选项。

图11A-图11D示出了根据一些实施方案的包括对云服务器上存储的附件的嵌入链接以及下载手势的消息的应用视图。

图12示出了根据一些实施方案的电子邮件消息的消息视图中的下载指示符的序列。

图13A-图13C示出了根据一些实施方案的包括具有各种UI元素和下载指示符的消息的应用视图。

图14A-图14C示出了根据一些实施方案的在邮件应用程序的应用视图转发包括一个或多个大附件的消息的手势和方法。

图15示出了根据一个实施方案的包括一个或多个大附件的转发消息的编写视图。

图16A-图16C示出了根据一些实施方案的包括对云服务器上存储的附件的嵌入链接以及下载手势的转发消息的应用视图。

仅仅处于示例目的,附图描绘以及详细说明描述各种非限定性实施方案。本领域技术人员将容易从下面描述认识到,可在不脱离本文描述的原理的情况下采用本文示出的结构和方法的替代实施方案。

具体实施方式

示例性设备

现在将详细地参考实施方案,这些实施方案的实施例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路、和网络,从而不会不必要地使实施方案的方面晦涩难懂。

还将理解的是,虽然术语“第一”、“第二”等在本文中在一些实例中用来描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用来将一个元件与另一元件区分开。例如,第一接触可以被命名为第二接触,并且类似地,第二接触可以被命名为第一接触,而不背离各种所描述的实施方案的范围。第一接触和第二接触两者都是接触,但是它们不是同一接触。

在本文中对各种所描述的实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”(“a”,“an”)和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、部件和/或其分组。

如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为意思是“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。

本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施方案。在一些实施方案中,该设备是还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自Apple Inc(Cupertino,California)的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(例如,触敏表面,诸如设备100的触敏显示器系统112)上的接触的强度的一个或多个强度传感器165。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如,在触敏表面诸如设备100的触敏显示器系统112或设备300的触摸板355上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。

如在本说明书和权利要求书中所使用,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括上百个不同的值(例如,至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均数)以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触面积的大小和/或其变化、邻近接触的触敏表面的电容和/或其变化和/或邻近接触的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已超过强度阈值(例如,强度阈值是以与替代物测量对应的单位来描述的)。在一些具体实施中,接触力或压力的替代物测量值被转换成估计的力或压力,并且估计的力或压力用于确定是否已经超过强度阈值(例如,强度阈值是以压力的单位测量的压力阈值)。

如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感对应于设备或设备的部件的物理特征的所感知的变化。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个实施例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释为或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是存在触摸的许多感官知觉是大多数用户共有的。因此,当触觉输出被描述为对应于用户的特定感官知觉(例如,“按下点击”、“松开点击”、“粗糙度”)时,除非另外陈述,否则所生成的触觉输出对应于设备或其部件的物理位移,该物理位移将会生成典型(或普通)用户的感官知觉。

应当理解,设备100仅是便携式多功能设备的一个实施例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件以硬件、软件、或硬件与软件两者的组合来实现,包括一个或多个信号处理和/或专用集成电路。

存储器102任选地包括高速随机存取存储器,并且还任选地包括非易失性存储器,诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。设备100的其他部件(诸如CPU 120和外围设备接口118)对存储器102的访问任选地由存储器控制器122来控制。

外围设备接口118可被用来将设备的输入和输出外围设备耦接到CPU120和存储器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和/或IEEE 802.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和显示控制器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/O子系统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针)连接器。

接触/运动模块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;

·用于形成用户创建的桌面小程序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传输的消息)两者。

结合RF电路108、触摸屏112、显示控制器156、接触模块130、图形模块132、文本输入模块134、GPS模块135、地图模块154、和音乐播放器模块146,健身支持模块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、触摸屏112、显示系统控制器156、接触模块130、图形模块132、文本输入模块134和浏览器模块147,桌面小程序创建者模块150任选地被用户用来创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)。

结合触摸屏112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括根据用户指令来搜索匹配一个或多个搜索条件(例如,一个或多个用户指定的搜索词)的存储器102中的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。

结合触摸屏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、扬声器111、RF电路108、文本输入模块134、电子邮件客户端模块140和浏览器模块147,在线视频模块155包括指令,该指令允许用户访问、浏览、接收(例如,通过流式传输和/或下载)、回放(例如在触摸屏上或在经由外部端口124所连接的外部显示器上)、发送具有至特定在线视频的链接的电子邮件,以及以其他方式管理一种或多种文件格式诸如H.264的在线视频。在一些实施方案中,即时消息模块141而不是电子邮件客户端模块140用于发送至特定在线视频的链接。

上述所识别的每个模块和应用对应于用于执行上述一种或多种功能以及在本申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即指令集)不必被实现为独立的软件程序、过程或模块,因此这些模块的各种子集任选地在各种实施方案中被组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子集。此外,存储器102任选地存储上面未描述的另外的模块和数据结构。

在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触摸板来执行的设备。通过使用触摸屏和/或触摸板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。

唯一地通过触摸屏和/或触控板执行的该预定义的一组功能任选地包括在用户界面之间的导航。在一些实施方案中,触摸板在被用户触摸时将设备100从被显示在设备100上的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触摸板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触摸板。

图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,该应用程序内部状态指示当应用程序是活动的或正在执行时被显示在触敏显示器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的访问。在一些实施方案中,数据更新器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包括具有显示器340的输入/输出(I/O)接口330,该显示器通常是触摸屏显示器。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)。根据这些实施方案,设备检测与显示器上相应位置对应的位置处的与触敏表面451的接触(例如,图4B中的460和462)(例如,在图4B中,460对应于468并且462对应于470)。这样,在触敏表面(例如,图4B中的451)与多功能设备的显示器(例如图4B中的450)分开时,由设备在触敏表面上检测到的用户输入(例如,接触460和462以及它们的移动)被该设备用于操纵显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。

另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势)来给出下面的实施例,但是应当理解的是,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触)、之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。又如,轻击手势任选地由光标位于轻击手势的位置之上时的鼠标点击(例如,而不是对接触的检测、之后是终止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个电脑鼠标任选地被同时使用,或一个鼠标和多个手指接触任选地被同时使用。

如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的用户界面的当前部分的输入元件。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图3中的触摸板355或图4B中的触敏表面451)上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1A中的触敏显示器系统112或图4A中的触摸屏112)的一些具体实施中,触摸屏上的所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据用户界面的不同区域之间的焦点移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制的以便传送与用户界面的用户预期的交互(例如,通过向设备指示用户界面的用户期望与其进行交互的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触摸屏)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示用户期望激活相应按钮(而不是设备显示器上示出的其他用户界面元素)。

现在将注意力转到可在具有显示器和触敏表面的电子设备(诸如设备300或便携式多功能设备100)上实现的用户界面(“UI”)及相关联的过程的实施方案。

如前所述,设备100包括配置为在设备100上执行的多个应用程序136。多个应用程序136中的一个为电子邮件客户端模块140并且用户可与计算设备100上的应用程序交互。如将在下文进一步所述,电子邮件客户端模块140具有各种用户界面以在使用该应用程序时改善与计算设备100的用户体验。

图5是示出了适于在多个电子邮件客户端模块140之间发送电子邮件消息的电子邮件系统环境的框图。电子邮件系统环境包括每个都运行电子邮件客户端模块140a和140b的多个设备100、云服务器510、连接到云服务器510的云存储装置520、电子邮件服务器530、连接到电子邮件服务器530的电子邮件服务器存储装置540以及网络550。设备100配置为经由网络进行通信,如在上文详细所述。在一个实施方案中,服务器提供云服务器和电子邮件服务器的服务。在另选的配置中,在系统中可包括不同和/或另外的模块。

邮件应用程序UI和手势

图6示出了根据一个实施方案的设备100的应用程序的图标的横向视图。例如,托盘408图标用于以下应用程序或模块:

·IM模块141的被标记为“消息”的图标424;

·电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;

·浏览器模块147的被标记为“浏览器”的图标420;和

·视频和音乐播放器模块152的被标记为“音乐”的图标422;和用于其他应用程序的图标包括:

·IM模块141的被标记为“消息”的图标424;

·日历模块148的被标记为“日历”的图标426;

·视频和音乐播放器模块152的被标记为“音乐”的图标422;

·电子邮件客户端模块140的被标记为“邮件”的图标418,该图标418任选地包括未读电子邮件的数量的指示符410;

·天气桌面小程序149-1的被标记为“天气”的图标438;

·浏览器模块147的被标记为“浏览器”的图标420;和

·记事本模块153的被标记为“记事本”的图标444。

在其他实施方案中,不同和/或另外的图标可呈现在用户界面500上。

而且,图6示出了执行(“启动”)应用程序的接收手势。启动手势被指引到“邮件”图标418,指示用户请求执行由“邮件”图标418代表的电子邮件客户端模块140a。尽管针对图标的纵向视图描述启动手势,还可以在图标的横向视图接收启动手势。

在一个实施方案中,本文中的启动手势或任何其他适合手势包括在图标上的接触。通常,如果接触触摸到用户界面600上显示的图标的至少一部分,则手势被认为位于图标“上”。在图6中,启动手势由“邮件”图标418上(例如,用户手指、触笔或指针设备)的接触602表示。响应于启动手势,设备100从用户界面600上的显示器撤除(“去除”)图标并且显示对应于图6中所示的“邮件”图标418的邮件应用程序的应用视图704。在用户界面中示出电子邮件客户端模块140的应用视图704。“邮件”图标418的应用视图704包括来自用户的电子邮件账户的电子邮件。

响应于菜单按钮204的用户选择,例如,通过接触菜单按钮204,设备100从用户界面600撤除“邮件”图标418的应用视图704并且显示如图6中所示的图标。在一个实施方案中,应用程序的撤除仅将应用视图704从用户界面600上正显示状态去除。即使应用程序的应用视图704不再显示在用户界面上,撤除的应用程序仍然执行设备100的后台进程。因此,即使电子邮件客户端模块140的应用视图704已被撤除,图3和图5中示出的电子邮件客户端模块140仍然在设备100的后台执行。

图7示出了根据一个实施方案的邮件应用程序的应用视图704。例如,应用视图704显示来自用户的电子邮件账户的收件箱中的电子邮件消息706A、706B、706C、706D、706E、706F和706G。每个电子邮件消息706显示发送者信息708、主题信息710、电子邮件712正文的一部分、以及另选的其他指示符,诸如附件指示符714。同样如在图7中所述,另外的用户界面元素显示在应用视图704中以及新草稿元素714中。

图7还示出了指示请求起草新电子邮件和打开编写界面的草稿手势716。例如,草稿手势为在新草稿元素714上由设备100检测到的接触716。根据一个实施方案,响应于检测到的接触716,如图8所示,在应用视图804中示出了消息编写界面或草稿用户界面(UI)820。邮件应用程序的草稿UI 820可由调用电子邮件客户端模块140编写电子邮件消息的其他应用程序模块打开。在其他实施例中,当用户回复或转发通过邮件应用程序接收的电子邮件消息时,邮件应用程序在应用视图804中打开草稿UI 820。本领域技术人员会容易理解,草稿UI 820可由用户通过邮件应用程序采用其他方式打开。

如结合图9进一步所示,本文描述了一种用对附件在服务器上的链接来替代电子邮件中超过阈值大小的附件的方法。通常,电子邮件服务器对其从发送者的电子邮件客户端模块接受的电子邮件消息(包括任何附件)的大小施加限制。如果电子邮件消息大小超过该限制,则电子邮件服务器拒绝(“退回”)该电子邮件消息,而不存储副本以备接收人稍后检索。为了避免测试电子邮件服务器大小限制以及冒电子邮件消息退回的风险,电子邮件客户端模块为用户提供分别发送电子邮件消息和附件的选项,使用云服务器510发送附件以及电子邮件服务器530发送除去附件的电子邮件消息。该方法允许用户发送通常由于发出和/或接收电子邮件服务器施加的大小限制导致过大而不能发送的电子邮件附件。图8A对应于图像电子邮件附件,而图8B对应于PDF或其他类型的电子邮件附件。

图8A示出了根据一个实施方案的用于发送具有附件的消息的邮件应用程序的应用视图804中的草稿UI 820。草稿UI 820包括标头元素822、发送者信息元素824、主题信息元素826、图像大小选择元素828和消息正文元素830。标头元素822包括取消和发送按钮,以及可选的消息的主题或“新消息”指示符。在发送者信息元素824中,用户可输入地址信息来允许电子邮件消息递送到指定的接收人。在一个实施方案中,发送者信息元素包括输入与接收人的地址信息相关联的字符串的输入元素。输入元素调用文本输入模块134用于输入文本串。发送者信息可包括发送者姓名,例如发送者的名字或姓,以及电子邮件消息的另外接收人(抄送或匿名抄送)。如图8A中所示,发送者信息的相应输入元素指示为“到:”、“自:”、“抄送:”、或“匿名抄送”标签。主题信息元素还包括为编写的电子邮件消息输入主题的输入元素。

草稿UI 820包含用于消息正文830的额外输入字段。该输入字段允许用户为邮件应用程序的电子邮件消息编辑文本。而且,用户可包括具有邮件应用程序的电子邮件消息的附件。附件可包含各种内容单元,诸如照片、音频文件、视频文件、文本文件、归档文件和便携式文档文件。例如,当运行在设备上的另一应用程序(如上所述)调用邮件应用程序以将内容单元连同电子邮件消息发送到电子邮件接收人时,附件可包含在电子邮件消息中。

图8A的实施方案示出附接到草稿UI 820中的电子邮件消息的一个或多个图像(或,照片)的情况。根据所显示的实施方案,除了用户附接到电子邮件的图像之外,将低分辨率图像832嵌入电子邮件消息的正文中。在其他实施方案中,是否嵌入低分辨率图像的决定发生在系统确定图像附件超过最大尺寸之后。图像大小选择元素828允许用户通过选择手势选择每个附接的图像的大小。选择手势为与图像大小选择元素828中显示的大小按钮834中之一的接触。大小按钮834上的接触(未示出)选择每个附接的图像的大小。所选大小按钮以视觉上不同于其他非选择大小按钮而显示出,如图8A所示为深灰色。当选择不同于附接的图像的真实大小的尺寸时,图像管理模块144将附接的照片大小改变成所选大小。在一个实施方案中,除了图像的真实尺寸之外,选择包括小尺寸、中尺度或大尺寸选项。电子邮件客户端模块140从图像管理模块144接收新调整大小的图像并且将其附接到电子邮件消息。在一个实施方案中,图像管理模块144计算所有调整大小的图像的总尺寸并且将该总尺寸传送到在草稿UI 820的相应大小按钮上显示该尺寸的电子邮件客户端模块140。

可在滚动手势836之后,显示包括最初不在应用视图804中可视的另外低分辨率图像的消息830的正文。该滚动手势应用于大体上垂直于显示的电子邮件消息的文本行的方向,如图8A中所示。应用该滚动手势显示出在当前显示的消息正文之后的电子邮件消息的正文。反转滚动手势的方向显示在当前显示的部分之前的消息正文的部分。

图8B的实施方案示出附接到草稿UI 820中的电子邮件消息的非图像的文件的情况。在该实施方案中,便携式文档文件(新文档.PDF)和归档文件(新归档.ZIP)附接到在应用视图804中示出的编写的电子邮件消息。不同于图像大小选择元素,显示提供有关附接文档的信息的附接信息元素838,例如附接文件的大小和数量。除了信息元素838之外,草稿UI 820为电子邮件消息正文中的每个附件显示附件元素840。附件元素840的显示可包括但不限于,指示每个附接文件的类型和格式的图标、其名称和大小、以及指向电子邮件客户端模块可访问的其缓存的位置的链接。

图9示出了根据一个实施方案通过用对存储附件的服务器的链接代替附件来发送电子邮件消息的方法。响应于在设备100检测到的发送按钮上的接触850,如在图8A中所示,电子邮件客户端模块140接收905将包括附件的电子邮件消息发送到发送者信息中包含的接收人的请求。响应于接收该请求,电子邮件客户端模块140确定910包括其附件的电子邮件消息的大小。在另一实施方案中,电子邮件客户端模块运行的邮件应用程序只确定附件的大小。如果大小超过阈值,则电子邮件客户端模块140向云服务器510发送915用于将附件上载(存储)到服务器的请求。响应于从模块140接收到该请求,云服务器510确定附件大小是否超过阈值以及如果大小未超过阈值,则计算在云服务器上的一位置处配置为存储该附件的存储空间。云服务器的这种计算基于各种存储参数,例如,与该请求相关联的用户的存储限制。如果存储空间足够大来存储该附件,则云服务器510将肯定确认发送回电子邮件客户端模块140。肯定确认包括对计算的位置的链接以及该链接的有效性信息。有效性信息可包括在计算的位置上的存储空间截止以及附件不再用于从云服务器下载的日期。

响应于电子邮件客户端模块140从服务器510接收到对上载请求的肯定确认,电子邮件客户端模块140为用户提供将附件上载到云服务器的选项。确认可包括对附件被上载到服务器510上的位置的标引。在一个实施方案中,附件被存储在云存储装置520中。如果来自服务器510的确认为否定,例如,附件大小超过服务器510上的可用的阈值大小或服务器510允许的阈值大小或达到服务器510上的存储限制,则电子邮件客户端模块140为用户提供925取消递送电子邮件消息的选项。其他选项中的这些选项包括在邮件应用程序的应用视图1004中显示的发送选项的表单1010中,如图10A-图10D中所示。在一个实施方案中,如果达到存储限制,服务器510向电子邮件客户端模块140发送有关达到该限制的警告。

图10A和图10B示出了根据一个实施方案的在邮件应用程序的应用视图1004中发送包括附件的电子邮件消息的发送选项的表单1010。发送选项包括“借助云端发送”1012、“无论如何尝试发送”1014和“取消”1016。响应于选择“取消”选项1016,邮件应用程序取消将电子邮件消息递送到指定接收人。一个实施方案包括电子邮件客户端模块140在发送选项中保存先前用户选择的选项。如在图10B中所示,例如,表单1010可包括复选框“不再询问”1018,用户可选择来将当前选择存储在当前选项1012、1014和1016中以应用于未来的电子邮件消息。响应于发送电子邮件消息的随后请求,电子邮件客户端模块140将不为用户提供发送选项1012、1014和1016。

当选择选项“无论如何尝试发送”1014时,发送者的电子邮件客户端模块140识别与电子邮件消息的发送者信息中包含的接收人相关联的电子邮件服务器530。电子邮件服务器530存储并将包括附件的电子邮件消息转发给接收人的电子邮件地址。在识别电子邮件服务器530时,发送者的电子邮件客户端140将电子邮件消息和附件发送到电子邮件服务器530,该电子邮件服务器在电子邮件服务器存储装置540中存储该消息和附件的副本。在接收人的电子邮件客户端模块140接触电子邮件服务器530用于获得电子邮件消息时,电子邮件服务器530从电子邮件服务器存储装置540检索该消息以及附件并且将其传送到接收人的电子邮件客户端模块140。通常,电子邮件服务器对其从发送者的电子邮件客户端模块接受的电子邮件消息(包括任何附件)的大小施加限制。如果电子邮件消息大小超过该限制,则电子邮件服务器拒绝(“退回”)该电子邮件消息,而不存储副本以备接收人稍后检索。在一些情况下,电子邮件服务器向发送者的电子邮件客户端模块发送消息,通知其电子邮件服务器接受的电子邮件消息的最大尺寸。为了避免测试电子邮件服务器大小限制以及冒电子邮件消息退回的风险,电子邮件客户端模块为用户提供分别发送电子邮件消息和附件的选项,使用云服务器510发送附件以及电子邮件服务器530发送除去附件的电子邮件消息。

当选择选项“借助云端发送”1012时,电子邮件客户端模块140在将消息发送到电子邮件服务器530之前,在电子邮件消息中添加930对附件在云服务器510上的位置的链接以及对该电子邮件消息的UI元素。电子邮件客户端模块140可从云服务器的确认消息获得对该位置的标引。另选地,电子邮件客户端模块140可在将附件上载到服务器之后向云服务器510询问该标引或者从云服务器接收该标引。在一个实施方案中,在将电子邮件消息发送到电子邮件服务器530之前,还将附件版本嵌入电子邮件消息中。该版本可包括但不限于,附件的不同格式以及附件的较小尺寸版本,例如附接照片的低分辨率图像。当在接收人处显示电子邮件消息时,除了包括对云服务器510上的附件的位置的链接1128的UI元素之外,附件1122的嵌入版本可视地显示在消息的正文内。

而且,当选择选项“借助云端发送”1012时,电子邮件客户端模块将电子邮件消息和嵌入的链接以及UI元素发送到电子邮件服务器530。响应于发送该电子邮件消息,电子邮件客户端模块140将附件上载935到云服务器上由电子邮件消息中的链接所标引的位置。

图10C和图10D还示出根据一个实施方案的当附件大小超过云服务器提供的阈值时使用云服务器510发送附件的发送选项的表单1010。在该实施方案中,电子邮件客户端模块140从用于上载附件的云服务器510接收否定确认,指示附件的大小超过允许的阈值。另选地,电子邮件客户端模块140确定附件的大小超过云服务器510的指定阈值。“取消”按钮1022(图10C)或“确定”按钮1022(图10D)与消息1020一起显示,该消息警告用户附件的大小以及云服务器510允许的用于发送附件的最大尺寸,例如,“你的消息大小为17.2MB,超过服务器允许的10MB最大容量。”响应于选择取消选项1022,电子邮件客户端模块140运行的邮件应用程序取消将电子邮件消息递送到电子邮件消息的指定接收人。然而,为了发送这种消息,可使用图像大小选择元素834来选择落在阈值以下的不同附件大小。

在接收人的电子邮件客户端模块140从电子邮件服务器530请求寄到接收人的电子邮件地址时,电子邮件客户端模块140从电子邮件服务器530接收该电子邮件消息并且将该接收的电子邮件消息显示给用户。在一个实施方案中,电子邮件客户端模块接收电子邮件消息,该电子邮件消息包括对附件在云服务器510上的位置的、与电子邮件消息相关联的链接,以及该链接的有效性信息。在该实施方案中,不带附件的电子邮件消息存储在与电子邮件服务器530相关联的电子邮件服务器存储装置540中,并且在电子邮件客户端模块140请求时,从存储装置540检索并由服务器530传送到模块140。响应于电子邮件客户端模块140打开具有链接的电子邮件消息的动作,模块使用有效性信息确定该链接是否有效。而且,响应于选择对附件的位置的链接的动作,即,图11B-图11D中的下载手势,以及如果链接有效,则模块140向云服务器510发送检索该附件的请求。模块140前进以从服务器检索附件。响应于检索,模块140更新链接的包括其可视指示的有效性信息以指示附件已从云服务器检索。在一个实施方案中,电子邮件客户端模块将电子邮件消息与更新的有效性信息一起存储并且附件嵌入电子邮件消息内与设备100相关联的指定位置上。

图11A-图11C示出了根据一个实施方案的邮件应用程序显示包括附件的电子邮件消息的应用视图1104,其中附件通过云服务器510发送。如图11A所示,除了来自用户的电子邮件账户的收件箱的电子邮件消息1106A、1106B、1106C、1106D、1106E、1106F、和1106G之外,应用视图1104还显示消息部分1110。在消息部分1110中显示的电子邮件消息1106B可包括发送者信息1112、主题信息1114、附件信息1116和电子邮件1106B的消息正文1118的部分。消息正文1118的显示部分显示了消息文本1120和附件1122的低分辨率图像的嵌入版本。可在滚动手势1124之后,显示包括最初不在应用视图1104中显示的消息正文1118的部分。该滚动手势1124应用于大体上垂直于显示的文本消息的文本行的方向,如图11A中所示。应用该滚动手势在消息部分1110中显示电子邮件消息1106B的其他非显示部分,例如,显示的低分辨率图像的剩余部分以及包括在附件中的其他内联嵌入的低分辨率图像。一旦电子邮件消息1106B的其他部分显示在消息部分1110中,反转滚动手势的方向显示出在当前显示部分之前的消息的部分。

附件信息1116包括UI元素1126,UI元素包括对附件在云服务器510上的位置的链接。显示的UI元素1126示出链接和指示附件从云服务器的下载状态的UI下载元素1128的截止日期。截止日期为开始于云服务器将拒绝来自电子邮件客户端模块用于下载附件的任何请求的日期。UI下载元素1128指示附件在云服务器510上的状态,例如,该附件是否仍可用于下载,该附件是否先前被下载,链接是否截止、或在下载期间电子邮件客户端模块已接收附件的百分比。如图11A中所示,UI下载元素1128指示附件仍可用于下载以及链接未截止。在一个实施方案中,附件信息1116包括有关下载目的地和附件类型的信息。下载目的地为电子邮件客户端模块140将下载的附件存储的位置,例如“相册”。

图11B-图11D示出了根据一些实施方案的在应用视图504中与消息部分1110相关联的下载手势。下载手势由在UI下载元素1128上的接触1130a执行,如图11B所示。在另一实施方案中,接触1130b可为在附件的嵌入版本上,例如,低分辨率图像,如图11B中所示。图11C和图11D示出了当从云服务器510检索的附件包括图像之外的文件,例如便携式文档文件或归档文件或混合文件类型时包括接触1130的另外下载手势。

响应于设备100检测到的具有接触1110的下载手势,电子邮件客户端模块140通过取消标引对附件在云服务器上的位置的链接向云服务器510发送检索附件的请求。电子邮件客户端模块随后从云服务器510检索附件,除非用于该附件的截止日期1126已截止。根据一个实施方案,响应于检索该附件,电子邮件客户端模块更新链接的有效性信息来指示该附件已从云服务器检索。另选地,如果附件仅包括照片,则更新的有效性信息指示该附件仍可用于从云服务器下载,除非截止日期已截止。一旦成功下载该附件,则电子邮件客户端模块140将更新的有效性信息和附件存储在模块140提供的位置处。而且,电子邮件客户端模块140存储与下载的附件相关联的电子邮件消息。当存储电子邮件消息时,模块140通过将附件嵌入内联到存储的电子邮件消息来存储附件。

图12示出了指示附件从云服务器到电子邮件客户端模块本地存储该附件的设备的下载状态的UI下载元素1210的序列1-5。在一个实施方案中,附件包括在下载进程中图像管理模块144从云服务器接收的一个或多个照片。在接收照片时,图像管理模块144将其存储在设备上的指定位置,例如,其他应用程序可访问的“相册”。UI下载元素1210a代表下载进程的开始,空圈的显示指示电子邮件客户端模块还未下载附件。具有视觉上不同于空圈的增大的圆形区段的UI下载元素1210b-1210d指示已下载附件的百分比。在一个实施方案中,填充的圆形区段与整个圆的显示比率与附件的下载百分比成比例。在另一实施方案中,除了UI下载元素之外,还显示UI进度条。在UI下载元素1210e指示已下载整个附件之后,UI下载元素1210e由元素1210f替换来指示如果截止日期还未到则附件仍可用于下载。另选地,UI下载元素1210e由元素(未示出)替换指示已成功下载附件。在一个实施方案中,在成功下载附件之后,UI下载元素变成元素1314,指示附件不再可用于另外的下载,如图13C所示。在接收人的电子邮件客户端模块的另一实施方案中,UI下载元素为静态的并不随施加变化。

图13A-图13C示出了根据一些实施方案的当从云服务器510下载时或附件截止日期之后显示UI元素1310的电子邮件消息更新的邮件应用程序的应用视图1104。如图13A所示,UI元素1310包括文本1312和UI下载元素1314,该UI下载元素指示电子邮件客户端模块140正处于下载附件的进程,而图13B和图13C示出当附件在云服务器上的位置的链接截止时UI元素1310和相应的文本消息1312以及UI下载元素1314。嵌入消息正文中用于附件的任何链接1316,例如,与嵌入的低分辨率图像相关联的链接或代表包括但不限于便携式文档或归档文件的文件的图标,指向下载附件的位置。在截止日期之前先前还未成功下载相应照片或文件的情况下,从电子邮件消息中去除链接1316。

图14A-图14C示出根据一些实施方案的显示用于转发电子邮件消息以及附件和嵌入的UI元素1410的手势的邮件应用程序的应用视图1404。响应于在消息部分1410的回复元素上的接触1420,如图14A中所示,设备100显示用于回复选项的回复表单1422。根据一个实施方案,如图14B中所示,这些回复选项可包括对电子邮件消息1406B所做的以下动作:回复、回复所有、转发、和打印。回复选项不限于这些动作。根据图14C中所示的实施方案,响应于回复表单1422的转发元素上的接触1422,设备100显示用于附件选项的表单1426,该表单可包括对转发电子邮件消息1406B的附件所做的以下动作:包括或不包括。如在编写电子邮件消息时,响应于选择包括附件的接触1428,电子邮件客户端模块140提供发送选项的表单1010用于发送包括附件的电子邮件消息,如图10A和图10B中所示。通过使用云服务器转发电子邮件消息以及附件包含相对于图9和图10A-图10D上述的相同步骤。图15示出用于编写类似于图8B中所示的转发的电子邮件消息的应用程序1504。

图16A-图16C示出了根据一些实施方案的邮件应用程序使用云服务器510显示与附件一起转发的电子邮件消息的应用视图1604。在转发不包括任何新附件的消息的情况下,UI元素1612显示与原始消息的UI元素1510相同的信息。在此情况下,即使在原始附件在云服务器上已截止的情况下,电子邮件客户端服务器140也不发送将原始附件上载到云服务器的请求。在转发的电子邮件消息的新附件的情况下,电子邮件客户端服务器140为用户提供通过云服务器发送附件的选项,如参考图8A、图8B和图9所述。UI元素1618代表新附件的有效性信息,而UI元素1612指代如图16C中所示的原始附件。使用云服务器发送新附件的步骤与参考图9上述的步骤相同。

已经相对于可能的实施方案特别详细描述了本发明。本领域的技术人员应当理解,可实践其他实施方案。首先,部件和变量的特定命名、术语的大写、属性、数据结构或任何其他编程或结构方面不是强制性的或重要的,实施本发明或其特征的机构可以具有不同的名称、格式或协议。而且,本文描述的各种系统部件之间的特别功能划分仅仅是示例性的,并非强制性的;由单个系统部件执行的功能可以转而由多个部件执行,由多个部件执行的功能可以转而由单个部件执行。

上述说明的一些部分展示出有关信息的操作的算法和符号表示方面的特征。这些算法描述和表示是数据处理领域的技术人员所使用的装置,而这些装置也能最有效地将其工作实质传达给该领域的其他技术人员。尽管功能上或逻辑上加以描述,但是这些操作可理解为由计算机程序来实现。而且,还已证明将这些操作布置指代为模块或者功能名称有时是便捷的,而不失一般性。

除非另外特别说明,否则从以上论述中显而易见的是,可以理解,在整个说明书中,使用诸如“确定”或“显示”等术语的论述是指计算机系统或类似的电子计算设备的动作和过程,其可对计算机系统存储器和寄存器或其他此类信息存储、传输或显示设备中表示为物理(电子)量的数据进行操控和转换。

本文公开的实施方案的某些方面包括本文以算法形式描述的过程步骤和指令。应当注意,过程步骤和指令可在软件、固件或硬件中实施,并且将在软件中实施时,该过程步骤和指令可下载驻留在由实时网络操作系统使用的不同平台上并且可进行操作。

本文中所呈现的算法和操作并不固有地与任何特定计算机或其他装置相关。根据本文的教导内容,各种通用系统还可以与程序一起使用,或者可以证明其便于构造用于执行所要求的方法步骤的更专用的装置。用于多种这些系统的所需结构连同等同变型对于本领域技术人员来说是显而易见的。此外,本发明未参照任何特定的编程语言进行描述。应当理解,可以使用多种编程语言实现本文所述的本发明的教导内容,提到的任何具体语言都是为了公开本发明的实现和最优模式而提供的。

本文所公开的实施方案很好适合于在各种拓扑结构上的广泛多样的计算机网络系统。在该领域中,大网络的配置和管理包括通过网络诸如因特网通信耦接到相异计算机和存储设备的存储设备和计算机,

最后,应当指出,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,可以不这样选择以描绘或界定本发明的主题。因此,本文中的公开意在对本发明的范围是示例性的,而非限制性的,本发明的范围由所附权利要求设定。

当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1