<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Alex's Downloads</title>
	
	<link>http://www.alex-hardy.co.uk</link>
	<description>Latest news about my downloadable projects</description>
	<pubDate>Thu, 10 Sep 2009 17:03:40 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/alex-hardy/downloads" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>Why CAPTCHAs suck</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/CSjanjvRp8w/</link>
		<comments>http://www.alex-hardy.co.uk/2008/11/26/why-captchas-suck/#comments</comments>
		<pubDate>Wed, 26 Nov 2008 12:38:46 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Accessibility]]></category>

		<category><![CDATA[Design]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/?p=270</guid>
		<description><![CDATA[Robert Hoekman Jr, usability guru and author of the brilliant Designing the Obvious conveys inside a 140-character Twitter post why CAPTCHAs suck:
&#8220;Enter correct CAPTCHA, get error, reenter chosen password, recheck checkboxes, reenter correct CAPTCHA, wash, rinse, repeat.&#8221;
Ugly. Glitchy. Problematic from a readability and accessibility standpoint. I think CAPTCHAs are horrible and I won&#8217;t be adding [...]]]></description>
			<content:encoded><![CDATA[<p>Robert Hoekman Jr, usability guru and author of the brilliant <a href="http://rhjr.net/dto" onclick="javascript:pageTracker._trackPageview('/rhjr.net');">Designing the Obvious</a> conveys inside a 140-character Twitter post <a href="http://twitter.com/rhjr/status/1022986288" onclick="javascript:pageTracker._trackPageview('/twitter.com');">why CAPTCHAs suck:</a></p>
<blockquote><p>&#8220;Enter correct CAPTCHA, get error, reenter chosen password, recheck checkboxes, reenter correct CAPTCHA, wash, rinse, repeat.&#8221;</p></blockquote>
<p><strong>Ugly.</strong> Glitchy. Problematic from a readability and accessibility standpoint. I think CAPTCHAs are horrible and I won&#8217;t be adding them to my applications.</></p>
<p>A simple question/answer spam challenge &#8211; as on <a href="http://buildingfindablewebsites.com" onclick="javascript:pageTracker._trackPageview('/buildingfindablewebsites.com');">Building Findable Websites</a> &#8211; is a far more elegant solution. This is definitely *on* the roadmap.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=CSjanjvRp8w:9RTdtXVZU80:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=CSjanjvRp8w:9RTdtXVZU80:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=CSjanjvRp8w:9RTdtXVZU80:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=CSjanjvRp8w:9RTdtXVZU80:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=CSjanjvRp8w:9RTdtXVZU80:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=CSjanjvRp8w:9RTdtXVZU80:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=CSjanjvRp8w:9RTdtXVZU80:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=CSjanjvRp8w:9RTdtXVZU80:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/CSjanjvRp8w" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/11/26/why-captchas-suck/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/11/26/why-captchas-suck/</feedburner:origLink></item>
		<item>
		<title>simpleContact Pro is available now</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/pIPssQ8rXkI/</link>
		<comments>http://www.alex-hardy.co.uk/2008/10/29/simplecontact-pro/#comments</comments>
		<pubDate>Wed, 29 Oct 2008 20:02:33 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/?p=314</guid>
		<description><![CDATA[I&#8217;ve kept my promise of an October release with just a couple of days to spare!
simpleContact Pro is made for the professional, or indeed anyone building a website that wants a bespoke contact form and mailing list opt-in. No programming is needed and you can be up and running in just a few minutes.
I always [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve kept my promise of an October release with just a couple of days to spare!</p>
<p><a href="/downloads/simplecontactpro">simpleContact Pro</a> is made for the professional, or indeed anyone building a website that wants a bespoke contact form and mailing list opt-in. <strong>No programming is needed</strong> and you can be up and running in just a few minutes.</p>
<p>I always intended to build &#8216;Pro, even when I started working on <a href="/downloads/simplecontactlite">simpleContact Lite</a>. &#8216;Lite is used by individuals and companies of all sorts and the response has been wonderful. Now features including custom fields, a double opt-in mailing list and CSV export are available to anyone. <strong>&#8216;Lite users can upgrade easily,</strong> migrating their settings and data with just a click.</p>
<p>My highest priority has always been a polished, user friendly interface. I do not work to implement a laundry list of functionality. I am a web designer / developer by day &#8211; <a href="/folio.php">this is what I do.</a> I understand which features are important and that <strong>time is money.</strong></p>
<p>To be able to deliver a sophisticated result with a minimum of fuss is key. Even the most skilled programmer knows that the easy solution is often the smart choice. With simpleContact Pro you can dispense with one of the trickiest, most time consuming development tasks and focus on your content.</p>
<p>Head over to <a href="/downloads">my updated downloads section</a> to find out about simpleContact Pro!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=pIPssQ8rXkI:FB_mlU8a-Pk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=pIPssQ8rXkI:FB_mlU8a-Pk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=pIPssQ8rXkI:FB_mlU8a-Pk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=pIPssQ8rXkI:FB_mlU8a-Pk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=pIPssQ8rXkI:FB_mlU8a-Pk:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=pIPssQ8rXkI:FB_mlU8a-Pk:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=pIPssQ8rXkI:FB_mlU8a-Pk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=pIPssQ8rXkI:FB_mlU8a-Pk:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/pIPssQ8rXkI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/10/29/simplecontact-pro/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/10/29/simplecontact-pro/</feedburner:origLink></item>
		<item>
		<title>simpleContact Pro is now in beta</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/3ZNnsr6qgPs/</link>
		<comments>http://www.alex-hardy.co.uk/2008/09/02/simplecontact-pro-beta/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 09:20:11 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/?p=298</guid>
		<description><![CDATA[I&#8217;m pleased to announce that simpleContact Pro is nearing release!
I issued a beta version this morning to a group of volunteers. I am very grateful that these people, several of whom I am fortunate enough to have worked with and call friends, are willing to give their time to help me deliver a great product.
I&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m pleased to announce that simpleContact Pro is nearing release!</p>
<p>I issued a beta version this morning to a group of volunteers. I am very grateful that these people, several of whom I am fortunate enough to have worked with and call friends, are willing to give their time to help me deliver a great product.</p>
<p>I&#8217;ve also enlisted the help of some smart people that I&#8217;ve met on my internet travels: <a href="/downloads">simpleContact</a> users, designers, developers, bloggers and marketeers. I look forward to receiving everyone&#8217;s feedback.</p>
<h3>Key features of simpleContact Pro</h3>
<ul>
<li class="first">Automagical installation &#8211; enter your database info and upload</li>
<li><strong>One-click upgrade for simpleContact users</strong> transfers settings and data</li>
<li>Smart default settings to save you time</li>
<li>Browser-based admin with messages inbox</li>
<li><strong>New form builder which supports custom fields</strong></li>
<li><strong>Client-side and server-side</strong> form validation</li>
<li>Multiple email recipients</li>
<li>Email autoresponder with personalisation</li>
<li><strong>Single or double opt-in</strong> mailing list</li>
<li><strong>CSV mailing list export</strong>, ready to use with mailers like <a href="http://www.campaignmonitor.com" onclick="javascript:pageTracker._trackPageview('/www.campaignmonitor.com');">Campaign Monitor</a></li>
<li class="last">Built with web standards and integrates easily with your website</li>
</ul>
<p>simpleContact Pro will be a commercial product, with a price of $25. The free version will be rebranded simpleContact Lite, and maintained alongside it.</p>
<p>The test period closes at the end of September.  I am aiming for an October release.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=3ZNnsr6qgPs:sR-g3CxH4ys:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=3ZNnsr6qgPs:sR-g3CxH4ys:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=3ZNnsr6qgPs:sR-g3CxH4ys:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=3ZNnsr6qgPs:sR-g3CxH4ys:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=3ZNnsr6qgPs:sR-g3CxH4ys:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=3ZNnsr6qgPs:sR-g3CxH4ys:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=3ZNnsr6qgPs:sR-g3CxH4ys:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=3ZNnsr6qgPs:sR-g3CxH4ys:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/3ZNnsr6qgPs" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/09/02/simplecontact-pro-beta/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/09/02/simplecontact-pro-beta/</feedburner:origLink></item>
		<item>
		<title>simpleContact: Year one in review</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/WNU6nJ8IW5Q/</link>
		<comments>http://www.alex-hardy.co.uk/2008/05/16/simplecontact-year-1/#comments</comments>
		<pubDate>Fri, 16 May 2008 16:49:47 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Marketing]]></category>

		<category><![CDATA[form]]></category>

		<category><![CDATA[simplecontact]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/?p=305</guid>
		<description><![CDATA[How time flies: it&#8217;s been a full year since I released simpleContact 1.0. Quite a bit has happened since then, so here are the highlights for me&#8230;
Progress
As you can see from my downloads page, work has continued on the application. simpleContact currently stands at version 1.2, which I released in December 2007. The details of [...]]]></description>
			<content:encoded><![CDATA[<p>How time flies: it&#8217;s been a full year since <a href="http://www.alex-hardy.co.uk/2007/05/21/simplecontact-release" onclick="">I released simpleContact 1.0</a>. Quite a bit has happened since then, so here are the highlights for me&#8230;</p>
<h3>Progress</h3>
<p>As you can see from <a href="/downloads">my downloads page</a>, work has continued on the application. simpleContact currently stands at version 1.2, which I released in December 2007. The details of each version can be found in the <a href="/downloads/releasenotes/simplecontact.html">release notes</a>.</p>
<p>I&#8217;ve tweaked the design of the downloads page and the site in general, and I&#8217;m keeping a visual log of those changes in <a href="http://www.flickr.com/photos/alex-hardy" onclick="javascript:pageTracker._trackPageview('/www.flickr.com');">my Flickr account</a>. When I release the &#8220;Pro&#8221; version it will be re-branded simpleContact &#8220;Lite&#8221;.</p>
<p>I added a <a href="/forums">support forum</a> to this website. It&#8217;s very early days, but I hope to build a valuable resource. Publishing an application (even a vigorously tested one) is rather like releasing a domesticated animal into the wild &#8211; you have no idea where it will find itself and how well it will fare. It seems to be coping well in the big bad world of unpredictable server configurations and usage scenarios.</p>
<p>I&#8217;ve also made a personal discovery. To focus on something that&#8217;s your own, improving it bit by bit appeals to the perfectionist in me. I find it very satisfying.</p>
<h3>Reception</h3>
<p>The response from users has been overwhelmingly positive. I don&#8217;t mind revealing that I currently average 180 downloads a month, so you don&#8217;t need to be a maths whizz to know that I am getting close to a milestone that I will comment on soon.</p>
<p>In version 1.1 I added a rating form to the log out page to help users express their opinions and to promote the application on <a href="http://php.resourceindex.com/detail/06997.html" onclick="javascript:pageTracker._trackPageview('/php.resourceindex.com');">The PHP Resource Index</a>, a leading script directory. The reaction was great, and it has a solid front-page position in its category. With the release of &#8216;Pro the attack on its rivals really begins!</p>
<p>Users have been generous, with comments such as these:</p>
<blockquote><p>&#8220;I’m always looking for ways to make my clients’ projects useful and sophisticated, but still affordable. simpleContact makes it easy to deliver an advanced product easily.&#8221; <strong>Kim D.</strong></p></blockquote>
<p></p>
<blockquote><p>&#8220;Being a web developer/designer but not a script author, this is an asset. This application, in my opinion, rivals most of the ones designed by other companies that charge a premium.&#8221; <strong>Alan J.</strong></p></blockquote>
<p>There&#8217;s still a long way to go. I&#8217;ve had lots of requests, some of which I definitely plan to include in future releases. &#8220;Subject&#8221; and &#8220;US state&#8221; fields in particular have been in demand. I hope to satisfy the need for bespoke options with &#8216;Pro.</p>
<h3>Promotion</h3>
<p>I&#8217;ve not engaged in any advertising so far, although that will come. I&#8217;ve relied solely on word of mouth, directory listings and links in relevant places. Thanks to Andy Prevost, the <a href="http://phpmailer.codeworxtech.com" onclick="javascript:pageTracker._trackPageview('/phpmailer.codeworxtech.com');">PHPMailer</a> website in particular has been a strong source of visitors.</p>
<p>I&#8217;ll write my first newsletter in a couple of months. A fringe benefit of this project has been that it constantly yields new opportunities to learn and interact with people. To write better, more compatible code, manage versions, user expectations and support requests, stats analysis, PPC, email marketing &#8211; all things that you learn best on the job.</p>
<p>I can&#8217;t wait to see what I have to say in May 2009!</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=WNU6nJ8IW5Q:DkIoVUIuNZA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=WNU6nJ8IW5Q:DkIoVUIuNZA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=WNU6nJ8IW5Q:DkIoVUIuNZA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=WNU6nJ8IW5Q:DkIoVUIuNZA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=WNU6nJ8IW5Q:DkIoVUIuNZA:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=WNU6nJ8IW5Q:DkIoVUIuNZA:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=WNU6nJ8IW5Q:DkIoVUIuNZA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=WNU6nJ8IW5Q:DkIoVUIuNZA:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/WNU6nJ8IW5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/05/16/simplecontact-year-1/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/05/16/simplecontact-year-1/</feedburner:origLink></item>
		<item>
		<title>Touching base (I hate that expression)</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/ZTMdGxfBYAU/</link>
		<comments>http://www.alex-hardy.co.uk/2008/04/07/touching-base/#comments</comments>
		<pubDate>Mon, 07 Apr 2008 14:46:27 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Random]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/2008/04/07/touching-base/</guid>
		<description><![CDATA[I&#8217;ve been quiet on this website for a few weeks, but I have not been idle. Here&#8217;s a quick update on my recent activities:
simpleContact Pro
Development of simpleContact Pro is well underway. I&#8217;m currently working on the form builder itself, which is coming along nicely. It would however be premature to announce a release date other [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been quiet on this website for a few weeks, but I have not been idle. Here&#8217;s a quick update on my recent activities:</p>
<h3>simpleContact Pro</h3>
<p>Development of simpleContact Pro is well underway. I&#8217;m currently working on the form builder itself, which is coming along nicely. It would however be premature to announce a release date other than a May/June window. I plan to write a substantial blog post at the start of May that will preview the app (with interface screengrabs).</p>
<h3>StumbleUpon</h3>
<p>I have got the <a href="http://www.stumbleupon.com" onclick="javascript:pageTracker._trackPageview('/www.stumbleupon.com');">StumbleUpon</a> bug. I&#8217;ve been using it since January, and it is quite addictive to keep a blog of webpages that you like. It has also become a steady driver of traffic to my website. In time I&#8217;ll integrate <a href="http://alex-hardy.stumbleupon.com" onclick="javascript:pageTracker._trackPageview('/alex-hardy.stumbleupon.com');">my StumbleUpon blog</a> with this website, since referencing other sites can be valuable, but rarely merits a full post.</p>
<h3>Manchester Great Run</h3>
<p>I start my overdue training programme tonight, newly bought <a href="http://www.apple.com/ipodshuffle" onclick="javascript:pageTracker._trackPageview('/www.apple.com');">iPod Shuffle</a> in hand. My <a href="http://www.justgiving.com/alexhardy_greatrun2008" onclick="javascript:pageTracker._trackPageview('/www.justgiving.com');">fundraising page</a> is set up and I am seeking sponsorship between now and May 18th. I am running for <a href="http://www.barnardos.org.uk" onclick="javascript:pageTracker._trackPageview('/www.barnardos.org.uk');">Barnado&#8217;s</a> in this, my third Great Run.</p>
<p>I&#8217;ll be getting back into regular posts soon, apologies for the brief hiatus.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=ZTMdGxfBYAU:wWzGG75VhBc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=ZTMdGxfBYAU:wWzGG75VhBc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=ZTMdGxfBYAU:wWzGG75VhBc:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=ZTMdGxfBYAU:wWzGG75VhBc:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=ZTMdGxfBYAU:wWzGG75VhBc:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=ZTMdGxfBYAU:wWzGG75VhBc:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=ZTMdGxfBYAU:wWzGG75VhBc:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=ZTMdGxfBYAU:wWzGG75VhBc:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/ZTMdGxfBYAU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/04/07/touching-base/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/04/07/touching-base/</feedburner:origLink></item>
		<item>
		<title>A poll of sorts, about how to fairly license a self-hosted application</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/nVDAtZuxXXM/</link>
		<comments>http://www.alex-hardy.co.uk/2008/02/27/a-poll-of-sorts-about-how-to-fairly-license-a-self-hosted-application/#comments</comments>
		<pubDate>Wed, 27 Feb 2008 17:13:56 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/2008/02/27/a-poll-of-sorts-about-how-to-fairly-license-a-self-hosted-application/</guid>
		<description><![CDATA[As I&#8217;m now working on simpleContact Pro I need to tackle licensing a commercial self-hosted application. I&#8217;ve been looking into how others do it and there seem to be a variety of options. Putting aside price for now, the dilemma is actually a collection of smaller issues:

I want as many people as possible to use [...]]]></description>
			<content:encoded><![CDATA[<p>As I&#8217;m now working on simpleContact Pro I need to tackle licensing a commercial self-hosted application. I&#8217;ve been looking into <a href="http://www.thesidepath.com" onclick="javascript:pageTracker._trackPageview('/www.thesidepath.com');">how</a> <a href="http://www.haveamint.com" onclick="javascript:pageTracker._trackPageview('/www.haveamint.com');">others</a> <a href="http://www.cabel.name/2008/02/fancyzoom-10.html" onclick="javascript:pageTracker._trackPageview('/www.cabel.name');">do it</a> and there seem to be a variety of options. Putting aside price for now, the dilemma is actually a collection of smaller issues:</p>
<ul>
<li>I want as many people as possible to use and benefit from my software</li>
<li>If many people profit from my work and few buy it, I&#8217;d call that &#8220;getting ripped off&#8221;</li>
<li>Per-domain licensing seems a little bit too strict</li>
<li>Usage of an app where the code is not compiled would be impossible to police</li>
<li>My resources are too limited to invest significant time and effort in the above</li>
</ul>
<p>On reflection, the licensing model I&#8217;d like to adopt is as follows:</p>
<ul>
<li>Application costs x, for a personal use license (not restricted to one domain)</li>
<li>Installation for a third party (e.g. a web designer working for a client) dictates a transference of ownership and requires a new purchase</li>
<li>A user is not permitted to re-sell the software</li>
<li>They may however charge for installation as a service at their discretion</li>
<li>Charities or non-profit organisations may request a free copy of the application</li>
<li>Users are trusted to act in a professional manner &#8211; no active policing</li>
<li>Support will be denied to users who do not have a license</li>
</ul>
<p>So what do you think?</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=nVDAtZuxXXM:nXrDpqb06Js:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=nVDAtZuxXXM:nXrDpqb06Js:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=nVDAtZuxXXM:nXrDpqb06Js:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=nVDAtZuxXXM:nXrDpqb06Js:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=nVDAtZuxXXM:nXrDpqb06Js:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=nVDAtZuxXXM:nXrDpqb06Js:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=nVDAtZuxXXM:nXrDpqb06Js:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=nVDAtZuxXXM:nXrDpqb06Js:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/nVDAtZuxXXM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/02/27/a-poll-of-sorts-about-how-to-fairly-license-a-self-hosted-application/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/02/27/a-poll-of-sorts-about-how-to-fairly-license-a-self-hosted-application/</feedburner:origLink></item>
		<item>
		<title>Support forum (soft launch)</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/tEQf_omRr08/</link>
		<comments>http://www.alex-hardy.co.uk/2008/02/19/support-forum-soft-launch/#comments</comments>
		<pubDate>Tue, 19 Feb 2008 20:52:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<category><![CDATA[Toolbox]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/2008/02/19/support-forum-soft-launch/</guid>
		<description><![CDATA[I&#8217;ve added a support forum to this website. I refer to this as a &#8220;soft launch&#8221; because I haven&#8217;t integrated it with the rest of the site, graphically or in the navigation. The only exception is a link on the footer for the downloads page.
My reasons for this are simple:

I wanted to add a forum [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve added a <a href="/forums">support forum</a> to this website. I refer to this as a &#8220;soft launch&#8221; because I haven&#8217;t integrated it with the rest of the site, graphically or in the navigation. The only exception is a link on the footer for the <a href="/downloads">downloads</a> page.</p>
<p>My reasons for this are simple:</p>
<ul>
<li>I wanted to add a forum to help support current users of simpleContact 1.2</li>
<li>To get it live before releasing simpleContact 2.0 Pro, so I can document it</li>
<li>I didn&#8217;t want to be sidetracked from building &#8216;Pro to make the forums purdy</li>
</ul>
<p>You&#8217;ll find sections for FAQs, installation, troubleshooting, requests, miscellaneous and a section that I&#8217;ve called &#8220;Out and About&#8221;. This is where you can earn yourself some link-love by posting about your simpleContact powered website.</p>
<p>Let&#8217;s get a discussion going <img src='http://www.alex-hardy.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong>UPDATE:</strong> Added a link to the <a href="/contact.php">contact</a> page.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=tEQf_omRr08:DBkgaAVmiic:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=tEQf_omRr08:DBkgaAVmiic:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=tEQf_omRr08:DBkgaAVmiic:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=tEQf_omRr08:DBkgaAVmiic:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=tEQf_omRr08:DBkgaAVmiic:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=tEQf_omRr08:DBkgaAVmiic:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=tEQf_omRr08:DBkgaAVmiic:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=tEQf_omRr08:DBkgaAVmiic:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/tEQf_omRr08" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/02/19/support-forum-soft-launch/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/02/19/support-forum-soft-launch/</feedburner:origLink></item>
		<item>
		<title>UTF-8 text encoding and self-hosted PHP / MySQL web applications</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/_7jFwLyH4So/</link>
		<comments>http://www.alex-hardy.co.uk/2008/02/11/utf-8-php-mysql/#comments</comments>
		<pubDate>Mon, 11 Feb 2008 14:07:31 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Accessibility]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/2008/02/11/utf-8-php-mysql/</guid>
		<description><![CDATA[One of the best things about web development is that there is always something new to learn, no matter how much you know. If you want to really learn how to build a solid, portable application then I&#8217;m convinced that the best way is to release one.
Users will be swift to report bugs and incompatibilities [...]]]></description>
			<content:encoded><![CDATA[<p>One of the best things about web development is that there is always something new to learn, no matter how much you know. If you want to really learn how to build a solid, <em>portable</em> application then I&#8217;m convinced that the best way is to release one.</p>
<p>Users will be swift to report bugs and incompatibilities for you. This isn&#8217;t negligent; it&#8217;s natural. A developer can&#8217;t anticipate all possible configurations and behaviour. Your response is what matters. You may be equally swift to issue a fix, but issues may sometimes go unaddressed because the effort outweighs the benefit.</p>
<p>Issues with <a href="/downloads" title="simpleContact adds a contact form and mailing list database to your website without programming">simpleContact</a> have been rare, but a self-started <a href="http://www.phpfreaks.com/forums/index.php/topic,179532.0.html" onclick="javascript:pageTracker._trackPageview('/www.phpfreaks.com');">forum thread</a> caught my attention last week. A member commented that they hadn&#8217;t been able to submit their name properly. I&#8217;ve researched the matter and in the interests of transparency I&#8217;m going to present what I found and what I plan to do.</p>
<p>Character encoding is a thorny issue that few bother to understand and implement in a considered way. There are articles on the web that cover the subject in detail, so rather than re-hash their points I&#8217;ll add some relevant links at the end.</p>
<h3>The issue</h3>
<p>simpleContact uses MySQL&#8217;s default collation, which is <em>latin1_swedish_ci</em> &#8211; fine for English and most Western European languages, but other languages (e.g. Greek, Japanese, Russian etc) will not be stored or represented properly. This is a matter I wish to address because I want as many people as possible to use my software.</p>
<p>The ideal course of action would be to process and store data in UTF-8 encoding. UTF-8 is a multi-byte character encoding that supports the characters of just about every language in the world.</p>
<p>Advice abounds for how to reconfigure your server and scripts to use UTF-8, but matters are more complicated when users will host an application on their own site. As developers of apps like <a href="http://www.google.co.uk/search?q=wordpress+utf-8" onclick="">WordPress</a> and <a href="http://www.google.co.uk/search?q=mint+utf-8" onclick="">Mint</a> know, ideal configurations in shared hosting services and availability of non-default PHP extensions like <a href="http://uk2.php.net/mbstring" onclick="javascript:pageTracker._trackPageview('/uk2.php.net');">mbstring</a> can&#8217;t be guaranteed. Some of the servers I have access to lack the necessary functions.</p>
<p>The easiest thing would be to put up a wall and say <em>&#8220;If you don&#8217;t have x, you need to get a better host&#8221;</em>. Meanwhile <em>back in the real world</em>, users are far more likely to reject an app than swap hosts. A middle ground has to be reached.</p>
<h3>The solution</h3>
<p>UTF-8 support must be added, but not without respecting a user&#8217;s situation. I plan to keep Latin-1 encoding and collation as a baseline standard for compatibility. It is better to support a subset of commonly spoken languages than not to work at all. For users whose server supports mult-byte string functions, the database will be silently upgraded to UTF-8 and appropriate methods will be used in PHP.</p>
<p>Beyond that, there isn&#8217;t much else. If you want a truly international solution and your host won&#8217;t support mbstring then you really do need to choose another host.</p>
<h3>So what next?</h3>
<p>I have fixed the feature-set for simpleContact 2.0 Pro and don&#8217;t intend to add UTF-8 support to it. When 2.0 is done, it will become a high priority feature in version 2.1, which will be a free upgrade. I will add it to simpleContact Lite in due course.</p>
<h3>Useful links</h3>
<ul>
<li>Joel Spolsky &#8211; <a href="http://www.joelonsoftware.com/articles/Unicode.html" onclick="javascript:pageTracker._trackPageview('/www.joelonsoftware.com');" title="The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!) - Joel on Software">The Absolute Minimum Every Software Developer Absolutely, Positively Must Know About Unicode and Character Sets (No Excuses!)</a></li>
<li>Nick Nettleton &#8211; <a href="http://www.nicknettleton.com/zine/php/php-utf-8-cheatsheet" onclick="javascript:pageTracker._trackPageview('/www.nicknettleton.com');" title="PHP UTF-8 cheatsheet - nicknettleton.com">PHP UTF-8 cheatsheet</a></li>
<li>Gabriel Walt &#8211; <a href="http://php.group.stumbleupon.com/forum/37465" onclick="javascript:pageTracker._trackPageview('/php.group.stumbleupon.com');">StumbleUpon PHP: [Tutorial] Character encoding</a></li>
<li>Wikipedia &#8211; <a href="http://en.wikipedia.org/wiki/ISO_8859-1" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">ISO 8859-1 (Latin-1)</a> and <a href="http://en.wikipedia.org/wiki/UTF-8" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">UTF-8</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=_7jFwLyH4So:w_KNwBeuBwo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=_7jFwLyH4So:w_KNwBeuBwo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=_7jFwLyH4So:w_KNwBeuBwo:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=_7jFwLyH4So:w_KNwBeuBwo:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=_7jFwLyH4So:w_KNwBeuBwo:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=_7jFwLyH4So:w_KNwBeuBwo:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=_7jFwLyH4So:w_KNwBeuBwo:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=_7jFwLyH4So:w_KNwBeuBwo:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/_7jFwLyH4So" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/02/11/utf-8-php-mysql/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/02/11/utf-8-php-mysql/</feedburner:origLink></item>
		<item>
		<title>Back to basics</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/1sMvaYCI5kM/</link>
		<comments>http://www.alex-hardy.co.uk/2008/02/04/back-to-basics/#comments</comments>
		<pubDate>Mon, 04 Feb 2008 23:24:25 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Design]]></category>

		<category><![CDATA[Development]]></category>

		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/2008/02/04/back-to-basics/</guid>
		<description><![CDATA[I started work on simpleContact 2.0 Pro tonight. That is, I started to sketch my ideas on paper. To decide what will make the cut for the first release. To start working on answers for the what ifs and formalise the database structure that&#8217;s 80% designed in my head. The key features will be:

Custom form [...]]]></description>
			<content:encoded><![CDATA[<p>I started work on simpleContact 2.0 Pro tonight. That is, I started to sketch my ideas on paper. To decide what will make the cut for the first release. To start working on answers for the <em>what ifs</em> and formalise the database structure that&#8217;s 80% designed in my head. The key features will be:</p>
<ul>
<li><strong>Custom form fields.</strong> My most requested feature, which was always planned.</li>
<li><strong>Double opt-in mailing list.</strong> Services like <a href="http://www.campaignmonitor.com" onclick="javascript:pageTracker._trackPageview('/www.campaignmonitor.com');">Campaign Monitor</a> insist on this.</li>
<li><strong>CSV export.</strong> This acts as a bridge to other software and services.</li>
<li><strong>Client-side validation.</strong> Powered by <a href="http://www.jquery.com" onclick="javascript:pageTracker._trackPageview('/www.jquery.com');">jQuery</a>, a nice-to-have that I want to add.</li>
<li><strong>Easy upgrade.</strong> simpleContact 1.2 users can migrate settings and data easily.</li>
</ul>
<p>I&#8217;ve gone back to good old fashioned paper because design comes first. I want to use my experience as a web designer to build an elegant solution to real needs. There will be no comparison tick list. I won&#8217;t add useless features for their own sake. I&#8217;ll be adding some over time however, that I&#8217;ve seen nowhere else&#8230;</p>
<p>I want to make something that&#8217;s remarkable because it makes a difficult thing easy. One user was kind enough to share that he&#8217;d tried seven other products without success before <a href="/downloads">simpleContact 1.2</a>. It is very rewarding to get feedback like that.</p>
<p>I&#8217;m not going to commit to a release date because of my schedule, but I&#8217;m going to aim for May/June. Version 2.0 Pro will cost $25, and the existing free version will remain, re-branded simpleContact Lite. Version 1.3 Lite will follow thereafter.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=1sMvaYCI5kM:b1o0Cb-TEug:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=1sMvaYCI5kM:b1o0Cb-TEug:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=1sMvaYCI5kM:b1o0Cb-TEug:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=1sMvaYCI5kM:b1o0Cb-TEug:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=1sMvaYCI5kM:b1o0Cb-TEug:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=1sMvaYCI5kM:b1o0Cb-TEug:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=1sMvaYCI5kM:b1o0Cb-TEug:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=1sMvaYCI5kM:b1o0Cb-TEug:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/1sMvaYCI5kM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/02/04/back-to-basics/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/02/04/back-to-basics/</feedburner:origLink></item>
		<item>
		<title>How does simpleContact deal with spam?</title>
		<link>http://feedproxy.google.com/~r/alex-hardy/downloads/~3/5-rt289fVRI/</link>
		<comments>http://www.alex-hardy.co.uk/2008/01/24/how-does-simplecontact-deal-with-spam/#comments</comments>
		<pubDate>Thu, 24 Jan 2008 12:47:46 +0000</pubDate>
		<dc:creator>Alex</dc:creator>
		
		<category><![CDATA[Downloads]]></category>

		<guid isPermaLink="false">http://www.alex-hardy.co.uk/2008/01/24/how-does-simplecontact-deal-with-spam/</guid>
		<description><![CDATA[This is a question I&#8217;m asked on a regular basis, so in lieu of a dedicated FAQs page I&#8217;ll answer it here. I do not use CAPTCHA filters (as a designer I find them ugly), but I&#8217;ll describe the security and anti-spam measures I have in place:
Recipient addresses in database
It&#8217;s not unusual for a developer [...]]]></description>
			<content:encoded><![CDATA[<p>This is a question I&#8217;m asked on a regular basis, so in lieu of a dedicated FAQs page I&#8217;ll answer it here. I do not use <a href="http://en.wikipedia.org/wiki/Captcha" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');" title="CAPTCHA - Wikipedia, the free encyclopedia">CAPTCHA</a> filters (as a designer I find them ugly), but I&#8217;ll describe the security and anti-spam measures I have in place:</p>
<h3>Recipient addresses in database</h3>
<p>It&#8217;s not unusual for a developer to add the recipient email address(es) to an HTML form as hidden fields. It is a simple matter for a spambot to uncover these addresses. I do not do that &#8211; your email addresses are safely stored in the MySQL database.</p>
<p>This also prevents spammers exploiting your website to send emails through your server by overriding the recipients on your contact form.</p>
<h3>Server-side validation</h3>
<p>Instead of client-side validation that can be bypassed easily by turning off JavaScript in your browser, simpleContact has server-side validation. Form submissions are checked for the following:</p>
<ul>
<li>Required fields are completed</li>
<li>Email addresses are valid</li>
<li>Character limits are not exceeded</li>
</ul>
<p>The last point is important. A field&#8217;s &#8220;maxlength&#8221; attribute can be deactivated by tools such as the <a href="http://chrispederick.com/work/web-developer" onclick="javascript:pageTracker._trackPageview('/chrispederick.com');">Firefox web developer toolbar</a> (a legitimate tool that I use myself).</p>
<p>One thing you notice about spammers though is that they tend to submit a lot of text &#8211; mostly nonsense. The character limits on fields are enforced in the server-side validation, where they can&#8217;t be bypassed. A spambot is likely to fail here.</p>
<h3>Escapes submissions to prevent SQL injection attacks</h3>
<p>This is more of a database security measure than an anti-spam thing. If submitted data is not processed for certain characters (e.g. &#8221; ) then a hacker could post SQL code through a form to either damage its database or expose data. Wikipedia has a more thorough description of <a href="http://en.wikipedia.org/wiki/SQL_injection" onclick="javascript:pageTracker._trackPageview('/en.wikipedia.org');">SQL injection attacks</a>.</p>
<p>Suffice it to say, my app is protected from this.</p>
<h3>Your password is stored as a salted hash</h3>
<p>Simply put, this means that even if your database was compromised, a hacker would not be able to retrieve usable passwords because they are encrypted (rather than stored as plain text).</p>
<p>At the end of the day, noone &#8211; not even Google &#8211; can honestly claim to have built a 100% spam-proof system. Since last May my WordPress comments form has had about 2,000 spam submissions (thankfully most of which were blocked by <a href="http://akismet.com" onclick="javascript:pageTracker._trackPageview('/akismet.com');" title="Stop Comment Spam and Trackback Spam &laquo; Akismet">Akismet</a>).</p>
<p>What I can tell you is that over that same period I have received <strong>one</strong> spam email through simpleContact. My clients have reported <strong>none at all</strong>.</p>
<p>I find that a tolerable amount <img src='http://www.alex-hardy.co.uk/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=5-rt289fVRI:APEQnS9Fb_E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=5-rt289fVRI:APEQnS9Fb_E:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=5-rt289fVRI:APEQnS9Fb_E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=5-rt289fVRI:APEQnS9Fb_E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=5-rt289fVRI:APEQnS9Fb_E:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=5-rt289fVRI:APEQnS9Fb_E:gIN9vFwOqvQ" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/alex-hardy/downloads?a=5-rt289fVRI:APEQnS9Fb_E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/alex-hardy/downloads?i=5-rt289fVRI:APEQnS9Fb_E:F7zBnMyn0Lo" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/alex-hardy/downloads/~4/5-rt289fVRI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.alex-hardy.co.uk/2008/01/24/how-does-simplecontact-deal-with-spam/feed/</wfw:commentRss>
		<feedburner:origLink>http://www.alex-hardy.co.uk/2008/01/24/how-does-simplecontact-deal-with-spam/</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 1.805 seconds --><!-- Cached page generated by WP-Super-Cache on 2009-11-12 16:42:37 -->
