1. A method comprising: executing client-side code of a web application on a client device; maintaining on the client device, by the client-side code, state information of a set of invoked activities invoked by a user of the client device during a current session with the web application; wherein the set of invoked activities includes a particular activity; in response to user input, the client-side code generating and displaying a theme preview interface comprising a plurality of live previews; wherein each live preview of the plurality of live previews is a real time visual representation, of a current state of a corresponding invoked activity, that reflects a corresponding theme; wherein the plurality of live previews comprises one of: a plurality of live previews of a current state of the particular activity, wherein each of the plurality of live previews have a different corresponding theme, or a plurality of live previews, each of which correspond to a current state of a different invoked activity of the set of invoked activities, wherein each of the plurality of live preview have a common corresponding theme; wherein the method is performed by one or more computing devices.
1. A method comprising: executing client-side code of a web application on a client device; maintaining on the client device, by the client-side code, state information of a set of invoked activities invoked by a user of the client device during a current session with the web application; wherein the set of invoked activities includes a particular activity; in response to user input, the client-side code generating and displaying a theme preview interface comprising a plurality of live previews; wherein each live preview of the plurality of live previews is a real time visual representation, of a current state of a corresponding invoked activity, that reflects a corresponding theme; wherein the plurality of live previews comprises one of: a plurality of live previews of a current state of the particular activity, wherein each of the plurality of live previews have a different corresponding theme, or a plurality of live previews, each of which correspond to a current state of a different invoked activity of the set of invoked activities, wherein each of the plurality of live preview have a common corresponding theme; wherein the method is performed by one or more computing devices. 10. The method of claim 1 , further comprising: obtaining at least one advertisement based on a current state of one of the set of invoked activities; displaying the at least one advertisement in the theme preview interface with the plurality of live previews.