<?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>usability &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/usability/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Wed, 29 Apr 2026 07:20:58 +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>usability &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[It's a process; not a product]]></title>
		<link>https://shkspr.mobi/blog/2024/02/its-a-process-not-a-product/</link>
					<comments>https://shkspr.mobi/blog/2024/02/its-a-process-not-a-product/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 21 Feb 2024 12:34:55 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=49679</guid>

					<description><![CDATA[Sometimes a client asks me a question and I&#039;m a little stunned by their mental model of the world.  A few weeks ago, we were discussing the need for better cybersecurity in their architecture. We spoke about several aspects of security, then they asked an outstanding question.  &#34;What should I buy to be secure?&#34;  It took a few moments to tease out exactly what they thought they were asking. In…]]></description>
										<content:encoded><![CDATA[<p>Sometimes a client asks me a question and I'm a little stunned by their mental model of the world.</p>

<p>A few weeks ago, we were discussing the need for better cybersecurity in their architecture. We spoke about several aspects of security, then they asked an <em>outstanding</em> question.</p>

<p>"What should I buy to be secure?"</p>

<p>It took a few moments to tease out exactly what they thought they were asking. In their mental model they could just buy a box which did what they needed. Want to print from any workstation? Buy a big HP network printer. Want to get WiFi in the office? Buy a bunch of access points. Want a website? Buy a WordPress. Want security? Buy a [<em>fill in the blank</em>]?</p>

<p>Their notion is that most things are products.  This is a common belief. I've had clients ask "What do I buy to make this accessible?" or "What can I buy to improve usability?"</p>

<p>In all these cases there <em>are</em> unscrupulous people who will sell you a magic cure-all - but the real answer is that these things are a <em>process</em>; not a product.</p>

<p>Yes, you can buy tools which will help <em>improve</em> your security / accessibility / usability etc. But unless you put processes in place to get people to use them effectively, the tools are useless.</p>

<p>People need to understand <em>why</em> something is important. They need processes which <em>support</em> best practices. The business needs a holistic understanding of <em>how</em> these processes improve the business.  And that is all underpinned by tools which make it possible.</p>

<p>There's no magic box which can both protect you from your CEO accidentally CCing confidential data to a competitor <em>and</em> stop DDoS attacks. An accessibility overlay won't help you if your staff refuse to incorporate alt text into their workflow. Automated code testing can't stop you building things without testing them with users.</p>

<p>Security is a <em>verb</em> - it is a <em>doing</em> word.
Accessibility is a <em>verb</em> - it is a <em>doing</em> word.
Usability is a <em>verb</em> - it is a <em>doing</em> word.</p>

<p>Buy nouns which support your verbs.</p>

<iframe title="Massive Attack - Teardrop (Official Video)" width="620" height="465" src="https://www.youtube.com/embed/u7K72X4eo_s?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=49679&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2024/02/its-a-process-not-a-product/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The Digital Covid Test That Nearly Was]]></title>
		<link>https://shkspr.mobi/blog/2023/08/the-digital-covid-test-that-nearly-was/</link>
					<comments>https://shkspr.mobi/blog/2023/08/the-digital-covid-test-that-nearly-was/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 23 Aug 2023 11:34:14 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[covid19]]></category>
		<category><![CDATA[nhsx]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[ux]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=46599</guid>

					<description><![CDATA[These are notes that I wrote during the height of the Covid-19 pandemic. I&#039;ve published them a few years later.  By now, you&#039;re probably sick and tired of shoving a swab up your nose and / or down your throat. You&#039;ve grown blasé about the little medical marvel as it reacts to whatever antibodies are flowing laterally. You don&#039;t even bother reading the paper leaflet any more. Right?  But that swab …]]></description>
										<content:encoded><![CDATA[<p><ins datetime="2020-08-23T20:41:16+00:00">These are notes that I wrote during the height of the Covid-19 pandemic. I've published them a few years later.</ins></p>

<p>By now, you're probably sick and tired of shoving a swab up your nose and / or down your throat. You've grown blasé about the little medical marvel as it reacts to whatever antibodies are flowing laterally. You don't even bother reading the paper leaflet any more. Right?</p>

<p>But that swab test wasn't the only option on the table.</p>

<p>One of the (many) tasks our team was looking into was how to make the experience of taking the test more digital. Instead of black-and-white pamphlet, how about... <del>AN IPHONE APP</del> an interactive website? It could show you videos of exactly what to do! It could have a built in timer to remind you when to check your results! It could have multiple languages - including British Sign Language! AMAZING!</p>

<p>Sure, there would be a cost to producing and updating it - but making it easier for people to take accurate tests could save lives. And that'd be worth it, right?  We wrestled with several different ideas and sketches of prototypes. Testing them to see if they were actually useful. In the main, they weren't.</p>

<p>But this wasn't the only digital process we were considering. One proposed Covid test was digital. I don't mean there was a circuit board examining your results. I mean digital - as in it <em>used your finger</em>.</p>

<p>I placed the tiny needle, safely trapped in a plastic sheath, against my forefinger. "With a quick stabbing motion," read the leaflet, "prick the skin." I did so.  I suppose the best thing I could say about the experience was that it was a different kind of pain to the brain-piercing horror of the nasal swab. <em>*shudders*</em></p>

<p>The leaflet continued, "Milk three drops of blood from your finger."  I had to pause for a moment. "Milking" blood isn't high on my list of super-funtime activities. Nevertheless, I persisted and managed to spill just enough of the red stuff into the provided capsule.</p>

<p>What was the next step? I looked at the leaflet. "PTO"</p>

<p>So I grabbed the leaflet, flipped it over and stared vacantly at the blood-stained mess.</p>

<p>Ah.</p>

<p>There were many reasons - so I am told - why the finger-prick tests weren't widely rolled out. There was significant cost, the risk from sharps was hard to manage, and people simply didn't like cutting themselves to bleed. It didn't matter how much more accurate the test was - if you can't convince people to take it regularly, it isn't worth it.</p>

<p>Also, it was messy.</p>

<p>Would a whizzy digital service to accompany it have helped? Perhaps a video from a friendly face with a reassuring accent to calm your fears? Gently smiling as they sliced into their fingers?  Probably not. People would have just ended up with blood-soaked iPhone screens.</p>

<p>Ew!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=46599&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/08/the-digital-covid-test-that-nearly-was/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How easy should we make it to do things we don't want people to do?]]></title>
		<link>https://shkspr.mobi/blog/2023/06/how-easy-should-it-we-make-it-to-do-things-we-dont-want-people-to-do/</link>
					<comments>https://shkspr.mobi/blog/2023/06/how-easy-should-it-we-make-it-to-do-things-we-dont-want-people-to-do/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 28 Jun 2023 11:34:32 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=41770</guid>

					<description><![CDATA[There was an interesting discussion at UKGovCamp a few months ago.  UKGC is an unofficial yearly gathering of public sector people, who chat informally about thorny issues at work.  Suppose a digital design team has to support a policy which charges people money every time they do a thing. Let&#039;s say driving a car across a bridge.  There&#039;s all sorts of cool tech that you could use in order to make …]]></description>
										<content:encoded><![CDATA[<p>There was an interesting discussion at UKGovCamp a few months ago.  UKGC is an <em>unofficial</em> yearly gathering of public sector people, who chat informally about thorny issues at work.</p>

<p>Suppose a digital design team has to support a policy which charges people money every time they do a thing. Let's say driving a car across a bridge.  There's all sorts of cool tech that you could use in order to make the payment process as simple as possible. Perhaps numberplate recognition tied to a credit card? Or a simple registration process and a push notification? Nice! Do lots of user research and make it as easy as possible. Hurrah!</p>

<p>But…</p>

<p>What if the payment is to <em>discourage</em> use of the bridge. Perhaps the policy owners are worried about damage, pollution, or some other negative thing. Their goal is to reduce usage - by any means necessary.</p>

<p>Does that mean the team should make the process <em>deliberately</em> difficult?</p>

<p>A team might decide that it makes sense to make a service which is hard to use. No mobile-friendly page, a huge form to fill in, unrealistic timeouts, all the things designers usually fight against. Maybe even make the service break every few days?</p>

<p>Rather than using the monetary cost as a disincentive, the service's lack of usability could be the disincentive!!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2022/01/producers.gif" alt="Clip from the movie &quot;The Producers&quot;. Leopold Bloom says &quot;Under the right circumstances, a producer could make more money with a flop than he could with a hit.&quot;" width="590" height="290" class="aligncenter size-full wp-image-41771">

<p>This is, of course, a deliberately silly thought experiment. Generally speaking, Government wants to make it easy for you to give it money. And there are usually easier ways to change behaviours.</p>

<p>The private sector often places these sorts of barriers in place. Phone lines are "experiencing higher levels of calls than usual" and have dozens of impenetrable options because having a human answer your query is expensive. So it's hard to do.</p>

<p>If you've ever seen "this page looks better in the app", that's usually because the app makes more money, or was an executive's pet project. So a business puts up interstitials to prevent users from doing what they (the users) want to do.</p>

<p>Why do budget airlines make it so hard to do anything on their websites? Perhaps because they generate more revenue if people turn up to the airport and have to pay for seats and baggage?</p>

<p>Anyway, the next time you're stuck trying to complete something that should be simple, and are cursing the fools who designed the process, please remember that <a href="https://en.wikipedia.org/wiki/Hanlon%27s_razor">Hanlon's Razor</a> is only a suggestion. Some badly designed processes <em>are</em> malicious.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=41770&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/06/how-easy-should-it-we-make-it-to-do-things-we-dont-want-people-to-do/feed/</wfw:commentRss>
			<slash:comments>2</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[Fonts with threatening auras]]></title>
		<link>https://shkspr.mobi/blog/2023/05/fonts-with-threatening-auras/</link>
					<comments>https://shkspr.mobi/blog/2023/05/fonts-with-threatening-auras/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 18 May 2023 11:34:37 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[font]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=45762</guid>

					<description><![CDATA[I was browsing the web recently when I can across this utter horror show of a font.  Warning, not for the faint of heart.    The thing is, I can&#039;t adequately describe why I - and many others - find it so disturbing.  In all my years of reading English, I&#039;ve never found a font which slants backwards. I&#039;m used to italics so there&#039;s no reason it should seem weird. And yet... it&#039;s like the uncanny…]]></description>
										<content:encoded><![CDATA[<p>I was browsing the web recently when I can across this utter horror show of a font.</p>

<p>Warning, not for the faint of heart.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2023/05/slant-font.png" alt="Screenshot of text where all the characters lean to the left." width="978" height="454" class="aligncenter size-full wp-image-45778">

<p>The thing is, I can't adequately describe why I - <a href="https://mastodon.social/@Edent/110350836225930781">and many others</a> - find it so disturbing.</p>

<p>In all my years of reading English, I've never found a font which slants backwards. I'm used to <em>italics</em> so there's no reason it should seem weird. And yet... it's like the uncanny valley of fonts. Something in my brain just screams "WRONG".</p>

<p>I examined the page to see if it was some kind of fancy CSS transformation. But, no. It appears to belong to a font family called "recline".</p>

<p>Thanks. I hate it.</p>

<p>What's the most unsettling font you've seen in the wild?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=45762&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2023/05/fonts-with-threatening-auras/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[What's the optimal length for a 2FA code?]]></title>
		<link>https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/</link>
					<comments>https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 18 Aug 2022 11:34:12 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[2fa]]></category>
		<category><![CDATA[passwords]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[sms]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=43361</guid>

					<description><![CDATA[The other day, a company sent me a 2FA code which was only four digits long.    I&#039;ll admit, this weirded me out. Surely 4 is just far too short. Right? I think almost every 2FA code I&#039;ve seen has been 6 digits long. Even back in the days of carrying one of those physical RSA fobs, 6 has been the magic number.  But why?  A 2FA code is meant to prevent a specific class of problem. If an attacker…]]></description>
										<content:encoded><![CDATA[<p>The other day, a company sent me a 2FA code which was only <em>four</em> digits long.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2022/08/2FA.png" alt="Screenshot of a text message. It says &quot;Your one time passcode is 1031.&quot;" width="465" height="176" class="aligncenter size-full wp-image-43362">

<p>I'll admit, this weirded me out. <em>Surely</em> 4 is just far too short. Right? I think almost every 2FA code I've seen has been 6 digits long. Even back in the days of carrying one of those physical RSA fobs, 6 has been the magic number.</p>

<p>But why?</p>

<p>A 2FA code is meant to prevent a specific class of problem. If an attacker has got hold of something you are (your username<sup id="fnref:un"><a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#fn:un" class="footnote-ref" title="Traditionally, the something you are is a biometric. However biometrics are static - they never alter. So they're poor for some choices of authentication. A username represents something you are.…" role="doc-noteref">0</a></sup>) and something you know (your password), you are still protected by something you have (your phone).  Whether your second-factor is an app generating unique codes, a SIM card receiving SMS<sup id="fnref:SMS"><a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#fn:SMS" class="footnote-ref" title="Let's gloss over SMS being a bit vulnerable for now." role="doc-noteref">1</a></sup>, or a cryptographic enclave producing signed transactions - it doesn't matter. The attacker can use your password but won't get the unique second code.</p>

<p>Suppose you received a 2FA code that was a <em>single</em> digit. Is that secure enough?</p>

<p>I think most reasonable people would say that wasn't secure. An attacker has a 10% chance of guessing the 2FA. If the system allows for a couple of retries before locking them out, they've got a 30% chance of getting in.</p>

<p>Similarly a 2 or 3 digit code <em>probably</em> doesn't provide sufficient protection.</p>

<p>A typical bank card PIN is 4 digits. So an attacker has a 1 in 10,000 chance of guessing. That might be slightly better as bank PINs usually don't allow repeated digits, palindromes, and a few other combinations.</p>

<p>I suppose that if an attacker had compromised tens of thousands of credentials, and the service allowed for a few incorrect entries, it is statistically likely that they might be able to compromise a few accounts if they were only protected by 4 digits.</p>

<p>As 2FA codes get longer, they begin to <a href="https://en.wikipedia.org/wiki/The_Magical_Number_Seven,_Plus_or_Minus_Two">reach the limits of what humans can remember</a>. Yes, I know <em>you</em> have an excellent memory - but not everyone does. And I know <em>your</em> fancy 2FA app automatically copies and pastes the codes - but not everyone does. We have to work to what the average user is capable of at a minimum.</p>

<p>I think most people would find it annoying - if not impossible - to remember a 10 digit one-time password.</p>

<p>If you're copying a code from your phone to type into your laptop, there's probably an upper limit on what people will be prepared to do. No one is going to manually transcribe 128 digits. And, if they did, they'd likely introduce several errors.</p>

<p>So the industry has seemingly settled on 6 digits.  I've ranted before about the <a href="https://shkspr.mobi/blog/2022/05/why-is-there-no-formal-specification-for-otpauth-urls/">lack of standardisation in the OTP specification</a>. But all of them seem to allow 6 - 8 digits.</p>

<p>I <em>suspect</em> 6 is the standard because that's what the original RSA SecurID tokens used by default.</p>

<p><a href="https://commons.wikimedia.org/wiki/File:RSA_SecurID_Token_Old.jpg#/media/File:RSA_SecurID_Token_Old.jpg"><img class="aligncenter size-full" src="https://upload.wikimedia.org/wikipedia/commons/8/8a/RSA_SecurID_Token_Old.jpg" alt="RSA SecurID Token Old.jpg" width="480"></a></p>

<p>An attacker would have to be <em>incredibly</em> lucky to randomly guess a 6 digit code - literally a one-in-a-million chance<sup id="fnref:pterry"><a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#fn:pterry" class="footnote-ref" title="Although, as per Terry Pratchett: &quot;Million-to-one chances crop up nine times out of ten.&quot;" role="doc-noteref">2</a></sup>. Even if they had multiple retries, it's still statistically unlikely.</p>

<p>Once I logged in using my 4 digit code, I had full access to my account. But if I wanted to make any changes, I had to wait for <em>another</em> 2FA code to be sent. So I guess the effective length of code was actually 8 digits. Which seems excessive 🤣</p>

<h2 id="thoughts-from-the-community"><a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#thoughts-from-the-community">Thoughts from the community</a></h2>

<p>I asked my Twitter buddies for their wisdom:</p>

<blockquote class="social-embed" id="social-embed-1556913475389112321" 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/ealexhudson" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRpIBAABXRUJQVlA4IIYBAADwCQCdASowADAAPrVQnUwnJKKiKrVdUOAWiWYAy17xxLilwRGsKKaBrtSlVqCDDbooT6Ycx6rD1oAGOFHttkSuEU6x1l1cvf9yluJ8OZ2BPON5+/sAX+UAAP736ZOmTSBJrik49a//CtWj4lKt4/fnen6qhFukanSjCWDpZLBKtgGAyXjEf7/YjUr3jHECKLuLpDirjPccuvjmJI3D3T8cOM+DggIN1sbqlgGh3LU03UZ4zJP+LOpQbXmyn/IK/+cFg3jNdY0xssXHx3JCF5/jOuJzw95QUBF9AqO17SPYEBbZQBzCUQwjZM8937rj5CSajmybm02kueMJyEsX9ws3sZ/sefJicrAxMByma5rDrkgz9eDLXNByhpXeGYsxOhXjXX4HLorswgNVBfk6rEAkWijB/QydZ5br0iFG2rz1ASgI6guMgaPutAs02lXf+Tmnj7KvmI3w8n0CODggLAX7ug6VK2kNjDCM2fcpdBKlo67Kk6wlVdrrdBusbiM1ust3E72tAAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Alex Hudson</p>@ealexhudson</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 href="https://twitter.com/edent">@edent</a> Depends on retry/lockout policy? 4 digits is enough for a bank card, but there is a physical token involved there - is the account as valuable as that, though?<br><br>Gut feeling is 6 digits is right for most circumstances though...</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/ealexhudson/status/1556913475389112321"><span aria-label="2 likes" class="social-embed-meta">❤️ 2</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="2022-08-09T08:01:13.000Z" itemprop="datePublished">08:01 - Tue 09 August 2022</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1556914657276952578" 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/mmmmmrob" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRs4CAABXRUJQVlA4IMICAADQDACdASowADAAPrFImEmnJCIhMdzKAOAWCWoAnTNURThI/U/eX5BQB7Q/q3HR2d5oKymaf5W+Y+9emTgSClOfs8J3V311zXI91dxdvWIW6o5zr9y2kZvIyIEEVO7epO3EKz2d1KfKaPH+EMLNekAA/vva3bK12/RxZTnzmDJxI1qul/owczuZtp8UnG0Q5gppfhi8WwV+tgP3t7xwjxJsSRE2QCllVhIF8fKtbJPwn4+bFPLnsF0D/DDYiO023WAAueZlDEN1maitEPc9n4oG3Hy6MOpVPx7V5/LCKp7VQadQX+eEAPOtYqCxztzk9BF+YFiXc7093UpLBvxmtF+kUB2nNlOyGo94lUdFcVYSIA2xKxoKU6sIUQOFOsIAHm3/hpoDMvg1and0ZX/us3yv2wf1QbNVAT578dsaZLakagc9KRk1Tq84GOJHlUugtkQdVA5R6t7ovgySaZAd0lzulQ15J64j6ytZC7UPS9K3U56o6LNyDtYQFyJkcFV2nNfgiIpbKv/zFfxCHCAChLzbLEXJNwFQ871salvh6fQfuevpF43KmcIoOE6vzMjJ6NUnNagFJd/wiBX/dH9m+wbPtU1rzQ/z6v6POBHZ6jYsLvEuzS4NcaW9Ct9JthMiZn//qjb8kq1uPymoKCwshAh8d86CWZ/KtrZ2R3I2qJwjEVk91kd5yeCv/lqFT700s9WNTOEtLLARuQdko8O/FG6ZThgSIIhzmyBMWkaq/IYU0MV3nRS0YClqH448osDpssR2l3z14tG2/Q0DHefq96ijWryG/rc3bh26ElCgLbpQo4htoRSDjeWU0QRrItqBbne3yPp8aTKkEwW4B0recBVbApQxd7o2huUg7xA7epgdv6YnRvlT9lpoDSUTYmIK+93tpF6MkZ2dUtGvNzfQxnFgF5h8iJaZvqDet8KEkRa9AAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Rob Styles</p>@mmmmmrob</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/mmmmmrob/status/1556914260080574464">Replying to @mmmmmrob</a></small><a href="https://twitter.com/edent">@edent</a> 10,000 combinations is plenty to prevent guessing, and making the code longer doesn't add any additional protection if the message/device is compromised.<br><br>Making the code longer makes the usability exponentially worse when the code has to be re-keyed.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/mmmmmrob/status/1556914657276952578"><span aria-label="3 likes" class="social-embed-meta">❤️ 3</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="2022-08-09T08:05:55.000Z" itemprop="datePublished">08:05 - Tue 09 August 2022</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1556914899586097152" 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/artesea" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRu4CAABXRUJQVlA4IOICAADwDQCdASowADAAPqFAnEmmI6MhNVqtUMAUCWYAnTMORghYPKxsFSxtE9LpGXYDqFuFzktyCq7b0wO0RsJmHNeweFafikrmMH599Lox5OunwahAqBdrTgtP8ZBiS9Pm1VAhmoC69YffnE9bQOVxPQHYI0zCag7VdjwA/vitYb/vXsunqlYAIB+EGbWPCsrKIQv2Oc6OyRMQaAN+fqQgzOYVeK1cNEafM4mmRV31SP9D3L+5ZoK3g+LUEn71/jFbR57WoTprC0btsDxhY2jZGYOc6Ndd5e2PgcgJXxvv6Qm8ATMRM01UWDNQj0wfVd5G/9j37U9T6Nz8Oj5jLtY9O/NwhJ8VssvhVuu+va/AhYyCr0g8txxqI0gFm04gGYYykwMZC6HnVlQ6L7xLBfSto/gz19l0LSZUeUJVxKxSUt/pjgiP3T5OTTYeG6vYRtVqXBEW8E3hSnNP6StIX+h9OPdbMysgoOhHSk5JqtrEczqNPCKYm0Hpfqvc6WWgxEdTsC/7ieZ68uaOPx7iYATnb79uzIz2wejk+p68mpCoMyeQ8DIuhWRohbrip0GQjhO6vyLAarzQhDD/zdrTGZCYT6Tb5MDcMGlF2X5ZCX1D7QIQc+yFXgw8k9Xi1CroR6k5CwNQIjvzjVSCM8M6FT7puLCetfKk1waLVqnNVrkoEOLJqyP2DbPR0XHpe1A75W5er0Hg23ry45rpvUxuY8QOM5ZHyigDDS5CRO7fk7nCt7N7GU60ZuvzPaC2ilovOvelei940b62MG0EqT+Qb9EB18w12qvYTQcE7+hDmcge85MXNefa8M/hLtVxwg6YMdpLRQh1uQcNxTUqkuXyjB2mcQTesJRv8CHYwMbQEXe6kINcC0NECTKYmVjHJI/i8MzNMvepRSFxn0lOjTAwPLo3PgGLPlfWPh1jfdUuBNjbvYRLHpqPtvE8nzPtp6ndjSkwCCqIv+njlOa6DhSWkVYbT8lUAAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Ryan Cullen</p>@artesea</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 href="https://twitter.com/edent">@edent</a> Assuming just three retries before the code expires, 3 in 10,000 doesn't sound too bad. Also easy to remember whilst switching between the messaging app/notification shade and the app/website wanting it. I find with 6 I need to go back and forth. Worse with alphanumeric.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/artesea/status/1556914899586097152"><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="2022-08-09T08:06:52.000Z" itemprop="datePublished">08:06 - Tue 09 August 2022</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1556919005125959682" lang="en"><header class="social-embed-header"><a href="https://twitter.com/SecondeJ" class="social-embed-user"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRvIBAABXRUJQVlA4IOYBAABwCgCdASowADAAPrVIn0qnJCKhqrqtUOAWiWkAFHH0ydwtc5xhzmiebv2bnTxlsmFs0NlwWTsjE8aD6wQHa1iSjcFvOtjuOq0NIu1wMYhZTaLOW8z/BFqsc8vPAAD+/lZOcN3OyY3MgxtPdsxxWIATqQiZRRFxLIeWQsUJwEp5iPIAKUEGZAUYrXyEZewSGJluexFf58/IVYpD5e/dww4j2MpqdS6JkEstZHWP9NwC7SSXUw8KwTx3uh++nz+pd60lhPk5TgNBgD63PGm0wu7a5eIWaB2UKfhnx+NgxRHcSR8lCpd4TlY9EaKnzzQt63afSvzTVLlXNSY2VfE5ktHheUw4O/GNhv+IiaCw0TWDNMj77KcaQj7itsbKVlc6QFd9h5hjKfnkRZzuZfaF7m3aZBiXV7/UcggzMw5Y7sziStGlZKCuRAemAN+FwbhjlMnTYkw6YB/RsUriUmfJE2ciRFPPZZWY1S+KTWw+7t+80z/RSAz5jw8l/2fajz8PrbgsYneZulXMfYv220peM+dMpvKiaLc9LNkvT+oFvWqLxPdKBhRTz1Npxwfcc5MwyQHs5Xh1duniwuYFwTFNb/BassAlSAWMhaWTvLBH2QN4HPypvRRFwYgLerSJ94sndoJuGhZY4AA=" alt=""><div class="social-embed-user-names"><p class="social-embed-user-names-name">James Seconde</p>@SecondeJ</div></a><img class="social-embed-logo" alt="" src="data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciCmFyaWEtbGFiZWw9IlR3aXR0ZXIiIHJvbGU9ImltZyIKdmlld0JveD0iMCAwIDUxMiA1MTIiPjxwYXRoCmQ9Im0wIDBINTEyVjUxMkgwIgpmaWxsPSIjZmZmIi8+PHBhdGggZmlsbD0iIzFkOWJmMCIgZD0ibTQ1OCAxNDBxLTIzIDEwLTQ1IDEyIDI1LTE1IDM0LTQzLTI0IDE0LTUwIDE5YTc5IDc5IDAgMDAtMTM1IDcycS0xMDEtNy0xNjMtODNhODAgODAgMCAwMDI0IDEwNnEtMTcgMC0zNi0xMHMtMyA2MiA2NCA3OXEtMTkgNS0zNiAxczE1IDUzIDc0IDU1cS01MCA0MC0xMTcgMzNhMjI0IDIyNCAwIDAwMzQ2LTIwMHEyMy0xNiA0MC00MSIvPjwvc3ZnPg=="></header><section class="social-embed-text"><small class="social-embed-reply"><a href="https://twitter.com/mmmmmrob/status/1556915524352851968">Replying to @mmmmmrob</a></small><a href="https://twitter.com/mmmmmrob">@mmmmmrob</a> <a href="https://twitter.com/edent">@edent</a> For these sorts of reasons, this is why <a href="https://twitter.com/VonageDev">@VonageDev</a> 2FA (Verify) lets you choose between 4 and 6 digits</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://web.archive.org/web/20220809082331/https://twitter.com/SecondeJ/status/1556919005125959682"><time datetime="2022-08-09T08:23:11.000Z">08:23 - Tue 09 August 2022</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1556921468327526400" 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/RhidianB" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRpICAABXRUJQVlA4IIYCAACQDACdASowADAAPrVKn0snJCKhrjQMyOAWiWYArDlBUx5h/gL9zfB8ZoC4ynv7UdyG646dbL3p9j3zKshaYYXvMmz3qpbp+cayyYqgijvxjwdy95U4oNQPOaL6lBYRk9tnYrxhUVc+kFBp1CVAAOP15PA2z2fnN3X4doPJQt+udolFs1RYeQ1yLRD09AEHiRDNTMN7g67XVra7Z+lk7xX6c6lYKt9qAk/4gcE9Cakbhj1v5BlTCG1xE6U0NDtp/lXb/l1LNAoqO3w76iaWVMhQ4qpwsQDQldFjSDKrbqWcxi288o2NjVWoOTUQpZ9nBChqVSTeTQmdBSZOcg77zyGt1fl9NukWNntRETNjc7+Mub2Fe4EM7QhdmjiJ25CD6z+ndjR/SQUWK4wCPmPFNGdtcYoNzLY50xtnVgOVMQ4eh1w97+ekrS5evvyXBtg4e1wC5BykhqqhkkC7mAZWFmw7EukPIOF0by13A72NGv4jlpG9yA+krqgOMsR9UG/6Uv3zanlVfF8SJoP2EjLBcHvrTR1xgWwUTpkjoJVaqIb9OmurIzlqMEIEb9EnCWAexpmxd1MCcterEwhr6qaI1VS/i3stEh7OGFVzEQ9NKsz22P5nNC2D7lsSvppKeoErqW2GhxNh3MD7ZFSUmo7FVDYeI/KDVr9QPqMXbLIJ0FKzPJlbF5zygYidD8W0R2O3S8mehZBrw4VthIgoG2HINujBGqcUxtwtFPCE6qZbJkc3O8aMiaE9N+vShC79lRC8KIPCLFnX6NbD633LrPon00Vh5ujvR5AZongfVgMvaazMMC5jL2kZP+UuEozAwonj8UNX16F7Ja5zSuPQkB6TEEQ+G7ThAAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Rhidian Bramley</p>@RhidianB</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 href="https://twitter.com/edent">@edent</a> Zero digits. More user friendly and secure to send a hyperlink with a single use time limited encryption key. No heed to compromise usability vs security. Win win.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/RhidianB/status/1556921468327526400"><span aria-label="3 likes" class="social-embed-meta">❤️ 3</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="2022-08-09T08:32:58.000Z" itemprop="datePublished">08:32 - Tue 09 August 2022</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1556954933831897088" 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/quis" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRoYBAABXRUJQVlA4IHoBAADQCACdASowADAAPrVSpE4nJCMiJzgJIOAWiWkAEV08/izBiRMEUx29bYtJu4iuIYJDNOD4PcldUHN8sCPbFUBm6pn0grY4vTs4Rke99DHAAP781ihmB/6rrBLC3M/W5paQCHCxK2YR5eb1zKmNlIeaewvvcd53RCtN9SCSWq93KBbWw2EW++UL0QdVCXwnFonqq/k3DT0uWDTlDPtTehdUe5n1wnZNe0k4vI+x3/3WhQ4oC7CyElkIK+icri13wMpAzcnzW4gYn+AqCOslDYPiLI2UkQwg+47t8oY3GTJvbUnfI7Zn+26JHsOJk8UwJ3LGxIElc9zjz73eKJyQRrs3RHnRGjr88p/SpIJDMh8+BNTf0WWg67nuOdwPl27DYG7dUzKpQYK1r+3TKBZe0VJ2vlCzllOlN0mSqIEK734l25srPE/Z0nT0FQ9pCrG5oCYhjpH5RgGAtbILcD+HudXJshNnmygblEhFVYBTgtK9wNmWWZNmseh8AAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Chris Hill-Scott</p>@quis</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 href="https://twitter.com/edent">@edent</a> Design System says 5 digits: <a href="https://design-system.service.gov.uk/patterns/confirm-a-phone-number/">design-system.service.gov.uk/patterns/confi…</a><br><br>On Notify 2% of attempts are miskeyed – people with dyslexia probably disproportionately affected.<br><br>4 would be better – used by Airbnb and Uber – but you need stronger technical measures in place to prevent automated attacks.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/quis/status/1556954933831897088"><span aria-label="2 likes" class="social-embed-meta">❤️ 2</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="2022-08-09T10:45:57.000Z" itemprop="datePublished">10:45 - Tue 09 August 2022</time></a></footer></blockquote>

<p>What do you think?</p>

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

<li id="fn:un">
<p>Traditionally, the something you are is a biometric. However biometrics are static - they <em>never</em> alter. So they're poor for some choices of authentication. A username <em>represents</em> something you are. Everyone can see your username - just like everyone can see the fingerprints you leave on every touchscreen and the DNA you shed all over the place.&nbsp;<a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#fnref:un" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:SMS">
<p>Let's gloss over <a href="https://www.issms2fasecure.com/">SMS being a bit vulnerable</a> for now.&nbsp;<a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#fnref:SMS" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:pterry">
<p>Although, as per Terry Pratchett: <a href="https://en.wikiquote.org/wiki/Equal_Rites">"Million-to-one chances crop up nine times out of ten."</a>&nbsp;<a href="https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/#fnref:pterry" 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=43361&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2022/08/whats-the-optimal-length-for-a-2fa-code/feed/</wfw:commentRss>
			<slash:comments>10</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[That's not how 2FA works]]></title>
		<link>https://shkspr.mobi/blog/2021/01/thats-not-how-2fa-works/</link>
					<comments>https://shkspr.mobi/blog/2021/01/thats-not-how-2fa-works/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 17 Jan 2021 12:40:04 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[2fa]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[yubikey]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=37855</guid>

					<description><![CDATA[Another day, another high-profile website cloned to phish credentials.  Tess Rinearson@_tessrIs this a phishing attempt? Goes to &#34;githubverification.com&#34; and asks for username and pw (if so, it nearly got me!) /cc @github pic.x.com/jgt4oNvjF2❤️ 2,243💬 111🔁 016:12 - Sat 16 January 2021  In the replies, you’ll see lots of techbros saying “this is why you should switch on 2FA people!!!”    Except, an…]]></description>
										<content:encoded><![CDATA[<p>Another day, another high-profile website cloned to phish credentials.</p>

<blockquote class="social-embed" id="social-embed-1350475941026390021" 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/_tessr" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRsgBAABXRUJQVlA4ILwBAADQCgCdASowADAAPrVWn0ynJSKiJzgMkOAWiWwAtwEAOdojz4Dit6weKsrFgBpqLr5lNIAAGZ9qhrkbPuZAMFXr3bCH+SFpcod6cyHonnohjYTLXyf5WAlWh7N0buaoAAD+yteGTe+dVOl6PNPlENif8gRx+k2fibPxNlmeJc+OJz+THX+LCVWY9bJDWVkA28f4/mSbP5nKyDhAYczuKUZLm+yFo7eNTkqiZyoGgAv6az4c6vmQ99UDTSLkSzevfddVQldphLMnB4RFkNunok0lGZehci4WsFhgyCLw2A25Kn5gpsSjyg4IBVMS20XMok/0jfejZlhOPES2jLACnqBqYOzUy+uEAXwCYu+ZJVCCmBqZKzYdkyfBc11J55g0gaTxQEw18edjb5aGAYjraft1GAsdQMtvyqJQ1y/+RhHW9+U5SkJwP/RLe9lYf5f8o6wOgpb+mhXLZIHwm6sK635Jj7ToNsEF+TXdTUP9F0YcqPtUYi2+Rk30qGsHNex2Sa9K4qMgFRzMBnasWeRdfJx/cHa1LfPMWZTKewuDZbTT/bD0Wm19jqgP5ygI6Z4tihSJKr/kd/H+Rm74IAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Tess Rinearson</p>@_tessr</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">Is this a phishing attempt? Goes to "<a href="http://githubverification.com">githubverification.com</a>" and asks for username and pw <br><br>(if so, it nearly got me!) <br><br>/cc <a href="https://twitter.com/github">@github</a> <a href="https://x.com/_tessr/status/1350475941026390021/photo/1">pic.x.com/jgt4oNvjF2</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/Er3aVnqW8AAZhrv.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,UklGRuwgAABXRUJQVlA4IOAgAAAQtgCdASqoAtABPrVaqE+nJSQjIVXJCOAWiWlu7mFQFHRMelhMW86wp46p/+RX7fi5DV5wDznX1P9hP8t6VfED9t4Y+Zj5nKQ8G9SPwPw+/8f+V8V/zT9k9AL8r/r3nCPReXn2/oBe2H4Tv1tR3w97Afj1/uPAw+5/6X2Af6V/ff2l93D/S8eP7T6hn9h/M/tQ+lOG9DANVY6+ZoGXoqCUjvSXiGLPKFwCs8KRZwW+QAGYumYczYKwCZnXenSsiGCW6Swo9HM1g5UihcyVI4ChCc68VBgHqYtd0NM9srmBELDNKO+Zi+mUSVc8sjlA5qfk7BmkEhFfurGEjEZKbsPYesbX0cKavqZ3a6rhpnwzFrtwcNIf0i6MWSFYCVxcg20+CSIxR+FEMEJcUNebOHlFoDF0uFhPPXk3Aepi13Q0z4Y3DM2+ULRsMraF6ltYKAfRW/OQM23OCDO02adH2yYUsFLBSwUsFLBSwUsFK4+wORyN7zdJ2ObhmLXdDTOHMrGZ/sinOX40vQYWl3Q0z4Zi14ZevNd0NM+GYtds6OxDDJp+jGmfDMWu6GmfFyOOXcB6mDvACNbjW2yyNbjW0cu4D1MXG5AbhmLXdZmu6GmfDMWwwJyCuq4obYzXVcNNLHpRKGruhpnwzFxs3DMWu6zXm7uhpnxbs4ygk11XDTPhmqtM+GYthhJfDMWu6KBsV0ez5/LCtNFp+51Onxx0mD/7a2s9xgwFVbwYdM6LrOU6ERDmlb6eeps8Tk1WsAjKi3M5ki60FG/Ely5FiDA34ygXrw0yJM0C1/CTkFdVw2+iMWq4aZ+OHGbTfjrpYm5hDH13m7fXWkPHlE/bdB5SYvlKWTlCjT1frLS9QH7+brDxrfZ+8+pxz2W825TW4U+F+GF2Yv4mMq4LOB1ulSt0Baa1SxR/8QekB6mLXhl6813Q0z8cUIFjlwF85uKUvo6QggIcQNzYZa84V6OCV0lypZ4oUYLDMWu6G30Ri1XDTPxw436dzOE9O7TQojklQS+OSgb/88o+5kSiVkq1kpR7H0Fd0LdkNlBR5G+3IXVcC0ffze0yrO2zAfjKgozI9WVnpYM167T6mLXdDb6Ixarhpn442NoI7i/QhCdFUCq88izm0uurXGYuNm4Zi13Wa83d0NM+Lcv+CFjIfu7fLJVpV4VAg4v4HuDbry6fnhpB2lquGn0Wq4aZ8XI45dwHqY2/6RvwK+qhagTDhVftEtOAuIFNzrxsaV8IqX/y2mHX0S4jxeeQ38NRYODesXRd5y5XH6tu0DBVpnwzFsMJL4Zi13RQMSbr0a2B1eGYasjFsYi4VttdzYpY3mOGRADr9PM1nRSUYltWS1FOTp2gST5DfPmJFqQ7FtY+zzcTnXJqc4j6UkNyDyFcNM+GarR/wD1MWwt7W3y7tjDcd6gAYA7YYrVrdiVYHwt/UmkvgGyvWsoYqExwJe4rIpnnZ4+x9PsVKUGcB1GWq4aZ8XI45dwHqY2/euYpv3K7xftrAjU6ZKpRtQGyxny9YkrHqh4Zi13RQ2xmuq4aaWRe35UIYGnlK15ZHGSvak5Gtd6laSiwKq25YkXFNad15AdCwH56AB325J/6hiHNAuo5WbtGkB6mLXhl6813Q0z8h8DPxhn3RX+K4+/EyxBUtqSGmfDMXG5AbhmLXdZmuIqJ+jARzG+mgPEljKw+FoBjQcH4PAWGYtd0NvojFquGmfkK4cSflxOQWBFMWu6Gn0qNedDTPcEf4RErVTFUxVMVJjhBHNwzFsMJL4Zi13Q1FivPQ3DYmDwCjq2jMZYIao/VJIxQAEDAncMxa7oaZ8MxubsJuGYtd0NM58QkBK61USwFfEPjwVeNYoLDVcNM+GYteGXrzXdDTPhmLSt7o5mDOrPCFtoCqt3pgGQo6hoXfBarhpnwzFxnFsWYqmKpiqYqmKpgxosaLZiqYqmKpiqYqegAAP7/fN9e2ml30+SJniAKU50zgbelUBHOIYprtTAHOT/PPdcW1HlZao8JTj+ZC2f7nEm6BrXyBRwuT1cmf/Z6ANfhFsiT4sv4PYEZgSxkF6CFNMIb3Lar/1UxOwIzxgou/WPQyOPf1KdMS1a3EczOQWf97YJQkvGGinl8qzEuKAUaO5g6gigkTZ8YUSWEPdjgJTWRlDfLkXDchtR8gk9dzL8aBNw+CcyRQ4IlMnOidsR5lSMVOMEMPnayCNe5axpwv61KPBR2riSL3U2mfl0T3ERJHEX4mITSDkZ7PnJUP82wVUohakrpwhr4i6zLSK5JsIx4BZHY5g/ns4Ng/oH0rZtfBxD9hXC+U7FxTlHI/R+qJW9SFXXgJZHxKDzGaSWu9qOn8KR5ySiHvVUkwy8+QWYndu/YOt4/vs1Ch3nVTwweIyuQj1u8acbBxef00ecCZtLpNS8SAzha3u9GT2z38WGuz8yCxAbDyvX7B5vxM8j7R7N7HGt46W8ZtFjlrwobLARnM93MCIkrglpDxE0/OD48Sdusjw023Nc7MZHctpvoz+GBFjd7UXSdM5YmEOJSpttIP8HZSMPmido8NkAlou4t5cQEvN+5gYuXuNDPcgJ0JeSuQfj+4Nm4At6mEHL4bpTkm8portE6+Hx5xGH27Jz5Rkkwg77OQOvlgkfzt6IhHbfNGDHT0n5it9y2GtIBEuXdn7bW3Ct41BNMFFV1U4KVYiWIv0ZX3J1sfJY1fcCAQbm8dbSZeNt1KMPmRTY0yxeN/94KTqKL+OG0IK2y+pwUwadslW5VSwVCbV3/iYdsxT1WcRXhADJkH86HQhqpgagCSl8Nq8mAfAY2UCFKCE2/Rs7VLdHMXwnpXUiYrONZ9sBawHtDN9FbDDgTFTEWasrllhkMppvgVqJpPtXIcIGc4Z0mXBBw+Q58Pqmsmww4QEnEyFSRf+G4rBRplSgCTrOKl8RI3M8kL5vQnfdVMi/y4PSD6ozZ4lSZ9qMqCfqjsjXbEz0pXpSobpbbiY6QGF+cNiagbKfXWYVQr8j2Ipo+Xm1F2lTR1Vzwph0nN26Gy2l6lVmQN05pQ1cWSx1Ba9PP0Ckbp3aU5lJ9hCkPJHKePqw4zDXR7E/CduGdcEfeaJbCaj+OHEUN6ydbrTCllcfkyJ1BRU/fT4c87kFZFoDudR9XvRepZ5dbK/IxbsOdCz1eNDBd8fVLv4a4Mzo/zYZneOUyuWBMvjWftteTc+A5dwPinhK5r0kvebQ5x9ZtnydI89l78rCJ7TmDh8qQLeyiAGRSpFy4x5+Vn6py1kLdRwAQDfjf9XhJXDWv83uzRtiiDp7qX3QKPa+CR4GAQuyT2CKK7f3H0U60yAtz5ihJmSJdR9SXGkMWd4DfHAGK4Ax0ILBCQAMIRZsxy31+NMS+A4F2n320lTM1/hP/eZ/QKFKklT3RmxjAhFfpSFUTnU7JYSAW4RQ3F9iwHBFi3Z4etEYX8biQZHYT8pZKkNQqMcNvOyuK5WKPOM2ebs75RTSRW2F8JitC3zfPSCfYJ+Gbh2I6/hbHV3nPs4xYShAeqJH0XFViKwS0b7GzZZwqZE/UJCOl+/UAAAQgAAWK3MGYa2M2JWjU2VE25xT7KzejHkL19Kz3s7ZRKlHMEFgtCDOzgNs19Knkh+HjBrf8cvdFVpoP6/TSUJa3BghR3UXvSbl2ZSS5lZ4f0289/ZyErXdBri2LCAA/qYBoqMS0enpytgPCLfzuzd2vNx+Frj36PlTZeOcPhz3CvoO9+LJoaD8FN1hfrt+CbAAwvjJWb4la5GMeAirbsxEQAADeq43/Lp+hzYOADkdxFomRxVXt+7oiGMEAG8CQ8EUgiZgAAXGM7S/4UfCvP6jz7AcFb1Favy36o5wKeI0a1XVQOn04l6lsab6PUAB3dkOV2/1SgA2myg7q7ThtJXvCxalC47Xn7XaiO4Oug2DK/SleywR/bwvgzWh0WRlPhcSCGY0H+YrmBKPbWiXuVxF27UccHYK/Mny9ssa5ocSWuwjgE5psiVqvuoeIbUhhzBaTwp93h+MnZFGGefHEN64eZLnuq4FDaHd5EcBs3Nor6ijkemYf+8gCami6wZsdVvcmvJGJdoVvHflkfN/e2XYOKx2EZ1J1NMAbOlAdO4bCexgtmMW19RYnbynhxtd9BukZUor8tkYnY2h/9Ty/XvGZ9Iix5YgzjJt3669sgXM0KNGlMgwOf0KB1OFoKyU/Xml09cnYPlnnV+fRg4tl4XygvN67blnM4ASCV+eEWehOvUC2qkWWRjK94Px4jJnle4C0CSpjXObjyUHZXbWKasLG3JT+hHemNhdKPcoZgm9p0IlPJhBWrs86GfU4AXSM12mHV6quLqNUV5CmFsrTOLVCj+EmqKqeTDHRi6d00l3AIFBuzEeUJj5agpW4iD9hAXRXl4zlVyEQhDYzEuHUJ16M0FcT80dxk2IUeY8JTi8IL1fSpNGCNlJG71F5HnRIR3MeSGvD9K2xtiPcmcWLjCU13hZJVfXFPPRf2Xcrd49nE8Jm/cSfKRNYqkplJlVjCqG91gcHsx6aN6rwWZkf+T4odchtCBNm3kzg4lsfk2npYNU0LWRT9uG1TrHOgoVQHc0Wig0b+jMFqamo6mYlcyrfVjRdlPnldfDPRS6UYD5UsxnSAj6Y1BR4fxpBpMN4jgmNd0qv9ymSiBmQexxt52dkarmpV9AtQYCCQcN1hbUnuQMxNkJ2Ho/kYn9hmCv/F2vpvFZK+6CmW/PofBiF7NOFRDMpdV+szY0DrQ8/KqrSvxQlAYPdcPlidKuE9MdEnWRi1c2Ge5RCFJMmBI/x9t733yeDPFEhn+cbQDGdchLTAvg6+ckTN2fq6ODeq+QC0O+YPt/QjD8oM0uEp9WTyqPdF8tFPkhEWRJpK0FmBQa4jaEex7GafzNG78hpzZk5Gma3ezUdMq2kdcA63wfMcaxAWQMsDzrN6dlaL3fgVU2pbox+UTDsl0urwOh3YRW+eoyp0Lpk9yAAVGW1rqesy9Xh41Is4HA/X4sefOPGHq5vcCh8ExJZPTl6l1yRMhOktbf69go9YaBcGxPeDBF3bUYrkjVkSpjZFnin00soSoSZThmtoByslgifIj5ESTKoEEaNdl12VNkcZUWKDvzyugx5iG4OZbceDvPWnmlxwe0KFC6p0UrQ+h2o3VhyjVMb0PrHqgsQT20gwloJhR40gH2AA1c+TTPG1ALiTwBPii9I0deQ0+4ZmPkTFY+S8gHARWGzbkoL//sth6k+xK49LvzZST8tIeF8fFbcJTEgkDxyUjMcslSyHZ1dJzNV1B/yQrGEaLrAWgQLm/iYeCxxSfkDGogDVyRaqz9khgzda5PSekrkamsghG34E/Gx8+oLexevtgupyvrHALC/lsL3SvIc/C6Q+L9BveqCripP9BlucfHdBiBASFgWNwqlK6mQEh/aG9eyxHoNlB66BlQJuroXnQKiQYZC3ABwrfU6d97PllT1lORJuqJgGLBCaWbqIC6lYIXS7hmMd9wwX8lEzRBrwBfqCNxbsLnt90Gvy+rValBugFomkf3lXCquVsHoU87nYqGeUm2Mh7vAph2T/AGU7L372CYtXMPZQ4o5Xy5xIujCPYPL39Ays3duy2B2CMjGoh2D4uvCUL4aLZIhunySitMtVZowkW4euOeab+CNFhDTxRqLblmvyfFu9RRbMRnQ6hWmdq1sDMf3RQyjeLP55pPExo2ZBXhwReU1Y181hNhSmP7oJ0l7Q6NjGyv7MCRIo+kh/L6U0t0wphmolfTGcmka3KUaHEfHbLfAEcDXQv8JuT3eoOgXPi/de02x8qPkOC/LUkAeenrIJz0lmtEKLCWAgtOqEOs/7uelKgIm7TMo+nYaGGsFed4UNEYQ7xYu2il9bD1rGO1yajVS8zvZdU7Gps9mxLqnSZjBHPi1Beur1Q++Y1zvlmv6oY8/gmmOXURKug0U9/8LA+zJUXLTw1W8DdJHMh0ewZkuyiLnsv6YqljtyTjkgOpb0iQtLq+TDtq0nC/qim9hgrJe8SZ79m2ZovRStb33fSbFRJqKNKACDn87o1uwozMWwSjM1ZcIfd86AGM3bqhrWnVcCox2S8E0O2+g8Wizhu6jbszb8srzRMAkcUtWGdGGRH6tiS7aEoMwMrFhyS2iq3eNKxtgysnWOsK6hiMP2+wVjOmxo7Wjqrx2w0IbxmAgAK0UUh6nuVIlQmb+oVUD5su9cOOhUJ+ulfmHkf+L0X00CwK/LbvxsbRD/YSJu2KD58DfqS4y+BKAO7q4DSNfSBySdIP3tm342rToabxcPVY7QV80NPRE4idcnvM1BjVCmLwWbl/GAdfkq/VmygnNfWff5gxyiR1cRrkKuawAI4VDMDdqKIRKvNWuVwlrwJQIlKdtalTDHoUkJInKt49uWJwYRT1Q3jEMjXArqXLvSF8vLg612EZKE8xVTSO7sEUbh8Krz3+uG+AQFRPjDp2+2kxqoAWsxhooaqT2/b5FMForPG3ypRkstWzy/brpGJrFLjCZ218LLWP33JMjt8w+Y6jR+jCSTZcOoU6qB0CLBWs1BlGq3petexqp/JlQo21cRsZIYCyKD+sxPGL/xeHUVuEkxGWiqahKZgguOOy/06XkSRRMiZW8Lz2H1V2ZQW+MFX9FCTw4JesdQJdKWSrKcQPQ3VKNndrNNwKgmVUOUpc0VacOcXyHbZOpWF7CiMV7bRb16xismKAFnsZHZWHVnQOlR57uzX5F1BndGPPatj99EOHPRh6c68GhjSioAAMLGYlcfnUtXYM87EoaH7eFBYi7b3f4Tev/lCK/tN001lr5Lvn04jgATCi2LhwxUDVo7ktJYKwqgMAOT+imznsyhvPnbsaCiqUA/siRfXy91wmaTTHV1IJlSCCdhtwDmw/cJH2pf1wTvGh7g64mMO1uwxRP+gq/gNNMaZdEo49kBvI1KKG4ddbJPGwb138TeyJYOL88/XRq/0ZDPZi3UVaaGocVuWZEVzIXYXNAef+orzRCL/eMFhBWsEEH4eUCzqR1xeaasDGY9yWsiqWt9ldj80hXeHxCiGZQROQGWJBy1tn1uJKyTemyu5YeHjPig4ESQSBl4DnYeyUlXHyaRaNbNCMZwvlaQ1Wtm30KaMHON/NrZjtILtZhroM8CqwGgI8WZP1itqQgAZ6sTwbBl9/L8po/zj7AkULPl+Hwzvgs/3eVNw/TvInzIcXkIz5iPzY4Bv5nj1P8qeNWYaBwZzpydhHDJtgQdBPb9Jqwu8a4REylLk+JRTr7zHK60KW2N/a7N4eVxujptb1q0hjuDdsFHgQRjthp8Ef0VNn/ATZqSYS8YfS5U9sTBFwcrpvkuXzRilxmsXSNguSgXzSXALvufjIEaxQCtmzJwkhBG2PpQUydR2BEcEnx+1K8KmxT/RxqrVTWEvoFmDxfMftIapL7vGqNRcyRJQFdSXrji5gBybQ5NcHGafmVOOzJQ71e1S8Ih9jguOEBSKlpK9DIShInruP8cuuD3IDWtpCqulg6NGL9uVO+BjZWgbefEsVIAO5ZlJrFQV2Pfj9uzqbmw665YT2u7gFpFbCji6XyeoWTNyk/B/LGy0de5ENwanDtR6mgwHbaXwhAlA1U6mde+Kj+2UiI6oLDDnVNavY7h3pkiqeFjBl/uZ1w/hAFctUYeqkrmdAc7wuh1wxqhJQmMf2prlqPhXDxQKghGEa+hUkSA09JyT11AXnIy/CwABWWdYSfg453m1+CB3ZdFjxvrBdhSahByQ8KHo70erIw0/4MNblWLrdm/MJIDMdDOIujSt3cQzP4CMQfj1Wr2C9ZNrQfEuUv8hiyArI17gsnCgUrywr0G6zhYEmY8UvEQXgELXbRMipZmg/GWZ9GoD7okAWGOtZiUi/z7BveygQCBKy19Xb6Y9J5rtkiNjaE03ZF03oYH9b6sMd/xCg4eIhRjTp+Lhfoxh1r5pTvhQbuWpc1/bOQ6pghfUqmIHVqx9CuwO2oPx/TbFKZjP92uo4cdneYtn06F7x+MoxHC1eSaIFCeb0AbJ0FZroup8/6TtjQugvX11kKgK06hV13EKse4siDdiKNLtwIS4zDtpP5m5NAjUYux1B/+hA7vVVBeuUxDpYUQ8ApfoTkStCc9pl7YqGYA3yig36wrV/5G5LSxeDIiUHqd+lSJcX7iCuQ7zuXdfHzpil2hRjLzVMO3ruB/GouD2HjuKd+VtHrMySjfLiROrVjmFOMY9mM8aoDtDhyN3MM4aFVD4kObL7J47o/fnhJVrF3Pd0x2KIDySXyWR5S8Z1ozCLd+uWDjHiyZY1MXYx/lhmtXxGhZ4Qocdhkvx5gMTyZcxt7xbVqRB3a0CbN7vLYzHZzB9zXXlz4X16AkkPLylTrL5cHoEkAWdR1whg4Csj4N4muH/LrBObSGGwvamCU1GIY2pJN2PAgqW6F8XtJfDplgLN8LUxIUvK7U9AxZEXdMhE4IvDqJ4pNsXiMSgILHlCgGEYp935zVzRJbQdwQizDlW7qDDlQAJpccpyo366hqu8hj6DCWWfs80GjTF5VF+STtIlTXIlUkDLAksOry9ciOQK4t+29MTKLtnN9O0/GdTwUEVS1YJY14HFB4HDnW2q8LKY8Au2P61YMrzqTWj5zMfvZIU5KdwyvxahdDBSSP/QmjuL+kKImFRjud2G0o5zTVtDo5M8qxD6s4xlFntsyrcrLn4rQh+u8GiFsNL63f3eUWmr/oUsRCpl5Gml1TOie5i+dGtLAaR7tyePPD3asJ2eBUeP8q9A7eTi07y7TYeSlVNXuoL6EFaYq/b4Bzg2K1T2i7L9h28dgAk10m4XvmPVN4XrSPpsDEnLveMkAwRJINKP2QgDUoMC3gAAgSUhLhKLW/53qgjN+yNDGv31muO8nHje6DFPPHH+7f0fEQOfQ98COzE1AlKqyImpsHlvpTmgFmJ3HImwxstID/TEbL/zw1H6nSfUUxGw+wHIC+ZzBLKtuz8p+HRvQK/N5Q6BZKRW3rJy2T0os4/D55YVlg6aO/XmGtnNUB7XJ4ANG8+9kkw2CtgbZqauwgeIt79EWCOx+tWaQ3V2Yfhu+UZQjPZgylWHscoCa3Ly8qdjG59uKgOpsKRtAHatmjDGdw2Z03h/ne8EfKGe0PRPtBhO2DXFTlnzETJimmeB1kYvrdLY4/nYpOqgo7aj3tnwF660UPRcWsBMOsCdm9RnttWyxQ8GwQJNmM2OrV6C//JMLrvKaoridnrDQrquoUwESq6RLX563Asktb/rh7EHClz6pJW+Fjloz5VS+cANU3yZedZpeXoc246KhuL/FIxcLjf46sonlxY9eeDTzNcQsL8JPMMLpntTbJWSV1Km5YRNkgQPYhet8UAg/VBgwQ5LFM4lpldIzr9mzMq2ZIn7tNAZtJhNKdbEEFPqZnDop//SzIqdrmh3cqO2GQH3wgReKUV8dfF5kQVcLJ9LYhOOurBwniA7b34ASJM9eA8U4tAf+0b0ndjlxDT4SXQK+XTEBNqtV3xxb/zoNfn3+2jrkEhxDH6BuWfETZXHd1HJAu0MqqzzAzMYCcuJ5VretS8FuB3DiOm8Je0dA8JZZhOvZWdBaVyHeWqOSxXy+4DJfTOJ+RE8nVNzD5dtyyzCh3ccci15W5WeEcf1pV5e9cinriraumVuC50LepUO+nuNjlkOo4Vhpwr7X3J2BrvdaxwcEch7T7epjfYVCOBnVLhgVfC7bPA0etl58S8cHLB1+IeBD7x8BKOAPqTVQjbYIIU5xB1yPu8hq1nuvIJjBoyTjpj4UtzyBtSO3tsMaZLCw0ZUGMCHS0MY7qqVId4AEweSYPOeHKR8MuD5KH3VLIdA0+NQAJuPKuqFoHNIhvBV+x8Y7E5AkvhSpjviShaQWArxn4TMlES+EhUiVZYCRYgGC9WugGmtdbTeZbtbWRqNC+YgBu4TrFJaX2FFpvHq/M5WOqhYMz2j7F/RgsX+Y8J9zIAirQUmJXK/0PzCxhthio0BRZgAGdDhZ4tYaug1HhiBwxcdfpHjF35eJnH8mRjibf3cNJ9f2bXBQBkPZAjW0QugkTIZXzi4Uo8rDRMWBXG9vfWLQ+jslaObKwxI/OuHuKX5RfJIVfCgllRXkqpzqyGCyz3Z/fLbcFW2VWB4wd+p5TnfidYwhF3ExCLbkj97NLcIfRmRaydaxTtmjE6I+G+xeLxWflBYCLXfX8/rd2Yc0Z1Vz05gH1ldeTDUbI9oOWhM8dXlFIPNt3ncfTsairGm1jHT4eEAc+lIU5+c9wrGYADT7fdaAUmloUpnEWJ8t2PagIbAB+Iovvu8ik/zgOxyBJBsAc7WAT7xioYtgECXA2QIPtBAC/hGXaU/AMIr5qjgB9F2XSVDSSLH5fIwgsVGXW6NhoxRRb3TTfGZ5tEXxw7/v+/BTtT3wNhl2dft+jo/CoiF1lr3idYJ8JngQ0IKZLxMZoET7uNmuA1oGpeAnMyVfK2m5FVKZiWVamjGnB50r5+iBGi/RLwnbiJweh9N+uOdstEMDZgv+Xzkcu++9OAAAAI1ZOy3FtFPglR8E+58BglMzMwAJfXW1/49ZdJLp5Bq/mSv2EFlNfr0sNwwWuHSS2nRwhpjskWATU7AAz2A7nR+703lbGdgjkz/Eb8/Kamba1FbYUC1fUTN0lG7dRmrguluMJB9o9Ity1ZlouXi4v5KxCS7EqzxxwjFb6r6APG3ej9nhXxs/HeeVmgAAWHV7EZSlG9nGodxumFHkjARSJCqcUej4y+H7OX0IVHrlvwUEZgNJl6DVe2fJThulwn2v9EBEo7nNApq2xxZqsYoppVuuIgwX5wMPUl3PGI36NaR0AANaoXQnn5iT+Y8ZbnU9mMtfnNeijkGsg6qqX/PHFoZVXoAaGhYGtJCI6mt1Z9oD41VP86+sUOcOI8Oc1xl8x6HKppcKGkzdW6LfnxJu8AHbzFE80diYcJStLvrxqJwusR3e6OeQmVEzM2dVtZx+fMSQ5RPp+9r8eYV4xrsZJZEAUJ5hh3hAQyfeeU3rg2EdBXGut7RAsoV+31hlGhMaND7eszQ88HbiSmpOnr7KTPsIvPE4gZC8NDbwdEAQ33o3wnDo5sTOiaP5aU7svidHU6vz56pcXXqWRV/61Jis5fJm4rTTtg9ZNqbJ3gjW2PBD7ct0/km+D6a+l4b6/qeTQ85fP8brJmSu+kXdQdkM517Vb0Su9oO2EOt2fJmmggodPHTvp33IxBPnZERoo0doK6u68U4D8AAAAAAA"></a><a href="https://pbs.twimg.com/media/Er3aWf-XIAESPsx.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="" src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/_tessr/status/1350475941026390021"><span aria-label="2243 likes" class="social-embed-meta">❤️ 2,243</span><span aria-label="111 replies" class="social-embed-meta">💬 111</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-01-16T16:12:09.000Z" itemprop="datePublished">16:12 - Sat 16 January 2021</time></a></footer></blockquote>

<p>In the replies, you’ll see lots of techbros saying “this is why you should switch on 2FA people!!!”</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/01/2FA-people.png" alt="List of tweeters advocating for 2FA." width="1024" height="306" class="aligncenter size-full wp-image-37862">

<p>Except, and I hate to bring accuracy to a technical discussion, that’s <em>not</em> how 2FA works!</p>

<p>A second factor allows a site to better authenticate <em>you</em>. It does not help you identify the site.</p>

<p>If you log on to fake-bank.com, the scammers will immediately take your username and password and send it to real-bank.com – the fake bank will then ask you for your 2FA token. That could come via SMS, email, an authenticator app, or even post. Then the fake site uses your real token and logs in as you.</p>

<p>Game Over.</p>

<p>There is almost nothing you can do to authenticate that a site is legitimate.</p>

<ul>
<li>Any information that you can request from the real site can be proxied to the fake site.</li>
<li>The green SSL padlock means nothing for validity. Anyone can get one.</li>
<li>The top result on Google is invariably an advert for a scam site.</li>
</ul>

<p>Realistically the only thing you can do is look for “out of band” verification. What’s the URL stamped on your credit card? What’s written on the welcome letter sent by snail mail?</p>

<p>None of these are infallible – and they can all be manipulated by a suitably determined attacker.</p>

<p>The best defence is to use a password manager. I recommend the <a href="https://bitwarden.com/">open source Bit Warden</a>.</p>

<p>A password manager stores your passwords. But it <em>also</em> stores the web address of site’s login page. If you visit githu<em>d</em>, the password manager won’t prompt you to use the login details for githu<em>b</em>.</p>

<p>Defence in depth. Use 2FA to prevent attackers masquerading as you. And use a password manager to prevent fake sites masquerading as real sites.</p>

<h2 id="what-about-yubikeys"><a href="https://shkspr.mobi/blog/2021/01/thats-not-how-2fa-works/#what-about-yubikeys">What About YubiKeys?</a></h2>

<p>No. I'm <a href="https://shkspr.mobi/blog/2017/11/a-grumpy-look-at-using-a-yubico-neo-nfc-on-ubuntu-android/">not a big fan of YubiKeys</a>. In theory, a hardware token can help with this. You register the token with the device and it spits out a code only to the correct site.</p>

<p>But it has significant downsides.</p>

<ul>
<li>Cost. The average YubiKey is £50. There are a few around the £30 price point. That’s a huge expense given the small number of sites that support them.</li>
<li>Usability. Buy a device, register it, install the app, configure it, find the setting in the website, enable it, hope your machine has the right sort of USB ports, press the button at the right time. Take 10 minutes to watch a normal user try to set one up - then tell me if you think this is a good solution.</li>
<li>Convenience. My YubiKey is on my keyring. My keys are in my coat. My laptop is not near my coat. Given how often I need to log into things, it means adopting a significant change of habit. Or leaving my YubiKey plugged in all the time. Which leads to…</li>
<li>Risk. YubiKeys have no password lock of their own. At least my crumby Android has a fingerprint lock to prevent people getting my 2FA tokens. But if you’ve stolen my laptop and the YubiKey is plugged in, then you’ve got the keys to my kingdom.</li>
<li>Support. WebAuthn is a great standard – but only a few sites support it. While it is good at protecting a handful of sites, I encounter it so infrequently that I regularly forget how it works.</li>
</ul>

<p>While a WebAuthn request can't be proxied - there's nothing stopping a fake site from asking for your token, then rejecting it and asking for a separate factor.</p>

<p>If fake-github.com said "Hmmm we're having problems with our WebAuthn backend - please use a one-time code from your authenticator app for added security" would you be fooled?</p>

<p>WebAuthn and hardware tokens are probably the future. And they’re probably the best way we have to verify site legitimacy. But they’re also currently a poorly supported usability disaster.</p>

<p>Stay safe out there.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=37855&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/01/thats-not-how-2fa-works/feed/</wfw:commentRss>
			<slash:comments>23</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA["I could build that in five minutes!"]]></title>
		<link>https://shkspr.mobi/blog/2020/08/i-could-build-that-in-five-minutes/</link>
					<comments>https://shkspr.mobi/blog/2020/08/i-could-build-that-in-five-minutes/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 06 Aug 2020 11:15:07 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=35789</guid>

					<description><![CDATA[It&#039;s rather dispiriting when you launch something, only to have people berate you for not launching sooner.  A few months ago, I was involved in a medical questionnaire launch. Before it was released, I had several people send me polite (and not-so-polite) queries as to why it was taking so long. &#34;I could build that in five minutes!&#34; was the common refrain.  Some people, dissatisfied with our…]]></description>
										<content:encoded><![CDATA[<p>It's rather dispiriting when you launch something, only to have people berate you for not launching sooner.</p>

<p>A few months ago, I was involved in a medical questionnaire launch. Before it was released, I had several people send me polite (and not-so-polite) queries as to why it was taking so long. "I could build that in five minutes!" was the common refrain.</p>

<p>Some people, dissatisfied with our progress, did just that. They quickly built their own questionnaires and opened them to the public. That's the joy of the Web - you don't need to ask anyone's permission to publish.  Some of the questionnaires were pretty good - but many were not.</p>

<p>Here are some of the problems I found with things which people launched in five minutes. This is non-exhaustive, and lightly edited for anonymity.  But they were all genuine problems that were found. The problems broadly fell into two categories:</p>

<h2 id="security"><a href="https://shkspr.mobi/blog/2020/08/i-could-build-that-in-five-minutes/#security">Security</a></h2>

<ul>
<li>Submitted medical data over http.</li>
<li>Allowed anyone to look up a previous submission.</li>
<li>Stored medical data on a shared webhost in the USA.</li>
<li>Any user could edit another user's medical information.</li>
<li>Invasive advertising tracking on the form.</li>
<li>No mechanism to prevent duplicate submissions.</li>
<li>Loaded 3rd party JavaScript without SRI.</li>
<li>Vulnerable to SQL injection.</li>
</ul>

<h2 id="usefulness"><a href="https://shkspr.mobi/blog/2020/08/i-could-build-that-in-five-minutes/#usefulness">Usefulness</a></h2>

<ul>
<li>Asked for information which wasn't medically relevant.</li>
<li>Didn't ask for specific information which was medically useful.</li>
<li>Questions assumed users understood medical terminology.</li>
<li>Used free-text boxes which another form control would be more suitable.</li>
<li>Poor accessibility meant visually impaired users couldn't reliably answer some questions.</li>
</ul>

<h2 id="just-five-minutes"><a href="https://shkspr.mobi/blog/2020/08/i-could-build-that-in-five-minutes/#just-five-minutes">Just Five Minutes</a></h2>

<p>It's <em>really</em> easy to build a form in 5 minutes. What takes the time is <em>doing it right way</em>.</p>

<p>Most of the time, getting the wrong answer quickly is not as useful as getting the right answer slowly.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=35789&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/08/i-could-build-that-in-five-minutes/feed/</wfw:commentRss>
			<slash:comments>11</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Usability of Footnotes]]></title>
		<link>https://shkspr.mobi/blog/2020/07/usability-of-footnotes/</link>
					<comments>https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 27 Jul 2020 11:21:01 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[footnotes]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=36103</guid>

					<description><![CDATA[I&#039;ve been reading lots more non-fiction books than normal. And I&#039;m getting increasingly annoyed about footnotes. Footnotes are a weird skeuomorph hangover from the days of printed text. I don&#039;t think they are really suited to eBooks - but they seem to have come along for the ride into the future.  There are a few things that really annoy me from a usability point of view. Some of these are the…]]></description>
										<content:encoded><![CDATA[<p>I've been reading lots more non-fiction books than normal. And I'm getting increasingly annoyed about footnotes<sup id="fnref:note1"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note1" class="footnote-ref" title="The explanatory notes in a book which typically come at the end of a page. As digital documents don't really have a concept of a page, the &quot;footnotes&quot; are often &quot;endnotes&quot;. That is, they come at the…" role="doc-noteref">0</a></sup>. Footnotes are a weird skeuomorph hangover from the days of printed text. I don't think they are really suited to eBooks - but they seem to have come along for the ride into the future.</p>

<p>There are a few things that <em>really</em> annoy me from a usability point of view. Some of these are the fault of the author, some the publisher, some the eBook format<sup id="fnref:note2"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note2" class="footnote-ref" title="I'll mostly be talking about the ePub standard, but it also goes for other formats." role="doc-noteref">1</a></sup>, and some the reader app.</p>

<p>Firstly, what's the point of a footnote? This is a rough and untested bit of user-storying...</p>

<ul>
<li>As a reader, I want to look up a reference to a quoted work. So that I can see if the author is being accurate.</li>
<li>As a reader, I want to know a little more about the subject being discussed. Because I'm interested in this specific topic</li>
<li>As a reader, I want to understand what a newly introduced term means. So that I can understand the rest of the book.</li>
</ul>

<p>But, there's also another user, who often takes precedence:</p>

<ul>
<li>As an author, I want to show that I have done my research. So that critics can't use that to question my credibility.</li>
<li>As an author, I want to add more details which don't fit in the main body of the text. Because I hate deleting text and my editor told me to take it out.</li>
<li>As an author, I want to add an explanation for some jargon or terminology. So that readers unfamiliar with the subject don't feel excluded.</li>
</ul>

<p>(This isn't a thorough bit of user research. It's just me noodling around. Feel free to add your own, well-researched, stories.)</p>

<h2 id="types-of-footnotes"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#types-of-footnotes">Types of footnotes</a></h2>

<p>In my experience, there are four types of footnote:</p>

<ol>
<li>A citation. Anything from something a bit useless like "(Smith 1984.)" to a fully semantic "<a href="https://galiadigital.co.uk/">Baucherel, Kate</a>, <q><cite><a href="https://amzn.to/2IEWpnC">Blockchain Hurricane</a></cite>.</q> Business Expert Press. <time datetime="2020-03-03">2020</time>".</li>
<li>A long note. A diversion which, while interesting, is not relevant to the main argument. Think of it a bit like a Director's Commentary on a  <abbr title="Digital Video Disc">DVD</abbr>.</li>
<li>A short note. Usually an explanation of an TLA<sup id="fnref:note3"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note3" class="footnote-ref" title="A three-letter acronym (TLA), or three-letter abbreviation, is an abbreviation consisting of three letters." role="doc-noteref">2</a></sup> or technical term.</li>
<li>A comedy footnote<sup id="fnref:note4"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note4" class="footnote-ref" title="The late, great author Terry Pratchett popularised the meme of extensive and tangential footnotes. Often with their own sub-footnotes." role="doc-noteref">3</a></sup>.</li>
</ol>

<p>Here's my problem / User Need - <em>how does a user know which type of footnote they are encountering?</em></p>

<h2 id="in-the-wild"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#in-the-wild">In the wild</a></h2>

<p>Let's take an example. I'm currently reading <a href="https://amzn.to/2OVEYSW">"Race After Technology" by Ruha Benjamin"</a>. It's an excellent book. But I am unsure <em>how</em> I am supposed to read it<sup id="fnref:note7"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note7" class="footnote-ref" title="I'm quite serious here. I don't read many &quot;academic&quot; books and I'm unsure of what my journey is meant to be like. Does the author expect me to follow every note? Or wait until the end of the chapter?…" role="doc-noteref">4</a></sup>. (This criticism applies to most books I've read, but this is what I'm currently reading.)</p>

<p>In this example, I click on <sup><code>13</code></sup> and my ebook reader - <a href="https://koreader.rocks/">KOReader</a> displays a little pop-up at the bottom of the screen.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/07/Small-citation.png" alt="A small citation at the bottom of the screen." width="360" height="360" class="aligncenter size-full wp-image-36107"></p>

<p><em>Before</em> I tap the link - I've <em>no</em> idea what's behind it. And, that's assuming that I know that reference numbers are tappable, and that the tap-target is large enough that I don't accidentally interact with the book in some other way.</p>

<p>Here's another, from the same page:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/07/Larger-note.png" alt="Four lines of explanation at the bottom of the screen." width="360" height="360" class="aligncenter size-full wp-image-36108">
Here the author provides a citation <em>and</em> some explanatory text. How does an author decide what goes in the body and what goes in the notes? How does the user know whether the footnote is a citation or is explanatory?</p>

<p>Finally, again from the same page, there's this:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/07/A-very-long-footnote.png" alt="A very long footnote." width="360" height="360" class="aligncenter size-full wp-image-36109">
This footnote is so long that the UI pop-up isn't big enough to contain it and displays a scrollbar.</p>

<p>Again, this isn't a criticism of this specific author. This happens on lots of books. The publishing industry seems to have a complete disregard for the user's need.</p>

<p>How do users read? Do they want to click on every footnote link they encounter? Do they expect to read them at the end? Does having a mixture of notes and citations confuse them?</p>

<h2 id="specification"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#specification">Specification</a></h2>

<p>The <a href="http://kb.daisy.org/publishing/docs/html/notes.html">ePub specification talks about how to handle footnotes</a>. One of the great things about ePub is that it is <a href="https://www.w3.org/publishing/epub32/epub-spec.html">based on HTML5</a>. The footnote markup is pretty simple:</p>

<pre><code class="language-html">&lt;p&gt;
   In that year&lt;a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#ft2f" role="doc-noteref" epub:type="noteref"&gt;2&lt;/a&gt; there were 67 mills engaged in the manufacture of cotton goods …
&lt;/p&gt;

&lt;aside id="ft2f" role="doc-footnote" epub:type="footnote"&gt;
   &lt;p&gt;
     2 The manufacturing statistics for 1900 which follow are not those given in the Twelfth Census, but are taken from the &lt;em&gt;Census of Manufactures&lt;/em&gt; …
   &lt;/p&gt;
&lt;/aside&gt;
</code></pre>

<p>Most eBook publishers also include a back-link, so that users can easily return to the main text.</p>

<p>The specification doesn't say whether citations should be displayed differently to footnotes.</p>

<p>I guess it would be easy to add <code>class="citation"</code> and have the CSS <code>.citation::before {content="cite ";}</code></p>

<p>That would allow users to differentiate between <sup>cite 2</sup> and <sup>note 2</sup>.</p>

<h2 id="usability"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#usability">Usability</a></h2>

<p>There are some "technical" usability issues here.  How the user interacts with links, whether the note appears as a pop-up or inline, and the process of returning to the main text.</p>

<p>But I want to talk about the cognitive issues at play. When footnotes can contain anything from a citation to essential background information, the user is forced to break from the flow<sup id="fnref:note8"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note8" class="footnote-ref" title="In psychology, flow is the mental state in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity.…" role="doc-noteref">5</a></sup> of reading - often in the middle of a sentence.  This is a problem in both paper books and electronic books.</p>

<p>I'm still stuck on the user needs. It seems to me that <em>most</em> footnotes are for the author's benefit. If the text is that important, it should be in the main body. If it isn't, leave it out.</p>

<p>Abbreviations can be dealt with inline using the <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/abbr"><code>&lt;abbr&gt;</code> element</a>. You should be able to to tap on the <abbr title="Three Letter Abbreviation">TLA</abbr> to get the definition.</p>

<p>As for citations? Isn't that what HTML links are for? Just link directly to the document in question as part of the running text.</p>

<p>Would it make life easier for reader to include a fully semantic citation inline? Take this scrap of imaginary text:</p>

<blockquote><p>There are many websites about Shakespeare. As is discussed in <span itemscope="" itemtype="http://schema.org/ScholarlyArticle"><span itemprop="citation"><span itemprop="author" itemscope="" itemtype="http://schema.org/Person"><span itemprop="name"><span itemprop="givenName">Eric M.</span> <span itemprop="familyName">Johnson</span>'s </span></span> <q><a itemprop="url" href="https://doi.org/10.1007/978-3-319-61015-3_10"><cite itemprop="headline">Opening Shakespeare from the Margins</cite></a></q> (<time itemprop="datePublished" datetime="2017">2017</time>), <span style="display:none;"> <span itemprop="pagination">187-205</span> <span itemprop="publisher" itemscope="" itemtype="http://schema.org/Organization"><span itemprop="name">Springer International Publishing</span></span> <span itemprop="publication">The Shakespeare User</span></span> </span></span> the use of open source software has seen...</p></blockquote>

<p>Which can be represented by the HTML code:</p>

<pre><code class="language-html">&lt;span itemscope itemtype="http://schema.org/ScholarlyArticle"&gt;
   &lt;span itemprop="citation"&gt;
      &lt;span itemprop="author" itemscope itemtype="http://schema.org/Person"&gt;
         &lt;span itemprop="name"&gt;
            &lt;span itemprop="familyName"&gt;Johnson&lt;/span&gt;, 
            &lt;span itemprop="givenName"&gt;Eric M.&lt;/span&gt;
         &lt;/span&gt;
      &lt;/span&gt; 
      &lt;q&gt;
         &lt;a itemprop="url" href="https://doi.org/10.1007/978-3-319-61015-3_10"&gt;
            &lt;cite itemprop="headline"&gt;Opening Shakespeare from the Margins&lt;/cite&gt;
         &lt;/a&gt;
      &lt;/q&gt; 
      (&lt;time itemprop="datePublished" datetime="2017"&gt;2017&lt;/time&gt;)  
      page: &lt;span itemprop="pagination"&gt;187-205&lt;/span&gt;. 
      &lt;span itemprop="publisher" itemscope itemtype="http://schema.org/Organization"&gt;
         &lt;span itemprop="name"&gt;Springer International Publishing&lt;/span&gt;
      &lt;/span&gt;. 
      &lt;span itemprop="publication"&gt;The Shakespeare User&lt;/span&gt;.
   &lt;/span&gt;
&lt;/span&gt;
</code></pre>

<p>CSS could be used to show / hide various parts of the citation until interacted with. A reader familiar with hypertext should know that visiting a link will take them to an external site. No need for footnotes at all!</p>

<p>Obviously, I haven't done any proper usability studies. Nor have I spoken to any users other than myself.</p>

<p>But surely we need a better way of making footnotes and citations better for readers?</p>

<h2 id="whats-next"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#whats-next">What's next</a></h2>

<p>There have been many attempts to get a <code>&lt;footnote&gt;</code> element into HTML. I think there's some value in adding semantic information to a document. But I <em>probably</em> think that the <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/aside"><code>&lt;aside&gt;</code> element</a> and <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/cite"><code>&lt;cite&gt;</code> element</a> are good enough.</p>

<p>Perhaps the <a href="https://www.w3.org/publishing/">W3C Publishing Group</a> needs to fund some user research to see if ePub notes and citations work well for most users.</p>

<p>Perhaps authors need to realise that linear text is a relic of paper-based publishing and that hypertext affords new ways for a reader to journey through a text.</p>

<p>Or, perhaps, I need to learn how to read without getting distracted.</p>

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

<li id="fn:note1">
<p>The explanatory notes in a book which typically come at the end of a page. As digital documents don't really have a concept of a page, the "footnotes" are often "endnotes". That is, they come at the end of a chapter or document. I will be using the colloquial term "footnote" to refer to footnotes, endnotes, and citations.&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note1" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:note2">
<p>I'll mostly be talking about the <a href="https://www.w3.org/publishing/epub3/epub-spec.html">ePub standard</a>, but it also goes for other formats.&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note2" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:note3">
<p>A three-letter acronym (TLA), or three-letter abbreviation, is an abbreviation consisting of three letters.&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note3" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:note4">
<p>The late, great author Terry Pratchett popularised the meme<sup id="fnref:note5"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note5" class="footnote-ref" title="Dawkins, Richard (1989), The Selfish Gene (2 ed.), Oxford University Press, p. 192, ISBN 978-0-19-286092-7" role="doc-noteref">6</a></sup> of extensive and tangential footnotes. Often with their own sub-footnotes<sup id="fnref:note6"><a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fn:note6" class="footnote-ref" title="Not to be confused with &quot;Super-Footnotes&quot; which were a short-lived Superhero group in the &quot;Action World&quot; comics of 1985. The Super-Footnotes had the power of citation which they used to undermine…" role="doc-noteref">7</a></sup>.&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note4" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:note7">
<p>I'm quite serious here. I don't read many "academic" books and I'm unsure of what my journey is <em>meant</em> to be like. Does the author expect me to follow every note? Or wait until the end of the chapter? Or something else?&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note7" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:note8">
<p>In psychology, flow is the mental state in which a person performing an activity is fully immersed in a feeling of energized focus, full involvement, and enjoyment in the process of the activity. Named by <span><cite>Mihaly Csikszentmihályi  in <a href="https://books.google.com/books?id=V9KrQgAACAAJ"><i>Flow: The Psychology of Optimal Experience</i> (1990)</a>. ISBN 978-0-06-016253-5.</cite>&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note8" class="footnote-backref" role="doc-backlink">↩︎</a></span></p>
</li>

<li id="fn:note5">
<p>Dawkins, Richard (1989), The Selfish Gene (2 ed.), Oxford University Press, p. 192, ISBN 978-0-19-286092-7&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note5" class="footnote-backref" role="doc-backlink">↩︎</a></p>
</li>

<li id="fn:note6">
<p>Not to be confused with "Super-Footnotes" which were a short-lived Superhero group in the "Action World" comics of 1985. The Super-Footnotes had the power of citation which they used to undermine dodgy claims by politicians. They appeared in 3 issues of the comic before disappearing. Their author, Alan Moore, has repeatedly claimed they're his favourite heroes and has lobbied extensively for a Hollywood movie to be made of their adventures.&nbsp;<a href="https://shkspr.mobi/blog/2020/07/usability-of-footnotes/#fnref:note6" 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=36103&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/07/usability-of-footnotes/feed/</wfw:commentRss>
			<slash:comments>24</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Whose bug is it anyway?]]></title>
		<link>https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/</link>
					<comments>https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 23 Jul 2020 11:46:47 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[bug]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=36025</guid>

					<description><![CDATA[I found a curious little bug and I&#039;m interested in who you think should take responsibility for it.  My mobile network provider sent me this message:   I clicked on the link, and got this error message from their website:   The error is caused by the trailing full-stop.   Remove the full-stop and the page loads.  There are four potential culprits here...  Virgin Media&#039;s Web Team  Should their…]]></description>
										<content:encoded><![CDATA[<p>I found a curious little bug and I'm interested in who <em>you</em> think should take responsibility for it.</p>

<p>My mobile network provider sent me this message:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/07/Imagepipe_6.jpg" alt="A text message. There is a URL which is linked." width="1024" height="552" class="aligncenter size-full wp-image-36027"></p>

<p>I clicked on the link, and got this error message from their website:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/07/Imagepipe_4.jpg" alt="A 404 error message on a website." width="1024" height="680" class="aligncenter size-full wp-image-36029"></p>

<p>The error is caused by the trailing full-stop.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/07/Imagepipe_5.jpg" alt="A URL in a web browser." width="1024" height="178" class="aligncenter size-full wp-image-36028"></p>

<p>Remove the full-stop and the page loads.</p>

<p>There are four potential culprits here...</p>

<h2 id="virgin-medias-web-team"><a href="https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/#virgin-medias-web-team">Virgin Media's Web Team</a></h2>

<p>Should their website handle stray punctuation at the end of a URl?</p>

<p>Most webservers can be configured to take users to the page the server <em>thinks</em> they intended to go.  This is mostly useful behaviour, but occasionally falls foul of the common <a href="http://www.catb.org/~esr/jargon/html/D/DWIM.html">DWIM (Do What I Mean)</a> problems.</p>

<p>Even if the web team don't redirect, they should notice the elevated number of 404 errors and investigate the cause of it.</p>

<h2 id="whisper-systems-signal-app"><a href="https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/#whisper-systems-signal-app">Whisper Systems' Signal App</a></h2>

<p>My SMS app should parse URls without trailing punctuation.  It is rare that a URl will deliberately end with a punctuation mark.  This <a href="https://github.com/signalapp/Signal-Android/issues/9449">issue has been raised with the team before</a>.</p>

<p>Apparently, according to the developers, this is <a href="https://github.com/signalapp/Signal-Android/issues/9122">a problem with Android's native library</a></p>

<h2 id="androids-url-parsing-library"><a href="https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/#androids-url-parsing-library">Android's URl Parsing Library</a></h2>

<p>The same question as above. <a href="https://developer.android.com/reference/android/util/Patterns#WEB_URL">Android has a built in Web URl regular expression</a>. There are <a href="https://issuetracker.google.com/issues/67159235">reports that it is inconsistent in the way it parses URls</a>.</p>

<p>A URl which ends with a full-stop is valid. There is a semantic difference between <code>/page</code> and <code>/page.</code> or <code>/?id=a</code> and <code>/?id=a.</code></p>

<p>But the RFC doesn't take into account how humans actually communicate.</p>

<p>If I send a message saying "visit example.com/go, then example.com/next!" do I <em>really</em> mean for the <code>,</code> and <code>!</code> to be part of the path?</p>

<p>I can't find any evidence of Google testing this feature with users, nor a test suite to show people what URls are and are not matched.</p>

<p>It appears that the library only includes the punctuation if it is the last character in a string.</p>

<h2 id="virgin-medias-marketing-team"><a href="https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/#virgin-medias-marketing-team">Virgin Media's Marketing Team</a></h2>

<p>These are who I think the real villains.  Software has bugs.  Part of any communications strategy is to test your messages to see whether they work. Not just as calls-to-action, but whether they <em>actually</em> work.</p>

<p>In this case, Virgin should have tested their message on a range of handsets and popular SMS apps.  If they had tested the end-to-end journey on Android, this wouldn't have happened.</p>

<h2 id="what-next"><a href="https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/#what-next">What next</a></h2>

<p>There's no point me asking Virgin to fix this. They have dreadful customer service and seem content to have a crappy user experience.</p>

<p>It's not Signal's fault that Android's parsing is buggy. Both Signal and Telegram greedily gobble up the <code>.</code> and treat it as part of the link. Interestingly, WhatsApp doesn't. I assume WhatsApp uses its own library.</p>

<p>So, <a href="https://issuetracker.google.com/issues/161727315">I've raise a bug with Android</a> where - no doubt - it will languish untouched for the next hundred years.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=36025&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/07/whose-bug-is-it-anyway/feed/</wfw:commentRss>
			<slash:comments>15</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Wanted - audio output based on screen output for Linux]]></title>
		<link>https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/</link>
					<comments>https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 15 Jun 2020 11:51:10 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[audio]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=35268</guid>

					<description><![CDATA[I think what I&#039;m asking for is impossible...  I have a Linux laptop with built in speakers and an external monitor with speakers. The laptop connects to the screen via HDMI.  I have my Linux desktop set up for dual screens.  If I drag a window from one screen to the other, I want the sound to follow the window.  Is this possible?  A bit more detail  When I have YouTube running on my monitor, I…]]></description>
										<content:encoded><![CDATA[<p>I think what I'm asking for is impossible...</p>

<p>I have a <a href="https://shkspr.mobi/blog/2020/05/review-clevo-n151cu-lafite-iv-system76-darter-pro-entroware-proteus/">Linux laptop</a> with built in speakers and an <a href="https://shkspr.mobi/blog/2020/04/review-iiyama-prolite-b2482hs-b1-24-vertical-monitor/">external monitor</a> with speakers. The laptop connects to the screen via HDMI.  I have my Linux desktop set up for dual screens.</p>

<p>If I drag a window from one screen to the other, I want the sound to follow the window.</p>

<p>Is this possible?</p>

<h2 id="a-bit-more-detail"><a href="https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/#a-bit-more-detail">A bit more detail</a></h2>

<p>When I have YouTube running on my monitor, I want the sound to come from the monitor.</p>

<p>When I have a video conference running on my laptop screen, I want the sound to come from the laptop's speakers.</p>

<p>POP!_OS running Wayland gives me the option to set the default audio output.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/06/Screenshot-from-2020-06-04-15-13-44.png" alt="OS displaying a long list of options." width="632" height="584" class="aligncenter size-full wp-image-35272">

<p>Some apps - mostly video conference apps - let me select the audio output of that app. So I can set the output to my headphones or screen or laptop or Bluetooth speakers or the misconfigured Smart TV next door.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/06/Screenshot-from-2020-06-04-17-15-21.png" alt="Microsoft Teams lets me choose headset or built in audio device." width="572" height="201" class="aligncenter size-full wp-image-35270">

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/06/Screenshot-from-2020-06-04-15-15-17.png" alt="Google Meet lets me choose default, HDMI, or headphones." width="821" height="361" class="aligncenter size-full wp-image-35271">

<h2 id="is-this-actually-what-i-want"><a href="https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/#is-this-actually-what-i-want">Is this <em>actually</em> what I want?</a></h2>

<p>My laptop usually has a wired headset and a Bluetooth headset connected - along with the built in speakers.  What I <em>really</em> want is for my webcam to notice what headset I'm wearing and route audio to that. If I'm not wearing headphones, notice which screen I'm looking at and route audio that way.  Except when I'm playing music on one screen and working on a document on a different screen.</p>

<p>Butler.  I want a human butler to surreptitiously readjust the sound output based on my subconscious whims.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=35268&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/06/wanted-audio-output-based-on-screen-output-for-linux/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Dark Mode and Transparent Images]]></title>
		<link>https://shkspr.mobi/blog/2020/05/dark-mode-and-transparent-images/</link>
					<comments>https://shkspr.mobi/blog/2020/05/dark-mode-and-transparent-images/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 22 May 2020 11:30:57 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[a11y]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=35026</guid>

					<description><![CDATA[Dark Mode is the new cool. Apps which automatically switch to an eye-friendly palette when lighting conditions are poor. Nifty!  Most of the time, it&#039;s as simple as making the text a lightish colour, and the background a darkish colour. But all that fails when you use transparencies in images.  Here&#039;s a quick example. Using the GitHub app in dark mode, I visited a repo which used a transparent…]]></description>
										<content:encoded><![CDATA[<p>Dark Mode is the new cool. Apps which automatically switch to an eye-friendly palette when lighting conditions are poor. Nifty!</p>

<p>Most of the time, it's as simple as making the text a lightish colour, and the background a darkish colour. But all that fails when you use transparencies in images.</p>

<p>Here's a quick example. Using the GitHub app in dark mode, I visited a repo which used a transparent image as an illustration:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/05/Hard-to-read-image.png" alt="A Hhrd to read image. The text is black, but so is most of the background. Bits have a white background." width="665" height="582" class="aligncenter size-full wp-image-35028">

<p>Yikes! I can't read most of that text, even if I whack up the brightness on my screen.</p>

<p>Here's what the image looks like in an editor:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/05/Checkerboard-image.png" alt="Larger view of the image. Bits of the background are transparent." width="1387" height="798" class="aligncenter size-full wp-image-35029">

<p>As you can see, the majority of the background is transparent - indicated by the <a href="https://twitter.com/edent/status/1259494619483643906">traditional checkerboard pattern</a> - with occasional blocks having a background colour.</p>

<p>Background transparency is be great if you can <em>guarantee</em> the background colour! But the web is wonderful; browsers are intended to be the user's agents. This means you can substitute the page's design with your own. Change fonts, make things easier to read, flip colours, whatever you want.</p>

<p>To account for dark mode - or any user changed interface - you have two main options:</p>

<ol>
<li>Remove transparencies</li>
<li>Stroke outline</li>
</ol>

<p>The first is obvious - just put in a background colour. The second is a little harder to explain.</p>

<p>Text can have a colour - <code>fill:#000</code> paints the text black.
Text can also have an <em>outline</em> - known as a stroke. <code>stroke: #fff; stroke-width:2px;</code> paints a 2 pixel white border around the text.</p>

<p>Here's an example SVG (I've mocked up the transparent background):</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/05/Text%20effects.svg" alt="" width="768" class="aligncenter size-full wp-image-35029">

<p>My suggestion is - put a high-contrast stroke around any object where you expect the background colour to be shown through a transparency.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=35026&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/05/dark-mode-and-transparent-images/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Google Chat Nearly Got Me Fired]]></title>
		<link>https://shkspr.mobi/blog/2020/04/google-chat-nearly-got-me-fired/</link>
					<comments>https://shkspr.mobi/blog/2020/04/google-chat-nearly-got-me-fired/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Wed, 29 Apr 2020 11:16:31 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=34827</guid>

					<description><![CDATA[My colleague was understandably ticked off with me. A week previously, they&#039;d asked me to get something fairly urgent done. I hadn&#039;t done it - and all hell was breaking loose.  I wasn&#039;t being truculent or disobedient. I simply hadn&#039;t seen their message. And it was all Google&#039;s fault.  At work, we use Google&#039;s G-Suite. It&#039;s a brilliant set of email and document tools.  It also contains two…]]></description>
										<content:encoded><![CDATA[<p>My colleague was understandably ticked off with me. A week previously, they'd asked me to get something fairly urgent done. I hadn't done it - and all hell was breaking loose.</p>

<p>I wasn't being truculent or disobedient. I simply hadn't seen their message. And it was <em>all Google's fault</em>.</p>

<p>At work, we use Google's G-Suite. It's a brilliant set of email and document tools.  It also contains two <em>incompatible</em> messaging apps.</p>

<p>When I started using it - the chat product was "Hangouts". At some point, Google released "Chat" - their latest product - and encouraged users to upgrade. So I did.</p>

<p>But Chat and Hangouts are built by two different team who - I can only assume - hate each other only slightly more than they hate their users.</p>

<p>If Alice is on Hangouts and sends a message to Bob on Chat - Bob receives the message.</p>

<p>Similarly, Bob on Chat can message Alice on Hangouts. Hurrah for interoperability!</p>

<p>But this lulls users into a false sense of security!</p>

<p>If Alice on Hangouts sends a message to Bob <strong>and</strong> Carol in a group, problems occur. Users on Chat won't see group messages from Hangouts.</p>

<p>Similarly, Hangouts users won't see group messages from Chat.</p>

<p>OK. So perhaps the answer is to use both Chat and Hangout simultaneously?  Well, that's a recipe for disaster because each app sends its own notification <em>for the same message</em>.</p>

<p>So you end up with multiple notifications for the same message across different apps.</p>

<p>Unbelievably, this is by design!</p>

<blockquote><p>Group conversations in classic Hangouts or Chat can't be viewed or replied to in the other service. Group messages are not compatible between the two services.</p>

<p>We recommend recreating any group conversations users want to continue in Chat.</p>

<p><a href="https://support.google.com/chat/answer/7651799?hl=en">Chat and classic Hangouts interoperability</a></p></blockquote>

<p>I can't understand the sheer contempt for your users which would lead to this situation.</p>

<p>Don't worry - there is a solution!  It's easy.  Just convince every single person in your organisation to switch! And then to change their app! And uninstall the old one! And then disable the <del>chat</del> Hangouts from the browser! And learn an entirely new UI! And lose all of your old conversations! And lose the ability to chat with external users.</p>

<p>Simple!!!!!!! ARHGGHGHGHGHGHGH!</p>

<p>Google initially said they'd force everyone off Hangouts in 2019. They didn't do that. They've now said <a href="https://support.google.com/a/answer/9197126?hl=en&amp;ref_topic=9197125">All remaining classic Hangouts G Suite users will be moved to Chat in "late 2020"</a>.</p>

<p>I smoothed things over with my colleague. We realised that we'd each missed messages from each other - and that cancelled out any ill-will.</p>

<p>We both agreed that Google is a bit shit and that in the future we'd send any important messages over Slack.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=34827&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/04/google-chat-nearly-got-me-fired/feed/</wfw:commentRss>
			<slash:comments>6</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[How not to use the label element]]></title>
		<link>https://shkspr.mobi/blog/2020/04/how-not-to-use-the-label-element/</link>
					<comments>https://shkspr.mobi/blog/2020/04/how-not-to-use-the-label-element/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 25 Apr 2020 11:48:46 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=34799</guid>

					<description><![CDATA[HTML is magic. It comes with all sorts of great usability and accessibility features. But people often ignore them or misuse them.  Take a look at these checkboxen:   If you click on this label, nothing happens.   If you click on this label, the checkbox will toggle  This is important. Tapping on tiny squares is hard for lots of people. Whether they have visual impairments, motor issues, or just…]]></description>
										<content:encoded><![CDATA[<p>HTML is magic. It comes with all sorts of great usability and accessibility features. But people often ignore them or misuse them.</p>

<p>Take a look at these checkboxen:</p>

<p><input type="checkbox" id="c0"> If you click on this label, nothing happens.</p>

<p><input type="checkbox" id="c1"><label for="c1"> If you click on this label, the checkbox will toggle</label></p>

<p>This is important. Tapping on tiny squares is hard for lots of people. Whether they have visual impairments, motor issues, or just a dirty touchscreen. You should give your user the biggest possible target area to interact with an element.</p>

<p>How is this possilbe?  Here's the code for the second checkbox.</p>

<pre><code class="language-html">&lt;input type="checkbox" id="c1"/&gt;
&lt;label for="c1"&gt; If you click on this label, the checkbox will toggle&lt;/label&gt;
</code></pre>

<p>The text is wrapped in the <code>&lt;label&gt;</code> element, which is linked to the <code>&lt;input&gt;</code>'s <code>id</code> attribute via the <code>for</code> attribute.</p>

<p>The reason I bring this up, is because recently I had to sign up to the <a href="https://miro.com">Miro website</a>. I tried to click to agree to their terms and conditions, but I couldn't click the text.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/04/Hard-to-click-checkbox.png" alt="Hard to click checkbox." width="391" height="216" class="aligncenter size-full wp-image-34809"></p>

<p>Let's take a look at the code behind it:
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/04/HTML-Source-Code.png" alt="HTML Source Code." width="668" height="468" class="aligncenter size-full wp-image-34808">
The <code>&lt;input&gt;</code> element has the CSS property set to <code>display: none;</code>. It is invisible to the user.</p>

<p>The <code>&lt;label&gt;</code> is an SVG image.  The text is not part of the label and thus is not clickable.</p>

<p>I have <em>no</em> idea why they've done this.</p>

<p>You can <a href="https://codepen.io/bbodine1/pen/novBm">use CSS to make ridiculously beautiful input elements</a>. But Miro's replacement for a dull square is... a slightly different dull square!</p>

<p>Default: <input type="checkbox" id="c2" checked="true">
Miro: <svg class="mr-checkbox-1__icon" xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24"><path fill="currentColor" fill-rule="nonzero" d="M8.278 11.222l-.062.062a1 1 0 0 0 .009 1.423L11 15.414l5-5A1 1 0 0 0 14.586 9L11 12.586l-1.293-1.349a1 1 0 0 0-1.43-.015z"></path></svg></p>

<p>Even if that square is a vital part of their brand guidelines, it would have been simple to put the text inside the <code>&lt;label&gt;</code>.</p>

<p>Designers and developers - please take a moment to make sure your labels are fully clickable. Thanks!</p>

<blockquote class="social-embed" id="social-embed-1253384033603432450" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-1253278875272056836" 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">Hey <a href="https://twitter.com/MiroHQ">@MiroHQ</a>!<br>That's not how you use the label element. I should be able to click on the text to toggle the checkbox. <a href="https://x.com/edent/status/1253278875272056836/photo/1">pic.x.com/HPQFSycltw</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/EWRwwSqXYAYle_C.jpg" class="social-embed-media-link"><img class="social-embed-media" alt="HTML source code. " src="data:image/webp;base64,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"></a></div></section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/1253278875272056836"><span aria-label="5 likes" class="social-embed-meta">❤️ 5</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="2020-04-23T11:05:43.000Z" itemprop="datePublished">11:05 - Thu 23 April 2020</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/MiroHQ" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRhACAABXRUJQVlA4IAQCAABQCgCdASowADAAPrVQn0unJKKhqqlY4BaJbAC364nIR6ryJXCNLbAr6Xxv+ZoLSz6H+humkA4bZvB0jlqtpoylruHyYAZPJHwKngR313KAEs4FV7ilyCfBM0AAAP77KG/8N/gUMsZkp4kV5yeP2bOE/wfGs3oh180UTP//d5v9vOsv7nzuX1l/rT/mIy//qowoBUWw/5AscZA7JSR6P758+q+VK8AK+FJn4x/XJ7XT+0r1Db6MVLmfwVoG/IJig/uEDTbwrrCzIMH5AmtEAueCADuGNZQUWbhmWjc1N4o2CFMCktwD//L6Zqtg5+Xmasv54tPh+gAq12UMWpTAopfpUugtjh3/opqbu1fpHAcJoBkNQRvaDu1+l4Fg0PWqVQvzLgffHiM7L9AMF31Shj0Pv6N2AJJkTjWlFls99HNzOyU8BGa6zd12wkp0D1UiQ3rPf1XFTGLMXwufru8r1br2YVrxdjA0VsmLc3CotmhEIegrPL/eJBy2mek212VujM9mQqS3dDV0BKoMb3KB41DtE7AI0+g/bFD0INVpZrdywMkkb9SXw65xSwWDIy8/1BsImD+bmIMQeE2AmFUN8nxlc5LfKQQPZfQg/KPq4jb1HvQPlFdWUQcGjjHzHWXW9rQkaoAsZezuaXfp1164H5CEa+0kzPq+Sl9iLHGH2051qzpF8AA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Miro</p>@MiroHQ</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 href="https://twitter.com/edent">@edent</a> Noted! Passed along to the team. Thanks for surfacing.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/MiroHQ/status/1253384033603432450"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</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="2020-04-23T18:03:35.000Z" itemprop="datePublished">18:03 - Thu 23 April 2020</time></a></footer></blockquote>

<hr>

<h2 id="theories"><a href="https://shkspr.mobi/blog/2020/04/how-not-to-use-the-label-element/#theories">Theories</a></h2>

<p>Why do this?</p>

<blockquote class="social-embed" id="social-embed-1254016018743164929" lang="en" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-1254015506538954757" 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/MattBluefoot" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRvACAABXRUJQVlA4IOQCAADwDQCdASowADAAPrFInUmnJCKhMdZsAOAWCWQAqScmBTFWAtwCRYH11/WvAesLCBOAji9x8q7bzxni/KRj1YWdTE1EgSM5fwIacbcqjLcLZ8bgZrJKiQ1aydjeahvfyttoNqq3/P7hDMEYGZBTnwZ31bHkat3Z4gAA/cy7XM6/fxChwQvAPKK2jfWZxQTxYKIvnO2xbXfPVN580zx30/L6+KnmSXENwUj7k/TZfORBHAlEFvDP3uN2/deeL1K7Gx54fb+SoOol4TDkmsZ59081WaDpD8T/RwFiL/hD8pw1IqViicEicj5mnDdO2g2+BkrLbEi1VUdPZrs1fzB0fsDe562KnnYQhckYyL/NfALI4LhXNqJRVvICEeiefKm0pcnUH0c9Socoag0xQ59mO05X7KClzUlp9kxP2RjE9bmpyir+hQI7tWoVGiYXljSE+kXaqaej/vBzQ8qhGX9Y5XX/LYGcktlOyAqD2lX6Gx1CNyeMY39XzX0WoJwauD7t2IM0zjEdJTRK/QeZqXtOMpChreT0yd+wJTgH9oGqhPcU7uZ9VjGFnzo37ukx6gCUFTSIAiRhIE8Iq5ShC+Hu1gP2wecvxKNayaUZc9T3lzmoHBTG9y8c7KQpRJ4dPQPPTBhYiWyes2NzL8Xd1OJfz5STAdrcHwwCyCdP7GA1KBdL859bGiyvvRGuUyfKI/AEIq6JBhVdSsQP/kCNxrrNT7hijsGHXL/CsoI6otW3vxqygakbE5/cfb1e+O3WB0CORhNjvtGpUyFsbmqYerjyHa8viw4TxV1Liz16/TUGRy8fTw67bbGebsdIClZtrifGuRTSyDlfZPq5KTY0sVYtbkoMtQR+pWMbosdxr0zDPe0ber62d5U8AV7beSzvqlWA0o8p56AcUxpAsJtuN5+b7jZWnx2mksouxX2NDlxZIFJnSs0OuZ41nPPpCy8aut7cmGdGk+qvlxugbO+Zy7tFkUcTHAAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Matt Bluefoot</p>@MattBluefoot</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 href="https://twitter.com/edent">@edent</a> ... I mean... it is still WRONG, obvs. Just trying to work out how they arrived at that mess.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/MattBluefoot/status/1254015506538954757"><span aria-label="0 likes" class="social-embed-meta">❤️ 0</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="2020-04-25T11:52:49.000Z" itemprop="datePublished">11:52 - Sat 25 April 2020</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/MattBluefoot" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRvACAABXRUJQVlA4IOQCAADwDQCdASowADAAPrFInUmnJCKhMdZsAOAWCWQAqScmBTFWAtwCRYH11/WvAesLCBOAji9x8q7bzxni/KRj1YWdTE1EgSM5fwIacbcqjLcLZ8bgZrJKiQ1aydjeahvfyttoNqq3/P7hDMEYGZBTnwZ31bHkat3Z4gAA/cy7XM6/fxChwQvAPKK2jfWZxQTxYKIvnO2xbXfPVN580zx30/L6+KnmSXENwUj7k/TZfORBHAlEFvDP3uN2/deeL1K7Gx54fb+SoOol4TDkmsZ59081WaDpD8T/RwFiL/hD8pw1IqViicEicj5mnDdO2g2+BkrLbEi1VUdPZrs1fzB0fsDe562KnnYQhckYyL/NfALI4LhXNqJRVvICEeiefKm0pcnUH0c9Socoag0xQ59mO05X7KClzUlp9kxP2RjE9bmpyir+hQI7tWoVGiYXljSE+kXaqaej/vBzQ8qhGX9Y5XX/LYGcktlOyAqD2lX6Gx1CNyeMY39XzX0WoJwauD7t2IM0zjEdJTRK/QeZqXtOMpChreT0yd+wJTgH9oGqhPcU7uZ9VjGFnzo37ukx6gCUFTSIAiRhIE8Iq5ShC+Hu1gP2wecvxKNayaUZc9T3lzmoHBTG9y8c7KQpRJ4dPQPPTBhYiWyes2NzL8Xd1OJfz5STAdrcHwwCyCdP7GA1KBdL859bGiyvvRGuUyfKI/AEIq6JBhVdSsQP/kCNxrrNT7hijsGHXL/CsoI6otW3vxqygakbE5/cfb1e+O3WB0CORhNjvtGpUyFsbmqYerjyHa8viw4TxV1Liz16/TUGRy8fTw67bbGebsdIClZtrifGuRTSyDlfZPq5KTY0sVYtbkoMtQR+pWMbosdxr0zDPe0ber62d5U8AV7beSzvqlWA0o8p56AcUxpAsJtuN5+b7jZWnx2mksouxX2NDlxZIFJnSs0OuZ41nPPpCy8aut7cmGdGk+qvlxugbO+Zy7tFkUcTHAAAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Matt Bluefoot</p>@MattBluefoot</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 href="https://twitter.com/edent">@edent</a> Oh... you know what? If occurs to me that clicking on the “Terms” link inside a label which also wraps a checkbox might result in the checkbox being checked through event bubbling, even though the user only clicked there to read the terms, not accept them.</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/MattBluefoot/status/1254016018743164929"><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="2020-04-25T11:54:52.000Z" itemprop="datePublished">11:54 - Sat 25 April 2020</time></a></footer></blockquote>

<p>Nope!
<input type="checkbox" id="c3"><label for="c3"> If you <a href="https://shkspr.mobi/" target="_blank" rel="noopener noreferrer">click this link</a>, the checkbox will <em>not</em> toggle</label></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=34799&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/04/how-not-to-use-the-label-element/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Accessibility of macOS - large cursor hides tooltips]]></title>
		<link>https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/</link>
					<comments>https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 23 Apr 2020 11:07:57 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[a11y]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=34771</guid>

					<description><![CDATA[Apple&#039;s attitude to usability is... complex. The general attitude of &#34;you&#039;re holding it wrong&#34; seems to be prevalent across all their products.  I like having a large mouse cursor. I find it easier to see on my large monitor, especially when sat at a safe distance.  But, if I use a large cursor - I can&#039;t see the tool-tips underneath it.  Annoyingly, Apple don&#039;t include the larger cursor sizes…]]></description>
										<content:encoded><![CDATA[<p>Apple's attitude to usability is... complex. The general attitude of "<a href="https://knowyourmeme.com/memes/events/iphone-4-death-grip">you're holding it wrong</a>" seems to be prevalent across all their products.</p>

<p>I like having a large mouse cursor. I find it easier to see on <a href="https://shkspr.mobi/blog/2020/04/review-iiyama-prolite-b2482hs-b1-24-vertical-monitor/">my large monitor</a>, especially when sat at a safe distance.  But, if I use a large cursor - I can't see the tool-tips underneath it.</p>

<p>Annoyingly, Apple don't include the larger cursor sizes when taking a screenshot. So you get the joy of me pointing a camera at my screen like some kind of troglodyte sharing memes on your neighbourhood's Facebook group.</p>

<h2 id="broken-behaviour"><a href="https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/#broken-behaviour">Broken Behaviour</a></h2>

<p>What does this tool-tip say?</p>

<p><img src="https://shkspr.mobi/blog/wp-content/uploads/2020/04/Cursor-obscuring-tool-tip.jpg" alt="Cursor obscuring tool tip." width="512" height="208" class="aligncenter size-full wp-image-34774">
That's from "Finder" the default Mac file system app.</p>

<h2 id="expected-behaviour"><a href="https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/#expected-behaviour">Expected Behaviour</a></h2>

<p>With the "normal" size icon, I can see what the text says.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/04/Tool-Tip-visible.jpg" alt="Tool Tip visible." width="512" height="208" class="aligncenter size-full wp-image-34773"></p>

<h2 id="usability-pervasiveness"><a href="https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/#usability-pervasiveness">Usability pervasiveness</a></h2>

<p>OK, it's impossible to test <em>every</em> combination that a user might choose. But it really feels like bits of MacOS are hostile to accessibility changes.</p>

<p>It is impossible to change the system font size. That top menu is fixed at a tiny size. If you want a more readable font - tough.</p>

<p>Apple knows best.</p>

<h2 id="tool-tip-size"><a href="https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/#tool-tip-size">Tool tip size</a></h2>

<p>You <em>can</em> increase the font size of tool-tips with <a href="https://web.archive.org/web/20200513075433/http://hints.macworld.com/article.php?story=20061107125819464">this obscure command-line incantation</a>:</p>

<pre><code class="language-_">defaults write -g NSToolTipsFontSize -int 20
</code></pre>

<p>Restart the app and you'll get a larger font!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2020/04/Large-text-obscured-by-large-cursor.jpg" alt="Large text obscured by large cursor." width="512" height="208" class="aligncenter size-full wp-image-34791">

<p>Which is still obscured by the cursor.</p>

<h2 id="report-this-bug"><a href="https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/#report-this-bug">Report this bug</a></h2>

<p><a href="https://discussions.apple.com/thread/2554173?page=2">Apple have known about this bug for at least 10 years</a>.</p>

<p>Apple knows best.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=34771&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2020/04/accessibility-of-macos-large-cursor-hides-tooltips/feed/</wfw:commentRss>
			<slash:comments>3</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[Book Review: Mismatch by Kat Holmes ★★★★⯪]]></title>
		<link>https://shkspr.mobi/blog/2019/12/book-review-mismatch-by-kat-holmes/</link>
					<comments>https://shkspr.mobi/blog/2019/12/book-review-mismatch-by-kat-holmes/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 26 Dec 2019 10:46:58 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[Book Review]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=33453</guid>

					<description><![CDATA[In Mismatch, Kat Holmes describes how design can lead to exclusion, and how design can also remedy exclusion. Inclusive design methods—designing objects with rather than for excluded users—can create elegant solutions that work well and benefit all. Holmes tells stories of pioneers of inclusive design, many of whom were drawn to work on inclusion because of their own experiences of exclusion.  P…]]></description>
										<content:encoded><![CDATA[<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/12/Book-Cover-of-Mismatch.jpg" alt="Book Cover of Mismatch." width="300" class="alignleft size-full wp-image-33451">

<blockquote><p>In Mismatch, Kat Holmes describes how design can lead to exclusion, and how design can also remedy exclusion. Inclusive design methods—designing objects with rather than for excluded users—can create elegant solutions that work well and benefit all. Holmes tells stories of pioneers of inclusive design, many of whom were drawn to work on inclusion because of their own experiences of exclusion.</p></blockquote>

<p>Part manifesto, part manual. This is an excellent overview of inclusion and design. More than just about usability, it goes to the psychological heart of why we get upset when we can't use things.</p>

<p>It's a little short, and  doesn't go into a huge amount of technical detail. But it more than makes up for it in sheer quality of advice.</p>

<p>One to read whether you're designing apps or policy.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=33453&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/12/book-review-mismatch-by-kat-holmes/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The Usability of Unboxing]]></title>
		<link>https://shkspr.mobi/blog/2019/08/the-usability-of-unboxing/</link>
					<comments>https://shkspr.mobi/blog/2019/08/the-usability-of-unboxing/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 20 Aug 2019 11:14:13 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[femtocell]]></category>
		<category><![CDATA[hardware]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[three]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=32600</guid>

					<description><![CDATA[I review a lot of tech kit. It is amazing just how bad the consumer experience is when you have a brand-new box in your hands. It can be as simple as difficult to open packaging, to the existential horror of a poorly translated manual.  The first time a customer holds your product in their hands should be a moment of joy. Something to reinforce the notion that they have been wise with their…]]></description>
										<content:encoded><![CDATA[<p>I review a lot of tech kit. It is <em>amazing</em> just how bad the consumer experience is when you have a brand-new box in your hands. It can be as simple as difficult to open packaging, to the existential horror of a poorly translated manual.</p>

<p>The first time a customer holds your product in their hands should be a moment of joy. Something to reinforce the notion that they have been wise with their investment.</p>

<p>I'm going to walk through an example of a poor unboxing usability, in the hope that it will show you what <em>not</em> to do.</p>

<p>This is the <a href="https://web.archive.org/web/20190715200126/http://www.three.co.uk/Support/Devices/Phones/Home/Signal_Black">Three Home Signal Box</a> - it is a femtocell to improve reception at home.</p>

<p>It arrived in a fairly anonymous postal sack, and has an easy to open box.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Home-Signal-Box.jpg" alt="Home Signal Box." width="1177" height="677" class="aligncenter size-full wp-image-32601"></p>

<p>Knowing that the audience aren't likely to be technical, it comes with some reassuring messages on it. Good!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Easy-to-use-and-ready-to-install.jpg" alt="Easy to use and ready to install." width="924" height="567" class="aligncenter size-full wp-image-32602"></p>

<p>This is, of course, a lie.</p>

<p>The instruction card is a little boring, but does the job.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Instruction-card.jpg" alt="Instruction card." width="822" height="463" class="aligncenter size-full wp-image-32603"></p>

<p>Just plug in the cables! Easy. There's even a picture guide.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Getting-Started-guide.jpg" alt="Getting Started guide." width="1116" height="802" class="aligncenter size-full wp-image-32605">
So, I followed the instructions, plugged in the cables, but nothing worked.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Warning-sticker.jpg" alt="&quot;This Home Signal box can only be used at your registered address." width="665" height="633" class="aligncenter size-full wp-image-32606"></p>

<p>I checked the packaging. There was a warning sticker on there - obviously added after the box was printed. Revisions to packaging in response to customer feedback is sometimes necessary. A slightly ugly hack, but better than nothing.</p>

<p>I checked the flashing lights on the unit. Then re-read the instructions. The <em>very last</em> troubleshooting tip is check that the SIM card is inserted.</p>

<p>What SIM card? This was all that was in the box.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Cables-in-the-box.jpg" alt="Cables in the box. An ethernet and power plug." width="1280" height="960" class="aligncenter size-full wp-image-32607">

<p>I retrieving the postal sack from the bin.  This is what I found inside:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/SIM-Cards.jpg" alt="A pair of SIM cards." width="1170" height="656" class="aligncenter size-full wp-image-32608">

<p>I've no idea why there's a spare PAYG SIM there - or how many people get confused and put the wrong SIM in. But I do know that this is a <em>crappy</em> way to bundle necessary equipment.</p>

<p>Ideally, this is what Three should do:</p>

<ol>
<li>Pre-install the SIM.</li>
<li>If they can't, put the SIM in the same box as the device.</li>
<li>Make sure the instructions tell people to plug in the SIM before they attach the cables.</li>
<li>Stick some instructions on the back of the box, perhaps.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Cable-ports.jpg" alt="Some anonymous ports on the back of a black plastic device." width="1280" height="820" class="aligncenter size-full wp-image-32609"></li>
</ol>

<p>To be fair, once I'd found the SIM, it did tell me what to do with it.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/08/Smart-Card-back.jpg" alt="Instructions telling people to use this card." width="1084" height="903" class="aligncenter size-full wp-image-32610">
Well, I say that. It didn't tell me that I had snap the SIM from the holder.  But the instructions on the card's packaging say "For more instructions, see the getting started guide." The same guide that doesn't mention you need to install the SIM!</p>

<p>There is, of course, <a href="https://web.archive.org/web/20191210120338/http://support.three.co.uk/SRVS/CGI-BIN/WEBISAPI.dll/,/?New,Kb=Mobile,Ts=Mobile,T=Device,varset_pid=7648,varset_cid=7649,Case=EXT(EM99445)">nothing on the Three website</a> relating to this problem.</p>

<p>Usability testing isn't finished until the user has the product in their hands and have successfully set it up.  I've no idea how may dejected customer service agents are giving an exasperated sigh of "and have you put the little green card in the box?"</p>

<p>Make it easy. Make it right.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=32600&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/08/the-usability-of-unboxing/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Falsehoods programmers believe about flags]]></title>
		<link>https://shkspr.mobi/blog/2019/06/falsehoods-programmers-believe-about-flags/</link>
					<comments>https://shkspr.mobi/blog/2019/06/falsehoods-programmers-believe-about-flags/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 01 Jun 2019 11:04:50 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[falsehoods]]></category>
		<category><![CDATA[flags]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[usability]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=32239</guid>

					<description><![CDATA[(For more about the &#34;Falsehoods&#34; meme - read the big list of falsehoods programmers believe.)  Do You Want To Phone A Friend?  A popular website asked me to confirm my phone number.  It &#34;helpfully&#34; pre-filled the country-code with +1.  And proudly displayed the Stars and Stripes.    Except, of course, the USA isn&#039;t the only country to use +1 - our friends in the Great White North also use +1.   …]]></description>
										<content:encoded><![CDATA[<p>(For more about the "Falsehoods" meme - read the <a href="https://github.com/kdeldycke/awesome-falsehood">big list of falsehoods programmers believe</a>.)</p>

<h2 id="do-you-want-to-phone-a-friend"><a href="https://shkspr.mobi/blog/2019/06/falsehoods-programmers-believe-about-flags/#do-you-want-to-phone-a-friend">Do You Want To Phone A Friend?</a></h2>

<p>A popular website asked me to confirm my phone number.  It "helpfully" pre-filled the country-code with <code>+1</code>.  And proudly displayed the Stars and Stripes.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/05/USA-Flag.png" alt="A dropdown box showing the flag of the USA next to a plus 1." width="683" height="285" class="aligncenter size-full wp-image-32241">

<p>Except, of course, the USA isn't the only country to use <code>+1</code> - our friends in the Great White North also use <code>+1</code>.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2019/05/Canada-Flag.png" alt="A dropdown box showing the flag of Canada next to a plus 1." width="683" height="285" class="aligncenter size-full wp-image-32240">

<p>Thanks to the <a href="https://en.wikipedia.org/wiki/North_American_Numbering_Plan">North American Numbering Plan</a>, a full 25 countries or territories use <code>+1</code>.  From  Anguilla 🇦🇮 to Turks and Caicos Islands 🇹🇨.  OK… their flags look pretty similar! But they're obviously different from 🇺🇸!</p>

<p>Canada 🇨🇦 and Jamaica 🇯🇲 have very different flags - and climates - but they both use <code>+1</code>.</p>

<p>I <em>suspect</em> that the website designers were expecting people to look at the flag and realise that it didn't represent their home country, and then change it.  However, for the majority of <code>+1</code> countries which aren't part of the United States, it looks a little crass.</p>

<p>My home country, the United Kingdom 🇬🇧, uses the <code>+44</code> code. As do Guernsey 🇬🇬, Jersey 🇯🇪, and the Isle of Man 🇮🇲.</p>

<p>The UK is comprised of Scotland 🏴󠁧󠁢󠁳󠁣󠁴󠁿, England 🏴󠁧󠁢󠁥󠁮󠁧󠁿, Wales 🏴󠁧󠁢󠁷󠁬󠁳󠁿, and N.I. (with a more <a href="https://en.wikipedia.org/wiki/Flag_of_Northern_Ireland">complicated flag status</a>!)</p>

<p>People can have a complicated relationship with flags. Your glorious banner of home might be my symbol of a conquering despot.</p>

<p>Flags change. <a href="https://en.wikipedia.org/wiki/Flag_of_Afghanistan#Historical_flags">Afghanistan's</a> flag has changed 4 times since the year 2000.</p>

<p>Some <a href="https://commons.wikimedia.org/wiki/Flags_of_unrecognized_states">flags are not recognised</a> by other countries.</p>

<p>Flags represent countries, states, territories, and pirate ships 🏴‍☠️ - but they do not represent international dialling codes!</p>

<h2 id="lingua-franca"><a href="https://shkspr.mobi/blog/2019/06/falsehoods-programmers-believe-about-flags/#lingua-franca">Lingua Franca</a></h2>

<p>Lots of countries speak English. But the majority of them don't have 🇬🇧 as their flag.</p>

<p>Indeed, lots of people in the UK don't speak English. So using a 🇬🇧 to indicate language choice may be confusing.</p>

<p>If you are in South Africa, there are <a href="https://southcoastherald.co.za/242725/what-are-the-11-official-languages-of-south-africa-how-many-do-you-know-2/">11 official languages</a>. Does 🇿🇦 represent Xhosa, Zulu, Afrikaans, English…?</p>

<p>Flags are for golf courses ⛳, motor-sports 🏁, and for Pride 🏳️‍🌈 - not for representing languages.</p>

<h2 id="do-you-have-a-flag"><a href="https://shkspr.mobi/blog/2019/06/falsehoods-programmers-believe-about-flags/#do-you-have-a-flag">Do You Have A Flag</a></h2>

<p>I'm pretty sure the law requires me to share this video…</p>

<iframe title="Eddie Izzard &quot;Do You Have a Flag?&quot; Sketch From &quot;Dress to Kill&quot;" width="620" height="465" src="https://www.youtube.com/embed/_9W1zTEuKLY?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=32239&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2019/06/falsehoods-programmers-believe-about-flags/feed/</wfw:commentRss>
			<slash:comments>3</slash:comments>
		
		
			</item>
	</channel>
</rss>
