CN102929922B - 用于网格上呈现磁贴的动态布局的方法和系统 - Google Patents
用于网格上呈现磁贴的动态布局的方法和系统 Download PDFInfo
- Publication number
- CN102929922B CN102929922B CN201210352185.3A CN201210352185A CN102929922B CN 102929922 B CN102929922 B CN 102929922B CN 201210352185 A CN201210352185 A CN 201210352185A CN 102929922 B CN102929922 B CN 102929922B
- Authority
- CN
- China
- Prior art keywords
- magnet
- montage
- present
- presenting
- content file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T11/00—2D [Two Dimensional] image generation
- G06T11/60—Editing figures and text; Combining figures or text
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/44—Arrangements for executing specific programs
- G06F9/451—Execution arrangements for user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Human Computer Interaction (AREA)
- General Engineering & Computer Science (AREA)
- Processing Or Creating Images (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及用于网格上呈现磁贴的动态布局的技术。描述了用于电子剪辑画面系统的技术。一种装置可包括被安排成执行剪辑画面应用的逻辑设备,该剪辑画面应用包括呈现组件。该呈现组件可检测显示器尺寸或分辨率何时已从用于剪辑画面的原始布局所使用的尺寸或分辨率改变。该呈现组件可以按照保留磁贴与彼此的空间特征的方式来重新定位,即reflow,改变的显示器中的剪辑画面中的磁贴。在从剪辑画面删除磁贴时,制作组件可自动地reflow磁贴以使磁贴间的空白空间最小化。对其他实施例也予以描述并要求保护。
Description
技术领域
本发明涉及用于网格上呈现磁贴的动态布局的技术。
背景技术
剪辑画面(montage)可包括分开的元素的聚集以形成单个合成元素。例如,剪辑画面可包括由若干单独图片构成的合成图片,或包括不同图像的快速序列的视频序列。电子剪辑画面系统已被设计成使用数字内容创建数字剪辑画面,诸如包括从不同web应用提供的不同构成网页的合成网页。有时,构成网页根据中心主题来组织,诸如与搜索引擎所使用的给定搜索项相关的网页、或如储存在浏览器历史中的用户一向访问的网页。由于合成网页的空间限制,构成网页常常是实际网页的低保真度表示。这样,用户可选择构成网页来检索所选网页的更高保真度版本,以进行更深度的查看。但是,随着数字信息的量的增加,以向用户提供有意义信息的方式构建数字剪辑画面变得越来越难。
而且,为一种尺寸或显示器分辨率设计的剪辑画面当在不同尺寸或分辨率的显示器上被查看时可能不适当地显示。一些磁贴(tile)可能不适合于其原始放置中的可用空间。搅乱(shuffle)磁贴来适合该空间可能破坏它们的位置关系。调整磁贴的大小可能使得剪辑画面难以查看且难以进行交互,特别是在小显示器区域上。本发明的改进正是针对这些和其他考虑事项而需要的。
发明内容
提供本发明内容以便以简化形式介绍将在以下具体实施方式中进一步描述的一些概念。本发明内容并非旨在标识所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
各实施例一般涉及电子剪辑画面系统。一些实施例具体涉及安排成从不同种类的(heterogeneous)数据源生成数字剪辑画面的电子剪辑画面系统。该电子剪辑画面系统可允许用户使用数据源的定制表示来生成定制数字剪辑画面,由此允许其他用户快速标识和选择感兴趣的数据源以供更细致地观看。该电子剪辑画面系统可经由发布模型、消息收发模型、或发布模型和消息收发模型的组合来将定制的数字剪辑画面发布给其他用户。
在一个实施例中,例如,一种装置可包括安排成执行剪辑画面应用的逻辑设备。该逻辑设备可包括例如具有处理器和存储器的处理系统。剪辑画面应用可包括制作组件,该制作组件用来提供具有多个呈现磁贴(tile)的呈现表面,接收将内容文件与呈现磁贴相关联的控制指示,基于内容文件的内容文件类型生成内容文件的磁贴对象,以及储存呈现表面和磁贴对象作为剪辑画面。剪辑画面应用还可包括呈现组件,该呈现组件用来生成第一用户界面视图以在呈现表面的每个相关联的呈现磁贴内呈现每个磁贴对象,接收选择磁贴对象的控制指示,以及生成第二用户界面视图以呈现与该磁贴对象相对应的内容文件。
该剪辑画面应用可包括呈现组件,该呈现组件检测显示器尺寸或分辨率何时与剪辑画面的原始布局不同。当显示尺寸或分辨率改变时,呈现表面可能改变轮廓尺寸。该呈现组件可按照保留磁贴相对于彼此的空间特征的方式来在改变的呈现表面上重新分布磁贴。对其他实施例也被描述并要求被保护。
通过阅读下面的详细描述并参考相关联的附图,这些及其他特点和优点将变得显而易见。应该理解,前面的概括说明和下面的详细描述只是说明性的,不会对所要求保护的各方面形成限制。
附图说明
图1示出剪辑画面系统的一实施例。
图2示出制作组件的一实施例。
图3A示出呈现表面的一实施例。
图3B示出具有磁贴对象的呈现表面的一实施例。
图4示出制作组件的一示例。
图5示出消息收发系统的一实施例。
图6示出消息收发系统的消息流的一实施例。
图7A示出消息的用户界面视图的一实施例。
图7B示出剪辑画面的用户界面视图的一实施例。
图7C示出磁贴对象的用户界面视图的一实施例。
图7D示出内容文件的用户界面视图的一实施例。
图8示出制作组件的逻辑流程的一实施例。
图9示出发布组件的逻辑流程的一实施例。
图10示出剪辑画面应用的一实施例。
图11示出具有原始剪辑画面的呈现表面的一示例。
图12示出具有原始剪辑画面的一不同呈现表面的一示例。
图13示出在原始剪辑画面已被reflow之后该不同呈现表面的一示例。
图14A示出在平衡经reflow的剪辑画面之前该不同呈现表面的一示例。
图14B示出经reflow的剪辑画面已被平衡之后该不同呈现表面的一示例。
图15示出用于reflow剪辑画面的逻辑流程的一实施例。
图16示出用于在reflow剪辑画面时确定磁贴放置的逻辑流程的一实施例。
图17示出用于平衡剪辑画面的逻辑流程的一实施例。
图18A示出其中一磁贴已被删除的原始剪辑画面的一示例。
图18B示出在磁贴移除后已被reflow的原始剪辑画面的一示例。
图19示出用于在磁贴被移除后reflow剪辑画面的逻辑流程的一实施例。
图20示出计算架构的实施例。
具体实施方式
各个实施例一般涉及安排成从不同种类的数据源生成数字剪辑画面的电子剪辑画面系统。电子剪辑画面系统可允许用户使用由不同软件程序(诸如应用程序等)生成的内容文件来生成高度定制的数字剪辑画面。数字剪辑画面可包括一个或多个磁贴对象,这些磁贴对象包括底层内容文件的定制表示。磁贴对象可使用从内容文件选择性地提取并根据针对内容文件专门建立的类型定义格式化的信息来构建。该类型定义包括有关内容文件的详细信息,诸如文件扩展、数据模式、格式化控件、嵌入对象、嵌入代码、属性、脚本和其他文件特定信息。该类型定义还包括与要从内容文件提取的信息的类型、所提取信息的格式化、要建立的多个磁贴对象版本等等有关的规则集。以此方式,更宽泛范围的内容文件可被用来制作数字剪辑画面,同时构建高度代表性的磁贴对象,从而向观看者提供有意义的信息。此方法允许观看者容易地细看剪辑画面中的磁贴对象,在许多磁贴对象中标识感兴趣的内容文件,以及选择磁贴对象来快速检索内容文件以供更细致的查看。
某些实施例涉及具有呈现组件的电子剪辑画面系统,所述呈现组件检测显示器尺寸或分辨率何时已从用于剪辑画面的原始布局的尺寸或分辨率变化。该呈现组件可以按照保留磁贴与彼此的空间特征的方式来重新定位,即“reflow”,改变的显示器中的剪辑画面中的磁贴。当向剪辑画面添加磁贴或从剪辑画面删除磁贴时,实施例可自动地reflow磁贴以使磁贴间的空白空间最少。结果,各实施例可提高操作者、设备或网络的可承受性、可伸缩性、模块性、可扩展性或互操作性。
图1示出具有剪辑画面应用140的剪辑画面系统100的框图。在一个实施例中,例如,剪辑画面系统100和剪辑画面应用140可包括各种组件,诸如组件110、130等。如本文所使用的,术语“系统”、“应用”和“组件”旨在指代与计算机相关的实体,包括硬件、硬件和软件的组合、软件、或执行中的软件。例如,组件可被实现为在处理器上运行的进程、处理器、硬盘驱动器、多个(光和/或磁存储介质的)存储驱动器、对象、可执行代码、执行的线程、程序、和/或计算机。作为说明,在服务器上运行的应用和服务器两者都可以是组件。一个或多个组件可以驻留在进程和/或执行的线程内,且组件可以视给定实现所需而位于一台计算机上和/或分布在两台或更多的计算机之间。各实施例不限于该上下文。
在图1所示的例示实施例中,剪辑画面系统100和剪辑画面应用140可由电子设备实现。电子设备的示例可包括但不限于,移动设备、个人数字助理、移动计算设备、智能电话、蜂窝电话、手机、单向寻呼机、双向寻呼机、消息收发设备、计算机、个人计算机(PC)、台式计算机、膝上型计算机、笔记本计算机、手持式计算机、平板计算机、服务器、服务器阵列或服务器场、web服务器、网络服务器、因特网服务器、工作站、小型计算机、大型计算机、超级计算机、网络设备、web设备、分布式计算系统、多处理器系统、基于处理器的系统、游戏设备、消费电子产品、可编程消费电子产品、电视机、数字电视机、机顶盒、无线接入点、基站、订户站、移动订户中心、无线电网络控制器、路由器、集线器、网关、网桥、交换机、机器、或其组合。虽然如图1所示的剪辑画面应用140具有呈特定拓扑结构的有限数量的元素,但可以理解,剪辑画面应用140视给定实现所需可包括呈替换拓扑结构的更多或更少的元素。
组件110、130可以经由各种类型的通信介质来通信地耦合。组件110、130可以协调彼此之间的操作。该协调可以涉及单向或双向信息交换。例如,组件110、130可以传递通过通信介质传递的信号形式的信息。该信息可被实现成分配给各条信号线的信号。在这些分配中,每一个消息都是信号。然而,其他实施例可另选地采用数据消息。这些数据消息可以跨各种连接被发送。示例性连接包括并行接口、串行接口和总线接口。
在图1所示的例示实施例中,剪辑画面系统可包括一个或多个内容文件104-c和剪辑画面应用140。内容文件104-c可包括由诸如应用程序、web应用、web服务等软件程序生成的数字内容。剪辑画面应用140可使用一个或多个所选内容文件104-c来生成剪辑画面120。在一个实施例中,一个或多个内容文件104-c可由用户手动选择。在一个实施例中,可诸如通过使用与由搜索引擎使用的给定搜索项相关的搜索结果或如储存在浏览器历史中的用户一向访问的内容文件104-c由软件程序自动选择一个或多个内容文件104-c。
剪辑画面应用140可包括制作组件110和呈现组件130等。制作组件110可由用户使用来制作或产生剪辑画面120。制作或产生剪辑画面120的用户有时在本文中被称为“内容产生者”。呈现组件130可由用户使用来查看或导航剪辑画面120。查看或导航剪辑画面120的用户有时在本文中被称为“内容消费者”。剪辑画面应用140进一步包括参照图2-11更详细地描述的其他组件。
制作组件110一般可管理剪辑画面应用140的制作操作,包括生成用户界面视图和工具以允许内容产生者能生成、创建或以其他方式制作剪辑画面120。剪辑画面120可包括来自所选内容文件104-c的数字信息元素的单个合成或聚集以形成单个合成数字信息元素。剪辑画面120可包括例如具有由诸如应用程序的应用文件等由不同种类应用生成的不同构成数字信息元素的合成文件。有时构成数字信息元素根据中心主题来被组织,诸如与业务项目、个人假日、或节日相关的那些数字信息元素。由于合成文档的空间限制,构成数字信息元素常常是实际内容文件104-c的低保真度表示。这样,内容消费者可选择构成数字信息元素来检索相关联的内容文件104-c的更高保真度的版本,以进行更深度的查看。
在一个实施例中,例如,制作组件110可被安排成提供剪辑画面120的呈现表面122。呈现表面122可具有以特定拓扑结构在呈现表面122上定义或布置的多个呈现磁贴124-a。制作组件110可接收将特定内容文件104-c与特定呈现磁贴124-a相关联的控制指示102-b。制作组件110可基于与内容文件104-c相关联的各种内容文件类型和类型定义,生成内容文件104-c的磁贴对象126-e。制作组件110可将呈现表面122和磁贴对象126-e储存为剪辑画面120的一部分,该剪辑画面120然后可被发布或分发给各个内容消费者。
值得指出的是,本文所使用的“a”、“b”、“c”以及类似的指示符旨在成为表示任何正整数的变量。因此,例如,如果一实现将a值设为a=5,则呈现磁贴124-a的完整集合可包括呈现磁贴124-1、124-2、124-3、124-4以及125-5。各实施例不限于该上下文。
制作组件110可开始制作操作以通过提供具有多个呈现磁贴124-a的呈现表面122来生成剪辑画面120。呈现表面122可包括具有具有坐标系和边界的任何定义大小的二维(2D)或三维(3D)拓扑空间。呈现表面122的示例可包括:文字处理程序的文档、演示程序的幻灯片、电子数据表程序的工作表、记事本程序的记事贴、个人信息管理程序(PIM)的联系人卡、以及通常由应用程序使用的其他空间。
呈现磁贴124-a可包括呈现表面122的指定用于呈现离散的信息集合(诸如磁贴对象126-e)的限定区域。针对给定实现,限定区域可按需具有任何大小、维度或形状。给定呈现表面122可具有任何数量的呈现磁贴124-a,并且每个呈现磁贴124-a可具有一定义集合(例如大小、形状、维度、几何形状)以确保所有呈现磁贴124-a在呈现表面122的给定大小范围内。呈现磁贴124-a的定义可基于呈现表面122、内容文件104-c集合、内容文件104-c与呈现磁贴124-a之间的关联、与内容文件104-c相关联的磁贴对象126-e、显示器的属性、设备的属性、用户偏好、以及其他因素而动态地改变。各实施例不限于该上下文。
在一个实施例中,内容产生者可自定义呈现表面122和呈现磁贴124-a。剪辑画面应用140的用户界面可提供专门定义成修改呈现表面122的特性和呈现表面122上的一组呈现磁贴124-a的各种控件。这些控件的示例可包括但不限于绘图控件、维度控件、大小控件、宽度控件、高度控件、像素控件、刷新控件等等。可选地,内容产生者可从任何数量的剪辑画面模板中选择,从而提供不同的呈现表面和呈现磁贴124-a。
制作组件110可接收将特定内容文件104-c与特定呈现磁贴124-a相关联的控制指示102-b。制作组件110可生成允许用户选择内容文件104-a的用户界面视图和工具,以及使内容文件104-a与呈现磁贴124-a相关联。例如,用户可使用诸如定点设备等输入设备来选择内容文件104-1并将该内容文件104-1拖曳到呈现磁贴124-1上。用户选择可生成控制指示102-b作为指示对制作组件110的选择的消息或信号。可选地,控制指示102-b可根据内容选择算法来通过程序生成。例如,内容选择算法可具有用于从由搜索引擎生成的搜索结果中或通过对用户浏览模式的分析来自动地选择内容文件104-c的一组定义的规则。各实施例不限于该上下文。
内容文件104-c可包括由软件程序生成的任何数字信息元素或数字内容,该软件程序诸如应用程序、web应用、web服务、客户端应用、服务器应用、系统程序等等。不同的软件程序可生成不同类型的数字内容。这样,不同软件程序所生成的数字内容可包括不同种类的数字内容。内容文件104-c的示例可包括但不限于应用文件,诸如文字处理文件、电子数据表文件、演示文件、个人信息管理程序(PIM)文件、数据库文件、发布程序文件、绘图文件、记事本文件、消息文件、项目文件等等。内容文件104-c的其他示例可包括多媒体文件,诸如音频文件、图像文件、视频文件、音频/视频(AV)文件、动画文件、游戏文件、标记文件、网页文件、社交网络服务(SNS)文件等等。可以理解,这些仅仅是内容文件104-c的一些示例,并且各个实施例不限于这些示例。
在一个实施例中,内容文件104-c可包括为特定操作系统设计的互相关的客户端应用、服务器应用和web服务的生产力套件的内容文件,诸如用于由美国华盛顿州雷蒙德的微软公司制作的MICROSOFT的OFFICE生产力套件。客户端应用的示例可包括但不限于:MICROSOFTWORD、MICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTMICROSOFTPROJECT、MICROSOFTPUBLISHER、MICROSOFTWORKSPACE、MICROSOFTMICROSOFTOFFICEINTERCONNECT、MICROSOFTOFFICEPICTUREMANAGER、MICROSOFTSHAREPOINTDESIGNER、以及MICROSOFTLYNC。服务器应用的示例可包括但不限于:MICROSOFTSHAREPOINTSERVER、MICROSOFTLYNCSERVER、MICROSOFTOFFICEFORMSSERVER、MICROSOFTOFFICESERVER、MICROSOFTOFFICEPROJECTSERVER、MICROSOFTOFFICEPROJECTPORTFOLIOSERVER、以及MICROSOFTOFFICESERVER。web服务的示例可包括但不限于:MICROSOFTMICROSOFTOFFICEWEBAPPLICATIONS、MICROSOFTOFFICELIVE,MICROSOFTLIVEMEETING、MICROSOFTOFFICEPRODUCTWEBSITE、MICROSOFTUPDATESERVER、以及MICROSOFTOFFICE365。各实施例不限于这些示例。
在一个实施例中,内容文件104-c可包括由用于创建剪辑画面120的剪辑画面应用140的同一内容产生者个人制作的内容文件。例如,假设内容产生者是业务项目的项目管理者,并且在该业务项目的过程期间已制作了与该业务项目相关联的各种应用文件,诸如文字处理文件、电子数据表文件、以及演示文件。内容产生者可使用剪辑画面应用140的制作组件110来针对由内容产生者个人制作的每个文件创建具有磁贴对象126-e的行政报告。
制作组件110可基于内容文件104-c的各种内容文件类型,为所选内容文件104-c生成磁贴对象126-e。一旦内容文件104-c已与呈现磁贴124-a相关联,制作组件110就可为所选内容文件104-c生成磁贴对象126-e。在一个实施例中,单个内容文件104-c可与单个呈现磁贴124-a相关联,由此形成一对一的对应性。在一个实施例中,多个内容文件104-c可与单个呈现磁贴124-a相关联,由此形成一对多的对应性。
磁贴对象126-e可包括内容文件104-c的代表、代理或“预告”(teaser)。磁贴对象126-e是来自相关联内容文件104-c的信息的简明集合,该磁贴对象126-e以允许内容消费者快速并简单地确定是否对相关联内容文件104-c感兴趣并有益于对相关联内容文件104-c的更细致检查的方式来被呈现。
磁贴对象126-e可使用从内容文件104-c检索的内容部分106-d生成。内容部分106-d可包括从内容文件104-c所储存的完整信息集导出或提取的信息子集。剪辑画面120的一个优点是来自不同内容文件104-c的信息可在单个呈现表面122上呈现。然而,每个内容文件104-c可包括比能在单个呈现磁贴124-a的限定区域内所呈现的信息更多量的信息。例如,如果内容文件104-1包括文字处理文档,则即使在微型化为缩略图时,制作组件110也可能无法将该文字处理文档内所包含的所有信息(例如文本、图表、图像、绘图、嵌入对象)都装在呈现磁贴124-1的可用区域或空间内。这样,制作组件110可从内容源104-1内所包含的信息集合中检索信息子集,格式化该信息子集以装入呈现磁贴124-1的一组边界内,以及储存经格式化的该信息子集作为磁贴对象126-1。例如,磁贴对象126-1可包括文字处理文档的标题、文字处理文档的内容产生者(例如作者)、以及来自文字处理文档的图像的组合。
磁贴对象126-e还可包括对相对应的内容文件104-c的引用(例如地址、指针或链接),或与该引用相关联。当用户选择磁贴对象126-e以便于更细致检查时,该引用可用来检索相对应的内容文件104-c以呈现内容文件104-c的全保真度呈现。在一个实施例中,该引用可以指向如储存在本地数据存储中的内容文件104-c。在此情形中,该引用可用来使用对等技术检索内容文件104-c。在一个实施例中,该引用可以指向储存在远程数据存储中的内容文件104-c。在此情形中,该引用可用来使用网络存储和访问技术检索内容文件104-c。
在一个实施例中,单个内容文件104-c可与单个呈现磁贴124-a相关联。在此情形中,单个磁贴对象126-e在每一呈现磁贴124-a中呈现。在一个实施例中,多个内容文件104-c可与单个呈现磁贴124-a相关联。在此情形中,多个磁贴对象126-e在单个呈现磁贴124-a中呈现。在呈现时,内容消费者可使用呈现组件130提供的选择器工具来在不同呈现磁贴124-a中呈现的多个磁贴对象126-e之间导航,以及也在单个呈现磁贴124-a中呈现的多个磁贴对象126-e之间导航,从而内容消费者能选择感兴趣的磁贴对象126-e。例如,假设内容产生者将来自对应的内容文件104-1至104-100的图片与呈现磁贴124-1相关联。该100个图片的缩略图可被生成为磁贴对象126-1至126-100,并且被调整大小以装入呈现磁贴124-1的给定尺寸内。选择器工具可用来在磁贴对象126-1至126-100之间导航以选择并放大给定图片。
一旦用户已经完成了使不同内容文件104-c与呈现表面122的不同呈现磁贴124-a相关联的制作操作,制作组件110就可储存呈现表面122和磁贴对象126-e来作为剪辑画面120的一部分。
呈现组件130一般可管理剪辑画面应用140的呈现操作,包括生成用于在电子设备的电子显示器上呈现剪辑画面120的用户界面视图和工具。在一个实施例中,例如,呈现组件130可生成用于在剪辑画面120的呈现表面122上的每一相关联呈现磁贴124-a内呈现每一磁贴对象126-e的第一用户界面视图。呈现组件130可接收用来选择磁贴对象126-e的控制指示132-f,以及生成用于呈现与所选磁贴对象126-e相对应的内容文件104-c的第二用户界面视图。
图2示出剪辑画面应用140的制作组件110的更详细框图。制作组件110可通过基于相关联内容文件104-c类型的类型定义从内容文件104-c中检索内容的特定部分,来智能地为相关联内容文件104-c生成磁贴对象126-e。例如,该内容部分可包括来自内容文件104-c的文本、内容文件104-c的元数据、来自内容文件104-c的对象、或其某种组合。
在一个实施例中,内容文件104-c可被存储于在实现剪辑画面应用140的同一电子设备内实现的本地数据存储210中。例如,计算设备可使用储存在计算设备的大容量存储设备上的内容文件104-1、104-2来实现剪辑画面应用140。在一个实施例中,内容文件104-c可被存储于由与实现剪辑画面应用140的电子设备不同的电子设备实现的远程数据存储212中。例如,计算设备可使用储存在服务器设备的大容量存储设备上的内容文件104-3来实现剪辑画面应用140。
在图2所示的实施例中,制作组件110可包括或实现多个类型模块202-g。每个类型模块202-g可对应于相应内容文件104-c的内容文件类型。内容文件104-c的内容文件类型的示例可包括但不限于应用文件类型,诸如文字处理文件类型、电子数据表文件类型、演示文件类型、PIM文件类型、数据库文件类型、发布程序文件类型、绘图文件类型、记事本文件类型、消息文件类型等等。内容文件104-c的其他示例可包括多媒体文件类型,诸如音频文件类型、图像文件类型、视频文件类型、AV文件类型、动画文件类型、游戏文件类型、标记文件类型、网页类型等等。可以理解,这些仅仅是内容文件类型的一些示例,并且各个实施例不限于这些示例。
类型模块202-g可基于内容文件类型的类型定义204-h从内容文件104-c中检索信息,并基于所检索到的信息和类型定义204-h生成磁贴对象126-e。类型定义204-h可包括用于从内容文件104-c中提取所选部分并在呈现磁贴124-a的限定区域内格式化所提取的部分的一组定义、规则、属性、方法、事件、坐标或指令。通过实现特定内容文件104-c的特定类型定义204-h,制作组件110可生成专门为特定上下文(例如业务、个人)和相关联的内容消费者集合设计的高度定制的磁贴对象126-e。类型定义204-h可以是随剪辑画面应用140提供的缺省类型定义,或者是使用剪辑画面应用140创建的用户定义的类型定义。
作为示例,假设内容文件104-1是文字处理文档104-1,类型模块202-1针对文字处理文件类型,而类型定义204-1是针对文字处理文件类型的一组定义。类型定义204-1可包括在创建磁贴对象126-1时使用的各种类型的信息。例如,类型定义204-1可包括所支持的与文字处理应用的不同版本相关联的文件格式,诸如可扩展标记语言格式(例如.docx、.docm、.dotx、.dotm)、二进制格式(例如.doc、.dot)、以及开放文档格式(例如.odt)。类型定义204-1可包括用于访问加密文件的安全凭证(例如口令、证书、公钥或私钥)。类型定义204-1可包括用于访问文件的嵌入或加载代码的工具(例如宏、扩展包)。类型定义204-1可包括文档中的所支持的域(例如,询问(Ask)域、作者(Author)域、数据库(Database)域、填入(Fillin)域、包括图片(Includepicture)域、包括文本(Includetext)域、邮件合并(Mailmerge)域)。类型定义204-1可包括用于处理文档的链接(例如,链接的对象、主文档、模板引用、链接的级联样式表单引用)的规则。类型定义204-1可包括用于处理数据集(例如邮件合并数据)的规则。类型定义204-1可包括用于处理对象链接与嵌入(OLE)对象的规则。关于类型定义204-1的其他信息是可能的,并且各个实施例不限于此上下文。
此外,类型定义204-1可包含与要从内容文件104-1检索的信息的类型有关的一组规则。例如,类型定义204-1可包括三类信息和相关联规则,包括来自内容文件104-1的内容和属性类(例如段落或属性)、内容文件104-1的内容对象类(例如图像、嵌入对象)、以及内容文件104-1内的内容页面类、或其某种组合。可以理解,针对给定内容文件类型可定义任何数量的类或类别。
在一个实施例中,内容和属性类的示例可在表1中示出,如下:
表1
在一个实施例中,内容对象类的示例可在表2中示出,如下:
表2
在一个实施例中,内容页面类的示例可在表3中示出,如下:
表3
制作组件110可使用类型模块202-1和相关联类型定义204-1来从本地数据存储210中检索来自内容文件104-1的内容部分106-1。类型模块202-1然后可组织和格式化内容部分106-1以生成磁贴对象126-1。例如,类型定义204-1的规则可规定:从文档内检索的任何文本(诸如前N个段落)将保留文档内指定的样式格式化。另一规则可以是:不是文档内的实际文本的内容属性将被格式化为如文档内定义的普通(Normal)样式。又一规则可以是:如果内容部分106-1的整个文本不能适应呈现磁贴124-1的尺寸,则将在文本结束处附加省略号“……”。这些仅仅是一些示例性规则,并且其他规则是可能的。各实施例不限于该上下文。
在一些情形中,类型定义204-1可定义用于根据内容和属性类、内容对象类、以及内容页面类的组合来创建磁贴对象126-1的一组规则,有时被俗称为“糅合(mashup)”。这提供构建成表示内容文件104-1的内容的高度定制的磁贴对象126-1。
在一个实施例中,不同类组合的示例可在表4中示出如下:
表4
类型定义204-1还可提供将磁贴对象126-1限制于单个类或某一类内的类型的规则。例如,规则可限定类型模块202-1仅使用来自内容文件104-1的文本形式的内容,或者内容文件104-1的图像形式的内容对象。
类型定义204-1可进一步标识用于生成内容文件104-1的磁贴对象126-1的设备。例如,规则可限定类型模块202-1与服务器设备交互以生成和检索磁贴对象126-1。
类型定义204-1仍可进一步提供用于生成多个版本的磁贴对象126-1的列表以供呈现给用户作最终选择的规则。例如,规则可生成P个版本的磁贴对象126-1,其中P表示任何正整数(例如P=10)。多个版本的磁贴对象126-1的列表可根据如下表5给出的示例来生成:
表5
类型模块202-g可使用由类型定义204-h提供的附加信息来生成磁贴对象126-e。例如,类型模型202-g可接收关于为内容文件104-a选择的呈现磁贴124-a的信息作为输入。类型模块202-g可接收诸如位置、大小、形状、尺寸、几何形状、边界、相邻呈现磁贴124-a、毗连呈现磁贴124-a等信息。例如,如果类型模块202-1正使用类型定义204-1来构建对呈现磁贴124-1的当前尺寸而言过大的磁贴对象126-1,则类型模块202-1可使用关于相邻或毗连呈现磁贴124-2、124-3的信息来确定是否可增大呈现磁贴124-1的当前尺寸以容纳更大的磁贴对象126-1,并且可相应地减小呈现磁贴124-2、124-3的当前尺寸。制作组件110可实现用于适应这些情形的各种拟合算法。
图3A示出了由制作组件110生成的用户界面视图300的一实施例。用户界面视图300可包括在已对内容文件104-c创建了任何磁贴对象126-e之前具有多个空呈现磁贴124-a的呈现表面122。用户界面视图300还可包括用于从作者处接收诸如复制命令302-1、剪切命令302-2、以及粘贴命令302-3等控制指示102-b的各种图形用户界面(GUI)工具302-s。可使用除图3A中所示工具之外的其他GUI工具,诸如移动命令、选择性粘贴命令等等。
用户界面视图300可进一步包括文件导航工具304。该文件导航工具304可包括给定OS的设计用于导航具有所储存的数据文件的文件系统的文件管理器应用。例如,文件导航工具304可用来导航和呈现来自本地数据存储210或远程数据存储212的各种内容文件104-c。文件导航工具304的示例可包括为MICROSOFTWINDOWS操作系统设计的MICROSOFTWINDOWSEXPLORER(资源管理器)。也可以使用其他文件导航工具。
在制作操作期间,制作组件110可接收来自诸如定点设备308之类的输入设备或例如触摸显示器上的手势的用于使内容文件104-1与呈现磁贴124-1相关联的控制指示102-b。例如,内容产生者可通过利用文件导航工具304来导航和呈现数据存储210、212之一或两者所储存的内容文件104-c,来创建剪辑画面120。内容产生者可使用诸如定点设备308之类的各种输入设备或触摸显示器上的手势310来选择呈现磁贴124-a的内容文件104-c。如所示,定点设备308可用来选择内容文件104-1,并使用拖放技术来将内容文件104-1移动到呈现磁贴124-1上。可选地,GUI输入工具302可用来执行类似操作。
图3B示出由制作组件110生成的用户界面视图320的一实施例。用户界面视图320可包括在已对内容文件104-1创建了磁贴对象126-1之后具有已填充的呈现磁贴124-1的呈现表面122。一旦内容产生者选择内容文件104-1并使其与呈现磁贴124-1相关联,制作组件110就可标识内容文件104-1的内容文件类型。在此示例中,制作组件110将内容文件104-1的内容文件类型标识为应用文件类型,更具体地是文字处理文件。制作组件110可利用专门设计的类型模块202-1和类型定义204-1来从文字处理文件生成磁贴对象。类型模块202-1可使用类型定义204-1来从内容文件104-1检索适当内容部分106-1,其中内容部分106-1包括内容和属性类、内容对象类、内容页面类、或类组合的信息。类型模块202-1可使用内容部分106-1来生成磁贴对象126-1,并在呈现磁贴124-1的边界内呈现磁贴对象126-1。
图4示出生成磁贴对象126-1的制作组件110的示例。如所示,内容文件104-1可包括内容和属性类的各种类型的信息,包括标题402、第一段落404、第二段落406、以及各种元数据408。内容文件104-1可进一步包括内容对象类的各种类型的信息,包括图像410、条形图412、以及公式414。类型定义204-1可包括五个规则,包括:使用标记为“标题模板1”的特定磁贴模板的第一规则、检索标题402的第二规则、从元数据408检索作者的第三规则、检索前N(例如N=2)个段落404、406的第四规则、以及用于检索第一图表(在此情形中为条形图412)的第五规则。类型模块201-1可根据类型定义204-1的规则1-5使用类型定义204-1来从内容文件104-1检索内容部分106-1,并且生成磁贴对象126-1,该磁贴对象126-1被呈现为具有根据“标题模板1”格式化的内容部分106-1的特定信息的用户界面视图。
图5示出适于发布或分发由剪辑画面应用140生成的剪辑画面120的消息收发系统500的一实施例。内容产生者可使用剪辑画面应用140利用由用户界面组件540提供的各个用户界面视图来生成剪辑画面120。用户界面538可包括用于剪辑画面应用140的固有用户界面组件,或用于执行剪辑画面应用140的OS(例如MicrosoftWindows)的用户界面组件。一旦已生成剪辑画面120,内容产生者就可使用发布模型、消息收发模型、或发布模型和消息收发模型的组合来将剪辑画面120分发给各个内容消费者。
在一个实施例中,剪辑画面应用140可使用发布组件532来将剪辑画面和相关联内容文件104-c从本地数据存储210发布至远程数据存储212。远程数据存储212可被实现为网络服务(诸如社交网络服务(SNS)等)可访问的网络存储服务器550的一部分。内容消费者可访问该网络服务以查看网络服务版本。
在一个实施例中,剪辑画面应用140可使用固有消息组件534来经由诸如消息服务器540等消息收发架构将剪辑画面120和相关联内容文件104-c作为消息516和消息附件发送。内容消费者可访问和查看消息版本。可选地,剪辑画面应用140可使用外部(非固有)消息应用542-k。
在一个实施例中,剪辑画面应用140可通过将剪辑画面120和相关联内容文件104-c发布至网络服务来使用发布模型和消息收发模型的组合,接收剪辑画面120和相关联内容文件104-c的网络版本的链接518-n,以及发送带有链接518-n的消息516。内容消费者可访问消息516,选择链接518-n,以及查看剪辑画面120的网络版本。此外,内容消费者可选择剪辑画面120的磁贴对象126-e以查看与所选磁贴对象126-e相关联的内容文件104-c的网络版本。
剪辑画面应用140可使用安全组件536来管理许可以及用户对剪辑画面120和相关联内容文件104-c的访问权。安全组件536可管理帐户、认证信息、授权信息、安全信息(例如加密/解密算法、安全密钥、证书等)、许可级别等等。在一个实施例中,安全组件536可从输入设备接收表示来自内容产生者的命令的控制指示,该命令对内容文件104-c从本地数据存储210向网络服务可访问的网络存储服务器550的远程数据存储212的传递进行授权。
在图5所示的例示实施例中,消息收发系统500可包括多个计算设备510-j、消息服务器540以及网络存储服务器550,它们全都通过网络530进行通信。计算设备510-j可各自实现剪辑画面应用140和/或一个或多个消息应用542-k。虽然如图5所示的消息收发系统500具有呈特定拓扑结构的有限数量的元素,但可以明白,消息收发系统500视给定实现所需可包括采用替代拓扑结构的更多或更少的元素。
网络530可包括被设计成在消息收发系统500的各设备之间传递信息的通信框架。网络530可以实现任何公知通信技术,如适于用于分组交换网络(例如,诸如因特网等公共网络、诸如企业内联网等专有网络,等等)、电路交换网络(例如,公共交换电话网)、或分组交换网络和电路交换网络的组合(使用合适的网关和转换器)的技术。
消息服务器540可包括或采用用于执行根据所描述的实施例的各种方法的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性消息服务器540可包括例如操作诸如操作系统、操作系统、操作系统或其他合适的基于服务器的操作系统等服务器操作系统的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如MICROSOFTOFFICECOMMUNICATIONSSERVER(办公室通信服务器(OCS))等用于管理传入和传出消息的通信服务器程序,诸如MICROSOFTEXCHANGESERVER(交换服务器)等用于提供对电子邮件、语音邮件、VoIP、即时消息收发(IM)、群IM、增强的在场、以及音频-视频会议的统一消息收发(UM)的消息收发服务器程序,和/或根据所描述的实施例的其他类型的程序、应用、或服务。
网络存储服务器550也可包括或采用用于执行根据所描述的实施例的各种方法的一个或多个服务器计算设备和/或服务器程序。例如,当被安装和/或部署时,服务器程序可以支持用于提供特定服务和特征的服务器计算设备的一个或多个服务器角色。示例性网络存储服务器550可包括例如操作诸如MICROSOFT操作系统、UNIX操作系统、LINUX操作系统或其他合适的基于服务器的操作系统等服务器操作系统的独立和企业级服务器计算机。例如,示例性服务器程序可包括诸如MICROSOFTLIVE等提供对文档和文件的在线网络存储的网络存储服务器程序,文档和文件包括诸如图像、照片、相册、视频、视频专辑等多媒体文件或媒体文件。示例性服务器程序还可包括例如网络应用程序,诸如社交网络应用程序、搜索应用、文档管理程序、web日志(博客)、文字处理程序、电子数据表程序、数据库程序、绘图程序、文档共享程序、消息应用、web服务、web应用、web服务器、和/或根据所描述的实施例的其他类型的程序、应用、或服务。
计算设备510-j各自可包括处理器502和通信上耦合到处理器502的存储器504。处理器502和存储器504可各自通信上耦合到通信接口509。计算设备510-j的示例性架构和示例可参考图10来描述。
通信接口509可包括或实现允许计算设备510-j经由网络530彼此进行通信并与消息收发系统500的其他设备进行通信的各种通信技术。例如,消息收发系统500的各设备可以各自包括实现被设计成可与网络530进行互操作的各种类型的标准通信元件的通信接口509,这些标准通信元件如一个或多个通信接口、网络接口、网络接口卡(NIC)、无线电装置、无线发射机/接收机(收发机)、有线和/或无线通信介质、物理连接器等。作为示例而非限制,通信介质包括有线通信介质和无线通信介质。有线通信介质的示例可以包括导线、电缆、金属引线、印刷电路板(PCB)、背板、交换光纤、半导体材料、双绞线、同轴电缆、光纤、传播信号等。无线通信介质的示例可以包括声音、射频(RF)频谱、红外和其他无线介质。
在各实施例中,通信接口509可包括多个不同类型的传输512-m。传输512-m中的每一个可实现或利用相同或不同的一组通信参数来在消息收发系统500的各设备之间传递信息。在一个实施例中,例如,传输512-m中的每一个可以实现或利用不同的一组通信参数来在计算设备510-j与消息服务器540之间传递信息。通信参数的一些示例可包括但不限于通信协议、通信标准、射频(RF)带、无线电装置、发射机/接收机(收发机)、无线电处理器、基带处理器、网络扫描阈值参数、无线电频率通道参数、接入点参数、速率选择参数、帧大小参数、聚集大小参数、分组重试限制参数、协议参数、无线电参数、调制和编码方案(MCS)、确认参数、媒体访问控制(MAC)层参数、物理(PHY)层参数、以及影响计算设备510-j所实现的通信接口509的操作的任何其他通信参数。实施例不限于该上下文。
在各实施例中,计算设备510-1的通信接口509可以实现不同的通信参数,从而提供不同的带宽或通信速度。例如,传输512-1可包括实现用于向网络530高速地传递信息的合适的通信参数的高速接口,而传输512-2可包括实现用于向网络530低速地传递信息的合适的通信参数的低速接口。
对于有线通信,例如,传输512-1可包括被设计成通过诸如因特网等分组交换网络传递信息的网络接口。传输512-1可被安排成在功能上根据不同类型的有线网络系统或协议来提供数据通信。提供数据通信服务的合适的有线网络系统的示例可包括因特网工程任务组(IETF)传输控制协议(TCP)和网际协议(IP)通信标准套件、用户数据报协议(UDP)、数据报拥塞控制协议(DCCP)、流控制传输协议(SCTP)、资源预留协议(RSVP)、显式拥塞通知(ECN)协议、开放最短路径优先(OSPF)协议套件、可靠传输协议(RTP)、IETF实时传输协议(RTP)、等等。传输512-2可被安排成根据不同的消息协议来提供数据通信,如简单邮件传输协议(SMTP)、扩展SMTP(ESMTP)、邮局协议(POP)、POP3、因特网消息访问协议(IMAP)、多用途因特网邮件扩展(MIME)协议、Unix到Unix复制(UUCP)协议、诸如ITU-TX.400协议等国际电信联盟(ITU)协议套件,等等。可以理解,可以实现其他有线通信技术,并且各实施例不限于该上下文。
对于无线通信,例如,传输512-1可包括被设计成通过无线局域网(WLAN)传递信息的无线电装置。传输512-1可被安排成根据不同类型的无线网络系统或协议来提供数据通信功能。提供数据通信服务的合适的无线网络系统的示例可包括电子和电气工程师学会(IEEE)802.xx系列协议,如IEEE802.11a/b/g/n系列标准协议和变型(也被称为“WiFi”)、IEEE802.16系列标准协议和变型(也被称为“WiMAX”)、IEEE802.20系列标准协议和变型,等等。传输512-2可包括被设计成跨一个或多个蜂窝无线电话系统所提供的数据联网链路来传递信息的无线电装置。提供数据通信服务的蜂窝无线电话系统的示例可包括带有通用分组无线电服务(GPRS)系统的GSM(GSM/GPRS)、CDMA/1xRTT系统、用于全球进化的增强数据率(EDGE)系统、仅数据进化或进化数据优化(EV-DO)系统、数据和语音进化(EV-DV)系统、高速下行链路分组接入(HSDPA)系统、高速上行链路分组接入(HSUPA),等等。可以理解,可以实现其他无线技术,并且各实施例不限于该上下文。
在各实施例中,计算设备510-1的通信接口509可以实现相同的一组通信参数,从而提供相同或基本上相似的带宽或通信速度。然而,传输512-1、512-2可由剪辑画面应用140和/或消息应用542-1在不同的时间点进行利用。在一个实施例中,例如,剪辑画面应用140可在第一时间间隔期间传送剪辑画面120和剪辑画面120的一个或多个内容文件104-c,而剪辑画面应用140和/或消息应用542-1可在第二时间间隔期间传送带有与剪辑画面120有关和/或支持内容文件104-c的信息的消息516。在一个实施例中,例如,第一和第二时间间隔可以完全不连续,其中第一时间间隔的开始时间和结束时间在第二时间间隔的开始时间之前。在一个实施例中,例如,第一和第二时间间隔可以部分重叠,其中第一时间间隔的开始时间在第二时间间隔的开始时间之前,但第一时间间隔的结束时间在第二时间间隔的开始时间之后。各实施例不限于该上下文。
计算设备510-j各自可实现具有所述消息组件534的剪辑画面应用140和/或安排成传递各种格式的各种类型的消息的一个或多个消息应用542-k。将参照关于消息收发模型的消息应用542-k来描述一个实施例,但这种描述可适用于利用剪辑画面应用140的消息组件534的其他实施例。
消息应用542-k中的每一个可以代表特定种类的传输,从而实现对该特定应用的特定类型和格式的消息的处理。消息应用542-k可包括但不限于传真应用、视频消息应用、即时消息收发(IM)应用、聊天应用、电子邮件(email)应用、短消息服务(SMS)应用、多媒体消息服务(MMS)应用、社交网络系统(SNS)应用,等等。可以理解,各实施例不限于此,并且消息应用542-k可包括根据所描述的实施例的任何其他类型的消息收发或通信应用。还要理解,计算设备510-j可各自实现除根据所描述的实施例的消息应用542-k之外的其他类型的应用。
如图5所示,例如,计算设备510-1、510-2实现各自的消息应用542-1、542-2。消息应用542-1、542-2一般可用于为计算设备510-1、510-2生成、发送、接收、更新、修改和以其他方式管理消息。可以明白,针对在此描述的计算设备510-1及其消息应用542-1所示出的实现细节还适用于计算设备510-2及其相应的消息应用542-2。
在一个实施例中,消息应用542-1、542-2被实现成独立的基于客户端的应用,由计算设备510-1、510-2提供的诸如计算设备510-1的处理器502和存储器504等本地资源来存储和执行,而非在网络设备上实现并可由计算设备510-1、510-2经由web浏览器访问的基于网络的消息应用。在一个实施例中,消息应用542-1、542-2可包括适用于分布式处理并且部分地在计算设备510-1、510-2的本地资源上执行且部分地在网络资源上执行的分布式应用。作为补充或替换,消息应用542-1、542-2可包括实现在网络设备上并由计算设备510-1、510-2经由web浏览器访问的基于网络的消息应用。各实施例不限于该上下文。
在一个实施例中,例如,消息应用542-1可被安排成通过传输512-2来传递信息516。通过传输512-2传递时,消息516可包括剪辑画面120和/或一个或多个内容文件104-c的一个或多个嵌入的链接518-n、和/或剪辑画面120。一个或多个嵌入的链接518-n可包括例如对如存储在网络存储服务器550上并可由消息发送者或消息接收者访问的剪辑画面120和/或一个或多个内容文件104-c的引用。
链接518-n中的每一个可包括用户可以直接跟随的或由程序自动跟随的、对所存储的剪辑画面120和内容文件104-c的引用或指针。引用是对设备(例如,文件服务器)的存储器中的其他位置处的所指事物(例如,所存储的剪辑画面120和内容文件104-c,如对象、文件、数据项等等)进行引用的数据类型,并且被用来访问该所指事物。一般而言,引用是使程序能够直接访问该所指事物的值。所指事物可被存储在与引用相同的设备上或与引用不同的设备上。大多数编程语言支持某种形式的引用。链接518-n的示例可包括但不限于超文本和超链接,如万维网(WWW)所使用的那些。超文本是具有超链接的文本。超链接通常包括锚,锚是消息内的可从中跟随该超链接的位置。超链接的目标是该超链接通向的所存储的剪辑画面120和/或内容文件104-c。在其锚被示出时,通过以某种方式激活它,如通过触摸它(例如,使用触摸屏显示器)或用定点设备(例如,鼠标)点击它,用户可以跟随该链接。当链接518-n被激活时,其目标经由web浏览器或应用程序显示。
如前所述,剪辑画面应用140可通过将剪辑画面120和相关联内容文件104-c发布至网络存储服务器550的远程数据存储212来使用发布模型和消息收发模型的混合,接收剪辑画面120和相关联内容文件104-c的网络版本的链接518-n,并发送带有所述链接518-n的消息516。此外,内容消费者可选择剪辑画面120的磁贴对象126-e以查看与所选磁贴对象126-e相关联的内容文件104-c的网络版本。可参考图6更详细地描述此混合模型。
图6示出消息收发系统600的消息流的一实施例。如图6所示,发布组件532可向网络服务652发布剪辑画面120和相关联内容文件104-c。发布组件532可如箭头602所指示地经由传输512-1向网络存储服务器550发送剪辑画面120和相关联的内容文件104-c。作为高速传输,传输512-1可具有足够的带宽来传输通常与内容文件104-c相关联的较大文件大小(相对于例如消息516的消息大小)。
网络存储服务器550可接收剪辑画面120和相关联的内容文件104-c,并且将它们储存在远程数据存储212中。网络存储服务器550然后可如箭头604所指示的发送到如储存在远程数据存储212中的剪辑画面120和内容文件104-c的链接518-n。
发布组件532可接收链接518-n,并将这些链接转发给制作组件110。制作组件110可使链接518-n与各个磁贴对象126-e相关联,并用这些关联来更新剪辑画面120,以使内容消费者能选择磁贴对象126-e并访问来自远程数据存储212的相关联内容文件104-c,以便更深入地查看内容文件104-c。
在一个实施例中,根据发布模型,制作组件110可将经更新的剪辑画面120发送至发布组件532。发布组件532然后可在网络服务652上发布经更新的剪辑画面120和链接518-n,如箭头606所指示的。例如,网络服务652可包括社交网络服务(SNS),并且与内容产生者具有限定关系(例如朋友)的内容消费者可经由所发布的链接518-n访问剪辑画面120和相关联的内容文件104-c。在另一示例中,网络服务652可向内容产生者提供帐户,该帐户可根据网络服务652和/或安全组件536的许可集合来被启用,以供内容消费者查看。内容消费者可经由计算设备510-2访问网络服务652,经由web浏览器选择到剪辑画面120的文件的链接518-n,从远程数据存储212请求剪辑画面120,如箭头610所指示的。网络服务652可接收请求,并将剪辑画面120发送至计算设备510-2,如箭头612所指示的。计算设备510-2可将剪辑画面120呈现为其中磁贴对象126-e处于呈现磁贴124-a中的呈现表面122的用户界面视图。计算设备510-2可生成用户界面视图作为web浏览器的网页,或者作为诸如剪辑画面应用140或设计成查看剪辑画面120的剪辑画面查看器的应用程序的用户界面视图。
在一个实施例中,根据消息收发模型,制作组件110可将经更新的剪辑画面120和链接518-n转发至消息组件534(或消息应用542-1)。消息组件534可接收链接518-n和消息内容620作为输入。消息内容620可包括来自内容产生者的消息。消息组件534可生成具有消息内容620和链接518-n的消息516。附加或替代地,取决于消息传输512-2上的文件大小限制和可用带宽,消息516可任选地包括剪辑画面120和/或特定内容文件104-c。剪辑画面120可包括剪辑画面120的全保真度版本、或更适合传输512-2的可用带宽的剪辑画面120的低保真度版本,诸如剪辑画面120的缩略图版本。
消息组件534可通过传输512-2经由消息服务器540将消息516发送给计算设备510-2的消息应用542-2,如箭头608所指示的。内容消费者可打开消息516,选择到剪辑画面120的链接518-n,以及向远程数据存储212请求剪辑画面120,如箭头610所指示的。网络服务652可接收请求,以及将剪辑画面120发送至计算设备510-2,如箭头612所指示的。计算设备510-2可将剪辑画面120呈现为其中磁贴对象126-e处于呈现磁贴124-a中的呈现表面122的用户界面视图。计算设备510-2可生成用户界面视图作为web浏览器的网页,或者作为诸如剪辑画面应用140或设计成查看剪辑画面120的剪辑画面查看器的应用程序的用户界面视图。
图7A示出示例性消息516的用户界面视图700的一实施例。如参照图6所述,内容产生者可使用剪辑画面应用140和/或消息收发应用542-1来生成并发送具有剪辑画面120或对剪辑画面120的引用的消息516。内容消费者可经由计算设备510-2和消息收发应用542-2接收消息516。用户界面视图700提供实现为电子邮件消息的消息516的示例。
消息516可包括功能区栏702,其具有用于电子邮件的各个命令元素,诸如“答复”按钮、“全部答复”按钮、“转发”按钮、“删除”按钮、“移动到文件夹”按钮、以及“创建规则”按钮等。消息516可进一步包括具有寻址信息的地址栏704以及消息主体706。消息主体706可包括具有剪辑画面文件缩略图720以及到如储存在远程数据存储212中的剪辑画面120的链接518-1的表面。剪辑画面文件缩略图720可包括剪辑画面120的低保真度版本。
内容消费者可使用诸如定点设备710等输入设备来选择剪辑画面缩略图720。内容消费者还可使用诸如触摸屏显示器上的手势712等输入设备选择题为“学生班级旅行”的链接518-1。在这两个情形中,该选择开启web浏览器或应用程序来查看剪辑画面120。
图7B示出从消息516发起时剪辑画面120的用户界面视图740的一实施例。取决于计算设备510-2的给定实现,计算设备510-2可生成用户界面视图740作为web浏览器的网页,或者作为诸如剪辑画面应用140或专门设计成查看剪辑画面120的剪辑画面查看器730的应用程序的用户界面视图。例如,为计算设备510-2实现的剪辑画面应用140的呈现组件130和/或剪辑画面查看器730可接收用于打开剪辑画面120的控制指示,并发起从远程数据存储212检索剪辑画面120的操作。呈现组件130和/或剪辑画面查看器730可呈现剪辑画面120的用户界面视图740,包括其中磁贴对象126-e处于适当呈现磁贴124-a中的呈现表面122。
当呈现为网页时,呈现组件130可使用为网页专门设计的代码,诸如超文本标记语言(HTML)或类似代码。然而,HTML代码可能受客户端设备510-2实现的给定类型的web浏览器限制。当呈现为剪辑画面查看器730的用户界面视图时,呈现组件130和/或剪辑画面查看器730可使用针对剪辑画面查看器730来优化的代码。例如,剪辑画面120可使用网页的HTML代码生成,其中可扩展标记语言(XML)代码嵌入在HTML代码内。XML代码可用为剪辑画面应用140或剪辑画面查看器730专门设计的数据模式生成。这样,相对于用于网页的剪辑画面120的较低保真度版本,剪辑画面应用140或剪辑画面查看器730可呈现剪辑画面120的更高保真度版本。
图7C示出如呈现在剪辑画面查看器730中的剪辑画面120的示例的用户界面视图750的一实施例。如参照图7B所述,剪辑画面查看器730可呈现剪辑画面120的用户界面视图740,包括其中磁贴对象126-e处于适当的呈现磁贴124-a中的呈现表面122。假设呈现表面122包括如参照图4所述的内容文件104-1的磁贴对象126-1。
内容消费者可使用诸如定点设备710等输入设备来选择磁贴对象126-1。为计算设备510-2实现的剪辑画面应用140的呈现组件130和/或剪辑画面查看器730接收用于选择磁贴对象126-1的控制指示,以及从远程数据存储212检索磁贴对象126-1的内容文件104-1。
图7D示出从剪辑画面120发起时内容文件104-1的用户界面视图760的一实施例。呈现组件130和/或剪辑画面查看器730可呈现具有从远程数据存储212检索的内容文件104-1的全保真度版本的用户界面视图760。替代地,内容文件104-1可使用与用来生成内容文件104-1的应用程序相似的固有应用程序、或为这种应用程序专门设计的查看器来呈现。各实施例不限于该上下文。
在各个实施例中,呈现组件130可动态地生成剪辑画面120以供在具有诸如不同大小、分辨率、刷新速率、背光、功耗等不同属性的显示器上查看。在这种情形中,呈现组件130可被安排成检测显示器的显示属性,并修改剪辑画面120以供在显示器上呈现。例如,当在具有如许多会议室中有的带触摸控件的大显示幕墙上呈现时,呈现组件130可生成具有更多数量的呈现磁贴124-a和磁贴对象126-e的大得多的版本的剪辑画面120。同时,当在智能电话上呈现时,呈现组件130可生成具有更少数量的呈现磁贴124-a和磁贴对象126-e的较小版本的剪辑画面120。同样,基于给定显示器的屏幕分辨率或像素大小,呈现组件130可生成具有不同保真度水平的剪辑画面120。在另一示例中,当处于纵向模式时呈现组件130可生成剪辑画面120的一个版本,而当处于横向模式时(诸如当用户旋转智能电话或平板时)则可生成剪辑画面120的另一个版本。各实施例不限于该上下文。
上述实施例的操作可参考一个或多个逻辑流程来进一步描述。可以理解,除非另外指明,否则代表性的逻辑流程不一定要按所呈现的次序或者按任何特定次序来执行。此外,关于逻辑流程描述的各种活动可按串行或并行的方式执行。视给定一组设计和性能约束所需,逻辑流程可使用所述实施例的一个或多个硬件元件和/或软件元件或替代元件来实现。例如,逻辑流程可被实现为供逻辑设备(例如,通用或专用计算机)执行的逻辑(例如,计算机程序指令)。
图8示出逻辑流程800的一个实施例。逻辑流程800可代表由在此所描述的一个或多个实施例(诸如剪辑画面应用140的制作组件110)执行的操作中的部分或全部。
在图8示出的所示实施例中,在框802,逻辑流程800可提供具有多个呈现磁贴的呈现表面。例如,制作组件110可经由用户界面538提供具有多个呈现磁贴124-a的呈现表面122。呈现表面122可从多个剪辑画面模板中选择,或者可由内容产生者自定义设计。
在框804,逻辑流程800可接收用于使内容文件与呈现磁贴相关联的控制指示。例如,制作组件110可接收用于使内容文件104-c与呈现磁贴124-a相关联的控制指示102-b。该控制指示102-b可来自输入设备,表示内容产生者的命令。
在框806,逻辑流程800可标识内容文件的内容文件类型。例如,制作组件110可标识内容文件104-c的内容文件类型。通过检查内容文件104-c的文件扩展、内容文件104-c的元数据、对内容文件104-c内的信息的分析、用来产生内容文件104-c的应用程序的信息等等,可执行标识。
在框808,逻辑流程800可基于内容文件类型从内容文件中检索内容的一部分。例如,制作组件110可基于该内容文件类型选择类型模块202-g,以及使用所选类型模块202-g根据与针对内容文件104-c发现的内容文件类型相关联的类型定义204-h来从内容文件104-c中检索适当的内容部分106-d。在一个实施例中,内容文件104-c可被储存在本地数据存储210中,并且使用文件导航工具304通过数据总线来检索内容部分106-d。在一个实施例中,内容文件104-c可被储存在远程数据存储212中,并且使用文件导航工具304通过网络来检索内容部分106-d。
在框810,逻辑流程800可基于所述内容部分生成磁贴对象。例如,制作组件110可使用所选类型模块202-g来根据相关联的类型定义204-h从检索到的内容部分106-d生成磁贴对象126-e。磁贴对象126-e可在呈现磁贴124-a内呈现。磁贴对象126-e被设计成呈现关于底层内容文件104-c的充足信息以允许内容消费者确定他或她是否想要查看内容文件104-c的全保真度视图。
在框812,逻辑流程800可将呈现表面和磁贴对象储存为剪辑画面。例如,制作组件110可将呈现表面122和任何磁贴对象126-e储存为剪辑画面120。剪辑画面120然后可由各个内容消费者使用例如消息收发系统500分发、发布和消费。
图9示出逻辑流程900的一个实施例。逻辑流程900可表示由在此所描述的一个或多个实施例(诸如剪辑画面应用140的呈现组件130)所执行的操作中的部分或全部。
在图9所示的例示实施例中,在框902,逻辑流程900可生成包括具有多个呈现磁贴的呈现表面的剪辑画面,每个呈现磁贴具有对应内容文件的磁贴对象。例如,呈现组件130可生成包括具有多个呈现磁贴124-a的呈现表面122的剪辑画面120,每个呈现磁贴124-a具有对应内容文件104-c的磁贴对象126-e。
在框904,逻辑流程900可将剪辑画面和内容文件发送至网络服务。例如,剪辑画面应用140的发布组件532可将剪辑画面120和相关联的内容文件104-c发送至网络存储服务器550,以供可经由网络服务652访问的远程数据存储212储存。
在框906,逻辑流程900可接收对剪辑画面和各个内容文件的引用。例如,发布组件532可接收到剪辑画面120和各个内容文件104-c的链接518-n。链接518-n可包括对如储存在远程数据存储212上的剪辑画面120和各个内容文件104-c的网络版本的引用或指针。
在框908,逻辑流程900可使内容文件的引用与相对应的磁贴对象相关联。例如,发布组件532可将所接收到的链接518-n传递给制作组件110。制作组件110可使内容文件104-c的链接518-n与相对应的磁贴对象126-e相关联。当内容消费者选择磁贴对象126-e时,呈现组件130可经由相关联的链接518-n检索与磁贴对象126-e相关联的内容文件104-c。
图10示出剪辑画面应用1000的一实施例。剪辑画面应用1000可以是剪辑画面应用140的代表性示例。除了前面针对剪辑画面应用140所描述的功能中的一些或全部以外,剪辑画面应用1000还可包括一个或多个组件或模块来提供此处描述的功能。例如,在一实施例中,剪辑画面应用1000可包括呈现组件1010和制作组件1020,它们分别可以是呈现组件352和制作组件110的代表性示例。各实施例不限于图10中示出的组件的类型、数量或布置。
作为背景,剪辑画面应用可具有如由例如剪辑画面设计者在剪辑画面文件中所指定的原始布局。剪辑画面可包括一个或多个有序磁贴。每个磁贴的大小被定义。其次序可反映例如各磁贴在该剪辑画面中被创建的次序、各磁贴被放入该剪辑画面中的次序、或由制作组件1020根据该剪辑画面中的一位置所分配的次序。呈现表面可包括若干维度,例如,由平移方向所定义的维度(例如,水平)以及垂直于平移方向的维度(例如,竖直)。在一实施例中,垂直于平移方向的维度在大小上可以是固定的,并且可以不是可平移的。垂直于平移方向的维度在此处可被称为“固定维度”。在两个维度中,呈现表面可包括列和行构成的网格。网格上剪辑画面磁贴的位置被定义。剪辑画面磁贴可具有相对于该排序中的前一磁贴的空间特征。在一两维系统中,例如,可以有第一方向、第二方向和第三方向。例如,在具有水平平移方向的剪辑画面中,如果一磁贴在前一磁贴下方,则该磁贴可相对于该前一磁贴具有第一方向“下”的空间特征。其他空间特征可包括当该磁贴在其前一磁贴右侧时的第二方向“右”,以及当该磁贴在其前一磁贴上方且在右侧时的第三方向“上和右”。各实施例不限于该示例。
呈现组件1010可接收剪辑画面以在呈现表面上显示。呈现组件1010可确定剪辑画面在其原始布局中是否将以所述固定维度适合放在可用显示上。当该剪辑画面将不适合时,呈现组件1010可缩放磁贴,按照保留所述磁贴相对于彼此的空间特征的方式将磁贴在可用显示上重新定位,或者执行缩放和重新定位的某种组合。
呈现组件1010本身可包括一个或多个组件或模块来提供上面描述的功能。例如,在一实施例中,呈现组件1010可包括磁贴reflow模块1012和磁贴平衡模块1014。呈现组件1010还可包括呈现表面规范1016。呈现表面规范1016可包括呈现表面(例如,呈现表面122)的维度。呈现表面规范1016可包括在设计剪辑画面的原始布局时使用的呈现表面的维度。呈现表面规范1016也可包括或者改为包括其中要显示剪辑画面的、可能与原始呈现表面不同的呈现表面的维度。
当剪辑画面磁贴需要被重新定位(在此处也称为“reflow”的操作)时,磁贴reflow模块1012可确定磁贴在剪辑画面中的空间特征。磁贴reflow模块1012可重新分布磁贴,以使得它们适合放入固定维度中,同时尽可能多地保持磁贴的空间特征。reflow因此可保留一个维度中的平移。例如,如果“下”磁贴不能适合放在其前一磁贴下方,则磁贴reflow模块1012可将该磁贴移动到该前一磁贴右侧的下一可用列的顶部。参考图16进一步描述了其他示例。
一旦所有磁贴均已被reflow之后,磁贴平衡模块1014可移除空白列或空白行,并且在该固定维度中重新分布磁贴以平衡这些磁贴上方和下方之间的空白空间。
除了先前描述的其他功能外,制作组件1020还可包括移除reflow组件1022,该移除reflow组件在一个或多个磁贴被添加或删除时自动地重新定位剪辑画面中的磁贴。reflow操作可最小化剪辑画面中的呈现表面上的未使用空间。移除reflow模块1022可将剩余的磁贴“推”到被删除的磁贴所留下的空白空间中,同时保留这些剩余磁贴的空间特征。下面参考图19描述了移除reflow操作的一示例。
图11示出具有原始剪辑画面1110的呈现表面1102的一示例1100。呈现表面1102可包括视区(viewport)1104,该视区对应于呈现该剪辑画面的用户界面窗口或显示器的维度。呈现表面1102还具有平移方向1106。尽管此处所描绘和描述的示例使用水平平移方向和竖直固定维度,但所描述的操作可类似地被应用到具有竖直平移方向和水平固定维度的呈现表面。呈现表面1102具有7个网格块的固定维度和12个网格块(gridblock)的平移方向维度。呈现表面1102可包括在其外周处的未使用块的“槽(gutter)”,例如以在触摸界面上提供平移区域以供用户平移而不会无意中选择呈现磁贴。
剪辑画面1110可包括10个呈现磁贴1110-1到1110-10,在此处将其简称为磁贴1到10。磁贴1-10具有以下空间特征。
磁贴1是第一磁贴并且位于呈现表面的原点处。尽管呈现表面1102的原点在左上方,其他呈现表面可具有在其他角落的原点。磁贴1不具有空间特征。
磁贴2是从磁贴1向“下”。
磁贴3是从磁贴2向“下”。
磁贴4是从磁贴3向“下”。
磁贴5是从磁贴4向“上且右”。
磁贴6是从磁贴5向“下”。
磁贴7是从磁贴6向“右”。
磁贴8是从磁贴7向“上且右”。
磁贴9是从磁贴8向“下”。
磁贴10是从磁贴9向“下”。
在一实施例中,空间特征“右”以及“上且右”可包括偏移,所述偏移指示该磁贴的最左侧(起始)边缘距离前一磁贴的起始边缘向右多少个网格块。例如,磁贴5是从磁贴4偏移两个网格块,磁贴7是从磁贴6偏移两个网格块,而磁贴8是从磁贴7偏移两个网格块。
图12示出呈现表面1202的示例1200,呈现表面1202与呈现表面1102具有不同的维度。特别而言,呈现表面1202具有6个网格块的固定维度。呈现表面1202具有视区1204,该视区反映呈现表面1202的固定维度。示例1200示出了如果剪辑画面1110要以其原始布局显示在呈现表面1202上时所可能发生的。磁贴3、4和10的下半部被切掉并且不可查看,这可能不是期望的结果。在某些实施例中,呈现组件1010可能能够缩放磁贴来使它们适合放入更小的呈现表面。然而,在某些情况下,缩放磁贴来适合可能导致文本和图像太小而不能阅读或观看。在这些情况下,可能期望reflow磁贴。
图13示出在剪辑画面1110已被reflow之后(例如,被磁贴reflow模块1012reflow)呈现表面1302的示例1300。呈现表面1302具有6个网格块的固定维度。呈现表面1302具有视区1304,该视区反映呈现表面1302的固定维度。在图16中描述了执行reflow的示例方法。
简言之,磁贴2从磁贴1向下,并且适合放入磁贴1下方的空间中。磁贴3从磁贴2向下,但是不适合。磁贴3因此被放置在磁贴2右侧的下一可用空间中,所述下一可用空间在磁贴1的右侧。磁贴4从磁贴3向右,并且被放置到磁贴3的右侧。磁贴5从磁贴4向“上且右”,并且偏移2。磁贴5与磁贴4对齐并且从磁贴4的起始边缘向右移动其偏移量,但是因为那个位置会使得它与磁贴4重叠,所以磁贴5则被移动到磁贴4下方。磁贴6从磁贴5往下,但是不适合放在下方。磁贴6因此被放置在磁贴5右侧的下一可用空间中,所述下一可用空间挨着磁贴4并且在磁贴4的右侧。磁贴7从磁贴6向右,并且被放置到磁贴6的右侧。磁贴8从磁贴7向“上且右”,并且偏移2。磁贴8与磁贴7的起始边缘对齐并且从磁贴7的起始边缘向右移动。磁贴8在那个位置不与磁贴7重叠,并且被放置在那里。磁贴9从磁贴8向下,适合放入磁贴8下方并且被放置在那里。磁贴10从磁贴9向下,但是不适合,并且因此被放置在磁贴9右侧的下一可用空间中,所述下一可用空间挨着磁贴8并且从磁贴8往右。在一实施例中,保留与平移方向相关的空间特征可比在固定方向装填更优先。因此,示例1300在竖直维度不被紧密地装填来最小化空白空间,而是反而保留尽可能多的“右”和“上且右”空间特征。
图14A示出了在被例如磁贴平衡模块1014在呈现表面1302上平衡的过程中经reflow的剪辑画面1110的示例。磁贴平衡模块1014已移除了由reflow带来的第6个(底部的)空行,并且已调整了顶部和底部的水平槽。磁贴平衡模块1014可标识磁贴的邻接块。磁贴的邻接块可包括具有在第一水平坐标处的起始边缘的第一磁贴、以及具有在第一水平坐标或位于被第一磁贴横跨的水平坐标内的水平坐标处的起始边缘的所有第二磁贴、以及具有在先前被添加到该块的磁贴的水平坐标内的起始边缘的任何第三磁贴。
例如,邻接块1402是从磁贴1形成的,磁贴1具有在水平坐标0处的起始边缘。磁贴2具有在该相同坐标处的起始边缘,并且被包括在块1402内。在磁贴1和磁贴2的跨度内不存在其他磁贴。块1404是从磁贴3形成的,磁贴3具有在水平坐标4处的起始边缘。在磁贴3的跨度内不存在其他磁贴。
块1406是从磁贴4形成的,磁贴4具有在水平坐标6处的起始边缘。注意,磁贴4横跨坐标6到10。磁贴5在磁贴4之下,并且具有在8处的起始边缘,该起始边缘在磁贴4的跨度内。磁贴5横跨坐标8到12。磁贴6具有在10处的起始边缘,该起始边缘在磁贴4的跨度外,但是在磁贴4加上磁贴5的块内,并且被包括在该块中。没有其他磁贴位于磁贴4、5和6的水平跨度内。
与块1404类似,块1408是从磁贴7形成的。
块1410是从磁贴8和9形成的,磁贴8和9具有在水平坐标13处的起始边缘,并且共同横跨坐标13到18。磁贴10具有在16处的起始边缘,该磁贴在13到18的跨度内并且被添加到该块。
图14B示出了在被例如磁贴平衡模块在呈现表面1302上平衡之后的经reflow的剪辑画面1110的示例。磁贴平衡模块1014已检查了每个邻接块,例如,块1402、1404、1406、1408和1410,并且核对这些块中的任何一个是否在该固定维度的一侧上比在另一侧上具有更多的空白空间。例如,块1404在磁贴3下方具有三行空白空间。当未被平衡的空白空间被标识时,磁贴平衡模块可通过将磁贴的邻接块移动成尽可能地位于该固定维度的中心来平衡该空白空间。如果存在偶数数量的空白空间或空白行,则可移动该组以使得在该组的上方和下方存在相等数量的行。如果存在奇数数量的空白行,则该组可被移动以使得上方的行的数量和下方的行的数量相差1。通过使块1404(即磁贴3)在其上方有1行而在其下方有2行来使其居中。在一实施例中,如果磁贴被放置在网格块的一小部分中,则可通过在固定维度上使在该组上方的空白空间等于在该组下方的空白空间来使该组居中。
图15示出用于reflow剪辑画面的逻辑流程1500的一实施例。逻辑流程1500可代表由在此所描述的一个或多个实施例(诸如剪辑画面应用140、1100的呈现组件532、1010)所执行的操作中的部分或全部。
在图15示出的所示实施例中,逻辑流程1500在框1502可接收剪辑画面以在呈现表面上显示。例如,剪辑画面应用140可在计算设备上从本地存储或从网络存储服务器接收剪辑画面。该剪辑画面可包括多个呈现磁贴和参考布局。呈现表面可包括网格、平移方向和固定维度。
逻辑流程1500可在框1504确定该呈现表面的固定维度是否小于参考布局的固定维度。例如,呈现组件1010可将呈现表面的固定维度中的网格块的数量与参考布局的固定维度中的网格块的数量进行比较。
如果在框1504该呈现表面的固定维度不小,则在框1508该剪辑画面可使用参考布局以其原始形式被显示。
在一实施例(未示出)中,如果呈现表面的固定尺度更小,则该剪辑画面可被缩放以适合。例如,如果磁贴和呈现表面可被缩小到不小于原始剪辑画面的一阈值百分比,例如,90%,则缩放可能就足够了,而不需要reflow。可影响缩放是否单独足够的其他因素可包括例如经缩放的磁贴根据一阈值不是太小的,或者磁贴上的文本仍旧适合放入该磁贴内和/或不是太小的。
如果在框1504处呈现表面的固定维度更小(而缩放不是可接受选项),则逻辑流程1500在框1506可修改磁贴在网格上的位置,同时保留磁贴与彼此的空间特征。图16和17描述了框1506的操作的示例。
逻辑流程1500随后可在框1508显示剪辑画面。如果在框1506已reflow剪辑画面,则该显示将使用剪辑画面的经reflow的布局。
图16示出用于在reflow剪辑画面时确定磁贴放置的逻辑流程1600的一实施例。逻辑流程1600可代表由在此所描述的一个或多个实施例(诸如呈现组件1010的磁贴reflow模块1012)所执行的操作中的部分或全部。逻辑流程1600可代表来自逻辑流程1500的框1506的操作中的一些或全部。逻辑流程1600可联系图11和图13中的示例为说明性目的来描述,但不受这些示例限制。为了以下讨论,假定了固定的竖直维度和水平的平移方向;然而,逻辑流程1600可对于固定的水平维度和竖直的平移方向来类似地执行。
在图16所示出的例示实施例中,逻辑流程1600在框1602可以更新网格维度。例如,呈现组件1010可根据在逻辑流程1500的框1504中做出的确定来更新呈现表面的固定维度。参考图11和13的示例,固定维度可从7行被更新到6行。
逻辑流程1600在框1604中可选择第一磁贴并将其放入呈现表面的左上角位置。例如,磁贴1被放置成其左上角在列0、行0处的网格块中。
在框1606中,逻辑流程1600可确定是否有更多磁贴要放置。如果没有更多磁贴要放置,则逻辑流程1600可在框1626前进到图17中的框1702。替代地,逻辑例程1600可终止。
当有更多磁贴要放置时,逻辑流程1600在框1608可选择下一磁贴并确定相对于前一磁贴的空间特征。例如,磁贴reflow模块1012可选择下一顺序的磁贴(例如磁贴2),并且从剪辑画面中的参考布局中查找其相对于磁贴1的空间特征,例如,“下”。
取决于空间特征,可遵循来自决策块1610的不同放置规则。
当空间特征是“右”时,逻辑流程1600在框1612可将该磁贴毗邻前一磁贴并在该前一磁贴右侧放置。
当空间特征为“下”时,逻辑流程1600在框1614可确定在前一磁贴下方是否有足够空间来放置当前磁贴。例如,磁贴reflow模块1012可将该磁贴的竖直维度与前一磁贴的底部边缘下方的空白行的数量进行比较。当该磁贴的竖直维度超出可用行的数量时,逻辑流程1600在框1616可将该磁贴放入前一磁贴右侧的第一个可用列中的顶部行中。例如,该磁贴的起始(左侧)边缘可被放置在该列中,其中左上角被放入该顶部行中。在此上下文中术语“可用”是指其中没有放入磁贴而且具有足够多的毗邻空列(或行)空间来容纳该磁贴的列(或行)。
当在前一磁贴下方有空间时,逻辑流程1600在框1618可将该磁贴放在该前一磁贴下方。为了逻辑流程1600的目的,“下”磁贴具有偏移0。在一实施例中,该前一和当前磁贴的起始边缘可被对齐。从各个示例中,磁贴2具有竖直维度3,而磁贴1在其下方有4个空行。因此,从磁贴1向“下”的磁贴2可被放置在磁贴1下方,如图13中所见。
当空间特征是“上且右”时,逻辑流程1600在框1620可初始地将该磁贴从前一磁贴的起始边缘向右移动其偏移量。在一实施例中,该磁贴和该前一磁贴可在它们的顶部边缘上对齐。如果这些磁贴在此位置不重叠,则在框1622,逻辑流程1600可放置该磁贴。
如果在框1622这些磁贴重叠,则逻辑流程1600在框1614可确定在该前一磁贴下方是否有空间。如果有空间,逻辑流程1600在框1618可将该磁贴放在该前一磁贴下方,其中其起始边缘在该偏移位置处。
如果在框1614在该前一磁贴下方没有空间,则逻辑流程1600在框1616可将该磁贴放入该前一磁贴右侧的第一可用列中的顶部行中。
逻辑流程1600重复,直到所有磁贴均已被reflow为止。
关于图11和13示出了若干代表性示例,从在图13中磁贴1和2被放入的点开始。
磁贴3从磁贴2向“下”,所以逻辑流程1600在框1614确定在磁贴2下方没有空间来放置磁贴3。磁贴3被放置在磁贴2的右侧的下一可用列的顶部处,例如,挨着磁贴1。
磁贴4从磁贴3向“右”,所以逻辑流程1600在框1612将磁贴4毗邻磁贴3并在磁贴3的右侧放置。
磁贴5从磁贴4向“上且右”,其中偏移为2。逻辑流程1600在框1620将磁贴5从磁贴4的起始边缘向右移动两列。在框1622,逻辑流程1600确定磁贴5与磁贴4重叠。逻辑流程1600随后在框1614确定在磁贴4下方有空间,并在框1618将磁贴5放在磁贴4下方,但是在磁贴4的起始边缘右侧两列。
磁贴6从磁贴5向“下”,所以逻辑流程1600在框1614确定在磁贴5下方没有空间,并在框1616将磁贴6放置在磁贴5右侧的下一可用列的顶部,例如,挨着磁贴4。
磁贴7从磁贴6向“右”,所以逻辑流程1600在框1612将磁贴7毗邻磁贴6并在磁贴6的右侧放置。
磁贴8从磁贴7向“上且右”,其中偏移为2。逻辑流程1600在框1620将磁贴8从磁贴7的起始边缘向右移动两列。在框1622,逻辑流程1600确定磁贴8不与磁贴7重叠,并在框1624将磁贴8挨着磁贴7放置。
磁贴9和磁贴10分别以类似于磁贴2和磁贴3的方式被放置。
逻辑流程1600是reflow放置技术的一个实施例。可采用其他技术而不背离各实施例的精神。例如,可使用不同的空间特征定义,或者为相同的空间特征定义使用不同的定位规则。
图17示出用于平衡剪辑画面的逻辑流程1700的一实施例。逻辑流程1700可代表由在此所描述的一个或多个实施例(诸如呈现组件1010的磁贴平衡模块1014)所执行的操作中的部分或全部。逻辑流程1700可代表来自逻辑流程1500的框1506的操作中的一些或全部。逻辑流程1700可联系图14A和图14B中的示例为说明性目的来描述,但不受这些示例限制。为了以下讨论,假定了固定的竖直维度和水平的平移方向;然而,逻辑流程1700可对于固定的水平维度和竖直的平移方向来类似地被执行。
在图17示出的所示实施例中,逻辑流程1700在框1702可移除任何空的行和列。例如,磁贴平衡模块1014可移除图13中所示的磁贴2、5和9下方的行。在一实施例中,可调整剩余磁贴上方和下方的槽。呈现表面1302可相对于视区1304移位,导致图14A。
逻辑流程1700在框1704可标识磁贴的邻接组。磁贴的邻接块包括具有在第一水平坐标处的起始边缘的第一磁贴、具有在第一水平坐标处或位于被第一磁贴横跨的水平坐标内的水平坐标处的起始边缘的所有第二磁贴、以及具有在先前被添加到该块的磁贴的水平坐标内的起始边缘的任何磁贴。在图14A中,磁贴1和磁贴2形成磁贴的邻接组,因为它们的起始边缘具有相同的水平坐标。在磁贴1和/或2的水平跨度内没有其他磁贴。
逻辑流程1700可确定该组在垂直于平移方向上(例如,在固定维度中)是否居中。在此上下文中,“居中”可包括在该组的上方和下方具有相等数量的网格块的磁贴。“居中”还可包括其中该组上方的网格块的数量与在该组的下方的网格块的数量相差1的磁贴。例如,如果有三个空白的网格块行,如果一组在上方有一行,而在下方有两行,则该组可以是居中的。在图14A中,组1402已经被居中,因为没有空行。
逻辑流程1700可检查在框1710中是否有更多磁贴,并且如果有,则在框1704可标识另一组邻接磁贴。
当在框1706磁贴组没有居中时,逻辑流程1700可在固定维度中使该组居中。例如,磁贴平衡模块1014可标识图14A中由磁贴3组成的组1404。磁贴3没有居中,因为它上方没有行,而在下方有三行。磁贴平衡模块1014可将磁贴3向下移动一行或两行来使其居中,如在图14B中所示。
当没有更多块要重新平衡时,逻辑流程1700终止于块1712。
图18A示出其中磁贴1已被删除的剪辑画面1110的一示例。图18B示出在磁贴移除后已被reflow的剪辑画面1110的一示例。结合图19中的逻辑流程19描述了图18A和图18B。
图19示出用于在磁贴被移除后reflow剪辑画面的逻辑流程1900的一实施例。逻辑流程1900可代表由在此所描述的一个或多个实施例(诸如呈现组件1010的移除reflow模块1022)所执行的操作中的部分或全部。逻辑流程1700可联系图18A和图18B中的示例为说明性目的来描述,但不受这些示例限制。为了以下讨论,假定了固定的竖直维度和水平的平移方向;然而,逻辑流程1900可对于固定的水平维度和竖直的平移方向来类似地被执行。逻辑流程1900可在当剪辑画面中添加呈现磁贴产生可被reflow操作最小化的空白空间时被类似地执行。
在图19示出的所示实施例中,逻辑流程1900在框1902可从剪辑画面删除磁贴。例如,制作组件1020可从用户接收从剪辑画面1110删除磁贴1的删除命令并且可删除该磁贴,从而在该剪辑画面中留下空白空间。
逻辑流程1900在框1904可根据所删除的磁贴的宽度指定第一通道宽度。例如,移除reflow模块1022可将通道1802指定为在所删除的磁贴的起始边缘的水平坐标和所删除的磁贴的结尾(右侧)边缘的水平坐标之间。
逻辑流程1900可在框1906从该通道的右侧边缘扫描,直到遇到结尾边缘为止。例如,移除reflow模块1022可从第一通道的右侧边缘向右扫描,直到遇到结尾边缘。在一实施例中,该扫描可类似于针对图17中的框1704所描述的磁贴的邻接块的标识来进行,其中该扫描将在该邻接组中的磁贴的最右结尾边缘处终止。在图18A中,此下一所遇到的结尾边缘包括磁贴5和7的结尾边缘。
逻辑流程1900在框1908可从在该扫描中遇到的磁贴的最大宽度来指定下一通道的宽度。例如,通道1804可由通道1802的右侧边缘以及磁贴5的结尾边缘定义。通道1804中的磁贴的最大宽度是磁贴5的水平维度,其对应于磁贴6和磁贴7的组合的水平维度。
逻辑流程1900在框1910可确定在刚刚定义的通道的右侧是否有更多磁贴。在图18A中,有更多磁贴,而重复框1906和1908以定义通道1806。通道1806具有由磁贴8、9和10的最大宽度所定义的宽度。
一旦在右侧没有更多磁贴,则在框1910,逻辑流程1900可从左到右为每个通道分配“流(current)”。每个通道中的流与相邻通道中的流方向相反。该流可沿着固定维度被定向。例如,移除reflow模块1022可分配“上”流,如指向通道1802的箭头1810所示。通道1804可被分配“下”流1812,而通道1806可被分配“上”流1814。流可指示该通道中的磁贴在进行reflow过程时将“流动”的方向。
逻辑流程1900可随后,依序对每个磁贴(框1914),在框1916在通道流中将磁贴尽可能远地移动。例如,移除reflow模块1022可将磁贴2在“上”方向上移动到先前被磁贴1占据的空间中。在此上下文中,“尽可能远”可指示将该磁贴移动到具有可容纳该磁贴的维度的“下游”空白空间。注意,在某些实施例中,可推一磁贴越过该通道中的另一磁贴。
逻辑流程1900在框1918可将该磁贴在平移方向中超第一通道移动得尽可能远。在这一具有左右平移方向的上下文中,短语“尽可能远”可指示在该通道中将该磁贴向左移动到具有能容纳该磁贴的维度的空白空间中。此外,如果在该通道的进入点处在左侧的相邻通道中有足够的空白空间,则可将该磁贴移动到该空间中。“上”通道的进入点可以是该通道的底部,而“下”通道的进入点可以是该通道的顶部。在图18B中,磁贴2已经在平移方向上尽可能远并且在左侧不具有相邻通道。
逻辑流程1900在框1920中可确定是否具有该磁贴可被移动到其中的更多的空白空间。例如,如果该磁贴已移动到相邻通道的进入点,则逻辑流程1900可确定是否具有该磁贴可被移动到其中的下游空白空间。
当在框1920没有更多空间来移动磁贴时,逻辑流程1900可选择下一顺序磁贴,从而返回循环入口1914,或在所有磁贴均已被选择时,逻辑流程可在框1922结束。
继续图18A和图18B中示出的示例的讨论,一旦磁贴2被移动,在框1914中选择磁贴3。现在磁贴3上方有三个空白行,而磁贴3可在通道流中向上移动到那些空白行中,如图18B中所示。磁贴3已经在平移方向上尽可能远,并且没有更多空间来移动,所以逻辑流程1900选择磁贴4。
磁贴4具有上方有空白行的两列,但是该空间不足以使磁贴4在框1916中向上移动。然而,现在在磁贴4的左侧有两列,并且磁贴4可在框1918中在平移方向上移动得尽可能远,从而将磁贴4置于磁贴3之下。
磁贴5、6和7不具有它们能移动进去的任何空白空间,但是当磁贴4被移动时,在磁贴6和磁贴7下方产生了4列宽2行高的空白空间。
磁贴8不再能在通道1806中在该通道方向上移动得更远,但是在框1918它能在磁贴6和7之下在平移方向上移动。
磁贴9随后可在通道1806中向上移动,然后是磁贴10,逻辑流程1900于该点结束。
磁贴在被添加或删除时的自动reflow可节省必需人工将每个磁贴移动到所导致的空白空间的用户时间。
图20示出适用于实现上述各实施例的示例性计算架构2000的实施例。计算架构2000包括各种常见计算元件,如一个或多个处理器、协同处理器、存储器单元、芯片组、控制器、外围设备、接口、振荡器、定时设备、视频卡、音频卡、多媒体输入/输出(I/O)组件,等等。然而,各实施例不限于由计算架构2000来实现。
如图20所示,计算架构2000包括处理单元2004、系统存储器2006以及系统总线2008。处理单元2004可以是可购得的各种处理器中的任一种。双微处理器和其它多处理器架构也可用作处理单元2004。系统总线2008向包括但不限于系统存储器2006的各系统组件提供到处理单元2004的接口。系统总线2008可以是若干种总线结构中的任一种,这些总线结构还可互连到存储器总线(带有或没有存储器控制器)、外围总线、以及使用各类市场上可购买到的总线架构中的任一种的局部总线。
例如,系统存储器2006可以包括各种类型的存储器单元,如只读存储器(ROM)、随机存取存储器(RAM)、动态RAM(DRAM)、双倍数据率DRAM(DDRAM)、同步DRAM(SDRAM)、静态RAM(SRAM)、可编程ROM(PROM)、可擦除可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)、闪存、诸如铁电聚合物存储器等聚合物存储器、奥氏存储器、相变或铁电存储器、硅-氧化物-氮化物-氧化物-硅(SONOS)存储器、磁卡或光卡、或适于存储信息的任何其他类型的介质。在图20示出的所示实施方式中,系统存储器2006可包括非易失性存储器2010和/或易失性存储器2012。基本输入/输出系统(BIOS)可以存储在非易失性存储器2010中。
计算机2002可包括各种类型的计算机可读存储介质,包括内置硬盘驱动器(HDD)2014、用于读写可移动磁盘2018的磁软盘驱动器(FDD)2016、以及用于读写可移动光盘2022(例如,CD-ROM或DVD)的光盘驱动器2020。HDD2014、FDD2016、以及光盘驱动器2020可分别由HDD接口2024、FDD接口2026和光盘驱动器接口2028连接到系统总线2008。用于外置驱动器实现的HDD接口2024可包括通用串行总线(USB)和IEEE1394接口技术中的至少一种或两者。
驱动器及相关联的计算机可读介质提供了对数据、数据结构、计算机可执行指令等的易失性和/或非易失性存储。例如,多个程序模块可存储在驱动器和存储器单元2010、2012中,包括操作系统2030、一个或多个应用程序2032、其他程序模块2034和程序数据2036。一个或多个应用程序2032、其他程序模块2034、以及程序数据2036可包括例如剪辑画面应用140、制作组件110、呈现组件130、安全组件536、发布组件532、消息组件534、用户界面538、以及消息收发应用542。
用户可以通过一个或多个有线/无线输入设备,例如键盘2038和诸如鼠标2040等定点设备将命令和信息输入到计算机2002中。其他输入设备可包括话筒、红外(IR)遥控器、操纵杆、游戏垫、指示笔、触摸屏等等。这些和其他输入设备通常通过耦合到系统总线2008的输入设备接口2042连接到处理单元2004,但也可通过诸如并行端口、IEEE1394串行端口、游戏端口、USB端口、IR接口等其他接口连接。
监视器2044或其他类型的显示设备也经由诸如视频适配器2046等接口连接到系统总线2008。除了监视器2044之外,计算机通常包括诸如扬声器、打印机等其他外围输出设备。
计算机2002可使用经由有线和/或无线通信至一个或多个远程计算机(诸如远程计算机2048)的逻辑连接在联网环境中操作。远程计算机2048可以是工作站、服务器计算机、路由器、个人计算机、便携式计算机、基于微处理器的娱乐设备、对等设备或其他常见的网络节点,并且通常包括相对于计算机2002描述的许多或所有元件,但为简明起见仅示出了存储器/存储设备2050。所描绘的逻辑连接包括到局域网(LAN)2052和/或例如广域网(WAN)2054等更大网络的有线/无线连接。这种LAN和WAN联网环境常见于办公室和公司,并且方便了诸如内联网等企业范围计算机网络,所有这些都可连接到例如因特网等全球通信网络。
当在LAN联网环境中使用时,计算机2002通过有线和/或无线通信网络接口或适配器2056连接到LAN2052。适配器2056可以方便到LAN2052的有线和/或无线通信,并且还可包括其上设置的用于使用适配器2056的无线功能进行通信的无线接入点。
当在WAN联网环境中使用时,计算机2002可包括调制解调器2058,或连接到WAN2054上的通信服务器,或具有用于诸如通过因特网等通过WAN2054建立通信的其它装置。或为内置或为外置以及有线和/或无线设备的调制解调器2058经由输入设备接口2042连接到系统总线2008。在联网环境中,相对于计算机2002所描绘的程序模块或其部分可以存储在远程存储器/存储设备2050中。应该理解,所示网络连接是示例性的,并且可以使用在计算机之间建立通信链路的其他手段。
计算机2002可操作来使用IEEE802标准系列来与有线和无线设备或实体进行通信,这些实体例如是在操作上安置成与例如打印机、扫描仪、台式和/或便携式计算机、个人数字助理(PDA)、通信卫星、任何一件与无线可检测标签相关联的设备或位置(例如,电话亭、报亭、休息室)以及电话进行无线通信(例如,IEEE802.11空中调制技术)的无线设备。这至少包括Wi-Fi(即无线保真)、WiMax和蓝牙TM无线技术。由此,通信可以如对于常规网络那样是预定义结构,或者仅仅是至少两个设备之间的自组织(adhoc)通信。Wi-Fi网络使用称为IEEE802.11x(a、b、g等)的无线电技术来提供安全、可靠、快速的无线连接。Wi-Fi网络可用于将计算机彼此连接、连接到因特网以及连接到有线网络(使用IEEE802.3相关的介质和功能)。
各实施例可以使用硬件元件、软件元件或两者的组合来实现。硬件元件的示例可以包括设备、组件、处理器、微处理器、电路、电路元件(例如,晶体管、电阻器、电容器、电感器等)、集成电路、专用集成电路(ASIC)、可编程逻辑器件(PLD)、数字信号处理器(DSP)、现场可编程门阵列(FPGA)、存储器单元、逻辑门、寄存器、半导体器件、芯片、微芯片、芯片组等。软件元件的示例可以包括软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。确定一实施例是否使用硬件元件和/或软件元件来实现可视给定实现所需根据任何数量的因素而变化,这些因素如所需计算速率、功率级、耐热性、处理周期预算、输入数据速率、输出数据速率、存储器资源、数据总线速度以及其它设计或性能约束。
一些实施例可包括制品。制品可包括用于存储逻辑的存储介质。存储介质的示例可包括能够存储电子数据的一种或多种类型的计算机可读存储介质,包括易失性存储器或非易失性存储器、可移动或不可移动存储器、可擦除或不可擦除存储器、可写或可重写存储器等。逻辑的示例可包括各种软件元件,诸如软件组件、程序、应用、计算机程序、应用程序、系统程序、机器程序、操作系统软件、中间件、固件、软件模块、例程、子例程、函数、方法、过程、软件接口、应用程序接口(API)、指令集、计算代码、计算机代码、代码段、计算机代码段、文字、值、符号、或其任意组合。例如,在一个实施例中,制品可以存储可执行计算机程序指令,该指令在由计算机执行时使得该计算机执行根据所描述的各实施例的方法和/或操作。可执行计算机程序指令可包括任何合适类型的代码,诸如源代码、已编译代码、已解释代码、可执行代码、静态代码、动态代码等。可执行计算机程序指令可根据用于指示计算机执行特定功能的预定义的计算机语言、方式或句法来实现。这些指令可使用任何合适的高级、低级、面向对象、可视、已编译和/或已解释编程语言来实现。
一些实施例可使用表述“一个实施例”和“一实施例”及其派生词来描述。这些术语意味着结合该实施例描述的特定特征、结构、或特性包括在至少一个实施例中。出现在说明书中各个地方的短语“在一个实施例”并不必全都指的是同一实施例。
一些实施例可使用表述“耦合的”和“连接的”及其派生词来描述。这些术语不必旨在互为同义词。例如,一些实施例可使用术语“连接的”和/或“耦合的”来描述以指示两个或更多元件彼此有直接的物理或电接触。然而,术语“耦合的”还可以意味着两个或更多元件彼此不直接接触,而仍彼此合作或交互。
要强调的是,提供了本公开的摘要以符合37C.F.R.1.72(b)节要求使读者能快速确定本技术公开的特性的摘要。提交摘要的同时要明白,将不用它来解释或限制权利要求的范围或含义。另外,在前面的详细描述中,可以看到,出于将本公开连成一个整体的目的而将各种特征组合在一起放在单个实施方式中。此公开方法将不被解释为反映所要求保护的实施方式要求比每个权利要求中明确陈述的更多特征的意图。相反,如所附权利要求书所反映,发明性的主题存在于比单个已公开实施方式的所有特征少的特征中。从而,据此将所附权利要求结合进详细描述中,其中每个权利要求独立地代表一个单独的实施方式。在所附权利要求书中,术语“包括”和“其中”分别用作术语“包含”和“其特征在于”的易懂的英文等价词。而且,术语“第一”、“第二”、“第三”等等只用作标记,而不旨在将数字要求强加于其对象上。
尽管用结构特征和/或方法动作专用的语言描述了本主题,但可以理解,所附权利要求书中定义的主题不必限于上述具体特征或动作。更确切而言,上述具体特征和动作是作为实现权利要求的示例形式公开的。
Claims (9)
1.一种用于网格上呈现磁贴的动态布局的方法,包括:
接收要在显示器上的呈现表面上呈现的剪辑画面,所述剪辑画面包括多个呈现磁贴和参考布局,并且所述呈现表面包括网格并具有平移方向;
确定何时垂直于所述平移方向的固定网格维度在所述显示器上小于所述参考布局中的相应网格维度;
修改所述多个呈现磁贴在所述网格上的位置,同时保留所述呈现磁贴与彼此的空间特征;以及
呈现所述呈现表面的用户界面视图,其中所述多个呈现磁贴在经修改的位置中,其中与每一呈现磁贴相关联的内容文件的磁贴对象是基于所述内容文件的内容文件类型来生成的,其中所述内容文件类型的类型定义包括用于从所述内容文件中提取所选部分并在该呈现磁贴的限定区域内格式化所提取的部分的一组定义。
2.如权利要求1所述的方法,其特征在于,还包括:
从所述参考布局确定呈现磁贴次序;
将第一呈现磁贴放入所述网格的原点;
选择所述呈现磁贴次序中的第二呈现磁贴;
确定所述第二呈现磁贴相对于所述第一呈现磁贴的空间特征;以及
根据所述空间特征将所述第二呈现磁贴放置在所述网格上。
3.如权利要求2所述的方法,其特征在于,空间特征包括第一方向、第二方向或第三方向之一,所述第三方向包括右偏移,所述原点在所述网格的顶角,并且将所述第二呈现磁贴放置在所述网格上包括:
将第一方向呈现磁贴毗邻于所述第一呈现磁贴并在所述第一呈现磁贴右侧放置;
当在所述网格上有足够空间时将第二方向呈现磁贴在所述第一呈现磁贴下方放置;
当在所述第一呈现磁贴下方没有足够空间来放置第二方向呈现磁贴时,将第二方向呈现磁贴在所述网格的顶部行中放置在一呈现磁贴右侧的所述网格中的第一可用列中;
将第三方向呈现磁贴按所述右偏移中的列的数量放置在所述第一呈现磁贴的右侧,并且确定所述第三方向呈现磁贴和所述第一呈现磁贴是否重叠;当所述第三方向呈现磁贴和所述第一呈现磁贴重叠时并且当在所述第一呈现磁贴下方有空间来放置所述第三方向呈现磁贴时,将所述第三方向呈现磁贴移动到所述第一呈现磁贴之下并向所述第一呈现磁贴的右侧移动所述右偏移中的列的数量;以及
当所述第三方向呈现磁贴和所述第一呈现磁贴重叠时并且当在所述第一呈现磁贴下方没有空间来放置所述第三方向呈现磁贴时,将所述第三方向呈现磁贴移动到所述网格的所述顶部行中的一呈现磁贴的右侧的第一可用列中。
4.如权利要求1所述的方法,其特征在于,还包括:
定义第一通道,所述第一通道在所述平移方向具有一宽度,所述宽度与通过向剪辑画面添加呈现磁贴或从所述剪辑画面删除呈现磁贴所产生的空白空间的宽度相匹配;
在所述平移方向上标识磁贴的邻接块,所述邻接块具有在所述第一通道的结尾边缘处的起始边缘;
定义具有所述磁贴的邻接块的宽度的第二通道;
为每个通道分配流,其中流与固定维度对齐,且其中相邻通道的流在相反方向上流动;
以呈现磁贴次序选择每个磁贴;
在通道中在所述流方向上将磁贴尽可能远地移动;以及
在所述通道和与所述通道的所述起始边缘毗邻的一通道中的一个通道中在所述平移方向上将所述磁贴尽可能远地移动。
5.一种用于网格上呈现磁贴的动态布局的系统,包括:
用于接收要在显示器上的呈现表面上呈现的剪辑画面的装置,所述剪辑画面包括多个呈现磁贴和参考布局,并且所述呈现表面包括网格并具有平移方向;
用于确定何时垂直于所述平移方向的固定网格维度在所述显示器上小于所述参考布局中的相应网格维度的装置;
用于修改所述多个呈现磁贴在所述网格上的位置,同时保留所述呈现磁贴与彼此的空间特征的装置;以及
用于呈现所述呈现表面的用户界面视图的装置,其中所述多个呈现磁贴在经修改的位置中,其中与每一呈现磁贴相关联的内容文件的磁贴对象是基于所述内容文件的内容文件类型来生成的,其中所述内容文件类型的类型定义包括用于从所述内容文件中提取所选部分并在该呈现磁贴的限定区域内格式化所提取的部分的一组定义。
6.如权利要求5所述的系统,其特征在于,还包括:
用于从所述参考布局确定呈现磁贴次序的装置;
用于将第一呈现磁贴放入所述网格的原点的装置;
用于选择所述呈现磁贴次序中的第二呈现磁贴的装置;
用于确定所述第二呈现磁贴相对于所述第一呈现磁贴的空间特征的装置;以及
用于根据所述空间特征将所述第二呈现磁贴放置在所述网格上的装置。
7.如权利要求6所述的系统,其特征在于,空间特征包括第一方向、第二方向或第三方向之一,所述第三方向包括右偏移,所述原点在所述网格的顶角,并且用于将所述第二呈现磁贴放置在所述网格上的装置包括:
用于将第一方向呈现磁贴毗邻于所述第一呈现磁贴并在所述第一呈现磁贴右侧放置的装置;
用于当在所述网格上有足够空间时将第二方向呈现磁贴在所述第一呈现磁贴下方放置的装置;
用于当在所述第一呈现磁贴下方没有足够空间来放置第二方向呈现磁贴时,将第二方向呈现磁贴在所述网格的顶部行中放置在一呈现磁贴右侧的所述网格中的第一可用列中的装置;
用于将第三方向呈现磁贴按所述右偏移中的列的数量放置在所述第一呈现磁贴的右侧,并且确定所述第三方向呈现磁贴和所述第一呈现磁贴是否重叠的装置;
用于当所述第三方向呈现磁贴和所述第一呈现磁贴重叠时并且当在所述第一呈现磁贴下方有空间来放置所述第三方向呈现磁贴时,将所述第三方向呈现磁贴移动到所述第一呈现磁贴之下并向所述第一呈现磁贴的右侧移动所述右偏移中的列的数量的装置;以及
用于当所述第三方向呈现磁贴和所述第一呈现磁贴重叠时并且当在所述第一呈现磁贴下方没有空间来放置所述第三方向呈现磁贴时,将所述第三方向呈现磁贴移动到所述网格的所述顶部行中的一呈现磁贴的右侧的第一可用列中的装置。
8.如权利要求5所述的系统,其特征在于,还包括:
用于从所述网格移除任何空的列和行的装置;
用于标识所述平移方向中的呈现磁贴的邻接组的装置;
用于确定呈现磁贴的所述邻接组是否在固定维度中在所述网格中居中的装置;以及
用于将呈现磁贴的所述邻接组在所述固定维度中居中的装置。
9.如权利要求5所述的系统,其特征在于,还包括:
用于定义第一通道的装置,所述第一通道在所述平移方向具有一宽度,所述宽度与通过向所述剪辑画面添加呈现磁贴或从所述剪辑画面删除呈现磁贴所产生的空白空间的宽度相匹配;
用于在所述平移方向上标识磁贴的邻接块的装置,所述邻接块具有在所述第一通道的结尾边缘处的起始边缘;
用于定义具有所述磁贴的邻接块的宽度的第二通道的装置;
用于为每个通道分配流的装置,其中流与固定维度对齐,且其中相邻通道的流在相反方向上流动;
用于以呈现磁贴次序选择每个磁贴的装置;
用于在通道中在所述流方向上将磁贴尽可能远地移动的装置;以及
用于在所述通道中和与所述通道的所述起始边缘毗邻的一通道中的一个通道中在所述平移方向上将所述磁贴尽可能远地移动的装置。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/242,009 US9679404B2 (en) | 2010-12-23 | 2011-09-23 | Techniques for dynamic layout of presentation tiles on a grid |
US13/242,009 | 2011-09-23 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102929922A CN102929922A (zh) | 2013-02-13 |
CN102929922B true CN102929922B (zh) | 2016-08-03 |
Family
ID=47644720
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210352185.3A Active CN102929922B (zh) | 2011-09-23 | 2012-09-20 | 用于网格上呈现磁贴的动态布局的方法和系统 |
Country Status (7)
Country | Link |
---|---|
EP (1) | EP2758862B1 (zh) |
JP (1) | JP6054401B2 (zh) |
KR (1) | KR101985558B1 (zh) |
CN (1) | CN102929922B (zh) |
AR (1) | AR087887A1 (zh) |
TW (1) | TWI579827B (zh) |
WO (1) | WO2013044194A2 (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10133704B2 (en) * | 2012-11-07 | 2018-11-20 | Microsoft Technology Licensing, Llc | Dynamic layout of content in a grid based application |
CN104166562B (zh) * | 2013-09-25 | 2018-08-28 | 穆建鑫 | 用于视窗操作系统中应用程序磁贴的生成方法及装置 |
CN104516880A (zh) * | 2013-09-26 | 2015-04-15 | Sap欧洲公司 | 图形的基于区块的布局 |
CN104571783B (zh) * | 2013-10-23 | 2018-02-27 | 富泰华工业(深圳)有限公司 | 具有动态拼图界面的电子装置及控制方法与系统 |
CN104571785A (zh) * | 2013-10-24 | 2015-04-29 | 富泰华工业(深圳)有限公司 | 具有动态拼图界面的电子装置及群组控制方法与系统 |
CN104571786B (zh) | 2013-10-25 | 2018-09-14 | 富泰华工业(深圳)有限公司 | 具有动态拼图界面的电子装置及其控制方法与系统 |
JP6777545B2 (ja) * | 2014-03-25 | 2020-10-28 | タッチチューンズ ミュージック コーポレイションTouchtunes Music Corporation | 改善されたユーザインターフェースを備えたデジタルジュークボックス装置および関連する方法 |
US9329761B2 (en) * | 2014-04-01 | 2016-05-03 | Microsoft Technology Licensing, Llc | Command user interface for displaying and scaling selectable controls and commands |
US10489947B2 (en) | 2016-03-09 | 2019-11-26 | Htc Corporation | Mobile device, application display method, and non-transitory computer readable storage medium |
CN112416347B (zh) * | 2020-11-25 | 2022-07-12 | 中睿信数字技术有限公司 | 一种基于栅格和动态磁贴的网页布局方法 |
US20230059021A1 (en) * | 2021-08-23 | 2023-02-23 | Jobby Inc. | Portal and interface system and method |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1677343A (zh) * | 2004-03-31 | 2005-10-05 | 微软公司 | 网格画布 |
US7199889B2 (en) * | 2001-07-02 | 2007-04-03 | Alps Elecric Co., Ltd. | Printer capable of invalidating a document |
Family Cites Families (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0844883A (ja) * | 1994-08-03 | 1996-02-16 | Matsushita Electric Ind Co Ltd | 自動レイアウト装置 |
US7028264B2 (en) * | 1999-10-29 | 2006-04-11 | Surfcast, Inc. | System and method for simultaneous display of multiple information sources |
AUPR962001A0 (en) * | 2001-12-19 | 2002-01-24 | Redbank Manor Pty Ltd | Document display system and method |
US8220018B2 (en) * | 2002-09-19 | 2012-07-10 | Tvworks, Llc | System and method for preferred placement programming of iTV content |
US7362311B2 (en) | 2003-04-07 | 2008-04-22 | Microsoft Corporation | Single column layout for content pages |
TWI243571B (en) * | 2003-07-17 | 2005-11-11 | Inventec Appliances Corp | Mobile communication device with picture editing function and processing method thereof and storage medium storing computer program for executing the method |
US7656543B2 (en) * | 2004-11-12 | 2010-02-02 | Hewlett-Packard Development Company, L.P. | Albuming images |
US7478339B2 (en) * | 2005-04-01 | 2009-01-13 | Microsoft Corporation | Method and apparatus for application window grouping and management |
US20080218532A1 (en) * | 2007-03-08 | 2008-09-11 | Microsoft Corporation | Canvas-like authoring experience atop a layout engine |
TW200919371A (en) * | 2007-10-19 | 2009-05-01 | Goqoo Online Entertainment Ltd | Picture editing method of animation |
US9225610B2 (en) * | 2008-03-31 | 2015-12-29 | Hitachi, Ltd. | User interface providing information system topology presentation |
-
2012
- 2012-08-03 TW TW101128049A patent/TWI579827B/zh not_active IP Right Cessation
- 2012-09-14 AR ARP120103405A patent/AR087887A1/es active IP Right Grant
- 2012-09-20 CN CN201210352185.3A patent/CN102929922B/zh active Active
- 2012-09-23 WO PCT/US2012/056789 patent/WO2013044194A2/en unknown
- 2012-09-23 JP JP2014532059A patent/JP6054401B2/ja active Active
- 2012-09-23 KR KR1020147007521A patent/KR101985558B1/ko active IP Right Grant
- 2012-09-23 EP EP12833454.7A patent/EP2758862B1/en active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7199889B2 (en) * | 2001-07-02 | 2007-04-03 | Alps Elecric Co., Ltd. | Printer capable of invalidating a document |
CN1677343A (zh) * | 2004-03-31 | 2005-10-05 | 微软公司 | 网格画布 |
Non-Patent Citations (1)
Title |
---|
Grammar-based articulation for multimedia document design;Louis Weitzman等;《Multimedia System》;19961231;第2页右栏至第3页左栏"2 Arthitectural overview"部分,第3页左栏至第7页左栏"3 Examples of spatial layout"部分、"4 The articulation components"部分,第11页左栏至第12页右栏"6 Related work"部分,图2 * |
Also Published As
Publication number | Publication date |
---|---|
JP6054401B2 (ja) | 2016-12-27 |
WO2013044194A3 (en) | 2013-05-16 |
EP2758862A4 (en) | 2015-04-08 |
WO2013044194A2 (en) | 2013-03-28 |
TWI579827B (zh) | 2017-04-21 |
TW201314670A (zh) | 2013-04-01 |
EP2758862A2 (en) | 2014-07-30 |
EP2758862B1 (en) | 2020-08-05 |
AR087887A1 (es) | 2014-04-23 |
JP2015503132A (ja) | 2015-01-29 |
KR20140069007A (ko) | 2014-06-09 |
KR101985558B1 (ko) | 2019-06-03 |
CN102929922A (zh) | 2013-02-13 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102929922B (zh) | 用于网格上呈现磁贴的动态布局的方法和系统 | |
US10515139B2 (en) | Techniques for electronic aggregation of information | |
US10331335B2 (en) | Techniques for electronic aggregation of information | |
US20170309052A1 (en) | Techniques for dynamic layout of presentation tiles on a grid | |
RU2625938C2 (ru) | Методика для электронной агрегации информации | |
CN103608803B (zh) | 用于生成表示内容文件的自定义对象的技术 | |
US20120166496A1 (en) | Techniques for generating custom objects representing content files |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
ASS | Succession or assignment of patent right |
Owner name: MICROSOFT TECHNOLOGY LICENSING LLC Free format text: FORMER OWNER: MICROSOFT CORP. Effective date: 20150720 |
|
C41 | Transfer of patent application or patent right or utility model | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20150720 Address after: Washington State Applicant after: Micro soft technique license Co., Ltd Address before: Washington State Applicant before: Microsoft Corp. |
|
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |