Actionable widget card

By introducing a product card system into the website construction system, using predefined rules and AI analysis to generate executable product cards, the problems of product information synchronization and semantic understanding in the existing technology are solved, and an efficient and intelligent user experience is achieved.

JP2025061066APending Publication Date: 2025-04-10WIX COM
View PDF 12 Cites 0 Cited by

Patent Information

Application Number
JP2025002253
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2017-11-02
Filing Date
2025-01-07
Publication Date
2025-04-10

AI Technical Summary

Technical Problem

The prior art message notification systems have difficulty effectively synchronizing product-related information into the user's workflow and lack an understanding of the semantic level of the product.

Method used

By introducing a product card system into the website construction system, the system can generate executable product cards based on website parameters, predefined rules, product classification.taxonomies, etc., perform e-commerce-related operations, and update product classification through AI analysis of user behavior and preferences.

Benefits of technology

Real-time synchronization and executable operations of product information are realized, user experience is enhanced, and the intelligence and personalization of the system is improved through semantic understanding and AI analysis.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025061066000001_ABST
    Figure 2025061066000001_ABST
Patent Text Reader

Abstract

SOLUTION: A messaging system 100 includes: a website building system 20 hosting a website belonging to a publisher, the website having users; at least one database 11 storing website parameters, pre-defined rules concerning card definitions, pre-defined widget card parameters and a product classification taxonomy; at least one product card system 10 to receive a trigger from the website, associated with an action related to a product and to generate an actionable widget card 70 associated with the product on the basis of the action, the website parameters, the pre-defined rules, the pre-defined widget card parameters and the product classification taxonomy.EFFECT: A widget card implements at least e-commerce related operation for a product between a publisher of the website with a user of the website.SELECTED DRAWING: Figure 2
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] CROSS-REFERENCE TO RELATED APPLICATIONS This application claims priority from U.S. Provisional Patent Application No. 62 / 437,324, filed December 21, 2016, and U.S. Provisional Patent Application No. 62 / 580,495, filed November 2, 2017, both of which are incorporated herein by reference.

[0002] The present invention relates generally to website building systems, and more particularly to widget cards. [Background technology]

[0003] Message notification systems such as mobile phone SMS (Short Message Service), MMS (Multimedia Message Service), and push notifications facilitating message notifications in the form of pop-up cards are known in the art. Message notifications are also known as part of the main site in the area of ​​the website and are provided synchronously as part of the user's workflow. For example, when booking a hotel online, a notification may inform the user that there are only two rooms left or that a particular offer or discount is about to end.

[0004] Existing prior art systems include mobile device notification systems such as notifications received via the Android operating system (commercially available from Google Inc.), where a typical notification includes an icon+title+text+action, and the Google Now personal assistant application (commercially available from Google Inc.), which supports specialized cards, including those generated by third party applications.

[0005] Other prior art systems include the Apple iOS "Today" widget (available from Apple Inc.) that can be pulled from the top of the display to show a social networking system (such as Facebook available from Facebook.inc) that provides a data feed of dates, upcoming meetings, weather and application messages and notifications, as well as news items and updates. [Prior art documents] [Patent documents]

[0006] [Patent Document 1] US Patent Application Publication No. 2015 / 0089354 [Patent Document 2] US Patent Application Publication No. 2013 / 0219263 [Patent Document 3] US Patent Application Publication No. 2016 / 0350794 [Patent Document 4] US Patent Application Publication No. 2017 / 0032050 [Patent Document 5] US Patent Application Publication No. 2016 / 0371312 [Patent Document 6] US Patent Application Publication No. 2016 / 0124839 [Patent Document 7] US Patent Application Publication No. 2014 / 0282218 [Patent Document 8] U.S. Pat. No. 9,747,258

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

[0008] [Figure 1A] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1B] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1C] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1D] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1E-1] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1E-2] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1F] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1G-1] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1G-2] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1H] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1I] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1J] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1K]1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1L] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1M] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1N] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1O] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1P] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1Q] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Figure 1R] 1 is a schematic diagram of different types and sub-types of actionable widget cards constructed and operative in accordance with the present invention; [Diagram 2] 1 is a schematic diagram of a system for creating, using and communicating with actionable widget cards constructed and operative in accordance with the present invention; [Diagram 3] 3 is a schematic diagram of elements of the product card system of FIG. 2 constructed and operative in accordance with the present invention; [Figure 4A] 1 is a schematic diagram of the structure and elements of an exemplary actionable widget card constructed and operative in accordance with the present invention; [Figure 4B] 1 is a schematic diagram of the structure and elements of an exemplary actionable widget card constructed and operative in accordance with the present invention; [Diagram 5] FIG. 4 is a schematic diagram of elements of the card creator of FIG. 3 constructed and operative in accordance with the present invention; [Figure 6] 3 is a schematic diagram of an interface of the product card system of FIG. 2 with a mobile device system constructed and operative in accordance with the present invention; [Figure 7] 4 is a schematic diagram of elements of the card feed displayer of FIG. 3 constructed and operative in accordance with the present invention; [Figure 8A] 1 is a schematic diagram of different types of social networks; [Figure 8B] 1 is a schematic diagram of different types of social networks; [Figure 8C] 1 is a schematic diagram of different types of social networks;

[0009] It will be appreciated that for simplicity and clarity of illustration, elements illustrated in the figures have not necessarily been drawn to scale. For example, dimensions of some of the 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. Summary of the Invention

[0010] According to a preferred embodiment of the present invention, there is provided a messaging system, the system includes a memory, a processor, a website building system for hosting a website, the website having users, and at least one database for storing website parameters, predefined rules for card definitions, predefined widget card parameters, and a product classification taxonomy, the system further includes at least one card product system for receiving triggers from the website related to actions related to a product, and generating actionable widget cards related to the product based on the actions, the website parameters, the predefined rules, the predefined widget card parameters, and the product classification taxonomy, the widget cards performing at least e-commerce related operations on the product between a publisher of the website and a user of the website, the processor invoking the product card system.

[0011] Moreover, in accordance with a preferred embodiment of the present invention, a product is a business object.

[0012] Furthermore, in accordance with a preferred embodiment of the present invention, the widget card includes parameters of a card type, a visual display widget, and a business object having an associated product classification according to a taxonomy.

[0013] Furthermore, in accordance with a preferred embodiment of the present invention, the widget card further includes at least one parameter of a card subtype, an associated action, and other additional information related to the product.

[0014] Additionally, in accordance with a preferred embodiment of the present invention, the widget card communicates product related messages between at least one user of the website building system and the website, and between at least one user of the website building system and another user.

[0015] Moreover, according to a preferred embodiment of the present invention, at least one card product system includes a card information repository for storing information about widgets, business object hierarchies and taxonomies, operational data, action definitions, widget card definitions, predefined rules, and a product classifier for analyzing at least one of incoming text, incoming media, incoming web pages related to products, and external product references from systems external to the website building system and converting the product references into structured product descriptions with standardized product definitions and classifications. It further includes a card creator for creating widget cards based on the output of the triggers, the card information repository, and the product classifier, and a card feed displayer for generating and continuously updating a display feed of the widget cards.

[0016] Furthermore, according to a preferred embodiment of the present invention, the at least one card product system further includes at least one of a card transferer for transferring the widget card to a second user of the website building system or to a system external to the website building system based on a request from the user, and a card transformer for transforming parameters of the widget card based on a request from the user.

[0017] Further, according to a preferred embodiment of the present invention, the at least one card product system further includes at least one of a product matcher for matching the product with at least one similar product having a similar classification in at least one of the website, the website building system, a third party application associated with the website building system, and a system external to the website building system, an external system supporter and integrator for analyzing incoming external product references from web pages external to the website building system and enabling widget card actions to launch external programs to the website building system, a card marketplace for providing users with card types for sale, and an AI analyzer for analyzing and accumulating information regarding user insights, user website behavior, user activity history, and user preferences.

[0018] Additionally, according to a preferred embodiment of the present invention, at least one card product system further includes a rules engine for invoking the product classifier, product matcher, external system supporter and integrator, card feed displayer, card transferer, and card transformer according to predefined rules, and a card communicator for coordinating between the card information repository, external sensors and information retriever, product classifier, product matcher, external system supporter and integrator, card feed displayer, card transferer, card transformer, AI analyzer, and rules engine.

[0019] Moreover, according to a preferred embodiment of the present invention, the website building system includes a run-time repository for storing site and application operational data, collected business intelligence (BI), website related activities, messages, and communications, a design-time repository for storing templates, component definitions, site and application definitions, and website editing history, and a visual editor for enabling website building system vendors and third-party card designers to design and edit widget cards.

[0020] Furthermore, according to a preferred embodiment of the present invention, the website building system further includes at least one of a visual adapter for adapting a style and layout of the widget card to at least one of a style and layout of a website displaying the widget card, and a widget creator for enabling a website designer to create a widget based on at least one of a definition language, a modified existing view, and visual editing.

[0021] Further, according to a preferred embodiment of the present invention, the card creator further includes at least one of a number of receivers for searching and receiving at least one of product types, product subtypes, actions, and widgets related to the product according to predefined rules, an insight analyzer for collating and analyzing operational data and business intelligence of the website along with design and BI information gathered from second websites and external systems visited by the user, a type filter for filtering irrelevant product types and product subtypes in the product, an action prioritizer for removing irrelevant actions related to the product and prioritizing the remaining actions, a product processor for processing and removing irrelevant business object instances related to the product and prioritizing the remaining business object instances, a card prioritizer for creating a list of widget cards for display by the card feeder, and a card generator for generating widget cards based on the type filter, the action prioritizer, the product processor, and the card prioritizer.

[0022] Further, in accordance with a preferred embodiment of the present invention, the card feed displayer includes a card retriever for retrieving a number of widget cards for presentation to a user for a feed; a card filterer for filtering the number of widget cards based on at least one of relevance, urgency, and user-defined criteria; a card feed prioritizer for prioritizing the filtered number of widget cards based on at least one of relevance, urgency, and user-defined criteria; a card updater for updating the number of widget cards in the feed based on real-time events; and a card feed manager for performing at least one of resorting the feed, filtering the feed, hiding and undisplaying cards, deleting cards, archiving cards, adding notes to cards, and setting widget card attributes.

[0023] Additionally, in accordance with a preferred embodiment of the present invention, the system is a social network.

[0024] Moreover, according to a preferred embodiment of the present invention, the user is at least one of an anonymous user of the website, a regular user of the website, a subscribing user of the website, a non-subscribing user of the website; a website building system, a third party application provider, an internal vendor staff of a vertical application provider, a website visitor, a website operator, a website owner, and a website designer.

[0025] Furthermore, in accordance with a preferred embodiment of the present invention, the trigger is one of a direct action of a user, a request from a user, an external real-world sensor event; a time-based activity of a website, and a business or design analysis.

[0026] Further, in accordance with a preferred embodiment of the present invention, the widget card communicates messages using at least one third party application associated with the website building system.

[0027] Additionally, in accordance with a preferred embodiment of the present invention, the AI ​​analyzer updates a product classification taxonomy in response to the information.

[0028] Moreover, in accordance with a preferred embodiment of the present invention, the product is a consumer good, a service session, a topic of interest, or a product in a non-consumer environment.

[0029] Furthermore, in accordance with a preferred embodiment of the present invention, a business object is at least one of a general object class and a specific object instance.

[0030] Furthermore, in accordance with a preferred embodiment of the present invention, the product classifier classifies according to at least one of the AI ​​analyzer, inherited classification, site structure of the website, displayed web pages of the product, and website editing history.

[0031] Additionally, in accordance with a preferred embodiment of the present invention, the product matcher matches according to the product classifier's classifications, widget card system attributes, analysis of displayed web pages for products, website usage history, and results from the AI ​​analyzer of previous queries and matches.

[0032] According to a preferred embodiment of the present invention, there is provided a method, comprising: storing website parameters of a website belonging to a website building system hosting the website, the website having a user, predefined rules for card definition, predefined widget card parameters, and a product classification taxonomy, receiving a trigger from the website, related to an action related to a product, and generating an actionable widget card related to the product based on the action, the website parameters, the predefined rules, the predefined widget card parameters, and the product classification taxonomy, wherein the widget card performs at least an e-commerce related operation on the product between a publisher of the website and a user of the website.

[0033] Moreover, in accordance with a preferred embodiment of the present invention, a product is a business object.

[0034] Furthermore, in accordance with a preferred embodiment of the present invention, the widget card includes parameters of a card type, a visual display widget, and a business object having an associated product classification according to a taxonomy.

[0035] Furthermore, in accordance with a preferred embodiment of the present invention, the widget card further includes at least one parameter of a card subtype, an associated action, and other additional information related to the product.

[0036] Further, in accordance with a preferred embodiment of the present invention, the widget card communicates product related messages between at least one user of the website building system and the website, and between at least one user of the website building system and another user.

[0037] Additionally, in accordance with a preferred embodiment of the present invention, receiving and generating includes storing information regarding widgets, business object hierarchy and taxonomy, operational data, action definitions, widget card definitions, and predefined rules; analyzing at least one of the incoming text, the incoming media, the incoming web pages related to the products, and external product references from systems external to the website building system, creating widget cards based on triggers, the card information repository, and output of analyzing the product references and converting the product references into structured product descriptions with standardized product definitions and classifications; and generating and continuously updating a display feed of the widget cards.

[0038] Moreover, according to a preferred embodiment of the present invention, receiving and generating further includes transferring the widget card to a second user of the website building system or to a system external to the website building system based on a request from the user, and converting parameters of the widget card based on the request from the user.

[0039] Furthermore, according to a preferred embodiment of the present invention, receiving and generating further includes at least one of receiving environmental, biometric, physiological, or psychological parameters of the user from an external sensor associated with the user; matching the product with at least one similar product having a similar classification in at least one of the website, the website building system, a third party application associated with the website building system, and a system external to the website building system; analyzing incoming external product references from web pages external to the website building system and enabling widget card actions to launch external programs relative to the website building system; providing card types for sale to the user; and analyzing and accumulating information regarding user insights, user website behavior, user activity history, and user preferences based on artificial intelligence.

[0040] Further, in accordance with a preferred embodiment of the present invention, receiving and generating further includes initiating analyzing and converting the product reference, matching, analyzing, forwarding, and converting the incoming external product reference according to predefined rules, storing the information, receiving the user's environmental, biometric, physiological, or psychological parameters, analyzing and converting the product reference, matching, analyzing, forwarding, converting, generating and continuously updating, analyzing and storing the information based on artificial intelligence, and initiating.

[0041] Additionally, in accordance with a preferred embodiment of the present invention, the method further includes storing site and application operational data, collected business intelligence (BI), website related activities, messages, and communications; storing templates, component definitions, site and application definitions, and website editing history; and enabling website building system vendors and third-party card designers to design and edit widget cards.

[0042] Moreover, in accordance with a preferred embodiment of the present invention, the method further includes adapting a style and layout of the widget card to at least one of a style and layout of a website displaying the widget card, and enabling a website designer to create a widget based on at least one of a definition language, a modified existing view, and visual editing.

[0043] Further, according to a preferred embodiment of the present invention, creating the widget card includes searching for and receiving at least one of product types, product subtypes, actions, and widgets related to the product according to predefined rules, collating and analyzing operational data and business intelligence of the website along with design and BI information collected from second websites and external systems visited by the user, filtering irrelevant product types and product subtypes in the product, removing irrelevant actions related to the product and prioritizing the remaining actions, processing and removing irrelevant business object instances related to the product and prioritizing the remaining business object instances, creating a list of widget cards for display, and generating the widget card based on the filtering, filtering irrelevant actions and prioritizing the remaining actions, processing and removing irrelevant business object instances, prioritizing the remaining business object instances, and creating a list of widget cards for display.

[0044] Further, in accordance with a preferred embodiment of the present invention, generating and continually updating the display feed includes searching for a number of widget cards for presentation to a user for the feed; filtering the number of widget cards based on at least one of relevance, urgency, and user-defined criteria; prioritizing the filtered number of widget cards based on at least one of relevance, urgency, and user-defined criteria; updating the number of widget cards in the feed based on real-time events; and performing at least one of resorting the feed, filtering the feed, hiding and unhiding cards, deleting cards, archiving cards, adding notes to cards, and setting attributes for the widget cards.

[0045] Additionally, according to a preferred embodiment of the present invention, the user is at least one of an anonymous user of the website, a regular user of the website, a subscribing user of the website, a non-subscribing user of the website; a website building system, a third party application provider, an internal vendor staff of a vertical application provider, a website visitor, a website operator, a website owner, and a website designer.

[0046] Moreover, in accordance with a preferred embodiment of the present invention, the trigger is one of a direct action of a user, a request from a user, an external real-world sensor event; a time-based activity of a website, and a business or design analysis.

[0047] Further, in accordance with a preferred embodiment of the present invention, the widget card communicates messages using at least one third party application associated with the website building system.

[0048] Furthermore, in accordance with a preferred embodiment of the present invention, analyzing and accumulating the information based on artificial intelligence further updates the product classification taxonomy in response to the information.

[0049] Additionally, in accordance with a preferred embodiment of the present invention, the product is a consumer good, a service session, a topic of interest, or a product in a non-consumer environment.

[0050] Moreover, in accordance with a preferred embodiment of the present invention, a business object is at least one of a general object class and a specific object instance.

[0051] Further, in accordance with a preferred embodiment of the present invention, analyzing the product references and converting the product references into structured product descriptions includes classifying according to at least one of artificial intelligence, inheritance classification, analyzing and accumulating based on a site structure of the website, displayed web pages of the product, and an edit history of the website.

[0052] Further, in accordance with a preferred embodiment of the present invention, matching is based on the results of analysis from product classifier classifications, widget card system attributes, analysis of displayed web pages for the product, website usage history, and artificial intelligence based analysis and accumulation of previous inquiry and matching information. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0053] 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 in detail so as not to obscure the present invention.

[0054] Applicant has recognized that the prior art notification systems, while enabling communication, are clearly connected to a given application (e.g., a particular website) that created the notification, but are not necessarily product or topic oriented. Applicant has further recognized that a social network such as Facebook that provides feeds / actions to subscribers is unaware of the actual subject matter of the feeds / actions it is providing. Additionally, as discussed in the hotel booking example above, the cards are only provided synchronously in real time as part of notifications from the main site.

[0055] The prior art systems can be improved with a system that allows users or visitors (such as consumers, visitors, etc.) of websites belonging to a website building system to be linked via message cards to feeds and actions provided by multiple publishers or producers (such as websites, e-shops, blogs, etc.), i.e. communicating via product-centric cards (possibly containing underlying product definitions or product instance references) and understanding the semantic hierarchy of the products presented in the user feed. The cards may be generated asynchronously (i.e. not when the user is working on a particular site) separately from the main site workflow.

[0056] The system may further be integrated with a website building system that is being used to build a main system such as an e-shop (as described in more detail herein below), or the system may be integrated with a standalone visual design system, a system external to the website building system, or an associated third party application of the website building system and a mobile application device.

[0057] For the purposes of the discussion below, it will be understood that the term product can apply to consumer goods (such as clothing or a restaurant order), service sessions (such as a hotel room order or a massage session), topics of interest (such as hand gliding or stamp collecting), or products in a non-consumer environment (such as a course, meeting, or event for which no payment may be made).

[0058] The system may also be able to transfer these cards between users, transforming them as necessary as a result. The system may also be able to use these cards with multiple displayable widgets (or views) and associated actions. The associated actions may also act on the cards themselves (e.g., acting as triggers for card creation or card modification). This may include advanced techniques for automatic or dynamic assignment of display widgets to cards. The message cards underlying such a system shall hereafter be known as actionable widget cards.

[0059] An example of this system is a set of e-commerce related main applications, i.e., a set of e-stores, hosted on one or more online website building systems. A product card system (also known as an interface application or interface system) allows users, such as site owners and site visitors, to communicate and exchange the above-mentioned actionable cards that perform e-commerce related actions and operations (such as product purchase or delivery). Such cards can include underlying business objects (or products / goods), visual widgets (or views), and associated actions, as described in more detail herein below. Although the following discussion refers to a product card system, the system is applicable to business objects in general, not just products.

[0060] The product card system can enable various users (which can include site designers, site owners, and site visitors) to perform actions contained on the cards (such as ordering products offered). The product card system can further support system operations and system level actions on the cards that are provided by the system for some or all cards, rather than being specifically associated with the cards themselves. Such system operations can include, for example, transferring, converting, or matching cards, as described in more detail herein below.

[0061] Reference is now made to Figures 1A to 1R, which show examples of such cards for various scenarios and are described in more detail herein below.

[0062] Reference is now made to FIG. 2, which illustrates an exemplary system 100 for creating, using, and communicating actionable widget cards according to an embodiment of the present invention. The system 100 includes a product card system 10, a website building system 20, standalone visual applications 30 (such as websites, e-shops, and blogs), external systems 40, and third-party applications 50. All can communicate with each other and with users 60 via at least one actionable widget card 70. Users 60 can include desktop visitors, mobile site and application users, site owners or operators, or site designers (who interact directly with the website building system). Users 60 can also be associated with sensors 80, as described in more detail herein below.

[0063] It will be appreciated that the system 100 can use a server-implemented web-based architecture, or a cloud-based platform, any of which can be accessible via a communication medium 90 (such as the Internet or a local network). It will be further appreciated that the product card system 10, the website building system 20, the standalone visual applications 30 (such as websites, e-shops, and blogs), the external systems 40, and the third-party applications 50 can all also have client-side elements 85, the functionality of which is split between the server and the client elements. Additionally, the third-party applications 50 can have server elements that operate on the website building system 20 and on a separate hosting server, as well as on the user machine and mobile device. Additionally, the system 100 can use mobile apps, typically downloaded from an app store, to implement some or all of its functionality on the client side.

[0064] It will be understood that system 100 generally relates to visual applications that implement e-commerce related third party applications 50 and components. Events can include e-commerce related events (such as purchasing a product) and others (such as emails, completing a registration form, etc.). In an alternative embodiment (known as a "siteless" configuration), product card system 10 can function with a back-end only, non-interactive external system 40, which simply allows users to access the "main system" through product card system 10.

[0065] The website building system 20 may further include visual applications 21 created within the realm of the website building system 20, a design time repository 22 for holding information about the visual applications 21 such as templates, component definitions, site / app definitions, and edit history, a run-time repository 23 store including site / application operational data, collected business intelligence (BI), activities / messages and contacts, etc., as described in more detail herein below. The website building system 20 may further include a widget creator 24, a visual adapter 25, and a visual editor 26. The functionality of these elements will be described in more detail herein below.

[0066] It will be appreciated that the third party applications 50 may be simple or complex and may be embedded into sites and applications created by the website building system 20. The third party applications 50 may be provided by the actual third party provider or by the website building system 20 vendor itself.

[0067] It will also be appreciated that the third party applications 50 may exchange information (with appropriate websites and with each other) using standardized structured messages (activities), as discussed in U.S. Patent Application Publication No. 2015 / 0133999, entitled “System and Method for Third Party Application Activity Data Collection,” published March 26, 2015, and assigned to the same assignee of the present invention.

[0068] The product card system 10 can facilitate the creation, communication, and exchange of the above-described actionable messages or cards 70. Reference is now made to Figure 3, which illustrates elements of the product card system 10.

[0069] The product card system 10 may include a card information repository 11, a card marketplace 101, a card creator 102, a card communicator 103, a product matcher 104, an external system supporter / integrator 105, a card transformer 106, a feed displayer 107, a card transferer 108, a product classifier 109, a rules engine 110, an AI (artificial intelligence) analyzer 111, and external sensors and information receivers 112. The functions of these elements are described in more detail herein below.

[0070] The card information repository 11 may store definitions of cards 70 and actual card instances, as discussed in more detail herein below.

[0071] It will be further appreciated that in alternative embodiments, system 100 may be applied to other applications such as non-e-commerce scenarios such as blogs and blogging systems, and marketing and promotion systems that send email or other notifications to users. System 100 may also be applied to organizational sites that perform workflows, form processing based on the integration of multiple third party applications, or with systems that serve vertical markets such as hotel systems, reservation systems (for reservations or classes), restaurant systems, or video / media channel systems.

[0072] In yet another embodiment, the system 100 may also be implemented via a mobile device application that is typically connected to a server providing back-end functionality. This may be done using native mobile applications, interpreted applications, hybrid (combination of native and web) applications, or using any other technology.

[0073] System 100 may further be used with "external" application platform technologies (website building systems, mobile apps, or otherwise) that are not specifically built to interact with system 100. In this scenario, integration may be achieved at the application level (e.g., as provided by Facebook Messenger) or at the system level (e.g., as provided by Apple's iOS) using dedicated plugins or interfaces added to such external platform technologies.

[0074] Alternatively, the system 100 can be used with multiple related (but not co-hosted) applications, for example multiple mobile apps, using the same or separate servers.

[0075] The system 100 may further be used with multiple unrelated applications, e.g., multiple separate websites or mobile apps, that are connected using plug-ins or web services to provide the system functionality described.

[0076] It will be appreciated that the main application development system (e.g., the underlying website building system) may support a notion of "verticals," specific adaptations for particular vertical markets (photographers, wedding planners, bakers, etc.). Such adaptations may be applied to the website building system 20 itself, the provided templates (sites / pages, etc.), and other resources. The system 100 may support uniform use across many such vertical variations.

[0077] The product card system 10 may generally be implemented as a separate application (website or mobile application) connected to a website building system 20 (server or client side). The website building system 20 and the product card system 10 may generally share a common or associated backend system, although integration between these two systems 20 and 10 may also occur via communication between two separate backend systems (with the product card system 10 being implemented using one or more separate servers).

[0078] Another possible embodiment is one in which the product card system 10 is embedded or otherwise integrated into the website building system 20. This can be a subsystem (for example) as a function or can operate in parallel with the website building system 20.

[0079] System 100 may also combine both approaches, making the functionality of product card system 10 accessible through both a website and a separate application (for example).

[0080] The product card system 10 can be accessed as a website (desktop or mobile), a mobile app, or any other type of app (i.e., using a client element that is integrated with or separate from the client element 85). The product card system 10 can also be implemented using technology that allows for on-demand application loading (such as Google's Android Instant Apps). Such technology allows the card 70 to operate (including feed / card viewing and card-related action execution) outside of the product card system 10 without pre-installing the product card system 10 application.

[0081] System 100 may further employ one version or multiple versions of product card system 10 (eg, to serve different classes of users), as discussed in more detail herein below.

[0082] It will be appreciated that the three repositories (card information repository 11, design time repository 22, and runtime repository 23) may be integrated or synchronized by several mechanisms.

[0083] Under one embodiment, both the product card system 10 and the website building system 20 can use a joint data repository between them, so that the two systems use the same underlying data (i.e., held in repositories 11, 22, and 23). In this scenario, the displayed resulting widget card 70 represents the actual operational / business data used by the website building system 20.

[0084] Under another embodiment, the product card system 10 and the website building system 20 may use separate repositories, and repository 11 may reflect the internal processes of website building system 20. Both the product card system 10 and the website building system 20 may implement an update / synchronization mechanism to update repository 11 with relevant updates to website building system 20.

[0085] The card information repository 11 may contain additional data (in addition to the accessed / synchronized website building system 20 data related to the card) and, in particular, additional cards 70 that do not reflect data from the website building system 20. Such cards may include (for example) cards 70 reflecting chat (or other) conversations between system users 60 and cards 70 reflecting additional comments, notes, reviews (e.g., a hotel site operator may post a "Give this guest an upgrade on arrival" card that is displayed when the guest checks in).

[0086] It will be appreciated that such data may be managed by the product card system 10, but may be updated by the website building system 20 as needed.

[0087] It will be further understood that the relationship between the product card system 10 and the website building system 20 / standalone visual application 30 / external system 40 may be many-to-many. For example, a single website building system 20 may have multiple product card systems 10 (e.g., from multiple vendors) connected to it, and a single product card system 10 may include cards reflecting activity in multiple website building systems 20 / standalone visual applications 30 / external systems 40. This is in addition to having multiple versions of the same single product card system 10, as discussed in more detail herein below.

[0088] It will also be understood that the card 70 may be standalone and external to the system 100. As discussed in more detail herein below, the card 70 may be sent or transferred via several forms of communication (chat, email, and social network sharing) using the self-contained card 70. That is, the transferred object may include the relevant data as well as code required to implement the card / widget functionality. In this scenario, the card 70 may function in a target system that is not connected to the Internet (after the card 70 is received in that target system).

[0089] The system 100 may also use cards 70 that interact with supporting systems (source systems or otherwise). In this scenario, the transferred objects may function by referencing the underlying systems that provide the services, or by using plug-ins / third-party applications embedded in the external systems on which the cards operate.

[0090] The transfer of cards may also be within the same ecosystem or within a different ecosystem.

[0091] The following discussion focuses on the product card system 10 and the website building system 20, but is also applicable (with relevant mutatis mutandis) to other possible configurations.

[0092] As discussed herein above, the system 100 can support multiple categories of users 60. The main categories are site owners (who typically own and operate an e-commerce shop on the site) and site visitors (who interact with the site). The system 100 can support additional categories such as site designers (who may be separate from the site owner), specific (limited) e-shop operators (who have specific operational privileges for the entire e-shop or for specific divisions of the e-shop, e.g., who may only handle the books division), and site support personnel (who may only handle support issues for the e-shop).

[0093] Other categories of users 60 can include multiple classes of site visitors, such as regular and VIP visitors, registered / unregistered / anonymous visitors, or visitors who have subscribed to particular services, such as updates on a particular topic.

[0094] The system 100 may provide separate interfaces (and versions or instances of the product card system 10) for each category of users 60 (e.g., site owners and site visitors) or may provide a single interface / UI or app for some or all of the categories of users 60. Some embodiments of the system 100 may provide the product card system 10 (e.g., including a branded version for a particular website or website collection) simply to a particular category of users 60 and not to other user categories.

[0095] It will be appreciated that users 60 can belong to multiple categories and thus the owner / visitor graph is not a standard bipartite graph. For example, website building system 20 may provide a mechanism for a particular merchant to be the site owner of his or her own e-store, but also a customer (and site visitor) of multiple wholesale sites that offer products sold on the merchant's e-store. In another example, a designer may be categorized as a "site designer user" of multiple sites (operated by the designer's clients) and as the site owner of a design studio website.

[0096] The use of a single product card system 10 (typically) for both types of users 60 is important as it allows a merchant (for example) to use a single, integrated feed and notification system for updates originating from both clients and suppliers.

[0097] As discussed hereinabove, the actionable widget card 70 provides a visual interface to activities (such as standardized messages described in U.S. Patent No. 6,399,366) performed by the website building system 20 and its hosted websites. The card 70 generally describes an event or action related to a particular product or business object, e.g., "I want to buy this yellow T-shirt (product ID XYZ)". Each card may contain three main elements (which may appear none or multiple times). The three main elements may be an underlying business object, associated actions and behaviors related to one or more objects, and visual display widgets, as shown in FIG. 4A, to which reference is now made. FIG. 4A illustrates a typical actionable widget card 70 and associated card information repository 11 data (as described in more detail herein below).

[0098] Card 70 may further include information regarding type, subtype, visual representation, associated business objects, associated actions, and other additional information, as described in more detail herein below.

[0099] It will be appreciated that the card 70 may be partial, i.e., not include all of the above elements. The card 70 may be considered a product card (i.e., includes product / business object information) or a non-product card 70. An example of a non-product card without a type, widget (view), or business object may be a system message regarding a system upgrade.

[0100] It will be appreciated that an example of an underlying business object is the yellow T-shirt mentioned above, as shown in Figure 4B to which reference is now made. It will be appreciated that some card types and subtypes (such as chat cards) do not have an underlying business object, as will be discussed in more detail herein below. Thus, in the example of Figure 4B, the type is "Product", the subtype is "Purchase Offer", the visual widget is "eShop Display", the business object is "Yellow T-Shirt (Product ID XYZ)", the associated action is "Buy" / "Ask When Available", and the additional information is "Size: Large".

[0101] It will also be appreciated that cards 70 may have associated actions that are predefined and stored in the repository 11 .

[0102] It will be further appreciated that the product card system 10 can dynamically match widgets / views to underlying business objects within a card 70 that do not have pre-associated visual widgets, as discussed in more detail herein below. A card 70 can have multiple associated displayable widgets and multiple layouts / multiple widgets for presentation on multiple platforms or multiple display configurations (e.g., screen sizes).

[0103] Card 70 may further include additional attributes and parameters, as described further herein below.

[0104] It will be appreciated that cards 70 are a "common currency" used by many elements of system 100 and generally convey e-shop item information. However, cards 70 are distinct from e-shop items, which are not cards but generate cards 70 when certain operations are performed on them (e.g., "send this item," "buy this item," "ask if this item is in stock").

[0105] For example, if the product card system 10 is integrated with the website building system 20 as described herein above, the card 70 may appear in the website building system 20 .

[0106] It will also be appreciated that the card 70 can be even interactive, i.e. function as a mini-application, for example a restaurant sending a payment card and a diner changing the tip amount on the card.

[0107] As discussed hereinabove (and shown in FIG. 4A), definitions of cards 70 and actual card instances are stored in one or more card information repositories 11. The card information repositories 11 may further include a widget / view repository 11a for storing widget definitions, business object hierarchies, and taxonomies, a repository 11b for storing business object definitions, an operational data repository 11c, an action definition repository 11d, a card definition repository 11e, and a card rules repository 11f. These repositories 11 may be integrated with the website building system 20 or may be separate as needed as described above herein. The use of these repositories is discussed in more detail hereinbelow.

[0108] It will be appreciated that system 100 can support a number of card 70 types and a number of possible card subtypes for each type, as shown in the example cards included in Figures 1A-1R to which reference is now made. System 100 can support additional card types and subtypes, as described in more detail herein below.

[0109] It will also be appreciated that cards 70 can be used for a number of purposes, including product cards (such as the yellow T-shirt example), general cards (e.g., "upload a photo"), and marketing cards, such as promotional announcements from the site owner. Such cards 70 can further include registration options or forms, or pointers to particular entry points (or landing pages) of the website building system 20. Such cards 70 can be displayed (for example) via banner advertisements.

[0110] Other uses for cards 70 are notifications (such as "out of stock"), chat message cards, and business insight cards, such as card 70 indicating that a particular product has recently generated interest by customers, but the purchase conversion rate is low, encouraging the owner to offer a discount on the product.

[0111] Reference is now made back to FIGS. 1A through 1R, which show a number of site-related notifications represented by cards 70 based on an analysis of a site (created by the website building system 20 or the standalone site 30) and its usage.

[0112] FIG. 1A shows a card 70 that displays general site information and business analytics.

[0113] FIG. 1B shows a card 70 that displays live system information related to current site activity.

[0114] 1C shows a card 70 that displays scheduling and agenda information (such as for a site that includes a session or appointment element). Such a card 70 can also be useful to users 60 (site owners and visitors) to display calendar information and upcoming appointments or sessions.

[0115] FIG. 1D shows a card 70 displaying a marketing campaign (eg, one launched by a system / website building system vendor).

[0116] FIG. 1E shows a card 70 that displays operational activities to be performed by a site owner or operator.

[0117] FIGURE IF shows a card 70 displaying suggestions for making modifications to the website, such as adding a Christmas sale, changing some products, creating a blog post, etc. These may also include site design tasks.

[0118] FIG. 1G shows a card 70 that displays periodic (eg, monthly) statistics about a site or business.

[0119] FIG. 1H shows a card 70 associated with an image upload activity.

[0120] FIG. 1I shows a card 70 related to listing a site or getting feedback thereon.

[0121] FIG. 1J shows a card 70 related to improving a site's SEO and obtaining information regarding a site's search engine rankings.

[0122] FIG. 1K shows a card 70 that displays information about the site's top clients.

[0123] FIG. 1L shows a card 70 that displays information about (and possibly links to) additional applications and features provided by the system.

[0124] FIG. 1M shows a card 70 that displays ideas (eg, via video) to inspire site owners.

[0125] FIG. 1N shows a card 70 requesting feedback to the system developer.

[0126] FIG. 1O shows a card 70 that redirects the site owner to a site editor.

[0127] FIG. 1P shows a processor / owner card 70 for ordering and stock replenishment suggestions / requests.

[0128] FIG. 1Q shows a client-side / owner-side card 70 that processes system suggestions for modifying and rescheduling an event (eg, a yoga session).

[0129] FIG. 1R shows cards 70 that address domain-specific issues (hotel amenities, e-shop product reminders / questions, system blog post notes).

[0130] It will be appreciated that some of the cards 70 described above may include multiple views / widgets (e.g., one for the site owner and one for the site visitor), such as an order card 70 (FIG. 1P), a reservation / session card 70 (FIG. 1C), or an event modification card 70 (FIG. 1Q). Some cards 70 may further be used (with different meanings / semantics) for both system vendor to site visitor communications and site owner to site visitor communications (such as the marketing campaign card of FIG. 1D).

[0131] It will be appreciated that in an exemplary embodiment, product card system 10 can define card types and subtypes, which generally correspond to standard third party application messages (such as those described in U.S. Patent No. 6,393,636) and additional primary system events.

[0132] It will be appreciated that in a typical embodiment, the underlying logic and visual elements that provide the functionality of card 70 execute on a product card system 10 server and / or are dynamically loaded into a client of product card system 10. Thus, as card types or subtypes are added or modified, product card system 10 can support the new or modified card 70 without having to install a modified version of product card system 10 (e.g., in a scenario where the client-side elements of product card system 10 are implemented as a mobile application).

[0133] The system 100 may enable third-party or vertical application providers to create additional card subtypes (or perhaps even top-level types) that represent events and actions internal to the third-party or vertical application. Such types and subtypes may be specific to a particular such provider or may be standardized to serve a large number of such providers.

[0134] For example, a provider of a vertical application for video storage / processing / viewing can define dedicated card types related to the amount of video stored, offline video transcoding progress, and video playback BI (e.g., what percentage of visitors watch a given video to the end).

[0135] Such vertical applications may be used by numerous site owners for a variety of purposes, such as fashion show video catalogs and online universities.

[0136] The system 100 may further enable a site owner or designer to create additional card subtypes (or perhaps even top-level types). As described in more detail herein below, such card types may often be created by inheriting from existing cards or card templates. For example, the system 100 may enable (e.g., as a premium feature) an e-commerce site owner to create a branded custom order card 70 that stands out in a visitor's feed. Card types and subtypes may be stored in a card definition repository 11e.

[0137] The system 100 may further allow for visual customization of existing card subtypes (rather than creating entirely new card subtypes), which may be done by the card creator 102 modifying the view widgets associated with the card, as discussed in more detail herein below. A new subtype may be considered as inheriting from an existing subtype.

[0138] The system 100 may further enable additional third parties (not necessarily vendors of the third party applications 50 of the website building system 20 platform) to create additional card types via a standardized API or plug-in mechanism. One example of this would be additional third parties performing business intelligence and suggesting actions via cards 70.

[0139] It will be understood that a business object can be a general object / class (e.g., a hotel room of a given size) or a specific object instance at various levels of generalization (a specific hotel room on a specific day). Examples of business objects include a unique product in an e-commerce shop, a description of the actual product or desired product in a store (which may not fit a specific product), and a room in a hotel business that is a room in general, a specific room category (e.g., a mini-suite with a comfort-size bed), a specific room in a hotel, or a specific night's stay in a specific room. In general, a business object is a product in a more generalized or abstract form. A product generally refers to a specific purchasable good or service even if not fully specified, e.g., a hotel room that has been purchased but does not yet have a concrete room number assignment. A business object can be more abstract and refer to a hotel room in general, or even to several possible product classifications (e.g., a number in a subtree of a product taxonomy hierarchy).

[0140] A business object may further include a dish in a restaurant, a table in a restaurant, a music album, a photo album, a single therapy session for a therapist, a specific flight ticket for a particular flight, a blog post, a page within the website building system 20 or a link to such a page, a scheduled event (such as an event defined by the Facebook social network or using the iCalendar file standard), a contact business card (similar to the vCard file standard), a specific communication (such as a message) from a contact, or an order or invoice document that may be digitally signed.

[0141] It will be appreciated that the system 100 can understand the underlying business objects, i.e., the system 100 can have clear classifications and information about products. For example, the chat card 70 may contain an initial description or other representation of the business object that may not yet be understood by the system 100 (e.g., "Hello, look at the attached photo of a great shirt I saw at the show in the park last night. Do you have the shirt in black?"). However, the product classifier 109 can convert this into a structured product description as soon as possible (e.g., through analysis of the user's text and / or attached media) or later if the e-shop owner provides a specific response (which may include the ID or attributes of the actual product) as described in more detail herein below.

[0142] Product card system 10 can freely mix cards 70 describing business objects at various levels of generality, even from the same site. For example, a query about possible room options made by product card system 10 can generate multiple cards 70 (e.g., room options) at various levels of specificity.

[0143] The system 100 can further implement cards that do not reference a particular product, for example, a completed contact form, or a text / media message.

[0144] The system 100 can further support cards 70 that contain multiple products (e.g., the contents of a shopping cart) as well as products with configuration information (such as a pizza order with multiple topping definitions or a rental car order with special options).

[0145] It will also be appreciated that the number and configuration of business objects within a single card may change over time.For example, the system 100 may implement a conversational chat card that represents an entire chat session.

[0146] Such a session can begin with the site visitor asking the owner which t-shirts they would like to recommend (0 business objects at this point). The owner responds with 3 new t-shirt models (3 business objects at this point). The visitor continues to consult on specific models (1 business object at this point).

[0147] Such a modification may be considered a transformation of the card 70 (converting the chat card into an order card), as described in more detail herein below.

[0148] The following discussion focuses on purchased products as examples of business objects, although business objects can encompass services and additional object categories discussed above in this specification.

[0149] It will also be appreciated that the business objects referenced in card 70 will generally include a particular product ID associated with a particular product by a particular vendor (such as the yellow t-shirt example). However, product card system 10 can transform card 70 from a given product to other products (either the same or alternative) by different vendors. Such alternative products may (for example) have a different vendor, color, size, model, or configuration.

[0150] The system 100 can further use the cards 70 based on a generalized (non-vendor specific) description of a product based on a set of attributes. For example, a shirt can be described as "men's bright yellow cotton short sleeve T-shirt, size 45."

[0151] The system 100 can further use standardized product definitions and product / business object classifications (e.g., business object classification hierarchies). This standardization can enable matching of products between different e-shop sites and can further make product cards 70 transferable (e.g., from one e-shop to another) and translatable (e.g., converting a card 70 describing a shirt from one vendor into a parallel card 70 describing a similar but different product).

[0152] The system 100 can use a standard product taxonomy, such as the United Nations Standard Product and Services Code (UNSPSC) or the GS1 International Product Classification (GPC). The system 100 can also use a private commercial taxonomy, such as the Google Product Taxonomy.

[0153] It will be appreciated that users 60 (including both site owners and site visitors) can perform numerous operations / actions on cards 70. Such operations can affect the product or other business object referenced by the card. Such operations can include (for example) purchasing and restocking (as shown in the example card of FIG. 1P), publishing details (for the product or other information provided by the card), and performing a product-specific "like." This is a system-provided "like" functionality, and is not provided by a social network (such as Facebook). It is specialized for system 100 and can include numerous "like" categories that, for example, embed product review functionality (e.g., "Great Product," "Tried it and Loved it," ...).

[0154] User 60 can further use card 70 to initiate chat between the site owner and site visitors or from other users (as shown in FIG. 1Q), and to perform recommended tasks for card 70, such as operational tasks (as shown in FIG. 1E), site content / design tasks (as shown in FIG. 1F), and SEO tasks (as shown in FIG. 1J).

[0155] User 60 can also use card 70 to share, or embed, the card in different locations (i.e., outside of the feed in which the card is generally viewed). Such different locations may be internal to system 100 (e.g., embedding the card in a chat conversation managed by system 100 with another user) or external to system 100 via an adapter (e.g., sharing the card on Facebook).

[0156] Relevant actions may further be available depending on the category of user 60 and selected from the action definition repository 11d. For example, a product order card 70 may appear in both the store owner's feed and the buyer's feed. However, the actions available to each of these users 60 may be different (e.g., a store owner may have a "supply" or "suggest alternative products" action that is not available to a buyer).

[0157] It will be appreciated that once a particular card type is defined (e.g., by the provider of system 100 or a provider of a third-party application, as described in more detail herein below), the card 70 may inherit a set of possible predefined actions (template actions) associated with the card type and subtype. The product card system 10 may select which actions to allow and may provide predefined parameters for some of the actions, as described in more detail herein below.

[0158] It will be appreciated that there may be one or more widgets associated with a card 70, which widgets are used to display the contents of the card 70 in various circumstances. If a visual widget is not pre-associated with a card 70, the product card system 10 may associate a widget at a later stage (or may build a new widget or modify an existing widget as detailed herein).

[0159] It will be appreciated that the system 100 may use different widgets for the same card 70 (for example) when displaying cards 70 to different user categories. For example, a site owner may see a detailed version of a card 70 representing a product order (including additional information related to order fulfillment and current product availability and location). Site visitors viewing the same order card 70 may be shown a more limited view. Additionally, the system 100 may present the card 70 using a basic view widget and allow the user 60 to invoke an advanced, more detailed widget on the same card 70 using a "read more" button (for example).

[0160] Furthermore, the widgets displayed to represent the card 70 may change over time, even for the same user 60. For example, an e-shop may allow an order to be cancelled for a certain period of time after it is placed and before it is shipped. This may be due to (for example) legal requirements or as part of the e-shop's services to site visitors. Instead of using a scheme such as greying out the "cancel order" button, an e-shop may wish to use two "pending order" card 70 formats, one that includes the "cancel order" button (and related parts of the UI) and one that does not. As another example, a card 70 presenting a pending order that the owner needs to fulfill may change colour or shape over time to alert the owner as to the urgency of a delayed order.

[0161] The system 100 can support widget definition by multiple classes of users 60, including internal system vendor staff, third party application providers, vertical application providers, and site owners. The system 100 can provide different levels of design capabilities and functionality to different user classes.

[0162] The system 100 may further provide a number of ways in which visual widgets may be defined (discussed in more detail herein below in connection with the widget creator 24), including the following or a combination thereof: The system 100 may provide a visual definition language (either a standard one such as HTML, or using a specialized language) or a (possibly scaled-down) version of the visual editor 26.

[0163] Visual widgets can be defined in conjunction with the definition of a site page that integrates with the website building system 20, or based on inheritance and modification of existing widgets.

[0164] The widget definition may further include bindings between the widget's display fields and underlying information in the system's repository, conditions under which the widget appears (e.g., for a card with multiple viewing widgets that appear under different conditions when transferred, transformed, etc.), and definitions of dynamic layout anchors and relationships between view components (as described in U.S. Patent Application Publication No. 2013 / 0133332, entitled "Web Site Design System Integrating Dynamic Layout and Dynamic Content," published on August 22, 2013, and assigned to the same assignee of the present invention).

[0165] The definition can further include additional insights (eg, user tips and instructions) that can appear on the card.

[0166] As discussed in more detail below in this specification, the system 100 can use the methods described above to match views / widgets to card information (e.g., using dynamic matching and adaptation) even if the user has not pre-defined widgets for the card.

[0167] For example, an order card 70 may be available for multiple types of products having different sets of characteristics and information. Thus, the system 100 may allow a site owner to avoid defining the exact view to be used for each widget in an "order" card, because the system 100 can dynamically match and adapt the view to the different products included in such an "order" card.

[0168] It will be appreciated that widgets are not required to have the same or a common size. The system 100 can support a large number of cards (and visual widgets) using several possible card sizes.

[0169] It will also be appreciated that the system 100 can support dynamic cards 70 that can be associated with front-end / back-end mini-apps that may be used for analytical or other purposes.

[0170] Such cards can be dynamically updated and display content that changes over time as discussed in more detail herein below.

[0171] A continuously updated “Visitor arrived on site” card (as shown in Figure 1B) that includes the visitor’s name (if registered), the specific page visited on the site, and the time spent.

[0172] A card 70 (as shown in FIG. 1G) displaying the top five selling products in terms of volume or total revenue, or other business analysis result.

[0173] Cards 70 that display information about user activity. Examples may include a blog system that displays cards 70 such as "There are 5 new comments on the blog" (which may be sent to the blog owner, in the case of new comments on the entire blog), or "There are 5 new comments on blog post XYZ" (which may be sent to a different contributor than perhaps the blog owner).

[0174] Such cards 70 may reflect the results of system business analysis or other analyses performed on site traffic and activity.

[0175] Such a card 70 may further be provided by a third party application vendor, and in such case may also connect to back-end applications provided by the third party application vendor.

[0176] It will be appreciated that the use of such cards 70 can avoid the generation of multiple cards 70, which would otherwise clutter the feed. A single card 70 may provide a display of up-to-date information and may pop to the top of the feed when an important event occurs (e.g., a top selling product changes).

[0177] It will also be appreciated that the system 100 (and cards 70) can have parameters that control functionality. Such parameters may be specified (for example) at the website level or in real time by users 60 (including both site owners and site visitors).

[0178] For example, a site may specify parameters for its business analytics (e.g., provide a top sales analytics card every X days). The site owner may override these parameters, and some or all users belonging to the site may specify parameters (e.g., card feed filtering and sorting criteria) for a particular card 70 or for the system 100 in general.

[0179] These system parameters may further depend on the particular site page or page component being viewed; that is, the site page or component may require or set parameters for the product card system 10 .

[0180] When the product card system 10 is integrated with the website building system 20 (e.g., as a side window), a particular page can request or affect the display of the card 70 while the site visitor is viewing the page, which can further be accomplished by one-way or two-way communication between the displayed primary website (e.g., displayed in a mobile browser) and an instance of the product card system 10 implemented as a mobile application on the same mobile device.

[0181] Thus, for example, when a user 60 visits a particular e-shop, the product card system 10 may highlight (e.g., by filtering, prioritizing, modifying visual attributes, as described in more detail herein below) cards 70 that are related to the particular e-shop, the particular visited page, or products related to that page. If (for example) the visitor is looking at a page of fishing rod products, the product card system 10 may highlight cards (currently in the user feed) that draw attention to fishing-related or otherwise complementary products.

[0182] Reference is now made back to Figure 3, which illustrates sub-elements of the product card system 10. As discussed herein above, the product card system 10 can include a repository 11, a card marketplace 101, a card creator 102, a card communicator 103, a product matcher 104, an external system supporter / integrator 105, a card transformer 106, a feed displayer 107, a card transferer 108, a product classifier 109, a rules engine 110, an AI (artificial intelligence) analyzer 111, and an external sensor and information receiver 112.

[0183] The card information repository 11 can store predefined card definitions (in repository 11e), visual widget and view definitions (in repository 11a), action type definitions (in repository 11d), general business object information / hierarchy (in repository 11b), generated cards (including visual widgets, underlying business objects, associated action information), card feed content (in repository 11c), and card rule definitions (in repository 11f). The card rule definition repository 11f can include databases that store card conversion rules, card adaptation rules (including adapting existing cards to external interfaces), business logic rules, filtering rules, and card generation rules (including analyzing data repositories and discovering conditions that result in the generation of a particular card), prioritization rules, product matching history, user inquiry history, collected business intelligence, and user / site relationship data (e.g., following / friend definitions), as discussed in more detail herein below. It will be understood that the above repositories can have highly variable sizes and update rates. For example, operational data repository 11c may include data per website building system user and data per website building system host site interaction, which may be substantially larger than the other repositories. In an alternative embodiment, website building system 20 and product card system 10 may be substantially integrated, and some elements of card information repository 11 (such as 11c described above) may be stored within or as part of website building system repositories 22 and 23.

[0184] The card marketplace 101 may provide an internal marketplace (similar to an app store concept) that may enable various third / fourth party designers to sell card types.

[0185] The rules engine 110 can process card-related events (e.g., creation, deletion, transfer, attribute modification, associated action invocation, etc.) and perform various system operations according to the underlying business logic defined using a set of rules stored in the card rules repository 11f.

[0186] For example, the product card system 10 can generate alerts or reports to the site owner. A simple alert (for a hotel website) can notify the hotel website owner of a new room reservation or a new arrival. A complex alert can notify the owner that a scheduled check-out of a room has been immediately followed by a scheduled check-in to the same room, and thus, the room requires urgent cleaning or other handling. Such alerts or reports can act as launch hook triggers to the product card system 10, as described herein below.

[0187] It will be appreciated that rules generally consist of triggering hooks based on an event or combination of events (e.g., run when a card is created or modified) along with additional logic conditions (e.g., "only run on Fridays"). These can include user-defined or user-related criteria related to indirect parameters of the card, such as attributes of the user referenced in the card. This can be used, for example, to redirect a customer question chat card to a Spanish-speaking visitor assistance representative (using product card system 10) based on detection of the language used in the chat card or the country of origin of the e-shop visitor.

[0188] It will be appreciated that rules can be created using a rule editor (possibly integrated with the website building system 20) or a rule specification language.

[0189] A rule may be predefined to create a card 70, modify a card 70, or delete a card 70. An example is a rule applied to a hotel management website that creates an alert card 70 whenever there is a room with a check-in and check-out close to each other (e.g., less than X hours apart). The underlying business object for the card that is created is the particular room involved. Such a card will be posted to the hotel shift manager feed and to the feed used by the cleaning staff.

[0190] It will be further appreciated that business logic rules (which may be triggered by system events) are distinct from the previously defined transformation rules (which are triggered when a card is transformed and govern the transformation process), however business rules may also enforce the transformation rules (to create transformed cards under certain business conditions).

[0191] System 100 can also support dynamically added rules, which are added (for example) by a site owner via the product card system 10 or an online version of the rules designer (as described herein below).

[0192] An example would be a rule added by a hotel site owner when he receives notification of a reservation by an important repeat client and dictates that the hotel should provide this client with certain amenities upon check-in.

[0193] Such rules would be activated upon check-in as previously described and would generate an additional card detailing the amenities to be added.

[0194] In an alternative scenario, the hotel site owner can directly create the reminder card 70 (rather than dynamically creating specific rules).

[0195] Such rules can be in the form of insights, similar to those created by the system 100 with the business analysis cards, as described herein below. Such insights can be instructions or reminders for the site owner to take some action.

[0196] It will be appreciated that the rules are typically defined by the site owner via a rule definition tool or UI (rule designer) integrated into the website building system 20. The rules are then stored as part of the per-site section of the card rules repository 11f.

[0197] Rule designers can have an offline version (for predefined rules) and an online version (for rules that are dynamically added during site operation).

[0198] It will be appreciated that there are many ways in which products can be categorized, including any of the following or a combination thereof: A user 60 can explicitly set the classification (assisted by an associated user interface such as a visual editor 26).

[0199] The product classifier 109 can classify products according to what it receives from the user 60, such as products listed on site pages as well as message cards (via text, audio, image, video, or other media types). Such analysis may require advanced analysis (e.g., using the AI ​​analyzer 111). For example, the user 60 can post a photo showing five people wearing various shirt types and ask the site owner, "Do you have anything like the long-sleeved shirt in this photo?" The product classifier 109 can use templates that have been used to build the current product definition or inherited classifications (with modifications) from other product definitions. The product classifier 109 can generate, for example, an ID or pointer to the business object taxonomy repository 11b, a set of such pointers or IDs, or a formal query that can later be applied to the repository 11b. Note that the product classifier 109 can gradually modify and adapt the repository 11b based on previous product queries and classifications (and maybe inferences made by the AI ​​analyzer 111), making the repository 11b a "live repository" that improves over time.

[0200] The product classifier 109 can further classify based on an analysis of the site structure (e.g., what are related products in the shoes section or the shirts section). Such product pages can be virtual pages, i.e., pages that are automatically generated based on the contents of the product database.

[0201] The product classifier 109 can further classify based on an analysis of the displayed (possibly virtual) product page or its underlying components (e.g., text analysis of the product description, image analysis of the product photo, and using price to decide between multiple possible product classifications). It will be appreciated that this analysis may also be used to classify product references on other cards, such as chat cards that discuss car models.

[0202] The product classifier 109 may classify based on an analysis of the underlying data items of the product page. It will be appreciated that the product card system 10 may allow product classifications to be derived directly from the underlying merchandise, which may include additional or better structured information.

[0203] The product classifier 109 can classify based on site edit history (e.g., product X was added as part of a group of flannel men's shirts). Such history can be gathered based on actual site page usage or based on the use of data records underlying the generated virtual pages. It can further classify based on site usage history (e.g., previous manual matches made between this product or similar products and other fully analyzed products) and learning (including deep learning) by the AI ​​analyzer 111 using previous queries and matches, as described in more detail herein below.

[0204] It will be appreciated that, as is common in product taxonomies (including hierarchical taxonomies), a product may have multiple classifications. Some of the classification techniques described herein above may also be based on matching a product to other products (including classification information). Such techniques are further useful for use by the product matcher 104, as described in more detail herein below.

[0205] The card creator 102 can create cards 70 to represent activities and events in the website building system 20. For example, whenever a shop owner defines a particular sale or promotion in the e-shop, the product card system 10 can create a particular "sale" card and post it to the card feed of the store owner and store visitors (perhaps to people who have shown interest in the store or product, e.g., "followers", even if they are not currently visiting the store). The product card system 10 can further summarize multiple activities / events in the website building system 20 as a single card.

[0206] Reference is now made to Figure 5, which illustrates elements of the card creator 102. The card creator 102 can include a number of receivers 1021, a type filter 1022, an action prioritizer 1023, a product processor 1024, an insight analyzer 1025, a card prioritizer 1026, and a card generator 1027.

[0207] As described in U.S. Patent Application Publication No. 2009 / 0133991 and discussed above herein, the created sites may include third party applications that may exchange information (with the website and with each other) using standardized structured messages (activities). Some or all of these activities may correspond to specific cards 70 that may be created to represent the messages and displayed in the associated user feed.

[0208] It will be appreciated that the creation of cards 70 (widgets, actions, etc.) can be based on predefined rules (stored in the card information repository 11) that can specify under what conditions the cards 70 should be created. Based on an action or request trigger (such as the launch hook described above in this specification), multiple receivers 1021 can search for and receive the associated card type / subtype, associated widgets, and associated actions stored in the database 11 according to the associated rule. The received trigger may sometimes already have the associated card type / subtype (e.g., when the system 100 is specifically requested to create an "order product" card) and sometimes it may not (e.g., the trigger is "user entered shop X - is there a card associated with this"). It will be appreciated that such rules may be evaluated based on the trigger itself (e.g., the shop entry described above), based on a schedule (time of arrival X), or periodically.

[0209] It will also be appreciated that in addition to rules, the card creator 102 can create cards based on analysis performed by the insight analyzer 1025 and the AI ​​engine 111, as discussed in more detail herein below.

[0210] Multiple receivers 1021 may further receive manually created cards 70 by users 60 for generation and display as described in more detail herein below, as well as requests to convert the information on the cards 70 as described in more detail herein below.

[0211] It will be appreciated that third parties may further design cards or related elements, including layout and design, use of third-party applications within the card, associated actions, back-end logic (whether the card 70 runs on a client, a system server, or a third-party server), new business entities, product categories, and operational rules. Such third parties may perform such card design operations (for example) through provided tools (via the website building system 20), through a definition language, or programmatically through provided APIs (as discussed herein above). Such third parties may or may not be vendors of third-party applications for the website building system 20.

[0212] The card creator 102 can create a card 70 for a particular user 60 based on its direct action (e.g., a card 70 representing an order made by a site visitor). An incoming action can act as a trigger for the card creator 102 to create a card according to rule and action definitions provided by the rules engine 110 based on rules stored in the card rules repository 11f.

[0213] It will be appreciated that another trigger, as received from the sensor 80, can be external real-world information such as the user's actual physical (e.g., GPS-based location / speed / direction), environmental, biometric, physiological, or psychological parameters, as well as interactions with other people or objects. One example of this information is tracking of the user 60 entering or leaving a particular shop. The user's 60 entry into the shop can trigger a card offering a special sale item from the particular shop. Conversely, a substantial physiological response to a given system action, such as the display of a particular card 70 (detected by an associated sensor), can further trigger additional product card system 10 activities or factors as parameters of rules that further control such activities. It will be appreciated that such received information can serve not only as triggers, but also as inputs to the presentation, selection, and order processing of the card 70. These may be received by the product system 10 via the external sensor and information receiver 112, or by the card creator 102 via the receiver 1021 as a form of action trigger.

[0214] The card creator 102 can further generate cards related to a particular time of viewing (e.g., "Your haircut starts in 4 minutes" or "Two new guests are checking into your hotel today"), as well as cards 70 for a particular user 60 based on analysis of the user's 60 activity (direct user activity or visitor activity on sites owned by the user). Examples include business analysis results or site improvement recommendations (also known as insights) generated for a particular site owner.

[0215] It will be appreciated that the card creator 102 can generate such business analysis cards 70 periodically (e.g., daily sales tally) or based on triggers such as planned / calendar events (generating a Christmas sales card when Christmas is approaching) or situations (e.g., "Congratulations, your daily hammer sales exceed $1000 for the first time" or "This product is high stock / low demand, why not create a promotion for it?").

[0216] Such cards 70 may further be initiated by the website building system 20 vendor as a trigger based on an analysis of the population of eligible users. Examples may include a "Enter your store in a special promotional contest" card 70, or a "Upgrade your site to VIP hosting and receive X, Y, and Z" card 70. The analysis may be based on user and site parameters as further described in U.S. Patent Application Publication No. 2010 / 0139994, entitled "System and Method for Capability Packages Offering Based on Analysis of Edited Websites and their Use," published Dec. 1, 2016, and assigned to the same assignee of the present invention. It will be appreciated that the analysis itself may be fully automated or may be manually initiated.

[0217] Another example is a business analytics card 70 for a blog site that displays which days of the week site visitors read the blog. If (for example) most site visitors visit the blog on weekends, the system 100 can populate the card 70 with insights from the site manager suggesting the blog owner to write a new blog post on Thursdays.

[0218] It will be appreciated that such analysis may be done on behalf of the site visitor as well (e.g., "Wow, you've made over $1000 in purchases through our system in the last 12 months" or "Here are the top 5 stores for Backpack X"). Such site visitor-side analysis cards can reflect events or analyses across multiple separate (but commonly related) sites or work sessions.

[0219] It will be appreciated that the generated insight cards may be design-related in addition to the operational insights discussed above. The insight analyzer 1025 may analyze the user's 60 site (including site components and layout, edit history, underlying site data, third party application / vertical usage history, etc.).

[0220] The insight analyzer 1025 may further integrate actual collected operational data and business intelligence for the current site, along with design and BI information collected from additional websites and mobile apps, including sites and apps not visited by the user 60. The insight analyzer 1025 may only be invoked if sufficient related / similar additional websites and mobile apps are analyzed at an aggregate level to maintain the privacy and anonymity of these additional analyzed websites, prevent the use of proprietary information not collected from a sufficient number of sites, and allow the analysis to have sufficient statistical significance. Additionally, the system 100 may provide an opt-in or opt-out mechanism, allowing a site to, for example, subject some or all of its information to analysis (and specify which information) in return for receiving similar analysis or some other form of (financial or other) incentive from other sites.

[0221] The results of such analysis may include suggested changes and modifications to the current site (or mobile app) that may be communicated as insight cards 70 (e.g., "Many e-stores like yours have recently been adding introductory videos to their welcome screens, why not add an introductory video?").

[0222] Such insights may be purely design-related ("Why not change design X to Y, it looks better") or may blend design and operational issues ("It is known that making change R on your site will improve sales of product type Z"). Suggested changes may include external to the site or visual application as well as the underlying data ("content"). For example, if the system 100 identifies that a particular product has a low number of views but on the other hand has a high customer conversion rate (sales / views), the system 100 may suggest upgrading the product to a more prominent location in the e-shop product gallery (by suggesting changes to the site content).

[0223] For some site changes, the product card system 10 may provide the user 60 with the option to perform the changes on his or her own behalf ("Press <Do it> to let the system do it for you") by instructing the website building system 20 to perform the changes or by directing the user 60 to the visual editor 26, so that the user 60 can modify the associated pages and components himself or herself.

[0224] The methods described in U.S. Patent Application Publication No. 2013 / 0133639, entitled “System Integrating a Mobile Device Application Creation, Editing and Distribution System with a Website Design System,” published on February 2, 2017, and assigned to the same assignee of the present invention, may be used. The insight analyzer 1025 may integrate design quality and diversity metrics as further described in U.S. Patent Application Publication No. 2013 / 0133639, entitled “System and Method for the Creation and Use of Visually-Diverse High-Quality Dynamic Visual Data Structures,” published on December 22, 2016, and assigned to the same assignee of the present invention.

[0225] As discussed herein above, the AI ​​analyzer 111 may utilize AI techniques (and deep learning in particular) to analyze the results of such proposed insights (if implemented). The AI ​​analyzer 111 may further accumulate knowledge regarding the analyses performed, the insights provided, the implementation of the insights, and the results of their use to provide a full feedback loop.

[0226] The AI ​​analyzer 111 can further use information from additional sites based on similar parameters (geography, product type, etc.) as well as product taxonomies to analyze product similarity. The AI ​​analyzer 111 can further accumulate knowledge about the user 60, such as interests, user behavior and preferences across multiple sites (such as product types viewed and purchased), and interaction details such as response times, exposure times, etc.

[0227] As an example, the card creator 102 can generate actionable recommendations to the user 60 based on the recent history of business events. For example, recommending an e-shop owner to discount a product or promote a product on Facebook. As further detailed in U.S. Patent No. 6,239,993 and discussed herein above, the created site can include third party applications that can exchange information (with the website and with each other) using standardized structured messages (activities). The card creator 102 can rely on the site's activity history as stored in repositories 22 and 23 to generate actionable conclusions and recommendations.

[0228] In this scenario, the receiver 1021 can select and receive as insight the card type and subtype associated with the recommendation.

[0229] The type filter 1022 can then reduce the set of received card subtypes to a list T (of card types and subtypes) by removing subtypes for third-party applications / verticals that are not installed on the site (e.g., removing hotel cards that are not related to an e-shop site).

[0230] The type filter 1022 can then filter out subtypes that do not belong to the target (e.g., visitor) category (such as refill cards), that are not related to a business object, and that do not have actions related to a business object.

[0231] The action prioritizer 1023 can then remove irrelevant actions, prioritize the remaining actions, and create a list A (or associated actions) associated with types / subtypes in T. The action prioritizer 1023 can remove all actions that do not appear in list T, and for each action, it can assign a numerical priority according to a predefined configurable table that correlates the priority with potential benefits from this action with business KPIs (Business Key Performance Indicators).

[0232] Examples could include "Promote on Facebook using your advertising budget" action = 150 (correlates with a site KPI of high traffic), "Share on Facebook" action = 100 (correlates with a site KPI of high traffic), "Offer discount" action = 80 (correlates with a site KPI of increased sales), and "Write a new blog post" action = 50 (correlates with a site KPI of more traffic through more content).

[0233] Other examples may include "Restock product" action = 30 (correlated with a site KPI of increased sales), "Contact customer" action = 10 (correlated with a site KPI of increased customer retention), "Publish product details" action = 0 (no correlation with business KPIs), "View recent orders" action = 0 (no correlation with business KPIs), and "Remove all actions with a priority value of 0."

[0234] The product processor 1024 can then process the set of existing business object instances (e.g., "red leather shoes") to create a recommendation list by removing irrelevant business object instances and prioritizing the remaining ones to create a list O (of business objects). The product processor 1024 can then remove business objects whose type is not a target of an action in list A, and for each remaining business object instance, query the history of activities associated with this instance. The product processor 1024 can assume, for example, that when "selling product X" is an activity, the generation of the activity correlates with an increase in a business KPI.

[0235] The product processor 1024 may then assign a numerical score using the following modifiers:

[0236] If a business object instance has N1 activities in the last D1 days, increase the score by M1×N1, where M1 is a configurable modifier weight value.

[0237] If a business object instance has N2 activities in the last D2 days, increase the score by M2 x (Mx-N2), where M2 is a configurable modifier weight value and Mx is the maximum number of activities for this business object type.

[0238] The card prioritizer 1026 can create a prioritized list of cards C proposed as a result of the product processor 1024. The card prioritizer 1026 can pair all business object instances in list O with card subtypes in list T (that have matching business object types).

[0239] The card prioritizer 1026 can assign a priority value of Po×Pa to each such pair, where Po is the score of the business object instance in list O and Pa is the score of the action of the card in list A. It will be appreciated that due to the importance of the parameter selection by the action prioritizer 1023, various sets of values ​​can be tested by the website building system 20 using an experimentation module (as discussed in US Pat. No. 6,399,433, entitled “System and Method of Handling Complex Experiments in a Distributed System,” published May 15, 2015, and assigned to the same assignee of the present invention). For each set of values, a large population of users (for statistical significance) is tested and compared using the system's top-level business KPIs, such as sales or traffic.

[0240] Finally, the card generator 1027 can generate the resultant card by binding the required fields in the card 70, ie, type, product information, widget information, actions, etc., based on the card definition repository 11e.

[0241] It will be appreciated that the card creator 102 can generate a card 70 for a user 60 based on another user's activity that affects the current user 60. Examples include direct messaging from another user 60, such as a chat request or product inquiry, or notification of an incoming site visitor that is relayed to the site owner.

[0242] The card creator 102 can generate cards 70 due to various system notifications and alerts. These can be technical (e.g., the site is down), operational (e.g., an out-of-stock warning), or informational (e.g., increased traffic on a particular site section).

[0243] The card creator 102 can further generate cards 70 according to past user activity. For example, a product order placed by a site visitor may possibly be represented as a pending order card in both the site owner's feed and the site visitor's feed (until it is shipped or delivered). The card creator 102 can further generate additional or follow-up cards such as "Your order X was shipped today" (or update dynamic cards as discussed herein above).

[0244] The card creator 102 can further generate cards 70 with the activities of other users and products followed by the user 60. These can be the user's friends (if social networking functionality is implemented), e-shops, and groups to which the user 60 subscribes (e.g., "your favorite store is just having an end of season sale"), etc. It will be appreciated that this also applies to site owners, i.e., shop site owners can follow certain products to get information about industry trends.

[0245] As discussed hereinabove, the website building system 20 may enable a site owner (e.g., an e-shop designer) to include banner ads in an edited site. This may be done manually (e.g., by including a banner ad object in the visual editor 26) or semi-automatically as part of automated product page creation.

[0246] Thus, when a site visitor clicks on a banner ad, the system 100 can redirect the site visitor to a specific (e.g., product) page and initiate a chat card 70 or generate an order (using a matching order card 70).

[0247] In an alternative embodiment, system 100 allows site owners to generate "external" banners (e.g., using a "Create Banner" button included in the product database editor) that can be placed on web pages external to system 100. Such banner advertisements may be packed into a set of files, may be embedded in an external website, and may perform any of the functions described above even when called by the external system.

[0248] It will be appreciated that the website building system 20 may further include functionality that allows the user 60 (site owner or site visitor) to explicitly create cards 70. For example, the main application of the e-shop may be provided with a UI whereby the site visitor may use a "buy now" or checkout feature to convert a single item (or an entire shopping cart) into a card. The product card system 10 may further allow the user 60 to create cards that do not reflect actual activity in the website building system 20, for example, bookmark cards for a product ("see this shirt later," or "create a reference for this product in my chat session"), which do not affect orders or other activities in the website building system 20. Another example is a "share" feature to a product in the e-shop, which generates a card 70 for this product to share in various channels, such as chat conversations, without affecting the website building system 20.

[0249] The user 60 may also explicitly request to create a card 70 for communication purposes. An illustrative case is when an e-shop owner is communicating with a visitor (e.g., real-time chat / instant messaging (IM)) and wants to share a card 70 with the visitor (e.g., recommend a product for purchase).

[0250] In this scenario, the type filter 1022 can select card types and subtypes relevant to the communication and reduce them to a list T by removing subtypes that cannot be shared on the relevant communication channel, removing subtypes for third-party applications / verticals that are not installed on the site (e.g., removing hotel cards that are not relevant to an e-shop site), and removing subtypes that do not belong to the communication target's (e.g., visitor) category (e.g., refill cards).

[0251] A next product processor 1024 can select the business object types relevant to the communication (e.g., products) and reduce them to list B by removing business object types that do not appear on cards 70 in list T and removing business object types that are incompatible with the target of the communication (e.g., an “order” business object for a visitor who has never placed an order).

[0252] The product processor 1024 can then select the business object instance (eg, "red leather shoes") associated with the communication.

[0253] The product processor 1024 can then reduce the list of all business object instances by removing business objects whose type does not appear in list B and, if a business object has a pointer to a visitor (e.g., an order point to a customer), removing all business objects that do not point to the target of the communication.

[0254] The product processor 1024 may then assign a numerical score to each of the remaining business object instances in list O using the following modifiers:

[0255] If the business object instance was last updated on the last D days (on due date d), increase the score by M1 x ([current date]-d), where M1 is a configurable modifier weight value.

[0256] If the business object instance was last seen by the initiator of the communication in the last H hours (at time h), increase the score by M2 × ([current time]-h), where M2 is a configurable modifier weight value.

[0257] If the business object instance was last seen by the target of the communication in the last H hours (at time h), then increase the score by M3 x ([current time]-h), where M3 is a configurable modifier weight value.

[0258] For keyword relevance, the product processor 1024 can generate a list of keywords K for the business object instance. These can be, for example, explicit keywords already found in the data model, or keywords created by splitting the contents of a field (such as "Title") into words. In this scenario, the modifiers are:

[0259] For every keyword in list K that appears N times in the last W words of the communication, increase the score by M4 × N, where M4 is a configurable modifier weight value and W is also a configurable parameter.

[0260] The card prioritizer 1026 may then create a prioritized list of proposed cards C as a result of the above-described processing. The card prioritizer 1026 may pair all business object instances in list O with card subtypes (that have matching business object types) in list T, and then assign priorities according to the numeric score values ​​of the business object instances calculated by the product processor 1024.

[0261] It will be appreciated that modifiers as discussed herein above perform calculations based on the current date and time, however, one embodiment of the process may perform this calculation for a different valid date and time.

[0262] It will also be appreciated that the system 100 may support cards 70 that point to abstract products rather than specific products by a particular vendor (e.g., website). For example, the website building system 20 may support a "bookmark this product" feature (creating a card that points to a particular product at a particular e-shop). However, the system 100 may further provide a "bookmark this product type" feature that creates abstract product bookmark cards. Such abstract product cards may be used, for example, to search other sites for matching products (as discussed further below).

[0263] It will be further appreciated that cards 70 are typically created for a particular user 60. However, the system 100 may enable the creation of cards 70 to be distributed to multiple users 50. For example, a martial arts training group manager (e.g., head instructor) may create a card 70 describing a workshop that is to be run by a visiting senior teacher. Such a card 70 would be displayed to all group website visitors (when they visit the website) and in the feeds of all undergraduate students in the training group (even if they do not visit the site).

[0264] It will be appreciated that the card 70 may further include references to products or actions associated with the external system 40, such as Amazon e-shop items.

[0265] Such a card 70 is treated as any other normal card 70 (e.g., feed display, forwarding, product matching, etc., as described in more detail herein below). The associated action (such as performing an actual purchase from Amazon) may be performed by redirecting to the external system or (possibly) via the website building system 20 acting as a front end to the external system. As shown in FIG. 6, to which reference is now made, the product card system 10 can use a mobile device 300, a display interface app 310, and a "purchase" card 70 to perform a transaction with an external system 40 via the product card system 10's server. The device 300 can also directly connect to the external system 40.

[0266] The external system supporter / integrator 105 can analyze the products described by the external references and can instruct the card creator 102 to create the card 70 using the external references as attributes. The external system supporter / integrator 105 can perform a web page analysis (or a similar analysis applied to the displayed page of the mobile purchasing app). The analysis can include elements of the external page, such as the underlying code (e.g., HTML, JS, or CSS) of the actual external page, the external page visual representation, the location of the external reference (e.g., the location of the page on the Amazon website), classification information, taxonomy criteria, and text elements such as title, description, details, recommendations, etc., or other product references.

[0267] The external system supporter / integrator 105 may analyze factors such as product images, video or media reviews, third party resource pages or information about the product (online or offline), and matching performed against similar or "adjacent" products, e.g., analysis of an Amazon product based on analysis performed on another (similar or somehow related) Amazon product.

[0268] Alternatively, the external system supporter / integrator 105 may allow card actions to launch external programs such as direct shipping to the external system 40, operate an external printer, or request a restock from a supplier by communicating separately with the system.

[0269] It will be appreciated that such analysis can be further applied to actions available for external products (or other references). Thus, the external reference card 70 described above can be used in a number of scenarios, such as:

[0270] A site visitor asks the shop owner - "Do you have a product like Amazon product X" (or asks for help with it).

[0271] Site owners send messages to site visitors that refer to external products (e.g., "You need Amazon product X to participate in training session Y" or "Our car would be best served with engine oil XYZ").

[0272] Although the system 100 may enable visitors to order products via the website building system 20, such requests may generally simply be redirected to the product vendor (e.g., Amazon) unless it is part of an affiliate agreement.

[0273] It will be understood that product references are generally temporary, and that the system 100 does not maintain the references (e.g., if the external product page is moved or modified), nor does it require explicit integration with the third-party vendor (other than an affiliate agreement).

[0274] The external system supporter / integrator 105 may further provide a set of (dynamically loaded / updatable) adapters that can adapt the card 70 to different host environments and enable the card 70 to operate in different environments.

[0275] After the card 70 is generated by the card creator 102, the card feed displayer 107 can generate and continuously update a display feed of the card 70 to the user 60 in a specific data feed or other scrolling display as the user 60 enters the product card system 10. The feed displayer 107 can use (alternatively or simultaneously) multiple display forms in addition to the card feed form. For example, the feed displayer 107 can support the presentation of the card 70 by a virtual keyboard (as can be used in mobile device operating systems). Such a keyboard can implement normal keyboard keys, but can also (for example) display the card 70, card elements, and additional supporting "keys" such as related products, product attributes, and product categories (which can be used for exploration or to support chat activities). Such a keyboard can be specific to the current site.

[0276] Reference is now made to Figure 7, which illustrates the elements of the feed displayer 107. The feed displayer 107 may include a card retriever 1071, a card filter 1072, a card feed prioritizer 1073, a feed manager 1074, and a card updater 1075.

[0277] Feed processing is generally performed in a front-end component of the product system 10, but it will be appreciated that it may also occur in a back-end component of the product system 10 or be split between the two components.

[0278] The card retriever 1071 can retrieve cards 70 from multiple sources, such as cards 70 generated for the user 60 by the card creator 102 (as described above in this specification) and cards 70 generated for a site selected by the user 60 (e.g., promotions posted by a shop in which the user is interested). Other cards 70 can be specific cards (e.g., promotions) published to visitors by the site owner according to lists stored by the system 100, such as a subscriber list, a current visitor list, a past site visitor list, or a past purchaser list, and cards 70 generated as part of a chat conversation initiated by the site owner or site visitor. These lists can be stored in either the repository 23 for website building system data or the operational repository 11c for product card system data.

[0279] The card filterer 1072 can filter the retrieved cards 70 such that relevance is placed in the feed based on criteria such as urgency (e.g., removing cards 70 that are not urgent), the user's 60's interest level, which can be based on the user's 60's own interactions and past interactions with similar cards in the past, the user's 60's friends' interactions, other interactions with the same or similar sites (e.g., similar e-shops), or other interactions with the same or similar products as those listed in the rated card 70. It will be appreciated that the user's 60's interest level in a particular card 70 can be positive or negative. For example, the system 100 can prevent the user 60 from swiping away the card and then presenting the card (and possibly similar cards 70 as well) to the user 60 for a given period of time (e.g., one week).

[0280] The card filterer 1072 can further filter based on user-defined criteria (e.g., user-defined areas of interest, "don't show me spring sales promotions," etc.). User-defined criteria can further include product comparison and matching criteria (e.g., "show only clothing promotions for black clothing" or "show only yacht promotions for yachts like XYZ"). Such product comparisons can be based on the results of the product matcher 104 as described in more detail herein below.

[0281] The card feed prioritizer 1073 can prioritize cards 70 to be used in the feed and use configured card 70 priorities based on criteria such as giving high priority / highest visibility to "urgent" related cards 70, and promoting paid content according to given criteria (such as through built-in feed ad space exchanges).

[0282] The card feed prioritizer 1073 can also use user 60 initiated criteria (e.g., "Always show 'out of stock' cards from my e-shop at the top of the feed") or other mechanisms that allow the user 60 to gradually teach the system 100 about his or her interests (e.g., "Show me more / fewer cards like this").

[0283] The card feed prioritizer 1073 may further prioritize based on the user's 60 previous interactions and engagements with particular card types or subtypes, particular vendors or vendor types, particular products or product types, etc. (as collected by the system in a user activity repository). Such activities may be external to the cards. For example, the card feed prioritizer 1073 may recognize that a visitor has been purchasing many T-shirts, thereby promoting T-shirt-related cards even when such purchases were not made by responding to the T-shirt promotion card itself (e.g., pressing a "buy" button), but rather directly at the associated e-shop. The AI ​​analyzer 111 may further apply AI techniques or deep learning to the collected information related to any of the above.

[0284] The card feed prioritizer 1073 may prioritize cards 70 based on what the user 60 considers to be "sticky" cards 70 or card categories, by specifying their explicit priority, or (conversely) by specifying that a particular card 70 or card category is less desirable and should not be shown for a certain period of time. The card feed prioritizer 1073 may further modify card priorities in response to externally available information (e.g., increasing the priority, and therefore the visibility, of sales-related cards 70 when a "Black Friday" sales event date is approaching).

[0285] As discussed hereinabove, the card feed displayer 107 can perform card filtering and prioritization by learning from the user 60 about the interests of the user 60 during continued use.

[0286] It will be appreciated that the system 100 may maintain (in the operational data repository 11c) multiple instances of a table for each card type and subtype with entries that hold a numerical score per subtype known as the score modification number.

[0287] An instance of this table is maintained for each user 60 and for each medium of card 70 consumption. For example, a website building system 20 may have two users (e-shop owner and e-shop merchant), two channels of card consumption (a feed of the desktop administration interface website of the website building system 20, and a feed of a mobile app). Such a system may have four instances of the table (2 users x 2 channels) for each card type / subtype. These tables are known as cumulative score tables.

[0288] It will be appreciated that the rules engine 110 can maintain a list of rules stored in the card rules repository 11f, e.g., a rule for each potential system action (not a card action) that embodies an interaction of the user 60 with the card 70. For each such system action, the rule specifies a score delta (addition / subtraction) that is applied to the score of the card 70 when the particular interaction takes place. Alternative embodiments can include a multi-dimensional matrix of rules, e.g., having a rule for each system action and card type / subtype. The score delta is correlated to the required user investment to perform this action. For example:

[0289] For cards sent via push notification, if the push notification is clicked when the system is inactive = increase the score by 100 points.

[0290] Card is hidden = Reduce score by 5 points

[0291] Card is marked as completed = Increase score by 10 points

[0292] A card action is performed by the user (e.g. "View order details" on an order card) = increase score by 10 points

[0293] User clicks "Show me more of this card" via system interaction = Increase score by 100 points

[0294] User clicks "Don't show this card too often" through system interaction = score is reduced by 100

[0295] User stops scrolling the feed while the card is in-screen = Increase score by 1 point

[0296] When a user performs a system operation for which a rule exists in the repository 11, the cumulative score table is updated according to the delta score.

[0297] The card feed prioritizer 1073 then takes into account the current score values ​​in the repository 11c when prioritizing cards for display. The card feed prioritizer 1073 may assign a numerical value to each instance of a card 70 and may then sort the available cards 70 according to this value.

[0298] By assuming a card's current priority value is V, the card feed prioritizer 1073 can use the card subtype and look it up in the associated cumulative score table instance to get a score correction number S. It can multiply S by a predefined weight W (a configuration parameter of the system 100) and add it to V, which means V'=V+S×W.

[0299] It will be appreciated that the feedback loop between updating the cumulative score table and the numerical value assignments per card 70, as applied by AI analyzer 111, can continue indefinitely. It will also be appreciated that the various dynamic data structures (such as the cumulative score table) as described above in this specification are persistent, i.e., are continually maintained for user 60, and are not reset even as user 60 interacts with system 100 over a series of separate sessions or perhaps even from multiple devices.

[0300] Due to the importance of parameter selection for scoring as discussed herein above, various sets of values ​​have been tested with the website building system 20 as discussed in U.S. Patent No. 6,239,933. For each set of values, a large population of users (for statistical significance) is tested and compared using the system's top-level business KPIs such as retention rates and general engagement rates with the system 100. Such testing can be performed in an experiment management system such as that described in U.S. Patent No. 6,239,933.

[0301] It will also be appreciated that the processes and functionality and cumulative score tables as described above herein are maintained for user 60 within the context of the user's engagement with a single site. This can be done even though a single user 60 may connect with (and interact with) multiple sites in multiple roles. Thus, for example, user 60 may be the owner of one site, a salesperson at a second site, and a visitor or buyer at a third site.

[0302] Applicant has realized that users 60 may exhibit very different engagement patterns at different associated sites: for example, a single user 60 may be interested in bookings at one site and blogging activity at another site.

[0303] Thus, the card feed displayer 107 may display an alternative card feed for each site, or alternatively provide a single unified feed that consolidates interactions with multiple sites. In the latter case, the card feed displayer 107 may use a merging algorithm based on the card 70 priorities derived above for each site's card 70. Such a merging algorithm may merge the results of multiple instances of a single user / site process.

[0304] In an alternative embodiment, the system 100 may maintain cumulative score tables in repositories 11c and 23 that are related to particular user / site groups rather than to particular users (i.e., provide score correction values ​​that may be applied to multiple users 60 or sites rather than to a particular user 60). Such groups may include classes of users 60 (designers / shop owners / visitors, etc.) rather than specific users, site types, geographies, or any of the criteria specified for population selection criteria such as those described in U.S. Pat. No. 6,399,323.

[0305] Since an individual user's history is the best way to estimate a user's 60 preferences, these scores from such a group-based cumulative score table may be weighted low, and the card feed displayer 107 may generally optimize for a particular individual user 60. The card feed displayer 107 may use an AI analyzer 11 (e.g., based on deep learning algorithms) to determine how best to integrate the individual user and various group-based scores.

[0306] As discussed herein above, the card filterer 1072 and card feed prioritizer 1073 may rely on weights, which may be modified over time by the card feed displayer 107 based on the user's use of system operations or related actions. For example, (repeated) use of "hide this card" or "don't show any more cards like this" may result in lowering the priority of a particular card type or filtering it out altogether.

[0307] The product card system 10 can provide site owners and site visitors (as well as other user categories mentioned above) with specific variations in the feed display. Additionally (and as mentioned herein above), the same card displayed in the feed for different user types can have different widgets (as discussed in more detail herein below) and therefore different visual representations.

[0308] The feed manager 1074 can support additional operations on the cards 70 that affect the cards 70 themselves and their appearance in the feed. Such operations can include (for example), re-sort feeds, filter feeds, hide / unhide cards, delete cards, archive cards, and add notes to cards and set attributes (e.g., used to prioritize cards 70).

[0309] The Feed Manager 1074 also provides a clear "Search my feeds" mechanism for current and historical feed searching, as well as selective highlighting of card feeds, e.g., changing the card background color to red for all cards reporting low stock.

[0310] The feed manager 1074 can also coalesce multiple cards, i.e., merge cards with related elements into a single card. The feed manager 1074 can merge cards 70 based on product similarity, i.e., merge cards 70 whose products are similar when compared using the product semantic tree, for example, merging multiple shirt-related cards 70 into a single card 70. The feed manager 1074 can also merge cards 70 based on user interests, for example, if the card feed displayer 107 detects that the user is interested in shipping times, the feed manager 1074 can merge cards related to shipping times and reconstruct the shipping times in a calendar or date list form (depending on the shipping times).

[0311] It will be appreciated that the feed can serve as a central UI point for various actions that can be performed on each card 70 (such as card-related actions, transfers, conversions, etc., as discussed in more detail herein below).

[0312] It will also be appreciated that changes made to the card 70 may affect the attributes as far as the filtering and prioritization described above is concerned. For example, each order to an e-shop will cause the card 70 to appear in the merchant's feed. The merchant may receive the order and mark it as "shipped." The priority assigned to a pending (not yet shipped) order card may be different, and typically much higher, than the priority assigned to cards associated with products that have already been shipped.

[0313] The card filterer 1072 may further filter potential cards 70 according to the requirements or situation of the user 60 and according to the particular action the user 60 is about to take. For example, an e-shop owner having a chat conversation with a visitor may want to share a card with the visitor. The cards available for sharing will be the cards most relevant to this sharing situation (e.g., product cards / promotion cards 70).

[0314] It will be appreciated that the card feed displayer 107 can support a card feed that includes cards 70 (live cards) based on real-time updates from the system 100 .

[0315] The card updater 1075 can update the card during display in the feed. The card updater 1075 can further use predefined rules stored in the repository 11f, rules by which the card 70 can be updated. It will be understood that the card 70 can appear and disappear based on the update information, and the presentation and priority in the feed can be affected by this live data. Changes to the presentation of the card 70 can be complex based on the specific update functions included in the widget definition in the widget repository 11a. For example, the card can show a live graph of the current number of visitors to the site (as reported by the hosting server of the website building system 20), or a running graph of external data (such as a given stock price).

[0316] It will be appreciated that the cards 70 may be affected by real-time updates from the system 100. These cards may be known as live cards 70. The card updater 1075 may consequently add / remove such cards 70 from the feed or change their order of presentation or sorting. It will also be appreciated that the card updater 1075 may turn such live cards 70 into interactive cards 70. An example may be the addition of a tip to a restaurant payment card.

[0317] As discussed herein above, the system 100 may provide a set of generic operations for cards 70 that are distinct from the built-in actions / operations of the card itself. Some operations may be available to all cards 70, user categories, and interface applications, and some may be provided depending on each of these parameters (i.e., card type / subtype, user category, and interface application type). Such operations may include archive, delete, hide / unhide, add notes, etc. (as described in more detail herein below).

[0318] It will be understood that cards 70 can be sent or forwarded (along with their actions) between all users 60 (i.e., all combinations of user categories). Sending can be thought of as the initial transmission of a card 70 to a given user (from another user, or from the system itself). Forwarding can occur when a user 60 takes a card 70 that they have received and resends it to another user 60 of the system 100. Forwarding may include conversion of the card (as described in more detail herein below).

[0319] For example, a site visitor can receive a suggested product offer from the site owner and forward it to one or more of their friends ("Check out this great offer" card).

[0320] A site visitor can receive a product offer card 70 from an e-shop and forward it to the same e-shop (e.g., "Do you have this in black") or to another e-shop (e.g., "Do you have a similar product?"). This can include transforming or otherwise modifying the card, for example, by changing the underlying product or product definition or by adding additional notes and parameters.

[0321] The site owner can receive an order card 70 from a site visitor, detect (or be notified) that an item is about to go out of stock, and forward the card to the supplier as a "replenishment" request card. In this scenario, the card 70 is also transformed.

[0322] A franchisee site owner may receive an order card 70 from a site visitor, determine that they do not have the desired product, and forward the card for fulfillment by another franchisee of the same franchisee.

[0323] The card transferer 108 may receive the transfer request, instruct the card creator 102 to create one or more new cards 70 (based on transforming the received cards 70 and using data from such received cards 70), and then transfer the newly created cards accordingly.

[0324] For example, the system 100 processes received hotel reservation cards, thereby providing very high capacity by creating order cards 70 for cleaning companies to send extra cleaning agents or for laundry companies to make laundry more urgent. The created cards 70 can contain information (such as the room number to be cleaned) that is extracted from the original hotel reservation card and converted into these cards.

[0325] Similarly, the system 100 can handle high enrollment for a seminar by creating associated order cards 70 for more trainers or larger spaces.

[0326] The Card Transferer 108 can transfer these cards over multiple channels, such as within the product card system 10 itself, by unicast or multicast channels, for example.

[0327] The Card Transferrer 108 can further transfer these cards via a site promotion subsystem within the website building system 20, for example, a "Promote My Site" option within the website building system 20 that generates promotional cards within the product card system 10 (in addition to other activities such as creating promotional emails).

[0328] Transfer of the card 70 may also occur via existing communication channels such as email, social networks, chat systems, and other messaging systems. Examples include sharing the card 70 in a chat conversation internal to the system 100, sharing the card 70 externally on Facebook, sending the card externally to an external chat program (such as Facebook Messenger or Apple iMessage chat) via a third-party plug-in mechanism (e.g., the iMessage app), and sharing the card 70 externally between mobile apps on a mobile device using predefined APIs of the host operating system (e.g., Apple App Extensions).

[0329] As discussed herein above, the system 100 may enable the conversion of a card 70 into a new card 70 that contains information or is otherwise related to the original (unconverted) card 70. Such a converted card may replace the original card 70, e.g., an e-shop site owner may convert a product inquiry card into a suggested product card 70 and create additional (but still related) cards 70. For example, a hotel site operator may convert a room reservation card (where check-in needs to be performed immediately after a previous check-out) into a newly created "urgent room cleaning request" card while retaining the original room reservation card.

[0330] The card transformation may be manual (eg, performed by a site owner or operator) or may be performed automatically by the card transformer 106.

[0331] Card transformation can also affect a single card or change "n" cards into "m" cards (eg, by merging or splitting cards).

[0332] It will be appreciated that the transformation may affect the presentation, may include the use of alternative widgets or layouts, and may affect the product definition. The transformation may further be based on product comparison via the product semantic tree, as well as based on the results of the product matcher 104. Product matching may further include matching of partially specified business objects.

[0333] It will be appreciated that card transformation is different from a card 70 with multiple widgets (i.e., multiple views). A multi-widget card is a single card 70 that contains content and attributes that can be presented in several ways. The transformed card 70 may differ in type and attributes from the original card 70.

[0334] Card conversion is often used in conjunction with card transfer, but the two are different and may be used separately.

[0335] It will be appreciated that the card rules repository 11f may further include a repository of conversion rules, which may be based on a system 100 wide repository or on definitions associated with the definition of each card 70. The rules may be hardwired or may be created or modified by a rules editor.

[0336] These conversion rules define, for each card 70, what card it can be converted into and how the card's content, fields, and attributes are processed and mapped. The conversion rules can further define specific conditions under which an automatic conversion can be performed (or a manual one enabled). For example, a site visitor's order can be converted into an order from a store to the store's supplier if a particular product supply is in short supply.

[0337] The card transformer 106 can receive instructions for transforming the card 70 and can check associated transformation rules, which can include: general system-level rules ("Product request card 70 can only be transformed to an order card, where fields are mapped X⇒Y and Z⇒W"), site-specific rules, for example, if the site uses multiple new card types or a combination of two new card types.

[0338] As an example, a site visitor can receive a product offering card 70 from an e-shop and forward it to the same or another e-shop ("Do you have a similar product?") and convert or otherwise modify the card 70, for example, by changing the underlying product or product definition, or by adding additional notes and parameters. Visitors can edit products during conversion to combine various product and product attribute changes and override existing attributes.

[0339] The Card Transformer 106 can further forward cards 70 as well as coalesce them, i.e., the Card Transformer 106 can merge cards 70 with related elements into a single card 70. It can further merge cards 70 based on product similarity, i.e., e-cards whose products are similar when compared using the product semantic tree, e.g., merging multiple shirt-related cards 70 into a single card.

[0340] The card transformer 106 can merge cards based on the interests of the user 60. For example, if the system 100 detects that the user 60 is interested in shipping times, the card transformer 106 can merge cards related to shipping times and reconstruct the shipping times in a calendar or date list form (depending on the shipping time). The transformation can also affect the card sort order.

[0341] As discussed above in this specification, the site owner may receive an order card 70 from a site visitor, detect (or be notified) that an item is about to become out of stock, and convert the card 70 into a "replenishment" request card to send to the site owner's supplier.

[0342] Visitors can submit product inquiry cards 70, which the shop owner can convert into response cards 70 containing a specific product or a gallery of products. Such response cards 70 can further have a "Buy Now" button for quick checkout.

[0343] As discussed hereinabove, a shop owner can take a product page (the shop owner's own or from another site) or card 70 from a different merchant and create a card from it. This can be done, for example, to create a promotion for a modified product.

[0344] As part of the card creation process, the shop owner can transform the product definition and, for example, retrieve the product page for a green shirt (from their own or another site) and create an inquiry card asking their wholesaler if they have a similar model in red.

[0345] Such conversion can be manual by having the merchant manually modify the product attributes through a suitable interface.

[0346] Alternatively, the card transformer 106 can match the reviewed product definition with other product definitions (e.g., product definitions of the target business). This can be performed by automatic matching of products, product attributes, and tags, perhaps via a taxonomy of products or attributes. The product matcher 104 can utilize the AI ​​analyzer 111 to learn previous matches made by the system 100, as described in more detail herein below. The card transformer 106 can further allow the user (e.g., shop owner) to override some or all attributes of the proposed match.

[0347] As described herein above, the product matcher 104 can match a product (or business object) listed on a particular card 70 with one or more other products. This may be performed as part of a product discovery process, possibly involving compound queries (i.e., combining multiple product references) (e.g., "Find me a blue T-shirt that looks like product X" or "Do you have a mountain bike model with brakes made by X?"). This may be performed when suggesting alternative products, or as part of a product categorization process (e.g., when analyzing external products).

[0348] The product matcher 104 can match the product against a set of products defined internally by the product classifier 109 or defined at one or more external sites (e.g., non-system e-stores such as Amazon). It will be appreciated that for internal products, the system 100 can have internal descriptors detailing the attributes of the various products examined. On the other hand, for external products, the system 100 can only access the user-visible product pages, requiring the product classifier 109 to automatically classify them as discussed herein above. Alternatively, some external sites can provide a product information access API (providing structured product information) that can be used by the product classifier 109.

[0349] It will be appreciated that the matched products may be actual products (with a specific product ID and set of attributes) or partially specified product descriptions and categories ("blue turtleneck men's shirts").

[0350] A search by the product matcher 104 can include products from multiple sites (internal and external), so for example, a visitor can ask the system, "Find me stores that offer blue turtleneck men's shirts."

[0351] It will be appreciated that product matches can be exact or approximate. Even approximate product matches can be useful because (for example) a shop owner can suggest alternative products ("How about a light blue or silver turtleneck men's shirt instead?").

[0352] The product matcher 104 can perform product matching according to product attributes or classification. Classification comparison can include using a classification taxonomy tree.

[0353] The product matcher 104 may further match according to system attributes or products of the cards 70 (eg, using the same template, data item definitions, or similar system parameters).

[0354] The product matcher 104 can match based on analysis of the displayed product page or its underlying components (e.g., text analysis of the product description, image analysis of the product photo, use of displayed product attributes when internal attribute representations are not available).

[0355] The product matcher 104 can make matches based on site usage history, including previous manual matches made between this product or similar products and other fully analyzed products by the same user or other users.

[0356] The product matcher 104 can further use learning (including deep learning) via the AI ​​analyzer 111 of previous queries and matches. Using previous match history (manual or automated), including those made by other users of the system 100, the product matcher 104 can learn from manual matching decisions made by current or additional site owners or site visitors. Thus, if many users have matched product X with product Y, the product matcher 104 can determine them to be substitutes or at least similar, even if their state attributes do not indicate such similarity.

[0357] It will be appreciated that the product matcher 104 may use any of the above matching techniques or combinations thereof.

[0358] It will be further appreciated that the product matcher 104 can apply the techniques discussed herein above to perform matching of businesses and not just products or product definitions. This can become increasingly important as the number of businesses in the system 100 grows. Such matching may be used (for example) for business locations or for the system 100 to provide alternative suppliers (and not just specific products), e.g., "You have reviewed these 3 different shirts. We have additional e-shops for similar shirts in X."

[0359] Matching may also be product (domain) specific, ie, business A matches with businesses B1 / B2 / B3 in the domain of shirts, but with businesses C1 / C2 / C3 in the domain of sporting goods.

[0360] Matching can be based on analysis of offered products, but also on actual sales performance, if available and subject to business privacy concerns. Such business matching can be offered as an opt-in service, typically configured using "circles of reference." Thus, shoe business X can choose to join a "top shoes" circle, such that site visitors of shoe business X may be redirected to other businesses in the same circle, but only if the other businesses similarly redirect visitors to site X. Additionally, the site owner (or circle) can set specific conditions for the redirection, e.g., only redirect if "a particular product or a particular product category is out of stock." The product matcher 104 can then offer multiple such circles involving different businesses and different referral conditions.

[0361] Card communicator 103 may handle all card 70 related communications and routines between elements of product card system 10 as described herein above.

[0362] As discussed hereinabove, the product card system 10 can be integrated with the website building system 20 in several ways, as discussed in more detail hereinbelow.

[0363] It will be appreciated that the same product card system 10 instance can interact with multiple websites (or other applications) created and / or hosted by the website building system 20. The product system 10 can further simultaneously interact with standalone visual applications 30 that were not built using the website building system 20 (but include plug-ins or adapters that connect them to the product system 10). Thus, a feed of a single card 70 displayed by the product card system 10 can include cards 70 from multiple website building system 20 build stores (which may support integration points described below) and non-website building system 20 build stores (which do not support such integration).

[0364] As discussed herein above, widgets or views are an essential part of the composition of a card 70, and the system 100 may enable card widgets (or views) to be created and edited manually, automatically, or semi-automatically via the website building system 20. The person performing such creation may do so by a widget creator 24, as discussed in more detail herein below.

[0365] The website building system 20 can provide a (possibly scaled down) version 26 of a visual editor for editing the card widget. The edited widget component definition can include additional hints and information needed to define the data binding between the created widget and the underlying business object (e.g., as discussed in US Patent Application Publication No. 2014 / 0133999, entitled "Device, System, and Method of Website Building by Utilizing Data Lists," published on September 18, 2014, and assigned to the same assignee of the present invention).

[0366] The visual editor 26 may generally be used by internal staff of the website building system 20 vendor and possibly by third-party application vendor staff. However, the website building system 20 may provide more limited variations of such editors that may be used by site owners (e.g., to create custom or branded designs for cards generated by their site) or by external third parties. The system 100 may further provide separate editors (different from the visual editor 26) for cards 70 and their elements. The created cards 70 may then be offered through the card marketplace 101.

[0367] The system 100 can allow widget definitions to be created along with product page definitions, which generally applies to product-related widgets and not other visual widget types (business analytics, chat, etc.).

[0368] Such creation can be done manually by editing the widget definition in conjunction with editing the associated product page (e.g., having a multi-view or multi-layer editor).

[0369] Alternatively, the website building system 20 can allow a widget designer to select visual elements from a product page (or template) for use in the widget, and perhaps add display hints and data binding information.

[0370] It will be appreciated that a card 70 definition can have multiple widgets associated with it in the widget repository 11e. This could be for any combination of the situations described above in this specification. These could include the use of multiple widgets for presentation on multiple platforms or multiple display configurations (e.g., screen sizes, or mobile vs. desktop), different user classes (e.g., presentation to site owners vs. site visitors), multiple possible card presentations (e.g., depending on attributes specified for the underlying business object), multiple widgets used at different times or under different conditions (e.g., a pending order card shown to a site user could use two widgets, one including a cancel option and one independent of the availability of such a cancel option). Furthermore, a single card 70 could visually combine multiple widgets. For example, an order card 70 could be associated with one widget that provides the main visual structure and options of the card, and an additional set of widgets where one widget can be dynamically selected (and possibly adapted) by the card creator 102 depending on the actual set of attributes of the product ordered.

[0371] The widget creator 24 can then create a matching widget by automatically constructing a view that displays the specified fields, possibly using dynamic layout data associated with the visual elements. The widget creator 24 can allow a user 60 to edit and reconfigure the automatically constructed widget. Such a procedure is described in U.S. Patent Application Publication No. 2013 / 0133999, entitled “System and Method for the Creation and Use of Visually-Diverse High-Quality Dynamic Layouts,” which issued on August 29, 2017, and is assigned to the same assignee of the present invention.

[0372] The widget creator 24 can select a matching view from predefined views stored in the widget repository 11a, or can select such a view and adapt it. Such a procedure is described for a dynamic matching and adaptation module that performs view-to-product matching, as described (for example) in US Pat. No. 6,399,363.

[0373] The widget creator 24 can also select and / or adapt existing card views (or other design sources) and find a set of matching views extracted from multiple sources, allowing the user 60 to select the best view. Such procedures are described for layout search and generators and layout filters and rankers, as described (for example) in U.S. Patent Nos. 5,393,963 and 5,741,633.

[0374] It will be appreciated that the same product page may be associated with multiple widgets, for example, an "order tracking" widget and a "product promotions" widget, having substantially different layouts and designs.

[0375] As discussed herein above, in some cases the product card system 10 display (and the card feed in particular) may be integrated with the website building system 20 display, for example as a side-by-side window display or as a news feed subframe within the website building system 20's own editing environment display or within an internal visual application 21 created by the website building system 20. This may further apply to standalone visual design applications 30 (both websites and mobile apps) created using any platform or technology that provides the product card system 10 with an appropriate plug-in or interface.

[0376] In such a scenario, the owner of the website building system 20 may want to adapt the interface system display (fully or partially) to the look and feel of the visual application that “hosts” the product card system 10 display.

[0377] The visual adapter 25 can enable a card widget design to explicitly inherit style and layout information from the hosting page (while perhaps applying predefined default values ​​if the hosting page does not provide the relevant information).

[0378] The visual adapter 25 allows a hosting page to explicitly override style and layout elements of a displayed card, as well as allowing the hosting page to provide alternative widget templates to be used by an associated card 70 (subject to rebinding of card 70 data performed by the card creator 102).

[0379] An example of a card action scenario using the system 100 may include a buyer requesting a shirt by sending a shirt request card to a store. A shirt request is a non-specific request that describes the nature of the shirt without providing a precise product ID (or a link to a specific product in an e-shop).

[0380] The store owner returns with a converted card 70 describing one or more alternative shirts (e.g., including a responsive gallery displaying the options). This can be done by a matching process using the product matcher 104 as described herein above. Matching can be done against the same e-shop, other e-shops in the system 100, or external sites and e-shops. This process can be manually assisted by the e-shop operator (e.g., if the operator wants to add possible submissions from external sites for which the system does not have a product matching interface).

[0381] The buyer selects the desired shirt card 70 (or a gallery option that displays the shirt) and orders it. The associated visual application (e-shop or otherwise) may determine that product inventory is too low, in which case it creates an additional restocking card and sends it to the e-shop supplier.

[0382] In another scenario, a buyer obtains a card 70 describing one of the shirts proposed by the shop owner. The buyer then converts it into a request card 70 and forwards it to an alternative supplier. The alternative supplier then responds to the buyer.

[0383] In yet another scenario, the buyer takes a card 70 describing one of the shirts suggested by the shop owner and converts it into an inquiry card, possibly modifying the card and changing some attributes and conditions, e.g., "I found shirt #5, but with shorter sleeves."

[0384] The buyer then requests that the product card system 10 match it with possible product offerings from a set of suppliers. These could be (for example) suppliers in general, suppliers selected according to specific criteria (e.g. "within 10 miles"), suppliers associated with a related product category, or suppliers interested by the buyer. In alternative scenarios, additional systems, such as an ERP system of an e-shop, may be added to the system 100.

[0385] Another set of possible scenarios is the use of the system 100 support for site visitor interaction via chat.

[0386] The product card system 10 may support chat with anonymous visitors (by providing notifications to the site manager). The product card system 10 may protect the privacy of the visitor and will only share limited information with the site operator 60 (as part of the notifications and follow-up chat sessions). Thus, the product card system 10 may provide the site operator 60 with information about the visitor's country of origin and the pages of a particular managed site visited by the visitor, but would not provide other information the product card system 10 has about a particular visitor (such as information known to the product card system 10 about the visitor's activity on other sites not managed by the same site operator 60).

[0387] Visitors can ask about products they did not find. Visitors can also use cards 70 (from the same site or another site hosted by the system) as models for the desired product.

[0388] The site manager can send cards 70 that link to a particular product with an action (e.g., a "Buy Product X" card) that includes an embedded image with details. Such cards 70 are essentially "reverse orders" sent from the site manager to the visitor (instead of vice versa). The order may arrive as a push notification to the interface application site manager's phone (if not made during a chat). The site manager can also send a "forward to page" notification to the user to take the user directly to a given page on the site.

[0389] These chat scenarios differ from the order-related scenarios described above in that the discussion takes place in the context of a chat session (where the visitor presumably remains anonymous) rather than through the use of explicit request / order cards. Chat cards can still include product references as discussed herein above.

[0390] It will be appreciated that the system 100 can include several elements comparable to those found in social networking systems, such as the ability to "like" a product or page via a built-in "like" mechanism, the ability to share a product, page, or card by forwarding it to a third party, the ability to follow or subscribe to particular sites (e.g., e-shops), and having a card feed that reflects system activity.

[0391] It will be further appreciated that the system 100 may implement additional social network type features, such as friend relationships between users and the creation of groups to which users can join.

[0392] Applicants have realized that system 100 may differ from existing social networking systems in that it has an underlying three-entity model.

[0393] Reference is now made to Figures 8A, 8B, and 8C, which show three types of social networks. It will be appreciated that some existing social networks (such as Twitter) have an underlying one-entity model (as shown in Figure 8A, referenced next) that is primarily based on users and their relationships. In Figure 8A, all the circles represent users. The circles within the cloud can be considered internal users, i.e., users registered within the system 100, and the circles outside the cloud represent single external users who are not registered and therefore unknown to the system 100. Users can befriend (or in the case of Twitter, one-way follow) other users, and external (non-network users) can further visit or see network user information.

[0394] Other existing social networks (such as Facebook) have an underlying two-entity model based on users and content providers (i.e., pages). Pages can include a multitude of page types (e.g., groups, businesses, artists, brands, etc.) as well as users' own personal pages. Users can subscribe to pages via group membership, page following or liking, or (indirectly) through friend relationships.

[0395] Refer now to Figure 8B, which shows such a network including personal pages A' through F' for users A through F, and other pages (e.g., groups, businesses or artists) X1 through X3. Users A, B, and D subscribe to page X1 (for example). User D is also "soft subscribed" to page E', since user D is a friend of E.

[0396] Thus, system 100 may include a three-entity social network. Under this model, business object classifications (and product types in particular) may form a third set of objects in the social graph in addition to users and content providers. Refer now to FIG. 8C, which shows how the network includes users (A through D), content provider pages (A' through D' and X1 through X4, where X4 includes X4A and X4B), and business object classifications (Z1 through Z3, where Z3 includes Z3A and Z3B).

[0397] Both content providers and users can create numerous associations with various such taxonomies, including both explicit associations (i.e., explicitly connecting to a taxonomy) and implicit associations (e.g., created by a user 60 posting or sharing an item related to a particular taxonomy).

[0398] As shown in Figure 6C, user A is associated with category Z2, and user C is associated with categories Z1 and Z3. Additionally, content provider X4 includes content product X4A (associated with Z1 and Z3A) and content product X4B (associated with Z3 and Z3B).

[0399] It will be appreciated that the architecture can enable a user 60 to follow a given classification / product class (e.g., leather clothing) and receive updates from multiple leather clothing vendors without having to explicitly associate with such vendors.

[0400] It may also allow (for example) a mountain bike vendor with a page in system 100 to contact all users associated with a particular subcategory of mountain bike related users (such as full suspension mountain bikes).

[0401] The architecture may further enable content providers to link their entire pages to a set of business object taxonomies. Alternatively, content providers may separately connect specific sub-elements of their pages (e.g., specific blog posts or product suggestions) to associated business object taxonomies.

[0402] It can further allow queries to be made (both by users and content provider managers) based on the interconnection and association graphs.

[0403] Thus, the system 100 can provide a system for linking users and systems to a feed of actions via product-centric widget cards. The system 100 can further implement such a three-entity social network as part of the underlying system for card creation and usage.

[0404] Unless otherwise indicated, and as is apparent from the preceding discussion, discussions throughout the specification utilizing terms such as "processing," "calculating," "computing," "determining," and the like will be understood to refer to the actions 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 the computing system into other data similarly represented as physical quantities in the memory, registers, or other such information storage, transmission or display device of the computing system.

[0405] An embodiment of the present invention may include an apparatus for carrying out the operations herein. The apparatus may be specially 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, can transform the general-purpose computer into an inventive element as discussed herein. The instructions can define the device of the present invention to operate with a computer platform that is desirable for the device of the present invention. Such a computer program can be stored on a computer-readable storage medium, such as any type of disk, including but not limited to optical and 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 other type of medium suitable for storing electronic instructions and capable of coupling to a computer system bus.

[0406] The processes and displays presented herein are not inherently related to any 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 more specialized apparatus to perform the desired methods. The desired structure for a variety of these systems will be apparent from the description that follows. Additionally, embodiments of the present invention are not described with reference to any 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.

[0407] 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 alterations which fall within the true spirit of the invention.

Claims

1. 1. A messaging system comprising: A processor; A website building system (WBS) operating on the processor for hosting a plurality of websites, the WBS comprising: a card creator operative to generate an actionable widget card (AWC) related to a product of a website of the plurality of websites, the AWC performing at least e-commerce related operations for the product between at least one of the WBS and the website, the website and a user of the website, and between the user of the website and a second user of the WBS; an artificial intelligence (AI) analyzer for applying artificial intelligence techniques to accumulate information about user behaviors and preferences across the plurality of websites and about product similarities across the plurality of websites; The AI ​​analyzer provides product classifications and user recommendations to the card creator for input into the AWC.

2. The system of claim 1 , wherein the user behavior and preferences include at least one of product types viewed and purchased on the website, user response times, and user exposure times.

3. The system of claim 1 , wherein the AI ​​analyzer determines how best to combine individual user and group-based scores to prioritize the AWCs in a display feed.

4. The system of claim 1 , wherein the AI ​​analyzer implements a feedback loop to accumulate knowledge.

5. The system of claim 1 , wherein the AI ​​analyzer uses information from the multiple websites according to similarity parameters and a product taxonomy to analyze product similarity.

6. The system of claim 1 , wherein the WBS includes at least one database that stores the plurality of websites, predefined rules for card definitions, predefined widget card parameters, and a product classification taxonomy.

7. The system of claim 6 , wherein the AWC includes parameters for a business object having a card type, a visual display widget, and an associated product classification according to the product classification taxonomy.

8. The system of claim 1 , wherein the AWC communicates messages using at least one third party application associated with the WBS.

9. 1. A method for operating a messaging system, comprising: Hosting multiple websites on a website building system (WBS); generating an actionable widget card (AWC) related to a product of a website of the plurality of websites, the AWC performing at least e-commerce related operations for the product between at least one of the WBS and the website, the website and a user of the website, and between the user of the website and a second user of the WBS; applying artificial intelligence techniques to accumulate information regarding user behavior and preferences across said plurality of websites and product similarities across said plurality of websites; and providing, by an AI analyzer, product classifications and user recommendations to a card creator for input into the AWC.

10. The method of claim 9 , wherein the user behavior and preferences include at least one of product types viewed and purchased on the website, user response times, and user exposure times.

11. The method of claim 9 , wherein applying the artificial intelligence techniques determines how best to combine individual user and group-based scores to prioritize the AWCs in a display feed.

12. 10. The method of claim 9, wherein applying the artificial intelligence techniques implements a feedback loop to accumulate knowledge.

13. 10. The method of claim 9, wherein applying the artificial intelligence techniques uses information from the plurality of websites according to similarity parameters and a product taxonomy to analyze product similarity.

14. The method of claim 9 , further comprising storing the plurality of websites, the predefined rules for card definition, the predefined widget card parameters, and the product classification taxonomy in at least one database.

15. The method of claim 14 , wherein the AWC includes parameters for a business object having a card type, a visual display widget, and an associated product classification according to the product classification taxonomy.

16. The method of claim 9 , wherein the AWC communicates messages using at least one third party application associated with the WBS.

Citation Information

Patent Citations

  • Widget-assisted detection and publication of behavioral relevance.

    JP2011508925A

  • Systems and methods for managing recommendations in an online marketplace

    US20110173095A1

  • System and method for authoring, distributing, viewing and saving wrap packages

    US20160103563A1

  • Information processing device, information processing method, information processing program, and recording medium

    WO2012002363A1

  • Web site design system integrating dynamic layout and dynamic content

    US20130219263A1