<?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>David B. Calhoun - Developer Blog &#187; testing</title>
	<atom:link href="http://davidbcalhoun.com/tag/testing/feed" rel="self" type="application/rss+xml" />
	<link>http://davidbcalhoun.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Wed, 08 Sep 2010 18:28:18 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Designing buttons that don&#8217;t suck (Mobile web part 3)</title>
		<link>http://davidbcalhoun.com/2010/designing-buttons-that-dont-suck</link>
		<comments>http://davidbcalhoun.com/2010/designing-buttons-that-dont-suck#comments</comments>
		<pubDate>Wed, 19 May 2010 07:33:28 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[button]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://davidbcalhoun.com/?p=218</guid>
		<description><![CDATA[A button is something that seems to be made just for mobile: it&#8217;s designed to be big and easy to activate, as opposed to small and harder to activate, like normal text links. This seems ideal for a mobile devices, which have a small display area and whose form of input is a person&#8217;s (relatively) [...]]]></description>
			<content:encoded><![CDATA[<p>A button is something that seems to be made just for mobile: it&#8217;s designed to be big and easy to activate, as opposed to small and harder to activate, like normal text links.  This seems ideal for a mobile devices, which have a small display area and whose form of input is a person&#8217;s (relatively) fat finger interacting with the screen.  Contrast this with the desktop, where the display area is much larger and the input device, the mouse, is a much more highly refined and sensitive pointing device.</p>
<p>But you probably don&#8217;t want to make everything into a button.  After all, there&#8217;s still a place for good old fashioned anchor tags.  So what do you make into a button?  Simple: areas of your website that get frequent usage.  For instance, <a href="http://mobile.twitter.com">mobile.twitter.com</a> has buttons for Search, Refresh results, and More (display more tweets), but leaves other things as anchors/hyperlinks, such as usernames and links in tweets.  Basically, use common sense.  You should have a mixture of both buttons and hyperlinks.</p>
<p>There&#8217;s a distinction to be made between form input buttons and other things that look like buttons.  The former occurs within a Form tag and can be used to submit a form of data when clicked (and you can <a href="http://girliemac.com/blog/2010/02/04/css3-box-shadow-with-inset-values-the-aqua-button-rerevisited/">style it up all you want</a>!).  The latter is simply an Anchor tag disguised as a big clickable button, which is the focus of this article.</p>
<p>A button can be a very useful thing, and can make the user experience much much better.  Yet it&#8217;s surprisingly easy to fail to create a proper button.</p>
<h3>How to fail at creating a button</h3>
<p>See if you can tell the difference between these two buttons:</p>
<style type="text/css" media="screen">
.button-container { width: 50%; margin: 1em auto; }
.button-container a { border-bottom: 0; }
.button-container div a { color: rgb(35, 119, 187); text-decoration: none; }
.button-container a.correct { color: rgb(35, 119, 187); }
.button-container .button { border: 1px solid; border-left-color: rgb(217, 217, 217); border-top-color: rgb(217, 217, 217); border-right-color: rgb(169, 169, 169); border-bottom-color: rgb(169, 169, 169); -webkit-border-radius: 4px;
-moz-border-radius: 4px; border-radius: 4px; text-align: center; display: block; background-color: rgb(242, 247, 250); padding: 0.5em; }
</style>
<div class="button-container">
<div class="incorrect button">
    <a href="#">More</a>
</div>
<p><a href="#" class="correct button">More</a>
</div>
<p>If the difference isn&#8217;t immediately apparent, try mousing over the following buttons:</p>
<style type="text/css" media="screen">
.button-container.hovers a:hover, .button-container2 a:focus { background-color: rgb(192, 222, 237); }
</style>
<div class="button-container hovers">
<div class="incorrect button">
    <a href="#">More</a>
</div>
<p><a href="#" class="correct button">More</a>
</div>
<p>What&#8217;s the problem?  The button on the top is only clickable when hovering over the text.  In other words, it looks like a button but it acts just like a regular hyperlink.  This is a common problem that I&#8217;ve seen a LOT, and I&#8217;ve even seen it on major websites (in fact, the faulty button is inspired by the live code on <a href="http://mobile.twitter.com">mobile.twitter.com</a>).</p>
<h3>How does this happen?</h3>
<p>My theory is that when a design is passed down to a developer, the developer may think their job ends when their code produces output that looks like the original design documents.  But they fail to take into consideration the actual usability of the website.</p>
<p>This is a simple mistake, but it definitely causes frustration when I find it on websites.  And I find myself even more annoyed when I see this while browsing websites with my iPhone.  It basically tells me that the developers don&#8217;t use their own website.  That&#8217;s not a good impression to leave with your visitors.</p>
<h3>Summary</h3>
<p>In summary, buttons are an important part of your mobile website.  They are designed to be easy to activate, so make sure that frequently used functions on your website are buttons.  Also, don&#8217;t be lazy: TEST your code for usability and don&#8217;t assume that the product is done when it looks identical to the design specs.</p>
]]></content:encoded>
			<wfw:commentRss>http://davidbcalhoun.com/2010/designing-buttons-that-dont-suck/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Video: John Resig &#8211; Testing, Performance Analysis, and jQuery 1.4</title>
		<link>http://davidbcalhoun.com/2009/video-john-resig-testing-performance-analysis-and-jquery-1-4</link>
		<comments>http://davidbcalhoun.com/2009/video-john-resig-testing-performance-analysis-and-jquery-1-4#comments</comments>
		<pubDate>Tue, 22 Dec 2009 03:54:01 +0000</pubDate>
		<dc:creator>David</dc:creator>
				<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[john resig]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://davidbcalhoun.com/?p=78</guid>
		<description><![CDATA[In case you hadn&#8217;t seen it yet, John Resig was kind enough to stop by Yahoo! for the December Bayjax meetup. Here&#8217;s the video: Usually developers are more interested in just getting the dang code to work, and as a result actual the testing and maintenance of JavaScript isn&#8217;t talked about too much, so I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>In case you hadn&#8217;t seen it yet, <a href="http://ejohn.org/">John Resig</a> was kind enough to stop by Yahoo! for the December <a href="http://www.meetup.com/BayJax/">Bayjax</a> meetup.  Here&#8217;s the <a href="http://developer.yahoo.com/yui/theater/video.php?v=resig-testing">video</a>:</p>
<div class="video" style="width:576px; height: 324px;"><object width="576" height="324"><param name="movie" value="http://d.yimg.com/m/up/ypp/default/player.swf"></param><param name="flashVars" value="vid=17156941&#038;"></param><param name="allowfullscreen" value="true"></param><param name="wmode" value="transparent"></param><embed width="576" height="324" allowFullScreen="true" src="http://d.yimg.com/m/up/ypp/default/player.swf" type="application/x-shockwave-flash" flashvars="vid=17156941&#038;"></embed></object></div>
<p>Usually developers are more interested in just getting the dang code to work, and as a result actual the testing and maintenance of JavaScript isn&#8217;t talked about too much, so I&#8217;m sure this will be new territory for many developers.  And since it&#8217;s John Resig speaking, there was of course a bit about using <a href="http://testswarm.com/">TestSwarm</a>, a testing distributed framework-agnostic automated testing tool (that&#8217;s a mouthful!).</p>
<p>Included in the talk are good things to note while testing, such as the fact unless you&#8217;re running Firefox or Chrome on Windows, all test times have a margin of error of up to 15ms (not to be confused with <a href="http://www.quirksmode.org/blog/archives/2009/08/when_to_read_ou.html">PPK&#8217;s observation of the delay between JavaScript computation and browser rendering</a>).</p>
<p>(via <a href="http://www.yuiblog.com/blog/2009/12/16/video-resig-testing-and-jquery/">YUIBlog</a>)</p>
]]></content:encoded>
			<wfw:commentRss>http://davidbcalhoun.com/2009/video-john-resig-testing-performance-analysis-and-jquery-1-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
