<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Web Development Adventures in a .NET world</title><link>https://weblogs.asp.net:443/olakarlsson/</link><description>By Ola Karlsson</description><item><title>Simultaneously calling multiple methods on a WCF service from silverlight</title><link>https://weblogs.asp.net:443/olakarlsson/simultaneously-calling-multiple-methods-on-a-wcf-service-from-silverlight</link><description>&lt;p&gt;A while back I had to debug some performance issues in an existing Silverlight app, as the problem / solution was a bit obscure and finding info about it was quite tricky, I thought I’d share, maybe it can help the next person with this problem.&lt;/p&gt;  &lt;h3&gt;The App&lt;/h3&gt;  &lt;p&gt;On start, the app would do a number of calls to different methods on a WCF service, this to populate the UI with the necessary data. Recently one of those services had been changed and was now taking quite a bit longer than it used to. This was resulting in quite a long loading time for the whole UI, which was set up so it wouldn’t let the user interact with anything, until all the service calls had finished. &lt;/p&gt;  &lt;p&gt;First I broke out the longer running service call from the others, then removed the constraint that it had to be loaded for the UI in general to become responsive. I also added a loading indicator just on that area of the UI, thinking that the main UI would load while this particular section could keep loading independently.&lt;/p&gt;  &lt;h3&gt;The Problem&lt;/h3&gt;  &lt;p&gt;However this is where things started to get a bit strange. I found that even after these changes, the main UI wouldn’t activate until the long running call returned. So now, I did what I should have done to start with, I got Fiddler out and had a look at what was really happening. &lt;/p&gt;  &lt;p&gt;What I found was that, once the call to the long running service method was placed, all subsequent call were waiting for that one to return before executing.&lt;/p&gt;  &lt;p&gt;&lt;a href="https://aspblogs.blob.core.windows.net/media/olakarlsson/Media/LongRunningCall_630E25DB.png"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="LongRunningCall" border="0" alt="LongRunningCall" src="https://aspblogs.blob.core.windows.net/media/olakarlsson/Media/LongRunningCall_thumb_09AC8C5C.png" width="562" height="160" /&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Not having really worked with WCF previously or knowing much about it in general, I was stumped… I knew of the issues where Silverlight is restricted by the browsers networking features in regards to number of simultaneous connections etc. However that just didn’t seem to be the issue here, you can clearly see in Fiddler that there’s numerous calls, but they’re just not returning. I thought of the problem maybe being in the WCF service, but the calls were really not that complicated and surely the service should be able to handle a lot more than what I was throwing at it!&lt;/p&gt;  &lt;p&gt;So I did what every developer does in this type of scenario, I hit the search engines. I did a whole bunch of searching on things like “multiple simultaneous WCF calls from Silverlight” and “Calling long running WCF services from Silverlight” etc. etc. This however, pretty much got me nowhere, I found a whole heap of resources on how to do WCF calls from Silverlight but most of them were very basic and of no use what so ever.    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;The fog is clearing&lt;/h3&gt;  &lt;p&gt;It wasn’t until I came across the term “ WCF blocking calls” and started incorporating that in my searches I started to get somewhere. Those searches quite quickly brought me to the following thread in the Silverlight forum “&lt;a href="http://forums.silverlight.net/forums/p/174322/393032.aspx" target="_blank"&gt;Long-running WCF call blocking subsequent calls&lt;/a&gt;” which discussed the exact problem I was facing and the best part, one of the guys there had the solution!&lt;/p&gt;  &lt;p&gt;The short answer is in the forum post and the guys answering, has also done a more extensive blog post about it called “&lt;a href="http://blogs.imeta.co.uk/jyoung/archive/2010/04/08/849.aspx" target="_blank"&gt;Silverlight, WCF, and ASP.Net Configuration Gotchas&lt;/a&gt;” which covers it very well.&amp;#160; &lt;/p&gt;  &lt;p&gt;So come on what’s the solution?! I heard you ask, unless you’ve already gone to the links and looked it up ;)    &lt;br /&gt;&lt;/p&gt;  &lt;h3&gt;The Solution&lt;/h3&gt;  &lt;p&gt;Well, it turns out that the issue is founded in a mix of Silverlight, Asp.Net and WCF, basically if you’re &lt;strong&gt;doing multiple calls to a single WCF web-service and you have Asp.Net session state enabled, the calls will be executed sequentially by the service&lt;/strong&gt;, hence any long running calls will block subsequent ones. So why is Asp.Net session state effecting us, we’re working in Silverlight, right? We'll as mentioned earlier, by default Silverlight uses the browsers networking stack when doing service calls, hence to the WCF service, the call looks like it might as well be coming from a normal Asp.Net. &lt;strong&gt;To get around this, we look to a feature introduced in Silverlight 3, namely the &lt;/strong&gt;&lt;a href="http://blogs.msdn.com/silverlight_sdk/archive/2009/08/12/new-networking-stack-in-silverlight-3.aspx" target="_blank"&gt;&lt;strong&gt;Client HTTP Stack&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;.      &lt;br /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;h3&gt;The Client HTTP Stack to the rescue&lt;/h3&gt;  &lt;p&gt;By using the following syntax (for example in our App.xaml.cs, Application_Startup method)&lt;/p&gt;  &lt;p&gt;&lt;/p&gt;  &lt;pre&gt;WebRequest.RegisterPrefix(&amp;quot;http://&amp;quot;, WebRequestCreator.ClientHttp);&lt;/pre&gt;

&lt;p&gt;&lt;/p&gt;

&lt;p&gt;we can set our Silverlight application to use the Client HTTP Stack, which incidentally solves our problem! By using Silverlights own networking stack, rather than that of the browser, we get around the Asp.Net - WCF session state issue.
  &lt;br /&gt;The above code specifies that all calls to addresses starting with “http://” should go through the client stack, this can actually be set more granular and you can specify it to be used only for certain domains etc.&lt;/p&gt;

&lt;h3&gt;Summary&lt;/h3&gt;

&lt;p&gt;The actual solution is well covered in the forum and blog posts I link to above. This post is more about sharing my experience, hopefully helping to spread the word about this and maybe make it a bit easier for the next poor guy with this issue to find the solution.&lt;/p&gt;

&lt;p&gt;Until next time,
  &lt;br /&gt;Ola&lt;/p&gt;</description><pubDate>Wed, 19 May 2010 15:58:47 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/simultaneously-calling-multiple-methods-on-a-wcf-service-from-silverlight</guid><category>Silverlight 4</category><category>WCF</category><category>Web Services</category></item><item><title>New Silverlight 4 books</title><link>https://weblogs.asp.net:443/olakarlsson/new-silverlight-4-books</link><description>&lt;p&gt;A while back I was contacted by a publishing company called &lt;a href="http://www.packtpub.com/" target="_blank"&gt;PACKT Publishing&lt;/a&gt;, they were saying they had some new Silverlight books and were looking for reviewers. &lt;/p&gt;  &lt;p&gt;To be honest, to start with I was a bit sceptic,&amp;#160; I’d never heard of PACKT publishing, so my first step was to look it up and make sure the message was even real. Having had a look at their site etc., it all seemed legit, and I decided to have a look at what they had to offer. Hey what can I say, who am I to pass up on some free Silverlight 4 books?! :)&lt;/p&gt;  &lt;p&gt;The two new books they’ve released are “Microsoft Silverlight 4 Data and Services Cookbook” and “Microsoft Silverlight 4 Business Application Development : Beginner's Guide”.&lt;/p&gt;  &lt;p&gt;So in the next few weeks I’ll be reading through these books and share my thoughts about them here.&lt;/p&gt;  &lt;p&gt;IF you’re interested in checking out these books yourself, here’s some linked images the publishers provided.&lt;/p&gt;  &lt;p&gt;&lt;a href="http://www.packtpub.com/microsoft-silverlight-4-data-and-services-cookbook/book?utm_source=weblogs.asp.net&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_003248" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Microsoft Silverlight 4 Data and Services Cookbook" border="0" alt="Microsoft Silverlight 4 Data and Services Cookbook" src="https://aspblogs.blob.core.windows.net/media/olakarlsson/Media/MicrosoftSilverlight4DataandServicesCookbook_40A4D32B.jpg" width="198" height="244" /&gt;&lt;/a&gt; &lt;a href="http://www.packtpub.com/microsoft-silverlight-4-business-application-development-beginners-guide/book?utm_source=weblogs.asp.net&amp;amp;utm_medium=bookrev&amp;amp;utm_content=blog&amp;amp;utm_campaign=mdb_003247" target="_blank"&gt;&lt;img style="border-right-width: 0px; display: inline; border-top-width: 0px; border-bottom-width: 0px; border-left-width: 0px" title="Microsoft Silerlight 4-PACKT-Business" border="0" alt="Microsoft Silerlight 4-PACKT-Business" src="https://aspblogs.blob.core.windows.net/media/olakarlsson/Media/MicrosoftSilerlight4PACKTBusiness_5C85E256.jpg" width="198" height="244" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;Also you can download some sample chapters here:&lt;/p&gt;  &lt;p&gt;Microsoft Silverlight 4 Business Application Development : Beginner's Guide :    &lt;br /&gt;&lt;a href="https://www.packtpub.com/sites/default/files/9768_Silverlight%204%20Business%20Application%20Development%20Beginner%27s%20Guide_SampleChapter.pdf" target="_blank"&gt;Chapter 1 – Getting Started&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Microsoft Silverlight 4 Data and Services Cookbook:    &lt;br /&gt;&lt;a href="https://www.packtpub.com/sites/default/files/9843_Microsoft%20Silverlight%204%20Data%20and%20Services%20Cookbook_%20SampleChapter.pdf" target="_blank"&gt;Chapter No.2 – An Introduction to Data Binding&lt;/a&gt;&lt;/p&gt;</description><pubDate>Mon, 17 May 2010 15:00:05 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/new-silverlight-4-books</guid><category>Book Review</category><category>Silverlight 4</category></item><item><title>Past and current state of Smooth Streaming Development</title><link>https://weblogs.asp.net:443/olakarlsson/past-and-current-state-of-smooth-streaming-development</link><description>&lt;P&gt;&lt;STRONG&gt;16/06/2010 - Update&lt;/STRONG&gt;, this info was current when it first was published, however please note that it isn't any longer. Both the Smooth Streaming SDK/PDK and the SMF have had new versions released since this post was originally published, see more info at &lt;A href="http://www.iis.net/download/SmoothClient"&gt;http://www.iis.net/download/SmoothClient&lt;/A&gt;&amp;nbsp;and &lt;A href="http://smf.codeplex.com/"&gt;http://smf.codeplex.com/&lt;/A&gt;.&amp;nbsp;&amp;nbsp;I'm hoping to get a post up coverering these new realeses in the near future.&lt;BR&gt;/Ola&lt;/P&gt;
&lt;P&gt;Over the last year, a rather large part of my development work has included working with &lt;A href="http://www.iis.net/expand/SmoothStreaming" target=_blank mce_href="http://www.iis.net/expand/SmoothStreaming"&gt;IIS Smooth Streaming&lt;/A&gt;, especially in relation to Silverlight.&amp;nbsp; &lt;BR&gt;When I started looking at Smooth Streaming, about a year ago, there were not many places around the web where you could find Smooth streaming development related resources. And although the pictures is somewhat better today, there’s still not a whole lot of good material around, so I thought I’d try and putt together some posts sharing my experiences with &lt;A href="http://www.iis.net/expand/SmoothStreaming" target=_blank mce_href="http://www.iis.net/expand/SmoothStreaming"&gt;Smooth Streaming&lt;/A&gt; development. &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;My Smooth Streaming background&lt;/H5&gt;
&lt;P&gt;About a year ago I started looking at building a solution for one of our clients, one of the main features, was to provide a rather large quantity of video material to their online users. Some of the requirements included, that the video content had to be “synced” with other content on the screen. At certain points in the video,&amp;nbsp; other content needed to change etc. however it also had to work the other way around. I.e. the video had to be able to respond to items on the screen being selected, by going to the corresponding spot in the video. As the client wanted a highly interactive and rich experience, and video delivery being such a large part. Silverlight was an natural choice for the general development technology, however how to deliver the video content took some consideration. Not having worked with media on the web previously I set out to see what the options were. &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;The options&lt;/H5&gt;
&lt;P&gt;I quite quickly ran into to trouble, finding that neither of the two most common approaches &lt;A href="http://en.wikipedia.org/wiki/Progressive_download" target=_blank mce_href="http://en.wikipedia.org/wiki/Progressive_download"&gt;progressive downloads&lt;/A&gt; nor &lt;A href="http://en.wikipedia.org/wiki/Streaming_media" target=_blank mce_href="http://en.wikipedia.org/wiki/Streaming_media"&gt;streaming media&lt;/A&gt; really suited my requirements. &lt;A href="http://en.wikipedia.org/wiki/Progressive_download" target=_blank mce_href="http://en.wikipedia.org/wiki/Progressive_download"&gt;Progressive download&lt;/A&gt;, which is in general the most used technique, just couldn’t provide a rich enough experience, especially when it comes to start up time and “jumping around” (seeking) in the video.&amp;nbsp; &lt;A href="http://en.wikipedia.org/wiki/Streaming_media" target=_blank mce_href="http://en.wikipedia.org/wiki/Streaming_media"&gt;Streaming Media&lt;/A&gt; provided a better experience but was still struggling to provide the level of smooth and rich experience we were aiming for. Plus the added complexity when it comes to requirements on servers and configuration for streaming, also added to making it a not so attractive option. &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;IIS Smooth Streaming&lt;/H5&gt;
&lt;P&gt;Luckily I remembered having recently heard about this new technology Microsoft had released called Smooth Streaming. After some initial research and tests, it quickly it became apparent that this was a pretty much perfect fit for what we needed. Very fast start-up time for the videos, almost instant seeking, support for markers in the videos and all of this provided by a free IIS plugin called &lt;A href="http://www.iis.net/media" target=_blank mce_href="http://www.iis.net/media"&gt;IIS Media Services&lt;/A&gt;! Granted I never looked at what other companies beside Microsoft had to offer. A, I’m Working for a company specialising in the Microsoft stack, and B, once I had done some initial trials with Smooth Streaming, there was just no reason to look any further. &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;The development experience back in the day&lt;/H5&gt;
&lt;P&gt;The development experience back in those early days, left a lot to wish for. One of the major reason being that, as I mentioned earlier, there was almost no resources or documentation on how to build a Smooth Streaming enabled Silverlight player, on the web or elsewhere. Eventually Microsoft released a couple of templates for &lt;A href="http://www.microsoft.com/Expression/products/Encoder_Overview.aspx" target=_blank mce_href="http://www.microsoft.com/Expression/products/Encoder_Overview.aspx"&gt;Expression Encoder&lt;/A&gt; which were Smooth Streaming enabled. And thanks to a blog post by Tim Heuer about “&lt;A href="http://timheuer.com/blog/archive/2008/11/03/use-expression-encoder-templates-in-silverlight-application.aspx" target=_blank mce_href="http://timheuer.com/blog/archive/2008/11/03/use-expression-encoder-templates-in-silverlight-application.aspx"&gt;Using Expression Encoder templates in your Silverlight Applications&lt;/A&gt;”, I caught on to the fact that I could actually get hold of the source for those templates. So by looking at that code and by digging out the classes and libraries from there that I needed, I eventually managed to get my player going. I could of course have taken the source from one of the templates and just re-skinned it, however the template players included quite a lot of extra functionality and styles I didn’t need. Which would have added alot of extra size, to an already rather large xap file. Ripping out all the things I didn’t need, was an option but seemed like it would have been as much work as building my own. Anyhow, I got the player working and skinned as per the design, the client was duly impressed with the performance of the Smooth Streaming video delivery and was very happy.&amp;nbsp;&amp;nbsp; &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;Today’s experience&lt;/H5&gt;
&lt;P&gt;For quite some time after Smooth Streaming was released, the development story was pretty much limited to what I just described, however over last few months, this has changed quite a bit. &lt;BR&gt;&lt;/P&gt;
&lt;H6&gt;IIS Smooth Streaming Player Development Kit (SSPDK)&lt;/H6&gt;
&lt;P&gt;It started with Microsoft releasing &lt;A href="http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx" target=_blank mce_href="http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx"&gt;beta 1&lt;/A&gt; of the “&lt;A href="http://www.iis.net/expand/SmoothPlayer" target=_blank mce_href="http://www.iis.net/expand/SmoothPlayer"&gt;IIS Smooth Streaming Player Development Kit&lt;/A&gt;”,&amp;nbsp; which included the “Smooth Streaming Player SDK” in October last year (2009). The “SSPDK” (trust Microsoft when it comes to naming things) includes, a tool called pushencoder for simulating live smooth streaming scenarios, a xap file with a “sample player” built with the SDK and a dll, which once referenced in your project gives you a “Smooth Streaming Media Element” (SSME) control to use instead of the standard Media Element.&lt;/P&gt;
&lt;P&gt;The SSME (yes that’s what they’re calling it, see above comment about naming), has quite a lot of both basic and advanced functionality, including DVR capability for Live Smooth streaming and slow motion functionality, as well as fast forward and rewind. It also includes things like logging and ad playback integration, to help you with monetization (making money!).&lt;/P&gt;
&lt;P&gt;&lt;A href="http://blogs.iis.net/vsood/archive/2010/01/15/iis-smooth-streaming-player-development-kit-beta-2-released.aspx" target=_blank mce_href="http://blogs.iis.net/vsood/archive/2010/01/15/iis-smooth-streaming-player-development-kit-beta-2-released.aspx"&gt;Beta 2&lt;/A&gt; of the SSPDK was released in January 2010, even though it’s version 2, it is still very much in beta and it shows. For one the documentation is till very sparse and if you add the SSME to a “page” and then open it in Blend, Blend promptly Crashes (Microsoft.Web.Media.SmoothStreaming.dll, fileversion 3.0.711.8). &lt;BR&gt;&lt;/P&gt;
&lt;H6&gt;Silverlight Media Framework&lt;/H6&gt;
&lt;P&gt;Shortly after the SSPDK was released, the &lt;A href="http://smf.codeplex.com/" target=_blank mce_href="http://smf.codeplex.com/"&gt;Silverlight Media Framework&lt;/A&gt; was &lt;A href="http://smf.codeplex.com/releases/view/35773" target=_blank mce_href="http://smf.codeplex.com/releases/view/35773"&gt;released for PDC09&lt;/A&gt; in November 2009. The Silverlight Media Framework (SMF) is a Codeplex project under the Microsoft Public License, and it’s built on top of the SSPDK. The SMF codebase has been used for a number of the big Smooth Streaming “Showcase” projects on the web, like Wimbledon, Sunday Night Football on NBCSports, the UEFA Super Cup on Canal+, Roland Garros and the Tour de France on France Télévisions (Source smf.codeplex.com). &lt;/P&gt;
&lt;P&gt;Since the initial release, there’s been another release and the current version is 1.1, however the team behind the SMF, only &lt;A href="http://smf.codeplex.com/Thread/View.aspx?ThreadId=155396" target=_blank mce_href="http://smf.codeplex.com/Thread/View.aspx?ThreadId=155396"&gt;recently announced&lt;/A&gt; that they are now working on version 2.&lt;/P&gt;
&lt;P&gt;In addition to the functionality provided by the SSME, the SMF also include things like support for markers, the possibility of including external data, alternative language tracks and more.&lt;/P&gt;
&lt;P&gt;Plus of course the facts that it doesn’t crash when opened in blend and that they provide a number of videos and sample projects to show how to implement the SMF in a number of common scenarios. &lt;BR&gt;&amp;nbsp;&lt;/P&gt;
&lt;H5&gt;So where does this leave us&lt;/H5&gt;
&lt;P&gt;Well basically, this leaves us in a heck of a better situation than we had a year ago, the development options are however still somewhat limited. Unless you want to use the source code from the player templates in Encoder, which I would probably only recommend if you pretty much like the template the way it is, and only want to make minor tweaks. The SMF is currently the only reasonably “accessible” option for doing custom Smooth Streaming Development, especially with the current lack of a fully supported Microsoft SDK. &lt;/P&gt;
&lt;P&gt;Personally, I think the SMF seems like a very good project and a good option if you want to do Smooth Streaming development (disclaimer, I’ve so far only been playing with it, and not actually used it for any major project),&lt;STRIKE&gt; however the fact that it’s not an official product backed by Microsoft or any other company, might deter some people/companies.&lt;/STRIKE&gt; I've later&amp;nbsp;been told by people involved with the Smooth Streaming project at Microsoft, that Microsoft is very much backing the SMF.&lt;/P&gt;
&lt;P&gt;I’m sure that by the time the SSPDK gets out of beta, the current issues will be fixed and the people who doesn’t want to or can’t use the SMF, will have a viable option open to them. &lt;BR&gt;&lt;/P&gt;
&lt;H5&gt;Until next time&lt;/H5&gt;
&lt;P&gt;With that I think it’s time to wrap this up, I hope that at least someone has made it this far down the page and that you’ve gotten something out of it :-)&lt;/P&gt;
&lt;P&gt;Until next time, &lt;BR&gt;Ola&lt;/P&gt;</description><pubDate>Sat, 06 Mar 2010 16:10:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/past-and-current-state-of-smooth-streaming-development</guid><category>Silverlight</category><category>SMF</category><category>Smooth Streaming</category><category>SSPDK</category></item><item><title>Is it worth learning Silverlight and WCF RIA Services?</title><link>https://weblogs.asp.net:443/olakarlsson/is-it-worth-learning-silverlight-and-wcf-ria-services</link><description>&lt;p&gt;Tonight I came across &lt;a href="http://stackoverflow.com/questions/2195191/is-silverlight-ria-worth-learning-or-should-i-stick-to-normal-silverlight" target="_blank"&gt;this question&lt;/a&gt; on the QA site &lt;a href="http://stackoverflow.com/" target="_blank"&gt;Stackoverflow&lt;/a&gt;, basically a person was asking if it was worth learning “Silverlight RIA” or if he should just learn “normal Silverlight”. &lt;/p&gt;  &lt;p&gt;He had a background on VB6 and Winforms but had done some WPF. Also by the sound of it he works building intranet LOB applications as he was saying that the apps would run internally and that they were currently using Click Once. &lt;/p&gt;  &lt;p&gt;Anyhow, my answer got a bit long and turned into something of a rant but I think it had some decent point making it worth to cross-post it here :-)&lt;/p&gt;  &lt;p&gt;Start of Answer:   &lt;br /&gt;-------------------------------------------------------------------------------------------&lt;/p&gt;  &lt;p&gt;Hi Jonathan, &lt;/p&gt;  &lt;p&gt;To start with I'm wondering if there might be some confusion going on here. &lt;/p&gt;  &lt;p&gt;There's actually no such thing as &amp;quot;Silverlight RIA&amp;quot;, so lets clarify some concepts, RIA is commonly defined Rich Internet Applications, &lt;a href="http://www.microsoft.com/silverlight/overview/ria/default.aspx" target="_blank"&gt;Silverlight&lt;/a&gt; is one of a number of technologies that can be used to build such applications. &lt;/p&gt;  &lt;p&gt;However there's also the Microsoft technology &lt;a href="http://silverlight.net/getstarted/riaservices/" target="_blank"&gt;WCF RIA Services&lt;/a&gt;, which is what I'm guessing you're referring to. WCF RIA Services were until recently known as .Net RIA Services. &lt;/p&gt;  &lt;p&gt;WCF RIA Services (currently in Beta 2) has so far largely been targeted at Silverlight and is even hosted under the silverlight.net domain, which is probably where a lot of the confusion comes from. &lt;/p&gt;  &lt;p&gt;However in theory it's not tied to Silverlight at all, and is just a technology on top WCF to provide easy data access for RIA type of applications, for a more technical overview have a look at this &lt;a href="http://www.nikhilk.net/NET-RIA-Services-Vision-Architecture.aspx" target="_blank"&gt;blogpost by Nikhil Kothari&lt;/a&gt; it was written back in March 2009 about .Net RIA Services, so it might be a little out of date but it will give you a good idea on what it's about. &lt;/p&gt;  &lt;p&gt;After defining these terms, it's a bit tricky to answer your question &amp;quot;Is Silverlight RIA worth learning or should I stick to normal Silverlight?&amp;quot; &lt;/p&gt;  &lt;p&gt;Silverlight is definitely worth learning, by the looks of things Microsoft is going to stick with it. The latest recommendation I heard from someone close to Microsoft,&amp;#160; was to go with Silverlight if you can for new LOB (Line Of Business) Apps, if there's something Silverlight can't do, then look to WPF. &lt;/p&gt;  &lt;p&gt;Coming from a VB6/Winforms background there will be a bit of a learning curve, but if you've already done a couple WPF apps then you're on good way already. &lt;/p&gt;  &lt;p&gt;Silverlight for LOB? Silverlight 3 started bringing in more features related to development of LOB, like for example support for WCF RIA Services. It looks like this is set to continue in Silverlight 4 (due out first half of 2010), with things like support for printing and COM for working with MS Office applications. There's also coming more and more pre-made controls from various 3rd party vendors for many of the standard LOB type of functionality. &lt;/p&gt;  &lt;p&gt;So what about WCF RIA Services? It's definitely worth having a look at, it seems to be the preferred way of data access by Microsoft. It provides things like easy access to authentication and data validation. However saying that it's still in beta and there has been some voices raised against it, around the internet so it's probably worth doing some research, before going all in. &lt;/p&gt;  &lt;p&gt;Finally, you say that you're applications will be accessed internally but that you don't want the hassle of locally installed software, Silverlight fits that perfectly, just roll out the small Silverlight plugin to your users machines and you're good to go. Any changes needed, just recompile your project and deploy your .xap file to the webserver and it will automatically get pushed out to the users next time they use the app. &lt;/p&gt;  &lt;p&gt;Sorry for the somewhat long and rambling answer, I hope it's helped answer your questions :) &lt;/p&gt;  &lt;p&gt;Cheers,   &lt;br /&gt;Ola &lt;/p&gt;</description><pubDate>Thu, 04 Feb 2010 10:38:52 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/is-it-worth-learning-silverlight-and-wcf-ria-services</guid><category>Rant</category><category>RIA</category><category>Silverlight</category><category>WCF RIA Services</category></item><item><title>Resources for my SDDN presentation on Silverlight and IIS Smooth Streaming</title><link>https://weblogs.asp.net:443/olakarlsson/resources-for-my-sddn-presentation-silverlight-and-iis-smooth-streaming</link><description>&lt;p&gt;I recently (25/11/2009) did a presentation on using Silverlight and IIS Media Services – Smooth Streaming, at the &lt;a href="http://sddn.org.au/meetings/perth/perth-meeting-november-25/" target="_blank"&gt;Perth SDDN November meeting&lt;/a&gt;.&amp;#160; &lt;/p&gt;  &lt;p&gt;As promised, here’s the resources I mentioned in that presentation, apologies for the delay.&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;IIS 7 – Media Services      &lt;ul&gt;       &lt;li&gt;Experience IIS Smooth Streaming (aka Big Buck Bunny)          &lt;br /&gt;&lt;a href="http://www.iis.net/media/experiencesmoothstreaming"&gt;http://www.iis.net/media/experiencesmoothstreaming&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Download IIS Smooth Streaming &amp;amp; IIS Media Services 3          &lt;br /&gt;&lt;a href="http://www.iis.net/expand/SmoothStreaming"&gt;http://www.iis.net/expand/SmoothStreaming&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Windows Media Services          &lt;br /&gt;&lt;a href="http://www.iis.net/expand/WindowsMediaServices"&gt;http://www.iis.net/expand/WindowsMediaServices&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;IIS Media Services 3 announced          &lt;br /&gt;&lt;a href="http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx"&gt;http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;ul&gt;   &lt;li&gt;Development Resources      &lt;ul&gt;       &lt;li&gt;Smooth Streaming, developer kit announced          &lt;br /&gt;&lt;a href="http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx"&gt;http://blogs.iis.net/vsood/archive/2009/10/09/iis-smooth-streaming-player-development-kit-1-0-beta-1-released.aspx&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;MSDN – Smooth Streaming API          &lt;br /&gt;&lt;a href="http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx"&gt;http://msdn.microsoft.com/en-us/library/microsoft.web.media.smoothstreaming.aspx&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Jeff Paries blog with instructions on extracting dlls          &lt;br /&gt;&lt;a href="http://designwithsilverlight.com/2009/10/14/using-adaptive-streaming-with-encoder-3/"&gt;http://designwithsilverlight.com/2009/10/14/using-adaptive-streaming-with-encoder-3/&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Silverlight Media Framework          &lt;br /&gt;&lt;a href="http://smf.codeplex.com/"&gt;http://smf.codeplex.com/&lt;/a&gt; &lt;/li&gt;        &lt;li&gt;Open Video Player          &lt;br /&gt;&lt;a href="http://openvideoplayer.sourceforge.net"&gt;http://openvideoplayer.sourceforge.net&lt;/a&gt; &lt;/li&gt;     &lt;/ul&gt;   &lt;/li&gt; &lt;/ul&gt;</description><pubDate>Wed, 09 Dec 2009 14:25:47 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/resources-for-my-sddn-presentation-silverlight-and-iis-smooth-streaming</guid></item><item><title>Can’t view pages from the Web Development Server (Cassini)</title><link>https://weblogs.asp.net:443/olakarlsson/can-t-view-pages-from-the-web-development-server-cassini</link><description>&lt;p&gt;Are you all of the sudden getting “Internet Explorer cannot display the webpage” / “Address Not Found” when trying to run a web application from inside Visual Studio?&lt;/p&gt;  &lt;p&gt;This caused me a fair bit of headache yesterday, so now that I found the solution, I figured I’d try to spread the word. &lt;/p&gt;  &lt;p&gt;Basically what’s happened is that an &lt;strong&gt;update for “Windows Defender and Microsoft Forefront Client Security”&lt;/strong&gt; in the form of a new signature file was released on the 9th of March (Signature versions 1.53.283.0). This update was to address possible scenarios where a machines host file might get changed by a trojan or the like. &lt;strong&gt;Unfortunately however this had the side effect on some systems that the localhost entry in the host file was removed or corrupted, leading to any attempt to got to &lt;/strong&gt;&lt;a href="http://localhost/[whatever"&gt;&lt;strong&gt;http://localhost/[whatever&lt;/strong&gt;&lt;/a&gt;&lt;strong&gt;] will fail. &lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;The solution as outlined in the links below in further detail, is to re-add the localhost entry (127.0.0.1&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; localhost) to your host file (C:\Windows\System32\drivers\etc\hosts).&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;I appreciate that these things are important etc. but for [insert appropriately bad word here] sake Microsoft, if you push out potentially breaking changes let us know! &lt;/p&gt;  &lt;p&gt;In my case what happened was that, as a good Windows user I have automatic updates turned on and I let the machine restart when it needs to etc. Yesterday, after I’d not used Visual studio on my laptop for a couple days,&amp;#160; all of the sudden while sitting on a bus trying to do some Silverligth stuff, I couldn’t display any html pages when running then from VS. After some attempts at working out what the heck was going on and being on a bus with no internet connection I had to give up and pack up my laptop. Later after 30 min of Googling I found these two post helping me work out what had happened.    &lt;br /&gt;&lt;a href="http://blogs.msdn.com/webdevtools/archive/2009/03/13/asp-net-web-development-server-stops-working.aspx" target="_blank"&gt;ASP.NET Web Development Server Stops Working&lt;/a&gt;     &lt;br /&gt;&lt;a href="http://www.vijaykodali.com/post/2009/03/Visual-studio-Development-Server-problem-in-Vista.aspx" target="_blank"&gt;Visual studio Development Server problem in Vista&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;So I guess Microsoft had let us know in the way that the “Visual Web Developer team” let us know on their blog but come on, this should have been more publically announced in some way, according to some of the comments there are people out there who have struggled for days with this issue. I’m not really sure how they should have done it and maybe I’m just irritated because I got stung, &lt;strong&gt;lesson learnt from this. Turn off the automatic update and apply updates manually, once you know what they’re doing!&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Happy coding :)    &lt;br /&gt;Ola&lt;/p&gt;</description><pubDate>Wed, 18 Mar 2009 03:25:31 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/can-t-view-pages-from-the-web-development-server-cassini</guid><category>ASP.NET</category><category>Cassini</category><category>Rant</category><category>web development</category><category>Web Development Server</category></item><item><title>The Alternative Podcast List</title><link>https://weblogs.asp.net:443/olakarlsson/the-alternative-podcast-list</link><description>&lt;P&gt;Earlier today I noticed a new &lt;A href="http://www.hanselman.com/blog/HanselmanListOfPodcastsForNETProgrammers.aspx" target=_blank mce_href="http://www.hanselman.com/blog/HanselmanListOfPodcastsForNETProgrammers.aspx"&gt;post&lt;/A&gt; on Scott Hanselmans blog, where he lists potential technical podcasts for .Net developers and asks other to put up their lists. &lt;/P&gt;
&lt;P&gt;Now, most of the ones on his list are pretty much the same as I subscribe to, but having quite an interest in non .Net web development and RIA etc. I do have a couple he’s not mentioning.&lt;/P&gt;
&lt;P&gt;I figured I’ll just add the ones which are a bit different from the ones mentioned on Scots' list.&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Pixel8ed &lt;A href="http://getpixel8ed.com/" mce_href="http://getpixel8ed.com"&gt;http://getpixel8ed.com&lt;/A&gt; &lt;BR&gt;This is a podcast by Craig Shoemaker, who also does the P&lt;A href="http://polymorphicpodcast.com/" target=_blank mce_href="http://polymorphicpodcast.com/"&gt;olymorphic podcast&lt;/A&gt;, where the Polymorphic podcast is aimed at general programming and .Net concepts. Pixel8ed is focused on UX and related ideas and areas.&lt;/LI&gt;
&lt;LI&gt;RIA Weekly &lt;A href="http://www.riaweekly.com/" mce_href="http://www.riaweekly.com/"&gt;http://www.riaweekly.com/&lt;/A&gt; &lt;BR&gt;A podcast dedicated to news in the RIA space. Even though the podcast is sponsored by Adobe and one of the hosts is &lt;A href="http://blog.digitalbackcountry.com/" target=_blank mce_href="http://blog.digitalbackcountry.com/"&gt;Ryan Stewart&lt;/A&gt;, a platform evangelist for Adobe, they do a pretty decent job of covering news across the board, not just Adobe specific things.&lt;/LI&gt;
&lt;LI&gt;Boagworld &lt;A href="http://www.boagworld.com/" mce_href="http://www.boagworld.com/"&gt;http://www.boagworld.com/&lt;/A&gt; &lt;BR&gt;”A podcast for those who design, develop or run websites”, a podcast mainly about web design but also covering thing like accessibility and web standards.&lt;/LI&gt;&lt;/UL&gt;</description><pubDate>Tue, 10 Feb 2009 14:43:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/the-alternative-podcast-list</guid></item><item><title>February Perth .Net UG Silverlight talk</title><link>https://weblogs.asp.net:443/olakarlsson/february-perth-net-ug-silverlight-talk</link><description>&lt;p&gt;Thursday last week I did a &lt;a href="http://perthdotnet.org/blogs/events/archive/2009/01/19/silverlight-what-is-it-and-what-is-it-not.aspx" target="_blank"&gt;presentation&lt;/a&gt; on RIA and Silverlight for the &lt;a href="http://perthdotnet.org/Default.aspx" target="_blank"&gt;Perth .Net Community of Practice&lt;/a&gt; and as promised here’s the links from the presentation.&lt;/p&gt;  &lt;p&gt;Some great examples of how RIA can be used to enhance the user experience of a website.   &lt;br /&gt;&lt;a href="http://silverlight.net/samples/sl2/silverlightairlines/run/default.html"&gt;http://silverlight.net/samples/sl2/silverlightairlines/run/default.html&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://maps.google.com"&gt;http://maps.google.com&lt;/a&gt;    &lt;br /&gt;&lt;a href="http://memorabilia.hardrock.com/"&gt;http://memorabilia.hardrock.com/&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Where does the desktop end and where does the web start, RIA blurring the lines   &lt;br /&gt;&lt;a href="https://www.photoshop.com/express/landing.html"&gt;https://www.photoshop.com/express/landing.html&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;RIA Benchmarking, Bubbelmark is an animation test to practically benchmark different RIA technologies against each other.   &lt;br /&gt;&lt;a href="http://www.bubblemark.com"&gt;http://www.bubblemark.com&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Shine Draw(&lt;a title="http://www.shinedraw.com/" href="http://www.shinedraw.com/"&gt;http://www.shinedraw.com/&lt;/a&gt;) – Flash vs Silverlight repository, compares various animation effects implemented in Flash and Silverlight and lets the visitors vote which is better. &lt;/p&gt;  &lt;p&gt;Thanks to everyone who came to the presentation, if you have any feedback or questions, don’t hesitate to drop me a line.&lt;/p&gt;  &lt;p&gt;Cheers.&lt;/p&gt;</description><pubDate>Mon, 09 Feb 2009 13:02:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/february-perth-net-ug-silverlight-talk</guid><category>community</category><category>RIA</category><category>Silverlight</category></item><item><title>Blogging, Life and jQuery</title><link>https://weblogs.asp.net:443/olakarlsson/blogging-life-and-jquery</link><description>&lt;p&gt;Soooo, it’s been a bit quiet here lately, eh.&lt;/p&gt;  &lt;p&gt;Well as per always, life got in the way. Between work, family and life in general, there just haven’t been much time for anything else. However as things are slowly calming down, I’m now hoping to get back into the swing of things with the blog!&lt;/p&gt;  &lt;p&gt;The title says “Blogging, life and jQuery”, what’s that all about? Well firstly I thought I’d talk a bit about that changes I’m wanting to make to this blog. Then as part of of those changes, I’ll talk a bit about what’s been going on in my world in general.    &lt;br /&gt;&lt;/p&gt;  &lt;h4&gt;Blogging&lt;/h4&gt;  &lt;p&gt;I’ve decided to try and make some changes to this blog. When I started&amp;#160; blogging, I tried to make my posts very focused, “professional” and tutorial like. However that style of posts require lots and lots of time and effort to produce. I would still like to post tutorials every now and then but they wont be very frequent.&amp;#160;&amp;#160; &lt;br /&gt;So instead to get some more life into the blog I’ll try to make more frequent posts reflecting what ever is on my mind at the time, a little bit like the later posts before “the big silence”.&lt;/p&gt;  &lt;h2&gt;&lt;/h2&gt;  &lt;h4&gt;Life&lt;/h4&gt;  &lt;p&gt;Well as a father of two, a three and half year old and a 6months old. I can tell you one thing for certain, the people who say that once you have one child, you might as well have two, because there’s not much difference in the effort involved looking after them, they’re lying! That said I wouldn’t change a thing!    &lt;br /&gt;However having a young family, means there’s not much time for extra curricular activities and take a way time for some sports activities to keep me at least reasonably fit, I’m afraid the old computing passion has had to go on the back burner to some extent.&lt;/p&gt;  &lt;h4&gt;jQuery&lt;/h4&gt;  &lt;p&gt;Ok time to get something web dev related in this post. I was recently fortunate enough, to be on a project which involved developing a product/plan recommendation engine/app, for one of our clients. The fortunate thing about this was that it was to be done all in jQuery.&lt;/p&gt;  &lt;p&gt;Not having worked with jQuery before, it was quite a learning curve. However seeing as there’s been a alot of talk about jQuery lately with the announcement of it being endorsed by Microsoft and everything. I was looking forward to getting a chance to having a look at it.&lt;/p&gt;  &lt;p&gt;Basically it took me and another developer a couple of weeks to get our heads around it but in the end we got the job done and it’s now up and running, you can check it out here: &lt;a href="http://www.iinet.com.au/needhelp/"&gt;http://www.iinet.com.au/needhelp/&lt;/a&gt;&lt;/p&gt;  &lt;h4&gt;Silverlight&lt;/h4&gt;  &lt;p&gt;What about Silverlight? The blog has up until now been very focused on Silverlight, will this change? Not really, as I mentioned earlier I’m hoping to getting some more general content in here, but Silverlight is still very much one of my main interest when it comes to web development. &lt;/p&gt;  &lt;p&gt;And that being the case I’m exited to announce that the &lt;a href="http://perthdotnet.org/Default.aspx" target="_blank"&gt;Perth .Net User Groups’&lt;/a&gt; February presentation will be on &lt;strong&gt;Silverlight 2&lt;/strong&gt; and it will be &lt;strong&gt;presented by no ne less then myself and Stephen Price.&lt;/strong&gt; We’ve still not locked down 100%, what we’ll cover etc. but it should be a good evening. So if you’re in or around Perth make sure you come and check it out :) &lt;/p&gt;  &lt;p&gt;Cheers,    &lt;br /&gt;Ola&lt;/p&gt;</description><pubDate>Sun, 18 Jan 2009 14:22:26 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/blogging-life-and-jquery</guid><category>Blogging</category><category>jQuery</category><category>Personal</category></item><item><title>Silverlight 2 RTW on Monday?</title><link>https://weblogs.asp.net:443/olakarlsson/silverlight-2-rtw-on-monday</link><description>&lt;P mce_keep="true"&gt;I just spotted this &lt;A class="" href="http://twitter.com/wictor/statuses/955376957" target=_blank mce_href="http://twitter.com/wictor/statuses/955376957"&gt;on Twitter &lt;/A&gt;and I must say this is looking good! &lt;/P&gt;
&lt;P mce_keep="true"&gt;Basically Microsoft came out yesterday on their &lt;A class="" href="http://www.microsoft.com/presspass/default.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/default.mspx"&gt;PressPass site&lt;/A&gt;, with a &lt;A class="" href="http://www.microsoft.com/presspass/press/2008/oct08/10-10GuthrieSilverlightMA.mspx?rss_fdn=Press%20Releases" target=_blank mce_href="http://www.microsoft.com/presspass/press/2008/oct08/10-10GuthrieSilverlightMA.mspx?rss_fdn=Press%20Releases"&gt;press release&lt;/A&gt; saying that there will be a teleconference on Monday (13 October) where &lt;A class="" href="http://weblogs.asp.net/scottgu/" target=_blank mce_href="/scottgu/"&gt;ScottGu&lt;/A&gt; (Scott Guthrie)&amp;nbsp;will make a "significant announcement related to Microsoft Silverlight".&lt;/P&gt;
&lt;P mce_keep="true"&gt;I did some poking around on the internet and&amp;nbsp;found one or two mentions of this, at &lt;A class="" href="http://blogs.zdnet.com/microsoft/?p=1634" target=_blank mce_href="http://blogs.zdnet.com/microsoft/?p=1634"&gt;ZDNet&lt;/A&gt;&amp;nbsp;and on &lt;A class="" href="http://www.brockett.net/?p=606" target=_blank mce_href="http://www.brockett.net/?p=606"&gt;Kurt Brockett's blog&lt;/A&gt;&amp;nbsp;but that was it, for some reason, maybe because it's weekend? This doesn't seem to have been covered much on other blogs,&amp;nbsp;so I thought I'd spread the word :)&lt;/P&gt;
&lt;P mce_keep="true"&gt;On Kurt's blog there are some comments discussing&amp;nbsp;the possible release, and&amp;nbsp;among others, there's a comment&amp;nbsp;by&amp;nbsp;&lt;A class="" href="http://adamkinney.com/" target=_blank mce_href="http://adamkinney.com/"&gt;Adam Kinney&lt;/A&gt;&amp;nbsp;hinting that he's busy upgrading his Beta 2 projects for release. Someone else however&amp;nbsp;is saying that Silverlight 2 won't be released on Monday,&amp;nbsp;and that it will just be an announcement about the release date.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Either way, exiting stuff, bring on Monday!!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;</description><pubDate>Sat, 11 Oct 2008 14:38:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/silverlight-2-rtw-on-monday</guid><category>Community News</category><category>Silverlight 2</category></item><item><title>NFL Flash Player</title><link>https://weblogs.asp.net:443/olakarlsson/nfl-flash-player</link><description>&lt;P mce_keep="true"&gt;As per my &lt;A class="" href="http://weblogs.asp.net/olakarlsson/archive/2008/09/05/adobe-to-power-nfl-on-the-web-the-race-is-on.aspx" mce_href="/olakarlsson/archive/2008/09/05/adobe-to-power-nfl-on-the-web-the-race-is-on.aspx"&gt;last post&lt;/A&gt; the US National Footaball League (NFL)&amp;nbsp;have &lt;A class="" href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200809/090408AdobeNFL.html" target=_blank mce_href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200809/090408AdobeNFL.html"&gt;choosen to go with Adobe&lt;/A&gt; and Flash to provide online video and media content. A couple of people like &lt;A class="" href="http://bits.samiq.net/2008/09/nfl-coming-to-browser-near-you-thanks.html" target=_blank mce_href="http://bits.samiq.net/2008/09/nfl-coming-to-browser-near-you-thanks.html"&gt;Gilbert Corrales&lt;/A&gt;&amp;nbsp; and &lt;A class="" href="http://blogs.zdnet.com/Stewart/?p=924" mce_href="http://blogs.zdnet.com/Stewart/?p=924"&gt;Ryan Stewart&lt;/A&gt;&amp;nbsp;have already&amp;nbsp;had a look at the look and feel of the player and some of it's features.&amp;nbsp;Notable features include 5 concurrent feeds giving the possibility to swap between cameras etc. Unfortunately, just as with the &lt;A class="" href="http://www.nbcolympics.com/" target=_blank mce_href="http://www.nbcolympics.com/"&gt;NBC coverage of the Beijing Olympics&lt;/A&gt; using Silverlight, the content on the NFL site is US only. So unfortunately&amp;nbsp;no NFL Flash goodness for the rest of us.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;A href="http://blogs.zdnet.com/Stewart/?p=924"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;</description><pubDate>Fri, 05 Sep 2008 06:37:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/nfl-flash-player</guid><category>Community News</category><category>Flash</category><category>NFL</category></item><item><title>Adobe to power NFL on the web, the race is on!</title><link>https://weblogs.asp.net:443/olakarlsson/adobe-to-power-nfl-on-the-web-the-race-is-on</link><description>&lt;p&gt;The US National Football League (NFL) and Adobe, &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200809/090408AdobeNFL.html" target="_blank" mce_href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200809/090408AdobeNFL.html"&gt;yesterday announced&lt;/a&gt; that NFL has chosen Adobe Flash technology to deliver their online video content. &lt;/p&gt;
&lt;p&gt;Personally I think this is great! But why you might say, aren’t you one of those Silverlight fan boy types? &lt;/p&gt;
&lt;p&gt;Well even thought there might be some truth in that ;) I think looking at the bigger picture, this can only be a good thing. Adobe taking a step like this after Microsoft’s &lt;a href="http://www.reuters.com/article/pressRelease/idUS23524+07-Jan-2008+PRN20080107" target="_blank" mce_href="http://www.reuters.com/article/pressRelease/idUS23524+07-Jan-2008+PRN20080107"&gt;deal with NBC&lt;/a&gt; to broadcast the &lt;a href="http://www.nbcolympics.com/" target="_blank" mce_href="http://www.nbcolympics.com/"&gt;Beijing Olympics&lt;/a&gt;, now means the race is on for who’s technology will get to provide us with rich media content over the web. This means competition, competition in a market, which for quite a while now has been dominated by Adobe. As I’ve &lt;a href="http://weblogs.asp.net/olakarlsson/archive/2008/05/21/silverlight-microsoft-s-flash-killer.aspx" target="_blank" mce_href="http://weblogs.asp.net/olakarlsson/archive/2008/05/21/silverlight-microsoft-s-flash-killer.aspx"&gt;previously pointed out&lt;/a&gt;, I don’t think Silverlight will be the Flash killer media like to portray it as, but rather I think that it will provide some healthy competition to Adobe’s Flash / Flex platform. I very much look forward to seeing how this will play out. Hopefully it will mean better service to all the users on the web and better tools for us developers.&lt;/p&gt;</description><pubDate>Fri, 05 Sep 2008 05:51:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/adobe-to-power-nfl-on-the-web-the-race-is-on</guid><category>Community News</category><category>Flash</category><category>Silverlight</category></item><item><title>Animated Silverlight Panel on top of Html</title><link>https://weblogs.asp.net:443/olakarlsson/silverightflyoutpanel</link><description>&lt;P&gt;As promised,&amp;nbsp;here's my article from the &lt;A class="" href="http://michaelsync.net/2008/06/30/silverlight-2-beta2-contest-extended-more-cash-prize-for-winners" mce_href="http://michaelsync.net/2008/06/30/silverlight-2-beta2-contest-extended-more-cash-prize-for-winners"&gt;"Silverlight: write and win" competition.&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;A live example of the finished outcome can be viewed here: &lt;A href="http://olakarlsson.com/SL2Beta2FlyoutDemo/SL2Beta2FlyoutDemoTestPage.aspx"&gt;http://olakarlsson.com/SL2Beta2FlyoutDemo/SL2Beta2FlyoutDemoTestPage.aspx&lt;/A&gt;&amp;nbsp;and the source can be downloaded from &lt;A href="http://olakarlsson.com/downloads.aspx"&gt;http://olakarlsson.com/downloads.aspx&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Overview&lt;/H2&gt;
&lt;P&gt;In this article we’ll be looking at the concept of adding interactive Silverlight elements to existing Web pages to provide added rich features. We’ll be looking at creating an animated Silverlight panel which will slide in from the side of the browser window when a button is clicked.&lt;/P&gt;
&lt;P&gt;The somewhat tricky bit is that we want the panel to lie on top on the normal HTML content of the page and when when the Silverlight UI is slid out we want to be able to interact with the HTML instead. &lt;BR&gt;&lt;STRONG&gt;Why did I decide on this topic: &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Working as an asp.net developer and having a keen interest for web development in general, I find this way of using Silverlight quite interesting but I have also found that it is not covered very much on the web at the moment.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Concepts and tools we’re using &lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Tools&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Visual Studio 2008 with the Silverlight 2 Beta 2 tools installed &lt;/LI&gt;
&lt;LI&gt;Blend 2.5 June Preview &lt;/LI&gt;
&lt;LI&gt;C# &lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;Concepts&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;Visual State Manager &lt;/LI&gt;
&lt;LI&gt;Silverlight/Managed Code - DOM/JavaScript interaction &lt;/LI&gt;
&lt;LI&gt;XHTML/CSS &lt;/LI&gt;
&lt;LI&gt;Controlling the SL Plugin &lt;/LI&gt;&lt;/UL&gt;
&lt;H2&gt;First there was creation&lt;/H2&gt;
&lt;P&gt;First thing's first, open Visual Studio and create a new Silverlight 2 project/solution to get the full structure including a asp.net test project.&lt;/P&gt;
&lt;P&gt;I created a new .Net 3.5, C#, Silverlight project and chose to add a Web Application project to test my Silverlight UI in.&lt;/P&gt;
&lt;P&gt;(I only chose “Web Application” because that’s what I’m used to working with, you could as easily use a “Web Site” project.)&lt;/P&gt;
&lt;P&gt;Once the IDE has finished loading our new solution, we want to open the page.xaml file in Blend, so we can create the Silverlight UI interface.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_2.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 10px 0px 0px; BORDER-RIGHT-WIDTH: 0px" height=230 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb.png" width=244 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Blending it up&lt;/H2&gt;
&lt;P&gt;In Blend, we now create our Silverlight interface.&lt;/P&gt;
&lt;P&gt;For this demo I will simply use the default LayoutRoot grid and change the size to 200×300. However to create the effect we want, we then set the size of the usercontrol to 220×300.&lt;/P&gt;
&lt;P&gt;Next drag on a button which we give a size of 20×40, then drag the button into position just outside the upper right corner of the grid. This is probably not the most elegant layout solution but as this article is about browser interaction and animating with Visual State Manager and not about advanced XAML layout, it’s good enough.&lt;/P&gt;
&lt;P&gt;As a bit of a nice touch, we’ll make the background a dark semi transparent colour so that one implemented we’ll still be able to see a hint of the HTML content underneath it. To finish our UI, we also drag on a TextBlock, I then gave the controls the amazingly colourful names of “myText” and “myButton”. I also changed the foreground colour and font properties for the TextBlock so it will stand out a bit. This gave me the following:&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_8.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_8.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_2.png" width=192 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_2.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;UserControl x:Class="SL2Beta2FlyoutDemo.Page" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns="&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml/presentation" mce_href="http://schemas.microsoft.com/winfx/2006/xaml/presentation" ?="?"&gt;http://schemas.microsoft.com/winfx/2006/xaml/presentation&lt;/A&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:x="&lt;A href="http://schemas.microsoft.com/winfx/2006/xaml" mce_href="http://schemas.microsoft.com/winfx/2006/xaml" ?="?"&gt;http://schemas.microsoft.com/winfx/2006/xaml&lt;/A&gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width="220" Height="300" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; xmlns:vsm="clr-namespace:System.Windows;assembly=System.Windows"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Grid x:Name="LayoutRoot" Background="#35000000" RenderTransformOrigin="0.5,0.5" Width="200"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; HorizontalAlignment="Left"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;TextBlock Height="35" HorizontalAlignment="Stretch" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Margin="41,42,45,0" VerticalAlignment="Top" FontSize="22" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Foreground="#FFE25B1C" Text="TextBlock" TextWrapping="Wrap" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x:Name="myText" FontWeight="Bold" /&amp;gt; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;Button HorizontalAlignment="Right" Margin="0,-1,-20,0" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VerticalAlignment="Top" Content="&amp;amp;gt;" Click="myButton_Click"&amp;nbsp; x:Name="myButton" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Width="20" Height="40"/&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/Grid&amp;gt; &lt;BR&gt;&amp;lt;/UserControl&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Next we move on to use the new Visual State Manager to create our slide out, slide in effect. The Visual State Manger (VSM) is located in the upper left corner and lets us define visual “states” for our UI elements and group these states into “State Groups”. For our UI I defined a State Group called SlideStates and then added two States name Out and In, to it. Note that in VSM there is always a Base State which defines the default state/view in addition to any states you create.&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_10.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_10.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 10px 0px 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_4.png" width=196 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_4.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Our next step is to define the base state of our UI, in our case we want create an effect where the UI comes sliding in from the side.&lt;/P&gt;
&lt;P&gt;To accomplish this we first select the Base state, then we make sure the correct element is selected (the LayoutRoot grid) and finally we make any necessary adjustments. Since our UI is to slide in from out of view, it needs to start outside the screen, hence we set the x value for the LayoutRoot grid to a minus of its own width (in this case -200). This will set the main section of our UI off the screen but leaves the button on screen.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_16.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_16.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=307 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_3.png" width=582 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_3.png"&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Next we move on to defining our own states, as the Out state in fact will be the same as the Base state we don’t actually need to make any changes to it.&lt;/P&gt;
&lt;P&gt;In the case of the “In” state however, we want the UI to be on screen. As per when we set up the base state, we select the state, then the element and finally make any adjustments. In this case, to bring the LayoutRoot grid back onto the screen we simply set the X value back to 0.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_20.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_20.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=308 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_7.png" width=588 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_7.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;We can now preview the behaviour by clicking on out different states and seeing what happens. However if we were to run this as it currently is, the transition between the states would be pretty much nonexistent, so to get a nice animated transition between the states we use the “Transition Duration” in VSM, here I’ve set it to 0.4 of a second, meaning that, 0.4sec is the time it will take to transition from one state to another. &lt;/P&gt;
&lt;P&gt;We could also add more specific transitions of we wanted by using the Add Transition buttons, however for our simply demo, the Default Transition setting works perfectly fine.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_18.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_18.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 0px 45px 0px 10px; BORDER-RIGHT-WIDTH: 0px" height=209 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_8.png" width=244 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_8.png"&gt;&lt;/A&gt;&lt;/P&gt;
&lt;H2&gt;Back to where we started (in VS2008)&lt;/H2&gt;
&lt;P&gt;With those final adjustments in Blend, it’s now time to go back to Visual Studio (VS), so make sure you have saved the changes and go back into VS, when asked if you want to reload the XAML, answer yes. NOTE: When the design surface in VS loads it will display and error message and won’t show the UI we created in Blend, this is a &lt;A href="http://silverlight.net/forums/t/17571.aspx" mce_href="http://silverlight.net/forums/t/17571.aspx"&gt;known bug&lt;/A&gt; and the good news is that the project will actually still build and when it’s run in the browser it should work fine.&lt;/P&gt;
&lt;P&gt;So we now move from the world of XAML into the world of HTML, CSS and JavaScript. For this demo, I’m using the automatically created test page SL2Beta2FlyoutDemoTestPage.aspx, first step is to get the Silverlight plugin on top of the HTML. And to accomplish this we need to edit the default setup somewhat.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;We’ll do it in a few steps:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;1. To start with I’ve changed the size of the plugin, building a full Silverlight app the size of the Silverlight plugin is usually set to 100% width and height, however if we want to use it together with the HTML, we need to change it to match the actual size of your XAML/Silverlight element. We will also revisit these setting later when creating our slide in, slide out effect. This gives us the following:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;asp:Silverlight ID="Xaml1" runat="server" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source="~/ClientBin/SL2Beta2FlyoutDemo.xap" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinimumVersion="2.0.30523" &lt;STRONG&gt;Width="220" Height="300"&lt;/STRONG&gt; /&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;2. Next we add another &amp;lt;div&amp;gt; tag with some HTML content, just after the div that holds the Silverlight plugin. (I’ve also set the background of the page to a gray colour so we can see better what’s happening with our Silverlight plugin).&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;body style='height:100%;margin:0;background-color:#CCCCCC'&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;form id="form1" runat="server" style='height:100%;'&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:ScriptManager ID="ScriptManager1" runat="server"&amp;gt;&amp;lt;/asp:ScriptManager&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="SLDiv" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;asp:Silverlight ID="Xaml1" runat="server" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source="~/ClientBin/SL2Beta2FlyoutDemo.xap" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinimumVersion="2.0.30523" Width="220" Height="300" /&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;div id="contentDiv" &amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;h2 style='text-align:center;'&amp;gt;Lorem ipsum dolor sit amet&amp;lt;/h2&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nam vestibulum lacinia tortor eros.&amp;lt;/p&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;Sed ornare ullamcorper lacus. Ut vel risus. Vestibulum laoreet ligula et, per inceptos himenaeos. Nulla ipsum. Nullam metus. &amp;lt;/p&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;p&amp;gt;Sed nisl nisi, sagittis non, ullamcorper ac, . Aliquam erat volutpat. In hac habitasse platea dictumst. Nunc vehicula enim et justo. &amp;lt;/p&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/div&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/form&amp;gt; &lt;BR&gt;&amp;lt;/body&amp;gt; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;All this will do however is to add some Content text on the page after our Silverlight plugin. You can note thought that we now can see the first part of our UI on the page!&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_22.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_22.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_9.png" width=139 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_9.png"&gt;&lt;/A&gt;&amp;nbsp; &lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;3. To actually get the Silverlight area on top of the other content we turn to the power of CSS, and make the following changes:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;div id="SLDiv" style='position:absolute; left:0; top:0; z-index:2;'&amp;gt;&lt;/P&gt;
&lt;P&gt;&amp;lt;div id="contentDiv" style='position:absolute; top:0; left:0; z-index:1;'&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Basically, we’re using CSS to lock the two divs in absolute positions and then we use the z-index attribute to layer them on top of each other (higher number = higher up in the stack). These changes give us quite a different result, where the Silverlight plugin is layered on top of our HTML content.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_30.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_30.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_10.png" width=172 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_10.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Now some of you might be saying, “Hey, what happened the transparency we set back in Blend?” &lt;BR&gt;Well, what we did in Blend was that we set the XAML to be semi transparent, but to get the actual plugin transparent there’s a couple of things we need to change in how we set up the plugin on our page. Namely we need to add the two new parameters, Windowless and PluginBackground to the Silverlight control:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;asp:Silverlight ID="Xaml1" runat="server" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; Source="~/ClientBin/SL2Beta2FlyoutDemo.xap" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; MinimumVersion="2.0.30523" Width="220" Height="300" &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;Windowless="true" PluginBackground="Transparent"&lt;/STRONG&gt; /&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;If we now run our page again, you should find that the Silverlight plugin area is no longer visible, so where’s our UI? Well all is as it should, as you might recall, the base state for our XAML UI is actually to start off page, hence we can’t see it!&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_34.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_34.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_14.png" width=170 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_14.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;However, to make things a bit easier for ourselves while working with the plugin, we’ll change the PluginBackground to Black for now, so we can see the plugin area.&lt;/P&gt;
&lt;H2&gt;But I want to see the rest of my XAML UI&lt;/H2&gt;
&lt;P&gt;Ok fair enough, this is all very exciting but I’m sure by now most of you want to see if this actually works?! &lt;BR&gt;&lt;BR&gt;Well lets get coding! So to prove to you that this actually works, we’ll go over to VS and open up the code behind file for our XAML file “Page.xaml.cs”. Just as a quick test we make the following change to the Page method:&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;public Page() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;VisualStateManager.GoToState(this, "In", true); &lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;All this does is that it tells the VSM, that our current control (this) should go to the state “In”, the final boolean value decides whether a transition should be used. If you now go ahead and compile the solution and run the&amp;nbsp; page, you should see our XAML UI slide in from the left hand side in all its glory! (Minus the transparency of course but we’ll get back to that later)&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_36.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_36.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=244 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_16.png" width=159 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_16.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;So how do we control this? We don’t want it coming in when the page loads! Well head back into code land.&lt;/P&gt;
&lt;H2&gt;Take control &lt;/H2&gt;
&lt;P&gt;Step one of taking control of our animated UI is to create a new event handler for out button, open the XAML view of Page.xaml, in the tag for the button, add a Click event: &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_38.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_38.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=41 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_17.png" width=680 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_17.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Next right click on the new event and select “Navigate to Event Handler”, this will take us into the code behind file straight to the newly created event handler. Once there, simply move the line for the VSM interaction from the Page method into the new event handler. In the code behind make the changes to make it look like the following code:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;public partial class Page : UserControl &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; String state; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; public Page() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; InitializeComponent(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state = "out"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; private void myButton_Click(object sender, RoutedEventArgs e) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (state == "out") &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VisualStateManager.GoToState(this, "In", true); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state = "in"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myButton.Content = "&amp;lt;"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VisualStateManager.GoToState(this, "Out", true); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state = "out"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myButton.Content = "&amp;gt;"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Basically we’ve set up a variable to hold the current state of the control, then we’re using the Click event handler to slide the UI in or out based on the value in out variable. Just as an extra touch I also change the content (text) of the button to reflect which direction it will go when clicked.&lt;/P&gt;
&lt;P&gt;So if we now set the PluginBackground to Transparent, we’re done right?!&lt;/P&gt;
&lt;P&gt;We’ll, almost, the problem we’ll run into with our project that way it is currently. Is pretty plain to see while we don’t have the PluginBackground set to Transparent, as the Silverlight plugin is layered on top of our HTML, it stops us from interacting with the HTML below. Setting the PluginBackground will let us see what’s underneath, but as I’ve been pointing out to people when discussing these kind of implementations, just because you can see it doesn’t mean you can click it!&lt;/P&gt;
&lt;P&gt;So how do we solve this problem? In steps JavaScript to save the day!&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;H2&gt;Two worlds come together&lt;/H2&gt;
&lt;P&gt;To solve this issue, we’ll use JavaScript to change the size of the Silverlight plugin container.&lt;/P&gt;
&lt;P&gt;First we need to make a couple of adjustments to the Silverlight plugin tag, we’re adding a OnPluginLoaded event which I’ve set up to call the JavaScript function “PluginLoaded”. That function will be used to get a JavaScript reference to the Silverlight plugin object.&lt;/P&gt;
&lt;P&gt;We also set the width of the plugin to 20(the width of our button), this so that our button appears but the rest of the Silverlight area isn’t hindering us from interacting with the HTML. As we’re not changing the height there will be a narrow strip left but if we really wanted to we’d just change that as well.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_40.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_40.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=87 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_18.png" width=448 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_18.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Next we go into our Page.xaml.cs file and add a "using System.Windows.Browser; " then modify our Click event handler to what's shown below. &lt;BR&gt;&lt;BR&gt;Then once we have the System.Windows.Browser using statement in place, we can use HTMLPage.Window to get a reference to the browser window and thereby interact with it from our managed code!&amp;nbsp; CreateInstance, simple calls and executes the JavaScript methods defined.&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;private void myButton_Click(object sender, RoutedEventArgs e) &lt;BR&gt;{ &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; if (state == "out") &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VisualStateManager.GoToState(this, "In", true); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;HtmlPage.Window.CreateInstance("GrowHorisontal"); &lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state = "in"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myButton.Content = "&amp;lt;"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; else &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; VisualStateManager.GoToState(this, "Out", true); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; state = "out"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; myButton.Content = "&amp;gt;"; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;STRONG&gt;HtmlPage.Window.CreateInstance("DelayedShrink"); &lt;BR&gt;&lt;/STRONG&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Next step is to add the necessary JavaScript functions to the header section of out aspx page:&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&amp;lt;head runat="server"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;script type="text/javascript"&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; var slCtl = null; &lt;BR&gt;&lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function pluginLoaded(sender) &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp; // Get a refernce to the Silverlight plugin when the page loads &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; slCtl&amp;nbsp; = sender.get_element(); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&amp;nbsp;&amp;nbsp; &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function GrowHorisontal() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Grow the width &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; slCtl.style.width='220px'; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function DelayedShrink() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; { &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; //Delay the call to the actual shrink function to let the animation finish before shrinking the area &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; setTimeout(ShrinkHorisontal, 500); &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;/P&gt;
&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; function ShrinkHorisontal() &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&amp;nbsp; //Shrink the area &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; slCtl.style.width='20px'; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; } &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;/script&amp;gt; &lt;BR&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;title&amp;gt;Test Page For SL2Beta2FlyoutDemo&amp;lt;/title&amp;gt; &lt;BR&gt;&amp;lt;/head&amp;gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Pheew, well the good news is, we’re almost done!&lt;/P&gt;
&lt;P&gt;The only real thing that remains is to set the PluginBackground to Transparent and we’re done, if you’ve made it this far, give yourself a pat on the shoulder from me, well done for sticking with it. &lt;IMG alt=:) src="http://michaelsync.net/wp-includes/images/smilies/icon_smile.gif" mce_src="http://michaelsync.net/wp-includes/images/smilies/icon_smile.gif"&gt;&lt;/P&gt;
&lt;P&gt;The final thing I did was to set the background colour of the HTML body back to white to better see the Silverlight UI.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_42.png" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_42.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=277 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_19.png" width=356 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SilverightFlyoutPanel_13ED7/image_thumb_19.png"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;H2&gt;Conclusion&lt;/H2&gt;
&lt;P&gt;Using the new Visual Sate Manger we were able to very easily create a animated Silverlight and using JavaScript and CSS we dynamically slid the Silverlight on top of the HTML without hindering interaction with the HTML. &lt;BR&gt;&lt;STRONG&gt;References:&lt;/STRONG&gt;&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://weblogs.asp.net/olakarlsson/archive/2008/04/18/semi-transparent-silverlight-on-top-of-html.aspx" mce_href="http://weblogs.asp.net/olakarlsson/archive/2008/04/18/semi-transparent-silverlight-on-top-of-html.aspx"&gt;Semi transparent Silverlight on top of HTML&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://msdn.microsoft.com/en-us/library/cc221359(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc221359(VS.95).aspx"&gt;Walkthrough: Calling JavaScript from Managed Code&lt;/A&gt;&lt;/LI&gt;
&lt;LI&gt;&lt;A href="http://silverlight.net/learn/learnvideo.aspx?video=56940" target=_blank mce_href="http://silverlight.net/learn/learnvideo.aspx?video=56940"&gt;Add states to a usercontrol for Silverlight 2&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;&lt;A title=http://msdn.microsoft.com/en-us/library/cc221359(VS.95).aspx href="http://msdn.microsoft.com/en-us/library/cc221359(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc221359(VS.95).aspx"&gt;&lt;/A&gt;&lt;/P&gt;</description><pubDate>Fri, 01 Aug 2008 12:19:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/silverightflyoutpanel</guid><category>Silverlight 2</category><category>Visual State Manager</category><category>web development</category></item><item><title>Results of the "Silverlight: Write and Win contest"</title><link>https://weblogs.asp.net:443/olakarlsson/results-of-the-quot-silverlight-write-and-win-contest-quot</link><description>&lt;P&gt;As I mentioned in my last post, I entered an article in the &lt;A href="http://michaelsync.net/2008/06/30/silverlight-2-beta2-contest-extended-more-cash-prize-for-winners" mce_href="http://michaelsync.net/2008/06/30/silverlight-2-beta2-contest-extended-more-cash-prize-for-winners"&gt;"Silverlight: Write and Win contest"&lt;/A&gt; run by Michael Sync over at his blog.&lt;/P&gt;
&lt;P&gt;Well, &lt;A href="http://michaelsync.net/2008/07/27/congratulations-to-the-winners-of-silverlight-2-write-and-win-contesthttp://michaelsync.net/2008/07/27/congratulations-to-the-winners-of-silverlight-2-write-and-win-contest" target=_blank mce_href="http://michaelsync.net/2008/07/27/congratulations-to-the-winners-of-silverlight-2-write-and-win-contesthttp://michaelsync.net/2008/07/27/congratulations-to-the-winners-of-silverlight-2-write-and-win-contest"&gt;the results&lt;/A&gt; have been published and I was happily surprised to find that &lt;A href="http://michaelsync.net/2008/07/25/silveright-flyoutpanel-by-ola-karlsson" mce_href="http://michaelsync.net/2008/07/25/silveright-flyoutpanel-by-ola-karlsson"&gt;my article&lt;/A&gt; with the somewhat cryptic name "Silveright FlyoutPanel", actually ended up in second place!! :)&lt;/P&gt;
&lt;P&gt;I must say I'm very happy with the result, especially after having to pull a couple of really late nights to get the article in on time. If you happen to have read the article over at Michael's blog and voted for it, thank you very much :)&lt;/P&gt;
&lt;P&gt;As far as the name "Silveright FlyoutPanel" goes, basically the article describes how to create an animated sliding panel in Silverlight, and then laying it on top of an existing html page without restricting the access to the html content.&lt;/P&gt;
&lt;P&gt;I need to make a couple minor changes to the article then I'll put it up here as well and make the source available.&lt;/P&gt;</description><pubDate>Fri, 01 Aug 2008 05:11:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/results-of-the-quot-silverlight-write-and-win-contest-quot</guid><category>community</category><category>Personal</category><category>Silverlight 2</category></item><item><title>Silverlight 2 writing competition</title><link>https://weblogs.asp.net:443/olakarlsson/silverlight-2-writing-competition</link><description>&lt;P mce_keep="true"&gt;If you've not come across it yet, Michael Sync is running a conpetition for best Silverlight 2 article over at his blog &lt;A href="http://michaelsync.net/"&gt;http://michaelsync.net/&lt;/A&gt;.&lt;/P&gt;
&lt;P mce_keep="true"&gt;There's about 10 or so submissions on various Silverlight 2 topics, all&amp;nbsp;well worth checking out.&lt;/P&gt;
&lt;P mce_keep="true"&gt;And while you're over there din't miss the chance to vote for my article &lt;A class="" href="http://michaelsync.net/2008/07/25/silveright-flyoutpanel-by-ola-karlsson" mce_href="http://michaelsync.net/2008/07/25/silveright-flyoutpanel-by-ola-karlsson"&gt;Silveright FlyoutPanel&lt;/A&gt;&amp;nbsp; ;)&lt;/P&gt;
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;</description><pubDate>Sun, 27 Jul 2008 04:44:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/silverlight-2-writing-competition</guid><category>community</category><category>Silverlight</category></item><item><title>Web services, VSM, DOM interaction and other goodies</title><link>https://weblogs.asp.net:443/olakarlsson/web-services-vsm-dom-interaction-and-other-goodies</link><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;I&amp;#8217;ve been playing around with a pet project lately calling web services, using VSM and interacting with the DOM etc.and I've finally gotten it to a state where I reckon it's wort show it to people without feeling ashamed ;)&lt;/p&gt;  &lt;p&gt;I&amp;#8217;ve implemented it on &lt;a href="http://www.olakarlsson.com/"&gt;http://www.olakarlsson.com/&lt;/a&gt; , excuse the sparseness of the site, it&amp;#8217;s a work in progress ;),&amp;#160; what you&amp;#8217;re looking for though is in the upper left corner of the browser window, it&amp;#8217;s the &amp;#8220;myFlickr&amp;#8221; button.&lt;/p&gt;  &lt;p&gt;I&amp;#8217;m planning on trying to do a proper write up about it at some stage but to family commitments, it might not happen for a while....&lt;/p&gt;  &lt;p&gt;A quick glance at the things that have gone in there however&lt;/p&gt;  &lt;p&gt;&amp;#183; Calling Flickr Web service&lt;/p&gt;  &lt;p&gt;&amp;#183; Using VSM for the UI&lt;/p&gt;  &lt;p&gt;&amp;#183; Some Templates for the buttons&lt;/p&gt;  &lt;p&gt;&amp;#183; Interaction with the HTML Dom and JS&lt;/p&gt;  &lt;p&gt;The big one in my opinion, and which I&amp;#8217;m pretty please with how it worked out is, that the flyout overlays the HTML but when it&amp;#8217;s in the &amp;#8220;out&amp;#8221; state, it takes the div for the Silverlight HTML plugin with it, out of the window, so You can still interact with the HTML underneath, I hope that makes sense.&lt;/p&gt;  &lt;p&gt;There&amp;#8217;s some work still to be done, especially in the transitions between different states and some of the button effects etc., also it would be nice to pull in the info about the selected image from Flickr. But that's for version2 :)&lt;/p&gt;  &lt;p&gt;Any constructive feedback is welcome.&lt;/p&gt;  &lt;p&gt;Cheers,&lt;/p&gt;  &lt;p&gt;Ola&lt;/p&gt;</description><pubDate>Tue, 01 Jul 2008 17:16:40 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/web-services-vsm-dom-interaction-and-other-goodies</guid><category>Expression Blend</category><category>html</category><category>Silverlight</category><category>Silverlight 2</category><category>VSM</category><category>web development</category><category>XAML</category></item><item><title>Silverlight 2 Beta 2 has been released</title><link>https://weblogs.asp.net:443/olakarlsson/silverlight-2-beta-2-has-been-released</link><description>&lt;FONT face="Times New Roman" size=3&gt;Following my post last week about the imminent release of Silverlight 2 Beta 2, I thought I'd better point out to anyone who might have missed it, although I'm&amp;nbsp;not sure how you would have if you have any interest in Silverlight ;). That Beta 2 has now been released, ScottGu the source of all knowledge, when it&amp;nbsp;comes to Asp.Net related technologies has a &lt;/FONT&gt;&lt;A href="http://weblogs.asp.net/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx" mce_href="/scottgu/archive/2008/06/06/silverlight-2-beta2-released.aspx"&gt;&lt;SPAN style="mso-fareast-font-family: Calibri; mso-fareast-theme-font: minor-latin"&gt;&lt;FONT face="Times New Roman" color=#800080 size=3&gt;post describing some of the changes&lt;/FONT&gt;&lt;/SPAN&gt;&lt;/A&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt; and linking to even more detailed resources. &lt;?xml:namespace prefix = o ns = "urn:schemas-microsoft-com:office:office" /&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt;&lt;FONT size=3&gt;&lt;FONT face="Times New Roman"&gt;Happy coding everyone :)&lt;o:p&gt;&lt;/o:p&gt;&lt;/FONT&gt;&lt;/FONT&gt; 
&lt;P mce_keep="true"&gt;&amp;nbsp;&lt;/P&gt;</description><pubDate>Mon, 09 Jun 2008 13:23:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/silverlight-2-beta-2-has-been-released</guid><category>Community News</category><category>Silverlight 2</category></item><item><title>Silverlight 2 beta 2 available this week!!</title><link>https://weblogs.asp.net:443/olakarlsson/silverlight-2-beta-2-available-this-week</link><description>&lt;P mce_keep="true"&gt;I don't usually post news etc. as I think there are plenty of other people doing a good job in that area. &lt;/P&gt;
&lt;P mce_keep="true"&gt;However&amp;nbsp;I just saw something that got me really exited, Bill Gates announced today at &lt;A class="" href="http://www.microsoft.com/events/teched2008/developer/default.mspx" target=_blank mce_href="http://www.microsoft.com/events/teched2008/developer/default.mspx"&gt;Microsoft Tech·Ed North America 2008 Developers&lt;/A&gt; that &lt;A class="" href="http://www.microsoft.com/presspass/press/2008/jun08/06-03TechEdDevPR.mspx" target=_blank mce_href="http://www.microsoft.com/presspass/press/2008/jun08/06-03TechEdDevPR.mspx"&gt;Silverlight 2 beta 2 will be available this week&lt;/A&gt;! &lt;/P&gt;
&lt;P mce_keep="true"&gt;And why is this sooo exiting, well for one thing it's one step closer to being RTW (Released To Web) it's also bound to have some bug fixes and possible some new features. However the really big deal is that it comes with a commercial Go Live license! So now we can finally start using Silverlight 2 in real world projects for clients.&lt;/P&gt;
&lt;P mce_keep="true"&gt;Aside from&amp;nbsp;looking forward to starting building real apps in Silverlight 2 myself,&amp;nbsp;I'm also very much&amp;nbsp;looking forward to seeing what other people will come up with now that it's commercially available.&lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;Update:&lt;/STRONG&gt; The folks over at the&amp;nbsp;Silverlight SDK Blog now has a&lt;A class="" href="http://blogs.msdn.com/silverlight_sdk/archive/2008/06/03/silverlight-2-beta-2-releasing-soon.aspx" mce_href="http://blogs.msdn.com/silverlight_sdk/archive/2008/06/03/silverlight-2-beta-2-releasing-soon.aspx"&gt; post that mentions some of the changes&lt;/A&gt; that we'll be seeing in Beta 2.&lt;/P&gt;</description><pubDate>Tue, 03 Jun 2008 15:21:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/silverlight-2-beta-2-available-this-week</guid><category>Community News</category><category>Silverlight 2</category></item><item><title>Silverlight, Microsoft's Flash Killer - NOT</title><link>https://weblogs.asp.net:443/olakarlsson/silverlight-microsoft-s-flash-killer</link><description>&lt;P&gt;As an early adopter of Silverlight etc. the one phrase that grates me each time I hear or read it is "Silverlight, Microsoft’s Flash killer". &lt;/P&gt;
&lt;P&gt;And why does it so bother me? Well in my mind it's not a matter of one technology killing the other! As with most technologies, I believe that they'll quite happily live side by side, some people favouring one, some the other.&lt;/P&gt;
&lt;P&gt;At least for the foreseeable future, it's not even a matter of who's got the bigger feature set etc., the hard reality, like it or not, is that corporate enterprise type of companies favours Microsoft technologies just like they lean towards Microsoft over open source solutions. While the smaller more fast moving Web 2.0 type companies favour technologies like Ruby on Rails, Flash/Flex and often use open source software.&lt;/P&gt;
&lt;P&gt;I recently read a very interesting blog post called &lt;A class="" href="http://jessewarden.com/2008/03/post-microsoft-mix-2008-thoughts.html" target=_blank mce_href="http://jessewarden.com/2008/03/post-microsoft-mix-2008-thoughts.html"&gt;Post Microsoft MIX 2008 Thoughts&lt;/A&gt;, it's by a Flex/Flash developer called &lt;A class="" href="http://jessewarden.com/about" target=_blank mce_href="http://jessewarden.com/about"&gt;Jesse Warden&lt;/A&gt; and it gives an interesting insight into how Silverlight is probably viewed by many in the Adobe Flash/Flex camp. &lt;BR&gt;&lt;BR&gt;The post is well written and fairly objective (not much of the MS bashing you might expect from a Flex/Flash developer), it covers his impressions of MIX 2008 and especially the Silverlight related topics that were demoed there. One thing that has stuck in my mind after reading it is how he felt frustrated over the "oohs" and "aahs" of the audience, over things now possible with Silverlight 2 but which according to him have been easily achieved with Flex and Flash for quite some time.&lt;/P&gt;
&lt;P&gt;That exact type of thing however is one of the main reasons, which makes me believe that the feature set of the technologies play a lesser role than most may think. &lt;/P&gt;
&lt;P&gt;Most people developing in the .Net space, who are often mainly focused on corporate enterprise type applications, just simply don't know anything about what is or isn't possible with technologies like Flex/Flash.&lt;/P&gt;
&lt;P&gt;If we lived in a perfect world, we would all live and play together, .Net developers and architects with experience in building large scale enterprise applications, would be bringing their skills end experiences to the table. While the often more UX focused Flex and Flash developers would be bringing their expertise in building visually compelling and well functioning user interfaces along and together we'd be creating truly great User Experiences for the end users.&lt;/P&gt;
&lt;P&gt;&lt;BR&gt;One can but dream ;)&lt;/P&gt;</description><pubDate>Tue, 20 May 2008 15:39:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/silverlight-microsoft-s-flash-killer</guid><category>Flash</category><category>Flex</category><category>Rant</category><category>Silverlight</category></item><item><title>Semi transparent Silverlight on top of HTML</title><link>https://weblogs.asp.net:443/olakarlsson/semi-transparent-silverlight-on-top-of-html</link><description>&lt;P&gt;My last post was about laying &lt;A href="http://weblogs.asp.net/olakarlsson/archive/2008/04/16/silverlight-on-top-of-html.aspx" mce_href="http://weblogs.asp.net/olakarlsson/archive/2008/04/16/silverlight-on-top-of-html.aspx"&gt;Silverlight on top of HTML&lt;/A&gt;, using CSS for positioning and ordering of the layers. &lt;/P&gt;
&lt;P&gt;However one thing that had me stumped for a bit was how to set the transparency on the Silverlight area. Surely it can't be that hard!?&lt;/P&gt;
&lt;H3&gt;Lessons learned&lt;/H3&gt;
&lt;P&gt;In my previous post I mentioned, possibly using the CSS opacity setting on the &amp;lt;object&amp;gt; tag to achieve the goal. Having had a play around, I found that, yes you can do it that way, and it seems to work fine (keep in mind different browsers support it &lt;A href="http://css-tricks.com/css-transparency-settings-for-all-broswers/" mce_href="http://css-tricks.com/css-transparency-settings-for-all-broswers/"&gt;somewhat differently&lt;/A&gt;). However there is a much simpler and neater way of doing it. &lt;/P&gt;
&lt;P&gt;In the default test page that gets created the &amp;lt;object&amp;gt; tag takes a parameter named background , this gave me the first clue.&lt;/P&gt;
&lt;P&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SilverlightControlHost_2.jpg" mce_href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SilverlightControlHost_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; BORDER-RIGHT-WIDTH: 0px" height=171 alt=SilverlightControlHost src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SilverlightControlHost_thumb.jpg" width=585 border=0 mce_src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SilverlightControlHost_thumb.jpg"&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P&gt;Next I saw &lt;A href="http://delicategeniusblog.com/" mce_href="http://delicategeniusblog.com/"&gt;Michael Kordahi's&lt;/A&gt; example of overlaying &lt;A href="http://delicategeniusblog.com/projects/dragalicious/overlay_proto/" mce_href="http://delicategeniusblog.com/projects/dragalicious/overlay_proto/"&gt;SL on top of HTML&lt;/A&gt; and got some ideas from how he was doing things, the problem was that he was using the SL 1.0 way of calling up the silverlight using the createSilverlight() in a silverlight.js file etc. So I had to figure out how to translate that into what I was doing, it would seem pretty basic. Michael was passing in the following as part of his javascript call to create the Silverlight object. background:'transparent', isWindowless: 'true'. However passing in those as parameters to my HTML objet tag didn't work. &lt;/P&gt;
&lt;P&gt;To make what was a pretty long story short( the long version including me stumbling around trying to figure things out) , here is what I learned. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;A.&lt;/STRONG&gt; There seems to be some issues with &lt;STRONG&gt;passing in parameters to HTML &amp;lt;object&amp;gt;,&lt;/STRONG&gt; I got caught out a few times making changes then refreshing the page and nothing happening (making me think I was doing it wrong), this went on until I found some resources confirming that I was in fact doing it the right way. Once I started closing and restarting the browser between changes, things worked a lot better. &lt;BR&gt;&lt;BR&gt;&lt;STRONG&gt;B.&lt;/STRONG&gt; The &lt;STRONG&gt;background and windowless attributes seem to be SL2 specific ones&lt;/STRONG&gt;. Looking at various resources (including both &lt;A href="http://www.w3.org/TR/REC-html40/struct/objects.html" target=_blank&gt;W3C&lt;/A&gt; and &lt;A href="http://msdn.microsoft.com/en-us/library/ms535859(VS.85).aspx#" target=_blank&gt;Microsoft&lt;/A&gt;) covering the HTML &amp;lt;object&amp;gt; tag gave me no information, however eventually I came upon &lt;A href="http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/03/16/silverlight-2-amp-createsilverlight.aspx" target=_blank&gt;this blog post by Alex Golesh&lt;/A&gt;, that briefly talks about the difference in between SL2 and CreateSilverlight(), this post in itself didn't really tell me what I wanted to know but it pointed me onwards and evetually I found my way to the Microsoft SL2 documentation about &lt;A href="http://msdn.microsoft.com/en-us/library/cc189089(VS.95).aspx#" target=_blank&gt;Instantiating a Silverlight Plug-In&lt;/A&gt;. You can tell it's beta documentation but at least it's got some info, I guess this was a lesson learnt, start by looking at the MS documentation, then hit the web.&lt;/P&gt;
&lt;H3&gt;So, on to the actual solution!&lt;/H3&gt;
&lt;P&gt;As I said it seems like it should be pretty simple, and guess what, it is! There's two steps, first edit the hosting page, then make the necessary modifications to the XAML. &lt;BR&gt;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Step 1&lt;/STRONG&gt;&amp;nbsp; &lt;/H4&gt;
&lt;P&gt;If you're hosting your SL in a HTML page, set the background parameter to transparent and the windowless parameter to true. Also keep in mind the size, building a full SL app this is usually set to 100% width and height, however if we want to use it together with the HTML, we want to change it to match the actual size of your XAML/Silverlight element. &lt;BR&gt;&lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SL-HTML_4.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 10px 0px 5px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=82 alt=SL-HTML src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SL-HTML_thumb_1.jpg" width=610 border=0&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;If you're hosting it in a aspx page using the SL2 Silverlight control, you want to do the same adjustments as above, adjust the size, then add the parameters PluginBackground and Windowless. &lt;BR&gt;&lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SL-ASPX_4.jpg"&gt;&lt;IMG style="BORDER-RIGHT: 0px; BORDER-TOP: 0px; MARGIN: 10px 0px 5px; BORDER-LEFT: 0px; BORDER-BOTTOM: 0px" height=131 alt=SL-ASPX src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SL-ASPX_thumb_1.jpg" width=600 border=0&gt;&lt;/A&gt; &lt;BR&gt;&lt;BR&gt;As per usual when working with server controls you can either change things in code as per above or use the properties window as below. &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SL-Properties_2.jpg"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 10px 0px 5px; BORDER-RIGHT-WIDTH: 0px" height=200 alt=SL-Properties src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_AFC5/SL-Properties_thumb.jpg" width=244 border=0&gt;&lt;/A&gt; &lt;/P&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;H4&gt;&lt;STRONG&gt;Step 2&lt;/STRONG&gt;&lt;/H4&gt;
&lt;P mce_keep="true"&gt;&lt;STRONG&gt;&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;Adjust the opacity/transparency of the XAML, this can be done in a few different ways and they have slightly different outcomes.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Option 1&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;Setting the opacity of the user control &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_2.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 10px 0px 5px; BORDER-RIGHT-WIDTH: 0px" height=98 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_thumb.png" width=567 border=0&gt;&lt;/A&gt; &lt;BR&gt;Or on the LayoutRoot element &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_6.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 10px 0px 5px; BORDER-RIGHT-WIDTH: 0px" height=148 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_thumb_2.png" width=562 border=0&gt;&lt;/A&gt;&amp;nbsp; &lt;BR&gt;Gives the following result &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_4.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 10px 0px 5px; BORDER-RIGHT-WIDTH: 0px" height=281 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_thumb_1.png" width=417 border=0&gt;&lt;/A&gt; &lt;BR&gt;The thing to notice here is that &lt;STRONG&gt;the opacity setting is inherited by the children&lt;/STRONG&gt; of the control it's set on. &lt;BR&gt;Hence both the canvas and the button are effected in both cases.&lt;/P&gt;
&lt;H5&gt;&lt;STRONG&gt;Option 2&lt;/STRONG&gt;&lt;/H5&gt;
&lt;P&gt;A slightly different and most of the time a probably, a more appropriate way of setting the transparency/opacity, is to set the background of the LayoutRoot, to the hexadecimal representation of a &lt;A href="http://msdn.microsoft.com/en-us/library/bb980062.aspx" target=_blank&gt;colour&lt;/A&gt; and include the alpha transparency. &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_8.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 10px 0px 5px; BORDER-RIGHT-WIDTH: 0px" height=123 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_thumb_3.png" width=487 border=0&gt;&lt;/A&gt; &lt;BR&gt;Which gives us the following result, where the background is semi transparent but the button is not affected. &lt;BR&gt;&lt;A href="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_10.png"&gt;&lt;IMG style="BORDER-TOP-WIDTH: 0px; BORDER-LEFT-WIDTH: 0px; BORDER-BOTTOM-WIDTH: 0px; MARGIN: 10px 0px 0px; BORDER-RIGHT-WIDTH: 0px" height=284 alt=image src="https://aspblogs.blob.core.windows.net/media/olakarlsson/WindowsLiveWriter/SemitransparentSilverlightontopofHTML_13C15/image_thumb_4.png" width=427 border=0&gt;&lt;/A&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;Hope you find this useful, I've definitely found that resources in regards to this seems a bit sparse at the moment. And the ones that are out there can be a bit tricky to find.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Links &lt;BR&gt;&lt;/STRONG&gt;&lt;BR&gt;Blog post by Malky Wullur on overlaying Silverligth on top of Virtual Earth, very cool. &lt;BR&gt;&lt;A title=http://geeks.netindonesia.net/blogs/malky/archive/2008/04/16/route-animation-silverlight-with-virtual-earth.aspx href="http://geeks.netindonesia.net/blogs/malky/archive/2008/04/16/route-animation-silverlight-with-virtual-earth.aspx" mce_href="http://geeks.netindonesia.net/blogs/malky/archive/2008/04/16/route-animation-silverlight-with-virtual-earth.aspx"&gt;http://geeks.netindonesia.net/blogs/malky/archive/2008/04/16/route-animation-silverlight-with-virtual-earth.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Post by Alex Golesh on Instantiating a Silverlight Plug-In &lt;BR&gt;&lt;A title=http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/03/16/silverlight-2-amp-createsilverlight.aspx href="http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/03/16/silverlight-2-amp-createsilverlight.aspx" mce_href="http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/03/16/silverlight-2-amp-createsilverlight.aspx"&gt;http://blogs.microsoft.co.il/blogs/alex_golesh/archive/2008/03/16/silverlight-2-amp-createsilverlight.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Using Silverlight.js &lt;BR&gt;&lt;A title=http://msdn.microsoft.com/en-us/library/cc265155(VS.95).aspx href="http://msdn.microsoft.com/en-us/library/cc265155(VS.95).aspx" mce_href="http://msdn.microsoft.com/en-us/library/cc265155(VS.95).aspx"&gt;http://msdn.microsoft.com/en-us/library/cc265155(VS.95).aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Instantiating a Silverlight Plug-In (Silverlight 2) &lt;BR&gt;&lt;A title=http://msdn.microsoft.com/en-us/library/cc189089(VS.95).aspx# href="http://msdn.microsoft.com/en-us/library/cc189089(VS.95).aspx#" mce_href="http://msdn.microsoft.com/en-us/library/cc189089(VS.95).aspx#"&gt;http://msdn.microsoft.com/en-us/library/cc189089(VS.95).aspx#&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;HTML Objects &lt;BR&gt;&lt;A title=http://msdn.microsoft.com/en-us/library/ms535859(VS.85).aspx# href="http://msdn.microsoft.com/en-us/library/ms535859(VS.85).aspx#" mce_href="http://msdn.microsoft.com/en-us/library/ms535859(VS.85).aspx#"&gt;http://msdn.microsoft.com/en-us/library/ms535859(VS.85).aspx#&lt;/A&gt;&lt;/P&gt;</description><pubDate>Fri, 18 Apr 2008 05:24:00 GMT</pubDate><guid isPermaLink="true">https://weblogs.asp.net:443/olakarlsson/semi-transparent-silverlight-on-top-of-html</guid><category>html</category><category>Silverlight</category><category>web development</category><category>XAML</category></item></channel></rss>