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

<channel>
	<title>Pixelhaven Web Design &#124; A Cincinnati Web Design Company &#187; Programming</title>
	<atom:link href="http://www.pixelhavenllc.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.pixelhavenllc.com</link>
	<description>Passionate about creating attractive, simple and structurally clean web sites</description>
	<lastBuildDate>Mon, 12 Jul 2010 13:18:41 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Theory Behind Progressive Enhancement</title>
		<link>http://www.pixelhavenllc.com/weblog/the-theory-behind-progressive-enhancement/</link>
		<comments>http://www.pixelhavenllc.com/weblog/the-theory-behind-progressive-enhancement/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 11:00:15 +0000</pubDate>
		<dc:creator>Josh Harbaugh</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[View All Posts]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[progressive enhancement]]></category>

		<guid isPermaLink="false">http://www.pixelhavenllc.com/?p=32</guid>
		<description><![CDATA[Progressive enhancement is a layered approach to interface development that helps ensure all users can navigate and read the content on a website regardless of browser or device limitations.]]></description>
			<content:encoded><![CDATA[<p>Those of you who have been a part of the web industry for awhile have probably heard about the idea of <strong>progressive enhancement</strong>. What is progressive enhancement anyway?</p>
<blockquote><p><em>Progressive enhancement</em> is a layered approach to interface development that helps ensure all users can navigate and read the content on a website regardless of browser or device limitations.<cite><a href="http://www.aarronwalter.com/">&mdash; Aarron Walter, <em>Building Findable Websites</em></a></cite></p></blockquote>
<p>The key to the success of progressive enhancement lies in the way you create and keep the structure, presentation, and behavior separate from one another.</p>
<p>If you keep the structure (HTML), presentation (CSS), and behavior (JavaScript) separate when you build websites, content remains accessible to everyone including search engine spiders.</p>
<p>You want to think of progressive enhancement as layering a cake. If you started with the frosting and worked your way back, you&#8217;d end up with a pretty terrible cake &mdash; most likely. You instead would want to start with the cake ingredients, then the baking, and finally the frosting on top. The same is true of progressive enhancement.</p>
<h3>The Ingredients (Structure)</h3>
<p>Begin with a <a href="http://mezzoblue.com/archives/2003/08/26/semantics_an/"><strong>semantically meaningful HTML file</strong></a> that communicates the information hierarchy of your page. By using heading, strong emphasis, emphasis, lists, and other semantic tags to mark up your document you&#8217;ll <strong>achieve a much better foundation from which to build upon</strong> when creating your cake &mdash; ahem &mdash; website.</p>
<h3>Baking (Presentation)</h3>
<p>Next, you&#8217;ll be adding the presentation layer using <a href="http://www.pixelhavenllc.com/weblog/style-sheets-the-basics"><strong>external CSS (Cascading Style Sheets) files</strong></a> that create the design of the document without altering the structure (HTML). Using CSS to control the presentation of your documents will make modifying them much less time-consuming. Trust me, you wouldn&#8217;t want to have to edit all the font tags of a hundred page website just to change the color. Ding! Cooking timer just went off.</p>
<h3>The Frosting on Top (Behavior)</h3>
<p>The final layer of our website cake is the behavior layer using JavaScript. This layer will enhance the interactions of the page. The JavaScript is also kept external in a separate file, and can easily <strong>take control of elements in the page</strong> without mixing in with the HTML structure.</p>
<h3>Conclusion</h3>
<p>Building your websites with this additive approach <strong>keeps them functional during each step</strong>. With CSS and JavaScript disabled, the user can still see all of the content and understand the information within as it&#8217;s communicated through your semantic markup. When CSS is enabled, the user is presented with an interface design that enhanced the look of the site. And finally, when JavaScript is enabled, the interactions add an extra bit of flair to the overall user experience.</p>
<p>When search engines encounter a site built using progressive enhancement they&#8217;ll be able to index all of the content because JavaScript will no longer be a roadblock. By making the presentation and behavior layers external, you also increase the speed with which search engine spiders can index your pages. Keeping everything separate improves overall maintenance as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelhavenllc.com/weblog/the-theory-behind-progressive-enhancement/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Style sheets &#8211; The Basics</title>
		<link>http://www.pixelhavenllc.com/weblog/style-sheets-the-basics/</link>
		<comments>http://www.pixelhavenllc.com/weblog/style-sheets-the-basics/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 12:30:50 +0000</pubDate>
		<dc:creator>Josh Harbaugh</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[View All Posts]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[style sheets]]></category>

		<guid isPermaLink="false">http://www.pixelhavenllc.com/?p=28</guid>
		<description><![CDATA[Style sheets let you separate content from the look and feel of a site, so that you can easily change each independently of the other. A very useful tool to have in your web design arsenal.]]></description>
			<content:encoded><![CDATA[<p>On every site, from personal e-commerce to blogs, style sheets can simplify changes, and make pages more accessible.</p>
<h3>Page-by-page updates of a site design — including layout, colors, and fonts — is a time-consuming and error-prone process.</h3>
<p><span id="more-28"></span></p>
<p>As customers visit your website, you can learn something about what they like and what they don&#8217;t like in terms of content and look and feel. You can also learn what works and what doesn&#8217;t work in terms of navigation. You might glean this feedback from informal conversations with customers, from server logs indicating that people don&#8217;t click on certain links, or from more formal usability and market research. But once you have some information about what could be improved, fixing it on your site can be daunting unless you&#8217;ve planned ahead.</p>
<p>If you&#8217;ve got design problems to fix on all your pages, it will be hard to justify the changes if you have to edit every single page. It takes time to open, edit, and save every file back to the server; then test every file, and possible open and edit it again if there continues to be problems.</p>
<p>You can avoid the problem of mixed content and presentation and make it easy to modify the presentation of all of your web pages by using <strong>cascading style sheets (CSS)</strong>. Although it&#8217;s not difficult to make changes to HTML pages without CSS, it will often become problematic if you need to change whole sections of a page or several pages at once.</p>
<h3>CSS offers a way of separating presentation from content</h3>
<p>With CSS, you specify all of your content in the standard HTML files, and specify how that content should be presented in a CSS file.</p>
<p>Below is an example of what I mean.</p>
<p><strong>HTML:</strong><br />
<code>&lt;html&gt;<br />
&lt;head&gt;<br />
&nbsp;&nbsp;&lt;link rel=&quot;stylesheet&quot; href=&quot;style.css&quot; type=&quot;text/css&quot; media=&quot;screen&quot; /&gt;<br />
&lt;/head&gt;<br />
&nbsp;<br />
&lt;h2&gt;Example heading&lt;/h2&gt;<br />
&lt;p&gt;Some content would go here.&lt;/p&gt;<br />
&nbsp;<br />
&lt;/html&gt;</code></p>
<p>Only the content is specified in this HTML file. All the style information is contained in a separate style sheet (style.css).</p>
<p><strong>CSS (style.css):</strong><br />
<code>h2 {<br />
&nbsp;&nbsp;&nbsp;&nbsp; text-align: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp; color: #333;<br />
&nbsp;&nbsp;&nbsp;&nbsp; font-family: Georgia, &quot;Times New Roman&quot;, serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp; font-style: italic;<br />
&nbsp;&nbsp;&nbsp;&nbsp; font-size: 18px;<br />
}<br />
p {<br />
&nbsp;&nbsp;&nbsp;&nbsp; text-align: left;<br />
&nbsp;&nbsp;&nbsp;&nbsp; color: #777;<br />
&nbsp;&nbsp;&nbsp;&nbsp; font-family: Verdana, Arial, sans-serif;<br />
&nbsp;&nbsp;&nbsp;&nbsp; font-style: normal;<br />
&nbsp;&nbsp;&nbsp;&nbsp; font-size: 11px;<br />
}</code></p>
<p>With a CSS file like this it would be possible to make whole sitewide changes to the style of the <code>&lt;h2&gt;</code> and <code>&lt;p&gt;</code> tags on <strong>every page of the site</strong> with the update of only one file.</p>
<h3>Define a standard style sheet as part of your sitewide page template</h3>
<p>Style sheets can be used as part of your page templates to <strong>create flexible and attractive web pages</strong>. You might define one default style sheet that all of your pages will use — one that defines the basic look and feel or your site.</p>
<p>Things that can benefit from the use of style sheets include<br />
<strong>Flexible grid layouts<br />
Navigation bars<br />
Tab rows<br />
And text links</strong></p>
<h3>Define a separate style sheet for printable pages</h3>
<p>It is a good idea to have a separate style sheet for creating printable pages. This style sheet can be a much simpler version of your page template style sheet because printed web pages will not display navigation elements such as tabs and navigation bars, extra content modules, such as the sidebar or external links, or advertising.</p>
<p>To establish a specific print style sheet you&#8217;ll need to define the following just below the default style sheet in the HTML file.</p>
<p><code>&lt;link rel=&quot;stylesheet&quot; href=&quot;print.css&quot; type=&quot;text/css&quot; media=&quot;print&quot; /&gt;</code></p>
<p>This will ensure that the printing functions will use the styles defined in the print.css file instead of the default style sheet. The technique can be very useful when creating &#8216;newspaper&#8217; style articles that you intend for your visitors to print for future reference.</p>
<h3>What about a mobile style sheet? You can do that too.</h3>
<p>If you intend on having your content viewable by mobile phone users, then it&#8217;s a good idea to setup a separate mobile style sheet for them. This ensures that your content and web site represent the best possible image they can to your viewers. Someone would hate to navigate to your site only to find out that you haven&#8217;t taken the time to design an experience around the way they like to browse your site. It might make them feel like they are less important. This is just not the case anymore with more and more users beginning to really use their smart phones for things like browsing news sites and even purchasing products online. Sites like Amazon and Google have jumped on this trend and it can only be assumed that more and more companies will join in.</p>
<p>Here&#8217;s an example of how you might define a mobile style sheet:<br />
<code>&lt;link rel=&quot;stylesheet&quot; href=&quot;mobile.css&quot; type=&quot;text/css&quot; media=&quot;handheld&quot; /&gt;</code></p>
<p>For more information about creating mobile CSS, go to <a href="http://www.w3.org/TR/css-mobile/">w3.org/TR/css-mobile</a><br />
A List Apart is also a great resource for <a href="http://alistapart.com/topics/code/css/">articles on the topic of CSS</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelhavenllc.com/weblog/style-sheets-the-basics/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Javascript effects to boost your websites &#8216;fanciness&#8217; factor</title>
		<link>http://www.pixelhavenllc.com/weblog/javascript-effects-to-boost-your-websites-fanciness-factor/</link>
		<comments>http://www.pixelhavenllc.com/weblog/javascript-effects-to-boost-your-websites-fanciness-factor/#comments</comments>
		<pubDate>Sun, 18 May 2008 19:17:28 +0000</pubDate>
		<dc:creator>Josh Harbaugh</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[View All Posts]]></category>
		<category><![CDATA[Javascript]]></category>
		<category><![CDATA[Web Design]]></category>

		<guid isPermaLink="false">http://www.pixelhavenllc.com/dev/?p=22</guid>
		<description><![CDATA[A list of ten Javascript effects to improve your websites 'snazziness'. Provided by Six Revisions.]]></description>
			<content:encoded><![CDATA[<p>The folks over at <a title="Six Revisions Web Design &#038; Development" href="http://sixrevisions.com">Six Revisions</a> have compiled <a title="10 Javascript Effects to add fanciness to your website" href="http://sixrevisions.com/rapid-development/10_ajax_effects_website_fanciness/">a list of ten javascript effects</a> that can add that extra bit of snazziness to your website. I personally like #8 &#8211; the <a title="ShadowBox.js Media Viewer" href="http://mjijackson.com/shadowbox/">ShadowBox.js Media Viewer.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelhavenllc.com/weblog/javascript-effects-to-boost-your-websites-fanciness-factor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wordpress Plugin: Current Book</title>
		<link>http://www.pixelhavenllc.com/weblog/plugin-current-book/</link>
		<comments>http://www.pixelhavenllc.com/weblog/plugin-current-book/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 03:06:48 +0000</pubDate>
		<dc:creator>Josh Harbaugh</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[View All Posts]]></category>
		<category><![CDATA[Web Design]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://localhost/pixelhaven/?p=1</guid>
		<description><![CDATA[This plugin will allow you to display the book title and author of the book you are currently reading to your viewers/readers.]]></description>
			<content:encoded><![CDATA[<p><strong>Summary</strong><br />
A simple little plugin to help you manage the display of a book you are currently reading. Want to show your readers what book you’re reading? That’s just what this plugin does coincidentally.</p>
<p><strong>Download and Install</strong><br />
<a href="http://www.pixelhavenllc.com/currentbook-latest.zip">Download the latest release »</a></p>
<ol>
<li>Upload the file bookdisplay.php to your /wp-content/plugins/ directory</li>
<li>Activate the plugin through the ‘Plugins’ menu in WordPress</li>
</ol>
<p><strong>Usage</strong></p>
<ol>
<li>Open management page <em>[Tools] &#8211; [Current Book]</em>.</li>
<li>Edit &#8220;Book Title&#8221; field, &#8220;Book Link&#8221;, <strong>&#8220;Image Path&#8221;*</strong> and &#8220;Author&#8221; fields</li>
<li>Click &#8220;Update options&#8221;</li>
<li>Add  <code>&lt;?php current_book(); ?&gt;</code> wherever you’d like the information to be displayed in your templates.</li>
<li>That’s it. Simple.</li>
</ol>
<p><strong>Recent Updates</strong><br />
* Added the feature to show a thumbnail image of the book you&#8217;re reading.</p>
<p><strong>Need help?</strong><br />
If you need help installing this plugin or customizing the display of the book title and author, please feel free to <a href="mailto:pixelhavenllc@gmail.com">contact me</a></p>
<form action="https://www.paypal.com/cgi-bin/webscr" method="post">
<input alt="PayPal - The safer, easier way to pay online!" name="submit" src="https://www.paypal.com/en_US/i/btn/btn_donate_SM.gif" type="image" />
<input name="cmd" type="hidden" value="_donations" />
<input name="business" type="hidden" value="pixelhavenllc@gmail.com" />
<input name="item_name" type="hidden" value="Wordpress Plugin (Current Book)" />
<input name="no_shipping" type="hidden" value="1" />
<input name="return" type="hidden" value="http://www.pixelhavenllc.com" />
<input name="no_note" type="hidden" value="1" />
<input name="currency_code" type="hidden" value="USD" />
<input name="tax" type="hidden" value="0" />
<input name="lc" type="hidden" value="US" />
<input name="bn" type="hidden" value="PP-DonationsBF" /> </form>
]]></content:encoded>
			<wfw:commentRss>http://www.pixelhavenllc.com/weblog/plugin-current-book/feed/</wfw:commentRss>
		<slash:comments>28</slash:comments>
		</item>
	</channel>
</rss>
