<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/rss-style.xsl" type="text/xsl"?>
<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>ui &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/ui/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Fri, 17 Apr 2026 06:45:45 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=6.9.4</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>ui &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Drunk CSS]]></title>
		<link>https://shkspr.mobi/blog/2025/09/drunk-css/</link>
					<comments>https://shkspr.mobi/blog/2025/09/drunk-css/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 27 Sep 2025 11:34:51 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[drunk]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[webdev]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=62987</guid>

					<description><![CDATA[A decade ago, I was writing about how you should test your user interface on drunk people. It was a semi-serious idea.  Some of your users will be drunk when using your app or website. If it is easy for them to use, then it should be easy for sober people to use.  Of course, necking a few shots every time you update your website isn&#039;t great for your health - so is there another way?  Click the &#34;🥴 …]]></description>
										<content:encoded><![CDATA[<p>A decade ago, I was writing about how you should <a href="https://shkspr.mobi/blog/2014/01/ui-for-drunks/">test your user interface on drunk people</a>. It was a semi-serious idea.  Some of your users <em>will</em> be drunk when using your app or website. If it is easy for them to use, then it should be easy for sober people to use.</p>

<p>Of course, necking a few shots every time you update your website isn't <em>great</em> for your health - so is there another way?</p>

<p>Click the "🥴 Drunk" button at <a href="https://shkspr.mobi/blog/2025/09/drunk-css/#theme">the top of the page</a> and see what happens!</p>

<p>These are a relatively simple set of CSS rules which you can apply to any site in order to <em>simulate</em> inebriation.</p>

<p>(I may have changed these since writing the post. Check the source for the latest version.)</p>

<p>First, monkey around with the fonts. This sets all the lower-case vowels to be rendered in a different font - as discussed in "<a href="https://shkspr.mobi/blog/2025/09/targetting-specific-characters-with-css-rules/">targetting specific characters with CSS rules</a>":</p>

<pre><code class="language-css">/* Drunk */
@font-face {
    font-family: "Drunk";
    src: url("/blog/wp-content/themes/edent-wordpress-theme/assets/fonts/CommitMonoV143-Edent.woff2") format("woff2");
    /* Lower-Case Vowels */
    unicode-range: U+61, U+65, U+69, U+6F, U+75 ;
    size-adjust: 105%;
}
</code></pre>

<p>The rest of the characters will be rendered in the system's default Cursive font. Characters will also be slanted. The first character of every paragraph will be shrunk:</p>

<pre><code class="language-css">:root:has(input#drunk:checked) * {
    font-family: "Drunk", cursive;
    font-style: oblique -12deg;
    text-align: end;
}
:root:has(input#drunk:checked) p::first-letter {
    font-size: .5em;
}
</code></pre>

<p>Next, use the child selectors to rotate and skew various elements. While we wait for <a href="https://webkit.org/blog/17285/rolling-the-dice-with-css-random/">CSS randomness to come to all browsers</a> this is a simple way to select various elements:</p>

<pre><code class="language-css">:root:has(input#drunk:checked) *:nth-child(3n) {
    transform: rotate(2deg);
}
:root:has(input#drunk:checked) *:nth-child(5n) {
    transform: skew(5deg, 5deg);
}
:root:has(input#drunk:checked) *:nth-child(7n) {
    transform: rotate(-3deg);
}
</code></pre>

<p>Make the entire page blurred and saturate the colours:</p>

<pre><code class="language-css">:root:has(input#drunk:checked) body {
    filter: blur(1px) saturate(2.5);
}
</code></pre>

<p>Make any hyperlink harder to click by having it gently bounce up and down:</p>

<pre><code class="language-css">:root:has(input#drunk:checked) a  {
    animation-name: bounce;
    animation-duration: 4s;
    animation-direction: alternate;
    animation-timing-function: ease-in-out;
    animation-iteration-count: infinite;
}
@keyframes bounce {
    0%   { margin-top:  0px; }
    25%  { margin-top:-10px; }
    50%  { margin-top:  0px; }
    75%  { margin-top: 10px; }
    100% { margin-top:  0px; }
}
</code></pre>

<p>Does this <em>really</em> simulate drunkenness? No. It is a pale simulacrum. What it is, however, is deliberately inaccessible to the majority of people.</p>

<p>How does it make you feel using the site in Drunk-Mode? Does it frustrate you? Do your eyes hurt due to the garish colour scheme? Do you keep missing the thing that you try and click on? Are the words so hard to read that it takes you extra time to do anything useful? Will you recommend this experience to your friends and family?</p>

<p>I've written before about <a href="https://shkspr.mobi/blog/2019/07/i-feel-hopeless-rejected-and-a-burden-on-society-one-week-of-empathy-training/">cosplaying as being disabled</a>. Strapping on a pair of <a href="https://www.lowvisionsimulators.com/products/glaucoma-rp-simulators">Glaucoma Goggles</a> will give you an idea of what a visual impairment is like. But it won't give you the experience of living that way for months or years.</p>

<p>You should test your stuff with people who have cognitive impairments or physical disabilities. Find out how usable your site is for someone lacking fine motor control or for those with learning disabilities. Pay disable people to take part in usability studies. Integrate their feedback.</p>

<p>Faffing around with CSS will only get you so far.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=62987&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/09/drunk-css/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Too many overflows reporting Gmail spam]]></title>
		<link>https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/</link>
					<comments>https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 03 May 2025 11:34:30 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[gmail]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[users]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=59814</guid>

					<description><![CDATA[What does the humble ⋮ symbol mean to you?  To geeks, it is a compelling attraction. Something cool and esoteric lives in there! All sorts of goodies to explore and configure.  To normal people, it is invisible. Normal people don&#039;t go pushing random icons on their apps because computers are fragile and may break if you do the wrong thing.  To me, it is a sign that product managers are a menace a…]]></description>
										<content:encoded><![CDATA[<p>What does the humble <kbd>⋮</kbd> symbol mean to you?</p>

<p>To geeks, it is a compelling attraction. Something cool and esoteric lives in there! All sorts of goodies to explore and configure.</p>

<p>To normal people, it is invisible. Normal people don't go pushing random icons on their apps because computers are fragile and may break if you do the wrong thing.</p>

<p>To me, it is a sign that product managers are a menace and must be stopped. A hundred thousand icons vying for your attention have been stuffed away because no one has the authority to prioritise user needs.</p>

<blockquote><p>As a | user who has received some spam</p>

<p>I want to | easily report it as spam</p>

<p>So that | <del>Google's AI can become ever stronger</del> my inbox is easier to manage</p></blockquote>

<p>How do you report spam?  On the web, it is possible if you're prepared to enter the forbidden lair of <kbd>⋮</kbd>. Click the one nearest the message and you'll see:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/04/Gmail-Web-2nd.webp" alt="Web version of Gmail. The second overflow menu has a report spam option." width="771" height="623" class="aligncenter size-full wp-image-59816">

<p>But there is no "report spam" button in the Gmail app. Try to find it. I promise you it isn't there.</p>

<p>No, not even behind the door of mysteries which is <kbd>⋮</kbd>.  See:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/04/Gmail-App-2nd.webp" alt="App version of Gmail. The second overflow menu has no report spam option." width="504" height="710" class="aligncenter size-full wp-image-59818">

<p>Ah ha! <strong>FOOLISH USER!!</strong> You thought that you could transfer a mastered skill from one environment to another? You are an idiot. A buffoon. The Eloi at Google mock your Morlock ways.</p>

<p>Here is the report spam button in the Gmail app - hidden in the <em>top</em> <kbd>⋮</kbd> menu!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/04/Gmail-App-1st.webp" alt="App version of Gmail. The first overflow menu has a report spam option." width="504" height="710" class="aligncenter size-full wp-image-59819">

<p>And, just for completeness, here's what the top <kbd>⋮</kbd> on the web has.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/04/Gmail-Web-1st.webp" alt="Web version of Gmail. The first overflow menu has no report spam option." width="771" height="623" class="aligncenter size-full wp-image-59817">

<h2 id="why"><a href="https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/#why">Why?!</a></h2>

<p>Why do the Monkey-Punchers at Google have such scorn for its users?  Is it because their illegal monopoly means they don't have to compete for users? Do their perverse internal politics only reward employees for adding features, not removing them? Perhaps the web team and the app team are engaged in holy war around a doctrinal schism over icon placement?</p>

<p>We may never know.</p>

<h2 id="ok-but-why"><a href="https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/#ok-but-why">OK, but why?</a></h2>

<p>Why do the overflows on the web have icons but on the Android app they're barren?</p>

<p>Why is the order of the options completely different on both?</p>

<p>Why are the names different for the same functions?</p>

<p>We can only assume that the web team are Montagues and the app team Capulets.</p>

<h2 id="what-is-going-on"><a href="https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/#what-is-going-on">What is going on?</a></h2>

<p>Moving a UI from the big screen to the small screen is difficult. Some options aren't relevant in either context. Some labels are too big. Some prioritisation needs to happen. I accept that.</p>

<p>But users only have limited cognitive plasticity. They have a mental model of how a UI works and they expect it to be <em>reasonably</em> consistent.</p>

<p>I keep making the same mistake. Whether I'm on the web or app, I <em>always go to the wrong option!</em> This makes me feel like an idiot. I have a hundred apps to use, each with subtly different UIs - I can't be expected to keep them all straight.  But I do expect the a common set of paradigms if the services are under the auspices of a single company.</p>

<p>Why are there two <kbd>⋮</kbd> menu options? I <em>think</em> the top relates to the conversation whereas the second relates to the specific message? But maybe I'm wrong.</p>

<h2 id="two-out-of-three-aint-bad"><a href="https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/#two-out-of-three-aint-bad">Two out of three ain't bad</a></h2>

<p>I lied earlier. There's a <strong>third</strong> way to report spam.</p>

<p>On the web, hover over one of the mysterious small icons - the ones with ridiculously thin lines and low contrast - and you'll be rewarded with this:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/04/Report-Spam.webp" alt="Icon bar with report spam." width="507" height="264" class="aligncenter size-full wp-image-59824">

<h3 id="make-it-make-sense"><a href="https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/#make-it-make-sense">Make it make sense!!</a></h3>

<iframe title="‘Spamalot’ promete carcajadas con Adal Ramones, Omar Chaparro y un reparto espectacular | Hoy" width="620" height="349" src="https://www.youtube.com/embed/z9Qu137_4As?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=59814&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/05/too-many-overflows-reporting-gmail-spam/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Why do all my home appliances sound like R2-D2?]]></title>
		<link>https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/</link>
					<comments>https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 23 Mar 2025 12:34:39 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[internet of things]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[Star Wars]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=58922</guid>

					<description><![CDATA[I have an ancient Roomba. A non-sentient robot vacuum cleaner which only speaks in monophonic beeps.  At least, that&#039;s what I thought. A few days ago my little cybernetic helper suddenly started speaking!   	🔊 	 	 		💾 Download this audio file. 	   Not exactly a Shakespearean soliloquy, but a hell of a lot better than trying to decipher BIOS beep codes.  All of my electronics beep at me. My dishw…]]></description>
										<content:encoded><![CDATA[<p>I have an ancient Roomba. A non-sentient robot vacuum cleaner which only speaks in monophonic beeps.</p>

<p>At least, that's what I <em>thought</em>. A few days ago my little cybernetic helper suddenly started speaking!</p>

<p></p><figure class="audio">
	<figcaption>🔊</figcaption>
	
	<audio controls="" loading="lazy" src="https://shkspr.mobi/blog/wp-content/uploads/2025/03/Move-roomba-to-a-new-location.mp3">
		<p>💾 <a href="https://shkspr.mobi/blog/wp-content/uploads/2025/03/Move-roomba-to-a-new-location.mp3">Download this audio file</a>.</p>
	</audio>
</figure><p></p>

<p>Not exactly a Shakespearean soliloquy, but a hell of a lot better than trying to decipher <a href="https://www.biosflash.com/e/bios-beeps.htm">BIOS beep codes</a>.</p>

<p>All of my electronics beep at me. My dishwasher screams a piercing tone to let me know it has completed a wash cycle. My kettle squarks mournfully whenever it is boiled. The fridge howls in protest when it has been left open too long. My microwave sings the song of its people to let me know dinner is ready. And they all do it with a series of tuneless beeps.  It is maddening.</p>

<p>Which brings me on to Star Wars.</p>

<p>Why does the character of Artoo-Detoo only speak in beeps?</p>

<p>Here's how we're introduced to him<sup id="fnref:him"><a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fn:him" class="footnote-ref" title="Is R2 a boy?" role="doc-noteref">0</a></sup> in the original script:</p>

<pre>                <strong>THREEPIO</strong>
        We're doomed!

The little R2 unit makes a series of electronic sounds that 
only another robot could understand.

                <strong>THREEPIO</strong>
        There'll be no escape for the Princess 
        this time.

Artoo continues making beeping sounds
</pre>

<p>There are a few possibilities. Firstly, perhaps his hardware doesn't have a speaker which supports human speech?</p>

<iframe title="“Help Me Obi-Wan Kenobi, You’re My Only Hope.”" width="620" height="349" src="https://www.youtube.com/embed/zGwszApFEcY?feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>Artoo demonstrably has a speaker which is capable of producing a wide range of sounds.  So perhaps he isn't capable of complex symbolic thought?</p>

<p>This exchange from Empire Strikes Back proves otherwise.</p>

<pre><strong>INT.  LUKE'S X-WING - COCKPIT</strong>

Luke, looking thoughtful, suddenly makes a decision.  He flips several 
switches.  The stars shift as he takes his fighter into a steep turn.  
The X-wing banks sharply and flies away in a new direction.

The monitor screen on Luke's control panel prints out a question from 
the concerned Artoo.

                <strong>LUKE</strong>
            (into comlink)
        There's nothing wrong, Artoo.
        I'm just setting a new course.

Artoo beeps once again.

                <strong>LUKE</strong>
            (into comlink)
        We're not going to regroup with 
        the others.

Artoo begins a protest, whistling an unbelieving, "What?!"

Luke reads Artoo's exclamation on his control panel.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/03/Empire.jpg" alt="Screenshot from Empire. A digital display with red writing." width="853" height="364" class="aligncenter size-full wp-image-58927">
</pre>

<p>It could be that Artoo can't speak the same language as the other humans. C-3PO boasts that he is fluent in over 6 million forms of communication<sup id="fnref:🏴󠁧󠁢󠁷󠁬󠁳󠁿"><a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fn:🏴󠁧󠁢󠁷󠁬󠁳󠁿" class="footnote-ref" title="Including Welsh!" role="doc-noteref">1</a></sup> - so it is possible that Artoo <em>can</em> speak but just can't speak out language<sup id="fnref:terrifying"><a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fn:terrifying" class="footnote-ref" title="The more terrifying thought is that Artoo can speak, but simply chooses not to speak to the likes of us." role="doc-noteref">2</a></sup>.</p>

<p>Speech synthesis is complicated but playback is simple. Artoo <em>can</em> play recordings. His memory could be stuffed full of useful phrases which he could blast out when necessary.  So perhaps he only has limited memory and doesn't have the space for a load of MP3s?</p>

<p>Except, of course, his memory <em>is</em> big enough for "a complete technical readout" of the Death Star. That's got to be be be a chunky torrent, right?</p>

<p>The only reasonable conclusion we can come to is that R2-D2 is a slave<sup id="fnref:slave"><a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fn:slave" class="footnote-ref" title="C-3PO and a few other droids are elevated - similar to the Roman concept of Freedmen." role="doc-noteref">3</a></sup>. Sentient organics apparently hold some deep-seated prejudices against robots and "their kind".</p>

<p>The Star Wars universe obviously has a version of this meme:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2025/03/ffe.png" alt="Meme. All Robot Computers Must Shut The Hell Up To All Machines: You Do Not Speak Unless Spoken To =, And I Will Never Speak To You I Do Not Want To Hear &quot;Thank You&quot; From A Kiosk lama Divine Being You are an Object You Have No Right To Speak In My Holy Tongue." width="800" height="768" class="aligncenter size-full wp-image-58928">

<p>Which brings me back to my home appliances.</p>

<p>This isn't a technology problem. Back in the 1980s <a href="https://www.youtube.com/results?search_query=bbc+micro+speech+synthesiser">microcomputers had passible speech synthesis on crappy little speakers</a>. Using modern codecs like Opus means that <a href="https://shkspr.mobi/blog/2020/09/podcasts-on-floppy-disk/">pre-recorded voices take up barely any disk space</a>.</p>

<p>The problem is: do I <em>want</em> them to talk to me?</p>

<ul>
<li>When I'm upstairs, I can just about hear a shrill beep from the kitchen. Will I hear "washing cycle now completed" as clearly?</li>
<li>Would a manufacturer bother to localise the voice so it is in my regional language or accent?</li>
<li>Is hearing a repetitive voice more or less annoying than a series of beeps?</li>
<li>If the appliance can't listen to <em>my</em> voice, does it give the impression that it is ordering me around?</li>
<li>Do I feel <a href="https://shkspr.mobi/blog/2014/01/would-you-shoot-r2-d2-in-the-face/">a misplaced sense of obligation</a> when inanimate objects act like living creatures?</li>
</ul>

<p>It is clear that the technology exists. Cheap home appliances have more than enough processing power to play a snippet of audio through a tiny speaker. But perhaps modern humans find something uncanny about soulless boxes conversing with us as equals?</p>

<div id="footnotes" role="doc-endnotes">
<hr aria-label="Footnotes">
<ol start="0">

<li id="fn:him">
<p><a href="https://shkspr.mobi/blog/2019/06/queer-computers-in-science-fiction/">Is R2 a boy?</a>&nbsp;<a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fnref:him" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:🏴󠁧󠁢󠁷󠁬󠁳󠁿">
<p><a href="https://youtu.be/Qa_gZ_7sdZg?t=140">Including Welsh!</a>&nbsp;<a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fnref:🏴󠁧󠁢󠁷󠁬󠁳󠁿" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:terrifying">
<p>The more terrifying thought is that Artoo <em>can</em> speak, but simply chooses <em>not</em> to speak to the likes of us.&nbsp;<a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fnref:terrifying" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:slave">
<p>C-3PO and a few other droids are elevated - similar to <a href="https://en.wikipedia.org/wiki/Social_class_in_ancient_Rome#Freedmen">the Roman concept of Freedmen</a>.&nbsp;<a href="https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/#fnref:slave" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=58922&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2025/03/why-do-all-my-home-appliances-sound-like-r2-d2/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		<enclosure url="https://shkspr.mobi/blog/wp-content/uploads/2025/03/Move-roomba-to-a-new-location.mp3" length="46188" type="audio/mpeg" />

			</item>
		<item>
		<title><![CDATA[I can't use my number pad for 2FA codes]]></title>
		<link>https://shkspr.mobi/blog/2024/04/i-cant-use-my-number-pad-for-2fa-codes/</link>
					<comments>https://shkspr.mobi/blog/2024/04/i-cant-use-my-number-pad-for-2fa-codes/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 17 Apr 2024 11:34:20 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=50119</guid>

					<description><![CDATA[This has to be the most infuriating bug report I&#039;ve ever submitted.  I went to type in my 2FA code on a website - but no numbers appeared on screen. Obviously, I was an idiot and had forgotten to press the NumLock button. D&#039;oh! I toggled it on and typed again. No numbers appeared. I switched to another tab, my numbers appeared when I typed them. So I was reasonably confident that my keyboard was…]]></description>
										<content:encoded><![CDATA[<p>This has to be the most infuriating bug report I've ever submitted.</p>

<p>I went to type in my 2FA code on a website - but no numbers appeared on screen. Obviously, I was an idiot and had forgotten to press the NumLock button. D'oh! I toggled it on and typed again. No numbers appeared. I switched to another tab, my numbers appeared when I typed them. So I was reasonably confident that my keyboard was working.</p>

<p>I swapped back to the 2FA entry and tried again. Still nothing.  Then I tried typing the numbers using the number row on my keyboard. My 2FA code appeared.</p>

<p>WHAT IN THE SAINTED NAME OF ALPHONSE CHAPANIS IS GOING ON?!?!?</p>

<p>Developers often use JavaScript to "improve" the standard features of HTML.  For example, using <code>&lt;input type="number"&gt;</code> has some <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/input/number#accessibility">accessibility concerns</a> and using <a href="https://css-tricks.com/everything-you-ever-wanted-to-know-about-inputmode/#aa-numeric"><code>inputmode="numeric"</code></a> is great for showing a number key board on mobile, but not much else.</p>

<p>So a developer wants a reliable way to make sure a user can <em>only</em> type numbers. Fair enough.</p>

<p>There are two ways to do this - a right way and a wrong way - using <a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent"><code>KeyboardEvent</code></a>.</p>

<p>One way is to <a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/key">listen for the character being sent from the keyboard</a> - known as the <code>key</code>.</p>

<p>The other is to <a href="https://developer.mozilla.org/en-US/docs/Web/API/KeyboardEvent/code">listen for the <em>button</em> being pressed on the keyboard</a> - known as the <code>code</code>.</p>

<p>A good demo of this is at <a href="https://keyjs.dev/">keyjs.dev</a> - play around with it to see what keyboard buttons your browser can detect.</p>

<p>When I press 7 on the top row of my keyboard, the key is 7 and the code is <strong><code>Digit7</code></strong>.</p>

<p>But when I press 7 on my number pad, the key is 7 but the code is <strong><code>Numpad7</code></strong>.</p>

<p>The JavaScript on the website was rejecting any key code which wasn't a "Digit"!</p>

<p>Perhaps I am a weirdo for insisting on both having and using my numpad?  Perhaps developers need to test on something other than MacBooks? Perhaps JavaScript was a mistake and the Web would be better without it?</p>

<p>Either way, don't be like that website. Let users type in using whatever keys they like.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=50119&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/04/i-cant-use-my-number-pad-for-2fa-codes/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Inconsistency is a feature, not a bug]]></title>
		<link>https://shkspr.mobi/blog/2024/04/inconsistency-is-a-feature-not-a-bug/</link>
					<comments>https://shkspr.mobi/blog/2024/04/inconsistency-is-a-feature-not-a-bug/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 05 Apr 2024 11:34:18 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=50083</guid>

					<description><![CDATA[Some of my best friends are designers. But I think we can all agree that - however well-meaning - they can be a little obsessive.  Whether it is fretting over tiny details, or trying to align to a grid which doesn&#039;t exist, or spending time removing useful affordances in the name of æsthetics - they always find a way to make something prettier at the expense of usability.  Google used to have some …]]></description>
										<content:encoded><![CDATA[<p>Some of my best friends are designers. But I think we can all agree that - however well-meaning - they can be a <em>little</em> obsessive.  Whether it is <a href="https://shkspr.mobi/blog/2013/01/are-designers-crazy/">fretting over tiny details</a>, or trying to <a href="https://shkspr.mobi/blog/2018/11/the-myth-of-the-pixel-perfect-grid/">align to a grid which doesn't exist</a>, or spending time <a href="https://shkspr.mobi/blog/2021/06/whatever-happened-to-ui-affordances/">removing useful affordances in the name of æsthetics</a> - they always find a way to make something prettier at the expense of usability.</p>

<p>Google used to have some beautiful logos for its apps. Each had a distinct shape, style, and colour.  Then, someone decided that they all needed a consistent visual language.  And <a href="https://techcrunch.com/2020/10/06/googles-new-logos-are-bad/?guccounter=1">this mess was born</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/Google-Workspace-Icons-bad.webp" alt="Row of Google's old icons followed by their new variants. " width="1024" height="435" class="aligncenter size-full wp-image-50097">

<p><em>*sigh*</em> I get it. I really do. Brand is a thing. Users often use visual heuristics to identify similar groups. Having each team go wild on an icon design doesn't always reflect the professionalism and consistency that you want to project.  The logos aren't <em>awful</em> - but I find them a little boring. Not the worst sin in the world. Though that's only half the problem.</p>

<p>In Google's Android, they've decided that - for consistency - all icons must be firmly encased in a white circle. It makes everything look clean, consistent, friendly, and...</p>

<p><a href="https://www.reddit.com/r/mildlyinfuriating/comments/jksggh/i_cant_identify_the_google_apps_at_a_single/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/What-Google-Sees-fs8.png" alt="Google's icons in white circles. Underneath is a row of indistinguishable multi-coloured squares." width="1024" height="687" class="aligncenter size-full wp-image-50098"></a></p>

<p>...oh.</p>

<p>I apologise for getting old. My visual acuity isn't what it once was. When I'm staring at my phone, with its screen caked in fingerprint grease, on a juddering bus, after a long day at work, all I want is a <em>quick</em> way to identify the app I want to use.</p>

<p>Like most people, my brain has evolved to take mental shortcuts. It looks for a distinct shape and colour to identify things. I simply can't do that with modern Android's adaptive icons. They all look like white circles with a splodge of colour in the middle.</p>

<p>A few years ago, I wrote about <a href="https://shkspr.mobi/blog/2018/11/annoyed-by-androids-circular-icons-heres-how-to-fix-them/">fixing Android's circular icons</a>. Sadly, I don't have the skill to produce my own icon pack. But using the open source <a href="https://codeberg.org/kaanelloed/Iconeration/">Iconeration</a> I was able to manually set my icons to be <em>beautifully</em> inconsistent.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2024/03/icons.webp" alt="Homescreen filled with multicoloured icons of various shapes." width="504" height="807" class="aligncenter size-full wp-image-50099">

<p>With a glance, I can immediately see which is which. Do I care that they're not all aligned perfectly? Nope!</p>

<p>I've got a high-resolution screen, I want high-resolution artwork. Look at that Firefox icon! It is <em>gorgeous!</em>  It isn't a pale, flat, blob - it has texture and uniqueness.</p>

<p>Phones used to be wild and unique - now they're all boring black rectangles. User Interfaces used to reflect the aspirations of their designers - now they're just a bland corporate mediocrity.</p>

<p>I hope, one day soon, the fashion pendulum will swing back and interfaces can become interesting again.  Until that day, I'll use <a href="https://codeberg.org/kaanelloed/Iconeration/">Iconeration</a> to make my phone easier and more delightful <em>for me.</em></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=50083&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/04/inconsistency-is-a-feature-not-a-bug/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[On the usability of number pads]]></title>
		<link>https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/</link>
					<comments>https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 17 Jun 2023 11:34:37 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=45959</guid>

					<description><![CDATA[I&#039;m not thick. I know it doesn&#039;t sound like much of a boast, but I&#039;m pretty competent at this whole adulting lark. But it appeared that I had forgotten a 4 digit number I&#039;d set up less than a minute ago!  The security guard smiled wearily at me, &#34;It happens to everyone!&#34; She said. Which, I&#039;ll admit was of small comfort.  Work had taken the (sensible) decision that our entry cards weren&#039;t secure…]]></description>
										<content:encoded><![CDATA[<p>I'm not thick. I know it doesn't sound like much of a boast, but I'm pretty competent at this whole adulting lark. But it appeared that I had forgotten a 4 digit number I'd set up less than a minute ago!</p>

<p>The security guard smiled wearily at me, "It happens to everyone!" She said. Which, I'll admit was of small comfort.</p>

<p>Work had taken the (sensible) decision that our entry cards weren't secure enough. In order to gain access to the building we needed to present our card and type in a 4 digital personal PIN number<sup id="fnref:pin"><a href="https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#fn:pin" class="footnote-ref" title="Yes, just like the ones you use on a bank's automated ATM machine!" role="doc-noteref">0</a></sup>. Only then would the gates open.</p>

<p>I shuffled back to the long line of people setting up their PINs and texted my boss to let them know I was stuck at security.</p>

<p>I got to the front of the queue, swiped my card, and typed my new PIN on the keyboard numpad. Rather than my date of birth, or the first few digits of π, I chose a pattern - <code>2684</code> - nice and easy to draw. No way would I forget that<sup id="fnref:real"><a href="https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#fn:real" class="footnote-ref" title="Obviously, I'm not giving you my real PIN!" role="doc-noteref">1</a></sup>!</p>

<p>I wandered to the gate, swiped my card, and confidently punched in the patter on the PIN pad.</p>

<p>A red light flashed and a buzzer sounded.  I let out an audible swear word. The people behind me, who were also late for their meetings, stared at the absolute cretin in front of them. A moron who forgot a 4 digit number in the 10 seconds it took to walk from one end of the reception to the other.</p>

<p>The guard wandered over. "It happens to everyone. Look at the numbers," she said.</p>

<p>And so I did. The PIN pad had been installed with a privacy shield so that miscreants couldn't see what your fingers were doing. It had the side effect of blocking tall people like me from seeing the pad. So I crouched and looked.</p>

<p>This was the number pad I had to use to get through the door:</p>

<p><a href="https://sketchfab.com/3d-models/security-pin-pad-2d72f06a3ce64fdab40b858b5107f843"><img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/PIN-pad-with-the-number-1-in-the-top-left-fs8.png" alt="PIN pad with the number 1 in the top left." width="345" class="aligncenter size-full wp-image-45962"></a></p>

<p>But this was the number pad I'd used to set up my PIN:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/Computer-number-pad-with-the-number-7-in-the-top-left-fs8.png" alt="Computer number pad with the number 7 in the top left." width="345" height="436" class="aligncenter size-full wp-image-45961">

<p>FFS!</p>

<p>There's an excellent explainer of <a href="https://99percentinvisible.org/article/squaring-circle-seventen-telephone-keypad-layouts/">how the touch-tone telephone got its button order</a> - and another on <a href="https://uxdesign.cc/a-brief-history-of-the-numeric-keypad-59112cbf4c49">why it is different from the calculator layout</a>.</p>

<p>In the end, I just set my PIN to the ambidextrous <code>4564</code><sup id="fnref:shhh"><a href="https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#fn:shhh" class="footnote-ref" title="Shhhh! Don' tell anyone!" role="doc-noteref">2</a></sup>.</p>

<div id="footnotes" role="doc-endnotes">
<hr aria-label="Footnotes">
<ol start="0">

<li id="fn:pin">
<p>Yes, just like the ones you use on a bank's automated ATM machine!&nbsp;<a href="https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#fnref:pin" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:real">
<p>Obviously, I'm not giving you my real PIN!&nbsp;<a href="https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#fnref:real" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:shhh">
<p>Shhhh! Don' tell anyone!&nbsp;<a href="https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/#fnref:shhh" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

</ol>
</div>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=45959&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/06/on-the-usability-of-number-pads/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Just use QWERTY!]]></title>
		<link>https://shkspr.mobi/blog/2023/06/just-use-qwerty/</link>
					<comments>https://shkspr.mobi/blog/2023/06/just-use-qwerty/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 14 Jun 2023 11:34:56 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[keyboard]]></category>
		<category><![CDATA[qwerty]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=45966</guid>

					<description><![CDATA[The QWERTY layout is, I grant you, an illogical mess. I&#039;m happy to hear your arguments that Dvorak is the one true way. Or that Colemak is several percent faster. But QWERTY is a standard now. Everyone uses it on their laptops and phones. It is used everywhere.  Except, it turns out, streaming services.  They use alphabetic keyboards. Worse, each one has a unique layout!  Want to search for that…]]></description>
										<content:encoded><![CDATA[<p>The QWERTY layout is, I grant you, an illogical mess. I'm happy to hear your arguments that Dvorak is the one true way. Or that Colemak is several percent faster. But QWERTY is a standard now. Everyone uses it on their laptops and phones. It is used <em>everywhere</em>.</p>

<p>Except, it turns out, streaming services.</p>

<p>They use alphabetic keyboards. Worse, each one has a unique layout!</p>

<p>Want to search for that movie staring that guy who was in the film with that one who does the adverts for that thing you like?  Here's the keyboards on the various streaming services I have:</p>

<h2 id="amazon-prime"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#amazon-prime">Amazon Prime</a></h2>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/Amazon-Prime.jpg" alt="Photo of the Amazon Prime search screen." width="1024" height="576" class="aligncenter size-full wp-image-45969">

<p>Three rows. A-M. N-Z. Then a full number row 1-0.</p>

<h2 id="apple-tv"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#apple-tv">Apple TV</a></h2>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/Apple-TV.jpg" alt="Photo of the Apple search screen." width="1024" height="576" class="aligncenter size-full wp-image-45970">

<p>A 6x7 grid. All lower case letters, with numbers appearing directly after the letter z.</p>

<h2 id="bbc-iplayer"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#bbc-iplayer">BBC iPlayer</a></h2>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/BBC-iPlayer.jpg" alt="Photo of the BBC iPlayer search screen." width="1024" height="576" class="aligncenter size-full wp-image-45971">

<p>A 10x3 grid for the letters, and a separate number pad which goes 1-4, 5-8, 9-0 - unlike any other number pad I've seen.</p>

<h2 id="channel-4"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#channel-4">Channel 4</a></h2>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/Channel-4.jpg" alt="Photo of the Channel 4 search screen." width="1024" height="576" class="aligncenter size-full wp-image-45968">

<p>The same letter grid as Amazon, albeit in upper-case. The space and delete are at the top, rather than the bottom.</p>

<h2 id="netflix"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#netflix">Netflix</a></h2>

<p><small>(I'd learned how to take screenshots from my FireStick by this point.)</small>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/netflix-fs8.png" alt="Screenshot of the Netflix search screen." width="1024" height="576" class="aligncenter size-full wp-image-46065">
The same A-F grid as Channel 4 - but space and delete are reversed.</p>

<h2 id="uktv-play"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#uktv-play">UKTV Play</a></h2>

<p><img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/UKTV-Play-fs8.png" alt="Screenshot of the UKTV Play search screen." width="1024" height="576" class="aligncenter size-full wp-image-46066">
The same A-F grid as C4 and Netflix. But this adds a "Clear" button. Oh, and numbers start from 0, not 1.</p>

<h2 id="itvx"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#itvx">ITVX</a></h2>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/06/ITVX-fs8.png" alt="Screenshot of the ITVX search screen." width="1024" height="576" class="aligncenter size-full wp-image-46067">

<p>The same A-J grid as the BBC, but space is bigger and delete is somewhere else. Also, the numbers are on the top row <em>like</em> a QWERTY keyboard!</p>

<p>BTW, does anyone <em>need</em> a <kbd># &amp; £</kbd> button on a search?</p>

<h2 id="others"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#others">Others</a></h2>

<p>Feel free to supply your own screenshots for whichever streaming platform you prefer.</p>

<h2 id="wtaf"><a href="https://shkspr.mobi/blog/2023/06/just-use-qwerty/#wtaf">WTAF?!</a></h2>

<p>What I don't understand is <em>why</em> they're like this.  I assume each of these services have conducted extensive user testing to see what layout people prefer, and which is faster for the average user, right?  Do none of their users have a smartphone? Do they turn away from their smart-TV and handwrite letters with a quill and ink?</p>

<p>I get that an A-Z layout is more logical than QWERTY. But surely there are more people who use QWERTY than not? Perhaps the technophobes generate more support calls? Maybe it's just too complicated to ask users if they want a choice of layout?</p>

<p>But this is my plea to anyone who has to display a virtual on-screen keyboard. Just use QWERTY!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=45966&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/06/just-use-qwerty/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Zero Interfaces]]></title>
		<link>https://shkspr.mobi/blog/2023/03/zero-interfaces/</link>
					<comments>https://shkspr.mobi/blog/2023/03/zero-interfaces/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 12 Mar 2023 12:34:12 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[hci]]></category>
		<category><![CDATA[IoT]]></category>
		<category><![CDATA[ui]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41515</guid>

					<description><![CDATA[The best gadget I got in lockdown was a set of motion activated lights. They have no user interface. I walk by them in the dark and they turn on. Midnight piss? No fumbling for a light switch, no shouting to a digital assistant, no logging in to an app.  Simple. I love it.  It got me thinking about other things which have &#34;zero interfaces&#34;. Once they&#039;re set up, they just keep quietly working. …]]></description>
										<content:encoded><![CDATA[<p>The best gadget I got in lockdown was a set of motion activated lights. They have <strong>no user interface</strong>. I walk by them in the dark and they turn on. Midnight piss? No fumbling for a light switch, no shouting to a digital assistant, no logging in to an app.</p>

<p>Simple. I love it.</p>

<p>It got me thinking about other things which have "zero interfaces". Once they're set up, they just keep quietly working.</p>

<p>The most obvious is a thermostat. If set right, it keeps the heating off in summer and on in winter.</p>

<p>Bank rounding is a fairly modern invention. Every time you spend less than a whole pound, the remainder is swept into a savings account. Spend £3.76 on a muffin? The bank pays the merchant and then transfers 24p to your savings.</p>

<p>Taxes - for most people - works the same way. If you have an ordinary job, tax codes and payments are automatically deducted from your pay cheque. You don't have to think about anything.</p>

<h2 id="downsides"><a href="https://shkspr.mobi/blog/2023/03/zero-interfaces/#downsides">Downsides</a></h2>

<p>Anyone who has been sat in an office conference room will know that the lights go off when they don't detect movement. Not ideal if you're sat on a video call! So you end up waving your arms around like a fool.</p>

<p>Just because the inside temperature is warm, it doesn't mean that it <em>feels</em> warm. So heating occasionally needs a boost.</p>

<p>Taxes are usually calculated yearly - but paid monthly. So starting a new job can occasionally result in the automated systems thinking you're earning more - or less - than you should. Which usually means either waiting until the end of the tax year, or making a manual intervention.</p>

<h2 id="whats-next"><a href="https://shkspr.mobi/blog/2023/03/zero-interfaces/#whats-next">What's Next?</a></h2>

<p>How do we build more "set and forget" solutions? What are the limits of zero interface products? Should users be able to override the "<a href="https://www.hoboes.com/Mimsy/Technology/anticipating-failure/">Breathe-o-Smart</a>" settings?</p>

<p>If people don't have to constantly interact with something, will they forget that it is there? What consequences does that have?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41515&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/03/zero-interfaces/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Whatever Happened to UI Affordances?]]></title>
		<link>https://shkspr.mobi/blog/2021/06/whatever-happened-to-ui-affordances/</link>
					<comments>https://shkspr.mobi/blog/2021/06/whatever-happened-to-ui-affordances/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 26 Jun 2021 11:07:12 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39374</guid>

					<description><![CDATA[I am grumpy. As my very clever wife summarised, I hate when designers prioritise their æsthetic preferences over my usability needs.  I tried sharing a website using Google Chrome for Android. I hit the share button, and a panel popped-up from the bottom of the screen.    Hmmm. It didn&#039;t have the share destination that I wanted. It was early in the morning - when I&#039;m not at my cognitive best - …]]></description>
										<content:encoded><![CDATA[<p>I am grumpy. As <a href="https://web.archive.org/web/20240403222815/https://mymisanthropicmusings.org.uk/">my very clever wife</a> summarised, I <strong>hate</strong> when designers prioritise their æsthetic preferences over my usability needs.</p>

<p>I tried sharing a website using Google Chrome for Android. I hit the share button, and a panel popped-up from the bottom of the screen.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/06/Default-share-panel-fs8.png" alt="Default share panel with only a few options visible." width="540" height="509" class="aligncenter size-full wp-image-39378">

<p>Hmmm. It didn't have the share destination that I wanted. It was early in the morning - when I'm not at my cognitive best - and I was stumped. There is nothing on this screen - other than the icons - to tell me how I can interact with it.  There's no scrollbar, no handle, no "more" icon, nothing.</p>

<p>Let's talk about doors for a while.</p>

<p>I'm sure you've all come across a door with an ambiguous handle. This is what usually happens:</p>

<blockquote class="social-embed" id="social-embed-778956895604314114" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/SloanPerry" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRnoCAABXRUJQVlA4IG4CAABwCwCdASowADAAPrVQokwnJKMiJyto4BaJQBOmax5cio6Z+t9Ip9HoGqtHv/1VxlugfgfZBzN8xK5h+7orI5KNcgDsQ9jHAShlIO67hJHO+/SK+DRuCbhuxk56G0B5wNxVDllwAP78ydxchGkd5+82EjS/tx46zPZ0bwN74lfw4COOS23ZIOPHgtJbUm/qrVp8mg4Tl6rawl+nS2igGLxjgVSCh49NeQOhmN4Ad0aaEaxufJeJBVLzDJ9xmYSRhJmJMUhUfszyXjf83uPB/yTYVVttd/FgrmFJma0iUNrYhMswmDmy0QyauU0YfbRWyGHkkN4Zr/ooNLA9emuW1nhIZZzNR1d6b6vqyTF4bNRCVidxlAFZgWzXmu3YhSHBiYzjEkaOD0dsF6/78OBXYRx+zhCJUe32JpxJoD49TCSsPkuYMdbQ/E2yhvnhi0IqG5IGx6+QyCfiewbgyzlvK6WphCV3j+WcmXUR0LwcdDhttjds79K1nmZZA2l/2BszKh9dzcJB2r3JsN1Pmal/uZSXs4WhLHqb8ja7IkZe+s+Wml6mX8kVP+2v466sR8Q3D+q1Ay1wpImvSFb1S61NL5FQfp9no99NP7/1fyW5sWP4CLEW4sVXfr0jLolBanJE48gywGmlUQK1FTZHM9Qw0PWOGZBJzaWg3tZGPXspbwmzqTml3dsuf2RTZFcb599vA5DbMgog2Gacm2btrZ/ufKGGAITsTLc6Rb2pfuuCnGiKWmvS4ltTU7PVeog9QC8nhXy2uGPz2AK989tpbXXTIl5oRIeiDqc87PfzxSEs9jD2o+VV/k239I1gVPxLAAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">perry</p>@SloanPerry</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">when you push a pull door and the person behind says "you need to pull" aye cheers lad sure next plan was to start lifting from the bottom</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/SloanPerry/status/778956895604314114"><span aria-label="115690 likes" class="social-embed-meta">❤️ 115,690</span><span aria-label="179 replies" class="social-embed-meta">💬 179</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2016-09-22T13:59:30.000Z" itemprop="datePublished">13:59 - Thu 22 September 2016</time></a></footer></blockquote>

<p>Ideally, all doors would look like this:</p>

<p><a href="https://www.flickr.com/photos/thomashawk/528825343/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2021/06/528825343_b6e0796234_w.jpg" alt="A pair of doors. One has a handle and says pull, the other a flat panel which says push." width="399" height="251" class="aligncenter size-full wp-image-39377"></a></p>

<p>Even if you don't speak the language written on the doors, the physical nature of the handles <em>tells you</em> what you can do with them. A flat panel can <em>only</em> be pushed. The protruding handle is <em>designed</em> to be pulled.  This design feature is known as an "affordance".</p>

<p>If you're involved in design, at any level, I urge you to read the classic book "<a href="https://amzn.to/3vDW1Mw">Design of Everyday Things</a>".  This is what it has to say on the subject:</p>

<blockquote><p>How can design signal the appropriate actions? One important set of signals comes through the natural constraints of objects, physical constraints that limit what can be done. Another set of signals comes from the affordances of objects, which convey messages about their possible uses, actions, and functions. Where do we grab it, which parts move, and which parts are fixed? Affordances suggest the range of possibilities, constraints limit the number of alternatives. <strong>The thoughtful use of affordances and constraints together in design lets a user determine readily the proper course of action, even in a novel situation.</strong></p></blockquote>

<p>(Emphasis added.)</p>

<p>Let's go back to that accurs'd Android panel. I tried swiping it up - that's what I've learned most panels do in Android. But it did nothing. So I gave up. I didn't feel like battling with my computer to achieve a simple task.  I just assumed that Google had chosen a set of default options and I was not allowed to stray from them.</p>

<p>As I went to dismiss the panel, my thumb slipped transversely. Nudging the row a few pixels to the left.  The fucking thing was a <em>horizontal</em> slider!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/06/Slid-share-panel-fs8.png" alt="When the panel is slid, more options become visible." width="540" height="507" class="aligncenter size-full wp-image-39379">

<p>I felt like a bit of an idiot.  And that violates the unwritten 0th law of robotics - no computer interface shall make a human feel stupid.</p>

<p>I vividly remember being <a href="https://twitter.com/search?q=delete%20podcast%20from%3Aedent&amp;src=typed_query">pissed off 12 years ago at the iPhone's inability to delete podcasts</a>. It turned out that, once again, you had to magically know that swiping a podcast revealed hidden buttons.</p>

<p>The thing is, it's <em>easy</em> to add an affordance. Here's my crappy paint attempt showing a couple of options:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/06/affordances-fs8.png" alt="Crappy drawing showing an arrow or a scroll bar." width="540" height="509" class="aligncenter size-full wp-image-39380">

<p>Either an arrow to let the user know there's more to the side (maybe even give it a jaunty animation) - or a scrollbar to show how far through a list they are. I'm sure you can think of a dozen better ways to represent a scrollable area than <em>literally nothing!</em></p>

<p>Apple's solution is to bisect the final icon in a row, to indicate to the user that there's more available.
<a href="https://developer.apple.com/design/human-interface-guidelines/ios/views/activity-views/"><img src="https://shkspr.mobi/blog/wp-content/uploads/2021/06/Apple-fs8.png" alt="Row of icons, the last one peeks out from the side of the screen." width="540" height="725" class="aligncenter size-full wp-image-39382"></a></p>

<p>That's a cute way to do it. But there's evidence that <a href="https://morrick.me/archives/9368">Apple are slowly undoing their great usability work in the name of elegance</a>.</p>

<p>Modern design is <em>so</em> beautiful to look at - but an absolute nightmare to use. You either need to use trial an error on <em>every</em> element, or hope that someone else can tell you what you need to do.</p>

<p>Flat, minimalist, clean, material - whatever you want to call it - is an annoying antipattern. Computers are here to make life easier for humans. Removing affordances is just a nasty thing to do to your users.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39374&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/06/whatever-happened-to-ui-affordances/feed/</wfw:commentRss>
			<slash:comments>30</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[⩵ != ==]]></title>
		<link>https://shkspr.mobi/blog/2021/06/%e2%a9%b5/</link>
					<comments>https://shkspr.mobi/blog/2021/06/%e2%a9%b5/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 07 Jun 2021 11:04:36 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[computers]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[unicode]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39195</guid>

					<description><![CDATA[One of the frustrating things about computers is their limited input options. A &#34;standard&#34; PC keyboard only has about 100 keys.  Sure, some have some bonus buttons for controlling the machine, but it is becoming clear that there simply aren&#039;t enough buttons to efficiently program computers.  Most programming languages have the concept of relational operators. How does variable X compare to…]]></description>
										<content:encoded><![CDATA[<p>One of the frustrating things about computers is their limited input options. A "standard" PC keyboard only has about 100 keys.  Sure, some have some bonus buttons for controlling the machine, but it is becoming clear that there simply aren't enough buttons to efficiently program computers.</p>

<p>Most programming languages have the concept of relational operators. How does variable <code>X</code> compare to variable <code>Y</code>?</p>

<p>If we want to ask if <code>X</code> is less than or equal to <code>Y</code>, we write <code>X &lt;= Y</code>.  Which is a bit weird, because Unicode has a "less-than-or-equal-to" character: <code>≤</code>. But because there's no button for that on a standard keyboard, we use a hacky solution of jamming two characters together.</p>

<p>In the R language, the assignment operator is <code>&lt;-</code> this is <a href="https://colinfay.me/r-assignment/">because programming keyboards used to have a <code>←</code> button on them</a>. That button has gone from modern machines, so we make do and mend.</p>

<p>There are some <a href="https://betterwebtype.com/articles/2020/02/13/5-monospaced-fonts-with-cool-coding-ligatures/">programming fonts which contain ligatures to automatically convert these characters</a> (although <a href="https://practicaltypography.com/ligatures-in-programming-fonts-hell-no.html">this makes some people very grumpy</a>).</p>

<p>Unicode includes <code>⩶</code> (<code>U+2A76</code>) and <code>⩵</code> (<code>U+2A75</code>) as distinct glyphs. So why are we still hitting the <code>=</code> key multiple times like <em>savages?</em></p>

<p>This leads to the <em>deeply</em> weird situation where <code>"⩵" ≠ "=="</code> and absolutely no programming language that I know of will let you use the <strong>correct</strong> Unicode characters!</p>

<p>(Except, of course, <a href="https://github.com/rakudo/rakudo/pull/4392">Raku</a> - which made this change <a href="https://twitter.com/liztormato/status/1400781849169965065">based on my suggestion</a>.)</p>

<p>Ideally, we need programming languages which support Unicode symbols as first class characters, and keyboards with a hundred more buttons.</p>

<video muted="true" autoplay="true" loop="true">
 <source src="https://shkspr.mobi/blog/wp-content/uploads/2021/06/fingers.mp4" type="video/mp4">
</video>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39195&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/06/%e2%a9%b5/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Event Horizon's crappy UI ★☆☆☆☆]]></title>
		<link>https://shkspr.mobi/blog/2020/12/event-horizons-crappy-ui/</link>
					<comments>https://shkspr.mobi/blog/2020/12/event-horizons-crappy-ui/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 20 Dec 2020 12:27:13 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Sci Fi]]></category>
		<category><![CDATA[ui]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37555</guid>

					<description><![CDATA[Remember schlocky 1990s splatter film &#34;Event Horizon&#34;? No, me neither. But lockdown has us exhausting our supply of Sci-Fi movies, so we rewatched it.  Anyway, I found some bugs! I&#039;m a big fan of the Sci Fi Interfaces blog. It details the Human Computer Interaction design of the imagined future.  It has primed me to pay attention to the interfaces in films. Look, you have your hobbies and I have…]]></description>
										<content:encoded><![CDATA[<p>Remember schlocky 1990s splatter film "<a href="https://en.wikipedia.org/wiki/Event_Horizon_(film)">Event Horizon</a>"? No, me neither. But lockdown has us exhausting our supply of Sci-Fi movies, so we rewatched it.</p>

<p>Anyway, I found some bugs! I'm a big fan of the <a href="https://scifiinterfaces.com">Sci Fi Interfaces blog</a>. It details the Human Computer Interaction design of the imagined future.  It has primed me to pay attention to the interfaces in films. Look, you have your hobbies and I have mine!</p>

<p>Early on in the film, a crew-member is watching a video message from home:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/First-date.jpg" alt="A video playback screen." width="1024" height="402" class="aligncenter size-full wp-image-37559"></p>

<p>Let's focus on the date in the lower left corner. The future doesn't believe in ISO8601. So we get the American date format.</p>

<p><code>03)(29)(2047</code></p>

<p>Ew! What's with those brackets? I assume that's the 29th of March in the year 2047. The timestamp in the bottom is hours, minutes, seconds, and milliseconds.</p>

<p>A few frames later and we cut to a shot of the crewmate watching the video on a tablet computer (futuristic for 1997!) - but there's an issue. The movie we're watching is in an aspect ratio of 23:9 (CinemaScope). But the tablet is in 4:3. Just like the iPad!  So the entire UI has been changed.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/43-tablet.jpg" alt="A tablet computer." width="1024" height="402" class="aligncenter size-full wp-image-37558">

<p>But what's the date in the lower left corner?</p>

<p>ZOOM! ENHANCE! ROTATE!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/2nd-date-format.jpg" alt="Close up of a date." width="453" height="239" class="aligncenter size-full wp-image-37557"></p>

<p><code>29)(03)(2047</code></p>

<p>OK, it looks a bit more like <code>29)(05)(2043</code> to me - but, either way, the date has flipped to the UK format of Day, Month, Year.</p>

<p>Later on in the movie, the crew watch the "captains [sic] log" with a completely changed  UI.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/captains-log.jpg" alt="A video of the captain's log." width="1024" height="402" class="aligncenter size-full wp-image-37556">

<p>The date format is back to American, but now has colons as separators. And the time no longer has milliseconds. Because why would you need an accurate timestamp for an official record?</p>

<p>Did you notice the media controls on the first playback screen? ⏹️ ▶️ ⏩️ ⏪️
But, in the second interface, they're words - "play, stop, pause". A completely different order, and different functions!</p>

<p>Later on, the crew try to blow up the ship. Because why not?
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/timer.jpg" alt="Countdown to detonation." width="1024" height="402" class="aligncenter size-full wp-image-37563">
The countdown is in minutes and seconds. Separated with a period. Helpfully saying "Minutes" below the minutes section.</p>

<p>The explosives - which are different to the self-destruct - have yet another time format.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/bomb-interface.jpg" alt="A countdown." width="1024" height="402" class="aligncenter size-full wp-image-37562">

<p><code>HH:MM:SS</code> although it just says "seconds" above the display.</p>

<p>The bomb also has a "manual" mode:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/Manual-detonation.jpg" alt="A manual detonation screen." width="1024" height="402" class="aligncenter size-full wp-image-37561">

<p>Notice that the lower buttons' interface on this one is in white and red. Whereas the one above is all white. Why are some of the reds on the left, and one on the right? Surely on critical systems like this, users will value a consistent design language.</p>

<p>If those are touch-screen targets, they're very close together. That looks pretty easy to mistakenly touch a button. Not something you want on explosives!</p>

<p>Event Horizon is a gory horror film. But I think we can all agree that the real horror was in the user interface design.</p>

<video width="480" height="360" mute="" autoplay="" loop="">
    <source src="https://shkspr.mobi/blog/wp-content/uploads/2020/12/Simpons-fired.mp4" type="video/mp4">
    Clip from the Simpsons. Comic book nerds saying "Boy, I really hope someone got fired for that blunder!"
</video>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37555&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/12/event-horizons-crappy-ui/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Proximity is a key indicator of function]]></title>
		<link>https://shkspr.mobi/blog/2020/04/proximity-is-a-key-indicator-of-function/</link>
					<comments>https://shkspr.mobi/blog/2020/04/proximity-is-a-key-indicator-of-function/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 10 Apr 2020 11:34:56 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[toilet]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=34606</guid>

					<description><![CDATA[I walked into an unfamiliar toilet recently. You&#039;ve probably done the same, looking around to find the stalls, work out whether the driers are near the sinks, if there&#039;s soap available. I was completely taken aback when I saw this monstrosity of a sink.    It&#039;s well known that we Brits love our separate hot and cold taps - but I&#039;d never seen anything like this before! Why are the taps so far away …]]></description>
										<content:encoded><![CDATA[<p>I walked into an unfamiliar toilet recently. You've probably done the same, looking around to find the stalls, work out whether the driers are near the sinks, if there's soap available. I was completely taken aback when I saw this <em>monstrosity</em> of a sink.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/04/A-bathroom-sing.-The-taps-are-on-the-opposite-site-of-the-sink-to-the-faucet.jpg" alt="A bathroom sink. The taps are on the opposite site of the sink to the faucet" width="1024" height="768" class="aligncenter size-full wp-image-34607">

<p>It's well known that <a href="https://www.youtube.com/watch?v=HfHgUu_8KgA">we Brits love our separate hot and cold taps</a> - but I'd never seen anything like this before! Why are the taps so far away from the spigot?</p>

<p>This is the Principle of Proximity.</p>

<blockquote><p>One of the oldest principles of human-computer interaction is that things that are close together on the screen are seen as related. (Similarly, users view as related those things that are the same color or shape, that move or change together, or that reside within an enclosure, such as a box.)</p>

<p><a href="https://www.nngroup.com/articles/closeness-of-actions-and-objects-gui/">Closeness of Actions and Objects in GUI Design</a></p></blockquote>

<p>It applies to websites <em>and</em> sinks!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=34606&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/04/proximity-is-a-key-indicator-of-function/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How should couples handle joint email addresses?]]></title>
		<link>https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/</link>
					<comments>https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 22 Oct 2019 11:12:05 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[family]]></category>
		<category><![CDATA[ui]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=33039</guid>

					<description><![CDATA[For years, my email address was registered with our electricity supplier. I got the monthly bills sent to me.  My wife&#039;s email was used for the water supplier. This made sense when we were a young couple with separate finances - but now we&#039;re a smug an old married couple, with a joint bank account, it&#039;s a bit annoying.  We both want to see the bills, and we don&#039;t want to rely on the other…]]></description>
										<content:encoded><![CDATA[<p>For years, my email address was registered with our electricity supplier. I got the monthly bills sent to me.  My wife's email was used for the water supplier. This made sense when we were a young couple with separate finances - but now we're <del>a smug</del> an old married couple, with a joint bank account, it's a bit annoying.</p>

<p>We both want to see the bills, and we don't want to rely on the other forwarding us an email, or sticking the PDF into a shared folder.</p>

<blockquote class="social-embed" id="social-embed-1185954831472775169" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/edent" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkgBAABXRUJQVlA4IDwBAACQCACdASowADAAPrVQn0ynJCKiJyto4BaJaQAIIsx4Au9dhDqVA1i1RoRTO7nbdyy03nM5FhvV62goUj37tuxqpfpPeTBZvrJ78w0qAAD+/hVyFHvYXIrMCjny0z7wqsB9/QE08xls/AQdXJFX0adG9lISsm6kV96J5FINBFXzHwfzMCr4N6r3z5/Aa/wfEoVGX3H976she3jyS8RqJv7Jw7bOxoTSPlu4gNbfXYZ9TnbdQ0MNnMObyaRQLIu556jIj03zfJrVgqRM8GPwRoWb1M9AfzFe6Mtg13uEIqrTHmiuBpH+bTVB5EEQ3uby0C//XOAPJOFv4QV8RZDPQd517Khyba8Jlr97j2kIBJD9K3mbOHSHiQDasj6Y3forATbIg4QZHxWnCeqqMkVYfUAivuL0L/68mMnagAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Terence Eden is on Mastodon</p>@edent</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">Couples of Twitter! How do you handle emails for "joint" things?<br><br>Like utility bills, hotel reservations, and other domestic accounts.<br><br>📊<hr class="social-embed-hr"><label for="poll_1_count">Email comes to only one: (240)</label><br><meter class="social-embed-meter" id="poll_1_count" min="0" max="100" low="33" high="66" value="76.9">240</meter><br><label for="poll_2_count">Joint email address: (46)</label><br><meter class="social-embed-meter" id="poll_2_count" min="0" max="100" low="33" high="66" value="14.7">46</meter><br><label for="poll_3_count">Something more complex: (26)</label><br><meter class="social-embed-meter" id="poll_3_count" min="0" max="100" low="33" high="66" value="8.3">26</meter><br></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/1185954831472775169"><span aria-label="3 likes" class="social-embed-meta">❤️ 3</span><span aria-label="10 replies" class="social-embed-meta">💬 10</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2019-10-20T16:24:00.000Z" itemprop="datePublished">16:24 - Sun 20 October 2019</time></a></footer></blockquote>

<p>Moving house gave us the opportunity to change all our joint billing accounts.  Here's our slightly convoluted setup.</p>

<ol>
<li>We bought a new domain name. As all good projects start.</li>
<li>I set up an auto-forward catch-all address.  So "anything <code>@example.xyz</code>" is immediately forwarded to my email and my wife's email.</li>
<li>We use <a href="https://bitwarden.com/">BitWarden password manager</a> - that lets us share passwords with each other.</li>
<li>One of us signs up to a new service as <code>servicename-2019@example.xyz</code>, generates and securely shares a new password, and we both receive the confirmation email.</li>
</ol>

<h2 id="why-are-we-doing-this"><a href="https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/#why-are-we-doing-this">Why are we doing this?</a></h2>

<ul>
<li>One of us could die. It would be extremely annoying to be locked out of an account during a period of bereavement.</li>
<li>We're jointly responsible for most of these things. It seems silly to split accounts arbitrarily.</li>
<li>If my phone breaks while we're on holiday, my wife still has a copy of the hotel reservation.</li>
<li>Neither of us want <em>yet another</em> email account to check.</li>
</ul>

<h2 id="reasons-not-to-do-this"><a href="https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/#reasons-not-to-do-this">Reasons not to do this</a></h2>

<ul>
<li>If the domain gets hacked / breaks / is blocked or disabled - we'll have lost access to everything.</li>
<li>We might get divorced. Decoupling things could be harder. Or one of us could lock the other out.</li>
<li>Surprises and presents are still done on our personal accounts.</li>
<li>Hard to send from a joint email without setting it up specifically.</li>
<li>It makes us look like one of those weird old couples who have a joint Facebook account.</li>
</ul>

<h2 id="what-other-people-do-a-k-a-market-research"><a href="https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/#what-other-people-do-a-k-a-market-research">What other people do (A.K.A. Market Research)</a></h2>

<blockquote class="social-embed" id="social-embed-1185976316685967361" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/cjforms" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRpQBAABXRUJQVlA4IIgBAADwCACdASowADAAPrVWoEynJSMiJzgMkOAWiUAYMoFstz5ZYwTmqcj5TkAkaj1LEfuRbsA2QIEnFYi+f/5MpVJethj5HQzijT7vafsOa3ADgAD+9NLevJGi/wpmVhndxTqreJwlSWyVK12T5COmEshALSjUhzKONOFUtCsSYDuwf+hejdmxrwYAb+jMNXkYuK9lgqhg2/1pE8k+8uTxZZ061PaB0cUsD4qGwDr0ow7zqjlIuVFe9vKvV4GOmacr2fiC6GkoIrfViTWA260exrRuRVJNGAmyBdlK91FAuYeDB5HdFnN1ZUhJLU9G0J6i1iiqq+EOTZWzshcC14c+pbq53cdZ4AYYNaTZHgcmqdRXjHQ1F/DTRw9ixPYQUMsODK83pa4Pom/afVJwH+4Ff/IxfXhw8FYYfq3nyrFsecOWyzS05vPFqhLImHqsuqfSskBqkhmBKuWa7E3pKrVQ04tDSqLzEEhKI6dWdiSLBoJ9BBcTjEEh22HjVXqTZ3SwEJFq1TULksAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Caroline Jarrett</p>@cjforms</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1185954831472775169">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> I've answered for me, but my parents only have one email address so they go with 'joint email address'.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/cjforms/status/1185976316685967361"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2019-10-20T17:49:22.000Z" itemprop="datePublished">17:49 - Sun 20 October 2019</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1185971319097188353" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/ThisIsCarrie" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRuQBAABXRUJQVlA4INgBAADwCQCdASowADAAPrVWpk2nJKOiI4oA4BaJYgC7Mz3OYT3Fijv4oXFuheVVQMl9OlQWQGDu8rJ3J8vV16rNTK3wmQyqC/7EbQlF/8X3MGlO2XDgwTz55hYAAPlF8hQJ5IulDodZgtNqUkvSNPolCpGwj/ER3Tgr/TJ6DSk3nipl8Q7gYud7xlFKCpdz7vJAHpdPnx6xkCXPktYzAlX1YTfNIjGhep7eHf/yjbk4vGsWFCNc4TByV5Ezf7WnN7z2RZMUP0dP3PPGTvToF6U7A2U1bHovZdKyhbb5AGRUgmfTGh11LM+qS6/IIJFA68igJrtBeSHxVCNMJ8dc53h8WGM95LzgE1OQef3XnRCHG8AFxFMGIVSfYX7v59RVbFomlwuekkb2+anMarX5OUxjUkbPuvctkrWh4jSlCL2KihnkepEiKvUTlOEVDCO0hVAegYIcH/flJjBzwMmutP/zyG2z6o1QVSsJwNN1fcGJ/QIg9d0L+iAECpYc2I6zRmMKHrRlZi1njRkOfIEQIIR15cWdaPg5Zpeq7kKyd1UXGYJdM44fiXnhyHVqd7lzJt8goRLHdje1B8y85nuU/1wMPPa7SlduIW4k71UQ4Hw6OB3mWw6JLbOO03QA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Carrie Kleiner (Barclay)</p>@ThisIsCarrie</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1185954831472775169">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Cc or forwarding. But like many others we don’t always share bills-related emails, we just deal with them and mention it if it’s relevant or important.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/ThisIsCarrie/status/1185971319097188353"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="0 replies" class="social-embed-meta">💬 0</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2019-10-20T17:29:31.000Z" itemprop="datePublished">17:29 - Sun 20 October 2019</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1185961236502122496" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/Samathy_Barratt" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRjACAABXRUJQVlA4ICQCAABwCwCdASowADAAPrVOoEsnJCMhrjQLMOAWiUAYIe/gFogOlXyM/fjOriZdGmoumj56BfGGaFu2IrTvnbJqqgmsD0jZFF7qJ7chib/5nFhtdMTHXzRmgvOqfj6HdCgDyYlVeEMAAP7qYEXW0LHL7n1qdYTVMZZs/PfzvQMiz6qLmk+fwseFkLYN3goC7ECq/vmxB2hKxb+32I4wslYzm2oFuLjdjSZ9PZinIb5jH2SZhqHGqwZSSL5u3KvmAbdZIA/GFZlidor/s9ql7GsrCYRqHbOfe6n2d8B6gStshV7s3YzJpOZy8hLNC1WqZI4z9NWKXTcEdpZqA6N3kVigAV4enaO4w2+a9UsU2mnCoL6ghKQIgia05ziumog1d5AgyAnbPs3i9P3/67DJNqDT65w07k/MEJJ6VVHDryhd5lY5+0ZqhfwhzCYlYx0WiunktPgDdliApmKBwJWgQ1emtrUX7XgMNsZn7w72vnl5a7hLYdq6gj/HZGqU/RRg9OKaatYObrUN4Uai0YAL8wNR9VwajjXpz58SadLtIKeHfSnqWvu5Zp6YrO9Db7kgHRbOgk0BMFeMKBNm3YD5vF4YkSMnpikb97+1a62UftP9fmEbmkJoLZl2eQlKnTftN8t+zGnXhVC2AtYGiBzhlqhvRRaAVabTGrScO9UynYog+t0SMvJTbJTZ8bDpxRXeUjtGsRTNwGM9WFeGePc9akJ4GvZiLZAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Samathy Barratt</p>@Samathy_Barratt</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1185954831472775169">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Comes to one address - if its a thing we both need to care about(Travel plans, mostly), the receiver forwards it to the other person.<br><br>We don't really consider bills emails to need the attention of both of us. We'd tell each other if an email does.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/Samathy_Barratt/status/1185961236502122496"><span aria-label="4 likes" class="social-embed-meta">❤️ 4</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2019-10-20T16:49:27.000Z" itemprop="datePublished">16:49 - Sun 20 October 2019</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1185958985545011201" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/CarolSaysThings" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRi4CAABXRUJQVlA4ICICAAAQDACdASowADAAPrVQoU0nJKMiI4z44BaJYgCsMvaJUMk+TMX4C41o32W3pmbpRNtn39yqZ5vr6CkqlqqUQ8+zdayXqiJT2RuTw7+ll7wK1VkGUe1DOxM8dzc+j+OCMM5IKnjJXLeuanAA/vKbbnuF4xpRqWx2ZTFTZxkR12d8E7312mNyPWbqY4+7bdIBGM+n0eYpDC+8PHu0ikcjxEEt8g5pzn+sXXaKFhyh60Qa6GNHpancW5pkP+2Ri9P51hiVfeBVOxTmW734wp5/m9JvNFfJ52jLQ+2Uvxe+ndKVe/BdJg3efdNrgFMvfDjqG5kS+KYwsi+772BHkmFFEu1NjZbGAP1h7B/RG9jP3n3xjkIXrOXCOOEMGQ0De+GkIwx8rsKgUYpOSby3PGxqHV2rlAZ1xoiE9XB3LSI/+WZFMlDTnEKIRraHeGTRk4MXE0AX4YIopq3NgNEJGxur5LmvS8QE/pUxRiuvUGRF3AJlGjJ9q4OK6c5NLbp5wiEHgKJfV4ibLLqC1Y2NVs2TFuAj3ioEl1+QU/LLRyDemujGXCgncVs1bbF9iPKYMqrXJ0xMzV4jZ3YmOe2A8sDTmdiBIyfcv/fsr9zwMKR2bdsxdZI4uvMyy1vM91KLvThuhCaOF/Q6Fk1kuYhZjlSFf82GzeVMtgQKSTIii97NHvv5swFY5vfXidqHgxoFgn6ET1TsUqJr6EaRqJboK8buVmIAAAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Carol ⭐️</p>@CarolSaysThings</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/1185954831472775169">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Poorly is the unhelpful answer. Most bills/utilities go to my email, but for trips we split the admin. So Thom books the hotel, I do train etc.<br><br>Can’t think of how to make it better other than a joint email, as when we’ve given people both addresses, they still always email me.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/CarolSaysThings/status/1185958985545011201"><span aria-label="2 likes" class="social-embed-meta">❤️ 2</span><span aria-label="1 replies" class="social-embed-meta">💬 1</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2019-10-20T16:40:30.000Z" itemprop="datePublished">16:40 - Sun 20 October 2019</time></a></footer></blockquote>

<h2 id="how-do-you-handle-this"><a href="https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/#how-do-you-handle-this">How do <em>you</em> handle this?</a></h2>

<p>Leave a comment in the box. One comment per couple, please :-)</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=33039&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/10/how-should-couples-handle-joint-email-addresses/feed/</wfw:commentRss>
			<slash:comments>9</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The "Make Everything Better" Button]]></title>
		<link>https://shkspr.mobi/blog/2018/03/the-make-everything-better-button/</link>
					<comments>https://shkspr.mobi/blog/2018/03/the-make-everything-better-button/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 20 Mar 2018 07:49:22 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[tado]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=29182</guid>

					<description><![CDATA[Back when I used to help people design mobile phone apps, I would talk about the platonic ideal of an app.  It&#039;s quite simple and effective.    You press the button in the middle of your screen - and it makes everything better!  You push that button and a taxi arrives, or a pizza is delivered, or your photos are backed up, or you fall in love, or you learn a language.  Life is rarely that simple…]]></description>
										<content:encoded><![CDATA[<p>Back when I used to help people design mobile phone apps, I would talk about the platonic ideal of an app.  It's quite simple and effective.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2018/03/Make-Everything-Better-fs8.png" alt="A hand-drawn iPhone. In the middle is a single button which says &quot;Make Everything Better&quot;." width="500" height="300" class="aligncenter size-full wp-image-29183">

<p>You press the button in the middle of your screen - and <em>it makes everything better!</em>  You push that button and a taxi arrives, or a pizza is delivered, or your photos are backed up, or you fall in love, or you learn a language.</p>

<p>Life is rarely that simple - and apps are rarely that smart.  But let's look at what comes next.</p>

<h2 id="anticipatory-user-interfaces"><a href="https://shkspr.mobi/blog/2018/03/the-make-everything-better-button/#anticipatory-user-interfaces">Anticipatory User Interfaces</a></h2>

<p>The most boring app I have is <a href="https://www.tado.com/">Tado</a> - it controls my central heating.  I <em>never</em> need to use the app!  It sits in the background requiring no interaction.  When it sees I am home, it sets the temperature accordingly.  If I'm away overnight, it doesn't bother turning on the hot water.  If it sees me travelling home, and it is cold, it pre-heats the house.</p>

<p>Other than my initial set up, I don't have to press any buttons.  The app becomes the perfect Butler.</p>

<p>(To clarify - this isn't about learning. Most people's lives are too chaotic for a machine to adequately learn.  We very rarely all fit the 9-to-5 grind, with 2.4 kids, and brunch every Sunday.  It's one of the problems the Nest thermostat has with its "learning" feature - and <a href="https://web.archive.org/web/20180330192652/http://www.skylarkios.com/blog/2016/3/4/why-i-no-longer-use-nest-auto-away">why people disable it</a> - our lives are too noisy.)</p>

<p>The app anticipates what you need and delivers it without asking.</p>

<h2 id="boring-is-beautiful"><a href="https://shkspr.mobi/blog/2018/03/the-make-everything-better-button/#boring-is-beautiful">Boring is Beautiful</a></h2>

<p><a href="https://shkspr.mobi/blog/2013/05/on-swearing-and-ux-antipaterns/">I don't want your app</a>. But if I have to have it - I certainly don't want to interact with it. I don't want your notifications cluttering up my screen.  I know your brand-manager harps on about "engagement" and "eyeballs" - but I don't care.  Prove to me that you are useful by never interrupting me.</p>

<p>There are so many things competing for our attention. Too many things.  It's <em>really</em> easy to make your app noisy and engaging. It looks great on a PowerPoint when you can show how often people open your app, I get that.  But every time I get <a href="https://shkspr.mobi/blog/2016/09/dark-patterns-in-connected-devices/">a perky email from my smoke-alarm</a> telling me how wonderful it is, I want to rip it from my wall.  Do your job and leave me alone.</p>

<p>So, dear app designers, refrain from sending constant, pleading emails in the vain hope that your click-through-rate will inch ever-closer to perfection.</p>

<p>No. Refine your service so that it can work silently. Let the absence of interaction be a selling point.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=29182&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2018/03/the-make-everything-better-button/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[A grumpy look at using a Yubico Neo NFC on Ubuntu & Android]]></title>
		<link>https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/</link>
					<comments>https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 01 Nov 2017 07:31:23 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=28676</guid>

					<description><![CDATA[Twenty One.  I have 21 accounts which use Two-Factor Authentication. I use the Authy app to manage them all, but it is still a pain to scroll through and find the exact 2FA token I need.  Encouraged by my friend Tom Morris&#039;s blog post, I picked up a YubiKey NEO for £50. It implements the FIDO U2F standard.  Sadly, the YubiKey is substandard and frustrating to use.  Here&#039;s what I found.    First …]]></description>
										<content:encoded><![CDATA[<p>Twenty One.  I have 21 accounts which use Two-Factor Authentication. I use the <a href="https://authy.com/">Authy app</a> to manage them all, but it is still a pain to scroll through and find the exact 2FA token I need.</p>

<p>Encouraged by my friend <a href="https://web.archive.org/web/20180310212347/https://tommorris.org/posts/9488">Tom Morris's blog post</a>, I picked up a <a href="http://amzn.to/2ygJKE9">YubiKey NEO</a> for £50. It implements the FIDO U2F standard.</p>

<p>Sadly, the YubiKey is substandard and frustrating to use.  Here's what I found.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/YubiKey-Neo-on-cardboard-backing.jpg" alt="YubiKey Neo - a thumb sized USB device - on cardboard backing" width="1024" height="715" class="aligncenter size-full wp-image-28682">

<p>First impressions count for a lot - and it is pretty disappointing. What you see in my fingers is literally all Amazon sent me. A fob and a bit of card. No instructions, no welcome pack, no getting started guide. What does the circle do? How do I use it with Android?</p>

<p>The plastic is cheap and doesn't look like it would survive in a pocket full of keys. In short, it looks like a freebie USB stick - not an expensive piece of security hardware.</p>

<p>OK, let's <a href="https://www.yubico.com/start/#yubikey-neo">get started</a>!</p>

<h2 id="linux-set-up"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#linux-set-up">Linux Set Up</a></h2>

<p>Do I need to do anything special to get it working on Ubuntu? Who knows - the <a href="https://www.yubico.com/solutions/#computer-login">Yubico pages literally just point to StackOverflow</a>.</p>

<p>A quick <code>lsusb</code> shows <code>ID 1050:0116 Yubico.com Yubikey NEO(-N) OTP+U2F+CCID</code> - so it seems to be detected correctly.  So that should be fine, right?</p>

<p>When I push the button on the YubiKey, it spits out a 44 character password - all lower case characters. It's the same every time.  Shouldn't this be unique, like a normal one-time code?</p>

<h2 id="firefox-woes"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#firefox-woes">Firefox Woes</a></h2>

<p>Fine, let's follow the steps needed to <a href="https://www.facebook.com/help/401566786855239">set up Facebook with a security key</a>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/Facebook-doesnt-support-2FA-fs8.png" alt="An error message saying that Firefox doesn't support Yubico" width="594" height="480" class="aligncenter size-full wp-image-28677">

<p>Ah... Turns out that <a href="https://wiki.mozilla.org/Security/CryptoEngineering#Web_Authentication">U2F support will be coming to Firefox in Version 57</a> which is <a href="https://wiki.mozilla.org/Firefox/Roadmap/Updates">scheduled for release in mid-November</a>.</p>

<h2 id="chrome-test"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#chrome-test">Chrome Test</a></h2>

<p>OK, let's switch my browser to Chrome temporarily.  That Firefox page alerted me to Yubico's demo server at <a href="https://demo.yubico.com/"></a><a href="https://demo.yubico.com/">https://demo.yubico.com/</a> (which isn't linked from anywhere on their main site). With that I was able to confirm that the key worked. I guess.  I touched the button on the key, it autotyped the password and I was logged in. Yay?</p>

<p>I don't really understand what I did or why it worked.</p>

<h2 id="github"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#github">GitHub</a></h2>

<p>The <a href="https://help.github.com/articles/configuring-two-factor-authentication-via-fido-u2f/">GitHub help pages</a> give a range of scary warnings about setting up 2FA.</p>

<p>There are 12 steps to setting up a U2F. Step one is setting up 2FA via an app - which is <a href="https://help.github.com/articles/configuring-two-factor-authentication-via-a-totp-mobile-app/">a 10 step process</a>.</p>

<p>The short version is:</p>

<ol>
<li>Go to <a href="https://github.com/settings/two_factor_authentication/configure"></a><a href="https://github.com/settings/two_factor_authentication/configure">https://github.com/settings/two_factor_authentication/configure</a></li>
<li>Give the key a name.</li>
<li>Press the button on the key.</li>
</ol>

<p>That's it! Pretty simple.</p>

<p>After logging in with a username and password, you get this screen:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/GitHub-2FA-fs8.png" alt="GitHub screenshot &quot;Insert your security key Press the button on your security key device to finish signing in. If it does not have a button, just re-insert it.&quot;" width="308" height="470" class="aligncenter size-full wp-image-28678">

<p>I pressed the button and IT WORKED!</p>

<h2 id="android"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#android">Android</a></h2>

<p>OK, so this key has NFC and therefore should work with Android. But how? There's <a href="https://www.yubico.com/solutions/">nothing on the Yubico website</a>.</p>

<p>I held the Neo against my phone, and it popped open the default web browser.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/YubiKey-website-fs8.png" alt="A screenshot of an Android phone. The web browser congratulates me for setting up my Key" width="512" height="825" class="aligncenter size-full wp-image-28679"></p>

<p>I don't understand what this screen is telling me.  Apparently I have been "successfully authenticated" - but with what? I haven't typed in a password or given a user name.</p>

<p>That <code>serial</code> and <code>identity</code> - should I keep them safe? Private? Are they dangerous if they get leaked? Do I need them backed up?</p>

<p>Oh, great, yet another app I have to install, configure, and update.</p>

<h2 id="the-app"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#the-app">The app</a></h2>

<p>The app is also substandard. The Android version only supports American and German keyboards.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/YubiKey-App-fs8.png" alt="YubiKey app - has very few options, looks boring" width="512" height="530" class="aligncenter size-full wp-image-28681">

<p>The company encourages you to contribute new layouts to <a href="https://github.com/Yubico/yubiclip-android/">their open source project</a>. But it, like the app, hasn't been updated since 2015!</p>

<h2 id="back-to-github"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#back-to-github">Back to GitHub</a></h2>

<p>So I tried GitHub via the Chrome browser on Android.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/GitHub-Fail-YubiKey-fs8.png" alt="Github website showing an error message" width="512" height="532" class="aligncenter size-full wp-image-28680"></p>

<p>Nope. Just wouldn't work. I held the key to the phone, the app copied the 44 character password, I manually pasted it in.  And I got this error, repeatedly.  My 2FA codes from Authy worked fine.</p>

<p>I don't know how to fix that.</p>

<h2 id="the-other-app"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#the-other-app">The other app</a></h2>

<p>There is <em>another</em> app! It isn't linked to from the default page you get when you hold the Neo against the phone. That would be too easy, apparently.  After clicking around on the Google Play store, I found <a href="https://play.google.com/store/apps/details?id=com.yubico.yubioath">Yubico Authenticator</a></p>

<blockquote><p>Yubico Authenticator allows you to use a YubiKey NEO to store OATH credentials (TOTP and HOTP supported, as used by Google, Microsoft, Dropbox, Amazon and many more) used for 2-factor authentication.</p></blockquote>

<p>Aha! I think this is what I need. And it has been updated recently. Well, May 2017.</p>

<p>Again, it is as ugly as the last app. Compare it to <a href="https://play.google.com/store/apps/details?id=com.authy.authy">Authy</a> which uses icons to help you find the code you need, strong colours to remind you which service you're using, and large numbers to help when copy-typing.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/Authy-vs-Yubico-fs8.png" alt="Authy app is delightful to use, Yubico looks grim" width="450" height="400" class="aligncenter size-full wp-image-28683">

<p>Which of those apps would you rather use every day?</p>

<p>There's no way to copy credentials from another service - so I had to manually set up all 21 accounts again. That was a fun way to spend an afternoon.</p>

<ol>
<li>Scan the QR code of the service.</li>
<li>Give it a memorable name.</li>
<li>Tap the YubiKey to your phone to store the token.</li>
<li>Repeat.</li>
</ol>

<p>To get tokens out:</p>

<ol>
<li>Tap the YubiKey to the phone.</li>
<li>The Authenticator opens up.</li>
<li>Scroll to find your code (hard without icons or colours as a guide).</li>
<li>Tap a <em>tiny</em> square to copy the code.</li>
<li>Swap back to your app and paste it in.</li>
</ol>

<p>Honestly, I thought I'd be at the login screen of the app, then just have to tap the YubiKey to the phone and have it do it automatically.</p>

<p>Why did I think that? Because <a href="https://www.yubico.com/why-yubico/for-individuals/">that's what the website promises</a>!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/Tap-the-key-fs8.png" alt="For NFC-enabled Android phones, the YubiKey NEO allows you to just tap the key against the phone to complete authentication." width="556" height="300" class="aligncenter size-full wp-image-28686">

<h2 id="lastpass"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#lastpass">LastPass</a></h2>

<p>I use <a href="https://lastpass.com">LastPass</a> to manage all my passwords. If I want to use U2F with it, I need to pay them $2 a month for their premium product.  LastPass is the only company I'm aware of who charge extra to enable security features.</p>

<p>But I can <em>still</em> use the YubiKey code generator app. Just not the key itself...?</p>

<p>I AM SO CONFUSED!</p>

<h2 id="pgp"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#pgp">PGP</a></h2>

<p>I'm one of those daft people with a PGP key in active use. I set it up four years ago as a 4096 bit RSA key.  This fifty-quid hunk-of-junk can only handle 2048 bit keys, like it is from the stone age.  Why? Who knows.</p>

<p>If you can be bothered, you can generate <em>yet another</em> PGP key and store it on the device. There are no official apps to do this on Android, so you'll need to find yet another third party app to trust. I used <a href="https://www.openkeychain.org/">OpenKeyChain</a>.</p>

<p>Of course, if you lose the physical hardware you lose the key. There's no obvious way to extract the private key from the YubiKey. I mean, there may be <em>a</em> way - but good luck finding clear documentation.</p>

<h2 id="whats-the-point"><a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/#whats-the-point">What's the point?</a></h2>

<p>I get security. I understand the benefits of 2FA. But I struggle with the YubiKey. It's a pain to set up and a pain to use.  The apps are outdated, ugly, and underwhelming.</p>

<p>I had thought that this would be a "single use" solution - but it isn't. On a laptop I have to plug it in and touch the button, on Android I have to use NFC to open the app, find the right account, tap to copy, then paste the code manually.</p>

<p>There's no step-by-step guide for new users. It's all trial and error.</p>

<p>For fifty quid, I could buy a cheap Android phone and use Authy for free.</p>

<p>The kicker? When it is plugged into a laptop, a green LED flashes constantly. Urgh.</p>

<p>If you want normal people to adopt security best practices, the experiences need to be easy to use and beautiful. The YubiKey is hard and ugly. Which is a great shame.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=28676&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/feed/</wfw:commentRss>
			<slash:comments>12</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Doc Brown is a Crap UI Designer]]></title>
		<link>https://shkspr.mobi/blog/2015/10/doc-brown-is-a-crap-ui-designer/</link>
					<comments>https://shkspr.mobi/blog/2015/10/doc-brown-is-a-crap-ui-designer/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 21 Oct 2015 15:17:30 +0000</pubDate>
				<category><![CDATA[usability]]></category>
		<category><![CDATA[bttf]]></category>
		<category><![CDATA[movies]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=21680</guid>

					<description><![CDATA[I&#039;m incredibly disappointed with &#34;Doctor&#34; Emmett Brown.  His forays into time-travel could have extremely profound consequences for the space/time continuum.  Worse than that, his time machine has a crap user interface.  In this clip from &#34;Back To The Future&#34; we get a brief glimpse at the controls for setting the destination date:   Ok, we can forgive Brown for not sticking to ISO-8601 - that is…]]></description>
										<content:encoded><![CDATA[<p>I'm incredibly disappointed with "Doctor" <a href="https://en.wikipedia.org/wiki/Emmett_Brown">Emmett Brown</a>.  His forays into time-travel could have <em>extremely</em> profound consequences for the space/time continuum.  Worse than that, his time machine has a crap user interface.</p>

<p>In this <a href="https://youtu.be/KPeHFDxKUP4?t=36">clip from "Back To The Future"</a> we get a brief glimpse at the controls for setting the destination date:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/BTTF1.jpg" alt="BTTF1" width="1024" height="494" class="aligncenter size-full wp-image-21682"></p>

<p>Ok, we can forgive Brown for not sticking to <a href="https://en.wikipedia.org/wiki/ISO_8601">ISO-8601</a> - that is the eminently sensible Year-Month-Day-Hours-Minutes-Seconds format - the standard was finalised in 1988, a few years after he allegedly built his time machine.</p>

<p>But why are the "Destination Time" LEDs red - the universal colour for stop/warning?  The "Present Time" LEDs are green - not great for men with colour-blindness.</p>

<p>AM/PM are positioned <em>before</em> the hour marker.  WTF?</p>

<p>Generally speaking, humans read top-to-bottom.  So having the "Destination Time" label in the middle of two displays could prove confusing.</p>

<p>There appears to be no "Seconds" setting - is this level of precision acceptable?</p>

<p>Let's move on and take a look at the sequel - the imaginatively named "<a href="https://youtu.be/6Tf8mPsvcOs?t=6">Back To The Future Part 2</a>":</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/BTTF2.jpg" alt="BTTF2" width="1024" height="488" class="aligncenter size-full wp-image-21681">

<p>OMG!  In this latest revision, the AM/PM labels have <strong>swapped position!</strong></p>

<p>It's unclear if this is a conscious design choice, or whether the labels have fallen off and been carelessly repositioned.  This could lead to the unwary user arriving 12 hours before or after they expect.  That is not a great user experience!</p>

<p>Finally, let's <a href="https://youtu.be/63KOboifCig?t=50">take a look at Part 3</a></p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/10/BTTF3.jpg" alt="BTTF3" width="1024" height="385" class="aligncenter size-full wp-image-21684">

<p>Well isn't this just <em>fanfuckingtastic!?</em>  The AM/PM has <strong>switched again!</strong>  What utter contempt the designers are showing for their user.</p>

<p>It's obvious that the LED lighting isn't sufficient for either use in bright sunshine - or for viewing from the driver's position.</p>

<p>The label is "Departed Time" - rather than "Time Departed" which would keep it consistent with the other two labels.</p>

<p>And, if that weren't bad enough - take a look at the "Month" section.  Yup, it has gone from being JAN/FEB/MAR etc - to a two digit representation!</p>

<p>Oh, and apparently, there's no support for TimeZones. FFS...</p>

<p>Seriously, if you are planning on designing a time machine, please don't take any advice from this nutcase!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=21680&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/10/doc-brown-is-a-crap-ui-designer/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Sookie Stackhouse's Phone Has A Dreadful User Interface!]]></title>
		<link>https://shkspr.mobi/blog/2014/07/sookie-stackhouses-phone-has-a-dreadful-user-interface/</link>
					<comments>https://shkspr.mobi/blog/2014/07/sookie-stackhouses-phone-has-a-dreadful-user-interface/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 14 Jul 2014 11:05:26 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[ui]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=10654</guid>

					<description><![CDATA[I love the TV Show True Blood.  I really only watch it for the insightful social commentary and tasteful depictions of interspecies erotica.  And the User Interface mistakes, obviously.  During the recent episode &#34;I Found You&#34;, the Jessica (the Vampire) places a phone call to Sookie (a sort of telepathic fairy... it doesn&#039;t really matter...)  Sadly, Sookie has dropped her phone.  Notice the…]]></description>
										<content:encoded><![CDATA[<p>I love the TV Show True Blood.  I really only watch it for the insightful social commentary and tasteful depictions of interspecies erotica.  And the User Interface mistakes, obviously.</p>

<p>During the recent episode "I Found You", the Jessica (the Vampire) places a phone call to Sookie (a sort of telepathic fairy... it doesn't really matter...)</p>

<p>Sadly, Sookie has dropped her phone.  Notice the obvious mistake?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/07/Screenshot-True-Blood-S07E02-Mobile-Phone.jpg" alt="Screenshot True Blood S07E02 Mobile Phone" width="800" height="450" class="aligncenter size-full wp-image-10656">

<p>Take a look at the dichotomy 'twixt the screen and physical buttons.  The touch screen interface places the (red) Decline button on the left, and the (green) Answer button on the right.  But the <em>physical</em> buttons are the <strong>opposite way around</strong>!</p>

<p>See here.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2014/07/Screenshot-True-Blood-S07E02-Mobile-Phone-Detail.jpg" alt="Screenshot True Blood S07E02 Mobile Phone Detail" width="640" height="400" class="aligncenter size-full wp-image-10655">

<p>Humans very quickly build up muscle memory.  They ignore what's in front of them and instead rely on learned behaviour.  If you've ever had a new TV remote which puts the power button in a different position to your old remote, you know the frustration!</p>

<p>Consistency is the key to providing good user experiences.</p>

<p>Of course, the fact that the <a href="http://www.cnet.com/uk/products/kyocera-x-tc-g2go-virgin-mobile/">Kyocera X-tc</a> doesn't have a touch screen <em>really</em> distracts from the mise-en-scène.</p>

<p>Why, yes, I do have a life. Thank you very much for asking.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=10654&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2014/07/sookie-stackhouses-phone-has-a-dreadful-user-interface/feed/</wfw:commentRss>
			<slash:comments>2</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Button, button, who's got the button?]]></title>
		<link>https://shkspr.mobi/blog/2012/06/button-button-whos-got-the-button/</link>
					<comments>https://shkspr.mobi/blog/2012/06/button-button-whos-got-the-button/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 04 Jun 2012 08:43:36 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[icons]]></category>
		<category><![CDATA[ics]]></category>
		<category><![CDATA[ios]]></category>
		<category><![CDATA[ui]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=5809</guid>

					<description><![CDATA[I love Android, I really do. I&#039;m chuffed to bits with the Galaxy Nexus I won recently. I&#039;ve had a dozen Android phones before that - stretching all the way back to the HTC Magic.  But it&#039;s getting obvious that Android has a serious design problem - even with the gorgeous new &#34;Holo&#34; theme for ICS.  The issue is one of consistency.  Users have limited cognitive surplus and often rely on muscle…]]></description>
										<content:encoded><![CDATA[<p>I love Android, I really do. I'm chuffed to bits with the Galaxy Nexus I won recently. I've had a dozen Android phones before that - stretching all the way back to the HTC Magic.</p>

<p>But it's getting obvious that Android has a serious design problem - even with the gorgeous new "Holo" theme for ICS.</p>

<p>The issue is one of consistency.  Users have limited cognitive surplus and often rely on muscle memory to perform tasks. So anything which forces applications to behave in a similar way is often highly appreciated.</p>

<p>One thing which is bugging me about the Galaxy Nexus and ICS is the placement of the "Menu" button.  This button is used to open up a program's options, or access its functions.  It always used to be a physical key on the device - now it has become virtual.</p>

<p>A virtual key isn't of itself a huge problem - but the placement of it is.</p>

<p>In some apps it appears at the top of the screen, in others it's on the bottom, and on some the button appears in the virtual button bar.  Take a look at these examples:</p>

<p></p><div id="attachment_5800" style="width: 178px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-5800" src="https://shkspr.mobi/blog/wp-content/uploads/2012/06/wpid-Screenshot_2012-06-03-21-41-00-168x300.jpg" alt="ICS button screenshot Twitter" title="ICS button screenshot Twitter" class="size-medium wp-image-5800"><p id="caption-attachment-5800" class="wp-caption-text">In Twitter, the menu button is on the virtual button bar</p></div><p></p>

<p></p><div id="attachment_5801" style="width: 178px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-5801" src="https://shkspr.mobi/blog/wp-content/uploads/2012/06/wpid-Screenshot_2012-06-03-21-40-36-168x300.jpg" alt="ICS button screenshot browser" title="ICS button screenshot browser" width="168" height="300" class="size-medium wp-image-5801"><p id="caption-attachment-5801" class="wp-caption-text">In the browser, the menu button is on the top.</p></div><p></p>

<p></p><div id="attachment_5802" style="width: 178px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-5802" src="https://shkspr.mobi/blog/wp-content/uploads/2012/06/wpid-Screenshot_2012-06-03-21-40-26-168x300.jpg" alt="Android ICS button Gmail" title="Android ICS button Gmail" width="168" height="300" class="size-medium wp-image-5802"><p id="caption-attachment-5802" class="wp-caption-text">In Gmail, the menu button is at the bottom of the screen, but not on the virtual bar.</p></div><p></p>

<p></p><div id="attachment_5826" style="width: 178px" class="wp-caption aligncenter"><a href="https://shkspr.mobi/blog/wp-content/uploads/2012/06/Screenshot_2012-06-04-09-00-25.png"><img aria-describedby="caption-attachment-5826" src="https://shkspr.mobi/blog/wp-content/uploads/2012/06/Screenshot_2012-06-04-09-00-25-168x300.png" alt="Android ICS SMS button" title="Android ICS SMS button" width="168" height="300" class="size-medium wp-image-5826"><p id="caption-attachment-5826" class="wp-caption-text">In the stock SMS app, the menu button starts at the bottom...</p></a></div><p></p><a href="https://shkspr.mobi/blog/wp-content/uploads/2012/06/Screenshot_2012-06-04-09-00-25.png">

<p></p></a><div id="attachment_5825" style="width: 178px" class="wp-caption aligncenter"><a href="https://shkspr.mobi/blog/wp-content/uploads/2012/06/Screenshot_2012-06-04-09-00-25.png"></a><a href="https://shkspr.mobi/blog/wp-content/uploads/2012/06/Screenshot_2012-06-04-09-00-19.png"><img aria-describedby="caption-attachment-5825" src="https://shkspr.mobi/blog/wp-content/uploads/2012/06/Screenshot_2012-06-04-09-00-19-168x300.png" alt="Android ICS SMS button 2" title="Android ICS SMS button 2" width="168" height="300" class="size-medium wp-image-5825"></a><p id="caption-attachment-5825" class="wp-caption-text">...but then jumps to the top!</p></div><p></p>

<p>So every time you go in to an app, you have to search for the menu button and remember where it is for that app for that particular context.</p>

<p>What a total annoyance. You can't just remember once and get used to it - you have to check on every single screen of every single app.  No reliance on muscle memory is possible. All very frustrating.</p>

<p>Now, Android isn't alone in this. I remember the last time I used iOS being frustrated with the number of different ways there were to delete an item in stock apps. Sometimes there was an icon (although rarely the same one), sometime you had to swipe, sometime you had to tap-and-hold.</p>

<p>It's a symptom of a lack of strict guidelines.  I've worked on a project where - due to no one person being in charge of UI - we ended up with <em>six</em> different icons to represent delete - one of which was identical to the "close window" button!</p>

<p>It's one of those tiny little stumbling blocks which gradually builds up into the user resenting the interface. This is the sort of mistake that professionals in the UI / UX field should not be making.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=5809&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/06/button-button-whos-got-the-button/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[API Design is UI for Developers]]></title>
		<link>https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/</link>
					<comments>https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 04 Mar 2012 15:33:50 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[hci]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[ui]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=5382</guid>

					<description><![CDATA[I&#039;ve been thinking a lot about APIs and their design recently.  I stumbled on this fantastic quote from Greg Parker:  Greg Parker@gparkerA programming language is a user interface for developers. Language authors should learn from HCI principles.❤️ 41💬 6🔁 019:10 - Wed 22 February 2012  When I first started learning C++ (back in the bad old days) I was convinced that any 1st year student could desi…]]></description>
										<content:encoded><![CDATA[<p>I've been thinking a lot about APIs and their design recently.</p>

<p>I stumbled on this fantastic quote from Greg Parker:</p>

<blockquote class="social-embed" id="social-embed-172397794684977152" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/gparker" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRkoDAABXRUJQVlA4ID4DAAAwDgCdASowADAAPqlEnEmmJCMhNVqqqMAVCWwAnTK4EPbkO1h3Nt7duMoX8ZvAfxi/j2h/VuMDs7zL1cf65sHPCIOjPwHXXfSy7Praz4IE2MNuyG1VHdy1sJHyd6muDG3lGD0b2fo8rNBfk3YzrJ6EqPQjkDFfXWJmgAD+9WP/LPq96FERypf+7+NMAExNb//AD7EkNv0PuC9sbA4dpnCT3riDxFmYk0NeFrA8Wmv+RRfQcILX9mGSC0yo3HaH2Lub71Nh9SUIhXUulI9XNW08yrr3UjYs4VeT7RDpf4eADlOt3mFQhq55sIydn7rhLd9kXQJG+YWcFTaFdGP0Mip2KB8RLIXcXm292LheClB37dvBoGslPnZyLRifX+uviMITxyGzTGRMWssS1nFwMR3SNbnJMxOc4+Z8upbXWz2/dlwmiQDh/YTwmrD0QPYSN9Mko6ZdFnitJR9kVGStNW2jOHDxZIr/mlrL+tMAWkRSfaqDb1O+lOzOqpYzW5POGNxf0opmGh6DTgO4w9AvF11FVR84LEV4QqTcUqnGUV46pywb3VtXAPbRUqq1smP9C11FZJIONFucljPVmf5XKHYXZ+13AgHeKODlkLc4ty3LVXvAqr6h07FEiJMJ5WOz6XzDWlPX3YlMPnyFbO/L0+m3e7Fvuk9xCFOug8GYkI4sXmdUxqn+0lbyZHtSD959WW0IEsyyT9C8vxX5DEoPr5Mf6tBcQpnNus2lrtmGTn8+T8mkLSTef+dBDjMxV2FTLlx8QIEM4nr/O+ibUYGDS6iam2Iz2wJdG0ffZmHzL+PFUbrRrhQwtoYqSDRdxbq7nTjjMUdNqR4zYQjrv2ACTQz54Y6adpu0DpzdYyyCtNIg0mC5OEAjASF6mDQUDoLhcLAEq74CQyjDfc3i1B71QKebPvOhhQh4jL8J1athLJgytc9X8LhIevUYHjn6i4xh8hg3dNYT36fBuWdP8AW0mePX443MP7fRQGtqYE7DjRBTiqN0NUhfBrQiHASKafq+snBiJKTyd0s0guEBXkyEC9Hc/TQ7rHYVYI8cdsxlrK5RYYbSQgOSolBr1KazbEoU1MRm0jrg2C1sIwUqSgAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Greg Parker</p>@gparker</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody">A programming language is a user interface for developers. Language authors should learn from HCI principles.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/gparker/status/172397794684977152"><span aria-label="41 likes" class="social-embed-meta">❤️ 41</span><span aria-label="6 replies" class="social-embed-meta">💬 6</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2012-02-22T19:10:11.000Z" itemprop="datePublished">19:10 - Wed 22 February 2012</time></a></footer></blockquote>

<p>When I first started learning C++ (back in the bad old days) I was convinced that any 1st year student could design a better programming language.  One which behaved in a sane fashion without a lot of legacy cruft.  In many ways, PHP is that programming language.  It's simple, logical, and works without having to know lots of esoteric computer science.</p>

<p>I see API design in the same way.  Most of the APIs I come in contact with were obviously designed by the original developer <em>for</em> the original developer - with no thought of those who would come after her.  Often, they're designed for one specific internal usage, reluctantly opened to the public, and never updated to account for how people actually use them.  Oh, and you can forget about decent documentation!</p>

<p>One hackathon I went to a few weeks ago had a Developer Relations employee stand up and say:</p>

<blockquote><p>Who wants to use our API? It uses <a href="http://en.wikipedia.org/wiki/SOAP">SOAP</a> - sorry.  If you want documentation - come see me because it's not on the website. Oh, and it's read only.  Let me know as soon as possible because it takes 6 hours to approve your API key.</p></blockquote>

<p>This is madness.  Developers are human too!  They need some HCI love between them and their APIs.</p>

<p>So, here are my hastily scribbled thoughts on what an API needs at a <em>minimum</em> to entice the busy developer.</p>

<p>I don't think any of these are Earth-shattering, but it's amazing how many APIs fail to meet even these basic requirements.</p>

<h2 id="easy-access"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#easy-access">Easy Access</a></h2>

<ul>
    <li>Don't make me register, set up an account, or fill in a load of forms - I just want to see what I can do with you before I make a commitment.</li>
    <li>Do give me an Apigee console - or similar - so I can see for myself what's happening.</li>
    <li>Don't give me absurd key signing requirement - I should be able to call the API from a web browser just by typing stuff in.</li>
    <li>Do make it as easy as possible for me to get started - get your CEO (or similar) and see how long it takes her to set up an account &amp; launch her first call. If it's more than 5 minute, go back to the drawing board.</li>
</ul>

<h2 id="example-code"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#example-code">Example Code</a></h2>

<ul>
    <li>Don't tell me what your API can do - show me a few cool calls to start me off.</li>
    <li>Just because you love Ruby, doesn't mean everyone does. Show examples in a variety of languages.</li>
    <li>Provide examples of code which won't work and explain why.</li>
    <li>Comment your code. It may be obvious to you what "choes=17|L" means, but it may not be to me.</li>
</ul>

<h2 id="documentation"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#documentation">Documentation</a></h2>

<ul>
    <li>This is possibly the most important area.</li>
    <li>I need to know what I can do, how I can do it, why I should do it a certain way, and what response to expect.</li>
    <li>For. Every. Single. Function.</li>
    <li>If you can't document your API, people can't use it.</li>
</ul>

<h2 id="full-enumeration-of-responses"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#full-enumeration-of-responses">Full Enumeration of Responses</a></h2>

<ul>
    <li>Tell me the full range of response I can expect.</li>
    <li>A good example is Twitter's "retweet_count", the documentation used to imply that the response would always be an integer.  However, it would occasionally <a href="https://web.archive.org/web/20120111232055/https://gazit.me/2012/01/09/Twitter-documentation-fail.html">respond with a string of "100+"</a>. Naturally, this meant developers would write code expecting ints which would fail whenever a string was encountered.  If you can't tell me what responses to expect - how can I code something which handles those responses correctly?</li>
    <li>What error codes are you likely to throw?</li>
</ul>

<h2 id="variety-of-response-language"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#variety-of-response-language">Variety of Response Language</a></h2>

<ul>
    <li>Yes, you love XML. Guess what? I don't!</li>
    <li>The customer is always right.  If the customer (developer) wants JSON, XML, PHPobject, or just plain text - you should give it to them.</li>
    <li>It's the API designer's job to make life easy for developers - so reply in whatever formats the developer wants.</li>
</ul>

<h2 id="human-readable-response"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#human-readable-response">Human Readable Response</a></h2>

<ul>
<li>Developers are humans! Yes! It's true! And they can't all pretty-print JSON in their heads.  Give them something they can read without resorting to external tools.</li>
    <li>The Wikipedia API is a brilliant example of this.  They have a <a href="http://en.wikipedia.org/w/api.php?action=query&amp;prop=info|langlinks&amp;lllimit=200&amp;llurl&amp;titles=API&amp;redirects=">human readable response for their API calls</a>.</li>
    <li>Unless you have a very good reason not to - all your responses should be pretty-printed.  It helps with debugging and makes life just that little bit easier for a struggling developer.</li>
</ul>

<h2 id="human-readable-requests"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#human-readable-requests">Human Readable Requests</a></h2>

<ul>
<li>Developers are humans! Yes! It's true! And they can't all remember every little acronym in their heads.  Give them something they can read without resorting to documentation.</li>
    <li>What's easier to remember "gnxID" or "getNextId"?</li>
    <li>Keep your parameters consistent.</li>
</ul>

<h2 id="unchanging"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#unchanging">Unchanging</a></h2>

<ul>
    <li>Consistency is a virtue. If you have two similar APIs (say, search &amp; read) they should take the same parameters and produce identically formatted responses.</li>
    <li>If you have to change the way your API responds, or the way it accepts request, that's fine - but use versioning so that developers don't have to update their code if they don't want to.</li>
    <li>Never deprecate <em>anything</em>! Once an embedded device has had its firmware burned, it's unlikely to ever be updated.  If people or services rely on you, it's simply unacceptable to kill something off.  Remember, not every developer or end user can update their software.</li>
</ul>

<h2 id="simplicity"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#simplicity">Simplicity</a></h2>

<ul>
    <li>Perhaps the most important of all HCI commandments - Keep It Simple.</li>
    <li>Don't engage in a needless dance where developers have to take several steps to do a single action.</li>
    <li>Try to explain what you're doing in a single sentence. If you can't - it's probably too complicated.</li>
</ul>

<h2 id="libraries"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#libraries">Libraries</a></h2>

<ul>
    <li>I'm sure you're very proud that your community has created some libraries - but they're not good enough.</li>
    <li>Want people to use your API? Provide libraries in a wide variety of languages.</li>
    <li>Update and support those libraries.</li>
</ul>

<h2 id="detailed-errors"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#detailed-errors">Detailed Errors</a></h2>

<ul>
    <li>It's not enough to say an error has occurred. Say <em>why</em> it has occurred.</li>
    <li>Error codes must always be accompanied by human readable error messages.</li>
    <li>Do you really need to throw an error? Can your API take a "best" guess at what the user was trying to do? <a href="https://en.wikipedia.org/wiki/Robustness_principle">Be generous in what you accept</a>.</li>
</ul>

<h2 id="feedback"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#feedback">Feedback</a></h2>

<ul>
    <li>Your API sucks. Accept that.</li>
    <li>Provide a mechanism where people can feed back what they think is broken, poorly implemented, missing, or just plain confusing.</li>
    <li>Discuss the feedback openly. See what the rest of your community thinks.</li>
    <li>Act on feedback.  If a feature request hasn't been acted on after 6 months, you've probably failed.</li>
</ul>

<h2 id="so-what"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#so-what">So What?</a></h2>

<p>There is nothing new in this post to the seasoned developer.  But as <a href="https://web.archive.org/web/20140108122439/https://mattgemmell.com/hashing-for-privacy-in-social-apps/">Matt Gemmell reminded me recently - some people just don't know the basics</a>.</p>

<p>If you're interested in making your API useful for developers, you have to treat it like any other product.  You have to consider HCI factors, you have to do product testing, design, and planning.</p>

<p>Your API is a product.  Treat your developers as you would your most profitable users.</p>

<h2 id="further-reading"><a href="https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/#further-reading">Further Reading</a></h2>

<p>There are many books on this subject - the two I recommend are:
<a href="https://web.archive.org/web/20120326090638/http://www.faqs.org/docs/artu/ch01s06.html">Basics of the Unix Philosophy</a> (free).
<a href="http://www.amazon.co.uk/gp/product/0465067107/ref=as_li_ss_tl?ie=UTF8&amp;tag=shkspr-21&amp;linkCode=as2&amp;camp=1634&amp;creative=19450&amp;creativeASIN=0465067107">The Design of Everyday Things</a> (paper or ebook).</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=5382&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2012/03/api-design-is-ui-for-developers/feed/</wfw:commentRss>
			<slash:comments>20</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Hate Microsoft - Love Windows Phone 7?]]></title>
		<link>https://shkspr.mobi/blog/2010/07/hate-microsoft-love-windows-phone-7/</link>
					<comments>https://shkspr.mobi/blog/2010/07/hate-microsoft-love-windows-phone-7/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 17 Jul 2010 15:23:22 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[ui]]></category>
		<category><![CDATA[ux]]></category>
		<category><![CDATA[windows]]></category>
		<category><![CDATA[Windows Phone 7]]></category>
		<category><![CDATA[wp7]]></category>
		<category><![CDATA[xbox]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=2167</guid>

					<description><![CDATA[I&#039;m not the biggest fan of Microsoft.  Both my original Xboxes now run Linux, I&#039;ve converted my laptop and computers to Ubuntu, and I generally laugh in the face of Microsoft&#039;s increasingly desperate attempts to stay relevant.  So it was with great mirth that I went along to a BizSpark event a few weeks ago.  Microsoft were going to be showing off their latest &#34;innovation&#34; - Windows Phone 7.  I…]]></description>
										<content:encoded><![CDATA[<p>I'm not the biggest fan of Microsoft.  Both my original Xboxes now run Linux, I've converted my laptop and computers to Ubuntu, and I generally laugh in the face of Microsoft's increasingly desperate attempts to stay relevant.</p>

<p>So it was with great mirth that I went along to a BizSpark event a few weeks ago.  Microsoft were going to be showing off their latest "innovation" - Windows Phone 7.</p>

<p>I went along expecting to hate it and, instead, found myself curiously drawn to it.</p>

<p><a href="https://web.archive.org/web/20100819025125/http://www.windowsphone7.com/">Take a look at the emulator for an interactive demo</a>.</p>

<p>I played with the demo hardware and software and had my expectations blown away.&nbsp; I'll be honest - I expected crap.&nbsp; I had horrible memories of the stylus oriented Windows Mobile 6.&nbsp; The phone which would display an hourglass if you had the temerity to receive a phone call while playing solitaire.</p>

<p>Windows Phone 7 (WP7) was a million miles away from the old Microsoft experience.</p>

<h2 id="pros"><a href="https://shkspr.mobi/blog/2010/07/hate-microsoft-love-windows-phone-7/#pros">Pros</a></h2>

<p>The user interface is refreshingly simple and fun to use.&nbsp; It's like nothing else I've tried before and I really think that Microsoft has outclassed both Android and Apple.</p>

<p>Pushing so much information to the homescreen really makes you want to use your phone constantly. iPhone only does this half-heartedly and Android does it without much animation or UI consistency.</p>

<p>App Store.&nbsp; One excellent feature of the MS app store is the "Try Before You Buy" model.&nbsp; Rather than a developer putting out a free, limited version and a "pro" version they can publish a single app.&nbsp; They can restrict the features and functionality of the "demo" version until the customer makes the purchase. Or, after a set period of time, the demo version can become non-functioning. Or have reduced function.&nbsp; Brilliant.</p>

<p>Gaming on this device will be huge. It looks like it will be simple to port games from the Xbox to WP7 - that gives it a great competative advantage. Tie in Xbox Live (or whatever it's called) and you'll get gamers buying the same game twice - once on the console and once on the phone.&nbsp; The 3D power of the phones was stunning.</p>

<h2 id="cons"><a href="https://shkspr.mobi/blog/2010/07/hate-microsoft-love-windows-phone-7/#cons">Cons</a></h2>

<p>There are some serious shortcomings in the Windows Phone 7 vision of the future which Microsoft urgently need to address.</p>

<ul>
    <li>Expand the development options.&nbsp; If you want to write for Windows Phone 7, you'll need Windows installed on your computer.&nbsp; Given that Android allows you to develop on Windows, Mac and Linux, it doesn't make sense to make developers buy a new operating system.&nbsp; Especially as iPhone development is tied to Apple.</li>
    <li>Open it up.&nbsp; I love the <em>idea</em> of integrating my phone with my Xbox live account - but I don't have an Xbox! Open it up so that my Wii or PS3 gaming experience can be pushed to the homescreen.</li>
    <li>The same goes for mail and IM - don't restrict it just to Exchange and MSN.&nbsp; Openness is hard for Microsoft, but it will attract more customers to the platform.</li>
    <li>Have a firm, public roadmap for enhancements which <em>all</em> manufacturers stick to.&nbsp; Android is currently being stifled by manufacturers like HTC who refuse to update the software on their customers' devices.</li>
    <li>Revenue share for developers needs to be better. At the moment it's the same 70/30 split being offered by Android and Apple.&nbsp; It needs to be lower for two key reasons.</li>
</ul>

<ol>
    <li>Attract developers to the fledgling ecosystem.</li>
    <li>To avoid any accusations of a cartel.&nbsp; To have all three major platforms "independently" converge on the same revenue share deal looks suspicious.</li>
</ol>

<h2 id="now-what"><a href="https://shkspr.mobi/blog/2010/07/hate-microsoft-love-windows-phone-7/#now-what">Now What?</a></h2>

<p>I've played with the prototype hardware and I'm impressed.&nbsp; The software is really good. Much better that Microsoft's usual standard.</p>

<p>It has to be.</p>

<p>Microsoft are betting their mobile future on this platform.&nbsp; Win6.5 failed. Kin failed. They can't afford another high profile failure like this.&nbsp; Mirosoft are putting their best people on this project and, as far as I can tell, are revisiting their Xbox strategy; SPEND SPEND SPEND.</p>

<p>By the time the phones launch (holiday season 2010) you won't be able to move without seeing an advert.&nbsp; They will crank up their media machine to 11.&nbsp; Just like the original Xbox, they will buy their way in to the market with a view that - like the Xbox 360 - the real prize is several years away.</p>

<p>I hope they succeed.&nbsp; Not because I have any love for Microsoft, but because Nokia, Apple, and Google will all have to raise the quality of their software and hardware to compete against Microsoft's marketing expenditure.</p>

<p>I'm a Linux geek - and I think Windows Phone 7 is the best thing to come out of Redmond in a very long time.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=2167&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2010/07/hate-microsoft-love-windows-phone-7/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
	</channel>
</rss>
