<?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"
	>

<channel>
	<title>chrismaynard.net</title>
	<atom:link href="http://chrismaynard.net/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://chrismaynard.net/blog</link>
	<description>I make internets.</description>
	<pubDate>Fri, 02 Apr 2010 03:45:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.5</generator>
	<language>en</language>
			<item>
		<title>A simple jquery toggler for tables</title>
		<link>http://chrismaynard.net/blog/code/a-simple-jquery-toggler-for-tables/</link>
		<comments>http://chrismaynard.net/blog/code/a-simple-jquery-toggler-for-tables/#comments</comments>
		<pubDate>Fri, 02 Apr 2010 03:44:21 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=149</guid>
		<description><![CDATA[I wrote this simple jQuery toggler/accordion to work with tables and the class name control&#8230;nothing new here just interesting to see the accordion applied to a table. 
Check out the showText, no images ma! (i.e. I use numerical entities for the arrows). 
/*
 *
 * @author C Maynard
 *
 */

var pageTest = (function(){
    [...]]]></description>
			<content:encoded><![CDATA[<p>I wrote this simple jQuery toggler/accordion to work with tables and the class name control&#8230;nothing new here just interesting to see the accordion applied to a table. </p>
<p>Check out the showText, no images ma! (i.e. I use numerical entities for the arrows). </p>
<pre>/*
 *
 * @author C Maynard
 *
 */

var pageTest = (function(){
    var that = {};

    that.init_hideDisplayGroup = function() {

        // choose text for the show/hide link
        var showText='&#x25b6';    // &#x25b6
        var hideText='close me';

        // initialize the visibility check
        var is_visible = false;

        // append show/hide links to the thead's
        $('.control thead tr th').append(' <a href="#" class="toggleLink">'+showText+'</a>');
        $('.toggleLink').css({
            'float': 'right',
            'margin-right' : '10px',
            'color' : '#999999',
            'font' : '14pt/1.5 sans-serif !important',
            'text-decoration' : 'none'
        });

        // add the toogle class and hide them
        $('.control tbody').addClass('toggle');
        $('.toggle').hide();

        $('a.toggleLink').click(function() {
            // switch visibility
            is_visible = !is_visible;

            $(this).html ($(this).html().toLowerCase()==hideText.toLowerCase() ? showText : hideText);
            $(this).parent().parent().parent().next('.toggle').toggle('fast');         

            return false;
        });

    };

    return that;

})();

</script>

<script>
$(function(){
    pageTest.init_hideDisplayGroup();
});
</script>
</pre>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/code/a-simple-jquery-toggler-for-tables/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Instant jQuery 1.4</title>
		<link>http://chrismaynard.net/blog/code/instant-jquery-14/</link>
		<comments>http://chrismaynard.net/blog/code/instant-jquery-14/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 02:30:26 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[MediaTemple]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[jQuery]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=128</guid>
		<description><![CDATA[Easier than kool-aid, but just as tasty.
&#60;script type=&#8221;text/javascript&#8221; src=&#8221;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&#8221;&#62;&#60;/script&#62;
&#60;script type=&#8221;text/javascript&#8221;&#62;
$(document).ready(function() {
// Let the good times roll.
});
&#60;/script&#62;
]]></description>
			<content:encoded><![CDATA[<p>Easier than kool-aid, but just as tasty.</p>
<p>&lt;script type=&#8221;text/javascript&#8221; src=&#8221;http://ajax.googleapis.com/ajax/libs/jquery/1.4/jquery.min.js&#8221;&gt;&lt;/script&gt;<br />
&lt;script type=&#8221;text/javascript&#8221;&gt;<br />
$(document).ready(function() {<br />
// Let the good times roll.<br />
});<br />
&lt;/script&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/code/instant-jquery-14/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Gradients in FireFox 3.6</title>
		<link>http://chrismaynard.net/blog/code/gradients-in-firefox-36/</link>
		<comments>http://chrismaynard.net/blog/code/gradients-in-firefox-36/#comments</comments>
		<pubDate>Thu, 21 Jan 2010 18:17:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[Firefox]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=124</guid>
		<description><![CDATA[Ive been waiting for today for quite some time now, the release of Firefox 3.6 marks includes support for linear      and radial CSS gradients. Although cross browser this feature is totally useless, Its great for internal apps and personal projects.
Gradients are presently only supported in Safari 4 and Chrome (webkit) [...]]]></description>
			<content:encoded><![CDATA[<p>Ive been waiting for today for quite some time now, the release of Firefox 3.6 marks includes support for linear      and radial CSS gradients. Although cross browser this feature is totally useless, Its great for internal apps and personal projects.</p>
<p>Gradients are presently only supported in Safari 4 and Chrome (webkit) and  Firefox 3.6. In webkit they can be used anywhere an image can be - for  example <code>background-image</code>, <code>list-style-image</code>, <code>border-image</code> or with generated content. In Firefox they can only be used as  background images.</p>
<p>My first in browser gradient</p>
<p>background: -moz-linear-gradient(left top, #999999, #fefefe);</p>
<p>Nice.</p>
<p>See <a href="http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/">http://hacks.mozilla.org/2009/11/css-gradients-firefox-36/</a> for more information.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/code/gradients-in-firefox-36/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Yahoo! style vertical navigation</title>
		<link>http://chrismaynard.net/blog/code/yahoo-style-vertical-navigation/</link>
		<comments>http://chrismaynard.net/blog/code/yahoo-style-vertical-navigation/#comments</comments>
		<pubDate>Mon, 11 Jan 2010 16:23:43 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[code]]></category>

		<category><![CDATA[css]]></category>

		<category><![CDATA[design]]></category>

		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=120</guid>
		<description><![CDATA[I set out to make a simple vertical navigation much like the one featured on Yahoo&#8217;s homepage, this is the result. I&#8217;m sure the JS could be improved, what do you think. Here is my working example, please note this is very basic, with little styling.
$(document).ready(function(){

    jQuery.fx.off = true;

    [...]]]></description>
			<content:encoded><![CDATA[<p>I set out to make a simple vertical navigation much like the one featured on Yahoo&#8217;s homepage, this is the result. I&#8217;m sure the JS could be improved, what do you think. Here is my working <a href="http://www.chrismaynard.net/examples/yahoo-menu/" target="_blank">example</a>, please note this is very basic, with little styling.</p>
<pre><code>$(document).ready(function(){

    jQuery.fx.off = true;

    var nav1 = $('#item1');
    var nav2 = $('#item2');
    var nav3 = $('#item3'); 

    var pan1 = $('#panel1');
    var pan2 = $('#panel2');
    var pan3 = $('#panel3');
    var close = $('.close-me');

    //initialize panels
	pan1.hide();
	pan2.hide();
	pan3.hide();

    nav1.hover(function(){
        //nav
        nav1.css('background-color', '#ccc');
        nav2.css('background-color', '');
        nav3.css('background-color', '');
        //panels
        pan1.show();
        pan2.hide();
        pan3.hide();
    });

    nav2.hover(function(){
        //nav
        nav2.css('background-color', '#ccc');
        nav1.css('background-color', '');
        nav3.css('background-color', '');
        //panels
        pan1.hide();
        pan2.show();
        pan3.hide();
    });

   nav3.hover(function(){
        //nav
        nav3.css('background-color', '#ccc');
        nav1.css('background-color', '');
        nav2.css('background-color', '');
        //panels
        pan1.hide();
        pan2.hide();
        pan3.show();
    });

    close.click(function(){
        nav1.css('background-color', '');
        nav2.css('background-color', '');
        nav3.css('background-color', '');
        pan1.hide();
        pan2.hide();
        pan3.hide();
    });

    $('body').dblclick(function(target){
        nav1.css('background-color', '');
        nav2.css('background-color', '');
        nav3.css('background-color', '');
        pan1.hide();
        pan2.hide();
        pan3.hide();
    });

});</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/code/yahoo-style-vertical-navigation/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Effective Web Form Design for Landing Pages</title>
		<link>http://chrismaynard.net/blog/design/effective-web-form-design-for-landing-pages/</link>
		<comments>http://chrismaynard.net/blog/design/effective-web-form-design-for-landing-pages/#comments</comments>
		<pubDate>Mon, 04 Jan 2010 14:41:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[css]]></category>

		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=110</guid>
		<description><![CDATA[
 Web forms are boring. When is the last time you really enjoyed filling out a form, I’m going to guess never. Nevertheless, they stand as one of the most important layers on your landing page or website. They are at the center of customer interaction, so even if your content is king and your [...]]]></description>
			<content:encoded><![CDATA[<p><!-- 		@page { margin: 0.79in } 		P { margin-bottom: 0.08in } 		A:link { color: #0000ff } --></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #000000;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> <span style="color: #ffffff;">Web forms are boring. When is the last time you really enjoyed filling out a form, I’m going to guess never. Nevertheless, they stand as one of the most important layers on your landing page or website. They are at the center of customer interaction, so even if your content is king and your designs are captivating, the form stands out as the only place your customer will engage. The experience this engagement produces is often times the predictor of another sale or a page abandonment. If you at all doubt the importance of web forms look into the infamous story about the <a href="http://www.uie.com/articles/three_hund_million_button/" target="_blank">$300 Million Button</a>.</span></span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> I have broken down some guidelines to help you improve your web forms and divided them into three categories: structure, elements and interaction.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;">
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"><strong>Structure</strong></span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> The way we design web forms is often backwards. Generally we define some required fields, we have a programmer create or modify a database, and we plop some input fields on our page. Without taking the time to evaluate the design of your web forms, you could potentially be turning the unpleasant action of filling out a web form into a lost opportunity.  So here are some tips to guide you in designing web forms:</span></span></span></p>
<ul>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Always 	evaluate your form’s questions, and remove anything that is not 	necessary to you or your customers.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Consider 	asking optional questions after a web form has been submitted, you 	don’t need to inquire about your customers demographic prior to 	the sale.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Strive 	for simplicity, web forms are not the best place to experiment, the 	forms should feel familiar, so that the transaction is over as soon 	as possible.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">If 	your form stretches across multiple web pages, use a progress 	indicator so the customer can gauge his/her progress. If the amount 	of pages the customer will see changes depending on answers use 	general progress indicators rather than specific ones to avoid 	confusion.</span></span></span></p>
</li>
</ul>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> </span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"><strong>Elements</strong></span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Web forms have three basic elements, a label, an input field and an action. Labels ask questions, input fields accept answers and actions submit the form.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;" align="CENTER"><span style="color: #ffffff;"><a href="http://chrismaynard.net/blog/wp-content/uploads/2010/01/form11.jpg"><img class="aligncenter size-full wp-image-111" title="form11" src="http://chrismaynard.net/blog/wp-content/uploads/2010/01/form11.jpg" alt="" width="434" height="176" /></a></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Label alignment plays an important part in the way a customer will interact with your web forms. There are four basic ways to align labels in a form, and each serves a specific purpose.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><a href="http://chrismaynard.net/blog/wp-content/uploads/2010/01/form12.jpg"><img class="aligncenter size-full wp-image-112" title="form12" src="http://chrismaynard.net/blog/wp-content/uploads/2010/01/form12.jpg" alt="" width="500" height="102" /></a></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;">
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Left-aligned labels take longer for the eye to process, and are best used on forms with unfamiliar question. The distance between the label and the input slows down the user when completing the form, making it perfect for forms in which users must think before answering.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Top-aligned labels offer the fastest form completion time, the proximity of the label to the input field requires the least effort from the user to connect the two in their mind. One disadvantage of top-aligned forms is the amount of vertical real estate they take up in a page. </span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Right-aligned labels are also a quick to complete layout option, but because there is no hard edge on the left side of the labels so there is a reduction in the amount of time it takes a user to scan the requirements of a form. Using right-aligned forms is a great way to have the short completion times a top-aligned form offers, but also save on vertical real estate, just make sure the for questions are familiar to the user.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Labels within inputs are a great way to reduce the space a form takes up, but there are many considerations that should be taken. There must be an interaction that takes place when the user clicks or tabs to the input, i.e. the label must disappear so that the user can type. Because the labels disappear when the user engages the input, you better hope they do not forget what the question was. You must also make sure that the labels reappear after the form validation occurs, so that the user can correct their mistakes. </span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Which should I use? Well it all depends on what type of data you are collecting, I would not suggest mixing alignment types within one form, but you could use  different types if you have multiple forms. More often than not a landing page will have some sort of simple form, which could benefit from a quick label to input alignment.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Other considerations for form elements:</span></span></span></p>
<ul>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Always 	use the correct input type for a question, for example when asking a 	user for his/her state use a select box what includes all of the 	states, rather than making the user type this information in.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Consider 	format within input types, if asking for a phone number either limit 	the input by using three input boxes, which accepts 3/3/4 numbers, 	or provide an example on how the user should type out the phone 	number. Your validation should never return an error because you 	failed to not specify the format. Flexibility is important.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Inputs 	fields should tip off the user in the amount of data they need to 	enter, for example the zip code input should not be the same length 	as their email input element. </span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">If 	there is only one optional question, do not mark all of the other 	fields required, and rather label the solo optional field, as 	optional. Be wise in the way you label and define required/optional 	fields.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Know 	that form elements render differently across all browsers and 	systems, so test, test, and test again.</span></span></span></p>
</li>
</ul>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Interaction</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;"> Once your labels are in place correctly, it’s time for some action. Interaction takes place within web forms in many ways. Moving from one input field to the next, receiving an error from the validation, or pressing the submit button at the end of a form are all examples of interaction.  Improving the way your web forms interact with the user will make the experience less painful.</span></span></span></p>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;">
<ul>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">When 	using multiple pages for your forms, allow the user a way to go back 	and change his/her answers without losing data.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Always 	allow the user to use the tab key to get from input to input in the 	correct order, developers can use the “tabindex” HTML attribute 	if necessary.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">When 	validating form data be as unobtrusive as possible, and never route 	users to a new page when giving them validation errors and then 	expect them to find their way back.</span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Nimbus Roman No9 L,Times New Roman,serif;"><span style="font-size: small;"><span style="font-family: Meiryo,sans-serif;">Inline 	validation offers the user immediate feedback on both errors and 	confirmation of correct values, <a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/">jQuery.validate</a> is a great option </span><span><span style="text-decoration: underline;"><a href="http://bassistance.de/jquery-plugins/jquery-plugin-validation/"><span style="font-family: Meiryo,sans-serif;"></span></a></span></span></span></span></span></p>
</li>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">If 	you must use only server side validation make error messages as 	clear and relevant as possible, and provide what the user must do to 	fix the error. </span></span></span></p>
</li>
</ul>
<p style="margin-left: 0.99in; margin-bottom: 0in; widows: 0; orphans: 0;" align="CENTER">
<p style="margin-left: 0.99in; margin-bottom: 0in; widows: 0; orphans: 0;" align="CENTER"><span style="color: #ffffff;"><a href="http://chrismaynard.net/blog/wp-content/uploads/2010/01/form13.jpg"><img class="aligncenter size-full wp-image-113" title="form13" src="http://chrismaynard.net/blog/wp-content/uploads/2010/01/form13.jpg" alt="" width="262" height="89" /></a></span></p>
<ul>
<li>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #ffffff;"><span style="font-family: Meiryo,sans-serif;"><span style="font-size: small;">Use 	a help icon and help boxes next to unfamiliar content, for example 	if asking for a CVV2/CCID make sure there is a way for the user to 	find out what a CVV2/CCID actually is. </span></span></span></p>
</li>
</ul>
<p style="margin-bottom: 0in; widows: 0; orphans: 0;"><span style="color: #000000;"> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/design/effective-web-form-design-for-landing-pages/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Ultimate CSS Reset</title>
		<link>http://chrismaynard.net/blog/design/the-ultimate-css-reset/</link>
		<comments>http://chrismaynard.net/blog/design/the-ultimate-css-reset/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 12:11:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[css]]></category>

		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=104</guid>
		<description><![CDATA[Resetting  your styles or more accurately - setting - the styles of all elements to a base value so that you avoid cross-browser differences due to their built-in and sometimes crappy (looking right at you IE6) default style settings. By resetting your styles, you avoid defaulting to the browser’s built-in styles, which differs from [...]]]></description>
			<content:encoded><![CDATA[<p>Resetting  your styles or more accurately - <em>setting</em> - the styles of all elements to a base value so that you avoid cross-browser differences due to their built-in and sometimes crappy (looking right at you IE6) default style settings. By resetting your styles, you avoid defaulting to the browser’s built-in styles, which differs from browser to browser.</p>
<p>Laying a good foundation may be an extra step, but it will continually reward you by cutting down on the time and stress of common cross-browser inconsistencies. Everyone does this different, but here is how I like to lay it down.</p>
<pre>html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-weight: inherit;
	font-style: inherit;
	font-size: 100%;
	font-family: inherit;
	vertical-align: baseline;
}
/* The :focus pseudo-class is supported in all major browsers, except the fabulous Internet
Explorer. The :focus pseudo-class adds special style to an element that has keyboard
input focus*/
a:focus {
        outline: none;
}
:focus {
	outline: 0;
}
body {
	line-height: 1;
	color: black;
	background: white;
        <span class="css15">/*overflow</span>:<span class="css08"> scroll</span>; Optional - good for a page with alot of collapsing or moving elements*/<span class="css06">
</span>}
ol, ul {
	list-style: none;
}
/* tables still need 'cellspacing="0"' in the markup */
table {
	border-collapse: separate;
	border-spacing: 0;
}
caption, th, td {
	text-align: left;
	font-weight: normal;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: "";
}
blockquote, q {
	quotes: "" "";
}</pre>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/design/the-ultimate-css-reset/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Sky Foundation Mock-up</title>
		<link>http://chrismaynard.net/blog/design/sky-foundation-mock-up/</link>
		<comments>http://chrismaynard.net/blog/design/sky-foundation-mock-up/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 08:20:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[design]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=101</guid>
		<description><![CDATA[I designed and developed the site skyfoundationinc.org a few years ago. The Sky Foundation&#8217;s goal is to raise $500,000 which will allow vital research to be focused on pancreatic cancer. I recentley did a mock-up for a redesign pitch, that I hopefully get to implement! Either way I thought I would share.

]]></description>
			<content:encoded><![CDATA[<p>I designed and developed the site <a title="Sky Foundation" href="http://skyfoundationinc.org" target="_blank">skyfoundationinc.org</a> a few years ago. The Sky Foundation&#8217;s goal is to raise $500,000 which will allow vital research to be focused on pancreatic cancer. I recentley did a mock-up for a redesign pitch, that I hopefully get to implement! Either way I thought I would share.</p>
<p><a href="http://chrismaynard.net/blog/wp-content/uploads/2009/06/sky_comp.jpg"><img class="alignnone size-full wp-image-102" title="sky_comp" src="http://chrismaynard.net/blog/wp-content/uploads/2009/06/sky_comp.jpg" alt="" width="500" height="333" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/design/sky-foundation-mock-up/feed/</wfw:commentRss>
		</item>
		<item>
		<title>jQuery and AJAX</title>
		<link>http://chrismaynard.net/blog/code/jquery-and-ajax/</link>
		<comments>http://chrismaynard.net/blog/code/jquery-and-ajax/#comments</comments>
		<pubDate>Tue, 16 Jun 2009 00:33:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[code]]></category>

		<category><![CDATA[jQuery]]></category>

		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=84</guid>
		<description><![CDATA[jQuery makes it ridiculously easy for anyone to add AJAX functionality to your website, my example loads the navigation from my site.
The secret to this is the load() function. It allows you to load portions, defined with CSS selectors, of any remote location. Top off this function with a smooth animation, and enjoy. Here is [...]]]></description>
			<content:encoded><![CDATA[<h3>jQuery makes it ridiculously easy for anyone to add AJAX functionality to your website, my <a href="http://www.chrismaynard.net/examples/jquery_load_example.html" target="_blank">example</a> loads the navigation from my site.</h3>
<p>The secret to this is the <a href="http://docs.jquery.com/Ajax/load"><code>load()</code></a> function. It allows you to load portions, defined with CSS selectors, of any remote location. Top off this function with a smooth animation, and enjoy. Here is the code I used:</p>
<pre><code>jQuery(document).ready(function(){

    $('#loadlink').click(function(){

        $(this).text('loading...');
        $('#container')
            .append('&lt;div id="content"&gt;&lt;/div&gt;')
            .children('#content')
            .hide()
            .load('http://www.chrismaynard.net/header.php #header #navcontainer a',
            function() {
                // This is the callback function
                $('#loadlink').hide();
                $('#content').slideDown();
            });
        return false;

    });

});</code></pre>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/code/jquery-and-ajax/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Tomcat on a MediaTemple (DV) dedicated server</title>
		<link>http://chrismaynard.net/blog/code/installing-tomcat-on-a-mediatemple-dv-dedicated-server/</link>
		<comments>http://chrismaynard.net/blog/code/installing-tomcat-on-a-mediatemple-dv-dedicated-server/#comments</comments>
		<pubDate>Sun, 14 Jun 2009 20:22:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[MediaTemple]]></category>

		<category><![CDATA[code]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=77</guid>
		<description><![CDATA[Now that we have the latest version of Java configured on your DV we need Apache Tomcat to provide a &#8220;pure Java&#8221; HTTP web server environment for Java code to run. Tomcat should not be confused with the Apache web server, which is a C implementation of an HTTP web server; these two web servers [...]]]></description>
			<content:encoded><![CDATA[<p style="text-align: left;">Now that we have the latest version of Java configured on your DV we need<strong> Apache Tomcat</strong> to provide a &#8220;pure Java&#8221; HTTP web server environment for Java code to run. Tomcat should not be confused with the <span class="mw-redirect">Apache web server</span>, which is a C implementation of an HTTP web server; these two web servers are not bundled together.</p>
<p><strong>1. Download and extract tomcat 6.0 binary distribution</strong>. Get the URL of the tar.gz file from <a href="http://tomcat.apache.org/download-60.cgi">http://tomcat.apache.org/download-60.cgi</a>. From your ssh console download using wget.</p>
<p><strong>wget http://apache.deathculture.net/tomcat/tomcat-6/v6.0.14/bin/apache-tomcat-6.0.14.tar.gz</strong></p>
<p>Now use the following commands to extract the files.<br />
<strong>gunzip -d apache-tomcat-6.0.14.tar.gz<br />
tar -xvf apache-tomcat-6.0.14.tar</strong></p>
<p>2. Login as root and set the JAVA_HOME variable to point to your Java installation. From your ssh console run this line, but make sure to edit the path to your Java install.</p>
<p><strong>export JAVA_HOME=/usr/java/jdk1.6.0_04</strong></p>
<p><strong>3. </strong><strong>Start tomcat from bin folder. </strong>Login again to SSH using your non root user id. The start up script for tomcat is in [tomcatdir]/bin.</p>
<p>Change to the bin directory (<strong>cd bin</strong>) and then execute, <strong> ./startup.sh</strong></p>
<p>Your all set, you should see the tomcat server running at <a href="http://www.yourdomain.com:8080/">www.yoursite.com:8080/</a></p>
<p>To shutdown you can navigate back to bin and execute <strong>./shutdown.sh</strong></p>
<p>I ran into a permission issue while trying to then upload a file via ftp to <span style="font-size: x-small; font-family: verdana; color: #000000;">&lt;catalina-home&gt;/<strong style="color: black; background-color: #ffffbb;">webapps</strong>/<strong style="color: black; background-color: #11ffff;">ROOT</strong>/</span></p>
<p>My temporary work around was to login as a regular user via SSH, then change to root via <strong>su root, </strong>then<strong> wget </strong>my jsp files from another location. That got old fast, Even though I changed permissions via FTP icould not upload to <span style="font-size: x-small; font-family: verdana; color: #000000;">/<strong style="color: black; background-color: #11ffff;">ROOT</strong> </span>Then after investigating it further I was able to <strong>chmod 777 ROOT </strong>via SSH as root user, and Voila!</p>
<p>I then uploaded the simple hello_world.jsp code written below to</p>
<p><span style="font-size: x-small; font-family: verdana; color: #000000;">&lt;catalina-home&gt;/<strong style="color: black; background-color: #ffffbb;">webapps</strong>/<strong style="color: black; background-color: #11ffff;">ROOT</strong>/ </span></p>
<p>and was able to ping it at http://www.mysite.com:8080/hello_world.jsp</p>
<p>&lt;code&gt;&lt;HTML&gt;<br />
&lt;HEAD&gt;<br />
&lt;META HTTP-EQUIV=&#8221;Content-Type&#8221; CONTENT=&#8221;text/html; charset=WINDOWS-1252&#8243;&gt;<br />
&lt;TITLE&gt;JSP - Hello World&lt;/TITLE&gt;<br />
&lt;/HEAD&gt;<br />
&lt;BODY&gt;<br />
&lt;P&gt;&lt;% out.println(&#8221; Hello Java World&#8221;); %&gt; !&lt;/P&gt;<br />
&lt;/BODY&gt;<br />
&lt;/HTML&gt;</p>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/code/installing-tomcat-on-a-mediatemple-dv-dedicated-server/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing Java on a Media Temple dedicated virtual server (DV)</title>
		<link>http://chrismaynard.net/blog/java/installing-java-on-a-media-temple-dedicated-virtual-server-dv/</link>
		<comments>http://chrismaynard.net/blog/java/installing-java-on-a-media-temple-dedicated-virtual-server-dv/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 23:01:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[MediaTemple]]></category>

		<guid isPermaLink="false">http://chrismaynard.net/blog/?p=73</guid>
		<description><![CDATA[For no good reason MediaTemple does not support Java. By default, the server comes with Ruby, but not a Java compiler. Since this was a huge pain in the rear I thought I would detail the steps to make this happen.
So here goes the directions to install  the latest JDK (1.6) on the VPS server.
Log [...]]]></description>
			<content:encoded><![CDATA[<p>For no good reason MediaTemple does not support Java. By default, the server comes with Ruby, but not a Java compiler. Since this was a huge pain in the rear I thought I would detail the steps to make this happen.</p>
<p>So here goes the directions to install  the latest JDK (1.6) on the VPS server.</p>
<p>Log in to your site through a secure shell, my app of choice is <a title="Putty" href="http://www.chiark.greenend.org.uk/~sgtatham/putty/download.html" target="_blank">PuTTY</a>. Your going to need to log in as the root user, so make sure to enable root access and set a root password within the account center.</p>
<p>Now check your CentOS installation. You can check that by running the following command on your SSH terminal. Its no doubt your DV has this OS, but check it anyways.</p>
<p><strong>cat /etc/redhat-release</strong></p>
<p>Now the tricky part is to download the Java binaries onto your server. One option is to download the JDK on to your machine and then upload it to server using ftp. Unfortunately, the file size is 70-something MB&#8217;s so a better method is to use the <strong>wget</strong> command.</p>
<p>For this you will need the direct link for the binary download. Using <strong>FireFox</strong> goto <a href="http://developers.sun.com/downloads/" target="_blank">http://developers.sun.com/downloads/</a> select Java SE, the Java SE (JDK 6), then hit download.<a class="k2over needs hRight vMiddle" href="http://java.sun.com/javase/downloads/index.jsp#need"></a></p>
<p>Sun uses a hidden redirect to the actual download. You need to find this URL. The name of your file will be some thing like “jdk-6u4-linux-i586-rpm.bin”</p>
<p>Immediately pause the download and then right click on the “resume” link and copy the large link name to your clipboard.</p>
<p>Now from the SSH terminal, type the following&#8230;</p>
<p><strong>wget &#8220;PASTE URL HERE&#8221; -O java.bin</strong></p>
<p>To paste in PuTTY use Shift-Ins, and make sure to surround the URL with double quotations.</p>
<p>This will download the Java binary as j.bin in the current folder.</p>
<p>Execute it the file by using the following command<span style="font-weight: bold;"> ./java.bin</span>.</p>
<p>Accept the exceptionally long license terms and continue. You will get the Java installed on the MediaTemple DV server.</p>
<p>Next tell CentOS what you have done by creating a link to your install with the following command</p>
<p><strong>/usr/sbin/alternatives –install /usr/bin/java java /usr/java/jdk1.6.0_04/bin/java 1</strong></p>
<p>If  <strong>jdk1.6.0_04 </strong>is not the version you downloaded then replace that text with your version</p>
<p>Finally, run <span style="font-weight: bold;">java -version</span> on the command prompt to verify the install.</p>
<p>Now the next step is to install Tomcat App server.</p>
]]></content:encoded>
			<wfw:commentRss>http://chrismaynard.net/blog/java/installing-java-on-a-media-temple-dedicated-virtual-server-dv/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
