<?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>DevGrow</title> <atom:link href="http://devgrow.com/feed/" rel="self" type="application/rss+xml" /><link>http://devgrow.com</link> <description>Tips on web development, web design and online marketing</description> <lastBuildDate>Thu, 29 Jul 2010 05:02:35 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.0</generator> <item><title>15 Awesome New WordPress Plugins</title><link>http://devgrow.com/15-awesome-new-wordpress-plugins/</link> <comments>http://devgrow.com/15-awesome-new-wordpress-plugins/#comments</comments> <pubDate>Wed, 28 Jul 2010 21:21:33 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[Resources]]></category> <category><![CDATA[list]]></category> <category><![CDATA[plugins]]></category> <category><![CDATA[top-15]]></category> <category><![CDATA[WordPress]]></category><guid isPermaLink="false">http://devgrow.com/?p=1587</guid> <description><![CDATA[The real beauty of WordPress is the immense community of developers behind it.  Several plugins are created and added to the <a href="http://wordpress.org/extend/plugins/">official plugin directory</a> every single day, which now catalogs nearly 10,500 in all!  Here is a list of some of the best new ones.<ul><li><a href="http://devgrow.com/sharebar-wordpress-plugin/" rel="bookmark">Sharebar WordPress Plugin</a></li><li><a href="http://devgrow.com/how-to-migrate-wordpress-blog-between-hosts/" rel="bookmark">How to Migrate Your WordPress Blog Between Hosting Providers</a></li><li><a href="http://devgrow.com/simple-threaded-comments-with-jcollapsible/" rel="bookmark">Simple Threaded Comments with jCollapsible (new jQuery Plugin)</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>The real beauty of WordPress is the immense community of developers behind it.  Several plugins are created and added to the <a href="http://wordpress.org/extend/plugins/">official plugin directory</a> every single day, which now catalogs nearly 10,500 in all!  It&#8217;s always interesting to check out the newest plugins on WordPress to see what people are up to, and these are among my favorites:<span id="more-1587"></span></p><div class="gray-line" style="clear:both;margin:10px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/atd-for-comments/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/atd-comments.gif" alt="" title="After the Deadline for Comments" width="100" height="100" class="alignleft size-full wp-image-1597" /></a></p><h4><a href="http://wordpress.org/extend/plugins/atd-for-comments/">After The Deadline For Comments</a> <small>by <a href="http://ottodestruct.com/">Otto</a></small></h4><p>If you&#8217;re not using it, I highly recommend the After the Deadline plugin, which provides contextual spell checking and grammar checking to your blog posts.  This plugin extends that functionality to comments (<a href="http://ottopress.com/wordpress-plugins/atd-for-comments/">demo</a>).</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://dukapress.org/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/dukapress.gif" alt="" title="DukaPress" width="100" height="100" class="alignleft size-full wp-image-1601" /></a></p><h4><a href="http://wordpress.org/extend/plugins/dukapress/">DukaPress</a> <small>by <a href="http://dukapress.org/">DukaPress.org</a></small></h4><p>DukaPress is open source software that can be used to build online shops quickly and easily. DukaPress is built on top of WordPress, a world class content management system. DukaPress is built to be both simple and elegant yet powerful and scalable.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/page-template-thumbnails/screenshots/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/page-template-thumbs.gif" alt="" title="Page Template Thumbnails" width="100" height="100" class="alignleft size-full wp-image-1603" /></a></p><h4><a href="http://wordpress.org/extend/plugins/page-template-thumbnails/screenshots/">Page Template Thumbnails</a> <small>by <a href="http://illumifi.net/">C. Tullos</a></small></h4><p>This plugin creates a thumbnail list of the available page templates.  Clicking a thumbnail updates the <code class="codecolorer text geshi"><span class="text">Page Attributes -&gt; Templates</span></code> drop down to the corresponding page template.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/basic-authentication/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/basic-authentication.gif" alt="" title="Basic Authentication" width="100" height="100" class="alignleft size-full wp-image-1599" /></a></p><h4><a href="http://wordpress.org/extend/plugins/basic-authentication/">Basic Authentication</a> <small>by <a href="http://www.cuvedev.net/">Klaas Cuvelier</a></small></h4><p>With this plugin, you can ask users to authenticate before they can see your WordPress site. You can either use the WordPress logins to authenticate, or a given password. This plugin can be useful when your website is still under construction or in beta.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/top-contributors/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/top-contributors.gif" alt="" title="Top Contributors" width="100" height="100" class="alignleft size-full wp-image-1606" /></a></p><h4><a href="http://wordpress.org/extend/plugins/top-contributors/">Top Contributors</a> <small>by <a href="http://justmyecho.com/">Robin Dalton</a></small></h4><p>Give your loyal visitors and contributors some recognition by adding a list of your top commenters to your blog.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/autotwitter/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/auto-tweet.gif" alt="" title="Auto Twitter" width="100" height="100" class="alignleft size-full wp-image-1598" /></a></p><h4><a href="http://wordpress.org/extend/plugins/autotwitter/">Auto Twitter</a> <small>by <a href="http://www.unrealmediallc.com/">Unreal Media</a></small></h4><p>Auto Twitter is a wordpress plugin that automatically tweets each new blog post to the twitter account you specify. There really isn&#8217;t anything more to it than that.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/wp-issuetracker/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/wp-issue.gif" alt="" title="WP Issue Tracker" width="100" height="100" class="alignleft size-full wp-image-1611" /></a></p><h4><a href="http://wordpress.org/extend/plugins/wp-issuetracker/">WP-IssueTracker</a> <small>by <a href="http://sakr.me/">Mahmoud Sakr</a></small></h4><p>WP-IssueTracker is a full (yet basic) issue tracking system powered by WordPress.  Currently WP-IT can operate one tracker per blog, however the back-end was designed to allow as many trackers as you might want. This will be targeted in a later release.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/wordpress3-invoice/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/wp-invoice.gif" alt="" title="WordPress 3 Invoices" width="100" height="100" class="alignleft size-full wp-image-1610" /></a></p><h4><a href="http://wordpress.org/extend/plugins/wordpress3-invoice/">WordPress 3 Invoices</a> <small>by <a href="http://www.elliotcondon.com/">Elliot Condon</a></small></h4><p>This plugin lets you generate great looking invoices directly from your WordPress admin panel.  Great for freelancers and web designers, definitely worth checking out!</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/wp-imagehost/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/wp-imagehost.gif" alt="" title="WP ImageHost" width="100" height="100" class="alignleft size-full wp-image-1612" /></a></p><h4><a href="http://wordpress.org/extend/plugins/wp-imagehost/">WP ImageHost</a> <small>by <a href="http://www.milchrausch.de/">Hauke Leweling</a></small></h4><p>The WordPress Plugin WP ImageHost is a simple and easy to configurable plugin to host your images inside your blogposts on a separate subdomain to reduce the number of requests.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/registration-login/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/register-login.gif" alt="" title="Register-Login" width="100" height="100" class="alignleft size-full wp-image-1604" /></a></p><h4><a href="http://wordpress.org/extend/plugins/registration-login/">Registration-Login</a> <small>by <a href="http://wordpress.org/extend/plugins/registration-login/">Md. Jamal Hossain Khan</a></small></h4><p>Add a JavaScript loaded widget to your WordPress theme so user can login, registers without leaving the current page.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/remove-wordpress-to-wordpress-filter/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/wordpress2.gif" alt="" title="Remove WordPress to WordPress filter" width="100" height="100" class="alignleft size-full wp-image-1607" /></a></p><h4><a href="http://wordpress.org/extend/plugins/remove-wordpress-to-wordpress-filter/">Remove WordPress to WordPress</a> <small>by <a href="http://tomlany.net/">Tom Lany</a></small></h4><p>WordPress introduced a new filter called <code class="codecolorer text geshi"><span class="text">capital_P_dangit</span></code> that changes all instances of WordPress to WordPress, <a href="http://justintadlock.com/archives/2010/07/08/lowercase-p-dangit">stirring controversy</a> in the WP community.  This plugin removes that filter.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/tabs-in-post-editor/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/tab.gif" alt="" title="Tabs in Post Editor" width="100" height="100" class="alignleft size-full wp-image-1605" /></a></p><h4><a href="http://wordpress.org/extend/plugins/tabs-in-post-editor/">Tabs in Post Editor</a> <small>by <a href="http://aahacreative.com/">Aaron Harun</a></small></h4><p>This simple plugin allows you to use the tab-key inside the post editor to indent code or paragraphs.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/index-press/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/wp-index.gif" alt="" title="Index Press" width="100" height="100" class="alignleft size-full wp-image-1609" /></a></p><h4><a href="http://wordpress.org/extend/plugins/index-press/">Index Press</a> <small>by <a href="http://wordpress.grandslambert.com/">GrandSlambert</a></small></h4><p>Provides a standard index of content in your site using a short code. Sorts results into alphabetical listings.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://wordpress.org/extend/plugins/wp-chat/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/wp-chat.gif" alt="" title="WP Chat" width="100" height="100" class="alignleft size-full wp-image-1608" /></a></p><h4><a href="http://wordpress.org/extend/plugins/wp-chat/">WP Chat</a> <small>by <a href="http://abhinavsingh.com/blog">Abhinav Singh</a></small></h4><p>WP Chat plugin embeds Jaxl IM (Instant Messenger for the web) for wordpress blogs. Jaxl IM is a hosted solution provided by Jaxl Inc. and requires no additional plugins from your site servers.</p><div class="gray-line" style="clear:both;margin:20px 0;background:#fff;"></div><p><a href="http://www.binarymoon.co.uk/projects/bm-shots-automated-screenshots-website/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bm-shots.gif" alt="" title="BM Shots" width="100" height="100" class="alignleft size-full wp-image-1600" /></a></p><h4><a href="http://www.binarymoon.co.uk/projects/bm-shots-automated-screenshots-website/">BM Shots</a> <small>by <a href="http://www.binarymoon.co.uk/">BinaryMoon</a></small></h4><p>So this one isn&#8217;t <em>that</em> new but very worthy of being in the list.  BM Shots is a plugin that makes use of WordPress.com mShots API for automatically creating screenshots of any website.</p><div class="gray-line" style="clear:both;margin:10px 0;background:#fff;"></div><h2>Conclusion</h2><p>I try to visit the new plugins section at least once a week to get an idea of what people are working on, the kinds of problems people are trying to solve and to see if there&#8217;s anything I can use on my own sites.  I&#8217;m always amazed at the sheer amount of creativity that people have when it comes to plugins, it&#8217;s often very entertaining to browse through.</p><h5>Have you started using a new plugin that you&#8217;ve fallen in love with?  Share it in the comments!</h5><p>And as always, be sure to subscribe to the <a href="http://feeds.feedburner.com/devgrow">RSS feed</a> and follow <a href="http://twitter.com/ThinkDevGrow">@ThinkDevGrow</a> on Twitter!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1587&type=feed" alt="" /><ul><li><a href="http://devgrow.com/sharebar-wordpress-plugin/" rel="bookmark">Sharebar WordPress Plugin</a></li><li><a href="http://devgrow.com/how-to-migrate-wordpress-blog-between-hosts/" rel="bookmark">How to Migrate Your WordPress Blog Between Hosting Providers</a></li><li><a href="http://devgrow.com/simple-threaded-comments-with-jcollapsible/" rel="bookmark">Simple Threaded Comments with jCollapsible (new jQuery Plugin)</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/15-awesome-new-wordpress-plugins/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>The Complete Guide to Creating Your First Website</title><link>http://devgrow.com/complete-guide-to-creating-your-first-website/</link> <comments>http://devgrow.com/complete-guide-to-creating-your-first-website/#comments</comments> <pubDate>Sun, 25 Jul 2010 02:45:15 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[beginners]]></category> <category><![CDATA[introduction]]></category> <category><![CDATA[programming]]></category> <category><![CDATA[web development]]></category> <category><![CDATA[websites]]></category><guid isPermaLink="false">http://devgrow.com/?p=1546</guid> <description><![CDATA[So one thing is clear: you want/need your own website.  But how do you go about making one?  Where do you even start?  Whether it's for your business, personal blog or any obscure reason, understanding how the web works and establishing an online presence is crucial in today's high-tech world.<ul><li><a href="http://devgrow.com/best-bet-css-practices/" rel="bookmark">Best Bet CSS Practices</a></li><li><a href="http://devgrow.com/simple-php-honey-pot/" rel="bookmark">Quick and Simple PHP Honey Pot Spam Prevention</a></li><li><a href="http://devgrow.com/simple-threaded-comments-with-jcollapsible/" rel="bookmark">Simple Threaded Comments with jCollapsible (new jQuery Plugin)</a></li></ul> ]]></description> <content:encoded><![CDATA[<p class="note">This article is aimed at the completely inexperienced, those who may have always wanted a website but do not yet understand what it takes to make one.</p><p>So one thing is clear: you want/need your own website.  But how do you go about making one?  Where do you even start?  Whether it&#8217;s for your business, personal blog or any obscure reason, understanding how the web works and establishing an online presence is crucial in today&#8217;s high-tech world.<span id="more-1546"></span></p><h2>Understanding the Web and How Websites Work</h2><p>According to Wikipedia, a website can be defined as a &#8220;collection of related web pages, images, videos or other digital assets that are addressed relative to a common Uniform Resource Locator (URL).&#8221;  Simply put, it&#8217;s a collection of internet-accessible files stored somewhere and identified by an URL/address.  Let&#8217;s take a look at some more definitions first:</p><ul><li><strong>HTML</strong> &#8211; HyperText Markup Language, the name of the syntax/code used to create web page files (usually ending in .html)</li><li><strong>Host</strong> &#8211; A host makes your files accessible on the web by storing your files on a server/computer and providing a persistent internet connection</li><li><strong>Web Server</strong> &#8211; The actual machine or piece of hardware where your files are stored (usually by your host)</li><li><strong>IP Address</strong> &#8211; The numerical address of your Web Server; All computers connected to the internet have an IP address, even yours</li><li><strong>Domain Name</strong> &#8211; The actual address of the website, ie www.mydomain.com</li><li><strong>Registrar</strong> &#8211; The company that has permission from <a href="http://www.icann.org/">ICANN</a> to sell domain names, like <a href="http://www.godaddy.com/">GoDaddy</a></li><li><strong>DNS</strong> &#8211; Domain Name Servers, used to connect a domain name to a host/server</li></ul><p>Now that we have a basic understand of the terms involved, let&#8217;s take a look at how they are connected.  A website is a collection of <strong>HTML</strong> files and digital assets (images, scripts, videos, etc.) stored on a <strong>web server</strong> (provided by a <strong>host</strong>) that makes it accessible by anyone via a persistent internet connection.  How do you find that website?  Using a <strong>domain name</strong>, which is the online address of your website.  The domain name is purchased from a domain <strong>registrar</strong> and before it can be used, it must point to the correct <strong>domain name servers</strong> that correctly directs traffic to your web server&#8217;s <strong>IP address</strong>.  It may sound a bit convoluted at first but thinking about it in simpler terms might help to better grasp the concept:<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/internet-diagram.gif" alt="" title="Diagram of How Website&#039;s Work" width="600" height="250" class="aligncenter size-full wp-image-1552" /><br /> In the above diagram, the green arrow represents the request you make when you enter a URL into your browser and the blue arrow represents the response sent back.  What&#8217;s important to note is that many hosts offer all of these services, so from one server you can get hosting (web server access) for your files and complete domain name setup.</p><h5>Further Reading:</h5><ol><li><a href="http://en.wikipedia.org/wiki/Website">Wikipedia Article on Websites</a></li><li><a href="http://www.howstuffworks.com/web-page.htm">HowStuffWorks: How Web Pages Work</a></li><li><a href="http://www.quackit.com/how-websites-work/">How Websites Work by Quackit</a></li></ol><h2>Creating Your First Website</h2><p>Now that you have an understanding of how websites work, it&#8217;s time to create your first web page.  The below steps will take you through the entire process, from picking a domain name to uploading your files.</p><h5>1. Picking the Right Host</h5><p><a href="http://mediatemple.net/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/mt.gif" alt="" title="Media Temple" width="100" height="100" class="alignright size-full wp-image-1560" /></a>This can be a bit complicated depending on your needs but for nearly all starters, a simple shared hosting plan is enough to host a basic website.  I suggest <a href="http://mediatemple.net/webhosting/gs/">Media Temple&#8217;s Grid Service</a> to most of my clients and <a href="http://devgrow.com/hostgator">Host Gator</a> to those feeling a little cheaper.  Both providers have been around for a long time and are fairly consistent in their services.</p><h5>2. Getting a Domain Name</h5><p><a href="http://www.godaddy.com/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/godadddy.gif" alt="" title="GoDaddy" width="100" height="100" class="alignright size-full wp-image-1559" /></a>There are many providers that offer domain names for a variety of prices.  In reality, they are all resellers for ICANN and whoever sells the most can usually offer the cheapest prices.  Personally I use <a href="http://www.godaddy.com/">GoDaddy</a> because they are one of the cheapest (use CHRIS3 coupon during checkout for $7.95 domains) but their website feels a bit spammy.  Throughout the entire purchasing process, they&#8217;ll suggest purchasing a million of their other services (including hosting) but I would personally advise against those.</p><h5>3. Configuring Your DNS</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/nameserver.gif" alt="" title="Configure DNS" width="100" height="100" class="alignright size-full wp-image-1561" />When you register for your domain name, you&#8217;re given the option to edit it&#8217;s DNS information.  If you skip this, you can find it (at least in GoDaddy) under Manage Domains by checking the relevant domain name and selecting Set Nameservers from the top menu.  Enter the addresses of the DNS servers your host provided when you signed up with them to let GoDaddy know where to send visitors when they enter your URL.</p><h5>4. Creating a Basic Web Page</h5><p>As I mentioned earlier, HTML provides the backbone for web pages.  In fact, you can right-click on any website and click View Source to see the HTML code that is powering the site.  While it may look daunting at first, HTML is not really that complex and can be learned within a few days with some patience.  On your desktop, create a blank file and call it <code class="codecolorer text geshi"><span class="text">index.html</span></code>, then enter the following HTML into it:</p><div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span><br /> <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;&lt;<a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span>My Website<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span><br /> <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br /> <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>Hello World<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span><br /> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span></div></td></tr></tbody></table></div><p>The above code will produce this, a simple white page with the words &#8216;Hello Word&#8217; written on it.  HTML is all about tags that must be opened and closed.  Every page should have a <code class="codecolorer html4strict geshi"><span class="html4strict">head</span></code> section with a proper <code class="codecolorer html4strict geshi"><span class="html4strict">title</span></code>, this is the text that is visible in the title bar of your browser.  The <code class="codecolorer html4strict geshi"><span class="html4strict">body</span></code> section is where any content you want shown on the website itself should go &#8211; in this example we have a simple paragraph (<code class="codecolorer html4strict geshi"><span class="html4strict"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span></span></code>) with that contains the &#8216;Hello World&#8217; statement.  Also note that each tag must be closed properly and in the correct order.</p><h5>5. Upload and Sit Back</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/upload.gif" alt="" title="Upload" width="100" height="100" class="alignright size-full wp-image-1562" />Now that you have your first web page ready, you need to get it online by uploading the file to your web server.  This is done using an FTP, or File Transfer Protocol, program like <a href="http://filezilla-project.org/">FileZilla</a> (OS-independent) or <a href="http://winscp.net/eng/index.php">WinSCP</a> (Windows only).  When you signed up for your host, you should have received an e-mail that contains an FTP address, usually <em>ftp.mydomain.com</em>, and some login credentials.  Start the FTP program, enter your credentials and transfer the <code class="codecolorer text geshi"><span class="text">index.html</span></code> file from your computer to the <em>public_html</em> folder (or sometimes www) on your web server.</p><h5>Congratulations! Your Website is Now Online</h5><p>If you have properly configured your host, purchased a domain name and set your DNS information, entering your URL into a browser should load up your Hello World page.</p><h2>Make it Better With Open Source Software</h2><p>The example above is too simple for any practical use and chances are, you want something that looks nice and has more functionality.  While I would definitely recommend learning as much about building websites as you can first, there are a few ways to get a nice website up very quickly and with limited knowledge.  Open source software makes this possible, there are literally hundreds of blogging platforms and content management systems that you can install to have a very complete website running in minutes.</p><p>Most of these scripts require the minimum of PHP and MySQL, both of are included in 99% of shared hosting services.  Create a database, upload the script and point your browser to the install file, the rest is taken care of automatically.  The best part is that open source software is completely free to use, so definitely check it out.</p><h5>A Few Open Source Options:</h5><ol><li><a href="http://wordpress.org/">WordPress Blogging Software</a></li><li><a href="http://www.phpbb.com/">phpBB Forum Software</a></li><li><a href="http://www.madebyfrog.com/">FrogCMS Content Management System</a></li></ol><h2>Conclusion</h2><p>This article is meant to be a very basic introduction into the very big world of web development.  It&#8217;s meant for my friends who have always expressed interest in creating a website but don&#8217;t have the time to invest in learning to make one.  Feedback is appreciated and comments are always welcome!</p><p>Also remember to <a href="http://feeds.feedburner.com/devgrow">subscribe to the RSS Feed</a> and follow <a href="http://twitter.com/ThinkDevGrow">@ThinkDevGrow</a> on Twitter!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1546&type=feed" alt="" /><ul><li><a href="http://devgrow.com/best-bet-css-practices/" rel="bookmark">Best Bet CSS Practices</a></li><li><a href="http://devgrow.com/simple-php-honey-pot/" rel="bookmark">Quick and Simple PHP Honey Pot Spam Prevention</a></li><li><a href="http://devgrow.com/simple-threaded-comments-with-jcollapsible/" rel="bookmark">Simple Threaded Comments with jCollapsible (new jQuery Plugin)</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/complete-guide-to-creating-your-first-website/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>How to Set Deadlines and Keep Them</title><link>http://devgrow.com/how-to-set-deadlines-and-keep-them/</link> <comments>http://devgrow.com/how-to-set-deadlines-and-keep-them/#comments</comments> <pubDate>Tue, 20 Jul 2010 23:37:49 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[deadlines]]></category> <category><![CDATA[productivity]]></category> <category><![CDATA[tips and tricks]]></category> <category><![CDATA[work ethic]]></category> <category><![CDATA[work habits]]></category><guid isPermaLink="false">http://devgrow.com/?p=1466</guid> <description><![CDATA[The freelancer&#8217;s worst fear: underestimating the scale of a project, setting the deadline too soon and having to deal with angry clients. This is a scenario most of us have faced and many still continue to face as a result, but what can you do to change that? Rules for Setting Realistic Deadlines Many web [...]<ul><li><a href="http://devgrow.com/mastering-css-floats/" rel="bookmark">Mastering CSS Floats</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>The freelancer&#8217;s worst fear: underestimating the scale of a project, setting the deadline too soon and having to deal with angry clients.  This is a scenario most of us have faced and many still continue to face as a result, <strong>but what can you do to change that?</strong><span id="more-1466"></span></p><div class="gray-line"></div><h3>Rules for Setting Realistic Deadlines</h3><p>Many web designers and developers tend to make a key mistake when setting deadlines: they underestimate the amount of time or work involved.  The trick is to keep things as realistic as possible, and to consider all factors that may slow your workflow down, including:</p><ul><li>Lack of interest in the project</li><li>Unexpected client demands (or the dreaded infinite revision syndrome [IDS])</li><li>Personal or side projects that take up too much time</li><li>Prior engagements, family issues or illness</li></ul><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-1.5.jpg" alt="" title="The 1.5 Rule" width="600" height="120" class="aligncenter size-full wp-image-1489" /></p><p>As a rule of thumb I usually multiply the amount of time I think it will take me to complete a project by 1.5 &#8211; this provides some cushion for whatever inevitable hurdles you&#8217;re bound to face.  For example, if you think a project will take 2 weeks to complete, give your client an estimate of 3 weeks instead (2 x 1.5).  Or if it will probably take 1 month, give yourself 1.5 months to complete.  As long as your client is okay with it, you have nothing to lose by setting an extended deadline &#8211; it is in no way cheating the client of their time.  If you finish in the original time frame, the client walks away happy as they&#8217;ve received their work early.</p><p>The 1.5 rule is probably a bit too much for long term projects (anything over 6 months), however the point to take home is that you should always give yourself some cushioning time.</p><div class="gray-line"></div><h3>Maintaining Your Schedule</h3><p>If you&#8217;re a full-time freelancer working from home, maintaining your schedule and meeting deadlines can be a very difficult task.  There are endless distractions when working at home, everything from family to the freedom of being able to work as you please can become an issue.  Here are some techniques to deal with keeping to your schedule in these circumstances:</p><h5>1. Separate Work and Play</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-work-play.jpg" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />Keep your work and leisure activities separate &#8211; and yes, that means no TV while doing client work.  If at all possible, try to isolate yourself from distractions during work hours.  Whether it&#8217;s in your room, the office or even the basement, find a place where you won&#8217;t be disturbed and you can devote all of your attention to the task at hand.  Avoid working for long stretches at a time and take breaks often, it can help to keep your mind fresh and reduce the chances of burning out.  There are also a lot of <a href="http://devgrow.com/tools-to-help-you-focus-and-increase-productivity/">tools to help you focus and increase productivity</a> that are worth checking out.</p><h5>2. Set Tasks and Milestones</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-calendar.jpg" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />While you may only have one official deadline for your client, set multiple milestones (mini-deadlines) along the way to make sure you are keeping pace with your schedule.  Milestones can be small tasks and in my opinion, the more frequently you set them the better, as they quantify your work in a very visual way.  Usually I set 2-3 milestones a week, each with multiple tasks that are required to complete that specific milestone.  I also have a To-do list that I try to keep updated on a daily basis that helps me reach these milestones.</p><h5>3. Communicate with Your Client on a Regular Basis</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-communicate.jpg" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />Keep in constant contact with your client.  Update them about completed tasks and milestones, touch base with them about the overall progress or just e-mail them to learn more about the project you&#8217;re working on.  All of this will help you maintain your schedule and, more importantly, keep your interest/focus on the project itself.  One drawback of freelancing on the web is that we tend to dehumanize the people we work with &#8211; opening a clear channel of communication can help rid of this feeling and make you feel personally responsible for the success (or failure) of their project.</p><h5>4. Use Project Management Apps and Other Productivity Tools</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-manage.gif" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />There are a ton of great online tools you can use to help manage your freelance business.  Take a look at the list of <a href="http://devgrow.com/20-tools-to-help-run-your-freelancing-business/">20 web apps that I recommend for freelancing</a> &#8211; in it you&#8217;ll find apps to help you manage your project, handle invoicing and deal with customer care.  The more organized your workflow is, the more efficient you become and as a result, the more likely you are to keep your deadlines.</p><h5>5. Learn to Say &#8220;No&#8221;</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-no.gif" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />You know your own skills and capabilities &#8211; do not take on more than you can handle at once.  Too many projects at once means sub-par work and missed deadlines, two things that can make a project even longer and more painstakingly difficult (revision after revision, etc.).  Keep things simple and learn to say &#8220;no&#8221; to clients when you have enough work to keep you busy without overwhelming yourself.</p><div class="gray-line"></div><h3>How to Handle a Missed Deadline</h3><p>When you&#8217;re in the business of freelancing, you&#8217;re bound to miss a deadline or two (hopefully not more).  In most cases this usually isn&#8217;t too big of a deal, however you should always take the following steps in case you do miss a deadline:</p><h5>1. Immediately Notify the Client</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-alert.gif" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />Give them an honest excuse/reason as to why you&#8217;re late and how you&#8217;re going to solve this problem.  Provide them with a new deadline, what you plan to do in this new time frame and why you won&#8217;t miss it.  This may sound like too much but dealing with the situation professionally can turn a bad situation into a good one.  An apology now may help get you a client referral later, so always try to maintain courtesy and provide the best customer service you possibly can.</p><h5>2. Identify the Problem</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-identify.gif" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />Figure out what you did wrong and how you&#8217;re going resolve it.  Did you miss the deadline because of personal issues?  Was the client too demanding or did they change their requirements half-way through?  Find out what went wrong and create a plan of action on how to fix it.</p><h5>3. Prevent Future Mishaps</h5><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/deadlines-prevent.gif" alt="" width="100" height="100" class="alignright size-full wp-image-1500" />Learn from your mistakes and try to prevent them from happening in the future.  This is a bit more common sense than anything else, however many people find themselves making the same mistakes and missing deadline after deadline.  If you find yourself in that loop, make a conscious effort to identify and fix the problems, then learn how to avoid them in the future.</p><div class="divider" style="margin-bottom:15px;"></div><h3>Conclusion</h3><p>Meeting deadlines shouldn&#8217;t be a burden, rather it should be a consequence of good work ethics and proper project management.  Give yourself enough time, don&#8217;t take on more than you can handle and organize yourself &#8211; these are the keys to making deadlines and ultimately keeping clients happy.</p><p><strong>Parting Questions:</strong></p><ul><li>Have you missed a deadline recently?</li><li>Did you do anything to correct the situation?</li><li>What could/should you have done differently?</li></ul><p>Post your suggestions and feedback in the comments.  And as always, please consider <a href="http://feeds.feedburner.com/devgrow">subscribing to the RSS feed</a> and <a href="http://twitter.com/ThinkDevGrow">following us on Twitter</a>.</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1466&type=feed" alt="" /><ul><li><a href="http://devgrow.com/mastering-css-floats/" rel="bookmark">Mastering CSS Floats</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/how-to-set-deadlines-and-keep-them/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>How to Create Realistic Buttons in Photoshop</title><link>http://devgrow.com/realistic-buttons-in-photoshop/</link> <comments>http://devgrow.com/realistic-buttons-in-photoshop/#comments</comments> <pubDate>Sun, 18 Jul 2010 00:22:07 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[adobe]]></category> <category><![CDATA[buttons]]></category> <category><![CDATA[design]]></category> <category><![CDATA[photoshop]]></category> <category><![CDATA[web design]]></category><guid isPermaLink="false">http://devgrow.com/?p=1426</guid> <description><![CDATA[This is the first of a series of tutorials aimed at teaching you how to create realistic interface elements that you can use on your websites or in mobile applications. The buttons created in this article are simple and easy to customize, changing the value of a single layer effect can change the color of [...]<ul><li><a href="http://devgrow.com/super-simple-css-buttons/" rel="bookmark">Super Simple CSS Buttons</a></li><li><a href="http://devgrow.com/iphone-style-switches/" rel="bookmark">iPhone Style Radio and Checkbox Switches using jQuery and CSS</a></li><li><a href="http://devgrow.com/slick-animated-menus-using-only-css3/" rel="bookmark">Slick Animated Menus Using Only CSS3</a></li></ul> ]]></description> <content:encoded><![CDATA[<p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/all-buttons.jpg" alt="" title="all-buttons" width="600" height="150" class="alignright size-full wp-image-1448" /><br /> This is the first of a series of tutorials aimed at teaching you how to create realistic interface elements that you can use on your websites or in mobile applications.  The buttons created in this article are simple and easy to customize, changing the value of a single layer effect can change the color of the entire button.<span id="more-1426"></span></p><h3><span>Step 1</span> Prepare the Canvas</h3><p>Create a new Photoshop document about 600px wide and 300px high, that should give us plenty of space to work in.  Fill the background with a light grey color (I used #eeeeee) and apply the Noise filter (Filter -> Noise -> Add Noise) with the following settings:<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/noise.jpg" alt="" title="noise" width="600" height="150" class="aligncenter size-full wp-image-1444" /></p><h3><span>Step 2</span> Create the Base Shape</h3><p>Create a white rounded rectangle (hot key: U) with a radius of 3px and with Anti-alias turned on.  I made mine 150px by 40px but any size will do.  Make sure the button itself is white (<code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#FFFFFF</span></span></code>) as that will help when it comes to applying effects in the next step.<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/blank-button.jpg" alt="" title="blank-button" width="600" height="100" class="aligncenter size-full wp-image-1438" /></p><h3><span>Step 3</span> Apply Layer Effects</h3><p>This step is really where the button gets it&#8217;s 3D feel from.  We&#8217;ll be applying a number of layer effects:<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/drop-shadoiw.jpg" alt="" title="drop-shadoiw" width="600" height="250" class="aligncenter size-full wp-image-1440" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/inner-glow.jpg" alt="" title="inner-glow" width="600" height="250" class="aligncenter size-full wp-image-1442" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bevel-emboss.jpg" alt="" title="bevel-emboss" width="600" height="400" class="aligncenter size-full wp-image-1437" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/color-overlay.jpg" alt="" title="color-overlay" width="600" height="250" class="aligncenter size-full wp-image-1439" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/gradient-overlay.jpg" alt="" title="gradient-overlay" width="600" height="250" class="aligncenter size-full wp-image-1441" /><br /> To summarize, we are applying:</p><ol><li><strong>Drop Shadow</strong> &#8211; <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#000000</span></span></code>, Normal blend mode, 15% Opacity, Angle: 120, Distance: 2, Spread: 0, Size: 2</li><li><strong>Inner Shadow</strong> &#8211; <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#FFFFFF</span></span></code>, Multiply blend mode, 30% Opacity, Angle: 120, Distance: 2, Spread: 0, Size: 2</li><li><strong>Inner Glow</strong> &#8211; <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#000000</span></span></code>, Normal blend mode, 40% Opacity, Choke: 100%, Size: 1</li><li><strong>Bevel and Emboss</strong> &#8211; Style: Inner Bevel, Direction: Up, SIze: 2, Soften: 2, Angle: 120, Altitude: 30, Anti-aliased, Highlight Mode: Hard Mix, Highlight Color: <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#FFFFFF</span></span></code>, Highlight Opacity: 50%, Shadow Mode: Multiply, Shadow Color: <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#000000</span></span></code>, Shadow Opacity: 35%</li><li><strong>Color Overlay</strong> &#8211; Mode: Linear Burn, Color: <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#b6f27a</span></span></code> (you could use another light color instead)</li><li><strong>Gradient Overlay</strong> &#8211; Blend mode: Luminosity, Opacity: 25%, Gradient: Black to white (left to right)</li></ol><p>The above settings should produce a 3D-looking button effect.  Applying both gradient and color overlays allows us to easily change the color of the button &#8211; simply change the color overlay until you&#8217;re satisfied with the color of the button.</p><h3><span>Step 4</span> Add Text</h3><p>Depending on whether or not you chose a light or dark color overlay, your text will have to be either black or white.  For light backgrounds use black and for dark backgrounds, use black text color.  I used the <strong>Gotham Bold</strong> font with uppercase letters.  I cranked the layer fill opacity down to 75% and applied the <strong>Bevel and Emboss</strong> style with the following settings:<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/letter-effects.jpg" alt="" title="letter-effects" width="600" height="450" class="aligncenter size-full wp-image-1443" /></p><h3><span>Step 5</span> Create Hover and Active States</h3><p>To create the hover state, I simply change the <strong>Color Overlay</strong> value to something a little lighter and punchier &#8211; in this case <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#ccff84</span></span></code>.  As for the active state, I change a few settings on both the text and the button itself.</p><h5>Active Button:</h5><p>The button itself has the gradient and bevel reversed, a different color overlay and a inner shadow among other things.  The exact values are:</p><ol><li><strong>Drop Shadow</strong> &#8211; <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#FFFFFF</span></span></code>, 50% Opacity, Distance: 2, Size: 2</li><li><strong>Inner Shadow</strong> &#8211; <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#000000</span></span></code>, 30% Opacity, Angle: -60, Distance: 2, Size: 2</li><li><strong>Inner Glow</strong> &#8211; Same as default and hover states</li><li><strong>Bevel and Emboss</strong> &#8211; Change Direction from Up to Down, Change Highlight Opacity to 25%</li><li><strong>Color Overlay</strong> &#8211; I set mine to <code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#7ab91f</span></span></code></li><li><strong>Gradient Overlay</strong> &#8211; Reverse gradient and set to 45% Opacity</li></ol><p>Here are the same settings in Photoshop:<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-drop-shadow.jpg" alt="" title="active-drop-shadow" width="600" height="350" class="aligncenter size-full wp-image-1432" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-inner-shadow.jpg" alt="" title="active-inner-shadow" width="600" height="350" class="aligncenter size-full wp-image-1435" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-inner-glow.jpg" alt="" title="active-inner-glow" width="600" height="400" class="aligncenter size-full wp-image-1434" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-bevel.jpg" alt="" title="active-bevel" width="600" height="400" class="aligncenter size-full wp-image-1430" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-color-overlay.jpg" alt="" title="active-color-overlay" width="600" height="300" class="alignright size-full wp-image-1431" /><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-gradient.jpg" alt="" title="active-gradient" width="600" height="300" class="alignright size-full wp-image-1433" /></p><h5>Active Text:</h5><p>For the text, I changed the color to white (<code class="codecolorer css geshi"><span class="css"><span style="color: #cc00cc;">#FFFFFF</span></span></code>) and lowered it&#8217;s fill opacity to 85%.  I also moved the actual text down by a pixel, which gives it the feeling of being pressed.  Lastly, I applied a Bevel and Emboss layer effect with the following settings:<br /> <img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/active-text.jpg" alt="" title="active-text" width="600" height="400" class="alignright size-full wp-image-1436" /></p><h3><span>Final Results</span></h3><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/all-buttons.jpg" alt="" title="all-buttons" width="600" height="150" class="alignright size-full wp-image-1448" /><br /> As you can see, I also made some darker colored buttons.  For the text on those, I used the same settings as the Active state of the lighter buttons, with the only difference being the Fill Opacity was turned up to 90% instead of 85%.</p><h3><span>Download</span></h3><p>The complete PSD is available under the <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons License</a>, feel free to download and share as you please:<br /><center><a href="http://devgrow.com/examples/buttons.zip" class="download-button">Download PSD (zip)</a></center></p><h3><span>Conclusion</span></h3><p>This is my first real Photoshop tutorial.  Were the screenshots helpful?  Did I cover everything needed to reproduce the desired effect?  As always, feedback is highly appreciated.</p><p>Also, <a href="http://feeds.feedburner.com/devgrow">subscribe to the RSS feed</a> and <a href="http://twitter.com/ThinkDevGrow">follow us on Twitter</a> if you&#8217;re not already, there&#8217;s going to be a giveaway soon you don&#8217;t want to miss!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1426&type=feed" alt="" /><ul><li><a href="http://devgrow.com/super-simple-css-buttons/" rel="bookmark">Super Simple CSS Buttons</a></li><li><a href="http://devgrow.com/iphone-style-switches/" rel="bookmark">iPhone Style Radio and Checkbox Switches using jQuery and CSS</a></li><li><a href="http://devgrow.com/slick-animated-menus-using-only-css3/" rel="bookmark">Slick Animated Menus Using Only CSS3</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/realistic-buttons-in-photoshop/feed/</wfw:commentRss> <slash:comments>3</slash:comments> </item> <item><title>Improving the BBC News Redesign</title><link>http://devgrow.com/bbc-redesign/</link> <comments>http://devgrow.com/bbc-redesign/#comments</comments> <pubDate>Thu, 15 Jul 2010 01:21:39 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[bbc redesign design web-design usability]]></category><guid isPermaLink="false">http://devgrow.com/?p=1391</guid> <description><![CDATA[If you haven&#8217;t been to the BBC News page lately, check it out! They&#8217;ve completely revamped the site, changing the header, typography and element positioning among other things. While I like the changes overall, I would have done a few things slightly differently to make the site more user friendly. The Header The overall layout [...]No related posts. ]]></description> <content:encoded><![CDATA[<p>If you haven&#8217;t been to the <a href="http://www.bbc.co.uk/news/">BBC News</a> page lately, check it out!  They&#8217;ve completely revamped the site, changing the header, typography and element positioning among other things.  While I like the changes overall, I would have done a few things slightly differently to make the site more user friendly.<span id="more-1391"></span></p><h2>The Header</h2><p>The overall layout of the header is perfect &#8211; I have only a few minor color and typographical tweaks that I think would enhance the user experience.</p><h5>Current:</h5><p><a href="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-current-header.jpg"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-current-header-small.jpg" alt="" title="BBC Current Header" width="600" height="77" class="aligncenter size-full wp-image-1395" /></a></p><h5>My Version:</h5><p><a href="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-my-header.jpg"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-my-header-small.jpg" alt="" title="BBC My Header" width="600" height="77" class="aligncenter size-full wp-image-1395" /></a></p><h3>Differences</h3><p>Most of my changes for the site take place here &#8211; I reduced the overall height of the header by about 10 pixels, removed some of the padding around the top navigation bar and grouped all the top links together.  The font size of the current date and last updated timestamp were increased, and I also changed the color of the main navigation bar &#8211; lighter background helps add a bit of contrast and slightly improves readability when it comes to fonts that small.  I also added a slight border radius to most of the square shapes (3px), just to make it feel a little smoother.</p><h2>The Main Homepage</h2><p>Like the header, most of the content is placed pretty well &#8211; my only gripe was with each featured element stacked on top of one another.</p><h5>Current:</h5><p><a href="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-current.jpg"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-current-small.jpg" alt="" title="Current BBC News" width="600" class="aligncenter size-full wp-image-1395" /></a></p><h5>My Version:</h5><p><a href="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc.jpg"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-small.jpg" alt="" title="BBC News (my version)" width="600" class="aligncenter size-full wp-image-1395" /></a></p><h3>Differences</h3><p>I didn&#8217;t do much here, really, just added bullet icons to make the lists more noticeable and placed the &#8216;Also in the news&#8217; and &#8216;Sports&#8217; sections next to each other.  This last move allowed an additional story and link to both sections without changing the overall height of the page.</p><h2>Article Page</h2><p>Like the main homepage, the article page feels like it could use a little tweaking in terms of content placement.  The first thing I noticed about the layout was the huge gutter to the right of the content &#8211; while I&#8217;m not sure why they chose to have it, I left it as is in my redesign.</p><h5>Current:</h5><p><a href="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-current-page.jpg"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-current-page-small.jpg" alt="" title="BBC Current Article Page" width="600" class="aligncenter size-full wp-image-1395" /></a></p><h5>My Version:</h5><p><a href="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-page.jpg"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/bbc-page-small.jpg" alt="" title="BBC Article Page (my version)" width="600" class="aligncenter size-full wp-image-1395" /></a></p><h3>Differences</h3><p>The only real changes are in the footer of the article &#8211; instead of having a ton of stacked elements, I widened the entire section and made two columns instead.  It just feels like a waste of space otherwise and forces the reader to scroll heavily to find related information.  The column setup also puts more focus on the Google ads, possibly increasing conversions/click-throughs (would take some A/B testing to confirm).</p><h2>Conclusion</h2><p>This was just a bit of a design exercise for me, taking a popular homepage and trying to come up with changes that could help improve usability and overall user experience.  My suggestions are far from perfect and I&#8217;m sure the BBC staff has excellent reasons for each of their design choices, so take my suggestions lightly.</p><p>Please post feedback on my version and the actual site &#8211; are my changes completely unnecessary?  Do you have any suggestions of your own?  If you&#8217;re in the mood, try making a mockup of your own and post it in the <a href="http://devgrow.com/discuss/forum/design">forum</a>!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1391&type=feed" alt="" /><p>No related posts.</p> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/bbc-redesign/feed/</wfw:commentRss> <slash:comments>2</slash:comments> </item> <item><title>Quick and Simple PHP Honey Pot Spam Prevention</title><link>http://devgrow.com/simple-php-honey-pot/</link> <comments>http://devgrow.com/simple-php-honey-pot/#comments</comments> <pubDate>Sat, 10 Jul 2010 22:20:11 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[contact form]]></category> <category><![CDATA[honey pot]]></category> <category><![CDATA[php]]></category> <category><![CDATA[programming]]></category><guid isPermaLink="false">http://devgrow.com/?p=1369</guid> <description><![CDATA[A honey pot trap involves creating a form with an extra field that is hidden to human visitors but readable by robots.  The robot fills out the invisible field and submits the form, leaving you to simply ignore their spammy submission or blacklist their IP.  It's a very simple concept that can be implemented in a few minutes and it just works - add them to your contact and submission forms to help reduce spam.<ul><li><a href="http://devgrow.com/simple-threaded-comments-with-jcollapsible/" rel="bookmark">Simple Threaded Comments with jCollapsible (new jQuery Plugin)</a></li><li><a href="http://devgrow.com/best-bet-css-practices/" rel="bookmark">Best Bet CSS Practices</a></li><li><a href="http://devgrow.com/complete-guide-to-creating-your-first-website/" rel="bookmark">The Complete Guide to Creating Your First Website</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>This technique has been floating around the web for the past few weeks so it&#8217;s definitely worth sharing here.  Using standard HTML, CSS and a little PHP, you can filter out a lot of robots and spammers that crawl the web for unsuspecting forms.  Credit to <a href="http://www.aaronjamesyoung.com/">Aaron James Young</a> for reminding me about this technique (he posted a similar snippet on <a href="http://forrst.com/">Forrst</a>).</p><p>A honey pot trap involves creating a form with an extra field that is hidden to human visitors but readable by robots.  The robot fills out the invisible field and submits the form, leaving you to simply ignore their spammy submission or blacklist their IP.  It&#8217;s a very simple concept that can be implemented in a few minutes and it just works &#8211; add them to your contact and submission forms to help reduce spam.  I&#8217;ve used them extensively in my last few projects, I&#8217;ve found it to be well worth the small time investment.</p><h2>Contact Form Example</h2><p>Here is an example of a simple contact form that uses the honey pot spam prevention method:<br /><center><a href="http://devgrow.com/examples/honeypot/" class="download-button view">View Example</a><a href="http://devgrow.com/examples/honeypot/honeypot.zip" class="download-button" style="margin-left:20px;">Download Source</a></center></p><h3>The HTML:</h3><div class="codecolorer-container html4strict blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br /></div></td><td><div class="html4strict codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/form.html"><span style="color: #000000; font-weight: bold;">form</span></a> <span style="color: #000066;">method</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;post&quot;</span> <span style="color: #000066;">action</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;&quot;</span>&gt;</span><br /> &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/fieldset.html"><span style="color: #000000; font-weight: bold;">fieldset</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/legend.html"><span style="color: #000000; font-weight: bold;">legend</span></a>&gt;</span>Contact Me<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/legend.html"><span style="color: #000000; font-weight: bold;">legend</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span>Name:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">input</span></a> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;name&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;name&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span>E-mail:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">input</span></a> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;email&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span>Message:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/textarea.html"><span style="color: #000000; font-weight: bold;">textarea</span></a> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;message&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;message&quot;</span>&gt;&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/textarea.html"><span style="color: #000000; font-weight: bold;">textarea</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #808080; font-style: italic;">&lt;!-- The following field is for robots only, invisible to humans: --&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;robotic&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;pot&quot;</span>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span>If you're human leave this blank:<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/label.html"><span style="color: #000000; font-weight: bold;">label</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">input</span></a> <span style="color: #000066;">name</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;robotest&quot;</span> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text&quot;</span> <span style="color: #000066;">id</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;robotest&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;robotest&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/input.html"><span style="color: #000000; font-weight: bold;">input</span></a> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #000066;">value</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;Send Message&quot;</span> <span style="color: #000066;">class</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;submit&quot;</span> <span style="color: #66cc66;">/</span>&gt;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span><br /> &nbsp; &nbsp; <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/fieldset.html"><span style="color: #000000; font-weight: bold;">fieldset</span></a>&gt;</span><br /> <span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/form.html"><span style="color: #000000; font-weight: bold;">form</span></a>&gt;</span></div></td></tr></tbody></table></div><h3>The PHP:</h3><div class="codecolorer-container php blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br /></div></td><td><div class="php codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #000000; font-weight: bold;">&lt;?php</span><br /> &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$_POST</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$to</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'your-email-here@gmail.com'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$subject</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'Contact Form Submission'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$from_name</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'name'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$from_email</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'email'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$message</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'message'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$robotest</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$_POST</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'robotest'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$robotest</span><span style="color: #009900;">&#41;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;You are a gutless robot.&quot;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$from_name</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$from_email</span> <span style="color: #339933;">&amp;&amp;</span> <span style="color: #000088;">$message</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$header</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;From: <span style="color: #006699; font-weight: bold;">$from_name</span> &lt;<span style="color: #006699; font-weight: bold;">$from_email</span>&gt;&quot;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><a href="http://www.php.net/mail"><span style="color: #990000;">mail</span></a><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span><span style="color: #339933;">,</span> <span style="color: #000088;">$message</span><span style="color: #339933;">,</span> <span style="color: #000088;">$header</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$success</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;You are human and your message was sent!&quot;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">else</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;You are human but there was a problem sending the e-mail.&quot;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><span style="color: #b1b100;">else</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000088;">$error</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;All fields are required.&quot;</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$error</span><span style="color: #009900;">&#41;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;div class=&quot;msg error&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$error</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/div&gt;'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">elseif</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$success</span><span style="color: #009900;">&#41;</span><br /> &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #b1b100;">echo</span> <span style="color: #0000ff;">'&lt;div class=&quot;msg success&quot;&gt;'</span><span style="color: #339933;">.</span><span style="color: #000088;">$success</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'&lt;/div&gt;'</span><span style="color: #339933;">;</span><br /> &nbsp; &nbsp; <span style="color: #009900;">&#125;</span><br /> <span style="color: #000000; font-weight: bold;">?&gt;</span></div></td></tr></tbody></table></div><h3>The CSS:</h3><div class="codecolorer-container css blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="css codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; &nbsp; <span style="color: #6666ff;">.robotic</span> <span style="color: #00AA00;">&#123;</span> <span style="color: #000000; font-weight: bold;">display</span><span style="color: #00AA00;">:</span> <span style="color: #993333;">none</span><span style="color: #00AA00;">;</span> <span style="color: #00AA00;">&#125;</span></div></td></tr></tbody></table></div><p>In the above example link, I added some optional CSS to make it look a little nicer.  Also, you&#8217;ll notice the actual e-mail form doesn&#8217;t work, as the to e-mail address is a fake one.  The contact form part is just to illustrate the honey pot, the important thing to notice is that the last text field is hidden using CSS (the entire paragraph) and that if text is entered in the field, the entire form fails.</p><h2>Conclusion</h2><p>This concept is certainly not my own and in fact, there is even an entire project dedicated to catching spammers using dummy forms and blacklisting their IP addresses (rightfully called <a href="http://www.projecthoneypot.org/">Project Honey Pot</a>).  Again thanks to <a href="http://www.aaronjamesyoung.com/">Aaron</a> for reminding me about this technique, I&#8217;ve been meaning to do a write up on it for a while now.  This post is also thanks to <a href="http://forrst.com/">Forrst</a>, I&#8217;m quite pleasantly surprised at the amount of interesting information I&#8217;m finding there.</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1369&type=feed" alt="" /><ul><li><a href="http://devgrow.com/simple-threaded-comments-with-jcollapsible/" rel="bookmark">Simple Threaded Comments with jCollapsible (new jQuery Plugin)</a></li><li><a href="http://devgrow.com/best-bet-css-practices/" rel="bookmark">Best Bet CSS Practices</a></li><li><a href="http://devgrow.com/complete-guide-to-creating-your-first-website/" rel="bookmark">The Complete Guide to Creating Your First Website</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/simple-php-honey-pot/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>DevGrow 2.0 &#8211; New Design, New Features</title><link>http://devgrow.com/devgrow-2-0-new-design-new-features/</link> <comments>http://devgrow.com/devgrow-2-0-new-design-new-features/#comments</comments> <pubDate>Thu, 08 Jul 2010 00:27:28 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[devgrow]]></category> <category><![CDATA[discussions]]></category> <category><![CDATA[forum]]></category> <category><![CDATA[Inspiration]]></category> <category><![CDATA[updates]]></category><guid isPermaLink="false">http://devgrow.com/?p=1337</guid> <description><![CDATA[If you&#8217;ve been to the site at all in the last day or two, you have probably noticed the fairly drastic design changes. I&#8217;ve spent the better part of 2 weeks redesigning the site and adding several new features, including a discussion forum and an inspiration gallery (website showcase). For all of you RSS readers, [...]<ul><li><a href="http://devgrow.com/from-zero-to-blogger-in-3-months-a-look-back/" rel="bookmark">From Zero to Blogger in 3 Months: A Look Back</a></li><li><a href="http://devgrow.com/the-rebirth/" rel="bookmark">The Rebirth</a></li><li><a href="http://devgrow.com/all-plugins-moved-to-github/" rel="bookmark">All Plugins Moved to Github</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>If you&#8217;ve been to the site at all in the last day or two, you have probably noticed the fairly drastic design changes.  I&#8217;ve spent the better part of 2 weeks redesigning the site and adding several new features, including a <a href="http://devgrow.com/discuss">discussion forum</a> and an <a href="http://devgrow.com/gallery">inspiration gallery</a> (website showcase).<span id="more-1337"></span> For all of you RSS readers, be sure to check out the actual site to see the changes &#8211; I&#8217;m quite proud of the design and think (hope) you&#8217;ll like it too!</p><h3>Design Changes</h3><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/devgrow2.0-header.gif" alt="" title="DevGrow Header" width="600" height="120" class="aligncenter size-full wp-image-1345" /><br /> There are several new design changes to the site, most of them carried out to improve usability and make your overall experience more pleasant.  One of the first things you&#8217;ll notice is the new header &#8211; I tried to keep it as simple as possible while still providing the necessary navigational links.  I&#8217;ve also moved the RSS and social links to the header, so hopefully that will entice you to <a href="http://feeds.feedburner.com/devgrow">subscribe to the feed</a> and <a href="http://twitter.com/thinkdevgrow">follow me on Twitter</a> if you&#8217;re not doing so already.  In the previous design, the About, Advertise, Archives and Contact links were at the very bottom of the page and thus received almost zero traffic &#8211; I&#8217;ve now moved that to the very top of the page, along with a register and login link for the really cool people who actually <a href="http://devgrow.com/discuss/register.php">join the site</a> (it&#8217;s free and only takes a second).</p><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/devgrow2.0-body.gif" alt="" title="DevGrow Content" width="600" height="320" class="aligncenter size-full wp-image-1345" /><br /> I&#8217;ve also changed the way the main content is displayed in an attempt to improve readability and keep the primary focus on content.  Font sizes are bigger, line-heights are higher and just for you, my dear readers, I went through all of the posts to change the syntax highlighter code to support <a href="http://kpumuk.info/projects/wordpress-plugins/codecolorer/">CodeColorer</a>, my new syntax highlighter of choice.  I went with the dark/vibrant color scheme &#8211; let me know if that works well for you guys or if you prefer something lighter (GeSHi?).  I also finally got around to adding an author info box at the end of the post, something that&#8217;s been long overdue.</p><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/devgrow2.0-footer.gif" alt="" title="DevGrow Footer" width="600" height="150" class="aligncenter size-full wp-image-1345" /><br /> Lastly, you&#8217;ll notice a brand-spankin&#8217; new footer, complete with a Facebook fan box, RSS e-mail subscription form and a mini-sitemap.  There is also a huge button that says, &#8216;Write for us&#8217; in big bold letters &#8211; please, please consider <a href="http://devgrow.com/contribute">contributing</a> to DevGrow if you have the time for it.</p><h3>Introducing DevGrow Discussions</h3><p>As I mentioned in my first blog post here, DevGrow initially started out as a community for entrepreneurs and investors, a place where they could discuss topics and connect with each other. After two years, I still have an itch to build a community for entrepreneurial developers, web designers and bloggers. DevGrow Discussions is meant to be just that &#8211; a place where knowledge and experiences can be shared with the community.</p><p><a href="http://devgrow.com/discuss"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/devgrow2.0-forums.gif" alt="" title="DevGrow Discussions" width="600" height="120" class="aligncenter size-full wp-image-1345" /></a><br /> I&#8217;ve limited the forums themselves to cover broad topics: <a href="http://devgrow.com/discuss/forum/design">Web Design</a>, <a href="http://devgrow.com/discuss/forum/programming">Programming</a>, <a href="http://devgrow.com/discuss/forum/marketing">Marketing</a> and <a href="http://devgrow.com/discuss/forum/general">General Discussions</a>.  The main site and the forum (running bbPress) are fully integrated, so you only have to register once on the site to comment on articles or post in the forums.  Check them out and let me know what you guys think!</p><h3>Inspiration Gallery</h3><p><a href="http://devgrow.com/gallery"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/07/devgrow2.0-gallery.gif" alt="" title="Inspiration Gallery" width="600" height="120" class="aligncenter size-full wp-image-1345" /></a><br /> The last new feature is a <a href="http://devgrow.com/gallery">website showcase gallery</a>, where you&#8217;ll find incredibly designed websites and apps.  I have plans to expand on this section so it&#8217;s a bit minimal right now, however you can still comment and rate each gallery entry (thumbs up icon next to the title).  Feel free to <a href="http://devgrow.com/gallery-submit">submit your own site</a> to the gallery if you&#8217;d like.</p><h3>Articles: The Past, Present and Future</h3><p>I have been pleasantly surprised at the reception of my <a href="http://devgrow.com/tag/plugins">WordPress and JQuery plugins</a> &#8211; it is humbling to see many others benefit directly from your work.  I&#8217;m working on fixing all issues and bugs on all of them as they are reported, but please keep in mind that I am just one person, so it may take a few days (or weeks) to patch and update.</p><p>Redesigning this site has required a lot of work and effort, specifically in creating custom hacks/plugins for WordPress and bbPress to get the results I wanted.  That said, I want to make life easier for anyone else attempting to make something similar so I&#8217;ll be writing a series of posts on how I put this site together, covering:</p><ul><li>A Smarter WordPress-bbPress Integration</li><li>Caching individual parts of your blog (reduce load, reuse outside of blog)</li><li>WordPress Custom Post Types the right way</li></ul><h3>Participation and Feedback</h3><p>DevGrow is a community resource.  It depends on active user participation and contribution to work &#8211; this is the fuel to my fire and the reason I am able to keep writing.  There are several ways to participate, including:</p><ul><li><a href="http://devgrow.com/contribute">Submitting an Article</a></li><li>Posting in the <a href="http://devgrow.com/discuss">forums</a></li><li>Submitting in the <a href="http://devgrow.com/gallery">Inspiration Gallery</a></li><li>Commenting, Subscribing to the <a href="http://feeds.feedburner.com/devgrow">RSS feed</a> and Following <a href="http://twitter.com/thinkdevgrow">ThinkDevGrow</a> on Twitter</li></ul><p>As always, I would love to hear you feedback and thoughts on the redesign, new features or DevGrow in general.  Do your best (or worst) and thanks for you support!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1337&type=feed" alt="" /><ul><li><a href="http://devgrow.com/from-zero-to-blogger-in-3-months-a-look-back/" rel="bookmark">From Zero to Blogger in 3 Months: A Look Back</a></li><li><a href="http://devgrow.com/the-rebirth/" rel="bookmark">The Rebirth</a></li><li><a href="http://devgrow.com/all-plugins-moved-to-github/" rel="bookmark">All Plugins Moved to Github</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/devgrow-2-0-new-design-new-features/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Quick SEO Tip 2: Submit Your Sitemap</title><link>http://devgrow.com/quick-seo-tip-2-submit-your-sitemap/</link> <comments>http://devgrow.com/quick-seo-tip-2-submit-your-sitemap/#comments</comments> <pubDate>Tue, 29 Jun 2010 17:31:54 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[quick seo tips]]></category> <category><![CDATA[seo]]></category> <category><![CDATA[seo tips]]></category> <category><![CDATA[sitemap]]></category><guid isPermaLink="false">http://devgrow.com/?p=1106</guid> <description><![CDATA[A sitemap is an index of pages and content found on your website. If you don&#8217;t have a sitemap yet, make one now using free sitemap generators or plugins. If you do have one, submit it to the big search engines to make sure your website is correctly indexed and ranked. Creating a Sitemap A [...]<ul><li><a href="http://devgrow.com/quick-seo-tip-set-preferred-domain-in-google-webmaster-tools/" rel="bookmark">Quick SEO Tip: Set Preferred Domain in Google Webmaster Tools</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>A sitemap is an index of pages and content found on your website.  If you don&#8217;t have a sitemap yet, make one now using free sitemap generators or plugins.  If you do have one, submit it to the big search engines to make sure your website is correctly indexed and ranked.<span id="more-1106"></span></p><h2>Creating a Sitemap</h2><p>A sitemap is simply a listing of all the important pages of your website.  It&#8217;s a directory that can be easily and quickly understood by both search engines and visitors who may be lost.  Your sitemap can be a simple page on your website that lists all of the inner pages, but ideally you should use an XML sitemap, as it is preferred by most search engines.  The structure of your XML sitemap is simple:</p><div class="codecolorer-container xml blackboard" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;width:435px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br /></div></td><td><div class="xml codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap"><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;?xml</span> <span style="color: #000066;">version</span>=<span style="color: #ff0000;">&quot;1.0&quot;</span> <span style="color: #000066;">encoding</span>=<span style="color: #ff0000;">&quot;UTF-8&quot;</span><span style="color: #000000; font-weight: bold;">?&gt;</span></span><br /> &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;urlset</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">&quot;http://www.sitemaps.org/schemas/sitemap/0.9&quot;</span><span style="color: #000000; font-weight: bold;">&gt;</span></span><br /> &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;loc<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://devgrow.com/sharebar-wordpress-plugin/<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/loc<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lastmod<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2010-06-16<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lastmod<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;changefreq<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>yearly<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/changefreq<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;priority<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0.8<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/priority<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;loc<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>http://devgrow.com/articles/<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/loc<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;lastmod<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>2010-06-01<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/lastmod<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;changefreq<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>weekly<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/changefreq<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;priority<span style="color: #000000; font-weight: bold;">&gt;</span></span></span>0.5<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/priority<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp; &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/url<span style="color: #000000; font-weight: bold;">&gt;</span></span></span><br /> &nbsp;<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/urlset<span style="color: #000000; font-weight: bold;">&gt;</span></span></span></div></td></tr></tbody></table></div><p>The above example indexes two pages from my site, a blog post and the main article homepage.  Obviously this method can be time consuming if you have a lot of pages, and this is the perfect reason to use services like <a href="http://www.makeasitemap.com/">MakeASitemap.com</a> or the <a href="http://www.xml-sitemaps.com/">XML Sitemap Generator</a> to automatically index your site.  If you&#8217;re running WordPress, I highly recommend the <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps plugin</a>, which automates sitemap creation for you blog.  If you&#8217;ve manually created the file, save it in the root of your site.</p><h2>Submitting Your Sitemap</h2><p>After you&#8217;ve created your sitemap, submitting it to search engines is a great way to help them identify which pages on your site are worth crawling, how frequently they should be crawled and their overall search priority.  A good sitemap can help bring traffic to your site by essentially providing search engines with a guideline to correctly index and rank your pages.</p><p><strong>Places to submit your XML sitemap:</strong></p><ul><li><a href="http://google.com/webmasters/">Google Webmaster Tools</a></li><li><a href="http://siteexplorer.search.yahoo.com/">Yahoo! Site Explorer</a></li><li><a href="http://www.bing.com/webmaster">Bing Webmaster Tools</a></li></ul><p>You will have to login and verify you own the site in order to submit a sitemap, however it&#8217;s well worth the time.</p><h2>Conclusion</h2><p>If you haven&#8217;t submitted your sitemap, do so to help search engines better index and rank your pages.  If you&#8217;re using WordPress, be sure to check out that <a href="http://www.arnebrachhold.de/redir/sitemap-home/">Google XML Sitemaps plugin</a>, it can make life a heck of a lot easier.</p><p>If you have any other SEO tips, please leave them in the comments.  And as always, <a href="http://feeds.feedburner.com/devgrow">subscribe to the RSS feed</a> if you haven&#8217;t already and <a href="http://twitter.com/ThinkDevGrow">follow us on Twitter</a>!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1106&type=feed" alt="" /><ul><li><a href="http://devgrow.com/quick-seo-tip-set-preferred-domain-in-google-webmaster-tools/" rel="bookmark">Quick SEO Tip: Set Preferred Domain in Google Webmaster Tools</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/quick-seo-tip-2-submit-your-sitemap/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Scalability for Web Designers</title><link>http://devgrow.com/scalability-for-web-designers/</link> <comments>http://devgrow.com/scalability-for-web-designers/#comments</comments> <pubDate>Mon, 21 Jun 2010 16:23:00 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[General]]></category> <category><![CDATA[growth]]></category> <category><![CDATA[scalability]]></category> <category><![CDATA[social networks]]></category> <category><![CDATA[web design]]></category><guid isPermaLink="false">http://devgrow.com/?p=1227</guid> <description><![CDATA[A scalable website is one that can handle growth with grace and dignity. Adobe refers to scalability as &#8220;a Web server&#8217;s ability to maintain a site&#8217;s availability, reliability, and performance as the amount of simultaneous Web traffic, or load, hitting the Web server increases.&#8221; While the bulk of the work is developmental and server-side, web [...]<ul><li><a href="http://devgrow.com/web-designers-not-everyone-uses-a-mac/" rel="bookmark">Web Designers: Not Everyone Uses A Mac</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>A scalable website is one that can handle growth with grace and dignity. Adobe refers to scalability as  &#8220;a Web server&#8217;s ability to maintain a site&#8217;s availability, reliability, and performance as the amount of simultaneous Web traffic, or load, hitting the Web server increases.&#8221;  While the bulk of the work is developmental and server-side, web designers can also take steps to ensure your website is capable of handling growth.<span id="more-1227"></span></p><h2>Principles of Scalable Web Design</h2><p>Often times people refer to scalability as how well a website can handle huge surges of traffic, akin to the Slashdot/Digg/Reddit-effect or being featured on TechCrunch.  While being able to serve the website without overwhelming the server is a feat in itself, a truly scalable website should be one that maximizes usability and user conversions.</p><p>Planning ahead is really the key to scalability &#8211; try to understand what difficulties a user may face and how you can minimize them.  There will also surely be unforeseeable challenges as you experience rapid growth, but a little preparation can go a long way.  A few best practices for creating a scalable design include:</p><h4>1. Modularity</h4><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/modular.gif" alt="" title="Modularity" width="100" height="100" class="alignright size-full wp-image-1233" />As your userbase increases, so too will demands of new features and functionality.  You can prepare for this by coding your website modularly &#8211; this means using little to no inline CSS or Javascript (link to files instead) and breaking apart the website itself into different files (header, footer, sidebar, etc.) and calling them from your pages.  The goal of creating a modular design is to be able to quickly and efficiently update the design if needed, and it&#8217;s much easier to edit one file rather than dozens.</p><h4>2. Maximum Coverage</h4><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/coverage.gif" alt="" title="Maximum Coverage" width="100" height="100" class="alignright size-full wp-image-1233" />Just like poor cell phone coverage, a user is likely to leave your site immediately (and increase bounce rates) if they find it difficult to view or incompatible with their limited technology.  I&#8217;ve mentioned this in <a href="http://devgrow.com/web-designers-not-everyone-uses-a-mac/">previous articles</a> but browser/OS/resolution compatability are vital to successful growth of a website.  While you can argue that old technology is just that &#8211; old and obsolete, there are still many corporate companies that use IE6 as their primary browsers.  Small or big, all websites should be accessible to their visitors.  This is not to say you should design for every browser and resolution to have ever existed, try to understand the market you&#8217;re targeting and build accordingly to that.</p><h4>3. Convincing Call to Action</h4><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/calltoaction.gif" alt="" title="Call to Action" width="100" height="100" class="alignright size-full wp-image-1233" />With any surge of traffic comes an opportunity to convert temporary visitors into users &#8211; try to get your visitors to participate by commenting, register or at least subscribing to an RSS feed.  Make sure your design has some kind of call to action, be it a button asking to sign up for a free trial or a simple RSS e-mail subscription form.  Most people have relatively short attention spans and much more so online, don&#8217;t make your visitors look for what to do, put it in plain site with a large typeface to help convert them to repeat users (<a href="http://visualwebsiteoptimizer.com/">split testing</a> can work wonders here).</p><h4>4. Reason to Come Back</h4><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/content.gif" alt="" title="Reason to Come Back" width="100" height="100" class="alignright size-full wp-image-1233" />Give your users a convincing reason to keep coming back to your website.  The key here is really the constant addition of content, be it from you or your visitors.  If you don&#8217;t have one, consider adding a blog to keep your users in the loop, or provide some means for your users to contribute content themselves, which increases participation and reduces workload for you.  Having a pleasant user experience (via an intelligent UI design) can also help to increase user retention, so <a href="http://devgrow.com/design-etiquette-101/">make your design as painless as possible</a> for your users.</p><h4>5. Leverage Social Networks</h4><p><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/social.gif" alt="" title="Leverage Social Networks" width="100" height="100" class="alignright size-full wp-image-1233" />I&#8217;ve previously outlined several <a href="http://devgrow.com/12-ways-to-market-your-website-for-free/">methods to market websites for free</a> and I&#8217;ll repeat one of my suggestions here again: take advantage of the proliferation or social networking sites.  Try adding social sharing buttons to strategic locations in your layout (or use something like <a href="http://devgrow.com/sharebar-wordpress-plugin/">Sharebar</a>) so users are able to spread your content in a viral nature.</p><h2>Conclusion</h2><p>It doesn&#8217;t have to be difficult or painful to create a scalable website, and the bulk of the work really involves having a strategic plan of action before even building it.  As a web designers, there are several things you can do to make sure your website handles rapid growth with grace and is able to convert new visitors into lasting contributors.   Do you have any other tips for creating a scalable design?  If so, leave them in the comments.</p><p>And as always, please consider <a href="http://feeds.feedburner.com/devgrow">subscribing to the RSS feed</a> and <a href="http://twitter.com/ThinkDevGrow">following us on Twitter</a> if you haven&#8217;t already.</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1227&type=feed" alt="" /><ul><li><a href="http://devgrow.com/web-designers-not-everyone-uses-a-mac/" rel="bookmark">Web Designers: Not Everyone Uses A Mac</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/scalability-for-web-designers/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Top 5 Web-Based Screencasting Apps</title><link>http://devgrow.com/top-5-web-based-screencasting-apps/</link> <comments>http://devgrow.com/top-5-web-based-screencasting-apps/#comments</comments> <pubDate>Tue, 15 Jun 2010 18:26:09 +0000</pubDate> <dc:creator>Monji</dc:creator> <category><![CDATA[Resources]]></category> <category><![CDATA[apps]]></category> <category><![CDATA[productivity]]></category> <category><![CDATA[screencast]]></category><guid isPermaLink="false">http://devgrow.com/?p=1188</guid> <description><![CDATA[While working on my latest project, a custom WordPress theme framework, I came across the need to record screencast tutorials that go over the features of my app. Using a web-based app means you don&#8217;t have to download bulky files (usually just a small Java plugin), and you can use it on whatever operating system [...]<ul><li><a href="http://devgrow.com/20-tools-to-help-run-your-freelancing-business/" rel="bookmark">20 Web-based Tools to Help Run Your Freelancing Business</a></li><li><a href="http://devgrow.com/tools-to-help-you-focus-and-increase-productivity/" rel="bookmark">Tools to Help You Focus and Increase Productivity</a></li></ul> ]]></description> <content:encoded><![CDATA[<p>While working on my latest project, a custom WordPress theme framework, I came across the need to record screencast tutorials that go over the features of my app.  Using a web-based app means you don&#8217;t have to download bulky files (usually just a small Java plugin), and you can use it on whatever operating system you&#8217;re working on.  This was key for me, as I would need to record videos on both my Windows XP desktop and my Macbook Pro.<span id="more-1188"></span></p><p>The following is a compilation of the top 5 free, web-based screencasting apps available right now:</p><div class="gray-line"></div><h3>1. <a href="http://www.screencast-o-matic.com/">Screencast-O-Matic</a></h3><p><a href="http://www.screencast-o-matic.com/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/screencast-o-matic.gif" alt="" title="Screencast-O-Matic" width="150" height="150" class="alignright wp-image-1196" style="margin-top:-35px;" /></a>Screencast-O-Matic offers a free and paid service, with the free service allowing you to record watermarked videos of 15 mins in length (or 10 mins if exporting to YouTube).  The paid service has a one-time $5 fee, bumps record time to 1 hour and removes the pesky watermark (not a bad deal!).</p><div class="gray-line"></div><h3>2. <a href="http://www.screentoaster.com/">Screentoaster</a></h3><p><a href="http://www.screentoaster.com/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/screentoaster.gif" alt="" title="Screentoaster" width="150" height="150" class="alignright size-full wp-image-1196" style="margin-top:-35px;" /></a>Screentoaster is another 1-click recording service that is completely free and provides the user registration so you can access/manage your screencasts from any computer.  I found their new capture tool fantastic &#8211; it worked fast and effectively, plus the preset size options were very convenient.</p><div class="gray-line"></div><h3>3. <a href="http://screencastle.com/">ScreenCastle</a></h3><p><a href="http://screencastle.com/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/screencastle.gif" alt="" title="ScreenCastle" width="150" height="150" class="alignright wp-image-1196" style="margin-top:-35px;" /></a>This one is dead-simple &#8211; on the homepage you&#8217;re greeted with a giant red button that, when clicked, loads the Java applet to record any portion of your screen.  Once you&#8217;re done recording, the video is uploaded to their servers and you&#8217;re given an array of links, including one to view the video and another to the FLV file (in case you need to download it).  There are no user accounts or paid plans, this app follows the KISS principle to the T.</p><div class="gray-line"></div><h3>4. <a href="http://www.screenjelly.com/">ScreenJelly</a></h3><p><a href="http://screenjelly.com/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/screenjelly.gif" alt="" title="ScreenJelly" width="150" height="150" class="alignright wp-image-1196" style="margin-top:-35px;" /></a>ScreenJelly is another 1-click service that also gives you the option to create an account and manage all of your recordings.  Once you&#8217;ve recorded a video, you can easily share it on Twitter or Facebook for maximum exposure.  This service is pretty useful for quick recordings, however there is a 3-minute time limit.</p><div class="gray-line"></div><h3>5. <a href="http://screenr.com/">Screenr</a></h3><p><a href="http://screenr.com/"><img src="http://cdn.devgrow.com/wp-content/uploads/2010/06/screenr.gif" alt="" title="Screenr" width="150" height="150" class="alignright wp-image-1196" style="margin-top:-35px;" /></a>This one is probably my favorite of the bunch, not because of it&#8217;s feature set or recording, but rather the complete experience it provides. Screenr makes it easy and more importantly worthwhile to share your screencasts using Twitter, leveraging your own network of friends for maximum exposure.</p><p>The recording tool is great, the commenting system (via Twitter) is awesome and overall the site feels trendy and complete.  The public stream is also fun to browse and actually has screencasts you may just find interesting.  My only gripe with this otherwise excellent service is their 5-min limit.</p><div class="gray-line"></div><h3>Conclusion</h3><p>If you need to record a screencast, try out one of the above services &#8211; they&#8217;re often just as good (in terms of quality) as a downloadable application and remove one step from the video tutorial process: uploading.  Most allow you to manage your videos from a central location and at least a couple have great sharing features to get your videos some immediate exposure.</p><p>If you found this article useful, please consider subscribing to the <a href="http://feeds.feedburner.com/devgrow">DevGrow RSS feed</a> or <a href="http://twitter.com/ThinkDevGrow">follow us on Twitter</a>!</p> <img src="http://devgrow.com/?ak_action=api_record_view&id=1188&type=feed" alt="" /><ul><li><a href="http://devgrow.com/20-tools-to-help-run-your-freelancing-business/" rel="bookmark">20 Web-based Tools to Help Run Your Freelancing Business</a></li><li><a href="http://devgrow.com/tools-to-help-you-focus-and-increase-productivity/" rel="bookmark">Tools to Help You Focus and Increase Productivity</a></li></ul> ]]></content:encoded> <wfw:commentRss>http://devgrow.com/top-5-web-based-screencasting-apps/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using xcache
Page Caching using disk
Database Caching 46/207 queries in 0.176 seconds using xcache
Object Caching 3876/3993 objects using xcache
Content Delivery Network via media1.devgrow.com

Served from: devgrow.com @ 2010-07-29 21:51:20 -->