The Unbearable Silverlightness of Being
With Silverlight 3 bits expected at MIX09 in a few weeks, I voiced a commonly held Microsoftism in Tuesday's RDN Express blog, "
Silverlighting the Workplace":
"Conventional wisdom has it that it sometimes takes Microsoft until version 3 to get it right."
Needless to say, RDN readers expressed some passionate views about the (sometimes painful) evolution of Microsoft's cross-browser plug-in for rich Internet applications.
"I can say that your statement about version 3 is dead-on," wrote Bob, who is in the early adopter program for Silverlight 3 and the Alexandria (business) framework. "This release will approach application development ease for quick LOB apps that rivals what we used to be able to do with Microsoft Access (before macro security and digital signatures got in the way). That's about all I can tell you. Stay tuned."
Bob's optimism may offer hope to readers who have faced way too many hurdles with the early versions of Silverlight.
Bill, whose company developed a Silverlight message box control, is among that group. He voiced several "gripes" about Silverlight and worries that the "Internet guys" in Redmond are "putting the Web developer blinkers around the technology" and missing the true potential of .NET:
"We've started to use Silverlight, which is a great idea hampered by terrible execution. Why is it necessary for a company to have to make available something as fundamental as a reasonable message box? The default Silverlight message and prompt boxes uses the old gray JavaScript boxes. Is that acceptable?"
The lack of controls, even with the additional controls in the Silverlight Toolkit on CodePlex, given Microsoft's resources and available WPF controls, is perplexing developers. Bill is also frustrated by the 4MB install requirement, which he views as Microsoft's misguided effort to compete with Adobe's Flash:
"Why is [4MB] magical? The effect has been to cripple the product. There isn't enough there to be useful. To develop any application in Silverlight, you have at least to use the Silverlight Toolkit, which adds 400K to your application EVERY TIME THE APPLICATION IS ACCESSED. If these controls had been added to the base package in the first place, the installer would have been 400K bigger but it would be a one-off cost. Instead, a user's experience of my apps is dragged down by having to download this (and other) payload each time they use it. Unacceptable."
How the client-side communication with the server is handled is another major constraint, in his view:
"On the server side, .NET has the whole WCF infrastructure to call on. But Silverlight is severely limited. Unlike when using AJAX where we can use the full set of HTTP verbs, in Silverlight we are restricted to GET and POST. If you are creating a video player (how many players do we need, anyway -- why isn't it a standard control?) this may be enough. If you want to develop a robust line-of-business app it isn't.
"Silverlight IS able to call and receive a SOAP response from a WCF server -- but only if it never errors because Faults are not returned. Every single fault is returned as a 404 HTTP error and it's not possible to find out the cause of the error. Instead, we have to write more code (which means more download EVERY TIME the app is used) to work around the Silverlight limitations.
"OK, some of these might be gripes. But after five years, I think we might have expected more. My concern is that because Microsoft doesn't make money from Silverlight, it will not be the product we hope. If so, we should be told. I remain concerned that its product management is Web- and Flash-focused. I don't want to create rich WEB applications. I want to create rich applications OVER the Web. There's a difference, but I'm not sure the Silverlight product management team sees that difference. Of course, I'm writing this just before MIX09 so maybe Silverlight 3 will answer my concerns. We'll see."
Jason, a computer programming enthusiast who said he has been developing since he was 10 years old, is not impressed with Microsoft's cross-platform browser plug-in:
"Silverlight represents all that is vendor lock-in -- and it's a big disregard for the W3 consortium. Hard to get excited about this stuff when I see customers using software [that's] on average four to seven years behind the hype. Why? Because it took the products getting mature before they were useful. All this new 'technology' is old technology rewrapped -- with more patches in their future. None of it seems to be tried and true. Solid stuff these days."
Randy was hopeful about Silverlight but neither the technology nor Microsoft of late has met his expectations:
"I anticipated great things for Silverlight and learned it, and I liked XAML and RIA makes a whole lot of sense. The light bulb went off and I moved on to Adobe Flex 3 and object-oriented ActionScript and MXML. Adobe got it right and has got it going on. Microsoft, especially when you consider Vista, is losing it."
Randy pointed to Microsoft's PR problem and thinks the continual software glitches have not gone unnoticed:
"Bill Gates used to talk about quality software and today the public in general does not equate Microsoft with quality anymore. When people think of Microsoft these days, they think of Bill Gates with his butt-in-your-face attitude. Sorta like trying to feel fuzzy about George Bush."
Ouch! But the bottom line for him as a developer is a better experience in Flex:
"My Eclipse Adobe Flex Builder 3 never ever crashes or runs too slow and is easy to use. I think Microsoft is going down the same road that GM went. Take LINQ, for instance, and how Microsoft ignored developers (programmers) who love LINQ and considered it the holy grail of impedance matching to relational databases. Sorta like GM's electric car which everyone loved but GM had it destroyed...ActionScript uses some loose typing with variants along with strong typing already and I heard C# is going to catch up in 2010. Good luck. My next machine may be a Mac -- we will see."
Bill's concern that Microsoft has an unhealthy fixation on Flash may be true, but as Randy demonstrates, some people aren't sticking around to wait for Scott Guthrie and his team to iron out the kinks.
The ecosystem around Flex -- and Silverlight -- continues to grow. This week, IBM's newly acquired ILOG business unit has upgraded its suite of components for developers looking to build rich clients using Adobe Systems' Flex.
But don't be surprised to see the company come out with Silverlight components at some point, as well, hinted Erwan Paccard, ILOG's visualization product manager. "We have traditional .NET, we have WPF and we have ASP.NET, and we are looking at Silverlight," he told my colleague Jeffrey Schwartz, though Paccard declined to elaborate.
Is the race to compete with established Web technology sidetracking the real potential of Silverlight and .NET? Or should developers wait to see if the third release is closer to the mark? Express your thoughts here or contact me directly at [email protected].
Posted by Kathleen Richards on 03/05/2009