<?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>browser &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/tag/browser/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Wed, 17 Sep 2025 07:38:55 +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>browser &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Change how fast your cursor blinks in Firefox]]></title>
		<link>https://shkspr.mobi/blog/2021/10/change-how-fast-your-cursor-blinks-in-firefox/</link>
					<comments>https://shkspr.mobi/blog/2021/10/change-how-fast-your-cursor-blinks-in-firefox/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 02 Oct 2021 11:34:45 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[HowTo]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=40494</guid>

					<description><![CDATA[(Mostly written to prevent me forgetting)  In about:config add this setting ui.caretBlinkTime of type integer. Then set the number to how many milliseconds between blinks.    250 is very quick, 500 is about normal. I tend to go for about 400. Set it to 0 if you don&#039;t want it to blink at all.  Click the ✅ button and your caret blink speed will immediately change.  You can see more configuration o…]]></description>
										<content:encoded><![CDATA[<p>(Mostly written to prevent me forgetting)</p>

<p>In <a href="about:config"><code>about:config</code></a> add this setting <code>ui.caretBlinkTime</code> of type <code>integer</code>. Then set the number to how many milliseconds between blinks.</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/09/dontblink.png" alt="" width="895" height="143" class="aligncenter size-full wp-image-40496">

<p><code>250</code> is very quick, <code>500</code> is about normal. I tend to go for about <code>400</code>. Set it to <code>0</code> if you don't want it to blink at all.  Click the ✅ button and your caret blink speed will immediately change.</p>

<p>You can see more configuration options <a href="https://searchfox.org/mozilla-release/source/widget/LookAndFeel.h#48">in the source code</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=40494&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/10/change-how-fast-your-cursor-blinks-in-firefox/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Should browsers remember 2FA codes?]]></title>
		<link>https://shkspr.mobi/blog/2021/08/should-browsers-remember-2fa-codes/</link>
					<comments>https://shkspr.mobi/blog/2021/08/should-browsers-remember-2fa-codes/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sat, 14 Aug 2021 11:50:46 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[2fa]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[security]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=39881</guid>

					<description><![CDATA[In HTML, the autocomplete attribute is pretty handy.  The HTML autocomplete attribute is available on &#60;input&#62; elements that take a text or numeric value as input, &#60;textarea&#62; elements, &#60;select&#62; elements, and &#60;form&#62; elements. autocomplete lets web developers specify what if any permission the user agent has to provide automated assistance in filling out form field values, as well as guidance to the …]]></description>
										<content:encoded><![CDATA[<p>In HTML, the <code>autocomplete</code> attribute is pretty handy.</p>

<blockquote><p>The HTML <code>autocomplete</code> attribute is available on <code>&lt;input&gt;</code> elements that take a text or numeric value as input, <code>&lt;textarea&gt;</code> elements, <code>&lt;select&gt;</code> elements, and <code>&lt;form&gt;</code> elements. <code>autocomplete</code> lets web developers specify what if any permission the user agent has to provide automated assistance in filling out form field values, as well as guidance to the browser as to the type of information expected in the field.
<a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete"></a><a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete">https://developer.mozilla.org/en-US/docs/Web/HTML/Attributes/autocomplete</a></p></blockquote>

<p>In plain English - your browser remembers your email address and presents it in a drop-down box when you try to log in to a service.</p>

<p>That's pretty cool, right? It's <a href="https://www.w3.org/TR/WCAG21/#input-purposes">useful for accessibility</a>. And there are a bunch of "hints" to help the browser know what data to fill in - so it doesn't accidentally put your postal address where your email address should go.</p>

<p>One of these hints is <a href="https://html.spec.whatwg.org/multipage/form-control-infrastructure.html#attr-fe-autocomplete-one-time-code"><code>one-time-code</code></a>. The theory is, your browser can auto-fill the <code>&lt;input&gt;</code> with a two-factor-authentication code. A phone's browser might automatically grab the 2FA when it receives an SMS. Or a desktop browser might see the code in the user's clipboard. Clever, huh?</p>

<p>But...</p>

<p>The thing about one-time codes is that they're designed to be used <em>once</em>. A code is typically valid for around 60 seconds. After that, it's useless. The service will refuse you entry and ask for another code.  So there is no point having the browser <em>remember</em> the code to let you re-use it later.</p>

<p>And yet...</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2021/08/2fa.png" alt="Screenshot of the GitHub two-factor authentication screen. The use has typed the number 2 - and a dropdown shows a previously entered 2FA code. The HTML code shows the autocomplete attribute." width="1281" height="594" class="aligncenter size-full wp-image-39882">

<p>Firefox and Chrome both remember 2FA codes and "helpfully" show them in a dropdown.  Why?</p>

<p>There is no world where a user would want to re-enter the same 2FA code. If they mistyped the code the first time, showing it again isn't helpful. There is close to zero chance of a previous 2FA code being the same as my current 2FA code. Remembering 2FA codes is a bug, not a feature.</p>

<p>I'm not the first to notice this:</p>

<blockquote class="social-embed" id="social-embed-1423888616388927494" 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/kaihendry" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRpgBAABXRUJQVlA4IIwBAABQCQCdASowADAAPrVQoUynJKMiKrVaqOAWiUAW33Zn0okw17xOYhAEAIlTck1MdmO4MXqTICfdsTGYv4WUXgwU7t+UHFlmZuDT2aQx6rwEFTOMMAD+5E1PkBmClPGqUsmH8P5hBixLfWMEq7lCLWN0w9A33l37yylodRLS087qaRLZocEyhOtMbvx3nCweNxb1E5cZ6rvUN+UjVFJfWVp8Hlat3/QfvA5Wifk5ypoYG94Z3bCTZdjvxtgZzBZdEmuskrTdjz9fTmPN968g+dxii212ykPXEQqnHin3UZIuroaNCSQgI6hMX5ElQR9514geVHoVCfYnaTtkJX8AvbKD8SwUH11aX7+svSTmDP2/o8oXncu0pvqtyn39H8wF8gouYn30qrCbLUWudfVY6TRvuKMHaIA4X/KcGqTzVAZa5S4BM20cUEskUUkjnGljd3ES+zxr+SNF8URssyYdb5qJe12+1TUNX1O1W2IvsLCh2Ugdb5BBZAOCZlfbZDsjWtUIAptYjKDvav7zwAA=" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Kai Hendry</p>@kaihendry</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 <a href="https://whatwg.org/html">whatwg.org/html</a> some sort of lost skill? <a href="https://twitter.com/github">@github</a> <a href="https://x.com/kaihendry/status/1423888616388927494/photo/1">pic.x.com/9WJD1FbOzx</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/E8Kq8apVEAYzHwd.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/kaihendry/status/1423888616388927494"><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="2021-08-07T06:07:55.000Z" itemprop="datePublished">06:07 - Sat 07 August 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1041981056948338688" 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/davedevelopment" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRqQCAABXRUJQVlA4IJgCAADwCwCdASowADAAPrVMnkqnJCKhrigA4BaJQBiheqhoexfi/9lSBKS9+GV7+G80dL00MjQyi/kDnHAj4iItfYLybvLP2xxhj3QiYSz8SQ9Tsde6LP2XOlTA2/LCRwtaYgVUy5f7KgTcwAD+in/pIDmf1VaF4nPmCiVlajDiMSpUNwX8ayYFSE4kpjbtYVuUH5KUo3h/+aZx2rs3t2OFTJokSxEOGspc3HV/9m+04nqOPuHuvaQdcRXx1l1r4a7negAs9OMgxvwLApvzKuwOxEWL6Xg7jLH8NlkT0zrQ4q2THnMe4ACOUT4KsNIhasIdUiDwnVr0dNbktXxfruMwEjssSb/Mt98v/TTDM9E4xrk6cKCXWxzGiRElCR22jHkIT59m3Z5ZEIJ1fgXpth8CBrcigsTQ4ZTwgqCiB3LEulPb3E4wgA8vwlrIxnHMUPryc1iyAKoHc6Tsk+ab0+J1/29ceYuRr/R4ETbbXQQAMjRihjBHvIN6MRl0BJLwXy6iAqpjQhzjyFfDNfNURM+p/kl4J0OHfxYz/eafoiawJrEy8ROxXWvigLTWoJCkOS3N8CdQJPtufuk6/w5GgF9PCTO71okJiScMqVHzAFFa6O+ECJ3dkCGJ31ytJqzZRiZZoj6Ehndfe2eByarq4UeE4yXwxA0ZlaAsRoL1d3i4CfnjzMt2RhElFslwXbYXgBEZljo5M3UtV5Lxp38O2AOh++AyD5gckqZQID8sbbMpW68kGCq9i4ByVjT8APnPF1o7R11NFaiTdGKEArUVMnB7fhYOJBJY73UL5I1y87dCXHh6WgO88pqi3Bs3md9CTxYeD+5RLtHkXE+HC8IIYEbufEfPqlwatFJADeRRlq4Z+YlOIrATXwy7kAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Dave Marshall</p>@davedevelopment</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">This irritates me far more than it should. If you're coding up a 2FA form, autocomplete=off please 👍 <a href="https://x.com/davedevelopment/status/1041981056948338688/photo/1">pic.x.com/jXBRithoH5</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/DnXcFhCXgAA6KEy.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/davedevelopment/status/1041981056948338688"><span aria-label="29 likes" class="social-embed-meta">❤️ 29</span><span aria-label="4 replies" class="social-embed-meta">💬 4</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2018-09-18T09:23:37.000Z" itemprop="datePublished">09:23 - Tue 18 September 2018</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1387799224167931907" 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/UXOpportunities" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRu4EAABXRUJQVlA4IOIEAABwFgCdASowADAAPpE0k0mloqGhPGgAsBIJbAC7M7R7XInqzUwClQjts9zyGnIb0LZgm2j614D+DP1rGDa3f4D0A/jn22/B/l3yAygfpf9r9APqr/gPyj9zL/F/ab8nd4N3x7AH8z/pH/O9Qz/i/xPnu+k/+x7h360/8LsSErK+8f5PiZt1XNn8BxT+/7/JkP5c1EsS5J65/nY965m3SIVEOh3zLT4uKpvxJ0f701E7qpOb6fTbhMqUs1RPAAD+YRc0725M0F1Tn+2T9RUMasDZL3OGOf6IjKYGjH0GO9UMnDT07I3A2MoWfN263x4mcSpwTn8ZfOCHU2PJejSW0jtxOxvxu68Qr4NAsYsuwIYIHVF+RvVJ/KwCBKPc3C459asO//hcsN3nr951BqSCj6gTc2sSWpA2dqtc5Evbdvusim0gptZ5wBQyn0iTQqjhwZ47l0XOZGX9Wxli1HmnEuWqVbSrDCdgmXea/HILSIIBdBr7ruPn8tNopAZeT70z7Fn/PpjgkASOQoNrZHPtLgHlYj0rB3yQeYeGMzJVqBcDXx42l7zcbyImaKF/8KHnfbFHybnT7wRWOa5asvxDzSaFc/iAFa59knfh0lAbY8ZwIMG3toK/PJgq2LxL5KmyFpAQ0i3tY9zXmG1ACMxOH5iAEQK6ziiwZdJ2gGHTaVUsG8zhOEXjYntudOljvELd8WFJ19D6Eb9faz4g+HFO+KW81D0yzqf/jYXbru3JYMf524dDCQJVtda/XC6mQIac/zYS/yCM3q8vrJwafoyL8YJBIfYacxDR1sgtj0+tvAL1gXtiweWt8Aoi2+d5O5y1mq2bT1rc/+UokWfPAZtro4eBzfMEDm4zlwTxht6nraaoG3ScbDjafhaFV+xxF/ckuhR/aCeTeVsgksNYUXs/3bImaeNRau7JH887FLm6co1oDx26aJfDRqaQVPzuOqZtuHrPgP/6Iv+n5lMo1ldAX99tFlxhL/hAKo/UxxT6PrKzgush3UbPJnp+n1+nBfKD+lXb6U0LkdPMTjFUaj8ewfs0lIXUs5MfPwTka5EGIWzGEci8mevfzLLyyUPHn8/8wKs4sGuco+el5bSYJoA8W/F+HavLsESNz+3d44n0n37dN4iOU6MF1zV9Zzx0TxsKS5VNsBbU55c5+Z5RKCe5FCli+l+1ivjdtjZ2gE4Yv6acAqmRbGdTMpYSomQS0Ih9+Jcv/jcKci82L7LqOhDhrfnszpKdYvRcbgxeIFpXoLkta3Ilp9qXSfnjJTr+BboUu10n9p6EYyjj6KNEZx33K1CJCrKxgwEBUT5jD8MEjzGYOyZ+PUTQ65GJhRvvz3Q+UE+0RQ/vTirEzTTJMv9kazrx3Uj19VKn0V+/IVkgJYXB2zEWerRdIFTqXVo34ORAzOTmujYNMm+HF+khw9L/z0B5ykdsARNuM07O8eA6kWfJ0jWZmB5ASVlx1lFSgvuUc/gv519XLXPycd31HIXnrEbMdbfpB1kxKmcdCN8KNWlR95Goh9uQYl2MGhni4wFlmKr4cGQkJ3ye7Hjvu62IHjMLQf3XXfdH+t9StEHL+N3cfBpRUyJzHhMPoNr0pKwW81sHHqjL+zed/UvTA4KhgvdY/KeLPbpKeT0sVJ/bf2XjKoo8sMYX+UOyWZp0LYutKyqAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">UX Opportunities 🟠 User Experience Advice</p>@UXOpportunities</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">Auto-complete on OTP fields shouldn't show past codes, <a href="https://twitter.com/ChromiumDev">@ChromiumDev</a>, surely?<br>Do other <a href="https://twitter.com/hashtag/browsers">#browsers</a> do this?<br><br><a href="https://twitter.com/hashtag/ux">#ux</a> <a href="https://twitter.com/hashtag/userexperience">#userexperience</a> <a href="https://twitter.com/hashtag/uxfail">#uxfail</a> <a href="https://twitter.com/hashtag/wtfux">#wtfux</a><br><br>This <a href="https://twitter.com/hashtag/UXOpportunity">#UXOpportunity</a> courtesy of <a href="https://twitter.com/github">@github</a>'s <a href="https://twitter.com/hashtag/2FA">#2FA</a> page, which correctly uses `autocomplete="one-time-code"` <a href="https://x.com/UXOpportunities/status/1387799224167931907/photo/1">pic.x.com/fyci5H63ze</a><div class="social-embed-media-grid"><a href="https://pbs.twimg.com/media/E0JykHZXsAgFlLs.png" 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/UXOpportunities/status/1387799224167931907"><span aria-label="1 likes" class="social-embed-meta">❤️ 1</span><span aria-label="2 replies" class="social-embed-meta">💬 2</span><span aria-label="0 reposts" class="social-embed-meta">🔁 0</span><time datetime="2021-04-29T16:01:33.000Z" itemprop="datePublished">16:01 - Thu 29 April 2021</time></a></footer></blockquote>

<blockquote class="social-embed" id="social-embed-1363963316696211461" 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/chordbug" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRgIDAABXRUJQVlA4IPYCAADQDQCdASowADAAPqE6mEmmIyKhNV1dUMAUCWoAnTKEhFfIXs9voOltzGY0b7MXHL+DJUUObvQeBmk+mp+SKlvExUbOVkV+gOZCNSdr7LcafmxEnk7Lpmt7aywEf4cyQuYrkKWC0455wS31iWiR79i96QLHzQtaIAD++zGBtBfuhxFxXbNlaZAMxbV86ySNsYIgO513YKjfnp66ywRefISPHa6LD/PiIm7ZFhlWA5j/d22SOr1zw4rMj4Xb0P3a2cLTL1uzbtLF7bGVIePvolPa3hdlmE/NTjJZBAz66fOGGs67xs8UdBz3xvo0b1vPIbE7PGCDDsdMKhh7D1QSB0yxlFB/veAWpTWD5km4auii1vbVjdxSvu3q7bdiPWXLH2bzY/hWt7MWBoAMAnBdCtGR52d8DU1FIAejy5S19vs+oiaOwaPdwtTJeYDZeyT1uEtVcZBWI76m5Rh6k8AT8nDVY4GKQ42jh1PMZBKFRL2Uc8M5cdU8D6vuWAnzgEy5KgvCTFJPBTuC5DCl8DuTfwgrv1GmPlG2MnEasIDGsMnwiKBRL5Ssl4AmBJOl72STIfGq1sSInO5snKsqkTLf9frFrE2meYs1VPX+Rbbrl1yGmZ5RXz7TXYlFNho+q13viHuuKAY9JwSMuOjMOd1Z5pqYUToH9yXWm24D5nJJQMFMPTk9K1lUHfa4Nizg76BQD7UCV70xqdrJxJYj90AhRo1ozV6UkOHTEMD+Vbn66OSiKA9NzdK30+x208BzMJxRcW3zlXGRtcpflo4UoyRfSCK6NnWrjkaeUYskbuVWt+Ovqqb5IjiR6S/L0CF0lOFNBnG0SaaemSJCqhjTT+REZRHjeSAuNCvy66EU/gSqCpgVM3YnmPt4Akcocwtb8XMxt+jRZ1yzwM8LPtJrVR5kPy5EDZDOQLdZMJdh9FYj9ErijiaxQ51hk3/Xtyrq5QN20/lEqrS+9Y2O/ppPoTqbKRN00SmfSuVS6o45W0Pj8Me26Yk0rHhAAA==" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">Lynn (finally free)</p>@chordbug</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">As a…<br>→ user with 2FA enabled<br><br>I want…<br>→ the 6-digit password field to have autocomplete<br><br>So that I can…<br>→ save time whenever I win the 2FA lottery</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/chordbug/status/1363963316696211461"><span aria-label="54 likes" class="social-embed-meta">❤️ 54</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="2021-02-22T21:26:10.000Z" itemprop="datePublished">21:26 - Mon 22 February 2021</time></a></footer></blockquote>

<p>In fact, <a href="https://shkspr.mobi/blog/2014/09/2fa-best-practice-disable-autocomplete/">I've been ranting about this since 2014</a>.</p>

<p>Please - browser manufacturers and spec writers - do some user research to see if the feature you're developing is useful to real-life users.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=39881&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2021/08/should-browsers-remember-2fa-codes/feed/</wfw:commentRss>
			<slash:comments>5</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[The Browser Is The User's Agent. But Who Is The User?]]></title>
		<link>https://shkspr.mobi/blog/2017/11/the-browser-is-the-users-agent-but-who-is-the-user/</link>
					<comments>https://shkspr.mobi/blog/2017/11/the-browser-is-the-users-agent-but-who-is-the-user/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Tue, 07 Nov 2017 12:44:30 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[NaBloPoMo]]></category>
		<category><![CDATA[web]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=28606</guid>

					<description><![CDATA[I spent 15 years in the mobile phone industry - working variously for big mobile operators, with phone manufacturers, and consulting with industry groups. I say this not to brag, but to let you know that I have experience with these matters.  Web browsers are often called a User Agent. They are a software agent acting on behalf of their user.  So what happens when the browser acts against the…]]></description>
										<content:encoded><![CDATA[<p>I spent 15 years in the mobile phone industry - working variously for big mobile operators, with phone manufacturers, and consulting with industry groups. I say this not to brag, but to let you know that I have experience with these matters.</p>

<p>Web browsers are often called a <a href="https://hacks.mozilla.org/2013/09/user-agent-detection-history-and-checklist/">User Agent</a>. They are a software agent acting on behalf of their user.  So what happens when the browser acts <em>against</em> the interest of their user?</p>

<p>This isn't a theoretical question - there's a long history of browsers which betray the user.</p>

<p>Windows Phone 7 had a web browser that <a href="https://twitter.com/edent/status/143088834270334976">wouldn't let users download unprotected MP3s</a>.</p>

<p>Symbian did something similar. If a file didn't have OMA compliant protection, the browser wouldn't open it. Deliberately ignoring the user.</p>

<p>In fact, Symbian went even further than that in disobeying instructions. Some Symbian phones wouldn't let you send an MP3 by Bluetooth or MMS. Why? Because the phone company didn't want to lose ringtone revenue.  The customer of the phone manufacturer was <em>not</em> the end user; it was the phone network.</p>

<p>Blackberry's browser at one time had an <em>artificial</em> download limit of 3MB. No technical reason, just to stop users getting files from unofficial sources.</p>

<p>I'm going to keep banging on about this - the browser is the <em>User's</em> Agent. It is meant to work on behalf of the user. That's why you can change a page's style sheet, or block ads, or zoom in.</p>

<h2 id="protection"><a href="https://shkspr.mobi/blog/2017/11/the-browser-is-the-users-agent-but-who-is-the-user/#protection">Protection</a></h2>

<p>But the browser also has to protect the user. That's why you see warnings about entering your password on non-HTTPS sites. The User-Agent sometimes has to stop the user from doing something dangerous.</p>

<p><a href="https://support.mozilla.org/en-US/kb/insecure-password-warning-firefox"><img src="https://web.archive.org/web/20180114164905if_/https://support.cdn.mozilla.net/media/uploads/gallery/images/2017-04-21-23-52-53-ba340d.png" width="328" height="133" class="aligncenter size-medium"></a></p>

<p>Can this be extended? Should the browser "protect" the user against non-DRM files?</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2017/10/MP3-alert-box-fs8.png" alt="An alert box saying &quot;⚠ Be careful when playing MP3s - check your country's copyright laws before proceeding ⚠&quot;" width="400" height="187" class="aligncenter size-full wp-image-28714">

<p>Can you imagine that on every Soundcloud page? Or when sharing a video of your friends? Or on any media page without a © declaration?</p>

<p>Is this the future of browsers? Perhaps.  Most browsers are made by media companies - or at least companies which make a lot of money selling audio and video content.</p>

<p>Does the browser work for the user, or the company that makes it?</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=28606&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2017/11/the-browser-is-the-users-agent-but-who-is-the-user/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[BMW i3's Web Browser]]></title>
		<link>https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/</link>
					<comments>https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 25 Jun 2015 08:53:04 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[car]]></category>
		<category><![CDATA[i3]]></category>
		<category><![CDATA[review]]></category>
		<guid isPermaLink="false">https://shkspr.mobi/blog/?p=21128</guid>

					<description><![CDATA[I&#039;m currently test-driving a BMW&#039;s all-electric i3 REX.  One of the options the demonstrator model has is a web browser!  Yes, for just £95 per year, you can get a slow and painful browsing experience IN YOUR CAR! (Only to  be used when fully stopped - or in autonomous drive mode.)  Here&#039;s a quick run-down of its features.  HTML5  A fairly miserable score of 268 out of 555 points on …]]></description>
										<content:encoded><![CDATA[<p>I'm currently test-driving a BMW's all-electric i3 REX.  One of the options the demonstrator model has is a web browser!  Yes, for just £95 per year, you can get a slow and painful browsing experience IN YOUR CAR! (Only to  be used when fully stopped - or in autonomous drive mode.)</p>

<p>Here's a quick run-down of its features.</p>

<h2 id="html5"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#html5">HTML5</a></h2>

<p>A fairly miserable score of <a href="https://web.archive.org/web/20200924220757/http://html5test.com/s/de1eb1283ebe8de4.html">268 out of 555 points</a> on <a href="http://html5test.com/">http://html5test.com/</a>
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-HTML5.jpg" alt="i3 HTML5" width="1024" height="768" class="aligncenter size-full wp-image-21129">
The screen is 1280*480 with good visibility.  It's slow to scroll and, even with the touchpad controller, a pain to navigate.</p>

<h2 id="user-agent"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#user-agent">User Agent</a></h2>

<p>It reports as this unholy mess.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-UA.jpg" alt="i3 UA" width="1024" height="768" class="aligncenter size-full wp-image-21130">
Chrome 15 on Windows XP.  Helpful!
Oh, the IP address is in Germany because - I presume - that's where BMW's proxy is.  Connectivity is provided by Vodafone's 3G network.</p>

<h2 id="security"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#security">Security</a></h2>

<p>The browser kept popping up with this certificate error.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-security.jpg" alt="i3 security" width="1024" height="635" class="aligncenter size-full wp-image-21131">
I'm not sure if it's the proxy, or the browser which is causing the failure to validate certificates.</p>

<h2 id="options"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#options">Options</a></h2>

<p>There is an options menu.  Cookies are blocked by default, there's a flash player! Flash! In the car!
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-Flash.jpg" alt="i3 Flash" width="1024" height="768" class="aligncenter size-full wp-image-21132">
I ticked the "sound" option and visited an <a href="http://hpr.dogphilosophy.net/test/">HTML5 sound test page</a>.  MP3 is supported.  Impressively, so are Ogg and WebM!</p>

<h2 id="video"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#video">Video</a></h2>

<p>Some HTML5 video is supported - although playback is a bit jerky.  Audio support is variable.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-video-webm.jpg" alt="i3 video webm" width="1280" height="960" class="aligncenter size-full wp-image-21146"></p>

<p>So, let's try out YouTube - the biggest video site on the planet!</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-YouTube.jpg" alt="i3 YouTube" width="1280" height="960" class="aligncenter size-full wp-image-21144">

<p>Well, that's underwhelming.  I wonder what is up with the Flash player on this thing.</p>

<p>A quick (slow) visit to Adobe shows us part of the problem -</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-flash-old-version.jpg" alt="i3 flash old version" width="1280" height="960" class="aligncenter size-full wp-image-21145">

<p>An <em>ancient</em> Flash version.  Which means you can expect to see a lot of things like:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-flash-issues.jpg" alt="i3 flash issues" width="1280" height="960" class="aligncenter size-full wp-image-21138">

<h2 id="tabs"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#tabs">Tabs</a></h2>

<p>One thing that surprised me was the ability to have multiple tabs.  Considering how slow the browser is, it's useful to load up a site in one, then read another tab while waiting for it to load.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-tabs.jpg" alt="i3 tabs" width="1280" height="960" class="aligncenter size-full wp-image-21136"></p>

<p>Open too many tabs (3 in this case) and you get this somewhat confusing error message.</p>

<p><img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-tab-limit.jpg" alt="i3 tab limit" width="1280" height="960" class="aligncenter size-full wp-image-21141">
There's no obvious way to close a tab...</p>

<p>You can always go into your history to see what you were reading before the browser flamed out.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-History.jpg" alt="i3 History" width="1280" height="960" class="aligncenter size-full wp-image-21140"></p>

<h2 id="headers-and-proxy"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#headers-and-proxy">Headers and Proxy</a></h2>

<p>A fairly sparse set of headers are sent by the UA.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-headers.jpg" alt="i3 headers" width="1280" height="960" class="aligncenter size-full wp-image-21147"></p>

<p>The proxy is by <a href="http://www.mwaysolutions.com/en/automotive/">M-Way Solutions</a>.  I'm not sure if it's the proxy, or Vodafone, but there is some <em>severe</em> picture compression going on:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-Compression.jpg" alt="i3 Compression" width="1280" height="960" class="aligncenter size-full wp-image-21143">

<h2 id="rendering"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#rendering">Rendering</a></h2>

<p>For regular web pages, the rendering is competent - if slow.  Here's my blog:</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-blog.jpg" alt="i3 blog" width="1280" height="960" class="aligncenter size-full wp-image-21139">

<p>CSS rounded corner and webfonts all work.</p>

<p>But there is a glaring omission.  The Unicode support from the browser is atrocious.  Want to view Emoji?  This is what you'll see -</p>

<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-emoji.jpg" alt="i3 emoji" width="1280" height="960" class="aligncenter size-full wp-image-21142">

<p>☹</p>

<h2 id="overall"><a href="https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/#overall">Overall</a></h2>

<p>This is a shitty browser.  It's slow - and that's not the fault of the 3G network - rendering takes forever, scrolling is awkward, mouse pointer precision is poor, and has limited support for modern web technologies.  Along with the frequent SSL certificate warnings, the UA is <em>probably</em> vulnerable to modern attacks.</p>

<p>If you want to pay £95 per year to browse the web while sat in a motorway service station, I suggest you buy a cheap Android tablet and a PAYG SIM.  Browsing will be a lot less frustrating, and you won't have to put up with seeing this error message <em>constantly</em>.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2015/06/i3-Blowser-limit.jpg" alt="i3 Blowser limit" width="1280" height="960" class="aligncenter size-full wp-image-21137"></p>

<p>But, apart from that, the i3 is a great car!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=21128&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2015/06/bmw-i3s-web-browser/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Chrome For Android Font Rendering Bug]]></title>
		<link>https://shkspr.mobi/blog/2013/03/chrome-for-android-rendering-bug/</link>
					<comments>https://shkspr.mobi/blog/2013/03/chrome-for-android-rendering-bug/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 01 Mar 2013 12:00:47 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[font]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=7697</guid>

					<description><![CDATA[The latest version of the Chrome Browser for Android has introduced a curious rendering bug.  When scrolling, I notice that the font hinting seems to break down.  This makes the text very &#34;juddery&#34;.  It looks like the fonts shrink and grow and they scroll. This is very disorienting when reading.  In this example I&#039;ve noticed that once I&#039;ve stopped scrolled the page, the fonts are hinted…]]></description>
										<content:encoded><![CDATA[<p>The latest version of the <a href="https://play.google.com/store/apps/details?id=com.android.chrome">Chrome Browser for Android</a> has introduced a curious rendering bug.</p>

<p>When scrolling, I notice that the font hinting seems to break down.  This makes the text very "juddery".  It looks like the fonts shrink and grow and they scroll. This is very disorienting when reading.</p>

<p>In this example I've noticed that once I've stopped scrolled the page, the fonts are hinted differently.</p>

<p><img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/1.png" alt="1" width="132" height="23" class="aligncenter size-full wp-image-7698">
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/2.png" alt="2" width="132" height="22" class="aligncenter size-full wp-image-7700">
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/3.png" alt="3" width="132" height="23" class="aligncenter size-full wp-image-7702"></p>

<p>I've enlarged the examples (without interpolation) so you can see them a bit more clearly.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/1-Big.png" alt="1 Big" width="528" height="92" class="aligncenter size-full wp-image-7699">
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/2-Big.png" alt="2 Big" width="528" height="88" class="aligncenter size-full wp-image-7701">
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/3-Big.png" alt="3 Big" width="528" height="92" class="aligncenter size-full wp-image-7703"></p>

<p>To give you a good idea of what's happening, I've magnified the letter "e" (again, without interpolation).  You can quite clearly see what happens to the font.
<img src="https://shkspr.mobi/blog/wp-content/uploads/2013/02/e.gif" alt="e" width="300" height="340" class="aligncenter size-full wp-image-7704"></p>

<p>I can understand why the font hinting changes as the scrolling occurs - but why does it change even after scrolling has finished?</p>

<p>All screenshots taken on an N7100 running 4.1.2 with the latest version of Chrome for Android.  The Galaxy Note II has a fairly standard resoltion of 1280×720, giving it 267 PPI - that shouldn't cause any problems.</p>

<p><a href="https://code.google.com/p/chromium/issues/detail?id=174699">This issue has been reported to the Chromium team</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=7697&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2013/03/chrome-for-android-rendering-bug/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[London Web Standards - State of the Browser]]></title>
		<link>https://shkspr.mobi/blog/2011/03/london-web-standards-state-of-the-browser/</link>
					<comments>https://shkspr.mobi/blog/2011/03/london-web-standards-state-of-the-browser/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 25 Mar 2011 11:05:41 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[HTML]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[w3c]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=3768</guid>

					<description><![CDATA[Here&#039;s the introduction I gave to London Web Standards for their State of the Browser conference.    Slideshare seem to have screwed up some of the formatting, but here are the slides.       State of the Browser - London Web Standards  from Terence Eden   Full details of the day on Lanyrd.  Thanks to Nick and the rest of the team for inviting me.  It was an excellent day full of demos,…]]></description>
										<content:encoded><![CDATA[<p>Here's the introduction I gave to <a href="http://www.londonwebstandards.org/">London Web Standards</a> for their <a href="https://web.archive.org/web/20110723143347/https://browser.londonwebstandards.org/">State of the Browser conference</a>.</p>

<iframe title="Introduction to State of the Browser" width="620" height="349" src="https://www.youtube.com/embed/OTlp1Hlq2yI?start=22&amp;feature=oembed" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen=""></iframe>

<p>Slideshare seem to have screwed up some of the formatting, but <a href="http://www.slideshare.net/edent/state-of-the-browser-london-web-standards">here are the slides</a>.</p>

<iframe title="State of the Browser - London Web Standards" src="https://www.slideshare.net/slideshow/embed_code/key/aErdDHVOpq39bO" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC; border-width:1px; margin-bottom:5px; max-width: 100%;" allowfullscreen=""> </iframe>

<div style="margin-bottom:5px"> <strong> <a href="https://www.slideshare.net/edent/state-of-the-browser-london-web-standards" title="State of the Browser - London Web Standards" target="_blank">State of the Browser - London Web Standards</a> </strong> from <strong><a href="https://www.slideshare.net/edent" target="_blank">Terence Eden</a></strong> </div>

<p><a href="https://web.archive.org/web/20110529050453/http://www.lanyrd.com/2011/state-of-the-browser/">Full details of the day on Lanyrd</a>.</p>

<p>Thanks to Nick and the rest of the team for inviting me.  It was an excellent day full of demos, discussions, and debates.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=3768&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2011/03/london-web-standards-state-of-the-browser/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Android Tutorial - Clickable Widgets]]></title>
		<link>https://shkspr.mobi/blog/2010/07/android-tutorial-clickable-widgets/</link>
					<comments>https://shkspr.mobi/blog/2010/07/android-tutorial-clickable-widgets/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Mon, 12 Jul 2010 10:09:42 +0000</pubDate>
				<category><![CDATA[/etc/]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[sdk]]></category>
		<category><![CDATA[tutorial]]></category>
		<category><![CDATA[widget]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=2149</guid>

					<description><![CDATA[Another quick Android tutorial.  I couldn&#039;t find an easy or correct method of launching a browser when you click on a homescreen widget.  Well, here it is...  public class clickWidget extends AppWidgetProvider { @Override public void onUpdate( Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds ) { RemoteViews remoteViews =    new RemoteViews( context.getPackageName(),…]]></description>
										<content:encoded><![CDATA[<p>Another quick Android tutorial.  I couldn't find an easy or correct method of launching a browser when you click on a homescreen widget.  Well, here it is...</p>

<pre lang="java">public class clickWidget extends AppWidgetProvider
{
@Override
public void onUpdate( Context context, AppWidgetManager appWidgetManager, int[] appWidgetIds )
{
RemoteViews remoteViews =
   new RemoteViews( context.getPackageName(), R.layout.widget );
remoteViews.setImageViewResource(R.id.ImageView01, drawableResourse);

ComponentName myWidget =
   new ComponentName( context, clickWidget.class );

// Create an Intent to launch Browser
Intent intent =
   new Intent(
      Intent.ACTION_VIEW, Uri.parse("http://example.com")
   );
PendingIntent pendingIntent =
   PendingIntent.getActivity(context, 0, intent, 0);

remoteViews.setOnClickPendingIntent(R.id.ImageView01, pendingIntent);
appWidgetManager.updateAppWidget( myWidget, remoteViews);
}
</pre>

<p>I've used this as the basis of a demo widget - "MI5 Terror Threat Level".  The widget displays the UK's Threat Level on your homescreen.  Clicking on it takes you to the <a href="https://web.archive.org/web/20101014002748/ttps://www.mi5.gov.uk/output/threat-levels.html">MI5 page discussing the threat level</a>.</p>

<p>The threat level is determined by parsing the <a href="https://web.archive.org/web/20101014003201/https://www.mi5.gov.uk/output/threat-level-rss.html">RSS that the security services so helpfully provide</a>.  At the moment, the widget keeps a local copy of the graphics because the <a href="http://www.mi5.gov.uk/UKThreatLevel/UKThreatLevel.xml">RSS feed</a> contains references to "localhost" images.</p>

<p>You can download the widget by scanning in this QR code.
</p><div id="attachment_2155" style="width: 174px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-2155" src="https://shkspr.mobi/blog/wp-content/uploads/2010/07/mi5.png" alt="MI5 Widget - QR Code" title="MI5 Widget - QR Code" width="164" height="164" class="size-full wp-image-2155"><p id="caption-attachment-2155" class="wp-caption-text">MI5 Widget - QR Code</p></div><p></p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=2149&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2010/07/android-tutorial-clickable-widgets/feed/</wfw:commentRss>
			<slash:comments>1</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Browser Statistics of 10 Downing Street]]></title>
		<link>https://shkspr.mobi/blog/2009/10/browser-statistics-of-10-downing-street/</link>
					<comments>https://shkspr.mobi/blog/2009/10/browser-statistics-of-10-downing-street/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Fri, 02 Oct 2009 10:58:32 +0000</pubDate>
				<category><![CDATA[politics]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[stats]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=583</guid>

					<description><![CDATA[It&#039;s really difficult cutting through the hype to see which browsers one should support when designing a website.  There are many different measures of popularity - but many sites are only visited by techies, or only ever visited when at work, or are skewed towards the young or the old.  Yesterday morning I asked the Number 10 Downing Street web team if they could provide their statistics.  I…]]></description>
										<content:encoded><![CDATA[<p>It's really difficult cutting through the hype to see which browsers one should support when designing a website.  There are many different measures of popularity - but many sites are only visited by techies, or only ever visited when at work, or are skewed towards the young or the old.</p>

<p>Yesterday morning <a href="http://twitter.com/edent/status/4529469389">I asked the Number 10 Downing Street web team if they could provide their statistics</a>.  I figured that the <a href="http://www.number10.gov.uk/"> PM's website</a> gets enough readers from a wide selection of the web community to give a fairly impartial measure of the popular web browsers.</p>

<p>Here's their (very quick) reply</p>

<blockquote class="social-embed" id="social-embed-4549222839" lang="cy" itemscope="" itemtype="https://schema.org/SocialMediaPosting"><blockquote class="social-embed" id="social-embed-4529469389" 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"><small class="social-embed-reply"><a href="https://twitter.com/10DowningStreet/status/4528243248">Replying to @10DowningStreet</a></small><a href="https://twitter.com/downingstreet">@downingstreet</a> can you tell us how many Firefox/IE/Safari users visit the Number 10 website? Would be really helpful to UK web developers</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/edent/status/4529469389"><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="2009-10-01T17:10:55.000Z" itemprop="datePublished">17:10 - Thu 01 October 2009</time></a></footer></blockquote><header class="social-embed-header" itemprop="author" itemscope="" itemtype="https://schema.org/Person"><a href="https://twitter.com/10DowningStreet" class="social-embed-user" itemprop="url"><img class="social-embed-avatar social-embed-avatar-circle" src="data:image/webp;base64,UklGRugAAABXRUJQVlA4INwAAABQBgCdASowADAAPrVGoEmnI6MhLjgMyOAWiWkABRAe255KmcvngTIHZUZBs7q+gBls3fOCafekoFoRAAD++fsTk7Rl64MygtEv7WfR+YvwKawSuOB34F76rSTwynqUi4e2s52811JwS6k6w5xaP90fx+/gCgEdHTmIEDTtSYi2J86lXj1RTOB/HfXJ9y/+qi5oKgkFt3TsGTzoBxfTjAx6S1VWeCy3jYbtBusa2YuTW8fOOzY+7G07555Mula3+V5pNC8fVL5WUMBbZM8/1jxXJp/z/vAzIxNqIAAA" alt="" itemprop="image"><div class="social-embed-user-names"><p class="social-embed-user-names-name" itemprop="name">UK Prime Minister</p>@10DowningStreet</div></a><img class="social-embed-logo" alt="Twitter" src="data:image/svg+xml,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%0Aaria-label%3D%22Twitter%22%20role%3D%22img%22%0AviewBox%3D%220%200%20512%20512%22%3E%3Cpath%0Ad%3D%22m0%200H512V512H0%22%0Afill%3D%22%23fff%22%2F%3E%3Cpath%20fill%3D%22%231d9bf0%22%20d%3D%22m458%20140q-23%2010-45%2012%2025-15%2034-43-24%2014-50%2019a79%2079%200%2000-135%2072q-101-7-163-83a80%2080%200%200024%20106q-17%200-36-10s-3%2062%2064%2079q-19%205-36%201s15%2053%2074%2055q-50%2040-117%2033a224%20224%200%2000346-200q23-16%2040-41%22%2F%3E%3C%2Fsvg%3E"></header><section class="social-embed-text" itemprop="articleBody"><small class="social-embed-reply"><a href="https://twitter.com/edent/status/4529469389">Replying to @edent</a></small><a href="https://twitter.com/edent">@edent</a> Top are: IE7 22%, IE8 20%, IE6 12%, Firefox3.5.3 9%, FF3.5.2 7%, FF3.0.14 5%, FF3.0.13 4%, Safari 4.0.3 4%, Chrome 2.0.172.43 2%</section><hr class="social-embed-hr"><footer class="social-embed-footer"><a href="https://twitter.com/10DowningStreet/status/4549222839"><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="2009-10-02T09:46:44.000Z" itemprop="datePublished">09:46 - Fri 02 October 2009</time></a></footer></blockquote>

<p>Or, to express it graphically...</p>

<p></p><div style="width: 410px" class="wp-caption aligncenter"><img src="https://shkspr.mobi/blog/wp-content/uploads/2009/10/chart.png" alt="Pie chart of the above statistics." width="400" height="256" class="aligncenter size-full wp-image-47406"><p class="wp-caption-text">Chart Showing Browser Stats</p></div><p></p>

<p>Firefox overall accounts for 25% - a fairly strong showing.  But with IE6 stubbornly stuck at 12%, it will be a while before we can consign it to the dustbin of web history.
Opera is languishing in the 15% marked as "Other" along with my browser of choice, <a href="http://lynx.isc.org/">Lynx</a>.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=583&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2009/10/browser-statistics-of-10-downing-street/feed/</wfw:commentRss>
			<slash:comments>8</slash:comments>
		
		
			</item>
		<item>
		<title><![CDATA[Review: Opera Mini 5 Beta - BlackBerry]]></title>
		<link>https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/</link>
					<comments>https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#respond</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Thu, 17 Sep 2009 15:14:24 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[blackberry]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[opera]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=515</guid>

					<description><![CDATA[(Disclaimer, I work for Vodafone Group who do a lot of work with Opera. These are my personal views.)  The regular BlackBerry browser is... how can I put this politely... sub-optimal.  For reading mobile-friendly sites it&#039;s perfectly adequate - but for anything more complex it tends to choke.  Don&#039;t get me wrong, it&#039;s &#34;good enough&#34; for most basic browsing needs, but a lack of tabs, half-arsed…]]></description>
										<content:encoded><![CDATA[<p>(Disclaimer, I work for Vodafone Group who do a lot of work with Opera. These are my personal views.)</p>

<p>The regular BlackBerry browser is... how can I put this politely... sub-optimal.  For reading mobile-friendly sites it's perfectly adequate - but for anything more complex it tends to choke.</p>

<p>Don't get me wrong, it's "good enough" for most basic browsing needs, but a lack of tabs, half-arsed JavaScript implementation and idiosyncratic rendering choices make for a somewhat frustrating browsing experience.</p>

<p>Enter <a href="http://www.opera.com/mini/next/">Opera Mini 5 (beta)</a>.&nbsp;  Opera has been knocking around for ages.  Their desktop browser is solid and their mobile browser has always been rated highly.  But how does it compare to the BlackBerry's native browser?  Let's find out!</p>

<h2 id="the-good"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#the-good">The Good</a></h2>

<p></p><div id="attachment_520" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-520" class="size-full wp-image-520" title="Logo" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/Logo.jpg" alt="Opera Mini 5 beta" width="480" height="320"><p id="caption-attachment-520" class="wp-caption-text">Opera Mini 5 beta</p></div><p></p>

<p>From the first launch you can tell that a lot of care an attention has gone in to Opera Mini.  The startup screen has visual bookmarks - AKA speed-dials.</p>

<p></p><div id="attachment_535" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-535" class="size-full wp-image-535" title="Capture8_7_57" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/Capture8_7_57.jpg" alt="Start Page" width="480" height="320"><p id="caption-attachment-535" class="wp-caption-text">Start Page</p></div><p></p>

<p>There's an impressive amount of animation - similar to App World - and the user interface is fairly snappy.</p>

<p>The new menu bar gives quick access to all the functions Opera has to offer.</p>

<p></p><div id="attachment_521" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-521" class="size-full wp-image-521" title="menu" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/menu.jpg" alt="New Menu Bar" width="480" height="320"><p id="caption-attachment-521" class="wp-caption-text">New Menu Bar</p></div><p></p>

<p></p><div id="attachment_522" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-522" class="size-full wp-image-522" title="menubar" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/menubar.jpg" alt="Extended Menu Bar" width="480" height="320"><p id="caption-attachment-522" class="wp-caption-text">Extended Menu Bar</p></div><p></p>

<p>Pages start in "Zoomed Out" mode so you can get an overview of the page.</p>

<p></p><div id="attachment_518" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-518" class="size-full wp-image-518" title="bbcnewszoomout" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/bbcnewszoomout.jpg" alt="BBC News - Zoomed Out" width="480" height="320"><p id="caption-attachment-518" class="wp-caption-text">BBC News - Zoomed Out</p></div><p></p>

<p>A click of the track ball zooms in.  Here you can see how well the text and images are rendered.</p>

<p></p><div id="attachment_517" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-517" class="size-full wp-image-517" title="bbcnewszoomin" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/bbcnewszoomin.jpg" alt="Zoomed In" width="480" height="320"><p id="caption-attachment-517" class="wp-caption-text">Zoomed In</p></div><p></p>

<h3 id="tabbed-browsing"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#tabbed-browsing">Tabbed Browsing</a></h3>

<p>Opera Mini handles tabs wonderfully.  Because Opera sets itself as the default browser - any link you click on in an email is opened in a new tab in Opera.</p>

<p></p><div id="attachment_532" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-532" class="size-full wp-image-532" title="tabbed" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/tabbed.jpg" alt="Lots of tabs" width="480" height="320"><p id="caption-attachment-532" class="wp-caption-text">Lots of tabs</p></div><p></p>

<p></p><div id="attachment_531" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-531" class="size-full wp-image-531" title="startup" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/startup.jpg" alt="Closing Tabs" width="480" height="320"><p id="caption-attachment-531" class="wp-caption-text">Closing Tabs</p></div><p></p>

<h3 id="text-selection"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#text-selection">Text Selection</a></h3>

<p>The native browser is very good at text selection - so is Opera.</p>

<p></p><div id="attachment_526" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-526" class="size-full wp-image-526" title="select1" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/select1.jpg" alt="Text Selection" width="480" height="320"><p id="caption-attachment-526" class="wp-caption-text">Text Selection</p></div><p></p>

<p></p><div id="attachment_527" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-527" class="size-full wp-image-527" title="select2" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/select2.jpg" alt="Text Selection Instructions" width="480" height="320"><p id="caption-attachment-527" class="wp-caption-text">Text Selection Instructions</p></div><p></p>

<p></p><div id="attachment_528" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-528" class="size-full wp-image-528" title="select3" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/select3.jpg" alt="Highlighted Text" width="480" height="320"><p id="caption-attachment-528" class="wp-caption-text">Highlighted Text</p></div><p></p>

<p></p><div id="attachment_529" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-529" class="size-full wp-image-529" title="select4" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/select4.jpg" alt="Copy and Search" width="480" height="320"><p id="caption-attachment-529" class="wp-caption-text">Copy and Search</p></div><p></p>

<h2 id="the-bad"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#the-bad">The Bad</a></h2>

<h3 id="missing-letters"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#missing-letters">Missing Letters</a></h3>

<p>As you can see, there is a missing letter on this page.</p>

<p></p><div id="attachment_523" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-523" class="size-full wp-image-523" title="missingletters" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/missingletters.jpg" alt="Spot The Missing Letters" width="480" height="320"><p id="caption-attachment-523" class="wp-caption-text">Spot The Missing Letters</p></div><p></p>

<p>This happens across websites with no seeming pattern other than the last letter on a line.</p>

<h3 id="no-youtube"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#no-youtube">No YouTube</a></h3>

<p>The native BlackBerry browser passes YouTube links to the media player.</p>

<p></p><div id="attachment_524" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-524" class="size-full wp-image-524" title="NoYouTube" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/NoYouTube.jpg" alt="YouTube? What's That?" width="480" height="320"><p id="caption-attachment-524" class="wp-caption-text">YouTube? What's That?</p></div><p></p>

<p>Opera doesn't do anything with the links.  I didn't expect it to have a fully-fledge flash player - but the least it could do is pass streaming media to the in built application that will handle it.</p>

<h3 id="poor-text-entry"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#poor-text-entry">Poor Text Entry</a></h3>

<p>The text boxes look nice, but have serious flaws.</p>

<p></p><div id="attachment_533" style="width: 490px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-533" class="size-full wp-image-533" title="textinput" src="https://shkspr.mobi/blog/wp-content/uploads/2009/09/textinput.jpg" alt="Poor Text Entry" width="480" height="320"><p id="caption-attachment-533" class="wp-caption-text">Poor Text Entry</p></div><p></p>

<p>They don't respect the normal BlackBery conventions.  There's no auto-correction, holding down a letter doesn't capitalise it. Sometimes hitting delete removes all the text.  This is infuriating.</p>

<h2 id="miscellaneous"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#miscellaneous">Miscellaneous</a></h2>

<p>There are a collection of things which prevent me loving Opera Mini 5 (Beta).</p>

<ul>
    <li>Lack of standard BlackBerry keyboard shortcuts.&nbsp; I can't press K for Bookmar<strong>k</strong>s, P for <strong>P</strong>age Address, nor T to jump to the <strong>T</strong>op of the page.</li>
    <li>Inability to send links.&nbsp; If I'm reading an interesting page on the BlackBerry browser, I can send it via email or SMS - no way to do that with Opera.</li>
    <li>Can't open links in a new tab. I know it's a bit churlish to complain when tabs are a new feature.</li>
    <li>Clicking "Back" returns you to the <em>top</em> of the previous page - not your last position on the previous page.</li>
</ul>

<h2 id="conclusion"><a href="https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/#conclusion">Conclusion</a></h2>

<p>There are some annoying faults in Opera Mini 5 (beta) - but the clue is in the name - it's a beta.&nbsp; The browsing experience is so good, I can gloss over the missing letters and the poor text entry.</p>

<p>The fast rendering and tabbed browsing are enough to keep me using it for now.&nbsp;&nbsp; Looks like RIM purchased <a href="https://web.archive.org/web/20090827095823/http://www.torchmobile.com:80/blog/?p=33">Torch Mobile</a> just in time!</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=515&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2009/09/review-opera-mini-5-beta-blackberry/feed/</wfw:commentRss>
			<slash:comments>0</slash:comments>
		
		
			</item>
	</channel>
</rss>
