Wednesday, November 10, 2010

Silverlight’s Bright Future

Our strategy has shifted” may be the most unfortunate phrase ever uttered by a Microsoft exec. Bob Muglia, President of the Server and Tools Division, said it in his interview with Mary Jo Foley. Pundits and Silverlight detractors have been partying on it for more than a week.

It should just be good theater. Unfortunately, it has spooked the herd. More than a few of our customers and prospects are wondering if Silverlight is “dead”.

Some Silverlight defenders counter by reminding us that HTML 5 is not ready and runs on less than 1% of installed browsers.

But the merits and demerits of HTML 5 are beside the point. If you’re considering building in Silverlight, you have to know that Silverlight itself has a future. You don’t care about Silverlight 5. You want to know there will be a Silverlight 10. You want to believe that Microsoft sees Silverlight as a strategic, mainstream web development platform.

I believe Microsoft sees Silverlight as a strategic, mainstream web development platform … for many years to come.

Don’t take it on my authority; I don’t have any authority. Believe Bob Muglia when he sets the record straight. If I may paraphrase, Bob said Microsoft is investing heavily in HTML 5 because that is the standards-based technology with the potential for the broadest possible reach. Investment in HTML 5 does not mean abandoning Silverlight. It’s not a retreat from Silverlight. Far from it. Silverlight thrives … on the web, on the desktop, and on the phone.

Bob simply acknowledged that Microsoft will vigorously pursue multiple web technologies to meet diverse market needs.

Where is IdeaBlade going?

It’s IdeaBlade’s mission to help business application developers reach their users wherever they are, using whatever technology they want to use. Our DevForce product drives Console applications, “headless” services, Windows Forms, WPF, Silverlight, and HTML applications written with Web Forms and MVC.  Next month we’ll release our support for an OData API that enables any client … including any phone … to access your DevForce business model.  When there is a way to write applications in HTML 5, we’ll be there too.

We are always balancing our portfolio of client technologies. But to be clear, we believe Silverlight is now – and will remain for the foreseeable future – the best way to build and deliver business applications to the web. Bob Muglia said it too: “Silverlight provides the richest way to build Web-delivered client apps”, especially “enterprise application[s] … both inside and outside the browser.”

No HTML technology today can match Silverlight in capability or productivity for the web application developer. A comparable HTML 5 platform by all accounts is years away.

What’s all the Fuss?

The story at last year’s PDC was “three screens and a cloud” glued together by Silverlight. Barely a year later they’re ballyhooing HTML 5 as the glue. A third of the keynote goes to IE 9 and HTML 5; Silverlight is hardly mentioned. Then Bob says “strategic shift” and the stuff hits the fan.

What we have here is a failure to communicate. Microsoft evangelizes the shiny new balls but seems less adept at the sustained marketing necessary to keep existing brands burning bright – xBox excepted. The Silverlight team is going great guns on Silverlight vNext development back in Redmond but you would not know that at PDC and there is still no public target for a putative Silverlight 5 release. Other consumer-facing corporations invest in their brands, especially successful brands. Even soap is regularly “new and improved.” Microsoft can’t count on product development to keep the brand alive. They should be as relentless on the marketing front.

They tried mightily to recover the Silverlight momentum. Muglia apologized (yes – he said “apologize”) for his part in launching the controversy. Read his post carefully; he was adamant that Silverlight is a strategic technology with a long future. When you’re done reading Bob, read Scott Guthrie’s post which reiterates and elaborates on Bob’s themes; Scott is Vice President of the Developer Division and he ought to know.

Of course they also have to promote HTML 5 in a big way and Silverlight must pay a price for its previously exaggerated ambitions. The truth is that Silverlight will have less reach than we once hoped. It will still be cross-platform – running in many browsers and on both Mac and Windows. But the grand vision of Silverlight on every device on the planet cannot be realized. That was always a tall order and, over the last year, it became obviously unachievable. Apple blocked them successfully on iPhone and iPad … and will continue to do so as long as their market share permits.

Microsoft must have a future on these devices; they are too important to ignore. And Microsoft also must provide an alternative to Silverlight in other venues where Silverlight is shut out. We all know that some customers prohibit browser plug-ins … which precludes both Silverlight and Flash.

Silverlight was never the only game in town. You’ve heard about MVC, yes? MVC is an HTML technology and will likely be the backbone of HTML 5 development. Scott Guthrie is as avid a promoter and staunch ally of MVC as he has been of Silverlight. His blog posts for the last few years give each technology equal love.

MVC did not diminish Scott’s enthusiasm for Silverlight … and neither does the prospect of HTML 5.

Silverlight is not just the Phone

Reading some of the press, you might fear that Silverlight had been relegated to a phone development platform. They talked a ton about “Silverlight + Phone” at PDC. Silverlight is indeed the preferred platform for the Windows Phone 7; other than XNA it is the only development platform for WP7. I suspect Muglia was so phone-conscious that, in the interview moment, he just didn’t think of what else we use Silverlight for … hence his unfortunate “other sweet spots” comment.

Give him a break. WP7 is the hot new thing. According to Steve Ballmer, it’s Microsoft’s next billion dollar product. It’s a big deal and a key theme at PDC. Talking up Silverlight on the phone is called “staying on message”.

But Silverlight is also the premier client technology in many other spaces. For example, it’s the best way to build applications on top of SharePoint and that process got a lot easier with SharePoint 2010. We saw Silverlight front-ends on Azure. We are seeing Silverlight front-ends on Bing.

From our perspective, the most important fact: Silverlight remains the recommended client platform for distributed business applications, both inside and outside the browser. Bob Muglia said it. Scott Guthrie reiterated it.

The FUD Factor

Do you think it is curious that some in the technical press and the Silverlight detractors so eagerly cling to Muglia’s one inapt phrase? Why do they misrepresent and dismiss his clarification? Do these people really know something? Do they have secret inside Microsoft skinny? Do they mention unnamed sources? A “deep throat” of some kind?

No. All they do is read the same tea leaves everyone else is stirring: Muglia’s interview, the IE9 PDC publicity parade, the lack of a big Silverlight announcement … and throw in their own wishful thinking (egregious example here).

I have no inside scoop either. I’m reading what you’re reading.

I do have real-world experience developing with Silverlight (question: can you name a “Silverlight is Dead” article by anyone who has written a Silverlight application?)

I have my Microsoft contacts and I spoke to as many of them as I could reach. Every one of them … without exception and without equivocation … believes passionately that Microsoft is committed to Silverlight. They are dead certain that the Silverlight franchise is growing. They believe that HTML 5 is a big bet too … but that it does not dim Silverlight’s star. And no one expected a “strategic shift” announcement.

I worked at GE for twelve years. I know what a “strategic shift” looks like. We would never learn of a “strategic shift” by reading a Friday afternoon interview in a trade rag.  GE doesn’t work that way. GE would prepare us for a bombshell like that. The board would know. The senior executives would know. The press kit would be prepared. Company meetings would be scheduled at every level.

Microsoft is no GE … but it isn’t stupid either. There was no preparation. Muglia’s remarks were a bolt from the blue – as he said himself. There wasn’t supposed to be an announcement. All we have here is an interview by an executive trying to stay on message: Azure, WP7, IE9+HTML5.

If you’ve ever worked for a business or run a business, you know how this happens: a casual remark to a journalist gets wildly misunderstood and misrepresented. You don’t make a critical decision on this basis. You exercise prudent judgment and listen when company executives correct the record.

Well … what of HTML 5?

Now I must speak for myself, not IdeaBlade.

HTML is the way to get the broadest possible reach. HTML 4 is perceived to lack the pizzazz for the new breed of rich internet applications so everyone is pinning hopes on HTML 5. There are some problems with that:

1. Near zero reach for the next few years. A tiny fraction of browsers installed today support HTML 5. It takes a long time to replace the installed base of browsers (proof: even Microsoft can’t seem to kill off IE6). Plug-ins (like Silverlight and Flash) have been adopted much more readily than new browsers.

2. HTML 5 is not a standard yet. The WC3 doesn’t think it’s ready; see here and here. The browser wars of the 1990s are coming back and it’s going to be hell for the developers trying to write applications that actually work on all the browsers on all the devices. One wag described HTML 5 as “Write once, test everywhere!”

3. The developer story is missing. Applications don’t build themselves. You need libraries and tools to design, develop, debug, and test. None of this infrastructure exists for HTML 5. You need experience and best practices to build an application properly. No one has experience building HTML 5 applications. The essential foundation of human and physical capital is years away.

4. HTML 5 sets the lowest common denominator for user experience. The Silverlight team wrote convincingly about this in a recent post. The comparatively low HTML standard and limited capabilities may be good enough for some applications; will it be good enough for yours? Or will it prevent your RIA developers from delivering the rich experience and features that your application requires and that your market demands?

Ask yourself why your application is not on the web today? If HTML 4 were a viable option, why aren’t you there now? Is it because you can’t affordably deliver the rich responsive experience of your existing application? What is it about HTML 5 that will change that picture? What in HTML 5 will make your application better than it would be in HTML 4?

Silverlight remains more productive, more testable, more maintainable than any HTML-targeted approach. I can think of other excellent reasons to build an HTML application. But if the balance of considerations favored Silverlight last week, I can’t imagine why the distant prospect of HTML 5 should change the equation today … as long as you believe Silverlight is going to continue to grow and improve … as I clearly do.


SharpGuru said...

If you want to target the greatest number of users, the clear choice is HTML 4. However, phone users in particular want to experience applications written to take advantage of their own hardware. So, these you would have to develop separately. HTML 5 still holds the promise of delivering the high quality applications users want using a single code base. Silverlight will never get there.

Vic Klien said...

Hi Ward,

First, as a developer using SL for the last 2 years, I'm still investing in SL, for now anyway. I also have a lot of respect for you. But still, I remain concerned about SL's future.

>"I have no inside scoop either. I’m reading what you’re reading."

Oh. Well it's going to take more than that then :).

I really would like to hear in more detail, directly from people like ScottGu, specifics about what MS's official plans, timelines and commitments are for the next few years with SL-for-web-and-desktop.

My concern is that many of the SL/WPF devs at MS may have been "shifted" onto the WP7 effort this year. That means less resources to fix and enhance SL-for-web-and-desktop. If HTML5 really is as big a deal as most MS people say (not just Muglia), I presume some of the best folks under ScottGu may also be allocated to work on tooling and libraries to support that story, not SL.

>"...can you name a “Silverlight is Dead” article by anyone who
>has written a Silverlight application?".

No "Silverlight is Dead" articles, but how about the Silverlight MVP Bart Czernicki's blog posted titled: "...Top 5 Reasons Why Microsoft Completely Screwed up their web strategy with HTML 5". In that post he says, "Silverlight is in limbo".

Another blog post expressing serious concern about SL's future is this one from Ken Smith, titled "It’s About Trust: Muglia’s Silverlight Screw-Up": Ken is a CTO who has done technical programming blog posts in the past about Silverlight, so he's definitely written SL apps.

The thing that most resonated with me from Ken's post is his point that the SL-stack still has many rough edges. I would like more assurance that those rough edges will get finished, before the HTML5-millenium arrives. Otherwise, I might as well bite the bullet and learn how to do Ajax-heavy, Line-of-business apps using today's HTML and ASP.NET MVC, rather than waste time on a technology that MS has "shifted" in priority.

Vic Klien

Anonymous said...

I believe that Microsoft's track record is in big part responsible for this brouhaha. It wouldn't be the first time that MS pulls the rug from under a development system on which a lot of developers were depending for their livelihood. I can think of VB 6, Visual Foxpro, Visual J++ and Visual Interdev as just a few examples.

Getting enamored/blinded by shiny new objects is a sign of, what I would call, a bad case of Institutional ADD.

It is no wonder that there is a certain "chicken little" effect among developers when there is the slightest rumble about "attention shift" coming from Redmond.

Anonymous said...

"It’s IdeaBlade’s mission to help business application developers reach their users wherever they are, using whatever technology they want to use."

If this is true, why is IdeaBlade neglecting robust SQLCE support?

SQLCE's small footprint and extremely easy unattended installation (even easier in SQLCE 4, coming soon) makes it ideal for small, distributed apps--a significant piece of the market.

Thus I remain a bit skeptical of IdeaBlad's claim.

Ward Bell said...

@SharpGuru - Thanks for your thoughts but I mildly disagree with both points. At least I think they need a dose of salt.

If you want to get SOMETHING on the screens of the greatest number of users, HTML 4 is your technology. But what is that "something"? Does it deliver the functionality and experience that you and your user's require? Can you build and maintain the HTML 4 solution that hits the mark with the budget and in the time that you have?

A great many business applications never made it to the web - despite the best intentions - because they could not say "Yes" to these critical questions.

Clearly some applications can pass these tests. But it does no good to celebrate HTML 4's ubiquity if you can't deliver the goods.

The same thinking applies to the prospects of HTML 5 which, per my reading, does not substantially improve the prospects for delivering high quality LOB apps relative to what is possible in HTML 4 today. We'll see, won't we.

Ward Bell said...

@Vic Klein. We are all eager to hear publically what is coming in the next release of SL. A steady drumbeat of MS SL announcements is also important ... perhaps more important than long silences punctuated annually by release parties. I sense MS understands this now; the promotion of the December 2 Firestarter is a good example.

I do not know of WPF or SL developers who have been shifted to HTML 5. Scott Gu has been quoted saying that he has never had more engineers working on Silverlight than he does today. The investment in the product remains strong. The marketing side needs a boost IMHO.

Ken Smith's interpretation of events is indeed discouraging.

As a guy with actual SL experience he conforms to my claim that no one with such experience would knock SL as a technology. He isn't knocking Silverlight.

He is doubting MS sincerity. I have met SL developers who harbor that doubt too. They seem depressed beyond cure. No words of reassurance from MS will suffice; they want more and more ... They are an endless well of doubt and disbelief.

Ken writes: "What Muglia has said, in effect, is: Silverlight is a bad bet for your technology future" and calls upon Microsoft to say that Muglia is wrong about this.

Huh? I've read Muglia's statement (cited above) over and over and I don't know how he comes to that interpretation. Ken doesn't explain how either. He hears only Muglia's enthusiasm for the SL+WP7. He is deaf to Bob's celebration of SL-for-enterprise-business-apps. I guess we hear what we want to hear (note to self :->).

No one disputes that SL has rough edges. Please name for me a single technology that is perfect. But SL-for-business has improved significantly each release ... and that happy trend is bound to continue ... if my little birdies are to be believed ... and they are.

Ward Bell said...

@anonymous. I share your sense that MS gets caught up in the next new thing, sometimes at the expense of the present very good thing. I said as much.

They've also jettisoned technologies such as FoxPro and VB6. In this they differ not at all from every other company. Technologies must be killed off to make way for new technologies. That's the way it is.

But, seriously, does this faux controversy look anything like the open and deliberate termination of VB6 and FoxPro? No one said "sorry, we didn't mean that ... FoxPro is a strategic product".

When their time came, Microsoft didn't defend them. They proclaimed "the end" in voices clear and univocal.

The messaging and behavior surrounding Silverlight has been completely different. Executives and staff of Microsoft at every level have said, each in their own way: Silverlight is a strategic development platform for the phone, the desktop, and the web. We are believe in it. We are growing it. Expect great new things in the near and foreseeable feature.

What more can they say?

Let's give them a chance to execute.

Ward Bell said...

@anonymous regarding SQL CE support.

I am not sure why you think we don't support SQL CE.

We DO support SQL CE. I'm informed that EF doesn't fully support CE in that it doesn't support auto-generated PKs. I'll bet they'll fix that soon.

But MEANWHILE, DevForce (unlike you know who) can compensate for that defect. We offer a customizable, plug-in ID Generator that can do what EF can't: create the IDs for you.

If you have a specific problem with CE, please contact our Support staff or post a question to our Forum i

Anonymous said...

Back, at the time when VB world was shaking, I was writing in C/C++ (gradually shifting to C#) and felt sorry for VB guys who's future did'n look bright...Last couple years, staying with SL really gave me so much inspiration thanks to mixing previous experience with SL..Now reading many articles and blogs .. it shakes the ground.Now I understand more pain those who was obesssed and excited about VB.I never thought that great SL concept will ever be traded in favor of HTML

Vic Klien said...


When I listen to Muglia's belated "don't worry", I want to believe it. But I haven't heard enough specifics from any of the SL team yet. They say there will be another version of SL, I have no problem believing that, but how much will they have fixed in it or added to it? When will it be released? (And what about versions 6-10 after that which you and Ken Smith mentioned?) Yes, I hope we'll hear sufficient real details from the Gu on Dec. 2nd.

That quote about 200 or 250 devs working on SL is also vauge. They probably count WP7 as being "working on SL" (wink, wink). I'd like to know specifically, how many on WP7 versus SL-for-web-and-desktop (which is what I mostly care about).

>"this faux controversy"

I think it's only partly faux. I think SL-for-web really is in a competition for resources with WP7 and HTML5 within MS. Outside of MS I think SL/Flex/Flash really are in competition with HTML today for many LOB apps. I worked most of this year as a contractor on a team doing a SL4/EF/RIAS LOB app. Yes it works, but honestly we probably could have done something as functional and nice looking in classic ASP.NET web forms, prettied up with some 3rd party AJAX controls. An HTML version would also have been able to work on the iPad/iPhone which the client was hot for. Parts of MS (like the Office unit whose cash actually pays the bills) appear to have come to the same conclusion.


Pertti said...

I can see what MS is thinking with the HTML 5 approach, and especially given Apple's unwillingness to play nicely with others (Flash, Silverlight, Python,...) it is understandable that MS must look for ways to have a presence in those very important (at least as of now) platforms.

Should MS port Silverlight to Android (yeah, which sub-version of the rapidly fragmenting Android base would that be?) it could shift the balance of power in mobile development and force Apple to let others besides Objective-C developers (ugh!) join in the fun.

One can always dream, no?

Anonymous said...

@ SharpGuru

You kinda missed your own point.

HTML 5 holds the promise of delivering the highest quality HTML to the phone. If you want to take advantage of phone hardware, then you use Silverlight (WP7), Java (Android) or Cocoa (iPhone) - not HTML 4 or 5. And so yes, Silverlight is already there, right where it should be.

Andreas Ntalakas said...

I do believe in SL's bright future. At least until the next big thing. The next big thing has to provide tools to be successful, at least from the developer 's perspective.
But at the moment i cannot persuade the boss to invest on the platform. And this will continue until something dramatic happens, something that will make clear that SL is on the bright side. I expect some moves. Those who have the apple must use the knife.

SharpGuru said...

When I talk about HTML 5, what I am really talking about is the HTML 5 canvas control. This control is a browser-based graphics context. That means any browser that supports the canvas control could run an HTML 5 canvas application. That's the promise. Silverlight can only deliver on a Microsoft centric mobile solution, WP7. There is no support for IPhone/IPad/Android/Blackberry and, this is important, Silverlight will never be adopted on those platforms! We all love Silverlight but we have to accept this.

So, the answer could be that Microsoft needs to support exporting Silverlight projects to HTML 5 as a canvas object. Such a solution would serve as the path MS developers would take towards HTML 5 adoption. You will still use SL/Blend/Visual Studio but you would be able to deploy to an HTML 5 canvas to target clients w/o access to the SL plugin but do have access to a compliant browser.

Ward Bell said...

Re: XAML-to-HTML-5 translation ... a worthy idea that I must believe they've got in mind ... along the lines of Google's GWT.

I really wonder if writing apps for the phone browser ... any phone browser ... is actually going to cut it.

Phone users adore phone APPS. I haven't seen much excitement for using apps within a browser on a phone.

Also, in the back of my mind, is the matter of the application marketplace. Anything delivered in the browser escapes the money-making MarketPlace that Apple (and Microsoft) want to control. I can't help wondering how they'll assert comparable control over the browser apps ... or hobble them such that they are always palpably inferior to native apps.

I believe that native apps are where it's at on the phone. You're going to have to port your app to each platform. If you don't, someone will copy your app and make the money you left on the table.

"Write once, execute everywhere" will be possible only for the least demanding apps. That's my prediction.

Ward Bell said...

@Vic - Agree that the proof will be in the pudding ... and they better serve some pudding soon :-)

It's too bad people who were confident on a Thursday lost so much confidence on a Friday. As I seem them, the facts support continued faith in SL ... assuming you had such faith on Thursday.

Your experience of the relative productivity of Web Forms and SL developer simply differs from mine.

Now ... if you say that someone fully skilled in Web Forms and javascript could outperform someone new to SL ... hard to disagree. I'd say the same for someone writing with Windows Forms and a passel of great 3rd party controls.

But that's an Apples-to-Oranges comparison. Once you develop some SL chops, the SL way compares favorably ... by large margin ... in my experience and by most reports.

I'm not saying you're wrong. Really ... I am not.

I AM saying that a great number of developers, skilled in both paradigms and with no axe to grind, give the nod to SL.

Ken Smith said...

Just noticed that my blog post was being discussed here. I agree, the community probably overreacted. Clearly Silverlight isn't going to disappear anytime in the near future. But at the same time, Muglia and Scott Guthrie should make sure they learn the right lessons from the community's reaction. There are two specific ones I can think of:

(1) Developers love Silverlight. For all its remaining problems (and there are lots), my stomach sank when I thought about having to do all my coding in HTML and JavaScript (or even worse, MXML and ActionScript). Eventually the qualities of the Silverlight platform will start winning over Flash and HTML developers -- if MS can keep their focus. C# FTW.

(2) Silverlight developers have a significant inferiority complex. We love the platform, but it hasn't yet reached critical mass, and a whole bunch of holes remain that desperately need to be fixed. We love Silverlight because we see what it could be, not so much for what it currently is. And that makes us worried, because if Silverlight doesn't continue getting good TLC from MS, it will wither and die, even if it's never officially killed.

My current hope is that the Silverlight Firestarter event in December will give us some new insight into how MS is planning to treat the platform. Folks are still worried, even if it's become clear that much of the initial reaction (including mine) to Muglia's comments was overwrought. Guthrie has the opportunity to put those remaining worries to rest: I have enough confidence in him to believe there's a reasonable chance he'll do that.

Ward Bell said...

@Ken Smith - Good to see you here. I agree with your remarks and your concerns. I remain hopeful for SL's future (as you can tell).

Anonymous said...

I'd like to update my earlier comment regarding IdeaBlade's supposed lack of SQLCE support.

I'm told by Michael Davis of IdeaBlade that I was likely operating on outdated information when I penned that comment.

Apparently SQLCE support is now procuct- and edition-wide.

This is good news.