<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Marc Hibbins &#187; twitter</title>
	<atom:link href="http://blog.marchibbins.com/category/twitter/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.marchibbins.com</link>
	<description>Freelance Web developer, blogger</description>
	<lastBuildDate>Wed, 21 Sep 2011 11:42:32 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.2</generator>
		<item>
		<title>As Long as You Follow</title>
		<link>http://blog.marchibbins.com/2011/05/18/as-long-as-you-follow/</link>
		<comments>http://blog.marchibbins.com/2011/05/18/as-long-as-you-follow/#comments</comments>
		<pubDate>Wed, 18 May 2011 22:48:19 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[beatspermile]]></category>
		<category><![CDATA[iheartplay]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.marchibbins.com/?p=1707</guid>
		<description><![CDATA[Integrating Twitter into Beats Per Mile to send automatic progress updates, authenticating with OAuth and using the TwitterOAuth PHP library.]]></description>
			<content:encoded><![CDATA[<p>The final part of <a title="Beats Per Mile" href="http://coffeeandpie.net/beatspermile/" target="_blank">Beats Per Mile</a> worth mentioning is the Twitter integration.</p>
<p>The application was designed to send automated tweets on Gemma&#8217;s behalf <a title="Gemma Bardsley (gemb1) on Twitter" href="http://twitter.com/gemb1" target="_blank">from her personal Twitter account</a> giving updates of her progress to those following.</p>
<p>Mainly the tweets would report her current location for the purposes of spectators waiting ahead, others would be sent at intervals of a mile or so to report pace and ongoing form.</p>
<p>Similar to the <a title="Moving Pictures by Marc Hibbins" href="http://blog.marchibbins.com/2011/05/16/moving-pictures/" target="_blank">mechanism for fetching Instagram images</a> at predetermined locations on the course, the application contained a list of agreed points at which to tweet.</p>
<p>These were at landmarks and certain spectator spots too, but also at course milestones — the first mile complete, halfway complete, one mile to go etc, as well as the start and finish.</p>
<p>The application monitored the elapsed distance and updated accordingly, grabbing the latest time and <a title="Keep On Running by Marc Hibbins" href="http://blog.marchibbins.com/2011/04/13/keep-on-running/">statistics from the RunKeeper data</a>, as well as geolocating the tweet with the latest set of GPS coordinates.</p>
<p>Since Twitter <a title="Basic Auth Shutdown | dev.twitter.com" href="http://dev.twitter.com/pages/basic_auth_shutdown" target="_blank">deprecated support of Basic Auth</a>, applications much authenticate users with OAuth to gain write access.</p>
<p>This means rather than handing over your username and password to applications and trust (hope) that they’re friendly — <a title="Keep it to Yourself by Marc Hibbins" href="http://blog.marchibbins.com/2009/05/06/keep-it-to-yourself/">as used to be the only way</a> — OAuth allows applications to request access on your behalf without users ever parting with precious login credentials. You simple give, or deny, permission.</p>
<h3><a name="Using_TwitterOAuth" class="anchor">Using TwitterOAuth</a></h3>
<p>Twitter offer a number of links to <a title="Twitter Libraries | dev.twitter.com" href="http://dev.twitter.com/pages/libraries" target="_blank">OAuth libraries</a> for various languages to make the this job a lot easier. There are many Twitter specific OAuth libraries in particular, purposely tailored for the API.</p>
<p>I picked up PHP-based <a title="abraham/twitteroauth - GitHub" href="https://github.com/abraham/twitteroauth" target="_blank">TwitterOAuth by Abraham Williams</a>, which gets you up and running very rapidly.</p>
<p>The <a title="Authenticating Requests with OAuth | dev.twitter.com" href="http://dev.twitter.com/pages/auth" target="_blank">OAuth flow is documented at length</a>, but essentially performs three major tasks:</p>
<ul>
<li>Obtains access from Twitter to make requests on behalf of a user</li>
<li>Directs a user to Twitter in order to authenticate their account</li>
<li>Gains authorisation from the user to make requests on their behalf</li>
</ul>
<p><br/>This is achieved with a cycle of exchanging authenticating tokens between application and Twitter to verify permission. TwitterOAuth particularly creates a session object in your application and rebuilds itself with each token exchange to remain contained in a single class instance.</p>
<p>In a very abridged manner, something like the following:</p>
<blockquote><p>// Build TwitterOAuth object with client credentials<br />
$connection = new TwitterOAuth(<strong>CONSUMER_KEY</strong>, <strong>CONSUMER_SECRET</strong>);<br />
// Get temporary credentials to allow application to make requests and set callback<br />
$request_token = $connection-&gt;getRequestToken(<strong>OAUTH_CALLBACK</strong>);</p></blockquote>
<p>This initial call verifies your application has access the Twitter API, basically that it&#8217;s registered and good to go. Twitter returns two tokens, if successful, that we store:</p>
<blockquote><p>$_SESSION['oauth_token'] = $request_token['<strong>oauth_token</strong>'];<br />
$_SESSION['oauth_token_secret'] = $request_token['<strong>oauth_token_secret</strong>'];</p></blockquote>
<p>Then the application sends the user to Twitter to authorise it’s access, using a URL generated with the token received above:</p>
<blockquote><p>$authoriseURL = $connection-&gt;getAuthorizeURL(<strong>$request_token['oauth_token']</strong>);<br />
header(&#8216;Location: &#8216; . $authoriseURL);</p></blockquote>
<p>On successful authorisation Twitter will return the user to your callback URL (set above) with a verification token. TwitterOAuth now rebuilds for the first time with the OAuth tokens in our session and uses the new verification token to get an a new access token which will grant us user account access:</p>
<blockquote><p>// Create TwitterOAuth object with application tokens<br />
$connection = new TwitterOAuth(CONSUMER_KEY, CONSUMER_SECRET, <strong>$_SESSION['oauth_token']</strong>, <strong>$_SESSION['oauth_token_secret']</strong>);</p></blockquote>
<blockquote><p>// Request access tokens from Twitter on behalf of current user with verifier<br />
<strong>$access_token</strong> = $connection-&gt;getAccessToken(<strong>$_REQUEST['oauth_verifier']</strong>);</p></blockquote>
<p>This final request gets us two OAuth tokens specific to the current user, allowing us to make requests on their behalf, with which TwitterOAuth rebuilds again:</p>
<blockquote><p>// Rebuild TwitterOAuth object with user granted tokens<br />
$connection = new TwitterOAuth(<strong>CONSUMER_KEY</strong>, <strong>CONSUMER_SECRET</strong>, <strong>$access_token['oauth_token']</strong>, <strong>$access_token['oauth_token_secret']</strong>);
</p></blockquote>
<blockquote><p>// Test that everything is working<br />
$connection-&gt;get(&#8216;account/verify_credentials&#8217;);</p></blockquote>
<p>The dance made a hell of a lot easier with a library such as this.</p>
<p>Usually applications store these tokens final two tokens, the user generated <strong>oauth_token</strong> and <strong>oauth_token_secret</strong>, which saves the need to authorise the user again.</p>
<p>Storing these details (in a session or database) means that a username and password need not be saved. The tokens are good until the user revokes access, no sensitive information is ever released to the application, all the user ever gives is their permission.</p>
<p>With access tokens stored, the connection to Twitter is a lot simpler — just create the TwitterOAuth object with those user-generated codes as in the very last step, without any of the redirecting to and from Twitter.com. Of course, those tokens could only have ever been obtained by carrying out the full process to begin with.</p>
<p>Beats Per Mile is a <a title="Using one access token with OAuth | dev.twitter.com" href="http://dev.twitter.com/pages/oauth_single_token" target="_blank">single-user case application</a>, so Gemma only had to authenticate the application once and then we hard-coded them into the scripts.</p>
<h3><a name="Tweet_Away" class="anchor">Tweet Away</a></h3>
<p>With access granted the application was free to send out updates, based on the run data we were collecting and posting it directly.</p>
<p>As mentioned, locations translated into distances and that’s when we tweeted.</p>
<p style="text-align: center;"><a href="http://twitter.com/gemb1/status/59570220540493824" target="_blank"><img class="aligncenter size-full wp-image-1708" title="Beats Per Mile over Tower Bridge" src="http://blog.marchibbins.com/wp-content/uploads/2011/05/tweet-1.jpg" alt="" width="500" height="261" /></a><a href="http://twitter.com/gemb1/status/59602876221227008" target="_blank"><img class="aligncenter size-full wp-image-1709" title="Beats Per Mile past Big Ben" src="http://blog.marchibbins.com/wp-content/uploads/2011/05/tweet-2.jpg" alt="" width="500" height="261" /></a><a href="http://twitter.com/gemb1/status/59573365601603584" target="_blank"><img class="aligncenter size-full wp-image-1710" title="Beats Per Mile halfway" src="http://blog.marchibbins.com/wp-content/uploads/2011/05/tweet-3.jpg" alt="" width="500" height="261" /></a></p>
<p>At mile twenty, it looked back at the mile splits so far and reported which were the fastest:</p>
<p><a href="http://twitter.com/gemb1/status/59589487105282048" target="_blank"><img class="aligncenter size-full wp-image-1711" title="Beats Per Mile fastest miles" src="http://blog.marchibbins.com/wp-content/uploads/2011/05/tweet-4.jpg" alt="" width="500" height="285" /></a></p>
<p>Relying on the total reported distance alone was flawed. There was a slight hiccup when RunKeeper lost GPS coverage under Blackfriars tunnel and in an attempt to compensate found the nearest location to be the other side of the Thames.</p>
<p><img class="aligncenter size-full wp-image-1712" title="RunKeeper getting confused" src="http://blog.marchibbins.com/wp-content/uploads/2011/05/wonky-map.jpg" alt="" width="500" height="261" /></p>
<p>This caused a problem by adding extra distance to her total, so some of the latter tweets (“one mile to go”, for example) posted a little prematurely.</p>
<p>It was more of a problem for Gemma when running, the app announcing in her ear that she’d run further than she had, disheartened to see mile markers on the course thought to have already passed.</p>
<p>This is also why the total distance on the site clocks up to 27.65 miles, the race was long enough as it is!</p>
<p>The final touch to was to drop them on the map, alongside the Instagram images.</p>
<p><a href="http://coffeeandpie.net/beatspermile/" target="_blank"><img class="aligncenter size-full wp-image-1713" title="Tweets and Images on the map" src="http://blog.marchibbins.com/wp-content/uploads/2011/05/on-the-map.jpg" alt="" width="500" height="330" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2011/05/18/as-long-as-you-follow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Dangling Conversation</title>
		<link>http://blog.marchibbins.com/2009/08/26/the-dangling-conversation/</link>
		<comments>http://blog.marchibbins.com/2009/08/26/the-dangling-conversation/#comments</comments>
		<pubDate>Wed, 26 Aug 2009 16:46:56 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.marchibbins.com/?p=1029</guid>
		<description><![CDATA[What I think about Twitter's reply and mention mechanism and the lack of support for following conversations and threads.]]></description>
			<content:encoded><![CDATA[<p>Last week Twitter announced &#8216;Project Retweet&#8217;, their plans to develop a formalised API for the phenomenon of &#8216;retweeting&#8217;. It&#8217;s interesting that retweeting grew organically, a convention formed by user behaviour. <a title="Twitter Blog: Project Retweet: Phase One" href="http://blog.twitter.com/2009/08/project-retweet-phase-one.html" target="_blank">In the announcement</a>, Biz recognises that in this way some of Twitter&#8217;s best features are emergent &#8211; those &#8220;simple but creative ways to share, discover, and communicate&#8221; that the crucial Twitterverse have formed.</p>
<p>It reminded me of the &#8216;<a title="Twitter Blog: The Replies Kerfuffle" href="http://blog.twitter.com/2009/05/replies-kerfuffle.html" target="_blank">replies kerfuffle</a>&#8216; earlier this year and Twitter&#8217;s reactive decision to review their technical decisions as a result of the <a title="Twitter Blog: Whoa, Feedback!" href="http://blog.twitter.com/2009/05/whoa-feedback.html" target="_blank">amount of negative feedback</a> they gained so quickly, their adaptability should be applauded. Biz <a title="Twitter Blog: We Learned A Lot" href="http://blog.twitter.com/2009/05/we-learned-lot.html" target="_blank">admits they learned a lot</a>.</p>
<p>What I&#8217;m getting to is that although Twitter has been near revolutionary, that now even though it&#8217;s such an important social tool &#8211; it&#8217;s still very <em>young</em>. Not in the sense of naivety (nor am I questioning their success), more that there is still a huge amount of potential in Twitter that we are eagerly awaiting to see come to fruition.</p>
<p>Here I want to talk about some of the things that <em>I</em> want to see, some of the things that I think are still lacking, though recognising some of the obstacles in seeing them fulfilled.</p>
<p>For me, the notion of conversations (as in actual conversations) and topic threads are pretty much non-existent and obviously missing. I mean &#8216;actual&#8217; conversations as in <em>direct correspondence between parties</em>, rather than the more &#8216;global conversation&#8217; reference that&#8217;s loosely thrown around when one wishes to sound informed lately.</p>
<h3><a name="Replies,_Threads_and_Conversations" class="anchor">Replies, Threads and Conversations</a></h3>
<p>The function of &#8216;replies&#8217; and &#8216;mentions&#8217; have seen a lot of work on the Twitter platform, see their blog archives for the changes to-and-fro, but in my opinion they are still very limited.</p>
<p>When the &#8216;<a title="Twitter Blog: Small Settings Update" href="http://blog.twitter.com/2009/05/small-settings-update.html" target="_blank">small settings change</a>&#8216; took place in May, it turned out to be considered far larger than the heads at Twitter had anticipated. The intention was to clean up what was seen to be undesirable and confusing, though <a title="Twitter Reverses Policy Change, For Now. This is Nuts But Here's How It Works (UPDATED: Only A Little Reversed)" href="http://www.readwriteweb.com/archives/twitter_reverses_policy_change_for_now_this_is_nut.php" target="_blank">the result is arguably as vague</a>. If you type &#8216;@someone&#8217; into the status box and tweet then everyone following you will receive it, but if you click the &#8216;reply to&#8217; button (which automatically puts &#8216;@someone&#8217; in the update box for you) then only those following that &#8216;someone&#8217; will see it. The <strong>reply</strong> button create a response message &#8211; manually typing it does not, apparently then it&#8217;s a <strong>mention</strong>. Correct me if I&#8217;m wrong.</p>
<p>Anyway since those changes, <strong>reply </strong>tweets now link to the original messages (facilitated by clicking the reply button <em>on</em> that tweet, no less). So now when viewing a tweet, the &#8216;in reply to [someone]&#8216; is actually a hyperlink to the status update to which the user has replied.</p>
<p><a href="http://twitter.com/marchibbins/status/3148699819" target="_blank"><img class="aligncenter size-full wp-image-1037" title="A tweet 'in reply to'" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/tweet_reply.jpg" alt="A tweet 'in reply to'" width="450" height="176" /></a></p>
<p>This connection though, <em>is only one way</em>. And that&#8217;s the main crux of everything I&#8217;m going to say here.</p>
<p>The reply is aware of the original tweet, but the original tweet does not know that it has been replied <em>to</em>.</p>
<p>This isn&#8217;t so much of a big thing in a simple two-tweet case of &#8216;question and answer&#8217; (maybe), but this is what stops users and applications from easily following conversations that are taking place.</p>
<p>For example, look at the following illustration of a conversation over four tweets:</p>
<p><a href="http://blog.marchibbins.com/wp-content/uploads/2009/08/tweet_conversation.jpg" target="_blank"><img class="aligncenter size-full wp-image-1038" title="A conversation on Twitter with two participants" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/tweet_conversation.jpg" alt="A conversation on Twitter with two participants" width="473" height="318" /></a></p>
<p>The messages read <strong>A</strong> through to <strong>D</strong>, chronologically, with each tweet replying directly to the previous. Without having witnessed these tweets being sent, the only way to follow them is essentially <em>backwards</em>. Each reply has a link to it&#8217;s original tweet, so starting with <strong>D</strong>, you can click through <strong>C</strong>, <strong>B</strong> and <strong>A</strong> to reveal the point of origin.</p>
<p>This is the problem. Tweets have no forward links to their replies.</p>
<p>In the above case:</p>
<ol>
<li>Tweet <strong>B</strong> is aware of tweet <strong>A</strong> (though <strong>A</strong> is unaware of <strong>B</strong>).</li>
<li>Tweet <strong>C</strong> is aware of tweet <strong>B</strong> (though again, <strong>B</strong> is unaware of <strong>C</strong>).</li>
<li>Tweet <strong>C</strong> is unaware of tweet <strong>A</strong>, even though it is linked to tweet <strong>B</strong> which <em>is</em> aware of tweet <strong>A</strong>.</li>
<li>And so on, the coupling continues with <strong>D</strong> (and <strong>E</strong> and <strong>F</strong>, etc).</li>
</ol>
<p>&nbsp;<br />
Without creating links in the forward direction of the conversation, structuring and viewing threads like this is almost impossible without some serious archive mining.</p>
<p>Regardless of whether users wanted these changes to happen or not, I don&#8217;t think they solved the problem they set out to anyway. They were put in place to clean up timelines, removing conversational tweets just like these because seeing without context they&#8217;re almost always irrelevant, having been written in 140 characters. But now, if someone was really interested as to the answer of tweet <strong>A</strong> but they didn&#8217;t follow <strong>@birdsigh</strong> (or any replier), then they would never know it had even been answered, not only because they don&#8217;t get <strong>@birdsigh</strong>&#8216;s tweets but because they wouldn&#8217;t see tweet <strong>C</strong> either anymore.</p>
<p>If tweets had references to those that reply <em>to it</em>, anybody could see responses from everybody.</p>
<p>True, conscientious users often retweet replies that they&#8217;ve received if they are of value, but this can look a bit weird &#8211; seeing a number of usernames (including their own) then the message, like so (see the duplication of <strong>@aral</strong>):</p>
<p><a href="http://twitter.com/aral/statuses/3425843730" target="_blank"><img class="aligncenter size-full wp-image-1040" title="A tweet retweet himself" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/tweet_retweet.jpg" alt="A tweet retweet himself" width="450" height="227" /></a></p>
<p>So here&#8217;s another problem that Twitter are already on the heels of answering &#8211; with the <a title="Twitter Blog: Project Retweet: Phase One" href="http://blog.twitter.com/2009/08/project-retweet-phase-one.html" target="_blank">new retweet functionality Biz mocked up</a>, looking far cleaner and a lot smoother &#8211; no need to paraphrase or condense tweets to fit in <strong>n</strong> amount of usernames who deserve props.</p>
<p>I mentioned the archive mining &#8211; <a href="http://search.twitter.com/" title="Twitter Search" target="_blank">Twitter&#8217;s Search API</a> has something almost there. If one of your results is a <strong>reply</strong>, there&#8217;s a &#8216;Show conversation&#8217; button which expands to show nearby (?) tweets between the two participants. It shows the thread, yes, but it&#8217;s not that reliable &#8211; it can include tweets that weren&#8217;t direct replies to the others, rather <strong>mentions</strong> that were chronologically in between. And none of that is in the main API anyway.</p>
<h3><a name="Visualising_conversation" class="anchor">Visualising conversation</a></h3>
<p>That&#8217;s another thing &#8211; there&#8217;s no single place or any really decent way that I&#8217;ve seen to visualise this kind of information right now. It would be nice if the &#8216;in reply to&#8217; link didn&#8217;t need a page change to see the related tweet.</p>
<p>Some of the desktop AIR applications try to solve this problem, for example, <a title="DestroyTwitter" href="https://destroytwitter.com/" target="_blank">DestroyTwitter</a> has a nice dialogue box &#8211; but only shows pairs of tweets, so you still have to click through:</p>
<p style="text-align: center; "><img class="size-full wp-image-1046 aligncenter" title="DestroyTwitter dialogues" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/destroy_tweets.jpg" alt="DestroyTwitter dialogues" width="500" height="140" /></p>
<p><a title="TweetDeck" href="http://tweetdeck.com/beta/" target="_blank">TweetDeck</a> has a similar view to the Search page&#8217;s conversations, showing the latest tweets between two participants, filtered to those mentioning or replying to the other &#8211; so again it does show correspondence, but it&#8217;s uninformed &#8211; you can&#8217;t select a thread and show only that and here too you see unrelated and old tweets also.</p>
<p>I&#8217;ve not seen any application that shows conversations involving more than two participants.</p>
<p>It&#8217;s interesting that phase one of &#8216;Project Retweet&#8217; introduces a &#8216;retweet&#8217; button, something that&#8217;s been around in the desktop apps for a long time (even if on their part it&#8217;s a crude copy-and-paste with the additional &#8216;RT&#8217; prefix added). Like Biz said, some of the best features are emergent &#8211; so it wouldn&#8217;t be so surprising if, seeing how desktop applications are already attempting to visualise threads like this, they might one day materialise on Twitter.com as a fully fledged feature.</p>
<h3><a name="What's_to_come?" class="anchor">What&#8217;s to come?</a></h3>
<p>The <a href="http://apiwiki.twitter.com/Twitter-API-Documentation" title="Twitter API Wiki / Twitter API Documentation" target="_blank">Twitter API documentation</a> now has some timeline methods labelled as &#8216;Coming Soon&#8217;, those for the new retweeting API. One of those is the  <strong>statuses/retweets_of_me</strong> method, said to &#8216;return the 20 most recent tweets of the authenticated user that have been retweeted by others&#8217;, (<a href="http://apiwiki.twitter.com/Twitter-REST-API-Method:-statuses-retweets_of_me" title="Twitter API Wiki / Twitter REST API Method: statuses retweets_of_me" target="_blank">here</a>).</p>
<p>Woop! That <em>does</em> mean forward linkages right?</p>
<p>If tweets can be tagged to inform that they have been retweeted, surely its somewhere <em>possible </em>to also inform that they&#8217;ve been replied to?</p>
<p>Back to visualisations, it&#8217;s be great if Twitter had some pages similar to these to show retweets and conversations (respectively):</p>
<p style="text-align: center; "><a href="http://blog.marchibbins.com/wp-content/uploads/2009/08/conversation_page.jpg" target="_blank"><img class="size-medium wp-image-1049 aligncenter" title="A conversation page 'on Twitter'" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/conversation_page-300x207.jpg" alt="A conversation page 'on Twitter'" width="300" height="207" /></a></p>
<p style="text-align: center;"><a href="http://blog.marchibbins.com/wp-content/uploads/2009/08/retweet_page.jpg" target="_blank"><img class="size-medium wp-image-1050 aligncenter" title="A retweets page 'on Twitter'" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/retweet_page-300x290.jpg" alt="A retweets page 'on Twitter'" width="300" height="290" /></a></p>
<p>Okay, it&#8217;s easy to see one improvement and make an assumption that it can be applied &#8216;exactly the same way&#8217; elsewhere. As as developer I know that and get tired of hearing those kinds of requests <img src='http://blog.marchibbins.com/wp-includes/images/smilies/icon_sad.gif' alt=':(' class='wp-smiley' /> </p>
<p>But it&#8217;s good to hear that these improvements are but &#8216;phase one&#8217; of what&#8217;s to come. Maybe all of this has been recognised, in store &#8211; maybe already in development! Who knows. I&#8217;m sure I&#8217;m not alone in wanting something like this.</p>
<p>I mentioned the idea of threads with more than two participants. Immediately my idyllic conversation view above falls apart right here if you want to see a whole topic of multiple threads on one screen.</p>
<p>I guess you could check for any replies to a given tweet and any replies to <em>those</em> replies exponentially, presumably listing them all chronologically, but you&#8217;d miss out on the direct correspondence between individual users.</p>
<p><a href="http://blog.marchibbins.com/wp-content/uploads/2009/08/multiple_conversation.jpg" target="_blank"><img class="aligncenter size-full wp-image-1041" title="A Conversation on Twitter with multiple participants" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/multiple_conversation.jpg" alt="A Conversation on Twitter with multiple participants" width="477" height="105" /></a></p>
<p>That kind of non-linearity is another great thing about Twitter, you don&#8217;t really get that anywhere else. Take for example correspondence on blog posts &#8211; if someone has something to say in response to a post then they can comment, but if in reply to that comment the person wants to write a second lengthier response, is the comments section the correct place to do it? Or would say, a post on their own blog &#8216;in response to&#8217; be more appropriate &#8211; because that&#8217;s on their domain, under their name and heading?</p>
<p>Then there&#8217;s a weird loss of connection though, that post doesn&#8217;t appear in-line with the original post (other than a pingback, maybe) and users are confused where the topic continues.</p>
<p>That said, the ability to <strong>reply</strong> to multiple tweets also isn&#8217;t possible, only to reply to a single tweet and <strong>mention</strong> another user within that message to ensure they receive it.</p>
<p><a href="http://blog.marchibbins.com/wp-content/uploads/2009/08/double_reply.jpg" target="_blank"><img class="aligncenter size-full wp-image-1042" title="Replying to two tweets" src="http://blog.marchibbins.com/wp-content/uploads/2009/08/double_reply.jpg" alt="Replying to two tweets" width="484" height="92" /></a></p>
<p>I look forward to seeing the new retweeting functionality come into effect. Hopefully the change will be well received.</p>
<p>Thinking about the negative feedback the changes to replies received, I recall <a title="» It’s Oh So Quiet Marc Hibbins" href="http://blog.marchibbins.com/2008/08/17/its-oh-so-quiet/" target="_blank">when Twitter stopped providing their SMS service to UK members</a> &#8211; back then I was gutted but <a title="Twitter Blog: Twitter Over SMS with O2 in the UK" href="http://blog.twitter.com/2009/07/twitter-over-sms-with-02-in-uk.html" target="_blank">now that they&#8217;re back</a>, I don&#8217;t use them anyway. I&#8217;ve turned device updates off. Things are different now, there weren&#8217;t as many desktop applications (and those weren&#8217;t even half as useful as today&#8217;s) and my way of thinking about the people I follow and those that follow me is different now too, my behaviour has changed.</p>
<p>The way I use Twitter has changed and will no doubt continue to do so as the platform evolves. Though I&#8217;d be very happy to see anything like what I&#8217;ve written here turn up (somehow) on Twitter eventually, I think it would change change the way we use it even more.</p>
<p><strong>Update (02.09.09):</strong> Since writing this I&#8217;ve been pointed to two more applications that attempt to visualise conversation threads.</p>
<p>The first is <a href="http://www.atebits.com/tweetie-mac/" title="atebits - Tweetie for Mac" target="_blank">Tweetie for Mac</a>, that not only shows more than two tweets in sequence, but updates from multiple users:</p>
<p><a href="http://img412.yfrog.com/i/2hb.png/" title="Yfrog - 2hb  - Uploaded by pace" target="_blank"><img src="http://blog.marchibbins.com/wp-content/uploads/2009/08/tweetie_1.jpg" alt="Tweetie conversation one" title="Tweetie conversation one" width="240" height="146" class="alignleft size-full wp-image-1080" /></a><a href="http://img194.yfrog.com/i/h32.png/" title="Yfrog - h32  - Uploaded by pace" target="_blank"><img src="http://blog.marchibbins.com/wp-content/uploads/2009/08/tweetie_2.jpg" alt="Tweetie conversation 2" title="Tweetie conversation 2" width="240" height="150" class="alignright size-full wp-image-1081"/></a><br />
&nbsp;&nbsp;<br />
The second is <a href="http://tweader.com/" title="Tweader - Read Twitter conversations." target="_blank">Tweader</a>, a web based tool declaring an outright &#8216;new way to view Twitter conversations&#8217;, clearly also in recognition of the need for one. Tweader requires an ID of a reply update and (as above) constructs the conversation backwards by retrieving each original tweet.</p>
<p>Both of these do the job as best they can, but are still subject to the limitations of Twitter&#8217;s API.</p>
<p>For example, with Tweetie <a href="http://twitter.com/pace/status/3603517772" title="Twitter / Barry Pace: @marchibbins Nope, only se ..." target="_blank">you must click a reply tweet</a>, you can&#8217;t click a tweet and see the conversation that followed &#8211; the forward links are still absent.</p>
<p>Same with Tweader &#8211; try <a href="http://tweader.com/conversation.php?id=3695906506" title="Tweader - Read Twitter conversations." target="_blank">this</a> and <a href="http://tweader.com/conversation.php?id=3696747416" title="Tweader - Read Twitter conversations." target="_blank">this</a>.</p>
<p>Now although it&#8217;s the Twitter API that doesn&#8217;t offer this kind of linking, these tools are standalone applications so there&#8217;s nothing to stop them from storing their own form of descriptive data internally to allow conversations to be pieced together in such a way.</p>
<p>For example, upon receiving a reply tweet, one could store the ID against the original tweet ID (within their own infrastructure) so if a query is made upon the original, it&#8217;s responses can be found.</p>
<p>But as I&#8217;ve said, what I would like is for Twitter to support threads with a formalised API call &#8211; say with a method whereby one can submit the ID of any tweet (that is part of a conversation) and get a full node list of all tweets connected to that it, either in response to or those that came before it.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2009/08/26/the-dangling-conversation/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Keep it to Yourself</title>
		<link>http://blog.marchibbins.com/2009/05/06/keep-it-to-yourself/</link>
		<comments>http://blog.marchibbins.com/2009/05/06/keep-it-to-yourself/#comments</comments>
		<pubDate>Wed, 06 May 2009 21:12:45 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[openstandards]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://blog.marchibbins.com/?p=579</guid>
		<description><![CDATA[It's been a good while since Twitter added their OAuth beta phase, but what with the recent 'Sign in with Twitter' announcement, which enhances that OAuth beta, I thought I'd use this is my excuse to say what I wanted to say now.]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a good while since Twitter added their OAuth beta phase, I wanted to write about it when it first came about but never had the chance &#8211; same story with when they were under fire from phishing attacks in January and the real need for stronger security became so apparent. Anyway what with the <a title="4th Time Around - Marc Hibbins" href="http://blog.marchibbins.com/2009/04/23/4th-time-around/">recent &#8216;Sign in with Twitter&#8217; announcement</a>, which enhances the OAuth beta, I thought I&#8217;d use this is my excuse to say what I wanted to say.</p>
<p>If you&#8217;re unfamiliar with <a title="OAuth - An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications." href="http://oauth.net/" target="_blank">OAuth</a>, it&#8217;s an open protocol standard for user authentication. It works by allowing a user of one platform to grant a secondary platform access to their information (stored by the first platform) without sharing their login credentials and only exposing data they choose.</p>
<p>When a user visits a &#8216;consuming platform&#8217; (the secondary application, that is) it passes a request to the native platform, the &#8216;service provider&#8217;, which returns a login request for the user to complete. The user then logs in to the native platform, proceeds to inform the platform to grant access to their data when the secondary application asks for it &#8211; and is then returned to that consuming platform, &#8216;logged in&#8217; and ready to go.</p>
<p>The crucial problem with Twitter&#8217;s API is that, currently, to access password protected services, for example the ability to publish tweets, this is not the mechanism facilitating the data access. The method they use instead is seriously flawed, and dangerous.</p>
<p>Right now, a website or desktop application such as <a title="TweetDeck: a simple and fast way to experience Twitter" href="http://www.tweetdeck.com/" target="_blank">TweetDeck</a> or <a title="Twitpic - Share photos on Twitter" href="http://twitpic.com/" target="_blank">Twitpic</a>, simply asks for your login details with a regular login prompt. I think from that point onwards, there is a huge amount of misunderstanding to what is actually going on.</p>
<p>Users <em>are not</em> logging in to Twitter at this point, instead they are just <em>telling the third-party application what their password is</em>. Thereafter, the application uses that password as it chooses.</p>
<p>Instead of telling Twitter that you&#8217;d like a certain application to access your data, you are instead freely handing over your password to the application, you hope in confidence, that it won&#8217;t be stored, sold or misused thereafter.</p>
<p>Incredibly, this has gone on for a very long time. It seems the general majority of Twitter users have come to accept handing out their password to completely unknown sources. True, those aware of the dangers or generally security-wary tend only to use a select few services, but there are so many applications built on Twitter&#8217;s platform and a lot of them offer very niche, almost &#8216;throwaway&#8217; services, that I can&#8217;t believe the ease and almost <em>disdain </em>with which so many hand out their login credentials without concern.</p>
<p>OK &#8211; it&#8217;s not like it&#8217;s your giving away your online banking details, but I can&#8217;t imagine this happening with any other type of account &#8211; social media or otherwise &#8211; email, Facebook or any other website, if they offered an open platform for these kind of applications to be built upon.</p>
<p>It&#8217;s become as increasingly accepted as the request has become more common. The problem with there being so many applications, especially the &#8216;disposable&#8217; kind, is that users can forget when and where they have given their details to whom.</p>
<p>Say a user tries a new application but it seems not to work, it will be easily forgotten &#8211; perhaps put down to teething problems of the app or maybe it&#8217;s just not a very good app and &#8220;..nevermind&#8221;, they might not have been that interested anyway. By this point, if it was purely an attempt to capture your details, it&#8217;s too late.</p>
<p>Admittedly, and thankfully, I&#8217;ve never heard of anything so blatant and I hope if anything so obvious came around that the Twitter community would raise awareness and Twitter would respond accordingly.</p>
<p>But of course, the real targets for these vulnerabilities are the users who aren&#8217;t aware of the danger and aren&#8217;t expecting to have to look out for fishy, or phishy, sites &#8211; and the problem is informing those people.</p>
<p>If you&#8217;re reading this blog &#8211; that being a Web development blog and you&#8217;ve sat this far reading a post about user authentication &#8211; chances are you&#8217;re Web-savvy and you&#8217;re exactly <em>not </em>the type of person I&#8217;m talking about. You&#8217;re probably also not the kind of person who reuses passwords, but you also know that&#8217;s not uncommon.</p>
<p>In a scenario where a password is breached, if the email account that you&#8217;ve registered with Twitter uses the same password as the password you&#8217;ve just lost to the phishing attack, there would be no question that an attacker wouldn&#8217;t try the same password with every other account you&#8217;re receiving email from and connected to.</p>
<p>Then that becomes a serious breach.</p>
<p>But like I say, I think I&#8217;m preaching to the choir &#8211; and maybe being a bit harsh about people&#8217;s common sense.</p>
<h3><a name="Twitter_and_OAuth" class="anchor">Twitter and OAuth</a></h3>
<p>Anyway I wanted to talk about OAuth. Twitter&#8217;s implementation is described on their <a title="Twitter API Wiki / Sign in with Twitter" href="http://apiwiki.twitter.com/Sign-in-with-Twitter" target="_blank">wiki page for &#8216;Sign in with Twitter&#8217;</a>, it performs accordingly:</p>
<p style="text-align: center; "><img class="alignright size-full wp-image-587" title="Sign in with Twitter workflow" src="http://blog.marchibbins.com/wp-content/uploads/2009/05/twitter_oauth.jpg" alt="Sign in with Twitter workflow" width="335" height="495" /></p>
<ul>
<li>If the user is logged into Twitter.com and has already approved the calling application, the user will be immediately authenticated and returned to the callback URL.<br />
 </li>
<li>If the user is not logged into Twitter.com and has already approved the calling application, the user will be prompted to login to Twitter.com then will be immediately authenticated and returned to the callback URL.<br />
 </li>
<li>If the user is logged into Twitter.com and has not already approved the calling application, the OAuth authorisation prompt will be presented. Authorising users will then be redirected to the callback URL.<br />
 </li>
<li>If the user is not logged into Twitter.com and has not already approved the calling application, the user will be prompted to login to Twitter.com then will be presented the authorisation prompt before redirecting back to the callback URL.<br />
 </li>
</ul>
<p>You may have already seen it in action if you&#8217;ve used Kevin Rose&#8217;s new startup <a title="We Follow: A User Powered Twitter Directory" href="http://wefollow.com/" target="_blank">WeFollow</a>, the &#8216;user powered Twitter directory&#8217;. You can see which applications (if any) you&#8217;ve granted access to in your account settings at <a title="Twitter / Connections" href="http://twitter.com/account/connections" target="_blank">http://twitter.com/account/connections</a>.</p>
<p>Flickr also uses OAuth, you may have seen it there if you&#8217;ve tried uploading images with a third-party application.</p>
<p>Aside from being more secure as a technical solution, Twitter&#8217;s adoption of OAuth could have a very positive domino effect on similar and future applications. In fact, it&#8217;s <a title="Why Twitter's New Security Solution Could Pave the Way to a Future Web of Mashups - ReadWriteWeb" href="http://www.readwriteweb.com/archives/why_twitters_new_oauth_matters.php" target="_blank">been predicted that it&#8217;ll &#8216;pave the way&#8217;</a> for a whole host of new apps and more mash-ups to come &#8211; presumably using both Twitter&#8217;s data or for new platforms to be built upon. I imagine this prediction sees a point where users are familiar with the authentication process, confident that their data can be accessed securely and within their control.</p>
<p>As I said in my post about &#8216;Sign in with Twitter&#8217; &#8211; Twitter is an incredible tool and is becoming ever more powerful and recognised as such. Although it&#8217;s not like it&#8217;s popularity won&#8217;t increase anyway, but if some people&#8217;s qualms and easy criticisms of Twitter, of which security always scores highly, are solved by these kind of platform advances, there will be no denying it as a leader, rather than a <em>contender</em>, in the social Web landscape.</p>
<p>It must be said though, OAuth isn&#8217;t infallible. Only two weeks ago, Twitter <a title="Twitter Blog: What's The Deal with OAuth?" href="http://blog.twitter.com/2009/04/whats-deal-with-oauth.html" target="_blank">took down their OAuth support</a> in response to the uncovering of a vulnerability, though they weren&#8217;t the only ones affected.</p>
<h3><a name="And_then_there's_phishing.." class="anchor">And then there&#8217;s phishing..</a></h3>
<p>I mentioned the phishing attacks that Twitter suffered in January &#8211; <a title="Twitter Blog: Monday Morning Madness" href="http://blog.twitter.com/2009/01/monday-morning-madness.html" target="_blank">thirty-three &#8216;high-profile&#8217; Twitter accounts were phished and hacked</a>. It saw a good effort on Twitter&#8217;s part for reacting quickly and fixing the problems, only two days prior they had <a title="Twitter Blog: Gone Phishing" href="http://blog.twitter.com/2009/01/gone-phishing.html" target="_blank">released a notification</a> to be aware of such scams.</p>
<p>During this time, Twitter was a great source for debate and argument over how to resolve its own issues.</p>
<p>I follow a lot of developers and platform evangelists including <a title="Alex Payne (al3x) on Twitter" href="http://twitter.com/al3x" target="_blank">Alex Payne</a>, Twitter&#8217;s API Lead, <a title="Twitter / Alex Payne: If I had slept any worse l ..." href="http://twitter.com/al3x/status/1097572111" target="_blank">as he battled through</a> the security breach. Another is <a title="Aral Balkan (aral) on Twitter" href="http://twitter.com/aral" target="_blank">Aral Balkan</a> and between the two of them they voiced some fair criticisms (<a title="Twitter / Aral Balkan: @al3x You need to educate  ..." href="http://twitter.com/aral/status/1096857946" target="_blank">1</a>, <a title="Twitter / Aral Balkan: RT @blaine: I don't sympat ..." href="http://twitter.com/aral/status/1097090081" target="_blank">2</a>, <a title="Twitter / Aral Balkan: @al3x Of course it does. T ..." href="http://twitter.com/aral/status/1096855679" target="_blank">3</a>) and argued out a lot of issues (<a title="Twitter / Alex Payne: @tensigma Just saying that ..." href="http://twitter.com/al3x/status/1096082362" target="_blank">1</a>, <a title="Twitter / Alex Payne: @aral Phishing attacks and ..." href="http://twitter.com/al3x/status/1095896108" target="_blank">2</a>).</p>
<p>As Alex says, OAuth does not prevent phishing, Twitter are aware of this. The very premise of phishing, that of dressing a trap as a legitimate and trusted source, can be extended to OAuth implementations, too &#8211; but it does make it easier to handle and by using OAuth, instead of Basic HTTP Auth, builds user trust along the way.</p>
<p>Up until now, Basic Auth has been a large part of Twitter&#8217;s API success &#8211; OAuth is an additional high hurdle for new developers. <a title="Twitter API Wiki / Authentication" href="http://apiwiki.twitter.com/Authentication" target="_blank">Twitter admit</a>, they&#8217;ll give at least 6 months lead time before making any policy changes and they&#8217;ve no plans in the near term to <em>require </em>OAuth.</p>
<p>Alex did a good job of pointing out helpful resources and blog posts for those joining the debate. One was <a title="Effluxion - OAuth, Phishing, and Twitter" href="http://blog.joncrosby.me/post/68470033/oauth-phishing-and-twitter" target="_blank">Jon Crosby&#8217;s post about the phishing attacks</a>, which, <a title="Twitter / Alex Payne: Another great explanation  ..." href="http://twitter.com/al3x/status/1097776985" target="_blank">as he says</a>, is a great explanation of the correlation of OAuth to phishing attacks &#8211; which is to say, essentially none. It&#8217;s short post but clearly outlines the difference between authentication and authorisation &#8211; and in Alex posting it, shows Twitter&#8217;s awareness of the problem and understanding of what OAuth is and is not.</p>
<p>Another was <a title="Phishing Fools? - Lachstock" href="http://log.lachstock.com.au/past/2008/4/1/phishing-fools/" target="_blank">Lachlan Hardy&#8217;s post about phishing</a> (<a title="Twitter / Alex Payne: Smart folks like @lachlanh ..." href="http://twitter.com/al3x/status/1096061528" target="_blank">via</a>), which extends <a title="Adactio: Journal - The password anti-pattern" href="http://adactio.com/journal/1357" target="_blank">Jeremy Keith&#8217;s proposed &#8216;password anti-pattern&#8217;</a>. Keith thinks that accessing data by requesting login credentials is unacceptable, a cheap execution of a bad design practice. But interestingly he goes on to talk about the moral and ethical problems that developers experience &#8211; that although users will willingly give out their passwords and Basic Auth is an easier process to implement, as well as being a lower barrier of entry for users (again, look at Twitter&#8217;s success with it), we actually have a duty not to deceive them into thinking that it is acceptable behaviour.</p>
<p>Keith also talks about the pressure of the client, their need to add value to their applications &#8216;even when we know that the long-term effect is corrosive&#8217; &#8211; but when I read that, posted from Alex remember, and having read <a title="Alex Payne &amp;mdash; The Thing About Security" href="http://al3x.net/2009/01/12/the-thing-about-security.html" target="_blank">his thoughts on security from his own blog</a>, I wonder if Alex is hinting at something about Twitter outside of his control..</p>
<p>He is the only Twitter employee I follow so I tend to think of him the representative, but probably should think of them separately. <a title="Aral Balkan - The password anti-pattern and phishing scams - it's Twitter's fault" href="http://aralbalkan.com/1843" target="_blank">Aral&#8217;s post about the phishing scam</a> points the blame squarely at &#8216;Twitter&#8217;, but only in the last paragraph does he say so &#8216;stop blaming application developers&#8217; &#8211; and at that point I realise the devs at Twitter are just trying to do their jobs.</p>
<p>Actually, I&#8217;ve just noticed Marshall Kirkpatrick&#8217;s article &#8216;<a title="How the OAuth Security Battle Was Won, Open Web Style - ReadWriteWeb" href="http://www.readwriteweb.com/archives/how_the_oauth_security_battle_was_won_open_web_sty.php" target="_blank">How the OAuth Security Battle Was Won, Open Web Style</a>&#8216; at ReadWriteWeb, it talks about the down time of OAuth last month. It&#8217;s a pretty good read, reporting that the lead developers of the providers were all aware of the vulnerability as it went down, but quickly and effectively worked together to resolve the problem before really going public and risk inviting attacks.</p>
<p>As Marshall says, if OAuth was software, a fix could be implemented and pushed out to everyone who was using it &#8211; but it&#8217;s not, it&#8217;s &#8216;out in the wild&#8217; and no one party is in charge of it &#8211; it&#8217;s real victory that they all cooperated so quickly and so well to neutralise the threat.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2009/05/06/keep-it-to-yourself/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>4th Time Around</title>
		<link>http://blog.marchibbins.com/2009/04/23/4th-time-around/</link>
		<comments>http://blog.marchibbins.com/2009/04/23/4th-time-around/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 12:14:22 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[dataportability]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[openstandards]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://hibbins.wordpress.com/?p=544</guid>
		<description><![CDATA[Last year Facebook released Facebook Connect and about the same time Google released Friend Connect, they're two very similar services. Now, this week, Twitter have announced their connection service, called 'Sign in with Twitter'.]]></description>
			<content:encoded><![CDATA[<p>Last year Facebook released <a title="Facebook Developers | Facebook Connect" href="http://developers.facebook.com/connect.php" target="_blank">Facebook Connect</a> and about the same time Google released <a title="Google Friend Connect - add social features to your site" href="http://www.google.com/friendconnect/" target="_blank">Friend Connect</a>, they&#8217;re two very similar services that allow users to connect with information and with their friends of the respective native platforms from third-party enabled sites. The intention, <a title="Connect - Marc Hibbins" href="http://hibbins.wordpress.com/2008/12/17/connect/" target="_blank">as I&#8217;ve written about before</a>, is to add a layer of social interaction to &#8216;non-social&#8217; sites, to connect your information and activity on these third-party sites to your information and activity (and contacts) on the original platforms.</p>
<p>Then <a title="Three - Marc Hibbins" href="http://hibbins.wordpress.com/2009/03/05/three/" target="_blank">in March</a>, Yahoo! announced their service sign-on, called <a title="Updates API - YDN" href="http://developer.yahoo.com/social/updates/" target="_blank">Yahoo! Updates</a>.</p>
<p>Now, this week, Twitter have announced their connection service, called &#8216;<a title="Twitter API Wiki / Sign in with Twitter" href="http://apiwiki.twitter.com/Sign-in-with-Twitter" target="_blank">Sign in with Twitter</a>&#8216;. It too gives you a secure authenticated access to your information and contacts, in exactly the same way the others do &#8211; except this time, it&#8217;s Twitter.</p>
<p><img class="aligncenter size-full wp-image-545" title="Sign in with Twitter" src="http://hibbins.files.wordpress.com/2009/04/twitter_signin.png" alt="Sign in with Twitter" width="153" height="24" /></p>
<p>You might ask if we have three, do we need a fourth? Have you ever used any of the other three?</p>
<p>But don&#8217;t dismiss it, or think it Twitter are jumping on to any kind of bandwagon, Twitter&#8217;s implementation is fundamentally different to the others &#8211; and it could cause quite a stir.</p>
<p>The problem with the other services (ultimately the problem with the platforms) is, more than often not, they are completely closed and non-portable. Although you can sign-in to a third-party site and access your data, there&#8217;s a lot of limitation to what you can retrieve and publish. These popular social networks have grown and amassed huge amounts of members and data which they horde and keep to themselves. I&#8217;m not talking about privacy, I&#8217;m referring to data portability.</p>
<p>The infrastructures are like locked-in silos of information and each built differently, because, either, they never considered that you&#8217;d want to make your data portable or they didn&#8217;t then want (or see value) in you moving your data anywhere else. The services they&#8217;ve created to &#8216;connect&#8217; to your data are also proprietary methods &#8211; custom built to channel in and out of those silos. Each of those services too, are singularities, they won&#8217;t work with each other.</p>
<p>Twitter though, have come up with a solution that adheres to agreed upon standards, specifically, by using <a title="OAuth - An open protocol to allow secure API authorization in a simple and standard method from desktop and web applications." href="http://oauth.net/" target="_blank">OAuth</a> to facilitate it&#8217;s connection. Technically, it&#8217;s significantly different, but in practice, you can expect it to do everything the others can do.</p>
<h3><a name="The_community's_thoughts" class="anchor">The community&#8217;s thoughts</a></h3>
<p>Yahoo&#8217;s Eran Hammer-Lahav (a frequent contributor to OAuth) has <a title="Hueniverse - Introducing 'Sign-in with Twitter', OAuth-Style &quot;Connect&quot;" href="http://www.hueniverse.com/hueniverse/2009/04/twitter-connect.html" target="_blank">written a good post</a> discussing his thoughts, he says it&#8217;s &#8216;Open done right&#8217; &#8211; no proprietary &#8216;special sauce&#8217; clouds interoperability as happens with Facebook Connect. I think he&#8217;s right.</p>
<p>He looks at what happened when Facebook Connect was introduced, that they essentially offered third-party sites two key features: the ability to use existing Facebook accounts for their own needs, and access Facebook social data to enhance the site. The value of Facebook Connect is to save sites the need to build their own social layer. Twitter though, is not about yet another layer, but doing more with that you&#8217;ve already got.</p>
<p>Marshall Kirkpatrick <a title="A Better Calling Card: Twitter Challenges Facebook Connect - ReadWriteWeb" href="http://www.readwriteweb.com/archives/a_better_calling_card_twitter_challenges_facebook.php" target="_blank">also wrote about the announcement</a>, his metaphor for the other &#8216;connection&#8217; services best describes how they function &#8211; &#8216;it&#8217;s letting sites borrow the data &#8211; not setting data free&#8217;.</p>
<p>But then he talks about Twitter &#8216;as a platform&#8217;, and I think this is where things get interesting. He says:</p>
<blockquote><p>Twitter is a fundamentally different beast.</p>
<p>All social networking services these days want to be &#8220;a platform&#8221; &#8211; but it&#8217;s really true for Twitter. From desktop apps to social connection analysis programs, to services that will Twitter through your account when a baby monitoring garment feels a kick in utero &#8211; there&#8217;s countless technologies being built on top of Twitter.&#8221;</p></blockquote>
<p>He&#8217;s right. Twitter apps do pretty much anything and <em>everything </em>you can think of on top of Twitter, not just the primary use of sending and receiving tweets. I love all the OAuth and open standards adoption &#8211; but that&#8217;s because I&#8217;m a developer, but thinking about Twitter as a platform makes me wonder what kind of effect this will have on the users, how it could effect the climate, even landcape, of social media if, already being great, Twitter is given some real <em>power</em>. </p>
<p>People have long questioned Twitter&#8217;s future &#8211; it&#8217;s business model, how it can be monetised, those things are important &#8211; but where can it otherwise go and how can it expand? Does it need to &#8216;expand&#8217;? It&#8217;s service is great it doesn&#8217;t need to start spouting needless extras and I don&#8217;t think it will. But in widening it&#8217;s connectivity, it&#8217;s adaptability, I think could change our perception of Twitter &#8211; it&#8217;s longevity and road map, the way we use it and think of ourselves using it.</p>
<h3><a name="My_Thoughts" class="anchor">My Thoughts</a></h3>
<p>Irrelevant of Richard Madeley or Oprah Winfrey&#8217;s evangelism, Twitter is an undeniable success.</p>
<p>When Facebook reworked and redesigned their feed and messaging model, I almost couldn&#8217;t believe it. What was the &#8216;status&#8217; updates, basically <em>IS </em>Twitter now, and that&#8217;s it&#8217;s backbone. It&#8217;s Twitter&#8217;s messaging model, it asks &#8216;What&#8217;s on your mind?&#8217;.</p>
<p>I&#8217;m probably not the only one who thought this, I&#8217;d guess any complaints about this being a bit of a blatant rip-off were bogged down by all the negativity about the interface redesign.</p>
<p>I think Facebook realised that Twitter has become a real rival. I think (and I guess Facebook also think) that as people become more web-savvy and literate to these sociable websites, they want to cleanse.</p>
<p>The great appeal of Twitter for me was, <em>ingeniously</em>, they took a tiny part of Facebook (this is how I saw it two years ago anyway) and made it their <em>complete </em>function &#8211; simple, short updates. Snippets of personal insight or creative wisdom, it didn&#8217;t matter really, what was important was it ignored the fuss and noise of whatever else Facebook had flying around it&#8217;s own ecology (and this was before Facebook applications came around) and took a bold single straight route through the middle of it.</p>
<p>Looking back, a lot of Facebook&#8217;s early adoption could be attributed to people growing restless with the noise and fuss of MySpace at the time &#8211; Facebook then was a clean and more structured an option.</p>
<p>I remember Twitter was almost ridiculed for basing it&#8217;s whole premise on such a minute part of Facebook&#8217;s huge machine. Now look at the turnaround.</p>
<p>Now people are growing up out of Web 2.0 craze. A lot went on, there was a lot of &#8216;buzz&#8217;, but a lot of progress was made in connecting things. People now are far more connected, but perhaps they&#8217;re over-connected, struggling from what <a title="Joseph Smarr - About Me" href="http://josephsmarr.com/about/" target="_blank">Joseph Smarr</a> calls &#8216;social media fatigue&#8217;. People they have multiple accounts in a ton of dispersed and unconnected sites around the web &#8211; true, each unique and successful for it&#8217;s own achievements &#8211; but it can&#8217;t go on.</p>
<p>Twitter for me is streamlined, <em>cleansed</em>, publishing. Whether talking about what I&#8217;m doing or finding out information from people or about topics that I follow, the 140 character limit constrains these utterances to be concise and straight-to-the-point pieces of information. The &#8216;@&#8217; replies and hashtags are brilliant mechanisms conceived to create connections between people and objects where there is almost no space to do so.</p>
<p>I use my blog to write longer discourse, I use my Twitter to link to it. Likewise with the music I listen to, I can tweet Spotify URIs. I link to Last.fm events and anything particularly good I&#8217;ve found (and probably bookmarked with Delicious) I&#8217;ll tweet that out too.</p>
<p>Twitter for me is like a central nervous system for my online activities. I won&#8217;t say &#8216;backbone&#8217; &#8211; because it&#8217;s <em>not </em>that heavy. Specifically a nervous system in the way it intricately connects my online life, spindling and extending out links, almost to itself be like a lifestream in micro.</p>
<p>Recently, I saw <a title="Scripting News: 4/21/2009" href="http://www.scripting.com/" target="_blank">Dave Winer</a>&#8216;s &#8216;<a title="Dave's continuous bootstrap on Flickr - Photo Sharing!" href="http://www.flickr.com/photos/scriptingnews/3456285657/" target="_blank">Continuous Bootstrap</a>&#8216; which although is admittedly a bit of fun, describes the succession of platforms deemed social media &#8216;leaders&#8217; (<a title="Gartner's curve (Scripting News)" href="http://www.scripting.com/stories/2009/04/19/gartnersCurve.html" target="_blank">see the full post here</a>).</p>
<p>What I initially noticed is that he aligns successful platforms &#8211; blogging, podcasting &#8211; with a single application: Twitter. It doesn&#8217;t matter whether he is actually suggesting that Twitter alone is as successful as any single publishing <em>form</em>, but it did make me wonder if Twitter, rather than being the current &#8216;holder of the baton&#8217;, will actually be the spawn for whatever kind of Web-wide platform does become popular next.</p>
<p>If the real Data Portability revolution is going to kick in, if it&#8217;s on the cusp of starting right now and everything will truly become networked and connected &#8211; would you rather it was your Twitter connections and voice that formed that basis for you or your Facebook profile?</p>
<p>I know I&#8217;d much rather read explore the connections I&#8217;ve made through Twitter. The kind of information I&#8217;d get back from the type of people who&#8217;d connect in this way would be far more relevant from my pool of Twitter connections rather than the old school friends and family members (notoriously) who&#8217;ve added me on Facebook, the kind that just add you for the sake of it.</p>
<p>If Web 3.0 (or whatever you want to call it) is coming soon, I&#8217;d rather detox. Twitter is slimmer and still feels fresh to start it out with. For me, Facebook feels far too heavy now, out of date and messy. Maybe I&#8217;m being unfair and I feel that way because I&#8217;ve fallen out of touch with it and now I visit less frequently, but all the negativity hasn&#8217;t done it any favours &#8211; and those complaints aren&#8217;t unfounded.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2009/04/23/4th-time-around/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Friends Go Anywhere</title>
		<link>http://blog.marchibbins.com/2008/12/19/friends-go-anywhere/</link>
		<comments>http://blog.marchibbins.com/2008/12/19/friends-go-anywhere/#comments</comments>
		<pubDate>Thu, 18 Dec 2008 23:47:59 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[facebook]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://hibbins.wordpress.com/?p=271</guid>
		<description><![CDATA[Facebook Connect and Google Friend Connect - two recently launched, very similar services going head-to-head in the ambitious aim of ‘opening up’ the social web. But what would that actually be like?]]></description>
			<content:encoded><![CDATA[<p>The other day I <a title="Connect - Marc Hibbins" href="http://hibbins.wordpress.com/2008/12/17/connect/" target="_blank">wrote </a>about <a title="Facebook Developers | Resources" href="http://developers.facebook.com/connect.php" target="_blank">Facebook Connect</a> and <a title="Google Friend Connect - Add social features to your site" href="http://www.google.com/friendconnect/" target="_blank">Google Friend Connect</a> - two recently launched, very similar services going head-to-head in the ambitious self-proclaimed aim of &#8216;opening up&#8217; the social web.</p>
<p>But if these platforms are successful, what will that actually be like? The demo sites Google provides are good for functional demonstrations but little else. There&#8217;s <a title="Facebook Connect Live Sites - Facebook Developers Wiki" href="http://wiki.developers.facebook.com/index.php/Facebook_Connect_Live_Sites" target="_blank">a complete list of sites</a> that use Facebook Connect up on their dev wiki &#8211; there&#8217;s <a title="Joost and Facebook ... Connected - Joost" href="http://blog.joost.com/2008/12/joost_and_facebook_connected_1.html" target="_blank">Joost</a>, <a title="Netvibes Announces Integration with Facebook Connect, Powering Personalized News Sharing for Millions of Facebook Users - Netvibes.com Blog" href="http://blog.netvibes.com/?2008/10/10/205-netvibes-announces-integration-with-facebook-connect-powering-personalized-news-sharing-for-millions-of-facebook-users" target="_blank">Netvibes</a> and <a title="TechCrunch Is Now &quot;In A Relationship&quot; With Facebook Connect" href="http://www.techcrunch.com/2008/12/03/techcrunch-is-now-in-a-relationship-with-facebook-connect/" target="_blank">TechCrunch</a>, but no-one with such a diverse and active user base like Twitter.</p>
<p>Then on Monday came on the news that Twitter chose to Connect with Google&#8217;s service. It&#8217;s strange that there wasn&#8217;t more made of the announcement, considering what could come of it.</p>
<p>Twitter hardly said much about it at all <a title="Friends in More Places" href="http://blog.twitter.com/2008/12/friends-in-more-places.html" target="_blank">on their blog</a>, Google <a title="Welcome to Google Friend Connect" href="http://googleblog.blogspot.com/2008/12/twitter-welcome-to-google-friend.html" target="_blank">covered it in more depth</a> but also provided the first real recognisable use case for an integrated site. Now whenever you join a &#8216;Friend Connected&#8217; site, you can use your Twitter profile to join their service. From there, you can see of a combination of your followers and those who you follow that are already on the site and connect with them there too. You can tweet about your find from the connected website&#8217;s portal.</p>
<p>Getting a big site like Twitter on board will really kick Friend Connect up a gear, undoubtedly it&#8217;ll receive a massive increase in attention. But it&#8217;s not like Facebook Connect is by any means down or out &#8211; it&#8217;s so early. If anything, the introduction of these services to such widely used web apps as an almost unblinkingly &#8216;standard&#8217; feature (this will eventually boil down to a simple &#8216;Connect&#8217; button) could positively change users&#8217; perceptions of them to being just commonplace. I&#8217;m sure that&#8217;s the ultimate intention, but right now it&#8217;ll work in favour for any such service, be it Facebook Connect or any other.</p>
<p>It&#8217;ll be a while before we see any real difference in the reception or growth of implementation for either service, whether by then we have a preferred leader or not.</p>
<p>I&#8217;m interested to see how Facebook will respond in aiming to get as big a site as Twitter integrated with Connect. Prior to the Twitter inclusion, I felt that Google&#8217;s Friend Connect came across almost like a developer&#8217;s toolkit &#8211; like a set of ready-made widgets to enhance onto your site, boosted by the capability to network centrally. But now I&#8217;ve seen it in action, Facebook have a undeniable rival product.</p>
<p>It should be said of course that Twitter hasn&#8217;t really chosen Google <em>over </em>Facebook. <a title="Twitter / biz" href="http://twitter.com/Biz" target="_blank">Biz</a> Stone wrote that there was hardly any effort required on Twitter&#8217;s part - Google maybe just got in there first.</p>
<p>It&#8217;s in <a title="Let's All Be Friends!" href="http://blog.twitter.com/2008/12/lets-all-be-friends.html" target="_blank">the same post</a> he goes on to say that Facebook Connect integration is already in development. Twitter <a title="MySpace and Twitter" href="http://blog.twitter.com/2008/05/myspace-and-twitter.html" target="_blank">officially announced integration with MySpace</a> and the <a title="MySpace Embraces DataPortability, Partners With Yahoo, Ebay And Twitter" href="http://www.techcrunch.com/2008/05/08/myspace-embraces-data-portability-partners-with-yahoo-ebay-and-twitter/" target="_blank">Data Availability initiative</a> seven months ago &#8211; they&#8217;re embracing everything they can, good on &#8216;em.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2008/12/19/friends-go-anywhere/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Possibly, Maybe..</title>
		<link>http://blog.marchibbins.com/2008/08/19/possibly-maybe/</link>
		<comments>http://blog.marchibbins.com/2008/08/19/possibly-maybe/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 17:44:00 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://hibbins.wordpress.com/?p=86</guid>
		<description><![CDATA[In my last post I wrote about my disappointment with Twitter’s cancellation of outgoing SMS updates. I received a comment raising an interesting question.]]></description>
			<content:encoded><![CDATA[<p><em>Note: this is a response to my previous article, <a title="It's Oh So Quiet - Marc Hibbins" href="http://hibbins.wordpress.com/2008/08/17/its-oh-so-quiet/" target="_self">It&#8217;s Oh So Quiet</a>.</em></p>
<p>In my last post I wrote about my disappointment with <a title="Changes for Some SMS Users—Good and Bad News" href="http://blog.twitter.com/2008/08/changes-for-some-sms-usersgood-and-bad.html" target="_blank">Twitter&#8217;s cancellation of outgoing SMS</a> updates. I received a comment from my brother, raising an interesting question:</p>
<blockquote><p>Some good points, bro.</p>
<p>What I can&#8217;t understand is why the major networks haven&#8217;t started a joint initiative that allows broadcast conversations like Twitter had over SMS. Users could send broadcast texts for the price of a single text (given that it must cost the network the tiniest fraction of 10p to send a message) to a group of up to their friends. I reckon it&#8217;d be a good way to increase SMS usage.</p>
<p>I suppose the reason they haven&#8217;t is that all of this will be changing over the next few years as people email better integrated into their phones. With the mobile phone networks just be happy to take money for data usage instead of SMS.</p></blockquote>
<p>I must say I agree, the migration of voice calls to VoIP too, is as (if not more) inevitable in the long run as mobile phones become even more seamlessly integrated as ubiquitous computers.</p>
<p>But a <a title="3jam Launches Twitter SMS Service - ReadWriteWeb" href="http://www.readwriteweb.com/archives/3jam_launches_twitter_sms_service.php" target="_blank">ReadWriteWeb article today</a> about the launch of another new &#8216;pay-to-tweet&#8217; service from <a title="3jam SuperText is your free text message inbox on the web" href="http://www.3jam.com/" target="_blank">3jam</a>, suggests possibly the best solution to fill the Twitter SMS-void, they believe, because they already offer a service that does almost exactly that.</p>
<p>&#8216;Supertext&#8217; is group text messaging from the web on an credited account basis. But as Sarah Perez points out, 3jam already operate on a large scale and with huge volumes of SMS, so surely they should be in a great place to to negotiate a good, i.e. cheap, deal.</p>
<p>Could it be so &#8216;good&#8217; that it&#8217;s worth paying for a previously free service? Maybe. As she asks, is there enough worldwide demand for Twitter via SMS for any of these pay-for-Twitter services to make it?</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2008/08/19/possibly-maybe/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>It&#8217;s Oh So Quiet</title>
		<link>http://blog.marchibbins.com/2008/08/17/its-oh-so-quiet/</link>
		<comments>http://blog.marchibbins.com/2008/08/17/its-oh-so-quiet/#comments</comments>
		<pubDate>Sun, 17 Aug 2008 12:11:10 +0000</pubDate>
		<dc:creator>Marc Hibbins</dc:creator>
				<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://hibbins.wordpress.com/?p=83</guid>
		<description><![CDATA[Twitter are no longer delivering outbound SMS over their UK number, so although UK users can still use it to update, they will no longer receive remote device notifications.]]></description>
			<content:encoded><![CDATA[<p>Pretty gutted about <a title="Twitter" href="http://twitter.com/" target="_blank">Twitter&#8217;s</a> <a title="Changes for Some SMS Users—Good and Bad News" href="http://blog.twitter.com/2008/08/changes-for-some-sms-usersgood-and-bad.html" target="_blank">changes to their SMS service</a>. They&#8217;re no longer delivering outbound SMS over their UK number, so although UK users can still use it to update, they will no longer receive remote device notifications.</p>
<p>When Twitter <a title="TechCrunch UK - Blog Archive - Twitter starts to limit outbound SMS in UK" href="http://uk.techcrunch.com/2007/11/19/twitter-starts-to-limit-outbound-sms-in-uk/" target="_blank">introduced a limit</a> of 250 international device updates per month last November, I could deal with it &#8211; I myself not afflicted with what Mike Butcher diagnoses as &#8216;Twitarrhoea&#8217; &#8211; and could see the reasoning. <a title="Twitter Support" href="http://help.twitter.com/index.php?pg=kb.page&amp;id=80" target="_blank">Twitter support</a> concedes the issue to expense and cost effectiveness, presumably the volume of international traffic can still be handled stably, I guess they just can&#8217;t strike the right deal with UK providers.<a title="Twitter Ends SMS Support In UK; Says Costs Up To $1,000/user/year" href="http://www.techcrunch.com/2008/08/13/twitter-ends-sms-support-in-uk-says-costs-up-to-1000useryear/" target="_blank"> Michael Arrington reports</a> that cost to be $1,000 per UK user, per year &#8211; a staggering figure.</p>
<p>But Butcher also questions two interesting outcomes. Whether:</p>
<blockquote><p>&#8220;UK users may start unsubscribing from people who tweet incessantly.&#8221;<br />
&#8220;Or they will cut down the number of Twitterers they follow.&#8221;</p></blockquote>
<p>Whilst I find the first almost motivating, that a community moves to prune and better itself, solving to enrich a collective exchange, the latter troubles me &#8211; that an established, relied on service (albeit reluctantly) makes changes to their business model, directly effecting, by way of forced change, our social behaviour online &#8211; clipping our activity and way of interaction.</p>
<p>I&#8217;d be interested to see how, or even whether, the behaviour of Twitter users and usage changes with geo-location. I am part of a community of Twitterers of around 15 who each closely follow and are followed by each other, internally. We&#8217;re very aware that we believe our use of Twitter to be quite different from most others &#8211; or at least it was in the very beginning when we first joined. For us, far from a micro-blogging platform, it is a mechanism almost purely for group social communication. Although due to our careers, sparks of debate are often <a title="Twitter Is The Tech Water Cooler - ReadWriteWeb" href="http://www.readwriteweb.com/archives/twitter_is_the_tech_water_cooler.php" target="_blank">tech-centered</a> &#8211; it&#8217;s by and large far more recreational than at all <a title="The Rise of Twitter as a Platform for Serious Discourse - ReadWriteWeb" href="http://www.readwriteweb.com/archives/the_rise_of_twitter_as_a_platform_for_serious_discourse.php" target="_blank">serious</a>.</p>
<p>I&#8217;m not alone in expressing my feelings, and <a title="TechCrunch UK - Blog Archive - Twitter cuts UK SMS - there goes another business model" href="http://uk.techcrunch.com/2008/08/14/twitter-cuts-sms-there-goes-another-business-model/" target="_blank">it&#8217;s not pretty</a>. Hopefully the effects of this change will be prolonged and result in either a celebrated reversion or at least some kind of solution &#8211; like the <a title="cut Twitter a decent deal on SMS charges" href="http://www.facebook.com/group.php?gid=23679055487" target="_blank">Facebook group</a> earnestly <a title="Twitter cancels UK SMS - the Facebook campaign to sort it out | Online Journalism Blog" href="http://onlinejournalismblog.com/2008/08/14/twitter-cancels-uk-sms-announcing-a-facebook-campaign-to-sort-it-out/" target="_blank">campaigning to cut Twitter a decent deal</a>, rather than <a title="tweetSMS to Bring SMS Updates Back to UK Twitter Users" href="http://mashable.com/2008/08/14/tweetsms/" target="_blank">opportunists</a> gaining from the downtime.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.marchibbins.com/2008/08/17/its-oh-so-quiet/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

