<?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>Stranger Studios Blog &#187; Development</title>
	<atom:link href="http://www.strangerstudios.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.strangerstudios.com/blog</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Thu, 12 Jan 2012 21:34:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Don&#8217;t Break The Code</title>
		<link>http://www.strangerstudios.com/blog/2011/11/dont-break-the-code/</link>
		<comments>http://www.strangerstudios.com/blog/2011/11/dont-break-the-code/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 21:57:07 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[New Projects]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Plugins]]></category>

		<guid isPermaLink="false">http://www.strangerstudios.com/blog/?p=282</guid>
		<description><![CDATA[Last Saturday at WordCamp Philly, I ran a session on &#8220;Building a Plugin in One Night&#8221;. Together, with about 50+ attendees, we brainstormed ideas for a new WordPress plugin that I could code that night. The brainstorming went great, coming up with some good ideas&#8230; like plugins to: Help first responders after a disaster (Big [...]]]></description>
			<content:encoded><![CDATA[<p>Last Saturday at WordCamp Philly, I ran a session on &#8220;Building a Plugin in One Night&#8221;. Together, with about 50+ attendees, we brainstormed ideas for a new WordPress plugin that I could code that night.</p>
<p>The brainstorming went great, coming up with some good ideas&#8230; like plugins to:</p>
<ul>
<li>Help first responders after a disaster (Big Idea!)</li>
<li>Add VIM (a Linux editor) shortcut commands to the Visual Editor</li>
<li>Disable the Visual Editor on a per-post basis (The Winner)</li>
<li>Allow users to create pages from the front end</li>
<li>Add easy donations</li>
<li>Log into WordPress via Google+ (<a href="http://wordpress.org/extend/plugins/wp-google-plus-connect/">Brian did it!</a>)</li>
<li>Add syntax highlighting to the Visual Editor (<a href="https://github.com/inxilpro/html-editor-syntax-highlighter">Chris did it!</a>)</li>
</ul>
<p>The concept that the audience voted for me to work on was a way to disable the Visual Editor tab on a per-post basis. The motivation for this is the fact that the autoformatting of the Visual tab will sometimes break a complicated (or not so complicated) HTML structure ruining your code. Folks wanted a way to say, &#8220;Hey, WordPress, back off on this page/post.&#8221;</p>
<p>And someone (you introduced yourself to me later, but I forget your name) came up with a kick ass name: Don&#8217;t Break the Code. It explains the purpose and also harkens back to my days at Haverford College, which has a strong social/academic honor code.</p>
<p>I had hoped for something a little more mainstream. Only a developer or power user will really appreciate a plugin to disable the Visual tab, but that&#8217;s okay. The effort would be appreciated.</p>
<p>Turns out there are already a few plugins that either disable the Visual tab or remove other filters to keep WordPress from breaking code. The started trickling in after the presentation wrapped:</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/disable-visual-editor-wysiwyg/">Disable Visual Editor WYSIWYG</a></li>
<li><a href="http://wordpress.org/extend/plugins/raw-html/">Raw HTML</a></li>
<li><a href="http://wordpress.org/extend/plugins/deactive-visual-editor/">Deactivate Visual Editor</a></li>
<li><a href="http://wordpress.org/extend/plugins/always-edit-in-html/">Always Edit in HTML</a></li>
</ul>
<p>&#8230; and probably a few more. So we weren&#8217;t blazing new ground.</p>
<p>Still, some good ideas came up during the session that could improve the experience of using a plugin like this. Like:</p>
<ul>
<li>Put the checkbox to disable the editor in the screen options area so it doesn&#8217;t clutter up the editor</li>
<li>Only allow admins to disable the editor. Other roles will see what the admin chose.</li>
<li>Allow admins to add a note RE why the Visual Editor is disable.</li>
<li>Remove other filters (like wpautop) to lower interference even more.</li>
</ul>
<p>I spent the spare time I had during that day and then after the after party from midnight to 5:30am the next morning looking through the code in the existing plugins and piecing together the best pieces of them. I liked how &#8220;Disable Visual Editor WYSIWYG&#8221; just grayed out and struckthrough the Visual tab instead of removing it directly. I liked how Raw HTML put things in the screen options space and also how they allowed for disabling the other filters.</p>
<p>Anyway, the plugin released that morning on GitHub and then later at the Dev Day to the WP repository. You can grab it here:</p>
<p><a href="http://wordpress.org/extend/plugins/dont-break-the-code/">Don&#8217;t Break the Code WordPress Plugin</a></p>
<p>So far it allows admins to disable the Visual Tab just like we said. I improved on the DVE WYSIWYG plugin by disabling via Ajax for a better user experience (you don&#8217;t have to click update for it to take affect). And after trying to copy Raw HTML&#8217;s method of placing things in the screen options, decided to scratch that and just code it myself using some tutorials I found online.</p>
<p>It works nicely. I plan to add checkboxes for disabling other filters similar to Raw HTML and also want to include that &#8220;add a notice&#8221; functionality somehow. I was going to incorporate the syntax highlighting, but that works really well as a stand alone plugin. Chris&#8217;s code had some problems on my setup that I hope to look into and patch for him.</p>
<p>Let me know what you think of Don&#8217;t Break the Code. If you want to contribute, you can fork and patch <a href="https://github.com/strangerstudios/dont-break-the-code">via GitHub here</a>.</p>
<p>Thanks!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangerstudios.com/blog/2011/11/dont-break-the-code/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Standard Ad Sizes Image Placeholders</title>
		<link>http://www.strangerstudios.com/blog/2011/05/standard-ad-sizes-image-placeholders/</link>
		<comments>http://www.strangerstudios.com/blog/2011/05/standard-ad-sizes-image-placeholders/#comments</comments>
		<pubDate>Tue, 10 May 2011 19:21:23 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Artwork]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[ads]]></category>
		<category><![CDATA[banners]]></category>
		<category><![CDATA[images]]></category>
		<category><![CDATA[placeholders]]></category>
		<category><![CDATA[sizes]]></category>

		<guid isPermaLink="false">http://www.strangerstudios.com/blog/?p=225</guid>
		<description><![CDATA[We make these all the time, but Kim finally put together a page with placeholder images for most of the standard banner sizes for ads. Enjoy:]]></description>
			<content:encoded><![CDATA[<p>We make these all the time, but Kim finally put together a page with placeholder images for most of the standard banner sizes for ads. Enjoy:</p>
<div style="float: left; margin: 10px;"><a href="/ads/120x240.gif"><img src="/ads/120x240.gif" border="0" /></a><br /><a href="/ads/120x240.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/120x600.gif"><img src="/ads/120x600.gif" border="0" /></a><br /><a href="/ads/120x600.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/125x125.gif"><img src="/ads/125x125.gif" border="0" /></a><br /><a href="/ads/125x125.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/160x600.gif"><img src="/ads/160x600.gif" border="0" /></a><br /><a href="/ads/160x600.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/180x150.gif"><img src="/ads/180x150.gif" border="0" /></a><br /><a href="/ads/180x150.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/200x200.gif"><img src="/ads/200x200.gif" border="0" /></a><br /><a href="/ads/200x200.gif">Download</a></div><div style="clear: both;"></div><div style="float: left; margin: 10px;"><a href="/ads/234x60.gif"><img src="/ads/234x60.gif" border="0" /></a><br /><a href="/ads/234x60.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/250x250.gif"><img src="/ads/250x250.gif" border="0" /></a><br /><a href="/ads/250x250.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/300x250.gif"><img src="/ads/300x250.gif" border="0" /></a><br /><a href="/ads/300x250.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/336x280.gif"><img src="/ads/336x280.gif" border="0" /></a><br /><a href="/ads/336x280.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/468x60.gif"><img src="/ads/468x60.gif" border="0" /></a><br /><a href="/ads/468x60.gif">Download</a></div><div style="float: left; margin: 10px;"><a href="/ads/728x90.gif"><img src="/ads/728x90.gif" border="0" /></a><br /><a href="/ads/728x90.gif">Download</a></div><div style="clear: both;"></div>
]]></content:encoded>
			<wfw:commentRss>http://www.strangerstudios.com/blog/2011/05/standard-ad-sizes-image-placeholders/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Duplicate comment detected; it looks as though you’ve already said that!</title>
		<link>http://www.strangerstudios.com/blog/2010/10/duplicate-comment-detected-it-looks-as-though-you%e2%80%99ve-already-said-that/</link>
		<comments>http://www.strangerstudios.com/blog/2010/10/duplicate-comment-detected-it-looks-as-though-you%e2%80%99ve-already-said-that/#comments</comments>
		<pubDate>Fri, 22 Oct 2010 14:24:24 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.strangerstudios.com/blog/?p=211</guid>
		<description><![CDATA[Not sure how long WordPress has been doing this, but there is a check for duplicate comments. If the same user/email posts the same exact comment on the same post, the user will get a message like: Duplicate comment detected; it looks as though you’ve already said that! This is great actually, and keeps people [...]]]></description>
			<content:encoded><![CDATA[<p>Not sure how long WordPress has been doing this, but there is a check for duplicate comments. If the same user/email posts the same exact comment on the same post, the user will get a message like:</p>
<blockquote><p>Duplicate comment detected; it looks as though you’ve already said that!</p></blockquote>
<p>This is great actually, and keeps people from submitting the same comment twice if they get impatient waiting for moderation or otherwise click that submit button twice.</p>
<p>As a blog owner and WordPress developer, there may be situations where you want to allow people to post the same comment. If you want to enable duplicate comments on your blog for some reason, you can use this code here. Just add it to your theme&#8217;s functions.php or put this in a .php in your plugins folder and enable it.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">function</span> enable_duplicate_comments_preprocess_comment<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment_data</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #666666; font-style: italic;">//add some random content to comment to keep dupe checker from finding it</span>
	<span style="color: #000088;">$random</span> <span style="color: #339933;">=</span> <span style="color: #990000;">md5</span><span style="color: #009900;">&#40;</span><span style="color: #990000;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
	<span style="color: #000088;">$comment_data</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'comment_content'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;disabledupes{&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$random</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;}disabledupes&quot;</span><span style="color: #339933;">;</span>	
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #000088;">$comment_data</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
add_filter<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'preprocess_comment'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'enable_duplicate_comments_preprocess_comment'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> enable_duplicate_comments_comment_post<span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment_id</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #000000; font-weight: bold;">global</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">//remove the random content</span>
	<span style="color: #000088;">$comment_content</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_var</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;SELECT comment_content FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span> WHERE comment_ID = '<span style="color: #006699; font-weight: bold;">$comment_id</span>' LIMIT 1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>	
	<span style="color: #000088;">$comment_content</span> <span style="color: #339933;">=</span> <span style="color: #990000;">preg_replace</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;/disabledupes\{.*\}disabledupes/&quot;</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">&quot;&quot;</span><span style="color: #339933;">,</span> <span style="color: #000088;">$comment_content</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">query</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;UPDATE <span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span> SET comment_content = '&quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">escape</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$comment_content</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot;' WHERE comment_ID = '<span style="color: #006699; font-weight: bold;">$comment_id</span>' LIMIT 1&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #666666; font-style: italic;">/*
		add your own dupe checker here if you want
	*/</span>
<span style="color: #009900;">&#125;</span>
add_action<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'comment_post'</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">'enable_duplicate_comments_comment_post'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></div></div>

<p>For reference, here is the dupe check code in wp-includes/comment.php. A newer version should probably have a hook above and/or below to allow people to override the dupe checker more directly.</p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Simple duplicate check</span>
	<span style="color: #666666; font-style: italic;">// expected_slashed ($comment_post_ID, $comment_author, $comment_author_email, $comment_content)</span>
	<span style="color: #000088;">$dupe</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;SELECT comment_ID FROM <span style="color: #006699; font-weight: bold;">$wpdb-&gt;comments</span> WHERE comment_post_ID = '<span style="color: #006699; font-weight: bold;">$comment_post_ID</span>' AND comment_approved != 'trash' AND ( comment_author = '<span style="color: #006699; font-weight: bold;">$comment_author</span>' &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$comment_author_email</span> <span style="color: #009900;">&#41;</span>
		<span style="color: #000088;">$dupe</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;OR comment_author_email = '<span style="color: #006699; font-weight: bold;">$comment_author_email</span>' &quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$dupe</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;) AND comment_content = '<span style="color: #006699; font-weight: bold;">$comment_content</span>' LIMIT 1&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000088;">$wpdb</span><span style="color: #339933;">-&gt;</span><span style="color: #004000;">get_var</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$dupe</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
		do_action<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">'comment_duplicate_trigger'</span><span style="color: #339933;">,</span> <span style="color: #000088;">$commentdata</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
		<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #990000;">defined</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'DOING_AJAX'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
			<span style="color: #990000;">die</span><span style="color: #009900;">&#40;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Duplicate comment detected; it looks as though you&amp;#8217;ve already said that!'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
		wp_die<span style="color: #009900;">&#40;</span> __<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Duplicate comment detected; it looks as though you&amp;#8217;ve already said that!'</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.strangerstudios.com/blog/2010/10/duplicate-comment-detected-it-looks-as-though-you%e2%80%99ve-already-said-that/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Jason Speaking at WordCamp Philly October 30th at Temple University</title>
		<link>http://www.strangerstudios.com/blog/2010/09/jason-speaking-at-wordcamp-philly-october-30th-at-temple-university/</link>
		<comments>http://www.strangerstudios.com/blog/2010/09/jason-speaking-at-wordcamp-philly-october-30th-at-temple-university/#comments</comments>
		<pubDate>Thu, 23 Sep 2010 16:33:50 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Events]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://www.strangerstudios.com/blog/?p=198</guid>
		<description><![CDATA[I will be speaking on Business Models for Plugin/Theme Distribution. What You Need to Know About the GPL at WordCamp Philly October 30th, 2010 at Temple University in Philadelphia. With lots of sweat and little luck, we&#8217;ll have our membership plugin available for some sort of release by then. But really I&#8217;m excited to share [...]]]></description>
			<content:encoded><![CDATA[<p>I will be <a href="http://wordcampphilly.com/speakers/#jcoleman">speaking</a> on <em>Business Models for Plugin/Theme Distribution. What You Need to Know About the GPL</em> at <a href="http://wordcampphilly.com">WordCamp Philly</a> October 30th, 2010 at Temple University in Philadelphia.</p>
<p>With lots of sweat and little luck, we&#8217;ll have our membership plugin available for some sort of release by then. But really I&#8217;m excited to share my thoughts on how to distribute, market, and make money off this plugin&#8230; and more interested in others ideas about the same.</p>
<p>If you want to hear me speak or are otherwise interested, <a href="http://wordcampphilly.com/register/">get your ticket now</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangerstudios.com/blog/2010/09/jason-speaking-at-wordcamp-philly-october-30th-at-temple-university/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pagination Update</title>
		<link>http://www.strangerstudios.com/blog/2006/12/pagination-update/</link>
		<comments>http://www.strangerstudios.com/blog/2006/12/pagination-update/#comments</comments>
		<pubDate>Fri, 29 Dec 2006 17:13:20 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[CSS]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.strangerstudios.com/blog/2006/12/29/pagination-update/</guid>
		<description><![CDATA[Earlier in the year, I wrote a tutorial on how to create pagination similar to Digg&#8217;s. The article focused on the basic algorithm for displaying the pagination, and there was definitely some opportunity for improvement in its implementation. Well, the improvements are in. We have a modularized PHP version and a Perl version. See the [...]]]></description>
			<content:encoded><![CDATA[<p>Earlier in the year, I wrote a tutorial on <a href="http://www.strangerstudios.com/blog/2006/07/07/paginate-your-site-like-digg/">how to create pagination similar to Digg&#8217;s</a>. The article focused on the basic algorithm for displaying the pagination, and there was definitely some opportunity for improvement in its implementation.</p>
<p>Well, the improvements are in. We have a modularized PHP version and a Perl version. See the <a href="http://www.strangerstudios.com/sandbox/pagination/diggstyle.php">updated pagination demo page</a> for details.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangerstudios.com/blog/2006/12/pagination-update/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Making Our Current Features Solid Before Adding New Ones</title>
		<link>http://www.strangerstudios.com/blog/2006/12/making-our-current-features-solid-before-adding-new-ones/</link>
		<comments>http://www.strangerstudios.com/blog/2006/12/making-our-current-features-solid-before-adding-new-ones/#comments</comments>
		<pubDate>Thu, 14 Dec 2006 02:59:05 +0000</pubDate>
		<dc:creator>jason</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Entrepreneurship]]></category>
		<category><![CDATA[Web]]></category>
		<category><![CDATA[WineLog]]></category>

		<guid isPermaLink="false">http://www.strangerstudios.com/blog/2006/12/13/making-our-current-features-solid-before-adding-new-ones/</guid>
		<description><![CDATA[Kim and I were getting a lot of work done on a new import tool for WineLog. There is no question that this tool is awesome. It is one-of-a-kind and will help users who have invested a lot of time into another wine tracking system to convert to WineLog. This new feature is good for [...]]]></description>
			<content:encoded><![CDATA[<p>Kim and I were getting a lot of work done on a new import tool for <a title="The Most Awesomest Wine Website There Is" href="http://www.winelog.net">WineLog</a>. There is no question that this tool is awesome. It is one-of-a-kind and will help users who have invested a lot of time into another wine tracking system to convert to WineLog. This new feature is good for our users, and good for the growth of WineLog.</p>
<p>However, there are a lot of <em>existing</em> features that could use our attention. The RSS feeds for instance need some help. Some are more flexible than others, some are not yet taking advantage of the smarter search code, and some are not working at all. There is a lot we can do to make subscribing to our content through RSS more user-friendly and easier to understand for folks who may not be familiar with Real Simple Syndication.</p>
<p>There are a lot of web sites moving into the wine space recently. Some of these web sites are really solid. While I think we currently offer the best mix of features and community, others are catching up fast. And their quality is not suffering. We can&#8217;t afford to have a reviewer say something like, &#8220;Sure, WineLog has a huge database of wines, but such and such a feature was rough around the edges and confused me.&#8221; We can&#8217;t afford to lose a user who runs into a problem like that.</p>
<p>For these reasons, over the next few weeks Kim and I will be focusing on making our current feature set as solid as possible before moving on to new things. Adding new features will only complicate things if we&#8217;re not sure that the current offerings are the best they can be. Sometimes we try to run faster than our legs can take us and we stumble a bit. When this happens, we need to slow down a bit and focus on our technique.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.strangerstudios.com/blog/2006/12/making-our-current-features-solid-before-adding-new-ones/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

