System and method for automated conversion of interactive sites and applications to support mobile and other display environments.
Abstract
A converter implementable via a client/server system having at least one processor to process instructions defining said converter, including a receiver to receive a website page from a website building system, the page having a source layout for a source display area, the page having an object model representation of components and a processor to determine an order and set of relationships among the components and to create a target layout of the website page for a target display area, the target layout being based on a semantic analysis and reconciliation of the determined order and set of relationships and where the source display area has different attributes than the target display area.

Term
8 yearsleft in the term
Expires 11 September 2034.
- Priority
- Filed
- Granted
- Today
- Expires
47 claims: 2 independent, 45 dependent
- 1NOVEDAD DE LA INVENCIÓN REIVINDICACIONES 1. Un convertidor implementable por medio de un sistema de cliente/servidor que tiene por lo menos un procesador para procesar instrucciones que definen dicho convertidor, dicho convertidor comprende:un receptor para recibir una página web desde un sistema de construcción de sitios web, dicha página tiene un esquema de origen para un área de visualización de origen, dicha página tiene una representación de modelo objetivo de componentes;y un procesador para determinar un orden y un conjunto de relaciones entre dichos componentes y para crear un esquema de destino de dicha página web para un área de visualización de destino, dicho esquemade destino se basa en un análisis semántico y una conciliación de dicho orden y dicho conjunto de relaciones determinados, en donde dicha área de visualización de origen tiene atributos distintos de dicha área de visualización de destino.
- 2El convertidor de conformidad con la reivindicación 1, caracterizado además porque también comprende un reconvertidor para fusionar modificaciones a dicho esquema de origen y a dicho esquema de destino teniendo en cuenta modificaciones independientes realizadas a dicho esquema de destino para crear una configuración de esquema de destino actualizado, y en donde dicho esquema de destino actualizado refleja cambios realizados a dicho esquema de destino.
- 3El convertidor de conformidad con la reivindicación 1, caracterizado además porque dicho procesador comprende:un preprocesador para analizar propiedades de objetos de dichos componentes y para modificar su idoneidad para su presentación en dicha área de visualización de destino;un creador de supernodos para localizar grupos de dichos componentes que deberían permanecer juntos y para crear una jerarquía de supernodos con base en la ubicación de dichos componentes y las relaciones de contenido de dichos componentes;un ordenante para determinar un orden de los elementos dentro de cada uno de dichos supernodos;un colocador para colocar dichos elementos dentro de dicho esquema de destino con base en por lo menos uno de dicho orden determinado, espacios reservados y dichos grupos;y un postprocesador para ajustar dichos elementos colocados antes de la visualización.
- 4El convertidor de conformidad con la reivindicación 1, caracterizado además porque dichos componentes son por lo menos uno de componentes atómicos, componentes de recipientes de una sola página y componentes de recipientes de múltiples páginas.
- 5El convertidor de conformidad con la reivindicación 1, caracterizado además porque dicho convertidor es por lo menos uno de un cliente, un servidor y un servidor de terceros.
- 6El convertidor de conformidad con la reivindicación 3, caracterizado además porque dicho preprocesador comprende por lo menos uno de:un controlador de plantillas para modificar instancias de dichos componentes en dichas plantillas;un filtro de componentes para filtrar dichos componentes no adecuados para dicho esquema de destino;un adaptador de componentes para adaptar dichos componentes a dicho esquema de destino;un ajustador de componentes para ajustar dichos componentes a dicho esquema de destino;y un analizador de componentes para analizar los atributos de dichos componentes para determinar su idoneidad de uso.
- 7El convertidor de conformidad con la reivindicación 3, caracterizado además porque dicho creador de supernodos comprende por lo menos uno de:un localizador de grupos de superposición para localizar grupos de dichos componentes, en donde dichos componentes están altamente superpuestos y para reemplazar dicho grupo con un elemento virtual de conformidad con los criterios de agrupación;’un localizador de grupos predefinidos para localizar grupos de dichos componentes de conformidad con indicios de por lo menos uno de una plantilla, una aplicación, una página o un nivel de componentes y para reemplazar dicho grupo con un elemento virtual de conformidad con los criterios de agrupación;un localizador de grupos de imágenes sobre texto para localizar componentes, en donde dichos componentes son componentes de texto que están superpuestos sobre una imagen de fondo específica para reemplazar dicho grupo con un elemento virtual de conformidad con los criterios de agrupación;un anotador para determinar una puntuación de certeza para la corrección de dicho localizador de grupos de superposición, dicho localizador de grupos predefinidos y dicho localizador de grupos de imágenes sobre texto;y un creador de nodos para crear una jerarquía de supernodos con base en dichos componentes y dichos elementos virtuales.
- 8El convertidor de conformidad con la reivindicación 3, caracterizado además porque dicho ordenante comprende por lo menos uno de:un ordenante básico para determinar una secuencia de dichos elementos de dichos supernodos de conformidad con criterios de orden predefinidos;un localizador de conjunto de orden parcial para analizar por lo menos uno de la semántica, el contenido, los atributos, el historial de edición y la geometría de dichos elementos de dichos supernodos;un anotador para determinar una puntuación de certeza para la corrección de dicho ordenante básico y dicho localizador de conjunto de orden parcial;y un integrador de orden para integrar la secuencia determinada por dicho ordenante básico con conjuntos de orden parcial detectados que son localizados por dicho localizador de conjunto de orden parcial para crear un orden modificado fusionado.
- 9El convertidor de conformidad con la reivindicación 3, caracterizado además porque dicho postprocesador comprende por lo menos uno de:un insertador de componentes agregados de forma automática para insertar por lo menos uno de componentes agregados de forma automática y componentes relacionados con equipos móviles;y un coordinador de esquema dinámico para llevar a cabo por lo menos una de la creación, la modificación y la eliminación de anclajes de esquema dinámico, en donde dichos anclajes se ajustan de conformidad con dicho esquema de destino.
- 10El convertidor de conformidad con la reivindicación 8, caracterizado además porque dicho ordenante básico comprende por lo menos uno de:un ordenante de dirección primaria para secuenciar dichos elementos de dichos supernodos de conformidad con por lo menos una de filas y columnas;un ordenante de división y fusión con dirección primaria para secuenciar dichos elementos de dichos supernodos de conformidad con por lo menos una de filas y columnas y para rastrear cualquier división y fusión de fila/columna;y un seccionador horizontal/vertical para alternar corte horizontal y vertical de dichos elementos de dichos supernodos para crear un árbol interno de divisiones y definir una secuencia de visualización de dichos elementos.
- 11El convertidor de conformidad con la reivindicación 3, caracterizado además porque dicho colocador comprende por lo menos uno de:un intérprete de indicios para interpretar indicios unidos a dichos elementos de dichos supernodos;un creador de saltos de línea para crear saltos de línea de conformidad con dichos indicios creados por dicho creador de nodos y dicho ordenante;un reductor de anchura para reducir la anchura de dichos elementos, en donde dicho reductor de anchura comprende por lo menos uno de un aparato para cambio nuevo de escala, un cambiador de fuente y un aparato para reflujo de texto, y en donde dicho reductor de anchura conserva el diseño visual;un ajustador de tamaño para aplicar por lo menos uno de ajuste de anchura y altura a dichos elementos de dichos supernodos;y un redimensionador para redimensionar imágenes de decoración.
- 12El convertidor de conformidad con la reivindicación 8, caracterizado además porque dicho localizador de conjunto de orden parcial comprende por lo menos uno de:un localizador de conjunto de orden parcial de grupo para detectar un conjunto de orden parcial de grupo, en donde dichos elementos de dichos supernodos son más cercanos en proximidad en comparación con el espaciado regular entre dichos elementos en dichos supernodos, un localizador de conjunto de orden parcial semántico para detectar un conjunto de orden parcial de relación semántico cuando hay combinaciones específicas de dichos elementos de dichos supernodos de tipos determinados que son muy cercanos entre sí;un localizador de conjunto de orden parcial de patrón para detectar un conjunto de orden parcial cuando hay patrones establecidos entre dichos elementos de dichos supernodos;un localizador de conjunto de orden parcial predefinido para detectar un conjunto de orden parcial con base en por lo menos una de definiciones de agrupación relacionadas con edición existentes, información de anclaje de esquema dinámico existente y la reutilización de plantillas de componentes para diferentes conjuntos de componentes;y un localizador de conjunto de orden parcial con base en información de sesión de edición para detectar un conjunto de orden parcial de dichos elementos de dichos supernodos con base en información recogida de sesiones de edición previas.
- 13El convertidor de conformidad con la reivindicación 9, caracterizado además porque dicho por lo menos uno de componentes agregados de forma automática y componentes relacionados con equipos móviles incluyen por lo menos uno de widgets específicos del dispositivo de destino, menús de navegación, anuncios y material promocional.
- 14El convertidor de conformidad con la reivindicación 10, caracterizado además porque dicho convertidor tiene un localizador de conjunto de orden parcial de patrón, y en donde dicho seccionador horizontal/vertical comprende un divisor de elementos para determinar la dirección de corte de dichos elementos de dichos supernodos con base en por lo menos uno de número de divisores, tamaño de espacios encontrados en la dirección de proyección determinada, dicho conjunto de orden parcial de patrón localizado y la calidad de alineación con proyecciones de eje en ambas direcciones.
- 15El convertidor de conformidad con la reivindicación 6, caracterizado además porque dicho filtro de componentes comprende:un eliminador para eliminar componentes no adecuados para la visualización de esquema de destino y un ocultador para ocultar componentes no adecuados para la visualización de esquema de destino.
- 16El convertidor de conformidad con la reivindicación 6, caracterizado además porque dicho adaptador de componentes comprende:un modificador para modificar el tamaño y la anchura de dichos componentes, un unificador para unir componentes de menú, un actualizador de contenido para actualizar adaptaciones relacionadas con el contenido, un creador para crear menús compuestos;y un convertidor de caracteres para convertir gráficos basados en caracteres.
- 17El convertidor de conformidad con la reivindicación 6, caracterizado además porque dicho ajustador de componentes comprende un correlacionador para crear una correlación de tamaño de fuente entre dicho esquema de origen y dicho esquema de destino.
- 18El convertidor de conformidad con la reivindicación 6, caracterizado además porque dicho analizador de componentes comprende:una grapadora de imágenes para fusionar dichos componentes cuando dichos componentes son componentes de imágenes en una sola imagen;y un controlador de imágenes de decoración para distinguir imágenes de decoración.
- 19El convertidor de conformidad con la reivindicación 2, caracterizado además porque dicho reconvertidor comprende:un eliminador de páginas para eliminar una página de dicho esquema de destino cuando dicha página se elimina de dicho esquema de origen;un adicionador de páginas para agregar una página a dicho esquema de destino cuando dicha página se agrega a dicho esquema de origen;un eliminador de componentes para eliminar un componente de dicho esquema de destino cuando dicho componente se elimina de dicho esquema de origen;un adicionador de componentes para agregar un componente a dicho esquema de destino cuando dicho componente se agrega a dicho esquema de origen;un modificador de componentes para modificar un componente de dicho esquema de destino cuando dicho componente se modifica en dicho esquema de origen;y un controlador móvil para manejar modificaciones a dicho esquema de destino, en donde dichas modificaciones son independientes de las modificaciones a dicho esquema de origen.
- 20El convertidor de conformidad con la reivindicación 19, caracterizado además porque dicho adicionador de componentes comprende:un buscador de padre/predecesor para buscar por lo menos uno del componente predecesor y el componente padre más cercanos que son los más cercanos a un componente agregado a dicho esquema de origen;y un adicionador de esquema móvil para insertar dicho componente agregado a dicho esquema de destino de conformidad con la ubicación de dicho por lo menos uno del componente predecesor y el componente padre más cercanos.
- 21Un método implementable en un dispositivo de cómputo, dicho método comprende:recibir una página web desde un sistema de construcción de sitios web, dicha página tiene un esquema de origen para un área de visualización de origen, dicha página tiene una representación de modelo objetivo de componentes;y determinar un orden y un conjunto de relaciones entre dichos componentes y crear un esquema de destino de dicha página web para un área de visualización de destino, dicho esquema de destino se basa en un análisis semántico y una conciliación de dicho orden y dicho conjunto de relaciones determinados, en donde dicha área de visualización de origen tiene atributos distintos de dicha área de visualización de destino.
- 22El método de conformidad con la reivindicación 21, caracterizado además porque también comprende fusionar modificaciones a dicho esquema de origen y a dicho esquema de destino teniendo en cuenta modificaciones independientes realizadas a dicho esquema de destino para crear una configuración de esquema de destino actualizado, y en donde dicho esquema de destino actualizado refleja cambios realizados a dicho esquema de destino.
- 23El método de conformidad con la reivindicación 21, caracterizado además porque dichas determinación y creación comprenden:analizar propiedades de objetos de dichos componentes y modificar su idoneidad para su presentación en dicha área de visualización de destino;localizar grupos de dichos componentes que deberían permanecer juntos y crear una jerarquía de supernodos con base en la ubicación de dichos componentes y las relaciones de contenido de dichos componentes;determinar un orden de los elementos dentro de cada uno de dichos supernodos;colocar dichos elementos dentro de dicho esquema de destino con base en por lo menos uno de dicho orden determinado, y dichos grupos;y ajustar dichos elementos colocados antes de la visualización.
- 24El método de conformidad con la reivindicación 21, caracterizado además porque dichos componentes son por lo menos uno de componentes atómicos, componentes de recipientes de una sola página y componentes de recipientes de múltiples páginas.
- 25El método de conformidad con la reivindicación 21, caracterizado además porque dichos análisis y modificación comprenden por lo menos uno de:modificar instancias de dichos componentes en dichas plantillas;filtrar dichos componentes no adecuados para dicho esquema de destino;adaptar dichos componentes a dicho esquema de destino;ajustar dichos componentes a dicho esquema de destino;y analizar los atributos de dichos componentes para determinar su idoneidad de uso.
- 26El método de conformidad con la reivindicación 23, caracterizado además porque dichas localización y creación comprenden por lo menos uno de:localizar grupos de dichos componentes, en donde dichos componentes están altamente superpuestos y reemplazar dicho grupo con un elemento virtual de conformidad con criterios de agrupación;localizar grupos de dichos componentes de conformidad con indicios de por lo menos uno de una plantilla, una aplicación, una página o un nivel de componentes y reemplazar dicho grupo con un elemento virtual de conformidad con criterios de agrupación;localizar componentes, en donde dichos componentes son componentes de texto que están superpuestos sobre una imagen de fondo específica y reemplazar dicho grupo con un elemento virtual de conformidad con criterios de agrupación;determinar una puntuación de certeza para la corrección de dicha localización de grupos de dichos componentes, en donde dichos componentes están altamente superpuestos, localizar grupos de dichos componentes de conformidad con indicios de por lo menos uno de una plantilla, una aplicación, una página o un nivel de componentes y localizar componentes, en donde dichos componentes son componentes de texto que están superpuestos sobre una imagen de fondo específica;y crear una jerarquía de supernodos con base en dichos componentes y dichos elementos virtuales.
- 27El método de conformidad con la reivindicación 23, caracterizado además porque dicho determinación de un orden comprende por lo menos uno de:determinar una secuencia de dichos elementos de dichos supernodos de conformidad con criterios de orden predefinidos;y analizar por lo menos uno de la semántica, el contenido, los atributos, el historial de edición y la geometría de dichos elementos de dichos supernodos;determinar una puntuación de certeza para la corrección de dicha determinación de una secuencia de dichos elementos de dichos supernodos de conformidad con criterios de orden predefinidos y dicho análisis de por lo menos uno de la semántica, el contenido, los atributos, el historial de edición y la geometría de dichos elementos de dichos supernodos;e integrar la secuencia determinada mediante la determinación de una puntuación de certeza para la corrección de dicha determinación de una secuencia de dichos elementos de dichos supernodos de conformidad con criterios de orden predefinidos y dicho análisis de por lo menos uno de la semántica, el contenido, los atributos, el historial de edición y la geometría de dichos elementos de dichos supernodos y crear un orden modificado fusionado.
- 28El método de conformidad con la reivindicación 23, caracterizado además porque dicho ajuste comprende por lo menos uno de:insertar de forma automática componentes agregados;y llevar a cabo por lo menos una de la creación, la modificación y la eliminación de anclajes de esquema dinámico, en donde dichos anclajes se ajustan de conformidad con dicho esquema de destino.
- 29El método de conformidad con la reivindicación 27, caracterizado además porque dicha determinación de una secuencia de dichos elementos de dichos supernodos de conformidad con criterios de orden predefinidos comprende por lo menos uno de:secuenciar dichos elementos de dichos supernodos de conformidad con por lo menos una de filas y columnas;secuenciar dichos elementos de dichos supernodos de conformidad con por lo menos una de filas y columnas y rastrear cualquier división y fusión de fila/columna;y alternar corte horizontal y vertical de dichos elementos de dichos supernodos para crear un árbol interno de divisiones y definir una secuencia de visualización de dichos elementos.
- 30El método de conformidad con la reivindicación 23, caracterizado además porque dicha colocación comprende por lo menos uno de:interpretar indicios unidos a dichos elementos de dichos supernodos;crear saltos de línea de conformidad con dichos indicios creados por dicha localización de grupos de dichos componentes que deberían permanecer juntos y dicha creación de una jerarquía de supernodos con base en la ubicación de dichos componentes y las relaciones de contenido de dichos componentes;aplicar por lo menos uno de ajuste de anchura y altura a dichos elementos de dichos supernodos;y redimensionar imágenes de decoración.
- 31El método de conformidad con la reivindicación 23, caracterizado además porque dicha determinación de una secuencia de dichos elementos de dichos supernodos de conformidad con criterios de orden predefinidos comprende por lo menos uno de:detectar un conjunto de orden parcial de grupo, en donde dichos elementos de dichos supernodos son más cercanos en proximidad en comparación con el espaciado regular entre dichos elementos en dichos supernodos, detectar un conjunto de orden parcial de relación semántico cuando hay combinaciones específicas de dichos elementos de dichos supernodos de tipos determinados que son muy cercanos entre sí;detectar un conjunto de orden parcial cuando hay patrones establecidos entre dichos elementos de dichos supernodos;detectar un conjunto de orden parcial con base en por lo menos una de definiciones de agrupación relacionadas con edición existentes, información de anclaje de esquema dinámico existente y la reutilización de plantillas de componentes para diferentes conjuntos de componentes;y detectar un conjunto de orden parcial de dichos elementos de dichos supernodos con base en información recogida a partir de sesiones de edición previas.
- 32El método de conformidad con la reivindicación 28, caracterizado además porque dicho por lo menos uno de componentes agregados de forma automática y componentes relacionados con equipos móviles incluyen por lo menos uno de widgets específicos del dispositivo de destino, menús de navegación, anuncios y material promocional.
- 33El método de conformidad con la reivindicación 29, caracterizado además porque dicha detección de un conjunto de orden parcial cuando hay patrones establecidos entre dichos elementos de dichos supernodos y en donde dicha alternación de corte horizontal y vertical de dichos elementos de dichos supernodos y creación de un árbol interno de divisiones y definición de una secuencia de visualización de dichos elementos comprende determinar la dirección de corte de dichos elementos de dichos supernodos con base en por lo menos uno de número de divisores, tamaño de espacios encontrados en la dirección de proyección determinada, dicha detección de un conjunto de orden parcial cuando hay patrones establecidos entre dichos elementos de dichos supernodos y la calidad de alineación con proyecciones de eje en ambas direcciones.
- 34El método de conformidad con la reivindicación 25, caracterizado además porque dicho filtrado comprende:eliminar componentes no adecuados para dicha visualización de esquema de destino y ocultar componentes no adecuados para dicha visualización de esquema de destino.
- 35El método de conformidad con la reivindicación 25, caracterizado además porque dicha adaptación comprende:modificar el tamaño y la anchura, de dichos componentes, unir componentes de menú, actualizar adaptaciones relacionadas con contenido;crear menús compuestos;y convertir gráficos basados en caracteres.
- 36El método de conformidad con la reivindicación 25, caracterizado además porque dicho ajuste comprende correlacionar tamaño de fuente entre dicho esquema de origen y dicho esquema de destino.
- 37El método de conformidad con la reivindicación 25, caracterizado además porque dicho análisis comprende:fusionar dichos componentes cuando dichos componentes son componentes de imágenes en una sola imagen;y distinguir imágenes de decoración.
- 38El método de conformidad con la reivindicación 22, caracterizado además porque dicha reconversión comprende:eliminar una página de dicho esquema de destino cuando dicha página se elimina de dicho esquema de origen;adicionar una página a dicho esquema de destino cuando dicha página se agrega a dicho esquema de origen;eliminar un componente de dicho esquema de destino cuando dicho componente se elimina de dicho esquema de origen;adicionar un componente a dicho esquema de destino cuando dicho componente se agrega a dicho esquema de origen;modificar un componente de dicho esquema de destino cuando dicho componente se modifica en dicho esquema de origen;y manejar modificaciones a dicho esquema de destino, en donde dichas modificaciones son independientes de las modificaciones a dicho esquema de origen.
- 39El método de conformidad con la reivindicación 38, caracterizado además porque dicha adición de un componente comprende:buscar por lo menos uno del componente predecesor y el componente padre más cercanos que son los más cercanos a un componente agregado a dicho esquema de origen;e insertar dicho componente agregado a dicho esquema de destino de conformidad con la ubicación de dicho por lo menos uno del componente predecesor y el componente padre más cercanos.
- 40El convertidor de conformidad con la reivindicación 7, caracterizado además porque dicho creador de nodos realiza por lo menos uno de eliminar y fusionar recipientes de conformidad con un análisis semántico.
- 41El método de conformidad con la reivindicación 26, caracterizado además porque dicha creación de una jerarquía de supernodos comprende por lo menos uno de eliminar y fusionar recipientes de conformidad con un análisis semántico.
- 42El convertidor de conformidad con la reivindicación 20, caracterizado además porque dicho buscador de padre/predecesor comprende un formador de grupos para agrupar componentes de conformidad con su proximidad con dicho componente predecesor y dicho componente padre.
- 43El método de conformidad con la reivindicación 39, caracterizado además porque dicha búsqueda comprende agrupar componentes de conformidad con su proximidad con dicho componente predecesor y dicho componente padre.
- 44El método de conformidad con la reivindicación 21, caracterizado además porque dicho método se lleva a cabo de forma recursiva de conformidad con dicho esquema de origen.
- 45El método de conformidad con la reivindicación 21, caracterizado además porque dichas determinación y creación emplean indicios proporcionados por al menos uno de dichos componentes y una plantilla predefinida de dichos componentes.
- 46El convertidor de conformidad con la reivindicación 19, caracterizado además porque dicho controlador móvil lleva a cabo por lo menos uno de cerrar espacios en una línea de componentes determinada y eliminar toda una línea de componentes cuando dicho eliminador de componentes elimina un componente de dicho esquema de destino.
- 47El método de conformidad con la reivindicación 38, caracterizado además porque dicho manejo de modificaciones a dicho esquema de destino comprende por lo menos uno de cerrar espacios en una línea de componentes determinada y eliminar toda una línea de componentes cuando dicho componente se elimina de dicho esquema de origen.
Independent claims47
282 paragraphs in 5 sections, as filed
(54) Title: SYSTEM AND METHOD FOR AUTOMATED CONVERSION OF INTERACTIVE SITES AND APPLICATIONS TO SUPPORT MOBILE ENVIRONMENTS AND OTHER DISPLAY ENVIRONMENTS.
(54) Title: SYSTEM AND METHOD FOR AUTOMATED CONVERSION OF INTERACTIVE SITES AND APPLICATIONS TO SUPPORT MOBILE AND OTHER DISPLAY ENVIRONMENTS.
(57) Summary
A converter deployable by means of a client / server system having at least one processor to process instructions defining said converter, including a receiver for receiving a web page from a website building system, the page has a schematic source for a source display area, the page has a component object model representation and a processor to determine an order and set of relationships between components and to create a web page target schema for a target display area, the target schema is based in a semantic analysis and reconciliation of the order and the set of determined relationships, and where the source display area has different attributes from the target display area.
(57) Abstract
A converter implementable via a client / server system having at least one processor to process instructions defining said converter, including a receiver to receive a website page from a website building system, the page having a source layout for a source display area, the page having an object model represented of components and a processor to determine an order and set of relationships among the components and to create a target layout of the website page for a target display area, the target layout being based on a semantic analysis and reconciled of the determined order and set of relationships and where the source display area has different attributes than the target display area.
SYSTEM AND METHOD FOR AUTOMATED CONVERSION OF INTERACTIVE SITES AND APPLICATIONS TO SUPPORT MOBILE ENVIRONMENTS AND OTHER DISPLAY ENVIRONMENTS
CROSS REFERENCE WITH RELATED REQUESTS
This application claims the benefit of the North American Provisional Patent Application No. 61 / 876,795 filed on September 12, 2013, which is incorporated herein in its entirety by way of reference.
FIELD OF THE INVENTION
The present invention relates to the conversion of interactive applications and to mobile platforms in particular.
BACKGROUND OF THE INVENTION
With the advent of the Internet, in recent years, users have increasingly been accessing interactive websites and applications through the use of smartphones, tablets, and other mobile devices. These devices have been gradually replacing - or complementing - both the full-featured desktop PC and older, less capable feature phones. This applies to websites residing on the world-wide-web, as well as other interactive applications that can now be purchased from numerous application stores offered by large companies such as Apple, Google, Microsoft and Amazon.
Websites and interactive applications have different form factors and display characteristics depending on where they are viewed such as on the desktop PC (personal computer), small-scale mobile device, and medium-sized mobile tablet.
BRIEF DESCRIPTION OF THE INVENTION
There is provided, in accordance with a preferred embodiment of the present invention, a converter that can be implemented by means of a tooth / server system having at least one processor to process instructions defining the converter. The converter includes a receiver for receiving a web page from a website building system, the page has a source schema for a source display area, the page has a representation of the component object model. The converter also includes a processor to determine an order and set of relationships between components and to create a web page target schema for a target display area, the target schema is based on semantic analysis and reconciliation of the given order and relationship set and where the source display area has different attributes than the target display area.
Furthermore, in accordance with a preferred embodiment of the present invention, the converter includes a converter to merge modifications to the source schema and the destination schema taking into account independent modifications made to the destination schema to create an updated destination schema configuration.
Furthermore, in accordance with a preferred embodiment of the present invention, the processor includes a preprocessor for analyzing component object properties and for modifying its suitability for display in the target display area, a supernode creator for locating groups of the components that should stay together and to create a hierarchy of supernodes based on the location of the components and the content relationships of the components. It also includes a sorter to determine an order of the elements within each of the supernodes, a setter to place the elements within the target schema based on at least one of the order and the determined groups, and a post-processor to adjust the elements. placed before display.
Still further, according to a preferred embodiment of the present invention, the components are at least one of atomic components, single page container components and multi page container components.
Additionally, in accordance with a preferred embodiment of the present invention, the converter is deployable on at least one of a client, a server, and a third-party server.
Furthermore, in accordance with a preferred embodiment of the present invention, the preprocessor includes at least one of a template controller for modifying instances of the components in the templates, a component filter for filtering the components unsuitable for the target schema , a component adapter to adapt the components to the target schematic, a component adjuster to fit the components to the target schematic and a component analyzer to analyze the attributes of the components to determine their suitability for use.
Furthermore, in accordance with a preferred embodiment of the present invention, the supernode creator includes an overlay group locator to locate groups of the components where the components are highly overlapping and to replace the group with a virtual element in accordance with the criteria grouping, a predefined group locator to locate groups of components according to hints of at least one of a template, an application, a page or a component level and to replace the group with a virtual element according to the grouping criteria. The super node creator also includes an image over text group locator to locate components, where the components are text components that are superimposed on a specific background image to replace the group with a virtual element according to the grouping criteria, an annotator to determine a certainty score for the overlay group locator correction, the predefined group locator and the image group locator over text; and a node builder to create a hierarchy of supernodes based on components and virtual elements.
Furthermore, in accordance with a preferred embodiment of the present invention, the payer includes a basic payer to determine a sequence of the elements of the supernodes in accordance with predefined order criteria, a partial order set locator to analyze at least one of the semantics, content, attributes, edit history and geometry of the supernode elements, an annotator to determine a certainty score for the correction of the basic payer and partial order set locator and an order integrator to integrate the sequence determined by the basic payer with detected partial order sets that are located by the set locator order to create a merged modified order.
Additionally, in accordance with a preferred embodiment of the present invention, the post processor includes an automatically added component inserter for inserting at least one of automatically added components and components related to mobile equipment and a dynamic scheme coordinator for carrying out at least one of the creation, modification and deletion of dynamic schema anchors, where the anchors are adjusted according to the target scheme.
Still further, in accordance with a preferred embodiment of the present invention, the basic payer includes at least one of a primary address payer to sequence supernode elements in accordance with at least one of rows and columns, a split and merge sorter with primary direction to sequence supernode elements according to at least one row and column and to track any row / column split and merge and a horizontal / vertical disconnector to toggle horizontal and vertical cut of the elements of the supernodes to create an internal tree of divisions and define a sequence of display of the elements.
Additionally, in accordance with a preferred embodiment of the present invention, the setter includes a cue interpreter for interpreting cues attached to the elements of the supernodes, a line break creator to create line breaks in accordance with the cues created by the Node Builder and Order, a size adjuster to apply at least one of the width and height adjustment of the elements of the supernodes; and a resizer to resize decoration images.
Furthermore, in accordance with a preferred embodiment of the present invention, the partial order set locator includes a group partial order set locator to detect a group partial order set when the elements of the supernodes are closest in proximity compared to the regular spacing between elements in supernodes, a semantic partial order set locator to detect a semantic relationship partial order set when there are specific combinations of the elements of the supernodes of certain types that are very close to each other; a pattern partial order set locator to detect a partial order set when patterns are established between the supernode elements, a predefined partial order set locator to detect a partial order set based on at least one of existing edit-related grouping definitions, existing dynamic schema anchor information and reuse of component templates for different sets of components; and a partial order set locator based on edit session information to detect a partial order set of supernode elements based on information collected from previous edit sessions.
Furthermore, according to a preferred embodiment of the present invention, the at least one of automatically added components and components related to mobile equipment include at least one of widgets (fundamental construction element for graphical user interfaces) specific to the destination device, navigation menus, advertisements and promotional material.
Still further, in accordance with a preferred embodiment of the present invention, the converter has a pattern partial order set locator, and wherein the horizontal / vertical disconnector includes an element divider to determine the cutting direction of the elements of supernodes based on at least one of number of divisors, size of spaces found in the given projection direction, the localized pattern partial order set and the alignment quality with axis projections in both directions.
Additionally, in accordance with a preferred embodiment of the present invention, the component filter includes a remover to remove unsuitable components for target schema display and a concealer to hide unsuitable components for target schema display.
Furthermore, in accordance with a preferred embodiment of the present invention, the component adapter includes a modifier to modify the size and width of the components, a unifier to join menu components, a content updater to update content-related adaptations , a creator to create composite menus and a character converter to convert graphics based on characters.
Furthermore, in accordance with a preferred embodiment of the present invention, the component adjuster includes a mapper to create a font size correlation between the source schema and the destination schema.
Furthermore, in accordance with a preferred embodiment of the present invention, the component analyzer includes an image stitcher to stitch the components when the components are single image image components and a decoration to distinguish decoration images.
Additionally, in accordance with a preferred embodiment of the present invention, the reconverter includes a page remover to remove a page from the target schema when the page is removed from the source schema, a page aggregator to add a page to the target schema when the page is added to the source schema, a component remover to remove a component from the target schema when the component is removed from the source schema, a component adder to add a component to the target schema when the component is added to the source schema, a component modifier to modify a component of the target schema when the component is modified to the source schema, and a mobile controller to handle Modifications to the destination schema, where the modifications are independent of the modifications to the origin schema.
Furthermore, in accordance with a preferred embodiment of the present invention, the component adder includes a parent / predecessor finder to find at least one of the closest predecessor component and parent component that are closest to a component added to the source schema, and a mobile schema adder to insert the added component to the target schema according to the location of at least one of the closest predecessor component and parent component.
In accordance with a preferred embodiment of the present invention, there is provided a method implementable in a computing device, the method includes receiving a web page from a website building system, the page has a source schema for an area of source display, the page has a representation of the component object model and determine an order and set of relationships between the components and create a web page target schema for a target display area, the target schema is based on analysis semantic and a reconciliation of the determined order and relationship set, where the source display area has different attributes from the target display area.
Furthermore, in accordance with a preferred embodiment of the present invention, the method also includes merging modifications to the source schema and the destination schema taking into account independent modifications made to the destination schema to create an updated destination schema configuration.
Furthermore, in accordance with a preferred embodiment of the present invention, determination and creation includes analyzing object properties of the components and modifying their suitability for display in the target display area, locating groups of the components that should remain together. and create a hierarchy of supernodes based on the location of the components and the content relationships of the components. It also includes determining an order of the elements within each of the supernodes, placing the elements within the target schema based on at least one of the determined order and groups, and adjusting the elements placed before the display.
Still further, according to a preferred embodiment of the present invention, the components are at least one of atomic components, single page container components and multi page container components.
Additionally, in accordance with a preferred embodiment of the present invention, analysis and modification include at least one of modifying instances of the components in the templates, filtering the components unsuitable for the target scheme, adapting the components to the scheme of target, fit components to the target schema, and analyze the attributes of the components to determine their suitability for use.
Furthermore, in accordance with a preferred embodiment of the present invention, location and creation include locating groups of the components where the components are highly overlapping and replacing the group with a virtual element in accordance with the grouping criteria, locating groups of the components in accordance with indications of at least one of a template, an application, a page or a level of components and replace the group with a virtual element according to the grouping criteria, locate components, where the components are text components that are superimposed on a specific background image and replace the group with a virtual element in accordance with the grouping criteria, determine a certainty score for correcting component group localization where the components are highly overlapping, locate component groups according to clues from at least one of a template, an application, a page, or a level of components and locate components, where components are text components that are superimposed on a specific background image; and create a hierarchy of supernodes based on components and virtual elements.
Furthermore, according to a preferred embodiment of the present invention, determining an order includes determining a sequence of the elements of the supernodes in accordance with predefined order criteria and analyzing at least one of the semantics, content, attributes , the editing history and geometry of the supernode elements, determine a certainty score for the correction of the determination of a sequence of the elements of the supernodes in accordance with predefined order criteria and the analysis of at least one of the semantics, content, attributes, edit history and geometry of supernode elements and integrate the determined sequence by determining a certainty score for correcting the determination of a sequence of supernode elements according to predefined order criteria and the Analyze at least one of the semantics, content, attributes, edit history, and geometry of supernode elements and create a merged modified order.
Furthermore, in accordance with a preferred embodiment of the present invention, the adjustment includes inserting at least one of automatically added components and components related to mobile equipment and carrying out at least one of the creation, modification and modification. removal of dynamic schema anchors, where anchors are adjusted according to the target schema.
Additionally, in accordance with a preferred embodiment of the present invention, determining a sequence of supernode elements in accordance with predefined order criteria includes at least one of sequencing supernode elements in accordance with at least one of rows and columns, sequence the elements of the supernodes according to at least one of rows and columns and track any division and row / column fusion and toggle horizontal and vertical cut of the elements of the supernodes and create an internal tree of divisions and define a sequence element display.
In addition, in accordance with a preferred embodiment of the present invention, placement includes interpreting indicia attached to the supernode elements, creating line breaks in accordance with indicia created by locating groups of components that should remain together, and creating a hierarchy of supernodes based on the location of the components and the content relationships of the components, apply at least one of the width and height adjustment to the elements of the supernodes and resize decoration images.
Furthermore, in accordance with a preferred embodiment of the present invention, determining a sequence of the supernode elements in accordance with predefined order criteria includes detecting a group partial order set when the supernode elements are closest in proximity compared to regular spacing between elements in supernodes, detect a semantic relationship partial order set when there are specific combinations of the supernode elements of certain types that are very close, detect a partial order set when there are established patterns between the supernode elements, detect a partial order set based on at least one of existing edit related grouping definitions, existing dynamic schema anchor information and reuse of component templates for different component sets and detect a pardal order set of supernode elements based on information collected from previous editing sessions.
Furthermore, according to a preferred embodiment of the present invention, the at least one of automatically added components and components related to mobile equipment include at least one of widgets (fundamental construction element for graphical user interfaces) specific to the destination device, navigation menus, advertisements and promotional material.
Still further, in accordance with a preferred embodiment of the present invention, detection of a partial order set when there are established patterns between the supernode elements and when the alternation of horizontal and vertical cutting of the supernode elements includes determining the cutting direction of supernode elements based on at least one of number of divisors, size of spaces found in the determined projection direction, the detection of a partial order set when there are established patterns between the elements of the supernodes and the quality of alignment with axis projections in both directions.
Still further, according to a preferred embodiment of the present invention, filtering includes removing unsuitable components for target schema display and hiding unsuitable components for target schema display.
Additionally, in accordance with a preferred embodiment of the present invention, adaptation includes modifying the size and width of components, joining menu components, updating content-related adaptations, creating composite menus, and converting character-based graphics.
Furthermore, in accordance with a preferred embodiment of the present invention, the adjustment includes correlating font size between the source scheme and the target scheme.
Furthermore, in accordance with a preferred embodiment of the present invention, the analysis includes merging (stitching) the components when the components are image components into a single image and distinguishing decoration images.
Furthermore, in accordance with a preferred embodiment of the present invention, retraining includes removing a page from the destination schema when the page is removed from the source schema, adding a page to the destination schema when the page is added to the source schema , remove a component from the target schema when the component is removed from the source schema, insert a component into the target schema when the component is added to the source schema, modify a target schema component when the component is modified in the source schema and manipulate modifications to the target schema, where the modifications are independent of the modifications to the source schema.
Additionally, in accordance with a preferred embodiment of the present invention, adding a component includes searching for at least one of the closest parent and predecessor component that are closest to a component added to the source schema and inserting the component added in the target schema according to the location of at least one of the closest predecessor component and parent component.
BRIEF DESCRIPTION OF THE DRAWINGS
The subject matter considered as the invention is particularly pointed out and clearly claimed in the final part of the specification. The invention, however, both in terms of organization and method of operation, together with the objectives, features, and advantages thereof, can be better understood with reference to the following detailed description when read with the drawings. that accompany it, in which:
Figure 1 is a schematic illustration of a system for converting visual applications between platforms, built and operating in accordance with the present invention;
Figure 2 is a schematic illustration of the elements of a processor, built and operating in accordance with the present invention;
Figure 3 is a schematic illustration of the dynamic schematic anchor break when components are moved;
Figure 4 is a schematic illustration of why vertical lines are irrelevant on a mobile equipment display;
Figure 5 is a schematic illustration of the elements of a supernode creator, built and operating in accordance with the present invention;
Figure 6 is an illustration of a text reflow required due to changing the font size and field size;
Figure 7 is an image that does not look correct when resized without preserving the aspect ratio;
Figures 8A, 8B and 8C are schematic illustrations of the correlation between the visual application and its corresponding supernode structure, as carried out according to the present invention;
Figure 9 is a schematic illustration of components within containers prior to a rearrangement;
Figure 10 is a schematic illustration of the components of Figure 9 after rearrangement;
Figure 11 is a schematic illustration of the elements of a payer, constructed and operative in accordance with the present invention;
Figure 12 is a schematic illustration of an arrangement of four paragraphs of text with multiple possible reading orders;
Figure 13 is a schematic illustration of an arrangement that includes two paragraphs of text and two images which has multiple possible reading orders;
Figures 14A, 14B, and 14C are schematic illustrations of the conversion of the item set within a supernode to an item graph and then an item order, performed in accordance with the present invention;
Figures 15A, 15B, and 15C are an algorithm showing the functionality of a primary address split and merge, constructed and operational in accordance with the present invention;
Figures 16A, 16B, 16C, 16D, 16E, 16F, 16G, and 16H are schematic illustrations of the primary splitting and fusion ordering process of Figures 15A, 15B, and 15C, constructed and operating in accordance with the present invention;
Figure 17 an example of a website schematic;
Figures 18A and 18B are schematic illustrations of horizontal and vertical divisions of supernodes, constructed and operative in accordance with the present invention;
Figures 19A to 19C are examples of an evaluation of vertical and horizontal divisions based on a previous pattern similarity analysis, constructed and operative in accordance with the present invention;
Figure 20 is a schematic illustration of how a vertical supernode partition is preferred as the components are better aligned on horizontal lines, constructed and operational in accordance with the present invention;
Figure 21 is a schematic illustration of an interlocking element configuration;
Figure 22 is a schematic illustration of pairs of components having switched locations;
Figure 23 is a schematic illustration of how components of four images can be divided into pairs in two ways;
Figure 24 is a schematic illustration of a non-rectangular display shape that remains after parceling automatically added components;
Figure 25 is a schematic illustration of the elements of a converter, built and operating in accordance with the present invention;
Figure 26 is a schematic illustration of the elements of a component adder, constructed and operating in accordance with the present invention;
Figure 27 is a schematic illustration of the functionality of the converter of Figure 25, constructed and operational in accordance with the present invention;
Figures 28A, 28B, 28C, 28D, 28E, 28F, and 28G are schematic illustrations of component placement in converting or reconverting a web page from a desktop schematic configuration to a mobile, built-in, and operational schematic configuration. according to the present invention;
Figure 29 is a schematic illustration of component insertion methods in the mobile version of a web page; and
Figure 30 is a schematic illustration of removing components from the mobile version of a web page.
It will be appreciated that for simplicity and clarity of illustration, the elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some of the elements may be exaggerated relative to other elements for clarity. Furthermore, where deemed appropriate, reference numbers may be repeated between the figures to indicate corresponding or analogous elements.
DETAILED DESCRIPTION OF THE INVENTION \
In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the invention. However, it will be understood by those skilled in the art that the present invention can be practiced without these specific details. In other cases, well known methods, procedures, and components have not been described in detail so as not to complicate the present invention.
Applicants have realized that existing sites and applications are typically designed for the desktop PC, with a large-scale, high-resolution display that is very common. When accessing such sites and applications using a smaller scale display, numerous problems arise, including (for example): excess displacement required (in particular, horizontal displacement); difficult navigation; non-mobile font sizes; display designs and components that are not adapted to mobile touchscreens, etc.
Because these sites can be viewed on differently sized platforms such as tablets and mobile phones, a developer would be required to create multiple versions of the site or application to support these multiple usage scenarios and to maintain the look and feel of the original site. These versions can differ in multiple ways, including visual schematics, in-use widgets, touch screen orientation, and much more.
Applicants have also realized that existing systems for converting website views to suit the relevant viewing platform have typically been aimed at solving problems for converting websites designed using markup languages such as HTML (Hypertext Markup Language) and XML (Extensible Markup Language). These could be sites designed directly in the particular markup language, or created using a code generator that creates markup language files for later hosting.
Existing systems have also focused on parsing the original website, extracting content information from it, and creating a modified mobile site. Such technology has typically originated from Optical Character Recognition (OCR) and page analysis systems, which aim at content extraction rather than content adaptation and design. In this way, existing systems typically operate in such a way that they extract content and make it readable on a smaller device - while largely dismantling the design and look and feel of the original site.
It will be appreciated that analysis of existing websites can be complicated. In particular, some parts of the site can be dynamically generated, and the relationship between site elements could also be procedurally implemented. In this way, it is difficult to accurately understand the site - unless a conversion is performed during the operation of the site (for example, through a web browser without a headless browser running on a server). conversion). However, the latter method has considerable overhead, and in particular may require that a given page can be adapted to a mobile size each time it is retrieved by each user - rather than being converted once with the conversion results reused for all users.
Another problem with existing systems is the support of changes and editions to the original website after conversion. It will be appreciated that some systems have been developed to try to compare the most recent version of the page with previous versions of the same page, and try to locate the differences. This has been done using comparison rules based on text similarity, position in the source file, use of fonts, etc. Often this requires the designer to manually create a link between the mobile version and the elements of the original desktop version.
However, because page editing is carried out separately from the conversion process, the site could have changed dramatically between the two versions. For example, a new developer (who has a completely different style) might have started working on the site. Alternatively, a new technology or library could have been included on the site. Existing systems may try to compare the two versions of the site - which can be very different (internally) from each other even though they look the same. The comparison of the two versions of the same web page can be done in a heuristic way, but it is still not able to match highly modified elements of the site.
Applicants have realized that the limitations mentioned above can be overcome by using an object-oriented visual design system. Such a system can be used to create interactive applications and websites and can be used to maintain and create parallel schema definitions between different viewing platforms for a given application. A visual design system can also provide a consistent, internal site object data model with precisely specified attributes for all site objects. In this way, a visual design system can provide multiple visual schematics for a single site or application with a single set of components.
Applicants have also realized that the use of such a visual design system may include collected editing session history information that can be used to detect component changes and component relationships. In this way, for example, if a designer duplicates a pair of objects (such as an image and a legend) a number of times, it can be inferred that such a pair may be related and that the members of the pair should probably stay together when they become mobile. In this way, container objects etc. can be converted while maintaining their original object hierarchy and relationships. Other information may include objects that are edited or moved together, objects that were historically grouped, objects or sets of objects that were created by duplicating pre-existing objects or sets of objects, and the time of object editing, that is, when there is a specific change applied in a sequence to a certain subset of the objects. .
Visual design systems can typically have one unique identifier (ID) per object. Such identifications can be used to match different versions of the site and to maintain consistent site changes. Furthermore, the visual design system can employ a dynamic schema, including anchors between deployed components that control the schematic changes made to them. Such anchors can be used to derive additional grouping and schematic information, and can also be used to fit the schematic to different sizes of mobile displays. The conversion subsystem can in fact automatically generate additional dynamic schema anchors for later use during viewing.
Furthermore, because smartphones have proliferated, large-scale and advanced HTML browsing, similar to that available on the desktop, has also become common in the mobile environment. Therefore, a system that can use similar handling for all platforms (desktop, tablet, and mobile devices) is required in order to use the advanced browsers available on all platforms.
It will be appreciated that the visual applications may be standalone systems such as the PowerPoint Presentation Program available on the market from Microsoft Inc. or may be included within a larger editing system such as the Microsoft Word AutoShape Editor also available on the market from Microsoft Inc. Such applications can typically be composed of pages and components that can also be arranged in a hierarchy of containers (single page and multiple pages) within a page that contains atomic components. A multi-page container can also display multiple mini-pages.
The pages may also include listing applications (such as are discussed in US Patent Application No. 14 / 207,761, entitled DYNAMIC CUSTOMIZATION AND ADAPTATION WEB SITE INTEGRATION DATA LISTS FILED on March 13, 2014 and assigned to the common assignee of the present invention) and requests from third parties. Pages can also use templates such as page templates or general component templates. A specific case is the use of an application master page that contains components replicated on all other regular pages. The arrangement of components within a page or a set of pages can be known as the schema. It will be appreciated that the following discussion describes schematics consisting of parallel axis rectangular components and vessels. Other schemes may also include non-rectangular components and containers that include, in particular, classes of objects such as rotated or asymmetric objects and objects consisting of multiple regions, such as a video player component that may have a video display area. and a video control area. Such regions can be joined, disjointed, or intersecting. Other schemes may also include objects that consist of an arbitrary geometric shape.
It will be appreciated that the handling of such objects of multiple non-rectangular regions can be done by using a closing rectangle for each non-rectangular object or by adapting the primitive geometric shapes to handle extended non-rectangular objects. The adaptation may include projection to the axis, distance between the shapes; minimum / maximum directional distance between shapes (i.e. vertical or horizontal distance), detection of shape intersection; Shape / line intersection detection; intersection region calculation and shape area calculation.
It will further be appreciated that each application may have multiple schematic configurations, for example, desktop (vertical and horizontal) and mobile equipment. Some website component properties may also have a value for each schema setting such as the inclusion of actual components (for example, a specific component might be for mobile devices only, or for desktop / tablet only). This could be a canister component - with all the sibling nodes being affected together. Other properties may include size (h, w), position (x, y), z-order information, style (font, size, color), color, type of polymorphic component (for example , a certain gallery could use different types of galleries for desktop and mobile device list components), menu / gallery settings (for example, grid gallery # of columns / rows), a third-party application variant (for third-party applications that have multiple variants that have different screen sizes) and association of list application views - for a given item type or an item associated with a view, different views can be specify for different components of the list.
It will also be appreciated that each outline setting can have a default screen size value (in pixels). The actual screen size may differ to a certain extent, with this difference being managed by means of the dynamic schema support of the relevant visual design system. The desktop schema setting can be the primary schema setting because it has the largest screen width. Other outline settings can be considered shadow outline settings of the main outline setting and may have different screen width and height than the main outline setting. In particular, the width of the shadow outline setting may be less than that of the main outline setting (for example, mobile phone screen), similar (for example, tablet), or greater (for example, large display screen). ).
It will be further appreciated that in converting application pages or web pages from a desktop version to a mobile version, there are two contradictory objectives: preserving the readability of the content of the pages in the reduced version, and preserving the visual scheme of the page. Existing systems primarily aim at content extraction at the expense of design (such as, US Patent No. 7,203,901 entitled WEB NAVIGATION WITH A SMALL FACTOR). These systems are derived from published OCR / Page Analysis algorithms that extract text from regions of interest, and do not attempt (or make the least effort) to preserve the design of the existing visual website.
Some algorithms try to preserve the layout and / or the outline to some extent by reducing the entire page or elements of the page. However, such a reduction is very limited, as (in particular) the text content quickly becomes unreadable as the font size is reduced.
Reference is now made to Figure 1, which illustrates a system 100 for converting visual applications between platforms in accordance with an embodiment of the present invention.
System 100 may comprise initial schema converter 200, schematic converter 300, and database 50. Initial schema converter 200 may further comprise a page receiver 210 and processor 250. Converter 200 may convert a configuration From master schema of a desktop configuration to a shadow schema configuration of a mobile computer for the first time. The converter 300 can reconvert the schema configuration after the main schema configuration application has been edited. All applications and settings can be stored in database 50.
System 100 can be installed as part of a website building system on a server 150 with the ability to communicate with various clients 5 representing various platforms such as a desktop computer 5A, a smartphone 5B and a system interface from third parties (program-to-program communication) 5C by means of a suitable communication medium such as the Internet. Server 150 can store a different schema configuration for each of the platforms (including multiple schema configurations for each individual platform). In an alternative embodiment, system 100 can also be run locally on a client or can be adapted to provide services to another system by means of a suitable API (Application Programming Interface).
It will be appreciated that the Initial Outline Converter 200 can convert each page in an application to a version narrower enough so that it can be viewed on a narrower screen using vertical scrolling and minimal horizontal detection (if any). It will be appreciated that when system 100 is properly integrated (eg, running on the relevant client of the website building system), system 100 can perform conversion in response mode, in which A new scheme is calculated each time the screen dimensions change.
Reference is now made to Figure 2, which illustrates the elements of processor 250. Processor 250 comprises a preprocessor 201, a supernode creator 230, a pager 240, a setter 270, and a postprocessor 202. Preprocessor 201 may comprise a template controller 206, a component filter 221, a component adapter 225, a component adjuster 227, and a component analyzer 229. Postprocessor 202 may comprise an automatically added component inserter 282 and a dynamic schema coordinator 284. It will be appreciated that the resulting target schema configuration can be deployed by a display 290 via the relevant website building system. It can be appreciated that if system 100 fully integrates with the relevant website building system, and directly modifies its data structure, post processor 202 can also perform a post process phase of restoring data structures, with the In order to adapt the modified data structures of the website construction system that will be displayed using the viewer 290.
It will be appreciated that the initial schema converter 200 can handle each page of the application or website separately. In a regular mode, each page can be converted to a version that is narrow enough and usually longer so that it can be viewed on a narrower mobile computer screen using vertical scrolling and minimal horizontal detection. It will further be appreciated that some target devices such as larger tablets and outdoor display screens may have a wider screen than the original desktop screen and therefore may not require narrowing, but rather the adaptation to a larger viewing width.
Initial schema converter 200 can process the three-dimensional set (the x, y coordinates of the screen and the z-order of display) of components and can convert it into an ordered set in the mathematical sense. The total order generated can represent the order in which the information is read on the relevant page by the user. Initial schematic converter 200 can then display ordered components on the narrowest mobile equipment display.
Initial schema converter 200 can process the page to be converted by dividing the relevant page into supernodes based on an analysis of the components and their content ratio as described in more detail below.
The preprocessor 201 can analyze the suitability of the components on the relevant page for the target configuration scheme and can make modifications to the existing components if necessary. Although different schema combinations can be configured, the following examples cover converting a desktop schema configuration to a mobile schema configuration. Template controller 206 can create modified instances of elements in templates if they exist. . Component filter 221 can filter components by their suitability for schematic configuration in mobile equipment, component adapter 225 can adapt components especially for schematic configuration in mobile equipment, component adjuster 227 can adjust components especially for configuration schematic on mobile equipment and component analyzer 229 can analyze components (including their content, geometry and any other attributes) in order to determine its actual use. For example, an image component may be a background image or a content image - which affects its handling by the other parts of the system 100.
Supernode creator 230 can locate groups of components that should stay together (such as components that are highly overlapping). The super node creator 230 can also create a super node hierarchy based on the current page and the elements within the recipient hierarchy (possibility to modify the recipient hierarchy as further described below). The payer 240 can determine an order of the elements of each of the supernodes. The setter 270 can place the node elements within the moving scheme area based on the determined order, and the post processor 202 can make any final adjustments to the scheme as required. The automatically added component inserter 281 can insert any automatically added component (as discussed in more detail here below), as well as other mobile equipment related components that should be inserted after sorting (such as mobile specific menus) and the dynamic schema coordinator 284 can modify any existing anchor if needed after placement. Visualizer 290 can display the new scheme on the moving platform, possibly carrying out final adjustment of the specific moving platform as described in more detail hereinafter.
Page receiver 210 can receive the web page with a schematic configuration on desktop that will be converted and can forward the page to the page preprocessor 201.
As discussed previously herein, there may be a hierarchy of recipients that can provide additional information about the logical layout of the page. The hierarchy can include regular containment relationships as well as parallel containment relationships such as multiple parallel mini-pages contained in a multi-page container. Preprocessor 201 can analyze this hierarchy and any specific recipient relationships at the start of the process in order to gather information that may be useful to the process. Preprocessor 201 can also determine the screen size of the target application and extract and navigate menu menus (site-global and page-specific) and merge them to create one or more linked page menus such as top and bottom menus.
It will be appreciated that the relevant visual design system can support templates, including multi-level and multiple template inheritances. Such templates can include single pages, multiple pages, or page elements. Template controller 206 can create modified instances of template elements, so an instance of a template can consist of template components to which local modifications are applied. Template controller 206 may additionally make specific modifications as necessary to adapt them to the schematic configuration on mobile equipment. For example, if legacy components are close enough to the top or bottom of the page, they can be included in a specific page header or footer if applicable. Legacy components can be logically duplicated (with modifications) on each page inherited from them.
It will also be appreciated that the relevant visual design system may retain individual copies of legacy components, but may allow one schema per page to be applied to them (since adaptation to mobile platform on each page may be different). The template controller 206 can use this information about the original template of a given set of components to create a group of components based on the template - ensuring better fit to the original intent of the template For each page of the website Relevant individually, the preprocessor 201 can review the elements taking into account parameters such as the dimensions of the target screen. Component filter 221 can remove or hide components that are not suitable for viewing on mobile equipment. Such components may include, for example, vertical parting lines (but not horizontal lines), Adobe Flash content (which cannot be played on some mobile systems), or ornamental frames. Components that are completely unsuitable for viewing on mobile equipment are removed before further processing. For components that are not recommended for display on mobile equipment, the Component Filter 221 can choose to hide them rather than remove them entirely. In this case, the website designer may be able to reinsert them into the schema configuration on mobile device, as they would be visible and reinsertible through mobile device modifications of the display GUI (graphical user interface) such as it is described in more detail below. It will be appreciated that some components may be unsuitable or not recommended for a mobile platform, but still provide substantial information to the initial schematic converter 200.
Reference is now made to Figure 4, which illustrates a vertical line E between components in the higher desktop version. For example, a vertical line between components would be quite useless in the mobile computer schematic setup as shown, as it would typically be converted to a long (and empty) spacing between sets of components. As illustrated, when components A, B, C, D are rearranged to be vertically stacked for a narrower mobile equipment display, the vertical line E would have wasted display space and should therefore be eliminated. However, the vertical line is still very useful in signaling to the initial schematic converter 200 that the 4 components A, B, C and D should be arranged as A + B and C + D and not as A + C and B + D . To take advantage of this information, Component Filter 221 can mark the vertical line as completely remove or hide later, but still add a line of width 0, invisible which provides the portioning information needed for the initial schema converter 200.
Component adapter 225 may employ width reducing means, similar to those that may be employed by setter 270 as detailed herein below (provided such means can be activated in this pretreatment step). For example, Component Adapter 225 can switch components to lighter mobile equipment versions. For example, toggle galleries that can display multiple mini-pages (for example, accordion type) to galleries that display a single contained mini-page at a time. The Component Adapter 225 can also provide a specific light version of specific components for use in mobile versions of the created applications (through a standalone version or a different customized view for mobile equipment display).
Component Adapter 225 can also handle content-related features such as converting character-based graphics to scalable vector-based graphics. Designers sometimes use text characters such as decorations or separators, for example ///////////, --------------- once converted to a similar form based in vectors, they can be precisely resized without the need for text manipulation.
The component adapter 225 can also link menu components into a menu (small format) for unified mobile equipment. Pages often contain multiple navigation menus used for navigation both between pages and within pages. On the other hand, some pages may contain multiple menus defined in different ways such as menus defined on the page itself, menus resulting from page templates used on the page (for example, global application header, and menus containing footers) and menus defined automatically based on the structure of the application (for example, a top-level page navigation menu). Component Adapter 225 can additionally create composite menus (one or more) and merge menus into them based on criteria such as how close the evaluated menu is to the particular composite menu created (for example, merge all menus starting at 200 pixels higher than the page in a top level menu sun). Component adapter 225 can insert the single menu (unified and for mobile equipment) or the multiple menus modified directly, or you can put them in a note (post) for inclusion at a later stage (for example, using the 270 setter or through the automatically added component inserter 281). This is especially relevant if the (one or more) menus are added in such a way that they are not as a part of the regular component scheme but rather as floating, conditionally activated, etc.
Component Adjuster 227 can modify component parameters to decrease their width. An example of this is modifying the gallery component matrix to only 1 to 2 columns. Component Adjuster 227 can also modify defined components with large ornamental edges into a simpler, less ornamental version of the same component.
Component Adjuster 227 can resize components to reflect the actual size used. For example, you can collapse the text components according to the actual text content using enclosure rectangles.
Component adjuster 227 can also dissolve containers that tightly wrap an internal component. For example, if a container tightly wraps a sub-container with no additional components in the larger container, the inner container can be removed by merging the two containers into one. It will be appreciated that in this way a hierarchy level is kept as the container is transparent to the process.
Designers sometimes add multiple sections of the same image that together visually form a single image. Component Adjuster 227 can employ a stitching technique and use the attributes and content of multiple such image components to detect whether they should be stitched into a single image. The decision can be based on the editing history - whether the images were created and / or modified together, based on the similarity of dimension at the adjacent edges of the images, based on the overlap length of the adjacent edges of the images. the images compared to the separation between the images or based on the use of similar colors / characteristics in the limit (detected through the use of an image content analyzer).
Component adjuster 227 can employ font size mapping. Text in any given application or page can use a wide variety of font sizes. These sizes should be mapped to a certain (smaller) range for use on a mobile device - while differences in font size are maintained, if possible. Some font sizes may be too small, while some may be too large. The correlation is not linear, that is, it is not multiplied by a fixed factor. However, it is a monotonous font size function. Component Adjuster 227 can collect the range of font sizes used and map this range to the range of allowed mobile equipment font sizes. Component wrapper 227 can provide such a mapping that is system-wide, or specific to the user application, page, or component level<sub>t</sub>
In the application / page specific font size mapping, Component Fitter 227 can count the amount of text (characters) in each given font size, and then use a cumulative (Gaussian) normal distribution function so that the most common character sizes are mapped to the font sizes in the middle of the range of allowed mobile equipment font sizes. It will be appreciated that such a font size can be further modified by adjusting a new font size scale change specifically for a mobile scheme configuration.
It will be further appreciated that in component structure processing, it is important to distinguish between decoration images and content images (with the latter being part of the data specific to the actual page). Decoration images can be scaled more freely and cropped because their content is not critical to actual application use. Also, content images should be analyzed similarly to other components in the analysis algorithm below, whereas decoration images should not. Component analyzer 229 can recognize a decoration image as such based on any of the following: type of decoration image component specific or by specific hints for template type / object / component / designer level. Component analyzer 229 can also recognize if images cover an area, for example, the image covers all (or most) of the container in which it resides, if the image is a background for multiple components, or if the image is adapted to its display area of its components using an operator, which means that the image serves as a decoration, such as a line repeat image. Decoration images are not always adjusted with respect to the components contained within them, often due to the choice of the specific image in question.
Once the elements have been modified as previously described herein, supernode creator 230 can locate groups of components that may be highly overlapping or otherwise related and should be handled together. This is necessary since (for example) highly overlapping components can form a composition, therefore they must be placed together in order to maintain the same internal proportion when resized. It will be appreciated that once all the groups have been located, the super node creator 230 below can convert the resulting hierarchical configuration of components into a super node hierarchy based on the current page and / or recipient hierarchy so that there are multiple Total orders at different levels of the structure. For each individual page or mini-page (within a single-page or multi-page container), supernodes can be known as page supernodes. It will also be appreciated that each supernode can be considered a separate entity and once defined, the objects within can be rearranged as described in more detail herein below.
It will be further appreciated that some situated groups can also be converted to virtual supernodes (as described in more detail below), which can then be manipulated as a single component similar to page supernodes as described above in Present. It will be appreciated that each type of virtual supernode may have an associated mobile equipment adaptation method which is defined when it is created such as rescaling in a particular way, resizing in a limited way, rearranging etc.
Reference is now made to Figure 5, which illustrates the elements of a supernode creator 230. Supernode creator 230 may comprise an overlay group locator 232, a text over image group locator 234, a predefined groups 236, a node creator 238 and annotator 500 whose functionality is described hereinafter in relation to Figure 11.
Overlapping Group Locator 232 can determine a set of highly overlapping components that can typically co-create a specific layout and should retain the same ratio between group components when the group is placed in a new scheme. For example, an image and text that forms a logo should retain the same ratio and relative location regardless of size and position in the new outline, to maintain the structure of the logo.
Overlapping group locator 232 can loop all possible component pairs within the supernode. For each pair of intersecting components, the overlap group locator 232 can calculate the relative amount of overlap as the amount of overlap compared to the smaller value between the two enclosure rectangles of the two components. The calculation can be based on the area of intersection or by combining the relative intersection for each axis (for example, using an average). If this relative intersection is greater than a certain threshold, the overlay group locator 232 can consider the component pair as overlapping. After looping is complete, overlay group locator 232 can merge overlay pairs into overlay groups according to common members. For example, component pairs [a, b] and [b, c] can be merged into [a, b, c]. It will be appreciated that the area of each virtual component created can be that of the minimum enclosure rectangle for all grouped components. It will be further appreciated that overlay groups typically can represent detailed design elements and should therefore only be resized and not rearranged. In particular, the text component in such a group should be in accordance with its original size rather than using the font size mapping as previously described herein as performed by the component adapter 225. In this way, the text should be scaled in such a way as to avoid fully correlating the font size or using a scale factor that reverses the effect of the font size correlation.
It will be further appreciated that some of the components can be omitted from an overlay group definition. These can include specific components, such as (for example) horizontal lines and containers with screen width and text size larger than a certain limit (for example, 25 characters) which is interpreted as the text found in a paragraph normal (not to be marked as an overlay group and resized as a composition) rather than as logo text.
Image on Text Group Locator 234 can group a text component that is superimposed on a specific background image. Cases can be detected where one text component is set on top of a background image and the two must be handled together. The image over text group locator 234 can search for a pair of text and image components in the current supernode in which either the text component is fully contained within the image component or each of the four sides The text component is close enough (by a certain threshold) to the enclosing image component.
If the component is a logo rather than an image over text, the image group over text locator 234 can instead instruct the overlay group locator 232 to create an overlay group instead of an image over text group. This can be done based on a score according to the following criteria: the number of text characters is below a certain threshold, the use of ornamental or other highly unique fonts, or the use of a text baseline it is not the regular horizontal line (for example, text is drawn along a curve).
The predefined group locator 236 can group components according to clues at the template, application, page, or component level. This can be considered as a permanent version of grouping often carried out using the specific design system graphical user interface (GUI) so that multiple components can be manipulated together.
It will be appreciated that once the overlay element groups have been located and grouped, the node creator 238 can merge them and make them virtual supernodes as described in more detail below and can then create the final supernodes (including virtual supernodes and page). The remaining items can be considered disjointed and thus it may be easier to sort as discussed in the present below.
Reference is now made to Figures 8A, 8B, and 8C, which illustrate examples of how supernode creator 230 can create a hierarchy of supernodes. As discussed earlier herein, supernodes created from pages and mini-pages can be considered page supernodes, and supernodes created from detected groups can be considered as virtual supernodes. For page P1 in Figure 8A, a page (or minipage) containing three text elements can be considered a page super node (PSN1) with 3 elements. In Figure 8B, page P2 can be considered a page super node (PSN2) with a text element and a virtual super node (VSN1) that contains a text element and a drawing element. If pages P1 and P2 were mini-pages contained within a P3 Page, the resulting node structure may be a page super node (PSN3) that has 2 page super nodes (PSN1 and PSN2) each having elements as illustrated in the Figure 8C.
It will be further appreciated that node builder 238 can define tightly wrapped containers as container A residing within container B, where A and B are very similar in size (i.e. there are small margins on all sides between A and B and where A is the only component within B). Node creator 238 can also perform a container rearrangement based on a semantic analysis of the components in multiple containers. For example, as illustrated in Figure 9 now referenced, the text components TI, T2 and T3 are contained in container Cl and the image components Pl, P2 and P3 are contained in container C2 . Node creator 238 can perform semantic analysis to recognize pairs of related text and image components based on their type, proximity, and relationship to other components as described below. Based on this analysis, node creator 238 can recognize that TI and Pl form a related pair, as well as T2-P2 and T3-P3, and in this way can eliminate these six components (TI, T2, T3, Pl, P2, P3) of the containers Cl and C2 and place them on the content page, preserving the information about the relationships between them as shown in Figure 10 which is now referenced.
In addition, node builder 238 can classify components that substantially overlap with a given container (eg, over 75% overlap area) as members of the specific container for the purpose of generating supernodes, in order to make the hierarchy of supernodes better reflects the visual arrangement. This is relevant for visual design systems in which components that are not logically contained in a given container can still overlap with the container.
Once the supernode structure has been defined, the payer 240 can create an order for the set of components and page supernodes and virtual supernodes contained within each supernode (separately). It will be further appreciated that this basic order can be further modified as a result of the results of a partial order set locator as described in more detail herein below. Reference is now made to Figure 11, which illustrates the elements of the payer 240. The payer 240 may comprise a basic payer 247, a partial Order Set (POS) locator 250 and a 245 order integrator. The basic payer 247 may further comprise a primary address payer 241, a primary splitting and merging payer 242, and an H / V disconnector 243, the H / V disconnector 243 may further comprise an element divider 244 as Described in more detail herein below.
The POS locator 250 may comprise a group POS locator 251, a semantic relationship POS locator 252, a pattern POS locator 253, a predefined POS locator 254, and an ESI (Edit Session Information) based locator 255. It is You will appreciate that the POS 250 locator can analyze the semantics, content and geometry of the components.
It will be appreciated that parer 240 may attempt to emulate the order in which a human reader can view the elements on a page (or within the specific supernode). It will be further appreciated that because a page is a 2-dimensional (or even 3-dimensional entity with z-order included), this order cannot be as well defined even by a human reader.
Reference is now made to Figure 12, which shows an arrangement of four paragraphs of text in a square arrangement. Assuming that the paragraphs are in English (read from top to bottom and left to right), it is unclear whether the reading order should be Al, A2, Bl, B2 or Al, Bl, A2, B2. Both orders can be considered correct. Furthermore, if the elements are text and images as illustrated in Figure 13 referenced now, it is unclear what the related text and image elements are.
The primary address payer 241 can predefine a primary address (i.e. sort rows first or columns first) and then can try to sort the components on the 2-dimensional page based on the primary address and then based on the secondary address . For example, the primary address payer 241 working in first row mode may sort the elements in a supernode so that element A precedes element B if either A and B have a suitable Y overlap (for example at least 25% of the lower height of the two) and element A is on the left (i.e. the order within the row) or if A and B do not have enough overlap Y and A is higher (i.e. the order between row $).
The split and merge payer with primary address 242 (hereinafter PDSM 242) can also predefine a primary address and can also try to track any row / column split and merge. This can be considered more common for columns rather than rows. Reference is now made to Figures 14A, 14B and 14C, which illustrate the components (1 to 10) within a supernode. It will be appreciated that the components can be ordered according to their order in the column chart generated within the node. The PDSM 242 payer can essentially convert a set of rectangles (as shown in Figure 14A) into a column chart (which can be merged, divided, or continued as shown in Figure 14B) which is then used to generate an order of the components (as shown in Figure 14C). Rectangles can possibly intersect
Reference is now made to Figures 15A, 15B, and 15C and Figures 16A, 16B, 16C, 16D, 16E, 16F, and 16G, which illustrate the steps carried out by payer PDSM 242 to define a column chart and the resulting order. Figure 16A illustrates a set of C elements that needs to be processed. The PDSM parer 242 can define a 2-element relationship between the elements in the set (step 400) and then can interleave the elements to be ordered (set C) between a dummy header element A and a dummy footer element B (step 410) as shown. The PDSM 242 parer can then create two new sets - an X set of the generated columns (in their current state) (steps 420 and 430) and their elements and a Y set of elements that will be processed into columns (stages 440 and 450 ). The PDSM payer 242 below can scan the elements of set Y from top to bottom according to their order y (step 470) and for each element Q in set Y select a subset R of the elements (in all columns in X ) controlling Q. Reference is now made to Figure 16B, which illustrates how all elements A, E, and F control Q. The PDSM 242 below can remove any duplicates from set R. As you can see in Figure 16B, as well as all elements A, E and F control Q, A controls E and E controls F. In this scenario, the only connection required by the PDSM 242 payer can be the connection between Q and F (the last control element). It will be appreciated that if R is empty, this can be considered as the beginning of an orphaned offline column and therefore a new column is opened in X with the element Q as illustrated in Figure 16C which is now done reference. It will be further appreciated that if R has more than one element, the PDSM 242 payer can connect element Q with the columns containing each of elements C1 ... Cn, creating a column continuation (if connected at the end of the column) or column division (if connected to the middle of the column) for each. If there is more than one of such a column, the PDSM 242 payer can merge the columns as illustrated in Figure 16D which is now referenced. As shown in Figure 16D, the PDSM 242 payer can merge columns G and H into a single column continued by the Q element. Reference is now made to Figure 16E, which shows a column G that continues from an element that is not the last element in column G. In this scenario, element Q creates a division in column G creating 2 columns continued by F and Q.
It will be appreciated that when a column is divided at a certain point, the set of divisions is ordered from left to right, that is, the multiple columns that continue the column that was divided have a defined order for them according to the x coordinate of its left edge. The same applies to merging columns. It will also be appreciated that the PDSM 242 payer may have a combined split and merge situation as illustrated in Figure 16F which is now referenced. As illustrated, the Q element can create a division for the 2 columns containing elements G and H. The PDSM 242 payer can immediately merge the divisions into a single column continued by the Q element.
Therefore, the PDSM 242 payer can transfer elements from Y to X and connect them to one or more existing columns in X (or possibly create new columns) based on geometric criteria. It will be appreciated that this scanning process can create a series of X columns that can start, split, merge, or end. The process ends when the dummy footer element B is reached. The PDSM 242 parer can then explore the graph (defined according to the columns in set X) to calculate the resulting order. The PDSM 242 payer below can arrange the items according to the order in the chart from top to bottom and from left to right as illustrated in the referenced Figure 16G.
It will be further appreciated that in the case of orphan columns, the payer PDSM
242 You can arrange them according to the X order as illustrated in Figure 16H which is now referenced. If the pairs of elements ac and bd are close enough that they are connected, they can form complete columns and the order between them can be acbd and not abcd. Since they are not close enough, they are not connected causing the elements c and d to be orphan columns and the order for the specified order number is modified as previously described herein.
It will be appreciated that the functionality of the PDSM 242 payer can be appropriately modified for supernodes that have content arranged from right to left (instead of left to right).
The H / V switch 243 can use alternate horizontal and vertical cutting of the elements in a supernode to create an internal tree of such divisions and thereby define a display order between the elements. It will be appreciated that such an internal tree is specific to a given supernode and is unrelated to the general supernode level tree. It will be appreciated that the H / V 243 disconnector is best suited to chocolate bar style sites that are constructed from horizontal and vertical sections - classic in newspaper schematics such as the example page as illustrated in Figure 17 a which is now referenced. The H / V disconnector
243 you can take the set of elements from a single supernode and create an internal tree of nodes (which are different from higher level supernodes, because each supernode can contain such a separate internal tree). The nodes can be of the following types:
V nodes (vertically arranged nodes) - a set of subnodes / elements that are arranged from top to bottom.
H nodes (horizontally arranged nodes) - a set of subnodes / elements that are arranged from left to right (the arrangement from right to left is described here below).
Sheet nodes - nodes representing final elements of the internal component tree or contained supernodes. A sheet node can contain multiple components that still fit within the assigned width.
UR nodes (unsolved nodes) - nodes that include multiple elements that were not yet fixed. This is the initial state of any node before it becomes a leaf V / H / node.
Each node can contain a set of element references, as well as the coordinates and sizes of the underlying elements, and a complete enclosure rectangle for the elements of the nodes. The entire collection of nodes (of the above four types) within a single supernode can be referred to as an internal tree. It will be appreciated that the H / V disconnector 243 can adjust the procedure for supernodes that are specified or detected as containing right-to-left (R2L) material or having an R2L scheme.
The H / V disconnector 243 can, in a final call, create an internal tree with a single UR node and place references for all elements in the supernode within it. The H / V disconnector 243 can handle the UR node by taking all the elements on the node. If the enclosure rectangle of the elements adjusts to the allowed width, the H / V 243 disconnector can convert the node into a leaf node. The H / V disconnector 243 can also resort to an element divider 244 which can suggest a specific division (horizontal or vertical) of the elements of the UR node into sub-groups.
The H / V disconnector 243 below can convert the UR node into either an H node or a V node as appropriate. It will be appreciated that for each of the subgroups returned by the element divider 244, the H / V disconnector can compute an enclosure rectangle R for the elements in the subgroup. If the width of R is set to the allowed width, then you can create a descendant node of subgroup node N. Otherwise, if the subgroup has more than 1 component the H / V disconnector 243 can create a UR node descendant of the subgroup node N of the subgroup and handle it accordingly as described earlier in the present (i.e. through a recursive application of the H / V switch 243). If the width of R is not adjusted to the allowed width, the H / V disconnector 243 can create a leaf node descendant of node N from the subset of a single element it contains. The H / V switch 243 below can apply a width reduction such as resizing, text reflow, etc. as previously described herein. .
The H / V switch 243 below can scan the generated internal tree recursively (using first depth scan) and output the components (such as the leaf nodes) according to the scan order. The H / V disconnector 243 scans each H / V node according to its natural order (for example, from top to bottom for node V). It will be appreciated that at the stage, since the basic order of the elements has been generated, the internal tree created for this supernode is no longer needed.
As discussed previously herein, the element divisor 244 can calculate a division for a group of elements. An enclosure rectangle can be calculated for each element, ignoring ornamental borders. Element divider 244 below can project these rectangles on both the X and Y axes.
Element divider 244 below can divide each set of axis projections into segments with different numbers of components projected on them. Segments with zero components projected on them represent spaces in the given projection direction. It will be appreciated that element divider 244 can provide specific (possibly not viewable) parting line components to aid in determining the right parting direction (eg, to use as the designer's cue in the process). Such components can also have a weight assigned so that they count (for the projected rectangle count) as one or more components.
If spaces are found in both directions, the element divider 244 can generate the horizontal and vertical divisions of the elements based on the divisors orthogonal to the space segments. For example, as illustrated in Figures 18A and 18B to which reference is now made, the case of Figure 18A is a horizontal division (in columns) using a single divisor and the case of Figure 18B is a division vertical (in rows) using two dividers.
Element divisor 244 can calculate a Division Quality Index (DQR) for each of the two division directions using a weighted average of the maximum number of divisions and the maximum total size of the spaces found and the minimum number of cases in which like elements are divided into separate subgroups by division. This information may be available from the pattern locator POS 253 (as described in more detail herein below) in the supernode creation step that defines a similarity relationship between descendant supernodes. As illustrated in Figures 19A to 19C, to which reference is now made, a vertical division (in rows) may be preferable to keep the services / projects / client boxes (Figures 19A, 19B and 19C) together.
Element divider 244 can also account for directions that components are better aligned. For example, as illustrated in Figure 20 now referenced, in Scenario A, the split must be vertical (i.e. the components are arranged and aligned in rows) even though there are larger spaces when the horizontal division is made (that is to say, in columns). This can best be seen when adding alignment lines in Scenario B.
Element divider 244 can also add a constant preference factor to horizontal division (which reduces width) vs. vertical division (which does not). Element divisor 244 below can return the division with the highest DQR.
If spaces are found in only one direction, element divider 244 can return division in this direction. If no gap is found, there may be a case of interlocking elements. In such a case, the element divider 244 can create a divider that spans one of the elements. For example, as illustrated in Figure 21 now referenced, the elements are divided using the vertical dividing line A that can only cross element B. All elements marked R can be associated with the side right of the division (including element B), and element L can be associated with the left side of the division.
It will be appreciated that in this scenario, the element divider 244 can find the projection segment (from the projection segments on both the X and Y axes) that has a minimum number of cross elements. If there is only one such segment, element divisor 244 can define a division based on it. If there are two or more such segments (in either direction) that have an identical minimum number of crossed elements, element divisor 244 can create a set of divisions of a single divisor based on one of the segments that have the minimum number of crossed elements.
For each of these divisions, the element divisor 244 below can calculate a DQR based on a weighted average of, the criteria for the regular calculation of DQR (as discussed earlier here), the minimum area of the element crossed and the definitive character of the cut, that is, it has the minimum percentage of the area of the crossed element on one side of the crossover divider, so the cross element belongs more clearly to one of the two sides of the divider. Alternatively, element divider 244 can use division with the highest DQR.
The element divider below can return the selected division, with each cross element attached to the side of the divider that contains the largest area of the cross elements.
In an alternative embodiment, the element divider 244 can try to create multiple divisors based on the multiple projection segments having the same number of cross elements and evaluate the divisions containing multiple of such cross elements.
It will be appreciated that the element divider 244 can call an alternative DQR calculation recursively for each of the possible divisions and can check the DQR value of divisions created after each of the potential divisions is attempted. It will be further appreciated that in this way, the element divider 244 can find the best single element to cross so that more divisions can be successful.
It will be appreciated that in parallel to the basic payer 247, the POS locator 250 can detect sets of components that are related in some way and may need to stay together when the elements are rearranged for a mobile device display. For example, components can be a text heading and the matching text paragraph.
The group POS locator 251 can detect a group partial order set when the components (of any type) are very close to each other compared to the regular spacing between the components in a particular supernode. Group POS locator 251 can calculate the average distance between the components in the supernode and then loop all the component pairs in the supernode, by searching for component pairs whose distance is a certain fraction of the calculated average distance . The group POS locator 251 below can join these pairs of components into sets, by meeting a certain maximum distance between the two most distant components in each such set (specified as a fraction of the average distance). The group POS locator 251 can also use a mean or median calculation instead of the average calculation to account for a certain number of outliers that can distort the average distance value. In an alternative embodiment, group POS locator 251 can use any grouping algorithm known in the art. The group POS locator 251 below can check the extracted groups and if they are dense enough (for example, the maximum distance between group members is below a certain threshold), create a group partial order set.
The semantic relationship POS locator 252 can detect a semantic relationship partial order set when there are specific combinations of components of certain types that are very close to each other, for example, an image and its legend. The semantic relationship POS locator 252 can scan all possible pairs of components within the supernode and for each potential pair, check that each of the components has the correct type (for example, one is text and the other is image), that the components are close to each other (the distance is below a certain threshold) and that there is no component that intervenes between them. The semantic relationship locator POS 252 can verify that for a pair of evaluated components [A, B], that there is no third component C that can replace B, it is of the correct type for B and is closer to A than B. The same applies to the relationship between A and C.
Another combination of component pairs can be text and a button pardal order set. It will be appreciated that in this scenario, the semantic relationship POS locator 252 can link a button describing a text field with the actual text field. It will be appreciated that the ratio can be determined in accordance with only the position.
Another combination may be a partial order set that joins text. In this scenario, the semantic relationship POS locator 252 can merge multiple text elements that follow each other. It will be appreciated that the semantic relationship locator POS 252 can only recognize a text element that is above another text element. It will be further appreciated that there can be any number of such elements in a given set - not just 2 - which are linked together.
Pattern locator POS 253 can detect a pattern partial order set when there is a repeating pattern of a certain number of components (for example, pairs or trios of components) that have specific type, properties and scheme at a certain distance. Pattern locator POS 253 can also detect pattern partial order sets in the case of switched patterns as illustrated in Figure 22 which is now referenced. Component pairs A and C have text on the left and image on the right, while component pairs B and D have text on the right and image on the left. Pattern locator POS 253 can detect such a pattern based on pairs of components that have specific types and properties, but with the horizontal distance being one of two options (negative or positive numbers that have the same absolute value) in each of the pairs of components. The pattern locator POS 253 (in the example of 2-member patterns that can be unified later), can scan all components in the supernode and for each component; locate your closest neighbors on all four sides of the component. Pattern locator POS 253 may include neighbors that overlap with the component up to a specified threshold threshold. The pattern locator POS 253 below can save a list of relationships between components and their neighbors and then browse the generated list of relationships and select relationship pairs that are similar according to the following attributes: components have the same types (for example, a component [foot, txt] is similar to another component [foot, txt]), components have the same direction (including inverted addresses if switched patterns are supported and similar distance (subject at a certain threshold of difference).
It will be appreciated that two components in a selected relationship must have different types - otherwise a set of four components of the same type arranged in a square would generate two opposite sets of similar relationship pairs. For example, as illustrated in Figure 23 now referenced, the four image components can be divided into pairs horizontally (pair associations Hl, H2) or vertically (pair associations Vl and V2).
Pattern locator POS 253 can browse the list of selected relationships and combine them into sets (for example, if rl == r2 and r2 = -r3, the set [rl, r2, r3] can be created). Pattern locator POS 253 can also remove duplicates. It will be appreciated that a single set of patterns (eg, a set of multiple sets of components [txt, txt, foot]) must be handled together.
The predefined POS locator 254 can detect partial order sets that are created based on specific cues that can be provided by the application designer or within the original application template. Such clues can take a number of forms. Specific composite components that include predefined cues for the partial order system, such as an image + text caption component can include coupling the two into a predefined partial order set. Another clue may be the explicitly specified association of arbitrary components on the page or an association related to mobile equipment derived from other forms of association available in a visual design system such as grouping for editing, since many visual design systems have the Ability to associate components into groups so that they can be moved, resized, or otherwise modified together. Another association can be dynamic schema anchors since visual design systems can support dynamic schema anchors (explicitly specified or automatically created from the schema definition). Such anchors can additionally serve as clues to the creation of a partial order set. However, another association may be templates - component sets created from multiple instances of the same multi-component template.
It will be appreciated that the predefined POS locator 254 can provide both predefined groups and predefined partial order sets. These are different elements of the system, and the predefined POS locator 254 can allow the designer to specify predefined group cues (used to group components in a virtual supernode), as well as predefined partial order sets / citation cues (used to guide the ordering process).
The ESI 255-based POS locator can detect the automatic creation of ESI-based partial order sets (if available). In particular, the ESI 255-based POS locator can co-associate (in a pardal order set) components based on information gathered from previous editing sessions such as component sets that have been created using duplication or copy-and-paste ( copy-paste), sets of components that have been grouped and edited together (for example, when the visual design system only supports a specific grouping for editing that is not preserved in the database) and component sets that have been edited in sequence.
Once ordering 240 has created a basic order and POS locator 250 has determined any partial order sets, order integrator 245 can integrate the basic order and detected partial order sets to create a merged modified order (which is a total order of all the elements involved), solving contradictory partial order sets along the way.
It will be appreciated that some of the elements of the basic payer 247 cannot create a total order among all the components, but rather can divide the page / supernode into sections of the page that fit the allowed width. This may be relevant when there is a need to maintain the basic structure, for example, when converting an application to a device (for example, tablet, large screen) that has a width similar to or greater than the desktop computer screen. In this scenario, a full breakdown into arranged components on one line could destroy the basic arrangement of underlying components, and a minimal cut could be visually superior. In order to do this, the elements of the basic payer 247 can be modified so that they operate on page sections (which still fit the available width) rather than separate components.
The basic payer 247 below can use this information as a guide so that the page sections that are connected by means of substantial POS connections are not sectioned.
It will be appreciated that super node creator 230, basic pager 247, and POS locator 250 can additionally create results that contradict each other. For example, one of the POS 250 locator sub-elements may generate a specific pardal order set definition involving some elements, and another element may generate a different and contradictory pardal order set definition. The 245th order integrator can merge results from the different elements and can also resolve any conflicts in order to create a single output.
It will be further appreciated that in order to resolve such conflicts, supernode creator 230, basic payer 247, and POS locator 250 can all use a quality score. For example, a design based on the explicit requests of the designer can typically have the highest quality score, as it can be assumed that the designer is fully aware of the composition of her design. It will be appreciated that super node creator 230, basic payer 247, and POS locator 250 can all verify their quality scores against quality scores that the scorer 500 has which can provide for each generated result a certainty score of how much the element is certain about correcting the specific result based on the analyzed parameters.
The order integrator 245 can collect the results from the basic payer and the POS locator 247 and try to integrate them. It will be appreciated that results that do not contradict each other can simply be combined. Results that contradict each other may require the 245th order integrator to select which one to use. This can be done in accordance with a calculation of the combined quality and certainty scores for the particular result. Results can be discarded if they do not meet a certain threshold (optional).
The 245 order integrator may also take into account additional information such as results that are defined on components residing in a template that may be more certain than results that only include components defined on the current page (for example, because templates are better designed than regular pages). You can also take into account results that may be similar to results found on previous pages or supernodes that have been handled before, and therefore higher certainty can be assigned.
The 245th order integrator can be extended to learn the page structure created by a particular designer, possibly using that designer's feedback to evaluate the item results.
It will be appreciated that a particular element may return a set of results that must be implemented together, or not at all. For example, pattern locator POS 253 may find a repeating pattern of components. This pattern should be used for all components involved, or not at all.
Once the components have been ordered accordingly, the setter 270 below can place the components and any of the components added automatically (as described in more detail herein below) in their proper position on page . Ordered elements can be placed as needed on component lines to fit the available width according to the total order determined and the space allowed. It will be appreciated that the available width can be defined by the width of the page supernode, less any predefined margins and other limitations, such as reserved spaces. For example, since the main page width is 320 px, the margin is lOpx for the left and right, and without reserved spaces, then the available width of the main page supernode would be 320 - (2 * 10) ~ 300 px. A page supernode that is contained in the main page supernode and that adopts the maximum available width, would have the available width of 300 - (2 * 10) - 280px, etc.
Setter 270 can apply schema hints attached to the component as part of the desktop schema configuration if it is marked as keep in the mobile schema configuration. Such components can function more similarly to automatically added components, in the sense that they become part of the basic structure of the container, which can lead to the construction of component lines, rather than being part of the lines themselves. of components.
Setter 270 below can create line breaks in accordance with explicit cues (for example, putting this group / POS on a separate line) created by super node creator 230 and payer 240. When an added component is greater than the available width (taking into account reserved spaces), setter 270 may try to keep groups of components together, that is, if it is necessary to create a line break before a group so that the entire group would fit the same component line. Setter 270 can avoid adding a line break that is between components that have a semantic relationship (as detected before, for example, by the POS locator 250).
The setter 270 can also apply width reduction means to each element according to its type. The width reduction means may include modifying components that can be adapted (for example, text components) according to the type of component - including rescaling, font size change, text reflow, etc. Width reduction can also use the manipulation method indicated for each virtual supernode according to its type. These width reduction means may also include transformations similar to those performed by Component Adjuster 227 (as a preprocessing step) - which can now be performed with the aggregate information about the final position and size of the components. in the mobile scheme configuration. Positioner 270 can also perform width enlargement, for example, to extend a component that is placed only on a component line
Setter 270 provides specific resizing means for specific item types. For example, setter 270 can resize groups of images over text that represent supernodes (as they are located by the group of images over text locator 234) by using the background image as a virtual container. The text is then resized to achieve the desired height and width. This includes font size mapping and text reflow that could change the aspect ratio of text components (for example, by making a longer text component with larger characters inside) as illustrated in the Figure 6 now referenced. As shown, when you move from Stage 1 to Stage 2, the font size is increased while the field width has been reduced - requiring a text reflow. The Image Over Text Group Locator 234 can also resize the group when the background image is resized to the next text size - which typically changes the aspect ratio.
It will be appreciated that this could cause a visual accident if the image has actual content that would not look good when the aspect ratio is modified (eg a person image) as illustrated in Figure 7 which is now it makes reference. Text Group Image Locator 234 can try to fix this problem by checking the image content to see if it contains detailed information, or by preserving the image's internal aspect ratio by zooming in and out and cropping of the image instead of resizing.
Some components have a degree of autonomy in carrying out their own resizing. For example, third-party application components (which can support multiple variants that have different screen sizes) and list applications (which can have multiple view associations). Such components perform their own resizing, based on a target size provided by setter 270.
Layer 270 can also resize / repeat the decor image, as needed to fit the new page size. If the page is greater than a given length parameter, setter 270 can possibly create an internal page navigation menu and add it as a separate menu to the page, or to any of the existing unified menus, as appropriate.
The setter 70 can re-scale both the height and the width, maintaining the aspect ratio of the component. Some components may retain their height and only change their width (for example, galleries that are modified to use fewer columns). The components that have to use a specific height in the new scale change (for example, the map component that has internal displacement and in this way must leave margin above and below them for the displacement of the page instead of the map scrolling) can be handled appropriately. It will be appreciated that the decrease in width can be used in the same way.
Setter 70 can also apply width reduction / enlargement processes to components, as well as recursively to supernodes and their descendants. Processes can include resizing the actual component, font size mapping, text reflow, and shrinking text by splitting it into a visible part and displaying more extent (which is only displayed when requested). Other processes may include switching components to lighter mobile versions, which modify component parameters to change their width. Processing may also include resizing components to reflect the actual size used.
Once the setter 270 has placed the relevant components in their correct positions within the mobile equipment configuration scheme, the post processor 202 can handle any scheme settings. final.
The automatically added component inserter 281 can insert automatically added components into new mobile schema settings such as system menus or other mobile equipment related widgets that can be added to all or some converted applications (in all or some of its pages). Such automatically inserted aggregated components may also include (for example) advertisements and / or other promotional material. Such automatically inserted aggregated components may be required (i.e. always insert them) or optional. In the latter case, they can be inserted conditionally based on parameters or combination of parameters such as (for example) the type or profile of the user (for example, insert automatically added components specific to all users in Europe) or based on mobile device type or profile (for example, inserting automatically added components specific to all Android-based users that have a screen size of 480x320 or greater). They can also be based on specific page conditions or parameters (for example, inserting automatically added components specific to pages that do not contain an image component of size 320x200 or larger), user behavior, or application usage history , the availability of spade to insert the added components automatically, any parameters defined by the designer and parameters defined by the website construction system.,
It will be appreciated that the automatically added component inserter 281 can position such automatically added components in a number of ways. They can be placed as automatically added absolute position components that are inserted at a certain position on the page or in specific containers (i.e. supernodes) - typically using a reserved space as described herein below. The automatically added component inserter 281 can also insert them as relative position automatically added components inserted at a certain position relative to some page elements (for example, predefined components, query localized components, etc.). This is similar to inserting components at the mobile schema configuration level as described in more detail here below.
The automatically added component inserter 281 can also add automatically added components as automatically added components of remaining space that are inserted based on space availability in the schema. Since components are sometimes moved to a separate component line, in some cases there are additional vacant spaces in the mobile schema configuration compared to the desktop schema configuration that can be used for such automatically added components.
It will be appreciated that in the case of automatically added components from absolute position, the automatically added component inserter 281 may be required to reserve specific space in the mobile display area for these items - parceling the display area area. rectangular mobile assigned to the page / super-container and reserving it. In this way, the area used for component lines can be non-rectangular. Reference is now made to Figure 24, which illustrates how the area remaining in the main container C after parceling the area reserved for the automatically added components A and B is a non-rectangular shape.
It will be appreciated that the relevant visual design system can also support dynamic schema including the use of explicit (as specified by the designer) as well as implicit (automatically created) anchors as described in US Patent Publication 20130219263 entitled UN SERVER-BASED WEB SITE DESIGN SYSTEM THAT INTEGRATES DYNAMIC SCHEME AND DYNAMIC CONTENT, published on August 22, 2013 and assigned to the common assignee of the present invention. In this way, the visual design system may have anchors (both implicit and explicit) that can be broken due to the rearrangement process inherent in adapting to the width of mobile devices.
Once the components have been placed accordingly, the dynamic schema coordinator 284 can modify any existing dynamic schema anchors in accordance with the new schema. For example, dynamic schema coordinator 284 can remove anchors for components that have been moved in such a way that the anchor as illustrated in Figure 3 to which reference is now made is irrelevant. As illustrated, the horizontal anchor between components A and B in scenario 1 should break when B moves below A in scenario 2.
Dynamic schema coordinator 284 can also preserve anchors that can be preserved (for example, component sets that have not been modified, containers inside that have not been modified, etc.). Dynamic Schema Coordinator 284 can also modify anchors that can be retained but would need their parameters modified (for example, anchor length change for components that moved closer together). Dynamic schema coordinator 284 can also create new dynamic schematic anchors between components placed in proximity (for example, one on top of the other) - including both component-to-component and component-to-container anchors. This can be based on the automatic anchor creation criteria built into the system (for example, based on the amount of overlap and distance between components).
It will be appreciated that the newly created anchors are important as the mobile-friendly app may still be an absolute coordinate visual design app. In this way, the application adapted to mobile equipment may have to be dynamically modified due to changes such as modifications in the content of a component such as the amount of text contained. These can include changes from an external source (for example, external data feed, concurrent user activity, switching between data records in a list application). Dynamic Schema Coordinator 284 may have to implement changes to further accommodate minor modifications in the screen size of the target mobile device. In this way, the dynamic schema coordinator 284 can modify the anchor structure and can also implement a new anchor structure for final adaptation.
It will be appreciated that the resulting alternative schema (including grouping, POS, and sort information) can be stored in database 50 together with the application or separately for later use, or as a basis for further modifications as outlined. Described herein below.
Viewer 290 can display the newly modified schema on the target platform.
As discussed previously herein, Schema Converter 300 can merge modifications made to a given desktop layer configuration and modifications to its drop shadow roaming configuration to create an updated roaming scheme configuration.
It will be appreciated that once the initial schema converter 200 has been run, there are two (or more) versions of the application - the desktop (main) schema configuration and the one (or more) mobile (shadow) schema configuration ). It will be appreciated that when reference is made to a mobile (or shadow) scheme configuration, we may refer to another additional configuration such as those related to tablets, widescreen display, etc. A designer can then apply modifications (separately) through the relevant visual design system editing tool to both desktop and mobile schematic configurations, creating a modified version of each. The visual design system can provide a single editor for both versions (possibly restricted when editing a mobile schematic), or independent desktop and mobile site editors.
Since the mobile schema configuration is derived from the desktop schema configuration, the initial schema converter 200 can apply modifications (such as adding and deleting pages and components, as well as changing component content) made in the configuration From Desktop Outline to Mobile Outline Settings. The converter 300 can merge any independent desktop schema configuration modification and any independent mobile schematic configuration modification into the modified mobile schematic configuration in order to create a final mobile schematic configuration that will be deployed to mobile users, maintaining the content of mobile schema settings better coordinated with desktop schema settings. It will be appreciated that this procedure can be complicated since (for example) if a component is added to the desktop schema configuration it must also be added to a modified mobile schema configuration (whose components may have been moved, resized or removed including being moved from, into or between containers), the converter 300 has to determine the appropriate position to place the added component within the modified schematic configuration, as well as the schematic that will be used by the added components themselves.
It will be appreciated that in this scenario, any mobile schema configuration modifications are not merged back into the desktop schema configuration. Although editing the desktop site may change the mobile site, editing the mobile site will not affect the desktop site. It will also be appreciated that pure outline changes (i.e. changes in position and size) made to either the desktop outline setting or the mobile outline setting may not affect the other outline settings - by comparison, for example, with changes or deletion of component content (affecting the mobile schema settings if done in the desktop schema settings). It will be further appreciated that system 100 can limit mobile editing so that components can be removed (or hidden) from the mobile schema configuration, but cannot be added or have their content edited - possibly with the exception of some components geared towards mobile equipment as discussed in more detail herein below. In this way (for example), a mobile editor cannot allow a component in the mobile schema configuration to be moved from one page to another, as this may involve adding components to a page.
Reference is now made to Figure 25, which illustrates the elements of the converter
300. The converter 300 may comprise a page remover 310, a page adder 320, a component remover 330, a component adder 340, a component modifier 350, and a mobile controller 360. The component adder 340 may further comprise an identifier of aggregate components 342, a parent / predecessor finder 344, and a mobile schema adder 346 as illustrated in Figure 26 which is now referenced. The functionality of these elements is described in detail herein below.
Reference is now made to Figure 27, which illustrates the functionality of the converter 300. The initial schema converter 200 can convert DP1 (desktop page 1) by creating the resulting mobile schematic configuration MP2. A designer below can edit MP1 using the local mobile editor to create MP2. After this, the designer can edit DP1 using the local desktop editor to create DP2. The converter 300 below can create an updated roaming scheme configuration integrating the changes made in DP2 as well as in MP2.
It will be appreciated that this automatic integration can only be relevant if the desktop editing phase (DP1 => DP2) is performed after the mobile editing phase (MP1 => MP2) (as shown in Figure 26). In the reverse case (desktop editing is done first), the initial schema converter 200 can automatically reconvert the modified DP2 desktop schema configuration to the MP2 mobile schema configuration when the DP2 edition is complete. Therefore, the designer would be making the changes MP1 => MP2 on the already modified MP1, requiring manual integration of the changes during mobile editing (later).
It will be further appreciated that the goal of running the same site on multiple platforms is to have the same content on both sites as much as possible. However, as discussed earlier here, not all desktop components are compatible with mobile computers due to (for example) the use of drop-down menus and vertical lines.
It will also be appreciated that an important requirement for interactive web-based applications (such as websites) is search engine compatibility. Therefore, both desktop and mobile schema settings should have the same general page structure as that of the search engine, and the same pages should be available in both schema settings. Otherwise, a page could be indexed by a search engine spider that reads desktop schema configuration pages, but would not be available if a user reached them directly through a search engine in a mobile device (generating a missing web page or similar error condition). In the reverse case, a page available in the mobile schema configuration, but not in the desktop (indexed) schema configuration would not be found by the search engine. Some search engines may support different page structures for different versions of the site, but the use and availability of such an option is an internal property of the specific search engine and such an option cannot be trusted.
It will be appreciated that although desktop and mobile sites may have different aspects, they can share the same data whenever possible. Otherwise, a user could reach a mobile page by searching (for example) for a certain text phrase - which exists in the content of a desktop page - only to find that the mobile page is different and does not contain what searched in the phrase. In particular, the mobile page must not contain a component, which does not exist on the desktop page. Some exceptions may apply, such as adding a new menu adapted to mobile equipment to replace existing menus, or removing text components only in the mobile outline configuration.
It will also be appreciated that from time to time, a designer may have to make specific modifications to the mobile schema configuration so that it is intentionally different from the desktop schema configuration in contradiction of search engine policy. For example, a system that deploys a feed of new item summaries could display longer summaries in the desktop schema configuration and shorter summaries in the mobile schema configuration. The designer can certainly modify the size, position and ordering of components, and such changes should not generally affect the operation of the mobile site search engine.
In order to resolve this conflict, or at least lessen it, the reconverter 300 can limit the scope of modifications that the designer can make to the mobile schematic configuration. For example, the designer can limit herself to modifications that can only affect one mobile schema configuration schema, but not the actual content. Such a limitation can be enforced by the mobile editor systems before the various modifications are handled by the reconverter 300.
Desktop schema modifications can include adding pages, removing pages; adding components, removing components; changing component attributes, moving and resizing components, and changing component content (for example, text within a paragraph of text). As noted above, pure schema changes (for example, movement and resizing) do not affect the mobile schema settings.
As discussed previously herein, a visual design system can have a unique internal identification for each component that does not change when a component is modified or moved. It will be appreciated that the converter 300 can use these identifications to track components that have been modified from one version of a page to another. Since the converter 300 assumes that all modifications are made through the visual design system editor and fully tracked, when evaluating a modified version, the converter 300 may have (for each modified component) a detailed list of the modified attributes and value changes (for example, for component X the style was changed from SI to S2 and the width from W1 to W2).
When an existing desktop page is removed, the page remover 310 may also remove the page from the roaming scheme configuration. It will be appreciated that this implies that specific modifications of the mobile schema settings made to this page are lost. The only way to restore them is through the undo functionality (for example, undo session level during the current session or revert the version to the database level).
When a new page is added to the desktop, the page aggregator 320 can instruct the initial schema converter 200 to convert the entire page to a mobile schematic configuration as previously described herein. It will be appreciated that the converted page may appear in the appropriate position in the roaming scheme configuration. The page adder 320 can update any mobile navigation menu to include the newly inserted page.
When a component is removed from an existing desktop schema configuration, the component remover 330 may delete the corresponding component from the corresponding mobile schema configuration. The component remover 330 can also instruct the mobile controller 360 to update the mobile schematic screen, to close the gaps on a given component line, or to remove an entire component line as described in the description of the mobile controller 360 to continuation.
It will be appreciated that when one or more new components are added to a desktop page, the new components can create a new hierarchical component order for the modified desktop page, including the newly added components. For changes to the desktop schema configuration only when no changes were made to the mobile schema configuration, the converter 300 can instruct the initial schema converter 200 to convert the desktop page again as there is no need to merge modifications to the desktop schema settings and the mobile schema settings.
It will be appreciated that the 320 component adder must locate the appropriate place in the mobile schematic configuration to add a component that was added to the schematic configuration. This task can be especially complex since the components could have been moved (including between containers), resized, rearranged, or removed in the mobile schema configuration. Additionally, a component of the desktop schema configuration may have been moved or removed. Therefore, the component adder 320 must find the proper position to add components - in accordance with any predecessor and / or parent, one of which will always exist.
For each X component added to the mobile schema configuration, the aggregate component identifier 342 can identify the aggregated component (for example, by comparing the component ID, edit session history, or accessing the database underlying). Component identifier 342 can instruct component filter 221 to operate its component filtering spindle to determine if the component is suitable for mobile display at all (for example, it is not an empty, incompatible-type component. mobile equipment, etc.).
The parent / predecessor finder 344 below can perform a parent / predecessor search in order to locate the closest PD (X) predecessor component and / or PT (X) parent component, which are closest to the added component X, and that also exist in the mobile schema configuration (that is, they were not removed from the mobile schema configuration explicitly or due to their type). The predecessor is determined according to the order specified by the payer 240 - taking the closest predecessor that appears in the mobile schema configuration. The array is determined according to the page container hierarchy - taking the closest level parent container component, which appears in the mobile schema configuration. It will be appreciated that some components may have been removed (hidden) in the mobile schema configuration manually so they would be excluded from parent / predecessor search. It will also be appreciated that the closest predecessor component may be null, for example, if X is the first component on your page / bin (if components that are not visible on mobile are excluded) it has no predecessor. It will be further appreciated that a parent component, however, cannot be null, since the search will always reach the content page that serves as a top-level container. Once the parent / predecessor search engine 344 has determined the predecessor and parent (if available), the mobile schema adder 346 can place the added X component after the closest predecessor component in a position that bears the same relationship to the parent / predecessor components in the mobile schema configuration that X carried with the same parent / predecessor components in the desktop schema configuration, and pull down all the components after the predecessor.
It will be appreciated that in handling multiple aggregate desktop schema configuration components (X [1], X [2], ...) there are two main methods of implementing the above procedure - the one-by-one method or the method grouped.
In the one-by-one method, the aggregate desktop schema configuration components X [i] are handled according to their order (as defined, for example, by caller 240). For each component X [¡], the parent / predecessor finder 344 performs a predecessor / parent search that takes into account the procedure of aggregate components X [J] (1 <= j <i). In this way, each component X [¡] is managed taking into account the other aggregated components.
In the grouping method, the parent / predecessor browser 344 can perform the parent / predecessor search separately for each of the X [i] aggregate desktop schema configuration components, ignoring the existence of other components added desktop schema setup X [J] (for j Ψ yo). Therefore, the parent / predecessor finder 344 performs a parent / predecessor search for each X [¡] as if it were the only component added to the desktop schema configuration. Once this is done, the components X [í] are grouped according to a common combination of predecessor component PD (X [ij) and parent component PT (X [i]). The components in each group can be grouped together as a single virtual page (for example, as a virtual supernode, possibly containing other supernodes within it). Component adder 340 below can instruct initial schema converter 200 to execute on each said virtual page separately, to execute a complete conversion process recursively (including preprocessing, parsing, anchors, etc.). as described herein above). The process can convert each virtual page into a converted virtual page that the mobile schema adder 346 subsequently places as a unit in the mobile schema configuration based on the common parent and predecessor for the group.
Reference is now made to Figures 28A, 28B, 28C, 28D, 28E, 28F, and 28G, which illustrate different component addition and editing scenarios, and how they are handled by the component adder 340.
Reference is now made to Figure 28A, which shows a DP1 desktop page containing two components, A and B. Initial outline converter 200 can convert this page to a mobile page MP1. If a new X component is added next between A and B on DP1 to create the DP2 page, the parent / predecessor search engine 344 performs a parent / predecessor search for X, finding that X follows A within the content page (in the desktop schema settings). In this way, the mobile schema adder inserts X after A on the content page in MP1 in order to create MP2.
In another scenario, as illustrated in Figure 28B which is now referenced, the mobile page MP1 is edited through the mobile editor to swap the vertical positions of A and B, creating MP2. After this edit, the designer below inserts the new X component between A and B on DP1 to create the DP2 page. Component adder 340 can reconcile changes made to DP2 and MP2. The parent / predecessor search engine 344 can perform a parent / predecessor search for component X, finding that X follows A (its closest predecessor) within the content page (its closest parent in the desktop schema settings ). Therefore, the mobile schema adder 346 can insert X into MP2 on the content page that follows component A (which is now below B instead of above B), creating the updated MP3 mobile page.
In yet another scenario, as illustrated in Figure 28C now referenced, the mobile page MP1 is edited through the mobile editor to remove (hide) component B that resides below A and above of C (creating MP2). DP1 is then edited through the desktop editor to insert component X after B and before C (creating DP2). Component adder 340 can then reconcile changes made to DP2 and MP2. The parent / predecessor finder 344 can perform the parent / predecessor search for the added X component and can determine that X's predecessor is A instead of B, since B is marked as deleted on mobile. Therefore, the mobile schema adder inserts X after A (and before C) in MP2 to create MP3.
In another scenario, as illustrated in Figure 28D now referenced, page DP1 contains container A containing internal container B and another component D - all of which become MP1. The MP1 mobile page below is edited through the mobile editor to remove (hide) Inner Canister B (creating MP2). DP1 is then edited through the desktop to insert component C into container B (creating DP2). Component adder 340 can then reconcile changes made to DP2 and MP2. In this scenario, when the parent / predecessor search is performed for the added C component, the parent / predecessor search engine 344 can determine that the parent of X is A instead of B, since B is marked as deleted on mobile . The parent / predecessor finder 344 can further determine that C has no predecessor, since it is the first component in A (regardless of B). In this way, the mobile schema adder 346 can insert C into A (at the top and before D) in the MP2 to create MP3.
In yet another scenario, as illustrated in Figure 28E now referenced, the mobile page MP1 is edited through the mobile editor to swap the vertical positions of A and B, creating MP2. Later, a designer inserts two new high overlap components XI and X2 between components A and B on DP1 to create the DP2 page. Component adder 340 can reconcile changes made to DP2 and MP2 in one of two possible ways, be it MP3 generation (for the one-by-one method) or MP4 (for the grouping method).
It will be appreciated that if the one-by-one method is used, and since X2 is geometrically placed after XI, the parent / predecessor finder 344 can perform the parent / predecessor search for XI first, determining that A is the predecessor of XI. The parent / predecessor finder 344 below can perform the parent / predecessor search for X2 (taking XI into account), and can determine that XI is the predecessor of X2. Therefore, the mobile schema adder 346 below can place component Xl after A and put component X2 after Xl thereby creating MP3. It will be appreciated that in this method, the components of Xl and X2 are parsed and moved as separate entities, and therefore their compositions are separate.
If the grouping method is used, the parent / predecessor search engine 344 can perform parent / predecessor search for both Xl and X2 and unrelated to Xl or X2 (for search), and can determine that both have the same parent (the main page) and the same predecessor (component A). In this way, the component adder 340 can group Xl and X2 together, can create a virtual supernode containing Xl and X2, and can instruct the initial schema converter 200 to create a ready mobile version of the composition of Xl and X2. It will be appreciated that this converted composition would be placed below A creating MP4. Because Xl and X2 were highly overlapping, it is likely that they would be resized to preserve their composition (as described above).
In yet another scenario, as illustrated in Figure 28F now referenced, an original DP1 desktop page containing two components (A and B) is edited through the desktop editor by adding 4 new components - two pairs of text and image components semantically related (Tl / Il and T2 / I2) - creating a new DP2 page. If DP2 becomes mobile using the one-by-one method (as described hereinabove), the parent / predecessor browser 344 can determine that TI is the predecessor of T2. In this way, the generated (vertical) sequence of the components would be A-T1-T2-I1-I2-B (as shown in MP2) - breaking the connections of text captions with images. If DP2 becomes mobile using the grouping method (as described hereinabove, parent / predecessor search engine 344 can determine that T1 / T2 / I1 / I2 all have the same predecessor (A) and the same parent (Main page.) In this way, the mobile design adder 346 can group these 4 components into a new virtual page and can run initial schema converter 200 on them. Because TI is semantically related to II, and T2 to 12, these pairs are held together. In this way, the (vertical) sequence created would be A-T1-I1-T2-IB (as in MP3) preserving the semantic information.
In another scenario, as illustrated in Figure 28G now referenced, the DP1 desktop page contains three components (A, B, and C) and becomes mobile. The resulting mobile page MP1 is edited through the mobile editor, removing component C and swapping the order of A and B to create MP2. DP1 is then edited through the desktop editor, adding two overlay components Xl and X2 between B and C and an additional component X3 under C to create DP2. Component adder 340 is configured to use the grouping method and therefore all three aggregate components (Xl, X2, and X3) are grouped together since parent / predecessor search engine 344 has determined that B is the predecessor of all 3 new components (since C was removed in the mobile version). In this way, the mobile schema adder 346 can place all 3 new components below B and above A, preserving the composition of XI and X2 (as shown in MP3).
It will be appreciated that the placement of the components added by the mobile schema adder 346 can be implemented in a limited version in which the components are added to the desktop version or only added to the mobile version vertically between two vertically separated components. .
In another embodiment, component aggregator 340 can add a group of aggregated components anywhere within a line of components set in the mobile version, so as not to limit the insertion of new components to be below a component determined in the mobile version.
In yet another embodiment, the component adder 340 may bind an aggregate component B to the containing desktop schema configuration container instead of having it as a predecessor. It will be appreciated that in this scenario, component B remains attached to container C containing it, and is placed after the last element in C that exists in both desktop and mobile schema configurations and precedes component B. This approach can be used unless container C (and the supernode match) is empty, or hidden in the roaming scheme configuration.
In yet another embodiment, the component adder 340 can add components to the moving schema configuration by dividing the mobile schema configuration horizontally into the segment, and adding the added component or group of components after the segment containing the predecessor instead of directly after the predecessor.
It will be appreciated that when changes occur in attributes such as the style, font, or size of the text of a desktop component including changes in general properties, such as changing the number of rows or columns in a gallery component, the component modifier 350 can modify the components of the mobile schematic configuration. Since the mobile schematic configuration defines a visual application subject to the dynamic schematic, it can accommodate such changes and readjust component sizes and positions accordingly.
It will also be appreciated that while changes in the size and position of a desktop component affect the desktop schema configuration, they do not affect the mobile schema configuration unless the mobile schema configuration is explicitly regenerated such as It is described herein below. This is allowed because system 100 can allow for differences in appearance (layout) between multiple schematic settings, as long as the content does not change.
When changes occur in the data / content of a desktop component, the component modifier 350 may update the roaming scheme configuration accordingly. Like attribute modification, such data change can cause some reformatting of the components of the mobile schema configuration, handled using dynamic schema.
It will be appreciated that any modification of the mobile schema configuration can be done by a user typically through the deployment of a specialized GUI (the mobile editor) or deployment of mobile modifications with the previous mobile schema configuration. Such a mobile editor can only allow the designer to perform certain operations, such as only adding specific components for mobile equipment, removing components (hiding them), moving components or modifying components. In this way, the mobile editor can interact with the mobile controller 360 that handles changes only on the mobile side.
The 360 mobile controller can use a number of methods for placing aggregated (mobile only) components. The mobile controller 360 can allow the insertion of a new component only between two components in a component line or in a new component line that follows or precedes an existing one as illustrated in Figure 29 which is now done reference. A new X component can be inserted between A and B or a new Y component can be inserted below P and above A, B and C. Line breaks can also be inserted before / after the added component.
The inserted component (either X or Y) in this case can be anchored to the preceding component (or container) and can be reinserted in that position if the mobile scheme configuration is regenerated and asked to keep the added mobile components. If the anchor is not available (for example, the component pinned to was removed in the desktop schema settings), the 360 mobile controller can search for the closest previous container or component as noted above for adding components to the desktop outline settings.
The mobile controller 360 can also allow the placement of the new X component (mobile only) in an arbitrary position on the page. The mobile controller 360 below can search for an anchor component by searching for the component with the largest intersection with X. If such a component is not available, the mobile controller 360 can search for the nearest neighbor (on all 4 sides) based on the weighted average of the distance and overlap and by using distance and overlap thresholds. If no such component is found to be using the container containing X, then the 360 mobile controller can use the home page as an anchor that can be defined as the anchor in terms of distance and offset from the most edge next to the anchor.
In order to avoid non-compliance with search engine policies, the converter 300 can avoid offering this operation at all. Alternatively, the converter 300 may be limited to adding components that do not affect the search engine view of the page, such as decoration type components (eg lines, decoration shapes), contentless components (eg example, internal page navigation menus that do not add additional menu entry information), components with content that is not provided to search engines (for example, background images) and components that are only relevant to the mobile environment (such as buttons that provide functionality to make a phone call, send an MMS text / message, navigate to a certain location, or switch to the desktop site version).
It will further be appreciated that the mobile editor can also place recommended non-mobile components initially on the removed component screen, and require a second step to actually incorporate them into the mobile schematic configuration.
Aggregated components can be listed on the Mobile Mods screen as discussed herein below, so that it is easy to remove specific components that are for mobile addition only.
The mobile controller 360 can also remove a component from the mobile schema configuration (which can be implemented by actually removing the component or simply hiding it). It will be appreciated that when a component is removed from the mobile schematic configuration, the mobile controller 360 cannot rearrange the components on the same line. When a complete line of components is removed, the mobile controller 360 can move the components from bottom to top as close as possible as illustrated in Figure 30 which is now referenced. If any of the components A, B, or C (but not all three) are removed, the remaining components on the line (A, B, or C) are not affected or moved. If all three components (A, B, and C) are removed, the Q component and the components that follow it will move to near the P component. The removed component (s) can be listed on the Mobile modifications as discussed below herein, to make it easy to re-insert the hidden components into the app at a later stage, if needed.
It will also be appreciated that the components in the mobile schema configuration can be moved by a user through the GUI of the regular edition visual data system. The 360 mobile controller can hold the modifications until the page is re-created and can list them on the mobile modifications screen as discussed here below, so that it is easy to undo specific changes.
The mobile editor can furthermore allow components to also move outside (right or left) of the mobile narrow display band. In this scenario, the component may retain some minimal horizontal overlap with the band, and may be viewed cropped to the band size. Otherwise, this option may become equivalent to the option to hide component. This option can be used to display only part of a component / container or to temporarily place components aside to aid in component rearrangement in the mobile configuration.
The mobile editor can also allow a user to selectively change component attributes, properties, and styles in a mobile schematic configuration. The mobile editor can mark such changed attributes as changed on mobile, so a change to a specific attribute in the desktop schema configuration may not affect (and override) the change made to this attribute in the mobile schema configuration.
A particular change, which may be desirable as a specific change in the mobile schema configuration is the font size. This may be required if Component Adjuster 227 generates a different size than the designer may require. In this way, a specific font size change (such as a factor that will be applied on top of the font size generated by the initial schema converter 200) can be added and applied to the displayed text on a per field basis. The mobile editor can change the font size using a local scale factor attribute, and (for example) buttons to increase / decrease by 5% the font size that can affect this attribute. It will be appreciated that the mobile editor can still limit the new font sizes to a certain range of mobile font sizes. Any attribute modifications (including changing the font size) can be listed on the mobile modifications screen as discussed below.
As discussed previously herein, the converter 300 can provide a separate iGUI that displays the list of modifications specific to a particular mobile schema configuration (eg, added components, removed components, and modified components). This can be useful in order to view the specific modifications of the mobile schematic configuration and distinguish them from other schematic modifications made by the initial schematic converter 200. It can also be useful in order to review the different changes made to different configurations schema and being able to undo specific modifications to the schema configuration such as to re-insert a deleted specific component.
It will be appreciated that such a screen can be divided according to the page on which the modification was made, i.e. current pages, another page (s) or any template or master page or according to the type of modification, that is, insertion, deletion or modification of a component.
The display can additionally be used to classify these modifications, for example, according to the timestamp, location on the page, or type of components affected. The mobile editor can support an undo operation for a selected set of modifications. The mobile controller 360 below can undo any modification, for example re-inserting removed components is a reverse modification of the component position.
The converter 300 can additionally support mobile scheme configuration regeneration options. When activated, the converter 300 can instruct the initial schema converter 200 to run again in the underlying desktop schema configuration (which may have been modified because the initial schema converter 200 was the last to run), and specific changes to the mobile schema configuration can possibly be reapplied.
It will be appreciated that regeneration can be applied to pages to be regenerated (current page, specific pages, entire application) and to changes to the mobile schema configuration to be reapplied after the mobile schema configuration is regenerated. These could be selected by category (such as only hiding components), include specific selected modifications, or include all modifications. It will also be appreciated that if regeneration execution is performed without reapplying changes to the mobile schema configuration to a given page or pages, the relevant mobile schematic configuration changes are discarded.
Viewer 290 can display the new updated mobile schema configuration as previously described herein.
The system as described above can be integrated with the relevant website building system in a number of ways. For example, system 100 could be integrated into the actual code of the website building system - either entirely on the client side, entirely on the server side, or both. System 100 can also be operated on the same server platform as the website building system or on a separate and independent server or set of servers. System 100 can be operated online (each time a website construction system page is viewed), offline (to create converted and stored versions of the website construction system), or in combination (with some stages activated offline and others online). It could operate directly on the data structures of the website building system or provide an interface (such as a web service) requested by the website building system to isolate system 100 from the content of the website building system .
It will be appreciated that in different embodiments of the present invention, different elements of system 100 can divide their functionality in different ways and can perform the aforementioned functionality in a different order than previously described herein. It will be further appreciated that system 100 can also be partially implemented using pardal functionality.
In this way, a desktop schema configuration of a particular application can be suitably converted to a mobile schema configuration (or any other target schema of different sizes), taking into account the relationship between the components. Also, after initial conversions, modifications can be made to both desktop and mobile schema settings for the same page and can be reflected within a newly generated mobile page.
Unless specifically stated otherwise, as is evident from the preceding discussion, it is appreciated that, through the specification, discussions that use terms such as processing, computation, calculation, determination, or the like, refer to action and / or the processes of a computer, a computer system, a client / server system, or a similar electronic computing device that manipulates and / or transforms data represented as physical quantities, such as electronic, quantities within the registers and / or memories of the computer system in other data represented in a similar way as the physical quantities within the registers and memories of the computer system, or other such storage, transmission devices or display of information.
The embodiments of the present invention may include apparatus for performing the operations herein. This apparatus may be specially built for the desired purposes, or it may comprise a general-purpose computer selectively activated or reconfigured by a computer program stored on the computer. The resulting apparatus upon command of the software can convert the general-purpose computer into elements of the invention as discussed herein. The instructions can define the device of the invention in operation with the computer platform for which it is desired. Such a computer program may be stored on a computer-readable storage medium, such as, but not limited to, any type of disk, including floppy disks, optical disks, magnetic-optical disks, read-only memories (ROMs), memories compact read-only (CD-ROM), random access memory (RAM), electrically programmable read-only memory (EPROM), electrically erasable and programmable read-only memory (EEPROM), magnetic or optical cards, Flash memory, hard disk or any other type of means suitable for storing electronic instructions and capable of being coupled to a bus of the computer system.
The procedures and presentations shown here are not intrinsically related to a certain computer or other device. Various general-purpose systems can be used with the programs, in accordance with the teachings in this document, or it may be convenient to build a more specialized apparatus to perform the desired method. The desired structure for a variety of these systems will emerge from the description above. Furthermore, the embodiments of the present invention are not described with reference to any particular programming language. It will be appreciated that a variety of programming languages can be used to implement the teachings of the invention described herein.
Although certain features of the invention have been illustrated as described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art. Accordingly, it will be understood that the appended claims are intended to cover all such modifications and changes as long as they are within the true spirit of the invention.
Contents5
32 sheets
Sheet 1 Sheet 2 Sheet 3 Sheet 4 Sheet 5 Sheet 6 Sheet 7 Sheet 8 Sheet 9 Sheet 10 Sheet 11 Sheet 12 Sheet 13 Sheet 14 Sheet 15 Sheet 16 Sheet 17 Sheet 18 Sheet 19 Sheet 20 Sheet 21 Sheet 22 Sheet 23 Sheet 24 Sheet 25 Sheet 26 Sheet 27 Sheet 28 Sheet 29 Sheet 30 Sheet 31 Sheet 32
633 members in 16 offices
Members633
| Document | Office | Kind | |
|---|---|---|---|
| IL224835A0 | Israel | A0 | |
| IL224835D0 | Israel | D0 | |
| IL225016A0 | Israel | A0 | |
| IL225016D0 | Israel | D0 | |
| IL225079A0 | Israel | A0 | |
| IL225079D0 | Israel | D0 | |
| DE102013202782A1 | Germany | A1 | |
| US2013219263A1 | United States of America | A1 | |
| DE102013203526A1 | Germany | A1 | |
| US2013232403A1 | United States of America | A1 | |
| DE102013203831A1 | Germany | A1 | |
| US2013238977A1 | United States of America | A1 | |
| DE102013215438A1 | Germany | A1 | |
| CA2899872A1 | Canada | A1 | |
| CA3148828A1 | Canada | A1 | |
| CA3205266A1 | Canada | A1 | |
| US2014229821A1 | United States of America | A1 | |
| WO2014122628A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2014237429A1 | United States of America | A1 | |
| CA2904813A1 | Canada | A1 | |
| CA2904830A1 | Canada | A1 | |
| CA3096751A1 | Canada | A1 | |
| CA3208976A1 | Canada | A1 | |
| US2014282130A1 | United States of America | A1 | |
| US2014282218A1 | United States of America | A1 | |
| WO2014141122A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2014141130A2 | World Intellectual Property Organization (WIPO) | A2 | |
| WO2014141130A3 | World Intellectual Property Organization (WIPO) | A3 | |
| US2015074516A1 | United States of America | A1 | |
| CA2923580A1 | Canada | A1 | |
| WO2015036962A1 | World Intellectual Property Organization (WIPO) | A1 | |
| US2015089354A1 | United States of America | A1 | |
| US2015154164A1 | United States of America | A1 | |
| CA2932286A1 | Canada | A1 | |
| WO2015083115A2 | World Intellectual Property Organization (WIPO) | A2 | |
| US2015227533A1 | United States of America | A1 | |
| AU2014213614A1 | Australia | A1 | |
| CA2938812A1 | Canada | A1 | |
| CA2938813A1 | Canada | A1 | |
| WO2015121805A1 | World Intellectual Property Organization (WIPO) | A1 | |
| WO2015121813A1 | World Intellectual Property Organization (WIPO) | A1 | |
| IL240365A0 | Israel | A0 | |
| IL240365D0 | Israel | D0 | |
| AU2014229260A1 | Australia | A1 | |
| AU2014229331A1 | Australia | A1 | |
| KR20150119003A | Republic of Korea | A | |
| US2015310124A1 | United States of America | A1 | |
| CA2945432A1 | Canada | A1 | |
| WO2015166436A1 | World Intellectual Property Organization (WIPO) | A1 | |
| KR20150129330A | Republic of Korea | A | |
| CN105103146A | China | A | |
| KR20150132445A | Republic of Korea | A | |
| IL241423A0 | Israel | A0 | |
| IL241423D0 | Israel | D0 | |
| IL241424A0 | Israel | A0 | |
| IL241424D0 | Israel | D0 | |
| EP2954421A1 | European Patent Office (EPO) | A1 | |
| WO2015083115A3 | World Intellectual Property Organization (WIPO) | A3 | |
| EP2972731A1 | European Patent Office (EPO) | A1 | |
| EP2972977A2 | European Patent Office (EPO) | A2 | |
| EA201591352A1 | Eurasian Patent Organization (EAPO) | A1 | |
| CN105339881A | China | A | |
| CN105408885A | China | A | |
| EA201591779A1 | Eurasian Patent Organization (EAPO) | A1 | |
| AU2014319964A1 | Australia | A1 | |
| IL244515A0 | Israel | A0 | |
| IL244515D0 | Israel | D0 | |
| JP2016511889A | Japan | A | |
| EA201591606A1 | Eurasian Patent Organization (EAPO) | A1 | |
| US2016124839A1 | United States of America | A1 | |
| KR20160055262A | Republic of Korea | A | |
| MX2015010279A | Mexico | A | |
| MX2015012744A | Mexico | A | |
| MX2015012748A | Mexico | A | |
| JP2016518639A | Japan | A | |
| CN105723358A | China | A | |
| JP2016519347A | Japan | A | |
| EP3044693A1 | European Patent Office (EPO) | A1 | |
| AU2014358700A1 | Australia | A1 | |
| IL245992A0 | Israel | A0 | |
| IL245992D0 | Israel | D0 | |
| KR20160092021A | Republic of Korea | A | |
| HK1215742A | Hong Kong, China | A | |
| HK1215742A1 | Hong Kong, China | A1 | |
| CN105940391A | China | A | |
| AU2015216600A1 | Australia | A1 | |
| AU2015216608A1 | Australia | A1 | |
| EA201690498A1 | Eurasian Patent Organization (EAPO) | A1 | |
| EP2954421A4 | European Patent Office (EPO) | A4 | |
| EP3077920A2 | European Patent Office (EPO) | A2 | |
| MX2016003291AThis record | Mexico | A | |
| AU2015254922A1 | Australia | A1 | |
| JP2016535907A | Japan | A | |
| EA201691088A1 | Eurasian Patent Organization (EAPO) | A1 | |
| US9513771B2 | United States of America | B2 | |
| EP2972731A4 | European Patent Office (EPO) | A4 | |
| EP3105688A1 | European Patent Office (EPO) | A1 | |
| EP3105692A1 | European Patent Office (EPO) | A1 | |
| US2016371312A1 | United States of America | A1 | |
| IL248467A0 | Israel | A0 |
1 legal event, as the office reported them to INPADOC
Events
| Event | Code | |
|---|---|---|
| Grant or registrationFG | FG |
Numbers
- Publication
- 2016003291
- Application
- 3291
Titles2
- Spanish
- SISTEMA Y METODO PARA LA CONVERSION AUTOMATIZADA DE SITIOS INTERACTIVOS Y APLICACIONES PARA SOPORTAR ENTORNOS MOVILES Y OTROS ENTORNOS DE VISUALIZACION.
- English
- SYSTEM AND METHOD FOR AUTOMATED CONVERSION OF INTERACTIVE SITES AND APPLICATIONS TO SUPPORT MOBILE AND OTHER DISPLAY ENVIRONMENTS.
Classification
- CPC, 9
- G06F16/9577
- G06F16/986
- G06F40/154
- G06F40/106
- G06F40/151
- G06F40/186
- G06F16/958
- G06F40/143
- G06F40/14
- IPC, 4
- G06F17 30
- G06F17 21
- G06F17 22
- G06F40 143