<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Expression IQ</title>
	<atom:link href="http://expressioniq.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://expressioniq.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 05 Apr 2012 21:35:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Introducing BlendInsider</title>
		<link>http://expressioniq.com/?p=3617</link>
		<comments>http://expressioniq.com/?p=3617#comments</comments>
		<pubDate>Thu, 05 Apr 2012 20:24:55 +0000</pubDate>
		<dc:creator>Christopher</dc:creator>
				<category><![CDATA[Expression Studio]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3617</guid>
		<description><![CDATA[Thank you for supporting Expression IQ over the last three years. From now on, the Expression IQ team will publish all new articles on <a title="BlendInsider" href="http://blendinsider.com/" target="_blank">BlendInsider</a>.]]></description>
			<content:encoded><![CDATA[<p>Thank you for supporting Expression IQ over the last three years. From now on, the Expression IQ team will publish all new articles on <a title="BlendInsider" href="http://blendinsider.com/" target="_blank">BlendInsider</a>.<span id="more-3617"></span> We have made this decision to help consolidate the content efforts within the Blend team at Microsoft. We look forward to continuing our conversation on <a title="BlendInsider" href="http://blendinsider.com/" target="_blank">BlendInsider</a>.</p>
<p>Please don&#8217;t forget that we also offer content through the official <a title="Expression Community site" href="http://expression.microsoft.com/en-us/" target="_blank">Expression Community site</a>!</p>
<p>Best,<br />
The Expression IQ Team</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3617</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with Behaviors</title>
		<link>http://expressioniq.com/?p=3595</link>
		<comments>http://expressioniq.com/?p=3595#comments</comments>
		<pubDate>Mon, 05 Mar 2012 22:50:36 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[Windows Phone]]></category>
		<category><![CDATA[behaviors]]></category>
		<category><![CDATA[interaction]]></category>
		<category><![CDATA[interactive]]></category>
		<category><![CDATA[UIElement]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3595</guid>
		<description><![CDATA[A behavior is simply an encapsulation of logic. It is something you attach to an element, and this “attachment” in turn causes the element to behavior differently, for instance, becomes interactive. Behaviors give designers more flexibility in designing interactive UIs without the need to write any code. When using Expression Blend, a designer no longer [...]]]></description>
			<content:encoded><![CDATA[<p>A behavior is simply an encapsulation of logic. It is something you attach to an element, and this “attachment” in turn causes the element to behavior differently, for instance, becomes interactive. <span id="more-3595"></span>Behaviors give designers more flexibility in designing interactive UIs without the need to write any code. When using Expression Blend, a designer no longer needs to wait for a developer to write code for things like drag&amp;drop, or input validation functionality, etc. because Blend comes prepackaged with all sorts of built-in behaviors. Blend (Expression Blend 4) comes with the following groups of built-in behaviors:</p>
<ol>
<li>Animation behaviors</li>
<li>Data behaviors</li>
<li>Navigation behaviors</li>
<li>Triggers</li>
<li>Visual state behaviors</li>
<li>Conditional behaviors.</li>
</ol>
<p>A lot of these built-in behaviors do not require any additional work to function and are very simple to use. Some however, require additional work like creating and modifying conditions in the <strong>Properties</strong> panel, and this can be a requirement in cases where you’re using conditional behaviors to link an action to an event when a comparison evaluates to true.</p>
<p>Behaviors are located in the <strong>Assets</strong> panel under the <strong>Behaviors</strong> category. For instance the following behaviors are exposed in a Windows Phone project:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/03/asset_panel_behaviors.png" rel="wp-prettyPhoto[g3595]"><img class="alignnone size-full wp-image-3597" title="asset_panel_behaviors" src="http://expressioniq.com/wp-content/uploads/2012/03/asset_panel_behaviors.png" alt="" width="286" height="358" /></a></p>
<p>Let’s create a simple demo app that uses one of the built-in behaviors.</p>
<ul>
<li>Start Expression Blend (<strong>Start</strong> –&gt;<strong>All Programs–&gt;Microsoft Expression–&gt;Microsoft Expression Blend</strong> <strong>4</strong>).</li>
<li>Create a new project (<strong>File–&gt;New Project</strong>, or from the <strong>Welcome</strong> screen, click <strong>New Project</strong>).</li>
<li>On the <strong>New Project</strong> dialog box under <strong>Project Types</strong>, click to select <strong>WPF</strong> as the project type then select <strong>WPF Application</strong>.</li>
<li>Under <strong>Name</strong>, give the project a name, for instance “MoveAround”</li>
<li>Next choose a <strong>Location</strong> or go with the default, also select <strong>C#</strong> as the development language.</li>
<li>Click <strong>OK </strong>to create the project.</li>
<li>From the <strong>Tools</strong> panel, double click the Rectangle control to insert it onto the artboard.</li>
<li>From the <strong>Tools</strong> panel, double click the <strong>TextBlock</strong> control to insert it onto the artboard.</li>
</ul>
<p><strong>                Note</strong>: You can style the two elements whichever way you like!</p>
<p>                   <a href="http://expressioniq.com/wp-content/uploads/2012/03/rect_and_label1.png" rel="wp-prettyPhoto[g3595]"><img class="alignnone size-full wp-image-3607" title="rect_and_label" src="http://expressioniq.com/wp-content/uploads/2012/03/rect_and_label1.png" alt="" width="271" height="140" /></a></p>
<ul>
<li>On the <strong>Assets</strong> panel, click <strong>Behaviors</strong>, then click and drag the <strong>MouseDragElementBehavior</strong> to the rectangle control you just added above. Repeat the same step for the <strong>TextBlock </strong>control.</li>
</ul>
<p><strong>Note</strong>: You can drag and drop the <strong>MouseDragElementBehavior</strong> on the two controls either directly on the artboard or by using the <strong>Object and Timeline </strong>panel.</p>
<p><strong>Note</strong>: It’s important to point out that the MouseDragElementBehavior doesn’t work for controls that handle MouseClick events (for example:<strong> Button</strong>, <strong>Textbox</strong>, and <strong>ListBox </strong>controls etc.); however, you can still add this functionality by making that control a child of a control that can be dragged.</p>
<ul>
<li>On the <strong>Project</strong> menu, click <strong>Build Project.</strong></li>
</ul>
<p> <strong>Note</strong>: You can also use keyboard shortcut Ctrl+Shift+B to build the project.</p>
<ul>
<li>On the <strong>Project</strong> menu, click <strong>Run Project </strong>or use keyboard shortcuts<strong>: </strong>F5, Ctrl+F5.</li>
<li>On your running app, click and drag the elements around.</li>
</ul>
<p><strong>Conclusion</strong></p>
<p>As you can see with just a few steps and without writing any code you’re able to drag elements in your app!  That’s it for now, and I hope someone will find this short tutorial helpful!</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3595</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Developing a Windows Phone application in Expression Blend from start to finish: Part 1</title>
		<link>http://expressioniq.com/?p=3566</link>
		<comments>http://expressioniq.com/?p=3566#comments</comments>
		<pubDate>Thu, 23 Feb 2012 05:10:10 +0000</pubDate>
		<dc:creator>Pam</dc:creator>
				<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[SketchFlow]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3566</guid>
		<description><![CDATA[This is the first of a series of articles that shows you how to build a fuel tracking application using Microsoft Expression Blend for Windows Phone. ]]></description>
			<content:encoded><![CDATA[<p><em>This is the first of a series of articles that shows you how to build a fuel tracking application using Microsoft Expression Blend for Windows Phone. </em></p>
<p><span id="more-3566"></span><em>You can <a href="http://go.microsoft.com/FWLink/?211809" target="_blank">download the sample files for the Fuel Tracker application</a> to use as you follow along with the procedures in this series.</em></p>
<p><em>This series is based on &#8220;<a title="MSDN" href="http://msdn.microsoft.com/en-us/library/gg680270(v=pandp.11).aspx" target="_blank">Developing a Windows Phone Application from Start to Finish</a>,&#8221; a tutorial for creating a Windows Phone app using Visual Studio 2010 Express for Windows Phone.</em></p>
<p><em>Where appropriate, links to related resources from the Windows Phone Design Guide will be available to give you more information about certification requirements, design tips, and best practice guideline.</em></p>
<hr />
<h1>Defining your application</h1>
<p>You have an idea for a Windows Phone app? Great! Now, where to begin?</p>
<p>While it may be a cliché, the best place to start is at the beginning.</p>
<p>Think about your app idea, and what you want people to be able to accomplish using your app. Think about the tasks that your user will need to be able complete in order to successfully use your app.</p>
<p>Brainstorming is a great way to get started. Lists, sticky notes, sketches on paper or on a whiteboard, are all great ways to begin. After you have created the list, you can start prioritizing and grouping the tasks so you have a better idea of what is essential to your app, and which tasks are related to one another.</p>
<p>After you have a solid idea of the types of tasks you&#8217;ll need to include and how they might relate to one another, you can start to outline some simple navigation that describes how a user might move from one task to the next.</p>
<p>After you have a good idea of how you think users might be able to navigate your app, you can design the visual details of the app so your app is as nice to look at as it is to use.</p>
<p>The following sections will describe the process of defining the idea for a fuel tracking application.</p>
<h2>Making the list</h2>
<p>When thinking about an app that tracks fuel consumption and mileage, there are a variety of tasks that you might want to include. For example:</p>
<ul>
<li>Enter fill-up information</li>
<li>Calculate miles per gallon (MPG)</li>
<li>Include support for multiple vehicles</li>
<li>Track gas station locations</li>
<li>Track price per gallon (PPG)</li>
<li>Support both imperial and metric units of measure</li>
<li>Enter detailed car information (make, model, year, etc.)</li>
<li>Map of nearby gas stations</li>
<li>View fill-up history</li>
</ul>
<p>While there may be additional tasks that may come to mind, this list accounts for most of the tasks the average user will want to be able to accomplish with a fuel tracking app.</p>
<h2>Prioritizing the list</h2>
<p>While the list of tasks may be a useful place to begin, it is worth revisiting the list and determining what the priorities are for the app that you want to create. You may not want to eliminate any of the tasks. However, you may want to consider which tasks are the highest priority tasks, and use those tasks as the foundation of the first version of your app. Additional tasks that are not<br />
essential, but &#8220;nice to have&#8221; can be given a lower priority and then implemented as enhancements to your existing app at a later date.</p>
<p>For example, if you were to assign values of 1 through 3 (1 being the most important, 3 being the least important) to the tasks in the list, you might find that some of the tasks are absolutely essential, and that other tasks can wait for future versions of your application.</p>
<p>After assigning values to the task list above, you might have a list that looks more like this:</p>
<ul>
<li><strong>Priority 1</strong>
<ul>
<li>Enter fill-up information</li>
<li>Enter car information</li>
<li>View fill-up history</li>
<li>View MPG report</li>
</ul>
</li>
<li><strong>Priority 2</strong>
<ul>
<li>Enter information for multiple cars</li>
<li>Track gas station locations</li>
<li>View a map of gas station locations</li>
</ul>
</li>
<li><strong>Priority 3</strong>
<ul>
<li>Switch from imperial to metric</li>
<li>View PPG report</li>
</ul>
</li>
</ul>
<h2>Grouping the tasks and defining the pages</h2>
<p>Now that you&#8217;ve prioritized the tasks, you can consider the details for each task. Those details will help you group the tasks and define the pages that will help complete those tasks.</p>
<p>For example, &#8220;enter fill-up information&#8221; is a high priority task. What information is included in &#8220;fill-up information&#8221;? Typically, fill-up information includes the date of the fill up, the odometer reading, the number of gallons purchased, and the price per gallon.</p>
<p>Similarly, think about what information is included in &#8220;car information.&#8221; You will want to include the make, the model, and the year. In addition, you may want to add the ability to include a photograph of the car.</p>
<p>In addition to the technical aspects cited above, you might have realized that fill-up, fill-up history, and summary are all interrelated pieces of information, and might be appropriately grouped on one page. It is worth noting that is a lot of information for a very small screen, an issue we will return to in the next section.</p>
<p>You might have also noticed that many of the other pages are only needed rarely, and for very specific circumstances. For example, you might only add a photo once, so the photo chooser page really doesn&#8217;t need navigation to all of the other pages. Similarly, you might review the car information very rarely, and again you probably don&#8217;t need navigation to all of the other pages.</p>
<p>Taking all of this into consideration, a final list of high priority app pages and the associated information might look like this:</p>
<ul>
<li><strong>Main</strong>   Information about the most recent fill-up, a history of previous<br />
fill-ups and snapshot summarizing the overall MPG statistics for the car.</li>
<li><strong>About</strong>   More information about the app, including copyright and author(s).</li>
<li><strong>Fill-up</strong>   Input for current fill-up, including date, gallons, price, and<br />
odometer reading.</li>
<li><strong>Car details</strong>   More information about the car, including make, model, year, and<br />
photo.</li>
<li><strong>Photo chooser</strong>   A page for selecting the photo that you want to use.</li>
</ul>
<h2>Navigation models and navigation flow</h2>
<p>Now that you have more details about the five individual pages and what kind of information each page will contain, it&#8217;s time to start thinking about navigation models and how to navigate between the pages. You do this by creating a navigation prototype.</p>
<p>While you might want to think about how the pages might look, you do not need specific visual design information or controls at this point. Your focus is to create a navigation model that is maximizes the ease of use.</p>
<p>The following steps describe one way to create a prototype.</p>
<ol>
<li>Create sketches that represent the pages of your application. You can use<br />
stick notes, drawings on a white board, pieces of paper, or other quick and easy<br />
tools. If you have Microsoft Expression Blend + SketchFlow, you can use<br />
SketchFlow to create the sketches.<br />
<strong>Note: </strong>Part 2 of this series will show you how to create your prototype using<br />
SketchFlow.</li>
<li>Using your tool of choice, add models of navigation aids, such as hyperlinks,<br />
buttons or Application Bar buttons, to your sketches. Again, you can draw these<br />
aids, or use sticky notes to represent the controls.</li>
<li>You can begin to test the navigation through your pages by thinking through<br />
how these aids might facilitate navigation, and what, if any, additional<br />
navigation aids might be helpful or where information from two pages might be<br />
made available on one page to minimize clicks.</li>
</ol>
<p>In beginning the process of designing the navigation flow, you might think that<br />
you want to include links on every page to every other page of your app.<br />
However, when you get to the real-time testing of this navigation model for the<br />
app, you are likely to encounter the following issues:</p>
<ul>
<li>When you navigate to a Windows Phone page by clicking a navigation button (as<br />
opposed to the Back button), a new instance of the page is created, even if you<br />
have previously visited that page. Although this isn&#8217;t an issue for read-only<br />
pages that only convey information, it is a problem for data-entry pages,<br />
because if a user navigates away from a page, and then returns to it, any<br />
partially-entered data will be gone when the user returns.</li>
<li>When you navigate to a page and then press the Back button, you may expect to<br />
go to the previous page. However, clicking the Back button from the main page of<br />
the app should, by design, close the application. This may become awkward if the<br />
user can navigate directly to the main page from any other page, including the<br />
photo chooser.<br />
<strong>Tip: </strong>Information regarding Back button certification requirements for Windows<br />
Phone app is available in Section 5.2 in the <a href="http://msdn.microsoft.com/en-us/library/hh184840(v=VS.92).aspx">Technical Certification<br />
Requirements</a>.</li>
</ul>
<p>To address these issues, the fuel tracker was modified to use a navigation model where only the first page contains buttons allowing navigation to other pages,<br />
and other pages allow navigation only back to the first page.</p>
<p>In addition to the navigation challenges described above, there is also the problem of how to easily convey a great deal of information on the main page despite having such a small space in which to present the information.</p>
<p>You can use a Pivot or Panorama control for the main page, which provides easily accessible space for additional information without having to create separate pages. You navigate a Pivot control by using tabs. To navigate through a page built using a Panorama control, all you have to do is swipe the screen with your fingertip to access the additional information.</p>
<p>By creating a central hub (the Pivot or Panorama control) that links to additional information, you can create a wheel and spoke style navigation (a central point with navigation “spokes” out from the center). The Windows Phone User Experience Design Guidelines describe this navigation model as a central application hub.</p>
<p>For more information on the central application hub navigation model, see <a title="MSDN" href="http://msdn.microsoft.com/en-us/library/hh202892(v=vs.92).aspx" target="_blank">Central Application Hub with Home Page Menu (Panorama or Pivot Control) for Windows Phone</a> on MSDN.</p>
<p>For more information on designing a navigation model, see <a title="MSDN" href="http://msdn.microsoft.com/en-us/library/hh202903(v=vs.92).aspx" target="_blank">Introduction to Application Structure and Navigation Models for Windows Phone</a> on MSDN.</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/02/FuelTrackerNav.png" rel="wp-prettyPhoto[g3566]"><img class="alignnone size-full wp-image-3574" title="FuelTrackerNav" src="http://expressioniq.com/wp-content/uploads/2012/02/FuelTrackerNav.png" alt="Fuel Tracker navigation" width="454" height="400" /></a></p>
<p>In this model, the main page (App hub) and the About page are reused (a single instance of the same page), while the other pages are newly created each time they are visited.</p>
<p>The Fill-up, Car details, and Photo chooser pages are data-entry pages. Because they are not reused, they are treated like modal dialog boxes. Users can either<br />
tap a save button to save any changes and then navigate back to the first page, or they can tap the Back button to discard any changes and navigate back to the<br />
main page.</p>
<h2>Data</h2>
<p>Now that the navigation model has been chosen, it’s time to think about the data your application will use and how to organize it.</p>
<p>Start by making a list of the data that is essential to your app and logically grouping it. Understanding what data you need will help you determine the controls that you will use in the application and how to pass the data from the UI to the logic portion of your application.</p>
<p>In Displaying Data with Data Binding and Creating Data Classes, you will learn more about how to display the data in the UI and create data classes for your application.</p>
<p>The following list includes some of the data required by the fuel tracker application.</p>
<ul>
<li><strong>Car</strong>
<ul>
<li>Name</li>
<li>Photo</li>
<li>Initial odometer reading</li>
<li>Fill-up history</li>
</ul>
</li>
<li><strong>Fill-up</strong>
<ul>
<li>Date</li>
<li>Odometer reading</li>
<li>Quantity of fuel</li>
<li>Price of the fuel</li>
</ul>
</li>
</ul>
<h2>Conclusion</h2>
<p>Now that you have a plan, you can build a functioning prototype of your plan by using Expression Blend + SketchFlow. Part 2 will show you how to use the Windows Phone templates to create an interactive SketchFlow prototype of the fuel tracker app.</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3566</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Progressive Enhancement &#8211; A Better Web Design Philosophy</title>
		<link>http://expressioniq.com/?p=3550</link>
		<comments>http://expressioniq.com/?p=3550#comments</comments>
		<pubDate>Tue, 24 Jan 2012 03:10:09 +0000</pubDate>
		<dc:creator>Pad</dc:creator>
				<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[Expression Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3550</guid>
		<description><![CDATA[Progressive enhancement is to make your content available to a wider range of browsers.]]></description>
			<content:encoded><![CDATA[<p>For years, web designers have struggled with designing web pages that look great in modern browsers and degrade gracefully in older browsers. Entire sites are devoted to elaborate hacks and workarounds to try to make web pages appear identical in multiple versions of various web browsers. The most current philosophy of web design—<em>progressive enhancement</em>—approaches this problem from the opposite direction.<span id="more-3550"></span></p>
<p>Instead of building a web page from the latest technology and then piling on hacks and workarounds to get it to degrade gracefully, progressive enhancement starts by building a web page that looks good (and is fully functional) in an older browser, and then adding more advanced CSS and JavaScript bits that add value to the browsing experience.</p>
<p>The overall benefit of progressive enhancement is that even the user with the oldest browser has an acceptible experience and the user with a modern browser has a richer experience. An unexpected benefit is that web pages built using progressive enhancement techniques are better SEO (Serach Engine Optimization) scores.</p>
<p>Thinking of it from a dog-training perspective, progressive enhancement eschews negative reinforcement in favor of positive reinforcement. Rather than punishing users who don&#8217;t upgrade their browsers, reward users who do.</p>
<h2>How does it work?</h2>
<p>Depending on which design sites you frequent, you may have encountered any number of creative analogies to describe the progressive enhancement design philosophy: peanut M&amp;M, hamburger, layer cake. While analogies can help us understand complex principles, analogies are always suspect. Besides, progressive enhancement is a simple enough concept that it doesn&#8217;t really need an analogy to explain it.</p>
<p>Here&#8217;s the basic process to build a web page that complies with progressive enhancement design principles:</p>
<ul>
<li>
<h4>Start with the content</h4>
</li>
</ul>
<p style="padding-left: 30px;">This may not be obvious but for mobile browsers, the way to grab your audience is with the quality of your content. Some authors will balk at this but the overall result is (hopefully) a better web experience for everyone.</p>
<ul>
<li>
<h4>Write clean markup</h4>
</li>
</ul>
<p style="padding-left: 30px;">You already know this part. Start with content that uses well-structured, semantic HTML. In addition to improving SEO for the page, even the most rudimentary phone and tablet browsers can still display your content.</p>
<ul>
<li>
<h4>Add styling</h4>
</li>
</ul>
<p style="padding-left: 30px;">Once the content is complete, it&#8217;s time to enhance the presentation, primarily through the addition of CSS styles. Even this process should be broken down into progressive enhancement steps, starting with CSS styles that work in older browsers, then more complex styles that work in modern browsers.</p>
<p style="padding-left: 30px;">A key part of the HTML spec is that every browser (<em>user agent</em> in W3-speak) is expected to ignore markup it doesn&#8217;t understand. For example, a very old (pre-CSS 2) browser might encounter a style rule like the folliwng:</p>
<pre style="padding-left: 60px;">#display-box {
     border: 1px solid #303030;
     border-bottom-style: dashed;
     border-top-color: 7F7F7F;
}</pre>
<p style="padding-left: 30px;">Because the <strong>border</strong> property is supported in CSS 1, a single-pixel dark gray border is drawn around the element that has the ID <strong>display-box</strong> but, because the <strong>border-bottom-style</strong> and <strong>border-top-color properties</strong> are defined in CSS 2, the top and bottom border are not drawn with different styles.</p>
<p style="padding-left: 30px;">Admittedly, this is a very simplified example with an obvious workaround but it does illustrate how simple it is to target enhanced styles for sepcific browsers.</p>
<ul>
<li>
<h4>Add behaviors.</h4>
</li>
</ul>
<p style="padding-left: 30px;">Client-side scripting should be the last feature you add to a page. jQuery, JavaScript, or other client-side scripting should enhance the user experience but not be required to view the page.</p>
<h2>Conclusion</h2>
<p>Remember, the objective of progressive enhancement is to make your content available to a wider range of browsers. Mobile browsing is growing at an impressive rate and old/legacy browsers are still in abundance; your goal should be to provide as many people as possible with a good browsing experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3550</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Working with animation in Expression Blend</title>
		<link>http://expressioniq.com/?p=3512</link>
		<comments>http://expressioniq.com/?p=3512#comments</comments>
		<pubDate>Fri, 13 Jan 2012 03:39:43 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[DoubleAnimationUsingPath]]></category>
		<category><![CDATA[trigger]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3512</guid>
		<description><![CDATA[This is a short refresher tutorial that I have wanted to put out there for some time now regarding how easy it is to create animations in Expression Blend. The System.Windows.Media.Animation namespace provides quite a number of animation classes that can be confusing to a novice user. Another issue to point out from the beginning is [...]]]></description>
			<content:encoded><![CDATA[<p>This is a short refresher tutorial that I have wanted to put out there for some time now regarding how easy it is to create animations in Expression Blend. The <a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.aspx">System.Windows.Media.Animation</a> namespace provides quite a number of animation classes that can be confusing to a novice user. <span id="more-3512"></span></p>
<p>Another issue to point out from the beginning is that there are many types of animations, and you can literally use them almost anywhere, including in styles and control templates. Also animations don’t have to be visuals; you can animate objects that are not part of the UI as long as they meet certain criteria. This is where Expression Blend comes into play! Expression Blend makes the process of figuring out the “what use” or “when to use what” simple and easy!</p>
<p><strong>Create a basic animation project</strong></p>
<p>Let’s create a simple basic animation in Expression Blend and then look behind the covers to see what Blend figured out for us!</p>
<ol>
<li>Start Expression Blend (<strong>Start</strong> &#8211;&gt;<strong>All Programs&#8211;&gt;</strong><strong>Microsoft Expression&#8211;&gt;</strong><strong>Microsoft Expression<br />
Blend</strong> <strong>4</strong>).</li>
<li>Create a new project (<strong>File&#8211;&gt;</strong><strong>New Project</strong>, or from the <strong>Welcome</strong> screen, click <strong>New Project</strong>).</li>
<li>On the <strong>New Project</strong> dialog box under <strong>Project Types</strong>, click select <strong>WPF</strong> as the project type then click <strong>WPF Application</strong>.</li>
<li>Under <strong>Name</strong>, give the project a name, for instance “<em>SimpleAnimation</em>”</li>
<li>Next choose a <strong>Location</strong> or go with the default, and also select C# as the development language.</li>
<li>Click <strong>OK </strong>to create the project.</li>
<li>Add an ellipse with no Fill.</li>
</ol>
<p><strong>Tip</strong>: use the <strong>Properties Inspector</strong> to remove the Fill.</p>
<p>8. With the ellipse object still selected convert the ellipse to a Path. Right click the ellipse object, then select <strong>Path</strong>, and click <strong>Convert to Path:</strong></p>
<p><strong> <a href="http://expressioniq.com/wp-content/uploads/2012/01/ConvertToPath1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3523" title="ConvertToPath" src="http://expressioniq.com/wp-content/uploads/2012/01/ConvertToPath1.png" alt="" width="459" height="334" /></a></strong></p>
<p>9. Next convert the path you just created to look like a winding road. (On the <strong>Tools </strong>panel click to select the <strong>Direct<br />
Selection</strong> tool, then use the <strong>Direct Selection</strong> tool to adjust points on the path).</p>
<p><strong>Tip</strong>: use the <strong>User Guide</strong>, there are several topics that describe how to use this tool in detail. You can also use a <strong>Pen</strong> tool instead of a <strong>Direct Selection</strong> tool to create your winding road.</p>
<p>You should have something like the following or better:):</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/windingRoad1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3525" title="windingRoad" src="http://expressioniq.com/wp-content/uploads/2012/01/windingRoad1.png" alt="" width="459" height="256" /></a></p>
<p>10. Switch to the <strong>Animation </strong>workspace and add another ellipse to the project (On the <strong>Window</strong> menu &#8211;&gt;<strong>Workspaces&#8211;&gt;</strong><strong>Animation</strong>).</p>
<p><strong>Tip</strong>: you can use the keyboard shortcut <strong>F6</strong> to switch between <strong>Animation</strong> and <strong>Design</strong> workspaces.</p>
<p>11. Using the <strong>Object and Timeline</strong> panel to rename the path object to “Road”.</p>
<p>12. Add an ellipse that is 50&#215;50 pixels and position it anywhere next to the path object.</p>
<p><strong>Tip</strong>: use the <strong>Layout</strong> section of the <strong>Properties</strong> panel to set precise values.</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/wheellAdded1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3527" title="wheellAdded" src="http://expressioniq.com/wp-content/uploads/2012/01/wheellAdded1.png" alt="" width="486" height="317" /></a></p>
<p>13. Add a radial gradient fill to the ellipse; also change the color of the stroke to whatever you like.</p>
<p><strong>Tip</strong>: use the <strong>Brushes</strong> panel in the <strong>Properties Inspector</strong>. Mine looks like this:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/wheel1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3529" title="wheel" src="http://expressioniq.com/wp-content/uploads/2012/01/wheel1.png" alt="" width="67" height="68" /></a><br />
14. Rename the ellipse to “wheel”.</p>
<p>15. Change the stroke size of the path object (“road”) to 10.</p>
<p><strong>Tip</strong>: use the <strong>Appearance</strong> panel in the <strong>Properties</strong> <strong>Inspector</strong>.</p>
<p>16. Select both objects (“Road and Wheel”) and convert them to motion path (On the <strong>Object</strong><br />
menu&#8211;&gt;<strong>Path</strong><strong>&#8211;&gt;onvert to Motion Path</strong>). The moment you do this, notice a few important  things that just happened; <strong>Timeline recording</strong> is immediately turned on, a default <strong>Storyboard1</strong> is automatically created for the “wheel” object that we want to animate, and a <strong>RenderTransform</strong> with a <strong>Duration</strong> is applied to the “wheel” element:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/threeImportantThings1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3530" title="threeImportantThings" src="http://expressioniq.com/wp-content/uploads/2012/01/threeImportantThings1.png" alt="" width="580" height="474" /></a></p>
<p>16. Adjust keyframeplaytime as you like, you can make it slow or faster.</p>
<p><strong>Tip</strong>: you can easily adjust a keyframe playhead position by dragging it with your mouse:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/keyframePlayhead1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3532" title="keyframePlayhead" src="http://expressioniq.com/wp-content/uploads/2012/01/keyframePlayhead1.png" alt="" width="247" height="198" /></a></p>
<p>17. Save the project (On the <strong>File</strong> menu&#8211;&gt;<strong>Save</strong>), or use keyboard shortcut <strong>Ctrl+S</strong>.</p>
<p>18. Build the project (On the <strong>Project</strong> menu&#8211;&gt;<strong>Build Project</strong>), or use keyboard<br />
shortcut <strong>Ctrl+Shift+B</strong>.</p>
<p>19. Run the project (On the <strong>Project</strong> menu&#8211;&gt;<strong>Run Project,</strong>) or use keyboard shortcuts<br />
<strong>F5</strong>, or <strong>Ctrl+F5</strong>.</p>
<p>&nbsp;</p>
<p>Did you notice that the storyboard automatically starts when you run the project? This is because a <strong>Trigger </strong>was automatically added when <strong>Storyboard1 </strong>was created:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/trigger1.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3534" title="trigger" src="http://expressioniq.com/wp-content/uploads/2012/01/trigger1.png" alt="" width="664" height="248" /></a></p>
<p>20. Stop running the project and switch to the XAML code editor. Take a look at the resources section:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2012/01/code2.png" rel="wp-prettyPhoto[g3512]"><img class="alignnone size-full wp-image-3537" title="code" src="http://expressioniq.com/wp-content/uploads/2012/01/code2.png" alt="" width="840" height="325" /></a></p>
<p>&nbsp;</p>
<p><strong>Conclusion</strong></p>
<p>There is a lot of interesting things going on here that we didn’t have to figure out that Expression Blend already figured<br />
out for us! As you can see <strong><a href="http://msdn.microsoft.com/en-us/library/system.windows.media.animation.doubleanimationusingpath.aspx">DoubleAnimationUsingPath </a></strong> class is being used. This is a <strong>From/To/By</strong> or <strong>Basic Animation</strong> type, and typically if you want to animate a property that takes a <strong>Double</strong>, such as the width property of an element, you use an animation that produces <strong>Double</strong> values. <strong>Path animations</strong> enable you to use a geometric path in order to produce animated values.</p>
<p>That’s it for now, I hope someone will find this short tutorial useful!</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3512</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Create a Windows Phone web browser app in Expression Blend</title>
		<link>http://expressioniq.com/?p=3433</link>
		<comments>http://expressioniq.com/?p=3433#comments</comments>
		<pubDate>Thu, 15 Dec 2011 23:55:32 +0000</pubDate>
		<dc:creator>Pam</dc:creator>
				<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3433</guid>
		<description><![CDATA[You can easily create a simple web browser for Windows Phone that opens a web site when you enter a URL by using Expression Blend.]]></description>
			<content:encoded><![CDATA[<p>You can easily create a simple web browser for Windows Phone that opens a web site when you enter a URL by using Expression Blend.</p>
<p><span id="more-3433"></span></p>
<h2>Create a new Windows Phone project</h2>
<p>A Windows Phone project in Expression Blend functions just like other Expression Blend projects.</p>
<p>Expression Blend supports the several Windows Phone project types. For this example, we’ll use the Windows Phone application to create a standard Windows Phone application.</p>
<ol>
<li>1. On the <strong>File</strong> menu, click <strong>New Project</strong>.</li>
<li>In the <strong>New Project </strong>dialog box, under <strong>Project types</strong>, click <strong>Windows Phone</strong>.</li>
<li>In the list on the right side of the dialog box, select <strong>Windows Phone application</strong>.</li>
<li>In the <strong>Name </strong>box, type a name for the project. For this example, type <strong>miniBrowser</strong>.</li>
<li>In the <strong>Location </strong>box, browse to the folder where you want to store the project.</li>
<li>In the <strong>Language </strong>box, choose the language that you want to use. For this example, we’ll use <strong>C#</strong>.</li>
<li>In the <strong>Version </strong>box, select the Windows Phone version that you want to target.<br />
<strong>Important: </strong>Version 7.1 is only available when you install the <a title="Windows Phone Developer Tools" href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&amp;id=11321" target="_blank">Windows Phone Developer Tools 7.1</a>. This example also works with Windows Phone version 7.0.</li>
<li>Click <strong>OK</strong>.<br />
<img class="alignnone size-full wp-image-3445" title="Expression Blend New Project dialog box" src="http://expressioniq.com/wp-content/uploads/2011/12/MiniBrowser_NewProject.jpg" alt="" width="558" height="476" /></li>
</ol>
<p>A new Windows Phone project with the Windows Phone template applied opens on the artboard.</p>
<h2>Customize the TitlePanel</h2>
<p>The <strong>TitlePanel</strong> contains the default text at the very top of a Windows Phone page.</p>
<ul>
<li>In the <strong>Objects and Timeline </strong>panel, do the following:</li>
</ul>
<ul>
<li>Expand the <strong>TitlePanel</strong>.<br />
<img class="alignnone size-full wp-image-3454" title="miniBrowser_TitlePanel" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_TitlePanel.jpg" alt="" width="288" height="331" /></li>
<li>Select the <strong>ApplicationTitle </strong>text box. In the <strong>Properties </strong>panel, on the <strong>Common Properties </strong>category, locate the <strong>Text </strong>box, and type <strong>MY FIRST APPLICATION</strong>.<img class="alignnone size-full wp-image-3439" title="miniBrowser_ApplicationTitle" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_ApplicationTitle.jpg" alt="" width="274" height="122" /></li>
<li>Select the <strong>PageTitle </strong>text box. In the <strong>Properties </strong>panel, on the <strong>Common Properties </strong>category, locate the <strong>Text </strong>box, and type <strong>mini browser</strong>.<br />
<img class="alignnone size-full wp-image-3446" title="miniBrowser_PageTitle" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_PageTitle.jpg" alt="" width="274" height="122" />.</li>
</ul>
<h2>Add a TextBox</h2>
<p>The next step is to add a <strong>TextBox </strong>to the project.</p>
<ol>
<li>With the <strong>ContentPanel </strong>selected in the <strong>Objects and Timeline </strong>panel, in the <strong>Assets </strong>panel, locate the <strong>TextBox </strong>control by typing <strong>TextBox </strong>in the <strong>Search </strong>box.</li>
<li>Double-click the <strong>TextBox </strong>to add it to the artboard.<br />
<img class="alignnone size-full wp-image-3449" title="MiniBrowser_TextBox" src="http://expressioniq.com/wp-content/uploads/2011/12/MiniBrowser_TextBox.jpg" alt="" width="424" height="771" /><br />
<strong>Tip</strong>: You can also drag the control to the artboard, or draw the control directly on the artboard with your pointer after you have selected the control in the <strong>Assets </strong>panel.</li>
</ol>
<h2>Modify the TextBox properties</h2>
<p>Modify the <strong>TextBox </strong>by doing the following in the <strong>Properties </strong>panel:</p>
<ol>
<li>In the <strong>Name</strong> text box, type <strong>TextBox</strong>.<br />
<img class="alignnone size-full wp-image-3453" title="miniBrowser_TextBox_Name" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_TextBox_Name.jpg" alt="Expression Blend miniBrowser" width="288" height="99" /></li>
<li>In the <strong>Layout </strong>category, do the following:
<ul>
<li>Set <strong>Width </strong>to <strong>Auto </strong>by clicking <strong>Set to Auto</strong> <img class="alignnone size-full wp-image-3460" title="SetToAuto" src="http://expressioniq.com/wp-content/uploads/2011/12/SetToAuto.jpg" alt="" width="12" height="12" />.</li>
<li>Set <strong>Height </strong>to <strong>Auto </strong>by clicking <strong>Set to Auto</strong> <img class="alignnone size-full wp-image-3460" title="SetToAuto" src="http://expressioniq.com/wp-content/uploads/2011/12/SetToAuto.jpg" alt="" width="12" height="12" />.</li>
<li>Set <strong>HorizontalAlignment </strong>to <strong>Stretch</strong> <img class="alignnone size-full wp-image-3461" title="Stretch" src="http://expressioniq.com/wp-content/uploads/2011/12/Stretch.jpg" alt="" width="16" height="16" />.</li>
<li>Set <strong>VerticalAlignment </strong>to <strong>Top</strong> <img class="alignnone size-full wp-image-3462" title="Top" src="http://expressioniq.com/wp-content/uploads/2011/12/Top.jpg" alt="" width="16" height="16" />.<br />
<img class="alignnone size-full wp-image-3452" title="miniBrowser_TextBox_LayoutProperties" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_TextBox_LayoutProperties.jpg" alt="" width="273" height="269" /></li>
</ul>
</li>
<li>In the <strong>Common Properties </strong>category, do the following:
<ul>
<li>In the <strong>Text </strong>box, type <strong>http://www.xbox.com</strong>.</li>
<li>In the <strong>InputScope </strong>drop-down list, select <strong>Url</strong>. This will limit the text input for the address bar to URL formatted strings.<br />
<img class="alignnone size-full wp-image-3451" title="miniBrowser_TextBox_CommonProperties" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_TextBox_CommonProperties.jpg" alt="" width="272" height="240" /></li>
</ul>
</li>
</ol>
<h2>Add a Button</h2>
<p>The next step is to add a <strong>Button</strong> to the project.</p>
<ol>
<li>With the <strong>ContentPanel </strong>selected in the <strong>Objects and Timeline </strong>panel, in the <strong>Assets </strong>panel, locate the <strong>Button </strong>control by typing <strong>Button </strong>in the <strong>Search </strong>box.</li>
<li>Double-click the <strong>Button</strong> to add it to the artboard.</li>
</ol>
<h2>Modify the Button properties</h2>
<p>Modify the <strong>Button </strong>by doing the following in the <strong>Properties </strong>panel:</p>
<ol>
<li>In the <strong>Name</strong> text box, type <strong>Button</strong>.<br />
<img class="alignnone size-full wp-image-3442" title="miniBrowser_Button_Name" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_Button_Name.jpg" alt="" width="288" height="103" /></li>
<li>In the <strong>Layout</strong>category, do the following:
<ul>
<li>Set <strong>Width</strong> to <strong>Auto</strong> by clicking <strong>Set to Auto</strong> <img class="alignnone size-full wp-image-3460" title="SetToAuto" src="http://expressioniq.com/wp-content/uploads/2011/12/SetToAuto.jpg" alt="" width="12" height="12" />.</li>
<li>Set <strong>Height</strong> to <strong>Auto</strong> by clicking <strong>Set to Auto</strong> <img class="alignnone size-full wp-image-3460" title="SetToAuto" src="http://expressioniq.com/wp-content/uploads/2011/12/SetToAuto.jpg" alt="" width="12" height="12" />.</li>
<li>Set <strong>HorizontalAlignment</strong> to <strong>Right</strong> <a href="http://expressioniq.com/wp-content/uploads/2011/12/Right.jpg" rel="wp-prettyPhoto[g3433]"><img class="alignnone size-full wp-image-3508" title="Right" src="http://expressioniq.com/wp-content/uploads/2011/12/Right.jpg" alt="" width="16" height="16" /></a>.</li>
<li>Set <strong>VerticalAlignment</strong> to <strong>Top</strong> <img class="alignnone size-full wp-image-3462" title="Top" src="http://expressioniq.com/wp-content/uploads/2011/12/Top.jpg" alt="" width="16" height="16" />.<br />
<img class="alignnone size-full wp-image-3441" title="miniBrowser_Button_LayoutProperties" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_Button_LayoutProperties.jpg" alt="" width="274" height="270" /></li>
</ul>
</li>
<li>In the <strong>Common Properties </strong>category, in the <strong>Content</strong> box, type <strong>Go</strong>.<strong><br />
</strong><img class="alignnone size-full wp-image-3440" title="miniBrowser_Button_CommonProperties" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_Button_CommonProperties.jpg" alt="" width="272" height="145" /></li>
<li>Adjust the <strong>TextBox </strong>width by using the on-object handle on the right side of the <strong>TextBox</strong> and dragging it to the right so that it no longer obscures the <strong>Button</strong>.<img class="alignnone size-full wp-image-3450" title="MiniBrowser_TextBox_Adjust" src="http://expressioniq.com/wp-content/uploads/2011/12/MiniBrowser_TextBox_Adjust.jpg" alt="" width="405" height="117" /></li>
</ol>
<h2>Add a WebBrowser</h2>
<p>The next step is to add a <strong>WebBrowser</strong> control to the project.</p>
<ol>
<li>With the <strong>ContentPanel </strong>selected in the <strong>Objects and Timeline </strong>panel, in the <strong>Assets </strong>panel, locate the <strong>WebBrowser </strong>control by typing <strong>WebBrowser </strong>in the <strong>Search </strong>box.</li>
<li>Double-click the <strong>WebBrowser </strong>control to add it to the artboard.<br />
<img class="alignnone size-full wp-image-3455" title="MiniBrowser_WebBrowser" src="http://expressioniq.com/wp-content/uploads/2011/12/MiniBrowser_WebBrowser.jpg" alt="" width="424" height="771" /></li>
</ol>
<h2>Modify the WebBrowser properties</h2>
<p>Modify the <strong>WebBrowser</strong> by doing the following in the <strong>Properties </strong>panel:</p>
<ol>
<li>In the <strong>Name </strong>text box, type <strong>WebBrowser</strong>.<br />
<img class="alignnone size-full wp-image-3459" title="miniBrowser_WebBrowser_Name" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_WebBrowser_Name.jpg" alt="" width="288" height="103" /></li>
<li>In the <strong>Layout</strong>category, do the following:
<ul>
<li>Set <strong>Width </strong>to <strong>Auto </strong>by clicking <strong>Set to Auto</strong> <img class="alignnone size-full wp-image-3460" title="SetToAuto" src="http://expressioniq.com/wp-content/uploads/2011/12/SetToAuto.jpg" alt="" width="12" height="12" />.</li>
<li>Set <strong>Height </strong>to <strong>Auto </strong>by clicking <strong>Set to Auto</strong> <img class="alignnone size-full wp-image-3460" title="SetToAuto" src="http://expressioniq.com/wp-content/uploads/2011/12/SetToAuto.jpg" alt="" width="12" height="12" />.</li>
<li>Set <strong>HorizontalAlignment </strong>to <strong>Stretch</strong> <img class="alignnone size-full wp-image-3461" title="Stretch" src="http://expressioniq.com/wp-content/uploads/2011/12/Stretch.jpg" alt="" width="16" height="16" />.</li>
<li>Set <strong>VerticalAlignment </strong>to <strong>Stretch</strong> <img class="alignnone size-full wp-image-3461" title="Stretch" src="http://expressioniq.com/wp-content/uploads/2011/12/Stretch.jpg" alt="" width="16" height="16" />.<br />
<strong>Tip:</strong> To reset the <strong>Layout</strong> properties to their default settings, in the <strong>Objects and Timeline</strong> panel or on the artboard, click the <strong>WebBrowser</strong> element. In the <strong>Layout </strong>category, to the right of the property, click <strong>Advanced Options</strong>, and then click <strong>Reset</strong>.<br />
<img class="alignnone size-full wp-image-3458" title="miniBrowser_WebBrowser_LayoutProperties" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_WebBrowser_LayoutProperties.jpg" alt="" width="274" height="270" /></li>
</ul>
</li>
<li>In the <strong>Common Properties </strong>category, select <strong>IsScriptEnabled</strong>.<br />
<img class="alignnone size-full wp-image-3457" title="miniBrowser_WebBrowser_CommonProperties" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_WebBrowser_CommonProperties.jpg" alt="" width="274" height="194" /></li>
<li>Adjust the <strong>WebBrowser </strong>height by using the on-object handle on the top of the <strong>WebBrowser </strong>and dragging it to so that it no longer overlaps with <strong>TextBox </strong>and <strong>Button</strong>.</li>
</ol>
<h2>Modify the SupportedOrientation properties</h2>
<ul>
<li>With the <strong>PhoneApplicationPage</strong> selected in the <strong>Objects and Timeline </strong>panel, in the <strong>SupportedOrientation </strong>drop-down list in the <strong>Properties </strong>panel, select <strong>PortraitOrLandscape</strong>.<br />
<img class="alignnone size-full wp-image-2968" title="Expression Blend - PortraitOrLandscape" src="http://expressioniq.com/wp-content/uploads/2011/07/ExpressionBlendPortraitOrLandscape.jpg" alt="Expression Blend - PortraitOrLandscape" width="274" height="163" /></li>
</ul>
<h2>Add code</h2>
<p>This step will add the code to implement the <strong>Go</strong> button.</p>
<ol>
<li>With the <strong>Button </strong>selected in the <strong>Objects and Timeline </strong>panel, in the <strong>Properties </strong>panel, click <strong>Events </strong>.</li>
<li>Double-click the <strong>Click </strong>text box. MainPage.xaml.cs opens.</li>
<li>Locate the following text:<span style="font-family: courier;">// TODO: Add event handler implementation here</span>.</li>
<li>Replace the text you just located with the following script:<span style="font-family: courier;">string site = TextBox.Text;<br />
WebBrowser.Navigate(new Uri(site, UriKind.Absolute));</span></li>
</ol>
<h2>Run the application</h2>
<p>You are now ready to run the application by pressing F5. After the project builds, the app will open in the Windows Phone Emulator.</p>
<p>To view the xBox web site in the browser, click <strong>Go</strong>.</p>
<p>You can switch between <strong>Portrait</strong> and <strong>Landscape</strong> views by hovering over the emulator and then clicking one of the <strong>Rotate</strong> icons.</p>
<p><img class="alignnone size-full wp-image-3448" title="miniBrowser_Portrait" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_Portrait.jpg" alt="" width="499" height="846" /></p>
<p><img class="alignnone size-full wp-image-3444" title="miniBrowser_Landscape_resized" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_Landscape_resized.jpg" alt="" width="600" height="324" /></p>
<p>You can also type a URL directly into the text box to navigate to different web site by pressing <strong>Go</strong>.</p>
<p><img class="alignnone size-full wp-image-3438" title="miniBrowser_AddressBar" src="http://expressioniq.com/wp-content/uploads/2011/12/miniBrowser_AddressBar.jpg" alt="" width="388" height="718" /></p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3433</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Crop video in a Live Broadcasting project</title>
		<link>http://expressioniq.com/?p=3401</link>
		<comments>http://expressioniq.com/?p=3401#comments</comments>
		<pubDate>Mon, 05 Dec 2011 22:37:38 +0000</pubDate>
		<dc:creator>Elliot</dc:creator>
				<category><![CDATA[Expression Encoder]]></category>
		<category><![CDATA[edit]]></category>
		<category><![CDATA[encoding]]></category>
		<category><![CDATA[screen capture]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3401</guid>
		<description><![CDATA[One of the main requests for the next version of Expression Encoder was the ability to crop your sources in a Live Broadcasting Project. We heard, and now, that option is available in Service Pack 2, which is the newly-released version of Expression Encoder 4.]]></description>
			<content:encoded><![CDATA[<p>One of the main requests for the next version of Expression Encoder was the ability to crop your sources in a Live Broadcasting Project. We heard, and now, that option is available in Service Pack 2, which is the newly-released version of Expression Encoder 4. You can crop both your live and file source videos, to any dimension. Depending upon your resize choices, the cropped video will either display a letterbox in the cropped area or will stretch the source video to match the crop dimensions, just as it works in the Silverlight and Transcoding projects. It’s a simple thing to do. Here’s how.<span id="more-3401"></span></p>
<h2>Cropping your video</h2>
<ol>
<li>Depending upon what type of video you want to crop, you can either choose it from the <strong>Live Sources</strong> or the <strong>File Sources</strong> panel. If you choose from the <strong>Live Sources</strong> panel, note that you can choose both a live source and <strong>Screen Capture</strong> as a source. If the <strong>Video Device</strong> menu is inactive in the <strong>Live Sources</strong> tab, then click <strong>Add Device Source </strong>. To add a file source, click <strong>Add File Source</strong>  in the <strong>File Sources </strong>tab.
<div id="attachment_3412" class="wp-caption alignnone" style="width: 330px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/FileLiveSources.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3412" title="FileLiveSources" src="http://expressioniq.com/wp-content/uploads/2011/12/FileLiveSources.png" alt="" width="320" height="660" /></a><p class="wp-caption-text">The File and Live Sources panels.</p></div>
<p>&nbsp;</li>
<li>At the bottom of either of the panels, click <strong>Show/Hide Advanced Properties <a href="http://expressioniq.com/wp-content/uploads/2011/12/ShowHide.png" rel="wp-prettyPhoto[g3401]"><img class="alignnone size-full wp-image-3417" title="ShowHide" src="http://expressioniq.com/wp-content/uploads/2011/12/ShowHide.png" alt="" width="14" height="12" /></a></strong>to reveal the <strong>Crop </strong>section.
<div id="attachment_3410" class="wp-caption alignnone" style="width: 358px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/CropWindow.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3410" title="CropWindow" src="http://expressioniq.com/wp-content/uploads/2011/12/CropWindow.png" alt="" width="348" height="129" /></a><p class="wp-caption-text">The Crop window.</p></div>
<p>&nbsp;</li>
<li>Select <strong>Crop </strong>to activate the crop section.
<div id="attachment_3416" class="wp-caption alignnone" style="width: 211px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/SelectCrop.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3416" title="SelectCrop" src="http://expressioniq.com/wp-content/uploads/2011/12/SelectCrop.png" alt="" width="201" height="84" /></a><p class="wp-caption-text">Selecting Crop.</p></div>
<p>&nbsp;</li>
<li>
<div class="mceTemp">
<p>Notice the <strong>Width</strong> and <strong>Height</strong> values. By default, they display the width and height of the source video, or the width and height of the area of the screen that you will capture. If you like, you can change the dimensions of the screen capture area. Below the <strong>Video Device</strong> menu, click <strong>Configure</strong>. Then, in the <strong>Properties</strong> dialog box, type new numbers for the <strong>Width</strong> and <strong>Height</strong>values. You can also change other aspects of the screen capture in this dialog box. For more information on the screen capture properties, see the Expression Encoder Help. </p>
<div id="attachment_3408" class="wp-caption alignnone" style="width: 514px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/ConfigProp.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3408" title="ConfigProp" src="http://expressioniq.com/wp-content/uploads/2011/12/ConfigProp.png" alt="" width="504" height="490" /></a><p class="wp-caption-text">Clicking configure to display the screen capture Properties.</p></div>
<p>&nbsp;</p>
</div>
</li>
<li>Do either of the following to change the cropped area:
<ul>
<li>To adjust the resolution, drag the <strong>Width</strong> and <strong>Height</strong> values or click the value to select it and type new values. If you want to retain the source aspect ratio of the footage as you crop it, make sure that <strong>Maintain aspect ratio</strong> is locked. You will need to click the lock icon to lock or unlock the aspect ratio. If you choose to maintain the aspect ratio, then the output video will be stretched to match the new resolution. If you chose not to maintain aspect ratio, then Expression Encoder will letterbox or pillarbox the cropped area, depending upon the dimension that you adjust.</li>
<li>To adjust the location of the cropped area, drag the <strong>Left </strong>and <strong>Top </strong>values or click the value to select it and type new values.</li>
</ul>
<div id="attachment_3405" class="wp-caption alignnone" style="width: 360px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/ChangeWidth.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3405" title="ChangeWidth" src="http://expressioniq.com/wp-content/uploads/2011/12/ChangeWidth.png" alt="" width="350" height="136" /></a><p class="wp-caption-text">Changing the crop width.</p></div>
<p>&nbsp;</li>
<li>
<div class="mceTemp">
<p> Now, if you haven’t already done it, set the audio device or the output type, as the <strong>Preview</strong> screen instructs. Selecting an output type determines how you broadcast your project, or if you archive it as a file. If you want to preview your crop, you may want to first choose <strong>Broadcast</strong> or <strong>File Archive</strong>. If you choose File Archive, make sure that you note the default directory where the archive will be stored. There is no special provision for previewing your crop, but the following steps will guide you through creating a simple output that you can delete later, and, more importantly, allow you to see your crop settings.</p>
<div id="attachment_3415" class="wp-caption alignnone" style="width: 536px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/PreviewOutput.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3415 " title="PreviewOutput" src="http://expressioniq.com/wp-content/uploads/2011/12/PreviewOutput.png" alt="" width="526" height="558" /></a><p class="wp-caption-text">Selecting an Output Type.</p></div>
<p>&nbsp;</p>
</div>
</li>
<li>
<div class="mceTemp">
<div class="mceTemp">Make sure that, in the <strong>Live Sources</strong> or <strong>File Sources</strong> window, that you click <strong>Cue</strong> on the thumbnail representing your cropped image.</div>
</div>
<div id="attachment_3411" class="wp-caption alignnone" style="width: 177px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/Cue.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3411" title="Cue" src="http://expressioniq.com/wp-content/uploads/2011/12/Cue.png" alt="" width="167" height="203" /></a><p class="wp-caption-text">Clicking Cue.</p></div></li>
<li class="mceTemp">Once you set your output type, to preview your crop, click <strong>Start</strong>.
<p><div id="attachment_3418" class="wp-caption alignnone" style="width: 609px"><a href="http://expressioniq.com/wp-content/uploads/2011/12/StartPreview.png" rel="wp-prettyPhoto[g3401]"><img class="size-full wp-image-3418 " title="StartPreview" src="http://expressioniq.com/wp-content/uploads/2011/12/StartPreview.png" alt="" width="599" height="328" /></a><p class="wp-caption-text">Clicking Start to begin the preview.</p></div>
<p>Note the letterboxing in the cropped area. Also note the green line to the right of the image. This measures your audio input. If you are happy with your crop, then press <strong>Stop</strong> to end the preview and continue with building your project. You may want to make sure that you delete the file created by the preview, if you chose <strong>File Archive</strong> as your output method (that’s why I had you note the location where the file will be saved, though it should still be listed in the File Archive section). However, if you want to further refine your crop, then repeat the steps from Step 4 until you are satisfied.</li>
</ol>
<p>That’s it. From there, you can create your broadcast, knowing now that your images are properly cropped. Consult Expression Encoder Help for more details on creating a Live Broadcast.</p>
<p>Thanks for reading. Happy encoding!</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3401</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Updates to the Expression Blend User Guide</title>
		<link>http://expressioniq.com/?p=3372</link>
		<comments>http://expressioniq.com/?p=3372#comments</comments>
		<pubDate>Wed, 16 Nov 2011 02:08:02 +0000</pubDate>
		<dc:creator>Pam</dc:creator>
				<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[Windows Phone]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3372</guid>
		<description><![CDATA[Updates to the Expression Blend User Guide are available <a href="http://msdn.microsoft.com/en-us/library/cc296227.aspx" title="Expression Blend User Guide" target="_blank">online</a> and when you install the <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&#038;id=27570" title="Windows Phone SDK 7.1 download" target="_blank">Windows Phone Developer Tools</a>.]]></description>
			<content:encoded><![CDATA[<p>Updates to the Expression Blend User Guide are available <a href="http://msdn.microsoft.com/en-us/library/cc296227.aspx" title="Expression Blend User Guide" target="_blank">online</a> and when you install the <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&#038;id=27570" title="Windows Phone SDK 7.1 download" target="_blank">Windows Phone Developer Tools</a>. The Windows Phone Developer Tools include Expression Blend for Windows Phone updates for developing Windows Phone 7.5 applications.</p>
<p>When you install the <a href="http://www.microsoft.com/download/en/details.aspx?displaylang=en&#038;id=27570" title="Windows Phone SDK 7.1 download" target="_blank">Windows Phone Developer Tools</a>, the updated Expression Blend User Guide is installed as well.</p>
<p>Updates to the User Guide include bug fixes, enhancements to existing content, and new content that helps you create WPF, Silverlight, and Windows Phone applications.</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3372</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Visual State Manager (VSM) &#8211; part II</title>
		<link>http://expressioniq.com/?p=3342</link>
		<comments>http://expressioniq.com/?p=3342#comments</comments>
		<pubDate>Mon, 14 Nov 2011 06:26:58 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[Expression Blend]]></category>
		<category><![CDATA[states]]></category>
		<category><![CDATA[transitions]]></category>
		<category><![CDATA[vsm]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3342</guid>
		<description><![CDATA[In this article I will continue where we left off in part 1 (Visual State Manger (VSM) part 1), and continue with our discussion on how to create States in Expression Blend using the States panel.  In part 1, we created three different states or “look and feel” for our button:   In this tutorial, [...]]]></description>
			<content:encoded><![CDATA[<p>In this article I will continue where we left off in part 1 <a href="http://expressioniq.com/?p=3173">(Visual State Manger (VSM) part 1)</a>, and continue with our discussion on how to create States in Expression Blend using the States panel.  In <a href="http://expressioniq.com/?p=3173">part 1</a>, we created three different states or “look and feel” for our button:<br />
<span id="more-3342"></span><br />
 <a href="http://expressioniq.com/wp-content/uploads/2011/11/button_states1.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3351" title="button_states" src="http://expressioniq.com/wp-content/uploads/2011/11/button_states1.png" alt="" width="458" height="89" /></a></p>
<p>In this tutorial, our next task is to add these states to our button using the States panel in Expression Blend.</p>
<h2><span style="color: #ff9900;">Creating the States</span></h2>
<ol>
<li>Open the previous project you created in <a href="http://expressioniq.com/?p=3173">part 1</a></li>
<li>Click on the <strong>States</strong> panel, and it should be empty:</li>
</ol>
<p>&nbsp;</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/11/states_panel1.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3352" title="states_panel" src="http://expressioniq.com/wp-content/uploads/2011/11/states_panel1.png" alt="" width="349" height="162" /></a></p>
<p>3.        Next click on the Add State Group button to add a new visual state group:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/11/states21.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3353" title="states2" src="http://expressioniq.com/wp-content/uploads/2011/11/states21.png" alt="" width="284" height="71" /></a></p>
<p>A state group is just a container for various states you want to define. After a State group has been created notice that a Base state is also created:</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/11/states31.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3354" title="states3" src="http://expressioniq.com/wp-content/uploads/2011/11/states31.png" alt="" width="283" height="116" /></a></p>
<p>4.    Rename the VisualStateGroup to whatever you want.</p>
<p>5.    Next click on the Add State button, this automatically turns on the VisualState recording mode:</p>
<p>&nbsp;</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/11/statesRecordingMode1.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3355" title="statesRecordingMode" src="http://expressioniq.com/wp-content/uploads/2011/11/statesRecordingMode1.png" alt="" width="484" height="136" /></a></p>
<p><strong>Note:</strong></p>
<p>While the Storyboard recording mode typically suggests keyframing, the State Storyboard in this case is <strong>NOT</strong> intended to manually do any animation changes between states.  A state only needs to be represented as a Storyboard so that you can create in-state (or steady-state) animation; not so you can define transitions. A lot of times you really don’t need to do any work to define transitions because they’re auto-generated.</p>
<p>6.     Rename this visual state to “<em>Natural</em>”. This will be our default look for the button.</p>
<p>7.     Add two more visual states for the “<em>MouseOver</em>” and “<em>MouseDown</em>”.</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/11/states41.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3356" title="states4" src="http://expressioniq.com/wp-content/uploads/2011/11/states41.png" alt="" width="349" height="184" /></a></p>
<p>&nbsp;</p>
<p><strong>Tip</strong></p>
<p>If you want to remove a state or a state group simply click on the <strong>Delete state</strong> or <strong>Delete state group</strong> button<a href="http://expressioniq.com/wp-content/uploads/2011/11/delete_state.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3358" title="delete_state" src="http://expressioniq.com/wp-content/uploads/2011/11/delete_state.png" alt="" width="17" height="15" /></a> .</p>
<p>8.      While in recording mode click on each default state and you will notice that the selected object on the artboard automatically reflects the defined state.</p>
<h2><span style="color: #ff9900;">Setting Transitions</span></h2>
<p>Transitions define the animation applied when a State of an object change occurs. Good transitions are used to keep your users focused on a user interface (<strong>UI</strong>) state change and object manipulations. When properly used, transitions add the illusion of interacting with real-world objects.  You typically want change between states to be gradual rather than quick and sudden.</p>
<p>In our case, we want to add a transition when a user mouse over the default “<em>Natural state</em>”, or when a user mouse over and click the (“<em>Mouse Over”)</em> state<em>.</em></p>
<p><em>9.     </em>The <strong>Default transition</strong> is our entry point for our transitions so let’s customize the Easing function to 200 milliseconds (0.2).</p>
<p> <a href="http://expressioniq.com/wp-content/uploads/2011/11/easingFunction1.png" rel="wp-prettyPhoto[g3342]"><img class="alignnone size-full wp-image-3359" title="easingFunction" src="http://expressioniq.com/wp-content/uploads/2011/11/easingFunction1.png" alt="" width="288" height="184" /></a></p>
<p>&nbsp;</p>
<p>Easing functions provide acceleration, deceleration, bounce, and spring functionality into animation.</p>
<h2><span style="color: #ff9900;">End of part II</span></h2>
<p>In part III, we will wire-up everything and see how everything works. We will talk about Behaviors in Expression Blend and how to change States programmatically. I hope this helps someone, until next time, cheers for now!</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3342</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>CSS3 Advanced Selectors</title>
		<link>http://expressioniq.com/?p=3282</link>
		<comments>http://expressioniq.com/?p=3282#comments</comments>
		<pubDate>Tue, 25 Oct 2011 00:26:14 +0000</pubDate>
		<dc:creator>Pad</dc:creator>
				<category><![CDATA[Expression Studio]]></category>
		<category><![CDATA[Expression Web]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://expressioniq.com/?p=3282</guid>
		<description><![CDATA[More fun with CSS3.]]></description>
			<content:encoded><![CDATA[<p>Continuing on in the exploration of new and interesting things that can be done with CSS3, in this article, I&#8217;ll explore some of the new CSS selectors.<br />
Pseudo-classes enable selection of specific parts of elements without the pain of adding <strong>span</strong> tags. CSS3 introduces several new and powerful pseudo-classes (and pseudo-elements, but I&#8217;ll talk about those another time).<br />
<span id="more-3282"></span></p>
<p>I have bad news and good news. The bad news first: CSS—even CSS3—can be boring. And CSS selectors are probably one of the best examples of just how boring CSS can be. The good news is that the better you know and understand CSS selectors the easier and more productive your design work will be.</p>
<h2>CSS3 Drop Caps</h2>
<p>Web sites that follow a magazine layout have long been in the habit of using the :first-line and :first-letter pseudo-classes to add drop-caps and a uniquely styled first line, such as the following:</p>
<div style="width: 440px; padding: 0 0.5em; margin: 0 1em; border: 1px solid #CFCFCF;">
<p><span style="font-variant: small-caps;"><span style="font-size: 2.5em; float: left; color: #20307f; padding: .1em; margin: .15em .1em 0 0; line-height: 1em; border: 1px #307F20 solid;">S</span>uspendisse accumsan, nisi id cursus adipiscing, felis felis tristique</span> orci, at pharetra ipsum tellus sit amet arcu. Pellentesque fringilla est. Vestibulum risus.</p>
<p><span style="font-variant: small-caps;"><span style="font-size: 2.5em; float: left; color: #20307f; padding: .1em; margin: .15em .1em 0 0; line-height: 1em; border: 1px #307F20 solid;">S</span>ed dui tortor, cursus quis, elementum eleifend, fermentum in, felis.</span> Integer pulvinar urna. Sed ultrices. Sed quam ligula, sodales quis, semper quis, dapibus aliquet, arcu.</p>
<p><span style="font-variant: small-caps;"><span style="font-size: 2.5em; float: left; color: #20307f; padding: .1em; margin: .15em .1em 0 0; line-height: 1em; border: 1px #307F20 solid;">Q</span>uisque nec dui. Sed eros nibh, suscipit ac, dignissim ut, iaculis</span> consequat, magna. Cras vehicula dolor quis nisi.</p>
</div>
<p>As you can see, the downside of this technique is that it applies that unique styling to <em>every</em> paragraph, which frankly dilutes the uniqueness of the styling. The easy workaround is to add a unique class to the first paragraph</p>
<pre>p.first-para:first-line {
    font-weight: bold;
    font-size: 1.2em;
    font-variant: small-caps;
 }</pre>
<p>Of course, that technique has downsides of its own, particularly in that it doesn&#8217;t give you any automation benefit. What we want is a CSS rule that will automatically format the first letter and line of each article. Having to add a unique class is no more automatic than wrapping the first letter in <strong>span</strong> tags.</p>
<p>Fortunately, CSS3 solves that problem.</p>
<p>Using the <strong>div&gt;p:first-of-type</strong> pseudo-class automatically selects only the first <strong>p</strong> element in the <strong>div</strong>.</p>
<pre>div&gt;.paramag2:first-of-type {
    font-style: italic;
    color: #4F173C;
 }
 div&gt;.paramag2:first-of-type:first-line {
    font-weight: bold;
    font-size: 1.2em;
    font-variant: small-caps;
 }
 div&gt;.paramag2:first-of-type::first-letter {
    font-size: 2.5em;
    float : left;
    color: #20307F;
 }</pre>
<p>From there we can add simple style declarations, plus we can uniquely style the first paragraph in the article.</p>
<div style="width: 440px; padding: 0 0.5em; margin: 0 1em; border: 1px solid #CFCFCF;">
<p style="font-style: italic; color: #4f173c;"><span style="font-variant: small-caps;"><span style="font-size: 2.5em; float: left; color: #20307f; padding: .1em; margin: .15em .1em 0 0; line-height: 1em; border: 1px #307F20 solid;">S</span>uspendisse accumsan, nisi id cursus adipiscing, felis felis tristique</span> orci, at pharetra ipsum tellus sit amet arcu. Pellentesque fringilla est. Vestibulum risus.</p>
<p>Sed dui tortor, cursus quis, elementum eleifend, fermentum in, felis. Integer pulvinar urna. Sed ultrices. Sed quam ligula, sodales quis, semper quis, dapibus aliquet, arcu.</p>
<p>Quisque nec dui. Sed eros nibh, suscipit ac, dignissim ut, iaculis consequat, magna. Cras vehicula dolor quis nisi.</p>
</div>
<h2>CSS3 Table Shading</h2>
<p>Another common styling task that used to require a lot of hand-coding is a long table of data.</p>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/10/table-unadorned1.gif" rel="wp-prettyPhoto[g3282]"><img class="alignnone size-full wp-image-3295" title="table-unadorned" src="http://expressioniq.com/wp-content/uploads/2011/10/table-unadorned1.gif" alt="" width="470" height="154" /></a></p>
<p>For tables with a lot of columns, the readability options devolved to just a few choices: use border lines to delineate rows; hand-code background colors for alternating rows (or alternating groups of rows); or use JavaScript to apply background colors for alternating rows.</p>
<p>The new CSS3 pseudo-class :nth-child was made for situations such as this.<br />
Adding only the following line to the CSS automatically applies background-color shading to alternate rows:</p>
<pre>tr:nth-child (odd) {background-color: #BFEAC0;}</pre>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/10/table-basic.gif" rel="wp-prettyPhoto[g3282]"><img class="alignnone size-full wp-image-3296" title="table-basic" src="http://expressioniq.com/wp-content/uploads/2011/10/table-basic.gif" alt="" width="470" height="154" /></a></p>
<p>For  a slightly more elaborate view that hearkens back to the good old days of tractor-feed, dot-matrix printers, the following two lines automatically apply background-color shading to alternating groups of two rows:</p>
<pre>tr:nth-child (4n-1) {background-color: #BFEAC0;}
tr:nth-child (4n) {background-color: #BFEAC0;}</pre>
<p><a href="http://expressioniq.com/wp-content/uploads/2011/10/table-drow.gif" rel="wp-prettyPhoto[g3282]"><img class="alignnone size-full wp-image-3297" title="table-drow" src="http://expressioniq.com/wp-content/uploads/2011/10/table-drow.gif" alt="" width="470" height="154" /></a></p>
<p>I will freely admit that most of what I&#8217;ve shown here is not at all what you might call fun-filled excitement. But it&#8217;s predictable, it&#8217;s automatic, and the browser results are not unattractive.</p>
<p>Still to come are gradients, which are cool even without consistent browser support, and media queries, the gateway to an awesome mobile browsing experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://expressioniq.com/?feed=rss2&#038;p=3282</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

