1. A non-transitory computer readable medium having instructions stored thereon that, when executed by a processor, causes the processor to: generate a first user interface for an end user of an application, wherein the first user interface comprises a plurality of user interface components organized in a tree structure comprising a root component and a plurality of component subtrees; in response to a request from the end user to edit the first user interface, generate an editable user interface that comprises an indication that at least one component subtree of the first user interface is editable and selectable, wherein the indication comprises adding a style to a root of the subtree; receive inline editing input from the end user for a first component of the editable component subtree; and update the first component based on the editing input so that a visual attribute of the first component when displayed on the first user interface is changed; wherein the first component comprises a button and text within the button, and wherein the inline editing input comprises, while the first component is displayed on the user interface, positioning a cursor within the text and within the button and revising the text; wherein the changed visual attribute is the revised text; wherein the user interface components comprise at least one of the button, a taskbar or a tab.