<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0"><channel><title>Build Internet!</title> <link>http://buildinternet.com</link> <description>Web Design, Development, and Business</description> <lastBuildDate>Fri, 12 Mar 2010 03:12:32 +0000</lastBuildDate> <generator>http://wordpress.org/?v=2.9.2</generator> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/buildinternet" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="buildinternet" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">buildinternet</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><item><title>How to Map Custom Server File Extensions</title><link>http://buildinternet.com/2010/03/how-to-map-custom-server-file-extensions/</link> <comments>http://buildinternet.com/2010/03/how-to-map-custom-server-file-extensions/#comments</comments> <pubDate>Fri, 12 Mar 2010 03:12:32 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Apache]]></category> <category><![CDATA[htaccess]]></category> <category><![CDATA[Modifications]]></category> <category><![CDATA[Server]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8470</guid> <description><![CDATA[
Server administration is a rarely discussed topic here on Build Internet, but today&#8217;s tutorial is a quick and easy modification that may prove useful to some. At the very least, it will save you from a &#8220;How did they do this?!&#8221; Google search someday.
This post also comes with a preface. While this may be a [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/11/scaling-servers-with-the-cloud-amazon-cloudfront/' rel='bookmark' title='Permanent Link: Scaling Servers with the Cloud: Amazon CloudFront'>Scaling Servers with the Cloud: Amazon CloudFront</a> <small> This is the second of two articles focused on...</small></li><li><a
href='http://buildinternet.com/2009/05/how-to-set-up-a-local-phpmysql-development-sandbox-for-windows-and-os-x/' rel='bookmark' title='Permanent Link: How to Set Up a Local PHP/MySQL Development Sandbox for Windows and OS X'>How to Set Up a Local PHP/MySQL Development Sandbox for Windows and OS X</a> <small> Editor&#8217;s Note: This is the first guest tutorial that...</small></li><li><a
href='http://buildinternet.com/2009/11/scaling-servers-with-the-cloud-amazon-s3/' rel='bookmark' title='Permanent Link: Scaling Servers with the Cloud: Amazon S3'>Scaling Servers with the Cloud: Amazon S3</a> <small> This is the first of two articles focused on...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/gyjRpD72za6ZJzfMQMgHVLTa1iU/0/da"><img src="http://feedads.g.doubleclick.net/~a/gyjRpD72za6ZJzfMQMgHVLTa1iU/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/gyjRpD72za6ZJzfMQMgHVLTa1iU/1/da"><img src="http://feedads.g.doubleclick.net/~a/gyjRpD72za6ZJzfMQMgHVLTa1iU/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8470"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>Server administration is a rarely discussed topic here on Build Internet, but today&#8217;s tutorial is a quick and easy modification that may prove useful to some. At the very least, it will save you from a &#8220;How did they do this?!&#8221; Google search someday.</p><p>This post also comes with a preface. While this may be a neat trick, it&#8217;s not something that should be done without a good reason. This could very well be a case of decorating instead of designing. With that in mind, let&#8217;s learn something to impress your (tech savvy) friends.</p><h3>A Custom Example in Naming</h3><p>Take a minute to load the URL below in a new window. The page content is irrelevant. What&#8217;s important is that the page is a custom (.OMR) extension running the PHP MIME type. Bonus points for anyone who got the acronym.</p><p><a
title="It's a brand new file type" href="http://buildinternet.com/live/custom-files/index.omr">http://buildinternet.com/live/custom-files/index.omr</a></p><p>What&#8217;s going on? I&#8217;ve edited our server&#8217;s configuration file to handle the new OMR type as a PHP file. I&#8217;ve also set up the OMR extension to take priority over all other file types when loading a default index page. This process is remarkably simple.</p><p><em>This tutorial is intended for servers running <a
title="The Apache HTTP Server" href="http://en.wikipedia.org/wiki/Apache_HTTP_Server">Apache configurations</a>. Statistically, this will include most of you.</em></p><h3>Reinventing the File Type</h3><p>File extension names are little more than letter combinations. Their real meaning comes from generally accepted standards. A file with JPG extension is expected to be an image, and programs will default accordingly. These are  the. But these definitions can be changed.</p><p>Think of it like a vanity license plate for files. Certain sites, like the financial management site Mint, use custom extensions (<em>e.g</em>. index.mint) as an added layer of security on their pages. By obscuring the coding languages and systems used, they are adding one extra step to getting through server security. The majority of us aren&#8217;t running bank-level operations though.</p><p>Online file formats are specified using something called <a
title="Internet Content Types" href="http://en.wikipedia.org/wiki/Internet_media_type">MIME types</a>. A file&#8217;s MIME type controls how it is to be handled by servers, clients, etc. Many types come predefined (e.g. JPG, HTML), but we&#8217;re also able to add in new ones. In the same way that both HTM and HTML represent the same MIME type, we can <strong>tell the server to treat a custom file extension like an existing definition</strong>. A file extension of XYZ could then become another name for PHP documents.</p><h3>Declare a New File Type</h3><p>The code for this is surprisingly short and sweet. Keep in mind that the # symbol represents a commented line, and is not actually part of the required code. This block can be copied directly into either of the two methods outlined in the next section, and does not require any special prefacing to work.</p><div
class="wp_syntax"><div
class="code"><pre class="apache" style="font-family:monospace;"><span style="color: #adadad; font-style: italic;"># Add extension OMR to PHP type definition</span>
<span style="color: #00007f;">AddType</span> application/x-httpd-php .omr
<span style="color: #adadad; font-style: italic;"># Sets index.omr into default page stack</span>
<span style="color: #00007f;">DirectoryIndex</span> index.omr index.php index.htm index.html</pre></div></div><h3>Putting it in Action</h3><p>You can put append this code to either of the files outlined below. <strong>I recommend setting up an isolated directory locally using MAMP/WAMP in order to keep from potentially damaging global settings.</strong> Keep in mind that the modified htaccess file will only affect the directory it is in, and makes damage control much simpler.</p><h4>.htaccess</h4><p>Create an .htaccess file in the root directory and append. The difference between htaccess and httpd.conf is how the file is accessed. The htaccess route is better for controlling specific directories or fixes to the Apache setup. The downside is that since the htaccess file is called for each page load, it can add extra load to the server.</p><p>To get a better understanding of how .htaccess files affects server directories, take a look at the <a
title="How directives are applied in htaccess" href="http://httpd.apache.org/docs/1.3/howto/htaccess.html#how">excerpt from the Apache documentation</a>:</p><blockquote><p>The configuration directives found in a <code>.htaccess</code> file are applied to the directory in which the <code>.htaccess</code> file is found, and to all subdirectories thereof. However, it is important to also remember that there may have been <code>.htaccess</code> files  in directories higher up. Directives are applied in the order that they are found.</p></blockquote><h4>httpd.conf</h4><p>According to the <a
title="About htaccess files" href="http://httpd.apache.org/docs/1.3/howto/htaccess.html">official Apache documentation</a>, best practice dictates that the majority of directives should be made through the configuration files, and <em>not</em> htaccess wherever possible. The definitions found in httpd.conf are loaded when the server starts instead of on individual access, which may offer a slight difference in resources required. <strong>Keep in mind that any edits made to the .conf file will not take affect until the server has been restarted</strong>.</p><p>The process for editing your server&#8217;s httpd.conf file will vary based on hosting provider. This blog is hosted on a dedicated virtual server on MediaTemple, where the recommendation is to edit vhost.conf file in place of the main httpd.conf file. Refer to your hosting provider&#8217;s support documents for more. If you are unable to edit this configuration directly, the htaccess file may be the next best alternative.</p><h3>Use in Moderation</h3><p>You now have the tools and directions needed to create new file extensions on an Apache server. <strong>I strongly recommend against making changes for the hell of it</strong>. While this may be a nice trick, the average website probably doesn&#8217;t need a creative mix of new filenames (e.g. <a
title="There may be a good reason for this" href="http://arstechnica.com/">Ars Technica</a> and .ars files) to suddenly show up. Arbitrarily applying this to your site would cause a considerable amount of confusion among search engines, users, and server configuration. Conventions exist for a reason.</p><p>Have you seen custom file extensions used effectively? Are you a server genius with some considerations to add to the discussion? Please share in the comments below.</p><h4>Further Reading</h4><p>Interested in finding out more about what Apache and htaccess modifications can do for your site? I&#8217;ve included a few links below to continue the research.</p><ol><li><a
title="MIME Types" href="http://en.wikipedia.org/wiki/Internet_media_type">Internet Media Types</a> on Wikipedia</li><li><a
title="Editing httpd on Mediatemple" href="http://kb.mediatemple.net/questions/246/%28dv%29+HOWTO:+Basic+Apache+performance+tuning+%28httpd%29">Tutorial on editing httpd.conf</a> for MediaTemple</li><li><a
title="A guide to htaccess" href="http://www.thejackol.com/htaccess-cheatsheet/">The htaccess Cheat Sheet</a></li></ol><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/11/scaling-servers-with-the-cloud-amazon-cloudfront/' rel='bookmark' title='Permanent Link: Scaling Servers with the Cloud: Amazon CloudFront'>Scaling Servers with the Cloud: Amazon CloudFront</a> <small> This is the second of two articles focused on...</small></li><li><a
href='http://buildinternet.com/2009/05/how-to-set-up-a-local-phpmysql-development-sandbox-for-windows-and-os-x/' rel='bookmark' title='Permanent Link: How to Set Up a Local PHP/MySQL Development Sandbox for Windows and OS X'>How to Set Up a Local PHP/MySQL Development Sandbox for Windows and OS X</a> <small> Editor&#8217;s Note: This is the first guest tutorial that...</small></li><li><a
href='http://buildinternet.com/2009/11/scaling-servers-with-the-cloud-amazon-s3/' rel='bookmark' title='Permanent Link: Scaling Servers with the Cloud: Amazon S3'>Scaling Servers with the Cloud: Amazon S3</a> <small> This is the first of two articles focused on...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=EblkiO0Dp-w:SedhXXMOP-A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=EblkiO0Dp-w:SedhXXMOP-A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=EblkiO0Dp-w:SedhXXMOP-A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=EblkiO0Dp-w:SedhXXMOP-A:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=EblkiO0Dp-w:SedhXXMOP-A:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=EblkiO0Dp-w:SedhXXMOP-A:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=EblkiO0Dp-w:SedhXXMOP-A:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=EblkiO0Dp-w:SedhXXMOP-A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=EblkiO0Dp-w:SedhXXMOP-A:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=EblkiO0Dp-w:SedhXXMOP-A:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/EblkiO0Dp-w" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/03/how-to-map-custom-server-file-extensions/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>Color Scheme Inspiration – Spring</title><link>http://buildinternet.com/2010/03/color-scheme-inspiration-spring/</link> <comments>http://buildinternet.com/2010/03/color-scheme-inspiration-spring/#comments</comments> <pubDate>Fri, 05 Mar 2010 17:20:07 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Motivation]]></category> <category><![CDATA[color scheme]]></category> <category><![CDATA[ColourLovers]]></category> <category><![CDATA[Inspiration]]></category> <category><![CDATA[Puddle]]></category> <category><![CDATA[Springtime]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8449</guid> <description><![CDATA[
Hello Spring. It&#8217;s been a long time.
Every couple weeks or so, we scavenge Flickr for some wonderfully inspiring photography to build color schemes from. The results can be used to start graphic and web projects of all sizes. As we&#8217;ve said before, inspiration comes in funny places sometimes.
Photos are all found via Flickr (follow image [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/09/color-scheme-inspiration-fresh-from-the-bakery/' rel='bookmark' title='Permanent Link: Color Scheme Inspiration &#8211; Fresh from the Bakery'>Color Scheme Inspiration &#8211; Fresh from the Bakery</a> <small> Have a sweet tooth? This round of color palettes...</small></li><li><a
href='http://buildinternet.com/2009/10/color-scheme-inspiration-usa-national-landmarks/' rel='bookmark' title='Permanent Link: Color Scheme Inspiration &#8211; USA National Landmarks'>Color Scheme Inspiration &#8211; USA National Landmarks</a> <small> Put away your tourism handbook, because today we&#8217;ll be...</small></li><li><a
href='http://buildinternet.com/2009/10/color-scheme-inspiration-windows/' rel='bookmark' title='Permanent Link: Color Scheme Inspiration &#8211; Windows'>Color Scheme Inspiration &#8211; Windows</a> <small> It&#8217;s a look into the outside world through a...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/tf3TqTIcQmomj8cePJytRslAwgY/0/da"><img src="http://feedads.g.doubleclick.net/~a/tf3TqTIcQmomj8cePJytRslAwgY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tf3TqTIcQmomj8cePJytRslAwgY/1/da"><img src="http://feedads.g.doubleclick.net/~a/tf3TqTIcQmomj8cePJytRslAwgY/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8449"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>Hello Spring. It&#8217;s been a long time.</p><p>Every couple weeks or so, we scavenge Flickr for some <a
title="Archive of Color Scheme Inspirations" href="http://buildinternet.com/tag/colourlovers/">wonderfully inspiring photography to build color schemes from</a>. The results can be used to start graphic and web projects of all sizes. As we&#8217;ve said before, inspiration comes in funny places sometimes.</p><p><em>Photos are all found via Flickr (follow image links for author info). Color schemes are available to download through </em><a
title="Color community" href="http://colourlovers.com"><em>COLOURlovers</em></a><em>.</em></p><h3>Springtime Inspired Palettes</h3><p>We&#8217;ve compiled photos and palettes below that should help get your designs into the spring season. Design away!</p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/ception/429224673/"><img
class="aligncenter" title="Dawn of Spring" src="http://farm1.static.flickr.com/184/429224673_3bc2d92e34.jpg" alt="Dawn of Spring" width="332" height="500" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1123920/Welcome_Back?widths=1" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/pw/1123/1123920_Welcome_Back.png" alt="Welcome_Back" /></a></p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/waves/3416657269/"><img
class="aligncenter" title="Windmill and Tulips" src="http://farm4.static.flickr.com/3656/3416657269_ecb7b9c1fd.jpg" alt="Windmill and Tulips" width="500" height="357" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1125479/Windmills_Tulips?widths=1" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/pw/1125/1125479_Windmills_Tulips.png" alt="Windmills_Tulips" /></a></p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/pocait/2839897414/"><img
class="aligncenter" title="Rain Boots" src="http://farm4.static.flickr.com/3226/2839897414_84d23dc53c.jpg" alt="Rain Boots" width="375" height="500" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1125482/Rain_Boot_Day?widths=1" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/pw/1125/1125482_Rain_Boot_Day.png" alt="Rain_Boot_Day" /></a></p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/wecand/3535732927/in/pool-four_seasons/"><img
class="aligncenter" title="Iron Nature" src="http://farm3.static.flickr.com/2415/3535732927_b3e84053b5.jpg" alt="Iron Nature" width="332" height="500" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1125485/Blooming_Rust?widths=1" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/pw/1125/1125485_Blooming_Rust.png" alt="Blooming_Rust" /></a></p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/da100fotos/407518181/"><img
class="aligncenter" title="Sunset Warrior Arriving" src="http://farm1.static.flickr.com/185/407518181_638b56f703.jpg" alt="Sunset Warrior Arriving" width="500" height="344" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1125489/Sunset_Bees" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/p/1125/1125489_Sunset_Bees.png" alt="Sunset_Bees" /></a></p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/charlottemorrall/3852062645/"><img
class="aligncenter" title="Standing on Chair" src="http://farm4.static.flickr.com/3551/3852062645_ba6e1ba1f2.jpg" alt="Standing on Chair" width="477" height="500" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1125491/Green_Wall?widths=1" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/pw/1125/1125491_Green_Wall.png" alt="Green_Wall" /></a></p><p
style="text-align: center;"><a
href="http://www.flickr.com/photos/marymuses/122976226/"><img
class="aligncenter" title="Blooming Flowers" src="http://farm1.static.flickr.com/1/122976226_88048cb3a5.jpg" alt="Blooming Flowers" width="500" height="333" /></a></p><p
style="text-align: center;"><a
href="http://www.colourlovers.com/palette/1125493/Blooming_Branches?widths=1" target="_blank"><img
style="width: 240px; height: 120px; border: 0 none;" src="http://www.colourlovers.com/images/badges/pw/1125/1125493_Blooming_Branches.png" alt="Blooming_Branches" /></a></p><h3>Welcome Back Spring</h3><p>Even though plants seem to be the typical Spring symbol, there are plenty of other ways to show the season. If you&#8217;re feeling particularly inspired, why not share a Spring color scheme of your own? That’s exactly what the <a
title="Join our coloring group" href="http://www.colourlovers.com/group/Build_Internet!">Build Internet ColourLover group</a> is for. Post your spring-related inspirations (or otherwise) and share with the rest of our color-minded readers.</p><p>If you&#8217;re looking to integrate any of the color palettes seen here into a layout, I recommend taking a look at our &#8220;<a
title="Building site color schemes" href="http://buildinternet.com/2009/10/build-site-color-schemes-from-photography/">Build Site Color Schemes from Photography</a>&#8221; article for more help.</p><p><em><strong>A Side-note:</strong> It&#8217;s been a long time since we&#8217;ve put up one of these posts. We&#8217;re hoping to get them back on (at most) a bi-weekly rate. They won&#8217;t be replacing other scheduled posts, just adding to the overall posting schedule. What do you think? Would you like to see us add/remove anything to our color scheme posts to make them more useful?</em></p><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/09/color-scheme-inspiration-fresh-from-the-bakery/' rel='bookmark' title='Permanent Link: Color Scheme Inspiration &#8211; Fresh from the Bakery'>Color Scheme Inspiration &#8211; Fresh from the Bakery</a> <small> Have a sweet tooth? This round of color palettes...</small></li><li><a
href='http://buildinternet.com/2009/10/color-scheme-inspiration-usa-national-landmarks/' rel='bookmark' title='Permanent Link: Color Scheme Inspiration &#8211; USA National Landmarks'>Color Scheme Inspiration &#8211; USA National Landmarks</a> <small> Put away your tourism handbook, because today we&#8217;ll be...</small></li><li><a
href='http://buildinternet.com/2009/10/color-scheme-inspiration-windows/' rel='bookmark' title='Permanent Link: Color Scheme Inspiration &#8211; Windows'>Color Scheme Inspiration &#8211; Windows</a> <small> It&#8217;s a look into the outside world through a...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=BBvZ_FX8SXQ:RVHpqPzImSw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=BBvZ_FX8SXQ:RVHpqPzImSw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=BBvZ_FX8SXQ:RVHpqPzImSw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=BBvZ_FX8SXQ:RVHpqPzImSw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=BBvZ_FX8SXQ:RVHpqPzImSw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=BBvZ_FX8SXQ:RVHpqPzImSw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=BBvZ_FX8SXQ:RVHpqPzImSw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=BBvZ_FX8SXQ:RVHpqPzImSw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=BBvZ_FX8SXQ:RVHpqPzImSw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=BBvZ_FX8SXQ:RVHpqPzImSw:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/BBvZ_FX8SXQ" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/03/color-scheme-inspiration-spring/feed/</wfw:commentRss> <slash:comments>25</slash:comments> </item> <item><title>Flexible Color Schemes in Layouts with RGBa</title><link>http://buildinternet.com/2010/02/flexible-color-schemes-in-layouts-with-rgba/</link> <comments>http://buildinternet.com/2010/02/flexible-color-schemes-in-layouts-with-rgba/#comments</comments> <pubDate>Mon, 01 Mar 2010 01:38:51 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[Layout]]></category> <category><![CDATA[Transparency]]></category> <category><![CDATA[Tricks]]></category> <category><![CDATA[XHTML]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8411</guid> <description><![CDATA[
This will be an experiment in transparency. CSS has come a long way over the years, and one of the biggest advancements is the integrated use of transparency. A few years back, transparency in web design was a compatibility nightmare, and involved a messy combination of images and alignment.
We&#8217;re spoiled today with the introduction and adoption of [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/09/its-a-rainbow-color-changing-text-and-backgrounds/' rel='bookmark' title='Permanent Link: It&#8217;s a Rainbow! &#8211; Color Changing Text and Backgrounds w/ jQuery'>It&#8217;s a Rainbow! &#8211; Color Changing Text and Backgrounds w/ jQuery</a> <small> Here&#8217;s a quick and easy way to cycle between...</small></li><li><a
href='http://buildinternet.com/2009/10/build-site-color-schemes-from-photography/' rel='bookmark' title='Permanent Link: Build Site Color Schemes from Photography'>Build Site Color Schemes from Photography</a> <small> One of the reoccurring responses we received from our...</small></li><li><a
href='http://buildinternet.com/2008/11/how-to-center-a-website-with-css/' rel='bookmark' title='Permanent Link: How to Center a Website With CSS'>How to Center a Website With CSS</a> <small>Centering a website is a key part of many CSS...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/JOGweNw3OpsHltVvP10jgiwLpYI/0/da"><img src="http://feedads.g.doubleclick.net/~a/JOGweNw3OpsHltVvP10jgiwLpYI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/JOGweNw3OpsHltVvP10jgiwLpYI/1/da"><img src="http://feedads.g.doubleclick.net/~a/JOGweNw3OpsHltVvP10jgiwLpYI/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8411"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>This will be an experiment in transparency. CSS has come a long way over the years, and one of the biggest advancements is the integrated use of transparency. A few years back, transparency in web design was a compatibility nightmare, and involved a messy combination of images and alignment.</p><p>We&#8217;re spoiled today with the introduction and adoption of the CSS3 spec and widespread PNG compatibility. Today&#8217;s tutorial will take advantage of this by exploring one of these newer attributes in action.</p><h3>The Goal</h3><p>By the end of this tutorial, you&#8217;ll have the means to build a page layout (like the demo) that can be updated by simply changing the background.  Using varying levels of transparent white and black backgrounds, we can achieve a monochromatic layout based off the background&#8217;s color value. To put it another way, <strong>all color is relative to the background and can be changed by a single value</strong>.</p><p>I&#8217;ve attached a color switching panel into the version below for demonstration purposes. It is simply responsible for updating the body&#8217;s background attribute with each color. Go ahead and give it a try now.</p><p><a
href="http://buildinternet.com/2010/02/flexible-color-schemes-in-layouts-with-rgba/" title="See the live demo"><img
class="aligncenter" title="Monochromatic with RGBa" src="http://s3.amazonaws.com/buildinternet/images/rgba-layout/rgba-layout-screen.jpg" alt="Monochromatic with RGBa" width="600" height="400" /></a></p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/rgba-layout/rgba-layout.htm" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/rgba-layout/rgba-layout.zip"></a></div><h3>A Brief Intro to Web Color</h3><p>Before we get started, let&#8217;s refresh with a quick primer of color in CSS. In most cases, colors are designated using either hexadecimal value or RGB triplet within the CSS stylesheet.</p><p>In RGB, colors are specified using three distinct values between 0 and 255. <strong>These values represent the amount of red, green, and blue respectively</strong>. While both methods are usable, most modern web designers choose to use hexadecimal values instead. In this system, the values are given as a single six digit code.</p><p>Both of the styles below would end up with a color red:</p><pre class="css" name="code">/* Red with RGB */
.rgb-red{color: rgb(255, 0, 0);}

/* Red with hexadecimal */
.hex-red{color: #A90000;}</pre><p>This has been the basis for color selection in web design for the past decade or so. But somewhere along the line, people realized that it might be good to include <em>another</em> option to web color. That&#8217;s where RGBa comes in.</p><h3>Transparency with RGBa</h3><p>RGBa is an expansion on the RGB attribute for CSS. Just like the RGB attribute, the first three values are used to specify color. The difference is an additional value. <strong>The fourth number in a RGBa set is used to specify the alpha (transparency) of the color.</strong> If we wanted to see the background image through a block of content, we could use an RGBa attribute to make the content&#8217;s background semi-transparent:</p><pre class="css" name="code">.content{background: rgba(255, 255, 255, .5);}</pre><p>You&#8217;ll notice that the alpha value operates on a 0 to 1 scale, where 0 is completely invisible. Decimals are completely acceptable. The code above represents a white background with 50% transparency.</p><h4>Varying a Base Color</h4><p>Using a series of transparent blacks and whites, we&#8217;ll filter the background color into a variety of shades. The screenshot below demonstrates this concept in action. Keep in mind that this system allows an entire layout&#8217;s color to update with just one change. Now let&#8217;s put it in action.</p><p><img
class="aligncenter" title="Black and White Backgrounds" src="http://s3.amazonaws.com/buildinternet/images/rgba-layout/light-dark-example.png" alt="Black and White Backgrounds" width="600" height="150" /></p><h3>A Basic Structure</h3><p>To keep things simple, we&#8217;ll start with a simple layout of four boxes with varying shades of whites and blacks. Take note of the classes assigned to each div. The &#8220;box&#8221; class is the base style for each, while &#8220;dark&#8221;, &#8220;light&#8221;, etc all represent variations of the shades. You will get a better visualization once the CSS is applied in the next step.</p><pre name="code" class="xhtml">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
	&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;

	&lt;title&gt;Flexible Color Schemes with RGBa&lt;/title&gt;

&lt;/head&gt;

&lt;body&gt;

	&lt;div class="box light"&gt;
		&lt;p&gt;This is a light box&lt;/p&gt;
	&lt;/div&gt;

	&lt;div class="box lighter"&gt;
		&lt;p&gt;This is a lighter box&lt;/p&gt;
	&lt;/div&gt;

	&lt;div class="box dark"&gt;
		&lt;p&gt;This is a dark box&lt;/p&gt;
	&lt;/div&gt;

	&lt;div class="box darker"&gt;
		&lt;p&gt;This is a darker box&lt;/p&gt;
	&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;</pre><p>Now that we&#8217;ve identified all the elements, we&#8217;re ready to put everything together with a stylesheet.</p><h3>Styling with CSS</h3><p>One of the main roles that CSS plays in this system is to apply transparency to each element. You will notice that after the body&#8217;s background color is initially declared, no colors beyond black and white are referenced. Add the styles below to your page:</p><pre class="css" name="code">/* This is the basis for all page color */
		body{background:#DEF088;}

		p{font-family:helvetica, arial, sans-serif; font-size:13px; padding:20px;}

		/* Generic box shadow &#038; formatting */
			.box{-webkit-box-shadow: 0px 0px 5px rgba(0, 0, 0, .25); -moz-box-shadow: 0px 0px 5px rgba(0,0,0,.25); margin:10px auto;}

		/* Values for white base */
			.light{background: rgba(255,255,255, .3); border:1px solid rgba(255,255,255,.45);}
			.lighter{background: rgba(255,255,255, .6); border:1px solid rgba(255,255,255,.45);}
				.light p{text-shadow:0px 1px 0px rgba(255,255,255, .5);}
				.lighter p{text-shadow:0px 1px 0px rgba(255,255,255, .7);}
				.light a, .lighter a{color: rgba(0, 0, 0, .9);}

		/* Values for black base */
			.dark{background: rgba(0, 0, 0, .3); border:1px solid rgba(0, 0, 0,.2);}
			.darker{background: rgba(0, 0, 0, .6); border:1px solid rgba(0, 0, 0,.2);}
				.dark p{color:#FAFAFA; text-shadow:0px 1px 0px rgba(255,255,255, .2);}
				.darker p{color:#FAFAFA; text-shadow:0px 1px 0px rgba(255,255,255, .5);}
				.dark a, .darker a{color: rgba(255,255,255, .9);}</pre><p>On first glance, the stylesheet appears to be more complicated than it actually is. Many of the styles outlined in the code above are variations of the same core ideas. The &#8220;dark&#8221; class, for example, is only a few digits away from &#8220;darker&#8221;.</p><p>If you&#8217;ve done everything correctly, you should end up with something like this:<br
/> <a
href="http://s3.amazonaws.com/buildinternet/live-tutorials/rgba-layout/simple-result.html"><img
alt="A Simple RGBa Variation" src="http://s3.amazonaws.com/buildinternet/images/rgba-layout/simple-example-result.png" title="A Simple RGBa Variation" class="aligncenter" width="600" height="350" /></a></p><p>Using the concepts of this sample page, you can build entire page layouts like the demonstration available for download below. I highly recommend taking some time to go through the code there, as it is more applicable to the real world (and lengthier) than the cut and dry version here.</p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/rgba-layout/rgba-layout.htm" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/rgba-layout/rgba-layout.zip"></a></div><h3>Wrapping Up &amp; Moving Forward</h3><p>You&#8217;ll notice that <strong>transparency can be applied to more than just solid background colors</strong>. In this tutorial&#8217;s example layout, I&#8217;ve applied varying levels of transparency to text, shadows, and borders. Since the background is the only source of color, any level of transparency will cause some of the background color to filter forward.</p><p>Is this a perfect way to put together colors? Of course not. <strong>The typical shadows and borders will not have as much impact when using darker shades</strong> (e.g. blacks) of colors. It does, however, demonstrate how using RGBa for elements can allow the design&#8217;s context to affect visuals. Think of it like blending layers in Photoshop.</p><h4>Further Reading and Resources</h4><p>For more on the topics covered in this post, be sure to check out the links listed below.</p><ol><li><a
title="Browser Support on RGBa" href="http://css-tricks.com/rgba-browser-support/">RGBa Browser Support</a></li><li><a
title="A summary of RGBa" href="http://dorward.me.uk/www/css/alpha-colour/">CSS3: RGBa Today</a></li></ol><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/09/its-a-rainbow-color-changing-text-and-backgrounds/' rel='bookmark' title='Permanent Link: It&#8217;s a Rainbow! &#8211; Color Changing Text and Backgrounds w/ jQuery'>It&#8217;s a Rainbow! &#8211; Color Changing Text and Backgrounds w/ jQuery</a> <small> Here&#8217;s a quick and easy way to cycle between...</small></li><li><a
href='http://buildinternet.com/2009/10/build-site-color-schemes-from-photography/' rel='bookmark' title='Permanent Link: Build Site Color Schemes from Photography'>Build Site Color Schemes from Photography</a> <small> One of the reoccurring responses we received from our...</small></li><li><a
href='http://buildinternet.com/2008/11/how-to-center-a-website-with-css/' rel='bookmark' title='Permanent Link: How to Center a Website With CSS'>How to Center a Website With CSS</a> <small>Centering a website is a key part of many CSS...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=jYFCP6-3Bvw:aOSM_uPwceQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jYFCP6-3Bvw:aOSM_uPwceQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jYFCP6-3Bvw:aOSM_uPwceQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jYFCP6-3Bvw:aOSM_uPwceQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jYFCP6-3Bvw:aOSM_uPwceQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jYFCP6-3Bvw:aOSM_uPwceQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jYFCP6-3Bvw:aOSM_uPwceQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jYFCP6-3Bvw:aOSM_uPwceQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jYFCP6-3Bvw:aOSM_uPwceQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jYFCP6-3Bvw:aOSM_uPwceQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/jYFCP6-3Bvw" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/02/flexible-color-schemes-in-layouts-with-rgba/feed/</wfw:commentRss> <slash:comments>23</slash:comments> </item> <item><title>Share Feedback with Twitter and the Bit.ly API</title><link>http://buildinternet.com/2010/02/share-feedback-with-twitter-and-the-bit-ly-api/</link> <comments>http://buildinternet.com/2010/02/share-feedback-with-twitter-and-the-bit-ly-api/#comments</comments> <pubDate>Fri, 19 Feb 2010 17:27:59 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[API]]></category> <category><![CDATA[Bit.ly]]></category> <category><![CDATA[Integration]]></category> <category><![CDATA[Social Media]]></category> <category><![CDATA[Twitter]]></category> <category><![CDATA[Web Development]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8367</guid> <description><![CDATA[
Regular blog readers probably notice the wide range of social media &#8220;Share this&#8221; links found on most sites. With everyone from CNN to ESPN integrating ways of sharing content, one of the most popular techniques is using a URL shortener to neaten up and condense the link.
Today we&#8217;re going to explore this idea of [...]Related posts:<ol><li><a
href='http://buildinternet.com/2008/12/quick-tip-blur-links-with-jquery/' rel='bookmark' title='Permanent Link: Quick Tip &#8211; Blur Links With jQuery'>Quick Tip &#8211; Blur Links With jQuery</a> <small>This quick tip covers a quick usability upgrade for links...</small></li><li><a
href='http://buildinternet.com/2009/02/how-to-change-the-default-gravatar-in-wordpress/' rel='bookmark' title='Permanent Link: How to Change the Default Gravatar in Wordpress'>How to Change the Default Gravatar in Wordpress</a> <small>As much as I love seeing the mystery man appear...</small></li><li><a
href='http://buildinternet.com/2009/07/quick-tip-reading-editing-html-attributes-in-jquery/' rel='bookmark' title='Permanent Link: Quick Tip &#8211; Reading &#038; Editing HTML Attributes in jQuery'>Quick Tip &#8211; Reading &#038; Editing HTML Attributes in jQuery</a> <small> jQuery Attributes allow for some interesting editing to happen...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/0gyfbpuTBa1ZGeomiLrc0o7iRIo/0/da"><img src="http://feedads.g.doubleclick.net/~a/0gyfbpuTBa1ZGeomiLrc0o7iRIo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/0gyfbpuTBa1ZGeomiLrc0o7iRIo/1/da"><img src="http://feedads.g.doubleclick.net/~a/0gyfbpuTBa1ZGeomiLrc0o7iRIo/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8367"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>Regular blog readers probably notice the wide range of social media &#8220;Share this&#8221; links found on most sites. With everyone from CNN to ESPN integrating ways of sharing content, one of the most popular techniques is using a URL shortener to neaten up and condense the link.</p><p>Today we&#8217;re going to explore this idea of sharing content a little bit more. Sharing links to content is just one piece of the social media equation. Capturing the response to it is quite another.</p><p>Let&#8217;s get started:</p><h3>What We&#8217;re Building</h3><p><a
href="http://s3.amazonaws.com/buildinternet/live-tutorials/twitter-feedback/twitter-feedback-static.htm"><img
alt="Share Feedback with Twitter" src="http://s3.amazonaws.com/buildinternet/images/twitter-bitly-feedback/share-feedback-result.jpg" title="Share Feedback with Twitter" class="aligncenter" width="600" height="275" /></a></p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/twitter-feedback/twitter-feedback-static.htm" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/twitter-feedback/twitter-feedback.zip"></a></div><p>Today&#8217;s tutorial will walk through the creation of a customizable &#8220;Tweet this&#8221; link that integrates the Bit.ly API and Twitter updates. The goal will be to have a selectable menu of prefaces, and then tweet the preface and link accordingly. Here are some examples of possible end results:</p><ol><li>Reading: Article Name / Article Link</li><li>I absolutely loved: Article Name / Article Link</li><li>Made me think: Article Name / Article Link</li><li>Completely disagree: Article Name / Article Link</li><li>Article Name / Article Link</li></ol><h4>What&#8217;s the point?</h4><p>This way a reader will be able to add some personality to the shared link, rather than sticking to a rigid &#8220;Currently Reading&#8221; preface like the one this blog is (currently) guilty of*. People respond to content differently, and this is a kind of system that helps them share it easily. If I found a post thought-provoking, I&#8217;d like to say so. On the flip side, you (as the site owner) will be able to see what kind of feedback people are giving about your content. <strong>Think of it like an indirect polling system.</strong></p><p>I haven&#8217;t seen this kind of Twitter feedback system done anywhere else with blogs yet, but then again the internet is a big place. Now that we&#8217;ve all got our eyes on the same prize, let&#8217;s get introduced to the API&#8217;s we&#8217;ll be working with:</p><p><em>*For those wondering, yes, this will be part of the upcoming Build Internet theme update.</em></p><h3>The Bit.ly API</h3><p><a
href="http://bit.ly/"><img
class="aligncenter" title="The Bit.ly Dashboard" src="http://s3.amazonaws.com/buildinternet/images/twitter-bitly-feedback/bitly-dashboard.jpg" alt="The Bit.ly Dashboard" width="600" height="250" /></a></p><p>The <a
title="API Documentation" href="http://code.google.com/p/bitly-api/wiki/ApiDocumentation">Bit.ly Developer Tools</a> allow you to take a URL and return the new shortened link. It sounds simple because it is. This also means that working with the API is surprisingly pleasant, and will most likely leave you feeling quite smart afterward.</p><p>In order to shorten links with this API, you will need an API key. This key will allow all shortened links to be automatically associated with the key&#8217;s account. One is automatically generated for you after registering a new account. No cost necessary. You will find this information listed under the <a
title="Manage Bitly Account" href="http://bit.ly/account/">&#8220;Accounts&#8221; tab of the Bit.ly dashboard</a> once logged in. I will not be using a valid API key for this tutorial, so be sure to substitute your own in accordingly.</p><h4>Automatic Shortening</h4><p>David Walsh wrote up a <a
title="Shorten links with PHP" href="http://davidwalsh.name/bitly-php">nice PHP option for shortening links</a> last Spring. It&#8217;s not the only way to access the API (e.g. JavaScript), but this method keeps account information private because the key is only visible server-side. His tutorial will be the basis for our Bit.ly integration.</p><p>Create a new PHP file for the shortening script. Mine will be called &#8220;shorten.php&#8221; for this tutorial. You will need to put in your own Bit.ly API information where noted in the script.</p><pre class="php" name="code">&lt;?php
	/*
		Based on code from David Walsh

http://davidwalsh.name/bitly-php

	*/

	//Assign URL of page to shorten.
	//Substitute with the_permalink() if using Wordpress.
	$full_url = "YOUR URL HERE";

	/* make a URL small */
	function make_bitly_url($url,$login,$appkey,$format = 'xml',$version = '2.0.1')
	{
		//create the URL
		$bitly = 'http://api.bit.ly/shorten?version='.$version.'&#038;longUrl='.urlencode($url).'&#038;login='.$login.'&#038;apiKey='.$appkey.'&#038;format='.$format;

		//get the url
		//could also use cURL here
		$response = file_get_contents($bitly);

		//parse depending on desired format
		if(strtolower($format) == 'json')
		{
			$json = @json_decode($response,true);
			return $json['results'][$url]['shortUrl'];
		}
		else //xml
		{
			$xml = simplexml_load_string($response);
			return 'http://bit.ly/'.$xml-&gt;results-&gt;nodeKeyVal-&gt;hash;
		}
	}

	/* usage (replace with your account information) */
	$short = make_bitly_url($full_url,'ENTER BITLY LOGIN','ENTER BITLY API KEY','json');

	//Our short url is now stored in $short
?&gt;</pre><p>I&#8217;ve copied a <em>slightly </em>modified code below for simplicity sake, but please refer back to his article for any further explanations or credit. The only difference is that the original echo statement is removed upon successful shortening. After running this script, we end up with a shortened version of the original URL stored in the $short variable.</p><h3>The Page Setup</h3><p>Create a new PHP file and paste in the code below. Notice that we are loading in the shorten.php script created in the last step at the top of the page. This area is also responsible for specifying the page title.</p><pre class="html" name="code">&lt;?php
	//Calls Bit.ly shortener on current URL, returns $short variable with results
	REQUIRE_ONCE 'shorten.php';

	//Assign title of page. Substitute with the_title() if using Wordpress.
	$current_title = "Sample Page Title";
?&gt;

&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml"&gt;
&lt;head&gt;

	&lt;title&gt;Share Feedback with Twitter and the Bit.ly API &lt;/title&gt;

	&lt;script src="http://code.jquery.com/jquery-latest.js" type="text/javascript"&gt;&lt;/script&gt;

	&lt;script type="text/javascript"&gt;
		//jQuery code will go here
	&lt;/script&gt;

&lt;/head&gt;
&lt;body&gt;

	&lt;h1&gt;Share on Twitter&lt;/h1&gt;
	&lt;p&gt;Select a response and post to your Twitter feed.&lt;/p&gt;

	&lt;p&gt;I &lt;select id="feedback"&gt;
		&lt;option value="Liked"&gt;liked&lt;/option&gt;
		&lt;option value="Interesting"&gt;was interested by&lt;/option&gt;
		&lt;option value="Inspired by"&gt;was inspired by&lt;/option&gt;
		&lt;option value="Absolutely loved"&gt;absolutely loved&lt;/option&gt;
		&lt;option value="Didn't like"&gt;didn't like&lt;/option&gt;
		&lt;option value="Completely disagree"&gt;completely disagreed with&lt;/option&gt;
	&lt;/select&gt; this post.&lt;/p&gt;

	&lt;p id="tweetit"&gt;&lt;a href="http://twitter.com/home?status=Liked" target="_blank" title="Share link and feedback on Twitter"&gt;Tweet It&lt;/a&gt;&lt;p&gt;

&lt;/body&gt;
&lt;/html&gt;</pre><h3>Composing the Tweet with jQuery</h3><p>jQuery will be responsible for taking all of the pieces and putting them into a functional link. Passing the $short variable from PHP to jQuery is surprisingly simple thanks to a well-placed echo statement. The code below should be added into the script tag created in the previous step.</p><pre class="javascript" name="code">&lt;script type="text/javascript"&gt;

	$(document).ready(function(){

		//Assign initial values
		var short_url = "&lt;?php echo $short;?&gt;";
		var post_title = "&lt;?php echo $current_title;?&gt;";
		var user_feedback;
		var tweet;

		function getFeedback(){
			//Assign selected item to feedback
			user_feedback = $("#feedback").val();
		}

		function composeTweet(){
			//Compose the tweet
			tweet = user_feedback + ': ' + post_title + ' ' + short_url;

			//Update destination before sending tweet
			$('#tweetit a').attr("href", "http://twitter.com/home?status=" + tweet);
		}

		$("#tweetit a").click(function(){
			composeTweet();
		});

		//Update feedback when option is changed
		$("#feedback").change(getFeedback);

		//Get the initial feedback value from dropdown menu
		getFeedback();

		//Compose a default tweet
		composeTweet();

	});

&lt;/script&gt;</pre><p>There&#8217;s a few main things to be aware of in the script above. The variables for short_url and post_title are assigned based on the contents of the PHP counterparts. The user_feedback variable will contain the &#8220;feedback&#8221; value (e.g. Love it) and the tweet variable contains the compiled result for Twitter.</p><p>There are two functions in charge of everything. The getFeedback function is responsible for updating the feedback value when the page initially loads and when the select box is changed. The composeTweet function combines the contents of all variables into a single tweet. Once the tweet is composed, the relevant &#8220;Tweet This&#8221; link (in next section) gets updated accordingly.</p><h3>Simple Posting with Twitter</h3><p><img
alt="A sample tweet" src="http://s3.amazonaws.com/buildinternet/images/twitter-bitly-feedback/sample-tweet-result.jpg" title="A sample tweet" class="aligncenter" width="600" height="200" /><br
/> This is the easy part. Using a constructed URL, we&#8217;ll open Twitter in new window with the status box automatically filled. The user will need to submit the tweet template from Twitter before it is posted. Since we&#8217;ve already written the jQuery code responsible for setting the URL, the only thing left to do is create the target &#8220;Tweet This&#8221; link.</p><p>Make sure this link is in your final page result:</p><pre class="html" name="code">&lt;p id="tweetit"&gt;&lt;a href="http://twitter.com/home?status=Liked" target="_blank" title="Share link and feedback on Twitter"&gt;Tweet It&lt;/a&gt;&lt;p&gt;</pre><p>Keep in mind that once the page is loaded, the jQuery script will overwrite the default link destination with the compiled tweet. I&#8217;ve set the target page to open in a new window for simplicity sake.</p><h4>What about the API?</h4><p>If you haven&#8217;t already been introduced to it, the Twitter API is wonderful. We won&#8217;t be using it for this tutorial, but I highly recommend spending a spare hour or two exploring options when you get the chance.</p><p>The API can do more than just fill in the status box, but requires a few extra steps. If you are interested in creating automatic tweets, you will need to have the user authenticate your site to their Twitter account. This would give you the ability to post to user&#8217;s accounts without having to open a new window for Twitter. If your site relies heavily on social media sharing, this might be the best option to explore. Depending on the response to this tutorial, an introduction to the API will probably find its way into an upcoming post.</p><h3>Going Further</h3><p>Depending on how long your post titles are, it might be a good idea to include a hashtag to identify your site. Implementing this would be as simple as adding another variable to the link construction in jQuery. If you got lost at any step of the way, I recommend downloading the project source files below to see the results in action. Remember that you will need to insert your Bit.ly account information before running the page successfully.</p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/twitter-feedback/twitter-feedback-static.htm" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/twitter-feedback/twitter-feedback.zip"></a></div><h4>Wordpress Integration</h4><p>There&#8217;s also a fair amount of blog integration that can happen with Wordpress template tags. I&#8217;ve commented in a few places where it might make sense to insert Wordpress defaults. With a little luck and planning, you&#8217;ll be able to automate a similar system into your next theme update.</p><p>Have I missed anything? Thought of any cool applications for a feedback system like this? Be sure to share any comments or questions below.</p><p>Related posts:<ol><li><a
href='http://buildinternet.com/2008/12/quick-tip-blur-links-with-jquery/' rel='bookmark' title='Permanent Link: Quick Tip &#8211; Blur Links With jQuery'>Quick Tip &#8211; Blur Links With jQuery</a> <small>This quick tip covers a quick usability upgrade for links...</small></li><li><a
href='http://buildinternet.com/2009/02/how-to-change-the-default-gravatar-in-wordpress/' rel='bookmark' title='Permanent Link: How to Change the Default Gravatar in Wordpress'>How to Change the Default Gravatar in Wordpress</a> <small>As much as I love seeing the mystery man appear...</small></li><li><a
href='http://buildinternet.com/2009/07/quick-tip-reading-editing-html-attributes-in-jquery/' rel='bookmark' title='Permanent Link: Quick Tip &#8211; Reading &#038; Editing HTML Attributes in jQuery'>Quick Tip &#8211; Reading &#038; Editing HTML Attributes in jQuery</a> <small> jQuery Attributes allow for some interesting editing to happen...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=1CNZJwHmXZU:77lRFbJ_LRw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=1CNZJwHmXZU:77lRFbJ_LRw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=1CNZJwHmXZU:77lRFbJ_LRw:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=1CNZJwHmXZU:77lRFbJ_LRw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=1CNZJwHmXZU:77lRFbJ_LRw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=1CNZJwHmXZU:77lRFbJ_LRw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=1CNZJwHmXZU:77lRFbJ_LRw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=1CNZJwHmXZU:77lRFbJ_LRw:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=1CNZJwHmXZU:77lRFbJ_LRw:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=1CNZJwHmXZU:77lRFbJ_LRw:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/1CNZJwHmXZU" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/02/share-feedback-with-twitter-and-the-bit-ly-api/feed/</wfw:commentRss> <slash:comments>22</slash:comments> </item> <item><title>Animate Panning Slideshow with jQuery</title><link>http://buildinternet.com/2010/02/animate-panning-slideshow-with-jquery/</link> <comments>http://buildinternet.com/2010/02/animate-panning-slideshow-with-jquery/#comments</comments> <pubDate>Thu, 11 Feb 2010 23:47:55 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Animation]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[slideshow]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8298</guid> <description><![CDATA[
If there&#8217;s one thing that never seems to go out of style, it&#8217;s a good jQuery slideshow.
Highly visual websites rely on the ability to showcase imagery automatically. Whether it be a professional photographer or zoo, slideshows pop up so frequently because they work well.
In today&#8217;s tutorial we&#8217;ll take the makings of a classic slideshow, but [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/07/animate-curtains-opening-with-jquery/' rel='bookmark' title='Permanent Link: Animate Curtains Opening with jQuery'>Animate Curtains Opening with jQuery</a> <small> Step 1 &#8211; What You&#8217;ll Need This tutorial would...</small></li><li><a
href='http://buildinternet.com/2009/06/animate-image-filling-up-using-jquery/' rel='bookmark' title='Permanent Link: Animate Image Filling Up Using jQuery'>Animate Image Filling Up Using jQuery</a> <small> The Photoshop Portion &#8211; Preparing Your Image(s) Step one...</small></li><li><a
href='http://buildinternet.com/2009/08/crafting-an-animated-postcard-with-jquery/' rel='bookmark' title='Permanent Link: Crafting an Animated Postcard With jQuery'>Crafting an Animated Postcard With jQuery</a> <small> Nicely illustrated banners are&#8230;nice. But why not add a...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/yJqepBwELcK5AOhhzLHzSuEY9lg/0/da"><img src="http://feedads.g.doubleclick.net/~a/yJqepBwELcK5AOhhzLHzSuEY9lg/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yJqepBwELcK5AOhhzLHzSuEY9lg/1/da"><img src="http://feedads.g.doubleclick.net/~a/yJqepBwELcK5AOhhzLHzSuEY9lg/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8298"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>If there&#8217;s one thing that never seems to go out of style, it&#8217;s a good jQuery slideshow.</p><p>Highly visual websites rely on the ability to showcase imagery automatically. Whether it be a professional photographer or zoo, slideshows pop up so frequently because they work well.</p><p>In today&#8217;s tutorial we&#8217;ll take the makings of a classic slideshow, but use a different kind of transition to animate between slides. It may not fit every project, but diversity is always welcome in the world of web design.</p><h3>The Goal</h3><p>Be the end of this tutorial, we&#8217;ll have a slideshow that transitions by changing the visible window. You will need to download two plugins for this tutorial: one for <a
title="jQuery Easing Plugin" href="http://gsgd.co.uk/sandbox/jquery/easing/">easing animations</a> and one for <a
href="http://www.evanbot.com/article/jquery-timer-plugin/23" title="jQuery Timer Plugin">timing slide changes</a>. I&#8217;ve also packaged both in the tutorial source file below.</p><p><a
href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.htm"><img
class="aligncenter" title="Panning Slideshow Result" src="http://s3.amazonaws.com/buildinternet/images/panning-slideshow/panning-slideshow-screen.jpg" alt="Panning Slideshow Result" width="600" height="345" /></a></p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.htm" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.zip"></a></div><h3>Structuring the Slideshow</h3><p>Step one is setting up the HTML structure for the slideshow.</p><p>As you may notice, we&#8217;re loading a few external JavaScript files into this page. After loading in the latest version of jQuery, we bring in the two plugins mentioned above. I&#8217;ve put both into a subfolder to keep things organized. The last JavaScript file loaded is &#8220;image-rotator.js&#8221;, and is where all of our custom jQuery code will go in a few steps.</p><p>Keeping with convention, we&#8217;ll contain the slideshow inside of an unordered list. This type of slideshow will require a helper &#8220;window&#8221; div in order to work correctly. Since we&#8217;re essentially looking at a specific corner of a larger image (simulated by the list) we will need to mask the areas outside of focus. This may sound a little complicated, but the image below should help you visualize:</p><p><img
class="aligncenter" title="Panning Slide Layout" src="http://s3.amazonaws.com/buildinternet/images/panning-slideshow/full-slide-window.jpg" alt="Panning Slide Layout" width="600" height="219" /></p><p>Let&#8217;s get started by creating a new HTML file with the following code:</p><pre class="xhtml" name="code">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
	&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;

	&lt;title&gt;Panning Slideshow | Build Internet Tutorial&lt;/title&gt;

	&lt;link rel="stylesheet" href="panning-slideshow.css"/&gt;

	&lt;script src="http://code.jquery.com/jquery-latest.js"&gt;&lt;/script&gt;
	&lt;script src="js/jquery.easing.1.3.js"&gt;&lt;/script&gt;
	&lt;script src="js/jquery.timer.js"&gt;&lt;/script&gt;
	&lt;script src="image-rotator.js"&gt;&lt;/script&gt;

&lt;/head&gt;

&lt;body&gt;

	&lt;div id="window"&gt;
		&lt;ul id="slideshow"&gt;
			&lt;li class="box1"&gt;&lt;img src="images/tiger.jpg" alt="Tiger"/&gt;&lt;/li&gt;
			&lt;li class="box2"&gt;&lt;img src="images/macaw.jpg" alt="Macaw"/&gt;&lt;/li&gt;
			&lt;li class="box3"&gt;&lt;img src="images/bald-eagle.jpg" alt="Bald Eagle"/&gt;&lt;/li&gt;
			&lt;li class="box4"&gt;&lt;img src="images/panda.jpg" alt="Panda"/&gt;&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/div&gt;

&lt;/body&gt;
&lt;/html&gt;
</pre><h3>Style and Arrangement with CSS</h3><p>The biggest change from typical slideshows is that the &#8220;#window&#8221; div is used to block out the full list images via overflow:hidden. Keep in mind that the grid of slideshow images is actually 1920px wide and 700px high. Since we&#8217;re only showing one slide at a time, the #window div cuts the visible area to 960px width and 350px height.</p><p>Copy the code below into your CSS file.</p><pre class="css" name="code">*{margin:0; padding:0;}

body{background:#353637; height:100%;}

#window{clear:both; width:960px; height:350px; background:#131310; overflow:hidden; position:relative; margin:10px auto 10px auto;}

#slideshow{width:1920px; height:700px; overflow:hidden; position:relative;}
	#slideshow li{width:960px; height:350px; float:left; display:inline;}
</pre><p>As with any CSS file, there is always opportunity to condense and streamline the styles involved. If you end up making a more efficient version of this, please share it with the rest of us!</p><h3>Animating with jQuery</h3><p>The primary role of jQuery in this slideshow is to adjust the coordinates of the list item image being shown. Our roadmap is below:<br
/> <img
class="aligncenter" title="Panning Motion Diagram" src="http://s3.amazonaws.com/buildinternet/images/panning-slideshow/panning-motion-diagram.jpg" alt="Panning Motion Diagram" width="600" height="219" /></p><p>With this in mind, let&#8217;s turn these motions into jQuery animations. Copy the code below into your project&#8217;s JavaScript file, and then meet us below for the script explanation.</p><pre class="javascript" name="code">$(document).ready(function(){

	//This keeps track of the slideshow's current location
	var current_panel = 1;
	//Controlling the duration of animation by variable will simplify changes
	var animation_duration = 2500;

	$.timer(6000, function (timer) {
		//Determine the current location, and transition to next panel
		switch(current_panel){
			case 1:
				$("#slideshow").stop().animate({left: "-960px", top: "0px"}, {easing: 'easeOutBack', duration: animation_duration});
				current_panel = 2;
			break;
			case 2:
				$("#slideshow").stop().animate({left: "0px", top: "-350px"}, {easing: 'easeOutBack', duration: animation_duration});
				current_panel = 3;
			break;
			case 3:
				$("#slideshow").stop().animate({left: "-960px", top: "-350px"}, {easing: 'easeOutBack', duration: animation_duration});
				current_panel = 4;
			break;
			case 4:
				$("#slideshow").stop().animate({left: "0px", top: "0px"}, {easing: 'easeOutBack', duration: animation_duration});
				current_panel = 1;
			break;
	  		timer.reset(12000);
		}
	});

});</pre><p>This code starts out by declaring two variables. The first is current_panel, and will be used to keep track of the slideshow&#8217;s current location. The second is animation_duration and is used to affect all transitions in one place, rather than having to change times in four different locations. Where possible, it&#8217;s typically a good idea to condense attributes like this into variables for easy editing.</p><p>The timer function is based on our second plugin. Every 6000 milliseconds, the function encapsulated is fired. This function determines the current panel, and then animates the transition to the next sequential panel. Panel 4 automatically resets back to the start. Once the transition has been made, the current_panel variable is updated, and the timer is reset. Not bad!</p><h4>What About Easing?</h4><p>You may have noticed the easing attribute within the animate function. The easing plugin gives the transition a smooth elastic feel instead of a typical rigid motion. I&#8217;ve selected &#8220;easeOutBack&#8221; for the demo, but feel free to experiment with <a
title="jQuery Easing Option" href="http://gsgd.co.uk/sandbox/jquery/easing/">other easing options</a> for your version.</p><h3>Other Possibilities</h3><p>Using this method, you could also setup one large slide instead of four individual ones. This would allow you to scan the contents of an oversized image in distinct zones, like a map.</p><h4>Updating Delay</h4><p>I started working on this slideshow before the <a
title="Delay function in jQuery" href="http://api.jquery.com/delay/">delay function was added</a> to the latest version of jQuery. While I haven&#8217;t explored it much yet, it seems like the timer plugin used here might be able to get replaced by it. If anyone chooses to explore this route, be sure to let us know what you come up with!</p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.htm" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/panning-slideshow/panning-slideshow.zip"></a></div><p>Have we missed anything/made any errors? Are there any steps that need further explanation? Let us know in the comments and we&#8217;ll try to sort it out!</p><p><em>The pictures of zoo animals used in this tutorial were all found via Flickr. Individual photo credits: <a
href="http://www.flickr.com/photos/bestrated1/170151875/in/set-72157594168258587">Bald Eagle</a> / <a
href="http://www.flickr.com/photos/shanegorski/2515009456/">Tiger</a> / <a
href="http://www.flickr.com/photos/auntie_rain/2230329836/">Panda</a> / <a
href="http://www.flickr.com/photos/shanegorski/2500050709/in/set-72157605114044891/">Macaw</a></em></p><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/07/animate-curtains-opening-with-jquery/' rel='bookmark' title='Permanent Link: Animate Curtains Opening with jQuery'>Animate Curtains Opening with jQuery</a> <small> Step 1 &#8211; What You&#8217;ll Need This tutorial would...</small></li><li><a
href='http://buildinternet.com/2009/06/animate-image-filling-up-using-jquery/' rel='bookmark' title='Permanent Link: Animate Image Filling Up Using jQuery'>Animate Image Filling Up Using jQuery</a> <small> The Photoshop Portion &#8211; Preparing Your Image(s) Step one...</small></li><li><a
href='http://buildinternet.com/2009/08/crafting-an-animated-postcard-with-jquery/' rel='bookmark' title='Permanent Link: Crafting an Animated Postcard With jQuery'>Crafting an Animated Postcard With jQuery</a> <small> Nicely illustrated banners are&#8230;nice. But why not add a...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=fzGVwCPESLI:V_FVWrnMwPQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=fzGVwCPESLI:V_FVWrnMwPQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=fzGVwCPESLI:V_FVWrnMwPQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=fzGVwCPESLI:V_FVWrnMwPQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=fzGVwCPESLI:V_FVWrnMwPQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=fzGVwCPESLI:V_FVWrnMwPQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=fzGVwCPESLI:V_FVWrnMwPQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=fzGVwCPESLI:V_FVWrnMwPQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=fzGVwCPESLI:V_FVWrnMwPQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=fzGVwCPESLI:V_FVWrnMwPQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/fzGVwCPESLI" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/02/animate-panning-slideshow-with-jquery/feed/</wfw:commentRss> <slash:comments>37</slash:comments> </item> <item><title>Fundamentals for a Kick-Ass Creative Company</title><link>http://buildinternet.com/2010/02/fundamentals-for-a-kick-ass-creative-company/</link> <comments>http://buildinternet.com/2010/02/fundamentals-for-a-kick-ass-creative-company/#comments</comments> <pubDate>Mon, 08 Feb 2010 05:40:41 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Business]]></category> <category><![CDATA[Entrepreneurship]]></category> <category><![CDATA[Management]]></category> <category><![CDATA[Motivation]]></category> <category><![CDATA[One Mighty Roar]]></category> <category><![CDATA[Opinion]]></category> <category><![CDATA[Philosophy]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8303</guid> <description><![CDATA[
This post has a little background to its inspiration.
At the start of Summer 2009, we started Officeal as a way to showcase the offices of companies that &#8220;get&#8221; creative culture. The numbers are slowly increasing, but it&#8217;s ended up serving a more important role. We&#8217;ve seen the kinds of things that make companies more than [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/11/getting-clients-to-embrace-fresh-ideas/' rel='bookmark' title='Permanent Link: Getting Clients to Embrace Fresh Ideas'>Getting Clients to Embrace Fresh Ideas</a> <small> The internet is full of brand new proof of...</small></li><li><a
href='http://buildinternet.com/2009/07/the-rebranding-of-a-company-a-case-study/' rel='bookmark' title='Permanent Link: The Rebranding of a Company &#8211; A Case Study'>The Rebranding of a Company &#8211; A Case Study</a> <small> Over the past few months, I&#8217;ve been part of...</small></li><li><a
href='http://buildinternet.com/2009/06/quote-this-project-fishing-supply-company-pricing-results/' rel='bookmark' title='Permanent Link: Quote This Project &#8211; Fishing Supply Company Pricing Results'>Quote This Project &#8211; Fishing Supply Company Pricing Results</a> <small> A little over a week ago, we set up...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/XgXPCSFNGVr2jGnNrF4XHWGeyKY/0/da"><img src="http://feedads.g.doubleclick.net/~a/XgXPCSFNGVr2jGnNrF4XHWGeyKY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/XgXPCSFNGVr2jGnNrF4XHWGeyKY/1/da"><img src="http://feedads.g.doubleclick.net/~a/XgXPCSFNGVr2jGnNrF4XHWGeyKY/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8303"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>This post has a little background to its inspiration.</p><p>At the start of Summer 2009, we started <a
title="Galleries of Awesome Offices" href="http://officeal.com">Officeal</a> as a way to showcase the offices of companies that &#8220;get&#8221; creative culture. The numbers are slowly increasing, but it&#8217;s ended up serving a more important role. We&#8217;ve seen the kinds of things that make companies <a
title="Traction Marketing Group" href="http://officeal.com/offices/traction-marketing-group/">more than just a place to work</a>. These are the types of <strong>companies that create <a
title="Google Zurich Offices" href="http://officeal.com/offices/google-zurich/">lifestyles you want to be a part of</a></strong>.</p><p>As some of you may know already, Sam and I also run a web and creative company called <a
title="Join the Internet" href="http://onemightyroar.com">One Mighty Roar</a>. (Build Internet was originally developed as a side-project after a few years of small-to-mid range client jobs as a way to contribute back to the web design community.) Since then we&#8217;ve expanded in both client base and number of people involved. Put simply, we&#8217;ve seen a lot of growth this past year from the business side of things.</p><p>Somewhere along the line of these internet crusades, we started to look at what all of this meant to us. After a while, we realized that we kept revisiting the same big ideas:</p><h3>The Big Question</h3><p><img
class="aligncenter" title="A very good question" src="http://s3.amazonaws.com/buildinternet/images/kickass-company-culture/one-big-question.jpg" alt="A very good question" width="600" height="250" /></p><p>What makes an awesome company on the inside? My answers will probably not be the same as yours. With that in mind, I&#8217;d like to share the philosophy One Mighty Roar has developed over the past couple years. If by the end you&#8217;d like to share your own insight, please feel free to treat us to your ideas in the comment below.</p><h4>Our answers so far&#8230;</h4><p>You&#8217;ll find One Mighty Roar&#8217;s philosophy-in-progress below, broken down into the big ideas:</p><h3>Always Have a Lead that Excites You</h3><p>Do you have something to look forward to? We like to always have a reach goal or project that excites the hell out of us. A reach lead keeps us excited with a constant chance of landing something extraordinary. Even when we work on smaller projects, we know that something bigger could be on the horizon. This could be a big brand website, a long term project with a steady budget, or just something with fascinating possibilities to grow.</p><p>Is this easier said than done? Absolutely. But it&#8217;s also motivation get moving and network with the right kind of people.</p><h3>Nobody is an Island</h3><p><a
href="http://www.flickr.com/photos/zanthia/3879362686/"><img
class="aligncenter" title="There's a need for collaboration" src="http://s3.amazonaws.com/buildinternet/images/kickass-company-culture/proverbial-island.jpg" alt="There's a need for collaboration" width="600" height="250" /></a></p><p>The Internet is build upon the ability to create communities and extend social connections. How the hell could a company based in web be any different? If you&#8217;re a web design company in our area, we&#8217;d love to meet up for lunch. You have a side-project you&#8217;d like to talk about? Awesome. We&#8217;re not in the business of cutthroat competition. Collaboration breeds creativity, and we&#8217;re all for networking to do so.</p><p>Professionals do not have to be good at everything. <strong>Learning from the work of others gives an opportunity to fill gaps your own company may have</strong>.</p><h3>Know Who Does It Well</h3><p>Building off the last point, we have a lot of role models in the web industry to whom we look to for motivation. We&#8217;ve met several, but most have no idea we exist. For years we&#8217;ve watched as some of our favorite companies have landed larger clients, launched huge projects, and gone through general growth.</p><h4>Good Ideas are Universal</h4><p>When it comes to the startup culture, industry is not a limit for inspiration. I will never sell shoes online, but Zappos never ceases to amaze me with their take on customer service. David Heinemeier Hansson of 37Signals has redefined how I look at simplicity and <a
title="Startup School Presentation" href="http://www.omnisio.com/startupschool08/david-heinemeier-hansson-at-startup-school-08">metrics for success</a>. Collis Ta&#8217;aed is the type of <a
title="The Netsetter" href="http://thenetsetter.com">accessible and transparent entrepreneur</a> that we can model communities after. Even though a company has a different focus, there&#8217;s almost always at least one thing to learn from it.</p><h3>Congratulate Brilliance</h3><p><img
class="aligncenter" title="That's a great idea" src="http://s3.amazonaws.com/buildinternet/images/kickass-company-culture/great-idea.jpg" alt="That's a great idea" width="600" height="250" /></p><p>Let&#8217;s rephrase this slightly. Congratulate the brilliance of <em>other people</em>. I&#8217;ve started to turned my &#8220;Why didn&#8217;t I think of that?!&#8221; frustration into <a
title="Inspiration from Admiration" href="http://buildinternet.com/2010/01/getting-inspiration-from-admiration/">motivation to build something just as great</a>. If you frequent the design communities online, it&#8217;s easy to forget that good design is not as common as it appears. With millions of websites out there, a truly well-designed website is statistically worth recognition.</p><h4>The Compliment Challenge</h4><p>Here&#8217;s a challenge that you can start today: The next time you find someone&#8217;s blog, design, or idea that impresses you &#8212; let them know! You&#8217;d be surprised how many networking opportunities can be found in a simple &#8220;Nice work!&#8221; email. Genuine compliments rarely get old.</p><h3>Entrepreneurship is a Constant</h3><p>When an idea succeeds, the entrepreneur that brought it to life shouldn&#8217;t magically go through a change. We believe the best CEO&#8217;s are the ones who never lost touch with the excitement of pushing through a new idea. Entrepreneur is not an entry level title for the yet unsuccessful &#8212; it&#8217;s a full-on personality type.</p><p>We gravitate towards people who have ideas in the making. Collaborating with big ideas only inspires bigger ones. The self-described entrepreneurs are the ones who will get fresh ideas realized, rather than maintain those that already exists.</p><h3>Choose Clients that Motivate You</h3><p><a
href="http://www.flickr.com/photos/clspeace/2143292403/"><img
class="aligncenter" title="Good clients make happy creatives" src="http://s3.amazonaws.com/buildinternet/images/kickass-company-culture/jump-for-joy.jpg" alt="Good clients make happy creatives" width="600" height="250" /></a></p><p>By this point, many people (myself included), have made <a
title="I wish these were fake" href="http://clientsfromhell.tumblr.com/">Clients from Hell</a> a daily read. While we laugh at the stories, the reality is that there are plenty of clients out there that rub companies the wrong way. They make us irritable, and turn an otherwise cheerful culture into a pile of stress and &#8220;get it over with!&#8221;</p><p>While there&#8217;s no foolproof way of avoiding these kinds of clients all the time, it still helps to know who will bring out the best in your company. As business grows, and you have the luxury of turning down jobs, aim for the right attitude. We think that in many cases an awesome client is worth more than a high budget headache.</p><h3>Closing Thoughts</h3><p>This is our manifesto so far. It will probably not be the same a month from now, but that&#8217;s perfectly fine. We learn as we go, and that&#8217;s part of what makes us excited to land the next project. Business is sometimes serious&#8230; business. These are principles we strive for. Does this mean we&#8217;re able to practice them without compromise from time to time? Of course not. They&#8217;re called <em>ideals</em> for a reason, after all. <a
title="Back in the day" href="http://sports.espn.go.com/espn/page2/story?page=caple/090311">If T-ball taught us anything in school</a>, it&#8217;s that the ongoing effort matters most.</p><h4>We&#8217;re a Fortunate Group</h4><p>The creative and marketing industries a lucky breed. They don&#8217;t have to worry about the seriousness and stresses of client insurance policies. They don&#8217;t deal exclusively with people at their worst times (e.g. auto repair shops). This doesn&#8217;t necessarily mean we&#8217;re living in a dream world, just that we&#8217;ve been given the opportunity to create &#8220;corporate cultures&#8221; that reflect the creativity of our work. <strong>We&#8217;re in the business of ideas</strong>, and it&#8217;s refreshing lifestyle and people (not cubicle structure) that promote more of them.</p><h3>Going Further</h3><p>There are plenty of blogs out there that focus on the day to day business of freelances and small ventures. The sites and resources below have a different kind of approach. Many of them focus more on the big picture rather than the intricate details. I&#8217;ll warn you now: not all of their purposes will be immediately apparent. Take some time to read an article or two from each, and you&#8217;ll hopefully begin to see where the value lies.</p><h4>Sites &amp; Blogs</h4><ol><li><a
title="Startups and Web Business" href="http://thenetsetter.com/blog/">The Netsetter</a></li><li><a
title="Experiments in Lifestyle Design" href="http://www.fourhourworkweek.com/blog/">The Blog of Tim Ferriss</a></li><li><a
title="Seth Godin on Marketing" href="http://sethgodin.typepad.com/">Seth Godin&#8217;s Blog&#8217;</a></li><li><a
title="Helping Creative People Create" href="http://lifedev.net/">LifeDev</a></li><li><a
title="TED Talks on Business" href="http://www.ted.com/talks/tags/id/4">TED Talks on Business</a></li><li><a
title="Blog of 37Signals" href="http://37signals.com/svn">Signal vs. Noise</a></li></ol><h4>Books &amp; Reading</h4><ol><li><a
href="http://www.amazon.com/gp/product/0307465357?ie=UTF8&amp;tag=buiint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0307465357">The 4-Hour Workweek</a></li><li><a
href="http://www.amazon.com/gp/product/0066620996?ie=UTF8&amp;tag=buiint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0066620996">Good to Great: Why Some Companies Make the Leap&#8230; and Others Don&#8217;t</a></li><li><a
href="http://www.amazon.com/gp/product/0061914177?ie=UTF8&amp;tag=buiint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0061914177">Crush It!: Why NOW Is the Time to Cash In on Your Passion</a></li><li><a
href="http://www.amazon.com/gp/product/0578012812?ie=UTF8&amp;tag=buiint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0578012812">Getting Real: The smarter, faster, easier way to build a successful web application</a></li><li><a
href="http://www.amazon.com/gp/product/0684852861?ie=UTF8&amp;tag=buiint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0684852861">First, Break All the Rules: What the World&#8217;s Greatest Managers Do Differently</a></li><li><a
href="http://www.amazon.com/gp/product/0060566108?ie=UTF8&amp;tag=buiint-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=0060566108">Built to Last: Successful Habits of Visionary Companies</a></li></ol><p>That&#8217;s our take. What about yours?</p><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/11/getting-clients-to-embrace-fresh-ideas/' rel='bookmark' title='Permanent Link: Getting Clients to Embrace Fresh Ideas'>Getting Clients to Embrace Fresh Ideas</a> <small> The internet is full of brand new proof of...</small></li><li><a
href='http://buildinternet.com/2009/07/the-rebranding-of-a-company-a-case-study/' rel='bookmark' title='Permanent Link: The Rebranding of a Company &#8211; A Case Study'>The Rebranding of a Company &#8211; A Case Study</a> <small> Over the past few months, I&#8217;ve been part of...</small></li><li><a
href='http://buildinternet.com/2009/06/quote-this-project-fishing-supply-company-pricing-results/' rel='bookmark' title='Permanent Link: Quote This Project &#8211; Fishing Supply Company Pricing Results'>Quote This Project &#8211; Fishing Supply Company Pricing Results</a> <small> A little over a week ago, we set up...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=I1yycrfh2ps:6XvZosFNJ5o:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=I1yycrfh2ps:6XvZosFNJ5o:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=I1yycrfh2ps:6XvZosFNJ5o:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=I1yycrfh2ps:6XvZosFNJ5o:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=I1yycrfh2ps:6XvZosFNJ5o:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=I1yycrfh2ps:6XvZosFNJ5o:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=I1yycrfh2ps:6XvZosFNJ5o:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=I1yycrfh2ps:6XvZosFNJ5o:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=I1yycrfh2ps:6XvZosFNJ5o:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=I1yycrfh2ps:6XvZosFNJ5o:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/I1yycrfh2ps" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/02/fundamentals-for-a-kick-ass-creative-company/feed/</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>Designing for E-Commerce Personalities</title><link>http://buildinternet.com/2010/02/designing-for-e-commerce-personalities/</link> <comments>http://buildinternet.com/2010/02/designing-for-e-commerce-personalities/#comments</comments> <pubDate>Wed, 03 Feb 2010 14:40:30 +0000</pubDate> <dc:creator>Damon Bauer</dc:creator> <category><![CDATA[Articles]]></category> <category><![CDATA[Communication]]></category> <category><![CDATA[Design]]></category> <category><![CDATA[E-Commerce]]></category> <category><![CDATA[Personas]]></category> <category><![CDATA[Usability]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8287</guid> <description><![CDATA[
Conversion, return on investment, loyalty, referrals; all of these site metrics are incredibly important to any successful website, and a site that sells product(s) is no exception. In a world (wide web) that&#8217;s muddled and overrun with sub-par, poorly designed shopping websites, it&#8217;s hard to break away from the mold.
The key is to be informed [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/08/the-anatomy-of-an-online-store/' rel='bookmark' title='Permanent Link: The Anatomy of An Online Store'>The Anatomy of An Online Store</a> <small> Let&#8217;s not try to over simplify online shopping. If...</small></li><li><a
href='http://buildinternet.com/2009/08/the-anatomy-of-a-corporate-site/' rel='bookmark' title='Permanent Link: The Anatomy of a Corporate Site'>The Anatomy of a Corporate Site</a> <small> This is part three of the week-long &#8220;Website Anatomy...</small></li><li><a
href='http://buildinternet.com/2009/10/how-to-plan-a-content-heavy-site/' rel='bookmark' title='Permanent Link: How to Plan a Content Heavy Site'>How to Plan a Content Heavy Site</a> <small> Editor&#8217;s Note: Today&#8217;s guest post comes from Mary Fran....</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/_H33DxW4vu4mHyRawy3KEe16HZ0/0/da"><img src="http://feedads.g.doubleclick.net/~a/_H33DxW4vu4mHyRawy3KEe16HZ0/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/_H33DxW4vu4mHyRawy3KEe16HZ0/1/da"><img src="http://feedads.g.doubleclick.net/~a/_H33DxW4vu4mHyRawy3KEe16HZ0/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8287"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>Conversion, return on investment, loyalty, referrals; all of these site metrics are incredibly important to any successful website, and a site that sells product(s) is no exception. In a world (wide web) that&#8217;s muddled and overrun with sub-par, poorly designed shopping websites, it&#8217;s hard to break away from the mold.</p><p>The key is to be informed &#8212; not only about designing a better shopping experience, but making that shopping experience more informative and enjoyable for the most important person, a potential customer! In my experience, I&#8217;ve noticed five main types of online shoppers. They&#8217;re much like normal brick &amp; mortar shoppers, too. So, how do you make the best experience possible for these five types of people?</p><h3>Bargain Hunter</h3><p><a
href="http://www.flickr.com/photos/roadsidepictures/3896644731/"><img
class="aligncenter" title="Bargains Galore" src="http://s3.amazonaws.com/buildinternet/images/ecommerce-personalities/bargains-galore.jpg" alt="Bargains Galore" width="600" height="300" /></a></p><p>The bargain hunter is just like shoppers you&#8217;d see in a supermarket. The one&#8217;s who hold up all the lines with their unorganized coupon binder, sets of buy five, get one free items and their rebate stuffed receipts. The same goes for web buyers. They regularly search sites like <a
href="http://www.retailmenot.com/">Retailmenot</a> and <a
href="http://www.cheapstingybargains.com/">Cheap Stingy Bargains</a> looking for free swag or coupon codes to use.</p><h4>How to help a Bargain Hunter</h4><p>The simplest way to accommodate the bargain hunter is to enable coupon/promo codes during checkout. Most recent shopping cart software will ship with this functionality (or at the very least, have plug-ins developed that will allow it). You can promote these codes by submitting them to sites, sending out emails with the code and giving a code in an email after a purchase has been made &#8212; this will also encourage them to come back.</p><h3>Window Shopper</h3><p><a
href="http://www.flickr.com/photos/swanksalot/3974774370/"><img
class="aligncenter" title="I'll take all of them" src="http://s3.amazonaws.com/buildinternet/images/ecommerce-personalities/robot-in-window" alt="I'll take all of them" width="600" height="300" /></a></p><p>Have you ever been walking down the street and saw something you just couldn&#8217;t live without (then you saw the price)? That, in a nutshell, is the window shopper. Whether they are shopping for a new LCD TV, dress, car or jewelry, this shopper can sometimes get talked into buying something over the course of a few visits.</p><h4>How to help a Window Shopper</h4><p>A great way to sell to the window shopper is to describe your products as detailed and precise as you can. List any benefits, positive uses and other things that might be useful to know. That way, the consumer can&#8217;t turn down a product that can help them in so many different ways.</p><h3>Review-Centric Shopper</h3><p><a
href="http://www.flickr.com/photos/ugardener/3274095876/"><img
class="aligncenter" title="Lots of choices" src="http://s3.amazonaws.com/buildinternet/images/ecommerce-personalities/ties-for-sale.jpg" alt="Lots of choices" width="600" height="300" /></a></p><p>Popular sites like <a
href="http://www.amazon.com/">Amazon</a> and <a
href="http://www.newegg.com/">Newegg</a> use a star rating system that allows customers to rate a product after purchasing. Some people say to take these reviews with a grain of salt, because they might not have any experience outside of the product they are reviewing. Personally, I like reading these reviews because it gives me a wide range of previous buyers that have used the product I might buy.</p><h4>How to help a Review-Centric Shopper</h4><p>Obviously, the best way to make your site usable to the review centric shopper is to add a rating and/or commenting system on your products. Along with the coupon codes, many shopping carts will come with the functionality or at least have some plugins that can achieve this addition.</p><h3>The Big Spender</h3><p><a
href="http://www.flickr.com/photos/aresauburnphotos/2678453389/"><img
class="aligncenter" title="Serious Spending Power" src="http://s3.amazonaws.com/buildinternet/images/ecommerce-personalities/pile-of-money.jpg" alt="Serious Spending Power" width="600" height="300" /></a></p><p>Ah, the big spender. They buy the biggest, most expensive products every time they go out. They will walk by an area of a store and just throw things in their cart without ever thinking twice. They shop at the most expensive department stores and buy only name brands.</p><h4>How to sell to a Big Spender</h4><p>My opinion on the big spender? They are great for your site stats and revenue! On  every product detail page, try adding a block of &#8220;Related Products&#8221; or &#8220;Add on Accessories&#8221; with a link to add it to their cart right then. The temptation to buy more products is there and  the big spender just might take the bait.</p><h3>The Comparison Shopper</h3><p><a
href="http://www.flickr.com/photos/caveman_92223/3173436256/"><img
class="aligncenter" title="These brands are a little off" src="http://s3.amazonaws.com/buildinternet/images/ecommerce-personalities/fake-brands.jpg" alt="These brands are a little off" width="600" height="300" /></a></p><p>In my shopping experiences (online and off), there are usually always two types of products; the name brand &amp; the off brand, with the off brand typically cheaper. When looking at these, the price is usually the deciding factor in which one someone purchases. But what if you are selling the name brand? Can you rely on the name alone to sell, if the off-brand is the same product, just repackaged? In the world&#8217;s current economic state, I&#8217;m beginning to think a name might not be enough anymore.</p><p>How does all this relate to online sales, you might ask? Well, online shoppers are just like offline &#8212; they want a solid product at the cheapest price without sacrificing quality. So, you need to prove to them that your product is worth their investment and is a better choice than your competitor&#8217;s product.</p><h4>How to sell to a Comparison Shopper</h4><p>Firstly, add a rating and review section on each product detail page. Seeing past customer feedback can change someone&#8217;s opinion rather quickly. Secondly, try adding an area for testimonials that you can administer. This way, if you get some astounding review from some well known sources, your credibility will be raised instantaneously. You can always style the testimonials to make them stand out as to catch user&#8217;s attention, too.</p><h3>Go Forth and Sell</h3><p>There you have it. The five main types of online shoppers and some tips to sell to each of them. With a bit of research, creating a user-based shopping experience isn&#8217;t very far out of your reach. As a result of your work, you will notice more customer interaction (ratings &amp; reviews), more sales (due to trust from testimonials), and return customers (promo codes and referral leads).  Why not take some time and spruce up your shopping experience? Your customers, and your wallet, will thank you!</p><p>Do you have any other personalities to add to this list? Be sure to share them in the comments below!</p><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/08/the-anatomy-of-an-online-store/' rel='bookmark' title='Permanent Link: The Anatomy of An Online Store'>The Anatomy of An Online Store</a> <small> Let&#8217;s not try to over simplify online shopping. If...</small></li><li><a
href='http://buildinternet.com/2009/08/the-anatomy-of-a-corporate-site/' rel='bookmark' title='Permanent Link: The Anatomy of a Corporate Site'>The Anatomy of a Corporate Site</a> <small> This is part three of the week-long &#8220;Website Anatomy...</small></li><li><a
href='http://buildinternet.com/2009/10/how-to-plan-a-content-heavy-site/' rel='bookmark' title='Permanent Link: How to Plan a Content Heavy Site'>How to Plan a Content Heavy Site</a> <small> Editor&#8217;s Note: Today&#8217;s guest post comes from Mary Fran....</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=0tU0dbEWskM:cLKckE-e5DQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=0tU0dbEWskM:cLKckE-e5DQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=0tU0dbEWskM:cLKckE-e5DQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=0tU0dbEWskM:cLKckE-e5DQ:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=0tU0dbEWskM:cLKckE-e5DQ:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=0tU0dbEWskM:cLKckE-e5DQ:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=0tU0dbEWskM:cLKckE-e5DQ:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=0tU0dbEWskM:cLKckE-e5DQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=0tU0dbEWskM:cLKckE-e5DQ:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=0tU0dbEWskM:cLKckE-e5DQ:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/0tU0dbEWskM" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/02/designing-for-e-commerce-personalities/feed/</wfw:commentRss> <slash:comments>16</slash:comments> </item> <item><title>How to Win Clients When You’re the Underdog</title><link>http://buildinternet.com/2010/01/how-to-win-clients-when-youre-the-underdog/</link> <comments>http://buildinternet.com/2010/01/how-to-win-clients-when-youre-the-underdog/#comments</comments> <pubDate>Thu, 28 Jan 2010 03:40:56 +0000</pubDate> <dc:creator>Chandler Quintin</dc:creator> <category><![CDATA[Business]]></category> <category><![CDATA[Clients]]></category> <category><![CDATA[Negotiation]]></category> <category><![CDATA[Pitching]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8268</guid> <description><![CDATA[
A management professor once told me that in business, the only thing you need to know is one special shape. This meant absolutely nothing to me until he began to show me how every fundamental business practice boils down to a basic geometric shape.
Here I am paying $50k a year and we’re going to learn [...]Related posts:<ol><li><a
href='http://buildinternet.com/2010/01/4-rules-for-pitching-to-offline-clients/' rel='bookmark' title='Permanent Link: 4 Rules for Pitching to Offline Clients'>4 Rules for Pitching to Offline Clients</a> <small> Being based online has its share of advantages. Clients...</small></li><li><a
href='http://buildinternet.com/2009/11/getting-clients-to-embrace-fresh-ideas/' rel='bookmark' title='Permanent Link: Getting Clients to Embrace Fresh Ideas'>Getting Clients to Embrace Fresh Ideas</a> <small> The internet is full of brand new proof of...</small></li><li><a
href='http://buildinternet.com/2009/06/watch-your-language-clients-pricing/' rel='bookmark' title='Permanent Link: Watch Your Language: Clients &#038; Pricing'>Watch Your Language: Clients &#038; Pricing</a> <small> // Want more pricing help? This is day two...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/I6p9etQILIGwETJBIq_qDzsO8cw/0/da"><img src="http://feedads.g.doubleclick.net/~a/I6p9etQILIGwETJBIq_qDzsO8cw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/I6p9etQILIGwETJBIq_qDzsO8cw/1/da"><img src="http://feedads.g.doubleclick.net/~a/I6p9etQILIGwETJBIq_qDzsO8cw/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8268"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>A management professor once told me that in business, the only thing you need to know is one special shape. This meant absolutely nothing to me until he began to show me how <strong>every fundamental business practice boils down to a basic geometric shape</strong>.</p><p>Here I am paying $50k a year and we’re going to learn about one shape &#8211; a classic equilateral triangle. You know, that guy with 3 sides, 60 degrees each angle, and 180 degrees to go around. Yup, the simple, classy, equilateral triangle. 3 sides, no frills, all business. <em>A Harvard MBA teaching other MBA’s about triangles?</em></p><p>I&#8217;m skeptical to say the least.</p><h3>A $50,000 Triangle</h3><p>As it turns out, the professor is spot on. Without getting technical, the geometry of thinking takes complex ideas and generates them into solid variables. Statistically, take on any more than three variables, and you’ve got a huge pile of worthless information with far too many options.  Take on any less than three variables, and you’ve just induced tunnel vision.  Three is the magic number because it’s just enough form with just enough chaos to actually yield real information. <strong>Basically you take a big idea, smash it into three variables, and voila – you can now use your triangle for a myriad of things.</strong></p><p>At this point, it&#8217;s alright to be puzzled, luckily this concept is about as simple as the shape itself. Here’s what I call “Triangle One” and how we use it to determine our strategy for beating out competition when pitching to clients.</p><h3>First Corner &#8211; Economic Quality</h3><p><img
class="aligncenter" title="Economic Quality" src="http://buildinternet.s3.amazonaws.com/images/triangle-one/economic_point.jpg" alt="" width="600" height="160" /></p><p>The first corner of “Triangle One” is your firm’s economic quality: In terms of cost, how expensive is your firm compared to the next guy? Does your cost reflect your quality? On an apples to apples comparison, how does your firm stack up?</p><p><strong>Use this corner of the triangle when you’re up against a firm who’s only difference is their sheer size.</strong> They’re better because they’re bigger… or are they? Let clients know you’re scalable, flexible, and you don’t have to pay a 40-person staff their comfortable salaries.</p><h3>Second Corner &#8211; Interaction Quality</h3><p><img
class="aligncenter" title="Interaction Quality" src="http://buildinternet.s3.amazonaws.com/images/triangle-one/interaction_point.jpg" alt="" width="600" height="160" /></p><p>The second corner of “Triangle One” is your firm’s interaction quality: Are you more personal with clients than your competitor? What’s the demeanor of your interactions? What sort of relationship do you build?</p><p><strong>Use this corner of the triangle when you’re up against a firm who takes projects and disappears.</strong> Let the client know you’re a phone call away from their idea, rather than a few unanswered phone calls, unread e-mails, and a few unheard voicemails away. Trust us, it makes the difference. Make yourself available, but don’t give up control.</p><h3>Third Corner &#8211; Differentiation</h3><p><img
class="aligncenter" title="Differentiation" src="http://buildinternet.s3.amazonaws.com/images/triangle-one/differentiation.jpg" alt="" width="600" height="160" /></p><p>The third corner of “Triangle One” is your firm’s differentiation: Simply, why are you unique? Why chose your firm over another? What makes your firm stand out like a sore thumb (assuming a sore thumb is something awesome)?</p><p><strong>Use this corner of the triangle when you’re up against a firm who you can’t quite beat on economics. </strong>Let&#8217;s be honest, you have to justify your costs sometimes too, make frequent use of this corner. Why your different is why you’re in business and the “firm” down the street isn’t. Show your uniqueness and show it well. Everyone’s watching.</p><h3>Go Ahead, Pick Your Corner</h3><p>Inside “Triangle One” lives your firm and the location of your firm is pulled and pushed by each of the three dimensions. The more you show towards one quality, the closer you are to its corner. <strong>It’s up to employee, client, and even personal evaluations to place your firm inside the triangle. </strong></p><p>Most major firms tend to pull away from interaction and settle somewhere between economy and differentiation. The more centralized the location, the better.</p><p>Smaller firms tend to sit right in the middle; however, smaller firms have the advantage because they have the flexibility to stretch their home as close to the corners as they want to. However, never spread yourself too thin, but that’s another triangle for another time.</p><p>Next time your smaller firm is pitted up toe to toe against a bigger, “better” competitor, try to explore ways to exploit their “Triangle One” and capitalize on your “Triangle One”.  Beat any big firm in at least 2 of the 3 corners and you’ll get more shots than MTV’s Jersey Shore (If that pop culture reference went over your head, consider yourself lucky). Show that you in fact can compete… and do a <em>damn good job</em> doing it.</p><h4>Source</h4><p>(c) 2010 Robert W. Keidel. The Geometry of Strategy: Concepts for Strategic Management. Routledge.</p><p>Related posts:<ol><li><a
href='http://buildinternet.com/2010/01/4-rules-for-pitching-to-offline-clients/' rel='bookmark' title='Permanent Link: 4 Rules for Pitching to Offline Clients'>4 Rules for Pitching to Offline Clients</a> <small> Being based online has its share of advantages. Clients...</small></li><li><a
href='http://buildinternet.com/2009/11/getting-clients-to-embrace-fresh-ideas/' rel='bookmark' title='Permanent Link: Getting Clients to Embrace Fresh Ideas'>Getting Clients to Embrace Fresh Ideas</a> <small> The internet is full of brand new proof of...</small></li><li><a
href='http://buildinternet.com/2009/06/watch-your-language-clients-pricing/' rel='bookmark' title='Permanent Link: Watch Your Language: Clients &#038; Pricing'>Watch Your Language: Clients &#038; Pricing</a> <small> // Want more pricing help? This is day two...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=eveBcm9_0yo:MH_Lf8CNNcM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=eveBcm9_0yo:MH_Lf8CNNcM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=eveBcm9_0yo:MH_Lf8CNNcM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=eveBcm9_0yo:MH_Lf8CNNcM:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=eveBcm9_0yo:MH_Lf8CNNcM:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=eveBcm9_0yo:MH_Lf8CNNcM:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=eveBcm9_0yo:MH_Lf8CNNcM:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=eveBcm9_0yo:MH_Lf8CNNcM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=eveBcm9_0yo:MH_Lf8CNNcM:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=eveBcm9_0yo:MH_Lf8CNNcM:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/eveBcm9_0yo" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/01/how-to-win-clients-when-youre-the-underdog/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>How to Make a CSS Sprite Powered Menu</title><link>http://buildinternet.com/2010/01/how-to-make-a-css-sprite-powered-menu/</link> <comments>http://buildinternet.com/2010/01/how-to-make-a-css-sprite-powered-menu/#comments</comments> <pubDate>Tue, 26 Jan 2010 05:27:14 +0000</pubDate> <dc:creator>Zach Dunn</dc:creator> <category><![CDATA[Tutorials]]></category> <category><![CDATA[Basics]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[Navigation]]></category> <category><![CDATA[SEO]]></category> <category><![CDATA[XHTML]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8189</guid> <description><![CDATA[
We haven&#8217;t gone back to basics in a while.
Today&#8217;s tutorial will bring you through the process of building a slick menu using a single CSS sprite image. It&#8217;s a simple, but elegant solution for most websites. This was one of the design strategies that first helped me to start using smarter markup. For those of [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/12/using-the-php-include-function-to-template-faster/' rel='bookmark' title='Permanent Link: Using the PHP Include Function to Template Faster'>Using the PHP Include Function to Template Faster</a> <small> Today&#8217;s tutorial shows how using PHP&#8217;s include function for...</small></li><li><a
href='http://buildinternet.com/2009/06/how-to-make-a-slideshow-with-a-transparent-png-frame/' rel='bookmark' title='Permanent Link: How to Make a Slideshow with a Transparent PNG Frame'>How to Make a Slideshow with a Transparent PNG Frame</a> <small> Today&#8217;s tutorial is headed back to the basics. We&#8217;re...</small></li><li><a
href='http://buildinternet.com/2009/09/quick-tip-simplify-list-margins-with-css/' rel='bookmark' title='Permanent Link: Quick Tip &#8211; Simplify List Margins with CSS'>Quick Tip &#8211; Simplify List Margins with CSS</a> <small> After working with CSS for a while, it&#8217;s easy...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/yfY4e970O8ZICVgaZR12TN6LcKs/0/da"><img src="http://feedads.g.doubleclick.net/~a/yfY4e970O8ZICVgaZR12TN6LcKs/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/yfY4e970O8ZICVgaZR12TN6LcKs/1/da"><img src="http://feedads.g.doubleclick.net/~a/yfY4e970O8ZICVgaZR12TN6LcKs/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8189"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>We haven&#8217;t gone back to basics in a while.</p><p>Today&#8217;s tutorial will bring you through the process of building a slick menu using a single CSS sprite image. It&#8217;s a simple, but elegant solution for most websites. This was one of the design strategies that first helped me to start using smarter markup. For those of you just getting introduced to this technique today, hopefully you&#8217;ll have some similar results.</p><p>The end goal is to create a navigation menu that loads quickly, and does not require any dated JavaScript for hover effects. If you&#8217;re still using individual images for each menu item, it&#8217;s time to upgrade.</p><h3>The Goal</h3><p>This CSS sprite will keep HTTP requests down and increase load speed. For a more in depth explanation of CSS Sprites, take a look at <a
title="A look at CSS Sprites" href="http://css-tricks.com/css-sprites/">Chris Coyier&#8217;s article on CSS Tricks</a>. He goes into a wider variety of uses, but this tutorial will focus on getting the navigation done for simplicity&#8217;s sake.</p><p><img
class="aligncenter" title="The end result" src="http://s3.amazonaws.com/buildinternet/images/css-sprite-menu/css-sprite-nav-result.jpg" alt="The end result" width="600" height="150" /></p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/css-sprite-menu/css-sprites-nav.html" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/css-sprite-menu/css-sprites-nav.zip"></a></div><h3>Design the Menu</h3><p>Breaking from the usual flow of tutorials, we&#8217;re going to take a look at part of the Photoshop process before hitting the code. This is in order to demonstrate a simple way of measurement and markers for the menu&#8217;s sprite design.</p><h4>Love the Grid</h4><p>Rulers and markers are your best friend when it comes to CSS sprites. To take advantage of these guides in Photoshop, turn on rulers through the View&gt;Rulers option in the toolbar. Once rulers are active, you can create a new guide by click on the ruler and then dragging onto the composition area. These guide lines can be used to align your sprite. Alternatively, you can activate the grid overlay through View&gt;Show&gt;Grid.</p><p
style="text-align: center;"><img
class="aligncenter" title="Guides in Photoshop" src="http://s3.amazonaws.com/buildinternet/images/css-sprite-menu/menu-sprite-psd.jpg" alt="Guides in Photoshop" /></p><p>In order for the positioning to work in CSS, you&#8217;ll need to know the rough coordinates of each menu item inside the sprite. I&#8217;ve found it easiest to pick a measurement system that it consistent instead of minimal.</p><p>To put it another way, I would much rather remember 100px, 200px, etc than 101px, 342px, etc. Blocking your sprite out in a logical grid also makes future changes significantly less painful, and often requires less adjustment. You can find the example sprite image that I use for this tutorial at the bottom of this post in the source files.</p><h3>Structure with HTML</h3><p>The code below will set up a basic menu structure for us to work with in CSS. Feel free to start a new file or insert into an existing menu.</p><pre name="code" class="php">&lt;!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
	"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"&gt;

&lt;html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en"&gt;
&lt;head&gt;
	&lt;meta http-equiv="Content-Type" content="text/html; charset=utf-8"/&gt;

	&lt;title&gt;CSS Sprite Navigation&lt;/title&gt;
	&lt;link rel="stylesheet" href="css-sprites-nav.css" type="text/css" /&gt;

&lt;/head&gt;

&lt;body&gt;

		&lt;ul id="menu"&gt;
			&lt;li class="home"&gt;&lt;a class="selected" href="#"&gt;Home&lt;/a&gt;&lt;/li&gt;
			&lt;li class="about"&gt;&lt;a href="#"&gt;About&lt;/a&gt;&lt;/li&gt;
			&lt;li class="contact"&gt;&lt;a href="#"&gt;Contact&lt;/a&gt;&lt;/li&gt;
		&lt;/ul&gt;

&lt;/body&gt;
&lt;/html&gt;</pre><h4>A Brief Word on SEO</h4><p>Our top navigation menu will be structured as a list to keep <a
title="What is semantic code?" href="http://boagworld.com/technology/semantic-code-what-why-how">semantic code</a>. Keep in mind that because these list items will only be displaying an image. The hidden overflow and negative text indent will hide any text from the user&#8217;s view. We do not want to leave them blank, because that would give search engines less content to crawl. Even though the images will have text, the search engine will not be aware of this unless we give it actual code to reference.</p><p><strong>The Big Idea:</strong> As designs become more graphic intense, it is ok to use images (in moderation) as text replacement for elements like navigation, banners, button, etc. If you choose to do this, you still have to account for the search engines.</p><h3>Position Images with CSS</h3><p>Copy the code below into your CSS file for the project. An explanation will follow.</p><pre name="code" class="css">/* Everything CSS Sprite Menu */
	ul#menu{margin:0; padding:0; list-style:none; clear:both;}
		#menu li{overflow:hidden; text-indent:-9999px; display:inline; float:left; margin-right:10px;}
			#menu li a{background:url('images/menu-sprite.jpg') no-repeat; width:100%; height:100%; display:block;}

			/* Home Button */
			#menu li.home{width:115px; height:60px;}
				#menu li.home a{background-position:-5px -5px;}
				#menu li.home a:hover{background-position:-5px -75px;}
				#menu li.home a.selected{background-position:-5px -145px;}

			/* About Button */
			#menu li.about{width:120px; height:60px;}
				#menu li.about a{background-position:-125px -5px;}
				#menu li.about a:hover{background-position:-125px -75px;}
				#menu li.about a.selected{background-position:-125px -145px;}

			/* Contact Button */
			#menu li.contact{width:160px; height:60px;}
				#menu li.contact a{background-position:-250px -5px;}
				#menu li.contact a:hover{background-position:-250px -75px;}
				#menu li.contact a.selected{background-position:-250px -145px;}</pre><h4>Change Image with Background Position</h4><p>The background-position CSS property allows you to specify a set of coordinates on the background image. The benefit of this is that you can load a single background image for a number of elements, but give individual ones their own coordinates. This property is the backbone of CSS sprites.</p><p>You&#8217;ll remember that we gave each menu list item its own class. This allows us to target them individually for background image coordinates. The background image has already been defined by the general anchor tag style, so the only change that needs to be made for each menu item is the positioning. Especially on larger projects, keeping down the number of redundant styles is key to keeping sanity.</p><p>Using this method, we created three unique states for the navigation:</p><ol><li>Default is displayed to start</li><li>Hover is activated by mouseover</li><li>Selected indicates the current page location. It can be activated by a special &#8220;selected&#8221; class assignment</li></ol><p>Unless you&#8217;re building something out of the ordinary (<em>e.g.</em> multi-tiered menu), you&#8217;d have a hard time needing anything past these three states.</p><h3>Wrapping Up</h3><p>By this point you should have a menu driven by a single image. As Chris Coyier&#8217;s article brings up, this lowers HTTP requests and allows a smoother loading experience than a long list of bulky separate files for each element. Condensing is good for pages.</p><p>I&#8217;ve put together a ZIP file of source code and demo for further help. The example in the file is a little more comprehensive, but still follows the principles of this tutorial. Having any errors or confusion about the process? Leave a comment below and we&#8217;ll try to sort things out.</p><div
class="livedownloadbtn"><a
class="livedemo" href="http://s3.amazonaws.com/buildinternet/live-tutorials/css-sprite-menu/css-sprites-nav.html" target="_blank"></a><a
class="livedownload" href="http://s3.amazonaws.com/buildinternet/live-tutorials/css-sprite-menu/css-sprites-nav.zip"></a></div><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/12/using-the-php-include-function-to-template-faster/' rel='bookmark' title='Permanent Link: Using the PHP Include Function to Template Faster'>Using the PHP Include Function to Template Faster</a> <small> Today&#8217;s tutorial shows how using PHP&#8217;s include function for...</small></li><li><a
href='http://buildinternet.com/2009/06/how-to-make-a-slideshow-with-a-transparent-png-frame/' rel='bookmark' title='Permanent Link: How to Make a Slideshow with a Transparent PNG Frame'>How to Make a Slideshow with a Transparent PNG Frame</a> <small> Today&#8217;s tutorial is headed back to the basics. We&#8217;re...</small></li><li><a
href='http://buildinternet.com/2009/09/quick-tip-simplify-list-margins-with-css/' rel='bookmark' title='Permanent Link: Quick Tip &#8211; Simplify List Margins with CSS'>Quick Tip &#8211; Simplify List Margins with CSS</a> <small> After working with CSS for a while, it&#8217;s easy...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=syWjHnwHQ2o:APrttMcAoQ4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=syWjHnwHQ2o:APrttMcAoQ4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=syWjHnwHQ2o:APrttMcAoQ4:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=syWjHnwHQ2o:APrttMcAoQ4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=syWjHnwHQ2o:APrttMcAoQ4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=syWjHnwHQ2o:APrttMcAoQ4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=syWjHnwHQ2o:APrttMcAoQ4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=syWjHnwHQ2o:APrttMcAoQ4:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=syWjHnwHQ2o:APrttMcAoQ4:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=syWjHnwHQ2o:APrttMcAoQ4:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/syWjHnwHQ2o" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/01/how-to-make-a-css-sprite-powered-menu/feed/</wfw:commentRss> <slash:comments>60</slash:comments> </item> <item><title>Five Minute Upgrade – Make Your Workstation (More) Ergonomic</title><link>http://buildinternet.com/2010/01/five-minute-upgrade-make-your-workstation-more-ergonomic/</link> <comments>http://buildinternet.com/2010/01/five-minute-upgrade-make-your-workstation-more-ergonomic/#comments</comments> <pubDate>Fri, 22 Jan 2010 00:41:07 +0000</pubDate> <dc:creator>Sam Dunn</dc:creator> <category><![CDATA[Articles]]></category> <category><![CDATA[Ergonomics]]></category> <category><![CDATA[Five Minute Upgrade]]></category> <category><![CDATA[Workstation]]></category><guid isPermaLink="false">http://buildinternet.com/?p=8194</guid> <description><![CDATA[
I&#8217;m going to be bold for just a moment and assume that you spend a fair amount of time at the computer.
If you pile on hour after hour in front of a screen, maybe you should take the time to make sure you&#8217;re as comfortable as you could possibly be &#8211; which is where [...]Related posts:<ol><li><a
href='http://buildinternet.com/2009/02/five-minute-upgrade-header-hierarchy/' rel='bookmark' title='Permanent Link: Five Minute Upgrade &#8211; Header Hierarchy'>Five Minute Upgrade &#8211; Header Hierarchy</a> <small>Headings can be tricky business. In a continuation of our...</small></li><li><a
href='http://buildinternet.com/2009/08/five-minute-upgrade-writing-blog-post-titles-that-grab-attention/' rel='bookmark' title='Permanent Link: Five Minute Upgrade &#8211; Writing Blog Post Titles That Grab Attention'>Five Minute Upgrade &#8211; Writing Blog Post Titles That Grab Attention</a> <small> You&#8217;ve just spent a ton of time putting together...</small></li><li><a
href='http://buildinternet.com/2009/01/five-minute-upgrade-using-css-borders-for-emphasis/' rel='bookmark' title='Permanent Link: Five Minute Upgrade &#8211; Using CSS Borders for Emphasis'>Five Minute Upgrade &#8211; Using CSS Borders for Emphasis</a> <small>I&#8217;ve noticed recently that many of the techniques used by...</small></li></ol>]]></description> <content:encoded><![CDATA[
<p><a href="http://feedads.g.doubleclick.net/~a/Y3iEZDOngXDj6JZnXP26tND2e1Y/0/da"><img src="http://feedads.g.doubleclick.net/~a/Y3iEZDOngXDj6JZnXP26tND2e1Y/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Y3iEZDOngXDj6JZnXP26tND2e1Y/1/da"><img src="http://feedads.g.doubleclick.net/~a/Y3iEZDOngXDj6JZnXP26tND2e1Y/1/di" border="0" ismap="true"></img></a></p><p><span
id="more-8194"></span><div
class="ad-under-title-wrap"><script type="text/javascript">google_ad_client = "pub-8509777014645596";
	/* Under Post Title (Alt) */
	google_ad_slot = "9795724515";
	google_ad_width = 336;
	google_ad_height = 280;</script> <script type="text/javascript"
	src="http://pagead2.googlesyndication.com/pagead/show_ads.js"></script></div></p><p>I&#8217;m going to be bold for just a moment and assume that you spend a fair amount of time at the computer.</p><p>If you pile on hour after hour in front of a screen, maybe you should take the time to make sure you&#8217;re as comfortable as you could possibly be &#8211; which is where ergonomics comes in.</p><p><strong>Ergonomics is the science of designing the job, equipment, and workplace to fit the worker. There are two reasons to have an ergonomic setup &#8211; health and productivity</strong>.</p><p>With that said, why not see what you can do to tweak your work environment and consequently live a longer and more productive life?</p><h3>The Checklist</h3><p>There are plenty of articles floating around that can point you in the ergonomically correct direction, but in order to make things easier, here is a quick checklist based off some of those readings. The sources are linked to at the end of the post, for those of you that feel so inclined.</p><h4>Chair</h4><p><a
href="http://embody.hermanmiller.com/"><img
class="aligncenter" title="Embody Chair" src="http://buildinternet.s3.amazonaws.com/images/ergonomics/embody_chair.jpg" alt="" width="600" height="300" /></a></p><ul><li>Feet should be flat on the floor, ankles at 90 degrees.</li><li>Thighs parallel with floor and knees bent 90 degrees.</li><li>A few inches of space between the back of your knees and the edge of the chair.</li><li>Elbows at 90 degrees when using keyboard.</li><li>Sit back as far as possible within the chair, it will force upright posture.</li></ul><h4>Desk</h4><p><a
href="http://www.ergotron.com/tabid/305/language/en-US/default.aspx"><img
class="aligncenter" title="Workspace Planner" src="http://buildinternet.s3.amazonaws.com/images/ergonomics/sitstand.jpg" alt="" width="600" height="300" /></a></p><ul><li>Your armrests should act as an extension of your desk (elbow height = desk height).</li><li>Keep the most used items within reach on your desk, minimizing reaching up or down.</li></ul><h4>Monitor</h4><p><a
href="http://www.flickr.com/photos/totalaldo/508664515/sizes/o/"><img
class="aligncenter" title="Credit: totalAldo via Flickr" src="http://buildinternet.s3.amazonaws.com/images/ergonomics/ergomonitor.jpg" alt="" width="600" height="300" /></a></p><ul><li>Give your monitor some personal space, put it 20&#8243; to 30&#8243; away from your face (an arm&#8217;s length).</li><li>If your monitor allows tilting, aim for a 10 to 20 degree angle, which will help minimize neck movement.</li><li>Center your monitor in front of you, to avoid unnatural neck/body twisting.</li><li>Keep your head in a neutral position, so only your eyes have to move to see the screen, not your neck.</li><li>Your direct line of sight should be closer to the top of the monitor, to avoid bending your neck upwards.</li></ul><h4>Keyboard and Mouse</h4><p><a
href="http://www.flickr.com/photos/williamhook/2791939901/"><img
class="aligncenter" title="Credit: williamhook via Flickr" src="http://buildinternet.s3.amazonaws.com/images/ergonomics/mouseandkeyboard.jpg" alt="" width="600" height="300" /></a></p><ul><li>Relax your hand(s) and fingers.</li><li>Arm holding mouse should be at a 90 degree angle, allowing for full arm movement.</li><li>Wrists should be as flat as possible when using the keyboard. (Get rid of the keyboard stands)</li><li>There have been mixed reviews about soft wrist rests (like those gel pads), although studies from University of Berkeley, California noted that they can cause unnatural angling of the wrist and can sometimes even pinch blood vessels.</li></ul><h4>Odds and Ends</h4><ul><li><strong>Eye Strain -</strong> According to <a
href="http://ergo.human.cornell.edu/ergoguide.html">Cornell&#8217;s Ergonomic guide</a>, &#8220;Every 15 minutes you should briefly look away from the screen for a minute or two to a more distant scene, preferably something more that 20 feet away. This lets the muscles inside the eye relax. Also, blink your eyes rapidly for a few seconds. This refreshes the tear film and clears dust from the eye surface.&#8221;</li><li><strong>Stretching -</strong> If you have four minutes and a desire for your coworkers to look at you funny, you might want to consider stretching before beginning your work day.</li></ul><h3>Sources</h3><ul><li><a
href="http://www.ergotron.com/tabid/305/language/en-US/default.aspx">Workspace Planner</a> &#8211; Punch in your height and get exact measurements to help you set up your workspace.</li><li><a
href="http://ergo.human.cornell.edu/ergoguide.html">Cornell Ergo Guide</a> &#8211; A comprehensive look at everything ergonomic from Cornell University.</li><li><a
href="http://ergo.human.cornell.edu/cumousetips.html">CUergo: 10 Tips for Mouse Use</a> &#8211; Another gem from Cornell, rethink how you use your mouse.&#8217;</li><li><a
href="http://www.ehs.ualberta.ca/docs/EHS/Forms/Checklist-Workstation_Assessment.pdf">Workstation Assessment Checklist</a> &#8211; A <em>very</em> thorough checklist to run your workstation through.</li><li><a
href="http://www.computingcomfort.org">Comfortable Computing</a> &#8211; A whole wealth of ergonomic information.</li></ul><p>Related posts:<ol><li><a
href='http://buildinternet.com/2009/02/five-minute-upgrade-header-hierarchy/' rel='bookmark' title='Permanent Link: Five Minute Upgrade &#8211; Header Hierarchy'>Five Minute Upgrade &#8211; Header Hierarchy</a> <small>Headings can be tricky business. In a continuation of our...</small></li><li><a
href='http://buildinternet.com/2009/08/five-minute-upgrade-writing-blog-post-titles-that-grab-attention/' rel='bookmark' title='Permanent Link: Five Minute Upgrade &#8211; Writing Blog Post Titles That Grab Attention'>Five Minute Upgrade &#8211; Writing Blog Post Titles That Grab Attention</a> <small> You&#8217;ve just spent a ton of time putting together...</small></li><li><a
href='http://buildinternet.com/2009/01/five-minute-upgrade-using-css-borders-for-emphasis/' rel='bookmark' title='Permanent Link: Five Minute Upgrade &#8211; Using CSS Borders for Emphasis'>Five Minute Upgrade &#8211; Using CSS Borders for Emphasis</a> <small>I&#8217;ve noticed recently that many of the techniques used by...</small></li></ol></p><div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/buildinternet?a=jJ1bw0kHklc:5ZQo1qg1S5c:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jJ1bw0kHklc:5ZQo1qg1S5c:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jJ1bw0kHklc:5ZQo1qg1S5c:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jJ1bw0kHklc:5ZQo1qg1S5c:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jJ1bw0kHklc:5ZQo1qg1S5c:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jJ1bw0kHklc:5ZQo1qg1S5c:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jJ1bw0kHklc:5ZQo1qg1S5c:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jJ1bw0kHklc:5ZQo1qg1S5c:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/buildinternet?d=qj6IDK7rITs" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/buildinternet?a=jJ1bw0kHklc:5ZQo1qg1S5c:gIN9vFwOqvQ"><img src="http://feeds.feedburner.com/~ff/buildinternet?i=jJ1bw0kHklc:5ZQo1qg1S5c:gIN9vFwOqvQ" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/buildinternet/~4/jJ1bw0kHklc" height="1" width="1"/>]]></content:encoded> <wfw:commentRss>http://buildinternet.com/2010/01/five-minute-upgrade-make-your-workstation-more-ergonomic/feed/</wfw:commentRss> <slash:comments>25</slash:comments> </item> </channel> </rss><!--
This site's performance optimized by W3 Total Cache. Dramatically improve the speed and reliability of your blog!

Learn more about our WordPress Plugins: http://www.w3-edge.com/wordpress-plugins/

Minified using apc
Page Caching using apc
Database Caching 41/168 queries in 0.502 seconds using disk

Served from: cazzu.com @ 2010-03-12 03:12:53 -->
