<?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/"
	xmlns:media="http://search.yahoo.com/mrss/">

<channel>
	<title>Open Parenthesis &#187; API</title>
	<atom:link href="http://www.openparenthesis.org/tag/api/feed" rel="self" type="application/rss+xml" />
	<link>http://www.openparenthesis.org</link>
	<description>Because these are the early days of a long revolution . . .</description>
	<lastBuildDate>Mon, 30 Jan 2012 16:13:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Retweeting the Right Way</title>
		<link>http://www.openparenthesis.org/2010/09/18/retweeting-the-right-way</link>
		<comments>http://www.openparenthesis.org/2010/09/18/retweeting-the-right-way#comments</comments>
		<pubDate>Sat, 18 Sep 2010 19:48:18 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[OAuth]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[ReTweet]]></category>
		<category><![CDATA[retweeter]]></category>
		<category><![CDATA[script]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=2353</guid>
		<description><![CDATA[Retweet Shirt Photo by Deb Hanson - http://www.flickr.com/photos/debspace/3766841512/ Just released an update to ReTweeter (1.1), which now uses the Twitter API for Retweeting. This means that instead of the traditional &#8220;RT: @username&#8221; syntax, the retweeted tweets will now show Twitter&#8217;s little retweet icon and the link to the original tweet (where it says &#8220;about 4 [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_2354" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet.jpg"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x367.jpg" alt="" title="retweet" width="490" height="367" class="size-large wp-image-2354" /></a><p class="wp-caption-text">Retweet Shirt Photo by Deb Hanson - http://www.flickr.com/photos/debspace/3766841512/</p></div>
<p>Just released an update to ReTweeter (1.1), which now uses the Twitter API for Retweeting. This means that instead of the traditional &#8220;RT: @username&#8221; syntax, the retweeted tweets will now show Twitter&#8217;s little retweet icon and the link to the original tweet (where it says &#8220;about 4 hrs ago&#8221;) preserved, and the retweeting user&#8217;s name at the bottom, like so:</p>
<div id="attachment_2355" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x233.png" alt="" title="retweet" width="490" height="233" class="size-large wp-image-2355" /></a><p class="wp-caption-text">Screencap by  Jeronimo Palacios - http://www.flickr.com/photos/jeronimo_palacios/4093181811/</p></div>
<p>Instead of what Retweeter used to produce, which looked more like this (rt: @username):</p>
<p><!-- http://twitter.com/jeckman/status/23167924045 --><br />
<style type='text/css'>.bbpBox_65510315{background:url(http://a1.twimg.com/profile_background_images/17367210/3607571063_ebd067a854_o.jpg) #696559; padding:20px;}p.bbpTweet_65510315{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px}p.bbpTweet_65510315 span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6}p.bbpTweet_65510315 span.metadata span.author{line-height:19px}p.bbpTweet_65510315 span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px}p.bbpTweet_65510315 a {color: #0000ff; text-decoration:none;}p.bbpTweet_65510315 a:hover{text-decoration:underline}p.bbpTweet_65510315 span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox_65510315'>
<p class='bbpTweet_65510315'>rt: @<a  href="http://twitter.com/drunkjeckman" title="drunkjeckman on Twitter">drunkjeckman</a> Let&#8217;s also see that new format with the rt: and the @ to the original author <a href="http://search.twitter.com/search?q=jeckman" title="#jeckman search Twitter">#jeckman</a><span class='timestamp'><a title='Mon Sep 06 18:35:02 +0000 2010' href='http://twitter.com/jeckman/status/23167924045'>Sep 06</a> via <a href="http://openparenthesis.org/code/twitter/" rel="nofollow">OPRetweeter</a></span><span class='metadata'><span class='author'><a href='http://twitter.com/jeckman'><img src='http://a1.twimg.com/profile_images/330076305/eckman_large_normal.jpg' /></a><strong><a href='http://twitter.com/jeckman'>John Eckman</a></strong><br/>jeckman</span></span></p>
</div>
<p>Or this (username: tweet):</p>
<p><!-- http://twitter.com/vegsxsw/status/768571995 --><br />
<style type='text/css'>.bbpBox_26505929{background:url(http://s.twimg.com/a/1284676327/images/themes/theme1/bg.png) #C0DEED; padding:20px;}p.bbpTweet_26505929{background:#fff;padding:10px 12px 10px 12px;margin:0;min-height:48px;color:#000;font-size:18px !important;line-height:22px;-moz-border-radius:5px;-webkit-border-radius:5px}p.bbpTweet_26505929 span.metadata{display:block;width:100%;clear:both;margin-top:8px;padding-top:12px;height:40px;border-top:1px solid #fff;border-top:1px solid #e6e6e6}p.bbpTweet_26505929 span.metadata span.author{line-height:19px}p.bbpTweet_26505929 span.metadata span.author img{float:left;margin:0 7px 0 0px;width:38px;height:38px}p.bbpTweet_26505929 a {color: #0084B4; text-decoration:none;}p.bbpTweet_26505929 a:hover{text-decoration:underline}p.bbpTweet_26505929 span.timestamp{font-size:12px;display:block}</style>
<div class='bbpBox_26505929'>
<p class='bbpTweet_26505929'>jeckman: <a href="http://search.twitter.com/search?q=vegsxsw" title="#vegsxsw search Twitter">#vegsxsw</a> Lunch near @<a  href="http://twitter.com/barcampaustin" title="barcampaustin on Twitter">barcampaustin</a> at Whole Foods: 12:30ish<span class='timestamp'><a title='Sat Mar 08 18:18:02 +0000 2008' href='http://twitter.com/vegsxsw/status/768571995'>Mar 08 08</a> via web</span><span class='metadata'><span class='author'><a href='http://twitter.com/vegsxsw'><img src='http://a0.twimg.com/profile_images/50180412/icon_normal.jpg' /></a><strong><a href='http://twitter.com/vegsxsw'>vegsxsw</a></strong><br/>vegsxsw</span></span></p>
</div>
<p>Thanks to Cody Wilson at <a href="https://www.qccolab.com/home">QC Co-Lab</a> (<a href="http://twitter.com/qccolab/">@qccoloab</a>) for the patch for this. Of course, if you&#8217;d like to keep the old format, you can just set &#8216;USE_OLD_FORMAT&#8217; to true in the configuration section, and retweeter will keep using the older format. </p>
<p>I&#8217;ve also started storing the md5 hash (required for OAuth) in the database instead of recalculating it each time retweeter gets called. (If you ever need to change your md5 hash, say because you&#8217;ve regenerated your OAuth token at Twitter, just delete the row in the &#8216;conf&#8217; table and retweeter will create a new hash the next time it runs). </p>
<p>Note that you will have to alter database tables if you&#8217;ve previously used a version of ReTweeter from 1.0 or before &#8211; but I&#8217;ve included the necessary SQL statements in the README included with the download. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2010/09/18/retweeting-the-right-way/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x367.jpg" length="33420" type="image/jpeg" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2010/09/retweet-490x367.jpg" width="490" height="367" medium="image" type="image/jpeg" />	</item>
		<item>
		<title>Sunday Coding &#8211; ReTweeter, WPBook</title>
		<link>http://www.openparenthesis.org/2010/03/28/sunday-coding-retweeter-wpbook</link>
		<comments>http://www.openparenthesis.org/2010/03/28/sunday-coding-retweeter-wpbook#comments</comments>
		<pubDate>Sun, 28 Mar 2010 18:05:09 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=1743</guid>
		<description><![CDATA[Two quick Sunday updates. First, ReTweeter has been updated to 0.9.4. The fix here was primarily to deal with tweets which, when retweeted with the username prepended, were longer than 140 characters. Second, WPBook has been updated to 1.5.3. This includes a new option to enable publishing to the wall of a Fan Page independent [...]]]></description>
			<content:encoded><![CDATA[<p>Two quick Sunday updates. </p>
<p>First, <a href="http://www.openparenthesis.org/code/twitter-api">ReTweeter has been updated to 0.9.4</a>. The fix here was primarily to deal with tweets which, when retweeted with the username prepended, were longer than 140 characters. </p>
<p>Second, <a href="http://wordpress.org/extend/plugins/wpbook/">WPBook</a> has been updated to 1.5.3. This includes a new option to enable publishing to the wall of a Fan Page independent of publishing to the author&#8217;s personal wall. (1.5, 1.5.1, and 1.5.2 all could publish to Fan Page walls, but also published to the author&#8217;s wall, which in many cases results in duplication for many of your friends and fans.) </p>
<p>Also in 1.5.3 is some improved error checking (fixed the &#8220;activation on PHP 4 hosts&#8221; bug and added more Try/Catch pairs around Facebook client calls) and the ability to support old school permalink urls with query string parameters. </p>
<p>Good to be home on the weekend . . . </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2010/03/28/sunday-coding-retweeter-wpbook/feed</wfw:commentRss>
		<slash:comments>68</slash:comments>
		</item>
		<item>
		<title>WPBook 1.4 Released</title>
		<link>http://www.openparenthesis.org/2010/01/04/wpbook-1-4-released</link>
		<comments>http://www.openparenthesis.org/2010/01/04/wpbook-1-4-released#comments</comments>
		<pubDate>Mon, 04 Jan 2010 15:21:39 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[application]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[opensource]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=1685</guid>
		<description><![CDATA[(Update 1/14 &#8211; now 1.4.2. Fixes detailed in readme &#8211; Admin side javascript issue, issue with submitting comments for folks who install wordpress files in a subdirectory different than their root URL) (Updated 1/5 &#8211; it&#8217;s actually 1.4.1 now, as there was a typo in the theme/index.php file &#8211; get_exteral_url should be get_external_url). Last night [...]]]></description>
			<content:encoded><![CDATA[<p>(Update 1/14 &#8211; now 1.4.2. Fixes detailed in readme &#8211; Admin side javascript issue, issue with submitting comments for folks who install wordpress files in a subdirectory different than their root URL)</p>
<p>(Updated 1/5 &#8211; it&#8217;s actually 1.4.1 now, as there was a typo in the theme/index.php file &#8211; get_exteral_url should be get_external_url). </p>
<p>Last night I packaged and released version 1.4 of <a href="http://wordpress.org/extend/plugins/wpbook">WPBook</a>, the plugin I maintain which creates a view of your <a href="http://wordpress.org/">WordPress</a> blog as a <a href="http://facebook.com/">Facebook</a> application. </p>
<p>(For example, see <a href="http://www.openparenthesis.org/">Open Parenthesis as a blog</a>, and then <a href="http://apps.facebook.com/openparenthesis/">Open Parenthesis as a Facebook app</a>). </p>
<h3>Highlights of this release</h3>
<ul>
<li>Fixed bug which made invite friends link only work on the home page</li>
<li>Fixed bug in setting for custom/header footer which included a permalink<br />
(<a href="http://wordpress.org/support/topic/306263)" rel="nofollow">WordPress support topic 306263)</a></li>
<li>Added Gravatar support</li>
<li>Added (experimentally) a list of &#8220;pages&#8221; as well &#8211; this means you should able to use WPBook even if you have a static homepage set in WordPress &#8211; just use the url of your home page as the &#8220;Canvas Callback URL&#8221;</li>
<li>Removed hard coded references to wp-content and plugins directories<br />
(See <a href="http://willnorris.com/2009/05/wordpress-plugin-pet-peeve-hardcoding-wp-content)" rel="nofollow">http://willnorris.com/2009/05/wordpress-plugin-pet-peeve-hardcoding-wp-content)</a></li>
<li>Removed hard coded reference to config.php, routing Facebook comment submission through WordPress&#8217; built in query parser instead<br />
(See <a href="http://willnorris.com/2009/06/wordpress-plugin-pet-peeve-2-direct-calls-to-plugin-files)" rel="nofollow">http://willnorris.com/2009/06/wordpress-plugin-pet-peeve-2-direct-calls-to-plugin-files)</a></li>
</ul>
<p>As you can see, this was really more of a bug-fix and code cleanup release, with one experimental functional addition (pages). The one feature I didn&#8217;t get to but wanted to was threaded comment support (as in WordPress 2.7 and later). Would users want to be able to set threading differently inside Facebook than outside it? (I&#8217;m thinking that WPBook should just follow the settings in the blog it is installed to, with respect to threading &#8211; and perhaps gravatars as well, given how integrated with WordPress gravatars have become). </p>
<p>The next version will be more of a &#8220;feature set&#8221; release, and will also be the first version to require PHP 5. Although Facebook only officially supports a PHP 5 client library, I&#8217;ve been supporting PHP 4 by relying on an open source PHP 4 Facebook client. </p>
<p>The problem is that many of the operations most requested by users rely on Facebook API calls which sometimes fail. The PHP 5 client handles this by throwing exceptions, which WPBook needs to catch &#8211; something PHP 4 can&#8217;t do. </p>
<h3>What&#8217;s coming in 1.5</h3>
<p>Here&#8217;s my tentative roadmap:</p>
<ul>
<li>Threaded Comments &#8211; which may mean upping the minimum WordPress to 2.7 for simplicity&#8217;s sake. Given that we&#8217;re at 2.9 now I think that&#8217;s ok. </li>
<li>More work on Pages. Need to be able to list pages not to show inside Facebook, enable user to set page depth, maybe even show the top level pages as Facebook style tabs across the top of the application? (tricky inside an iFrame app)</li>
<li>PHP 5 required &#8211; this will allow me to trap &#8220;uncaught exceptions&#8221; which sometimes occur when users submit new blog posts. It&#8217;s a cosmetic error but a really ugly one which it happens, and as I use more and more Facebook calls it may happen more often. </li>
<li>Publish to Facebook&#8217;s <a href="http://wiki.developers.facebook.com/index.php/Stream.publish">Stream.publish</a> API when a new blog post is published &#8211; this is the most commonly requested feature. (Is it fair to assume the blog author is also the owner of the Facebook application? I had assumed so but that may not be the case &#8211; may require the user to enter his/her Facebook UID in WPBook for publishing to the stream)</li>
<li>Enable publishing to the wall of a Facebook &#8220;page&#8221; as well as a userwhen a new blog post is published. </li>
<li>Enable users leaving comments to also publish to the Facebook stream- has to be at the user&#8217;s discretion, but WPBook could offer to publish comments both to the stream of the user publishing the comment and to the blog author&#8217;s stream. </li>
</ul>
<p>What else would you like to see in WPBook 1.5? (Not that these aren&#8217;t enough). </p>
<p>I&#8217;ve also got to start thinking about WordPress 3.0 and the merge with the WPMU codebase, and what impact that has, but I&#8217;m hoping that can wait for WPBook 1.6. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2010/01/04/wpbook-1-4-released/feed</wfw:commentRss>
		<slash:comments>67</slash:comments>
		</item>
		<item>
		<title>Selfish APIs</title>
		<link>http://www.openparenthesis.org/2009/04/21/selfish-apis</link>
		<comments>http://www.openparenthesis.org/2009/04/21/selfish-apis#comments</comments>
		<pubDate>Tue, 21 Apr 2009 12:08:23 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Adina Levin]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Facebook Connect]]></category>
		<category><![CDATA[Rules]]></category>
		<category><![CDATA[Selfish]]></category>
		<category><![CDATA[Terms of Use]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=1229</guid>
		<description><![CDATA[Photo by Uncle Bartelby Adina Levin wrote earlier this month (Twitter, Facebook, and the unselfish API about the differences between Twitter and Facebook not in terms of how they treat their users but in terms of how they treat external developers. In short: Twitter’s API is unselfish. Using the straightforward REST API, developers can and [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1232" class="wp-caption aligncenter" style="width: 335px"><a href="http://www.flickr.com/photos/unclebartleby/2920318583/"><img src="http://www.openparenthesis.org/wp-content/uploads/2009/04/2920318583_e3fe68b2aa-300x199.jpg" alt="Photo by Uncle Bartelby" title="2920318583_e3fe68b2aa" width="300" height="199" class="size-medium wp-image-1232" /></a><p class="wp-caption-text">Photo by Uncle Bartelby</p></div>
<p>Adina Levin wrote earlier this month (<a href="http://www.alevin.com/?p=1436">Twitter, Facebook, and the unselfish API</a> about the differences between Twitter and Facebook not in terms of how they treat their users but in terms of how they treat external developers. </p>
<p>In short:</p>
<blockquote><p>Twitter’s API is unselfish. Using the straightforward REST API, developers can and do write clients, search tools, mapping tools, recommendation tools, analytics, personal organizing &#8211; a wide range of extensions. Twitter doesn’t do anything to constrain developers other than a rate limit.</p></blockquote>
<p>Whereas:</p>
<blockquote><p>Facebook’s API is build to serve Facebook more than developers.</p></blockquote>
<p>She goes on to discuss the shift towards Facebook Connect, away from the emphasis on the application platform, but notes that even then:</p>
<blockquote><p>The problem is that when sites use Facebook Connect, they have minimal connection to their user base. An an application or community site wants to create the policies whereby the site communicates to the community, and the community talks to each other. With Facebook Connect, those rules belong to FaceBook. . . . With FB Connect, all your member database are belong to them. </p></blockquote>
<p>One could argue, of course, that it isn&#8217;t a fair comparison. Twitter&#8217;s platform is more narrow than Facebook&#8217;s, with a much simpler privacy model (protected or not, versus groups, networks, friends, and per-application settings), and much less potential for exposure (photos, videos, and detailed personal info being in Facebook&#8217;s direct control versus external services like TwitPic). Facebook would argue, I imagine, that they&#8217;re trying to create a high standard for privacy for their users, rather than allow every third party app to set it&#8217;s own rules, and that this requires them to maintain more control. </p>
<p>Still, I can&#8217;t help but feel that the &#8220;Open API&#8221; approach &#8211; impose as few controls as necessary &#8211; is ultimately more web-native and will succeed, while the &#8220;Controlled API&#8221; approach &#8211; only release the functionality absolutely necessary and control use with strict Terms of Service (ever read the FB Connect terms?) &#8211; calls to mind the old days of walled gardens like Compuserve, Prodigy, and AOL, before they joined the real web. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2009/04/21/selfish-apis/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2009/04/2920318583_e3fe68b2aa-300x199.jpg" length="20935" type="image/jpeg" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2009/04/2920318583_e3fe68b2aa-300x199.jpg" width="300" height="199" medium="image" type="image/jpeg" />	</item>
		<item>
		<title>ReTweeter 0.9.1 Released</title>
		<link>http://www.openparenthesis.org/2009/02/10/retweeter-091-released</link>
		<comments>http://www.openparenthesis.org/2009/02/10/retweeter-091-released#comments</comments>
		<pubDate>Tue, 10 Feb 2009 16:22:48 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[Group]]></category>
		<category><![CDATA[microblog]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ReTweet]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=1062</guid>
		<description><![CDATA[Photo by Andrea Mercado Thanks to Karen Huffman (@slakm) who raised some issues she was having with an installation of ReTweeter, I&#8217;ve tracked down the bug and uploaded and released 0.9.1. Turns out that in late December of 2008, the Twitter API servers started sending a 417 Status Code response to many clients, including ReTweeter. [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_1063" class="wp-caption alignright" style="width: 275px"><a href="http://www.flickr.com/photos/prettydaisies/476136116/"><img src="http://www.openparenthesis.org/wp-content/uploads/2009/02/tweet.jpg" alt="Photo by Andrea Mercado" title="tweet" width="240" height="180" class="size-full wp-image-1063" /></a><p class="wp-caption-text">Photo by Andrea Mercado</p></div>
<p>Thanks to <a href="http://www.linkedin.com/in/khuffman">Karen Huffman</a> (<a href="http://twitter.com/slakm">@slakm</a>) who raised some issues she was having with an installation of <a href="/code/twitter-api">ReTweeter</a>, I&#8217;ve tracked down the bug and uploaded and released 0.9.1. </p>
<p>Turns out that in late December of 2008, the Twitter API servers started sending a 417 Status Code response to many clients, including ReTweeter. (See Alex Payne&#8217;s <a href="http://groups.google.com/group/twitter-api-announce/browse_thread/thread/7be3b64970874fdd">announcement</a> on the Twitter API Google Group and <a href="http://groups.google.com/group/twitter-development-talk/msg/e94b88b5d8dc87ce">this message from Tom Morris</a> which identified the necessary fix for CURL based clients). </p>
<p>In addition to squashing that bug, this update also better handles error responses from the Twitter API in general, which is to say it actually identifies to the user what status code was returned to enable better troubleshooting. </p>
<p>Remember to copy your settings from your old version before overwriting with the new. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2009/02/10/retweeter-091-released/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2009/02/tweet.jpg" length="19574" type="image/jpeg" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2009/02/tweet.jpg" width="240" height="180" medium="image" type="image/jpeg" />	</item>
		<item>
		<title>Programming to the Twitter API (ReTweeter)</title>
		<link>http://www.openparenthesis.org/2008/05/18/programming-to-the-twitter-api-retweeter</link>
		<comments>http://www.openparenthesis.org/2008/05/18/programming-to-the-twitter-api-retweeter#comments</comments>
		<pubDate>Sun, 18 May 2008 18:25:16 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[barcampboston]]></category>
		<category><![CDATA[bcb3]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[retweeter]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=543</guid>
		<description><![CDATA[Presented today at BarCamp Boston on programming for the Twitter API, based on the retweeter project I did for SXSW this year. You can grab the slides or the code. Went better than the WordPress talk yesterday, in terms of time &#8211; easier to describe Twitter (which everyone already knows) than to try to cover [...]]]></description>
			<content:encoded><![CDATA[<p>Presented today at BarCamp Boston on programming for the <a href="http://twitter.com/">Twitter</a> API, based on the retweeter project I did for <a href="http://www.sxsw.com/">SXSW</a> this year. You can grab the <a href="http://www.openparenthesis.org/wp-content/uploads/2008/05/bcb3-retweeter.pdf">slides</a> or the <a href="http://www.openparenthesis.org/code/twitter-api">code</a>. </p>
<p>Went better than the WordPress talk yesterday, in terms of time &#8211; easier to describe Twitter (which everyone already knows) than to try to cover the WordPress plugin API, the Facebook API, and the plugin I wrote to connect the two all in less than 30 minutes. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2008/05/18/programming-to-the-twitter-api-retweeter/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Twitter Charts via Yahoo! Pipes and Google Charts API</title>
		<link>http://www.openparenthesis.org/2008/05/04/twitter-charts-via-yahoo-pipes-and-google-charts-api</link>
		<comments>http://www.openparenthesis.org/2008/05/04/twitter-charts-via-yahoo-pipes-and-google-charts-api#comments</comments>
		<pubDate>Sun, 04 May 2008 14:12:24 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Chart]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[pipes]]></category>
		<category><![CDATA[statistics]]></category>
		<category><![CDATA[tweets]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[xefer]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=516</guid>
		<description><![CDATA[(Via David S. on Babbledog) Xefer has created an intriguing mashup using data from the Twitter API, a Yahoo! Pipe to some basic transformation, and the Google Chart API to display results: To get your own, just replace with your twitter username to the end of this url:]]></description>
			<content:encoded><![CDATA[<p>(Via <a href="http://babbledog.com/user/2c9c4707841c47edb974364087e088c0/">David S.</a> on <a href="http://babbledog.com/thread/918ebd1a7e314840b7698a8d30dc438a/">Babbledog</a>)</p>
<p>Xefer has created an intriguing mashup using data from the Twitter API, a Yahoo! Pipe to some basic transformation, and the Google Chart API to display results:</p>
<p><a href='http://www.xefer.com/twitter/jeckman'><img src="http://www.openparenthesis.org/wp-content/uploads/2008/05/twitterplot_thumb.png" alt="Twitterplot for @jeckman" title="twitterplot_thumb" width="400" height="197" class="aligncenter size-full wp-image-518" border="0" /></a></p>
<p>To get your own, just replace <username> with your twitter username to the end of this url: <a href="http://www.xefer.com/twitter/<username>&#8220;>http://www.xefer.com/twitter/<username></a></p>
<p>As Xefer writes in the <a href="http://www.xefer.com/2008/05/twitter">blog post describing the project</a>:</p>
<blockquote><p>The most interesting aspect of this project is that, other than the static files being served up by xefer.com itself, no other server-side processing is being done here; all the processing is being handled by Yahoo Pipes and Google, and of course Twitter itself which is ultimately hosting the raw data.</p></blockquote>
<p>Who knew I tweeted so much on Sundays? </p>
<p>Note that the data seems to be, as per the comment on the blog post, in GMT, so you&#8217;ll need to do offsets in your head for your local timezone. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2008/05/04/twitter-charts-via-yahoo-pipes-and-google-charts-api/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2008/05/twitterplot_thumb.png" length="23622" type="image/png" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2008/05/twitterplot_thumb.png" width="400" height="197" medium="image" type="image/png" />	</item>
		<item>
		<title>Twitter Clouds</title>
		<link>http://www.openparenthesis.org/2008/04/07/twitter-clouds</link>
		<comments>http://www.openparenthesis.org/2008/04/07/twitter-clouds#comments</comments>
		<pubDate>Mon, 07 Apr 2008 17:28:47 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[tag cloud]]></category>
		<category><![CDATA[tags]]></category>
		<category><![CDATA[tweet clouds]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=468</guid>
		<description><![CDATA[Check out Tweet Clouds &#8211; new app which uses the Twitter API to create a tag cloud based on your tweets, optionally suppressing @s and removing stop words. Here&#8217;s mine (click to see full size): I wonder how much this changes over time, or how far back they are able to grab tweets.]]></description>
			<content:encoded><![CDATA[<p>Check out <a href="http://tweetclouds.com/">Tweet Clouds</a> &#8211; new app which uses the Twitter API to create a tag cloud based on your tweets, optionally suppressing @s and removing stop words.</p>
<p>Here&#8217;s mine (click to see full size): </p>
<p><a href='http://www.tweetclouds.com/user_pages/jeckman.html'><img src="http://www.openparenthesis.org/wp-content/uploads/2008/04/cloud_thumb-300x207.png" alt="Twitter Cloud" title="Twitter Cloud" width="300" height="207" class="alignnone size-medium wp-image-470" border="0" /></a></p>
<p>I wonder how much this changes over time, or how far back they are able to grab tweets. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2008/04/07/twitter-clouds/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2008/04/cloud_thumb-300x207.png" length="117482" type="image/png" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2008/04/cloud_thumb-300x207.png" width="300" height="207" medium="image" type="image/png" />	</item>
		<item>
		<title>If a DM falls in a forest . . .</title>
		<link>http://www.openparenthesis.org/2008/02/28/twitter-nobody</link>
		<comments>http://www.openparenthesis.org/2008/02/28/twitter-nobody#comments</comments>
		<pubDate>Thu, 28 Feb 2008 18:37:15 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[client]]></category>
		<category><![CDATA[error]]></category>
		<category><![CDATA[nobody]]></category>
		<category><![CDATA[twhirl]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[twitteriffic]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/2008/02/28/twitter-nobody</guid>
		<description><![CDATA[On Twitter, when you try to send a direct message to someone using the web interface, by entering &#8220;d nobody My message&#8221; (where &#8220;nobody&#8221; is a username), and the person you are trying to reach doesn&#8217;t follow you, you get a nice error message: The same is true when you use SMS or IM to [...]]]></description>
			<content:encoded><![CDATA[<p>On <a href="http://twitter.com/">Twitter</a>, when you try to send a direct message to someone using the web interface, by entering &#8220;d nobody My message&#8221; (where &#8220;nobody&#8221; is a username), and the person you are trying to reach doesn&#8217;t follow you, you get a nice error message:</p>
<p><a href='http://www.openparenthesis.org/wp-content/uploads/2008/02/twitter_error.png' title='Twitter Error'><img src='http://www.openparenthesis.org/wp-content/uploads/2008/02/twitter_error_thumb.jpg' alt='Twitter Error' border='0' /></a></p>
<p>The same is true when you use SMS or IM to interact with Twitter. </p>
<p>However, if you use a Twitter client, what happens?</p>
<p>On <a href="http://iconfactory.com/software/twitterrific">Twitterific</a>, nothing. The message appears to be sent, nothing shows up your timeline, no error occurs. </p>
<p>Is this a limitation of the API, or of the application&#8217;s handling of it?</p>
<p><strong>Update</strong>:</p>
<p><a href="http://twitter.com/twhirl">@Twhirl</a> tells me (<a href="http://twitter.com/twhirl/statuses/764559288">via Twitter</a>) that:</p>
<blockquote><p>twhirl should display an error message informing you about it.</p></blockquote>
<p>Maybe time to change? I sent the twitterific developers a note letting them know of the bug. </p>
<p>What does your twitter client do? Tell me in the comments, please. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2008/02/28/twitter-nobody/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
	<enclosure url="http://www.openparenthesis.org/wp-content/uploads/2008/02/twitter_error_thumb.jpg" length="4684" type="image/jpeg" /><media:content url="http://www.openparenthesis.org/wp-content/uploads/2008/02/twitter_error_thumb.jpg" width="300" height="37" medium="image" type="image/jpeg" />	</item>
		<item>
		<title>Like Facebook, but without all the fun</title>
		<link>http://www.openparenthesis.org/2007/12/20/workbook</link>
		<comments>http://www.openparenthesis.org/2007/12/20/workbook#comments</comments>
		<pubDate>Thu, 20 Dec 2007 20:07:59 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Enterprise 2.0]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[FB]]></category>
		<category><![CDATA[ONE]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Optaros]]></category>
		<category><![CDATA[WorkBook]]></category>
		<category><![CDATA[WorkLight]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/2007/12/20/workbook</guid>
		<description><![CDATA[The newest splash in the &#8220;Facebook in the Enterprise&#8221; race is a facebook application called &#8220;WorkBook&#8221; from a company called WorkLight. WorkBook is apparently part of the WorkLight platform, and pricing starts at $10/user/month. Some coverage: WorkLight secures Facebook for enterprises (Dan Farber on ZDNet blog &#8211; with a photo) WorkLight enters the Enterprise Facebook [...]]]></description>
			<content:encoded><![CDATA[<p>The newest splash in the &#8220;Facebook in the Enterprise&#8221; race is a facebook application called &#8220;<a href="http://www.myworklight.com/currentPage.aspx?catid=69&#038;pageid=93">WorkBook</a>&#8221; from a company called <a href="http://www.myworklight.com/">WorkLight</a>. </p>
<p>WorkBook is apparently part of the WorkLight platform, and pricing starts at $10/user/month. </p>
<p>Some coverage:</p>
<ul>
<li><a href="http://blogs.zdnet.com/BTL/?p=7409">WorkLight secures Facebook for enterprises</a> (Dan Farber on ZDNet blog &#8211; with a <a href="http://blogs.zdnet.com/BTL/images/wklight.jpg">photo</a>)</li>
<li><a href="http://www.fastforwardblog.com/2007/12/20/worklight-enters-the-enterprise-facebook-market/">WorkLight enters the Enterprise Facebook Market</a> (Bill Ives at Fast Forward Blog)</li>
<li><a href="http://webworkerdaily.com/2007/12/20/workbook-brings-facebook-inside-the-firewall/">WorkBook: Getting Facebook Ready for Work</a> (Andrew McAfee)</li>
<li><a href="http://webworkerdaily.com/2007/12/20/workbook-brings-facebook-inside-the-firewall/">WorkBook Brings Facebook Inside the Firewall</a> (Web Worker Daily)</li>
</ul>
<p>McAfee, who was able to see a demo, has the best details on the workings of the app:</p>
<blockquote><p>In a quick demo, Lavenda opened up his standard public Facebook profile, then launched WorkBook (Worklightâ€™s offering) just like heâ€™d launch any other Facebook application. After he logged in, a separate section opened up within the profile. This section was devoted to the userâ€™s employerâ€” letâ€™s call it Lavendaco. Inside this section were a number of standard Facebook featuresâ€” friends, groups, Q&#038;A, profiles, etc.â€”presented using the standard Facebook UI. But the data populating each of these were specific to Lavendaco, came from the Worklight server installed at Lavendaco, were encrypted as they travelled across the Internet, and did not pass through Facebook servers. </p></blockquote>
<p>But I have to confess my own reaction is closer to Bill Ives, which is, wouldn&#8217;t this be pretty easy to build yourself, on top of Facebook APIs?</p>
<p>Maybe a good candidate for our next ONE (Optaros New Employee) training class, wherein the team does a quick project. Our Intranet is Drupal 6 based, and shouldn&#8217;t be too hard to pull that in to Facebook. I know there is already a <a href="http://drupal.org/project/fb">Facebook Module</a> for Drupal 5.x</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2007/12/20/workbook/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

