本申请是申请号为200980112610.8、申请日为2009年1月30日、发明名称为“数据库实体的静态数据和动态数据的集成及其统一表示”的发明申请的分案申请。
相关专利申请的相互参照
本专利申请涉及2007年7月6日提交的、名称为“single-axiswindowmanger”的第11/774,148号美国专利申请,在此引用该专利申请的全部内容供参考。
本说明书涉及一种移动装置和在移动装置上的应用程序内表示对应于数据库实体的静态数据和动态数据的方法。
背景技术:
管理联系人和相关静态信息的应用程序现时存在于个人计算机、即时通讯服务、电子邮件服务、智能电话以及基于万维网的特定服务中。这种静态信息包括联系人详情,诸如:名称、地址、电话号码、电子邮件地址、以及即时消息标识符。通常,用户可以选择电话号码,例如,点击电话号码,然后,就将该用户连接到单独电话应用程序或者服务,然后,拨打该号码。或者,该用户点击电子邮件地址,这样启动单独电子邮件应用程序,从而使用户能从独立电子邮件应用程序内将电子邮件发送到所选联系人。
此外,还存在用于管理与联系人、具有时效性的数据相关的动态数据的应用程序。例如,即时通讯应用程序或者电子邮件应用程序可以提供动态数据,诸如被选联系人在特定时点的在线可用性。
为了便于用户确定被选联系人是否可以用于在线即时通讯,该用户可以点击被选联系人的即时通讯标识符,以启动单独即时通讯服务,从而在该服务中确定被选联系人。因此,确定用户的在线可用性是在单独应用程序中执行的。或者,用户可以直接启动即时通讯服务,诸如aol即时通讯(aim)服务,并且可以在用户的密切联系人或者“密友”清单中定位被选联系人,以确定该被选联系人此时是否在线。尽管aol“密友”可以用于即时通讯目的,但是为了将电子邮件发送到同一个aol“密友”,需要启动单独电子邮件应用程序,因为即时通讯服务和电子邮件服务互相无关。
当前,存在可以将联系信息、博客(blog)和图片插入即时通讯应用程序的应用程序,但是这种应用程序是基于万维网的,并且通常不能利用万维网浏览器查找联系人。对于每种不同类型的静态数据特有的动态数据,启动单独应用程序。例如,诸如microsoftoutlook的电子邮件应用程序不在该应用程序中显示联系人所在位置的天气,相反,用户必须在例如网站上单独查询该数据。因此,在计算装置上,还没有真正实现对基于不同联系人的数据的集成。
通常,为了使用户连接到联系人应用程序中所列的联系人,用户被迫选择与该联系人相关的不同类型的静态数据,以启动几种单独应用程序之一,从而访问所选类型的静态数据特有的动态数据。特别是当用户需要连接到几个联系人时,用户需要重复在单独应用程序中重复定位这些联系人中的每个联系人,这种方法耗时并且麻烦。
对于所选类型的静态数据特有的动态数据访问各种单独应用程序的另一个显著缺陷是,该用户被迫在关于各个联系人、与该联系人相关的每种类型的静态数据、以及为了访问与该联系人相关的动态数据而启动的每个单独应用程序的多个表示视图之间切换。当用户点击aim链接时,该当前视图被示出该联系人的aim的应用程序视图代替。由于多种不同类型的静态数据与单个联系人相关,所以该用户被迫点击每种类型的数据或者链接,以启动(或者执行)许多单独应用程序之一,从而访问对应于每种类型的静态数据的动态数据,这使得该问题进一步加重。
由于特定类型的联系人特定动态数据的时间敏感特性,诸如即时通讯服务中的在线状态,所以该用户被迫在各瞬时重复连接到该服务,以确定同一个联系人的在线状态。因此,为了访问与和联系人相关的静态数据关联的动态数据,而启动单独应用程序的另一个显著缺点是,需要持续更新这些单独应用程序的视图或者动态数据。
此外,如果该用户无意中终止了为响应用户从联系人应用程序中选择联系人的即时通讯标识符而启动的即时通讯服务,则该用户没有其他选择,只能重新连接到该即时通讯服务并再一次定位该联系人。
因此,该技术尤其缺少,使与计算装置上执行的应用程序中的联系人相关的静态数据与联系人应用程序中的全部动态数据组合的配置。
技术实现要素:
系统(和步骤)的一个方面是,在移动装置上,将全部位于单个应用程序中的对应于数据库实体的静态数据与基于对应于数据库实体的静态数据的动态数据组合。该系统(和步骤)在移动装置上表示应用程序中对应于实体的静态数据和动态数据。在该应用程序中,创建实体对象,以致该实体对象具有多个含有对应于该实体的静态数据的字段。根据对应于该实体的静态数据,该实体对象从在该移动装置内可执行的一个或者多个应用程序接收对应于该实体的动态数据。来自对应于该实体的实体对象的静态数据和动态数据被同时显示在应用程序的用户界面内。
检索对应于该实体的动态数据的至少一个应用程序是基于数据网络上的网络服务的。这种网络服务包括,但是并不局限于包括:即时通讯服务、电话服务、地图服务、天气服务、博客服务、照片服务、以及适地性服务。
该说明书中描述的特征和优点并不是全部包括在内的,特别是,根据附图、说明书和权利要求书,许多附加特征和优点对于本技术领域内的普通技术人员是显而易见的。此外,应当注意,选择该说明书中使用的语言主要是为了便于阅读和讲授的目的,而不是为了描述或者限定所披露的主题选择的。
附图说明
现在,将参考附图,仅作为例子,描述根据本说明书的具体实施例。下面简要描述每幅附图。
图1示出移动计算装置的一个实施例。
图2示出移动计算装置的体系结构的一个实施例。
图3a示出根据相应数据模型,在移动计算装置的用户界面上,润色静态数据和动态数据的方法的一个实施例。
图3b示出在移动计算装置的用户界面上,表示静态数据和动态数据的方法的一个实施例。
图4示出在移动装置上,表示对应于应用程序内的数据库实体的静态数据和动态数据的方法的一个实施例。
具体实施方式
仅为了说明问题,附图和下面的描述涉及优选实施例。应该注意,根据下面的讨论,在此披露的结构和方法的变型实施例容易被看作可行变型,而不脱离要求保护的本发明。
现在,将详细描述几个实施例,其例子示于附图中。请注意,在附图中,在所有可行的地方,采用相同或者类似的参考编号表示类似或者相同的功能。仅为了说明问题,附图示出所披露系统(或者方法)的实施例。本技术领域内的技术人员容易根据下面的描述设想,在不脱离在此描述的原理的情况下,采用在此所示的结构和方法的变型实施例。
图1示出具有电话功能的移动计算装置110的一个实施例,例如移动电话或者智能电话。该移动计算装置被配置,以宿主或者执行用于主叫和接收电话呼叫的电话应用程序。请注意,为了便于理解,在此披露的原理均基于具有在移动通信网络中运行的电话功能的移动计算装置100的典型情况。然而,在此披露的原理可以应用于其他双工(或者多工)电话情况,诸如具有被配置为直接与公用交换电话网(pstn)或者与具有通过网间协议的语音(voiceoverinternetprotocol)(voip)功能的数据网交互的电话功能的装置。
该移动计算装置110被配置为便于用户手握的形状系数,例如,个人数字助理(pda)或者智能电话的形状系数。例如,该移动计算装置110可以具有长度在7.5至15.5厘米之间、宽度在5至12.75厘米、高度在0.64至2.2厘米之间的尺寸,而重量在55至230克之间。
该移动计算装置110包括:扬声器120、屏幕130、导航区域140、小键盘区域150、以及麦克风160。该移动计算装置110还可以包括一个或者多个开关170、170a、以及170b(统称为170)。该一个或者多个开关170可以是按钮、滑块或者翘板开关,而且可以是机械的或者固态的(例如,触敏固态开关)。
例如,该移动计算装置110的屏幕130是240×240、320×320、或者320×480的透反式显示器(transflectivedisplay)。例如,屏幕130包括有源阵列液晶显示器(amlcd)、薄膜晶体管液晶显示器(tft-lcd)、有机发光二极管(oled)、干涉调制显示器(imod)、液晶显示器(lcd)、或者其它适当显示器件。在实施例中,该显示器显示彩色图像。在另一个实施例中,屏幕120进一步包括触感显示器(例如,压敏(电阻性的)、电敏感(电容性的)、声敏(saw或者表面声波)、光敏(红外)),该触感显示器包括用于从用户接收输入数据、命令或者信息的数字化器。用户可以利用指示笔、手指或者另一个适当输入装置进行数据输入,诸如在菜单上进行选择,或者输入文本数据(textdata)。
导航区域140被配置,以控制在移动计算装置110内执行的并通过屏幕130可视的应用程序的功能。例如,该导航区域包括x向(例如,x是5)导航环145,该x向导航环提供光标控制、选择以及类似功能。此外,该导航区域140还可以包括选择按钮143a、143b,以在屏幕130上选择仅在该按钮上看到的功能。此外,导航区域140还可以包括专用功能按钮147,例如,用于诸如日历、万维网浏览器、电子邮件客户机或者起始屏幕(homescreen)的功能。在该例中,导航环145可以通过机械的固态开关、拨盘或者它们的组合予以实现。小键盘区域150可以是数字键区(例如,拨号面板)或者与字母或者字母数字小键盘160集成在一起的数字小键盘(例如,具有连续键qwerty、azerty的键盘,或者是键盘上的其它等效键组)。
尽管未示出,但是请注意,该移动计算装置110还可以包括扩展槽(未示出)。该扩展槽被配置,以接收并且支持扩展卡(或者媒体卡),该扩展卡可以包括存储卡,诸如compactflashtm卡、sd卡、xd卡、memorystickstm、multimediacardtm、sdio等等。
接着,参考图2,方框图示出具有电话功能的移动计算装置110的体系结构的一个实施例。作为例子,根据图1所示的移动计算装置描述图2所示的体系结构。移动计算装置110包括:中央处理器220、电源240,以及无线电子系统250。中央处理器220与音频系统210、照相机212、闪速存储器214、ram存储器216、短程无线电模块218(例如,蓝牙、无线保真(wifi)部件)、可移动存储器272(例如,sd卡)、窗口管理器222以及屏幕管理器226通信。电源240对中央处理器220、无线电子系统250、以及显示驱动器230供电(可以是接触式的,也可以是电感感应式的(inductive-sensitive))。电源240可以是电池组(例如,可充电)或者电源线连接或者部件。
在一个实施例中,窗口管理器222包括软件或者固件进程,用于初始化存储在ram216和/或者闪速存储器214内的虚拟显示空间。该虚拟显示空间包括当前正由用户执行的一个或者多个应用程序和所执行的应用程序的当前状态。该窗口管理器222从用户输入或者从软件或者固件进程中接收显示窗口的请求,并且确定该请求窗口的起始位置。此外,窗口管理器222接收修改窗口的命令或者指令,诸如改变该窗口的尺寸,移动该窗口或者改变该窗口的外观或者位置的任何其它命令,并相应修改该窗口。
该屏幕管理器226包括用于管理显示在屏幕130上的内容的软件或者固件进程。在一个实施例中,窗口管理器222监视和控制显示在屏幕130上的数据的实际位置以及哪个数据显示在屏幕130上。作为对来自中央处理器220的输入的响应,屏幕管理器226改变或者更新数据在屏幕130上的位置,以修改屏幕130的外观。在一个实施例中,屏幕管理器226还监视和控制屏幕亮度,并且将控制信号发送到中央处理器220,以修改屏幕亮度和该屏幕130使用的功率。
无线电子系统250包括无线电处理器260、无线电闪速存储器262、以及收发信机264。该收发信机264可以是用于发送和接收信号的两个分立部件或者是既用于发送信号又用于接收信号的单个部件。在这两种情况下,它均被称为收发信机264。收发信机264的接收机部分与装置110的无线电信号输入,例如天线,可通信地耦合,通过该天线,从接通的呼叫(例如,被连接的或者正在进行的呼叫)接收通信信号。收到的通信信号包括从呼叫收到的并由无线电处理器260处理的而通过扬声器120(或者184)输出的语音(或者其它声音信号)。该收发信机264的发射机部分与装置110的无线电信号输出,例如,天线,可通信地耦合,通信信号被送到接通的(例如,连接的(或者耦合的)或者激活的)呼叫。发送的通信信号包括例如通过装置110的麦克风160接收的、由无线电处理器260处理而通过收发信机264的发射机发送到接通的呼叫的语音(或者其它声音信号)。
在一个实施例中,利用所描述的无线电通信可以通过语音或者数据网络进行通信。语音网络的例子包括:全球移动通信系统(gsm)、码分多址(cdma系统)、以及通用移动通信系统(umts)。数据网络的例子包括:通用分组无线业务(gprs)、第三代(3g)移动、高速下行链路分组接入(hsdpa)、以及全球微波存取互通性(worldwideinteroperabilityformicrowaveaccess(wimax))。
尽管其它部件可以设置无线电子系统250,但是所示的基本部件使得该移动计算装置有能力执行射频通信,包括电话通信。在实施例中,当电话呼叫被接通时,例如,电话呼叫被连接或者在进行时,无线电子系统250即使不是全部不要求也是不要求许多部件在中央处理器220的控制下。该无线电处理器260可以利用串行线路278与中央处理器220通信。
卡接口224适于与扩展槽通信。该卡接口224在该中央处理器220与包括在该扩展槽内的扩展卡、媒体卡(mediacard)、或者可移动存储资源之间传送数据和/或者指令。该卡接口224还将来自中央处理器220的控制信号送到扩展槽,以配置包括在该扩展槽内的扩展卡、媒体卡、或者可移动存储资源。
数据实体管理器270可操作地链接到中央处理器220,并且它包括用于管理对应于实体的静态数据和动态数据的软件或者固件进程。在一个实施例中,数据实体管理器270被进一步配置,以在用户界面上同步显示对应于该实体的静态数据和动态数据。
动态数据管理器280可操作地链接到中央处理器220,并且它包括用于管理由对应于该实体的动态数据的各种应用程序,增加对应于该实体的静态数据的软件或者固件进程。
在一个实施例中,对应于执行通过例如导航区域140或者开关170通信的应用程序,中央处理器220(通过程序、代码、指令)执行逻辑。请注意,许多其它部件和变型对于该计算装置200的硬件体系结构是可能的,因此,诸如图2所示的实施例仅示出实施例的一种实现。
图3a示出根据相应数据模型330,对移动计算装置110的用户界面310上的静态数据和动态数据进行润色的方法的一个实施例。移动计算装置110的用户通过在装置110上打开联系人应用程序并选择其内所列的特定联系人或者实体,启动对实体产生数据模型330的进程。在一个实施例中,用户界面310与该数据模型330相关,并且由该数据模型330润色。数据模型330利用联系人相关信息的数据驱动性,并以几种方式,利用该基础数据展示该联系人相关信息。该基础数据是可扩展的,因此,多个实体可以修改或者扩展该数据。每个联系人或者实体被看作附加信息的信息库(repository)。数据模型330是联系人的唯一集中展示,并且联系人被看作数据实体。数据模型330实现一种可以插入以静态联系信息起始的新服务或者应用程序的全系统的、可移动的、以及可扩展的框架,从而允许根据该静态信息,流化动态联系信息。
可扩展框架使得可以选择联系人,并且提取与该联系人相关的信息,以访问与该联系人相关的信息的各种外部资源。外部资源的例子包括在线可用性、是否处于联系人的位置、以及诸如忙碌或者不可用的电话号码状态详情。该可扩展框架允许将数据推入数据模型330,以致该数据模型330展示用于信息集中的单个集中器(hub)。
集中式数据库340可以具有实体名称为“johndoc”的静态数据,它包括有关该实体的附加静态数据,诸如名字和姓、电子邮件地址、以及联系信息。实体的数据模型330基于对由诸如“johndoc”的实体上的静态数据例示的实体创建实体对象335。实体对象335从数据网络接收附加动态数据,并且数据一旦处于该实体对象中,它就显示在用户界面310上。根据该静态数据的内容,在该背景下运行的附加服务能够插入实体对象335,以将动态数据送到实体对象335,从而实现以联系人为中心的动态信息的流化。在一个实施例中,服务的例子包括:即时通讯服务345、电话服务355、地图服务360、天气服务365、博客服务370、以及适地性服务(location-basedservice)375。
例如,诸如aol®即时通讯系统(instantmessenger)(aim)的即时通讯服务345可以运行在该背景下,并且因为它运行在网络上,所以它可以检索当时在线的联系人。因此,无论用户的联系人应用程序中的被选联系人或者附加联系人是否在线,这都允许访问实时数据。在一个实施例中,在该移动装置上,作为操作系统管理的应用程序,aim服务运行在该背景下。任选地,利用即时通讯系统(im)网关350,即时通讯服务345添加在用户与该被选联系人之间聊天会话期间,诸如聊天对话,产生的动态数据,作为对应于由该被选联系人的静态数据先前例示的实体对象335的新属性。
该联系人应用程序不需要,在每个服务规定的时间,连续添加一次对应于用户的联系人清单中的所有联系人的动态数据。例如,即时通讯服务345可以连接到aim服务,并且确定该用户的联系人清单中的哪些联系人在线,并将该动态信息回映到该联系人清单中的名称,作为一次批处理。例如,即时通讯服务345在用户从联系人清单中选择johndoc之前就知道“johndoc”在线,但是在用户从联系人清单中选择“johndoc”之前,地址簿可能还没有更新。在其他情况下,如果不可行,就不必获得联系人清单中的所有联系人的先验知识。例如,如果用户没有请求天气信息,就不必在该联系人清单中查找每个联系人所在位置的天气。在一个实施例中,在此描述的联系人应用程序以批处理模式检索并高速缓存与一组联系人相关的动态数据,并且当在联系人应用程序中选择联系人时,更新该组中的联系人的动态数据。
作为一种选择,诸如sprint®、at&t®、vodafone®、t-mobile®或者orangetm电话服务的电话服务355可以被调用,作为在移动装置中可执行的应用程序。联系人应用程序的地址簿或者联系人清单中的联系人通常具有相关电话号码,因此,该电话服务可以将用户的联系人应用程序中的被选联系人或者附加联系人是否可用通知联系人应用程序。例如,可以显示特定联系人的配置可用于进行会话,因此,“通话”按钮可以用于启动用户与被选联系人之间的会话。在此,装置110被配置,以致电话服务355添加在用户与被选联系人进行电话会话期间产生的动态数据,诸如电话会话内容,作为由对应于该被选联系人的静态数据先前例示的实体对象335的新属性。
在一个实施例中,联系人的静态数据可以由与该联系人相关的日历起始,然后,使该静态数据链接到由各种服务检索到的动态数据。例如,用户在特定一天的日历项目可以说明,用户在特定时间、在johndoe的位置遇到了johndoe。然后,该联系人应用程序检索关于johndoe的可用静态数据,例如,johndoe的联系信息,包括johndoe的照片。该联系人应用程序将该信息链接到天气服务365检索到的动态数据,以提供预定会议地点和时间的天气预报。因此,在单幅视图中,对用户提供不仅关于johndoe是谁、而且关于环境方面的更完整视图,例如,与johndoe会面附近的天气。
根据先前存在的静态视图,实体对象335构建世界的实时视图(liveview)。根据该静态数据,该实时视图以可用的程度被捕获,而且通信连接可用,并可用于能够提供产生该实时视图的动态数据的各种服务。由联系人清单中实体的静态视图开始,通过对该静态视图添加动态内容,各种外部网络可用于提供该实体的更宽动态视图。
根据该联系人应用程序的地址簿中的地址,可以通过网络接收附加信息。例如,基于上面的例子,如果联系人“johndoe”被用户选择,则可以分析johndoe的地址卡视图,以确定johndoe的当前位置是否是baltimore。此后,如果该应用程序被配置,以检索天气详情,则天气服务365作为移动装置内的可执行应用程序运行,并且将baltimore的当前天气信息送到实体对象335。
在此披露的、包括实体对象模型的系统可以应用于其他应用程序。例如,在一个实施例中,该应用程序可以与用户的感兴趣照片相关,而不是与联系信息相关。用户的静态数据可以包括诸如地址、位置、感兴趣话题、或者仅仅一系列爱好的信息。照片应用程序分析该静态数据实体,并且访问被配置以检索对应于该静态数据,例如,关于用户的静态数据的各种特征的照片,的动态数据的网络服务。其他动态数据可以包括宿主在网络服务上的用户的个人数据,例如,先前访问的照片。
在又一个实施例中,附加服务可以被配置,以作为该移动装置中的可执行应用程序运行,从而对该实体对象335添加动态数据。例如,关于被选联系人存在的动态数据,例如,当前位置附近的交通信息或者该联系人在特定时刻正在餐馆消费的食物类型,可以由适地性服务375提供。地图服务360根据与对应于该联系人的静态数据无关的联系人为中心的信息,添加地图相关信息。同样,博客服务370可以对对应于该联系人的实体对象335添加与该联系人的静态数据相关的照片,作为动态数据。
在一个实施例中,该实体是例如诸如bestbuy的零售服务业务的商业联系人。在对应于该业务对象的动态数据添加到相应实体对象335之前,该移动装置的用户可以主动地或者被动地与该联系人应用程序中所列的商业联系人连接。对于被动连接,例如,该移动装置的用户可以位于所列商业位置或者该商业的另一个位置,例如,另一个bestbuy位置,的附近,足以以动态数据的方式流向与该商业对应的实体对象335。适地性服务375,例如gps系统利用诸如该商业的名称的静态数据,识别相对于当前位置最近的bestbuy商场,它可以是也可以不是该联系人应用程序中所列的位置。然后,对应于被识别商业位置的动态数据,诸如若与所列的地址不同,则是该位置的地址,到该位置的驾驶方向、到该位置的距离、优惠券或者协议、以及实时支持信息,可以被添加到对应于该商业的实体对象335上。
适地性服务375可以插入在联系人应用程序中被列为联系人的任意商务网络。该商务网络可以包括该商务网络提供的网络服务。例如,如果starbucks被列为该用户的商业联系人之一,并且该用户步行到starbucks位置喝咖啡,则该用户在该用户的当前位置附近可以从竞争商业机构那里接收动态数据。添加到该实体对象335的这种动态数据可以采取来自位于距离想要去的starbucks位置或许一个街区的peete咖啡馆的现场优惠券的形式。作为一种选择,在主动连接中,例如,该用户可以在该地址簿中查找bestbuy、选择它、连接到它、并且以对应于该用户当前位置附近的被选bestbuy位置或者另一个bestbuy位置的动态数据方式流动。
对应于商业机构的动态数据还可以由该移动计算装置110上可用的一个或者多个变型服务添加到该实体对象335上。例如,根据作为该静态数据部分出现的或者被网络服务动态检索的即时通讯标识符,该即时通讯服务345可以允许用户将即时消息发送到位于bestbuy的被识别位置的咨询台。诸如聊天会话的相关动态数据可以被添加到该实体对象335。作为一种选择,电话服务355可以允许该用户与技术支持人员建立电话链接。这也有利于商业联系人,因为一旦客户通过移动装置自动连接到该商业机构,这就使商业机构能够支持员工帮助更多客户。此外,一旦客户与所讲的语言匹配的适当支持员工自动连接,这就使该商业机构能够确保支持员工没有语言障碍。在一个实施例中,联系人应用程序是进入商业机构的操纵板(dashboard),因为它用作进入该商业机构的另一个联系点。
对应于商业机构的动态数据还可以由位于并安装在该移动计算装置110上的一个或者多个变型服务添加到该实体对象335上。例如,该联系人应用程序可以从与bestbuy相关的网站查询并安装网络服务,然后,启动该网络服务,以将bestbuy的动态数据送到该实体对象335。作为一种选择,该新网络服务可以被预先下载,以获得实时动态信息。提供该新网络服务的bestbuy联系人被集成到该联系人应用程序的电话簿中,并且该相应网络服务作为在该移动装置内可执行的应用程序运行。
对应于与该用户的日程安排相关的商业机构的动态数据也可以被添加到相应实体对象335。例如,该商业机构可以是航空公司,而该用户的日程安排可以有对应于即将进行的商务旅行的航班信息的条目。该航班信息条目可以与其静态数据相关,诸如航空公司名称、航班号、预定起飞时间、以及衔接航班的类似信息。诸如航班延误或者航班取消的动态数据可以被送到相应实体对象335,以便如果存在,使该用户能够搜寻替换航班选择。
除了将来自各种信源的数据搜集并组装在一起,该数据模型330还对提供被选联系人单幅视图的用户界面310进行润色。与多个表示对话不同,该单一展示能够显示单个表示对话中的静态和动态联系信息。一旦联系人被选择,并且该实体对象335作为数据模型330的一部分被创建,则该用户界面310显示:实体详情区域315,含有与该联系人相关的静态数据;动态内容区域325,根据在动态内容选择区域320上所作的选择,显示动态数据。例如,该实体详情区域315可以显示联系人例如johndoe的名称和联系信息,并且,在请求johndoe当前位置的天气信息的该动态内容选择区域320上进行选择,使该动态内容区域325显示请求的天气信息。
该用户界面310显示静态数据,并且与跳转到另一幅视图访问动态信息不同,在同一幅视图或者表示中可以实现与该静态数据交互,从而添加动态数据。因此,该用户界面310可以使联系人为中心的数据视图和服务全部处于一个地方,这不仅因为要从单个集中式数据库340中检索静态数据进行显示,而且因为它可以实现同时显示静态数据和动态数据的地址卡的单幅视图。在一个实施例中,该用户界面310获取对应于联系人的静态数据,然后,在同一幅视图上,使它成为动态数据。在单幅视图内集成静态数据和动态数据是有可能的,因为根据该同一幅视图上的静态数据,能够访问多个系统,并且能够将来自多个系统的动态数据全部添加到该同一幅视图上。在一个实施例中,该用户界面310是从作为以联系人为中心的信息的联系人清单中选择的每个联系人的操纵板。
由各种服务/应用程序根据该静态信息检索的动态数据是时间敏感性的或者是时间不敏感性的。例如,即时通讯应用程序中联系人的在线可用性是时间敏感性的,但是用户产生的聊天对话记录是时间不敏感性的。在一个实施例中,如果确定对应于实体的动态数据是时间不敏感性的,则该动态数据被保存在数据库高速缓存中,以便快速检索。在一个实施例中,如果确定对应于实体的动态数据是时间敏感性的,则不将该动态数据保存在数据库高速缓存中,而在每次请求该动态数据时,由服务/或者应用程序检索它。
图3b示出在移动计算装置的用户界面310上显示静态数据和动态数据的方法的一个实施例。该用户界面310显示:实体详情区域315,含有与该联系人相关的静态数据;以及动态内容区域325,根据在该动态内容选择区域320上进行的选择,显示动态数据。在一个实施例中,该实体详情区域315被增强,以便除了对应于该联系人的静态数据,还显示对应于该联系人的动态数据。例如,图3b利用联系人名称johndoe附近的电话符号表示当前通过电话不能联系到该联系人。
在一个实施例中,动态内容选择区域320上的标签380可以由该静态数据和动态数据推断。标签380可以不与该实体详情区域315上的数据字段一一对应,但是可以与该数据字段相关。例如,地址可以与地图标签或者天气标签相关,即时通讯标识符可以与聊天标签对应,公司域名可以与公司信息、或者更具体地说与股票信息对应。该用户界面310能够在单幅视图和对话中显示全部静态信息和动态信息。在一个实施例中,校验该数据字段,以确定该标签将要是什么。在另一个实施例中,安装在该系统中的应用程序确定该标签将要是什么。只要与应用程序销售商存在服务协议,该动态内容选择区域320就可以预先填充标签。该用户的具有联系信息的个人视图可以具有保密锁止开关(privacylockswitch),以便为了安全原因,而屏蔽这种信息。在一个实施例中,该用户的动态内容选择区域320还可以具有额外标签。
该动态内容区域325在对应于许多标签380之一的许多面板(panel)385之一上显示动态内容。在一个实施例中,该用户可以在该动态内容选择区域320上选择标签380,并且使相应面板385显示在该动态内容区域325上。联系人应用程序可以以环形队列布置该标签和相应的面板,以致该动态内容选择区域320上的被选标签和该动态内容区域325上显示的面板相对应。在一个实施例中,该用户可以利用手指或者指示笔在该面板上“轻敲”,以使相应标签380被选择并显示在该动态内容选择区域320上。在一个实施例中,该联系人应用程序根据该实体详情区域315内的静态数据推断该面板385的动态内容。面板385可以显示可提起诉讼的动态数据,例如,电子邮件和电话链接。
该用户界面310展示丰富表示静态数据和动态数据的该移动计算装置110的集中式联系人操纵板。该动态内容区域325上的面板385是根据该实体详情区域315内出现的静态数据字段产生的。每个面板对应于至少一个数据字段。面板385之间的导航可以由手势或者动作、或者通过该装置或者触摸屏进行某种其他形式的用户界面交互实现。在一个实施例中,选择该实体详情区域315内的特定数据项导致相应面板385变成活动的,以致该用户可以对面板385中提供的动态内容进行操作。
在变型实施例中,照片应用程序可以被组织,以致该实体详情区域315可以含有静态数据字段,诸如该用户的地址和/或者位置,并且诸如与该用户的位置和/或者地址相关的照片的附加动态数据可以显示在该动态内容区域325内的面板385上。在一个实施例中,面板385和标签380全部表示在不离开该视图的同一个表示视图内。单幅表示视图允许单个外观(lookandfeel)。
在一个实施例中,通过调用根据该注释中出现的静态数据,将该动态数据添加到同一幅视图上的附加服务或者应用程序,用户可以对每个联系人做可以为附加动态数据提取的个人注释。
除了从移动装置的电话簿或者联系人应用程序访问联系人,当前窗口系统还允许从电话簿中将被选联系人数据提取到整幅新视图中。例如,如果需要全天与bestbuy通话,则可以从联系人应用程序中提取该联系信息,并将它放置在桌面上,以便全天快速访问。这避免了必须返回该联系人应用程序并操练再一次找到联系人bestbuy。同样,如果该用户希望在一天中的各时间,长时间与联系人进行电话交谈,则可以从该联系人应用程序提取该联系人,并将它放置在桌面上,以便快速、轻而易举地接通。
图4示出在移动装置上,显示对应于应用程序中的数据库实体的静态数据和动态数据的方法的一个实施例。为了启动程序,用户从联系人应用程序中选择实体,诸如联系人,以使该联系人应用程序接收410该实体的用户选择。在一个实施例中,该用户选择润色用户界面310,根据对应于该实体的静态数据,该用户界面310在该实体详情区域315内显示该实体的联系人详情。
该联系人应用程序根据对应于该实体的静态数据,创建412实体对象335。在一个实施例中,该实体对象335由对应于该集中式数据库340中的实体的静态字段创建。在一个实施例中,该集中式数据库340动态创建该实体对象335。根据对应于该实体的静态数据,该联系人应用程序将对应于该实体的动态数据添加414到来自时间敏感动态数据的各种服务的、或者来自时间不敏感动态数据的数据库高速缓存的实体对象335。
联系人应用程序根据对应于该实体的实体对象335内的静态数据和动态数据,产生416用户界面310。在一个实施例中,该用户界面310在该实体详情区域315上显示基于对应于该实体的静态数据的该实体的联系人详情、由对应于该实体的静态数据和动态数据推断的动态内容选择区域320、以及基于对应于该实体的动态数据的动态内容区域325。在一个实施例中,动态内容区域325显示具有对应于该动态内容选择区域320内的被选标签380的动态数据的面板385。
如果该联系人应用程序被关闭,或者如果该用户选择第二实体,则该第一实体的用户对话被终止418,而时间不敏感的每个用户产生的动态数据,诸如对应于该第一实体的聊天会话被保存在数据库高速缓存中。在一个实施例中,通过将该数据写到420由该集中式数据库340具有的数据库高速缓存,对应于实体的时间不敏感的动态数据被保存。对应于实体的动态数据一旦被保存,该实体的实体对象335就被销毁422。在一个实施例中,当对应于实体的实体对象335被销毁时,该用户保持连接到先前存在的各种服务。例如,如果该用户先前连接到存在实体的实体对象335时的服务,则该用户不退出即时通讯服务,而一旦该实体对象335被销毁(例如,被删除),在与该实体的聊天对话时,诸如聊天交谈时,产生的临时数据被保存。
应当明白,在上面讨论的移动装置上显示对应于应用程序中的数据库实体的静态数据和动态数据的任意例子都可以与该实施例一起使用,并且在此描述的任意实施例的任何任选特征也可以由在此描述的任意其他实施例的一个或多个予以实现。
只要利用软件控制的可编程处理装置,诸如通用处理器或者专用处理器、数字信号处理器、微处理器、或者其他处理装置、数据处理设备或者计算机系统,至少可以部分地实现上面描述的实施例,因此应当明白,用于配置可编程装置、设备或者系统以实现上面描述的方法、设备和系统的计算机程序可以视为根据本说明书的一个方面。例如,参考图1和2描述的处理器可以由计算机程序指令予以实现。计算机程序可以由任意适当类型的代码予以实现,诸如源代码、目标代码、编译代码、解释代码、可执行代码、静态代码、动态代码、等等。该指令可以利用任意适当的高级、低级、面向对象的、可视的、编译的和/或者解释的编程语言,诸如c、c++、java、basic、perl、matlab、pascal、visualbasic、java、activex、汇编语言、机器代码等等,予以实现。这些指令可以由处理器执行。熟练技术人员容易明白,术语“计算机”的最通用意思包括诸如上面提及的编程装置以及数据处理设备和计算机系统。
该计算机程序被以机器可读方式存储在载体(或者有形的计算机可读)介质,例如,该载体介质可以包括:存储器、可移动或者不可移动介质、可擦除或者不可擦除介质、可写或者可重写介质、数字或者模拟介质、硬盘、软盘、只读光盘(cd-rom)、可录光盘(cd-r)、可擦写光盘(cd-rw)、光盘、磁介质、磁光盘、可移动存储卡或者盘、各种类型的数字多功能光盘(dvd)、用户识别模块、磁带、卡型盒式磁带机、固态存储器。该计算机程序可以由嵌入该通信介质的远程资源,诸如电信号、射频载波或者光载波,提供。根据本说明书的各方面,也可以设想这种载体介质。
在此使用的任何涉及“一个实施例”或者“实施例”均指,结合该实施例描述的特定单元、特征、结构、或者特性包括在至少一个实施例中。在该说明书各位置出现的短语“在一个实施例中”不一定都指同一个实施例。
利用词语“耦合”和“连接”以及它们的派生词,描述了一些实施例。应当明白,这些术语并不表示它们互为同义词。例如,可以利用术语“连接”描述一些实施例,以表示两个或者多个单元互相直接物理接触或者电接触。在另一个例子中,利用术语“耦合”描述一些实施例,以表示两个或者多个单元是直接物理接触或者电接触。然而,术语“耦合”还意味着两个或者多个单元不互相直接接触,但是它们仍互相配合或者互相作用。该实施例并不局限于这种情况。
在此使用的术语“包括”、“包含”、“含有”、“含括”、“具有”、“有”或者它们的任何其它变型均用于指非排他性包括。例如,包括一系列单元的步骤、方法、产品、或者设备不一定局限于只有这些单元,而是可以包括没有明确列出的或者这些步骤、方法、产品、或者设备固有的其它单元。此外,除非有明确相反地说明,“或者”指包含的或,而非指排他性的或。例如,条件a或者b由下面中的任何一项满足:a成立(或者存在),而b不成立(或者不存在),a不成立(或者不存在),而b成立(或者存在),以及a和b二者都成立(或者存在)。
此外,在此采用术语“一个”描述实施例的单元和部件。这样做只是为了方便并给出本发明的一般意义。应当认为该描述包括一个或者至少一个,并且该单数形式也包括多个,除非显而易见地意味着其他意义。
阅读了本说明书后,根据在此披露的原理,本技术领域内的技术人员还可以设想,在移动计算装置上显示对应于应用程序中的数据库实体的静态数据和动态数据的系统和方法的附加变换结构和功能设计。因此,尽管在此示出并描述了特定实施例和应用,但是应当明白,本说明书并不局限于在此披露的具体结构和部件,并且在不脱离所附权利要求书限定的本发明实质范围的情况下,可以对在此披露的方法和设备的布置、操作和细节进行各种修改、变更和变型,这对于本技术领域内的技术人员是显而易见的。