<?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>Twitter OAuth &#8211; Mobile Failures &#8211; Terence Eden’s Blog</title>
	<atom:link href="https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/feed/" rel="self" type="application/rss+xml" />
	<link>https://shkspr.mobi/blog</link>
	<description>Regular nonsense about tech and its effects 🙃</description>
	<lastBuildDate>Fri, 12 Feb 2010 23:46:52 +0000</lastBuildDate>
	<language>en-GB</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>https://wordpress.org/?v=7.0</generator>

<image>
	<url>https://shkspr.mobi/blog/wp-content/uploads/2023/07/cropped-avatar-32x32.jpeg</url>
	<title>Twitter OAuth &#8211; Mobile Failures &#8211; Terence Eden’s Blog</title>
	<link>https://shkspr.mobi/blog</link>
	<width>32</width>
	<height>32</height>
</image> 
	<item>
		<title><![CDATA[Twitter OAuth - Mobile Failures]]></title>
		<link>https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/</link>
					<comments>https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/#comments</comments>
				<dc:creator><![CDATA[@edent]]></dc:creator>
		<pubDate>Sun, 07 Feb 2010 15:06:26 +0000</pubDate>
				<category><![CDATA[mobile]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[dabr]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[twitter]]></category>
		<guid isPermaLink="false">http://shkspr.mobi/blog/?p=1606</guid>

					<description><![CDATA[I&#039;m a big fan of OAuth - despite some claims to the contrary.  It&#039;s an excellent way of teaching people not to stick their username and password into any old site which asks for it.  Which is why I&#039;m so incredibly disappointed in Twitter&#039;s implementation of mobile OAuth.  For a service which started out operating by SMS, Twitter takes a surprisingly unenlightened view of mobile.  It&#039;s main mobile …]]></description>
										<content:encoded><![CDATA[<p>I'm a big fan of OAuth - <a href="http://www.theregister.co.uk/2009/11/04/oauth_dark_side/">despite some claims to the contrary</a>.  It's an excellent way of teaching people not to stick their username and password into any old site which asks for it.  Which is why I'm so incredibly disappointed in Twitter's implementation of mobile OAuth.</p>

<p>For a service which started out operating by SMS, Twitter takes a surprisingly unenlightened view of mobile.  It's main mobile service - <a href="http://m.twitter.com/">http://m.twitter.com/</a> - is almost completely devoid of useful features.  That's one of the main impetuses behind the development of <a href="http://dabr.co.uk/">Dabr</a>.  Their latest mobile site - <a href="http://mobile.twitter.com/">http://mobile.twitter.com/</a> - is really only suitable for the tiny minority of people who have smartphones.</p>

<p>So, understandably, many people use 3rd party sites like Dabr.  They are now faced with a dilemma - give an untrusted site their username and password or try to use OAuth on the mobile.</p>

<p>A few weeks ago came the <a href="http://groups.google.com/group/twitter-development-talk/browse_thread/thread/084f57349587b3d2/">announcement that OAuth was finally ready for mobile</a>... Was it? No.  Once again a "mobile friendly" site designed with masses of JavaScript and guaranteed not to work with the majority of phones on the market.</p>

<p>Here's how mobile OAuth looks on a variety of popular mobile phones.</p>

<h2 id="blackberry"><a href="https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/#blackberry">BlackBerry</a></h2>

<p></p><div id="attachment_1607" style="width: 480px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1607" class="size-full wp-image-1607" title="BlackBerry Twitter OAuth" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/BlackBerry-Twitter-OAuth.png" alt="BlackBerry Twitter OAuth" width="470" height="695"><p id="caption-attachment-1607" class="wp-caption-text">BlackBerry Twitter OAuth</p></div><p></p>

<p>While this looks pretty enough, it doesn't work.  The buttons <em>aren't clickable</em>.  I've tried with and without JavaScript.  No matter where I click, nothing happens.</p>

<h2 id="android"><a href="https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/#android">Android</a></h2>

<p>The Android's User-Agent isn't detected by Twitter as being a mobile phone.  While it's true that the browser is very capable - the OAuth screen is a lot more usable when it's in mobile mode.</p>

<p></p><div id="attachment_1610" style="width: 330px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1610" class="size-full wp-image-1610" title="Android Twitter OAuth" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/android2.png" alt="Android Twitter OAuth" width="320" height="480"><p id="caption-attachment-1610" class="wp-caption-text">Android Twitter OAuth</p></div><p></p>

<p>So, it works, but it doesn't look nice.</p>

<h2 id="n95"><a href="https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/#n95">N95</a></h2>

<p>The N95 makes a good test phone because it's popular.  Probably more popular than the iPhone.</p>

<p></p><div id="attachment_1612" style="width: 250px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1612" class="size-full wp-image-1612" title="N95 Twitter OAuth" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Screenshot0106.png" alt="N95 Twitter OAuth" width="240" height="320"><p id="caption-attachment-1612" class="wp-caption-text">N95 Twitter OAuth</p></div><p></p>

<p></p><div id="attachment_1613" style="width: 250px" class="wp-caption aligncenter"><img aria-describedby="caption-attachment-1613" class="size-full wp-image-1613" title="N95 Twitter OAuth" src="https://shkspr.mobi/blog/wp-content/uploads/2010/02/Screenshot0108.png" alt="N95 Twitter OAuth" width="240" height="320"><p id="caption-attachment-1613" class="wp-caption-text">N95 Twitter OAuth</p></div><p></p>

<p>It's not pretty - but at least it works.</p>

<h2 id="others"><a href="https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/#others">Others</a></h2>

<p>The Sharp GX-10 is my default test phone.  One of the first phones with a colour HTML browser.  If your site can work on this phone, it will work on any phone.  There are no screenshot capabilities for this phone - but rest assured, it does not work.</p>

<p>The three phones I've demo'd above are very popular modern phones - AKA the minority.  If they don't work well, what chance for the people using older phones?</p>

<p>Useless!  How hard can it be?  All it needs is a username field, a password field and a button.  That's just about the most basic page imaginable.  It should be child's play to make it work on mobile.</p>

<p>This was <a href="http://code.google.com/p/twitter-api/issues/detail?id=395">first raised in March 2009 on Twitter's issues list</a>. It's currently the <em>most popular</em> bug.</p>

<p>So, we're stuck in a dire situation.  Third-Party mobile sites get access to Twitter users' passwords because Twitter are unable or unwilling to develop a <em>simple</em> OAuth form.  It would be fascinating to know how many of Twitter's security breaches are down to corrupt or insecure 3rd party sites which leak passwords.</p>
<img src="https://shkspr.mobi/blog/wp-content/themes/edent-wordpress-theme/info/okgo.php?ID=1606&HTTP_REFERER=RSS" alt="" width="1" height="1" loading="eager">]]></content:encoded>
					
					<wfw:commentRss>https://shkspr.mobi/blog/2010/02/twitter-oauth-mobile-failures/feed/</wfw:commentRss>
			<slash:comments>4</slash:comments>
		
		
			</item>
	</channel>
</rss>
