On Silverlight and the Dangers of Over-specialization

by Damon Payne 26. December 2012 17:45

It’s been quite a long time since I’ve written any new Silverlight code. Reduced solely to its core suite of technologies, Silverlight is certainly still as cool as it was two years ago. I am probably not alone, though, in claiming that I see less and less interest in Silverlight as time goes by.
In my opinion, Steve Jobs killed the browser plugin ecosystem overnight with his anti-Flash rants and refusal to give Flash a place on the iPad. We are living in the renaissance of the front end web developer. To a large degree, I don’t mind this. It’s been years since jQuery took a way a great deal of the pain of Javascript, and projects like Foundation are taking away the pain of CSS. No, we’ve come a long way since my days of pre-Ajax hacking with posting-back hidden iframes. Sure, a type system would be a huge boon to larger in-browser efforts, but maybe TypeScript will save us.

Assimilate or Perish

There are other reasons why people began to drift away from Silverlight, of course. Microsoft, too, didn’t help matters. Microsoft has a lot of means by which it interacts with people and companies using its products in interesting ways: The MVP program, TAP programs, early-access programs, Insider Programs, Metro (not the UI framework) programs, and I’m probably forgetting at least six others. The companies and people that participate in these programs gain the ability to influence products but also a huge head start at building knowledge which is a nice competitive advantage. If your company decides to use a new feature of SQL Server, would you rather hire a consultant who’s been influencing the product under an NDA for a year, or someone who just got access at the same time you did? For this reason, there’s a very large community of people and companies for whom it pays big to align with Microsoft, lock step.

An investment in Silverlight may not quite seem like it belongs in the same category as, say, betting your business on SQL Server, but there are some additional factors. As I am fond of saying, when you choose a technology platform, you are also choosing the community behind that platform. If something like Silverlight is perceived as being on its way out, will you attract career-conscious engineers to work with you by espousing it? If you depend on your relationship with a giant vendor like Microsoft and they are shifting their direction in a particular area, hadn’t you better shift as well or risk losing their attention and good will?

Is that my cheese over there?

My programming career has seen me through BASIC and Pascal, through Solaris, Windows NT, and Mac OS X, through C# and PERL and, SQL. I never considered myself a “Silverlight guy” but rather a lifelong polyglot and ever-learning student. My public identity, though, was very much tied to things like Silverlight.  This is, in great part, responsible for my “dropping off the grid” for the latter part of 2012. True, I was also growing weary of the type of sessions user groups and code camps seem to want, but more on that later.

While the technical merits of Silverlight remain true, the marketplace of ideas seems to have moved past it. In fact, if I had to explain why I think a technology gets adopted, I think I’d say something like this:

TechAdoption

Many of these aspects are related yet distinct. Marketing can include things like Hype (Everyone is on GitHub and StackExchange writing Python now!) Mandates may mean something like forcing developers to learn Objective-C to take advantage of the Opportunity represented by the iOS marketplace.

The small glimpse of the obsolescence that comes with betting on the wrong horse left me in a funk for a while. I went into maintenance mode and didn’t innovate much for quite a while as I cast about looking for where I would invest my energies next. More on that later too, but I believe I’ve found a basket of things to start talking about. While for a while it seemed there was nothing in Microsoft DevDiv with so much momentum as Silverlight, life goes on. Software is still eating the world. It’s a great time to be a software developer, adapt and carry on.

I’m having as much fun as I ever have.

Cheers,

Damon

Tags:

Comments (6) -

Scott Carlson
Scott Carlson United States
12/26/2012 7:42:40 PM #

Ah, yes the hidden iframe post back....  I talk about that once in a while, to revel in how far we've come.  Remembering the pain we went through to get tab off validation, or sorted tables, most of that app (assuming you were referring to the same app)

I relate to your community comments.  I enjoy working in Java because of it's community, and the eco-system of subprojects, frameworks, tooling etc.  

I don't label myself a Java guy either, I'm a software developer.  

Also, I'm glad to see you still pop up once in a while. Smile

Reply

Damon
Damon United States
12/26/2012 9:36:50 PM #

Same project, my friend, same project.

Reply

Dan Kline
Dan Kline United States
12/26/2012 11:17:17 PM #

Hey Damon.  I never got sucked down the Silverlight rabbit hole.  I'm actually very excited about Node and the evolving libraries and patterns in JavaScript.  I'm starting to feel like I can fit the client, the server, and the transport all in my head at the same time and keep it under control.  Wrap that in HTML5 and CSS3 client apps and I think we will see some amazing and fun applications.  I'll look forward to hearing about your new adventures.  Keep-on-keepin-on.

Reply

Bart Czernicki
Bart Czernicki United States
12/28/2012 9:53:53 AM #

Silverlight still has some nice features your HTML5+multiple js library apps don't solve...namely it can scale to 8 logical cores on a client using advanced concurrency/async programming techniques.  JavaScript is still pretty primitive here with Web Workers not having even locking primitives.  Silverlight also can be useful in creating/enabling SharePoint web parts...absolutely glorious to be able to take a XAP file and wrap with the Silverlight wrapper and everything "can potentially" just work.

Microsoft "killed Silverlight" themselves by: decimating the team and deprecating most of their Silverlight initiatives.  I think PowerView (for SQL Server 2012) and Lync Server are the remaining two products where Silverlight is still around (Windows 8, new Azure Portal, SharePoint 2013..Silverlight is pretty much gone).

What I wish Microsoft did:
- open source Silverlight
- Have the Windows 8 Phone/RT model COMPLETELY OPEN.  I can copy XAP files around and have little Silverlight widgets that can be easily created/maintainted with a stupid "app store".  MSFT does not need the app store revenue and they could have been truly open with Silverlight as the apps/widgets powering the entire OS

Anyone see how horrible the JavaScript development/templates/controls are in Windows 8???

Reply

nvon
nvon United States
4/6/2013 4:06:12 AM #

I'm really extremely animated regarding Node and the advancing libraries and plans in JavaScript. I'm beginning to feel like I can fit the customer, the server, and the transport all in my head in the meantime and hold it under control. Wrap that in HTML5 and CSS3 customer applications and I suppose we will see some astounding and fun requisitions.

Reply

nvon
nvon United States
4/6/2013 4:07:26 AM #

I'm really extremely animated regarding Node and the advancing libraries and plans in JavaScript. I'm beginning to feel like I can fit the customer, the server, and the transport all in my head in the meantime and hold it under control. Wrap that in HTML5 and CSS3 customer applications and I suppose we will see some astounding and fun requisitions.

Reply

Pingbacks and trackbacks (1)+

Add comment




  Country flag
biuquote
  • Comment
  • Preview
Loading


About the author

Damon Payne is a Microsoft MVP specializing in Smart Client solution architecture. 

INETA Community Speakers Program

Month List

Page List

flickr photostream