A Year with Silverlight

Silverlight Logo

I just arrived back from teaching Silverlight in Toronto and was thinking about what I was doing this time last year.  A year ago I had just finished spending a couple of months with WPF/E (the name before it was Silvelright) and had given a two day class in Seattle to some internal groups on WPF/E. In addition, I was just finishing up the first draft of the WPF/E (previous name of Silverlight) appendix for Chris Sells/Ian Griffith's WPF Book. I've spent most of this year working on Silverlight (both articles, the courseware and actually teaching the Silverlight Tour). Its been a great year.

With the Silverlight 2.0 release on most people's minds (with its probable Beta at MIX 08), I've decided to take a look back and note some of my major observations about where Silverlight is now and where I think it is going:

  • Silverlight 1.0 is a great platform for creating interactive or video solutions.
  • Silvelright 2.0 will be a great platform for creating Line of Business applications in addition Silverlight 1.0 capabilities.
  • Silverlight still has to catch up with Flex on features (even after 2.0 I think) but the tool story is surprisingly mature for a product of its age.
  • When you can view advertising in Silvelright, the plugin will be officially ubiquitous (e.g. users won't install the plugin to view an ad).
  • Silverlight 2.0 has a real control model, Silverlight 1.0 does not.
  • I wonder how much of a story the DLR support for Silverlight really is.
  • Silverlight needs a packaging format similar to .swf files to compete in some situations...should be an option not the default behavior.
  • The Designer/Development story is great for Silverlight...hopefully MS will do the same for HTML (e.g. allow Expression Web to open .sln files please please)

Other than the normal features coming in Silverlight 2.0 (read Scott Guthrie's blog here to see the roadmap), i'd like to publically lobby for the following features/changes:

  • A solution similiar to Flash's for a white-list of allowed cross-domain requests.  The existing cross-domain scripting limitations is great for security but makes building solutions tougher.
  • Assembly resolution in the current request is just broken. Its too hard to package up multiple assemblies unless they exist at the root of the web server (which is the wrong place). Hopefully a web-enabled fusion solution will appear.
  • Allow assemblies to work with WebResources so that we can embed assemblies into ASP.NET AJAX controls to simplifiy the deployment strategy.
  • Support some sort of obfuscation to help 3rd party control developers protect their IP.
  • In the upcoming ASP.NET Silvelright Control, support embedding the XAML into the page to reduce roundtrips.
  • A better solution for additionally downloaded fonts than have to assign font packages to each and every TextBlock individually.
  • More controls are better than data binding...so if you have to made a decision between delivering data binding and reducing the #/controls...please give us more controls and no data binding.

What do you think?

Comments:

Gravatar

I am waiting for others to comment, but am listening/reading...

So lobby away folks!

-
Scott Barnes
RIA Evangelist
Microsoft.

Gravatar

I'm surprised that you want more controls over databinding. Controls can always be written by third parties, but adding a (good) databinding infrastructure is impossible if it's not done, or at least designed for, at the lowest level.

That said, I would definitely vote the other way around. :)

Just my 2¢,
Drew

Gravatar

I certainly agree with your assessment Drew, but my personal bias is towards a better control model. You can bind data without data binding, but without a full set of compelling controls, it will be difficult to convince the Flex crowd to join us. Perfect world...give us both ;)

Gravatar

My comments would be more on the Blend/Design side of things.
1) Give us the advanced drawing tools from Design in Blend and lose Design. I see no reason for these two to be separate products...it slows productivity going back and forth.
2) Spend some time with Macromedia (Adobe) Fireworks and give us a design tool that measures up to that. I am trying really hard to make myself use the Expression products, but find myself constantly flipping back to Fireworks and then exporting with the Infragistics Fireworks-to-XAML plugin (and I'd rather be shot than have to use ANYTHING from Infragistics...at least this one is free and seems to work pretty well).
3) PLEASE give us some preferences in Design/Blend so that we can create our OWN design workspaces and FOR GOD'S SAKE, let us map some keyboard shortcuts of our own.
4) A better template for Silverlight 1.0 development (one that you don't have to jump through hoops to install in VS2008).

I would side with the controls over databinding functionality as well for Silverlight 2.0.


That's my first thoughts...I will probably come back to add more.

Gravatar

I've handed these off to the Senior folks behind Silverlights future for review and if you have any more, now is the time to raise them before I finish out my thread.

This is great stuff.

-
Scott Barnes
RIA Evangelist
Microsoft

Gravatar

Rik: When I teach the Silverlight Tour class, I really minimize the usefulness of Design. Design isn't a XAML designer and can create things that are very difficult to show in XAML (unless you end up rasterizing it all). If that's the case, why not just use Illustrator and Photoshop? I teach to use Design as a bridge to Silverlight XAML (since the Illustrator XAML export is WPF-based not Silverlight). I export as .ai's and import them to create XAML files. That what I did for the map on Silverlight-tour.com.

Gravatar

I have to vote for the Datbinding before the other controls. But I'm one of the few that has not run into limitations using Silverlight 1.0 Except databinding :)

Gravatar

Shawn, I totally agree about Design and what it generates...that's why I'd opt to just give me the more "heavy duty" vector creation tools from Design inside Blend and just discontinue Design. As MS wishes to motivate more designers to look at the Expression line, it would seem to me that one tool would be a much easier sell. Why not an "Expression Studio 2008" that rolls the Expression Encoder, ALL the design goodies from Design and Blend, and the library capabilities from the Expression Library into one solid product...one that gives a designer flexibility in their development environment (and out-of-the-box keyboard presets for designers CURRENT tools...Fireworks, Illustrator, etc). Rename Expression Web to Frontpage where it belongs and THEN you might can sell some designers on using it. There are a lot of things to like about Design so don't think that I'm totally down on it. Where my frustration comes in is something as simple as aligning several items in Blend. I am used to having a configurable Alignment panel that I can dock or float anywhere on the desktop. In Blend, I am right-clicking through three levels of menus for simple tasks that I do over and over.

Anyway, nice discussion. Thanks MS for tuning in.

Gravatar

Rik: My main motivation for not going that route is what is happening to Photoshop...anyone remember when Photoshop was used to edit photos? Photoshop keeps adding features from other tools into Photoshop and now its a behemoth, and Illustrator and Fireworks get cursory updates.

The basis for Design was a program that MS bought and has been steadily refining. Which is why (in my opinion) its a bit of a muddled mess right now. The current version is less useful than the early CTP's. They seem to have gutted it...my guess is that we'll see a more mature product in 2.0.

Why do we need a MS-driven Illustrator/Photoshop tool anyway? I'd like to encourage designers to stick to known tools (especially if they've invested years to learn these tools inside and out). I like Blend a *lot*. Blend should be a XAML tool, not a design tool. We can agree to disagree, but I think there are design tools out there that most designers already know, why cause all the re-training just because it comes out of Redmond?


 



 
Save Cancel