FIELD

Embodiments relate to user interfaces for computer software applications, and more particularly to management of user interfaces for computer software applications.

INTRODUCTION

Computing devices are regularly controlled by users to perform multiple tasks at once. For example, displaying a spreadsheet in one application window of a graphical user interface, while simultaneously displaying a word processor document in another application window.

Windows may be positioned side-by-side, overlapping, or on or across multiple display devices in order to allow a user to view the contents of multiple windows simultaneously. Multiple instances of web browser applications may also be used to display content in multiple web browser tabs or windows.

In particular, being able to view information from a multitude of web browser windows may be desirable, or on different devices that share a common account or credentials.

New computer capabilities to control multi-windowed user interfaces may offer improvements in creating or organizing application states.

SUMMARY

There is provided a computer-implemented method for duplicating an application state, the method including: recording one or more point-in-time characteristics of an original application state of an application, the recording including: parsing underlying code for the application to identify (i) a set of state variables that together define the original application state and (ii) a set of logical breadcrumbs identifying a pre-determined number of past actions that led to the original application state; establishing one or more logical anchor points based on the set of state variables; provisioning memory resources to support a duplicate application state; on the provisioned memory resources, initiating a copy of the application; transferring the one or more point-in-time characteristics to the provisioned memory resources, the transferring including: configuring the copy of the application using the one or more point-in-time characteristics to regenerate the original application state on the copy of the application.

In another aspect, the recording of the one or more point-in-time characteristics comprises generating a universal resource locator string (URL) adapted to store at least (i) application information and (ii) one or more status information data elements; the application information is interpreted during the initiating to determine which application to initiate; and the one or more status information data elements are interpreted during the configuring to convey state information to the copy of the application.

In another aspect, the application includes at least one application subcomponent.

In another aspect, the application subcomponent consists of a component selected from the group including of Flash, HTML5, AJAX, PHP, and ActiveX components.

In another aspect, the application state is provided in relation to at least one of a group including a Sankey graph, a bubble graph, and a transaction view.

In another aspect, the application state is duplicated to a second device from an original application state that is hosted on a first device.

In another aspect, the application state is hosted within a secure session, the method further including: duplicating one or more security credentials from the original application state to the copy of the application.

In another aspect, the logical anchor points are representative of one or more customizations to one or more graph display components.

In another aspect, each of the logical anchor points are representative of a corresponding plurality of one or more customizations to one or more graph display components.

In another aspect, each of the logical anchor points are updated periodically to match modifications to the original application state over a period of time.

In various further aspects, the disclosure provides corresponding systems and devices, and logic structures such as machine-executable coded instruction sets for implementing such systems, devices, and methods.

In this respect, before explaining at least one embodiment in detail, it is to be understood that the embodiments are not limited in application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.

Many further features and combinations thereof concerning embodiments described herein will appear to those skilled in the art following a reading of the instant disclosure.

