<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>WPF and SilverLight</title><link>http://franksworld.com/blog/category/47.aspx</link><description>It's shiny and it's new and it's so damned cool</description><managingEditor>Frank</managingEditor><dc:language>en-US</dc:language><generator>.Text Version 0.95.2004.102</generator><item><dc:creator>Frank</dc:creator><title>Making Your WPF Applications Speak</title><link>http://franksworld.com/blog/archive/2008/05/08/10934.aspx</link><pubDate>Thu, 08 May 2008 12:16:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/05/08/10934.aspx</guid><description>&lt;p&gt;It's amazingly easy to add speech synthesis to WPF applications.&lt;/p&gt; &lt;p&gt;WPF's speech synthesis capabilities are often lost in the rich feature set of the platform.&lt;/p&gt; &lt;p&gt;Last year, I wrote &lt;a href="http://franksworld.com/blog/archive/2007/05/25/4656.aspx"&gt;a blog post about Speech Synthesis in WPF&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;I thought it would be cool to write an &lt;a href="http://www.developer.com/net/csharp/article.php/3592216"&gt;Extension Method&lt;/a&gt; that encapsulates speech synthesis functionality, so that speaking would be as simple as &lt;/p&gt; &lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 64.14%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 68px; background-color: #f4f4f4"&gt; &lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; sayThis;&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; sayThis.Speak();&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;The code to make this possible is this simple.&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 63.92%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 132px; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;public&lt;/span&gt; &lt;span style="color: #0000ff"&gt;static&lt;/span&gt; &lt;span style="color: #0000ff"&gt;void&lt;/span&gt; Speak (&lt;span style="color: #0000ff"&gt;this&lt;/span&gt; &lt;span style="color: #0000ff"&gt;string&lt;/span&gt; text)&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   2:&lt;/span&gt; {&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   3:&lt;/span&gt;     SpeechSynthesizer synthesizer = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; SpeechSynthesizer();&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   4:&lt;/span&gt;&amp;nbsp; &lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   5:&lt;/span&gt;     synthesizer.SpeakAsync(text);&lt;/pre&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   6:&lt;/span&gt; }&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Be sure to add a reference to System.Speech and add the appropriate using statement.&lt;/p&gt;
&lt;div style="border-right: gray 1px solid; padding-right: 4px; border-top: gray 1px solid; padding-left: 4px; font-size: 8pt; padding-bottom: 4px; margin: 20px 0px 10px; overflow: auto; border-left: gray 1px solid; width: 64.26%; cursor: text; max-height: 200px; line-height: 12pt; padding-top: 4px; border-bottom: gray 1px solid; font-family: consolas, 'Courier New', courier, monospace; height: 52px; background-color: #f4f4f4"&gt;
&lt;div style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: #f4f4f4; border-bottom-style: none"&gt;&lt;pre style="padding-right: 0px; padding-left: 0px; font-size: 8pt; padding-bottom: 0px; margin: 0em; overflow: visible; width: 100%; color: black; border-top-style: none; line-height: 12pt; padding-top: 0px; font-family: consolas, 'Courier New', courier, monospace; border-right-style: none; border-left-style: none; background-color: white; border-bottom-style: none"&gt;&lt;span style="color: #606060"&gt;   1:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;using&lt;/span&gt; System.Speech.Synthesis;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Now if only Speech Synthesis existed in Silverlight. ;)&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:46f12a48-95f5-4c54-819a-7676fb30eae8" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Speech%20Synthesis" rel="tag"&gt;Speech Synthesis&lt;/a&gt;,&lt;a href="http://technorati.com/tags/WPF" rel="tag"&gt;WPF&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Extension%20Methods" rel="tag"&gt;Extension Methods&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10934.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>New Deep Zoom Composer Update Available</title><link>http://franksworld.com/blog/archive/2008/05/07/10931.aspx</link><pubDate>Wed, 07 May 2008 11:37:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/05/07/10931.aspx</guid><description>&lt;p&gt;The Expression team has &lt;a href="http://blogs.msdn.com/expression/archive/2008/05/03/an-update-to-deep-zoom-composer.aspx"&gt;released an update to Deep Zoom Composer&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Among the improvements (see screen shot):&lt;/p&gt; &lt;li&gt;Better Exporting  &lt;li&gt;Improved Design Experience  &lt;li&gt;Better Collection Exports  &lt;li&gt;Better Help Experience&lt;/li&gt; &lt;p align="center"&gt;&lt;img title="exportDZC" height="226" alt="exportDZC" src="http://blogs.msdn.com/blogfiles/expression/WindowsLiveWriter/AnUpdatetoDeepZoomComposer_DE6A/exportDZC_7ee8005b-9ae7-4b82-b525-be71d9f97288.png" width="440" border="0"&gt;&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt;[found via &lt;a href="http://adoguy.com/2008/05/03/Improved_Version_of_Deep_Zoom_Composer_Now_Available.aspx"&gt;Shawn Wildermuth&lt;/a&gt;]&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:142712bc-3d23-48be-be79-9b526a37c1c7" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Deep%20Zoom" rel="tag"&gt;Deep Zoom&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10931.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>First Look at Popfly Game Creator Alpha</title><link>http://franksworld.com/blog/archive/2008/05/02/10925.aspx</link><pubDate>Fri, 02 May 2008 15:16:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/05/02/10925.aspx</guid><description>&lt;p&gt;Adam Nathan and Suzanne Hansen &lt;a href="http://channel9.msdn.com/ShowPost.aspx?PostID=401969#401969"&gt;discuss the Popfly Game Creator in this Channel9 interview&lt;/a&gt;.&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;&lt;a href="http://www.popfly.com"&gt;Popfly Game Creator Alpha&lt;/a&gt; is available today, and it's a brand new tool for building 2D games in Silverlight that requires zero programming to build games. &lt;br&gt;How easy is it to build games? Well in this interview Adam Nathan builds three games from scratch including&lt;br&gt;- A Space invaders clone (3:15 - 23:55)&lt;br&gt;- A 2D car game that plays like "snake" (23:55 - 37:51)&lt;br&gt;- A 2D side scroller with a Ninja fighting rocket chickens (37:51- 55:04)&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;Hmm, I've got some ideas what do to with this technology.&lt;/p&gt; &lt;p&gt;&lt;a href="http://www.franksworld.com/schnauzer/fun/dogpranos/"&gt;Grand Theft Schnauzer&lt;/a&gt;, perhaps? &lt;/p&gt; &lt;p&gt;Or how about the Wedding Planning Marathon?&lt;/p&gt; &lt;p&gt;Players would have to gather wedding items (invites, flowers, etc) while dodging well-meaning, unsolicited advice.&lt;/p&gt; &lt;p&gt;[found via &lt;a href="http://twitter.com/alashcraft"&gt;Alvin Ashcroft's Twitter feed&lt;/a&gt;]&lt;/p&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:95c6be32-e9a7-4d3e-af1a-f2002e2f42ea" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Popfly" rel="tag"&gt;Popfly&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Casual%20Games" rel="tag"&gt;Casual Games&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Game%20Development" rel="tag"&gt;Game Development&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Adam%20Nathan" rel="tag"&gt;Adam Nathan&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Suzanne%20Hansen" rel="tag"&gt;Suzanne Hansen&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10925.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>More Silverlight Mobile Deep Thoughts</title><link>http://franksworld.com/blog/archive/2008/04/29/10920.aspx</link><pubDate>Tue, 29 Apr 2008 16:17:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/29/10920.aspx</guid><description>&lt;p&gt;Previously, I &lt;a href="http://franksworld.com/blog/archive/2008/04/10/10889.aspx"&gt;posted a list of questions about Silverlight Mobile&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;Here's one more I thought of since then: accessibility.&lt;/p&gt; &lt;p&gt;Accessibility comes to Silverlight in version 2, but is missing in 1.0.&lt;/p&gt; &lt;p&gt;That's a issue for a lot of people, but it could pose significant trouble for Silverlight Mobile.&lt;/p&gt; &lt;p&gt;Without the tab stops, focus, etc, how will Silverlight apps work on phones without touch screens?&lt;/p&gt; &lt;p&gt;This wouldn't necessarily be a show stopper, but it ought to make UI designers think very carefully about Silverlight 1.0 app design.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:76121788-5b49-40d1-b670-10725b6fa71c" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight%20Mobile" rel="tag"&gt;Silverlight Mobile&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10920.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>Silverlight DevCamp Coming to Seattle</title><link>http://franksworld.com/blog/archive/2008/04/23/10917.aspx</link><pubDate>Wed, 23 Apr 2008 12:22:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/23/10917.aspx</guid><description>&lt;P&gt;&lt;A href="http://www.brockett.net/silverlightdevcampseattle/"&gt;Kurt Brockett announces&lt;/A&gt; the newest city on the Silverlight DevCamp list: Seattle.&lt;/P&gt;
&lt;P align=center&gt;&lt;A href="http://www.flickr.com/search/?q=silverlightdevcampsf"&gt;&lt;IMG height=100 alt="" src="http://www.brockett.net/silverlightdevcampseattle/wp-content/uploads/2008/04/silverlightdevcamp.png" width=600 border=0&gt;&lt;/A&gt;&lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;Get your Visual Studio 2008 and Expression Blend 2.5 March/April/May/June installs all squared away because come June 13th you want to be ready to rock for SilverlightDevCampSeattle! 
&lt;P&gt;We&amp;#8217;ve set the date and gotten some interweb logistics setup and now it&amp;#8217;s up to YOU as the community to help make this event rock. In &lt;A href="http://www.barcamp.org/TheRulesOfBarCamp"&gt;BarCamp style&lt;/A&gt; this event is for you, by you. I&amp;#8217;m here to help keep all our ducks in a row but it&amp;#8217;s up to the attendees to make great sessions and up to hopefully some willing &lt;A href="http://www.brockett.net/silverlightdevcampseattle/?page_id=6"&gt;sponsors&lt;/A&gt; to help grease the wheels. 
&lt;P&gt;Email us at &lt;STRONG&gt;silverlightdevcamp@live.com&lt;/STRONG&gt; if you&amp;#8217;d like to help out and be sure to sign up on &lt;A href="http://upcoming.yahoo.com/event/495487"&gt;upcoming&lt;/A&gt;, participate on &lt;A href="http://www.barcamp.org/SilverlightDevCampSeattle"&gt;barcamp&lt;/A&gt; and most importantly bust out MSPaint and Expression Blend and do us up a proper &lt;A href="http://www.brockett.net/silverlightdevcampseattle/?page_id=6"&gt;SilverlightDevCamp Seattle Logo&lt;/A&gt;.&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Hmm, I think I have some ideas for a logo. :)&lt;/P&gt;
&lt;P&gt;I do have the Silverlight DevCamp banner and I'm excited to see it continue its cross-country journey.&lt;/P&gt;
&lt;P&gt;You know I do have unused plane tickets to Seattle that I was going to use to go to the MVP Summit. ;)&lt;/P&gt;
&lt;P&gt;[found via &lt;A href="http://wpfwonderland.wordpress.com/2008/04/22/seattle-silverlight-camp-on-june-132008/"&gt;Walt Ritscher&lt;/A&gt;]&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:6000d93b-d5d3-49cc-85c9-49d2cd69e869 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Silverlight" rel=tag&gt;Silverlight&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Silverlight%20DevCamp" rel=tag&gt;Silverlight DevCamp&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Seattle" rel=tag&gt;Seattle&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Kurt%20Brockett" rel=tag&gt;Kurt Brockett&lt;/A&gt;&lt;/DIV&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10917.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>CapArea.NET Silverlight Meeting Recap</title><link>http://franksworld.com/blog/archive/2008/04/23/10916.aspx</link><pubDate>Wed, 23 Apr 2008 12:17:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/23/10916.aspx</guid><description>&lt;p&gt;&lt;a href="http://community.irritatedvowel.com/blogs/pete_browns_blog/default.aspx"&gt;Pete Brown&lt;/a&gt; gave a great presentation last night on Silverlight at &lt;a href="http://www.caparea.net/"&gt;the CapArea.NET User Group&lt;/a&gt;. &lt;/p&gt; &lt;p&gt;Turnout was great and the crowd got really involved.&lt;/p&gt; &lt;p&gt;It's always nice to see people's eyes light up when they discover what Silverlight can do.&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:b73c23fc-e8cf-40e6-8cf7-b25f08afe993" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Pete%20Brown" rel="tag"&gt;Pete Brown&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10916.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>Silverlight Cross Domain Policy File Checker</title><link>http://franksworld.com/blog/archive/2008/04/17/10907.aspx</link><pubDate>Thu, 17 Apr 2008 17:37:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/17/10907.aspx</guid><description>&lt;P&gt;In order to make Cross Domain calls in Silverlight 2 applications, the server you wish to download data from must have a Policy File in place that allows access to your site. &lt;/P&gt;
&lt;P&gt;I just wrote &lt;A href="http://www.franksworld.com/Utilities/CrossDomainPolicyChecker/Default.aspx"&gt;a handy little utility&lt;/A&gt; to quickly determine whether or not a site has any cross domain policy files.&lt;/P&gt;
&lt;P&gt;The &lt;A href="http://www.franksworld.com/Utilities/CrossDomainPolicyChecker/Default.aspx"&gt;Silverlight Cross Domain Policy File Checker&lt;/A&gt; has a long name, but it's really simple to use.&lt;/P&gt;
&lt;P&gt;Just enter the domain you'd like to examine and click Examine Domain.&lt;/P&gt;
&lt;P&gt;It checks the site and tells you whether or not a file exists at that URL.&lt;/P&gt;
&lt;P&gt;It even looks for the Flash CrossDomain.xml file, which Silverlight also uses.&lt;/P&gt;
&lt;P&gt;If the&amp;nbsp;utility finds a file, then it displays the contents of the file in a text box for easy copying and pasting.&lt;/P&gt;
&lt;P&gt;If there are no Cross Domain Policy files or the policy files do not allow HTTP requests from your domain, then you'll need to &lt;A href="http://franksworld.com/blog/archive/2008/04/15/10903.aspx"&gt;use a proxy like the one I wrote.&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;What's particularly interesting is to see the URLs that sites have granted cross domain access to.&lt;/P&gt;
&lt;P&gt;For example, Twitter has allowed cross domain access from the following domains:&lt;/P&gt;
&lt;UL&gt;
&lt;LI&gt;&lt;A href="http://discoveringradiance.com"&gt;discoveringradiance.com&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://umusic.com"&gt;umusic.com&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://hippo.com.au/"&gt;hippo.com.au&lt;/A&gt; 
&lt;LI&gt;&lt;A href="http://ediecareplan.com/"&gt;ediecareplan.com&lt;/A&gt;&lt;/LI&gt;&lt;/UL&gt;
&lt;P&gt;I wonder what other surprises lie hidden in other site's cross domain files.&lt;/P&gt;
&lt;P&gt;&amp;nbsp;&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:4d6ae9f6-9d0e-49d4-953a-dc630a706686 style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Silverlight" rel=tag&gt;Silverlight&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Cross%20Domain" rel=tag&gt;Cross Domain&lt;/A&gt;,&lt;A href="http://technorati.com/tags/utility" rel=tag&gt;utility&lt;/A&gt;&lt;/DIV&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10907.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>Update to My Silverlight Cross Domain Proxy Utility</title><link>http://franksworld.com/blog/archive/2008/04/15/10903.aspx</link><pubDate>Tue, 15 Apr 2008 17:24:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/15/10903.aspx</guid><description>&lt;P&gt;My &lt;A href="http://franksworld.com/blog/archive/2008/03/18/10814.aspx"&gt;Silverlight 2 Cross Domain Web Proxy Utility&lt;/A&gt; had a slight problem.&lt;/P&gt;
&lt;P&gt;It didn't always play along nicely with Silverlight.&lt;/P&gt;
&lt;P&gt;The problem as explained in &lt;A href="http://support.microsoft.com/kb/312629"&gt;this KB article&lt;/A&gt;, was that the Response.End triggered a ThreadAbortException.&lt;/P&gt;
&lt;P&gt;Oddly enough, the code worked fine through the browser.&lt;/P&gt;
&lt;P&gt;The fix was simple: replaces the Response.End call with &lt;/P&gt;
&lt;BLOCKQUOTE&gt;
&lt;P&gt;&lt;FONT color=#0000ff&gt;HttpContext&lt;/FONT&gt;.Current.ApplicationInstance.CompleteRequest();&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;The code has been updated and tested.&lt;/P&gt;
&lt;P&gt;[&lt;A href="http://www.franksworld.com/NetKungFu/code/WebProxy.zip"&gt;Download Source Code&lt;/A&gt; 3k]&lt;/P&gt;
&lt;P&gt;Hat tip to &lt;A href="http://community.irritatedvowel.com/blogs/pete_browns_blog/"&gt;Pete Brown&lt;/A&gt; for helping to uncover this odd bug.&lt;/P&gt;
&lt;DIV class=wlWriterSmartContent id=scid:0767317B-992E-4b12-91E0-4F059A8CECA8:1158042e-662a-4dfe-aae5-81965783987c style="PADDING-RIGHT: 0px; DISPLAY: inline; PADDING-LEFT: 0px; PADDING-BOTTOM: 0px; MARGIN: 0px; PADDING-TOP: 0px"&gt;Technorati Tags: &lt;A href="http://technorati.com/tags/Silverlight" rel=tag&gt;Silverlight&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Cross%20Domain" rel=tag&gt;Cross Domain&lt;/A&gt;,&lt;A href="http://technorati.com/tags/Utility" rel=tag&gt;Utility&lt;/A&gt;&lt;/DIV&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10903.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>Silverlight Sessions from MIX08</title><link>http://franksworld.com/blog/archive/2008/04/10/10891.aspx</link><pubDate>Thu, 10 Apr 2008 13:15:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/10/10891.aspx</guid><description>&lt;p&gt;This is handy: &lt;a href="http://silverlight.net/Learn/videocat.aspx?cat=8"&gt;all the Silverlight Sessions from MIX08 linked from one page&lt;/a&gt;.&lt;/p&gt; &lt;p&gt;No more sifting through all the sessions to find Silverlight content.&lt;/p&gt; &lt;p&gt;[found via &lt;a href="http://geekswithblogs.net/WynApseTechnicalMusings/archive/2008/04/09/121145.aspx"&gt;Silverlight Cream&lt;/a&gt;]&lt;/p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:85a5f201-a298-4c84-b6cf-2d222d656a05" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/MIX08" rel="tag"&gt;MIX08&lt;/a&gt;&lt;/div&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10891.aspx" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Frank</dc:creator><title>Silverlight Mobile Deep Thoughts</title><link>http://franksworld.com/blog/archive/2008/04/10/10889.aspx</link><pubDate>Thu, 10 Apr 2008 10:44:00 GMT</pubDate><guid>http://franksworld.com/blog/archive/2008/04/10/10889.aspx</guid><description>&lt;p&gt;When Silverlight Mobile was announced at MIX08, people were both elated and deflated.&lt;/p&gt; &lt;p&gt;&lt;a href="http://msmvps.com/blogs/williamryan/archive/2008/03/17/silverlight-for-windows-mobile.aspx"&gt;Bill Ryan's reaction&lt;/a&gt; pretty much sums it up (emphasis added):&lt;/p&gt; &lt;blockquote&gt; &lt;p&gt;The good news: &lt;ul&gt; &lt;li&gt; &lt;p&gt;Expected release is Q2 - 2008&lt;/p&gt; &lt;li&gt; &lt;p&gt;You can use Expression Blend to develop it with.&amp;nbsp; So you won't need a new or additional IDE&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;The bad news: &lt;ul&gt; &lt;li&gt; &lt;p&gt;It will be Silverlight 1.0&lt;/p&gt;&lt;/li&gt;&lt;/ul&gt; &lt;p&gt;I know, the teeth on that horse you gave me are a little crooked.&amp;nbsp; &lt;font color="#ff0000"&gt;Response time is really going to be the big factor here... if it's fast and works right, this is going to be a huge&lt;/font&gt;, HUGE, feature that will open many doors to mobile development.&lt;/p&gt;&lt;/blockquote&gt; &lt;p&gt;After showing everyone the cool factors of Silverlight 2, a lot of people felt let down.&lt;/p&gt; &lt;p&gt;Silverlight Mobile has the best potential in news/sports scenarios (like &lt;a href="http://blogs.msdn.com/msmossyblog/archive/2007/05/07/silverlight-on-windows-mobile.aspx"&gt;the MLB demo&lt;/a&gt;) and casual gaming.&lt;/p&gt; &lt;p&gt;It's likely that without a rich control set and managed code, version 1.0 won't catch on as an application development platform.&lt;/p&gt; &lt;p&gt;I think it can work to drive adoption, but the performance and reliability stories have to be just right.&lt;/p&gt; &lt;p&gt;This and the presentations I saw at MIX led me to ponder some deep thoughts about Silverlight Mobile.&lt;/p&gt; &lt;p&gt;Don't worry, none of this content is related to any NDA material I may have been exposed to.&lt;/p&gt; &lt;ol&gt; &lt;li&gt;&lt;strong&gt;Screen Size&lt;/strong&gt;&lt;br&gt;Mobile phone screens come in all shapes and sizes.&amp;nbsp; Regular Mobile Smart Client projects address this issue. Will Silverlight Mobile? &lt;/li&gt; &lt;li&gt;&lt;strong&gt;Changes in Screen Orientation&lt;br&gt;&lt;/strong&gt;Will there be an event fired when the screen orientation changes? Without layout controls, this poses considerable challenges. Does Pocket IE (PIE) already have an event to handle this?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Javascript Support in Pocket IE (PIE)&lt;/strong&gt;&lt;br&gt;Speaking of PIE, what's its Javascript support like? I've never worked with it. Is it good? Is it fast? What are its DOM limitations? Will I need to learn a whole new DOM?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Silverlight 1.0&amp;nbsp; Blues&lt;/strong&gt;&lt;br&gt;Will organizations stay away from Silverlight Mobile until it uses managed code out of fear of adding more Javascript code to maintain and support? Since mobile phones aren't as performant as laptops/desktops, what will the performance be like?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Video Codecs&lt;/strong&gt;&lt;br&gt;One of the things announced at MIX was that Silverlight Mobile will only support the codecs already installed on the device. What does that mean for encoding video?&amp;nbsp; Are there certain codecs that are widely deployed enough to use? Is there a way to query the phone to see what codecs are installed? Will I have to encode the same video multiple times to support a wide variety of phones? If so, what does that mean for customers that want to stream live video?&lt;/li&gt; &lt;li&gt;&lt;strong&gt;Other Types of Devices&lt;/strong&gt;&lt;br&gt;Will Silverlight Mobile run on other mobile devices such as GPS units, &lt;a href="http://www.microsoft.com/windows/embedded/wepos/default.mspx"&gt;point of sale&lt;/a&gt;, or even &lt;a href="http://www.windowsfordevices.com/news/NS7358269282.html"&gt;gas pumps&lt;/a&gt;? Is there a plan/strategy to bring Silverlight to Windows Embedded/Windows CE machines? &lt;/li&gt;&lt;/ol&gt; &lt;p&gt;&amp;nbsp;&lt;/p&gt; &lt;p&gt; &lt;div class="wlWriterSmartContent" id="scid:0767317B-992E-4b12-91E0-4F059A8CECA8:295e8f65-4c31-4d53-99d5-b1cd5441fad1" style="padding-right: 0px; display: inline; padding-left: 0px; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;Technorati Tags: &lt;a href="http://technorati.com/tags/Silverlight" rel="tag"&gt;Silverlight&lt;/a&gt;,&lt;a href="http://technorati.com/tags/Silverlight%20Mobile" rel="tag"&gt;Silverlight Mobile&lt;/a&gt;&lt;/div&gt;&lt;/p&gt;&lt;img src ="http://franksworld.com/blog/aggbug/10889.aspx" width = "1" height = "1" /&gt;</description></item></channel></rss>