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

<channel>
	<title>alexking.orgBlog | alexking.org</title>
	<atom:link href="http://alexking.org/blog/feed" rel="self" type="application/rss+xml" />
	<link>http://alexking.org</link>
	<description>Alex King's blog - software, photography, sports, etc.</description>
	<lastBuildDate>Thu, 02 Jul 2009 18:06:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>WordPress Themes are GPL, too</title>
		<link>http://wordpress.org/development/2009/07/themes-are-gpl-too/</link>
		<comments>http://alexking.org/blog/2009/07/02/wordpress-themes-are-gpl-too#comments</comments>
		<pubDate>Thu, 02 Jul 2009 18:06:42 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3432</guid>
		<description><![CDATA[Anyone surprised by this hasn&#8217;t read the GPL.
# &#124; Visit Site &#187;
]]></description>
			<content:encoded><![CDATA[<p>Anyone surprised by this hasn&#8217;t read the GPL.
<p><a href="http://alexking.org/blog/2009/07/02/wordpress-themes-are-gpl-too">#</a> | <a href="http://wordpress.org/development/2009/07/themes-are-gpl-too/">Visit Site &raquo;</a></p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3432&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/07/02/wordpress-themes-are-gpl-too/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Source Contract Considerations</title>
		<link>http://alexking.org/blog/2009/07/01/open-source-contract-considerations</link>
		<comments>http://alexking.org/blog/2009/07/01/open-source-contract-considerations#comments</comments>
		<pubDate>Wed, 01 Jul 2009 17:30:41 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Crowd Favorite]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/?p=3389</guid>
		<description><![CDATA[BIG FAT DISCLAIMER: I am not a lawyer, nor do I play one on TV. I have, however, been working in the Open Source consulting and development space for a number of years and think this is an important issue for all Open Source consultants to consider. Please consult your own lawyer, don&#8217;t blame me, [...]]]></description>
			<content:encoded><![CDATA[<p class="info">BIG FAT DISCLAIMER: I am not a lawyer, nor do I play one on TV. I have, however, been working in the Open Source consulting and development space for a number of years and think this is an important issue for all Open Source consultants to consider. Please consult your own lawyer, don&#8217;t blame me, etc.</p>
<p>At <a href="http://crowdfavorite.com">Crowd Favorite</a> we work primarily with <a href="http://wordpress.org/" rel="external">WordPress</a>, but also with many other Open Source projects. We are often working with larger companies that have standard Master Services Agreements (MSAs) or Professional Services Agreements (PSAs). These agreement templates are designed so that these companies have a known legal foundation to work from, and include a variety of requirements and terms that apply to the consultants working for them and governing the Deliverables created by those consultants. These agreements often have standard language in them that have some interesting side-effects when you are working with Open Source.</p>
<p>It&#8217;s common for services agreements to have these components:</p>
<ol>
<li>Deliverable</li>
<li>Warranty</li>
<li>Indemnification</li>
</ol>
<p>with a set of terms around each. The standard terms in these agreements likely contain language that may be somewhat problematic when applied to projects built on Open Source.</p>
<h3>Deliverable</h3>
<p>Let&#8217;s look at the Deliverable first. In a standard web site build the deliverable might be loosely defined in this manner:</p>
<blockquote><p>A custom web site powered by WordPress, using existing and custom created plugins and themes to achieve custom functionality. Consultant will deliver the entire package along with documentation and installation instructions, and will assist with the initial installation and configuration of the site.</p></blockquote>
<p>The Deliverable described above has five potential parts: WordPress, existing plugin(s), custom plugin(s), existing theme(s), custom theme(s). The Deliverable is generally what the Warranty and Indemnification clause are tied to, so the way it&#8217;s defined is important.</p>
<p>Of these five parts, you will probably only have created the custom plugins and custom themes from scratch. The others will be created and licensed by other companies and/or individuals. You do <em>not</em> want to take on full responsibility for these parts of the deliverable in the Warranty and Indemnification clauses.</p>
<h3>Warranty</h3>
<p>The Warranty part of the contract generally has two parts: terms that cover how bugs will be fixed and for how long; and terms that declare that all of the intellectual property (IP) in the Deliverable is free and clear of infringement.</p>
<p>I&#8217;m assuming that you don&#8217;t want to be on the hook for every bug that might exist in WordPress (or whatever other Open Source package you are working with), so you need to make sure you get the language here adjusted so that it reflects this. You&#8217;ll probably end up in some middle ground on this, as your client will just want the solution you&#8217;re building for them to work, but you need to limit what you are willing to take on.</p>
<p>It&#8217;s the second part of the Warranty that is particularly dangerous. While you may take on some responsibility for fixing bugs in the overall deliverable, you definitely don&#8217;t want to take on responsibility for all of the IP in any Open Source project. If you do this, and it turns out someone in another country committed code that wasn&#8217;t legal for them to commit, you&#8217;ve just taken on responsibility for that.</p>
<p>We typically resolve this with a &#8220;to our knowledge&#8221; clause, which covers the client for code we create, but absolves us of responsibility from other Open Source code (assuming we are using code that was properly licensed, etc.). It also covers us in the event we are asked to build something that infringes on an existing patent.</p>
<p>If you breach one or more of the Warranties, then the Indemnification clause comes into play.</p>
<h3>Indemnification</h3>
<p>Indemnification ties in with the same issues discussed in the Warranty section. In this clause, there is typically language that makes you (the consultant) responsible for any legal issues with the Deliverable (instead of the client, who is using the Deliverable). Like the Warranty clause, the Indemnification clause is a fair and reasonable thing to have in a contract. We just need to tweak it a little so that it makes sense in the Open Source world.</p>
<p>It&#8217;s very reasonable to take on this responsibility in regards to any part of the deliverable you build, subcontract out, or are somehow responsible for. However, like with the Warranty clause, you don&#8217;t want to take on responsibility for every piece of IP that has made it into the Open Source project you are using.</p>
<p>We typically resolve this by adding either a &#8220;to our knowledge&#8221; clause or explicitly excluding parts of the deliverable in this area.</p>
<p>In addition, you may want to include something in the Indemnification clause to cover features that are requested by your client, but might infringe on a patent or similar concerns. Typically, the Indemnification clause does make you responsible in these cases and most consultants I know don&#8217;t have the resources to do patent searches on every feature that is requested by their clients. If you write code that contains infringing IP and your client is sued, you would be on the hook to pay for any and all or your client&#8217;s damages, including legal fees. The knowledge qualifier we use handles this situation as well, and you can also handle it with a specific carve-out if needed.</p>
<p>Hopefully this information will be useful to some of you the next time you&#8217;re reviewing a contract for a project. If all of this is new to you and you work in this space &#8211; I highly recommend talking with a lawyer who has experience with Open Source.</p>
<p>If you&#8217;re in the Denver area, I highly recommend working with <a href="http://rubiconlaw.com/" rel="external">Ryan Howell at Rubicon Law Group</a>. We met in 2007 at the first <a href="http://alexking.org/blog/2007/07/07/startup-weekend-status-report">StartupWeekend in Boulder</a> and he&#8217;s been working with me and Crowd Favorite ever since.</p>
<hr />
<p>Some contracts also expressly forbid the use of Open Source software and/or software licensed under a specific license as part of their standard terms. Getting this fixed is generally not a problem since you and the client should be in agreement that you are planning to use Open Source tools in the project. I&#8217;m assuming we&#8217;re all used to dealing with this one already, but wanted to call it out as well.</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3389&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/07/01/open-source-contract-considerations/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Carrington Designer/Developer Showcase</title>
		<link>http://alexking.org/blog/2009/06/30/carrington-designerdeveloper-showcase</link>
		<comments>http://alexking.org/blog/2009/06/30/carrington-designerdeveloper-showcase#comments</comments>
		<pubDate>Tue, 30 Jun 2009 23:00:12 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Crowd Favorite]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3424</guid>
		<description><![CDATA[We&#8217;ve launched a new feature for the Carrington CMS theme framework, a showcase for designers and developers to show off their Carrington-based sites.
We put up the first entry in the showcase (the Carrington web site &#8211; very meta) and will be adding a few more sites in the near future; but really we&#8217;re excited to [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve <a href="http://carringtontheme.com/2009/06/carrington-showcase/">launched a new feature</a> for the Carrington CMS theme framework, a <a href="http://carringtontheme.com/category/showcase/">showcase for designers and developers to show off their Carrington-based sites</a>.</p>
<p>We put up the first entry in the showcase (the Carrington web site &#8211; very meta) and will be adding a few more sites in the near future; but really we&#8217;re excited to see what <em>you</em> have been building with the Carrington framework. Hopefully this is a nice way for us to offer a little publicity for Carrington designers and developers and a nice way for people to see what can be done with Carrington.</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3424&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/30/carrington-designerdeveloper-showcase/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Matt Mullenweg’s State of the Word: WordCamp San Francisco 2009</title>
		<link>http://wordpress.tv/2009/06/21/matt-mullenwegs-state-of-the-word-wordcamp-san-francisco-2009/</link>
		<comments>http://alexking.org/blog/2009/06/29/matt-mullenweg-state-of-the-word-wordcamp-san-francisco-2009#comments</comments>
		<pubDate>Tue, 30 Jun 2009 05:54:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/?p=3415</guid>
		<description><![CDATA[If you care about the history and/or direction of WordPress, I recommend watching this &#8211; some very good information in here. I have a small cameo about 25 minutes in; very generous of Matt to include me. Thanks again, Matt!

# &#124; Visit Site &#187;
]]></description>
			<content:encoded><![CDATA[<p>If you care about the history and/or direction of WordPress, I recommend watching this &#8211; some very good information in here. I have a small cameo about 25 minutes in; very generous of Matt to include me. Thanks again, Matt!</p>
<p><embed src="http://v.wordpress.com/MFn82Gps" type="application/x-shockwave-flash" width="400" height="224" allowscriptaccess="always" allowfullscreen="true"></embed>
<p><a href="http://alexking.org/blog/2009/06/29/matt-mullenweg-state-of-the-word-wordcamp-san-francisco-2009">#</a> | <a href="http://wordpress.tv/2009/06/21/matt-mullenwegs-state-of-the-word-wordcamp-san-francisco-2009/">Visit Site &raquo;</a></p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3415&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/29/matt-mullenweg-state-of-the-word-wordcamp-san-francisco-2009/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Apple&#8217;s Early Adopter Bonus/Tease</title>
		<link>http://alexking.org/blog/2009/06/29/apples-early-adopter-bonus-tease</link>
		<comments>http://alexking.org/blog/2009/06/29/apples-early-adopter-bonus-tease#comments</comments>
		<pubDate>Mon, 29 Jun 2009 19:02:34 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3385</guid>
		<description><![CDATA[When I bought the original iPhone, it came with some a dock and a cleaning cloth &#8211; niceties to be sure, but they don&#8217;t come with the iPhone 3GS. Of course, they also changed the form factor with the 3G/3GS so I can&#8217;t use my original iPhone dock with the new iPhone.
When I bought the [...]]]></description>
			<content:encoded><![CDATA[<p>When I bought the original iPhone, it came with some a dock and a cleaning cloth &#8211; niceties to be sure, but they don&#8217;t come with the iPhone 3GS. Of course, they also changed the form factor with the 3G/3GS so I can&#8217;t use my original iPhone dock with the new iPhone.</p>
<p>When I bought the original MacBook Air it came with a pair of video cable adapters, one for DVI and one for VGA. When I bought the second generation MacBook Air it didn&#8217;t include any video adapters; and Apple changed the video port connector so that the old video adapters don&#8217;t work with the new Air.</p>
<p>I sense a trend here&#8230;</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3385&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/29/apples-early-adopter-bonus-tease/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Around the web</title>
		<link>http://alexking.org/blog/2009/06/28/around-the-web</link>
		<comments>http://alexking.org/blog/2009/06/28/around-the-web#comments</comments>
		<pubDate>Sun, 28 Jun 2009 18:23:05 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/?p=3401</guid>
		<description><![CDATA[
Clear ceases operations &#8211; guess I&#8217;m glad I never signed up for this. More from Corey: A CLEAR case of fraud?
Issue 7 &#8211; dompdf &#8211; Support for ordered lists &#8211; Google Code &#8211; Yay!.
What is a browser? (thanks Chris)
A Toxic Paradox
How Not to Write a Review
Why I ditched my Blackberry Curve for an iPhone 3GS [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://echeng.com/journal/2009/06/22/clear-ceases-operations/" rel="external">Clear ceases operations</a> &#8211; guess I&#8217;m glad I never signed up for this. More from Corey: <a href="http://feeds.coreygilmore.com/~r/coreygilmore/~3/kkNJMaP11pE/" rel="external">A CLEAR case of fraud?</a></li>
<li><a href="http://code.google.com/p/dompdf/issues/detail?id=7" rel="external">Issue 7 &#8211; dompdf &#8211; Support for ordered lists &#8211; Google Code</a> &#8211; Yay!.</li>
<li><a href="http://pleaseenjoy.com/project.php?cat=4&#038;subcat=&#038;pid=131&#038;navpoint=0" rel="external">What is a browser?</a> (thanks <a href="https://twitter.com/chrismessina/status/2361038143" rel="external">Chris</a>)</li>
<li><a href="http://www.randsinrepose.com/archives/2009/06/21/a_toxic_paradox.html" rel="external">A Toxic Paradox</a></li>
<li><a href="http://feedproxy.google.com/~r/betterelevation/~3/nCOsjavVVNw/" rel="external">How Not to Write a Review</a></li>
<li><a href="http://thebogles.com/blog/2009/06/why-i-ditched-my-blackberry-curve-for-an-iphone-3gs/" rel="external">Why I ditched my Blackberry Curve for an iPhone 3GS</a> &#8211; with the 3Gs, I&#8217;m getting tempted to make the switch as well.</li>
<li><a href="http://stevenf.tumblr.com/post/129159119" rel="external">My loving homage to every breathless unboxing video ever made.</a> &#8211; brilliant!</li>
<li><a href="http://top-frog.com/2009/06/24/storage-beast/" rel="external">Storage Beast</a> &#8211; the speed with the VMs is really startling.</li>
<li><a href="http://daringfireball.net/2009/06/copy_and_paste" rel="external">Copy and Paste</a></li>
<li><a href="http://top-frog.com/2009/06/26/quickly-validate-php-files/" rel="external">Quickly validate PHP files</a> &#8211; handy.</li>
<li><a href="http://feedproxy.google.com/~r/dougal/posts/~3/2zTi1SWoQqY/must-have-iphone-apps" rel="external">Dougal&#8217;s must-have iPhone app list</a> &#8211; I enjoy these lists.</li>
</ul>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3401&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/28/around-the-web/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bing Cashback = $175 off iPhone 3Gs</title>
		<link>http://alexking.org/blog/2009/06/27/bing-cashback-175-off-iphone-3gs</link>
		<comments>http://alexking.org/blog/2009/06/27/bing-cashback-175-off-iphone-3gs#comments</comments>
		<pubDate>Sat, 27 Jun 2009 18:47:26 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3399</guid>
		<description><![CDATA[This week I upgraded from a first gen iPhone to the iPhone 3Gs. The 3Gs speed really does make a big difference for me &#8211; I feel less like I&#8217;m waiting on the device all the time (especially compared to the very snappy BlackBerry Bold I&#8217;ve used as my primary device recently).
Unfortunately my AT&#038;T contract [...]]]></description>
			<content:encoded><![CDATA[<p>This week I upgraded from a first gen iPhone to the iPhone 3Gs. The 3Gs speed really does make a big difference for me &#8211; I feel less like I&#8217;m waiting on the device all the time (especially compared to the very snappy BlackBerry Bold I&#8217;ve used as my primary device recently).</p>
<p>Unfortunately my AT&#038;T contract didn&#8217;t allow for the cheap upgrade, so I looked a couple of options:</p>
<ol>
<li>Cancel the second (iPhone) line and pay a $145 penalty, then create a new second line and get the iPhone 3Gs for $299 (total cost: $299 iPhone + $145 penalty + $35 activation fee = $479).</li>
<li>Purchase the iPhone 3Gs as an upgrade on the iPhone line for $499 (total cost: $499 iPhone + $18 upgrade fee = $517).</li>
</ol>
<p>I was leaning towards the first option to save a few bucks, twitter&#8217;ed about it, and got <a href="http://twitter.com/dougal/status/2248408043" rel="external">this response</a> from <a href="http://dougal.us" rel="external">Dougal</a>:</p>
<blockquote><p>&#8230;have you read about the possible discount if you buy the new #iphone via a #bing search?</p></blockquote>
<p>A quick search resulted in <a href="http://forums.wireless.att.com/cng/board/message?board.id=apple&#038;thread.id=81835" rel="external">this explanation</a>, which led to reading more on the Bing site and the following option:</p>
<p>Purchase the iPhone 3Gs as an upgrade on the iPhone line for $499 with a 35% discount via Bing Cashback (total cost: $499 iPhone + $18 upgrade fee &#8211; $174.65 Bing Cashback = <strong>$342.35</strong>).</p>
<p>That&#8217;s only a few bucks more than the $299 new line cost without a penalty &#8211; which seemed like a fair price to me. It was definitely the best option for me because with option #1 above the $145 penalty wouldn&#8217;t have received the discount, resulting in that option costing $374.35.</p>
<p>The Bing Cashback system is a little uncomfortable to use. The discount isn&#8217;t referenced or displayed anywhere on the AT&#038;T site or in the checkout process &#8211; you have to trust that you will indeed get the cashback check. I figured this was worth the risk &#8211; and that Microsoft with this being a push to get people to use Bing, they would probably care about making sure I had a good experience and make sure I got the discount.</p>
<p>Things didn&#8217;t go smoothly, but I don&#8217;t think it was Bing&#8217;s fault. AT&#038;T&#8217;s site was having problems and kept kicking me out. I think that caused the transaction token to get lost or not applied properly. Bing Cashback has an <a href="http://www.bing.com/shopping/pages/faq.aspx?FORM=R5FD4#WhatShouldIDoWhenAPurchaseIsntShowingUpInMyAccount" rel="external">FAQ</a> describing what to do in these situations.</p>
<p>I followed the instructions, sent in the order # and a PDF of the order confirmation email, and a day later the credit appeared in my Bing Cashback account. Took about 5 minutes work or so, seems like a fair trade-off.</p>
<p>So I&#8217;ve used Bing for the first time &#8211; and it seems to have gone pretty much as it was supposed to. I typically just buy everything online through Amazon since I have <a href="http://alexking.org/blog/2005/09/28/amazon-prime">Prime</a>, but I&#8217;ll certainly consider Bing Cashback in the future for larger ticket items.</p>
<p>And I decided to blog about it. I&#8217;d say their promotion/campaign worked in this case.</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3399&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/27/bing-cashback-175-off-iphone-3gs/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Video Interview with TechStars, David Cohen</title>
		<link>http://www.readwriteweb.com/readwritestart/2009/06/video-interview-with-techstars.php</link>
		<comments>http://alexking.org/blog/2009/06/27/video-interview-with-techstars-david-cohen#comments</comments>
		<pubDate>Sat, 27 Jun 2009 16:11:53 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/?p=3396</guid>
		<description><![CDATA[Great video of David explaining what TechStars is and isn&#8217;t. I&#8217;ve thoroughly enjoyed playing my small part as a mentor, and helping a few of the startups each year in that capacity.
David has excellent wardrobe taste as well, as evidenced by his Crowd Favorite t-shirt. 
# &#124; Visit Site &#187;
]]></description>
			<content:encoded><![CDATA[<p>Great video of David explaining what TechStars is and isn&#8217;t. I&#8217;ve thoroughly enjoyed playing my small part as a mentor, and helping a few of the startups each year in that capacity.</p>
<p>David has excellent wardrobe taste as well, as evidenced by his <a href="http://crowdfavorite.com">Crowd Favorite</a> t-shirt. <img src='http://alexking.org/wp/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />
<p><a href="http://alexking.org/blog/2009/06/27/video-interview-with-techstars-david-cohen">#</a> | <a href="http://www.readwriteweb.com/readwritestart/2009/06/video-interview-with-techstars.php">Visit Site &raquo;</a></p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3396&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/27/video-interview-with-techstars-david-cohen/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Theme Structure Assumptions</title>
		<link>http://alexking.org/blog/2009/06/26/theme-structure-assumptions</link>
		<comments>http://alexking.org/blog/2009/06/26/theme-structure-assumptions#comments</comments>
		<pubDate>Sat, 27 Jun 2009 00:31:50 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3391</guid>
		<description><![CDATA[One of the best features of WordPress is the way in which it hands off all responsibility of displaying a page to the theme. This makes WordPress an incredibly powerful and flexible platform. You can do just about anything you need to with a combination of the theme and the hooks that allow you to [...]]]></description>
			<content:encoded><![CDATA[<p>One of the best features of WordPress is the way in which it hands off all responsibility of displaying a page to the theme. This makes WordPress an incredibly powerful and flexible platform. You can do just about anything you need to with a combination of the theme and the hooks that allow you to determine what what theme files to load.</p>
<p>Of course, not everyone uses all of this flexibility. A number of conventions are typically followed in theme development; mostly stemming from the structure of the &#8220;default&#8221; theme that ships with WordPress. One of these is the footer.php file.</p>
<p>In many themes the footer.php includes the <code>wp_footer();</code> call, which in turn allows plugins to add information to that part of your HTML page. This is commonly used by analytics, widgets, etc. that need to load code in the page.</p>
<p>All themes should have the <code>wp_footer();</code> code in them &#8211; it&#8217;s important so that plugins that need that call can work properly. It&#8217;s important enough that the theme upload process at WordPress.org checks to make sure that the call exists. I think this sort of sanity checking is excellent &#8211; it allows WordPress plugins and themes to work nicely in conjunction with each other.</p>
<p><em>That said&#8230;</em></p>
<p>As previously mentioned, one of the great things about WordPress themes is their flexibility. The <code>wp_footer();</code> can exist in any file, not just in one called footer.php.</p>
<p>When a plugin makes an assumption about where to look for this call and shows an warning message like this one:</p>
<blockquote><p>Warning wp_footer(); not found in your footer.php file, this might mean this plugin will not work!</p></blockquote>
<p>without checking the other theme files to see if <code>wp_footer();</code> is there or not, it causes the user to think that the plugin and/or theme may be broken. If you&#8217;re going to take the trouble to check files for a function call, don&#8217;t make assumptions about where you decide to look for the call. Allow themes to innovate, create new best practices and do interesting things &#8211; without concern of plugins complaining because they are expecting a certain convention.</p>
<p>This was brought up <a href="http://crowdfavorite.com/forums/viewtopic.php?pid=7784">recently</a> with our Carrington Blog theme<sup><a href="#fn1246061093265n" id="fn1246061093265" class="footnote">1</a></sup> &#8211; but it&#8217;s a bigger issue than just one person using this particular theme; hence this post for the general community.</p>
<ol class="footnotes">
<li id="fn1246061093265n">For users of our Carrington themes, I can assure you that all required theme hooks are present and anything requiring <code>wp_footer();</code> has what it needs to work just fine. [<a href="#fn1246061093265">back</a>]</li>
</ol>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3391&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/26/theme-structure-assumptions/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Popularity Contest 2.0 beta 2</title>
		<link>http://alexking.org/blog/2009/06/25/popularity-contest-20-beta-2</link>
		<comments>http://alexking.org/blog/2009/06/25/popularity-contest-20-beta-2#comments</comments>
		<pubDate>Thu, 25 Jun 2009 14:23:24 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[News]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3374</guid>
		<description><![CDATA[A new beta of my Popularity Contest plugin for WordPress is available &#8211; this has some minor bug fixes and some new features and nicer handling of some edge cases. Since this version is the best known version, I have made it the default download at WordPress.org&#8217;s plugin hosting.
Changes since beta 1:

Added tag reports. I&#8217;m [...]]]></description>
			<content:encoded><![CDATA[<p>A new beta of my Popularity Contest plugin for <a href="http://wordpress.org/" rel="external">WordPress</a> is available &#8211; this has some minor bug fixes and some new features and nicer handling of some edge cases. Since this version is the best known version, I have made it the default download at WordPress.org&#8217;s plugin hosting.</p>
<p>Changes since <a href="http://alexking.org/blog/2009/06/17/popularity-contest-2-0-beta-1">beta 1</a>:</p>
<ul>
<li>Added tag reports. I&#8217;m pretty pleased at how these work &#8211; you type in the name of a tag you want a report on, it will auto-complete just like in the tags form on the New Post page, and then bring back the tag report when you hit Add.</li>
<li>Added nice re-flowing code so that reports take up all available horizontal space when displaying.</li>
<li>Added some additional refinements to the overall Popularity list at the top of the reports page.</li>
<li>Added a Last (n) Days option to the widget (you can configure the # of days for the widget).</li>
<li>Removed tags from category reports list.</li>
<li>Fixed an issue with AJAX deletion of comments.</li>
<li>Fixed a divide by 0 error that I&#8217;m not sure how could happen, but apparently did for someone. The code is more robust now anyway.</li>
<li>Don&#8217;t add JavaScript code to the post content if not using the API (default) method of recording views.</li>
<li>Works around a broken data situation where there are no rows in the Popularity Contest options table. I have no idea how you&#8217;d trigger this situtation, and still can&#8217;t reproduce the issue &#8211; but now the code works around it. Thanks to Dave (who apparently has never heard of Hanlon&#8217;s Razor) for finding the cause of the issue.</li>
</ul>
<p>Known Issue in beta 2:</p>
<p>When installing for the first time, the WordPress plugins page reports an error:</p>
<blockquote><p>Plugin could not be activated because it triggered a fatal error.</p></blockquote>
<p>with an empty &#8220;fatal error&#8221; message. It also successfully activates the plugin and creates the proper default settings &#8211; everything seems to work just as planned. I spent a few minutes playing with various things, but without any error message or anything in the error log, I haven&#8217;t found the cause of this yet. If any other devs have time to check this out, I&#8217;d certainly appreciate the help.</p>
<p>Aside from this and perhaps a few minor tweaks based on feedback, I think this is just about ready for the final 2.0 release.</p>
<p>The download and more information are available on my <a href="http://alexking.org/projects/wordpress">WordPress Plugins page</a>.</p>
<p>If you have any trouble with this, please contact the <a href="http://wphelpcenter.com">WordPress HelpCenter</a> or you can try the  <a href="http://wordpress.org/support/" rel="external">WP Support Forums</a>.</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3374&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/25/popularity-contest-20-beta-2/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress Mobile Edition 3.1</title>
		<link>http://alexking.org/blog/2009/06/24/wordpress-mobile-edition-3-1</link>
		<comments>http://alexking.org/blog/2009/06/24/wordpress-mobile-edition-3-1#comments</comments>
		<pubDate>Thu, 25 Jun 2009 05:22:19 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Crowd Favorite]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[News]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3372</guid>
		<description><![CDATA[A new release of WordPress Mobile Edition, a WordPress plugin to provide a friendly mobile interface for your WordPress powered site, is now available.
The new version of WordPress Mobile Edition is really a developer release. This version adds API access so that other plugins can participate in mobile device checking and add to the settings [...]]]></description>
			<content:encoded><![CDATA[<p>A new release of WordPress Mobile Edition, a <a href="http://wordpress.org/" rel="external">WordPress</a> plugin to provide a friendly mobile interface for your WordPress powered site, is now available.</p>
<p>The new version of WordPress Mobile Edition is really a developer release. This version adds API access so that other plugins can participate in mobile device checking and add to the settings page for WordPress Mobile Edition.</p>
<p>I was contacted by a developer who was interested in adding to the plugin, and after reviewing his proposed changes that integrated with his (account required) service, I thought they were interesting but would be better as a separate plugin rather than part of the default distribution.</p>
<p>As a result, I added a couple of simple APIs that gave him the access he needed. I&#8217;m releasing this new version so anyone can build a plugin that leverages, enhances or extends WordPress Mobile Edition.</p>
<p>The download and more information are available on my <a href="http://alexking.org/projects/wordpress">WordPress Plugins page</a>.</p>
<p>If you have any trouble with this, please contact the <a href="http://wphelpcenter.com">WordPress HelpCenter</a> (512-788-9236) or you can try the  <a href="http://wordpress.org/support/" rel="external">WP Support Forums</a>.</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3372&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/24/wordpress-mobile-edition-3-1/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Twitter Tools Features &#8211; Testers Requested</title>
		<link>http://alexking.org/blog/2009/06/22/new-twitter-tools-features-testers-requested</link>
		<comments>http://alexking.org/blog/2009/06/22/new-twitter-tools-features-testers-requested#comments</comments>
		<pubDate>Mon, 22 Jun 2009 13:31:02 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3363</guid>
		<description><![CDATA[I&#8217;ve made some changes to my Twitter Tools plugin for WordPress &#8211; hopefully that will enable some pretty cool stuff in the future.
I get a lot of requests for features/changes that are specific to someone&#8217;s needs. Since (unfortunately) I can&#8217;t build specific features for each user into the general plugin, I&#8217;ve done the next best [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made some changes to my Twitter Tools plugin for <a href="http://wordpress.org/" rel="external">WordPress</a> &#8211; hopefully that will enable some pretty cool stuff in the future.</p>
<p>I get a lot of requests for features/changes that are specific to someone&#8217;s needs. Since (unfortunately) I can&#8217;t build specific features for each user into the general plugin, I&#8217;ve done the next best thing &#8211; I&#8217;ve added hooks and filters so that other folks can write plugins for Twitter Tools just like they can for WordPress.</p>
<p>To make sure these hooks and filters work properly, I&#8217;ve created three plugins for Twitter Tools that provide commonly requested features:</p>
<ul>
<li>Bit.ly for Twitter Tools &#8211; enables shortening your URLs with Bit.ly and tracking them on your Bit.ly account.</li>
<li>#hashtags for Twitter Tools &#8211; enables adding hashtags to your blog post tweets.<sup><a href="#fn1245677447360n" id="fn1245677447360" class="footnote">1</a></sup></li>
<li>Exclude Category for Twitter Tools &#8211; enables not tweeting posts in chosen categories.</li>
</ul>
<p>Each of these plugins needs to be activated individually from your Plugins page, and adds their configuration options to the Twitter Tools settings page. You can grab the latest development version of Twitter Tools and these additional plugins from the official SVN repository:</p>
<p><a href="http://svn.wp-plugins.org/twitter-tools/trunk/" rel="external">http://svn.wp-plugins.org/twitter-tools/trunk/</a></p>
<p>I&#8217;ve been working on these and doing a bunch of testing this weekend, but I&#8217;d love to get some additional testing and feedback on these before I do an official release. Let me know how they work for you &#8211; and think about some plugins of your own to write.</p>
<ol class="footnotes">
<li id="fn1245677447360n">This uses a fairly complex method of trimming the title as needed to make room for the hashtags &#8211; patches to improve/simplify that system while maintaining the functionality are very welcome. [<a href="#fn1245677447360">back</a>]</li>
</ol>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3363&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/22/new-twitter-tools-features-testers-requested/feed</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Around the web</title>
		<link>http://alexking.org/blog/2009/06/21/around-the-web</link>
		<comments>http://alexking.org/blog/2009/06/21/around-the-web#comments</comments>
		<pubDate>Mon, 22 Jun 2009 04:40:49 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://alexking.org/blog/2009/06/21/around-the-web</guid>
		<description><![CDATA[
Thoughts on Opera Unite &#124; FactoryCity
tecosystems &#8211; Google Wave: Tsunami or Microwave? The Q&#038;A &#8211; excellent write-up
Thinking about innovation and business models
YouTube &#8211; John Hodgman at Radio &#038; TV Correspondents&#8217; Dinner (thanks Greg)
Attention All Plugin Authors
Selling a 16GB iPhone 2G &#8211; looks like an interesting option.
Free Google Voice calls with T-Mobile myFaves &#8211; cool lifehacking [...]]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://factoryjoe.com/blog/2009/06/16/thoughts-on-opera-unite/" rel="external">Thoughts on Opera Unite | FactoryCity</a></li>
<li><a href="http://redmonk.com/sogrady/2009/06/17/google-wave/" rel="external">tecosystems &#8211; Google Wave: Tsunami or Microwave? The Q&#038;A</a> &#8211; excellent write-up</li>
<li><a href="http://confusedofcalcutta.com/2009/05/05/thinking-about-innovation-and-business-models/" rel="external">Thinking about innovation and business models</a></li>
<li><a href="http://www.youtube.com/watch?v=yW7OPByRGDY" rel="external">YouTube &#8211; John Hodgman at Radio &#038; TV Correspondents&#8217; Dinner</a> (thanks <a href="https://twitter.com/gregr/status/2262333033" rel="external">Greg</a>)</li>
<li><a href="http://weblogtoolscollection.com/archives/2009/06/20/attention-all-plugin-authors/" rel="external">Attention All Plugin Authors</a></li>
<li><a href="http://echeng.com/journal/2009/06/21/selling-a-16gb-iphone-2g/" rel="external">Selling a 16GB iPhone 2G</a> &#8211; looks like an interesting option.</li>
<li><a href="http://mindaverse.com/2009/04/11/free-google-voice-calls-with-t-mobile-myfaves/" rel="external">Free Google Voice calls with T-Mobile myFaves</a> &#8211; cool lifehacking tip from Devin.</li>
<li><a href="http://echeng.com/journal/2009/06/20/all-devices-belong-to-newton/" rel="external">All devices belong to Newton</a> &#8211; <a href="http://coreygilmore.com/" rel="external">Corey</a> and I should do a similar photo.</li>
<li><a href="http://daringfireball.net/2009/06/palm_saturday" rel="external">Palm Saturday</a></li>
<li><a href="http://stevenf.tumblr.com/post/125360874" rel="external">Palm Pre Notes</a><br />
<blockquote>It is absolutely mind-blowing that Palm pulled this off as well as they did</p></blockquote>
</li>
<li><a href="http://feedproxy.google.com/~r/OfficialGoogleMacBlog/~3/6Z5QIv0C06Q/introducing-google-quick-search-box.html" rel="external">Introducing Google Quick Search Box</a> &#8211; anyone tried this LaunchBar/Quicksilver competitor?</li>
<li><a href="http://blog.macromates.com/2009/working-on-it/" rel="external">Working on It</a> &#8211; I should write a similar post about Tasks Pro&trade;.</li>
<li><a href="http://www.rimarkable.com/ubertwitter-beta-3-build-0-78-now-avaialble" rel="external">ÃœberTwitter Beta 3 Build 0.78 Now Avaialble</a> &#8211; giving this a try.</li>
</ul>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3367&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/21/around-the-web/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>WordPress TextMate bundle updated for WordPress 2.8</title>
		<link>http://top-frog.com/2009/06/19/wordpress-textmate-bundle-updated-for-wordpress-28/</link>
		<comments>http://alexking.org/blog/2009/06/21/wordpress-textmate-bundle-updated-for-wordpress-2-8#comments</comments>
		<pubDate>Mon, 22 Jun 2009 02:58:36 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3365</guid>
		<description><![CDATA[Shawn and Gordon have done a great job on this. It&#8217;s tempting me to try TextMate again (or I might try to port it to BBEdit&#8217;s &#8220;Clippings&#8221; feature). GetBundles is pretty sexy too.
# &#124; Visit Site &#187;
]]></description>
			<content:encoded><![CDATA[<p>Shawn and Gordon have done a great job on this. It&#8217;s tempting me to try TextMate again (or I might try to port it to BBEdit&#8217;s &#8220;Clippings&#8221; feature). GetBundles is pretty sexy too.
<p><a href="http://alexking.org/blog/2009/06/21/wordpress-textmate-bundle-updated-for-wordpress-2-8">#</a> | <a href="http://top-frog.com/2009/06/19/wordpress-textmate-bundle-updated-for-wordpress-28/">Visit Site &raquo;</a></p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3365&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/21/wordpress-textmate-bundle-updated-for-wordpress-2-8/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Apology and a Question</title>
		<link>http://alexking.org/blog/2009/06/17/an-apology-and-a-question</link>
		<comments>http://alexking.org/blog/2009/06/17/an-apology-and-a-question#comments</comments>
		<pubDate>Thu, 18 Jun 2009 04:13:33 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
				<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://alexking.org/?p=3358</guid>
		<description><![CDATA[Earlier today I posted about the GPL and WordPress themes. I was attempting to make a point I feel is important and should be discussed, but obviously did so in a very poor way.
Regardless of my intent, in retrospect I regret the way in which I raised the topic and how I authored the post. [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier today I posted about the <a href="http://alexking.org/blog/2009/06/17/more-gpl-themes-yay-freedom">GPL and WordPress themes</a>. I was attempting to make a point I feel is important and should be discussed, but obviously did so in a very poor way.</p>
<p>Regardless of my intent, in retrospect I regret the way in which I raised the topic and how I authored the post. I&#8217;ve never (intentionally) used this blog as a lightning rod or flame bait, and I didn&#8217;t intend to start with that post. My sincere apologies to the theme devs that have recently GPL&#8217;ed their code (WooThemes, StudioPress, iThemes and any others).</p>
<hr />
<p>At the risk of sticking my other foot in my mouth (wouldn&#8217;t be the first time), I&#8217;d like to revisit one of the core issues around these paid GPL themes, using the following scenario as an illustration.</p>
<p>Imagine: a client comes to me and asks to me to build a site for them using WordPress and a paid GPL theme. The ciient also wants a set of customizations made to the theme and site functionality. Some of the custom functionality requested is different visual treatments for each post, based on the post category. This is a fairly common request for larger publishing sites, and one of the reasons we built the <a href="http://carringtontheme.com">Carrington CMS theme framework</a> (which automates this).</p>
<p>The approach I&#8217;d take here is to use the paid GPL theme, and integrate the Carrington framework for handling the post display with custom templates in the paid GPL theme.</p>
<p>Now (assuming the client is fine with releasing the code) I have at worst a reference implementation and at best a working theme that could be useful to other developers, end-users, etc. in the WordPress community.</p>
<p>Everything in the chain (WordPress, the paid GPL theme and the Carrington framework) are all GPL licensed. My preference would be to make this code available so that others can build on it as well. Developers love examples, and I think it would be useful to show how easily the Carrington framework can be surgically integrated into a theme to provide certain functionality and make their lives easier.</p>
<p>What would the reaction be if I released this code?</p>
<p>I think it&#8217;s clear from the comments on my last post, there are some people in the community that would think this &#8220;isn&#8217;t playing fair&#8221; or &#8220;shows lack of respect&#8221;.</p>
<p>Isn&#8217;t that the opposite of the spirit of Open Source and the GPL? Shouldn&#8217;t we be celebrating the ability to share code and build on what each other has created?</p>
<p>I obviously have a vested interest in the WordPress ecosystem remaining strong. I also want people to be able to make a commercial living in that ecosystem (my team included).</p>
<p>However, I don&#8217;t think it&#8217;s reasonable to build that ecosystem on the premise that we should ignore certain freedoms of the GPL &#8211; and I feel like some folks are asking for that to happen.</p>
<p>I think it&#8217;s worth discussing.</p>
<img src="http://alexking.org/wp/?ak_action=api_record_view&id=3358&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://alexking.org/blog/2009/06/17/an-apology-and-a-question/feed</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
	</channel>
</rss>

<!-- Dynamic page generated in 0.963 seconds. -->
<!-- Cached page generated by WP-Super-Cache on 2009-07-03 19:09:33 -->
