<?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>Gavin Smith</title>
	<atom:link href="http://gavinsmith.me/feed/" rel="self" type="application/rss+xml" />
	<link>http://gavinsmith.me</link>
	<description>Code, findings, and irrelevant things</description>
	<lastBuildDate>Thu, 29 Sep 2011 19:32:13 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Regarding &#8216;secret&#8217; UI components</title>
		<link>http://gavinsmith.me/2011/09/regarding-secret-ui-components/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=regarding-secret-ui-components</link>
		<comments>http://gavinsmith.me/2011/09/regarding-secret-ui-components/#comments</comments>
		<pubDate>Thu, 29 Sep 2011 19:32:13 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[External]]></category>
		<category><![CDATA[Quoted]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=300</guid>
		<description><![CDATA[I want to jump back a couple years to something Loren Brichter said in reference to his pull-to-refresh UI and, specifically, the swipe-to-reveal tweet actions. This remains one of my most consistently referred to explanations when it comes to ultra-functional UI. Now, I think you can split gestures into two categories. One is of the [...]]]></description>
			<content:encoded><![CDATA[<p>I want to jump back a couple years to something Loren Brichter said in reference to his pull-to-refresh UI and, specifically, the swipe-to-reveal tweet actions. This remains one of my most consistently referred to explanations when it comes to ultra-functional UI.</p>
<blockquote><p>Now, I think you can split gestures into two categories. One is of the pull-down-to-refresh kind. These are gestures that are discoverable and explanatory. The other kind of gestures are like tapping-the-status-bar-to-scroll-to-the-top, or swipe-to-delete (or swipe-to-reply in Tweetie). These gestures you won’t discover on your own except by accident. These are not discoverable, and they are not explanatory.</p>
<p>This second class of gestures can exist (in my opinion) because <em>they are not the only way to accomplish a goal</em>. In the case of tapping the status bar, users already know how to scroll to the top manually. It’s slower, but it’s possible. In the case of swipe to delete, users already know they can tap on a message and then tap the trash button. So knowing the gesture isn’t <em>necessary</em>.</p>
<p>So when you’re inventing new gestures, it’s important to think about whether the gesture is <em>required</em> to use the app. If it’s the only way to accomplish a goal, you better be sure it’s discoverable and explanatory without needing to read a manual. If it’s the other kind of gesture, go nuts!</p>
<p><em>From <a href="http://unraveled.com/archives/2009/11/tweetie-interview-loren-brichter">Twitter Reloaded: an interview with Loren Brichter</a></em></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/09/regarding-secret-ui-components/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Forms: Inputs with initial values acting as labels and HTML5&#8242;s placeholder attribute</title>
		<link>http://gavinsmith.me/2011/06/forms-inputs-with-initial-values-acting-as-labels-and-html5s-placeholder-attribute/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=forms-inputs-with-initial-values-acting-as-labels-and-html5s-placeholder-attribute</link>
		<comments>http://gavinsmith.me/2011/06/forms-inputs-with-initial-values-acting-as-labels-and-html5s-placeholder-attribute/#comments</comments>
		<pubDate>Thu, 23 Jun 2011 13:56:59 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=278</guid>
		<description><![CDATA[I&#8217;ll be brief. A few years ago, a trend started popping up whereby the label next to a text input (at the time most commonly search fields) would be removed, and instead the default value of the field would be its label. On focus, the input value would be blanked. The result was a cleaner [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll be brief. A few years ago, a trend started popping up whereby the label next to a text input (at the time most commonly search fields) would be removed, and instead the default value of the field would be its label. On focus, the input value would be blanked. The result was a cleaner look and really no loss in usability (as well as no loss in accessibility so long as the developer takes care to put the label element in the DOM, but hide it).</p>
<p>The behaviour is common practice now, not only for single-field forms like search inputs, but entire ten-plus field information gathering forms. This is where the problem arrises. If you&#8217;re like me and tab between inputs (&#8216;fill in field, hit tab, fill in next field, hit tab, etc), it&#8217;s very easy to forget that you need to read the value (acting as a label) in the next field before tabbing into it &#8211; as soon as it has focus, you can no longer tell what you&#8217;re supposed to be inputting.</p>
<blockquote class="me"><p>The <code title="attr-input-placeholder"><a href="http://dev.w3.org/html5/spec/Overview.html#attr-input-placeholder">placeholder</a></code> attribute should not be used as an alternative to a <code><a href="http://dev.w3.org/html5/spec/Overview.html#the-label-element">label</a></code>. &#8211;HTML5 Draft Spec</p></blockquote>
<p>Even more recently, the HTML5 spec <a href="http://dev.w3.org/html5/spec/Overview.html#the-placeholder-attribute">introduced</a> the <code title="attr-input-placeholder">placeholder</code> element for inputs. Though the HTML5 spec advises against using a <code>placeholder</code> in place of a <code>label</code> element, it seems common practice to do so, and it tempting even for myself. This would be fine and dandy if it weren&#8217;t for the specific implementation of <code title="attr-input-placeholder">placeholder</code>&#8216;s behaviour in all major browsers: Exactly the same as we saw above, clear on focus. It leads to precisely the same problem as before, but this time natively instead of using a bit of JavaScript.</p>
<p>I&#8217;ve created what I believe is the ideal alternate behaviour multiple times in the past with a tiny bit of JavaScript and CSS:</p>
<ul>
<li>Position the label for an input directly below it with the same borders/padding so that the text lines up perfectly with what is typed in the input</li>
<li>Using JavaScript, bind a function on change for the input that checks to see what the value of the input is (after each keystroke), and if it&#8217;s anything other than blank, hide the label. If the label is hidden and the input is blank on change (you&#8217;ve deleted the contents of the input), show the label.</li>
</ul>
<p>I&#8217;m not completely sure whether the necessary change here is in the behaviour/intended use case of the <code>placeholder</code> attribute or in the code developers are writing in conjunction with their forms. Since it&#8217;s highly unlikely the HTML5 spec will dictate such a change at this point, I think the onus is on developers to be more careful with the aesthetics/usability line. If you implement the above properly and with care, you&#8217;ll have an accessible form that saves clutter and uses no additional markup.</p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/06/forms-inputs-with-initial-values-acting-as-labels-and-html5s-placeholder-attribute/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Making &#8216;Recent Items&#8217; useful: Folder inclusion</title>
		<link>http://gavinsmith.me/2011/05/making-recent-items-useful-folder-inclusion/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=making-recent-items-useful-folder-inclusion</link>
		<comments>http://gavinsmith.me/2011/05/making-recent-items-useful-folder-inclusion/#comments</comments>
		<pubDate>Sun, 01 May 2011 23:08:23 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[osx]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=271</guid>
		<description><![CDATA[I almost never use OS X&#8217;s global Recent Items list. About half the times I remember it exists, it&#8217;s because i just accidentally closed a Finder window and want it back &#8211; then I remember folders is the only thing the Recent Items list doesn&#8217;t include. My predictable solution:]]></description>
			<content:encoded><![CDATA[<p>I almost never use OS X&#8217;s global <em>Recent Items</em> list. About half the times I remember it exists, it&#8217;s because i just accidentally closed a Finder window and want it back &#8211; then I remember folders is the only thing the <em>Recent Items</em> list doesn&#8217;t include.</p>
<p>My predictable solution:</p>
<p><a href="http://gavinsmith.me/wp-content/uploads/2011/05/recent-and-modified.png"><img class="alignright size-large wp-image-272" title="recent-and-modified" src="http://gavinsmith.me/wp-content/uploads/2011/05/recent-and-modified-560x285.png" alt="" width="560" height="285" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/05/making-recent-items-useful-folder-inclusion/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>In the interest of blowing some minds</title>
		<link>http://gavinsmith.me/2011/03/in-the-interest-of-blowing-some-minds/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=in-the-interest-of-blowing-some-minds</link>
		<comments>http://gavinsmith.me/2011/03/in-the-interest-of-blowing-some-minds/#comments</comments>
		<pubDate>Sat, 12 Mar 2011 18:13:53 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[os x]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=247</guid>
		<description><![CDATA[I took a moment to analyze something I encounter on an hourly basis a while ago. Ever since the moment of realization that followed, I&#8217;ve been filling others in every now and then, and I have yet to find somebody who isn&#8217;t totally enlightened after the big reveal (@verneho almost BSOD&#8217;d). Perhaps I&#8217;m ramping this [...]]]></description>
			<content:encoded><![CDATA[<p>I took a moment to analyze something I encounter on an hourly basis a while ago. Ever since the moment of realization that followed, I&#8217;ve been filling others in every now and then, and I have yet to find somebody who isn&#8217;t totally enlightened after the big reveal (<a href="http://twitter.com/verneho" target="_blank">@verneho</a> almost BSOD&#8217;d).</p>
<p><a rel="attachment wp-att-248" href="http://gavinsmith.me/2011/03/in-the-interest-of-blowing-some-minds/screen-shot-2011-03-12-at-1-07-32-pm/"><img class="aligncenter size-full wp-image-248" title="Screen shot 2011-03-12 at 1.07.32 PM" src="http://gavinsmith.me/wp-content/uploads/2011/03/Screen-shot-2011-03-12-at-1.07.32-PM.png" alt="" width="267" height="61" /></a></p>
<p><img class="alignright size-full wp-image-249" title="Screen shot 2011-03-12 at 1.11.46 PM" src="http://gavinsmith.me/wp-content/uploads/2011/03/Screen-shot-2011-03-12-at-1.11.46-PM.png" alt="" width="233" height="165" />Perhaps I&#8217;m ramping this up too much. Recognize this bad boy? Find yourself constantly checking the symbols and their meanings when you&#8217;re trying to decrypt a keyboard shortcut for use? Guys, it depicts a <em>choice</em>. A fork, a switch. The name of the key is &#8216;option&#8217; (or &#8216;alt&#8217;, which is also accurately represented, <em>alternative</em>).</p>
<p>See it? Assuming this is your first realization, I&#8217;ll allow you to draw your own conclusions about the other symbols used for <em>control</em> and <em>command</em>.</p>
<p>Have a great weekend!</p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/03/in-the-interest-of-blowing-some-minds/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Thought: Apple&#8217;s iMac rear-access ports</title>
		<link>http://gavinsmith.me/2011/03/thought-apples-imac-rear-access-ports/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=thought-apples-imac-rear-access-ports</link>
		<comments>http://gavinsmith.me/2011/03/thought-apples-imac-rear-access-ports/#comments</comments>
		<pubDate>Fri, 11 Mar 2011 20:09:45 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Solutions]]></category>
		<category><![CDATA[apple]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=239</guid>
		<description><![CDATA[I think the little game or feel-around that one must play in order to plug a pair of headphones into their iMac is Apple&#8217;s cruel little joke on its loving customers. Well, not really, but every time I need to plug something into that 3.5mm jack on the back of my iMac at the office, [...]]]></description>
			<content:encoded><![CDATA[<h3>I think the little game or feel-around that one must play in order to plug a pair of headphones into their iMac is Apple&#8217;s cruel little joke on its loving customers.</h3>
<p><a rel="attachment wp-att-242" href="http://gavinsmith.me/2011/03/thought-apples-imac-rear-access-ports/img_0114/"><img class="aligncenter size-large wp-image-242" title="IMG_0114" src="http://gavinsmith.me/wp-content/uploads/2011/03/IMG_0114-e1299874426906-560x322.jpg" alt="" width="560" height="322" /></a></p>
<p>Well, not really, but every time I need to plug something into that 3.5mm jack on the back of my iMac at the office, I can&#8217;t help but think about why it&#8217;s so difficult. I&#8217;ve pondered putting that port on the side, on the bottom, anything that helps access &#8211; but really, repositioning offers no ideal or substantially improved alternative.</p>
<p>While the same issue is present with the USB ports in the same area, they&#8217;re much more defined and can be felt out with relative ease. the issue with the 3.5mm port is that it&#8217;s so small, so challenging to accurately locate with your index finger, blindly. So I propose a simple solution (the best kind!). Recess it in a small (approx 1cm in diameter) dimple . Around the size of the tip of an average finger. This does two things: Makes the port easier to find blindly, and provides a very small targeting assist &#8211; the plug would slide in with relative ease even if aimed a little bit off.</p>
<p>How&#8217;s that, Steve?</p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/03/thought-apples-imac-rear-access-ports/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>OS X 10.7 Lion First Impressions</title>
		<link>http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=os-x-10-7-lion-first-impressions</link>
		<comments>http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/#comments</comments>
		<pubDate>Fri, 25 Feb 2011 15:00:54 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[os x]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=221</guid>
		<description><![CDATA[A few screenshots of OS X 10.7 Lion popped up today, and the interface depicted has me pondering. ALL images in this post are credited to macstories.net Finder has gone the way of iTunes, totally grayscale. I get the decision to some extent, unifying everything, but this oversteps design boundaries &#8211; it&#8217;s excessively sterile. I [...]]]></description>
			<content:encoded><![CDATA[<p>A few screenshots of OS X 10.7 Lion <a href="http://www.macstories.net/news/first-screenshots-and-details-of-mac-os-x-lion/">popped up today</a>, and the interface depicted has me pondering.</p>
<p><em>ALL images in this post are credited to macstories.net</em></p>
<p><em><a rel="attachment wp-att-222" href="http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/screen-shot-2011-02-24-at-5-54-29-pm/"><img class="aligncenter size-large wp-image-222" title="OS X 10.7 Finder" src="http://gavinsmith.me/wp-content/uploads/2011/02/Screen-Shot-2011-02-24-at-5.54.29-PM-560x436.png" alt="" width="560" height="436" /></a> </em></p>
<p>Finder has gone the way of iTunes, totally grayscale. I get the decision to some extent, unifying everything, but this oversteps design boundaries &#8211; it&#8217;s <strong>excessively sterile</strong>. I intentionally keep all installs of OS X I control on the original OS theme (with the &#8216;traffic light&#8217; window controls), because I find Graphite (which effectively grayscales those icons) borderline depressing. <em>I think a grayscaled Finder should come with the selection of the grayscale OS theme, and otherwise they should remain colored.</em></p>
<p>Also worth noting is the new button style for the finder views. This change appears in multiple screenshots of Lion. Clearly it&#8217;s very resemblant of a touch (iOS) interface, but the connect isn&#8217;t there for me &#8211; mice, even trackpads, are not on the same level as touchscreen devices. There&#8217;s no tactile simulation, which a <em>slideable</em> element implies. Why are they trying to meddle with this before they&#8217;re ready to go touchscreen in any sense with OS X? Additionally, I think the UI feature makes zero sense on menus with more than two items. This is a toggle-specific interaction as far as I&#8217;m concerned &#8211; true/false, on/off, enabled/disabled. Not list/icons/details/coverflow.</p>
<p>Also, why the bloody crap is Coverflow still in Finder?</p>
<p><a rel="attachment wp-att-223" href="http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/screen-shot-2011-02-24-at-5-56-54-pm/"><img class="aligncenter size-large wp-image-223" title="Screen-Shot-2011-02-24-at-5.56.54-PM" src="http://gavinsmith.me/wp-content/uploads/2011/02/Screen-Shot-2011-02-24-at-5.56.54-PM-560x473.png" alt="" width="560" height="473" /></a>I&#8217;ve been using <a href="http://harnly.net/category/software/letterbox/">Letterbox</a> for well over a year, perhaps two. All it effectively does is change the orientation in Apple Mail from displaying message previews <em>above </em> the mail list to <em>beside</em> it, to its right. This allows for greater vertical message list length and message preview length (and if you&#8217;re like me, you <em>only</em> view messages in &#8216;preview&#8217; mode. In short, it makes better use of widescreen monitors. This is now unnecessary, as Apple has rethought this in Mail 5, changing the orientation and making other iPad-like interface adjustments. This, I&#8217;m excited for.</p>
<p><em>Yes, I know about <a href="http://www.postbox-inc.com/">Post Box</a> and the like &#8211; to be honest, I can&#8217;t properly explain why I&#8217;ve never made the switch, though I have tried. There you have it.</em></p>
<p><em><a rel="attachment wp-att-225" href="http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/screen-shot-2011-02-24-at-6-41-20-pm/"><img class="aligncenter size-large wp-image-225" title="Screen-Shot-2011-02-24-at-6.41.20-PM" src="http://gavinsmith.me/wp-content/uploads/2011/02/Screen-Shot-2011-02-24-at-6.41.20-PM-560x490.png" alt="" width="560" height="490" /></a></em>I have only one thing to say about the revised TextEdit: <a href="https://twitter.com/#!/gavinsmith/status/40839670002753536">Holy shit, TextMate supports list writing (properly)!</a> Welcome to nearly two decades ago. I hope the OS&#8217;s global font/formatting chrome has been significantly improved as well.</p>
<p><a rel="attachment wp-att-224" href="http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/screen-shot-2011-02-24-at-6-18-33-pm/"><img class="aligncenter size-large wp-image-224" title="Screen-Shot-2011-02-24-at-6.18.33-PM" src="http://gavinsmith.me/wp-content/uploads/2011/02/Screen-Shot-2011-02-24-at-6.18.33-PM-560x335.png" alt="" width="560" height="335" /></a></p>
<p>Finally, one of the oddities I encountered. Quick look has always been very much a keyboard access UI for me &#8211; tap space, see if it&#8217;s what I&#8217;m looking for or scan for a piece of information in the document I was looking for, tap space again to dismiss. I don&#8217;t like that they&#8217;ve introduced a clickable button to the quick look interface here, as this is one of the last places I&#8217;d want to use a mouse. Odd.</p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/02/os-x-10-7-lion-first-impressions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iTunes: Almost a decade in and still sans a decent UI</title>
		<link>http://gavinsmith.me/2011/02/itunes-almost-a-decade-in-and-still-sans-a-decent-ui/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=itunes-almost-a-decade-in-and-still-sans-a-decent-ui</link>
		<comments>http://gavinsmith.me/2011/02/itunes-almost-a-decade-in-and-still-sans-a-decent-ui/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 06:53:53 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[apple]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=181</guid>
		<description><![CDATA[I&#8217;ll keep this short. I&#8217;ve posted in the past about my problems with the way iTunes handles playlists and browsing while music is playing. This is one of those things that sits on the same level of annoyance for me as the way Windows 7 handles alphabetizing in its control panel (this shit is asinine). [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll keep this short. I&#8217;ve posted in the past about my problems with the way iTunes handles playlists and browsing while music is playing. This is one of those things that sits on the same level of annoyance for me as the way Windows 7 handles alphabetizing in its control panel (<a href="http://superuser.com/questions/49269/how-do-i-fix-the-display-of-windows-7s-control-panel">this shit is asinine</a>).</p>
<p>Why on earth can&#8217;t iTunes keep in line with a user&#8217;s intended commands while both playing and browsing through a library? Why is it that, when I am in an artist view and play a song and then switch to another artist&#8217;s view <em>just to look around</em>, iTunes plays out the current track and then picks a new one from <strong>whatever the hell I happen to be looking at at that moment in time</strong>? This behaviour is totally unjustifiably ridiculous.</p>
<p>I re-tested this today to find that now, instead of continuing with tracks in the view you started the current track from, it will move on to <em>dead silence</em>. I&#8217;m not sure if this was changed recently or if I&#8217;m doing something differently, but if it&#8217;s the former, what a pathetic attempt at a solution to a problem when the real solution of obvious and not very complex.</p>
<h3>Apple, iTunes is one of your biggest cash cows, but also some of your shoddiest UX work.</h3>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/02/itunes-almost-a-decade-in-and-still-sans-a-decent-ui/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Redesigning Registration</title>
		<link>http://gavinsmith.me/2011/01/redesigning-registration/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=redesigning-registration</link>
		<comments>http://gavinsmith.me/2011/01/redesigning-registration/#comments</comments>
		<pubDate>Mon, 31 Jan 2011 13:30:38 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[forms]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=138</guid>
		<description><![CDATA[The first thing a prospective user approaches on your shiny new web app, the registration form. The importance of this process is often overlooked or not sufficiently analyzed for shortcomings or elements which can be improved. If conversion is everything with your app, this is the first and (hopefully) only barrier separating them from the experience and utility you have to [...]]]></description>
			<content:encoded><![CDATA[<h3>The first thing a prospective user approaches on your shiny new web app, the registration form.</h3>
<p>The importance of this process is often overlooked or not sufficiently analyzed for shortcomings or elements which can be improved. If conversion is everything with your app, this is the first and (hopefully) only barrier separating them from the experience and utility you have to offer. Time to get it right.</p>
<p>I&#8217;ve always been particularly drawn to the UX involved with forms on the web. They are by far generally the most tedious and taxing commonalities for the typical user (and the rest of us too), and request the most of the poor user who probably doesn&#8217;t want to type anything more than URLs.<span id="more-138"></span></p>
<h2>Fields. What&#8217;s required?</h2>
<blockquote class="me"><p>The registration process &#8211; it&#8217;s like the bow on an <a href="http://photography.nationalgeographic.com/staticfiles/NGS/Shared/StaticFiles/Photography/Images/POD/i/icebreaker-105121-lw.jpg">icebreaker</a>, if it fails the rest is completely screwed.</p></blockquote>
<p>Take a moment to think about what data your application actually <em>requires</em> from each user. More often than not, that&#8217;s email, username, and password. That gives you enough information to authenticate and identify a user within your application, as well as of course communicate with them via email. Every field beyond that is one additional hurdle for the user, or perhaps more accurately, your application&#8217;s ability to get a user on board.</p>
<p>Let&#8217;s take for example a &#8216;name&#8217; field. Not <em>username</em>, <em>name</em>. That&#8217;s right, this is the internet, you have to ask if you want a real name. First of all, is a real name necessary; could you request it post-registration (more on that in a bit)? Is that field one or two (first and last names)? Will you need to use only the first name at any point in time, or only the last name? It&#8217;s not safe to split at the first space to display first/last names if they entered it in one field, so the need for two fields is created. This initial consideration for what information you need to collect decides the format and structure of your entire registration flow, arguably the most important part to any web application&#8217;s initial success.</p>
<h2>The minimalist approach</h2>
<p>Occasionally, I come across websites that only ask for your email address and handle the rest for you. That is, they send you your password via the provided email address. What does this constitute as effective for? It&#8217;s the sites like Instapaper (which actually doesn&#8217;t require a password at all if you don&#8217;t feel the need to protect your account or specifically want to make it public) that don&#8217;t have a basis in community. Personal applications that are meant for pure utility and often don&#8217;t have high security requirements.</p>
<p>Is this approach effective? Yes, as long as it&#8217;s suited to the application. More importantly, is it possible to bring some of the ideas behind this approach to other, more in-depth registration processes? It&#8217;s the non-personal information in a registration form&#8217;s requirements that can sometimes be considered troublesome to fill out, like the password field (more on that later). Another example would be selecting a vanity URL. While this could potentially be presented post-registration, could it not be included in your registration form and filled in automatically based on your username or first/last name fields? When you &#8216;tab out&#8217; of the <em>last name</em> field, could an element appear with the proposed, already confirmed as available via AJAX, vanity URL that consists of the first name field and last name field, no spaces? <a href="http://www.rdio.com/">Rdio</a> does this successfully on their registration form.</p>
<h2>Bending standards</h2>
<p>Beyond the fields included in a form for (or in the subsequent stages of) registration are more set-in standards. I&#8217;ve been noticing more and more questioning of &#8216;password masking&#8217;, the default behaviour of password fields in-browser. That is, the way password inputs replace each character you type with a bullet point or asterisk. This has been the accepted and standard behaviour for as long as I can remember, and the only variance I can recall is the slightly changed behaviour on many touchscreen devices, namely the iPhone/iPad.</p>
<p>With a slightly less accurate/predictable keyboard, typing blind is a bit too much to throw at users &#8211; so on these devices, the last character you type remains visible for about a second, or until you type the next character. This behaviour is fantastic. It could be argued that it degrades the security that the masking is designed to provide in the first place, but if you have someone looking that closely at what you&#8217;re doing to follow the &#8216;visible&#8217; tail-character, they might as well be watching the keys you press. The obvious &#8216;next step&#8217;, passible or not, is un-masking completely. This is where I would draw the line on mobile devices, as there are far too many situations where an onlooker with nothing better to look at could very easily read your password. On desktop platforms, however, I think it&#8217;s a different story.</p>
<p>What I&#8217;m getting at here is that silly <em>confirm password</em> field that accompanies quite literally every single password input I&#8217;ve ever seen. I understand why this exists. It is impossible to know 100% what you&#8217;ve typed in as your password. One typo and you&#8217;ve got to go through a reset password process before you&#8217;re even fully registered. However, the problem is created in the first place by the masked password standard. In this respect, an unmasked password fields solves the problem &#8211; double-check once you&#8217;ve typed it, even if you were watching your fingers on the keyboard or your cat playing with the printer (aww), and you&#8217;re set.</p>
<p>What about those curious onlookers, though, near your desktop computer? Let&#8217;s be honest, how often do you sign up for a new service with somebody looking at your monitor? Admittedly, however, it is a potential problem, so here comes one more question. Where do we give the user a choice? Is it a browser setting? and OS setting? Functionality you build into your applications&#8217; registration form? Well, I was unsure about this myself, but then I remembered what I&#8217;m writing about here -<em> registration forms</em>. None of this subject is applicable to login forms, as there is no &#8216;bloat&#8217; input to fix with log in forms &#8211; get it wrong, simply try one more time and get in. That answers the question &#8211; this is very much a per-web app feature. It can be safely assumed, optional or not, by neither the OS nor the browser that password inputs should not be masked.</p>
<p><strong>I&#8217;m thinking about building up some alternative password field behaviours in the near future, watch this space.</strong></p>
<h2>Post-registration information</h2>
<div id="attachment_147" class="wp-caption alignright" style="width: 310px"><a href="http://gavinsmith.me/wp-content/uploads/2011/01/Screen-shot-2011-01-30-at-12.10.36-PM-e1296407594471.png"><img class="size-medium wp-image-147 " title="Screen shot 2011-01-30 at 12.10.36 PM" src="http://gavinsmith.me/wp-content/uploads/2011/01/Screen-shot-2011-01-30-at-12.10.36-PM-e1296407594471-300x170.png" alt="" width="300" height="170" /></a><p class="wp-caption-text">oh hai, reminder</p></div>
<p>In the case of an application that requires a fair amount of information upfront, in order to enable all of the application&#8217;s most important functionality, some choose to first get you registered &#8211; that is, username/email/password &#8211; and then prompt you to complete your profile before you can begon using it. Sometimes it&#8217;s optional but continues to bug you about it (&#8220;<em>Your profile is 15% complete, only 4 steps remaining!</em>&#8220;), and other times it&#8217;s a forced second registration step. In the case of Rdio, the first step is essentially just an email confirmation step on its own &#8211; and serves to get your email address in the system just in case you flake when the next registration step arrives (in which case you&#8217;ll get email reminders to finish up).</p>
<p><a href="http://gavinsmith.me/wp-content/uploads/2011/01/Screen-shot-2011-01-30-at-12.21.10-PM.png"><img class="alignleft size-full wp-image-151" title="Screen shot 2011-01-30 at 12.21.10 PM" src="http://gavinsmith.me/wp-content/uploads/2011/01/Screen-shot-2011-01-30-at-12.21.10-PM.png" alt="" width="215" height="150" /></a>This approach has pros and cons. Again, the necessity of the second-stage information collection must be questioned. While it may seem more likely that a user will just go ahead and finish up the registration when they&#8217;ve already created an account and just need to provide a bit more information, it&#8217;s also borderline sneaky and some users won&#8217;t appreciate that. If it&#8217;s not *totally* mandatory, that usually means you&#8217;ll have a &#8216;progress&#8217; meter until the end of time letting you know what you haven&#8217;t yet done to let the service know who you are or let the world know about your presence on it. Typically, there&#8217;s no out-out for any given step that you decidedly do not want to complete (see left, on <a href="http://klout.com/">Klout</a>), although in my opinion that would solve the problem. You&#8217;re encouraging the completion/actions, but not forever criticizing your users for failing to comply. If the missing information makes missing functionality evident, the requirement will appear necessary, instead of demanded.</p>
<h2>Security</h2>
<p>The security of a user&#8217;s account is governed almost entirely by the password they choose. Sure, there are best practices to evade hacks and account cracking centered around the UI (such as displaying only &#8216;login incorrect&#8217; instead of &#8216;wrong password&#8217;, which gives away an existing username), but really on an individual account level, it&#8217;s about the password. Developers know this, and password requirements have become commonplace. In theory, password requirements/restrictions make perfect sense &#8211; if the user wants to use <em>abc123</em> as their password, simply don&#8217;t let it happen. However, it&#8217;s also a deterrent unless it&#8217;s done very gracefully.</p>
<p>I&#8217;ve come across password fields that take password security into account, but absolutely ignore UX. Being informed <em>after submitting the form</em> that my password doesn&#8217;t contain the necessary characters? Having a <em>maximum character limit</em> (baffles me each and every time, seems <del>somewhat</del> totally counterproductive)? If requirements are going to be imposed on one of the most basic fields in registration, one of two things need to happen.</p>
<ol>
<li>Make the password for them. This could be done by leaning-up the registration form and sending the password to the user via email along with a confirmation link (two birds with one stone). Alternatively, you could get crafty with the single password field in registration (read upwards for a discussion on password masking) and essentially provide a password generator rather than input. Something I&#8217;d particularly like to see in something of a hybrid is a password generator with an optional checkbox that reads &#8216;create my own password&#8217; and otherwise implies that a less complex password will put their account at higher risk.</li>
<li>Make it as painless as possible. Be upfront with password requirements. Make the lower character limit six, not eight &#8211; unless perhaps you store credit card information within user accounts. Provide examples. Take from the above point and provide a randomly generated one and give them a &#8216;fill&#8217; or &#8216;use&#8217; button to use it.  Finally, let them know <strong>as soon as they focus out</strong> of the field either way whether it&#8217;s good. These parameters should negate the need for a &#8216;password strength meter,&#8217; I have doubts about how useful they are to anyone in the first place.</li>
</ol>
<h3>The registration process, the most forward-facing and fragile part of your application&#8217;s user experience, deserves more attention. It&#8217;s like the bow on an <a href="http://photography.nationalgeographic.com/staticfiles/NGS/Shared/StaticFiles/Photography/Images/POD/i/icebreaker-105121-lw.jpg">icebreaker</a>, if it fails the rest is completely screwed.</h3>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/01/redesigning-registration/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>An iTunes icon color mod, in light of the Mac App Store</title>
		<link>http://gavinsmith.me/2011/01/an-itunes-icon-color-mod-in-light-of-the-mac-app-store/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=an-itunes-icon-color-mod-in-light-of-the-mac-app-store</link>
		<comments>http://gavinsmith.me/2011/01/an-itunes-icon-color-mod-in-light-of-the-mac-app-store/#comments</comments>
		<pubDate>Thu, 06 Jan 2011 20:52:07 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[ui]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=119</guid>
		<description><![CDATA[With the new Mac App store, I noticed the Mac now has the same dual icons as on the iOS &#8211; iTunes, App store. However, on the Mac, the icons are both blue whereas iTunes is purple on the iPhone. It&#8217;s a nice duo on iOS, but the already somewhat sub-par iTunes icon (it has yet to [...]]]></description>
			<content:encoded><![CDATA[<p><a rel="attachment wp-att-121" href="http://gavinsmith.me/2011/01/an-itunes-icon-color-mod-in-light-of-the-mac-app-store/img_0637-2/"><img class="alignright size-full wp-image-121" title="IMG_0637" src="http://gavinsmith.me/wp-content/uploads/2011/01/IMG_06371.png" alt="" width="203" height="175" /></a>With the new Mac App store, I noticed the Mac now has the same dual icons as on the iOS &#8211; iTunes, App store. However, on the Mac, the icons are both blue whereas iTunes is purple on the iPhone. It&#8217;s a nice duo on iOS, but the already somewhat sub-par iTunes icon (it has yet to grow on me and I don&#8217;t think it will) does not sit well with its new Mac App Store counterpart. Especially if you have them both close to the Finder icon in your dock, the default App Store positioning being immediately to its right.</p>
<p>Another oddity is the change in symbol color &#8211; on the iPhone, they&#8217;re both white, and here we are on the Mac with a white App Store symbol and a black iTunes symbol.</p>
<p><a href="http://gavinsmith.me/wp-content/uploads/2011/01/iTunes1.png"><img class="alignleft size-medium wp-image-131" title="iTunes - Color Corrected" src="http://gavinsmith.me/wp-content/uploads/2011/01/iTunes1-300x300.png" alt="" width="300" height="300" /></a>Long story short, it&#8217;s not very well unified. I&#8217;m satisfied for now with one quick change, purple-izing the iTunes icon to at least resolve one of those issues.</p>
<p>Feel free to download  <a href="http://gavinsmith.me/files/iTunes-purple-v2.icns">here</a> (.icns, ~255kB).</p>
<p><em>Updated to get the tone closer to that of iOS&#8217;s icon, cheers </em><a style="font-style: italic;" href="https://twitter.com/adambetts/status/23125130267860992">@adambetts</a><em>! Could get closer, but the icon as a whole is shaded completely differently &#8211; somewhat difficult to balance it properly, additionally with the black symbol vs. white.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2011/01/an-itunes-icon-color-mod-in-light-of-the-mac-app-store/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Developing WordPress: The page template/meta fields struggle</title>
		<link>http://gavinsmith.me/2010/12/developing-wordpress-the-page-templatemeta-fields-struggle/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=developing-wordpress-the-page-templatemeta-fields-struggle</link>
		<comments>http://gavinsmith.me/2010/12/developing-wordpress-the-page-templatemeta-fields-struggle/#comments</comments>
		<pubDate>Sun, 26 Dec 2010 20:44:09 +0000</pubDate>
		<dc:creator>Gavin Smith</dc:creator>
				<category><![CDATA[WordPress]]></category>
		<category><![CDATA[custom post types]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://gavinsmith.me/?p=102</guid>
		<description><![CDATA[One of the biggest hurdles when developing on WordPress for clients is making the end product as intuitive as possible for whomever will be editing the site&#8217;s content once you hand it over. Let&#8217;s face it, formal documentation takes quite a bit of work to assemble and amounts to the least enjoyable part of a [...]]]></description>
			<content:encoded><![CDATA[<p>One of the biggest hurdles when developing on WordPress for clients is making the end product as intuitive as possible for whomever will be editing the site&#8217;s content once you hand it over. Let&#8217;s face it, formal documentation takes quite a bit of work to assemble and amounts to the least enjoyable part of a project. Really, in most circumstances, small- to medium-sized sites should be plug-any-play for the client.<span id="more-102"></span></p>
<blockquote class="me"><p>Really, in most circumstances, small- to medium-sized sites should be plug-any-play for the client.</p></blockquote>
<p>The challenge I come across often is with complex page designs that contain various blocks of content. It&#8217;s cases where a page template contains several different areas of content that handling how the user manages that content becomes a bit complicated, and  the process strays from <em>intuitive</em> to <em>abstract</em> for the client. The three most common solutions I find used are as follows:</p>
<ul>
<li><strong>Posts as content blocks</strong>. Even when the content areas are static and specific to just one page, often a site will ship with posts categorized by the page they are to appear on. Worse, sometimes the template actually calls specific post IDs. Template files, should never, ever, ever use specific content (or user, or taxonomy, etc.) IDs, and an options page with drop-downs is a half-assed workaround. This process makes the concept of a &#8216;post&#8217; totally abstract to the user. <em>Why can&#8217;t I edit the content in the &#8216;page&#8217; editor?</em></li>
<li><strong>WYSIWYG Editor Formatting</strong>. TinyMCE is a decent editor but let&#8217;s face it, you simply do not rely on it to keep track of more than lists, paragraphs, and some inline formatting. Asking a client to enter code view, <em>ever</em>, is a sin in my book.</li>
<li><strong>Custom fields</strong>. Probably one of the better approaches, but not without its problems. Using custom fields on individual pages creates global entries in the wp_options table, which show up in all instances of that Custom Fields meta box. Why should the client have the option of entering <em>phone_number </em>and <em>address_1</em> on the Gallery page? the global level is problematic in this case, and the custom fields interface as a whole is not as intuitive as one would like.</li>
</ul>
<p>None of these solutions is ideal. They each have potential to confuse the client, screw up the display of the page, or result in emails to you when you haven&#8217;t included ongoing maintenance in your invoicing, but you can&#8217;t ignore because they&#8217;re a result of the clarity of what you delivered.</p>
<h2>So, how do we fix it?</h2>
<p>I&#8217;ve had a solution in mind for months now that I can&#8217;t find any problems with. Before I begin, let me say, I work in the template level in WordPress. I build functionality that works as plugins, but in themes &#8211; I get fairly involved with the core and its hooks, but <em>I am not a core developer</em>. The feasibility of this seems real to me, but it&#8217;s completely possible I&#8217;m not seeing a conflict in core implementation or hole in my logic. I welcome any and all feedback.</p>
<p>The same way you can use <a href="http://codex.wordpress.org/Function_Reference/add_meta_box"><code class="backtick">&lt;code&gt;add_meta_box&lt;/code&gt;</code></a> to add meta boxes in custom post types content types (really, they&#8217;re not &#8216;post types&#8217;, I don&#8217;t know how they got this name), we should be able to use a similar function (or perhaps the same function with a new argument using the template name) in the context of a template, and its callback to add new fields . The rest is the same as with custom content types as well &#8211; the <code class="backtick">&lt;code&gt;save_post&lt;/code&gt;</code> hook to collect your custom fields and any necessary JS or CSS included in the admin dashboard using <code class="backtick">&lt;code&gt;wp_enqueue_style&lt;/code&gt;</code> on <code class="backtick">&lt;code&gt;admin_init&lt;/code&gt;</code>.</p>
<p>The concept is simple, once you select a template for a page and update the page, the new fields become available. If you or the client changes the template, you can change it back without losing any data as it&#8217;s saved as meta data and is not removed when the template is changed. Within the template file now, you can use <a href="http://codex.wordpress.org/Function_Reference/get_post_meta"><code class="backtick">&lt;code&gt;get_post_meta&lt;/code&gt;</code></a> to collect your custom fields, again, the same as with custom content types. These custom fields are completely contextual to the template file you&#8217;re working in, and this file is not used unless the template is selected for a page. There are no conflicts, no confusing or unusual interfaces, and the code (if implemented as I&#8217;m seeing it) is nothing unheard of in the WP documentation.</p>
<p>These are quick thoughts, but the idea&#8217;s as developed as it can be for myself &#8211; I would love some insight, positive or negative, as long as it&#8217;s constructive into the development of this or reasoning why it&#8217;s unnecessary.</p>
<p>A slightly belated happy holidays to everyone, hope you had an excellent Christmas if that&#8217;s your thing!</p>
]]></content:encoded>
			<wfw:commentRss>http://gavinsmith.me/2010/12/developing-wordpress-the-page-templatemeta-fields-struggle/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

