<?xml version="1.0" encoding="UTF-8"?> <rss
version="2.0"
xmlns:content="http://purl.org/rss/1.0/modules/content/"
xmlns:wfw="http://wellformedweb.org/CommentAPI/"
xmlns:dc="http://purl.org/dc/elements/1.1/"
xmlns:atom="http://www.w3.org/2005/Atom"
xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
><channel><title>Terence Eden has a Blog &#187; usability</title> <atom:link href="http://shkspr.mobi/blog/index.php/category/usability/feed/" rel="self" type="application/rss+xml" /><link>http://shkspr.mobi/blog</link> <description>Mobiles, Shakespeare, Politics, Usability.</description> <lastBuildDate>Mon, 06 Feb 2012 16:31:09 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.3.1</generator> <item><title>Bitcoin Sucks &#8211; But It Doesn&#8217;t Have To!</title><link>http://shkspr.mobi/blog/index.php/2011/11/bitcoin-sucks-but-it-doesnt-have-to/</link> <comments>http://shkspr.mobi/blog/index.php/2011/11/bitcoin-sucks-but-it-doesnt-have-to/#comments</comments> <pubDate>Tue, 15 Nov 2011 16:55:52 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[bitcoin]]></category> <category><![CDATA[design]]></category> <category><![CDATA[nablopomo]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=4111</guid> <description><![CDATA[Bitcoin me! 1JDDn6cHgzqsRtgQJZwhToJPAX4oYZg19T If that &#8220;sentence&#8221; makes any sense to you &#8211; you&#8217;re not a muggle. Muggles (for want of a better epithet) don&#8217;t want to invest a lot of time into things which don&#8217;t fit with their mental model of how the world works. Without getting into a philosophical discussion on what money is <a
href='http://shkspr.mobi/blog/index.php/2011/11/bitcoin-sucks-but-it-doesnt-have-to/'>[...]</a>]]></description> <content:encoded><![CDATA[<blockquote><p>Bitcoin me! 1JDDn6cHgzqsRtgQJZwhToJPAX4oYZg19T</p></blockquote><p>If that &#8220;sentence&#8221; makes any sense to you &#8211; you&#8217;re not a muggle.  Muggles (for want of a better epithet) don&#8217;t want to invest a lot of time into things which don&#8217;t fit with their mental model of how the world works.</p><p>Without getting into a philosophical discussion on what money is and how value is generated &#8211; let&#8217;s look at how Bitcoin works in practice.</p><h2>Failing to Design is Designing to Fail</h2><p>Bitcoin is doomed to fail.  Pick a reason why.</p><ul><li>Governments will ban it.</li><li>A proprietary alternative will spring up.</li><li>An EMP will destroy enough Internet infrastructure to seriously disrupt it.</li><li>Naughty hackers will commit massive fraud.</li><li>Normal people will be too confused to even start consider it.</li></ul><p>All are a possibility.  The most likely is ignorance and apathy generate by crappy execution on lack of focus on the normal user.</p><h2>PayPal</h2><p>Before it became big and a bit crap, PayPal started off with a very simple idea.</p><ol><li>Send money to an email address.</li><li>Receive money sent to your email address.</li></ol><p>Pretty damn simple.  If I have money in a PayPal account, I can send it to alice@example.com .<br
/> Alice receives an email saying she now has money in her PayPal account (and if she didn&#8217;t have one previously, an account has been created).</p><p>Now, there are caveats, and charges, and edge cases, and multiple points of failure.  But the idea is simple.</p><h2>How Bitcoin Works In Practice</h2><ol><li>Install software onto your PC.</li><li>Configure it.</li><li>Find some way to <a
href=" http://forum.bitcoin.org/?topic=2270.0">convert cash into BitCoins</a>.</li><li>Copy and paste long, incomprehensible random strings, with no user-friendly error detection.</li><li>Use the software to send coins with no out-of-band communication for confirmation.</li></ol><p>Now, each of those points in of itself isn&#8217;t insurmountable. But taken together they present a rather formidable challenge.  With PayPal, Google Checkout, or regular bank transfer, the flow is</p><ol><li>Get recipient&#8217;s ID (either an email or a short string of number)</li><li>Create an instruction via web, mobile, voice, SMS, or in person.</li><li>Recipient receives confirmation.</li></ol><p>I&#8217;ve left off the &#8220;set up&#8221; stage because most people already have at least one method of payment at their disposal.  Even if they don&#8217;t, setting up a PayPal account is trivial compared to setting up Bitcoin.</p><h2>Designing For Humans</h2><p>Bitcoin, at the moment, isn&#8217;t designed for normal people.  It&#8217;s designed for geeks like me.  And even I can&#8217;t be bothered to set it up.</p><p>But if Bitcoin &#8211; or any other <a
href="http://www.metacurrency.org/">currency</a> &#8211; wants to fulfil its destiny and revolutionise &#8220;money&#8221;, it needs to be easy for normal people to understand and use.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=4111&amp;md5=599d2a6d5bd0294c1cd27f243c93c82d" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2011/11/bitcoin-sucks-but-it-doesnt-have-to/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=4111&amp;md5=599d2a6d5bd0294c1cd27f243c93c82d" type="text/html" /> </item> <item><title>When is a URL not a URL?</title><link>http://shkspr.mobi/blog/index.php/2011/07/when-is-a-url-not-a-url/</link> <comments>http://shkspr.mobi/blog/index.php/2011/07/when-is-a-url-not-a-url/#comments</comments> <pubDate>Wed, 27 Jul 2011 11:37:57 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[/etc/]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[api]]></category> <category><![CDATA[regex]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[urls]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=4271</guid> <description><![CDATA[Summary Twitter&#8217;s way of linking URLs is broken. It&#8217;s annoying to users, and a pain in the arse to developers. This quick post talks about the problem and offers a solution. I&#8217;ve raised a bug with Twitter and I hope you&#8217;ll star it as important to you. Preamble A common trope in programming classes is <a
href='http://shkspr.mobi/blog/index.php/2011/07/when-is-a-url-not-a-url/'>[...]</a>]]></description> <content:encoded><![CDATA[<h2>Summary</h2><p>Twitter&#8217;s way of linking URLs is broken.  It&#8217;s annoying to users, and a pain in the arse to developers.  This quick post talks about the problem and offers a solution.</p><p><a
href="http://code.google.com/p/twitter-api/issues/detail?id=2240">I&#8217;ve raised a bug with Twitter</a> and I hope you&#8217;ll star it as important to you.<br
/> <span
id="more-4271"></span></p><h2>Preamble</h2><p>A common trope in programming classes is &#8220;<a
href="http://www.regular-expressions.info/email.html">how do you detect valid email address</a>?&#8221;</p><p>It should be obvious, right?  A string of text, an @, a domain &#8211; probably ending in .com.<br
/> As it turns out, it&#8217;s not that simple.  &#8220;who+o&#8217;toole@invalid.museum&#8221; is a potentially valid address, for example.<br
/> There are literally thousands of ways to detect the potentially infinite variety of email addresses.</p><p>The same is true for URLs &#8211; and slavish adherence to guidelines is killing Twitter&#8217;s usefulness.</p><h2>The URL Matching Problem</h2><p>Which of these strings should be turned into hyperlinks?</p><pre>
www.bbc.co.uk

example.com

http://test

https://test.test

ftp://news.com
</pre><p>As it happens, Twitter only matches &#8220;https://test.test&#8221; and none of the others.</p><p><a
href="https://twitter.com/edent/status/96172785436590080"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/07/URL-test-1.jpg" alt="" title="URL test 1" width="514" height="216" class="aligncenter size-full wp-image-4274" /></a></p><p>Twitter&#8217;s matching regex is, as far as I can tell, this</p><pre>If it starts with http:// or https:// and has a dot in it - it's a URL</pre><p>I think this is a serious weakness.  Twitter users are sharing URLs which their followers can&#8217;t click on &#8211; Twitter is also linking to URLs which don&#8217;t exist.</p><p>I&#8217;ve picked these examples more or less at random.<br
/> <a
href="https://twitter.com/ianvisits/status/82712842112991232"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/07/URL-test-2.jpg" alt="" title="URL test 2" width="514" height="216" class="aligncenter size-full wp-image-4275" /></a></p><p><a
href="https://twitter.com/PeakChief/status/82722453767462912"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/07/URL-test-3.jpg" alt="" title="URL test 3" width="514" height="216" class="aligncenter size-full wp-image-4276" /></a></p><h2>Solution?</h2><p>Much like the email regexes, I would take a much more lax approach.  Essentially, if it looks vaguely like a URL &#8211; link to it.</p><p>I would suggest the following rules:</p><ul><li>If it starts with a protocol &#8211; http:// ftp:// tel: etc &#8211; create a hyperlink.</li><li>If it starts with www. &#8211; create a hyperlink.</li><li>If it ends . then a <a
href="http://data.iana.org/TLD/tlds-alpha-by-domain.txt">valid TLD</a> &#8211; create a hyperlink.</li><li>If it contains a <a
href="http://data.iana.org/TLD/tlds-alpha-by-domain.txt">valid TLD</a> followed by a slash then some other characters &#8211; create a hyperlink.</li></ul><p>The &#8220;correct&#8221; method would then be for Twitter to perform an <a
href="http://en.wikipedia.org/wiki/HTTP#Request_methods">HTTP HEAD request</a> to see if the URL is potentially valid.  There are three drawbacks to this.</p><ol><li>It may place excessive load on Twitter&#8217;s servers to process and cache these requests.</li><li>The URL may be that of an Intranet site &#8211; and thus inaccessible to Twitter.</li><li>The URL may be valid but temporarily inaccessible.</li></ol><p>Regardless of the method, surely it&#8217;s inexcusable that &#8220;www.example.com&#8221; isn&#8217;t detected as a URL whereas &#8220;http://bork.bork.bork&#8221; is?</p><h2>ACTION!</h2><p>If you think Twitter&#8217;s approach to hyperlinks is wrong &#8211; please <a
href="http://code.google.com/p/twitter-api/issues/detail?id=2240">make your voice heard at the bug report</a>.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=4271&amp;md5=14fc56a48a7b728fe933b966dd9788cb" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2011/07/when-is-a-url-not-a-url/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=4271&amp;md5=14fc56a48a7b728fe933b966dd9788cb" type="text/html" /> </item> <item><title>A Pun About Google Plus and The Circles of Hell</title><link>http://shkspr.mobi/blog/index.php/2011/07/a-pun-about-google-plu-and-the-circles-of-hell/</link> <comments>http://shkspr.mobi/blog/index.php/2011/07/a-pun-about-google-plu-and-the-circles-of-hell/#comments</comments> <pubDate>Thu, 07 Jul 2011 10:54:40 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[/etc/]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[google]]></category> <category><![CDATA[social networks]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=4245</guid> <description><![CDATA[Google Plus has a serious flaw. It&#8217;s summed up in this question: Why are you following me? I know who I want to share my &#8220;I hate my job&#8221; posts, and &#8220;Oh, my cat is so cute&#8221; pictures &#8211; but I talk about a wide range of things, not all of which you&#8217;ll be interested <a
href='http://shkspr.mobi/blog/index.php/2011/07/a-pun-about-google-plu-and-the-circles-of-hell/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Google Plus has a serious flaw.  It&#8217;s summed up in this question:</p><blockquote><p><strong>Why</strong> are you following me?</p></blockquote><p>I know who I want to share my &#8220;I hate my job&#8221; posts, and &#8220;Oh, my cat is so cute&#8221; pictures &#8211; but I talk about a wide range of things, not all of which you&#8217;ll be interested in.</p><p>At the moment, I&#8217;ve got nearly 150 people following me &#8211; and I don&#8217;t know which circle to put them in!</p><p><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/07/Google-Plus-Circles.jpg" alt="Google Plus Circles" title="Google Plus Circles" width="626" height="522" class="aligncenter size-full wp-image-4247" /></p><p>So I asked a simple question &#8211; what do you want to hear from me &#8211; and got a staggering response.<br
/> <a
href="https://plus.google.com/114725651137252000986/posts/NTsp5BFdX4Q"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/07/Google-Plus-Which-Circles.jpg" alt="Google Plus Which Circles" title="Google Plus Which Circles" width="859" height="828" class="aligncenter size-full wp-image-4246" /></a></p><p>This is something <a
href="http://loudmouthman.com/2011/07/01/google-groups-and-circlulars/">Nik Butler and I have discussed</a>.</p><p>Google needs to let people <em>choose which circles to follow</em>.</p><p>I imagine a UI which allows me to set a circle as private (&#8220;Work&#8221;, &#8220;Family&#8221;, &#8220;Political ranting&#8221;) and set some circles as public (&#8220;Kitten pictures&#8221;, &#8220;Industry News&#8221;, &#8220;Political thoughts&#8221;).</p><p>When you follow me, you can say &#8220;I hate kittens, but I love politics &#8211; I&#8217;ll follow one circle and ignore the others.&#8221;</p><p>At the moment, I don&#8217;t have the time to categorise 200 people into what I <strong>think</strong> they&#8217;re interested.  And they don&#8217;t want to be bombarded with QR codes when all they really want is LOLCATS.</p><p>So, come on Google, sort it out &#8211; let people choose which circles they want to be in.</p><p>Please RT!</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=4245&amp;md5=089291ea3a51930dfef51924087f359e" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2011/07/a-pun-about-google-plu-and-the-circles-of-hell/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=4245&amp;md5=089291ea3a51930dfef51924087f359e" type="text/html" /> </item> <item><title>Email Via QR Codes</title><link>http://shkspr.mobi/blog/index.php/2011/02/email-via-qr-codes/</link> <comments>http://shkspr.mobi/blog/index.php/2011/02/email-via-qr-codes/#comments</comments> <pubDate>Thu, 24 Feb 2011 11:26:40 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[qr]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[email]]></category> <category><![CDATA[KISS]]></category> <category><![CDATA[metro]]></category> <category><![CDATA[qr codes]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=3657</guid> <description><![CDATA[The Metro have been on quite a QR splurge recently &#8211; this is their latest effort encouraging people to write in to the paper. On the surface, it&#8217;s quite a simple idea &#8211; yet Metro have needlessly complicated it. The Process The simplest process would be Scan Code Send Email That&#8217;s not what Metro have <a
href='http://shkspr.mobi/blog/index.php/2011/02/email-via-qr-codes/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>The Metro have been on quite a QR splurge recently &#8211; this is their latest effort encouraging people to write in to the paper.<br
/> <img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/02/Metro-Talk-To-Us-QR.jpg" alt="Metro Talk To Us QR" title="Metro Talk To Us QR" width="500" height="267" class="aligncenter size-full wp-image-3658" /></p><p>On the surface, it&#8217;s quite a simple idea &#8211; yet Metro have needlessly complicated it.</p><h2>The Process</h2><p>The simplest process would be</p><ol><li>Scan Code</li><li>Send Email</li></ol><p>That&#8217;s not what Metro have done.  By using Scanlife as an intermediary, they change the process to</p><ol><li>Scan Code</li><li>Connect to web</li><li>Get redirected</li><li>Get redirected again</li><li>Load web page</li><li>Click on link</li></ol><p><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/02/Scanlife-email.jpg" alt="Scanlife email" title="Scanlife email" width="480" height="501" class="aligncenter size-full wp-image-3659" /></p><h2>Advantages and Disadvantages</h2><p>Now, there are advantages to this approach.</p><ul><li>Metrics on how many people have scanned the code.</li><li>&#8230;</li><li>&#8230;errr&#8230;</li></ul><p>Metrics <em>are</em> useful &#8211; but consider the disadvantages.</p><ul><li>Need for mobile coverage.  That means everyone in the London Underground can&#8217;t send an email until they&#8217;re above ground &#8211; by which time they may have forgotten what they wanted to say.</li><li>Requirement for Scanlife to stay up.  While I have no doubt they have impressive uptime, at some point they will go down and so will Metro&#8217;s ability to receive emails.</li><li>Payments to Scanlife may escalate over time.</li><li>Lack of design control over the page.</li></ul><h2>KISS</h2><p>As with everything, simplicity is the key to success.  Here&#8217;s the simplest way for Metro to get email from their readers.<br
/> <img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/02/mailto-email-metro.png" alt="mailto: email metro" title="mailto: email metro" width="132" height="132" class="aligncenter size-full wp-image-3660" /></p><p>All this says is &#8220;mailto:mail@ukmetro.co.uk&#8221;.  Pure and simple.  No coverage needed &#8211; the phone will open up its email client and send when the user is back in coverage.</p><p>If you wanted tracking, you could use &#8220;mailto:qrmail@ukmetro.co.uk&#8221;.</p><h2>Conclusions</h2><p>It&#8217;s great to see QR codes getting more mainstream traction &#8211; but we need to be wary of two things.<br
/> Firstly, salesmen will try to bamboozle you with their proprietary solutions.<br
/> Secondly, keep things as simple as possible to ensure widespread usage.</p><p>While I don&#8217;t doubt that Metro gets some value from Scanlife, surely that&#8217;s offset by the inability of a million tube passengers to send an email?</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=3657&amp;md5=22e8c76a07ded56b4e0290a34f83fe11" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2011/02/email-via-qr-codes/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=3657&amp;md5=22e8c76a07ded56b4e0290a34f83fe11" type="text/html" /> </item> <item><title>OAuth Will Murder Your Children &#8211; for one week only!</title><link>http://shkspr.mobi/blog/index.php/2011/01/oauth-will-murder-your-children-for-one-week-only/</link> <comments>http://shkspr.mobi/blog/index.php/2011/01/oauth-will-murder-your-children-for-one-week-only/#comments</comments> <pubDate>Wed, 26 Jan 2011 15:39:34 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[oauth]]></category> <category><![CDATA[security]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=3508</guid> <description><![CDATA[Why doesn&#8217;t Twitter&#8217;s OAuth let me specify the length of time a 3rd party has access to my account? Take a look at all the crap you&#8217;ve given access to your Twitter account. Are you ever going to use that &#8220;See how many of your friends like cheese&#8221; app again? No. Long time readers will <a
href='http://shkspr.mobi/blog/index.php/2011/01/oauth-will-murder-your-children-for-one-week-only/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Why doesn&#8217;t Twitter&#8217;s OAuth let me specify the length of time a 3rd party has access to my account?  Take a look at <a
href="http://twitter.com/settings/connections">all the crap you&#8217;ve given access to your Twitter account</a>.  Are you <em>ever</em> going to use that &#8220;See how many of your friends like cheese&#8221; app again? No.</p><p>Long time readers will know that I have <a
href="http://shkspr.mobi/blog/index.php/2009/11/twitter-oauth-and-passwords-oh-my/"> some severe usability and security concerns with Twitter&#8217;s OAuth implementation</a>.  See also <a
href="http://www.theregister.co.uk/2009/11/04/oauth_dark_side/">my interview in The Register</a>.</p><p>Zach Holman has <a
href="http://zachholman.com/2011/01/oauth_will_murder_your_children/">an entertaining and informative blog post about giving Twitter applications fine grained controls</a>.</p><p>Essentially, he&#8217;s saying that you should be able to authorise an app for <em>just</em> posting, for example.<br
/> Here&#8217;s his graphic which I&#8217;ve stolen.<br
/> <a
href="http://zachholman.com/2011/01/oauth_will_murder_your_children/"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/01/kanye-stopped-300x238.png" alt="Fine Grained Access Controls" title="kanye-stopped" width="300" height="238" class="aligncenter size-medium wp-image-3513" /></a></p><p>This doesn&#8217;t go far enough.</p><p>I was taking a look at this <a
href="http://inmaps.linkedinlabs.com/">LinkedIn application which graphs your contacts</a>.</p><p>Take a look at their OAuth screen.</p><p><img
src="http://shkspr.mobi/blog/wp-content/uploads/2011/01/Access-Duration.png" alt="Access Duration" title="Access Duration" width="521" height="418" class="aligncenter size-full wp-image-3509" /></p><p>At the bottom is an &#8220;Access Duration&#8221; option &#8211; giving you the option to try out the app and have it automatically revoke after a specified period of time.</p><p>Now, this isn&#8217;t something you&#8217;d want to do for every app. But it gives you a method to limit the damage that a malicious app can do.  Remember, just because an app isn&#8217;t malicious today, doesn&#8217;t give you any guarantee about its future performance.</p><p>As it happens, the Oauth Specification 2.0 has this to say in section <a
href="http://tools.ietf.org/html/draft-ietf-oauth-v2-12#section-4.2">4.2.2. Access Token Response</a></p><pre>
expires_in
         OPTIONAL.  The duration in seconds of the access token
         lifetime.  For example, the value "3600" denotes that the
         access token will expire in one hour from the time the response
         was generated.
</pre><p>If you run a service relying on OAuth, please consider giving users an Access Duration option.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=3508&amp;md5=5b3f92d873a758bbbbb60c4d4d4eebf0" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2011/01/oauth-will-murder-your-children-for-one-week-only/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=3508&amp;md5=5b3f92d873a758bbbbb60c4d4d4eebf0" type="text/html" /> </item> <item><title>The Design Of Everyday Hotel Rooms</title><link>http://shkspr.mobi/blog/index.php/2010/11/the-design-of-everyday-hotel-rooms/</link> <comments>http://shkspr.mobi/blog/index.php/2010/11/the-design-of-everyday-hotel-rooms/#comments</comments> <pubDate>Sun, 14 Nov 2010 13:27:05 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[design]]></category> <category><![CDATA[nablopomo]]></category> <category><![CDATA[paris]]></category> <category><![CDATA[POETS]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=2943</guid> <description><![CDATA[One of the most influential books I have ever read is Donald Norman&#8217;s &#8220;The Design of Everyday Things&#8220;. In the book, Norman rails against the usability flaws which seek to undermine our comfort and sanity. Everything from lightswitches which never seem to have a consistent state, to to alarm clocks with impossible to figure out <a
href='http://shkspr.mobi/blog/index.php/2010/11/the-design-of-everyday-hotel-rooms/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>One of the most influential books I have ever read is Donald Norman&#8217;s &#8220;<a
href="http://www.amazon.co.uk/gp/product/0262640376?ie=UTF8&amp;tag=shkspr-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0262640376">The Design of Everyday Things</a><img
style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=shkspr-21&amp;l=as2&amp;o=2&amp;a=0262640376" border="0" alt="" width="1" height="1" />&#8220;.</p><p><a
href="http://www.amazon.co.uk/gp/product/0262640376?ie=UTF8&amp;tag=shkspr-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0262640376"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2010/11/71T0PJT2F1L._SL160_.gif.jpeg" border="0" alt="" /></a><img
style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=shkspr-21&amp;l=as2&amp;o=2&amp;a=0262640376" border="0" alt="" width="1" height="1" /></p><p>In the book, Norman rails against the usability flaws which seek to undermine our comfort and sanity.  Everything from lightswitches which never seem to have a consistent state, to to alarm clocks with impossible to figure out controls.  It really is a must read for anyone who cares about usability &#8211; on computers or in the real world.</p><p>I travel a lot for business &#8211; and occasionally for pleasure &#8211; so I get to experience some of the maddening issues which Norman describes fairly regularly.  Nowhere is this more apparent than hotel rooms.</p><h2>Hotels From Hell</h2><p>I&#8217;m not talking cockroach infested flea pits with constant building works and mouldy bathrooms &#8211; although I&#8217;ve seen a fair few of those &#8211; but irritations which confuse, confound and exasperate a weary traveller.  TVs with seemingly no volume control.  Light switches which operate lamps on the other side of the room.  Door locks which require an engineering degree to operate.  Thermostats which either leave the room freezing or baking.<br
/> All pretty trivial, yes &#8211; but of immense frustration to a jet-lagged guest who just wants to turn the lights off and sleep in a warm room.</p><h2>Bathroom Blunders</h2><p>The area which seems to cause me the most confusion is the bathroom.  We&#8217;ve all experienced the shock of using someone else&#8217;s shower and having them patiently explain what the trick is of turning it on &#8211; or getting it to spurt out hot water&#8230; but not <em>too</em> hot.  Hotels, sadly, rarely come with a guide to using their facilities.</p><p>I want to point out an &#8220;interesting&#8221; usability flaw I noticed on a recent trip to Paris.</p><h2>Hot Cold Confusion</h2><p><a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/11/IMG_20101030_083500.jpg"><img
class="aligncenter size-large wp-image-2947" title="Hot Or Cold?" src="http://shkspr.mobi/blog/wp-content/uploads/2010/11/IMG_20101030_083500-771x1024.jpg" alt="Hot Or Cold?" width="617" height="819" /></a></p><p>What would you expect this tap to do?</p><p>The blue / cold symbol is over the spigot &#8211; surely that means activating the tap will pour cold water?</p><p>However, our experience indicates that turning a tap to the left brings forth hot water &#8211; that&#8217;s the convention in my country.  Is it the same in France?</p><p>There are no arrows to indicate how turning the tap will affect temperature.</p><p>We could experiment &#8211; but most people don&#8217;t want to waste time with that.  They just want a clear indication of what a piece of equipment will do.</p><p>So, we have an impasse.<br
/> The <a
href="http://blog.thinkflood.com/usability/usability-principle-5-proximity/">law of proximity</a> would indicate that two things next to one and other have a relationship.  The cold symbol is next to the tap &#8211; therefore the tap will run cold.</p><p>The law of experience tells us that turning a tap to the left gives hot water.</p><p>There is no way to reason this out.  We have to go through an annoying &#8211; and possibly painful &#8211; experiment to see how this mundane piece of equipment works.</p><h2>Lessons</h2><p>The lessons for computer and real-world usability should be clear.  Don&#8217;t make the user think.  Don&#8217;t mess with their expectations.  Don&#8217;t overload conventional actions with your specific action.  Try to see every aspect of your project as though you were a brand new user who is unskilled in the ways of your project <strong>and of your culture</strong>.</p><p>Above all, remember that some of your users are likely to be jet-lagged and just want the simplest, easiest way to perform an action.</p><p>You can <a
href="http://www.amazon.co.uk/gp/product/0262640376?ie=UTF8&amp;tag=shkspr-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0262640376">buy The Design of Everyday Things</a><img
style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.co.uk/e/ir?t=shkspr-21&amp;l=as2&amp;o=2&amp;a=0262640376" border="0" alt="" width="1" height="1" /> from all good bookshops.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=2943&amp;md5=ef36f989d599c4373e95f10b53b180b6" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/11/the-design-of-everyday-hotel-rooms/feed/</wfw:commentRss> <slash:comments>1</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=2943&amp;md5=ef36f989d599c4373e95f10b53b180b6" type="text/html" /> </item> <item><title>Google Contacts Copyright Madness</title><link>http://shkspr.mobi/blog/index.php/2010/08/google-contacts-copyright-madness/</link> <comments>http://shkspr.mobi/blog/index.php/2010/08/google-contacts-copyright-madness/#comments</comments> <pubDate>Mon, 23 Aug 2010 16:19:34 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[contacts]]></category> <category><![CDATA[copyright]]></category> <category><![CDATA[google]]></category> <category><![CDATA[images]]></category> <category><![CDATA[lorem ipsum]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=2405</guid> <description><![CDATA[Google has rightly received praise for its reworked &#8220;Contacts&#8221; functionality. But there is still a rather glaring error. One of the things I love to do is add images to my contacts. It gives me a visual cue when I&#8217;m scrolling through looking for a person, it prompts my memory when I see the face <a
href='http://shkspr.mobi/blog/index.php/2010/08/google-contacts-copyright-madness/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Google has rightly <a
href="http://m.lifehacker.com/5609315/google-contacts-upgrades-with-keyboard-shortcuts-better-gmail-integration-and-more">received praise</a> for its reworked &#8220;Contacts&#8221; functionality.  But there is still a rather glaring error.</p><p>One of the things I love to do is add images to my contacts.  It gives me a visual cue when I&#8217;m scrolling through looking for a person, it prompts my memory when I see the face of a friend calling me, and it helps me remember what people look like.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/08/Contact-List-With-Images.png"><img
class="aligncenter size-medium wp-image-2408" title="Contact List With Images" src="http://shkspr.mobi/blog/wp-content/uploads/2010/08/Contact-List-With-Images-180x300.png" alt="Contact List With Images" width="180" height="300" /></a><br
/> As you can see, I&#8217;m pretty good at keeping everyone&#8217;s photo on my phone up to date.</p><h2>Which Conditions Are Appropriate?</h2><p>Google&#8217;s interface for uploading images has some rather confusing conditions attached to it&#8230;</p><blockquote><p><img
class="aligncenter size-full wp-image-2406" title="Upload a picture" src="http://shkspr.mobi/blog/wp-content/uploads/2010/08/Upload-a-picture.png" alt="Upload a picture" width="551" height="335" /><br
/> &#8220;Do not upload pictures containing celebrities, nudity, artwork or copyrighted images.&#8221;</p></blockquote><p>What?  Those are some strange terms and conditions to have attached to a contact image.  I&#8217;m not sure if they&#8217;re copy-and-pasted from another app &#8211; or if they&#8217;re intentional.  Let&#8217;s take a look at each one.</p><ul><li>&#8220;Celebrities&#8221;.  If I&#8217;ve got a friend who is a celebrity &#8211; why can&#8217;t I have her image as her contact picture?</li><li>&#8220;Nudity&#8221;.  It&#8217;s my phone.  I am not going to offend myself if I see a nude picture of a friend that I&#8217;ve uploaded.  This is before we get in to what defines nudity.</li><li>&#8220;Artwork&#8221;. This is just bizarre.  If a street artist has drawn a caricature, I can&#8217;t upload it?  I can&#8217;t use a company logo to indicate where my contact works?</li><li>&#8220;Copyrighted images&#8221;. Again &#8211; what? I own the copyright on images I&#8217;ve taken.  I may have permission to reuse a copyrighted image.  I may even be justified in using a copyrighted image for my personal use.  I suspect they mean &#8220;images to which you don&#8217;t have permission from the copyright holder to use for this purpose&#8221;.  But even that doesn&#8217;t cover the <a
href="http://en.wikipedia.org/wiki/Fair_dealing">Fair Dealing provisions</a> of many copyright laws.</li></ul><p>If you try to use an image which is already on the web, you get this curious message.</p><blockquote><p><img
class="aligncenter size-full wp-image-2407" title="Bad manners" src="http://shkspr.mobi/blog/wp-content/uploads/2010/08/Bad-manners.png" alt="Bad manners" width="549" height="334" /><br
/> &#8220;Remember, using others&#8217; images on the web without their permission may be bad manners or &#8211; even worse &#8211; copyright infringement.&#8221;</p></blockquote><p>This is an odd statement.  A mixture of folksy advice and legal warnings.  I don&#8217;t see how personal use of a thumbnail from even the most copyright laden of images could be construed as infringement.  As for &#8220;bad manners&#8221; &#8211; is it really Google&#8217;s role to advise me on etiquette?</p><h2>People Don&#8217;t Read &#8211; But Copy Editing Matters</h2><p>It&#8217;s been well known fact for over 13 years that <a
href="http://www.useit.com/alertbox/9710a.html">users don&#8217;t read</a>.  That&#8217;s especially true if the text is small and grey &#8211; as it is in these examples.</p><p>But if you do want to impart vital information, you need to employ a skilled writer to help you craft your message.  You need to understand what it is you&#8217;re trying to say, why you&#8217;re saying it and what you expect your users to understand.</p><p>In this case, Google has a very muddled and confusing set of conditions which seem illogical and users &#8211; if they read them at all &#8211; are likely to ignore them.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=2405&amp;md5=f242e703a314d666cf564d1e5b706a9f" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/08/google-contacts-copyright-madness/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=2405&amp;md5=f242e703a314d666cf564d1e5b706a9f" type="text/html" /> </item> <item><title>Pair &amp; Go Wii Fit Battery Pack &#8211; Rubbish!</title><link>http://shkspr.mobi/blog/index.php/2010/04/pair-go-wii-fit-battery-pack-rubbish/</link> <comments>http://shkspr.mobi/blog/index.php/2010/04/pair-go-wii-fit-battery-pack-rubbish/#comments</comments> <pubDate>Fri, 02 Apr 2010 10:20:06 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[balance board]]></category> <category><![CDATA[wii]]></category> <category><![CDATA[wii fit]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1934</guid> <description><![CDATA[I want to tell you a story about really appalling industrial design.  This isn&#8217;t about a nuclear reactor melting down due to covered switches, or even lethal doses of radiation &#8211; but of a much more sinister threat&#8230;. Pair and Go&#8217;s battery pack for the Wii Fit! Take a look at their promotional image &#8211; <a
href='http://shkspr.mobi/blog/index.php/2010/04/pair-go-wii-fit-battery-pack-rubbish/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>I want to tell you a story about really appalling industrial design.  This isn&#8217;t about a <a
href="http://en.wikipedia.org/wiki/Three_Mile_Island_accident#Accident_description">nuclear reactor melting down due to covered switches</a>, or even <a
href="http://en.wikipedia.org/wiki/Therac-25">lethal doses of radiation</a> &#8211; but of a much more sinister threat&#8230;.</p><p>Pair and Go&#8217;s battery pack for the Wii Fit!</p><p>Take a look at their promotional image &#8211; it seems like a nice, drop in replacement for 4 AA batteries.  What could possibly go wrong?</p><div
id="attachment_1939" class="wp-caption aligncenter" style="width: 170px"><a
href="http://www.amazon.co.uk/gp/product/B002BDTQTA?ie=UTF8&amp;tag=shkspr-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=B002BDTQTA"><img
class="size-full wp-image-1939" title="Pair &amp; Go Fit Kit 6 Pack (Wii)" src="http://shkspr.mobi/blog/wp-content/uploads/2010/04/51Lea6mKl5L._SL160_.jpg" alt="Pair &amp; Go Fit Kit 6 Pack (Wii)" width="160" height="156" /></a><p
class="wp-caption-text">Pair &amp; Go Fit Kit 6 Pack (click to buy from Amazon)</p></div><p>As it happens, the battery pack is <em>ginormous</em>.  It doesn&#8217;t lay flush with the board; it juts out several centimetres.</p><div
id="attachment_1937" class="wp-caption aligncenter" style="width: 310px"><a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0238.jpg"><img
class="size-medium wp-image-1937" title="Chunky!" src="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0238-300x200.jpg" alt="Chunky!" width="300" height="200" /></a><p
class="wp-caption-text">Chunky!</p></div><p>Ordinarily, that wouldn&#8217;t be a problem.  But because it&#8217;s on the underside of the board, it rest on the floor and throws off the board&#8217;s sensors.  The placement of the battery pack means that all your balance scores are shifted to the right.  It also drops about 13Kg from your weight!</p><p>So, as you can see, much more dangerous than Three Mile Island or Therac 25 &#8211; this will leave you obese and walking wonky!</p><p>So, what&#8217;s a geek to do? <strong>To the Bat-Screwdrivers, Robin!</strong></p><div
id="attachment_1938" class="wp-caption aligncenter" style="width: 310px"><a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0237.jpg"><img
class="size-medium wp-image-1938" title="Disassembled" src="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0237-300x200.jpg" alt="Disassembled" width="300" height="200" /></a><p
class="wp-caption-text">Disassembled</p></div><p>The insides are fairly emply.  There&#8217;s no reason why they couldn&#8217;t have managed to fit it all into the space provided for the AA batteries.  Lazy product design.</p><p>All we have are a thin battery, a circuit board with USB connector and LED, and the housing to fit in the battery compartment.</p><div
id="attachment_1936" class="wp-caption aligncenter" style="width: 310px"><a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0239.jpg"><img
class="size-medium wp-image-1936" title="In place" src="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0239-300x200.jpg" alt="In place" width="300" height="200" /></a><p
class="wp-caption-text">In place</p></div><p>With a bit of fiddling, we can get the components to lay flat along the balance board.</p><div
id="attachment_1935" class="wp-caption aligncenter" style="width: 310px"><a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0240.jpg"><img
class="size-medium wp-image-1935" title="All finished!" src="http://shkspr.mobi/blog/wp-content/uploads/2010/04/IMAG0240-300x200.jpg" alt="All finished!" width="300" height="200" /></a><p
class="wp-caption-text">All finished!</p></div><p>A little bit of tape to secure it.  I also had to snap off the plastic lugs witha pair of pliers.</p><p>And there we are, how to transform a crappy battery pack into something slightly less crappy.  Sure, it&#8217;s not pretty &#8211; but at least my Balance Board now reports accurately.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1934&amp;md5=f0c6e4ab90b7a4bcb17de9f58410c95c" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/04/pair-go-wii-fit-battery-pack-rubbish/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1934&amp;md5=f0c6e4ab90b7a4bcb17de9f58410c95c" type="text/html" /> </item> <item><title>Bugs in Twitter Text Libraries</title><link>http://shkspr.mobi/blog/index.php/2010/03/bugs-in-twitter-text-libraries/</link> <comments>http://shkspr.mobi/blog/index.php/2010/03/bugs-in-twitter-text-libraries/#comments</comments> <pubDate>Wed, 31 Mar 2010 10:27:50 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[/etc/]]></category> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[bugs]]></category> <category><![CDATA[dabr]]></category> <category><![CDATA[parse]]></category> <category><![CDATA[regex]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[urls]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1924</guid> <description><![CDATA[The Twitter Engineering Team have a set of text processing classes which are meant to simplify and standardise the recognition of URLs, screen names, and hashtags. Dabr makes use of them to keep in conformance with Twitter&#8217;s style. One of the advantages of the text processing is that it will recognise that www.example.com is a <a
href='http://shkspr.mobi/blog/index.php/2010/03/bugs-in-twitter-text-libraries/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>The <a
href="http://engineering.twitter.com/2010/02/introducing-open-source-twitter-text.html">Twitter Engineering Team have a set of text processing classes</a> which are meant to simplify and standardise the recognition of URLs, screen names, and hashtags.  Dabr makes use of them to keep in conformance with Twitter&#8217;s style.</p><p>One of the advantages of the text processing is that it will recognise that www.example.com is a URL and automatically create a hyperlink. Considering that dropping the &#8220;http://&#8221; represents 5% saving on Twitter&#8217;s 140 character limit for messages, this is great.</p><p>So, I was mightily surprised to get <a
href="http://twitter.com/schmmuck/status/11352406573">this bug report</a> from user &#8220;schmmuck&#8221;</p><div
id="attachment_1927" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1927" title="Dabr rendering error" src="http://shkspr.mobi/blog/wp-content/uploads/2010/03/Capture8_19_22.jpg" alt="Dabr rendering error" width="480" height="320" /><p
class="wp-caption-text">Dabr rendering error</p></div><p>How very odd&#8230;  This is how it looks on <a
href="http://m.twitter.com/">m.twitter.com</a>.</p><div
id="attachment_1926" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1926" title="m.twitter rendering error" src="http://shkspr.mobi/blog/wp-content/uploads/2010/03/Capture8_20_48.jpg" alt="m.twitter rendering error" width="480" height="320" /><p
class="wp-caption-text">m.twitter rendering error</p></div><p>Twitter also use <a
href="http://mobile.twitter.com/">mobile.twitter.com</a> for smartphones.  Here&#8217;s how that site renders the text.</p><div
id="attachment_1925" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1925" title="mobile.twitter rendering error" src="http://shkspr.mobi/blog/wp-content/uploads/2010/03/Capture8_21_54.jpg" alt="mobile.twitter rendering error" width="480" height="320" /><p
class="wp-caption-text">mobile.twitter rendering error</p></div><p>Finally, let&#8217;s take a look at the &#8220;canonical&#8221; rendering at Twitter.com</p><div
id="attachment_1928" class="wp-caption aligncenter" style="width: 410px"><img
class="size-full wp-image-1928" title="Twitter rendering error" src="http://shkspr.mobi/blog/wp-content/uploads/2010/03/Twitter-rendering-error.jpg" alt="Twitter rendering error" width="400" height="213" /><p
class="wp-caption-text">Twitter rendering error</p></div><h2>The Problem(s)</h2><p>The first issue is inconsistency.  Twitter ought to be using the same regex for each of its sites.  It doesn&#8217;t.  This means that different developers will get divergent experiences.  This leads to confusion, which leads to fear, which, as we all know, leads to anger&#8230;. and so forth.</p><p>Secondly, and more importantly, parsing is <em>hard</em>.  There are so many edge cases that errors inevitably creep in.  My post about hashtags explains the problems in defining what <em>should</em> be recognised.</p><p>So, based on what we&#8217;ve seen, should Twitter recognise any of the following as URLs?</p><p>news.bbc.co.uk &#8211; no www there.</p><p>invalid.name &#8211; a silly URL, but a valid one.</p><p>खोज.com &#8211; International domains contain more than just ASCII</p><p>All the above are valid &#8211; yet they&#8217;re not recognised by Twitter.</p><h2>A (Simple) Solution?</h2><p>There is a <a
href="http://www.iana.org/domains/root/db/">canonical list of TLDs</a> which is also available as a <a
href="http://data.iana.org/TLD/tlds-alpha-by-domain.txt">plain text list</a>.</p><p>Any string containing a &#8220;.&#8221; followed by a valid TLD, then followed by a space or &#8220;/&#8221; should be treated as a URL.</p><p>Your thoughts?</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1924&amp;md5=f23a393180b7edf5f5386e927c745cec" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/03/bugs-in-twitter-text-libraries/feed/</wfw:commentRss> <slash:comments>6</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1924&amp;md5=f23a393180b7edf5f5386e927c745cec" type="text/html" /> </item> <item><title>The Perfect Twitter Spam Attack?</title><link>http://shkspr.mobi/blog/index.php/2010/03/the-perfect-twitter-spam-attack/</link> <comments>http://shkspr.mobi/blog/index.php/2010/03/the-perfect-twitter-spam-attack/#comments</comments> <pubDate>Sun, 07 Mar 2010 09:59:03 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[evil genius]]></category> <category><![CDATA[oauth]]></category> <category><![CDATA[passwords]]></category> <category><![CDATA[security]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1796</guid> <description><![CDATA[This morning, when I logged on to Twitter, I saw a user who I didn&#8217;t recognise tweeting away in my timeline. I wracked my brains thinking about how they could have gotten in there before I realised it was a long-dormant friend who had changed their name and avatar. But, in thinking about how a <a
href='http://shkspr.mobi/blog/index.php/2010/03/the-perfect-twitter-spam-attack/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>This morning, when I logged on to Twitter, I saw a user who I didn&#8217;t recognise tweeting away in my timeline.</p><p>I wracked my brains thinking about how they could have gotten in there before I realised it was a long-dormant friend who had changed their name and avatar.</p><p>But, in thinking about how a spammer could infiltrate one&#8217;s timeline, I think I came up with a fairly bullet-proof method to spam Twitter users.</p><p>I present this as an exercise in devious thinking &#8211; and also to show how our assumptions about security can play against us. Remember, hacking and impersonation are likely to be illegal in your jurisdiction.  This information is designed to help you understand how security weaknesses can occur.</p><h2>Being Evil</h2><p>Imagine you are a nasty, evil Twitter spammer.  Your own mother wouldn&#8217;t spit on you if you were on fire &#8211; that&#8217;s how mean you are.  Here&#8217;s what you do.</p><ol><li>Obtain a user&#8217;s password.  Admittedly, this is the hardest part of the process. You might use a dictionary attack, use the same password they use to log in to another site, or somehow steal it.</li><li>Log on to Twitter.</li><li>Go to &#8220;Connections&#8221; and see which services they have connected to using OAuth.  For the purposes of this experiment, let&#8217;s assume they use Example.com.</li><li>Go to Example.com and OAuth yourself with Twitter using your mark&#8217;s credentials.</li><li>Here&#8217;s where the ordinary spammer falls down.  The ordinary spammer will start sending out messages from the mark&#8217;s account.  That&#8217;s <strong>not</strong> the aim of this weakness.</li><li>From the mark&#8217;s account, through Example.com, make your victim follow one of your spam accounts.  An account which exists solely to show adverts to your victim.</li></ol><p>Your victim now sees your adverts for pills, poker and porn in their timeline.  With any luck, they&#8217;ll just assume that one of their true friends is promoting your illicit wares.</p><h2>Counter Attack</h2><p>Most victims will assume that they accidentally followed your spam account &#8211; or that one of their friends has been hacked.</p><p>Worst case scenario, they unfollow your spam account.</p><p><strong><em>So you just make them follow you again!</em></strong> Remember, you are <strong>still</strong> OAuth&#8217;d to Example.com. You can make them follow as many of your spam accounts as you think you can get away with.</p><p>At this point, the intelligent victim will think that their account may be compromised and change their password.</p><p><strong><em>It doesn&#8217;t matter</em>!</strong> Because you have used OAuth, password changes <em>don&#8217;t affect you</em>.  You can continue make them follow as many of your spam accounts as you think you can get away with.</p><p>At this point, the <em>really</em> intelligent victim will go through their OAuth connections to look for something suspicious.  They won&#8217;t find it.  Remember steps 3 and 4?  <strong>You are OAuth&#8217;d to a service that your victim trusts</strong>.</p><p>Because of the way Twitter displays OAuth information, there&#8217;s no way for a victim to know when a service was last authorised.</p><div
id="attachment_1798" class="wp-caption aligncenter" style="width: 460px"><img
class="size-full wp-image-1798" title="Twitter OAuth Connections" src="http://shkspr.mobi/blog/wp-content/uploads/2010/03/Twitter-OAuth-Connections.png" alt="Twitter OAuth Connections" width="450" height="501" /><p
class="wp-caption-text">Twitter OAuth Connections</p></div><p>There is no information other than the <em>first time</em> the OAuth was set up.  No last accessed date, no IP addresses, nothing useful.</p><p>When following an account, the victim gets no notification of what has happened, when it has happened or how it has happened.  There is no way of them knowing which of their OAuth&#8217;d connections have been compromised, nor when it happened.</p><p>Their only safe option is to revoke <em>every single </em>OAuth connection.  Then reauthorise.  A time consuming and annoying prospect.</p><h2>Conclusion</h2><p>I hope I&#8217;ve demonstrated two things.</p><p>Firstly, there&#8217;s more to spam then just sending out messages.  Forcing someone to read a message is just as annoying.</p><p>Secondly, our understanding of security and usability haven&#8217;t quite caught up with the new tools which are available to us.  OAuth is still better than giving your password to an untrusted site &#8211; but without essential usability changes, a compromised account is a lot more dangerous than the user would suspect.</p><p>This &#8220;attack&#8221; still relies on a victim having their original password compromised.  That&#8217;s not a trivial matter.  But security is like sexual health &#8211; it only takes one little accident&#8230;</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1796&amp;md5=702b9847a3d966eaca8e8e6204cee1d5" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/03/the-perfect-twitter-spam-attack/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1796&amp;md5=702b9847a3d966eaca8e8e6204cee1d5" type="text/html" /> </item> <item><title>Hashtag Standards</title><link>http://shkspr.mobi/blog/index.php/2010/02/hashtag-standards/</link> <comments>http://shkspr.mobi/blog/index.php/2010/02/hashtag-standards/#comments</comments> <pubDate>Thu, 25 Feb 2010 17:35:38 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[/etc/]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[api]]></category> <category><![CDATA[geek]]></category> <category><![CDATA[hashtags]]></category> <category><![CDATA[standards]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1730</guid> <description><![CDATA[This is one of the longest and geekiest posts I've done. It's a work in progress. All comments and abuse welcome. #hashtag – As long has there has been a way to search Tweets* people have been adding information to make the easy to find. The #hashtag syntax has become the standard for attaching a <a
href='http://shkspr.mobi/blog/index.php/2010/02/hashtag-standards/'>[...]</a>]]></description> <content:encoded><![CDATA[<pre>This is one of the longest and geekiest posts I've done.
It's a work in progress.
All comments and abuse welcome.</pre><blockquote><p>#hashtag – As long has there has been a way to search Tweets* people have been adding information to make the easy to find. The #hashtag syntax has become the standard for attaching a succinct tag to Tweets.</p></blockquote><p><a
href="http://engineering.twitter.com/2010/02/introducing-open-source-twitter-text.html">The Twitter Engineering Blog</a></p><p>That&#8217;s all well and good, but <a
href="http://shkspr.mobi/blog/index.php/2010/02/hashtags-and-implicit-knowledge/">as I discovered yesterday</a>, without standardisation the ability to search falls apart.</p><p>I&#8217;m not talking about whether you should use the #<span
style="text-decoration: underline;">LondonFire</span><strong> </strong>tag rather than #<span
style="text-decoration: underline;">FireOfLondon</span><strong> </strong>or #<span
style="text-decoration: underline;">LDNfire</span>. Rather; how does a computer recognise what a <em>valid</em> tag is?</p><h2>Why Does This Matter?</h2><p>Search and tracking quickly break down if they are inconsistent.<br
/> For example, if you are using #<span
style="text-decoration: underline;">Romeo&amp;Juliet</span> to mark all your conversations about the play you are watching, different Twitter clients will link through to either #<span
style="text-decoration: underline;">Romeo</span>, #<span
style="text-decoration: underline;">Romeo&amp;</span>, or #<span
style="text-decoration: underline;">Romeo&amp;Juliet</span>.  Each search returning potentially different conversations.</p><h2>What&#8217;s The Convention?</h2><p>Twitter&#8217;s website <em>ought</em> to be the definitive source of how hashtags work.  This is their main site.</p><div
id="attachment_1738" class="wp-caption aligncenter" style="width: 417px"><img
class="size-full wp-image-1738" title="Twitter Website Hashtag" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Twitter-Website-Hashtag.png" alt="Twitter Website Hashtag" width="407" height="214" /><p
class="wp-caption-text">Twitter Website Hashtag</p></div><p>Yet, when we visit their mobile site &#8211; we get a completely different experience.</p><div
id="attachment_1731" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-1731" title="Mobile.Twitter's hashtags" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/snap20100225_151129.png" alt="Mobile.Twitter's hashtags" width="320" height="480" /><p
class="wp-caption-text">Mobile.Twitter&#39;s hashtags</p></div><h2>Application Confusion</h2><p>Because there aren&#8217;t any widely publicised definitions for what hashtags are, some applications have a significantly different attitude to hashtags</p><div
id="attachment_1732" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1732" title="SocialScope Hashtags" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture8_1_53.jpg" alt="SocialScope Hashtags" width="480" height="320" /><p
class="wp-caption-text">SocialScope Hashtags</p></div><h2><p><div
id="attachment_1771" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1771" title="UberTwitter's Hashtag Support" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/x2_c38906.jpeg" alt="UberTwitter's Hashtag Support" width="480" height="360" /><p
class="wp-caption-text">UberTwitter&#39;s Hashtag Support</p></div></h2><h2>Standardisation</h2><p>To be fair, the Twitter team do have a standard.  Even if they don&#8217;t use it themselves.</p><p>They even have some <a
href="http://github.com/mzsanford/twitter-text-conformance">limited test cases</a> and libraries in Ruby and Java.</p><p>So, given that Twitter, their implementation and apps all disagree on what a hashtag is, let&#8217;s try to work our what they <em>should</em> be.</p><h2>Anatomy of a Tag</h2><p>To begin at the beginning.  A hashtag starts with a hash. #.  Simple, no? No.</p><p>There are two different hash symbols! There&#8217;s the # we all know and love, and there&#8217;s ＃.  Looks pretty similar, but in fact it&#8217;s the unicode symbol [U+FF03]</p><p>Actually, that&#8217;s not the beginning.  What comes before the # of the hashtag?</p><p>Consider the following examples &#8211; which should be hashtags?</p><ul><li>#tag &#8211; the # starts off the Tweet</li><li>This is my tweet #test &#8211; the # comes after a space.</li><li>This is it.#tag &#8211; the # is pushed against some punctuation, perhaps for reasons of space.</li><li>Here we go-#LiftOff &#8211; the # is pushed against a -</li><li>I&#8217;ve run out of space#OhNo &#8211; the # is pushed against some text</li><li>&amp;#nbsp; &#8211; the # is part of an HTML entity</li><li>text　#hashtag &#8211; the # comes after a &#8220;wide space&#8221; (U+3000)</li><li>Should I use #tag/#hashtag? The # comes after a /</li><li>Is this valid ##tag &#8211; there are two #s</li></ul><p>So, we can see it&#8217;s a little more complicated than we first thought.</p><h2>The End</h2><p>Let&#8217;s skip over what&#8217;s <em>in</em> a hashtag and as &#8220;how do we know that a tag has finished?&#8221;</p><p>Consider the following examples -</p><ul><li>New album #OMG! &#8211; should the ! be part of the hashtag?</li><li>#BreakingNews: dog bites man &#8211; should the : be part of the hashtag?</li><li>(is this a #tag) &#8211; should the ) be part of the hashtag?</li><li>I like #tags#</li></ul><p>We probably don&#8217;t want to have any punctuation at the end of our tag.  Can you think of any counter examples?</p><h2>Yummy Filling</h2><p>Our language is more than just the letters A-Z. We&#8217;ve got punctuation, numbers, symbols and all manner of other glyphs.  Which of them count as part of a hashtag?</p><p>Take a look at these examples</p><ul><li>Vote Bush! #Don&#8217;t</li><li>My dog died #:-(</li><li>Einstein #e=mc^2</li><li>I&#8217;m on bus #123</li><li>I&#8217;m giving #110%</li></ul><p>Using Twitter&#8217;s standards, <strong>none</strong> of the above render as complete tags.</p><h2>Foreign Languages</h2><p>We&#8217;ve mentioned accents above.  As we can see in the first example, &#8220;funny&#8221; characters can cause problems.  Broadly speaking, there are three issues.</p><ol><li>Accents.  Should the é on #Café be linked?</li><li>Accents.  Is #Romeo the same as #Ŕöméø?</li><li>Japanese, and some other languages, don&#8217;t use spaces.  Is #tagの valid? What about # 会議中 ?</li></ol><h2>Exhausted</h2><p>These are a fraction of the possible problems.  It&#8217;s exhausting trying to find all the possible textual combinations and permutations which could lead into a hashtag.  No wonder there is confusion!</p><p>Search is a complex, profitable, and useful business.  It&#8217;s of vital importance that there is a legitimate, comprehensive standard which <strong>all</strong> sites and applications can follow.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1730&amp;md5=6d8dfcbd0bf2477df441465329d8c17d" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/02/hashtag-standards/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1730&amp;md5=6d8dfcbd0bf2477df441465329d8c17d" type="text/html" /> </item> <item><title>Hashtags and Implicit Knowledge</title><link>http://shkspr.mobi/blog/index.php/2010/02/hashtags-and-implicit-knowledge/</link> <comments>http://shkspr.mobi/blog/index.php/2010/02/hashtags-and-implicit-knowledge/#comments</comments> <pubDate>Wed, 24 Feb 2010 16:58:27 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[api]]></category> <category><![CDATA[dabr]]></category> <category><![CDATA[documentation]]></category> <category><![CDATA[hashtags]]></category> <category><![CDATA[tags]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1706</guid> <description><![CDATA[What is &#8220;Implicit Knowledge&#8221;? Essentially it&#8217;s stuff that everyone knows, but no one has written down. Usually it&#8217;s something that people have worked out through their own experiences. This sort of knowledge is common in life &#8211; but is fatal in computing and design. Take the following tweet I received. The complaint was that #tfm&#38;a <a
href='http://shkspr.mobi/blog/index.php/2010/02/hashtags-and-implicit-knowledge/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>What is &#8220;Implicit Knowledge&#8221;?  Essentially it&#8217;s stuff that everyone knows, but no one has written down.  Usually it&#8217;s something that people have worked out through their own experiences.</p><p>This sort of knowledge is common in life &#8211; but is fatal in computing and design.  Take the following tweet I received.</p><div
class="quotedtweet" id="tw9582463562" style="background-color:#eef;padding:5px;margin-bottom:5px"><div
class="tw_user-info" style="padding:10px 10px 5px 0;float:left;text-align:center;width:100px;"><div
class="tw_thumb"> <a
href="http://twitter.com/Mawkins" title="Mark Hawkins" class="quoting_pic" rel="external"><img
src="http://img.tweetimag.es/i/Mawkins_n" alt="Mawkins" /></a></div><div
class="tw_screen-name"> <em><a
href="http://twitter.com/Mawkins" title="Twitter page : Mark Hawkins" rel="external">Mawkins</a></em></div><div
class="tw_full-name"> <strong>(Mark Hawkins)</strong></div></div><div
class="tw_content" style="float: left; width: 500px; font: 20pt Georgia, Verdana, sans-serif; font-style: normal;"><div
class="tw_entry-content"> <a
href="http://www.twitter.com/edent" rel="external">@edent</a> <a
href="http://www.twitter.com/dabr" rel="external">@dabr</a> you folks aware ampersands / &amp;s don't seem to work as part of hashtag links?</div></div><div
style="clear: both; text-align: left;font-style:italic;margin-left:110px"><p
class="tw_meta tw_entry-meta" style="margin: 0;padding-top:5px"> <small> <span>On <a
href="http://twitter.com/Mawkins/status/9582463562" rel="external">24-2-2010 16:27:19</a></span> <span>from <a
href="http://www.tweetdeck.com" rel="nofollow">TweetDeck</a></span> <span> in reply to <a
href="http://twitter.com/edent/status/9581804744" rel="external">Terence Eden</a></span> </small></p></div></div><p>The complaint was that #tfm&amp;a should be rendered as <span
style="text-decoration: underline;">#tfm&amp;a</span> not <span
style="text-decoration: underline;">#tfm</span>&amp;a.</p><h2>Everyone knows that&#8217;s how hashtags work!</h2><p>On Twitter&#8217;s website, find the page which discusses hashtag syntax.  Find where they explain how they should be styled.</p><p><strong>You can&#8217;t.</strong></p><p>And thus implicit knowledge is born.  Dabr only looks at letters and numbers in a hashtag.  It assumes that any other character is the end of the tag.</p><div
id="attachment_1708" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1708" title="Dabr's Hashtag" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture16_35_30.jpg" alt="Dabr's Hashtag" width="480" height="320" /><p
class="wp-caption-text">Dabr&#39;s Hashtag</p></div><p>Without official guidance &#8211; implicit knowledge develops.</p><h2>Has Dabr Got It Wrong?</h2><p>No.  I don&#8217;t think so.  Take a look at how Twitter on the web renders hashtags&#8230;</p><div
id="attachment_1710" class="wp-caption aligncenter" style="width: 392px"><img
class="size-full wp-image-1710" title="Twitter's Web Site" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Twitters-Web-Site.png" alt="Twitter's Web Site" width="382" height="312" /><p
class="wp-caption-text">Twitter&#39;s Web Site</p></div><p>&#8230;and on the mobile.</p><div
id="attachment_1707" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1707" title="Twitter Mobile" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture16_34_33.jpg" alt="Twitter Mobile" width="480" height="320" /><p
class="wp-caption-text">Twitter Mobile</p></div><h2>So Where Does Render The Full Tag?</h2><p>Several applications don&#8217;t render tags in the same way as Twitter.  Take a look at SocialScope</p><div
id="attachment_1709" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1709" title="SocialScope Hashtags" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Capture16_34_56.jpg" alt="SocialScope Hashtags" width="480" height="320" /><p
class="wp-caption-text">SocialScope Hashtags</p></div><div
id="attachment_1727" class="wp-caption aligncenter" style="width: 330px"><img
src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/jsfe.jpg" alt="Tweetie2" title="Tweetie2" width="320" height="480" class="size-full wp-image-1727" /><p
class="wp-caption-text">Tweetie2</p></div><p>I&#8217;ll upload more screenshots if I find examples of &#8220;badly behaved&#8221; hashtags.  Please let me know if you find any.</p><h2>What Does Twitter Say?</h2><p>Twitter has one page devoted to hashtags.  It is a <a
href="http://help.twitter.com/forums/10711/entries/49309-what-are-hashtags-the-symbol">support page for hashtags</a>.  This explains to people what hashtags are.  There&#8217;s no detail on valid characters, maximum length, or any of the things which might be useful for a developer or designer.</p><h3>Edit 2010-02-25</h3><p>David Dorward has <a
href="http://twitter.com/dorward/status/9584777039">pointed out that there is an official resource</a>. On the Twitter Engineering blog &#8211; which isn&#8217;t linked to from the developer site &#8211; there is a <a
href="http://engineering.twitter.com/2010/02/introducing-open-source-twitter-text.html">page discussing hashtags and how to validate them</a>.  You&#8217;ll notice that they are rather circumspect on what should constitute a hashtag.</p><h2>Conclusion</h2><p>Standards and guidelines allow developers to create compatible applications.</p><p>Without explicit recommendations, developers will diverge as widely as possible.  Twitter &#8211; and everyone with an interest in compatibility and usability &#8211; needs to ensure that the knowledge they impart is <em>explicit</em>.</p><p>Letting people make it up as they go along leads to confusion.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1706&amp;md5=3da27a57f5bf04e91e228cb51e8ce6b3" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/02/hashtags-and-implicit-knowledge/feed/</wfw:commentRss> <slash:comments>5</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1706&amp;md5=3da27a57f5bf04e91e228cb51e8ce6b3" type="text/html" /> </item> <item><title>Don&#8217;t Let Users Do Things They Can&#8217;t Do</title><link>http://shkspr.mobi/blog/index.php/2010/02/dont-let-users-do-things-they-cant-do/</link> <comments>http://shkspr.mobi/blog/index.php/2010/02/dont-let-users-do-things-they-cant-do/#comments</comments> <pubDate>Mon, 22 Feb 2010 15:05:42 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[api]]></category> <category><![CDATA[dabr]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1682</guid> <description><![CDATA[There are many &#8220;rules&#8221; when it comes to User Interface / User Experience design.  One that I try to stick to is &#8220;Don&#8217;t let users do things they can&#8217;t do.&#8221; It&#8217;s one of my gripes with Linux.  If you&#8217;re editing a configuration file, you are relying on yourself to sanity check your input &#8211; often <a
href='http://shkspr.mobi/blog/index.php/2010/02/dont-let-users-do-things-they-cant-do/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>There are many &#8220;rules&#8221; when it comes to User Interface / User Experience design.  One that I try to stick to is &#8220;Don&#8217;t let users do things they can&#8217;t do.&#8221;</p><p>It&#8217;s one of my gripes with Linux.  If you&#8217;re editing a configuration file, you are relying on yourself to sanity check your input &#8211; often without knowing what the limits are.</p><p>Take these two different examples.</p><p>In a text file, we might have:</p><blockquote><pre>#Maximum Widgets to fidget
maxW_to-F = 0
</pre></blockquote><p>Whereas a GUI would show</p><p>How many Widgets do you want to fidget?<br
/> <select><option>1</option><option>2</option><option>3</option><option>5</option> </select><p>Even if you don&#8217;t know the rules behind Widget fidgetting (must be a prime number lower than 7), the GUI won&#8217;t let you choose a value that you can&#8217;t select.  The GUI doesn&#8217;t prevent you setting an innapropriate value &#8211; just an illegal one. Your config file, however, could be set to any crazy value that a user type &#8211; often resulting in &#8220;unpredictable&#8221; results.</p><blockquote><pre>#Maximum Widgets to fidget
maxW_to-F = seventeen
</pre></blockquote><p>It&#8217;s with this in mind that I&#8217;ve made the following <a
href="http://code.google.com/p/dabr/source/detail?r=279">change to Dabr</a> &#8211; the mobile Twitter client.</p><h2>To Auth or Not To Auth? That Is The Question</h2><p>Twitter&#8217;s API has bug / peculiarity (<a
href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/318a5e820ee73765#">reported to their discussion board</a>) which causes Dabr to log a user out.  Let me explain the steps</p><ul><li>User 1 (@private) has set her tweets to &#8220;protected&#8221;.</li><li>This means no one can see @private&#8217;s tweet unless she allows them.</li><li>@private has not allowed User 2 (@edent) to view her tweets.  She is protect from his view.</li><li>@edent clicks to view @private&#8217;s profile.</li><li>@edent can see that @private has 42 friends, 17 followers and 3 favourites.</li></ul><p>So far, this is the same behaviour on Twitter&#8217;s website as it is through their API.  Here&#8217;s the difference</p><h3>Web</h3><ul><li>@edent tries to see @private&#8217;s followers and can see their names, profile pictures etc.</li><li>@edent can also see @private&#8217;s friends</li><li>@edent <strong>cannot</strong> see @private&#8217;s favourites (or even how many favourites she has)</li></ul><h3>API</h3><ul><li>@edent tries to see @private&#8217;s followers, friends or favourites</li><li>Because @edent isn&#8217;t allowed to see @private&#8217;s info, the API returns <a
href="http://apiwiki.twitter.com/HTTP-Response-Codes-and-Errors">401 Authorisation Required</a>.</li></ul><p>This is where things get tricky. Dabr sees the 401 and concludes that the user has invalid credentials.  It then, as a security measure, clears the user&#8217;s cookie and logs them out.</p><p>This may be a little harsh, but <a
href="http://en.wikipedia.org/wiki/List_of_HTTP_status_codes#4xx_Client_Error">HTTP 401 essentially says that the authorisation has failed</a>.</p><h2>Fixing It</h2><p>There are 3 ways that this could be fixed</p><ol><li>Twitter could rationalise the API to allow access to the same content that a web user gets.</li><li>Twitter could return a different status code.</li><li>Dabr needs fixing.</li></ol><p>So, how do we get Dabr not to log out when it receives a 401 <em>only</em> under these specific circumstances?</p><p><a
href="http://code.google.com/p/dabr/source/browse/trunk/common/twitter.php?r=274#293">Looking at the code</a>, we can see that Dabr simply sees the HTTP response code.  To fix it we&#8217;ll need to pass extra parameters, check where the code was called from, investigate all the edge cases, add more logic to the system, futz around breaking things, etc&#8230; etc&#8230;</p><p>What a pain in the&#8230;</p><h2>Or</h2><p><em>Don&#8217;t let users do things they </em>can&#8217;t<em> do.</em></p><p>If a user can&#8217;t see the information &#8211; why do we even let them <em>try</em> to see the information?  Why can&#8217;t we just get rid of the link?</p><p>This is what a user currently sees:</p><div
id="attachment_1688" class="wp-caption aligncenter" style="width: 364px"><img
class="size-full wp-image-1688" title="Old Style" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Old-Style.png" alt="Old Style" width="354" height="73" /><p
class="wp-caption-text">Old Style</p></div><p>We&#8217;ve established that they can&#8217;t view followers, friends and favourites.  So we can get rid of those links (but not the information).</p><div
id="attachment_1687" class="wp-caption aligncenter" style="width: 364px"><img
class="size-full wp-image-1687" title="New Style" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/New-Style.png" alt="New Style" width="354" height="73" /><p
class="wp-caption-text">New Style</p></div><p>(Incidentally, I&#8217;ve changed the order of the links.  I&#8217;ve tried to group together similar items.  Followers, friends, favourites and lists go together. Then DM. Finally, follow, block, report spam.)</p><p>Now a user cannot click through to an unwanted error message.</p><h2>Or</h2><p>There is another way round this.  With &#8220;Direct Messages&#8221; we could do the same thing &#8211; simply remove the link if you&#8217;re not able to send that user a DM.</p><p>Instead, we&#8217;ve taken the approach of displaying a suitable error message.</p><div
id="attachment_1689" class="wp-caption aligncenter" style="width: 455px"><img
class="size-full wp-image-1689" title="Direct Message Warning" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Direct-Message-Warning.png" alt="Direct Message Warning" width="445" height="194" /><p
class="wp-caption-text">Direct Message Warning</p></div><p>The advantage of this is that the user gets an explanation as to <em>why</em> they are unable to complete an action.</p><h2>Your Thought?</h2><p>Which do you prefer? Being unable to click on a link (with no explanation) or clicking on a link only to be given a warning message?</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1682&amp;md5=b886ba243cc96e8f8af7c6865be81c44" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/02/dont-let-users-do-things-they-cant-do/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1682&amp;md5=b886ba243cc96e8f8af7c6865be81c44" type="text/html" /> </item> <item><title>Twitter&#8217;s new OAuth Problem</title><link>http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-problem/</link> <comments>http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-problem/#comments</comments> <pubDate>Fri, 12 Feb 2010 12:10:07 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[politics]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[dabr]]></category> <category><![CDATA[oauth]]></category> <category><![CDATA[security]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1627</guid> <description><![CDATA[Twitter have announced that all third party site will have to use OAuth.  You will no longer be able to just type in your username and password to get access to Twitter via your favourite web client. Usually, I would be a big fan of this move &#8211; especially if it forces password anti-pattern sites <a
href='http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-problem/'>[...]</a>]]></description> <content:encoded><![CDATA[<p><a
href="http://groups.google.com/group/twitter-api-announce/browse_thread/thread/c2c4963061422f28?hl=en&amp;pli=1">Twitter have announced that all third party site will have to use OAuth</a>.  You will no longer be able to just type in your username and password to get access to Twitter via your favourite web client.</p><p>Usually, I would be a big fan of this move &#8211; especially if it forces <a
href="http://adactio.com/journal/1357">password anti-pattern</a> sites like <a
href="http://getsatisfaction.com/twitpic/topics/when_will_twitpic_implement_oauth">TwitPic to implement the new, secure standard</a>.</p><p>This means that you won&#8217;t be able to log in to a third party site by giving them your username and  password.  You will have to use OAuth to securely validate with the main Twitter site.</p><p>But &#8211; as ever &#8211; there&#8217;s a dark side to OAuth.</p><h2>Repressive Regimes</h2><p>One of the joys of Twitter is that its clients are decentralised from the main site.</p><p>This means that if Twitter is blocked in your country, you can use a third party client (like <a
href="http://dabr.co.uk/">Dabr</a>) to access it.</p><blockquote><pre>Twitter User -&gt; Dabr -&gt; Twitter API -&gt; Dabr -&gt; User</pre></blockquote><p>If Dabr became sufficiently popular to be blocked by an oppressive regime, you can switch to any one of the thousands of Twitter web clients.</p><p>OAuth <strong>forces </strong>you to the main Twitter site.  While you may visit Dabr to start with, you would be redirected to Twitter to complete OAuth.  If Twitter is blocked, you can&#8217;t connect.</p><h3>At a stroke, Twitter has shut itself off to anyone in a repressive country.</h3><p><a
href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/39b8b326d8b679c6">This has been picked up by some concerned users</a>.</p><h2>A (Hacky) Way Around It</h2><p>There&#8217;s really only one way around this problem.  The third party web client has to act as a man-in-the-middle.  There&#8217;s a patch for Dabr &#8211; developed by <a
href="http://code.google.com/u/cnyegle/" class="broken_link">cnyegle</a> &#8211; which will ask for a username and password, then proxy it to Twitter, get the OAuth token and tweet on behalf of the user.</p><p>From the user&#8217;s point of view, they are still giving the (potentially untrusted) site the username and password.</p><h2>Challenge Response</h2><p>This could be solved by implemented a challenge / response system.</p><ol><li>Alice visits the Dabr website.</li><li>Dabr asks Alice for her username (and <em>only</em> her username)</li><li>Dabr asks Twitter for the challenge associated with Alice&#8217;s username.</li><li>Twitter checks that Dabr is an authorised website (i.e. has signed up for OAuth).</li><li>Twitter returns the response:  A secret phrase which Alice has previously chosen.</li><li>Dabr displays this phrase to Alice.</li><li>Alice knows that Twitter trusts Dabr</li><li>Dabr asks Twitter for the password challenge.</li><li>Twitter returns that it requires the 3rd, 5th and last character from Alice&#8217;s password (the characters requested change randomly).</li><li>Dabr asks Alice for <em>only</em> those characters.</li><li>If Alice provides the correct characters, an OAuth token is granted to Dabr to tweet on behalf of Alice.</li></ol><p>This has the advantage of proving that Dabr is trusted (by displaying Alice&#8217;s pre-defined secret phrase) and mitigating the risk that Dabr is untrusted (by only revealing part of the password).</p><h2>Conclusion</h2><p>This is a very new area, and I&#8217;ve not had a chance to read through all of the proposals.  Nevertheless, it remains a fundamental problem that, if you can&#8217;t access a site, you need to delegate your trust to someone else.</p><p>I&#8217;m not a security expert &#8211; so I would appreciate someone pointing out the flaws in my reasoning.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1627&amp;md5=3e2818252192289b33db318f3f3a2b2f" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-problem/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1627&amp;md5=3e2818252192289b33db318f3f3a2b2f" type="text/html" /> </item> <item><title>Twitter OAuth &#8211; Mobile Failures</title><link>http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-mobile-failures/</link> <comments>http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-mobile-failures/#comments</comments> <pubDate>Sun, 07 Feb 2010 15:06:26 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[dabr]]></category> <category><![CDATA[oauth]]></category> <category><![CDATA[security]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1606</guid> <description><![CDATA[I&#8217;m a big fan of OAuth &#8211; despite some claims to the contrary. It&#8217;s an excellent way of teaching people not to stick their username and password into any old site which asks for it. Which is why I&#8217;m so incredibly disappointed in Twitter&#8217;s implementation of mobile OAuth. For a service which started out operating <a
href='http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-mobile-failures/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>I&#8217;m a big fan of OAuth &#8211; <a
href="http://www.theregister.co.uk/2009/11/04/oauth_dark_side/">despite some claims to the contrary</a>.  It&#8217;s an excellent way of teaching people not to stick their username and password into any old site which asks for it.  Which is why I&#8217;m so incredibly disappointed in Twitter&#8217;s implementation of mobile OAuth.</p><p>For a service which started out operating by SMS, Twitter takes a surprisingly unenlightened view of mobile.  It&#8217;s main mobile service &#8211; <a
href="http://m.twitter.com/">http://m.twitter.com/</a> &#8211; is almost completely devoid of useful features.  That&#8217;s one of the main impetuses behind the development of <a
href="http://dabr.co.uk/">Dabr</a>.  Their latest mobile site &#8211; <a
href="http://mobile.twitter.com/">http://mobile.twitter.com/</a> &#8211; is really only suitable for the tiny minority of people who have smartphones.</p><p>So, understandably, many people use 3rd party sites like Dabr.  They are now faced with a dilemma &#8211; give an untrusted site their username and password or try to use OAuth on the mobile.</p><p>A few weeks ago came the <a
href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/084f57349587b3d2/">announcement that OAuth was finally ready for mobile</a>&#8230; Was it? No.  Once again a &#8220;mobile friendly&#8221; site designed with masses of JavaScript and guaranteed not to work with the majority of phones on the market.</p><p>Here&#8217;s how mobile OAuth looks on a variety of popular mobile phones.</p><h2>BlackBerry</h2><div
id="attachment_1607" class="wp-caption aligncenter" style="width: 480px"><img
class="size-full wp-image-1607" title="BlackBerry Twitter OAuth" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/BlackBerry-Twitter-OAuth.png" alt="BlackBerry Twitter OAuth" width="470" height="695" /><p
class="wp-caption-text">BlackBerry Twitter OAuth</p></div><p>While this looks pretty enough, it doesn&#8217;t work.  The buttons <em>aren&#8217;t clickable</em>.  I&#8217;ve tried with and without JavaScript.  No matter where I click, nothing happens.</p><h2>Android</h2><p>The Android&#8217;s User-Agent isn&#8217;t detected by Twitter as being a mobile phone.  While it&#8217;s true that the browser is very capable &#8211; the OAuth screen is a lot more usable when it&#8217;s in mobile mode.</p><div
id="attachment_1610" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-1610" title="Android Twitter OAuth" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/android2.png" alt="Android Twitter OAuth" width="320" height="480" /><p
class="wp-caption-text">Android Twitter OAuth</p></div><p>So, it works, but it doesn&#8217;t look nice.</p><h2>N95</h2><p>The N95 makes a good test phone because it&#8217;s popular.  Probably more popular than the iPhone.</p><div
id="attachment_1612" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-1612" title="N95 Twitter OAuth" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Screenshot0106.png" alt="N95 Twitter OAuth" width="240" height="320" /><p
class="wp-caption-text">N95 Twitter OAuth</p></div><div
id="attachment_1613" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-1613" title="N95 Twitter OAuth" src="http://shkspr.mobi/blog/wp-content/uploads/2010/02/Screenshot0108.png" alt="N95 Twitter OAuth" width="240" height="320" /><p
class="wp-caption-text">N95 Twitter OAuth</p></div><p>It&#8217;s not pretty &#8211; but at least it works.</p><h2>Others</h2><p>The Sharp GX-10 is my default test phone.  One of the first phones with a colour HTML browser.  If your site can work on this phone, it will work on any phone.  There are no screenshot capabilities for this phone &#8211; but rest assured, it does not work.</p><p>The three phones I&#8217;ve demo&#8217;d above are very popular modern phones &#8211; AKA the minority.  If they don&#8217;t work well, what chance for the people using older phones?</p><p>Useless!  How hard can it be?  All it needs is a username field, a password field and a button.  That&#8217;s just about the most basic page imaginable.  It should be child&#8217;s play to make it work on mobile.</p><p>This was <a
href="http://code.google.com/p/twitter-api/issues/detail?id=395">first raised in March 2009 on Twitter&#8217;s issues list</a>. It&#8217;s currently the <em>most popular</em> bug.</p><p>So, we&#8217;re stuck in a dire situation.  Third-Party mobile sites get access to Twitter users&#8217; passwords because Twitter are unable or unwilling to develop a <em>simple</em> OAuth form.  It would be fascinating to know how many of Twitter&#8217;s security breaches are down to corrupt or insecure 3rd party sites which leak passwords.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1606&amp;md5=de898d729cb42f915edb82f089063071" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/02/twitter-oauth-mobile-failures/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1606&amp;md5=de898d729cb42f915edb82f089063071" type="text/html" /> </item> <item><title>Does Facebook Think My Marriage Is In Trouble?</title><link>http://shkspr.mobi/blog/index.php/2010/01/does-facebook-think-my-marriage-is-in-trouble/</link> <comments>http://shkspr.mobi/blog/index.php/2010/01/does-facebook-think-my-marriage-is-in-trouble/#comments</comments> <pubDate>Tue, 26 Jan 2010 13:37:56 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[facebook]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1565</guid> <description><![CDATA[Facebook has a funny idea of society.  From telling you to reconnect with dead friends, to offering your partner up as a &#8220;single&#8221; in your area &#8211; Facebook has a habit of getting things wrong. My partner and I, like many married couples, live together.  We speak over breakfast, commute together and send each other <a
href='http://shkspr.mobi/blog/index.php/2010/01/does-facebook-think-my-marriage-is-in-trouble/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Facebook has a funny idea of society.  From telling you to <a
href="http://mashable.com/2009/10/26/facebook-memoralized-profiles/">reconnect with dead friends</a>, to offering your <a
href="http://mashable.com/2009/07/17/facebook-dating-ads-2/">partner up as a &#8220;single&#8221; in your area</a> &#8211; Facebook has a habit of getting things wrong.</p><p>My partner and I, like many married couples, live together.  We speak over breakfast, commute together and send each other emails and texts throughout the day.  But we don&#8217;t do any of this on Facebook.</p><p>This worries Facebook.  It thinks our marriage may be on the rocks because we haven&#8217;t &#8211; excuse me &#8211; &#8220;poked&#8221; each other for a while.  Facebook knows the key to a successful marriage is to tag each other in as many photos as we can.</p><p>At least, that&#8217;s the only reason I can think for what I saw when I last logged in to Facebook.</p><div
id="attachment_1566" class="wp-caption aligncenter" style="width: 418px"><a
href="http://shkspr.mobi/blog/wp-content/uploads/2010/01/facebook-marriage.jpg"><img
class="size-full wp-image-1566  " title="facebook marriage" src="http://shkspr.mobi/blog/wp-content/uploads/2010/01/facebook-marriage.jpg" alt="Click for Bigger" width="408" height="138" /></a><p
class="wp-caption-text">Click to Embiggen</p></div><p>THANK YOU FACEBOOK FOR SAVING OUR MARRIAGE!</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1565&amp;md5=ffa3ffea9d7fa0b212a1c6a7e5b24bbf" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2010/01/does-facebook-think-my-marriage-is-in-trouble/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1565&amp;md5=ffa3ffea9d7fa0b212a1c6a7e5b24bbf" type="text/html" /> </item> <item><title>Mobile Newspapers</title><link>http://shkspr.mobi/blog/index.php/2009/12/mobile-newspapers/</link> <comments>http://shkspr.mobi/blog/index.php/2009/12/mobile-newspapers/#comments</comments> <pubDate>Thu, 10 Dec 2009 15:45:08 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[ft]]></category> <category><![CDATA[guardian]]></category> <category><![CDATA[independent]]></category> <category><![CDATA[metro]]></category> <category><![CDATA[mirror]]></category> <category><![CDATA[mobile web]]></category> <category><![CDATA[news]]></category> <category><![CDATA[nyt]]></category> <category><![CDATA[reuters]]></category> <category><![CDATA[sun]]></category> <category><![CDATA[telegraph]]></category> <category><![CDATA[times]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1359</guid> <description><![CDATA[When I was a student, I had a brilliant idea.  Why not have a stand at every train station where you could sync your Palm Pilot with the latest news? Insert a pound in the slot, press the button for The Times, aim your handheld&#8217;s IrDA at the blinking light and ZAP! All the latest <a
href='http://shkspr.mobi/blog/index.php/2009/12/mobile-newspapers/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>When I was a student, I had a brilliant idea.  Why not have a stand at every train station where you could sync your Palm Pilot with the latest news?</p><p>Insert a pound in the slot, press the button for The Times, aim your handheld&#8217;s <a
href="http://www.irda.org/">IrDA</a> at the blinking light and ZAP! All the latest news for you to read on your train journey.</p><p>It&#8217;s just as well that my idea never got out of the paper prototyping stage.  While BlueTooth has supplanted Infrared in the majority of modern phones, it is network provided data which is now king.</p><p>The <a
href="http://www.thedailyshow.com/watch/wed-june-10-2009/end-times">Daily Show did a wonderful interview with the New York Times</a>.  The interviewer asked the editor&#8230;</p><blockquote><p>Can you show me one thing in this paper that happened today?</p></blockquote><p>3 Minutes 10 seconds into the video<br
/> <object
style="display:block" classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="360" height="301" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param
name="bgcolor" value="#000000" /><param
name="flashvars" value="autoPlay=false" /><param
name="src" value="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:230076" /><param
name="wmode" value="window" /><param
name="allowfullscreen" value="true" /><embed
style="display:block" type="application/x-shockwave-flash" width="360" height="301" src="http://media.mtvnservices.com/mgid:cms:item:comedycentral.com:230076" allowfullscreen="true" wmode="window" flashvars="autoPlay=false" bgcolor="#000000"></embed></object></p><p>And, of course, the answer is &#8220;no&#8221;.</p><p>I remember on that dreadful day in September, barely a few hours had gone by before the first &#8220;extra&#8221; editions of the Evening Standard had pictures and analysis.</p><p>A few hours? That feels like a life-time. Especially when it comes to breaking and developing news.  There is a huge lag between a reporter typing away, the presses rolling, and the delivery drivers depositing the paper on the streets.</p><p>The Internet totally eliminates that lag.  A journalist can clatter words onto a laptop and with a push of a button have them broadcast to the world via their website.</p><h2>The Web is Too Slow</h2><p>I simply can&#8217;t wait until I&#8217;m back at my desk.  Nor can I be bothered to boot my laptop, find some Wifi, find some power, load FireFox, etc&#8230;</p><p>Flip open my phone, click news, read. That&#8217;s what I want.  And that&#8217;s what I can get.  For breaking news, the mobile Internet is the only real solution.</p><h2>What&#8217;s Available</h2><p>I present here a quick overview of the most popular British Newspapers&#8217; mobile sites.  I&#8217;ve also included the New York Times for international flavour and Reuters for the agency view.</p><div
id="attachment_1361" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1361" title="Favicons" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture15_52_57.jpg" alt="List of mobile newspapers - spot the favicon" width="480" height="320" /><p
class="wp-caption-text">List of mobile newspapers - spot the favicon</p></div><p>I don&#8217;t intend to comment on the politics of the papers, nor their choice of stories  &#8211; I&#8217;m going to concentrate on the first impression only.  Later I&#8217;ll do a full review of their capabilities.</p><p>The first thing to spot is the use of the <a
href="http://www.favicon.co.uk/whatisfavicon.php">Favicon</a>.  Favicons are the little icons which are used to differentiate your site from others.  Think of it like a visual bookmark.  Bizarrely, half of the UK papers <em>don&#8217;t</em> use a Favicon.  That means that in the bookmarks list they are likely to be overlooked.</p><p>A special mention for Reuters&#8217; Favicon (highlighted) &#8211; It&#8217;s an indistinct yellow splodge.  I&#8217;ve highlighted it because it&#8217;s hard to see yellow against a grey background.</p><h2>FT.com &#8211; <a
href="http://m.ft.com/">http://m.ft.com/</a></h2><div
id="attachment_1362" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1362" title="m.FT.com" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_35_17.jpg" alt="m.FT.com" width="480" height="320" /><p
class="wp-caption-text">m.FT.com</p></div><p><a
href="http://en.wikipedia.org/wiki/Financial_Times#History">Traditionally printed on pink paper</a>, the mobile site seeks to replicate the distinctive hue of its paper counter part.  From a branding perspective, this instantly tells the user that they are on familiar ground.  It doesn&#8217;t affect the readability &#8211; so why not.</p><p>Showing the time next to a story instantly tells the reader how &#8220;fresh&#8221; the content is.  Confusingly, there&#8217;s no date displayed.</p><p>Search is always important to readers; allowing them to get straight to the content they want.  Not having any navigation is a hindrance to users quickly finding their way around.  While users will scroll to get to navigation &#8211; placing it at the top is an easy way to let them choose where to go next.</p><p>While advertising is a necessary evil, this advert is hard to read and jars with the rest of the page.  The layout of the whole page seems very heavy on the dead-space.</p><h2>Guardian &#8211; <a
href="http://m.guardian.co.uk/">http://m.guardian.co.uk/</a></h2><div
id="attachment_1363" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1363" title="m.Guardian.co.uk" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_34_55.jpg" alt="m.Guardian.co.uk" width="480" height="320" /><p
class="wp-caption-text">m.Guardian.co.uk</p></div><p><a
href="http://shkspr.mobi/blog/index.php/2009/09/do-newspapers-get-the-web/">I&#8217;ve already reviewed the Guardian</a> &#8211; but to my mind it still stands out as one of the best examples of mobile news sites.  Compact and efficient layout, navigation, teaser images, and the date all contribute to a well designed first impression.</p><h2>The Independent &#8211; <a
href="http://m.independent.co.uk/">http://m.independent.co.uk/</a></h2><div
id="attachment_1364" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1364" title="m.independent.co.uk" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_33_33.jpg" alt="m.independent.co.uk" width="480" height="320" /><p
class="wp-caption-text">m.independent.co.uk</p></div><p>Dispensing with navigation has allowed The Independent to cram a few more stories above the fold.  Although their teaser text hasn&#8217;t been optimised for the size of the screen leaving some rather jarring dead-space.</p><p>The colouring is rather plain, but fits in well with the paper&#8217;s brand.  Colouring the background space given over to the advert is an interesting design choice.  It simultaneously draws attention to the advert while keeping it conceptually separate from the rest of the site.</p><h2>Metro &#8211; <a
href="http://metro.mobi/">http://metro.mobi/</a></h2><div
id="attachment_1365" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1365" title="metro.mobi" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_33_7.jpg" alt="metro.mobi" width="480" height="320" /><p
class="wp-caption-text">metro.mobi</p></div><p>The Metro is <em>technically</em> a newspaper.  The mobile site reflects the paper version &#8211; cheap, cheerful, primary colours and a blonde on the front page.  The total dominance of the image detracts from the rather good navigation choices &#8211; split by category.  The masthead is perhaps a bit large &#8211; but the promise of the image will probably be enough to get 50% of the population to scroll down.</p><p>It&#8217;s interesting to notice that there are no stories or direct links to stories to be seen.</p><h2>New York Times &#8211; <a
href="http://mobile.nytimes.com/">http://mobile.nytimes.com/</a></h2><div
id="attachment_1366" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1366" title="mobile.nytimes.com" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_32_49.jpg" alt="mobile.nytimes.com" width="480" height="320" /><p
class="wp-caption-text">mobile.nytimes.com</p></div><p>They &#8220;<a
href="http://en.wikipedia.org/wiki/New_York_Times">Gray Lady</a>&#8221; lives up to its reputation with a very plain site which, nevertheless, packs in a lot of information.</p><p>Using an anchor link to get to the navigation is a smart choice.  It reduces clutter at the top while keeping navigation options available.  With intelligent use of space they&#8217;ve also crammed in a search box.  The date and time give the viewer the reassurance that the news they are reading is not stale.</p><p>Unlike the other sites, the NYT places images on right.  While this is distinctive, readers of English are accustomed to a flow of information from left to right.  I wonder if this style helps or hinders readability.</p><p>The link to a dedicated application is a smart touch and will probably upsell readers.  Unfortunatley it comes at the expense of looking like it is part of the headline.   A less subtle change of font, colour, or placement would help here.</p><h2>Reuters &#8211; <a
href="http://uk.mobile.reuters.com/mobile/uk/">http://uk.mobile.reuters.com/mobile/uk/</a></h2><div
id="attachment_1367" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1367" title="uk.mobile.reuters.com" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_32_33.jpg" alt="uk.mobile.reuters.com" width="480" height="320" /><p
class="wp-caption-text">uk.mobile.reuters.com</p></div><p>Reuters is not a newspaper. It is austere and feature poor. Deliberately so &#8211; it caters to those who want the news without any fuss. That said, they do make poor use of the space available; only the lower third contains any real content.  It makes a nice change not to have an advert at the very top of the page &#8211; but the heaps of space aren&#8217;t really necessary.</p><p>Shifting the masthead and date on to one line, then removing some extraneous space would provide a better first impression by bringing more news to the forefront.</p><h2>The Sun &#8211; <a
href="http://thesun.mobi/">http://thesun.mobi/</a></h2><div
id="attachment_1368" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1368" title="thesun.mobi" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_32_9.jpg" alt="thesun.mobi" width="480" height="320" /><p
class="wp-caption-text">thesun.mobi</p></div><p><a
href="http://en.wikipedia.org/wiki/The_Sun_Newspaper">The Sun is Britain&#8217;s biggest selling paper</a>.  Unlike the others, they totally eschew advertising at the top of their site.</p><p>The page is strongly branded and very picture heavy &#8211; that&#8217;s likely to negatively impact download times. Navigation is very clear but it is missing search. They have deliberately taken the paper&#8217;s style &#8211; the ripped edges of the image, for example &#8211; and applied it directly to the mobile.  That&#8217;s not always a great idea, but it certainly makes it stand out from the crowd.</p><h2>Times &#8211; <a
href="http://timesmobile.mobi/">http://timesmobile.mobi/</a></h2><div
id="attachment_1369" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1369" title="timesmobile.mobi" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_31_38.jpg" alt="timesmobile.mobi" width="480" height="320" /><p
class="wp-caption-text">timesmobile.mobi</p></div><p><a
href="http://shkspr.mobi/blog/index.php/2009/10/mobile-news-sites-times/">I&#8217;ve reviewed the Time before</a>.  I find the logo unnecessarily large.  It&#8217;s great that they&#8217;ve got the date and time on there &#8211; but giving them their own line feels like an inefficient use of space.</p><p>Essentially, over half the screen is wasted here.</p><h2>Mirror &#8211; <a
href="http://m.mirror.co.uk/">http://m.mirror.co.uk/</a></h2><div
id="attachment_1370" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1370" title="m.mirror.co.uk" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_31_12.jpg" alt="m.mirror.co.uk" width="480" height="320" /><p
class="wp-caption-text">m.mirror.co.uk</p></div><p>The Mirror&#8217;s mobile site feels dominated by its advert &#8211; yet, impressively, they still manage to keep 3 stories above the fold.</p><p>There&#8217;s no navigation or search.  Indeed, it&#8217;s as simple as you can be without the barren space typified by Reuters.</p><p>While offering a good amount of news &#8211; this really gives the impression of being Lidl&#8217;s site, with a bit of news thrown in.  Adverts should be carefully designed not to swamp the pages on which they live.</p><h2>Telegraph &#8211; <a
href="http://m.telegraph.co.uk/">http://m.telegraph.co.uk/</a></h2><div
id="attachment_1371" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-1371" title="m.telegraph.co.uk" src="http://shkspr.mobi/blog/wp-content/uploads/2009/12/Capture16_30_48.jpg" alt="m.telegraph.co.uk" width="480" height="320" /><p
class="wp-caption-text">m.telegraph.co.uk</p></div><p>Alphabetically last, The Telegraph is a rather mixed bunch.  The only images are an advert and its logo.  The navigation and use of date are well integrated. Despite this, they can only fit two stories above the fold.</p><p>There are no images to entice the user &#8211; although the text rich screen does convey a depth of purpose that the others may be missing.</p><h2>Conclusion</h2><p>It&#8217;s important to remember that <a
href="http://blog.clicktale.com/?p=19">users will scroll</a>. The idea of putting important assets &#8220;above the fold&#8221; is, at best, a distraction.  But there&#8217;s no denying that the first impression really does count.</p><p>It&#8217;s heartening to know that the UK&#8217;s mobile (mainstream) news market is so vibrant and healthy.  While they differ in functionality and content &#8211; these sites show that providing news on the mobile is no longer a niche activity.</p><p>Mobile news sites come in a wide range of shapes and sizes &#8211; demonstrating that mobile needn&#8217;t be static and simplified.</p><p>These sites &#8211; despite their problems &#8211; are evidence that mobile news, for many people, is <strong>the </strong>news.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1359&amp;md5=509f19f8af106d8806a68d4c9cc2aef2" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/12/mobile-newspapers/feed/</wfw:commentRss> <slash:comments>7</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1359&amp;md5=509f19f8af106d8806a68d4c9cc2aef2" type="text/html" /> </item> <item><title>Recycling The FreshCase</title><link>http://shkspr.mobi/blog/index.php/2009/11/recycling-the-freshcase/</link> <comments>http://shkspr.mobi/blog/index.php/2009/11/recycling-the-freshcase/#comments</comments> <pubDate>Sat, 28 Nov 2009 07:00:24 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[environment]]></category> <category><![CDATA[freshcase]]></category> <category><![CDATA[nablopomo]]></category> <category><![CDATA[novlopomo]]></category> <category><![CDATA[recycle]]></category> <category><![CDATA[wine]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1311</guid> <description><![CDATA[Earlier this month, the lovely people at FreshCase sent me some boxes of wine. Alex Hilton wanted to know how easy it was to recycle. So, for your edification and delight, I present&#8230; Recycling The FreshCase Disclaimer These boxes of wine were sent to me for free. Enjoy alcohol responsibly. Do not attempt without adult <a
href='http://shkspr.mobi/blog/index.php/2009/11/recycling-the-freshcase/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Earlier this month, the lovely people at <a
href="http://www.freshcasewine.com/">FreshCase</a> sent me some <a
href="http://shkspr.mobi/blog/index.php/2009/11/boxes-of-wine/">boxes of wine</a>.</p><p><a
href="http://www.alexhilton.com/">Alex Hilton</a> wanted to know how easy it was to recycle.  So, for your edification and delight, I present&#8230;</p><h2>Recycling The FreshCase</h2><h2>Disclaimer</h2><p>These boxes of wine were sent to me for free. <a
href="http://www.drinkaware.co.uk/">Enjoy alcohol responsibly</a>. Do not attempt without adult supervision.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1311&amp;md5=e4b859f21cff416e40915d5e2fc567fb" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/11/recycling-the-freshcase/feed/</wfw:commentRss> <slash:comments>3</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1311&amp;md5=e4b859f21cff416e40915d5e2fc567fb" type="text/html" /> </item> <item><title>Seesmic Twitter Client for BlackBerry</title><link>http://shkspr.mobi/blog/index.php/2009/11/seesmic-twitter-client-for-blackberry/</link> <comments>http://shkspr.mobi/blog/index.php/2009/11/seesmic-twitter-client-for-blackberry/#comments</comments> <pubDate>Sun, 22 Nov 2009 07:00:04 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[blackberry]]></category> <category><![CDATA[dabr]]></category> <category><![CDATA[nablopomo]]></category> <category><![CDATA[twitter]]></category> <category><![CDATA[ubertwitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=1232</guid> <description><![CDATA[Seesmic, a service I&#8217;ve not tried before, have released a Twitter client for the BlackBerry. Is it any good? How does it compare with the features of Dabr or the usability of UberTwitter? Find out! Getting the client was fairly simple, but could be better. Simply visiting http://seesmic.com was enough to bring up a mobile <a
href='http://shkspr.mobi/blog/index.php/2009/11/seesmic-twitter-client-for-blackberry/'>[...]</a>]]></description> <content:encoded><![CDATA[<p><a
href="http://seesmic.com/">Seesmic</a>, a service I&#8217;ve not tried before, have released a Twitter client for the BlackBerry.  Is it any good? How does it compare with the features of <a
href="http://m.dabr.co.uk/">Dabr</a> or the usability of <a
href="http://www.ubertwitter.com/">UberTwitter</a>? Find out!</p><p>Getting the client was fairly simple, but could be better.  Simply visiting <a
href="http://seesmic.com">http://seesmic.com</a> was enough to bring up a mobile friendly page with download instructions.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_25_27.jpg"><img
class="aligncenter size-full wp-image-1233" title="Capture9_25_27" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_25_27.jpg" alt="Capture9_25_27" width="480" height="320" /></a><br
/> However, scrolling down presented this mess.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_25_41.jpg"><img
class="aligncenter size-full wp-image-1234" title="Capture9_25_41" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_25_41.jpg" alt="Capture9_25_41" width="480" height="320" /></a><br
/> You simply can&#8217;t rely on users to know what make, model or firmware version they have.  Use the user-agent string to do as much of the hard work as possible.  If a user tries to install an incompatible version, it won&#8217;t work and they&#8217;ll blame you.</p><p>The download itself is a sprightly 172KB and installs very quickly &#8211; it also doesn&#8217;t require a reboot.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_26_9.jpg"><img
class="aligncenter size-full wp-image-1235" title="Capture9_26_9" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_26_9.jpg" alt="Capture9_26_9" width="480" height="320" /></a><br
/> Once you&#8217;ve signed in, the main interface is very simple.  UberTwitter, for example, presents the user with complex set-up options on the first run.  Seesmic gets straight to the action.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_27_55.jpg"><img
class="aligncenter size-full wp-image-1236" title="Capture9_27_55" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_27_55.jpg" alt="Capture9_27_55" width="480" height="320" /></a><br
/> Seesmic is entirely menu driven &#8211; there are no shortcut keys.  UberTwitter allows me to hit R for reply &#8211; on Seesmic, I have to delve into the menus.  Luckily, they&#8217;re short and have obvious names.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_28_1.jpg"><img
class="aligncenter size-full wp-image-1237" title="Capture9_28_1" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_28_1.jpg" alt="Capture9_28_1" width="480" height="320" /></a><br
/> Reading a tweet gives the usual option, hashtags and @s are hyperlinked &#8211; as are web addresses.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_29_20.jpg"><img
class="aligncenter size-full wp-image-1238" title="Capture9_29_20" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_29_20.jpg" alt="Capture9_29_20" width="480" height="320" /></a><br
/> On usability flaw, the cursor is at the top of the screen.  A user has to scroll through the &#8220;Web&#8221; hyperlink before getting to the links within the tweet.</p><p>Again, because there are no keyboard shortcuts, everything has to go through the menu.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_29_46.jpg"><img
class="aligncenter size-full wp-image-1240" title="Capture9_29_46" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_29_46.jpg" alt="Capture9_29_46" width="480" height="320" /></a><br
/> Searching is problematic.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_31_8.jpg"><img
class="aligncenter size-full wp-image-1241" title="Capture9_31_8" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_31_8.jpg" alt="Capture9_31_8" width="480" height="320" /></a><br
/> Pressing enter doesn&#8217;t start a search, it inserts a new line.<br
/> The search button isn&#8217;t the first thing you get to when you scroll down.<br
/> While the results are standard, this odd error message kept popping up.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_31_27.jpg"><img
class="aligncenter size-full wp-image-1242" title="Capture9_31_27" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_31_27.jpg" alt="Capture9_31_27" width="480" height="320" /></a><br
/> I encountered this error several times.</p><p>Writing new tweet has some great usability touches &#8211; and some real clunkers.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_42_13.jpg"><img
class="aligncenter size-full wp-image-1245" title="Capture9_42_13" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_42_13.jpg" alt="Capture9_42_13" width="480" height="320" /></a><br
/> The closer a user gets to filling the 140 characters, the more red the screen turns.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_42_35.jpg"><img
class="aligncenter size-full wp-image-1246" title="Capture9_42_35" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_42_35.jpg" alt="Capture9_42_35" width="480" height="320" /></a><a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_47_4.jpg"><img
class="aligncenter size-full wp-image-1252" title="Capture9_47_4" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_47_4.jpg" alt="Capture9_47_4" width="480" height="320" /></a><br
/> URLs can be automatically shortened and images can be added.  This shows one of the great usability failures of Seesmic.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_38_58.jpg"><img
class="aligncenter size-full wp-image-1243" title="Capture9_38_58" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_38_58.jpg" alt="Capture9_38_58" width="480" height="320" /></a><br
/> Rather than use the BlackBerry&#8217;s file select utility, it uses its own &#8211; and it&#8217;s dreadful.  Ugly looking, no ability to search, slow, no preview.  Overall, a real let-down.</p><p>I don&#8217;t know why companies often insist on creating their own versions of well established system functions.  Especially when they add nothing and remove plenty.</p><p>Sending a tweet was continually problematic for me.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_43_55.jpg"><img
class="aligncenter size-full wp-image-1250" title="Capture9_43_55" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_43_55.jpg" alt="Capture9_43_55" width="480" height="320" /></a><br
/> Although it eventually relented.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_44_18.jpg"><img
class="aligncenter size-full wp-image-1251" title="Capture9_44_18" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_44_18.jpg" alt="Capture9_44_18" width="480" height="320" /></a><br
/> Seesmic also makes great use of notifies, showing you on your home screen how many unread tweets you have.<br
/> <a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_40_42.jpg"><img
class="aligncenter size-full wp-image-1244" title="Capture9_40_42" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_40_42.jpg" alt="Capture9_40_42" width="480" height="320" /></a><br
/> Overall, Seesmic isn&#8217;t a bad client.  There are a few rough-around-the-edges bugs and the file selection is atrocious but other than that, it works.  Power users like me will miss the shortcut keys of UberTwitter, and UT&#8217;s system-wide integration (uploading photos, capturing hashtags in emails etc.).  It lacks other features such as in-line photos, ability to see followers and friends, it also has no way of marking a tweet as a favourite or seeing favourites.</p><p>One feature it does have &#8211; a first in mobile twitter clients &#8211; is the ability to view lists.  You can&#8217;t add, edit or create &#8211; but you can see the lists you have created or are following.</p><p><a
href="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_32_49.jpg"><img
class="aligncenter size-full wp-image-1266" title="Capture9_32_49" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/Capture9_32_49.jpg" alt="Capture9_32_49" width="480" height="320" /></a></p><h2>Conclusion</h2><p>Seesmic works well enough as a basic twitter client for BlackBerry &#8211; but there&#8217;s nothing exciting about it.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1232&amp;md5=af5d1db65822ba52cc4cb37b09ea3864" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/11/seesmic-twitter-client-for-blackberry/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=1232&amp;md5=af5d1db65822ba52cc4cb37b09ea3864" type="text/html" /> </item> <item><title>Mobile Badvertising &#8211; Click Here</title><link>http://shkspr.mobi/blog/index.php/2009/11/mobile-badvertising-click-here/</link> <comments>http://shkspr.mobi/blog/index.php/2009/11/mobile-badvertising-click-here/#comments</comments> <pubDate>Sat, 07 Nov 2009 12:00:47 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[badvertising]]></category> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[advertising]]></category> <category><![CDATA[nablopomo]]></category> <category><![CDATA[reuters]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=955</guid> <description><![CDATA[How do you indicate that something on the web is &#8220;clickable&#8221;?  The W3C &#8211; the body which sets the standards for the Web &#8211; recommend you don&#8217;t use &#8220;Click Here&#8221; for link text.  Normal text is usually underlined and / or a different colour when it is a hyperlink &#8211; images don&#8217;t have any specific <a
href='http://shkspr.mobi/blog/index.php/2009/11/mobile-badvertising-click-here/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>How do you indicate that something on the web is &#8220;clickable&#8221;?  The W3C &#8211; the body which sets the standards for the Web &#8211; <a
href="http://www.w3.org/QA/Tips/noClickHere">recommend you don&#8217;t use &#8220;Click Here&#8221; for link text</a>.  Normal text is usually underlined and / or a different colour when it is a hyperlink &#8211; images don&#8217;t have any specific decoration to indicate you can click on them.</p><p>In this animated GIF, an advert for Lexus, we see a call to action which says &#8220;Click Here&#8221;.</p><div
id="attachment_956" class="wp-caption aligncenter" style="width: 310px"><img
class="size-full wp-image-956" title="lexus reuters advert" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/lexus-reuters-advert.gif" alt="Lexus Advert" width="300" height="75" /><p
class="wp-caption-text">Lexus Advert</p></div><p>Would it not be obvious to readers that this is an advert? That adverts are clickable?</p><p>Perhaps not.  Let&#8217;s see how it is laid out on <a
href="http://mobile.reuters.com/">Reuters Mobile</a>.</p><div
id="attachment_957" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-957" title="reuters advert" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/reuters-advert.jpg" alt="Advert on the Reuters Mobile site" width="480" height="320" /><p
class="wp-caption-text">Advert on the Reuters Mobile site</p></div><p>Utterly bizarrely, this image <em>isn&#8217;t</em> clickable!  The user will try in vain to click where it says &#8220;Click Here&#8221; and get nowhere &#8211; they have click on the word <span
style="text-decoration: underline;">Lexus</span>.</p><p>Take a look at the source code, if you don&#8217;t believe me.</p><div
id="attachment_958" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-958" title="reuters source" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/reuters-source.jpg" alt="HTML Source Code" width="480" height="320" /><p
class="wp-caption-text">HTML Source Code</p></div><h2>Make Your Advert Easy To Access</h2><p>Seems obvious, no?  The bigger the target area, the more chance a user will be able to click on it.  This is a big usability issue &#8211; especially on phones touchscreens, trackpads and rollerballs.</p><p>We see this issue in HTML forms as well.  In this example, it&#8217;s easy to select the &#8220;Male&#8221; option simply because the label is clickable.</p><form> <input
id="male" name="sex" type="radio" /> <label
for="male">Male</label></p> <input
id="female" name="sex" type="radio" />Female</form><p>The &#8220;Female&#8221; option is harder because you need to have the dexterity to accurately position your cursor over the tiny radio button as opposed to a larger target.</p><p>For a chance to win an AMAZING prize &#8211; click this dot <a
href="http://www.sadtrombone.com/">.</a> It&#8217;s not the easiest thing in the world. Especially on a mobile device where the cursor may only move in large steps.</p><h2>What To Do?</h2><p>Having a hyperlinked word or phrase under an advert certainly isn&#8217;t going to hurt.  When it&#8217;s the only way to access the content, you risk confusing your users&#8217; mental model about how images work.</p><p>Above all, never say &#8220;Click Here&#8221; if there&#8217;s nowhere to click.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=955&amp;md5=24ece3dade06ee06afd080eb2775c527" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/11/mobile-badvertising-click-here/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=955&amp;md5=24ece3dade06ee06afd080eb2775c527" type="text/html" /> </item> <item><title>Twitter, OAuth and Passwords &#8211; Oh My!</title><link>http://shkspr.mobi/blog/index.php/2009/11/twitter-oauth-and-passwords-oh-my/</link> <comments>http://shkspr.mobi/blog/index.php/2009/11/twitter-oauth-and-passwords-oh-my/#comments</comments> <pubDate>Wed, 04 Nov 2009 13:04:57 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[nablopomo]]></category> <category><![CDATA[oauth]]></category> <category><![CDATA[security]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=994</guid> <description><![CDATA[Twitter has a gaping security hole.  Changing your password won&#8217;t stop malicious users logging in as you! I received a rather worrying email from Twitter.  Apparently they thought my password had been compromised and needed to be reset. After checking to see if it was valid, I went and changed my password.  Any site which <a
href='http://shkspr.mobi/blog/index.php/2009/11/twitter-oauth-and-passwords-oh-my/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Twitter has a gaping security hole.  Changing your password <strong>won&#8217;t stop malicious users logging in as you!</strong></p><p>I received a rather worrying email from Twitter.  Apparently they thought my password had been compromised and needed to be reset.</p><div
id="attachment_996" class="wp-caption aligncenter" style="width: 310px"><img
class="size-medium wp-image-996" title="twitpass" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/twitpass-300x192.jpg" alt="Reset Your Twitter Password" width="300" height="192" /><p
class="wp-caption-text">Reset Your Twitter Password</p></div><p>After checking to see if it was valid, I went and changed my password.  Any site which relied on a cookie to post to Twitter would have been blocked out. Ha! Gotcha, suckers!</p><h2>The OAuth Problem</h2><p>OAuth tokens are <strong>not</strong> revoked when the master password is changed.</p><p><a
href="http://oauth.net/">OAuth </a>is a great idea &#8211; rather than give your username and password to any random site, you log on to Twitter and tell them that you authorise the refering site.  The site gets an OAuth token and never gets to see your password.  Great! Right? Not really.</p><p>Let&#8217;s consider the following scenario.</p><p>Alice has a Twitter username and password.</p><p>Bob runs a Twitter site.</p><p>Alice visits Bob&#8217;s site.  Alice is security conscious and uses OAuth.</p><p>Eve somehow discovers Alice&#8217;s password.</p><p>Eve also visits Bob&#8217;s site and uses OAuth.</p><p>Alice gets suspicious about strange activity on her account and changes her password.</p><p>Because Bob&#8217;s site uses OAuth, it <strong>does not require</strong> either Alice <em>or</em> Eve to re-enter Alice&#8217;s password.</p><p>In this scenario, Alice has to visit <a
href="http://twitter.com/account/connections">Twitter&#8217;s OAuth Connections page</a> and revoke access to <em>all</em> the sites she has previously connected to.  Alice has no way of knowing when each site was last accessed.  She also doesn&#8217;t know which site Eve is using.</p><div
id="attachment_995" class="wp-caption aligncenter" style="width: 310px"><img
class="size-medium wp-image-995" title="twitoauth" src="http://shkspr.mobi/blog/wp-content/uploads/2009/11/twitoauth-300x192.jpg" alt="Twitter's OAuth Page" width="300" height="192" /><p
class="wp-caption-text">Twitter&#39;s OAuth Page</p></div><h2>The Problem</h2><p>Changing a password should &#8211; in the minds of most people &#8211; mean that you need to re-enter your password even if you have previously authenticated yourself.</p><p>In this scenario, changing the password does not revoke access to malicious users who have previously used your credentials.</p><p>Twitter should revoke all OAuth tokens when a user&#8217;s password is changed. It is the only way to ensure that stolen credentials cannot continue to be used after a user has changed their password.</p><h2>Addendum</h2><p>As I&#8217;ve made clear in the comments &#8211; this <em>isn&#8217;t</em> a vulnerability within OAuth per se.  It&#8217;s a usability issue which has strong security implications.</p><p>I spoke to Eran Hammer-Lahav (listed as <a
href="http://oauth.net/advisories">OAuth&#8217;s advisory contact</a>) who said:</p><blockquote><p>If you suspect someone stole your password, you should revoke any tokens you did not personally authorized. But there is no reason to revoke tokens just because you are changing password.</p></blockquote><p>While I appreciate this as the official line from those in the know, it does nothing to prevent a user who uses the same sites as you.  For example, I can see on every tweet that you use Dabr.  Therefore, I can safely OAuth myself as you on Dabr.  You&#8217;ll change your password, but you <em>won&#8217;t</em> revoke Dabr&#8217;s token because <strong>you personally authorised it</strong>.</p><h2>Continuing The Conversation</h2><p>Heise Online <a
href="http://www.heise.de/newsticker/meldung/Hintertuer-bei-Twitter-schliessen-850287.html">provides comentary in German</a> (<a
href="http://www.h-online.com/security/news/item/Shutting-Twitter-backdoors-850717.html">English version</a>)</p><p>El Reg has a <a
href="http://www.theregister.co.uk/2009/11/04/oauth_dark_side/">feature about Twitter and OAuth</a>.</p><p>There&#8217;s also an <a
href="http://news.ycombinator.com/item?id=921619">interesting discussion over at Hacker News</a>.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=994&amp;md5=08426006de3bc0e8ec4dff9ff967a391" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/11/twitter-oauth-and-passwords-oh-my/feed/</wfw:commentRss> <slash:comments>39</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=994&amp;md5=08426006de3bc0e8ec4dff9ff967a391" type="text/html" /> </item> <item><title>Review: Opera Mini 5 Beta &#8211; BlackBerry</title><link>http://shkspr.mobi/blog/index.php/2009/09/review-opera-mini-5-beta-blackberry/</link> <comments>http://shkspr.mobi/blog/index.php/2009/09/review-opera-mini-5-beta-blackberry/#comments</comments> <pubDate>Thu, 17 Sep 2009 15:14:24 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[blackberry]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[opera]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=515</guid> <description><![CDATA[(Disclaimer, I work for Vodafone Group who do a lot of work with Opera. These are my personal views.) The regular BlackBerry browser is&#8230; how can I put this politely&#8230; sub-optimal. For reading mobile-friendly sites it&#8217;s perfectly adequate &#8211; but for anything more complex it tends to choke. Don&#8217;t get me wrong, it&#8217;s &#8220;good enough&#8221; <a
href='http://shkspr.mobi/blog/index.php/2009/09/review-opera-mini-5-beta-blackberry/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>(Disclaimer, I work for Vodafone Group who do a lot of work with Opera. These are my personal views.)</p><p>The regular BlackBerry browser is&#8230; how can I put this politely&#8230; sub-optimal.  For reading mobile-friendly sites it&#8217;s perfectly adequate &#8211; but for anything more complex it tends to choke.</p><p>Don&#8217;t get me wrong, it&#8217;s &#8220;good enough&#8221; for most basic browsing needs, but a lack of tabs, half-arsed JavaScript implementation and idiosyncratic rendering choices make for a somewhat frustrating browsing experience.</p><p>Enter <a
href="http://www.opera.com/mini/next/">Opera Mini 5 (beta)</a>.   Opera has been knocking around for ages.  Their desktop browser is solid and their mobile browser has always been rated highly.  But how does it compare to the BlackBerry&#8217;s native browser?  Let&#8217;s find out!</p><h2>The Good</h2><div
id="attachment_520" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-520" title="Logo" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/Logo.jpg" alt="Opera Mini 5 beta" width="480" height="320" /><p
class="wp-caption-text">Opera Mini 5 beta</p></div><p>From the first launch you can tell that a lot of care an attention has gone in to Opera Mini.  The startup screen has visual bookmarks &#8211; AKA speed-dials.</p><div
id="attachment_535" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-535" title="Capture8_7_57" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/Capture8_7_57.jpg" alt="Start Page" width="480" height="320" /><p
class="wp-caption-text">Start Page</p></div><p>There&#8217;s an impressive amount of animation &#8211; similar to App World &#8211; and the user interface is fairly snappy.</p><p>The new menu bar gives quick access to all the functions Opera has to offer.</p><div
id="attachment_521" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-521" title="menu" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/menu.jpg" alt="New Menu Bar" width="480" height="320" /><p
class="wp-caption-text">New Menu Bar</p></div><div
id="attachment_522" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-522" title="menubar" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/menubar.jpg" alt="Extended Menu Bar" width="480" height="320" /><p
class="wp-caption-text">Extended Menu Bar</p></div><p>Pages start in &#8220;Zoomed Out&#8221; mode so you can get an overview of the page.</p><div
id="attachment_518" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-518" title="bbcnewszoomout" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/bbcnewszoomout.jpg" alt="BBC News - Zoomed Out" width="480" height="320" /><p
class="wp-caption-text">BBC News - Zoomed Out</p></div><p>A click of the track ball zooms in.  Here you can see how well the text and images are rendered.</p><div
id="attachment_517" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-517" title="bbcnewszoomin" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/bbcnewszoomin.jpg" alt="Zoomed In" width="480" height="320" /><p
class="wp-caption-text">Zoomed In</p></div><h3>Tabbed Browsing</h3><p>Opera Mini handles tabs wonderfully.  Because Opera sets itself as the default browser &#8211; any link you click on in an email is opened in a new tab in Opera.</p><div
id="attachment_532" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-532" title="tabbed" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/tabbed.jpg" alt="Lots of tabs" width="480" height="320" /><p
class="wp-caption-text">Lots of tabs</p></div><div
id="attachment_531" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-531" title="startup" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/startup.jpg" alt="Closing Tabs" width="480" height="320" /><p
class="wp-caption-text">Closing Tabs</p></div><h3>Text Selection</h3><p>The native browser is very good at text selection &#8211; so is Opera.</p><div
id="attachment_526" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-526" title="select1" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/select1.jpg" alt="Text Selection" width="480" height="320" /><p
class="wp-caption-text">Text Selection</p></div><div
id="attachment_527" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-527" title="select2" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/select2.jpg" alt="Text Selection Instructions" width="480" height="320" /><p
class="wp-caption-text">Text Selection Instructions</p></div><div
id="attachment_528" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-528" title="select3" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/select3.jpg" alt="Highlighted Text" width="480" height="320" /><p
class="wp-caption-text">Highlighted Text</p></div><div
id="attachment_529" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-529" title="select4" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/select4.jpg" alt="Copy and Search" width="480" height="320" /><p
class="wp-caption-text">Copy and Search</p></div><h2>The Bad</h2><h3>Missing Letters</h3><p>As you can see, there is a missing letter on this page.</p><div
id="attachment_523" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-523" title="missingletters" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/missingletters.jpg" alt="Spot The Missing Letters" width="480" height="320" /><p
class="wp-caption-text">Spot The Missing Letters</p></div><p>This happens across websites with no seeming pattern other than the last letter on a line.</p><h3>No YouTube</h3><p>The native BlackBerry browser passes YouTube links to the media player.</p><div
id="attachment_524" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-524" title="NoYouTube" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/NoYouTube.jpg" alt="YouTube? What's That?" width="480" height="320" /><p
class="wp-caption-text">YouTube? What&#39;s That?</p></div><p>Opera doesn&#8217;t do anything with the links.  I didn&#8217;t expect it to have a fully-fledge flash player &#8211; but the least it could do is pass streaming media to the in built application that will handle it.</p><h3>Poor Text Entry</h3><p>The text boxes look nice, but have serious flaws.</p><div
id="attachment_533" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-533" title="textinput" src="http://shkspr.mobi/blog/wp-content/uploads/2009/09/textinput.jpg" alt="Poor Text Entry" width="480" height="320" /><p
class="wp-caption-text">Poor Text Entry</p></div><p>They don&#8217;t respect the normal BlackBery conventions.  There&#8217;s no auto-correction, holding down a letter doesn&#8217;t capitalise it. Sometimes hitting delete removes all the text.  This is infuriating.</p><h2>Miscellaneous</h2><p>There are a collection of things which prevent me loving Opera Mini 5 (Beta).</p><ul><li>Lack of standard BlackBerry keyboard shortcuts.  I can&#8217;t press K for Bookmar<strong>k</strong>s, P for <strong>P</strong>age Address, nor T to jump to the <strong>T</strong>op of the page.</li><li>Inability to send links.  If I&#8217;m reading an interesting page on the BlackBerry browser, I can send it via email or SMS &#8211; no way to do that with Opera.</li><li>Can&#8217;t open links in a new tab. I know it&#8217;s a bit churlish to complain when tabs are a new feature.</li><li>Clicking &#8220;Back&#8221; returns you to the <em>top</em> of the previous page &#8211; not you last position on the previous page.</li></ul><h2>Conclusion</h2><p>There are some annoying faults in Opera Mini 5 (beta) &#8211; but the clue is in the name &#8211; it&#8217;s a beta.  The browsing experience is so good, I can gloss over the missing letters and the poor text entry.</p><p>The fast rendering and tabbed browsing are enough to keep me using it for now.   Looks like RIM purchased <a
href="http://www.torchmobile.com/blog/?p=33" class="broken_link">Torch Mobile</a> just in time!</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=515&amp;md5=04ac74ee1bb035cdb792d6ea9e38c0b2" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/09/review-opera-mini-5-beta-blackberry/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=515&amp;md5=04ac74ee1bb035cdb792d6ea9e38c0b2" type="text/html" /> </item> <item><title>How Not To Design A Mobile Site &#8211; TasteLondon</title><link>http://shkspr.mobi/blog/index.php/2009/08/how-not-to-design-a-mobile-site-tastelondon/</link> <comments>http://shkspr.mobi/blog/index.php/2009/08/how-not-to-design-a-mobile-site-tastelondon/#comments</comments> <pubDate>Sat, 08 Aug 2009 08:51:59 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[design]]></category> <category><![CDATA[food]]></category> <category><![CDATA[restaurant]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=383</guid> <description><![CDATA[I&#8217;m a huge fan of TasteLondon.  Their card gives discounts in hundreds of restaurants around London.  It&#8217;s saved me quite a bit of money  and I really recommend the service to anyone who likes eating out. There is a small problem with it, though.  The directory of restaurants it covers is a fairly heavy paperback <a
href='http://shkspr.mobi/blog/index.php/2009/08/how-not-to-design-a-mobile-site-tastelondon/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>I&#8217;m a huge fan of TasteLondon.  Their card gives discounts in hundreds of restaurants around London.  It&#8217;s saved me quite a bit of money  and I really recommend the service to anyone who likes eating out.</p><div
id="attachment_397" class="wp-caption aligncenter" style="width: 310px"><a
href="http://www.tastelondon.co.uk/"><img
class="size-medium wp-image-397" title="TL_logo_web_large" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/TL_logo_web_large-300x139.jpg" alt="TasteLondon Logo" width="300" height="139" /></a><p
class="wp-caption-text">TasteLondon Logo</p></div><p>There is a small problem with it, though.  The directory of restaurants it covers is a fairly heavy paperback book  Rather inconvenient to carry around on the off chance that you fancy popping out for some dinner .  They do have a rather good website &#8211; <a
href="http://www.tastelondon.co.uk/">http://www.tastelondon.co.uk/</a> &#8211; but it doesn&#8217;t work on mobile. Nope. Not even if you&#8217;ve got a Cadbury&#8217;s iPhone.</p><p>Last year <a
href="http://twitter.com/edent/statuses/1061047023">I asked TasteLondon if they were planning on developing a mobile site</a>.  They said &#8220;yes&#8221; and here it is.  It&#8217;s a textbook example of how <em>not</em> to design for mobile.  Let me take you through it.</p><h2>Where is it?</h2><p>How would you expect to get to the TasteLondon mobile site?  Their <a
href="http://tastelondon.co.uk/article.php?id=103">news page annouces the service</a> <strong>but doesn&#8217;t give the URL</strong>! The site is meant to auto-detect a mobile browser but failed to do so on BlackBerry or Android.</p><p>I tried guessing the URL.  Was it m.tastelondon.co.uk? Perhaps mobile.tastelondon.co.uk? Surely not wap.tastelondon.co.uk? I know tastelondon.mobi? Nope &#8211; none of those.  After much perseverance I discovered it was <a
href="http://www.tastelondon.co.uk/iphone">http://www.tastelondon.co.uk/iphone</a></p><h2>Solutions</h2><ul><li>TELL YOUR CUSTOMERS WHERE YOUR SITE IS!</li><li>Mobile detection is hard.  You can use services like <a
href="http://deviceatlas.com/">DeviceAtlas</a> or <a
href="http://wurfl.sourceforge.net/">WURFL</a> to detect if a device is mobile.</li><li>Always offer a link on your main page just in case your detection is wrong.</li><li>If there are several standards, make sure you redirect your customers if they go to the wrong URL.  A simple redirect in .htaccess would have send everyone visiting the m.tastelondon URL to the correct location.</li><li>Don&#8217;t choose technology specific names in your addresses.  /iphone would indicate that you&#8217;re not interested in the hundreds of millions of devices which aren&#8217;t made by Apple.  While the iPhone is popular now &#8211; will it be in a year&#8217;s time? Choose something vendor neutral.</li></ul><p>So, here&#8217;s the front page on my BlackBerry.</p><div
id="attachment_386" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-386" title="Capture8_49_54" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/Capture8_49_54.jpg" alt="Front Page - KISS" width="480" height="320" /><p
class="wp-caption-text">Front Page - KISS</p></div><p>I quite like this.  It&#8217;s simple.  There&#8217;s a link back to the full site.  The bold indicates that I&#8217;m in simple search and, if I want, I can go to Advanced Search.  I wouldn&#8217;t have made &#8220;Simple Search&#8221; a link as I&#8217;m already here.  Overall, not bad.  Let&#8217;s see what the search results are like.</p><h2>JavaScript</h2><p>So, I hit the button and what do I see?</p><div
id="attachment_385" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-385" title="Capture8_49_14" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/Capture8_49_14.jpg" alt="JavaScript" width="480" height="320" /><p
class="wp-caption-text">JavaScript</p></div><p>Don&#8217;t get me wrong, I love JavaScript. It does all sorts of amazing things and usually makes usability a lot better.  But on mobile?  True, many newer high-end phones have JavaScript &#8211; but literally <em>billions </em>don&#8217;t.  Why would you alienate so many potential customers?</p><p>What makes it worse, is that this is a simple form.  We&#8217;ve had forms on the web since its inception.  It&#8217;s a standard HTML element.  Why would a simple search box need JavaScript?</p><h2>Is It Necessary?</h2><ul><li><acronym
title="Keep It Simple, Stupid">KISS</acronym></li><li>If you&#8217;re desperate to use a whizzy new feature &#8211; check how widely supported it is.  Make sure there&#8217;s a fallback option for those users who won&#8217;t or can&#8217;t upgrade.</li><li>Whenever you create a new service, test it as thoroughly as possible.  Remember, you are probably not your typical user.  Find out what technology your users have and design for them &#8211; not for what&#8217;s &#8220;cool&#8221;.</li></ul><p>Ok, let me grab my Android handset and carry on testing&#8230;</p><h2>Where am I?</h2><p>So, I&#8217;ve just arrived at Waterloo Station when I see all the trains home are cancelled.  Let&#8217;s grab a bite to eat nearby.  I&#8217;ll search for Waterloo.</p><div
id="attachment_394" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-394" title="waterloo" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/waterloo.png" alt="Searching near Waterloo" width="320" height="480" /><p
class="wp-caption-text">Searching near Waterloo</p></div><p>This is what I get back.</p><div
id="attachment_395" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-395" title="waterloo results" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/waterloo-results.png" alt="Results from searching for Waterloo" width="320" height="480" /><p
class="wp-caption-text">Results from searching for Waterloo</p></div><p>There are three serious errors with this page</p><ol><li>The result is wrong.  I know the postcode of my home and my workplace.  I&#8217;ve no idea what the postcode is for anywhere else.  Given this is a London based service, I was expecting that a major train station would suffice.</li><li>No feedback on what I&#8217;ve searched for.  That search bar should be pre-populated with my search.  Just like every other search engine.  This gives allows me to correct any misspellings and serves as a reminder of what I was looking for.</li><li>Location.  The Prezzo in Peterborough is 265.31 Miles away.  Away from where?  I haven&#8217;t given my location and, as far as I can tell, the site hasn&#8217;t automatically detected it.  Where does this figure derive from?</li></ol><h2>User Needs</h2><ul><li>Think about how the user thinks.  Does anyone know the postcode of the pub they&#8217;re sat in?  If you need a street name for accuracy, tell the user.</li><li>Give the user feedback.  Keep them in the loop.</li><li>Detect the user&#8217;s location.  This may be complicated for you &#8211; but it&#8217;s easier for the user.</li></ul><h2>Success!</h2><p>I&#8217;ll try again.  I&#8217;ve got the feeling that I&#8217;m in the postal area of W2.  Here&#8217;s what success looks like.</p><div
id="attachment_393" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-393" title="w2" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/w2.png" alt="w2" width="320" height="480" /><p
class="wp-caption-text">Is this as good as it can be?</p></div><p>A really good page.  Pretty, well formatted, lots of information.  Can you spot the four glaring usability issues?</p><ol><li>I can&#8217;t click on the phone numbers.  Some advanced phones will detect the number string and allow you dial it.  If not, you&#8217;ve got to find a scrap of paper, scribble down the number, close the browser, go to the phone&#8217;s dialer and type the number in yourself.</li><li>Where is Craven Hill Gardens? Why not link to Google Maps. Or Yahoo Maps. Or any mapping service.</li><li>What do those icons mean?  Anyone already intimately familiar with the TasteLondon system <em>may</em> know what they mean.</li><li>Where do I go for more information?  The names of the venues aren&#8217;t clickable.</li></ol><h2>Is This As Easy As It Could Be?</h2><p>Make everything as easy as possible for your users.  In four simple steps the usability of this site could dramatically be increased.</p><ol><li>Make phone numbers easy to dial.  Your user is on a phone, they need to book a restaurant, you&#8217;ve given them the number &#8211; why wouldn&#8217;t you make it easy for them to call?  You can use <a
href="http://www.openmobilealliance.org/Application/Search/?search=wtai">WTAI</a> or <a
href="http://tools.ietf.org/html/rfc3966">tel:</a> to make it easy for any user to dial the number you&#8217;ve presented.</li><li>Maps.  On the desktop, users are quite happy to copy and paste text into another page or application.  It&#8217;s not so easy on mobile. If something can be a link &#8211; it probably should be.</li><li>Familiarity. Because we spend all day in our jobs, we often forget that not everyone understands the acronyms and syntax we use.  Don&#8217;t hide behind obscure icons <em>unless</em> you hyperlink those icons to a page describing what they mean.  Consider having a &#8220;key&#8221; or &#8220;legend&#8221; at the top of a jargon heavy page.</li><li>Have you given me enough information to make a decision?  Perhaps I want to see the menu, prices, review or some other information.  If the information is available on your main site, it should be available on mobile.  This is the central tenent of the <a
href="http://www.w3.org/TR/mobile-bp/#OneWeb">One Web</a>.</li></ol><h2>The Tyranny Of Choice</h2><p>Let&#8217;s pop into Advanced Search.  It&#8217;s fairly comprehensive.</p><div
id="attachment_391" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-391" title="advance search result" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/advance-search-result.png" alt="Advance search result" width="320" height="480" /><p
class="wp-caption-text">Advance search result</p></div><p>There&#8217;s a sensible amount of options. Availability, Cost, and Offers all have 3 &#8211; 4 options.  Cuisine obviously has rather a lot of choices &#8211; 40 of them from African to Vietnamese. Yummy!</p><p>How many results do I want to see?  According to TasteLondon, it could be over 500!</p><div
id="attachment_384" class="wp-caption aligncenter" style="width: 490px"><img
class="size-full wp-image-384" title="Capture7_2_30" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/Capture7_2_30.jpg" alt="How many results" width="480" height="320" /><p
class="wp-caption-text">How many results</p></div><h2>Rational Choices</h2><ul><li><a
href="http://www.scientificamerican.com/article.cfm?id=0006AD38-D9FB-1055-973683414B7F0000">Too many choices can be confusing and distressing for the user</a>.</li><li>How much information does a user want to see?</li><li>How long will it take a user to download 500 results onto their phone?</li><li>If you are going to offer a large results set, give the user a way to sort.</li><li>Rationalise the choices you offer and how you offer them.  Is a list the best way? How about radio buttons or check boxes?</li></ul><h2>Sharing Is Caring</h2><p>So, I&#8217;ve found the perfect restaurant for me and my friends.  I guess I&#8217;d better check that it&#8217;s OK with them all.  How can I do that? I know! I&#8217;ll SMS them the URL.</p><p>Ah&#8230; A problem.  The URL isn&#8217;t specific to the restaurant.</p><div
id="attachment_392" class="wp-caption aligncenter" style="width: 330px"><img
class="size-full wp-image-392" title="URL" src="http://shkspr.mobi/blog/wp-content/uploads/2009/08/URL.png" alt="The Site URL" width="320" height="480" /><p
class="wp-caption-text">The Site URL</p></div><h2>Take Advantage of the Platform</h2><ul><li>If you want people to visit your site, make it easy for them to share it with their friends.</li><li>Consider having a &#8220;Send To Friend&#8221; button which will save your users the cost of a text message.</li><li>Create useful URLs. Watch this <a
href="http://www.slideshare.net/deanna.marbeck/url-design-for-information-architects-presentation">presentation about URL design</a> or read it direct from the mouths of experts &#8211; <a
href="http://www.w3.org/Provider/Style/URI">Cool URLs Don&#8217;t Change</a>.</li><li>For this site, I&#8217;d use two different types of URLs.</li><li>The URL for the search page should be similar to <span
style="text-decoration: underline;">m.tastelondon.co.uk/?l=w2&amp;c=veg&amp;a=1&amp;c=2&amp;o=3</span> This enables your users to send the message &#8220;Hey, which one do you like the best?&#8221;</li><li>The URL for each restaurant should be similar to <span
style="text-decoration: underline;">m.tastelondon.co.uk/?r=1234</span> This enables your users to send the message &#8220;Hey, do you like this restaurant?&#8221;</li><li>You can use &#8220;<a
href="http://deviceatlas.com/properties">smsto://</a>&#8221; on some phones to make it easier to send the URL by text.</li></ul><h2>Conclusion</h2><p>I love my TasteLondon card.  It is tremendously valuable.  It has paid for itself many times over.  The mobile site is, frankly, a bit disappointing.  It works &#8211; on some phones.  It gives me information &#8211; but only the bare minimum.  It tries to be clever &#8211; but gets the basics wrong.</p><p>If I were dining on my own, didn&#8217;t really care about the menu and hoped cabbies knew London as well as they&#8217;re meant to &#8211; this wouldn&#8217;t be a bad site.  I do use it &#8211; but find myself skipping into Google Maps and external restaurant review sites.  I have to copy and paste details or take a screenshot if I want to share information with friends.</p><p>TasteLondon&#8217;s mobile site has only been live for a few weeks &#8211; I look forward to watching its evolution.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=383&amp;md5=01ad92306843cb0e6d777c2611ceff80" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/08/how-not-to-design-a-mobile-site-tastelondon/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=383&amp;md5=01ad92306843cb0e6d777c2611ceff80" type="text/html" /> </item> <item><title>UberTwitter Review</title><link>http://shkspr.mobi/blog/index.php/2009/07/ubertwitter-review/</link> <comments>http://shkspr.mobi/blog/index.php/2009/07/ubertwitter-review/#comments</comments> <pubDate>Wed, 01 Jul 2009 17:35:51 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[blackberry]]></category> <category><![CDATA[twitter]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=219</guid> <description><![CDATA[It&#8217;s been a long time since my last post about Twitter on the BlackBerry. Back then I concluded that Dabr wasn&#8217;t quite up to snuff &#8211; how wrong I was! In the last year it has come on leaps and bounds. I&#8217;ve even contributed a few suggestions and lines of code. Without a doubt, Dabr <a
href='http://shkspr.mobi/blog/index.php/2009/07/ubertwitter-review/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>It&#8217;s been a long time since my last post about<a
href="http://shkspr.mobi/blog/index.php/2008/10/mobile-twitter-on-the-blackberry/"> Twitter on the BlackBerry</a>.</p><p>Back then I concluded that <a
href="http://m.dabr.co.uk/">Dabr</a> wasn&#8217;t quite up to snuff &#8211; how wrong I was! In the last year it has come on leaps and bounds. I&#8217;ve even contributed a few suggestions and lines of code.</p><p>Without a doubt, Dabr is the best <em>general</em> mobile web client for Twitter.</p><p>As my main device is a BlackBerry, I wanted something that integrated a little better. The Facebook app hooks in with email, calendar and even adds profile pictures to the address book. Is there anything similar for Twitter?</p><p>Enter <a
href="http://ubertwitter.com/">ÜberTwitter </a>- the finest client for the BlackBerry that I&#8217;ve used. Here are the reasons why&#8230;</p><h2>Top posting</h2><div
id="attachment_226" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-226" title="Capture22_25_37" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_25_37-300x200.jpg" alt="Top Posting and Reply Highlighting" width="300" height="200" /><p
class="wp-caption-text">Top Posting and Reply Highlighting</p></div><p>Every web client I&#8217;ve found imposes the <em>wrong reading order</em>! Take a look:</p><blockquote><p>Alice: Oh, I see!<br
/> Bob: Because it makes it hard to follow a conversation.<br
/> Alice: Why?<br
/> Bob: No.<br
/> Alice: Is top posting a good idea?</p></blockquote><p>Previously, whenever I loaded up twitter, I was faced with the newest tweets first. This means coming in at the wrong end of the conversation. Although hard to show in screenshots, ÜberTwitter overcomes this by keeping the cursor on your last read tweet and loading the others above it. So you scroll up to read in the correct order!</p><h3>Feature Request</h3><p>I&#8217;d rather scroll down &#8211; or have the option of reversing the reading order. English speakers read top to bottom.</p><h2>GPS Integration</h2><div
id="attachment_233" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-233" title="Capture16_42_58" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture16_42_58-300x200.jpg" alt="GPS Integration" width="300" height="200" /><p
class="wp-caption-text">GPS Integration</p></div><p>You can add your location in real time. This is also useful for searching nearby.</p><div
id="attachment_232" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-232" title="Capture22_19_1" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_19_1-300x200.jpg" alt="Seach using location" width="300" height="200" /><p
class="wp-caption-text">Seach using location</p></div><h2>Picture Integration</h2><div
id="attachment_224" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-224" title="Capture22_15_27" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_15_27-300x200.jpg" alt="Image Thumbnail" width="300" height="200" /><p
class="wp-caption-text">Image Thumbnail</p></div><div
id="attachment_225" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-225" title="Capture22_15_46" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_15_46-300x200.jpg" alt="Full size images" width="300" height="200" /><p
class="wp-caption-text">Full size images</p></div><p>This is something which Dabr also does very well.  If a tweet contains a link to a picture, you can see the picture inline.</p><h2>Sending Pictures</h2><div
id="attachment_227" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-227" title="Capture23_12_36" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture23_12_36-300x200.jpg" alt="Upload pictures from the gallery" width="300" height="200" /><p
class="wp-caption-text">Upload pictures from the gallery</p></div><p>Again, Dabr allows similar functionality by  posting via twitpic.  But because ÜberTwitter is an application, it hooks in to the OS to allow you to post straight from your photo gallery.</p><h2>#HashTag Integration</h2><div
id="attachment_221" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-221" title="Capture22_47_2" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_47_2-300x200.jpg" alt="Hashtags in Facebook" width="300" height="200" /><p
class="wp-caption-text">Hashtags in Facebook</p></div><div
id="attachment_222" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-222" title="Capture22_47_42" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_47_42-300x200.jpg" alt="Hashtag search" width="300" height="200" /><p
class="wp-caption-text">Hashtag search</p></div><p>When you have a hashtag in a <em>non-twitter</em> message, you can click it. I&#8217;m not sure if this applies only to the Facebook app.</p><h2>Others</h2><p>I don&#8217;t intend to comment on every aspect, so here are some representative screenshots.</p><div
id="attachment_231" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-231" title="Capture22_59_16" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_59_16-300x200.jpg" alt="Trending Topics" width="300" height="200" /><p
class="wp-caption-text">Trending Topics</p></div><div
id="attachment_230" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-230" title="Capture23_11_53" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture23_11_53-300x200.jpg" alt="Take a picture from within the client" width="300" height="200" /><p
class="wp-caption-text">Take a picture from within the client</p></div><div
id="attachment_229" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-229" title="Capture22_26_46" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_26_46-300x200.jpg" alt="Detailed follower information" width="300" height="200" /><p
class="wp-caption-text">Detailed follower information</p></div><div
id="attachment_228" class="wp-caption alignnone" style="width: 310px"><img
class="size-medium wp-image-228" title="Capture22_21_36" src="http://shkspr.mobi/blog/wp-content/uploads/2009/07/Capture22_21_36-300x200.jpg" alt="Counts character usages and alerts when you're over the limit" width="300" height="200" /><p
class="wp-caption-text">Counts character usages and alerts when you're over the limit</p></div><h2>Conclusion</h2><p>This may be a beta product, but it is much better than most *shipping* software!<br
/> There are some minor niggles (can&#8217;t block or unblock, no alerts on new replies or new messages) but it is otherwise complete.</p><p>If you&#8217;ve got a BlackBerry, you owe it to yourself to get <a
href="http://www.ubertwitter.com/bb/download.php">ÜberTwitter</a>.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=219&amp;md5=2f72ef417a4b9790466b99dd4a1d4b65" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/07/ubertwitter-review/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=219&amp;md5=2f72ef417a4b9790466b99dd4a1d4b65" type="text/html" /> </item> <item><title>Nokia Ovi &#8211; 25 Mistakes</title><link>http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-25-mistakes/</link> <comments>http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-25-mistakes/#comments</comments> <pubDate>Tue, 26 May 2009 14:14:15 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[fail]]></category> <category><![CDATA[nokia]]></category> <category><![CDATA[ovi]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=91</guid> <description><![CDATA[I know a thing or two about mobile websites. The last 4 years of my life have been spent obsessing over them. I wouldn&#8217;t claim that the sites I run are the best in the world &#8211; but I&#8217;ve picked up a thing or two about how a successful mobile retail channel should work. Nokia&#8217;s <a
href='http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-25-mistakes/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>I know a thing or two about mobile websites. The last 4 years of my life have been spent obsessing over them. I wouldn&#8217;t claim that the sites I run are the best in the world &#8211; but I&#8217;ve picked up a thing or two about how a successful mobile retail channel should work.<br
/> Nokia&#8217;s Ovi gets <strong>everything</strong> wrong. I&#8217;m going to show you 25 easily avoidable mistakes in the new Ovi Store.</p><p>Here&#8217;s how to make a successful downloads platform:</p><ol><li>Make it easy for your customers to buy things.</li><li>&#8230;er&#8230;.</li><li>Nope. That&#8217;s pretty much it.</li></ol><p>So, here&#8217;s the front page of the Ovi Store.</p><div
id="attachment_93" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-93" title="Ovi Front Page" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0042.png" alt="Count the errors" width="240" height="320" /><p
class="wp-caption-text">Count the errors</p></div><p>Here&#8217;s every error I can find on the above the fold page&#8230;</p><ol><li>Incomplete titles. &#8220;Star Trek Noki&#8221;? Surely &#8220;Nokia&#8221;? Looks sloppy and unprofessional.</li><li>Poor descriptions. &#8220;Ringtones In Cinemas Now!&#8221;? Ringtones aren&#8217;t in cinemas. Is that one ringtone or several I&#8217;ll be downloading? If you don&#8217;t tell me what it is I&#8217;m getting, why would I download it?</li><li>Ratings. Why would you put unrated (or rated zero) content at the front of the store? You want your killer apps there.</li><li>Search. Why do I need to click through to search? There should be a text field and button there, not a link.</li><li>Colour differentiation. Using white and then light grey doesn&#8217;t help customers easily scan across the page. A darker shade would help.</li><li>Menu bar. Is there an order to it? Is there a reason it splits haphazardly over three lines? The longer the menu &#8211; the less space for content. As it is, it&#8217;s a pretty poor use of space.</li><li>No Nokia branding. I know they&#8217;re trying to promote Ovi as a brand &#8211; but no one knows about it yet. The use of the Nokia logo would really help customers trust the store.</li></ol><p>&#8230;and breathe&#8230;</p><p>Let&#8217;s assume we&#8217;re reckless enough to click on &#8220;Star Trek Noki&#8221;. What do we find?</p><div
id="attachment_98" class="wp-caption aligncenter" style="width: 245px"><img
class="size-full wp-image-98" title="Downloading a ringtone" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/ringtone.png" alt="Oh dear..." width="235" height="583" /><p
class="wp-caption-text">Oh dear...</p></div><p>Let&#8217;s take this from the top. Don&#8217;t forget, this is the Nokia Ovi Store&#8217;s FIRST link. This is what they really want you to buy.</p><ol><li>Where&#8217;s the description? What exactly am I buying? It turns out, this is the product placement tune in the new Star Trek film. Some descriptive text would help. I thought it was going to be the film&#8217;s theme tune!</li><li>The description &#8211; such as it is &#8211; appears half way down the page. Why do I have to scroll to see what I&#8217;m getting?</li><li>Photos? Why do I need photos of a ringtone? Why are there &#8220;more&#8221; photos when there&#8217;s only the one?</li><li>The product photo is, essentially, black. A bit of colour to liven up the page wouldn&#8217;t hurt.</li><li>The review &#8211; why isn&#8217;t it in English?</li><li>Are the related links Games, Videos, Ringtones? Some context would help.</li></ol><p>I clicked on download and got a blank page. Once I refreshed the page, the download started.</p><div
id="attachment_94" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-94" title="Downloading Rington" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0046.png" alt="Huh?" width="240" height="320" /><p
class="wp-caption-text">Huh?</p></div><p>Files should be named. It makes it easier for the user to find in their filesystem, it looks more professional when downloading.</p><p>So, I play the file and what do I get</p><div
id="attachment_95" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-95" title="Nokia Ringtone" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0047.png" alt="Real professional lookin'" width="240" height="320" /><p
class="wp-caption-text">Real professional lookin&#39;</p></div><p>Add some fracking ID3 tags! It makes it easier for the user, it looks more professional and it costs the supplier <em>nothing</em>!</p><p>Gah! Fine. Ok. I&#8217;ll go back to the store and grab something else. I click back and am presented with this monstrosity.</p><div
id="attachment_96" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-96" title="Blank screen" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0048.png" alt="Where do we go from here?" width="240" height="320" /><p
class="wp-caption-text">Where do we go from here?</p></div><p>Nothing. Not even a page telling me how to get back. How is this meant to encourage me to buy more? This page should thank me for downloading. It should encourage me to buy more. In this case, I&#8217;d expect to see more Star Trek merchandise that Nokia want to sell to me.</p><p>Contrast this with the N-Gage download from the N-Gage site.</p><div
id="attachment_97" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-97" title="N-Gage download" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0011.png" alt="Much better" width="240" height="320" /><p
class="wp-caption-text">Much better</p></div><p>Once my download is completed, I get sent back to a nice page which lets me continue enjoying the store.  Nokia have this technology for Ovi &#8211; but not in the Ovi Store. Bizarre.</p><p>Last, but not least &#8211; registration. I know that Nokia has to have a registration process &#8211; they don&#8217;t have an MNO&#8217;s advantage of seeing a customer&#8217;s phone number. They also don&#8217;t have an associated account which they can reuse &#8211; like Google or Apple.</p><p>Oh&#8230; No&#8230; Wait&#8230; They do. I&#8217;ve registered for a Nokia account, an Ovi account and a Mosh account. I don&#8217;t seem to be able to use any of them with Ovi Store. <a
href="http://en.wikipedia.org/wiki/Not_Invented_Here">NIH syndrome</a>?</p><p>To be fair, the sign up process isn&#8217;t too bad. <a
href="http://shkspr.mobi/blog/index.php/2009/02/itunes-why-the-sad-face/">Apple could learn a lot from it</a>.</p><div
id="attachment_92" class="wp-caption aligncenter" style="width: 244px"><img
class="size-full wp-image-92" title="ovi-sign-up" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/ovi-sign-up.png" alt="A pretty good sign up screen" width="234" height="864" /><p
class="wp-caption-text">A pretty good sign up screen</p></div><p>The only criticisms I have are the &#8220;Mobile Number&#8221; field should be masked so the user can only enter numbers. I also think that a captcha is a bit of an overkill on a mobile site.</p><p>Good to see that the example number is from <a
href="http://www.ofcom.org.uk/telecoms/ioi/numbers/num_drama">Ofcom&#8217;s reserved range</a>.</p><p>Overall, this is a step backwards for Nokia. Mosh and the original Ovi were quite good. This is just a mess.  By my count, there are at least 25 basic mistakes just from going to the front page and downloading a ringtone.</p><p>25 mistakes in 3 clicks.</p><p>[Disclaimer. In the interests of fairness, I work for Vodafone. Specifically looking after Vodafone live! a direct competitor to Ovi. The thoughts expressed in this post are my own and not those of my employer. I have nothing against Nokia; I kick up as much of a fuss about <a
href="http://shkspr.mobi/blog/index.php/2009/02/itunes-sucks-a-rational-discussion/">Apple</a> and <a
href="http://shkspr.mobi/blog/index.php/2009/04/blackberry-appworld-pictures-and-thoughts/">BlackBerry</a> too!]</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=91&amp;md5=1fb362dbed2676c0688f4a53fe481e3e" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-25-mistakes/feed/</wfw:commentRss> <slash:comments>19</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=91&amp;md5=1fb362dbed2676c0688f4a53fe481e3e" type="text/html" /> </item> <item><title>Nokia Ovi Store. Oh dear&#8230;</title><link>http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-store-oh-dear/</link> <comments>http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-store-oh-dear/#comments</comments> <pubDate>Tue, 26 May 2009 09:49:43 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[.mobi]]></category> <category><![CDATA[fail]]></category> <category><![CDATA[nokia]]></category> <category><![CDATA[ovi]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/?p=79</guid> <description><![CDATA[I try so hard to like Nokia. Their hardware is second to none &#8211; but when it comes to software and services, they haven&#8217;t got a clue. They&#8217;ve just announced a new app store &#8211; Ovi Store.  This is to replace the broken mess that is Mosh, N-Gage, Download and the current Ovi.  Why do <a
href='http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-store-oh-dear/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>I try <em>so</em> hard to like Nokia. Their hardware is second to none &#8211; but when it comes to software and services, they haven&#8217;t got a clue.</p><p>They&#8217;ve just announced a new app store &#8211; Ovi Store.  This is to replace the broken mess that is Mosh, N-Gage, Download and the current Ovi.  Why do I get the feeling that there are several fiefdoms within Nokia all working <em>against</em> one and other rather than working <em>together</em>?</p><p>So, let&#8217;s take a look at the new service.</p><div
id="attachment_80" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-80" title="Nokia Ovi Store" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0004.png" alt="Nokia Ovi Store - Wow!" width="240" height="320" /><p
class="wp-caption-text">Nokia Ovi Store - Wow!</p></div><p>Wow&#8230; just wow. A blank page. Not even a &#8220;coming soon&#8221; message.  Lest you think I&#8217;m using some kind of shonky phone, I&#8217;m on a Nokia N95 8GB, firmware 20.0.016, in rather good HSDPA coverage.</p><p>You&#8217;re supposed to be able to get to Ovi via the &#8220;Download!&#8221; application. I don&#8217;t think I&#8217;ve used &#8220;Download!&#8221; since I first got the phone. On the surface it&#8217;s a nice little App Store. If Nokia given it some love and attention, it would have got the recognition it deserved as the <em>first</em> integrated app store. As it is, it was left to die.</p><div
id="attachment_81" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-81" title="Nokia Download!" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0002.png" alt="...please wait..." width="240" height="320" /><p
class="wp-caption-text">...please wait...</p></div><p>After 5 minutes of waiting for the &#8220;Download!&#8221; store to finish &#8220;Processing&#8221; I got bored. After 15 minutes nothing more had happened so I tried to cancel. Turns out you can&#8217;t, so I rebooted the phone.</p><p>Never mind! I&#8217;ll try going through the regular Ovi site.</p><div
id="attachment_82" class="wp-caption aligncenter" style="width: 246px"><img
class="size-full wp-image-82" title="Ovi Front Page" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/ovi.png" alt="Can you spot the store link?" width="236" height="655" /><p
class="wp-caption-text">Can you spot the store link?</p></div><p>No link to their brand new store. Hmmm&#8230;. odd&#8230;. Maybe I have to sign in to see it. Yes, that sounds plausible.</p><div
id="attachment_83" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-83" title="Certificate Error" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0017.png" alt="This isn't looking good..." width="240" height="320" /><p
class="wp-caption-text">This isn&#39;t looking good...</p></div><p>Ok, a dodgy certificate isn&#8217;t the worst error in the world. It&#8217;s one of those things that says &#8220;We haven&#8217;t tested our site and we really don&#8217;t care if scary error messages put off our customers.&#8221;</p><p>In any case, the sign in service doesn&#8217;t work.</p><div
id="attachment_84" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-84" title="Ovi Error" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0036.png" alt="Ovi Error" width="240" height="320" /><p
class="wp-caption-text">Ovi Error</p></div><p>Ah&#8230; Well, let&#8217;s try again&#8230;</p><div
id="attachment_85" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-85" title="Ovi 500 Error" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0038.png" alt="It just gets better and better" width="240" height="320" /><p
class="wp-caption-text">It just gets better and better</p></div><p>Right. So the site has no links and it doesn&#8217;t work. Perhaps I imagined the Ovi Store launch? Let&#8217;s check the Internet Oracle that is Google&#8230;</p><div
id="attachment_87" class="wp-caption aligncenter" style="width: 250px"><img
class="size-full wp-image-87" title="Google Ovi" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0022.png" alt="There's something there..." width="240" height="320" /><p
class="wp-caption-text">There&#39;s something there...</p></div><p>Google has found it! It must be there. Ok, so there&#8217;s still a dodgy certificate &#8211; but I can&#8217;t wait to start spending money with Nokia! Here we go!</p><p><img
class="aligncenter size-full wp-image-88" title="Ovi Store Blank" src="http://shkspr.mobi/blog/wp-content/uploads/2009/05/screenshot0024.png" alt="Ovi Store Blank" width="240" height="320" /></p><p>Oh. Just another blank page.</p><p>So, there you have it, folks. The word &#8220;FAIL!&#8221; is overused, I feel. How about we agree to replace it with &#8220;NOKIA!&#8221;?</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=79&amp;md5=f8bc73b7e67011a582bc5b4af5f756bf" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/05/nokia-ovi-store-oh-dear/feed/</wfw:commentRss> <slash:comments>28</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=79&amp;md5=f8bc73b7e67011a582bc5b4af5f756bf" type="text/html" /> </item> <item><title>The Usability of Toilet Paper Dispensers</title><link>http://shkspr.mobi/blog/index.php/2009/05/the-usability-of-toilet-paper-dispensers/</link> <comments>http://shkspr.mobi/blog/index.php/2009/05/the-usability-of-toilet-paper-dispensers/#comments</comments> <pubDate>Thu, 07 May 2009 10:03:00 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[de bono]]></category> <category><![CDATA[don norman]]></category> <category><![CDATA[toilet paper]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/index.php/2009/05/the-usability-of-toilet-paper-dispensers/</guid> <description><![CDATA[Don Norman wrote a fascinating article on the Toilet Paper Algorithms I&#8217;ve long been intrigued by the central premise of the &#8220;Design of Everyday Things&#8221; that the basic interactions with normal objects &#8211; from teapots to motor vehicles &#8211; leaves a lot to be desired. It&#8217;s something which is also picked up on in Edward <a
href='http://shkspr.mobi/blog/index.php/2009/05/the-usability-of-toilet-paper-dispensers/'>[...]</a>]]></description> <content:encoded><![CDATA[<p><a
href="http://en.wikipedia.org/wiki/Don_Norman">Don Norman</a> wrote a fascinating article on the <a
href="http://www.jnd.org/dn.mss/toilet_paper_algorit.html">Toilet Paper Algorithms</a></p><p>I&#8217;ve long been intrigued by the central premise of the &#8220;<a
href="http://www.jnd.org/books.html#DOET">Design of Everyday Things</a>&#8221; that the basic interactions with normal objects &#8211; from teapots to motor vehicles &#8211; leaves a lot to be desired.  It&#8217;s something which is also picked up on in <a
href="http://en.wikipedia.org/wiki/Edward_de_Bono">Edward de Bono</a>&#8216;s book &#8220;<a
href="http://www.amazon.co.uk/gp/product/0140258396?ie=UTF8&amp;tag=shkspr-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0140258396">Simplicity</a><img
src="http://www.assoc-amazon.co.uk/e/ir?t=shkspr-21&amp;l=as2&amp;o=2&amp;a=0140258396" alt="" style="border: medium none  ! important; margin: 0px ! important; display: none;" width="1" height="1" />&#8220;.</p><p>So, I was in a toilet when I happened upon this stunning piece of [un]usability. (Please ignore the fact that I take my phone everywhere and see nothing wrong with taking photos in toilets&#8230;)</p><div
style="text-align: center;"><a
href="http://twitpic.com/49xbk" title="Wonder how Don Norman's toilet paper algorithm works in this ... on Twitpic"><img
src="http://twitpic.com/show/thumb/49xbk.png" alt="Wonder how Don Norman's toilet paper algorithm works in this ... on Twitpic" width="150" height="150" /></a></div><p>Here&#8217;s what the <span
style="font-style: italic;">intent</span> of this object is:</p><ul><li>Let&#8217;s create a toilet roll holder where it is easy to remove the used up roll.</li><li>Let&#8217;s create a toilet roll holder which can carry two rolls; so one is never caught short.</li></ul><p>In both these aims, the object fails spectacularly.  To quote from Don Norman, there are three ways of working with two rolls of paper&#8230;</p><p><span
class="title"></span></p><blockquote><p><span
class="title">Algorithm Large:</span> Always take paper from the largest roll.<br
/><span
class="title">Algorithm Small:</span> Always take paper from the smallest roll.<br
/><span
class="title">Algorithm Random:</span> Don&#8217;t think &#8212; select the roll randomly</p></blockquote><p> Of course, if one always takes from the large you run in to problem; the large one becomes the small one.</p><p>This is no good &#8211; it means both rolls run out at roughly the same time.  This could lead to an <span
style="font-style: italic;">unfortunate</span> situation where there simple isn&#8217;t enough paper to complete one&#8217;s workings.</p><p>Most people realise this and, being keen to keep some paper in reserve, will take from the smaller roll.</p><p>Now we have a <span
style="font-weight: bold;">completely different</span> problem.</p><ol><li>The left hand roll is depleted first.  The roll is replaced.  The right hand roll never gets used.</li><li>The right hand roll is depleted first.  When it comes to removal, the left hand roll has to be removed before the empty roll can be removed and replaced.</li></ol><p>Unacceptable and inefficient.  The best case scenario is that the left hand roll is used up, the right removed, a fresh one put on <span
style="font-style: italic;">then </span>the original right hand one is replaced as the new left hand roll and the cycle continues again.</p><p>Much simpler to use something like this.</p><p><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://www.lifehacker.com.au/2008/01/dual_toilet_paper_roll_holder-2/"><img
style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 200px; height: 135px;" src="http://lifehacker.com/assets/resources/2008/01/dualpaperholder-sm.jpg" alt="" /></a><br
/>Or, of course, you can rip off the empty roll.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=16&amp;md5=c2d7420e2d29d4d46d0d4909c3071d9a" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/05/the-usability-of-toilet-paper-dispensers/feed/</wfw:commentRss> <slash:comments>5</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=16&amp;md5=c2d7420e2d29d4d46d0d4909c3071d9a" type="text/html" /> </item> <item><title>Mafia Wars &#8211; Two UI Flaws</title><link>http://shkspr.mobi/blog/index.php/2009/04/mafia-wars-two-ui-flaws/</link> <comments>http://shkspr.mobi/blog/index.php/2009/04/mafia-wars-two-ui-flaws/#comments</comments> <pubDate>Sun, 19 Apr 2009 07:18:00 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/index.php/2009/04/mafia-wars-two-ui-flaws/</guid> <description><![CDATA[I am greatly enjoying playing Zynga&#8217;s Mafia Wars on the Cadbury&#8217;s iPhone. There are two fairly interesting UI flaws which I&#8217;d like to point out&#8230; The first is the screen which allows you to alter your stats &#8211; this is what it looks like. However, this is what most people will see. Can you spot <a
href='http://shkspr.mobi/blog/index.php/2009/04/mafia-wars-two-ui-flaws/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>I am greatly enjoying playing <a
href="http://www.zynga.com/games/index.php?media=iphone&amp;game=mafiawarsiphone">Zynga&#8217;s Mafia Wars</a> on the Cadbury&#8217;s iPhone.  There are two fairly interesting UI flaws which I&#8217;d like to point out&#8230;</p><p>The first is the screen which allows you to alter your stats &#8211; this is what it looks like.<br
/> <a
href="http://picasaweb.google.com/lh/photo/E99iQYRjGkd1-CfpEc7-Qw?authkey=Gv1sRgCKqCqtWAwq73lwE&amp;feat=embedwebsite"><img
src="http://lh4.ggpht.com/_XSuRCIB_agQ/SerPkcLsqdI/AAAAAAAAACk/gDLCjjHlkrQ/s400/Mafia.PNG" alt="" /></a></p><p>However, this is what most people will see.<br
/> <a
href="http://picasaweb.google.com/lh/photo/U2Lcwq7XXVasayyrNtYl4w?feat=embedwebsite"><img
src="http://lh3.ggpht.com/_XSuRCIB_agQ/SerPkfev8cI/AAAAAAAAACs/UUCOh-DQS68/s320/Mafia2.PNG" /></a><br
/> Can you spot the subtle but important distinction?</p><p>Proximity implies relation.  The word &#8220;Energy&#8221; is nearer to the number &#8220;102&#8243; than health.  Therefore, one would assume that they are related.  In this case they are not.</p><p>This error is compounded by the boxing.  The horizontal lines are, I&#8217;m guessing, intended to imply underlining.  They have the effect of creating boxes &#8211; our mental model of UI generally assumes that everything inside the box should be related.</p><p>The second UI flaw is much harder to show on a blog :-)<br
/> When the game starts up, it plays an animation with the sound of some reving cars and a barking dog.</p><p>When I&#8217;m playing the game late at night (or at work!) I don&#8217;t want to disturb people.  You can set the sound options in the preferences <span
style="font-style: italic;"><span
style="font-weight: bold;">but this has no effect on the startup sound!</span></span><br
/> <a
href="http://picasaweb.google.com/lh/photo/JfNZRslDeAh9eat6AYaM6w?authkey=Gv1sRgCKqCqtWAwq73lwE&amp;feat=embedwebsite"><img
src="http://lh5.ggpht.com/_XSuRCIB_agQ/SerTnE768kI/AAAAAAAAAC0/aWUJzVCg3Ms/s400/mafia3.png" alt="" /></a><br
/> (Incidentally, notice the boxing on this screen.  The inconsistency between these screens will also confuse users.)</p><p>Fair enough, I&#8217;ll use the handy switch at the side of the iPhone to switch all sounds off.</p><p>Except, it would appear, that applications can override this system setting.  This is a poor choice by Cadbury&#8217;s.  They should know that silence is golden and that user-space applications should not be able to override system wide settings.</p><p>However, aside from these two flaws, it&#8217;s an addictive little game.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=19&amp;md5=c148cab264ed3417a7c50428d249989c" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/04/mafia-wars-two-ui-flaws/feed/</wfw:commentRss> <slash:comments>0</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=19&amp;md5=c148cab264ed3417a7c50428d249989c" type="text/html" /> </item> <item><title>Some thoughts on .tel</title><link>http://shkspr.mobi/blog/index.php/2009/03/some-thoughts-on-tel/</link> <comments>http://shkspr.mobi/blog/index.php/2009/03/some-thoughts-on-tel/#comments</comments> <pubDate>Mon, 30 Mar 2009 13:19:00 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[mobile]]></category> <category><![CDATA[usability]]></category> <category><![CDATA[.tel]]></category> <category><![CDATA[blackberry]]></category> <category><![CDATA[iphone]]></category> <category><![CDATA[vcard]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/index.php/2009/03/some-thoughts-on-tel/</guid> <description><![CDATA[Just a few quick thoughts. .tel is yet another top level domain to go with all those other highly profitablepopular ones. You know, like .biz, .museum, .info, etc. This domain is different &#8211; this domain is single purpose. .tel&#8217;s raison d&#8217;être is to abolish the business card. No more handing over little cardboard oblongs, in <a
href='http://shkspr.mobi/blog/index.php/2009/03/some-thoughts-on-tel/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>Just a few quick thoughts.</p><p><a
href="http://www.telnic.org/">.tel</a> is <span
style="font-style: italic;">yet another</span> top level domain to go with all those other highly <del>profitable</del><ins>popular</ins> ones.  You know, like <a
href="http://en.wikipedia.org/wiki/.biz">.biz</a>, <a
href="http://en.wikipedia.org/wiki/.museum">.museum</a>, <a
href="http://en.wikipedia.org/wiki/.info">.info</a>, etc.</p><p>This domain is different &#8211; this domain is single purpose.  .tel&#8217;s raison d&#8217;être is to abolish the business card.  No more handing over little cardboard oblongs, in the glorious future, we&#8217;ll just say<br
/><blockquote>&#8220;Visit aitch-tee-tee-pee colon slash-slash edent dot tell&#8230; No&#8230; Tell. It&#8217;s spelled TEA-EE-EL. Yes. Just one EL. No, I don&#8217;t know why. Here, let me write it down for you on a little cardboard oblong&#8230;&#8221;</p></blockquote><p>So, as you&#8217;ve guessed, I&#8217;m not the world&#8217;s biggest fan.  But I was &#8220;lucky&#8221; enough to win a free domain courtesy of <a
href="http://telreg.com/">TelReg</a>.  As I&#8217;m a freebie customer, I don&#8217;t think it&#8217;s fair of me to critique them in any way &#8211; but I&#8217;m sure going to critique the whole .tel idea.</p><p>First of all, why not take a look at the site. <a
href="http://edent.tel/">edent.tel</a>. Go ahead, I&#8217;ll wait.<br
/><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/edent.tel.web-742461.png"><img
style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 234px;" src="http://shkspr.mobi/blog/uploaded_images/edent.tel.web-742458.png" alt="" border="0" /></a><br
/>Yeuch! What a dull looking site.  There is, at the moment, no way to customise the look and feel, I can&#8217;t even add my picture (not that it would make the site look <span
style="font-style: italic;">much</span> better&#8230;).  I can, however, add some very limited information.</p><p>Now, I&#8217;m not a professional usability expert &#8211; but even I can point out the dull text, the huge dead space, the reliance on scrolling.  Yeuch.</p><p>To make matters worse, there is a mobile version of this page.  Seeing as most of the people to whom I&#8217;d give a business card will have a mobile phone, this makes sense.  Let&#8217;s take a look at it in two popular phones.</p><h2>iPhone 3G.</h2><p><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/IMG_0011-711880.png"><img
style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 213px; height: 320px;" src="http://shkspr.mobi/blog/uploaded_images/IMG_0011-711877.png" alt="" border="0" /></a><br
/><h2>BlackBerry Bold (9000).</h2><p><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/Capture14_18_12-742478.jpg"><img
style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://shkspr.mobi/blog/uploaded_images/Capture14_18_12-742476.jpg" alt="" border="0" /></a><br
/><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/Capture14_18_19-761094.jpg"><img
style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 213px;" src="http://shkspr.mobi/blog/uploaded_images/Capture14_18_19-761092.jpg" alt="" border="0" /></a></p><p>Yeuch!  Again, no panache, no style. Just dull dull dull text.  You&#8217;d think that the .VCARD link would be the top link, wouldn&#8217;t you?  That would be a basic usability feature.  But no.</p><p>As an aside, the iPhone can&#8217;t even download the .VCARD.  This is the fault of Apple.<br
/><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/IMG_0012-711948.png"><img
style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 213px; height: 320px;" src="http://shkspr.mobi/blog/uploaded_images/IMG_0012-711945.png" alt="" border="0" /></a><br
/>But the .tel people shouldn&#8217;t even <span
style="font-style: italic;">offer</span> a link to a phone they <span
style="font-weight: bold;">know</span> can&#8217;t support it.</p><p>Anyway.  As I&#8217;ve said, I&#8217;ve got this free for a year.  A few hours in and I can&#8217;t see myself renewing it.  If .tel can improve some of their basic flaws and improve their customer perception, I might reconsider.</p><p>I <span
style="font-style:italic;">sort of</span> like the idea.  But I prefer SyncML sites.  Take <a
href="http://zyb.com">ZYB</a> &#8211; (owned by Vodafone, who own me. Yes, I am biased) &#8211; if I give you <a
href="http://zyb.com/terenceeden">my ZYB address</a>, and we connect, whenever I change my address or telephone number it is <span
style="font-weight:bold;">automatically</span> updated on your phone.  Smart.  And also pretty.  Two things that .tel is not.</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=25&amp;md5=9ffacdefd2e5c6dc4bb2c640462863b8" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/03/some-thoughts-on-tel/feed/</wfw:commentRss> <slash:comments>2</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=25&amp;md5=9ffacdefd2e5c6dc4bb2c640462863b8" type="text/html" /> </item> <item><title>iTunes &#8211; Why The Sad Face?</title><link>http://shkspr.mobi/blog/index.php/2009/02/itunes-why-the-sad-face/</link> <comments>http://shkspr.mobi/blog/index.php/2009/02/itunes-why-the-sad-face/#comments</comments> <pubDate>Tue, 17 Feb 2009 13:30:00 +0000</pubDate> <dc:creator>Terence Eden</dc:creator> <category><![CDATA[usability]]></category> <category><![CDATA[Apple]]></category><guid
isPermaLink="false">http://shkspr.mobi/blog/index.php/2009/02/itunes-why-the-sad-face/</guid> <description><![CDATA[After much faffing about &#8211; with a lot of help from Jon Price &#8211; I&#8217;ve finally got the damned iPhone working with iTunes. But what a pain in the arse. How this is the SAVIOUR OF THE MOBILE PHONE INDUSTRY is quite beyond me. First up, yet another EULA.I think that&#8217;s the third one that <a
href='http://shkspr.mobi/blog/index.php/2009/02/itunes-why-the-sad-face/'>[...]</a>]]></description> <content:encoded><![CDATA[<p>After much faffing about &#8211; with a lot of help from <a
href="http://search.twitter.com/search?q=jonprice+edent+iphone">Jon Price</a> &#8211; I&#8217;ve finally got the damned iPhone working with iTunes.  But what a pain in the arse.  How this is the SAVIOUR OF THE MOBILE PHONE INDUSTRY is quite beyond me.</p><p>First up, yet another EULA.<br
/><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/yet-another-EULA-724789.png"><img
style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 233px;" src="http://shkspr.mobi/blog/uploaded_images/yet-another-EULA-724783.png" border="0" alt="" /></a><br
/>I think that&#8217;s the third one that I&#8217;ve had to agree with.  For one piece of software.  If I were to actually read each of them, it would take a full seventeen years. Probably.</p><p>So, on to registration.  Here&#8217;s the form.<br
/><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/apple-id-705791.png"><img
style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 233px;" src="http://shkspr.mobi/blog/uploaded_images/apple-id-705786.png" border="0" alt="" /></a><br
/>Is there <i>anything</i> on here that I couldn&#8217;t do on my phone?  I appreciate that on a crappy T9 keypad it would be a pain to type out all the information &#8211; but on the iPhone, it should be a joy. Right?</p><p>Then payment.  I want to make it very clear that I don&#8217;t want to buy anything from Apple.  There&#8217;s plenty of free apps, music and podcasts.  But, no, Apple knows best and will safely store all my credit card details just in case I ever get drunk and have an insatiable urge to download Mungo Gerry&#8217;s Greatest Hits.<br
/><a
onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://shkspr.mobi/blog/uploaded_images/itunes-payment-705894.png"><img
style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 233px;" src="http://shkspr.mobi/blog/uploaded_images/itunes-payment-705890.png" border="0" alt="" /></a></p><p>This gets me to the crux of my frustrations with Apple &#8211; it&#8217;s their way or the highway.  You <b>must</b> follow Apple&#8217;s proscribed path. Any deviation results in instant death.</p><p>All of which wouldn&#8217;t be so bad, if its path was any good.  Can anyone give me an explanation why I need to tether my mobile device to my computer?  All the registration could be done by phone.  It&#8217;s not even as if I can break my bank balance by downloading GB OTA &#8211; Apple cripples the device so that large downloads have to go through WiFi.  Utterly absurd when I have an unlimited HSDPA connection.</p><p>Are there any Apple defends out there who can say why the need for a computer?</p><p>(Of course, the real answer is that Apple makes more money on iMacs and iBooks than it does on iPhones &#8211; so it hopes to trap you in its purchase cycle.)</p><p><a
href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=26&amp;md5=a5ae49e11fd4032a360aa19d7442640d" title="Flattr" target="_blank"><img
src="http://shkspr.mobi/blog/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded> <wfw:commentRss>http://shkspr.mobi/blog/index.php/2009/02/itunes-why-the-sad-face/feed/</wfw:commentRss> <slash:comments>4</slash:comments> <atom:link rel="payment" href="http://shkspr.mobi/blog/?flattrss_redirect&amp;id=26&amp;md5=a5ae49e11fd4032a360aa19d7442640d" type="text/html" /> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced (Requested URI is rejected)

Served from: www.shkspr.mobi @ 2012-02-07 10:57:40 -->
