May 08, 2007

Silverlight

I've been ruminating on Microsoft's Silverlight announcement for a week. I've actually been following WPF and it's bastard cousin WPF/e for a while now. I even went up to Redmond for a 'deep dive' course about a month ago. What struck me at the time was that Microsoft's pitch at that time was a Flash killer perfect for lightweight Youtube style applications. The Silverlight PR seems like it's from a distant galaxy in comparison to that. What I heard in Redmond was WPF/e working in conjunction with AJAX, not an AJAX killer.

Which brings me to my first observation about Microsoft; it's marketing department sucks. The .NET announcement, years ahead of prime time for that technology, a complete disaster. And the Vista release, what a joke. And now Silverlight? An AJAX killer? Maybe in a year or two, but the alpha bits are nowhere near ready for prime time and I think they are going to get ripped apart in the blogosphere, perhaps sinking the WPF/e ship before it even gets out of dry dock.

Which is unfortunate because I actually really like WPF and WPF/e from a technical perspective. I love declarative UI. I like Laszlo and Flex too, especially since Flex 2.

On the technical front I think Silverlight is interesting because you can run the same code in the same language on both the front and back ends. That means you can use the same model code in your UI as you can on the back end, with one persisting to XML for web transit, and the other persisting to the database. Cool, huh? Revolutionary? No, but I suppose practically yes. We have it today actually, it's called applets, and I only say that half heartedly because nobody is using them.

You see, the problem is that with applets the tail lead the horse. Java started in applets, which gave it the perception of a toy language. The when that failed Sun said, "No, no, no! Java's real power is in the back end. See JSP! See J2EE! Forget that applet stuff." So people did. Forgetting this idea that you could actually have both the front and back ends running the same code in the same language.

So a decade later along comes Microsoft with Silverlight, having ruled the back end for a while, now touting a front end technology that runs the same code. Should be a slam dunk, right? But the problem is that the front end tools are lacking. There are no standard controls, no buttons, no sliders, no tabs. What they needed to do was wait for the Flex style user control kit. Which they said they are working on. But marketing jumped the gun and now the early adopters are going to be stuck either doing their own UI or looking around for a toolkit.

And Sun, ironically, has announced a new Java technology called Java FX which sounds a lot like Flash. An interpreted language sitting on top of Swing. Or at least that's what some say it is. The details are murky. Either way, seems actually like a step backwards, or over into the Flash camp.

I really wish Microsoft had waiting on Silverlight until the front end tools were ready. There is so much potential in that technology. There is a whole new book of design patterns just waiting to be written about how to make the best use of a distributed client/server platform where both back-end and interface are running the same code.

I also wish that the Microsoft marketing folks hadn't taken the road of going against AJAX performance problems. AJAX doesn't have performance problems in small scale applications. And only the big guys are pushing it hard enough to see performance problems in the higher end applications, and they are smart enough to figure it out on their own. So long story short; the AJAX performance criticisms don't play. And worse, they will likely poison the well for solid technologies, like ATLAS, for the Microsoft faithful who believe every word they say.

Ah well, whichever way this cookie crumbles I know two things. First that the next year is going to be a pretty interesting one for Sun, Microsoft and Adobe as they trade shots over the RIA space. And second, AJAX isn't going anywhere fast. Whenever the big boys shoot it out there is always room for low-impact pragmatic technologies, like AJAX, to make a big impact.

Posted by jherr at May 8, 2007 09:50 PM
Comments
Post a comment

Thanks for signing in, . Now you can comment. (sign out)

(If you haven't left a comment here before, you may need to be approved by the site owner before your comment will appear. Until then, it won't appear on the entry. Thanks for waiting.)


Remember me?