WO2023229693A1 - Web site preview generation with action control - Google Patents

Web site preview generation with action control Download PDF

Info

Publication number
WO2023229693A1
WO2023229693A1 PCT/US2023/014199 US2023014199W WO2023229693A1 WO 2023229693 A1 WO2023229693 A1 WO 2023229693A1 US 2023014199 W US2023014199 W US 2023014199W WO 2023229693 A1 WO2023229693 A1 WO 2023229693A1
Authority
WO
WIPO (PCT)
Prior art keywords
web site
preview
identifier
endpoint
computing system
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/US2023/014199
Other languages
French (fr)
Inventor
Joseph Michael GLOCKE
Archana SASEETHARAN
Bhrighu Sareen
Sukhmani LAMBA
Ankit GOVIL
David Pierre Claux
Saurav MAJUMDER
Mao Yu
Daniel Dong Joon SEONG
Aditya CHAUDHRY
Nehal Balkrishna BHAGAT
Rahul Kishore PINJANI
Mengli ELMENDORF
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Technology Licensing LLC
Original Assignee
Microsoft Technology Licensing LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Microsoft Technology Licensing LLC filed Critical Microsoft Technology Licensing LLC
Publication of WO2023229693A1 publication Critical patent/WO2023229693A1/en
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/103Formatting, i.e. changing of presentation of documents
    • G06F40/106Display of layout of documents; Previewing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/954Navigation, e.g. using categorised browsing
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/955Retrieval from the web using information identifiers, e.g. uniform resource locators [URL]
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9574Browsing optimisation, e.g. caching or content distillation of access to content, e.g. by caching
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/957Browsing optimisation, e.g. caching or content distillation
    • G06F16/9577Optimising the visualization of content, e.g. distillation of HTML documents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/958Organisation or management of web site content, e.g. publishing, maintaining pages or automatic linking
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/14Tree-structured documents
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/166Editing, e.g. inserting or deleting
    • G06F40/186Templates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/56Provisioning of proxy services
    • H04L67/565Conversion or adaptation of application format or content

Definitions

  • a Uniform Resource Locator is a text string identifier that uniquely identifies a resource on the web.
  • URLs can identify web sites. URLs of web sites are commonly input into a web browser to cause the browser to navigate to the respective web site. In addition, URLs are often associated with selectable links (often called “hyperlinks”) within a web site. Selection of a hyperlink causes the browser to navigate to the web site identified by the URL associated with the hyperlink.
  • URLs can be used in other ways as well.
  • a URL can be input into a chat window, which can potentially cause the system to render a limited preview of the web site.
  • the preview might include an image, limited text, and perhaps a hyperlink that, when selected, allows for navigation to the web site associated with the link. This gives the user a better idea of what the web site offers as compared to simply presenting only the text of the URL. Thus, the user knows a little more about the web site to allow the user to make a more informed decision on whether to select the hyperlink. Once the user selects the hyperlink and has navigated to the web site, the user can then navigate through the web site (e.g., by selecting hyperlinks or controls) to perform various actions while at the web site.
  • the user might navigate to a web site that offers products for sale, and then thereafter perform actions to purchase a product.
  • the user might navigate to a web site that is promoting an event, and thereafter select hyperlinks or controls to find out more about the event, buy tickets for the event, or find out where on a map the event is.
  • the user might navigate to a restaurant web site, and thereafter view a menu, or make reservations.
  • the principles described herein relate to the automated generation of a web site preview based on a web site identifier, where the web site preview has one or more controls that facilitate connection to one or more endpoints.
  • the service uses the web site identifier to navigate to the web site identified by the web site identifier. After navigating to that web site, the service accesses an action identifier and an associated endpoint identifier from the web site. The service then generates preview data representing a preview of the web site represented by the web site identifier.
  • That preview data is structured to be interpreted by the client computing system to cause the client computing system to render a web site preview. That preview data is further structured to cause the client computing system to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier.
  • the service then causes the preview data to be sent to the client computing system, which can then interpret the preview data to render the web site preview with the action control.
  • the web site preview may provide one or more controls that may be directly interacted with from the web site preview itself, in order to allow the user to take direct action via the web site preview, or view updates in data from the associated endpoint.
  • key actions may be more efficiently performed by the user staying within the context in which the preview was presented, and without the user having to navigate to the web site that is previewed.
  • Figure 1 illustrates a flowchart of a method for generating a web site preview based on a web site identifier, in accordance with the principles described herein;
  • Figure 2 illustrates a network environment that includes a client computing system and a preview service computing system, which represents an example environment in which the method of Figure 1 may be performed;
  • Figure 3 illustrates a general example of a web site preview that includes three controls, each with an associated endpoint identifier that facilitates connection to an associated endpoints with respect to interactivity with the control;
  • Figure 4A illustrates an example web site preview of an airline web site that has controls that update to reflect new flight status, and that includes a control with an associated flight tracker endpoint;
  • Figure 4B illustrates an example code review web site preview that has a number of controls about a code review issue
  • Figure 5 illustrates a flowchart of a method for generating a preview of the web site identified by the web site identifier so as to have one or more controls, in accordance with one embodiment described herein;
  • Figure 6 illustrates a data flow that may be executed using the method of Figure 4;
  • Figure 7 illustrates a flowchart of a method for generating a preview of the web site identified by the web site identifier by using templates, in accordance with one embodiment described herein;
  • Figure 8 illustrates a data flow that may be executed using the method of Figure 7;
  • Figure 9 illustrates a data flow in which some web site content is populated into a copy of the selected preview template, which in one example generates the preview data that is returned to the client;
  • FIG. 10 illustrates an example computing system in which the principles described herein may be employed.
  • the principles described herein relate to the automated generation of a web site preview based on a web site identifier, where the web site preview has one or more controls that facilitate connection to one or more endpoints.
  • the service uses the web site identifier to navigate to the web site identified by the web site identifier. After navigating to that web site, the service accesses an action identifier and an associated endpoint identifier from the web site. The service then generates preview data representing a preview of the web site represented by the web site identifier.
  • That preview data is structured to be interpreted by the client computing system to cause the client computing system to render a web site preview. That preview data is further structured to cause the client computing system to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier.
  • the service then causes the preview data to be sent to the client computing system, which can then interpret the preview data to render the web site preview with the action control.
  • the web site preview may provide one or more controls that may be directly interacted with from the web site preview itself, in order to allow the user to take direct action via the web site preview, or view updates in data from the associated endpoint.
  • key actions may be more efficiently performed by the user staying within the context in which the preview was presented, and without the user having to navigate to the web site that is previewed.
  • Figure 1 illustrates a flowchart of a method 100 for generating a web site preview based on a web site identifier, in accordance with the principles described herein.
  • the web site identifier may be a Uniform Resource Locator (or URL).
  • Figure 2 illustrates a network environment 200 which represents an example of an environment in which the principles described herein may operate, and represents an example environment in which method 100 may be performed. Accordingly, the method 100 of Figure 1 will be described with reference to Figure 1 as well as with reference to the network environment 200 of Figure 2.
  • the method 100 may be performed by a service computing system and is initiated upon that service computing system receiving a web site identifier from a client computing system (act 101).
  • the network environment 200 includes a service computing system 201 and a client computing system 202.
  • Each of the computing systems 201 and 202 may be structured as described below for the computing system 1000 of Figure 10.
  • the service computing system 201 receives (as represented by arrow 211) a web site identifier from the client computing system 202.
  • the service computing system In response to receiving the web site identifier from the client computing system (act 101), the service computing system generates preview data representing a preview of a web site represented by the web site identifier (act 102).
  • the generation of the preview data based on the web site identifier is represented by the circular arrow 212.
  • the preview data is structured to be interpreted by the client computing system to cause the client computing system to render a web site preview.
  • the web site preview is defined by the preview data.
  • the service computing system controls how the web site preview is rendered by the client computing system.
  • the service computing system then causes the generated preview data to be sent to the client computing system (act 103).
  • the service computing system 201 sends (as represented by the arrow 213) the preview data to the client computing system 202.
  • the preview data may then be interpreted to render the web site preview.
  • the user is provided a web site preview associated with a web site identifier.
  • the preview may act as a hyperlink (or otherwise contain a hyperlink) that when selected, navigates the user to the web site that was previewed by the web site preview. Then, the user can interact with the web site as normal including interacting with any controls provided by the web site. However, in accordance with some embodiments of the principles described herein, one or more controls of the web site are provided within the web site preview itself. Thus, a user can use those controls without even navigating to the web site.
  • Figure 3 illustrates a general example of a web site preview 300 that includes three controls 301, 302 and 303, each with associated endpoints identifiers 311, 312 and 313.
  • the endpoint identifiers can be any identifier that the client computing system can use to further connection to the endpoint identified by the associated endpoint identifier. In one example, such endpoint identifiers are also URLs.
  • the web site preview may include other web site content as well, such as images, text (e.g., descriptions, summaries, titles), and others, although this other content is not represented in Figure 3 in order to allow for focus on the controls themselves.
  • Figure 3 is just an example. The principles described herein are not limited to the number of action controls within a web site preview.
  • each control is associated with endpoint identifiers 311, 312 and 313 respectively.
  • the controls also have corresponding configurations 321, 322 and 323 that define the type of connection that is facilitated by the respective control.
  • the control 301 facilitates a specific type of connection defined by the configuration 321 to the endpoint identified by the endpoint identifier 311.
  • the control 302 facilitates a specific type of connection defined by the configuration 322 to the endpoint identified by the endpoint identifier 312.
  • the control 303 facilitates a specific type of connection defined by the configuration 323 to the endpoint identified by the endpoint identifier 313.
  • connection type is a navigation connection type in which the client computing system is navigated to the endpoint in response to its user interacting with the control. Such a control will be referred to herein as a “navigation control”.
  • a connection type is an input connection type in which the user can provide input (e.g., text, a Boolean, a selection from a group, or the like) to the connected endpoint. Such a control will be referred to herein as an “input control”.
  • output connection is an output connection in which the endpoint provides data to populate into the control, and perhaps even update that data. Such a control will be referred to herein as an “output control”.
  • connection type and associated control type.
  • the principles described herein apply regardless of the type of connection that the control facilitates. Furthermore, the principles described herein apply regardless of the form of the control, regardless of layout, design, color, size, shape, user interactivity types, and so forth.
  • an example navigation control could be a description control, that when interacted with, takes the user to a description endpoint maintained by the restaurant that is perhaps managed by the restaurant.
  • a navigation control in the form of a menu control that when interacted with, takes the user to a menu endpoint maintained by the restaurant that presents a menu of the restaurant.
  • These endpoints may for instance be within the domain of the web site that is being previewed (in this case, the restaurant web site).
  • the restaurant web site preview may provide a navigation control to provide a map to see where the restaurant is and/or get directions to the restaurant, which when interacted with takes the user to a mapping service endpoint that is also not managed by the restaurant web site.
  • the same web site preview may provide a navigations control that when interacted with takes a user to a review service that is also not managed by the restaurant web site.
  • the controls may provide functionalities that link to services that are familiar to the user, and thus are easily and comfortably navigated.
  • the web site that has the preview need not themselves provide the services that underlie each control in the preview. Instead, the controls may link to endpoints that are outside of the domain of the web site.
  • an input control there may be an input control that allows the user to add their name to a waitlist, which when interacted with provides a user identifier to the endpoint that registers those waiting for a table.
  • the restaurant may generate an output control that shows wait time, which updates to reflect a time estimate for minutes remaining until their table is available.
  • the output control may update to reflect the real-time status of a flight (e.g., on time, in flight, delayed, landed, and so forth) of a flight.
  • Figure 4A illustrates a text chat window 400A in which a user has sent a chat to Carol (a fictional person) and pasted a web site identifier that results in a preview being rendered within the chat window.
  • the preview includes various static information including the names of passengers, the route, and flight number.
  • output control 401A shows status 401A that can be updated as the flight progresses.
  • the departure time and arrival time may also be in distinct output control that are updated.
  • the preview also includes a navigation control 402A that may be selected from this preview itself to obtain flight tracking information from a separate flight tracking service.
  • Figure 4B illustrates an example code review preview 400B for a fictional code review service for a fictional code review issue.
  • a user can interact with directly in order to comment, close the issue, and so forth.
  • the user can actually take action on the code issue directly from the preview itself, and without having to navigate to the code review service.
  • Figure 5 illustrates a flowchart of a method 500 for generating preview data, which represents an example of the act 102 of Figure 1. Since act 101 has already occurred, the service computing system already has the web site identifier prior to the method 500 beginning.
  • Figure 6 illustrates an example environment 600 in which the method 500 may be performed.
  • the environment 600 includes a service computing system 601 and a web site 602.
  • the service computing system 601 has received (as represented by arrow 631) a web site identifier from a client computing system.
  • the service computing system 601 is an example of the service computing system 201 of Figure 2.
  • the method 500 of Figure 6 will now be described with respect to the environment 600 of Figure 6.
  • the service computing system uses the received web site identifier to navigate to the web site identified by the web site identifier (act 501).
  • the service computing system 601 navigates to the web site 602. If the web site identifier was a URL, then the service could simply use standard web navigation to navigate to the web site.
  • the service computing system accesses an action identifier and an associated endpoint identifier from the web site (act 502).
  • the web site 602 includes metadata 621 and content 622.
  • the metadata 621 includes an action element 623 which includes information that the web site 602 itself would use to provide an action control in the context of the web site 602.
  • the service computing system accesses information from the action element to put that control within the preview data itself. Such information could include the name of the action, the endpoint identifier for the action, the configuration of the action, and so forth.
  • the interactivity used to obtain this action identifier and associated endpoint identifier is represented by the bi-directional arrow 632.
  • the preview data is then generated to be structured to be interpreted by the client computing system to cause the client computing system to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier (act 503).
  • the service computing system may generate data interchange format (such as for example JSON) is placed within the preview data, which may also be in a data interchange format.
  • Figure 7 illustrates a flowchart of a method 700 for generating a preview of the web site identified by the web site identifier.
  • the method 700 represents a more specific example of how the act 102 of Figure 1 may be performed.
  • metadata from the web site is used to select an appropriate template, and then that template is populated.
  • the service computing system acquires web site metadata from the web site (act 701).
  • the web site metadata may conform with schema.org or another schema defining entity.
  • Such metadata might include, for example, a type of the web site (e.g., event, product, restaurant, airline, and so forth), a web site provider entity name, or any other information that is relevant in selecting an appropriate preview template.
  • the preview service uses the metadata acquired from the web site in order to select an appropriate preview template (act 702).
  • the fields within the template define what content of the web site is to be used to populate the template. This includes what action controls to populate into the template, and where. Accordingly, the service uses the template to determine what content to populate into the template (act 703).
  • the preview service may then acquire the appropriate content of the web site (act 704) and populates that content into the template (act 705).
  • Such content may include, for instance, action data that is structured to be interpretable by the client computing system to cause the client computing system to render the control within the preview.
  • FIG 8 illustrates a data flow 800 that may be executed using the method 700 of Figure 7.
  • the data flow 800 includes receipt of a web site identifier by a service computing system 810. Such receipt is represented by arrow 831.
  • the service computing system then accesses the web site 802 associated with the identifier.
  • That web site 802 includes metadata 821 and content 822.
  • the metadata 821 could include a type 823 of the web site, perhaps an entity 824 that provides the web site, and potentially other information 825.
  • Such may be structured in accordance with a schema specified within the web site. For instance, the schema might be a version of a schema provided by schema.org.
  • the service computing system acquires (e.g., reads) at least some of the metadata 821 of the website (as an example of act 701).
  • the service computing system finds the web site using the web site URL provided by the client. This service acquiring such metadata is represented by bidirectional arrow 832 in Figure 8.
  • the service uses the metadata to select a preview template (as an example of act 702).
  • the service computing system 801 may have access to a preview template collection 840.
  • the collection 840 has four preview templates 841 through 844, but this is just a simple example only.
  • the service selects preview template 842, which selection is represented by arrow 833.
  • the service uses the template 842 to determine what web site content to populate into the template (as an example of act 703), acquires that content from the web site (as an example of act 704) as represented by bi-directional arrow 834, and populates that content into the web site template (as an example of act 705).
  • the populated preview template may then serve is the generated preview data that is then sent to the client.
  • This preview data may be for example, a data interchange format object, such as a JSON object, which is a sequence of declarations that defines how to render the web site preview.
  • the client may then interpret the preview data to thereby render the web site preview.
  • the arrows 832 and 834 are shown separately, all information (metadata and content) required to generate the preview may be acquired from the web site 502 from a single request and response.
  • Figure 9 illustrates a data flow 900 in which some web site content 901 is populated (as represented by arrow 903) into a copy of the selected template 902, which in one example generates the preview data that is returned to the client.
  • the preview data sent to the client includes the web site content 902 and the unpopulated template 901 (perhaps as a single JSON object or multiple JSON object).
  • the client would then populate the appropriate portion of the content 902 into the unpopulated template 901 as part of rendering the preview data.
  • This has a disadvantage in that it relies upon the client having the capability to perform binding of content 902 into the template 901, which not all clients may have.
  • rendering declarative sequences (such as JSON objects) is a much more universal operation that client computing systems are typically capable of doing. This is an advantage of providing the preview data as an already populated copy of the template.
  • the template is selected at least in part based on the web site metadata.
  • the web site metadata may include a type of web site.
  • a product web site (of type “product”) may by default result in the selection of a product web site preview
  • a restaurant web site (of type “restaurant”) may by default result in selection of a restaurant web site preview
  • an airline web site (of type “airline”) may by default result in selection of an airline web site.
  • selection does not rely on any input by the web site owner itself. Instead, the selection merely by default pivots on the value of the type field in the web site metadata.
  • the user has a consistent preview across all product web site previews, across all restaurant web site previews, and so forth, where those web site previews are tailored towards the type of web site.
  • the user is thereby given an intuitive web site preview.
  • Such web site previews may be generated with the aim of providing a robust and rich experience for the user that views and/or interfaces with the web site preview, and may consider input from other stakeholders.
  • the service controls how the web site preview appears, rather than have such control left to each client, the user is provided with a much more consistent user experience.
  • the service computing system is a service that may operate in a cloud computing environment that has abundant processing, memory and storage resources, the generation of the preview may consider a variety of factors and be the result of complex processing, thereby providing a more substantial web site preview.
  • relevant metadata used to select the preview template may be the entity expressed in the metadata of the web site. This is the provider of the web site. In one embodiment, that entity can register a particular preview template with the preview service. Thus, in this embodiment, the selection of the preview template depends on the entity.
  • Other parameters may be used to select an appropriate preview template in addition to the type of the web site and/or the entity of the web site.
  • additional parameters may include a context application identifier that may be included with the request from the client. This application identifier identifies the context in which the preview will be presented. Such context may be a chat window, a document, a social media post, or the like.
  • the entity may register a different preview template based on each of these contexts.
  • the selection may be based on both a type of web site as well as the context in which the web site preview will be presented.
  • the selection may be based on a screen size of the client that is to render the web site preview.
  • the screen size may be identified within the request from the client to the preview service.
  • the entity may register a different preview template based on each of multiple screen sizes.
  • the selection may be based on both a type of web site as well as the screen size of the client.
  • the web site entity, the type of the web site, the context in which the preview will be rendered, and the screen size of the client that will render the preview may be used to select the appropriate preview template.
  • computing systems are now increasingly taking a wide variety of forms. Computing systems may, for example, be handheld devices, appliances, laptop computers, desktop computers, mainframes, distributed computing systems, data centers, or even devices that have not conventionally been considered a computing system, such as wearables (e.g., glasses).
  • wearables e.g., glasses
  • computing system is defined broadly as including any device or system (or a combination thereof) that includes at least one physical and tangible processor, and a physical and tangible memory capable of having thereon computer-executable instructions that may be executed by a processor.
  • the memory may take any form and may depend on the nature and form of the computing system.
  • a computing system may be distributed over a network environment and may include multiple constituent computing systems.
  • a computing system 1000 includes at least one hardware processing unit 1002 and memory 1004.
  • the processing unit 1002 includes a general-purpose processor. Although not required, the processing unit 1002 may also include a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or any other specialized circuit.
  • the memory 1004 includes a physical system memory. That physical system memory may be volatile, non-volatile, or some combination of the two. In a second embodiment, the memory is non-volatile mass storage such as physical storage media. If the computing system is distributed, the processing, memory and/or storage capability may be distributed as well.
  • the computing system 1000 also has thereon multiple structures often referred to as an “executable component”.
  • the memory 1004 of the computing system 1000 is illustrated as including executable component 1006.
  • executable component is the name for a structure that is well understood to one of ordinary skill in the art in the field of computing as being a structure that can be software, hardware, or a combination thereof.
  • the structure of an executable component may include software objects, routines, methods (and so forth) that may be executed on the computing system.
  • Such an executable component exists in the heap of a computing system, in computer-readable storage media, or a combination.
  • the structure of the executable component exists on a computer-readable medium such that, when interpreted by one or more processors of a computing system (e.g., by a processor thread), the computing system is caused to perform a function.
  • Such structure may be computer readable directly by the processors (as is the case if the executable component were binary).
  • the structure may be structured to be interpretable and/or compiled (whether in a single stage or in multiple stages) so as to generate such binary that is directly interpretable by the processors.
  • Such an understanding of example structures of an executable component is well within the understanding of one of ordinary skill in the art of computing when using the term “executable component”.
  • executable component is also well understood by one of ordinary skill as including structures, such as hard coded or hard wired logic gates, that are implemented exclusively or near- exclusively in hardware, such as within a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or any other specialized circuit. Accordingly, the term “executable component” is a term for a structure that is well understood by those of ordinary skill in the art of computing, whether implemented in software, hardware, or a combination. In this description, the terms “component”, “agent”, “manager”, “service”, “engine”, “module”, “virtual machine” or the like may also be used. As used in this description and in the case, these terms (whether expressed with or without a modifying clause) are also intended to be synonymous with the term “executable component”, and thus also have a structure that is well understood by those of ordinary skill in the art of computing.
  • FPGA field programmable gate array
  • ASIC application specific integrated circuit
  • embodiments are described with reference to acts that are performed by one or more computing systems. If such acts are implemented in software, one or more processors (of the associated computing system that performs the act) direct the operation of the computing system in response to having executed computer-executable instructions that constitute an executable component.
  • such computer-executable instructions may be embodied on one or more computer-readable media that form a computer program product.
  • An example of such an operation involves the manipulation of data.
  • the computerexecutable instructions may be hard-coded or hard-wired logic gates.
  • the computer-executable instructions (and the manipulated data) may be stored in the memory 1004 of the computing system 1000.
  • Computing system 1000 may also contain communication channels 1008 that allow the computing system 1000 to communicate with other computing systems over, for example, network 1010.
  • the computing system 1000 includes a user interface system 1012 for use in interfacing with a user.
  • the user interface system 1012 may include output mechanisms 1012A as well as input mechanisms 1012B.
  • output mechanisms 1012A might include, for instance, speakers, displays, tactile output, virtual or augmented reality, holograms and so forth.
  • input mechanisms 1012B might include, for instance, microphones, touchscreens, virtual or augmented reality, holograms, cameras, keyboards, mouse or other pointer input, sensors of any type, and so forth.
  • Embodiments described herein may comprise or utilize a special-purpose or general-purpose computing system including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below.
  • Embodiments described herein also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures.
  • Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computing system.
  • Computer-readable media that store computer-executable instructions are physical storage media.
  • Computer-readable media that carry computer-executable instructions are transmission media.
  • embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: storage media and transmission media.
  • Computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other physical and tangible storage medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general- purpose or special-purpose computing system.
  • a “network” is defined as one or more data links that enable the transport of electronic data between computing systems and/or modules and/or other electronic devices.
  • Transmission media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general- purpose or special-purpose computing system. Combinations of the above should also be included within the scope of computer-readable media.
  • program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to storage media (or vice versa).
  • computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then be eventually transferred to computing system RAM and/or to less volatile storage media at a computing system.
  • a network interface module e.g., a “NIC”
  • storage media can be included in computing system components that also (or even primarily) utilize transmission media.
  • Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general-purpose computing system, special-purpose computing system, or special-purpose processing device to perform a certain function or group of functions. Alternatively, or in addition, the computer-executable instructions may configure the computing system to perform a certain function or group of functions.
  • the computer executable instructions may be, for example, binaries or even instructions that undergo some translation (such as compilation) before direct execution by the processors, such as intermediate format instructions such as assembly language, or even source code.
  • the invention may be practiced in network computing environments with many types of computing system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, datacenters, wearables (such as glasses) and the like.
  • the invention may also be practiced in distributed system environments where local and remote computing system, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks.
  • program modules may be located in both local and remote memory storage devices.
  • Cloud computing environments may be distributed, although this is not required. When distributed, cloud computing environments may be distributed internationally within an organization and/or have components possessed across multiple organizations.
  • cloud computing is defined as a model for enabling on- demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of “cloud computing” is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The automated generation of a web site preview based on a web site identifier, where the web site preview has one or more controls that facilitate connection to one or more endpoints. In response to receiving the web site identifier from the client computing system, the service uses the web site identifier to navigate to the web site identified by the web site identifier. After navigating to that web site, the service accesses an action identifier and an associated endpoint identifier from the web site. The service then generates preview data representing a preview of the web site represented by the web site identifier. The service provides the preview data to the client, where the preview with the control is rendered, so as to facilitate connection with the associated endpoint of the control.

Description

WEB SITE PREVIEW GENERATION WITH ACTION CONTROL
BACKGROUND
A Uniform Resource Locator (or URL) is a text string identifier that uniquely identifies a resource on the web. As an example, URLs can identify web sites. URLs of web sites are commonly input into a web browser to cause the browser to navigate to the respective web site. In addition, URLs are often associated with selectable links (often called “hyperlinks”) within a web site. Selection of a hyperlink causes the browser to navigate to the web site identified by the URL associated with the hyperlink.
URLs can be used in other ways as well. For example, a URL can be input into a chat window, which can potentially cause the system to render a limited preview of the web site. As an example, the preview might include an image, limited text, and perhaps a hyperlink that, when selected, allows for navigation to the web site associated with the link. This gives the user a better idea of what the web site offers as compared to simply presenting only the text of the URL. Thus, the user knows a little more about the web site to allow the user to make a more informed decision on whether to select the hyperlink. Once the user selects the hyperlink and has navigated to the web site, the user can then navigate through the web site (e.g., by selecting hyperlinks or controls) to perform various actions while at the web site.
As an example, the user might navigate to a web site that offers products for sale, and then thereafter perform actions to purchase a product. As another example, the user might navigate to a web site that is promoting an event, and thereafter select hyperlinks or controls to find out more about the event, buy tickets for the event, or find out where on a map the event is. As yet another example, the user might navigate to a restaurant web site, and thereafter view a menu, or make reservations.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments describe herein may be practiced.
BRIEF SUMMARY
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
The principles described herein relate to the automated generation of a web site preview based on a web site identifier, where the web site preview has one or more controls that facilitate connection to one or more endpoints. In response to receiving the web site identifier from the client computing system, the service uses the web site identifier to navigate to the web site identified by the web site identifier. After navigating to that web site, the service accesses an action identifier and an associated endpoint identifier from the web site. The service then generates preview data representing a preview of the web site represented by the web site identifier.
That preview data is structured to be interpreted by the client computing system to cause the client computing system to render a web site preview. That preview data is further structured to cause the client computing system to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier. The service then causes the preview data to be sent to the client computing system, which can then interpret the preview data to render the web site preview with the action control.
Thus, the web site preview may provide one or more controls that may be directly interacted with from the web site preview itself, in order to allow the user to take direct action via the web site preview, or view updates in data from the associated endpoint. Thus, key actions may be more efficiently performed by the user staying within the context in which the preview was presented, and without the user having to navigate to the web site that is previewed.
Additional features and advantages will be set forth in the description which follows, and in part will be obvious from the description, or may be learned by the practice of the teachings herein. Features and advantages of the invention may be realized and obtained by means of the instruments and combinations particularly pointed out in the appended claims. Features of the present invention will become more fully apparent from the following description and appended claims, or may be learned by the practice of the invention as set forth hereinafter.
BRIEF DESCRIPTION OF THE DRAWINGS
In order to describe the manner in which the above-recited and other advantages and features can be obtained, a more particular description of the subject matter briefly described above will be rendered by reference to specific embodiments which are illustrated in the appended drawings. Understanding that these drawings depict only typical embodiments and are not therefore to be considered to be limiting in scope, embodiments will be described and explained with additional specificity and details through the use of the accompanying drawings in which:
Figure 1 illustrates a flowchart of a method for generating a web site preview based on a web site identifier, in accordance with the principles described herein;
Figure 2 illustrates a network environment that includes a client computing system and a preview service computing system, which represents an example environment in which the method of Figure 1 may be performed;
Figure 3 illustrates a general example of a web site preview that includes three controls, each with an associated endpoint identifier that facilitates connection to an associated endpoints with respect to interactivity with the control;
Figure 4A illustrates an example web site preview of an airline web site that has controls that update to reflect new flight status, and that includes a control with an associated flight tracker endpoint;
Figure 4B illustrates an example code review web site preview that has a number of controls about a code review issue;
Figure 5 illustrates a flowchart of a method for generating a preview of the web site identified by the web site identifier so as to have one or more controls, in accordance with one embodiment described herein;
Figure 6 illustrates a data flow that may be executed using the method of Figure 4;
Figure 7 illustrates a flowchart of a method for generating a preview of the web site identified by the web site identifier by using templates, in accordance with one embodiment described herein; Figure 8 illustrates a data flow that may be executed using the method of Figure 7;
Figure 9 illustrates a data flow in which some web site content is populated into a copy of the selected preview template, which in one example generates the preview data that is returned to the client; and
Figure 10 illustrates an example computing system in which the principles described herein may be employed.
DETAILED DESCRIPTION
The principles described herein relate to the automated generation of a web site preview based on a web site identifier, where the web site preview has one or more controls that facilitate connection to one or more endpoints. In response to receiving the web site identifier from the client computing system, the service uses the web site identifier to navigate to the web site identified by the web site identifier. After navigating to that web site, the service accesses an action identifier and an associated endpoint identifier from the web site. The service then generates preview data representing a preview of the web site represented by the web site identifier.
That preview data is structured to be interpreted by the client computing system to cause the client computing system to render a web site preview. That preview data is further structured to cause the client computing system to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier. The service then causes the preview data to be sent to the client computing system, which can then interpret the preview data to render the web site preview with the action control.
Thus, the web site preview may provide one or more controls that may be directly interacted with from the web site preview itself, in order to allow the user to take direct action via the web site preview, or view updates in data from the associated endpoint. Thus, key actions may be more efficiently performed by the user staying within the context in which the preview was presented, and without the user having to navigate to the web site that is previewed.
Figure 1 illustrates a flowchart of a method 100 for generating a web site preview based on a web site identifier, in accordance with the principles described herein. As an example only, the web site identifier may be a Uniform Resource Locator (or URL). Figure 2 illustrates a network environment 200 which represents an example of an environment in which the principles described herein may operate, and represents an example environment in which method 100 may be performed. Accordingly, the method 100 of Figure 1 will be described with reference to Figure 1 as well as with reference to the network environment 200 of Figure 2.
The method 100 may be performed by a service computing system and is initiated upon that service computing system receiving a web site identifier from a client computing system (act 101). Referring to Figure 2, the network environment 200 includes a service computing system 201 and a client computing system 202. Each of the computing systems 201 and 202 may be structured as described below for the computing system 1000 of Figure 10. In one example of the act 101, the service computing system 201 receives (as represented by arrow 211) a web site identifier from the client computing system 202.
In response to receiving the web site identifier from the client computing system (act 101), the service computing system generates preview data representing a preview of a web site represented by the web site identifier (act 102). In Figure 2, the generation of the preview data based on the web site identifier is represented by the circular arrow 212. The preview data is structured to be interpreted by the client computing system to cause the client computing system to render a web site preview. In some embodiments, the web site preview is defined by the preview data. Thus, by appropriately generating the preview data, the service computing system controls how the web site preview is rendered by the client computing system.
In accordance with the method 100, after the preview data is generated (act 102), the service computing system then causes the generated preview data to be sent to the client computing system (act 103). As an example, in Figure 2, the service computing system 201 sends (as represented by the arrow 213) the preview data to the client computing system 202. At the client computing system, the preview data may then be interpreted to render the web site preview. Thus, the user is provided a web site preview associated with a web site identifier.
Typically, when a web site preview is presented to a user, the preview may act as a hyperlink (or otherwise contain a hyperlink) that when selected, navigates the user to the web site that was previewed by the web site preview. Then, the user can interact with the web site as normal including interacting with any controls provided by the web site. However, in accordance with some embodiments of the principles described herein, one or more controls of the web site are provided within the web site preview itself. Thus, a user can use those controls without even navigating to the web site.
For illustrative purposes only, Figure 3 illustrates a general example of a web site preview 300 that includes three controls 301, 302 and 303, each with associated endpoints identifiers 311, 312 and 313. The endpoint identifiers can be any identifier that the client computing system can use to further connection to the endpoint identified by the associated endpoint identifier. In one example, such endpoint identifiers are also URLs. The web site preview may include other web site content as well, such as images, text (e.g., descriptions, summaries, titles), and others, although this other content is not represented in Figure 3 in order to allow for focus on the controls themselves. Figure 3 is just an example. The principles described herein are not limited to the number of action controls within a web site preview.
As represented by dashed lines 310, 320 and 330, each control is associated with endpoint identifiers 311, 312 and 313 respectively. The controls also have corresponding configurations 321, 322 and 323 that define the type of connection that is facilitated by the respective control. Thus, the control 301 facilitates a specific type of connection defined by the configuration 321 to the endpoint identified by the endpoint identifier 311. Furthermore, in this example, the control 302 facilitates a specific type of connection defined by the configuration 322 to the endpoint identified by the endpoint identifier 312. Lastly in this example, the control 303 facilitates a specific type of connection defined by the configuration 323 to the endpoint identified by the endpoint identifier 313.
One example of a connection type is a navigation connection type in which the client computing system is navigated to the endpoint in response to its user interacting with the control. Such a control will be referred to herein as a “navigation control”. Another example of a connection type is an input connection type in which the user can provide input (e.g., text, a Boolean, a selection from a group, or the like) to the connected endpoint. Such a control will be referred to herein as an “input control”. Another example of a connection type is an output connection in which the endpoint provides data to populate into the control, and perhaps even update that data. Such a control will be referred to herein as an “output control”.
These are just three different examples of a connection type and associated control type. The principles described herein apply regardless of the type of connection that the control facilitates. Furthermore, the principles described herein apply regardless of the form of the control, regardless of layout, design, color, size, shape, user interactivity types, and so forth.
Examples of navigation controls will now be described. For instance, if the web site is a restaurant web site, an example navigation control could be a description control, that when interacted with, takes the user to a description endpoint maintained by the restaurant that is perhaps managed by the restaurant. As another example, there may also be a navigation control in the form of a menu control that when interacted with, takes the user to a menu endpoint maintained by the restaurant that presents a menu of the restaurant. These endpoints may for instance be within the domain of the web site that is being previewed (in this case, the restaurant web site).
However, there may also be controls with endpoints that are completely outside of the domain of the restaurant web site. As examples, there may be a navigation control to make a reservation for the restaurant, which when interacted with takes the user to a reservation service endpoint that is not managed by the restaurant web site. As another example, the restaurant web site preview may provide a navigation control to provide a map to see where the restaurant is and/or get directions to the restaurant, which when interacted with takes the user to a mapping service endpoint that is also not managed by the restaurant web site. The same web site preview may provide a navigations control that when interacted with takes a user to a review service that is also not managed by the restaurant web site. Thus, the controls may provide functionalities that link to services that are familiar to the user, and thus are easily and comfortably navigated. Furthermore, the web site that has the preview need not themselves provide the services that underlie each control in the preview. Instead, the controls may link to endpoints that are outside of the domain of the web site.
As an example of an input control, there may be an input control that allows the user to add their name to a waitlist, which when interacted with provides a user identifier to the endpoint that registers those waiting for a table. As an example of an output control, the restaurant may generate an output control that shows wait time, which updates to reflect a time estimate for minutes remaining until their table is available. As another example of an output control this time in the context of an airline web site, the output control may update to reflect the real-time status of a flight (e.g., on time, in flight, delayed, landed, and so forth) of a flight. There might be another control that may be interacted with to connect to a flight tracker service, to thereby present the user with a flight tracking update.
Figure 4A illustrates a text chat window 400A in which a user has sent a chat to Carol (a fictional person) and pasted a web site identifier that results in a preview being rendered within the chat window. The preview includes various static information including the names of passengers, the route, and flight number. However, there is an output control 401A that shows status 401A that can be updated as the flight progresses. Furthermore, the departure time and arrival time may also be in distinct output control that are updated. The preview also includes a navigation control 402A that may be selected from this preview itself to obtain flight tracking information from a separate flight tracking service.
As another example user interaction, Figure 4B illustrates an example code review preview 400B for a fictional code review service for a fictional code review issue. Here, there are several controls that a user can interact with directly in order to comment, close the issue, and so forth. Thus, the user can actually take action on the code issue directly from the preview itself, and without having to navigate to the code review service.
Figure 5 illustrates a flowchart of a method 500 for generating preview data, which represents an example of the act 102 of Figure 1. Since act 101 has already occurred, the service computing system already has the web site identifier prior to the method 500 beginning. Figure 6 illustrates an example environment 600 in which the method 500 may be performed. The environment 600 includes a service computing system 601 and a web site 602. The service computing system 601 has received (as represented by arrow 631) a web site identifier from a client computing system. The service computing system 601 is an example of the service computing system 201 of Figure 2. The method 500 of Figure 6 will now be described with respect to the environment 600 of Figure 6.
In accordance with the method 500, the service computing system uses the received web site identifier to navigate to the web site identified by the web site identifier (act 501). In Figure 6, the service computing system 601 navigates to the web site 602. If the web site identifier was a URL, then the service could simply use standard web navigation to navigate to the web site.
After navigating to the web site (act 501), the service computing system accesses an action identifier and an associated endpoint identifier from the web site (act 502). In Figure 6, the web site 602 includes metadata 621 and content 622. The metadata 621 includes an action element 623 which includes information that the web site 602 itself would use to provide an action control in the context of the web site 602. The service computing system accesses information from the action element to put that control within the preview data itself. Such information could include the name of the action, the endpoint identifier for the action, the configuration of the action, and so forth. The interactivity used to obtain this action identifier and associated endpoint identifier is represented by the bi-directional arrow 632.
The preview data is then generated to be structured to be interpreted by the client computing system to cause the client computing system to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier (act 503). As an example, the service computing system may generate data interchange format (such as for example JSON) is placed within the preview data, which may also be in a data interchange format. Although not required, subsequent description will discuss how the generation of the preview data may be accomplished with preview templates.
Figure 7 illustrates a flowchart of a method 700 for generating a preview of the web site identified by the web site identifier. The method 700 represents a more specific example of how the act 102 of Figure 1 may be performed. In this method 700, metadata from the web site is used to select an appropriate template, and then that template is populated. In accordance with the method 700, the service computing system acquires web site metadata from the web site (act 701). As an example, the web site metadata may conform with schema.org or another schema defining entity. Such metadata might include, for example, a type of the web site (e.g., event, product, restaurant, airline, and so forth), a web site provider entity name, or any other information that is relevant in selecting an appropriate preview template.
The preview service uses the metadata acquired from the web site in order to select an appropriate preview template (act 702). The fields within the template define what content of the web site is to be used to populate the template. This includes what action controls to populate into the template, and where. Accordingly, the service uses the template to determine what content to populate into the template (act 703). The preview service may then acquire the appropriate content of the web site (act 704) and populates that content into the template (act 705). Such content may include, for instance, action data that is structured to be interpretable by the client computing system to cause the client computing system to render the control within the preview.
Figure 8 illustrates a data flow 800 that may be executed using the method 700 of Figure 7. The data flow 800 includes receipt of a web site identifier by a service computing system 810. Such receipt is represented by arrow 831. The service computing system then accesses the web site 802 associated with the identifier. That web site 802 includes metadata 821 and content 822. The metadata 821 could include a type 823 of the web site, perhaps an entity 824 that provides the web site, and potentially other information 825. Such may be structured in accordance with a schema specified within the web site. For instance, the schema might be a version of a schema provided by schema.org.
The service computing system acquires (e.g., reads) at least some of the metadata 821 of the website (as an example of act 701). The service computing system finds the web site using the web site URL provided by the client. This service acquiring such metadata is represented by bidirectional arrow 832 in Figure 8.
The service uses the metadata to select a preview template (as an example of act 702). For example, the service computing system 801 may have access to a preview template collection 840. In this example, the collection 840 has four preview templates 841 through 844, but this is just a simple example only. There may be countless preview templates available to the service computing system 801. In this example, suppose that the service selects preview template 842, which selection is represented by arrow 833.
The service then uses the template 842 to determine what web site content to populate into the template (as an example of act 703), acquires that content from the web site (as an example of act 704) as represented by bi-directional arrow 834, and populates that content into the web site template (as an example of act 705). The populated preview template may then serve is the generated preview data that is then sent to the client. This preview data may be for example, a data interchange format object, such as a JSON object, which is a sequence of declarations that defines how to render the web site preview. The client may then interpret the preview data to thereby render the web site preview. Although the arrows 832 and 834 are shown separately, all information (metadata and content) required to generate the preview may be acquired from the web site 502 from a single request and response.
Figure 9 illustrates a data flow 900 in which some web site content 901 is populated (as represented by arrow 903) into a copy of the selected template 902, which in one example generates the preview data that is returned to the client. In another embodiment, the preview data sent to the client includes the web site content 902 and the unpopulated template 901 (perhaps as a single JSON object or multiple JSON object). The client would then populate the appropriate portion of the content 902 into the unpopulated template 901 as part of rendering the preview data. This has a disadvantage in that it relies upon the client having the capability to perform binding of content 902 into the template 901, which not all clients may have. On the other hand, rendering declarative sequences (such as JSON objects) is a much more universal operation that client computing systems are typically capable of doing. This is an advantage of providing the preview data as an already populated copy of the template.
As described above, the template is selected at least in part based on the web site metadata. As an example, the web site metadata may include a type of web site. For example, a product web site (of type “product”) may by default result in the selection of a product web site preview, a restaurant web site (of type “restaurant”) may by default result in selection of a restaurant web site preview, an airline web site (of type “airline”) may by default result in selection of an airline web site. Such selection does not rely on any input by the web site owner itself. Instead, the selection merely by default pivots on the value of the type field in the web site metadata.
Thus, the user has a consistent preview across all product web site previews, across all restaurant web site previews, and so forth, where those web site previews are tailored towards the type of web site. The user is thereby given an intuitive web site preview. Such web site previews may be generated with the aim of providing a robust and rich experience for the user that views and/or interfaces with the web site preview, and may consider input from other stakeholders. Because the service controls how the web site preview appears, rather than have such control left to each client, the user is provided with a much more consistent user experience. Furthermore, because the service computing system is a service that may operate in a cloud computing environment that has abundant processing, memory and storage resources, the generation of the preview may consider a variety of factors and be the result of complex processing, thereby providing a more substantial web site preview.
Alternatively, or in addition, relevant metadata used to select the preview template may be the entity expressed in the metadata of the web site. This is the provider of the web site. In one embodiment, that entity can register a particular preview template with the preview service. Thus, in this embodiment, the selection of the preview template depends on the entity.
Other parameters may be used to select an appropriate preview template in addition to the type of the web site and/or the entity of the web site. Such additional parameters may include a context application identifier that may be included with the request from the client. This application identifier identifies the context in which the preview will be presented. Such context may be a chat window, a document, a social media post, or the like. The entity may register a different preview template based on each of these contexts. Alternatively, or in addition, the selection may be based on both a type of web site as well as the context in which the web site preview will be presented.
As another example, the selection may be based on a screen size of the client that is to render the web site preview. The screen size may be identified within the request from the client to the preview service. The entity may register a different preview template based on each of multiple screen sizes. Alternatively, or in addition, the selection may be based on both a type of web site as well as the screen size of the client. Thus, the web site entity, the type of the web site, the context in which the preview will be rendered, and the screen size of the client that will render the preview (or various combinations of the above) may be used to select the appropriate preview template.
Accordingly, the principles described herein provide a rich preview experience, where generation of the preview is determined based on data performed at a preview service, and in which the user may interact directly with the preview, rather than having to navigate to the associated web site. Because the principles described herein are performed in the context of a computing system, some introductory discussion of a computing system will be described with respect to Figure 10. Computing systems are now increasingly taking a wide variety of forms. Computing systems may, for example, be handheld devices, appliances, laptop computers, desktop computers, mainframes, distributed computing systems, data centers, or even devices that have not conventionally been considered a computing system, such as wearables (e.g., glasses). In this description and in the claims, the term “computing system” is defined broadly as including any device or system (or a combination thereof) that includes at least one physical and tangible processor, and a physical and tangible memory capable of having thereon computer-executable instructions that may be executed by a processor. The memory may take any form and may depend on the nature and form of the computing system. A computing system may be distributed over a network environment and may include multiple constituent computing systems.
As illustrated in Figure 10, in its most basic configuration, a computing system 1000 includes at least one hardware processing unit 1002 and memory 1004. The processing unit 1002 includes a general-purpose processor. Although not required, the processing unit 1002 may also include a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or any other specialized circuit. In one embodiment, the memory 1004 includes a physical system memory. That physical system memory may be volatile, non-volatile, or some combination of the two. In a second embodiment, the memory is non-volatile mass storage such as physical storage media. If the computing system is distributed, the processing, memory and/or storage capability may be distributed as well.
The computing system 1000 also has thereon multiple structures often referred to as an “executable component”. For instance, the memory 1004 of the computing system 1000 is illustrated as including executable component 1006. The term “executable component” is the name for a structure that is well understood to one of ordinary skill in the art in the field of computing as being a structure that can be software, hardware, or a combination thereof. For instance, when implemented in software, one of ordinary skill in the art would understand that the structure of an executable component may include software objects, routines, methods (and so forth) that may be executed on the computing system. Such an executable component exists in the heap of a computing system, in computer-readable storage media, or a combination.
One of ordinary skill in the art will recognize that the structure of the executable component exists on a computer-readable medium such that, when interpreted by one or more processors of a computing system (e.g., by a processor thread), the computing system is caused to perform a function. Such structure may be computer readable directly by the processors (as is the case if the executable component were binary). Alternatively, the structure may be structured to be interpretable and/or compiled (whether in a single stage or in multiple stages) so as to generate such binary that is directly interpretable by the processors. Such an understanding of example structures of an executable component is well within the understanding of one of ordinary skill in the art of computing when using the term “executable component”.
The term “executable component” is also well understood by one of ordinary skill as including structures, such as hard coded or hard wired logic gates, that are implemented exclusively or near- exclusively in hardware, such as within a field programmable gate array (FPGA), an application specific integrated circuit (ASIC), or any other specialized circuit. Accordingly, the term “executable component” is a term for a structure that is well understood by those of ordinary skill in the art of computing, whether implemented in software, hardware, or a combination. In this description, the terms “component”, “agent”, “manager”, “service”, “engine”, “module”, “virtual machine” or the like may also be used. As used in this description and in the case, these terms (whether expressed with or without a modifying clause) are also intended to be synonymous with the term “executable component”, and thus also have a structure that is well understood by those of ordinary skill in the art of computing.
In the description that follows, embodiments are described with reference to acts that are performed by one or more computing systems. If such acts are implemented in software, one or more processors (of the associated computing system that performs the act) direct the operation of the computing system in response to having executed computer-executable instructions that constitute an executable component. For example, such computer-executable instructions may be embodied on one or more computer-readable media that form a computer program product. An example of such an operation involves the manipulation of data. If such acts are implemented exclusively or near-exclusively in hardware, such as within a FPGA or an ASIC, the computerexecutable instructions may be hard-coded or hard-wired logic gates. The computer-executable instructions (and the manipulated data) may be stored in the memory 1004 of the computing system 1000. Computing system 1000 may also contain communication channels 1008 that allow the computing system 1000 to communicate with other computing systems over, for example, network 1010.
While not all computing systems require a user interface, in some embodiments, the computing system 1000 includes a user interface system 1012 for use in interfacing with a user. The user interface system 1012 may include output mechanisms 1012A as well as input mechanisms 1012B. The principles described herein are not limited to the precise output mechanisms 1012A or input mechanisms 1012B as such will depend on the nature of the device. However, output mechanisms 1012A might include, for instance, speakers, displays, tactile output, virtual or augmented reality, holograms and so forth. Examples of input mechanisms 1012B might include, for instance, microphones, touchscreens, virtual or augmented reality, holograms, cameras, keyboards, mouse or other pointer input, sensors of any type, and so forth.
Embodiments described herein may comprise or utilize a special-purpose or general-purpose computing system including computer hardware, such as, for example, one or more processors and system memory, as discussed in greater detail below. Embodiments described herein also include physical and other computer-readable media for carrying or storing computer-executable instructions and/or data structures. Such computer-readable media can be any available media that can be accessed by a general-purpose or special-purpose computing system. Computer-readable media that store computer-executable instructions are physical storage media. Computer-readable media that carry computer-executable instructions are transmission media. Thus, by way of example, and not limitation, embodiments of the invention can comprise at least two distinctly different kinds of computer-readable media: storage media and transmission media.
Computer-readable storage media includes RAM, ROM, EEPROM, CD-ROM, or other optical disk storage, magnetic disk storage, or other magnetic storage devices, or any other physical and tangible storage medium which can be used to store desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general- purpose or special-purpose computing system.
A “network” is defined as one or more data links that enable the transport of electronic data between computing systems and/or modules and/or other electronic devices. When information is transferred or provided over a network or another communications connection (either hardwired, wireless, or a combination of hardwired or wireless) to a computing system, the computing system properly views the connection as a transmission medium. Transmission media can include a network and/or data links which can be used to carry desired program code means in the form of computer-executable instructions or data structures and which can be accessed by a general- purpose or special-purpose computing system. Combinations of the above should also be included within the scope of computer-readable media.
Further, upon reaching various computing system components, program code means in the form of computer-executable instructions or data structures can be transferred automatically from transmission media to storage media (or vice versa). For example, computer-executable instructions or data structures received over a network or data link can be buffered in RAM within a network interface module (e.g., a “NIC”), and then be eventually transferred to computing system RAM and/or to less volatile storage media at a computing system. Thus, it should be understood that storage media can be included in computing system components that also (or even primarily) utilize transmission media.
Computer-executable instructions comprise, for example, instructions and data which, when executed at a processor, cause a general-purpose computing system, special-purpose computing system, or special-purpose processing device to perform a certain function or group of functions. Alternatively, or in addition, the computer-executable instructions may configure the computing system to perform a certain function or group of functions. The computer executable instructions may be, for example, binaries or even instructions that undergo some translation (such as compilation) before direct execution by the processors, such as intermediate format instructions such as assembly language, or even source code.
Although the subject matter has been described in language specific to structural features and/or methodological acts, it is to be understood that the subject matter defined in the appended claims is not necessarily limited to the described features or acts described above. Rather, the described features and acts are disclosed as example forms of implementing the claims.
Those skilled in the art will appreciate that the invention may be practiced in network computing environments with many types of computing system configurations, including, personal computers, desktop computers, laptop computers, message processors, hand-held devices, multiprocessor systems, microprocessor-based or programmable consumer electronics, network PCs, minicomputers, mainframe computers, mobile telephones, PDAs, pagers, routers, switches, datacenters, wearables (such as glasses) and the like. The invention may also be practiced in distributed system environments where local and remote computing system, which are linked (either by hardwired data links, wireless data links, or by a combination of hardwired and wireless data links) through a network, both perform tasks. In a distributed system environment, program modules may be located in both local and remote memory storage devices.
Those skilled in the art will also appreciate that the invention may be practiced in a cloud computing environment. Cloud computing environments may be distributed, although this is not required. When distributed, cloud computing environments may be distributed internationally within an organization and/or have components possessed across multiple organizations. In this description and the following claims, “cloud computing” is defined as a model for enabling on- demand network access to a shared pool of configurable computing resources (e.g., networks, servers, storage, applications, and services). The definition of “cloud computing” is not limited to any of the other numerous advantages that can be obtained from such a model when properly deployed.
For the processes and methods disclosed herein, the operations performed in the processes and methods may be implemented in differing order. Furthermore, the outlined operations are only provided as examples, and some of the operations may be optional, combined into fewer steps and operations, supplemented with further operations, or expanded into additional operations without detracting from the essence of the disclosed embodiments.
The present invention may be embodied in other specific forms without departing from its spirit or characteristics. The described embodiments are to be considered in all respects only as illustrative and not restrictive. The scope of the invention is, therefore, indicate by the appended claims rather than by the foregoing description. All changes which come within the meaning and range of equivalency of the claims are to be embraced within their scope.

Claims

1. A computer-implemented method for generating a web site preview based on a web site identifier and that includes one or more controls selectable to cause navigation to associated one or more endpoints, the method comprising: receiving a web site identifier from a client computing system, the web site identifier identifying a web site; using the web site identifier to navigate to the web site identified by the web site identifier; after navigating to the web site, accessing an action identifier and an associated endpoint identifier from the web site; generating preview data representing a preview of the web site represented by the web site identifier, the preview data being structured to be interpreted by the client computing system to cause the client computing system to render a web site preview that that defines how the web site preview will be rendered, and to render the web site preview with an action control associated with an action and that , and to render the web site preview with an action control associated with an action and that is connectable to the endpoint identified by the endpoint identifier; and causing the generated preview data to be sent to the client computing system.
2. The method in accordance with Claim 1, the action control configured to when connected to the endpoint, display data from the endpoint, and update the data in response to further update from the endpoint.
3. The method in accordance with Claim 1, the action control configured to be selectable by a user of the client computing system to navigate the client computing system to the endpoint.
4. The method in accordance with Claim 1, the endpoint being within a domain of the web site.
5. The method in accordance with Claim 1, the endpoint being outside of a domain of the web site.
6. The method in accordance with Claim 5, the endpoint being a mapping service.
7. The method in accordance with Claim 5, the endpoint being a reservation service.
8. The method in accordance with Claim 5, the endpoint being a review service.
9. The method in accordance with Claim 1, the action identifier being a first action identifier, the action being a first action, the action control being a first action control, the endpoint identifier being a first endpoint identifier, the endpoint being a first endpoint, the method further comprising: after navigating to the web site, accessing a second action identifier and an associated second endpoint identifier from the web site, the generated preview being further structured to be interpretable by the client computing system to render the web site preview also with a second action control associated with a second action and that is selectable to connectable to the second endpoint identified by the second endpoint identifier.
10. A service computing system comprising: one or more processors; and one or more computer-readable media having thereon computer-executable instructions that are structured such that, if executed by the one or more processors, the service computing system would be configured to generate a web site preview based on a web site identifier and that includes one or more controls that are connectable to one or more endpoints, by being configured to perform the following in response to accessing a web site identifier from the client computing system: using the web site identifier to navigate to the web site identified by the web site identifier; after navigating to the web site, accessing an action identifier and an associated endpoint identifier from the web site; generating preview data representing a preview of a web site represented by the web site identifier, the preview data being structured to be interpreted by the client computing system to cause the client computing system to render a web site preview that that defines how the web site preview will be rendered, and to render the web site preview with an action control associated with an action and that facilitates connection to the endpoint identified by the endpoint identifier; and causing the generated preview data to be sent to the client computing system.
PCT/US2023/014199 2022-05-24 2023-03-01 Web site preview generation with action control Ceased WO2023229693A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US17/752,665 US11983483B2 (en) 2022-05-24 2022-05-24 Web site preview generation with action control
US17/752,665 2022-05-24

Publications (1)

Publication Number Publication Date
WO2023229693A1 true WO2023229693A1 (en) 2023-11-30

Family

ID=85685176

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2023/014199 Ceased WO2023229693A1 (en) 2022-05-24 2023-03-01 Web site preview generation with action control

Country Status (2)

Country Link
US (1) US11983483B2 (en)
WO (1) WO2023229693A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11960817B2 (en) 2022-05-24 2024-04-16 Microsoft Technology Licensing, Llc Web site preview based on client presentation state

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200272669A1 (en) * 2019-02-25 2020-08-27 Cludo, Inc. Previewing enhanced site search functionality for website
US20210034690A1 (en) * 2019-07-30 2021-02-04 Ebay Korea Co., Ltd. Presenting a customized landing page as a preview at a search engine

Family Cites Families (75)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5708825A (en) * 1995-05-26 1998-01-13 Iconovex Corporation Automatic summary page creation and hyperlink generation
US5890172A (en) * 1996-10-08 1999-03-30 Tenretni Dynamics, Inc. Method and apparatus for retrieving data from a network using location identifiers
US7174513B1 (en) * 1999-08-19 2007-02-06 Gateway Inc. System and method for advanced network viewing
WO2001063919A1 (en) 2000-02-23 2001-08-30 Penta Trading Ltd. Systems and methods for generating and providing previews of electronic files such as web files
US7031968B2 (en) * 2000-12-07 2006-04-18 Prev-U Israel Ltd. Method and apparatus for providing web site preview information
US8103737B2 (en) * 2001-03-07 2012-01-24 International Business Machines Corporation System and method for previewing hyperlinks with ‘flashback’ images
GB0206090D0 (en) * 2002-03-15 2002-04-24 Koninkl Philips Electronics Nv Previewing documents on a computer system
US20040003351A1 (en) * 2002-06-28 2004-01-01 Microsoft Corporation Navigating a resource browser session
US20040205514A1 (en) * 2002-06-28 2004-10-14 Microsoft Corporation Hyperlink preview utility and method
US9076147B2 (en) * 2002-09-18 2015-07-07 Advenix, Corp. Systems and methods for online marketing and advertising on e-mail systems
US8032597B2 (en) * 2002-09-18 2011-10-04 Advenix, Corp. Enhancement of e-mail client user interfaces and e-mail message formats
US7383248B2 (en) * 2002-12-12 2008-06-03 Jay Chieh Chen Hyperlink park and search
WO2004055647A2 (en) * 2002-12-13 2004-07-01 Applied Minds, Inc. Meta-web
US7712034B2 (en) * 2003-03-24 2010-05-04 Microsoft Corporation System and method for shell browser
US7178101B2 (en) 2003-06-24 2007-02-13 Microsoft Corporation Content template system
US7111229B2 (en) * 2003-06-25 2006-09-19 Yahoo! Inc. System and method for providing a webpage
US7444598B2 (en) * 2003-06-30 2008-10-28 Microsoft Corporation Exploded views for providing rich regularized geometric transformations and interaction models on content for viewing, previewing, and interacting with documents, projects, and tasks
US7159188B2 (en) * 2003-10-23 2007-01-02 Microsoft Corporation System and method for navigating content in an item
US20060069617A1 (en) * 2004-09-27 2006-03-30 Scott Milener Method and apparatus for prefetching electronic data for enhanced browsing
US7836392B2 (en) 2004-11-10 2010-11-16 Sap Aktiengesellschaft Layout information for data component
US8509826B2 (en) * 2005-09-21 2013-08-13 Buckyball Mobile Inc Biosensor measurements included in the association of context data with a text message
US7814425B1 (en) * 2005-12-30 2010-10-12 Aol Inc. Thumbnail image previews
US20070180381A1 (en) * 2006-01-31 2007-08-02 Rice Stephen J Browser application
US7716164B2 (en) 2006-12-29 2010-05-11 Sap Ag Layout information for data element
US20100312641A1 (en) * 2007-12-21 2010-12-09 Truvle Technologies Ltd. System and method for providing complementary advertising media channels
US20090228804A1 (en) 2008-03-05 2009-09-10 Microsoft Corporation Service Preview And Access From an Application Page
BRPI1009233A2 (en) * 2009-03-02 2016-03-15 Exacttarget Inc system, method and user interface for generating electronic email with optimized live content attached
US8683311B2 (en) * 2009-12-11 2014-03-25 Microsoft Corporation Generating structured data objects from unstructured web pages
US20110173569A1 (en) * 2010-01-13 2011-07-14 Rockmelt, Inc. Preview Functionality for Increased Browsing Speed
JP5589504B2 (en) * 2010-03-31 2014-09-17 ブラザー工業株式会社 Image formation control program and control device
US20130159445A1 (en) 2010-08-10 2013-06-20 Zonka And Associates Multi-media electronic greeting card with social media component
US8819168B2 (en) * 2010-12-14 2014-08-26 Microsoft Corporation Link expansion service
US8949370B1 (en) 2011-01-12 2015-02-03 Google Inc. Mobile application generation
US20120203929A1 (en) * 2011-02-03 2012-08-09 Kpi Global Technologies, Inc. Visual preview of shortened url
US9063912B2 (en) * 2011-06-22 2015-06-23 Box, Inc. Multimedia content preview rendering in a cloud content management system
US20130151936A1 (en) 2011-12-12 2013-06-13 Microsoft Corporation Page preview using contextual template metadata and labeling
US9430449B2 (en) 2012-03-30 2016-08-30 Sdl Plc Systems, methods, and media for managing editable previews of webpages
US20140040226A1 (en) 2012-07-31 2014-02-06 Microsoft Corporation Providing application result and preview
US9576065B2 (en) 2013-07-17 2017-02-21 Go Daddy Operating Company, LLC Method for maintaining common data across multiple platforms
US20140108408A1 (en) * 2012-10-11 2014-04-17 Microsoft Corporation Topic collections
US10095663B2 (en) * 2012-11-14 2018-10-09 Amazon Technologies, Inc. Delivery and display of page previews during page retrieval events
US10554608B2 (en) * 2013-02-28 2020-02-04 Oath Inc. Method and system for displaying email messages
US9946963B2 (en) * 2013-03-01 2018-04-17 Layar B.V. Barcode visualization in augmented reality
CN103425794B (en) 2013-08-29 2016-12-28 优视科技有限公司 Web preview method and apparatus based on double WebView
US8903931B1 (en) * 2013-08-30 2014-12-02 Google Inc. Methods for generating e-mail message interfaces
US20150073922A1 (en) * 2013-09-06 2015-03-12 MaxPoint Interactive, Inc. System and Method for Generating Customized Advertisement Creatives
US9973462B1 (en) * 2013-10-21 2018-05-15 Google Llc Methods for generating message notifications
US9442903B2 (en) * 2014-02-06 2016-09-13 Facebook, Inc. Generating preview data for online content
US9461936B2 (en) * 2014-02-14 2016-10-04 Google Inc. Methods and systems for providing an actionable object within a third-party content slot of an information resource of a content publisher
US9946771B2 (en) * 2014-05-30 2018-04-17 Apple Inc. User interface for searching
US20160092245A1 (en) * 2014-09-25 2016-03-31 Oracle International Corporation Data rich tooltip for favorite items
US10282069B2 (en) * 2014-09-30 2019-05-07 Microsoft Technology Licensing, Llc Dynamic presentation of suggested content
US20160103861A1 (en) * 2014-10-10 2016-04-14 OnPage.org GmbH Method and system for establishing a performance index of websites
US20160180257A1 (en) * 2014-12-18 2016-06-23 Expedia, Inc. Automatic conversion of formatted travel information
US20160234267A1 (en) 2015-02-06 2016-08-11 Adobe Systems Incorporated Sharing digital content using an interactive send service system
US9929990B2 (en) * 2015-04-28 2018-03-27 Dropbox, Inc. Inserting content into an application from an online synchronized content management system
US10338794B2 (en) * 2015-05-15 2019-07-02 Spotify Ab Playback of media streams in dependence of a time of a day
US10733370B2 (en) * 2015-08-18 2020-08-04 Change Healthcare Holdings, Llc Method, apparatus, and computer program product for generating a preview of an electronic document
US10474428B2 (en) * 2015-10-02 2019-11-12 Microsoft Technology Licensing, Llc Sorting parsed attachments from communications
CN106598972B (en) 2015-10-14 2020-05-08 阿里巴巴集团控股有限公司 Information display method and device and intelligent terminal
US11677809B2 (en) * 2015-10-15 2023-06-13 Usablenet Inc. Methods for transforming a server side template into a client side template and devices thereof
US10157408B2 (en) * 2016-07-29 2018-12-18 Customer Focus Software Limited Method, systems, and devices for integrated product and electronic image fulfillment from database
US20180095604A1 (en) * 2016-09-30 2018-04-05 Microsoft Technology Licensing, Llc Rendering components based on screen size
CN108628870A (en) 2017-03-16 2018-10-09 北京搜狗科技发展有限公司 A kind of web preview method and apparatus
US10853220B2 (en) 2017-04-12 2020-12-01 Microsoft Technology Licensing, Llc Determining user engagement with software applications
US10621272B1 (en) * 2017-07-21 2020-04-14 Slack Technologies, Inc. Displaying a defined preview of a resource in a group-based communication interface
US20190102472A1 (en) * 2017-09-30 2019-04-04 Ringcentral, Inc. Systems and methods for generating a resource preview in a communication session
US10579808B2 (en) * 2017-11-10 2020-03-03 Facebook, Inc. Systems and methods for generating previews of content protected by authentication protocols
US20180260481A1 (en) 2018-04-01 2018-09-13 Yogesh Rathod Displaying search result associated identified or extracted unique identity associated structured contents or structured website
US11475071B2 (en) * 2019-03-29 2022-10-18 Salesforce, Inc. Configuring dynamic content previews
US12542751B2 (en) * 2019-04-24 2026-02-03 Selligent, S.A. Systems and methods for providing real-time, interactive email content
US11080358B2 (en) * 2019-05-03 2021-08-03 Microsoft Technology Licensing, Llc Collaboration and sharing of curated web data from an integrated browser experience
US11321746B2 (en) * 2019-09-04 2022-05-03 Capital One Services, LLC. Ad simulator browser extension
US11960817B2 (en) 2022-05-24 2024-04-16 Microsoft Technology Licensing, Llc Web site preview based on client presentation state
US20230385363A1 (en) 2022-05-24 2023-11-30 Microsoft Technology Licensing, Llc Web site preview generation based on web site type

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20200272669A1 (en) * 2019-02-25 2020-08-27 Cludo, Inc. Previewing enhanced site search functionality for website
US20210034690A1 (en) * 2019-07-30 2021-02-04 Ebay Korea Co., Ltd. Presenting a customized landing page as a preview at a search engine

Also Published As

Publication number Publication date
US20230385525A1 (en) 2023-11-30
US11983483B2 (en) 2024-05-14

Similar Documents

Publication Publication Date Title
CN113261023B (en) Remote access to metadata of collaborative documents
US8751558B2 (en) Mashup infrastructure with learning mechanism
US10055113B2 (en) System and method for modifying user interface elements
US12216991B2 (en) Task templates and social task discovery
US9851952B2 (en) Seamless restful API generation and consumption through a single channel
US20140245141A1 (en) Contextual user assistance for cloud services
US20140164893A1 (en) Assisted portal navigation and crowd-based feedback
KR102040359B1 (en) Synchronization points for state information
US20230385363A1 (en) Web site preview generation based on web site type
US10187395B2 (en) Resource sharing and designation of permissions for other tenants and unregistered users of same tenant
US20170116291A1 (en) Network caching of search result history and interactions
Liu et al. Composing enterprise mashup components and services using architecture integration patterns
US11983483B2 (en) Web site preview generation with action control
US11960817B2 (en) Web site preview based on client presentation state
US10324600B2 (en) Web page generation system
US20180059887A1 (en) Direct navigation to modal dialogs
US10839036B2 (en) Web browser having improved navigational functionality
US20180173729A1 (en) Microservice architecture for an analytic data access layer
CN119234209A (en) Page rendering method, device, equipment and storage medium
US11301498B2 (en) Multi-cloud object store access
US12578979B2 (en) Visualization of application capabilities
US11936531B2 (en) Transforming content in a document using chained applications in a client-server architecture
US12487914B2 (en) Simulated software features in a simulated sandbox within a production environment
US20190005007A1 (en) Merging client content with cloud services
Shaari et al. Achieving “One-Web” through customization and prioritization

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 23711632

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 23711632

Country of ref document: EP

Kind code of ref document: A1