文档标记的渐进呈现
背景
诸如电子表格应用、文字处理应用、演示应用及其它类似应用的用于创建和编辑文档的文档编辑应用使用户能够创建、编辑、存储和共享各种各样的文档,这些文档带有提供不同能力的各种各样的特征。许多文档在其创建后被编辑过多次,出于某些目的跟踪对文档所作的改变是重要的。例如,在协作创作的环境下,作者们可以针对相同文档工作作出不同改变。跟踪改变的能力可增加协作工作的效率。即使在用户他或她自己正在修改文档时,文档的改变历史也可以向用户提供有价值的信息。
在常规的应用中,保留标记—批注和所跟踪的改变—的文档通常向所有用户呈现所有时间的所有标记信息。这可以致使用户隐藏所有标记信息以便他们可高效地阅读文档。大量的标记可能减损阅读体验。另一方面,文档标记也添加了在阅读体验期间有用的数据。可见,这种要么呈现全部文档标记要么完全不呈现文档标记的方法降低了用户体验。
概述
提供本概述是为了以简化的形式介绍将在以下具体实施方式中进一步描述的一些概念。本概述并不旨在专门标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
实施例旨在以渐进方式呈现文档标记。根据某些实施例,可以提供通过将标记抽象为“提示”来避免该标记影响文档正文的视图。这些提示可以是被呈现在文档视图的显著位置处的可操作元素,并且这些提示提供其中提示有详细标记的窗口。使得用户能够打开和关闭用任何特定提示抽象出的标记的细节。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。可以理解,前述一般描述和以下的详细描述都是说明性的,并且不限制所要求保护的各方面。
附图说明
图1示出根据某些实施例的文字处理文档上的示例常规标记和经抽象标记的比较;
图2示出提示在“简单”视图即经抽象视图中和在标记视图中的示例;
图3示出不同类型的标记在经抽象视图和标记视图中的渐进呈现的示例;
图4示出根据其它实施例的在协作创作环境中对文档的渐进标记呈现的示例;
图5示出用于配置标记的渐进呈现的示例用户界面的截屏;
图6是其中可实现根据各实施例的系统的联网环境;
图7是其中可实现各实施例的示例计算操作环境的框图;以及
图8示出了根据各实施例的以渐进方式呈现文档标记的过程的逻辑流程图。
详细描述
如上文简要描述的,在简单标记视图中可使用提示来抽象出文档标记从而避免减损文档正文。经跟踪的删除是说明性示例。文档中存在的经跟踪的删除越多,文档实际呈现的内容在页面上呈现得就越少。当用户选择或指示对各个提示的兴趣时,可以渐进提供标记的细节。
在下面的详细描述中,将参考构成本发明的一部分的附图,在附图中,通过例图,示出了特定实施例或示例。可组合这些方面,可利用其他方面,并且可以做出结构上的改变而不背离本发明的精神或范围。因此,以下详细描述并不旨在限制,并且本发明的范围由所附权利要求及其等效方案来限定。
尽管在结合在计算设备上的操作系统上运行的应用程序执行的程序模块的一般上下文中描述了各实施例,但是本领域的技术人员会认识到各方面也可以结合其它程序模块实现。
一般而言,程序模块包括执行特定任务或实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本领域的技术人员可以明白,各实施例可以用其他计算机系统配置来实施,包括手持式设备、多处理器系统、基于微处理器或可编程消费电子产品、小型计算机、大型计算机以及类似计算设备。各实施例还能在任务由通过通信网络链接的远程处理设备来执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
各实施例可被实现为计算机实现的过程(方法)、计算系统、或者诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并且编码包括用于使计算机或计算系统执行示例过程的指令的计算机程序的计算机存储介质。例如,计算机可读存储介质可经由易失性计算机存储器、非易失性存储器、硬盘驱动器、闪存驱动器、软盘或紧致盘和类似介质中的一个或多个来实现。
贯穿本说明书,术语“平台”可以是用于提供文档处理服务的软件和硬件组件的组合。平台的示例包括但不限于,在多个服务器上执行的托管服务、在单个计算设备上执行的应用、以及类似系统。术语“服务器”一般指通常在联网环境中执行一个或多个软件程序的计算设备。然而,服务器还可以被实现为在被视作网络上的服务器的一个或多个计算设备上执行的虚拟服务器(软件程序)。在下面将提供关于这些技术和示例操作的详细细节。
图1示出根据某些实施例的文字处理文档上的示例常规标记和经抽象标记的比较。如在图表100中所示,常规标记视图102可以用删除线字体样式和沿文档一边缘的指示条104来呈现诸如删除的改变,用下划线字体样式和相关联指示条106来呈现诸如插入的改变,以及用图形元素和沿文档一边缘的相关联指示条108来呈现诸如格式改变的改变。另外,标注气球(110)也可被用来描述改变。尽管在示例视图中改变极小,但在有大量改变的文档中标记可能减损文档内容。
经抽象视图112是根据某些实施例的标记呈现。在此视图中,对内容的改变和常规标记视图102中的相同。如图所示,改变的细节未被显示。取而代之的是,“提示”或可操作指示符元素114、118和120被用来向用户指示改变在文档中的位置。如下面进一步示出的,如果用户选择提示中的一个或悬停在提示上,可以渐进呈现改变的细节。
提示可以是任何图形元素,包括但不限于,条、图标、图形元素组合等。在示例的经抽象视图112中,用条(例如,114)和矩形(116)的组合表示提示。如下更加详细讨论的,多个颜色、图形元素、阴影和类似模式可以被用来指示不同类型的改变。
图2示出提示在“简单”视图即经抽象视图中和在标记视图中的示例。如上所述,可以采用各种颜色、图形和阴影模式来在显示提示时提供与改变相关联的信息。
图表200中的第一示例示出了颜色模式的使用。在经抽象视图232中,用一种颜色的指示条234指示插入改变而用另一种颜色的另一指示条236表示删除改变。在标记视图238中示出了带有这些改变的相同内容。用下划线字体样式强调插入242,而用删除线字体样式强调删除244。提示这些改变的指示条240不再是彩色的,并且它们比经抽象视图指示条234、236更细。
经抽象视图246示出提示的不同模式,其中组合图形模式被用来提供附加信息。在示例模式中,指示条248包括在其上指示插入变化的矩形,而指示条250包括在其上指示删除变化的圆形。在其他实施例中,可使用其他图形形状或形式。模式还可被扩展以供提供进一步信息。例如,指示条上的形状可以为空心或实心,从而表示每一情况下的不同状态或信息。对应标记视图252与标记视图238相似具有用不同字体样式显示的细节。
经抽象视图254示出用于提供提示的又一模式。在该特定示例中,图标256和258表示插入和删除改变。可以用任何图标来表示不同的改变。标记视图260与标记视图238和252相似用下划线和删除线字体样式来显示所提示改变的细节。而且,与之前的示例不同,提示图标256、258和指示条262沿文档的右边缘。提示的放置可以基于用户偏好或者自动取决于文档类型(例如,字母从右到左排列的文字处理文档可以自动包括沿右边缘的提示)。
在经抽象视图264中,指示条250处于与经抽象视图246中类似的位置,并且表示与经抽象视图246中相同的删除动作。然而,不同于经抽象视图246,在此示例中,表示插入动作的指示条266被置于文本中的所插入内容的开始处。在其它实施例中,指示条(或等同图标)可以被置于所插入/删除/移动内容的结尾、中间或另一合适位置。标记视图268显示如上面示例中的细节。
在经抽象视图中,可以在检测到对提示的用户兴趣后呈现各个改变的细节。用户的兴趣可以包括对提示的选择(例如,点击指示条,通过姿势或触摸选择指示条,等等)或诸如将指针悬停在指示条上之类的临时动作。在后一种情况下,根据某些实施例在用户继续前进以前可以临时呈现细节。替代地,与可响应于选择动作而呈现全部细节不同,响应于悬停动作,可以显示改变的指示(诸如突出显示被改变的内容区域或指示改变类型的标注气球)。此外,可以沿文档的左边缘或右边缘显示提示,或者在某些情况下在文本中的选择位置处显示提示。
图3示出不同类型的标记在经抽象视图和标记视图中的渐进呈现的示例。图表300显示了渐进呈现的两个示例。当然,可以使用本文中所述的原理来实现其它呈现。
在第一示例中,经抽象视图364包括根据组合图形模式表示插入改变和删除改变的两个提示368和370。在检测到用户对提示368的选择(例如,点击)后,视图改变所显示的内容,从而在局部标记视图372中显示插入改变374。尽管提示370保持相同,但由于现在插入改变被详细显示,因此该改变的提示被修改成细提示条376。
在第二示例中,相同的文档内容在带有提示380和382的经抽象视图378中被使用。此时,用户悬停在表示删除改变的提示382上(384)。作为响应,在局部标记视图388中显示标注气球386以通知用户在所指示位置处发生了删除。在此情况下,由于改变的细节尚未被呈现,因此提示382没有改变。该呈现是临时的,因为悬停动作也是临时的。如果用户要选择提示382,则可以类似于局部标记视图372那样显示细节。由此,标记的渐进呈现可以是分阶段的、临时的以及持久的。
图4示出根据其他实施例的在协作创作环境中对文档的渐进标记呈现的示例。如图表400所示,在协作环境中对所跟踪改变的呈现也可以是渐进的。
经抽象视图402包括根据如之前所讨论的组合图形模式的示例提示404、406和408。在协作环境中,这些改变中的每一个可以由不同的人作出,而文档由服务器来存储并被不同的用户访问。除了提示以外,经抽象视图402还包括表示协作创作信息的图标410、412和414。协作创作信息可以包括作出特定改变的用户的身份、改变的时间/日期或者甚至是各用户间关于改变的消息交换。由此,可以采用颜色、图形或阴影模式来指示改变的来源或协作创作消息的其他属性(例如,每一颜色可表示不同用户)。
在局部标记视图416中,响应于用户选择协作创作信息图标412,显示协作创作信息的细节418。所显示的信息包括作出改变的用户的身份、使用下划线字体样式的插入改变420本身以及用户有关改变(以斜体字体样式)的批注。所显示的信息进一步包括来自另一用户的答复批注422。协作环境中的交换可以向用户提供有关文档历史的有价值信息。然而,当显示全部时,阅读文档可能变成繁重且困难的任务。通过按与标记数据类似的方式抽象协作信息,文档可以变得高效可读同时保持有关文档的变化历史的细节以供向用户点播呈现。
图5示出用于配置标记的渐进呈现的示例用户界面的截屏。截屏500旨在示出在文档应用中标记呈现配置可被用户如何定义/修改。
如上所讨论的,利用改变跟踪和呈现来启用文档编辑的文档应用可以是能够处理文字处理文档、电子表格、演示文档、电子邮件、日历和类似文档的本地安装的或托管的应用。诸如截屏500所示的用户界面可以被呈现给用户以配置标记呈现规则。该配置可以包括诸如插入532、删除534和行改变536之类的不同改变的呈现风格。在显示标记时可以连同选择的不同风格提供颜色配置538。
还可以通过相同的用户界面来配置诸如内容移动跟踪、表格单元格改变跟踪以及格式跟踪之类的多个其它配置。在根据各实施例的文档应用中,可以向用户提供在简单视图或标记视图之间的选择,其中在简单视图中仅呈现改变的提示,在标记视图中呈现改变的细节(540)。另一种选择可以针对在标记和提示之间进行切换(542),使用户能够在他们打开给定的经改变部分时选择他们想要看到提示还是改变细节。
除了通过诸如截屏500的特定用户界面对标记呈现进行配置以外,还可以通过以下方式来使得用户能够定义他们自己的规则:在各可用规则的文本描述间进行选择或插入用户自己的新规则,基于用户凭证(例如,管理员具有查看所有标记细节的许可,而被管理者可被提供对细节的受限查看)或基于应用类型(例如,瘦客户端可以呈现功能性的子集,而胖客户端应用可以呈现全部功能性)来自动确定可用选择。
已经用特定的示例元素、标记类型、文档和配置描述了图1至图5中的示例系统。各实施例不限于根据这些示例的系统。用于渐进呈现文档标记的系统可以在采用更少或附加组件并执行其他任务的配置中实现。此外,可以使用此处描述的原理以相似的方式来实现特定的协议和/或接口。
图6是其中可以实现各实施例的示例联网环境。用于文档标记的渐进呈现的系统可经由诸如托管服务等在一个或多个服务器614上执行的软件来实现。该平台可以通过网络610来与诸如智能电话613、膝上型计算机612或台式计算机611(‘客户端设备’)之类的个体计算设备上的客户端应用进行通信。
在任一客户端设备611-613上执行的客户端应用可便于通过由各服务器614执行的或在个体服务器616上执行的应用进行的通信。在服务器之一上执行的应用可以提供托管的文档服务,使用户能够创建、编辑和以其它方式访问文字处理文档、电子表格、演示文档以及由客户端应用通过用户界面提供的类似文档。该应用可直接或通过数据库服务器618从数据存储619中检索相关数据,并且通过客户端设备611-613将所请求的服务(例如文档编辑)提供给用户。
网络610可包括服务器、客户端、因特网服务供应商以及通信介质的任何拓扑结构。根据各实施例的系统可以具有静态或动态拓扑结构。网络610可包括诸如企业网络等安全网络、诸如无线开放网络等非安全网络、或因特网。网络610还通过诸如公共交换电话网络(PSTN)或蜂窝网络等其他网络来协调通信。此外,网络610可包括诸如蓝牙或类似网络等短程无线网络。网络610提供此处描述的各节点之间的通信。作为示例而非限制,网络610可以包括例如声学、RF、红外线和其它无线介质等无线介质。
可以采用计算设备、应用、数据源和数据分发系统的许多其它配置来实现用于文档标记的渐进呈现的平台。此外,图6中所讨论的联网环境仅用于说明目的。各实施例不仅限于示例应用、模块或过程。
图7及相关描述旨在提供对其中可实现各实施例的合适计算环境的简要概括描述。参考图7,该图示出了诸如计算设备700之类的根据各实施例的应用的示例计算操作环境的框图。在基本配置中,计算设备700可以是任何计算设备并包括至少一个处理单元702和系统存储器704,该任何计算设备根据各实施例来执行允许对文档进行编辑的应用。计算设备700还可以包括在执行程序时相互协作的多个处理单元。取决于计算设备的确切配置和类型,系统存储器704可以是易失性的(诸如RAM)、非易失性的(诸如ROM、闪存等)或是两者的某种组合。系统存储器704通常包括适于控制平台操作的操作系统705,诸如来自华盛顿州雷德蒙市的微软公司的
操作系统。系统存储器704还可以包括一个或多个软件应用程序,诸如程序模块706、文档应用722以及改变跟踪模块724。
文档应用722可以使用户能够创建、编辑以及以其它方式处理诸如文字处理文档、电子表格、演示文档、电子邮件以及类似文档之类的文档。作为操作的一部分,文档应用722可以使用户能够跟踪对所编辑文档的改变。改变跟踪模块724可以监视并保留文档的改变历史,从而以渐进方式(即,采用抽象和标记视图)向用户呈现这些改变。文档应用722和改变跟踪模块724可以是分开的应用或是托管服务的集成模块。该基本配置在图7中由虚线708内的那些组件示出。
计算设备700可以具有附加特征或功能。例如,计算设备700还可包括附加数据存储设备(可移动和/或不可移动),例如磁盘、光盘或磁带。在图7中通过可移动存储709和不可移动存储710示出这样的附加存储。计算机可读存储介质可以包括以用于存储诸如计算机可读指令、数据结构、程序模块或其它数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器704、可移动存储709和不可移动存储710都是计算机可读存储介质的示例。计算机可读存储介质包括,但不限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光存储、磁带、磁盘存储或其他磁存储设备、或能用于存储所需信息且可以由计算设备700访问的任何其他介质。任何这样的计算机可读存储介质都可以是计算设备700的一部分。计算设备700也可具有输入设备712,诸如键盘、鼠标、笔、语音输入设备、触摸输入设备和类似输入设备。还可以包括输出设备714,诸如显示器、扬声器、打印机和其它类型的输出设备。这些设备在本领域中公知且无需在此处详细讨论。
计算设备700还可包含通信连接716,该通信连接允许该设备诸如通过分布式计算环境中的有线或无线网络、卫星链路、蜂窝链路、短程网络和类似机制来与其他设备718进行通信。其他设备718可包括执行通信应用的计算机设备、web服务器和类似设备。通信连接716是通信介质的一个示例。通信介质可在其中包括计算机可读指令、数据结构、程序模块或其他数据。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。
各示例实施例还包括各种方法。这些方法可以用任何数量的方式,包括本文中所描述的结构来实现。一种此类方式是通过本文中描述的类型的设备的机器操作。
另一可任选方式是该方法的各个操作中的一个或多个操作在结合一个或多个人类操作者执行该方法的各个操作中的某一些的情况下被执行。这些人类操作者无需彼此同在一处,而是其每一个可以仅与执行程序的一部分的机器同在一处。
图8示出了根据各实施例的以渐进方式呈现文档标记的过程800的逻辑流程图。可以在提供文档编辑应用的计算设备上实现过程800。
过程800开始于操作810,在操作810,文档应用使用户能够编辑文档从而对内容、格式等作出改变。在操作820,应用可以检测和跟踪用户作出的改变。在操作830,应用可以确定视图选择。例如,用户可以在简单视图或标记视图之间选择,其中在简单视图中仅呈现改变的提示,在标记视图中呈现改变的细节。这些选择在默认情况下可以是用户选择,或可以基于上下文使用、用户凭证、应用类型等而自动确定。
如果经抽象视图即简单视图是选取的视图类型,则在操作840,文档应用可以呈现带有提示的经抽象视图。在经抽象视图中,在操作850,在检测到对提示的用户兴趣之后,应用可以呈现各个改变的细节。用户的兴趣可以包括对提示的选择(例如,点击提示,通过姿势或触摸选择提示,等等)或诸如将指针悬停在提示上的临时动作。在后一种情况下,根据某些实施例在用户继续前进以前可以临时呈现细节。
如果选取的视图是全部标记视图,在操作860可以向用户呈现对文档的全部改变的细节。在检测到对特定改变的用户兴趣之后,还可以呈现诸如改变的作者、改变的时间等的一些附加细节。
过程800中包括的操作只是为了说明。文档标记的渐进呈现可以使用本文中所述各原理通过具有更少或附加步骤的相似过程以及按照不同的操作次序来实现。
以上说明书、示例和数据提供了对各实施例的组成的制造和使用的全面描述。尽管用对结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。相反,上述具体特征和动作是作为实现权利要求和各实施方式的示例形式而公开的。