<?xml version="1.0" encoding="utf-8"?>
<rss xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xsd="http://www.w3.org/2001/XMLSchema" xmlns:pingback="http://madskills.com/public/xml/rss/module/pingback/" 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/" xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0">
  <channel>
    <title>Charlie Owen - Resources</title>
    <link>http://blog.retrosight.com/</link>
    <description>Charlie Owen</description>
    <language>en-us</language>
    <copyright>Charlie Owen</copyright>
    <lastBuildDate>Mon, 14 Jul 2008 17:56:39 GMT</lastBuildDate>
    <generator>newtelligence dasBlog 2.3.9074.18820</generator>
    <managingEditor>charlie_owen@hotmail.com</managingEditor>
    <webMaster>charlie_owen@hotmail.com</webMaster>
    <item>
      <trackback:ping>http://blog.retrosight.com/Trackback.aspx?guid=fe01a6e2-1a61-4907-94a7-17f840cf6e72</trackback:ping>
      <pingback:server>http://blog.retrosight.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.retrosight.com/PermaLink,guid,fe01a6e2-1a61-4907-94a7-17f840cf6e72.aspx</pingback:target>
      <dc:creator>Charlie Owen</dc:creator>
      <wfw:comment>http://blog.retrosight.com/CommentView,guid,fe01a6e2-1a61-4907-94a7-17f840cf6e72.aspx</wfw:comment>
      <wfw:commentRss>http://blog.retrosight.com/SyndicationService.asmx/GetEntryCommentsRss?guid=fe01a6e2-1a61-4907-94a7-17f840cf6e72</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
Damian Mehers in Switzerland has created two great screenscasts outlining how he created
the <a href="http://damianblog.com/2008/07/08/beebmc/">BBC Radio</a> experience.
</p>
        <p>
          <a href="http://www.atadore.com/videos/MCBeeb.wmv">Part 1</a> is a great companion
to the Step-By-Step walkthrough in the SDK. Damian provides an excellent tour of the
most commonly used application template which novices to Media Center development
will find very helpful.
</p>
        <p>
          <a href="http://www.atadore.com/videos/MCBeeb2.wmv">Part 2</a> demonstrates how Damian
modified the template to achieve the BBC Radio solution.
</p>
        <p>
Thanks for taking the time to put these together for the community, Damian --
they are wonderful learning resources!
</p>
        <p>
Charlie
</p>
        <img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=fe01a6e2-1a61-4907-94a7-17f840cf6e72" />
      </body>
      <title>Screencast: Creating A Simple Media Center Application</title>
      <guid isPermaLink="false">http://blog.retrosight.com/PermaLink,guid,fe01a6e2-1a61-4907-94a7-17f840cf6e72.aspx</guid>
      <link>http://blog.retrosight.com/ScreencastCreatingASimpleMediaCenterApplication.aspx</link>
      <pubDate>Mon, 14 Jul 2008 17:56:39 GMT</pubDate>
      <description>&lt;p&gt;
Damian Mehers in Switzerland has created two great screenscasts outlining how he created
the&amp;nbsp;&lt;a href="http://damianblog.com/2008/07/08/beebmc/"&gt;BBC Radio&lt;/a&gt;&amp;nbsp;experience.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.atadore.com/videos/MCBeeb.wmv"&gt;Part 1&lt;/a&gt; is a great companion
to the Step-By-Step walkthrough in the SDK. Damian provides an excellent tour of the
most commonly used application template which novices to Media Center development
will find very helpful.
&lt;/p&gt;
&lt;p&gt;
&lt;a href="http://www.atadore.com/videos/MCBeeb2.wmv"&gt;Part 2&lt;/a&gt; demonstrates how Damian
modified the template to achieve the BBC Radio solution.
&lt;/p&gt;
&lt;p&gt;
Thanks for taking the time to put these together for the community, Damian&amp;nbsp;--
they are wonderful learning resources!
&lt;/p&gt;
&lt;p&gt;
Charlie
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=fe01a6e2-1a61-4907-94a7-17f840cf6e72" /&gt;</description>
      <comments>http://blog.retrosight.com/CommentView,guid,fe01a6e2-1a61-4907-94a7-17f840cf6e72.aspx</comments>
      <category>Resources</category>
    </item>
    <item>
      <trackback:ping>http://blog.retrosight.com/Trackback.aspx?guid=3282e338-8c9b-46ac-8a84-0b745c24ab77</trackback:ping>
      <pingback:server>http://blog.retrosight.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.retrosight.com/PermaLink,guid,3282e338-8c9b-46ac-8a84-0b745c24ab77.aspx</pingback:target>
      <dc:creator>Charlie Owen</dc:creator>
      <wfw:comment>http://blog.retrosight.com/CommentView,guid,3282e338-8c9b-46ac-8a84-0b745c24ab77.aspx</wfw:comment>
      <wfw:commentRss>http://blog.retrosight.com/SyndicationService.asmx/GetEntryCommentsRss?guid=3282e338-8c9b-46ac-8a84-0b745c24ab77</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <strong>Update:</strong> I'm adding a mini-FAQ at the bottom as the comments and feedback
arrives.
</p>
        <p>
As part of the documentation updates for the upcoming revision of our Windows Media
Center Software Development Kit I have been writing some topics on how to effectively
use the MCML Preview Tool (MCMLPad.exe) during development. Since I've seen a few
blog posts and discussion forums on the topic I thought I would preview this documentation
for you, and ask for feedback and / or additional areas which need coverage. So, try
this on for size...
</p>
        <p>
          <strong>Editing UI</strong>
          <br />
The MCML Preview Tool is designed to assist in the development of individual pieces
of UI and as such is specifically designed to NOT scale the MCML content you view
therein when run in standalone mode. When run in Windows Media Center the MCML Preview
Tool inherits the proportional scaling applied to all applications which run within
Windows Media Center. There are some good reasons for this, among which my favorite
is the the authoring and preview cycle when creating pieces of UI. You want to see
your UI at full size, especially if working on some very nuanced / small feature of
that UI. Because Windows Media Center scales the content proportionally to the window,
the visual elements can get quite small when you want to switch quickly between your
MCML authoring environment and the MCML Preview Tool. Compare the size of the button
in each of the windows to the right of IDE window in this screenshot:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <a href="http://blog.mediacentersandbox.com/content/binary/ButtonEditLarge.png">
              <img height="302" alt="ButtonEditSmall.png" src="http://blog.mediacentersandbox.com/content/binary/ButtonEditSmall.png" width="600" border="0" />
            </a>
          </p>
        </blockquote>
        <p>
The MCML Preview Tool running in Windows Media Center is on the top and the standalone
version is on the bottom (note: you can click on most of the images in this post for
a life size view). As you can see, when editing the styling of the UI you
want to be working at 100% -- otherwise it's just too small when you are fine tuning.
</p>
        <p>
          <strong>Evaluating Layout and Behavior</strong>
          <br />
When run standalone, the MCML Preview Tool gives you the ability to see how your layout
works and looks given different sizes and aspect ratios. Windows Media Center runs
with two main aspect ratios in mind: 16:9 and 4:3. You can always set the monitor
to some other resolution (example: 1920x1200 for 16:10) and run Windows Media Center
at full screen to get different aspect ratios -- but this is rather tedious to do
during development of the UI pieces. By contrast, you can run MCMLPad with a completely
arbitrary size. For example, here I am testing the snowflake virtualization sample
gallery at a 4:1 aspect ratio:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <img height="190" alt="SnowflakeOriginal.png" src="http://blog.mediacentersandbox.com/content/binary/SnowflakeOriginal.png" width="456" border="0" />
          </p>
        </blockquote>
        <p>
As I increase the overall size, the gallery grows to accomodate more rows and columns
of data, and I can observe how it handles this scenario (including and Show or
Hide animations). This is without having to change the panel which defines the 'gallery'
holding the snowflakes in my application, and avoiding recompiling, installing to
the GAC and registering in Windows Media Center as I edit. Here is the result -- note
the item sizes don't change because there is no proportional scaling -- we simply
see more snowflakes:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <img height="244" alt="SnowflakeGrow.png" src="http://blog.mediacentersandbox.com/content/binary/SnowflakeGrow.png" width="600" border="0" />
          </p>
        </blockquote>
        <p>
          <strong>Page Variables</strong>
          <br />
The MCML Preview Tool has a page concept, but it is distinctly different (and much
more simple) than the one provided by Windows Media Center (the PageSession and HistoryOrientedPageSession
classes). Granted, a 'page' is really &lt;UI Name=Page&gt; -- but the underlying functionality
for what you expect a page to do within the overall platform is provided by Windows
Media Center. A good way to think about this: The MCML Preview Tool is designed to
work with the visual layer of the platform only. Once you get far enough along to
test page behaviors it's time to switch over to testing the pieces / parts of the
application with Windows Media Center as the host rather than the MCML Preview Tool.
An even better approach is to test the page behavior very early in the application
development cycle using wireframe resources. The simple button from MCML Sampler is
a great example of UI to use to implement and test the layout and databinding which
involves your page variables. Later on you replace Simple Button with the more beautiful,
fully realized design.
</p>
        <p>
          <strong>Testing UI</strong>
          <br />
When run standalone, the MCML Preview Tool allows you the flexibility to create a
test harness for your UI. To demonstrate, I have created a simple test harness (<a href="http://play.mediacentersandbox.com/Sample/5/TestHarness/TestHarness.zip">download
the sample solution here</a>) for a button. Here is a screen shot:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <a href="http://blog.mediacentersandbox.com/content/binary/ButtonTestLarge.png">
              <img height="302" alt="ButtonTestSmall.png" src="http://blog.mediacentersandbox.com/content/binary/ButtonTestSmall.png" width="600" border="0" />
            </a>
          </p>
        </blockquote>
        <p>
Windows Media Center (top right) has the application (a compiled assembly) running
which loads Menu.mcml allowing me to test the functionality of the button -- in this
case, it makes a method call to display a Windows Media Center dialog. The standalone
MCML Preview Tool window (bottom right) is the result of pressing F5 in Visual Studio
which loads Test.mcml, designed to show all the different ways to instantiate the
button using it's settable properties (again, the non-scaling is quite desireable
here).
</p>
        <p>
Taking this a large step further: Throughout the creation and testing of the Z sample
application we used the power of layouts and rules in MCML to provide a mechanism
to step through all of the the UI for Z. Here is what it looks like:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <img height="359" alt="ZTestHarness.png" src="http://blog.mediacentersandbox.com/content/binary/ZTestHarness.png" width="600" border="0" />
          </p>
        </blockquote>
        <p>
On the right we have each UI which defines an individual page within the Z sample
application. You can select these items to load that 'page' (again, it's really a
&lt;UI&gt; which, when combined with the HistoryOrientedPageSession becomes a bonified
page in the application) into the larger, 4:3 constrained area on the left. This test
harness is defined by Default.mcml in the sample code which ships in the SDK if you
wish to adapt for use in your own applications.
</p>
        <p>
To gain the Visual Studio F5 test harness functionality with the Z sample solution...
</p>
        <p>
If you haven't previously done so...
</p>
        <ul dir="ltr" style="MARGIN-RIGHT: 0px">
          <ul>
            <li>
Launch a command prompt with administrator privileges. 
</li>
            <li>
Navigate to C:\Program Files\Microsoft SDKs\Windows Media Center\v5.0\Samples\Windows
Media Center Presentation Layer Samples\Z\. 
</li>
            <li>
Run Command.CreateDevEnvironment.cmd.</li>
          </ul>
        </ul>
        <p dir="ltr" style="MARGIN-RIGHT: 0px">
...otherwise MCMLPad will report an exception and close when you use F5 in Microsoft
Visual C# 2005 Express Edition because the Z test harness can't find the data.
</p>
        <p>
Then make the following changes in Microsoft Visual C# 2005 Express Edition:
</p>
        <ul dir="ltr" style="MARGIN-RIGHT: 0px">
          <ul>
            <li>
Select Solution 'Z' (2 Projects) in Solution Explorer. 
</li>
            <li>
Select Project &gt; Set StarUp Projects... from the menu. 
</li>
            <li>
Select Startup Project in the Solution 'Z' Property Pages. 
</li>
            <li>
Select the Single Startup Project option. 
</li>
            <li>
Select 'Z' in the drop down list. 
</li>
            <li>
Click OK.</li>
          </ul>
        </ul>
        <p>
Finally, select Debug &gt; Start Debugging or press the F5 key to launch the Z test
harness.
</p>
        <p>
Note we set everything up to work this way by default for you in the Visual Studio
template which ships with the SDK. Here are the basics of how this works if you want
to modify to fit your workflow:
</p>
        <p>
In order to launch MCMLPad from within Microsoft Visual C# 2005 Express Edition you
have to manually edit the .csproj file for the solution because the Start Action setting
isn't available in the Express SKUs user interface -- but it still works if you add
some XML. For the purposes of this example let's take a look at the snippet which
provides this functionality from the Z.csproj file:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <font face="Courier New" color="#0000ff" size="1">  &lt;PropertyGroup&gt;<br />
    &lt;UseVSHostingProcess&gt;true&lt;/UseVSHostingProcess&gt;<br />
    &lt;StartWorkingDirectory&gt;$(windir)\eHome&lt;/StartWorkingDirectory&gt;<br />
    &lt;StartArguments&gt;-load:"resx://Z/Z.Resources/Default" -assemblyredirect:"$(FullyQualifiedOutputPath)"
-markupredirect:"resx://Z/Z.Resources/,file://$(MSBuildProjectDirectory)\Markup\,.mcml"&lt;/StartArguments&gt;<br />
    &lt;StartAction&gt;Program&lt;/StartAction&gt;<br />
    &lt;StartProgram&gt;$(windir)\eHome\McmlPad.exe&lt;/StartProgram&gt;<br />
  &lt;/PropertyGroup&gt;</font>
          </p>
        </blockquote>
        <p>
Most of these should be self explanatory and I'll break down &lt;StartArguments&gt;
for you as it's the most complex but most important (read the <a href="http://msdn2.microsoft.com/en-us/library/bb189325.aspx">Media
Center Markup Language Preview Tool SDK topic</a> for more information)
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
-load:"resx://Z/Z.Resources/Default"
</p>
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <p>
Tells MCMLPad to load the Z assembly and navigate to the resource named Default (which
is Default.mcml) contained therein. Default.mcml is never used by the application
once installed -- its only purpose is to provide this &lt;UI&gt; test harness.
</p>
          </blockquote>
          <p>
-assemblyredirect:"$(FullyQualifiedOutputPath)"
</p>
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <p>
Tells MCMLPad to load the assembly from a specific location. When $(FullyQualifiedOutputPath)
is evaulated it returns something like this: C:\Program Files\Microsoft SDKs\Windows
Media Center\v5.0\Samples\Windows Media Center Presentation Layer Samples\Z\bin\Debug\.
Note this won't work if the assembly is registered to the Global Assembly Cache, so
be mindful of when you run Command.InstallAndRegister.cmd contained in the sample
solution.
</p>
          </blockquote>
          <p>
-markupredirect:"resx://Z/Z.Resources/,<br />
 file://$(MSBuildProjectDirectory)\Markup\,<br />
 .mcml"
</p>
          <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
            <p>
This one is broke up into its three constituent parts on different lines for ease
of readability. This tells the MCML Preview Tool to replace instances of 'resx://...'
with 'file://...' and append .mcml to the end. This allows you to build the assembly
once, load the test harness (Default.mcml) into the tool, make changes to the source
MCML and test the results of those changes by refreshing MCMLPad without having to
rebuild the assembly -- what I call interactive editing.
</p>
          </blockquote>
        </blockquote>
        <p>
          <strong>Interactive Editing</strong>
          <br />
You can also create a compiled assembly and open MCML files directly in the MCML Preview
Tool using the same -load, -assemblyredirect and -markupredirect switches as in the
Visual Studio .csproj file. This allows you to edit / tweak UI and avoid recompiling,
installing to the GAC and registering in Windows Media Center as noted earlier. You
can use the command line for this, or the <a href="http://blog.mediacentersandbox.com/MediaCenterMarkupLanguagePreviewToolLauncherPowertoy.aspx">MCML
Preview Tool Launcher power toy</a>. Using this approach you can edit and preview
your changes in real time by refreshing the MCML Preview Tool after you make markup
changes. For example:
</p>
        <blockquote dir="ltr" style="MARGIN-RIGHT: 0px">
          <p>
            <a href="http://blog.mediacentersandbox.com/content/binary/ButtonEditInteractiveLarge.png">
              <img height="386" alt="ButtonEditInteractiveSmall.png" src="http://blog.mediacentersandbox.com/content/binary/ButtonEditInteractiveSmall.png" width="600" border="0" />
            </a>
          </p>
        </blockquote>
        <p>
In this screenshot we see the power toy defining the proper switches for the MCML
Preview Tool, and the launched MCML Preview Tool window with our markup loaded. I've
edited the Styles.mcml resource to change the focused button text color to red. I
can continue to tweak all of Button.mcml resources (anything referenced with xmlns
in the opened markup file, including those downstream) and returning to the MCML Preview
Tool and pressing the F5 key to refresh and see my changes without a need to recompile.
This allows me to make as many changes as I wish to the UI without committing them
to my compiled assembly.
</p>
        <p>
There are also other ways to leverage the power of the MCML Preview Tool -- with a
little experimentation :-) -- so dig in...!
</p>
        <p>
Mini-FAQ
</p>
        <p>
          <strong>How do I get proportional scaling in the MCML Preview Tool?</strong>
          <br />
Use &lt;ScaleLayout MaintainAspectRatio="true" AllowScaleUp="true" AllowScaleDown="true"/&gt;
in your test harness. For an example look at Default.mcml in the Z sample application,
specifically &lt;UI Name="TestWrapper"&gt;.
</p>
        <p>
          <strong>How can I easily switch between 16:9 and 4:3 aspect ratios?</strong>
          <br />
The MCML Preview Tool defaults to 4:3 aspect ratio. Select the top or bottom window
frame, hold down the CTRL key and size the window up or down -- the window will eventually
'snap' to the 16:9 aspect ratio. To reverse, select the right or left window frame,
hold down the CTRL key and size the window up or down.
</p>
        <p>
          <strong>How can I test pieces of UI which are wired up to Windows Media Center APIs?</strong>
          <br />
Generally speaking, you shouldn't (or rather, wouldn't). If the individual &lt;UI&gt;
pieces are hard coded like this you probably aren't architecting your application
properly -- even in a web / codeless scenario. In a properly architected application
you should almost *<strong>always</strong>* be able to test your individual pieces
of &lt;UI&gt; in the MCML Preview Tool without hooking them up to the Windows Media
Center API. Follow the example in Button.mcml provided in the sample code for this
post. When you run the application in Windows Media Center it loads Menu.mcml which
uses the &lt;Command&gt; model item and &lt;Rules&gt; to wire up the functionality
(in this case a C# method). When you are designing or testing the visuals for Button.mcml
you load Test.mcml in the MCML Preview Tool. Test.mcml contains several &lt;Command&gt;
model items but no &lt;Rules&gt; to perform the binding -- therefore the buttons behave
visually as they will in the application, but have no functionality.
</p>
        <img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=3282e338-8c9b-46ac-8a84-0b745c24ab77" />
      </body>
      <title>User Interface Development with the MCML Preview Tool (MCMLPad)</title>
      <guid isPermaLink="false">http://blog.retrosight.com/PermaLink,guid,3282e338-8c9b-46ac-8a84-0b745c24ab77.aspx</guid>
      <link>http://blog.retrosight.com/UserInterfaceDevelopmentWithTheMCMLPreviewToolMCMLPad.aspx</link>
      <pubDate>Sat, 24 Mar 2007 00:24:11 GMT</pubDate>
      <description>&lt;p&gt;
&lt;strong&gt;Update:&lt;/strong&gt; I'm adding a mini-FAQ at the bottom as the comments and feedback
arrives.
&lt;/p&gt;
&lt;p&gt;
As part of the documentation updates for the upcoming revision of our Windows Media
Center Software Development Kit I have been writing some topics on how to effectively
use the MCML Preview Tool (MCMLPad.exe) during development. Since I've seen a few
blog posts and discussion forums on the topic I thought I would preview this documentation
for you, and ask for feedback and / or additional areas which need coverage. So, try
this on for size...
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Editing UI&lt;/strong&gt;
&lt;br&gt;
The MCML Preview Tool is designed to assist in the development of individual pieces
of UI and as such is specifically designed to NOT scale the MCML content you view
therein when run in standalone mode. When run in Windows Media Center the MCML Preview
Tool inherits the proportional scaling applied to all applications which run within
Windows Media Center. There are some good reasons for this, among which my favorite
is the the authoring and preview cycle when creating pieces of UI. You want to see
your UI at full size, especially if working on some very nuanced / small feature of
that UI. Because Windows Media Center scales the content proportionally to the window,
the visual elements can get quite small when you want to switch quickly between your
MCML authoring environment and the MCML Preview Tool. Compare the size of the button
in each of the windows to the right of IDE window in this screenshot:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;a href="http://blog.mediacentersandbox.com/content/binary/ButtonEditLarge.png"&gt;&lt;img height=302 alt=ButtonEditSmall.png src="http://blog.mediacentersandbox.com/content/binary/ButtonEditSmall.png" width=600 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
The MCML Preview Tool running in Windows Media Center is on the top and the standalone
version is on the bottom (note: you can click on most of the images in this post for
a&amp;nbsp;life size&amp;nbsp;view). As you can see, when editing the styling of the UI you
want to be working at 100% -- otherwise it's just too small when you are fine tuning.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Evaluating Layout and Behavior&lt;/strong&gt;
&lt;br&gt;
When run standalone, the MCML Preview Tool gives you the ability to see how your layout
works and looks given different sizes and aspect ratios. Windows Media Center runs
with two main aspect ratios in mind: 16:9 and 4:3. You can always set the monitor
to some other resolution (example: 1920x1200 for 16:10) and run Windows Media Center
at full screen to get different aspect ratios -- but this is rather tedious to do
during development of the UI pieces. By contrast, you can run MCMLPad with a completely
arbitrary size. For example, here I am testing the snowflake virtualization sample
gallery at a 4:1 aspect ratio:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;img height=190 alt=SnowflakeOriginal.png src="http://blog.mediacentersandbox.com/content/binary/SnowflakeOriginal.png" width=456 border=0&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
As I increase the overall size, the gallery grows to accomodate more rows and columns
of data, and I can observe how it handles this scenario (including and&amp;nbsp;Show or
Hide animations). This is without having to change the panel which defines the 'gallery'
holding the snowflakes in my application, and avoiding recompiling, installing to
the GAC and registering in Windows Media Center as I edit. Here is the result -- note
the item sizes don't change because there is no proportional scaling -- we simply
see more snowflakes:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;img height=244 alt=SnowflakeGrow.png src="http://blog.mediacentersandbox.com/content/binary/SnowflakeGrow.png" width=600 border=0&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
&lt;strong&gt;Page Variables&lt;/strong&gt;
&lt;br&gt;
The MCML Preview Tool has a page concept, but it is distinctly different (and much
more simple) than the one provided by Windows Media Center (the PageSession and HistoryOrientedPageSession
classes). Granted, a 'page' is really &amp;lt;UI Name=Page&amp;gt; -- but the underlying functionality
for what you expect a page to do within the overall platform is provided by Windows
Media Center. A good way to think about this: The MCML Preview Tool is designed to
work with the visual layer of the platform only. Once you get far enough along to
test page behaviors it's time to switch over to testing the pieces / parts of the
application with Windows Media Center as the host rather than the MCML Preview Tool.
An even better approach is to test the page behavior very early in the application
development cycle using wireframe resources. The simple button from MCML Sampler is
a great example of UI to use to implement and test the layout and databinding which
involves your page variables. Later on you replace Simple Button with the more beautiful,
fully realized design.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;Testing UI&lt;/strong&gt;
&lt;br&gt;
When run standalone, the MCML Preview Tool allows you the flexibility to create a
test harness for your UI. To demonstrate, I have created a simple test harness (&lt;a href="http://play.mediacentersandbox.com/Sample/5/TestHarness/TestHarness.zip"&gt;download
the sample solution here&lt;/a&gt;) for a button. Here is a screen shot:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;a href="http://blog.mediacentersandbox.com/content/binary/ButtonTestLarge.png"&gt;&lt;img height=302 alt=ButtonTestSmall.png src="http://blog.mediacentersandbox.com/content/binary/ButtonTestSmall.png" width=600 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Windows Media Center (top right) has the application (a compiled assembly) running
which loads Menu.mcml allowing me to test the functionality of the button -- in this
case, it makes a method call to display a Windows Media Center dialog. The standalone
MCML Preview Tool window (bottom right) is the result of pressing F5 in Visual Studio
which loads Test.mcml, designed to show all the different ways to instantiate the
button using it's settable properties (again, the non-scaling is quite desireable
here).
&lt;/p&gt;
&lt;p&gt;
Taking this a large step further: Throughout the creation and testing of the Z sample
application we used the power of layouts and rules in MCML to provide a&amp;nbsp;mechanism
to step through all of the the UI for Z. Here is what it looks like:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;img height=359 alt=ZTestHarness.png src="http://blog.mediacentersandbox.com/content/binary/ZTestHarness.png" width=600 border=0&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
On the right we have each UI which defines an individual page within the Z sample
application. You can select these items to load that 'page' (again, it's really a
&amp;lt;UI&amp;gt; which, when combined with the HistoryOrientedPageSession becomes a bonified
page in the application) into the larger, 4:3 constrained area on the left. This test
harness is defined by Default.mcml in the sample code which ships in the SDK if you
wish to adapt for use in your own applications.
&lt;/p&gt;
&lt;p&gt;
To gain the Visual Studio F5 test harness functionality with the Z sample solution...
&lt;/p&gt;
&lt;p&gt;
If you haven't previously done so...
&lt;/p&gt;
&lt;ul dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;ul&gt;
&lt;li&gt;
Launch a command prompt with administrator privileges. 
&lt;li&gt;
Navigate to C:\Program Files\Microsoft SDKs\Windows Media Center\v5.0\Samples\Windows
Media Center Presentation Layer Samples\Z\. 
&lt;li&gt;
Run Command.CreateDevEnvironment.cmd.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p dir=ltr style="MARGIN-RIGHT: 0px"&gt;
...otherwise MCMLPad will report an exception and close when you use F5 in Microsoft
Visual C# 2005 Express Edition because the Z test harness can't find the data.
&lt;/p&gt;
&lt;p&gt;
Then make the following changes in Microsoft Visual C# 2005 Express Edition:
&lt;/p&gt;
&lt;ul dir=ltr style="MARGIN-RIGHT: 0px"&gt;
&lt;ul&gt;
&lt;li&gt;
Select Solution 'Z' (2 Projects) in Solution Explorer. 
&lt;li&gt;
Select Project &amp;gt; Set StarUp Projects... from the menu. 
&lt;li&gt;
Select Startup Project in the Solution 'Z' Property Pages. 
&lt;li&gt;
Select the Single Startup Project option. 
&lt;li&gt;
Select 'Z' in the drop down list. 
&lt;li&gt;
Click OK.&lt;/li&gt;
&lt;/ul&gt;
&lt;/ul&gt;
&lt;p&gt;
Finally, select Debug &amp;gt; Start Debugging or press the F5 key to launch the Z test
harness.
&lt;/p&gt;
&lt;p&gt;
Note we set everything up to work this way by default for you in the Visual Studio
template which ships with the SDK. Here are the basics of how this works if you want
to modify to fit your workflow:
&lt;/p&gt;
&lt;p&gt;
In order to launch MCMLPad from within Microsoft Visual C# 2005 Express Edition you
have to manually edit the .csproj file for the solution because the Start Action setting
isn't available in the Express SKUs user interface -- but it still works if you add
some XML. For the purposes of this example let's take a look at the snippet which
provides this functionality from the Z.csproj file:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;font face="Courier New" color=#0000ff size=1&gt;&amp;nbsp; &amp;lt;PropertyGroup&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;UseVSHostingProcess&amp;gt;true&amp;lt;/UseVSHostingProcess&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StartWorkingDirectory&amp;gt;$(windir)\eHome&amp;lt;/StartWorkingDirectory&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StartArguments&amp;gt;-load:"resx://Z/Z.Resources/Default" -assemblyredirect:"$(FullyQualifiedOutputPath)"
-markupredirect:"resx://Z/Z.Resources/,file://$(MSBuildProjectDirectory)\Markup\,.mcml"&amp;lt;/StartArguments&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StartAction&amp;gt;Program&amp;lt;/StartAction&amp;gt;&lt;br&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;lt;StartProgram&amp;gt;$(windir)\eHome\McmlPad.exe&amp;lt;/StartProgram&amp;gt;&lt;br&gt;
&amp;nbsp; &amp;lt;/PropertyGroup&amp;gt;&lt;/font&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
Most of these should be self explanatory and I'll break down &amp;lt;StartArguments&amp;gt;
for you as it's the most complex but most important (read the &lt;a href="http://msdn2.microsoft.com/en-us/library/bb189325.aspx"&gt;Media
Center Markup Language Preview Tool SDK topic&lt;/a&gt; for more information)
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
-load:"resx://Z/Z.Resources/Default"
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
Tells MCMLPad to load the Z assembly and navigate to the resource named Default (which
is Default.mcml) contained therein. Default.mcml is never used by the application
once installed -- its only purpose is to provide this &amp;lt;UI&amp;gt; test harness.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
-assemblyredirect:"$(FullyQualifiedOutputPath)"
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
Tells MCMLPad to load the assembly from a specific location. When $(FullyQualifiedOutputPath)
is evaulated it returns something like this: C:\Program Files\Microsoft SDKs\Windows
Media Center\v5.0\Samples\Windows Media Center Presentation Layer Samples\Z\bin\Debug\.
Note this won't work if the assembly is registered to the Global Assembly Cache, so
be mindful of when you run Command.InstallAndRegister.cmd contained in the sample
solution.
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
-markupredirect:"resx://Z/Z.Resources/,&lt;br&gt;
&amp;nbsp;file://$(MSBuildProjectDirectory)\Markup\,&lt;br&gt;
&amp;nbsp;.mcml"
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
This one is broke up into its three constituent parts on different lines for ease
of readability. This tells the MCML Preview Tool to replace instances of 'resx://...'
with 'file://...' and append .mcml to the end. This allows you to build the assembly
once, load the test harness (Default.mcml) into the tool, make changes to the source
MCML and test the results of those changes by refreshing MCMLPad without having to
rebuild the assembly -- what I call interactive editing.
&lt;/p&gt;
&lt;/blockquote&gt;&lt;/blockquote&gt; 
&lt;p&gt;
&lt;strong&gt;Interactive Editing&lt;/strong&gt;
&lt;br&gt;
You can also create a compiled assembly and open MCML files directly in the MCML Preview
Tool using the same -load, -assemblyredirect and -markupredirect switches as in the
Visual Studio .csproj file. This allows you to edit / tweak UI and avoid recompiling,
installing to the GAC and registering in Windows Media Center as noted earlier. You
can use the command line for this, or the &lt;a href="http://blog.mediacentersandbox.com/MediaCenterMarkupLanguagePreviewToolLauncherPowertoy.aspx"&gt;MCML
Preview Tool Launcher power toy&lt;/a&gt;. Using this approach you can edit and preview
your changes in real time by refreshing the MCML Preview Tool after you make markup
changes. For example:
&lt;/p&gt;
&lt;blockquote dir=ltr style="MARGIN-RIGHT: 0px"&gt; 
&lt;p&gt;
&lt;a href="http://blog.mediacentersandbox.com/content/binary/ButtonEditInteractiveLarge.png"&gt;&lt;img height=386 alt=ButtonEditInteractiveSmall.png src="http://blog.mediacentersandbox.com/content/binary/ButtonEditInteractiveSmall.png" width=600 border=0&gt;&lt;/a&gt;
&lt;/p&gt;
&lt;/blockquote&gt; 
&lt;p&gt;
In this screenshot we see the power toy defining the proper switches for the MCML
Preview Tool, and the launched MCML Preview Tool window with our markup loaded. I've
edited the Styles.mcml resource to change the focused button text color to red. I
can continue to tweak all of Button.mcml resources (anything referenced with xmlns
in the opened markup file, including those downstream) and returning to the MCML Preview
Tool and pressing the F5 key to refresh and see my changes without a need to recompile.
This allows me to make as many changes as I wish to the UI without committing them
to my compiled assembly.
&lt;/p&gt;
&lt;p&gt;
There are also other ways to leverage the power of the MCML Preview Tool -- with a
little experimentation :-)&amp;nbsp;-- so dig in...!
&lt;/p&gt;
&lt;p&gt;
Mini-FAQ
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How do I get proportional scaling in the MCML Preview Tool?&lt;/strong&gt;
&lt;br&gt;
Use &amp;lt;ScaleLayout MaintainAspectRatio="true" AllowScaleUp="true" AllowScaleDown="true"/&amp;gt;
in your test harness. For an example look at Default.mcml in the Z sample application,
specifically &amp;lt;UI Name="TestWrapper"&amp;gt;.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How can I easily switch between 16:9 and 4:3 aspect ratios?&lt;/strong&gt;
&lt;br&gt;
The MCML Preview Tool defaults to 4:3 aspect ratio. Select the top or bottom window
frame, hold down the CTRL key and size the window up or down -- the window will eventually
'snap' to the 16:9 aspect ratio. To reverse, select the right or left window frame,
hold down the CTRL key and size the window up or down.
&lt;/p&gt;
&lt;p&gt;
&lt;strong&gt;How can I test pieces of UI which are wired up to Windows Media Center APIs?&lt;/strong&gt;
&lt;br&gt;
Generally speaking, you shouldn't (or rather, wouldn't). If the individual &amp;lt;UI&amp;gt;
pieces are hard coded like this you probably aren't architecting your application
properly -- even in a web / codeless scenario. In a properly architected application
you should almost *&lt;strong&gt;always&lt;/strong&gt;* be able to test your individual pieces
of &amp;lt;UI&amp;gt; in the MCML Preview Tool without hooking them up to the Windows Media
Center API. Follow the example in Button.mcml provided in the sample code for this
post. When you run the application in Windows Media Center it loads Menu.mcml which
uses&amp;nbsp;the &amp;lt;Command&amp;gt; model item and &amp;lt;Rules&amp;gt; to wire up the functionality
(in this case a C# method). When you are designing or testing the visuals for Button.mcml
you load Test.mcml in the MCML Preview Tool. Test.mcml contains several &amp;lt;Command&amp;gt;
model items but no &amp;lt;Rules&amp;gt; to perform the binding -- therefore the buttons behave
visually as they will in the application, but have no functionality.
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=3282e338-8c9b-46ac-8a84-0b745c24ab77" /&gt;</description>
      <comments>http://blog.retrosight.com/CommentView,guid,3282e338-8c9b-46ac-8a84-0b745c24ab77.aspx</comments>
      <category>Resources</category>
    </item>
    <item>
      <trackback:ping>http://blog.retrosight.com/Trackback.aspx?guid=f10edbb7-c8a0-459b-96c1-b0f5d095785f</trackback:ping>
      <pingback:server>http://blog.retrosight.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.retrosight.com/PermaLink,guid,f10edbb7-c8a0-459b-96c1-b0f5d095785f.aspx</pingback:target>
      <dc:creator />
      <wfw:comment>http://blog.retrosight.com/CommentView,guid,f10edbb7-c8a0-459b-96c1-b0f5d095785f.aspx</wfw:comment>
      <wfw:commentRss>http://blog.retrosight.com/SyndicationService.asmx/GetEntryCommentsRss?guid=f10edbb7-c8a0-459b-96c1-b0f5d095785f</wfw:commentRss>
      <slash:comments>1</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
          <a href="http://wpf.netfx3.com/user/Profile.aspx?UserID=2156">Jossef Goldberg</a> (a
program manager on the Windows Presentation Foundation team who focuses on integrating
WPF with Windows Media Center) sent me a list of newsgroups and forums that he has
found useful for customers who have questions related to developing XBAPs for Windows
Media Center for Windows Vista:
</p>
        <ul>
          <li>
            <a href="http://wpf.netfx3.com/">Windows Presentation Foundation (WPF) developer portal</a>
          </li>
          <li>
            <a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=119&amp;SiteID=1&amp;PageID=0">Windows
Presentation Foundation (WPF) MSDN Forum</a>
          </li>
          <li>
            <a href="http://wpf.netfx3.com/files/folders/controls/entry3955.aspx">Sample XBAP
controls for Windows Media Center</a>
          </li>
          <li>
            <a href="http://discuss.mediacentersandbox.com/forums/5/ShowForum.aspx">XBAP forum
on the Media Center Sandbox site</a>
          </li>
        </ul>
        <p>
Hopefully these resources will be helpful if you are working on XBAP solutions for
Windows Media Center for Windows Vista.
</p>
        <p>
Aaron
</p>
        <p>
 
</p>
        <img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=f10edbb7-c8a0-459b-96c1-b0f5d095785f" />
      </body>
      <title>Links to Windows Media Center XBAP development information</title>
      <guid isPermaLink="false">http://blog.retrosight.com/PermaLink,guid,f10edbb7-c8a0-459b-96c1-b0f5d095785f.aspx</guid>
      <link>http://blog.retrosight.com/LinksToWindowsMediaCenterXBAPDevelopmentInformation.aspx</link>
      <pubDate>Mon, 31 Jul 2006 03:32:14 GMT</pubDate>
      <description>&lt;p&gt;
&lt;a href="http://wpf.netfx3.com/user/Profile.aspx?UserID=2156"&gt;Jossef Goldberg&lt;/a&gt; (a
program manager on the Windows Presentation Foundation team who focuses on integrating
WPF with Windows Media Center) sent me a list of newsgroups and forums that he has
found useful for customers who have questions related to developing XBAPs for Windows
Media Center for Windows Vista:
&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;a href="http://wpf.netfx3.com/"&gt;Windows Presentation Foundation (WPF) developer portal&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://forums.microsoft.com/MSDN/ShowForum.aspx?ForumID=119&amp;amp;SiteID=1&amp;amp;PageID=0"&gt;Windows
Presentation Foundation (WPF) MSDN Forum&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://wpf.netfx3.com/files/folders/controls/entry3955.aspx"&gt;Sample XBAP
controls for Windows Media Center&lt;/a&gt; 
&lt;li&gt;
&lt;a href="http://discuss.mediacentersandbox.com/forums/5/ShowForum.aspx"&gt;XBAP forum
on the Media Center Sandbox site&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
Hopefully these resources will be helpful if you are working on XBAP solutions for
Windows Media Center for Windows Vista.
&lt;/p&gt;
&lt;p&gt;
Aaron
&lt;/p&gt;
&lt;p&gt;
&amp;nbsp;
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=f10edbb7-c8a0-459b-96c1-b0f5d095785f" /&gt;</description>
      <comments>http://blog.retrosight.com/CommentView,guid,f10edbb7-c8a0-459b-96c1-b0f5d095785f.aspx</comments>
      <category>Resources</category>
    </item>
    <item>
      <trackback:ping>http://blog.retrosight.com/Trackback.aspx?guid=bd320411-77f8-4a68-a0a8-0be55aafda2c</trackback:ping>
      <pingback:server>http://blog.retrosight.com/pingback.aspx</pingback:server>
      <pingback:target>http://blog.retrosight.com/PermaLink,guid,bd320411-77f8-4a68-a0a8-0be55aafda2c.aspx</pingback:target>
      <dc:creator>Charlie Owen</dc:creator>
      <wfw:comment>http://blog.retrosight.com/CommentView,guid,bd320411-77f8-4a68-a0a8-0be55aafda2c.aspx</wfw:comment>
      <wfw:commentRss>http://blog.retrosight.com/SyndicationService.asmx/GetEntryCommentsRss?guid=bd320411-77f8-4a68-a0a8-0be55aafda2c</wfw:commentRss>
      <slash:comments>2</slash:comments>
      <body xmlns="http://www.w3.org/1999/xhtml">
        <p>
I've been learning more about how Windows Media Center Presentation Layer Applications
are run on the XBox 360 Media Center Extender. For a while now I've been stating these
apps render at 30 Frames Per Second (FPS). As the Hertz commercial says, well...'not
exactly'.
</p>
        <p>
But unlike the Hertz commercial, this 'not exactly' is a good thing. :-)
</p>
        <p>
As Paul Harvey would say, here is the rest of the story...
</p>
        <p>
For a Windows Media Center Presentation Layer Application, the Windows Media Center
Rendering Engine running on the XBox 360 combines the video signal (deinterlacing
when necessary) with the user interface and renders both to match the current frame
rate of the display. On the XBox 360 in the United States that means you get a refresh
rate of 60 Hz or Frames Per Second. (It's worth noting the XBox 360 native refresh
rate can be different depending on the geography.) Generally speaking, the higher
the refresh rate, the smoother the experience appears to the user and less
noticeable flicker.
</p>
        <p>
By contrast, the Hosted HTML or Hosted WinFX XBAP Application user
interfaces are rendered on the Media Center PC with 3-5 screenshots taken per
second (on average) which are sent over the network via a Remote Desktop-like
pipe. Even though the XBox 360 display output is much higher these applications will
appear to operate at a much lower framerate due to the rate at which screenshots are
sent.
</p>
        <p>
So, why have I been saying '30 FPS' for the last couple of months? It's what I knew
from my work with the Windows Media Encoder (NTSC television is shot at 30 FPS and
output to your TV at 60 Hz, film is shot at 24 FPS and typically projected at 72 FPS
using the shutter to avoid flicker) and was the best way I could describe at
the time how the three types of applications will appear to the end user. My apologies
to our readers for not getting the facts 100% straight before posting / answering
questions. In this case I hope you will say 'no harm, no foul'.
</p>
        <p>
If you want to learn more about refresh rates, head on over to Wikipedia at <a href="http://en.wikipedia.org/wiki/Frame_rate">http://en.wikipedia.org/wiki/Frame_rate</a>.
</p>
        <p>
Francis Hogle (Development Manager for the Windows Media Center team) is preparing
a four part series which explains how this stuff works in greater detail -- look for
it here soon.
</p>
        <p>
Charlie
</p>
        <img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=bd320411-77f8-4a68-a0a8-0be55aafda2c" />
      </body>
      <title>Clarification on XBox 360 Media Center Extender Full Fidelity Experiences</title>
      <guid isPermaLink="false">http://blog.retrosight.com/PermaLink,guid,bd320411-77f8-4a68-a0a8-0be55aafda2c.aspx</guid>
      <link>http://blog.retrosight.com/ClarificationOnXBox360MediaCenterExtenderFullFidelityExperiences.aspx</link>
      <pubDate>Sat, 25 Mar 2006 08:12:39 GMT</pubDate>
      <description>&lt;p&gt;
I've been learning more about how Windows Media Center Presentation Layer Applications
are run on the XBox 360 Media Center Extender. For a while now I've been stating these
apps render at 30 Frames Per Second (FPS). As the Hertz commercial says, well...'not
exactly'.
&lt;/p&gt;
&lt;p&gt;
But unlike the Hertz commercial, this 'not exactly' is a good thing. :-)
&lt;/p&gt;
&lt;p&gt;
As Paul Harvey would say, here is the rest of the story...
&lt;/p&gt;
&lt;p&gt;
For a Windows Media Center Presentation Layer Application, the Windows Media Center
Rendering Engine running on the XBox 360 combines the video signal (deinterlacing
when necessary) with the user interface and renders both to match the current frame
rate of the display. On the XBox 360 in the United States that means you get a refresh
rate of 60 Hz or Frames Per Second. (It's worth noting the XBox 360 native refresh
rate can be different depending on the geography.) Generally speaking, the higher
the refresh&amp;nbsp;rate, the smoother the experience appears to the user&amp;nbsp;and less
noticeable&amp;nbsp;flicker.
&lt;/p&gt;
&lt;p&gt;
By contrast,&amp;nbsp;the Hosted HTML&amp;nbsp;or Hosted WinFX XBAP Application&amp;nbsp;user
interfaces&amp;nbsp;are rendered on the Media Center PC with 3-5 screenshots taken per
second (on average)&amp;nbsp;which are sent over the network via a Remote Desktop-like
pipe. Even though the XBox 360 display output is much higher these applications will
appear to operate at a much lower framerate due to the rate at which screenshots are
sent.
&lt;/p&gt;
&lt;p&gt;
So, why have I been saying '30 FPS' for the last couple of months? It's what I knew
from my work with the Windows Media Encoder (NTSC television is shot at 30 FPS and
output to your TV at 60 Hz, film is shot at 24 FPS and typically projected at 72 FPS
using the shutter to avoid flicker)&amp;nbsp;and was the best way I could describe at
the time how the three types of applications will appear to the end user. My apologies
to our readers for not getting the facts 100% straight before posting / answering
questions. In this case I hope you will say 'no harm, no foul'.
&lt;/p&gt;
&lt;p&gt;
If you want to learn more about refresh rates, head on over to Wikipedia at &lt;a href="http://en.wikipedia.org/wiki/Frame_rate"&gt;http://en.wikipedia.org/wiki/Frame_rate&lt;/a&gt;.
&lt;/p&gt;
&lt;p&gt;
Francis Hogle (Development Manager for the Windows Media Center team) is preparing
a four part series which explains how this stuff works in greater detail -- look for
it here soon.
&lt;/p&gt;
&lt;p&gt;
Charlie
&lt;/p&gt;
&lt;img width="0" height="0" src="http://blog.retrosight.com/aggbug.ashx?id=bd320411-77f8-4a68-a0a8-0be55aafda2c" /&gt;</description>
      <comments>http://blog.retrosight.com/CommentView,guid,bd320411-77f8-4a68-a0a8-0be55aafda2c.aspx</comments>
      <category>Resources</category>
    </item>
  </channel>
</rss>