首页> 中国专利> 用于在交互式站点与用于支持移动设备和其它显示环境的应用之间的自动转换的系统和方法

用于在交互式站点与用于支持移动设备和其它显示环境的应用之间的自动转换的系统和方法

摘要

一种能够经由具有至少一个处理器的客户端/服务器系统执行的转换装置,该至少一个处理器用于对定义所述转换装置的指令进行处理,转换装置包括:用于从网站构建系统接收网站页面的接收装置,该页面具有用于源显示区域的源布局,该页面具有组件的对象模型表示;以及用于确定组件的顺序和组件中的关系集并用于针对目标显示区域创建网站页面的目标布局的处理器,目标布局是基于语义分析以及对所确定的顺序和关系集的调节的,并且其中,源显示区域具有与目标显示区域不同的属性。

著录项

  • 公开/公告号CN105723358A

    专利类型发明专利

  • 公开/公告日2016-06-29

    原文格式PDF

  • 申请/专利权人 维克斯网有限公司;

    申请/专利号CN201480061637.X

  • 发明设计人 R·本-阿哈龙;N·亚拉伯罕弥;

    申请日2014-09-11

  • 分类号G06F17/00(20060101);

  • 代理机构72002 永新专利商标代理有限公司;

  • 代理人刘瑜;王英

  • 地址 以色列特拉维夫

  • 入库时间 2023-12-18 15:45:39

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-08-13

    授权

    授权

  • 2016-09-21

    实质审查的生效 IPC(主分类):G06F17/00 申请日:20140911

    实质审查的生效

  • 2016-06-29

    公开

    公开

说明书

相关申请的交叉引用

本申请要求保护来自2013年9月12日提交的、美国临时专利申请第61/876,795号的权益,通过引用将其整体并入本文。

技术领域

本发明涉及交互式应用的转换,并且具体来说,涉及移动设备平台。

背景技术

随着互联网的发展,在近些年来,用户已经越来越多地使用智能电话、平板设备和其它移动设备来访问网站和交互式引用。这些设备已经逐渐代替—或补充—全部特征台式个人计算机以及较旧的不那么有能力的“特色电话”两者。这应用于驻留在万维网上的网站,并且应用于现在可从主要的公司(例如,Apple、Google、Microsoft和Amazon)所提供的众多应用商店获取的其它交互式应用。

网站和交互式引用具有不同的显示形状因数和特性,这取决于在哪里查看它们,例如在台式PC上、小规模移动设备上和中等尺寸的移动平板设备上。

发明内容

根据本发明的优选实施例提供了一种可经由具有至少一个处理器的客户端/服务器系统执行的转换装置,该至少一个处理器用于对定义该转换装置的指令进行处理。该转换装置包括用于从网站构建系统接收网站页面的接收装置,该页面具有用于源显示区域的源布局,该页面具有组件的对象模型表示。该转换装置还包括用于确定组件的顺序和组件中的关系集并用于针对目标显示区域创建网站页面的目标布局的处理器,该目标布局是基于语义分析以及所确定的顺序和关系集的调节(reconciliation)的,并且其中,源显示区域具有与目标显示区域不同的属性。

此外,根据本发明的优选实施例,转换装置包括用于考虑对目标布局作出的独立修改而合并对源布局和目标布局的修改以创建更新的目标布局配置的重转换装置。

此外,根据本发明的优选实施例,处理器包括:用于分析组件的对象性质并用于修改它们在目标显示区域上的呈现的适合性的预处理器,用于定位应当保持在一起的组件的组并用于基于该组件的位置和组件的内容关系来创建超级节点的层级的超级节点创建装置。其还包括:用于确定超级节点中的每个超级节点内的元素的顺序的排序装置,用于基于所确定的顺序和组中的至少一个来将元素放置在目标布局内的放置装置;以及后置处理器,该后置处理器用于在显示之前调整所放置的元素。

此外,根据本发明的优选实施例,组件是原子组件、单页面容器组件和多页面容器组件中的至少一个。

此外,根据本发明的优选实施例,转换装置可在客户端、服务器和第三方服务器中的至少一个上执行。

此外,根据本发明的优选实施例,预处理器包括以下各装置中的至少一个装置:用于修改模板中的组件的实例的模板处理装置、用于过滤掉不适合于目标布局的组件的组件过滤装置、用于使组件与目标布局适配的组件适配装置、用于将组件调整到目标布局的组件调整装置、以及用于分析组件的属性以确定它们的使用适合性的组件分析装置。

此外,根据本发明的优选实施例,超级节点创建装置包括:用于对其中组件是高度重叠的组件的组进行定位、并用于根据分组标准来用虚拟元素替代该组的重叠组定位装置,用于根据模板、应用、页面或组件等级中的至少一个的提示来定位组件的组、并用于根据分组标准来用虚拟元素替代该组的预定义的组定位装置。超级节点创建装置还包括:用于对其中组件是覆盖在特定背景图像上方的文本组件的组件进行定位以根据分组标准来用虚拟元素替代该组的图像上方文本的组定位装置,用于确定重叠组定位装置、预定义的组定位装置和图像上方文本的组定位装置的正确性的确定性分数(certaintyscore)的评分装置;以及用于基于组件和虚拟元素来创建超级节点的层级的节点创建装置。

再进一步,根据本发明的优选实施例,排序装置包括:用于根据预定义的排序标准来确定超级节点中的元素的序列的基本排序装置,用于对超级节点中的元素的语义、内容、属性、编辑历史和几何结构中的至少一个进行分析的偏序集定位装置,用于确定基本排序装置和偏序集定位装置的正确性的确定性分数的评分装置,以及用于将由基本排序装置确定的序列与由偏序集定位装置定位的检测到的偏序集进行集成以创建经合并的修改的顺序的顺序集成装置。

此外,根据本发明的优选实施例,后置处理器包括:用于插入自动添加的组件和移动设备相关的组件中的至少一个的自动添加的组件插入装置以及用于执行动态布局锚点的创建、修改和移除中的至少一个的动态布局协调装置,其中,根据目标布局来调整锚点。

再进一步,根据本发明的优选实施例,基本排序装置包括以下各装置中的至少一个装置:用于根据行和列中的至少一个来按顺序排列超级节点中的元素的主方向排序装置、具有用于根据行和列中的至少一个来按顺序排列超级节点中的元素并用于追踪任何行/列的拆分和合并的带拆分和合并的主方向排序装置、以及用于交替对超级节点中的元素进行水平切割和垂直切割以创建划分的内部树并定义元素的显示序列的水平/垂直切割装置。

此外,根据本发明的优选实施例,放置装置包括用于对附加到超级节点中的元素的提示进行解释的提示解释装置,用于根据由节点创建装置和排序装置创建的提示来创建换行符的换行符创建装置,用于将宽度调整和高度调整中的至少一个应用于超级节点中的元素的尺寸调整装置;以及用于重新设置装饰图像的尺寸的重设尺寸装置。

此外,根据本发明的优选实施例,偏序集定位装置包括用于当与超级节点中的元素之间的规则间距相比超级节点中的元素在接近度上更靠近时检测群集的偏序集的群集的偏序集定位装置,用于当存在靠在一起的给定类型的超级节点中的元素的特定组合时检测语义关系偏序集的语义偏序集定位装置;用于当在超级节点中的元素之间存在设置的模式时检测偏序集的模式偏序集定位装置,用于基于以下各项中的至少一项来检测偏序集的预定义的偏序集定位装置:现有的编辑相关的分组定义、现有的动态布局锚点信息以及对用于不同组件集的组件模板的重新使用;以及用于基于从先前的编辑会话所收集到的信息来检测超级节点中的元素的偏序集的基于编辑会话信息的偏序集定位装置。

此外,根据本发明的优选实施例,自动添加的组件和移动设备相关的组件中的至少一个包括:目标设备的特定小部件、导航菜单、广告和促销材料的至少其中之一。

更进一步,根据本发明的优选实施例,转换装置具有模式偏序集定位装置,并且其中,水平/垂直切割装置包括用于基于以下各项中的至少一项来确定超级节点中的元素的切割方向的元素划分装置:划分装置的数量、在给定的投影方向上找到的间隙的尺寸、所定位的模式偏序集以及在两个方向上与轴投影对齐的质量。

此外,根据本发明的优选实施例,组件过滤装置包括用于移除不适合于目标布局显示的组件的移除装置,以及用于隐藏不适合于目标布局显示的组件的隐藏装置。

此外,根据本发明的优选实施例,组件适配装置包括用于修改组件的尺寸和宽度的修改装置,用于联合菜单组件的联合装置,用于更新内容相关的适配的内容更新装置,用于创建合成菜单的创建装置以及用于转换基于字符的图形的字符转换装置。

此外,根据本发明的优选实施例,组件调整装置包括用于在源布局与目标布局之间创建字体大小映射的映射装置。

更进一步,根据本发明的优选实施,组件分析装置包括用于当组件是图像组件时将这些组件缝合成单个图像的图像缝合装置以及用于区分装饰图像的装饰图像处理装置。

此外,根据本发明的优选实施例,重转换装置包括用于当从源布局中删除页面时从目标布局中删除该页面的页面删除装置,用于当页面被添加到源布局时将该页面添加到目标布局的页面添加装置,用于当从源布局中删除组件时从目标布局中删除该组件的组件删除装置,用于当组件被添加到源布局时将该组件添加到目标布局的组件添加装置,用于当在源布局中修改组件时从目标布局中修改组件的组件修改装置以及用于处理对目标布局的修改的移动设备处理装置,其中,该修改独立于对源布局的修改。

此外,根据本发明的优选实施例,组件添加装置包括用于搜索最靠近于源布局的添加的组件的、最近的前驱组件和父组件中的至少一个的父/前驱搜索装置,以及用于根据最近的前驱组件和父组件中的至少一个的位置来将添加的组件插入目标布局的移动设备布局添加装置。

根据本发明的优选实施例,提供了可在计算设备上执行的方法,该方法包括从网站建设系统接收网站页面,该页面具有用于源显示区域的源布局,该页面具有组件的对象模型表示,以及确定组件的顺序和组件之中的关系集,以及创建用于目标显示区域的网站页面的目标布局,该目标布局是基于语义分析和对所确定的顺序和关系集的调节的,其中,源显示区域具有与目标显示区域不同的属性。

此外,根据本发明的优选实施例,该方法还包括考虑对目标布局作出的独立的修改而合并对源布局和目标布局的修改,以创建更新的目标布局配置。

此外,根据本发明的优选实施例,确定和创建包括分析组件的对象性质并修改它们的适合性以便在目标显示区域上呈现,定位应当保持在一起的组件的组并基于组件的位置和组件的内容关系来创建超级节点的层级。其还包括确定超级节点中的每个超级节点内的元素的顺序,基于所确定的顺序和组中的至少一个来将元素放置在目标布局内以及在显示之前调整所放置的元素。

更进一步,根据本发明的优选实施例,组件是原子组件、单页面容器组件和多页面容器组件中的至少一个。

此外,根据本发明的优选实施例,分析和修改包括以下步骤中的至少一个步骤:修改模板中的组件的实例、过滤不适合于目标布局的组件、使组件与目标布局适配、调整目标布局的组件以及分析组件的属性来确定它们的使用适合性。

此外,根据本发明的优选实施例,定位和创建包括:对其中组件是高度重叠的组件的组进行定位并根据分组标准来用虚拟元素替代该组,根据模板、应用、页面或组件等级中的至少一个的提示来定位组件的组并根据分组标准来用虚拟元素替代该组,对其中组件是覆盖在特定背景图像上方的文本组件的组件进行定位并根据分组标准来用虚拟元素替代该组,确定以下各步骤的正确性的确定性分数:对其中组件是高度重叠的组件的组进行定位,根据模板、应用、页面或组件等级中的至少一个的提示来定位组件的组,以及对其中组件是覆盖在特定背景图像上方的文本组件的组件进行定位;以及基于组件和虚拟元素来创建超级节点的层级。

此外,根据本发明的优选实施例,确定顺序包括:根据预定义的排序标准来确定超级节点中的元素的序列以及分析语义、内容、属性、编辑历史和超级节点中的元素的几何结构中的至少一个,确定以下两个步骤的正确性的确定性分数:根据预定义的排序标准来确定超级节点中的元素的序列,以及分析超级节点中的元素的语义、内容、属性、编辑历史和几何结构中的至少一个;以及将通过确定以下两个步骤的正确性的确定性分数所确定的序列进行集成,并创建经合并的修改的顺序:根据预定义的排序标准来确定超级节点中的元素的序列、以及分析超级节点中的元素的语义、内容、属性、编辑历史和几何结构中的至少一个。

更进一步,根据本发明的优选实施例,调整包括:插入自动添加的组件和移动设备相关的组件中的至少一个以及执行动态布局锚点的创建、修改和移除中的至少一项,其中,根据目标布局来调整锚点。

此外,根据本发明的优选实施例,根据预定义的排序标准来确定超级节点中的元素的序列包括以下各步骤中的至少一个步骤:根据行和列中的至少一个来按顺序排列超级节点中的元素,根据行和列中的至少一个来按顺序排列超级节点中的元素并追踪任何行/列的拆分和合并,以及交替对超级节点中的元素进行水平切割和垂直切割并创建划分的内部树并定义针对元素的显示序列。

此外,根据本发明的优选实施例,放置包括:解释附加到超级节点中的元素的提示,根据通过以下两个步骤所创建的提示来创建换行符:定位应当保持在一起的组件的组和基于组件的位置以及组件的内容关系来创建超级节点的层级,应用对超级节点中的元素的宽度调整和高度调整中的至少一个,以及重新设置装饰图像的尺寸。

此外,根据本发明的优选实施例,根据预定义的排序标准来确定超级节点中的元素的序列包括:当与超级节点中的元素之间的规则间距相比,超级节点中的元素在接近度上更靠近时检测群集的偏序集,当存在靠在一起的、给定类型的超级节点中的元素的特定组合时检测语义关系偏序集,当在超级节点中的元素之间存在设置的模式时检测偏序集,基于以下各项中的至少一项来检测偏序集:现有的编辑相关的分组定义、现有的动态布局锚点信息和对用于不同组件集的组件模板的重新使用,以及基于从先前的编辑会话所收集到的信息来检测超级节点中的元素的偏序集。

此外,根据本发明的优选实施例,自动添加的组件和移动设备相关的组件中的至少一个包括目标设备的特定小部件、导航菜单、广告和促销材料的至少其中之一。

再进一步,根据本发明的优选实施例,当在超级节点中的元素之间存在设置的模式时以及当交替对超级节点中的元素的水平和垂直切割时检测偏序集包括:基于以下各项中的至少一项来确定超级节点中的元素的切割方向:划分装置的数量、在给定的投影方向上找到的间隙的尺寸、当在超级节点中的元素之间存在设置的模式时检测偏序集、以及在两个方向上与轴投影对齐的质量。

更进一步,根据本发明的优选实施例,过滤包括:移除不适合于目标布局显示的组件以及隐藏不适合于所述目标布局显示的组件。

此外,根据本发明的优选实施例,适配包括:修改组件的尺寸和宽度,联合菜单组件,更新内容相关的适配,创建合成菜单以及转换基于字符的图形。

此外,根据本发明的优选实施例,调整包括在源布局与目标布局之间映射字体大小。

此外,根据本发明的优选实施例,分析包括:当组件是图像组件时将组件缝合成单个图像以及区分装饰图像。

再进一步,根据本发明的优选实施例,重转换包括:当页面从源布局中删除时从目标布局中删除该页面,当页面被添加到源布局时将页面添加到目标布局,当组件从源布局中删除时从目标布局中删除该组件,当组件被添加到源布局时将组件插入目标布局中,当在源布局中修改组件时从目标布局修改组件以及处理对目标布局的修改,其中,这些修改独立于对源布局的修改。

此外,根据本发明的优选实施例,添加组件包括:搜索最靠近于源布局的添加的组件的、最近的前驱组件和父组件中的至少一个,以及根据最近的前驱组件和父组件中的至少一个的位置来将添加的组件插入目标布局中。

附图说明

特别指出了被认为是本发明的主题,并且在说明书的总结部分中明确请求了该主题。然而,当结合附图来阅读时,可以通过参考以下具体实施方式来最佳地理解本发明(关于组织和操作方法两者)连同其目标、特征、以及优点,在附图中:

图1是根据本发明所构建的和操作的、用于在平台之间转换视觉应用的系统的示意性例示;

图2是根据本发明所构建的和操作的、初始布局转换装置中的元素的示意性例示;

图3是当移动组件时打破动态布局锚点的示意性例示;

图4是在移动显示设备中垂直线为何不相关的示意性例示;

图5是根据本发明所构建的和操作的、超级节点创建装置中的元素的示意性例示;

图6是由于字体大小和字段长度变化而造成的所需要的文本回流的例示;

图7是当在不保留高宽比的情况下重新设置尺寸时看起来不正确的图片;

图8A、图8B和图8C是如根据本发明所执行的、在视觉应用与它们的对应的超级节点结构之间进行映射的示意性例示。

图9是在重新布置之前的容器内的组件的示意性例示;

图10是在重新布置之后的图9中的组件的示意性例示;

图11是根据本发明所构建的和操作的、排序装置中的元素的示意性例示;

图12是具有多种可能的阅读顺序的四个文本段落布置的示例性例示;

图13是包括两个文本段落和两幅图片、具有多种可能的阅读顺序的布置的示意性例示;

图14A、图14B以及图14C是根据本发明执行的、将超级节点内的元素的组转换到元素图中的示意性例示;

图15A、图15B和图15C是根据本发明所构建的和操作的、示出了带拆分和合并的主方向排序装置的功能的算法;

图16A、图16B、图16C、图16D、图16E、图16F、图16G和图16H是根据本发明所构建的和操作的、图15A、图15B和图15C中的带拆分和合并的主方向排序装置的过程的示意性例示;

图17是网站布局的示例;

图18是根据本发明所构建的和操作的、超级节点的水平和垂直划分的示意性例示。

图19是根据本发明所构建的和操作的、基于先前的模式相似性分析来评估垂直和水平划分的示例;

图20是根据本发明所构建的和操作的、由于组件更好地在水平线上对齐而如何更偏好超级节点的垂直划分的示意性例示;

图21是互锁的元素配置的示意性例示;

图22是具有交换的位置的组件对的示意性例示;

图23是四个图片组件如何以两种方式被划分成对的示意性例示;

图24是在自动切掉添加的组件之后的剩余的非矩形显示形状的示意性例示;

图25是根据本发明所构建的和操作的、重转换装置中的元素的示意性例示;

图26是根据本发明所构建的和操作的、组件添加装置中的元素的示意性例示;

图27是根据本发明所构建的和操作的、图25中的重转换装置的功能的示意性例示;

图28A、图28B、图28C、图28D、图28E、图28F和图28G是根据本发明所构建的和操作的、当将网页从桌面布局配置转换或重转换为移动设备布局配置时的组件的设置的示意性例示;

图29是将组件插入到网页的移动设备版本中的方法的示意性例示;以及

图30是从网页的移动设备版本中移除组件的示意性例示。

将意识到,为了例示的简单和清楚起见,附图中示出的元素并不是必须要按比例绘制。例如,为了清楚起见,元素中的某些元素的尺寸可以相对于其他元素放大。此外,当认为适当时,可以在附图中重复附图标记,以指示对应的或类似的元素。

具体实施方式

在以下具体实施方式中,阐述了许多具体细节,以便提供对本发明的透彻理解。然而,本领域技术人员将理解,在没有这些具体细节的情况下可以实施本发明。在其它实例中,并未详细描述公知的方法、过程、和组件,以便不会使本发明难以理解。

申请人已经认识到,现有的站点和应用通常是针对台式PC设计的,其中,高分辨率的大型显示设备是非常常见的。单使用较小型的显示设备来访问这些站点和应用时,出现许多问题,包括(例如):过量的需要的滚动(尤其是水平滚动);困难的导航;非适配于移动设备的字体大小;并不适配于移动触摸屏的设计和显示组件等等。

由于这些站点可以在诸如平板电脑和移动电话之类的不同尺寸的平台上浏览,因此将需要开发者创建多个版本的站点或应用,以支持这些多个使用场景并保持原始站点的外观和感觉。这些版本可以以多种方式而不同,包括视觉布局、使用的显示组件(小部件)、触摸屏方向等等。

申请人也已经认识到,用于将网站视图转换为符合相关浏览平台的现有系统通常目的在于解决用于对使用诸如HTML(超文本标记语言)和XML(可扩展标记语言)之类的标记语言来设计的网站进行转换的问题。这些可以是直接用给定的标记语言设计的站点,或者使用代码生成装置来创建,代码生成装置创建用于稍后托管(hosting)的标记语言文件。

现有的系统也关注于解析原始网站,从中提取内容信息,并创建经修改的移动站点。这种技术通常源自于光学字符识别(OCR)和网页分析系统,其目的在于内容提取而非内容和设计适配。因此,现有的系统通常如此操作以提取内容并使得其可在较小的设备上阅读——同时消除了原始站点的许多设计和外观以及感觉。

将意识到,对现有网站的分析可能是复杂的。具体来说,站点的某些部分可能是动态生成的,并且站点元素之间的关系也可能是程序上实现的。因此,精确地理解站点是困难的——除非在站点的操作期间(例如,通过运行在转换服务器上的无头浏览器)执行转换。然而,该后者方法具有相当大的开销,并且具体来说,每一次由每个用户获取网页,该方法都可能需要给定的页面可以适配于移动尺寸——而不是转换一次,其中,转换结果对于所有的用户反复使用。

现有系统的另一个问题是在转换时支持对原始网站的改变和编辑。将意识到,已经开发了某些系统以试图将最新的页面版本与相同页面的先前版本进行比较,并尝试找出差异。这已经基于文本相似性、源文件的位置、字体使用等等来使用比较规则完成。这通常需要设计者手动创建移动设备版本与原始台式机版本的元素之间的绑定(binding)。

然而,由于与转换过程分开执行页面编辑,因此站点可能在两个版本之间大幅变化。例如,新的开发者(具有完全不同的风格)可能已经开始在站点上工作。或者,新的技术或库可能已经嵌入在站点中。现有的系统可能试图比较两个站点版本—它们可以是彼此非常不同的(内部),尽管它们看起来是相同的。对相同站点的两个版本的比较可以启发式地完成,但将仍然不能匹配严重修改的站点元素。

申请人已经认识到,以上提及的限制可以通过使用面向对象的视觉设计系统来克服。这种系统可用于创建交互式应用和站点,并可以用于针对给定的应用在不同的显示平台之间保持和创建平行布局定义。视觉设计系统还可以提供站点的内部的、一致的对象数据模型,对于所有的站点对象都具有明确指定的属性。因此,视觉设计系统可以为具有单组组件的单个站点或应用提供多个视觉布局。

申请人还认识到,使用这种视觉设计系统可以包括可用于检测组件变化和组件关系的收集的编辑会话历史信息。因此,例如,如果设计者复制一对对象(称为照片和标题)若干次,则可以推断,这样的对可以是相关的,并且很可能该对的成员应当在转换为移动时保持紧挨着。因此,可以转换容器对象等,而同时保持它们的原始对象层级和关系。其它信息可以包括编辑或移动到一起的对象,历史上成组的对象、通过复制预先存在的对象或对象集以及对象编辑的时间(即,是否存在序列中应用到对象的某个子集的特定变化)所创建的对象或对象集。

视觉设计系统通常可具有每个对象的独特的标识符(ID)。这种ID可用于匹配不同的站点版本并保持站点变化一致。此外,视觉设计系统可以采用动态布局,包括进行控制布局变化的所显示的组件之间的锚点。这些锚点可用于获得另外的分组和布局信息,并且还可以用于将布局微调到不同的移动显示尺寸。转换子系统实际上可以自动生成另外的动态布局锚点,以便在显示期间以后使用。

此外,由于智能电话已经激增,因此,全尺寸和高级HTML浏览(与台式机上可用的类似)也已经在移动环境中变得常见。因此,需要可以对所有平台(台式机、平板设备和移动设备)使用类似的处理以便利用在所有平台上可用的高级浏览器的系统。

将意识到,视觉应用可以是诸如可商业上从Microsoft有限公司获得的PowerPoint呈现程序之类的独立的系统,或者可嵌入在诸如也可商业上从Microsoft有限公司获得的MicrosoftWord自选图形编辑器之类的较大的编辑系统内部。这些应用通常可以包括可进一步被布置在包含页面的原子组件内部的容器层级(单页面和多页面)中的页面和组件。多页面容器也可以显示多个迷你页面。

页面还可以包括列表应用(例如,在2014年3月13日提交的并被转让给本发明的共同受让人的、题为“WEBSITEBUILDINGSYSTEMINTEGRATINGDATALISTSWITHDYNAMICCUSTOMIZATIONANDADAPTATION”的美国专利申请第14/207,761中所讨论的)和第三方应用。页面还可以使用诸如通用页面模板或组件模板之类的模板。具体的情形为对包含在所有其它常规页面中所复制的组件的应用主页面的使用。一个页面或一组页面内部的组件的布置可以被称为布局。将意识到,以下讨论描述了由矩形平行轴组件和容器组成的布局。其它布局还可以包括非矩形组件和容器,具体来说,容器包括多种类别的对象,例如,经旋转的对象或偏斜的对象以及由多个区域组成的对象,例如可具有视频显示区域和视频控制区域的视频播放器组件。这些区域可以是连接的、拆散的或交叉的。其它布局也可以包括由任意几何形状组成的对象。

将意识到,可以通过针对每个非矩形对象使用围合的矩形或者通过适配几何图元来处理延伸的非矩形对象来完成对这些非矩形多区域对象的处理。适配可以包括投影到轴线、形状之间的距离;形状之间的最小/最大方向距离(例如,垂直距离或水平距离)、形状交叉检测;形状/线条交叉检测;交叉区域计算和形状面积计算。

还将意识到,每个应用都可以具有多个布局配置,例如台式机(肖像和风景)和移动设备。网站组件的某些性质还可以具有单位布局配置值,例如实际的组件内含物(例如,特定组件可能是仅移动设备的,或者可以是仅台式机/平板设备的)。这可能是容器组件——所有所包含的成员共同受到影响。其它性质可以包括尺寸(h,w)、位置(x,y)、z-顺序信息、式样(字体、大小、颜色)、颜色、多形态的组件类型(例如,给定的图库可以针对台式机和移动设备列表组件使用不同的图库类型)、菜单/图库设置(例如,列/行的网格图库#)、第三方应用变型(对于具有多种变型的第三方应用,该多种变型具有不同的显示尺寸)以及列表应用视图关联——对于给定的项目类型或与视图相关联的项目,可以针对不同的列表组件指定不同的视图。

还将意识到,每个布局配置都可以具有默认的屏幕尺寸值(以像素)。实际的屏幕尺寸可能到某种程度不同,经由对相关视觉设计系统的动态布局支持来处理这种差异。台式机布局配置可以是主布局配置,这是因为其具有最大的屏幕宽度。其它布局配置可以被认为是主布局配置的映像(shadow)布局配置,并可以具有与主布局配置的屏幕宽度和高度不同的屏幕宽度和高度。具体来说,映像布局配置的宽度可以小于主布局配置(例如,移动电话显示设备),可以与主布局配置类似(例如,平板设备)或者大于主布局配置(例如,大显示屏幕)。

还将意识到,当将应用页面或网站页面从台式机版本转换为移动设备版本时,存在两个相冲突的目标:保留缩小的版本上的页面上的内容的可阅读性、以及保留页面的视觉布局。现有系统大多数目标在于以设计的代价来提取内容(例如,题为“SMALLFORMFACTORWEBBROWSING”的美国专利第7,203,901号)。这些系统从公开的OCR/网页分析算法中获得,该算法从感兴趣的区域中提取文本,并且这些系统并不企图(或者做最少的努力)保留现有的视觉网站设计。

某些算法试图通过缩小整个页面或其元素来保留设计和/或布局到某种程度。然而,这种缩小是非常有限的,因为(具体来说)随着字体大小减小,文本内容很快变得不可阅读。

现在参照图1,其例示了根据本发明的实施例的用于在平台之间转换视觉应用的系统100。

系统100可以包括初始布局转换装置200、布局重转换装置300以及数据库50。初始布局转换装置200还可以包括页面接收装置210和处理器250。转换装置200可以首次将主布局配置从台式机转换到用于移动设备的映像布局配置。重转换装置300可以在已经编辑主布局配置应用之后重新转换布局配置。所有的应用和配置都可以储存在数据库50上。

系统100可以被安装为服务器150上的网站建设系统的部分,其具有与表示各个平台的各个客户端5进行通信的能力,各个平台例如为经由适当的通信介质(例如,互联网)的桌面5A、智能电话5B和第3方系统接口(程序到程序通信)5C。服务器150可以针对平台中的每个平台储存不同的布局配置(包括针对每个单独平台的多个布局配置)。在替代的实施方式中,系统100也可以在客户端上本地运行或者可以适配于经由适当的API(应用程序接口)提供至另一个系统的服务。

将意识到,初始布局转换装置200可以将应用中的每个页面转换为足够窄的版本,从而可以使用垂直滚动和最小的(如果有的话)水平遮蔽(screening)来在较窄的屏幕上浏览该页面。将意识到,当系统100适当地集成时(例如,在网站建设系统的相关客户端上运行),系统100可以在响应模式中执行转换,在响应模式中,每次屏幕的尺寸变化都可以计算新的布局。

现在参照2,其例示了处理器250中的元素。处理器250包括预处理器201、超级节点创建装置230、排序装置240、放置装置270和后置处理器202。预处理器201可以包括模板处理装置206、组件过滤装置221、组件适配装置225、组件调整装置227以及组件分析装置229。后置处理器202可以包括自动添加的组件的插入装置282和动态布局协调装置284。将意识到,得到的目标布局配置可以通过显示装置290经由相关网站建设系统来显示。可以意识到,如果系统100完全与相关网站建设系统集成,并直接修改其数据结构,则后置处理器202也可以执行数据结构恢复的后置处理阶段,以便适配经修改的网站建设系统的数据结构来由显示装置290进行显示。

将意识到,初始布局转换装置200可以分别处理应用或网站的每个页面。在常规模式中,其可以将每个页面转换为足够窄以及通常足够长的版本,从而可以使用垂直滚动和最小水平放映来在较窄的移动屏幕上浏览该页面。还将意识到,诸如较大的平板设备和户外显示屏幕之类的某些目标设备可以具有比原始台式机屏幕宽的屏幕,并且因此,变窄可能不是需要的,而是适配为较大的显示宽度。

初始布局转换装置200可以处理三维(屏幕的x,y坐标和显示z-顺序)的组件集,并可以将其转换成在数学意义上的经排序的集合。所生成的总顺序可以表示用户在相关页面上阅读信息的顺序。初始布局转换装置200随后可以在较窄的移动显示设备上显示经排序的组件。

初始布局转换装置200可以基于如下文中更详细描述的对组件的分析以及它们的内容关系来对页面进行处理,以进行转换,将相关页面划分成超级节点。

预处理器201可以针对目标配置布局分析相关页面的组件的适合性,并在需要的情况下对现有组件作出修改。尽管已经配置了布局的不同组合,但下面的示例讨论了从台式机布局配置至移动设备布局配置的转换。模板处理装置206可以创建模板中的元素的经修改的实例(如果它们存在)。组件过滤装置221可以将组件过滤至它们对移动设备布局配置的适合性,组件适配装置225可以特别针对移动设备布局配置来适配组件,组件调整装置227可以特别针对移动设备布局配置来调整组件,并且组件分析装置229可以对组件(包括它们的内容、几何结构以及任何其它属性)进行分析,以便确定它们的实际用途。例如,照片组件可以是背景图像或内容图像—由系统100的其它部分影响其处理。

超级节点创建装置230可以定位应当保持在一起的组件(例如,高度重叠的组件)的组。超级节点创建装置230还可以基于当前页面和容器层级内的元素来创建超级节点的层级(有可能修改容器层级,如下面进一步描述的)。排序装置240可以为超级节点中的每个节点的元素确定顺序。放置装置270可以基于所确定的顺序来在移动布局区域内放置节点元素,并且后置处理器202可以根据需要对布局作出任何最后的调整。自动添加的组件的插入装置281可以插入任何自动添加的组件(如下面将更详细讨论的)以及应当后置排序地被插入的其它关于移动设备的组件(例如,特定于移动设备的菜单),并且动态布局协调装置284可以修改任何现有的锚点(如果在放置后需要)。显示装置290可以在移动设备平台上显示新的布局,如下文中更详细描述的,可能针对特定的移动设备平台执行最后的调整。

页面接收装置210可以接收即将转换的、具有台式机布局配置的网页,并可以将该页面转发给页面预处理器201。

如上文中所讨论的,可以存在容器层级,该容器层级可以提供页面的逻辑布置上的额外信息。该层级可以包括常规包含关系以及平行包含关系,例如多个平行迷你页面包含在一个多页面容器内。预处理器201可以在处理的开始分析该层级和任何特定的容器关系,以便收集可能对处理有用的信息。预处理器201还可以确定目标应用的屏幕尺寸并提取导航菜单(全局站点的和特定于页面的)并将它们合并,以创建一个或多个同意的页面菜单,例如顶部和底部菜单。

将意识到,相关视觉设计系统可以支持模板,包括多级模板和多个继承的模板。这些模板可以包括单个页面、多个页面或页面中的元素。模板处理装置206可以创建模板中的元素的经修改的实例,因此,模板的实例由本地修改所应用的模板组件组成。模板处理装置206还可以作出必要的特定修改,以便将其适配到移动设备布局配置。例如,如果继承的组件离页面的顶部或底部足够近,则它们可以包括在特定于页面的页眉或页脚中(如适当的)。所继承的组件可以在继承它们的每个页面中进行逻辑复制(连同修改)。

还将意识到,相关视觉设计系统可以保留所继承的组件的单个副本,但可以允许向它们应用每个页面的布局(因为在每个页面中对移动设备的适配可能是不同的)。模板处理装置206可以使用这个关于给定组件集的原始模板的信息,以基于模板创建组件组——确保对模板的原始内容的更好的一致性。单独地针对相关网站的每个页面,预处理器201可以考虑诸如目标屏幕的尺寸之类的参数而检查元素。组件过滤装置221可以移除或隐藏不适合于移动设备显示的组件。这些组件可以包括,例如,垂直分隔线(而不是水平分隔线)、AdobeFlash内容(其不能在某些移动设备系统上播放)或装饰性的框架。在进一步处理之前,移除完全不适合于移动设备显示的组件。对于不推荐用于移动设备显示的组件,组件过滤装置221可以选择隐藏它们而非完全移除它们。在这种情况下,网站设计者能够在它们将通过移动设备修改显示GUI是可视的以及可重新插入(如下文中进一步详细描述的)时将它们重新插入到移动设备布局配置中。将意识到,某些组件可能是不适合于或者不推荐用于移动设备平台的,但仍然为初始布局转换装置200提供大量信息。

现在参照4,其例示了在台式机版本上的组件之间的垂直线E。例如,组件之间的垂直线将在如示出的移动设备布局配置上是毫无用处的,因为其将通常被转换成组件集之间的长(和空的)间距。如例示出的,当组件A、B、C、D被重新布置为对于较窄的移动显示设备垂直地叠置时,垂直线E将具有浪费的显示空间并因此应当被移除。然而,垂直线在向初始布局转换装置200发送信号的方面仍然是非常有用的,4个组件A、B、C和D应当被布置为A+B和C+D而不是被布置为A+C和B+D。为了利用该信息,组件过滤装置221可以将垂直线标记为“完全移除”或“之后隐藏”,但仍然添加不可视的、0宽度的线,这条线为初始布局转换装置200提供了必要的分配信息。

组件适配装置225可以采用宽度减小的手段,与如下文中详细描述的、可以由放置装置270采用的手段类似(无论何时,可以在该预处理阶段激活这些手段)。例如,组件适配装置225可以将组件切换到“较亮”的移动设备版本。例如,将可以显示多个迷你页面(例如,折叠类型)的图库切换到每次显示单个所包含的迷你页面的图库。组件适配装置225还可以提供给定组件的特定的“轻量级”版本,以便用于所创建的应用的移动设备版本中(通过单独的版本或为移动显示设备定制的不同的视图)。

组件适配专职225还可以处理关于内容的适配,例如将基于字符的图形转换为基于矢量的可扩展图形。设计者有时候使用文本字符作为装饰或分隔符,例如“///////////”、“--------------”、“-=-=-=-=-=-=”。一旦转换为类似的基于矢量的形状,可以准确地重新设置它们的尺寸,而不需要文本处理。

组件适配装置225还可以将菜单组件联合到统一的移动设备友好的(小版式的)菜单中。页面通常包含用于内部页面导航和页面内导航两者的多个导航菜单。此外,某些页面可以包含以不同方式定义的多个菜单,例如在页面自身中定义的菜单,由在页面中使用的页面模板得到的菜单(例如,包含菜单的应用全局的页眉和页脚)以及基于应用结构自动定义的菜单(例如,顶级页面导航菜单)。组件适配装置225还可以创建合成菜单(一个或多个)并取决于诸如所评估的菜单至给定的创建的合成菜单的接近度之类的标准来将菜单合并到合成菜单中(例如,将在页面的顶部200像素开始的所有菜单联合到单个顶级菜单中)。组件适配装置225可以直接插入单个(统一的和移动设备友好的)或多个经修改的菜单,或者可以“后置”它们以在后面的阶段包括进去(例如,通过放置装置270或通过自动添加的组件的插入装置281)。如果(一个或多个)菜单以这种方式并非添加为常规组件布局的一部分,而是添加为“漂浮的”、有条件地激活的、等等,则这是尤其相关的。

组件调整装置227可以修改组件参数来减小它们的宽度。其示例是将矩阵图库组件修改至仅为1-2列。组件调整装置227还可以将利用大的装饰性边线所限定的组件修改成相同组件的较简单的、较少装饰性的版本。

组件调整装置227可以重新设置组件的尺寸以反映所使用的实际尺寸。例如,其可以使用围合的矩形来根据实际文本内容缩小文本组件。

组件调整装置227还可以“分解”紧密包围内部组件的容器。例如,如果容器紧密包围子容器,而在较大的容器中没有额外组件,则其可以移除内部容器,将两个容器合并成一个。将意识到,以这种方式,节省了层级级别,因为容器对过程来说是透明的。

设计者有时候添加相同图像的多个部分,它们共同在视觉上形成单个图像。组件调整装置227可以采用“图像拼接”并使用多个这种图像组件的属性和内容来检测它们是否应当被拼接成单个图像。该决策可以基于编辑历史—如果曾经共同创建和/或修改图像,基于相邻图像边缘的尺寸的类似性、基于与图像之间的间距相比的相邻图像边缘的重叠的长度或者基于在边界上使用类似颜色/特征(通过使用图像内容分析装置来检测)。

组件调整装置227可以采用字体大小映射。在任何给定的应用或页面中的文本可以使用各种各样的字体大小。这些大小可以被映射到给定的(较小)的范围,以便在移动设备上使用——同时如果可能的话,保持字体大小差异。某些字体大小可能太小而某些字体可能太大。映射是非线性的,即,不乘以固定因数。然而,其是字体大小的单调函数。组件调整装置227可以收集所使用的字体大小的范围,并将该范围映射到所允许的移动设备字体大小的范围。组件调整装置227可以提供这种映射,该映射是整个系统的、或者在用户级、应用级、页面级、或组件级是特定的。

在特定于应用/页面的字体大小映射中,组件调整装置227可以算出以每个给定的字体大小的文本(字符)的量,并随后使用正态(高斯)累积分布函数,因此,大多数常用的字符大小被映射到所允许的移动设备字体大小的范围的中央处的字体大小。将意识到,还可以通过特定于移动设备布局配置的字体大小重新缩放调整来修改这种字体大小。

还将意识到,当处理组件结构时,在装饰图像与内容图像(后者是实际的特定于页面的数据的部分)之间进行区分是重要的。装饰图像可以较自由地进行缩放和修剪,因为它们的内容对于应用的实际使用是不重要的。此外,应当与下面的分析算法中的其它组件类似地来分析内容图像,而不应当对装饰图像进行分析。组件分析装置229可以基于以下各项中的任意一项来像那样识别装饰图像:特定的“装饰图像”组件类型或通过模板/对象/组件类型/设计者水平的特定提示。组件分析装置229还可以使用意味着图片充当装饰的运算符(operator)(例如“按行重复图片”)来识别图像是否覆盖区域,例如,图像覆盖了其驻留的容器的全部(或大部分),图像是否为多个组件的背景,或者图像是否适配到其组件的显示区域。装饰图像并不总是相对于它们内部所包含的组件是“紧密的”,这常常是因为对所涉及的特定图像的选择。

一旦已经如上文中所描述的那样修改了元素,超级节点创建装置230就可以定位可高度覆盖的或者以其它方式相关的并且应当共同处理的组件的组。这是必须的,因为(例如)高度覆盖的组件可能形成合成体,因此它们必须被放置在一起,以便当重新设置尺寸时保持相同的内部比例。将意识到,一旦已经定位了所有组,超级节点创建装置230随后就可以基于当前页面和/或容器层级来将得到的组件的层级设置转换成超级节点的层级,从而在不同的结构等级存在多个总的顺序。对于每个个体的页面或迷你页面(在单个页面内或多个页面容器内),超级节点可以被称为页面超级节点。还将意识到,每个超级节点都可以被认为是单独的实体,并且一旦进行了定义,超级节点内的对象就可以进行重新布置(如下文中详细描述的)。

还将意识到,某些所定位的组也可以被转换成虚拟超级节点(如下文中更详细描述的),其随后可以被处理为与如上文中所描述的页面超级节点类似的单个组件。将意识到,每种虚拟超级节点类型都可以具有在被创建时所限定的相关联的移动设备适配方法,例如以具体方式重新缩放、有限的重新设置尺寸、重新组织等。

现在参照5,其例示了超级节点创建装置230中的元素。超级节点创建装置230可以包括重叠组定位装置232、图像上方文本的组定位装置234、预定义的组定位装置236、节点创建装置238和评分装置500,(下文中关于图11描述了其功能)。

重叠组定位装置232可以确定一组高度重叠的组件,这些高度重叠的组件通常可以共同创建特定设计并且当将该组放置在新的布局中时应当保持该组的组件之间的相同比例。例如,形成徽标的图像和文本应当保持相同比例和相对位置,而不管它们的大小和在新的布局中的位置,以保留徽标的结构。

重叠组定位装置232可以对超级节点内的所有可能的组件对进行循环。对于每对交叉组件,重叠组定位装置232可以对作为与两个组件的两个围合矩形中的较小值相比的重叠的量的相对重叠的量进行计算。计算可以基于交叉面积和/或通过针对每条轴线组合相对交叉量(例如,使用平均值)。如果该相对交叉量超过给定的阈值,则重叠组定位装置232可以认为组件对是重叠的。一旦其完成循环,重叠组定位装置232可以根据公共成员来将重叠对合并成重叠组。例如,组件对[a,b]和[b,c]可以被合并成[a,b,c]。将意识到,用于每个所创建的虚拟组件的面积可以是用于所有成组的组件的最小围合矩形的面积。还将意识到,重叠组通常可以表示详细的设计元素并因此应当仅被重新设置尺寸而不应当被重新布置。具体来说,这种组中的文本组件应当根据其原始大小,而不是使用如上文中所描述的、如由组件适配装置225来执行的字体大小映射。因此,应当以完全避免字体大小映射或使用颠倒了字体大小映射的影响的缩放因子的方式来缩放文本。

还将意识到,可以从重叠组的定义中省略某些组件。这些组件可以包括特定组件,例如(举例来说)水平线和屏幕宽度容器以及大于给定限度(例如,25个字符)的文本大小,该文本大小被解释为常规段落的文本(其不应当被标记为重叠组并作为合成体而被重新设置尺寸),而不是被解释为徽标文本。

图像上方文本的组定位装置234可以对覆盖在特定的背景图像上方的文本组件进行分组。其可以检测到其中文本组件设置在背景图像的顶部上并且这两者应当被共同处理的情形。图像上方文本的组定位装置234可以在当前的超级节点中寻找文本和图像组件对,其中,文本组件完全包含在图像组件内或者位于四侧中的每一侧,文本组件距离围合的图像组件足够近(给定的阈值)。

如果组件是徽标而不是图像上方文本,则图像上方文本的组定位装置234可以反而通知重叠组定位装置232来创建重叠组而非图像上方文本的组。这可以基于根据以下标准的评分来完成:文本字符的量低于给定阈值、装饰性的或其它独一无二的字体的使用、或者并非是常规水平线的文本基线的使用(例如,文本沿着曲线绘制)。

预定义的组定位装置236,可以根据模板、应用、页面或组件等级处的提示来把组件分组。这可以被认为是通常使用特定设计系统的GUI所执行的、永久版本的分组,因此可以共同操纵多个组件。

将意识到,一旦已经对重叠元素的组进行了定位和分组,节点创建装置238可以合并它们并将它们转换成虚拟超级节点(如下文中更详细描述的),并随后可以创建最终的超级节点(包括虚拟超级节点和页面超级节点)。剩余的元素可以被认为是分离的,并因此可以较容易地进行排序,如下文中所讨论的。

现在参照图8A、图8B和图8C,其例示了超级节点创建装置230如何能够创建超级节点的层级的示例。如上文中所讨论的,根据页面和迷你页面所创建的超级节点可以被认为是页面超级节点,并且根据检测到的组所创建的超级节点可以被认为是虚拟超级节点。对于图8A中的页面P1,包含三个文本元素的页面(或迷你页面)可以被认为是具有3个元素的页面超级节点(PSN1)。在图8B中,页面P2可以被认为是具有文本元素和包含文本元素和图形元素的虚拟超级节点(VSN1)的页面超级节点(PSN2)。如果P1和P2是包含在页面P3内的迷你页面,则得到的节点结构可以是具有2个页面超级节点(PSN1和PSN2)(每个都具有元素)的页面超级节点(PSN3),如图8C中例示出的。

还将意识到,节点创建装置238可以将紧密包围的容器定义为容器A驻留在容器B内,其中A和B具有非常相似的尺寸(即,在A与B之间的所有侧上存在非常小的页边空白,其中,A是B内部的唯一组件)。节点创建装置238还可以基于对多个容器中的组件的语义分析来执行容器的重新布置。例如,如在现在参照的图9中例示出的,文本组件T1、T2以及T3被包含在容器C1中,并且图片组件P1、P2以及P3被包含在容器C2中。节点创建装置238可以基于文本和图片组件的类型、与其它组件的接近度和关系来执行语义分析,以识别相关联的文本和图片组件对,如下面进一步描述的。基于这种分析,节点创建装置238可以识别T1和P1形成相关的对,以及T2-P2和T3-P3,并因此可以从容器C1和C2中去除这六个组件(T1、T2、T3、P1、P2、P3),并将它们放置在包含的页面中,保留关于它们之间的关系的信息,如现在所参照的图10中示出的。

此外,节点创建装置238可以将基本上覆盖给定容器(例如,超过75%的面积覆盖)的组件分类为用于超级节点生成的特定容器的成员,从而使得超级节点层级更好地反映视觉布置。这与视觉设计系统相关,在视觉设计系统中,并不逻辑上包含在给定容器内的组件仍然可以覆盖容器。

一旦已经定义了超级节点结构,排序装置240就可以为组件的组和每个超级节点内的所包含的页面超级节点和虚拟超级节点(单独地)创建顺序。还将意识到,该基本顺序可以由于偏序集定位装置的查找而进一步进行修改,如下文中更详细描述的。现在参照图11,其例示了排序装置240中的元素。排序装置240可以包括基本排序装置247、偏序集(POS)定位装置250和顺序集成装置245。基本排序装置247还可以包括主方向排序装置241、带拆分和合并的主方向排序装置242、以及H/V切割装置243,H/V切割装置243还可以包括元素划分装置244,如下文中更详细描述的。

POS定位装置250可以包括群集POS定位装置251、语义关系POS定位装置252、模式POS定位装置253、预定义的POS定位装置254和基于ESI(编辑会话信息)POS定位装置255。将意识到,POS定位装置250可以分析语义、内容和组件的几何形状。

将意识到,排序装置240可能试图仿真人类阅读者可能浏览页面上的元素(或特定的超级节点内的元素)的顺序。还将意识到,由于页面是2维实体(或甚至是包括有z顺序的3维实体),因此该顺序并不能那么好地定义,即使是对于人类阅读者。

现在参照图12,其示出了以方形布置的四个文本段落的布置。假设段落是英文的(其从上至下和从左至右进行阅读),不太清楚阅读顺序应当是A1,A2,B1,B2还是A1,B1,A2,B2。这两种顺序都可以被认为是正确的。此外,如果元素是如现在所参照的图13中例示出的文本和图片,则不太清楚相关的文本和图片元素是什么。

主方向排序装置241可以预定义主方向(例如,先对行进行分类还是先对列进行分类)并随后可以尝试基于主方向并随后基于第二方向来对2维页面中的组件进行分类。例如,在先对行进行分类的模式中工作的主方向排序装置241可以对超级节点中的元素进行分类,从而或者如果A和B具有适当的Y重叠(例如,这两者的较小高度的至少25%),则元素A在元素B之前,或者如果A和B不具有足够的Y重叠并且A较高(即,行之中的顺序),则元素A在左边(即,行内的顺序)。

带拆分和合并的主方向排序装置242(本文中的PDSM排序装置242)还可以预定义主方向,并且还可以尝试追踪任何行/列的拆分和合并。这可以被认为与行相比,对于列是更常见的。现在参照图14A、图14B和图14C,其例示了超级节点内的组件(1-10)。将意识到,可以根据组件在节点内的所生成的列的图表中的顺序来对组件进行排序。PDSM排序装置242可以基本上将一组矩形(如图14A中示出的)转换为列的图表(其可以合并、拆分或延续,如图14B中示出的),该柱形图随后用于生成组件的排序(如图14C中示出的)。矩形可能是交叉的。

现在参照图15A、图15B和图15C以及图16A、图16B、图16C、图16D、图16E、图16F以及图16G,这些图例示了PDSM排序装置242所采用的步骤来定义列的图表和得到的顺序。图16A例示了需要进行处理的一组元素C。如示出的,PDSM排序装置242可以定义该组中的元素之间的2元素关系,并随后可以将待排序的元素(集合C)“夹在”虚设的页眉元素A与虚设的页脚元素B之间(步骤410)。PDSM排序装置242随后可以创建两个新的集合—所生成的列的集合X(在它们的当前状态)(步骤420和步骤430)和它们的元素,以及待处理成列的元素的集合Y(步骤440和步骤450)。PDSM排序装置242随后可以根据集合Y中的元素的y-顺序来从上至下扫描集合Y中的元素,并针对集合Y中的每个元素Q选择控制Q的元素的子集(在X中的所有列中)。现在参照图16B,其例示了元素A、E和F如何都控制Q。PDSM排序装置242随后可以从集合R中移除任何重复元素。如可以在图16B中看到的,不但A、E和F全都控制Q,而且A控制E并且E控制F。在该场景中,PDSM排序装置242唯一需要的连接可能是Q与F(最后的控制元素)之间的连接。将意识到,如果R是空的,则这可以被认为是没有连接的孤列的开始,并因此在X中利用元素Q打开了新的列,如现在所参照的图16C中例示出的。还将意识到,如果R具有多于一个元素,PDSM排序装置242可以使元素Q连接到包含元素C1…Cn中每个元素的列,针对每个元素创建列的延续(如果在列的末尾连接)或列的拆分(如果连接在列中间)。如果存在多于一个这样的列,则PDSM排序装置242可以合并这些列,如现在所参照的图16D中例示出的。如在图16D中示出的,PDSM排序装置242可以将列G和H合并到通过元素Q延续的单个列中。现在参照图16E,其示出了列G,列G从并非是列G中的最后的元素的元素延续。在该场景中,元素Q创建了列G中的拆分,列G创建了通过F和Q延续的2个列。

将意识到,当列在给定的点处拆分时,从左至右对拆分的集合进行排序,即,延续拆分的列的多个列具有根据它们的左边缘的x坐标来为它们定义的顺序。这同样适用于列的合并。还将意识到,PDSM排序装置242可以具有组合的拆分和合并情形,例如在现在所参照的图16F中例示的。如例示的,元素Q可以针对包含元素G和H的2个列来创建拆分。PDSM排序装置242可以将这些拆分立即合并成通过元素Q延续的单个列。

因此,PDSM排序装置242可以将元素从Y转移到X,并基于几何标准来将它们连接到X中的一个或多个现有的列(或者可能创建新的列)。将意识到,该扫描过程可以在X中创建列的序列,这些列可以开始、拆分、合并或终止。当到达虚设的页脚元素B时,过程结束。PDSM排序装置242随后可以扫描图表(根据集合X中的列所定义的),以计算得到的顺序。PDSM排序装置242随后可以根据图表中从上至下和从左至右的顺序来布置元素,例如在所参照的图16G中例示的。

还将意识到,在孤列的情形下,PDSM排序装置242可以根据X顺序来布置它们,如在现在所参照的图16H中例示的。如果元素对a-c和b-d足够接近来进行连接,则它们可以形成完整的列,并且它们之间的顺序可以是a-c-b-d而不是a-b-c-d。由于它们并不足够接近,因此它们不进行连接,造成了元素c和d成为孤列,并且如上文中所描述的那样来修改所指定的数字顺序的顺序。

将意识到,PDSM排序装置242的功能可以针对具有从右至左(而非从左至右)布置的内容的超级节点来适当地进行修改。

H/V切割装置243可以在超级节点中使用对元素的替代的水平和垂直切割,以创建这些划分的内部树,并由此定义元素中的显示顺序。将意识到,这种内部树是特定于给定的超级节点的,而并不与通用的超级节点等级树相关。将意识到,H/V切割装置243最佳地适配于根据水平和垂直部分所构建的“巧克力表”式样的站点——在报纸的布局中是经典的,例如如在现在所参照的图17中例示的示例页面。H/V切割装置243可以采用单个超级节点的元素集合,并创建节点的内部树(与较高等级的超级节点不同,因为每个超级节点都可以包含单独的这种内部树)。节点可以具有以下类型:

V-节点(垂直布置的节点)—从上至下布置的一组子节点/元素。

H节点(水平布置的节点)—从左至右布置的一组子节点/元素(下文中描述了从右至左的布置)。

叶节点—表示内部树的最后的元素的节点—组件或所包含的超级节点。叶节点可以包含在所分配的宽度内仍然适合的多个组件。

UR-节点(未解决的节点)—包括尚未布置的多个元素的节点。这是在节点转换成V/H/叶节点之前任何节点的初始状态。

每个节点都可以包含一组元素参考以及下面的元素的坐标和尺寸,以及用于节点的元素的完整围合的矩形。在单个超级节点内部的(以上四个类型的)节点的整个集合可以被称为内部树。将意识到,H/V切割装置243可以针对被指定为或者被检测为包含从右至左(R2L)的材料或具有R2L布局的超级节点来调整过程。

H/V切割装置243可以在初始调用时创建具有单个UR节点的内部树并为内部树内部的超级节点中的所有元素设置参考。H/V切割装置243可以通过获取节点中的所有元素来处理UR节点。如果元素的围合矩形符合所允许的宽度,则H/V切割装置243可以将节点转换成叶节点。H/V切割装置243还可以调用元素划分装置244,该元素划分装置244可以建议将UR节点中的元素特别划分(水平的或垂直的)成子组。

H/V切割装置243随后可以如适当的将UR节点转换为H节点或V节点。将意识到,对于元素划分装置244所返回的子组中的每个子组,H/V切割装置243可以针对子组中的元素计算围合的矩形R。如果R的宽度符合所允许的宽度,则其可以创建来自子组的节点N的叶节点派生。否则,如果子组具有多于1个组件,则H/V切割装置243可以创建来自子组的节点N的UR节点派生,并如上文中所描述的那样来相应地处理该节点(即,通过H/V切割装置243的递归应用)。如果R的宽度并不符合所允许的宽度,则H/V切割装置243可以创建来自包含单个元素的子组的节点N的叶节点派生。H/V切割装置243随后可以应用诸如重新设置尺寸、文本回流等之类的宽度减小,如上文中所描述的。

H/V切割装置243随后可以递归地扫描所生成的内部树(使用先进行深度扫描)并根据扫描顺序来发出组件(例如,叶节点)。H/V切割装置243可以根据其自然顺序(例如,对于V-节点从上至下)来扫描每个H/V-节点。将意识到,在该阶段,由于已经生成了元素的基本顺序,因此,不再需要用于该超级节点的所创建的内部树。

如上文中所讨论的,元素划分装置244可以针对元素的组来计算划分。其可以计算用于每个元素的围合矩形,忽略装饰性边线。元素划分装置244随后可以将这些矩形投影到X轴和Y轴两者。

元素划分装置244随后可以将每组轴线投影划分成段,这些段具有投影到其中的不同数量的组件。不具有投影到其上的组件的段表示在给定的投影方向上的间隙。将意识到,元素划分装置244可以提供特定的(可能是不可显示的)分隔线组件来有助于确定右拆分方向(例如,以用作为过程中的设计者提示)。这些组件也可以具有被分配的“权重”,因此,它们作为一个或多个组件来计数(用于所投影的矩形计数)。

如果在两个方向上都发现间隙,则元素划分装置244可以基于与间隙段正交的划分装置来生成元素的水平划分和垂直划分。例如,如在现在所参照的图18中例示的,情形A是使用单个划分装置的水平划分(划分成列),并且情形B是使用两个划分装置的垂直划分(划分成行)。

元素划分装置244可以使用最大数量的划分装置和所找到的间隙的最大的总尺寸以及其中类似的元件通过划分分裂成单独的子组的情形的最小数量的加权平均,来针对两个划分方向中的每个划分方向计算划分质量等级(DQR)。该信息可以在超级节点创建阶段从模式POS定位装置254中获得(如下文中更详细描述的),该超级节点创建阶段定义了派生的超级节点之间的相似性关系。如在现在所参照的图19中例示的,垂直划分(成行)可能是优选的,以将服务/项目/客户框(A、B和C)保持在一起。

元素划分装置244还可以考虑组件在哪个方向上较好地对齐。例如,如在现在所参照的图20中例示出的,在场景A中,划分应当是垂直的(即,组件按行来布置和对齐),尽管当进行水平划分(即,成列)时存在较大的间隙。当在场景B中添加对齐线时,这可以较好地进行观察。

元素划分装置244还可以为水平划分(其减小宽度)相对垂直划分(其并不减小宽度)添加恒定的偏好因子。元素划分装置244随后可以返回具有较高的DQR的划分。

如果只在一个方向上发现间隙,则元素划分装置244可以在该方向上返回划分。如果未发现间隙,则可能存在互锁元素的情形。在这种情形下,元素划分装置244可以创建穿过元素的其中之一的划分装置。例如,如在现在所参照的图21中例示的,使用可能仅穿过元素B的垂直划分线A来划分元素。所有标记为R的元素都可以与划分的右侧(包括元素B)相关联,并且元素L可以与划分的左侧相关联。

将意识到,在该场景中,元素划分装置244可以(从X轴和Y轴两者上的投影段中)找出具有最小数量的被穿过的元素的投影段。如果仅存在一个这种段,则元素划分装置244可以基于该段来定义划分。如果存在具有相同的最小数量的被穿过的元素的两个或更多个这种段(在任一个方向上),则元素划分装置244可以基于具有最小数量的被穿过的元素的段,来创建一组单个划分装置的划分。

对于这些划分中的每个划分,元素划分装置244随后可以基于以下各项的加权平均来计算DQR:用于常规DQR计算(如上文中所讨论的)、被穿过的元素的最小面积以及切割的确定性,即,在跨越划分装置(crossingdivider)的一侧上具有最小百分比的被穿过的元素面积,因此,被穿过的元素较有区别性地属于划分装置的两侧的其中之一。可替代地,元素划分装置244可以使用具有最高DQR的划分。

元素划分装置244随后可以返回选定的划分,其中,每个被穿过的元素都附接到包含被穿过的元素的较大面积的划分装置的一侧。

在替代的实施例中,元素划分装置244可以尝试基于具有相同数量的被穿过的元素的多个投影段来创建多个划分装置,并对包含多个这些被穿过的元素的划分进行评估。

将意识到,元素划分装置244可以针对每个可能的划分递归地调用替代的DQR计算,并可以在尝试每个可能的划分之后检查所创建的划分的DQR值。还将意识到,以此方式,元素划分装置244可以找出穿过的最佳的单个元素,从而进一步的划分可以是成功的。

将意识到,与基本排序装置247平行,POS定位装置250可以检测以某种方式相关、并且当这些元素针对移动设备显示重新排序时应当可能保持在一起的组件的集合。例如,组件可以是文本标题和匹配的文本段落。

当(任何类型的)组件与特定超级节点中的组件之间的规则间距相比非常接近时,群集POS定位装置251可以检测到群集的偏序集。群集POS定位装置251可以计算超级节点中的组件之间的平均距离,并随后对超级节点中的所有组件对进行循环,搜索距离是经计算的平均距离的给定部分的组件对。群集POS定位装置251随后可以将这些组件对联合成集合,在每个这种集合中的两个最远的组件之间施加最大的给定距离(被指定为平均距离的一部分)。群集POS定位装置251还可以使用平均值(mean)计算或中值计算而不是平均数(average)计算,以便考虑可能使平均距离值失真的给定数量的异常值。在替代的实施中,群集POS定位装置251可以使用本领域中公知的任何群集算法。POS定位装置251随后可以检查所提取的群集,并且如果足够密集(例如,群集成员之间的最大距离低于给定的某个阈值),则创建群集的偏序集。

当存在靠在一起的给定类型的组件(例如,图片及其标题)的特定组合时,语义关系POS定位装置252可以检测语义关系偏序集。语义关系POS定位装置252可以扫描超级节点内的所有可能的组件的对,并对于每个可能的对,检查组件中的每个组件都具有正确的类型(例如,一个是文本并且一个是图片)、组件靠在一起(距离小于给定的阈值)以及在它们之间不存在中间组件。语义关系POS定位装置252可以检查对于经评估的组件的对[A,B],不存在第三组件C,该第三组件可以代替B、具有用于B的正确类型,并与B相比离A更近。这同样应用于A与C之间的关系。

组件的对的另一种组合可以使文本和按钮偏序集。将意识到,在这种场景中,语义关系POS定位装置252可以将描述文本域的按钮链接到实际的文本域。将意识到,可以仅根据位置来确定关系。

另一种组合可以使文本加入偏序集。在这种场景中,语义关系POS定位装置252可以合并彼此延续的多个文本元素。将意识到,语义关系POS定位装置252可以只识别出一个文本元素位于另一个文本元素上方。还将意识到,可以在给定的集合中存在任意数量的这种元素——不仅是2个——它们全部链接在一起。

当存在具有特定类型、性质和以给定距离的布局的给定数量的组件(例如,组件对或三元组)的重复模式时,模式POS定位装置253可以检测到模式偏序集。模式POS定位装置253还可以在切换模式(例如在现在所参照的图22中例示的)的情况下检测到模式偏序集。组件对A和C在左边具有文本并在右边具有图片,然而组件对B和D在右边具有文本并在左边具有图片。模式POS定位装置253可以基于具有特定类型和性质的组件对来检测这种模式,但其中,水平距离在每个组件对中是两个选择之一(具有相同的绝对值的负数或正数)。模式POS定位装置253(在2个成员的模式的示例中,该两个成员的模式在后面可以进行统一)可以扫描超级节点中的所有组件,并对于每个组件,对其在组件的所有四侧上的最接近的邻近组件进行定位。模式POS定位装置253可以包括重叠组件多达给定的指定阈值限度的相邻组件。模式POS定位装置253随后可以保存组件与它们的相邻组件之间的关系列表,并随后扫描所生成的关系列表,并根据以下属性来选择关系类似的对:具有相同类型的组件(例如,组件[pic,txt]类似于另一组件[pic,txt]),具有相同方向的组件(包括相反方向,如果支持切换模式并且距离类似(受制于给定阈值而不同))。

将意识到,在选定关系中的两个组件应当具有不同类型—否则布置为正方形的一组相同类型的四个组件将生成两组相冲突的类似关系对。例如,如在现在所参照的图23中例示的,四个图片组件可以被水平或垂直划分成对(水平:对的关联H1,H2,垂直:对的关联V1和V2)。

模式POS定位装置253可以扫描选定关系的列表,并将它们组合成集合(例如,如果r1==r2并且r2==r2,则其可以创建集合[r1,r2,r3])。模式POS定位装置253还可以移除重复元素。将意识到,模式的单个集合(例如,一组多个[txt,txt,pic]组件集合)应当被共同处理。

预定义的POS定位装置254可以检测偏序集,基于可由应用设计者提供的或者在原始应用模板内的特定提示来创建该偏序集。这些提示可采用各种形式。包括预定义的偏序系统提示(例如,“图片+文本标题”组件)的特定合成组件可以包括将这两者耦合到预定义的偏序集中。另一个提示可以是页面中任意组件的明确指定的关联或源自于在视觉设计系统中可用的其它形式的关联的移动设备相关的关联(例如用于编辑的分组),因为许多视觉设计系统具有关联组中的组件的能力,因此它们可以被移动、重新设置尺寸或以其他方式共同进行修改。另一个关联可以是动态布局锚点,因为视觉设计系统可以支持动态布局锚点(明确指定的或根据布局定义自动创建的)。这些锚点可以另外充当用于偏序集创建的提示。然而另一个关联可以是模板—根据相同的多组件模板的多个实例所创建的组件的集合。

将意识到,预定义的POS定位装置254可以提供预定义的组合预定义的偏序集两者。这些是系统的不同元素,并且预定义的POS定位装置254可以允许设计者指定预定义的组的提示(用于将组件分组成虚拟超级节点)以及预定义的偏序集/排序提示(用于引导排序过程)。

基于ESI的POS定位装置255可以基于ESI(如果可用的话)来检测偏序集的自动创建。具体来说,基于ESI的POS定位装置255可以基于从先前的编辑会话收集到的信息(例如,已经使用复制或拷贝或粘贴来创建的组件的集合、已经分组到一起并且编辑在一起的组件的集合(例如,当视觉设计系统仅支持自组织分组以用于编辑,并不在数据库中保留该编辑)、以及已经依次编辑的组件的集合)来将组件关联在一起(关联成一个偏序集)。

一旦排序装置240已经创建了基本顺序并且POS定位装置250已经确定了任何偏序集,顺序集成装置245就可以集成该基本顺序和检测到的偏序集,以创建经合并的修改的顺序(其对于所有涉及的元素是总顺序),中途解决相矛盾的偏序集。

将意识到,基本排序装置247中的元素中的某些元素可能不能创建所有组件之间的完整顺序,而是可以将页面/超级节点划分成适合所允许的宽度的页面部分。当存在保持基本结构的需要时(例如,当将应用转换到具有与台式机显示设备类似的或大于台式机显示设备的宽度的设备(例如,平板电脑、大显示设备)时),这可能是相关的。在这种场景中,完全分解成在一条线上布置的组件可能破坏基本的下层组件布置,并且最小的“切割”可能在视觉上是较好的。为了完成它,基本排序装置247中的元素可以被修改成这样,以便在页面部分(其仍然适合可用的宽度)而非单独的组件上工作。

基本排序装置247随后可以将该信息用作为指导准则,因此经由基本POS连接而连接的页面部分不会被切割。

将意识到,超级节点创建装置230、基本排序装置247和POS定位装置250还可以创建彼此矛盾的结果。例如,POS定位装置250中的子元素中的一个子元素可以生成涉及某些元素的特定偏序集定义,并且另一个元素可以生成不同的、以及矛盾的偏序集定义。顺序集成装置245可以合并来自不同元素的结果并且还可以解决任何冲突,以便创建单个输出。

还将意识到,为了解决这些冲突,超级节点创建装置230、基本排序装置247和POS定位装置250可以全部都使用质量分数。例如,基于明确的设计者要求的设计通常可具有最大质量分数,这是因为可以假设设计者完全知道其设计的组成。将意识到,超级节点创建装置230、基本排序装置247以及POS定位装置250可以全部都相对于评分装置500所持有的质量分数来检查它们的分数,该评分装置500可以基于所分析的参数来为每个所生成的结果提供元素有多么确定特定结果的正确性的确定性分数。

顺序积分装置245可以收集来自基本排序装置247和POS定位装置250的结果,以试图集成它们。将意识到,可以简单地组合并不彼此矛盾的结果。并不彼此矛盾的结果可能需要顺序积分装置245选择使用其中的哪一个结果。这可以根据针对特定结果计算经组合的质量和确定性分组来完成。如果结果不满足给定的(可选的)确定性阈值,这可以抛弃该结果。

顺序积分装置245还可以考虑额外信息,例如通过驻留在模板中的组件所定义的、可具有比只包括在当前页面中所定义的组件的结果高的确定性(例如,因为模板比常规页面设计地更好)的结果。还可以考虑可以与在先前的页面或超级节点中所找到的结果类似的结果,该结果已经在之前进行了处理,并因此可以被分配有较高的确定性。

顺序积分装置245可以延伸,以便学习由给定设计者创建的页面结构,可能使用来自该设计者的反馈来评定元素结果的等级。

将意识到,具体的元素可以返回应当共同执行或完全不共同执行的一组结果。例如,模式POS定位装置253可以找出组件的重复模式。这种模式应当用于所有涉及的组件,或完全不用于组件。

一旦已经相应地为组件进行排序,放置装置270随后可以将组件和任何自动添加的组件(如下文中更详细描述的)放置在页面中它们的适当位置。其可以根据需要将经排序的组件放置在组件行上,以便根据所确定的总顺序和允许的空间来适合可用的宽度。将意识到,可以通过页面超级节点的宽度减去任何预定义的页边空白和其它约束(例如保留的空间)来定义可用的宽度。例如,给定主页面宽度是320px,对于左边和右边的页边空白是10px,并且没有保留空间,则主页面超级节点的可用宽度将是320-(2*10)=300px。包含在主页面超级节点中的、获得最大可用宽度的页面超级节点将具有300-(2*10)=280px等的可用宽度。

如果标记为“在移动设备布局配置中保留”,则放置装置270可以应用附加到组件的布局提示作为台式机布局配置的部分。这些组件可以作用为更类似于自动添加的组件,因为它们成为可以驱动组件行构建的容器基本结构的部分,而不是组件行本身的部分。

放置装置270随后可以根据由超级节点创建装置230和排序装置240创建的明确提示(例如,“将该组/POS置于单独的行上”)来创建换行符。当添加的组件超过可用宽度(考虑保留的空间)时,放置装置270可以尝试将组件组保持在一起,即,如果需要的话,在组前面创建换行符,从而整个组将在相同的组件行上适合。放置装置270可以避免添加换行符,以便在具有语义关系的组件之间中断(如较早检测到的,例如,通过POS定位装置250)。

放置装置270还可以根据每个元素的类型来将宽度减小手段应用于每个元素。宽度减小手段可以包括根据组件类型来修改可以适配的组件(例如,文本组件)—包括重新缩放、字体大小改变、文本回流、等等。宽度减小还可以根据每个虚拟超级节点的类型来针对每个虚拟超级节点使用规定的处理方法。这些宽度减小手段还可以包括与由组件调整装置227所执行的转换(作为预处理阶段)类似的转换——其现在可以利用关于移动设备布局配置中的组件的追踪位置和大小的添加的信息来执行。放置装置270还可以执行宽度放大,例如,以便对单独放置在组件行中的组件进行放大。

放置装置270为特定的元素类型提供特定的重新设置尺寸的手段。例如,放置装置270可以通过使用背景图像作为虚拟容器,来重新设置表示图像上方文本的组的超级节点的尺寸(如由图像上方文本的组定位装置234所定位的)。接下来,重新设置文本的尺寸,以便达到期望的高度和宽度。这包括字体大小映射和文本回流,其可能改变文本组件的高宽比(例如,制作内部具有较大字符的较长的文本组件),如在现在所参照的图6中例示的。如示出的,当从场景1移动到场景2时,字体大小增大,而同时字段宽度已经减小——需要文本回流。当重新设置背景图像的尺寸至下一文本尺寸时,图像上方文本的组定位装置234还可以重新设置组的尺寸——通常改变高宽比。

将意识到,如果图片具有实际内容(当修改高宽比时可能看起来不太美观)(例如,人物的照片),则这可能导致“视觉事故”,例如在现在所参照的图7中例示的。图像上方文本组定位装置234可以试图通过检查图像内容以查看其是否包含详细信息或者通过借助缩放和修剪图像而不是重新设置图像的尺寸而保留内部高宽比,来解决这个问题。

某些组件在执行重新设置它们自己的尺寸方面具有一定程度的自治,例如,第三方应用组件(其可以支持具有不同显示尺寸的多种变化)和列表应用(其可以具有多个视图关联)。这些组件基于放置装置270所提供的目标尺寸来执行重新设置它们自己的尺寸。

放置装置270还可以根据需要重新设置装饰图像的尺寸/重复装饰图像,以适合新的页面尺寸。如果页面超过给定的长度参数,则放置装置270可能创建页面内部导航菜单并将其作为单独的菜单添加到页面,或者适当地添加到现有的统一菜单中的任何菜单。

放置装置270可以重新缩放高度和宽度两者,保持组件的高宽比。某些组件可以保留它们的高度并且仅改变它们的宽度(例如,被修改为使用较少的列的图库)。可以对当重新缩放时必须使用特定高度的组件(例如,具有内部滚动条的地图组件,因此必须在组件的上方和下方留出页边空白以用于页面滚动条而不是地图滚动条)适当地进行处理。将意识到,可以以相同方式来处理宽度减小。

放置装置270还可以向组件应用并递归地向超级节点及其它们的派生物应用宽度减小/增大处理。处理可以包括重新设置实际组件的尺寸、文本字体大小映射、文本回流以及通过将文本分割成可视部分和“显示更多”延伸(只有当请求时才会显示)进行的文本减少。其它过程可以包括将组件切换到“较轻”的移动设备版本,修改组件参数来改变它们的宽度。处理还可以包括重新设置组件的尺寸以反映所使用的实际尺寸。

一旦放置装置270已经将相关组件放置到它们在移动设备配置布局内的正确位置中,后置处理器202就可以处理任何最终的布局调整。

自动添加的组件插入装置281可以将自动添加的组件插入新的移动设备布局配置中,例如,可以添加到全部经转换的应用或部分经转换的应用(在它们的页面中的所有页面或某些页面中)的系统菜单或其它移动设备相关的小部件。这些所插入的自动添加的组件还可以包括(例如)广告和/或其它促销材料。这些所插入的自动添加的组件可以是必须的(即,总是插入它们)或可选的。在后者的情况中,它们可以有条件地插入——基于参数或参数的组合,例如(举例来说)用户类型或简介(例如,针对欧洲的所有用户插入特定的自动添加的组件)或每种移动设备类型或简介(例如,针对具有480x320或更大的屏幕尺寸的所有基于安卓的用户插入特定的自动添加的组件)。它们还可以基于特定的页面参数或条件(例如,针对不包含尺寸为320x200或更大的图片组件的页面插入特定的自动添加的组件)、用户行为或应用使用历史、用于插入自动添加的组件的空间的可用性、任何设计者定义的参数或网站建设系统定义的参数。

将意识到,自动添加的组件插入装置281可以以多种方式放置这些自动添加的组件。其可以将它们放置为插入页面中的给定位置中或插入特定容器(即,超级节点)中的绝对位置自动添加组件—通常使用如下文中所描述的颠倒空间。自动添加的组件插入装置281还可以相对于某些页面元素(例如,预定义的组件、经由询问所定位的组件、等等)将它们插入为插入在给定的位置中的自动添加的组件。这与在移动设备布局配置级插入组件类似,如下文中更详细描述的。

自动添加的组件插入装置281还可以将自动添加的组件添加为剩余空间自动添加的组件,其基于布局中的空间可用性而插入。由于组件某些时候移动到单独的组件行,因此在某些情况下,与可用于这些自动添加的组件的台式机布局配置相比,在移动布局配置中存在额外空出的空间。

将意识到,在绝对位置自动添加组件的情况下,可能需要自动添加的组件插入装置281来保留用于这些元素的移动设备显示区域上的特定空间—从矩形移动设备显示区域中切掉分配给页面/超级容器的区域并保留该区域。因此,用于组件线的区域可能是非矩形的。现在参照图24,其例示了在切掉所保留的区域之后在主容器C中剩余的用于自动添加的组件A和B的区域如何是非矩形形状的。

将意识到,相关视觉设计系统还可以支持包括使用明确的(设计者指定的)锚点和隐含的(自动创建的)锚点的动态布局,如在2013年8月22日公开并转让给本发明的共同受让者的、题为“ASERVERBASEDWEBSITEDESIGNSYSTEMINTEGRATINGDYNAMICLAYOUTANDDYNAMICCONTENT”的美国专利公开第20130219263号中所描述的。因此,视觉设计系统可以具有由于对移动设备宽度的适配固有的重新布置过程而导致可能被破坏的锚点(隐含的和明确的)。

一旦已经相应地放置了组件,动态布局处理装置284就可以根据新的布局来修改任何现有的动态布局锚点。例如,动态布局处理装置284可以以使得锚点不相关这样的方式来移除用于已经被移除的组件的锚点,如在现在所参照的图3中例示的。如例示的,当B在场景2中被移动到A下方时,应当破坏在场景1中存在于组件A与B之间的水平锚点。

动态布局处理装置284还可以保留可以被保留的锚点(例如,并未被修改的组件集合、在未被修改的容器内部、等等)。动态布局处理装置284还可以对可以被保留但将可能需要修改它们的参数的锚点(例如,用于被移动地更靠近在一起的组件的锚点长度改变)进行修改。动态布局处理装置284还可以在靠近地放置的组件(例如,一个在另一个上方)之间创建新的动态布局锚点—包括组件至组件和组件至容器锚点两者。这可以基于构建到系统中的自动锚点创建标准(例如,基于重叠的量和组件之间的距离)。

将意识到,新创建的锚点是重要的,因为移动设备适配的应用可能仍然是绝对坐标视觉设计应用。因此,移动设备适配的应用可能由于诸如对组件内容的修改(例如所包含的文本的量)之类的改变而必须动态修改。这些可以包括源自外部源的改变(例如,外部数据馈送、并发用户活动、在列表应用中的数据记录之间的切换)。动态布局处理装置284可能必须实现改变以进一步适配于目标移动设备的屏幕尺寸上的小的修改。因此,动态布局处理装置284可以修改锚点结构并还可以实现新的锚点结构以用于最终的适配。

将意识到,得到的替代布局(包括分组、POS和排序信息)可以连同应用或单独储存在数据库50中,以用于将来的使用,或者作为用于将来修改的基础,如下文中所描述的。

显示装置290可以在目标平台上显示新修改的布局。

如上文中所讨论的,布局重转换装置300可以对在给定的台式机层配置上执行的修改以及对其平行的映像移动设备布局配置的修改进行合并,以创建更新的移动设备布局配置。

将意识到,一旦初始布局转换装置200已经运行,就存在两个(或更多个)版本的应用—台式机(主)布局配置和一个(或多个)移动设备(映像)布局配置。将意识到,当指代移动设备(或映像)布局配置时,我们可以指代其它额外的配置,例如那些关于平板设备的、宽屏幕显示设备的、等等。设计者随后可以通过相关视觉设计系统编辑工具来对台式机和移动设备布局配置两者应用(单独的)修改,创建每种配置的经修改的版本。视觉设计系统可以为两个版本提供单个编辑装置(当编辑移动设备布局时可能受限),或者单独的台式机和移动设备站点编辑装置。

由于移动设备布局配置源自于台式机布局配置,因此初始布局转换装置200可以将对台式机布局配置作出的修改(例如,页面和组件的添加和删除以及组件内容改变)应用于移动设备布局配置。重转换装置300可以将任何台式机布局配置修改和任何单独的移动设备布局配置修改合并成经修改的移动设备布局配置,以便创建即将向移动用户显示的、最终的移动设备布局配置,保持移动设备布局配置的内容较好地与台式机布局配置协调。将意识到,这种过程可能是复杂的,这是因为(例如)如果将组件添加到台式机布局配置(该组件也应当被添加到经修改的移动设备布局配置,其组件已经被移动、重新设置尺寸或删除,包括从容器移动、移动到容器中或在容器之间移动),则重转换装置300必须确定适当的位置来将添加的组件放置在经修改的布局配置内以及用于添加的组件自身的布局内。

将意识到,在这种场景中,任何移动设备布局配置修改不会被合并回台式机布局配置中。尽管编辑台式机站点可能改变移动设备站点,但编辑移动设备站点将不会影响台式机站点。还将意识到,对台式机布局配置或者对移动设备布局配置作出的纯粹的布局改变(即,位置和尺寸的改变)可能不会影响其它布局配置——与例如组件内容改变或移除(如果在台式机布局配置中执行则会影响移动设备布局配置)不同。还将意识到,系统100可以限制移动设备编辑,因此可以从移动设备布局配置中去除(或隐藏)这些组件,但不能添加这些组件或编辑它们的内容——可能除了某些移动设备定向的组件,如下文中更详细讨论的。因此(例如),移动设备编辑装置可能不允许将移动设备布局配置中的组件从一个页面移动到另一页面,因为这可能使向页面添加组件成为必须。

现在参照图25,图25例示了重转换装置300中的元素。重转换装置300可以包括页面删除装置310、页面添加装置320、组件删除装置330、组件添加装置340、组件修改装置350以及移动处理装置360。组件添加装置340还可以包括添加的组件标识装置342、父/前驱搜索装置344和移动设备布局添加装置346,如在现在所参照的图26中例示的。在下文中更详细地描述了这些元件的功能。

现在参照图27,其例示了重转换装置300的功能。初始布局转换装置200可以转换DP1(台式机页面1),创建了得到的移动设备布局配置MP2。设计者随后可以使用本地的移动设备编辑装置来编辑MP1以创建MP2。在此之后,设计者可以使用本地的台式机编辑装置来编辑DP1以创建DP2。重转换装置300随后可以创建更新的移动设备布局配置,对在DP2中以及在MP2中作出的改变进行集成。

将意识到,该自动集成只有在台式机编辑阶段(DP1=>DP2)在移动设备编辑阶段(MP1=>MP2)(如图26中示出的)之后执行的时候才可能是相关的。在相反的情况中(先执行台式机编辑),当完成对DP2的编辑时,初始布局转换装置200可以将经修改的台式机布局配置DP2自动重新转换为移动设备布局配置MP2。因此,设计者将在已经修改的MP1上执行MP1=>MP2的改变,需要在(后面的)移动设备编辑期间对改变手动集成。

还将意识到,在多个平台上运行相同站点的目标是尽可能多地在两个站点中都具有相同的内容。然而,如上文中所讨论的,并不是所有台式机组件都是移动设备兼容的,这是因为(例如)下拉菜单和垂直线的使用。

还将意识到,对基于网页的交互式应用(例如网站)的主要需求是搜索引擎的兼容性。因此,台式机和移动设备布局配置两者都应当向搜索引擎呈现相同的通用页面结构,并且相同的页面应当在两个布局配置中可用。另外,页面可以通过阅读台式机布局配置页面的搜索引擎爬虫来进行索引,但当使用者直接经由移动设备上的搜索引擎触及它时将是不可用的(生成“网页丢失”或类似的错误情形)。在相反情况下,可用于移动设备布局配置中但不可用于(索引的)台式机布局配置中的页面将不能被搜索引擎找到。某些搜索引擎可能针对不同版本的站点支持不同的页面结构,但这种选择的使用和可用性是特定搜索引擎的内部性质,并且不能被信任。

将意识到,尽管台式机和移动设备站点可能具有不同的外观,但只要可能,它们可以共享相同的数据。另外,用户可能通过搜索(例如)给定的文本短语——其存在于台式机页面内容中——来触及移动设备页面,只发现移动设备页面是不同的而不包含搜索到的短语。具体来说,移动设备页面不应当包含不存在于台式机页面上的组件。某些例外可以适用,例如添加新的移动设备适配的菜单来替换现有的菜单,或仅删除移动设备布局配置中的文本组件。

还将意识到,设计者偶尔可能需要对移动设备布局配置作出特定修改,以故意使其与台式机布局配置不同,与搜索引擎策略相矛盾。例如,显示新的项目总结的馈送的系统可能在台式机布局配置上显示较长的总结并且在移动设备布局配置上显示较短的总结。设计者可能必然修改组件尺寸、位置和排序,并且这些改变通常不应当影响移动设备站点的搜索引擎处理。

为了解决这种冲突,或者至少减轻该冲突,重转换装置300可以限制设计者可以在移动设备布局配置上执行的修改的范围。例如,设计者可以限于可能只影响移动设备布局配置的布局而不影响实际内容的修改。在重转换装置300处理各种修改之前,可以由系统的移动设备编辑装置施加这种限制。

台式机布局修改可以包括添加页面、移除页面;添加组件、移除组件;改变组件的属性、移动和重新设置组件的尺寸并改变组件的内容(例如,文本段落内部的文本)。如上面指出的,纯粹的布局改变(例如,移动和重新设置尺寸)不会影响移动设备布局配置。

如上文中所讨论的,视觉设计系统可以具有用于每个组件的内部独一无二的ID,当组件被修改或移动时,该ID并不改变。将意识到,重转换装置300可以使用这些ID来对已经从页面的一个版本修改至另一个版本的组件进行追踪。由于重转换装置300假设所有的修改都通过视觉设计系统编辑装置来执行并被完全追踪,因此当评估经修改的版本时,重转换装置300可具有(对于每个经修改的组件)经修改的属性和值的变化(例如,对于组件X,式样从S1改变到S2,并且宽度从W1改变到W2)的详细列表。

当移除现有的台式机页面时,页面删除装置310还可以从移动设备布局配置中移除页面。将意识到,这提示丢失了对该页面作出的特定的移动设备布局配置修改。恢复它们的唯一方式是通过“撤销”功能(例如,在当前会话的会话级撤销或在数据库级的版本复原)。

当新的页面添加到台式机后,页面添加装置320可以指导初始布局转换装置200将整个页面转换为移动设备布局配置,如上文中所描述的。将意识到,经转换的页面可以出现在移动设备布局配置中的适当位置。页面添加装置320可以更新任何移动导航菜单,以包括新插入的页面。

当从现有的台式机布局配置中删除组件时,组件删除装置330可以从对应的移动设备布局皮遏制中删除对应的组件。组件删除装置330还可以指导移动设备处理装置360更新移动设备布局显示,如下面对移动设备处理装置360的描述中所描述的,闭合给定的组件行中的间隙或删除整个组件行。

将意识到,当一个或多个新的组件添加到台式机页面时,新的组件可以针对所修改的台式机页面创建新的层级组件,包括新添加的组件。对于只对台式机布局配置的改变(当对移动设备布局配置未作出改变时),重转换装置300可以指导初始布局转换装置200重新转换台式机页面,因为不存在对合并台式机布局配置修改和移动设备布局配置修改的需要。

将意识到,组件添加装置320必须定位移动设备布局配置中的适当位置,以添加被添加到布局配置的组件。该任务可能是特别复杂的,因为组件可能已经被移动(包括在容器之间)、重新设置尺寸、重新布置或在移动设备布局配置中移除。此外,可能已经移动或移除台式机布局配置组件。因此,组件添加装置320必须找到适当的位置来添加组件—根据前驱和/或父组件,它们的其中之一将总是存在。

对于添加到移动设备布局配置的每个组件X,添加的组件识别装置342可以识别所添加的组件(例如,通过组件ID的比较、编辑会话历史或下层数据库访问)。组件识别装置342可以指导组件过滤装置221操作其组件过滤功能,以便确定该组件是否完全适合于移动设备显示(例如,不是空的组件、非移动设备兼容的类型、等等)。

父/前驱搜索装置344随后可以执行父/前驱搜索,以便定位最近的前驱组件PD(X)和/或父组件PT(X),它们最靠近于添加的组件X,并且还存在于移动设备布局配置中(即,它们并未明确地从移动设备布局配置中删除或由于它们的类型)。根据排序装置240所指定的顺序来确定前驱组件——获得出现在移动设备布局配置中的最接近的前驱组件。根据页面容器层级来确定父组件——获得出现在移动设备布局配置中的最近等级的父容器组件。将意识到,可能已经在移动设备布局配置中手动删除(或隐藏)了某些组件,并且这些组件将可能从父/前驱搜索中排除。还将意识到,最近的前驱组件可以是空的,例如,如果X是其页面/容器中的第一组件(当排除在移动设备中不可见的组件时),则其不具有前驱。然而,还将意识到,父组件不能是空的,因为搜索将总是触及充当顶层容器的包含页面。一旦父/前驱搜索装置344已经确定了前驱和父(如果可用),移动布局添加装置346就可以将所添加的组件X放置最近的前驱组件之后、在和移动设备布局配置中的前驱/父组件的关系与X和台式机布局配置中的相同的前驱/父组件的关系相同的位置中,并下推在前驱组件之后的所有组件。

将意识到,当处理多个添加的台式机布局配置组件(X[1],X[2],…)时,存在实现以上过程的两种方法—一个接一个的方式或群集方法。

在一个接一个的方法中,根据添加的台式机布局配置组件X[i]的顺序(例如,如由排序装置240所定义的)来处理这些组件。对于每个组件X[i],父/前驱搜索装置344执行前驱/父搜索,该搜索考虑了进行的添加的组件X[j](1<=j<i)。因此,考虑其它添加的组件来处理每个组件X[i]。

在群集方法中,父/前驱搜索引擎344可以针对添加的台式机布局配置组件X[i]来分别执行父/前驱搜索,忽略其它添加的台式机布局配置组件X[j](对于j≠i)。因此,父/前驱搜索装置344针对每个X[i]执行父/前驱搜索,如同其是添加到台式机布局配置的唯一组件。一旦完成了搜索,就根据前驱组件PD(X[i])和父组件PT(X[i])的共同组合来使组件X[i]群集。可以使每个群集中的组件集合在一起作为单个虚拟页面(例如,作为虚拟超级节点,可能内部包含其它超级节点)。组件添加装置340随后可以指导初始布局转换装置200分别在每个这种虚拟页面上运行,递归地运行整个转换过程(包括预处理、分析、锚点、等等,如上文中所描述的)。该过程可以将每个虚拟页面转换成经转换的虚拟页面,移动设备布局添加装置346随后基于群集的共同的前驱和父组件来将该经转换的虚拟页面作为单元放置到移动设备布局配置中。

现在参照图28A、图28B、图28C、图28D、图28E、图28F和图28G,它们例示了不同的组件添加和编辑场景,以及如何由组件添加装置340对这些场景进行处理。

现在参照图28A,其示出了包含两个组件A和B的台式机页面DP1。初始布局转换装置200可以将该页面转换成移动设备页面MP1。如果新的组件X随后添加在DP1中的A与B之间以便创建页面DP2,则父/前驱搜索装置344针对X执行父/前驱搜索,找出在包含页面(在台式机布局配置中)内部,X跟在A后面。因此,移动设备布局添加装置在MP1中的包含页面中将X插到A后面,以便创建MP2。

在另一个场景中,如在现在所参照的图28B中例示的,移动设备页面MP1经由移动设备编辑装置来编辑,以交换A和B的垂直位置,创建MP2。在该编辑之后,设计者随后在DP1中将新的组件X插在A与B之间,以创建页面DP2。组件添加装置340可以调节对DP2和MP2作出的改变。父/前驱搜索装置344可以针对组件X执行父/前驱搜索,找出在包含页面(其在台式机布局配置中最近的父组件)内部,X跟在A(其最近的前驱)后面。因此,移动设备布局添加装置346可以在包含页面中在组件A(其现在位于B下方而非位于B上方)后面将X插入MP2中,创建更新的移动设备页面MP3。

在另一个场景中,如在现在所参照的图28C中例示的,经由移动设备编辑装置来编辑移动设备页面MP1,以移除(隐藏)驻留在A下方以及C上方的组件B(创建MP2)。随后经由台式机编辑装置来编辑DP1,以将组件X插到B之后和C之前(创建DP2)。组件添加装置340随后可以调节对DP2和MP2作出的改变。父/前驱搜索装置344可以针对所添加的组件X执行父/前驱搜索,并可以确定X的前驱是A而非B,因为B被标记为“在移动设备中移除”。因此,移动设备布局添加装置在MP2中将X插到A之后(并在C之前),以创建MP3。

在另一个场景中,如在现在所参照的图28D中例示的,页面DP1包含容器A,容器A包含内部容器B和另一个组件D—它们中的全部都被转换到MP1中。随后经由移动设备编辑装置来编辑移动设备页面MP1,以移除(隐藏)内部容器B(创建MP2)。随后经由台式机来编辑DP1,以将组件C插入到内部容器B内部(创建DP2)。组件添加装置340随后可以调节对DP2和MP2作出的改变。在该场景中,当针对所添加的组件C执行父/前驱搜索时,父/前驱搜索装置344可以确定A的父是A而非B,这是因为B被标记为“在移动设备中移除”。父/前驱搜索装置344还可以确定C不具有前驱,因为它是A中的第一个组件(忽视B)。因此,移动设备布局添加装置346可以在MP2中将C插入A内部(在顶部并在D之前),以创建MP3。

在另一个场景中,如在现在所参照的图28E中例示的,经由移动设备编辑装置来编辑移动设备页面MP1,以交换A和B的垂直位置,创建MP2。之后,设计者在DP1中的组件A与B之间插入两个新的高度重叠的组件X1和X2,以创建页面DP2。组件添加装置340可以以两种可能的方式中的一种方式来调节对DP2和MP2作出的改变,生成MP3(对于一个接一个的方法)或MP4(对于群集方法)。

将意识到,如果使用一个接一个的方法,并且由于在几何上安置X2比X1“晚”,因此父/前驱搜索装置344可以首先针对X1执行父/前驱搜索,确定A是X1的前驱。父/前驱搜索装置344随后可以针对X2执行父/前驱搜索(考虑X1),并可以确定X1是X2的前驱。因此,移动设备布局添加装置346随后可以将组件X1放置在A后面,并将组件X2放置在X1后面,从而创建MP3。将意识到,在这种方法中,组件X1和X2作为单独的实体进行分析和移动,并因此它们的组成是分开的。

如果使用群集方法,则父/前驱搜索装置344可以针对X1和X2两者执行父/前驱搜索,而不考虑X1或X2(对于搜索),并可以确定两者都具有相同的父(主页面)和相同的前驱(组件A)。因此,组件添加装置340可以使X1和X2群集到一起,可以创建包含X1和X2的虚拟超级节点,,并可以指导初始布局转换装置200创建X1和X2的合成体的移动设备准备版本。将意识到,该经转换的合成体将被放置在A下方,创建MP4。由于X1和X2是高度重叠的,因此可能它们将被重新设置尺寸,以便保留它们的合成物(如上面所描述的)。

在另一个场景中,如在现在所参照的图28F中例示的,通过添加4个新的组件—两对语义上相关的文本和图像组件(T1/I1和T2/I2)——来经由台式机编辑装置编辑包含两个组件(A和B)的原始台式机页面DP1,创建新的页面DP2。如果使用一个接一个的方法(如上文中所描述的)来将DP2转换为移动设备页面,则父/前驱搜索装置344可以确定T1是T2的前驱。因此,组件的所生成的(垂直)序列将是A-T1-T2-I1-I2-B(如在MP2中示出的)—打破了文本标题与图像的连接。如果使用群集方法(如上文中所描述的)来将DP2转换为移动设备页面,则父/前驱搜索装置344可以确定T1/T2/I1/I2都可以具有相同的前驱(A)和父(主页面)。因此,移动设备布局添加装置346可以使这4个组件群集到新的虚拟页面中,并可以在它们上面运行初始布局转换装置200。由于T1在语义上与I1相关,并且T2与I2相关,因此,这些对将被保持在一起。因此,所创建的(垂直)序列将是A-T1-I1-T2-I-B(如在MP3中)—保留语义信息。

在另一个场景中,如在现在所参照的图28G中例示的,台式机页面DP1包含三个组件(A、B和C),并且被转换为移动设备页面。经由移动设备编辑装置来编辑得到的移动设备页面MP1,移除组件C并交换A和B的顺序,以创建MP2。随后经由台式机编辑装置来编辑DP1,在B与C之间添加两个重叠的组件X1和X2,并在C下方添加另外的组件X3,以创建DP2。组件添加装置340被配置为使用群集方法并因此所有三个添加的组件(X1、X2和X3)群集在一起,因为父/前驱搜索装置344已经确定B是所有3个新的组件的前驱(因为在移动设备版本中移除了C)。因此,移动设备布局添加装置346可以将所有3个新的组件放置在B下方以及A上方,保留X1和X2的合成体(如在MP3中示出的)。

将意识到,由移动设备布局添加装置346对添加的组件的放置可以在受限制的版本中实现,其中,组件被添加到台式机版本,或者组件仅被垂直添加到移动版本的两个垂直分隔开的组件之间。

在另一个实施例中,组件添加装置340可以将添加的组件的“群集”添加到在移动设备版本中所布置的一“行”组件内部的任何地方,从而不会限制新的组件插入到移动设备版本中的给定组件下方。

在另一个实施例中,组件添加装置340可以将添加的组件B附加到台式机布局配置容器,该台式机布局配置容器包含添加的组件B而不是将其作为前驱。将意识到,在这种场景中,组件B仍然附加到包含其的容器C,并被放置在存在于台式机和移动设备布局配置两者中、并在组件B前面的C中的最后的元素之后。可以使用这种方法,除非容器C(和匹配的超级节点)是空的,或者在移动设备布局配置中是隐藏的。

在另一个实施例中,组件添加装置340可以通过将移动设备布局配置水平地划分成段来将组件添加到移动设备布局,并将添加的组件或组件群集添加在包含前驱的段之后,而不是直接添加在该前驱之后。

将意识到,当存在属性(例如,台式机组件的式样、字体或文本大小)的改变时(包括通用性质改变,例如,改变图库组件中的行和列的数量),组件修改装置350可以修改移动设备布局配置中的组件。由于移动设备布局配置定义了受制于动态布局的视觉应用,因此其可以适应这些改变并相应地重新调整组件尺寸和位置。

还将意识到,尽管台式机组件的尺寸和位置的改变影响了台式机布局配置,但它们并不影响移动设备布局配置,除非明确地重新生成移动设备布局配置,如下文中所描述的。这是允许的,因为系统100可以允许多个布局配置之间的外观(设计)上的差异,只要内容不改变。

当存在台式机组件的数据/内容的改变时,组件修改装置350可以相应地更新移动设备布局配置。与属性修改类似,这种数据改变可能造成重新规定组件在移动设备布局配置上的格式,使用动态布局来进行处理。

将意识到,对移动设备布局配置的任何修改可以由用户通常经由专用GUI显示设备(移动设备编辑装置)或具有移动设备预览布局配置的移动设备修改显示设备来执行。这种移动设备编辑装置可以只允许设计者执行某些操作,例如添加专用于移动设备的组件、移除组件(隐藏它们)、仅移动组件或修改组件。因此,移动设备编辑装置可以与处理仅在移动设备侧的改变的移动设备处理装置360进行交互。

移动设备处理装置360可以使用用于放置添加的(仅移动设备)组件的多种方法。移动设备处理装置360可以允许将新的组件仅插入在组件行上的或者在现有组件行后面或之前的新的组件行上的两个组件之间,如在现在所参考的图29中例示的。新的组件X可以插入在A与B之间,或者新的组件Y可以插入在P下方以及A、B和C上方。其还可以在添加的组件之前/之后插入换行符。

在这种情形中的所插入的组件(X或Y)可以被锚固到前面的组件(或容器)并且如果重新生成移动设备布局配置并请求“保留添加的移动设备组件”,则所插入的组件可以被重新插入到该位置中。如果锚点是不可用的(例如,在台式机布局配置中移除锚固到的组件),则移动设备处理装置360可以搜索最近的先前组件或容器(如所指出的),以便将组件添加到台式机布局配置。

移动设备处理装置360还可以允许将新的(仅移动设备)组件X放置在页面中的任意位置中。移动处理装置360随后可以通过搜索具有与X的最大交集的组件来搜索锚固的组件。如果这种组件都不可用,则移动处理装置360可以基于距离和重叠量的加权平均并通过使用距离和重叠量的阈值来查找最接近的相邻组件(在所有4个侧上)。如果未找到使用包含X的容器的这种组件,则移动设备处理装置360可以使用页面起始作为锚点,其可以在离开锚点的最近边缘的距离和偏移量的角度被定义为锚点。

为了避免与搜索引擎策略的不兼容性,重转换装置300可以完全避免提供这种操作。或者,重转换装置300可以受限于添加不会影响页面的搜索引擎视图的组件,例如装饰类型的组件(例如,线条、装饰形状)、,没有内容的组件(例如,不添加额外的菜单条目信息的页面内部的导航菜单)、具有不被提供给搜索引擎的内容(例如,背景图像)的组件以及只对于移动设备环境是相关的组件(例如,提供用于设置电话呼叫、发送文本/MMS消息、导航到给定的位置或切换到台式机站点版本的功能的按钮)。

还将意识到,移动设备编辑装置还可以首先将非移动设备推荐的组件放置在“移除的组件”显示设备中,并需要第二步骤来实际上将它们并入移动设备布局配置中。

如下文中所讨论的,可以在移动设备修改显示设备中列出添加的组件,从而容易地移除特定的只添加到移动设备的组件。

移动设备处理装置360还可以从移动设备布局配置中移除组件(其可以通过实际上移除组件或仅隐藏该组件来实现)。将意识到,当从移动设备布局配置中移除组件时,移动设备处理装置360可以不将组件重新布置在相同的行中。当移除整个组件行时,移动处理装置360可以尽可能靠近地上下移动组件,如在现在所参照的图30中例示的。如果移除了组件A、B或C中的任何一个(但不是全部三个),则行中的剩余组件(A、B或C不会受到影响或移动。如果移除了所有三个组件(A、B和C),则组件Q和在其后面的组件将向上移动为靠近组件P。如下文中所讨论的,可以在移动设备修改显示设备中列出一个或多个所移除的组件,从而在后面的阶段容易地将所隐藏的组件重新插入到应用中(如果需要)。

还将意识到,移动设备布局配置中的组件可以由用户经由常规编辑视觉数据系统GUI来移动。移动设备处理装置360可以保留这些修改,直到页面被重新创建,并可以在移动设备修改显示设备中列出这些修改(如下文中所讨论的),从而容易地撤销特定的改变。

移动编辑装置还可以允许组件也被移动“离开”(右边或左边)移动设备的窄显示条。在这种场景中,该组件可以保持与该“条带”的某个最小的水平重叠量,并可以被显示为裁剪到条带的尺寸。另外,该选项可以成为等同于“隐藏组件”选项。该选项可用于仅示出组件/容器的部分,或用于将组件临时放置到侧边,以便有助于在移动设备配置中重新布置组件。

移动设备编辑装置还可以允许用户选择性地改变移动设备布局配置中的组件属性、性质和式样。移动设备编辑装置可以将这些改变的属性标记为“在移动设备中改变”,因此在台式机布局配置中的特定属性的改变可能不会影响(和覆盖)对移动设备布局配置中的这种属性作出的改变。

可能期望作为移动设备布局配置的特定改变的一个具体改变是字体大小。如果组件调整装置277生成与设计者可能需要的大小不同的大小,则这可能是需要的。因此,特定的字体大小的改变(作为应用于由初始布局转换装置200所生成的字体大小上的因素)可以在单位字段的基础上被添加并应用到所显示的文本。移动设备编辑装置可以使用本地的“比例因子”属性、以及(例如)用于可能影响该属性的5%的字体大小增大/减小的按钮来改变字体大小。将意识到,移动设备编辑装置仍可以将新的字体大小限制到移动设备友好的字体大小的给定范围。如下文中所讨论的,可以在移动设备修改显示设备中列出任何属性修改(包括字体大小改变)。

如上文中所讨论的,重转换装置300可以提供显示特定于给定的移动设备布局配置的修改列表(例如,组件的添加、组件的移除和组件的修改)的单独GUI。为了查看特定的移动设备布局配置的修改以及在这些修改与初始布局转换装置200所作出的其它布局修改之间进行区分,这可能是有用的。为了查看对不同的移动设备布局配置作出的不同改变并为了能够撤销特定的移动设备布局配置修改(例如,重新插入特定的“被移除的”组件),这也可能是有用的。

将意识到,可以根据其中执行修改的页面(例如当前页面、另一个页面或另外多个页面或任何模板或主页面)或根据修改类型(例如,组件的插入、移除或修改)来划分这种显示设备。

显示设备还可以用于对这些显示设备进行分类,例如,根据时间戳、页面中的位置或受影响的组件类型。移动设备编辑装置可以支持对于选定的一组修改的撤销操作。移动处理装置360随后可以撤销任何修改,例如重新插入被移除的组件是相反的组件位置修改。

重转换装置300还可以支持移动设备布局配置重新生成的选择。当激活时,重转换装置300可以指导初始布局转换装置200再次对下层的台式机布局配置(其自从上次运行初始布局转换装置200以来已经被修改)运行,并且可以或许重新应用移动设备布局配置的特定改变。

将意识到,重新生成可以应用于应当被重新生成的页面(当前页面、特定页面、整个页面)以及应当在重新生成移动设备布局配置之后重新应用的移动设备布局配置的改变。这些可以按照种类(例如,只隐藏组件)来选择,包括特定的选定修改或包括所有修改。还将意识到,如果在未将移动设备布局配置的改变重新应用到给定的一个或多个页面的情况下执行重新生成的运行,则相关的移动设备布局配置的改变被丢弃。

如上文中所描述的,显示装置290可以显示新更新的移动设备布局配置。

如上面所描述的系统可以以多种方式来与相关网站建设系统集成。例如,系统100可以被集成到实际的网站建设系统的代码中—完全在客户端侧、完全在服务器侧或两者。系统100还可以在与网站建设系统相同的服务器平台上或者在单独的独立式服务器或服务器组上运行。系统100可以在线运行(不管何时浏览网站建设系统的网页)、离线运行(从而所创建的储存的网站建设系统的经转换版本)或者组合运行(某些阶段离线激活并且其它在线激活)。其可以直接在网站建设系统数据结构上运行或提供由网站建设系统所调用的接口(例如网页服务),以便将系统100与网站建设系统的内容相隔离。

将意识到,在本发明的不同实施例中,系统100中的不同元素可以以不同的方式来划分它们的功能,并可以以与上文中所描述的顺序不同的顺序来执行上面提及的功能。还将意识到,系统100还可以使用部分功能来部分地执行。

因此,具体应用的台式机布局配置可以被适当地转换成移动设备布局配置(或任何其它不同尺寸的目标布局),考虑了组件之间的关系。此外,在初始转换之后,可以对用于相同页面的台式机布局配置和移动设备布局配置两者作出修改,并且可以在新生成的移动设备页面内反映出这些修改。

除非另外明确说明,如从前述讨论显而易见的,可以意识到,贯穿本说明书,利用诸如“处理”、“计算”、“运算”、“确定”等之类的术语的讨论指代计算机、计算系统、客户端/服务器系统或类似的电子计算设备的动作和/或处理,这些设备将被表示为计算系统的寄存器和/或存储器内的物理(例如,电)量的数据操纵和/或转换成类似地被表示为计算系统的存储器、寄存器或其它这种信息储存器、传输设备或显示设备内的物理量的其它数据。

本发明的实施例可以包括用于执行本文中的操作的装置。该装置可以是针对期望的目的专门构建的,或者其可以包括选择性地激活或由储存在计算机中的计算机程序重新配置的通用目的计算机。得到的装置当由软件指示时,可以将通用目的计算机转变成如本文中所讨论的创造性元素。指令可以定义与所期望的计算机平台一起操作。这种计算机程序可以储存在计算机可读储存截止,例如但不限于,任何类型的磁盘,包括软盘、光盘、磁-光盘、只读存储器(ROM)、压缩盘只读存储器(CD-ROM)、随机存取存储器(RAM)、电可编程只读存储器(EPROM)、电可擦除和可编程只读存储器(EEPROM)、磁卡或光卡、闪存、闪存盘或适合于储存电指令并能够耦合到计算机系统总线的任何其它类型的介质。

本文中所呈现的过程和显示并非固有地与任何特定计算机或其它装置相关。各通用目的系统可以根据本文中的教导与程序结合使用,或者其可以证明便于构建更专用的装置来执行所期望的方法。对于各种这些系统所期望的结构将从以下描述显现。此外,并未参照任何特定的编程语言来描述本发明的实施例。将意识到,各种编程语言可用于实现如本文中所描述的发明的教导。

尽管本文中已经例示并描述了本发明的某些特征,但本领域普通技术人员现在将想到许多修改、代替、改变、和等同物。因此,将理解的是,所附权利要求书旨在覆盖如落入本发明的真正精神内的所有这些修改和改变。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号