Silverlight and Windows 8

by Ciprian Jichici 16. September 2011 02:34

Another highly speculated subject in the past few months refers to the future of Silverlight in the context of Windows 8’s release. The reality is that there’s genuine concern out there, as there are significant investments in SL, especially for Line-of-Business applications. The reminder of this post focuses on the this particular scenario: moving forward in a Windows 8 world with SL-based LOB apps.

Now that we could get Windows 8 in our hands, some things are becoming more clear. First of all, Silverlight continues to be a first class citizen in Windows 8 desktop apps. The desktop version of IE 10 fully supports Silverlight and your apps will run the normal way. More than that, Microsoft continues to make significant efforts with Silverlight (version 5 has just reached the Release Candidate milestone). So, from this point of view, your SL investment is more than safe.

The story changes when it comes to Metro apps. Turns out that the Metro version of IE 10 does not currently support plug-ins (no SL, no Flash). So you won’t be able to run your SL app in Metro mode. At first sight, this sounds like a bummer. After a more detailed analysis, things start to make some sense.

First of all, I’m not sure you really want to run a SL app as-is, in the Metro browser. Mostly because you designed your SL app from the ground up to work in a keyboard-mouse environment. Which is great in a desktop environment. But sucks in a touch environment. Sucks to the point of being close to unusable.

Closely related to the above is productivity. I’m not sure the tablet environment will ever be extensively used for productivity apps. I just don’t buy into that. In a LOB app, there is nothing yet to replace the good old keyboard and the mouse. You don’t believe me, use only a tablet for a couple of months for productivity apps. It just gets on your nerves. So, most probably, you will want to provide just a portion of the user experience in a Metro app. Which means that you need to write code anyway.

Another point to take is that there are patters like MVVM that make o good work of making changes in the View less painful.

Finally, you must take into consideration that Windows 8 Metro apps have native support for XAML. The XAML syntax is virtually unchanged, so in theory you can port your SL XAML to Metro XAML. Again, I don’t see much value in it (due to usability issues in a touch environment), but it’s possible.

In a nutshell, the story goes like this:

  • You will run your SL LOB apps unchanged in Windows 8 in desktop mode
  • Should you need to provide a Metro version of your SL app, you will probably have to redesign anyway (because of design and productivity issues)
  • Patterns like MVVM and native XAML support in Windows 8 Metro apps can make the implementation of the Metro version of your SL app less painful

Tags: ,

Silverlight | Windows

The Silverlight Saga

by Ciprian Jichici 4. November 2010 05:33

During the past few days the Microsoft ecosystem went through one of its hottest periods in years. Center stage has been claimed by the false debate Silverlight vs. HTML5. It all started with this year’s PDC where Microsoft did not talk about Silverlight at all (except for a few transient remarks). The real flame was actually generated by an article where Bob Muglia was quoted, article which now is known by the “our Silverlight strategy has shifted” name (you can read it here). All of the sudden, the word spread like fire that Microsoft has sacrificed Silverlight for HTML5.

I admit, Microsoft’s messaging was not the best possible, leaving the door open for such rumors and fueling the false debate. Lately, both Steve Ballmer  (here) and Bob Muglia (here) issued strong statements which make it very clear that Silverlight will continue to play a fundamental role in the company’s strategy at least for the foreseeable future. Still, the replicas of this artificial debate have propagated rapidly and quite far through the industry. That’s why I thing it’s important to try to stop for one moment and think about this.

Why do I think SL OR HTML 5 is a false debate? Well, for a few reasons.

First of all, I see these technologies serving rather different needs than similar ones. I have very serious doubts that HTML 5 will be too quick to raise to the level of Silverlight and Flash in terms of user experience quality. Yes, yes, I know about all the new, “killer” features of HTML. But I also remember when HTML 4 was supposed to be the one that will bring down the mirage of unified UX from the heavens to the mortals. Did it? I’d say not really. Anyone remember XHTML? Let me rephrase, anyone know what XHTML is? It doesn’t matter anymore, it’s dead. It was supposed to be that huge and radical step that will get all of us rid of the historical peculiarities of HTML. The reason it was shot in the head was exactly because it was too radical. Seems to me HTML’s nemesis is backwards and cross-browser compatibility. To be clear, I do think HTML 5 is the best bet we have for application compatibility. But I also think it will remain for quite some time a common denominator rather than a unifying force. On the other hand, Silverlight offers you fantastic quality for the user experience and has excellent tooling supporting it. It will continue to grow and improve and will continue to be one of the best choices for RIA. I have yet to find the proper arguments to fight this vision. True, it’s not completely cross platform but it moves towards that goal. The speed of this move remains to be seen but it’s hard to argue with the fact that Silverlight’s rate of adoptions is nothing short of spectacular.

So, on one hand you will have a common denominator (HTML 5) supported eventually on most browsers and most platforms. It will deliver an improved experience over the current one (HTML 4) but it will not be a match for Silverlight of Flash. The kind of stupid underground war that undermines true compatibility has already started (see how features that are merely ideas or proposals surface in WebKit and are taken for granted as HTML 5 standardized features, but that’s another story). On the other hand you have Silverlight and Flash to deliver the ultimate user experience while incurring the extra payload of the browser plug-in. I think neither HTML nor RIA (Silverlight, Flash) is going to emerge as the miraculous solution for all web apps. Both are here to stay, so instead of HTML OR RIA the more realistic question is WHEN should I use each of these approaches.

The next reason why I see SL OR HTML 5 as a false debate is programming languages. JavaScript and its support have improved in past years tremendously, yet somehow I simply cannot put an equal sign between it and C#. The power of .NET that stands behind Silverlight is very hard to be matched by JavaScript engines. Traditionally, writing JavaScript code has been at best challenging, if not difficult. There is a price to be paid for universality, and I guess JavaScript is part of that. I have no doubt that it will improve even more, but still, I see the two approaches fundamentally different. So, again, I have a hard time believing that either one will emerge as a clear winner covering the other with dust. We will continue to live with both worlds and we will have the same hard time making decisions. And the majority of our web sites will present a combination of RIA and JavaScript for many years from now.

Finally, leaving aside glitches in communication, it is pretty clear to me that there is no Silverlight OR HTML 5 debate inside Microsoft. In a recent keynote, Scott Guthrie acknowledged that there are more people working on Silverlight now than any time in its history. And that’s good and reassuring news for me showing without doubt that betting on Silverlight is as safe as ever. In the mean time, I’m also quite happy with the fact that Microsoft decided to place a large bet on HTML 5, simply because I believe the new version of HTML will gain a significant place in the years to follow.

I hope Microsoft will continue with its efforts to clarify the message that got a bit foggy and will be able to be more articulate in sending the message that its bet on HTML 5 is not meant to be a replacement for Silverlight. If I’d have to speak for Silverlight (which clearly is alive and doing quite well) I’d use Mark Twain’s words after learning about the publication of his obituary in the New York Journal:

“The reports of my death are greatly exaggerated”.

Tags: ,

Silverlight | Microsoft Application Platform