<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
	
	<channel>
		<title>View Sauce</title>
		<link>http://www.viewsauce.com/index.php</link>
		<description>Weblog and Portfolio of Debra Cuming</description>
		<language>en</language>
		<managingEditor>brightondebs@yahoo.co.uk</managingEditor>
                <copyright>Copyright 2010</copyright>
		<generator>Pivot Pivot - 1.40.1: 'Dreadwind'</generator>
		<pubDate>Wed, 21 Apr 2010 03:53:14 -0500</pubDate>
		<ttl>60</ttl>
		
		
		
		
		<item>
			<title>Designing for the iPhone</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=93</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=93#comm</comments>
                        <description><![CDATA[ I've just started designing my first iPhone application and I'm having lots of fun. I've never been a great fan of Apple and will continue to obstinately refuse to use anything other than a PC but after 15 years in web design it's refreshing to try my hand at something new. Who knows, this could become a whole new career! ]]></description>
			<guid isPermaLink="false">93@http://viewsauce.com/pivot/</guid>
			<category>Design</category>
			<pubDate>Wed, 21 Apr 2010 03:53:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Presentation for IT Skills 4 Rural Kenya</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=92</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=92#comm</comments>
                        <description><![CDATA[ <p>I recently gave a seminar on how to build a good website to a group of volunteers for <a href="http://www.itskill4ruralkenya.org"  rel='external'>IT Skills 4 Rural Kenya</a>. This was in association with the 'Brighton Youths Volunteer' project, a 3-6 month P/T volunteer opportunity for 16-25 year olds from Brighton and Hove that is funded by Southern FM and Global Charities' v Project partnership.</p><h3>Presentation given on June 18, 2009 at Community Base, Brighton:</h3><object style="margin:0px" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=howtobuildagoodwebsite-090619035007-phpapp01&rel=0&stripped_title=how-to-build-a-good-website" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=howtobuildagoodwebsite-090619035007-phpapp01&rel=0&stripped_title=how-to-build-a-good-website" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object> ]]></description>
			<guid isPermaLink="false">92@http://viewsauce.com/pivot/</guid>
			<category>Code, Design, Usability</category>
			<pubDate>Fri, 19 Jun 2009 04:36:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Ubiquity and Wolfram Alpha Google</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=91</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=91#comm</comments>
                        <description><![CDATA[ <p>If you're currently using Firefox as your browser (and who isn't these days?) then I have a couple of new toys to recommend to you. The first is the <a href="https://addons.mozilla.org/en-US/firefox/addon/12006"  rel='external'>Wolfram Alpha Google addon</a>. You've probably heard all the hype about the Wolfram Alpha search engine but still love using Google. Well, now you can do both at the same time! Just do a search on Google and the Wolfram Alpha result for that search will appear to the right of your Google results.</p><p>The second toy is even more exciting - <a href="http://labs.mozilla.com/projects/ubiquity/"  rel='external'>Ubiquity from Mozilla Labs</a>. Here is a incredibly exciting new idea from the guys at Mozilla that extends browser functionality, and shares new functionality with other users. It does this with on-demand, user-generated mashups with existing open Web APIs. (In other words, allowing everyone, not just web developers, to remix the web so it fits their needs, no matter what page they are on, or what they are doing.) It's impossible to explain, you'll just have to try it out for yourselves.</p> ]]></description>
			<guid isPermaLink="false">91@http://viewsauce.com/pivot/</guid>
			<category>Other</category>
			<pubDate>Wed, 27 May 2009 05:37:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>This post changed my life</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=90</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=90#comm</comments>
                        <description><![CDATA[ <p>Yep, you hear it all the time and you think it's a load of rubbish but this time it really happened. I've spent my LIFE being the biggest procrastinator out there. I have spent far too many hours than I care to think about on Facebook, Twitter, the BBC, popurls etc. I've spent every day stressed at an ever growing to-do list and gone to bed every night feeling guilty about all the things I've failed to get done. Well, not any more!</p><p>The other day while procrastinating with the help of popurls I stumbled across an <a href="http://thinksimplenow.com/productivity/the-4-hour-workday/"  title="View article" target="_blank" rel='external'>article on how to have a 4 hour workday</a>. I skipped on over and there it was, the article that has changed the way I work forever.</p>

<p>Many of you will have read numerous articles or books on how best to organise your time. One of the most popular books being <a href="http://www.amazon.com/gp/product/0142000280?ie=UTF8&tag=viesau-20&linkCode=as2&camp=1789&creative=9325&creativeASIN=0142000280"  rel='external'>Getting Things Done</a><img src="http://www.assoc-amazon.com/e/ir?t=viesau-20&l=as2&o=1&a=0142000280" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> by David Allen. I've read a few but despite embracing the concept of simplifying my tasks into easy to tackle chunks and keeping track of everything in various lists, I still felt like I was drowning in work and never getting anything done.</p>

<p>The main problem was that my lists never got any smaller. Every time I ticked off an item, I'd add three more. It was hard to keep motivated, which of course just led to more and more procrastination.</p>

<p>The article talks about many different things but what really struck a chord with me was the idea of having a finite task list for each day. When you’ve finished all the tasks on your list, you’re done. If that happens at 11am, then you're done for the day. If that happens at 9pm, well... Your day ends when your work ends.</p>

<p>THIS is what has changed my life. Suddenly I have a huge amount of motivation to get things done as quickly as possible because instead of working a set number of hours no matter how much or little I get done, I am now able to stop work as soon as my tasks are complete! Every day I now start work motivated to work, with a sense of achievement from knowing I completed all my tasks the day before. I feel both energised and relaxed.</p>

<p>I urge you to read the article and give the system a go. The only advice I will give is to start with small daily lists you can easily complete. That way you build up a feeling of positivity and achievement which will give you the motivation to continue. Sure, you might have a couple of short working days but that's better than failing to complete all your tasks and giving up.</p> ]]></description>
			<guid isPermaLink="false">90@http://viewsauce.com/pivot/</guid>
			<category>Other</category>
			<pubDate>Thu, 14 May 2009 13:15:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Firefox add-ons for web developers</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=88</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=88#comm</comments>
                        <description><![CDATA[ In the past I've often mentioned Firefox add-ons for web developers but I've never put together a list of the best. Well, now there's no need to as someone has beaten me to it! So here it is, the top <a href="http://news.cnet.com/8301-17939_109-10217887-2.html?part=rss&amp;tag=feed&amp;subj=Webware"  title="" rel='external'>15 Firefox add-ons for Web Developers</a>. ]]></description>
			<guid isPermaLink="false">88@http://viewsauce.com/pivot/</guid>
			<category>Code</category>
			<pubDate>Tue, 14 Apr 2009 06:00:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Marketing gimmicks that work</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=87</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=87#comm</comments>
                        <description><![CDATA[ I love this <a href="http://mashable.com/2009/04/13/social-media-gimmicks/"  title="Read the full article" rel='external'>article by Darren Barefoot</a> about what to do if your product isn't the Purple Cow Seth Godin tells you it should be. It's a top ten list of things to do to get people talking about your good old brown cow. Everything from the traditional ideas of using sex or humour to targeting users of specific social media or making a crazy videos about back flipping into jeans... ]]></description>
			<guid isPermaLink="false">87@http://viewsauce.com/pivot/</guid>
			<category>Marketing</category>
			<pubDate>Tue, 14 Apr 2009 05:19:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Simple SEO advice</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=86</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=86#comm</comments>
                        <description><![CDATA[ Having read and loved Seth Godin's <a href="http://www.amazon.com/gp/product/159184021X?ie=UTF8&amp;tag=viesau-20&amp;linkCode=as2&amp;camp=1789&amp;creative=9325&amp;creativeASIN=159184021X"  rel='external'>Purple Cow: Transform Your Business by Being Remarkable</a><img src="http://www.assoc-amazon.com/e/ir?t=viesau-20&amp;l=as2&amp;o=1&amp;a=159184021X" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />, I was interested to see his <a href="http://sethgodin.typepad.com/seths_blog/2009/04/how-to-make-money-with-seo.html"  title="" rel='external'>blog post on SEO</a> turn up as one of the most tagged sites on Delicious today. I had a read and I think he's got a great piece of simple advice. In summary, Seth points out that your chances of making it to the first page in a Google search for any standard term are slim. Instead, he suggests, build your brand on a phrase or keyword that's unique to you. ]]></description>
			<guid isPermaLink="false">86@http://viewsauce.com/pivot/</guid>
			<category>Marketing</category>
			<pubDate>Mon, 13 Apr 2009 13:16:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>How to spot quality within web design</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=85</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=85#comm</comments>
                        <description><![CDATA[ While perusing my <a href="http://popurls.com/"  title="" rel='external'>popurls</a> page today I stumbled upon this <a href="http://wefunction.com/2009/04/quality-within-web-design/"  title="" rel='external'>little gem of an article</a>. As I'm about to embark on the redesign of the <a href="http://www.officetime.net"  title="" rel='external'>OfficeTime</a> website I've been searching for inspiration as well as researching the latest design patterns and conventions. Touching on everything from 1px highlights and drop shadows to current trends in typography and spacing this article has given me plenty to think about. ]]></description>
			<guid isPermaLink="false">85@http://viewsauce.com/pivot/</guid>
			<category>Design</category>
			<pubDate>Mon, 13 Apr 2009 12:35:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>The complicated world of Zen Cart</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=83</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=83#comm</comments>
                        <description><![CDATA[ <p>I have decided the best way to launch my new jewellery business is online. I've done my research and have chosen Zen Cart as the basis for my online shop. Unfortunately, unlike CMS Made Simple, working with Zen Cart isn't easy. In order to get the package to do what you want you need to do a combination of changes via the admin system and hard coded changes direct into the files. This just seems a bad idea. The admin system is also extremely complex. I've been working with it for months now and I still haven't got my head around it. I'm hoping once I do I can build a stable white label version that will enable me to extend my freelance capabilities into ecommerce sites.</p> ]]></description>
			<guid isPermaLink="false">83@http://viewsauce.com/pivot/</guid>
			<category>Code</category>
			<pubDate>Tue, 17 Feb 2009 16:44:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Charities and the WWW</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=84</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=84#comm</comments>
                        <description><![CDATA[ <p>Recently I have done a lot of research into all the new methods charities now use to engage with potential donors. With the demise of the effectiveness of the big “donate now” button, charities have had to become much more creative about how they fundraise online.</p><p>According to the report <a href="http://www.nfpsynergy.net/freereports/freereportsandarticles/"  rel='external'>"Passion, persistence & partnership: the secrets of earning more online"</a>, produced by nfpSynergy and MissionFish (the people behind eBay for Charity) donors must be engaged on their own terms in the online world. Instead of relying on passive online fundraising tactics like "donate now" buttons charities must focus on "first engaging with potential donors where their interests and habits lie and thereby, over time, subsequently motivating them to donate, whether on- or off-line."</p>

<p>In simple terms, what this means is that charities should be looking to take advantage of the current popularity of social networking. If you build a community of people sympathetic to your cause, give them a way to communicate with each other, give them a reason to keep coming back to your site, they will naturally want to help you raise money.</p>

<p>Providing a place for volunteer fundraisers to get advice, find out about upcoming events they can get involved in or letting them know the various ways they can generate money for your charity is vitally important. The Institute of Fundraising has recently launched a <a href="http://www.how2fundraise.org"  rel='external'>central resource for volunteer fundraisers</a>. This is a fantastic site to link to and get ideas from. The site includes info on running activities, asking effectively, Gift Aid, law, best practice etc. Volunteers sign up to the site, choose their favourite charity and fundraise for them.</p>

<p>Another way to engage with potential donors is through a blog. Having a "life as a volunteer" or "life at the project frontline" blog will keep people coming back to your site and make them feel involved. If you talk about fundraising ideas and link to <a href="http://www.facebook.com"  rel='external'>Facebook</a> and <a href="http://www.justgiving.com"  rel='external'>Just Giving</a> you can actively encourage people to donate without even having a "donate" button at all. </p>
 
<p>Just Giving now gets more page referrals from Facebook than Google, so getting a presence on Facebook is vital. Also consider providing other ways for people to build their own community and get involved: a forum, Facebook network, flickr group, petition to sign etc.</p>

<p>Of course, the good old "donate" button still has its uses and allowing visitors to donate online has never been easier. There are a huge number of sites (more arriving all the time) who offer the service of online donation. Just link your website to a customised page on sites like <a href="http://www.paypal.com"  rel='external'>PayPal</a>, <a href="http://www.cafonline.org"  rel='external'>CAF</a> or Just Giving and you're done!</p>

<p>Finally, don't forget that there are ways of raising money online through search engines, auction sites (<a href="http://pages.ebay.co.uk/ebayforcharity/charities.html"  rel='external'>eBay for Charity</a> being the largest and most successful), affinity partnerships etc. These partnership arrangements are a "painless" win/win for donors and charities. They reach new audiences, give supporters ways to raise money without using their credit card, are usually low cost or free to set up and can easily be embedded into existing websites.</p>
 
<h3>Links</h3>
<ul>
<li><a href="http://www.everyclick.com"  rel='external'>Everyclick</a></li>
<li><a href="http://www.easyfundraising.org.uk"  rel='external'>Easy Fundraising</a></li>
<li><a href="http://www.thepetitionsite.com/"  rel='external'>The Petition Site</a></li>
<li><a href="http://www.facebook.com/pages/International-Animal-Rescue/8539814909"  rel='external'>IAR on Facebook</a></li>
<li><a href="http://clarissasblog.dogstrust.org.uk/"  rel='external'>Dogs Trust blog</a></li>
<li><a href="http://www.wisdom4all.co.uk"  rel='external'>Wisdom for All Trust</a></li></ul>

<h3>Online donation and fundraising sites:</h3>
<ul>
<li><a href="http://www.cafonline.org"  rel='external'>CAF</a></li>
<li><a href="http://www.help.co.uk"  rel='external'>Help.co.uk</a></li>
<li><a href="http://www.justgiving.com"  rel='external'>Just Giving</a></li>
<li><a href="http://www.bmycharity.com/"  rel='external'>Bmycharity</a></li>
<li><a href="http://www.paypal.com"  rel='external'>PayPal</a></li>
<li><a href="http://www.charitychoice.co.uk"  rel='external'>Charity Choice</a></li>
<li><a href="http://www.mycharitypage.com"  rel='external'>My Charity Page</a></li>
</ul> ]]></description>
			<guid isPermaLink="false">84@http://viewsauce.com/pivot/</guid>
			<category>Marketing</category>
			<pubDate>Tue, 12 Aug 2008 09:18:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Web Development Best Practice</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=69</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=69#comm</comments>
                        <description><![CDATA[ <p>For what it&#39;s worth, here is my opinion on the subject of front-end web development best practice. This document assumes you are already coding confidently with HTML and CSS. It is also highly subjective! It covers everything from choosing a doctype to SEO tips and suggestions on how to make your pages more accessible.</p><h3>Doctype</h3>For sites that don&#39;t use a rich text editor CMS it is recommended you try to code to the XHTML 1.0 standard:
<blockquote>
	&lt;!DOCTYPE html PUBLIC &quot;-//W3C//DTD XHTML 1.0 Transitional//EN&quot; <br />
	&quot;http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd&quot;&gt;<br />
	&lt;html xmlns=&quot;http://www.w3.org/1999/xhtml&quot; xml:lang=&quot;en&quot; lang=&quot;en&quot;&gt;<br />
	&lt;head&gt;<br />
	&lt;meta http-equiv=&quot;Content-Type&quot; content=&quot;text/html;charset=UTF-8&quot; /&gt;
</blockquote>
For sites using a rich text editor CMS it cannot be guaranteed that the resultant pages will be valid XHTML so it&#39;s best to stick to HTML 4.01:
<blockquote>
	&lt;!DOCTYPE HTML PUBLIC &quot;-//W3C//DTD HTML 4.01 Transitional//EN&quot; &quot;http://www.w3.org/TR/html4/loose.dtd&quot;&gt;
</blockquote>
<h3>HTML</h3>
<ul>
	<li>Use semantically correct markup:
	<ul>
		<li>If you have a heading, paragraph or list of items (navigation/menu) use the heading element (beginning with &lt;h1&gt;), the paragraph element (&lt;p&gt;) and the list item element (&lt;ul&gt;) respectively.</li>
		<li>Don&#39;t use CSS defined colour, &lt;strong&gt; or other markup that has no semantic meaning for headings.</li>
		<li>Limit the use of &lt;br&gt; tags as much as possible &ndash; use display: block on the preceding element instead. Don&rsquo;t use multiple &lt;br&gt; tags for spacing, use CSS padding or margins instead. Don&#39;t use &lt;br&gt;&lt;br&gt; to fake paragraph breaks.</li>
		<li>Code all menus/navigational as lists. Don&#39;t use the pipe | symbol to separate links, use CSS borders instead. Characters that have no semantic meaning should be avoided.</li>
		<li>Use &lt;strong&gt; and &lt;em&gt; in place of &lt;b&gt; and &lt;i&gt;.</li>
		<li>Think about definition lists and use them when appropriate.</li>
	</ul>
	</li>
	<li>Avoid large amounts of nested divs. Don&#39;t use extra markup to render design elements such as drop shadows, rounded corners etc. Use the existing tags and think creatively. For example, if you have an extendable box that has rounded corners put the bottom corners as a background image of the container div (aligned to the bottom) and the top corners as a background image of the first element inside the box &ndash; usually a heading. </li>
	<li>Validate all your HTML and CSS.</li>
</ul>
<h3>Accessiblity</h3>
<ul>
	<li>Avoid the use of image elements in the HTML for logos, headings etc. Use image replacement techniques instead. Eg.
	<blockquote>
		#searchProducts h2 {<br />
		background: url(../images/h2_searchproducts.gif) no-repeat;<br />
		text-indent: -1000em;<br />
		}
	</blockquote>
	</li>
	<li>If non-standard font headings are to be pulled from a CMS consider using <a href="http://www.mikeindustries.com/blog/archive/2006/12/sifr-3-beta-is-here"  rel='external'>sIFR</a>.</li>
	<li>Use a negative text-indent (text-indent: -1000em) to hide text, not display:none which is ignored by screenreaders.</li>
	<li>Use a &quot;<a href="http://www.usability.com.au/resources/source-order.cfm"  rel='external'>skip to nav</a>&quot; link at the top of the HTML to link to the navigation further down.<br />
	</li>
	<li>Create <a href="http://http://www.usability.com.au/resources/tables.cfm"  rel='external'>accessible tables</a> with table summaries, table headings, and captions.<br />
	</li>
	<li>Create <a href="http://www.usability.com.au/resources/forms.cfm"  rel='external'>accessible forms</a> using labels and fieldsets. Use headings in place of the legend element which cannot be styled with CSS.</li>
	<li>Use &quot;ems&quot; for font sizing.</li>
</ul>
<h3>SEO</h3>
<ul>
	<li>Don&#39;t use images for titles, use image replacement techniques. Avoid image replacement techniques for menus/lists of links.<br />
	</li>
	<li>It is better to make the h1 element contain page specific content rather than the name of the site - save that for the &lt;title&gt; element.</li>
	<li>Re-order the HTML and use relative/absolute positioning in order to keep content-rich areas at the top of the page, roughly:
	<blockquote>
		&lt;div id=&quot;container&quot;&gt;<br />
		&lt;h1&gt;Page Specific Title&lt;/h1&gt;<br />
		&lt;div id=&quot;content&quot;&gt;<br />
		&lt;/div&gt;<br />
		&lt;div id=&quot;nav&quot;&gt;<br />
		&lt;/div&gt;<br />
		&lt;div id=&quot;footer&quot;&gt;<br />
		&lt;/div&gt;<br />
		&lt;div id=&quot;header&quot;&gt;<br />
		&lt;/div&gt;<br />
		&lt;div id=&quot;ads&quot;&gt;<br />
		&lt;/div&gt;<br />
		&lt;/div&gt;
	</blockquote>
	</li>
</ul>
<h3>CSS</h3>
<p>
When creating your div layout, consider using the conventions shown below (shown in design order rather than HTML order). Any divs inside the #content div should be given id names relevant to their content. This is so links to these sections will make sense. Eg. www.site.com/index.html#intro
</p>
<p style="text-align:center;"><img src="http://www.viewsauce.com/images/wireframe_copy1.gif" style="border:0px solid" title="Wireframe" alt="Wireframe" class="pivot-image" /></p>

<ul>
	<li>Consider including the <a href="http://developer.yahoo.com/yui/reset/"  rel='external'>Yahoo reset.css</a> file in all projects.</li>
	<li>When naming classes and ids don&#39;t use underscores or hyphens - use camelCase.</li>
	<li>Make id and class names as short as possible.</li>
	<li>The best way to make sure others can understand your code is to create a single stylesheet split into sections with comments:
	<blockquote>
		&lt;!-- default styles --&gt;<br />
		all styles applied to page elements h1, p, a etc<br />
		&lt;!-- common styles --&gt;<br />
		all styles used on multiple pages .pagination, form styles, menu styles etc<br />
		&lt;!-- layout styles --&gt;<br />
		#container, #header, #footer etc<br />
		&lt;!-- listing page styles --&gt;<br />
		page specific styles: homepage, listing page, detail page etc
	</blockquote>
	</li>
	<li>Do not split styles into typography, colour etc., use only one entry for each class or id. This helps others understand your code and limits the size of the stylesheet.<br />
	</li>
	<li>Use the <a href="http://orderedlist.com/articles/clearing-floats-the-fne-method"  rel='external'>FNE (Float Nearly Everything)</a> method for clearing.<br />
	</li>
	<li>Avoid box model problems by not using padding/margin and width in the styles for a single element.<br />
	</li>
	<li>Don&#39;t use hacks or conditional comments - be creative instead. Don&#39;t use styles only certain browsers support, eg. transparent borders.<br />
	</li>
	<li>Don&#39;t use quotes when specifying background image urls. They are not needed and cause cross browser issues.<br />
	</li>
	<li>Use shorthand wherever possible. Eg.
	<blockquote>
		margin: 10px 5px 3px 0;<br />
		color: #fff;<br />
		background: #fff url(images/shoe.gif) no-repeat
	</blockquote>
	</li>
</ul>
<h3>Print Styles</h3>
<ul>
	<li>Because most browsers turn background printing off by default, site logos won&#39;t print if you are using an image replacement technique. Instead, put a print version of the logo in the HTML and use CSS to hide it and show a background image that displays the screen logo, eg:
	<blockquote>
		&lt;a href=&quot;../Home/&quot; id=&quot;siteLogo&quot;&gt;<br />
		&lt;img src=&quot;../images/logo_print.gif&quot; alt=&quot;Logo&quot; width=&quot;204&quot; height=&quot;79&quot; border=&quot;0&quot;&gt;&lt;/a&gt;<br />
		<br />
		#siteLogo {<br />
		background: url(../images/logo.gif) no-repeat;<br />
		text-indent: -1000em;<br />
		width: 204px;<br />
		height: 79px;<br />
		display: block<br />
		}
	</blockquote>
	</li>
	<li>Don&#39;t use &quot;print this page&quot; links - use a print stylesheet instead. Educate your client as to why we no longer need them.<br />
	</li>
	<li>To increase readability and cross platform compatibility it is best to take out floats, background colours and advertising. Please read my <a href="http://www.viewsauce.com/pivot/entry.php?id=71"  rel='external'>article on print stylesheets</a> for more information.<br />
	</li>
</ul>
<h3>Testing</h3>If you can&#39;t convince your client to accept <a href="http://developer.yahoo.com/yui/articles/gbs/"  rel='external'>graded browser support</a>, it is advisable to test your sites in the following browsers:<dl><dt>Windows</dt><dd>Internet Explorer 5.5 and above</dd><dd>Firefox 1.5 and above</dd><dd>Opera 9 and above</dd><dt>Mac OS</dt><dd>Firefox 1.5 and above</dd><dd>Safari 2 and above</dd><dd>Opera 9 and above</dd></dl><a href="http://tredosoft.com/Multiple_IE"  rel='external'>Install multiple IE versions</a> to help you test your sites or alternatively use <a href="http://www.browsercam.com/"  rel='external'>BrowserCam</a>.<br />
<h3>Common IE 6 bugs and how to fix them</h3><dl><dt><a href="http://www.positioniseverything.net/explorer/peekaboo.html"  rel='external'>Peekaboo bug</a></dt><dd>Part of the page disappears until you scroll down or mouse over links.</dd><dt><a href="http://www.positioniseverything.net/explorer/guillotine.html"  rel='external'>Guillotine bug</a></dt><dd>The Guillotine is a bug that chops off the bottom part of floated elements when certain links are hovered over.</dd><dt>Duplicate Character Bug</dt><dd>Text characters from the last of the floated elements are sometimes duplicated below the last float.</dd><dd>The direct cause is nothing more than ordinary HTML comments sandwiched between floats that come in sequence. Remove the comments!</dd><dt>Doubled Float-Margin Bug</dt><dd>If you float an element in the same direction as a margin on that element (eg. float: left; margin-left: 10px) the margin will be doubled. </dd><dd>Avoid doing this or alternatively add display: inline to the element.</dd><dt><a href="http://phonophunk.com/articles/ie-fix-for-gaps-between-list-items.php"  rel='external'>Gaps between list items</a></dt></dl>See these sites for full bug lists:
<ul>
	<li><a href="http://www.richinstyle.com/bugs/ie5.html"  rel='external'>http://www.richinstyle.com/bugs/ie5.html</a></li>
	<li><a href="http://www.positioniseverything.net/explorer.html"  rel='external'>http://www.positioniseverything.net/explorer.html</a></li>
</ul>
<h3>Useful websites</h3><dl><dt>Tools</dt><dd><a href="http://www.lipsum.com/"  rel='external'>Lorem Ipsum generator</a></dd><dd><a href="http://www.web-source.net/symbols.htm"  rel='external'>ASCII Codes</a></dd><dt>Software</dt><dd><a href="http://www.getfirefox.com"  rel='external'>Firefox</a></dd><dd><a href="http://www.getfirebug.com"  rel='external'>Firebug</a></dd><dd><a href="http://www.adobe.com/products/homesite/"  rel='external'>Homesite</a></dd><dd><a href="https://addons.mozilla.org/firefox/60/"  rel='external'>Firefox </a>and <a href="http://www.microsoft.com/downloads/details.aspx?FamilyID=e59c3964-672d-4511-bb3e-2d5e1db91038&amp;DisplayLang=en"  rel='external'>IE</a> developer toolbar</dd><dd><a href="https://addons.mozilla.org/firefox/249/"  rel='external'>Firefox HTML Validator plugin</a><br />
</dd><dd><a href="https://addons.mozilla.org/firefox/1419/"  rel='external'>Firefox switch to IE plugin</a></dd><dd><a href="http://www.mikeindustries.com/sifr/"  rel='external'>sIFR</a></dd><dt>Blogs</dt><dd><a href="http://www.richinstyle.com"  rel='external'>http://www.richinstyle.com</a></dd><dd><a href="http://www.positioniseverything.net"  rel='external'>http://www.positioniseverything.net</a></dd><dd><a href="http://brainstormsandraves.com/"  rel='external'>http://brainstormsandraves.com/</a></dd><dd><a href="http://www.alistapart.com"  rel='external'>http://www.alistapart.com</a></dd><dt>Validators and accessibility checkers</dt><dd><a href="http://www.w3.org/QA/Tools/"  rel='external'>W3C HTML and CSS validators</a></dd><dd><a href="http://www.w3.org/TR/WCAG10/full-checklist.html"  rel='external'>W3C Accessiblity Guidelines</a></dd><dd><a href="http://www.contentquality.com/"  rel='external'>Accessibility validator</a></dd></dl> ]]></description>
			<guid isPermaLink="false">69@http://viewsauce.com/pivot/</guid>
			<category>Code, Tutorials, Usability</category>
			<pubDate>Mon, 05 Mar 2007 06:55:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>How to create HTML emails</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=72</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=72#comm</comments>
                        <description><![CDATA[ Everybody knows HTML emails are a pain to write. For starters, most email clients butcher CSS so we have to go all old school and use tables for layout. Then there's the whole spam issue. The following is a tutorial on how to approach an HTML email in order to maximise the number of email clients that will render it correctly and minimise the number of clients that will condemn it as spam.<h3>Do</h3>
<ul><li>Make sure your fixed design width is under 620 pixels wide.<br  /> </li><li>Use tables for layout. CSS
has limited support in most web clients so don't use floats or absolute positioning (blocked for obvious reasons).</li><li>Specify the width, height and alt text of images - you should be doing this anyway.</li><li>Place styles inside the &lt;body&gt; not
the &lt;head&gt;. The &lt;head&gt; element and any
contained
element will be removed by web clients.</li><li>Make sure that class and ID names will not clash with
common names that may be used by web clients i.e. "#main"</li></ul>
<h3>Don't</h3><ul><li>Use JavaScript,
ActiveX or Java. </li><li>Use a Doctype declaration. Most
email clients don't take any
notice of them. In fact, in web based clients your HTML will be inserted
into the body of another document with its own declaration. All in all, it's best to assume your document will be rendered in
"quirks mode" and therefore you should validate against the HTML 4.1
Transitional standard and avoid XHTML.</li><li>Link to external files. In general all external links to files
except images will be remove by email clients. So that means avoiding references to external stylesheets or javascript files.</li><li>Assign any CSS properties to the &lt;body&gt; tag. The
&lt;body&gt; element will be renamed or removed by web clients.</li></ul> <h3>Other CSS issues</h3>
<ul><li>Hotmail removes any use of the margin property,
use padding instead. </li><li>Most web clients
remove the background-position property.
</li><li>Adding styles to &lt;a&gt; elements can be problematic.
<br  />&nbsp;</li></ul>
<h3>How to avoid the spam folder</h3>


<ul><li>Validate your document.</li><li>The ratio of images to text is very
important. if an email contains mainly images it may be rejected.
</li><li>Do not link to image files which return 0
bytes. </li><li>Do not make text the same colour as the
background. </li><li>Do not use very small text sizes.
</li></ul>
<p>Avoid obvious spam phrases such as:</p><ul><li>free
installation </li><li>no obligation
</li><li>no investment
</li><li>special promotion </li><li>limited
time offer </li><li>sign up FREE! </li><li>money back
guarantee </li></ul> ]]></description>
			<guid isPermaLink="false">72@http://viewsauce.com/pivot/</guid>
			<category>Code, Tutorials</category>
			<pubDate>Tue, 06 Feb 2007 07:17:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Tableless CSS form layouts - Part 2</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=42</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=42#comm</comments>
                        <description><![CDATA[ <p>In part 1 we looked at creating a simple form using CSS for
layout. Now we'll move on to something more complex.</p><p>In this part I will show you how to create forms that include mandatory fields, fieldsets,
multiple checkboxes and radio buttons.</p><h3>Multiple input boxes, one label</h3><p>Let's start with something easy - an input field that has no label.</p><p>For example, when asking for an address, we often have a number of rows with just one label:</p><div class="example"><form action="" method="post"><p><label for="address1">Address</label><span><input  name="address1" id="address1" /></span></p><p><span><input  name="address2" id="address2" /></span></p><p><span><input  name="address3" id="address3" /></span></p></form></div><p>Oops, that isn't quite right. We need to get them all to align. The easiest thing to do is assign a class to the rows that have no labels:</p><blockquote>p.labelless<br  />{<br  />margin-left: 145px;<br  />}</blockquote><blockquote>&lt;p&gt;<br  />&lt;label for="address1"&gt;Address&lt;/label&gt;<br  />&lt;span&gt;&lt;input name="address1" id="address1" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;p class="labelless"&gt;<br  />&lt;span&gt;&lt;input name="address2" id="address2" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;p class="labelless"&gt;<br  />&lt;span&gt;&lt;input name="address3" id="address3" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;</blockquote><p>This will appear correctly as:</p><div class="example"><form action="" method="post"><p><label for="address1">Address</label><span><input  name="address1" id="address1" /></span></p><p class="labelless"><span><input  name="address2" id="address2" /></span></p><p class="labelless"><span><input  name="address3" id="address3" /></span></p></form></div><h3>Fieldsets</h3><p>This is the perfect time to introduce fieldsets. Fieldsets should be used to group together form items in a logical way. All the address input fields should be in one fieldset. Each fieldset should have a <code>legend</code> but as it is almost impossible to style this in CSS I prefer to use a heading (h1, h2, h3) tag.</p><blockquote>&lt;fieldset&gt;<br  />&lt;h3&gt;Contact details&lt;/h3&gt;<br  />&lt;p&gt;<br  />&lt;label for="address1"&gt;Address&lt;/label&gt;<br  />&lt;span&gt;&lt;input name="address1" id="address1" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;p class="labelless"&gt;<br  />&lt;span&gt;&lt;input name="address2" id="address2" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;p class="labelless"&gt;<br  />&lt;span&gt;&lt;input name="address3" id="address3" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;/fieldset&gt;</blockquote><p>This will look like this:</p><div class="example"><form action="" method="post"><fieldset><h3>Contact details</h3><p><label for="address1">Address</label><span><input  name="address1" id="address1" /></span></p><p class="labelless"><span><input  name="address2" id="address2" /></span></p><p class="labelless"><span><input  name="address3" id="address3" /></span></p></fieldset></form></div><h3>Checkboxes and radio buttons</h3><p>We can use a similar approach to deal with radio buttons and checkboxes. First create a separate class for each row that differs from the standard combination. Here we will have <code>.multiple</code> for rows with multiple radio buttons and <code>.checkbox</code> for rows with the right hand column having a checkbox next to some text.</p><p>We want it to look like this:</p><div class="example"><form action="" method="post"><p class="multiple"><label>Do you have permission to work in the UK?</label><span><input  id="yes" name="workPermit" value="yes" type="radio" /> <label for="yes">Yes</label> <input  name="workPermit" id="no" value="no" type="radio" /> <label for="no">No</label></span></p><p class="checkbox"><label for="terms">I have read and understood the terms and conditions</label><input  id="terms" value="1" name="terms" type="checkbox" /></p></form></div></p><p>Note how each row clears the one above regardless of which
column is longer - that's what encasing each row in a paragraph tag
did. This is the code:</p><blockquote>&lt;p class="multiple"&gt;<br  />&lt;label&gt;Do you have permission to work in the UK?&lt;/label&gt;<br  />&lt;span&gt;&lt;input type="radio" id="yes" name="workPermit" value="yes" /&gt; &lt;label for="yes"&gt;Yes&lt;/label&gt; &lt;input type="radio" name="workPermit" id="no" value="no" /&gt; &lt;label for="no"&gt;No&lt;/label&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;p class="checkbox"&gt;<br  />&lt;label for="terms"&gt;I have read and understood the terms and conditions&lt;/label&gt;<br  />&lt;input id="terms" type="checkbox" value="1" name="terms" /&gt;<br  />&lt;/p&gt;</blockquote><p>And here are the styles:</p><blockquote>.checkbox label<br  />{<br  />float: right;<br  />width: 175px<br  />}<br  /><br  />.multiple span label<br  />{<br  />display: inline;<br  />float: none<br  />}</blockquote><p>You can use these same principles to add other non-standard form items like upload fields or submit buttons. Good luck!</p> ]]></description>
			<guid isPermaLink="false">42@http://viewsauce.com/pivot/</guid>
			<category>Code, Tutorials</category>
			<pubDate>Thu, 18 Jan 2007 10:00:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Tableless CSS form layouts - Part 1</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=41</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=41#comm</comments>
                        <description><![CDATA[ <p>I've been working with CSS for about 6 years now and have used it for layout in the last 3. In that time I've learnt a lot (mostly from trial and error) and I hope to start writing about it here. First up is form layouts. </p><p>Most <a href="http://www.quirksmode.org/css/forms.html"  rel='external'>online articles</a> tell you how to create a CSS layout using floats when you have a simple form with a label and input box on each line. I will show you how to create a more robust design that can accommodate numerous other possibilities including mandatory fields, fieldsets, multiple checkboxes, radio buttons etc.</p><h3>Step 1 : The basic HTML and CSS</h3><p>First off let's start with establishing a clean slate to start with, we also want to give the form a set width:</p><blockquote>form <br  />{<br  />padding: 0;<br  />margin: 0<br  />width: 348px<br  />}</blockquote><p>It is also a good idea to align those pesky input fields a little better:</p><blockquote>select, input, textarea<br  />{<br  />vertical-align: middle<br  />}</blockquote><p>Let's start small - a basic input field and label combination:</p><blockquote>&lt;label for="firstName"&gt;First name&lt;/label&gt;<br  />&lt;input name="firstName" id="firstName" /&gt;&lt;br /&gt;<br  />&lt;label for="emailAddress"&gt;Email address&lt;/label&gt;<br  />&lt;input name="emailAddress" id="emailAddress" /&gt;</blockquote><p>This looks like this:</p><form action="" method="post" class="nonworkingform"><label for="firstName">First name</label><input  name="firstName" id="firstName" /><br  /><label for="emailAddress">Email address</label><input  name="emailAddress" id="emailAddress" /><br  /></form><h3>Step 2 : Aligning the "columns"</h3><p>Now we'd like those columns to line up nicely like they would in a table so we introduce some float trickery. It would be nice if all forms had nothing but input fields like this but they don't. We can apply a float style to the label but can't apply a style to the input tag as sometimes it might be text, a list of radio buttons or more than one input field.</p><p>The answer is to add a span tag around the input tag and style that instead:</p><blockquote>&lt;label for="firstName"&gt;First name&lt;/label&gt;<br  />&lt;span&gt;&lt;input name="firstName" id="firstName" /&gt;&lt;/span&gt;&lt;br /&gt;<br  />&lt;label for="emailAddress"&gt;Email address&lt;/label&gt;<br  />&lt;span&gt;&lt;input name="emailAddress" id="emailAddress" /&gt;&lt;/span&gt;</blockquote><p>And add the float styles:</p><blockquote>label<br  />{<br  />display: block;<br  />width: 145px;<br  />float: left;<br  />}<br  /><br  />span<br  />{<br  />display: block;<br  />width: 200px;<br  />float: left<br  />}</blockquote><p>Our form now looks like this:</p><div class="example clearfix"><form action="" method="post" class="clearfix"><label for="firstName">First name</label><span><input  name="firstName" id="firstName" /></span><br  /><label for="emailAddress">Email address</label><span><input  name="emailAddress" id="emailAddress" /></span></form></div><h3>Step 3 : Aligning the "rows"</h3><p>Now we want to space out our form rows nicely so instead of using a <code>br</code> tag we make each row a paragraph. We also need to implement the <a href="http://www.tanfa.co.uk/archives/show.asp?var=300"  rel='external'>modified "clearfix" hack</a> to force IE to enclose the floated contents of the paragraph as it doesn't if both enclosed elements are floats:</p><blockquote>&lt;p&gt;<br  />&lt;label for="firstName"&gt;First name&lt;/label&gt;<br  />&lt;span&gt;&lt;input name="firstName" id="firstName" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;<br  />&lt;p&gt;<br  />&lt;label for="emailAddress"&gt;Email address&lt;/label&gt;<br  />&lt;span&gt;&lt;input name="emailAddress" id="emailAddress" /&gt;&lt;/span&gt;<br  />&lt;/p&gt;</blockquote><blockquote>p:after<br  />{<br  />content: "."; <br  />display: block; <br  />height: 0; <br  />clear: both; <br  />visibility: hidden;<br  />}<br  /><br  />p<br  />{<br  />display: inline-table;<br  />padding: 0 0 10px 0;<br  />margin: 0;<br  />}<br  /><br  />/* Hides from IE-mac \*/<br  />* html p {height: 1%;}<br  />p {display: block;}<br  />/* End hide from IE-mac */</blockquote><p>And this gives us:</p><div class="example"><form action="" method="post" class="clearfix"><p><label for="firstName">First name</label><span><input  name="firstName" id="firstName" /></span></p><p><label for="emailAddress">Email address</label><span><input  name="emailAddress" id="emailAddress" /></span></p></form></div><p>So far, so good, but what about more complex layouts? Read <a href="http://www.viewsauce.com/pivot/entry.php?id=42"  rel='external'>part 2</a>...</p> ]]></description>
			<guid isPermaLink="false">41@http://viewsauce.com/pivot/</guid>
			<category>Code, Tutorials</category>
			<pubDate>Wed, 10 Jan 2007 04:41:00 -0500</pubDate>
		</item>
		
		
		
		<item>
			<title>Margins, padding and widths can only be applied to block level elements.</title>
			<link>http://www.viewsauce.com/pivot/entry.php?id=57</link>
			<comments>http://www.viewsauce.com/pivot/entry.php?id=57#comm</comments>
                        <description><![CDATA[ If you wish to apply them to inline elements like <code>&lt;a&gt;</code> tags or <code>&lt;span&gt;</code> tags then you need to define those tags as block elements in your stylesheets. Eg.<blockquote>span { display: block }</blockquote> ]]></description>
			<guid isPermaLink="false">57@http://viewsauce.com/pivot/</guid>
			<category>CSS Tips</category>
			<pubDate>Wed, 18 Oct 2006 10:33:00 -0500</pubDate>
		</item>
		
		
		
	</channel>
</rss>
