a silverlight application starts by invoking the silverlight control from the html page, which then loads up a xaml file. the xaml file contains a "canvas" object, which acts as a container for other elements. silverlight provides various geometrical primitives like lines, ellipses and other shapes, to elements like text, images, and media, etc. the elements are properly positioned to achieve the desired layout. any arbitrary shape can be created as well. these elements can be animated using "event triggers"; some animation effects are predefined, others can be created as composite of the pre-defined effects. events like keyboard or mouse movements can also raise "events" which can be handled by custom scripts.