My Adventures in Silverlight

If you’ve been returning to my blog in the past month, you could see that I haven’t written anything since December the 3rd. I haven’t disappeared, don’t worry. I just had to endure the year’s end project closures, the holidays, the vacations (in snowy Berlin) and the back-to-the-reality adjustment. I’m back and kickin’ again!

Last week I started an internal company project in Silverlight 2.0 and Windows Communication Foundation. By doing it, I learned some oddities and particularities which I want to share with you.


The Background

The project I undertook is an entry form for our monthly time tracking system. We now fill an Excel form with formulae that automatically calculate if you are eligible for an daily allowance. It also sums up your monthly expenses and allowances to give you a clear number of your expenses for the month.

The employees are assigned to different projects, each one with its own project code. This code is often incorrectly typed or unknown by the employees. Moreover, the existing process is cumbersome for the administration people, as they have to cross-check that no wrong data has been submitted (such as working too many hours or in holidays) and to sum up the total costs for their input in the financial payroll system.


Our first try was to use InfoPath Forms Services for this task, but we found it lacking the agility to code dynamic data and easy-to-use interface of an Excel form. I suggested to give Silverlight a try and in just a week the system has been built from the scratch.

The Beginning

My initial idea was to build a Windows Communication Foundation service that provides the service layer for the Silverlight client interface hosted in a SharePoint web part. The Silverlight client would have a data grid for data entry and additional controls to show statistics, user details, comments and so on. The filled forms would be saved by the WCF service on the server or a database.

I downloaded Silverlight Tools for Visual Studio 2008 and I began to build the application. Since then and until the product beta rollout (few days ago) I’ve (painfully) learned what can and what cannot be done in Silverlight and what should you take into account when building a Silverlight LOB application.

I will share the lessons learned in the following posts (soon to arrive):

  1. Talking to a Windows Communication Foundation service from Silverlight
  2. Silverlight and WCF Authentication issues
  3. Silverlight controls and its limitations
  4. Hosting a Windows Communication Foundation service and Silverlight in IIS
  5. Hosting a Silverlight user control in SharePoint web part

See you in the next post!