I decided to myself to write more about actual and now-days things, but each blog should have a kind of “entry”, so today I would like to tell a story that will fit perfectly on this entry.

Back in the beginning of 2007, I used to be a web developer on one large ASP.NET media project, whose one of the major feature for users should be possibility of free drawing as well as placing text “tags” over streamed WMF video from proprietary media server. Straightforward solution that we have in mind then was heavy JavaScript logic coupled with embedded Windows Media Player object. Add to that the fact that some of the development team members came to this project with desktop development background and jQuery was not so world-wide famous as it is now. Gosh, we even started implementation of all this! So, you can imagine our joy when Microsoft Silverlight has been finally released in 1.0 version.

This first version has only JavaScript API for working with plug-in core functionality and manipulating/accessing XAML content. Although potential using Silverlight in this project still requires us to continue with JavaScript for all client logic, we could at least benefit greatly from using this entire vector graphics and animation stuff out of the (Silverlight) box as well as managed Media Element instead of alien native Media Player object. However, customer have thoughts (quite justifiably) that despite the fact that this new technology looks awesome, it needs some time for adoption among end users, so we could not use it right in that project, sadly.

Nevertheless, from those days, I closely followed the development of Silverlight and look forward to each new version of it that came with the “go-live” license, so that when the time comes to once more time discuss the implementation of a particular functionality, I had more arguments to the customer why we really need to use Silverlight in this project.

Also in that time WPF already started gaining some credibility from several (enterprise) customers as a platform for their desktop applications, instead of classic but many years proofed approach with Windows Forms. Moreover, similarities between WPF and Silverlight (which was initially known as WPF/E where “E” means “Everywhere”) were clearly visible even in those days (end of 2006).

Time passed and it seemed the product growing by leaps and bounds. At MIX08, there was a nice video that shows all some Silverlight design wins around the world:


As an old gamer I just could not pass up QuakeLight by Julien Frelat (InnoveWare) and Adam Kinney (Microsoft), the port of original Quake I by id Software (written in C) to its Silverlight version (written in C#):


This was 2008. Even QuakeLive with its own custom browser plugin was released only at 2010 - that’s why the port was pretty impressive back then.

Keep in mind that both WPF and Silverlight (starting from its 2.0 version with CLR, released a year later) have very similar desktop development model. They have more or less shared XAML-based layout with managed (read “C#-based”) code behinds.

Thus, it did not take long to me to fall in love with this approach and went forward along the road to the bright future of XAML – on the desktop and in the web (with promise to be the same bright on mobile as well, looking a bit ahead). In those days, it did look really bright.

To be continue…

:date: 2014 Jan 07