programmatic manipulation of the ui is achieved by using scripting languages to modify the document object model of the silverlight canvas object. to facilitate this, silverlight exposes a dom api, accessible from any scripting language supported by silverlight, which in version 1 release is limited to javascript running in the browser. however, there are no gui widgets built in. the native widgets of the browser must be overlaid on top of the silverlight "canvas" for user input. support for data formats is limited to xml and json only.