Microsoft Silverlight is an application framework for writing and running rich web applications that was actively developed and marketed by Microsoft from 2007 to 2012. This is a technical overview of the platform's history. Silverlight 1 Silverlight 1, which was developed under the codename Windows Presentation Foundation/Everywhere (WPF/E) and released in 2007, consists of the core presentation framework, which is responsible for the UI (user interface), interactivity and user input, basic UI controls, graphics and animation, media playback, digital rights management (DRM), and DOM integration. It is made up of the following components: Input—handling input from devices like keyboard, mouse, stylus etc. UI core—managing rendering of bitmap images (including compressed raster images like JPEG), vector graphics, text and animations. Media—playback of MP3, WMA Standard, WMV7, WMV8 and WMV9/VC-1 streams. XAML—to allow the UI layout to be created using XAML markup language. A Silverlight application starts by invoking the Silverlight control from the HTML page, which then loads 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. 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. Silverlight 2 Silverlight 2 (previously referred to as version 1.1) includes a version of the .NET Framework, implementing the same full Common Language Runtime (CLR) version as .NET Framework 3.0; so it can execute programs written in any .NET language. (By default, however, reference assemblies compiled with the regular .NET Framework cannot be referenced.) Unlike the CLR included with .NET