Methods and systems for creating and rendering skins are described. In one
described embodiment skins can be defined as sets of script files, art
files, media files, and text files. These files can be used to create new
and different skin appearances, layouts and functionalities. The files
are organized for use using a hierarchical tag-based data structure, an
example of which is an XML data structure. The data structure is
processed to provide an object model. The object model can be a
scriptable object model that enables script to execute to provide an
interactive, dynamic skin that can respond to internal and external
events. In one embodiment, a computer architecture used for rendering the
skin includes a layout manager that processes an intermediate
representation of the XML data structure to provide the scriptable object
model. Various components of the scriptable object model can include a
script engine for receiving and executing script, and one or more
rendering elements. Each rendering element represents a different skin
element and can be individually configured to respond to script via the
script engine. The inventive systems and techniques can provide a robust,
dynamic skin that can be rendered and re-rendered at runtime.