智能约会建议的制作方法

文档序号:12288176阅读:201来源:国知局
智能约会建议的制作方法与工艺

在现代世界,人们经常使用电子日程安排或日历应用程序来跟踪记录他们的约会。这些日历应用程序在移动设备(例如,平板电脑、智能电话)以及个人计算机(例如,膝上型电脑、台式电脑)两者上操作。在一些情况下,用户可以对其日历进行跨平台的同步(例如,通过集中式服务器或云存储账户)。由于这些日历应用程序变得越来越普遍,需要进一步改进以使这些应用程序更易于使用。



技术实现要素:

一些实施方案提供了具有若干新颖特征中的一个或多个新颖特征的日历应用程序。在一些实施方案中,日历应用程序在具有触摸屏显示器的移动设备(例如,智能电话、平板电脑等)上操作。一些实施方案的日历应用程序使得用户能够通过手势触摸输入来修改日历布局的时间标度。另外,一些实施方案允许用户指定约会的特定时区。当应用程序显示不同时区的日历布局时,应用程序提供关于指定时区的信息作为日历布局中的约会表示的一部分。另外,一些实施方案的日历应用程序为在新消息收件箱内评论提供支持,呈现出由日历应用程序的用户所组织的约会的受邀者发送给该用户的评论,以及为用户提供更易对用户已受邀的约会进行评论的能力。一些实施方案的日历应用程序另外为识别创建约会的最优时间提供支持,具体方式为访问受邀者的日历并识别哪些受邀者在所提议的约会时间没空,以及提议受邀者有空的时间。最后,一些实施方案的日历应用程序自动分析用户日历的过往历史以便为用户提议新的约会。

如所提及的,一些实施方案为日历应用程序的用户提供通过手势触摸输入来修改日历布局的时间标度的能力。具体地讲,用户增加或减小时间标度(即,日历一小时所占据的显示屏的大小),从而相应地增加或减小日历中的约会表示的尺寸。在一些实施方案中,用户提供多点触摸手势输入,以便执行日历布局中的时间标度的重设。在用户增加表示的尺寸时,一些实施方案在表示中显示有关约会的附加信息(例如,约会的位置、约会的参加者等)。在一些实施方案中,在用户减小表示的尺寸时,应用程序修改约会表示中的文本尺寸。在短时(例如,15分钟或30分钟)约会的特定时间点,应用程序并不显示无法阅读的文本,而是将文本从日历布局完全移除。

当用户指定约会的时区信息时,一些实施方案的日历应用程序将该信息结合到日历布局中的约会表示中。当创建事件时,用户可指定该事件的时区(例如,将发生事件的时区)。在一些实施方案中,日历应用程序根据运行应用程序的移动设备所处的时区来显示用户约会的表示。因此,在一些情况下,日历应用程序显示第一时区中的日历,同时显示指定了第二时区的约会的表示。在此类情况下,一些实施方案在第一时区中的其对应时间显示该表示,但在该表示内指示第二时区及该第二时区中约会的指定时间。

如所指出的那样,一些实施方案的日历应用程序为在新消息收件箱内评论提供支持。具体地讲,一些实施方案的应用程序聚合邀请应用程序的用户赴约的新消息以及关于应用程序的用户所组织的约会的消息(例如,受邀者对约会置评和/或回绝约会)。当多名受邀者已对约会置评和/或回绝约会时,一些实施方案将这些通信聚合成用户界面中的单个条目。在一些实施方案中,用户可选择这些消息(或消息的聚合集)中的一个消息来查看有关约会的更详细信息,包括指示以下内容的信息:(i)受邀者是否已回应,(ii)受邀者的回应指示的是什么,以及(iii)受邀者是否已对约会置评。另外,一些实施方案为消息(或消息的聚合集)中的每一者提供独立可选项目,以访问具有有关约会受邀者的更详细信息的页面。在一些实施方案中,该页面还提供有关哪些受邀者已回应的指示,以及有关回应的受邀者是否指示他们将参加的指示符(例如,图形指示符)。另外,该页面提供受邀者可能已作出关于约会的任何评论的全文。

当日历应用程序的用户回绝约会(在一些实施方案中通过相同收件箱中的邀请消息)时,应用程序为用户自动提供向将发送给约会组织者的通信添加评论的能力,而非立刻发送该通信。用户可随后在评论中键入(例如,通过触摸屏键盘),并接受或回绝存在于收件箱中的其他邀请。日历应用程序推迟发送指示邀请接受/回绝的通信,直到用户提供指示她已完成收件箱中的操作的输入(例如,通过返回到日历布局)。

一些实施方案的应用程序还提供关于新约会的所提议参与者的空闲时间的信息,以有助于安排约会。在一些实施方案中,当用户输入约会(用户为该约会的组织者)的新受邀者时,应用程序自动访问受邀者的日历(例如,通过访问服务器)并显示指示受邀者在约会的初始安排时间是否有空的指示符(例如,图形指示符)。当应用程序无法访问特定受邀者的日历时(例如,因为服务器不可访问或应用程序没有所需的权限),则应用程序显示受邀者的空闲时间未知的指示符。一旦用户已完成添加约会的受邀者,应用程序就识别任何日程安排冲突并提议受邀者有空的附加新时间。一些实施方案显示(i)在约会的当前安排时间没空的受邀者,(ii)所有受邀者(和会议组织者)都有空的至少一个即将到来的时间,以及(iii)各种子组的受邀者有空的即将到来的时间。应用程序为这些即将到来的时间中的每一者呈现可选项目,从而使组织者能够选择该时间作为约会的新时间,或在即将到来的时间在其日历中查看约会。

除了分析受邀者的日历来确定约会的即将到来的时间之外,一些实施方案还提供新约会特征,该新约会特征分析用户的过往日历历史以便向用户提议可能的约会,并列出约会详情。当用户在日历应用程序中选择快速约会特征时,应用程序生成可能的约会的集合。在一些实施方案中,应用程序为用户提供第一选项,以对将在用户日历中的第一空闲时隙处创建的约会进行命名,且没有任何附加详情(即,供用户填入详情)。另外,应用程序在各种即将到来的时间提供所提议约会的一个或多个可选项目,并且已指定附加约会详情。

一些实施方案的日历应用程序在用户的过往日历历史中识别模式(例如,定期会议),然后提议继续此类模式的约会。例如,如果用户在过去数周的一周同一天同一时间一直有同一名称的约会,则应用程序在下一次出现一周的特定一天时在同一时间提议具有该名称的约会。如果复现的时间被不同约会所占据,则一些实施方案的应用程序识别附近时间(例如,恰好之前或恰好之后)并在该附近时间提议新约会。如果附加详情(例如,位置、受邀者列表等)在所有复现中是相同或相似的,则应用程序将这些附加详情用于所提议的约会。相似地,应用程序可能识别每隔一周、每天、为期数月在一个月的同一天等举办的约会。应用程序可能识别其他模式,诸如在许多约会(具有许多不同时间和约会名称)处的同一组受邀者,并且在下一空闲时间为该组受邀者提议新约会。一旦用户选择所提议的约会,应用程序就将该约会添加到用户的日历,并且用户可在将约会的邀请发送给受邀者的最终确定列表之前编辑详情(例如,改变时间、受邀者、位置等)。

上述发明内容旨在用作对本发明的一些实施方案的简单介绍。其并非意味着对在本文档中所公开的所有发明主题进行介绍或概述。随后的具体实施方式以及在具体实施方式中所参照的附图进一步描述发明内容中所述的实施方案以及其他实施方案。因此,为了理解该文档所描述的所有实施方案,需要全面审阅发明内容、具体实施方式和附图。此外,受权利要求书保护的主题不被发明内容、具体实施方式及附图中的示例性细节所限定,而是被所附权利要求所限定,这是因为受权利要求书保护的主题在不脱离本主题的实质的情况下能够以其他特定形式体现。

附图说明

在所附的权利要求中阐述了本发明的新颖特征。然而,出于说明的目的,在以下附图中阐述了本发明的若干实施方案。

图1示出了在用户增加时间标度(即,增加一个时间单位所占据的布局的部分),接着使图形用户界面(GUI)返回到默认时间标度时的一些实施方案的日历应用程序的GUI。

图2示出了日历布局不同日的经修改时间标度的保持。

图3示出了在用户减小时间标度(即,减小一个时间单位所占据的布局的部分)时的GUI。

图4示出了在用户通过提供各种触摸输入来增加时间标度、接着减小时间标度、然后返回到默认时间标度时的一些实施方案的日历应用程序的横向取向GUI。

图5概念性地示出了状态图,该状态图示出了一些实施方案的日历布局GUI的状态以及状态之间的变化。

图6示出了用户为新事件修改时区。

图7和图8示出了在相同日历的两种不同情形中一些实施方案的日历布局GUI。

图9概念性地示出了用于在日历布局中显示约会表示的一些实施方案的过程。

图10示出了用户访问一些实施方案的日历消息用户界面。

图11示出了用户在一些实施方案的日历消息用户界面中回绝约会并对约会置评的实施例。

图12示出了用户在日历消息GUI中回绝多个约会。

图13示出了与图12相同的流程,不同的是用户接受邀请中的一个邀请而非回绝该邀请。

图14概念性地示出了状态图,该状态图示出了一些实施方案的日历消息GUI的状态以及状态之间的变化。

图15和图16示出了约会的创建,并且具体地讲在创建约会时向约会添加受邀者。

图17概念性地示出了用于在向约会添加受邀者时显示图形指示符的过程。

图18和图19示出了用于显示新约会的日程安排冲突和另选时间的一些实施方案的受邀者日程安排GUI。

图20示出了可选项目用于在用户日历中查看所提议的另选时间的用途。

图21示出了另选的所提议时间的选择及其对受邀者日程安排GUI的影响。

图22概念性地示出了用于生成和准备在日程安排GUI中显示的所提议时间的一些实施方案的过程。

图23示出了约会组织者给所有约会受邀者发送电子邮件。

图24示出了用户日程安排的月视图GUI。

图25和图26示出了一些实施方案的日视图GUI中新约会选项的生成。

图27A-B示出了所提议约会选项中的一个约会选项的选择以及在用户日历中新约会的随后创建。

图28概念性地示出了用于在接收到创建新约会的输入时,自动生成所提议的约会的一些实施方案的过程。

图29与图24一样示出了用户日程安排的月视图GUI。

图30和图31示出了基于用户文本输入的一些实施方案的日视图GUI中所提议的新约会选项的生成。

图32示出了对所提议的约会项目中的一个约会项目的选择以及在用户日历中新约会的最终创建。

图33概念性地示出了用于基于使文本输入与用户的过往日历约会历史匹配来自动生成所提议的约会的一些实施方案的过程。

图34是一些实施方案的移动计算设备的架构的实施例。

图35概念性地示出了实现本发明的一些实施方案所利用的电子系统的实施例。

具体实施方式

在本发明的以下具体实施方式中,提出并描述了本发明的许多细节、实施例和实施方案。然而,对于本领域的技术人员来说将清楚和显而易见的是,本发明并不限于所陈述的实施方案,并且本发明可在没有使用所讨论的一些具体细节和实施例的情况下被实施。

一些实施方案提供了具有若干新颖特征中的一个或多个新颖特征的日历应用程序。在一些实施方案中,日历应用程序在具有触摸屏显示器的移动设备(例如,智能电话、平板电脑等)上操作。一些实施方案的日历应用程序使得用户能够通过手势触摸输入来修改日历布局的时间标度。另外,一些实施方案允许用户指定约会的特定时区。当应用程序显示不同时区的日历布局时,应用程序提供关于指定时区的信息作为日历布局中的约会表示的一部分。另外,一些实施方案的日历应用程序为在新消息收件箱内评论提供支持,呈现出由日历应用程序的用户所组织的约会的受邀者发送给该用户的评论,以及为用户提供更易于对用户已受邀的约会进行评论的能力。一些实施方案的日历应用程序另外为识别建立约会的最优时间提供支持,具体方式为访问受邀者的日历并识别哪些受邀者在所提议的约会时间没空,以及提议受邀者有空的时间。最后,一些实施方案的日历应用程序自动分析用户日历的过往历史以便为用户提议新约会。

一些实施方案的日历应用程序允许用户管理一个或多个日历(例如,工作日历、个人日历等)中的约会(也称为事件)。在一些实施方案中,每个日历与用户的不同电子邮件地址相关联。针对特定日历中的特定日期和时间来安排约会。

日历应用程序允许用户组织约会并接收他人所组织的约会的邀请。当组织约会时,用户指定各种详情(名称、位置、日期和时间等)以及所提议的参加者(受邀者)的列表。在最后确定约会时,应用程序将通信(例如,电子邮件)发送给受邀者。当日历应用程序接收日历应用程序(不同设备上的相同应用程序或不同应用程序)的另一用户所组织的约会的这种通信时,应用程序为用户提供接受或回绝邀请(或回应称她不确定空闲时间)的能力。当用户接受约会时,应用程序将约会添加到用户的日历。

用户可在日历应用程序的日历布局用户界面中查看她的日历。在一些实施方案中,这种用户界面为用户提供了日视图、周视图、月视图或年视图。在一些或所有这些视图中,应用程序在日历布局中显示用户约会的表示,以及关于该约会的信息(例如,约会的名称)。一些实施方案的应用程序还为用户提供用户界面以查看约会的详情、修改详情、创建新约会、查看接收到的日历消息等。

如所提及的,一些实施方案为日历应用程序的用户提供通过手势触摸输入来修改日历布局的时间标度的能力。具体地讲,用户增加或减小时间标度(即,日历一小时所占据的显示屏的大小),从而相应地增加或减小日历中的约会表示的尺寸。在一些实施方案中,用户提供多点触摸手势输入,以便执行日历布局中的时间标度的重设。在用户增加表示的尺寸时,一些实施方案在表示中显示有关约会的附加信息(例如,约会的位置、约会的参加者等)。在一些实施方案中,在用户减小表示的尺寸时,应用程序修改约会表示中的文本尺寸。在短时(例如,15分钟或30分钟)约会的特定时间点,应用程序并不显示无法阅读的文本,而是将文本从日历布局完全移除。

当用户指定约会的时区信息时,一些实施方案的日历应用程序将该信息结合到日历布局中的约会表示中。当创建事件时,用户可指定该事件的时区(例如,将发生事件的时区)。在一些实施方案中,日历应用程序根据运行应用程序的移动设备所处的时区来显示用户约会的表示。因此,在一些情况下,日历应用程序显示第一时区中的日历,同时显示指定了第二时区的约会的表示。在此类情况下,一些实施方案在第一时区中的其对应时间显示该表示,但在该表示内指示第二时区及该第二时区中约会的指定时间。

如所指出的那样,一些实施方案的日历应用程序为在新消息收件箱内评论提供支持。具体地讲,一些实施方案的应用程序聚合邀请应用程序的用户赴约的新消息以及关于应用程序的用户所组织的约会的消息(例如,受邀者对约会置评和/或回绝约会)。当多名受邀者已对约会置评和/或回绝约会时,一些实施方案将这些通信聚合成用户界面中的单个条目。在一些实施方案中,用户可选择这些消息(或消息的聚合集)中的一个消息(或消息的聚合集)来查看有关约会的更详细信息,包括指示以下内容的信息:(i)受邀者是否已回应,(ii)受邀者的回应指示的是什么,以及(iii)受邀者是否已对约会置评。另外,一些实施方案为消息(或消息的聚合集)中的每一者提供独立可选项目,以访问具有有关约会受邀者的更详细信息的页面。在一些实施方案中,该页面还提供有关哪些受邀者已回应的指示,以及有关回应的受邀者是否指示他们将参加的指示符(例如,图形指示符)。另外,该页面提供受邀者可能已作出关于约会的任何评论的全文。

当日历应用程序的用户回绝约会(在一些实施方案中通过相同收件箱中的邀请消息)时,应用程序为用户自动提供向将发送给约会组织者的通信添加评论的能力,而非立刻发送该通信。用户可随后在评论中键入(例如,通过触摸屏键盘),并接受或回绝存在于收件箱中的其他邀请。日历应用程序推迟发送指示邀请接受/回绝的通信,直到用户提供指示她已完成收件箱中的操作的输入(例如,通过返回到日历布局)。

一些实施方案的应用程序还提供关于新约会的所提议参与者的空闲时间的信息,以有助于安排约会。在一些实施方案中,当用户输入约会(用户为该约会的组织者)的新受邀者时,应用程序自动访问受邀者的日历(例如,通过访问服务器)并显示指示受邀者在约会的初始安排时间是否有空的指示符(例如,图形指示符)。当应用程序无法访问特定受邀者的日历时(例如,因为服务器不可访问或应用程序没有所需权限),则应用程序显示受邀者的空闲时间未知的指示符。一旦用户已完成添加约会的受邀者,应用程序就识别任何日程安排冲突并提议受邀者有空的附加新时间。一些实施方案显示(i)在约会的当前安排时间没空的受邀者,(ii)所有受邀者(和会议组织者)都有空的至少一个即将到来的时间,以及(iii)各种子组的受邀者有空的即将到来的时间。应用程序为这些即将到来的时间中的每一者呈现可选项目,从而使组织者能够选择该时间作为约会的新时间,或在即将到来的时间在其日历中查看约会。

除了分析受邀者的日历来确定约会的即将到来的时间之外,一些实施方案还提供新约会特征,该新约会特征分析用户的过往日历历史以便向用户提议可能的约会,并列出约会详情。当用户在日历应用程序中选择快速约会特征时,应用程序生成可能的约会的集合。在一些实施方案中,应用程序为用户提供第一选项,以对将在用户日历中的第一空闲时隙处创建的约会进行命名,且没有任何附加详情(即,供用户填入详情)。另外,应用程序在各种即将到来的时间提供所提议约会的一个或多个可选项目,且已指定附加约会详情。

一些实施方案的日历应用程序在用户的过往日历历史中识别模式(例如,定期会议),然后提议继续此类模式的约会。例如,如果用户在过去数周的一周同一天同一时间一直有同一名称的约会,则应用程序在下一次出现一周的特定日时在同一时间提议具有该名称的约会。如果复现的时间被不同约会所占据,则一些实施方案的应用程序识别附近时间(例如,恰好之前或恰好之后)并在该附近时间提议新约会。如果附加详情(例如,位置、受邀者列表等)在所有复现中是相同或相似的,则应用程序将这些附加详情用于所提议的约会。相似地,应用程序可能识别每隔一周、每天、为期数月在一个月的同一天等举办的约会。应用程序可能识别其他模式,诸如在许多约会(具有许多不同时间和约会名称)处的同一组受邀者,并且在下一空闲时间为该组受邀者提议新约会。一旦用户选择所提议的约会,应用程序就将该约会添加到用户的日历,并且用户可在将约会的邀请发送给受邀者的最终确定列表之前编辑详情(例如,改变时间、受邀者、位置等)。

以上段落描述了一些实施方案的新颖日历应用程序特征的实施例。下文描述了若干更详细的实施例。第I部分描述了修改一些实施方案的日历布局的时间标度。第II部分接着描述了时区信息用于约会的用途以及该信息在一些实施方案的日历布局中的显示。接下来,第III部分描述了使得用户能够易于对一些实施方案中的约会邀请置评的特征,而第IV部分描述了用于基于参与者空闲时间来安排约会的一些实施方案的日历应用程序的特征。第V部分描述了用于基于用户的日历历史来自动建议新约会的一些实施方案的日历应用程序的特征。最后,第VI部分描述了电子系统,用该电子系统来实现本发明的一些实施方案。

I.重设日历布局

如所提及的,一些实施方案的日历应用程序为用户提供通过手势触摸输入来修改应用程序的用户界面中显示的日历布局的时间标度的能力。具体地讲,用户增加或减小时间标度(即,日历一小时或其他时间单位所占据的显示屏的量),从而相应地增加或减小日历中的约会表示的尺寸。在一些实施方案中,用户提供多点触摸手势输入,以便执行日历布局中的时间标度的重设。在用户增加表示的尺寸时,一些实施方案在表示中显示有关约会的附加信息(例如,约会的位置、约会的参加者等)。在一些实施方案中,在用户减小表示的尺寸时,应用程序修改约会表示中的文本尺寸。在短时(例如,15分钟或30分钟)约会的特定时间点,应用程序并不显示无法阅读的文本,而是将文本从日历布局完全移除。

图1示出了在六个阶段105-130内用户输入增加时间标度(即,增加一个时间单位所占据的布局的部分),并接着使图形用户界面(GUI)返回到默认时间标度时的一些实施方案的日历应用程序的GUI 100。具体地讲,在第二阶段110和第三阶段115中,用户提供多点触摸手势输入以增加时间标度,而在第五阶段125中,用户提供不同触摸输入以返回到默认时间标度。

第一阶段105示出了一些实施方案的日历布局GUI 100。在一些实施方案中,应用程序在触摸屏移动设备(例如,智能电话、平板电脑等)上操作,并且GUI 100显示于移动设备的触摸屏显示器上(并通过移动设备的触摸屏显示器接收输入)。如图所示,GUI 100包括一组可选项目135、一组日历导航项目140、日历布局145以及一组应用程序导航项目149。

在一些实施方案中,该组可选项目135包括日历布局格式改变项目136、搜索项目137和新事件创建项目138。在一些实施方案中,选择日历布局格式改变项目136(例如,通过轻敲触摸屏显示器上的项目)使应用程序显示日历列表视图而非小时日历布局145。在一些实施方案中,日历列表视图显示按日期和时间排序的即将到来的约会列表。搜索项目137的选择使应用程序呈现用于搜索日历的搜索栏。新事件创建项目138的选择使应用程序打开新事件创建GUI,用户可通过该新事件创建GUI输入新事件的详情。

在一些实施方案中,该组日历导航项目140包括当前周每天的可选项目,以及用于在时间分级结构中向上导航(即,导航到整个月而非特定周和天的不同布局)的可选项目141。可选择一周不同日的每个可选项目,以使应用程序在日历布局145中显示所选日的用户日程安排。当前选择的日子(本例中为5月6日)由日期周围的图形指示符(即,在“6”周围显示的圆圈)指示。

一些实施方案的日历布局145显示在用户日历中为当前选择的日期安排的约会的表示。日历布局145显示时间标记(例如,每小时、每半小时、每两小时等),在本例中在1PM(在当前时间12:30PM后的下一小时)时开始,并在9PM时结束。时间标记(以及对应地,日历)根据布局的时间标度来间隔开,该时间标度决定在布局中显示日程安排的时间长度。在日历布局145内,应用程序显示在用户日历中安排的五个约会的表示150-170。这些表示水平跨越日历布局145的宽度,并且每一者垂直跨越其相应时隙。因此,“会议1”(即从1PM到2PM安排的约会)的表示150跨越表示该时间的日历布局145的部分。相似地,表示155跨越从3PM到4PM的日历布局145的部分等。这些表示中的每一者显示约会名称(“会议1”、“足球练习”等)。在一些实施方案中,这些表示还显示约会的位置,前提是该信息可用并适配于该表示内。

该组应用程序导航项目149包括今天的项目151、日历选择项目152和收件箱访问项目153。今天的项目151的选择将日历布局145导航到当日。日历项目152的选择使应用程序打开对话窗口,在该对话窗口中用户可选择将在日历布局145中显示的内容。例如,用户可从不同日历(例如,与不同电子邮件地址或其他账户相关联)选择是否显示节假日、所保存的联系人生日等。收件箱访问项目153使得用户能够访问日历消息用户界面,这将在下文第III部分中更详细地描述。

第二阶段110示出了用户正通过日历布局145上方的显示屏提供多点触摸手势输入。具体地讲,用户输入以日历布局中的7PM附近为中心的分开双指手势。该多点触摸手势输入使日历应用程序修改日历布局的时间标度。

具体地讲,如第三阶段115中所示,应用程序增加每小时所表示的日历布局145的部分,使得日程安排的较小部分在该布局内显示。即,应用程序将以7PM附近为中心的日历布局的一部分放大。然而,该缩放仅在垂直方向上;日历布局145的水平方位未改变。一些实施方案围绕布局145的中心(其在当前实施例中将在5PM附近)放大,而其他实施方案(如该实施例中所示)围绕手势输入的中心放大。作为修改时间标度的结果,在第三阶段115中仅约会表示160和165(以及表示170的小部分)仍然显示于日历布局145中。与日历布局的时间标度相对应,这些约会表示160和165在尺寸上已增加,另外此时每一者均显示约会的位置(“办公室”和“城市公园”)以及约会名称。在该第三阶段115中,用户还继续多点触摸手势分开输入。

第四阶段120示出了在用户已完成在第二阶段110中开始的多点触摸手势输入之后的GUI 100。相比于第三阶段115,对时间标度已作进一步修改,使得日历布局145仅显示不到用户日程安排的一个半小时,且仅表示165显示于布局中。除了约会名称之外,约会表示165还显示会议参加者的列表(非日历应用程序的用户)。一些实施方案并未显示除约会的标题和位置之外的附加信息。另一方面,一些实施方案在约会表示放大时显示更多信息,包括参加者或受邀者、关于会议的任何备注、已接受或回绝会议的受邀者的人数等。

在第五阶段125中,用户在日历布局145上方提供不同触摸输入(具体地讲,双击)。如阶段130中所示,与第一阶段105中所示的相似,这使得应用程序将日历布局145显示返回到其默认时间标度。因此,所有约会表示150-170此时以与第一阶段140中相同的尺寸显示于GUI 100内。

在该图中以及在该文档通篇中,示出并描述了各种具体触摸输入。然而,本领域的普通技术人员将认识到,不同实施方案可使用不同类型的输入(多点触摸输入、单点触摸输入、接近触摸输入或非触摸输入诸如来自光标控制器、物理按钮等的输入)来执行附图中所示的操作。因此,分开多点触摸手势和双击触摸输入之外的输入可能用于修改时间标度并返回到默认时间标度,正如可执行后续附图中所示的那些之外的输入,而非后续附图中所示的手势。

在一些实施方案中,用户可改变日历布局的时间标度,接着改变日历显示于布局中的那天。在一些此类实施方案中,对于新选择的一天,日历应用程序保持时间标度。即,应用程序使日历布局的新时间标度在不同时间段的日程安排中“固定不变”。

图2示出了在GUI 100的四个阶段205-220内日历布局不同日的经修改时间标度的保持。第一阶段205示出了处于与前一附图的第一阶段105和第二阶段110中相同的状态的GUI 100。另外,在该阶段,用户执行与图1的阶段110和阶段115中相同的手势输入,并且所得第二阶段210与该附图的阶段120相同。此时,时间标度已被修改成使得日历布局显示略少于5月6日的日程安排的一个半小时,从6PM稍前一点一直到接近7:30PM。

在第三阶段215中,用户选择表示5月7日星期三的可选项目225。在这种情况下,用户通过在可选项目上方的轻敲手势来做出该选择。由于这是当前显示的一天之后的第二天,一些实施方案允许通过在日历布局145上方的向左轻扫手势来进行相同日历导航。

所得的阶段220显示5月7日星期三的用户日程安排。由于用户在改变所显示的一天之前已修改了时间标度,因此应用程序保持所修改的时间标度(以及日历布局中所示的这一日的日程安排的部分)。因此,日历布局145此时显示从6PM前不久到将近7:30PM的用户日程安排的部分,这包括约会“与客户共进晚餐”的约会表示230。由于表示230占据日历布局145的大部分,应用程序显示约会的位置和参加者(或其他实施方案中的其他信息)。

除了修改时间标度来放大一小时所表示的日历布局的部分之外,一些实施方案的应用程序还允许用户在相反方向上修改日历布局的时间标度。即,通过手势输入,用户可修改日历布局的时间标度,使得每小时占据日历布局的较小部分并且该日的更多时间显示于布局内。

图3示出了用户在四个阶段305-320内减小时间标度(即,减小一个时间单位所占据的布局的部分)时的GUI 100。第一阶段305示出了处于默认时间标度的日历布局145。日程安排示出了五个约会表示325-345,这些与上面实施例中的约会表示150-170相似。然而,在这种情况下,约会“会议1”和“会议2”均仅半小时长,因此其在日历布局145中的对应表示较小。

在第二阶段310中,用户开始通过日历布局145上方的触摸屏显示器提供多点触摸手势输入。虽然先前的附图示出了用户用两根手指输入分开手势,但在这种情况下,用户提供捏合手势以使日历应用程序修改日历布局的时间标度。

具体地讲,如第三阶段315中所示,应用程序减小每小时所表示的日历布局145的部分,使得日程安排的较大部分在该布局内显示。即,应用程序将以7PM附近为中心的日历布局的一部分缩小。和先前附图中一样,该缩放操作仅在垂直方向上;日历布局145的水平方位未改变。一些实施方案围绕布局145的中心(其在本实施例中将在5PM附近)缩小,而其他实施方案围绕手势输入的中心缩小(如本例中所示)。此外,由于所选日存在时间界限,一些实施方案还可修改缩放的中心。即,一些实施方案的应用程序不延续到前一天或后一天的日程安排,因此可在任一侧达到12AM后增加在布局的仅顶部或仅底部处示于日历布局中的时间。作为修改时间标度的结果,与日历布局的时间标度相对应,约会表示325-345在尺寸上已减小。此外,每个约会表示的文本尺寸已减小以适配于这些约会表示内。在该第三阶段315中,用户继续多点触摸手势捏合输入。

第四阶段320示出了在用户已完成在第二阶段310中开始的多点触摸手势输入之后的GUI 100。相比于第三阶段315,对时间标度已作进一步修改,使得日历布局145此时显示从所选择的5月6日的大约9:30AM到午夜的用户日程安排。在所选择的一天结束到午夜后,时间标度的进一步减小使得在UI顶部仅出现较早的时间。另外,约会表示330、340和345的文本在尺寸上已继续减小。

应用程序还已移除约会表示325和335(其为仅半小时的较短会议)的文本。一旦约会表示变得小于阈值尺寸,一些实施方案就将文本完全移除,而非显示难以阅读或无法阅读的信息文本。该阈值可基于表示的尺寸、某些时间标度的约会时长等。在一些实施方案中,文本被替换为图形指示符,该图形指示符向用户通知文本被替换。为了查看文本,用户可选择事件(以使应用程序显示事件详情GUI)或提供手势输入来修改时间标度。例如,正如图1中针对增加的时间标度所示,用户可在减小时间标度(例如,双击输入)之后提供输入以返回到默认时间标度。此外,在减小时间标度之后,用户可提供输入以使日历应用程序切换显示日程安排的那天,并且减小的时间标度也将用于新显示的日程安排。

先前三张图中所示的日历布局GUI 100是应用程序在其上操作的移动设备在纵向取向上取向时示出的GUI。一些实施方案以与纵向取向GUI相似的重设特性显示横向取向的不同日历布局GUI。

图4示出了用户通过在五个阶段405-425内提供各种触摸输入来增加时间标度、接着减小时间标度、然后返回到默认时间标度时的一些实施方案的日历应用程序的这种横向取向GUI 400。具体地讲,在第二阶段410中,用户提供多点触摸手势输入来增加时间标度,在第三阶段415中,用户提供多点触摸手势输入来减小时间标度,并且在第四阶段420中,用户提供不同触摸输入来返回到默认时间标度。

第一阶段405示出了一些实施方案的横向取向日历布局GUI 400。GUI 400包括标头行430、全天事件行435和日历布局440。标头行430显示该周的若干天以及该周这些天所属的月份。虽然该图将GUI 400示出为显示略多于该周的三天,但一些实施方案使宽度格式化,使得五天(即,一个工作周)得以显示。在一些实施方案中,显示于横向取向布局内的天数是用户可修改的变量。另外,当该周的当前天显示于GUI 400内时,一些实施方案突出显示这一天(例如,在其数字周围加上圆圈)。

在一些实施方案中,仅当当前显示的周中的一天具有全天事件时(即使这一天当前未显示于日历布局内),全天事件行435才会显示于一些实施方案中。此类事件可能为预先制定的事件,诸如节假日以及预定的约会(例如,会议)。

日历布局440与布局145相似,不同的是布局440跨越多天。日历布局440还具有在左侧垂直延伸的时间标记,并且包括所显示的日程安排内的约会表示,其表示所显示的这些天中用户的约会。

在第二阶段410中,用户通过日历布局440上方的显示屏提供多点触摸手势输入。具体地讲,用户输入分开双指手势,这使应用程序增加日历布局440的时间标度。因此,第三阶段415示出了日历布局440显示这三天的用户日程安排的仅两小时,而非前一阶段的四个半小时。另外,医生约会的约会表示445此时示出了该约会的位置,并且约会表示450示出了约会的完整标题(“午餐会议”)。

第三阶段415还示出了用户此时正在日历布局上方提供多点触摸捏合手势输入,以减小日历布局440的时间标度。第四阶段420示出了所得的日历布局440,其中用户日程安排的大约八小时在布局中示出。一些约会表示的文本尺寸已减小,并且对于约会表示455而言(对于“会议2”而言),应用程序已将文本完全移除。在第三阶段415和第四阶段420两者中,全天事件行435在高度上未改变。然而,在其他实施方案中,应用程序相应地增加或减小该全天事件行(如果存在的话)的高度。用户还在第四阶段420中提供双击输入,并且在第五阶段425中,应用程序已将日历布局440返回到第一阶段405的默认时间标度。

图5概念性地示出了状态图500,该状态图显示了一些实施方案的日历布局GUI的状态以及状态之间的变化。本领域的普通技术人员将认识到,该状态图并未涵盖与日历布局进行的每种可能的交互。例如,该状态图并未描述改变应用程序显示用户日程安排的那天(或多天,在横向取向上),或在一天日程安排内向上和向下滚动。相反,状态图500限于对日历布局的时间标度进行的修改。在状态图500中所示的每种状态中,日历应用程序的操作由一个或多个应用程序进程控制,这些应用程序进程负责处理与日历应用程序GUI的用户交互。

当用户未与日历布局500进行交互时,GUI处于状态505,在该状态下日历应用程序静态地显示日历布局。即,当未接收到输入(且应用程序正显示日历布局GUI)时,应用程序静态地显示该GUI。

当接收到第一类型的手势输入(例如,图1中所示的分开多点触摸手势)时,应用程序转变为状态510来增加日历布局的时间单位的尺寸。即,在接收到手势输入时,应用程序增加每小时(或半小时或其他时间单位)所占据的日历布局的部分,如图1中所示。在该输入继续时,应用程序保持处于状态510,直到经过阈值(引起转变为状态515或520)或手势输入停止(引起转变回状态505)。

如图所示,当约会表示的尺寸达到第一类型的阈值时,应用程序转变为状态515以显示事件的附加信息,然后返回到状态510以继续增加时间标度。例如,如图1中所示,应用程序可能在其表示内显示约会的位置(但这有时可能按默认方式针对约会进行显示),约会的参加者,有关约会的任何备注,哪些受邀者已接受、回绝或回复称他们不确定参加与否的相关指示,或任何其他存储的关于约会的信息。

当约会表示的尺寸达到第二类型的阈值时,应用程序转变为状态520以增加日历中的事件的文本尺寸。在一些实施方案中,仅当时间标度已从默认时间标度减小(即,小时数小于默认标度)时,才存在第二类型的阈值。即,应用程序并未转变为状态520并增加文本的尺寸超过默认文本尺寸,但可增加先前已从默认值减小的文本的尺寸。例如,如果用户在图3的第四阶段320之后提供分开手势输入,则应用程序将增加一些约会表示的文本尺寸。

当应用程序并非接收第一类型的手势输入,而是接收第二类型的手势输入(例如,图3中所示的捏合多点触摸手势)时,应用程序转变为状态525来减小日历布局的时间单位的尺寸。即,在接收到手势输入时,应用程序减小每小时(或半小时或其他时间单位)所占据的日历布局的部分,如图3中所示。在该输入继续时,应用程序保持处于状态525,直到经过阈值(引起转变为状态530或535)或手势输入停止(引起转变回状态505)。

如图所示,当约会表示的尺寸减小超过第一类型的阈值时,应用程序转变为状态530并从约会表示移除信息,然后返回到状态525以继续减小时间标度。例如,如图4中所示,应用程序可能从所显示的约会表示移除位置。相似地,如果用户想在图1的最后阶段130之后提供捏合手势,则在经过阈值之后,应用程序将从约会表示165移除参加者。另外,如图3中所示,一旦那些表示变得小于特定阈值,应用程序就会从约会表示完全移除文本。

当日历布局中的约会表示的尺寸减小超过第二类型的阈值时,应用程序转变为状态535以减小日历中的事件的文本尺寸。如上所述,在一些实施方案中,仅当所显示的时间标度低于默认时间标度(即,小时数小于默认时间标度)时,才存在该第二类型的阈值。即,仅在约会表示小于其时间长度的默认尺寸(如图3中所示)时,应用程序才会修改文本尺寸。

在一些实施方案中,如果用户流畅地从第一类型的手势输入变换为第二类型的手势输入(或反之亦然),则应用程序也可直接从状态510转变为状态525(或反之亦然)。然而,这也可看作通过状态505的瞬时或近乎瞬时转变。

当应用程序接收第三类型的输入(其在不同实施方案中可为或可不为手势输入)时,应用程序转变为状态540以使日历中的时间单位的尺寸返回到默认时间标度,然后返回到状态505。在一些实施方案中,如图1和4中所示,该输入为双击输入。应用程序在状态540下也可使所有字体尺寸和所显示的事件信息文本返回到默认值。

II.处理约会的时区

本发明的一些实施方案允许用户指定约会的时区。当用户指定约会的该时区信息时,一些实施方案的日历应用程序将该信息结合到日历布局中的约会表示中。当创建事件时,用户可指定该事件的时区(例如,将发生事件的时区)以及该时区中的开始时间、结束时间等。在一些实施方案中,日历应用程序根据运行应用程序的移动设备所处的时区来显示用户约会的表示。因此,在一些情况下,日历应用程序显示第一时区中的日历,同时显示指定了第二时区的约会的表示。在此类情况下,一些实施方案在第一时区中的其对应时间显示该表示,但在该表示内指示第二时区及该第二时区中约会的指定时间。

图6示出了用户在六个阶段605-630内修改新事件的时区。第一阶段605示出了第I部分中所述的日历布局GUI 100。用户在第一阶段605期间选择新事件创建项目138,以创建新事件。

第二阶段610示出了新约会创建GUI 600。在一些实施方案中,当日历应用程序接收输入来创建新约会时,应用程序显示约会创建GUI 600。通过该GUI,用户可定义新约会的各种参数(即,约会特征)。用户可输入事件的标题(名称)、事件的位置,设定开始和结束时间,设定各种参数诸如复现、行程时间、警报等,以及输入事件的受邀者。第二阶段610示出了在用户已输入新约会的标题(“与John共进午餐”)和位置(“CaféLocal)之后的新约会创建GUI 600。在一些实施方案中,选择复现(“重复”)或受邀者选项使应用程序显示附加对话框,用户可通过这些对话框选择复现选项或输入受邀者。另外,应用程序为用户提供易于选择开始和结束时间的机制。如图所示,用户在该阶段中选择开始时间行635,以编辑开始时间。

第三阶段615示出了由开始时间行635的选择得出的所得开始时间条目对话框640。如图所示,开始时间条目对话框640允许用户通过手势触摸输入(上下轻扫)来修改天、小时和分钟,以及选择上午或下午。另外,在选择开始时间行635时,应用程序显示时区选择行645。

虽然在GUI 600中示出为可通过开始时间行635进行访问(即,作为开始时间条目对话框的部分),但在其他实施方案中,时区选择行645被提供为标准新约会创建GUI的部分(例如,结束时间行下方)。在一些实施方案中,该时区选择行645初始显示新事件的默认时区。在一些实施方案中,默认时区是日历应用程序在其上操作的移动设备所处的时区。因此,在该实施例中,移动设备处于太平洋时区,并且因此时间以太平洋夏令时间(PDT)给出,且所选择的地区为该时区的默认值(“Cupertino”)。一些实施方案使用移动设备所处的城市或其他地区,而非该时区的默认地区。另外,在一些实施方案中,默认时区是移动设备的用户指定设置,而非移动设备所处的时区。在第三阶段615中,用户选择时区选择行645。

作为该选择的结果,第四阶段620示出了时区选择GUI 650。时区选择GUI 650包括返回到约会项目655(其允许用户在未修改时区的情况下返回到新约会创建GUI 600)、文本字段660、触摸屏键盘665以及可选地区选项列表670。在用户使用触摸屏键盘665将文本输入文本字段660中时,可选选项列表670基于所输入的文本来显示最可能的地区。可基于与文本匹配或近似匹配(考虑到可能的打字错误)、在应用程序用户间的一般普及度、用户的过往历史以及与移动设备的当前位置的接近度来确定最可能的地区。

在这种情况下,到阶段620时,用户已输入文本“new y”,提示应用程序显示“New York,U.S.A.”作为可选选项列表670中的选项。第五阶段625示出了用户在此时选择“New York”选项。因此,第六阶段630示出了应用程序返回到新约会创建GUI 600。时区选择行645此时指示针对时区目的而选择的地区为New York,并且开始和结束时间此时以东部夏令时间(EDT)而非PDT给出。如在该实施例中,一些实施方案基于时区调节来自动调节约会的开始和结束时间。因此,2PM PDT变成5PM EDT,并且结束时间具有相似变化。另一方面,一些实施方案不调节时间,而将此类调节交由用户完成。

图7和图8示出了在相同日历的两种不同情形中一些实施方案的日历布局GUI 100。具体地讲,图7示出了移动设备处于太平洋时区时的日历布局GUI 100,而图8示出了移动设备处于东部时区时相同日程安排的日历布局GUI 100。在这种情况下,在改变图6中的新约会(“与John共进午餐”)的时区之后,用户将该约会的时间修改为5月8日12PM EDT。另外,用户已在同一天的1PM PDT安排了单独的会议。

在图7中,日历布局145包括两个约会表示705和710。第一约会表示705用于如上所述针对东部时区创建的约会“与John共进午餐”。第二约会表示710用于针对太平洋时区中的1PM设定的会议(“会议1”)。第一约会表示705显示在用户在9AM的日程安排中,该PDT时间对应于针对该约会指定的时间12PM EDT。另外,第一约会表示705包括指示会议名称和位置以及针对约会指定的时间和时区(“12pm EDT”)的文本。另一方面,第二约会表示710包括仅指示会议名称和位置的文本,但不包括指定时区的指示(因为日历布局显示针对约会指定的时区中的日程安排)。此外,如图所示,一些实施方案以不同方式显示这两个约会表示(例如,不同颜色、不同色调、不同图案等)。另外,其他实施方案可能指示约会是以其他方式针对不同时区设定的。

在图8中,日历布局145也包括两个约会表示805和810。同样,第一约会表示705用于东部时区的约会“与John共进午餐”,而第二约会表示710用于太平洋时区的约会(“会议1”)。由于用户设备在本例中处于东部时区,应用程序在12PM的日程安排中显示第一约会表示705,并在4PM的日程安排中显示第二约会,后者对应于其在1PM PDT的指定时间。虽然在图7中,第一约会表示705包括指示约会针对东部时间指定的额外文本,但在这种情况下,第一约会表示805不包括这种文本。相反,第二约会表示810包括指示针对太平洋时间1PM安排其约会的相似文本。另外,用于约会表示705的外观此时用于第二约会表示810,而用于表示710的默认外观此时用于表示805。

在一些实施方案中,如果5月8日的用户日程安排包括东部时区的附加约会,则图8中的日历布局将包括具有与表示805(当前时区中的约会的表示)相同的外观的附加约会表示。另一方面,如果日程安排包括另一个太平洋时区约会,则一些实施方案将使用与表示810相同的外观显示该约会的表示。如果日程安排包括第三时区(例如,中部夏令时间)中的另一个约会,则应用程序的一些实施方案还将使用与表示810相同的外观显示该第三表示(除了指示CDT的指定时间之外)。另一方面,其他实施方案对每个不同时区使用不同外观,并且将因此对CDT为指定时区的约会的表示使用第三外观。

图9概念性地示出了用于在日历布局中显示约会表示的一些实施方案的过程900。具体地讲,该过程涉及使用指定的时区显示约会的约会表示,如图7和图8中所示。在一些实施方案中,过程900由移动设备上操作的日历应用程序执行。本领域的普通技术人员将认识到,在一些实施方案中,过程900是用于显示日历布局的较大过程的一部分,该较大过程还可包括涉及上述状态图500的过程以及显示器的其他方面。

如图所示,过程900首先识别(在905处)事件或约会以在日历布局中显示。一些实施方案的日历应用程序访问用户的日程安排,或在一些情况下,多个日程安排。例如,用户可能具有日历应用程序聚合的与不同电子邮件地址相关联的多个日历。在不同实施方案中,日历应用程序可能将约会的日程安排本地存储在用户设备上,访问网络存储器(例如,用户的网络存储账户)中的用户日程安排或它们的组合。这些约会包括由用户组织的约会以及由不同个人组织的、用户受邀且已接受的约会。当识别约会以在日历布局中显示时,一些实施方案的应用程序识别将实际显示的日程安排的部分(即,当前在日历应用程序GUI中显示的天和小时)。然而,一些实施方案执行该过程,以针对用户可能要求应用程序显示的用户日程安排的其他部分(例如,即将到来的小时或天)生成约会表示。

接下来,过程900选择(在910处)所识别的事件中的一个事件。一些实施方案以安排顺序、随机或伪随机顺序等对用户约会执行后续循环操作。另外,本领域的普通技术人员将认识到,一些实施方案可并行地对若干约会执行操作915-930,而非一次生成一个约会表示。然而,出于解释的目的,过程900被描述为线性过程。

该过程随后确定(在915处)针对所选择的事件指定的时区是否与设备当前所处的时区相同。在一些实施方案中,应用程序在其上操作的设备连接到网络站(例如,WiFi路由器、蜂窝网络塔等),这些网络站提供时间信息,包括日期、时区、本地时间等。在一些实施方案中,日历应用程序自动地以当地时间显示日程安排。因此,即使设备的默认时区为太平洋时间,如果用户另外,至少一些约会包括指定的时区信息。如图6中所示,当日历应用程序的用户创建新约会时,用户可选择事件的具体时区或使用默认时区,该默认时区在任一情况下都与事件一起存储。用户受他人邀请的约会一般也将具有相关联的时区。

当约会的指定时区和设备的当前时区相同时,该过程在指定时间在日历布局中显示(在920处)没有附加时区信息的约会的表示。对于该表示而言,该过程使用针对指定当前本地时区的约会所指定的外观。即,应用程序显示具有默认外观(例如,颜色、色调、边界、填充图案等)的约会表示,该默认外观在针对约会指定的时区信息与本地时区相同时使用。例如,图7中的约会表示710和图8中的约会表示805以该方式显示。过程900随后前进至下述的935。

另一方面,当针对约会指定的时区不同于设备所处的时区(以及因此显示日程安排的时区)时,过程900识别(在925处)设备的当前时区中的约会时间。即,应用程序将第一时区中的指定时间换算成当前时区中的第二时间。例如,当设备正在洛杉矶操作时针对东部时区的中午指定的事件将被换算成9AM的事件,而当设备在纽约操作时针对太平洋时区的中午指定的事件将被换算成3PM的事件。

该过程随后在当前时区中的识别时间(与指定时区中的指定时间截然不同)在日历中显示(在930处)约会的表示,以及关于指定时区的附加信息。对于该表示而言,该过程使用针对指定了本地时区以外的时区的约会所指定的外观。即,应用程序使用与用于指定了当前时区的约会的外观不同的外观(例如,颜色、色调、边界、填充图案等)来显示约会表示。一些实施方案具有用于与当前时区不同的所有时区的一种外观,而其他实施方案对具有不同指定时区的约会使用不同外观。例如,图7中的约会表示705和图8中的约会表示810均使用与本地时区中指定的事件的约会表示不同的外观来显示。在一些实施方案中,如在这些附图中,针对非本地事件显示的附加信息是约会表示内的文本中的指定时区和时间(例如,约会表示705中所示的“12pm EDT”)。其他实施方案可包括附加或不同的指示符,诸如可选图形指示符,用户可选择该可选图形指示符来使应用程序显示关于约会的附加时间和时区信息。

在显示所选择的事件的表示之后,该过程确定(在935处)附加事件是否仍然被显示。当尚未对所显示的日程安排中的所有约会执行操作915-930时,该过程返回到910以选择下一个约会。否则,当已处理所有识别的约会时,该过程结束。

III.对邀请置评

以上部分描述了一些实施方案的日历布局GUI的各种特征。以下部分描述了一些实施方案的日历消息用户界面(收件箱)及其用于接受或回绝约会邀请以及用于对此类约会邀请置评的用途。在一些实施方案中,当日历应用程序的用户回绝约会(在一些实施方案中通过相同收件箱中的邀请消息)时,应用程序为用户自动提供向将发送给约会组织者的通信添加评论的能力,而非立刻发送该通信。用户可随后在评论中键入(例如,通过触摸屏键盘),并接受或回绝存在于收件箱中的其他邀请。日历应用程序推迟发送指示接受/回绝邀请的通信,直到用户提供指示她已完成收件箱中的操作的输入(例如,通过返回到日历布局)。

图10示出了在三个阶段1005-1015内,用户访问一些实施方案的日历消息用户界面1000,其在本文档内也称为收件箱。具体地讲,在第一阶段1005中,用户打开日历应用程序,然后在第二阶段1010中选择收件箱访问项目,以在第三阶段1015中查看日历消息用户界面1000。

第一阶段1005示出了主屏幕UI 1025。在该UI 1025中,移动设备呈现各种可选用户界面项目,每个项目表示不同的应用程序。这些应用程序可由设备制造商提供(例如,标准电子邮件应用程序、地图绘制和导航应用程序、消息传递应用程序等),或可由第三方应用程序提供商提供(例如,特定于服务的应用程序,诸如流式视频、社交媒体等应用程序)。在一些实施方案中,日历应用程序是由设备制造商提供的应用程序。在第一阶段1005,用户选择表示日历应用程序的可选项目1020。该可选项目包括带有数字“2”的小标志1030,该数字指示用户已接收到两条新日历消息。

因此,第二阶段1010示出了设备已打开日历应用程序,该应用程序显示日历布局GUI 100。收件箱访问项目153包括数字“2”,以便也指示用户已接收到两条新日历消息。在第二阶段1010中,用户选择收件箱访问项目153。

第三阶段示出了一些实施方案的所得日历消息用户界面1000。日历消息UI 1000包括一组选项卡,含新消息选项卡1035和已回复消息选项卡1040。另外,日历消息UI包括活动已完成项目1045和消息显示区域1050。新消息选项卡1035和已回复消息选项卡1040使得用户能够选择消息的哪些组显示于消息显示区域1050中。目前,选择了新消息选项卡1035,因此新消息显示于消息显示区域1050中。活动已完成项目1045的选择使应用程序(i)执行用户通过消息显示区域指定的任何动作(例如,接受或回绝邀请、发送评论等)以及(ii)返回到日历布局GUI 100。

消息显示区域1050显示日历应用程序已接收到的有关约会的通信的相关信息。这些消息可为对以下约会邀请作出的回复:日历应用程序的用户先前已发出的约会邀请,或由他人发送给日历应用程序的用户以邀请该用户赴约的约会邀请。在一些实施方案中,当选择新消息选项卡1035时,消息显示区域显示用户尚未与之交互的新通信。例如,对于接收自他人的约会邀请而言,用户可通过如下方式回复:接受约会,回绝约会,或指示她不确定是否有空(用“不确定”回复)参加该约会。消息显示区域1050中所示的第一消息项目1055是这种邀请的实施例。该邀请显示会议名称、发送邀请的会议组织者以及会议的时间。一些实施方案可包括关于会议的其他信息,诸如会议组织者所指定的任何备注或附件。该邀请还显示三个可选选项(接受、不确定和回绝)。在一些实施方案中,一旦用户选择选项中的一个选项并且应用程序向组织者发送有关用户回应的通信,就可通过已回复消息选项卡1040获取该消息。

新消息收件箱还显示在对日历应用程序的用户发送给受邀者的约会邀请作出响应时接收自受邀者的通信。这些通信可为这样的回复,其指示对邀请作出的接受、回绝或“不确定”回应,以及有关约会的评论。当多名受邀者已对约会置评和/或回绝约会时,一些实施方案将这些通信聚合成用户界面中的单个条目。例如,消息显示区域1050中所示的第二消息项目1060是在对日历应用程序的用户发送的约会邀请作出响应时接收到的一组此类聚合通信的实施例。具体地讲,应用程序的用户组织约会“会议2”并将约会发送给若干受邀者。消息项目1060指示这些受邀者中的两名已回绝邀请。在一些实施方案中,仅回绝约会或对约会置评的回应显示于新消息收件箱中。在本例中,两名受邀者已回绝,其中一名还做了评论。在一些实施方案中,当评论不适配于一行上时,应用程序截短评论。

在一些实施方案中,用户可选择这些消息项目中的一个消息项目来查看有关约会的更详细信息,包括指示以下内容的信息:(i)受邀者是否已回应,(ii)受邀者的回应指示的是什么,以及(iii)受邀者是否已对约会置评。另外,一些实施方案为消息项目中的每一者提供独立可选项目(消息项目1060内的“查看评论”项目),以访问具有有关约会受邀者的更详细信息的页面。在一些实施方案中,该页面还提供有关哪些受邀者已回应的指示,以及有关回应的受邀者是否指示他们将参加的指示符(例如,图形指示符)。另外,该页面提供受邀者可能已作出关于约会的任何评论的全文。并非将第一类型的通信(例如,邀请1055)和第二类型的通信(约会1060的评论和/或回绝)组合,一些实施方案提供与日历应用程序的用户所组织的约会相关的消息的第三选项卡。

如所指出的那样,当一些实施方案的日历应用程序的用户通过邀请消息项目回绝约会时,应用程序为用户自动提供向将发送给约会组织者的通信添加评论的能力,而非立刻发送该通信。用户可随后在评论中键入(例如,通过触摸屏键盘),并接受或回绝存在于收件箱中的其他邀请。日历应用程序推迟发送指示接受/回绝邀请的通信,直到用户提供指示她已完成收件箱中的操作的输入(例如,通过返回到日历布局)。

图11示出了用户在六个阶段1105-1130内在一些实施方案的日历消息用户界面1000中回绝约会并对约会置评的实施例。具体地讲,用户选择对约会的回绝选项,然后选择针对所回绝的约会自动显示的文本字段,在文本字段中输入评论,并且完成日历消息UI内的用户活动。

如图所示,第一阶段1105示出了日历消息GUI 1000,其中显示了三个消息项目1135-1145,所有这三个项目均用于日历应用程序的用户受邀的约会的新邀请。在一些实施方案中,第一消息项目1135是星期四中午会议的邀请,第二消息项目1140是星期四2PM的电话会议的邀请,并且第三消息项目1145是星期四6PM晚餐的邀请。这些消息项目1135-1145中的每一者列出了事件详情(标题、组织者和日期/时间),并且提供了接受、不确定和回绝可选选项。在第一阶段中,用户通过如下方式选择消息项目1135的回绝选项:在“回绝”文本的位置处轻敲触摸屏。

第二阶段1110示出了日历消息GUI 1000以三种方式记录回绝选项的选择。第一,日历应用程序使会议名称的显示变亮(例如,通过移除应用于文本的粗体样式,通过减小字体尺寸等)并将删除线应用于会议名称。第二,应用程序显示在消息项目底部选择的“回绝”选项。第三,应用程序显示消息项目1135内的文本字段1150,且背景文本为“向组织者置评”。在本实施例中用于指示用户已选择回绝约会邀请的技术是此类UI特征的仅仅一个示例,并且不同实施方案可使用不同技术指示用户的选择。

在一些实施方案中,当用户选择“接受”或“不确定”时,该可选选项以与阶段1110中对“回绝”选项所示的相似方式突出显示。然而,对于其他两个选项,日历应用程序既不修改会议标题,也不显示文本字段。但在其他实施方案中,当用户选择这三个回应选项中的任一者时,日历应用程序自动显示文本字段。如评论字段的背景文本所指出的那样,用户可使用评论字段按照将发送给约会组织者的回应来输入有关约会的评论(例如,图10的消息项目1060中所示的评论“不能赶到。”)。第二阶段1110示出了用户选择评论字段(例如,在评论字段的位置上轻敲输入)。

评论字段的该选择使应用程序显示触摸屏键盘1155,如第三阶段1115中所示。在一些实施方案中,触摸屏键盘1155是触摸屏设备的操作系统所提供的允许各种应用程序访问的GUI构造。当用户选择评论字段时,背景文本自动消失,并且应用程序显示在评论字段中闪烁的文本光标。如在该阶段所示,用户已开始使用触摸屏键盘在评论字段中键入评论“我无法......”。

第四阶段1120示出了用户已通过触摸屏键盘完成文本输入,并且提供评论字段1150和触摸屏键盘1155之外的触摸输入,以指示文本输入已完成,至少目前是这样。因此,第五阶段1125示出了应用程序已从显示器移除触摸屏键盘1155。用户还选择活动已完成项目1045来离开日历消息GUI。如图所示,这使日历应用程序在第六阶段1130中返回到一些实施方案的日历布局GUI 100。

日历布局GUI 100中的收件箱访问项目153此时指示用户在收件箱中仅有两条新消息而非三条。在一些实施方案中,当用户选择活动已完成项目1045时,如第五阶段1125中所示,日历应用程序基于用户所输入的回应选择来发出消息。因此,当用户在第二阶段1110中选择回绝选项时,应用程序并未向组织者发出任何通信。即使用户在第四阶段1120中完成在文本字段中输入评论并选择GUI中的其他地方之后,应用程序也不会将回绝回应或评论发送给约会的组织者。这允许用户在将任何回应发出至相应约会的组织者之前对日历消息收件箱内的多个约会作出回应、编辑评论等。

图12示出了用户在五个阶段1205-1225内在日历消息GUI 1000中回绝多个约会。具体地讲,用户回绝多个事件,完成消息GUI中的日历活动,然后返回到日历消息GUI,其中已完成的活动反映于已回复消息收件箱中而非新消息收件箱中。

第一阶段1205示出了处于与图11的第五阶段相同的状态的日历消息GUI 1000。即,用户已通过可选消息项目1135中的回绝选项回绝了第一约会,并且已在文本字段1150中输入了评论。在该阶段,用户选择第二消息项目1140的回绝选项,以回绝电话会议约会。因此,在第二阶段1210中应用程序提供第二文本字段1230,以允许用户输入有关电话会议约会的评论。然而,用户并非输入评论,而是选择活动已完成项目1045。

第三阶段1215示出了日历布局GUI 1000。日历应用程序此时将已向两个已回绝的约会组织者发送通信,指示用户已回绝这些约会(同时向午餐会议的组织者发送评论)。作为用户回绝两个约会的结果,收件箱访问项目153指示仅剩下一条新消息。用户在第三阶段1215中选择该项目,以返回到日历消息GUI 1000。

因此,第四阶段1220示出了日历消息GUI 1000,且再次选择新消息选项卡。然而,由于日历应用程序已回复了消息项目1135和1140,因此新消息收件箱中仅剩下消息项目1145。在第四阶段1220,用户选择已回复消息选项卡。第五阶段1225因此示出了日历消息GUI 1000的消息显示区域1050中的已回复消息。用户在先前阶段中回绝的约会的消息项目1135和1140此时显示于已回复消息收件箱中。

图13示出了与前一附图相同的在五个阶段1305-1325内的流程,不同的是用户接受电话会议邀请而非回绝。具体地讲,在第一阶段1305中,用户选择消息项目1140内的接受选项。因此,在第二阶段1310中,对于电话会议消息项目1140而言,突出显示接受选项,并且未划掉约会标题。在第五阶段1325中,也出现了已接受的约会的消息项目,并且接受选项被突出显示。当用户在第二阶段1310中选择活动已完成项目1045时,日历应用程序将第一消息发送给午餐会议的组织者以回绝该约会,并且将第二消息发送给电话会议约会的组织者以接受该约会。

图14概念性地示出了状态图1400,该状态图显示了一些实施方案的日历消息GUI的状态以及状态之间的变化。具体地讲,状态图1400涉及在选择一些实施方案的新消息选项卡时的日历消息GUI。本领域的普通技术人员将认识到,该状态图并未涵盖与日历消息GUI或甚至消息显示区域进行的每种可能的交互。例如,当消息项目的数量过多而无法一次全部适配于显示区域内时,该状态图并未描述滚动显示消息。此外,该状态图并未描述交互以在新消息收件箱与已回复消息收件箱之间切换,该状态图也未描述与用于回应用户所组织的约会的消息项目(例如,图10的消息项目,诸如项目1060)进行的交互。对于此类消息项目而言,在一些实施方案中,用户可查看约会详情,查看带有来自受邀者的评论的受邀者GUI,并且确认消息项目以使应用程序从新消息收件箱移除消息项目。在状态图1400中所示的每种状态中,日历应用程序的操作由一个或多个应用程序进程控制,这些应用程序进程负责处理与日历应用程序GUI的用户交互。

当打开日历消息GUI但用户未与之交互时,GUI处于状态1405,在该状态下,日历应用程序显示具有全新(未回复)通信的新消息显示区域(收件箱)。该状态的实施例包括图10的阶段1015或图11的阶段1105(在用户选择回绝约会选项之前)。

当应用程序接收约会的选择(在该图中示出为事件)时,应用程序转变为状态1410以显示约会详情GUI。该GUI(下文通过参考图23更详细地描述)显示了关于约会(日历应用程序用户所组织的约会或日历应用程序用户受邀的约会)的各种信息。在一些实施方案中,约会详情指示了约会时间、位置和受邀者数据以及其他信息。另外,一些实施方案的约会详情GUI包括返回到前一GUI项目。因此,如果从日历消息GUI进行访问,则约会详情GUI包括用于返回到日历消息GUI的项目。因此,当应用程序接收该项目的选择(或用于返回到日历消息GUI的其他输入)时,应用程序转变回状态1405以再次显示日历消息GUI。

当应用程序接收用户不确定参加约会与否的特定消息项目的选择(例如,“不确定”选项)时,应用程序转变为状态1415以将约会标记为不确定回应,然后转变回默认状态1405。相似地,当应用程序接收用户接受约会的特定消息项目的选择时,应用程序转变为状态1420以将事件标记为已接受,然后转变回默认状态1405。在这两种事件中,应用程序并未通过向组织者发送任何通信而实际回应所选择的约会邀请。图13的第一阶段1305和第二阶段1310示出了用户接受邀请的实施例,以及所得的GUI变化。

当应用程序接收用户回绝约会的特定消息项目的选择时,应用程序转变为状态1425以将事件标记为已回绝。在转变回状态1405之前,应用程序也转变为状态1430来显示约会的评论文本字段。例如,在图11中,当用户在第一阶段1105中选择回绝选项时,GUI 1000使回绝选项突出显示,划去约会标题,并且在第二阶段1110中在已回绝的约会的可选消息项目内显示评论字段1150。

只要具有显示于日历消息GUI中的消息项目的至少一个约会已被回绝,用户就可选择该项目的评论文本字段(例如,通过在文本字段的位置处轻敲触摸屏)。当应用程序接收用于评论的文本字段的这种选择时,GUI转变为状态1435并且在消息显示区域的一部分上方显示触摸屏键盘。在一些实施方案中,当所选择的评论字段位于显示器底部时,应用程序自动将包含所选择的文本字段的消息项目向上滚动到消息显示区域的顶部。在显示触摸屏键盘的情况下,在用户输入键盘输入时,应用程序转变为状态1440以在所选择的文本字段中输入文本。用户可反复输入文本,并且在输入(或移除)每个字符的情况下,应用程序转变为状态1440,然后回到状态1435。当应用程序接收评论字段之外的选择时,应用程序从显示器移除键盘以转变回默认状态1405(例如,如图11的第四阶段1120和第五阶段1125中所示)。

最后,当应用程序接收输入以完成日历消息传递活动(例如,活动已完成项目1045的选择或等效输入)时,日历应用程序转变为状态1445,在该状态下,应用程序对来自新消息收件箱的带有由用户标记的回应的任何事件生成并发送回应通信。即,如果用户已对新消息收件箱中的任何约会邀请选择回应选项(接受/不确定/回绝),则一旦用户离开日历消息GUI,应用程序就将这些约会的回应消息发送给其相应组织者。另外,一些实施方案允许用户通过已回复消息收件箱中的项目修改她对约会的回应,并且此时还发送这些更新的回应通信。

在一些实施方案中,应用程序随后转变为状态1450以返回到日历布局GUI。本领域的普通技术人员将认识到,应用程序可在实际发送消息之前返回到日历布局,或同时执行这些动作。另外,虽然未示出,但如果在应用程序显示日历布局GUI时用户选择收件箱访问项目或提供等效输入,则应用程序可从状态1450转变回状态1405。

IV.参与者的空闲时间

虽然以上部分主要描述回复他人所组织的约会,但以下部分涉及用于组织约会的一些实施方案的日历应用程序的特征。具体地讲,一些实施方案的日历应用程序提供关于新约会的所提议参与者的空闲时间的信息,以有助于安排约会。在一些实施方案中,当用户输入约会(用户为该约会的组织者)的新受邀者时,应用程序自动访问受邀者的日历(例如,通过访问服务器)并显示指示受邀者在约会的初始安排时间是否有空的指示符(例如,图形指示符)。当应用程序无法访问特定受邀者的日历时(例如,因为服务器不可访问或应用程序没有所需权限),则应用程序显示受邀者的空闲时间未知的指示符。

一旦用户已完成添加约会的受邀者,应用程序就识别任何日程安排冲突并提议受邀者有空的另外的新时间。一些实施方案显示(i)在约会的当前安排时间没空的受邀者,(ii)所有受邀者(和会议组织者)都有空的至少一个即将到来的时间,以及(iii)各种子组的受邀者有空的即将到来的时间。应用程序为这些即将到来的时间中的每一者呈现可选项目,从而使组织者能够选择该时间作为约会的新时间,或在即将到来的时间在其日历中查看约会。

图15和图16示出了约会的创建,并且具体地讲在创建约会时向约会添加受邀者。图15在六个阶段1505-1530内示出了创建新约会以及向约会添加第一受邀者。如图所示,第一阶段1505示出了在用户选择新约会创建项目138的情况下的日历布局GUI 100。因此,第二阶段1510示出了上文通过参考图6描述的新约会创建GUI 600。在该阶段,用户选择受邀者行1535。

如第三阶段1515中所示,受邀者行的选择使应用程序打开受邀者添加GUI 1500。受邀者添加GUI 1500为用户提供向新约会添加受邀者的两种机制。首先,如图所示,GUI显示文本字段1555和触摸屏键盘1540。用户可使用触摸屏键盘1540在文本字段1555中键入受邀者的识别信息(例如,电子邮件地址、姓名等)。另外,GUI包括添加联系人可选项目1545,其在被选择时使应用程序打开为用户存储(例如,存储在移动设备上、网络存储器中等)的联系人列表,以使得用户可搜索联系人列表以查找约会的受邀者。

第四阶段1520示出了用户已使用触摸屏键盘1540键入“j”,以开始输入联系人识别信息。因此,应用程序搜索用户的联系人信息(例如,联系人列表、已从其接收到通信的电子邮件地址等)。应用程序在潜在受邀者显示区域1550中显示所键入的文本字符串的可能匹配的列表。在这种情况下,应用程序显示用于John Duo的第一可选项目1555和用于Jim Su的第二可选项目1560。

在第五阶段1525中,用户选择可选项目1555,以将John Duo作为受邀者添加到新约会。因此,第六阶段1530显示文本字段1555中的John Duo。另外,在受邀者姓名旁边,应用程序显示图形指示符1560。当一些实施方案的日历应用程序接收约会的受邀者时,应用程序试图访问受邀者的日程安排(例如,通过访问服务器或网络存储器)。如果日历应用程序的用户已被授权访问受邀者的日程安排并且该日程安排可访问,则日历应用程序识别受邀者在约会之时是空闲还是繁忙。复选标记图形指示符1560指示受邀者John Duo在5月6日星期二2PM至3PM(约会的当前安排时间)是空闲的。

图16示出了在六个阶段1605-1630内向新约会继续添加受邀者。第一阶段1605与图15的第六阶段1530相同,其中John Duo作为第一受邀者被添加到约会。在第二阶段1610中,用户键入“b”,并且应用程序呈现可能的受邀者Bob Smith的可选项目1635,用户在第三阶段1615中选择该可选项目。

第四阶段1620示出了受邀者列表此时包括Bob Smith,并且在文本字段1555中其姓名旁边具有不同的图形指示符1640。图形指示符1640为X,指示应用程序能够访问Bob Smith的日程安排,并且他在新约会的安排时间(2-3PM)的至少一部分期间没有空。另外,在第四阶段1620,用户开始键入第三受邀者的姓名。

第五阶段1625示出了用户选择的可能的受邀者Sam Jr.的可选项目1645。在最后阶段1630中,文本字段1555中的受邀者列表此时包括三名受邀者。对于第三受邀者Sam Jr.而言,应用程序显示第三图形指示符1650,其指示受邀者的日程安排无法访问(例如,因为日历应用程序的用户没有访问Sam Jr.的日程安排的权限)。因此,一些实施方案的应用程序显示每位受邀者的三种不同图形指示符中的一个图形指示符,具体取决于受邀者是空闲、繁忙还是具有无法访问的日程安排。

图17概念性地示出了用于在向约会添加受邀者时显示这种图形指示符的过程1700。在一些实施方案中,每次用户向新约会添加受邀者时,日历应用程序都执行过程1700(或相似过程)。另外,在一些实施方案中,如果一名或多名受邀者的日程安排已改变,在随后时间生成关于约会的其他显示时,应用程序可执行相似过程。

如图所示,当应用程序接收向所提议的约会添加新受邀者时,过程1700即开始(在1705处)。如通过参考图15所述,在一些实施方案中,用户可通过如下方式添加新受邀者:键入受邀者姓名或电子邮件地址,或打开联系人列表并从该列表中选择联系人。在一些实施方案中,每位受邀者实际上为电子邮件地址。即,虽然一个人可具有多个电子邮件地址(例如,工作电子邮件地址、个人电子邮件地址等),但这些地址中的仅一个地址被选择为受邀者。在一些实施方案中,约会在初始创建时始终被分配开始时间和结束时间,并且组织者可编辑约会的时间。

该过程随后试图(在1710处)通过网络连接来访问受邀者的日历(即,日程安排)。在一些实施方案中,日历应用程序在其上操作的设备连接到至少一个网络(例如,蜂窝网络、宽带网络等)。日历应用程序试图直接连接到与受邀者相关联的设备,或连接到存储受邀者的日程安排信息的服务器。例如,在工作环境中,存储员工日历的服务器或相似类型的电子邮件和日历服务器是可以访问的。对于个人电子邮件地址(例如,mac.comgmail.com等)而言,一些实施方案联系与那些电子邮件域相关联的服务器以访问受邀者日程安排。

接下来,过程1700确定(在1715处)受邀者的日历是否能够访问。在一些情况下,日历应用程序的用户可能没有访问受邀者的日程安排的权限。在一些实施方案中,这些权限被授予给与约会相关联的用户的电子邮件地址,或日历应用程序在其上运行的设备)。在其他情况下,存储受邀者日程安排的服务器可能此时无法访问,或受邀者可能实际上未使用日程安排功能。

当出于任何原因,受邀者的日历无法访问时,该过程显示(在1720处)无法确定受邀者对于约会安排时间的空闲时间的指示。一些实施方案使用图形指示符,诸如图16的第六阶段1630中所示的问号图形1650。其他实施方案可使用不同的图形指示符或非图形指示符。

当受邀者的日历能够访问时,该过程确定(在1725处)受邀者在预定约会时间时的空闲时间。如果受邀者具有针对新约会的持续时间的任何部分安排的不同约会,一些实施方案将受邀者分类为没有空。然而,如果受邀者日历中的预定约会与新约会之间的重叠较少(例如,少于阈值持续时间、或少于新约会的持续时间的阈值百分比),其他实施方案将受邀者分类为有空。另外,一些实施方案使用行程时间信息或使用地图绘制应用程序来计算约会之间的行程时间,以确定受邀者是否能够参加约会。

该过程随后确定(在1730处)受邀者在约会之时是否有空。当受邀者在安排的时间有空时,应用程序显示(在1735处)该空闲时间的指示。一些实施方案使用图形指示符,诸如图15的第六阶段1530中所示的复选标记图形。另一方面,当受邀者在安排的时间没有空时,应用程序显示(在1740处)该非空闲时间的指示。一些实施方案使用图形指示符,诸如图16的第四阶段1620中所示的X图形1640。其他实施方案可对这两种指示使用不同图形指示符,或使用非图形指示符。在显示这三个指示符中的一个指示符后,过程1700结束。

除了显示关于空闲时间的指示符之外,一些实施方案的日历应用程序还试图解决日程安排冲突。具体地讲,一些实施方案识别并显示(i)在约会的当前安排时间没空的受邀者,(ii)所有受邀者(和会议组织者)都有空的至少一个即将到来的时间,以及(iii)各种子组的受邀者有空的即将到来的时间。应用程序为这些即将到来的时间中的每一者呈现可选项目,从而使组织者能够选择该时间作为约会的新时间,或在即将到来的时间在其日历中查看约会。

在图18和图19中示出了用于显示新约会的日程安排冲突和另选时间的一些实施方案的受邀者日程安排GUI 1800。图18示出了五个阶段1805-1825,其中用户完成向约会添加受邀者、导航日程安排GUI 1800,并且请求所有受邀者都有空的附加时间。图19示出了四个阶段1905-1920,其中用户继续导航日程安排GUI 1800,并且请求受邀者子组有空的附加时间。

图18的第一阶段1805示出了在用户已为新约会添加四名受邀者之后的受邀者添加GUI 1500。在这些受邀者之中,John Duo在安排的时间有空,Bob Smith和Jane Lee在安排的时间没有空,并且Sam Jr.的日程安排无法访问。虽然在该阶段未示出,新约会具有2014年5月8日1PM至2PM的初始安排时间。在该阶段,用户(约会的组织者)选择活动已完成项目1830,以指示已为约会添加了所有受邀者。

因此,在第二阶段1810中,日历应用程序显示一些实施方案的受邀者日程安排GUI 1800。在一些实施方案中,GUI 1800首先列出所有受邀者,基于受邀者是否已回应组织者的邀请而分成两个部分1835和1840。在该阶段,在日历应用程序尚未发送邀请时,所有四名受邀者属于未回应类别。受邀者姓名的旁边是图形指示符(与先前受邀者添加GUI 1500中所显示的那些相似),以基于受邀者的日程安排来指示他们的空闲时间。在一些实施方案中,当受邀者已回应时,基于他们的回应来使用相似的图形指示符(即,复选标记用于已接受邀请的受邀者,问号用于已用不确定回应进行回应的受邀者,并且X用于已回绝邀请的受邀者。在一些实施方案中,每位所列出的受邀者是可选项目,该可选项目在被选择时使应用程序显示受邀者的联系人信息。另外,在GUI的未回应部分1840下方是行1845,该行使得用户能够访问受邀者添加GUI 1500并向约会添加更多受邀者。

第二阶段1810和第三阶段1815示出了用户滚动浏览GUI 1800,并且这两个阶段将结合第四阶段1820来描述,从而总体上描述GUI。在一些实施方案中,GUI内使用的字体较小,更多GUI可立即适配于显示屏上。在所列出的受邀者下方是日程安排冲突部分1850。一些实施方案的日程安排冲突部分1850指示初始提议的约会时间(即,本例中的2014年5月8日星期四1PM至2PM)以及在该所提议的时间无法参加的用户。这向约会的组织者提供了哪些用户在其当前安排时间没有空参加约会的简明显示。虽然以一个在另一个下方的方式示出且仅显示名字,但一些实施方案显示受邀者的全名(例如,“Bob Smith”)并分两列显示受邀者。普通技术人员将认识到,受邀者的各种不同组织在每个部分和子部分内是可能的。在日程安排冲突部分1850内的是复选标记指示符1855,其用于指示这是约会的当前选择时间。在一些实施方案中,该复选标记指示符1855与指示受邀者何时对于所提议的约会时间有空的图形指示符不同的方式显示。另外,日程安排冲突部分1850包括可选项目1860以便查看组织者日历中的约会。

GUI接下来包括部分1865以便显示表示所有受邀者可参加时的时间的可选项目。在一些实施方案中,如图所示,在所有受邀者可参加时的时间,该部分1865初始显示一个可选项目1870。一些实施方案使用从当前时间开始的最早时间,而其他实施方案使用从约会的所提议时间开始的最早时间。另一些实施方案使用与约会的所提议时间最接近的时间,而不论该时间是在所提议的约会之前还是之后。另外,一些实施方案仅搜索营业时间(例如,星期一-星期五,上午9点-下午6点,或营业时间的不同定义)期间的时间。其他实施方案未强制要求此类限制,而是依赖于受邀者(或组织者)已标出他们各自的日历仅在某些时段有空。在该实施例中,应用程序无法访问Sam的日历。为了处理此类情形,一些实施方案不考虑日历无法访问的受邀者,并且仅搜索所有其他受邀者(和组织者)可参加的时间。

在该实施例中,所有受邀者可参加的、落入允许时间内的第一时间是2014年5月11日星期一。可选项目1870显示日期和时间,以及指示所有受邀者可参加的复选标记及用于查看组织者日历中的约会的可选项目。此外,部分1865包括显示更多可选项目1875,该可选项目的选择使应用程序显示所有受邀者可参加的附加提议的时间。

第四阶段1820示出了该项目1875的选择,使日历应用程序在所有受邀者能够参加的时间显示附加可选项目1880和1885。虽然在第五阶段1825中未示出,但一些实施方案在所有受邀者能够参加预先指定的时间段(例如,一周、两周、一个月等)的所有时隙(时长与初始提议时间相同)显示可选项目。用户可滚动浏览GUI 1800中的这些可选项目,并选择项目中的一个项目来指定新时间。

如第三阶段1815和第四阶段1820中所示,部分1865下方的是部分1890,以便显示表示受邀者的不同子组可参加的时间的可选项目。GUI部分1890将通过参考图19更详细地描述,该图的第一阶段1905示出了处于与图18的第四阶段1820相同状态的GUI 1800。在该阶段1905,用户提供手势滚动输入,以使GUI向上滚动并查看部分1890中更多关于可选项目的内容,这些可选项目表示不同子组的受邀者可参加的时间,如第二阶段1910中所示。

在一些实施方案中,如图所示,在一些受邀者可参加约会时的不同时间,该部分1890初始显示三个可选项目1925-1935。在受邀者子组可参加的时间,其他实施方案初始仅显示一个可选项目,或显示不同数量(例如,两个、五个等)的可选项目。

不同实施方案以不同方式对这些时间排序。一些实施方案首先提议最少数量的受邀者没有空的约会时间。对于相等数量的受邀者没有空的约会时间(例如,所有三个可选项目19251935提议一名受邀者没有空的时间),一些实施方案基于时间来排序(例如,从当前时间开始最早、从所提议的时间开始最早、最接近所提议的时间或基于不同时间的排序)。其他实施方案使用一种形式的基于时间的排序作为初始标准,但避免让相同受邀者或受邀者的组合对于不止一个初始提议时间没有空(除非受邀者人数少于所提议的时间的数量)。另一些其他实施方案对所提议的约会时间使用不同排序(例如,仅基于时间的排序,而不必考虑有空的受邀者的数量)。在一些实施方案中,应用程序仅提议组织者(即,日历应用程序的用户)有空的时间。另外,一些实施方案仅搜索营业时间(例如,星期一-星期五,上午9点-下午6点,或营业时间的不同定义)期间的时间。其他实施方案未强制要求此类限制,而是依赖于受邀者(或组织者)已标出他们各自的日历仅在某些时段有空。与所有受邀者可参加的所提议的时间一样,一些实施方案不考虑日历无法访问的受邀者,并且仅搜索其他受邀者(和组织者)的子组可参加的时间。

在该实施例中,最开始显示的三个时间是5月9日星期五2pm-3pm和4pm-5pm(Bob和Jane分别没有空)以及5月11日星期一9am(John没有空)。可选项目1925-1935中的每一者显示了所提议的日期和时间,以及每位没有空的受邀者的姓名,同时显示了指出他们没有空闲时间的图形指示符,以及用于查看组织者日历中的约会的可选项目。此外,部分1890包括显示更多可选项目1940,该可选项目的选择使应用程序显示受邀者的各种子组可参加的附加提议的时间。

第二阶段1910示出了该项目1940的选择,使日历应用程序在所有受邀者能够参加的时间显示附加可选项目。第三阶段1915示出了在用户的不同子组可参加的所提议时间显示附加可选项目。第三阶段1915还示出了用户滚动以揭示附加的所提议时间,这些时间在第四阶段1920中示出,是GUI1800的部分1890的延续。一些实施方案在受邀者的不同子组能够参加预先指定的时间段(例如,一周、两周、一个月等)的所有时隙(时长与初始提议时间相同)显示可选项目。用户可滚动浏览GUI 1800中的这些可选项目,并且选择项目中的一个项目来指定新时间。

在该实施例中,具有所提议时间的附加可选项目包括提议5月8日9am-10am的时间(此时John和Jane都没有空)的可选项目1945,以及提议5月9日10am-11am的时间(此时Bob和Jane都没有空)的可选项目1950。这些时间比仅一名受邀者没有空的所提议时间更接近5月8日1pm-2pm的初始提议时间,但列在后者之后,这是由于更多受邀者没有空。

图20示出了可选项目用于在两个阶段2005-2010内在用户日历中查看所提议的另选时间的用途。在第一阶段2005中,受邀者日程安排GUI 1800处于与图19的第二阶段1910相同的状态。具体地讲,阶段2005示出了在日程安排冲突的情况下在约会的三个不同所提议的另选时间的三个可选项目1925-1935。这些可选项目1925-1935中的每个特定可选项目包含可选项目,以查看用户日历中的特定可选项目的所提议时间。第一阶段2005示出了用户为5月9日星期五4-5pm的所提议时间选择项目2015。

因此,第二阶段2010示出了一些实施方案的日历布局GUI 100,其中新约会安插在用户日历中的4pm-5pm。如图所示,一些实施方案呈现具有与日程安排中的其他约会表示不同的外观(例如,不同颜色、填充图案、边界等)的新约会的表示2025。在这种情况下,用户没有任何邻接新约会的所提议时间的约会。在一些情况下,用户可能具有在新约会开始时间结束或在新约会结束时间开始的会议。在此类情况下,在确定约会是否具有长时间开展的好机会并因此所提议的时间是否为新约会的好时机时,用户处于最有利的地位。在从受邀者日程安排GUI 1800访问时,日历布局GUI 100包括返回到前一GUI可选项目2020,该可选项目在被选择时会返回到受邀者日程安排GUI 1800。其他实施方案包括活动已完成项目(例如,读作“完成”的项目)。另外,一些实施方案并不是显示整个日历布局GUI,而是仅显示日历布局显示区域以及用于返回到日程安排GUI 1800的可选项目。

图21示出了在三个阶段2105-2115内另选的所提议时间中的一个时间的选择及其对受邀者日程安排GUI 1800的影响。第一阶段2105示出了处于与图18的第三阶段1815相同状态的受邀者日程安排GUI 1800,包括日程安排冲突部分1850以及用于所有受邀者可参加的所提议时间的部分1865。如由图形指示符1855所示,5月8日1pm-2pm的初始提议时间是约会的当前选择时间。在该阶段2105,用户在用于5月11日5pm-6pm的所提议约会时间的可选项目1870上提供轻敲输入。

所得的第二阶段2110示出了复选标记指示符1855此时显示于最近选择的项目1870中,以指示约会的当前选择时间此时为5月11日5pm-6pm。另外,用户向下滚动GUI以在第三阶段2115中在选择项目1870之后揭示未回应部分1840。如在该第三阶段2115所示,一些实施方案的日历应用程序在该部分中基于新选择的时间来更新受邀者的图形指示符。因此,对于日历能够访问的三名受邀者(John、Bob和Jane)而言,应用程序显示复选标记指示符,以指示受邀者在该时间有空。由于Sam的日历无法访问,应用程序继续对其显示问号指示符。

图22概念性地示出了用于生成和准备在日程安排GUI中显示的所提议时间的一些实施方案的过程2200。在一些实施方案中,在约会创建流程中接收新约会的受邀者列表时,日历应用程序执行过程2200。应用程序执行过程2200来生成日程安排GUI,但由于空间约束,GUI的仅一部分可在给定时间显示于显示屏上。

如图所示,过程2200首先识别(在2205处)至少一名受邀者在新约会的所提议时间期间较繁忙。在一些实施方案中,如果新约会的所有受邀者没有能够访问的日历或所有受邀者具有在其日历上打开的新约会的所提议时间,则应用程序不执行过程2200。在此类实施方案中,应用程序仅显示具有复选标记和/或问号指示符的受邀者列表,并且不显示日程安排冲突部分或所提议的另选约会时间的列表。

然而,如果至少一名受邀者的日历指示受邀者没有空,则应用程序识别(在2210处)所有受邀者和组织者都有空的第一组即将到来的时间。例如,一些实施方案分析各种受邀者的日历,以识别在所有受邀者和组织者(即,日历应用程序的用户)都有空的特定时间段内与初始提议时间相同时长的所有时隙。一些实施方案从当前时间开始特定时间段,而其他实施方案从约会的初始提议时间开始特定时间段。另一些其他实施方案使用约会的初始提议时间之前和之后的时间段(只要所提议的另选时间不在当前时间之前)。在这些情况中的任一者中,各种不同实施方案可使用不同时间段(例如,1周、1个月、两天等)。另外,一些实施方案将所提议的约会的时间限制为工作时间(例如,星期一至星期五,上午9点-下午5点、上午9点-下午6点、上午8点-下午6点等,具体取决于工作时间的定义)。其他实施方案依赖于组织者和受邀者在他们的日历上标记他们的空闲时间以施加这些限制。

该过程随后基于他们的开始时间对第一组时间进行排序(在2215处)。一些实施方案从最早到最晚对第一组时间进行排序,而其他实施方案基于与初始提议时间的接近度(不论是在该初始提议时间之前还是之后)对第一组时间进行排序。例如,如果初始提议时间为星期四1pm-2pm,则l2pm-l pm空闲时间将先于3pm-4pm时间,后者将先于10am-11am空闲时间。

接下来,该过程识别(在2220处)要显示的第一组时间的子组。例如,一些实施方案首先仅显示所有受邀者都有空的一个时间。其他实施方案初始显示更多此类时间,并且在一些情况下,初始未显示这些时间(如果存在大量受邀者,使得GUI的其他部分初始占据整个显示器)。此外,在用户已选择“显示更多”GUI项目之后,将显示来自第一组时间的附加时间。

在受邀者的子组有空的时间,过程2200执行相似组的操作。如图所示,该过程识别(在2225处)组织者和至少一名受邀者都有空的第二组即将到来的时间。一些实施方案分析各种受邀者的日历,以识别在组织者(即,日历应用程序的用户)和至少一名受邀者都有空的特定时间段内与初始提议时间相同时长的所有时隙。一些实施方案从当前时间开始特定时间段,而其他实施方案从约会的初始提议时间开始特定时间段。另一些其他实施方案使用约会的初始提议时间之前和之后的时间段(只要所提议的另选时间不在当前时间之前)。在这些情况中的任一者中,各种不同实施方案可使用不同时间段(例如,1周、1个月、两天等)。另外,一些实施方案将所提议的约会的时间限制为工作时间(例如,星期一至星期五,上午9点-下午5点、上午9点-下午6点、上午8点-下午6点等,具体取决于工作时间的定义)。其他实施方案依赖于组织者和受邀者在他们的日历上标记他们的空闲时间来施加这些限制。

该过程随后使用没有空的受邀者的数量作为第一标准并使用开始时间作为第二标准,对第二组时间进行排序(在2230处)。一些实施方案首先对第二组时间进行排序,使得仅一名受邀者没有空的另选时间排在该顺序的开始(假定存在至少一个这种时间),接着是两名受邀者没有空的另选时间,以此类推。对于相同数量的受邀者没有空的所提议时间,不同实施方案可使用上文针对第一组另选时间所述的不同排序(例如,与初始提议时间的接近度,在当前时间开始的最早至最晚,在初始提议时间开始的最早至最晚等)。另外,一些实施方案还改进该顺序,以避免重复相同组的没有空的受邀者。例如,如果存在四名受邀者,则一些实施方案确保最开始四个所提议的另选时间包括每位受邀者都没有空的一个时间。此后,一些实施方案移除一名受邀者没有空的其他时间,而其他实施方案对每位没有空的受邀者使用下一组时间。

最后,过程2200识别(在2235处)要显示的第二组时间的子组。例如,一些实施方案首先显示所有受邀者都有空的三个时间。其他实施方案初始显示更少或更多时间(例如,取决于受邀者的数量),并且在一些情况下,初始未显示这些时间(如果存在大量受邀者,使得GUI的其他部分初始占据整个显示器)。此外,在用户已选择“显示更多”GUI项目之后,将显示来自第二组时间的附加时间。

然后过程2200结束。本领域的普通技术人员将认识到,这是个概念过程,并且可能不必按照所示顺序执行操作。例如,日历应用程序可能在关于第一组时间的操作2210-2220之前执行关于第二组时间的操作2225-2235,或并行执行这两组操作。

以上附图描述了用于在创建新约会时处理受邀者空闲时间的一些实施方案的日历应用程序的动作。在约会详情由组织者完全确定之后,一些实施方案的应用程序向每位受邀者生成并发送通信,从而通知会议并使受邀者能够提供对邀请的回应。

另外,在已创建约会之后,一些实施方案的日历应用程序为组织者提供向约会的所有受邀者发送电子邮件的便捷方式。图23示出了在日历应用程序GUI的四个阶段2305-2320内约会组织者向所有受邀者发送电子邮件。

第一阶段2305示出了现有约会的约会详情GUI 2300。在一些实施方案中,用户通过选择日历布局中的约会或以各种其他方式访问该约会详情GUI2300。在一些实施方案中,约会详情GUI首先显示约会名称和时间信息。另外,约会详情GUI包括受邀者部分2325。如图所示,一些实施方案的受邀者部分2325将受邀者分成已接受约会邀请的那些受邀者、已回应他们不确定参加约会与否的那些受邀者、已回绝的那些受邀者、以及未回应约会的那些受邀者。另外,一些实施方案显示评论指示符2330,以指示用户已对邀请置评。一些实施方案的约会详情GUI 2300还显示附加信息,诸如约会的相关日历、任何警报或行程时间信息等。在第一阶段2305中,用户选择受邀者部分2325。

因此,在第二阶段2310中,日历应用程序显示受邀者GUI 2335。受邀者GUI 2335与受邀者日程安排GUI 1800相似,而没有关于日程安排冲突及所提议的另选时间的附加信息。相反,受邀者GUI 2335分两部分显示受邀者,即已回应的第一组受邀者和尚未回应的第二组受邀者。在这种情况下,第一组包括三名受邀者,并且带有指示每位受邀者回应的图形指示符。此外,已对约会置评的每位受邀者的评论显示在其姓名下方。在顶部,受邀者GUI包括用户在第二阶段2310中选择的可选项目2340。

可选项目2340(在本例中以与电子邮件相关联的信封形状显示)使日历应用程序生成向所有受邀者发送的电子邮件。在一些实施方案中,日历应用程序向在相同设备上操作的电子邮件应用程序提供约会和受邀者数据,并且电子邮件应用程序准备电子邮件以供用户在输入任何所需文本之后发送。例如,用户可能希望通知受邀者在约会时带来某些项目,或通知受邀者事件开始略有推迟等。

第三阶段2315和第四阶段2320示出了由用户选择项目2340得出的电子邮件GUI 2350。如图所示,电子邮件主题(显示于主题行和GUI顶部中)是为其生成电子邮件的约会的名称。另外,电子邮件的收件人行用受邀者的电子邮件地址(当信息已知时示出受邀者的姓名)填充,并且抄送/密送/发件人行用组织者的姓名(日历应用程序和电子邮件应用程序的用户)填充。电子邮件的正文在一些实施方案中包括一个或多个空行(例如,四个空行),然后在不同实施方案中包括不同约会详情。具体地讲,在这种情况下,电子邮件正文用约会名称、日期和时间、位置以及受邀者列表填充。用户可随后在约会详情上方键入所需消息,并且选择发送项目以将电子邮件发送给受邀者。另外,如果组织者希望从电子邮件删减一名或多名受邀者,则她可编辑电子邮件的收件人字段。

V.对新约会的智能建议

虽然以上部分描述了日历应用程序特征以便在已为新约会确定一组受邀者和时间后识别日程安排冲突并试图解决那些冲突,但一些实施方案的日历应用程序基于对用户过往日历历史的分析来自动提议新约会。具体地讲,一些实施方案在用户的过往日历历史中识别模式(例如,定期会议),然后提议继续此类模式的约会。例如,如果用户在过去数周的一周同一天同一时间一直有同一名称的约会,则应用程序在下一次出现一周的特定日时在同一时间提议具有该名称的约会。如果复现的时间被不同约会所占据,则一些实施方案的应用程序识别附近时间(例如,恰好之前或恰好之后)并在该附近时间提议新约会。如果附加详情(例如,位置、受邀者列表等)在所有复现中是相同或相似的,则应用程序将这些附加详情用于所提议的约会。相似地,应用程序可能识别每隔一周、每天、为期数月在一个月的同一天等举办的约会。应用程序可能识别其他模式,诸如在许多约会(具有许多不同时间和约会名称)处的同一组受邀者,并且在下一空闲时间为该组受邀者提议新约会。

另外,一些实施方案允许用户输入描述约会方面的文本字符串,并且基于在日历历史中对文本字符串上的匹配进行的搜索来识别所提议的约会。文本字符串可能匹配约会的名称、约会的举办日、约会的一名受邀者或一组受邀者的姓名等。一旦用户在任一情况下选择所提议的约会,应用程序就将该约会添加到用户的日历,并且用户可在将约会邀请发送给受邀者的最终确定列表之前编辑详情(例如,改变时间、受邀者、位置等)。

以下部分初始通过参考图24-28描述了在选择新约会创建选项时自动生成所提议的约会的一些实施方案。此后,该部分接下来通过参考图29-33描述了在接收描述所需新约会的文本输入时生成所提议的约会的实施方案。

图24示出了用户日程安排的月视图GUI 2400,这将用作后图25-27的参考。具体地讲,月视图GUI 2400包括顶部栏2405,该顶部栏包括不同日历视图的若干选项卡2410、搜索栏、日历切换项目和新事件创建项目2415。选项卡2410允许用户在用户日程安排的不同视图之间切换,这些视图包括该图中所示的月视图和图25-27中所示的日视图,以及周视图和年视图。

在一些实施方案中,新约会创建项目2415使日历应用程序显示用于在用户日历中创建新约会的对话框。在一些实施方案中,新约会创建对话框提供文本字段,在该文本字段中,用户可输入新约会的名称。在接收附加输入(例如,按下“回车”键或等效输入以指示约会描述完成)时,应用程序在下一可用时隙(例如,下一半小时时隙、下一长达一小时的时隙、在整点时刻开始的下一长达一小时的时隙等)中创建新约会。用户还可在文本字段中输入附加详情(例如,清楚指示时间和/或日期的文本),并且日历应用程序将在创建新约会时考虑该信息(例如,如果文本输入包括“星期五7PM”,则新约会将在星期五7pm时创建而非在下一可用时隙中创建)。在一些实施方案中,除了该文本字段之外,应用程序还基于对用户日历历史的分析来生成所提议的约会,如参考后图所述。

在顶部栏2405下方的是用户的月历2420。如图所示,显示于图24中的日历应用程序的用户在过去数周中具有多种会议,包括在前两个星期四举办的“会议3”(当前日5月15日在月度安排2420中被选中)。另外,安排了各种电话呼叫和其他约会。

图25示出了一些实施方案的日视图GUI 2500中新约会选项的生成。具体地讲,图25示出了GUI 2500的两个阶段2505-2510。第一阶段2505示出了一些实施方案的日视图GUI 2500。在一些实施方案中,日历布局GUI2500是在膝上型电脑或台式计算机上操作的日历应用程序的GUI,但GUI2500也可由在移动设备(例如,平板电脑、智能电话等)上操作的日历应用程序显示。

GUI 2500包括顶部栏2405,该顶部栏包括不同日历视图的若干选项卡2410(此时选择的是日选项卡)、搜索栏、日历切换项目和新事件创建项目2415。GUI 2500还包括小型月视图2525、即将到来的约会视图2530和日程安排视图2535。小型月视图2525在日历中示出了当前日,并且可用于选择其他两个日历视图2530和2535的一天。即将到来的约会视图2530示出了以小型月视图2525中选择的天开始的、用户日程安排的即将到来的约会。日程安排视图2535示出了在小型月视图中选择的那天的用户日程安排。在一些实施方案中,日程安排视图2535示出了当前时间(并自动在当前时间开始)并且可滚动。日程安排视图2535显示了用户日历中的预约的约会表示。在图25的第一阶段2505中,用户选择新事件创建项目2415(例如,采取鼠标点击、在触摸板或触摸屏上轻敲或其他选择机制)。

第二阶段2505示出了选择新事件创建项目2415的结果。日历应用程序自动显示了具有背景范例文本的可填写文本字段2540。用户可在该文本字段2540中输入文本输入以命名新约会。在接收附加输入(例如,按下“回车”键或等效输入以指示约会描述完成)时,应用程序在下一可用时隙(例如,下一半小时时隙、下一长达一小时的时隙、在整点时刻开始的下一长达一小时的时隙等)中创建新约会。用户还可在文本字段中输入附加详情(例如,清楚指示时间和/或日期的文本),并且日历应用程序将在创建新约会时考虑该信息(例如,如果文本输入包括“星期五7PM”,则新约会将在星期五7pm时创建而非在下一可用时隙中创建)。

另外,在可填写文本字段2540下方,应用程序基于用户日历历史中的过往约会来提议一个或多个新约会。在一些实施方案中,日历应用程序在用户的过往日历历史中识别模式,然后提议继续此类模式的约会。例如,如果用户在为期数周的一周同一天同一时间有同一名称的约会,则应用程序可在下一次出现一周的特定日时提议具有该名称的约会。相似地,应用程序可能识别每隔一周、每天、每隔一天、为期数月在一月的同一天等举办的约会。如果附加详情(例如,位置、受邀者列表等)在所有复现约会中是相同或相似的,则应用程序在所提议的约会中使用这些附加详情。

一些实施方案还识别约会的其他复现特征,并提议具有这些复现特征的新约会。例如,一些实施方案识别约会(其可能不遵循命名或发生的常规模式)的公共组受邀者,并且在任意时间(例如,用户日历上的下一可用时隙)提议与该组受邀者的约会。一旦用户选择所提议的约会中的一个约会,应用程序就将该约会添加到用户的日历,并且用户可编辑约会的详情(例如,改变时间或位置、添加或移除受邀者等)。

在图25的实施例中,应用程序基于对用户日历的分析来提议两个约会,并且显示这些约会的可选项目2545和2550。第一可选项目2545在当前日(星期四)1PM提议标题为“会议3”的约会,因为前两个星期四(以及可能附加的之前的星期四)在1PM有“会议3”。可选项目2545还指示位置“办公室”,其可以是具有该标题的前两个会议的位置。一些实施方案在可选项目内提供附加详情,诸如所提议的约会的受邀者列表和/或关于约会的其他详情。如果“会议3”的先前迭代包括不同组受邀者或不同位置,则一些实施方案对不同排列生成单独的可选项目。其他实施方案使用算法,该算法确定对于每个特征而言要使用哪些值。例如,一些此类实施方案首先在复现约会实例中识别特征的哪个值出现得最频繁。如果该值的最频繁出现存在并列情况,则应用程序将来自复现约会的最近发生的该值用于该特征。例如,如果“会议3”在五月的第一周具有第一组三名受邀者且在五月的第二周具有第二组四名受邀者,则一些实施方案将第二组四名受邀者用于所提议的约会,而其他实施方案提议两个单独的约会,除了受邀者组之外,这两个约会的所有详情都相同。

第二可选项目2550在第二天(星期五)9AM提议标题为“每周讨论”的约会。一些实施方案使用约会标题中的上下文线索,并且用户的日历包括具有相同标题的上一星期五的约会。由于该约会在其标题中指示其性质上为每周,应用程序在下一周的相同时间、相同位置以相同附加特征提议约会。

第二实施例(图26)示出了在两个阶段2605-2610内在后续5月22日星期四执行的相似动作。在第一阶段2605中,用户再次选择新约会创建项目2415,并且第二阶段2610再次示出了基于对用户日历历史的分析而得出的所提议的约会。在这种情况下,用户已在5月15日星期四1PM举办“会议3”,但在5月16日星期五没有另一个“每周讨论”。

第二阶段2610示出了应用程序再次显示文本字段2540,同样具有两个所提议的约会的两个可选项目2615和2620。与前一附图中相似,第一可选项目2615在当前日提议“会议3”的新约会。然而,在这种情况下,用户已经有从1pm到2pm(该时隙通常用于“会议3”)安排的约会“电话呼叫2”。因此,应用程序识别下一可用时隙2pm-3pm,并且在该时隙期间提议约会。一些实施方案识别基于复现确定的时隙之后的下一可用时隙,而其他实施方案还查找由复现约会确定的时隙之前的时隙。例如,如果日历应用程序的用户还有从2pm到3pm的约会,一些实施方案将用可选项目2615提议从l2pm到l pm的约会。

在这两个实施例中,应用程序显示两个所提议的约会的两个可选项目。一些实施方案始终显示所提议的约会的至少最小数量的可选项目(例如,至少一个、至少两个等)。一些实施方案还具有可显示的最大数量的可选项目(例如,五个所提议的约会)。当存在最大数量时,一些实施方案为每个所提议的约会分配得分(例如,基于约会过往发生的次数、各种发生的约会特征之间的相似程度等),并且显示具有最高得分的所提议的约会的可选项目。当确定可选项目的顺序时,一些实施方案基于其开始时间(最早到最晚)对所提议的约会排序,而其他实施方案从最高得分到最低得分对所提议的约会排序。

图27A-B示出了在五个阶段2705-2710内所提议约会选项中的一个约会选项的选择以及在用户日历中新约会的随后创建。第一阶段2705示出了处于与图25的第二阶段2510相同状态的GUI 2500,其中两个所提议的约会的两个可选项目2545和2550基于用户的日历历史来生成。在该阶段,用户选择(通过将位置指示符置于GUI中的可选项目上方并提供选择输入,但其他选择机制是可行的)第二可选项目2550,以创建具有由约会指定的特征的新约会。

第二阶段2710示出了在5月15日星期五的9am-10am创建新约会。当应用程序创建新约会时,一些实施方案自动对新创建的约会的那天选择日历日视图。因此,如图所示,即将到来的约会视图2530此时从5月16日星期五开始,并且日程安排视图2535显示5月16日的日程安排,其包括标题为“每周讨论”的新创建的约会的约会表示2730。另外,应用程序自动显示约会详情对话框2735,该对话框显示约会的特征并允许用户修改这些特征。对于该约会,应用程序自动生成标题、时间、位置、受邀者组(JohnDoe、Jim Smith和Jane Park)以及有关约会的备注(“我们将讨论正在进行的项目”)。在这种情况下,自动生成的约会不包括任何警报、行程时间信息、复现数据或附件,但用户能够视需要添加任何该信息。用户在该阶段2710选择约会时间信息。

第三阶段2715示出了应用程序展开约会详情对话框2735以包括所有时间相关选项,包括开始和结束时间、复现选项、行程时间等。用户选择结束时间,并且所得的第四阶段2720显示各种结束时间选项2740,从而允许用户选择约会的时长和对应的结束时间。用户选择“11:00AM:2小时”选项,并且第五阶段2725显示该部分的结果。约会此时为2小时,并且约会表示2730被相应修改。

图28概念性地示出了用于在接收到创建新约会的输入时自动生成所提议的约会的一些实施方案的过程2800。在一些实施方案中,当用户选择“新事件”或“新约会”选项时,该过程通过在台式计算机或膝上型电脑、移动设备等上操作的日历应用程序来执行。

当应用程序基于用户的当前日历来接收(在2805处)创建新约会的请求时,过程2800即开始。在一些实施方案中,用户选择用于创建新约会的用户界面特征(例如,在图25和图26中被示出为选中的可选GUI项目2415)。在其他实施方案中,用户从下拉菜单选择,或执行其他交互来创建新约会。

在接收该请求时,该过程分析(在2810处)用户的过往日历历史,以识别即将到来的时隙的约会选项。在一些实施方案中,日历应用程序的用户可具有多个日历(例如,工作日历、个人日历等)。一些实施方案一起分析所有日程安排,而其他实施方案仅分析当前选择的日程安排。在一些实施方案中,分析过往日历历史来识别约会选项需要在用户的过往日历历史中识别模式,然后识别继续此类模式的约会。例如,如果用户在为期数周的一周同一天同一时间有同一名称的约会,则应用程序可在下一次出现一周的特定日时识别具有该名称的可能的约会。相似地,应用程序可能识别每隔一周、每天、每隔一天、为期数月在一月的同一天等举办的约会。如果附加详情(例如,位置、受邀者列表等)在所有复现约会中是相同或相似的,则应用程序在所提议的约会中使用这些附加详情。

一些实施方案还识别约会的其他复现特征,并提议具有这些复现特征的新约会。例如,一些实施方案识别约会(其可能不遵循命名或发生的常规模式)的公共组受邀者,并且在任意时间(例如,用户日历上的下一可用时隙)提议与该组受邀者的约会。

如果复现约会的先前迭代包括不同组受邀者或不同位置(或其他特征中的变型),则一些实施方案对不同排列生成单独的可能约会。其他实施方案使用算法,该算法基于复现组约会实例,来确定对于每个特征而言要为单个所提议的约会使用哪些值。例如,一些此类实施方案首先在复现约会实例中识别特征的哪个值最频繁出现。如果该值的最频繁出现存在并列情况,则应用程序将来自复现约会的最近发生的该值用于该特征。例如,如果在过去数周每一周的相同时间举办的约会在这些周的一者中具有第一组三名受邀者,在这些周的第二者中具有第二组受邀者,则一些实施方案将最近组受邀者用于所提议的约会,而其他实施方案提议两个单独的约会,除了受邀者组之外,这两个约会的所有详情都相同。

除了识别复现约会之外,一些实施方案还识别例如约会标题中的上下文线索。例如,如果前一周或前一月包括标题为“每周讨论”或“月度审核”的约会,则一些实施方案将此识别为下一周或下一月的可能所需新约会。一些实施方案还识别约会备注中的相似上下文线索,或以其他方式识别可能的复现约会。

一些实施方案始终识别所提议的约会的至少最小数量的可选项目(例如,至少一个、至少两个等)。一些实施方案还具有将向用户显示的最大数量的所提议的约会。当存在最大数量时,一些实施方案为每个所提议的约会分配得分(例如,基于约会过往发生的次数、各种发生的约会特征之间的相似程度等),并且显示具有最高得分的所提议的约会。当确定要显示的所提议的约会的顺序时,一些实施方案基于其开始时间(最早到最晚)对所提议的约会排序,而其他实施方案从最高得分到最低得分对所提议的约会排序。

在已识别约会选项的情况下,过程2800执行日程安排检查,以确保不会提议与用户日历中的现有约会重叠的约会。因此,该过程选择(在2815处)所识别的约会选项中的一个约会选项。应用程序可按随机顺序、从最早到最晚等顺序对每个所提议的约会选项执行后续操作。本领域的普通技术人员还将认识到,一些实施方案可能不在线性过程中按一次一个约会选项的方式执行操作。相反,一些实施方案对各种约会选项并行执行这些操作。

对于所选择的约会选项,该应用程序确定(在2820处)用户在分配给该约会选项的时隙期间是否繁忙。例如,如果日历应用程序在星期五1pm-2pm识别复现约会,但用户在该时间(或在与所识别的时间部分或完全重叠的其他时隙,诸如12:30pm-1:30pm、或1:30pm-2pm)安排了不同约会,则用户在所识别的时隙期间将是繁忙的。一些实施方案检查所选择并将为其分配约会(如果创建了的话)的用户日历,以及用户的任何其他日历。其他实施方案仅检查当前选择的日历是否存在约会重叠。

当时隙可用时,过程2800为所识别的时隙呈现(在2825处)约会选项。另一方面,当时隙不可用时,该过程将所选择的约会选项的时隙修改(在2830处)成可用时隙。该过程随后为所修改的时隙呈现(在2835处)约会选项。在一些实施方案中,呈现约会选项需要在日历应用程序的GUI中显示可选项目,用户可选择该可选项目,以在她的日历中创建具有所识别的特征的新约会。图25-27在上文示出了此类所提议的约会选项的实施例,但一些实施方案在可选项目内提供附加详情,诸如所提议的约会的受邀者列表和/或关于约会的其他详情。

当由于事先预定约会与基于复现所识别的时隙存在重叠或部分重叠而需要修改约会的时隙时,一些实施方案识别基于复现所确定的时隙之后的下一可用时隙。其他实施方案还查找由复现约会确定的时隙之前的时隙。

在呈现该选项之后(虽然本领域的普通技术人员将认识到,一些实施方案实际上向用户一次性呈现所有选项作为可选项目),过程2800确定(在2840处)是否识别了尚未检查日程安排的附加约会选项。如果仍有附加约会选项,该过程返回到2815以选择所识别的约会选项中的另一者。否则,过程2800结束。

以上描述说明了由日历应用程序仅基于对用户日历历史的分析来实现的所提议的约会的自动生成。在一些实施方案中,在用户在新约会创建文本字段(例如,图25的文本字段2540)中输入文本时,应用程序搜索用户的过往日历历史,以查找具有匹配文本字符串的特征的约会(例如,搜索标题、受邀者姓名或电子邮件地址、位置等)。应用程序随后基于所识别的匹配过往约会来提议新约会(与上述所提议的约会相似)。在基于匹配过往约会的天和时间的天和时间提议这些可能的新约会。

日历应用程序的一些实施方案按照上文通过参考图25-28所述的方式仅仅基于日历历史来提议约会,而其他实施方案需要文本输入以基于该文本输入与过往日历约会的匹配来提议约会。另一些实施方案初始按照上述方式提议约会,但随后在用户开始输入文本输入后也搜索匹配约会,并且按照后续通过参考图30-33所述的方式提议约会。

图29与图24一样示出了用户日程安排的月视图GUI 2900。月视图GUI 2900将用作后图30-32的参考。月视图GUI 2900的显示与GUI 2400的显示相同,其中顶部栏2905包括若干选项卡2910、搜索栏、日历切换项目和新约会创建项目2915。选项卡2910、搜索栏和日历切换项目以与上文针对图24所述的相同方式操作。

在一些实施方案中,新约会创建项目2915使日历应用程序显示用于在用户日历中创建新约会的对话框。在一些实施方案中,新约会创建对话框提供文本字段,在该文本字段中,用户可输入新约会的名称。在一些实施方案中,与上述新约会创建项目2415一样,在接收到附加输入时,应用程序在下一可用时隙中创建新约会。用户还可在文本字段中输入附加详情(例如,清楚指示时间和/或日期的文本),并且日历应用程序在创建新约会时将考虑该信息。

在一些实施方案中,在用户在文本字段中输入文本时,应用程序搜索用户的日历历史,以查找与输入文本字符串匹配或接近匹配的先前约会。例如,在用户输入文本字符串时,应用程序可能识别与文本字符串匹配的约会标题、受邀者姓名、位置等。用户还可能输入指示天或时间的文本(例如,“星期二”),从而使日历应用程序识别与输入的天/时间匹配的约会。基于匹配的先前约会,日历应用程序生成所提议的新约会以向用户呈现,这些所提议的新约会类似于通过参考以上附图描述的所提议的约会。

如在GUI 2400中,月视图GUI 2900包括月历2920,其中当前日(5月28日)突出显示。月历2920指示在过去一月内安排了各种约会(晚餐、会议等)。

图30和图31示出了基于用户文本输入的一些实施方案的日视图GUI 3000中所提议的新约会选项的生成。具体地讲,图30示出了GUI 3000的四个阶段3005-3020,其中应用程序接收新约会创建项目2915的选择和后续的文本输入,然后基于该文本输入来提供所提议的新约会创建项目。

第一阶段3005示出了一些实施方案的日视图GUI 3000,这类似于上述日视图GUI 2500。GUI 3000包括顶部栏2905、小型月视图3025、即将到来的约会视图3030和日程安排视图3035。这些GUI部分按照与上文针对图25中的GUI 2500所述的那些部分相似的方式操作。第一阶段3005示出了用户选择新约会创建项目2905。

第二阶段3010示出了作为新约会创建项目2915选择的结果,应用程序显示具有背景范例文本的可填写文本字段3040,这类似于上述可填写文本字段2540。用户可在文本字段2540中输入文本输入,以命名新约会和/或指定有关新约会的其他详情。然而,与图25的实施例不同,日历应用程序此时未显示附加所提议的约会项目。

相反,第三阶段3015示出了用户已开始在可填写文本字段3040中输入文本(例如,使用键盘、触摸屏键盘(如果应用程序在触摸屏设备上操作)等)。用户已输入文本“呼叫”。在该阶段,用户刚输入文本,应用程序尚未生成向用户显示的任何所提议的新约会。

第四阶段3020示出了基于文本输入和用户的过往日历历史来显示表示所提议的新约会的若干可选项目3045-3055。在一些实施方案中,用户一开始键入,应用程序就提供此类可选项目(例如,用户一键入“C”,应用程序就会基于字母“C”来呈现可能的新约会)并随着每个击键更新这些可选项目。在其他实施方案中,如此处所示,应用程序会等待直到用户已完成输入的至少一部分(例如,直到接收到空格或该输入短时间暂停)。

在该实施例中,三个可选项目3045-3055基于文本字符串“呼叫”与用户过往约会的约会标题的匹配来提议约会。第一可选项目3045基于两次复现的事件“电话会议”,其在5月12日星期一和5月19日星期一的1pm发生,但在5月26日星期一未发生(可能是由于恰逢阵亡将士纪念日)。虽然在5月27日星期二的1pm安排了电话会议,但由于星期一节假日的缘故,一些实施方案将此视为先前两个约会的复现,而不视为下一周提议星期二呼叫。用户在先前星期二的11am和1pm也安排了电话呼叫,应用程序基于这些先前约会用可选项目3050和3055来提议新约会。11am-12am的时隙对于用户是空闲的,因此可选项目3050在与前一周的呼叫相同的时间提议“呼叫1”。然而,在5月29日星期四,1pm-1:30pm的时隙已被占据,因此可选项目3055替代地提议从2pm到2:30pm的“呼叫2”。

虽然在该实施例中所有三个可选项目3045-3055都适用于基于与先前约会标题的匹配而提议的约会,但一些实施方案也与其他约会特征进行匹配。例如,一些实施方案与限定约会的受邀者姓名、位置、备注等字段进行匹配。当用户输入某人的姓名时,该姓名可能出现与受邀者字段(即,该人是受邀者的约会)以及标题字段(例如,该人的姓名出现于标题中的约会)两者的匹配。

一旦应用程序识别要为其在GUI中显示可选项目的所提议的约会,不同实施方案就按不同方式对可选项目排序。一些实施方案在约会的具体时间生成所提议的约会,然后按时间顺序显示约会。其他实施方案基于多种因素对每个所提议的约会进行评分,并且基于这些得分对可选项目排序。例如,如在先前实施例中,更常发生的约会可能得分更高(例如,在图30中,“电话会议”所提议的约会出现在“呼叫1”或“呼叫2”之前。此外,一些实施方案基于匹配的强度对所提议的约会进行评分。因此,匹配约会标题中的多个字词比匹配一个字词得分更高,匹配多个字段比匹配单个字段更能指示用户的需求,诸如此类。

图31示出了在GUI 3000的四个阶段3105-3120内新约会创建项目2915的操作的第二实施例。最开始两个阶段3105和3110与图30的最开始两个阶段3005-3010相同,然后在第三阶段3115中,用户在可填写文本字段3040中键入“Jim”。第四阶段3120示出了基于该文本输入来显示的可选项目3125和3130。在这种情况下,用户在上四个星期五的1pm都有“会议3”约会,姓名为Jim的人是该约会的受邀者。因此,第一可选项目3125用于该会议的另一次复现。第二可选项目3130用于提议在下星期二5pm举办的标题为“讨论Jim”的约会。图29中所示的用户日历包括在早前星期二5pm具有该标题的过往约会。

在这种情况下,“会议3”的可选项目被列出为第一选项,因为其在上四个星期五的每个星期五都发生。虽然一些实施方案比起受邀者姓名的匹配更倾向于约会标题的匹配,但基于每周反复发生的一组约会的所提议的约会可比基于前面若干周发生的单个约会的所提议的约会得分更高。

图32示出了在两个阶段32053210内所提议的约会项目中的一个约会项目的选择以及所产生的在用户日历中新约会的创建。第一阶段3205示出了处于与图31的第四阶段3120相同状态的GUI 3000。在该阶段,用户选择第一可选项目3125来创建具有约会所指定的特征的新约会。

第二阶段3110示出了在5月15日星期五的1pm-1:30pm创建新约会。当应用程序创建新约会时,一些实施方案自动对新创建的约会的那天选择日历日视图,如上图27中所示。应用程序为新创建的约会生成并显示约会表示3215,并且显示约会详情对话框3220,该对话框显示约会的特征并允许用户修改这些特征。对于该约会,应用程序自动生成标题、时间、位置、受邀者(Jim Smith)和备注(“周审核”)。如此处所示,由于受邀者姓名“JimSmith”匹配用户所输入的文本字符串“Jim”的缘故,日历生成并显示约会的可选项目。虽然该图中未示出,但用户可随后修改新创建的约会的特征,如图27中所示。

图33概念性地示出了用于基于使文本输入与用户的过往日历约会历史匹配来自动生成所提议的约会的一些实施方案的过程3300。在一些实施方案中,当用户选择“新事件”或“新约会”选项、接着提供文本输入(例如,通过键入文本字符串)时,该过程通过在台式计算机或膝上型电脑、移动设备等上操作的日历应用程序来执行。

当应用程序接收(在3305处)描述新事件或约会的文本输入时,过程3300即开始。在一些实施方案中,在应用程序接收新约会创建项目的选择之后,用户在日历应用程序所显示的可填写文本字段中键入该信息,如图30和32的最开始三个阶段中所示。在其他实施方案中,用户在不同GUI构造(诸如,不需要附加GUI交互就能访问的永久文本字段)中输入文本输入。

在接收该文本输入时,该过程分析(在3310处)用户的过往日历历史,以识别与所接收到的文本输入匹配的事件。在一些实施方案中,日历应用程序的用户可具有多个日历(例如,工作日历、个人日历等)。一些实施方案一起分析所有日程安排,而其他实施方案仅分析当前选择的日程安排。在一些实施方案中,分析用户的过往日历历史需要搜索姓名、受邀者列表、位置、备注、附件文件名等,以查找与所输入字符串匹配的文本字符串。一些实施方案还识别近似匹配(例如,基于常见打字错误,诸如“Meting”的输入与“Meeting”匹配。当输入多个字词时,不同实施方案使用文本字符串的不同解释来识别约会历史中的匹配。一些实施方案解释输入“a b”以要求单个字符串“a b”的匹配,其他实施方案要求“a”的匹配和“b”的匹配,而另一些实施方案要求“a”或“b”的匹配。再一些实施方案允许所有这些情况,但倾向于字符串完全匹配,接着是两项的匹配,接着是其中一项的匹配。

在分析过往日历历史时,一些实施方案不分析用户的整个先前日程安排。相反,不同实施方案仅在过去的特定时间内分析约会。例如,一些实施方案仅从前一个月、前三个月、前一年等分析约会。

接下来,过程3300基于所识别的匹配约会来生成(在3315处)具有约会特征的一组新提议的约会,并且对该组新提议的约会进行排序(在3320处)。一些实施方案具有将向用户显示的最大数量的所提议的约会,因此仅基于匹配的约会的该最大数量来生成所提议的约会。当存在比该最大数量更多的匹配约会时,一些实施方案将得分分配给每个匹配的过往约会或一系列约会,并且显示具有最高得分的所提议的约会。一些实施方案基于匹配的特征的组合(例如,比起其他约会特征,更倾向于标题)、匹配的类型(例如,整个字符串匹配、所有字词匹配、仅一个字词匹配)、过往约会的复现性质(例如,匹配的复现约会将得分更高)等。

一旦识别将由其生成所提议的约会的该组匹配约会,日历应用程序就按照上文针对图28所述的相似方式生成所提议的约会。一些实施方案的日历应用程序识别与过往约会的天/时间匹配的下一天和时间的出现,然后在所识别的天和时间提议具有与所匹配的过往约会相同特征(例如,相同姓名、受邀者组、位置等)的约会。当所匹配的约会是具有在约会实例之间变化的一些特征(例如,不同组受邀者或不同位置)的复现约会时,一些实施方案使用算法来确定对于每个特征而言要为所提议的约会使用哪些值。例如,一些此类实施方案首先在复现约会实例中识别特征的哪个值最频繁出现。如果该值的最频繁发生存在并列情况,则应用程序将来自复现约会的最近出现的该值用于该特征。

为了对所提议的约会的组(即,将向用户显示的那些约会)进行排序,一些实施方案从最早所提议的时间开始。其他实施方案使用所计算的评分来确定要提议哪些约会,其中最高得分首先显示(例如,在可选项目列表的顶部)。

在识别约会选项的情况下,过程3300执行日程安排检查,以确保不会提议与用户日历中的现有约会重叠的约会。因此,该过程选择(在3325处)所识别的约会选项中的一个约会选项。应用程序可按随机顺序、从最早到最晚、基于它们的相应匹配得分等,对每个所提议的约会选项执行后续操作。本领域的普通技术人员还将认识到,一些实施方案可能不在线性过程中按一次一个约会选项的方式执行操作。相反,一些实施方案对各种约会选项并行执行这些操作。

对于所选择的约会选项,该应用程序确定(在3330处)用户在分配给该约会选项的时隙期间是否繁忙。例如,如果日历应用程序在先前星期五1pm-2pm识别匹配约会,但用户在该时间(或在与所识别的时间部分或完全重叠的其他时隙,诸如12:30pm-1:30pm、或1:30pm2pm)安排了不同约会,则用户在所识别的时隙期间将是繁忙的。一些实施方案检查所选择且将为其分配约会(如果创建了的话)的用户日历,以及用户的任何其他日历。其他实施方案仅检查当前选择的日历是否存在约会重叠。

当时隙可用时,过程3300为所识别的时隙呈现(在3335处)约会选项。另一方面,当时隙不可用时,该过程将所选择的约会选项的时隙修改(在3340处)成可用时隙。该过程随后为所修改的时隙呈现(在3345处)约会选项。在一些实施方案中,呈现约会选项需要在日历应用程序的GUI中显示可选项目,用户可选择该可选项目,以在她的日历中创建具有所识别的特征的新约会。图30-32在上文示出了此类所提议的可选约会选项的实施例,但一些实施方案在可选项目内提供附加详情,诸如所提议的约会的受邀者列表和/或关于约会的其他详情。

当由于事先预定约会与基于复现所识别的时隙存在重叠或部分重叠而需要修改约会的时隙时,一些实施方案识别基于复现所确定的时隙之后的下一可用时隙。其他实施方案还查找由复现约会确定的时隙之前的时隙。

在呈现该选项之后(虽然本领域的普通技术人员将认识到,一些实施方案实际上向用户一次性地呈现所有选项作为可选项目),过程3300确定(在3350处)是否识别了尚未检查日程安排的附加约会选项。如果仍有附加约会选项,该过程返回到3325,以选择所识别的约会选项中的另一者。否则,过程3300结束。

如上所述,过程2800和3300不互相排斥。在一些实施方案中,日历应用程序初始执行过程2800(或相似功能的过程),以在用户在日历应用程序GUI中选择新约会项目时生成所提议的约会。如果用户输入文本而非选择所提议的约会中的一个约会,则应用程序执行过程3300(或相似功能的过程),以生成与所输入的文本匹配的所提议的约会。

VI.电子系统

上文所述的特征和应用程序中的许多可被实现为被指定为在计算机可读存储介质(还称为计算机可读介质)上记录的指令集的软件过程。当这些指令由一个或多个计算或处理单元(例如,一个或多个处理器、处理器的内核或者其他处理单元)执行时,这些指令使得一个或多个处理单元能够执行指令中所指示的动作。计算机可读介质的示例包括但不限于CD-ROM、闪存驱动器、随机存取存储器(RAM)芯片、硬盘驱动器、可擦可编程只读存储器(EPROM)、电可擦可编程只读存储器(EEPROM)等。计算机可读介质不包括无线地传送或通过有线连接的载波和电信号。

在本说明书中,术语“软件”意在包括驻留在只读存储器中的固件或者存储在磁性存储设备中的应用程序,所述固件或应用程序可被读取到存储器中以用于由处理器进行处理。另外,在一些实施方案中,可在保留不同的软件发明的同时,将多个软件发明实现为更大程序的子部分。在一些实施方案中,还可将多个软件发明实现为独立程序。最后,共同实现这里所述的软件发明的独立程序的任何组合均在本发明的范围内。在一些实施方案中,当被安装以在一个或多个电子系统上运行时,软件程序定义执行和施行软件程序的操作的一个或多个特定机器实现。

A.移动设备

一些实施方案的用户数据共享在移动设备诸如智能电话(例如,)和平板电脑(例如,)上发生。图34是此类移动计算设备的架构3400的一个实施例。如图所示,移动计算设备3400包括一个或多个处理单元3405、存储器接口3410和外围设备接口3415。

外围设备接口3415耦接到各种传感器和子系统,所述子系统包括照相机子系统3420、一个或多个有线通信子系统3423、一个或多个无线通信子系统3425、音频子系统3430、I/O子系统3435等。外围设备接口3415能够实现处理单元3405与各种外围设备之间的通信。例如,取向传感器3445(例如,陀螺仪)和加速度传感器3450(例如,加速度计)耦接到外围设备接口3415,以便促进取向和加速功能。

照相机子系统3420耦接到一个或多个光学传感器3440(例如,电荷耦合器件(CCD)光学传感器、互补金属氧化物半导体(CMOS)光学传感器等)。与光学传感器3440耦接的照相机子系统3420促进照相机功能,诸如图像和/或视频数据捕获。有线通信子系统3423和无线通信子系统3425用于促进通信功能。

在一些实施方案中,无线通信子系统3425包括射频接收器和发射器,以及光学接收器和发射器(图34中未示出)。一些实施方案的这些接收器和发射器被实现为在一个或多个通信网络之上运行,所述一个或多个通信网络诸如GSM网络、Wi-Fi网络、蓝牙网络等。音频子系统3430耦接至扬声器以输出音频(例如,以输出语音导航指令)。另外,在一些实施方案中,音频子系统3430耦接到麦克风以促进支持语音的功能。

I/O子系统3435涉及输入/输出外围设备(诸如显示器、触摸屏等)和处理单元3405的数据总线之间通过外围设备接口3415的传输。I/O子系统3435包括触摸屏控制器3455和其他输入控制器3460,以促进输入/输出外围设备与处理单元3405的数据总线之间的传输。如图所示,触摸屏控制器3455耦接到触摸屏3465。触摸屏控制器3455使用多种触敏技术中的任一种来检测触摸屏3465上的接触和移动。其他输入控制器3460耦接到其他输入/控制设备,诸如一个或多个按钮。一些实施方案包括旁近触感屏和对应控制器,该对应控制器可检测替代触摸交互或除触摸交互之外的接近触摸交互。

存储器接口3410耦接到存储器3470。在一些实施方案中,存储器3470包括易失性存储器(例如,高速随机存取存储器)、非易失性存储器(例如,闪存存储器)、易失性存储器和非易失性存储器的组合和/或任何其他类型的存储器。如图34中所示,存储器3470存储操作系统(OS)3471。OS3471包括用于处理基础系统服务和用于执行硬件相关任务的指令。

存储器3470另外包括日历应用程序指令3472以便设备3400执行一些实施方案的日历应用程序。日历应用程序3472可包括用于执行本文所述各种特征中的一些或所有特征的指令(例如,处理触摸交互以在应用程序GUI中重设日历布局的时间标度,处理日历约会的时区信息,处理用户对约会邀请的置评,使用他人的日历安排约会,基于用户的日历历史来提议约会等)。

存储器3470还包括:促进与一个或多个附加设备通信的通信指令3474(例如,用于对等数据共享,或通过互联网连接到服务器以实现基于云端的数据共享);促进图形用户界面处理的图形用户界面指令3476;促进图像相关的处理和功能的图像处理指令3478;促进输入相关(例如,触摸输入)的过程和功能的输入处理指令3480;促进音频相关的过程和功能的音频处理指令3482;以及促进照相机相关的过程和功能的照相机指令3484。上述指令仅是示例性的,并且在一些实施方案中,存储器3470包括附加的和/或其他的指令。例如,用于智能电话的存储器可包括促进与电话相关的过程和功能的电话指令。以上所识别的指令无需实现为独立的软件程序或模块。可在硬件和/或软件中,包括在一个或多个信号处理和/或专用集成电路中,实现移动计算设备的各种功能。

虽然图34中示出的部件被示出为独立的部件,但是本领域的普通技术人员将认识到,两个或更多个部件可集成到一个或多个集成电路中。另外,两个或更多个部件可由一条或多条通信总线或信号线来耦接在一起。此外,虽然许多这些功能已被描述为由一个部件来执行,但是本领域的普通技术人员将认识到,相对于图34所描述的功能可以被划分到两个或更多个集成电路中。

B.计算机系统

图35概念性地示出了实现本发明的一些实施例所利用的电子系统3500的另一个实施例。电子系统3500可为计算机(例如,台式计算机、个人计算机、平板电脑等)、电话、PDA或任何其他种类的电子设备或计算设备。此类电子系统包括各种类型的计算机可读介质以及用于各种其他类型的计算机可读介质的接口。电子系统3500包括总线3505、处理单元3510、图形处理单元(GPU)3515、系统存储器3520、网络3525、只读存储器3530、永久性存储设备3535、输入设备3540以及输出设备3545。

总线3505总体表示在通信上连接电子系统3500的许多内部设备的所有系统、外围设备、以及芯片组总线。例如,总线3505可通信地将一个或多个处理单元3510与只读存储器3530、GPU 3515、系统存储器3520以及永久性存储设备3535连接。

处理单元3510从这些各种存储器单元检索要执行的指令和要处理的数据,以便执行本发明的过程。在不同实施方案中,一个或多个处理单元可为单个处理器或者多核处理器。一些指令被传送至GPU 3515并且由该GPU执行。GPU 3515可卸载各种计算指令,或补充由处理单元3510提供的图像处理。在一些实施方案中,可使用CoreImage的内核着色语言来提供此类功能性。

只读存储器(ROM)3530存储一个或多个处理单元3510以及电子系统的其他模块所需的静态数据和指令。另一方面,永久性存储设备3535是读写存储器设备。该设备是即使在电子系统3500关闭时也存储指令和数据的非易失性存储器单元。本发明的一些实施方案将海量存储设备(诸如,磁盘或光盘及其相应硬盘驱动器、集成式闪存存储器)用作永久性存储设备3535。

其他实施方案将可移动的存储设备(诸如,软盘、闪存存储器设备等,及其对应的驱动器)用作永久性存储设备。与永久性存储设备3535一样,系统存储器3520也是读写存储器设备。但是,与存储设备3535不同的是,系统存储器3520是易失性读写存储器,诸如随机存取存储器。系统存储器3520存储处理器运行时所需的指令和数据中的一些。在一些实施方案中,本发明的过程存储在系统存储器3520、永久性存储设备3535和/或只读存储器3530中。例如,各种存储器单元包括用于根据一些实施方案处理多媒体片段的指令。一个或多个处理单元3510从这些各种存储器单元检索将要执行的指令以及将要处理的数据,以便执行一些实施方案的过程。

总线3505还连接至输入设备3540和输出设备3545。输入设备3540使得用户能够将信息传达至电子系统并且选择至电子系统的命令。输入设备3540包括字母数字键盘和指示设备(也称为“光标控制设备”)、摄像机(例如,网络摄像机)、麦克风或用于接收语音命令的类似设备等。输出设备3545显示由电子系统生成的图像或者其他输出数据。输出设备3545包括打印机以及诸如阴极射线管(CRT)或液晶显示器(LCD)的显示设备,以及扬声器或类似的音频输出设备。一些实施方案包括充当输入设备和输出设备两者的设备诸如触摸屏。

最后,如图35中所示,总线3505还通过网络适配器(未示出)将电子系统3500耦接到网络3525。这样,计算机可以是计算机的网络(诸如局域网(“LAN”)、广域网(“WAN”)或内联网)的一部分,或者可以是网络的网络(诸如互联网)的一部分。电子系统3500的任何或所有部件均可与本发明结合使用。

一些实施方案包括将计算机程序指令存储在机器可读或计算机可读介质(或者称为计算机可读存储介质、机器可读介质或机器可读存储介质)中的电子部件诸如微处理器、存储装置以及存储器。此类计算机可读介质的一些示例包括RAM、ROM、只读光盘(CD-ROM)、可刻录光盘(CD-R)、可重写光盘(CD-RW)、只读数字通用光盘(例如,DVD-ROM、双层DVD-ROM)、各种可刻录/可重写DVD(例如,DVD-RAM、DVD-RW、DVD+RW等)、闪存存储器(例如,SD卡,mini-SD卡、micro-SD卡等)、磁性和/或固态硬盘驱动器、只读和可刻录盘、超密度光盘、任何其他光学或磁性介质以及软盘。计算机可读介质可存储计算机程序,该计算机程序可由至少一个处理单元来执行并且包括用于执行各种操作的指令集。计算机程序或者计算机代码的实例包括机器代码,例如由编译器所产生的机器代码,以及包括可由计算机、电子部件或微处理器使用解译器来执行的更高级别代码的文件。

虽然上述讨论主要涉及执行软件的微处理器或多核处理器,但一些实施例由一个或多个集成电路来执行,该一个或多个集成电路例如专用集成电路(ASIC)或现场可编程门阵列(FPGA)。在一些实施例中,此类集成电路执行存储在电路自身上的指令。此外,一些实施例执行存储在可编程逻辑设备(PLD)、ROM或RAM设备中的软件。

如在本专利申请的本说明书以及任何权利要求中所使用的,术语“计算机”、“服务器”、“处理器”及“存储器”均是指电子设备或其他技术设备。这些术语排除人或者人的群组。出于本说明书的目的,术语显示或正在显示意指在电子设备上显示。如在本专利申请的本说明书以及任何权利要求中所使用的,术语“计算机可读介质”以及“机器可读介质”完全限于以可由计算机读取的形式存储信息的可触摸的物理对象。这些术语不包括任何无线信号、有线下载信号以及任何其他短暂信号。

虽然已参考许多特定细节描述了本发明,但本领域的普通技术人员将认识到,可在不脱离本发明的实质的情况下以其他特定形式来体现本发明。此外,多个图(包括图4和图5)概念性地示出了过程。这些过程的特定操作可不按照所示出并描述的确切顺序来执行。可不在一个连续的操作系列中执行该特定操作,并且可在不同实施方案中执行不同的特定操作。此外,该过程可使用若干子过程来实现,或者实现为较大宏过程的一部分。因此,本领域的普通技术人员将理解,本发明不受前述示例性细节限制,而是将由所附的权利要求所限定。

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