CN107660291B - 用于生成并提供智能出发时间提醒的系统和方法 - Google Patents

用于生成并提供智能出发时间提醒的系统和方法 Download PDF

Info

Publication number
CN107660291B
CN107660291B CN201680027951.5A CN201680027951A CN107660291B CN 107660291 B CN107660291 B CN 107660291B CN 201680027951 A CN201680027951 A CN 201680027951A CN 107660291 B CN107660291 B CN 107660291B
Authority
CN
China
Prior art keywords
address
previously
user
electronic device
calendar entry
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.)
Active
Application number
CN201680027951.5A
Other languages
English (en)
Other versions
CN107660291A (zh
Inventor
D·C·格罗斯
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 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 Inc filed Critical Apple Inc
Priority to CN202111420593.3A priority Critical patent/CN114066427A/zh
Priority to CN202111420563.2A priority patent/CN114066426A/zh
Publication of CN107660291A publication Critical patent/CN107660291A/zh
Application granted granted Critical
Publication of CN107660291B publication Critical patent/CN107660291B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/01Input arrangements or combined input and output arrangements for interaction between user and computer
    • G06F3/048Interaction techniques based on graphical user interfaces [GUI]
    • G06F3/0487Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser
    • G06F3/0488Interaction techniques based on graphical user interfaces [GUI] using specific features provided by the input device, e.g. functions controlled by the rotation of a mouse with dual sensing arrangements, or of the nature of the input device, e.g. tap gestures based on pressure sensed by a digitiser using a touch-screen or digitiser, e.g. input of commands through traced gestures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/109Time management, e.g. calendars, reminders, meetings or time accounting
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Tourism & Hospitality (AREA)
  • Quality & Reliability (AREA)
  • Operations Research (AREA)
  • Marketing (AREA)
  • General Business, Economics & Management (AREA)
  • Economics (AREA)
  • Data Mining & Analysis (AREA)
  • General Engineering & Computer Science (AREA)
  • Human Computer Interaction (AREA)
  • User Interface Of Digital Computer (AREA)
  • Navigation (AREA)
  • Telephone Function (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了用于在电子设备上生成并提供智能出发时间提醒的系统和方法。在一个方面,该方法包括:自动而非人工干预地识别包括第一标识符的日历条目(例如,日历条目的与位置相关的标题中的文本,诸如“去做牙科检查”),第一标识符对应于未知的地理位置。该方法还包括自动而非人工干预地检索与第一标识符相关联的先前访问地址(例如,街道地址或街道地址的GPS坐标)。该方法还包括:基于先前访问地址(例如,基于从设备的当前位置到先前访问地址的路线)来自动而非人工干预地确定针对日历条目的出发时间。该方法还包括:自动而非人工干预地使所确定的出发时间与日历条目相关联。

Description

用于生成并提供智能出发时间提醒的系统和方法
技术领域
本文实施方案总体涉及具有触敏显示器的电子设备,更具体地涉及用于生成并提供智能出发时间提醒的系统和方法。
背景技术
具有触敏显示器的手持式电子设备的用户通常创建并接收多个日历条目以帮助他们就即将到来的事件进行提醒。这些日历条目通常包含当相应事件预计在未来一定时间(例如,15分钟、30分钟、1小时等)发生时显示给用户的提醒或提示。用户通常基于在事件之前他们需要的提前时间来选择时间量或者他们简单地选择默认值而不考虑达到事件花多长时间。因此,提醒或提示是简单地基于默认值或基于来自用户的不准确信息和/或过时信息所提供的。另外,对于不包括位置信息的日历条目,提醒或提示不考虑在手持式电子设备上能够访问(并且能够用于创建准确提醒)的有关先前访问地址的信息。
发明内容
因此,需要具有允许用户到事件的开始时间之前有足够长的时间出发并到达目的地的、用于生成并提供智能提醒的更快更有效的方法和界面的电子设备。此类方法和界面任选地补充或替换用于提供通用或默认的出发时间提醒的常规方法。此类方法和界面减少了对用户所造成的认知负担并且产生更有效的人机界面。此外,此类方法和界面有助于通过要求较少数量的触摸输入(例如,通过消除用户为了搜索和检查地址/导航细节而反复与设备交互的需要)来延长触敏显示器的寿命。
通过本文所公开的设备减少或消除了与用于具有触敏表面的电子设备的用户界面相关联的上述缺陷和其他问题。在一些实施方案中,该设备是台式计算机。在一些实施方案中,该设备是便携式的(例如,笔记本电脑、平板电脑或手持设备)。在一些实施方案中,所述设备具有触摸板。在一些实施方案中,该设备具有触敏显示器(也称为“触摸屏”或“触摸屏显示器”)。在一些实施方案中,设备具有图形用户界面(GUI)、一个或多个处理器、存储器、以及被存储在存储器中的用于执行多个功能的一个或多个模块、程序或指令集。在一些实施方案中,用户主要通过触笔和/或手指接触以及触敏表面上的手势来与GUI进行交互。在一些实施方案中,这些功能任选地包括图像编辑、绘图、展示、文字处理、网页创建、盘编辑、电子表格制作、玩游戏、接打电话、视频会议、收发电子邮件、即时消息通信、健身支持、数字摄影、数字视频、网页浏览和数字音乐。用于执行这些功能的可执行指令任选地被包括在被配置用于由一个或多个处理器执行的非暂态计算机可读存储介质或其他计算机程序产品中。
(A1)根据一些实施方案,在具有触敏显示器(图1C中的触摸屏112)的电子设备(例如,图1A中的便携式多功能设备100)处执行一种方法。该方法包括:自动而非人工干预地识别包括第一标识符的日历条目,所述第一标识符对应于未知的地理位置。该方法还包括:自动而非人工干预地检索与第一标识符相关联的先前访问地址。该方法还包括:基于先前访问地址来自动而非人工干预地确定针对日历条目的出发时间。该方法还包括:自动而非人工干预地使所确定的出发时间与日历条目相关联。换句话讲,使用第一标识符对先前访问地址进行定位,然后基于(i)与先前访问地址相关联的项目(例如,不同的日历条目、文本消息、电子邮件消息等)和(ii)日历条目中存在第一标识符将未知的地理位置决定(或确定)为先前访问地址。
(A2)在根据A1所述方法的一些实施方案中,该方法还包括在电子设备上将所确定的针对日历条目的出发时间的提醒提供给用户。
(A3)在根据A2所述方法的一些实施方案中,日历条目与默认提醒相关联,该默认提醒与提供给用户的所确定的针对日历条目的出发时间的提醒不同。
(A4)在根据A2-A3中任一项所述方法的一些实施方案中,提供提醒包括根据确定出发时间在当前时间的预先确定的时间量内来提供所述提醒。
(A5)在根据A1-A4中任一项所述方法的一些实施方案中,确定出发时间包括:(i)确定对应于电子设备的当前地址,(ii)确定从当前地址到先前访问地址的路线,以及(iii)基于完成路线的时间量确定出发时间使得用户将在与日历条目相关联的开始时间的预先确定量内到达先前访问地址。
(A6)在根据A5所述方法的一些实施方案中,路线是根据与电子设备的用户相关联的路线选择偏好从自当前地址到先前访问地址的多条可用路线中选择的。
(A7)在根据A4-A6中任一项所述方法的一些实施方案中,使所确定的出发时间与日历条目相关联包括生成提醒并更新日历条目以包括所生成的提醒。
(A8)在根据A1-A7中任一项所述方法的一些实施方案中,该方法还包括:在确定出发时间之前,在触敏显示器上从电子设备的用户接收先前访问地址对应于日历条目的确认。在接收到确认之后,该方法包括:确定出发时间。
(A9)在根据A1-A8中任一项所述方法的一些实施方案中,检索先前访问地址包括从与电子设备的用户相关联的先前访问地址的数据库中检索先前访问地址。
(A10)在根据A9所述方法的一些实施方案中,先前访问地址的数据库中的先前访问地址对应于电子设备的用户先前访问过的地址。
(A11)在根据A1-A8中任一项所述方法的一些实施方案中,检索先前访问地址包括使用第一标识符在先前访问地址的数据库中执行查找。
(A12)在根据A1-A11中任一项所述方法的一些实施方案中,该方法还包括:在日历条目创建过程期间扫描多个新的日历条目。根据确定第一标识符包括在多个已扫描的新的日历条目中的相应的新的日历条目中,该方法包括:向电子设备的用户呈现先前访问地址以用于将其包括在所述相应的新的日历条目中。
(A13)在根据A1-A12中任一项所述方法的一些实施方案中,该方法还包括:确定用户是否已到达先前访问地址(例如,在根据接收到以上A2中所述的提供的提醒,确定用户正前往先前访问地址之后)。根据确定用户已到达先前访问地址,该方法包括:更新与先前访问地址相关联的位置信息。在一些实施方案中,确定用户是否已到达先前访问地址在提供提醒之后(或响应于提供提醒)执行。
(A14)在另一方面,提供了一种电子设备。在一些实施方案中,电子设备包括:触敏显示器、一个或多个处理器和存储一个或多个程序的存储器,该一个或多个程序当由一个或多个处理器执行时使得电子设备执行根据A1-A13中任一项所述的方法。
(A15)在另一方面,提供了一种电子设备,该电子设备包括:触敏显示器和用于执行根据A1-A13中任一项所述方法的装置。
(A16)在另一方面,提供了一种非暂态计算机可读存储介质。该非暂态计算机可读存储介质存储可执行指令,所述可执行指令在被具有触敏显示器的电子设备执行时使得所述电子设备执行根据A1-A13中任一项所述的方法。
(A17)在又一个方面,提供了一种具有触敏显示器的电子设备上的图形用户界面。在一些实施方案中,图形用户界面包括根据A1-A13中任一项所述方法所显示的用户界面。
(A18)在另一个方面,提供了一种电子设备,该电子设备包括显示单元(例如,图8中的显示单元801)、触敏表面单元(例如,图8中的触敏表面单元803)和与显示单元801和触敏表面单元803耦接的处理单元(例如,图8中的处理单元805)。在一些实施方案中,显示单元和触敏表面单元集成在单个触敏显示器单元(本文中也称为触敏显示器)中。在一些实施方案中,处理单元包括识别单元(例如,识别单元807)、检索单元(例如,检索单元809)、确定单元(例如,确定单元811)、关联单元(例如,关联单元813)、提供单元(例如,提供单元815)、选择单元(例如,选择单元817)、生成单元(例如,生成单元819)、接收单元(例如,接收单元821)、执行单元(例如,执行单元823)、扫描单元(例如,扫描单元825)、呈现单元(例如,呈现单元827)和更新单元(例如,更新单元829)。处理单元被配置为:自动而非人工干预地识别(例如,利用识别单元807)包括第一标识符的日历条目,该第一标识符对应于未知的地理位置;自动而非人工干预地检索(例如,利用检索单元809)与第一标识符相关联的先前访问地址;基于先前访问地址来自动而非人工干预地确定(例如,利用确定单元811)针对日历条目的出发时间;并且自动而非人工干预地使所确定出发时间与日历条目相关联(例如,利用关联单元813)。
(A19)在根据A18所述电子设备的一些实施方案中,处理单元被进一步配置为:在电子设备上向用户提供(例如,利用提供单元815和(或结合于)显示单元801)所确定的针对日历条目的出发时间的提醒。
(A20)在根据A19所述电子设备的一些实施方案中,日历条目与默认提醒相关联,该默认提醒与提供给用户的所确定的针对日历条目出发时间的提醒不同。
(A21)在根据A19-A20中任一项所述电子设备的一些实施方案中,提供提醒包括根据确定(例如,由确定单元811)出发时间在当前时间的预先确定的时间量内来提供(例如,利用提供单元815和(或结合于)显示单元801)提醒。
(A22)在根据A18-A21中任一项所述电子设备的一些实施方案中,确定出发时间包括:(i)确定(例如,利用确定单元811)对应于电子设备的当前地址,(ii)确定(例如,利用确定单元811)从当前地址到先前访问地址的路线,以及(iii)基于完成路线的时间量来确定(例如,利用确定单元811)出发时间,使得用户将在与日历条目相关联的开始时间的预先确定量内到达先前访问地址。
(A23)在根据A22所述电子设备的一些实施方案中,路线是根据与设备的用户相关联的路线选择偏好从自当前地址到先前访问地址的多条可用路线中选择(例如,利用选择单元817)的。
(A24)在根据A19-A23中任一项所述电子设备的一些实施方案中,使确定的出发时间与日历条目相关联包括生成(例如,利用生成单元819)提醒并更新日历条目以包括生成的提醒。
(A25)在根据A18-A24中任一项所述电子设备的一些实施方案中,处理单元被进一步配置为:在确定出发时间之前,在触敏显示器单元上从电子设备的用户接收(例如,利用接收单元821)先前访问地址对应于日历条目的确认。在接收到确认之后,处理单元被配置为确定(例如,利用确定单元811)出发时间。
(A26)在根据A18-A25中任一项所述电子设备的一些实施方案中,检索先前访问地址包括从与电子设备的用户相关联的先前访问地址的数据库检索(例如,利用检索单元809)先前访问地址。
(A27)在根据A26所述电子设备的一些实施方案中,先前访问地址的数据库中的先前访问地址对应于电子设备的用户先前访问过的地址。
(A28)在根据A26-A27中任一项所述电子设备的一些实施方案中,检索先前访问地址包括利用第一标识符在先前访问地址的数据库中执行(例如,利用执行单元823)查找。
(A29)在根据A18-A28中任一项所述电子设备的一些实施方案中,处理单元被进一步配置为在日历条目创建过程期间扫描(例如,利用扫描单元825)多个新的日历条目。根据确定(例如,由确定单元811)第一标识符包括在多个已扫描的新日历条目中相应的新日历条目中,处理单元被配置为向电子设备的用户呈现(例如,利用呈现单元827和(或结合于)显示单元801)先前访问地址以将其包括到相应的新日历条目中。
(A30)在根据A18-A29中任一项所述电子设备的一些实施方案中,处理单元被进一步配置为确定(例如,利用确定单元811)用户是否已到达先前访问地址。根据确定(例如,由确定单元811)用户已到达先前访问地址,处理单元被配置为更新(例如,利用更新单元829)与先前访问地址相关联的位置信息。在一些实施方案中,确定用户是否已到达先前访问地址在提供提醒之后(或响应于提供提醒)执行。
因此,具有显示器、触敏表面和任选地用于检测与触敏表面的接触强度的一个或多个传感器的电子设备被提供有更快、更有效的方法和界面以用于生成并提供智能出发时间提醒,从而增大此类设备的效能、效率和用户满意度。此类方法和界面可补充或替换用于提供通用或默认提醒的常规方法。
需注意,上文所述各种实施方案可与本文所述任何其他实施方案相结合。说明书中所描述的特征和优势并非全面的,并且具体地,鉴于附图、说明书和权利要求书,许多附加特征和优势对本领域的普通技术人员来说将是显而易见的。此外,应当指出,出于可读性和指导性目的,在原则上选择了本说明书中使用的语言,并且可以不这样选择以描绘或界定本发明的主题。
附图说明
为了更好地理解各种所述实施方案,应结合以下附图参考下文实施方案部分的具体实施方式,其中类似的附图标号在所有附图中指示对应的部分。
图1A是根据一些实施方案的具有触敏显示器的计算设备的高级框图。
图1B是根据一些实施方案的用于事件处理的示例性部件的框图。
图1C是根据一些实施方案的具有触敏显示器的便携式多功能设备的示意图。
图1D是根据一些实施方案的用于示出具有与显示器分开的触敏表面的计算设备的示意图。
图2是根据一些实施方案的用于示出应用程序的菜单的用户界面的触摸屏的示意图。
图3A-图3B是根据一些实施方案的示出用于存储日历条目的数据结构的框图。
图4A-图4B是根据一些实施方案的示出用于存储先前访问地址的数据结构的框图。
图5为示出根据一些实施方案的示例性出发时间提醒生成系统的框图。
图6为示出根据一些实施方案的生成并提供智能出发时间提醒的方法的流程图。
图7A-图7F为根据一些实施方案的用于示出生成并提供智能出发时间提醒的触敏显示器的示意图。
图8为根据一些实施方案的电子设备的功能框图。
具体实施方式
如上文所述和下文更详细论述的,需要具有用于生成并提供智能出发时间提醒的更快更有效方法和界面的电子设备。具体地,需要基于先前访问地址生成并提供出发时间提醒(例如,如果日历条目包含带有文本“看牙医”标题,则可基于对应于牙医的先前访问地址生成出发时间提醒)。本文所公开的为用于解决这些需求的新型方法和界面。此类方法和界面任选地补充或替代用于生成出发时间提醒的常规方法。此类方法和界面通过允许用户快速创建具有最小量的文本输入的日历条目然后仅基于该最小量的文本输入自动非人工干预地确定对应于日历条目的地理目的地,使用于生成出发时间提醒的过程简单化。因此,用户能够继续在电子设备上快速创建日历条目,并且通过利用本文所公开的方法和界面,电子设备无缝创建针对日历条目的智能出发时间提醒。这样,此类方法和界面有助于确保用户及时到达事件。因此,本文所公开的方法和界面减少了认知负担和用户创建日历条目必须花费的时间,从而创建更有效的人机界面。对于电池供电的电子设备,更快更有效地生成并提供智能出发时间提醒既节省电力又增加了电池两次充电之间的时间间隔(例如,通过自动执行通常需要大量的用户交互的任务,诸如将先前访问地址自动识别为在没有特定位置细节的情况下创建的日历条目的目的地)。
下面,图1A-图1B和图2提供了对示例性设备的描述。图8提供了示例性电子设备的功能框图。图3A-图3B和图4A-图4B为用于生成并提供智能出发时间提醒的示例性数据结构(这些数据结构用于下文参考图6所述的方法中)的框图。图5为示出用于生成并提供智能出发时间提醒的示例性系统(该示例性系统用于下文参考图6所述的方法中)的框图。图5为示出生成并提供智能出发时间提醒的方法的流程图。图7A-7F为用于示出生成并提供智能出发时间提醒的示例性用户界面的触敏显示器的图示。图3A-3B、4A-4B、5和7A-7E用于示出图5的方法和/或过程。
现在将详细地参考实施方案,这些实施方案的示例在附图中示出。下面的详细描述中示出许多具体细节,以便提供对各种所描述的实施方案的充分理解。但是,对本领域的普通技术人员将显而易见的是,各种所描述的实施方案可以在没有这些具体细节的情况下被实践。在其他情况下,没有详细地描述众所周知的方法、过程、部件、电路和网络,从而不会不必要地使实施方案的各个方面晦涩难懂。
还将理解的是,虽然在一些情况下,术语“第一”、“第二”等在本文中用于描述各种元件,但是这些元件不应受到这些术语限制。这些术语只是用于将一个元件与另一元件区分开。例如,第一接触可被命名为第二接触,并且类似地,第二接触可被命名为第一接触,而不脱离各种所描述的实施方案的范围。第一接触和第二接触两者都是接触,但是它们不是同一接触。
在本文中对各种所描述的实施方案的描述中所使用的术语只是为了描述特定实施方案的目的,而并非旨在进行限制。如在对各种所述实施方案中的描述和所附权利要求书中所使用的那样,单数形式“一个”(“a”,“an”)和“该”旨在也包括复数形式,除非上下文另外明确地指示。还将理解的是,本文中所使用的术语“和/或”是指并且涵盖相关联地列出的项目中的一个或多个项目的任何和全部可能的组合。还将理解的是,术语“包括”和/或“包含”当在本说明书中使用时是指定存在所陈述的特征、整数、步骤、操作、元素和/或部件,但是并不排除存在或添加一个或多个其它特征、整数、步骤、操作、元素、部件和/或其分组。
如本文中所使用,根据上下文,术语“如果”任选地被解释为意思是“当……时”或“在……时”或“响应于确定”或“响应于检测”。类似地,根据上下文,短语“如果确定……”或“如果检测到[所陈述的条件或事件]”任选地被解释为意思是“在确定……时”或“响应于确定……”或“在检测到[所陈述的条件或事件]时”或“响应于检测到[所陈述的条件或事件]”。
本文的公开可互换地涉及检测位于触敏显示器的特定用户界面元素或特定部分之上、之处、上方、顶部或大体上位于其内的触摸输入。如本文所用,在特定用户界面元素“处”所检测到的触摸输入也可根据上下文在该同一用户界面元素“上”、“上方”、“顶部”或“大体上内部”检测到。在一些实施方案中并且如下文更详细论述的,电子设备的用户将用于检测触摸输入的期望灵敏度水平配置为(例如,用户可决定(并配置电子设备操作)触摸输入只应在触摸输入完全位于用户界面元素内的情况下被检测到)。
本文描述了电子设备、此类设备的用户界面和使用此类设备的相关联的过程的实施方案。在一些实施方案中,该设备为还包含其他功能诸如PDA和/或音乐播放器功能的便携式通信设备,诸如移动电话。便携式多功能设备的示例性实施方案包括但不限于来自APPLE Inc.(Cupertino,California)的
Figure BDA0001467369640000101
设备、IPOD
Figure BDA0001467369640000102
设备、和
Figure BDA0001467369640000103
设备。任选地使用其他便携式电子设备,诸如具有触敏表面(例如,触敏显示器和/或触摸板)的膝上型电脑或平板电脑。还应当理解的是,在一些实施方案中,该设备并非便携式通信设备,而是具有触敏表面(例如,触敏显示器和/或触摸板)的台式计算机。
在下面的讨论中,描述了一种包括显示器和触敏表面的电子设备。然而,应当理解,该电子设备任选地包括一个或多个其他物理用户界面设备,诸如物理键盘、鼠标和/或操纵杆。
该设备通常支持各种应用程序,诸如以下应用程序中的一个或多个应用程序:绘图应用程序、呈现应用程序、文字处理应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、游戏应用程序、电话应用程序、视频会议应用程序、电子邮件应用程序、即时消息应用程序、健身应用程序、照片管理应用程序、数字相机应用程序、数字摄像机应用程序、web浏览应用程序、数字音乐播放器应用程序和/或数字视频播放器应用程序。
在设备上执行的各种应用程序任选地使用至少一个通用的物理用户界面设备,诸如触敏表面。触敏表面的一种或多种功能以及被显示在设备上的对应信息任选地对于不同应用程序被调整和/或变化,和/或在相应应用程序内被调整和/或变化。这样,设备的共用物理架构(诸如触敏表面)任选地利用对于用户而言直观且清楚的用户界面来支持各种应用程序。
现在关注具有触敏显示器的便携式电子设备的实施方案。图1A为根据一些实施方案的示出具有触敏显示器112的便携式多功能设备100(本文中也可互换地称为电子设备100或设备100)的框图。触敏显示器112有时为了方便被叫做“触摸屏”,并且有时可被称为或被叫做触敏显示系统。设备100包括存储器102(其任选地包括一个或多个计算机可读存储介质)、控制器120、一个或多个处理单元(CPU)122、外围设备接口118、RF电路108、音频电路110、扬声器111、麦克风113、输入/输出(I/O)子系统106、其他输入或控制设备116和外部端口124。设备100任选地包括一个或多个光学传感器164。设备100任选地包括用于检测设备100上的接触的强度的一个或多个强度传感器165(例如,触敏表面,诸如设备100的触敏显示系统112)。设备100任选地包括用于在设备100上生成触觉输出的一个或多个触觉输出发生器167(例如在触敏表面诸如设备100的触敏显示系统112或设备100的触摸板上生成触觉输出)。这些部件任选地通过一个或多个通信总线或信号线103进行通信。
如在本说明书和权利要求书中所使用,术语触敏表面上的接触的“强度”是指触敏表面上的接触(例如,手指接触)的力或压力(每单位面积的力),或是指触敏表面上的接触的力或压力的替代物(代用物)。接触的强度具有值范围,该值范围包括至少四个不同的值并且更典型地包括数百个不同的值(例如至少256个)。接触的强度任选地使用各种方法和各种传感器或传感器的组合来确定(或测量)。例如,在触敏表面下方或相邻于触敏表面的一个或多个力传感器任选地用于测量触敏表面上的不同点处的力。在一些具体实施中,来自多个力传感器的力测量被合并(例如,加权平均),以确定估计的接触力。类似地,触笔的压敏顶端任选地用于确定触笔在触敏表面上的压力。另选地,在触敏表面上检测到的接触区域的大小和/或其变化、接触附近的触敏表面的电容和/或其变化以及/或者接触附近的触敏表面的电阻和/或其变化任选地被用作触敏表面上的接触的力或压力的替代物。在一些具体实施中,接触力或压力的替代物测量直接用于确定是否已经超过强度阈值(例如,强度阈值以对应于替代物测量的单位来描述)。在一些具体实施中,接触力或压力的代替物测量被转换成估计的力或压力,并且估计的力或压力用于确定是否已超过强度阈值(例如,强度阈值是以压力的单位测量的压力阈值)。
如本说明书和权利要求书中所使用的,术语“触觉输出”是指将由用户利用用户的触感检测到的设备相对于设备的先前位置的物理位移、设备的部件(例如,触敏表面)相对于设备的另一个部件(例如,外壳)的物理位移、或部件相对于设备的质心的位移。例如,在设备或设备的部件与用户对触摸敏感的表面(例如,手指、手掌或用户手部的其他部分)接触的情况下,通过物理位移生成的触觉输出将由用户解释为触感,该触感与设备或设备的部件的物理特征的所感知的变化对应。例如,触敏表面(例如,触敏显示器或触控板)的移动任选地由用户解释为对物理致动按钮的“按下点击”或“松开点击”。在一些情况下,用户将感觉到触感,诸如“按下点击”或“松开点击”,即使在通过用户的移动而物理地被按压(例如,被移位)的与触敏表面相关联的物理致动按钮没有移动时。作为另一个示例,即使在触敏表面的光滑度无变化时,触敏表面的移动也会任选地由用户解释为或感测为触敏表面的“粗糙度”。虽然由用户对触摸的此类解释将受到用户的个体化感官知觉的限制,但是有许多触摸的感官知觉是大多数用户共有的。因此,当触觉输出被描述为与用户的特定感官知觉(例如,“松开点击”、“按下点击”、“粗糙度”)对应时,除非另外陈述,否则所生成的触觉输出与设备或其部件的物理位移对应,该物理位移将会生成典型(或普通)用户的所描述的感官知觉。
应当理解,设备100仅是便携式多功能设备的一个示例,并且设备100任选地具有比所示出的更多或更少的部件,任选地组合两个或更多个部件,或者任选地具有这些部件的不同配置或布置。图1A中所示的各种部件以硬件、软件、或硬件与软件两者的组合来实现,包括一个或多个信号处理和/或专用集成电路。
存储器102任选地包括高速随机存取存储器(例如,DRAM、SRAM、DDR RAM或其他随机存取固态存储器设备),并且还任选地包括非易失性存储器诸如一个或多个磁盘存储设备、闪存存储器设备、或其他非易失性固态存储器设备。存储器102任选地包括远离一个或多个处理器122定位的一个或多个存储设备。设备100的其他部件诸如,CPU 122和外围设备接口118对存储器102的访问任选地由控制器120来控制。
外围设备接口118可用于将设备的输入外围设备和输出外围设备耦接到CPU 122和存储器102。一个或多个处理器122运行或执行存储在存储器102中的各种软件程序和/或指令集,以执行设备100的各种功能并处理数据。
在一些实施方案中,外围设备接口118、CPU 122和控制器120任选地在单个芯片诸如芯片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)(例如,IEEE802.1l a、IEEE 802.1lb、IEEE 802.1l g和/或IEEE 802.1ln)。
音频电路110、扬声器111和麦克风113提供用户与设备100之间的音频接口。音频电路110从外围设备接口118接收音频数据,将音频数据转换成电信号,并将该电信号传输至扬声器111。扬声器111将电信号转换为人类可听的声波。音频电路110还接收由麦克风113根据声波转换的电信号。音频电路110将电信号转换为音频数据并将音频数据传输到外围设备接口118以用于处理。音频数据任选地由外围设备接口118检索自和/或传输至存储器102和/或RF电路108。在一些实施方案中,音频电路110还包括耳麦插孔。耳麦插孔提供音频电路110和可移除的音频输入/输出外围设备之间的接口,该可移除的音频输入/输出外围设备诸如仅输出的耳机或者具有输出(例如,单耳耳机或双耳耳机)和输入(例如,麦克风)两者的耳麦。
I/O子系统106将设备100上的输入/输出外围设备诸如触摸屏112和其他输入控制设备116连接到外围设备接口118。I/O子系统106任选地包括显示控制器156、光学传感器控制器158、强度传感器控制器159、触觉反馈控制器161和用于其他输入或控制设备的一个或多个输入控制器160。该一个或多个输入控制器160从其他输入或控制设备116接收电信号/发送电信号到其他输入或控制设备116。其他输入控制设备116任选地包括物理按钮(例如,下压按钮、摇臂按钮等)、拨号盘、滑动开关、操纵杆、点击轮等。在一些另选的实施方案中,一个或多个输入控制器160任选地耦接至以下各项中的任一者(或不耦接至以下各项中的任一者):键盘、红外线端口、USB端口、以及指针设备诸如鼠标。该一个或多个按钮可任选地包括用于扬声器111和/或麦克风113的音量控制的增大/减小按钮。该一个或多个按钮可任选地包括下压按钮。
触敏显示器112提供设备和用户之间的输入接口和输出接口。显示控制器156从触摸屏112接收电信号和/或将电信号发送至触摸屏112。触摸屏112向用户显示视觉输出。视觉输出任选地包括图形、文本、图标、视频和它们的任何组合(统称为“图形”)。在一些实施方案中,一些视觉输出或全部的视觉输出对应于用户界面对象。
触摸屏112具有基于触觉和/或触感接触来接受来自用户的输入的触敏表面、传感器、或传感器组。触摸屏112和显示控制器156(与存储器102中的任何相关联的模块和/或指令集一起)检测触摸屏112上的接触(和该接触的任何移动或中断),并且将所检测到的接触转换为与被显示在触摸屏112上的用户界面对象(例如,一个或多个软键、图标、网页或图像)的交互。在一个示例性实施方案中,触摸屏112和用户之间的接触点对应于用户手指下方的区域。
触摸屏112任选地使用LCD(液晶显示器)技术、LPD(发光聚合物显示器)技术、LED(发光二极管)技术或OLED(有机发光二极管)技术,但是在其他实施方案中使用其他显示技术。触摸屏112和显示控制器156任选地使用目前已知或以后将开发的多种触摸感测技术中的任何技术以及其他接近传感器阵列或用于确定与触摸屏112接触的一个或多个点的其他元素来检测接触及其任何移动或中断,该多种触摸感测技术包括但不限于电容性的、电阻性的、红外的和表面声波技术。在一个示例性实施方案中,使用投射式互电容感测技术,诸如从APPLE Inc.(Cupertino,California)的
Figure BDA0001467369640000141
Figure BDA0001467369640000142
中发现的技术。
触摸屏112任选地具有超过400dpi的视频分辨率。在一些实施方案中,触摸屏112具有至少600dpi的视频分辨率。在其他实施方案中,触摸屏112具有至少1000dpi的视频分辨率。用户任选地使用任何合适的物体或手指,诸如触笔、手指,来与触摸屏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、出发确定模块163(任选地包括先前访问地址402、日历条目数据结构302、目的地预测模块163-1、路线确定模块163-2和/或出发提醒模块163-3中的一者或多者),如图1A所示。设备/全局内部状态157包括以下各项中的一者或多者:活动应用程序状态,该活动应用程序状态用于指示哪些应用程序(如果有的话)当前是活动的;显示状态,该显示状态用于指示什么应用程序、视图或其他信息占据触敏显示器112的各个区域;传感器状态,该传感器状态包括从设备的各个传感器和输入控制设备116获得的信息;和关于设备位置和/或姿态的位置信息(即,设备的取向)。
操作系统126(例如,Darwin、RTXC、LINUX、UNIX、OS X、WINDOWS、或嵌入式操作系统诸如VxWorks)包括用于控制和管理一般系统任务(例如,存储器管理、存储设备控制、电力管理等)的各种软件部件和/或驱动器,并且有利于各种硬件和软件部件之间的通信。
通信模块128促进通过一个或多个外部端口124来与其他设备进行通信,并且还包括用于处理由RF电路108和/或外部端口124所接收的数据的各种软件部件。外部端口124(例如,通用串行总线(USB)、火线等)适于直接耦接到其他设备或者间接地通过网络(例如,互联网、无线LAN等)进行耦接。在一些实施方案中,外部端口为与用于来自APPLE Inc的IPOD设备的一些实施方案上的30针脚连接器相同或类似和/或兼容的多引脚(例如,30针脚)连接器。在其它实施方案中,外部端口为与用于来自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作为图片/视频元数据,以及提供至提供基于位置的服务诸如天气桌面小程序、当地黄页桌面小程序、和地图/导航桌面小程序的应用程序)。
应用程序(“app”)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;
·搜索模块151;
·视频和音乐播放器模块152,任选地由视频播放器模块和音乐播放器模块构成;
·记事本模块153;
·地图模块154;和/或
·在线视频模块155。
任选地存储在存储器102中的其他应用程序136的示例包括其他文字处理应用程序、其他图像编辑应用程序、绘图应用程序、呈现应用程序、网站创建应用程序、盘编辑应用程序、电子表格应用程序、支持JAVA的应用程序、加密、数字权益管理、语音识别、语音复制、以及用于制作用户创建的桌面小程序149-6的桌面小程序创建器模块。
结合触摸屏112、显示控制器156、接触模块130、图形模块132和文本输入模块134,联系人模块137任选地用于管理通讯录或联系人列表(例如,存储在存储器102中的联系人模块137中),包括:将一个或多个姓名添加至通讯录;从通讯录中删除一个或多个姓名;将一个或多个电话号码、一个或多个电子邮件地址、一个或多个物理地址或其他信息与姓名关联;将图像与姓名关联;对姓名进行分类和排序;提供电话号码或电子邮件地址以发起和/或促进通过电话模块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和视频和音乐播放器模块152,健身模块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,桌面小程序创建器模块(未示出)任选地被用户用来创建桌面小程序(例如,将网页的用户指定部分转到桌面小程序中)。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132和文本输入模块134,搜索模块151包括用于根据用户指令来搜索存储器102中的匹配一个或多个搜索条件(例如,一个或多个用户指定的搜索词)的文本、音乐、声音、图像、视频和/或其他文件的可执行指令。
结合触摸屏112、显示系统控制器156、接触模块130、图形模块132、音频电路110、扬声器111、RF电路108和浏览器模块147,视频和音乐播放器模块152包括源于允许用户下载和回放以一种或多种文件格式(诸如MP3或AAC文件)存储的所记录的音乐和其他声音文件的可执行指令,以及显示、呈现或以其他方式回放视频(例如,在触摸屏112上或在经由外部端口124连接的外部显示器上)的可执行指令。在一些实施方案中,设备100任选地包括MP3播放器诸如来自Apple Inc.的IPOD的功能性。
结合触摸屏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用于发送至特定在线视频的链接。
如图1A所示,便携式多功能设备100还包括用于在设备100上协调出发确定操作(例如,从先前访问地址402或日历条目数据结构302中检索数据以及使用检索数据来创建出发时间提醒)的出发确定模块163。出发确定模块163任选地包括以下模块(或指令集)或者其子集或超集:
·先前访问地址402,该先前访问地址用于存储有关设备100的用户先前已访问过的地址的信息(或对应于地址的GPS坐标);
·日历条目数据结构302,该日历条目数据结构用于存储有关与设备100的用户相关联的日历条目的信息;
·目的地预测模块163-1;
·路线确定模块163-2;和
·出发提醒模块163-3。
结合GPS模块135、操作系统126、I/O子系统106、先前访问地址402、日历条目数据结构302、地图模块154和日历模块148,目的地预测模块163-1包括用于扫描日历条目(例如,存储于日历条目数据结构302中的一个或多个记录)并基于先前访问地址(例如,存储于先前访问地址402中的先前访问过的地址)预测针对相应日历条目的目的地的可执行指令。
结合GPS模块135、操作系统126、I/O子系统106、先前访问地址402、日历条目数据结构302、地图模块154和日历模块148,路线确定模块163-2包括用于确定到特定目的地的一条或多条可能路线(例如,步行、骑单车、驾车、使用公共交通工具等)的可执行指令。
结合GPS模块135、操作系统126、I/O子系统106、先前访问地址402、日历条目数据结构302、地图模块154和日历模块148,出发提醒模块163-3包括用于向设备100的用户提供是时候动身进行即将到来的事件的提醒(例如,图7B中示出具有示例性提醒的示例性用户界面对象702)的可执行指令。
上述所识别的模块和应用程序中的每个模块和应用程序对应于用于执行上述一种或多种功能以及在本专利申请中所描述的方法(例如,本文中所描述的计算机实现的方法和其他信息处理方法)的一组可执行指令。这些模块(即,指令集)不必以独立的软件程序、过程或模块实现,因此这些模块的各种子集任选地在各种实施方案中组合或以其他方式重新布置。在一些实施方案中,存储器102任选地存储上述模块和数据结构的子集。此外,存储器102任选地存储上面未描述的附加模块和数据结构。
在一些实施方案中,设备100是该设备上的预定义的一组功能的操作唯一地通过触摸屏和/或触控板来执行的设备。通过使用触摸屏和/或触控板作为用于设备100的操作的主要输入控制设备,任选地减少设备100上的物理输入控制设备(诸如下压按钮、拨号盘等等)的数量。
唯一地通过触摸屏和/或触控板执行的该预定义的一组功能任选地包括在用户界面之间进行导航。在一些实施方案中,触控板在被用户触摸时将设备100从被显示在设备100上的任何用户界面导航到主菜单、home菜单或根菜单。在此类实施方案中,使用触控板来实现“菜单按钮”。在一些其他实施方案中,菜单按钮是物理下压按钮或者其他物理输入控制设备,而不是触摸板。
图1B是示出了根据一些实施方案用于事件处理的示例性部件的框图。在一些实施方案中,存储器102(在图1A中)包括事件分类器170(例如,在操作系统126中)和从便携式多功能设备100(图1A)的应用程序136(例如,通过应用程序136存储在存储器102中的前述应用程序中的任一者)中选出的相应的应用程序136-1。
事件分类器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的信息。
在一些实施方案中,事件定义186包括对用于相应用户界面对象的事件的定义。在一些实施方案中,事件比较器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中所使用的电话号码进行更新,或者对视频或音乐播放器模块152中所使用的视频文件进行存储。在一些实施方案中,对象更新器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的其他形式的用户输入,并不是所有用户输入都是在触摸屏上发起的。例如,任选地结合单次或多次键盘按压或保持的鼠标移动和鼠标按钮按压;触摸板上的接触移动,诸如轻击、拖动、滚动等;触笔输入;设备的移动;口头指令;所检测到的眼睛移动;生物特征输入;和/或任选地被用作与用于限定要识别的事件的子事件对应的输入的它们的任意组合。
图1C是根据一些实施方案的具有触敏显示器(例如,触摸屏112)的便携式多功能设备(例如,便携式多功能设备100)的示意图。在一些实施方案中,以及下文其他所描述的,用户可通过例如使用一个或多个手指或一个或多个触笔在屏幕上做手势来选择触敏显示器上所显示的一个或多个图形。在一些实施方案中,当用户中断与一个或多个图形的接触时(例如,通过将手指抬离屏幕),将会发生对一个或多个图形的选择。在一些实施方案中,手势任选地包括一次或多次轻击手势(例如,屏幕上的一系列触摸之后抬离)、一次或多次轻扫手势(在沿屏幕表面的手势期间的连续接触,例如从左向右、从右向左、向上和/或向下)和/或已与设备100发生接触的手指的滚动(例如,从右向左、从左向右、向上和/或向下)。在一些具体实施中或在一些情况下,不经意地与图形接触不会选择图形。例如,当用于启动应用程序的手势是轻击手势时,在应用程序示能表示(例如,图标)上方扫动的轻扫手势任选地不会启动(例如,打开)对应应用程序。
设备100任选地还包括一个或多个物理按钮,诸如“home”按钮、或菜单按钮204。如前所述,菜单按钮204任选地用于导航到任选地在设备100上被执行的一组应用程序中的任何应用程序136。另选地,在一些实施方案中,菜单按钮被实现为在触摸屏112上显示的GUI中的软键。
在一个实施方案中,设备100包括触摸屏112、菜单按钮204、用于使设备通电/断电和锁定设备的下压按钮206、音量调节按钮208、用户身份模块(SIM)卡槽210、耳麦插孔212和对接/充电外部端口124。下压按钮206被任选地用于:通过按下按钮并使按钮在下压状态保持预先确定的时间间隔来使设备通电/断电;通过按下按钮并在经过预先确定的时间间隔之前释放按钮来锁定设备;和/或对设备进行解锁或发起解锁过程。在另选的实施方案中,设备100还通过麦克风113来接受用于激活或去激活某些功能的语音输入。设备100还任选地包括用于检测触摸屏112上的接触强度的一个或多个接触强度传感器165,和/或用于为设备100的用户生成触觉输出的一个或多个触觉输出发生器167。
图1D为用于示出具有与显示器194(例如,触摸屏112)分开的触敏表面195(例如,平板电脑或触摸板)的设备(例如,图1A的设备100)上的用户界面的示意图。在一些实施方案中,触敏表面195包括用于检测触敏表面195上的接触强度的一个或多个接触强度传感器(例如,接触强度传感器359中的一个或多个接触强度传感器),和/或用于为触敏表面195的用户生成触觉输出的一个或多个触觉输出发生器357。
尽管将参考触摸屏112(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器分开的触敏表面上的输入,如图1D中所示。在一些实施方案中,触敏表面(例如,图1D中的195)具有与显示器(例如,194)上的主轴(例如,图1D中的198)对应的主轴(例如,图1D中的199)。根据这些实施方案,设备检测在与显示器上的相应位置对应的位置(例如,在图1D中,197-1对应于196-1并且197-2对应于196-2)处与触敏表面195的接触(例如,图1D中的197-1和197-2)。这样,当触敏表面(例如,图1D中的195)与多功能设备的显示器(图1D中的194)分开时,由设备在触敏表面上检测到的用户输入(例如,接触197-1和197-2以及它们的移动)被该设备用于操控显示器上的用户界面。应当理解,类似的方法任选地用于本文所述的其他用户界面。
另外,虽然主要是参考手指输入(例如,手指接触、单指轻击手势、手指轻扫手势)来给出下面的示例,但是应当理解,在一些实施方案中,这些手指输入中的一个或多个手指输入由来自另一输入设备的输入(例如,基于鼠标的输入或触笔输入)替代。例如,轻扫手势任选地由鼠标点击(例如,而不是接触),之后是光标沿着轻扫的路径的移动(例如,而不是接触的移动)替代。作为另一个示例,轻击手势任选地由在光标位于轻击手势的位置上方时的鼠标点击(例如,而不是对接触的检测及之后停止检测接触)替代。类似地,当同时检测到多个用户输入时,应当理解的是,多个计算机鼠标任选地被同时使用,或鼠标和手指接触任选地被同时使用。
如本文所用,术语“焦点选择器”是指用于指示用户正与之进行交互的用户界面的当前部分的输入元件。在包括光标或其他位置标记的一些具体实施中,光标充当“焦点选择器”,使得当光标在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)上方时在触敏表面(例如,图1D中的触敏表面195(在一些实施方案中,触敏表面195为触摸板))上检测到输入(例如,按压输入)的情况下,该特定用户界面元素根据所检测到的输入而被调节。在包括能够实现与触摸屏显示器上的用户界面元素的直接交互的触摸屏显示器(例如,图1A中的触敏显示系统112或触摸屏112)的一些具体实施中,触摸屏上的所检测到的接触充当“焦点选择器”,使得当在触摸屏显示器上在特定用户界面元素(例如,按钮、窗口、滑块或其他用户界面元素)的位置处检测到输入(例如,由接触进行的按压输入)时,该特定用户界面元素根据所检测到的输入而被调节。在一些具体实施中,焦点从用户界面的一个区域移动到用户界面的另一个区域,而无需光标的对应移动或触摸屏显示器上的接触的移动(例如,通过使用制表键或箭头键来将焦点从一个按钮移动到另一个按钮);在这些具体实施中,焦点选择器根据用户界面的不同区域之间的焦点移动而移动。不考虑焦点选择器所采取的具体形式,焦点选择器通常是由用户控制的以便传送与用户界面的用户预期的交互(例如,通过向设备指示用户期望与其进行交互的用户界面的元素)的用户界面元素(或触摸屏显示器上的接触)。例如,在触敏表面(例如,触摸板或触敏显示器)上检测到按压输入时,焦点选择器(例如,光标、接触或选择框)在相应按钮上方的位置将指示出用户意图激活相应按钮(而不是设备显示器上示出的其他用户界面元素)。
现在将注意力转到可在具有显示器和触敏表面的电子设备(诸如设备100)上实现的用户界面(“UI”)实施方案及相关联的过程。
图2是根据一些实施方案的用于示出应用程序的菜单的用户界面的触摸屏的示意图。类似的用户界面任选地在设备100(图1A)上实现。在一些实施方案中,针对应用程序的菜单的用户界面包括以下元素或者其子集或超集:
·一种或多种无线通信(诸如蜂窝信号和Wi-Fi信号)的一个或多个信号强指示符202;
·时间203;
·蓝牙指示符205;
·电池状态指示符206;
·具有常用应用程序的图标的托盘209,所述图标诸如:
○电话模块138的被标记为“电话”的图标216,该图标任选地包括未接来电或语音留言的数量的指示器214;
○电子邮件客户端模块140的被标记为“邮件”的图标218,该图标任选地包括未读电子邮件的数量的指示符210;
○浏览器模块147的被标记为“浏览器”的图标220;和
○视频和音乐播放器模块152(也称为IPOD(APPLE Inc.的商标)模块152)的被标记为“iPod”的图标222;和
·其它应用程序的图标,图标诸如:
○IM模块141的被标记为“消息”的图标224;
○日历模块148的被标记为“日历”的图标226;
○图像管理模块144的被标记为“相片”的图标228;
○相机模块143的被标记为“相机”的图标230;
○在线视频模块155的被标记为“在线视频”的图标232;
○股市桌面小程序149-2的被标记为“股市”的图标234;
○地图模块154的被标记为“地图”的图标236;
○天气桌面小程序149-1的被标记为“天气”的图标238;
○闹钟桌面小程序149-4的被标记为“时钟”的图标240;
○健身模块142的被标记为“健身”的图标242;
○记事本模块153的被标记为“记事本”的图标244;
○用于设置应用程序或模块的图标246,该图标提供对设备100及其各种应用程序的设置的访问;和
○用于附加应用程序诸如App Store、iTunes、语音备忘录和实用工具的其它图标。
应当指出的是,图2中示出的图标标签仅仅是示例性的。其他标签任选地用于各种应用程序图标。例如,健身模块142的图标242另选地被标记为“健身支持”、“健身”、“健身支持”、“运动”、“运动支持”或“健康”。在一些实施方案中,相应应用程序图标的标签包括与该相应应用程序图标对应的应用程序的名称。在一些实施方案中,特定应用程序图标的标签不同于与该特定应用程序图标对应的应用程序的名称。
图3A-图3B是根据一些实施方案的示出用于存储日历条目(例如,针对设备100的特定用户)的数据结构的框图。如图3A所示,日历条目数据结构302包括数据结构302的集合,该数据结构302的集合任选地实现为针对设备100的每个特定用户的表格的集合,每个表格存储与设备100的特定用户相关联的日历条目(例如,日历条目数据结构302-1存储针对设备100的用户1的日历条目并且日历条目数据结构302-2存储针对设备100的用户2的日历条目)。在一些实施方案中,日历条目数据结构的集合中的每个表格(例如,表格302-1、302-2、302-3…302-N)存储针对设备的多于一个用户的日历条目。
在一些实施方案中,一个或多个日历条目数据结构302(例如,图3B中的日历条目数据结构302-1)用于存储与设备100的用户相关联的日历条目。如图3B所示,日历条目数据结构302-1包含与针对用户1的日历条目相关联的数据(例如,日历条目ID、标题、位置、数据和时间、出发时间提醒,和提示)。在一些实施方案中,数据存储在各个记录312-1、312-2、312-3到312-N中。在一些实施方案中,标头字段312-0用于描述与每个相应记录相关联的每个字段的信息。在一些实施方案中,标头312-0包含存储在表格内的每个字段的信息(例如,与每个记录相关联的每个字段)的简要描述。如图3B所示,标头312-0指出每个记录312-1、312-2、312-3到312-N存储以下信息和数据结构或它们的子集或超集:
·唯一地识别每个特定记录(例如,记录312-1到312-N)的“日历条目ID”字段的值;
·对应于有关日历条目的描述性文本(例如,由用户在创建日历条目时所提供的描述性文本,诸如在图7E的字段770中所提供的文本)的“标题”字段的值;在一些情况下,标题包括对应于地理位置标识符(例如,记录312-3的“去看牙医”包括对应于牙医诊所的地理位置的标识符“牙医”(诸如与先前访问地址数据结构402-1的记录412-1相关联/由先前访问地址数据结构402-1的记录412-1所标识的先前访问过的“牙医诊所”的地址));
·对应于有关与日历条目相关联的位置的信息(例如,由用户在创建日历条目时所提供的信息(例如,在图7E的字段771中所提供的信息)的“位置”字段的值;在一些情况下,用户创建日历条目在不提供(或仅提供不完整的)有关位置的信息(例如,记录312-1的位置字段中具有空值,表明用户未提供有关针对与记录312-1相关联的日历条目的位置的任何信息);
·对应于有关针对日历条目的起止时间的信息(例如,由用户在创建日历条目时所提供的信息(例如,在图7E-图7F中示出的“全天”、“开始”、“结束”和“重复”部分中所提供的信息)的“日期和时间”字段的值;
·由设备100(或其部件,如出发确定模块163)基于与用户相关联的先前访问地址来自动而非人工干预地填充的“出发时间提醒”字段的值(例如,由于记录312-1和312-2在标题字段的一部分中均包含相同的标识符(“牙医”),则与记录312-3相关联的先前访问地址(例如,图4B的记录412-1)可自动用于生成出发时间提醒(如下文参考图6详细论述的))。在一些实施方案中或在一些情况下,出发时间提醒的值还包括有关用于到达先前访问地址的最佳路线(例如,如由路线确定模块163-2所确定的)的信息;和
·对应于有关日历条目的提示或提醒的信息(例如,由用户在创建日历条目时所提供的信息诸如,记录312-1所示的“提前30分钟”)的“提示”字段的值。
在一些实施方案中,日历条目数据结构302-1包括除上述字段之外的字段,诸如识别相应日历条目何时被创建和/或被存储在表302-1中的时间戳字段和/或包括对应于与相应日历条目相关联的先前访问地址的一个或多个地址ID值(图4B)的相关地址字段。
如图3B所示,日历条目数据结构302-1包括记录312-1、312-2、312-3到312-N。作为存储在日历条目数据结构302-1中的示例性记录中的信息的一个示例,记录312-1将值“1”在存储在日历条目ID字段中,将值“去看牙医”存储在标题字段中,将空值存储在位置字段中,将值“6/12/15,12PM–2PM”存储在日期和时间字段中,将值“提前30分钟”存储在提示字段中,并且将空值存储在出发时间提示字段中。在一些实施方案中,用于出发时间提醒字段的空值向设备(或向其部件,诸如出发确定模块163)提供尚未创建出发时间提醒的指示(如下文参考图6的操作602进行说明)。
尽管以数据结构的特定具体实施(例如,表)示出,但在一些实施方案中,图3A-3B的数据结构以XML文件格式、关系数据库内的表的格式、文本文件的格式和/或任何其他适当格式实现以供存储数据。
图4A-4B是根据一些实施方案的示出用于存储先前访问地址(例如,针对设备100的特定用户)的数据结构的框图。如图4A所示,先前访问地址数据结构402包括数据结构402的集合,该数据结构402的集合任选地实现为针对设备100的每个特定用户的表格的集合,每个表格存储与设备100的特定用户相关联的先前访问地址(例如,先前访问地址数据结构402-1存储针对设备100的用户1的先前访问地址并且先前访问地址数据结构302-2存储针对设备100的用户2的先前访问地址)。在一些实施方案中,日历条目数据结构的集合中的每个表格(例如,表格402-1、402-2、402-3…402-N)存储针对设备的多于一个用户的先前访问地址。
在一些实施方案中,一个或多个先前访问地址数据结构402(例如,图4B中的先前访问地址数据结构402-1)用于存储与设备100的用户相关联的日历条目。如图4B所示,先前访问地址数据结构402-1包含与用户1先前已访问的地址相关联的数据(例如,地址ID、名称、到达地址、出发地址、相关联项目和到达时间)。在一些实施方案中,使用数据通过识别对应于即将到来事件(例如,日历条目、文本消息中所引用的事件等)的先前访问地址来生成针对该即将到来事件的未包括位置详情的准确的出发时间提醒。在一些实施方案中,数据存储在各个记录412-1、412-2、412-3到412-N中。在一些实施方案中,标头字段412-0用于描述与每个相应记录相关联的每个字段的信息。在一些实施方案中,标头412-0包含存储在表格内的每个字段的信息(例如,与每个记录相关联的每个字段)的简要描述。如图4B所示,标头412-0指出每个记录412-1、412-2、412-3到412-N存储以下信息和数据结构或它们的子集或超集:
·唯一地识别与特定的先前访问地址相关联的相应记录的“地址ID”字段的值(例如,“1”是存储在记录412-1的地址ID字段中的值);
·对应于特定的先前访问地址的文本描述的“名称”字段的值(例如,“牙医诊所”是存储在记录412-1的名称字段中的值)。在一些实施方案中或在一些情况下,基于与相应记录相关联的标识符来自动而非人工干预地确定名称字段的值(例如,由于记录412-1与日历条目3相关联并且由于日历条目3(日历条目数据结构302-1的记录312-3)包括标识符“牙医”,则设备在创建针对记录412-1的名称字段的值时使用相同的标识符)。在一些实施方案中,名称字段的值是与标识符相关的术语(如果标识符为“牙医”,则相关术语包括例如牙齿(teeth)、牙(tooth)、牙齿清洁、口腔保健师、牙齿矫正医师、牙周病医师等);
·包括识别对应于用户到达的地理目的地的地址(例如,街道地址、GPS坐标等)的信息的“到达地址”字段的值(例如,如果用户拥有针对牙医诊所的日历条目,但没有识别牙医的地址的任何位置数据,则在于日历条目中所识别的时间到达特定地址时,对先前访问地址数据结构402-1中的记录进行更新以将特定地址存储为到达地址);
·包括识别对应于用户在他们出发到达特定的到达地址时的地理位置的地址(例如,街道地址、GPS坐标等)的信息的、任选的“出发地址”字段的值(例如,如果用户拥有针对预约牙医的日历条目并在指示他们前往牙医预约的时间从特定地址出发,则在于日历条目中所识别的时间到达约定位置时,对先前访问地址数据结构402-1中的记录进行更新以将特定地址存储为出发地址);
·包括识别一个或多个相关项目(例如,包括与相应记录相关联的标识符(例如,“牙医诊所”)的内容项的信息的“相关联项目”字段的值,诸如包括标识符(“我现在正前往牙医诊所”)、相关日历条目(“具有“到牙医诊所做检查”标题字段的值的日历条目,如图3B的记录312-3所示)等)的相关消息(例如,电子邮件);以及
·包括识别用户到达对应于到达地址的地理位置的时间的信息的、任选的“到达时间”字段的值。
在一些实施方案中,先前使用电子数据结构402-1还包括除上述字段之外的字段,诸如包括识别用户何时前往到达地址的信息的“出发时间”字段和/或包括识别用户在出发地址和到达地址之间所走过的路线的信息的“使用路线”字段。在一些实施方案中,这些附加字段用于帮助设备预测与用户相关联的模式(例如,识别并预测针对用户的最常用路线或最常用出发时间)。
如图4B所示,先前访问地址数据结构402-1包括记录412-1到记录412-N。作为存储在先前访问地址数据结构402-1中的示例性记录中的信息的一个示例,记录412-1将值“1”在存储在地址ID字段中,将值“牙医诊所”存储在标题字段中,将值“123N.Dentist St,City,State,12345”存储在到达地址字段中,将值“88W.2nd,City,State 12345”存储在出发地址字段中,将值“日历条目3,消息23”存储在相关联项目字段中,并且将值“5/12/14,11:15AM”存储在到达时间字段中。在一些实施方案中,以预先确定的时间间隔(例如,每小时地、每隔四小时、每天、在设备空闲时等)创建先前访问地址数据结构402-1内的记录。
在一些实施方案中,先前访问地址数据结构402在执行于设备100上的后台进程期间被预先填充(如在下文中参考操作620和622说明的)。
在一些实施方案中,先前访问地址402还存储有关与设备100的用户相关联的隐私设置的信息。例如,设备100的用户能够配置与先前访问地址的存储相关联的隐私设置。在一些实施方案中,用户能够配置针对在先前访问地址数据结构402中的每条记录内所包含的所有信息(例如,名称、到达地址、出发地址、相关联项目等)的数据采集设置。例如,用户可配置针对第一应用程序的隐私设置,使得设备100(或其部件,诸如地图模块154)不采集出发地址,但采集有关相关联项目、到达地址和到达时间的信息。又如,针对第二应用程序(不同于前述第一应用程序),用户可配置隐私设置使得设备100(或其部件,诸如地图模块154)不采集有关先前访问地址的任何信息。这样,用户能够基于他们的有关针对在设备100上可用的每个应用程序(例如,图1A中的每个应用程序136)的先前访问地址采集的个人偏好来控制对设备100上先前访问地址的采集并且能够选择适当隐私设置。
尽管以数据结构的特定具体实施(例如,表)示出,但在一些实施方案中,图4A-图4B的数据结构以XML文件格式、关系数据库内的表的格式、文本文件的格式和/或任何其他适当格式实现以供存储数据。
图5为示出根据一些实施方案的示例性出发时间提醒生成系统的框图。如图5所示,出发时间提醒生成系统500包括便携式多功能设备100并且还包括一个或多个服务器502。便携式多功能设备100经由一个或多个网络与一个或多个服务器502通信。一个或多个网络(例如,网络520)将出发时间提醒生成系统500的每个部件可通信地与出发时间提醒生成系统500的其他部件连接。在一些实施方案中,一个或多个网络520包括公共通信网络、专用通信网络或该两者的组合。例如,一个或多个网络520可为任何网络(或网络的组合)诸如互联网、其他广域网(WAN)、局域网(LAN)、虚拟专用网(VPN)、城域网(MAN)、对等网络和/或专用连接。
在一些实施方案中,一个或多个先前访问地址数据结构402存储在便携式多功能设备100上并且一个或多个其他先前访问地址数据结构402存储在一个或多个服务器502上。在一些实施方案中,便携式多功能设备100存储先前访问地址数据结构402,而在其它实施方案中,一个或多个服务器502存储先前访问地址数据结构402。在一些实施方案中,一个或多个日历条目数据结构302存储在便携式多功能设备100上并且一个或多个其他日历条目数据结构302存储在一个或多个服务器502上。在一些实施方案中,便携式多功能设备100存储日历条目数据结构302,而在其它实施方案中,一个或多个服务器502存储日历条目数据结构302。
在一个或多个先前访问地址402表格或一个或多个日历条目数据结构302存储在一个或多个服务器502上的实施方案中,由出发确定模块163(及其部件,诸如目的地预测模块163-1、路线确定模块163-2和出发提醒模块163-3)执行的一部分功能在一个或多个服务器502处被执行。在这些实施方案中,经由网络520在一个或多个服务器502和设备100之间交换信息。例如,如果一个或多个服务器502存储针对第一用户的先前访问地址数据结构402,则在一些实施方案中,设备100将与第一用户相关联的数据(例如,图1A中的GPS模块135采集的位置数据)发送至一个或多个服务器502。在一些实施方案中,一个或多个服务器502继而对所接收数据进行挖掘以预测针对日历条目的目的地并生成针对日历条目的出发时间提醒(如上文参考图4A-图4B所论述的)。一个或多个服务器502还将生成的出发时间提醒发送至设备100(或另选地发送与生成的提醒相关联的信息以便在设备处展示)。这样,有关何时出发的计算可由一个或多个服务器502来处理并且保持计算的准确性只需设备100偶尔进行GPS查验(这样,出发时间提醒生成系统500能够延长设备100的电池寿命)。在一些实施方案中,发送至一个或多个服务器502的数据的范围有限,由此使得这些数据仅包含有关第一用户所访问的地址的信息(如上所述,用户还配置覆盖该数据的采集的隐私设置并且在一些实施方案中,这些隐私设置还允许用户控制、限制或消除与一个或多个服务器502的数据交换)。
图6为示出根据一些实施方案的生成并提供智能出发时间提醒的方法600的流程图。图3A-图3B、图4A-图4B、图5和图7A-图7F用于示出图6的方法和/或过程。尽管将参考触敏显示器(其中组合了触敏表面和显示器)上的输入给出随后的示例中的一些示例,但是在一些实施方案中,设备检测与显示器194分开的触敏表面195上的输入,如图1D中所示。
在一些实施方案中,由电子设备(例如,图1A中的便携式多功能设备100)和/或电子设备的一个或多个部件(例如,I/O子系统106、操作系统126等)来执行方法600。在一些实施方案中,由存储在非暂态计算机可读存储介质中并且由设备的一个或多个处理器(诸如设备100的一个或多个处理器122)执行的指令来管理方法600(图1A)。为了便于解释,下文描述由设备100执行的方法600。在一些实施方案中,参考图1A,方法600的操作至少部分地由出发确定模块(例如,出发确定模块163)、先前访问地址(例如,先前访问地址402)、日历条目数据结构(例如,日历条目数据结构302)、目的地预测模块(例如,目的地预测模块163-1)、路线确定模块(例如,路线确定模块163-2)、出发提醒模块(例如,出发提醒模块163-3)、图形模块(例如,图形模块132)和触敏显示器(例如,触敏显示系统112)来执行或至少部分地使用这些模块。方法600中的一些操作任选地被组合,和/或一些操作的顺序任选地被改变。
如下所述,方法600(和相关联界面)提供在具有触敏显示器的电子设备上生成并提供智能出发时间提醒的直观方式。方法600通过允许用户快速创建具有最小量的文本输入的日历条目然后仅基于该最小量的文本输入来自动而非人工干预地确定对应于日历条目的地理目的地,使用于生成出发时间提醒的过程简单化。因此,用户能够继续在电子设备上快速创建日历条目,并且通过利用方法600,电子设备能够无缝创建针对日历条目的智能出发时间提醒。这样,此类方法600有助于确保用户及时地到达事件。因此,方法600有助于减少认知负担和用户创建日历条目必须花费的时间,从而创建更有效的人机界面。对于电池供电的电子设备,更快更有效地生成并提供智能出发时间提醒既节省电力又增加了电池两次充电之间的时间间隔(例如,通过自动执行通常需要大量的用户交互的任务,诸如将先前访问地址自动识别为在没有特定位置细节的情况下创建的日历条目的目的地)。
在一些实施方案中,设备识别具有开始时间和未知位置的即将到来的事件(620)。例如,设备接收文本消息“别忘了你今天下午2:30牙医诊所的预约”。文本消息的内容包括设备能够识别的即将到来的事件、具有开始时间为今天下午2:30和未知位置(即,在该文本消息的情况下未知,因为该消息的内容不包括牙医诊所所在位置)的即将到来的事件。在一些实施方案中,在识别即将到来的事件之后,设备监测(例如,使用在设备100上的后台中运行的进程)设备的当前位置(例如,使用GPS模块135),并且当设备正在移动时(例如,如加速度计168和/或GPS模块135所指示的),设备检查当前位置是否接近任何牙医诊所。根据确定设备不再移动并且设备已到达(例如,停止移动)牙医诊所或牙医诊所附近(例如,通过比较设备的当前位置与由地图模块154所确定的有关牙医诊所的位置的信息),设备使即将到来的事件与地理位置相关联(622)。在其它实施方案中,在预约或事件时间,GPS模块135确定设备的位置,并且设备使即将到来的事件与该位置相关联(622)。在一些实施方案中,使即将到来的事件与地理位置相关联包括向先前访问地址数据结构402添加记录(例如,记录412-1指示其与消息23相关联)。
在一些实施方案中,设备基于与设备上的一个或多个项目相关联的内容(例如,文本消息、电子邮件、语音消息、日历条目、记事本和包含有关即将到来的事件的信息的任何其他项目)连续监测即将到来的事件(例如,如出发确定模块163所确定的)。通过连续监测即将到来的事件并使即将到来的事件与相应的地理位置相关联,设备能够主动地建立与特定标识符(例如,牙医诊所)相关联的先前访问地址(例如,图4B中的先前访问地址数据结构402-1)的综合数据库并且设备使用该综合数据库生成可能未包括有关事件位置的任何信息的、针对事件(例如,日历条目)的智能出发时间提醒。
在一些实施方案中,设备自动而非人工干预地识别包括第一标识符的日历条目(602)。例如,基于日历条目的标题(例如,标题包括第一标识符)中的一般地描述位置的文本,诸如具有标题“去看牙医”的日历条目(例如,与记录312-1相关联的日历条目包括图3B中的第一标识符“牙医”),来识别日历条目。在一些实施方案中,第一标识符对应于未知的地理位置(例如,对日历条目未知,如日历条目数据结构302-1的位置字段中存储的空值所指示的)。在一些实施方案中,地理位置可称之为对设备的先前访问地址(例如,上文参考操作620-622所论述的地理位置),尽管日历条目(最初)未意识到先前访问地址。在一些实施方案中,设备通过使用第一标识符搜索先前访问地址并识别对应于第一标识符的先前访问地址来解析未知位置(如下所述)。
在一些实施方案中,设备自动而非人工干预地检索与第一标识符相关联的先前访问地址(例如,街道地址和/或对应于街道地址的GPS坐标)(604)(例如,通过在先前访问地址402数据结构中使用标识符(例如,牙医或相关术语诸如牙齿、牙、牙周病医师、牙齿矫正医师等)执行查找)。例如,先前访问地址和第一标识符之间的关联可能是由于先前已出现在相关联项目中的第一标识符(例如,另一日历条目、特定文本消息、包括特定文本消息的会话或电子邮件消息)。一个示例性相关联项目为“别忘了下午3点去做牙科检查”的文本消息。继续这个示例,用户继而从第一地址出发,随后到达第二地址(例如,用户继而在下午2:55到达牙医诊所的地址,并且基于来自文本消息的标识符,继而在先前访问地址数据结构402中创建标识符“牙医”的新记录,如图4B中的先前访问地址数据结构402的记录412-1所示)。另外,当前示例的新纪录包括与相关联项目的关联(例如,记录412-1的相关联项目字段的值包括识别相关联项目的信息,诸如“消息23”)。
在一些实施方案中,(例如,由出发确定模块163)从与设备的用户相关联的先前访问地址的数据库(例如,从与用户相关联的相应的先前访问地址数据结构402,诸如对应于图4B中用户1的先前访问地址数据结构402-1)检索先前访问地址。在一些实施方案中,先前访问地址的数据库中的每个先前访问地址对应于电子设备的用户先前访问过的地址(例如,先前访问地址数据结构402-1内包含的每个记录对应于的用户1访问过的地址)。在一些实施方案中,检索先前访问地址包括使用第一标识符在先前访问地址的数据库中执行查找(例如,向先前访问地址数据结构402-1提交查询以找到在名称字段中具有值“牙医”的所有记录)。另选地,在一些实施方案中,使用与第一标识符相关的第二标识符(例如,包括第一标识符的类别,诸如“医疗专业人员”)执行查找。在这些实施方案中的一些实施方案中,第二标识符用于在使用第一标识符的数据库查询返回空记录集或空值记录集时执行查找。
在一些实施方案中,设备从用户接收先前访问地址对应于日历条目的确认(606)。如图7A所示,设备将允许用户确认先前访问地址对应于日历条目的用户界面对象呈现给用户。例如,所呈现用户界面对象显示在顶部通知部分710(或另选地,底部通知部分712)内,并且包括可选图标750、具有用于确认或拒绝先前访问地址和日历条目之间的对应关系的可选示能表示的确认对话框758,以及向用户提供关于用户界面对象为何呈现的指示(例如,基于标识符“牙医”出现在日历条目的标题中以及用户先前访问过牙医诊所的地址)的建议原因714。在一些实施方案中,图标750对应于与日历应用程序相关联的图标(例如,图1A中的日历模块148)并且响应于检测到对图标750的选择,设备在日历应用程序内显示日历条目。在一些实施方案中,确认对话框758包括请求确认的文本描述,诸如“是否确认将123N.Dentist作为中午12点即将到来的“牙科检查”事件的地址?”响应于检测到对显示在确认对话框758内的是按钮的选择,设备不再显示确认对话框758并更新日历条目以包括与先前访问地址的关联(例如,更新图3B中的记录312-1,以具有用于位置字段的值“地址1”而不是空值)。
响应于检测到对显示在确认对话框758内的否按钮的选择,设备不再显示确认对话框758并停止更新日历条目(例如,不更新图3B中的记录312-1的位置字段中的值)。另选地,在一些实施方案中,响应于检测到对否按钮的选择,设备返回至检索操作604以确定是否可识别针对日历条目的不同的先前访问地址。在一些实施方案中,响应于检测到对建议原因示能表示714的选择,设备显示允许用户配置与先前访问地址的采集相关联的隐私设置的用户界面(如上文参考图4A-图4B所述)。在一些实施方案中,用户界面对象还包括允许用户取消用户界面对象的示能表示(例如,“x”或“关闭”示能表示)(类似于如参考图7C所述的取消示能表示713)。
在一些实施方案中,并且如图7A所示,设备从用户接收应确定针对日历条目的出发时间的确认(例如,在检索先前访问地址和/或确定出发时间之前)。如图7A所示,设备将允许用户确认出发时间应自动确定的用户界面对象呈现给用户。例如,所呈现用户界面对象显示在底部通知部分712(或另选地,顶部通知部分710)内,并且包括可选图标750、具有用于确认或拒绝对日历条目的出发时间的创建的可选示能表示的确认对话框772,以及向用户提供关于用户对象为何呈现的指示(例如,基于日历条目在不需任何位置信息的情况下创建,例如,如日历条目数据结构302内的记录的位置字段中存在空值)的建议原因714。在一些实施方案中,图标750对应于与日历应用程序相关联的图标(例如,图1A中的日历模块148)并且响应于检测到对图标750的选择,设备在日历应用程序内显示日历条目。在一些实施方案中,确认对话框772包括请求确认的文本描述,诸如“你想要针对即将到来的“牙科检查”事件的自动出发提醒吗?”响应于检测到对显示在确认对话框772内的是按钮的选择,设备不再显示确认对话框772并继续检索上述操作604。响应于检测到对显示在确认对话框772内的否按钮的选择,设备不再显示确认对话框772并任选地将对应于日历条目的记录(例如,图3B中的记录312-1)标记为不需要出发时间(例如,将位置字段中的值更新为“拒绝”而非空值)。在一些实施方案中,响应于检测到对建议原因示能表示714的选择,设备显示允许用户配置与先前访问地址的采集相关联的隐私设置的用户界面(如上文参考图4A-图4B所述)。在一些实施方案中,用户界面对象还包括允许用户取消用户界面对象的示能表示(例如,“x”或“关闭”示能表示)(类似于如参考图7C所述的取消示能表示713)。
在一些实施方案中,设备基于先前访问地址(例如,基于从设备的当前位置到先前访问地址的路线),自动而非人工干预地确定针对日历条目的出发时间(608)。在一些实施方案中,确定出发时间包括:(i)确定对应于电子设备的当前地址(例如,设备的当前GPS坐标或对应于其的地址),(ii)确定从当前地址到先前访问地址的路线,以及(iii)基于完成路线的时间量确定出发时间,使得用户将在与日历条目相关联的开始时间(例如,基于存储在日期和时间字段中的值,从日历条目数据结构302中检索开始时间)的预先确定的时间量(例如,5分钟、10分钟、15分钟等)内到达先前访问地址。
在一些实施方案中,在第一时间点基于与用户相关联的默认出发地址(例如,用户的家庭住址、工作地址、或某些其他最常用地址)初始地确定出发时间。在一些实施方案中,第一时间点为检索先前访问地址的时间,而在其它实施方案中,第一时间点基于针对日历条目的开始时间来确定(例如,在日历条目的开始时间预计在两个小时后开始的情况下,确定初始出发时间)。在一些实施方案中,设备随后(在第二时间点)检查是否需要重新计算/重新计算初始出发时间(例如,由于用户已远离默认出发地址移动阈值距离或由于日历条目的开始时间预计在30分钟后开始)。根据确定用户已远离默认出发地址移动阈值距离或针对日历条目的开始时间在预先确定的时间量内,设备基于设备的当前位置(即,设备的当前位置现为出发地址,而不是默认出发地址)来确定针对日历条目的新的出发时间。
在一些实施方案中,根据与设备的用户相关联的路线选择偏好从自当前地址到先前访问地址的多条可用路线中选择路线。示例性路线选择偏好包括道路类型偏好(例如,避开高速)、时间偏好(例如,在日历条目的开始时间的15分钟内到达地址)、交通方式偏好(例如,如果天气好并且/或者先前访问地址在当前地址的三英里内,则更喜欢步行)。在一些实施方案中,当前地址存储在先前访问地址数据结构402中,存储在出发地址字段中。在一些实施方案中,确定操作(i)-(iii)以相对于日历条目的开始时间预先确定的时间间隔(例如,开始时间之前1天)来执行。在一些实施方案中,确定操作(i)-(iii)在第一时间执行,接着在之后的时间(例如,接近日历条目的开始时间的第二时间)重复,以便基于当前交通状况确认路线仍为最佳路线。
在一些实施方案中,设备使确定的出发时间与日历条目相关联(610)(例如,更新日历条目数据结构302中的记录以包括与确定的出发时间的关联,如日历条目数据结构302-1的记录312-3所示,出发时间提醒字段包含对应于记录312-3的日历条目的确定的出发时间的值“5/12/14,11:25AM”)。在一些实施方案中,使确定的出发时间与日历条目相关联包括生成提醒(例如,视觉提醒、触觉提醒(振动)和/或听觉提醒)(612)并更新日历条目以包括生成的提醒。在一些实施方案中,生成的提醒不同于与日历条目相关联的默认提醒(例如,图3B中的日历条目数据结构302-1的提示字段中的值)。
在一些实施方案中,设备在电子设备上向用户提供生成的所确定的针对日历条目的出发时间的提醒(例如,在触敏显示器上显示视觉提醒诸如图7B的用户界面对象702,使得设备输出触觉提醒,并且/或者使得设备产生对应于提醒的音频输出)(614)。在一些实施方案中,提供提醒包括根据确定出发时间在当前时间的预先确定的时间量内,提供提醒(例如,在图7B中的锁定屏幕701上显示用户界面对象702)。例如,预先确定的时间量为默认时间量,诸如5分钟、10分钟、15分钟等,或者基于与交通变化和影响到达对应于日历条目的先前访问地址所需的时间量的其他因素相关的当前预测所计算的时间量(例如,从办公楼步行到用户的机动车停放的位置所花费的时间)。在一些实施方案中,设备监测用于设备的运动数据(例如,来自加速度计168和/或GPS模块135的数据)并且使用该运动数据来确定用户到达他们的机动车所花的估计时间量(例如,如果设备没有移动(在第一时间),然后以行人的速率移动(在第二时间),接着以机动车的速率移动(在第三时间),则设备能够使用第三时间和第一时间之间的差值作为用户到达他们机动车所花时间量的估计值)。在一些实施方案中,设备使用估计时间量(或多个估计值的平均值)来确定何时向用户提供生成的提醒。在其它实施方案中,设备添加估计时间量(或许多估计值的平均值)以将缓冲器添加至出发时间并且在出发时间时简单地提供生成的提醒。
如图7B所示,在一些实施方案中,所提供的提醒显示在设备的锁定屏幕701上的用户界面对象702中,或者在另选的实施方案中,显示在用户界面对象722中(如下所述)。在一些实施方案中,用户界面对象702显示在锁定屏幕701的中心区域,并且包括可选的第一图标750、可选的第二图标767和提醒742。在一些实施方案中,第一图标750对应于与日历应用程序相关联的图标(例如,图1A中的日历模块148)并且响应于检测到对第一图标750的选择,设备在日历应用程序内显示(例如,在解锁设备之后)日历条目。在一些实施方案中,第二图标767对应于与地图应用程序相关联的图标(例如,图1A中的地图模块154)并且响应于检测到对第二图标767的选择,设备显示(例如,在解锁设备之后)包括用于到达先前访问地址的逐向导航的地图界面。
在一些实施方案中,提醒(或提示)742包括含有例如出发时间(例如,11:15AM)和对日历条目的描述(例如,诸如“牙科检查”之类的标题)的文本描述。在一些实施方案中,提醒742允许用户使用手势显示用于执行与提醒相关联的动作的示能表示(例如,开始逐向导航、取消提醒、暂缓提醒等)。如图7B-图7C所示,响应于检测到在提醒742上沿第一方向(例如,向左的方向)移动的轻扫手势(例如,图7B中的手势782),针对提醒的文本描述沿第一方向移动,使得目前仅文本描述的一部分对触摸屏112可见,并且提醒742被更新(例如,由图形模块132)以显示用于执行动作的一个或多个示能表示(例如,图7C中的开始导航示能表示746、暂缓示能表示744和取消示能表示713)。在一些实施方案中,一个或多个示能表示包括暂缓示能表示744和开始导航示能表示746,而在其它实施方案中,一个或多个示能表示包括开始导航示能表示746和取消示能表示713。在其它实施方案中,一个或多个示能表示包括开始导航示能表示746、暂缓示能表示744或取消示能表示713。
现转向图7C,在一些实施方案中,在取消示能表示713被选择的情况下,使得设备不再显示提醒742。在一些实施方案中,在开始导航示能表示746(本文中也称为逐向导航示能表示746)被选择的情况下,使得设备显示地图界面(例如,地图模块154),其中先前访问地址被预先填充为目的地并且用于到达目的地的逐向导航已开始。在一些实施方案中,在显示地图界面之前,用户执行动作以解锁设备100(例如,输入一系列字符以解锁设备,提供口头密码、提供指纹识别等)。在其它实施方案中,开始导航示能表示746包括文本,该文本向用户表明选择开始导航示能表示746将使得设备开始路线选择并在无需离开锁定屏幕701的情况下提供逐向导航(例如,提供对应于导航的音频输出)。
在一些实施方案中,在暂缓示能表示744被选择的情况下,使得设备不再显示UI对象702并在用户所选择或预先配置的时间段之后或在默认时间之后重新显示UI对象702。在一些实施方案中,暂缓示能表示744允许用户选择在其间暂缓提醒(例如,暂缓示能表示744包括可选项,诸如15分钟、30分钟、1小时、等我闲下来等等)的时间段。例如,用户选择使UI对象702小睡五分钟的选项,并且在五分钟之后,设备则重新显示UI对象702。又如,用户选择使UI对象702小睡直到他们有空闲时间(例如,“等我闲下来再提醒”)并且在一些实施方案中,设备100搜索日历模块148以识别用户日程安排中的下一空闲时隙并在所识别的下一空闲时隙期间重新显示UI对象702。
在一些实施方案中,用户还能够使用附加手势(例如,图7B的手势783)以快速访问逐向导航。在一些实施方案中,附加手势是沿与第一方向相反的第二方向(例如,向右方向)在提醒742上移动的轻扫手势。响应于检测到沿第二方向移动的第二手势,设备显示地图界面(例如,地图模块154),其中先前访问地址被预先填充为目的地并且用于到达目的地的逐向导航已开始。在一些实施方案中,在显示地图界面之前,用户执行动作以解锁设备100(例如,输入一系列字符以解锁设备,提供口头密码、提供指纹识别等)。
回到图7B,其示出相对于用户界面对象722提供生成提醒的另选实施方案。在一些另选的实施方案中,提供的提醒显示在设备的锁定屏幕701上的用户界面对象722中。在一些另选的实施方案中,用户界面对象722大体上显示在锁定屏幕701的中心区域中,并且包括第一图标750(a)、第二图标767(a)、提醒742(a)、暂缓选项744(a)和逐向导航示能表示746(a)。在一些另选的实施方案中,第一图标750(a)对应于与日历应用程序相关联的图标(例如,图1A中的日历模块148)并且响应于检测到对第一图标750(a)的选择,设备在日历应用程序内显示(例如,在解锁设备之后)日历条目。在一些另选的实施方案中,第二图标767(a)对应于与地图应用程序相关联的图标(例如,图1A中的地图模块154)并且响应于检测到对第二图标767(a)的选择,设备显示(例如,在解锁设备之后)包括用于到达先前访问地址的逐向导航的地图界面。在一些实施方案中,提醒742(a)包括诸如“该出发去做牙科检查了!”之类的文本描述。响应于检测到对提醒742(a)的选择,设备不再显示提醒742(a)并在日历条目内显示(例如,在解锁设备之后)日历条目。
在一些另选的实施方案中,暂缓选项744(a)包括一个或多个可选项以用于停止显示UI对象722并在用户所选择或预先配置的时间段之后重新显示UI对象722。例如,用户选择使UI对象722小睡两小时的选项,并且在两小时之后,设备则重新显示UI对象722。又如,用户选择使UI对象722小睡直到他们有空闲时间(例如,“等我闲下来再提醒”)并且在一些另选的实施方案中,设备100搜索日历模块148以识别用户日程安排中的下一空闲时隙并在所识别的下一空闲时隙期间重新显示UI对象722。
在一些另选的实施方案中,逐向导航示能表示746(a)包括文本,该文本向用户表明选择逐向导航示能表示746将使得设备开始路线选择并在无需离开锁定屏幕701的情况下提供逐向导航(例如,提供对应于导航(例如,基于所选择路线导航,如上所述)的音频输出)。
在一些实施方案中,用户界面对象702和用户界面对象722两者的外观被结合在一起。例如,逐向导航示能表示746或746(a)在提醒下方显示(例如,提醒742或提醒742(a))并且暂缓选项744和取消713通过第一手势(例如,响应于对该第一手势的检测)可用。
在一些实施方案中,响应于提供提醒(或在此之后),设备确定用户是否已到达先前访问地址(例如,在确定用户已停止移动(基于例如图1A的加速度计168所提供的数据)之后,设备比较设备的当前GPS坐标与跟先前访问地址相关联的GPS坐标)。根据确定用户已到达先前访问地址,设备更新与先前访问地址相关联的位置信息(616)。在一些实施方案中,更新位置信息包括细化与先前访问地址相关联的GPS坐标(例如,在抵达用于与记录412-1相关联的先前访问地址的到达地址时(或在该到达地址的第一预定距离内),如果设备确定对应于GPS135的信号强度大于先前创建到达地址时的信号强度,则设备将到达地址设备替换为设备的当前GPS坐标替换)。在一些实施方案中,根据确定当前GPS坐标超出先前访问地址的第二预先确定距离,设备利用对应于当前GPS坐标(或与之对应的物理街道地址)的到达地址的值向先前访问地址数据结构402-1添加新纪录。例如,新纪录对应于靠近先前访问地址的新的停车位置。
在一些实施方案中,设备在更新或细化到达地址之前向用户请求反馈(如上所述)。在一些实施方案中,如图7D所示,设备将允许用户决定应该还是不应该更新到达地址的用户界面对象呈现给用户。例如,所呈现用户界面对象显示在顶部通知部分710(或另选地,底部通知部分712)内,并且包括可选图标767、具有用于确认或拒绝到达地址的更新的可选示能表示的确认对话框752,以及向用户提供关于用户对象为何呈现的指示的建议原因714。在一些实施方案中,可选图标767对应于与地图应用程序相关联的图标(例如,图1A中的地图模块154),并且响应于检测到对图标767的选择,设备显示包括用于当前存储的到达地址和可能会更新的到达地址(即,设备的当前位置)两者的标识符的地图界面。在一些实施方案中,确认对话框752包括请求确认的文本描述,诸如“想要基于您的当前位置更新牙医诊所的存储地址吗?”响应于检测到对显示在确认对话框752内的是按钮的选择,设备不再显示确认对话框752并且更新与先前访问地址相关联的记录以包括到达地址字段的经更新的值。响应于检测到对显示在确认对话框752内的否按钮的选择,设备不再显示确认对话框752并且停止更新与先前访问地址相关联的记录。在一些实施方案中,响应于检测到对建议原因示能表示714的选择,设备显示允许用户配置与位置数据和先前访问地址的采集相关联的隐私设置的用户界面(如上文参考图4A-图4B所述)。在一些实施方案中,用户界面对象还包括允许用户取消用户界面对象的示能表示(例如,“x”或“关闭”示能表示)。
在一些实施方案中,设备在日历条目创建过程(例如,图7E-图7F所示的日历条目创建过程)期间扫描多个新的日历条目。根据确定第一标识符被包括在多个所扫描的新的日历条目中相应的新的日历条目中(例如,字段770包括标识符“牙医诊所”),设备将先前访问地址呈现给设备的用户以便将其包括在相应的新的日历条目中(例如,设备呈现具有文本“123N.Dentist St,City,State,12345(轻击以确认)”的用户界面对象772)(618)。响应于检测到对用户界面对象772的选择,设备将新的日历条目与先前访问地址相关联。
应当理解,对图6中已经进行描述的操作的具体次序仅仅是示例性的,并非意图要表明所描述的次序是可以执行这些操作的唯一次序。本领域的普通技术人员会想到多种方式来对本文所述的操作进行重新排序。
根据一些实施方案,图8示出根据各种所述实施方案的原理进行配置的电子设备800的功能框图。该设备的功能块任选地由进行各种所描述的实施方案的原理的硬件、软件、固件、或其组合来实现。本领域的技术人员应当理解,图8中所述的功能块任选地被组合或被分离为子块,以便实现各种所描述的实施方案的原理。因此,本文的描述任选地支持本文所述的功能块的任何可能的组合或分离或进一步限定。为了便于论述,电子设备800实现为便携式多功能设备100(图1A)。
如图8所示,电子设备800包括被配置为显示信息的显示单元801(例如,图1A中的触敏显示系统112(也称为触摸屏、触敏显示器和触摸屏显示器))、被配置为在触敏显示器上接收接触、手势和其他用户输入的触敏表面单元803(例如,图1A中的显示控制器156和触敏显示系统112),以及耦接至显示单元801和触敏表面单元803的处理单元805。在一些实施方案中,处理单元包括识别单元(例如,识别单元807)、检索单元(例如,检索单元809)、确定单元(例如,确定单元811)、关联单元(例如,关联单元813)、提供单元(例如,提供单元815)、选择单元(例如,选择单元817)、生成单元(例如,生成单元819)、接收单元(例如,接收单元821)、执行单元(例如,执行单元823)、扫描单元(例如,扫描单元825)、呈现单元(例如,呈现单元827)和更新单元(例如,更新单元829)。处理单元被配置为:自动而非人工干预地识别(例如,利用识别单元807)包括第一标识符的日历条目,该第一标识符对应于未知的地理位置;自动而非人工干预地检索(例如,利用检索单元809)与第一标识符相关联的先前访问地址;基于先前访问地址来自动而非人工干预地确定(例如,利用确定单元811)针对日历条目的出发时间;并且自动而非人工干预地使所确定出发时间与日历条目相关联(例如,利用关联单元813)。
在电子设备800的一些实施方案中,处理单元被进一步配置为在电子设备上向用户提供(例如,利用提供单元815和(或结合于)显示单元801)所确定的针对日历条目的出发时间的提醒。在电子设备800的一些实施方案中,日历条目与默认提醒相关联,默认提醒与提供给用户的所确定的针对日历条目的出发时间的提醒不同。在电子设备800的在一些实施方案中,提供提醒包括根据确定(例如,由确定单元811)出发时间在当前时间的预先确定的时间量内,提供(例如,利用提供单元815和(或结合于)显示单元801)提醒。在电子设备800的一些实施方案中,使确定的出发时间与日历条目相关联包括生成(例如,利用生成单元819)提醒并更新日历条目以包括生成的提醒。
在电子设备800的一些实施方案中,确定出发时间包括:(i)确定(例如,利用确定单元811)对应于电子设备的当前地址,(ii)确定(例如,利用确定单元811)从当前地址到先前访问地址的路线,以及(iii)基于完成路线的时间量来确定(例如,利用确定单元811)出发时间,使得用户将在与日历条目相关联的开始时间的预先确定量内到达先前访问地址。在电子设备800的一些实施方案中,根据与设备的用户相关联的路线选择偏好从自当前地址到先前访问地址的多条可用路线中选择(例如,利用选择单元817)路线。
在电子设备800的一些实施方案中,处理单元被进一步配置为:在确定出发时间之前,在触敏显示器上从电子设备的用户接收(例如,利用接收单元821)先前访问地址对应于日历条目的确认。在接收到确认之后,处理单元被配置为确定(例如,利用确定单元811)出发时间。
在电子设备800的一些实施方案中,检索先前访问地址包括从与电子设备的用户相关联的先前访问地址的数据库检索(例如,利用检索单元809)先前访问地址。在电子设备800的一些实施方案中,先前访问地址的数据库中的先前访问地址对应于电子设备的用户先前访问过的地址。在电子设备800的一些实施方案中,检索先前访问地址包括利用第一标识符在先前访问地址的数据库中执行(例如,利用执行单元823)查找。
在电子设备800的一些实施方案中,处理单元被进一步配置为在日历条目创建过程期间扫描(例如,利用扫描单元825)多个新的日历条目。根据确定(例如,由确定单元811)第一标识符包括在多个已扫描的新日历条目中相应的新日历条目中,处理单元被配置为向电子设备的用户呈现(例如,利用呈现单元827和(或结合于)显示单元801)先前访问地址以将其包括到相应的新的日历条目中。
在电子设备800的一些实施方案中,处理单元被进一步配置为响应于提供提醒,确定(例如,利用确定单元811)用户是否已到达先前访问地址。根据确定(例如,由确定单元811)用户已到达先前访问地址,处理单元被配置为更新(例如,利用更新单元829)与先前访问地址相关联的位置信息。
上述信息处理方法中的操作任选地通过运行信息处理装置中的一个或多个功能模块来实现,该信息处理装置诸如为通用处理器(例如,如以上相对于图1A所描述的)或特定于应用的芯片。
以上参考图5所述的操作任选地由图1A-图1B或图8中所描绘的部件来实现。例如,接收操作606和提供操作614任选地由事件分类器170、事件识别器180和事件处理程序190来实现。事件分类器170中的事件监视器171检测触敏显示器112上的接触,并且事件分配器模块174将事件信息递送到应用程序136-1。应用程序136-1的相应事件识别器180将事件信息与相应事件定义186进行比较,并且确定触敏表面上第一位置处的第一接触是否(或该设备的旋转是否)对应于预定义的事件或子事件,诸如对用户界面上的对象的选择、或该设备从一个取向到另一个取向的旋转。当检测到相应的预定义的事件或子事件时,事件识别器180激活与对该事件或子事件的检测相关联的事件处理程序190。事件处理程序190任选地使用或调用数据更新器176或对象更新器177来更新应用程序内部状态192。在一些实施方案中,事件处理程序190访问相应GUI更新器178来更新应用程序所显示的内容。类似地,本领域的普通技术人员会清楚地知道基于在图1A-图1C中所示的部件可如何实现其他过程。
出于解释的目的,前面的描述是参考具体的实施方案来描述的。然而,上面的示例性讨论并非旨在是穷尽的,也并非旨在将本发明限制为所公开的精确形式。根据以上教导内容,很多修改形式和变型形式都是可能的。选择和描述实施方案是为了最佳地阐明本发明的原理及其实际应用,以便由此使得本领域的其他技术人员能够最佳地使用具有适合于所构想的特定用途的各种修改的本发明以及各种所描述的实施方案。

Claims (40)

1.一种用于智能出发时间提醒的方法,包括:
在具有触敏显示器以及一个或多个处理器的电子设备处:
自动而非人工干预地:
由所述一个或多个处理器,识别与所述电子设备相关联的用户的日历条目,所述日历条目包括第一标识符,并且所述第一标识符对应于在所述日历条目未指定的地理位置;
由所述一个或多个处理器,从与所述电子设备的所述用户相关联的先前访问地址的数据库,检索与所述第一标识符相关联的先前访问地址,其中与所述用户相关联的先前访问地址的所述数据库中的每个地址根据确定所述电子设备的所述用户已经访问该地址而被记录;
由所述一个或多个处理器,基于所述先前访问地址来确定未来的第一时间作为针对所述日历条目的出发时间;以及
由所述一个或多个处理器,使所确定的出发时间与所述日历条目相关联,包括更新所述日历条目以包括提醒,所述提醒被配置为非人工干预地在所确定的所述出发时间之前的预先确定的时间量自动地向所述用户呈现。
2.根据权利要求1所述的方法,还包括在所述电子设备上将所确定的针对所述日历条目的出发时间的提醒提供给用户。
3.根据权利要求2所述的方法,其中所述日历条目与默认提醒相关联,所述默认提醒与提供给所述用户的所确定的针对所述日历条目的出发时间的所述提醒不同。
4.根据权利要求2所述的方法,其中提供所述提醒包括根据确定所确定的出发时间在当前时间的预先确定的时间量内来提供所述提醒。
5.根据权利要求2所述的方法,其中使所确定的出发时间与所述日历条目相关联包括生成所述提醒并更新所述日历条目以包括所生成的提醒。
6.根据权利要求1-5中任一项所述的方法,还包括:
在日历条目创建过程期间扫描多个新的日历条目;以及
根据确定所述第一标识符包括在多个已扫描的新日历条目中相应的新日历条目中,向所述电子设备的用户呈现所述先前访问地址以将其包括在所述相应的新的日历条目中。
7.根据权利要求1-5中任一项所述的方法,还包括:
确定用户是否已到达所述先前访问地址;以及
根据确定所述用户已到达所述先前访问地址,更新与所述先前访问地址相关联的位置信息。
8.根据权利要求1-5中任一项所述的方法,其中确定所述出发时间包括:
确定对应于所述电子设备的当前地址;
确定从所述当前地址到所述先前访问地址的路线;以及
基于完成所述路线的时间量来确定所述出发时间,使得用户将会在与所述日历条目相关联的开始时间的预先确定的时间量内到达所述先前访问地址。
9.根据权利要求8所述的方法,其中所述路线是根据与所述电子设备的所述用户相关联的路线选择偏好从自所述当前地址到所述先前访问地址的多条可用路线中选择的。
10.根据权利要求1-5中任一项所述的方法,还包括:
在确定所述出发时间之前,在所述触敏显示器上从所述电子设备的用户接收所述先前访问地址对应于所述日历条目的确认;以及
在接收所述确认之后,确定所述出发时间。
11.根据权利要求1-5中任一项所述的方法,其中检索所述先前访问地址包括从与所述电子设备的用户相关联的先前访问地址的数据库中检索所述先前访问地址。
12.根据权利要求11所述的方法,其中所述先前访问地址的数据库中的每个先前访问地址对应于所述电子设备的所述用户先前访问过的地址。
13.根据权利要求11所述的方法,其中检索所述先前访问地址包括使用所述第一标识符在所述先前访问地址的数据库中执行查找。
14.一种存储可执行指令的计算机可读存储介质,所述可执行指令在被具有触敏显示器以及一个或多个处理器的电子设备执行时使得所述电子设备:
自动而非人工干预地:
由所述一个或多个处理器,识别与所述电子设备相关联的用户的日历条目,所述日历条目包括第一标识符,并且所述第一标识符对应于在所述日历条目未指定的地理位置;
由所述一个或多个处理器,从与所述电子设备的所述用户相关联的先前访问地址的数据库,检索与所述第一标识符相关联的先前访问地址,其中与所述用户相关联的先前访问地址的所述数据库中的每个地址根据确定所述电子设备的所述用户已经访问该地址而被记录;
由所述一个或多个处理器,基于所述先前访问地址来确定未来的第一时间作为针对所述日历条目的出发时间;以及
由所述一个或多个处理器,使所确定的出发时间与所述日历条目相关联,包括更新所述日历条目以包括提醒,所述提醒被配置为非人工干预地在所确定的所述出发时间之前的预先确定的时间量自动地向所述用户呈现。
15.根据权利要求14所述的计算机可读存储介质,其中所述可执行指令使得所述电子设备在所述电子设备上将所确定的针对所述日历条目的出发时间的提醒提供给用户。
16.根据权利要求15所述的计算机可读存储介质,其中所述日历条目与默认提醒相关联,所述默认提醒与提供给所述用户的所确定的针对所述日历条目的出发时间的所述提醒不同。
17.根据权利要求15所述的计算机可读存储介质,其中提供所述提醒包括根据确定所确定的出发时间在当前时间的预先确定的时间量内来提供所述提醒。
18.根据权利要求15所述的计算机可读存储介质,其中使所确定的出发时间与所述日历条目相关联包括生成所述提醒并更新所述日历条目以包括所生成的提醒。
19.根据权利要求14-18中任一项所述的计算机可读存储介质,其中所述可执行指令使得所述电子设备:
在日历条目创建过程期间扫描多个新的日历条目;以及
根据确定所述第一标识符包括在多个已扫描的新日历条目中相应的新日历条目中,向所述电子设备的用户呈现所述先前访问地址以用于将其包括在所述相应的新日历条目中。
20.根据权利要求14-18中任一项所述的计算机可读存储介质,其中所述可执行指令使得所述电子设备:
确定用户是否已到达所述先前访问地址;以及
根据确定所述用户已到达所述先前访问地址,更新与所述先前访问地址相关联的位置信息。
21.根据权利要求14-18中任一项所述的计算机可读存储介质,其中确定所述出发时间包括:
确定对应于所述电子设备的当前地址;
确定从所述当前地址到所述先前访问地址的路线;以及
基于完成所述路线的时间量来确定所述出发时间,使得用户将会在与所述日历条目相关联的开始时间的预先确定的时间量内到达所述先前访问地址。
22.根据权利要求21所述的计算机可读存储介质,其中所述路线是根据与所述电子设备的所述用户相关联的路线选择偏好从自所述当前地址到所述先前访问地址的多条可用路线中选择的。
23.根据权利要求14-18中任一项所述的计算机可读存储介质,其中所述可执行指令使得所述电子设备:
在确定所述出发时间之前,在所述触敏显示器上从所述电子设备的用户接收所述先前访问地址对应于所述日历条目的确认;以及
在接收所述确认之后,确定所述出发时间。
24.根据权利要求14-18中任一项所述的计算机可读存储介质,其中检索所述先前访问地址包括从与所述电子设备的用户相关联的先前访问地址的数据库中检索所述先前访问地址。
25.根据权利要求24所述的计算机可读存储介质,其中所述先前访问地址的数据库中的每个先前访问地址对应于所述电子设备的所述用户先前访问过的地址。
26.根据权利要求24所述的计算机可读存储介质,其中检索所述先前访问地址包括使用所述第一标识符在所述先前访问地址的数据库中执行查找。
27.一种电子设备,包括:
触敏显示器;
一个或多个处理器;和
存储一个或多个程序的存储器,所述一个或多个程序当由所述一个或多个处理器执行时使得所述电子设备:
自动而非人工干预地:
由所述一个或多个处理器,识别与所述电子设备相关联的用户的日历条目,所述日历条目包括第一标识符,并且所述第一标识符对应于在所述日历条目未指定的地理位置;
由所述一个或多个处理器,从与所述电子设备的所述用户相关联的先前访问地址的数据库,检索与所述第一标识符相关联的先前访问地址,其中与所述用户相关联的先前访问地址的所述数据库中的每个地址根据确定所述电子设备的所述用户已经访问该地址而被记录;
由所述一个或多个处理器,基于所述先前访问地址来确定未来的第一时间作为针对所述日历条目的出发时间;以及
由所述一个或多个处理器,使所确定的出发时间与所述日历条目相关联,包括更新所述日历条目以包括提醒,所述提醒被配置为非人工干预地在所确定的所述出发时间之前的预先确定的时间量自动地向所述用户呈现。
28.根据权利要求27所述的电子设备,其中所述一个或多个程序使得所述电子设备:在所述电子设备上将所确定的针对所述日历条目的出发时间的提醒提供给用户。
29.根据权利要求28所述的电子设备,其中所述日历条目与默认提醒相关联,所述默认提醒与提供给所述用户的所确定的针对所述日历条目的出发时间的所述提醒不同。
30.根据权利要求28所述的电子设备,其中提供所述提醒包括根据确定所确定的出发时间在当前时间的预先确定的时间量内来提供所述提醒。
31.根据权利要求28所述的电子设备,其中使所确定的出发时间与所述日历条目相关联包括生成所述提醒并更新所述日历条目以包括所生成的提醒。
32.根据权利要求27-31中任一项所述的电子设备,其中所述一个或多个程序使得所述电子设备:
在日历条目创建过程期间扫描多个新的日历条目;以及
根据确定所述第一标识符包括在多个已扫描的新日历条目中相应的新日历条目中,向所述电子设备的用户呈现所述先前访问地址以用于将其包括在所述相应的新日历条目中。
33.根据权利要求27-31中任一项所述的电子设备,其中所述一个或多个程序使得所述电子设备:
确定用户是否已到达所述先前访问地址;以及
根据确定所述用户已到达所述先前访问地址,更新与所述先前访问地址相关联的位置信息。
34.根据权利要求27-31中任一项所述的电子设备,其中确定所述出发时间包括:
确定对应于所述电子设备的当前地址;
确定从所述当前地址到所述先前访问地址的路线;以及
基于完成所述路线的时间量来确定所述出发时间,使得用户将会在与所述日历条目相关联的开始时间的预先确定的时间量内到达所述先前访问地址。
35.根据权利要求34所述的电子设备,其中所述路线是根据与所述电子设备的所述用户相关联的路线选择偏好从自所述当前地址到所述先前访问地址的多条可用路线中选择的。
36.根据权利要求27-31中任一项所述的电子设备,其中所述一个或多个程序使得所述电子设备:
在确定所述出发时间之前,在所述触敏显示器上从所述电子设备的用户接收所述先前访问地址对应于所述日历条目的确认;以及
在接收所述确认之后,确定所述出发时间。
37.根据权利要求27-31中任一项所述的电子设备,其中检索所述先前访问地址包括从与所述电子设备的用户相关联的先前访问地址的数据库中检索所述先前访问地址。
38.根据权利要求37所述的电子设备,其中所述先前访问地址的数据库中的每个先前访问地址对应于所述电子设备的所述用户先前访问过的地址。
39.根据权利要求37所述的电子设备,其中检索所述先前访问地址包括使用所述第一标识符在所述先前访问地址的数据库中执行查找。
40.一种电子设备,包括:
触敏显示器;
一个或多个处理器;和
用于执行根据权利要求1-5中任一项所述方法的装置。
CN201680027951.5A 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法 Active CN107660291B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111420593.3A CN114066427A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法
CN202111420563.2A CN114066426A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
US201562172078P 2015-06-06 2015-06-06
US62/172,078 2015-06-06
US14/986,299 US10114544B2 (en) 2015-06-06 2015-12-31 Systems and methods for generating and providing intelligent time to leave reminders
US14/986,299 2015-12-31
PCT/US2016/033778 WO2016200592A1 (en) 2015-06-06 2016-05-23 Systems and methods for generating and providing intelligent time to leave reminders

Related Child Applications (2)

Application Number Title Priority Date Filing Date
CN202111420563.2A Division CN114066426A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法
CN202111420593.3A Division CN114066427A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法

Publications (2)

Publication Number Publication Date
CN107660291A CN107660291A (zh) 2018-02-02
CN107660291B true CN107660291B (zh) 2021-12-03

Family

ID=57451234

Family Applications (3)

Application Number Title Priority Date Filing Date
CN202111420593.3A Pending CN114066427A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法
CN201680027951.5A Active CN107660291B (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法
CN202111420563.2A Pending CN114066426A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN202111420593.3A Pending CN114066427A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法

Family Applications After (1)

Application Number Title Priority Date Filing Date
CN202111420563.2A Pending CN114066426A (zh) 2015-06-06 2016-05-23 用于生成并提供智能出发时间提醒的系统和方法

Country Status (7)

Country Link
US (4) US10114544B2 (zh)
EP (1) EP3278276A1 (zh)
JP (4) JP6557358B2 (zh)
KR (4) KR102126426B1 (zh)
CN (3) CN114066427A (zh)
AU (1) AU2016274252A1 (zh)
WO (1) WO2016200592A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10114544B2 (en) 2015-06-06 2018-10-30 Apple Inc. Systems and methods for generating and providing intelligent time to leave reminders
US10401180B2 (en) * 2015-06-07 2019-09-03 Apple Inc. Frequency based transit trip characterizations
US10664569B2 (en) * 2015-08-21 2020-05-26 Medtronic Minimed, Inc. Data analytics and generation of recommendations for controlling glycemic outcomes associated with tracked events
GB201608233D0 (en) * 2016-05-04 2016-06-22 Tomtom Navigation Bv Methods and systems for determining safe return range
US10304447B2 (en) * 2017-01-25 2019-05-28 International Business Machines Corporation Conflict resolution enhancement system
US11115818B2 (en) * 2018-06-01 2021-09-07 Apple Inc. Techniques for enabling computing devices to identify when they are in proximity to one another
CN109359775A (zh) * 2018-10-25 2019-02-19 百度在线网络技术(北京)有限公司 行程管理方法、装置、设备及存储介质
US11228864B2 (en) * 2019-05-06 2022-01-18 Apple Inc. Generating unexpected location notifications
CN110262663B (zh) * 2019-06-20 2021-10-19 Oppo广东移动通信有限公司 基于眼球追踪技术的日程生成方法及相关产品
JP6875019B2 (ja) * 2019-09-06 2021-05-19 株式会社MaaS Tech Japan プログラム及び情報処理装置
US20210142281A1 (en) 2019-11-12 2021-05-13 Airspace Technologies, Inc. Logistical Management System
US11668575B2 (en) * 2020-03-05 2023-06-06 Airbnb, Inc. Pre-event triggers for travel management systems
CN113780975B (zh) * 2021-08-09 2022-12-30 荣耀终端有限公司 日程信息智能提醒方法、设备、存储介质和软件程序产品
CN113822643A (zh) * 2021-08-20 2021-12-21 荣耀终端有限公司 设置出行提醒的方法和装置
KR102586566B1 (ko) * 2021-10-27 2023-10-10 엘아이지넥스원 주식회사 지향성 이득을 갖는 안테나 구조를 이용한 방향 탐지 장치 및 방법
WO2023249206A1 (ko) * 2022-06-20 2023-12-28 삼성전자 주식회사 스케줄 관리를 위한 소프트웨어 어플리케이션에 관한 동작을 수행하기 위한 전자 장치 및 방법

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011160044A2 (en) * 2010-06-17 2011-12-22 Google Inc. Distance and location-aware reminders and scheduling assistance in a calendar system
CN103856896A (zh) * 2014-03-24 2014-06-11 南京大学 一种Android手机上带有基于地图日程提醒功能的路径时长预测方法
WO2014200736A1 (en) * 2013-06-09 2014-12-18 Apple Inc. Managing real - time handwriting recognition
CN104272770A (zh) * 2012-06-08 2015-01-07 英特尔公司 物理位置信息的自动化检索

Family Cites Families (46)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3701137B2 (ja) * 1999-04-16 2005-09-28 株式会社ケンウッド 自動車用推奨経路探索装置
US20020055351A1 (en) * 1999-11-12 2002-05-09 Elsey Nicholas J. Technique for providing personalized information and communications services
JP3907994B2 (ja) * 2001-10-12 2007-04-18 アルパイン株式会社 誘導経路探索方法及びナビゲーション装置
US6944539B2 (en) * 2001-10-25 2005-09-13 Aisin Aw Co., Ltd. Information display system for use with a navigation system
US7289812B1 (en) * 2001-12-20 2007-10-30 Adobe Systems Incorporated Location-based bookmarks
US20030200192A1 (en) * 2002-04-18 2003-10-23 Bell Brian L. Method of organizing information into topical, temporal, and location associations for organizing, selecting, and distributing information
JP2005031068A (ja) * 2003-06-20 2005-02-03 Matsushita Electric Ind Co Ltd 場所案内装置
JP2005228020A (ja) 2004-02-13 2005-08-25 Zenrin Co Ltd スケジュール管理装置
US8180663B2 (en) * 2005-06-28 2012-05-15 Microsoft Corporation Facilitating automated meeting scheduling
US7847686B1 (en) 2006-01-06 2010-12-07 Avaya Inc. Location-and direction-enhanced automatic reminders of appointments
JP2007257210A (ja) * 2006-03-22 2007-10-04 Fujitsu Ltd 情報処理装置、アプリケーション起動方法及びアプリケーション起動プログラム
US7941753B2 (en) * 2006-03-31 2011-05-10 Aol Inc. Communicating appointment and/or mapping information among a calendar application and a navigation application
US20070233635A1 (en) * 2006-04-04 2007-10-04 Craig Burfeind Systems and methods for organizing an event and tracking attendance status
KR100810703B1 (ko) * 2006-05-18 2008-03-07 삼성전자주식회사 스케줄 정보를 이용한 출발시각 알림 방법 및 그 장치
US7673248B2 (en) * 2006-11-06 2010-03-02 International Business Machines Corporation Combining calendar entries with map views
US20080133282A1 (en) * 2006-12-04 2008-06-05 Landar Sergei R Meeting resource scheduling based upon attendee participation types
US7869941B2 (en) * 2006-12-29 2011-01-11 Aol Inc. Meeting notification and modification service
US9646288B2 (en) * 2007-04-04 2017-05-09 Lucinda Grace Price Advertisements based on target market
US9175964B2 (en) * 2007-06-28 2015-11-03 Apple Inc. Integrated calendar and map applications in a mobile device
JP2009098781A (ja) 2007-10-15 2009-05-07 Brother Ind Ltd 移動情報提示装置、スケジュール管理システム、及び移動情報提示プログラム
US8839140B2 (en) * 2008-05-23 2014-09-16 Microsoft Corporation Pivot search results by time and location
US8423288B2 (en) 2009-11-30 2013-04-16 Apple Inc. Dynamic alerts for calendar events
US8000694B2 (en) * 2008-09-18 2011-08-16 Apple Inc. Communications device having a commute time function and methods of use thereof
US8914228B2 (en) * 2008-09-26 2014-12-16 Blackberry Limited Method of sharing event information and map location information
US20100174998A1 (en) 2009-01-06 2010-07-08 Kiha Software Inc. Calendaring Location-Based Events and Associated Travel
US20100191454A1 (en) * 2009-01-29 2010-07-29 Sony Corporation Location based personal organizer
US10241644B2 (en) 2011-06-03 2019-03-26 Apple Inc. Actionable reminder entries
US8583784B2 (en) * 2009-06-05 2013-11-12 Palm, Inc. Dynamic communication integration with calendar
US8451112B2 (en) * 2009-10-19 2013-05-28 Qualcomm Incorporated Methods and apparatus for estimating departure time based on known calendar events
US20110184768A1 (en) 2010-01-27 2011-07-28 Norton Kenneth S Automatically determine suggested meeting locations based on previously booked calendar events
US10134011B2 (en) * 2010-03-02 2018-11-20 Nokia Technologies Oy Methods and apparatuses for facilitating location selection
EP2781172B1 (en) 2011-11-17 2018-09-12 Paramount Bed Co., Ltd. Mattress and bed device
EP3196817B1 (en) * 2012-06-22 2020-02-19 Google LLC Presenting information for a current location or time
JP5928893B2 (ja) * 2012-08-08 2016-06-01 アイシン・エィ・ダブリュ株式会社 経路探索装置、経路案内装置、経路探索プログラム及び経路案内プログラム
US9578461B2 (en) * 2012-12-17 2017-02-21 Microsoft Technology Licensing, Llc Location context, supplemental information, and suggestions for meeting locations
WO2014112124A1 (ja) * 2013-01-21 2014-07-24 三菱電機株式会社 目的地予測装置、目的地予測方法、目的地表示方法
US9068851B2 (en) 2013-01-24 2015-06-30 Sap Se Location and distance based reminders
US9032000B2 (en) 2013-02-19 2015-05-12 Digital Globe Inc. System and method for geolocation of social media posts
US11493347B2 (en) * 2013-03-12 2022-11-08 Verizon Patent And Licensing Inc. Using historical location data to improve estimates of location
US9317813B2 (en) 2013-03-15 2016-04-19 Apple Inc. Mobile device with predictive routing engine
JP6281860B2 (ja) 2013-05-31 2018-02-21 アルパイン株式会社 ナビゲーション装置、ナビゲーションシステム、ポータブル装置及びコンピュータプログラム
US9573498B2 (en) 2013-06-13 2017-02-21 Innovative Accessories, Llc Protective padded sleeve for hip restraints on golf carts
JP2015021863A (ja) * 2013-07-19 2015-02-02 パイオニア株式会社 ナビゲーション装置、制御方法、プログラム、及び記憶媒体
US20150046209A1 (en) * 2013-08-09 2015-02-12 slipcal, PBC System and method for providing calendar services to users
US10034052B2 (en) * 2014-07-28 2018-07-24 Eldon Technologies Apparatus, systems and methods for synchronizing calendar information with electronic program guide information
US10114544B2 (en) 2015-06-06 2018-10-30 Apple Inc. Systems and methods for generating and providing intelligent time to leave reminders

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011160044A2 (en) * 2010-06-17 2011-12-22 Google Inc. Distance and location-aware reminders and scheduling assistance in a calendar system
CN104272770A (zh) * 2012-06-08 2015-01-07 英特尔公司 物理位置信息的自动化检索
WO2014200736A1 (en) * 2013-06-09 2014-12-18 Apple Inc. Managing real - time handwriting recognition
CN103856896A (zh) * 2014-03-24 2014-06-11 南京大学 一种Android手机上带有基于地图日程提醒功能的路径时长预测方法

Also Published As

Publication number Publication date
CN114066427A (zh) 2022-02-18
KR20200075902A (ko) 2020-06-26
WO2016200592A1 (en) 2016-12-15
US20210165544A1 (en) 2021-06-03
KR20210089788A (ko) 2021-07-16
US11016654B2 (en) 2021-05-25
KR20170134591A (ko) 2017-12-06
US20160357393A1 (en) 2016-12-08
CN107660291A (zh) 2018-02-02
JP2023126753A (ja) 2023-09-12
KR102401904B1 (ko) 2022-05-24
AU2016274252A1 (en) 2017-11-30
KR102001857B1 (ko) 2019-07-19
JP6869292B2 (ja) 2021-05-12
JP2019207716A (ja) 2019-12-05
US11487421B2 (en) 2022-11-01
JP2018515847A (ja) 2018-06-14
US20190121512A1 (en) 2019-04-25
JP6557358B2 (ja) 2019-08-07
US11880561B2 (en) 2024-01-23
KR102276766B1 (ko) 2021-07-14
EP3278276A1 (en) 2018-02-07
US20220382429A1 (en) 2022-12-01
CN114066426A (zh) 2022-02-18
KR102126426B1 (ko) 2020-06-24
JP7291171B2 (ja) 2023-06-14
KR20190086783A (ko) 2019-07-23
JP2021119678A (ja) 2021-08-12
US10114544B2 (en) 2018-10-30

Similar Documents

Publication Publication Date Title
US11880561B2 (en) Systems and methods for generating and providing intelligent time to leave reminders
US11733055B2 (en) User interactions for a mapping application
US11692840B2 (en) Device, method, and graphical user interface for synchronizing two or more displays
CN109196455B (zh) 用于carplay的应用程序快捷方式
US9965035B2 (en) Device, method, and graphical user interface for synchronizing two or more displays
CN113841104A (zh) 用于罗盘应用程序的用户界面
CN106662630B (zh) 使用通信耦接的电子设备来进行位置确定
CN110837275A (zh) 从使用一个设备转换到使用另一个设备
CN114090159A (zh) 基于使用情境提供用户界面并管理媒体的回放

Legal Events

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