<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title><![CDATA[Matt Gemmell]]></title>
  <link href="http://mattgemmell.com/atom.xml" rel="self"/>
  <link href="http://mattgemmell.com/"/>
  <updated>2013-05-22T21:43:32+01:00</updated>
  <id>http://mattgemmell.com/</id>
  <author>
    <name><![CDATA[Matt Gemmell]]></name>
    
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Designing blogs for readers]]></title>
    <link href="http://mattgemmell.com/2013/05/22/designing-blogs-for-readers/"/>
    <updated>2013-05-22T14:00:00+01:00</updated>
    <id>http://mattgemmell.com/2013/05/22/designing-blogs-for-readers</id>
    <content type="html"><![CDATA[<p>I&rsquo;ve been blogging for almost eleven years, and I&rsquo;ve been writing at <em>this</em> domain for almost nine. In that time, I&rsquo;ve used several different blogging platforms (<a href="http://blosxom.sourceforge.net">blosxom</a>, <a href="http://cafelog.com">b2</a>, one I made myself called Thistle, <a href="http://wordpress.org">WordPress</a>, and now <a href="http://octopress.org">Octopress</a>), and I&rsquo;ve redesigned my blog about once every couple of years.</p>

<p>I recently <a href="http://mattgemmell.com/2013/05/10/a-new-site-design/">redesigned this blog once again</a>, and as I did so, I thought about <mark class="author-mark">how my perception of blogs in general has changed over the past decade</mark>.</p>

<!--more-->


<p>In my first few years of blogging, I tended to use every possible widget and feature. For Thistle, I implemented all kinds of things: a comments system, categories, dated archives, themes, support for multiple authors, &lsquo;sticky&rsquo; (pinned to the top) posts, various syndication formats, and much more.</p>

<p>I had sidebars packed with clutter. Twitter and Facebook didn&rsquo;t exist yet, so there were no tweet-streams or follow buttons, but I certainly had lists of recent posts, popular posts, and my own favourite posts. I had drop-down category lists (with counters, and category-specific feeds), trackbacks and pingbacks, and buttons to message me on AIM or ICQ.</p>

<p>I had calendar widgets that indicated which days I&rsquo;ve blogged on. I had &ldquo;Log in&rdquo; links for the admin area. I had a theme-chooser (for the visitor to use) at one point. I&rsquo;m reasonably sure I had left <em>and</em> right sidebars for a while. My footers, to my lasting shame, even had some faint grey text indicating how long it had taken to generate the page.</p>

<p>Fast forward to today, and my past self would be perturbed by this blog&rsquo;s current design. He&rsquo;d probably ask if the CSS was broken, like the smart-arse that he was. My tastes have changed considerably since I saw fit (around 2003-2004) to head my blog with a desaturated photo of myself holding a katana &ndash; but even then I&rsquo;d already removed most of the unnecessary functionality.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8786149004/" title="My old blog, Irate Scotsman by Matt Gemmell, on Flickr"><img src="http://farm4.staticflickr.com/3783/8786149004_4798b74ea8_z.jpg" width="640" height="589" alt="My old blog, Irate Scotsman"></a>
</div>


<p>I realised that <mark class="author-mark">I&rsquo;d been focusing on my own obsession with what was possible, rather than what&rsquo;s actually useful for the reader</mark>. A year and a half ago, after much soul-searching, <a href="http://mattgemmell.com/2011/09/12/blogging-with-octopress/">I made the jump from dynamic to static blogging</a>, and kept the default Octopress theme with only minor tweaks.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8779575645/" title="Previous theme for my blog at mattgemmell.com by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7395/8779575645_58e9afd67d_z.jpg" width="639" height="640" alt="Previous theme for my blog at mattgemmell.com"></a>
</div>


<p>Better, but still with a noticeable pane of actual content, framed on two sides by cruft. The line-length was also excessive, making it tiring (for me) to read. The current appearance, however, comes a lot closer to the essence of what I want. It looks like this:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8779575135/" title="Current theme for my blog at mattgemmell.com by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8125/8779575135_4127f51649_z.jpg" width="640" height="579" alt="Current theme for my blog at mattgemmell.com"></a>
</div>


<p>I was talking to my friend <a href="https://twitter.com/grinblo">Evgenia</a> about blogs recently (do say hello, and encourage her to start her own &ndash; she&rsquo;s thinking of doing so), and at this point I should restate something I told her: I think that blogs are for their authors first, and their readership second.</p>

<p>I don&rsquo;t think there&rsquo;s any reasonable way, or any need, to separate vanity and ego from a personal blog. Writing is inherently about its author, and is a product of their personality and opinions &ndash; that&rsquo;s not something to be shy about, and we shouldn&rsquo;t try to change it either. So, <em>write</em> for yourself &ndash; and hold yourself to an appropriate standard, because you&rsquo;d better believe that others are judging the person as well as the piece &ndash; but as soon as you <em>publish</em> your views, you&rsquo;re inviting readers to take a look. I think that the needs of the reader and the author are more aligned than many blogging systems seem to believe.</p>

<p>Having had a decade to think about it, I want to share my views on what I think you do and don&rsquo;t need on a blog today. Your needs may be different, but perhaps you&rsquo;ll find something to think about. I <em>bet</em> you could simplify your blog in some way without detracting from the reading experience.</p>

<p>One brief note before we begin, courtesy of <a href="http://www.coffeemuffins.com/using-in-page-analytics-improve-your-food-blog/3105/">my wife</a>. It&rsquo;s easy enough to test your assumptions about what&rsquo;s being clicked on your site, using appropriate analytics. If you&rsquo;re using <a href="http://www.google.com/analytics/">Google Analytics</a>, for example, you may find its In-Page Analytics display (in the Content section) very useful.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8779780707/" title="Google In-Page Analytics by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7342/8779780707_53c07734b2_z.jpg" width="640" height="495" alt="Google In-Page Analytics"></a>
</div>


<p>Don&rsquo;t let the data stop you making a design decision, but do check your assumptions against actual behaviour. You can even use Analytics to do A/B testing, if you&rsquo;re really into your metrics.</p>

<p>With that said, here&rsquo;s a breakdown of what I feel is important for a modern blog.</p>

<h3>Readability</h3>

<p><mark class="author-mark">There&rsquo;s no higher priority than readable text</mark>, and yet bizarrely I still regularly find blogs with tiny fonts, long lines, tight spacing, background textures, or inverted colour schemes. Don&rsquo;t do that. Your words are worth reading, so present them with due care.</p>

<ul>
<li>Make text sufficiently large. Default blog themes are getting a little better at this, but I still think that most have text that&rsquo;s much too small for the layout.</li>
<li>Never break text- or content-zooming.</li>
<li>Aim for a line-length of between 2 and 3 alphabets. That means you should be able to get &ldquo;ABCDEFGHIJKLMNOPQRSTUVWXYZ&rdquo; at least two, but no more than three times on a single line in your layout.</li>
<li>Use an appropriate line-spacing; probably in the 50-70% range. That means that the empty space <em>between</em> lines should be about half the height of a line of text, or a bit more.</li>
<li>Try to go with dark text on a plain light background. If you do, respect the user&rsquo;s text-selection colour. Otherwise, <a href="http://quirksmode.org/css/selectors/selection.html">choose a suitable selection colour</a> to provide contrast without excessive saturation.</li>
<li>If you soften your text colour (from black to grey, for example), only do so very slightly.</li>
<li>Focus on the content. Ruthlessly minimise any meta-elements at the top of an article. People don&rsquo;t want to interact with those; they want to read what you&rsquo;ve written.</li>
<li>If you run ads, keep them outside of the content area, without exception.</li>
</ul>


<h3>Hypertext etiquette</h3>

<p>There are some areas where it&rsquo;s OK to be clever, but <mark class="author-mark">the basic tenets of hypertext should be left alone</mark>. Sites with links that are almost indistinguishable from surrounding text just make me shake my head. It&rsquo;s antisocial.</p>

<ul>
<li>Links should be obvious. Personally, I still firmly believe in underlined hyperlinks (in body copy; I make an exception for headings), in a distinct colour. Blue is a great choice. Make the underlines solid. Don&rsquo;t use underlines for anything else, either (<em>never</em> for emphasis).</li>
<li>Make a clear distinction between visited and unvisited links. Visited links should still be as distinct from the surrounding text as unvisited ones too.</li>
<li>Don&rsquo;t make links that open new windows or tabs; it&rsquo;s grossly hostile to the reader. The only (possible) exception is for one-shot, brief off-site interactions, like social intents. That&rsquo;s a <em>possible</em> exception.</li>
<li>Don&rsquo;t ever break the back-button. Don&rsquo;t even <em>touch</em> the functionality. It&rsquo;s not yours to play with.</li>
</ul>


<h3>Responsiveness</h3>

<p>Don&rsquo;t have a separate mobile site. <em>Definitely</em> don&rsquo;t just ignore mobile devices. Design your site so it&rsquo;ll look good on at least:</p>

<ul>
<li>Large screens like desktop monitors or laptops.</li>
<li>Tablet devices, in both orientations.</li>
<li>Phones, in both orientations.</li>
<li>Consider interaction methods &ndash; hover doesn&rsquo;t really work on touch-screens.</li>
</ul>


<p>Your site should reflow and restyle itself gracefully to suit the screen&rsquo;s dimensions. These days, you can do it all in pure CSS, using <a href="http://css-tricks.com/css-media-queries/">media queries</a>.</p>

<p>It&rsquo;s fine to take a principled stand on browser support (it&rsquo;s <em>your</em> blog). It&rsquo;s also easy to get some actual data, to help you decide what to test on. I have a very Apple-skewed readership, for example, so these are my test priorities, in order:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8736089134/" title="mattgemmell.com visitors by overall browser and OS share, Jan 1st - May 13th 2013 by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7322/8736089134_da7bc1bb16_z.jpg" width="640" height="329" alt="mattgemmell.com visitors by overall browser and OS share, Jan 1st - May 13th 2013"></a>
</div>


<p>Yours will probably be a bit different, particularly regarding the importance of IE.</p>

<h3>Utility for the reader</h3>

<p>I&rsquo;ve found that there are very few essential features for a blog, except displaying its content effectively. You probably don&rsquo;t need much more than these.</p>

<ul>
<li>A search field. By all means bounce to a search engine, but do have a visible search feature. As your readership builds, people will want to cite or revisit pieces they remember reading, and their first port of call will be at your site.</li>
<li>A feed that&rsquo;s auto-discoverable via the appropriate <code>link</code> tag.</li>
<li>A favicon, for convenience in feed-readers. People will complain otherwise.</li>
</ul>


<p>As a courtesy, and as common sense, you&rsquo;ll probably want to include some contact information too.</p>

<h3>SEO considerations</h3>

<p>The best way to optimise your site for search engines is to <a href="http://mattgemmell.com/2011/09/20/seo-for-non-dicks/">keep writing, and don&rsquo;t try to trick the system</a>, but there are a few practical considerations you&rsquo;ll want to take note of too.</p>

<ul>
<li>Ensure your article permalinks are stable, and don&rsquo;t (visibly) use query-strings.</li>
<li>Ensure your permalinks contain the titles of their articles.</li>
<li>Provide per-article descriptions (summaries).</li>
<li>Have an archive page, to ensure that all past articles are reachable (and crawlable) within a link or two of your homepage.</li>
<li>I&rsquo;ve found it advantageous to provide <a href="http://support.google.com/webmasters/bin/answer.py?hl=en&amp;answer=1408986">authorship information linked to a Google account</a>.</li>
</ul>


<h3>Optional functionality</h3>

<p>There are only two optional features I could think of, and they&rsquo;re both conveniences for the reader. Not everyone will make use of them, and they do incur a design cost on the page, so keep them in your article-footer if you do choose to include them.</p>

<ul>
<li>Social sharing. The reality is that people <em>will</em> want to share your articles at some point, so you might as well make it easy to benefit from the free marketing. You&rsquo;re writing to be read, after all.</li>
<li>Category indices (even virtual ones that just perform a search), if you use categories. It&rsquo;s a poor-man&rsquo;s &ldquo;related posts&rdquo; feature, and it&rsquo;s more than adequate.</li>
</ul>


<p>Regarding categories, I have some advice: specify either one (ideally), or two (at most) categories per article. Choose the most relevant ones. It&rsquo;ll have the side-effect of automatically trimming down your category list, and helping you determine what your recurring topics are. Resist all temptations to file a piece in any more than two categories.</p>

<p>For any greater granularity of metadata, trust the content and the search engines&#8217; indexing. If you choose to use keywords, don&rsquo;t list them on the page itself for the user (using metadata is fine; your article summary should be there too).</p>

<p>I recently added one other piece of optional functionality, which I&rsquo;m still experimenting with: <a href="http://mattgemmell.com/2013/05/16/author-marks/">author marks</a>.</p>

<h3>Elements to remove</h3>

<p>Finally, here are some of the elements I&rsquo;ve used and then later removed over the years. Every one was difficult to let go of, but I&rsquo;ve missed none of them.</p>

<ul>
<li>Comments. You almost certainly <a href="http://mattgemmell.com/2011/11/29/comments-off/">don&rsquo;t need them</a>. I used to routinely get dozens or even hundreds of genuine comments per article, and I felt that they took away some of my control of my own writing. Let people use their own blogs or social media to respond &ndash; you can still read them en masse if you wish. For example, any tweets regarding this article <a href="http://topsy.com/mattgemmell.com/2013/05/22/designing-blogs-for-readers/">will be collected here</a>.</li>
<li>Date-based index pages. People won&rsquo;t use these. Nobody arrives at a blog wondering what you wrote on a specific date. The presence of seemingly-duplicate extracts on multiple index pages (for example, your category indices and also on date indices) creates a lot of noise in your site&rsquo;s search results too.</li>
<li>A feed button. By all means <em>have</em> a feed, but acknowledge that it&rsquo;s for a tiny (and fairly technical) minority. Auto-discovery is enough. For mobile devices (where it&rsquo;s often harder to copy a page&rsquo;s URL), there may be some benefit to having an explicit link &ndash; but keep it in the footer.</li>
<li>Header cruft, such as social media links. Trim your header mercilessly. Even mine probably still has too many links.</li>
<li>Background textures or colours. <mark class="author-mark">The design should serve the text</mark>. Text should never be made to conform to a design for any purpose other than legibility, on a personal blog.</li>
<li>A sidebar. This is the meta-element of useless cruft. Everything in your sidebar that you think you need can be either moved or deleted. <mark class="author-mark">A sidebar is a blog&rsquo;s junk drawer</mark>. If you really must have an agglomeration of heterogeneous clutter, put it in your footer instead.</li>
<li>Social media timelines. If people like your writing, they&rsquo;ll follow you (or will actually reach your blog via social media). You don&rsquo;t need tweets embedded on your blog. Also, a person&rsquo;s aggregated tweets look strange in isolation.</li>
<li>Your github repositories, instagrams, and so forth. I can see the case for advertising your <em>products</em>, but keep the projects, photos, profiles and such on your About page, or as links in your footer.</li>
<li>Recent posts. Your main page presumably shows extracts of your most recent posts, perhaps with pagination. That&rsquo;s all you need. People will read for interest. For most of your readers over time, your recent posts are old news.</li>
<li>Popular posts. Let the reader decide what they like. If you wish to suggest some of your own favourite posts, do it from your About page, so it&rsquo;s optional. Lists of post-titles are dense and distracting, so keep them hidden away.</li>
</ul>


<h2>Towards more readable blogs</h2>

<p>I&rsquo;ve spent inordinate amounts of time writing for the web; a third of my life, in fact. For most of that time, I somehow neglected to consider that perhaps my own preferences and behaviours as a reader might <em>also</em> apply to those who read my output.</p>

<p>When I visit a new blog, as I do several times each day, my first assessment is whether the content is obscured by the design. I&rsquo;ll rarely consider whether the design <em>enhances</em> the content. I&rsquo;m visiting for a purpose, and the purpose is to read.</p>

<p>There are lots of popular writers whose blogs I read every day, and whose writing I admire, that break several of the guidelines I&rsquo;ve listed. Just off the top of my head, I can easily list <a href="http://www.marco.org">Marco</a> (he has date archives), <a href="http://daringfireball.net">John</a> (sidebar), <a href="http://shawnblanc.net">Shawn</a> (sidebar), <a href="http://one37.net">Matt</a> (line length), <a href="http://reverttosaved.com">Craig</a> (line length) and <a href="http://www.loopinsight.com">Jim</a> (comments). I wanted to mention <a href="http://brooksreview.net">Ben</a> too, but he pretty much nails my list.</p>

<p>It&rsquo;s easy to see that all of those blogs do follow the same ethos, though &ndash; <mark class="author-mark">considered words, respectfully presented</mark>. Tastes differ, but good taste permeates.</p>

<p>If you write online, make sure that your blog serves your readers&#8217; needs as well as yours, and lends appropriate weight to your well-chosen words.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Author Marks]]></title>
    <link href="http://mattgemmell.com/2013/05/16/author-marks/"/>
    <updated>2013-05-16T17:40:00+01:00</updated>
    <id>http://mattgemmell.com/2013/05/16/author-marks</id>
    <content type="html"><![CDATA[<p>Four days ago, I published an article entitled <a href="http://mattgemmell.com/2013/05/12/tail-wagging/">Tail wagging</a>, about the backlash against skeuomorphic design. It was well received, gaining about 30,000 reads here and links from <a href="http://www.loopinsight.com/2013/05/14/truth-in-design/">The Loop</a>, <a href="http://www.marco.org/2013/05/12/tail-wagging">Marco Arment</a> and <a href="http://www.subtraction.com/2013/05/14/tail-wagging-in-interface-design">Khoi Vinh</a>, amongst others.</p>

<p>I get a great deal of pleasure from reading responses to my articles, most of which are via <a href="http://twitter.com/mattgemmell">my Twitter account</a>. I was reading <a href="http://topsy.com/mattgemmell.com/2013/05/12/tail-wagging/">the stream of tweets referencing the article</a> via Topsy recently, as I do for all my pieces, and I was once again fascinated by the extracts and quotes people choose to use.</p>

<!--more-->


<p>In the majority of cases, the sections people quote from my articles agree with my own impression of what the important points were. I&rsquo;d love to attribute this to careful writing and well-formed arguments, but of course it&rsquo;s more due to the reader paying attention.</p>

<p>In some cases, though, people choose to refer to articles (and thus, in a sense, summarise them) using what I feel are either secondary points, or even actual mischaracterisations of misinterpretations of what I&rsquo;ve said. The fault for that will be mine in some cases, and in others it&rsquo;ll be the reader&rsquo;s.</p>

<p>I had <a href="https://twitter.com/mattgemmell/status/335013322309107714">a spirited discussion on Twitter</a> earlier today about a vague idea for <mark class="author-mark">offering some extra insight regarding my <em>own</em> view of an article&rsquo;s salient points</mark>.</p>

<p>There were a few standard suggestions, which I&rsquo;d already dismissed as not quite appropriate. <em>Emphasis</em>, for example, is more of a linguistic tool (to indicate or be analogous to verbal emphasis) than something to be used at the logical level. I also think that emphasis is ugly and diluted when used for more than a single clause or so.</p>

<p><span class='pullquote-right' data-pullquote='Pull-quotes can make you seem arrogant'>
The next suggestion (and probably most popular overall) was pull-quotes. I&rsquo;ve used those perhaps twice in total on this blog before, and each time I felt self-conscious about it. Pull-quotes can make you seem arrogant, in my opinion. There&rsquo;s something crass about them.
</span></p>

<p>Since this discussion took place on the internet, a few people even deigned to give me a high school writing lesson, saying that no additional means of highlighting passages should be needed if I just <em>make my point properly</em>. Thanks for that.</p>

<p>Abstracts were mentioned (I think that arguments should be allowed to build; I&rsquo;m not writing academic papers), as were sub-headings (similar objection to abstracts), and unacceptably ugly inline styling like boldface or underlining.</p>

<p>Things got a bit more interesting when Branch was mentioned, which has the sort of neon-highlighter-pen concept I&rsquo;d been thinking of &ndash; you can <a href="http://branch.com/b/apple-to-begin-iphone-production-this-quarter">see examples here</a>, though again I don&rsquo;t like the underline; only the hover appearance. That implementation is reasonably close to what I&rsquo;m after.</p>

<p>No matter how carefully written a piece may be, the reader is an unknown factor. Different people will interpret your words differently, and it&rsquo;s not possible to completely eliminate that. Perhaps that&rsquo;s even a positive state of affairs.</p>

<p>In any case, everyone will have different &ldquo;take-home points&rdquo; from a piece of writing. As I see after publishing each piece, everyone&rsquo;s highlights (or summaries, or key points) are unique. The author of a piece has of course conveyed their position in the piece itself, but (except for perhaps an initial tweet, or the meta description contents of the page) we&rsquo;re not often in the position of listing our <em>own</em> highlights.</p>

<p>I think that&rsquo;s a shame, because there can be value in getting a sense of what the <em>author</em> of a piece feels is the main thrust of their own argument, or a sense of what they feel might be notable or quotable.</p>

<p>Accordingly, I&rsquo;ve implemented a system to do that on this blog, which I hope to use in future. I&rsquo;m also providing the relevant code so you reuse it yourself if you wish. <mark class="author-mark">I call these annotations <em>Author Marks</em></mark>.</p>

<p>My design criteria were contradictory:</p>

<ol>
<li>Don&rsquo;t be visually intrusive, or imply arrogance.</li>
<li>Replicate highlighter-pens on paper.</li>
</ol>


<p>As I thought about it a little more, I realised that Author Marks are somewhat like extras on a DVD; a little bit of <mark class="author-mark">additional content, which you must choose to view, giving some insight into the piece from the author&rsquo;s perspective</mark>.</p>

<p>For simplicity, I decided to make use of the <a href="http://www.w3.org/html/wg/drafts/html/master/text-level-semantics.html#the-mark-element">HTML5 <code>mark</code> tag</a> (with the <code>author-mark</code> CSS class applied) to indicate those segments. <mark class="author-mark">This has the advantages of being semantically valid, portable, and readily accessible to user-specified stylesheets</mark>.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='html'><span class='line'><span class="nt">&lt;mark</span> <span class="na">class=</span><span class="s">&quot;author-mark&quot;</span><span class="nt">&gt;</span>An important point to note<span class="nt">&lt;/mark&gt;</span>.
</span></code></pre></td></tr></table></div></figure>


<p>Highlighting of marks is off by default, but I&rsquo;ve made a simple JavaScript which you, dear reader, can use to enable highlighting if you want to. The appropriate activation links are at the top of each article (just under the heading, beside the publication date &ndash; and only on articles which actually have author marks). When active, the activation links look like this:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8754266809/" title="Author Marks toggle by Matt Gemmell, on Flickr"><img src="http://farm3.staticflickr.com/2864/8754266809_eb0a303afc_o.png" width="369" height="91" alt="Author Marks toggle"></a>
</div>


<p>For the sake of demonstration I&rsquo;ve also added a live activation link here:</p>

<div class="screenshot">
<a href="#" class="toggle-marks-highlight" title="Author Marks are the author's suggested important or quotable points.">Show Author Marks</a>
</div>


<p>I&rsquo;ve added some gratuitous marks in this article&rsquo;s text so you can readily test the functionality. For example, <mark class="author-mark">this phrase has been marked</mark>. In actual usage, I&rsquo;d try to limit the number of marks to a handful per article.</p>

<p>For those reading this in a feed reader, or with JavaScript disabled, here&rsquo;s a screenshot of how it looks.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8754256947/" title="Author Marks by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7303/8754256947_a51f20fca4_o.png" width="631" height="156" alt="Author Marks"></a>
</div>


<p>You can find the JavaScript in <a href="https://github.com/mattgemmell/author-marks">this github repository</a>, complete with instructions for use.</p>

<p>I&rsquo;ve gone back and added some marks to <a href="http://mattgemmell.com/2013/05/12/tail-wagging/">my Tail wagging piece</a> as a sort of test run.</p>

<p>It&rsquo;s my hope that this can serve as a way for me to provide a hint about my own sense of a piece&rsquo;s key points, and highlight anything I think is particularly pithy. You&rsquo;ll be free to either be complicit, or just amused at my own vanity or (in <em>your</em> opinion) misguidedness.</p>

<p>I&rsquo;m very interested in further discussion on this topic &ndash; but do feel free to wilfully mischaracterise this article <a href="http://twitter.com/mattgemmell">on Twitter</a> instead.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Tail wagging]]></title>
    <link href="http://mattgemmell.com/2013/05/12/tail-wagging/"/>
    <updated>2013-05-12T17:00:00+01:00</updated>
    <id>http://mattgemmell.com/2013/05/12/tail-wagging</id>
    <content type="html"><![CDATA[<p>Last year, <a href="http://www.standard.co.uk/lifestyle/london-life/sir-jonathan-ive-the-iman-cometh-7562170.html">Jony Ive was interviewed in the London Evening Standard</a>. It makes for interesting reading (despite the awful title).</p>

<p>Our industry is in the throes of an aesthetic shift. At one end of the spectrum, there&rsquo;s the stitched leather and wood of iOS; at the other, the stark, ascetic information-spaces of Windows Phone. It&rsquo;s more than a change of fashion: I think it highlights our continuing struggle to understand how to design and build products.</p>

<p>In that context, one seemingly offhand remark of Ive&rsquo;s really struck me:</p>

<blockquote><p>One of the things that really irritates me in products is when I&#8217;m aware of designers wagging their tails in my face.</p></blockquote>




<!--more-->


<p>The context of the quote is that Ive is talking about overly-embellished design; he&rsquo;s railing against clutter, and arguing for simplicity &ndash; whilst debating what simplicity actually means in a practical sense.</p>

<blockquote><p>Our goal is simple objects, objects that you can&#8217;t imagine any other way. [&#8230;] Get it right, and you become closer [to] and more focused on the object. For instance, the iPhoto app we created for the new iPad, it completely consumes you and you forget you are using an iPad.</p></blockquote>


<p>For Ive, simplicity is about immersion: becoming so engaged with the task or experience that the device disappears. The iPad <em>becomes</em> a stack of photos, or a novel, or a calendar. A noble and sensible goal.</p>

<p>Enter <a href="http://en.wikipedia.org/wiki/Skeuomorph">skeuomorphism</a>, the term du jour.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup> At first glance, making the interface visually resemble a physical object seems like a reasonable way to create that immersion. But it&rsquo;s not that simple.</p>

<h2>Primacy vs context</h2>

<p>Ive is making the point that whilst embellishments (like skeuomorphic design elements) can be perceived as clutter, that&rsquo;s not the core problem. The actual issue is that such <mark class="author-mark">designs wrongly focus on analogy rather than essence: a paper book itself, rather than the novel inside</mark>.</p>

<p>We forget that physical objects are also just specific embodiments &ndash; or presentations &ndash; of their content and function. A paperback book and an ebook file are two embodiments of the text they each contain; the ebook isn&rsquo;t descended from the paperback. They&rsquo;re siblings, from different media spheres, one of which happens to have been invented more recently.</p>

<p>The biggest intellectual stumbling-block we&rsquo;re facing is <mark class="author-mark">the fallacy that just because physical embodiments came <em>first</em>, they&rsquo;re also somehow canonical</mark>. The publishing industry is choking itself to death with that assumption, despite readily available examples of innovative, digitally-native approaches.<sup id="fnref:2"><a href="#fn:2" rel="footnote">2</a></sup></p>

<p>Designing a digital embodiment of content (or a tool) in terms of a corresponding physical object tends to happen for one of two reasons:</p>

<ol>
<li>An attempt to make the (newer) digital object more familiar.</li>
<li>A failure of imagination.</li>
</ol>


<p>The latter reason is often dressed up as the former, and taken to fetishistic extremes to compensate for the inherent lie that it perpetrates. That&rsquo;s Ive&rsquo;s <em>tail-wagging</em>: a self-conscious, and possibly gratuitous, focus on form without due respect to function or essence.</p>

<p>You can make a lot of arguments for tail-wagging, of course. &ldquo;We can capitalise on what people already know&rdquo;. &ldquo;Familiar objects are less intimidating, especially to non-technical users&rdquo;. &ldquo;The physical analog informs the digital design&rdquo;. They&rsquo;re all true, to varying extents. That&rsquo;s the point at which many designers and developers stop thinking.</p>

<p>The thing is, those arguments are also all <em>untrue</em>, to varying extents, because the digital world isn&rsquo;t like the physical world. An iPad demonstrably is <em>not</em> a book, and doesn&rsquo;t behave like one. Digital embodiments have their own unique strengths and weaknesses in comparison to physical ones, and metaphors from one world can only be stretched so far before breaking in the other. Usually, the seams appear quickly.</p>

<p>That&rsquo;s what Ive is talking about, I think. He&rsquo;s not saying that skeuomorphic or embellished design is &ldquo;bad&rdquo; in any absolute sense, but rather that it&rsquo;s <em>false</em>. It&rsquo;s obviously false on the visual level, but the issue runs much deeper: it&rsquo;s false because it implies that you can generalise experiences from different realms of interaction. It&rsquo;s making promises that not only inevitably fail to deliver in some way, but also actually compromise the uniqueness, and quality, and <em>essence</em> of what you&rsquo;re creating.</p>

<p>It&rsquo;s logical to now ask the question: which is more important? Some kind of conceptual &lsquo;purity&rsquo;, or actual usability? It&rsquo;s a valid question. It&rsquo;s also probably a <a href="http://en.wikipedia.org/wiki/Straw_man">Straw Man</a>, at least partly.</p>

<h2>Truth in design</h2>

<p>There&rsquo;s a question I try to ask myself when I&rsquo;m creating something: &ldquo;Is this <em>true</em>?&rdquo;</p>

<p>I define truth here not as factual accuracy, but as fidelity to both intent and embodiment. A design is <em>true</em> if it fulfils its requirements judiciously, and yet surprises and delights its intended audience. An app is <em>true</em> if it has a purity of vision and focus, and serves its intended customers on their terms. A piece of writing is <em>true</em> if it resonates with the people who read it &ndash; even if the details must be changed in order to better do that.</p>

<p>Truth, in this sense, is the opposite of betrayal, or carelessness. It&rsquo;s the antithesis of compromise, for any reason except making something as good as possible.</p>

<p>I&rsquo;m also using &ldquo;true&rdquo; to mean <em>essential</em>; not in the &ldquo;required or indispensable&rdquo; sense, but rather fundamental and elemental. Containing everything that <em>should be</em>, and nothing else. Take a look at your nearest Apple product, then think of a competing device. In all likelihood, only the Apple product is <em>true</em>, and you can immediately sense that.<sup id="fnref:3"><a href="#fn:3" rel="footnote">3</a></sup></p>

<p>It&rsquo;s another thing that Ive feels strongly about.</p>

<blockquote><p>Our competitors are interested in doing something different, or want to appear new - I think those are completely the wrong goals. A product has to be genuinely better. This requires real discipline, and that&#8217;s what drives us - a sincere, genuine appetite to do something that is better. Committees just don&#8217;t work, and it&#8217;s not about price, schedule or a bizarre marketing goal to appear different - they are corporate goals with scant regard for people who use the product.</p></blockquote>


<p>We&rsquo;re all familiar with products that are the result of misguided goals. That&rsquo;s not innovation; it&rsquo;s more like <em>innobation</em>:<sup id="fnref:4"><a href="#fn:4" rel="footnote">4</a></sup> unproductive, aimless differentiation for its own sake. Onanistic design. <em>Tail wagging</em>.</p>

<p>Thus we arrive back at skeuomorphism, and the justifications offered for it.</p>

<p>Great experiences are the sum of multiple factors. Any one thing being off can ruin the overall effect. Content and context, focus and environment: they&rsquo;re inseparable and necessary parts of the whole experience.</p>

<p>Software experiences aren&rsquo;t <em>just</em> software; they&rsquo;re also about the device. Alan Kay was right: &ldquo;People who are really serious about software should make their own hardware.&rdquo; We can&rsquo;t literally do that, but we can accept that the hardware is part of the user&rsquo;s context when using our software. The two exist in symbiosis, to <em>create</em> the user&rsquo;s context.</p>

<p>iOS 7 will be unveiled soon, and rumours abound that Jony Ive&rsquo;s influence will push it further along the spectrum towards a flatter, more elegant, more <em>elemental</em> presentation style &ndash; a &lsquo;backlash&rsquo; against skeuomorphic overindulgence, as the press would gleefully have us believe, as if it were all simply a matter of personal taste. iOS 7 may indeed have such an appearance, but anti-skeu won&rsquo;t be the sentiment behind it.</p>

<p>Currently, I think that there&rsquo;s an inherent tension between iOS and its devices. The aesthetics of the OS have never quite fulfilled the stylistic promise of the hardware design, and I think that&rsquo;s probably intolerable to Jony Ive.</p>

<p>Much of the lavishness of iOS (and its imitator, Android) feels like an artefact of the desktop era; a time when we were all still learning how to think about computing devices. By contrast, Windows Phone leaps to the other extreme, being as different as possible for the sake of it. Clear boundaries, sleek lines, and a kind of overt zen futurism.</p>

<p>It reminds me very much of Ive&rsquo;s (and his hero Dieter Rams&#8217;) <em>hardware</em> design. Purely in terms of complementary aesthetics, the iPhone is the best Windows Phone device in existence. But I digress.</p>

<h2>Adolescence</h2>

<p>Our industry isn&rsquo;t young anymore, but it&rsquo;s still full of fear about whether so-called non-technical people will be able to use its products. I think we&rsquo;ve been trying to get to less adorned, more information-centric interfaces for quite some time, but we&rsquo;re still making the same tired old arguments from the golden age of human-computer interaction, about how humans need faux three-dimensional cues about the affordances of on-screen objects. Buttons apparently have to look &ldquo;pushable&rdquo;, or no-one will push them.</p>

<p>The reality is more nuanced. Our tastes, and capabilities, have moved a bit beyond screamingly-obvious knobs and dials. We don&rsquo;t need drop-shadows to encourage us to poke at something. All we need is an invitation, in the form of icons or labels or animations which imply functionality, and a consistency of presentation which allows us to make a good guess about what we can interact with.</p>

<p>Modern software interfaces are already loaded with abstract presentations that aren&rsquo;t presented skeuomorphically. We pinch to zoom into photos, and we swipe to move between horizontally-tiled pages of data. We tap and hold to display contextual menus, and we&rsquo;re accustomed to layouts reflowing when we rotate the device.</p>

<p>Children don&rsquo;t seem to be having problems grasping those concepts, even if Jakob Neilsen thinks they should. They&rsquo;re not confused by interactive data-surfaces; they&rsquo;re frustrated when actual, <em>printed</em> content in the physical world doesn&rsquo;t respond the way they now expect it to.</p>

<p><mark class="author-mark">Intuitiveness has become unhelpfully conflated with familiarity</mark>. The reasoning is simple enough: things that are already familiar don&rsquo;t have to be re-learned, so we assume that they&rsquo;re more &ldquo;intuitive&rdquo;. That&rsquo;s a big assumption, but we treat it as if it&rsquo;s fact.</p>

<p>Sometimes, familiar things aren&rsquo;t as intuitive as they could be, and a new, unfamiliar thing might be more so. Another possibility is that a new thing might be <em>equally</em> intuitive, but also have other benefits which justify its initial unfamiliarity. In either case, intuitiveness <em>cannot be divorced from context</em>.</p>

<p>Skeuomorphic design is a pernicious example of the false dichotomy between what&rsquo;s unfamiliar and what&rsquo;s intuitive. We don&rsquo;t need a shadowed jewellery-box of bauble-like icons in order to grasp the essence of the interface. &ldquo;Tappability&rdquo; is no longer measured in simplistic terms of apparent physical affordance. The very <em>non-physicality</em> of software interfaces allows us flexibility when conceptualising and investigating them. Skeuomorphism, however well-meant, can all too easily become a cognitive straitjacket.</p>

<p>Nobody is arguing that a notepaper icon might be easier to locate when the user wants to write down some text, or that a telephone handset is much less intimidating than an audio waveform or some other abstract symbol. That&rsquo;s reasonable, and fair enough up to a point.</p>

<p>But the issue is that, inevitably, we don&rsquo;t practise restraint. It&rsquo;s difficult to do so with an approach that celebrates excess, inspirising designers to <em>actually disdain</em> others&#8217; work for lack of realistic shadow-casting, texture effects, or other such monumentally point-missing trivia.</p>

<p>The reality is that <mark class="author-mark">skeuomorphism enshrines and validates a failure of vision, and even worse, a failure to <em>capitalise on the medium</em></mark>. That&rsquo;s a betrayal of a designer&rsquo;s implicit duty of trust to make something that is the <em>best</em>, and to treat all other goals as secondary. I think that&rsquo;s a responsibility that Ive feels very strongly. I doubt that anyone has ever had to remind him of it.</p>

<p>Any backlash against embellished design itself is by definition misguided. The deeper problem is <em>injudicious</em> design, which excessive skeuomorphism can be emblematic of. <mark class="author-mark">Design which falsely promotes one embodiment over the essence of content and function</mark>. A lack of creativity and insight, masquerading as a deliberate aesthetic choice.</p>

<p><em>That</em> is the issue, and that&rsquo;s what is anathema to people like Jony Ive &ndash; and probably to you too.</p>
<div class="footnotes">
<hr/>
<ol>
<li id="fn:1">
<p>Using design elements that mimic other materials or objects, such as yellow notepaper in a software application, or wood textures on plastic.<a href="#fnref:1" rev="footnote">&#8617;</a></p></li>
<li id="fn:2">
<p><a href="http://the-magazine.org">The Magazine</a> being the primary one.<a href="#fnref:2" rev="footnote">&#8617;</a></p></li>
<li id="fn:3">
<p>This idea of &ldquo;designing for best&rdquo; was the focus of my <a href="http://www.loopinsight.com/magazine/issue-1/enduring-design/">Enduring Design article</a> in The Loop Magazine.<a href="#fnref:3" rev="footnote">&#8617;</a></p></li>
<li id="fn:4">
<p>Not a real word; my own <a href="http://en.wikipedia.org/wiki/Portmanteau">portmanteau</a> of innovation and masturbation.<a href="#fnref:4" rev="footnote">&#8617;</a></p></li>
</ol>
</div>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[A new site design]]></title>
    <link href="http://mattgemmell.com/2013/05/10/a-new-site-design/"/>
    <updated>2013-05-10T22:04:00+01:00</updated>
    <id>http://mattgemmell.com/2013/05/10/a-new-site-design</id>
    <content type="html"><![CDATA[<p>As will be immediately obvious if you&rsquo;re reading this in a web browser, I&rsquo;ve redesigned mattgemmell.com &ndash; yes, you&rsquo;re still in the right place!</p>

<!--more-->


<p>As I&rsquo;ve <a href="http://mattgemmell.com/2011/09/12/blogging-with-octopress/">mentioned previously</a>, this blog is built and deployed statically with the wonderful <a href="http://octopress.org">Octopress</a>. The distribution includes a default theme which you&rsquo;ll no doubt be familiar with. Here&rsquo;s how this site used to look, using an only-very-slightly tweaked version of it:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8727264136/" title="Previous site design by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7415/8727264136_7788b26b44_z.jpg" width="604" height="640" alt="Previous site design"></a>
</div>


<p>I&rsquo;ve wanted to change that theme for some time now, and I&rsquo;ve finally been motived to do it by the clean, readable presentation of <a href="http://the-magazine.org">The Magazine</a>, <a href="https://medium.com">Medium</a>, and indeed the new <a href="http://www.loopinsight.com/magazine/">Loop Magazine</a> (I wrote a piece for the inaugural issue, you know).</p>

<p>I recently happened upon <a href="https://github.com/rastersize/BlogTheme">Aron Cedercrantz&#8217; Octopress blog theme</a> on github, and liked the style very much. I&rsquo;ve made a number of changes to it, as follows:</p>

<ul>
<li>The header has been redesigned.</li>
<li>The typography is now serif-based, rather than sans.</li>
<li>The theme is now more responsive to varying screen sizes and devices.</li>
<li>I&rsquo;ve integrated the default Octopress theme&rsquo;s responsive mobile navigation.</li>
<li>I added my <a href="https://github.com/mattgemmell/footnotes-popover">footnotes popover functionality</a>.</li>
<li>Purple is my favourite colour, so it&rsquo;s the active/hover link colour rather than the usual blue. I&rsquo;ve kept the dark red visited-link colour, for contrast.</li>
</ul>


<p>I&rsquo;ve also taken this opportunity to clean up elements on this blog itself:</p>

<ul>
<li>The header navigation has been simplified.</li>
<li>I&rsquo;ve made my <a href="http://mattgemmell.com/about">About page</a> a <em>bit</em> briefer.</li>
<li>I&rsquo;ve removed (almost) all sidebar elements, except for the one and only ad.</li>
</ul>


<p>I&rsquo;m very happy with the new theme, and hopefully you&rsquo;ll agree that it&rsquo;s an improvement. If you&rsquo;re reading this via my <a href="http://mattgemmell.com/atom.xml">RSS feed</a>, here&rsquo;s a picture of the new design:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8727263302/" title="New design (Mac) by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7299/8727263302_7073d100c1_z.jpg" width="640" height="619" alt="New design (Mac)"></a>
</div>


<p>It should also work well on your beloved iOS devices too, as the following screenshots show. The article shown in each screenshot is <a href="http://mattgemmell.com/2013/01/22/staying-afraid/">Staying Afraid</a>.</p>

<h2>iPad, portrait and landscape</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8727263908/" title="New design (iPad, portrait) by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7310/8727263908_32575de02e_z.jpg" width="480" height="640" alt="New design (iPad, portrait)"></a>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8726144343/" title="New design (iPad, landscape) by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7373/8726144343_4cd897a437_z.jpg" width="640" height="480" alt="New design (iPad, landscape)"></a>
</div>


<h2>iPhone, portrait</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8726144355/" title="New design (iPhone 5, portrait) by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7397/8726144355_6c51d82b5c_z.jpg" width="361" height="640" alt="New design (iPhone 5, portrait)"></a>
</div>


<p>(I like how &ldquo;Matt&rdquo; tucks in above &ldquo;Gemmell&rdquo; in this layout.)</p>

<h2>iPhone 4 or earlier, landscape</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8727263784/" title="New design (iPhone 4, landscape) by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7316/8727263784_617f01c3af_z.jpg" width="640" height="427" alt="New design (iPhone 4, landscape)"></a>
</div>


<p>This layout uses the mobile navigation popup-menu, to avoid having lots of tiny links.</p>

<h2>iPhone 5, landscape</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8727263840/" title="New design (iPhone 5, landscape) by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7403/8727263840_d003778d6e_z.jpg" width="640" height="361" alt="New design (iPhone 5, landscape)"></a>
</div>


<p>The additional horizontal space on a landscape 4-inch display allows the full navigation to be shown.</p>

<p>There are inevitably some rough edges, of course, and I&rsquo;ll be continuing to test and tweak the design over the coming weeks. I hope you&rsquo;ll find the new design more pleasant to read and browse.</p>

<p>My hope is that the cleanliness of the design will not only be more comfortable for you, the reader, but will also encourage me to improve my writing&rsquo;s focus, succinctness and indeed frequency. In the worst case, it&rsquo;ll at least <em>look</em> that way.</p>

<p>As ever, thanks for reading.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[App.Net for conversations]]></title>
    <link href="http://mattgemmell.com/2013/04/05/app-net-for-conversations/"/>
    <updated>2013-04-05T09:00:00+01:00</updated>
    <id>http://mattgemmell.com/2013/04/05/app-net-for-conversations</id>
    <content type="html"><![CDATA[<p>You may have heard of the new-ish social network (it&rsquo;s actually more than that, but for most people the distinction isn&rsquo;t particularly relevant) called <a href="https://join.app.net/">App.Net</a>, or ADN (for &ldquo;app dot net&rdquo;). I&rsquo;ve been a member since August 2012, and I&rsquo;ve been meaning to write about it for a while now.</p>

<p>I think that ADN is important, and I&rsquo;d like you to consider joining me there.</p>

<!--more-->


<p>ADN is a social media service like Twitter, but you pay for it. There are a few tiers of membership:</p>

<ul>
<li><strong>$3 per month</strong>, if you pay <strong>yearly</strong> (i.e. $36 per year).</li>
<li><strong>$5 per month</strong>, if you pay <strong>monthly</strong>.</li>
<li><strong>Developer membership</strong> (with API key generation, etc), for <strong>$100 per year</strong> (about $8.33 per month).</li>
</ul>


<p>There&rsquo;s also a <em>free</em> tier, but you must receive an invitation from a yearly-paying member in order to sign up for it, and there are some limitations on free accounts &ndash; primarily that you can only follow up to 40 others. If you&rsquo;d like an invitation, keep reading.</p>

<p>For Twitter users, ADN works just as you&rsquo;d expect: you can follow people, and they can follow you. You can see your replies and mentions, the stream of posts from those you follow, and the global stream. You can send and receive direct messages if both the sender and recipient follow each other. There are even <a href="http://patter-app.net">multi-user private chat rooms</a>.</p>

<p>You can repost and &ldquo;star&rdquo; others&#8217; posts. You can include usernames, hashtags, links and photos in your posts (and ADN themselves will host your media files, subject to file-size and storage limitations; you can even <a href="https://directory.app.net/app/156/adn-file-manager/">manage those files online</a>). You can even natively &ldquo;mute&rdquo; users you don&rsquo;t want to hear from at the moment, but don&rsquo;t wish to actually unfollow.</p>

<p>You get 256 characters per message instead of 140, for your <em><a href="https://alpha.app.net/mattgemmell/post/4255464">extended edition</a></em> thoughts. Each post has a permalink which is visible on the web, with its surrounding conversation, even if you&rsquo;ve not signed up to the service yourself. So far, so familiar.</p>

<p>The interesting part, though, is what you <em>won&rsquo;t</em> be used to from Twitter. There are no ads, anywhere. Because it&rsquo;s a paid service, there&rsquo;s no spam at all; I&rsquo;ve certainly never seen any. There&rsquo;s an active <em>and happy</em> developer community, which ADN actually <a href="http://thenextweb.com/insider/2013/03/01/app-net-developer-payouts/">financially rewards</a>. There&rsquo;s a rich, modern, <a href="http://developers.app.net">relentlessly improved API</a>. And again because it&rsquo;s a paid service, there&rsquo;s a commensurately (and vanishingly) low number of Bieber fans, teenagers, illiterates, and sociopaths.</p>

<p>But the real difference I notice is in the conversations. On Twitter, the back-and-forth tends to be relatively brief, not only in terms of the 140-character limit, but also the number of replies. There&rsquo;s a certain fire-and-forget sensibility to Twitter; it&rsquo;s a noticeboard rather than a chatroom. Then there&rsquo;s the keyword-spam (woe betide the person who mentions iPads, or MacBooks, or broadband, or <a href="https://twitter.com/ddfreyne/status/319185269549051904">just about <em>anything</em></a>). Oh, and let&rsquo;s not forget the fact that any malcontent with internet access can create an account (or two, or ten) in seconds. Not a happy mixture.</p>

<p>That&rsquo;s the paradox of Twitter, for me. The company has decided that it&rsquo;s another advertising platform where its users (and their contributed tweets) are the products being sold; just like Facebook. Your participation is a means to an end: getting ads in front of eyeballs. The mission that Twitter has in mind for you is to see &ldquo;promoted tweets&rdquo; from other companies who purchase advertising. You&rsquo;re meant to be <em>reading</em>, rather than writing.</p>

<p>However, given the endemic and burgeoning spam and trolling problems that find fertile breeding grounds on a service that (1) is free to join, and (2) has no directly business-aligned interest in <em>preventing</em> such antisocial behaviour, anyone with more than a certain number of followers is actually motivated to use Twitter more as a <em>write-only</em> forum. Followbacks have long since ceased to be the norm, and any account that practises unqualified reciprocal following is all the more likely to be a one-way broadcast outlet. Mutual following is also a risky business on a spam-saturated service, because of the direct-message system.</p>

<p>So, Twitter wants us to read, but isn&rsquo;t interested in (and indeed, <em>cannot</em> be interested in) curating the content. We, as social creatures, however, want to connect and participate, but any such participation is doomed to decrease as our exposure to the unfettered masses rises correspondingly.</p>

<p>It&rsquo;s a bit different on ADN, primarily due to a certain proprietorial air. Its users are <em>paying customers</em>, after all, who have stumped up their money for the <em>service itself</em>. They don&rsquo;t need to be otherwise &lsquo;monetised&rsquo;, and indeed would doubtless vote with their wallets and go elsewhere if they felt that their position was being unreasonably taken advantage of. Such is the relative power and privilege of the consumer &ndash; particularly when the product in question is actually a subscription service, with a major and nominally &ldquo;free&rdquo; competitor.</p>

<p>ADN simply can&rsquo;t afford to sell <em>you</em>, whereas Twitter <em>must</em> do so.</p>

<p>So, we have three major factors which are likely to influence how users conduct themselves:</p>

<ol>
<li><p>In almost all cases, they&rsquo;ve <em>paid</em> to use ADN. In the remaining cases, they&rsquo;ve been invited by someone in the former category.</p></li>
<li><p>The user-base is smaller.</p></li>
<li><p>There&rsquo;s a sense of proprietorship, rightly or wrongly, and a presumed overt interest in the continuation of the service itself.</p></li>
</ol>


<p>All of these factors psychologically pull towards the same perception: that of exclusivity (or perhaps &ldquo;elitism&rdquo; with a very lowercase &ldquo;e&rdquo;, for the <em>staggeringly</em> elite cost of three dollars per month). Then, add in the fact that you have almost twice as much room to express yourself in each post, and you end up with a very different beast from Twitter.</p>

<p>The practical effect, which I notice daily, seems to be that people are more willing to participate in conversations, and also more careful about how they express themselves. Such a broad generalisation has no hope of being true for everyone, but it&rsquo;s been my consistent perception during the months I&rsquo;ve been using the service.</p>

<p>Whilst I have fewer followers on ADN than on Twitter by a factor of five, I feel less pressure to post regularly, and more able to dive deeply into the occasional conversation (sometimes as a contributor, and more often as a spectator).</p>

<p>As a developer, I appreciate the rapid, open and forward-thinking improvements to the API (and clients thereof). As a customer, I appreciate the visibility and responsiveness of those who run the service (if you do have an issue, the buck stops at <a href="https://alpha.app.net/dalton">Dalton</a>). But above all, I&rsquo;m a <em>user</em>, and as a user I appreciate the most intangible and elusive of things: the atmosphere of the place.</p>

<p>It&rsquo;s clear that smaller communities have a certain closeness due to their size, and that it&rsquo;ll inevitably decrease as the service expands, since there will be fewer overlaps amongst the various social sub-graphs.</p>

<p>It&rsquo;s equally clear that a paid service is a significant deterrent to spam (the economics just don&rsquo;t work when your sock-puppet accounts cost you a handful of dollars each), and furthermore it&rsquo;s the admittedly uncomfortable truth that any community which requires a credit-card to enter will probably have cleaner, safer, better-lit streets. There&rsquo;s no great revelation there.</p>

<p>But then we come back to these wooly words like &ldquo;quality&rdquo; and &ldquo;atmosphere&rdquo;. ADN will inevitably become larger, and thus by definition less exclusive. Perhaps its cost will even decrease, as it already has done (when I signed up, the yearly fee was fifty dollars rather than thirty-six). However, by all accounts it will remain a <em>paid</em> service, and therein lies the nub of it.</p>

<p>We value what we pay for. We not only pay for things which we deem to be of value, but we <em>also</em> retrospectively <em>assign and justify value</em> based on what we&rsquo;ve paid. Any consumer is familiar with the simple psychology of cost equating as much to value <em>after</em> the transaction as value does to cost beforehand (likely <em>moreso</em>, from my own experience). At its core, I don&rsquo;t think that the reason for the noticeably different, warmer, more discursive &ldquo;feel&rdquo; of ADN is any more complicated than that.</p>

<p>It&rsquo;s the macroscopic, aggregrate result of it that matters, though. People who are invested in something want to preserve it. A touch of judicious forethought here, and an additional few words of clarification there. A stance that errs slightly closer to participation, and slightly further away from shouting into the ether. Closing a shared door when leaving, and being careful not to slam it when the hour is late. It&rsquo;s the same thing. Maybe it&rsquo;s the self-interested civilising effect of club membership, and maybe it&rsquo;s just &ldquo;not in <em>my</em> back yard&rdquo;, but I think the reason is probably unimportant compared to the effect.</p>

<p>I find myself more willing to write both throwaway and more personal things. I feel that ADN is more conducive to long-form, sustained discussion, and garners more considered responses. And the service <em>itself</em>, in my peripheral vision, is more of a valet than Twitter&rsquo;s increasingly sinister overseer. I feel at ease to discover what the service means to me, in my own time.</p>

<p>A minor change &ndash; paying for it &ndash; has a profound impact on the experience.</p>

<p>With all that said, I&rsquo;d like to put my money (almost literally, I suppose) where my mouth is, and invite you to try ADN for yourself &ndash; at no cost to you.</p>

<h2>Invitations for a free account</h2>

<p>If you&rsquo;d like to try App.Net before you decide to pay for it, you&rsquo;re in luck &ndash; maybe. The company has offered me a few hundred invitations to share with my readers, and if you&rsquo;re quick, you can get one.</p>

<p>I&rsquo;ve previously taken the stance that invitations to new social services should only be given out to people that <em>you&rsquo;d want to follow</em>, and I don&rsquo;t think that&rsquo;s an unreasonable position. It&rsquo;s particularly important when the number of invitations available is limited (ADN usually gives you about 5 at a time, I think, which are renewed as necessary), but the point stands regardless.</p>

<p>Having said that, the lifeblood of any social service (and certainly a for-pay one) is of course its users, and the <a href="http://en.wikipedia.org/wiki/Network_effect">network effect</a> is very real. I&rsquo;m not sure where the right balance lies between ADN&rsquo;s current small-community, discussion-focused feel, and building a larger platform by increasing participation. It seems reasonable, though, that more users is probably better, at least for the present and the near future &ndash; particularly those users who choose to actually pay for the service.</p>

<p>As I&rsquo;ve thought more about ADN and the way that I feel quite differently about it than I do about Twitter, I&rsquo;ve come around to think it&rsquo;s perhaps OK to cast a wider net.</p>

<p>In keeping with that, you can <a href="https://join.app.net/from/gysmqzybsk">get your free ADN invitation here</a>, if there are any remaining.<sup id="fnref:1"><a href="#fn:1" rel="footnote">1</a></sup></p>

<p>Note that if you sign up with my invitation link, you&rsquo;ll automatically follow me on ADN, presumably saving you an inevitable click shortly thereafter (you can naturally unfollow me at any time). Also, keep in mind that free accounts <a href="http://blog.app.net/2013/02/25/introducing-a-free-tier/">impose a limit</a> of following at most 40 others, but you can easily upgrade to a monthly or yearly paid account if you decide to.</p>

<h2>Finding people to follow</h2>

<p>ADN has its own <a href="http://support.app.net/customer/portal/articles/762447-how-do-i-find-people-to-follow-">resource page for finding people to follow</a>, and there are many <a href="https://directory.app.net/apps/search-and-discovery/">people-discovery tools available</a>.</p>

<p>I&rsquo;ve used <a href="http://friendfind.co/connect.php">Friendfind.co</a> and <a href="http://app.phuu.net">ADN Friends</a> to quickly find the ADN accounts of the people I follow on Twitter.</p>

<p>Here&rsquo;s the <a href="https://alpha.app.net/mattgemmell/following/">list of people I&rsquo;m following on ADN</a> at the moment.</p>

<h2>Apps for ADN</h2>

<p>There&rsquo;s a large and ever-growing <a href="https://directory.app.net">directory of ADN apps, sites and services</a>, including mobile apps for iPhone, iPad, Android, Windows Phone and Symbian, desktop apps for Mac, Windows and Linux, and assorted services and browser-extensions. Do take the time to have a look through them. I&rsquo;ve listed the specific ones I use below, and a few others.</p>

<h2>On the web</h2>

<p>The web interface to ADN is called Alpha, and <a href="https://alpha.app.net/mattgemmell">you can find it here</a>. It works just as you&rsquo;d expect, with the features you&rsquo;re used to from Twitter.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8616727216/" title="App.Net web interface by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8403/8616727216_0d186cecda_z.jpg" width="640" height="580" alt="App.Net web interface"></a>
</div>


<p>If (like me) you&rsquo;re a great big vanity-pants and want to track who stars/favourites and reposts your stuff (like <a href="http://favstar.fm/users/mattgemmell/recent">favstar</a> does for Twitter), you can do so on <a href="http://reposted.me">on Reposted.me</a>.</p>

<p>There are many third-party <a href="https://directory.app.net/apps/web-clients/">web ADN clients</a>, and also <a href="https://directory.app.net/apps/browser-extensions/">browser extensions</a> for Safari, Firefox and Chrome.</p>

<h2>On the Mac</h2>

<p>I use <a href="http://kiwi-app.net">Kiwi for Mac</a>. It&rsquo;s modern, regularly updated, and stands shoulder to shoulder with my chosen Mac Twitter client, Tweetbot. Its developer is Isaiah Carew (<a href="https://alpha.app.net/isaiah">isaiah on ADN</a>).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8613407816/" title="Kiwi for App.Net (Mac) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8104/8613407816_f6da044d50_o.png" width="537" height="712" alt="Kiwi for App.Net (Mac)"></a>
</div>


<p>It also allows me to drag images directly into the message-composition window (as Tweetbot does for Twitter), which I&rsquo;ve always liked, and it can even cross-post to Twitter selectively if you so desire. You can read <a href="http://blog.app.net/2013/04/03/seven-questions-with-developers-kiwis-isaiah/">an interview with Isaiah about Kiwi</a> too.</p>

<p>If you&rsquo;d prefer another Mac ADN client, <a href="https://directory.app.net/apps/mac/">there are plenty to choose from</a>.</p>

<h2>On the iPhone</h2>

<p>I use <a href="http://clkuk.tradedoubler.com/click?p=23708&amp;a=1954589&amp;url=https%3A%2F%2Fitunes.apple.com%2Fgb%2Fapp%2Ffelix-for-app.net%2Fid562447652%3Fmt%3D8%26uo%3D4%26partnerId%3D2003">Felix for iPhone</a> by <a href="http://tigerbears.com/felix/">tigerbears</a>. It&rsquo;s elegant, attractive, has excellent VoiceOver accessibility support, and is constantly being improved and updated. Its creator is Bill Kunz (<a href="https://alpha.app.net/billkunz">billkunz on ADN</a>).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8613407784/" title="Felix for App.Net (iPhone) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8387/8613407784_0bc9237740_c.jpg" width="451" height="800" alt="Felix for App.Net (iPhone)"></a>
</div>


<p>You might also want to try <a href="http://clkuk.tradedoubler.com/click?p=23708&amp;a=1954589&amp;url=https%3A%2F%2Fitunes.apple.com%2Fgb%2Fapp%2Friposte%2Fid592316697%3Fmt%3D8%26uo%3D4%26partnerId%3D2003">Riposte</a>, <a href="http://clkuk.tradedoubler.com/click?p=23708&amp;a=1954589&amp;url=https%3A%2F%2Fitunes.apple.com%2Fuk%2Fapp%2Fhappy%2Fid556969230%3FpartnerId%3D2003">hAppy</a> and <a href="http://clkuk.tradedoubler.com/click?p=23708&amp;a=1954589&amp;url=https%3A%2F%2Fitunes.apple.com%2Fgb%2Fapp%2Fnetbot-for-app.net-iphone%2Fid563595132%3Fmt%3D8%26uo%3D4%26partnerId%3D2003">Netbot</a> (which is the ADN version of the much-beloved Tweetbot). Indeed, there&rsquo;s an <a href="https://directory.app.net/apps/iphone/">iPhone ADN client for every taste</a>.</p>

<h2>On the iPad</h2>

<p>I use <a href="http://clkuk.tradedoubler.com/click?p=23708&amp;a=1954589&amp;url=https%3A%2F%2Fitunes.apple.com%2Fgb%2Fapp%2Fnetbot-for-app.net-ipad-edition%2Fid563596528%3Fmt%3D8%26uo%3D4%26partnerId%3D2003">Netbot</a> on the iPad (by <a href="http://tapbots.com">Tapbots</a>), and I&rsquo;m keeping a keen eye on developments with my favourite iPhone clients too.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8612321983/" title="Netbot for iPad by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8248/8612321983_641e384294_z.jpg" width="640" height="480" alt="Netbot for iPad"></a>
</div>


<p>You may also wish to try <a href="https://directory.app.net/apps/ipad/">one of these iPad ADN clients instead</a>.</p>

<h2>Windows and Windows Phone</h2>

<p>I don&rsquo;t personally use these operating systems often enough to have a chosen ADN client, but you can find ADN clients for <a href="https://directory.app.net/apps/windows/">Windows (desktop)</a> and <a href="https://directory.app.net/apps/windows-phone/">Windows Phone</a>, with more being added every week.</p>

<h2>Android, Symbian &amp; Linux</h2>

<p>Our cousins on <a href="https://directory.app.net/apps/android/">Android</a> are most welcome on ADN.</p>

<p><a href="https://directory.app.net/apps/symbian/">Symbian devices</a> aren&rsquo;t left out of the fun, and you can even find an ADN client for the <a href="https://directory.app.net/app/45/texapp/">Linux command-line</a>, if that&rsquo;s your sort of thing.</p>

<h2>Accessible clients for users with visual impairments</h2>

<p>Mozilla&rsquo;s QA engineer for accessibility, <a href="https://alpha.app.net/marcozehe">Marco Zehe</a> has <a href="http://blog.app.net/2013/04/04/the-most-accessible-app-net-clients-by-marcozehe/">written a guest article on accessible ADN clients</a>. I work with accessibility technologies on iOS and OS X regularly, and ADN users are extremely well served in that capacity, as Marco notes.</p>

<h2>Closing thoughts</h2>

<p>Twitter isn&rsquo;t going away, but for a certain type of user, it <em>is</em> going downhill. I&rsquo;m in a very privileged position on Twitter, and I don&rsquo;t just mean because a number of people have kindly decided to follow me; rather, it&rsquo;s because I have the benefit of socialising largely with developers, designers, and other professional creative people. If there are leafy suburbs in a social network, then surely I reside in one &ndash; but the inner-city slums are sadly encroaching by the month.</p>

<p>I&rsquo;ve long said that I&rsquo;d like to pay for Twitter access, even just to get rid of ads and to have the ability to meaningfully support third-party clients with a guarantee of being able to remain financially viable. To pay the rent, if you like. But the company has refused to allow that option, and thus the street party is increasingly fringed by <a href="http://mattgemmell.com/2013/01/25/the-unfollower">gangs</a>. Trends and hashtags are graffiti more than they are useful data, and the sense of <em>exposure</em> (and my corresponding instinct towards taciturnity) is higher than ever.</p>

<p>It&rsquo;s sad; truly. It&rsquo;s also not the only option.</p>

<p>The developers that I count as colleagues and friends are well aware of a problem called the &ldquo;race to the bottom&rdquo;; it&rsquo;s the trend in app pricing to sell software for a pittance like 99 cents, or even to make it free and just hope to find sustainability later or elsewhere. It&rsquo;s a corrosive practice, that devalues not only our effort, but also our output. We&rsquo;re worth more, and so are our apps.</p>

<p>Yet for some reason, many of us don&rsquo;t realise that the same applies to services. Your free feed reader can go away, as Google Reader is about to. Your free email service has ads down the side, and is perpetually in a precarious position. Your free search engine has to track you, and sell your data. Your free social service puts <em>you</em> on the store shelf, and sells you to each advertiser who comes bidding. You have no right to complain, as long as your legal rights haven&rsquo;t been violated. Because it didn&rsquo;t cost you anything. And similarly, the service provider has little reason to care about your feelings, because you&rsquo;re not a revenue source.</p>

<p>The solution &ndash; or at least the beginning of one &ndash; is simple enough: pay for it. Own your data, and your services, and your apps by <em>being the customer</em>. You not only gain power and control, but you also directly contribute to the longevity of the thing you enjoy. A payment is a vote, and is also a <em>right</em> to vote. If you have non-trivial feelings of annoyance when you find out that you&rsquo;re the product being sold, then do something non-trivial about it, and take control of this small piece of your destiny.</p>

<p>The service providers (and app makers) surely deserve it, but <em>you deserve it more</em>.</p>

<p>Twitter will not let you pay, because they&rsquo;d lose the right to rent your eyeballs and brain out to the companies who <em>do</em> pay. That&rsquo;s just the nature of their business model, and no-one is under any illusions about it. ADN, by contrast, is a place where you can be the customer. I find that prospect alone very attractive indeed. When I get up on stage and tell people that they <a href="https://twitter.com/javi_lorbada/status/315080608785235968/photo/1">deserve to be paid for their work</a>, that&rsquo;s what I&rsquo;m talking about. It&rsquo;s an inseparable corollary of that to say that <em>you deserve to pay</em> &ndash; because of the control and privilege it gives you.</p>

<p>The ADN ecosystem is stunningly rich and healthy for such a young service, and its environment for the user is more akin to an artisanal coffee house or a book club than Twitter&rsquo;s increasingly-contaminated noisy bus-station or juvenile detention centre. It&rsquo;s just a nicer place to be, because people have <em>chosen</em> to be there.</p>

<p>If, as I do, you remember the heady days of Twitter a few years ago, and see all too clearly where things started to go wrong, perhaps you might at least consider putting aside any preconceptions and hedging your social bets.</p>

<p>I&rsquo;m not quitting Twitter by any means, but I&rsquo;m delighted that a service exists which allows me to <em>pay</em> (having all the privileges and comforts which that entails), and which seems designed to remain true to the original <em>ideal</em> of Twitter rather than the tarnished reality.</p>

<p>Once again, you can <a href="https://join.app.net/from/gysmqzybsk">get your free ADN invitation here</a>. I look forward to seeing you, and I look forward to your decision to pay for the service when you&rsquo;re ready.</p>

<p>I&rsquo;m <a href="https://alpha.app.net/mattgemmell">mattgemmell on App.Net</a> (and also <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>). You should follow me.</p>
<div class="footnotes">
<hr/>
<ol>
<li id="fn:1">
<p>ADN have been kind enough to provide me with further invitations as the previous batches have run out. Over a thousand new users have signed up, at time of writing.<a href="#fnref:1" rev="footnote">&#8617;</a></p></li>
</ol>
</div>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Days of the week with Alfred 2]]></title>
    <link href="http://mattgemmell.com/2013/04/01/days-of-the-week-with-alfred-2/"/>
    <updated>2013-04-01T20:30:00+01:00</updated>
    <id>http://mattgemmell.com/2013/04/01/days-of-the-week-with-alfred-2</id>
    <content type="html"><![CDATA[<p>Following on from my <a href="http://mattgemmell.com/2013/03/26/generating-filename-slugs-with-alfred-2">workflow to generate clean filename or URL &lsquo;slugs&rsquo;</a> using <a href="http://www.alfredapp.com">Alfred 2</a>, I&rsquo;ve created another one to tell you which day of the week a given date is (or was, or will be).</p>

<!--more-->


<h2>Download</h2>

<p>You can <a href="http://mattgemmell.com/files/day_alfred2_mattgemmell.zip">download the Alfred 2 workflow here</a>.</p>

<h2>Accepted input</h2>

<p>I occasionally need to find out which day of the week (such as Sunday, or Wednesday) a given date will fall upon. Typically, I either open the Calendar application or invoke the Dashboard (with its Calendar widget), but since I use Alfred dozens of times per day, I thought I could probably get the information more quickly with a workflow.</p>

<p>The workflow is triggered with the <code>day</code> keyword by default. Without any additional arguments, today&rsquo;s day and date will be shown.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8611360712/" title="Day of Week workflow for Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8542/8611360712_b486141d7d_o.png" width="708" height="194" alt="Day of Week workflow for Alfred 2"></a>
</div>


<p>With a single (numerical) argument, two or three results will usually be shown:</p>

<ol>
<li>That day-number, in the next month in which it occurs (either this month or next).</li>
<li>Additionally, that day-number in the current month (only if it has already passed; otherwise, this suggestion is omitted).</li>
<li>The current day and month, in the year of that number (assumed to be in the current century, unless more than two digits are given).</li>
</ol>


<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8610254311/" title="Day of Week workflow for Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8265/8610254311_779ed32fb3_o.png" width="708" height="246" alt="Day of Week workflow for Alfred 2"></a>
</div>


<p>The latter case will naturally be assumed if the number is sufficiently large to not be a valid day-number.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8611360672/" title="Day of Week workflow for Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8530/8611360672_c3b34413f1_o.png" width="708" height="194" alt="Day of Week workflow for Alfred 2"></a>
</div>


<p>If <em>two</em> numerical arguments are given (regardless of delimiters; feel free to use spaces, slashes, dashes or whatever you like at any time), the workflow will attempt to interpret them sensibly, usually as a day and month.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8611360648/" title="Day of Week workflow for Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8399/8611360648_fe3a6b049e_o.png" width="708" height="246" alt="Day of Week workflow for Alfred 2"></a>
</div>


<p>The order of the two possible suggestions (day-month, and month-day) depends on your system&rsquo;s locale. In the UK and Europe, for example, the workflow will assume you specified the day and then the month, whereas in the US the opposite will be assumed.</p>

<p>If the numbers are such that one is obviously a month, it will be interpreted as such regardless of your system&rsquo;s locale conventions, as in this screenshot taken on a (UK) English system.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8610254233/" title="Day of Week workflow for Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8397/8610254233_20a5ff2e24_o.png" width="708" height="194" alt="Day of Week workflow for Alfred 2"></a>
</div>


<p>Finally, you can also specify full three-number dates (with either two-digit or four-digit years). In this case, the workflow will strictly assume you are using your locale&rsquo;s date-ordering conventions, such as day-month-year in the UK or month-day-year in the US (again, delimiters aren&rsquo;t important).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8611360538/" title="Day of Week workflow for Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8536/8611360538_808fd16ab2_o.png" width="708" height="194" alt="Day of Week workflow for Alfred 2"></a>
</div>


<h2>Interesting things for workflow developers</h2>

<p>There are some points of note that might be useful for those who are creating their own (PHP-based) Alfred 2 workflows, as follows:</p>

<ol>
<li><p>This workflow determines the system&rsquo;s locale, and attempts to <strong>localise its output</strong> appropriately.</p>

<p> You can add further localisations by inspecting the workflow&rsquo;s file-structure on disk (specifically the files in the <code>lang</code> subfolder). Included in the download are English, American English, and very basic French and German localisations.</p></li>
<li><p>The calendar/day images shown in Alfred&rsquo;s results are <strong>dynamically generated</strong> using <code>gd</code>, a template PNG and a TrueType font. If you add new localisations, suitable calendar images will be created on-the-fly.</p></li>
</ol>


<h2>Localisation</h2>

<p>If you right-click the workflow in Alfred&rsquo;s Workflows panel and choose &ldquo;Show in Finder&rdquo;, you&rsquo;ll see its files on disk. Investigate the files in the <code>lang</code> subfolder to see how you can add further localisations, or improve the existing ones.</p>

<p>You can override the auto-chosen locale by double-clicking the &ldquo;day&rdquo; script-filter icon in the Workflow&rsquo;s editing UI within Alfred 2, and following the instructions in the comments there.</p>

<h2>Footnote</h2>

<p>Once again, you can <a href="http://mattgemmell.com/files/day_alfred2_mattgemmell.zip">download the Alfred 2 workflow here</a>. I hope you&rsquo;ll find it as useful as I do.</p>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and <a href="https://alpha.app.net/mattgemmell">mattgemmell on app.net too</a>. You should follow me. If you get some use from this workflow and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>

<p>Enjoy the workflow.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Generating filename slugs with Alfred 2]]></title>
    <link href="http://mattgemmell.com/2013/03/26/generating-filename-slugs-with-alfred-2/"/>
    <updated>2013-03-26T12:00:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/26/generating-filename-slugs-with-alfred-2</id>
    <content type="html"><![CDATA[<p>I&rsquo;m a huge fan of the <strong>Alfred</strong> utility for OS X, so I was glad to see that <a href="http://www.alfredapp.com">Alfred 2</a> was released very recently. It supports extensibility with &ldquo;workflows&rdquo;, which let you chain together various triggers, scripts and actions to perform complex tasks.</p>

<p>I often have to generate URL-safe (or filename-safe) versions of strings (called <strong>slugs</strong>), such as the titles of my blog posts, and I thought I&rsquo;d create an Alfred 2 workflow to help with the task.</p>

<!--more-->


<p>As an example, since I use <a href="http://octopress.org">Octopress</a> as my blogging system, I create new posts as <a href="http://daringfireball.net/projects/markdown/">Markdown</a> files with filenames in a certain format. The title of this post is <em>&ldquo;Generating filename slugs with Alfred 2&rdquo;</em>, and the corresponding Octopress-suitable filename slug would be <code>2013-03-26-generating-filename-slugs-with-alfred-2.markdown</code>.</p>

<p>(Whilst Octopress has a <code>rake</code> task to pre-create files with suitable filenames, I prefer to work on my drafts outside of the actual Octopress site-hierarchy, in my <a href="https://www.dropbox.com">Dropbox</a>, then move them in later for publishing.)</p>

<p>Accordingly, I made an Alfred 2 workflow with the keyword <code>slug</code> for this task. You can <a href="http://mattgemmell.com/files/slug_alfred2_mattgemmell.zip">download the Alfred 2 workflow here</a>.</p>

<h2>Making basic slugs</h2>

<p>To invoke the workflow, you simply use the keyword <code>slug</code> in Alfred&rsquo;s input window.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8592455252/" title="Slug keyword action by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8377/8592455252_fbf2c80aa3_o.png" width="708" height="191" alt="Slug keyword action"></a>
</div>


<p>Continue typing the string you want to slug-ify (or paste it in), and you&rsquo;ll see various options for the type of slug you want to copy. Highlight one (or press the corresponding command-key shortcut shown beside the option you like), and the relevant slug will be <strong>copied to the clipboard</strong>.</p>

<p>The options are:</p>

<ul>
<li>A plain slug version of the text.</li>
<li>A slug prefixed with the current date (in YYYY-MM-DD format).</li>
<li>A slug prefix with the date (as above) then the time (in HH-MM-SS format).</li>
</ul>


<p>The date and time-prefixed versions are formatted such that files will sort predictably (chronologically).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8592455404/" title="Slugs without file-extensions by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8505/8592455404_2b1f7a3f09_o.png" width="708" height="295" alt="Slugs without file-extensions"></a>
</div>


<h2>File extensions</h2>

<p>If you&rsquo;d like to set a <strong>default file-extension</strong> to be used in your slugs, you can use the <code>slext</code> keyword (for <strong>sl</strong>ug <strong>ext</strong>ension). There are a few default options, but you&rsquo;ll probably want to enter your own. If you decide against having a default extension later, you can invoke <code>slext</code> again and choose the <strong>remove</strong> option.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8592455290/" title="Setting a default file-extension by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8250/8592455290_293a6c5a2b_o.png" width="708" height="451" alt="Setting a default file-extension"></a>
</div>


<p>Once you&rsquo;ve set a default file-extension, you&rsquo;ll see additional options whenever you generate a slug. You&rsquo;ll <em>still</em> see the basic no-extension options too, and naturally Alfred will remember your choice and prioritise it next time.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8591353977/" title="Slugs with file-extensions by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8241/8591353977_e08dc7afc2_o.png" width="708" height="451" alt="Slugs with file-extensions"></a>
</div>


<p>Regardless of whether you&rsquo;ve specified a default extension, you can still specify one whilst you&rsquo;re typing the string to slug-ify. If you do type an extension, it&rsquo;ll override any default extension you&rsquo;ve set.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8591354009/" title="Specifying a file-extension in a slug by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8107/8591354009_f8a0481e1d_o.png" width="708" height="451" alt="Specifying a file-extension in a slug"></a>
</div>


<h2>Advanced options</h2>

<p>You can change a handful of advanced options by editing some configuration parameters in the workflow&rsquo;s actual code. It&rsquo;s all in PHP script files on disk. To access them, simply select the Slug workflow in the &ldquo;Workflows&rdquo; section of Alfred&rsquo;s Preferences window, then right-click the workflow&rsquo;s name and choose &ldquo;Show in Finder&rdquo;.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8594490053/" title="Opening an Alfred 2 workflow in the Finder by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8112/8594490053_49419b70aa_o.png" width="365" height="517" alt="Opening an Alfred 2 workflow in the Finder"></a>
</div>


<p>A workflow is actually just a folder, and you&rsquo;ll see all the contents. The file you want is <code>slug.php</code>, so open it in your favourite text-editor (I use, and highly recommend, <a href="http://www.barebones.com/products/bbedit/">BBEdit</a> &ndash; which also has a free sibling called <a href="http://www.barebones.com/products/textwrangler/">TextWrangler</a>).</p>

<p>If your native language isn&rsquo;t English, you might be particularly interested in the <code>$preferred_locale</code> option. It&rsquo;s blank by default, which <em>should</em> cause it to use whatever is the default chosen locale in OS X (in the &ldquo;Language &amp; Text&rdquo; panel of System Preferences). This option affects how certain characters are transliterated when generate a slug.</p>

<p>For example, if you&rsquo;re an English speaker, and you pasted in some text including a &ldquo;&ouml;&rdquo; (lowercase o-umlaut) character, you&rsquo;d probably want that character to become a simple &ldquo;o&rdquo; in the slug. If you&rsquo;re a German speaker, however, you&rsquo;d likely instead want it to become &ldquo;oe&rdquo;, which is a better phonetic approximation of the original character in German. The slug workflow attempts to do these conversions automatically based on your system locale, using the rules in <a href="https://github.com/jbroadway/urlify">Johnny Broadway&rsquo;s URLify library</a>.</p>

<p>If you&rsquo;d like to override the setting (for example if your system is set to German but you prefer the English style of transliteration, or vice-versa), feel free to set the <code>$preferred_locale</code> option to whatever country&rsquo;s style you&rsquo;d like to use (using standard two-letter country abbreviations, such as &ldquo;en&rdquo; for USA/UK/etc or &ldquo;de&rdquo; for Germany, and so on).</p>

<p>You can also configure your preferred locale without digging around in the PHP file itself, as follows. First, select the Slug workflow in Alfred&rsquo;s Preferences window, and double-click the &ldquo;slug Script Filter&rdquo; box. It&rsquo;s highlighted in red in the screenshot below.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8594613925/" title="Choosing a different default language for transliteration by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8235/8594613925_807e378c5a_o.png" width="590" height="440" alt="Choosing a different default language for transliteration"></a>
</div>


<p>You&rsquo;ll see a sheet allowing you to configure this part of the workflow. At the bottom is a large text-field. By default it contains this:</p>

<p><code>php -f slug.php -- "{query}"</code></p>

<p>To specify a default locale for Germany, for example, you could add on &ldquo;de&rdquo; after a space, at the end of that line of text. So, it&rsquo;d look like this:</p>

<p><code>php -f slug.php -- "{query}" "de"</code></p>

<p>It&rsquo;s also highlighted in red in the screenshot below.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8594614181/" title="Editing my Slug workflow in Alfred 2 by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8365/8594614181_6648b665d7_o.png" width="786" height="673" alt="Editing my Slug workflow in Alfred 2"></a>
</div>


<p>Click the Save button to save your changes and dismiss the sheet, and you&rsquo;re done.</p>

<h2>Footnote</h2>

<p>That&rsquo;s about it! Once again, you can <a href="http://mattgemmell.com/files/slug_alfred2_mattgemmell.zip">download the Alfred 2 workflow here</a>. I hope you&rsquo;ll find it as useful as I do.</p>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and <a href="https://alpha.app.net/mattgemmell">mattgemmell on app.net too</a>. You should follow me. If you get some use from this workflow and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>

<p>Enjoy the workflow.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Nintendo Game Boy Advance SP Wallpapers]]></title>
    <link href="http://mattgemmell.com/2013/03/24/nintendo-game-boy-advance-sp-wallpapers/"/>
    <updated>2013-03-24T15:00:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/24/nintendo-game-boy-advance-sp-wallpapers</id>
    <content type="html"><![CDATA[<p>I&rsquo;ve gone a bit retro-gaming mad recently. First, I wrote about <a href="http://mattgemmell.com/2013/03/02/playing-nintendo-games-on-a-mac/">playing classic Nintendo games on your Mac</a> (using original controllers), then I made some <a href="http://mattgemmell.com/2013/03/05/iphone-5-super-nintendo-wallpapers/">SNES-themed wallpapers for iPhone 5</a>, and then some <a href="http://mattgemmell.com/2013/03/07/iphone-5-nintendo-nes-wallpapers/">NES-themed ones too</a>, then finally some <a href="http://mattgemmell.com/2013/03/13/super-nintendo-controller-wallpapers/">SNES controller wallpapers</a> for your Mac or PC.</p>

<p>Now, I want to share some <strong>Nintendo Game Boy Advance SP</strong> wallpapers with you, for your Mac or PC (or iPad and iPhone, if you crop/resize them yourself). The SP came in various colours and special editions, and I&rsquo;ve recreated a few of them here. As a bonus, there are some other vintage Nintendo controllers and devices too!</p>

<!--more-->


<p>These wallpapers are available in <a href="http://www.flickr.com/photos/mattgemmell/sets/72157633079301196/">a set on Flickr</a>, and are all <strong>2880 x 1800</strong>. They were all drawn in <a href="http://www.amazon.co.uk/gp/product/B007UXD6FQ/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B007UXD6FQ&amp;linkCode=as2&amp;tag=matleggem-21">Adobe Photoshop CS6</a> (with occasional recourse to Illustrator), using my beloved and fab <a href="http://www.amazon.co.uk/gp/product/B007F9WIJA/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B007F9WIJA&amp;linkCode=as2&amp;tag=matleggem-21">Wacom Intuos5 tablet</a>.</p>

<p><strong>Please do not redistribute these wallpapers in any form. They&rsquo;re for your personal use only.</strong> If you want to use them for any other purpose (such as including them on a website, as elements in another design, any profit-making enterprise or anything other than personal use on your own devices), then please <a href="http://mattgemmell.com/about">contact me first</a>.</p>

<h2>GBA SP regular editions</h2>

<p>This is the normal SP, in a variety of colours.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586261844/" title="Nintendo Game Boy Advance SP wallpaper - grey by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8092/8586261844_4bbab9b25c_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - grey"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - grey</p>
</div>


<p><a href="http://farm9.staticflickr.com/8092/8586261844_5df066503d_o.png">Download full-size &ndash; grey</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586261876/" title="Nintendo Game Boy Advance SP wallpaper - dark grey by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8380/8586261876_edf6e6e4c8_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - dark grey"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - dark grey</p>
</div>


<p><a href="http://farm9.staticflickr.com/8380/8586261876_918fdce99d_o.png">Download full-size &ndash; dark grey</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586261750/" title="Nintendo Game Boy Advance SP wallpaper - red by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8109/8586261750_89dd105592_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - red"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - red</p>
</div>


<p><a href="http://farm9.staticflickr.com/8109/8586261750_d7f6e75529_o.png">Download full-size &ndash; red</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586262016/" title="Nintendo Game Boy Advance SP wallpaper - green by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8106/8586262016_f23ab41a73_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - green"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - green</p>
</div>


<p><a href="http://farm9.staticflickr.com/8106/8586262016_3d842eaf4a_o.png">Download full-size &ndash; green</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586262012/" title="Nintendo Game Boy Advance SP wallpaper - blue by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8105/8586262012_3465ee1575_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - blue"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - blue</p>
</div>


<p><a href="http://farm9.staticflickr.com/8105/8586262012_be7d05981f_o.png">Download full-size &ndash; blue</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8585159281/" title="Nintendo Game Boy Advance SP wallpaper - pink by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8110/8585159281_5475c5d4cb_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - pink"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - pink</p>
</div>


<p><a href="http://farm9.staticflickr.com/8110/8585159281_590b5e74ca_o.png">Download full-size &ndash; pink</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586261768/" title="Nintendo Game Boy Advance SP wallpaper - purple by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8369/8586261768_f6a72b057d_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - purple"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - purple</p>
</div>


<p><a href="http://farm9.staticflickr.com/8369/8586261768_e382941114_o.png">Download full-size &ndash; purple</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586261718/" title="Nintendo Game Boy Advance SP wallpaper - white by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8094/8586261718_0bf7373882_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - white"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - white</p>
</div>


<p><a href="http://farm9.staticflickr.com/8094/8586261718_4a6c9e241f_o.png">Download full-size &ndash; white</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586262004/" title="Nintendo Game Boy Advance SP wallpaper - black by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8107/8586262004_6d5ce56ddc_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - black"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - black</p>
</div>


<p><a href="http://farm9.staticflickr.com/8107/8586262004_4a20334eba_o.png">Download full-size &ndash; black</a>.</p>

<h2>GBA SP special editions</h2>

<p>A couple of my favourite special editions of the SP. First up, Zelda! This one (also called the Triforce edition) came with <a href="http://en.wikipedia.org/wiki/The_Legend_of_Zelda:_The_Minish_Cap">The Minish Cap</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8585159499/" title="Nintendo Game Boy Advance SP wallpaper - Zelda special edition by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8518/8585159499_670267fda9_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - Zelda special edition"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - Zelda special edition</p>
</div>


<p><a href="http://farm9.staticflickr.com/8518/8585159499_3fc0468bc7_o.png">Download full-size &ndash; Zelda special edition</a>.</p>

<p>The amazing and gorgeous NES edition:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8586261852/" title="Nintendo Game Boy Advance SP wallpaper - NES special edition by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8098/8586261852_768c8d81f9_c.jpg" width="800" height="500" alt="Nintendo Game Boy Advance SP wallpaper - NES special edition"></a>
<p class="caption">Nintendo Game Boy Advance SP wallpaper - NES special edition</p>
</div>


<p><a href="http://farm9.staticflickr.com/8098/8586261852_ae4b3b2d5c_o.png">Download full-size &ndash; NES special edition</a>.</p>

<h2>Bonus Nintendo stuff</h2>

<p>A couple of extra controllers, and the original chunky handheld that eventually gave us the SP, DS and 3DS.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8573282648/" title="Nintendo N64 controller wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8227/8573282648_9271596669_c.jpg" width="800" height="500" alt="Nintendo N64 controller wallpaper"></a>
<p class="caption">Nintendo N64 controller wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8227/8573282648_8f615e3d41_o.png">Download full-size &ndash; N64 controller</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8569644308/" title="Nintendo NES controller wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8098/8569644308_1ff8647562_c.jpg" width="800" height="500" alt="Nintendo NES controller wallpaper"></a>
<p class="caption">Nintendo NES controller wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8098/8569644308_808221cedb_o.png">Download full-size &ndash; NES controller</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8576007302/" title="Nintendo Game Boy wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8372/8576007302_33012a9c01_c.jpg" width="800" height="500" alt="Nintendo Game Boy wallpaper"></a>
<p class="caption">Nintendo Game Boy wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8372/8576007302_a6e8898408_o.png">Download full-size &ndash; Nintendo Game Boy</a>.</p>

<h2>Footnote</h2>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and <a href="https://alpha.app.net/mattgemmell">also on app.net</a>. You should follow me. If you enjoyed these free wallpapers and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>

<p>Enjoy the wallpapers!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Update your mattgemmell.com feed]]></title>
    <link href="http://mattgemmell.com/2013/03/20/please-update-your-mattgemmell-com-feed/"/>
    <updated>2013-03-20T11:30:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/20/please-update-your-mattgemmell-com-feed</id>
    <content type="html"><![CDATA[<p>Since Google Feedburner has the stench of death upon it (and since they&rsquo;re killing Google Reader soon, too), this blog&rsquo;s feed has moved. You <strong>no longer want</strong> the old Feedburner feed. <!-- Old feed was: feeds.feedburner.com/mattgemmell/rss2 --></p>

<p><strong>Please update this feed in your chosen feed reader!</strong></p>

<p>As always, the canonical feed you <em>do</em> want is: <a href="http://mattgemmell.com/feed">http://mattgemmell.com/feed</a></p>

<p>(It&rsquo;s been valid for more than 8.5 <em>years</em>, and will always redirect to the appropriate actual feed &ndash; which now happens to be <a href="http://mattgemmell.com/atom.xml">/atom.xml</a> on this server.)</p>

<p>The old feed will stop working over the next few weeks (sometime in April 2013), so please do update your subscription now.</p>

<p>If you have any problems, you can bug me <a href="http://twitter.com/mattgemmell">on Twitter</a> or on <a href="https://alpha.app.net/mattgemmell">App.Net</a>. Thanks for reading, intelligent and attractive person!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Super Nintendo Controller Wallpapers]]></title>
    <link href="http://mattgemmell.com/2013/03/13/super-nintendo-controller-wallpapers/"/>
    <updated>2013-03-13T11:00:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/13/super-nintendo-controller-wallpapers</id>
    <content type="html"><![CDATA[<p>I&rsquo;ve recently been gripped by retro-gaming nostalgia. First, I wrote about <a href="http://mattgemmell.com/2013/03/02/playing-nintendo-games-on-a-mac/">playing classic Nintendo games on your Mac</a>, then I made some <a href="http://mattgemmell.com/2013/03/05/iphone-5-super-nintendo-wallpapers/">SNES-themed wallpapers for iPhone 5</a>, and then some <a href="http://mattgemmell.com/2013/03/07/iphone-5-nintendo-nes-wallpapers/">NES-themed ones too</a>.</p>

<p>Now, I want to share some Super Nintendo controller wallpapers with you, for your Mac or PC (or iPad and iPhone, if you crop/resize them yourself).</p>

<!--more-->


<p>There were three different primary models of SNES controller: the Japanese (Super Famicom) version, the European Super Nintendo version, and the American Super Nintendo version. The Japanese and European ones looked almost identical, differing only in the logo and the font used for the labels of the &ldquo;Start&rdquo; and &ldquo;Select&rdquo; buttons, but the American version had several more changes. It shared the Start/Select label-font of the European controller (albeit in a lighter colour), but almost all of the plastic parts were a different colour from the other two versions.</p>

<p>It also lacked the Super Famicom crescents-and-discs logo, and instead of the Y/X/B/A buttons being green, blue, yellow and red respectively, they were instead paired: Y and X were a soft lilac shade, and B and A were a darker purple. Uniquely, the Y and X buttons were also concave, like the B/A buttons on the original NES, and the Y/X/B/A labels were in a different (narrow, italicised) font.</p>

<p>I drew all the various parts of the Super Nintendo controllers in Photoshop CS6, taking account of the differences between models and using Layer Comps to display each different model.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8548671880/" title="Super Nintendo controllers in Photoshop by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8523/8548671880_b90b83b762_c.jpg" width="800" height="511" alt="Super Nintendo controllers in Photoshop"></a>
<p class="caption">Super Nintendo controllers in Photoshop</p>
</div>


<p>These wallpapers are based on that master Photoshop document, and are available in <a href="http://www.flickr.com/photos/mattgemmell/sets/72157632968535899/">a set on Flickr</a>. I&rsquo;ve created three basic versions: <strong>full</strong>, <strong>simplified</strong> (no text), and <strong>abstract</strong> (no actual controller outlines). Where appropriate, you can choose from all regional variants of the controller.</p>

<p>The wallpapers are <strong>2880 x 1800</strong> pixels, and each come in two editions: regular, and Retina Display. The pixel-resolution is the same in both cases, to allow you to crop/resize both editions as you wish, but on the Retina versions the actual controller graphics are doubled in size for extra detail and smoothness. If you prefer bigger graphics, you can of course use the &lsquo;Retina&rsquo; versions on non-Retina devices too. If you use the non-Retina versions on smaller-screened devices, you&rsquo;ll probably want to centre them, rather than scaling to fit the screen.</p>

<p>Thus, the following wallpapers are available below:</p>

<ul>
<li>Full: Japanese, European &amp; American models (3)</li>
<li>Full: Japanese, European &amp; American models, Retina Display (3)</li>
<li>Simplified: Japanese/European &amp; American models (2)</li>
<li>Simplified: Japanese/European &amp; American models, Retina Display (2)</li>
<li>Abstract: Japanese/European &amp; American models (2)</li>
<li>Abstract: Japanese/European &amp; American models, Retina Display (2)</li>
</ul>


<p>That&rsquo;s <em>fourteen</em> choices. I&rsquo;m sure you can imagine how much fun these were to export from Photoshop (not too much fun at all).</p>

<p><strong>Please do not redistribute these wallpapers in any form. They&rsquo;re for your personal use only.</strong> If you want to use them for any other purpose (such as including them on a website, as elements in another design, any profit-making enterprise or anything other than personal use on your own devices), then please <a href="http://mattgemmell.com/about">contact me first</a>.</p>

<h2>Full controller</h2>

<p>This version has all visual elements present (minus the cable; I didn&rsquo;t think you&rsquo;d want it snaking across your desktop).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791518/" title="Full - Japan by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8242/8554791518_e69799844b_c.jpg" width="800" height="500" alt="Full - Japan"></a>
<p class="caption">Full - Japan</p>
</div>


<p><a href="http://farm9.staticflickr.com/8242/8554791518_c20bf1f26a_o.png">Download Full &ndash; Japan</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791446/" title="Full - Europe by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8093/8554791446_92067ffd33_c.jpg" width="800" height="500" alt="Full - Europe"></a>
<p class="caption">Full - Europe</p>
</div>


<p><a href="http://farm9.staticflickr.com/8093/8554791446_055bf09aef_o.png">Download Full &ndash; Europe</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686525/" title="Full - USA by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8378/8553686525_353fc4c609_c.jpg" width="800" height="500" alt="Full - USA"></a>
<p class="caption">Full - USA</p>
</div>


<p><a href="http://farm9.staticflickr.com/8378/8553686525_838dbc5764_o.png">Download Full &ndash; USA</a>.</p>

<h2>Full controller (Retina Display)</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686769/" title="Full - Japan (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8530/8553686769_2275b9e319_c.jpg" width="800" height="500" alt="Full - Japan (Retina)"></a>
<p class="caption">Full - Japan (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8530/8553686769_5cc75647bd_o.png">Download Full &ndash; Japan (Retina)</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686855/" title="Full - Europe (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8106/8553686855_d04a9bca51_c.jpg" width="800" height="500" alt="Full - Europe (Retina)"></a>
<p class="caption">Full - Europe (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8106/8553686855_78e44c38d2_o.png">Download Full &ndash; Europe (Retina)</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791386/" title="Full - USA (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8086/8554791386_b22d7e9f0d_c.jpg" width="800" height="500" alt="Full - USA (Retina)"></a>
<p class="caption">Full - USA (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8086/8554791386_4df453ff12_o.png">Download Full &ndash; USA (Retina)</a>.</p>

<h2>Simplified controller</h2>

<p>For this version, I&rsquo;ve hidden all text, labels and logos, to convey just the essence of the controller. There are only two variants instead of three, because with all textual and logo elements removed, the Japanese and European models are identical.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791212/" title="Simple - Japan/Europe by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8091/8554791212_28f91dbc91_c.jpg" width="800" height="500" alt="Simple - Japan/Europe"></a>
<p class="caption">Simple - Japan/Europe</p>
</div>


<p><a href="http://farm9.staticflickr.com/8091/8554791212_6789935723_o.png">Download Simple &ndash; Japan/Europe</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791148/" title="Simple - USA by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8519/8554791148_2288f73a3b_c.jpg" width="800" height="500" alt="Simple - USA"></a>
<p class="caption">Simple - USA</p>
</div>


<p><a href="http://farm9.staticflickr.com/8519/8554791148_bf5cb30b34_o.png">Download Simple &ndash; USA</a>.</p>

<h2>Simplified controller (Retina Display)</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686509/" title="Simple - Japan/Europe (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8231/8553686509_61c6c59f0e_c.jpg" width="800" height="500" alt="Simple - Japan/Europe (Retina)"></a>
<p class="caption">Simple - Japan/Europe (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8231/8553686509_76ddc626c3_o.png">Download Simple &ndash; Japan/Europe (Retina)</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686507/" title="Simple - USA (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8372/8553686507_6220d65529_c.jpg" width="800" height="500" alt="Simple - USA (Retina)"></a>
<p class="caption">Simple - USA (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8372/8553686507_1b5166615d_o.png">Download Simple &ndash; USA (Retina)</a>.</p>

<h2>Abstract controller</h2>

<p>Finally, this version removes any strong outlines (except the lovely disc around the Y/X/B/A buttons), including the controller casing/border itself. It&rsquo;s just buttons floating in a solid-coloured background. To me, this one says &ldquo;retro gaming&rdquo;. Again, there are only two variants since there&rsquo;s no distinction between Japanese and European models at this level of abstraction.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686879/" title="Abstract - Japan/Europe by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8509/8553686879_1e9a8d0c2e_c.jpg" width="800" height="500" alt="Abstract - Japan/Europe"></a>
<p class="caption">Abstract - Japan/Europe</p>
</div>


<p><a href="http://farm9.staticflickr.com/8509/8553686879_776829cfe4_o.png">Download Abstract &ndash; Japan/Europe</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791558/" title="Abstract - USA by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8523/8554791558_f0485d96d3_c.jpg" width="800" height="500" alt="Abstract - USA"></a>
<p class="caption">Abstract - USA</p>
</div>


<p><a href="http://farm9.staticflickr.com/8523/8554791558_6e6c8ddc4d_o.png">Download Abstract &ndash; USA</a>.</p>

<h2>Abstract controller (Retina Display)</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8554791618/" title="Abstract - Japan/Europe (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8528/8554791618_4c26840f39_c.jpg" width="800" height="500" alt="Abstract - Japan/Europe (Retina)"></a>
<p class="caption">Abstract - Japan/Europe (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8528/8554791618_d3b1ebd78d_o.png">Download Abstract &ndash; Japan/Europe (Retina)</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8553686907/" title="Abstract - USA (Retina) by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8250/8553686907_841db14e98_c.jpg" width="800" height="500" alt="Abstract - USA (Retina)"></a>
<p class="caption">Abstract - USA (Retina)</p>
</div>


<p><a href="http://farm9.staticflickr.com/8250/8553686907_b86f52cb55_o.png">Download Abstract &ndash; USA (Retina)</a>.</p>

<h2>Footnote</h2>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and <a href="https://alpha.app.net/mattgemmell">also on app.net</a>. You should follow me. If you enjoyed these free wallpapers and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>

<p>Enjoy the wallpapers!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[iPhone 5 Nintendo NES Wallpapers]]></title>
    <link href="http://mattgemmell.com/2013/03/07/iphone-5-nintendo-nes-wallpapers/"/>
    <updated>2013-03-07T17:30:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/07/iphone-5-nintendo-nes-wallpapers</id>
    <content type="html"><![CDATA[<p>I recently made some <a href="http://mattgemmell.com/2013/03/05/iphone-5-super-nintendo-wallpapers/">Super Nintendo-themed wallpapers for iPhone 5</a>, and today I&rsquo;d like to share something even more retro: Nintendo NES wallpapers.</p>

<p>They&rsquo;re all 640 x 1136 pixels and are <a href="http://www.flickr.com/photos/mattgemmell/sets/72157632938028937/">on Flickr</a>, with direct links to full-sized versions below. They&rsquo;re designed to look good on your Lock screen.</p>

<!--more-->


<h2>NES buttons</h2>

<p>(This is adapted from a free <a href="http://designmoo.com/2923/nes-controller/">NES controller PSD by Jakob &Ouml;fverman</a> &ndash; he&rsquo;s <a href="https://twitter.com/larshugose">@larshugose on Twitter</a>).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8536356377/" title="NES controller iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8094/8536356377_a0fdf72a0b_o.png" width="640" height="1136" alt="NES controller iPhone 5 wallpaper"></a>
<p class="caption">NES controller iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8094/8536356377_a0fdf72a0b_o.png">Download NES buttons full size</a>.</p>

<h2>The Legend of Zelda</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8536355781/" title="Legend of Zelda iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8365/8536355781_e458f7d419_o.png" width="640" height="1136" alt="Legend of Zelda iPhone 5 wallpaper"></a>
<p class="caption">Legend of Zelda iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8365/8536355781_e458f7d419_o.png">Download The Legend of Zelda full size</a>.</p>

<h2>Super Mario Bros 3</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8536355795/" title="Super Mario Bros 3 iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8094/8536355795_b1f908bf22_o.png" width="640" height="1136" alt="Super Mario Bros 3 iPhone 5 wallpaper"></a>
<p class="caption">Super Mario Bros 3 iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8094/8536355795_b1f908bf22_o.png">Download Super Mario Bros 3 full size</a>.</p>

<h2>Castlevania</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8537458786/" title="Castlevania iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8245/8537458786_5c47346384_o.png" width="640" height="1136" alt="Castlevania iPhone 5 wallpaper"></a>
<p class="caption">Castlevania iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8245/8537458786_5c47346384_o.png">Download Castlevania full size</a>.</p>

<h2>Metroid</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8537458600/" title="Metroid iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8521/8537458600_a392287758_o.png" width="640" height="1136" alt="Metroid iPhone 5 wallpaper"></a>
<p class="caption">Metroid iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8521/8537458600_a392287758_o.png">Download Metroid full size</a>.</p>

<h2>Footnote</h2>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and <a href="https://alpha.app.net/mattgemmell">also on app.net</a>. You should follow me. If you enjoyed this post and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>

<p>If you&rsquo;re interested in playing retro Nintendo games on modern computers, I recently wrote about <a href="http://mattgemmell.com/2013/03/02/playing-nintendo-games-on-a-mac/">Nintendo emulation on a Mac, using original controllers</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[iPhone 5 Super Nintendo Wallpapers]]></title>
    <link href="http://mattgemmell.com/2013/03/05/iphone-5-super-nintendo-wallpapers/"/>
    <updated>2013-03-05T22:40:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/05/iphone-5-super-nintendo-wallpapers</id>
    <content type="html"><![CDATA[<p>After my recent <a href="http://mattgemmell.com/2013/03/02/playing-nintendo-games-on-a-mac/">explorations of Nintendo emulation on the Mac</a>, I&rsquo;ve created a few Super Nintendo (SNES) wallpapers (at 640 x 1136 pixels) for my iPhone 5, and I thought I&rsquo;d share them with you. They&rsquo;re <a href="http://www.flickr.com/photos/mattgemmell/sets/72157632925208012/">on Flickr</a>, and are linked below (with a direct link to the full-sized version in each case).</p>

<!--more-->


<h2>SNES buttons (Europe/Japan)</h2>

<p>(This one is from a brilliant free <a href="http://365psd.com/day/312/">SNES controller PSD by Kubilay Sapayer</a> &ndash; he&rsquo;s <a href="https://twitter.com/kubilayss">@kubilayss on Twitter</a>). For US readers not familiar with the <em>real</em> (ahem) SNES controllers, this is <a href="http://upload.wikimedia.org/wikipedia/commons/1/1a/Snes_control.jpg">how they looked in Japan and Europe</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8532488954/" title="SNES controller iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8105/8532488954_baa6fca783_o.png" width="640" height="1136" alt="SNES controller iPhone 5 wallpaper"></a>
<p class="caption">SNES controller iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8105/8532488954_baa6fca783_o.png">Download SNES buttons Europe/Japan full size</a>.</p>

<h2>SNES buttons (USA)</h2>

<p>The controllers for the Super Nintendo were a different colour in the US, for some reason (and the console and game cartridges had an entirely different design). Here&rsquo;s <a href="http://upload.wikimedia.org/wikipedia/commons/7/7a/SNES-Controller.jpg">how the American controllers looked</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8535654249/" title="SNES US controller iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8229/8535654249_3e3471903a_o.png" width="640" height="1136" alt="SNES US controller iPhone 5 wallpaper"></a>
<p class="caption">SNES US controller iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8229/8535654249_3e3471903a_o.png">Download SNES buttons USA full size</a>.</p>

<h2>Zelda: A Link to the Past</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8531379761/" title="Zelda 3 iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8107/8531379761_325100e304_o.png" width="640" height="1136" alt="Zelda 3 iPhone 5 wallpaper"></a>
<p class="caption">Zelda 3 iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8107/8531379761_325100e304_o.png">Download Zelda: A Link to the Past full size</a>.</p>

<h2>Super Mario World</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8532674066/" title="Super Mario World iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8230/8532674066_4d664c9791_o.png" width="640" height="1136" alt="Super Mario World iPhone 5 wallpaper"></a>
<p class="caption">Super Mario World iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8230/8532674066_4d664c9791_o.png">Download Super Mario World full size</a>.</p>

<h2>Super Castlevania IV</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8532674092/" title="Super Castlevania IV iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8390/8532674092_e376fcd225_o.png" width="640" height="1136" alt="Super Castlevania IV iPhone 5 wallpaper"></a>
<p class="caption">Super Castlevania IV iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8390/8532674092_e376fcd225_o.png">Download Super Castlevania IV full size</a>.</p>

<h2>Super Metroid</h2>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8532745328/" title="Super Metroid iPhone 5 wallpaper by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8095/8532745328_471338595a_o.png" width="640" height="1136" alt="Super Metroid iPhone 5 wallpaper"></a>
<p class="caption">Super Metroid iPhone 5 wallpaper</p>
</div>


<p><a href="http://farm9.staticflickr.com/8095/8532745328_471338595a_o.png">Download Super Metroid full size</a>.</p>

<h2>Footnote</h2>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and <a href="https://alpha.app.net/mattgemmell">also on app.net</a>. You should follow me. If you enjoyed this post and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Playing Nintendo games on a Mac]]></title>
    <link href="http://mattgemmell.com/2013/03/02/playing-nintendo-games-on-a-mac/"/>
    <updated>2013-03-02T18:30:00+00:00</updated>
    <id>http://mattgemmell.com/2013/03/02/playing-nintendo-games-on-a-mac</id>
    <content type="html"><![CDATA[<p>For me, Nintendo has always been the gold standard in gaming. I&rsquo;ve not been without a Nintendo console in decades now, and I&rsquo;m an enormous fan of the <em>Zelda</em>, <em>Mario</em> and <em>Metroid</em> series (and <em>F-Zero</em>, and <em>Animal Crossing</em>, and <em>Starfox</em>, and so on).</p>

<p>With today&rsquo;s powerful Mac (and PC) hardware, we can rediscover all of our favourite vintage Nintendo games via emulation &ndash; and you can even use the original controllers, if you have them.</p>

<!--more-->


<h2>Notes on emulation</h2>

<p>Emulation of videogames consoles is legally questionable at best. Second-hand consoles are readily available to buy, and you should seriously consider grabbing them for fun and nostalgia. If you&rsquo;re like me, you probably already have many or all of these systems in your basement or attic, waiting to be used again.</p>

<p>Downloading games that you don&rsquo;t own is <em>definitely</em> illegal, of course, and it hurts the content providers. The only reason that we have games to play is because people pay for them &ndash; so please don&rsquo;t download ROMs of games that you don&rsquo;t actually own. It&rsquo;s easy to buy huge packs of second-hand console games on ebay, often with the actual systems included, and it doesn&rsquo;t cost a lot of money.</p>

<p>Having said all that, most of us probably have several gadgets (including current-generation games consoles) hooked up to our televisions, and may not have suitable ports or connections to keep old systems plugged in too. It can be much more convenient to play those older games on the ultra-sharp, vivid screen of your Mac instead. Every previous Nintendo system has an emulator available for OS X, and they all run just fine on 10.8 Mountain Lion.</p>

<h2>On joypads</h2>

<p>All emulators can be played using the keyboard and/or mouse, or any generic USB gamepad. Here&rsquo;s my advice: choose your pad <em>very carefully</em>. Most older systems used a D-pad as the primary directional input device, and not all D-pads are created equal. RSI and wrist injury are a very real possibility, particularly if you&rsquo;re not ten years old anymore.</p>

<p>Nintendo spends a great deal of time designing and testing their input devices, and they build products to last. I&rsquo;ve consistently found that the original official controllers are by far the most pleasant to play with. They can all be used with your Mac without modification, using cheap USB adapters which I&rsquo;ll talk about shortly. Precision is also important, and the original pads won&rsquo;t let you down. You&rsquo;ll find the NES controller&rsquo;s D-pad to be firm and quite springy, and the SNES to be softer and feel more settled. Both will give you many years of retro gaming pleasure.</p>

<p>If you do decide to use a third-party replica pad (or perhaps even a modern USB pad), exercise caution and see how your wrists are handling it. Cheap knock-offs don&rsquo;t go through anything like the Q&amp;A of Nintendo&rsquo;s official pads, and you&rsquo;ll also almost certainly have to replace them much sooner.</p>

<p>(As an aside, if you have any spare official Nintendo controllers for any system that are in good condition and perfect working order, I&rsquo;d be <em>very</em> interested in obtaining them. My email address is <code>matt</code> at this domain. I promise to cherish them, and to use them!)</p>

<h2>NES</h2>

<p>Prepare for a blast of nostalgia. The classic NES controller:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8524308695/" title="NES controller by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8096/8524308695_fdc612cb2d_c.jpg" width="800" height="534" alt="NES controller"></a>
<p class="caption">NES controller</p>
</div>


<p>This is a beautiful joypad. It&rsquo;s chunky but extremely light, with a positive D-pad and concave, clicky buttons. It will also likely survive the apocalypse, and indeed <em>did</em> do so in living-rooms around the world.</p>

<p>You can connect yours to a Mac using a <a href="http://www.amazon.co.uk/gp/product/B004L5KHKS/ref=as_li_ss_tl?ie=UTF8&camp=1634&creative=19450&creativeASIN=B004L5KHKS&linkCode=as2&tag=matleggem-21" rel="nofollow">RetroBit Retro Adapter</a>, which provides one NES port (so you might want to buy two adapters for two-player games).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525426870/" title="NES USB controller adapter by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8092/8525426870_1b876b0793_c.jpg" width="800" height="534" alt="NES USB controller adapter"></a>
<p class="caption">NES USB controller adapter</p>
</div>


<p>To run the games, you have a few options. I use <a href="http://nestopia.sourceforge.net">Nestopia</a>, which you can also use via the excellent <a href="http://openemu.org">OpenEmu</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525419732/" title="Nestopia NES emulator for OS X by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8509/8525419732_2a2f39891f_c.jpg" width="800" height="770" alt="Nestopia NES emulator for OS X"></a>
<p class="caption">Nestopia NES emulator for OS X</p>
</div>


<p><em>It&rsquo;s dangerous to go alone!</em></p>

<h2>Super Nintendo (SNES)</h2>

<p>The SNES was the primary system of my early teenage years. I first saw one in an electrical appliance store whilst I was waiting for my mother to buy a new vacuum cleaner. It was in a pod running <em>Super Mario World</em>, and Christmas was only a couple of months away. The rest is history.</p>

<p>It also had what is in my opinion the single best joypad ever made.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8524315153/" title="SNES controller by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8375/8524315153_b1fa2214fe_c.jpg" width="800" height="534" alt="SNES controller"></a>
<p class="caption">SNES controller</p>
</div>


<p>(The European and Japanese Super Nintendo/Famicom pads had these colourful buttons, rather than the US version&rsquo;s purple-grey two-tone ones. I much prefer the colours.)</p>

<p>You can connect <em>two</em> of these beauties to your Mac via the <a href="http://www.amazon.co.uk/gp/product/B002IXZ5DE/ref=as_li_ss_tl?ie=UTF8&camp=1634&creative=19450&creativeASIN=B002IXZ5DE&linkCode=as2&tag=matleggem-21" rel="nofollow">Dual SNES Adapter</a>, which provides two SNES ports.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525433598/" title="SNES USB controller adapter by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8229/8525433598_60cc4d2a4b_c.jpg" width="800" height="534" alt="SNES USB controller adapter"></a>
<p class="caption">SNES USB controller adapter</p>
</div>


<p>To play the games, you&rsquo;ll want <a href="http://www.snes9x.com">SNES9X</a>, which again can be used either on its own, or as part of <a href="http://openemu.org">OpenEmu</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8524304809/" title="SNES9X SNES emulator for OS X by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8511/8524304809_fd659b1436_c.jpg" width="800" height="782" alt="SNES9X SNES emulator for OS X"></a>
<p class="caption">SNES9X SNES emulator for OS X</p>
</div>


<p><em>Pay no attention to the average middle-aged man standing by this sign!</em></p>

<h2>N64</h2>

<p>I didn&rsquo;t get an N64 immediately, because I was spending most of my time flying around the world and working. When I did get some time at home, I was window-shopping and decided to just buy one on a whim. I got the <em>Super Mario 64</em> pack, and also picked up <em>Ocarina of Time</em>. Playing <em>Ocarina</em> over the next week is one of my most cherished gaming memories. (Did you know that they <a href="http://www.amazon.co.uk/gp/product/B004JHY3Z8/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B004JHY3Z8&amp;linkCode=as2&amp;tag=matleggem-21">remastered it for the 3DS</a>? It&rsquo;s an excellent version of the game.)</p>

<p>The N64 controller looked a lot like a spaceship, and you almost always held it with your right hand on the rightmost prong, and your left hand on the <em>middle</em> prong, to use the analog joystick. The stick sometimes felt a little bit high, but it was precise, pleasantly springy, and a bit of a revelation at the time.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525437724/" title="N64 controller by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8365/8525437724_da6c477497_c.jpg" width="800" height="534" alt="N64 controller"></a>
<p class="caption">N64 controller</p>
</div>


<p>You can connect this gargantuan joypad to your Mac using the <a href="http://www.amazon.co.uk/gp/product/B003D61Y30/ref=as_li_ss_tl?ie=UTF8&camp=1634&creative=19450&creativeASIN=B003D61Y30&linkCode=as2&tag=matleggem-21" rel="nofollow">N64 Controller Adapter</a>, which gives you two N64 ports.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525440354/" title="N64 USB controller adapter by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8226/8525440354_8e90bcb6b8_c.jpg" width="800" height="534" alt="N64 USB controller adapter"></a>
<p class="caption">N64 USB controller adapter</p>
</div>


<p>To play the games, you can use <a href="http://openemu.org">OpenEmu</a>, but for certain games you might also want to have the rather fantastic <a href="http://sixtyforce.com">Sixtyforce</a> on hand.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8524304963/" title="OpenEmu N64 emulator for OS X by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8384/8524304963_16dce1e9e0_c.jpg" width="800" height="617" alt="OpenEmu N64 emulator for OS X"></a>
<p class="caption">OpenEmu N64 emulator for OS X</p>
</div>


<p><em>Take it respectfully!</em></p>

<h2>Gamecube</h2>

<p>I <em>did</em> get a Gamecube on launch day, and thankfully it was purple (my favourite colour) by default. I think I lost about three weeks of my life playing <em>Rogue Leader</em> over and over.</p>

<p>The &lsquo;cube controllers eschewed the N64&rsquo;s C-buttons for a second analog C-stick (handily named, since it&rsquo;s almost always used to control the in-game camera), which is of course now a standard feature across most consoles. It&rsquo;s a very solid joypad with perfectly-placed controls, and a satisfyingly huge A button. I can testify that it readily survives repeated collisions with walls, but is susceptible to teeth-marks when chewed with rage.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525443360/" title="Gamecube controller by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8231/8525443360_e67fa535b9_c.jpg" width="800" height="534" alt="Gamecube controller"></a>
<p class="caption">Gamecube controller</p>
</div>


<p>To connect your &lsquo;cube pads, you can use the <a href="http://www.amazon.co.uk/gp/product/B0059HNGHI/ref=as_li_ss_tl?ie=UTF8&camp=1634&creative=19450&creativeASIN=B0059HNGHI&linkCode=as2&tag=matleggem-21" rel="nofollow">3-in-1 Magic Joy Box</a>, which provides one Gamecube port, one Xbox (original) port, and one PlayStation or PlayStation 2 port. It is also <em>not</em> a sex toy, despite the awful name.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8524331667/" title="Gamecube USB controller adapter by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8365/8524331667_cc21d2743e_c.jpg" width="800" height="534" alt="Gamecube USB controller adapter"></a>
<p class="caption">Gamecube USB controller adapter</p>
</div>


<p>To play Gamecube games, you can use <a href="http://dolphin-emu.org">Dolphin</a>, which is <em>also</em> a Wii emulator (with which you can use your original Wii remotes via Bluetooth too).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525420864/" title="Dolpin Gamecube emulator for OS X by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8086/8525420864_ae1177c598_c.jpg" width="800" height="661" alt="Dolpin Gamecube emulator for OS X"></a>
<p class="caption">Dolpin Gamecube emulator for OS X</p>
</div>


<p><em>Hoy, small fry!</em></p>

<h2>No drivers required</h2>

<p>All of the USB adapters mentioned above are plug-and-play, requiring no drivers whatsoever. Connect the pad to the adapter, then the adapter to the computer. Use the &lsquo;Preferences&rsquo; (or similar) in each emulator to configure the buttons appropriately; OpenEmu has a particularly nice interface for doing this, showing the actual original pads.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525092247/" title="OpenEmu controller configuration screen by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8512/8525092247_c4d119e320_o.png" width="675" height="740" alt="OpenEmu controller configuration screen"></a>
<p class="caption">OpenEmu controller configuration screen</p>
</div>


<h2>What about handhelds?</h2>

<p>The best way to experience handheld games is on the original systems, all of which are readily available to buy second-hand. My advice would be to get:</p>

<ul>
<li>A <a href="http://www.amazon.co.uk/gp/product/B004ISLDV0/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B004ISLDV0&amp;linkCode=as2&amp;tag=matleggem-21">Nintendo 3DS</a> (which also plays DS games),</li>
<li>A <a href="http://www.amazon.co.uk/gp/product/B0009RWEB2/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B0009RWEB2&amp;linkCode=as2&amp;tag=matleggem-21">Game Boy Micro</a> (which plays Game Boy Advance games), and:</li>
<li>A Game Boy Color (which also plays original Game Boy games).</li>
</ul>


<p>If you want a bigger screen for your Game Boy Advance games, the SP series is fantastic, with plenty of options for the colour of the device. Additionally, if your eyesight isn&rsquo;t what it was and you&rsquo;re worried about peering at small screens, note that there are larger versions of both <a href="http://www.amazon.co.uk/gp/product/B008DS948U/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B008DS948U&amp;linkCode=as2&amp;tag=matleggem-21">the 3DS</a> and <a href="http://www.amazon.co.uk/gp/product/B003479YN0/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B003479YN0&amp;linkCode=as2&amp;tag=matleggem-21">the DSi</a> available too.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8524738251/" title="Nintendo 3DS and Gameboy Micro by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8110/8524738251_59df7b58aa_c.jpg" width="800" height="600" alt="Nintendo 3DS and Gameboy Micro"></a>
<p class="caption">Nintendo 3DS and Gameboy Micro</p>
</div>


<p>If you want to emulate, I believe that all of the Nintendo portable platforms are supported on the Mac (with the exception of 3DS at the moment, as far as I know). I&rsquo;m not sure how viable it is to play DS or 3DS games without a touch-screen, and certain games presumably won&rsquo;t be playable at all due to their advanced use of the microphone, the screen-hinge switch and so on (the fabulous <em>Hotel Dusk</em> and <em>Another Code</em> series would be prime examples).</p>

<p>Buy the actual systems!</p>

<h2>Simultaneous gaming</h2>

<p>It&rsquo;s possible to connect <em>all</em> of the aforementioned joypads to a single Mac simultaneously, but you&rsquo;ll likely need a USB hub. I can highly recommend the <a href="http://www.amazon.co.uk/gp/product/B001UE6OC8/ref=as_li_ss_tl?ie=UTF8&camp=1634&creative=19450&creativeASIN=B001UE6OC8&linkCode=as2&tag=matleggem-21">Trust 10-port USB 2.0 Power Hub</a> for the job; I have four joypads, three iOS devices and a Wacom Intuos 5 graphics tablet all connected to it without issues.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8525419468/" title="All Nintendo controllers connected simultaneously by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8373/8525419468_1367d967c0_c.jpg" width="800" height="600" alt="All Nintendo controllers connected simultaneously"></a>
<p class="caption">All Nintendo controllers connected simultaneously</p>
</div>


<p>For those with a powerful machine and a crippling case of Attention Deficit Disorder, it&rsquo;s even possible to actually run all the emulators simultaneously too. Presumably, you&rsquo;ll want to invite some friends over for that.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8518871330/" title="The Legend of Zelda, from NES to Gamecube by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8531/8518871330_44563fd8e8_c.jpg" width="800" height="450" alt="The Legend of Zelda, from NES to Gamecube"></a>
<p class="caption">The Legend of Zelda, from NES to Gamecube</p>
</div>


<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>, and also <a href="http://alpha.app.net/mattgemmell">mattgemmell on App.Net</a>. If you enjoyed this post and want to feed my gaming habit (or something else), I have an <a href="http://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">Amazon UK wishlist</a>.</p>

<p>Now if you&rsquo;ll excuse me, I have a hookshot to find.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[MGWordCounter]]></title>
    <link href="http://mattgemmell.com/2013/02/04/mgwordcounter/"/>
    <updated>2013-02-04T21:10:00+00:00</updated>
    <id>http://mattgemmell.com/2013/02/04/mgwordcounter</id>
    <content type="html"><![CDATA[<p>My latest chunk of open-source code is very simple: MGWordCounter provides <em>live</em> word-counting for NSTextViews on OS X and UITextViews on iOS.</p>

<ul>
<li>Counting is asynchronous (happens in the background).</li>
<li>It tries not to count any more text than is necessary.</li>
<li>It counts both the full text and any <em>selection</em> in the textview.</li>
</ul>


<p>MGWordCounter uses NSString&rsquo;s own (excellent) understanding of what constitutes a &ldquo;word&rdquo;, and thus will improve as NSString and the text system are enhanced in future.</p>

<!--more-->


<p>The included dual-platform demo harness looks like this:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8446031538/" title="MGWordCounter demo by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8051/8446031538_7c360bd771_o.png" width="800" height="737" alt="MGWordCounter demo"></a>
<p class="caption">MGWordCounter demo</p>
</div>


<h2>Why did you create this?</h2>

<p>I do a lot of <a href="http://mattgemmell.com/2013/01/15/writing-tools/">writing</a>, and I find it extremely useful to have a live word-count (and character-count) for the piece I&rsquo;m working on. I also like to try out new writing apps and text-editors, and I&rsquo;d be disappointed if they didn&rsquo;t have that feature.</p>

<p>I thought that the best way to make sure all my favourite writing apps of the future have live word-counting was to implement the feature in a straightforward, drop-in way, then I can just point those developers towards this code. Then they&rsquo;ll have <em>absolutely no excuse</em> for not implementing it.</p>

<h2>Getting the code</h2>

<p>MGWordCounter can be cloned from its git repository on github. You can find the repository here: <a href="http://github.com/mattgemmell/MGWordCounter">http://github.com/mattgemmell/MGWordCounter</a></p>

<h2>Requirements and supported OS versions</h2>

<ul>
<li><strong>OS X 10.7 Lion</strong> or later (<strong>with ARC</strong>) for Mac</li>
<li><strong>iOS 5.0</strong> or later (<strong>with ARC</strong>) for iPhone, iPad and iPod touch</li>
</ul>


<h2>License</h2>

<p>MGWordCounter is distributed under an <strong>attribution license</strong>. You&rsquo;re free to use it, with attribution, in any kind of project you like (including commercial and/or closed-source apps).</p>

<p>You can read the full license here: <a href="http://mattgemmell.com/license/">http://mattgemmell.com/license/</a></p>

<p>See the license page for information on using it <em>without</em> attribution too (for a fee). If you require a different license, you&rsquo;re welcome to <a href="http://mattgemmell.com/about">contact me</a>.</p>

<h2>Saying Thank You</h2>

<p>As with all the other OS X and iOS code I&rsquo;ve released over the years, I&rsquo;m making MGWordCounter available for the benefit of the developer community.</p>

<p>If you find it useful, a Paypal donation (or something from my Amazon.co.uk Wishlist) would be very much appreciated. Appropriate links (and my other code) can be found here: <a href="http://mattgemmell.com/source">http://mattgemmell.com/source</a></p>

<h2>Sample code</h2>

<p>The MGWordCounter project includes simple OS X and iPhone demonstration apps, showing a live word-count display above a text-view. Both apps are separate targets in the same Xcode project.</p>

<h2>How to use MGWordCounter</h2>

<p>Briefly, you create an MGWordCounter object by initialising it with a suitable NSTextView or UITextView, then you tell the MGWordCounter to start counting.</p>

<figure class='code'> <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
</pre></td><td class='code'><pre><code class='objc'><span class='line'><span class="n">wordCounter</span> <span class="o">=</span> <span class="p">[</span><span class="n">MGWordCounter</span> <span class="nl">wordCounterForTextView:</span><span class="n">textview</span><span class="p">];</span>
</span><span class='line'><span class="n">wordCounter</span><span class="p">.</span><span class="n">delegate</span> <span class="o">=</span> <span class="n">self</span><span class="p">;</span>
</span><span class='line'><span class="n">textview</span><span class="p">.</span><span class="n">delegate</span> <span class="o">=</span> <span class="n">wordCounter</span><span class="p">;</span>
</span><span class='line'><span class="p">[</span><span class="n">wordCounter</span> <span class="n">startCounting</span><span class="p">];</span>
</span></code></pre></td></tr></table></div></figure>


<p>MGWordCounter will then post <strong>notifications</strong> (and call a <strong>delegate method</strong>, if you&rsquo;ve given it <a href="https://github.com/mattgemmell/MGWordCounter/blob/master/MGWordCounterDemo/MGWordCounterDelegate.h">a suitable delegate object</a>) whenever the word-count changes. You can also specify a <strong>block</strong> to be executed.</p>

<h2>Does it need to be my Text View&rsquo;s delegate?</h2>

<p><strong>No</strong>. Normally, the MGWordCounter object <em>will</em> be your text-view&rsquo;s delegate (i.e. its NSTextViewDelegate on OS X, or its UITextViewDelegate on iOS). However, this isn&rsquo;t absolutely required.</p>

<p>If you already have a text-view delegate object, you can simply forward three delegate methods to the MGWordCounter from your actual text-view delegate, and everything will still work. See the comments in <a href="https://github.com/mattgemmell/MGWordCounter/blob/master/MGWordCounterDemo/MGWordCounter.h">MGWordCounter&rsquo;s header file</a> for more information.</p>

<h2>Can it work with something other than a Text View?</h2>

<p>Potentially. If you can fulfil the (NS/UI)TextViewDelegate contract, and the &ldquo;text-view&rdquo; object you pass to the MGWordCounter responds to <code>-string</code> on OS X and <code>-text</code> on iOS, then yes, you can presumably make it work for other controls or even more exotic objects. This hasn&rsquo;t been tested, however.</p>

<h2>Bugs and feature requests</h2>

<p>There is absolutely <strong>no support</strong> offered with this component. You&rsquo;re on your own! If you want to submit a feature request, please do so via <a href="http://github.com/mattgemmell/MGWordCounter/issues">the issue tracker on github</a> (and <em>not</em> via Twitter, email, carrier pigeon, smoke signals or anything else).</p>

<p>MGWordCounter is open source code for developers. If you find a bug, please <em>investigate it</em>. There are many <code>NSLog</code> statements (commented-out) throughout the code, allowing you to selectively inspect its workings. The algorithm used isn&rsquo;t complex. Find out what&rsquo;s going wrong, and fix it!</p>

<p>I&rsquo;ll be glad to receive pull-requests for bug-fixes and enhancements on <a href="http://github.com/mattgemmell/MGWordCounter">MGWordCounter&rsquo;s github repository</a>. Please try not to report bugs without a diagnosis and fix. Similarly, please try not to submit fixes without an accompanying explanation of what you&rsquo;re fixing, and how. :)</p>

<h2>Final notes</h2>

<p>To keep up to date with future code releases, amongst many other things, you&rsquo;d be well advised to:</p>

<ul>
<li>Subscribe to my blog at <a href="http://mattgemmell.com/">http://mattgemmell.com/</a></li>
<li>Follow <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a></li>
<li>Follow <a href="http://alpha.app.net/mattgemmell">mattgemmell on App.Net</a></li>
</ul>


<p>Enjoy the code!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Unfollower]]></title>
    <link href="http://mattgemmell.com/2013/01/25/the-unfollower/"/>
    <updated>2013-01-25T15:00:00+00:00</updated>
    <id>http://mattgemmell.com/2013/01/25/the-unfollower</id>
    <content type="html"><![CDATA[<p>People puzzle me. They really do. I think most of us are probably puzzled by those around them, and the internet of course multiplies the problem to Galactic Zoo proportions.</p>

<p>I have a theory on this subject, you won&rsquo;t be surprised to learn. My theory is that there are two types of people: those who are actively puzzled by the behaviour of others, and those who don&rsquo;t think about it at all. It doesn&rsquo;t even occur to this latter group that others might not think the same way as they do. There&rsquo;s no third group, by the way &ndash; and certainly not the mythical category of &ldquo;people who truly understand the inner world of everyone else&rdquo;. You only have the two basic categories:</p>

<ol>
<li>Barely enough awareness and empathy to be confused by others.</li>
<li>No detectable empathy whatsoever.</li>
</ol>


<p>Whilst the internet presumably has roughly the same distribution of each group as society at large does, it often <em>seems</em> like group 2 is in the majority. I want to talk a bit about those people, in the context of Twitter &ndash; though this stuff applies to any form of social media.</p>

<!--more-->


<p>I want to be clear on this: I <em>love</em> social media. I spend a lot of time on Twitter (<a href="http://twitter.com/mattgemmell">@mattgemmell</a>) and recently on App.Net too (also <a href="https://alpha.app.net/mattgemmell">mattgemmell</a>). I&rsquo;ve met many colleagues and new friends online. It&rsquo;s pretty much my primary news source, too. The vast majority of people on there, as with any subdivision of our species, are decent, easy to get along with, and generally no problem.</p>

<p>But there are exceptions, of course. I&rsquo;d like to list them, and talk briefly about each type. In the future, I can hopefully point people to this article, and say, yep, you&rsquo;re dealing with (or are) <em>that</em> one.</p>

<p>Before that, a brief preamble.</p>

<h2>What makes you so special?</h2>

<p>I have a moderate presence on the internet, part of which you&rsquo;re currently reading. To quantify that statement, this blog currently gets about a million unique visitors a year, about two million pageviews a year, and around 15,000 feed-pulls per day. I also have more than 20,000 followers on Twitter.</p>

<p>Those aren&rsquo;t huge numbers, but they&rsquo;re for a personal blog and personal social media profiles, so: lucky me / humble-brag / etc.</p>

<p>But it&rsquo;s <em>not</em> luck, of course, because people don&rsquo;t subscribe to a blog or follow you on Twitter <em>randomly</em>. Instead, they do it because they <em>discovered</em> the blog or person somehow, and liked what they read. Nobody signed them up without their permission; it&rsquo;s opt-in. That&rsquo;s what I love about the numbers, even though yours are probably bigger: <em>I</em> did that, with my own output. We all need validation, after all.</p>

<p>Fairly often, I get asked &ldquo;how did you get so many Twitter followers?&rdquo; Sometimes, people even ask if I <em>paid</em> to get followers, which apparently is a thing you can do. I didn&rsquo;t. I assume that if you did, your new followers would be somewhere in the region of 95% easily-detected spambots, instead of Twitter&rsquo;s usual ambient 30% or so.</p>

<p>There are really two honest answers to how I got my readership, and here they are:</p>

<ol>
<li>I write interesting/amusing things.</li>
<li>I give people stuff.</li>
</ol>


<p>You could add a third answer, in reference to the other two: whilst I certainly manage to offend people semi-regularly, I at least give the impression of <em>mostly</em> being a <em>reasonably OK guy</em>. Most people require that one, or the other two lose their attraction quickly. That&rsquo;s a sensible state of affairs.</p>

<p>Human psychology isn&rsquo;t very complex. If you derive benefit from someone, you keep them around; otherwise, they&rsquo;re probably gone. Simple. As to what exactly I write that&rsquo;s interesting, well that&rsquo;s up to you. I&rsquo;d guess that most people read the blog for its development/technical/design-focused articles. I think most people follow me on Twitter for both that stuff and also pithy/quotable remarks on same, and I know that the things I give people are mostly open source <a href="http://mattgemmell.com/source">components</a> for iOS and Mac. Sometimes, people have heard me <a href="http://mattgemmell.com/speaking">speak at a conference</a>, or read something I&rsquo;ve written in a magazine too. It&rsquo;s the same deal. That&rsquo;s what people get from me. That&rsquo;s why they hang around. That&rsquo;s all fine, and to be expected.</p>

<p>There&rsquo;s an observed effect whereby the more followers you have, the quicker you get new ones, because more people are sharing your stuff with <em>their</em> followers. It stands to reason. That&rsquo;s what happened (and happens) with me, over the course of the 6 years I&rsquo;ve had my Twitter account, and the 8 years I&rsquo;ve been writing here on the blog. There&rsquo;s no mystery about that.</p>

<p>Over that time, and because of the growing readership, statistically I&rsquo;ve inevitably encountered some of the aforementioned less desirable types of people online. I will now categorise them for my own amusement (and yours too, if you like).</p>

<h2>The Unfollower</h2>

<p>If you&rsquo;re not familiar with Twitter, here&rsquo;s a brief summary of how it works:</p>

<ol>
<li>You post short messages (tweets) on it. You have a specific name, just like you have a specific email address. You can &ldquo;mention&rdquo; other people by including their name in your tweet, and they&rsquo;ll see it (as will anyone else who follows both of you).</li>
<li>If you want to see another person&rsquo;s messages, you &ldquo;follow&rdquo; them. Then their messages show up in your &ldquo;stream&rdquo; of messages.</li>
<li>Thus, you have a set of people you&rsquo;re following, and you also have a set of <em>followers</em> (people who are following <em>you</em>). This list doesn&rsquo;t have to be symmetrical; you&rsquo;re free not to follow someone who follows you, and likewise a person that you follow doesn&rsquo;t have to follow you back.</li>
</ol>


<p>(And yes, &ldquo;followers&rdquo; sounds cult-y and egomaniacal. Nobody is really comfortable with the term, but it&rsquo;s the standard one now.)</p>

<p>There&rsquo;s some other stuff, but you get the idea. By default, when you sign up, you&rsquo;re not following anyone. You have to go and follow people explicitly, and you can unfollow anyone at any time. Simple idea.</p>

<p>For some people, though, just unfollowing you isn&rsquo;t enough &ndash; they have to <em>tell</em> you they&rsquo;re doing it:</p>

<blockquote><p>I am unfollowing you.</p></blockquote>


<p>Some people actually say that. They tweet it, making sure to mention my username so that I see it, or they actually <em>email me</em>. I&rsquo;m not sure whether they think I&rsquo;ll lament the loss of a follower (um, you&rsquo;re a person who informs others that they&rsquo;re unfollowing; I wish you&rsquo;d never followed me in the first place), or whether they just want to injure me in some way for whatever I did that made them decide to unfollow (no offence, but you&rsquo;re one person in thousands &ndash; I&rsquo;m going to sleep just fine tonight). It&rsquo;s bizarre, isn&rsquo;t it?</p>

<p>Since following (or subscribing) is opt-in and entirely free of charge, I don&rsquo;t understand why you&rsquo;d want to actually <em>tell</em> someone you&rsquo;re unfollowing them. Some people do it in a sort of sleazy way, by mentioning my username but not actually addressing the tweet to me (e.g. &ldquo;I&rsquo;m unfollowing @mattgemmell because&hellip;&rdquo;), which seems to fit the personality profile. You can imagine the analogous real-life situation: they say something that offends somebody within earshot, the other person complains, and their response is &ldquo;I wasn&rsquo;t talking to <em>you</em>!&rdquo; Scummy.</p>

<p>Please, if you have an issue with anything at all that I&rsquo;ve said, keep these things in mind:</p>

<ol>
<li><p>I almost certainly don&rsquo;t care. I&rsquo;m not being flippant or trying to anger you: I just&hellip; don&rsquo;t. I&rsquo;m already my own editor. I&rsquo;ve already filtered my writing; if you saw it, it was approved by me for public release. What I mean is that you&rsquo;re not going to change anything, and <em>definitely</em> not by being the guy who emails to tell me he&rsquo;s unfollowing. If you tell me what it was that got rid of you, I&rsquo;m going to do it <em>more</em>.</p></li>
<li><p>I&rsquo;d rather you just unfollowed or unsubscribed silently. I don&rsquo;t need to know about it, and I&rsquo;m certainly not going to beg you to stay, or apologise for something I said. You&rsquo;re just wasting time for both of us, and making yourself seem like a worse person. Unfollowing is a single click away; just do it! Click!</p></li>
</ol>


<p>I want to be clear on one thing, though: when I say &ldquo;I don&rsquo;t care&rdquo;, I mean it in the way I just explained: that I&rsquo;m not going to use your opinion to alter what I say in future. I don&rsquo;t mean that it doesn&rsquo;t <em>upset</em> me, because truthfully, sometimes it does. Never in a &ldquo;maybe I was wrong&rdquo; way; instead, always in a &ldquo;why is this person I&rsquo;ve never met being unpleasant to me?&rdquo; way.</p>

<p>That&rsquo;s probably what The Unfollower wants, of course, but I can&rsquo;t help having that reaction occasionally.</p>

<h2>The Editor</h2>

<p>I sometimes talk about things that are (for some reason; I&rsquo;m not entirely sure why) seen as controversial, like religion, homophobia, misogyny, gun ownership and so on. I&rsquo;m against all of those things, by the way. You probably are too, so why are they controversial? Or perhaps you&rsquo;re in favour of some of them, and you&rsquo;re now going to unfollow me. But I digress.</p>

<p>When I talk about those topics, I get email or tweets saying things like this:</p>

<blockquote><p>You should stick to tech topics.</p></blockquote>


<p>Believe it or not, this one is usually presented as a friendly, constructive, genuine suggestion. If it&rsquo;s via email, it&rsquo;s in the part of the email where the person is being reasonable, perhaps agonisingly so. They&rsquo;re probably feeling magnanimous when writing the paragraph, and smiling to themselves when they re-read it before sending. <em>Good job, champ</em>, they may say to themselves &ndash; <em>that was mighty decent of you</em>.</p>

<p>Except that, of course, it&rsquo;s an outrageously offensive suggestion. It&rsquo;s offensive for at least two reasons:</p>

<ol>
<li><p>It&rsquo;s pretty much &ldquo;don&rsquo;t quit your day job&rdquo;, which is always insulting.</p></li>
<li><p>You&rsquo;re requesting self-censorship for my personal Twitter account or blog.</p></li>
</ol>


<p>Let me turn the &ldquo;why don&rsquo;t you stick to talking about &lt;topic&gt;?&rdquo; question around: what gives <em>you</em> the right to decide what <em>I</em> want to talk about?</p>

<p>Here&rsquo;s my position: I&rsquo;m not publishing a newspaper that you&rsquo;ve purchased. <em>You</em> walked into <em>my</em> house. I&rsquo;m OK with you hanging around, but 100% of the rules are made by me, and 100% compliance is absolutely mandatory. You get <em>zero</em> say in my content. There is no Letters Page for your complaint. You can&rsquo;t ask to talk to my superior, because I&rsquo;m at the top of the tree &ndash; and I&rsquo;m going to agree with <em>me</em>.</p>

<p>There are circumstances where you get to complain about something that someone has written, to the extent of asking them to not write about that topic again. I can&rsquo;t think of one right now, but I&rsquo;m sure such scenarios exist. A free, personal, opt-in, opt-out-at-any-time social media stream is <em>not</em> in that category. It staggers me that anyone would have the audacity to even try, yet it happens. It&rsquo;s abusive.</p>

<p>I understand that you may think I can benefit from your input, and that my personal tweets or other writings will be all the better for whatever editing you&rsquo;d advocate. I understand that. If you&rsquo;re being genuinely constructive, then fire away.</p>

<p>But I&rsquo;ve got to be honest with you: I think I&rsquo;m doing just fine without your help, and I plan to continue that way. That&rsquo;s why you&rsquo;re reading this.</p>

<h2>The Stockholder</h2>

<p>A lot of the people who follow me are software developers, and they have a special insight into this particular type of Twitter troll. When you&rsquo;re a software developer who has released apps, you encounter a type of customer who feels enormous entitlement just because they&rsquo;ve paid for (or even downloaded) your app. It doesn&rsquo;t matter if it only cost one dollar; they still get <a href="http://mattgemmell.com/2012/07/21/entitlement-and-acquisition/">imperious and outraged</a>. It&rsquo;s a kind of sickness.</p>

<p>But at least they&rsquo;re <em>customers</em>, however you might define that word. People would never get entitled, say, just because they follow you on Twitter, right? I&rsquo;ll pause to wipe a tear of either hysterical amusement or desperation from my cheek. Maybe both.</p>

<blockquote><p>I am disappointed in your tweets.</p></blockquote>


<p>I get emails saying that sometimes. Not often, but sometimes. From a person who is <em>disappointed</em> in my <em>tweets</em>. Disappointment means that you&rsquo;re sad because your expectations weren&rsquo;t met. Some people don&rsquo;t stop to think that, maybe, their own expectations aren&rsquo;t the same as what they&rsquo;re <em>entitled</em> to. They think that those two things are the same. Whatever they expect, they&rsquo;re entitled to. There&rsquo;s a whole site of stories about crazy customers like that; it&rsquo;s called <a href="http://notalwaysright.com/">Not Always Right</a>. But read the rest of this article first, because you&rsquo;ll waste a week there.</p>

<p>These &ldquo;Stockholder&rdquo; people actually put on their &ldquo;upset customer&rdquo; voice when they tell me why they&rsquo;re annoyed, or unsubscribing, or whatever. Like I&rsquo;m going to negotiate, or apologise. Let me make my stance on this clear: you&rsquo;re not my customer. Firstly, you&rsquo;re not paying me anything; following me or reading this blog is free.</p>

<p>Secondly, even if you <em>have</em> paid me something in some other capacity, like buying an app or a license for source code, you&rsquo;re <em>still</em> not my customer here on the blog, or on Twitter. You&rsquo;re just not. Your entitlements are zero. Your expectations are your own business, and you shouldn&rsquo;t confuse the two. The outcome is just going to make you unhappy.</p>

<h2>The Dehumaniser</h2>

<p>This is a tricky one to talk about, because you&rsquo;re naturally going to think &ldquo;poor little rich kid&rdquo;, or whatever. I don&rsquo;t mean <em>money</em> rich (I&rsquo;m not), but rather in terms of readership (I&rsquo;m not even very &lsquo;rich&rsquo; in that regard, either, to be honest). It&rsquo;s possible you&rsquo;ve encountered this type of person too, of course.</p>

<p>People make this subconscious shift in perception once your follower-count goes over a certain number. I&rsquo;m not sure what that number actually is, but it&rsquo;s lower than the number of followers than I have, because the shift has already happened (for those that are susceptible to it).</p>

<p>It&rsquo;s probably because of our trivial, celebrity-enamoured culture, but whatever the cause, the outcome is the same: people don&rsquo;t see you as being a regular person anymore. You&rsquo;re no longer <em>like them</em>, and subject to the same treatment or benefit of the doubt. I think the idea is that you&rsquo;re now privileged in some way, so you have to pay a corresponding price for it.</p>

<p>Now, I&rsquo;m not arguing with the privilege part. I <em>am</em> privileged. You&rsquo;re reading this, for example, maybe even after seeing a link on Twitter. I know that many thousands of others will read it too. If I complain about something publicly, companies tend to get in touch in a hurry, and fix it. I get invited to get up on stages and talk to hundreds of people regularly. I get sent stuff. My name is in a lot of apps. That&rsquo;s a privileged position, absolutely. I&rsquo;m really grateful for those things, and as I said before, the validation means a lot to me (that&rsquo;s probably a weakness of my character).</p>

<p>The lament &ldquo;but I didn&rsquo;t <em>ask</em> for any of this!&rdquo; is a valid one, but you probably don&rsquo;t care much about that. Like I said: poor little rich kid. Go on Oprah and get it over with, right?</p>

<p>No. Wrong. We&rsquo;re all still <em>people</em>, no matter what our follower-count may be. There are those amongst us who seem to forget that, and thus feel justified in making <em>hideous</em> remarks, that they would never dream of making in person. It&rsquo;s a broken psychology.</p>

<p>One of the worst &ldquo;you&rsquo;re not a person anymore&rdquo; remarks I&rsquo;ve ever had was last month, in the aftermath of the Sandy Hook school shootings in the US. I&rsquo;m not American (I&rsquo;m Scottish), but I&rsquo;m still angry and sad about the tragedy. Who wouldn&rsquo;t be? I&rsquo;m <em>fairly</em> liberal politically, and (particularly since I&rsquo;m from the UK), I&rsquo;m absolutely against gun ownership. You can think whatever you like about that, but I&rsquo;d been tweeting about it and retweeting other people&rsquo;s remarks on the topic. As you do.</p>

<p>I then got an email from a guy who began by informing me that he was unfollowing me; so far, so good &ndash; I actually appreciated that he put The Sentence first, rather than making me read through The Judgement to figure out the gist of his argument. Anyway, at one point he said that the reason I was tweeting about the Sandy Hook shooting was:</p>

<blockquote><p>for the sake of nothing but viral self-marketing.</p></blockquote>


<p>Let&rsquo;s recap: the guy said that I was talking about the latest batch of shot-to-death American kids <em>for self-marketing</em>. I&rsquo;m not even sure what <em>capacity</em> I&rsquo;d be marketing myself in, on that topic. I provide neither kid-shooting nor kid-protection services. I can&rsquo;t even vote in the US, and in the UK where I <em>can</em> vote, guns are already illegal.</p>

<p>I can only assume he meant that I was talking about the topic for cynical reasons; to get my tweets favourited or retweeted, in order to expand my vast online empire and readership <em>using the currency of murdered kids</em>. If he reads this article, he&rsquo;ll no doubt think I&rsquo;m doing it again. What a horrible person he thinks I am.</p>

<p>Because <em>I</em> don&rsquo;t get to just <em>talk</em> about the stuff that you&rsquo;re talking about. I don&rsquo;t get to do that because, after my follower-count reached a certain number, I became Matt Gemmell <em>Incorporated</em>, and my tweets are now written by my marketing department. Which, of course, is nonsense (if I had a marketing department, they&rsquo;d probably censor about half my tweets anyway).</p>

<p>Sometimes, people are successful at something, even if it&rsquo;s something as silly as writing short messages on the internet. In some of <em>those</em> cases, the people even <em>wanted</em> to be successful at that thing. The rest of the time, it was a side-effect rather than a goal. I didn&rsquo;t put myself up in front of anyone, like a D-list celebrity going on Survivor, or someone auditioning for The X-Factor. I didn&rsquo;t &ldquo;ask for it&rdquo;. I just started a blog, and opened a Twitter account. I don&rsquo;t even <em>advertise</em> this blog anywhere. I have no Google Adwords account, or anything else like that. Oh, and I was <em>invited</em> to every conference I&rsquo;ve ever spoken at.</p>

<p>To the Dehumanisers, I&rsquo;d say this: you&rsquo;re the one who put me in this position. Sure, it was me who wrote the thing you initially liked &ndash; whether it was that article on such-and-such, or that chunk of source code called MGWhatever that you used in your app &ndash; but it was <em>you</em> who decided to follow me. Or to subscribe to this blog. Or even just to click the link on Twitter that some of your friends shared. That part was <em>you</em>.</p>

<p>I didn&rsquo;t bring you here; I just looked out the window and there you were, peering in. I didn&rsquo;t click the Block button, which is Twitter&rsquo;s version of getting a restraining order. I was fine with it.</p>

<h2>People, please</h2>

<p>Every person on Twitter <em>is a person</em>, no matter what their follower count is. If it&rsquo;s a company account, maybe you&rsquo;re bound &lsquo;only&rsquo; by the rules of politeness, sanity and the law &ndash; otherwise, go for it and ask them where the hell your software serial number is, or why your cellphone service is down (that&rsquo;s one of the best bits about social media these days &ndash; rapid, personal customer support from companies clever enough to capitalise on it).</p>

<p>If, however, it&rsquo;s a <em>personal</em> account, you have no rights at all. Well, maybe two: you can follow, and you can unfollow. That&rsquo;s it. You don&rsquo;t get editorial input, and you sure as hell don&rsquo;t get to make objectively ludicrous and dehumanising accusations like the aforementioned guy did.</p>

<p>On social media, I am not a business. I&rsquo;m just me, just like <em>you</em> are just you. I&rsquo;m a guy in his 30s with some grey hairs, a wife, and some thoughts I&rsquo;d like to share periodically. You can read them if you want, but you need to remember the basic context of our shared humanity. I get nervous before I talk at conferences. I miss my wife when we&rsquo;re apart. At about 9:30 in the morning, after my first coffee, don&rsquo;t knock on my door because I&rsquo;ll be in the bathroom. With my iPhone, of course. <em>Human</em>.</p>

<p>Yes, I do <em>have</em> a business, and it&rsquo;s your choice if you don&rsquo;t want to do business with me on account of something I wrote (or because I&rsquo;m an atheist, or pro-choice, or a feminist, or anti-gun, or because I swear quite a lot). That&rsquo;s your right, and I wouldn&rsquo;t take it from you. I&rsquo;d perhaps advise you to reflect on the fact that you made a decision on that basis, but I can&rsquo;t force you to do that.</p>

<p>In a personal capacity, though, let&rsquo;s have a bit of humanity. Tone down the entitlement, and the editing, and the hurt-you-back &ldquo;I&rsquo;m unfollowing&rdquo;. It&rsquo;s unnecessary, and it only reflects poorly on <em>you</em>.</p>

<p>I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a>. If you&rsquo;re already following me, that&rsquo;s where you&rsquo;ll find the unfollow button, too.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Staying Afraid]]></title>
    <link href="http://mattgemmell.com/2013/01/22/staying-afraid/"/>
    <updated>2013-01-22T16:00:00+00:00</updated>
    <id>http://mattgemmell.com/2013/01/22/staying-afraid</id>
    <content type="html"><![CDATA[<p>It was still half an hour before midnight, but the road was already deserted &ndash; which was perfectly normal for a Sunday night on the outskirts of a small, coastal fishing town in the north east of Scotland. The year was probably 1989, but I can no longer be entirely sure. I had more pressing concerns than the date. I was ten years old, I was alone, I was on a BMX bike, and I was cycling for my life.</p>

<!--more-->


<p>I could hear the few loose coins in my jeans jingling madly as I pumped the pedals, but the sound was distant and unimportant. I vaguely hoped that I wouldn&rsquo;t lose the other contents of my pockets &ndash; a small paper notepad, a cheap blue half-length biro, and an asthma inhaler &ndash; but I could live with it if I did.</p>

<p>I could see a pool of light a few hundred yards away, at the junction where this road met two others; one led to another equally-small coastal town across the river, less than ten minutes away, and the other stretched south, eventually reaching the city of Aberdeen some forty-five miles distant. It was this latter road that I was heading for.</p>

<p>The thing chasing me felt closer now. It had hit the road only seconds after I&rsquo;d clambered back over the iron railings of the graveyard (I still had scraps of peeling green paint, and some blood, on my palms), then dropped the seven feet or so to the ground, pulled my bike up so quickly that one tyre became momentarily airborne, and began pedalling. The gates had been locked, but that didn&rsquo;t seem to have been a problem for whatever-it-was, and even without looking back, I knew that it was coming after me. I knew it with the same simple clarity that I knew this bike ride was the rest of my life.</p>

<p>I shouldn&rsquo;t have gone to the graveyard, of course. I most certainly shouldn&rsquo;t have climbed over the railings when I&rsquo;d seen that it was sensibly locked up for the night. At the very least, I shouldn&rsquo;t have gone alone. But I was a boy, and so I did all of those things. I found myself standing, pen and paper in hand, at the grave of a man I had never known, scribbling down his name. I was going to be a writer of horror stories, and there was surely no better place to obtain character-names than in a graveyard by night. A week or so later, it would occur to me &ndash; with sudden, blinding insight &ndash; that I could simply have used the phone book in a call box. I laughed until I had tears in my eyes, and if anyone had heard me, they would have thought that the laughter sounded strange.</p>

<p>I can still remember the name I had just copied down when I saw the thing out of the corner of my eye. I still remember, even though it&rsquo;s been more than twenty years since that night, because I still have the pad of paper. I&rsquo;d tell you what the name was, but I think it&rsquo;s best not to. There&rsquo;s no such thing as bad luck, of course, but then there&rsquo;s <em>also</em> no such thing as a creature that&rsquo;s as big as a panther, that moves almost silently through the night, and that can slip right through an iron gate whose railings are only a couple of inches apart. Nor is there anything that can move like a ten-year-old kid on a bike with a monster chasing him, and that&rsquo;s like the <em>wind</em>.</p>

<p>Your senses are very sharp indeed when you&rsquo;re standing alone in a graveyard at night, and so I easily saw the thing flit between two gravestones even though I was four rows away, and not looking in that direction. I spun around, instinctively cramming the paper and pen into my pockets to free my hands, and searched for movement. I could taste the bitter metal of panic in my throat. Several seconds passed, then I saw it again, whipping between another two headstones, impossibly fast. Huge. So black it was like a hole in the night. Circling around, to cut me off from the gate. It was trying to be stealthy, but it had been spotted now. I was running before I had time for another thought &ndash; and it followed.</p>

<p>With the graveyard now far behind me, the road began to slope slightly upwards towards the junction as I urged the bike onward. I barely noticed. The bike had no adjustable gears, and already I felt like I was pedalling faster than the tyres could turn. In the beat between two breaths, I heard the rapid, scuttling click of claws on tarmac not far behind me.</p>

<p>I blew through the junction without slowing, hauling the handlebars left into the turn. The rear tyre skidded outwards but held its grip, and I shot up the wrong side of the road. There were no traffic signals, and no vehicles; only a solitary lamp-post to light the intersection. I left it behind immediately.</p>

<p>I knew that if I turned my head at that moment, I&rsquo;d be able to see the thing as it came around the corner. I knew it would be sleek, and terrible, and black as oil despite the light. I also knew that seeing it properly would <em>change</em> me, almost certainly forever. I didn&rsquo;t look around.</p>

<p>Half a mile further down, I wrenched the handlebars again and barrelled into the campsite where our family&rsquo;s residential caravan was berthed. I was going far too fast for the deep gravel, but once again the bike somehow stayed upright, as if it knew what would happen if it fell. I could see the lights of our caravan up ahead, and the indistinct shape of my mother&rsquo;s car parked up beside it. Inside, she and my grandmother would be chatting, and probably sending my younger brother off to bed.</p>

<p>I became aware that I&rsquo;d have to slow down rapidly in order to get off the bike, up the two stone steps, and into the caravan, but I was loath to squeeze the brakes. The thing was even closer now, and its sound had changed. The wind had picked up, but I swore I could both hear and faintly feel a buffeting coming from only metres behind, and slightly above. It had taken flight. This was no time for brakes.</p>

<p>I stepped over the bike frame, putting all my weight on a single pedal, and as I came level with the edge of the caravan, I stepped off. I stumbled forward, half-fell, but kept going. The bike rolled away into a row of trees, and I was up the steps and inside the door in less than a second. I slammed it shut behind me, and I felt a blast of air shake the whole structure.</p>

<p>&ldquo;Don&rsquo;t slam the door!&rdquo; my mother admonished from the living-room area at the other end of the caravan, and I only nodded automatically, not trusting my voice. I took out my inhaler, put the nozzle in my mouth, and pressed the actuator. My mother looked at me for a long moment, then told me (in a quieter voice) that I shouldn&rsquo;t ride my bike so fast.</p>

<p>I was still awake in my top bunk when my grandmother came into the room about an hour later. The big caravan had a double bedroom for my mother, and two other bedrooms each with a pair of bunk-beds. My 7-year-old brother commandeered one room for himself and his assorted toys, and I had the other &ndash; the lower bunk of which was used by my grandmother when she accompanied us on holiday.</p>

<p>She got into her bunk quietly, and turned out the light with the pull-cord. I was considering saying goodnight when a scratching noise came from the roof, only a couple of feet above my head. I let out a cry.</p>

<p>&ldquo;It&rsquo;s just a seagull, lad,&rdquo; came the comforting voice of my grandmother beneath me, and I wanted to tell her that no it wasn&rsquo;t, no it most certainly <em>wasn&rsquo;t</em> a seagull, but of course I didn&rsquo;t. I was indoors, I was exhausted, and I wanted nothing more than to believe her. I&rsquo;d never seen or heard a seagull on the roof before, and I never did again after that night, but I chose to believe it nonetheless.</p>

<p>As if startled by her voice, the scratching sound abruptly stopped. I thought I would lie awake for hours, but I was asleep before ten minutes had passed. That&rsquo;s another peculiar thing about the young (and the old). Sleep comes when you&rsquo;d think it would be impossible.</p>

<p>I stayed away from the road to that graveyard for the rest of the holiday, and I didn&rsquo;t linger outside for long after dark. We returned to the same campsite for a few years afterwards, but eventually the place lost its appeal for now-teenaged boys, and we headed for warmer climes instead during our Summer holidays. In the blink of an eye, I was thirty years old, and I hadn&rsquo;t seen that little out-of-the-way town in more than fifteen years.</p>

<hr />

<p>As an adult, I know that the thing in the graveyard was a trick of light and shadow; perhaps foliage in the wind. I know that I was pursued only by my own imagination, and that I was damned lucky not to fall off the bike and break my leg, or worse.</p>

<p>I know that the scratching on the roof, directly above my head, was surely a seagull &ndash; the one and only seagull ever to do that whilst I was there. I know those things. <em>Of course</em> I do. There aren&rsquo;t any <em>things</em> in graveyards, or anywhere else.</p>

<p>But our lives aren&rsquo;t free of terrors; not at all. We&rsquo;re actually surrounded by them. Almost <em>everything</em> is scary, and we&rsquo;re all bravely and blindly struggling on, whistling nervously and hoping it&rsquo;ll be morning soon. We have no other choice.</p>

<p>The terrors of real life usually don&rsquo;t have claws; we don&rsquo;t tend to see any tigers in the underbrush anymore. Our terrors have a far more mundane appearance. Sometimes they look like doctors, saying &ldquo;I&rsquo;m afraid it&rsquo;s bad news&rdquo;. Sometimes they&rsquo;re a letter from the bank, or a sudden, crushing pain across the chest. Sometimes they&rsquo;re a sympathetic-looking police officer at your door, or a screech of brakes followed by a sickening thud, or maybe the most terrifying thing of all: a telephone ringing in the middle of the night.</p>

<p>Those things are lurking out there for some people. The biggest, nastiest one (with fangs and claws and those insane but horribly <em>intelligent</em> eyes) is waiting for each and every one of us: it&rsquo;s called mortality. Some part of me knew, even on that same night, that it was death I was <em>really</em> afraid of. I barely had time to realise it before I dropped off to sleep, lulled by the comforting sound of my grandmother&rsquo;s breathing (she, of course, now rests in another graveyard, and I miss her often &ndash; if she could read this, she would no doubt remark that she&rsquo;s now in the bottom bunk <em>permanently</em>, and then she&rsquo;d laugh her ever-mischievous laugh).</p>

<p>So, no, we have no choice but to be scared. The thing is, terrors like cancer or bankruptcy or loneliness can&rsquo;t be outrun. You can&rsquo;t get on your bike and fly down a dark road, adrenalin spiking, desperately hoping to leave them behind. They&rsquo;re on the bike <em>with</em> you, riding on the saddle while you stand on the pedals, with their claws holding firmly to your jacket, and their smile is more like a silent scream. Fear is our co-pilot, and always will be.</p>

<p>That&rsquo;s why we need a substitute; a surrogate thing-from-the-graveyard. Something we can deal with directly, and that we can <em>escape</em>. Maybe something with claws, and wings, that can move impossibly fast. For me, that&rsquo;s what spooky stories are about &ndash; what&rsquo;s dismissively called &ldquo;horror fiction&rdquo;, and more properly (in my opinion) called supernatural literature. Ghosts and werewolves and that old house on the hill where bad things happened. The dreams of Cthulhu as he waits beneath the waves. That beautiful old red and white &lsquo;58 Plymouth Fury that you seem so <em>drawn</em> to. Even Freddy and Jason, if you like.</p>

<p>Those terrors are easier to bear, because we can do something about them. We can <em>see the story through</em>, and even if there&rsquo;s no happy ending, there at least <em>is</em> an ending. We manage to scramble up the steps and slam the caravan door behind us, just in the nick of time, cringing at a shriek of inhuman frustration that only we can hear. Anything that can run can be <em>outrun</em>, and anything that can fly can be outflown.</p>

<p>It&rsquo;s practice, really. We&rsquo;re practising for when the other horrors show up; the ones that respond to neither garlic nor gunshot. Maybe it&rsquo;ll help, when the time comes. Or maybe we&rsquo;re just staving off thinking about it.</p>

<p>That&rsquo;s why I don&rsquo;t really understand people who say they read horror because they like to be scared (or say they <em>don&rsquo;t</em> read horror because they <em>don&rsquo;t</em> like to be scared). We&rsquo;re already scared. All of us. And we&rsquo;re always going to be. Horror lets you choose what to be scared <em>of</em>.</p>

<hr />

<p>I <em>did</em> go back to the little town; only once. It wasn&rsquo;t too long ago, and this time I took my wife. I rediscovered a bit of my childhood, through the eyes of an adult. We even stayed in the same campsite, though it had recently been completely renovated and bore no resemblance to the place I&rsquo;d known all through my youth. Even the old buildings were gone, and the swings I&rsquo;d spent hundreds of lazy Summer days on.</p>

<p>One afternoon, I was standing outside the caravan we were staying in, leaning against my car, looking out across the fields. I took out my iPhone and on a whim, pulled up the satellite view in the Maps app. The overhead imagery obviously hadn&rsquo;t been updated in a few years, and showed me standing in the long-gone campsite that no longer existed, complete with the ghosts of caravans and the people who used to own them. I could easily see the big, light-green residential van I had scrambled into that night twenty years before, slamming the door hard enough to startle my mother. The pulsing blue GPS location dot had no idea that it was a bridge from the present to the past, and I couldn&rsquo;t decide whether I was feeling wistful or uneasy.</p>

<p>The following day we went for a walk, my wife and I, and before long I found myself turning down that old road. The graveyard is still there, naturally. It was broad daylight, the gates were unlocked and open, and the grass on the verge was freshly cut. There was no-one there, but the sun was shining and the sky was clear. It looked almost inviting, as much as a graveyard ever can be.</p>

<p><em>Welcome back</em>, it said. <em>Seems like I saw you just yesterday.</em></p>

<p>We didn&rsquo;t go in. We walked past &ndash; on the same side of the road, even &ndash; and continued into town. As we drew away from the iron gates, I remarked to my wife what a beautiful day it was, and said that I thought we could expect good weather for the rest of our stay. She agreed.</p>

<p>And did my voice sound perhaps a little too loud for the sleepy country road? Were my comments about the weather a trifle inane, and delivered with too much enthusiasm? Did my pace increase &ndash; ever so slightly &ndash; until we had turned the next corner, and the town came into view?</p>

<p>Oh yes. <em>Of course</em>. Because I&rsquo;m not crazy, and only a crazy person <em>wouldn&rsquo;t</em> be at least a little bit afraid. It&rsquo;s not fun, exactly, but it <em>is</em> healthy. Fear &ndash; the proper kind, that you know so well as a child, then somehow forget &ndash; is pretty much the healthiest thing there is. People should make an effort to reacquaint themselves with it.</p>

<p>The thing from the graveyard is always coming, you see. It&rsquo;s always just behind you, and gaining. The precise form it takes differs from person to person, and from one situation to another (that&rsquo;s a big part of what makes it so terrifying) &ndash; but you&rsquo;ll know it when you see it, even if it&rsquo;s only out of the corner of your eye.</p>

<p>It catches all of us eventually. We know that, but we spend our lives pretending it&rsquo;s not true. The thing doesn&rsquo;t care. It can wait, for as long as you like. Then one night, when everything is going just fine, you&rsquo;re wakened by a sound. It&rsquo;s a lot like a telephone ringing, but we know what it really is. A <em>scratch-scratch-scratch</em> on the roof, and a shadow in the dark.</p>

<p>When that day comes, I like to think that I&rsquo;ll know what to do &ndash; because I&rsquo;ve practised how it&rsquo;ll feel. I&rsquo;ve practised being scared, and even scaring <em>myself</em>. When you&rsquo;ve practised something enough, it becomes instinct, and then you know what to do automatically.</p>

<p>As a matter of fact, I <em>already</em> know what I&rsquo;ll do, and here&rsquo;s some friendly advice: you might want to think about doing the same. It&rsquo;s so simple that even a child can do it: I&rsquo;ll get on my BMX.</p>

<p>And I&rsquo;ll pedal like hell.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Writing Tools]]></title>
    <link href="http://mattgemmell.com/2013/01/15/writing-tools/"/>
    <updated>2013-01-15T15:00:00+00:00</updated>
    <id>http://mattgemmell.com/2013/01/15/writing-tools</id>
    <content type="html"><![CDATA[<p>I spend quite a bit of time writing, and I&rsquo;d like to briefly share a list of the main tools I use &ndash; not just for the writing itself, but to help myself focus, resolve issues, and overcome the occasional bout of block.</p>

<!--more-->


<h2>Everything but novels</h2>

<p>For most of my writing, I use <a href="http://www.barebones.com/products/bbedit/">BBEdit</a>, by Bare Bones Software.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8382859657/" title="BBEdit, by Bare Bones Software by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8071/8382859657_99ee535cd0_c.jpg" width="800" height="731" alt="BBEdit, by Bare Bones Software"></a>
<p class="caption">BBEdit, by Bare Bones Software</p>
</div>


<p>It does <a href="http://www.barebones.com/products/bbedit/features.html">about seventeen million things</a>, it&rsquo;s been around for more than twenty years, and it&rsquo;s clearly a labour of love. I use it for:</p>

<ul>
<li>All my writing for this blog.</li>
<li>Articles for magazines etc.</li>
<li>Drafting <em>really</em> important emails.</li>
<li>All of my web/scripting work.</li>
<li>Massaging text with regular expressions.</li>
<li>All those little text-related needs, like to-do lists, Christmas shopping ideas, and a hundred other things.</li>
</ul>


<p>It&rsquo;s $50, and would be cheap at twice the price (which it used to be, as I recall). I don&rsquo;t tend to use it for iOS/Mac coding because Xcode&rsquo;s editor is serviceable and convenient, nor for very long-form, heavily structured/planned writing (see below), but for <em>everything</em> else, BBEdit is where I&rsquo;ll be. Its philosophy is essentially &ldquo;life&rsquo;s too fucking short for this&rdquo;. Almost anything you want it to do, it&rsquo;ll do quickly, in an unsurprising and sufficiently-configurable manner, then it&rsquo;ll get the hell out of your way. It would nice if I could say the same for everything else in life.</p>

<p>Don&rsquo;t ask me how it compares to another editor, because I probably don&rsquo;t know &ndash; and to be honest, I&rsquo;m not very interested in finding out. I&rsquo;ll say this: I don&rsquo;t use a text editor just as a <em>code</em> (or markup) editor, and BBEdit is well-rounded, unobtrusive, lightning-fast, and has been continuously updated since I was twelve years old. I&rsquo;ll be thirty-four this year.</p>

<p>When I talk about BBEdit, people tend to ask me things about it on Twitter, like I&rsquo;m actually selling the app myself, or have complete knowledge of its feature-set. They ask things like &ldquo;Can BBEdit [do something trendy], just like [some new editor that&rsquo;s at version 0.0.epsilon, and is written in a language invented by someone who never owned a cassette player]?&rdquo;</p>

<p>Invariably, those people are <em>younger than BBEdit</em>. If that&rsquo;s not a good enough reason for you to download the trial version, then we probably don&rsquo;t have very much in common.</p>

<h2>Long-form writing</h2>

<p>If I&rsquo;m not in BBEdit, and I&rsquo;m still writing, then I&rsquo;m working on something long and complicated &ndash; the kind of project with research and character sheets, scene notes and story arcs, and an optimistically pre-written dedication page. I&rsquo;ll be using <a href="http://www.literatureandlatte.com/scrivener.php">Scrivener</a>.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8382859369/" title="Scrivener, by Literature &amp; Latte by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8323/8382859369_6e4cd4086a_o.jpg" width="470" height="409" alt="Scrivener, by Literature &amp; Latte"></a>
<p class="caption">Scrivener, by Literature &amp; Latte</p>
</div>


<p>Scrivener is used by <em>proper writers</em>, who write <em>actual things</em> like novels and screenplays. Things <a href="http://www.literatureandlatte.com/testimonials.php">you&rsquo;ve heard of</a>, in real life. It has as many features for organisation and planning as it does for writing and exporting, and that&rsquo;s a huge benefit. You can write your book in this, whether it&rsquo;s fact or fiction. There&rsquo;s even a Windows version, so you can also use it before you&rsquo;ve had sufficient success to afford a decent computer.</p>

<p>It costs $45. Grab the demo, and take the time to read through the tutorial book; it&rsquo;s a Scrivener project in its own right, of course, and it gives an excellent overview of what the app can do. Be sure to pay particular attention to the corkboard view, which is something you can use to manage the flow and structure of your piece, or at least put up on your screen whenever others are walking by, to look all writer-y.</p>

<h2>Something to throw</h2>

<p>If you&rsquo;re writing, or indeed doing anything creative at all, you&rsquo;re going to need something to throw. Do everyone a favour and don&rsquo;t be one of those arseholes who throws something that could actually hurt somebody, or break a decent computer (like a Mac).</p>

<p>So, no footballs or basketballs or whatever other insanity you have in mind. Similarly, don&rsquo;t cheat and get a remote-controlled helicopter. You need something that&rsquo;s safe enough to chuck around, to get you out of your chair, get the blood flowing, and let you fight writer&rsquo;s block.</p>

<p>The perfect object is a beanbag.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8383749258/" title="Beanbag by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8507/8383749258_9990b80e81_c.jpg" width="800" height="534" alt="Beanbag"></a>
<p class="caption">Beanbag</p>
</div>


<p>This is mine; it&rsquo;s purple. A little bag of beads, about the size of your hand. I repeatedly throw it up at the ceiling and catch it, and it&rsquo;s strangely therapeutic. I can often resolve a narrative, structural or inspiration issue within a few minutes, using this. It&rsquo;s my first port of call when I freeze up during writing, and I use it to recharge my brain during an editing session.</p>

<p>It doesn&rsquo;t hurt your arm or shoulder even if you throw it for half an hour, and it also doesn&rsquo;t cause much pain if it smacks you on the way down. It won&rsquo;t knock over your coffee, or break the spacebar on your keyboard either &ndash; I speak from direct experience. You can also hurl it with rage against a door, and neither door nor beanbag will be much the worse for wear.</p>

<p>Find some kind of cheap toy that you can indulge in light, repetitive exercise with, in the same place that you write, and keep it handy.</p>

<h2>The old-fashioned way</h2>

<p>If you&rsquo;re a writer, you need a pen. Everyone should have some nice pens and pencils; ideally many. I have pots of them. Here&rsquo;s my daily-use one at the moment.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8383751808/" title="Fountain pen by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8506/8383751808_1edce58655_c.jpg" width="800" height="534" alt="Fountain pen"></a>
<p class="caption">Fountain pen</p>
</div>


<p>This is a Parker fountain pen that was a gift from <a href="https://twitter.com/chrisphin">Chris Phin</a>, in his (ex-)capacity as editor of Tap! magazine, for my work on the Dev Zone section of the magazine since the very first issue.</p>

<p>I like to physically scribble temporary notes on post-its, or even just doodle. Something useful always comes out of it, and I transcribe <em>those</em> things into electronic notes for the piece I&rsquo;m working on. There&rsquo;s something about the physicality; the hand-eye coordination and the artfulness of it.</p>

<p>My handwriting is appalling, but a fountain pen has a way of creating just a hint of <em>the frazzled elegance of a tormented scholar</em>, rather than the more usual <em>person who recently suffered a serious stroke</em>.</p>

<h2>Captain&rsquo;s Log</h2>

<p>I have a wonderful voice. I&rsquo;m Scottish, and (yet?) I can enunciate exquisitely. Even if you&rsquo;re not similarly blessed, you might want to consider a somewhat quaint tool of the journalistic trade: a dictaphone.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8383750398/" title="Digital voice recorder by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8220/8383750398_69ef4aa3a3_c.jpg" width="800" height="534" alt="Digital voice recorder"></a>
<p class="caption">Digital voice recorder</p>
</div>


<p>This is my digital voice recorder, or dictaphone. It&rsquo;s a <a href="http://www.amazon.co.uk/gp/product/B004SO9604/ref=as_li_ss_tl?ie=UTF8&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B004SO9604&amp;linkCode=as2&amp;tag=matleggem-21">Sony ICD-PX312</a>, and it&rsquo;s a damned handy thing. If you want one at all, this is probably the one you want. It has an unusual combination of features for the price.</p>

<p>It has 2 GB of internal memory (that&rsquo;s over 20 hours of audio at the default highest quality), but also takes microSD cards or Sony&rsquo;s own M2 sticks. It takes ordinary 2xAAA batteries (included), or can be powered via USB. You can connect it to your computer via USB too, and it&rsquo;s just regular USB Mass Storage, with no software required. The recordings are MP3s, with a bit-rate you choose. It has a headphone port, and another port for an external microphone. Sound quality is good, and the microphone can comfortably deal with anything from you holding it in front of your face, to a whole meeting-room of people (it has different modes for those situations).</p>

<p>It&rsquo;s about the same length as an iPhone 4/4S, and 60% of the width, twice as thick, and a similar weight. It&rsquo;s also cheap, and pretty solid. Can&rsquo;t go wrong, really.</p>

<p>I use this to note down ideas for settings, scenes, and even entire articles or stories. I pause and resume recording frequently, to avoid feeling pressured by knowing that the &lsquo;tape&rsquo; is rolling. Often, I explore alternate possibilities for a scene (or for the focus of a piece). Most usefully of all, I ask myself <em>questions</em> about a writing problem I&rsquo;m having, then attempt to answer them. I&rsquo;ll say that again, because it&rsquo;s so strangely useful and effective: ask yourself <em>actual questions</em>, aloud, and then answer them. I have no idea why it works, but I think you&rsquo;ll be pleased with the results.</p>

<p>You could even use it for memos, I suppose, but if you&rsquo;re like me, the act of just saying the thing aloud tends to cement it in your memory anyway. A dictaphone is also <em>excellent</em> for pricking around with when you&rsquo;re wasting time, which I&rsquo;m sure you&rsquo;ll agree is an enormous bonus.</p>

<p>(Note: the dictaphone link above is an Amazon UK affiliate link, so I&rsquo;ll get some pittance if you use it to buy something. Maybe you should buy two of the things, you ungrateful wretch.)</p>

<h2>Get the hell outside</h2>

<p>Unless you&rsquo;re in a <em>terrible</em> job and/or are Harry Potter, your room presumably has a window. Here&rsquo;s what the view from mine looks like:</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6288591188/" title="View from my office by Matt Gemmell, on Flickr"><img src="http://farm7.staticflickr.com/6059/6288591188_af361b54f3_z.jpg" width="640" height="480" alt="View from my office"></a>
<p class="caption">View from my office</p>
</div>


<p>What you&rsquo;re seeing through the window is Outside. Now, I&rsquo;m not a massive fan of Outside, generally speaking &ndash; I&rsquo;m of the belief that we coped with Outside for a long time, until we finally invented Inside, and then breathed a huge sigh of relief &ndash; but it <em>can</em> really clear your head and restore some perspective. And sanity. And apparently vitamin D, or something, but health is a worry for tomorrow.</p>

<p>Get outside. Away from the desk, out of the room, and out of the building. Take a walk, and don&rsquo;t feel pressured to think about whatever issue you&rsquo;re having with your current piece. Give it at least fifteen minutes. It&rsquo;s not a lot to ask.</p>

<p>Go back and try again. If it&rsquo;s still not coming, have the good sense to quit for the day &ndash; and if you can&rsquo;t reasonably leave your office just yet, you should of course still <em>mentally</em> quit, and just slack off for a while.</p>

<p>And that&rsquo;s about it. Those are the tools I use to help me write. I&rsquo;m <a href="http://twitter.com/mattgemmell">@mattgemmell on Twitter</a> and <a href="https://alpha.app.net/mattgemmell">also on app.net</a> if you feel like talking about it.</p>

<p>Oh, and don&rsquo;t forget the most important rule of all: try to only write about things you <em>genuinely care about</em>. Truly. Otherwise, shut the hell up.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Stories]]></title>
    <link href="http://mattgemmell.com/2012/12/31/stories/"/>
    <updated>2012-12-31T17:00:00+00:00</updated>
    <id>http://mattgemmell.com/2012/12/31/stories</id>
    <content type="html"><![CDATA[<p>In my mother&rsquo;s home, the house I grew up in, there&rsquo;s a cupboard. It&rsquo;s the same cupboard you have in your own family home, even though it&rsquo;s a different shape and size. Perhaps yours is even an attic or basement, but fundamentally it&rsquo;s still the same place.</p>

<p>The cupboard is surprisingly deep, and the small, bare bulb works only intermittently. I have a theory that when you flip the switch (just inside the door), the bulb stays off only if you&rsquo;ve forgotten that deep cupboards are places to quite rightly be just a little bit afraid of. If you&rsquo;ve forgotten that fact, perhaps because you&rsquo;ve grown up and society has long since shamed you into dismissing your irrational childhood fears, then the cupboard reminds you.</p>

<p><em>I&rsquo;m oh so dark without that little light on</em>, it says; <em>don&rsquo;t you remember?</em></p>

<!--more-->


<p>The cupboard has the smell of all such cupboards: dryness and age. The dusty, papery aroma of <em>old stuff</em>, and of a space that exists physically within a home, but not quite in the same <em>time</em>. You know, logically, that once upon a time it was bare, and that at some point it smelled new. Safe smells, like paint, or wood, or freshly-laid carpet. The cupboard was like that once; of <em>course</em> it was. Probably even several times, after each new owner moved into the house. But your intuition says something different, particularly when the bulb decides to remain dark.</p>

<p>Your intuition says that the cupboard has always smelled this way, always smelled the way that hidden places do, and that it was old on the day the house was completed. Perhaps even before. You realise this, and then maybe you go and get a flashlight before continuing to explore. Perhaps you walk away just a little too quickly, and return only reluctantly.</p>

<p>In my cupboard, the first thing you push past is the long-serving artificial Christmas tree, stacked near the door for easy access, and you think of Narnia every time. Pine needles (plastic though they may be) and the low, metallic smell of discarded tinsel that, in here at least, could double for the scent of winter. Peter and Susan and Edmund and Lucy.</p>

<p>The next thing you find is the suitcases, some of them almost museum pieces. Never used anymore (the actual travelling luggage sits atop assorted wardrobes in bedrooms, or pushed far under beds and surrounded by shoes), but for some reason still kept. It helps to lift some of the suitcases out of the way, to make room. They all have something inside them; something small and light, that moves when you tilt the case to lift it out past you. I&rsquo;ve never opened any of them, so I&rsquo;m not sure what those things are. I&rsquo;d probably be disappointed if I ever did look, but perhaps I&rsquo;d be amazed. I can live with the mystery. In fact, I prefer to. Answering those questions involves risk, and not always just of disappointment.</p>

<p>As you continue, your foot fetches up against a step. Ridiculously, there are steps in the cupboard, at the back. They continue up almost above the height of the door behind you, making the cupboard climb even as it worms its way into the core of the house. You try to imagine the topography of this space, within the context of the inhabited rooms you know. Perhaps it doesn&rsquo;t quite fit, no matter how you twist the mental model. You glance back over your shoulder, and the doorway is still there. That&rsquo;s the important thing. Right now, that seems like just about the most important thing in the world.</p>

<p>At last, up the stairs at the back of the cupboard, right about where Narnia should be, there are the boxes. Big old cardboard boxes emblazoned with brands that no longer exist, that once contained products which have long since been thrown away. The boxes contain those few artefacts of childhood that were deemed fit for preservation in this cryogenic facility (it <em>is</em> a bit chilly in here, you notice, but you&rsquo;re sweating nonetheless). Most of the toys are gone, of course &ndash; given away to siblings, cousins, neighbours or charity. Some just thrown away; current whereabouts unknown.</p>

<p>In the boxes marked &ldquo;Matthew&rdquo;, there&rsquo;s some of the same stuff that&rsquo;s in your own cupboard. Some comicbooks, some cherished action figures, even a beloved collection of computer games (on cassettes, which are larger than you remember them being). At the back, underneath more comicbooks and even &ndash; what an amusing coincidence &ndash; a battered copy of The Lion, The Witch and the Wardrobe, there&rsquo;s another box. Almost unnoticeable, because it&rsquo;s a mottled dark grey. The small bulb is back near the door, and its light doesn&rsquo;t carry far, even when it decides to work.</p>

<p>Technically, it&rsquo;s a box <em>file</em>, of the sort you&rsquo;d perhaps see in an office. It looks almost new, which is incongruous given that the brand probably hasn&rsquo;t existed for the last 20 years. I don&rsquo;t remember where I got it; I just remember having it. Perhaps it even came from this very cupboard. Maybe it was always here.</p>

<p>I knew what was inside, because the box was the reason I went into the cupboard in the first place. I had a small flashlight with me, in case the bulb didn&rsquo;t work, but the bulb answered to the switch just fine. I hadn&rsquo;t forgotten that cupboards are scary places.</p>

<p>I took the box, and I made my way out of the cupboard. It always seems to take longer on the way back. The cupboard seems just a little bit bigger when you&rsquo;re inside it. I didn&rsquo;t hurry; that wouldn&rsquo;t do. If you hurry, there&rsquo;s always the possibility that the light might go out. Maybe plastic pine-needles would rake across your face in the darkness, and you&rsquo;d bump into a stack of suitcases. Perhaps one would fall, and spring open. No, that wouldn&rsquo;t do at <em>all</em>.</p>

<p>The box is now safely (what an odd choice of words) back in Edinburgh, fifty miles away from that cupboard that is once again closed. Maybe I&rsquo;ll never again open its door and hopefully flip the light switch. Or maybe it&rsquo;ll just be another twenty years. It&rsquo;ll smell the same. I wonder if any time at all actually passes in there. When you&rsquo;re in a dark cupboard, some of the normal rules of real life don&rsquo;t seem to entirely apply.</p>

<p>The box is very real, though &ndash; an unremarkable thing, sitting here on my desk beside iPads and iPhones and all these other objects that did not yet exist when it was put into the cupboard. It contains my stories.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8330498350/" title="Stories by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8213/8330498350_1e5c5b293d_z.jpg" width="640" height="480" alt="Stories"></a>
<p class="caption">Stories</p>
</div>


<p>Starting when I was about eleven years old, I wrote stories. Most kids do, don&rsquo;t they? For me, the genre was &lsquo;horror&rsquo; fiction, and I use inverted commas because &ldquo;horror&rdquo; is such a crass word. The real genre, of course, is something like &ldquo;weird, uncanny tales &ndash; sometimes involving the supernatural&rdquo;. You&rsquo;ve probably written a few stories like that yourself.</p>

<p>I wrote on an <a href="http://pc-museum.com/gallery/rcm-057-big-Amstrad-NC100.jpg">Amstrad Notepad NC100</a>, and printed my stuff out on some hideous old grey-beige monstrosity of an inkjet. The cheap paper smelled vaguely of wallpaper paste, and the printer sometimes smelled like it was burning. That seemed entirely appropriate. It lasted about five years before it decided to spectacularly end its own life one day, complete with banded bloodstains in blue-green, yellow, pink and faded black. It was a gruesome scene, and I adored it.</p>

<p>As the nights draw in toward the end of the year, I feel like writing again. Not the sort of writing I usually do here on the blog, or in tech magazines and such. Stories, just like these old ones in the box from the back of the cupboard.</p>

<p>I have to go soon; it&rsquo;s after 5 PM on the last day of the year, and we have plans for tonight. But I can spare a few more minutes, I suppose. I think I want to write more stories in the new year that&rsquo;s now only hours away. Some longer, and some shorter. And I think I&rsquo;d like to share them with you. Maybe I&rsquo;ll even see if I can scan these old ones in, and tidy them up. Resurrect them, you might say. That would <em>really</em> be reopening the box.</p>

<p>I had a quick read of one, and it seemed to hold up. A couple of parts made me cringe, but cringing can be a good thing. It&rsquo;s not pleasant, but it&rsquo;s <em>instructive</em>. Cringing, and other unpleasant feelings, can be a survival mechanism.</p>

<p>I have to go and get ready. Tidy myself up, maybe put on a suit, and see the new year in with style. My stories waited in the box for twenty years, so I think they can probably wait another few days, here in my office.</p>

<p>Stories can wait forever, if they need to. Eventually, the cupboard door always opens. Sometimes, the light even comes on.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Married]]></title>
    <link href="http://mattgemmell.com/2012/11/11/married/"/>
    <updated>2012-11-11T13:00:00+00:00</updated>
    <id>http://mattgemmell.com/2012/11/11/married</id>
    <content type="html"><![CDATA[<p>As of November 5th, I&rsquo;ve been married to <a href="http://coffeemuffins.com/">Lauren</a> (<a href="http://twitter.com/coffeemuffins">@coffeemuffins</a>) for a whole year. Handily, it&rsquo;s easy to remember (remember) the 5th of November, since it&rsquo;s Guy Fawkes Night here in the UK. We get free fireworks every year, and we assume they&rsquo;re primarily for our benefit.</p>

<!--more-->


<p>At temporal milestones such as these, it&rsquo;s common to say that it the time has either flown in, seeming to have passed much more quickly than expected, or that it&rsquo;s difficult to believe so little time has passed. Both feel true to me in this case; it feels like both much longer and far less than a year.</p>

<p>I thought it&rsquo;d be fun to share a mini-gallery of my wife and I throughout our relationship so far. We met whilst we were both on Summer scholarships in the Department of Computing Science at the University of Glasgow. She was in the year below.</p>

<p>We worked in the honours lab most of the time, and I recall that she was there for the first week, then away on holiday for two weeks, then she returned. Someone (maybe even me; I can&rsquo;t remember) had a digital camera, and I decided to take a photo of her whilst she was looking through some actual printed photos from her holiday. I think she noticed me taking the shot.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8174902344/" title="Lauren supergirl tshirt by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8484/8174902344_095f7b8dae_z.jpg" width="640" height="480" alt="Lauren supergirl tshirt"></a>
<p class="caption">Lauren in Supergirl t-shirt.</p>
</div>


<p>We got together not long after the Summer, and the rest is history. Here&rsquo;s a selection of photos from the intervening years, wherein you can watch me get older without Lauren appreciably ageing at all. Such is the way of things.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6779206264/" title="matt_lauren by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7196/6779206264_570d82906e_o.jpg" width="288" height="352" alt="matt_lauren"></a>
<p class="caption">In the Food Factory at the student union.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6779206218/" title="dsc00149 by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7203/6779206218_69e49e3abe_z.jpg" width="640" height="480" alt="dsc00149"></a>
<p class="caption">In the games room of the student union, on one of hundreds of nights.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/35042146/" title="Aguamar couple by Matt Gemmell, on Flickr"><img src="http://farm1.staticflickr.com/23/35042146_3c0a8fe5a4_z.jpg" width="640" height="480" alt="Aguamar couple"></a>
<p class="caption">In Ibiza, I think.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6925322803/" title="dsc00961 by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7190/6925322803_29b3e7d594_z.jpg" width="640" height="480" alt="dsc00961"></a>
<p class="caption">Upstairs in a pub on the Byres Road in Glasgow. Those large glasses of wine lead to much illness later on.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6779206334/" title="matt_lauren_cosy by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7187/6779206334_acc449e4da_o.jpg" width="288" height="352" alt="matt_lauren_cosy"></a>
<p class="caption">No idea where this was taken, but I think that&#8217;s my old blue fleece.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6925322877/" title="matt_and_lauren by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7210/6925322877_bc73f8cd20_o.jpg" width="500" height="500" alt="matt_and_lauren"></a>
<p class="caption">Abroad again, and me with uncharacteristically product-free hair.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/542314710/" title="Before heading out by Matt Gemmell, on Flickr"><img src="http://farm2.staticflickr.com/1097/542314710_9f3fb2a5bc_z.jpg" width="640" height="480" alt="Before heading out"></a>
<p class="caption">In Edinburgh. One of the best shirts I&#8217;ve ever owned.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/4347230068/" title="Where's my beard? by Matt Gemmell, on Flickr"><img src="http://farm5.staticflickr.com/4039/4347230068_c867e2df00_z.jpg" width="480" height="640" alt="Where's my beard?"></a>
<p class="caption">Not too many years ago. I miss the guitar t-shirt.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/2342948924/" title="IMG_1010.JPG by Matt Gemmell, on Flickr"><img src="http://farm3.staticflickr.com/2410/2342948924_a7cf4a0a27_z.jpg" width="640" height="480" alt="IMG_1010.JPG"></a>
<p class="caption">Self-evidently at The Colosseum.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/5801035473/" title="Mirror photo by Matt Gemmell, on Flickr"><img src="http://farm6.staticflickr.com/5270/5801035473_b02b7e9b50_z.jpg" width="640" height="478" alt="Mirror photo"></a>
<p class="caption">A shorter-haired Lauren.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/5801588856/" title="On holiday by Matt Gemmell, on Flickr"><img src="http://farm3.staticflickr.com/2474/5801588856_8e2b4e8a44_z.jpg" width="640" height="478" alt="On holiday"></a>
<p class="caption">Evening abroad.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6404970719/" title="DSC_0156 by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7158/6404970719_11687dd4c6_z.jpg" width="640" height="425" alt="DSC_0156"></a>
<p class="caption">Our wedding.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6405028587/" title="DSC_0205 by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7169/6405028587_7ff0042d36_z.jpg" width="425" height="640" alt="DSC_0205"></a>
<p class="caption">Signing the register (or pretending to; we&#8217;d already done that bit earlier).</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6405034599/" title="DSC_0301 by Matt Gemmell, on Flickr"><img src="http://farm8.staticflickr.com/7027/6405034599_bc616cf25f_z.jpg" width="640" height="425" alt="DSC_0301"></a>
<p class="caption">Out-take from our photos in the gardens.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/6319136484/" title="Gemmells by Matt Gemmell, on Flickr"><img src="http://farm7.staticflickr.com/6042/6319136484_ac43392cb4_z.jpg" width="640" height="427" alt="Gemmells"></a>
<p class="caption">The Gemmells, at the Royal Botanic Garden in Edinburgh, the day after we were married.</p>
</div>




<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8173403104/" title="Matt and Lauren in St. Andrew's by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8199/8173403104_68e32e7030_z.jpg" width="640" height="480" alt="Matt and Lauren in St. Andrew's"></a>
<p class="caption">One year later, at the top of St Rule&#8217;s Tower in St Andrews.</p>
</div>


<p>Something does change when you make a formal commitment, and there&rsquo;s a different quality to it than for the various previous stages of a relationship (which for us were dating, living together, getting engaged, and buying property together, in that order). The dynamics of the situation are altered.</p>

<p>Acceptance of another person as a permanent part of your own life shifts from being a choice you&rsquo;re making, and becomes something that has already taken place. As a fundamentally rather selfish and immature person, this was quite a revelation for me. My perception of the nature of our relationship changed in a way I hadn&rsquo;t even remotely anticipated. What&rsquo;s left is a sense of having a unified front, whatever your occasional internal disagreements might be. What&rsquo;s left is The Team. I spent a while trying to find a less flippant term, but on reflection I think it&rsquo;s perhaps the most suitable analogy.</p>

<p>I&rsquo;d say that we&rsquo;ve settled into the role of Smug Married Couple with characteristic aplomb, and I still delight in using all the terminology of matrimony at every opportunity. I love my wife dearly, and I look forward to continuing our journey through life together.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[iOS Accessibility Heroes and Villains]]></title>
    <link href="http://mattgemmell.com/2012/10/26/ios-accessibility-heroes-and-villains/"/>
    <updated>2012-10-26T16:00:00+01:00</updated>
    <id>http://mattgemmell.com/2012/10/26/ios-accessibility-heroes-and-villains</id>
    <content type="html"><![CDATA[<p>I&rsquo;ve previously written at some length about <a href="http://mattgemmell.com/2010/12/19/accessibility-for-iphone-and-ipad-apps/">making your iOS apps accessible to visually impaired users</a>, and the topic continues to be very important to me.</p>

<p>I&rsquo;ve been enjoying using the <a href="https://app.net">App.Net social network</a> lately, and have thus been trying out various new iOS clients for that service &ndash; of which there are many. It&rsquo;s an exciting time, and reminds me very much of my first few months on Twitter.</p>

<p>An exciting time, that is, if your eyes are fully functional, but a frustrating one for those who rely on VoiceOver to read their iPhone or iPad&rsquo;s interface to them. I&rsquo;ve found two App.Net clients which illustrate the two extremes of VoiceOver support, and I wanted to graphically (in both senses) show the difference that a little bit of extra development work can make to visually impaired users.</p>

<!--more-->


<h2>Accessibility Villain: Netbot for iPhone</h2>

<p>Tapbots, makers of probably the most beloved iOS (and indeed now also Mac) Twitter client, Tweetbot, have created an App.Net version of that app called <a href="http://tapbots.com/software/netbot/">Netbot</a>. It supports both iPhone and iPad, just as its Twitter-focused sibling does, and to my continued disappointment has essentially no functional VoiceOver support whatsoever.</p>

<p>Consider the following screenshot, of which a description can be found below for those who can&rsquo;t see it. It&rsquo;s a collage of two side-by-side copies of the same screen from Netbot. The first one is untouched, and thus shows the visual interface that most of us are familiar with: the interface for sighted users.</p>

<p>The second instance of the screenshot has been annotated to reflect the interface as it appears to those using VoiceOver exclusively. The difference is stark and dismaying.</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8125075558/" title="Netbot for App.Net VoiceOver and visual interface comparison by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8328/8125075558_539b393eec_c.jpg" width="800" height="699" alt="Netbot for App.Net VoiceOver and visual interface comparison"></a>
<p class="caption">Netbot for App.Net VoiceOver and visual interface comparison</p>
</div>


<p>Most of Netbot&rsquo;s interface is entirely opaque to VoiceOver, and the app cannot be used by visually impaired or blind users. The UIAccessibility API allows Tapbots, the authors of the software, to readily make Netbot usable via VoiceOver with comparatively little effort, but this work has yet to be done in either Netbot or Tweetbot, on iPhone or iPad.</p>

<p>The annotated screenshot shows that whilst the header and contextual buttons are visible to VoiceOver, they are labelled in a developer-focused and confusingly-worded way due to not having their accessibility titles or descriptions set.</p>

<p>The entire toolbar along the bottom of the screen is not accessible at all, and the primary content area (containing all of the actual messages posted on app.net) is simply a series of blank areas with no readable content, rendering the app entirely useless unless you have sufficient visual acuity to actually read the screen. It&rsquo;s worth noting that, like Tweetbot, Netbot does allow increasing the point-size of the displayed text, however, but this only suits those with some degree of visual ability to begin with.</p>

<p>It&rsquo;s a poor state of affairs for what is surely the de facto flagship iOS client for the service, from an extremely (and deservedly) well-respected software company.</p>

<h2>Accessibility Hero: hAppy for iPhone</h2>

<p>We can contrast Netbot&rsquo;s VoiceOver support with that of hAppy, another App.Net iOS client (which is currently in private beta, at time of writing on 26th October 2012).</p>

<div class="screenshot">
<a href="http://www.flickr.com/photos/mattgemmell/8125075406/" title="Happy for App.Net VoiceOver and visual interface comparison by Matt Gemmell, on Flickr"><img src="http://farm9.staticflickr.com/8469/8125075406_d10b5ded9a_c.jpg" width="800" height="699" alt="Happy for App.Net VoiceOver and visual interface comparison"></a>
<p class="caption">Happy for App.Net VoiceOver and visual interface comparison</p>
</div>


<p>hAppy&rsquo;s VoiceOver spoken interface is exemplary. The annotated screenshot above shows that the app&rsquo;s entire interface is exposed logically and concisely via VoiceOver, and is fully usable regardless of visual acuity or sightedness.</p>

<p>(Indeed, in some cases &ndash; such as the presumably temporary and ambiguous toolbar icons &ndash; the spoken interface is actually more discoverable and usable than the visual one.)</p>

<p>Whilst the developers continue to work on refining the beta towards an initial release, I can comfortably recommend it as an excellent App.Net client for VoiceOver users &ndash; I look forward to the 1.0.</p>

<p>I should also mention that one of my favourite iOS clients, <a href="http://tigerbears.com/felix/">Felix</a>, is to receive VoiceOver support in the 1.2 update, presumably coming soon, and that the <a href="http://www.rivrapp.com">Rivr client</a> also has VoiceOver support.</p>

<h2>Consider accessibility</h2>

<p>Providing VoiceOver support in your app is very simple indeed, even if you&rsquo;ve never done it before: in essence, you&rsquo;re just specifying which elements on screen should be readable, and supplying the relevant text for each one. iOS and VoiceOver do the vast bulk of the work for you. Your contribution will be implementing a simple protocol (a couple of methods, in most cases), and you can probably do about 90% of the work in the Interface Builder environment within Xcode. It&rsquo;ll take less time than you think.</p>

<p>Of course, most people who use your apps are sighted, whether they use corrective lenses or not. Of the minority who have impaired vision, only a small percentage are legally or completely blind. I&rsquo;m not going to try to make a convincing <em>commercial</em> argument for supporting accessibility; I&rsquo;m not even sure that I could. But that&rsquo;s just the money side of things. There&rsquo;s another aspect.</p>

<p>For those with visual impairments, iOS devices are a lifeline. They&rsquo;re a bionic enhancement &ndash; a pocket full of superpowers. The difference that they make to the life of a blind person is truly profound. They&rsquo;re tools of independence, and of participation. Blind and VI people <em>want</em> to use your app, even if you can&rsquo;t imagine how they&rsquo;d possibly do so.</p>

<p>So, please, consider spending some time on accessibility; an hour or three will very likely be enough. It&rsquo;s a truly worthwhile thing to do, and will have an enormous positive impact on those who don&rsquo;t enjoy perfect vision &ndash; or any at all.</p>

<p>I offer an <a href="http://instinctivecode.com/services/#accessibility">accessibility review service</a>, if you&rsquo;d like to improve your app&rsquo;s VoiceOver support. I&rsquo;d be delighted to work with you to assess your app&rsquo;s accessibility, and offer concrete advice and suggestions on how to improve it (and I&rsquo;m an iOS developer too, so my advice is specific, attainable, implementable, and suitable for developers).</p>

<p>You can email me at <code>matt</code> at this domain, or find me as <a href="https://alpha.app.net/mattgemmell"><code>mattgemmell</code> on App.Net</a> and <a href="http://twitter.com/mattgemmell">also on Twitter</a>.</p>
]]></content>
  </entry>
  
</feed>
