<?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>Perspx &#187; Usability</title>
	<atom:link href="http://perspx.com/blog/archives/category/usability/feed/" rel="self" type="application/rss+xml" />
	<link>http://perspx.com</link>
	<description>Musings of a teenage programmer</description>
	<lastBuildDate>Thu, 20 May 2010 06:56:17 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Application Demos</title>
		<link>http://perspx.com/blog/archives/1363/application-demos/</link>
		<comments>http://perspx.com/blog/archives/1363/application-demos/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 09:44:50 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[demos]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://perspx.com/?p=1363</guid>
		<description><![CDATA[You&#8217;ve created an awesome piece of software, which you have been working on for months. You&#8217;ve refined every aspect of it; the aesthetic qualities, the data model, the user interface and experience.
But now you need people to buy it. You release a demo version of your software which allows your potential customers to get a feel for the app and  ... ]]></description>
			<content:encoded><![CDATA[<p>You&#8217;ve created an awesome piece of software, which you have been working on for months. You&#8217;ve refined every aspect of it; the aesthetic qualities, the data model, the user interface and experience.</p>
<p>But now you need people to buy it. You release a demo version of your software which allows your potential customers to get a feel for the app and decide whether it&#8217;s right for them, or not. <strong>And in doing so, you screw up the entire thing.</strong></p>
<h2>Where demos suck</h2>
<p>It amazes me how many software companies get demo versions of their applications wrong. Demos <em>aren&#8217;t</em> a trial period for you of your users, <strong>but rather a trial period for your users of you and your software</strong>. And if you want to sell your app, you&#8217;d better make a good impression.</p>
<p>But time and time again, demo versions of applications aren&#8217;t done properly, and rather provide more friction for making sales than acting as a way of convincing your users that your software is worth them buying. Common areas where application demos fall down are:</p>
<ol>
<li>You have to <strong>register an account</strong> to download the demo.</li>
<li>The emphasis is placed on <strong>purchasing the app</strong> rather than downloading it.</li>
<li>The demo places a <strong>crippling restriction</strong> on the software that doesn&#8217;t let you get a proper feel for it. For example, restricting major features.</li>
<li>There is a <strong>time limit</strong> on the demo which pressures users into purchasing the full version.</li>
<li>An annoying <strong>window prompting you to buy the app</strong> is displayed at frequent intervals.</li>
</ol>
<p>All of these elements create a negative experience of you and your software, right from the very start. But what is it about some of these irritations that make such demos a bad experience for your users, and what are the alternatives?</p>
<h3>1. Account registration</h3>
<p>Everyone hates account registration. I – like most other people – already have too many online accounts, and to be quite honest, I don&#8217;t want any more.</p>
<p>But where this is even more of a problem for people who want to try out your apps before they buy is that <strong>you&#8217;re already putting rope around their neck</strong>. They may just want to try out your app but you are already asking them to make a partial commitment by signing up to try out the demo.</p>
<p style="text-align: center;"><a href="http://www.filemakertrial.com/nskto/form/entry.aspx?homepage=fm11_launch_try&amp;try=fm11_launch_try"><img class="aligncenter size-full wp-image-1364" style="border: 1px solid #aaaaaa;" title="Registering to download a FileMaker Pro Trial" src="http://perspx.com/wp-content/uploads/2010/03/filemaker_register_thumb.jpg" alt="" width="437" height="230" /></a></p>
<p>An example of this is with the <a href="http://www.filemakertrial.com/nskto/form/entry.aspx?homepage=fm11_launch_try&amp;try=fm11_launch_try">FileMaker Pro trial download</a>. Before you get a copy of the software to try out, you have to fill in a form, providing your name, address, operating system, and other market research questions such as how you heard about the product. This will be a huge turnoff for any potential customers because they will be less inclined to go through this entire process, just to see whether the application is something they&#8217;re interested in or not.</p>
<p>The solution to this problem is simple: <strong>don&#8217;t do it</strong>. On the main page for your app, place a prominent &#8220;Download&#8221; link which allows people to download your demo in one-click, no strings attached. This way they can see whether your software is relevant to them, without them feeling as if they&#8217;re being tied to anything.</p>
<h3>2. Emphasis on buy, not try</h3>
<p>Another problem with demo software is that the emphasis of the product is immediately placed on <em>buying</em> the software, not offering users to try it first. This ties in with making the users register to download the demo version first, or nagging for them to hand over their credit card details and is again, annoying because it ties them down and makes them feel that they are making a commitment rather than just trying out the software in their own time.</p>
<p>A good example of this being done well is on the Agile Web Solutions <a href="http://agilewebsolutions.com/downloads">downloads page</a>; it is clear that the focus of the section is <em>downloading</em> a demo version of the software to try out first, and not immediately placed on buying it, as shown by the prominence and alternate colour of the &#8220;Download Now&#8221; button compared to the &#8220;Buy It&#8221; button.</p>
<p style="text-align: center;"><a href="http://agilewebsolutions.com/downloads"><img class="aligncenter size-full wp-image-1390" title="1Password Download" src="http://perspx.com/wp-content/uploads/2010/03/1Password-Download.png" alt="" width="474" height="265" /></a></p>
<h3>3. Crippling restrictions</h3>
<p>Of course, some form of restriction needs to be placed on your demo applications so that people who have a genuine need or interest for your app can&#8217;t use it forever for free.</p>
<p>However, these crippling kinds of restrictions include things like restricting major features from the demo version, which is often counter-productive, because it doesn&#8217;t <em>actually</em> let your users see whether your software is right for them, since they don&#8217;t have access to certain features, which might be the main reason that they would be interested in using the full version.</p>
<p>Instead of imposing restrictions such as this on your demos, <em>where possible</em> it is better to provide some other restriction that allows your users to get a feel for the application, but perhaps provides an upper bound on their use of it. A good example of this is with <a href="http://realmacsoftware.com/littlesnapper/">LittleSnapper</a>, which limits the number of images in your library in the demo version to 30, but so long as you have 30 or less images in your library you get access to all the other features available in the full version of the app.</p>
<p>From a business perspective, you want to make sure that the restriction you place means that people who are genuinely interested in using your software can&#8217;t do so forever without paying, but which doesn&#8217;t provide a barrier for those who aren&#8217;t yet sure to see whether the app is right for them.</p>
<h3>4. Time restrictions</h3>
<p>This is probably one of my main annoyances with demo applications – where time limits are imposed  on the use of the demo. The reason I find this such a turnoff is that it it similar to being sold something by a salesman on commission: there is constant pressure on you to purchase the full version rather than doing it in your own time.</p>
<p>Again, this seems attractive from the business side of software, and sometimes this may be appropriate, as there is no other justifiable alternative as a restriction on the demo, but <strong>this should only be used as a last resort</strong>.</p>
<p>And as <a href="http://mattgemmell.com">Matt Gemmell</a> suggested on one of the World According to Gemmell segments on the MDN show, if you are going to impose a time limit as a restriction, make sure that the time limit <strong>only applies to the days that the software is actually used</strong>. For example, if you impose a 30-day time limit and the user first uses the demo on the 1<sup>st</sup> of the month, but doesn&#8217;t use it on the 2<sup>nd</sup>, 3<sup>rd</sup> or 4<sup>th</sup> and comes back and uses it on the 5<sup>th</sup>, only count that as 2 days of use, not 5.</p>
<h3 style="clear: both;">5. Prompts to buy</h3>
<p>This is probably my <em>biggest</em> annoyance of application demos: where they constantly nag you to purchase the full copy; be that on launch, on exit, or even just during use of the application, it&#8217;s a definite no and will not get me – and most other people, I imagine – on your good side.</p>
<p>As I mentioned earlier, application demos are a way for your users to decide whether your software is right for them, and whether it is worth their time (and money). But this is another really annoying feature of demos because it is again pressuring users to purchase your software, rather than letting them decide first whether it is right for them or not.</p>
<p>In this process, it provides your users with a negative experience, and pushes them in the opposite direction to buying your software.</p>
<h2>Final word</h2>
<p><strong>A</strong><strong>pplication demos are a way for the user to decide whether your software is right for them</strong>. It&#8217;s your one shot to impress them and convince them that your software is worth investing their time – in learning how to use the software – and money.</p>
<p>Although it might seem like a convenient excuse to offload a whole load of marketing onto your potential customers and pressuring them to make a purchase, this reflects badly on you, and if you offer multiple products they are unlikely to try out others if you create a bad first impression.</p>
<p>The key is to provide a user-friendly experience which portrays you and your software in a positive light; if the software is presented in this enticing manner and people have a genuine need or interest in your software then you are going to make some sales.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/1363/application-demos/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>The Psychology of Software</title>
		<link>http://perspx.com/blog/archives/1298/the-psychology-of-software/</link>
		<comments>http://perspx.com/blog/archives/1298/the-psychology-of-software/#comments</comments>
		<pubDate>Fri, 05 Feb 2010 18:22:22 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[users]]></category>

		<guid isPermaLink="false">http://perspx.com/?p=1298</guid>
		<description><![CDATA[Attending Matt Gemmell&#8217;s workshop last week was a great exercise for thinking from the user&#8217;s perspective – something which we, as software developers, often do not usually spend enough time doing because of being wrapped up in other things.
As developers, it is hard for us to detach ourselves from what we do and cater to the user. We live on  ... ]]></description>
			<content:encoded><![CDATA[<p>Attending <a href="http://perspx.com/blog/archives/1193/the-world-according-to-gemmell/">Matt Gemmell&#8217;s workshop</a> last week was a great exercise for thinking from the user&#8217;s perspective – something which we, as software developers, often do not usually spend enough time doing because of being wrapped up in other things.</p>
<p>As developers, it is hard for us to detach ourselves from what we do and cater to the user. We live on the other side of the fence and are often restrained from making the right decisions because of the way we think, and usually need an objective opinion. We have the curse of knowledge by being so deeply focused in on our software, and what seems intuitive and easy for us is unlikely going to be the same for the people who use our creations.</p>
<h2>Thinking from the user&#8217;s perspective</h2>
<p>The amazing thing about a lot of usability and application design is that <strong>most decisions come down to simple thought</strong> of how your software is going to be used, and to anticipate and accommodate the user&#8217;s various needs. It&#8217;s about thinking &#8220;I shouldn&#8217;t put that text field there because the relation to that other form is confusing&#8221; or &#8220;I should relabel that button because the current label is misleading&#8221;.</p>
<p>As software developers, <strong>our main subjects are not computers</strong> (even though we do instruct them on what to do) but rather <em>people</em>. We have to be psychologists to some degree and accommodate <em>their</em> needs – our software of which is an end to a means.</p>
<h2>The reality</h2>
<p>As Matt stated on an earlier MDN show podcast, users want to spend as <em>little</em> time in an application as possible, so that they can get on with their lives. But because we have an affinity with the software we produce it is often hard to detach ourselves from the way we go about our business and think in this way.</p>
<p>Of course this doesn&#8217;t mean that we shouldn&#8217;t design and architect our applications in a maintainable way, and doesn&#8217;t mean that we should write crap code that looks like something the dog threw up. However bear in mind that the user doesn&#8217;t actually <em>see</em> any of this. To paraphrase Gemmell again, all the user sees of our applications is the interface.</p>
<p>At the end of the day, users couldn&#8217;t care less whether you have a PHP backend or the UI implemented using Rails; they have such a different perspective of what we create. What they care about is <strong>how your software solves their problem</strong> and how it makes their life easier by doing so.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/1298/the-psychology-of-software/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>NSConference 2010: The World According to Gemmell</title>
		<link>http://perspx.com/blog/archives/1193/the-world-according-to-gemmell/</link>
		<comments>http://perspx.com/blog/archives/1193/the-world-according-to-gemmell/#comments</comments>
		<pubDate>Sun, 31 Jan 2010 19:47:29 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Conferences]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[Cocoa]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[matt gemmell]]></category>
		<category><![CDATA[nsconf]]></category>
		<category><![CDATA[nsconference]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://perspx.com/?p=1193</guid>
		<description><![CDATA[
The first day of NSConference 2010 kicked off with two workshops – Concurrency Programming on Snow Leopard by Drew McCormack, and The World According to Gemmell, by the Legend himself, of which I was an attendee.
The session started with a discussion about a certain recently released Apple product which was very interesting and allowed us to present our thoughts on  ... ]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><img class="aligncenter size-full wp-image-1194" title="Matt Legend Gemmell at NSConference 2010" src="http://perspx.com/wp-content/uploads/2010/01/IMG_1420.jpg" alt="" width="600" height="428" /></p>
<p>The first day of <a href="http://nsconference.com/"><code>NSConference</code> 2010</a> kicked off with two workshops – <em>Concurrency Programming on Snow Leopard</em> by Drew McCormack, and <em>The World According to Gemmell</em>, by <a href="http://mattgemmell.com/">the Legend himself</a>, of which I was an attendee.</p>
<p><a href="http://perspx.com/wp-content/uploads/2010/01/andy_ipad.jpg"><img class="alignright size-full wp-image-1295" title="Andy's iPad mockup" src="http://perspx.com/wp-content/uploads/2010/01/andy_ipad_small.jpg" alt="" width="235" height="314" /></a>The session started with a discussion about a <a href="http://www.apple.com/ipad/">certain recently released Apple product</a> which was very interesting and allowed us to present our thoughts on the device. We covered such areas as the human psychology behind it, the display of &#8220;real&#8221; objects as the interface and the much more emphasised touch interaction including two-handed UI, as well as getting &#8220;wanky&#8221; about the emotional connection with the device.</p>
<p><a href="http://twitter.com/creednmd">Andy</a> had also created a great model of the device, that was the exact dimensions (although the back didn&#8217;t slope like the real thing) and half the weight of an actual iPad. This was really useful in the talk from Matt, when he was explaining such things as how people would hold the device.</p>
<p>We also discussed the changing seeds of user interfaces and the switch away from clutter-based interfaces, such as inspector panels which &#8216;can edit anything that has ever lived&#8217;.</p>
<h2 style="clear: both;"><em>Our</em> workshop</h2>
<p>A few weeks ago Matt sent an email round to all the workshop attendees asking whether we had any UX topics that we wanted to discuss that could form the basis of the workshop. This was a great structure and in the session we got through 7 or 8 discrete topics, from such topics as the evolution of your app and removing features to when the best time to release your 1.0 is.</p>
<p>Although Gemmell said that he had put the slides together quickly and a bit haphazardly (and <a href="http://twitter.com/macdevnet">Scotty</a> had been fiddling around with the slide animations<span class="required">*</span>), the slides were well arranged, and contained only a few – although thought-provoking – bullet points for each topic, and allowed us to really discuss the ins and outs and how one would go about dealing with these problems. The workshop dynamic really helped this section and the group discussion bit was great as we could all have our opinions heard and commented on, with Matt being the suspiciously-bearded ringleader of the event.</p>
<h2>Workshop dynamic</h2>
<p>Matt&#8217;s talk was arranged as a workshop and consisted of around 30 people. The tables had also been arranged into groups of about 5 or 6 and all of this combined made a great, much more personal dynamic for the session, because as Matt himself put it, we were all participants and it was <em>our</em> workshop, not just his.</p>
<p>It was a great social occasion to this end, and allowed for group collaboration which was a real strength of the workshop and made it a really enjoyable event.<em></em></p>
<h2>Final thoughts</h2>
<p>A brilliant first day to <code>NSConference</code> and a great thought experiment with lots of things to take away and think about. As I mentioned when speaking to Matt in one of the breaks, the Mac/iPhone/iPad platforms are so brilliant partially due to the fusion and interwoven nature of code <em>and </em>design, the latter of which is given a lot of thought in most instances, which made the workshop a very topical and interesting one indeed.</p>
<p>The Mac conference (Monday 1st Jan &#8211; Tuesday 2nd Jan) has a lot to live up to but a great start to what I&#8217;m sure will be a great conference.</p>
<div style="font-size: 10px; color: #606060;">* I&#8217;m kidding, we all know that it was <a href="http://twitter.com/tarasis">Rob</a> – he was being suspiciously quiet.</div>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/1193/the-world-according-to-gemmell/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Are you sure?</title>
		<link>http://perspx.com/blog/archives/1157/are-you-sure/</link>
		<comments>http://perspx.com/blog/archives/1157/are-you-sure/#comments</comments>
		<pubDate>Sat, 30 Jan 2010 17:28:53 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[bad design]]></category>
		<category><![CDATA[destructive actions]]></category>
		<category><![CDATA[modal dialogs]]></category>

		<guid isPermaLink="false">http://perspx.com/?p=1157</guid>
		<description><![CDATA[We&#8217;ve all seen it before: dialogs which ask you whether you are absolutely, completely, invariably sure that you want to close without saving changes. And you click &#8220;Yes&#8221; in your haste, and then realise that you actually kind of needed that unsaved presentation that you&#8217;d been working on all evening.

A flawed design
It&#8217;s a pretty common design in applications even today,  ... ]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve all seen it before: dialogs which ask you whether you are absolutely, completely, <em>invariably</em> sure that you want to close without saving changes. And you click &#8220;Yes&#8221; in your haste, and then realise that you actually <em>kind of</em> needed that unsaved presentation that you&#8217;d been working on all evening.</p>
<p><a href="http://perspx.com/wp-content/uploads/2010/01/alertpanel.jpg"><img class="aligncenter size-full wp-image-1174" title="Alert Panel" src="http://perspx.com/wp-content/uploads/2010/01/alertpanel.jpg" alt="" width="464" height="218" /></a></p>
<h2>A flawed design</h2>
<p>It&#8217;s a pretty common design in applications even today, although flawed. The problem is that it is often linked with a permanent, destructive action, and doesn&#8217;t take two important behaviours into account:</p>
<ol>
<li><a href="http://www.codinghorror.com/blog/archives/000114.html">People don&#8217;t read</a></li>
<li>Humans being humans, we all make mistakes</li>
</ol>
<p>It also offloads the responsibility of managing data – which often is important – to the user, and forces them to make a choice about what they want to do, a choice which often cannot be undone. But hang on, <strong>why should an action that I want to perform be completely, irreversibly destructive anyway? </strong>We have the Recycle Bin to provide a safety net for accidental deletion in the filesystem, so why shouldn&#8217;t closing a Word document without saving or unsubscribing from an RSS feed be reversible too?</p>
<p>Alongside this, the dialog is irritating in <em>most</em> situations:</p>
<ol>
<li><em>&#8220;Why are you asking me this?! I clicked on the button because I </em>wanted<em> to perform the action&#8230; duh&#8221;</em> – when we&#8217;re in a hurry and just want to delete something, <strong>we have to then go through another modal dialog</strong> to accomplish the action.</li>
<li><em>&#8220;Shiii- I needed that and I just clicked on Delete&#8221;</em> – due to the fundamental flaw in nature of the design, <strong>it&#8217;s easy to accidentally go ahead with the action anyway</strong>.</li>
</ol>
<h2>A better design</h2>
<p>I like the design that <a href="http://mail.google.com/">Gmail</a> have implemented when you want to delete a message: the message is soft-deleted and a bar is displayed prominently notifying the user that a potentially destructive action has just taken place, but that it isn&#8217;t permanent and can be quickly undone by clicking the Undo button.</p>
<p style="text-align: center;"><img class="aligncenter size-full wp-image-1161" title="Gmail: delete mail" src="http://perspx.com/wp-content/uploads/2010/01/gmail_delete.jpg" alt="" width="527" height="85" /></p>
<p>This is a great design because it caters for most use cases: if you want to quickly go through and delete messages, you can do without being inhibited by modal dialogs. However if you accidentally delete something that you don&#8217;t want to, the action can be easily reversed.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/1157/are-you-sure/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>When people don&#8217;t like clicking</title>
		<link>http://perspx.com/blog/archives/976/when-people-dont-like-clicking/</link>
		<comments>http://perspx.com/blog/archives/976/when-people-dont-like-clicking/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 17:50:09 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[batch operations]]></category>
		<category><![CDATA[multiple items]]></category>

		<guid isPermaLink="false">http://perspx.com/?p=976</guid>
		<description><![CDATA[People like clicking; after all, wasn&#8217;t the mouse the main piece of hardware that lead to the GUI and made computers more accessible?

But people don&#8217;t like repetitive, boring tasks. And one of the areas where this is done especially poorly is when performing batch operations on large sets of data, where the user has to go through several stages to  ... ]]></description>
			<content:encoded><![CDATA[<p><strong>People like clicking</strong>; after all, wasn&#8217;t the mouse the main piece of hardware that lead to the GUI and made computers more accessible?</p>
<p style="text-align: center;"><a href="http://www.veryfunnycats.info/wp-content/uploads/2007/02/funny_cat_pictures_pc_2.jpg" target="_blank"><img class="aligncenter size-full wp-image-988" title="Cat Clicking Mouse" src="http://perspx.com/wp-content/uploads/2009/12/cat_clicking_mouse.jpg" alt="" width="387" height="354" /></a></p>
<p>But <strong>people don&#8217;t like repetitive, boring tasks</strong>. And one of the areas where this is done especially poorly is when performing batch operations on large sets of data, where the user has to go through several stages to accomplish a task – each time for every item they want to perform the operation(s) on.</p>
<h2>Dealing with multiple items</h2>
<p>It really does amaze me how badly this is done with lots of services that are on offer, most of which play with large quantities of data – manipulating all of this can be something of a nightmare.</p>
<p>A great example of this is on Facebook. In the settings, there are a list of applications that you have granted privileges to – 85 in my case. What I want to do now is remove a load of these from this list. The procedure to do this is:</p>
<ol>
<li>Click on the X in the right-hand corner.<a href="http://perspx.com/wp-content/uploads/2009/12/facebook_app_removal.jpg"><img class="aligncenter size-full wp-image-986" title="Facebook App Removal" src="http://perspx.com/wp-content/uploads/2009/12/facebook_app_removal.jpg" alt="" width="572" height="121" /></a></li>
<li>Click on &#8220;Remove&#8221; in the are you sure..? dialog box (as a side note, the &#8220;Remove&#8221; button shouldn&#8217;t be the default option since it is a destructive action)<br />
<a href="http://perspx.com/wp-content/uploads/2009/12/facebook_app_removal_2.jpg"><img class="aligncenter size-full wp-image-978" title="Facebook App Removal: Are you sure..?" src="http://perspx.com/wp-content/uploads/2009/12/facebook_app_removal_2.jpg" alt="" width="378" height="150" /></a></li>
<li>Click on OK in the confirmation dialog<br />
<a href="http://perspx.com/wp-content/uploads/2009/12/facebook_app_removal_3.jpg"><img class="aligncenter size-full wp-image-979" title="Facebook App Removal: Confirmation" src="http://perspx.com/wp-content/uploads/2009/12/facebook_app_removal_3.jpg" alt="" width="378" height="100" /></a></li>
</ol>
<p>For those who are mathematically inclined, you probably have guessed that to remove all 85 applications from the list takes <strong>255 clicks</strong> (perhaps more taking into account accidental/mis-clicking). And guess what? There is no way of removing privileges from multiple applications at once.</p>
<p>This is when people don&#8217;t like clicking – when <strong>they have to perform batch operations by clicking the same things over and over again </strong>to do the same job on lots of items.</p>
<h2>Solving the Problem</h2>
<p>I feel that iTunes solves this problem very well when editing multiple items at once in the &#8220;Get Info&#8221; panel. The panel is generic and works with different kinds of media, and allows batch editing of all properties that are shared by items in the current selection, something which is very useful especially when dealing with large media libraries. This means that the user can change a load of common properties of items in their media library in one fell swoop, then go through and change the unique properties, such as song name afterwards.</p>
<p style="text-align: center;"><a href="http://perspx.com/wp-content/uploads/2009/12/iTunes.jpg"><img class="aligncenter size-full wp-image-993" title="iTunes Get Info dialog" src="http://perspx.com/wp-content/uploads/2009/12/iTunes.jpg" alt="" width="430" height="355" /></a></p>
<h2>Final word</h2>
<p>When designing an interface that deals with lots of data, make sure you have a way of changing or removing multiple items at once, rather than the user having to repeat several actions for each item – something which becomes tedious very quickly, and means they have to waste more time dealing with fairly minor actions, rather than the main focus of your application.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/976/when-people-dont-like-clicking/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Off by default</title>
		<link>http://perspx.com/blog/archives/934/off-by-default/</link>
		<comments>http://perspx.com/blog/archives/934/off-by-default/#comments</comments>
		<pubDate>Mon, 21 Dec 2009 15:13:47 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://perspx.com/?p=934</guid>
		<description><![CDATA[The other day I was using Cyberduck more heavily than I would usually, when I was doing a whole load of uploading. When I came to close the application, I was presented with this dialog:

It&#8217;s a fair enough dialog, I have been using free software which someone put their own time into and I&#8217;m appreciative, and might think of donating  ... ]]></description>
			<content:encoded><![CDATA[<p>The other day I was using <a href="http://cyberduck.ch/" target="_blank">Cyberduck</a> more heavily than I would usually, when I was doing a whole load of uploading. When I came to close the application, I was presented with this dialog:</p>
<p style="text-align: center;"><a href="http://perspx.com/wp-content/uploads/2009/12/cyberduck_donate.jpg"><img class="aligncenter size-full wp-image-935" title="Cyberduck donate dialog" src="http://perspx.com/wp-content/uploads/2009/12/cyberduck_donate.jpg" alt="" width="421" height="278" /></a></p>
<p>It&#8217;s a fair enough dialog, I have been using free software which someone put their own time into and I&#8217;m appreciative, and might think of donating to the developer(s) who wrote it.</p>
<p>However, two fatal mistakes have been made here:</p>
<ol>
<li>The &#8220;don&#8217;t show again&#8221; checkbox is <strong>unchecked by default</strong>:<br />
<a href="http://perspx.com/wp-content/uploads/2009/12/cyberduck_dontshowagain.jpg"><img class="size-full wp-image-936 alignnone" title="Cyberduck don't show again checkbox" src="http://perspx.com/wp-content/uploads/2009/12/cyberduck_dontshowagain.jpg" alt="" width="263" height="46" /></a></li>
<li>The donate button is the <strong>default option</strong>:<br />
<a href="http://perspx.com/wp-content/uploads/2009/12/cyberduck_donatebuttons.jpg"><img class="alignnone size-full wp-image-937" title="Cyberduck donate button" src="http://perspx.com/wp-content/uploads/2009/12/cyberduck_donatebuttons.jpg" alt="" width="225" height="50" /></a></li>
</ol>
<p>From a business or financial perspective, that sounds <em>brilliant</em>. Prompt the user to give you money <em>every time</em> they close your app, because they&#8217;re probably going to forget to check the &#8220;don&#8217;t show again&#8221; box, and fortunately for you, if they happen to accidentally hit enter then they&#8217;re going to be taken straight to the donate page.</p>
<p>But in terms of establishing goodwill with your customers, it&#8217;s a horrible decision – the dialog is annoying, and this is only going to be a lingering annoyance if you repeatedly forget to check the &#8220;don&#8217;t show again&#8221; option – something fairly likely since it&#8217;s on application terminate when you generally want or need to get out of the application quickly.</p>
<p>You should always make sure that options such as this are <strong>safe and off by default</strong> – that is, that without any user intervention if they are prompted once for something that is an extra and something annoying,<strong> the option to turn it off is set to yes by default</strong>. By default, no stupid emails when registering for an online account, no annoying popup boxes or dialogs.</p>
<h2>Be subtle</h2>
<p>Of course it&#8217;s reasonable to have some form of link to donate to a product, or buy a full version or something similar. But if you&#8217;re going to have one <strong>be subtle about it</strong>. Put it in the about box or discreetly as a menu item, so that if users want to find out more they can do, but it&#8217;s not always glaring and in-your-face. I quite like how <a href="http://connectedflow.com/viewfinder/" target="_blank">Viewfinder</a> by <a href="http://connectedflow.com/" target="_blank">Connected Flow</a> does this on their demo version:<a href="http://perspx.com/wp-content/uploads/2009/12/viewfinder_buynow.jpg"><img class="aligncenter size-full wp-image-943" title="Viewfinder &quot;Buy Now!&quot;" src="http://perspx.com/wp-content/uploads/2009/12/viewfinder_buynow.jpg" alt="" width="183" height="75" /></a></p>
<p>Granted it&#8217;s always there, but it&#8217;s a discreet message and in a small font, which isn&#8217;t particularly distracting and at the least doesn&#8217;t get in the user&#8217;s way.</p>
<h2>Overall a winner</h2>
<p>At the end of the day, if your app isn&#8217;t annoying and persistent about money, the good experience you give your customers will make them <em>more likely</em> to donate to your project. And if your product is commercial then you&#8217;ll give your users a better experience and mean that others are likely to purchase it based on the good things that people say about it.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/934/off-by-default/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>On inventing your own UI: don&#039;t do it</title>
		<link>http://perspx.com/blog/archives/733/on-inventing-your-own-ui-dont-do-it/</link>
		<comments>http://perspx.com/blog/archives/733/on-inventing-your-own-ui-dont-do-it/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 17:57:51 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[user interface]]></category>

		<guid isPermaLink="false">http://oneinfinitemonkey.wordpress.com/?p=733</guid>
		<description><![CDATA[
After downloading the new Chrome beta for Mac OS X the first thing that struck me was how well it blended into the native Mac UI. The window takes on the standard OS X window appearance whilst working into it with the tabs which are built into the title bar. This wasn&#8217;t simply a port of the Windows version, it&#8217;s  ... ]]></description>
			<content:encoded><![CDATA[<p style="text-align: center;"><a href="http://perspx.com/wp-content/uploads/2009/12/chrome1.jpg"><img class="aligncenter size-full wp-image-882" title="Chrome" src="http://perspx.com/wp-content/uploads/2009/12/chrome1.jpg" alt="" width="525" height="319" /></a></p>
<p>After downloading the new <a href="http://www.google.com/chrome?platform=mac&amp;hl=en" target="_blank">Chrome beta for Mac OS X</a> the first thing that struck me was how well it blended into the native Mac UI. The window takes on the standard OS X window appearance whilst working into it with the tabs which are built into the title bar. This wasn&#8217;t simply a port of the Windows version, it&#8217;s evident that time and effort has gone into making the app as Mac OS-native as possible, with the Preferences window and the keyboard shortcuts and so forth.</p>
<p>But the truth is that many software developers <strong>think they can invent a better UI</strong><strong> than already exists</strong>.</p>
<p style="text-align: left;">One of the worst applications for OS X in terms of UI that I&#8217;ve come across recently has been the <a href="http://www.penreader.com/mac-os-software/Oxford.html" target="_blank">Paragon Talking Concise Oxford English Dictionary and Thesaurus</a>. <a href="http://www.techradar.com/reviews/pc-mac/software/home-and-reference-software/paragon-talking-concise-oxford-english-dictionary-and-thesaurus-611315/review" target="_blank">Reviewed by Mac Format</a>, the actual functionality of the app seemed to be fairly average. But worse still, as concluded in the final rating was the &#8220;often awkward interface&#8221;. I don&#8217;t know about awkward, but I&#8217;d also add in damn-right ugly:</p>
<p style="text-align: center;"><a href="http://perspx.com/wp-content/uploads/2009/12/oed1.jpg"><img class="aligncenter size-full wp-image-883" title="Paragon Talking OED" src="http://perspx.com/wp-content/uploads/2009/12/oed1.jpg" alt="" width="466" height="350" /></a></p>
<p style="text-align: left;">What I don&#8217;t understand is why the developers did this – what was so bad about the native OS X UI? It&#8217;s the classic example of <a href="http://perspx.com/blog/archives/606/reinventing-the-wheel/">reinventing the wheel when it didn&#8217;t need it</a>, but which in this case was <em>damaging</em> since the reinvented UI looks pretty grim.</p>
<p>Especially if you&#8217;re porting your application, <strong>don&#8217;t make your application look identical on multiple platforms</strong>. Take the time to port it to the platform so that it fits in with that platform&#8217;s appearance and behaviour.</p>
<p>Creating your own UI or using that of another platform can distract users away from the actual functionality of the app because it looks alien compared to other applications on the platform; if it is behaviourally different then this also makes the app harder to use because then they have to deal with behaviours that they&#8217;re not used to.</p>
<p>If you want some custom control, then <strong>build into the existing UI and make it fit in</strong>.</p>
<p>Otherwise, the learning curve of using the new UI – which comes as cliff-like – is the main learning focus <strong>rather than learning to use the actual functionality of the app</strong>, the functionality being the reason why people buy the app in the first place, right?</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/733/on-inventing-your-own-ui-dont-do-it/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Users like familiarity</title>
		<link>http://perspx.com/blog/archives/549/users-like-familiarity/</link>
		<comments>http://perspx.com/blog/archives/549/users-like-familiarity/#comments</comments>
		<pubDate>Fri, 23 Oct 2009 21:26:41 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[familiarity]]></category>

		<guid isPermaLink="false">http://oneinfinitemonkey.wordpress.com/?p=549</guid>
		<description><![CDATA[Users don&#8217;t like change. Perhaps one of the most apt demonstrations of this is with Facebook. Only today, changes were made to Facebook, basically consisting of a new setting on the front page:

Which can be changed to:

(Dependent on your level of stalkiness).
Being a moody teenager myself, I am, naturally in contact with.. A lot of moody teenagers. And there has  ... ]]></description>
			<content:encoded><![CDATA[<p>Users don&#8217;t like change. Perhaps one of the most apt demonstrations of this is with Facebook. Only today, changes were made to Facebook, basically consisting of a new setting on the front page:</p>
<p><img class="alignnone size-full wp-image-858" title="Facebook newsfeed" src="http://perspx.com/wp-content/uploads/2009/10/facebook_newsfeed1.jpg" alt="" width="258" height="112" /></p>
<p>Which can be changed to:</p>
<p><a href="http://perspx.com/wp-content/uploads/2009/10/facebook_livefeed1.jpg"><img class="alignnone size-full wp-image-859" title="Facebook Live Feed" src="http://perspx.com/wp-content/uploads/2009/10/facebook_livefeed1.jpg" alt="" width="251" height="105" /></a></p>
<p>(Dependent on your level of stalkiness).</p>
<p>Being a moody teenager <em>myself</em>, I am, naturally in contact with.. A lot of moody teenagers. And there has been almost outrage over the new changes; groups with such titles as &#8220;i HATE THE NEW FACEBOOK!&#8221; rallying troops with motivational speeches including &#8220;i HATE HOW FACEBOOK HAS BECOME MORE CONFUSiNG, THEY ARE ADDiNG TOO MANY FEATUrES, PEOPLe CAN SEE YOUR EVERYMOVE&#8230;NOT A GOOD LOOK!!!!&#8221; have sprung up thick and fast (you&#8217;d perhaps be misguided that <a href="http://capslockday.com/" target="_blank">International Caps Lock Day</a> is infact the twenty-<em>third</em> of October).</p>
<p>Although I find this very amusing, I can sympathise.</p>
<p>Of course changes have to be made to Facebook, otherwise it would remain like a stagnant pool for 10 years. And I&#8217;m sure they&#8217;re responding to user feedback and I&#8217;m <em>sure</em> in the long run it will improve the whole Facebook experience (although this particular update seems like <a href="http://perspx.com/blog/archives/221/ooh-shiny/">a bit of candy to satisfy the kids</a>).</p>
<p>But the way they&#8217;ve gone about it is terrible.</p>
<blockquote><p>What is this? What can it do for me? Why the hell would I even <em>want</em> this?</p></blockquote>
<p>were several questions that came through my mind, and where were the answers? Where was the explanation of how or why to <em>use</em> this? Nowhere. Users have basically been thrown into the deep end – accustomed to the &#8220;old&#8221; Facebook layout, this change has been sprung upon the site, and they don&#8217;t know what to do with it, how it works (initially) or why they would want to use this.</p>
<p>And this is not new. This has occurred several times with Facebook.</p>
<p>Joel Spolsky summarised this quite well on <a href="http://blog.stackoverflow.com/2009/04/podcast-51/" target="_blank">Episode #51</a> of the Stack Overflow podcast:</p>
<blockquote><p>Spolsky: They&#8217;re gonna start, I mean, every time I changed a font, I could change a font on “Joel on Software” and get, you know, 30 angry emails, and then change it back and get another 30 angry emails, 25 of them from the same people that were upset the first time I changed them “ I just finally got used to that font that you changed”.  And have to change it all over again.</p></blockquote>
<p>And it&#8217;s because people <strong>don&#8217;t like to be somewhere they&#8217;re uncomfortable</strong>. They want to be familiar with their surroundings and know <em>what</em> to do and <em>how</em> to do it.</p>
<h3>Not just <a href="http://en.wiktionary.org/wiki/cainophobia" target="_blank">cainophobia</a></h3>
<p>By now you&#8217;ve probably come to the conclusion that users simply don&#8217;t like change. But this is an important thing to note. This is <em>why</em> designing UIs which are <strong>familiar</strong> to users is so important – UIs which reflect their mental model, which are consistent with other applications on the platform, which have workflows which are common and canonical are so important. Because if they aren&#8217;t, then you&#8217;re throwing your users into the deep end, and their experience will be so much worse.</p>
<p>And if it isn&#8217;t, make sure that an explanation is near – all you need is a small question mark icon, or a line of text which explains what something is, or perhaps a tooltip, such as those on <a href="http://stackoverflow.com" target="_blank">Stack Overflow</a>:</p>
<p><a href="http://perspx.com/wp-content/uploads/2009/10/stackoverflow_tooltip1.jpg"><img class="alignnone size-full wp-image-861" title="Stack Overflow Tooltip" src="http://perspx.com/wp-content/uploads/2009/10/stackoverflow_tooltip1.jpg" alt="" width="275" height="165" /></a></p>
<p>which will give your users confidence in what they&#8217;re doing and help them to do what they want to do.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/549/users-like-familiarity/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Updates: the software after-party</title>
		<link>http://perspx.com/blog/archives/507/software-updating-after-party/</link>
		<comments>http://perspx.com/blog/archives/507/software-updating-after-party/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 18:00:33 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[distribution]]></category>
		<category><![CDATA[Updating]]></category>

		<guid isPermaLink="false">http://oneinfinitemonkey.wordpress.com/?p=507</guid>
		<description><![CDATA[Humans are moany creatures. From digressing about the over-roasted nature of Starbucks coffee to how our neighbours are too noisy, we like to complain about how difficult our life is.
And people like to complain about software. People moan about the price, the poor documentation (often with good reason) and the lack of enough features. But indecisiveness is engraved in our  ... ]]></description>
			<content:encoded><![CDATA[<p>Humans are moany creatures. From digressing about <a href="http://www.google.com/search?hl=en&amp;source=hp&amp;q=starbucks+coffee+sucks&amp;btnG=Google+Search&amp;meta=&amp;aq=f&amp;oq=" target="_blank">the over-roasted nature of Starbucks coffee</a> to how our neighbours are too noisy, we like to complain about how difficult our life is.</p>
<p>And people like to complain about software. People moan about the price, the <a href="http://perspx.com/blog/archives/481/documentation-the-missing-tyre/">poor documentation</a> (often with good reason) and the <a href="http://perspx.com/blog/archives/221/ooh-shiny/" target="_self">lack of enough features</a>. But indecisiveness is engraved in our genes, too, since people moan when their software doesn&#8217;t work, then moan when they have to update it, or install the latest patch to <em>make</em> it work.</p>
<p>I admit that I have some sympathy, since the majority of most software updates are done poorly, and are something of an annoyance. <strong>User experience isn&#8217;t just about the software itself</strong> – it also encompasses the delivery and after-service of the product, and both of these are often implemented badly, with little consideration about the people who are going to use them.</p>
<p>A good software update process should be:</p>
<ol>
<li>Unobtrusive</li>
<li>As frictionless as possible</li>
</ol>
<p>But a lot of software updating mechanisms are bad. Here are the key offenders:</p>
<h2>1. Timing</h2>
<p>I think <a href="http://www.joelonsoftware.com/" target="_blank">Joel Spolsky</a> proposed this very well in his discussion with <a href="http://www.codinghorror.com/blog/" target="_blank">Jeff Atwood</a> in <a href="http://blog.stackoverflow.com/2009/07/podcast-62/" target="_blank">episode #62</a> of the Stack Overflow podcast:</p>
<blockquote><p>Spolsky: Well one thing that always bugged me about Firefox is that, my Firefox window is sitting there all day long, doing absolutely nothing, except for those few minutes of the day when I&#8217;m using it; and sometimes I really need to use it, so I launch Firefox, and at that exact moment it says &#8220;This would be the perfect time to do an upgrade!&#8221;</p>
<p>Atwood: Yes.</p>
<p>Spolsky: So it&#8217;s kind of weird.  Like, <strong>why is it at <em>startup</em> it does the upgrade?</strong> How about at exit or at idle time or something &#8211; some time when I&#8217;m <em>not</em> using it.  It picks the only time when it&#8217;s annoying, to do the upgrade.</p></blockquote>
<p>I think this is perhaps the biggest bug-bears of software updates. <strong>Applications always seem to want to update themselves at the most inconvenient times</strong>. This principle of only updating at startup is actually proposed as the standard for Mac applications in the <a href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html#//apple_ref/doc/uid/TP30000894-TP6" target="_blank">Apple Human Interface Guidelines</a> (an article which provides guidance on developing software for OS X):</p>
<blockquote><p>To provide a convenient application-update experience, follow these steps:</p>
<ol>
<li>When your application fully launches the first time after installation, start a separate thread that checks for updates.</li>
<li>If a newer version is available, keep track of this fact in your application. Do not notify the user at this time.<br />
<strong>The next time your application launches</strong>, check the state of update availability you determined in step 2. <strong>If a newer version is available, immediately notify the user.</strong></li>
<li>If a newer version is not available, start a separate thread to check for updates and keep track of the results in your application. Do not notify the user at this time.</li>
</ol>
</blockquote>
<p>Although <a href="http://perspx.com/blog/archives/454/apple-human-interface-guidelines/">I&#8217;ve expressed fairly positive feelings</a> about the Apple Human Interface Guidelines I still don&#8217;t agree with this.</p>
<p>Apple&#8217;s argument for this method is to &#8220;avoid startling the user with unexpected and intrusive update notifications that occur outside the context of your running application&#8221; and to provide &#8220;an update notification consistently and immediately at launch time&#8221;. Although I can see where Apple are coming from to a degree, I think they&#8217;ve got it wrong. As Joel says, the best time to do an upgrade would be when the application is idle, and waiting until application startup to do the upgrade is in <em>itself </em>often an annoying interruption.</p>
<h2>2. Restarting</h2>
<p style="text-align: left;">One of the most irritating dialog boxes (perhaps of all time) is the &#8220;Please restart your computer to finish installing updates&#8221; dialog box:</p>
<p style="text-align: left;"><a href="http://perspx.com/wp-content/uploads/2009/10/windowsupdaterestart.jpg"><img class="aligncenter size-full wp-image-851" title="Windows Update: restart dialog" src="http://perspx.com/wp-content/uploads/2009/10/windowsupdaterestart.jpg" alt="" width="300" height="180" /></a></p>
<p>It&#8217;s annoying because it&#8217;s <strong>obtrusive</strong>. People generally don&#8217;t <em>want</em> to quit all of their running applications, restart and then spend more time getting back into the flow of what they were doing again.</p>
<p>A well-designed software update process should work in such a way that the update does what it <em>can</em> do without restarting, then perform the required tasks when the user organically decides to restart at their convenience. If the application can update itself without restarting the entire operating system, even better. And reminding the user every 5 minutes or placing an annoying icon in the task bar can be somewhat irritating too.</p>
<h2>3. Preserving Configuration</h2>
<p>Although a fan of the Opera browser, when upgrading from the Opera 10 Beta to the Release Candidate, it decided to use my settings for the last stable version of Opera installed (9.64) and not the Beta, which I&#8217;d been using for a couple of months. The end result was that I lost a load of bookmarks and feeds which I had subscribed to during the period I was using the Beta. Let&#8217;s say I wasn&#8217;t too happy.</p>
<p>Preserving the configuration from the last version is a <em>really</em> important part of a good software update and helps to ensure that it is a seamless, frictionless transition. It also makes your users more willing to update if they know that their data is safe.</p>
<h2>4. Automatic Updates</h2>
<p>I have mixed feelings about automatic updates. On the one hand, they are really convenient, because they are silent and work in the background; however, you have to also &#8220;trust&#8221; the application at some level to be happy with it updating itself when necessary.</p>
<p>Also, you may not always want every update – patches and updates to improve security obviously have their attraction and are important and should be installed. However if it is an update to add some extra functionality or some plugin that I don&#8217;t <em>need</em> (for example Windows Vista Ultimate Extras), I wouldn&#8217;t necessarily install it.</p>
<p>A good way to provide a workaround is to categorise updates and provide different user-configurable automatic update settings for different categories – for example, I&#8217;d be happy to allow certain applications to automatically update themselves with security patches, but if there was an update that wasn&#8217;t strictly urgent or some kind of fix, <em>then</em> ask me whether I want to install it. This also removes some of the intrusiveness that most updates have. However, this method can be sketchy ground with some users, especially if enabled by default.</p>
<h2>Final Thoughts</h2>
<p>I don&#8217;t think software updating is taken into as much consideration as it should be. The application itself is not the <em>only</em> part of the experience that the user wants to be as frictionless as possible, and developing software which offers a good experience to the user also means taking both the preamble and the after-party into account.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/507/software-updating-after-party/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Apple Human Interface Guidelines</title>
		<link>http://perspx.com/blog/archives/454/apple-human-interface-guidelines/</link>
		<comments>http://perspx.com/blog/archives/454/apple-human-interface-guidelines/#comments</comments>
		<pubDate>Wed, 09 Sep 2009 09:46:55 +0000</pubDate>
		<dc:creator>Perspx</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Usability]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://oneinfinitemonkey.wordpress.com/?p=454</guid>
		<description><![CDATA[Are you familiar with the Apple Human Interface Guidelines? It is a document which outlines how good OS X applications should look and behave in order to maintain the consistent look and feel of applications across the Mac platform (and the iPhone for the iPhone Human Interface Guidelines).
Personally, for any document of considerable length which I will undoubtedly spend a  ... ]]></description>
			<content:encoded><![CDATA[<p>Are you familiar with the <a href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html#//apple_ref/doc/uid/TP30000894-TP6" target="_blank">Apple Human Interface Guidelines</a>? It is a document which outlines how good OS X applications should look and behave in order to maintain the consistent look and feel of applications across the Mac platform (and the iPhone for the <a href="http://developer.apple.com/iphone/library/documentation/userexperience/conceptual/mobilehig/Introduction/Introduction.html" target="_blank">iPhone Human Interface Guidelines</a>).</p>
<p>Personally, for any document of considerable length which I will undoubtedly spend a fair amount of time reading, I prefer to have a physical copy to read than simply read on-screen:</p>
<p style="text-align: center;"><a href="http://perspx.com/wp-content/uploads/2009/09/ahig1.jpg"><img class="aligncenter size-full wp-image-845" title="Apple Human Interface Guidelines" src="http://perspx.com/wp-content/uploads/2009/09/ahig1.jpg" alt="" width="512" height="326" /></a></p>
<p>Although at a modestly-sized 394-pages long (those pages are printed double-sided), I would highly recommend that any Mac developer or designer for the Mac platform read the Guidelines, if not in their <em>entirety</em> because they are such a valuable resource when designing applications.</p>
<p>The Human Interface Guidelines are split into several parts:</p>
<ol>
<li><strong>Application Design and Fundamentals</strong>: This section analyses what makes an effective interface which is both easy to use and attractive.</li>
<li><strong>The Macintosh Experience</strong>: This section explains the design and environment of OS X and presents the integrated technologies that can be used by applications.</li>
<li><strong>The Aqua Interface</strong>: This section is all about the Aqua Interface – the OS X user interface and behaviour of certain components such as windows and menus. It goes into considerable depth on a number of topics, such as icons, pointers and the controls provided by the Interface.</li>
</ol>
<h2>Déjà Vu</h2>
<p>I am a strong advocate of <strong>consistency</strong> in applications across a platform, which is probably the biggest emphasis of the Human Interface Guidelines. This is so beneficial because in turn it leads to ease of use for users due to <strong>familiarity</strong> from other Mac applications. This is a massive plus, because it makes the application more intuitive and shallows the learning curve, which will make users more satisfied and provide them with a more painless, more enjoyable experience.</p>
<p>This main advantage, of course, stems other advantages from it, most of which are documented in the <a href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIntro/XHIGIntro.html#//apple_ref/doc/uid/TP30000894-TP6" target="_blank">Introduction</a> section:</p>
<ul>
<li>Users will be more at ease with your application because they have encountered similar workflows before, and so will learn how to use it faster and be able to accomplish tasks quicker.</li>
<li>Documentation is easier because less has to be explained to the user.</li>
<li>Application support is easier for the same reason.</li>
<li>Users with disabilities will find it easier to use your application (there is a section about Universal Access in the Human Interface Design section).</li>
</ul>
<p>At almost 400 pages long, the Guidelines are also very detailed, with information on some subjects which at first glance seem trivial. For example, the other day I was having a discussion about document icons (icons which show the user what application a document is associated with) on OS X and a contender&#8217;s suitability – and, low and behold, there is a detailed explanation about <a href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGIcons/XHIGIcons.html#//apple_ref/doc/uid/20000967-TPXREF124" target="_blank">the role of Document Icons</a> and how they should be designed, which I referred to:</p>
<blockquote><p>Traditionally, a document icon looks like a piece of paper with its top-right corner folded down. As previously suggested, document icons should make it obvious which application they are associated with. Preview documents, for example, include a graphic of the media (the pictures) used in the application icon. For simplicity and to avoid confusing the document with the application itself, the viewing tool is not repeated in the document icon.</p>
<p>Document icons are presented as if they are hovering on the desktop, with the shadow behind the document. For more information, see “Icon Perspectives and Materials.”</p>
<p>When you want to put an identifying badge over a document icon, treat the badge as an integrated element within the document instead of putting it over the top of the base image and breaking out of the overall document shape.</p></blockquote>
<p>There are also accompanying images to explain this.</p>
<p>Of course, there may be some debate about some of the items listed in the guidelines – and after all, as the name states, they are &#8220;guidelines&#8221; and not truly definitive. For example, in <em>Updating Installed Applications</em> in the section on <a href="http://developer.apple.com/mac/library/documentation/UserExperience/Conceptual/AppleHIGuidelines/XHIGInstallationsUpdates/XHIGInstallationsUpdates.html#//apple_ref/doc/uid/TP40002722-DontLinkElementID_131" target="_blank">Software Updates</a>, the proposed method is as follows:</p>
<blockquote><p>To provide a convenient application-update experience, follow these steps:</p>
<ol>
<li>When your application fully launches the first time after installation, start a separate thread that checks for updates.</li>
<li>If a newer version is available, keep track of this fact in your application. Do not notify the user at this time.</li>
<li>The next time your application launches, check the state of update availability you determined in step 2. If a newer version is available, immediately notify the user.<br />
If a newer version is not available, start a separate thread to check for updates and keep track of the results in your application. Do not notify the user at this time.</li>
</ol>
</blockquote>
<p>Although I can see some of the advantages to this method, I am not in <em>complete</em> agreement – for example, what if the user rarely shuts down their computer and puts it to sleep? What if certain applications aren&#8217;t launched on a daily basis to check for/apply the updates? If the application is idle, why wait until the next application launch to perform an update when the user <em>actually</em> needs to use it? But although debatable, this depth of explanation also provides the consistency with other Mac software, and if adopted by applications, makes the whole user experience more seamless to the end user.</p>
<h2>To Conclude</h2>
<p>You can&#8217;t, of course, take everything the Guidelines state as gospel. All applications are different and there may be some cases where some of the proposed methods just don&#8217;t work, or don&#8217;t apply.</p>
<p>However, as <em>guidelines</em> on how to design great software for the Mac platform, I think the document is a very useful one. The level of detail that they go into is what makes the Human Interface Guidelines such a valuable resource – there really is an insistent emphasis on consistency and design so that the <strong>user is put first</strong> and helps to make the whole OS X experience more seamless and intuitive. And it is this collaborative effort and <strong>symbiosis</strong> by both Apple and Mac developers which make the platform a great experience.</p>
]]></content:encoded>
			<wfw:commentRss>http://perspx.com/blog/archives/454/apple-human-interface-guidelines/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
