rickgaribay.net

Space shuttles aren't built for rocket scientists, they're built for astronauts. The goal isn't the ship, its the moon.
posts - 303, comments - 180, trackbacks - 35

My Links

News

Where's Rick?


AgileAlliance deliver:Agile 2019- 4/29
Desert Code Camp, PHX - 10/11
VS Live Austin, TX - 6/3
VS Live SF - 6/17


About Me
Hands on leader, developer, architect specializing in the design and delivery of distributed systems in lean, agile environments with an emphasis in continuous improvement across people, process and technology. Speaker and published author with 18 years' experience leading the delivery of large and/or complex, high-impact distributed solutions in Retail, Intelligent Transportation, and Gaming & Hospitality.

I'm currently a Principal Engineer at Amazon, within the North America Consumer organization leading our global listings strategy that enable bulk and non-bulk listing experiences for our WW Selling Partners via apps, devices and APIs.

Full bio

Note: All postings on this site are my own and don’t necessarily represent the views of my employer.



Check out my publications on Amazon Kindle!





Archives

Post Categories

Published Works

...Let There Be Silverlight

OK. It's a bit after Genesis (take a couple thousand years or so), but after the announcement today at the MIX keynote I am frankly blown away. And, at the risk of sounding like a cynical veteran who has seen some not so interesting stuff come out of these keynotes, this is the first time, at a developer conference that I have been this excited about an announcement. Scott Guthrie, Product Manager of ASP.NET, IIS, Visual Studio, Silverlight and all things cool dropped "da bomb" on the audience Monday many of who I still think haven't fully processed what this means. What? What? You say. Tell me! Tell me!

OK, but first some background. So, Windows Presentation Foundation, as we all know (unless you've been living under a rock and talking to rolly pollys) is an integrated toolset for delivering the next generation of rich user experience to the Windows platform. It dramatically redefines the smart/winforms client usability and design element by significantly raising the bar on aesthetics-  that critical missing element in Windows apps up through Windows 98 (and arguably Winodws XP) that Apple understood a long time ago and for which we (the collective we), Microsoft have finally seen the light (pun intended).

A couple of years ago, with the release of .NET 2.0 and ClickOnce Deployment, some industry experts whom I admire (and are much smarter than me) asserted that ClickOnce signaled the return of the Smart Client. This term gets used loosely, but I think the maintsream understanding is that of a Windows Forms application that is deployed to a centralized IIS server for ubiquitous consumption by a corporate intranet in much the same way a line of business application might be traditionally "installed" sans the management pain (even GPO and MSI can get hairy). I think in reality, there is a fair combination of this deployment model (which can very well serve up a traditional thick client app) along with .NET Windows Forms applications installed via traditional means that are simply a UI (keeping the footprint small) that consume remote services and applications via Web services and/or WCF endpoints.  This model epitomizes the Software and a Service paradigm. Up to this point, there is much consensus that for a true rich user experience Smart Client apps are the best option and that again, by taking care of the distribution problem, Smart Client applications would start to replace those LOB ASP.NET applications that really have no business being on the browser (users hate web applications) to begin with.

Well, the experts were right, sorta. Yes, ClickOnce provides a solution for managing WinForms/Smart Cient apps from a centralized publishing repository that is secure and accessed interactively from a web server. In this model, the rationale is that unless you are really targetting internet applications (online stores, portals, etc), there is no longer a single reason to develop a LOB application as a browser app (ASP.NET, AJAX, postbacks, inferior user experience) period. This is especially true since the advent of the RIA (rich internet applications) movement in which developers have been mired in even more of a productivity black hole to create the effects that users crave if not demand that again, is "just there" in .NET Windows Forms. Needless to say, the reasons for choosing Windows Forms over Web Forms (ASP.NET) for your LOB application are many; includiing free client-side state management, improved productivity (read drag and drop, no JavaScript, AJAX or markup mess) and now, a unified, streamlined deployment model. 

Have IT managers and infrastructure engineers really responsed to this compelling argument? Not really. Many I believe are still mired by the complexity of traditional thick client and client-server management and scalability nightmares and have become all but complacent about building truly exceptional LOB applications, settiling for inferior browser-based (read ASP.NET) offerings instead. Socialized software? Maybe.

Well, it has been a long time since I've been this excited about an announcement of a web related technology...

What if you could create high impact, rich internet applications (RIAs) using WPF/E (Silverlight) and use .NET languages (any .NET language) for your XAML code-behind in the browser? No, no, no. You missed it. Go back and read it again.

Back? I said "in the browser". That's right. .NET CLR will ship for the browser with Silverlight 1.1 plug-in as part of the Silverlight 1.1 release.

Pause for dramatic effect... Another pause....

Silverlight, formerly WPF/E (or Windows Presentaion Foundation Everywhere), the version of WPF targetted for browser apps that installs as an on-demand plug in will ship in two versions. Version 1.0 (now in beta with a GO Live! license) is WPF/E with a snazzy new brand. Version 1.1, however, currently in Alpha will ship with the .NET Framework (albeit a smaller version of it) bootstrapped right in the plug-in. Not only IE, either. Firefox? Opera? yup. Will my RIAs run on a MAC? Yes, and boy didn't the presenters enjoy showing that off at Mix!

What does all this mean? Well, I debated on the title of this post for a while and almost had decided on "Silverlight: ASP.NET is Dead", but decided on a less morbid theme, because this is very positive and very, very big news for web developers. In short, Monday, April 30th will go down as a watershed moment in web development. The game just changed. We have a new paradigm shift before us, not only in what the true meaning of a thin client is, but in raising the bar in UI experience that does not descriminate between Windows Forms and the browser when it comes to providing SAAS (Software and a Service as opposed to Software as a Service). Rich internet experience in a fully managed runtime. Free state management. No more JavaScript. No more AJAX. Just .NET CTS code (have I mentioned this already)?

Does this mean that we can just put all of our UI, XAML, business components and data access components and run them in the browswer? NO. The idea is to keep the footprint as small as possible. As a matter of fact, the FCL that ships will be kept to an absolute minimum (more on that in a later post), similar conceptually to what you get with the .NET Compact Framework. But it does mean that you can build simple (buttons, textboxes, grids, etc) or incredibly rich user interfaces with XAML that provide animation, media streaming and user input and call out to ASMX or WCF services out in the cloud to do the heavy lifting. This is the essence and beauty of SAAS epitomized.

In the future, I see ASP.NET as being a mere host for the download as well as for hosting some applications that may just not lend themseleves to Silverlight (any combinations thereof). If the bar has been raised, and the industry responds to the demands that technologies like WPF should illicit then this isn't really a long-term technology anyway. No, ASP.NET won't be irrelevant tomorrow, because it will take a few years for Silverlight to mature and stabilize, however if the soundness of this technology proves out, then there will be no reason to write ASP.NET UIs anymore. Web services, yes. UIs no. I can hear it now "When I was a developer, we had to manage our own state, write JavaScript and this stop gap technology called AJAX had the entire industry in a tizzy for about 2 years).

In all seriousness, with this announcement, AJAX developers will be rightfully confused, and the great folks over at the Mono project are probably, well, crying. I know one thing for sure. I will successfuly have skipped the entire AJAX fever which, as I had predicted, was nothing more than a stop gap to get around the fact that writing JavaScript sucks, XML and JavaScript XMLHTTP is hard, the performance is sub-optimal, and hand-written JavaScript is a productivity black hole (not to mention so 1995).

So, the experts had the right idea, I just don't think they ever saw this coming. I know I didn't.

 

Print | posted on Monday, April 30, 2007 8:42 PM | Filed Under [ Misc. ]

Feedback

Gravatar

# re: ...Let There Be Silverlight

Have you read anything about the content being indexable? Much like the problems of content in Adobe/Macromedia Flash, search engines and any indexing engine have big problems with the content contained inside these types of applications. It will be interesting to know how Silverlight happens to manage this.
5/1/2007 11:49 AM | Eric Swanson
Gravatar

# re: ...Let There Be Silverlight

Yeah, yeah, yeah... this is the same sentiment that Chris Anderson used to spout many years ago. Oh when WPF ships no one will want to build ASP.NET apps - ASP.NET apps are dead. Well guess what, WPF's release has not exactly been a watershed release.

Silverlight is maybe more interesting because it acknowledges the important fact that most people live in the browser today, but Microsoft is going to have to step up to the plate and actually deliver a platform for building LOB applications. Looking over even Silverlight 1.1 last I still see 0 controls for the platform so you get to build any UI that requires represnetation from scratch. Also Silverlight is a VERY TRIMMED DOWN set of WPF especially when it comes to typical control content like panels and even any sort of list control. How the heck are you going to build a killer UI without that unless you're building the media applications that were shown during the keynote? That's awesome and all but how does that help 90% of the developer scenarios that need to build LOB applications?

5/1/2007 1:36 PM | Rick Strahl
Gravatar

# re: ...Let There Be Silverlight

Rick,

I'm a big fan of your work and your writing so thanks for your insight. My response is lengthy but hopefully comprehensive ;-)

It is true the Silverlight 1.1 is a nascent technology and there will be much work to be done. Interestingly, I am less interested in the pretty factor and more in the programability and from this perspective, in additon to lack of basic control support, we are lacking fundamental features like databinding and WCF/SOAP services consumption resorting to XMLHTTP and JSON. JSON?!

However, the big story is productivity and I am not talking about the WPF specific features per se because I am not a designer. I *am* talking about not having to write JavaScript or debug AJAX. I'm refering to the fact that the stateless problem goes away, hence the complete paradigm shift. I mean this is a perfect thin client that can only serve to strengthen distributed and SOA architectures, don't you think?

Of course, in the long run, none of this will be addressed if this platform doesn't mature, but several PMs validated my immediate concern around the sustainability of HTTP-based technologies such as ASP.NET, acknowledging that resources have been largely reallocated to Silverlight and it makes sense. I have to say that this does represent a closer step to the delivery on the x-platform promise. Yes, it's taken some time and no, whe are not 100% there yet, but we are closer and I think that's important.

You also raise a completely different problem that has nothing to do with managed code in the browser, and that is how LOB developers are all of a suddent going to pick up design skills. For me personally, as much as I like a good looking app, I don't have the skillset and don't plan on growing it because I have much too much invested in other areas of application development. So, will developers generalize and grow into decent designers? Will the tools allow them to do that? I don't know.

But what if Microsoft succeeds at brining in an otherwise un-tapped demographic- the designer? This is a market that has been largely owned by Adobe and Macromedia, and there is already much cynicism and criticism in those circles, but one thing Microsoft does consistently well is tools and platform. If you give me the choice to learn Flash and Action Script and Silverlight and C#, my choice is clear, but I am not a designer. That said, in choosing Silverlight, I am stepping up to the plate to raise that bar, and not settling for an interpreted scripting language to deliver the programability. Again, designers and fans of dynamic languages will feel much diferently.

Nonetheless, this is a convergence point with enormous potential, and the opportunities it raises cannot be ignored in my opinion.
5/1/2007 3:27 PM | Rick G. Garibay
Gravatar

# re: ...Let There Be Silverlight

Hi Rick,

You echo alot of my same exact thoughts in regards to platform. I'm both dazzled and feeling kinda left out by was shown this week. I'm just like you in that have very little in the way of design skills. And even if I did the customers I work for certainly wouldn't be interested in spending big bucks to get a 3d skinned application - that's just not part of the day to day work that most business applications need to solve.

That's not to say that there's not a desperate need for what Microsoft is now offering with Silverlight right out of the box. Obviously big media customers will be very happy consumers of this technology. Media and rich graphics has been a bitch to do with HTML and with the alternatives as well and Silverlight does make most of this pretty easy.

Obviously Microsoft has totally nailed a pressure point here given all the buzz that sprang up over the last couple of weeks just by leaking a little bit of information. And rightly so, because a lot of people are jonesing to write Web applications that aren't dependent on the house of cards that is HTML + JavaScript. <s>

I'm totally stoked by what Microsoft has shown because I like you see the potential. I just am really perplexed that Microsoft continues to play straight past the LOB market which is its core developer base. They've done this with MS Ajax where there's no support for a client side control model, and they're doing it again with Silverlight. Awesome API, but you gotta go the last mile on your own and build your UI from scratch. If we want to get out of the browser, we'll need common controls on the client. SL doesn't even have a text box - you gotta create your own or overlay HTML content.

But we have to be careful in this space in general. Flash has been around with 95% browser penetration for what 10 years now? And it's not gone nowhere other than for media playing applications. WPF half a year later didn't make hardly any splash. WPF rocks, but it suffers from the same lack of LOB support although it's much easier to build your own with it than with Silverlight due to the rich amount of base primitives. Silverlight is a lot smaller so for someone like me who is not about to layout image paths creating even simple controls that don't look completely out of place won't be a trivial task.

This is one of the reasons I mentioned that Flex is interesting, because for all of Adobe's faults and arrogance, they've gotten the feature set and tooling right IMHO. I'm sure Microsoft will fill this void eventually - I can't imagine that they don't know the demand in this space. I'm just perplexed that this isn't a higher priority given where the developer base is coming from.
5/1/2007 6:05 PM | Rick Strahl
Gravatar

# re: ...Let There Be Silverlight

Hey Eric,

That is a great question and others have been asking that here at MIX at well.

Check out my post http://rickgaribay.net/archive/2007/05/02/HTML-DOM-Interop-With-Silverlight.aspx which hopefully addresses your concern.

5/2/2007 7:58 AM | Rick G. Garibay
Gravatar

# re: ...Let There Be Silverlight

> "...WCF/SOAP services consumption resorting to XMLHTTP and JSON"

You should be able to consume WCF/SOAP services as long as they have a JSON binding. You could either try using the Orcas "Add Web Reference" dialog, or alternative try the slwsdl.exe tool (swlwsdl.exe /silverlightClient <url>).

We're currently evaluating which level of support for services we should provide. As with everything in Silverlight, it's a matter of prioritizing the work based on size limits and resource constraints.
5/5/2007 1:28 PM | Wilco Bauwer
Gravatar

# re: ...Let There Be Silverlight

Rick,

A browser based world WITHOUT JavaScript? Native .NET CLASSES? Now THAT would be extraordinary to say the least.

My concern is where are the tools? I know some of the component vendors are going to be building components/controls for this...but for wholesale adoption the developer/designer has to sign to to it as a platform for his/her client!
5/7/2007 2:12 PM | George K Fahnbulleh
Gravatar

# re: ...Let There Be Silverlight

George,

Thanks for the post and sorry for the late response.

>> My concern is where are the tools
Today, we have Visual Studio 2005 + Orcas pre-release templates on the developer side and Expression on the designer side. In the Orcas timeframe, the tooling will be more mature, but will still be in a nascent stage of development.

One benefit of Silverlight 1.1 (CLR) is that the footprint is small so your API options are limited. Since the announcement, a spring of articles, posts and other resources have gone online and querying Silverlight CLR will reveal much more info than I can provide here.

That said, here's a couple of resources that I have found interesting and informative:

http://www.code-magazine.com/Article.aspx?quickid=070053
http://codebetter.com/blogs/rodpaddock/archive/2007/04/30/sliverlight-the-cross-platform-clr.aspx
http://blogs.msdn.com/jasonz/archive/2007/05/01/origin-of-the-silverlight-clr-and-net-framework.aspx

Finally, Wilco Bauwer, who I met at Mix has an excellent blog that offers his intimate insight into the product and late breaking demos and samples: http://www.wilcob.com/wilco/Default.aspx

Hope this helps and if you have more questions, I'll do my best to help!

Rick
5/14/2007 8:50 PM | Rick G. Garibay
Gravatar

# A Middle-Tier Guy

A Middle-Tier Guy
8/22/2011 3:51 PM | rickgaribay.net
Comments have been closed on this topic.

Powered by: