CN104781806A - 基于网格的应用中的动态内容布局 - Google Patents

基于网格的应用中的动态内容布局 Download PDF

Info

Publication number
CN104781806A
CN104781806A CN201380058384.6A CN201380058384A CN104781806A CN 104781806 A CN104781806 A CN 104781806A CN 201380058384 A CN201380058384 A CN 201380058384A CN 104781806 A CN104781806 A CN 104781806A
Authority
CN
China
Prior art keywords
item
fritter
content
layout
row
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.)
Granted
Application number
CN201380058384.6A
Other languages
English (en)
Other versions
CN104781806B (zh
Inventor
G·科塔
T-C·赵
Y·W·里
A·洛威尔
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Microsoft Corp filed Critical Microsoft Corp
Priority to CN201710545917.3A priority Critical patent/CN107402906B/zh
Publication of CN104781806A publication Critical patent/CN104781806A/zh
Application granted granted Critical
Publication of CN104781806B publication Critical patent/CN104781806B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements 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/44Arrangements for executing specific programs
    • G06F9/451Execution arrangements for user interfaces

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

内容项被获得,并被动态地布置在显示器上的各列(例如,相同大小的列)内的小块中。基于该项的时间(诸如创建时间和修改时间)来对所获得的项以及尚未被渲染的先前获得的项进行排序。使用该排序来作出关于这些项中的任何一者是否准备好渲染的确定。可在获得所有内容项之前作出项是否准备好渲染的确定。确定准备好渲染的项在列的小块内的布局。例如,这些项可基于其内容被放置在小块中(例如,与富内容相比,文本内容被放置在更小尺寸的小块中)。准备好渲染的项随后被发送以供渲染。

Description

基于网格的应用中的动态内容布局
背景
在计算设备上显示内容存在许多不同的方式。例如,可将内容显示在页中、列中、表中等。显示器可包括从外部源获得(例如,从网络位置获得)的内容。在不知道将从外部源获得多少数据时创建期望的内容布局可能是个挑战。
概述
提供本概述以便以简化的形式介绍将在以下详细描述中进一步描述的一些概念。本概述不旨在标识出所要求保护的主题的关键特征或必要特征,也不旨在用于帮助确定所要求保护的主题的范围。
获得内容项,并将其动态地布置在显示器上的各列(例如,相同大小的列)内的不同尺寸的小块中。基于时间(例如创建时间)来对所获得的项以及尚未被渲染的先前获得的项进行排序。使用该排序来作出关于这些项中的任何一者是否准备好渲染的确定。可在获得所有内容项之前作出项是否准备好渲染的确定。项可以不按与渲染次序相同的次序来获得。准备好渲染的项的布局被确定为在列的小块内。例如,这些项可基于其内容被放置在小块中(例如,与富内容相比,文本内容被放置在更小尺寸的小块中)。可将项放置在使与该项相关联的内容显示动画化的实况小块中。被确定为准备好渲染的各项被发送以供渲染。
附图简述
图1示出了用于进行动态内容布局的系统;
图2示出了不同尺寸的小块和列的视图;
图3示出了具有不同尺寸的列的不同显示;
图4解说了获得内容项和动态渲染内容项;
图5示出了用于在基于网格的应用中进行动态内容布局的说明性过程;
图6解说了用于进行动态内容布局的示例性系统;以及
图7-9以及相关描述提供了其中可实施本发明的实施例的各种操作环境的讨论。
详细描述
现将参考其中相同的标号代表相同的元件的附图来描述各实施例。
图1示出了用于进行动态内容布局的系统。如所示的,系统100包括应用程序110、布局管理器26、触摸屏输入设备/显示器115以及包括内容项122的内容提供方/存储120。
为了促成与布局管理器26通信,可以实现一个或多个回调例程。根据一个实施例,应用程序110是被配置为接收来自触敏输入设备115和/或其他输入设备的输入的生产力应用,诸如协作程序(如微软的SHAREPOINT)。例如,语音输入、键盘输入(例如物理键盘和/或SIP)、基于视频的输入等等。例如,布局管理器26可响应于用户的选择内容的姿势(即,姿势150)和其他基于触摸的姿势来向应用110提供信息。例如,姿势可包括但不限于:捏合姿势;拉伸姿势;选择姿势(例如在所显示的元素上的轻击动作);选中并保持姿势(例如在所显示的元素上接收到的轻击并保持姿势);滑扫动作和/或拖动动作;等等。
所示的系统100包括检测何时接收了触摸输入(例如,手指触摸或接近触摸该触摸屏)的触摸屏输入设备/显示器115。可利用检测用户的触摸输入的任何类型的触摸屏。例如,触摸屏可包括一层或多层检测触摸输入的电容性材料。除了电容性材料之外或代替电容性材料,可使用其他传感器。例如,可使用红外(IR)传感器。根据一实施例,触摸屏被配置成检测与可触摸的表面接触或位于可触摸的表面上方的物体。尽管在本说明书中使用术语“上方”,应理解,触摸面板系统的定向是不相关的。术语“上方”旨在可适用于所有这样的定向。触摸屏可被配置成确定触摸输入被接收的位置(如起点、中间点和终点)。可通过任何合适的手段,包括如耦合到触摸面板的振动传感器或话筒,来检测可触摸的表面和物体之间的实际接触。用于检测接触的传感器的示例的非穷尽列表包括:基于压力的机构、微机械加速度计、压电器件、电容传感器、电阻传感器、感应传感器、激光振动计和LED振动计。
布局管理器26被配置成当项可用于渲染并被确定为准备好渲染时对这些项进行增量式布局和渲染。根据一实施例,布局管理器26按经修改的时间次序从内容提供方/存储120(例如,服务器)获得内容项(例如,首先获得最新近修改的项)。布局管理器26使用未经渲染的项的列表(该列表是基于项的创建时间来排序的)来确定所获得的项何时准备好渲染。替代按接收各项的次序来显示这些项,布局管理器26基于经排序的创建时间来确定这些项的布局。
布局管理器26对准备好在包括小块的列内渲染的各项进行布局。列内的小块可以为相同的尺寸和/或不同的尺寸。根据一实施例,这些小块包括单一单位高度小块、一个半单位高度小块、二高度单位小块和三高度单位小块。这些小块可以为不同的尺寸和/或形状。列尺寸可以有从1高度小块尺寸到N高度小块尺寸的范围。列尺寸可基于显示器分辨率和/或不同的考虑(例如,用于显示文本的字体大小、期望的图片分辨率……)。一般来说,列尺寸有在大约三个单位和八个单位之间的范围。根据一实施例,布局管理器26基于项的内容来确定对其中放置该项的小块的选择。例如,文本被放置在一单位小块或一个半单位小块中,而富内容(例如,图像、图形……)被放置在更大单位小块中,诸如二单位小块或三单位小块。布局管理器26将每一列布置成有相同的高度,并选择小块单位以创建期望高度(例如,参见图3和相关的描述)。
显示115示出了被布置在具有相同高度(例如,6个单位的高度)的列内的不同尺寸的小块中的内容项的示例性显示。列116示出了包括被包括在四个具有单位尺寸为1.5的小块中的文本内容的各内容项。列117示出了包括被包括在两个具有单位尺寸为3的小块中的富内容的各内容项。在当前说明中,被放置在列117中的较低小块中的富内容是实况小块,该实况小块示出了包括在该小块中的富内容的至少一部分的动画。根据一实施例,可选择实况小块(例如,轻击在该小块上)以便显示富内容121的扩展视图。列118示出了以下内容项:这些内容项包括被包括在具有单位尺寸为2的第一小块中的富内容,接着是在具有单位尺寸为3的第二小块中的富内容,接着是在具有单位尺寸为1的第三小块中的文本内容。列119示出了以下内容项:这些内容项包括被包括在具有单位尺寸为1的第一小块中的文本内容、被包括在具有单位尺寸为2的第二小块中的富内容、接着是在具有单位尺寸为2的第三小块中的富内容、接着是在具有单位尺寸为1的第四小块中的文本内容。
内容项被获得,并被动态地布置在显示器上的各列(例如,相同大小的列)中的不同大小的小块中。所获得的项以及尚未被渲染的先前获得的项均是基于时间(例如创建时间)来排序的。使用该排序来作出这些项中的任何一项是否已经准备好渲染的确定。可在获得所有内容项之前作出项是否准备好渲染的确定。确定准备好渲染的项在列的小块内的布局。例如,这些项可基于其内容被放置在小块中(例如,与富内容相比,文本内容被放置在更小尺寸的小块中)。可将项放置在使与该项相关联的内容显示动画化的实况小块中。被确定为准备好渲染的各项被发送以供渲染。在以下提供关于交互式性能评估的更多细节。
图2示出了不同尺寸的小块和列的视图。如图所示,图2包括四个不同尺寸的小块(210、211、212和213)以及五个不同高度的列(220、221、222、223和224)。
不同尺寸的小块用于创建显示的相同高度的列。相同尺寸的列和/或大致相同尺寸的列可被显示在具有标准/大的显示器(例如,大于12英寸的显示器)的显示器上以及具有有限显示器大小的设备(例如,具有大约2乘3英寸的显示器的智能电话、具有大约7到10英寸显示器的板式/平板和/或具有其他显示器大小(例如,4、5、6)的其他设备)上。
小块210是具有高度为1个单位的小块。小块211是具有高度为1.5个单位的小块。小块212是具有高度为两个单位的小块。小块213是具有高度为三个单位的小块。不同尺寸的小块可被组合以创建具有相同高度的列。根据一实施例,基于项的内容将各项放置在小块中。例如,将文本内容放置在较小的小块(210和211)之一中,并将富内容(例如,图片、图像、图形等)放置在较大小块(212和213)之一中。通过组合一个或多个不同尺寸的一个或多个小块来创建列。
图3示出了具有不同尺寸的列的不同显示。如所示出的,图3包括四个显示,包括显示310、显示320、显示330和显示340。这些说明用于解释的目的,并不旨在进行限制。尽管在不同列中的每一列中示出了不同尺寸的小块,但不同的列也可具有相同尺寸的小块。
显示310解说了在四个具有高度为3的列内的小块的显示。尽管示出了四个列,但可显示更多或更少的列。第一列包括单个具有高度为3的小块。第二列包括具有高度为1的小块和具有高度为2的第二小块。第三列包括具有高度为1.5的第一小块和具有高度为1.5的第二小块。第四列包括具有高度为2的第一小块和具有高度为1的第二小块。
显示320解说了在四个具有高度为4的列内的小块的显示。尽管示出了四个列,但可显示更多或更少的列。第一列包括具有高度为1的第一小块以及具有高度为3的第二小块。第二列包括具有高度为2的第一小块和具有高度为2的第二小块。第三列包括具有高度为1.5的第一小块、具有高度为1.5的第二小块以及具有高度为1的第三小块。第四列包括具有高度为3的第一小块和具有高度为1的第二小块。
显示330解说了在四个具有高度为5的列内的小块的显示。尽管示出了四个列,但可显示更多或更少的列。第一列包括具有高度为1的第一小块、具有高度为3的第二小块和具有高度为1的第三小块。第二列包括具有高度为2的第一小块和具有高度为3的第二小块。第三列包括具有高度为2的第一小块、具有高度为2的第二小块和具有高度为1的第三小块。第四列包括具有高度为1.5的第一小块、具有高度为1.5的第二小块以及具有高度为1的第三小块。
显示340解说了在四个具有高度为6的列内的小块的显示。尽管示出了四个列,但可显示更多或更少的列。第一列包括具有高度为1.5的第一小块、具有高度为1.5的第二小块、具有高度为1.5的第三小块和具有高度为1.5的第四小块。第二列包括具有高度为3的第一小块和具有高度为3的第二小块。第三列包括具有高度为2的第一小块、具有高度为3的第二小块和具有高度为1的第三小块。第四列包括具有高度为1的第一小块、具有高度为2的第二小块、具有高度为2的第三小块和具有高度为1的第四小块。
其他列高度可以与小块的不同组合一起使用。
图4示出了获得内容项和动态渲染内容项。如所示出的,图4包括四个内容项列表(410、420、430、440和450)。
列表410解说了从内容源(例如,服务器、外部数据存储、新闻馈源……)获得N个内容项(D1-DN)。内容项可包括各种内容,诸如文本、富内容(例如,图片、图表……)等。根据一实施例,取代在对数据源的单次请求中获得大量数据,作出针对更小量数据的更多次请求。列表中的每一内容项都包括创建时间和修改时间。创建时间是内容项被最初创建的时间,并且修改时间是内容项被最后修改的时间。根据一实施例,各内容项是按修改时间次序从内容源获得的(先获得最新近被修改的内容项)。
列表420示出了包括已经被渲染的内容项(R1、R2、R3)、被标记为准备好渲染的内容项和新获得的内容项的内容项列表。
列表430示出了依据创建时间来排序的内容项列表,并标记了准备好渲染的新内容项(D2和D3)。
列表440示出了具有准备好被布局在一个或多个列中的内容项的列表。在当前示例中,内容项S1、S2和S3被布局在一列中。例如,假设内容项S1是图片,并且内容项S2和S3是文本。在具有高度为6的列中,高度为2的小块可用于图片,且高度为1.5的小块可用于S2,并且第二个高度为1.5的小块可用于S3。在具有高度3的列中,一个列中的高度为3的小块可用于图片,且第二列可包括文本内容项(高度为1.5的小块可用于S2并且第二个高度为1.5的小块可用于S3)。根据一实施例,直到通过准备好渲染的项创建了完整的列才渲染内容。在当前列中,由于尚未创建完整的列,因此不渲染项S4。
列表450示出了包括已经渲染的内容项(R1、R2、R3、R4、R5和R6)以及未被确定为准备好渲染的内容项的内容项列表。
图5示出了用于在基于网格的应用中进行动态内容布局的说明性过程500。在阅读本文中给出的例程的讨论时,应该理解,各个实施例的逻辑操作被实现为:(1)一系列运行于计算系统上的计算机实现的动作或程序模块;和/或(2)计算系统内的互连的机器逻辑电路或电路模块。这种实现是取决于实现本发明的计算系统的性能需求的选择问题。因此,所例示并构成本文中描述的实施例的逻辑操作被不同地称为操作、结构设备、动作或模块。这些操作、结构设备、动作和模块可以用软件、固件、专用数字逻辑,以及其任何组合来实现。
在开始操作之后,过程移至操作510,在该操作510处内容项被获得。根据一实施例,这些内容项是按修改时间次序从外部内容源(诸如服务器)获得的。取代按内容项被接收的次序来显示这些内容项,这些内容项是按创建时间次序被显示的,并且被布置在具有相同(或者近似相同)的高度的列中。接收到的每一内容项包括修改时间和关于该内容项何时被创建的创建时间。
流至操作520,将新获得的项添加到已经被获得的任何内容项处。例如,可获得十个新内容项,该十个新内容项被添加到五个内容项的当前列表中。
移至操作530,基于每一内容项的创建时间来对该内容项列表(新获得的内容项和先前获得的内容项)进行排序。已经渲染的项或准备好渲染的项的列表中的位置不受后续排序的影响。
转至操作540,作出关于经排序列表中的任何内容项是否准备好渲染的确定。当内容项在与已经获得的内容项的修改时间中的最老修改时间相比更新近的时间被创建时,确定该内容项准备好渲染。例如,如果在2012年9月4日修改的项已经被获得,则渲染在2012年9月5日创建的项是安全的。
流至可选操作550,被确定为准备好渲染的内容项被布局在具有确定高度的列中。例如,期望的列高度可以是高度7。内容项被放置在各小块中,以使得用于显示该内容的各小块的高度加起来达到期望列高度。如果不存在足够的项来形成完整的列,则布局被推迟直到更多项可用。根据一实施例,一个或多个内容项可被放置在实况小块中以使得当在实况小块中显示该一个或多个内容项时对与该项相关联的内容的至少一部分进行动画化。例如,当在静态小块中将截短内容项中的一些内容时可使用实况小块。根据另一实施例,具有不同日子的创建日期的内容项被显示在不同的列中。例如,新列可在每个新的一天开始。
转至操作560,当确定时,渲染经布局的项。根据一实施例,当完整的列被小块所填充时,渲染经布局的项。例如,如果列没有被完全填充,则该过程可等待,直到该列被将来获得的内容填充。如上所讨论的,根据一实施例,布局和项的渲染两者都被推迟,直到完整的列被确定。例如,当计算出的布局仅仅是局部并且没有填充该列时,丢弃该布局,并且随后在更多项可用时重试该布局。随后该过程移至结束操作并返回以处理其它动作。
图6解说了用于动态内容布局的示例性系统。如所示,系统1000包括服务1010、数据存储1045、触摸屏输入设备/显示器1050(如平板)以及智能电话1030。为什么布局管理器26被包括在服务1010中?它应该完全在本地设备1050内部。
如所示,服务1010是基于云的和/或基于企业的服务,它可被配置成提供服务,如生产力服务(如微软OFFICE 365或用于与内容(如电子表格、文档、演示、图表、消息等)交互的某种其他基于云的/在线服务)。可使用不同类型的输入/输出来与该服务交互。例如,用户可使用触摸输入、基于硬件的输入、语音输入等等。服务可提供将预录制的语音与合成的语音相组合的语音输出。服务1010提供的服务/应用中的一个或多个服务/应用的功能也可被配置为基于客户端/服务器的应用。尽管系统1000示出与生产力应用有关的服务(诸如,协作应用),但其他服务/应用也可被配置。
如所解说的,服务1010是向任何数目的承租者(例如,承租者1-N)提供资源1015和服务的多承租者服务。多承租者服务1010是向订阅该服务的承租者提供资源/服务1015并分别地维护每个承租者的数据且保护其不受其他承租者数据的影响的基于云的服务。
如所示的系统1000包括检测触摸输入何时被接收到(如手指触摸或几乎触摸触摸屏)的触摸屏输入设备/显示器1050(如板式/平板设备)以及智能电话1030。可利用检测用户的触摸输入的任何类型的触摸屏。例如,触摸屏可包括一层或多层检测触摸输入的电容性材料。除了电容性材料之外或代替电容性材料,可使用其他传感器。例如,可使用红外(IR)传感器。根据一个实施例,触摸屏被配置成检测与可触摸的表面接触或位于可触摸的表面上方的物体。尽管在本说明书中使用术语“上方”,应理解,触摸面板系统的定向是不相关的。术语“上方”旨在可适用于所有这样的定向。触摸屏可被配置成确定触摸输入被接收的位置(如起点、中间点和终点)。可通过任何合适的手段,包括如耦合到触摸面板的振动传感器或话筒,来检测可触摸的表面和物体之间的实际接触。用于检测接触的传感器的示例的非穷尽列表包括:基于压力的机构、微机械加速度计、压电器件、电容传感器、电阻传感器、感应传感器、激光振动计和LED振动计。
根据一个实施例,智能电话1030和触摸屏输入设备/显示器1050被配置有演示应用。
如所解说的,触摸屏输入设备/显示器1050和智能电话1030示出了显示出对使得内容被动态布局在具有相同高度的列中的应用的使用的示例性显示1052/1032。显示1052解说了四列显示。显示1032示出了二列显示。数据可被存储在设备(如智能电话1030、平板1050)上和/或某一其他位置(如网络数据存储1045)。设备所使用的应用可以是基于客户端的应用、基于服务器的应用、基于云的应用和/或某种组合。
布局管理器26被配置成执行与如上所示的动态内容布局有关的操作。尽管管理器26被示为可任选地在服务1010内,但是管理器的功能可被包括在其他位置中(如在智能电话1030和/或平板设备1050上)。根据一实施例,布局管理器可被包括在计算设备本身(例如,1030和1050)中,而不被包括在服务(诸如,服务1010)中。本文描述的实施例和功能可经许多计算系统来操作,包括有线和无线计算系统、移动计算系统(如移动电话、图形输入板或平板型计算机、膝上型计算机等)。此外,本文所述的实施例和功能可在分布式系统上操作,其中应用功能、存储器、数据存储和检索、以及各种处理功能可在诸如因特网或内联网之类的分布式计算网络上彼此远程地操作。各种类型的用户界面和信息可经板载计算设备显示器或经与一个或多个计算设备相关联的远程显示单元被显示。例如,各种类型的用户界面和信息可在墙壁表面上被显示和交互,各种类型的用户界面和信息被投射在墙壁表面上。与可用于实施本发明的各实施例的许多计算系统的交互包括:键击输入、触摸屏输入、语音或其他音频输入、姿势输入(其中相关联的计算设备配备有用于捕捉和解释用于控制计算设备的功能的用户姿势的检测(如相机)功能)等。
图7-9以及相关描述提供了其中可实施本发明的实施例的各种操作环境的讨论。然而,关于图7-9所示出和讨论的设备和系统是用于示例的目的,而非对可被用于实施本文所述的本发明的各实施例的大量计算设备配置的限制。
图7是示出可用来实施本发明的各实施例的计算设备1100的示例物理组件的框图。下面描述的计算设备组件可适用于上述的计算设备。在一基本配置中,计算设备1100可以包括至少一个处理单元1102和系统存储器1104。取决于计算设备的配置和类型,系统存储器1104可以包括,但不限于,易失性存储器(例如,随机存取存储器(RAM))、非易失性存储器(例如,只读存储器(ROM))、闪存或任何组合。系统存储器1104可包括操作系统1105、一个或多个编程模块1106,且可包括web浏览器应用1120。操作系统1105,例如,可适用于控制计算设备1100的操作。在一个实施例中,编程模块1106可包括如上所述的安装在计算设备1100上的布局管理器26。此外,本发明的各实施方式可以结合图形库、其他操作系统、或任何其他应用程序来实践,且不限于任何特定应用程序或系统。该基本配置在图7中由虚线1108内的那些组件示出。
计算设备1100可以具有附加特征或功能。例如,计算设备1100还可包括附加数据存储设备(可移动和/或不可移动),诸如例如磁盘、光盘或磁带。这些附加存储由可移动存储1109和不可移动存储1110示出。
如上所述,可以在系统存储器1104中存储包括操作系统1105在内的多个程序模块和数据文件。在处理单元1102上执行时,诸如管理器之类的编程模块1106可执行包括例如与如上所述的方法相关的操作的过程。前述过程是示例,且处理单元1102可执行其他过程。根据本发明的各实施方式可以使用的其他编程模块可以包括电子邮件和联系人应用程序、文字处理应用程序、电子表格应用程序、数据库应用程序、幻灯片演示应用程序、绘图或计算机辅助应用程序等。
一般而言,根据本发明的各实施方式,程序模块可以包括可以执行特定任务或可以实现特定抽象数据类型的例程、程序、组件、数据结构和其他类型的结构。此外,本发明的各实施方式可用其他计算机系统配置来实践,包括手持式设备、多处理器系统、基于微处理器的系统或可编程消费电子产品、小型机、大型计算机等。本发明的各实施方式也可以在其中任务由通过通信网络链接的远程处理设备执行的分布式计算环境中实现。在分布式计算环境中,程序模块可位于本地和远程存储器存储设备两者中。
此外,本发明的各实施方式可在包括分立电子元件的电路、包含逻辑门的封装或集成电子芯片、利用微处理器的电路、或在包含电子元件或微处理器的单个芯片上实现。例如,可以通过片上系统(SOC)来实施本发明的各实施例,其中,可以将图7中示出的每个或许多组件集成到单个集成电路上。这样的SOC设备可包括一个或多个处理单元、图形单元、通信单元、系统虚拟化单元以及各种应用功能,所有这些都被集成到(或“烧录到”)芯片基板上作为单个集成电路。当通过SOC操作时,在此所述的关于管理器26的功能可以通过在单个集成电路(芯片)上集成有计算设备/系统1100的其它组件的专用逻辑来操作。本发明的各实施方式还可以使用能够执行诸如,例如,AND(与)、OR(或)和NOT(非)等逻辑运算的其他技术来实践,包括但不限于,机械、光学、流体和量子技术。另外,本发明的各实施方式可以在通用计算机或任何其他电路或系统中实现。
例如,本发明的各实施方式可被实现为计算机进程(方法)、计算系统或诸如计算机程序产品或计算机可读介质等制品。计算机程序产品可以是计算机系统可读并编码了用于执行计算机过程的指令的计算机程序的计算机存储介质。
本文所使用的术语计算机可读介质可包括计算机存储介质。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。系统存储器1104、可移动存储1109和不可移动存储1110都是计算机存储介质(即,存储器存储)的示例。计算机存储介质可以包括,但不限于,RAM、ROM、电可擦除只读存储器(EEPROM)、闪存或其它存储器技术、CD-ROM、数字多功能盘(DVD)或其它光存储、磁带盒、磁带、磁盘存储或其它磁性存储设备、或可用于存储信息且可以由计算设备1100访问的任何其它介质。任何这样的计算机存储介质都可以是设备1100的一部分。计算设备1100还可以具有输入设备1112,如键盘、鼠标、笔、声音输入设备、触摸输入设备等。还可包括诸如显示器、扬声器、打印机等输出设备1114。上述设备是示例且可以使用其他设备。
相机和/或某种其他传感设备可操作来记录一个或多个用户以及由计算设备的用户作出的捕捉运动和/或姿势。传感设备还可操作来捕捉诸如通过话筒口述的单词和/或捕捉来自用户的诸如通过键盘和/或鼠标(未描绘)的其他输入。传感设备可包括能够检测用户的移动的任何运动检测设备。例如,相机可以包括微软运动捕捉设备,它包括多个相机和多个话筒。
本文所使用的术语计算机可读介质还可包括通信介质。通信媒介可由诸如载波或其他传输机制等已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传递介质。术语“已调制数据信号”可以描述以对该信号中的信息进行编码的方式设定或者改变其一个或多个特征的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接等有线介质,以及诸如声学、射频(RF)、红外线和其他无线介质等无线介质。
图8A和8B示出可用来实施本发明的各实施例的合适的移动计算环境,例如移动电话、智能电话、图形输入板个人计算机、膝上型计算机等。参考图8A,示出了用于实现各实施例的示例移动计算设备1200。在一基本配置中,移动计算设备1200是具有输入元件和输出元件两者的手持式计算机。输入元件可包括允许用户将信息输入到移动计算设备1200中的触摸屏显示器1205和输入按钮1215。移动计算设备1200还可结合允许进一步的用户输入的可选的侧面输入元件1215。可选的侧面输入元件1215可以是旋转开关、按钮、或任何其他类型的手动输入元件。在替代实施例中,移动计算设备1200可结合更多或更少的输入元件。例如,在某些实施例中,显示器1205可以不是触摸屏。在又一替代实施例中,移动计算设备是便携式电话系统,如具有显示器1205和输入按钮1215的蜂窝电话。移动计算设备1200还可包括可选的键区1235。可选的键区1215可以是物理键区或者在触摸屏显示器上生成的“软”键区。
移动计算设备1200结合输出元件,如可显示图形用户界面(GUI)的显示器1205。其他输出元件包括扬声器1225和LED光1220。另外,移动计算设备1200可包含振动模块(未示出),该振动模块使得移动计算设备1200振动以将事件通知给用户。在又一个实施例中,移动计算设备1200可结合耳机插孔(未示出),以供提供另一提供输出信号的手段。
尽管此处组合移动计算设备1200来描述,但在替代实施例中,本发明还可组合任何数量的计算机系统来被使用,如在台式环境中、膝上型或笔记本计算机系统、多处理器系统、基于微处理器或可编程消费电子产品、网络PC、小型计算机、大型计算机等。本发明的实施例也可在分布式计算环境中实践,其中任务由分布式计算环境中通过通信网络链接的远程处理设备来执行;程序可位于本机和远程存储器存储设备中。总而言之,具有多个环境传感器、向用户提供通知的多个输出元件和多个通知事件类型的任何计算机系统可结合本发明的实施例。
图8B是示出在一个实施例中使用的诸如图8A中所示的计算设备之类的移动计算设备的组件的框图。即,移动计算设备1200可结合系统1202以实现某些实施例。例如,系统1202可被用于实现可运行与台式或笔记本计算机的应用类似的一个或多个应用的“智能电话”,这些应用例如为演示应用、浏览器、电子邮件、日程安排、即时消息收发、以及媒体播放器应用。在某些实施例中,系统1202被集成为计算设备,诸如集成的个人数字助理(PDA)和无线电话。
一个或多个应用程序1266可被加载到存储器1262中并在操作系统1264上或与操作系统1264相关联地运行。应用程序的示例包括电话拨号程序、电子邮件程序、PIM(个人信息管理)程序、文字处理程序、电子表格程序、因特网浏览器程序、消息通信程序等等。系统1202还包括存储器1262内的非易失性存储1268。非易失性存储1268可被用于存储在系统1202断电时不会丢失的持久信息。应用1266可使用信息并将信息存储在非易失性存储1268中,如电子邮件应用使用的电子邮件或其他消息等。同步应用(未示出)也可驻留于系统1202上且被编程为与驻留在主机计算机上的对应的同步应用交互,以保持非易失性存储1268中存储的信息与主机计算机处存储的相应信息同步。如应被理解的,其他应用可被加载到存储器1262中且在设备1200上运行,包括上述的布局管理器26。
系统1202具有可被实现为一个或多个电池的电源1270。电源1270还可包括外部功率源,如补充电池或对电池重新充电的AC适配器或加电对接托架。
系统1202还可包括执行发射和接收无线电频率通信的功能的无线电1272。无线电1272通过通信运营商或服务供应商方便了系统1202与“外部世界”之间的无线连接。来往无线电1272的传输是在操作系统1264的控制下进行的。换言之,无线电1272接收的通信可通过操作系统1264传播到应用程序1266,反之亦然。
无线电1272允许系统1202例如通过网络与其他计算设备通信。无线电1272是通信介质的一个示例。通信介质通常由诸如载波或其他传输机制之类的已调制数据信号中的计算机可读指令、数据结构、程序模块、或其他数据来体现,并且包括任何信息传送介质。术语“已调制数据信号”是指使得以在信号中编码信息的方式来设置或改变其一个或多个特性的信号。作为示例而非限制,通信介质包括诸如有线网络或直接线连接之类的有线介质,以及诸如声学、RF、红外及其他无线介质之类的无线介质。如此处所使用的术语计算机可读介质包括存储介质和通信介质两者。
系统1202的该实施例是以两种类型的通知输出设备来示出的:可被用于提供视觉通知的LED 1220,以及可被用于扬声器1225提供音频通知的音频接口1274。这些设备可直接耦合到电源1270,使得当被激活时,即使为了节省电池功率而可能关闭处理器1260和其他组件,它们也保留一段由通知机制指示的保持通电时间。LED 1220可被编程为无限地保持通电,直到用户采取行动指示该设备的通电状态。音频接口1274用于向用户提供听觉信号并从用户接收听觉信号。例如,除了被耦合到扬声器1225之外,音频接口1274还可被耦合到话筒1220来接收可听输入,例如便于电话通话。根据本发明的各实施例,话筒1220还可充当音频传感器来便于对通知的控制,如下文将描述的。系统1202可进一步包括允许板载相机1230的操作来记录静止图像、视频流等的视频接口1276。
移动计算设备实现系统1202可具有附加特征或功能。例如,设备还可包括附加数据存储设备(可移动的/或不可移动的),诸如磁盘、光盘或磁带。此类附加存储在图12B中由存储1268示出。计算机存储介质可包括以用于存储诸如计算机可读指令、数据结构、程序模块或其他数据等信息的任何方法或技术实现的易失性和非易失性、可移动和不可移动介质。
设备1200生成或捕捉的且经系统1202存储的数据/信息可如上所述本地存储在设备1200上,或数据可被存储在可由设备通过无线电1272或通过设备1200和与设备1200相关联的分开的计算设备之间的有线连接访问的任何数量的存储介质上,该计算设备如例如因特网之类的分布式计算网络中的服务器计算机。如应理解的,此类数据/信息可经设备1200、经无线电1272或经分布式计算网络来被访问。类似地,这些数据/信息可根据已知的数据/信息传送和存储手段来容易地在计算设备之间传送以供存储和使用,这些手段包括电子邮件和协作数据/信息共享系统。
图9示出了动态内容布局的系统架构。
经由布局管理器26管理的组件可被存储在不同的通信信道或其他存储类型中。例如,可使用目录服务1322、web门户1324、邮箱服务1326、即时消息收发存储1328以及社交联网站点1330来存储组件以及从中发展出组件的信息。系统/应用26、1320可使用任何这些类型的系统等,用于允许在存储1316中管理和存储组件。服务器1332可以提供与创建使用跨不同平台共享的代码的应用有关的通信和服务。服务器1332可通过网络1308在web上向客户机提供服务和内容。可利用服务器1332的客户机的示例包括计算设备1302,计算设备可包括任何通用个人计算机、平板计算设备1304和/或可包括智能电话的移动计算设备1306。任何这些设备可从存储1316获得显示组件管理通信和内容。
以上参考根据本发明的实施例的方法、系统和计算机程序产品的框图和/或操作说明描述了本发明的实施例。框中所注明的各功能/动作可以按不同于任何流程图所示的次序出现。例如,取决于所涉及的功能/动作,连续示出的两个框实际上可以基本上同时执行,或者这些框有时可以按相反的次序来执行。
以上说明、示例和数据提供了对本发明的组成部分的制造和使用的全面描述。因为可以在不背离本发明的精神和范围的情况下做出本发明的许多实施例,所以本发明落在所附权利要求的范围内。

Claims (10)

1.一种用于动态内容布局的方法,包括:
按修改时间次序获得项,包括获得包括创建日期和修改时间的内容;
基于所述创建日期对所述项进行排序;
从经排序的项确定准备好渲染的项;
确定所述准备好渲染的项的布局,所述准备好渲染的项被跨各自具有大致相同的高度的列放置在不同尺寸的小块中;以及
基于所述布局来渲染所述准备好渲染的项。
2.如权利要求1所述的方法,其特征在于,进一步包括延迟渲染所述准备好渲染的项直到使用所述准备好渲染的项填充了列,并基于不同的创建日期开始新的列。
3.如权利要求1所述的方法,其特征在于,对被确定为准备好渲染的项进行布局包括基于所述项何时是文本项以及所述项何时是富内容项来确定显示所述项的尺寸。
4.如权利要求3所述的方法,其特征在于,进一步包括对所述项进行布局包括将每一项放置在具有以下高度的小块中:一个单位小块、一个半单位小块、二个单位小块和三个单位小块。
5.如权利要求3所述的方法,其特征在于,富内容被放置在尺寸被设为至少二个单位小块的小块中。
6.如权利要求1所述的方法,其特征在于,进一步包括将所述项放置在使所述小块中的内容动画化的实况小块中。
7.一种存储用于动态内容布局的计算机可执行指令的计算机可读介质,包括:
按修改时间次序获得项,包括获得包括创建日期和修改时间的内容;
基于所述创建日期来对所述项以及先前获得的未准备好渲染的项进行排序;
从经排序的项确定准备好渲染的项;
确定所述准备好渲染的项的布局,所述准备好渲染的项被至少部分地基于与所述内容项中的每一个相关联的内容类型跨各自具有近似相同的列高度的各列放置在具有以下高度的不同尺寸的小块中:一个单位小块、一个半单位小块、两个单位小块和三个单位小块;以及
基于所述布局来渲染所述准备好渲染的项包括渲染被填充到确定列高度的每一列。
8.一种用于动态内容布局的系统,包括:
显示器,所述显示器被配置成接收触摸输入;
处理器和存储器;
使用所述处理器来执行的操作环境;以及
被配置成执行动作的布局管理器,所述动作包括:
按修改时间次序获得项,包括获得包括创建日期和修改时间的内容;
基于所述创建日期来对所述项以及先前获得的未准备好渲染的项进行排序;
从经排序的项确定准备好渲染的项;
确定所述准备好渲染的项的布局,所述准备好渲染的项被至少部分地基于与所述内容项中的每一个相关联的内容的类型跨各自具有大致相同的列高度的各列被放置在不同尺寸的小块中;以及
基于所述布局来渲染所述准备好渲染的项包括渲染被填充到确定列高度的每一列。
9.如权利要求8所述的系统,其特征在于,进一步包括对所述项进行布局包括将每一项放置在具有以下高度的小块中:一个单位小块、一个半单位小块、两个单位小块和三个单位小块。
10.如权利要求8所述的系统,其特征在于,进一步包括接收对所述实况小块的选择,并显示与所述实况小块相关联的内容的扩展视图。
CN201380058384.6A 2012-11-07 2013-11-07 基于网格的应用中的动态内容布局 Active CN104781806B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201710545917.3A CN107402906B (zh) 2012-11-07 2013-11-07 基于网格的应用中的动态内容布局

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US13/671,249 US10133704B2 (en) 2012-11-07 2012-11-07 Dynamic layout of content in a grid based application
US13/671,249 2012-11-07
PCT/US2013/068966 WO2014074726A1 (en) 2012-11-07 2013-11-07 Dynamic layout and rendering of content according to a tile-based grid

Related Child Applications (1)

Application Number Title Priority Date Filing Date
CN201710545917.3A Division CN107402906B (zh) 2012-11-07 2013-11-07 基于网格的应用中的动态内容布局

Publications (2)

Publication Number Publication Date
CN104781806A true CN104781806A (zh) 2015-07-15
CN104781806B CN104781806B (zh) 2017-08-04

Family

ID=49640194

Family Applications (2)

Application Number Title Priority Date Filing Date
CN201710545917.3A Active CN107402906B (zh) 2012-11-07 2013-11-07 基于网格的应用中的动态内容布局
CN201380058384.6A Active CN104781806B (zh) 2012-11-07 2013-11-07 基于网格的应用中的动态内容布局

Family Applications Before (1)

Application Number Title Priority Date Filing Date
CN201710545917.3A Active CN107402906B (zh) 2012-11-07 2013-11-07 基于网格的应用中的动态内容布局

Country Status (4)

Country Link
US (1) US10133704B2 (zh)
EP (1) EP2917817A1 (zh)
CN (2) CN107402906B (zh)
WO (1) WO2014074726A1 (zh)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9778819B2 (en) * 2012-12-07 2017-10-03 Google Inc. Displaying a stream of content
US10122827B2 (en) * 2013-02-25 2018-11-06 Microsoft Technology Licensing, Llc Interaction between devices displaying application status information
US9152646B2 (en) * 2013-04-05 2015-10-06 Dropbox, Inc. Ordering content items
WO2016085445A1 (en) * 2014-11-24 2016-06-02 Hewlett Packard Enterprise Development Lp Detection of user interface layout changes
US20160269864A1 (en) * 2015-03-12 2016-09-15 WeLink, Inc. Displaying social media contents and alerts from location-based social media monitoring on wearable devices
US10685170B2 (en) 2015-12-16 2020-06-16 Microsoft Technology Licensing, Llc Dynamic content layout generator
US10878587B2 (en) 2016-01-26 2020-12-29 Microsoft Technology Licensing, Llc Alignment of objects to multi-layer grid layouts
US10664247B1 (en) 2016-11-14 2020-05-26 Wells Fargo Bank, N.A. User interface
USD896818S1 (en) 2017-08-31 2020-09-22 Wells Fargo Bank, N.A. Display screen with graphical user interface
US11574429B1 (en) * 2019-04-30 2023-02-07 Splunk Inc. Automated generation of display layouts
US11016717B1 (en) * 2019-11-08 2021-05-25 Microsoft Technology Licensing, Llc Selective electronic content casting
KR20220012599A (ko) * 2020-07-23 2022-02-04 삼성전자주식회사 전자 장치에서 키패드를 이용한 컨텐츠 검색을 제공하는 방법 및 장치
KR102427890B1 (ko) * 2020-11-25 2022-08-01 네이버 주식회사 콘텐츠 배열을 위한 객체를 제공하는 방법 및 시스템
US11570129B2 (en) * 2021-06-06 2023-01-31 Apple Inc. User interfaces for messaging conversations
US11816302B2 (en) * 2021-07-21 2023-11-14 EMC IP Holding Company LLC Techniques for user interface layouts
US20230059021A1 (en) * 2021-08-23 2023-02-23 Jobby Inc. Portal and interface system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030020671A1 (en) * 1999-10-29 2003-01-30 Ovid Santoro System and method for simultaneous display of multiple information sources
CN1610516A (zh) * 2001-11-01 2005-04-27 斯科特实验室公司 用于镇静剂与镇痛剂输送系统与方法的用户界面
CN1716252A (zh) * 2004-06-30 2006-01-04 微软公司 模板化列表中的对齐行为
CN101867489A (zh) * 2010-06-11 2010-10-20 北京邮电大学 实现实时显示的社会网络可视化方法及系统
CN102193795A (zh) * 2010-03-12 2011-09-21 国际商业机器公司 布局变换装置、布局变换程序以及布局变换方法

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5838317A (en) * 1995-06-30 1998-11-17 Microsoft Corporation Method and apparatus for arranging displayed graphical representations on a computer interface
US5796401A (en) 1996-08-09 1998-08-18 Winer; Peter W. System for designing dynamic layouts adaptable to various display screen sizes and resolutions
WO1998032081A1 (fr) * 1997-01-21 1998-07-23 Pfu Limited Procede et dispositif de preparation d'un texte original et support de stockage de programme correspondant
US6128655A (en) * 1998-07-10 2000-10-03 International Business Machines Corporation Distribution mechanism for filtering, formatting and reuse of web based content
US6993657B1 (en) * 2000-09-08 2006-01-31 Oracle International Corporation Techniques for managing database systems with a community server
US20060015813A1 (en) * 2002-11-27 2006-01-19 Chung Hyun-Kwon Apparatus and method for reproducing interactive contents by controlling font according to aspect ratio conversion
US7246311B2 (en) 2003-07-17 2007-07-17 Microsoft Corporation System and methods for facilitating adaptive grid-based document layout
US7500186B2 (en) * 2004-08-30 2009-03-03 Microsoft Corporation Systems and methods for efficiently generating table layouts using moveable items
US7657830B2 (en) 2005-05-04 2010-02-02 Microsoft Corporation Layout size sharing in a grid layout for a user interface
CN100395751C (zh) * 2005-10-14 2008-06-18 华为技术有限公司 实现页面灵活布局的装置和方法
FI118867B (fi) 2006-01-20 2008-04-15 Professional Audio Company Fin Menetelmä ja laite tiedon hallinnoimiseen
US8924845B2 (en) * 2008-02-20 2014-12-30 Lsi Corporation Web application code decoupling and user interaction performance
CN101645084A (zh) * 2009-04-23 2010-02-10 中国科学院声学研究所 一种嵌入式浏览器对动态数据的处理方法
US8584047B2 (en) * 2010-05-18 2013-11-12 Microsoft Corporation Orbital representation of hierarchical navigation
US9679404B2 (en) * 2010-12-23 2017-06-13 Microsoft Technology Licensing, Llc Techniques for dynamic layout of presentation tiles on a grid
US20120284648A1 (en) * 2011-04-21 2012-11-08 Michael John Marshall Cascading Data Displays and Methods
US9183006B2 (en) * 2011-08-31 2015-11-10 Visan Industries Systems and methods for layout of graphic objects for electronic display, print or other output
TWI579827B (zh) 2011-09-23 2017-04-21 微軟技術授權有限責任公司 以動態佈局在網格上展現圖磚之技術
US20130283152A1 (en) * 2012-04-24 2013-10-24 Niranjan Damera Venkata Arranging text into columns

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030020671A1 (en) * 1999-10-29 2003-01-30 Ovid Santoro System and method for simultaneous display of multiple information sources
CN1610516A (zh) * 2001-11-01 2005-04-27 斯科特实验室公司 用于镇静剂与镇痛剂输送系统与方法的用户界面
CN1716252A (zh) * 2004-06-30 2006-01-04 微软公司 模板化列表中的对齐行为
CN102193795A (zh) * 2010-03-12 2011-09-21 国际商业机器公司 布局变换装置、布局变换程序以及布局变换方法
CN101867489A (zh) * 2010-06-11 2010-10-20 北京邮电大学 实现实时显示的社会网络可视化方法及系统

Also Published As

Publication number Publication date
WO2014074726A1 (en) 2014-05-15
US10133704B2 (en) 2018-11-20
US20140129910A1 (en) 2014-05-08
EP2917817A1 (en) 2015-09-16
CN104781806B (zh) 2017-08-04
CN107402906B (zh) 2020-12-08
CN107402906A (zh) 2017-11-28

Similar Documents

Publication Publication Date Title
CN104781806A (zh) 基于网格的应用中的动态内容布局
CN105009062A (zh) 浏览被显示为瓦块的电子消息
CN104737112B (zh) 文档中基于缩略图和文档图的导航
CN105378623B (zh) 插入式动态内容预览窗格
CN105144069A (zh) 对于显示内容的基于语义缩放的导航
CN105074741B (zh) 建议相关项
CN105264516A (zh) 文档协作和对改变的通知
CN105493481B (zh) 自动改变图形用户界面的显示的方法及系统
CN105431807A (zh) 在导航日历的同时显示生活事件
CN105229632A (zh) 在提交文档中建议改变之前查看该改变的效果
KR20190139902A (ko) 3 차원 환경 저작 및 생성
CN102929917A (zh) 动态内容馈源过滤
CN104704486A (zh) 用于内容选择和扩大内容选择的用户界面元素
CN104471566B (zh) 与作为应用的文档交互
CN105531694A (zh) 在电子表格中显示多个作者的在场
CN105378817A (zh) 将外部动态内容合并到白板中
CN105378769A (zh) 导航日历
CN106164891A (zh) 幻灯片展示表面
CN104471520A (zh) 位置相关拖放ui
CN105492999A (zh) 多设备环境中的应用/文档协作
CN105518604A (zh) 对套索选择的反馈
CN102929642A (zh) 格式对象任务窗格
CN105393266A (zh) 将来自不同内容源的内容聚集在云服务处
CN104081384A (zh) 用于为在线文档提供计算web服务的系统和方法
CN104603752A (zh) 跨平台共享应用代码

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
EXSB Decision made by sipo to initiate substantive examination
SE01 Entry into force of request for substantive examination
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20170609

Address after: Washington State

Applicant after: Micro soft technique license Co., Ltd

Address before: Washington State

Applicant before: Microsoft Corp.

GR01 Patent grant
GR01 Patent grant