Rants Tagged with “Silverlight”
Don't forget the
Silverlight Tour Contest. I will be closing the contest at 12pm EST (9pm PST) tomorrow (1/9/2007) and announcing the contest by the end of the day. If you haven't tried to caption the picture, this is your last chance!
Rik Robinson has created a nice little Silvelright Widget for showing the weather. Check it out!
I am giving away a free seat to the Silverlight Tour stop in Atlanta on January 15th - 17th, 2008. This includes free admission to the workshop and all the materials associated with the class. If you are not in the Atlanta area, you are responsible for all travel expenses for the workshop.
To win the free seat, I am doing a Caption Contest! To enter follow these steps:
- Add a comment to this blog entry with your caption. (You may need to visit this blog's individual page by clicking here.)
- Put your e-mail in the URL section of the Comment form. (All e-mail addresses will be held in strict confidence and will not be used for marketing or sold to any 3rd parties.)
One one submission per person. Duplicate submissions will exclude you from the contest. If you have questions about this contest, please send me an email by visiting my contact form here.
A winner will be announced next Wednesday, January 9th, 2008.
UPDATE: Some of you are just saying you want to be in on the contest in comments...Please put the Caption you want in the comments (and put your e-mail in the URL so I know how to get a hold of you ).
UPDATE: The Winners have been announced. Follow this link to see who won!
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?
While playing with Astoria and Silverlight today, I found a problem with the WebRequest Headers. Luckily, Pablo Castro in the ADO.NET Team at Microsoft was there to set me straight. I wanted to warn everyone of this bug in case it bites you:
The BrowserHttpWebRequest.Accept property is improperly mapped to another HTTP header. So both of these examples won't work the way you expect:
HttpWebRequest req = new BrowserHttpWebRequest(theUri);
req.Accept = "application/json"; // Bugged
req.Headers[HttpRequestHeader.Accept] = "application/json"; // Bugged
To get around this problem, use the weakly typed Header collection:
HttpWebRequest req = new BrowserHttpWebRequest(theUri);
req.Headers["accept"] = "application/json"; // Works
Thanks again Pablo!
Just a reminder, next week is my stop in the great white north (i.e. Canada) to deliver the Silverlight Tour Workshop. If you're going to be in Toronto next week and would like to get your hands dirty with some XAML action, we have a few seats remaining!
http://www.silverlight-tour.com
Rik pointed out to me that there is a new "Web Site" template for Silverilght (I don't use Web Sites but almost always use "Web Applications" so I never noticed it). So I fired up Visual Studio 2008 to take a look and this template is kinda wierd to me. It seems like a step backwards from other templates (and there still isn't a 'good' Silverlight 1.0 template in my mind). This template differs from others by doing two things:
- First, it creates the call to CreateObjectEx as inline script on the sample.html page. This is problematic as incorporating a Silverlight project into a larger project means you'll need to refactor this code into a separate .js file. Of course, perhaps this is to coincide with the ASP.NET Extension's Silverlight control (which I am not a big fan of either, but we'll see what this latest version looks like).
- Secondly, it overrides the onerror call to fill a DIV with the error information. Cool idea instead of a standard alert() but this is a lot of code that will likely be replaced over and over again.
If they are going to release a new tempalte, i'd rather they actually change the XAML and Load code since the default button isn't interesting and wiring things up by ordinal (as the template does) is not a best practice.
Thanks Rik for pointing me at it, but I am going to stick with my old template for now!
In case you missed it, Scott Guthrie announced in his blog this afternoon the fact that Silverlight 1.1 is going to be renamed to better position it as Silverlight 2.0. He details what is going to be available in this new version as committed to a Q1 2008 Beta (no doubt to coincide with MIX 08). Read the whole blog post to see where Silverlight, ASP.NET and IIS are going post-VS 2008!
The feedback system that Microsoft uses seems broken. It works well in letting us know what they are doing, but the MS team never seems to tell us why they aren't going to fix something. Its really frustrating to spend the time to try and alert them to a problem and to feel brushed off.
Don't get me wrong, I understand why development teams have to prioritize some bugs and features over another...but at least a single sentence from the team saying why they didn't think a bug is worth fixing isn't much to ask.
The bug I reported seemed to be such a simple one, that I am surprised its not fixed. The problem stems from the fact that Silverlight uses a completely different attribute for determining how a media file plays in an MediaElement than does WPF does. I can't imagine why its different but it is:
WPF:
<MediaElement Source="somefile.wmv" LoadedBehavior="Manual" />
Silverlight:
<MediaElement Source="somefile.wmv" AutoPlay="false" />
Any ideas why they wouldn't fix Expression to allow the designer to set this?
UPDATE: It seems that complaining can actually help! If you follow this link you'll see that a Blend PM (Steve White) apologizes for this. I hope that other bugs like this get the attention that Steve gave...especially for people who don't blog obsessively like I do.
As Scott mentions on his blog, the
Visual Studio 2008 Tools for
Silverlight 1.1 are now available for download. Get 'em while they are hot!