<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:admin="http://webns.net/mvcb/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

	<channel>
    
		<title>SamRayner.com // Full Posts</title>
		<link>http://samrayner.com/archives/</link>
		<description>Full-length posts on Web development, the Internet and life in general.</description>
		<dc:language>en</dc:language>
		<dc:creator>pass@word.com</dc:creator>
		<dc:rights>Copyright 2008</dc:rights>
		<dc:date>2008-07-20T11:12:00+00:00</dc:date>
		<admin:generatorAgent rdf:resource="http://expressionengine.com/" />
    

		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/samrayner/posts" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsamrayner%2Fposts" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsamrayner%2Fposts" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsamrayner%2Fposts" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/samrayner/posts" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsamrayner%2Fposts" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2Fsamrayner%2Fposts" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2Fsamrayner%2Fposts" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
			<title>AltFontPrev</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/CEcKEf5RKQs/</link>
			<comments>http://samrayner.com/archives/altfontprev/#comments</comments>
			<category>JavaScript</category>
			<guid isPermaLink="false">http://samrayner.com/archives/altfontprev/</guid>
			<description>&lt;p&gt;Typography on the Web is one of the most constraining features of the medium. Designers who wish to stray away from the safety of Verdana, Georgia, and co. generally have three options:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Image Replacement&lt;/li&gt;&lt;li&gt;Flash Replacement&lt;/li&gt;&lt;li&gt;Taking their chances with &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;The downsides of image and Flash replacement are well documented. Saving headings or snippets of text as images quickly gets tiresome on sites with a steady stream of new content and, unless used carefully, can cause problems for search engines and screen readers. Replacement techniques such as &lt;a href="http://wiki.novemberborn.net/sifr3"&gt;sIFR&lt;/a&gt; solve these problems gracefully but introduce the need for Flash to be installed and JavaScript enabled.&lt;/p&gt;

&lt;p&gt;
Until &lt;a href="http://www.alistapart.com/articles/cssatten/"&gt;@font-face&lt;/a&gt; becomes widely accepted by browser developers and the community, declaring anything but web-safe fonts in &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; will remain a risky business. Choosing suitable alternatives for a font that looks great but is unlikely to be installed can be difficult. Style, x-height, character width and weight must all be taken into account to ensure less-fortunate visitors receive as similar an experience as possible. It&amp;#8217;s all too easy to focus on the first sans-serif of a &lt;code&gt;font-family&lt;/code&gt;, simply chuck in a quick line-up of &lt;code&gt;verdana, arial, sans-serif&lt;/code&gt; to follow, and not consider how much wider Verdana is than your preferred font or how much rounder Arial is.
&lt;/p&gt;
&lt;p&gt;
So, time to release something I&amp;#8217;ve had in mind for a while&amp;#8230;
&lt;/p&gt;
&lt;p&gt;
AltFontPrev is a JavaScript &lt;a href="http://en.wikipedia.org/wiki/Bookmarklet"&gt;bookmarklet&lt;/a&gt; that allows you to preview how any website would look if a particular font was not available. Each font used to style elements on the page is listed under its selector and, when clicked, is moved from being a fall-back to being the primary font.
&lt;/p&gt;
&lt;p&gt;Try it out for yourself: click the button below to preview this page with alternative fonts.&lt;/p&gt;&lt;a href="javascript:function%20addAFP()%20{var%20scriptElm%20=%20document.createElement('script');scriptElm.setAttribute('id','afp-js');scriptElm.setAttribute('type','text/javascript');scriptElm.setAttribute('src','http://altfontprev.googlecode.com/svn/tags/latest/afp.js');document.getElementsByTagName('head')[0].appendChild(scriptElm);}addAFP();"&gt;&lt;img class="center" src="http://www.samrayner.com/images/uploads/post-images/afp-button.jpg" alt="AltFontPrev" width="230" height="139" /&gt;&lt;/a&gt;&lt;p&gt;To &amp;#8216;install&amp;#8217; the bookmarklet in your browser for use on any site, drag &lt;a href="javascript:function%20addAFP()%20{var%20scriptElm%20=%20document.createElement('script');scriptElm.setAttribute('id','afp-js');scriptElm.setAttribute('type','text/javascript');scriptElm.setAttribute('src','http://altfontprev.googlecode.com/svn/tags/latest/afp.js');document.getElementsByTagName('head')[0].appendChild(scriptElm);}addAFP();" title="AltFontPrev"&gt;this link&lt;/a&gt; into your bookmarks toolbar or menu. When you want to use it on a site, just click the bookmark and the pane should appear.&lt;/p&gt;

&lt;p&gt;
As well as choosing a font from the existing &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; declarations, you can type a custom font to override everything. Hopefully this will help you choose alternative fonts when perfecting your site&amp;#8217;s typography.
&lt;/p&gt;
&lt;p&gt;You&amp;#8217;ll see an indicator when you hover over a font in the list. It will take the form of a capital &amp;#8216;O&amp;#8217; if the font in question is installed on your system. If AltFontPrev picks up a font from the &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; that is not installed, it will be flagged up. In Safari, that&amp;#8217;s literally; a flag symbol will appear in place of the O.&lt;/p&gt;&lt;img class="center framed" src="http://www.samrayner.com/images/uploads/post-images/afp-indicator.jpg" alt="AltFontPrev pane with flagged font on hover" width="272" height="254" /&gt;&lt;p&gt;Unfortunately, Firefox and Opera don&amp;#8217;t support Wingdings so will offer up a squashed, Impact-styled O instead. It should still be discernible from the standard indicator but, I admit, it&amp;#8217;s not ideal. If you&amp;#8217;re using Firefox and would prefer missing fonts to be flagged, there is &lt;a href="http://nothing.golddave.com/?p=53"&gt;a rather hacky way to add Wingdings support&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;
AltFontPrev is the first project I&amp;#8217;ve taken on in my efforts to teach myself JavaScript. The gurus amongst you might cringe a little at my code so, if you have any advice or requests concerning the features of the script, please &lt;a href="http://samrayner.com/archives/altfontprev/#comment_form"&gt;leave a comment&lt;/a&gt;. I&amp;#8217;m eager to hear if I&amp;#8217;ve approached anything in a particularly nooby way.
&lt;/p&gt;
&lt;p&gt;
The only thing on the to-do list for the next version is to add shorthand support for Safari. At the moment, WebKit&amp;#8217;s handling of &lt;code&gt;style.fontFamily&lt;/code&gt; does not include shorthand font declarations. A fix could get very messy though, so we&amp;#8217;ll see.
&lt;/p&gt;
&lt;p&gt;
My hope is that AltFontPrev will give web designers the confidence to experiment with less common fonts without worrying about some of their audience getting a Times-riddled raw deal. Even if just 1% of your visitors get to appreciate your use of &lt;a href="http://www.typography.com/fonts/font_overview.php?productLineID=100033"&gt;Archer&lt;/a&gt; or &lt;a href="http://www.typography.com/fonts/font_overview.php?productLineID=100008"&gt;Gotham&lt;/a&gt; then I&amp;#8217;d say it&amp;#8217;s worth the effort compensating for it.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=CEcKEf5RKQs:LasVPb5Ggjw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=CEcKEf5RKQs:LasVPb5Ggjw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=CEcKEf5RKQs:LasVPb5Ggjw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=CEcKEf5RKQs:LasVPb5Ggjw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=CEcKEf5RKQs:LasVPb5Ggjw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/CEcKEf5RKQs" height="1" width="1"/&gt;</description>
			<dc:date>2008-07-20T11:12:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/altfontprev/</feedburner:origLink></item>

		<item>
			<title>Blogging with Coda</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/4oOgUqMX2Vw/</link>
			<comments>http://samrayner.com/archives/blogging_with_coda/#comments</comments>
			<category>How-To's</category>
			<guid isPermaLink="false">http://samrayner.com/archives/blogging_with_coda/</guid>
			<description>&lt;p&gt;Soon after the latest version was released, I downloaded the 30 day trial of &lt;a href="http://www.red-sweater.com/marsedit/"&gt;MarsEdit&lt;/a&gt;, the desktop blogging app from &lt;a href="http://www.red-sweater.com/products/index.html"&gt;Red Sweater&lt;/a&gt;. Whilst I didn&amp;#8217;t use it enough to warrant buying a copy (I&amp;#8217;m quite picky with posting quicklinks and blog entries and have my &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt; admin panel set up &lt;em&gt;just right&lt;/em&gt;) I found the live previews really useful, letting me see what a post would look like in context before publishing. So, when my trial was up, I decided to try and replicate the feature in &lt;a href="http://www.panic.com/coda/"&gt;Coda&lt;/a&gt;, my web development app of choice.
&lt;/p&gt;
&lt;p&gt;Almost two months later, I&amp;#8217;ve finally got round to recording a screencast on how I did it.&lt;/p&gt;&lt;object width="425" height="239"&gt;&lt;param name="allowfullscreen" value="true" /&gt;&lt;param name="allowscriptaccess" value="always" /&gt;&lt;param name="movie" value="http://www.vimeo.com/moogaloop.swf?clip_id=1056895&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" /&gt;&lt;embed src="http://www.vimeo.com/moogaloop.swf?clip_id=1056895&amp;amp;server=www.vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=0&amp;amp;color=00ADEF&amp;amp;fullscreen=1" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" width="425" height="239"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;p&gt;To really see what&amp;#8217;s going on, head over to the &lt;a href="http://www.vimeo.com/1056895?pg=embed&amp;amp;sec=1056895"&gt;Vimeo page&lt;/a&gt; and watch it in all its &lt;abbr title="High Definition"&gt;HD&lt;/abbr&gt; glory. If your resolution is big enough you might want to disable scaling. I&amp;#8217;m sorry it turned out so long, I didn&amp;#8217;t intend to burble on for 13 minutes.&lt;/p&gt;

&lt;p&gt;
If you want to set up the system for yourself, you can &lt;a href="http://files.samrayner.com/scripts/include.js"&gt;grab include.js here&lt;/a&gt;. Credit goes to &lt;a href="http://www.boutell.com/newfaq/creating/include.html"&gt;Boutell.com&lt;/a&gt; for the bulk of the script. Of course, the same thing could be probably be accomplished in a much cleaner way using a server-side language but I wanted to avoid setting up localhost etc.
&lt;/p&gt;
&lt;p&gt;
As I say in the screencast, if you have any questions or are having trouble getting things set up, just leave a comment and I&amp;#8217;ll help as best I can.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=4oOgUqMX2Vw:0SblysV4Amw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=4oOgUqMX2Vw:0SblysV4Amw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=4oOgUqMX2Vw:0SblysV4Amw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=4oOgUqMX2Vw:0SblysV4Amw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=4oOgUqMX2Vw:0SblysV4Amw:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/4oOgUqMX2Vw" height="1" width="1"/&gt;</description>
			<dc:date>2008-05-24T10:52:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/blogging_with_coda/</feedburner:origLink></item>

		<item>
			<title>Too Little, Too Soon</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/-dDk-sf-8iY/</link>
			<comments>http://samrayner.com/archives/too_little_too_soon/#comments</comments>
			<category>Life</category>
			<guid isPermaLink="false">http://samrayner.com/archives/too_little_too_soon/</guid>
			<description>&lt;p&gt;When I launched this site in January, I promised myself I would never write apologising for a lack of new content, or would at least put off such a post for as long as possible. Of course, just three months down the line, &lt;abbr title="Advanced Subsidiary"&gt;AS&lt;/abbr&gt; Level coursework and exam preparation have crept up on me and I&amp;#8217;ve already caved.
&lt;/p&gt;
&lt;h4&gt;Blogging ain&amp;#8217;t Easy&lt;/h4&gt;
&lt;p&gt;
I knew that maintaining a steady stream of interesting content would take effort but, perhaps naively, hadn&amp;#8217;t counted on it taking up so much time. The &lt;a href="http://samrayner.com/archives/"&gt;nine posts&lt;/a&gt; I have made since New Year all took longer than expected, most likely due to me being obsessional and refusing to publish them until I was absolutely happy.
&lt;/p&gt;
&lt;p&gt;
Not only has the frequency of posts suffered because of this tendancy, but I&amp;#8217;m afraid the tone of the site has been affected too. The posts so far have been rather more formal than I intended, probably as a result of over-editing and wanting to make a good impression.
&lt;/p&gt;
&lt;p&gt;
I have a to-write list on my desktop that stretches into double figures and I am genuinely enthusiastic about getting stuff on here. So, in an attempt to move things along, I&amp;#8217;ve decided to lighten up a bit, hopefully reducing the turnaround time for posts and giving you a better idea of what I&amp;#8217;m like.
&lt;/p&gt;
&lt;p&gt;
I&amp;#8217;ve made this the first post of the &lt;a href="http://samrayner.com/archives/cat/life/"&gt;Life&lt;/a&gt; category, one of the few categories I always had in mind when designing this blog. I realise many of you won&amp;#8217;t be too bothered about what I get up to away from the desk, and the site&amp;#8217;s main focus will remain on Web related topics and general geekery, but it will be nice to write about other things from time to time.
&lt;/p&gt;
&lt;h4&gt;I Swore I Wouldn&amp;#8217;t Say It...&lt;/h4&gt;
&lt;p&gt;I&amp;#8217;m sorry for the drought. I am working to do something about it. Here&amp;#8217;s a muxtape for your listening pleasure as an apology.&lt;/p&gt;&lt;a href="http://sr.muxtape.com/"&gt;&lt;img class="center" src="http://www.samrayner.com/images/uploads/post-images/muxtape-1.jpg" alt="Muxtape 1 (Acoustic)" /&gt;&lt;/a&gt;&lt;p&gt;This first one is all acoustic. I&amp;#8217;ll try to update it with some of my favourite tracks periodically and give you a heads up here when I do. If anything takes your fancy, and if you haven&amp;#8217;t already, check out my &lt;a href="http://samrayner.com/archives/recommended/#music"&gt;music recommendations&lt;/a&gt; for a collection of my favourite albums.&lt;/p&gt;

&lt;p&gt;
So, now you know a little about what I&amp;#8217;ve been up to and what music I&amp;#8217;m loving, and I&amp;#8217;ve only reread this &lt;del&gt;four&lt;/del&gt; &lt;ins&gt;five&lt;/ins&gt; times. That wasn&amp;#8217;t too bad, was it?
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=-dDk-sf-8iY:nvqCVtXFM1w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=-dDk-sf-8iY:nvqCVtXFM1w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=-dDk-sf-8iY:nvqCVtXFM1w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=-dDk-sf-8iY:nvqCVtXFM1w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=-dDk-sf-8iY:nvqCVtXFM1w:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/-dDk-sf-8iY" height="1" width="1"/&gt;</description>
			<dc:date>2008-04-01T18:06:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/too_little_too_soon/</feedburner:origLink></item>

		<item>
			<title>Anticipating ExpressionEngine 2.0</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/wfd99BibWbQ/</link>
			<comments>http://samrayner.com/archives/anticipating_expressionengine_2/#comments</comments>
			<category>ExpressionEngine</category>
			<guid isPermaLink="false">http://samrayner.com/archives/anticipating_expressionengine_2/</guid>
			<description>&lt;p&gt;I love ExpressionEngine. From my experience, it blows every other &lt;abbr title="Content Management System"&gt;CMS&lt;/abbr&gt; out of the water in terms of power, flexibility and ease of use. &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt; lets me create sites that are far beyond my technical ability in terms of complexity and does it with style. As a result, I&amp;#8217;m very excited about version 2, recently demoed at &lt;a href="http://2008.sxsw.com/interactive/"&gt;South by South West Interactive&lt;/a&gt;.
&lt;/p&gt;
&lt;h4&gt;What We Can Expect&lt;/h4&gt;
&lt;p&gt;
The main improvements that the guys at &lt;a href="http://ellislab.com/"&gt;EllisLab&lt;/a&gt; have been touting are a back-end based on their &lt;a href="http://codeigniter.com/"&gt;CodeIgniter&lt;/a&gt; framework and a redesigned control panel.
&lt;/p&gt;
&lt;p&gt;
The new &lt;a href="http://expressionengine.com/blog/entry/expressionengine_20_fully_codeignited/"&gt;integration with CodeIgniter&lt;/a&gt; doesn&amp;#8217;t affect me as much as it will some, but I can definitely see the benefits of the move. The &lt;abbr title="CodeIgniter"&gt;CI&lt;/abbr&gt; gurus will hopefully begin to play a more active role in the &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt; community and cook up some additional functionality for us bloggers, further extending &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt;&amp;#8216;s capability to scratch our every itch. They&amp;#8217;re bound to benefit to, being able to implement features of &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt;, such as the forum module, in their own &lt;abbr title="CodeIgniter"&gt;CI&lt;/abbr&gt; applications. It looks to be a win-win situation.
&lt;/p&gt;
&lt;p&gt;With such a major update, it was always likely that the admin area was going to receive a makeover. EllisLab have hired the talented &lt;a href="http://veerle.duoh.com/"&gt;Veerle Pieters&lt;/a&gt; to redesign the interface, unfortunately leaving behind the nice current style designed by &lt;a href="http://31three.com/"&gt;Jesse Bennett-Chamberlain&lt;/a&gt;.&lt;/p&gt;&lt;a href="http://www.derekallard.com/blog/post/expressionengine-20-official-screenshots/"&gt;&lt;img class="center framed" src="http://www.samrayner.com/images/uploads/post-images/ee2-cp.jpg" alt="ExpressionEngine's future control panel" /&gt;&lt;/a&gt;&lt;p&gt;From what I&amp;#8217;ve seen of the control panel, I must say I&amp;#8217;m not 100%. The new layout is a big departure from the subtlety and relative minimalism of 1.6. It&amp;#8217;s bigger, brighter and, perhaps appropriately, more &amp;#8216;2.0&amp;#8217;. However, the rearrangement of features and &lt;a href="http://jquery.com/"&gt;jQuery&lt;/a&gt; integration look like they&amp;#8217;ll improve flow considerably and, even if I&amp;#8217;m not entirely sold on the gradients and large text, I&amp;#8217;m sure I&amp;#8217;ll grow to like the new design fairly quickly.&lt;/p&gt;

&lt;p&gt;
There are other new additions to the admin area that look useful, such as Accessories and Quick Links. Make sure you check out &lt;a href="http://expressionengine.com/ee2_sneak_preview/"&gt;the screencast&lt;/a&gt; for a full run down of the new features. Of course, it&amp;#8217;s likely to change a bit before release but, by the looks of things, it&amp;#8217;ll be a nice improvement to the &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt; experience.
&lt;/p&gt;
&lt;p&gt;
Some of the smaller changes have caught my eye too, like an improved file upload system. My biggest hopes don&amp;#8217;t seem to have made the press release though. Here are some issues I would love to see addressed in the new version.
&lt;/p&gt;
&lt;h4&gt;My Wishlist&lt;/h4&gt;&lt;h5&gt;Improved Typography Handling&lt;/h5&gt;
&lt;p&gt;
This is definitely my biggest gripe with &lt;abbr title="ExpressionEngine"&gt;EE&lt;/abbr&gt; in its current form. I find myself having to code posts by hand, removing all whitespace between elements such as table cells to stop the &lt;abbr title="eXtensible HyperText Markup Language"&gt;XHTML&lt;/abbr&gt; formatting from inserting paragraph and break tags all over the place. This makes my posts pretty much unreadable in the publish page, means I&amp;#8217;ve got code stored in my database tables and adds a lot of hassle to posting entries. I would disable it completely were it not for the character conversion that is available with that formatting option. I like my quotes curly and my code clean.
&lt;/p&gt;
&lt;p&gt;
Fortunately, &lt;a href="http://expressionengine.com/forums/member/2621/"&gt;Derek Jones&lt;/a&gt; has &lt;a href="http://expressionengine.com/forums/viewthread/54314/#265912"&gt;mentioned&lt;/a&gt; in the forums that typography will be getting an overhaul in the upcoming release, so fingers crossed.
&lt;/p&gt;
&lt;h5&gt;Removal of Index.php by Default&lt;/h5&gt;
&lt;p&gt;
Removing the index.php from &lt;abbr title="Uniform Resource Locator"&gt;URL&lt;/abbr&gt;s is one of the only hassles when setting up a site with ExpressionEngine. Though the process is &lt;a href="http://expressionengine.com/wiki/Remove_index.php_From_URLs/"&gt;well documented&lt;/a&gt;, it can be quite tricky for inexperienced users, especially those new to .htaccess.
&lt;/p&gt;
&lt;p&gt;
I&amp;#8217;m not sure how feasible it would be for the developers to include this behavior by default. I realise that a lot rides on that index file and there are all sorts of compatibility issues depending on hosts, but if it&amp;#8217;s possible to work around it manually, surely it could be included as a setting? I don&amp;#8217;t know anyone who would opt to leave it in their &lt;abbr title="Uniform Resource Locator"&gt;URL&lt;/abbr&gt;s given the choice.
&lt;/p&gt;
&lt;h5&gt;Improved Code Insertion&lt;/h5&gt;
&lt;p&gt;
It&amp;#8217;s clear that the publish page will be getting some serious tweaking in 2.0. The things that bug me at the moment are pretty minor but get in the way when posting entries.
&lt;/p&gt;
&lt;p&gt;
When inserting links, the title attribute is labelled as optional but, if left blank, defaults to the link text rather than being discarded. This means I have to go back and remove an unwanted title attribute from almost every link I insert.
&lt;/p&gt;
&lt;p&gt;
Image insertion isn&amp;#8217;t great either, with &lt;code&gt;img&lt;/code&gt; tags being placed at the bottom of a field rather than where the cursor is. As I usually write my posts outside of the publish page and paste the plain text in before adding images, it becomes a real hassle having to scroll up and down.
&lt;/p&gt;
&lt;h4&gt;Ready and Waiting&lt;/h4&gt;
&lt;p&gt;
The news that 2.0 will be available as an upgrade from 1.6.2 came as a bit of a shock to me. Understandably, the guys want to make the transition as easy as possible for users, but I hope they haven&amp;#8217;t compromised anything as a result. The new version sounds like such an overhaul I can only really see myself working with a clean installation.
&lt;/p&gt;
&lt;p&gt;
Upgrade or not, I&amp;#8217;ll be wanting to get my hands on the new build as soon as possible. I take my hat off to everyone at Ellislab for all their hard work and can&amp;#8217;t wait to put version 2 through its paces this summer.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=wfd99BibWbQ:hjs4QjdpsyY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=wfd99BibWbQ:hjs4QjdpsyY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=wfd99BibWbQ:hjs4QjdpsyY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=wfd99BibWbQ:hjs4QjdpsyY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=wfd99BibWbQ:hjs4QjdpsyY:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/wfd99BibWbQ" height="1" width="1"/&gt;</description>
			<dc:date>2008-03-16T21:33:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/anticipating_expressionengine_2/</feedburner:origLink></item>

		<item>
			<title>Changing the Boot Camp Drive Icon</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/ehmezMuGX0w/</link>
			<comments>http://samrayner.com/archives/changing_the_boot_camp_drive_icon/#comments</comments>
			<category>OS X</category>
			<guid isPermaLink="false">http://samrayner.com/archives/changing_the_boot_camp_drive_icon/</guid>
			<description>&lt;p&gt;After partitioning my iMac&amp;#8217;s boot volume to accommodate Windows, I wished there was a way to differentiate between the two icons at a glance in Finder and on my desktop.
&lt;/p&gt;
&lt;p&gt;Unfortunately, changing the icon for an &lt;abbr title="New Technology File System"&gt;NTFS&lt;/abbr&gt; formatted volume isn&amp;#8217;t as easy as just &lt;a href="http://docs.info.apple.com/article.html?artnum=304735"&gt;copying one across&lt;/a&gt;. There was a step by step guide to doing it on the &lt;a href="http://wiki.onmac.net/index.php/Personalize_your_bootloader"&gt;OnMac Wiki&lt;/a&gt; though, so I went ahead creating an alternative.&lt;/p&gt;&lt;a href="http://files.samrayner.com/downloads/boot_camp_drive_icon.dmg"&gt;&lt;img class="center" src="http://www.samrayner.com/images/uploads/post-images/bc-drive-icon.jpg" alt="My Boot Camp drive icon" /&gt;&lt;/a&gt;&lt;p&gt;I can&amp;#8217;t take any credit for the real design work&amp;#8212;simply applying the Boot Camp symbol to the default drive icon in Photoshop&amp;#8212;but I think it adds a bit of variety.&lt;/p&gt;

&lt;p&gt;If you&amp;#8217;re running Leopard, you&amp;#8217;ll need to stray slightly from  &lt;a href="http://wiki.onmac.net/index.php/Personalize_your_bootloader"&gt;OnMac&amp;#8217;s instructions&lt;/a&gt; when applying it:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Format a &lt;abbr title="Universal Serial Bus"&gt;USB&lt;/abbr&gt; stick as &lt;acronym title="File Allocation Table"&gt;FAT&lt;/acronym&gt;32&lt;/li&gt;
&lt;li&gt;Apply the icon to the stick using the &lt;a href="http://docs.info.apple.com/article.html?artnum=304735"&gt;standard method&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://samrayner.com/archives/flying_visits_with_boot_camp_the_switcheroo/"&gt;Boot into Windows&lt;/a&gt; and view hidden files on the stick&lt;/li&gt;
&lt;li&gt;Copy &lt;code&gt;.VolumeIcon.icns&lt;/code&gt; and the file named &lt;code&gt;._&lt;/code&gt; to the root of your C:\ drive&lt;/li&gt;
&lt;li&gt;Boot back into OS X and enjoy your new icon!&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Of course, you don&amp;#8217;t have to use my icon. Whatever icon you choose, those steps should pretty much have you covered. If you do run into trouble though, feel free to leave a comment.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=ehmezMuGX0w:QcmWqOHJX-U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=ehmezMuGX0w:QcmWqOHJX-U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=ehmezMuGX0w:QcmWqOHJX-U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=ehmezMuGX0w:QcmWqOHJX-U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=ehmezMuGX0w:QcmWqOHJX-U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/ehmezMuGX0w" height="1" width="1"/&gt;</description>
			<dc:date>2008-03-01T15:48:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/changing_the_boot_camp_drive_icon/</feedburner:origLink></item>

		<item>
			<title>Growing Up with the Web</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/JkDZYvyfaPM/</link>
			<comments>http://samrayner.com/archives/growing_up_with_the_web/#comments</comments>
			<category>Web General</category>
			<guid isPermaLink="false">http://samrayner.com/archives/growing_up_with_the_web/</guid>
			<description>&lt;p&gt;Just over a week ago &lt;a href="http://www.wpdfd.com/profiles/davidrodriguez/"&gt;David Rodriguez&lt;/a&gt; emailed me an invitation to write a piece for his web design news and resource site &lt;a href="http://www.wpdfd.com/"&gt;Webpage Design for Designers&lt;/a&gt;. I&amp;#8217;m happy to say that my article, &lt;a href="http://www.wpdfd.com/issues/85/growing_up_with_the_web/"&gt;Growing Up with the Web&lt;/a&gt;, has just been published.&lt;/p&gt;&lt;a href="http://www.wpdfd.com/"&gt;&lt;img class="right" src="http://www.samrayner.com/images/uploads/post-images/wpdfd.jpg" alt="Webpage Design for Designers Logo" /&gt;&lt;/a&gt;&lt;p&gt;If you get a chance, please &lt;a href="http://www.wpdfd.com/issues/85/growing_up_with_the_web/"&gt;give it a read&lt;/a&gt; (I tried to keep it as succinct as possible) and perhaps leave a comment here to let me know what you think.&lt;/p&gt;

&lt;p&gt;
As a side note, I mention the &lt;a href="http://2008.sxsw.com/interactive/web_awards/finalists/"&gt;SXSW Web Awards&lt;/a&gt; towards the end of the article. It&amp;#8217;s interesting to see that 4 of the 5 finalists in the student category are entirely Flash-based websites. Whether or not that is a reflection of what we can expect from the next generation of designers remains to be seen. It does worry me though.
&lt;/p&gt;
&lt;p&gt;
In other news, &lt;abbr title="Sam Rayner"&gt;SR&lt;/abbr&gt;.com was recently featured on &lt;a href="http://www.smashingmagazine.com/2008/02/20/45-more-excellent-blog-designs/"&gt;Smashing Magazine&amp;#8217;s 45 More Excellent Blog Designs&lt;/a&gt;. I have enjoyed browsing through Smashing Mag&amp;#8217;s extensive lists in the past and am honoured to be included on there (and for it to generate fantastic reactions like &lt;a href="http://dabrook.org/webdesign/single/sam-rayner-most-impressive-site-by-a-17-year-old-ever/"&gt;this&lt;/a&gt;). Be warned though, it&amp;#8217;s the kind of site you can get lost in for hours if you&amp;#8217;re not careful.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=JkDZYvyfaPM:ml_lA1j1lnk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=JkDZYvyfaPM:ml_lA1j1lnk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=JkDZYvyfaPM:ml_lA1j1lnk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=JkDZYvyfaPM:ml_lA1j1lnk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=JkDZYvyfaPM:ml_lA1j1lnk:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/JkDZYvyfaPM" height="1" width="1"/&gt;</description>
			<dc:date>2008-02-21T18:36:01+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/growing_up_with_the_web/</feedburner:origLink></item>

		<item>
			<title>Flying Visits with Boot Camp: Using the iSight Mic in XP</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/6K0qAgsCpmE/</link>
			<comments>http://samrayner.com/archives/flying_visits_with_boot_camp_using_the_isight_mic_in_xp/#comments</comments>
			<category>Windows</category>
			<guid isPermaLink="false">http://samrayner.com/archives/flying_visits_with_boot_camp_using_the_isight_mic_in_xp/</guid>
			<description>&lt;p&gt;As I mentioned in my &lt;a href="http://samrayner.com/archives/flying_visits_with_boot_camp_the_switcheroo/"&gt;first post in this series&lt;/a&gt;, one of the three main reasons I boot into Windows is to game. My mates and I use &lt;a href="http://www.ventrilo.com/"&gt;Ventrilo&lt;/a&gt;, a lightweight &lt;abbr title="Voice over IP"&gt;VoIP&lt;/abbr&gt; program, to chat, talk tactics or just smack-talk each other while we play.
&lt;/p&gt;
&lt;p&gt;
When you&amp;#8217;re running Windows on a Mac, the only real upsides compared to running it on your standard PC are physical&amp;#8212;hardware rather than software benefits. One of the best hardware features of any Mac is its built-in iSight camera and microphone but support for them in Windows isn&amp;#8217;t as great as it could be. Being able to just talk at your monitor without a separate, wired microphone is great but not when everyone on the receiving end has to crank their volume up to full in order to hear you.
&lt;/p&gt;
&lt;p&gt;
There is a solution, however; &lt;a href="http://agnradmin.umd.edu/IET/IETServices/Centra%20Webconferencing/Admin%20Page1.cfm"&gt;hidden away&lt;/a&gt; in the depths of the advanced sound and audio options of XP is a check box label &amp;#8216;Microphone +20 dB Boost&amp;#8217;. No prizes for guessing what it does but you&amp;#8217;ll also be rewarded with an annoying hissing sound from your speakers due to the iSight microphone now being ultra-sensitive.
&lt;/p&gt;
&lt;h4&gt;Getting Lazy&lt;/h4&gt;
&lt;p&gt;
The only solution I could think of was to enable the boost only when I needed it&amp;#8212;before jumping into a &lt;abbr title="Ventrilo"&gt;Vent&lt;/abbr&gt; channel&amp;#8212;and disabling it again when I was done. I didn&amp;#8217;t fancy clicking through all of those dialogues every time I felt like playing though, so I opted to script my way out of trouble.
&lt;/p&gt;
&lt;p&gt;
My &lt;a href="http://samrayner.com/archives/flying_visits_with_boot_camp_the_switcheroo/"&gt;previous post on Boot Camp&lt;/a&gt; used AppleScript to switch operating systems easily. Unfortunately, there isn&amp;#8217;t really a Windows equivalent of AppleScript. There is, however, the &lt;a href="http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_overview.mspx?mfr=true"&gt;Windows Script Host&lt;/a&gt;:
&lt;/p&gt;
&lt;blockquote cite="http://www.microsoft.com/technet/scriptcenter/guide/sas_wsh_overview.mspx?mfr=true" title="Microsoft TechNet: WSH Overview"&gt;&lt;p&gt;As the name implies, &lt;abbr title="Windows Script Host"&gt;WSH&lt;/abbr&gt; is a script host. A script host is a program that provides an environment in which users can execute scripts in a variety of languages; languages that use a variety of object models to perform tasks.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p&gt;
We&amp;#8217;ll be using JavaScript for our &lt;abbr title="microphone"&gt;mic&lt;/abbr&gt; boost toggle. First, however, you&amp;#8217;ll need to find a file called mmsys.cpl in C:\WINDOWS\system32. Right click it and go Properties, then change the &amp;#8216;Opens with:&amp;#8217; to control.exe (Windows Control Panel) which can also be found in system32.
&lt;/p&gt;
&lt;p&gt;Now, open up Notepad or your preferred Windows text editor and paste the following:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;var WshShell = WScript.CreateObject("WScript.Shell"); 
WshShell.Run("mmsys.cpl"); 
WScript.Sleep(500); // wait 500 ms 
WshShell.SendKeys("^{TAB}"); // ctrl-tab: cycle tabs
WshShell.SendKeys("^{TAB}");
WshShell.SendKeys("^{TAB}");
WshShell.SendKeys("{TAB}"); // tab down to button
WshShell.SendKeys("{TAB}");
WshShell.SendKeys("{TAB}");				
WshShell.SendKeys("{TAB}");
WshShell.SendKeys("~"); // return: push the button
WScript.Sleep(500);
WshShell.SendKeys("+{TAB}"); // shift-tab
WshShell.SendKeys("~");
WScript.Sleep(500);
WshShell.SendKeys("1"); // toggle mic boost checkbox
WshShell.Sendkeys("~");
WScript.Sleep(500);
WshShell.SendKeys("%{F4}"); // alt-f4: exit mixer
WScript.Sleep(500);
WshShell.SendKeys("%{F4}"); // alt-f4: exit cpanel&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Give it a name, making sure you include the .js extension, and save it in your system32 folder. You&amp;#8217;ll probably want to create a shortcut to the file on your desktop so you can easily toggle the boost on and off.&lt;/p&gt;&lt;img class="right" src="http://www.samrayner.com/images/uploads/post-images/mic-boost.gif" alt="Mic boost toggle shortcut example" /&gt;&lt;p&gt;The script simply navigates to the &lt;abbr title="microphone"&gt;mic&lt;/abbr&gt; boost check box as if you were using your keyboard. The half-second pauses are to ensure each window has opened up before sending keys to it. If you find the script acting weirdly or not enabling the boost, try increasing the pauses to a second or so. I also recommend only running the script when your system is relatively idle. If it&amp;#8217;s busy doing something else then the numerous keystrokes will likely be too much for it to handle and you might end up sending an alt-F4 to whatever unsaved project you happen to be working on.&lt;/p&gt;

&lt;p&gt;
If you want to turn the boost off again, just run the script once more and the hiss will be gone. I haven&amp;#8217;t tested it in Vista at all but I&amp;#8217;d be surprised if the same commands work. If you have Vista and feel like rearranging the script, it would be great if you could post it in the comments.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=6K0qAgsCpmE:FEUj-1ptb8k:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=6K0qAgsCpmE:FEUj-1ptb8k:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=6K0qAgsCpmE:FEUj-1ptb8k:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=6K0qAgsCpmE:FEUj-1ptb8k:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=6K0qAgsCpmE:FEUj-1ptb8k:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/6K0qAgsCpmE" height="1" width="1"/&gt;</description>
			<dc:date>2008-01-28T16:54:21+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/flying_visits_with_boot_camp_using_the_isight_mic_in_xp/</feedburner:origLink></item>

		<item>
			<title>Span-Free Gradient Text Effect</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/lqCg5u4FMYw/</link>
			<comments>http://samrayner.com/archives/span_free_gradient_text_effect/#comments</comments>
			<category>CSS</category>
			<guid isPermaLink="false">http://samrayner.com/archives/span_free_gradient_text_effect/</guid>
			<description>&lt;p&gt;Earlier today, the talented Mr &lt;a href="http://www.webdesignerwall.com/"&gt;Nick La&lt;/a&gt; posted &lt;a href="http://www.webdesignerwall.com/tutorials/css-gradient-text-effect/"&gt;a clever little technique&lt;/a&gt; for overlaying a gradient onto text.
&lt;/p&gt;
&lt;p&gt;
&lt;img class="center" src="http://www.samrayner.com/images/uploads/post-images/css-gradient-text.gif" alt="CSS Gradient Text Preview" /&gt;
&lt;/p&gt;
&lt;p&gt;Whilst it &lt;a href="http://www.khmerang.com/csslab/decoratingtype/"&gt;isn&amp;#8217;t entirely new&lt;/a&gt;, Nick&amp;#8217;s method uses an empty span to stretch a background image over a heading:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;h1&amp;gt;&amp;lt;span&amp;gt;&amp;lt;/span&amp;gt;Heading Sample&amp;lt;/h1&amp;gt;
&lt;br /&gt;
h1 span {
	background: url(gradient.png) repeat-x;
	position: absolute;
	display: block;
	width: 100%;
	height: 30px;
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;This works great, even in &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;6, but that empty &lt;code&gt;span&lt;/code&gt; doesn&amp;#8217;t necessarily have to be there.&lt;/p&gt;

&lt;p&gt;If you stretch the gradient &lt;acronym title="Portable Network Graphics"&gt;PNG&lt;/acronym&gt; to be the maximum width of your heading, rather than 1px wide, you can then use an &lt;a href="http://www.w3.org/TR/REC-CSS2/generate.html#before-after-content"&gt;&lt;code&gt;:after&lt;/code&gt; pseudo element&lt;/a&gt; applied to the heading to achieve the same effect:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;h1&amp;gt;Heading Sample&amp;lt;/h1&amp;gt;
&lt;br /&gt;
h1:after {
	content: url(stretched-gradient.png);
	display: block; /* drop beneath text */
	margin-top: -1em; /* shift up over text */
}&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Granted, this method will not work in &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;6 or 7 but it does remove that pesky &lt;code&gt;span&lt;/code&gt; from the markup. It&amp;#8217;s a trade-off, as always.&lt;/p&gt;

&lt;p&gt;
If you want to gloss over a linked heading, you&amp;#8217;ll just need to make the &lt;code&gt;a&lt;/code&gt; block-level with &lt;code&gt;display: block;&lt;/code&gt; and apply the &lt;code&gt;:after&lt;/code&gt; to that rather than the heading element.
&lt;/p&gt;
&lt;p&gt;
Of course, the same limitations apply as with the original method&amp;#8212;the trick is only suitable on solid-colour backgrounds and text will not be selectable if your gradient image is too tall.
&lt;/p&gt;
&lt;p&gt;
Make sure you check out &lt;a href="http://www.webdesignerwall.com/demo/css-gradient-text/" title="Nick's demo"&gt;Nick&amp;#8217;s demo&lt;/a&gt; to see what your fancy text will look like, and &lt;a href="http://www.webdesignerwall.com/file/css-gradient-demo.zip"&gt;download the source files&lt;/a&gt; to try out the &lt;code&gt;span&lt;/code&gt;-free alternative if you like.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=lqCg5u4FMYw:q4SGK_Gxw7M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=lqCg5u4FMYw:q4SGK_Gxw7M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=lqCg5u4FMYw:q4SGK_Gxw7M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=lqCg5u4FMYw:q4SGK_Gxw7M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=lqCg5u4FMYw:q4SGK_Gxw7M:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/lqCg5u4FMYw" height="1" width="1"/&gt;</description>
			<dc:date>2008-01-17T17:22:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/span_free_gradient_text_effect/</feedburner:origLink></item>

		<item>
			<title>Flying Visits with Boot Camp: The Switcheroo</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/FkJ_4iJaCis/</link>
			<comments>http://samrayner.com/archives/flying_visits_with_boot_camp_the_switcheroo/#comments</comments>
			<category>Windows</category>
			<guid isPermaLink="false">http://samrayner.com/archives/flying_visits_with_boot_camp_the_switcheroo/</guid>
			<description>&lt;p&gt;Within days of my iMac arriving last November, I had partitioned my Macintosh HD and installed Windows using the Boot Camp Assistant. It wasn&amp;#8217;t that I missed the familiar Start menu or sand timer of XP, just that there are some things I can&amp;#8217;t do in OS X.
&lt;/p&gt;
&lt;p&gt;
I love the simplicity of Boot Camp, but every time I switch and see that loading screen appear I can&amp;#8217;t help but be filled with dread. Consequently, I&amp;#8217;ve found myself looking for ways to ease the process.
&lt;/p&gt;
&lt;p&gt;Whenever I boot into Windows, it&amp;#8217;s for one of three reasons:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;C++ Development (for my A-Level computing course)&lt;/li&gt;
&lt;li&gt;Testing sites in IE6 and 7 (thank goodness for &lt;a href="http://tredosoft.com/Multiple_IE"&gt;Multiple IEs&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Gaming&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;
Having such regimented visits has made it easier for me to slipstream each boot depending on my reason for switching. I can go in, do what I need to do and get back to Leopard as soon as possible.
&lt;/p&gt;
&lt;p&gt;
This post will hopefully be the first of many on little things designed to take the pain out of switching &lt;abbr title="operating system"&gt;OS&lt;/abbr&gt; and minimise your time spent in Windows.
&lt;/p&gt;
&lt;h4&gt;One-Click Reboots with AppleScript&lt;/h4&gt;&lt;p&gt;On my desktop, there&amp;#8217;s an alias labelled &amp;#8220;XP Boot&amp;#8221; that lets me quickly switch between operating systems with minimum hassle. To create your own, paste the following into Script Editor (located in the AppleScript directory in Applications):&lt;/p&gt;&lt;pre&gt;&lt;code&gt;set white_list to {&amp;quot;Finder&amp;quot;}
&lt;br /&gt;
try
	tell application &amp;quot;Finder&amp;quot;
		set process_list to the name of every process whose visible is true
	end tell
	repeat with i from 1 to (number of items in process_list)
		set this_process to item i of the process_list
		if this_process is not in white_list then
			tell application this_process
				quit
			end tell
		end if
	end repeat
on error
	tell the current application to display dialog &amp;quot;An error occurred!&amp;quot; &amp;amp; return &amp;amp; &amp;quot;This script will now quit.&amp;quot; buttons {&amp;quot;Quit&amp;quot;} default button 1 with icon 0
end try
&lt;br /&gt;
do shell script &amp;quot;bless -mount &amp;apos;/Volumes/WINDOWS VOLUME/&amp;apos; -legacy -setBoot -nextonly&amp;quot; password &amp;quot;PASSWORD&amp;quot; with administrator privileges
do shell script &amp;quot;shutdown -r now&amp;quot; password &amp;quot;PASSWORD&amp;quot; with administrator privileges&lt;/code&gt;&lt;/pre&gt;
&lt;/p&gt;
&lt;p&gt;
The &lt;a href="http://forums.macrumors.com/showpost.php?p=3386503&amp;amp;postcount=6" title="Original author: lancestraz"&gt;first half&lt;/a&gt; of the script quits all running applications (apart from Finder) and &lt;a href="http://www.macosxhints.com/article.php?story=20070126131322301" title="Original author: tkw4u"&gt;the second&lt;/a&gt; sets the boot partition to your Windows drive before restarting. The script does not set Windows as the default &lt;abbr title="operating system"&gt;OS&lt;/abbr&gt;, just enables it for the next boot.
&lt;/p&gt;
&lt;p&gt;
You&amp;#8217;ll need to change &lt;code&gt;WINDOWS VOLUME&lt;/code&gt; to whatever your C:\ drive is called ("Untitled" by default; if you want to change it, you&amp;#8217;ll have to boot into Windows, right click it in My Computer and set a name in Properties). Both &lt;code&gt;PASSWORD&lt;/code&gt; placeholders will also have to be filled with your admin password.
&lt;/p&gt;
&lt;p&gt;
If keeping your Mac secure from snooping guests is a factor, you&amp;#8217;ll want to remove both &lt;code&gt;password &amp;quot;PASSWORD&amp;quot;&lt;/code&gt; segments from the script. It will still work but will prompt you for an admin password every time it runs. If you leave the password in, it will be readily available to anyone who knows what they&amp;#8217;re doing but will save you the hassle of typing it every time.
&lt;/p&gt;
&lt;p&gt;Once you&amp;#8217;ve changed the volume name and passwords, hit compile and save the script with File Format set to Application. If you wish to receive a confirmation dialogue before your Mac reboots, tick Startup Screen under Options.&lt;/p&gt;&lt;img class="right" src="http://www.samrayner.com/images/uploads/post-images/xp-boot.jpg" alt="XP Boot Alias Example" /&gt;&lt;p&gt;Now just create an alias for the script wherever you like, perhaps give it a pretty icon, and you&amp;#8217;re away!&lt;/p&gt;

&lt;p&gt;
In future posts, I&amp;#8217;ll share some tips on saving time once you&amp;#8217;re successfully booted in Windows.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=FkJ_4iJaCis:Y3aI8ecWT6U:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=FkJ_4iJaCis:Y3aI8ecWT6U:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=FkJ_4iJaCis:Y3aI8ecWT6U:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=FkJ_4iJaCis:Y3aI8ecWT6U:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=FkJ_4iJaCis:Y3aI8ecWT6U:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/FkJ_4iJaCis" height="1" width="1"/&gt;</description>
			<dc:date>2008-01-12T20:17:02+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/flying_visits_with_boot_camp_the_switcheroo/</feedburner:origLink></item>

		<item>
			<title>Building a Better Blocklist</title>
			<link>http://feedproxy.google.com/~r/samrayner/posts/~3/gnMD2ri25m8/</link>
			<comments>http://samrayner.com/archives/building_a_better_blocklist/#comments</comments>
			<category>Sandbox</category>
			<guid isPermaLink="false">http://samrayner.com/archives/building_a_better_blocklist/</guid>
			<description>&lt;p&gt;A technique popping up all over the Web recently is what I&amp;#8217;ve dubbed the &amp;#8216;blocklist&amp;#8217;. By blocklist, I mean a list of links tiled vertically and including a fair chunk of content. To give you an idea, &lt;a href="http://veerle.duoh.com/"&gt;Veerle Pieters&lt;/a&gt; has kindly agreed to let me use the &lt;a href="http://veerle.duoh.com/#approved"&gt;Approved&lt;/a&gt; section of her blog as an example.
&lt;/p&gt;
&lt;p&gt;
I haven&amp;#8217;t included all of the code needed for the finished technique below, as it does get quite complicated. However, you can &lt;a href="http://samrayner.com/demos/better_blocklists/"&gt;view the demonstration&lt;/a&gt; of the technique and take a look at the annotated source code there. Whilst it is quite detailed, I do recommend reading through the explanation below rather than jumping straight to the demo; it&amp;#8217;ll help you get your head around what&amp;#8217;s going on if you run into problems or want to make changes later.
&lt;/p&gt;
&lt;h4&gt;The Current Approach&lt;/h4&gt;
&lt;p&gt;
Take a look at &lt;a href="http://veerle.duoh.com/#approved"&gt;Veerle&amp;#8217;s implementation&lt;/a&gt;: interact with it&amp;#8212;hover and click on the items in the list. Works well doesn&amp;#8217;t it? The increased clickable area adds some meat to what would otherwise be a linked heading with a separate description below it, not to mention the benefits it has in terms of accessibility for those with poor motor skills.
&lt;/p&gt;
&lt;p&gt;Let&amp;#8217;s take a look at the code:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;h2&amp;gt;Approved&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
	&amp;lt;li&amp;gt;&amp;lt;a href="#"&amp;gt;
	FF Meta Serif&amp;lt;br&amp;gt;
	&amp;lt;em&amp;gt;A gorgeous, all-purpose typeface.&amp;lt;/em&amp;gt;&amp;lt;br&amp;gt;
	&amp;lt;span&amp;gt; December 11 at  09.47 am&amp;lt;/span&amp;gt;
	&amp;lt;/a&amp;gt;&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;Currently, the only way to make the entire block clickable is to enclose every component of the link&amp;#8212;the title, description and entry date&amp;#8212;in a single &lt;code&gt;a&lt;/code&gt; element.&lt;/p&gt;

&lt;p&gt;
As &lt;code&gt;a&lt;/code&gt; is inline, it cannot contain block-level elements, meaning that the title can&amp;#8217;t be made a heading and the paragraphs can&amp;#8217;t be marked up as such. To style the blocklist in any detail, each of the three components needs its own element. With her choices limited, Veerle has opted to contain the description in an &lt;code&gt;em&lt;/code&gt; element and the date in a &lt;code&gt;span&lt;/code&gt;, with &lt;code&gt;br&lt;/code&gt; tags to drop down each onto its own line.
&lt;/p&gt;
&lt;p&gt;
Veerle certainly isn&amp;#8217;t the only one to take this approach. I hope &lt;a href="http://elliotjaystocks.com/"&gt;Elliot Jay Stocks&lt;/a&gt; won&amp;#8217;t mind me using the Recent Reads section in his sidebar as another example. Indeed, on every site I&amp;#8217;ve found that includes a similar list, the authors have had to resort to using &lt;code&gt;strong&lt;/code&gt;, &lt;code&gt;em&lt;/code&gt;, &lt;code&gt;span&lt;/code&gt;, &lt;code&gt;small&lt;/code&gt; or even &lt;code&gt;q&lt;/code&gt; tags to mark up the contents of their links.
&lt;/p&gt;
&lt;h4&gt;What&amp;#8217;s the Problem?&lt;/h4&gt;
&lt;p&gt;
Marking up the list in this way raises some issues. Does the description really need to be emphasised in comparison to the rest of the link&amp;#8217;s content? Is there any relationship implied between the item&amp;#8217;s heading and its description? What about the date?
&lt;/p&gt;
&lt;p&gt;
Secondly, styling the list has been made more difficult by the inline nature of the elements. Line breaks have had to be used to slice up what would otherwise have been a continuous line of text with &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; disabled (without the benefits of &lt;code&gt;display: block;&lt;/code&gt;).
&lt;/p&gt;
&lt;p&gt;
Thirdly, using an element like &lt;code&gt;em&lt;/code&gt; just to &lt;em&gt;contain&lt;/em&gt; the description prevents its use for text that actually needs to be emphasised. The same goes for links. What if you want an extra link within the description? You can&amp;#8217;t have a link within a link.
&lt;/p&gt;
&lt;h4&gt;A Fresh Look at Things&lt;/h4&gt;
&lt;p&gt;
When developing this site, I planned to implement a list of &lt;a href="http://samayner.com/archives/quicklinks/"&gt;Quicklinks&lt;/a&gt;&amp;#8212;external items of interest on the Web, essentially the same as Veerle&amp;#8217;s &lt;a href="http://veerle.duoh.com/#approved"&gt;Approved&lt;/a&gt; section. I figured there must be a better way to construct a list with large clickable areas so got testing.
&lt;/p&gt;
&lt;p&gt;To start with, I laid out how I wanted the markup to look:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;&amp;lt;h2&amp;gt;Quicklinks&amp;lt;/h2&amp;gt;
&amp;lt;ul&amp;gt;
	&amp;lt;li&amp;gt;
		&amp;lt;h3&amp;gt;&amp;lt;a href="#"&amp;gt;Quicklink Title&amp;lt;/a&amp;gt;&amp;lt;h3&amp;gt;
		&amp;lt;p&amp;gt;A short description of the link&amp;lt;/p&amp;gt;
		&amp;lt;p&amp;gt;January 1st&amp;lt;/p&amp;gt;
	&amp;lt;/li&amp;gt;
&amp;lt;/ul&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;The trick of the technique is that only the headings are linked. The &lt;code&gt;a&lt;/code&gt; elements are then made block-level (&lt;code&gt;display: block;&lt;/code&gt;) and stretched over the elements below them like a transparent sheet, making everything clickable.&lt;/p&gt;

&lt;p&gt;
I should point out that any text covered by the stretched &lt;code&gt;a&lt;/code&gt; will not be selectable. If that poses a serious problem for you then this technique might not be what you&amp;#8217;re looking for.
&lt;/p&gt;
&lt;p&gt;For the link to lie on top of the content that follows it without shifting everything down, it must be removed from the document flow (positioned absolutely) and given a higher z-index.&lt;/p&gt;&lt;img class="center" src="http://www.samrayner.com/images/uploads/post-images/bl-structure.gif" alt="3-Dimensional Diagram of the Blocklist Structure" width="383" height="411" /&gt;&lt;p&gt;The largest hurdle to overcome is to allow for a varying amount of content or an increase in text size. It would be easy to give every link element a fixed height and leave it there, but that would a) not cover all of the content or b) limit the amount of text that can be included per link. To combat the problem, the list itself must be positioned relatively and each &lt;code&gt;a&lt;/code&gt; element given a height of 100%. This makes every link stretch to the height of the entire list. Elements that appear further down in a page&amp;#8217;s source naturally have a higher z-index, so each link conveniently overlays its predecessor, chopping the clickable area to the distance between its origin (the top of the title being linked) and the point where the next link begins (the top of the next title).&lt;/p&gt;

&lt;p&gt;
As a finishing touch, &lt;code&gt;overlay: hidden;&lt;/code&gt; can be applied to the list. Making every link a height of 100% causes them to overhang where the list should end by the height of the boxes that precede them, making the list almost 200% its original height. Setting the list&amp;#8217;s overlay property to hidden chops all of this overhang and returns the list to its proper height. (If you can&amp;#8217;t quite get your head around all that, don&amp;#8217;t worry. Grab the code from the &lt;a href="http://samrayner.com/demos/better_blocklists/"&gt;demo page&lt;/a&gt; and remove &lt;code&gt;overflow: hidden;&lt;/code&gt; to see what I mean).
&lt;/p&gt;
&lt;p&gt;One feature of the technique I&amp;#8217;m not completely happy with is that a predetermined height must be allotted for the link&amp;#8217;s title, as it has been removed from the document flow. To do this, padding of something like &lt;code&gt;3em&lt;/code&gt; must be added to the top of the element that immediately follows the title. This is done by applying a class to the list item if its title is likely to drop down onto two or more lines and style the element that follows it accordingly:&lt;/p&gt;&lt;pre&gt;&lt;code&gt;.longtitle h3 + p {padding-top: 5em;}
.verylongtitle h3 + p {padding-top: 7em;}
etc...&lt;/code&gt;&lt;/pre&gt;&lt;p&gt;If you can think of a better way to overcome this, please have a play with the code and post your findings in the comments!&lt;/p&gt;

&lt;p&gt;
So, there we have it. The basic structure behind the technique is wrapped up. All that&amp;#8217;s left to do now is to make it look nice.
&lt;/p&gt;
&lt;h4&gt;Tips on Styling your Blocklist&lt;/h4&gt;
&lt;ol&gt;
&lt;li&gt;Use the sibling selector to target an element that always follows another (e.g. the second paragraph in every list item: &lt;code&gt;p + p {color: red;}&lt;/code&gt; or, as we have used, the &amp;#8216;description paragraph&amp;#8217; in each link: &lt;code&gt;h3 + p {padding-top: 3em;}&lt;/code&gt;. Those sibling selectors are powerful things, yet sadly underused due to poor browser support (I&amp;#8217;m looking your way Microsoft).&lt;/li&gt;
&lt;li&gt;The way to style a link when it is hovered over is to apply the &lt;code&gt;:hover&lt;/code&gt; pseudo-class to the list item, &lt;strong&gt;not the &lt;code&gt;a&lt;/code&gt; itself&lt;/strong&gt;. For example, &lt;code&gt;li:hover {background-color: green;}&lt;/code&gt;. If you apply the &lt;code&gt;:hover&lt;/code&gt; to the &lt;code&gt;a&lt;/code&gt;, you won&amp;#8217;t be able to change its background for fear of masking everything below and your styling won&amp;#8217;t affect the rest of the link&amp;#8217;s contents.&lt;/li&gt;
&lt;li&gt;If you are going to include additional links within the elements that are covered by the &lt;code&gt;a&lt;/code&gt; (one of the benefits of this technique), style them to look like normal text as &lt;strong&gt;they will not be clickable&lt;/strong&gt;. Any users reading your content with &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; disabled or in a feed reader will still benefit from their inclusion but I have not found a way for them to remain clickable through the link that blankets them. Once again, any thoughts on a solution to this would be greatly appreciated in the comments.&lt;/li&gt;
&lt;li&gt;Have fun with it! The technique gives you a lot more flexibility compared to the old method and leaves you with nice clean markup to style however you like.&lt;/li&gt;
&lt;/ol&gt;
&lt;h4&gt;The Good, the Bad and the &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;&lt;/h4&gt;
&lt;p&gt;So, a roundup of the pros and cons of this technique:&lt;/p&gt;&lt;table summary="The pros and cons of using the new blocklist technique over the old one."&gt;&lt;tr&gt;&lt;td&gt;&lt;/td&gt;&lt;th scope="col"&gt;Pros&lt;/th&gt;&lt;th scope="col"&gt;Cons&lt;/th&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th scope="row" rowspan="3"&gt;Old Method&lt;/th&gt;&lt;td rowspan="3"&gt;Large clickable area in &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;6&lt;/td&gt;&lt;td&gt;Hard to style&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Forces use of line breaks&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Uses elements improperly that could be used correctly&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;th scope="row" rowspan="4"&gt;New Method&lt;/th&gt;&lt;td&gt;Clean, semantic markup&lt;/td&gt;&lt;td&gt;Approximate height of title must be known&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Does not restrict proper use of inline elements&lt;/td&gt;&lt;td&gt;Other than title, text not selectable&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;No superfluous markup&lt;/td&gt;&lt;td rowspan="2"&gt;Small clickable area in &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;6&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;Can contain additional links&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;p&gt;As you can see, it is by no means perfect but does have some major advantages over the traditional method. Your blocklist won&amp;#8217;t work quite as well in &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;6. Have no fear though, straight out of the box (using the code given in the &lt;a href="http://samrayner.com/demos/better_blocklists/"&gt;demonstration&lt;/a&gt;) the blocklist should display fine, only with the clickable areas reduced back to the size of the titles.&lt;/p&gt;

&lt;p&gt;
One benefit of using so many sibling selectors to style the blocklist is that &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;6 ignores much of the stuff it would usually choke on. Of course, results may vary if you customise the code to suit your needs, but a line or two of &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;-specific &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; should be enough to solve any problem. As is, &lt;abbr title="Internet Explorer"&gt;IE&lt;/abbr&gt;7 gets it pretty much spot on.
&lt;/p&gt;
&lt;p&gt;
That&amp;#8217;s it! Once again, a big thankyou to &lt;a href="http://veerle.duoh.com/"&gt;Veerle&lt;/a&gt; for letting me use her site as an example. Make sure you check out the &lt;a href="http://samrayner.com/demos/better_blocklists/"&gt;demonstration&lt;/a&gt; to see the technique in action. It includes two blocklists: one in the style of my Quicklinks and the other, Veerle&amp;#8217;s Approved section using the new technique for comparison. However, please keep in mind that any &lt;abbr title="Cascading Style Sheets"&gt;CSS&lt;/abbr&gt; given &lt;strong&gt;beyond the basic structure&lt;/strong&gt; is for demonstration only and not to be copied blindly. I hope the styles I have included give you enough of a starting point to produce your own.
&lt;/p&gt;
&lt;p&gt;
If you have an opinion on the technique, good or bad, any feedback in the comments would be greatly appreciated.
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=gnMD2ri25m8:YFhHh19g5Ks:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=gnMD2ri25m8:YFhHh19g5Ks:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=gnMD2ri25m8:YFhHh19g5Ks:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?i=gnMD2ri25m8:YFhHh19g5Ks:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/samrayner/posts?a=gnMD2ri25m8:YFhHh19g5Ks:dnMXMwOfBR0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/samrayner/posts?d=dnMXMwOfBR0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/samrayner/posts/~4/gnMD2ri25m8" height="1" width="1"/&gt;</description>
			<dc:date>2008-01-05T17:52:00+00:00</dc:date>
		<feedburner:origLink>http://samrayner.com/archives/building_a_better_blocklist/</feedburner:origLink></item>

    
	</channel>
</rss>
