<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Matt Legend Gemmell</title>
	
	<link>http://mattgemmell.com</link>
	<description>Modesty is Lying</description>
	<lastBuildDate>Mon, 15 Mar 2010 16:04:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/mattgemmell/rss2" /><feedburner:info uri="mattgemmell/rss2" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>MGTwitterEngine on GitHub</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/M6Zfb4pkxkg/mgtwitterengine-on-github</link>
		<comments>http://mattgemmell.com/2010/03/15/mgtwitterengine-on-github#comments</comments>
		<pubDate>Mon, 15 Mar 2010 16:00:40 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[github]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[mgtwitterengine]]></category>
		<category><![CDATA[objective-c]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1702</guid>
		<description><![CDATA[My workload has made it difficult to keep up to date with necessary changes for MGTwitterEngine, and I really want you all to have access to the latest and greatest code at all times without me being a bottleneck. Thus, I&#8217;ve finally added the code to GitHub &#8211; you can find the MGTwitterEngine git repository [...]]]></description>
			<content:encoded><![CDATA[<p>My workload has made it difficult to keep up to date with necessary changes for MGTwitterEngine, and I really want you all to have access to the latest and greatest code at all times without me being a bottleneck. Thus, I&#8217;ve finally added the code to GitHub &#8211; you can find <a href="http://github.com/mattgemmell/MGTwitterEngine">the MGTwitterEngine git repository here</a>.</p>
<p><span id="more-1702"></span>If you&#8217;ve been using the subversion repository, please switch over to github as soon as you can. I believe this will be much better for everyone, and ensure MGTwitterEngine has a long useful life ahead of it.</p>
<p>If you&#8217;ve <strong>already made a fork of MGTwitterEngine</strong>, please contact me &#8211; I&#8217;d love to add you as a repository collaborator and get your changes into the main codebase! You can contact me via github, or <a href="http://mattgemmell.com/about">find my contact details here</a>.</p>
<p>I hope MGTwitterEngine continues to be useful to you. I plan to move some of my other projects over to github according to demand and as time allows.</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/M6Zfb4pkxkg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/03/15/mgtwitterengine-on-github/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/03/15/mgtwitterengine-on-github</feedburner:origLink></item>
		<item>
		<title>Selling Source Code</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/5uuLaKIhQgQ/selling-source-code</link>
		<comments>http://mattgemmell.com/2010/03/14/selling-source-code#comments</comments>
		<pubDate>Sun, 14 Mar 2010 16:53:16 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Source]]></category>
		<category><![CDATA[cocoa]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[commercial]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[license]]></category>
		<category><![CDATA[Mac]]></category>
		<category><![CDATA[selling]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1682</guid>
		<description><![CDATA[I want to solicit some feedback on the idea of selling source code for the iPad/iPhone and/or Mac platforms. It&#8217;s something that&#8217;s commonplace (and popular) on other platforms like .NET and Java, but for whatever reason it&#8217;s never taken off on the Mac. I think that there&#8217;s potentially a reasonable market, particularly for iPhone/iPad, and [...]]]></description>
			<content:encoded><![CDATA[<p>I want to solicit some feedback on the idea of selling source code for the iPad/iPhone and/or Mac platforms. It&#8217;s something that&#8217;s commonplace (and popular) on other platforms like .NET and Java, but for whatever reason it&#8217;s never taken off on the Mac. I think that there&#8217;s potentially a reasonable market, particularly for iPhone/iPad, and I&#8217;d be interested in your thoughts.</p>
<p>Before we start, let me assure you: all of <a href="http://mattgemmell.com/source">my Cocoa source code</a> which has been free and open source up until now will <em>continue to be free and open source</em>. This is a discussion regarding future code only, and indeed only a subset thereof. It&#8217;s an additional avenue, not a change of policy. I also very strongly hope that response to this post won&#8217;t turn into a debate about whether &#8220;all code should be free&#8221;, and such &#8211; I&#8217;m a very prominent contributor to the open source community for the Mac and iPhone, and I think my position in that regard speaks for itself; this isn&#8217;t intended to be a philosophical debate about software freedom-as-in-anything.</p>
<p><span id="more-1682"></span>As a self-employed software engineer, I understand the value of my time. I not only have an hourly rate, but I also grasp the value of getting ahead of a schedule, or being able to meet an aggressive schedule without having to compromise functionality or vision. The idea of paying others for quality source code is something I find very easy to accept and understand.</p>
<p>If I can pay $150 and get something that really does fit my needs, and it would save me more than a couple of hours of my own time, then it&#8217;s clearly a win in terms of time and money. I&#8217;d be crazy not to pay for it. That&#8217;s as true for compiled software as it is for source code, and it&#8217;s also just as true (for the right return on investment) if the code costs $5,000.</p>
<p>You might have to be more selective with source code (because unlike with apps, there&#8217;s often a clear dividing line between what fits the bill and what&#8217;s useless to you) but the general value proposition is similar.</p>
<p>For whatever reason, there are only a handful of people selling code components on the Apple platforms. I suspect that&#8217;s less about the market and much more about perceived worthiness; we do all tend to collectively reinforce the perception that only the very best stuff will do, and it&#8217;s incredibly difficult to convince yourself your code is even worthy of being open source, much less paid for in its raw form. I&#8217;ve had to twist the arms of so many Mac developers to convince them that they have a component worth sharing with others.</p>
<p>I have a component (as usual, it&#8217;s a GUI-focused piece of code; something visual) in the works right now for iPad, and I&#8217;m planning to make the code available for licensing to use in your apps for a fee. I think it&#8217;s important to test the market and see if there&#8217;s interest, and if it can be a viable part of my overall business. I&#8217;ll be giving more details in due course, including showing demos, sharing API documentation and so forth.</p>
<p>I&#8217;ve been thinking about how to approach the licensing/payment, and have had a few discussions on the matter with friends and colleagues. It all boils down to two main issues: pricing, and what you get for your money. I have a few thoughts on this.</p>
<h4>Source must be included</h4>
<p>I would very rarely buy a precompiled component. Sure, if it&#8217;s a situation where the specific algorithm or integration is what you&#8217;re paying for and you&#8217;d conceivably rarely (if ever) want to tweak it (barcode scanning, talking to a piece of specialist hardware), then maybe.</p>
<p>Generally, though, what you&#8217;re paying for is an API where the implementation and behaviour is important, and needs to be up for inspection and modification &#8211; at least as a last resort. I would always feel far more secure if I had the code. I&#8217;d thus almost certainly want to sell the <em>code</em>, rather than just a library or framework.</p>
<h4>Price perception is important</h4>
<p>The pricing of source components is all over the place; it varies incredibly wildly. Entry-level is in the tens of dollars, and you can also readily pay many thousands. There isn&#8217;t a direct relationship between type of component and price, and there&#8217;s no clear model. My personal impression is that pricing based on the actual number of hours you&#8217;d need to spend creating it yourself (times some average hourly rate) is largely fantasy; for anything non-trivial you&#8217;re immediately in the thousands of dollars range.</p>
<p>I think there&#8217;s a major psychological barrier towards paying that amount unless you can pass the cost directly to a client or your company. I also feel that the majority of the market for iPad/iPhone and Mac are small shops, and often individuals. They&#8217;re not going to pay for multi-thousand-dollar components. For well-designed (visually, and <em>every bit as importantly</em> but considerably more rarely, architecturally) GUI components with a reasonably general use scenario, I think the ideal entry-level price point is probably somewhere around the $150-200 range.</p>
<p>I&#8217;m not certain about that, but I do know that going much lower very quickly puts you into pointless territory. At some point, you have to target those who understand the value of their own time, and are willing to spend money to make more money.</p>
<h4>Tiered licenses</h4>
<p>I think that pricing at a single flat rate is unrealistic, even though it&#8217;s unarguably a bonus for the buyer. We don&#8217;t price software at a flat rate (you buy a license to use it on a fixed number of machines, often one), and we don&#8217;t price our consulting services at a flat rate <em>in that sense</em> (if multiple clients want the same piece of work done, they each pay for that work; albeit perhaps at a reduced rate if you have a pre-made component of your own and choose to offer such a discount).</p>
<p>The question is how to tier. Historically, components have been priced per &#8220;developer seat&#8221;, whatever that really means in practice. Bigger companies pay more by virtue of the fact they&#8217;re bigger companies. I don&#8217;t think that model works on these platforms; there are just very few big companies, but a <em>huge</em> number of very small companies each selling multiple applications. I think that the right model thus becomes per-app.</p>
<p>My gut says that a three-tier system would fit the bill:</p>
<ol>
<li>The base tier which almost everyone will go for, perhaps allowing use in just a single application.</li>
<li>A middle tier allowing use in up to a certain small number of apps, which covers the bulk of the market (most people release only a handful of apps). This would be priced as a very small multiple of the base tier.</li>
<li>A top, premium tier which constitutes an unlimited license. Rarely if ever purchased, but fair in those situations.</li>
</ol>
<p>And naturally, you offer upgrades at any time by simply paying the difference.</p>
<p>These are all difficult issues, but I think this is an area that we shy away from, and it&#8217;s needlessly hindering a legitimate and healthy part of the software industry on our favourite platforms. We&#8217;re all already clients of each other&#8217;s professional services, and customers for software, so there doesn&#8217;t seem to be any reason that selling code components wouldn&#8217;t at least be viable.</p>
<p>I&#8217;d love to hear your thoughts on any of this, either via the comments here, on Twitter (I&#8217;m <a href="http://twitter.com/mattgemmell">mattgemmell</a>), or in an email (<a href="http://mattgemmell.com/about">my contact details are here</a>).</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/5uuLaKIhQgQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/03/14/selling-source-code/feed</wfw:commentRss>
		<slash:comments>28</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/03/14/selling-source-code</feedburner:origLink></item>
		<item>
		<title>Engineer Thinking</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/MsJXr8Z2YSA/engineer-thinking</link>
		<comments>http://mattgemmell.com/2010/03/09/engineer-thinking#comments</comments>
		<pubDate>Tue, 09 Mar 2010 12:00:31 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[User Experience]]></category>
		<category><![CDATA[complexity]]></category>
		<category><![CDATA[engineer]]></category>
		<category><![CDATA[gui]]></category>
		<category><![CDATA[inevitable]]></category>
		<category><![CDATA[intuitive]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1653</guid>
		<description><![CDATA[I made a remark on Twitter the other day that gave rise to a discussion, and a few of the comments exemplified something I want to briefly talk about.
The actual topic of discussion isn&#8217;t particularly germane to my point, but suffice to say that it concerned a situation where Xcode (the development environment for Mac [...]]]></description>
			<content:encoded><![CDATA[<p>I made a remark on Twitter the other day that gave rise to a discussion, and a few of the comments exemplified something I want to briefly talk about.</p>
<p>The actual topic of discussion isn&#8217;t particularly germane to my point, but suffice to say that it concerned a situation where Xcode (the development environment for Mac and iPhone/iPad programming) wasn&#8217;t doing anything to assist in a very common situation where you&#8217;d want to choose one of two possible courses of action, due to an underlying feature of the programming language used.</p>
<p>In probably more than 80% of cases, one particular choice would be made. My point, of course, is that Xcode ought to <em>default to the most common choice</em>, but transparently allow overriding that choice if the other option was needed.</p>
<p><span id="more-1653"></span>Many people readily agreed, but there were two other types of response which stood out. They were:</p>
<ul>
<li>Xcode can&#8217;t know <em>for certain</em> which choice you want.</li>
<li>It&#8217;s not Xcode&#8217;s fault anyway, because it&#8217;s due to an underlying feature of the programming language.</li>
</ul>
<p>Both these responses illustrate what I call <em>engineer thinking</em>, and it&#8217;s something that&#8217;s both understandable but also incredibly damaging to the user experience of software. (A brief note is appropriate here to say that I&#8217;m a software engineer myself; I&#8217;m not just pointing fingers.)</p>
<p>Engineering in the real world has taught us (usually the hard way) about <em>tolerances and precision</em>. The axle must be of uniform strength, the furnace must run at a controlled temperature, the structural properties of supporting columns must be carefully designed. Reality tells us that being exacting, and producing the same outcome each time, is the key to not only reliability but even to feasibility itself. That&#8217;s all well and good, and has given us our civilisation.</p>
<p>But a problem arises when you allow precision-based design principles to hinder user experience. All too often, when faced with a decision about how to implement certain functionality, engineers take the extreme position that:</p>
<ol>
<li>A feature must be exactly what 100% of users want.</li>
<li>If the above isn&#8217;t true (and it almost never is), the feature must be <em>configurable</em>.</li>
</ol>
<p>This binary approach is gravely wrong, and unjustly offloads decision-making onto the user of the software. We&#8217;ve all seen where this approach ends up: multi-row sets of tabs, scrolling panes of checkboxes, nested radio-buttons and a general overload of configuration.</p>
<p>It has become increasingly difficult to avoid choices in our daily lives, to an extent which many of us find intrusive and counterproductive. Buying coffee in a shop you&#8217;re not familiar with leads to momentary paralysis as you work out <em>how</em> to convey the fact that you just want a regular, black filter coffee. This isn&#8217;t the way forward.</p>
<p>From the user&#8217;s perspective, there is <em>always a default</em>. The engineer will then argue, correctly, that different users will have different opinions as to what that default should be, but here the Universe steps in and reminds us that there&#8217;s always a &#8220;usual way&#8221;. There is always one particular behaviour or configuration or setup which suits more people than any of the others (surprisingly often, there&#8217;s one which suits more people than <em>all the rest put together</em>). <em>That</em> is your default behaviour.</p>
<p><em>The existence of uncertainty is not an excuse for exposing it to the user.</em></p>
<p>It is software&#8217;s responsibility to mask uncertainty and to make the effort to provide a sensible default behaviour. Many users will care more about the fact that there <em>is</em> a default than <em>what the default is</em>. Choice means decisions, and decisions mean effort and second-guessing, and loss of focus and time. The best choice in software is a choice which has already been made for you, invisibly.</p>
<p>There are of course situations where choice is needed, as indeed in the case which spawned this discussion. The key realisation is that there are different ways to <em>present</em> choice. Too often, we&#8217;re given choice as a first resort; instead, present choice as a <em>last</em> resort. If the user must be able to choose, then let them do so by <em>overriding</em> a sensibly-chosen default behaviour &#8211; and ensure that such situations are as rare as you can make them.</p>
<p>Software cannot just wash its hands of issues of technical complexity or uncertainty; it&#8217;s not remotely OK to simply offload that work to the user. Software intended to help with a given task has an <em>implicit expertise</em>; we assume that our photo-editing software <em>knows more about photo-editing than we do</em>. Expertise carries a duty of care whereby the expert is expected to provide the <em>benefits of expertise</em> without the <em>full cost of knowledge</em>. That&#8217;s why experts are useful! The same holds for software.</p>
<p>The primary expression of expertise is in knowing effortlessly what the right course of action is in a given situation, and carrying it out without micro-management or endless justification. <em>Make your software such an expert</em>, and a guide and assistant to the user. Don&#8217;t force the user to make your software&#8217;s decisions for it, or to repeatedly bow down before its keen grasp of the vagaries of choice and uncertainty.</p>
<p>It all comes down to a question of art. Our art (that of software engineering) is <em>not in making it work</em>. If you see it as a significant success that you managed to name some methods, or write code that compiles and runs (or implemented a heap sort, or found the bounding box for a set of points, or parsed some XML), then your career goals are low indeed. Anyone in this industry can do that stuff, including any reasonably proficient final-year undergraduate in Computing Science. That&#8217;s core-skillset, vocational learning. You&#8217;re not aiming high enough.</p>
<p>Our art is in making the abilities of our software <em>accessible to those who do not know how it works</em>.</p>
<p>Your chance to demonstrate skill and professionalism and genius is by effectively hiding all the circuitry and wiring and batteries and screws behind one big shiny &#8220;Get the Job Done&#8221; button, whose apparent function is <em>almost magical</em>.</p>
<p>If you&#8217;ve exposed underling complexity or unnecessary choice in your software because you see those things as inevitable, it&#8217;s because your job isn&#8217;t finished. If you&#8217;re going to write GUI software for other people to use, do it properly, and treat those people like human beings instead of software engineers. If you want to expose complexity to the user and wash your hands of it, write command-line tools &#8211; or utilities that are used exclusively by other machine processes.</p>
<p>You can&#8217;t have it both ways. Writing GUI software is for people who strive for excellence not only in the &#8220;software&#8221; part but <em>in the &#8220;GUI&#8221; part too</em>.</p>
<div class="footnote">If you enjoyed this article, you might be interested in <a href="http://www.twitter.com/mattgemmell">following me on Twitter</a>, enquiring about <a href="http://instinctivecode.com/">my iPad (and iPhone and Mac) development services</a>, or listening to my thoughts on software design on <a href="http://www.mac-developer-network.com/category/shows/podcasts/mdnshow/">The MDN Show</a> podcast. I&#8217;ll also quite shamelessly link you to <a href="https://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">my Amazon wishlist</a>.</div>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/MsJXr8Z2YSA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/03/09/engineer-thinking/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/03/09/engineer-thinking</feedburner:origLink></item>
		<item>
		<title>iPad Application Design</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/L0EMeGh5sqE/ipad-application-design</link>
		<comments>http://mattgemmell.com/2010/03/05/ipad-application-design#comments</comments>
		<pubDate>Fri, 05 Mar 2010 12:04:37 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[experience]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[touch]]></category>
		<category><![CDATA[user]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1622</guid>
		<description><![CDATA[I held a 6-hour workshop at NSConference in both the UK and USA recently, focusing on software design and user experience. Predictably, an extremely popular topic was the iPad, and how to approach the design of iPad applications. I gave a 90-minute presentation on the subject to start each workshop, and I want to share [...]]]></description>
			<content:encoded><![CDATA[<p>I held a 6-hour workshop at <a href="http://www.nsconference.com/">NSConference</a> in both the UK and USA recently, focusing on software design and user experience. Predictably, an extremely popular topic was the <a href="http://www.apple.com/ipad">iPad</a>, and how to approach the design of iPad applications. I gave a 90-minute presentation on the subject to start each workshop, and I want to share some of my observations here.</p>
<p>Please note: this is about the user interface conventions and considerations which apply to creating software for the iPad platform (and touch-screen tablet devices in general). It is not a technical discussion of iPad-related APIs (which remain under NDA at time of writing in early March 2010).</p>
<p><span id="more-1622"></span>As I watched the iPad introduction keynote, there was one thing above all which struck me:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/iwork_ipad.jpg" width="550" height="242" alt="iWork for iPad" /></div>
<p>That&#8217;s iWork (Keynote, Pages and Numbers) for iPad. It&#8217;s also <em>a message</em>.</p>
<h4>It&#8217;s not just a big iPhone</h4>
<p>The iPad may be a larger version of the iPhone in terms of the hardware and operating system, but treating it as the same device would be foolish. It turns out that increasing the display size of <em>touch-screen</em> hardware can transform it into an entirely new class of device. The iPad is a productivity platform in a way that the iPhone rightly never tried to be. (And it&#8217;s officially OK to charge $9.99 per app.)</p>
<p>When Steve Jobs introduced the iPad, he did so in a very specific way:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/ipad_middle.jpg" width="384" height="136" alt="iPhone, iPad and Mac. iPad in the middle." /></div>
<p>The iPad is in the middle, between the iPhone and the Mac. This isn&#8217;t just an acknowledgement of relative display size or processing power, it&#8217;s also a strong indication of the market position of the device and its software.</p>
<p><em>The iPad is a target for apps from the desktop, not just from smartphones.</em> There are some very interesting opportunities here.</p>
<h4>The Missing Link</h4>
<p>We already have iPhone apps on the iPad (they can run at their native size in the middle of the screen, or be scaled up to fit). That&#8217;s useful, but it&#8217;s not particularly interesting. Far more relevantly, we can bring <em>desktop-class</em> applications to iPad &#8211; but we need to rethink our user interface and design in general. What works on iPhone won&#8217;t automatically work on iPad.</p>
<p>The essence of the new opportunities on iPad is that this class of device is a natural home not just for the <em>viewers</em> and small utilities we&#8217;ve seen on our phones, but also for <em>creators and editors</em> as we see on desktop platforms. Productivity applications, and sophisticated workflows. There are entire genres of applications which haven&#8217;t been truly feasible on an iPhone OS device until now; this is an opportunity to literally <em>pioneer</em> a high-profile touch-screen version of those applications.</p>
<p>In order to work out how to do that effectively, we need to talk about what exactly is different about the iPad compared to the touch-screen smartphone platforms. It all comes down to input and output.</p>
<ul>
<li>The display is much larger; 1024&#215;768 pixels. Apps with more demanding presentation requirements will be at home here.</li>
<li>The virtual keyboard is larger, and external physical keyboards are supported via Bluetooth or the dock. Apps which focus on typing are now much more feasible.</li>
<li>The iPhone supports multi-touch, but only the iPad can credibly claim to support <em>two hands</em>. We&#8217;ll talk more about this later.</li>
</ul>
<p>These facts lead to a shift in how we can think about what applications and interfaces can exist on the iPad. We just need a set of guidelines to follow.</p>
<p>The iPad introduces and lends itself to some new UI conventions. I&#8217;ve compiled a list of thoughts that I&#8217;m going to discuss below. Some of these are simply from looking at the built-in apps on the iPad, and some are subjective impressions.</p>
<h4>Master-Detail</h4>
<p>This isn&#8217;t new, but it&#8217;s new to the iPhone OS platform. Master-Detail is an interface concept whereby you can see both a list of things, and also additional information about the currently-selected thing in the list. On iPhone, either the Master or the Detail was visible, but not both &#8211; there wasn&#8217;t room. On iPad, we can again have Master-Detail, as exemplified by Mail:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/master_detail.jpg" width="550" height="315" alt="Mail for iPad" /></div>
<p>This gives us an easy set of conventions:</p>
<ul>
<li>Master-Detail is feasible and acceptable on iPad.</li>
<li>In landscape, both Master and Detail are visible.</li>
<li>In portrait, the Master is shown in a transient pop-over.</li>
</ul>
<p>Two-pane and three-pane interfaces are once again worthy of consideration on this class of device.</p>
<h4>Look like a Viewer</h4>
<p>The primary warning about designing for the iPad is: <em>more screen space doesn&#8217;t mean more UI</em>. You&#8217;ll be tempted to violate that principle, and you need to resist the temptation. It&#8217;s OK to have UI available to cover your app&#8217;s functionality, but a bigger screen doesn&#8217;t mean it should all be visible at once.</p>
<ul>
<li>Hide configuration UI until needed.</li>
<li><em>Look like a viewer, and behave like an editor.</em></li>
</ul>
<p>Pages looks like a beautiful reading app:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/look_like_viewer.jpg" width="442" height="389" alt="Pages for iPad; document viewing with loupe." /></div>
<p>until you interact with something to display relevant editing UI:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/behave_like_editor.jpg" width="456" height="199" alt="Pages for iPad, displaying editing UI" /></div>
<p>This leads us naturally to the next point.</p>
<h4>Edit in place</h4>
<p>On the Mac and other desktop platforms, there&#8217;s a convention where we have globally-positioned editing UI. Common examples include floating inspector palettes, toolbars, menus, and status-bars. That won&#8217;t fly on the iPad, because it introduces a level of indirection between the editing action and the object being edited. It&#8217;s a touch-screen device; we should interact and edit directly.</p>
<ul>
<li>Edit object properties <em>in place</em>.</li>
<li>Attach the editing UI to the object. Show/hide/move as necessary.</li>
</ul>
<p>For example, when you edit transition/build animations in Keynote, you do so on the actual object to be animated:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/contextual_chart_animations.jpg" width="278" height="232" alt="Keynote for iPad, showing an animations editing UI attached to a bar-chart." /></div>
<p>Upon adding an animation, the list of available types is similarly attached to the relevant object:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/contextual_chart_animations_edit.jpg" width="345" height="311" alt="Keynote for iPad, showing an animations list attached to a bar-chart." /></div>
<p>The same goes for slides as a whole:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/contextual_slides.jpg" width="256" height="265" alt="Keynote for iPad, showing an animations list attached to a slide." /></div>
<p>It&#8217;s a good principle to follow; it&#8217;s direct and immediate, and it&#8217;s intuitive for a device where it feels like you&#8217;re interacting with the actual objects using your fingers.</p>
<h4>Inspectors should be Contextual</h4>
<p>There <em>can</em>, however, sometimes be value in keeping standard editing interfaces in standard positions; the key consideration is how much UI to show. On the desktop, this is something we often get wrong. Here are two familiar examples:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/inspectors_mac.jpg" width="300" height="311" alt="Inspector palettes for Keynote and Microsoft Word on the Mac, each showing many controls." /></div>
<p>These inspectors (for Keynote and Microsoft Word on the Mac) are difficult to use because they show all possible editing controls at once, disabling those which don&#8217;t apply to whatever is selected. It&#8217;s not easy to find which options apply to what you&#8217;re editing at the time, and the density of controls requires the pixel-precision of a mouse pointer and considerable screen space to display.</p>
<p>On the iPad, any globally-positioned inspectors should nonetheless be contextual in terms of what editing UI they show. Don&#8217;t overload the user with irrelevant options; hide anything that doesn&#8217;t apply. If you&#8217;re editing text, show only text editing controls:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/inspector_text.jpg" width="366" height="380" alt="Pages for iPad, showing an inspector with text-specific controls." /></div>
<p>If you&#8217;re editing a chart, show only options relevant to charts:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/inspector_chart.jpg" width="317" height="352" alt="Pages for iPad, showing an inspector with chart-specific controls." /></div>
<p>The guideline is simple, and it&#8217;s good advice even for the desktop:</p>
<ul>
<li>Inspectors should present context-relevant UI.</li>
<li>Hide controls which don&#8217;t apply to the selection or focus.</li>
</ul>
<p>The concept of <em>context</em> is key to iPad software design. In human-computer interaction, we often discuss this under the title of <em>modes</em>.</p>
<h4>Use Modes to simplify UI</h4>
<p>Modes, or modal interfaces, are where the user deals just with one particular area of a piece of software at a time. They see only the relevant controls and information for one particular task or type of work; an example would be iPhoto&#8217;s photo-editing interface, or the Ribbon in the recent versions of the Microsoft Office applications.</p>
<p>There&#8217;s been a history of modes getting some bad press on the desktop. The issue is that they trade stability (things always being in exactly the same place in the UI, and not changing) for simplicity (not having too many controls to look through at once). On the iPad, it&#8217;s clear where the winning side of the balance is: <em>simplicity</em>. Modes are completely appropriate on this device.</p>
<p>The challenge is in keeping our UI clear and uncluttered. Not only that, but our UI has to be actually usable with a finger &#8211; an incredibly imprecise, enormous, screen-hiding input device &#8211; rather than a pixel-perfect mouse pointer. Modes can help us keep plenty of space around. Move UI elements into modes, and/or position them contextually and temporarily &#8211; but just don&#8217;t go overboard with the number of modes.</p>
<ul>
<li>Modes are preferable to clutter.</li>
<li>But removing a feature <em>might</em> be preferable to adding a mode for it.</li>
</ul>
<p>The modal organisation of features is better than an all-at-once approach, but don&#8217;t let it become an excuse for feature creep. One of the primary rules of iPad app design must surely be that <em>less is more</em>.</p>
<h4>Fewer Features</h4>
<p>Feature-creep or bloat is the bane of desktop software. Any application with a non-trivial feature set isn&#8217;t fully used by most of its users; that&#8217;s pretty obvious to anyone who has ever used Microsoft Office or Adobe Photoshop or even the iWork apps on the Mac. There are plenty of features there which you&#8217;ll never touch, and would probably never miss if they were gone.</p>
<p>Most users <em>need</em> only a small set of features, and software is better when it&#8217;s <em>focused</em>. A nice side-effect of focused software is that the UI is easier to design and comprehend (because there&#8217;s less of it, and it&#8217;s more obvious why each thing is there). The trick is to figure out which small set of features are actually important, and <em>implement only those</em>.</p>
<ul>
<li>Offer only the most-used/needed features. If in any doubt, remove a feature.</li>
<li>Discard optional/niche or highly configurable functionality.</li>
</ul>
<p>This is another rule which is equally true for the desktop. The difference is that people have been trained to accept fuzzy-edged applications on their computers, whereas they probably won&#8217;t do so on the iPad. Be focused, targeted and comprehensible. You can add things later when it becomes clear what&#8217;s important, but you&#8217;ll never recover from a confusing first impression.</p>
<h4>Two Hands</h4>
<p>Many people are excited about the fact the iPad is large enough to support two whole hands providing input simultaneously. The hardware support is no different from the iPhone, but the available space certainly is. Suddenly we have visions of really usable card games and air hockey and so forth; it&#8217;s hard to underestimate the importance of this factor.</p>
<p>The worrying thing is that I&#8217;ve heard people talking about providing twice the UI, with strips of buttons and controls down both sides of the screen, just because there&#8217;s enough room for that kind of thing now. Resist that temptation at all costs. The way to support dual-handed input on the iPad is in a <em>discoverable and optional</em> way. There are a couple of interesting examples in Keynote:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/two_hands.jpg" width="590" height="247" alt="Phil Schiller using Keynote for iPad, showing two-handed input features." /></div>
<p>During the iPad introduction keynote, Phil Schiller was using Keynote on the device, and demonstrated some subtle dual-hand input features. Whilst resizing a photo, you can tap another photo with your other hand and the one you&#8217;re resizing will match that other photo&#8217;s size. Similarly, whilst dragging a slide you can tap other slides with your other hand to add them to the group being dragged, thus moving them all at once.</p>
<p>The important point is that there are other, more obvious ways to accomplish these things; the two-handed input features are <em>conveniences</em> and <em>power-user features</em>. They&#8217;re useful and time-saving and possibly discoverable, but they&#8217;re not the only way to accomplish those tasks. We&#8217;re only just beginning to come to terms with the possibilities of dual-handed input; essential functionality shouldn&#8217;t require it yet.</p>
<ul>
<li>Dual-handed input is acceptable.</li>
<li>Be usable with one hand. Don&#8217;t <em>require</em> two hands for essential features.</li>
<li>But don&#8217;t be afraid to offer time-saving, discoverable dual-handed functionality.</li>
</ul>
<p>The fact that users can use their hands to interact is something to capitalise on; it&#8217;s a very important aspect of the attraction to this type of device. Understandably, it&#8217;s rooted in human psychology.</p>
<h4>Use the Psychology of Touch</h4>
<p>This is where it gets touchy-feely, and thus where we engineers are least comfortable. It&#8217;s also where we find the explanation as to why your grandmother wants an iPad but wouldn&#8217;t touch a Mac or PC. The twin key factors are touch, and the device&#8217;s unique form-factor.</p>
<p>Touch is emotionally important to humans; it conveys the identity and &#8220;realness&#8221; of an object. Direct touch bypasses abstraction and creates a strong connection with the touched object. This is particularly true when the object itself triggers associations in our minds. Due to its very size and weight and display area, the iPad triggers powerful associations with:</p>
<ul>
<li>Printed documents</li>
<li>Notepads of paper</li>
<li>File-folders from the filing cabinet</li>
<li>Clipboards</li>
<li>Books</li>
</ul>
<p>There is something intrinsically &#8220;right&#8221; about seeing the iPad as a technological successor to, or version of, these physical objects. We&#8217;re immediately ready to accept the one as a substitute or enhancement for the other. This is a powerful, and novel, position for the iPad software developer.</p>
<p>It wasn&#8217;t true with the iPhone or iPod Touch; the devices are too physically small. The &#8220;Notes&#8221; app on the iPhone will forever be a <em>simulation</em> of a legal pad; the similar app on the iPad <em>is</em> a legal pad (to your user). It&#8217;s an incredibly important distinction in terms of how it influences our design.</p>
<p>There&#8217;s a predilection towards &#8220;realness&#8221; on the iPad which overrides mere fashion and aesthetics as seen on the iPhone; it&#8217;s a core component of the attraction of the hardware. The standard apps on the iPad build directly on this by using <em>virtual materials</em>. The form-filling view in Numbers is a good example:</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/touchable_card_file.jpg" width="433" height="330" alt="Numbers for iPad, showing the form-filling view: a simulated card file with paperclip and paper." /></div>
<p>We&#8217;ve all clipped those card dividers into our binders, and seen them become dog-eared. We know how the slightly waxy laser-printer paper feels, and we&#8217;ve bent and reshaped that paperclip a thousand times. These are real things, presented virtually.</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/app_ibooks.jpg" width="550" height="335" alt="The iBooks app, showing wooden bookshelves and printed paper." /></div>
<p>We&#8217;ve all been in the room with these varnished bookshelves, lit by afternoon sunlight. We&#8217;ve all bought a new novel, opened it and guiltily buried our nose in the pages just to enjoy the smell of books.</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/app_notes.jpg" width="550" height="313" alt="The Notes app, showing a yellow legal pad in a leather case." /></div>
<p>We&#8217;ve all used this legal pad to sketch ideas. Perhaps we&#8217;ve even seen it on the telephone table in the study or hallway, slid into its leather slip-case with an index sheet (all those things are visible in the interface above if you look for them).</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/app_ical.jpg" width="550" height="312" alt="The Calendar app, showing wood-backed hard-bound day planner." /></div>
<p>We&#8217;ve all seen this quality day-planner and wished we had the discipline to use it, because it&#8217;s a beautiful analogue thing in an increasingly digital world. We&#8217;ve paid ridiculous prices for Moleskines and diaries and fountain pens.</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/app_contacts.jpg" width="550" height="269" alt="The Contacts app, showing a hard-bound address book with a fabric bookmark." /></div>
<p>We&#8217;ve all seen this address book sitting on a desk, hard-bound and meticulously re-indexed, with a red fabric bookmark sitting loosely over the cover.</p>
<p>Did you feel an emotional connection to any of these images and statements? Your users will feel those connections too, even if they can&#8217;t articulate them. You can, and should, directly capitalise on these feelings and connotations.</p>
<p>Even if you can&#8217;t find a way to make your interface <em>be</em> a real thing, you can often make it into a <em>surface</em> for real things. It&#8217;s one additional level of abstraction, but it&#8217;ll still work.</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/app_photos.jpg" width="550" height="335" alt="The Photos app, showing stacks of photos and a light-box view of a single image." /></div>
<p>This is the table you empty the photos drawer onto when you want to find a particular image from childhood; the stacks are all that&#8217;s left of the long-discarded paper wallets the photos originally arrived in. The full-screen display is a photographer&#8217;s light-box. The device becomes physical surfaces we know in the real world.</p>
<div class="screenshot"><img src="http://mattgemmell.com/images/ipad/app_ipod.jpg" width="550" height="313" alt="The iPod app, showing CD album covers laid out in a grid." /></div>
<p>Even resolutely abstract concepts like playlists of music can be represented as surfaces of CD albums. There&#8217;s often a way to pull your software interface a little closer to a familiar object from the real world, and increase engagement with the user.</p>
<ul>
<li>Make your application a real object if at all possible.</li>
<li>Alternatively, make it a surface for real objects.</li>
</ul>
<p>Our graphic design budget must surely increase, but I think you&#8217;ll find the pay-off is more than worth it.</p>
<h4>Key Questions</h4>
<p>In summary, when approaching iPad app design, do so in a way that acknowledges the strengths and unique advantages of the device and platform. Ask yourself these questions:</p>
<ul>
<li>What are the core features? How can I remove some of them?</li>
<li>How can I make this work on a touchscreen device?</li>
<li>How do I create an emotional connection?</li>
<li>How can I make my app uniquely suited to iPad?</li>
</ul>
<p>Don&#8217;t ship before testing on an actual device, and remember that first impressions last &#8211; take the time to get it right. Don&#8217;t assume that what works on iPhone will be equally suited to iPad, and <em>certainly</em> don&#8217;t generalise from desktop software.</p>
<p>There&#8217;s a unique and exciting opportunity here, and just possibly the beginning of the next major stage in software design and user experience. You&#8217;re getting in on the ground floor, and there&#8217;s every reason to be optimistic. Good luck.</p>
<div class="footnote">If you enjoyed this article, you might be interested in <a href="http://www.twitter.com/mattgemmell">following me on Twitter</a>, enquiring about <a href="http://instinctivecode.com/">my iPad (and iPhone and Mac) development services</a>, or listening to my thoughts on software design on <a href="http://www.mac-developer-network.com/category/shows/podcasts/mdnshow/">The MDN Show</a> podcast. I&#8217;ll also quite shamelessly link you to <a href="https://www.amazon.co.uk/registry/wishlist/1BGIQ6Z8GT06F">my Amazon wishlist</a>.</div>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/L0EMeGh5sqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/03/05/ipad-application-design/feed</wfw:commentRss>
		<slash:comments>99</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/03/05/ipad-application-design</feedburner:origLink></item>
		<item>
		<title>Speaking</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/WhA9lBsBdg8/speaking</link>
		<comments>http://mattgemmell.com/2010/02/27/speaking#comments</comments>
		<pubDate>Sat, 27 Feb 2010 21:00:11 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Interface]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[speaking]]></category>
		<category><![CDATA[keynote]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1617</guid>
		<description><![CDATA[Just a quick note that I&#8217;ve added a page about Speaking engagements (such as conferences and workshops) to this blog. It&#8217;s strictly an as-time-permits thing and not at all my main business (for the moment), but I thoroughly enjoy presenting and I&#8217;ve had some very positive and kind feedback over the past year.
If you&#8217;ve attended [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note that I&#8217;ve added a <a href="http://mattgemmell.com/speaking">page about Speaking engagements</a> (such as conferences and workshops) to this blog. It&#8217;s strictly an as-time-permits thing and not at all my main business (for the moment), but I thoroughly enjoy presenting and I&#8217;ve had some very positive and kind feedback over the past year.</p>
<p>If you&#8217;ve attended one of my sessions and want to share your thoughts with me (and/or offer a testimonial for publication), please do get in touch either in the comments on this post or directly via email (gmail; matt.gemmell).</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/WhA9lBsBdg8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/02/27/speaking/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/02/27/speaking</feedburner:origLink></item>
		<item>
		<title>Send me your NSConference feedback</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/gjfQzxLDcLo/send-me-your-nsconference-feedback</link>
		<comments>http://mattgemmell.com/2010/02/27/send-me-your-nsconference-feedback#comments</comments>
		<pubDate>Sat, 27 Feb 2010 19:40:26 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[conference]]></category>
		<category><![CDATA[speaking]]></category>
		<category><![CDATA[feedback]]></category>
		<category><![CDATA[nsconf]]></category>
		<category><![CDATA[nsconference]]></category>
		<category><![CDATA[uk]]></category>
		<category><![CDATA[usa]]></category>
		<category><![CDATA[workshop]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1615</guid>
		<description><![CDATA[I&#8217;ve just arrived back in the UK after NSConference 2010 USA in Atlanta, where I delivered a 6-hour workshop and also gave a presentation on Making Mistakes Impossible. It was a huge amount of fun, and it was wonderful to get a chance to meet so many of you in person at last; I think [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just arrived back in the UK after <a href="http://nsconference.com/">NSConference</a> 2010 USA in Atlanta, where I delivered a 6-hour workshop and also gave a presentation on Making Mistakes Impossible. It was a huge amount of fun, and it was wonderful to get a chance to meet so many of you in person at last; I think the entire thing went very well indeed.</p>
<p>If you attended my workshop and/or saw my session during the Mac conference, I&#8217;d be very interested to hear your feedback &#8211; good <em>and</em> bad. Get in touch via email (&#8220;matt&#8221; at this domain, or my gmail: matt.gemmell), and please be as candid and specific as you like.</p>
<p>I hope everyone had even half as much fun as I did, and I hope to see you all again soon!</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/gjfQzxLDcLo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/02/27/send-me-your-nsconference-feedback/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/02/27/send-me-your-nsconference-feedback</feedburner:origLink></item>
		<item>
		<title>Writing Fiction Online</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/qLtlqERpyqU/writing-fiction-online</link>
		<comments>http://mattgemmell.com/2010/02/16/writing-fiction-online#comments</comments>
		<pubDate>Tue, 16 Feb 2010 00:01:27 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[writing]]></category>
		<category><![CDATA[dialogue]]></category>
		<category><![CDATA[fan]]></category>
		<category><![CDATA[fiction]]></category>
		<category><![CDATA[style]]></category>
		<category><![CDATA[tips]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1571</guid>
		<description><![CDATA[I read quite a lot of fiction, and in recent years I&#8217;ve taken to reading a fair bit of it online during odd moments; maybe a chapter of an amateur novel with lunch, or some fan fiction while waiting for the coffee to brew.
Amateur fiction is a wonderful thing, and the internet is a great [...]]]></description>
			<content:encoded><![CDATA[<p>I read quite a lot of fiction, and in recent years I&#8217;ve taken to reading a fair bit of it online during odd moments; maybe a chapter of an amateur novel with lunch, or some fan fiction while waiting for the coffee to brew.</p>
<p>Amateur fiction is a wonderful thing, and the internet is a great publishing medium, but you naturally run into the issue of quality control &#8211; there&#8217;s a lot of bad fiction out there. Perhaps not quite as much as you&#8217;d think, but still a lot. If you&#8217;re writing such stuff and your problems are those of triteness, illogical plot points, indecipherable or tired dialogue or any of dozens of other problems, I can&#8217;t really help you.</p>
<p>But there&#8217;s a far bigger group of writers out there whose problems are those of <em>style</em>, and I <em>can</em> give some advice on that. Here are a few stylistic guidelines to follow for readable, smoothly flowing online fiction.</p>
<p><span id="more-1571"></span><br />
<h4>Emphasis only</h4>
<p>You only need one kind of emphasis, and it should be <em>this kind</em>. Call it italics or whatever else, but stick with just that style. Don&#8217;t use boldface or underline or anything else, as a general rule. You can, of course, very sparingly use all-capitalised words for suitable effect.</p>
<h4>Use the same emphasis for thoughts</h4>
<p>If someone is <em>thinking</em>, use the same old emphasis &#8211; and don&#8217;t use quotation marks around the thought either. Do it like this:</p>
<blockquote><p>
<em>I would rather out-think them than out-fight them</em>, he thought. <em>Violence must be our last resort.</em>
</p></blockquote>
<p>If you need to emphasise something within a thought, then you <em>remove</em> the style, like this:</p>
<blockquote><p>
<em>I will</em> never <em>forgive him for this.</em>
</p></blockquote>
<h4>Use blank lines between paragraphs</h4>
<p>Separate your paragraphs with a blank line. Don&#8217;t indent them; that&#8217;s antiquated, harder to read and more suitable for print.</p>
<h4>Avoid sound effects</h4>
<p>Any attempt to render a sound in text will come across as corny and bizarre; don&#8217;t even try. Instead, either describe the sound in passing or simply make reference to the fact that a sound was heard.</p>
<p>This is bad:</p>
<blockquote><p>
Picard didn&#8217;t even glance up from his computer terminal as the familiar BEE-DEE-BEE-DEE sound announced that someone was requesting entry to his Ready Room.
</p></blockquote>
<p>This is better:</p>
<blockquote><p>
Picard didn&#8217;t even glance up from his computer terminal as the familiar sound of the door chime announced that someone was requesting entry to his Ready Room.
</p></blockquote>
<h4>Don&#8217;t let characters babble</h4>
<p>Writing dialogue is very difficult, for two different reasons. First, you have to decide <em>what</em> the characters actually say &#8211; and that part is up to you. Second, you have to figure out how to make them say it in a believable and tolerable way.</p>
<p>So many amateur writers spew dialogue onto the page and end up giving the reader the impression that the characters were having a verbal tennis match. I see stuff like this a lot:</p>
<blockquote><p>
&#8220;Is there something wrong, T&#8217;Pol?&#8221; asked Archer.</p>
<p>&#8220;I am uncertain what you are referring to, Captain,&#8221; she replied.</p>
<p>&#8220;You&#8217;ve seemed even more withdrawn than usual over the past few days.&#8221;</p>
<p>&#8220;Have I not been performing my duties adequately?&#8221;</p>
<p>&#8220;I didn&#8217;t say that. I&#8217;m just concerned, that&#8217;s all. I wanted to see if there was anything troubling you.&#8221;</p>
<p>&#8220;I appreciate your concern, but there is nothing the matter. I have simply not had sufficient time for my regular meditation during our ongoing negotiations with the Andorians.&#8221;</p>
<p>&#8220;Well, if you say so.&#8221;
</p></blockquote>
<p>It&#8217;s not awful, but it&#8217;s a bit disconnected and confrontational. It gives the impression of quite a rapid and unanchored exchange, whereas the actual dialogue itself tends to suggest a more nuanced and cautious conversation. There were probably pauses and contemplative silences, and meaningful looks flying around, but we missed them all &#8211; and that&#8217;s a real shame.</p>
<p>I even sometimes see prose written like a screenplay, simply because many people don&#8217;t know how to write and pace dialogue. It does take some work, but it&#8217;s not difficult. Feel free to space out the dialogue; really visualise the people who are speaking. They don&#8217;t stand facing each other and robotically deliver rapid-fire retorts like two computers playing chess against each other. Slow it down, and describe what&#8217;s <em>happening</em> as well as what&#8217;s being said.</p>
<p>Taking the same conversation between Archer and T&#8217;Pol, we can make it much more interesting to read and less jarring by doing something like this:</p>
<blockquote><p>
She took the indicated chair only reluctantly, and if anything she looked even less comfortable seated than she had when standing.</p>
<p><em>Sitting ramrod straight and perched on the very edge</em>, Archer thought. <em>You&#8217;d think there was no Vulcan word for &#8220;relax&#8221;.</em></p>
<p>He sighed, noticing one delicate eyebrow rising momentarily at the sound, and began.</p>
<p>&#8220;Is there something wrong, T&#8217;Pol?&#8221; he asked, almost immediately regretting his choice of words. She visibly tensed up even further, though he wouldn&#8217;t have thought it possible.</p>
<p>&#8220;I am uncertain what you are referring to, Captain,&#8221; she replied, her voice measured and calm. Her facial expression was a picture of control, but her large eyes betrayed a hint of uneasiness.</p>
<p>&#8220;You&#8217;ve seemed even more withdrawn than usual over the past few days,&#8221; he replied, trying to keep his tone relatively light but knowing he wasn&#8217;t entirely succeeding. He was worried, and a part of him wanted her to know it.</p>
<p>&#8220;Have I not been performing my duties adequately?&#8221; she dissembled, fully aware that it was a stalling tactic at best. Jonathan Archer was remarkably perceptive for a human, and he was usually quite proficient at seeing past her cool, logical exterior.</p>
<p>&#8220;I didn&#8217;t say that,&#8221; he replied, his tone slightly strained; &#8220;I&#8217;m just concerned, that&#8217;s all. I wanted to see if there was anything troubling you.&#8221;</p>
<p>He gave her a small smile, and saw her glance away for a moment before once again meeting his gaze.</p>
<p>&#8220;I appreciate your concern, but there is nothing the matter,&#8221; she said, and this time it was his turn to raise an eyebrow. &#8220;I have simply not had sufficient time for my regular meditation during our ongoing negotiations with the Andorians.&#8221;</p>
<p>He looked at her in silence for a long moment, scanning her face for the slightest weakening of the barrier she always kept in place. As usual, there was none to be found. He sighed once more.</p>
<p>&#8220;Well, if you say so,&#8221; he said, again offering a weak smile for a moment before turning and crossing to the window.</p>
<p>She knew this was her cue to leave, so she stood up and went to the door, pressing the small panel to make it slide open. She was about to step out into the corridor when he spoke again.</p>
<p>&#8220;If you ever want to talk, you know where to find me,&#8221; he said.</p>
<p>She looked round and saw he was once again facing her, but his expression was hidden in the glare of the stars behind. She simply nodded, and after a pause which was perhaps a moment longer than necessary, she stepped through the doorway.
</p></blockquote>
<p>Now yes, that&#8217;s quite a bit longer, but it&#8217;s also a <em>lot</em> more interesting and less like some kind of verbal duel. It&#8217;s better paced, and it doesn&#8217;t cause as much confusion or shortness of breath.</p>
<p>Pace your dialogue; focus on the entire interaction, not just the spoken words. People think and gesticulate and pause and sigh and fidget and frown and a million other things; they don&#8217;t just chatter at each other. Slow it down.</p>
<h4>Use an authentic voice</h4>
<p>Don&#8217;t make characters say things they wouldn&#8217;t. This is particularly important when writing fan fiction; you&#8217;ve got keep the characters <em>in character</em>. This, for example, is bad:</p>
<blockquote><p>
&#8220;That sounds pretty freaking dumb, Geordi,&#8221; said Picard.
</p></blockquote>
<p>This is considerably more believable:</p>
<blockquote><p>
&#8220;I believe that may prove unwise, Commander,&#8221; said Picard.
</p></blockquote>
<p>Make your story as crazy as you like, but make your characters believable.</p>
<h4>Use breaks</h4>
<p>Chapters are your largest organisational units; use them appropriately, but don&#8217;t <em>overuse</em> them (like Dan Brown). There&#8217;s a natural type of break which can occur within a chapter, to indicate that the time and/or location has changed: it&#8217;s called a <em>scene break</em>. If you&#8217;re writing fiction online, it&#8217;s conventional to just insert some kind of horizontal separator &#8211; you should feel free to do so with abandon, and always to mark time/place changes.</p>
<p>You can use an HTML horizontal rule, or a few centered &#8220;+&#8221; symbols, or whatever you like &#8211; just be consistent. You do <em>not</em> need any other kind of break besides scene and chapter. When you reach the end of a chapter, take an entirely new page (if you&#8217;re publishing online, literally link to another page on the web where the next chapter can be found).</p>
<h4>Avoid inappropriate cultural references</h4>
<p>This one is a very common problem, and it&#8217;s a sure-fire way to make your writing sound cheesy. No matter how ideally a pop song expresses the sentiment you want your protagonist to have, do <em>not</em> make him or her listen to it, mention its aptness, or (god forbid) <em>sing it to another character</em>.</p>
<p>Those things will seem like a really wonderful idea if you&#8217;re thirteen years old, but for the vast majority of your readers they&#8217;ll be agonising. Instead, describe the character&#8217;s actual feelings &#8211; by all means use analogy to do so &#8211; and don&#8217;t cheapen the moment by reducing it to a quotation of lyrics.</p>
<p>Relatedly, if you&#8217;re shamelessly copying a plot point from a TV show in your own fictional world, resist the temptation to have one of your characters remark on how similar the events are to what happened in that TV show. It sounds self-conscious and adolescent, and it&#8217;s considerably less amusing than you think it is. Avoid.</p>
<h4>Get a proof-reader</h4>
<p>This is blindingly obvious, but it&#8217;s also universally ignored: get someone who <em>isn&#8217;t you</em> to read your work. Not your mother, unless she&#8217;s likely to give constructive, honest feedback. Others will see problems that are invisible to you, particularly with regard to pacing and logic. Take their suggestions and criticisms on board, and revise accordingly.</p>
<p>I&#8217;ve barely scratched the surface of this topic here; feel free to suggest more tips (not just pet peeves, please; offer the solution to the problem too) in the comments below.</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/qLtlqERpyqU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/02/16/writing-fiction-online/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/02/16/writing-fiction-online</feedburner:origLink></item>
		<item>
		<title>NSConference 2010 US Workshop</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/9OltU0wNjqs/nsconference-2010-us-workshop</link>
		<comments>http://mattgemmell.com/2010/02/08/nsconference-2010-us-workshop#comments</comments>
		<pubDate>Mon, 08 Feb 2010 17:15:08 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[speaking]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1567</guid>
		<description><![CDATA[If you&#8217;re attending my workshop in the US at NSConference 2010, I&#8217;d like to ask you to please read this and email your questions, topics and suggestions for what you&#8217;d like to cover. Anything at all is most welcome; it&#8217;s your workshop, and the reason the UK one went so well is because so many [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re attending my workshop in the US at NSConference 2010, I&#8217;d like to ask you to please <a href="http://mattgemmell.com/2010/01/14/nsconference-2010-workshop">read this</a> and email your questions, topics and suggestions for what you&#8217;d like to cover. Anything at all is most welcome; it&#8217;s <em>your</em> workshop, and the reason the UK one went so well is because so many people contributed interesting points for us to discuss.</p>
<p>You can ask to remain entirely anonymous if you wish, and you can similarly contribute a question or issue that you&#8217;ve already solved &#8211; there might be scope for other views or some useful additions. In you have a possible topic in mind and aren&#8217;t sure about it, send it anyway!</p>
<p>You can send your thoughts to me via email to my gmail account (matt.gemmell) or to matt at this domain. Get those suggestions in.</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/9OltU0wNjqs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/02/08/nsconference-2010-us-workshop/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/02/08/nsconference-2010-us-workshop</feedburner:origLink></item>
		<item>
		<title>Ask me anything</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/u-34E4aivqE/ask-me-anything</link>
		<comments>http://mattgemmell.com/2010/02/07/ask-me-anything#comments</comments>
		<pubDate>Sun, 07 Feb 2010 23:25:09 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Personal]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[ask]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[formspring]]></category>
		<category><![CDATA[question]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[UI]]></category>
		<category><![CDATA[usability]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1564</guid>
		<description><![CDATA[I discovered Formspring today via Twitter, and I think it&#8217;s an interesting idea: you can ask people questions on anything you like, and see their responses listed. Very simple and not very original, but the lack of a need to sign up (though you can if you want to) and the simplicity of the interface [...]]]></description>
			<content:encoded><![CDATA[<p>I discovered <a href="http://www.formspring.me/mattgemmell">Formspring</a> today via Twitter, and I think it&#8217;s an interesting idea: you can ask people questions on anything you like, and see their responses listed. Very simple and not very original, but the lack of a need to sign up (though you can if you want to) and the simplicity of the interface is somehow very conducive to just asking and answering.</p>
<p>I&#8217;ve already answered almost 40 questions on all kinds of things (mostly Mac/iPad/iPhone UI/interaction questions), and I&#8217;ve love to hear yours &#8211; though please note that I&#8217;m more interested in giving my <em>opinions</em> on things than answering specific technical questions. You can <a href="http://www.formspring.me/mattgemmell">ask me a question here</a>.</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/u-34E4aivqE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/02/07/ask-me-anything/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/02/07/ask-me-anything</feedburner:origLink></item>
		<item>
		<title>How to compete with iPad</title>
		<link>http://feedproxy.google.com/~r/mattgemmell/rss2/~3/2BotEVO1wxE/how-to-compete-with-ipad</link>
		<comments>http://mattgemmell.com/2010/02/05/how-to-compete-with-ipad#comments</comments>
		<pubDate>Fri, 05 Feb 2010 19:26:14 +0000</pubDate>
		<dc:creator>Matt Legend Gemmell</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Interface]]></category>
		<category><![CDATA[Tech]]></category>
		<category><![CDATA[compete]]></category>
		<category><![CDATA[computer]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[tablet]]></category>
		<category><![CDATA[touch]]></category>

		<guid isPermaLink="false">http://mattgemmell.com/?p=1542</guid>
		<description><![CDATA[This is an open letter to the many companies who want to compete with the iPad. Sony, HP, the JooJoo people; all of them.
Dear Potential iPad Competitors,
We&#8217;ve all seen the media furore about the iPad, and we know that this day has been coming for a long time. There&#8217;s something natural and seductive about the [...]]]></description>
			<content:encoded><![CDATA[<p>This is an open letter to the many companies who want to compete with the iPad. Sony, HP, the JooJoo people; all of them.</p>
<p><span id="more-1542"></span>Dear Potential iPad Competitors,</p>
<p>We&#8217;ve all seen the media furore about the iPad, and we know that this day has been coming for a long time. There&#8217;s something natural and seductive about the idea of a tablet computer. Something to do with the form factor, portability, implied intuitiveness and non-computery quality of the thing. It&#8217;s straight out of Star Trek, and a lot of people want one in their lives.</p>
<p>I&#8217;m a little worried about you, though. Your usual tactic is to simply copy the industrial design of the most successful product, reduce the price, then adopt a pump and dump strategy until your next quarterly financials. That&#8217;s fine in itself; that&#8217;s how business works. I just think you&#8217;re misinterpreting both why people are excited about the iPad (even if they don&#8217;t realise it), and what exactly you need to copy. I think you might be on a dead-end track without even realising it.</p>
<p>I&#8217;m here to help you. I mean that genuinely. As you read the previous paragraphs, you were probably assuming I was speaking in a sarcastic, mean-spirited Apple fanboy tone &#8211; I assure you that&#8217;s not the case. Yes, I&#8217;m a <a href="http://instinctivecode.com/">Mac/iPhone/iPad developer and contractor</a>, and I&#8217;m excited about the iPad, but I&#8217;m <em>more</em> excited by the general class of devices which iPad represents.</p>
<p>I don&#8217;t want Apple to be the only company who understands the potential and attraction of devices like these. I use an iPhone, but I&#8217;m glad that there are now many other touch-screen smartphones with polished interfaces, multi-touch capability, desktop-class web browsers and functionality-enhancing sensor hardware. A good idea is a good idea, and I&#8217;d like everyone to have access to it.</p>
<p>Competition is good, but only as long as it&#8217;s <em>good competition</em>. A flood of second-rate imitations doesn&#8217;t help anyone; not the customer, and not even your bottom line. The better you compete, the more marketshare you&#8217;ll have and the more choice the consumer will have. I&#8217;m trying to take a long-term view of this burgeoning market, because it&#8217;s the responsible thing to do given that I care about empowering people in general, rather than enriching one specific company (whichever company that might be).</p>
<p>So, let me tell you about a few areas in which I think you might have got the wrong end of the stick about iPad, and what you need to do to compete with it most effectively.</p>
<h4>Tablets aren&#8217;t computers</h4>
<p>Several of you have announced you&#8217;re going to create products that you call <em>tablet computers</em>. I think we&#8217;re immediately heading off down the wrong path here, at least if your intention is to compete with iPad and grab a decent chunk of the market. A big part of the reason for all the excitement about the iPad is that, similar to the Nintendo Wii in the videogames industry, it appeals to segments of the market which have not traditionally been targeted. Segments which are nevertheless ready and willing, as with Wii, to buy devices in their hundreds of thousands.</p>
<p>It&#8217;s difficult to get our heads around the fact that these non-technologically-savvy users can suddenly constitute a <em>core market</em> for a device, yet that&#8217;s the case here. Nintendo saw it, and Apple sees it too. It&#8217;s an uncomfortable realisation since these people are so unfamiliar to people like you, as hardware manufacturers, and me as a software engineer. This discomfort leads to a kind of understandable blindness, and more importantly can make us leave money on the table. The relative sales and demand figures for Wii vs PlayStation 3 and Xbox 360 over the last several Christmases are indicative of that.</p>
<p>When competing with iPad, you have to realise that, to your new core market, <em>tablets are not computers</em>. There&#8217;s no such thing (to your customer) as a &#8220;tablet computer&#8221;; the very name reduces the likelihood they&#8217;ll buy it. The potential of the tablet is that it&#8217;s not even seen as a computing device. This is an incredible opportunity to expand into a new market, if you&#8217;ll only commit to that mindset.</p>
<p>If you&#8217;re thinking of a &#8220;tablet computer&#8221;, you&#8217;re only coming halfway, and you&#8217;re asking your customers to come further than they want to. My advice to you is: commit to the vision of a <em>tablet</em>, not a <em>tablet computer</em>, and you&#8217;ll have taken the first step towards claiming your share of the money which your new customers are ready and waiting to spend.</p>
<h4>The tablet market isn&#8217;t the netbook market</h4>
<p>During his iPad introduction keynote, Steve Jobs essentially said that netbooks compromise on everything. What he meant was that netbooks are essentially a laptop with a series of cost-cutting measures applied in order to hit a particular price-point, in the hope that high unit sales will result. The premise of netbooks has proven to be financially valid, and they&#8217;re selling well &#8211; I&#8217;m even typing this post on one.</p>
<p>From your customers&#8217; perspective, it&#8217;s almost the opposite situation: netbooks compromise on <em>nothing but price</em>. To the potential tablet market, and most of the netbook market, computers are hard. They&#8217;re idiosyncratic, needlessly complex things that impose a daily cost in exchange for offering up their functionality. That&#8217;s true of all computers, regardless of OS or hardware. To much of the netbook market (and pretty much all of the tablet market), the only gesture of diplomacy towards the user that netbooks make is that they&#8217;re cheap. That&#8217;s not a strong basis for a customer relationship or a buying decision.</p>
<p>For this reason, the tablet market isn&#8217;t the netbook market. It&#8217;s true that tablets may cannibalise netbook sales, at least to some extent. But there&#8217;s a fundamental benefit: the actual <em>value proposition</em> of a tablet to the vast untapped true-consumer market is vastly higher than that of a netbook. To your customer, a tablet is a &#8220;compromise machine&#8221; <em>in the best possible way</em>. A tablet is something that people intuitively understand better than the alien and abstract form of a laptop or some arbitrary desktop computer. It&#8217;s critically important to capitalise on this, which leads me to my next point.</p>
<h4>Tablets aren&#8217;t hardware</h4>
<p>Many of you have shown in your tablet pre-announcements that you believe tablets like the iPad are hardware devices, but you&#8217;re wrong. A tablet device is, in itself, simply a touch-controlled display containing a computer. It&#8217;s the top part of a laptop but with touch sensitivity on the screen. That&#8217;s not a tablet, by any definition your customers will implicitly use.</p>
<p><em>A tablet is a synthesis of hardware and software.</em></p>
<p>If you&#8217;re planning to supply the one without the other (probably the hardware without the software), you will fail commercially. You&#8217;re not even in the same market. I&#8217;d like you to be in the same market because there&#8217;s always room for a wonderful new offering and no single company should own any space. But you have to sweep away this dangerously incorrect assumption.</p>
<p>If you&#8217;re going to put a desktop operating system onto a tablet device, you&#8217;re going to immediately alienate the vast majority of your <em>potential</em> customers. Note the word &#8220;potential&#8221;. Paradoxically, you may temporarily placate most of your <em>existing</em> customers, but you&#8217;re not innovating and you&#8217;re certainly leaving a lot of money on the table.</p>
<p>Even if you&#8217;re planning to run a desktop operating system with a tablet/touch-suitable <em>veneer</em>, I think it&#8217;s a poor decision. The breadth of value of your device will then be the extent of that veneer and the functionality it makes available, and nothing more. What you may think of as the powerful bonus of a full desktop environment will prove to be a limiting factor, and a frustration to your user. You have to <em>commit</em> to the device if you&#8217;re going to be relevant in this potentially very lucrative segment.</p>
<p>The greatest success will go to those who fully commit to the software. Your hardware must be good enough, but your software must be nothing short of excellent. Using an OS designed for a screen and a mouse and a keyboard, with or without a launcher or overlay as a token nod towards touch-based interaction, doesn&#8217;t count as remotely excellent. Customers want the tablet experience because they can focus on doing the things they want to do, and be free from the tyranny of computers which force an unfamiliar and abstract input mechanism on them, and software which assumes everyone is an idiosyncratic expert in the task they want to accomplish. Tablets are about people and goals, not machines and tasks.</p>
<p>It&#8217;s not possible to meet that expectation without designing it into the software from the ground up. Don&#8217;t sabotage your own efforts right from the outset.</p>
<h4>Limitations aren&#8217;t portable</h4>
<p>There&#8217;s been a lot of press about the limitations of the iPad, and you&#8217;re probably both frightened and overjoyed by it. Frightened because you don&#8217;t want those complaints to be levelled at <em>your</em> product, and overjoyed because you feel that if you overcome those limitations then you&#8217;ll have a strong comparative marketing campaign and a shot at the market.</p>
<p>Be very careful. For the most part, those oft-mentioned &#8220;limitations&#8221; are <em>limitations for a computer</em>. Yes, a computer without multitasking and Flash support and expandable storage and a built-in camera would indeed be relatively undesirable, and vulnerable to competition. But you have to remember that limitations <em>aren&#8217;t portable</em> between product categories.</p>
<p>As I mentioned, a tablet isn&#8217;t actually a computer. What constitutes a limitation on a tablet may not be a limitation on a computer, and vice versa. The key to understanding which is which lies in user perception, and not at all in technical details. Let&#8217;s look at some things which are listed as limitations of the iPad, from the point of view of customer perception of a tablet device.</p>
<p><strong>No multitasking</strong>, in the sense of running multiple UI-presenting apps simultaneously. The user doesn&#8217;t care about this. The small existing market of technically-savvy people do, but the majority of users switch between tasks without any regard to applications. They&#8217;re entirely happy to jump between their email client and web browser and ebook reader software without caring whether they&#8217;re launching and quitting them. Indeed, to most people, switching between apps <em>is</em> launching and quitting them.</p>
<p>There are indeed cases where there&#8217;s a real advantage to keeping things running in the background, say to obtain notifications of new instant messages or twitter updates; the iPad can do those things via other means like push-notification systems. The OS itself is fully multitasking-capable, and indeed many system process are running simultaneously at all times, so it&#8217;s possible we&#8217;ll see third-party background applications in future. The complaint about &#8216;lack&#8217; of multitasking is a false limitation which is meaningless to the majority of your potential market. Conversely, the benefits of improved stability and extended battery life are <em>very real</em>.</p>
<p><strong>No expandable storage</strong>. Users don&#8217;t care. There&#8217;s a 64Gb model, and data can be selectively synchronised to the device. Our lives are increasingly stored in the cloud and accessed remotely, and local storage is dying a slow death. By all means throw in whatever storage you can, but it&#8217;s a fallacy to assume that the power and weight costs of a hard drive are in any way a wise trade-off against solid state media in a tablet device, no matter how much storage hard drives can provide. Your user doesn&#8217;t really care, and the question is fast becoming irrelevant.</p>
<p><strong>Closed system</strong>. This is the very opposite of what your customers care about. The percentage of your customer base who make a buying decision based on the openness of a system (in terms of system-level customisation options, use of open source software or otherwise) is vanishingly tiny. They&#8217;re very <em>vocal</em>, certainly, but commercially they&#8217;re irrelevant. Pandering to this segment will most certainly damage your penetration into the market. Be extremely wary about sacrificing large-scale appeal for the sake of a tiny but noisy technical minority. The tablet space is in no way designed for or aimed at such users.</p>
<p><strong>The App Store walled garden</strong>. Your customers care about ease of discovering, browsing, buying and installing new apps; they don&#8217;t care in the least about whether it&#8217;s an open system or not. They don&#8217;t care about freedoms of developers, and developers themselves care more about visibility and marketing and sales than they do about pure principles of software democracy. The constraints of the App Store provide a unique, easily discoverable channel which is right in front of every user, and it also establishes at least a basic level of quality control. Your customers want everything that the App Store provides, and practically none of what it doesn&#8217;t. It&#8217;s a bonus, not a limitation.</p>
<p>Equally, there are some iPad limitations which might well be genuine shortcomings. There are two obvious examples which have been widely commented upon.</p>
<p><strong>No support for Flash</strong>. No-one except Adobe actually cares about Flash, but a huge number of people care about the stuff that just happens to be <em>made</em> with Flash. Apple&#8217;s decision not to support Flash is not purely a technological one (Flash&#8217;s graphics performance, CPU utilisation and corresponding power consumption aren&#8217;t <em>that</em> awful, though they can indeed be sub-standard), and for the average person there will indeed be places on the web with blue &#8220;missing plugin&#8221; icons where they instead expect a familiar game or widget.</p>
<p>This constitutes a genuine opportunity for a comparative benefit in your product, albeit a very small one. Remember: people care about content and experiences, and do not care in the least about Flash itself per se. The relevance of Flash is likely to decrease in future, and it&#8217;s by no means a killer feature. Flash support on a tablet device amounts to a bullet point, but probably a valid one when competing with iPad.</p>
<p><strong>No camera</strong>. From the average user&#8217;s perspective, I do think this is a valid limitation. It&#8217;s clear to every reasonable person in the world that Apple will at some point introduce an iPad model with a camera, but for now it&#8217;s a potential gap. Fill it, and compete &#8211; but don&#8217;t assume that you can substitute a camera for a core part of the tablet experience.</p>
<h4>Don&#8217;t miss the point</h4>
<p>The core message here is that there&#8217;s an enormous market out there who want to buy something they&#8217;ve only just learned about: the tablet <em>experience</em>. It&#8217;s not hardware alone, but the inseparable union of hardware and tablet-specific software which creates a device other than what they regrettably know as a &#8220;computer&#8221;. Don&#8217;t miss the point by creating something that&#8217;s only a missing link between computers and tablets, no matter how strong the temptation. That&#8217;s a path to mediocrity at best, and failure at worst.</p>
<p>I offer these thoughts honestly and genuinely, because I care about this class of device and its enormous potential to empower and connect people. I don&#8217;t mind which logo is etched or printed on my tablet, but I will choose it according to the best principles of a meritocracy. I just want to make sure you don&#8217;t take a wrong turn before many of you have even started down the road.</p>
<p>Please compete, but don&#8217;t compete blindly. Don&#8217;t make the mistake of retrofitting conventional computer thinking to what is a fundamentally new class of device. Every moment of jarring re-orientation of how we view bringing computing devices to market will pay dividends if you&#8217;re willing to commit to the potential your customers see in a tablet. I truly believe that you&#8217;ll thank me later if you&#8217;re only brave and visionary enough to see this opportunity for what it is.</p>
<p>I hope you&#8217;ll take some of this advice to heart; I truly do. I look forward to seeing what you bring to market.</p>
<img src="http://feeds.feedburner.com/~r/mattgemmell/rss2/~4/2BotEVO1wxE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://mattgemmell.com/2010/02/05/how-to-compete-with-ipad/feed</wfw:commentRss>
		<slash:comments>114</slash:comments>
		<feedburner:origLink>http://mattgemmell.com/2010/02/05/how-to-compete-with-ipad</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.295 seconds. --><!-- Cached page generated by WP-Super-Cache on 2010-03-17 20:36:36 --><!-- Compression = gzip -->
