<?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>Paper Arrow &#187; lessons learnt</title>
	<atom:link href="http://paperarrow.com/blog/tag/lessons-learnt/feed/" rel="self" type="application/rss+xml" />
	<link>http://paperarrow.com/blog</link>
	<description>Notes from the quiver...</description>
	<lastBuildDate>Tue, 02 Nov 2010 04:53:56 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4-beta2-20460</generator>
		<item>
		<title>to err is human</title>
		<link>http://paperarrow.com/blog/2009/08/to-err-is-human/</link>
		<comments>http://paperarrow.com/blog/2009/08/to-err-is-human/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 08:22:39 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Technical Communication]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[lessons learnt]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://paperarrow.com/blog/?p=64</guid>
		<description><![CDATA[One recent afternoon, I got drafted into reviewing and editing a bunch of error messages for a product. It was supposed to be a quick one hour work. But these assignments never really turn out be an hour’s job. All &#8230; <a href="http://paperarrow.com/blog/2009/08/to-err-is-human/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One recent afternoon, I got drafted into reviewing and editing a bunch of error messages for a product. It was supposed to be a quick one hour work. But these assignments never really turn out be an hour’s job.</p>
<p>All I had was an Excel file with around 20 messages that had the current error message and a description when/how the error message occurs. Feeling it would be a good exercise to spend the afternoon, I made my way towards the product development team. As we started the exercise, I realised that the team had no idea about error messages. They just got in touch with me because I was the technical writer. They had obviously thought that I was there just to correct the grammar and punctuation. I sat down and went through each scenario where the error message occurs and did what was required.  </p>
<p>One typical user activity is to create a configuration file into the database by creating one or by importing an existing configuration. The dev team wanted me to look into the errors that occur during the import process. During that process, I identified issues with the sequence of error messages appearing because the inputs were not validated atomically. Rather, they were validated as a batch and you got a bucketful of error messages that should have been caught earlier. Being modal in nature, the user had no choice but to click the Ok or Cancel button to move on, which was too late. And these error messages really weren’t serving any purpose other than the developer’s need to say that the user made a error.</p>
<p>I explained that a good error message consists of three parts: what went wrong (a reason), why it was wrong (the problem), and what to do next (a call for action). Messages that follow this approach help the user move on with their flow with minimal interruptions. I also explained it was better to anticipate possible error scenarios and prevent them from happening rather than display an error message afterwards. As Alan Cooper mentions as a design principle in <a href="http://www.amazon.com/exec/obidos/ASIN/0470084111/xavierroysw07-20">About Face 3</a>, ‘<em>Error message boxes stop the proceedings with idiocy and should be avoided.</em>’ I suggested some solutions to avoid the error happening in the first place by performing validations then and there, rather than display them as a bunch of dialog boxes that force the user to click a button to get the error message out of the way. </p>
<p>Next up was the language used in the error message, which was the original reason why I was working with them in the first place. A question arose if the word ‘please’ had to be included in the error message like “Please enter an IP address” or should it just read “Enter an IP address”. I felt it was better to go without the word ‘please’ because it felt too patronizing and it did not add any value to the sentence. Finally I had reworded it to read as “The IP address cannot be blank. Enter a valid IP address. The IP address must be of the form of xxx.xxx.xxx.xxx”.</p>
<p>What really irked me was that the developers had no clue to user interface guidelines. They were using a Windows application, but they were not following the <a href="http://msdn.microsoft.com/en-us/library/aa511267.aspx" title="MSDN article on Error Messages">Windows User Experience Guidelines</a>, but again even Microsoft doesn’t follow it at times. <img src='http://paperarrow.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="wp-caption aligncenter" style="width: 417px"><img alt="Image via Flickr user:twindx" src="http://farm4.static.flickr.com/3458/3797783986_5937e89d27_o.png" title="A Windows error message" width="407" height="126" /><p class="wp-caption-text">Image via Flickr user:twindx</p></div>
<p>Chip in with your thoughts on error messages and designing for contingencies…</p>
]]></content:encoded>
			<wfw:commentRss>http://paperarrow.com/blog/2009/08/to-err-is-human/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Device Switching</title>
		<link>http://paperarrow.com/blog/2009/08/device-switching/</link>
		<comments>http://paperarrow.com/blog/2009/08/device-switching/#comments</comments>
		<pubDate>Fri, 14 Aug 2009 05:44:00 +0000</pubDate>
		<dc:creator>Xavier</dc:creator>
				<category><![CDATA[Usability]]></category>
		<category><![CDATA[concepts]]></category>
		<category><![CDATA[lessons learnt]]></category>

		<guid isPermaLink="false">http://xavierroy.com/ideate/?p=24</guid>
		<description><![CDATA[Some time back, I was involved in a project that involved porting an AS/400 application to a web application. I volunteered to be the usability analyst for the web application as I was involved in documenting the AS/400 application and &#8230; <a href="http://paperarrow.com/blog/2009/08/device-switching/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some time back, I was involved in a project that involved porting an AS/400 application to a web application. I volunteered to be the usability analyst for the web application as I was involved in documenting the AS/400 application and the development team did not ‘know’ the AS/400 application as much as I did. My tasks on the project included wireframes on paper, Visio, and Acrobat, verifying the HTML screens, and reviewing the usability of the final application. I will try to blog about my experiences working on the project.</p>
<p>Initially I went about my tasks understanding AS/400 screens and ensuring they were recreated in the web application. Everything was fine on paper and screen. Nothing struck me as untoward. Only when I went back to the AS/400 documentation, I realised that working with the command-line interface was easier than the graphical interface. It was then I recalled a term called “<em>device switching</em>”. </p>
<p>Device Switching happens when a user switches between using two input devices. mostly a mouse and a keyboard. Marlin C. Brown in his book, <a href="http://www.amazon.com/exec/obidos/ASIN/0893913324/xavierroysw07-20">Human-Computer Interface Design Guidelines</a>, talks about this mouse-keyboard switching.</p>
<blockquote>
<h4>8.10 Mouse-Keyboard Switching</h4>
<h5>Avoid frequent mouse-keyboard switches.</h5>
<p>Avoid requiring users to make frequent changes form keyboard to mouse. In keyboard-intensive tasks, such as word processing, provide the necessary functions on the keyboard (for example, cursor control keys) to permit the user to perform the task from the keyboard. Frequent changes from keyboard to mouse and back interfere with the flow, and thus  the efficiency, of keyboard tasks. The users must reorient their hands to the keyboard after each mouse use.</p>
</blockquote>
<div class="wp-caption aligncenter" style="width: 470px"><img alt="Mouse &#038; Keyboard, via Flickr: Mighty Mouse by stopthegears" src="http://farm2.static.flickr.com/1381/534025362_e87477000e.jpg" title="Mouse &#038; Keyboard" width="460" height="337" /><p class="wp-caption-text">Mouse &amp; Keyboard, via Flickr user: stopthegears</p></div>
<p>The AS/400 application has been in use for more than two decades and that users have become proficient in using the keyboard. The AS/400 application, being a data entry intensive application and by virtue of its longevity, had ensured that users have a mental model of screens built into their minds and they have memorised the key sequences to use and navigate through the system.</p>
<p>As a result, I went back to the application and ensured that that tabbing order was in the same sequence as that of the green screen. This took care of the issue of frequent device switching associated with graphical interfaces. </p>
<p>The lesson I learnt from this was to test screens and forms for device switching issues. <strong>The lower the number of switches that occur, the better the usability of that screen or form would be.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://paperarrow.com/blog/2009/08/device-switching/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

