<?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>dispatchEvent()™ &#187; User Experience</title>
	<atom:link href="http://dispatchevent.org/category/ux/feed/" rel="self" type="application/rss+xml" />
	<link>http://dispatchevent.org</link>
	<description>Collective thoughts on the Flash Platform, iOS, Unity, and any other technology we use.</description>
	<lastBuildDate>Mon, 23 Apr 2012 19:07:06 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>IA Design Patterns</title>
		<link>http://dispatchevent.org/mims/ia-design-patterns/</link>
		<comments>http://dispatchevent.org/mims/ia-design-patterns/#comments</comments>
		<pubDate>Tue, 20 May 2008 01:00:12 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[Site-seeing]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.extends.eventdispatcher.org/?p=274</guid>
		<description><![CDATA[Here&#8217;s a site with some cool IA patterns. Nice One If you liked that, there&#8217;s more at Yahoo&#8217;s Design Pattern Library. This link is from Information Aesthetics&#8230; aaand there&#8217;s more like this on Ethan Eismann&#8217;s blog who is incidentally an Adobe Thermo Developer.]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a site with some cool IA patterns.<br />
<a href="http://niceone.org/infodesign/">Nice One</a><br />
If you liked that, there&#8217;s more at <a href="http://developer.yahoo.com/ypatterns/">Yahoo&#8217;s Design Pattern Library</a>.<br />
This link is from <a href="http://infosthetics.com/">Information Aesthetics</a>&#8230; aaand there&#8217;s more like this on <a href="http://eismann-sf.com/news">Ethan Eismann&#8217;s blog</a> who is incidentally an <a href="http://labs.adobe.com/wiki/index.php/Thermo">Adobe Thermo</a> Developer.</p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/ia-design-patterns/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The State pattern in Flex &#8211; combining view states with logical states</title>
		<link>http://dispatchevent.org/mims/the-state-pattern-in-flex-combining-view-states-with-logical-states/</link>
		<comments>http://dispatchevent.org/mims/the-state-pattern-in-flex-combining-view-states-with-logical-states/#comments</comments>
		<pubDate>Wed, 23 Jan 2008 07:15:17 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[AS3]]></category>
		<category><![CDATA[Flex]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Tips, Tricks, and Hacks]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=229</guid>
		<description><![CDATA[If you&#8217;ve used Flex, you&#8217;ve no doubt (er, hopefully) been using View States (AKA &#60;mx:State&#62;) to change the look of your RIA as it progresses through different situations of use. While this is immeasurably useful, it does not necessarily qualify as an implementation of the State Design Pattern which allows you to change not only [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;ve used Flex, you&#8217;ve no doubt (er, hopefully) been using <a href="http://livedocs.adobe.com/flex/2/docs/wwhelp/wwhimpl/common/html/wwhelp.htm?context=LiveDocs_Parts&#038;file=00000923.html#321190">View States</a> (AKA &lt;mx:State&gt;) to change the look of your RIA as it progresses through different situations of use. While  this is immeasurably useful, it does not necessarily qualify as an implementation of the <a href="http://www.google.com/url?sa=t&#038;ct=res&#038;cd=5&#038;url=http%3A%2F%2Fwww.cs.umd.edu%2Fclass%2Ffall2002%2Fcmsc433-0101%2FLectures%2FdesignPatterns2.pdf&#038;ei=xtWWR6W9Ao-siAHp6_zbCQ&#038;usg=AFQjCNET3tf19Z44Ejoy9f-ilwgu_3ahrg&#038;sig2=XkAAY1IAvln2Hmpt-plpGQ">State Design Pattern</a> which allows you to change not only how a component looks but how it <em>functions</em> as well.<br />
(for more on design patterns, read my favorite book <a href="http://www.amazon.com/Head-First-Design-Patterns/dp/0596007124/tag=dis03-20">Head first design patterns</a>).<br />
<span id="more-229"></span><br />
Take the following example for a &#8220;Breakfast maker&#8221; application. </p>
<p><a href='http://dispatchevent.org/wp-content/uploads/2008/01/logicalstatedemo.zip' title='LogicalStateDemo'>Download Source!</a></p>
<p><code><strong>StateDemo.mxml</strong></code></p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot; xmlns:local=&quot;*&quot; currentState=&quot;{ENGLISH}&quot;&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[
			// define the state names as constants
			static public const ENGLISH:String = &quot;English&quot;;
			static public const FRENCH:String = &quot;French&quot;;

			/**
			 * When the &quot;make breakfast&quot; button is clicked, display the steps
			 * you'll need to follow to make breakfast.
			 * Imagine that you'd need to implement all of these steps as functions
			 * and that there are several more languages to support.
			 */
			protected function onBreakfastButton(event:Event):void {
				if (currentState == ENGLISH) {
					output.text = &quot;Fry eggs&quot; +
								  &quot;\nFry tomatoes&quot; +
								  &quot;\nToast bread&quot; +
								  &quot;\nMake tea&quot;;
				}
				if (currentState == FRENCH) {
					output.text = &quot;Tartiner du beurre sur baguette&quot; +
								  &quot;\nMettre le yaourt dans un bol&quot; +
								  &quot;\nTranche les fruits&quot; +
								  &quot;\nFaire cafe&quot;;
				}

			}
		]]&gt;
	&lt;/mx:Script&gt;

	&lt;!-- Define the changes to the view in the &lt;mx:states&gt; tags --&gt;
	&lt;mx:states&gt;
		&lt;mx:State name=&quot;{ENGLISH}&quot;&gt;
			&lt;mx:SetProperty target=&quot;{breakfastButton}&quot; name=&quot;label&quot; value=&quot;Make Breakfast&quot; /&gt;
		&lt;/mx:State&gt;
		&lt;mx:State name=&quot;{FRENCH}&quot;&gt;
			&lt;mx:SetProperty target=&quot;{breakfastButton}&quot; name=&quot;label&quot; value=&quot;	Pr&Atilde;&copy;parer des petits-d&Atilde;&copy;jeuners&quot; /&gt;
		&lt;/mx:State&gt;
	&lt;/mx:states&gt;

	&lt;mx:VBox&gt;
		&lt;mx:Button id=&quot;breakfastButton&quot; click=&quot;onBreakfastButton(event)&quot; /&gt;
		&lt;mx:TextArea id=&quot;output&quot;  height=&quot;100&quot; width=&quot;250&quot;/&gt;
		&lt;mx:HBox&gt;
			&lt;!-- Swap states using these buttons --&gt;
			&lt;mx:Button label=&quot;English&quot; click=&quot;{currentState = ENGLISH}&quot; /&gt;
			&lt;mx:Button label=&quot;French&quot; click=&quot;{currentState = FRENCH}&quot; /&gt;
		&lt;/mx:HBox&gt;
	&lt;/mx:VBox&gt;
&lt;/mx:Application&gt;
</pre>
<p>Compiling this code gives you the following&#8230;<br />
<a href="/wp-content/uploads/2008/01/statedemo.swf">View SWF</a></p>
<h2>The problem</h2>
<p>While there&#8217;s nothing inherently wrong with this application, there could be complications when trying to make changes to the logic. First of all, the <code>onButtonClick()</code> handler has to provide different functionality based on the <code>currentState</code>. The states themselves need to add labels to the <code>breakfastButton</code>. Imagine what would happen if you expanded this application to support 15 languages or to create lunch, dinner, and teatime. Things could get out of control fast!</p>
<h2>The Solution &#8211; applying the state design pattern</h2>
<p>The state design pattern allows you to separate out state specific functionality and defer the execution of methods to those state objects. </p>
<p><img src='http://dispatchevent.org/wp-content/uploads/2008/01/picture-2.png' alt='BasicStatePatternDiagram' /></p>
<p>I&#8217;ll combine the state pattern with the view states by making a <code>currentLogicalState</code> property of the application. This setter will also automatically set the <code>currentState</code> based on a name stored in the <code>currentLogicalState</code>. This is easier done than said&#8230;</p>
<h3>1. Define a logical state interface</h3>
<p>My logical state interface only needs to have one getter for <code>name</code> so that we can associate it with a view state.<br />
<strong><br />
<code><strong>ILogicalState.as</strong></code></p>
<pre>
package
{
	public interface ILogicalState
	{
		function get name():String;
	}
}
</pre>
<h3>2. create a customized state interface for this application</h3>
<p>This interface should contain any methods that are state dependent. </p>
<p><code><strong>IBreakfastMakerState.as</strong></code></p>
<pre>
package
{
	public interface IBreakfastMakerState extends ILogicalState
	{
		function get breakfastInstructions():String;
		function get breakfastLabel():String;
	}
}
</pre>
<p>Note that this interface extends ILogicalState.</p>
<h3>3. create state classes</h3>
<p>I&#8217;ll create two different state classes, one for English breakfast and one for French Breakfast. Each will implement the <code>IBreakfastMakerState</code> interface and will provide the functionality needed to prepare the appropriate breakfast.</p>
<p><code><strong>EnglishBreakfastState.as</strong></code></p>
<pre>
package
{
	public class EnglishBreakfastState implements IBreakfastMakerState
	{
		public function get name():String
		{
			return "English";
		}

		public function get breakfastInstructions():String
		{
			return "Fry eggs" +
				   "\nToast bread" +
				   "\nFry tomatoes" +
				   "\nMake tea";
		}
		public function get breakfastLabel():String {
			return "Make Breakfast";
		}
	}
}
</pre>
<p><code><strong>FrenchBreakfastState.as</strong></code></p>
<pre>
package
{
	public class FrenchBreakfastState implements IBreakfastMakerState
	{
		public function get name():String
		{
			return "French";
		}

		public function get breakfastInstructions():String
		{
			return "Tartiner du beurre sur baguette" +
				   "\nMettre le yaourt dans un bol" +
				   "\nTranche les fruits" +
				   "\nFaire cafe";
		}

		public function get breakfastLabel():String {
			return "PrÃ©parer des petits-dÃ©jeuners";
		}
	}
}
</pre>
<h3>4. Refactor StateDemo.mxml</h3>
<p>Finally, rewrite the StateDemo.mxml to take advantage of the new state objects and call it LogicalStateDemo.mxml. (Note, this application should run exactly the same as StateDemo.mxml)</p>
<p><code><strong>LogicalStateDemo.mxml</strong></code></p>
<pre>
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;mx:Application xmlns:mx=&quot;http://www.adobe.com/2006/mxml&quot; layout=&quot;absolute&quot; xmlns:local=&quot;*&quot;
	initialize=&quot;onInitialize(event)&quot;&gt;
	&lt;mx:Script&gt;
		&lt;![CDATA[

			// define the logical states as constants
			static public const ENGLISH:IBreakfastMakerState = new EnglishBreakfastState();
			static public const FRENCH:IBreakfastMakerState = new FrenchBreakfastState();

			/**
			 * keep track of the current logical state and when the currentLogicalState changes
			 * update the currentState using its name property.
			 */
			protected var _currentLogicalState:IBreakfastMakerState;
			public function set currentLogicalState(state:IBreakfastMakerState):void {
				_currentLogicalState = state;
				currentState = _currentLogicalState.name;
			}

			protected function onInitialize(event:Event):void {
				currentLogicalState = ENGLISH;
			}

			protected function onBreakfastButton(event:Event):void {
				// rely on the logical state to handle the logic of preparing the breakfast.
				output.text = _currentLogicalState.breakfastInstructions;
			}
		]]&gt;
	&lt;/mx:Script&gt;

	&lt;!-- Define the changes to the view in the &lt;mx:states&gt; tags --&gt;
	&lt;mx:states&gt;
		&lt;!-- Name each view state using the name of the logical state --&gt;
		&lt;mx:State name=&quot;{ENGLISH.name}&quot;&gt;
			&lt;!-- Change the label using a value from the logical state --&gt;
			&lt;mx:SetProperty target=&quot;{breakfastButton}&quot; name=&quot;label&quot; value=&quot;{ENGLISH.breakfastLabel}&quot; /&gt;
		&lt;/mx:State&gt;
		&lt;mx:State name=&quot;{FRENCH.name}&quot;&gt;
			&lt;mx:SetProperty target=&quot;{breakfastButton}&quot; name=&quot;label&quot; value=&quot;{FRENCH.breakfastLabel}&quot; /&gt;
		&lt;/mx:State&gt;
	&lt;/mx:states&gt;

	&lt;mx:VBox&gt;
		&lt;mx:Button id=&quot;breakfastButton&quot; click=&quot;onBreakfastButton(event)&quot; /&gt;
		&lt;mx:TextArea id=&quot;output&quot;  height=&quot;100&quot; width=&quot;250&quot;/&gt;
		&lt;mx:HBox&gt;
			&lt;!-- Swap logical states using these buttons --&gt;
			&lt;mx:Button label=&quot;English&quot; click=&quot;{currentLogicalState = ENGLISH}&quot; /&gt;
			&lt;mx:Button label=&quot;French&quot; click=&quot;{currentLogicalState = FRENCH}&quot; /&gt;
		&lt;/mx:HBox&gt;
	&lt;/mx:VBox&gt;
&lt;/mx:Application&gt;
</pre>
<p><em>Et voila!</em> A state pattern that works with the existing view states. This may seem like a lot of work for such a simple thing but it will really pay off in the long run on a complicated RIA.</p>
<p><a href='http://dispatchevent.org/wp-content/uploads/2008/01/logicalstatedemo.zip' title='LogicalStateDemo'>Download Source!</a></p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/the-state-pattern-in-flex-combining-view-states-with-logical-states/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Leopard 10.5 supports 512 pixel icons</title>
		<link>http://dispatchevent.org/mims/leopard-105-supports-512-pixel-icons/</link>
		<comments>http://dispatchevent.org/mims/leopard-105-supports-512-pixel-icons/#comments</comments>
		<pubDate>Wed, 28 Nov 2007 16:22:37 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Mac OS X]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=206</guid>
		<description><![CDATA[While playing around with Icon Composer in the newest version of XCode Tools for I noticed that Leopard now supports 512&#215;512 pixel icons &#8211; much larger than the older 128&#215;128 pixel icons. I assume this has to do with the Cover Flow view for the Finder which displays icons much larger than the other views. [...]]]></description>
			<content:encoded><![CDATA[<p>While playing around with <a href="http://developer.apple.com/documentation/Cocoa/Conceptual/ObjCTutorial/08Configuring/chapter_8_section_5.html">Icon Composer</a> in the newest version of <a href="http://developer.apple.com/tools/xcode/">XCode Tools</a> for I noticed that Leopard now supports 512&#215;512 pixel icons &#8211; much larger than the older 128&#215;128 pixel icons. I assume this has to do with the Cover Flow view for the Finder which displays icons much larger than the other views. Sure enough, Apple have redesigned all their icons for the new format and they look gorgeous. I took some screen grabs of my favourites. Click the thumbnails to see the details. Notice the small text in the iTunes and Dictionary icons and the textures on the truck and the guitar. Hawt!</p>
<p><em>Click for full size</em></p>
<p><a href='http://dispatchevent.org/wp-content/uploads/2007/11/dictionary.jpg' title='Dictionary icon'><img src='http://dispatchevent.org/wp-content/uploads/2007/11/dictionary.thumbnail.jpg' alt='Dictionary icon' /></a></p>
<p>Dictionary</p>
<p><br/><br />
<a href='http://dispatchevent.org/wp-content/uploads/2007/11/garageband.jpg' title='Garage band icon'><img src='http://dispatchevent.org/wp-content/uploads/2007/11/garageband.thumbnail.jpg' alt='Garage band icon' /></a></p>
<p>Garage Band</p>
<p><br/><br />
<a href='http://dispatchevent.org/wp-content/uploads/2007/11/itunes.jpg' title='iTunes icon'><img src='http://dispatchevent.org/wp-content/uploads/2007/11/itunes.thumbnail.jpg' alt='iTunes icon' /></a></p>
<p>iTunes</p>
<p><br/><br />
<a href='http://dispatchevent.org/wp-content/uploads/2007/11/textedit.jpg' title='TextEdit icon'><img src='http://dispatchevent.org/wp-content/uploads/2007/11/textedit.thumbnail.jpg' alt='TextEdit icon' /></a></p>
<p>TextEdit</p>
<p><br/><br />
<a href='http://dispatchevent.org/wp-content/uploads/2007/11/transmit.jpg' title='Transmit icon'><img src='http://dispatchevent.org/wp-content/uploads/2007/11/transmit.thumbnail.jpg' alt='Transmit icon' /></a></p>
<p>Transmit</p>
<p><br/></p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/leopard-105-supports-512-pixel-icons/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Napkintop web design for maximum impact</title>
		<link>http://dispatchevent.org/mims/napkintop-web-design-for-maximum-impact/</link>
		<comments>http://dispatchevent.org/mims/napkintop-web-design-for-maximum-impact/#comments</comments>
		<pubDate>Mon, 26 Nov 2007 23:11:08 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Client-side]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Site-seeing]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=203</guid>
		<description><![CDATA[This link is an oldie but a goodie. It has helped me remember to KISS countless times and to focus on the needs of users when designing sites. Check it out. An Introduction to Using Patterns in Web Design [37 Signals]]]></description>
			<content:encoded><![CDATA[<p>This link is an oldie but a goodie. It has helped me remember to KISS countless times and to focus on the needs of users when designing sites. Check it out.</p>
<p><a href="http://www.37signals.com/papers/introtopatterns/">An Introduction to Using Patterns in Web Design</a> [<a href="http://www.37signals.com">37 Signals</a>]<br />
<a href="http://www.37signals.com/papers/introtopatterns/"><img src="http://www.37signals.com/papers/introtopatterns/whole-1.gif" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/napkintop-web-design-for-maximum-impact/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to replace HTML with Flash</title>
		<link>http://dispatchevent.org/mims/how-to-replace-html-with-flash/</link>
		<comments>http://dispatchevent.org/mims/how-to-replace-html-with-flash/#comments</comments>
		<pubDate>Tue, 27 Feb 2007 20:05:52 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Site-seeing]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://mimswright.com/blog/?p=106</guid>
		<description><![CDATA[Create your page Replace the text Replace the images Replace everything else]]></description>
			<content:encoded><![CDATA[<ol>
<li>Create your page</li>
<li><a href="http://wiki.novemberborn.net/sifr/">Replace the text</a></li>
<li><a href="http://www.swfir.com/">Replace the images</a></li>
<li><a href="http://www.5etdemi.com/blog/archives/2005/04/building-a-flash-front-end-for-wordpress-1-logging-into-the-admin-area/">Replace everything else</a></li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/how-to-replace-html-with-flash/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Oldest New Feature Awards</title>
		<link>http://dispatchevent.org/mims/oldest-new-feature-awards/</link>
		<comments>http://dispatchevent.org/mims/oldest-new-feature-awards/#comments</comments>
		<pubDate>Mon, 22 Jan 2007 16:26:31 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Architecture]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.mimswright.com/?p=83</guid>
		<description><![CDATA[OK, OK, I promised myself I wouldn&#8217;t knock on Vista until I&#8217;ve really given it a fair shot, and I think that&#8217;s what I was doing when I went to the Vista features showcase too see what fantastic new innovations are on their way from Redmond. I&#8217;m sure it&#8217;s no surprise that most of them [...]]]></description>
			<content:encoded><![CDATA[<p>OK, OK, I promised myself I wouldn&#8217;t knock on Vista until I&#8217;ve really given it a fair shot, and I think that&#8217;s what I was doing when I went to the <a href="http://www.microsoft.com/windowsvista/features/foreveryone/performance.mspx">Vista features showcase</a> too see what fantastic new innovations are on their way from Redmond. I&#8217;m sure it&#8217;s no surprise that most of them had already been <a href="http://video.google.com/videoplay?docid=2674791799339834706">fantastically innovated</a> by their competitors.</p>
<p>But there are some among these which many of us have been enjoying for so long now that they are as much features of an operating system as a steering wheel is a feature of a car. So without further ado, I present </p>
<h2>The Oldest New Feature Awards</h2>
<p><span id="more-83"></span></p>
<h2>The Michael Chertoff Award for Preparedness goes to</h2>
<p><img id="image86" src="http://dispatchevent.org/wp-content/uploads/2007/01/security.thumbnail.jpg" alt="Security" /></p>
<blockquote>
<h3>Security</h3>
<p>Windows Vista includes compelling security features that make it even more secure than earlier Windows client operating systems. You can achieve your business and computing goals with confidence, knowing that Windows Vista provides more protection against the latest generation of security threats through new features and fundamentally more secure architecture.</p>
<p>Windows Vista also builds upon the User Account Protection initiative by default, limiting Internet Explorer 7 to just enough permissions to browse the web, but not enough to modify your files or settings keeping your PC safer from web-based attacks.</p>
</blockquote>
<p>So let me get this straight, when you&#8217;re browsing the web, <em><u>don&#8217;t</u></em> expose system files to hackers. Why didn&#8217;t I think of that!?</p>
<h2>The William Lumberg Award for Office Achievements goes to</h2>
<p><img id="image85" src="http://dispatchevent.org/wp-content/uploads/2007/01/fax.thumbnail.jpg" alt="Fax" /></p>
<blockquote>
<h3>Faxing and Scanning</h3>
<p>Faxing and scanning functions come together in Windows Vista through Windows Fax and Scan. Sending and receiving faxes through your PC is now as simple as performing the same tasks on a fax machine, especially for digital documents.</p>
</blockquote>
<p>Only for Windows users would performing tasks on a fax machine actually be considered simple.</p>
<h2>The Linus Torvalds Award for Best Thing about NOT using Windows</h2>
<p><img id="image84" src="http://dispatchevent.org/wp-content/uploads/2007/01/sleep.thumbnail.jpg" alt="Sleep" /></p>
<blockquote>
<h3>Sleep</h3>
<p>Windows Vista introduces a new power state called Sleep. The new Sleep state in Windows Vista combines the speed of Standby with the data protection features and low power consumption of Hibernate. Resuming use when your PC is in the Sleep state takes just 2-3 seconds. You can shut down and restart your computer less often by using the new Sleep state, a simple one-click on and off experience which not only reduces power consumption, but also helps protect your data.</p>
</blockquote>
<p>My Powarboke has done this for years, but you&#8217;ll be amazed at how great it is when you turn off Vista!</p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/oldest-new-feature-awards/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wiiality Check</title>
		<link>http://dispatchevent.org/mims/wiiality-check/</link>
		<comments>http://dispatchevent.org/mims/wiiality-check/#comments</comments>
		<pubDate>Sun, 12 Nov 2006 20:22:21 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[User Experience]]></category>
		<category><![CDATA[Videogames]]></category>

		<guid isPermaLink="false">http://blog.mimswright.com/?p=62</guid>
		<description><![CDATA[Last week, I had a chance to demo a Wii at the Nintendo World Store and these are my impressions&#8230; First, the WiiMote control. I had seen the ads but was nonetheless astonished at the range of motions that could be detected by the controller. However, some games responded jerkily especially when using the infrared [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, I had a chance to demo a Wii at the <a href="http://www.nintendoworldstore.com/">Nintendo World Store</a> and these are my impressions&#8230;<br />
<img id="image63" src="http://dispatchevent.org/wp-content/uploads/2006/11/wii.jpg" alt="Wii demos at Nintendo World" /></p>
<p><span id="more-62"></span></p>
<p>First, the WiiMote control. I had seen the ads but was nonetheless astonished at the range of motions that could be detected by the controller. However, some games responded jerkily especially when using the infrared pointer. I&#8217;d say the control responded the way I would expect about 85% of the time which isn&#8217;t bad but could be improved.</p>
<p>I played 3 games for about 5 minutes each. It was hardly enough time to make a fair assessment but I must say I was a little disappointed.</p>
<p><strong>Wii Sports</strong></p>
<p>&#8220;Hey look, you can use the WiiMote to play sports!&#8221; Wii sports was little more than a demo of the wireless controller. I played tennis followed by bowling. While the prospect of controlling your racket by swinging your controller conceptually was tantilizing to me, the actual gameplay felt a lot more like pong. I couldn&#8217;t seem to find any measure of control beyond either [swing-and-hit] or [swing-and-miss]. Bowling was similarly lifeless.</p>
<p><strong>Excite Truck</strong></p>
<p>&#8220;Hey look, you can use the WiiMote to drive a truck!&#8221; The Nintendo Store dude showed me that I simply turn the controller this way to turn right and that way to turn left. This button accelerates, that button breaks. OK sure. So I&#8217;m driving with the WiiMote. But who cares? This game was decidedly NOT fun.</p>
<p><strong>WarioWare Smooth Moves</strong></p>
<p>All was not lost. WarioWare was the perfect mix of innovative control mixed with innovative game design that I was looking for. The Warioware series continues to impress me with its simplicity and creativity and is only improved by the versitility of the remote control interface. I  LOL&#8217;d at least 3 times while (literally) cranking, jumping, drawing, and even hula-hooping.</p>
<p>Overall, the games seem to be shallow and uninventive relying solely on the gimmick of the WiiMote which did not hold my interest for more than the first 2 minutes. I left the store with a distinct taste of &#8220;Dave and Busters&#8221; in my mouth.</p>
<p>I wouldn&#8217;t get your hopes up too much for the Wii launch titles. i&#8217;m still holding out hope for some of the games coming down the line (plus I didn&#8217;t get to play Zelda which will probably tip the scales).</p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/wiiality-check/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fashion Preview Hooks</title>
		<link>http://dispatchevent.org/mims/fashion-preview-hooks/</link>
		<comments>http://dispatchevent.org/mims/fashion-preview-hooks/#comments</comments>
		<pubDate>Tue, 17 Oct 2006 11:23:59 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[IRL]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.mimswright.com/?p=48</guid>
		<description><![CDATA[My newest efforts in ultimate closet optimization are what I call &#8220;Fashion Preview Hooks&#8482;&#8221; (pat. pend.). I installed mine last night! The installation is simple. Just attach 2 hooks of any kind at approximately eye and belly-button level and aligned vertically. That&#8217;s it. Now you have Fashion Preview Hooks! These hooks have a couple of [...]]]></description>
			<content:encoded><![CDATA[<p>My newest efforts in ultimate closet optimization are what I call &#8220;Fashion Preview Hooks&trade;&#8221; (pat. pend.). I installed mine last night!
<p/>
<p>The installation is simple. Just attach 2 hooks of any kind at approximately eye and belly-button level and aligned vertically. That&#8217;s it. Now you have Fashion Preview Hooks!</p>
<p>These hooks have a couple of uses. If you&#8217;re trying to put an outfit together you can preview it by hanging your shirt on the top hook and pants on the bottom hook and swap them out quickly without having to try each one on. Also, when you go to bed at night you can throw your outfit for the next day on the wall.
</p>
<p><a href="http://dispatchevent.org/wp-content/uploads/2006/11/FashionPreviewHooks-2041.jpg"><img id="image58" src="http://dispatchevent.org/wp-content/uploads/2006/11/FashionPreviewHooks-2041.thumbnail.jpg" alt="Fashion Hooks 1" /></a> &nbsp;&nbsp;<a href="http://dispatchevent.org/wp-content/uploads/2006/11/FashionPreviewHooks-2040.jpg"><img id="image57" src="http://dispatchevent.org/wp-content/uploads/2006/11/FashionPreviewHooks-2040.thumbnail.jpg" alt="Fashion Hooks 2" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/fashion-preview-hooks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Making Accessible Flash with without the Accessibility class</title>
		<link>http://dispatchevent.org/mims/making-accessible-flash-without-the-accessibility-class/</link>
		<comments>http://dispatchevent.org/mims/making-accessible-flash-without-the-accessibility-class/#comments</comments>
		<pubDate>Tue, 01 Aug 2006 16:22:56 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[Flash]]></category>
		<category><![CDATA[Tutorial]]></category>
		<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://blog.mimswright.com/?p=17</guid>
		<description><![CDATA[A couple of years ago I attended a seminar on Flash&#8217;s accessibility features put on by Macromedia. They were very proud of themselves but to be quite honest, it was laughable. To actually create an accessible site using Flash&#8217;s interface would be incredibly time consuming and full of workarounds and hacks. For example, assigning alt [...]]]></description>
			<content:encoded><![CDATA[<p><!-- ckey="17ECFE16" -->A couple of years ago I attended a seminar on Flash&#8217;s accessibility features put on by Macromedia. They were very proud of themselves but to be quite honest, it was laughable. To actually create an accessible site using Flash&#8217;s interface would be incredibly time consuming and full of workarounds and hacks. For example, assigning alt tags to all but  the most basic graphics and animations is very time consuming. Also creating and managing tab indexes for every selectable element is a nightmare but actually, quite a necessary step since the <a title="Tab oder test" id="p16" href="http://mimswright.com/blog/wp-content/uploads/2006/08/TABTEST.swf">built in algorithm</a> for tabbing does not go in an intuitive order (thanks, <a title="Microsoft" target="_blank" href="http://www.theregister.co.uk/2004/09/07/microsoft_patents_keyboard_navigation/">Microsoft</a>!)</p>
<p>Learning all of this, however, did help me to realize however some of the ways that Flash can be used to make an accessible site WITHOUT using the Accessibility package. Here are some points.</p>
<ul>
<li>There&#8217;s more to accessibility than blindness. You&#8217;re also designing for the colour blind, the hearing impaired, the elderly, people who cannot hold a mouse steady, people with learning disabilities, &#038;c.</li>
</ul>
<ul>
<li>Make text large and readable. Make buttons large and clickable.</li>
</ul>
<ul>
<li>Provide keyboard shortcuts to common tasks. Allow users to navigate using the keyboard and assign tab orders where appropriate.</li>
</ul>
<ul>
<li>Avoid using colour to provide contrast in your designs (ie. red text on green background). To check this, turn the saturation all the way down on your monitor.</li>
</ul>
<ul>
<li>Take advantage of Flash&#8217;s multimedia abilities to display both audio content and visual content (including subtitles)</li>
</ul>
<ul>
<li>Make it in XHTML. No seriously. If possible put the entire contents of the site in XHTML which is easily handled by screen readers. If you still need Flash, hide the flat version with CSS and scrape the XHTML for data!</li>
</ul>
<ul>
<li>Test your work on <a href="http://lynx.browser.org/">Lynx</a> or better, turn on your screen reader! A lot of the tricks for determining search engine visibility apply to screen readers.</li>
</ul>
<p>A lot of this just comes down to good design that doesn&#8217;t get in the way of the content making it as easy to <em>access</em> as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/making-accessible-flash-without-the-accessibility-class/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A lesson in Interface Design</title>
		<link>http://dispatchevent.org/mims/a-lesson-in-interface-design/</link>
		<comments>http://dispatchevent.org/mims/a-lesson-in-interface-design/#comments</comments>
		<pubDate>Fri, 14 Jul 2006 21:30:11 +0000</pubDate>
		<dc:creator>Mims H Wright</dc:creator>
				<category><![CDATA[User Experience]]></category>

		<guid isPermaLink="false">http://www.mimswright.com/blog/?p=3</guid>
		<description><![CDATA[While riding the freight elevator up to my office (I&#8217;ve been meaning to lose some weight so I can use the normal one) I noticed the sixth floor button does not light up. When this first came to my attention, I tried pressing multiple times and even banging on it but the button remained eerily [...]]]></description>
			<content:encoded><![CDATA[<p>While riding the freight elevator up to my office (I&#8217;ve been meaning to lose some weight so I can use the normal one) I noticed the sixth floor button does not light up. When this first came to my attention, I tried pressing multiple times and even banging on it but the button remained eerily dark. I concluded that it might have been broken or perhaps that the sixth floor no longer existed. As I wondered uncomfortably, a curious thing happened &#8211; the elevator stopped at the sixth floor after all! I realized that it wasn&#8217;t the button but the indicator light on the button that was broken.</p>
<p>I feel that this story taught me a valuable lesson about what can happen when an interface fails to communicate with it&#8217;s client. Although I&#8217;ve learned from experience that the elevator is indeed going to my floor, there was a moment where I was not only uninformed but on some unconscious level confused, uncomfortable, and afraid. Let us all remember from this experience how important it is to provide feedback to the user!</p>
<p>Thank you.</p>
<p><img alt="6th Floor" src="http://www.mimswright.com/blog/wp-content/uploads/2006/07/6th-floor.jpg" /></p>
]]></content:encoded>
			<wfw:commentRss>http://dispatchevent.org/mims/a-lesson-in-interface-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

