使用结构化数据管理网页链接
背景
因特网和万维网(web)正变成人们日常生活的组成部分,被用于工作、娱乐、研究等。通常,用户创建他们频繁访问的收藏或加了书签的网页的列表。用户可以通过从该列表中选择这些网页来容易地重新访问它们。然而,这些网页可以随时间变更。通常,为使用户监控对这些网页的变更,他或她需要手动地重新访问这些网页来查看是否存在任何变更。这一重新访问对用户而言耗时且麻烦。允许用户监控对这些网页的变更的其它技术包括使主存该网页的服务器向用户发送变更的电子邮件通知,或使主存该网页的服务器在用户的计算机上安装监控网页上的内容的桌面插件。然而,这些技术要求开发者和/或主存网页的服务器一方进行大量工作,并通常向用户提供每一网页的不同体验。因此,具有用于向用户通知网页的变更的改进方式是有好处的。
概述
提供本概述是为了以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述并不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于限定所要求保护的主题的范围。
根据使用结构化数据管理网页链接的一个或多个方面,接收收集网页中的结构化数据并订阅该结构化数据的请求。该结构化数据被存储在数据存储中以允许离线使用该结构化数据。
根据使用结构化数据管理网页链接的一个或多个其它方面,计算设备显示多个链接,其每一个都标识多个网页中的不同的一个。另外,该多个页面包括结构化数据。在计算设备检测到对网页中的结构化数据的变更时,该多个链接的显示被更改。
根据使用结构化数据管理网页链接的一个或多个其它方面,网页包括已被订阅的结构化数据。计算设备检测到对该网页的变更,并且只有在该变更是对结构化数据的变更而非对网页的其它部分的变更的情况下才向用户通知对该网页的变更。
附图简述
在全部附图中,使用相同的标号来指示相同的特征:
图1示出根据一个或多个实施例的其中能够使用用结构化数据来管理网页链接的示例系统。
图2示出根据一个或多个实施例的包括结构化数据的示例网页。
图3是示出根据一个或多个实施例的用于收集并订阅结构化数据的示例过程的流程图。
图4示出根据一个或多个实施例的允许收集并订阅结构化数据的示例用户界面。
图5是示出根据一个或多个实施例的用于同步结构化数据的示例过程的流程图。
图6是示出根据一个或多个实施例的用于使用结构化数据来执行至少某些链接管理的示例过程的流程图。
图7示出根据一个或多个实施例的示出收藏列表的示例用户界面。
图8示出根据一个或多个实施例的示出收藏列表的另一示例用户界面。
图9示出根据一个或多个实施例的可被配置成实现使用结构化数据来管理网页链接的示例计算设备。
详细描述
此处讨论了使用结构化数据管理网页链接。用户可以选择从不同的网页收集结构化数据,并存储包括该结构化数据的网页以供离线使用。另外,用户可以订阅对结构化数据的变更,以使只要该结构化数据被变更就向用户通知该变更。用户界面向用户通知对结构化数据的变更,并且还允许用户在用户导航到该网页之前预览这些变更。
图1示出其中能够使用用结构化数据管理网页链接的示例系统100。系统100包括具有web浏览器104、同步引擎106、以及数据存储108的计算设备102。计算设备102通过网络112访问网页110。计算设备102可以是各种不同计算设备中的任一种,如台式计算机、手持式计算机、膝上型计算机、服务器计算机、车载计算机、蜂窝电话、个人数字助理(PDA)、游戏控制台等。浏览器104允许计算设备102经由网络112检索网页110并向设备102的用户显示所检索的网页。网络112可以是各种网络中的任一种,包括因特网、局域网、其它公用和/或专用网络、其组合等。
一个或多个网页110可各自包括一个或多个结构化数据114片段。结构化数据114是处于数据消费者已知的或预期的格式的数据。结构化数据114可以根据已知的诸如可扩展标记语言(XML)或超文本标记语言(HTML)格式等结构化数据标准来格式化。另选地,结构化数据114可以根据其它公用和/或专用标准来格式化。如下文更详细地讨论的,无论对结构化数据114使用什么格式,该格式都是数据114的消费者已知的,使得数据114可被这些消费者使用。构成结构化数据片段的数据的量和种类可以变化,并作为数据类型的一部分来定义。
不同的结构化数据114片段可以是不同的数据类型,也被称为结构化数据类型。可以使用各种不同的数据类型,如联系人类型、事件类型、日历类型、产品类型、图片类型、音乐类型、旅行类型、网页类型、地理位置类型等。数据类型可被定义来在不同的属性或字段中包括任何种类的数据,如日期、时间、地图坐标、名字、电话号码、地址、产品描述、目的地名称、价格等。另外,在某些实施例中,整个页面110可被认为是一类结构化数据。
特定结构化数据片段的结构化数据类型可以用不同的方式来标识。在某些实施例中,结构化数据本身指示数据类型。例如,可以使用不同的HTML标签来标识不同的结构化数据类型,或结构化数据本身的属性或参数可以标识结构化数据类型。另选地或另外地,可以用不同的方式来标识结构化数据,如通过使用页面110中的首部信息、或页面110中的或与页面110相关联的其它元数据。
结构化数据本身可以,但不必作为网页的一部分显示给用户。例如,如果结构化数据包括各种属性(例如,事件(如演讲)的日期、时间、和地理位置),则网页可以使用与该结构化数据分开的HTML代码来在该网页的各部分中显示这些属性。在这种情况下,结构化数据包括在网页的HTML中,但未被显示给用户。另选地,结构化数据可被显示给用户。在一个或多个实施例中,结构化数据是作为网页的一部分来显示的。
另外地或另选地,浏览器104可以使用网页中的结构化数据来生成并显示该结构化数据的预览。预览可以是例如在用户使用光标控制设备将指针悬停在结构化数据的存在的指示符的上方或附近(例如,将指针保持在该指示符的特定距离之内)至少阈值时间量时,覆盖所打开的网页的窗口。该预览是在计算设备102处生成的,网页的开发者不必知道何时或是否显示该预览。另选地,网页的开发者可以例如在结构化数据本身内标识该结构化数据的哪些部分应作为预览的一部分来显示。
图2示出根据一个或多个实施例的包括结构化数据的示例网页200。网页200包括日历事件202以及附加文本204和图像206。在该具体实例中,日历事件202具有三个字段或属性——一个位置字段和两个数据字段。例如,这些字段由例如,诸如所示的<divclass=“lcprop_location”/>和<divclass=“lcprop_date”>标签等合适的HTML标签来在该页面的HTML208中描述。在图2的示例中,HTML标签<divclass=“lcdata_calendar”>是消费者识别为结构化数据的日历事件结构化数据类型。
返回图1,在操作期间,浏览器104检索一个或多个网页110并向计算设备102的用户呈现所检索的网页。网页110通常经由网络112来检索,但另选地可以从别处检索(例如从计算设备102内部的存储设备、从诸如光盘或闪存设备等可移动存储设备,等等)。网页的这一呈现通常包括在显示器(未示出)上显示该网页,但可以另选地包括其它呈现机制,如音频回放。
用户经由浏览器104来输入收集网页110上的结构化数据114的请求。收集结构化数据指的是在数据存储108中维护该结构化数据的副本。该副本允许即使在计算设备102离线时(例如未连接到网络112,或在从中检索网页110的服务器临时不可用时),计算设备102的用户也可以访问该结构化数据。通常,在浏览器检索网页时,该网页被临时地高速缓存在数据存储108中或另选地在某一其它数据存储中。响应于收集该网页或监控该网页的变更的用户请求,在数据存储108中维护该网页。可以在数据存储108中存储整个网页,或另选地数据存储108可以存储结构化数据并且网页的其余部分(可任选地包括结构化数据的副本)可以在不同的存储中维护。
每一网页110可包括一个或多个结构化数据114片段。例如,一个结构化数据114片段可以是联系人信息(例如电话号码和地址),而另一结构化数据114片段可以是产品或服务信息(例如航班到达信息)。在网页110包括多个结构化数据114片段的情况下,可以分别收集每一结构化数据114片段,或另选地,用户可以选择收集网页110上的所有结构化数据114片段。
对于每一所收集的结构化数据114片段,所收集的结构化数据114以及结构化数据114的元数据作为记录116存储在数据存储108中。每一记录116通常包括网页上存在的结构化数据114(或结构化数据的副本被存储在计算设备102或某一其它存储设备上什么位置的指示)、从中复制结构化数据114的原始网页110的标识符(例如统一资源定位符(URL))、以及可任选的描述结构化数据和/或网页标识符的各方面的元数据。另外,在一个或多个实施例中,不仅网页的结构化数据114被包括在记录116中,并且网页的其余部分也被包括在记录116中。
另外,用户还可以经由浏览器104输入订阅对结构化数据114的变更的请求。在用户期望监控网页时,他或她通常订阅对结构化数据114的变更,以便可以向他或她通知对该结构化数据的任何变更。记录116中包括的元数据指示该记录中的结构化数据是否已被订阅。在用户订阅了对结构化数据114的变更时,同步引擎106以规则或不规则的时间间隔来访问从中复制结构化数据114的原始网页110并检索该网页(或另选地只检索来自该网页的结构化数据114)。同步引擎106随后至少将所检索的结构化数据114与作为记录116存储在数据存储108中的结构化数据进行比较。如果所检索的结构化数据和所存储的结构化数据相同,则没有对该结构化数据的变更。然而,如果所接收到的结构化数据和所存储的结构化数据不同,则存在对该结构化数据的变更。如果存在对结构化数据的变更,则所接收到的结构化数据替换存储在记录116中的结构化数据,并且还可以在该记录116的元数据中存储结构化数据的哪些部分被变更的指示。如下文详细讨论的,这允许浏览器104向用户标识具体变更。
另外,对网页的其余部分的变更可以通过将所检索的网页与先前存储的网页(例如作为数据存储108中的记录116)进行比较来类似地检测。如果存在对除网页之外的一部分web的变更,则所检索的网页替换所存储的网页(例如在数据存储108中)。然而,不向用户通知对网页的这种变更。
数据存储108被示为计算设备102的一部分。可以理解,在替换实施例中,数据存储108或其各部分可以是诸如直接耦合到计算设备102或经由网络112耦合到计算设备102的存储设备等一个或多个分开的设备的一部分。另外,在某些实施例中,数据存储108被实现在可移动存储设备上,如非易失性存储器设备(例如闪存设备),从而允许用户随身携带其数据存储并与不同的计算设备102一起使用同一存储。
图3是示出用于收集并订阅结构化数据的示例过程300的流程图。过程300由诸如图1的计算设备102等计算设备来执行,并可以用软件、固件、硬件、或其组合来实现。在某些实施例中,过程300由图1的合适地配置的浏览器104来实现。
最初,接收网页的标识(动作302)。网页可以用不同的方式来标识。在一个或多个实施例中,可以使用计算设备的浏览器来以各种常规方式中的任一种接收网页选择。例如,用户可以输入网页的URL,用户可以选择来自另一网页的链接,等等。在其它实施例中,可以从中获得结构化数据的网页的结构化数据和标识符以某种其它方式来接收,如作为与使用浏览器导航因特网分开的文件或其它文本描述来接收。例如,可以接收包含结构化数据的文件,并且该结构化数据所在的网页的URL可被包括在该结构化数据中,可被包括在该文件中的其它位置,可以附在该文件上,等等。
还接收对所选网页上的结构化数据的收集请求(动作304)。接收到该收集请求指示用户期望收集结构化数据,通常用于离线使用。用户可能出于不同的原因而期望收集结构化数据,如维护结构化数据的离线副本,允许用户稍后查看结构化数据的预览而不要求他或她导航到网页,等等。该收集请求可以用各种方式中的任一种来接收。例如,用户可以选择屏上按钮,从下拉菜单中选择选项,在数据输入域中输入文本,经由话筒输入语音命令,等等。另外,在动作302接收到网页标识可以担当对该网页上的结构化数据的固有收集请求。
在某些实施例中,收集行为与每一结构化数据类型相关联。行为是可以使用结构化数据来通常向计算设备102的用户提供服务的方式的描述。行为通常以软件指令和由计算设备102执行的数据或代码的形式驻留,但行为可以另选地用不同的方式来实现(如用固件和/或硬件)。收集行为被编程或以其它方式配置成知道如何与浏览器104交互。在接收到收集请求时,收集行为向浏览器104指示用户期望收集结构化数据。
可以使用通常用来将指令和数据传输到计算设备的各种不同的技术中的任一种来将收集行为安装在计算设备102上。在计算设备102上安装行为指的是将该行为的指令和数据下载到计算设备102并在必要时配置计算设备102,以使计算设备102能够执行该指令和数据。例如,设备102的用户可以使用浏览器104来导航到允许安装行为的特定网页110。这样的网页110包括可作为行为来下载并执行的指令和数据,或另选地包括到这些指令和数据的链接。作为另一示例,收集行为可以预先安装在计算设备102上,以便在用户首次使用计算设备102时,该收集行为对他或她立即可用。
在经由浏览器显示包括结构化数据的网页时,使与该结构化数据类型相关联的任何行为可供用户选择。在收集行为与所有结构化数据类型相关联时,使该收集行为可供用户选择。可以用各种方式中的任一种来使收集行为可用。在某些实施例中,当显示网页时在下拉列表中显示收集行为,或当用户在网页上的结构化数据的显示的上方或附近导航光标时在下拉列表或其它预览窗口中显示收集行为。在其它实施例中,在光标或指针在网页上的结构化数据的显示上方或附近时或另选地在显示网页的任何时候,收集行为作为用户右击(例如使用鼠标光标控制设备的右键)时的选项来显示,或其可以作为窗口画面中(例如在画面中的任务栏或其它位置)的图标或其它按钮来显示,等等。
在一个或多个实施例中,在网页上显示可视指示符以指示结构化数据的存在,并且在用户将指针悬停在该可视指示符的上方或附近至少阈值时间量时,显示覆盖该网页的预览窗口。在这样的实施例中,预览窗口显示结构化数据中的至少一些以及可由用户选择的(例如通过将指针导航到该选项的上方并使用光标控制设备(例如鼠标)来“点击”该按钮)收集按钮。选择收集按钮使得收集行为被调用。另外,在某些实施例中,收藏列表被组织成多个类别。在这样的实施例中,选择收集按钮还使得向用户呈现允许该用户选择将到该结构化数据的链接添加到的多个类别或集合中的哪一个的选项。
还可任选地接收对所选网页上的结构化数据的订阅请求(动作306)。在接收到订阅请求时,其向浏览器指示用户期望订阅对该结构化数据的变更,以便向用户通知对该结构化数据的任何变更。订阅请求可以用各种方式中的任一种来接收,类似于以上参考动作304讨论的收集请求。在某些实施例中,订阅行为与每一结构化数据类型相关联,并且在预览窗口中连同收集按钮一起显示订阅按钮。另外,在动作302接收到网页标识可以担当对该网页上的结构化数据的固有订阅请求。
向数据存储添加该结构化数据的记录(动作308)。该记录通常包括网页上存在的结构化数据(或结构化数据的副本被存储在计算设备102或某一其它存储设备上什么位置的指示)、从中复制结构化数据的原始网页的标识符、以及可任选的描述结构化数据和/或网页标识符的各方面的元数据。在订阅了结构化数据时,包括在动作308中的记录中的元数据包括该结构化数据已被订阅的指示。另外,在一个或多个实施例中,网页的除结构化数据之外的其余部分也被添加到数据存储。
另选地,在某些实施例中,动作304是动作306内所固有的。在某些实施例中,将接收不到显式收集请求,但将接收到订阅请求。接收到订阅请求用作固有收集请求,因为结构化数据将既被收集也被订阅。
如可从过程300看到的,用户可以收集结构化数据并还可以订阅所收集的结构化数据。对结构化数据的收集将该结构化数据复制到计算设备(或耦合到该计算设备的存储设备)。对结构化数据的订阅使得计算设备(例如图1的同步引擎)稍后访问网页并检查该结构化数据是否已经变更。
图4示出根据一个或多个实施例的允许收集并订阅结构化数据的示例用户界面。在图4中,示出了包括标题402和各种文本404以及图像406的网页400。web浏览器检测网页400上的结构化数据,并显示指示网页400上的结构化数据的存在的可视指示符408。在用户选择可视指示符408时,显示该结构化数据的预览窗口410。预览窗口410包括结构化数据412以及收集按钮414和订阅按钮416。用户可以选择收集按钮414来作出收集请求,并且用户可以选择订阅按钮416来作出订阅请求。用户可以用不同的方式来选择收集按钮414和订阅按钮416,如通过将指针418导航到按钮414或按钮416上方并点击。
网页400被示为具有包括收集按钮414和订阅按钮416的预览窗口410。另选地,按钮414和416中只有一个在预览窗口410中显示,在这种情况下,收集或订阅功能中只有一个可供用户使用。
图5是示出用于同步结构化数据的示例过程500的流程图。过程500由诸如图1的计算设备102等计算设备来执行,并可以用软件、固件、硬件、或其组合来实现。在某些实施例中,过程500由图1的合适地配置的同步引擎106来实现。过程500在每次同步所订阅的数据时执行。
最初,标识要同步的所订阅的结构化数据(动作502)。特定结构化数据片段被同步的频率可以变化。在某些实施例中,结构化数据本身包括标识其应被同步的频率的属性。在其它实施例中,使用其它机制来确定频率,如用户可以输入他或她想要同步发生的频率,特定频率可以与不同的结构化数据类型相关联,等等。同步可以按规则的时间间隔(例如一天一次、一小时一次、每五分钟一次等)或按不规则的时间间隔(例如在逐渐导至结构化数据中标识的特定时间和日期的日期中每天一次、在与结构化数据中标识的相同日期上每小时一次、以及在与结构化数据中标识的相同日期上并在即将到达结构化数据中标识的时间的前一小时之内每五分钟一次)。同步还可以通过应用程序来手动地执行。例如,使用结构化数据的应用程序可以调用图1的同步引擎106来同步该结构化数据,以便应用程序知道其正在使用该结构化数据的最近版本。
检索最初从中接收结构化数据的网页(动作504)。该网页在所收集的(例如在图1的数据存储108中)结构化数据的记录中标识。通常,在动作504检索整个网页,但另选地只需要检索该网页的包括结构化数据的部分。在动作504检索的网页通常通过图1的网络112来检索,并且通常是该网页的原始源(或在接收结构化数据时被标识为该网页的源)。例如,在动作504检索的网页通常是在订阅结构化数据时所显示的网页。另选地,动作504中的网页可以不是最初从中接收结构化数据的网页,而是由所订阅的结构化数据标识为应当从中检索对该结构化数据的更新的网页。
随后将来自动作504的所检索的网页中的结构化数据与先前存储在数据存储中的结构化数据进行比较(动作506)。给定该比较,作出关于是否有对结构化数据的任何变更的检查(动作508)。对结构化数据的变更可以是向该结构化数据添加一些数据,从该结构化数据删除一些数据,和/或修改该结构化数据中的数据。如果没有对结构化数据的变更,则如下文详细讨论的,过程500前进来将所检索的网页的其余部分与数据存储中的网页进行比较(动作516)。
返回到动作508,如果存在对结构化数据的变更,则用来自动作504中所检索的网页的结构化数据替换数据存储中的结构化数据(动作510)。还向用户通知对结构化数据的变更(动作512)。通常,通过创建或更改到结构化数据或网页的链接的外观来向用户通知对该结构化数据的变更。在某些实施例中,用户具有他或她订阅的结构化数据的链接(例如标题、名称、图标、其它标识符等)的列表,如收藏列表或书签列表。用户还可以具有历史列表,其是到用户先前访问的网页的链接的列表。通过改变列表中的链接的外观(例如,如果存在对结构化数据的变更则用粗体显示该链接并且如果没有变更则用非粗体显示,如果存在对结构化数据的变更则用不同的颜色来显示该链接,等等)来向用户通知对这些结构化数据片段中的一个的变更。
另选地,可以与收藏列表、书签列表、或历史列表分开地向用户通知对结构化数据的变更。例如,可以在浏览器窗口的另一部分中(例如在链接工具栏中、在紧靠地址行的上方或下方、在菜单栏的旁边等等)向用户呈现到结构化数据的链接这样的链接的外观可被更改来用作对用户的通知(例如该链接周围的边框可被改变,该链接的颜色可被改变等等)。作为另一示例,浏览器窗口的另一部分中(例如,链接工具栏中、紧靠地址行的上方或下方、菜单栏的旁边等等)的链接可以只是所链接到的网页上的结构化数据已经变更的那些链接。例如,在由一链接链接到的网页上的结构化数据变更时,该链接可被添加到链接工具栏,并随后可以在向用户显示了已变更的结构化数据时从链接工具栏中移除。
结构化数据的状态的记录也被更新以反映该结构化数据已被变更。这一状态记录可以在图1的数据存储108中维护,例如作为该结构化数据的元数据的一部分。另选地,这一记录可以存储在别处,如在同步引擎106或浏览器104的数据结构中维护,在除数据存储108之外的存储位置中维护,等等。在向用户呈现了已变更的结构化数据时,这一记录可被更新,以便不再向用户通知该变更。
另外,连同或代替动作512的通知,可以向用户通知关于网页和结构化数据的其它信息。例如,链接可能过期(如下文详细讨论的)并且可以向用户通知该过期。作为又一示例,网页或结构化数据可能具有错误(例如,服务器或网页不再可用),并且可以向用户通知该错误。作为又一示例,链接可能过时(例如在阈值持续时间内未访问该网页,在阈值持续时间内未预览该网页上的结构化数据,等等),并且可以向用户通知其已过时。
另外,一个或多个其它应用程序可以请求对结构化数据和/或网页的变更的通知(动作514)。在与同步引擎相同的计算设备上执行的或另选地在另一计算设备上执行的其它应用程序在需要对结构化数据的变更的通知时可以向同步引擎注册,并且在动作514这些应用程序被通知。例如,地址簿应用程序可以向同步引擎注册以接收对任何结构化数据的变更的通知,或另选地接收对特定类型(例如联系人数据类型)的结构化数据的变更的通知。因此,如果同步引擎要检测对特定联系人的电话号码的变更,则同步引擎通知地址簿应用程序以便其可以显示该联系人的新电话号码。如果向用户呈现了该已变更的数据,则这些应用程序还可以更新结构化数据的状态的记录,以便不再向用户通知该变更。
另外,在动作504检索到的网页的其余部分还可以与先前存储的网页的其余部分(例如连同该网页的结构化数据)进行比较,以标识对网页的除结构化数据之外的部分的变更(动作516)。给定该比较,作出关于是否有对网页的其余部分的任何变更的检查(动作518)。如果没有对网页的其余部分的变更,则过程500前进来检查是否要同步任何附加结构化数据(动作524)。如果存在附加变更,则用新网页替换数据存储中的网页(动作520)。
另外,向请求被通知对网页的变更的任何应用程序通知这些变更(522)。该通知类似于上述动作514中的通知。过程500随后前进来检查此时是否要同步任何附加结构化数据(动作524)。如果此时存在要同步的附加结构化数据,则过程500返回到动作502以标识要同步的结构化数据片段。如果此时没有要同步的附加结构化数据,则同步过程完成(动作526)。
因此,从图3和图5中可以看到,用户能够订阅网页上的特定结构化数据。向用户通知对该结构化数据的任何变更,但不向其通知网页上的其它变更。可以向其它应用程序通知网页上的其它变更,但用户不会对这些变更通知感到麻烦。
另外,应当注意,在某些实施例中,在某些情况下,可以不向用户通知对结构化数据的变更。例如,如果用户订阅诸如股票报价等预期不断变更的结构化数据,则可以不向用户通知某一变更。相反,从网页检索已变更的结构化数据并在需要时使其可供用户预览,但不向用户通知变更。浏览器可以基于特定结构化数据类型,基于结构化数据本身的属性,基于与数据存储中的结构化数据相关联的元数据等来确定不应向用户通知对某些结构化数据的变更。
图6是示出用于使用结构化数据执行至少一些链接管理的示例过程600的流程图。过程600由诸如图1的计算设备102等计算设备来执行,并可以用软件、固件、硬件、或其组合来实现。在某些实施例中,过程600由图1的合适地配置的浏览器104来实现。
最初,标识显示到网页的链接的位置(动作602)。可以使用不同的位置,如收藏或书签列表、浏览器中的链接工具栏、其中显示浏览器用户界面的窗口中的另一位置、其中显示浏览器用户界面的窗口的旁边或覆盖在其上的另一窗口等。在一个或多个实施例中,浏览器使用能由用户可任选地覆盖的默认位置。另外,标识对所链接到的网页的任何变更(动作604)。这些可以例如以上参考图5所讨论地来标识。
将被显示的链接可以存储在不同的位置,如图1的数据存储108、计算设备102上的另一存储、另一远程计算设备上的存储等。链接可以用各种不同的形式来显示,如图标、标题、来自网页或网页中的结构化数据的标识符等。基于所订阅的结构化数据是否已经变更或过期,以不同的方式来显示链接。过期链接指的是被检测(例如由图1的浏览器104)为不再重要的链接。通常,具有与其相关联的日期和/或时间的结构化数据在该日期和/或时间过去之后变得过期。例如,如果事件结构化数据描述预定在2007年4月15日下午3点到达的航班,则到该结构化数据的链接可被标识为在2007年4月15日下午3点之后或在下午3点之后的某一宽限时间(例如一个或几个小时)之后过期。作为另一示例,如果该同一航班结构化数据具有指示该航班是否已经到达的属性,则该结构化数据可被标识为在该航班到达之后过期。
如果结构化数据已变更,则以粗体样式(动作606)或以其它方式加亮来显示链接。如果结构化数据未变更并且未过期,则以正常字体样式显示链接(动作608)。如果结构化数据已经过期,则以灰色字体显示链接与删除选项(动作610)或以其它方式显示来将其与非过期链接相区别。如果网页不具有结构化数据或收集了结构化数据但未订阅,则链接与对未变更数据一样显示(以正常字体样式,动作608)。
过程600随后可以接收不同的用户输入并基于所接收到的输入来执行不同的操作。用户可以选择链接中的一个或可以在链接中的一个上方悬停。用户可以用各种不同的方式来选择链接中的一个,如通过使用光标控制设备(例如鼠标)将指针导航到链接的显示的上方并“点击”该链接。用户可以通过将指针导航到链接中的一个的显示的上方并将指针停留在该链接的上方至少阈值时间量来在该链接上方悬停。
如果用户选择已变更的链接(动作612),则显示所链接到的页面并且该链接被记录为未变更的(动作614)。因为已经向用户显示了网页,所以他和她已经有了查看变更的机会,因此链接被记录为未变更的。将链接记录为未变更的包括更新结构化数据的状态记录来反映该结构化数据不再是已变更的。
如果用户选择未变更的链接或过期的链接(动作616),则显示所链接到的页面(动作618)。无需对结构化数据(如果有的话)的状态作出改变。
如果用户在已变更的链接上方悬停(动作620),则显示对结构化数据的变更的预览并且该链接被记录为未变更的(动作622)。因为已经向用户显示了结构化数据的预览,所以他和她已经有了查看变更的机会,因此链接被记录为未变更的。结构化数据的预览可以用各种不同的方式来显示。在某些实施例中,在收藏列表中的链接旁边显示一个窗口,并且所链接到的页面上的已变更的结构化数据在该窗口中显示。另选地,未变更的结构化数据中的一些或全部可以在该窗口中显示。该结构化数据通常从图1的数据存储108检索,所以不必检索包括该结构化数据的网页。这向用户提供了预览对结构化数据的变更而无需导航到所链接到的网页的快速且容易的方式。
可以在预览中调出结构化数据的已变更的部分,如通过以不同的颜色、不同的字体样式、以加亮格式等来显示已变更的数据。例如,假定一结构化数据片段包括产品的描述和产品的价格。如果价格变更但结构化数据的其它部分没有变更,则预览可以用不同的颜色(或加亮、或以粗体样式等)来显示价格,以吸引用户的注意。
另外,在动作622中的预览中显示的信息可以变化。在某些实施例中,结构化数据本身标识要在预览中显示哪些信息。在其它实施例中,不同的结构化数据类型与不同的预览格式相关联,并且在预览中显示的信息是根据该结构化数据类型的预览格式的。在另一些实施例中,在预览中显示默认信息,如标题、缩略图图像、以及已变更的任何数据。在又一些实施例中,浏览器对要在预览中包括哪些信息做出最佳猜测,如结构化数据的第一个图像和前几个属性(所使用的属性的数量可以例如基于预览窗口的可用空间而变化)。
如果用户在未变更的或过期的链接上方悬停(动作624),则显示结构化数据的预览(动作626)。因为在动作626没有已变更的结构化数据要显示,所以除了不包括任何已变更的数据的指示之外,该预览类似于动作622中的预览。在用户在不具有结构化数据的链接上方悬停的情况下,在预览窗口中显示页面(或页面的一部分)的屏幕截图。另选地,在这种情况下,可以在预览窗口中显示不同的信息,如网页上的第一个或前几个图像、网页上的第一个或前几个文本域等。在将网页作为收藏来添加时,在预览窗口中显示的信息是由浏览器获得的。
如果用户选择与过期链接一起显示的删除选项(动作628),则将过期链接从收藏列表中删除并将所订阅的结构化数据从数据存储中删除(动作630)。选择删除选项删除该链接,所以它不再显示给用户,并且不再收集或订阅该结构化数据。
图7示出根据一个或多个实施例的示出收藏列表的示例用户界面。在图7中,收藏列表700被示为具有多个链接702、704、706、708、710、712、714和716。每一链接702-716标识用户的收藏或加书签的链接。另外,在图7的示例中,链接702-716被组织成不同的类别或集合,示为“文章”、“事件”和“影片”。这些不同的类别或集合名可以基于结构化数据的类型来自动分配。在一个或多个实施例中,每一结构化数据类型都对应于不同的类别或集合名。在其它实施例中,这些不同的类别或集合名由用户分配,并且链接可以由用户在收集或订阅链接时分配到这些类别或集合。另外地或另选地,可包括组织选项,以允许用户在收集了链接之后将它们组织成不同的类别或集合,和/或允许用户将链接从一个类别或集合移动到另一个。
在所示示例中,链接702、704、706、710和714是未变更的并以正常字体样式示出。链接708和716已经变更并以粗体样式示出,而链接712是过期的并以灰色字体示出。删除选项718在链接712旁边显示,选择它允许删除链接712。在所示示例中,被分配了已变更的链接的每一类别或集合也改变其外观。因此,集合标识符720(“事件”)和722(“影片”)是以粗体显示的。集合标识符可以用与链接相同的方式或另选地以不同的方式来改变。另选地,可以只变更链接而不改变集合标识符。
在使用集合标识符时,显示链接和集合标识符,以使链接可视地与集合标识符相关联。这一可视关联在图7中作为链接处于下方并且首行缩排来示出。另选地,链接可以用其它方式与集合标识符可视地关联,如通过颜色、通过字体大小、通过字体类型、用附加框架或边框、用线显示链接等。
图8示出根据一个或多个实施例的示出收藏列表的另一示例用户界面。图8中的用户界面类似于图7中的用户界面,但在图8中用户用指针802在链接716上方悬停。响应于在已变更的链接上方悬停,显示预览窗口804,包括所订阅的结构化数据。向用户呈现$9.95的售价,连同结构化数据806的另外的未变更的部分。价格$9.95以粗体样式示出,以指示其已变更。
一旦用户不再在链接716上方悬停,则不再显示预览窗口804并且链接716被记录为未变更的。一旦被记录为未变更的,则链接716将以正常字体样式显示。
在图6的过程以及图7和图8的用户界面中,未变更的链接作为以正常字体样式显示来讨论,已变更的链接作为以粗体样式显示来讨论,并且过期的链接作为以灰色字体显示来讨论。然而,可以理解,以不同的方式显示链接使得用户能通过查看链接来可视地检测到链接是已经变更的、未变更的、还是已经过期的。另选地,可以使用不同的机制来将链接显示为已变更的、未变更的、或过期的。例如,可以使用不同的颜色,可以使用不同的字体,可以使用不同的字体大小,可以使用不同的边框,可以创建不同的子类别(例如可以在图7和图8的“文章”下创建“已变更”、“未变更”和“过期”的子类别),等等。
另外,在图7和图8的用户界面中,在用户在收藏列表中的链接上方悬停时,显示结构化数据的预览。可以理解,在将链接与收藏列表分开显示(如在链接工具栏中)的情况下,可以向用户显示类似预览。浏览器以与以上所述的方式相同的方式来对用户将指针悬停在该标识符的上方做出响应,并且如上所述地显示预览。
图9示出根据一个或多个实施例的可被配置成实现使用结构化数据来管理网页链接的示例计算设备900。计算设备900可以是例如图1的计算设备102。
计算设备900包括一个或多个处理器或处理单元902、可包括一个或多个存储器和/或存储组件906的一个或多个计算机可读介质904、一个或多个输入/输出(I/O)设备908、以及允许各组件和设备彼此通信的总线910。计算机可读介质904和/或I/O设备908可作为计算设备900的一部分来包括,或另选地可耦合到计算设备900。总线910表示任何若干类型的总线结构中的一个或多个,包括存储器总线或存储器控制器、外围总线、加速图形端口以及使用各种总线体系结构的任一种的处理器或局部总线。总线910可包括有线和/或无线总线。
存储器/存储组件906表示一个或多个计算机可读介质。组件906可包括易失性介质(如随机存取存储器(RAM))和/或非易失性介质(如只读存储器(ROM)、闪存、光盘、磁盘等等)。组件906可包括固定介质(例如,ROM、RAM、固定硬盘驱动器等)以及可移动介质(例如闪存驱动器、可移动硬盘驱动器、光盘等等)。
一个或多个输入/输出设备908允许用户向计算设备900输入命令和信息,并还允许向用户和/或其它组件或设备呈现信息。输入设备的示例包括键盘、光标控制设备(例如鼠标)、话筒、扫描仪等。输出设备的示例包括显示设备(例如监视器或投影仪)、扬声器、打印机、网卡等。
各种技术在此可以在软件或程序模块的一般上下文中描述。一般而言,软件包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。这些模块和技术的实现可以存储在某种形式的计算机可读介质上或通过某种形式的计算机可读介质传输。计算机可读介质可以是可由计算机访问的任何一个或多个可用介质。作为示例而非限制,计算机可读介质可以包括“计算机存储介质”和“通信介质”。
“计算机存储介质”包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。计算机存储介质包括但不限于,RAM、ROM、EEPROM、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光盘存储、盒式磁带、磁带、磁盘存储或其它磁存储设备,或者任何其它可用于存储所需信息并可由计算机访问的介质。
“通信介质”通常用诸如载波或其它传输机制等已调制数据信号来体现计算机可读指令、数据结构、程序模块或其它数据。通信介质还包括任意信息传递介质。术语“已调制数据信号”指的是以在信号中编码信息的方式设定或更改其一个或多个特征的信号。作为示例而非限制,通信介质包括有线介质,诸如有线网络或直接线连接,以及无线介质,诸如声学、RF、红外线和其它无线介质。以上的任一种的组合也包括在计算机可读介质的范围之内。
尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求的示例形式公开的。