Method and system for generating questionnaire

The website construction system addresses the limitations of existing systems by integrating data collection and machine learning for adaptive website creation and editing, enhancing user guidance and external data integration to improve site design efficiency and quality.

JP2025000769AActive Publication Date: 2025-01-07WIX COM
View PDF 20 Cites 0 Cited by

Patent Information

Application Number
JP2024166418
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2016-06-07
Filing Date
2024-09-25
Publication Date
2025-01-07
Estimated Expiration
2037-05-29

AI Technical Summary

Technical Problem

Existing website building systems lack comprehensive support for users in creating content, particularly website text elements, and do not provide sufficient guidance or adaptability for diverse content data, failing to leverage cloud knowledge for improved site design and integration of external data sources.

Method used

A website construction system that includes a memory, processor, and component database for visually editable components, with a visual editor and data collection means to gather information through surveys and external sources, generating layout solutions and websites using machine learning and artificial intelligence for continuous improvement, enabling voice command interaction, and supporting A/B testing.

Benefits of technology

The system facilitates efficient website creation and editing, minimizing manual input by leveraging cloud knowledge and external data integration, providing adaptable and high-quality site generation with industry-specific aesthetics and continuous improvement through machine learning.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025000769000001_ABST
    Figure 2025000769000001_ABST
Patent Text Reader

Abstract

To provide a website construction system (WBS) and a method for the WBS.SOLUTION: A method collects, stores, and analyzes information for updating the existing website for a designer of a WBS from answers to a questionnaire and external and internal systems of the WBS, creates recommendation items of the existing website on the basis of the information by using at least artificial intelligence and a machine learning technology, and regenerates an updated website by optimizing the existing website on the basis of the recommendation items.SELECTED DRAWING: Figure 10
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority to U.S. Provisional Patent Application No. 62 / 342,955, filed May 29, 2016, and U.S. Provisional Patent Application No. 62 / 346,581, filed June 7, 2016, both of which are incorporated herein by reference.

[0002] FIELD OF THE DISCLOSURE This application relates generally to website building systems, and more particularly to knowledge-based automated systems. [Background technology]

[0003] Web site building systems are used by both novices and experts to create interactive web sites. Existing web site building systems are based on a visual editing model, and most web site building system providers typically provide multiple templates. A template may include a complete sample web site, a web site portion, a single page, or a portion of a page.

[0004] A website building system may be a stand-alone system or may be embedded within a larger editing system. A website building system may also be online (i.e., applications are edited and stored on a server), offline or partially online (websites are edited locally but uploaded to a central server for publication).

[0005] The website building system can handle entities such as applications (visually designed applications (e.g. websites) that consist of pages, containers and components), pages (each of which is displayed separately and contains components) and components. Components can be organized into hierarchies of containers (single-page and multi-page) inside pages that contain atomic components. Multi-page containers can display multiple mini-pages, each of which contains components.

[0006] Pages may also include list applications (such as those discussed in US Patent Application Publication No. 2014 / 0133999, entitled “Website Building System Integrating Data Lists with Dynamic Customization and Adaptation,” published Sep. 18, 2014, and assigned to the common assignee of the present invention) and third party applications. Components may include simple (atomic) components such as text objects, buttons, frames, decorations, images and video players, composite / container components (such as galleries and sliders), as well as more complex components such as the third party applications mentioned above or entire e-shops.

[0007] A page can use a template, a general page template or a component template. Specific cases of templates include the use of an application master page that contains components that are replicated in all other regular pages, and the use of an application header / footer (that repeats on every page). Templates can be used for an entire page or for parts of a page. The system can allow inheritance between templates, pages or components, possibly including multi-level inheritance, multiple inheritance and diamond inheritance (i.e., A inherits from B and C, and both B and C inherit from D). The arrangement of components within a page is called the layout.

[0008] A website building system provider may offer templates ranging from very general (e.g., mobile sites, e-shops) to more specific (e.g., law firms, restaurants, florists) to very specific (e.g., commercial real estate law firms or Spanish tapas restaurants). Such templates are typically stored in a repository accessible to users of the website building system and are typically categorized according to business type, subtype or industry. Templates can also be created (and categorized) according to style, color range or other parameters, not just business type.

[0009] A user has the option of starting with an empty site (essentially a "blank page" template), but typically can start with an actual template. Thus, a user's first experience with such a website building system is typically to select a template (e.g., according to style or business type / subtype). The user then edits the template via a visual editor. This includes editing content, logic, layout and attributes. Such editing includes (among other things) adapting the template and its elements to the particulars of the user's business. Once the user has completed editing, they publish the modified site.

[0010] It will be apparent that various pieces of information (such as a business name or description of the business entity) will be included in multiple places within the pages of the template, and therefore the user may need to change the business name (for example) in multiple places throughout the template.

[0011] Furthermore, some template elements (e.g., a general product page) may occur multiple times, with each occurrence displaying details of a different instance of the underlying entity (e.g., a different product offered on the site). Such multiple instances may be specified manually (e.g., details of different people in a company's management structure) or may be dynamically derived from an external database (e.g., product details from a "products for sale" database).

[0012] Thus, a website building system may allow a template designer to specify fields (also known as "placeholders") for inserting values ​​within a template, such as {CompanyName}, {ProductName}, {ProductPrice}, etc. A user may then specify values ​​for the fields defined within the template selected for that website.

[0013] The website building system may also allow the user to enter simple or complex values ​​(e.g., text and images), as well as additional (non-field) information such as selection of pages or website areas to include, colors, style information, links, formatting options, website display options, decorative elements (such as borders and backgrounds), etc.

[0014] The website building system may also allow the user to enter some of this additional information prior to selecting a template and use this information to aid in the template selection (i.e., by narrowing the set of suggested templates). For example, the user may select a particular general color scheme (e.g., pastel) or style (e.g., business / formal), and the website building system may then use this selection to narrow the set of suggested templates.

[0015] Additionally, the website building system may display a series of views or questionnaires to allow the user to enter values ​​or selections (both for the default fields above and for additional information). The website building system may then generate connections (or bindings) between the multi-instance elements of the template (described above) and internal or external databases that provide the data instances used to generate the displayed instances.

[0016] Once a template is selected and its fields and additional information are specified (e.g., through a questionnaire or through binding to a data source), an existing website building system can generate a website that includes the combined information. The user then publishes the site (through the website building system or in other manners). Some systems can further allow the user to edit and customize the generated site. Such editing can include rerunning (some or all of) the series of questionnaires used to enter values ​​or select options for the site. The user can enter modified values ​​for some of the values ​​or options, and the site is regenerated according to the modified values. Editing can also include performing visual editing of the generated site. Such editing can be limited or can allow any editing operation to be performed on the site. Editing can further include modifying certain attributes of the generated site (e.g., background or border type of a given component).

[0017] Other prior art website building systems such as those mentioned herein above are described in US Pat. No. 5,399,623, US Pat. No. 5,499,633, US Pat. No. 5,523,363, US Pat. No. 5,523,675, and US Pat. No. 5,523,675. [Prior art documents] [Patent documents]

[0018] [Patent Document 1] US Patent Application Publication No. 2014 / 0282218 [Patent Document 2] U.S. Patent No. 7,668,913 [Patent Document 3] U.S. Patent No. 7,779,352 [Patent Document 4] U.S. Patent No. 6,219,680 [Patent Document 5] U.S. Patent No. 7,984,374 [Patent Document 6] U.S. Patent No. 7,039,863 [Patent Document 7] US Patent Application Publication No. 2013 / 0219263 [Patent Document 8] US Patent Application Publication No. 2017 / 0046317 [Patent Document 9] US Patent Application Publication No. 2013 / 0232403 [Patent Document 10] US Patent Application Publication No. 2015 / 0310124 [Patent Document 11] US Patent Application Publication No. 2015 / 0074516 [Patent Document 12] US Patent Application Publication No. 2016 / 0124839 Summary of the Invention

[0019] According to a preferred embodiment of the present disclosure, there is provided a website building system, the system including a memory, a processor, and a component database storing website building system component types of a user's website, the component types being visually editable, the component database also storing content element types and layout-related element types, the layout-related element types being based on a repository of website building system component types and content elements.

[0020] The system also includes a visual editor that enables direct creation and editing of sites based on the website building system component types, data collection means for collecting relevant information based on at least one of the user's responses to at least one questionnaire and available business identification information, the data collection means collecting information from at least one source external and internal to the website building system, content element generation means for generating content elements from the content element types based on the relevant information, and matching means for matching the content elements with relevant ones of predefined layout-related elements, business family-related site structures, business industry-related media, and design kits. The system further includes a layout solution handler for generating a plurality of layout solutions for elements of a user's website, the layout solutions being based on at least one of predefined layout-related elements, business family-related site structures, business industry-related media, and design kits, and a site generation system for generating a website generated from a user-selected layout solution comprised of a hierarchy of layout-related elements, the visual editor enabling a user to edit the website being generated using a component editing interface.

[0021] Moreover, in accordance with a preferred embodiment of the present invention, the site generation system includes survey execution means for conducting at least one survey and receiving at least information from the user regarding the user and the user's business, and family and industry determination means for determining a business family and business industry based on the information.

[0022] Further in accordance with a preferred embodiment of the present invention, the system includes element type creation means for creating at least one of a content element type, a layout element type and a questionnaire type.

[0023] Still further in accordance with a preferred embodiment of the present invention, the site generation system includes answer analysis means for analyzing answers in order to provide content for the content element type.

[0024] Additionally, in accordance with a preferred embodiment of the present invention, the site generation system includes crowdsourced analysis means for analyzing content, aesthetics and layout related elements from other users of the website building system at least within the business industry and business family based on relevant information to generate at least one industry preferred layout element having an industry preferred aesthetic, a user element based website, and improved question element types for a survey, and machine learning means using artificial intelligence to provide developing and continually improving interactions with the user based on output of the crowdsourced analysis means.

[0025] Moreover, in accordance with a preferred embodiment of the present invention, the layout-related element types consist of at least one of a layout element, a layout group, and a preset page section.

[0026] Furthermore, in accordance with a preferred embodiment of the present invention, the system includes an A / B tester for generating and running A / B tests on at least the questionnaires and the information.

[0027] Still further, in accordance with a preferred embodiment of the present invention, the system includes repurposing means for repurposing content elements for at least one of search engine indexing and promotion, expert index sites, translation kit creation and reintegration, and marketing to site owners.

[0028] Additionally, in accordance with a preferred embodiment of the present invention, the site creation system includes a site creation system voice walk-through driver for enabling a user to create a site using voice commands.

[0029] Moreover, according to a preferred embodiment of the present invention, the data collection means includes an external data collection means for collecting relevant information from external users and other general user related sources and resources, and an internal data collection means for collecting relevant information from within the website building system.

[0030] Further, according to a preferred embodiment of the present invention, the element type creation means includes at least one of: a content element type creation and editing means for creating and editing a content element type of a content element instance using at least one of receiving a definition from a site designer, defining a schema, and importing a schema; a questionnaire type creation and editing means for creating and editing a questionnaire type to be included in a questionnaire of a questionnaire instance; a layout type creation and editing means for creating and editing a content element type of a layout-related element instance using at least one of receiving a definition from a site designer, defining a schema, creating from a given set of fields and importing a schema; a design kit creation and editing means for creating and editing a design kit using at least one of receiving a definition from a site designer, applying design rules, creating from a given set of fields and importing a schema, basing on and using collected system information about existing design kits, and a combination of existing design kits; and a rule creation and editing means for allowing the site designer to define rules for the content element type creation and editing means, the questionnaire type creation and editing means, the layout type creation and editing means, and the design kit creation and editing means.

[0031] Still further in accordance with a preferred embodiment of the present invention, the layout type creating and editing means includes ordering means for determining an order of importance of components of the layout elements, positioning means for determining spatial locations of the components, sizing means for determining sizes of the components, and adjusting means for adjusting the layout of the components in accordance with predetermined parameters.

[0032] Additionally, in accordance with a preferred embodiment of the present invention, the layout type creating and editing means also includes a semantic link handler for detecting semantically related components among the components of the layout elements.

[0033] Moreover, according to a preferred embodiment of the present invention, the external data collection means includes social media import means for importing relevant information from relevant social media sites, data feed import means for extracting and importing relevant information from data feeds, external website import and analysis means for importing and analyzing relevance of the relevant information from external websites, and data matching means for matching between the extracted and analyzed relevant information and content element fields.

[0034] Furthermore, in accordance with a preferred embodiment of the present invention, the external data collection means also includes document import means for importing offline documents related to the relevant information, and data analysis means for analyzing the relevance of the offline documents.

[0035] Furthermore, according to a preferred embodiment of the present invention, the internal data collection means is an additional user data analysis means for analyzing general user information stored by the website construction system, and the additional user data analysis means includes at least one of an additional user data analysis means having a privacy preservation means for preserving user privacy, a BI analysis means for analyzing BI (Business Intelligence) information stored by the website construction system, and an editing history analysis means for analyzing a user's editing history.

[0036] Additionally, according to a preferred embodiment of the present invention, the matching means performs matching using at least one of preset page sections and layout elements, pre-associations between content elements of the layout elements, pre-assigned keywords, common attributes, field matching, semantic matching and horizontal matching.

[0037] Moreover, according to a preferred embodiment of the present invention, the layout solution handler includes a layout solution generating means for generating a plurality of layout solutions from predetermined layout-related elements, business family-related site structures, business industry-related media and design kits, and a layout solution presenting means for presenting the plurality of layout solutions to a user for selection.

[0038] Furthermore, in accordance with a preferred embodiment of the present invention, the layout solution handler also includes an element variant editor for creating user specific, local, private layout element variants.

[0039] Still further, in accordance with a preferred embodiment of the present invention, the layout solution handler also includes a layout selection store handler for coordinating editing changes made to the user selected layout solution with the layout selection store.

[0040] Additionally, in accordance with a preferred embodiment of the present invention, the layout solution generation means includes layout element selection means for selecting content elements and determining how to distribute them among pages of the website being generated, layout element generation and modification means for generating a set of general hierarchical layout elements based on the selected content elements and layout element combination rules, rule application means for enforcing and overriding the layout element combination rules, and design kit selection and application means for applying and adapting design kits to the content elements.

[0041] Moreover, in accordance with a preferred embodiment of the present invention, the visual editor includes an in-place editor for invoking a component editing interface when a user edits the layout of a component, a list change handler for invoking list editing operations for list-oriented changes, and a change reapplying means for reapplying user edits to the generated site or site region.

[0042] Further, in accordance with a preferred embodiment of the present invention, the available business identification information includes at least one of the user's GPS (Global Positioning System) location, the user's IP (Internet Protocol) details, information extracted through the user's smart phone, camera or sensor, and the user's client device and software details.

[0043] According to a preferred embodiment of the present disclosure, a method for a website building system is provided, the method includes storing website building system component types of a user's website, the component types being visually editable, the storing also includes storing content element types and layout-related element types, the layout-related element types being based on a repository of website building system component types and content elements. The method also includes enabling direct creation and editing of the site based on the website building system component types, and collecting related information based on at least one of responses to at least one user questionnaire and available business identification information, the collecting collecting information from at least sources external and internal to the website building system. The method further includes generating content elements from content element types based on the association information, matching the content elements with associated ones of predefined layout-related elements, business family-related site structure, business industry-related media and design kits, generating a plurality of layout solutions for the elements of the user's website, the layout solutions being based on at least one of the predefined layout-related elements, business family-related site structure, business industry-related media and design kits, and generating the website from the user-selected layout solutions comprised of a hierarchy of layout-related elements, and enabling direct creation and editing of the site enables the user to edit the website being generated using a component editing interface.

[0044] Moreover, in accordance with a preferred embodiment of the present invention, generating the website includes conducting at least one survey, receiving at least information from the user regarding the user and the user's business, and determining a business family and business industry based on the information.

[0045] Further in accordance with a preferred embodiment of the present invention, the method includes creating at least one of a content element type, a layout element type, and a survey type.

[0046] Still further, in accordance with a preferred embodiment of the present invention, generating the website also includes analyzing the responses to provide content for the content element type.

[0047] Additionally, according to a preferred embodiment of the present invention, generating the website also includes analyzing content, aesthetics and layout related elements from other users of the website building system at least within the business industry and business family based on the above information and related information to generate at least one of an industry preferred layout element having an industry preferred aesthetic, a user element based website, and improved question element types for a survey, and using artificial intelligence to provide developing and continuously improving user interaction based on the output of the analysis of the content, aesthetics and layout related elements.

[0048] Moreover, in accordance with a preferred embodiment of the present invention, the layout-related element types consist of at least one of a layout element, a layout group, and a preset page section.

[0049] Further in accordance with a preferred embodiment of the present invention, the method includes generating and running A / B tests on at least the questionnaire and the information.

[0050] Still further, in accordance with a preferred embodiment of the present invention, the method includes repurposing the content elements for at least one of search engine indexing and promotion, expert index sites, translation kit creation and reintegration, and marketing to site owners.

[0051] Additionally, in accordance with a preferred embodiment of the present invention, generating the website includes allowing a user to generate the site using voice commands.

[0052] Moreover, according to a preferred embodiment of the present invention, collecting includes collecting relevant information from external users and other general user related sources and resources, and collecting relevant information from within the website building system.

[0053] Further, in accordance with a preferred embodiment of the present invention, creating includes at least one of: creating and editing content element types of content element instances using at least one of receiving a definition from a site designer, defining a schema, and importing a schema; creating and editing a survey type to be included within a survey of a survey instance; creating and editing content element types of layout-related element instances using at least one of receiving a definition from a site designer, defining a schema, creating from a given set of fields, and importing a schema; creating and editing design kits using at least one of receiving a definition from a site designer, applying design rules, creating from a given set of fields, and importing a schema, basing on collected system information about existing design kits and using them, and a combination of existing design kits; and allowing the site designer to define rules for creating and editing content element types of content element instances, creating and editing survey types, creating and editing content element types of layout-related element instances, and creating and editing design kits.

[0054] Furthermore, in accordance with a preferred embodiment of the present invention, creating and editing a content element type of a layout-related element instance includes determining an order of importance of the components of the layout element, determining the spatial location of the components, determining the size of the components, and adjusting the layout of the components according to predetermined parameters.

[0055] Additionally, in accordance with a preferred embodiment of the present invention, creating and editing a content element type also includes detecting semantically related components among the components of the layout element.

[0056] Moreover, according to a preferred embodiment of the present invention, collecting related information from external users and other general user related sources and resources includes importing related information from relevant social media sites, extracting and importing related information from data feeds, importing and analyzing the relevance of the related information from external websites, and matching between the extracted and analyzed related information and content element fields.

[0057] Further, in accordance with a preferred embodiment of the present invention, collecting related information from external users and other general user related sources and resources includes importing offline documents related to the related information and analyzing the relevance of the offline documents.

[0058] Furthermore, in accordance with a preferred embodiment of the present invention, collecting relevant information from within the website construction system includes at least one of analyzing general user information stored by the website construction system while maintaining user privacy, analyzing general BI information stored by the website construction system, and analyzing user editing history.

[0059] Additionally, in accordance with a preferred embodiment of the present invention, the matching uses at least one of preset page sections and layout elements, pre-associations between content elements of the layout elements, pre-assigned keywords, common attributes, field matching, semantic matching, and horizontal matching.

[0060] Moreover, in accordance with a preferred embodiment of the present invention, generating a plurality of layout solutions includes generating a plurality of layout solutions from predetermined layout-related elements, business family-related site structures, business industry-related media and design kits, and presenting the plurality of layout solutions to a user for selection.

[0061] Furthermore, in accordance with a preferred embodiment of the present invention, generating multiple layout solutions includes creating user-specific local private layout element variations.

[0062] Still further in accordance with a preferred embodiment of the present invention, generating the multiple layout solutions includes coordinating editorial changes made to the user-selected layout solutions with the layout selection store.

[0063] Additionally, in accordance with a preferred embodiment of the present invention, generating a plurality of layout solutions includes generating a plurality of layout solutions from predetermined layout-related elements, a business family-related site structure, and a business industry-related media design kit, and includes selecting content elements and determining how to distribute them among pages of the website being generated, generating a set of general hierarchical layout elements based on the selected content elements and layout element combination rules, implementing and overriding the layout element combination rules, and applying and adapting the design kit to the content elements.

[0064] Moreover, in accordance with a preferred embodiment of the present invention, enabling direct creation and editing of sites includes invoking a component editing interface when a user edits the layout of a component, invoking list editing operations for list-oriented changes, and reapplying user edits to the generated site or site region.

[0065] Further, in accordance with a preferred embodiment of the present invention, the available business identification information includes at least one of the user's GPS (Global Positioning System) location, the user's IP (Internet Protocol) details, information extracted through the user's smart phone, camera or sensor, and the user's client device and software details.

[0066] The subject matter which is believed to be the invention is particularly pointed out and distinctly claimed in the concluding portion of this specification. The invention, however, together with its objects, features, and advantages, both as to organization and method of operation, may best be understood by reference to the following detailed description when read in connection with the accompanying drawings. [Brief description of the drawings]

[0067] [Figure 1] 1 is a schematic diagram of a system for creating and updating hierarchical web sites based on collected business knowledge, constructed and operative in accordance with the present invention; [Diagram 2] 2 is a schematic diagram of elements of the site creation system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 3A] 2 is a schematic diagram of elements of the content management system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 3B] FIG. 3B is a schematic diagram of the relationships between the repositories of FIG. 3A and their editing options, constructed and operative in accordance with the present invention; [Figure 4] 1 is a schematic diagram of a preset page section constructed and operative in accordance with the present invention; [Diagram 5]3 is a schematic diagram of an element of the element creation means of FIG. 2, constructed and operative in accordance with the present invention; [Figure 6] 1 is a schematic illustration of the effect of different design kits on the same underlying page, constructed and operative in accordance with the present invention; [Figure 7] 1 is a schematic diagram of a classification of website building system components according to a semantic hierarchy, constructed and operative in accordance with the present invention; [Figure 8] 1 is a schematic illustration of a tree of configuration possibilities for a positioning stage, constructed and operative in accordance with the present invention; [Figure 9] 1 is a schematic diagram of the generation of multiple suggested layout options and the use of automatically generated anchors, constructed and operative in accordance with the present invention; [Figure 10] 3 is a schematic diagram of elements of a site generation system (SGS) workflow driver of FIG. 2, constructed and operative in accordance with the present invention. [Figure 11] 3 is a schematic diagram of elements of the external data collection means of FIG. 2, constructed and operative in accordance with the present invention; [Figure 12] 3 is a schematic diagram of elements of the internal data collection means of FIG. 2, constructed and operative in accordance with the present invention; [Figure 13] 1 is a schematic diagram of matching content and layout elements having multiple design styles, constructed and operative in accordance with the present invention; [Figure 14] 11 is a schematic diagram of elements of a layout solution generator of FIG. 10, constructed and operative in accordance with the present invention. [Figure 15] 1 is a schematic diagram of different layout element designs constructed and operative in accordance with the present invention; [Figure 16] 1 is a schematic diagram of the use of different divisions of a layout into regions and page solutions for showing content, constructed and operative in accordance with the present invention; [Figure 17] 1 is a schematic diagram of the merging of different sources of changes in a website being generated, constructed and operative in accordance with the present invention; [Figure 18]3 is a schematic diagram of elements of the visual editor modification embedder of FIG. 2, constructed and operative in accordance with the present invention; [Figure 19] 2 is a schematic diagram of an alternative version to the system of FIG. 1 implementing a single location storage architecture, constructed and operative in accordance with the present invention; [Figure 20] 2 is a schematic diagram of the integration of updates, layout solution selection and manual edits to site content for a site generated by the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 21] 2 is a schematic diagram of elements of the A / B tester of FIG. 1, constructed and operative in accordance with the present invention; [Figure 22A] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 22B] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 22C] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 22D] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 22E] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 22F] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Figure 22G] 2 is a schematic diagram of a website creation process of the system of FIG. 1 constructed and operative in accordance with the present invention; [Diagram 23] 2 is a schematic diagram of multiple source and destination options of the system of FIG. 1, constructed and operative in accordance with the present invention; DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0068] It will be understood that for simplicity and clarity of illustration, elements shown in the figures have not necessarily been drawn to scale. For example, the dimensions of some elements may be exaggerated relative to other elements for clarity. Further, where considered appropriate, reference numerals may be repeated among the figures to indicate corresponding or analogous elements.

[0069] In the following detailed description, numerous specific details are set forth in order to provide a thorough understanding of the present invention. However, it will be understood by those skilled in the art that the present invention may be practiced without these specific details. In other instances, well-known methods, procedures, and components have not been described so as not to obscure the present invention.

[0070] Applicants recognize that existing website building systems, such as those described herein above, do not support users in actually creating content (including, in particular, website text elements), do not provide sufficient guidance and recommendations on best practices in creating websites for a particular purpose (such as a particular business or industry), and do not provide comprehensive support for users to import and organize data from external sources and integrate it with the rest of the site.

[0071] Applicants further recognize that existing website building systems typically provide a set of site templates (including industry-specific templates), but once a designer starts modifying the template, the designer is at "his own risk" because he has deviated from the original template and the website building system does not provide further guidance and support in the site editing process. In particular, in existing systems, the user has no way of knowing whether the visual changes made to the template will preserve the quality of the site. Once a designer deviates from the original template provided by the system, he is typically limited to only making further updates through the visual editing interface, and is not able to revert to and use the structured (questionnaire) interface for further updates.

[0072] In existing systems that provide templates, the templates are generally not flexible or adaptive enough to support multiple different sites where the amount of content data may vary significantly.

[0073] Applicants also recognize that existing website building systems do not leverage cloud knowledge. Website building systems that serve millions of users collect a significant amount of information about how templates are used and how sites are edited. Existing systems do not collect this information, nor do they leverage it to help new designers design their websites.

[0074] Applicants recognize that the above-referenced challenges may be overcome by a website building system, including a content-based site generation system capable of generating a site based on integration and analysis of information from multiple sources, including information entered by a user, information pre-specified within the system, and information retrieved from external sources, etc. The site generation system may allow for rapid generation and maintenance of websites while minimizing or eliminating required manual editing, although it may allow for some editing via a (possibly adapted) visual editor if necessary.

[0075] Applicants further recognize that the architecture of such a system should include two flexible interconnected hierarchies, having content elements that describe a user's business or organization, and layout elements that represent the site content to be displayed. Higher level layout elements that contain internal layouts (and possibly other components) may be known as layout groups, and lower level layouts (that do not contain other layout elements) may be known as atomic layout elements.

[0076] It will be appreciated that a top-level content element may include a multi-instance content element (such as a "team" content element that includes multiple similar "team member" content elements). Such content elements are typically mapped to a repeater layout element (described in more detail later in this specification), which may include header, footer and list member elements. Elements for each list member of the repeater will be duplicated for each instance in the multi-instance content element.

[0077] Therefore, the system should also include a content element repository that stores content elements that may be filled based on multiple sources, including user responses to questionnaires and information predefined in the system, along with other business identification information collected by the website building system, such as user location determined from GPS or IP address, information extracted through the user's smartphone camera or sensor, and client device and software details. Such information (including underlying media resources such as background images and fixed text) is typically stored in a content management system associated with the website building system. The other information stored may include information extracted from online sources related to the user, including in particular websites and other online presence assets (deployed on current or other platforms) belonging to the same or other users, as well as information extracted from offline sources related to the user, for example, manually provided by website building system personnel or extracted from offline literature.

[0078] Other content may include crowd-sourced information extracted from online presence assets built by other sites or other users, who are subject to relevant privacy and intellectual property laws (such as copyright, trademark, etc.) governing the use of such information. These may be other users in the same or similar industry (for example).

[0079] The system can analyze the data to find relevant business information (or provide a limited set of possibilities). For example, the system can collect information about nearby businesses and attempt to identify information about the user's own business based on business directory information.

[0080] The system can then use the predefined layout elements to create a generated site that is to be presented to a user. The system can further allow editing of the generated site using a visual editor that is part of the website building system, allowing a designer to precisely customize the generated site. The system can further allow a bidirectional flow of changes between the generated site and the website building system.

[0081] Thus, in a typical scenario, a user setting up a website for the first time may be asked by the website building system via a questionnaire a series of questions related to the user's industry. All answers may be stored and analyzed, with each answer adding to the accumulated knowledge of the website building system itself. The first question may be (for example) a definition of the exact type of business that will be used to generate a series of questionnaires containing the questions.

[0082] The combined answers may be stored as content elements in a particular content element repository (described in more detail later in this specification). The website building system may then create multiple versions of a site element (e.g., a page or page element) incorporating information from the content element repository and using multiple layout options (layout elements). These layout options are presented to the user, who selects his preferred layout (layout element), which is stored in a separate layout repository. The system may then generate the actual website based on the layout selection. Finally, the user may directly edit the generated site, with any changes affecting both the content element repository and the layout element repository, as described in more detail later in this specification. Such edits may include edits of content, logic, layout, and attributes.

[0083] In another possible embodiment, the user may provide the system with key details that allow the system to retrieve and gather information about the user. Such key details may include, for example, information that identifies the business (e.g., business name or address) or an existing business website. The system may use such key details to retrieve information about the business, and possibly construct a questionnaire to fill in any details not found by the retrieval process.

[0084] It will also be appreciated that the system may use multiple methods to combine the possible layout elements presented to the user for evaluation into a consistent, high-quality visual layout.

[0085] The system can arrange layout elements on multiple pages or create single-page sites (including in-page navigation aids such as side mini-menus or section navigation buttons that are typically included in such single-page sites). The system can also generate multiple layout element arrangements by generating (a large number of) possible page arrangements and filtering the possible arrangements according to layout and aesthetic rules, as described in more detail later in this specification. The system can generate all theoretically possible arrangements or even enforce certain structural restrictions before filtering (e.g., pre-categorizing layout elements into page header, side menu, body and page footer and placing only layout elements related to their predefined roles). The system can also generate multiple arrangements at multiple levels, for example generating multiple layout element variants, multiple layout element arrangements on each website page, and multiple page arrangements.

[0086] Reference is now made to FIG. 1, which illustrates a system 100 for creating and updating hierarchical websites based on collected business knowledge, according to one embodiment of the present invention.

[0087] 1 may include a website construction system 5 that communicates with client systems operated by a SGS (site generation system) administrator 61, a site designer 62, a site visitor 63, and an external system 70. The website construction system 5 may further include a WBS (website construction system) site manager 10, an object marketplace 15, a WBS (website construction system), a RT (runtime) server 20, a WBS (website construction system) editor 30, a site generation system 40, and a WBS content management system 50. In the following discussion herein, it will be understood that the site visitor 63 may also include a site designer 62.

[0088] It will be appreciated that collected business knowledge refers to a collection of relevant content for the website being created, which may be collected from external systems 70, as described in more detail later in this specification.

[0089] It will also be appreciated that the administrator 61 may typically be an employee of the relevant website building system supplier and may create and maintain various system elements, such as questionnaires, content elements, layout elements, layout groups, preset page sections and design kits, as described in more detail later in this specification. The site designer 62 may use the website building system 5 to build their own sites for use by the site visitors 63. The site designer 62 may typically be an external site designer or consultant, but the website building system supplier may employ the site designer 62, for example, to create template sites for inclusion in the website building system. The site visitors 63 may only be able to view the system. In an alternative embodiment of the invention, the site visitors 63 may be allowed some form of site input (such as talkback submissions or blog post submissions). In another embodiment, the system 100 may allow a limited site creation system 40, which may allow the site visitors 63 to build user pages within (for example) a club site.

[0090] WBS Site Manager 10 can be used by site designers 62 to manage the sites they create (eg, to process payments for site hosting or set permissions for site access).

[0091] The WBS RT (runtime) server 20 can handle runtime access by (potentially many) site visitors 63. Such access can be read-only, but can also include interactions that can affect back-end data (such as purchasing a product or posting a comment on a blog). In some embodiments of the system 100, the WBS RT server 20 can also serve pages to site designers 62 (e.g., when previewing the site or as a front-end to the WBS editor 30).

[0092] The object marketplace 15 can enable the trading of objects (such as element types) between object suppliers and site designers 62 through the website building system 5, as described in more detail later herein.

[0093] The WBS editor 30 may enable the site designer 62 to edit the layout solution presented to the site designer, including editing the content, logic, layout, and attributes, i.e., to adapt a particular template and its elements according to the site designer 62's business or industry.

[0094] The site generation system 40 can create the actual site based on an integration and analysis of information entered by the site designer 62 (via questionnaires as described in more detail later herein), information pre-specified and stored in the content management system 50, along with information from external systems 70 and internal information held in the CMS 50 that may be collected by other designers through use of the website information system. In alternative embodiments, the CMS 50 may be held in local storage or locally by the site designer 62.

[0095] Reference is now made to Figure 2, which illustrates the components of a site generation system 40. The site generation system 40 may comprise an element creation means 41, an SGS (site generation system) workflow driver 42, an external data collection means 43, an internal data collection means 44, a visual editor change integration means 45, an A / B tester 46, an objective change means 47, and an SGS audio walkthrough driver 48. The functionality of these components will be described in more detail later in this specification.

[0096] The site generation system 40 can configure content and layout elements for the SGS administrator 61 and site designer 62, and can run surveys to collect and analyze data to discover additional user and business information (or provide a limited set of possibilities). For example, the site generation system 40 can collect information about nearby businesses and attempt to identify the user's own business based on business directory information.

[0097] It will be appreciated that the site generation system 40 can generate multiple possible visual representations of the information contained in the content element repository, present them to a user, and, based on user feedback, create a website representing the displayed site content and layout information. The arrangement of the generated layout elements can be defined using a combination of preset page sections as described in more detail later in this specification.

[0098] The content management system 50 can hold all forms of content and layouts related to the website building system 5, as shown in FIG. 3A to which reference is now made. The content management system 50 can include a questionnaire type repository 501, a content element type repository 502, a layout element (LE) / layout group (LG) / preset page section (PPS) type repository 503, a design kit repository 504, a completed questionnaire repository 505, a content element (CER) repository 506, a layout element (LER) repository 507, a layout selection store 508, a WBS site repository 509, a business intelligence repository 510, an edit history repository 511, a user information repository 512, a rules repository 513, a family / industry repository 514, a machine learning / artificial intelligence (ML / AI) repository 515, a WBS (website building system) component repository 516, and a CMS coordination means 517 for coordinating data between the CMS 50 and the system 100.

[0099] The WBS site repository 509 can include both generated sites (created by the site creation system 40) and other WBS sites (created by the WBS editor 30 or by other means, such as direct conversion from other systems). It will be appreciated that these categories are not definitive, as generated sites may be further edited by the WBS editor 30.

[0100] The WBS component repository 516 may contain definitions of component types of the website building system 5, i.e., may describe parameters and characteristics of various element types (such as text components, media components, containers, and complex components such as galleries, sliders, and third-party applications). These component type definitions are used to enable interactive direct editing of the site (e.g., to enable WYSIWYG editing of pages) by the WBS editor 30, as described in more detail later in this specification. These component types are also used as the basic building blocks of the various layout element types (layout elements, layout groups, and preset page sections) described above.

[0101] CMS 50 may be implemented using a single database or multiple databases based on one or more servers or server farms. Content in CMS 50 may be distributed based on logical associations (e.g., holding information that together pertains to a single site), geography, connectivity (e.g., available bandwidth), security, data profile, access profile or other parameters.

[0102] It will be appreciated that both CER 506 and LER 507 may be composed of hierarchical collections of data elements that are created as instances of a general element type. It will be further understood that when referring to CER 506 and LER 507, this refers to a particular collection of elements that are associated with a given site (or set of related sites, as the case may be).

[0103] Both repositories 506 and 507 may implement any hierarchical structure, i.e., a limited structure (e.g., consisting of only a given number of levels) or a specific / fixed structure (e.g., consisting of only a page / preset page section / layout element hierarchy). In another embodiment, system 100 may use a strict three-level hierarchy, such as page->layout group->layout element or page->preset page section->layout element.

[0104] Each of repositories 506 and 507 can also implement inheritance between their elements and element types, including multi-level inheritance, multiple inheritance, and diamond inheritance. Such inheritance can include type-to-type inheritance and type-to-instance inheritance.

[0105] It will be understood that CER 506 and LER 507 are specific repositories of generated site content element and layout element instances, and are not comprehensive repositories of all available (e.g., pre-generated) content element and layout element types.

[0106] A CER 506 may be composed of a hierarchical organization of content elements. Each content element is a strongly typed record that describes a real-world business-related entity. For example, a team member content element may contain an employee's name, photo, and job description.

[0107] A content element is made up of the fields and occurrences (single or multiple) of the content elements it contains. For example, a business content element may contain a single contact details content element and multiple employee content elements.

[0108] It will be appreciated that a layout element type definition (described in more detail later in this specification) and any layout elements created accordingly may include the following elements: layout element metadata (such as name), sub-element information, contained fields / components, layout element or layout element placeholder, layout information, additional style information, and content element association information (described in more detail later in this specification).

[0109] It will be appreciated that the layout element type definitions can also include definitions of exception behaviors, such as overflow regions used to handle more than an expected amount of text, as discussed in commonly assigned US Patent Application Publication No. 2013 / 0133991, entitled "Website Design System Integrating Dynamic Layout and Dynamic Content," published on August 22, 2013. This can further include display rules and rules that control how the layout should be laid out (by itself and in relation to other layout elements).

[0110] It will be appreciated that the above description may relate to layout elements at all levels (ie, atomic layout elements and higher-level layout groups).

[0111] Additionally, the system 100 can support disjoint layout groups. A layout group typically occupies a single contiguous page area. However, the system can support layout groups that contain multiple disjoint (non-contiguous) layout elements.

[0112] For example, the system 100 can define layout groups that include matching page headers and page footers, or matching video player windows and separate "remote control" boxes.

[0113] An advantage of having such separate layout groups is that the system 100 may provide multiple design options (e.g., for both the header and footer) and the site designer 62 may be able to select the appropriate design option for both the header and footer in one selection.

[0114] The CMS 50 may include a content element type repository 502 and a CER 506 that may contain a tree of instances of these content element types.

[0115] Content elements and content element types can be reused by multiple containing objects. For example, a single employee details content element can be used by a "our team" containing content element and a "company phone directory" containing content element, thus creating a valid acyclic graph. This can be applied to content element type definitions and actual content element instances.

[0116] It will be appreciated that content elements generally do not include layout and formatting information, such as associated screen position, size, formatting and other information (except for local display hints, as described below).

[0117] It will be further appreciated that the system 100 can support content elements that include local display hints. Such local display hints allow a content element to provide some hints for laying out elements with which it is associated.

[0118] For example, a field-level display hint can be applied to a field within a content element, e.g., "always display this ID field in a bold font", and such a specification can override the associated attribute (bold text) in the normal layout element specification.

[0119] In particular, the system 100 may enable some or all fields of a given content element to include per-field "show / hide" hints so that a site designer 62 entering data can be asked whether to hide (and not show) the field in the final display. For example, a business that does not have a fax contact option could mark the "Fax Number" field as hidden in the "Contact Options" form.

[0120] The system 100 may also use dynamic layout techniques (described in more detail later herein) to "close gaps" that arise in the displayed layout due to hidden fields.

[0121] The SGS administrator 61 can use the element creation means 41 to create and update different element types for use by the site designer 62. These created elements can be populated with actual content through a series of questionnaires presented to the site designer 62, or through extraction from various sources (as described in more detail later in this specification). Questionnaires can also be created automatically from a content element (or set of content elements), or can be pre-defined and associated with a content element (or set of content elements).

[0122] It will be appreciated that the system 100 can also analyze user related sources (such as other user websites or social media presence) and extract information which can be used to populate the CER 506. Such data can be accessed based on key details (such as business name) provided by the site designer 62, as described in more detail later in this specification.

[0123] As described herein above, the system 100 can further use data from external systems 70 (such as industry standard databases or various web services) to populate additional information in the content element. For example, the site designer 62 can populate a content element with an address, and the system 100 can fill in the zip code information through an address-to-zip code conversion web service.

[0124] The LER 507 may be composed of a hierarchical arrangement of layout elements, which are visual templates of entire web pages or portions of web pages, possibly including multiple elements (components or other layout elements).

[0125] Layout elements can contain placeholders for data extracted from content elements and are used to display the content elements. Such placeholders can be strongly stylized, but can be configured to display multiple types.

[0126] Layout elements may also contain additional layout-related information including (for example) exception handling guidelines (e.g., what to do in case of field content overflow) and display rules (which combinations of layout elements are allowed), as described in more detail later in this specification.

[0127] It will be appreciated that, like content elements, layout elements can also be organized into a directed acyclic graph. Unlike content elements, layout elements contain full layout information, including the position, size, Z-order, display attributes, etc., of the contained elements.

[0128] Layout elements may be organized in a structured manner that may include certain subelement repetitions. For example, a given layout element may include a header layout element, a repeating member layout element, and a footer layout element. This may be implemented via a repeater element, as described in more detail later in this specification.

[0129] As described above in this specification, layout elements can also be organized into higher-level entities such as layout groups and preset page sections (described in more detail later in this specification). The system 100 can allow the site designer 62 to interact (e.g., select a version, select a location, edit) at the layout element level or at the higher-level entity level (e.g., allow selection and editing of only preset page sections, and allow only rearrangement of preset page sections but not the underlying layout elements).

[0130] Thus, even if the site generation system 40 allows for limited manipulation of layout elements or layout groups, the generated site (described in more detail later in this specification) can be more comprehensively edited via the WBS editor 30.

[0131] The system 100 can map page-level (or other) layout elements to specific screen regions. The elements can fill the entire screen or only a portion of it. The system 100 can require that layout elements completely fill the screen (i.e., leave no empty space between layout elements) or can allow arbitrary placement and "holes" between layout elements.

[0132] As described above in this specification, WBS component repository 516 contains basic component type definitions (such as text, image, container and gallery) used throughout website construction system 5. It will be appreciated that WBS editor 30 can enable direct visual creation and editing of website construction system sites stored in WBS site repository 509 based on component types from WBS component repository 516. WBS editor 30 can also edit generated sites in WBS site repository 509.

[0133] It will be further appreciated that site generation system 40 generates (and edits) generated sites in WBS site repository 509 based on instances of layout-related elements (layout elements / layout groups / preset page sections) stored in LER 507. The layout-related element instances in LER 507 are defined based on layout types in layout type repository 503, which are defined based on website building system component definitions stored in WBS component repository 516.

[0134] The system 100 can use layout elements from a variety of sources, including predefined layout elements (such as the preset page sections described above in this specification), layout elements extracted from layout definitions used on other sites (while preserving the rights of those sites such as copyright, privacy and anonymity), and layout elements that are dynamically created by generating multiple possible choices for the placement of required components and using rules related to the aesthetics and semantic content of the layout elements to eliminate the (typically very large) room for generated choices.

[0135] As described herein above, CER 506 and LER 507 are separate repositories. Although system 100 can generate layout elements from CER 506, the two repositories can be updated separately and later synchronized, as described in more detail later in this specification. However, system 100 can maintain a connection between them (e.g., through pointers / backpointers, shared IDs, association attributes, etc.), as described in more detail later in this specification.

[0136] The WBS site repository 509 can contain actual site elements such as pages, containers, and components. The system 100 can maintain the LER 507 and the WBS site repository 509 as separate repositories (while maintaining a connection between them). The system 100 can also maintain a unified layout element repository / generation repository by (for example) keeping layout elements as transparent or invisible containers or frames inside the generated site. In the latter case, any type of generated site edit may damage the built-in LER 507 structure inside the generated site. For example, moving a component outside of a transparent layout element-derived container inside the generated site may cause the layout element container to no longer fit the layout element definition.

[0137] System 100 can implement many-to-many relationships between content elements and layout elements. A single content element can contain information fields that are used in multiple layout elements, and a single layout element can present information from multiple content elements. In alternative embodiments, system 100 can implement simpler models (e.g., 1:1, 1:m, or m:1 content element-layout element relationship models).

[0138] The system 100 can associate layout elements with content elements using a number of mechanisms (such as matching through common keywords associated with both the content and layout elements), as described in more detail later in this specification.

[0139] It will be appreciated that the use of layout elements can provide significant benefits to users, particularly advanced users such as expert designers who create site elements and templates for other designers (such as an internal design studio within the supplier of the website building system 5). Instead of designing full page (or site) templates, advanced designers can design separate layout element types (or preset page sections) and template portions that are repeated. Thus, the resulting layout element instances can be mixed and matched like Lego™ bricks.

[0140] As described above in this specification, system 100 can also implement certain types of predefined layout elements and layout groups known as preset page sections (PPS). Such preset page sections can include multiple layout elements, and system 100 can attempt to build visual compositions made up of such preset page sections (possibly combined with additional non-preset page sections, layout elements, and layout groups).

[0141] Such preset page sections may be any sub-page region, or may be "transverse" strips that extend from the left to the right side of the screen. Such strips can be defined using responsive layout mechanisms to accommodate multiple screen widths (e.g., when using a site that is generated for both desktop and mobile devices).

[0142] System 100 can visually combine preset page sections in multiple ways: for example, if the preset page sections are all cross horizontal strips, the possible arrangements are limited to different vertical orders of the strips, or division into multiple pages.

[0143] System 100 may also provide tools to support the editing, reconfiguration and positioning of such strips, as further described in U.S. Patent No. 6,399,433, published Feb. 16, 2017, entitled "Method and System For Section-Based Editing of a Website Page," and U.S. Patent No. 6,399,433, published Sep. 5, 2013, entitled "A Method and System For the Use of Adjustment Handles to Facilitate Dynamic Layout Editing," both of which are assigned to the common assignee of the present invention.

[0144] A preset page section may contain multiple elements such as specific decorations (e.g., backgrounds, borders, separator lines, icons) and additional non-layout elements with state and configuration information (in addition to those contained in normal layout elements). That is, a specific element (placeholder component or decoration) may be assigned a given set of attributes and style information such as alignment, borders, fonts, etc. A preset page section may also contain dynamic layout definitions that control how the preset page section sub-elements are modified when the preset page section is resized (as further described in US Patent Application Publication No. 2013 / 0133994, entitled “Website Design System Integrating Dynamic Layout and Dynamic Content,” published on Aug. 22, 2013, and assigned to the common assignee of the present invention).

[0145] It will also be appreciated that a preset page section may include multiple conditional configurations. For example, a given preset page section containing two text fields (A and B) will display A and B next to each other by default, but if a large enough amount of text is included in either field, the fields will be displayed one on top of the other. Such conditional definitions may be specified using a set of rules associated with the preset page section. The preset page section in this case may include multiple definitions for placement or normal and decorative components.

[0146] Preset page sections (like other layout elements) may be created manually by an expert designer, or may be created by manually selecting the best looking possibility from multiple preset page sections generated by system 100. In both cases, the expert designer can perform specific adjustments to the preset page section and can add any associated decorations and embellishments, as well as any associated layout and configuration information(s).

[0147] Reference is now made to Figure 4, which shows several sample preset page sections. As can be seen, the system 100 uses initial field content (e.g., text, media) to indicate the purpose of a particular field, but this content will typically be replaced or modified for an actual site. Alternatively, the system 100 may use sample preset page sections that do not include any illustrative content or media.

[0148] It will also be appreciated that the preset page sections are often grouped into preset page section categories, which may correspond to main areas of the site. Such categories may include welcome, about, services, projects, products, team, testimonials, customers, featured, FAQ, events, CV, class, hours of operation, subscribe, contact, etc.

[0149] As can be seen from the list, some pre-set page section categories are applicable to a particular website type or structure (or family / industry selection as described in more detail later in this specification). For example, the "Hours of Operation" pre-set page section is relevant to restaurants and similar service businesses, but not to manufacturing companies.

[0150] The system 100 can also implement general preset page sections. Such preset page sections can be created, for example, to display useful combinations of field types that can be reused for multiple purposes. For example, applicants have recognized that a field / component combination of title, subtitle, text paragraph, media field (for images, etc.) and button is used in many websites. Thus, a set of well-designed preset page sections based on this combination can serve multiple needs.

[0151] The content management system 50 can hold information extracted from external systems 70, as described herein above. The content management system can also hold crowd-sourced information extracted from other sites or online presence assets, as described herein above.

[0152] System 100 can also extract semantic knowledge from CERs 506 for use by systems external to website building system 5 via retargeting means 47, as described in more detail later in this specification. Sample uses include the generation of content element repository-based search engine friendly site versions for better indexing by search engine spiders, as well as retargeting of semantic knowledge (e.g., "site offers services A, B, C") for registration in specialist index sites or similar indexes and repositories.

[0153] As described herein above, site designer 62 can begin his or her web site building process by answering one or more questionnaires, the answers to which can be used to create content element types 4, as described in more detail later in this specification.

[0154] The system 100 may include multiple rule engines at various levels (survey building, content element building, layout element building, etc.). The system 100 may include rule editing or specification subsystems for these rule engines. Such subsystems are typically used only by personnel of the supplier of the website building system 5, before the site designer 62 uses the system 100. The rule engines are described in more detail later in this specification.

[0155] Reference is now made to Fig. 5 which shows components of the element creation means 41. The element creation means 41 comprises a CE type (content element) creating / editing means 410, a questionnaire type creating / editing means 411, a design kit creating / editing means 412, a layout element type creating / editing means 413, and a rule creating / editing means 414. The layout element type creating / editing means 413 may further comprise an ordering means 4130, a positioning means 4131, a sizing means 4132, an adjustment means 4133, and a semantic link handler 4134.

[0156] As described above in this specification, the content element type repository 502 can store content element types that are used to build actual content elements that reflect user business information. Additionally, the content element type repository 502 can support inheritance (including multiple, multi-level and diamond inheritance) among its members, whereby content element types can be derived from other content element types or combinations thereof.

[0157] It will be appreciated that the CE type creation / editing means 410 can create content element types in a number of different ways, and the CE type creation / editing means 410 can enable the site designer 62 to use a particular editing user interface or other interface to directly define such content element types.

[0158] The CE type creation / editing means 410 can create a content element type by directly defining the content element type through a language that supports the definition of a schema and structure (such as XML, JSON, SQL, etc.).

[0159] The CE type creation / editing means 410 can also extract definitions of existing site pages or a subset thereof. Such sites may originate from the website building system 5 or may be external thereto.

[0160] The CE type creator / editor 410 can also import schema from external sources, such as databases (eg, relational database data dictionaries), industry standard definitions, or web service interface definitions.

[0161] It will be appreciated that system 100 may generally include a "general" content element type that may serve as a repository for various system-wide data fields that are not part of any particular content element type (e.g., "trade name," "currency used," etc.), similar to the use of global variables in typical programming languages.

[0162] It will be further appreciated that the content element type field may also include data dictionary related information, such as validation expressions, lists of possible values, etc. Such definitions may be created by the system supplier's internal staff for use by the designers, or by the designers themselves for their own use, or for use by designers who supply content element types through a content element type marketplace or exchange (either separate or integrated with other marketplaces).

[0163] Content element types are associated with questionnaires (described in more detail later in this specification) that are used to create content element instances that are assigned field values, although it will be appreciated that the association may be a many-to-many relationship.

[0164] The survey type repository 501 can hold surveys. It will be appreciated that surveys can be created manually by the SGS administrator 61 as part of the creation of the associated or related content element type as described herein above. This can be done using a separate survey editor or using the form editor of the regular website building system 5 page or survey editing mode (e.g., restricting some functionality, adding survey related attributes like question order, timeout, etc.). In another embodiment, the site designer 62 can also create new content elements and surveys.

[0165] The survey type creation and editing means 411 can automatically create surveys from associated content element types, for example using a layout algorithm that creates an online form from the fields in the content element type definition. This may be similar to the layout algorithm detailed below for automatic layout creation, but applied to question miniforms (small UI sections allowing input for a single survey field) in order to integrate them into a complete coherent survey.

[0166] The survey type creator / editor 411 can also create surveys from external sources (such as survey marketplaces or exchanges, similar to the content element type marketplaces described herein above).

[0167] It will be appreciated that the survey type creation / editing means 411 can combine surveys from multiple sources and can edit surveys that have been generated or imported. The system 100 can also allow for the automatic integration and composition of surveys into complete survey sequences.

[0168] The CE type creator / editor 410 can tag both content element types and surveys with various attributes and metadata. Such attributes can be used to match content element types and surveys.

[0169] It will also be appreciated that questions can relate to specific content element fields, general user business information, or selected site parameters (such as style, design information or other parameters). Mapping of specific questions to content fields can be created by the CE type creation / editing means 410 during the survey creation process. Questions that map to general information can be included in multiple content elements (or can be stored in a general content element, as described above in this specification).

[0170] Common questions (and associated uses of their answers) may include industry, business purpose, trade name (to be used in multiple content elements), business address (to be used as a text field value to locate the business zip code, initialize map fields in the "how to reach us" page, and better identify the exact business when searching data from similarly named businesses), and business description (to be analyzed using natural language processing, with extracted keywords used as suggested page / page titles, and search keywords within the site to be generated).

[0171] Other questions might typically be services and products offered, team members (used on both the "Team Members" and "Employee Directory" pages), a list of pages to include in the site being created (selected from a multiple choice list), website main style (from a list of suggested styles), and website main color theme (from a list of suggested color themes).

[0172] It will be appreciated that the system 100 can utilize crowdsourcing of knowledge in designing and completing the survey, for example, modifying the survey based on use by other members of the user community, etc. This can be done through expert systems (learning from existing answers), prescriptive rules, or other techniques as described in more detail later in this specification.

[0173] It will be appreciated that the system 100 can also implement design kits. These are sets of definitions of style elements (such as color schemes and font set selections) that can be applied to multiple elements and components within a site. Reference is now made to Figure 6, which illustrates the effect of different design kits on the same underlying page.

[0174] The design kit selection / editing means 412 can enable both the creation and editing of design kits, and may be both a manual visual editor and an automated system. Thus, design kits can be created manually (using the design kit creation / editing means 412) by expert designers, typically based on existing sites and their experience with designing them.

[0175] Alternatively (or in combination), the design kit creator / editor 412 can create design kits through application of design rules that describe the best combination of various design parameters, which is particularly useful for creating and selecting color schemes.

[0176] The design kit creator / editor 412 can also create design kits based on collected system information about existing design kits and their usage. For example, if a designer frequently selects a given design kit X, but repeatedly makes certain changes to the color palette, the design kit creator / editor 412 can generate a variant design kit with a changed color palette.

[0177] The design kit creation / editing facility 412 can also combine or mix existing design kits (e.g., the system 100 can combine a base design kit with multiple possible associated color palettes to provide the site designer 62 with multiple variations of a given design kit. In this scenario, the SGS workflow driver 42 can select such a design kit and allow the site designer 62 to override that selection and select another design kit (possibly handcrafted by the site designer 62). The design kit selection may affect the entire site (including all elements at all levels). However, the system 100 can also support multiple design kits for different areas of the site, or support the specification of design kits associated with layout elements at various levels (e.g., a preset page section has its own specific design kit that is different from the rest of the site). Such a multiple design kit architecture can also support overriding style kit elements in lower layout elements (which inherit the design kit from the higher layout element).

[0178] As described above in this specification, the LER 507 stores layout element types that are used to build the actual layout elements that are included as elements of the generated site. Additionally, the LER 507 can support inheritance (including multiple, multi-level and diamond inheritance) among its members, whereby layout element types can be derived from other layout element types or combinations thereof. Such layout elements may be independent, defined using a particular hierarchy, or defined using layout groups or preset page sections.

[0179] The layout type creation / editing means 413 can create such layout element types by using a specific UI or other interface to directly define such layout element types. Such an editing environment may be based on the WBS visual editor 30 or a separate editing environment.

[0180] The layout type creation / editing means 413 can create such layout element types by directly defining them through a language that supports the definition of schema and structure (such as XML, JSON, SQL, etc.) The language should also be capable of expressing layout information (e.g., as additional attributes of the given fields) and additional information associated with the layout elements (such as metadata and dynamic layout rules).

[0181] The layout type creation / editing means 413 can also create such layout element types by extracting definitions from an existing set of site pages, a single page or a subset thereof. Such a site may originate from the website building system 5 itself or may be external to it. An example is to select a given website building system container (with its contents), or a given set of website building system components, and save their composition and layout as a layout element.

[0182] The layout type creator / editor 413 can also create such layout element types by importing a schema from an external source, such as a database (e.g., a relational database data dictionary), an industry standard definition, or a web service interface definition. The schema can be supplemented (manually or automatically) with layout and other information to form a complete layout element.

[0183] The layout type creation / editing means 413 can also create such layout element types automatically (e.g., using a rules-based system) from a given set of fields, as described in more detail herein below. After automatic generation, automatic or manual filtering (by the SGS administrator 61) of the multiple generated layout element types can occur based on filtering rules contained in the rules repository 513. The set of fields may be that of a given content element, or may be based on a pre-defined set of fields (such as the set of five fields used to create the general preset page section as described in more detail herein above).

[0184] It will be appreciated that such definitions can be created by an SGS administrator 61. They can also be created by a site designer 62 (or other graphic designer) who provides layout element types through the object marketplace 15 (either as a separate marketplace or integrated with other marketplaces and stored in the LE LG / PPS type repository 503). They can also be created by the layout type creation / editing facility 413 based on a set of related content element types or fields, as described in more detail later in this specification.

[0185] It will be appreciated that the layout element type creation workflow consists of the steps of manually or automatically creating layout elements (as described above in this specification), loading the layout elements into the LER 507, entering layout element metadata, connecting the layout elements to content elements (and, for pre-associated layout elements, defining layout element exception behavior and defining layout element display rules).

[0186] It will also be appreciated that if the system 100 implements a particular layout element hierarchy model, the layout creation architecture can follow this model. For example, an alternative embodiment of the system 100 based on creating preset page sections and particular layout elements as alternative layouts for regions within each preset page section can create multiple alternative preset page sections for each preset page section category (e.g., multiple "About us" preset page sections, multiple "Team" preset page sections, multiple "Contact Us" preset page sections, etc.). This can also create multiple alternative layout elements for elements or regions within each preset page section, such as multiple "Address" layout elements for address boxes within the "Contact Us" preset page section. Such "Address" layout elements may belong to a particular "Contact Us" preset page section or may be available within multiple "Contact Us" preset page sections.

[0187] It will be appreciated that the layout type creator / editor 413 can automatically create layout element types based on a given set of fields (e.g., from content elements). The layout type creator / editor 413 can use offline / pre-processing as a tool to help the SGS administrator 61 quickly create a large number of layout element types for use by the system 100.

[0188] The layout type creator / editor 413 can also automatically create layout element types online to reflect specific content elements (e.g., if no matching layout element is found for a given content element). In this scenario, the layout type creator / editor 413 is invoked as part of the site creation process by the site designer 62, rather than as part of the preliminary type creation by the SGS administrator 61.

[0189] In a pre-processing scenario, the layout type creation / editing means 413 may operate semi-automatically, operating automatically to generate multiple possible layout elements, followed by a manual review and approval stage by a human designer, followed by final filtering of the best generated layout elements. The system 100 may include additional machine learning engines that may be trained to determine the best layout based on such manual designer selections, as described in more detail later herein.

[0190] The layout type creator / editor 413 can determine preferred options and layout parameters for the placement of components within a layout element type definition, or for a given set of layout elements within a higher-level layout group / preset page section type definition.

[0191] The layout type creation / editing means 413 can use similar methods (with relevant modifications) to generate alternative configurations of layout elements within a containing entity (higher-level layout group / preset page section / page) to generate a layout solution, as described in more detail later in this specification.

[0192] The layout type creating / editing means 413 can use a rules engine to determine layout parameters based on the parameters of the components and a set of rules. This process can consist of multiple stages, each with its own set of rules. As described herein above, the layout type creating / editing means 413 can include an ordering means 4130, a positioning means 4131, a sizing means 4132, an adjustment means 4133, and a semantic link handler 4134.

[0193] An ordering means 4130 can determine the order of importance of the components, a positioning means 4131 can determine the spatial location of the components, a sizing means 4132 can determine the final size of the layout, and an adjustment means 4133 can adjust the layout according to pre-determined parameters to create the final version. A semantic link handler 4134 can detect semantically related components. This typically involves vertical position / size adjustments, but may also include other types of adjustments.

[0194] It will be appreciated that the layout type creator / editor 413 may perform a different set of steps (eg, by combining or splitting steps) and may perform the above steps in a different order.

[0195] It will be appreciated that for each stage, the elements can use a set of rules specific to that stage. There are multiple rule types and categories, and the rules may be independent (i.e., the elements of the layout type creation / editing facility 413 can apply to any of them, in any order) or dependent (i.e., some rules must be applied in a particular way with other rules).

[0196] It will be appreciated that these definitions may be created by the SGS administrator 61 using the rule creation / editing facility 414 .

[0197] It will be further appreciated that the rules refer to components, for example, "X is never placed above Y" or "X is more important than Y". However, the references to components in the rules can take a number of forms, which may include references to specific website building system component types (e.g., image fields, text paragraph fields) and references to semantic tree website building system types.

[0198] Under the semantic tree website building system type reference scheme (as described in US Patent Publication No. 2013 / 0133963, entitled “System and Method for Creating and Using Visually Diverse High-Quality Dynamic Layouts,” published on October 29, 2015 and assigned to the common assignee of the present invention), the website building system component types can be organized in a semantic type hierarchy as shown (for a particular set of components) in FIG. 7, to which reference is now made.

[0199] Under this scheme, a rule can also reference a component using its actual website building system component type (e.g., "Single Line" in FIG. 7) or it can reference a component using a parent node in the semantic tree (e.g., "Text" in FIG. 7). Under this scheme, a parent node also matches all components below it in the semantic tree.

[0200] Rules can also reference business roles. This can be relevant when content element associations are already known (e.g., in an online usage scenario). In this scenario, the associated content elements contain business role definitions per field, e.g., a text field is known to be "business address" or "team member name", and not just a text field. A sample rule is "The team member name must be next to the team member description without any intervening objects."

[0201] It will be appreciated that the rules engine associated with creating layout elements can support a variety of rule types and categories, such as positive rules ("always place X above Y") and negative rules, strict rules (must always apply) and optional rules, relative rules ("X must be at least n pixels from Y") and absolute rules ("X must never be more than m pixels"), and rule weights / priorities (i.e., which rule is more important, better or takes precedence when rules conflict).

[0202] Other rules can include parameterized rules, i.e., rules that result in a decision based on a parameterized formula involving attributes of the component being evaluated (e.g., "The importance of a photo's value is determined by its area multiplied by 0.05"), and conditional rules (e.g., "A is above B if and only if three Cs are below B").

[0203] It will also be appreciated that when used to create layout elements based on content element instances (i.e., filled with content), the SGS workflow driver 42 may implement rules that also reference layout element content (as derived from the content element), as described in more detail later in this specification. This does not apply when an "empty" layout element (i.e., layout element type) is located, for example, when using the layout type creation / editing facility 413 to create a template page (which is essentially a layout group). It will be appreciated that an "empty" layout element may still contain sample content (e.g., sample text and images or decorative / ornamental elements).

[0204] The layout type creation / editing facility 413 may support a limited subset of rule types, as described herein above. For example, an implementation may include only strict negative rules (e.g., "X is never allowed to be above Y") and use only such rules to disqualify component positioning options. Rules may also reflect general design and aesthetic principles, such as, for example, "The density of the covered area must be uniform from X% to Y% of the covered area."

[0205] Some of the rules can define constraints. For example, a set of rules like "If title X is above photo Y (width of Y > width of X)" is inherently more constraining than regular rules. Rules can be used to eliminate or limit the generation of layout alternatives. Constraints are accumulated and solved by the solving module once all components and constrained layout elements have been placed. Such solving can combine linear solvers (for linear constraints) and other types of solvers.

[0206] As described herein above, the ordering means 4130 can determine an order of importance in which components are arranged within a layout element. This order is used later in the positioning process. This step can also be performed manually, with the SGS administrator 61 creating layout element types and assigning their order.

[0207] Alternatively, the ordering means 4130 may use rules that specify importance values ​​(e.g., "Photos larger than 200x200 pixels have an importance of X value"). These importance values ​​are later sorted to generate an importance order. The rules may also specify relative importance, and such information is used in topological sorting to determine the order (e.g., "Business descriptions are more important than business addresses").

[0208] It will be appreciated that the ordering means 4130 may also use order hints associated with various components or underlying content element types. These hints may include static priorities and user intent, i.e., what the site designer 62 intends to do. It will further be appreciated that different layouts may be promoted for different purposes. For example, Japanese sites prefer a dense layout. Legal websites generally use a particular orderly look and feel (as well as color choices). Other hints include length, relevance, and collected cloud information regarding priorities and user preferences. The output of this stage is a set of components (or sub-layout elements) within the layout element being generated, ordered by importance.

[0209] The positioning means 4131 can create a tree of possible layout element configurations and can disqualify some branches based on a set of positioning rules. This placement is performed according to an order previously established by the ordering means 4130. The positioning means 4131 can place the first component in the center of the screen and place additional components based on existing component configurations in the tree.

[0210] Reference is now made to Figure 8, which illustrates a tree of placement possibilities for the positioning means 4131. The positioning means 4131 has positioned M (media) as being above T (text) and now needs to find a location for S (subtitle). The positioning means 4131 can create a tree of possible placements for S (e.g., by analyzing the existing placement topology and determining a list of possible areas where S can be inserted) and can eliminate some branches based on positioning rules.

[0211] Positioning rules can be global, such as "Never (Text above sub-title)". The positioner 4131 can use positioning rules that are generally strict negative rules aimed at eliminating branches. The positioner 4131 can also use rules associated with specific layout elements and components (e.g. rules pre-associated with all website building system components).

[0212] Rules can be X / Y-based (A is above / below / left / right of B) or Z-based (A is above B, which means A is visible in front of B). Rules are typically expressed at the component type level, the semantic component type level (e.g., "subtitles should not be to the left of titles"), or the layout element level ("team description layout elements should not be below team member layout elements").

[0213] The layout type creation / editing means 413 can support any combination of rule types, including rules that are topological in nature ("A is never above B"), rules that are defined using relative terms with respect to the screen ("use 50% / 75% of the screen width"), and rules that involve specific distances, possibly defined relative to the screen resolution ("A is always within 75 pixels horizontally of B").

[0214] It will be appreciated that in a hierarchical layout element composition, the positioning means 4131 may perform such a solution tree construction at each level of the hierarchy. Thus, the positioning means 4131 may generate a tree of top-level layout elements, and for each layout in each combination, the positioning means 4131 may generate a layout element tree for its contents. At some levels, there may be a set of one or more predefined layout element types, and so the tree will be constructed from a selection from this predefined set of layout elements. It will be appreciated that the output of the positioning means 4131 is a set of valid options for topological layouts of components (or sub-layout elements) within the layout element being generated.

[0215] The sizer 4132 can apply size rules that govern the sizes and size combinations of various elements. Such rules may eliminate some branches and create additional branches. For example, the sizer 4132 can generate multiple options for a particular text box based on a set of associated heights and widths.

[0216] The sizing means 4132 can also control how dynamic layouts (as described in US Pat. No. 6,399,363) operate on various components, e.g., how components are resized based on changes in their content or changes to other components on the page. An example of such a rule may include "never increase the size of a button". Another example is when enlarging (downward) a layout with images on buttons, elements (below the layout) are pushed downward as far as possible. Only after they are pushed downward can the images be increased until the image aspect ratio is broken. It will be appreciated that the rules can also include guidance on how the position (and not just the size) of the components is affected, e.g., "titles always push subtitles below them". Furthermore, such rules can also be used by the adjustment means 4133, as described in more detail later in this specification.

[0217] Sizing rules may also be applicable to a subset of the layout elements being generated. For example, the sizing mechanism 4132 may implement special rules for only the header and footer layout elements, such as "if there is [phone+email+menu] in a single header / footer line, then the menu will dynamically occupy the area left after the email and phone."

[0218] The output from the sizer 4132 is a set of layout element layout options that may include components and their base (default) sizes, but may still require adjustment based on the actual component content.

[0219] The adjuster 4133 can adjust the position and size of various elements within a particular layout element. Such adjustments are typically done by pushing or stretching the elements "down" (towards the bottom of the page), but the adjuster 4133 can support additional types of size and position adjustments. For example, the adjuster 4133 can resize images in both directions to preserve their aspect ratio.

[0220] It will be appreciated that the rules applied at this stage are similar to the dynamic layout rules described in US Pat. No. 6,399,433 (including, in particular, the automatic generation of dynamic layout anchors between components). However, the layout type creation / editing means 413 may provide additional functionality as described in more detail later in this specification.

[0221] Reference is now made to FIG. 9, which illustrates an example of how the adjustment mechanism 4133 may automatically create bottom-to-bottom anchors. As illustrated, the adjustment mechanism 4133 creates multiple visual options ([A], [B], and [C]) of a “Our Team” layout element that includes descriptions of three team members ([1], [2], and [3]). In option [C], the bottom edges of the three contained team member layout elements ([1,2,3]) are aligned along a horizontal line [x]. In this case, the adjustment mechanism 4133 may automatically create bottom-to-bottom anchors between the bottom edges of [1], [2], and [3]. Thus, when option [C] is selected and the description of team member [3] (for example) overflows its allocated area, team member layout element [3] may extend downward, which may also extend team member layout elements [1] and [2].

[0222] It will be appreciated that the suggested layout [C] includes an additional text element [d] whose button is aligned with layout elements [1], [2], and [3]. However, because [d] is not a team member layout element, the adjustment means 4133 may decide not to create an automatic anchor between the bottom edge of the bottom edge of element [1,2,3] and the bottom edge of element [d].

[0223] Thus, the reconciliation means 4133 can support significantly more capable rules than those described in Patent Document 7. In particular, the reconciliation means 4133 can take into account not only component type, position, size, and content, but also other attributes such as the semantic and business roles of the component (such as team member vs. regular text box as described above in this specification), component history (e.g., edit history), user parameters, etc.

[0224] The adjustment means 4133 can provide procedurally defined rule outcomes, for example, "stretch a given photo until it changes in size by X%, then stretch the whole layout." Such procedural outcome rules can include multiple stages and conditional flows (e.g., using existing or specialized scripting languages).

[0225] It will be appreciated that the adjustment process by the adjustment means 4133 pertains to all cases in which layout elements are created, including cases in which a site designer 62 manually creates layout elements (e.g., for a layout element marketplace) and cases in which a site generation system 40 creates layouts (as described in more detail later in this specification). However, actual adjustment is only performed when actual content is defined for a layout element (e.g., when creating a layout element based on filled content elements or using illustrative content that is added to a layout element). Such content is needed so that the layout element type creation / editing means 413 can know the amount of actual content in each component.

[0226] The output from the adjuster 4133 is a set of layout element layout options that includes components and their sizes adjusted according to the content, position, size and other attributes of the layout elements.

[0227] It will be appreciated that the above adjustment process pertains to all scenarios in which a layout element or layout group is created. However, actual adjustment is only performed by the adjustment means 4133 when actual content is defined for the layout element (e.g., when creating a layout element based on filled content elements or when using illustrative content that is added to a layout element). Such content is needed so that the adjustment means 4133 knows the amount of actual content in each component. It will be appreciated that adjustment is performed internally and not by the browser doing the actual rendering.

[0228] The adjustment mechanism 4133 can also be re-adjusted in other cases, such as when the site designer 62 switches to a new design kit with larger fonts (making the text larger).

[0229] The rules creation / editing means 414 can be used by the SGS administrator 61 to create layout and aesthetic rules to be used by the different elements of the element creation means 41 as described herein above. It will be appreciated that these rules can be stored in the rules repository 513.

[0230] Rules can also reference components according to semantic links. A semantic link handler 4134 (as described in US Pat. No. 6,399,363) can detect semantically related components, such as a photo and its caption. In this scenario, rules can also reference such semantically related sets (e.g., "caption text should always be below its related photo").

[0231] The SGS workflow driver 42 can execute the basic site generation process and can coordinate the flow of activities from running a survey, analyzing the resulting data, searching for relevant external information, to presenting a layout solution to the site designer 62, with editing by the site designer 62 being processed.

[0232] Reference is now made to Figure 10, which illustrates the elements of the SGS workflow driver 42. The SGS workflow driver 42 can comprise a data collaboration means 420, an answer analysis means 421, a rules engine 422, a crowd-sourced data analysis means 423, a machine learning means / AI 424, a CE (content element) generation means 425, a CE / LE matching means 426, a LS (layout solution) handler 427, and a GS (generated site) generation means 428.

[0233] The data collaboration means 420 may further comprise a survey execution means 4201, a family / industry determination means 4202, a collected data search means 4203, and a text generation means 4204. The response analysis means 421 may further comprise a natural language engine 4211.

[0234] The layout solution handler 427 may further comprise a LS generator 4271 , a LS presenter 4272 , an LE variant editor 4273 , and a layout selection store handler 4274 .

[0235] The data collaborator 420 can execute processes to obtain content required by the CE generator 425 to create the content elements of the generated site.

[0236] The survey execution means 4201 can execute the survey created by the survey type creation / editing means 411 as described hereinabove and collect data accordingly, the family / industry determination means 4202 can determine the type of industry and family for which the website is intended, and the collected data retrieval means 4203 can instruct the external data collection means 43 and the internal data collection means 44 to collect relevant information accordingly. The text generation means 4204 can generate appropriate text content (for use in the generated site) that can fit the particular family and industry as determined by the family / industry determination means 4202.

[0237] It will be appreciated that the survey administration means 4201 can populate and update the CER 506 with any of the following: information provided by the site designer 62 through the use of a survey (as described in more detail later in this specification), information extracted from responses of similar users (while maintaining the privacy of those users), information extracted from external sources (such as industry standard databases or various web services), information extracted from other data sources related to the user himself (such as other websites belonging to the user, other websites within or outside the website building system and social media presence), and updates and edits made to the website being generated (which update the CER 506, as described in more detail later in this specification).

[0238] The survey administrator 4201 may enable the site designer 62 to review the extracted information and correct it if necessary through an appropriate interface.

[0239] It will also be appreciated that the survey execution means 4201 can combine these techniques, for example populating the CER 506 based on a survey and integrating information extracted from the user's Facebook page (as an example), as described in more detail later in this specification.

[0240] It will be appreciated that the questionnaire can be used manually (ie, filled out by the site designer 62) or as system guided.

[0241] When used manually, an advanced site designer 62 can select the content elements to create (and thereby select their associated surveys). This option is best suited for expert developers, experienced website building system users, or content subject matter experts.

[0242] Thus, site designer 62 can browse the set of available content element types and possibly filter them according to any combination of manual selection, metadata associated with the content element type (e.g., "select all content element types that are related to 'Distributor Network' within the 'Automotive Spare Parts' business category) and the actual parameters of the content element type (e.g., "select all content element types marked as 'Access to Us' and that contain a 'Store Address' field").

[0243] The site designer 62 can select a subset A of content element types to fill in. This may be entirely at the discretion of the site designer 62, or alternatively the survey administrator 4201 may enforce content element ordering rules (content element M must come before content element N) or inclusion rules (if content element X is filled, then content element Y and content element Z must also be filled in).

[0244] For example, the survey execution means 4201 can instruct the survey type creation / editing means 411 to locate or create surveys associated with each of the content element types in subset A, and then create a matching survey set B. The site designer 62 then fills out the surveys in survey set B.

[0245] It will be appreciated that the process described above in this specification is for a two-step method in which relevant content elements are selected (and ordered) and only then are the surveys selected and displayed in sequence. The site generation system 40 can also implement an interactive method in which the content element selection (by the site designer 62) and the matching survey selection (by the survey execution means 4201) and answers are made interactively, so that each content element / survey selection is implemented after the appropriate survey has been selected and completed.

[0246] It will also be appreciated that in a manual usage method, the site designer 62 may select a set of content elements to fill that provides only a partial profile, e.g., some fields (required for layout elements / solution generation) are not specified. In such a case, the survey execution means 4201 may request the site designer 62 to provide the missing content (e.g., by popping up a "complete" survey with only the missing fields).

[0247] To use the system guided questionnaire filling, the site designer 62 can first answer a number of guiding questions, such as selecting a business type (vertical application) and subtype. Such guiding questions may include requesting key details of the business that will be used to retrieve business information (as described herein above).

[0248] The leading questions can also be more detailed, for example the survey administrator 4201 can request the site designer 62 to provide a list of business services as part of the leading questions.

[0249] The guiding questions can be configured as a form, wizard or other configuration. The answer to each question may affect the next question. The questionnaire type creation / editing means 411 can provide an editing environment for editing the list of questions and possible answers. Such an editing environment may be based on the WBS editor 30 or a separate editing environment. The questions can also be generated by an expert system incorporating knowledge from current and other designers (as described above in this specification in connection with content elements).

[0250] Based on the answers to the leading questions, the survey administrator 4201 can select a set of surveys for display to the site designer 62. It will be appreciated that the answers to the leading questions can be stored in the completed survey repository 505 and can also be inserted into content elements as described herein above.

[0251] The leading questions can include family / industry designations (as described in more detail below in this specification). In such cases, they can be used to search the family / industry repository 514 and retrieve preset page sections, layout elements and other site elements. In this scenario, the CE generator 425 can directly build a set of content elements, and the layout solution handler 427 and CE / LE matcher 426 can select matching preset page section / layout element options for display, as described in more detail below in this specification.

[0252] In both methods, it will be appreciated that the survey administrator 4201 may adjust the series of surveys based on previous responses. Such adjustments may affect (for example) the order of surveys, the order of questions within each survey, the particular questions asked (e.g., some may be eliminated), and the default answers to some questions.

[0253] The survey execution means 4201 can control these adjustments via a set of rules implemented using a rules engine 422 or expert system. Such a rules engine can rely on predefined rules and analysis of previous responses by the answer analysis means 421 (of the current user and crowd-sourced from other users) to determine which content elements to fill in and which surveys to display. For example, the survey execution means 4201 can detect that a law firm that offers service X also generally offers service Y, and can display related surveys for service Y when a user fills out a survey for service X.

[0254] The rules engine 422 can also implement techniques from the area of ​​training and educational systems. For example, the survey executor 4201 can measure user response times, error rates, and user attrition (i.e., the rate at which users start a process but do not complete it). Based on such information, the survey executor 4201 can determine which further surveys to display, possibly using a simplified version of the survey or displaying related training material to help the user complete the survey.

[0255] The survey administrator 4201 may also store copies of the actual survey responses, which may be separate from the filled content elements, in the completed survey repository 505. For example, the form may include free text response fields (e.g., "describe your business") from which structured data elements are extracted (e.g., provided with a service listing) using natural language processing.

[0256] It will be appreciated that the survey responses do not simply provide information to be inserted into the content element: the response analyzer 421 can analyze the responses using a natural language engine 4211 to infer further information for the content element.

[0257] The retained survey responses can be used for multiple purposes, including further use as test data to perform offline testing of new data extraction and transformation algorithms as part of the analysis of the collected BI, and to allow the site designer 62 to retrace or rerun the survey sequence. If the site designer 62 wishes to backtrack and resume from a given point in the sequence, for updating a given existing site, or for other purposes, this can be done after an interrupted sequence run. The stored responses can then be used to present a pre-filled survey to the site designer 62, so that it is easier for the site designer to refill the survey by editing previous responses.

[0258] It will be appreciated that the A / B tester 46 can perform A / B testing at the survey level to help the developer of the system decide which surveys to use, as will be described in more detail later in this specification.

[0259] It will also be appreciated that the system 100 employs a novel family / industry content architecture. Applicants recognize that business types (and their associated websites) can be categorized according to their family and industry.

[0260] A family defines a general type or category of business, such as a school, an outpatient clinic, or a law firm. This general type often determines the general structure of the website. For example, most school websites contain a common set of elements (teachers, locations, courses, etc.) that differ from the common set of elements found on most law firm websites (company history, areas of expertise, services offered, attorney background, etc.). However, system 100 can provide multiple possible website structures for a given business family.

[0261] It will be understood that dividing businesses into family categories is not the same as dividing them into business types or classifications. The family / industry determiner 4202 may assign businesses of different general types to the same family if these businesses have similar website structures. For example, although restaurants and bars are separate business types, they generally use the same website structure, so the family / industry determiner 4202 may combine them under a single "restaurant / bar" business family.

[0262] It will be further appreciated that an industry can be a particular industry or knowledge domain type. For example, for a family of schools, the system 100 can support multiple industries (i.e., types of schools), such as art schools, technical schools, and music schools.

[0263] An industry category may be applicable to only one business family, for example, the "Commercial Litigation" industry category is only applicable to the "Law Firms" family. On the other hand, some industry categories may be applicable to multiple families, for example, the "Real Estate" industry may be applicable to law firms, appraisers, consultants, and even schools.

[0264] Applicants recognize that for most business types, site structure and displayed text information characterize (and correlate with) a business family category, and site media (image and video) elements characterize (and correlate with) a business industry category.

[0265] For example, the websites of a real estate lawyer and a litigation lawyer may have a similar site structure (e.g., attorney biographies and services offered) and display fixed text (e.g., site section headings), whereas a real estate lawyer and a general construction firm both use images (and backgrounds) of buildings and construction plans.

[0266] As another example, an art school will typically have text related to the family (the school) and images related to the industry (here "fine art"). The text is related to the family (here "the school") - "the school was in [x]". The images are related to fine art (e.g. taken from classical or modern art).

[0267] The system 100 can also support businesses that combine multiple business types (e.g., multiple structures, multiple industries, or both). For example, a software company can be both a software product provider (requiring an e-shop type site element) and a service provider for installation and support (requiring a service type site element). In such a case, the SGS workflow driver 42 can generate a structure that integrates elements found in (for example) multiple structures (of multiple business families). As another example, the SGS workflow driver 42 can ask the site designer 62 a question related to the site designer's business activities ("Does the museum also sell merchandise?"), thus "opening up" additional sections of the site structure.

[0268] Thus, based on a single piece of data, i.e., the particular business type of the site designer 62, the family / industry determiner 4202 can determine the user's business family and industry, and from these can derive the associated site structures, text field values ​​and image / video / media / background field values. These site structures can be represented as complete website templates, a selection of preset page sections (discussed above), separate site elements, etc. The family / industry determiner 4202 can then integrate material from both directions (family and industry) to generate a selection of possible complete sites.

[0269] It will be appreciated that the site designer 62 may provide a particular business type in a number of ways, such as selecting from a single or multi-level list, providing a natural language description that is analyzed by the answer analysis means 421 (using a natural language engine 4211) to identify the business type, and providing other details (such as links to an existing website, business social media presence or scanned advertisements, documents or other media generated by the business) that may enable the family / industry determination means 4202 to determine the business type.

[0270] It will be appreciated that the family / industry determiner 4202 can store the various elements described above (i.e., possible pre-set page sections, sample text segments, sample photos, etc.) in the family / industry repository 514. The elements may include placeholders that allow business-specific information to be inserted. For example, a text element for an "About" box may consist of a sentence such as "{BusinessName} was found within {FoundingDate}."

[0271] The collected data retrieval means 4203 can instruct the external data collection means 43 and the internal data collection means 44 to collect data related to the family or industry determined by the family / industry determination means 4202. It will be appreciated that the data collaboration means 420 can also use information collected from selections made by the site designer 62 and other designers in previous creation or editing sessions of the website being created or other websites and stored in the layout selection store 508 and the edit history repository 511.

[0272] Such information can generally be used to rank the proposed options at various levels. This is relevant both during layout element creation (e.g., "other law firms typically place attorney bios next to each other with affiliations at the top") and during selection of layout solutions or solution elements, as described in more detail herein below (e.g., "other schools that choose [Course LE] version LE17 often choose [School Bio LE] versions LE45 and LE72"). It will be appreciated that the analysis can be statistical in nature or based on the use of an AI engine to study user responses in similar situations, as described in more detail herein below. The analysis can also provide rankings or recommendations of complete layout elements (other hierarchical elements such as preset page sections), selection of layout elements or specific layout element / component attributes (such as color and style).

[0273] The text generator 4204 may support the use of text templates that may be generic (for example) or tailored to specific text object types for each business family / industry as determined by the family / industry determiner 4202 (e.g., "About Us", "Our Team").

[0274] Such templates may include placeholders into which relevant values ​​from content elements may be inserted (including values ​​from "general" content elements described later in this specification, such as business name and address).

[0275] The text generator 4204 may provide multiple text templates for each such role, such as multiple possible suggested text sections for a "Our Team" section (object type) for a real estate law firm (business industry / family combination). The text generator 4214 may suggest a particular text template (based on a set of decision rules or crowd-sourced knowledge, as described in more detail below) or may use a random selection of possible templates.

[0276] It will be appreciated that elements within the CMS 50 are tagged with multiple metadata attributes, such as industry (for media files), family (for text files), and possibly website section (welcome, about me, ...) that correspond to preset page section categories and field categories (title, subtitle, image, ...).

[0277] The text generator 4204 can select elements from the CMS 50 by checking these attributes. The attribute values ​​can be organized in a hierarchical structure. For example, a golf site can check for "golf" and (if not found) check for the more general "sports" (by moving up the value hierarchy).

[0278] Reference is now made to Figures 11 and 12 which show elements of the external data collection means 43 and the internal data collection means 44.

[0279] The external data collection means 43 may further include an online collection means 431 and an offline import means 432. The online collection means 431 may further include a social media import means 4311a, a data feed import means 4312, and an external website import / analysis means 4313. The offline import means 432 may further include a document import means 4321, a data analysis means 4322, and a data matching means 4323.

[0280] The internal data collection means 44 may include an additional user data analysis means 441, a BI analysis means 442, and an EH (edit history) analysis means 443. The additional user data analysis means 441 may further include a privacy preservation means 4410.

[0281] As described herein above, the external data collector 43 and the internal data collector 44 can extract information from user related sources (and resources) that can be used to create content elements and content element collections, which can be based on information determined by the family / industry determiner 4202 and instructions from the collected data searcher 4203.

[0282] Such sources of information may include, for example, social media accounts belonging to the site designer 62 (e.g., from Facebook, LinkedIn®, WordPress blogs, etc.), other websites or web presences associated with the site designer 62, and existing sites belonging to the site designer 62 created using website building system 5 (or other website building systems and platforms), which can be extracted as described above in this specification and coordinated into a structured format.

[0283] It will be appreciated that the system 100 can also support a variety of industry-specific sources. For example, a restaurant business can import menu information stored in a public menu repository, such as the OpenMenu platform (from openmenu.com).

[0284] The external data collector 43 can access these sources, extract content from them, analyze the extracted content, look for relevant pieces of information and store them in the content element repository 506 .

[0285] The online collection means 431 can collect any relevant information available from the online presence. The social media import means 4311 can import information from relevant social media sites as described herein above, the data feed import means 4312 can extract information from data feeds (such as feeds constructed using the RSS standard), and the external website import / analysis means 4313 can import relevant information from other websites after a basic analysis of its relevance.

[0286] The offline import means 432 can retrieve information manually provided by the site designer 62 or extracted from offline sources relevant to the site designer 62, such as that extracted from offline literature. The document import means 4321 can import relevant documents, the data analysis means 4322 can analyze their relevance, and the data matching means 4323 can match between the extracted and analyzed data and applicable content element fields (e.g., to match an extracted employee list against the relevant "Our Team" content element and its fields).

[0287] For example, given access to the "About" page of an existing site designer 62 website, the external website import / analysis facility 4313 can take that page and attempt to find recurring patterns that include job titles (CEO, CFO, ...). If such patterns are found, the external website import / analysis facility 4313 can extract data from each of the elements to create a "Our Team" content element.

[0288] As another example, the external website import / analysis means 4313 can analyze users' offerings on e-commerce websites (such as Amazon.com or ebay.com) to extract product-related information and create appropriate content elements.

[0289] The external website import / analysis facility 4313 may also interface to other systems operated by the site designer 62, whether web connected or not. Such systems may include accounting, point of sale, inventory, CRM, BI, etc. This may require creating a per-user interface or may be based on interfaces to large providers of such systems - for example, a small number of POS system suppliers supply most restaurant businesses.

[0290] The internal data collection means 44 can collect information already stored in the website building system 5 and held in different content management systems of different users. The additional user data analysis means 441 can analyze user information held in the user information repository 512 (other user parameters) and the WBS site repository 509, the BI analysis means 442 can analyze data held in the BI repository 510, and the EH analysis means can analyze data held in the EH repository 513. The privacy preservation means 4410 can ensure that the privacy of data belonging to other users is not violated.

[0291] It will be appreciated that unlike the crowdsourced data analysis means 423 (described in more detail later in this specification), the additional user data analysis means 441 may, inter alia, handle the extraction and analysis of data relating to other users within the website building system 5, their profiles, their sites, their editing history and their business analysis.

[0292] It will also be appreciated that, as described above in this specification, the site generation system 40 can provide content elements based on smart analysis of collected data across different users and crowdsourcing to provide the site designer 62 with an appropriate generated site.

[0293] The crowdsourced data analysis mechanism 423 can process the entire collected information from the external data collection mechanism 43 and the internal data collection mechanism 44. The crowdsourced data analysis mechanism 423 can use the crowdsourced elements to provide guidelines for the creation and processing of both content elements and layout elements while adhering to privacy, anonymity and intellectual property laws. For example, if a user typically enters 150-200 characters when describing a team member (i.e., filling out a "team member" content element), the system 100 can pre-select an appropriate design of a matching layout element that is adapted to a team member description of that size. In another example, if many of the users who selected layout elements A and B (for a given purpose) later select layout elements X and Y, the system 100 can automatically provide layout elements X and Y to the site designer 62 if the site designer 62 previously selected layout elements A and B.

[0294] Such crowd-sourced information can be used for multiple purposes, such as providing guidelines for generating content element types and layout element types, generating questionnaires used to populate the content elements, filling out the actual questionnaires, selecting layout elements and layout groups, and selecting design kits to use.

[0295] The crowdsourced data analysis mechanism 423 can analyze the data across the entire user population or by analyzing segments of the user population (according to the user's location, family / industry, type, "age" in the system, experience level, selected premium status). The crowdsourced data analysis mechanism 423 can perform the analysis via a rules engine 422 or a machine learning mechanism / AI engine 424 that analyzes user behavior to provide recommendations to the site designer 62. For example, for a law firm creating a new site in a given geographic area, the system 100 can suggest a given set of services. In this scenario, the layout solution handler 427 can create layout solution variants if multiple users are making similar changes to a particular layout element, as described in more detail later in this specification.

[0296] Such crowdsourcing may include, for example, defining default values ​​for fields based on common use of values, modifying field sizes to match common usage (in terms of the amount of data entered), changing the order of a field or a set of possible answers for a field (based on popularity), removing fields that are not commonly filled in by users, and adding new entries.

[0297] For example, if a large number of responses in the “Commercial Law Firm” category have (manually) added “Employment Contract Research” as an additional service to the list of possible services for this business type, the crowdsourced data analysis facility 423 may add this service type to the general list.

[0298] For the "additional services" example above, if surveyed users only added these services under certain conditions (e.g., geography, user type or attributes, answers given to other questions, etc.), the crowdsourced data analytics means 423 can recognize that dependency and suggest additional services only under the relevant conditions. For example, a given legal service may be popular in a given country and may be relevant to laws specific to that country. Such analysis may be applied to the other examples above as well.

[0299] It will be appreciated that such crowdsourcing may in particular be based on answers provided by users whose business types and subtypes are similar to those of the site designer 62. The use of such answers should only be undertaken if a sufficiently large community (or sub-community) can be analyzed to provide, on the one hand, the meaningfulness of the data and, on the other hand, sufficient privacy for individual user answers.

[0300] It will also be appreciated that the system 100 is required to preserve the privacy, anonymity, and copyright (or other intellectual property rights) of users whose data is being analyzed. To do this, the crowdsourced data analysis facility 423 may provide suggestions based only on statistical summaries of multiple users (for example), and only if a sufficiently large number of users can be analyzed. The crowdsourced data analysis facility 423 may further use techniques from the field of statistical database security.

[0301] It will be appreciated that this methodology may provide a better solution to this information security problem as compared to general purpose statistical databases, since the site designer 62 may only receive specific site design recommendations and may not have direct access to or be able to perform arbitrary queries on the information being collected that is used to derive those recommendations.

[0302] The machine learning means / AI 424 can use artificial intelligence / machine learning to provide an evolving and improving interaction with the site designer 62 based on the crowd-sourced information described above. Such collected information reflects actual usage of the system 100, actual priorities set by the site designer 62, and preferred actual usage (related to content, presentation, aesthetics, or other aspects of the system) by the user community.

[0303] In particular, as use of system 100 increases, such information becomes statistically significant for additional (and more detailed) segments of the population. Thus, for example, if a sufficient number of construction-related businesses use system 100, system 100 will be able to provide better results for such businesses. This process creates a set of positive feedback loops, thereby improving system 100 over time.

[0304] Once a sufficiently large number of users are using the system 100, the machine learning means / AI 424 can use proactive learning and initiate A / B testing (via the A / B tester 46) to actually test responses to multiple options, and the feedback that is being collected can be used as another input to the learning process.

[0305] The CE generation means 425 can generate content elements and fill in their fields using the survey responses and information from the external data collection means 43, the internal data collection means 44, the response analysis means 421, the machine learning means / AI 424 and the crowdsourced data analysis means 423. Other system elements can also use this accumulated knowledge for additional uses as described above in this specification.

[0306] The CE generation means 425 can also create a survey instance and infer required information from the survey responses of the site designer 62 through the response analysis means 421 (e.g., using a natural language engine 4211 to handle processing for free-format text responses such as "Please describe your business objectives").

[0307] It will be appreciated that some elements of the questionnaire may be repeated multiple times. Instances can be added and deleted (e.g., services, team members). Thus, based on the answers to the questions, the CE generator 425 can create content elements and fill in certain fields within the content elements. The CE type creator / editor 410 can also dynamically and automatically define content element types, for example, when importing content elements from an external source (such as a data feed) that contains variable format data, the CE type creator / editor 410 can automatically create content element types to support the data provided from the external source.

[0308] The CE generator 425 can also create content elements that are contained within other content elements (including creating instances of elements that are repeated multiple times within a given content element).

[0309] For example, if the site designer 62 answers a question about the number of employees by specifying that the designer employs four people, the CE generator 425 can create a content element for the designer's business with four contained content elements, one for each employee.

[0310] The CE generator 425 can also populate the survey fields based on data extracted externally (eg, from an analysis of the user's website) (as described herein above).

[0311] The CE / LE matching mechanism 426 can support multiple methods for finding matching layout elements for given content. These methods may be used alone or in combination. They are generally relevant for situations where a repository of predefined layout elements exists, but can also be applied when a layout is generated specifically for a content element that is being populated (e.g., using a base layout that is being extended).

[0312] The CE / LE matching means 426 can also use any of the methods implemented by the dynamic matching and adaptation module described in US Pat. No. 6,399,433. This module implements dynamic matching and adaptation of views of data items, which can be parallelized to matching of layout elements and content.

[0313] The CE / LE matching mechanism 426 can use pre-associations, under which content elements and layout elements are pre-associated by the SGS administrator 61. These pre-associations are stored in the CMS 50 along with the content elements and layout elements.

[0314] The CE / LE matching mechanism 426 can perform matching via common keywords. Under this method, both content elements and layout elements are assigned keywords by the SGS administrator 61. These keywords are typically selected from a hierarchy of keywords defined by the SGS administrator 61, although other configurations may be possible.

[0315] The CE / LE matcher 426 can match content elements with layout elements that contain one or more identical keywords (appearing in both the content element and the layout element). The CE / LE matcher 426 can rank possible layout element matches according to the number of matching keywords (possibly weighting each keyword).

[0316] The CE / LE matcher 426 can match content elements and layout elements via common attributes (specified as metadata for the content / layout elements), which may be a general type definition (e.g., matching "team member" content against "team member" layout elements) or a more complex set of attributes.

[0317] Attributes can use a hierarchical value space. In particular, the content element / layout element type attributes mentioned above can use hierarchical values ​​like "computer_services / about / team_desc / team_member".

[0318] The CE / LE matching mechanism 426 can also match content elements with layout elements via field matching. Under this method, the CE / LE matching mechanism 426 searches for layout elements that contain fields that match fields contained in the content elements. Such field matching can be done according to general field types, such as matching a content element text field (e.g., a person's name) with a layout element text field (e.g., a website building system text component).

[0319] Field matching can also be done according to a specific field type and based on additional content parameters, for example the content element Person Name is matched with a website building system text Title field (adapted to display a small amount of text), while the content element Job Description is matched with a website building system text Paragraph (adapted to display a larger amount of text).

[0320] The CE / LE matching means 426 can also perform field matching according to semantic matching of field types, ie, matching based on a hierarchy of website building system component types (illustrated in FIG. 7 to which reference is now made).

[0321] The CE / LE matcher 426 may also disqualify a layout element (so that the layout element is not a layout option for a given content element) if some of the content element fields are missing in the layout element. Alternatively, the CE / LE matcher 426 may extend the layout element with additional fields, as described in more detail later in this specification.

[0322] It will be appreciated that all of these field matching methods require the SGS administrator 61 to pre-map content element field types (defined in business terms, e.g., product price / person name / ...) to website building system component types.

[0323] It will also be appreciated that the CE / LE matching mechanism 426 may have to perform matching between content element fields and layout element fields in all cases, even if an initial match has already been made through pre-association, keyword or attribute matching. This is required so that the layout solution handler 427 can present the content element fields in the appropriate places within the layout elements. However, such matching may be pre-defined by the SGS administrator 61, and the layout elements may contain pre-defined field associations for particular content elements.

[0324] The CE / LE matcher 426 may also apply some initial visual and aesthetic criteria to the layout elements being matched, depending in particular on the particular data within the particular content element instance.

[0325] For example, a particular layout element [L1] may be an acceptable match for a given content element [C], but when L1 is filled with actual data from [C], a very dense and otherwise unaesthetic version of L1 is created. In such cases, the CE / LE matching means 426 may adjust the layout of [L1] (based on rules provided with L1), or may eventually disqualify it and attempt to find a better matching layout element.

[0326] In particular, as described herein above, the preset page section implements multiple possible layouts, any one of which can be selected according to the actual data to be written.

[0327] It will be appreciated that all of the above methods can result in multiple layout elements (i.e., layout variations) that can represent the same content elements. These layout elements may be presented separately to the site designer 62 by the layout solution handler 427 (e.g., "Select your desired "Introduction" layout / Select your desired "Products and Services" layout / ...) or can be combined to create multiple layout options (as described in more detail later in this specification).

[0328] In the latter case, the layout solution handler 427 can create multiple layout options during matching of styles (or other attributes) between different layout elements selected from multiple content elements, a process known as horizontal matching. Reference is now made to FIG. 13, which illustrates matching of content elements to layout elements with multiple design styles. As can be seen, content element [CE1] has two matching layout elements, namely [LE1a] based on design style "a" (e.g., a formal style) and [LE1b] based on design style "b" (e.g., an elegant artistic style). Content element [CE2] also has two matching layout elements, namely [LE2a] based on design style "a" and [LE2b] based on design style "b".

[0329] The layout solution handler 427 can present the site designer 62 with an integrated selection that combines [CE1] and [CE2], and can ask the site designer 62 to choose between layout solution LS-a (including LE1a+LE2a) and layout solution LS-b (LE1B and LE2B).

[0330] Thus, the layout solution handler 427 can ensure that proposed layout solutions (described in more detail later in this specification) have consistent styles (and other characteristics) throughout the solution.

[0331] The CE / LE matcher 426 can perform such horizontal matching based on a set of predefined rules and information collected from the current designer and other designers (e.g., which layout elements are best used together.) The CE / LE matcher 426 can use the rules engine 422 to process these rules and information.

[0332] It will be appreciated that the use of horizontal matching is distinct from the use of a design kit. Horizontal matching controls which layout elements and layout element combinations are created and provided to the site designer 62 as part of a possible layout solution. Based on horizontal matching, some combinations are used and other combinations are rejected. The design kit operates on the entire layout solution and determines the basic parameters used for the layout solution style or design.

[0333] It will also be appreciated that if no exact matching layout element exists for a given content element, the CE / LE matching means 426 can find the most relevant unmatched layout element and extend it (e.g., by adding the required fields within a predefined "overflow area" in the relevant layout element). The LE matching means 426 can also combine multiple unmatched layout elements that together provide a set of required fields, and can automatically generate a relevant layout element based on the content element content.

[0334] It will be further appreciated that layout elements may also include additional layout-related information, including (for example) exception handling guidelines, e.g., what to do in case of field content overflow (as described herein above), display combination rules, which combinations of layout elements are allowed, and overflow region definitions. Such information may be available to the CE / LE matching mechanism 426 during horizontal matching and layout solution creation.

[0335] It will also be appreciated that the above discussion has focused on matching a single layout element with a single content element (1:1 matching) and possibly matching multiple (combined) layout elements or a single (modified) layout element with a given content element (1:n matching). However, the CE / LE matching mechanism 426 can also support matching multiple content elements with a single layout element (n:1) and matching multiple content elements with multiple layout elements (n:m). In such scenarios, the CE / LE matching mechanism 426 is more likely to generate multiple matching solutions that will be displayed to the site designer 62 for selection by the layout solution handler 427.

[0336] Once a set of matched elements is generated, the layout solution handler 427 can generate and present a layout solution.

[0337] As described herein above, the layout solution handler 427 comprises a LS (layout solution) generator 4271, a LS (layout solution) presenter 4272, a LE (layout element) variant editor 4273 and a LSS (layout selection store) handler 4274. Reference is now made to FIG. 14 which illustrates the elements of the LS generator 4271. The LS generator 4271 further comprises a LE / LG / PPS selector 42711, a LE / LG / PPS generator / modifier 42712 and a rule applyer 42713.

[0338] As described herein above, the layout solution handler 427 generates multiple layout solutions that represent related subsets of information from the CER 506. This process is based on the CER 506 information, the rules repository 513, and possible user preferences. This process can also use external information, such as information about other sites of the same user and sites created by other (possibly similar) users, as extracted by the external data collection means 43 and the internal collection means 44, along with any crowd-sourced or machine-learned information as described herein above.

[0339] It will be appreciated that each layout solution may include (for example) an entire website (including multiple pages and other elements), a single page, or a portion of a page. The LS generator 4271 may generate a number of possible layout solutions, rank them, and select a subset for display (as described in more detail later in this specification).

[0340] The LE / LG / PPS selection means 42711 can analyze the defined / collected content in the content element repository 506 and determine how to divide the content among the website pages and distribute it among the individual pages. Such division can be based on a predefined site structure (previously determined) that dictates the set of pages contained in the site. The division and structure can also be generated automatically according to, among other things, user information that has been extracted (e.g., generating a site page for each product that a user has listed on e-Bay). Layout solutions can reflect different content division options.

[0341] Alternatively, the LE / LG / PPS generator / modifier 42712 can generate a set of general hierarchical layout element configurations that are not associated with a particular business family or industry. Such configurations may be appropriate for a single-page website layout that can be used for multiple businesses and industries (for example). Such configurations may be based on predefined preset page sections or may include arbitrary configurations of layout elements on a page.

[0342] For example, the CER 506 may contain multiple "Services" content elements (describing various services offered by the business). The LE / LG / PPS generator / modifier 42712 may typically map each such content element to a service description layout element. The LE / LG / PPS generator / modifier 42712 may then select a full page or predefined preset page section style from the "Services Page" template. The template may contain placeholders for the individual service layout elements (possibly organized as a list). For example, some of these templates may show the services next to each other and some may show them one on top of the other.

[0343] The LE / LG / PPS generation / modification means 42712 can then also create higher level layout groups and combine layout elements using various layout element combination rules.

[0344] It will be appreciated that different layout elements and layout element combinations can display different fields or portions of information. For example, a smartphone version of a layout can show less information than a desktop version of the same layout element.

[0345] As described above in this specification, the system 100 can use lists of elements in both content elements and list elements. Element lists can generally reflect lists of matching content elements. These lists can be implemented using repeater elements that combine different subelements, i.e., multi-element layouts that represent how the repeated elements are organized (e.g., in a row, matrix, accordion, etc.), and internal layouts that represent what layouts (and components displayed) are inside each repeated element. This can include a general internal layout (applicable to all elements) and local modifications of specific elements (e.g., in an unstructured repeater). A third possible subelement of a list is the data of each repeated element.

[0346] It will be understood that a repeater may be structured or unstructured. For a structured repeater, the layout of each element is set by the repeater, and all elements use the same layout (typically by using an internal template that is included by all repeated elements). For an unstructured repeater, each element can be edited separately. Such editing may include repeating list elements (e.g., moving or rotating list elements) and repeating internal layouts (e.g., adding, removing, or changing included components).

[0347] A typical implementation uses a structured repeater, so that changing the layout of a single list element will apply the same change to other elements (as described further below). However, the system can also support zigzag repeaters (i.e., composed of two alternating layouts) or unstructured repeaters.

[0348] It will also be appreciated that the layout solution presenter 4272 may provide options at multiple levels, such as at the single-layout element level (and thus include a "try another" button), i.e., allowing selection of alternative layout elements with the same purpose and data (e.g., different "about me" boxes).

[0349] The layout solution presenter 4272 may also provide solutions at the layout group or preset page section level. This may allow for selection of different (higher) layout groups / preset page sections and solution levels for the same purpose, allowing consideration of multiple solutions at the layout level. The layout solution presenter 4272 may also allow for use of the same layout element with different internal layouts. This may apply to layout groups and atomic layout elements.

[0350] Other levels may include adjusting height / width and applying different styles per layout element.

[0351] The layout solutions presenter 4272 may also provide a "Try Another" button that allows switching to the next proposed option (subject to ranking and diversification as described later in this specification).

[0352] A "Try Others" button can also open a menu / list of suggested options, which typically includes previews of additional options, or (temporarily) applies the currently viewed option to the main screen. It can also randomly change to a different option ("kaleidoscope" options).

[0353] It will be appreciated that the LE / LG / PPS selection means 42711 can select which entities (layout elements, layout groups, preset page sections, layout solutions) or layouts (of entities) to include in the display based on a ranking process applied to the retrieved entities and configurations. Such a ranking process can be based, for example, on a combination of entity quality and diversity (as described in US Patent No. 5,399,433). Such a combination process includes a layout quality ranking function that provides a score for each possible variation of an entity or layout according to an aesthetic (or other) quality metric, a similarity function (if applicable) that provides a score for each pair of entities / layouts and determines how visually similar they are, and a combination algorithm that provides an ordered set of options for a given entity / layout such that they have the highest quality but are also the most diverse (i.e., different from each other).

[0354] The LE / LG / PPS selection means 42711 can apply this process at multiple levels, thereby enabling the layout solution presentation means 4272 to provide options for single layout elements as well as combined layout element entities (such as preset page sections as described above in this specification) and entire layout solutions.

[0355] Once the site designer 62 has selected the appropriate entities to use at all levels (i.e., which layout solutions, which preset page sections, which layout elements within each preset page section, etc.), the LE / LG / PPS generation / modification means 42712 can define the complete layout solution. The solution definition includes the solution selected and the layout element hierarchy used, the mapping of content data to layout element fields (i.e., content element-layout element associations and field mappings), and the visual organization of layout elements and components at each top-level layout element / layout group / preset page section.

[0356] The solution definition may also include how styles are applied to each layout element and design kit information. The design kit selection / application means 42714 may start with a default kit (such as fonts) and modify it along the lines described above. The modifications may affect the site structure (e.g., because a font change may cause a field to expand or shrink).

[0357] The selection of a design kit by the design kit selection / application means 42714 may be done automatically based on the selection of a business family or industry determined by the family / industry determination means 4202 (i.e., the design kits are stored in the design kit repository 504 and the design kit creation / editing means 412 may mark each design kit with metadata tags that associate them with various families and / or industries), although it will be appreciated that this will generally correspond better with the selection of a business industry (which will affect the selection of images and background media).

[0358] It will be further appreciated that the design kit selection / application means 42714 can enable design kits to be applied at all stages of the site creation process, possibly even before the site designer 62 provides a website family and industry.

[0359] Family and industry information (if available) often helps the design kit selection / application means 42714 determine which design kit to provide to the site designer 62. For example, a law firm website may often use more "formal" colors (e.g., brown, black, or gray), while an ice cream parlor website may use vibrant and varied colors (such as bright red, blue, and yellow). Thus, the design kit selected may be matched to the particular content worldview contained in the website.

[0360] It will also be appreciated that a design kit can specify fonts and font sizes, which may generally affect the size of all text elements. Thus, changing the design kit at any stage may require the design kit selection / application means 42714 to adjust the current layout solution (or even all possible layout solutions).

[0361] It will be appreciated that all of the above elements form a complete solution definition for the current site, which is saved in the layout solution store 508. The layout solution handler 427 can also store alternative proposed layout solutions and (sub)layout elements in order to quickly suggest these options to the user (as design choices when editing a site).

[0362] As described above in this specification, the site creation system 40 may enable the site designer 62 to edit layout elements through the LE variation editor 4273 (which may utilize the WBS editor 30). The LE variation editor 4273 may then create local / private layout element variations that may be saved by the site designer 62 (in a private section of the LER 507) for reuse in future sites and possibly offered for sale to other users through a layout element marketplace.

[0363] The layout solution handler 427 may also provide a supplemental "favorites" option that allows site designers 62 to bookmark their preferred layout elements (even if they did not create or edit them). Such an option may be available to all site designers 62, or may be restricted to SGS administrators 61 (i.e., personnel responsible for creating and reviewing manually designed and selected layout elements).

[0364] In either scenario, the layout element may fail for practical use: the site designer 62 may like the element, but the LS generator 4271 may determine (based on the data to be placed in them, and the given set of design rules governing the generation of the layout elements and the generated site) that the element is not suitable for practical use in some circumstances.

[0365] The LS generator 4271 can inform the site designer 62 of the nature of the problem and allow the site designer to further modify the private / bookmarked layout (through the LE variant editor 4273) to create a better solution. It can also suggest alternative or modified layout elements to the site designer 62 in such cases.

[0366] As described above in this specification, the CE / LE matching means 426 can implement inter-layout element "horizontal" rules, such as "only use layout element X for "Introductions" if layout element Y or layout element Z is used for "Our Team"" or "use layout element X1 with layout Y1 when layout element X1 and layout Y1 have matching styles."

[0367] The rule applicator 42713 can also implement inter-layout “vertical” override rules, where a layout element X may affect layout elements (and components) that are contained in or that contain layout element X.

[0368] Such rules may include, for example, a container layout element that implements a specific style or design and, when relevant, requires that layout elements contained within it also adopt that style or design (e.g., the style may be font-related and thus applied to contained text-related elements but not contained image-related elements).

[0369] In another example, a container layout element may require that all contained layout elements or components of a particular type include certain functionality and features (e.g., requiring that a contained video playback component include a particular "video bookmarks" functionality UI).

[0370] In another example, a container layout element may require that some contained layout elements insert additional ("grandchild") layout elements or components, or enforce certain rules within them.

[0371] The rule applicator 42713 can enforce open or closed override architecture rules.

[0372] Under the open override architecture, a container layout element can override attributes or settings of any contained layout element B if applicable (e.g., force the value of an attribute of any given contained layout element B).

[0373] Under a closed override architecture, a container layout element A can override an attribute or setting of a contained layout element B only if layout element B has previously specified that particular attribute or setting is overridable, thus allowing layout elements to control changes made to them by parent layout elements.

[0374] The rule applicator 42713 may further restrict such changes to specific attributes or settings. All of the above may be applied in the other direction, where a layout element affects a parent container layout element (or sibling layout elements contained in the same parent) as well.

[0375] As described herein above, the LSS handler 4274 can hold design choices made by the site designer 62. Such decisions are made at multiple levels, including the layout solution (at the site / page level) and the selection of the particular layout elements to use. The site designer 62 can further select the particular parameters (such as configuration parameters) for each layout group or layout element.

[0376] These selections can be stored in a layout selection store 508. The layout selection store 508 can be organized as a value store for the following keys (for example): page ID, content element instance ID, field ID (within content element) and design element.

[0377] The LSS handler 4274 can ensure that the layout selection store 508 is synchronized with editorial changes made within a website (discussed in more detail later herein) that is hierarchical in nature, e.g., sites / pages / sections / components, etc. The LSS handler 4274 can allow changes at one site to be reflected at other sites, so that, for example, if a site designer 62 duplicates a given site page, the associated layout selection store entry (corresponding to the page being duplicated) will also be duplicated.

[0378] As described herein above, the LS generator 4271 can generate layout options at multiple levels (e.g., site, page, preset page section and layout element levels), however the layout solution generation process is generally tailored to the requirements of each such level.

[0379] In a typical embodiment, the layout elements are created offline, prior to performing the site generation process (although it will be appreciated that the site generation system 40 can dynamically create layout elements or extend or otherwise modify existing layout elements). The LS generator 4271 can create all permutations of configurations for a given set of elements and disqualify some of them based on a set of disqualification rules.

[0380] It will be appreciated that the LS generator 4271 may do all of the above before adding content and validating that the layout element is actually appropriate in any given case. For example, a well-designed layout element may contain a text field containing a single line. However, when used with actual content (from a content element) containing a larger amount of text, the particular text field needs to expand to two or more lines and the layout element design "breaks down." In such cases, the GS generator 428 may disqualify the layout element, but only during the actual site generation process.

[0381] It will also be appreciated that layout elements can be assigned semantic meanings when they are created using the layout element type creation / editing means 414 before they are paired with content elements by the CE / LE matching means 426. This is done using rules that reference possible semantic roles at the layout element generation stage. For example, a layout element that combines a single-line title field with a text field that is designed to be a product entry (containing a product name and product description) will have a title at the top. For example:

[0382] Widget X12345

[0383] An advanced widget that offers a ton of functionality while remaining easy to maintain.

[0384] Layout elements that combine the same fields for use in testimonials will have a title at the bottom, for example:

[0385] "In my 30 year career in software development, this is the best software I have seen."

[0386] Great Software Inc. CEO John Smith

[0387] It will be understood that the layout element selection rules may also depend on general aesthetic concepts. Now refer to FIG. 15, which shows different layout element designs. As can be seen, both layout element designs (A and B) contain a text field to the left of the image field. However, when writing the actual text, in design A the text is not balanced with the image field, while in B the two are much better balanced (i.e. similar in size). Thus, the LS generator 4261 may generate layouts A and B (using the actual content), but disqualify only A and use only B for the rest of the process.

[0388] It will be appreciated that a page solution (within the overall site layout solution) may consist of a composition of multiple layout elements, which may be dense (i.e., the layout elements must cover the entire area) or sparse (allowing for uncovered areas to remain between the layout elements, if necessary).

[0389] One version of the process by which the LS generator 4271 creates a page solution may include an initial process of dividing the page into regions. The LS generator 4271 may assign possible layout elements to each region (with a set of rules governing this assignment). The combination of a particular page division and layout element assignment (along with all associated configuration parameters) creates a page solution.

[0390] The LS generator 4271 can create all possible page solutions for which it writes the actual data and performs the resulting dynamic layout processing and other adjustments. The LS generator 4271 can then disqualify solutions that fail according to the provided criteria. The remaining solutions are then ranked (e.g., according to quality measures and inter-solution diversity) to provide a set of layout solutions that are presented to the site designer 62 by the layout presenter 4272.

[0391] It will be appreciated that the LS generator 4271 may also filter the design kits provided to the site designer 62 based on their interaction with the actual site layout and content. For example, if the site designer 62 has included a significant amount of textual information in some areas of the site, the LS generator 4271 may avoid providing design kits with large font sizes that would overflow the space allocated to the text and require changes to the underlying layout.

[0392] The design kit selection / application means 42714 can also use extracted possible or recommended colors from various business related sources, such as a business logo (which may be available from a business card even offline), other printed business materials or an existing website.

[0393] The design kit selection / application means 42714 may further check that a particular design kit (possibly modified by the site designer 62) works with the proposed layout solution (as described in more detail later in this specification). In particular, the design kit selection / application means 42714 may check that intersecting or otherwise adjacent color surfaces within the website work together according to predetermined rules (e.g., do not have the same or opposing colors).

[0394] It will be appreciated that some of the layout element assignment rules assigned by the rules applicator 42713 (which govern which regions a given layout element may be placed in, as described in more detail later in this specification) may depend on the particular configuration of regions to which the layout element may be assigned. For example, in a strip-based page configuration (described later in this specification), a rule may specify that "full-width strips may only host the welcome layout element E."

[0395] It will be appreciated that the LE / LG / PPS generator / modifier 42712 may use strip-based page configurations to perform the initial division of the page into regions (as part of the page solution creation process). In such a division, the LE / LG / PPS generator / modifier 42712 may divide the page vertically into strips (which may vary in height). Each strip is divided (horizontally) into one or more columns (which may possibly vary in width), each such column being a region in which a layout element may be placed. FIG. 16, to which reference is now made, illustrates some such configurations. It will be appreciated that the columns may in fact vary in width and need not be symmetrical.

[0396] The rule application means 42713 may enforce certain rules on permissible strip sequences. For example, such a rule may stipulate that a series of strips having 3 / 4 / 3 / 4 / ... columns is permitted, but a series of 1 / 3 / 1 / 3 / ... columns is not permitted (as this is aesthetically unappealing).

[0397] The rule application means 42713 may also enforce rules regarding which regions can hold which layout elements. For example, a rule may specify that "full width strips can only host welcome layout elements" or "strips can have up to three columns containing testimonials."

[0398] The same content (or content elements) can be presented in different regions in different page solutions and using different layout elements. For example, in Figure 16 referred to herein, the same content may be presented justified left in LE1 (left column) within PS1 and centered in LE2 (full-width column) within PS2.

[0399] While the above description refers to a vertical division into strips, the LE / LG / PPS generator / modifier 42712 may also perform an initial horizontal division into strips (or indeed columns) that are then subdivided. Such a division may be more useful, for example, for Far Eastern vertically written text, or for sites whose layout mimics the paper-based columnar division of some newspapers.

[0400] The LS generator 4271 may use multiple factors when determining the ordering of elements (as described above for the ordering means 4130 in this specification, or as applied when determining how to rank the layout elements being generated or the layout solutions to present to the site designer 62).

[0401] It will be appreciated that existing systems generally do not attempt to determine the exact (and optimal) layout to be used for the displayed data fields - they provide the information to the browser, which performs the final rendering, including final adjustment of the fields and layout depending on the amount of information (text and images) used in the layout.

[0402] Thus, when a data field is inserted into a placeholder in a template layout, the final composition of the layout may change (e.g., a large amount of text is inserted into a given text field in the layout), and the change in layout may transform a visually appealing and desirable layout into a less desirable one.

[0403] It will be appreciated that the problem of pre-calculating the expected size of displayed text is particularly difficult because each glyph size is affected by multiple factors, including the particular CSS used, the use of particular text effects (text shadows, 3D glyphs, etc.), etc.

[0404] It will also be appreciated that there are many additional factors in the browser rendering process that make calculating the final layout difficult, such as the use of CSS-oriented image resizing operations.

[0405] Desktop publishing systems (and similar offline graphic design software, such as Adobe's Photoshop) are capable of performing accurate layout calculations and precisely positioning text elements. However, such desktop publishing systems work in a static environment (where the fonts and other layout sources to be used are predetermined), but not in a dynamic website creation environment. Furthermore, such desktop publishing systems do not go through the browser rendering stage, but manage their own rendering.

[0406] Existing prior art website creation systems do not have this information when designing the site or creating the layout, and therefore cannot optimize the layout that is generated.

[0407] It will also be appreciated that the LE / LG / PPS selection means 42711 may perform a full decode of the relevant CSS code to determine which elements of CSS are to be applied to each portion of the layout.

[0408] The LE / LG / PPS selection means 42711 can also perform the necessary multiple measurements of glyph and text sizes to determine the exact text size to be applied to all parts of the layout (including various text effects that may change the text size).

[0409] The LE / LG / PPS selection means 42711 can also apply the collected information to determine an accurate (pixel-level) visual representation of all relevant layout elements, potentially emulating layout algorithms used by different browser display engines.

[0410] Additionally, the LE / LG / PPS selection means 42711 may perform such steps prior to filtering the possible layout elements to evaluate alternative layout elements and layout element / layout group / page configurations based on how the layout elements are actually going to look when using the current content and when calculating the exact layout of each possible page / layout element solution.

[0411] As described herein above, the layout presenter 4272 can present one or more layout solutions for selection by the site designer 62. Selections can include which top-level layout solution to use, as well as selection of layout element configurations and options in multiple levels of layout element hierarchy and design kits to use.

[0412] Once the site designer 62 is satisfied with the division of elements between pages and the look that will be assigned to each page, the site designer 62 can press "Generate" and the GS generator 428 can convert this definition into a normal (editable) site (the generated site).

[0413] The GS generator 428 can automatically construct a generated site based on a configuration of layout elements that include content from the content element repository 506 .

[0414] It will be appreciated that the underlying structure of a website (as represented in the website building system 5) differs from the layout element hierarchy previously generated by the system. In particular, a website is typically represented as a hierarchy of components and containers (purely visual entities), whereas a layout element hierarchy consists of layout elements that represent real-world entities (such as team members, products or business locations). The GS generator 428 converts from a layout element-based representation to a component-based representation.

[0415] It will also be appreciated that the GS generator 428 may later regenerate the website from the CER 506 (e.g., if the CER 506 has not been modified). Thus, the site designer 62 may be able to regenerate a desired solution if some of the underlying (CER 506) data has changed and use the same set of choices he or she made in the previous version (subject to later changes).

[0416] As described herein above, the CER 506 includes information from multiple sources, including the CMS 50, user-generated components (e.g., survey responses), retrieved information (from user sources and other sources), and possibly offline information. The GS generator 428 may be capable of automatically generating new versions of the generated site as information from these sources changes. This may also include dynamic online regeneration for sources providing rapidly changing data.

[0417] It will be appreciated that the GS generator 428 generates a generated site that is a conventional website building system site, and thus the site designer 62 can edit it using a conventional WBS editor 30. It will be further appreciated that the WBS editor 30 can restrict editing such that an area of ​​the generated site that corresponds to (for example) a given preset page section may only allow existing components to be modified (e.g., moved or have attributes changed), but not allow component insertion or deletion. As another example, the WBS editor 30 may only allow changes that are within a single layout element (e.g., moving, inserting or deleting subelements), but not changes that may cross layout element boundaries (e.g., moving a component from one layout element to another).

[0418] The WBS editor 30 can automatically activate such editing restrictions based on an analysis of the layout element structure. The WBS editor 30 can also apply edit restriction hints provided by particular layout elements or layout groups.

[0419] Layout elements and layout groups can also define which additional editing actions should be provided by the WBS editor 30 (when editing components related to a given layout / content element) and which actions should be restricted or modified. In particular, a layout group representing a content element that includes a list of subcontent elements (e.g., a list of services offered by a business) can define list editing actions to be provided in the website building system environment, including (for example) adding list members, deleting list members, reordering list members, and defining the list sort order. Such list editing actions can directly and in parallel modify the CER 506, LER 507, and the resulting site. In another example, a given layout element can describe a composite (multi-component) video player element that includes a main video playback window component and multiple playback control buttons. The layout element definition can provide a hint to the website building system 5 that the main playback window component cannot be erased and must have a certain minimum size, while some playback control buttons can be freely edited or even erased completely. The WBS editor 30 can receive these hints (contained in the generated site structure) and extend, modify, or restrict visual editing activities based thereon. Alternatively, the WBS editor 30 can analyze the generated site and infer some visual editing restrictions or variations through its own analysis.

[0420] Thus, the presence of an underlying layout element / content element structure can transform the WBS editor 30 into a dual-purpose editor that supports visual (website building system) editing and structured (layout element / content element) editing.

[0421] Reference is now made to Figure 17, which shows how a generated site can be modified via multiple update paths. One path [A] is a user-initiated regeneration of the generated site from CERs 506 and LERs 507 due to changes in the underlying data (e.g., changes to a business location). In another path, the site designer 62 can re-run some of the questionnaires [Z] and modify previous responses.

[0422] In another path [B], automatic regeneration of the resulting site from the CERs 506 and LERs 507 due to underlying data changes, independent of the actions of the site designer 62 (e.g., due to changes in data extracted from external sources that change over time).

[0423] Another path [C] is the regeneration of the generated site from the CER506 and LER507 after the site designer 62 selects a different visual layout element representation of the same CER506 content (e.g. switching to a different layout solution or selecting alternative layout groups / preset page sections / layout elements at some level).

[0424] Another path [D] is that the changes to the generated site are made by the site designer 62 via the WBS editor 30 to the generated site.

[0425] While the visual editor change incorporater 45 can support integrating changes made through different update paths, in some cases this may not be possible. For example, if the site designer 62 changes the introduction box of the generated site (via the WBS editor 30) and then selects a new layout solution that does not include the introduction box at all, it may not be possible for the visual editor change incorporater 45 to reconcile the changes with the new design.

[0426] Reference is now made to Figure 18 which illustrates elements of the visual editor change installer 45. The visual editor change installer 45 may comprise an in-place editor 451, a list change handler 452, and a change reapplier 453.

[0427] It will be appreciated that visual editor change embedder 45 can implement a number of methods (described in more detail later herein) that can be used separately or in related combinations. In some of these methods, the site changes that are generated can directly impact (and change) CER 506 and LER 507. In some of these methods, the site changes that are generated are saved and reapplied when the website is regenerated from CER 506.

[0428] The visual editor change embedder 45 can handle direct editing of the generated site by (immediately) propagating changes back to the CERs 506 and LERs 507. As described above in this specification, the visual editor change embedder 45 can provide a set of mechanisms for linking website building system components back to the CERs 506 and LERs 507 used to generate them.

[0429] The visual editor change embedder 45 can use a set of back pointers from components to layout elements, and from layout elements to content elements.

[0430] The visual editor modification embedder 45 can maintain a set of records detailing matches (both structure-to-structure matches and specific field-to-field matches). The visual editor modification embedder can also maintain layout elements as transparent containers within the generated site pages.

[0431] Such change propagation may also be implemented through the use of a Single Location Storage (SLS) system 200 (as shown in FIG. 19, to which reference is now made). Under system 200, the main repositories used by system 100 (e.g., CER 506, LER 507, and WBS repository 509) may be stored in CMS 50, whereby values ​​contained in multiple repositories are stored in just one SLS value repository 518. This may be accomplished (for example) by storing pointers to value records instead of storing the actual values ​​in the main repository, or by using a data storage scheme that consolidates multiple repetitions of related values ​​into a single location.

[0432] The system 200 can apply not only the "field values" themselves (e.g., business name or address), but also layout / style information (size, position, color, etc.) since such layout / style information can be shared between the LER 507 and the site being generated. It will be appreciated that the completed survey repository 505 can also be stored in this manner.

[0433] It will also be appreciated that some changes may cause these above-mentioned mechanisms to break - for example, moving a component "outside" its layout element may break the correspondence between the associated generated site region and the underlying layout element.

[0434] The list change handler 452 can support many change types through the use of list editing operations (such as adding a member, deleting a member) that are performed by performing list operations in parallel on the generated site, LERs 507, and CERs 506. The list change handler 452 can detect list-oriented changes (such as list member additions and deletions) that are performed on list elements through the WBS editor 30, and can perform the appropriate changes to the LERs 507 and CERs 506. The list change handler 452 can also interface directly with the WBS editor 30 to perform such operations.

[0435] The visual editor change embedder 45 can support changes to fields that are mapped to layout element fields and mapped back to the original content element fields through stored content element-layout element matching information.

[0436] The visual editor change embedder 45 can also support changes to the layout (e.g., field moving / resizing) by replicating changes to stored layout element layout information. The visual editor change embedder 45 can handle repeating layout element changes by creating user-specific local / private layout element variants.

[0437] The website building system 5 may provide a UI (usable during editing in the visual website building system) that allows the site designer 62 to select alternative layout variations from an original set of layout elements provided to the site designer 62 and stored in the CMS 50.

[0438] The visual editor change embedder 45 can also handle direct editing of the generated site by re-invoking the site generation system UI as necessary. Thus, whenever the site designer 62 attempts to change a part of a page to be generated from a given questionnaire, the in-place editor 451 can instruct the questionnaire execution means 4201 to provide the relevant questionnaire (filled with the original answers used when generating this page area) and instruct the site designer 62 to make the changes through the questionnaire instead of editing the values ​​through the site's components. Once complete, the GS generator 428 can regenerate the site (or just the relevant page or page section) based on the value changes made through the questionnaire.

[0439] It will be appreciated that such regeneration of page sections is useful in many cases because a single content element maps to a single layout element, which in turn maps to a single container within the site for which the single layout element is generated (e.g., a product content element maps to a product layout element and a product description within the site's product page). Thus, the in-place editor 451 can instruct the survey execution means 4201 to pop up a survey for the content element, and the GS generation means 428 only needs to regenerate the content of the particular container. Even if the regenerated container has different dimensions compared to the previous version of the container, the GS generation means 428 can address this by using dynamic layouts (as described in US Pat. No. 5,399,313).

[0440] Similarly, the in-place editor 451 can invoke a layout element / layout solution selection UI to obtain a new layout between those previously provided to the site designer 62 whenever the site designer 62 attempts to change the component layout within the relevant portion of the site.

[0441] It will also be appreciated that some portions of a site may be created manually (either through the WBS editor 30 or outside of the system 100). In such portions, the WBS editor 30 may support local editing of these site portions without invoking the site generation system UI, since these portions of the site do not have a background or underlying CER 506 / LER 507. Furthermore, the visual editor change embedder 45 may not address such site areas.

[0442] The visual editor change embedder 45 can also combine the above two methods, allowing the site designer 62 to edit the generated site (and propagate values ​​as needed) via the WBS editor 30, or to pop up a specific questionnaire and regenerate the associated site section.

[0443] The visual editor change incorporation means 45 can also integrate changes when the website is regenerated from the CER 506 by reapplying the edit changes to the generated site.

[0444] It will be appreciated that the visual editor change embedder 45 may use the method described in U.S. Patent Application Publication No. 2013 / 0133999, entitled “Mobile Application Conversion,” published March 12, 2015, and assigned to the common assignee of the present invention, by reapplying changes made to the mobile version of the website after the mobile site is regenerated from the updated desktop site.) The visual editor change embedder 45 may further use edit history information collected by the WBS editor 30, and the change reapplier 453 may reapply edit operations to the regenerated site or site region.

[0445] It will be appreciated that the site designer 62 may have modified the layout or layout solution (of some or all of the site to be generated) prior to regeneration, and the CE / LE matching means 426 may then perform horizontal matching between the old and new layouts to resolve the integration.

[0446] Reference is now made to FIG. 20 which illustrates a scenario of the process of integrating updates to a website and the selection of alternative layout solutions.

[0447] The site designer 62 can create a content element repository CER-1 (e.g., by filling out a questionnaire). The layout solution presenter 4272 can provide a set of possible layout solutions (LS-A, LS-B, and LS-C). The site designer 62 selects LS-A. The GS generator 428 generates the site GS-1-A.

[0448] The site designer 62 then uses the WBS editor 30 to make some layout changes to site GS-1-a, resulting in the creation of GS-1-az. The site designer 62 (or the change reapplying means 453) can update CER-1 and modify it (e.g., due to external data changes) to become CER-2. The site designer 62 regenerates the site, but this time selects the layout described by LS-b instead of LS-a.

[0449] Now, the change re-applying means 453 must integrate three sets of changes: the content change from CER-1 to CER-2, the layout solution selection update that changed LS-a to LS-b, and the explicit editing change that changed GA-1-a to GS-1-az.

[0450] The change reapplication means 453 can instruct the CE / LE matching means 426 to create a horizontal match Y between LS-a and LS-b (e.g., based on common element IDs or based on two “matching” sets, i.e., [CER-1 vs. LS-a] and [CER-1 vs. LS-b]).

[0451] The change re-applying means 453 may then extract (from the edit history repository 511) the set of edit operations Za used to edit GA-1-a into GS-1-az.

[0452] Based on Y, the modification re-applying means 453 can then transform the set of editing operations Za into a matching set Zb that is applicable to LS-b.

[0453] The modification re-applying means 453 can then instruct the GS generating means 428 to re-generate the site based on CER-2 and LS-b, creating GS-2-b. Finally, the GS generating means 428 can apply Zb to GS-2-b, creating GS-2-bz.

[0454] It will be appreciated that the WBS editor 30 may provide a UI that allows editing of some layout element types, but not the particular layout element instance that contains the data for the current site. Thus, the site designer 62 may edit (once) a layout element type definition that provides a "mini-template" for a repeating object inside a repeater layout element (as described above in this specification), which may affect multiple repeated objects within the repeater layout element (that use this layout element type). Such editing (known as "inline editing") may also be applicable to non-repeater layout elements. One example is editing the title of a repeated element, which affects the titles in other elements that share the same layout element type (or underlying template).

[0455] It will be appreciated that this process can create new variations of a layout element type (possibly defined using a set of inheritances and modifications from a previous definition) that can be used by the site designer 62 (or provided by the system 100) for new layout element instances of the same type.

[0456] The WBS editor 30 can provide a UI mechanism to determine whether a given change to the generated site is intended to change a particular instance or the template that underlies that instance. This is particularly important for editing unstructured repeaters.

[0457] The visual editor modification installer 45 can store such alternative designs in a per-user layout element type variant repository (e.g., within the layout type repository 503). The system 100 can further provide the site designer 62 with the ability to publish and share such alternative designs, including the ability to offer such alternative designs through the object marketplace 15.

[0458] As described above in this specification, A / B testing can be applied to all aspects of the system 100, including, but not limited to, defining content element types, generating surveys used to populate the content elements, presenting and filling out the actual surveys, defining layout element types, selecting layout elements and layout groups, and selecting the design kit to use.

[0459] The A / B tester 46 can apply standard A / B testing to the contents of the entities being tested, as they are presented to the user, in order and priority.

[0460] Reference is now made to Figure 21. The A / B tester 46 may comprise a test generator 461 for generating A / B tests and a test executor 462 for executing them. The A / B tester 46 may store the results in the BI repository 510 or alternatively in a separate dedicated repository.

[0461] It will also be appreciated that the results of such A / B testing can be used by the SGS administrator 61 and site designer 62 to manually adjust the behavior of the system 100, and can also be used as further input to a machine learning engine as described above herein. It will also be appreciated that such A / B testing can be fully automatic, or controlled by the site administrator 61, if desired.

[0462] The A / B tester 46 may use an experiment manager and infrastructure similar to that described in U.S. Patent Application Publication No. 2016 / 0133634, entitled “System and Method of Handling Complex Experiments in a Distributed System,” published May 5, 2016, and assigned to the common assignee of the present invention.

[0463] The repurposing means 47 can enable the CER 506 (filled in by the site designer 62) to be used for additional purposes, such as generating alternative website views that provide better information for search engine indexing (possibly search engine friendly versions including a dedicated site map or additional SEO supporting information).

[0464] The retargeting means 47 may also enable the information in the CER 506 to be used to interface with external systems, for example, when registering a website with an industry index website. As another example, the system 100 may support automatic registration of a law firm in a law firm directory and index the website under a particular service offered by registering the law firm.

[0465] The repurposing means 47 may enable the CER 506 to be used for marketing purposes, for example, by enabling its website to target users of the WBS 5 with certain attributes, creating presentations in various standard business semantic schemas or / exchange formats (such as XBRL), etc. The repurposing means 47 may also provide personalized promotions, for example promotions for users in a given industry or offering a particular service.

[0466] The retargeting means 47 may also enable the CER 506 to interface through data formats and protocols that require a semantic understanding of the web site, such as data formats and protocols associated with the Semantic Web.

[0467] As described herein above, the main UI sequence is typically a sequence of short questionnaires. It will be appreciated that such UI sequences are very well suited for voice guided / voice assisted input. The SGS voice walkthrough driver 48, when operating on a mobile device (although voice input may also be used on desktop devices), can provide a virtual assistant such as Apple's Siri, Google Now or Microsoft Cortana to read the questionnaires to the site designer 62 and receive the responses.

[0468] The SGS voice walk-through driver 48 may be either standard software available on the underlying platform or a dedicated voice input option designed for the system 100 to rapidly create websites.

[0469] It will be appreciated that the above discussion has focused on a complete embodiment of system 100 as provided to a typical site designer 62. In alternative embodiments to the present invention, system 100 may also be implemented in various modes and use cases as described later in this specification.

[0470] In a typical scenario, the system 100 may be used by a typical designer (consumer) to create a website. In this scenario, a typical user may use the entire process path from answers to content elements to layout elements to the website being created. Such a user may typically use predefined questionnaires, content element types, and layout element types.

[0471] Such users may typically use data collection tools such as external data collection means 43 and internal data collection means 44 from existing websites or social media presences, as well as external data sources as described herein above. It will be appreciated that this version of the system 100 may be implemented at multiple levels that differ based on the handling of underlying elements including questionnaires, content elements, layout elements (including layout groups and preset page sections) and design kits.

[0472] At a basic level, users (designers) can use the system 100, but the underlying elements are designed and modified only by personnel internal to the website building system supplier. At a more advanced level, advanced users may be able to design their own underlying elements (possibly inheriting from underlying elements provided by the system). This may be available for some underlying element types, but not for others (e.g., a user may create their own design kits, but may not create their own content and layout elements). At an even more advanced level, users may create some or all of the underlying element types, and may also offer their creations (for purchase by other users) via a marketplace for the underlying elements, such as the object marketplace 15.

[0473] Reference is now made to Figures 22A-22G, which show schematic screenshots of several stages in the website creation process.

[0474] FIG. 22A shows a display of a list of example business types, which allows the user to select from them or a free text business type description of the type.

[0475] FIG. 22B illustrates how the system 100 gathers information about a business from public sources.

[0476] FIG. 22C shows how a user is prompted to select a design kit for a site.

[0477] FIG. 22D shows how a user is prompted to select a section layout for a site.

[0478] FIG. 22E shows how a user selects a new design kit.

[0479] FIG. 22F shows how a user selects to perform color customization using a prompt that shows a list of possible color sets.

[0480] FIG. 22G shows how a user selects to add a product slider (ie, a product display gallery component) section.

[0481] According to an alternative embodiment to the invention, the workflow can be split between a user and an expert designer (or studio). In this scenario, the site designer 62 can fill out a site design form to specify information for the site. This process includes the full set of questionnaires required to build the CER 506, or a subset of this set (to be completed later).

[0482] The filled-in CERs 506 are sent to an expert designer using the site generation system 40 to generate possible layout solutions, select the best one, and further fine-tune the generated site (e.g., by selecting alternative layout elements and configurations at various levels). The final site is then returned to the site designer 62 for review and publication.

[0483] The expert designer may be (for example) the site designer 62, an external designer providing design services to the site designer 62, or an in-house designer employed by the organization of the site designer 62. Ongoing maintenance of the site being created may be performed by the original (client) site designer 62 or designer.

[0484] In yet another embodiment, the system 100 can be used by an expert designer (or design studio) to rapidly create a large number of template applications (or application elements) for use by a smaller number of highly sophisticated designers, who may be employees of the website building system supplier or external designers.

[0485] The expert designer can sell or otherwise distribute the websites being generated to be used as templates by other designers who can customize them to create their own specialized websites.

[0486] It will be appreciated that the expert designer may distribute the template website that has been created as a "standalone" website, defined as a collection of pages and components, and completely separate from the site generation system described herein. The expert designer may also distribute the site with its associated CERs 506 and LERs 507, allowing a smaller number of highly advanced designers to modify it through the site generation system 40 using the template.

[0487] In the latter scenario, the site generation system 40 may implement a two-level CER 506 / survey system such that expert designers can access and respond to all surveys, while a smaller number of highly advanced designers (using templates) are allowed to access only a subset of the surveys.

[0488] In a further embodiment, the system 100 can be used as a translation or adaptation platform. It will be appreciated that the system 100 can be used to create a site that can support multiple layouts adapted to multiple languages. It is well known that the same text can have very diverse attributes (such as length, height and maximum single word size) in different languages, and these different attributes can require the use of different page layouts. Such different layouts can have a completely different look and feel, for example, one language may use a two-column layout and another language may use a three-column layout.

[0489] The system 100 can also support the creation of such multi-layout translated websites by providing several features including the extraction of a translation kit containing all relevant strings and associating them with locations within the website. Such a translation kit can be easily sent to a translation service that can create translated versions of the extracted text.

[0490] The system 100 can also re-integrate the processed translation kit into a website by supporting having multiple (per language) versions of each content element or each translatable text field so that multiple versions of the text can be stored in parallel.

[0491] The system 100 can also apply different layout elements to some content elements to support different language-specific layouts so that updated versions of a given site can also be translated, creating different versions of the same website (with different layouts) while keeping only one copy of the untranslated data, and repeating the above process on an incremental basis.

[0492] It will be appreciated that the above discussion herein focuses on websites hosted by a website building system provider (implementing the system). However, system 100 may be implemented for additional types of websites and other non-website digital creations. These may include, for example, entire websites and website sections (e.g., a subset of a website's pages) or a section of one or more website pages, websites designed for normal desktop computer browsing, mobile websites and tablet-optimized websites, websites created by a website building system but hosted differently (e.g., not by the website building system provider), and websites running locally on a local server installed on a user's machine (or any combination thereof). These may include (for example) websites that serve as UIs and are hosted within other systems (including embedded systems and appliances).

[0493] Other types of websites and other non-website digital creations may also include websites or other displayed visual compositions hosted within larger systems, including (for example) pages hosted within social networks (such as Facebook), blogs, portals (including video and audio portals that support user-customizable pages such as YouTube® channels), etc. This may include other types of remotely accessible online presences that are not considered websites.

[0494] Other types of websites and other non-website digital creations may also include interactive applications (mobile or otherwise), including hybrid applications (which combine locally installed elements with remotely retrieved elements), as well as non-interactive digital creations such as emails, newsletters, and other digital documents.

[0495] It will be appreciated that the above discussion applies to source websites (including other online digital resources) accessed or otherwise reviewed or analyzed by external data collection means 43 and internal data collection means 44 (such as when collecting information for a content element type or actual content element), and the discussion also applies to target websites (including other digital creations) generated by site generation system 40.

[0496] As described above in this specification, the source data can also be extracted from various industry directories and information services. Such resources may not be relevant as a target site platform, but the system 100 can submit the CER-based information to such directories and services, as described above in this specification.

[0497] It will be further understood that both the source and target websites (or other creations / resources) may reside on the same website building system hosting system 100 or may reside on separate website building system (or non-website building system) hosting providers.

[0498] With respect to source websites and resources (that are analyzed to gather information for a user website), system 100 can support the use of resources from all of the above sources, including those that belong to the user himself / herself (as part of crowd-sourced information gathering as described above in this specification) and those that belong to other users.

[0499] Reference is now made to FIG. 23, which illustrates a system 300 including multiple source and target options of the website building system 5. The system 300 may be included within an offering provided by a given website building system provider 310 and can import and analyze information from multiple sources, including websites hosted by the website building system provider 310 or by a hosting provider 320, and Facebook pages on a Facebook site 330. It will be appreciated that some of the resources (on the hosting provider 320 and the Facebook site 330) may belong to the site designer 62 and some may belong to other users (i.e., other site owners).

[0500] In this scenario, the site generation system 40 can generate a website to be hosted by the WBS provider 310 or a target hosting provider 340 (which may be the same or different from the hosting provider 320 that may be used for the site to be imported and analyzed) and in parallel generate a YouTube channel page to be posted to the YouTube (registered trademark) server 350.

[0501] In addition, the system 300 may update an industry directory 370 and may also enable the site designer 62 to generate print newspapers 360 .

[0502] In yet another embodiment, the system 100 can use offline printed information of the business (for which a website is built) to extract data about the business (and pre-fill some content elements). This can include business employees' business cards, brochures, leaflets and other promotional materials (as well as non-promotional materials such as manuals or training guides). Any such offline material containing business contact information and details can be useful. This can be done using a scanner (for example) or through a mobile device camera used to photograph (for example) a business card, and the image can be stored in the CER 506.

[0503] Thus, the system 100 can enable a user to configure the system to generate component-based websites that are integrated with a visual editor. The component-based websites can be based on layout solutions provided to the user for selection that are created from information collected from analysis of responses received from user surveys, along with relevant collected information about the user from external and internal sources and general crowdsourcing and artificial intelligence based on the user's industry and family type to establish a preferred layout.

[0504] Unless otherwise specifically stated, and as will be appreciated from the above description, throughout this specification, descriptions utilizing terms such as "processing," "operation," "calculation," "determination," and the like will be understood to refer to operations and / or processes of any type of general-purpose computer, such as a client / server system, mobile computing device, smart appliance, or similar electronic computing device, that manipulates and / or transforms data represented as physical quantities, such as electronic quantities, in the registers and / or memory of a computer system, to other data that is likewise represented as physical quantities in the memory, registers, or other such information storage, transmission or display device of a computer system.

[0505] An embodiment of the present invention may include an apparatus for performing the operations herein. The apparatus may be specifically constructed for the desired purpose or may include a general purpose computer selectively activated or reconfigured by a computer program stored in the computer. The resulting apparatus, when instructed by software, may make the general purpose computer into an inventive element discussed herein. The instructions, when they operate with a desired computer platform, may define an inventive apparatus. Such a computer program may be stored in a computer readable storage medium, such as, but not limited to, any type of disk, including optical disks, magneto-optical disks, read-only memory (ROM), volatile and non-volatile memory, random access memory (RAM), electrically programmable read-only memory (EPROM), electrically erasable programmable read-only memory (EEPROM), magnetic or optical card, flash memory, disk-on-key, or any type of medium suitable for storing electronic instructions and capable of being coupled to a computer system bus.

[0506] The processes and displays presented herein are not inherently related to any particular computer or other apparatus. Various general-purpose systems may be used with programs in accordance with the teachings herein, or it may prove convenient to construct a more specialized apparatus to perform the desired methods. The desired structure for a variety of these systems will be apparent from the above description. Additionally, embodiments of the present invention are not described with reference to any particular programming language. It will be understood that a variety of programming languages ​​may be used to implement the teachings of the present invention as described herein.

[0507] While certain features of the invention have been illustrated and described herein, many modifications, substitutions, changes, and equivalents will now occur to those skilled in the art, and it is therefore to be understood that the appended claims are intended to cover all such modifications and changes that fall within the true spirit of the invention.

Claims

1. A method for a website building system (WBS), comprising: Collecting, storing and analyzing information from survey responses and from external and internal systems of said WBS to update an existing website for said WBS designers; using at least artificial intelligence and machine learning techniques to generate recommendations for said existing websites based on said information; regenerating said existing website into an optimized and updated website based on said recommendations; method.

2. regenerating and optimizing to update at least one of the content elements and layout elements of the existing website; The method of claim 1.

3. and analyzing the responses to provide content for the content element. The method of claim 2.

4. the layout elements include at least one of a layout group and a preset page section; The method of claim 2.

5. said collecting, storing, and analyzing said information including matching the extracted and analyzed information with content element fields; Import information from relevant social media sites Extract and import relevant information from data feeds Importing and analyzing the relevance of information from websites external to said WBS; At least one of The method of claim 1.

6. The collection, storage and analysis of said information may further include: analyzing information about said designers from said WBS while maintaining the designers' privacy; Analyzing general business information stored by said WBS; analyzing the editing history of said designer; At least one of The method according to claim 5.

7. The information is The existing website's business family and industry, and designer feedback; Including, The method of claim 1.

8. Using at least artificial intelligence and machine learning techniques, the designer's actions are analyzed and the designer's feedback is used as input to a machine learning model. The method according to claim 7.

9. Analyzing the survey responses includes using natural language processing. The method of claim 1.

10. At a minimum, the use of artificial intelligence and machine learning techniques provides an evolving and continually improving dialogue with designers; The method according to claim 8.

11. A website building system (WBS), a data collection device that collects and stores information from survey responses and from external and internal systems of the WBS to update the existing website of the designer of the WBS; at least one analyzer for analyzing said information; a ML / AI (machine learning / artificial intelligence) engine that generates recommendations for the existing websites according to the analyzed information; a generation site generator that optimizes the existing website according to the recommendations and regenerates it into an updated website; A WBS that includes:

12. the generating site generator updates at least one of a content element and a layout element of the existing website; The WBS of claim 11.

13. the at least one analyzer includes an answer analyzer that analyzes the answers to provide content of content elements; The WBS of claim 12.

14. the layout elements include at least one of a layout group and a preset page section; The WBS of claim 12.

15. The data collection device includes at least one of a data matcher that matches extracted and analyzed information with content element fields, a social media importer that imports information from relevant social media sites, a data feed importer that extracts and imports information from data feeds, and an external website importer and analyzer that imports and analyzes the relevance of websites external to the WBS; The WBS of claim 11.

16. The data collection device further includes at least one of an additional user data analyzer that analyzes information about the designer from the WBS while maintaining the privacy of the designer, a BI analyzer that analyzes general BI (Business Intelligence) stored by the WBS, and an edit history analyzer that analyzes the edit history of the designer. The WBS of claim 15.

17. the information includes at least one of the existing website's business family and industry, and designer feedback; The WBS of claim 11.

18. The ML / AI engine analyzes the designer's actions and uses the designer's feedback as input to a machine learning model. The WBS of claim 17.

19. The answer analyzer uses natural language processing. The WBS of claim 13.

20. The ML / AI engine provides evolving and continuously improving interaction with the designer. The WBS of claim 18.

Citation Information

Patent Citations

  • Sales promotion network system

    JP2002298005A

  • Questionnaire analyzer, questionnaire analyzing method and program

    JP2003141303A

  • System, program and method for automatically generating contents

    JP2003196203A

  • Homepage providing system

    JP2004062711A

  • Web site accelerator

    JP2010250830A