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

<channel>
	<title>Trent Walton &#187; Markup</title>
	<atom:link href="http://trentwalton.com/tag/markup/feed/" rel="self" type="application/rss+xml" />
	<link>http://trentwalton.com</link>
	<description>Trent Walton&#039;s Web Site</description>
	<lastBuildDate>Sun, 20 May 2012 14:17:26 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>CSS Off</title>
		<link>http://trentwalton.com/2011/10/20/css-off/</link>
		<comments>http://trentwalton.com/2011/10/20/css-off/#comments</comments>
		<pubDate>Thu, 20 Oct 2011 17:06:49 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Paravel]]></category>
		<category><![CDATA[Responsive]]></category>
		<category><![CDATA[Web Fonts]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=4748</guid>
		<description><![CDATA[Gene Crawford from UnmatchedStyle asked Paravel to design a page for this year’s CSS Off competition. Over 5,000 front-end developers have entered to show off their skills by taking a PSD we designed and coding it out. Entries will be judged and prizes will be awarded. Awesome! After a morning of team planning and intensive YouTube research, we settled on building a page for a fictitious gameshow on... <a href="http://trentwalton.com/2011/10/20/css-off/">Read more</a>]]></description>
			<content:encoded><![CDATA[<p>Gene Crawford from <a href="http://www.unmatchedstyle.com">UnmatchedStyle</a> asked <a href="http://paravelinc.com">Paravel</a> to design a page for this year’s <a href="http://www.unmatchedstyle.com/cssoff">CSS Off competition</a>. Over 5,000 front-end developers have entered to show off their skills by taking a PSD we designed and coding it out. Entries will be <a href="http://www.unmatchedstyle.com/cssoff/rules.php">judged</a> and <a href="http://www.unmatchedstyle.com/cssoff/sponsors.php">prizes</a> will be awarded. Awesome!</p>
<p><a href="http://unmatchedstyle.com/cssoff/signup.php"><img src="/wp-content/uploads/2011/10/tripledare.jpg" alt="CSS Off Triple Dare"/></a></p>
<p>After a morning of team planning and <a href="http://www.youtube.com/watch?v=2F31cn7E7yw">intensive YouTube research</a>, we settled on building a page for a fictitious gameshow on the Knuckleodeon Network called Triple Dare. Reagan put together some <a href="http://dribbble.com/raygunray/tags/triple_dare">fantastic illustrations</a>, and I designed them into a layout that I hope leaves lots of room for code-out interpretation. There are quite a few places where interesting animations, transitions, transforms, and interactions could be built in. Heck, this thing could also be built responsibly... I mean responsively... I mean both ;)</p>
<p>Be sure to <a href="http://blog.reaganray.com/post/11701325404/illustrating-the-css-off">read Reagan’s post</a> to get the low down on his illustration process. We’re all very excited to see what people come up with. Happy front-ending! </p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2011/10/20/css-off/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Content Choreography</title>
		<link>http://trentwalton.com/2011/07/14/content-choreography/</link>
		<comments>http://trentwalton.com/2011/07/14/content-choreography/#comments</comments>
		<pubDate>Thu, 14 Jul 2011 16:55:03 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[FitText]]></category>
		<category><![CDATA[Lettering.js]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Paravel]]></category>
		<category><![CDATA[Responsive]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=4540</guid>
		<description><![CDATA[The concept of permanently placing content on a web page for a single browsing width or resolution is becoming a thing of the past. Media-queried responsive &#38; adaptive sites afford us the ability to re-architect content on a page to fit its container, but with this exciting new potential come equally exciting challenges. Web designers will have to look beyond the layout in front of them to envision... <a href="http://trentwalton.com/2011/07/14/content-choreography/">Read more</a>]]></description>
			<content:encoded><![CDATA[<h3>The concept of permanently placing content on a web page for a single browsing width or resolution is becoming a thing of the past.</h3>
<p>Media-queried responsive &amp; adaptive sites afford us the ability to re-architect content on a page to fit its container, but with this exciting new potential come equally exciting challenges. Web designers will have to look beyond the layout in front of them to envision how its elements will reflow &amp; lockup at various widths while maintaining form &amp; hierarchy. Media queries can be used to do more than patch broken layouts: with proper planning, we can begin to choreograph content proportional to screen size, serving the best possible experience at any width.</p>
<p>As I step into my 3rd responsive project with <a href="http://paravelinc.com">Paravel</a>, I’ve made a habit out of picking apart <a href="http://mediaqueri.es/">media-queried</a> sites I happen across, noting how things get rearranged at various widths. At times, it seems as though all of the site architecture &amp; planning goes out the window as content reflows. I’ve also found that what might work very well for one type of content or site might not work so well for another.</p>
<h3>Content Stacking</h3>
<p>This is unavoidable. Take a 4 column site at full width: as the view narrows, 4 will become 3, then 2, and 1. The most common solution is to stack them on top of each other in chunks (fig. a). Simple enough, but what happens if the first column is really tall? Is the content in column 2 less important than <em>all</em> of the content in 1? It probably is for something like a full-length article, but I can’t help but think that in some cases, this method throws off the hierarchy.</p>
<figure  class="grid_6 alpha"><img src="/wp-content/uploads/2011/07/shuffle.jpg" alt="shuffling content on responsive resize"/><br />
<figcaption>fig. a</figcaption>
</figure>
<figure  class="grid_6 omega"><img src="/wp-content/uploads/2011/07/interdigitate.jpg" alt="interdigitating content on responsive resize"/><br />
<figcaption>fig. b</figcaption>
</figure>
<p>Another approach could be to <a href="http://en.wiktionary.org/wiki/interdigitate">interdigitate</a> content by folding elements into each other as the view narrows (fig. b). In real terms, what happens if a main column is a tall grid full of product thumbnails, and the sidebar features a coupon or promotion? When those columns are combined, it might be nice to slide the promo in between two product rows instead of shuffling that important piece to the bottom of the main column.</p>
<h3>The Content Change-up</h3>
<p>Another thing I’ve noticed is that media queries are being used to significantly redesign pages. I’ve seen background colors change and top-level elements move from left to right. If critical thought is applied here those choices may be spot on. But what happens if a user visits at full-width one afternoon and revisits your site in the evening on a tablet, and everything looks completely different? It’s annoying—like someone rearranging the groceries in your pantry every time you closed the door. The power of media queries can be intoxicating, but just because you can doesn’t mean you should.</p>
<h3>De-compartmentalize the Workflow </h3>
<p>The production model of passing a site down the assembly line from design to development to launch seems to be an inefficient approach for responsive &amp; adaptive site design. I think the Paravel method of gathering around a table &amp; slugging every decision out until launch lends itself to the level of reiteration necessary for these projects. We’ve found that the best way forward is to pull all members of a team together to design, build, test and then evaluate in multiple quick rounds.</p>
<figure><img src="/wp-content/uploads/2011/07/workflow.jpg" alt="workflow" /></figure>
<p>Of course, the alternative would be to create designs for every media query you plan to include, but that kind of thinking seems inefficient and fails to take advantage of the device-agnostic approach that responsive web design offers. In my mind, it’s best to build something that works on <em>any</em> possible width or device instead of something that works on <em>all</em> current widths and devices. </p>
<p>Balancing all of these new facets of the web designer’s role may seem overwhelming, but that’s the nature of the profession and one of the reasons why I love it. Honing the craft of content choreography will help us to orchestrate the best experience possible at any screen size or resolution. In time, I believe knowing what works best will become second-nature to us—just like designing progressively enhanced CSSed pages without tables or superfluous markup is now. The best thing for us to do? Practice!</p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2011/07/14/content-choreography/feed/</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
		<item>
		<title>Controlling Web Typography</title>
		<link>http://trentwalton.com/2011/01/18/controlling-web-typography/</link>
		<comments>http://trentwalton.com/2011/01/18/controlling-web-typography/#comments</comments>
		<pubDate>Tue, 18 Jan 2011 15:31:05 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[Lettering.js]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Typography]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Web Fonts]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=4140</guid>
		<description><![CDATA[Lettering.js was built to solve a problem. As web typography improves, web designers want the same level of control print designers have. Just as we’ve moved beyond Helvetica and Times New Roman, we’ve begun to think about web type in finer detail than &#60;h1&#62; or &#60;span&#62; tags currently (semantically) allow. For example, when Dave Rupert and I prepared to markup the 3 sites for the Lost World’s Fairs... <a href="http://trentwalton.com/2011/01/18/controlling-web-typography/">Read more</a>]]></description>
			<content:encoded><![CDATA[<h3>Lettering.js was built to solve a problem. As web typography improves, web designers want the same level of control print designers have.</h3>
<p>Just as we’ve moved beyond Helvetica and Times New Roman, we’ve begun to think about web type in finer detail than <code>&lt;h1&gt;</code> or <code>&lt;span&gt;</code> tags currently (semantically) allow. For example, when <a href="http://daverupert.com">Dave Rupert</a> and I prepared to markup the 3 sites for the <a href="http://lostworldsfairs.com">Lost World’s Fairs</a> project, we saw elements in each design that would require an excessive number of <code>&lt;span&gt;</code> tags to target words, even letters, at a time.</p>
<p><a href="http://lostworldsfairs.com/eldorado"><img src="/wp-content/uploads/2011/01/eldorado.png" alt="El Dorado" class="third"></a><a href="http://lostworldsfairs.com/atlantis"><img src="/wp-content/uploads/2011/01/atlantis.png" alt="Atlantis" class="third"></a><a href="http://lostworldsfairs.com/moon"><img src="/wp-content/uploads/2011/01/moon.png" alt="The Moon" class="last third"></a></p>
<p>Ideally, CSS selector pseudo <a href="http://www.w3.org/TR/css3-selectors/#pseudo-classes">classes</a> or <a href="http://www.w3.org/TR/css3-selectors/#pseudo-elements">elements</a> would work, but even with options like <a href="http://www.w3.org/TR/css3-selectors/#nth-child-pseudo"><code>:nth-child</code></a> and <a href="http://www.w3.org/TR/css3-selectors/#first-letter"><code>::first-letter</code></a> we wouldn’t be able to target all that we needed.  As eager as we were to dive into building these beautifully designed pages, we couldn’t help but realize two things:</p>
<ol>
<li>We needed more control over letters, words, and lines than CSS currently provided for.</li>
<li>The markup was going to be extremely difficult to manage because wrapping individual letters in <code>&lt;span&gt;</code> tags would get messy quick.</li>
</ol>
<p>An hour later Dave came back with the best solution we could think of: a simple jQuery plugin that injected <code>&lt;span&gt;</code> tags around letters, words, or lines within any declared element. Lettering.js let us build out &amp; revise the pages, saving heaps of code as well as grunt work. It was such a lifesaver that we decided to share it with the web community, launching <a href="http://letteringjs.com">letteringjs.com</a> late fall 2010.</p>
<p><a href="http://letteringjs.com"><img src="/wp-content/uploads/2011/01/lettering.png" alt="Lettering.js"></a></p>
<h3>Lettering.js was well-received, though there are a few valid criticisms that I’d like to briefly address:</h3>
<p><em>If you buy good fonts, they don’t need to be kerned.</em><br />
That may be, but some fonts do, and the thinking behind Lettering.js goes beyond kerning into overall control. What if web designers want to use italics, font-size, or even change font-family within an element?</p>
<p><em>Lettering.js isn’t the only way.</em><br />
True, and it isn’t the ultimate solution either. Let’s consider our options from most problematic to least:</p>
<ol class="options">
<li>Embed an image</li>
<li>Use CSS image replacement</li>
<li>Wrap letters or words in <code>&lt;span&gt;</code> tags</li>
<li>Use JS to inject <code>&lt;span&gt;</code> tags after the markup as we have with Lettering.js</li>
</ol>
<p><em>Even though the <code>&lt;span&gt;</code> tags aren’t in the markup, there’s still bloat.</em><br />
This is true. While Lettering.js keeps the source HTML clean, it doesn’t do the DOM any favors and inserts quite a bit of code.</p>
<p><em>Load times are increased. Javascript libraries are loaded just to target a few words or letters.</em><br />
Again, consider the alternatives.  An image could easily outweigh javascript code.  On the other hand, yes, it’d be ideal to do this independently from JS.</p>
<h3>Can we replace Lettering.js with CSS?</h3>
<p>I hope so. Lettering.js is a solution, but perhaps it’s not the ultimate solution. As I mentioned earlier, <a href="http://www.w3.org/TR/css3-selectors/#selectors">CSS Selectors</a> come close. What if the CSS spec was adapted to fill in the gaps? After scouring the internet, here’s a brief timeline recounting what’s already been discussed.</p>
<div class="year">1996</div>
<p>The W3C proposed <a href="http://www.w3.org/TR/PR-CSS1-961112">Cascading Style Sheets, level 1</a> (CSS1) featuring the <a href="http://www.w3.org/TR/PR-CSS1-961112#the-first-letter-pseudo-element"><code>::first-letter</code></a> and <a href="http://www.w3.org/TR/PR-CSS1-961112#the-first-line-pseudo-element"><code>::first-line</code></a> pseudo selectors.</p>
<div class="year">2003</div>
<p>Anne Van Kesteren <a href="http://annevankesteren.nl/2003/09/from-a-markover-to-pseudo-elements">explored the idea of expanding selectors</a> to cover <code>::nth-line(n)</code> and <code>::nth-letter(n)</code>.</p>
<div class="year">2005</div>
<p>Safari 1.3 was released as the first browser to fully support both the <code>::first-letter</code> and <code>::first-line</code> pseudo selectors. It’s worth mentioning that prior to this, IE5.5+ (July 2000 ) and Firefox 1 (November 9, 2004 )  had partial/buggy support for these selectors.</p>
<div class="year">2006</div>
<p>An extensive (50+ message) CSSWG thread on <a href="http://lists.w3.org/Archives/Public/www-style/2006Aug/0033.html">Proposed <code>::last-line</code> and <code>::last-letter</code> selectors</a> was started by Andrés Delfino. The feasibility was discussed at length, and <a href="http://lists.w3.org/Archives/Public/www-style/2006Aug/0080.html">rejected due to narrow user base and high cost / complexity</a>.</p>
<p>At the time, this thread had trouble coming up with good use cases. With the expansion of pseudo selectors &amp; available web fonts, good use cases are now everywhere. The discussion focused heavily on <code>::last-line</code> &amp; <code>::last-letter</code> which may not be particularly useful.</p>
<div class="year">2010</div>
<p><a href="http://daverupert.com">Dave Rupert</a> built <a href="http://letteringjs.com">Lettering.js</a> as a workaround.  Version 0.6.1 has been downloaded 1500 times, with 550 watchers on Github, indicating that alongside the growth of web fonts, the ‘narrow user base’ is widening rapidly.</p>
<p><a href="http://yearinreview.twitter.com/powerful-tweets/"><img src="/wp-content/uploads/2011/01/twitter.png" class="third top_row"/></a><a href="http://designingmonsters.com/"><img src="/wp-content/uploads/2011/01/DesigningMonsters.png" class="third top_row"/></a><a href="http://typekit.com/holiday2010"><img src="/wp-content/uploads/2011/01/typekit_holiday.png" class="third top_row last"/></a></p>
<p><a href="http://trentwalton.com/examples/cowpoke/"><img src="/wp-content/uploads/2011/01/cowpokes.png" class="third"/></a><a href="http://20tongues.simonfosterdesign.com/"><img src="/wp-content/uploads/2011/01/20tongues.png" class="third"/></a><a href="http://andreashommel.net/sandbox/lettering/"><img src="/wp-content/uploads/2011/01/sexy_indeed.png" class="third last"/></a></p>
<p>From CSS1, we’ve been able to use pseudo-elements to target <code>::first-letter</code>.  What if you extended that idea to targeting letters, or even words, within an element similar to the CSS3 <code>::nth-child(n)</code> selector, resulting in something like this:</p>
<p><code class="big" id="nth">h1:nth-letter(4); or h1:nth-char(4);</code><br />
targeting the 4th letter within an <code>&lt;h1&gt;</code> tag.</p>
<p><code class="big">h1:nth-word(3);</code><br />
targeting the third word within an <code>&lt;h1&gt;</code> tag.</p>
<p>I think this would be the ideal solution from a web designer’s perspective. No javascript would be required, and 100% of the styling would be handled right where it should be- in the CSS. On the other hand, I have no idea what goes into implementing these additions for a browser, which is why the idea has been proposed as a blog post with comments. Please, feel free to share your own thoughts about how we can gain more typographic control on the web.</p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2011/01/18/controlling-web-typography/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>RGBa &amp; HSLa CSS Color</title>
		<link>http://trentwalton.com/2010/12/21/rgba-hsla-css-color/</link>
		<comments>http://trentwalton.com/2010/12/21/rgba-hsla-css-color/#comments</comments>
		<pubDate>Tue, 21 Dec 2010 16:45:10 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Safari]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=4110</guid>
		<description><![CDATA[In certain situations, RGBa (red, green, blue, alpha) and HSLa (hue, saturation, lightness, alpha) color values can save the day.  It’s widely supported in Chrome, Safari, Firefox, Opera, and IE 9, and when working with box-shadow, text-shadow, or when needing to apply a reduced opacity to a color without affecting the rest of an element, RGBa and HSLa can’t be beat.  Dave Rupert and I recently put each... <a href="http://trentwalton.com/2010/12/21/rgba-hsla-css-color/">Read more</a>]]></description>
			<content:encoded><![CDATA[<p>In certain situations, <a href="http://bit.ly/2LOGEC">RGBa</a> (red, green, blue, alpha) and <a href="http://bit.ly/gD564x">HSLa</a> (hue, saturation, lightness, alpha) color values can save the day.  It’s widely supported in Chrome, Safari, Firefox, Opera, and IE 9, and when working with box-shadow, text-shadow, or when needing to apply a reduced opacity to a color without affecting the rest of an element, RGBa and HSLa can’t be beat.  <a href="http://daverupert.com">Dave Rupert</a> and I recently put each type of value to work while building the <a href="http://lostworldsfairs.com">Lost World’s Fairs</a> project.</p>
<p>When coding <a href="http://lostworldsfairs.com/moon/">The Moon</a>, by <a href="http://jasonsantamaria.com/">Jason Santa Maria</a>, we used RGBa to blend all of the light blue border brackets into the gradient background.  We wanted to be precise, so we pulled the exact R, G, and B values from Photoshop and set the alpha to .3 to match the opacity.  Here’s an example line of code for one of our multiple CSS border properties:</p>
<p><code>#main{border-left:1px solid rgba(152,209,244, .3);}</code></p>
<div class="row clearfix">
<div class="grid_4 alpha"><img class="note_image" src="/wp-content/uploads/2010/12/color-picker.png" alt="Photoshop color picker"/></div>
<div class="grid_4 omega"><a href="http://lostworldsfairs.com/moon/"><img class="note_image" src="/wp-content/uploads/2010/12/moon-borders.png" alt="Lost World's Fairs Moon"/></a></div>
</div>
<p>In this case, RGBa was the most accurate option.  If you tried to pull the HSL values from Photoshop in the same manner, it simply wouldn’t match up. Now, when it comes to making on-the-fly adjustments, I prefer HSLa.  Hue is fairly easy to chart out once you find your way around the color wheel, and from there, fidgeting with saturation and lightness percentages is a breeze.  <a href="http://weightshift.com/">Naz Hamid</a>’s <a href="http://lostworldsfairs.com/eldorado/">El Dorado</a> poster had some Photoshop color-burn blending effects on the type which made HSLa perfect for tweaking each of the color values to perfection.  Here’s an example of one of our CSS implementations for HSLa:</p>
<p><code>#eldorado{color:hsla(44, 100%, 33%, .70);}</code></p>
<div class="row clearfix">
<div class="grid_4 alpha"><a href="http://lostworldsfairs.com/eldorado/"><img class="note_image" src="/wp-content/uploads/2010/12/eldorado2.png" alt="El Dorado"/></a></div>
<div class="grid_4 omega"><a href="http://lostworldsfairs.com/eldorado/"><img class="note_image" src="/wp-content/uploads/2010/12/eldorado.png" alt="El Dorado"/></a></div>
</div>
<p><a href="http://twitter.com/#!/chriscoyier">Chris Coyier</a> has a nice write-up on HSLa color over at <a href="http://css-tricks.com/yay-for-hsla/">CSS Tricks</a>, which includes a handy resource for a Mac app called <a href="http://mattpatenaude.com/">Colors</a> that lets you select a color on your screen and converts it to the color value format of your choice.  I’d love to see something similar to that integrated into <a href="http://macrabbit.com/cssedit/">MacRabbit’s CSSEdit</a>.</p>
<p>Update: <a href="http://paulirish.com">Paul Irish</a> just released a lovely HSL selection tool called <a href="http://mothereffinghsl.com/">MothereffingHSL.com</a><br />
Also check out <a href="http://www.workwithcolor.com/">workwithcolor.com</a>’s <a href="http://www.workwithcolor.com/hsl-color-picker-01.htm">HSL color picker</a></p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/12/21/rgba-hsla-css-color/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CSS Box-Shadow:Inset</title>
		<link>http://trentwalton.com/2010/11/22/css-box-shadowinset/</link>
		<comments>http://trentwalton.com/2010/11/22/css-box-shadowinset/#comments</comments>
		<pubDate>Mon, 22 Nov 2010 14:29:57 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[Chrome]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[Webkit]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=4013</guid>
		<description><![CDATA[You’ve gotta appreciate the imageless design elements the CSS box-shadow property makes possible. No more slicing up 3 jpgs to recreate the depth so easily gained in Photoshop. Lately, we’ve been using box-shadow:inset on some Paravel jobs, and I’ve seem some clever uses out there on the intertubes. This property is compatible with Webkit (Safari &#38; Chrome), Firefox, Opera, and IE9, so there’s no reason to hold off... <a href="http://trentwalton.com/2010/11/22/css-box-shadowinset/">Read more</a>]]></description>
			<content:encoded><![CDATA[<p>You’ve gotta appreciate the imageless design elements the CSS <a href="http://www.w3.org/TR/css3-background/#the-box-shadow">box-shadow</a> property makes possible.  No more slicing up 3 jpgs to recreate the depth so easily gained in Photoshop.  Lately, we’ve been using box-shadow:inset on some Paravel jobs, and I’ve seem some clever uses out there on the intertubes.  This property is compatible with Webkit (Safari &amp; Chrome), Firefox, Opera, and IE9, so there’s no reason to hold off using it as an enhancement on the page you’re working on right now.</p>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://campwapo.org/"><img src="/wp-content/uploads/2010/11/wapo.png" alt="box-shadow: inset" style="margin-bottom:11px;"/></a><br />
When building <a href="http://campwapo.org/">Camp Wapo</a>, we used inset on the action item buttons.
</div>
<div class="grid_4 omega">
<a href="http://letteringjs.com/"><img src="/wp-content/uploads/2010/11/lettering.png" alt="box-shadow: inset" style="margin-bottom:11px;"/></a><br />
<a href="http://letteringjs.com/">Lettering.js</a> has an inset hover state on each of the linked images.
</div>
</div>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://books.alistapart.com/"><img src="/wp-content/uploads/2010/11/abapt.png" alt="box-shadow: inset" style="margin-bottom:11px;"/></a><br />
The feature box on <a href="http://books.alistapart.com/">A Book Apart</a> has a nice vignette shadow framing the div.
</div>
<div class="grid_4 omega">
<a href="http://rdio.com"><img src="/wp-content/uploads/2010/11/rdio.png" alt="box-shadow: inset" style="margin-bottom:11px;"/></a><br />
When logged out, the <a href="http://rdio.com">Rdio</a> homepage employs inset shadows on their features list.
</div>
</div>
<p>Now, what about images?  It’d be nice to be able to add a vignetting effect to photos sans-Photoshop, but the way browsers interpret box-shadow:inset is to throw the shadow behind the image, rendering it invisible. While this seems pretty useless, it does make sense when you consider other kinds of content.  For example, if you inset a shadow you probably wouldn’t want it overshadowing the text within.
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<div class="vignette" style="float: left; margin: 4px 0 23px; box-shadow:inset 0px 0px 85px rgba(0,0,0,.5);-webkit-box-shadow:inset 0px 0px 85px rgba(0,0,0,.5);-moz-box-shadow:inset 0px 0px 85px rgba(0,0,0,.5);"><img src="/wp-content/uploads/2010/11/mustang.png" alt="box-shadow: inset" class="car_photo" style="z-index: -1;position: relative;margin: 0 0 -.5em 0!important;"/></div>
</div>
<div class="grid_4 omega">
A reasonable way to circumvent this issue would be to wrap the image in a div or a span element and employ some basic z-indexing. See the example code provided below.  While this method gets the job done, I wonder if it’d be sensible to update the <a href="http://www.w3.org/TR/css3-background/#box-shadow">CSS Working Draft</a> to allow for inset shadows to be displayed on top when applied directly to an image.  Despite the inconsistency, it seems intuitive to me and would ultimately lead to cleaner, simpler markup.
</div>
</div>
<p><code>&#60;div class="vignette"&#62;<br />
&#60;img src="mustang.png" alt="mustang" class="car_photo"/&#62;<br />
&#60;/div&#62;</code><br />
<code>.vignette{<br />
	box-shadow:inset 0px 0px 85px rgba(0,0,0,.5);<br />
	-webkit-box-shadow:inset 0px 0px 85px rgba(0,0,0,.5);<br />
	-moz-box-shadow:inset 0px 0px 85px rgba(0,0,0,.5);<br />
}</code><br />
<code>img.car_photo{<br />
	z-index: -1;<br />
	position: relative;<br />
}</code></p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/11/22/css-box-shadowinset/feed/</wfw:commentRss>
		<slash:comments>30</slash:comments>
		</item>
		<item>
		<title>Lost World’s Fairs</title>
		<link>http://trentwalton.com/2010/09/15/lost-worlds-fairs/</link>
		<comments>http://trentwalton.com/2010/09/15/lost-worlds-fairs/#comments</comments>
		<pubDate>Wed, 15 Sep 2010 17:35:56 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Internet Explorer]]></category>
		<category><![CDATA[Lettering.js]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Typekit]]></category>
		<category><![CDATA[Typography]]></category>
		<category><![CDATA[Web Fonts]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=3926</guid>
		<description><![CDATA[IE9 public beta is here, and I’ve had the fair fortune to be recruited by The Friends of Mighty to showcase its support for the Web Open Font Format (WOFF). A while back, Jason Santa Maria called to see if I’d be interested in joining him on a team with Frank Chimero &#38; Naz Hamid.  After confirming my participation, as well as the fact that this wasn’t a... <a href="http://trentwalton.com/2010/09/15/lost-worlds-fairs/">Read more</a>]]></description>
			<content:encoded><![CDATA[<h3>IE9 public beta is here, and I’ve had the fair fortune to be recruited by The Friends of Mighty to showcase its support for the Web Open Font Format (<a href="http://en.wikipedia.org/wiki/Web_Open_Font_Format">WOFF</a>).</h3>
<p>A while back, <a href="http://jasonsantamaria.com/">Jason Santa Maria</a> called to see if I’d be interested in joining him on a team with <a href="http://www.frankchimero.com/">Frank Chimero</a> &amp; <a href="http://weightshift.com/">Naz Hamid</a>.  After confirming my participation, as well as the fact that this wasn’t a practical joke, I learned that our mission was to create 3 web poster sites that showcase WOFF and how well IE9 supports it.  After a couple of team Skype meetings we decided to follow a <a href="http://lostworldsfairs.com">Lost World’s Fairs</a> theme, which was an appropriate match for the adventurous nature of the project as well as the team.  My primary role being CSS &amp; HTML code-out, I knew I had to start by doing two things: bring <a href="http://daverupert.com/">Dave Rupert</a> in for additional dev support, and learn all I could about IE9.</p>
<h3>IE9 Preview</h3>
<p>Building for an unreleased browser with a subject-to-change property support list was equal parts daunting and exciting. I knew the stakes were high.  I’ve built plenty of websites where the layout depended on one or two properties to really sing, so I had to be 100% sure I was giving the team accurate information.  I began experimenting by coding a series of sandbox pages where I’d test IE9’s support for CSS properties listed in the <a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx">developer guide</a>.  I was glad to see support for many of the properties I hoped we could lean on heavily during the design &amp; code-out:</p>
<div class="grid_4 alpha">
<ul>
<li><a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_CSS_Fonts">@font-face / WOFF</a></li>
<li><a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_CSS3_BG_Borders">Multiple Backgrounds</a></li>
<li><a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_CSS3_BG_Borders">Border-Radius</a></li>
</ul>
</div>
<div class="grid_4 omega">
<ul>
<li><a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_CSS3_BG_Borders">Box-Shadow</a></li>
<li><a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_CSS3_Colors">RGBA &amp; HSLA Color</a></li>
<li><a href="http://msdn.microsoft.com/en-us/ie/ff468705.aspx#_CSS3_Selectors">Selectors / Pseudo-Classes</a></li>
</ul>
</div>
<p>Not only were many of the CSS3 staples supported, but when compared to Webkit &amp; Mozilla engines, IE9 actually out-performed in a few cases.  For example, a border-radius &amp; box-shadow combo actually <a href="http://dribbble.com/shots/44388-Buttons-in-IE9">looks better in IE9</a>.  Eventually, I’d like to one day see text-shadow, CSS transforms and maybe even animations supported to the same high standard as the modules for backgrounds, borders, color and fonts.</p>
<h3>Lettering.JS</h3>
<p>Early on we realized that because these poster-style layouts were going to be tuned to the letter, we’d need to find a way to match that attention to detail while keeping the markup manageable &amp; agile. This problem of avoiding &lt;span&gt; heavy markup facilitated Dave’s creation of <a href="http://daverupert.com/2010/09/lettering-js/">Lettering.js</a>.  Dave has provided an introductory write-up &amp; <a href="http://github.com/davatron5000/Lettering.js">GitHub download here</a>.  On projects like this, where large-format type is front and center, this jQuery plugin saved the day.</p>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://daverupert.com/2010/09/lettering-js/"><img src="/wp-content/uploads/2010/09/lettering1.jpg" alt="Lettering.js" class="scrnshot"/></a>
</div>
<div class="grid_4 omega">
<a href="http://daverupert.com/2010/09/lettering-js/"><img src="/wp-content/uploads/2010/09/lettering2.jpg" alt="Lettering.js" class="scrnshot"/></a>
</div>
</div>
<h3>Tandem Dev via Dropbox</h3>
<p>Dave and I were able to code-out different aspects of the site by setting up our own localhosts &amp; working from the same folder we share via <a href="http://www.dropbox.com/referrals/NTM2NDg5OTA5">Dropbox</a>.  He’d position elements on the page in a structural CSS file while I’d finesse the lettering in a type CSS file until each page was pixel perfect.  It took steady communication, but once we ironed out the kinks we were able to have the initial code finished for each of the 3 poster sites in 3 days.</p>
<h3>El Dorado</h3>
<p>The Hatch Show Print take on a 1924 fair in El Dorado by Naz was fueled by his interest in experimenting with rgba/hsla color and opacity.  Because tweaking hue, saturation &amp; lightness is so intuitive with hsla, we were able to adjust the tones for each individual letter, blending them into the textures and colors underneath.  We used CSS-pseudo elements to double up on lettering, giving the poster an authentic, rough-around-the-edges look.  During an impromptu screen-sharing design session, Naz and I used Jon Raasch’s <a href="http://jonraasch.com/blog/scrolling-parallax-jquery-plugin">Scrolling Parallax jQuery plugin</a> to finish the page by floating Zeppelins across the skyline.</p>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://lostworldsfairs.com/eldorado"><img src="/wp-content/uploads/2010/09/eldorado1.jpg" alt="El Dorado" class="scrnshot"/></a>
</div>
<div class="grid_4 omega">
<a href="http://lostworldsfairs.com/eldorado"><img src="/wp-content/uploads/2010/09/eldorado2.jpg" alt="El Dorado" class="scrnshot"/></a>
</div>
</div>
<h3>Atlantis</h3>
<p>Frank’s 18,123 pixel (or 20,000 league) journey into Atlantis is the reason multi-touch / smooth scrolling was invented.  Above water, the horizontal, percentage-based background tracking shifts the ocean-scape as you resize your browser window. Below water, you’ve got a fixed-positioned sea elevator and a depth tracker (built with javascript by Dave) that accompanies you as you scroll through various layers of aquatic life.  The 10 year old me loved building this page.  If there were a Journey to Atlantis lunchbox, I would buy it and carry my iPhone around in it.</p>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://lostworldsfairs.com/atlantis"><img src="/wp-content/uploads/2010/09/atlantis1.jpg" alt="Atlantis" class="scrnshot"/></a>
</div>
<div class="grid_4 omega">
<a href="http://lostworldsfairs.com/atlantis"><img src="/wp-content/uploads/2010/09/atlantis2.jpg" alt="Atlantis" class="scrnshot"/></a>
</div>
</div>
<h3>The Moon</h3>
<p>Jason created a look ahead to 2040 with a Worlds’ Fair that considers the possibility of humans settling on the Earth’s Moon.  The celestial interplay of the Earth and Moon on the page was achieved through percentage-based fixed positioning.  The same was done for the poor unfortunate spaceman (if your browser window is wide enough to find him). The Worlds’ Fair logo was done with 100% CSS, using border radius to create both the containing circle and the top-right orbital sphere.</p>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://lostworldsfairs.com/moon"><img src="/wp-content/uploads/2010/09/moon1.jpg" alt="The Moon" class="scrnshot"/></a>
</div>
<div class="grid_4 omega">
<a href="http://lostworldsfairs.com/moon"><img src="/wp-content/uploads/2010/09/moon2.jpg" alt="The Moon" class="scrnshot"/></a>
</div>
</div>
<h3>The Landing Page</h3>
<p>My design contribution to the Lost World’s Fairs was the landing page.  I thought a colorful, travel poster inspired approach would serve as a great introduction for each fair.  My type lineup consists of <a href="http://typekit.com/fonts/league-gothic">League Gothic</a> for all the heading fonts, <a href="http://typekit.com/fonts/ff-market-web">FF Market Web</a> for the script and my favorite serif, <a href="http://typekit.com/fonts/ff-meta-serif-web-pro">FF Meta Serif Web Pro</a> for the body text.  It was extremely humbling to be trusted to take on this leg of the project, and I had a great time doing it.</p>
<div class="clearfix" style="margin-bottom:46px;">
<div class="grid_4 alpha">
<a href="http://lostworldsfairs.com"><img src="/wp-content/uploads/2010/09/landing1.jpg" alt="Landing" class="scrnshot"/></a>
</div>
<div class="grid_4 omega">
<a href="http://lostworldsfairs.com"><img src="/wp-content/uploads/2010/09/landing2.jpg" alt="Landing" class="scrnshot"/></a>
</div>
</div>
<div class="grid_4 pull_6"><a href="http://dribbble.com/tags/operation_condor"><img class="margined" style="margin-top: 10px;" src="/wp-content/uploads/2010/09/operationcondor.png" alt="Operation Condor" width="225" height="101" /></a></div>
<h3>Operation Condor: Complete</h3>
<p>Praise be to <a href="http://visitmix.com/about/nishkoth">Nishant Kothary</a> and the <a href="http://www.visitmix.com/">MIX Online</a> team at Microsoft for giving us complete freedom to create and for getting behind the vision. Congratulations on the new browser and the huge leap forward.</p>
<p>The only downside to our project (dubbed internally as <a href="http://dribbble.com/tags/operation_condor">Operation Condor</a>) is that we’re finished. Being able to team up with such talented people as <a href="http://jasonsantamaria.com">Jason</a>, <a href="http://frankchimero.com">Frank</a>, <a href="http://weightshift.com">Naz</a> and <a href="http://daverupert.com">Dave</a>, has been an honor and a privilege to say the least.  I felt like Louis Tully, suiting up as a Ghostbuster and running around the streets of New York for the first time. “Stay fit. Keep sharp. Make good decisions.”  It’s good to be a Friend Of Mighty.</p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/09/15/lost-worlds-fairs/feed/</wfw:commentRss>
		<slash:comments>45</slash:comments>
		</item>
		<item>
		<title>Don’t Make Me Wait</title>
		<link>http://trentwalton.com/2010/08/24/dont-make-me-wait/</link>
		<comments>http://trentwalton.com/2010/08/24/dont-make-me-wait/#comments</comments>
		<pubDate>Tue, 24 Aug 2010 15:49:17 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Opinion]]></category>
		<category><![CDATA[Paravel]]></category>
		<category><![CDATA[UX]]></category>
		<category><![CDATA[Wordpress]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=3836</guid>
		<description><![CDATA[Page speed and load times are the foundation for a positive user experience on the web. Let’s face it, if your page fails to load in time, all the effort put towards information architecture, content strategy and interaction design will be for naught. During my formative front-end coding days, I did a fair bit of assuming that as Internet connections transitioned from dial up to DSL I’d be... <a href="http://trentwalton.com/2010/08/24/dont-make-me-wait/">Read more</a>]]></description>
			<content:encoded><![CDATA[<h3>Page speed and load times are the foundation for a positive user experience on the web.</h3>
<p>Let’s face it, if your page fails to load in time, all the effort put towards information architecture, content strategy and interaction design will be for naught. During my formative front-end coding days, I did a fair bit of assuming that as Internet connections transitioned from dial up to DSL I’d be able to make compromises.  Piling sprite-less PNGs upon redundant CSS upon tons of HTTP requests became commonplace, and a few seconds for a page load seemed worth it.</p>
<h3>Not Seconds, Milliseconds</h3>
<p>But that’s not <em>really</em> how things are.  We close out the windows of tweeted links if the load bar lags.  We leave news and shopping sites early if they feel unresponsive and sluggish.  If a site is slow, the amount of time we’re willing to continue to invest decreases exponentially with every second... every millisecond. <a href="http://radar.oreilly.com/2009/06/bing-and-google-agree-slow-pag.html">Bing and Google agree that slow pages lose users</a>. Each company ran similar experiments where they deliberately delay server response time by a varying number of milliseconds finding that the longer users wait the less engaged they are with a page and the more likely they are to leave.</p>
<h3>But good things come to those who wait. Right?</h3>
<p>It’s tempting to want to build in enhancements-- if all those extra layers of functionality make a site more interesting, so what if they add to load times, right?  I’m not so sure.  Is it wise to assume that these features are something users will happily wait for? Users don’t crack open their browser thinking, “I can’t wait to experience the Acme Company’s website.”  They’re thinking, “I want to find a product / service / answer as quickly &amp; easily as possible.” Waiting for content online isn’t about patience, it’s about simplicity. John Maeda sums it up brilliantly in his <a href="http://lawsofsimplicity.com/2006/07/23/law-3-time-2/">Laws of Simplicity (#3)</a></p>
<blockquote><p>No one likes to suffer the frustration of waiting. Thus all of us, consumers and companies alike, often try to find ways to beat the ticking hand of time. We go out of our way to find the quickest option or any other means to reduce our frustration. When any interaction with products or service providers happens quickly, we attribute this efficiency to the perceived simplicity of experience.</p></blockquote>
<p>We are building websites and creating user experiences for human beings.  More likely than not, that ‘good thing’ the user is waiting for isn’t your website-- it’s family dinner, time with their kids, or a few extra minutes of sleep.</p>
<h3>We Are Presenters</h3>
<p>But our job isn’t binary.  Unlike UPS or FedEx, whose job it is to get something from point A to B, web builders aren’t charged with just delivering information, but presenting that information through design.  Imagine a site like <a href="http://www.campaignmonitor.com/">CampaignMonitor</a> without its unique style, layout and imagery.  The design makes it easier to learn about the service, saving users time and effort. The balancing act here is to think critically about the graphics, scripts and code we’re serving to our users.  There’s an economy to it-- a give and take that shouldn’t be considered mid-process, but from the get-go.</p>
<h3>The How-To</h3>
<p>I’ll be the first to admit I’m no expert; nor do I consider myself a shining example of best practices.  Thankfully, <a href="http://daverupert.com">Dave Rupert</a> has been waving the page speed banner at <a href="http://paravelinc.com">Paravel</a> for quite some time.  He’s led the way in changing the way we plan, design and code for web projects from the beginning to prevent users from having to wait to find &amp; load content. Here are some resources &amp; tips Paravel has found handy over the months/years. Whether you choose to lessen textures, simplify a design, and/or even swap images in favor of CSS3, that’s up to you.  As we’ve found, little shifts, baby steps, can lead to a lot of gradual improvement over time.  The most important thing one can do is to view a site visit not only as an impression or a page view, but also as a small part of someone’s day.</p>
<h5>Resources</h5>
<ul>
<li><a href="http://daverupert.com/2010/06/web-performant-wordpress/">Web Performant WordPress</a>: 5 steps to a faster website from Dave Rupert</li>
<li><a href="http://getfirebug.com/">Firebug</a>: Firefox plugin for performance analysis</li>
<li><a href="http://developer.yahoo.com/yslow/">Yslow</a>: Firebug plugin from Yahoo that grades your page speed</li>
<li><a href="http://code.google.com/speed/page-speed/">Google Page Speed</a>: Evaluate website performance via Firebug</li>
<li><a href="http://whichloadsfaster.com/">Which Loads Faster</a>: Pages compete in your browser for quickest load</li>
<li><a href="http://ocaoimh.ie/wp-super-cache/">WP Super Cache</a>: If you run WordPress, you need this.
</ul>
<h5>Image Compression &amp; Sprites</h5>
<ul>
<li><a href="http://imageoptim.pornel.net/">Image Optim</a>: A simple drag &amp; drop for images, reducing disk space</li>
<li><a href="http://developer.yahoo.com/yslow/smushit/">Smush.it</a>: Batch shrink images while retaining file structure</li>
<li><a href="http://spriteme.org/">SpriteMe</a>: Automatic image sprites and CSS for everyone!
<li><a href="http://code.google.com/speed/page-speed/docs/rendering.html#SpecifyImageDimensions">Specify Image Dimensions</a>: Part of a Google article about optimizing browser rendering</li>
</ul>
<h5>Efficient CSS</h5>
<ul>
<li><a href="http://www.minifycss.com/">Minify CSS</a>: Compress CSS &amp; JS</li>
<li><a href="http://css-tricks.com/efficiently-rendering-css/">Efficiently Rendering CSS</a>: Solid tips for how to keep your CSS lean &amp; mean</li>
<li><a href="http://css-tricks.com/css-sprites-workflow/">CSS Sprites Workflow</a>: Chris Coyier’s implementation workflow</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/08/24/dont-make-me-wait/feed/</wfw:commentRss>
		<slash:comments>34</slash:comments>
		</item>
		<item>
		<title>Non Hover</title>
		<link>http://trentwalton.com/2010/07/05/non-hover/</link>
		<comments>http://trentwalton.com/2010/07/05/non-hover/#comments</comments>
		<pubDate>Mon, 05 Jul 2010 16:14:40 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[iPad]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Mobile]]></category>
		<category><![CDATA[Multi-Touch]]></category>
		<category><![CDATA[UX]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=3576</guid>
		<description><![CDATA[“Elements that rely only on mousemove, mouseover, mouseout or the CSS pseudo-class :hover may not always behave as expected on a touch-screen device such as iPad or iPhone.” A few days after Steve Jobs announced the release of the iPad, I read that in Apple’s Reference Library: Preparing Your Web Content for iPad, and started to realize the drastic implications the evolution of multi-touch would have on interaction... <a href="http://trentwalton.com/2010/07/05/non-hover/">Read more</a>]]></description>
			<content:encoded><![CDATA[<h3>“Elements that rely only on mousemove, mouseover, mouseout or the CSS pseudo-class :hover may not always behave as expected on a touch-screen device such as iPad or iPhone.”</h3>
<p>A few days after Steve Jobs announced the release of the iPad, I read that in Apple’s Reference Library: <a href="http://twa.lt/acSNGg">Preparing Your Web Content for iPad</a>, and started to realize the drastic implications the evolution of multi-touch would have on interaction design. Anything we design for the web that requires a hover state has an uncertain future and could be subject to serious usability issues.</p>
<h3>The Touch-Screen Boom</h3>
<p>If you think this is something that can be addressed later, when multi-touch “catches on”, consider this: as of June 22, 2010 <a href="http://www.apple.com/pr/library/2010/06/22ipad.html">Apple has sold 3 million iPads in 80 days</a>, <a href="http://daverupert.com/2010/06/fuck-yeah-mobile-web/">1.03 million touch screen phones are sold per day</a>, and companies like <a href="http://www.dell.com/tablet?s=biz&amp;cs=555">Dell</a> and <a href="http://www.pcworld.com/article/186160/hps_multitouch_tablet_previewed_arrives_later_2010.html">HP</a> have been developing &amp; releasing touch interfaces for tablets and laptops for quite a while now.</p>
<h3>The Hover Crutch</h3>
<p><a href="http://www.w3.org/TR/CSS2/selector.html#dynamic-pseudo-classes">Hover</a> states are everywhere. I don’t think I’ve ever written a stylesheet or designed a site without putting a significant amount of thought into how they should behave. As users, we’ve been conditioned to rely on hovers states to trigger changes in link color, reveal action items, and navigate through multiple tiers of a drop-down menu. Sliding our mouse pointers across a page to reveal hidden clickable points of action has become an automatic addition to our web browsing skill-set. As designers, we’ve turned to hover states to accommodate extra content and allow visual aesthetics to trump usability.  Like it or not, those days are over and the interactions we design are going to have to stand on their own two feet.</p>
<p>I believe that in most cases, the best solution isn’t pursuing alternatives such as <a href="http://www.engadget.com/2010/04/23/cypress-touchscreens-track-hovering-fingers-make-devices-even-m/2%23c27381318">multi-touch hovering technology</a>, trying to adapt hover-dependent designs, or transforming your website into an iPad/iPhone application. Instead of adding scripts, kilobytes, and billable hours to treat symptoms, I think the focus should be on simplicity and bullet-proof user experience design. In line with <a href="http://twitter.com/@lukew">Luke Wroblewski’s</a> statement that we should start designing for the web <a href="http://www.lukew.com/ff/entry.asp?1137">mobile-first</a>, I propose that we should be designing for Multi-Touch first, and moving forward, we can only afford to add hover states as enhancements only.</p>
<h3>Try to Avoid</h3>
<ul>
<li>Hyperlinks that aren’t 100% obvious</li>
<li>Javascript tooltips that show important information or metadata</li>
<li>Displaying action items on hover. Examples I’ve seen typically involve edit / delete items.</li>
<li>Displaying graphics in a less-than-ideal state until hovered: all those semi-opaque or black &amp; white screenshots and photos that only display full color when covered by a cursor</li>
<li>Drop-down menus. While some of these can be revealed on <em>click</em> or <em>tap</em>, be sure the user has cues that show those options.</li>
<li>Focusing too much on hover dependent CSS3. I know it’s a bit of a heartbreaker, but while these have always been seen as enhancements, we’re going to have to settle with the fact that multi-touch users won’t be seeing our fancy transitions.</li>
</ul>
<h3>How do we adapt?</h3>
<p>More often than not, making adjustments won’t be a quick or a simple process. The more layers of interaction a site has, the more work is going to have to be done to address usability issues. I’ve noticed that a few of my favorite sites have already taken a variety of steps to provide some fixes.</p>
<h3>Show everything.</h3>
<p>Prioritize your content, and if you’ve been hiding things behind hover states, make room to display them. The <a href="http://wordpress.org/">WordPress</a> admin posts screen is a great example of this. Normally, action items are only visible on hover, but if you login with a touch device the links are always displayed.</p>
<p><img src="/wp-content/uploads/2010/06/wordpress.jpg" alt="wordpress" /></p>
<h3>Utilize tap to reveal a hover state.</h3>
<p>Depending upon the implementation, this can be risky; <a href="http://amazon.com">Amazon</a> has done fairly well with this method for their category-based shopping navigation. The paneled list and orange arrows help to make those areas clearly tappable. Another example can be found in <a href="http://37signals.com/svn/posts/2407-device-scale-user-interface-elements-in-ios-mobile-safari">Basecamp’s edit and delete controls</a> for to-do lists, milestones, and files. When you hover over one of these the action items appear. For touch-screens they’ve built a javascript popup that works fairly well once you’ve figured it out. The problem is that users get no cue that tapping the to-do text is even an option, and I can’t help but think a solution similar to WordPress would have worked better. That being said, I’d happily pay a few extra pennies per month to get a mobile version of Basecamp.</p>
<p><img src="/wp-content/uploads/2010/06/basecamp.jpg" alt="basecamp" /></p>
<h3>Build specifically for touch-screen devices</h3>
<p>and take advantage of native device controls, gestures and popovers. Touch-screen apps for <a href="http://twitter.com/@TrentWalton">Twitter</a> and <a href="http://gowalla.com/trentwalton">Gowalla</a> play a key role in their overall success and are probably used more than the websites themselves. I use the <a href="http://blog.netflix.com/2010/04/netflix-available-on-ipad.html">Netflix iPad app</a> regularly, but in many cases it feels like a hover-dependent website dropped into an iPad viewport. Currently, if you’re browsing instant titles and want to add something to your queue by tapping, you’re looking at a 3 step series of taps instead of an instant hover reveal option with a point-and-click interface. If you’re going to build specifically for touch, you’ve got to follow through.</p>
<p><img src="/wp-content/uploads/2010/06/netflix.jpg" alt="netflix" /></p>
<h3>Wait for touch hover technology.</h3>
<p>I’m not convinced this would do anyone any good. It may be exciting to see what <a href="http://www.engadget.com/2010/04/23/cypress-touchscreens-track-hovering-fingers-make-devices-even-m/2%23c27381318">Cypress has come up with</a>, and to know that Apple has applied for a patent for a <a href="http://www.engadget.com/2010/01/27/apple-granted-patent-for-a-proximity-sensing-touchscreen/">proximity sensing touch-screen</a>, but this does worry me. I’d hate to see us revert to our old shortcuts and make user experience sacrifices just because the technology is in place. Plus, we’re going to look like a bunch of idiots who are afraid to touch our smart phones &amp; iPads. On the bright side, <a href="http://trentwalton.com/2010/04/26/ipad-wallpaper-touch-it/">Phil Dunphy</a> would love it!</p>
<h3>We’re going to be OK.</h3>
<p>Ultimately, I think seeing hover states fade away will make the web a better place. There never has been any substitute for concise content, clear interaction, and simple design. If we focus on core elements that make browsing the web great, our sites will function properly no matter how people use them.</p>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/07/05/non-hover/feed/</wfw:commentRss>
		<slash:comments>60</slash:comments>
		</item>
		<item>
		<title>TDC in CSS3</title>
		<link>http://trentwalton.com/2010/05/25/tdc-css3/</link>
		<comments>http://trentwalton.com/2010/05/25/tdc-css3/#comments</comments>
		<pubDate>Tue, 25 May 2010 19:51:43 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Markup]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=3234</guid>
		<description><![CDATA[Earlier this year I was fortunate enough to become acquainted with Brian Hoff through DesignSwap and Dribbble. After being really impressed with his redesign shots for The Design Cubicle , I was thrilled when Paravel got the call from Brian asking us to jump on board to provide the HTML &#38; CSS. Working with Brian has been a privilege and a joy. So much so, that I couldn’t... <a href="http://trentwalton.com/2010/05/25/tdc-css3/">Read more</a>]]></description>
			<content:encoded><![CDATA[<p>Earlier this year I was fortunate enough to become acquainted with <a href="http://twitter.com/behoff">Brian Hoff</a> through <a href="http://design-swap.com/">DesignSwap</a> and <a href="http://dribbble.com/">Dribbble</a>. After being really impressed with his redesign <a href="http://drbl.in/16290">shots</a> for <a href="http://www.thedesigncubicle.com/">The Design Cubicle</a> , I was thrilled when <a href="http://paravelinc.com">Paravel</a> got the call from Brian asking us to jump on board to provide the HTML &amp; CSS.  Working with Brian has been a privilege and a joy.  So much so, that I couldn’t help but spend some free time taking his beautiful masthead design and translating it into CSS.  Using the same techniques from my last <a href="http://trentwalton.com/2010/04/06/css3-background-clip-font-face/">background-clip &amp; @font-face experiment</a>, came up with <a href="http://trentwalton.com/css3/tdc/">this example</a>:</p>
<p><code>.the {font: 30px "adrianne-1","adrianne-2","Times New Roman", Times, serif;}<br />
.design {font-size: 68px;line-height: .9;text-shadow: #f5f5f5 -1px 1px 0;}<br />
.cubicle {font-size: 40px;letter-spacing: 1px;line-height: .8;font-weight: 500;}</code><br />
<code>.main {<br />
	font-family: "refrigerator-deluxe-1","refrigerator-deluxe-2";<br />
	text-transform: uppercase;<br />
	line-height:1;<br />
	font-weight: bold;}</code><br />
<code>.tdc {<br />
	background: url(../img/diag.png) repeat;<br />
	-webkit-background-clip: text;<br />
	-webkit-text-fill-color: transparent;<br />
	z-index: -5;<br />
	display: block;<br />
	text-shadow: none;<br />
	font-size: 220px;<br />
	margin-top: -112px;<br />
	height: 160px;<br />
	font-weight: 700;}</code><br />
<code>.diamond {<br />
	margin-bottom: 12px;<br />
	margin-top:0px;<br />
	font: italic 14px/0 "Times New Roman", Times, serif;}</code><br />
<code>.view {<br />
	font: 15px "adrianne-1","adrianne-2", serif; margin-top: 10px;}</code><br />
<code>.explanation{<br />
	font: 12px/1.7 "adrianne-1","adrianne-2",serif;<br />
	margin-top: 0px;<br />
	margin-bottom: 30px;}</code><br />
 <code>.line-left, .line-right {<br />
 	border-bottom: 1px solid #f8f8f8;<br />
 	width: 150px;<br />
 	display: inline-block;<br />
 	margin-bottom: -30px;<br />
 	border-top: 1px solid #cdcdcd;}</code><br />
<code>.line-left {float: left;margin-top: 0px;}<br />
.line-right {float: right;margin-top: -17px;}</code></p>
<p>I think I came pretty close.  The main differences are related to the fonts I used, as <a href="http://www.typography.com/fonts/font_overview.php?productLineID=100035">Tungsten</a> and <a href="http://www.typography.com/fonts/font_overview.php?productLineID=100034">Sentinel</a> aren’t <em>yet</em> @font-face-able.  Fortunately, <a href="http://typekit.com">Typekit</a> was able to serve up <a href="http://typekit.com/fonts/109">Refrigerator Deluxe</a> and <a href="http://typekit.com/fonts/adriane">Adriane</a> as more than suitable replacements.  Just like my last last experiment, some of the class styles may seem oddly titled.  I sourced them from the first few letters from each line of text. At the moment this will only work in webkit, so fire up <a href="http://www.apple.com/safari/download/">Safari</a> or <a href="http://www.google.com/chrome">Google Chrome</a> and check out the example.</p>
<div class="demo_link"><a href="http://trentwalton.com/css3/tdc/">View Example</a></div>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/05/25/tdc-css3/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>CSS3 Background-Clip &amp; @Font-Face</title>
		<link>http://trentwalton.com/2010/04/06/css3-background-clip-font-face/</link>
		<comments>http://trentwalton.com/2010/04/06/css3-background-clip-font-face/#comments</comments>
		<pubDate>Tue, 06 Apr 2010 15:02:33 +0000</pubDate>
		<dc:creator>Trent</dc:creator>
				<category><![CDATA[Notes]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[Markup]]></category>
		<category><![CDATA[Webkit]]></category>

		<guid isPermaLink="false">http://trentwalton.com/?p=3019</guid>
		<description><![CDATA[With no clear purpose or plan, I’ve resolved to experiment with CSS3 on a regular basis. Some of these note-posts may be more useful and practical than others, but the only way to know for sure is to learn by doing. That being said, here is another experiment with background-clip: text and @font-face via Typekit. When I finished Volume 2 in my Quoting Lebowski series the first thing... <a href="http://trentwalton.com/2010/04/06/css3-background-clip-font-face/">Read more</a>]]></description>
			<content:encoded><![CDATA[<p>With no clear purpose or plan, I’ve resolved to experiment with CSS3 on a regular basis.  Some of these note-posts may be more useful and practical than others, but the only way to know for sure is to learn by doing.  That being said, here is another experiment with background-clip: text and @font-face via <a href="http://typekit.com/">Typekit</a>.  When I finished <a href="http://trentwalton.com/2010/04/05/quoting-lebowski-vol-2/">Volume 2</a> in my <a href="http://dribbble.com/search?q=trent+walton+lebowski&#038;x=0&#038;y=0">Quoting Lebowski series</a> the first thing that came to mind was that I bet I could CSS this.  Here is the webkit happy code for this <a href="http://trentwalton.com/css3/type/">live example</a>, sparing you all the structural bits from <a href="http://trentwalton.com/css3/type/css/style.css">style.css</a>:</p>
<p><code>.itried {font-size: 50px;}<br />
.css {font-size: 206px;letter-spacing: 5px;line-height: 1;}<br />
.itworked {<br />
	font: italic 60px/0 "bistro-script-web-1","bistro-script-web-2", cursive;<br />
	text-transform: lowercase;<br />
	margin-bottom: 20px;<br />
	margin-top:20px;<br />
	}</code><br />
<code>.hoo {font-size: 258px;letter-spacing: 5px;line-height: 1;}<br />
.view {font-size: 57px;margin-top: -15px;}<br />
.hoo, .css {text-shadow: #4a8d97 3px 3px 0;}<br />
.css:after, .hoo:after {<br />
	background: url(../img/crosshatch.png) repeat;<br />
	-webkit-background-clip: text;<br />
	-webkit-text-fill-color: transparent;<br />
	text-shadow: none;<br />
	display: block;<br />
	z-index: -5;<br />
	}</code><br />
<code>.css:after {content:"CSS Three";margin-top: -198px;margin-left: 16px;}<br />
.hoo:after {content:"Hooray!"; margin-top: -250px;margin-left: 18px;}</code><br />
<code><br />
.line-left, .line-right {<br />
	border-bottom: 2px solid #2a4f54;<br />
	width: 160px;<br />
	display: inline-block;<br />
	margin-bottom: -30px;<br />
	}</code><br />
<code>.line-left {float: left;margin-top: 36px;margin-left: 15px;}<br />
.line-right {float: right;margin-top: -34px;margin-right: 15px;}</code></p>
<p>Some of the class styles may seem oddly titled.  I sourced them from the first few letters from each line of text. At the moment this will only work in webkit, so fire up <a href="http://www.apple.com/safari/download/">Safari</a> or <a href="http://www.google.com/chrome">Google Chrome</a> and check out the example.</p>
<p><strong>Update</strong>: Thanks to <a href="http://twitter.com/iJess">Jess Brown</a>’s recent <a href="http://dribbble.com/shots/13810--after-Background-Clip">contribution via Dribbble</a>, I’ve been able to revise the code, retaining the double shading effect without having to resort to coding the same text twice.</p>
<div class="demo_link"><a href="http://trentwalton.com/css3/type/">View Example</a></div>
]]></content:encoded>
			<wfw:commentRss>http://trentwalton.com/2010/04/06/css3-background-clip-font-face/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk: basic
Page Caching using disk: enhanced
Database Caching 3/18 queries in 0.012 seconds using disk: basic
Object Caching 850/877 objects using disk: basic

Served from: trentwalton.com @ 2012-05-21 04:08:01 -->
