Should you choose Silverlight?

19 Dec

There seems to be a bit of controversy surrounding Silverlight these days; in case you hadn’t noticed. This post is my two-penneth on the current situation and what, I think, the future holds.

I’m a staunch advocate of Silverlight, for now. Especially given the current alternatives. My conviction is such that I’m building a startup that uses Silverlight to test the business model, Percollate. Because of my history of C-level languages and Microsoft development environments, the segue into Silverlight was almost painless. Clearly, it will not be around for ever, but for now it’s hard to see a better alternative.

Here are my thoughts with a little more structure:

Silverlight is Free

The compiler is part of the runtime which is freely downloadable. Microsoft provides a great development environment, Visual Studio and offers the Express Edition for free. There are also 3rd-party developer tools available; made possible by virtue of the free compiler and the reflective nature of the BCL.

A Decade of Support

Microsoft recently announced that they would be supporting Silverlight until the end of 2021. That’s 1 decade. 10 years. 120 months.

Compare this to an open source framework like, say, Ruby on Rails. When ‘Ruby on Rails with Feathers and Neon Lights v2’ comes along, the best developers from the community will jump ship. That’s not a criticism, it’s just that they tend to be trail-blazers looking for the latest innovation.

However, Microsoft will still be fixing the bug that you find in their framework in, say, 8 years time. Considering that 1 year is a lifetime in software development, this level of support is not to be sniffed at.

Now consider this: have you ever worked on a project that took 10 years to complete? How about 3 years? If the answer is yes to either of those questions then you’re probably not using anything as elegant as Silverlight. I don’t know any developers or business owners who are having to plan into the next decade and basing today’s framework decisions on that information.

Know your customer

This section could also have been called ‘It doesn’t work on an iPad‘.

I recently took Percollate to Lean Startup Machine. My pitch of the problem and solution received great responses from the room but, when the S word was introduced the number of interested delegates dwindled. This was at the point when none of us knew who the customer was.

My point is that working on an iPad / iPhone etc is important if you’re producing a consumer application. If, however, you are solving a business problem you don’t necessarily need that reach. As an example: during our private beta trials some customers were borrowing neighbours laptops or digging out old PCs to use our application. If you’re building something where the value proposition is high enough, people will put down their iPads for a few minutes.

Go Rich and Narrow

I love the new developer funnel for Windows 8 / WinRT. You can be a C# developer, a C / C++ developer or an HTML5 / CSS3 developer and yet all compile your work into a native Windows 8 application. Superb. The building blocks of Silverlight (XAML and C#) are the basic of this richer environment.

My hope is that Microsoft also inverts this funnel so that Silverlight / C# developers can ‘compile’ their applications to HTML5 and CSS3. Here’s hoping!

It’s good!

It really is very good. You can easily find a multitude of posts that cover the benefits and delights of Silverlight far more eloquently than I can do here. However, the use of observable data binding, GPU acceleration, compile-time validation and now 3D XNA game integration make it a great environment to work in.

Finally, the bad…

Microsoft engineers produce great works but, alas, its management has failed recently. Quite frankly, someone at Microsoft owes the developer community a thumping great apology. The veil of secrecy about new frameworks and platforms is damaging our infrastructure. You need to talk to us more. Seriously. Talk to us.

1 Comment

Posted by on December 19, 2011 in Silverlight



One response to “Should you choose Silverlight?

  1. overdrive

    January 2, 2012 at 3:06 am

    Good to see someone using a MS stack other than ASP.NET to do a startup. Seems everyone is a bit too much into open source these days for doing a startup, and I don’t understand the whole HTML5/JS hype as who wants to click on a link and wait for the entire page to refresh all the time (although yes I know you can make AJAX request to load part of a page, etc. but that’s much harder to do than in SL). Although if we’re targeting consumers then yes reach on multiple platforms would be important. But it’s important to know whom your user target demographic is first, and chose technology that best matches, which you’ve done.

    I’d ignore the naysayers as ultimately it depends on whether your customers will use your application or not. And I’d venture to say if it’s something to help with their business they’ll be mostly using desktop software anyhow.

    Anyhow good luck with your startup and hope you succeed as this would put Silverlight back on the map as a viable B2B LOB tool for developers. I’m trying to do my own startup, but probably will be using WPF (maybe later Silverlight if I feel I need to support Mac, etc.), as I’m targeting business users and not consumers.

    Totally agree with the last paragraph on MS management needing to get a clue. There’s a trickle down effect on using other MS products like SQL Server, Windows Server, etc. that will hurt MS revenue if people leave the MS UI ecosystem, as I doubt SL/WPF people will want to just switch to ASP.NET as there’s better open source alternatives.


Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: