<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Open Parenthesis</title>
	
	<link>http://www.openparenthesis.org</link>
	<description>Because these are the early days of a long revolution . . .</description>
	<lastBuildDate>Tue, 21 May 2013 17:40:42 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/OpenParenthesis" /><feedburner:info uri="openparenthesis" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><geo:lat>42.809891</geo:lat><geo:long>-70.863633</geo:long><creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license><image><link>http://www.openparenthesis.org/</link><url>http://www.openparenthesis.org/images/logo_small.jpg</url><title>Open Parenthesis</title></image><feedburner:emailServiceId>OpenParenthesis</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>CMS Expo: WordPress and Structured Content, Non-Profits</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/vyR93ek9yOk/cms-expo-wordpress-and-structured-content-non-profits</link>
		<comments>http://www.openparenthesis.org/2013/05/21/cms-expo-wordpress-and-structured-content-non-profits#comments</comments>
		<pubDate>Tue, 21 May 2013 17:39:03 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[ChunkyWP]]></category>
		<category><![CDATA[cmsx]]></category>
		<category><![CDATA[Structured Content]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3416</guid>
		<description><![CDATA[Just a quick post on my talks from CMS Expo last week. The first is on WordPress and structured content &#8211; how custom post types, taxonomies, and metadata can be used to make WordPress more amenable to structured content. The second covers what makes WordPress such an excellent CMS for non-profit organizations:]]></description>
				<content:encoded><![CDATA[<p>Just a quick post on my talks from <a href="http://www.cmsexpo.net/" title="CMS Expo 2013">CMS Expo</a> last week. </p>
<p>The first is on WordPress and structured content &#8211; how custom post types, taxonomies, and metadata can be used to make WordPress more amenable to structured content. </p>
<p><script async class="speakerdeck-embed" data-id="1de54020a0a70130b8b42695b1cda53b" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script></p>
<p>The second covers what makes WordPress such an excellent CMS for non-profit organizations:</p>
<p><script async class="speakerdeck-embed" data-id="00b9c070a0aa0130b8b32695b1cda53b" data-ratio="1.33333333333333" src="//speakerdeck.com/assets/embed.js"></script></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=vyR93ek9yOk:CM0FPNenTDs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=vyR93ek9yOk:CM0FPNenTDs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=vyR93ek9yOk:CM0FPNenTDs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/vyR93ek9yOk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2013/05/21/cms-expo-wordpress-and-structured-content-non-profits/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2013/05/21/cms-expo-wordpress-and-structured-content-non-profits</feedburner:origLink></item>
		<item>
		<title>Mythbuster May</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/wr8aOAya_i0/mythbuster-may</link>
		<comments>http://www.openparenthesis.org/2013/05/09/mythbuster-may#comments</comments>
		<pubDate>Thu, 09 May 2013 18:12:09 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[media]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3411</guid>
		<description><![CDATA[Quick google hangout with fellow Mythbusters to talk about upcoming events in May I&#8217;ll be speaking at CMS Expo and then at DrupalCon/Webvisions.]]></description>
				<content:encoded><![CDATA[<p>Quick google hangout with fellow Mythbusters to talk about upcoming events in May</p>
<p><iframe width="560" height="315" src="http://www.youtube.com/embed/uyqSlLuPaLA" frameborder="0" allowfullscreen></iframe></p>
<p>I&#8217;ll be speaking at CMS Expo and then at DrupalCon/Webvisions. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=wr8aOAya_i0:YyOdgOCH9IY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=wr8aOAya_i0:YyOdgOCH9IY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=wr8aOAya_i0:YyOdgOCH9IY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/wr8aOAya_i0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2013/05/09/mythbuster-may/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2013/05/09/mythbuster-may</feedburner:origLink></item>
		<item>
		<title>WordPress talks at CMS Expo</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/gP4R1CG03cU/wordpress-talks-at-cms-expo</link>
		<comments>http://www.openparenthesis.org/2013/04/05/wordpress-talks-at-cms-expo#comments</comments>
		<pubDate>Fri, 05 Apr 2013 13:20:08 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[jahia]]></category>
		<category><![CDATA[Joomla!]]></category>
		<category><![CDATA[OpenText]]></category>
		<category><![CDATA[SageFrame]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3391</guid>
		<description><![CDATA[CMS Expo 2013 includes a WordPress track - I'm speaking. For $100 off a three-day conference registration use code CMSX54417]]></description>
				<content:encoded><![CDATA[<p>Last year I spoke at CMS Expo in Chicago about <a title="Busting Web Experience Management Myths" href="http://www.cmsmyth.com/2012/05/cms-expo-busting-web-experience-management-myths/">Busting Web Experience Management Myths</a>. But while covering the event for the CMS Myth, I noticed that <a title="Revisiting WordPress as a CMS" href="http://www.cmsmyth.com/2012/05/revisiting-wordpress-as-a-cms-again/">WordPress was visibly absent</a> from the Showcase.</p>
<p>In part this led me to give a talk at WordCamp Boston on <a title="Why isn't WordPress a CMS?" href="http://www.openparenthesis.org/2012/07/15/why-the-heck-isnt-wordpress-a-cms">Why the @##!@ isn&#8217;t WordPress a CMS?</a>.</p>
<p><strong>This year, the fine folks at CMS Expo have added WordPress to the CMS Showcase, and will have a full track of WordPress-related talks. </strong></p>
<p>The WordPress track includes:</p>
<ul>
<li><a title="Aaron Holbrook" href="http://aaronjholbrook.com/">Aaron Holbrook</a> kicking off the track with &#8220;<a title="WordPress IS a CMS" href="http://www.cmsexpo.net/sessions/2-239-WordPress_IS_a_CMS_Dammit!">WordPress IS a CMS, Dammit!</a>&#8220;</li>
<li>Me on &#8220;<a title="Structured Content in WordPress" href="http://www.cmsexpo.net/sessions/2-248-Beyond_Posts_&amp;_Pages_Structured_Content_&amp;_Content_Types_in_WordPress_">Beyond Posts &amp; Pages: Structured Content &amp; Content Types in WordPress</a>&#8221; and &#8220;<a title="We're on a Mission: Using WordPress for Non-Profit Organizations" href="http://www.cmsexpo.net/sessions/2-269-Were_on_a_Mission_Using_WordPress_for_NonProfit_Organizations_">We&#8217;re on a Mission: Using WordPress for Non-Profit Organizations</a>&#8220;</li>
<li><a title="Lisa Sabin-Wilson" href="http://www.cmsexpo.net/speakers/1-176-Lisa_SabinWilson">Lisa Sabin-Wilson</a> on &#8220;<a title="Exploring WordPress Multisite" href="http://www.cmsexpo.net/sessions/2-276-Exploring_WordPress_Multisite__One_Install_Multiple_Sites">Exploring WordPress Multisite: One Install, Multiple Sites</a>&#8221; and &#8220;<a title="Creating Community with WordPress and BuddyPress" href="http://www.cmsexpo.net/sessions/2-277-Creating_Community_with_WordPress_+_BuddyPress">Creating Community with WordPress and BuddyPress</a>&#8220;</li>
<li><a title="Jake Goldman" href="http://www.cmsexpo.net/speakers/1-177-Jake_Goldman">Jake Goldman</a> on &#8220;<a title="Publishing Workflows for WordPress" href="http://www.cmsexpo.net/sessions/2-264-Publishing_Workflows_for_WordPress">Publishing Workflows for WordPress</a>&#8220;</li>
</ul>
<p>This is in addition to a strong lineup of speakers on broad CMS topics, including (some of the ones I&#8217;m most looking forward to):</p>
<ul>
<li><a title="Jeff Eaton" href="http://angrylittletree.com/">Jeff Eaton</a> on &#8220;<a title="Prepare for the Mobilocalypse!" href="http://www.cmsexpo.net/sessions/2-200-Prepare_For_The_Mobilocalypse!">Prepare for the Mobilocalypse!</a>&#8221; (which unfortunately is at the same time as <a title="Sarah Beckley" href="http://www.sarahbeckley.com/">Sarah Beckley </a>on &#8220;<a title="Future Proof Your Business Content" href="http://www.cmsexpo.net/sessions/2-198-Future_Proof_Your_Business_Content">Future Proof Your Business Content</a>&#8221; but in a different room)</li>
<li><a title="Margot Bloomstein" href="http://appropriateinc.com/">Margot Bloomstein</a> on &#8220;<a title="Cart, Meet Horse" href="http://www.cmsexpo.net/sessions/2-201-Cart_Meet_Horse_Content_Strategy_for_Content_Management">Cart, Meet Horse: Content Strategy for Content Management</a>&#8221; and &#8220;<a title="Kicking Off Your Content Strategy" href="http://www.cmsexpo.net/sessions/2-217-Kicking_Off_Your_Content_Strategy_">Kicking Off Your Content Strategy</a>&#8220;</li>
<li><a title="Tony White" href="http://www.cmsexpo.net/speakers/1-100-Tony_White">Tony White</a> on &#8220;<a title="Are You Using the Right CMS" href="http://www.cmsexpo.net/sessions/2-274-Lunch__%7C__Keynote_Are_You_Using_The_Right_CMS?">Are You Using the Right CMS?</a>&#8220;</li>
<li><a title="David Hobbs" href="http://www.cmsexpo.net/speakers/1-162-David_Hobbs">David Hobbs</a> on &#8220;<a title="How to Avert a CMS Migration Trainwreck" href="http://www.cmsexpo.net/sessions/2-223-How_To_Avert_A_CMS_Migration_Trainwreck">How to Avert a CMS Migration Trainwreck</a>&#8220;</li>
<li><a title="Kieran Lal" href="http://www.acquia.com/about-us/team/kieran-lal">Kieran Lal</a> on <a title="Customer Experience Management" href="http://www.cmsexpo.net/sessions/2-162-Breakfast__%7C__Keynote_On_Customer_Experience_Management">Customer Experience Management</a></li>
<li><a title="Kevin Drew Davis" href="http://www.kdavis.com/">Kevin Drew Davis</a> on &#8220;<a title="Humanity Before Technology" href="http://www.cmsexpo.net/sessions/2-164-Lunch__%7C__Keynote_Humanity_Before_Technology">Humanity Before Technology</a>&#8220;</li>
<li><a title="Jen Kramer" href="http://jenkramer.org/">Jen Kramer</a> on &#8220;<a title="Reactive Technology" href="http://www.cmsexpo.net/sessions/2-163-Breakfast__%7C__Keynote_Reactive_Technology">Reactive Technology</a>&#8220;</li>
<li><a title="Scott Liewehr" href="http://about.me/sliewehr">Scott Liewehr</a> on &#8220;<a title="Customer Experience Management in the Real World" href="http://www.cmsexpo.net/sessions/2-251-Panel_Customer_Experience_Management_In_The_Real_World">Customer Experience Management in the Real World</a>&#8220;</li>
<li><a title="David Aponovich" href="http://www.forrester.com/David-Aponovich">David Aponovich</a> on &#8220;<a title="The 5 Secret Weaknesses of Your WCM" href="http://www.cmsexpo.net/sessions/2-90-Lunch__%7C__Keynote_The_5_Secret_Weaknesses_Of_Your_WCM">The 5 Secret Weaknesses of your WCM</a>&#8220;</li>
<li><a title="Robert Rose" href="http://about.me/robertrose">Robert Rose</a> and <a title="Scott Liewehr" href="http://about.me/sliewehr">Scott Liewehr</a>&nbsp;on &#8220;<a title="You've Got the Tools, But Do You Have the Team?" href="http://www.cmsexpo.net/sessions/2-257-Youve_Got_the_Tools_But_Do_You_Have_the_Team?">You&#8217;ve Got the Tools, But Do You Have the Team?</a>&#8220;</li>
</ul>
<p>As well as, of course, a series of panels with the <a title="CMS Showcase" href="http://www.cmsexpo.net/showcase">showcase</a> CMS platforms (Drupal, openText, Jahia, WordPress, SageFrame, and Joomla!) with titles like &#8220;Can your CMS do this?&#8221; and &#8220;Can your CMS do That?&#8221;.</p>
<p>It&#8217;s a fantastic conference <a title="John and Linda Coonen" href="http://www.cmsexpo.net/speakers/1-101-John_and_Linda_Coonen">John &amp; Linda</a> put together, and continues to evolve with the changing landscape of the CMS industry. Hope to see you there! </p>
<a href="http://www.cmsexpo.net/"><img src="http://www.openparenthesis.org/wp-content/uploads/2013/04/200x200-speaker.jpg" alt="For $100 off a three-day conference registration at CMS Expo use code CMSX54417" width="200" height="200" class="size-full wp-image-3394" /></a> For $100 off a three-day conference registration use code CMSX54417
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=gP4R1CG03cU:dhl4rpIWC9o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=gP4R1CG03cU:dhl4rpIWC9o:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=gP4R1CG03cU:dhl4rpIWC9o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/gP4R1CG03cU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2013/04/05/wordpress-talks-at-cms-expo/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2013/04/05/wordpress-talks-at-cms-expo</feedburner:origLink></item>
		<item>
		<title>Western Mass DrupalCamp</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/NQGGHbji51o/drupalcampma</link>
		<comments>http://www.openparenthesis.org/2013/01/03/drupalcampma#comments</comments>
		<pubDate>Thu, 03 Jan 2013 18:38:56 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Higher Education]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[DrupalCamp]]></category>
		<category><![CDATA[Western MA]]></category>
		<category><![CDATA[Western Mass Drupal Camp]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3374</guid>
		<description><![CDATA[With the arrival of the new year, it&#8217;s time again for DrupalCamp Western MA. This year it will be held January 19th, with (I believe &#8211; doesn&#8217;t say on the site anymore) the 26th as a potential if it gets snowed out. Keynote will be Jason Pamental (@jpamental) which should be by itself worth the [...]]]></description>
				<content:encoded><![CDATA[<p>With the arrival of the new year, it&#8217;s time again for DrupalCamp Western MA. </p>
<p><img src="http://www.openparenthesis.org/wp-content/uploads/2013/01/drupalcampma-490x156.png" alt="drupalcampma" width="490" height="156" class="aligncenter size-large wp-image-3375" /></p>
<p>This year it will be held January 19th, with (I believe &#8211; doesn&#8217;t say on the site anymore) the 26th as a potential if it gets snowed out. </p>
<p>Keynote will be <a href="http://thinkinginpencil.com/" title="Thinking in Pencil (Jason Pamental)">Jason Pamental</a> (<a href="https://twitter.com/jpamental" title="@jpamental">@jpamental</a>) which should be by itself worth the trip. </p>
<p>Additional sessions (proposed) I&#8217;m interested in:</p>
<ul>
<li>Jason Yarrington from <a href="http://www.digitalbungalow.com/" title="Digital Bungalow">Digital Bungalow</a> on &#8220;Content Personalization Options in Drupal&#8221;</li>
<li>A case study on <a href="http://www.jackdaniels.com/" title="Jack Daniels">JackDaniels.com </a></li>
<li>Drupal for Agile Development (the folks from <a href="http://www.gravityswitch.com/" title="Gravity Switch">Gravity Switch</a>)</li>
<li>Technical Project Management Methods for Team Development (Chris Armato from <a href="http://www.knectar.com/" title="Knectar Design">Knectar</a></li>
<li>Panels: Responsive Theming and Flexible Code</li>
</ul>
<p>You can register, see <a href="http://drupalcampma.com/program/sessions/proposed" title="Proposed Sessions DrupalCamp Western MA">sessions proposed</a>, or <a href="http://drupalcampma.com/node/add/session" title="Propose a Session (Western MA Drupal Camp)">propose a session</a> &#8211; though the advertised deadline was December 16th, 2012. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=NQGGHbji51o:reeKlj231IU:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=NQGGHbji51o:reeKlj231IU:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=NQGGHbji51o:reeKlj231IU:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/NQGGHbji51o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2013/01/03/drupalcampma/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2013/01/03/drupalcampma</feedburner:origLink></item>
		<item>
		<title>YouTube Downloader and Feed Parser</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/uln2cZVjTF0/youtube-downloader-and-feed-parser</link>
		<comments>http://www.openparenthesis.org/2012/12/31/youtube-downloader-and-feed-parser#comments</comments>
		<pubDate>Mon, 31 Dec 2012 18:20:36 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Enclosure]]></category>
		<category><![CDATA[feed]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[Video Podcast]]></category>
		<category><![CDATA[YouTube]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3364</guid>
		<description><![CDATA[So I decided to spend a bit of time over the holidays scratching an itch and writing some PHP code. The result is a new open source project: <a href="https://github.com/jeckman/YouTube-Downloader" title="YouTube Downloader (PHP)">YouTube Downloader</a>. ]]></description>
				<content:encoded><![CDATA[<p>So I decided to spend a bit of time over the holidays scratching an itch and writing some PHP code. The result is a new open source project: <a href="https://github.com/jeckman/YouTube-Downloader" title="YouTube Downloader (PHP)">YouTube Downloader</a>. </p>
<p>Its main purpose, for me, was to enable me to subscribe to a user&#8217;s YouTube videos as a podcast, and have the episodes downloaded in Downcast on my iPad. In the process though I also found it useful to make it usable as a form-based script, where you input a video&#8217;s ID and get a list of the available formats for download. So, the project does both. </p>
<p>Here&#8217;s the form (thanks to <a href="http://twitter.github.com/bootstrap/" title="Twitter Bootstrap">Twitter Bootstrap</a> for the look &#038; feel):</p>
<p><img src="http://www.openparenthesis.org/wp-content/uploads/2012/12/downloader-490x404.png" alt="downloader" width="490" height="404" class="aligncenter size-large wp-image-3365" /></p>
<p>Once you&#8217;ve put a video id in the appropriate field and submitted, you&#8217;ll get a result that looks something like this:</p>
<p><img src="http://www.openparenthesis.org/wp-content/uploads/2012/12/results-490x431.png" alt="results" width="490" height="431" class="aligncenter size-large wp-image-3366" /></p>
<p>You can right-click and choose &#8220;Save link as&#8221; (or whatever your browser calls it) to save any of the files. Unfortunately you have to set the filename and extension yourself. </p>
<p>To use it on a feed, take a look at feed_parser.php provided in the download. You can set a few variables at the top &#8211; including what feed it is you want to process &#8211; and then it will output an XML file which can be consumed in a podcatcher / podcast client. </p>
<p>Once you&#8217;ve got it working (outputting correctly to screen), set it to write out to a file in cron &#8211; for example: </p>
<p><code>/usr/bin/php /var/www/html/feed_parser.php > /var/www/html/feed.xml</code> </p>
<p>If you want to manage multiple different feeds just duplicate feed_parser.php and rename it, and make sure to save the output to different filenames. There&#8217;s nothing specific about the name feed_parser.php or the output to feed.xml, so you can have many different ones running. </p>
<p>Feel free to use it, fork it on Github, and send me some pull requests!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=uln2cZVjTF0:AnPP4VQIByg:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=uln2cZVjTF0:AnPP4VQIByg:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=uln2cZVjTF0:AnPP4VQIByg:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/uln2cZVjTF0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/12/31/youtube-downloader-and-feed-parser/feed</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/12/31/youtube-downloader-and-feed-parser</feedburner:origLink></item>
		<item>
		<title>WordCamp comes to Providence – Truly Responsive Design</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/rird_2r5_bA/wordcamp-comes-to-providence-truly-responsive-design</link>
		<comments>http://www.openparenthesis.org/2012/10/12/wordcamp-comes-to-providence-truly-responsive-design#comments</comments>
		<pubDate>Fri, 12 Oct 2012 16:11:36 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3355</guid>
		<description><![CDATA[Just confirmed I&#8217;ll be speaking at WordCamp Providence, October 27th 2012. My talk will be titled &#8220;Truly Responsive Design&#8220;: Perhaps the greatest sea-change in the industry since the “Web 2.0? meme, Responsive Design has been the unavoidable theme of the web industry in 2011 and 2012. But too much of the focus in responsive design [...]]]></description>
				<content:encoded><![CDATA[<p>Just confirmed I&#8217;ll be speaking at <a href="http://2012.providence.wordcamp.org/" title="WordCamp Providence">WordCamp Providence</a>, October 27th 2012. </p>
<p><a href="http://2012.providence.wordcamp.org/"><img title="I'm Speaking at WordCamp Providence 2012!" src="http://2012.providence.wordcamp.org/files/2012/09/speakingBadge-wcpvd.jpg" alt=""  /></a></p>
<p>My talk will be titled &#8220;<a href="http://2012.providence.wordcamp.org/session/truly-responsive-design/" title="Truly Responsive Design">Truly Responsive Design</a>&#8220;:</p>
<blockquote><p>Perhaps the greatest sea-change in the industry since the “Web 2.0? meme, Responsive Design has been the unavoidable theme of the web industry in 2011 and 2012. But too much of the focus in responsive design has been on the mechanics: media queries, responsive images, javascript polyfills, and techniques for progressive enhancement.</p>
<p>Not enough attention has been paid to how responsive sites and applications should be designed to take into account the needs and contexts of users. In short, we’ve been designing sites that respond to the needs (and capabilities) of *browsers* and *devices* rather than the desires and contexts of users.</p>
<p>In this talk I’ll cover strategies and processes you can follow which help ensure your web applications are truly responsive to business goals and user needs, not just device capabilities.</p></blockquote>
<p>Look forward to the first WordCamp in <a href="http://en.wikipedia.org/wiki/Providence,_Rhode_Island" title="Providence (Wikipedia)">The Creative Capital</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=rird_2r5_bA:4NXAFhmZaxk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=rird_2r5_bA:4NXAFhmZaxk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=rird_2r5_bA:4NXAFhmZaxk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/rird_2r5_bA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/10/12/wordcamp-comes-to-providence-truly-responsive-design/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/10/12/wordcamp-comes-to-providence-truly-responsive-design</feedburner:origLink></item>
		<item>
		<title>DrupalCampCT</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/n4anG7tF5Yo/drupalcampct</link>
		<comments>http://www.openparenthesis.org/2012/08/02/drupalcampct#comments</comments>
		<pubDate>Thu, 02 Aug 2012 13:53:52 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[DrupalCampCT]]></category>
		<category><![CDATA[keynote]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3341</guid>
		<description><![CDATA[Very excited to announce I&#8217;ll be giving the keynote talk at DrupalCampCT later this month (August 18th, 2012)! 2012 CT Drupal Camp Keynote: Delivering Results: The State of Content Management and the Opportunity for #Drupal #cms #php #connecticut &#8212; DrupalCamp CT (@drupalcampct) August 2, 2012 I attended DrupalCampCT last year, but missed the deadline for [...]]]></description>
				<content:encoded><![CDATA[<p>Very excited to announce I&#8217;ll be giving <a href="http://drupalcampct.org/content/delivering-results-state-content-management-and-opportunity-drupal" title="DrupalCampCT Keynote">the keynote talk</a> at <a href="http://drupalcampct.org/" title="DrupalCampCT">DrupalCampCT</a> later this month (August 18th, 2012)!</p>
<blockquote class="twitter-tweet" width="500"><p>2012 CT Drupal Camp Keynote: Delivering Results: The State of Content Management and the Opportunity for <a href="https://twitter.com/search/%23Drupal">#Drupal</a> <a href="https://twitter.com/search/%23cms">#cms</a> <a href="https://twitter.com/search/%23php">#php</a> <a href="https://twitter.com/search/%23connecticut">#connecticut</a></p>
<p>&mdash; DrupalCamp CT (@drupalcampct) <a href="https://twitter.com/drupalcampct/status/230818751652700160" data-datetime="2012-08-02T00:14:13+00:00">August 2, 2012</a></p></blockquote>
<p><script async src="//platform.twitter.com/widgets.js" charset="utf-8"></script></p>
<p>I <a href="http://www.openparenthesis.org/2011/08/24/drupalcamp-ct-and-the-legacy-of-henry-r-luce" title="DrupalCampCT">attended DrupalCampCT last year</a>, but missed the deadline for submitting a talk. It will be held this year again in Luce Hall on the Yale campus in New Haven.</p>
<p>Last year&#8217;s keynote was <a href="http://www.johnvsc.com/blog/johnvsc/margin-center" title="DrupalCampCT Keynote">John Zavocki</a>, who was compelling and inspiring (and funny) and set a very high bar I hope I can live up to. </p>
<p>Hope to see you in New Haven in a few weeks.</p>
<p><a href="http://drupalcampct.org/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/08/logo.png" alt="" title="logo" width="213" height="58" class="aligncenter size-full wp-image-3346" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=n4anG7tF5Yo:q3Kil9th6gI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=n4anG7tF5Yo:q3Kil9th6gI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=n4anG7tF5Yo:q3Kil9th6gI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/n4anG7tF5Yo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/08/02/drupalcampct/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/08/02/drupalcampct</feedburner:origLink></item>
		<item>
		<title>Why the heck isn’t WordPress a CMS?</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/MWQ1Qp7pTko/why-the-heck-isnt-wordpress-a-cms</link>
		<comments>http://www.openparenthesis.org/2012/07/15/why-the-heck-isnt-wordpress-a-cms#comments</comments>
		<pubDate>Sun, 15 Jul 2012 19:21:17 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content Management]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[wcbos]]></category>
		<category><![CDATA[WordCamp Boston]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3337</guid>
		<description><![CDATA[Slides from my WordCamp Boston 2012 talk on Why the @#!!@ isn&#8217;t WordPress a CMS: Why the heck isnt word press a cms View more PowerPoint from John Eckman Obviously it&#8217;ll be more useful once the video is posted, for those of you who weren&#8217;t there &#8211; I&#8217;ll add that as soon as it&#8217;s available.]]></description>
				<content:encoded><![CDATA[<p>Slides from my <a href="http://2012.boston.wordcamp.org/" title="WordCamp Boston 2012">WordCamp Boston 2012</a> talk on Why the @#!!@ isn&#8217;t WordPress a CMS:</p>
<div style="width:427px" id="__ss_13647341"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/jeckman/why-the-heck-isnt-word-press-a-cms" title="Why the heck isnt word press a cms" target="_blank">Why the heck isnt word press a cms</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/13647341" width="427" height="356" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" style="border:1px solid #CCC;border-width:1px 1px 0" allowfullscreen></iframe>
<div style="padding:5px 0 12px"> View more PowerPoint from <a href="http://www.slideshare.net/jeckman" target="_blank">John Eckman</a> </div>
</p></div>
<p>Obviously it&#8217;ll be more useful once the video is posted, for those of you who weren&#8217;t there &#8211; I&#8217;ll add that as soon as it&#8217;s available. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=MWQ1Qp7pTko:WxOs-KBYyr0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=MWQ1Qp7pTko:WxOs-KBYyr0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=MWQ1Qp7pTko:WxOs-KBYyr0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/MWQ1Qp7pTko" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/07/15/why-the-heck-isnt-wordpress-a-cms/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/07/15/why-the-heck-isnt-wordpress-a-cms</feedburner:origLink></item>
		<item>
		<title>New WordPress Site: www.jotyler.com</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/kbre9RhF_IU/new-wordpress-site-www-jotyler-com</link>
		<comments>http://www.openparenthesis.org/2012/07/10/new-wordpress-site-www-jotyler-com#comments</comments>
		<pubDate>Tue, 10 Jul 2012 14:31:53 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Fine Art America]]></category>
		<category><![CDATA[Gallery]]></category>
		<category><![CDATA[Jo Tyler]]></category>
		<category><![CDATA[Meteor Slides]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[Slideshow]]></category>
		<category><![CDATA[Theme]]></category>
		<category><![CDATA[Visual Artist]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WPFolio]]></category>
		<category><![CDATA[WPFolio Two]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3325</guid>
		<description><![CDATA[Over the Fourth of July my wife and I finally pushed live her new WordPress-based portfolio site at www.jotyler.com. The site leverages WPFolio Two, which is a version (by Lara Schenck) of Steve Lambert&#8216;s WPFolio redone to leverage the Thematic Framework. In the process, I was able to contribute a few patches to the theme [...]]]></description>
				<content:encoded><![CDATA[<p>Over the Fourth of July my wife and I finally pushed live her new WordPress-based portfolio site at <a href="http://www.jotyler.com/" title="Jo Tyler, Visual Artist">www.jotyler.com</a>. </p>
<p><a href="http://www.jotyler.com/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/07/jotyler.com_-e1341846938579-490x369.png" alt="" title="jotyler.com" width="490" height="369" class="aligncenter size-large wp-image-3326" /></a></p>
<p>The site leverages <a href="http://notlaura.com/wpfolio-two/" title="WPFolio Two">WPFolio Two</a>, which is a version (by <a href="http://notlaura.com/" title="Lara Schenck">Lara Schenck</a>) of <a href="http://visitsteve.com/" title="Steve Lambert">Steve Lambert</a>&#8216;s <a href="http://wpfolio.visitsteve.com/wiki/" title="WPFolio">WPFolio</a> redone to leverage the <a href="http://wordpress.org/extend/themes/thematic" title="Thematic">Thematic Framework</a>. </p>
<p>In the process, I was able to contribute a few patches to the theme &#8211; yay github pull requests &#8211; which have already been accepted. </p>
<p>We also leveraged:</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/meteor-slides/" title="Meteor Slides">Meteor Slides</a> for the slideshow on the homepage, which offers a random start and highly configurable transitions</li>
<li><a href="http://wordpress.org/extend/plugins/post-types-order/" title="Post Types Order">Post Types Order</a> &#8211; this lets Jo alter the order of images in any gallery or (if random isn&#8217;t used) the slides in the slideshow. This caused issues with how WPFolio manages previous and next links, so we also installed <a href="http://wordpress.org/extend/plugins/ambrosite-nextprevious-post-link-plus/" title="Ambrosite Next/Prev Post Link Plus">Ambrosite Next/Prev Post Link Plus</a> and had to override a few functions in the WPFolio Two theme.
<li><a href="http://fineartamerica.com/" title="Fine Art America">Fine Art America</a> and their ability to do &#8220;custom shopping carts&#8221; which are basically able to iframe in a header, making the shop look fairly well integrated into the site. (This meant making sure all the header links pointed to target=&#8221;_top&#8221; to break out of the frameset).</li>
</ul>
<p><a href="http://www.jotyler.com/category/painting/dominion/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/07/jotyler2-490x420.png" alt="" title="jotyler2" width="490" height="420" class="aligncenter size-large wp-image-3329" /></a></p>
<p>In general WPFolio Two was a joy to work with, and we were able to keep almost all our changes in a child theme or using the theme options. (Given more time, we probably could have stayed 100% away from changes to wpfolio two itself). </p>
<p>On the to-do list:</p>
<ul>
<li>Truly native ecommerce in WordPress, rather than relying only on Fine Art America &#8211; for selling original works rather than open editions / giclee prints.</li>
<li>Responsive. Right now the design is fixed width &#8211; would like to at least have a few media queries for mobile and show a different stack and navigation to those folks</li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=kbre9RhF_IU:1_wssFpBqJI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=kbre9RhF_IU:1_wssFpBqJI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=kbre9RhF_IU:1_wssFpBqJI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/kbre9RhF_IU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/07/10/new-wordpress-site-www-jotyler-com/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/07/10/new-wordpress-site-www-jotyler-com</feedburner:origLink></item>
		<item>
		<title>WordCamp Boston 2012, Design for Drupal 4</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/RYt-bbr51zQ/wordcamp-boston-2012-design-for-drupal-4</link>
		<comments>http://www.openparenthesis.org/2012/07/09/wordcamp-boston-2012-design-for-drupal-4#comments</comments>
		<pubDate>Mon, 09 Jul 2012 13:01:15 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Higher Education]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Boston]]></category>
		<category><![CDATA[Cambridge]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[d4d4]]></category>
		<category><![CDATA[design4drupal]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[wcbos]]></category>
		<category><![CDATA[wcbos2012]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3318</guid>
		<description><![CDATA[This weekend Boston lives up to its reputation as a strong city for open source CMS activities, with both WordCamp Boston 2012 and Design for Drupal 4 in the same weekend. WordCamp will be at the George Sherman Union at Boston University again this year. I&#8217;ve not been as involved in organizing this year, as [...]]]></description>
				<content:encoded><![CDATA[<p>This weekend Boston lives up to its reputation as a strong city for open source CMS activities, with both <a href="http://2012.boston.wordcamp.org/" title="WordCamp Boston 2012">WordCamp Boston 2012</a> and <a href="http://boston2012.design4drupal.org/" title="Design for Drupal 4">Design for Drupal 4</a> in the same weekend. </p>
<p><img src="http://www.openparenthesis.org/wp-content/uploads/2012/07/wcbos_d4d.png" alt="" title="wcbos_d4d" width="300" height="150" class="aligncenter size-full wp-image-3319" /></p>
<p>WordCamp will be at the <a href="http://2012.boston.wordcamp.org/venue/" title="George Sherman Union">George Sherman Union</a> at <a href="http://www.bu.edu/" title="Boston University">Boston University</a> again this year. I&#8217;ve not been <em>as</em> involved in organizing this year, as <a href="http://twitter.com/kurteng" title="Kurt Eng">Kurt Eng</a> has taken the lead role, working with <a href="http://www.jonbishop.com/" title="Jon Bishop">Jon Bishop</a>, Erick Hitter, Reiko Beach, <a href="http://www.linkedin.com/pub/andrea-rosmarin/b/579/625" title="Andrea Rosmarin">Andrea Rosmarin</a>, Matt Ulvila and Shea Baker. Glad to see such a strong organizing team &#8211; many of whom have been involved for the last several years. Based on everything I&#8217;ve seen so far, they&#8217;ve done a fantastic job. </p>
<p>I&#8217;ll be speaking Sunday, June 15th, on &#8220;<a href="http://2012.boston.wordcamp.org/session/why-the-isnt-wordpress-a-cms/" title="Why the @#@#$ Isn’t WordPress a CMS?">Why the @#@#$ Isn’t WordPress a CMS?</a>,&#8221; and likely working the registration desk Saturday am. </p>
<p>I also hope, however, to at least spend some time at <a href="http://boston2012.design4drupal.org/" title="Design for Drupal">Design for Drupal 4</a>, which is also Saturday and Sunday July 14th and 15th, over in Kendall Square Cambridge at the <a href="http://boston2012.design4drupal.org/venue" title="Stata Center">Stata Center</a> at <a href="http://mit.edu" title="MIT">MIT</a>. D4D is like a regional DrupalCamp, but with a specific focus on design and user experience. I had been planning to be there volunteering and perhaps speaking, but with WordCamp the same weekend I&#8217;m just hoping to get over there to attend some <a href="http://boston2012.design4drupal.org/sessions/session-schedule" title="Sessions for D4D">sessions</a> &#8211; looks like I should at least hit the keynote Sunday am. </p>
<p>I&#8217;m always a bit amazed how little overlap there seems to be between WordPress and Drupal communities, given they&#8217;re both open source CMS platforms based on PHP and (generally) MySQL. I know people like to pick their favorite platform and then be loyal to it, and some see WordPress and Drupal as competitors in some zero-sum game. But I always found that learning more about either of them made me a better participant in both, and improved my clients&#8217; ultimate outcomes. </p>
<p>Will you be trying to make it to both? Let me know in the comments. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=RYt-bbr51zQ:ZyHxyAM2BF8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=RYt-bbr51zQ:ZyHxyAM2BF8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=RYt-bbr51zQ:ZyHxyAM2BF8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/RYt-bbr51zQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/07/09/wordcamp-boston-2012-design-for-drupal-4/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/07/09/wordcamp-boston-2012-design-for-drupal-4</feedburner:origLink></item>
		<item>
		<title>THE Facebook Plugin for WordPress?</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/BqwqdlsnwKs/the-facebook-plugin-for-wordpress</link>
		<comments>http://www.openparenthesis.org/2012/06/19/the-facebook-plugin-for-wordpress#comments</comments>
		<pubDate>Tue, 19 Jun 2012 14:37:05 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Automattic]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[plugins]]></category>
		<category><![CDATA[Wordbooker]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>
		<category><![CDATA[WPBook Lite]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3305</guid>
		<description><![CDATA[You may have seen last week that Facebook and Automattic jointly released a plugin called either &#8220;Facebook&#8221; or &#8220;Facebook for WordPress&#8221; (depending on who&#8217;s announcement you read). As someone who&#8217;s put a lot of work into two WordPress Facebook integration plugins (WPBook and WPBook Lite) over the last several years, I have to confess I [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://wordpress.org/extend/plugins/facebook/"><img class="aligncenter size-large wp-image-3306" title="fb" src="http://www.openparenthesis.org/wp-content/uploads/2012/06/fb-490x221.png" alt="" width="490" height="221" /></a></p>
<p>You may have seen last week that Facebook and Automattic jointly released a plugin called either &#8220;<a title="Facebook" href="http://wordpress.org/extend/plugins/facebook/">Facebook</a>&#8221; or &#8220;<a title="Facebook for WordPress" href="http://developers.facebook.com/wordpress/">Facebook for WordPress</a>&#8221; (depending on who&#8217;s announcement you read).</p>
<p>As someone who&#8217;s put a lot of work into two WordPress Facebook integration plugins (<a title="WPBook" href="http://wordpress.org/extend/plugins/wpbook/">WPBook</a> and <a title="WPBook Lite" href="http://wordpress.org/extend/plugins/wpbook-lite/">WPBook Lite</a>) over the last several years, I have to confess I had mixed emotions about the launch. On the one hand, it felt a bit like the proverbial 800lb gorilla had just sat on my head: how could we (I&#8217;m the lead developer but by no means the only contributor) compete with the combined development teams of Facebook and Automattic? Did they just make the plugins I&#8217;ve worked on redundant, or unnecessary?</p>
<p><a href="http://wordpress.org/extend/plugins/wpbook"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/06/wpbook-490x220.png" alt="" title="wpbook" width="490" height="220" class="aligncenter size-large wp-image-3311" /></a></p>
<p>On the other hand, I&#8217;ll admit, I felt a bit of relief. Supporting a plugin like WPBook or its simpler cousin WPBook Lite is no easy task. There are many complex variations in how people have configured WordPress, there are many possible ways to configure a Facebook application, and both keep changing all the time. Just keeping up with the Facebook roadmap and the constant changes to their settings interface is a challenge. Combine that with sometimes less-than-grateful users and a full-time job (not to mention a life outside web development), and it&#8217;s quite tempting to just declare the WPBooks closed and move on.</p>
<p>I think, however, there&#8217;s still a need (at least for now) for WPBook and WPBook Lite. </p>
<p>In essence:</p>
<ul>
<li>WPBook provides a Canvas Page view of the blog as an application inside Facebook, as well as a Page Tab view. The new Facebook plugin for WordPress doesn&#8217;t do this (so far as I could see).</li>
<li>WPBook and WPBook Lite both import comments from Facebook into WordPress, when those comments are made in response to an excerpt cross-posted to Facebook by the plugin. I don&#8217;t believe the new Facebook plugin does this either</li>
</ul>
<p>The new Facebook plugin also, of course, does things WPBook and WPBook Lite do not do:</p>
<ul>
<li>Enable mentions of friends and pages in the updates posted to Facebook</li>
<li>Enable different messages on personal profile than on page for cross-posting</li>
<li>Provide numerous Facebook widgets (activity, recommendations, like buttons) to the WordPress blog</li>
<li>Provide Facebook Open Graph metadata to WordPress blog</li>
<li>Enable use of Facebook Comments in WordPress</li>
</ul>
<img src="http://www.openparenthesis.org/wp-content/uploads/2012/06/fb2-490x465.png" alt="" title="fb2" width="490" height="465" class="size-large wp-image-3308" /> Screenshot of options for the new Facebook plugin
<p>With the exception of the first two items in this list (mention of friends and pages, separate messages for cross-posting), I&#8217;ve generally taken the approach that other plugins can do these other things, and keep the core of WPBook lighter &#8211; but then that does raise complications with conflicting Facebook libraries and such. I can see the appeal of an &#8220;all in one&#8221; type solution. </p>
<p>It also seems (from looking through the code) that they&#8217;ve taken the approach of storing the access token per user, so different users could be cross-posting to different profiles and pages. I&#8217;m not sure if I prefer that or not, though I can see how a multiuser blog could want all authors to be able to post to one page but preserve their individual profiles. </p>
<p>Finally, it seems they are one step ahead of me on the transition to removing &#8220;offline_access&#8221; &#8211; they automatically renew access tokens in the background, so that they never need to expire and alert the user. That&#8217;s a great approach and one I&#8217;ll <del datetime="2012-06-19T14:16:53+00:00">steal</del> leverage in the next release of WPBook and WPBook Lite. </p>
<p>I&#8217;d love to hear from current, former, or prospective users of WPBook, WPBook Lite, and <a href="http://wordpress.org/extend/plugins/wordbooker/" title="Wordbooker">WordBooker</a>, Steve Atty&#8217;s plugin which also does comment importing (and has a great many other interesting options) but uses one centralized Facebook application to simplify setup. (Honestly that&#8217;s what I expected Automattic and Facebook to do as well, but they still ask each user to set up a Facebook app). </p>
<p>What do you all think of the new competitive landscape? Does the entry of Facebook and Automattic change your decision about which plugin(s) to use? </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=BqwqdlsnwKs:rKRhxkol-Gs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=BqwqdlsnwKs:rKRhxkol-Gs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=BqwqdlsnwKs:rKRhxkol-Gs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/BqwqdlsnwKs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/06/19/the-facebook-plugin-for-wordpress/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/06/19/the-facebook-plugin-for-wordpress</feedburner:origLink></item>
		<item>
		<title>Fun with WordPress HTTP API, Redirection and Cookies: WPGPlus 0.8.1</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/8EfHbjbX6mE/fun-with-wordpress-http-api-redirection-and-cookies-wpgplus-0-8-1</link>
		<comments>http://www.openparenthesis.org/2012/06/18/fun-with-wordpress-http-api-redirection-and-cookies-wpgplus-0-8-1#comments</comments>
		<pubDate>Mon, 18 Jun 2012 14:45:42 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Cookies]]></category>
		<category><![CDATA[cross post]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Plus]]></category>
		<category><![CDATA[HTTP API]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[redirection]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3294</guid>
		<description><![CDATA[Google Cookie Monster from November 2009 &#8211; from Web Pro News This weekend I checked in and released a new version (0.8, followed by 0.8.1 this am) of WPGPlus, the WordPress plugin I wrote which cross-posts to Google+ when new blog posts are published in WordPress. Because Google hasn&#8217;t yet released a read-write API (their [...]]]></description>
				<content:encoded><![CDATA[<img src="http://www.openparenthesis.org/wp-content/uploads/2012/06/cookie-monster-google-490x184.jpg" alt="" title="cookie-monster-google" width="490" height="184" class="size-large wp-image-3297" /> Google Cookie Monster from November 2009 &#8211; from <a href="http://www.webpronews.com/watch-cookie-monster-sings-about-google-2009-11">Web Pro News</a>
<p>This weekend I checked in and released a new version (0.8, followed by 0.8.1 this am) of <a href="http://wordpress.org/extend/plugins/wpgplus/" title="WPGPlus">WPGPlus</a>, the WordPress plugin I wrote which cross-posts to Google+ when new blog posts are published in WordPress. </p>
<p>Because Google hasn&#8217;t yet released a read-write API (their <a href="https://developers.google.com/+/api/" title="Google Plus API">API only allows for reading data from Google+ not posting into it</a>), the plugin uses a hack from <a href="https://github.com/lukapusic/gplus-bot" title="GPlus Update Bot">this twitter bot script</a>, and emulates the Google+ mobile interface: it logs in as you and posts on your behalf. </p>
<p>However, that script (and the earliest versions of WPGPlus) were using the <a href="http://php.net/manual/en/book.curl.php" title="cURL Library PHP">PHP library cURL</a> directly, and relied on an option in cURL called CURLOPT_FOLLOWLOCATION which enables cURL to follow 302 redirects. That&#8217;s fine, but this option is disallowed on many hosts running in safe mode &#8211; so for users on those hosts, that was the end of the line. </p>
<p>So, I decided to re-write the script using WordPress&#8217; native <a href="http://codex.wordpress.org/HTTP_API" title="WordPress HTTP API">HTTP API</a>, which abstracts out the issue of what &#8220;transport&#8221; will be used, and offers nice safe sounding functions like <a href="http://codex.wordpress.org/Function_API/wp_remote_request" title="wp_remote_request">wp_remote_request</a>, <a href="http://codex.wordpress.org/Function_API/wp_remote_post" title="wp_remote_post">wp_remote_post</a>, and <a href="http://codex.wordpress.org/Function_API/wp_remote_head" title="wp_remote_head">wp_remote_head</a>. These functions essentially act as wrappers around the lower-level transports (cURL, fsockopen, and PHP streams) a given host might make available, taking a simple array of settings and returning arrays of results. </p>
<p>What I quickly learned was that impersonating a user for the purposes of logging into and posting to Google+ was harder than it looks. Each step required multiple redirects, and many of those redirects set cookies, which had to be stored and sent on subsequent requests. Each redirect had to be handled specifically in order to avoid the cURL safemode error. (Keeping with the theme of using native WordPress constructs, I created functions to store the cookies and retrieve them using the <a href="http://codex.wordpress.org/Transients_API" title="Transients API">Transients API</a> &#8211; which can usefully store WordPress_Http_Cookie objects &#8211; thanks to <a href="http://www.codecompost.com/tag/wp_remote_request/" title="WP_Remote_request">Code Compost</a> for info on those objects). </p>
<p>Here&#8217;s the basic flow:</p>
<ol>
<li>WPGPlus requests &#8220;https://plus.google.com/&#8221; using a mobile user agent. Gets redirected (302 redirect) to a login form. Cookies get set for GAPS and GALX at this point. </li>
<li>WPGPlus POSTs to &#8220;https://accounts.google.com/ServiceLoginAuth&#8221; with the username and password, and the GAPS and GALX cookies. Gets redirected to &#8220;https://accounts.google.com/CheckCookie&#8221; (with a bunch of stuff in the querystring). Cookies set here for NID, SID, LSID, HSID, SSID, APISID, SAPISID.</li>
<li>WPGPlus requests &#8220;https://accounts.google.com/CheckCookie&#8221;, gets redirected to &#8220;https://plus.google.com/app/plus/x/?login&#8221; with updated cookies for GAPS, SID, LSID</li>
<li>WPGPlus requests &#8220;https://plus.google.com/app/plus/x/?login&#8221;, gets redirected to &#8220;https://plus.google.com/app/plus/x/?login=1&#8243; sets cookies for MEX (expired), updated cookie for SID</li>
<li>WPGPlus requests &#8220;https://plus.google.com/app/plus/x/?login=1&#8243;, gets redirected to &#8220;https://plus.google.com/app/plus/x/sdfsdf/?login=1&#8243;, (the part between /x/ and /?login is a unique string) sets MEX cookie again (still expired), updates SID</li>
<li>WPGPlus requests &#8220;https://plus.google.com/app/plus/x/asdfasdf/?login=1&#8243;, gets redirected to &#8220;https://plus.google.com/app/plus/x/?v=stream&#8221;, sets MEX again, updates cookie for SID, </li>
<li>WPGplus requests &#8220;https://plus.google.com/app/plus/x/?v=stream&#8221;, gets redirected to &#8220;https://plus.google.com/app/plus/x/code/?v=stream&#8221;, sets MEX again, updates SID</li>
<li>Then, at the point where we want to post an update, WPGPlus requests &#8220;https://m.google.com/app/plus/x/?v=compose&#038;group=b0&#038;hideloc=1&#8243;, gets redirected to &#8220;https://m.google.com/app/plus/x/1r2q2131bmi4/?v=compose&#038;surl=%3Fv%3Dstream&#038;sspath=%2Fapp%2Fplus%2Fx&#038;group=b0&#038;hideloc=1&#8243; where the part between /x/ and /?v=compose is unique.</li>
</ul>
<p>The question I&#8217;m now trying to figure out is, are all these redirects and cookies necessary for the plugin to operate effectively? </p>
<p>Many stages along the way set a cookie named &#8220;MEX&#8221; which is set to expired since 1990. It looks like the SID (session ID perhaps?) is the one getting updated all the time &#8211; is that the only one necessary to keep session going?  </p>
<p>These are session cookies (expire at the end of the session): GALX, SID, LSID, HSID, SSID, APISID, SAPISID</p>
<p>This one has an expiration dates long in the future: GAPS (looks like 2 years), WML (10 years?).</p>
<p>The NID cookie seems to have an expiration date 6 months in the future, whereas the MEX cookie has one in the past: 01-Jan-1990 00:00:00 GMT. </p>
<p>I will need to keep experimenting, eliminating some of the cookies and maybe even just ignoring some of the redirects &#8211; maybe I only need to get past the &#8220;CheckCookie&#8221; step, and maybe we only need SID and GAPS cookies for these purposes. Would certainly make the plugin easier to maintain if I could take a few steps out of the flow. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=8EfHbjbX6mE:TWjP77NjOj0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=8EfHbjbX6mE:TWjP77NjOj0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=8EfHbjbX6mE:TWjP77NjOj0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/8EfHbjbX6mE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/06/18/fun-with-wordpress-http-api-redirection-and-cookies-wpgplus-0-8-1/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/06/18/fun-with-wordpress-http-api-redirection-and-cookies-wpgplus-0-8-1</feedburner:origLink></item>
		<item>
		<title>WordCamp Boston 2012</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/UjphO3YCDOg/wordcamp-boston-2012</link>
		<comments>http://www.openparenthesis.org/2012/06/04/wordcamp-boston-2012#comments</comments>
		<pubDate>Mon, 04 Jun 2012 15:02:28 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Boston]]></category>
		<category><![CDATA[Boston University]]></category>
		<category><![CDATA[BU]]></category>
		<category><![CDATA[CMS]]></category>
		<category><![CDATA[Content Management System]]></category>
		<category><![CDATA[wcbos]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordCamp Boston]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wp]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3284</guid>
		<description><![CDATA[WordCamp Boston 2012 is coming up quickly: July 13th-15th, at the Boston University George Sherman Union (same venue as 2011). I&#8217;ll be speaking again, this time on the topic of &#8220;Why the #@*$!% isn&#8217;t WordPress a CMS?.&#8221; Why is it that WordPress doesn&#8217;t get the respect it deserves in discussions of Web Content Management platforms? [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://2012.boston.wordcamp.org/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/06/wcbos2012-490x144.png" alt="" title="wcbos2012" width="490" height="144" class="aligncenter size-large wp-image-3285" /></a></p>
<p><a href="http://2012.boston.wordcamp.org" title="WordCamp Boston 2012">WordCamp Boston 2012</a> is coming up quickly: July 13th-15th, at the Boston University George Sherman Union (same venue as <a href="http://2011.boston.wordcamp.org/" title="WordCamp Boston 2011">2011</a>). </p>
<p>I&#8217;ll be speaking again, this time on the topic of &#8220;Why the #@*$!% isn&#8217;t WordPress a CMS?.&#8221; Why is it that WordPress doesn&#8217;t get the respect it deserves in discussions of Web Content Management platforms? How do we counter the age-old &#8220;WordPress is fine if all you need is a blog&#8221; back-handed insult?</p>
<p>On the other hand, are there things that WordPress could learn from the criticism? What could WordPress do as a project to make the WordPress-as-a-CMS conversation more productive and less repetitive? Where does WordPress&#8217; blog-platform heritage show up as an architectural weakness when held up against other WCMS platforms?</p>
<p>Looking forward to yet another fabulous WordCamp on the Charles . . . Hope to see you there. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=UjphO3YCDOg:nKeDAu5KHJI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=UjphO3YCDOg:nKeDAu5KHJI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=UjphO3YCDOg:nKeDAu5KHJI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/UjphO3YCDOg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/06/04/wordcamp-boston-2012/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/06/04/wordcamp-boston-2012</feedburner:origLink></item>
		<item>
		<title>Open Parenthesis Is Now HTML 5 and Responsive</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/DXzWbsj1Srk/open-parenthesis-is-now-html-5-and-responsive</link>
		<comments>http://www.openparenthesis.org/2012/05/20/open-parenthesis-is-now-html-5-and-responsive#comments</comments>
		<pubDate>Sun, 20 May 2012 21:40:45 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[media]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[HTML 5]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[responsive design]]></category>
		<category><![CDATA[Responsive Web Design]]></category>
		<category><![CDATA[RWD]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3277</guid>
		<description><![CDATA[Open Parenthesis is now HTML 5 and Responsive Finally took the time this weekend to clean up the theme on this blog and make it HTML 5 and Responsive. This basically means a mashup of: The WordPress Theme I picked a while back (Nameless, though my copy of it is modified a bit) HTML 5 [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_3278" class="wp-caption aligncenter" style="width: 508px"><a href="http://www.openparenthesis.org/wp-content/uploads/2012/05/html5responsive.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/05/html5responsive.png" alt="" title="html5responsive" width="473" height="300" class="size-full wp-image-3278" /></a><p class="wp-caption-text">Open Parenthesis is now HTML 5 and Responsive</p></div>
<p>Finally took the time this weekend to clean up the theme on this blog and make it HTML 5 and Responsive. This basically means a mashup of:</p>
<ul>
<li>The WordPress Theme I picked <a href="http://www.openparenthesis.org/2010/09/01/spring-cleaning-in-the-fall" title="Spring Cleaning">a while back</a> (<a href="http://koch-werkstatt.de/2010/03/21/wordpress-theme-nameless/" title="Nameless Theme for WordPress">Nameless</a>, though my copy of it is modified a bit)</li>
<li><a href="http://html5boilerplate.com/" title="HTML 5 Boilerplate">HTML 5 Boilerplate</a>, including <a href="http://modernizr.com/" title="Modernizr">modernizr</a>. (I did think about jumping right to <a href="http://html9responsiveboilerstrapjs.com/" title="HTML 9 Responsive Boilerstrap JS">HTML 9 Responsive Boilerstrap JS</a>, but wasn&#8217;t sure I was ready to &#8220;rubygem the lymphnode js shawarma module&#8221; as they say).</li>
<li>Some <a href="http://jeffsebring.com/responsive-wordpress-images/" title="Responsive WordPress Core Styles">responsive WordPress core styles</a></li>
<li>Example media queries for various sizes from around the web</li>
</ul>
<p>The results look pretty good in all the browsers I have access to, and all the tools I&#8217;ve tested in &#8211; but do let me know if you find something ugly or unexpected going on. You can find <a href="http://github.com/jeckman/nameless-boilerplate" title="Nameless-Boilerplate">the whole thing at GitHub</a> if you&#8217;re interested in the details. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=DXzWbsj1Srk:SZM_CKSuWgw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=DXzWbsj1Srk:SZM_CKSuWgw:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=DXzWbsj1Srk:SZM_CKSuWgw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/DXzWbsj1Srk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/05/20/open-parenthesis-is-now-html-5-and-responsive/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/05/20/open-parenthesis-is-now-html-5-and-responsive</feedburner:origLink></item>
		<item>
		<title>WPBook &amp; WPBook Lite Updates for Deprecated Offline Access</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/zvQUBr2veKU/wpbook-wpbook-lite-updates-for-deprecated-offline-access</link>
		<comments>http://www.openparenthesis.org/2012/05/19/wpbook-wpbook-lite-updates-for-deprecated-offline-access#comments</comments>
		<pubDate>Sat, 19 May 2012 22:19:48 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>
		<category><![CDATA[WPBook Lite]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3262</guid>
		<description><![CDATA[WPBook and WPBook Lite have been updated to reflect Facebook's impending removal of offline_access permissions. ]]></description>
				<content:encoded><![CDATA[<div id="attachment_3263" class="wp-caption aligncenter" style="width: 453px"><a href="http://www.openparenthesis.org/wp-content/uploads/2012/05/migrations.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/05/migrations.png" alt="" title="migrations" width="418" height="344" class="size-full wp-image-3263" /></a><p class="wp-caption-text">Enable &quot;deprecate offline_access&quot; to get extended access token and be prepared for when Facebook permanently removes offline_access</p></div>
<p>Facebook&#8217;s <a href="http://developers.facebook.com/roadmap/" title="Facebook Developer Roadmap">developer roadmap</a> is always changing. The latest change that impacts WPBook and WPBook Lite is the removal of the &#8220;offline_access&#8221; permission, coming in July:</p>
<blockquote><p>The offline_access permission is deprecated and will be removed July 5, 2012. Until then, you can turn this change on or off using the &#8220;Remove offline_access permission&#8221; migration. On May 2, 2012, we will automatically turn the migration to &#8220;enabled&#8221; for all apps. If this breaks your app, you can turn the migration back to &#8220;disabled&#8221; until July 5, 2012 when it will be permanently &#8220;enabled&#8221; for all apps.</p></blockquote>
<p>If that wasn&#8217;t confusing enough, check out the <a href="http://developers.facebook.com/roadmap/offline-access-removal/" title="Removal of Offline Access">&#8220;Removal of offline access permission&#8221; page</a>, which explains that:</p>
<blockquote><p>While we are removing the use of the offline_access permission, through a migration setting in the Developer App, we are now allowing the option to use access_tokens with a long-lived expiration time that can be renewed each time the user revists your app (see exceptions below). For existing apps that are not using the offline_access permission, there are no changes required for your app, but you should consider using the new endpoint that allows the longer expiration time.</p></blockquote>
<p>To translate a bit and summarize:</p>
<ul>
<li>On May 2nd, 2012, Facebook changed the setting for all existing apps so that the &#8220;remove offline_access&#8221; permission was <em>enabled</em> &#8211; but allowed users to change it back to disabled if this broke their applications</li>
<li>As of July 5th 2012, the offline_access permission will disappear forever for everyone</li>
<li>At some other point (I don&#8217;t know when) Facebook changed the migration&#8217;s name from &#8220;remove offline_access&#8221; to &#8220;deprecate offline_access&#8221; and linked the setting to these &#8220;long-lived&#8221; tokens</li>
</ul>
<p>Ultimately, as I read the docs, this means you have to make a choice: you can either keep &#8220;deprecate offline_access&#8221; disabled, and use offline_access tokens, OR you can set &#8220;deprecate offline_access&#8221; enabled, and use &#8220;long-lived&#8221; tokens. </p>
<p>Long Lived tokens live for two months (60 days) and then the user has to re-authorize the application to get a new long-lived token. </p>
<p>I&#8217;ve updated <a href="http://wordpress.org/extend/plugins/wpbook/" title="WPBook">WPBook</a> (2.5.2) and <a href="http://wordpress.org/extend/plugins/wpbook-lite/" title="WPBook Lite">WPBook Lite</a> (1.4) to work with long-lived tokens. The apps will no longer ask for offline_access, and will check for token validity, flagging in the admin when a token is invalid. </p>
<p><strong>If you already have a Facebook application</strong> set up and working with either WPBook or WPBook lite, you don&#8217;t need to do anything. Your tokens, which were granted under the old &#8220;offline access&#8221; regime, will keep working, for now. Per Facebook:</p>
<blockquote><p>After the offline_access removal date, currently set for 7/5/2012 (<a href="https://developers.facebook.com/roadmap/" title="Facebook Developer Roadmap">see roadmap for exact date</a>), all existing offline_access access_tokens will have their expiration time truncated to 60 days. This truncation will be transparent to the user and your app will continue functioning normally; Facebook will send an updated message through the weekly developer round-up when this truncation will occur.</p></blockquote>
<p><strong>If you don&#8217;t yet have a Facebook application</strong>, and are setting up a new one, you should start with &#8220;deprecate offline_access&#8221; enabled, and WPBook / WPBook Lite will be fine, but you will need to re-authenticate every 60 days. </p>
<p>Ultimately everyone will end up having to re-authenticate every 60 days. </p>
<p>These implementations are just the first pass to ensure that WPBook and WPBook Lite keep working. Next step will be to actually store the expiration returned with the token and be able to inform the user <strong>before</strong> the token becomes invalid, not just let them know after the fact. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=zvQUBr2veKU:tmuaGDUHFl8:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=zvQUBr2veKU:tmuaGDUHFl8:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=zvQUBr2veKU:tmuaGDUHFl8:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/zvQUBr2veKU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/05/19/wpbook-wpbook-lite-updates-for-deprecated-offline-access/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/05/19/wpbook-wpbook-lite-updates-for-deprecated-offline-access</feedburner:origLink></item>
		<item>
		<title>Non-Responsive Design</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/xshTj1GqmJo/non-responsive-design</link>
		<comments>http://www.openparenthesis.org/2012/05/10/non-responsive-design#comments</comments>
		<pubDate>Thu, 10 May 2012 11:18:34 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Adaptive]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Fixed]]></category>
		<category><![CDATA[Future Friendly]]></category>
		<category><![CDATA[Layout]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Responsive]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3254</guid>
		<description><![CDATA[What do we call design which is not responsive? We need to stop describing "responsive" as an approach - it should just be good design. But we'll need a word for what people used to do. 
]]></description>
				<content:encoded><![CDATA[<p>I&#8217;ve been thinking a lot lately about the &#8220;Responsive Design&#8221; approach, and how the problem is we&#8217;re still thinking of it as an approach, as though the alternatives are equally valid and universal. There&#8217;s &#8220;regular&#8221; design or &#8220;responsive&#8221; design. </p>
<p>What if we started just calling the set of techniques we&#8217;ve been calling &#8220;responsive&#8221; plain old design, and came up with an alternative label for what people used to do? (Ok, my own sites aren&#8217;t all responsive, but they will be whenever I next get around to it &#8211; the point is that new designs should all be done this way). </p>
<p>So I took to the twitter stream for inspiration. Storify below, enjoy. </p>
<p><script src="http://storify.com/jeckman/nonresponsive-design.js"></script><br />
<noscript>[<a href="http://storify.com/jeckman/nonresponsive-design" target="_blank">View the story "Nonresponsive Design" on Storify</a>]</noscript>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=xshTj1GqmJo:A7h-6mtL7d0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=xshTj1GqmJo:A7h-6mtL7d0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=xshTj1GqmJo:A7h-6mtL7d0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/xshTj1GqmJo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/05/10/non-responsive-design/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/05/10/non-responsive-design</feedburner:origLink></item>
		<item>
		<title>Digital Strategy at New England Give Camp</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/KySdFMdsjzM/digital-strategy-at-new-england-give-camp</link>
		<comments>http://www.openparenthesis.org/2012/05/06/digital-strategy-at-new-england-give-camp#comments</comments>
		<pubDate>Sun, 06 May 2012 16:37:07 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Content Strategy]]></category>
		<category><![CDATA[digital strategy]]></category>
		<category><![CDATA[negc2012]]></category>
		<category><![CDATA[negivecamp]]></category>
		<category><![CDATA[new england give camp]]></category>
		<category><![CDATA[non-profits]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3244</guid>
		<description><![CDATA[New England Give Camp This weekend I had a chance, thanks to Ian Muir, to present at New England GiveCamp. GiveCamps are an international phenomena, in which developers and designers (and marketing and strategy folk) get together with non-profit organizations over a weekend to build or enhance sites (happily, many on Drupal and WordPress) for [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_3245" class="wp-caption alignleft" style="width: 335px"><a href="http://www.openparenthesis.org/wp-content/uploads/2012/05/GiveCampLogo2HorizontalNoDateSmall-300x196.jpg"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/05/GiveCampLogo2HorizontalNoDateSmall-300x196.jpg" alt="" title="GiveCampLogo2HorizontalNoDateSmall-300x196" width="300" height="196" class="size-full wp-image-3245" /></a><p class="wp-caption-text">New England Give Camp</p></div>
<p>This weekend I had a chance, thanks to <a href="https://twitter.com/#!/woogychuck" title="Ian Muir">Ian Muir</a>, to present at <a href="http://newenglandgivecamp.org/" title="New England GiveCamp">New England GiveCamp</a>. <a href="http://givecamp.org/" title="GiveCamp">GiveCamp</a>s are an international phenomena, in which developers and designers (and marketing and strategy folk) get together with non-profit organizations over a weekend to build or enhance sites (happily, many on Drupal and WordPress) for those charities. </p>
<p>New England GiveCamp ran all weekend (May 4-6) at the Microsoft NERD Center in Kendall Square, and feature <a href="http://newenglandgivecamp.org/the-class-of-2012/" title="Class of 2012">29 different non-profits</a> and over 110 volunteers. You can read more about it on <a href="http://newenglandgivecamp.org/news/" title="New England Give Camp News">their news feed</a> which is also frequently linking to blog entries by attendees. </p>
<p>I hope next year to be able to attend and do some development, not just drop in and chat about strategy, but it was great to be able to be involved. </p>
<p>Here&#8217;s the deck I used to drive the conversation. </p>
<div style="width:425px" id="__ss_12818667"> <strong style="display:block;margin:12px 0 4px"><a href="http://www.slideshare.net/jeckman/digital-strategy-101" title="Digital Strategy 101" target="_blank">Digital Strategy 101</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/12818667" width="425" height="355" frameborder="0" marginwidth="0" marginheight="0" scrolling="no"></iframe>
<div style="padding:5px 0 12px"> View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/jeckman" target="_blank">John Eckman</a> </div>
</p></div>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=KySdFMdsjzM:3rpzMpYYpOs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=KySdFMdsjzM:3rpzMpYYpOs:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=KySdFMdsjzM:3rpzMpYYpOs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/KySdFMdsjzM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/05/06/digital-strategy-at-new-england-give-camp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/05/06/digital-strategy-at-new-england-give-camp</feedburner:origLink></item>
		<item>
		<title>Minds for Sale: Crowdsourced Surveillance?</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/CRk0YTOEEW8/minds-for-sale-crowdsourced-surveillance</link>
		<comments>http://www.openparenthesis.org/2012/03/29/minds-for-sale-crowdsourced-surveillance#comments</comments>
		<pubDate>Thu, 29 Mar 2012 22:29:48 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[Berkman]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3237</guid>
		<description><![CDATA[While flying down to Denver for DrupalCon, I finally caught up on some of the videos in my queue optimistically labeled &#8220;watch later.&#8221; I put videos (or sometimes podcasts) there when they seem compelling but are too long for the commute or for sitting at the laptop watching. Often these are from the Berkman Video [...]]]></description>
				<content:encoded><![CDATA[<p>While flying down to Denver for DrupalCon, I finally caught up on some of the videos in my queue optimistically labeled &#8220;watch later.&#8221; I put videos (or sometimes podcasts) there when they seem compelling but are too long for the commute or for sitting at the laptop watching. </p>
<p>Often these are from the <a href="http://blogs.law.harvard.edu/mediaberkman/category/video/" title="Berkman Video Fishbowl">Berkman Video Fishbowl</a> or other Boston area events that I wasn&#8217;t able to attend in person. (As I&#8217;ve written before, <a href="http://www.openparenthesis.org/2007/11/13/embarrasment-of-riches" title="Embarrassment of Riches">Boston is an embarrassment of riches</a> from the point of view of interesting events). The video below isn&#8217;t from the fishbowl, but is from <a href="http://cyber.law.harvard.edu/teaching/ilaw/2011/Main_Page" title="iLaw 2011">iLaw 2011</a>. In it, Jonathan Zittrain gives an updated version of a talk he&#8217;s given multiple times (Google turns up many videos from the last 2 years) called &#8220;<a href="http://cyber.law.harvard.edu/teaching/ilaw/2011/Minds_for_Sale" title="Minds for Sale">Minds for Sale</a>,&#8221; in which he examines &#8220;the consequences of crowdsourcing, economically, legally and socially.&#8221; </p>
<p><object width="510" height="346"><param name="movie" value="http://www.youtube.com/v/1uJWwLVkKTU?version=3&amp;hl=en_US"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/1uJWwLVkKTU?version=3&amp;hl=en_US" type="application/x-shockwave-flash" width="510" height="346" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>It&#8217;s a fascinating talk, though it may start out a bit slow if you&#8217;re already familiar with the basic terrain of crowdsourced labor online, Amazon&#8217;s Mechanical Turk, and the like. When he starts to get into the notion of crowdsourcing the identification of protesters in photos, though, it starts getting really provocative as it pushes on our tendency to call for a hands-off when it comes to &#8216;net regulation. </p>
<p>I was reminded of it again when I saw today that Google is using ReCaptcha (a crowdsourced, labor-for-free, decomposed into small parts so no one knows the whole task model similar to those Zittrain describes) to improve recognition of street addresses in street view (<a href="http://techcrunch.com/2012/03/29/google-now-using-recaptcha-to-decode-street-view-addresses/" title="Tech Crunch - Google Using Recaptcha to Decode Street View Addresses">techcrunch</a>). </p>
<div id="attachment_3238" class="wp-caption aligncenter" style="width: 525px"><a href="http://techcrunch.com/2012/03/29/google-now-using-recaptcha-to-decode-street-view-addresses/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/03/recaptcha-collection-490x237.jpg" alt="" title="recaptcha-collection" width="490" height="237" class="size-large wp-image-3238" /></a><p class="wp-caption-text">Street addresses as seen in Captchas</p></div>
<p>How far off is this from using Recaptcha (or similar technologies) to decode the license plate of cars parked at an Animal Rights conference as seen from afar? Or, for that matter, at an HIV treatment facility?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=CRk0YTOEEW8:X1nxoRcpAyI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=CRk0YTOEEW8:X1nxoRcpAyI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=CRk0YTOEEW8:X1nxoRcpAyI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/CRk0YTOEEW8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/03/29/minds-for-sale-crowdsourced-surveillance/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/03/29/minds-for-sale-crowdsourced-surveillance</feedburner:origLink></item>
		<item>
		<title>Dries’ Keynote and the Assembled Web</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/vOxxtSRKVoc/dries-keynote-and-the-assembled-web</link>
		<comments>http://www.openparenthesis.org/2012/03/20/dries-keynote-and-the-assembled-web#comments</comments>
		<pubDate>Tue, 20 Mar 2012 21:29:29 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[2012]]></category>
		<category><![CDATA[Assembled Web]]></category>
		<category><![CDATA[Denver]]></category>
		<category><![CDATA[Dries Buytaert]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Drupalcon]]></category>
		<category><![CDATA[keynote]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3230</guid>
		<description><![CDATA[At this morning&#8217;s DrupalCon Denver keynote, Dries mentioned the concept of the Assembled Web a number of times: how Drupal enables web applications to be assembled from component parts (both parts from within Drupal and parts from outside it). Although his usage is a bit different than ours was (and Acquia has been using the [...]]]></description>
				<content:encoded><![CDATA[<p>At this morning&#8217;s <a href="http://denver2012.drupal.org/" title="DrupalCon Denver 2012">DrupalCon Denver</a> keynote, Dries mentioned the concept of the Assembled Web a number of times: how Drupal enables web applications to be assembled from component parts (both parts from within Drupal and parts from outside it). </p>
<p><object id="flashObj" width="480" height="270" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,47,0"><param name="movie" value="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&#038;isUI=1" /><param name="bgcolor" value="#FFFFFF" /><param name="flashVars" value="videoId=1492322912001&#038;playerID=793830727001&#038;playerKey=AQ~~,AAAAuFIGwck~,XYSambmH7ySRJvSGXM6jvO2WTQY3FJ3a&#038;domain=embed&#038;dynamicStreaming=true" /><param name="base" value="http://admin.brightcove.com" /><param name="seamlesstabbing" value="false" /><param name="allowFullScreen" value="true" /><param name="swLiveConnect" value="true" /><param name="allowScriptAccess" value="always" /><embed src="http://c.brightcove.com/services/viewer/federated_f9?isVid=1&#038;isUI=1" bgcolor="#FFFFFF" flashVars="videoId=1492322912001&#038;playerID=793830727001&#038;playerKey=AQ~~,AAAAuFIGwck~,XYSambmH7ySRJvSGXM6jvO2WTQY3FJ3a&#038;domain=embed&#038;dynamicStreaming=true" base="http://admin.brightcove.com" name="flashObj" width="480" height="270" seamlesstabbing="false" type="application/x-shockwave-flash" allowFullScreen="true" allowScriptAccess="always" swLiveConnect="true" pluginspage="http://www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash"></embed></object></p>
<p>Although his usage is a bit different than ours was (and <a href="http://www.acquia.com/" title="Acquia">Acquia</a> has been <a href="http://www.acquia.com/resources/whitepapers/drupal-and-the-assembled-web" title="Drupal and the Assembled Web">using the term</a> for <a href="http://www.youtube.com/watch?v=8j9WSv5-x0Y" title="Assembling a Next Generation Enterprise Web Infrastructure">some time</a>) I couldn&#8217;t help but recall all the writing we did about The Assembled Web when I was at <a href="http://www.optaros.com/" title="Optaros">Optaros</a> in 2008-2009. Specifically, I went back to &#8220;<a href="http://www.openparenthesis.org/2009/09/22/the-assembled-web-notes-toward-a-manifesto" title="The Assembled Web: Notes Toward a Manifesto">The Assembled Web: Notes Toward a Manifesto</a>&#8221; on this blog from September of 2009, and I was amazed at well it holds up, even with the themes of DrupalCon 2012. </p>
<p>Some highlights from the original post I thought remained relevant:</p>
<blockquote><p>1. You should always be thinking multi-site, multi-interface, multi-project. </p></blockquote>
<p>Although we weren&#8217;t calling it responsive design then, we were thinking about the notion that any time you create content or functionality, you need to think about the multiple contexts in which that content or functionality might be used. We were thinking less about devices and more about contexts, perhaps, but it still sounds like pretty decent advice. </p>
<blockquote><p>4. Design is critical, and design is not about pretty shiny objects</p></blockquote>
<p>Well, ok, one could argue there&#8217;s never been a time where this wasn&#8217;t true &#8211; but we were right to say that its importance was only increasing as interfaces proliferated. </p>
<blockquote><p>5. The internet itself, like the *nix operating systems on which it (almost entirely) runs, is a set of small pieces loosely joined</p></blockquote>
<p>Other than the shameless poaching from <a href="http://www.smallpieces.com/index.php" title="Small Pieces Loosely Joined">David Weinberger&#8217;s book</a> this one holds true too. This is maybe the closest to what Acquia has picked up and taken from the meme we tried to create, with the elaboration:</p>
<blockquote><p>Every project you do must be composed of smaller discrete components communicating with each other. The corollary is that every project you do must also be composeable or consumable by other projects – including projects you know nothing about. This is true across multiple projects (within your organization and outside it) as well as over time within a given project.</p></blockquote>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=vOxxtSRKVoc:ecA1BxDm5tk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=vOxxtSRKVoc:ecA1BxDm5tk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=vOxxtSRKVoc:ecA1BxDm5tk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/vOxxtSRKVoc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/03/20/dries-keynote-and-the-assembled-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/03/20/dries-keynote-and-the-assembled-web</feedburner:origLink></item>
		<item>
		<title>Heading to Denver for DrupalCon</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/bkMQIYSfvMM/heading-to-denver-for-drupalcon</link>
		<comments>http://www.openparenthesis.org/2012/03/15/heading-to-denver-for-drupalcon#comments</comments>
		<pubDate>Thu, 15 Mar 2012 12:49:18 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Higher Education]]></category>
		<category><![CDATA[media]]></category>
		<category><![CDATA[Customer Experience Management]]></category>
		<category><![CDATA[Denver]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[Drupalcon]]></category>
		<category><![CDATA[Travel]]></category>
		<category><![CDATA[unconference]]></category>
		<category><![CDATA[Web Experience Management]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3223</guid>
		<description><![CDATA[Next week I&#8217;m off to Denver for DrupalCon 2012. Since DrupalCon 2008 (which was in Boston) I&#8217;ve done both SXSW and DrupalCon each year, but that was proving to be a bit of an overload, so this year I&#8217;ve dialed back, skipped SXSW, and chose DrupalCon instead. I&#8217;ve found it consistently more useful. I&#8217;ll be [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://denver2012.drupal.org/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/03/drupalcon.png" alt="" title="drupalcon" width="492" height="251" class="aligncenter size-full wp-image-3224" /></a></p>
<p>Next week I&#8217;m off to Denver for DrupalCon 2012. Since DrupalCon 2008 (which was in Boston) I&#8217;ve done both SXSW and DrupalCon each year, but that was proving to be a bit of an overload, so this year I&#8217;ve dialed back, skipped SXSW, and chose DrupalCon instead. I&#8217;ve found it consistently more useful.  </p>
<p>I&#8217;ll be attending the <a href="https://denverdrupaled.eventbrite.com/">Drupal in Education Unconference</a> Monday, and then the main conference Tue-Thurs. (See <a href="http://denver2012.drupal.org/user/14714/schedule" title="My DrupalCon Session Schedule">my schedule of sessions</a>). </p>
<p>I&#8217;m most looking forward to:</p>
<ul>
<li>Jay Batson&#8217;s talk on <a href="http://denver2012.drupal.org/program/sessions/thinking-big-assembling-drupal-web-experience-management-powerhouse" title="Web Experience Management in Drupal">Web Experience Management in Drupal</a></li>
<li>The session on <a href="http://denver2012.drupal.org/program/sessions/og7-pride-and-prejudice" title="Organic Groups 7">Organic Groups 7</a> (though it conflicts with a good session on responsive design as well)</li>
<li>The <a href="http://denver2012.drupal.org/program/sessions/drupal-contribution-ladder-gift-and-challenge-you-boston" title="Drupal Contribution Planner">Drupal Ladder</a> &#8211; an outgrowth of an initiative in the Boston Drupal Group I&#8217;ve participated in</li>
<li>The <a href="http://denver2012.drupal.org/program/sessions/open-academy-higher-education-drupal-product-departmental-websites" title="Drupal Open Academy">Open Academy</a> presentation &#8211; A Drupal Product for Departmental Websites</li>
<li><a href="http://denver2012.drupal.org/program/sessions/designing-content-management-systems" title="Designing for Content Management Systems">Designing for Content Management Systems</a></li>
</ul>
<p>Though like all good open source conferences there are many time blocks where there are 5 or 6 sessions I&#8217;d like to attend. </p>
<p>It will also be my first year at DrupalCon as an official <a href="http://www.cmsmyth.com/" title="CMS Myth">CMS Myth</a> Mythbuster &#8211; looking forward to bringing some Drupal community  perspective to myths about CMS. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=bkMQIYSfvMM:vmGqQnBbRb4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=bkMQIYSfvMM:vmGqQnBbRb4:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=bkMQIYSfvMM:vmGqQnBbRb4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/bkMQIYSfvMM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/03/15/heading-to-denver-for-drupalcon/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/03/15/heading-to-denver-for-drupalcon</feedburner:origLink></item>
		<item>
		<title>BarCamp Boston 7 Coming April 7th and 8th</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/R9A7IPQ27BA/barcamp-boston-7-coming-april-7th-and-8th</link>
		<comments>http://www.openparenthesis.org/2012/02/20/barcamp-boston-7-coming-april-7th-and-8th#comments</comments>
		<pubDate>Mon, 20 Feb 2012 14:30:44 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[BarCamp]]></category>
		<category><![CDATA[BarCamp Boston]]></category>
		<category><![CDATA[bcb]]></category>
		<category><![CDATA[unconference]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3216</guid>
		<description><![CDATA[BarCamp Boston 7 coming up April 7th and 8th at the NERD Center in Kendall Square. ]]></description>
				<content:encoded><![CDATA[<div id="attachment_3217" class="wp-caption aligncenter" style="width: 525px"><a href="http://www.barcampboston.org/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/02/barcamp-490x277.png" alt="BarCamp Boston 7 Coming April 7th and 8th" title="barcamp" width="490" height="277" class="size-large wp-image-3217" /></a><p class="wp-caption-text">BarCamp Boston 7 Coming April 7th and 8th to the NERD Center</p></div>
<p>I originally started this blog just before <a href="http://www.openparenthesis.org/2006/05/30/barcamp-boston">the first BarCamp Boston</a>, back in may of 2006, and I&#8217;ve helped organize / volunteer at a number of them as well as given a few talks. </p>
<p>This year <a href="http://www.barcampboston.org/" title="BarCamp Boston 7">BarCamp Boston 7</a> returns to the NERD center on April 7th and 8th &#8211; hope to see you there. </p>
<p>Maybe I&#8217;ll give a talk on the <a href="https://github.com/jeckman/UnOfficial.fm-Feed" title="UnOfficial.fm Feed Generator">Official.fm Feed Generator</a>, or the <a href="http://wordpress.org/extend/plugins/wpgplus/" title="WPGPlus WordPress Plugin">WPGPlus plugin</a> &#8211; I&#8217;d love to get some hacker help with the latter in particular. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=R9A7IPQ27BA:8Gr5JCH17yI:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=R9A7IPQ27BA:8Gr5JCH17yI:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=R9A7IPQ27BA:8Gr5JCH17yI:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/R9A7IPQ27BA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/02/20/barcamp-boston-7-coming-april-7th-and-8th/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/02/20/barcamp-boston-7-coming-april-7th-and-8th</feedburner:origLink></item>
		<item>
		<title>New Project: UnOfficial.fm iTunes Feed Generator</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/yPvIGtdVlis/new-project-unofficial-fm-itunes-feed-generator</link>
		<comments>http://www.openparenthesis.org/2012/01/30/new-project-unofficial-fm-itunes-feed-generator#comments</comments>
		<pubDate>Mon, 30 Jan 2012 15:17:07 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Download]]></category>
		<category><![CDATA[Enclosures]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[Official.fm]]></category>
		<category><![CDATA[Podcast]]></category>
		<category><![CDATA[RSS]]></category>
		<category><![CDATA[The Waiting Room]]></category>
		<category><![CDATA[TWRHQ]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3199</guid>
		<description><![CDATA[New project - unofficial.fm itunes feed generator. (Creates iTunes compliant feeds for officialfm users). Created a feed for The Waiting Room podcast. ]]></description>
				<content:encoded><![CDATA[<div id="attachment_3202" class="wp-caption aligncenter" style="width: 525px"><a href="http://twrhq.com/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/430_banner_image-490x163.png" alt="" title="430_banner_image" width="490" height="163" class="size-large wp-image-3202" /></a><p class="wp-caption-text">The Waiting Room Podcast at Official.fm</p></div>
<p>One of my consistently favorite podcasts of the last few years has been <a href="http://twrhq.com/" title="The Waiting Room">The Waiting Room</a>, a new music show out of Cardiff, Wales. The show is broadcast on a number of internet radio stations, but I generally listen to it as a podcast, so that I can timeshift and listen when I have time not when it is being broadcast. </p>
<p>They&#8217;ve been hosted for some time now on <a href="http://twrhq.official.fm/" title="The Waiting Room on Official.fm">Official.fm</a>, a site which allows users to post tracks and playlists, make them downloadable, make them embeddable, and the like. </p>
<div id="attachment_3201" class="wp-caption aligncenter" style="width: 525px"><a href="http://official.fm/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/officialfm-490x210.png" alt="" title="officialfm" width="490" height="210" class="size-large wp-image-3201" /></a><p class="wp-caption-text">Official.fm</p></div>
<p>Official.fm does produce an RSS feed of a given user&#8217;s tracks (there&#8217;s a little grey RSS icon at the lower left corner of a user&#8217;s page), but the structure of that feed doesn&#8217;t work for podcast clients, including itunes. </p>
<p>A while back I made <a href="http://www.goatless.org/2011/11/21/using-yahoo-pipes-to-get-podcast-feed-from-official-fm" title="Yahoo! Pipe for Official.fm">a Yahoo! Pipe</a> that would translate the appropriate official.fm feed into something that <a href="http://downcastapp.com/" title="Downcast">Downcast</a> (my podcatcher of choice) would be able to handle, but it annoyed me that this still wasn&#8217;t usable in iTunes. (iTunes requires that the enclosure file end in an appropriate extension like .mp3, which means the /download style links Official.fm produces cannot be used in an iTunes feed). </p>
<p>So this weekend I hacked up the <a href="https://github.com/jeckman/UnOfficial.fm-Feed" title="UnOfficial.fm iTunes Feed Generator">UnOfficial.fm iTunes Feed Generator</a> (github page). It takes an official.fm username (and some other metadata used by iTunes) and creates an iTunes appropriate RSS feed. </p>
<p>As a sample and test feed, here&#8217;s an iTunes compliant feed for The Waiting Room:</p>
<p><code>http://johneckman.com/uo/feed.xml</code></p>
<p>You can take this url, and in iTunes got to Advanced->Subscribe to Podcast. Paste in the feed url, and voila &#8211; TWR is back in your iTunes. </p>
<p>The feed gets updated every 24 hours (heck, they only post shows weekly!) via a cron job that recreates the feed.xml file. </p>
<p>If you&#8217;re geekily inclined, you can grab the script from github and configure it as you see fit for other official.fm artists. </p>
<p>(<a href="http://official.fm/developers/index" title="Developers, on Official.fm">Official.fm does apparently have an API</a>, but I didn&#8217;t see any simple way to get the path to the actual mp3 file via the API, even when it is marked downloadable). </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=yPvIGtdVlis:Td_29731tyY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=yPvIGtdVlis:Td_29731tyY:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=yPvIGtdVlis:Td_29731tyY:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/yPvIGtdVlis" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/30/new-project-unofficial-fm-itunes-feed-generator/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/30/new-project-unofficial-fm-itunes-feed-generator</feedburner:origLink></item>
		<item>
		<title>Introducing WPGPlus: Posting from WordPress to Google+</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/Oq7Xn0hJ7UI/introducing-wpgplus-posting-from-wordpress-to-google</link>
		<comments>http://www.openparenthesis.org/2012/01/17/introducing-wpgplus-posting-from-wordpress-to-google#comments</comments>
		<pubDate>Tue, 17 Jan 2012 14:59:31 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[automatic]]></category>
		<category><![CDATA[cross post]]></category>
		<category><![CDATA[G+]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[Google Plus]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[posting]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3193</guid>
		<description><![CDATA[Inspired by seeing comments in Google+ about the need for a WordPress cross-post, I whipped up a quick WordPress plugin: WPGPLus. For now, since the Google+ API is read-only, I&#8217;m borrowing inspiration from Luka Puši?&#8217;s GPlus Bot and Dmitry Sandalov&#8217;s Twitter 2 Google Plus script. This means emulating the Google+ mobile web experience using Curl. [...]]]></description>
				<content:encoded><![CDATA[<p>Inspired by seeing comments in Google+ about the need for a WordPress cross-post, I whipped up a quick WordPress plugin: <a href="http://wordpress.org/extend/plugins/wpgplus" title="WPGPlus" target="_blank">WPGPLus</a>.</p>
<p>For now, since the Google+ API is read-only, I&#8217;m borrowing inspiration from Luka Puši?&#8217;s <a href="http://360percents.com/posts/first-google-google-plus-status-update-bot-in-php/" title="Gplus Bot" target="_blank">GPlus Bot</a> and Dmitry Sandalov&#8217;s <a href="http://sandalov.org/blog/2011/11/17/crosspost-from-twitter-to-google-google-plus-in-php/" title="Cross Post from Twitter to G+" target="_blank">Twitter 2 Google Plus script</a>.</p>
<p>This means emulating the Google+ mobile web experience using Curl. </p>
<p>WPGPlus adds a box to the post edit screen where you can choose yes/no for publishing to Google+, as well as a place for a message to be used in the body. </p>
<p>(If you provide a Google+ message it is used; if you provide a post excerpt it is used; otherwise post content is used). </p>
<p>Anyway, <a href="http://wordpress.org/extend/plugins/wpgplus" title="WPGPlus">check it out</a> and let me know what you think!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=Oq7Xn0hJ7UI:-keve9Bajd0:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=Oq7Xn0hJ7UI:-keve9Bajd0:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=Oq7Xn0hJ7UI:-keve9Bajd0:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/Oq7Xn0hJ7UI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/17/introducing-wpgplus-posting-from-wordpress-to-google/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/17/introducing-wpgplus-posting-from-wordpress-to-google</feedburner:origLink></item>
		<item>
		<title>Wrapping up WordCamp Boston 2011</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/ZWzDchKb3aI/wrapping-up-wordcamp-boston-2011</link>
		<comments>http://www.openparenthesis.org/2012/01/16/wrapping-up-wordcamp-boston-2011#comments</comments>
		<pubDate>Mon, 16 Jan 2012 21:10:17 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[2011]]></category>
		<category><![CDATA[Community]]></category>
		<category><![CDATA[conference]]></category>
		<category><![CDATA[wcbos]]></category>
		<category><![CDATA[WordCamp]]></category>
		<category><![CDATA[WordCamp Boston]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3125</guid>
		<description><![CDATA[Photo by Peter Wood, cc-by-nc-nd license. This last weekend I finally got drafted and posted Closing the Books on WordCamp Boston 2011 over on WCBOS site. Planning WordCamp Boston the last two years has been quite an experience: challenging, at times high-stress-inducing, but well worth the effort. It&#8217;s only really been possible, of course, because [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_3126" class="wp-caption aligncenter" style="width: 525px"><a href="http://www.flickr.com/photos/peterwood/5968639429/in/photostream/"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/5968639429_97cde3dcae_o-490x386.jpg" alt="" title="5968639429_97cde3dcae_o" width="490" height="386" class="size-large wp-image-3126" /></a><p class="wp-caption-text">Photo by Peter Wood, cc-by-nc-nd license.</p></div>
<p>This last weekend I finally got drafted and posted <a href="http://2011.boston.wordcamp.org/2012/01/15/closing-the-books-on-wordcamp-boston-2011/" title="Closing the Books on WordCamp Boston 2011">Closing the Books on WordCamp Boston 2011</a> over on WCBOS site. </p>
<p>Planning WordCamp Boston the last two years has been quite an experience: challenging, at times high-stress-inducing, but well worth the effort. It&#8217;s only really been possible, of course, because of the <a href="http://2011.boston.wordcamp.org/organizers/" title="WordCamp Boston Organizers">first class team of organizers</a> and volunteers, many of whom worked quietly behind the scenes getting all the hard tasks done, especially in the weeks leading up to the camp. </p>
<p>Thanks are due (much overdue) to my fellow organizers and all the volunteers, speakers, sponsors, and attendees who made WordCamp Boston 2011 a great success!</p>
<p>Now, <a href="http://2011.boston.wordcamp.org/2011/07/25/wordcamp-boston-2012/" title="WordCamp Boston 2012">on to 2012</a>. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=ZWzDchKb3aI:HdwXGIHZl5E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=ZWzDchKb3aI:HdwXGIHZl5E:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=ZWzDchKb3aI:HdwXGIHZl5E:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/ZWzDchKb3aI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/16/wrapping-up-wordcamp-boston-2011/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/16/wrapping-up-wordcamp-boston-2011</feedburner:origLink></item>
		<item>
		<title>Western Mass Drupal Camp</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/PgKl1-8gQOM/western-mass-drupal-camp</link>
		<comments>http://www.openparenthesis.org/2012/01/16/western-mass-drupal-camp#comments</comments>
		<pubDate>Mon, 16 Jan 2012 15:13:37 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Conference]]></category>
		<category><![CDATA[Higher Education]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Drupal]]></category>
		<category><![CDATA[drupalcampma]]></category>
		<category><![CDATA[EZ Publish]]></category>
		<category><![CDATA[Harvard]]></category>
		<category><![CDATA[Harvard Institute of Politics]]></category>
		<category><![CDATA[IOP]]></category>
		<category><![CDATA[JFK Jr Forum]]></category>
		<category><![CDATA[kaltura]]></category>
		<category><![CDATA[Nodequeue]]></category>
		<category><![CDATA[Western Mass Drupal Camp]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3114</guid>
		<description><![CDATA[Western Mass Drupal Camp will be held in Amherst MA on 1/21/12 I was very happy to find out this weekend that I will be speaking next weekend (1/21/12) at Western Mass Drupal Camp in Amherst. I&#8217;ll be walking through a case study of the site ISITE Design recently designed and built for the JFK [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_3115" class="wp-caption aligncenter" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2012/01/drupalcampma.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/drupalcampma-490x145.png" alt="" title="drupalcampma" width="490" height="145" class="size-large wp-image-3115" /></a><p class="wp-caption-text">Western Mass Drupal Camp will be held in Amherst MA on 1/21/12</p></div>
<p>I was very happy to find out this weekend that I will be speaking next weekend (1/21/12) at <a href="http://drupalcampma.com/" title="Western Mass Drupal Camp" target="_blank">Western Mass Drupal Camp</a> in Amherst. </p>
<p>I&#8217;ll be walking through a case study of the <a href="http://forum.iop.harvard.edu/" title="JFK Jr Forum at Harvard" target="_blank">site</a> <a href="http://www.isitedesign.com/">ISITE Design</a> recently designed and built for the <a href="http://forum.iop.harvard.edu" title="JFK Jr Forum" target="_blank">JFK Jr Forum</a> at the <a href="http://www.iop.harvard.edu/" title="Harvard Institute of Politics" target="_blank">Harvard Institute of Politics</a> (The Forum site is new, the Institute of Politics site is existing). </p>
<p>As I wrote in the <a href="http://drupalcampma.com/case-study-harvard-institute-politics-jfk-jr-forum-microsite" title="Case Study: Harvard Institute of Politics JFK Jr Forum Microsite">session description</a>:</p>
<blockquote><p>An interesting project &#8211; in some ways a very simple Drupal site with a single content type, but lots of interesting features.</p>
<p>Key features we&#8217;ll review include:</p>
<ul>
<li>Kaltura &#8211; open source (and SaaS) video platform for livestreaming, transcoding, and delivery, including HTML 5 video
</li>
<li>Programmatic content migration from EZ Publish, using Feeds
</li>
<li>Homepage feature carousel and &#8220;featured&#8221; forums: Views, Blocks, Nodequeue
</li>
<li>Complex Views (Headers, Contextual Arguments, rewriting)
</li>
<li>Taxonomy: Speakers, Moderators, Cosponsors, Subjects
</li>
<li>Calendar of Forums
</li>
</ul>
</blockquote>
<p>Looks like it will be a very <a href="http://drupalcampma.com/program/schedule" title="Session Schedule, Western Mass Drupal Camp">full day of sessions</a>, including presentations on <a href="http://drupalcampma.com/responsive-web-design-approach-drupal" title="Responsive Design in Drupal" target="_blank">responsive design</a>,   <a href="http://drupalcampma.com/basics-drush-0" title="Drush Basics" target="_blank">Drush basics</a>, <a href="http://drupalcampma.com/power-views" title="The Power of Views" target="_blank">Views</a>, and <a href="http://drupalcampma.com/add-usability-testing-your-skill-set" title="Add Usability Testing to Your Skill Set" target="_blank">usability testing</a>. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=PgKl1-8gQOM:ApZuytFfxCk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=PgKl1-8gQOM:ApZuytFfxCk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=PgKl1-8gQOM:ApZuytFfxCk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/PgKl1-8gQOM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/16/western-mass-drupal-camp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/16/western-mass-drupal-camp</feedburner:origLink></item>
		<item>
		<title>Fun with PhotoBlast</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/4Enx-oqrvPM/fun-with-photoblast</link>
		<comments>http://www.openparenthesis.org/2012/01/12/fun-with-photoblast#comments</comments>
		<pubDate>Thu, 12 Jan 2012 14:05:12 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[media]]></category>
		<category><![CDATA[Bling]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[ISITE Design]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Mobile App]]></category>
		<category><![CDATA[Photoblast]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3103</guid>
		<description><![CDATA[Yes, this is what I look like when I&#039;m having fun. ISITE Design created a fun iOS app, Photoblast (best on iPhone, but you can run it in pixel-doubled mode on your iPad too) that lets you add bling, facial hair, luchadors, and the like to your photos for extra impact. Forget Instagram, ours has [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_3104" class="wp-caption alignleft" style="width: 525px"><a href="http://www.openparenthesis.org/wp-content/uploads/2012/01/photoblast.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/photoblast-490x490.png" alt="" title="photoblast" width="490" height="490" class="size-large wp-image-3104" /></a><p class="wp-caption-text">Yes, this is what I look like when I&#039;m having fun. </p></div>
<p>ISITE Design created a fun iOS app, <a href="http://photoblastapp.com/" title="Photoblast">Photoblast</a> (best on iPhone, but you can run it in pixel-doubled mode on your iPad too) that lets you add bling, facial hair, <a href="http://en.wikipedia.org/wiki/Lucha_libre" title="Luchadors">luchadors</a>, and the like to your photos for extra impact. Forget Instagram, ours has a pimp cup!</p>
<p>The app itself is free, and comes with a few standard packs, but bonus packs are available (in-app purchase) for $0.99. (I&#8217;ll be first to say it: bonus packs are the new ringtones). </p>
<p>Related posts elsewhere:</p>
<ul>
<li><a href="http://siliconflorist.com/2012/01/05/instagram-filters-cutting-anymore-time-bring-bling-photoblast/" title="Instagram Filters not Cutting it Anymore?">Instagram filters not cutting it anymore? Maybe it’s time to bring the bling with PhotoBlast</a> (Silicon Florist)</li>
<li><a href="http://www.isitedesign.com/insight-blog/12_01/recipe-innovation" title="A Recipe for Innovation">A Recipe for Innovation</a> (ISITE&#8217;s Gene Ehrbar in ISITE Insight)</li>
<li><a href="http://petragregorova.com/photoblast-app/" title="Photoblast App">Photoblast App</a> (ISITE Design&#8217;s Petra Gregorova on building the app&#8217;s marking site with responsive design)</li>
</ul>
<p>Try it out, and let me know what you think. </p>
<p><a href="http://www.openparenthesis.org/wp-content/uploads/2012/01/photblast.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/photblast-490x389.png" alt="" title="photblast" width="490" height="389" class="alignleft size-large wp-image-3107" /></a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=4Enx-oqrvPM:mjpghlszTho:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=4Enx-oqrvPM:mjpghlszTho:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=4Enx-oqrvPM:mjpghlszTho:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/4Enx-oqrvPM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/12/fun-with-photoblast/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/12/fun-with-photoblast</feedburner:origLink></item>
		<item>
		<title>Three Books for WordPress 3.x</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/XB4zR9zpO8o/three-books-for-wordpress-3-x</link>
		<comments>http://www.openparenthesis.org/2012/01/10/three-books-for-wordpress-3-x#comments</comments>
		<pubDate>Tue, 10 Jan 2012 21:00:54 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Business Bloggers]]></category>
		<category><![CDATA[Cookbook]]></category>
		<category><![CDATA[Packt]]></category>
		<category><![CDATA[Packt Publishing]]></category>
		<category><![CDATA[Security]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[WordPress 3]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3073</guid>
		<description><![CDATA[Over the last year I&#8217;ve served as a reviewer for a few books for Packt Publishing, focused on WordPress: WordPress 3 Ultimate Security WordPress 3 Cookbook WordPress 3 for Business Bloggers All three have now been published and are worth checking out. Details of each below. The earliest of the three to be published was [...]]]></description>
				<content:encoded><![CDATA[<p>Over the last year I&#8217;ve served as a reviewer for a few books for Packt Publishing, focused on WordPress:</p>
<ul>
<li><a href="http://www.packtpub.com/wordpress-3-ultimate-security/book" title="WordPress 3 Ultimate Security">WordPress 3 Ultimate Security</a></li>
<li><a href="http://www.packtpub.com/wordpress-3-cookbook/book" title="WordPress 3 Cookbook">WordPress 3 Cookbook</a></li>
<li><a href="http://www.packtpub.com/wordpress-3-for-business-bloggers/book" title="WordPress 3 for Business Bloggers">WordPress 3 for Business Bloggers</a></li>
</ul>
<p> All three have now been published and are worth checking out. Details of each below. </p>
<p><a href="http://www.packtpub.com/wordpress-3-ultimate-security/book"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/2107OS_WordPress-3-Ultimate-Security_FrontCover-239x300.jpg" alt="" title="2107OS_WordPress 3 Ultimate Security_FrontCover" width="239" height="300" class="alignleft size-medium wp-image-3074" /></a></p>
<p>The earliest of the three to be published was <a href="http://www.packtpub.com/authors/profiles/oliver-william-connelly" title="Olly Connelly">Olly Connelly</a>&#8216;s <a href="http://www.packtpub.com/wordpress-3-ultimate-security/book" title="WordPress 3 Ultimate Security">WordPress 3 Ultimate Security</a>. </p>
<p>Connelly covers a broad swath of general web security while honing in on WordPress: everything from securing your home wifi to setting up ssh on a remote linux server. Though the advice is most deep for people on dedicated servers or VPS&#8217;s where they control the whole stack, there&#8217;s a lot of useful info here for folks on shared hosting as well. </p>
<p>He also covers troubleshooting, recovery, backing up (sometimes necessary for recovery!), and many of the plugins available aimed at making WordPress more secure.</p>
<p><a href="http://www.packtpub.com/wordpress-3-cookbook/book"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/4606OS_WordPress-3-Cookbook-243x300.jpg" alt="" title="4606OS_WordPress 3 Cookbook" width="243" height="300" class="alignright size-medium wp-image-3081" /></a></p>
<p>The second (in publish order) was <a href="http://www.packtpub.com/wordpress-3-cookbook/book" title="WordPress 3 Cookbook">WordPress 3 Cookbook</a> by <a href="http://www.packtpub.com/authors/profiles/ric-shreves" title="Ric Shreves">Ric Shreves</a> and <a href="http://www.packtpub.com/authors/profiles/jean-baptiste-jung" title="Jean-Baptiste Jung">Jean-Baptiste Jung</a>. </p>
<p>This one takes the familiar form of a cookbook, presenting a series of &#8220;recipes&#8221; for how to accomplish specific tasks using the WordPress platform. </p>
<p>The recipes range in complexity from very simple tasks requiring no plugins or code editing (just using WordPress&#8217; built in settings) to complex theme development and plugin configuration. </p>
<p>The current sample chapter on the Packt site is Chapter 5, &#8220;Building Interactivity and Community&#8221; which gives a good sense of the style of the book. (Though I found Packt&#8217;s free chapter function non-functional in Chrome &#8211; try Firefox instead). </p>
<p>I won&#8217;t even hold it against them that they chose to suggest Simple Facebook Connect over my own WPBook as a way of doing WordPress Facebook integration. ;)</p>
<p><a href="http://www.packtpub.com/wordpress-3-for-business-bloggers/book"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/1322OS_WordPress-3-for-Business-Bloggers_Frontcover-239x300.jpg" alt="" title="1322OS_WordPress 3 for Business Bloggers_Frontcover" width="239" height="300" class="alignleft size-medium wp-image-3091" /></a></p>
<p>The third was <a href="http://www.packtpub.com/wordpress-3-for-business-bloggers/book" title="WordPress 3 For Business Bloggers">WordPress 3 for Business Bloggers</a> by <a href="http://www.packtpub.com/authors/profiles/paul-thewlis" title="Paul Thewlis">Paul Thewlis</a>, which, as the blurb has it:</p>
<blockquote><p>shows you how to use WordPress to run your business blog. It covers everything you need to develop a custom look for your blog, use analytics to understand your visitors, market your blog online, and foster connections with other bloggers to increase your traffic and the value of your blog.</p></blockquote>
<p>It&#8217;s got a case-study format, based on a kind of individual-consultant-professional style blogger using his blog to show his professional knowledge and spread a personal brand &#8211; but the lessons are applicable to a wide variety of different kinds of bloggers. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=XB4zR9zpO8o:21L7h7zsyks:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=XB4zR9zpO8o:21L7h7zsyks:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=XB4zR9zpO8o:21L7h7zsyks:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/XB4zR9zpO8o" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/10/three-books-for-wordpress-3-x/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/10/three-books-for-wordpress-3-x</feedburner:origLink></item>
		<item>
		<title>Testing Facebook PHP SDK 3.1.1</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/NnRlOamVuX4/testing-facebook-php-sdk-3-1-1</link>
		<comments>http://www.openparenthesis.org/2012/01/04/testing-facebook-php-sdk-3-1-1#comments</comments>
		<pubDate>Wed, 04 Jan 2012 21:19:22 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[blog]]></category>
		<category><![CDATA[comments]]></category>
		<category><![CDATA[cross post]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SDK]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3058</guid>
		<description><![CDATA[OK, no more testing, no more publishing and unpublishing this page. WPBook 2.3 is released. This uses the same Facebook SDK (3.1.1) as WPBook Lite which I just released last weekend &#8211; this will make it easier to manage both. It will also let me start work on adding more features to the plugin- a [...]]]></description>
				<content:encoded><![CDATA[<p>OK, no more testing, no more publishing and unpublishing this page. </p>
<p><a href="http://wordpress.org/extend/plugins/wpbook/">WPBook</a> 2.3 is released. This uses the same Facebook SDK (3.1.1) as <a href="http://wordpress.org/extend/plugins/wpbook-lite/">WPBook Lite</a> which I just released last weekend &#8211; this will make it easier to manage both.</p>
<p>It will also let me start work on adding more features to the plugin- a more stable base to work from. </p>
<p>&#8212;-<br />
Third test. Should publish just to WPBook page.<br />
&#8212;-<br />
Oops. That&#8217;s why we test. Typo in publish_to_facebook.php fixed.<br />
&#8212;-<br />
Sorry for the testing post. Just working on an update to WPBook 2.3, including an update to the Facebook SDK, and need to make sure in the process I haven&#8217;t busted anything. </p>
<p>This should post to personal profile and to page wall.<br />
&#8212;-</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=NnRlOamVuX4:XVUFfeZaSrM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=NnRlOamVuX4:XVUFfeZaSrM:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=NnRlOamVuX4:XVUFfeZaSrM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/NnRlOamVuX4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/04/testing-facebook-php-sdk-3-1-1/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/04/testing-facebook-php-sdk-3-1-1</feedburner:origLink></item>
		<item>
		<title>Facebook Graph API – Post Versus Link</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/VuIsRVsfDys/facebook-graph-api-post-versus-link</link>
		<comments>http://www.openparenthesis.org/2012/01/03/facebook-graph-api-post-versus-link#comments</comments>
		<pubDate>Tue, 03 Jan 2012 20:29:59 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[Comment]]></category>
		<category><![CDATA[cross post]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Like]]></category>
		<category><![CDATA[link]]></category>
		<category><![CDATA[Post]]></category>
		<category><![CDATA[Share]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>
		<category><![CDATA[WPBook Lite]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3041</guid>
		<description><![CDATA[Difficult Choices. (Photo by Beppie K, cc-by-nc-sa license) Over in the WordPress Support forums for WPBook, WPBook user TheCitizen was asking about the absence of &#8220;share&#8221; links on Wall Excerpts posted via WPBook. I responded that in my experience posts made via the API (by an App, rather than by the user directly) don&#8217;t get [...]]]></description>
				<content:encoded><![CDATA[<div id="attachment_3050" class="wp-caption aligncenter" style="width: 525px"><a href="http://www.flickr.com/photos/bepster/98974231"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/98974231_72ef309bd6_b-490x367.jpg" alt="" title="98974231_72ef309bd6_b" width="490" height="367" class="size-large wp-image-3050" /></a><p class="wp-caption-text">Difficult Choices. (Photo by Beppie K, cc-by-nc-sa license)</p></div>
<p>Over in the <a href="http://wordpress.org/tags/wpbook?forum_id=10" title="Support Forum">WordPress Support forums for WPBook</a>, WPBook user <a href="http://wordpress.org/support/profile/thecitizen">TheCitizen</a> was <a href="http://wordpress.org/support/topic/plugin-wpbook-share-this-post-within-facebook-checked-but-not-working">asking about</a> the absence of &#8220;share&#8221; links on Wall Excerpts posted via WPBook. I responded that in my experience posts made via the API (by an App, rather than by the user directly) don&#8217;t get &#8220;share&#8221; links inside Facebook. </p>
<p>He pointed to <a href="http://wordpress.org/extend/plugins/facebook-page-publish/" title="Facebook Page Publish">Facebook Page Publish</a>, a WordPress plugin which also cross-posts to Facebook (though it does not import comments). Posts made via this plugin do get a share link. </p>
<p>Digging in a bit, I realized that <a href="http://wordpress.org/extend/plugins/facebook-page-publish/" title="Facebook Page Publish">Facebook Page Publish</a> uses the <a href="http://developers.facebook.com/docs/reference/api/link/" title="Link - Facebook Developer Documentation">Link</a> object in the Facebook Graph API, whereas <a href="http://wordpress.org/extend/plugins/wpbook" title="WPBook">WPBook</a> and <a href="http://wordpress.org/extend/plugins/wpbook-lite" title="WPBook Lite">WPBook Lite</a> both use a <a href="http://developers.facebook.com/docs/reference/api/post/" title="Post - Facebook Developer Documentation">Post</a> object. </p>
<p>What&#8217;s the difference? That&#8217;s what I&#8217;m trying to determine now. </p>
<p><strong>Links</strong> are posted with these fields (<a href="http://developers.facebook.com/docs/reference/api/user/#links">ref</a>): </p>
<ul>
<li>link</li>
<li>message</li>
</ul>
<p>The rest of the values &#8220;are taken from the metadata of the page URL given in the &#8216;link&#8217; prarameter.  </p>
<p><strong>Posts</strong> are created with these fields (<a href="http://developers.facebook.com/docs/reference/api/user/#posts">ref</a>): </p>
<ul>
<li>message</li>
<li>link</li>
<li>picture</li>
<li>name</li>
<li>caption</li>
<li>description</li>
<li>actions</li>
<li>privacy</li>
<li>object_attachment</li>
</ul>
<p>So Posts are more complex than Links, whereas Links rely on getting the Facebook metadata from the page returned by the link.</p>
<p>How does each appear, on the timeline and in the news feed?</p>
<p>Here&#8217;s the same link, posted twice, using the Facebook Graph API explorer &#8211; the first time (the lower box) is as a Link, the second time is as a Post:</p>
<p><a href="http://www.openparenthesis.org/wp-content/uploads/2012/01/post_versus_link.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/post_versus_link.png" alt="" title="post_versus_link" width="430" height="562" class="aligncenter size-full wp-image-3042" /></a></p>
<p>That is how they look on the timeline &#8211; logging in as another FB user and looking at News Feed, I could not even see the Post type, only the Link type:</p>
<p><a href="http://www.openparenthesis.org/wp-content/uploads/2012/01/link-newsfeed.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/link-newsfeed.png" alt="" title="link-newsfeed" width="523" height="174" class="aligncenter size-full wp-image-3044" /></a></p>
<p>Though I&#8217;m certain that in the past I have seen items in the newsfeed which were posted as Posts. (Maybe it was that I&#8217;d just posted the same link as a link, so Facebook was hiding the second item as spam? I&#8217;ll retry with something different). </p>
<p>(Update: here&#8217;s what a Post type object looks like in the Newsfeed &#8211; the item for this blog post):</p>
<p><a href="http://www.openparenthesis.org/wp-content/uploads/2012/01/post_type_newsfeed.png"><img src="http://www.openparenthesis.org/wp-content/uploads/2012/01/post_type_newsfeed-490x182.png" alt="" title="post_type_newsfeed" width="490" height="182" class="aligncenter size-large wp-image-3056" /></a></p>
<p>A few things to note:</p>
<ul>
<li>The nicer excerpt &#8211; &#8220;We are an interactive agency . . . &#8221; was pulled from the page being linked to by Facebook themselves, not entered by me. In the case of WPBook or WPBook Lite posts, we want to provide the full excerpt, not have it pulled from the link destination. </li>
<li>The image &#8211; again, this was pulled from the link destination. In the case of WPBook or WPBook lite posts, the image would be provided by the app (the featured image from the post) not grabbed from the destination link &#8211; but it looks the same in both.</li>
<li>In the case of the link type, the &#8220;via the Graph API Explorer&#8221; is next to the poster&#8217;s name, but in the Post type it is down at the bottom above the action links</li>
<li>The Link type gets a &#8220;share&#8221; action link, while the Post type only gets &#8220;Like&#8221; and Comment.&#8221;</li>
</ul>
<p>Given all this, plus the fact that I found it hard to find the Post type in the newsfeed of an account I know follows me, I wonder if we shouldn&#8217;t switch to posting blog posts as the &#8220;Link&#8221; type. </p>
<p>The challenge is that the &#8220;link&#8221; type depends on the target blog having the right open graph metadata in place already (unless wpbook / wpbook lite try to actually provide that metadata). </p>
<p>When Facebook visits the link, it looks for <a href="http://developers.facebook.com/docs/opengraph/" title="Open Graph Metadata">Open Graph Metadata</a> &#8211; which your blog&#8217;s theme may or may not provide. </p>
<p>Using the &#8220;Post&#8221; object allows WPBook / WPBook Lite to control the message being sent to Facebook more explicitly, rather than relying on metadata. </p>
<p>The part that worries me though is how frequently &#8220;Post&#8221; type objects get into News Feeds. Since Facebook controls the algorithm which decides what, out of the hundreds or thousands of possible posts in any given user&#8217;s feed, to show that user, I have no way of knowing whether object type (Post vs Link) has any impact. </p>
<p>Anyone have data on that to share?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=VuIsRVsfDys:xMd0AQDxwAk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=VuIsRVsfDys:xMd0AQDxwAk:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=VuIsRVsfDys:xMd0AQDxwAk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/VuIsRVsfDys" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/03/facebook-graph-api-post-versus-link/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/03/facebook-graph-api-post-versus-link</feedburner:origLink></item>
		<item>
		<title>WPBook and WPBook Lite: More Options, More Flexibility</title>
		<link>http://feedproxy.google.com/~r/OpenParenthesis/~3/7I2rPSWe8mw/wpbook-and-wpbook-lite-more-options-more-flexibility</link>
		<comments>http://www.openparenthesis.org/2012/01/01/wpbook-and-wpbook-lite-more-options-more-flexibility#comments</comments>
		<pubDate>Sun, 01 Jan 2012 21:04:08 +0000</pubDate>
		<dc:creator>John</dc:creator>
				<category><![CDATA[Open Source]]></category>
		<category><![CDATA[facebook]]></category>
		<category><![CDATA[Plugin]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[wpbook]]></category>

		<guid isPermaLink="false">http://www.openparenthesis.org/?p=3007</guid>
		<description><![CDATA[Launch of WPBook Lite, which is a version of WPBook that simplifies WPBook to not provide Canvas pages or Page tabs, which means not requiring HTTPS access to the hosting blog. ]]></description>
				<content:encoded><![CDATA[<p>A few months ago I discussed the <a href="http://www.openparenthesis.org/2011/10/04/the-future-of-wpbook" title="The Future of WPBook">Future of WPBook</a> in this space, specifically what to do about Facebook&#8217;s new requirement that all applications providing canvas pages or page tabs had to be accessible via SSL. As I outlined it then, I saw the options as:</p>
<blockquote><ol>
<li><strong>Eliminate</strong> the canvas page and tab altogether – make WPBook just focus on cross-posting and comment import, thus potentially eliminating the SSL requirement?</li>
<li><strong>Make it optional</strong> – keep the canvas page and tab, but make them optional – only for users who want them and have the necessary SSL certificate</li>
<li><strong>Fork the plugin</strong> – make a version of the plugin which works like the current model, but also a second (WPBook Lite?) that only does cross posting and comment import? That way we could have separate directions for each to simplify setup confusion</li>
<li><strong>Stop developing WPBook</strong> – There are a <a href="http://wordpress.org/extend/plugins/search.php?q=Facebook+Publish&amp;sort=">number of other plugins</a> which do Facebook posting, and at least one which does <a href="http://wordpress.org/extend/plugins/search.php?q=Facebook+Comment+Import&amp;sort=">Facebook comment importing</a> (probably more). Is it worth continuing to develop WPBook if better alternatives exist?</li>
</ol>
</blockquote>
<p>Ultimately, I settled on Option 3: Fork the plugin, and create a lighter-weight version which did not include the canvas page or tab. The result is <a href="http://wordpress.org/extend/plugins/wpbook-lite/" title="WPBook Lite">WPBook Lite</a>, available now in the <a href="http://wordpress.org/extend/plugins/" title="WordPress Plugin Repository">WordPress Plugin Repository</a>. </p>
<p><b>Should I use <a href="http://wordpress.org/extend/plugins/wpbook/" title="WPBook">WPBook</a>, or <a href="http://wordpress.org/extend/plugins/wpbook/" title="WPBook Lite">WPBook Lite</a>?</b></p>
<p>I suspect this will be the main question folks will face, so here&#8217;s a quick comparison table:</p>
<style type="text/css">/* <![CDATA[ */td, th { border: 1px black solid; padding: 5px; }</p>
<p>/* ]]&gt; */
</style>
<table>
<thead>
<tr>
<th>Feature</th>
<th>WPBook</th>
<th>WPBook Lite</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cross Post WordPress Blog Posts to Facebook</td>
<td align="center">X</td>
<td align="center">X</td>
</tr>
<tr>
<td>Post WordPress Blog Posts to Facebook Profiles (Walls), Pages, and Groups</td>
<td align="center">X</td>
<td align="center">X</td>
</tr>
<tr>
<td>Import comments made against Facebook Excerpt Posts to WordPress as native comments</td>
<td align="center">X</td>
<td align="center">X</td>
</tr>
<tr>
<td>View WordPress Blog inside Facebook as Canvas Page Application</td>
<td align="center">X</td>
<td align="center"></td>
</tr>
<tr>
<td>Add WordPress blog as a tab to a Facebook Page</td>
<td align="center">X</td>
<td align="center"></td>
</tr>
<tr>
<td>Requires WordPress blog be accessible via SSL (HTTPS)</td>
<td align="center">X</td>
<td align="center"></td>
</tr>
</tbody>
</table>
<p>Basically, if you are able to access your blog via HTTPS, and you WANT the view of the blog inside Facebook as a canvas application, or you want the page tab feature, you should use WPBook. </p>
<p>If your blog is not accessible via HTTPS, or you don&#8217;t want the view of the blog inside Facebook / page tab, then you should be happier with WPBook lite. </p>
<p>I&#8217;ll be updating the instructions over at WPBook.net shortly to reflect Facebook&#8217;s new look for developer settings shortly, and will also differentiate between WPBook and WPBook Lite. In theory, configuring WPBook Lite should be significantly simpler for most users. </p>
<p>If you&#8217;re already using WPBook and shift to WPBook Lite, you will need to regrant permissions. </p>
<p>Migrating from WPBook to WPBook Lite:</p>
<ol>
<li>View your WPBook settings page, and write down your profile ID as well as the IDs of any pages/groups to which you want to cross publish.</li>
<li>Deactivate WPBook (but don&#8217;t delete it yet)</li>
<li>Install and Activate WPBook Lite</li>
<li>Set up a new Application for WPBook Lite &#8211; this time you should only need the &#8220;Website&#8221; settings under Integration, not any of the &#8220;App on Facebook&#8221; section settings</li>
<li>Visit the WPBook Lite settings page in WordPress, fill out the required fields (APP ID, Secret, your profile ID), and save the form</li>
<li>Re-visit the WPBook Lite settings page, where you should now see an opportunity to grant appropriate permissions</li>
</ol>
<p>If done correctly, WPBook Lite should pick up right where WPBook left off. </p>
<p>If you run into problems, please comment in the appropriate WordPress Support Forums:  <a href="http://wordpress.org/tags/wpbook?forum_id=10" title="WPBook">WPBook</a> or <a href="http://wordpress.org/extend/plugins/wpbook-lite/" title="WPBook Lite">WPBook Lite</a>. </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=7I2rPSWe8mw:8dX7pvEGYyE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=7I2rPSWe8mw:8dX7pvEGYyE:7Q72WNTAKBA"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=7Q72WNTAKBA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/OpenParenthesis?a=7I2rPSWe8mw:8dX7pvEGYyE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/OpenParenthesis?d=qj6IDK7rITs" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/OpenParenthesis/~4/7I2rPSWe8mw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.openparenthesis.org/2012/01/01/wpbook-and-wpbook-lite-more-options-more-flexibility/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.openparenthesis.org/2012/01/01/wpbook-and-wpbook-lite-more-options-more-flexibility</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic page generated in 0.895 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-21 13:58:11 --><!-- Compression = gzip -->
