US 12,216,731 B2
Controlling views of a website on a browser
Noah Mormino, Covington, LA (US); Jonathan Darby, Atlanta, GA (US); and Bjorn Mann, Walpole, NH (US)
Assigned to Klaviyo, Inc, Boston, MA (US)
Filed by Klaviyo, Inc, Boston, MA (US)
Filed on Mar. 30, 2023, as Appl. No. 18/128,540.
Prior Publication US 2024/0330395 A1, Oct. 3, 2024
Int. Cl. G06F 16/954 (2019.01); G06F 16/958 (2019.01)
CPC G06F 16/986 (2019.01) 15 Claims
OG exemplary drawing
 
1. A method of displaying an A view and a B view on a single page application comprising:
generating, by a server, selected variant data including data of the A view and data of the B view;
downloading a state management library and a variant selector to user browsers of each of a plurality of computing devices that access a website, wherein the state management library and the variant selector operate on each user browser of each of the plurality of computing devices after being downloaded;
downloading, to each web browser of each of the plurality of computing devices, a payload of all possible variants including data of the A view and data of the B view at times a web page is loaded to each web browser of each of the plurality of computing devices from the server;
selecting, by each variant selector of each of web browsers, downloaded data of the A view or downloaded data of the B view based on at least on a configured language of a computing device of each web browser;
providing the selected variant data, by the variant selector of each of the web browsers, including the data of the A view or the data of the B view to the state management library of each of the web browsers, wherein each variant selector obtains a corresponding downloaded and selected data of the A view or downloaded and selected data of the B view and overwrites data for a page in each state management library with the downloaded and selected data of the A view or the downloaded and selected data of the B view, thereby re-rendering by the page with the corresponding downloaded and selected data of the A view or the downloaded and selected data of the B view, wherein the corresponding downloaded and selected data of the A view or the downloaded and selected data of the B view for each of the web browsers is independent of the corresponding downloaded and selected data of the A view or the downloaded and selected data of the B view for each other of the web browsers;
generating, by the state management library, a UI (user interface) of the website based on the downloaded and selected data of the A view or the downloaded and selected data of the B selected by the variant selector and provided to the state management library;
controlling displaying, by a website DOM (document object model), underlying data of a website view on each user browser based on the UI generated by the state management library;
wherein the website view is generated by a front-end framework, wherein the front-end framework provides input to the website DOM which controls the website view on the user browser, wherein the state management library provides either the downloaded and selected data of the A view or the downloaded and selected data of the B view to the front-end framework as selected by the variant selector; and
manipulating views of the website with the front-end framework based on the selected variant data.