<?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>AsterHost &#187; Design Tips</title>
	<atom:link href="http://asterhost.info/category/design-tips/feed/" rel="self" type="application/rss+xml" />
	<link>http://asterhost.info</link>
	<description></description>
	<lastBuildDate>Wed, 23 May 2012 09:43:11 +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>WordPress Meet Responsive Design</title>
		<link>http://asterhost.info/wordpress-meet-responsive-design/</link>
		<comments>http://asterhost.info/wordpress-meet-responsive-design/#comments</comments>
		<pubDate>Wed, 23 May 2012 09:43:11 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/wordpress-meet-responsive-design/</guid>
		<description><![CDATA[Pingback: CodePoet Re-designed &#102;&#111;&#114; WordPress Professionals Article source: http://build.codepoet.com/2012/05/11/wordpress-meet-responsive-design/]]></description>
			<content:encoded><![CDATA[<li class="post pingback">
<p>Pingback: <a href="http://wpforce.com/codepoet-re-designed-&#102;&#111;&#114;-wordpress-professionals/" rel="external nofollow" class="url">CodePoet Re-designed &#102;&#111;&#114; WordPress Professionals</a></p>
</li>
<p>Article source: <a href="http://build.codepoet.com/2012/05/11/wordpress-meet-responsive-design/">http://build.codepoet.com/2012/05/11/wordpress-meet-responsive-design/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/wordpress-meet-responsive-design/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShopTalk Episode 19</title>
		<link>http://asterhost.info/shoptalk-episode-19/</link>
		<comments>http://asterhost.info/shoptalk-episode-19/#comments</comments>
		<pubDate>Wed, 23 May 2012 03:42:32 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/shoptalk-episode-19/</guid>
		<description><![CDATA[&#77;&#97;&#121; 22nd, 2012Tweet Download MP3 More &#104;&#117;&#103;&#101;, &#116;&#101;&#114;&#114;&#105;&#98;&#108;&#101;, &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110; &#111;&#110; &#97;&#110;&#115;&#119;&#101;&#114; action. &#87;&#101; talk &#105;&#110; &#116;&#104;&#105;&#115; area (roughly &#105;&#110; order): Ajax pagination, WordPress, &#97;&#110;&#100; SEO Developers &#119;&#104;&#111; insist &#111;&#110; screwing up semantic markup Resources &#102;&#111;&#114; getting &#115;&#116;&#97;&#114;&#116;&#101;&#100; &#119;&#105;&#116;&#104; Git (roundup &#98;&#121; Brad Frost) Comparing/Confusing Git &#97;&#110;&#100; FTP Responsive metaphors, &#116;&#104;&#101; noscript tag, &#97;&#110;&#100; picking a [...]]]></description>
			<content:encoded><![CDATA[<article class="post-105 post type-post status-publish format-audio hentry category-podcast clearfix">
<p class="meta">&#77;&#97;&#121; 22nd, 2012<a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>
</p>
<p><a href="https://s3.amazonaws.com/ShopTalk/019_rapidfire_5.mp3">Download MP3</a></p>
<p>More &#104;&#117;&#103;&#101;, &#116;&#101;&#114;&#114;&#105;&#98;&#108;&#101;, &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110; &#111;&#110; &#97;&#110;&#115;&#119;&#101;&#114; action. &#87;&#101; talk &#105;&#110; &#116;&#104;&#105;&#115; area (roughly &#105;&#110; order):</p>
<ul>
<li>Ajax pagination, WordPress, &#97;&#110;&#100; SEO</li>
<li>Developers &#119;&#104;&#111; insist &#111;&#110; screwing up semantic markup</li>
<li>Resources &#102;&#111;&#114; getting &#115;&#116;&#97;&#114;&#116;&#101;&#100; &#119;&#105;&#116;&#104; Git (<a href="https://plus.google.com/103751101313992876152/posts/XRT3CsuwBTo">roundup</a> &#98;&#121; Brad Frost)</li>
<li>Comparing/Confusing Git &#97;&#110;&#100; FTP</li>
<li>Responsive metaphors, &#116;&#104;&#101; noscript tag, &#97;&#110;&#100; picking a solution</li>
<li>Finding, removing, &#97;&#110;&#100; dealing &#119;&#105;&#116;&#104; unused styles &#105;&#110; CSS</li>
<li>Using Google Analytics &#97;&#115; a tool &#105;&#110; project upkeep</li>
<li>&#73;&#115; &#116;&#104;&#101;&#114;&#101; a way &#116;&#111; &#100;&#111; <code>overflow-x: hidden</code> &#105;&#110; browsers &#116;&#104;&#97;&#116; don’t support &#105;&#116;?</li>
<li>Email. &#68;&#111;&#101;&#115; &#105;&#116; suck? &#87;&#104;&#121; &#97;&#114;&#101; &#116;&#104;&#101;&#114;&#101; &#110;&#111; alternatives?</li>
<li>CSS image replacement. &#87;&#104;&#121; &#99;&#97;&#110;’t &#119;&#101; &#106;&#117;&#115;&#116; chuck &#97;&#110; img &#105;&#110; a h1 tag &#97;&#110;&#100; call &#105;&#116; a day? &#73;&#115; &#116;&#104;&#97;&#116; &#106;&#117;&#115;&#116; &#97;&#115; &#101;&#120;&#99;&#101;&#108;&#108;&#101;&#110;&#116; &#102;&#111;&#114; search engines?</li>
</ul>
<p>Sponsored &#98;&#121;</p>
<ul>
<li><a href="http://mijingo.com/">Mijingo</a> – Video Training &#97;&#110;&#100; Screencasts &#102;&#111;&#114; Web Designers  Developers</li>
</ul>
<footer class="post-footer">
<p>
        <br /><strong>Previous Episode:</strong> <a href="http://shoptalkshow.com/episodes/018-&#119;&#105;&#116;&#104;-gene-crawford/" rel="prev">018: &#87;&#105;&#116;&#104; Gene Crawford</a></p>
</footer>
</article>
<p>Article source: <a href="http://shoptalkshow.com/episodes/019-rapidfire-5/">http://shoptalkshow.com/episodes/019-rapidfire-5/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/shoptalk-episode-19/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Coda 2</title>
		<link>http://asterhost.info/coda-2/</link>
		<comments>http://asterhost.info/coda-2/#comments</comments>
		<pubDate>Wed, 23 May 2012 03:42:27 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/coda-2/</guid>
		<description><![CDATA[© 2012 Panic Inc. Coda &#105;&#115; a registered trademark &#111;&#102; Panic, Inc. Website screenshot courtesy Teenage Engineering AB. * AirPreview requires &#98;&#114;&#101;&#97;&#107; hold &#111;&#102; Diet Coda. iPad &#97;&#110;&#100; Mac &#97;&#114;&#101; trademarks &#111;&#102; Apple Inc., registered &#105;&#110; &#116;&#104;&#101; U.S. &#97;&#110;&#100; additional countries. App Store &#105;&#115; a service &#109;&#97;&#114;&#107; &#111;&#102; Apple Inc. Article source: http://www.panic.com/coda/]]></description>
			<content:encoded><![CDATA[<footer class="contentwidth">
<p>© 2012 Panic Inc. Coda &#105;&#115; a registered trademark &#111;&#102; Panic, Inc.</p>
<p>Website screenshot courtesy Teenage Engineering AB.</p>
<p>* AirPreview requires &#98;&#114;&#101;&#97;&#107; hold &#111;&#102; Diet Coda.</p>
<p>iPad &#97;&#110;&#100; Mac &#97;&#114;&#101; trademarks &#111;&#102; Apple Inc., registered &#105;&#110; &#116;&#104;&#101; U.S. &#97;&#110;&#100; additional countries. App Store &#105;&#115; a service &#109;&#97;&#114;&#107; &#111;&#102; Apple Inc.</p>
</footer>
<p>Article source: <a href="http://www.panic.com/coda/">http://www.panic.com/coda/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/coda-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The real conflict behind &lt;picture&gt; and @srcset</title>
		<link>http://asterhost.info/the-real-conflict-behind-picture-and-srcset/</link>
		<comments>http://asterhost.info/the-real-conflict-behind-picture-and-srcset/#comments</comments>
		<pubDate>Wed, 23 May 2012 03:42:25 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/the-real-conflict-behind-picture-and-srcset/</guid>
		<description><![CDATA[&#84;&#104;&#101; real conflict behind picture &#97;&#110;&#100; @srcset &#83;&#111;&#109;&#101; public &#100;&#111; a lot &#111;&#102; research before &#116;&#104;&#101;&#121; travel. &#84;&#104;&#101;&#121; read guidebooks. &#84;&#104;&#101;&#121; &#108;&#105;&#107;&#101; &#116;&#111; know &#119;&#104;&#97;&#116; &#116;&#104;&#101;&#121; &#97;&#114;&#101; going &#116;&#111; &#100;&#111; before &#116;&#104;&#101;&#121; &#103;&#101;&#116; &#116;&#104;&#101;&#114;&#101;. Others want &#116;&#111; experience &#116;&#104;&#101; &#110;&#101;&#119; house &#97;&#110;&#100; &#108;&#101;&#116; &#116;&#104;&#101; serendipity happen. &#73;&#110; &#116;&#104;&#101;&#105;&#114; minds, preparation ahead &#119;&#111;&#117;&#108;&#100; take &#97;&#108;&#108; &#111;&#102; [...]]]></description>
			<content:encoded><![CDATA[<article class="post-2525 post type-post status-publish format-standard hentry category-mobile-web-&#97;&#110;&#100;-services category-standards">
<h2>&#84;&#104;&#101; real conflict behind picture &#97;&#110;&#100; @srcset</h2>
<p>    			  <img alt="" src="http://asterhost.info/wp-content/plugins/RSSPoster_PRO/cache/3c016_dac45089aeda3bca56193072601a49d4" class="avatar avatar-96 photo" height="96" width="96" /><span class="edit-link" /></p>
<p>&#83;&#111;&#109;&#101; public &#100;&#111; a lot &#111;&#102; research before &#116;&#104;&#101;&#121; travel. &#84;&#104;&#101;&#121; read guidebooks. &#84;&#104;&#101;&#121; &#108;&#105;&#107;&#101; &#116;&#111; know &#119;&#104;&#97;&#116; &#116;&#104;&#101;&#121; &#97;&#114;&#101; going &#116;&#111; &#100;&#111; before &#116;&#104;&#101;&#121; &#103;&#101;&#116; &#116;&#104;&#101;&#114;&#101;.</p>
<p>Others want &#116;&#111; experience &#116;&#104;&#101; &#110;&#101;&#119; house &#97;&#110;&#100; &#108;&#101;&#116; &#116;&#104;&#101; serendipity happen. &#73;&#110; &#116;&#104;&#101;&#105;&#114; minds, preparation ahead &#119;&#111;&#117;&#108;&#100; take &#97;&#108;&#108; &#111;&#102; &#116;&#104;&#101; fun out &#111;&#102; &#116;&#104;&#101; trip.</p>
<p>&#69;&#105;&#116;&#104;&#101;&#114; &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104; works fine. &#66;&#117;&#116; anyone &#119;&#104;&#111; &#104;&#97;&#115; travelled &#105;&#110; a group knows &#119;&#104;&#97;&#116; happens &#119;&#104;&#101;&#110; &#116;&#104;&#101; person &#119;&#104;&#111; plans ahead &#105;&#115; forced &#116;&#111; contend &#119;&#105;&#116;&#104; &#116;&#104;&#101; care free attitude &#111;&#102; a name &#119;&#104;&#111; desires &#116;&#111; wait until &#116;&#104;&#101; last minute &#116;&#111; &#99;&#104;&#111;&#111;&#115;&#101; &#119;&#104;&#97;&#116; &#116;&#111; &#100;&#111;.</p>
<p>&#65;&#110;&#100; &#116;&#104;&#97;&#116; &#105;&#115; essentially &#116;&#104;&#101; conflict &#119;&#101; &#104;&#97;&#118;&#101; between &#116;&#104;&#101; browser’s lookahead pre-parser &#97;&#110;&#100; responsive metaphors.</p>
<h3>&#87;&#104;&#97;&#116; &#100;&#111;&#101;&#115; &#116;&#104;&#101; lookahead pre-parser &#100;&#111;?</h3>
<p>&#73;&#110; recent years, browser makers &#104;&#97;&#118;&#101; &#112;&#108;&#97;&#99;&#101; &#97;&#110; emphasis &#111;&#110; &#109;&#97;&#107;&#105;&#110;&#103; pages load &#97;&#115; quickly &#97;&#115; possible. &#84;&#104;&#101; lookahead pre-parser &#105;&#115; &#112;&#97;&#114;&#116; &#111;&#102; &#116;&#104;&#101;&#105;&#114; efforts.</p>
<p>&#84;&#104;&#101; Internet Explorer team <a href="http://blogs.msdn.com/b/ieinternals/archive/2011/07/18/optimal-html-head-ordering-&#116;&#111;-avoid-parser-restarts-redownloads-&#97;&#110;&#100;-improve-performance.aspx">&#100;&#101;&#115;&#99;&#114;&#105;&#98;&#101;&#115; &#116;&#104;&#101; lookahead pre-parser</a> &#97;&#115; follows:</p>
<blockquote><p>&#84;&#111; reduce &#116;&#104;&#101; delay inherent &#105;&#110; downloading script, stylesheets, metaphors, &#97;&#110;&#100; additional resources referenced &#105;&#110; &#97;&#110; HTML page, Internet Explorer desires &#116;&#111; request &#116;&#104;&#101; download &#111;&#102; those resources &#97;&#115; early &#97;&#115; possible &#105;&#110; &#116;&#104;&#101; loading &#111;&#102; &#116;&#104;&#101; page.… Internet Explorer runs a second instance &#111;&#102; a parser whose job &#105;&#115; &#116;&#111; hunt &#102;&#111;&#114; resources &#116;&#111; download &#119;&#104;&#105;&#108;&#101; &#116;&#104;&#101; main parser &#105;&#115; paused. &#84;&#104;&#105;&#115; mode &#105;&#115; called &#116;&#104;&#101; lookahead pre-parser &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#105;&#116; looks ahead &#111;&#102; &#116;&#104;&#101; main parser &#102;&#111;&#114; resources referenced &#105;&#110; shortly markup.</p>
</blockquote>
<p>&#84;&#104;&#101; lookahead pre-parser &#105;&#115; much simpler &#116;&#104;&#97;&#110; &#116;&#104;&#101; full parser used &#116;&#111; determine &#104;&#111;&#119; &#116;&#104;&#101; page &#119;&#105;&#108;&#108; &#98;&#101; rendered. &#66;&#101;&#99;&#97;&#117;&#115;&#101; &#116;&#104;&#101; scripts &#97;&#110;&#100; css &#104;&#97;&#118;&#101; &#121;&#101;&#116; &#116;&#111; &#98;&#101; processed, &#116;&#104;&#101; lookahead pre-parser &#105;&#115; taking &#115;&#111;&#109;&#101; guesses &#105;&#110; &#116;&#104;&#105;&#115; area &#119;&#104;&#97;&#116; assets &#119;&#105;&#108;&#108; &#98;&#101; downloaded:</p>
<blockquote><p>&#84;&#104;&#101; download requests triggered &#98;&#121; &#116;&#104;&#101; lookahead &#97;&#114;&#101; called “approximate” &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#105;&#116; &#105;&#115; possible (&#110;&#111;&#116; &#108;&#105;&#107;&#101;&#108;&#121;, &#98;&#117;&#116; possible) &#116;&#104;&#97;&#116; &#116;&#104;&#101; script &#114;&#117;&#110; &#98;&#121; &#116;&#104;&#101; main parser &#119;&#105;&#108;&#108; change &#116;&#104;&#101; meaning &#111;&#102; &#116;&#104;&#101; subsequent markup (&#102;&#111;&#114; instance, &#105;&#116; &#109;&#105;&#103;&#104;&#116; adjust &#116;&#104;&#101; BASE hostile &#116;&#111; &#119;&#104;&#105;&#99;&#104; relative URLs &#97;&#114;&#101; collective) &#97;&#110;&#100; result &#105;&#110; &#116;&#104;&#101; approximate request being wasted.</p>
</blockquote>
<p>&#72;&#111;&#119; lookahead pre-parsers work isn’t &#116;&#104;&#97;&#116; vital. &#87;&#104;&#97;&#116; &#100;&#111;&#101;&#115; matter &#105;&#115; &#116;&#104;&#97;&#116; &#116;&#104;&#101; <strong>browser desires &#116;&#111; &#115;&#116;&#97;&#114;&#116; downloading assets before full page layout &#104;&#97;&#115; &#98;&#101;&#101;&#110; determined</strong>. &#84;&#111; &#98;&#101; successful, &#116;&#104;&#101; pre-parser desires &#116;&#111; know &#119;&#104;&#97;&#116; &#116;&#104;&#101; page &#105;&#115; &#108;&#105;&#107;&#101;&#108;&#121; &#116;&#111; &#100;&#111; ahead &#111;&#102; time.</p>
<h3>Responsive metaphors travel without a guidebook</h3>
<p>&#73;&#102; &#116;&#104;&#101; lookahead pre-parser &#105;&#115; &#116;&#104;&#101; tourist &#119;&#105;&#116;&#104; a detailed itinerary &#111;&#102; places &#116;&#111; visit, responsive metaphors &#97;&#114;&#101; &#116;&#104;&#101; &#103;&#111;-&#119;&#105;&#116;&#104;-flow tourist waiting &#116;&#111; see &#119;&#104;&#97;&#116; things look &#108;&#105;&#107;&#101; before choosing &#119;&#104;&#97;&#116; &#116;&#111; &#100;&#111;.</p>
<p>&#73;&#110; a responsive web design, &#116;&#104;&#101; layout &#97;&#110;&#100; metaphors &#97;&#114;&#101; &#97;&#108;&#108; fluid. &#84;&#104;&#101; size &#111;&#102; &#97;&#110;&#121; given image &#99;&#97;&#110;&#110;&#111;&#116; &#98;&#101; determined until &#116;&#104;&#101; page layout &#105;&#115; calculated &#98;&#121; &#116;&#104;&#101; rendering engine.</p>
<h3>&#65;&#108;&#108; &#111;&#102; &#116;&#104;&#101; solutions suffer &#102;&#114;&#111;&#109; &#116;&#104;&#105;&#115; conflict</h3>
<p>&#78;&#111; matter &#105;&#102; &#121;&#111;&#117; favor <a href="http://www.w3.org/community/respimg/2012/03/07/14/">picture</a>, <a href="http://lists.w3.org/Archives/Public/public-whatwg-archive/2012May/0247.html">@srcset</a>, &#111;&#114; &#115;&#111;&#109;&#101; additional solution, &#116;&#104;&#101; fundamental conflict between &#116;&#104;&#101; lookahead pre-parser &#97;&#110;&#100; responsive metaphors persists. &#76;&#101;&#116; &#109;&#101; demonstrate &#119;&#105;&#116;&#104; &#115;&#111;&#109;&#101; &#111;&#102; &#116;&#104;&#101; more well &#108;&#111;&#118;&#101;&#100; options.</p>
<h4>@srcset min-width &#111;&#110;&#108;&#121;</h4>
<p>One &#111;&#102; &#116;&#104;&#101; &#108;&#97;&#114;&#103;&#101;&#115;&#116; points &#111;&#102; confusion &#102;&#111;&#114; &#116;&#104;&#101; srcset bid &#119;&#97;&#115; understanding &#119;&#104;&#97;&#116; &#116;&#104;&#101; width &#97;&#110;&#100; height attributes &#105;&#110; &#116;&#104;&#101; &#110;&#101;&#119; syntax &#119;&#101;&#114;&#101; supposed &#116;&#111; represent.</p>
<p>Originally, I &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#116;&#104;&#101; 600w 200h &#105;&#110; &#116;&#104;&#101; example syntax represented &#116;&#104;&#101; image size. &#66;&#117;&#116; instead, &#116;&#104;&#101;&#121; list &#116;&#104;&#101; smallest viewport pledge &#116;&#104;&#97;&#116; &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; used &#102;&#111;&#114; a particular image. &#82;&#101;&#99;&#107;&#111;&#110; CSS <a href="http://www.w3.org/wiki/CSS/Properties/min-width">min-width</a> being used &#105;&#110; a media query.</p>
<p>Once I understood &#119;&#104;&#97;&#116; &#116;&#104;&#101; width &#119;&#97;&#115; meant &#116;&#111; represent, I &#115;&#116;&#97;&#114;&#116;&#101;&#100; &#116;&#111; see &#116;&#104;&#101; shortcomings &#111;&#102; &#116;&#104;&#105;&#115; &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104;. &#78;&#111; matter &#119;&#104;&#97;&#116; values &#119;&#104;&#101;&#114;&#101; listed &#105;&#110; srcset &#119;&#111;&#117;&#108;&#100; need &#116;&#111; match &#116;&#104;&#101; <a href="http://coding.smashingmagazine.com/2012/03/22/device-agnostic-&#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104;-&#116;&#111;-responsive-web-design/">breakpoints</a> specified &#105;&#110; &#116;&#104;&#101; design’s media queries.</p>
<p><a href="http://adactio.com">Jeremy Keith</a> pointed out &#116;&#104;&#97;&#116; &#98;&#121; &#111;&#110;&#108;&#121; supporting “min-width”, srcset &#119;&#105;&#108;&#108; &#104;&#97;&#118;&#101; <a href="http://adactio.com/journal/5474/">difficulty matching breakpoints defined using max-width</a> &#105;&#110; CSS. &#72;&#101; writes:</p>
<blockquote><p>One &#111;&#102; &#116;&#104;&#101; compensation &#111;&#102; media queries &#105;&#115; &#116;&#104;&#97;&#116;, &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#116;&#104;&#101;&#121; support both min- &#97;&#110;&#100; max- width, &#116;&#104;&#101;&#121; &#99;&#97;&#110; &#98;&#101; used &#105;&#110; &#101;&#105;&#116;&#104;&#101;&#114; &#117;&#115;&#101;-case: “movable Initially” &#111;&#114; “Desktop Initially”.</p>
</blockquote>
<blockquote><p>&#66;&#101;&#99;&#97;&#117;&#115;&#101; &#116;&#104;&#101; srcset syntax &#119;&#105;&#108;&#108; support &#101;&#105;&#116;&#104;&#101;&#114; min- &#111;&#114; max- width (&#98;&#117;&#116; &#110;&#111;&#116; both), &#105;&#116; &#119;&#105;&#108;&#108; therefore favour one case &#97;&#116; &#116;&#104;&#101; expense &#111;&#102; &#116;&#104;&#101; &#101;&#105;&#116;&#104;&#101;&#114;.</p>
</blockquote>
<blockquote><p>Both &#117;&#115;&#101;-cases &#97;&#114;&#101; valid. &#73;&#110; person, I happen &#116;&#111; &#117;&#115;&#101; &#116;&#104;&#101; “movable Initially” &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104;, &#98;&#117;&#116; &#116;&#104;&#97;&#116; doesn’t mean &#116;&#104;&#97;&#116; additional developers shouldn’t &#98;&#101; &#97;&#98;&#108;&#101; &#116;&#111; take a “Desktop Initially” &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104; &#105;&#102; &#116;&#104;&#101;&#121; want. &#66;&#121; &#116;&#104;&#101; same logic, I don’t much &#108;&#105;&#107;&#101; &#116;&#104;&#101; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#111;&#102; srcset forcing &#109;&#101; &#116;&#111; take a “Desktop Initially” &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104;.</p>
</blockquote>
<p>&#84;&#104;&#101; inability &#111;&#102; srcset &#116;&#111; match breakpoints defined &#105;&#110; media queries &#105;&#115; &#106;&#117;&#115;&#116; &#116;&#104;&#101; beginning &#111;&#102; &#116;&#104;&#101; challenges.</p>
<h4>@srcset px &#111;&#110;&#108;&#121;</h4>
<p>&#84;&#104;&#101; @srcset attribute currently &#111;&#110;&#108;&#121; supports px &#97;&#110;&#100; &#110;&#111;&#116; additional units &#108;&#105;&#107;&#101; ems &#119;&#104;&#105;&#99;&#104; <a href="http://blog.cloudfour.com/&#116;&#104;&#101;-ems-&#104;&#97;&#118;&#101;-&#105;&#116;-proportional-media-queries-ftw/">&#119;&#101;’ve advocated using &#105;&#110; responsive designs</a>. &#87;&#104;&#121; &#116;&#104;&#105;&#115; limitation? <a href="http://velmont.net/">Odin Hørthe Omdal</a> <a href="http://lists.w3.org/Archives/Public/public-whatwg-archive/2012May/0310.html">&#99;&#108;&#97;&#114;&#105;&#102;&#105;&#101;&#100; &#119;&#104;&#121;</a>:</p>
<blockquote><p>&#89;&#111;&#117; &#99;&#97;&#110; &#117;&#115;&#101; em &#97;&#110;&#100; % freely &#105;&#110; &#121;&#111;&#117;&#114; stylesheets/CSS. &#84;&#104;&#101; values &#102;&#114;&#111;&#109; srcset &#105;&#115; used &#116;&#111; fetch &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116; resource during early prefetch, checked hostile &#116;&#111; &#116;&#104;&#101; width &#97;&#110;&#100; height &#111;&#102; &#116;&#104;&#101; viewport (&#97;&#110;&#100; &#111;&#110;&#108;&#121; &#116;&#104;&#97;&#116; viewport).</p>
</blockquote>
<blockquote><p>Having ems &#111;&#114; % &#119;&#111;&#117;&#108;&#100; &#109;&#97;&#107;&#101; &#110;&#111; sense whatsoever &#116;&#104;&#101;&#114;&#101;, &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#121;&#111;&#117; don’t know &#119;&#104;&#97;&#116; &#116;&#104;&#101;&#121; mean…&#73;&#102; &#121;&#111;&#117; &#109;&#97;&#107;&#101; a solution &#116;&#104;&#97;&#116; &#119;&#105;&#108;&#108; support em/% &#105;&#110; a meaningful way, &#121;&#111;&#117; &#119;&#111;&#117;&#108;&#100; &#104;&#97;&#118;&#101; &#116;&#111; wait &#102;&#111;&#114; layout &#105;&#110; order &#116;&#111; know &#119;&#104;&#97;&#116; size &#116;&#104;&#97;&#116; means. &#83;&#111; &#121;&#111;&#117; &#119;&#105;&#108;&#108; &#104;&#97;&#118;&#101; slower-loading metaphors, &#97;&#110;&#100; ignore &#116;&#104;&#101; “&#119;&#101; want pictures &#113;&#117;&#105;&#99;&#107;” requirement.</p>
</blockquote>
<p>Signal familiar? &#73;&#116;’s &#116;&#104;&#101; conflict between &#116;&#104;&#101; lookahead pre-parser &#97;&#110;&#100; responsive metaphors again.</p>
<p>Without support &#102;&#111;&#114; ems, &#105;&#116; &#119;&#105;&#108;&#108; &#98;&#101; very hard &#116;&#111; match srcset attributes &#116;&#111; responsive design breakpoints &#116;&#104;&#97;&#116; &#117;&#115;&#101; ems.</p>
<h4>@srcset &#97;&#110;&#100; picture maintenance nightmare</h4>
<p>&#65;&#115; &#116;&#104;&#101; challenges &#111;&#102; matching media queries &#116;&#111; @srcset values became clearer &#116;&#111; &#109;&#101;, &#105;&#116; &#97;&#108;&#115;&#111; became apparent &#119;&#104;&#97;&#116; a mess updating &#116;&#104;&#105;&#115; code &#119;&#111;&#117;&#108;&#100; &#98;&#101; &#119;&#104;&#101;&#110; a redesign occurred. &#84;&#104;&#105;&#115; &#105;&#115; a problem &#102;&#111;&#114; both @srcset &#97;&#110;&#100; picture &#97;&#115; <a href="http://lists.w3.org/Archives/Public/public-whatwg-archive/2012May/0292.html">D. Pritchard pointed out &#111;&#110; &#116;&#104;&#101; WhatWG list</a>:</p>
<blockquote><p>I &#100;&#114;&#101;&#97;&#100; &#116;&#104;&#101; day &#119;&#104;&#101;&#110; I &#104;&#97;&#118;&#101; &#116;&#111; dig through, possibly hundreds &#111;&#102; pages, &#119;&#105;&#116;&#104; multiple metaphors per, &#116;&#111; update &#116;&#104;&#101; breakpoints &#97;&#110;&#100; resolutions. Surely &#116;&#104;&#101;&#114;&#101;’s a better way &#116;&#111; manage breakpoints &#111;&#110; a global level &#114;&#97;&#116;&#104;&#101;&#114; &#116;&#104;&#97;&#110; burying &#116;&#104;&#101; specifics within &#116;&#104;&#101; elements &#111;&#114; attributes themselves.</p>
</blockquote>
<p>Unfortunately, &#110;&#111; one &#104;&#97;&#115; suggested a better way &#121;&#101;&#116; &#108;&#105;&#107;&#101;&#108;&#121; &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#109;&#111;&#115;&#116; &#111;&#102; &#116;&#104;&#101; global policy &#102;&#111;&#114; a site exist &#105;&#110; CSS &#119;&#104;&#105;&#99;&#104; &#105;&#115; parsed much shortly &#98;&#121; &#116;&#104;&#101; browser.</p>
<h4>A progressive image format</h4>
<p>Surely &#97;&#108;&#108; &#116;&#104;&#101;&#115;&#101; problems point out &#116;&#104;&#97;&#116; &#119;&#101; shouldn’t &#98;&#101; messing around &#119;&#105;&#116;&#104; breakpoints &#105;&#110; HTML anyways. &#87;&#104;&#97;&#116; &#119;&#101; really need &#105;&#115; a <a href="http://opensores.za.net/2012/responsive-images/">&#110;&#101;&#119; progressive image format</a> (&#111;&#114; perhaps &#97;&#110; <a href="http://blog.yoav.ws/2012/05/Responsive-image-format">ancient format used &#105;&#110; a &#110;&#101;&#119; way</a>).</p>
<p><a href="https://twitter.com/#!/__leroux">Le Roux Bodenstein</a> &#100;&#101;&#115;&#99;&#114;&#105;&#98;&#101;&#115; well <a href="http://opensores.za.net/2012/responsive-images/">&#116;&#104;&#101; appeal &#111;&#102; &#116;&#104;&#105;&#115; solution</a>:</p>
<blockquote><p>&#85;&#115;&#101; a progressive image format &#97;&#110;&#100; HTTP range requests. Ideally &#116;&#104;&#101; image metadata &#97;&#116; &#116;&#104;&#101; &#115;&#116;&#97;&#114;&#116; &#111;&#102; &#116;&#104;&#101; file &#119;&#111;&#117;&#108;&#100; include &#115;&#111;&#109;&#101; hints &#105;&#110; &#116;&#104;&#105;&#115; area &#104;&#111;&#119; many bytes &#116;&#111; download &#116;&#111; &#103;&#101;&#116; &#97;&#110; exact image size. &#84;&#104;&#101; browser &#99;&#97;&#110; &#116;&#104;&#101;&#110; download &#116;&#104;&#101; smallest size equal &#116;&#111; &#111;&#114; greater &#116;&#104;&#97;&#110; &#116;&#104;&#101; dimensions &#105;&#116; desires based &#111;&#110; &#116;&#104;&#101; layout’s width &#97;&#115; specified &#105;&#110; CSS.</p>
</blockquote>
<p>Unfortunately, &#116;&#104;&#105;&#115; description &#97;&#108;&#115;&#111; demonstrates &#119;&#104;&#121; &#116;&#104;&#105;&#115; &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104; &#119;&#105;&#108;&#108; &#97;&#108;&#115;&#111; battle &#116;&#104;&#101; lookahead pre-parser. &#72;&#111;&#119; &#119;&#105;&#108;&#108; &#116;&#104;&#101; browser know &#119;&#104;&#101;&#110; &#116;&#111; &#115;&#116;&#111;&#112; downloading &#116;&#104;&#101; image? &#73;&#116; &#119;&#105;&#108;&#108; know based &#111;&#110; &#116;&#104;&#101; size &#111;&#102; &#116;&#104;&#101; image &#105;&#110; &#116;&#104;&#101; layout.</p>
<h4>&#65;&#110;&#100; &#115;&#111; &#111;&#110; &#97;&#110;&#100; &#115;&#111; &#111;&#110;</h4>
<p>I &#99;&#111;&#117;&#108;&#100; list additional proposed solutions. Each &#104;&#97;&#115; &#116;&#104;&#101;&#105;&#114; &#111;&#119;&#110; merits &#97;&#110;&#100; problems, &#98;&#117;&#116; &#116;&#104;&#101;&#121; &#97;&#108;&#108; suffer &#102;&#114;&#111;&#109; &#116;&#104;&#101; same conflict due &#116;&#111; &#116;&#104;&#101; fact &#116;&#104;&#97;&#116; &#116;&#104;&#101; proper size &#111;&#102; a responsive image isn’t known until &#116;&#104;&#101; layout &#105;&#115; complete &#119;&#104;&#105;&#99;&#104; &#105;&#115; &#116;&#111;&#111; late &#102;&#111;&#114; &#116;&#104;&#101; lookahead pre-parser.</p>
<h3>&#78;&#111; intrinsic &#99;&#117;&#116; &#111;&#102;&#102; points &#102;&#111;&#114; metaphors</h3>
<p>&#87;&#104;&#97;&#116; &#105;&#102; &#119;&#101;’re complicating &#116;&#104;&#105;&#115; &#116;&#111;&#111; much. Perhaps &#119;&#101; shouldn’t try &#116;&#111; replicate &#116;&#104;&#101; breakpoints &#105;&#110; HTML. Instead, &#119;&#101; &#115;&#104;&#111;&#117;&#108;&#100; simply supply different sizes &#111;&#102; &#116;&#104;&#101; image &#97;&#110;&#100; &#108;&#101;&#116; &#116;&#104;&#101; browser &#99;&#104;&#111;&#111;&#115;&#101; &#111;&#110; &#116;&#104;&#101; best version.</p>
<p>&#84;&#104;&#101;&#114;&#101; &#97;&#114;&#101; two problems &#119;&#105;&#116;&#104; &#116;&#104;&#105;&#115; &#116;&#104;&#111;&#117;&#103;&#104;&#116;.</p>
<ol>
<li>&#72;&#111;&#119; &#100;&#111;&#101;&#115; &#116;&#104;&#101; browser know &#119;&#104;&#101;&#110; &#116;&#111; download each image? &#65;&#116; &#116;&#104;&#101; time &#111;&#102; &#116;&#104;&#101; lookahead pre-parser, &#105;&#116; doesn’t know &#119;&#104;&#97;&#116; size &#116;&#104;&#101; image &#119;&#105;&#108;&#108; &#98;&#101;. &#83;&#111; &#105;&#116; &#119;&#105;&#108;&#108; need &#121;&#111;&#117; &#116;&#111; &#116;&#101;&#108;&#108; &#105;&#116; &#119;&#104;&#101;&#110; &#116;&#111; &#117;&#115;&#101; each size image.</li>
<li>&#73;&#102; &#121;&#111;&#117;’re &#110;&#111;&#116; tying &#116;&#104;&#101; selection &#111;&#102; metaphors &#116;&#111; &#116;&#104;&#101; breakpoints &#105;&#110; &#121;&#111;&#117;&#114; design, &#104;&#111;&#119; &#100;&#111; &#121;&#111;&#117; &#99;&#104;&#111;&#111;&#115;&#101; &#119;&#104;&#101;&#110; &#121;&#111;&#117; &#115;&#104;&#111;&#117;&#108;&#100; switch metaphors? &#83;&#104;&#111;&#117;&#108;&#100; &#121;&#111;&#117; &#109;&#97;&#107;&#101; three versions &#111;&#102; each image? Five? Ten? &#83;&#104;&#111;&#117;&#108;&#100; &#121;&#111;&#117; switch &#116;&#104;&#101;&#109; &#97;&#116; 480 &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#116;&#104;&#97;&#116; &#105;&#115; &#116;&#104;&#101; iPhone width &#105;&#110; landscape &#97;&#110;&#100; &#116;&#104;&#101;&#110; lament &#121;&#111;&#117;&#114; &#99;&#104;&#111;&#105;&#99;&#101; &#105;&#102; rumors &#111;&#102; a taller iPhone screen come &#116;&#111; pass?</li>
</ol>
<p>&#84;&#104;&#101; problem &#105;&#115; &#116;&#104;&#101;&#114;&#101; &#105;&#115; nothing intrinsic &#116;&#111; &#116;&#104;&#101; image &#116;&#104;&#97;&#116; &#119;&#111;&#117;&#108;&#100; guide &#121;&#111;&#117; &#105;&#110; deciding &#119;&#104;&#101;&#114;&#101; &#121;&#111;&#117; &#115;&#104;&#111;&#117;&#108;&#100; switch &#102;&#114;&#111;&#109; one size &#111;&#102; &#116;&#104;&#101; image &#116;&#111; another. &#78;&#111; matter &#119;&#104;&#97;&#116; &#119;&#101; select &#119;&#105;&#108;&#108; &#98;&#101; entirely arbitrary unless &#119;&#101; base &#105;&#116; &#111;&#110; &#111;&#117;&#114; design breakpoints.</p>
<h3>&#87;&#104;&#97;&#116; matters more: lookahead pre-parser &#111;&#114; responsive metaphors?</h3>
<p>&#83;&#105;&#110;&#99;&#101; coming &#116;&#111; &#116;&#104;&#101; realization &#116;&#104;&#97;&#116; &#116;&#104;&#101; real conflict &#105;&#115; between &#116;&#104;&#101; lookahead pre-parser &#97;&#110;&#100; responsive metaphors, I’ve &#98;&#101;&#101;&#110; wondering &#119;&#104;&#105;&#99;&#104; &#119;&#101; &#115;&#104;&#111;&#117;&#108;&#100; prioritize.</p>
<p>&#84;&#104;&#101; lookahead pre-parser &#104;&#97;&#115; &#98;&#101;&#101;&#110; essential &#116;&#111; providing a better experience &#102;&#111;&#114; users given &#116;&#104;&#101; way &#116;&#104;&#97;&#116; web pages &#104;&#97;&#118;&#101; &#98;&#101;&#101;&#110; traditionally coded. Doing anything &#116;&#104;&#97;&#116; prevents &#116;&#104;&#101; pre-parser &#102;&#114;&#111;&#109; effective seems &#108;&#105;&#107;&#101; a step backward.</p>
<p>&#65;&#116; &#116;&#104;&#101; same time, &#119;&#104;&#105;&#108;&#101; &#105;&#116; &#109;&#97;&#121; seem responsive metaphors &#105;&#115; &#97;&#110; instigator issue, &#116;&#104;&#101; &#108;&#97;&#114;&#103;&#101;&#115;&#116; impact &#105;&#115; felt &#98;&#121; users. Downloading metaphors &#116;&#104;&#97;&#116; &#97;&#114;&#101; &#116;&#111;&#111; large &#102;&#111;&#114; &#116;&#104;&#101; size &#116;&#104;&#97;&#116; &#116;&#104;&#101;&#121; &#97;&#114;&#101; &#115;&#104;&#111;&#119;&#101;&#100; &#97;&#116; &#109;&#97;&#107;&#101;&#115; pages load more slowly. &#73;&#116; &#105;&#115; possible &#116;&#104;&#97;&#116; &#116;&#104;&#101; performance gains &#102;&#114;&#111;&#109; &#116;&#104;&#101; pre-parser &#99;&#111;&#117;&#108;&#100; &#98;&#101; lost again due &#116;&#111; unnecessarily large image downloads.</p>
<p>&#70;&#111;&#114; existing web content, &#116;&#104;&#101; lookahead pre-parser &#105;&#115; undoubtably &#116;&#104;&#101; fastest way &#116;&#111; render &#116;&#104;&#101; page. &#66;&#117;&#116; &#105;&#102; web development moves towards responsive metaphors &#97;&#115; standard practice, &#116;&#104;&#101;&#110; delaying &#116;&#104;&#101; download &#111;&#102; metaphors until &#116;&#104;&#101; proper size &#111;&#102; &#116;&#104;&#101; image &#105;&#110; &#116;&#104;&#101; layout &#99;&#97;&#110; &#98;&#101; determined &#109;&#97;&#121; really &#98;&#101; &#113;&#117;&#105;&#99;&#107;&#101;&#114; &#116;&#104;&#97;&#110; using &#116;&#104;&#101; lookahead pre-parser. &#84;&#104;&#101; &#100;&#105;&#102;&#102;&#101;&#114;&#101;&#110;&#99;&#101; &#105;&#110; size between a retina image &#102;&#111;&#114; iPad &#97;&#110;&#100; &#97;&#110; image used &#111;&#110; a low pledge mobile phone &#105;&#115; significant.</p>
<p>&#73;&#116; seems &#108;&#105;&#107;&#101; &#116;&#104;&#105;&#115; tradeoff ought &#116;&#111; &#98;&#101; measurable &#105;&#110; &#115;&#111;&#109;&#101; way &#115;&#111; &#119;&#101; &#99;&#97;&#110; quantify &#119;&#104;&#97;&#116; &#116;&#104;&#101; impact &#119;&#111;&#117;&#108;&#100; &#98;&#101;. I’m &#110;&#111;&#116; skilled enough &#116;&#111; construct &#116;&#104;&#97;&#116; test, &#98;&#117;&#116; hopefully others &#99;&#97;&#110; &#104;&#101;&#108;&#112; evaluate &#105;&#116; &#115;&#111; &#119;&#101; &#99;&#97;&#110; &#109;&#97;&#107;&#101; &#97;&#110; informed &#99;&#104;&#111;&#105;&#99;&#101;.</p>
<h3>Two years shortly &#97;&#110;&#100; I finally know &#116;&#104;&#101; problem</h3>
<p>&#73;&#116; &#104;&#97;&#115; &#98;&#101;&#101;&#110; two years &#115;&#105;&#110;&#99;&#101; I initially &#115;&#116;&#97;&#114;&#116;&#101;&#100; looking &#97;&#116; metaphors &#105;&#110; responsive designs. &#73;&#116; seemed simple. &#84;&#104;&#101; img tag &#104;&#97;&#100; one src &#97;&#110;&#100; &#119;&#101; needed multiple sources.</p>
<p>Until &#116;&#104;&#101; WhatWG &#103;&#111;&#116; fully engaged &#105;&#110; &#116;&#104;&#105;&#115; &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;, I &#116;&#104;&#111;&#117;&#103;&#104;&#116; I understood &#116;&#104;&#101; problem. Now I realize &#105;&#116; &#119;&#97;&#115; much &#108;&#97;&#114;&#103;&#101;&#114; &#97;&#110;&#100; more hard &#116;&#104;&#97;&#110; I originally &#116;&#104;&#111;&#117;&#103;&#104;&#116;.</p>
<p>&#87;&#101; &#104;&#97;&#118;&#101; &#97;&#110; existential problem here. A chicken &#97;&#110;&#100; egg riddle.</p>
<p>&#72;&#111;&#119; &#100;&#111; &#119;&#101; reconcile a pre-parser &#116;&#104;&#97;&#116; desires &#116;&#111; know &#119;&#104;&#97;&#116; size image &#116;&#111; download ahead &#111;&#102; time &#119;&#105;&#116;&#104; &#97;&#110; image technique &#116;&#104;&#97;&#116; desires &#116;&#111; &#97;&#110;&#115;&#119;&#101;&#114; &#116;&#111; &#105;&#116;&#115; environment once &#116;&#104;&#101; page layout &#104;&#97;&#115; &#98;&#101;&#101;&#110; calculated?</p>
<p>I don’t know &#119;&#104;&#97;&#116; &#116;&#104;&#101; &#97;&#110;&#115;&#119;&#101;&#114; &#105;&#115;, &#98;&#117;&#116; I’m very curious &#116;&#111; see &#119;&#104;&#97;&#116; &#119;&#101; &#99;&#104;&#111;&#111;&#115;&#101;.</p>
<section class="footnotes">
<hr />
<ol>
<li>
&#73;&#116; &#105;&#115; worth noting &#116;&#104;&#97;&#116; &#116;&#104;&#101; <a href="http://lists.w3.org/Archives/Public/public-whatwg-archive/2012May/0138.html">original srcset bid</a> &#98;&#121; <a href="http://edward.oconnor.cx/">Ted</a> didn’t suffer &#102;&#114;&#111;&#109; &#116;&#104;&#101; conflict &#100;&#101;&#115;&#99;&#114;&#105;&#98;&#101;&#100; &#105;&#110; &#116;&#104;&#105;&#115; post &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#105;&#116; didn’t &#104;&#97;&#118;&#101; a crack &#116;&#111; address responsive metaphors. &#73;&#116; focused solely &#111;&#110; image density &#97;&#110;&#100; thus didn’t contain &#97;&#110;&#121; viewport width declarations.
</li>
</ol>
</section>
</article>
<p>Article source: <a href="http://blog.cloudfour.com/the-real-conflict-behind-picture-and-srcset/">http://blog.cloudfour.com/the-real-conflict-behind-picture-and-srcset/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/the-real-conflict-behind-picture-and-srcset/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShopTalk Episode 17</title>
		<link>http://asterhost.info/shoptalk-episode-17-2/</link>
		<comments>http://asterhost.info/shoptalk-episode-17-2/#comments</comments>
		<pubDate>Tue, 22 May 2012 21:40:17 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/shoptalk-episode-17-2/</guid>
		<description><![CDATA[&#77;&#97;&#121; 4th, 2012Tweet Download MP3 &#73;&#116;’s RAPIDFIRE time! &#78;&#111; guests, &#110;&#111; hot drama, &#97;&#110;&#100; sadly &#116;&#104;&#105;&#115; week &#110;&#111; sponsors. &#87;&#101; &#106;&#117;&#115;&#116; dig &#105;&#110;&#116;&#111; &#97;&#115; many &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#115; &#97;&#115; &#119;&#101; &#99;&#97;&#110;. &#87;&#101; talk &#105;&#110; &#116;&#104;&#105;&#115; area (roughly &#105;&#110; order): &#83;&#104;&#111;&#117;&#108;&#100; clients &#104;&#97;&#118;&#101; &#116;&#111; pay &#102;&#111;&#114; wellbeing updates? &#87;&#104;&#101;&#110; &#116;&#111; &#117;&#115;&#101; a PHP framework &#108;&#105;&#107;&#101; Yii, CodeIgniter &#111;&#114; [...]]]></description>
			<content:encoded><![CDATA[<article class="post-99 post type-post status-publish format-audio hentry category-podcast clearfix">
<p class="meta">&#77;&#97;&#121; 4th, 2012<a href="https://twitter.com/share" class="twitter-share-button">Tweet</a>
</p>
<p><a href="https://s3.amazonaws.com/ShopTalk/017_rapidfire_4.mp3">Download MP3</a></p>
<p>&#73;&#116;’s RAPIDFIRE time! &#78;&#111; guests, &#110;&#111; hot drama, &#97;&#110;&#100; sadly &#116;&#104;&#105;&#115; week &#110;&#111; <a href="http://shoptalkshow.com/advertising/">sponsors</a>. &#87;&#101; &#106;&#117;&#115;&#116; dig &#105;&#110;&#116;&#111; &#97;&#115; many &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#115; &#97;&#115; &#119;&#101; &#99;&#97;&#110;. &#87;&#101; talk &#105;&#110; &#116;&#104;&#105;&#115; area (roughly &#105;&#110; order):</p>
<ul>
<li>&#83;&#104;&#111;&#117;&#108;&#100; clients &#104;&#97;&#118;&#101; &#116;&#111; pay &#102;&#111;&#114; wellbeing updates?</li>
<li>&#87;&#104;&#101;&#110; &#116;&#111; &#117;&#115;&#101; a PHP framework &#108;&#105;&#107;&#101; <a href="http://www.yiiframework.com/">Yii</a>, <a href="http://codeigniter.com/">CodeIgniter</a> &#111;&#114; <a href="http://cakephp.org/">CakePHP</a></li>
<li>&#72;&#111;&#119;, &#87;&#104;&#121;, &#97;&#110;&#100; &#87;&#104;&#101;&#110; &#116;&#111; &#117;&#115;&#101; modern support tools &#108;&#105;&#107;&#101; <a href="http://modernizr.com/">Modernizr</a></li>
<li>&#87;&#104;&#121; &#105;&#115; &#116;&#104;&#101;&#114;&#101; &#110;&#111; “wrapper” pseudo elements?</li>
<li>Couldn’t &#119;&#101; realize &#119;&#104;&#97;&#116; CSS preprocessors &#99;&#97;&#110; &#100;&#111; &#119;&#105;&#116;&#104; PHP?</li>
<li>Dealing &#119;&#105;&#116;&#104; health &#97;&#110;&#100; a sedentary lifestyle</li>
<li>Interactive elements &#105;&#110; jQuery UI vs native HTML5</li>
<li>Finding clever field names (Try <a href="http://domai.nr/">Domainr</a> &#111;&#114; <a href="http://ironicsans.com/thsrs/">Thsrs</a>)</li>
<li>Disappear &#97;&#110; image &#111;&#110; scroll down</li>
<li>Using JavaScript &#116;&#111; insert/remove content &#97;&#116; different width breakpoints</li>
<li>Pricing yourself &#97;&#110;&#100; &#116;&#104;&#101; awkwardness &#111;&#102; asking &#102;&#111;&#114; money</li>
<li>&#77;&#97;&#107;&#105;&#110;&#103; a triangle &#119;&#105;&#116;&#104; shadow &#105;&#110; &#106;&#117;&#115;&#116; HTML/CSS (<a href="http://dabblet.com/gist/1592060">Dabblet</a>)</li>
</ul>
<footer class="post-footer">
<p>
        <strong>Next Episode:</strong> <a href="http://shoptalkshow.com/episodes/018-&#119;&#105;&#116;&#104;-gene-crawford/" rel="next">018: &#87;&#105;&#116;&#104; Gene Crawford</a><br /><strong>Previous Episode:</strong> <a href="http://shoptalkshow.com/episodes/016-&#119;&#105;&#116;&#104;-ian-stewart/" rel="prev">016: &#87;&#105;&#116;&#104; Ian Stewart</a></p>
</footer>
</article>
<p>Article source: <a href="http://shoptalkshow.com/episodes/017-rapidfire-4/">http://shoptalkshow.com/episodes/017-rapidfire-4/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/shoptalk-episode-17-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Opt-in Typography</title>
		<link>http://asterhost.info/opt-in-typography-2/</link>
		<comments>http://asterhost.info/opt-in-typography-2/#comments</comments>
		<pubDate>Tue, 22 May 2012 21:40:16 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/opt-in-typography-2/</guid>
		<description><![CDATA[&#98;&#121;: Chris Coyier I recently heard Chris Eppstein give a talk (slides) &#105;&#110; &#116;&#104;&#105;&#115; area &#109;&#97;&#107;&#105;&#110;&#103; better stylesheets &#97;&#110;&#100; using SASS &#116;&#111; &#100;&#111; &#105;&#116;. &#84;&#104;&#101;&#114;&#101; &#119;&#101;&#114;&#101; a couple &#111;&#102; surprising bits &#105;&#110; &#116;&#104;&#101;&#114;&#101;, one &#111;&#102; &#119;&#104;&#105;&#99;&#104; &#119;&#97;&#115; &#105;&#110; &#116;&#104;&#105;&#115; area &#8220;opt-&#105;&#110; typography.&#8221; &#84;&#104;&#101; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#119;&#97;&#115; &#116;&#104;&#97;&#116; instead &#111;&#102; setting global styles &#102;&#111;&#114; typographic elements &#108;&#105;&#107;&#101; [...]]]></description>
			<content:encoded><![CDATA[<article class="post hentry">
<p class="author-byline">&#98;&#121;: Chris Coyier</p>
<p>I recently heard <a href="http://chriseppstein.github.com/">Chris Eppstein</a> give a talk (<a href="http://speakerdeck.com/u/chriseppstein/p/&#104;&#101;&#108;&#112;-&#109;&#121;-stylesheets-&#97;&#114;&#101;-a-mess">slides</a>) &#105;&#110; &#116;&#104;&#105;&#115; area &#109;&#97;&#107;&#105;&#110;&#103; better stylesheets &#97;&#110;&#100; using <a href="http://sass-lang.com/">SASS</a> &#116;&#111; &#100;&#111; &#105;&#116;. &#84;&#104;&#101;&#114;&#101; &#119;&#101;&#114;&#101; a couple &#111;&#102; surprising bits &#105;&#110; &#116;&#104;&#101;&#114;&#101;, one &#111;&#102; &#119;&#104;&#105;&#99;&#104; &#119;&#97;&#115; &#105;&#110; &#116;&#104;&#105;&#115; area &#8220;opt-&#105;&#110; typography.&#8221; &#84;&#104;&#101; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#119;&#97;&#115; &#116;&#104;&#97;&#116; instead &#111;&#102; setting global styles &#102;&#111;&#114; typographic elements &#108;&#105;&#107;&#101; <code>p</code>, <code>ul</code>, <code>ol</code>, <code>h1</code>, <code>h2</code>, etc &#116;&#104;&#97;&#116; &#121;&#111;&#117; &#119;&#111;&#117;&#108;&#100; instead apply those styles &#97;&#115; a class, perhaps <code>.text</code>. <span /></p>
<p>&#84;&#104;&#101; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#105;&#115; &#116;&#104;&#97;&#116; &#116;&#104;&#101;&#114;&#101; &#105;&#115; a lot &#111;&#102; places &#111;&#110; a website &#119;&#104;&#101;&#114;&#101; &#121;&#111;&#117; want a &#99;&#108;&#101;&#97;&#110; slate &#116;&#111; work &#102;&#114;&#111;&#109; &#97;&#110;&#100; &#110;&#111;&#116; &#98;&#101; worried &#105;&#110; &#116;&#104;&#105;&#115; area &#119;&#104;&#97;&#116; global styles &#97;&#114;&#101; doing. &#84;&#104;&#101; classic example &#105;&#115; lists, &#119;&#104;&#101;&#114;&#101; &#119;&#104;&#101;&#110; using &#116;&#104;&#101;&#109; &#102;&#111;&#114; things &#108;&#105;&#107;&#101; navigation &#121;&#111;&#117; &#108;&#105;&#107;&#101;&#108;&#121; don&#8217;t want &#116;&#104;&#101; same margin/padding/list-style &#97;&#115; &#121;&#111;&#117; &#119;&#111;&#117;&#108;&#100; within &#97;&#110; article.</p>
<p>Further, &#121;&#111;&#117; &#109;&#105;&#103;&#104;&#116; &#104;&#97;&#118;&#101; different sets &#111;&#102; typographic styles &#121;&#111;&#117; &#109;&#97;&#121; want &#116;&#111; apply &#97;&#116; &#119;&#105;&#108;&#108;. &#83;&#111;, instead &#111;&#102; global styles &#108;&#105;&#107;&#101; &#116;&#104;&#105;&#115;:</p>
<pre><code>p  {    }
ul {    }
ol {    }
h1 {    }
h2 {    }
/* etc */</code></pre>
<p>&#89;&#111;&#117; &#119;&#111;&#117;&#108;&#100; scope &#116;&#104;&#101;&#109; &#116;&#111; a class instead (using SCSS here):</p>
<pre><code>.text-article {
  p  {    }
  ul {    }
  ol {    }
  h1 {    }
  h2 {    }
  /* etc */
}

.text-module {
  p  {    }
  ul {    }
  ol {    }
  h1 {    }
  h2 {    }
  /* etc */
}</code></pre>
<p>&#73;&#110; &#97;&#110; area &#111;&#102; &#116;&#104;&#101; site &#116;&#104;&#97;&#116;&#8217;s a blog post, &#121;&#111;&#117; &#99;&#97;&#110; snag &#121;&#111;&#117;&#114; article typography, &#97;&#110;&#100; &#105;&#110; a sidebar module, &#121;&#111;&#117; &#99;&#97;&#110; grab &#116;&#104;&#101; typography &#102;&#111;&#114; &#116;&#104;&#97;&#116;:</p>
<pre><code>section class="main-content"
  article class="text-article"
    ...
  /article
/section
aside
  div class="module text-module"
     Texty module
  /div
  div class="module"
     Module &#105;&#110; &#119;&#104;&#105;&#99;&#104; typography isn't needed
  /div
/aside</code></pre>
<p>Anthony Small <a href="http://anthonyshort.&#109;&#101;/2012/05/global-typographic-styles-suck">feels &#116;&#104;&#101; same way</a>. </p>
<p>&#79;&#102; course, &#116;&#104;&#101; effectiveness &#111;&#102; &#116;&#104;&#105;&#115; depends &#111;&#110; &#116;&#104;&#101; website. &#87;&#104;&#97;&#116; kind &#111;&#102; site &#105;&#116; &#105;&#115; &#97;&#110;&#100; &#119;&#104;&#97;&#116; &#116;&#104;&#101; boards &#105;&#110; &#105;&#116;&#8217;s evolution &#105;&#116;&#8217;s &#105;&#110;. I suspect &#105;&#116; &#119;&#111;&#117;&#108;&#100; work better &#111;&#110; websites &#116;&#104;&#97;&#116; &#104;&#97;&#118;&#101; a more &#8220;modular&#8221; architecture &#97;&#110;&#100; &#116;&#104;&#97;&#116; don&#8217;t &#104;&#97;&#118;&#101; a &#104;&#117;&#103;&#101; set &#111;&#102; legacy content. I&#8217;d &#98;&#101; interested &#105;&#110; trying &#105;&#116; &#111;&#110; a fresh project.</p>
</article>
<p>Article source: <a href="http://css-tricks.com/opt-in-typography/">http://css-tricks.com/opt-in-typography/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/opt-in-typography-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Which responsive images solution should you use?</title>
		<link>http://asterhost.info/which-responsive-images-solution-should-you-use-2/</link>
		<comments>http://asterhost.info/which-responsive-images-solution-should-you-use-2/#comments</comments>
		<pubDate>Tue, 22 May 2012 21:40:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/which-responsive-images-solution-should-you-use-2/</guid>
		<description><![CDATA[&#84;&#104;&#101;&#114;&#101; &#97;&#114;&#101; a bunch &#111;&#102; techniques going around &#102;&#111;&#114; dealing &#119;&#105;&#116;&#104; responsive metaphors lately. &#84;&#104;&#97;&#116; &#105;&#115;, solutions &#116;&#111; &#104;&#101;&#108;&#112; &#117;&#115; serve &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116; image &#102;&#111;&#114; &#116;&#104;&#101; occasion (e.g. size &#111;&#102; screen &#97;&#110;&#100; bandwidth available). &#84;&#104;&#101;&#121; &#97;&#108;&#108; &#100;&#111; things a bit differently. &#84;&#111; keep footstep, Christopher Schmitt &#97;&#110;&#100; I &#104;&#97;&#118;&#101; produced &#116;&#104;&#105;&#115; spreadsheet &#111;&#102; techniques. &#84;&#104;&#101; [...]]]></description>
			<content:encoded><![CDATA[<p>&#84;&#104;&#101;&#114;&#101; &#97;&#114;&#101; a bunch &#111;&#102; techniques going around &#102;&#111;&#114; dealing &#119;&#105;&#116;&#104; <strong>responsive metaphors</strong> lately. &#84;&#104;&#97;&#116; &#105;&#115;, solutions &#116;&#111; &#104;&#101;&#108;&#112; &#117;&#115; serve &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116; image &#102;&#111;&#114; &#116;&#104;&#101; occasion (e.g. size &#111;&#102; screen &#97;&#110;&#100; bandwidth available). &#84;&#104;&#101;&#121; &#97;&#108;&#108; &#100;&#111; things a bit differently. &#84;&#111; keep footstep, Christopher Schmitt &#97;&#110;&#100; I &#104;&#97;&#118;&#101; produced <a href="https://docs.google.com/spreadsheet/ccc?key=0Al0lI17fOl9DdDgxTFVoRzFpV3VCdHk2NTBmdVI2OXc">&#116;&#104;&#105;&#115; spreadsheet &#111;&#102; techniques</a>.</p>
<p>&#84;&#104;&#101; spreadsheet &#104;&#97;&#115; &#116;&#104;&#101; data, &#98;&#117;&#116; &#108;&#101;&#116;&#8217;s digest &#105;&#116; through thinking &#105;&#110; &#116;&#104;&#105;&#115; area &#105;&#116; through &#116;&#104;&#101; lens &#111;&#102; practical &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#115;.</p>
<p><span /></p>
<p>&#84;&#111; &#99;&#104;&#111;&#111;&#115;&#101; &#119;&#104;&#105;&#99;&#104; technique &#105;&#115; &#114;&#105;&#103;&#104;&#116; &#102;&#111;&#114; &#121;&#111;&#117; &#97;&#110;&#100; &#121;&#111;&#117;&#114; project &#116;&#104;&#101;&#115;&#101; &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#115; &#109;&#97;&#121; &#104;&#101;&#108;&#112; &#97;&#115; a guide. Many &#111;&#102; &#116;&#104;&#101; &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#115; &#109;&#97;&#121; apply &#116;&#111; &#121;&#111;&#117;&#114; project, &#115;&#111; &#121;&#111;&#117;&#8217;ll &#104;&#97;&#118;&#101; &#116;&#111; sort out &#119;&#104;&#105;&#99;&#104; techniques fit &#119;&#104;&#97;&#116; scenarios &#97;&#110;&#100; find &#116;&#104;&#101; overlap.</p>
<h3>&#68;&#111; I &#104;&#97;&#118;&#101; legacy content?</h3>
<p>&#87;&#104;&#105;&#99;&#104; really means&#8230; <strong>&#100;&#111; I &#104;&#97;&#118;&#101; legacy content &#116;&#104;&#97;&#116; &#105;&#115; impractical &#116;&#111; update?</strong> &#70;&#111;&#114; instance, I &#104;&#97;&#118;&#101; thousands &#111;&#102; pages &#111;&#102; content &#111;&#110; CSS-Tricks &#97;&#110;&#100; a writing staff &#111;&#102; one. </p>
<figure><img src="http://asterhost.info/wp-content/plugins/RSSPoster_PRO/cache/086eb_legacycontent.png" alt="" width="148" height="147" class="alignnone size-full wp-image-16972" /><br />
<figcaption>Yeahhhh&#8230; I&#8217;m &#110;&#111;&#116; going &#116;&#111; &#103;&#111; back &#97;&#110;&#100; update &#101;&#118;&#101;&#114;&#121; <code>img</code> &#111;&#110; &#116;&#104;&#101; site, &#115;&#111; I need a technique &#116;&#104;&#97;&#116; &#119;&#105;&#108;&#108; allow &#109;&#101; &#116;&#111; leave those lonely.</figcaption>
</figure>
<p>&#84;&#104;&#101; &#111;&#110;&#108;&#121; technique I know &#111;&#102; &#116;&#104;&#97;&#116; works &#119;&#105;&#116;&#104; absolutely &#110;&#111; markup changes &#105;&#115; <a href="http://adaptive-images.com/">Adaptive Metaphors</a>. &#73;&#116; works &#98;&#121; routing requests &#102;&#111;&#114; metaphors through a PHP file &#119;&#104;&#105;&#99;&#104; intelligently serves (&#97;&#110;&#100; &#109;&#97;&#107;&#101;&#115; &#105;&#102; need &#98;&#101;) metaphors &#111;&#102; &#116;&#104;&#101; appropriate size &#102;&#111;&#114; &#116;&#104;&#101; screen width.</p>
<p>Another &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110; &#116;&#111; &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110; yourself &#105;&#115; &#105;&#102; &#121;&#111;&#117; care &#105;&#110; &#116;&#104;&#105;&#115; area legacy content. Perhaps &#116;&#104;&#101; vast majority &#111;&#102; traffic &#116;&#111; &#121;&#111;&#117;&#114; site &#105;&#115; &#102;&#111;&#114; newer content &#105;&#110; &#119;&#104;&#105;&#99;&#104; &#121;&#111;&#117; <strong>&#99;&#97;&#110;</strong> &#109;&#97;&#107;&#101; markup changes &#97;&#110;&#100; thus take advantage &#111;&#102; additional techniques. &#73;&#102; &#116;&#104;&#97;&#116;&#8217;s &#116;&#104;&#101; case, read &#111;&#110; &#116;&#111; learn those additional techniques.</p>
<p>&#73;&#102; &#121;&#111;&#117; &#104;&#97;&#118;&#101; a small project, a &#103;&#114;&#111;&#117;&#110;&#100;&#98;&#114;&#101;&#97;&#107;&#105;&#110;&#103; &#110;&#101;&#119; project, &#111;&#114; a project &#119;&#105;&#116;&#104; legacy content &#116;&#104;&#97;&#116; &#121;&#111;&#117; &#97;&#114;&#101; &#97;&#98;&#108;&#101; &#103;&#111; back &#97;&#110;&#100; update, &#121;&#111;&#117; &#97;&#114;&#101; &#97;&#108;&#115;&#111; &#97;&#98;&#108;&#101; &#116;&#111; &#99;&#104;&#111;&#111;&#115;&#101; a technique &#119;&#104;&#105;&#99;&#104; &#100;&#111;&#101;&#115; require special markup, &#115;&#111; &#97;&#108;&#115;&#111; read &#111;&#110;.</p>
<h4>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area special markup?</h4>
<p>&#84;&#104;&#105;&#115; &#105;&#115; really a sub-&#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110; &#111;&#102; &#116;&#104;&#101; above. Many &#111;&#102; &#116;&#104;&#101; techniques require &#121;&#111;&#117; &#116;&#111; &#117;&#115;&#101; special HTML. &#70;&#111;&#114; example, <a href="https://github.com/teleject/hisrc">HiSRC</a> &#104;&#97;&#115; &#121;&#111;&#117; &#112;&#108;&#97;&#99;&#101; higher pledge metaphors &#97;&#115; data-attributes:</p>
<pre><code>img src="200x100.png" data-1x="400x200.png" data-2x="800x400.png"</code></pre>
<p>I&#8217;d &#115;&#97;&#121; &#116;&#104;&#105;&#115; &#105;&#115; a &#99;&#108;&#101;&#97;&#110;, valid, semantic technique, &#98;&#117;&#116; &#105;&#116; &#97;&#108;&#115;&#111; means &#116;&#104;&#97;&#116; &#121;&#111;&#117; need &#116;&#104;&#101;&#115;&#101; attributes &#111;&#110; &#101;&#118;&#101;&#114;&#121; <code>img</code> &#111;&#110; &#121;&#111;&#117;&#114; site, &#119;&#104;&#105;&#99;&#104; &#109;&#97;&#121; &#110;&#111;&#116; &#98;&#101; possible &#111;&#110; sites &#119;&#105;&#116;&#104; loads &#111;&#102; legacy content.</p>
<p>&#73;&#102; &#121;&#111;&#117; know &#116;&#104;&#97;&#116; special markup (&#111;&#114; specialized CSS) &#105;&#115; &#110;&#111;&#116; &#97;&#110; option &#102;&#111;&#114; &#121;&#111;&#117;, really &#116;&#104;&#101; &#111;&#110;&#108;&#121; option &#105;&#115; <a href="http://adaptive-images.com/">Adaptive Metaphors</a>. Even <a href="http://www.sencha.com/products/io/">Sencha.IO</a> requires prefixing &#116;&#104;&#101; src attribute &#119;&#104;&#105;&#99;&#104; &#109;&#97;&#121; &#110;&#111;&#116; &#98;&#101; possible &#119;&#105;&#116;&#104; legacy content.</p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area semantics?</h3>
<p>&#83;&#111;&#109;&#101; responsive metaphors techniques involve markup &#119;&#104;&#105;&#99;&#104; isn&#8217;t strictly semantic. Ultimately, &#116;&#104;&#101;&#114;&#101; &#105;&#115; &#111;&#110;&#108;&#121; one way &#97;&#110; image &#99;&#97;&#110; &#98;&#101; semantic. &#84;&#104;&#97;&#116; &#105;&#115; &#105;&#102; &#116;&#104;&#101; <code>src</code> &#111;&#102; &#105;&#116; points &#116;&#111; a real image &#97;&#110;&#100; &#105;&#116; &#104;&#97;&#115; <code>alt</code> text unfolding &#116;&#104;&#97;&#116; image. Brad Frost sums &#105;&#116; up nicely:</p>
<blockquote class="twitter-tweet"><p>@<a href="https://twitter.com/stowball">stowball</a> Unfortunately &#105;&#116;&#115; &#110;&#111;&#116; &#116;&#104;&#97;&#116; simple. A picture &#111;&#102; a horse desires &#116;&#111; &#98;&#101; a picture &#111;&#102; a horse &#111;&#114; &#101;&#108;&#115;&#101; &#105;&#116;&#115; &#110;&#111;&#116; a picture &#111;&#102; a horse. <img src='http://asterhost.info/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>— Brad Frost (@brad_frost) <a href="https://twitter.com/brad_frost/status/188024708866912257">April 5, 2012</a></p>
</blockquote>
<p />
<p>&#73;&#110; additional words, &#105;&#102; &#116;&#104;&#101; technique requires &#97;&#116; &#97;&#110;&#121; point &#116;&#104;&#101; <code>src</code> &#111;&#102; &#116;&#104;&#101; image &#116;&#111; &#98;&#101; missing &#111;&#114; link &#116;&#111; a transparent GIF (&#111;&#114; &#116;&#104;&#101; &#108;&#105;&#107;&#101;), &#116;&#104;&#97;&#116;&#8217;s &#110;&#111;&#116; semantic. </p>
<p>&#83;&#111; &#119;&#104;&#121; &#100;&#111; &#115;&#111;&#109;&#101; responsive metaphors techniques &#100;&#111; &#116;&#104;&#105;&#115;? &#66;&#101;&#99;&#97;&#117;&#115;&#101; having &#97;&#110; image &#119;&#105;&#116;&#104; a <code>src</code> &#116;&#104;&#97;&#116; points &#116;&#111; &#116;&#104;&#97;&#116; image &#111;&#102; a horse means &#116;&#104;&#97;&#116; &#116;&#104;&#97;&#116; image &#119;&#105;&#108;&#108; &#115;&#116;&#97;&#114;&#116; downloading &#97;&#115; soon &#97;&#115; &#116;&#104;&#97;&#116; image gets parsed &#98;&#121; &#116;&#104;&#101; browser. &#84;&#104;&#101;&#114;&#101; &#105;&#115; &#110;&#111; practical way &#116;&#111; preclude &#116;&#104;&#105;&#115;. Even &#105;&#102; &#121;&#111;&#117; <em>super quickly</em> swap out &#116;&#104;&#97;&#116; <code>src</code> &#119;&#105;&#116;&#104; a more appropriate version, now &#121;&#111;&#117;&#8217;re downloading two metaphors instead &#111;&#102; one &#119;&#104;&#105;&#99;&#104; &#105;&#115; a performance hit instead &#111;&#102; a performance gain. &#89;&#111;&#117; &#109;&#97;&#121; &#99;&#104;&#111;&#111;&#115;&#101; &#116;&#104;&#97;&#116;&#8217;s acceptable (e.g. &#8220;desktop&#8221; environments typically &#104;&#97;&#118;&#101; more bandwidth). Usually &#105;&#102; &#116;&#104;&#105;&#115; technique &#105;&#115; employed, &#116;&#104;&#101; image &#105;&#110; &#116;&#104;&#101; <code>src</code> &#105;&#115; &#116;&#104;&#101; smallest possible image.</p>
<p>&#73;&#102; semantics &#105;&#115; vital &#116;&#111; &#121;&#111;&#117;, &#121;&#111;&#117; &#115;&#104;&#111;&#117;&#108;&#100; look &#97;&#116; <a href="http://adaptive-images.com/">Adaptive Metaphors</a> (covered above) &#111;&#114; <a href="https://github.com/teleject/hisrc">HiSRC</a>, a plugin &#98;&#121; Christopher Schmitt &#119;&#104;&#105;&#99;&#104; &#121;&#111;&#117; &#99;&#97;&#110; &#117;&#115;&#101; &#119;&#105;&#116;&#104; a semantic <code>src</code> attribute. </p>
<p>A few &#111;&#102; &#116;&#104;&#101; techniques &#117;&#115;&#101; <code>noscript</code> tags &#105;&#110; &#119;&#104;&#105;&#99;&#104; &#116;&#111; house a fallback <code>img</code> &#105;&#110; &#116;&#104;&#101; case &#111;&#102; &#110;&#111; JavaScript being available. I&#8217;ll &#108;&#101;&#116; &#121;&#111;&#117; &#99;&#104;&#111;&#111;&#115;&#101; &#105;&#102; &#116;&#104;&#97;&#116;&#8217;s semantic &#111;&#114; &#110;&#111;&#116;.</p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area validity?</h3>
<p>Validity &#97;&#115; &#105;&#110; &#8220;&#68;&#111;&#101;&#115; &#105;&#116; validate?&#8221; according &#116;&#111; &#116;&#104;&#101; <a href="http://validator.w3.org/">W3C Markup Validation Service</a>. Validation &#105;&#115; a tool &#116;&#111; &#104;&#101;&#108;&#112; &#121;&#111;&#117; find problems &#97;&#110;&#100; write better markup. &#66;&#117;&#116; &#106;&#117;&#115;&#116; &#98;&#101;&#99;&#97;&#117;&#115;&#101; something doesn&#8217;t validate doesn&#8217;t &#109;&#97;&#107;&#101; &#105;&#116; &#116;&#101;&#114;&#114;&#105;&#98;&#108;&#101; &#111;&#114; incorrect. &#73;&#102; invalid code works wonderfully &#105;&#110; &#97;&#108;&#108; browsers, &#121;&#111;&#117; &#110;&#111;&#114; anyone &#101;&#108;&#115;&#101; &#115;&#104;&#111;&#117;&#108;&#100; care.</p>
<p>&#73;&#102; &#121;&#111;&#117; &#100;&#111; care &#105;&#110; &#116;&#104;&#105;&#115; area validity (perhaps a client irrationally requires &#105;&#116; &#102;&#114;&#111;&#109; &#121;&#111;&#117; &#97;&#110;&#100; &#105;&#115; holding &#121;&#111;&#117;&#114; paycheck randsom) &#116;&#104;&#101;&#110; &#116;&#104;&#101;&#114;&#101; &#97;&#114;&#101; a few techniques &#116;&#104;&#97;&#116; &#121;&#111;&#117; &#99;&#97;&#110;&#8217;t &#117;&#115;&#101;. &#84;&#104;&#101; <a href="https://github.com/scottjehl/picturefill">picturefill</a> technique, &#102;&#111;&#114; instance, uses &#116;&#104;&#101; <code>picture</code> element &#116;&#111; work &#105;&#116;&#115; magic. &#84;&#104;&#105;&#115; &#109;&#97;&#121; ultimately &#98;&#101; standarized, &#98;&#117;&#116; &#105;&#116; isn&#8217;t &#121;&#101;&#116;, &#115;&#111; &#105;&#116;&#8217;s technically invalid syntax. &#73;&#116;&#8217;s &#97;&#108;&#115;&#111; required &#116;&#104;&#97;&#116; <code>img</code> elements &#104;&#97;&#118;&#101; a <code>src</code> attribute, &#115;&#111; techniques &#116;&#104;&#97;&#116; remove &#116;&#104;&#97;&#116; &#116;&#111; &#103;&#101;&#116; around &#116;&#104;&#101; double-image-request problem &#97;&#114;&#101; invalid.</p>
<p>I&#8217;d urge &#116;&#104;&#101;&#115;&#101; techniques &#105;&#102; validity &#105;&#115; a requirement &#102;&#111;&#114; &#121;&#111;&#117;: <a href="http://adaptive-images.com/">Adaptive Metaphors</a>, <a href="https://github.com/teleject/hisrc">HiSRC</a>, &#111;&#114; <a href="https://github.com/joshje/Responsive-Enhance">Responsive Enhance</a>. &#65;&#108;&#108; &#111;&#102; &#119;&#104;&#105;&#99;&#104; &#117;&#115;&#101; simple, valid <code>img</code> syntax &#116;&#104;&#97;&#116; include a <code>src</code>.</p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area art direction?</h3>
<p>&#83;&#111;&#109;&#101; responsive metaphors techniques serve different pledge versions &#111;&#102; &#116;&#104;&#101; exact same image. &#87;&#104;&#105;&#108;&#101; &#116;&#104;&#97;&#116; &#109;&#97;&#107;&#101;&#115; things simpler (i.e. less work) &#105;&#116; &#109;&#97;&#121; &#110;&#111;&#116; acceptable. Here&#8217;s a visual example:</p>
<figure><img src="http://asterhost.info/wp-content/plugins/RSSPoster_PRO/cache/086eb_difimages.jpg" alt="" width="922" height="360" class="alignnone size-full wp-image-16963" /><br />
<figcaption>&#79;&#110; &#116;&#104;&#101; left, &#116;&#104;&#101; &#8220;mobile&#8221; &#97;&#110;&#100; defaulting <code>src</code>. &#73;&#110; &#116;&#104;&#101; middle, a slightly &#108;&#97;&#114;&#103;&#101;&#114; image &#116;&#104;&#97;&#116; &#99;&#111;&#117;&#108;&#100; &#98;&#101; used &#111;&#110; (ahem) &#8220;tablets&#8221;. &#79;&#110; &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116;, &#116;&#104;&#101; &#108;&#97;&#114;&#103;&#101;&#115;&#116; &#111;&#102; &#116;&#104;&#101; metaphors.<a href="http://www.flickr.com/photos/whitehouse/7136874959/sizes/l/&#105;&#110;/photostream/">(credit)</a></figcaption>
</figure>
<p>&#84;&#104;&#101;&#115;&#101; metaphors &#97;&#114;&#101; hand-crafted &#98;&#121; a designer, cropped &#116;&#111; retain meaning &#97;&#110;&#100; impact. &#73;&#102; &#121;&#111;&#117; took &#116;&#104;&#101; image &#111;&#110; &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116; &#97;&#110;&#100; &#106;&#117;&#115;&#116; scaled &#105;&#116; down, &#116;&#104;&#101; public &#105;&#110; &#116;&#104;&#101; image &#119;&#111;&#117;&#108;&#100; &#98;&#101; very small &#97;&#110;&#100; &#116;&#104;&#101; feel &#111;&#102; &#116;&#104;&#101; image &#109;&#121; &#98;&#101; lost. </p>
<p>&#73;&#102; &#116;&#104;&#105;&#115; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#111;&#102; art direction &#105;&#115; vital &#116;&#111; &#121;&#111;&#117;&#114; project, &#121;&#111;&#117;&#8217;ll need a technique &#116;&#104;&#97;&#116; &#119;&#105;&#108;&#108; allow &#121;&#111;&#117; &#116;&#111; disorder exactly &#119;&#104;&#105;&#99;&#104; src &#116;&#111; serve under &#119;&#104;&#105;&#99;&#104; circumstances. &#84;&#104;&#105;&#115; &#105;&#115; picture exact (&#71;&#69;&#84; &#73;&#84;?) &#102;&#111;&#114; <a href="https://github.com/scottjehl/picturefill">picturefill</a> &#119;&#104;&#105;&#99;&#104; allows &#121;&#111;&#117; &#116;&#111; &#98;&#101; very specific &#105;&#110; &#116;&#104;&#105;&#115; area sources &#97;&#110;&#100; &#119;&#104;&#97;&#116; circumstances &#103;&#101;&#116; &#119;&#104;&#97;&#116;.</p>
<pre><code>picture alt="description"
  source src="small.jpg"
  source src="medium.jpg" media="(min-width: 400px)"
  source src="large.jpg" media="(min-width: 800px)"
/picture</code></pre>
<p>JavaScript takes &#105;&#116; &#102;&#114;&#111;&#109; &#116;&#104;&#101;&#114;&#101;. </p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area JavaScript?</h3>
<p>&#77;&#111;&#115;&#116; &#111;&#102; &#116;&#104;&#101;&#115;&#101; responsive image techniques utilize JavaScript &#116;&#111; work &#116;&#104;&#101;&#105;&#114; magic. <a href="http://adaptive-images.com/">&#83;&#111;&#109;&#101;</a> &#111;&#110;&#108;&#121; a &#116;&#105;&#110;&#121; bit &#116;&#111; set a cookie, &#98;&#117;&#116; JavaScript none &#116;&#104;&#101; less. &#83;&#111;&#109;&#101; &#111;&#102; &#116;&#104;&#101;&#109; &#104;&#97;&#118;&#101; &#121;&#111;&#117; &#112;&#108;&#97;&#99;&#101; &#97;&#110; <code>img</code> &#105;&#110; a <code>noscript</code> tag &#115;&#111; &#116;&#104;&#97;&#116; &#116;&#104;&#101;&#114;&#101; &#105;&#115; a fallback image &#105;&#110; &#116;&#104;&#101; case &#116;&#104;&#97;&#116; &#116;&#104;&#101; user &#104;&#97;&#115; JavaScript turned &#111;&#102;&#102;. &#73;&#102; &#121;&#111;&#117; don&#8217;t &#108;&#105;&#107;&#101; &#116;&#104;&#97;&#116;, &#97;&#110;&#100; &#121;&#111;&#117; need &#116;&#111; &#109;&#97;&#107;&#101; absolutely sure &#116;&#104;&#97;&#116; &#121;&#111;&#117;&#114; metaphors work without JavaScript, <a href="http://www.sencha.com/products/io">Sencha.IO</a> &#105;&#115; &#121;&#111;&#117;&#114; best bet. &#84;&#104;&#105;&#115; service works &#98;&#121; identifying &#121;&#111;&#117;&#114; device through &#105;&#116;&#8217;s <a href="http://en.wikipedia.org/wiki/User_agent">User Agent</a> string &#97;&#110;&#100; serving &#97;&#110; appropriately sized image. &#83;&#111; &#121;&#111;&#117; link &#116;&#111; &#116;&#104;&#101; &#108;&#97;&#114;&#103;&#101;&#115;&#116; (reasonable) version &#121;&#111;&#117; &#104;&#97;&#118;&#101; &#111;&#102; &#105;&#116; &#97;&#110;&#100; Sencha &#119;&#105;&#108;&#108; squeeze &#105;&#116; down &#97;&#110;&#100; server smaller versions &#105;&#102; need &#98;&#101; (&#105;&#116; doesn&#8217;t scale up, &#102;&#111;&#114; obvious reasons). </p>
<h4>&#87;&#104;&#97;&#116; &#105;&#110; &#116;&#104;&#105;&#115; area JavaScript *library* dependency?</h4>
<p><a href="https://github.com/teleject/hisrc">HiSRC</a> &#97;&#110;&#100; <a href="https://github.com/stowball/jQuery-rwdImages">rwdImages</a> &#97;&#114;&#101; both jQuery dependent. &#73;&#102; &#121;&#111;&#117;&#114; project &#105;&#115; using a different library, &#116;&#104;&#101;&#115;&#101; probably aren&#8217;t &#102;&#111;&#114; &#121;&#111;&#117;. &#66;&#117;&#116; hey, &#121;&#111;&#117; &#99;&#111;&#117;&#108;&#100; port &#105;&#116; &#97;&#110;&#100; open source &#116;&#104;&#97;&#116;! &#73;&#102; &#121;&#111;&#117; aren&#8217;t using a library, well, &#121;&#111;&#117; probably &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; &#98;&#117;&#116; &#108;&#101;&#116;&#8217;s &#110;&#111;&#116; &#103;&#101;&#116; &#105;&#110;&#116;&#111; &#116;&#104;&#97;&#116;.</p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area Server Side Components?</h3>
<p>&#83;&#111;&#109;&#101; &#111;&#102; &#116;&#104;&#101;&#115;&#101; techniques aren&#8217;t solely JavaScript dependent. <a href="http://adaptive-images.com/">Adaptive Metaphors</a> works &#105;&#116;&#8217;s magic primarily through .htaccess &#97;&#110;&#100; PHP. Well, .htaccess presupposes &#97;&#110; Apache server. &#65;&#110;&#100;, &#119;&#104;&#105;&#108;&#101; &#111;&#102; course &#119;&#101; &#97;&#108;&#108; know &#97;&#110;&#100; &#108;&#105;&#107;&#101; PHP (ahem), many websites &#114;&#117;&#110; &#111;&#110; technologies &#108;&#105;&#107;&#101; Ruby &#111;&#114; Python. </p>
<p><a href="https://github.com/filamentgroup/Responsive-Images">Responsive Metaphors</a> (&#116;&#104;&#101; original Thread Group technique) &#97;&#108;&#115;&#111; uses .htaccess. &#83;&#111; &#105;&#102; &#121;&#111;&#117;&#8217;re using something &#108;&#105;&#107;&#101; <a href="http://wiki.nginx.org/Main">Nginx</a> &#97;&#115; web server, &#116;&#104;&#105;&#115; &#105;&#115; &#101;&#105;&#116;&#104;&#101;&#114; out &#111;&#114; &#121;&#111;&#117;&#8217;ll &#104;&#97;&#118;&#101; &#116;&#111; port over &#116;&#104;&#101; .htaccess component &#116;&#111; Nginx&#8217;s similar-&#98;&#117;&#116;-different syntax.  </p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area bandwidth testing?</h3>
<p>Testing &#116;&#104;&#101; browser dialogue box width &#97;&#110;&#100; &#109;&#97;&#107;&#105;&#110;&#103; decisions &#111;&#110; &#119;&#104;&#97;&#116; image &#116;&#111; serve based &#111;&#110; &#116;&#104;&#97;&#116; &#105;&#115; pretty &#99;&#111;&#111;&#108; &#97;&#110;&#100; fundamental &#116;&#111; &#116;&#104;&#101; concept &#111;&#102; responsive metaphors. &#66;&#117;&#116; &#105;&#116;&#8217;s really &#111;&#110;&#108;&#121; half &#111;&#102; &#119;&#104;&#97;&#116; &#116;&#104;&#101; &#99;&#104;&#111;&#105;&#99;&#101; &#111;&#102; &#119;&#104;&#97;&#116; image &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; served &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; based &#111;&#110;. &#84;&#104;&#101; additional half &#105;&#115; available bandwidth. &#73;&#102; &#116;&#104;&#101; user &#104;&#97;&#115; a very &#113;&#117;&#105;&#99;&#107; internet connection speed, serving large metaphors &#105;&#115; OK. &#73;&#102; &#116;&#104;&#101; user &#104;&#97;&#115; a very &#115;&#108;&#111;&#119; internet connection speed, &#116;&#104;&#101;&#121; &#115;&#104;&#111;&#117;&#108;&#100; &#103;&#101;&#116; smaller metaphors (regardless &#111;&#102; screens size). Unfortunately native <a href="http://css-tricks.com/bandwidth-media-queries/">bandwidth media queries</a> don&#8217;t exist. </p>
<p>Two &#111;&#102; &#116;&#104;&#101; current techniques &#100;&#111; bandwidth testing &#97;&#115; &#112;&#97;&#114;&#116; &#111;&#102; &#116;&#104;&#101;&#105;&#114; &#99;&#104;&#111;&#105;&#99;&#101; &#109;&#97;&#107;&#105;&#110;&#103;: <a href="https://github.com/adamdbradley/foresight.js">Foresight.js</a> &#97;&#110;&#100; <a href="https://github.com/teleject/hisrc">HiSRC</a> (both &#97;&#114;&#101; based &#111;&#110; &#116;&#104;&#101; technique &#105;&#110; Foresight.js). &#73;&#116; works &#98;&#121; downloading a test file &#97;&#110;&#100; measuring &#104;&#111;&#119; long &#105;&#116; took (configurable). &#84;&#104;&#101; test itself &#105;&#115; a affront performance hit, &#98;&#117;&#116; theoretically &#116;&#104;&#101; savings gained &#98;&#121; serving metaphors based &#111;&#110; knowing &#116;&#104;&#101; current bandwidth &#105;&#115; a net (&#71;&#69;&#84; &#73;&#84;?) gain. </p>
<h3>&#68;&#111; I care &#105;&#110; &#116;&#104;&#105;&#115; area relying &#111;&#110; third parties?</h3>
<p><a href="http://www.sencha.com/products/io/">Sencha.IO</a> &#105;&#115; a completely third-party way &#111;&#102; handling responsive metaphors. &#65;&#115; far &#97;&#115; I know, &#105;&#116; works &#102;&#97;&#110;&#116;&#97;&#115;&#116;&#105;&#99; &#97;&#110;&#100; hasn&#8217;t &#98;&#101;&#101;&#110; inflicted &#119;&#105;&#116;&#104; &#97;&#110;&#121; major downtime, &#98;&#117;&#116; &#111;&#102; course &#121;&#111;&#117; always &#114;&#117;&#110; &#116;&#104;&#97;&#116; risk.</p>
<p>&#89;&#111;&#117; &#109;&#105;&#103;&#104;&#116; &#98;&#101; thinking: <em>Wow, &#116;&#104;&#101; Sencha.IO technique &#105;&#115; really &#99;&#111;&#111;&#108; &#98;&#117;&#116; I worry &#105;&#110; &#116;&#104;&#105;&#115; area &#116;&#104;&#101; third-party dependency. I wish I &#99;&#111;&#117;&#108;&#100; &#114;&#117;&#110; &#116;&#104;&#97;&#116; &#111;&#110; &#109;&#121; &#111;&#119;&#110; server.</em> &#73;&#102; &#121;&#111;&#117; want &#116;&#111; &#103;&#111; down &#116;&#104;&#97;&#116; road, &#116;&#104;&#101;&#114;&#101; &#105;&#115; &#116;&#104;&#101; public <a href="http://wurfl.sourceforge.net/">WURFL database</a> &#97;&#110;&#100; &#116;&#104;&#105;&#115; <a href="https://github.com/carsonmcdonald/ServerSideResponsiveImageExample">Server Side Responsive Metaphors technique</a> &#119;&#104;&#105;&#99;&#104; puts &#116;&#104;&#97;&#116; &#116;&#111; work locally.</p>
<p>&#84;&#104;&#101;&#114;&#101; &#97;&#114;&#101; &#97;&#108;&#115;&#111; third-party services &#108;&#105;&#107;&#101; <a href="http://deviceatlas.com/products/cloud">Device Atlas Cloud</a> &#119;&#104;&#105;&#99;&#104; &#100;&#111;&#101;&#115; device detection &#102;&#111;&#114; &#121;&#111;&#117;. &#73;&#116;&#8217;s &#97;&#108;&#115;&#111; a third-party dependency &#102;&#111;&#114; &#121;&#111;&#117;&#114; app. &#78;&#111; doubt &#116;&#104;&#101;&#105;&#114; goal &#97;&#110;&#100; focus &#105;&#115; staying up &#97;&#110;&#100; &#113;&#117;&#105;&#99;&#107; &#97;&#116; &#97;&#108;&#108; times, &#98;&#117;&#116; &#121;&#111;&#117; &#104;&#97;&#118;&#101; &#116;&#111; &#98;&#101; very careful &#105;&#110; &#116;&#104;&#105;&#115; area &#119;&#104;&#111; &#97;&#110;&#100; &#119;&#104;&#97;&#116; &#121;&#111;&#117; rely &#111;&#110; &#102;&#111;&#114; &#121;&#111;&#117;&#114; business.</p>
<h3>&#73;&#115; &#116;&#104;&#101;&#114;&#101; a specific CMS &#119;&#105;&#116;&#104; specific CMS powers involved?</h3>
<p>&#83;&#97;&#121; &#121;&#111;&#117;&#114; project &#105;&#115; &#105;&#110; WordPress. WordPress &#104;&#97;&#115; a media uploader built &#105;&#110;. &#87;&#104;&#101;&#110; &#121;&#111;&#117; upload &#97;&#110; image &#119;&#105;&#116;&#104; &#105;&#116;, &#105;&#116; &#99;&#97;&#110; &#109;&#97;&#107;&#101; multiple versions (scaling down) &#111;&#102; &#116;&#104;&#97;&#116; image &#102;&#111;&#114; &#121;&#111;&#117;. &#84;&#104;&#97;&#116;&#8217;s pretty &#99;&#111;&#111;&#108; &#97;&#110;&#100; powerful &#97;&#110;&#100; &#121;&#111;&#117; &#99;&#111;&#117;&#108;&#100;/&#115;&#104;&#111;&#117;&#108;&#100; take advantage &#111;&#102; &#116;&#104;&#97;&#116;. Keir Whitaker talks &#105;&#110; &#116;&#104;&#105;&#115; area using &#116;&#104;&#97;&#116; ability &#105;&#110; &#104;&#105;&#115; article <a href="http://viewportindustries.com/blog/automatic-responsive-images-&#105;&#110;-wordpress/">Automatic Responsive Metaphors &#105;&#110; WordPress</a>.</p>
<p>&#84;&#104;&#105;&#115; isn&#8217;t &#106;&#117;&#115;&#116; a WordPress thing though. I&#8217;m sure &#116;&#104;&#101; concepts &#97;&#116; work here &#99;&#111;&#117;&#108;&#100; &#98;&#101; done (&#111;&#114; &#109;&#97;&#100;&#101; &#116;&#111; &#98;&#101; done) &#105;&#110; &#97;&#110;&#121; Content Management System.</p>
<h3>&#67;&#97;&#110; I wait &#102;&#111;&#114; &#116;&#104;&#101; future?</h3>
<p>&#84;&#104;&#101; release &#111;&#102; &#116;&#104;&#101; &#8220;&#110;&#101;&#119; iPad&#8221; (&#116;&#104;&#101; third one, &#102;&#111;&#114; longevity) &#105;&#115; &#119;&#104;&#97;&#116; sparked a lot &#111;&#102; &#116;&#104;&#101;&#115;&#101; techniques &#97;&#110;&#100; conversations. &#73;&#116;&#115; high pixel density &#105;&#115; &#102;&#97;&#110;&#116;&#97;&#115;&#116;&#105;&#99; &#102;&#111;&#114; vectors &#97;&#110;&#100; &#104;&#117;&#103;&#101; photos, &#98;&#117;&#116; really &#110;&#111;&#116; &#102;&#97;&#110;&#116;&#97;&#115;&#116;&#105;&#99; &#102;&#111;&#114; things &#108;&#105;&#107;&#101; small icons &#116;&#104;&#97;&#116; need &#116;&#111; &#98;&#101; scaled up &#116;&#111; &#98;&#101; &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116; size &#97;&#110;&#100; &#99;&#97;&#110; &#98;&#101; blurry. &#66;&#117;&#116; serving higher pledge icons means &#108;&#97;&#114;&#103;&#101;&#114; file sizes &#97;&#110;&#100; slower websites. Hence, &#116;&#104;&#101; need &#116;&#111; &#111;&#110;&#108;&#121; serve &#116;&#104;&#101;&#109; &#105;&#110; situations/environments &#116;&#104;&#97;&#116; need &#116;&#104;&#101;&#109;. </p>
<p>&#84;&#104;&#101; world &#111;&#102; web standards &#105;&#115; aware &#111;&#102; &#116;&#104;&#105;&#115; problem. &#84;&#104;&#101;&#114;&#101; &#105;&#115; a <a href="http://www.w3.org/community/respimg/">whole group</a> dedicated &#116;&#111; talking &#105;&#110; &#116;&#104;&#105;&#115; area &#105;&#116;. &#73;&#110; time, &#116;&#104;&#101;&#121; &#109;&#97;&#121; decipher &#105;&#116; &#97;&#110;&#100; &#116;&#104;&#101;&#110; &#119;&#101; &#99;&#97;&#110; &#115;&#116;&#97;&#114;&#116; using &#110;&#111; matter &#119;&#104;&#97;&#116; way &#116;&#104;&#101;&#121; come up &#119;&#105;&#116;&#104; (high &#97;&#110;&#100; mighty &#105;&#116;&#115; awesome &#97;&#110;&#100; better &#116;&#104;&#97;&#110; &#119;&#104;&#97;&#116; &#119;&#101; &#104;&#97;&#118;&#101; now).</p>
<p>&#73;&#116; &#109;&#97;&#121; &#98;&#101; flipping out &#116;&#104;&#101; src &#111;&#102; metaphors <a href="http://nicolasgallagher.com/responsive-images-using-css3/">through CSS content</a> &#108;&#105;&#107;&#101; Nicolas Gallagher suggested. &#73;&#116; &#109;&#105;&#103;&#104;&#116; &#98;&#101; &#116;&#104;&#101; <code>picture</code> element. &#73;&#116; &#109;&#105;&#103;&#104;&#116; &#98;&#101; a <a href="http://robertnyman.com/2011/05/30/discussing-alternatives-&#102;&#111;&#114;-various-sizes-&#111;&#102;-&#116;&#104;&#101;-same-image-introducing-src-property-&#105;&#110;-css-&#97;&#115;-&#97;&#110;-option/">srclist attribute &#105;&#110; HTML &#111;&#114; src property &#105;&#110; CSS</a>. &#73;&#116; &#109;&#105;&#103;&#104;&#116; &#98;&#101; a <a href="http://blog.yoav.ws/2011/05/&#77;&#121;-take-&#111;&#110;-adaptive-images">prefix</a>.</p>
<p> </p>
<h3>More resources</h3>
<ul>
<li>Jason Grigsby &#104;&#97;&#115; &#97;&#110; epic three-&#112;&#97;&#114;&#116; &#114;&#117;&#110; &#111;&#110; responsive metaphors <a href="http://blog.cloudfour.com/responsive-imgs/">starting here</a>.</li>
<li>Christopher Schmitt&#8217;s <a href="http://www.slideshare.net/teleject/convergese-adaptiveimagesconverge-se">slides &#111;&#110; a whole talk</a> &#105;&#110; &#116;&#104;&#105;&#115; area responsive metaphors.</li>
<li>Mat Marquis &#111;&#110; <a href="http://www.alistapart.com/articles/responsive-images-&#104;&#111;&#119;-&#116;&#104;&#101;&#121;-&#97;&#108;&#109;&#111;&#115;&#116;-worked-&#97;&#110;&#100;-&#119;&#104;&#97;&#116;-&#119;&#101;-need/">Responsive Metaphors: &#72;&#111;&#119; &#116;&#104;&#101;&#121; Nearly Worked &#97;&#110;&#100; &#87;&#104;&#97;&#116; &#87;&#101; Need</a></li>
</ul>
<p>Article source: <a href="http://css-tricks.com/which-responsive-images-solution-should-you-use/">http://css-tricks.com/which-responsive-images-solution-should-you-use/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/which-responsive-images-solution-should-you-use-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ShopTalk Episode 18</title>
		<link>http://asterhost.info/shoptalk-episode-18-2/</link>
		<comments>http://asterhost.info/shoptalk-episode-18-2/#comments</comments>
		<pubDate>Tue, 22 May 2012 12:47:37 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/shoptalk-episode-18-2/</guid>
		<description><![CDATA[&#77;&#97;&#121; 15th, 2012Tweet Download MP3 &#84;&#104;&#105;&#115; week &#119;&#101; &#119;&#101;&#114;&#101; joined &#98;&#121; Gene Crawford, master &#111;&#102; &#116;&#104;&#101; South Carolinian Internet &#97;&#110;&#100; commander &#111;&#102; &#116;&#104;&#101; triforce &#116;&#104;&#97;&#116; &#105;&#115; Unmatched Style. Gene &#99;&#117;&#116; &#104;&#105;&#115; teeth doing client work &#102;&#111;&#114; many years &#97;&#110;&#100; now &#100;&#111;&#101;&#115; spectacular web conferences &#108;&#105;&#107;&#101; ConvergeSE. &#87;&#101; talk &#105;&#110; &#116;&#104;&#105;&#115; area (roughly &#105;&#110; order): Followup’n&#8217;Drama: [...]]]></description>
			<content:encoded><![CDATA[<article id="post-104" class="post-104 post type-post status-publish format-audio hentry category-podcast clearfix" role="article" itemscope="" itemtype="http://schema.org/BlogPosting" readability="64">
<p class="meta">&#77;&#97;&#121; 15th, 2012<a href="https://twitter.com/share" class="twitter-share-button" data-via="shoptalkshow">Tweet</a>
</p>
<p><audio controls="controls"><source src="https://s3.amazonaws.com/ShopTalk/018_with_gene_crawford.ogg" type="audio/ogg"/><source src="https://s3.amazonaws.com/ShopTalk/018_with_gene_crawford.mp3" type="audio/mpeg"/></audio><a href="https://s3.amazonaws.com/ShopTalk/018_with_gene_crawford.mp3">Download MP3</a></p>
<p>&#84;&#104;&#105;&#115; week &#119;&#101; &#119;&#101;&#114;&#101; joined &#98;&#121; Gene Crawford, master &#111;&#102; &#116;&#104;&#101; South Carolinian Internet &#97;&#110;&#100; commander &#111;&#102; &#116;&#104;&#101; triforce &#116;&#104;&#97;&#116; &#105;&#115; <a href="http://unmatchedstyle.com">Unmatched Style</a>. Gene &#99;&#117;&#116; &#104;&#105;&#115; teeth doing client work &#102;&#111;&#114; many years &#97;&#110;&#100; now &#100;&#111;&#101;&#115; spectacular web conferences &#108;&#105;&#107;&#101; <a href="http://convergese.com/">ConvergeSE</a>. &#87;&#101; talk &#105;&#110; &#116;&#104;&#105;&#115; area (roughly &#105;&#110; order):</p>
<p>Followup’n&#8217;Drama:</p>
<ul>
<li>Running &#105;&#115; &#101;&#120;&#99;&#101;&#108;&#108;&#101;&#110;&#116; &#102;&#111;&#114; &#121;&#111;&#117;&#114; back</li>
<li>Louis Lazaris &#111;&#110; <a href="http://www.impressivewebs.com/health-tips-&#102;&#111;&#114;-web-developers/">Health Tips &#102;&#111;&#114; Web Developers</a></li>
<li><a href="http://dev.opera.com/articles/view/opera-mobile-emulator-experimental-webkit-prefix-support/">Opera gets Webkitty</a></li>
<li>Vendor bang bang <a href="http://lists.w3.org/Archives/Public/www-style/2012May/0271.html">Vendor bang bang</a></li>
</ul>
<p>Q  A</p>
<ul>
<li>Hey &#102;&#97;&#110;&#116;&#97;&#115;&#116;&#105;&#99; job. &#66;&#117;&#116; &#119;&#104;&#97;&#116; &#105;&#102; &#119;&#101; used <a href="http://www.squarespace.com/">Squarespace</a> instead?</li>
<li>&#72;&#111;&#119; many years &#111;&#102; experience &#100;&#111; &#121;&#111;&#117; really &#104;&#97;&#118;&#101;?</li>
<li>&#72;&#111;&#119; &#97;&#114;&#101; &#119;&#101; handling metaphors &#102;&#111;&#114; &#116;&#104;&#101; “retina” &#115;&#104;&#111;&#119;?</li>
<li>&#68;&#111; &#119;&#101; &#115;&#116;&#97;&#114;&#116; &#116;&#104;&#101; design process &#119;&#105;&#116;&#104; actual pen &#97;&#110;&#100; paper? &#79;&#114; something &#108;&#105;&#107;&#101; <a href="http://www.balsamiq.com/">Balsamiq</a>. &#65;&#108;&#115;&#111;, <a href="http://styletil.es/">Styletil.es</a></li>
<li>&#87;&#104;&#101;&#114;&#101; &#100;&#111; &#121;&#111;&#117; add &#103;&#114;&#111;&#117;&#110;&#100;&#98;&#114;&#101;&#97;&#107;&#105;&#110;&#103; &#110;&#101;&#119; CSS styles &#105;&#110;&#116;&#111; &#97;&#110; existing project? &#72;&#111;&#119; &#100;&#111; &#121;&#111;&#117; stay methodical?</li>
<li>&#87;&#104;&#97;&#116; tools &#100;&#111; &#119;&#101; &#117;&#115;&#101; &#102;&#111;&#114; testing usability &#111;&#102; websites? Silverback.<br/><br />
Dave’s dog &#105;&#115; a menace.</li>
</ul>
<p>Sponsored &#98;&#121;</p>
<ul>
<li><a href="http://mijingo.com/">Mijingo</a> – Video Training &#97;&#110;&#100; Screencasts &#102;&#111;&#114; Web Designers  Developers</li>
</ul>
<p>Winners &#111;&#102; &#116;&#104;&#101; Responsive Web Design &#119;&#105;&#116;&#104; HTML5 &#97;&#110;&#100; CSS3 book</p>
<ul>
<li>Jeremy Worboys</li>
<li>Barry Maxwell</li>
<li>Kyle Gordy</li>
</ul>
<p>More Gene</p>
<ul>
<li><a href="https://twitter.com/#!/genecrawford">@genecrawford</a> / <a href="https://twitter.com/#!/unmatchedstyle">@unmatchedstyle </a></li>
<li><a href="http://crawfishstudios.com/">crawfishstudios.com</a></li>
<li><a href="http://period-three.com/">period-three.com</a></li>
<li><a href="http://unmatchedstyle.com">unmatchedstyle.com</a></li>
<li><a href="http://convergeSE.com">convergeSE.com</a></li>
</ul>
<footer class="post-footer" readability="-49">
<p>
        <br/><strong>Previous Episode:</strong> <a href="http://shoptalkshow.com/episodes/017-rapidfire-4/" rel="prev">017: RAPIDFIRE #4</a></p>
</footer>
</article>
<p>Article source: <a href="http://shoptalkshow.com/episodes/018-with-gene-crawford/">http://shoptalkshow.com/episodes/018-with-gene-crawford/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/shoptalk-episode-18-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Responsive Images and Web Standards at the Turning Point</title>
		<link>http://asterhost.info/responsive-images-and-web-standards-at-the-turning-point-2/</link>
		<comments>http://asterhost.info/responsive-images-and-web-standards-at-the-turning-point-2/#comments</comments>
		<pubDate>Tue, 22 May 2012 12:47:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/responsive-images-and-web-standards-at-the-turning-point-2/</guid>
		<description><![CDATA[&#84;&#104;&#101; goal &#111;&#102; a “responsive metaphors” solution &#105;&#115; &#116;&#111; deliver metaphors optimized &#102;&#111;&#114; &#116;&#104;&#101; &#101;&#110;&#100; user’s perspective, &#114;&#97;&#116;&#104;&#101;&#114; &#116;&#104;&#97;&#110; serving &#116;&#104;&#101; &#108;&#97;&#114;&#103;&#101;&#115;&#116; potentially &#110;&#101;&#99;&#101;&#115;&#115;&#97;&#114;&#121;&#32;image &#116;&#111; everyone. Unfortunately, &#116;&#104;&#105;&#115; hasn’t &#98;&#101;&#101;&#110; quite &#115;&#111; simple &#105;&#110; practice &#97;&#115; &#105;&#116; &#105;&#115; &#105;&#110; theory. Recently, &#97;&#108;&#108; &#111;&#102; &#116;&#104;&#101; ongoing conversation around responsive metaphors &#106;&#117;&#115;&#116; &#103;&#111;&#116; real: a solution &#105;&#115; [...]]]></description>
			<content:encoded><![CDATA[<p>&#84;&#104;&#101; goal &#111;&#102; a “responsive metaphors” solution &#105;&#115; &#116;&#111; deliver metaphors optimized &#102;&#111;&#114; &#116;&#104;&#101; &#101;&#110;&#100; user’s perspective, &#114;&#97;&#116;&#104;&#101;&#114; &#116;&#104;&#97;&#110; serving &#116;&#104;&#101; &#108;&#97;&#114;&#103;&#101;&#115;&#116; potentially &#110;&#101;&#99;&#101;&#115;&#115;&#97;&#114;&#121;&#32;image &#116;&#111; everyone. Unfortunately, &#116;&#104;&#105;&#115; hasn’t &#98;&#101;&#101;&#110; quite &#115;&#111; simple &#105;&#110; practice &#97;&#115; &#105;&#116; &#105;&#115; &#105;&#110; theory.</p>
<p>Recently, &#97;&#108;&#108; &#111;&#102; &#116;&#104;&#101; <a href="http://blog.cloudfour.com/?s=responsive+images">ongoing conversation</a> around responsive metaphors &#106;&#117;&#115;&#116; &#103;&#111;&#116; real: a solution &#105;&#115; currently being discussed &#119;&#105;&#116;&#104; &#116;&#104;&#101; WHATWG. &#65;&#110;&#100; &#119;&#101;’re &#105;&#110; &#116;&#104;&#101; thick &#111;&#102; &#105;&#116; now: &#119;&#101;’re throwing around references &#116;&#111; <code>picture</code> &#97;&#110;&#100; <code>img set</code>; &#109;&#97;&#107;&#105;&#110;&#103; vague references &#116;&#111; polyfills &#97;&#110;&#100; hinting &#97;&#116; “&#117;&#115;&#101; cases” &#97;&#115; though developers everywhere &#97;&#114;&#101; following &#101;&#118;&#101;&#114;&#121; missive &#111;&#110; &#116;&#104;&#101; topic. &#84;&#104;&#97;&#116;’s a lot &#116;&#111; parse through, especially &#105;&#102; &#121;&#111;&#117;’re &#111;&#110;&#108;&#121; tuning &#105;&#110; now—during &#116;&#104;&#101; final seconds &#111;&#102; &#116;&#104;&#101; game.</p>
<p>&#84;&#104;&#101; markup pattern &#116;&#104;&#97;&#116; gets selected stands &#116;&#111; &#104;&#97;&#118;&#101; a tremendous shape &#111;&#110; &#104;&#111;&#119; developers build websites &#105;&#110; &#116;&#104;&#101; future. &#78;&#111;&#116; &#106;&#117;&#115;&#116; responsive &#111;&#114; adaptive websites, &#101;&#105;&#116;&#104;&#101;&#114;. &#65;&#108;&#108; websites.</p>
<h2>&#87;&#104;&#97;&#116; a long, &#119;&#101;&#105;&#114;&#100;, etc.</h2>
<p>&#76;&#101;&#116;’s &#103;&#111; over &#116;&#104;&#101; path &#116;&#104;&#97;&#116; led &#117;&#115; here one more time, &#119;&#105;&#116;&#104; feeling:</p>
<p>&#84;&#104;&#101; earliest conversation &#111;&#102; responsive metaphors came &#105;&#110; &#116;&#104;&#105;&#115; area—predictably enough—framed &#105;&#110; &#116;&#104;&#101; perspective &#111;&#102; <a href="http://www.alistapart.com/articles/responsive-web-design/">responsive web design</a>. A full-blood loss image &#105;&#110; a flexible container requires &#97;&#110; image large enough &#116;&#111; cover &#116;&#104;&#101; widest possible &#115;&#104;&#111;&#119; size. &#65;&#110; image designed &#116;&#111; span a container two thousand pixels wide &#97;&#116; &#105;&#116;&#115; &#108;&#97;&#114;&#103;&#101;&#115;&#116; means serving &#97;&#110; image &#97;&#116; &#108;&#101;&#97;&#115;&#116; two thousand pixels wide. Scaling &#116;&#104;&#97;&#116; image down &#116;&#111; suit a smaller &#115;&#104;&#111;&#119; &#105;&#115; a negligible matter &#105;&#110; CSS, &#98;&#117;&#116; &#116;&#104;&#101; requested image size remains &#116;&#104;&#101; same—&#97;&#110;&#100; &#116;&#104;&#101; smaller &#116;&#104;&#101; screen, &#116;&#104;&#101; better &#116;&#104;&#101; chance &#116;&#104;&#97;&#116; bandwidth &#105;&#115; &#97;&#116; a premium.</p>
<p>&#73;&#116;&#8217;s clear &#116;&#104;&#97;&#116; developers’ best efforts &#116;&#111; mitigate &#116;&#104;&#101;&#115;&#101; wasteful requests &#119;&#101;&#114;&#101; &#97;&#108;&#108; doomed &#116;&#111; fall small—&#97;&#110;&#100; &#110;&#111;&#116; &#102;&#111;&#114; lack &#111;&#102; talent &#111;&#114; effort. &#83;&#111;&#109;&#101; &#111;&#102; &#116;&#104;&#101; utmost minds &#105;&#110; &#116;&#104;&#101; mobile web—&#97;&#110;&#100; web development &#105;&#110; general, really—&#104;&#97;&#100; come together &#105;&#110; &#97;&#110; effort &#116;&#111; decipher &#116;&#104;&#105;&#115; problem. I &#119;&#97;&#115; &#97;&#108;&#115;&#111; &#116;&#104;&#101;&#114;&#101;, &#102;&#111;&#114; &#115;&#111;&#109;&#101; reason. </p>
<p>I covered early efforts &#105;&#110; <a href="http://www.alistapart.com/articles/responsive-images-&#104;&#111;&#119;-&#116;&#104;&#101;&#121;-&#97;&#108;&#109;&#111;&#115;&#116;-worked-&#97;&#110;&#100;-&#119;&#104;&#97;&#116;-&#119;&#101;-need/">&#109;&#121; previous ALA article</a>, &#115;&#111; I’ll spare everyone &#116;&#104;&#101; gruesome details here. &#84;&#104;&#101; bottom line &#105;&#115; &#116;&#104;&#97;&#116; &#119;&#101; &#99;&#97;&#110;’t hack &#111;&#117;&#114; way out &#111;&#102; &#116;&#104;&#105;&#115; one. &#84;&#104;&#101; problem remains clear, though, &#97;&#110;&#100; &#105;&#116; desires &#116;&#111; &#98;&#101; solved—&#98;&#117;&#116; &#119;&#101; &#99;&#97;&#110;’t &#100;&#111; &#105;&#116; &#119;&#105;&#116;&#104; &#116;&#104;&#101; technologies &#97;&#116; &#111;&#117;&#114; disposal now. &#87;&#101; need something &#110;&#101;&#119;.</p>
<p>Those &#111;&#102; &#117;&#115; effective &#111;&#110; &#116;&#104;&#101; issue formed &#116;&#104;&#101; <a href="http://www.w3.org/community/respimg">Responsive Metaphors Community Group</a> (RICG) &#116;&#111; facilitate conversations &#119;&#105;&#116;&#104; standards bodies &#97;&#110;&#100; browser representatives. </p>
<blockquote readability="3"><p>“W3C &#104;&#97;&#115; produced Community Groups &#97;&#110;&#100; Business Groups &#115;&#111; &#116;&#104;&#97;&#116; developers, designers, &#97;&#110;&#100; anyone passionate &#105;&#110; &#116;&#104;&#105;&#115; area &#116;&#104;&#101; Web &#104;&#97;&#115; a house &#116;&#111; &#104;&#97;&#118;&#101; discussions &#97;&#110;&#100; circulate documents.”<br />
—<a href="http://www.w3.org/community/">http://www.w3.org/community/</a></p>
</blockquote>
<p>Unfortunately, &#119;&#101; &#119;&#101;&#114;&#101; laboring under &#116;&#104;&#101; depression &#116;&#104;&#97;&#116; Community Groups shared a deeper inherent connection &#119;&#105;&#116;&#104; &#116;&#104;&#101; standards bodies &#116;&#104;&#97;&#110; &#105;&#116; really &#100;&#111;&#101;&#115;. &#87;&#104;&#101;&#110; &#116;&#104;&#101; WHATWG proposed <a href="http://junkyard.damowmow.com/507">a solution</a> last week, many &#111;&#102; &#116;&#104;&#101; public involved &#105;&#110; &#116;&#104;&#97;&#116; conversation hadn’t participated &#105;&#110; &#116;&#104;&#101; RICG. &#73;&#110; fact, &#115;&#111;&#109;&#101; key &#99;&#104;&#111;&#105;&#99;&#101; makers hadn’t &#115;&#111; much &#97;&#115; heard &#111;&#102; &#105;&#116;.</p>
<h2>Proposed markup patterns</h2>
<p>&#84;&#104;&#101; <a href="http://junkyard.damowmow.com/507">pattern currently proposed &#98;&#121; &#116;&#104;&#101; WHATWG</a> &#105;&#115; a &#110;&#101;&#119; <code>set</code> attribute &#111;&#110; &#116;&#104;&#101; <code>img</code> element. &#65;&#115; best I &#99;&#97;&#110; &#116;&#101;&#108;&#108; &#102;&#114;&#111;&#109; <a href="http://junkyard.damowmow.com/507">&#116;&#104;&#101; description</a>, &#116;&#104;&#105;&#115; markup &#105;&#115; intended &#116;&#111; decipher two very specific issues: &#97;&#110; equivalent &#116;&#111; &#8216;min-width&#8217; media queries &#105;&#110; &#116;&#104;&#101; &#8217;600w 200h&#8217; &#112;&#97;&#114;&#116;&#115; &#111;&#102; &#116;&#104;&#101; string, &#97;&#110;&#100; pixel density &#105;&#110; &#116;&#104;&#101; &#8217;1x&#8217;/&#8217;2x&#8217; &#112;&#97;&#114;&#116;&#115; &#111;&#102; &#116;&#104;&#101; string.</p>
<p>&#84;&#104;&#101; proposed syntax &#105;&#115;:</p>
</p>
<pre><code>img src="face-600-200@1.jpg" alt=""
    set="face-600-200@1.jpg 600w 200h 1x,
         face-600-200@2.jpg 600w 200h 2x,
         face-icon.png      200w 200h"
</code></pre>
<p>I &#104;&#97;&#118;&#101; &#115;&#111;&#109;&#101; concerns around &#116;&#104;&#105;&#115; &#110;&#101;&#119; syntax, &#98;&#117;&#116; I’ll &#103;&#101;&#116; &#116;&#111; &#116;&#104;&#97;&#116; &#105;&#110; a bit.</p>
<p>&#84;&#104;&#101; markup pattern proposed earlier &#98;&#121; &#116;&#104;&#101; RICG (&#116;&#104;&#101; community group I&#8217;m &#112;&#97;&#114;&#116; &#111;&#102;) aims &#116;&#111; &#117;&#115;&#101; &#116;&#104;&#101; inherent flexibility &#111;&#102; <a href="http://www.w3.org/TR/css3-mediaqueries/">media queries</a> &#116;&#111; determine &#116;&#104;&#101; &#109;&#111;&#115;&#116; appropriate asset &#102;&#111;&#114; a user’s browsing perspective. &#73;&#116; &#97;&#108;&#115;&#111; uses behavior &#98;&#121; now specced &#102;&#111;&#114; &#117;&#115;&#101; &#111;&#110; &#116;&#104;&#101; <code><a href="http://www.w3.org/wiki/HTML/Elements/video">video</a></code> element—&#105;&#110; &#116;&#104;&#101; way &#111;&#102; <code>media</code> attributes—&#115;&#111; &#116;&#104;&#97;&#116; conditional loading &#111;&#102; media sources follows a predictable &#97;&#110;&#100; regular pattern.</p>
<p>&#84;&#104;&#97;&#116; markup &#105;&#115; &#97;&#115; follows:</p>
</p>
<pre><code>picture alt=""
   source src="mobile.jpg" /
   source src="large.jpg" media="min-width: 600px" /
   source src="large_1.5x-res.jpg" media="min-width: 600px, »
       min-device-pixel-ratio: 1.5" /
   img src="mobile.jpg" /
/picture
</code></pre>
<p>Via Github, &#116;&#104;&#105;&#115; pattern &#104;&#97;&#115; &#98;&#101;&#101;&#110; codified &#105;&#110; <a href="https://github.com/Wilto/respimg#adaptive-image-element">something &#97;&#115; close &#116;&#111; a spec</a> &#97;&#115; I &#99;&#111;&#117;&#108;&#100; manage, &#102;&#111;&#114; &#116;&#104;&#101; sake &#111;&#102; having &#97;&#108;&#108; &#116;&#104;&#101; key implementation details &#105;&#110; one house. </p>
<h2>Polyfills</h2>
<p>&#83;&#111; far, two polyfills exist &#116;&#111; bring &#116;&#104;&#101; RICG’s proposed <code>picture</code> functionality &#116;&#111; older browsers: Scott Jehl’s <a href="https://github.com/scottjehl/picturefill">Picturefill</a> &#97;&#110;&#100; Abban Dunne’s <a href="http://jquerypicture.com/">jQuery Picture</a>.</p>
<p>&#84;&#111; &#109;&#121; knowledge, &#116;&#104;&#101;&#114;&#101; &#97;&#114;&#101; currently &#110;&#111; polyfills &#102;&#111;&#114; &#116;&#104;&#101; WHATWG&#8217;s newly proposed <code>img set</code> pattern. &#73;&#116;’s worth noting &#116;&#104;&#97;&#116; a polyfill &#102;&#111;&#114; &#97;&#110;&#121; solution relying &#111;&#110; &#116;&#104;&#101; <code>img</code> tag &#119;&#105;&#108;&#108; &#108;&#105;&#107;&#101;&#108;&#121; suffer &#102;&#114;&#111;&#109; &#116;&#104;&#101; <a href="http://www.alistapart.com/articles/responsive-images-&#104;&#111;&#119;-&#116;&#104;&#101;&#121;-&#97;&#108;&#109;&#111;&#115;&#116;-worked-&#97;&#110;&#100;-&#119;&#104;&#97;&#116;-&#119;&#101;-need">same issues</a> &#119;&#101; encountered &#119;&#104;&#101;&#110; &#119;&#101; tried &#116;&#111; apply a custom ”responsive metaphors” solution &#105;&#110; &#116;&#104;&#101; past.</p>
<p>Opportunely, both patterns grant a reliable fallback &#105;&#102; &#116;&#104;&#101; &#110;&#101;&#119; functionality isn’t natively supported &#97;&#110;&#100; &#110;&#111; polyfill &#104;&#97;&#115; &#98;&#101;&#101;&#110; applied: <code>img set</code> using &#116;&#104;&#101; image’s original src, &#97;&#110;&#100; <code>picture</code> using &#116;&#104;&#101; same fallback pattern proven &#98;&#121; &#116;&#104;&#101; <code>video</code> tag. &#87;&#104;&#101;&#110; &#116;&#104;&#101; &#110;&#101;&#119; element <em>&#105;&#115;</em> recognized, &#116;&#104;&#101; fallback content provided within &#116;&#104;&#101; element &#105;&#115; ignored—&#102;&#111;&#114; example, a Flash-based video &#105;&#110; &#116;&#104;&#101; case &#111;&#102; &#116;&#104;&#101; <code>video</code> tag, &#97;&#110;&#100; &#97;&#110; <code>img</code> tag &#105;&#110; &#116;&#104;&#101; above <code>picture</code> example.</p>
<h2>Differing proposals</h2>
<p>Participants &#105;&#110; &#116;&#104;&#101; WHATWG &#104;&#97;&#118;&#101; stated &#111;&#110; &#116;&#104;&#101; <a href="http://lists.whatwg.org/htdig.cgi/whatwg-whatwg.org/2012-&#77;&#97;&#121;/035784.html">public mailing list</a> &#97;&#110;&#100; via &#116;&#104;&#101; <a href="http://krijnhoetmer.nl/irc-logs/whatwg/20120511#l-469">#WHATWG IRC channel &#116;&#104;&#97;&#116; browser representatives prefer &#116;&#104;&#101; <code>img set</code> pattern, &#119;&#104;&#105;&#99;&#104; &#105;&#115; &#97;&#110; vital significance during &#116;&#104;&#101;&#115;&#101; conversations. &#77;&#111;&#115;&#116; members &#111;&#102; &#116;&#104;&#101; WHATWG &#97;&#114;&#101; representatives &#111;&#102; major browsers, &#115;&#111; &#116;&#104;&#101;&#121; know &#116;&#104;&#101; browser side better &#116;&#104;&#97;&#110; anyone.</p>
<p>&#79;&#110; &#116;&#104;&#101; additional hand, &#116;&#104;&#101; web developer community &#104;&#97;&#115; <a href="http://www.w3.org/community/respimg/2012/05/11/respimg-proposal">strongly advocated</a> &#102;&#111;&#114; &#116;&#104;&#101; <code>picture</code> markup pattern. Many developers familiar &#119;&#105;&#116;&#104; &#116;&#104;&#105;&#115; subject &#104;&#97;&#118;&#101; stated—&#105;&#110; &#110;&#111; uncertain terms &#116;&#104;&#97;&#116; &#116;&#104;&#101; <code>img set</code> syntax &#105;&#115; &#97;&#116; best unfamiliar—&#97;&#110;&#100; &#97;&#116; &#119;&#111;&#114;&#115;&#116; completely &#110;&#111;&#116; legible. I &#99;&#97;&#110;’t recall seeing &#116;&#104;&#105;&#115; kind &#111;&#102; unity &#97;&#109;&#111;&#110;&#103; &#116;&#104;&#101; community around &#97;&#110;&#121; web standards conversation &#105;&#110; &#116;&#104;&#101; past—&#97;&#110;&#100; &#105;&#110; a conversation &#105;&#110; &#116;&#104;&#105;&#115; area markup semantics, &#110;&#111; less!</p>
<h2>&#87;&#101;’re &#111;&#110; &#116;&#104;&#101; same team</h2>
<p>&#87;&#104;&#105;&#108;&#101; &#116;&#104;&#101; WHATWG&#8217;s preferences, &#97;&#110;&#100; &#116;&#104;&#101; web developer community&#8217;s differing preferences, &#99;&#101;&#114;&#116;&#97;&#105;&#110;&#108;&#121; &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; considered &#97;&#115; &#119;&#101; finalize a standard solution &#116;&#111; &#116;&#104;&#101; problem &#111;&#102; responsive metaphors, &#111;&#117;&#114; highest priority &#109;&#117;&#115;&#116; remain providing a clear benefit &#116;&#111; &#111;&#117;&#114; users: &#116;&#104;&#101; desires &#111;&#102; &#116;&#104;&#101; user trump convenience &#102;&#111;&#114; web developers &#97;&#110;&#100; browser developers alike.</p>
<p>&#70;&#111;&#114; &#116;&#104;&#97;&#116; reason (&#102;&#111;&#114; &#116;&#104;&#101; sake &#111;&#102; those &#119;&#104;&#111; &#117;&#115;&#101; &#116;&#104;&#101; web), &#105;&#116;’s critical &#110;&#111;&#116; &#116;&#111; cast &#116;&#104;&#101;&#115;&#101; discussions &#97;&#115; “&#117;&#115; vs. &#116;&#104;&#101;&#109;.&#8221; Standards representatives, browser representatives, &#97;&#110;&#100; developers &#97;&#114;&#101; &#97;&#108;&#108; partners &#105;&#110; &#116;&#104;&#105;&#115; endeavor. &#87;&#101; &#97;&#108;&#108; serve a higher goal: &#116;&#111; &#109;&#97;&#107;&#101; &#116;&#104;&#101; web accessible, usable, &#97;&#110;&#100; delightful &#102;&#111;&#114; &#97;&#108;&#108;. &#78;&#111; matter &#119;&#104;&#97;&#116; &#116;&#104;&#101;&#105;&#114; stance &#111;&#110; <code>img set</code> &#111;&#114; <code>picture</code>, I’m &#99;&#101;&#114;&#116;&#97;&#105;&#110; everyone involved &#105;&#115; effective toward a common goal, &#97;&#110;&#100; &#119;&#101; &#97;&#108;&#108; agree &#116;&#104;&#97;&#116; a ”highest common denominator” &#97;&#112;&#112;&#114;&#111;&#97;&#99;&#104; &#105;&#115; indefensible. &#87;&#101; simply &#99;&#97;&#110;&#110;&#111;&#116; serve massive, high-pledge metaphors indiscriminately. &#84;&#104;&#101;&#105;&#114; potential cost &#116;&#111; &#111;&#117;&#114; users &#105;&#115; &#116;&#111;&#111; &#102;&#97;&#110;&#116;&#97;&#115;&#116;&#105;&#99;—especially considering &#116;&#104;&#101; tens &#111;&#102; thousands &#111;&#102; users &#105;&#110; developing countries &#119;&#104;&#111; pay &#102;&#111;&#114; &#101;&#118;&#101;&#114;&#121; additional kilobyte &#116;&#104;&#101;&#121; consume, &#98;&#117;&#116; &#119;&#105;&#108;&#108; see &#110;&#111; benefit &#116;&#111; &#116;&#104;&#101; &#104;&#117;&#103;&#101; file &#116;&#104;&#101;&#121;&#8217;ve downloaded. </p>
<p>&#84;&#104;&#97;&#116; &#115;&#97;&#105;&#100;, I &#104;&#97;&#118;&#101; &#115;&#111;&#109;&#101; major issues &#119;&#105;&#116;&#104; &#116;&#104;&#101; <code>img set</code> syntax, &#97;&#116; &#108;&#101;&#97;&#115;&#116; &#105;&#110; &#105;&#116;&#115; present incarnation:</p>
<h3>1. &#85;&#115;&#101; Cases</h3>
<p>&#85;&#115;&#101; cases &#97;&#114;&#101; a list &#111;&#102; potential applications &#102;&#111;&#114; &#116;&#104;&#101; markup patterns, &#116;&#104;&#101; problems &#116;&#104;&#97;&#116; &#116;&#104;&#101;&#121; stand &#116;&#111; decipher, &#97;&#110;&#100; &#116;&#104;&#101; benefits. </p>
<p>I’ve published a list &#111;&#102; <a href="http://wiki.whatwg.org/wiki/Adaptive_images">&#117;&#115;&#101; cases</a> &#102;&#111;&#114; &#116;&#104;&#101; <code>picture</code> element &#111;&#110; &#116;&#104;&#101; WHATWG wiki. &#73;&#116; &#105;&#115; &#98;&#121; &#110;&#111; means exhaustive, &#97;&#115; <code>picture</code> &#99;&#97;&#110; deliver &#97;&#110; image source based &#111;&#110; &#97;&#110;&#121; combination &#111;&#102; media queries. &#84;&#104;&#101; &#109;&#111;&#115;&#116; common &#117;&#115;&#101; cases &#97;&#114;&#101; screen size &#97;&#110;&#100; pledge, &#102;&#111;&#114; &#99;&#101;&#114;&#116;&#97;&#105;&#110;, &#98;&#117;&#116; &#105;&#116; &#99;&#111;&#117;&#108;&#100; extend &#97;&#115; far &#97;&#115; serving a layout-appropriate image source &#102;&#111;&#114; &#115;&#104;&#111;&#119; &#111;&#110; screen, &#98;&#117;&#116; a high-pledge version &#102;&#111;&#114; printing—&#97;&#108;&#108; &#111;&#110; &#116;&#104;&#101; same page, without &#97;&#110;&#121; additional scripting.</p>
<p>&#65;&#116; present, &#110;&#111; list &#111;&#102; &#117;&#115;&#101; cases &#104;&#97;&#115; &#98;&#101;&#101;&#110; published &#102;&#111;&#114; <code>img set</code>. &#87;&#101;’ve &#98;&#101;&#101;&#110; effective under &#116;&#104;&#101; assumption, based &#111;&#110; conversations &#111;&#110; &#116;&#104;&#101; WHATWG list &#97;&#110;&#100; &#105;&#110; &#116;&#104;&#101; WHATWG IRC channel, &#116;&#104;&#97;&#116; <code>img set</code> covers two uses specifically: serving high-pledge metaphors &#116;&#111; high-pledge screens, &#97;&#110;&#100; functionality similar &#116;&#111; <code>min-width</code> media queries &#105;&#110; &#116;&#104;&#101; way &#111;&#102; &#116;&#104;&#101; <code>600w</code> strings.</p>
<p>&#73;&#116;&#8217;s vital &#116;&#104;&#97;&#116; &#119;&#101; &#104;&#97;&#118;&#101; a way &#116;&#111; take advantage &#111;&#102; &#110;&#101;&#119; techniques &#102;&#111;&#114; detecting client-side capabilities &#97;&#115; &#116;&#104;&#101;&#121; become available &#116;&#111; &#117;&#115;, &#97;&#110;&#100; &#116;&#104;&#101; <code>picture</code> element gives &#117;&#115; a solid foundation &#116;&#111; build upon—&#97;&#115; media queries evolve over time, &#119;&#101; &#99;&#111;&#117;&#108;&#100; find ourselves &#119;&#105;&#116;&#104; countless ways &#116;&#111; tailor asset delivery.</p>
<p>&#87;&#101; &#109;&#97;&#121; &#104;&#97;&#118;&#101; &#116;&#104;&#97;&#116; same foundation &#105;&#110; &#116;&#104;&#101; <code>img</code> tag &#97;&#115; well, &#98;&#117;&#116; &#105;&#110; a inevitably fragmented way.</p>
<h3>2. Margin &#102;&#111;&#114; error</h3>
<p>I don’t mind saying &#116;&#104;&#97;&#116; &#116;&#104;&#101; <code>img set</code> markup &#105;&#115; inscrutable. &#73;&#116;’s a markup pattern unlike anything seen before &#105;&#110; &#101;&#105;&#116;&#104;&#101;&#114; HTML &#111;&#114; CSS. &#84;&#104;&#105;&#115; goes well beyond instigator preference. &#65;&#110; unfamiliar syntax &#119;&#105;&#108;&#108; inevitably lead &#116;&#111; authorship errors, &#105;&#110; &#119;&#104;&#105;&#99;&#104; &#111;&#117;&#114; &#101;&#110;&#100; users &#119;&#105;&#108;&#108; &#98;&#101; &#116;&#104;&#101; losers.</p>
<p>&#65;&#115; I &#115;&#97;&#105;&#100; &#111;&#110; &#116;&#104;&#101; WHATWG mailing list, though, given a completely foreign &#97;&#110;&#100; somewhat puzzling &#110;&#101;&#119; syntax, I &#114;&#101;&#99;&#107;&#111;&#110; &#105;&#116;’s far more &#108;&#105;&#107;&#101;&#108;&#121; &#119;&#101;’ll see &#116;&#104;&#101; following:</p>
</p>
<pre>
<code>
img src="face-600-200@1.jpeg" alt=""
       set="face-600-200@1.jpeg 600w 1x,
           face-600-200@2.jpeg  600w 2x,
           face-icon.png        200w"
</code></pre>
<p>Become:</p>
</p>
<pre><code>
img src="face-600-200@1.jpeg" alt=""
      set="face-600-200@1.jpeg 600 1x,
           face-600-200@2.jpeg 600 2x,
           face-icon.png       200"
</code></pre>
<p>&#79;&#114;:</p>
</p>
<pre><code>
img src="face-600-200@1.jpeg" alt=""
      set="face-600-200@1.jpeg, 600w 1x
           face-600-200@2.jpeg  600w 2x,
           face-icon.png        200w"
</code></pre>
<p>Regardless &#111;&#102; &#104;&#111;&#119; gracefully &#116;&#104;&#101;&#115;&#101; errors &#115;&#104;&#111;&#117;&#108;&#100; fail, I’m confident &#116;&#104;&#105;&#115; &#105;&#115; a “spot &#116;&#104;&#101; differences” game very few developers &#119;&#105;&#108;&#108; &#98;&#101; excited &#116;&#111; play.</p>
<p>I don’t claim &#116;&#111; &#98;&#101; &#97;&#110;&#121; smarter &#116;&#104;&#97;&#110; &#116;&#104;&#101; average developer, &#98;&#117;&#116; I &#97;&#109; speaking &#97;&#115; a core contributor &#116;&#111; jQuery movable &#97;&#110;&#100; &#102;&#114;&#111;&#109; &#109;&#121; experiences effective &#111;&#110; &#116;&#104;&#101; responsive BostonGlobe.com site: tailoring assets &#102;&#111;&#114; client capabilities &#105;&#115; kind &#111;&#102; &#109;&#121; thing. &#84;&#111; &#98;&#101; &#112;&#101;&#114;&#102;&#101;&#99;&#116;&#108;&#121; &#104;&#111;&#110;&#101;&#115;&#116;, I still don’t know <a href="http://junkyard.damowmow.com/507">&#116;&#104;&#101; proposed behavior</a> fully.</p>
<p>I &#119;&#111;&#117;&#108;&#100; &#100;&#101;&#115;&#112;&#105;&#115;&#101; &#116;&#111; &#114;&#101;&#99;&#107;&#111;&#110; &#116;&#104;&#97;&#116; &#119;&#101; &#99;&#111;&#117;&#108;&#100; &#98;&#101; paving &#116;&#104;&#101; way &#102;&#111;&#114; countless errors &#106;&#117;&#115;&#116; &#98;&#101;&#99;&#97;&#117;&#115;&#101; <code>img set</code> &#105;&#115; simpler &#116;&#111; apply &#105;&#110; browsers. Implementation &#111;&#110; &#116;&#104;&#101; browser side takes house once; authoring &#119;&#105;&#108;&#108; take house thousands &#111;&#102; times. &#65;&#110;&#100; according &#116;&#111; &#116;&#104;&#101; <a href="http://adactio.com/articles/1704/">design principles &#111;&#102; HTML5</a> itself, instigator desires &#109;&#117;&#115;&#116; take precedence over browser maker desires. &#78;&#111;&#116; &#116;&#111; mention those additional HTML5 design principles: decipher real problems, pave &#116;&#104;&#101; cowpaths, support existing content, &#97;&#110;&#100; avoid needless complexity.</p>
<h2>Avoid needless complexity</h2>
<p>Authors &#115;&#104;&#111;&#117;&#108;&#100; &#110;&#111;&#116; &#98;&#101; burdened &#119;&#105;&#116;&#104; additional complexity. &#73;&#102; implemented, <code>img set</code> stands &#116;&#111; introduce countless points &#111;&#102; failure—&#97;&#110;&#100;, &#97;&#116; &#119;&#111;&#114;&#115;&#116;, something &#115;&#111; &#110;&#111;&#116; legible &#116;&#104;&#97;&#116; authors &#119;&#105;&#108;&#108; simply avoid &#105;&#116;.</p>
<p>I’m sure &#110;&#111; one &#105;&#115; going &#116;&#111; defend &#116;&#111; &#116;&#104;&#101; death &#116;&#104;&#101; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#116;&#104;&#97;&#116; &#116;&#104;&#101; <code>video</code> &#97;&#110;&#100; <code>audio</code> tags &#97;&#114;&#101; paragons &#111;&#102; efficient markup, &#98;&#117;&#116; &#116;&#104;&#101;&#121; <em>work</em>. &#70;&#111;&#114; better &#111;&#114; worse: &#116;&#104;&#101; precedents &#116;&#104;&#101;&#121;’ve set &#97;&#114;&#101; here &#116;&#111; stay. <em>Pave &#116;&#104;&#101; cowpaths.</em> &#84;&#104;&#105;&#115; &#105;&#115; &#104;&#111;&#119; HTML5 handles rich media &#119;&#105;&#116;&#104; conditional sources, &#97;&#110;&#100; authors &#97;&#114;&#101; &#98;&#121; now familiar &#119;&#105;&#116;&#104; &#116;&#104;&#101;&#115;&#101; markup patterns. &#84;&#104;&#101; potential costs &#111;&#102; deviation far outweigh &#116;&#104;&#101; immediate benefit &#116;&#111; implementors.</p>
<p>&#65;&#110;&#121; improvements &#116;&#111; client-side asset delivery &#115;&#104;&#111;&#117;&#108;&#100; apply universally. &#66;&#121; introducing a completely disparate system &#116;&#111; determine &#119;&#104;&#105;&#99;&#104; assets &#115;&#104;&#111;&#117;&#108;&#100; &#98;&#101; delivered &#116;&#111; &#116;&#104;&#101; client, improvements &#109;&#97;&#121; well &#104;&#97;&#118;&#101; &#116;&#111; &#98;&#101; &#109;&#97;&#100;&#101; twice &#116;&#111; suit two systems: once &#116;&#111; suit &#116;&#104;&#101; familiar <code>media</code> attribute used &#98;&#121; <code>video</code> tags, &#97;&#110;&#100; once &#116;&#111; suit &#116;&#104;&#101; <code>img</code> tag lonely. &#84;&#104;&#105;&#115; &#99;&#111;&#117;&#108;&#100; leave implementors maintaining two codebases &#116;&#104;&#97;&#116; effectively serve &#116;&#104;&#101; same purpose, &#119;&#104;&#105;&#108;&#101; authors learn two different methods &#102;&#111;&#114; &#101;&#118;&#101;&#114;&#121; advancement &#109;&#97;&#100;&#101;. &#84;&#104;&#97;&#116; sounds &#108;&#105;&#107;&#101; &#116;&#104;&#101; world <em>before</em> web standards, &#110;&#111;&#116; &#116;&#104;&#101; &#110;&#101;&#119;, rational world standards &#97;&#114;&#101; supposed &#116;&#111; support.</p>
<h2>&#84;&#104;&#101; rationale &#116;&#104;&#97;&#116; dare &#110;&#111;&#116; speak &#105;&#116;&#115; name</h2>
<p>&#73;&#116;’s hard &#116;&#111; imagine &#119;&#104;&#121; &#116;&#104;&#101;&#114;&#101;’s &#98;&#101;&#101;&#110; such a vehement defense &#111;&#102; &#116;&#104;&#101; <code>img set</code> markup. &#84;&#104;&#101; <code>picture</code> element provides a wider number &#111;&#102; potential &#117;&#115;&#101; cases, &#104;&#97;&#115; two functional polyfills today (&#119;&#104;&#105;&#108;&#101; &#97;&#110; efficient polyfill <a href="https://gist.github.com/2701939">&#109;&#97;&#121; &#110;&#111;&#116; even &#98;&#101; possible</a> &#119;&#105;&#116;&#104; &#116;&#104;&#101; <code>img set</code> pattern), &#97;&#110;&#100; &#104;&#97;&#115; seen &#97;&#110; unprecedented level &#111;&#102; support &#102;&#114;&#111;&#109; &#116;&#104;&#101; developer community.</p>
<p><code>img set</code> &#105;&#115; &#116;&#104;&#101; pattern ideal &#98;&#121; implementors &#111;&#110; &#116;&#104;&#101; browser side, &#97;&#110;&#100; &#119;&#104;&#105;&#108;&#101; &#116;&#104;&#97;&#116; &#105;&#115; &#99;&#101;&#114;&#116;&#97;&#105;&#110;&#108;&#121; a key factor, &#105;&#116; doesn’t justify a deficient solution. &#77;&#121; interest &#105;&#115; &#116;&#104;&#97;&#116; &#116;&#104;&#101; unspoken line &#111;&#102; reasoning hostile &#116;&#111; <code>picture</code> &#111;&#110; &#116;&#104;&#101; WHATWG mailing list &#104;&#97;&#115; &#98;&#101;&#101;&#110; &#116;&#104;&#97;&#116; &#105;&#116; <a href="http://en.wikipedia.org/wiki/Not_invented_here">wasn’t invented &#116;&#104;&#101;&#114;&#101;</a>. &#77;&#121; <em>&#100;&#114;&#101;&#97;&#100;</em> &#105;&#115; &#116;&#104;&#97;&#116; &#116;&#104;&#101; consequences &#111;&#102; &#116;&#104;&#97;&#116; entrenched philosophy &#109;&#97;&#121; fall &#116;&#111; &#111;&#117;&#114; users. &#73;&#116; &#105;&#115; &#116;&#104;&#101;&#121; &#119;&#104;&#111; &#119;&#105;&#108;&#108; suffer &#119;&#104;&#101;&#110; &#111;&#117;&#114; sites fail (&#111;&#114; &#119;&#104;&#101;&#110; developers, unable &#116;&#111; know &#116;&#104;&#101; WHATWG&#8217;s challenging syntax, simply &#98;&#114;&#101;&#97;&#107; down &#97;&#108;&#108; users &#116;&#111; download &#104;&#117;&#103;&#101; image files).</p>
<h3>&#87;&#101; &#116;&#104;&#101; public &#119;&#104;&#111; &#109;&#97;&#107;&#101; websites</h3>
<p>I’ll &#98;&#101; &#104;&#111;&#110;&#101;&#115;&#116;: &#102;&#111;&#114; &#109;&#101;, &#110;&#111; small &#112;&#97;&#114;&#116; &#111;&#102; &#116;&#104;&#105;&#115; &#105;&#115; &#105;&#110; &#116;&#104;&#105;&#115; area ensuring &#116;&#104;&#97;&#116; &#119;&#101; designers &#97;&#110;&#100; developers &#104;&#97;&#118;&#101; a voice &#105;&#110; &#116;&#104;&#101; standards process. &#84;&#104;&#101; work &#116;&#104;&#97;&#116; &#116;&#104;&#101; developer community &#104;&#97;&#115; &#112;&#108;&#97;&#99;&#101; &#105;&#110;&#116;&#111; &#116;&#104;&#101;  <code>picture</code> element solution &#105;&#115; unprecedented, &#97;&#110;&#100; I &#99;&#97;&#110; &#111;&#110;&#108;&#121; hope &#116;&#104;&#97;&#116; &#105;&#116; &#109;&#97;&#114;&#107;&#115; &#116;&#104;&#101; &#115;&#116;&#97;&#114;&#116; &#111;&#102; a long &#97;&#110;&#100; mutually beneficial relationship between &#119;&#101; authors &#97;&#110;&#100; &#116;&#104;&#101; standards bodies—tumultuous though &#116;&#104;&#97;&#116; &#115;&#116;&#97;&#114;&#116; &#109;&#97;&#121; &#98;&#101;.</p>
<p>&#73;&#102; &#121;&#111;&#117; feel strongly &#105;&#110; &#116;&#104;&#105;&#115; area &#116;&#104;&#105;&#115; topic, I encourage &#97;&#108;&#108; designers &#97;&#110;&#100; developers &#116;&#111; <a href="http://www.whatwg.org/mailing-list#standards">join &#116;&#104;&#101; WHATWG mailing list</a> &#97;&#110;&#100; IRC channel &#116;&#111; participate &#105;&#110; &#116;&#104;&#101; ongoing conversation.</p>
<p>&#87;&#101; developers &#115;&#104;&#111;&#117;&#108;&#100;—&#97;&#110;&#100; &#99;&#97;&#110;—&#98;&#101; partners &#105;&#110; &#116;&#104;&#101; creation &#111;&#102; &#110;&#101;&#119; standards. Lend &#121;&#111;&#117;&#114; voices &#116;&#111; &#116;&#104;&#105;&#115; conversation, &#97;&#110;&#100; &#116;&#111; others &#108;&#105;&#107;&#101; &#105;&#116; &#105;&#110; &#116;&#104;&#101; future. &#84;&#104;&#101; web &#119;&#105;&#108;&#108; &#98;&#101; better &#102;&#111;&#114; &#105;&#116;.</p>
<p>Article source: <a href="http://www.alistapart.com/articles/responsive-images-and-web-standards-at-the-turning-point/">http://www.alistapart.com/articles/responsive-images-and-web-standards-at-the-turning-point/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/responsive-images-and-web-standards-at-the-turning-point-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SASS vs. LESS</title>
		<link>http://asterhost.info/sass-vs-less-2/</link>
		<comments>http://asterhost.info/sass-vs-less-2/#comments</comments>
		<pubDate>Tue, 22 May 2012 12:47:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design Tips]]></category>

		<guid isPermaLink="false">http://asterhost.info/sass-vs-less-2/</guid>
		<description><![CDATA[&#8220;&#87;&#104;&#105;&#99;&#104; CSS preprocessor language &#115;&#104;&#111;&#117;&#108;&#100; I &#99;&#104;&#111;&#111;&#115;&#101;?&#8221; &#105;&#115; a hot topic lately. I&#8217;ve &#98;&#101;&#101;&#110; &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#101;&#100; &#105;&#110; person several times &#97;&#110;&#100; &#97;&#110; online debate &#104;&#97;&#115; &#98;&#101;&#101;&#110; popping up &#101;&#118;&#101;&#114;&#121; few days &#105;&#116; seems. &#73;&#116;&#8217;s nice &#116;&#104;&#97;&#116; &#116;&#104;&#101; conversation &#104;&#97;&#115; fundamentally turned &#102;&#114;&#111;&#109; whether &#111;&#114; &#110;&#111;&#116; preprocessing &#105;&#115; a &#101;&#120;&#99;&#101;&#108;&#108;&#101;&#110;&#116; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#116;&#111; &#119;&#104;&#105;&#99;&#104; one language &#105;&#115; best. [...]]]></description>
			<content:encoded><![CDATA[<p><em>&#8220;&#87;&#104;&#105;&#99;&#104; CSS preprocessor language &#115;&#104;&#111;&#117;&#108;&#100; I &#99;&#104;&#111;&#111;&#115;&#101;?&#8221;</em> &#105;&#115; a hot topic lately. I&#8217;ve &#98;&#101;&#101;&#110; &#113;&#117;&#101;&#115;&#116;&#105;&#111;&#110;&#101;&#100; &#105;&#110; person several times &#97;&#110;&#100; &#97;&#110; online debate &#104;&#97;&#115; &#98;&#101;&#101;&#110; popping up &#101;&#118;&#101;&#114;&#121; few days &#105;&#116; seems. &#73;&#116;&#8217;s nice &#116;&#104;&#97;&#116; &#116;&#104;&#101; conversation &#104;&#97;&#115; fundamentally turned &#102;&#114;&#111;&#109; whether &#111;&#114; &#110;&#111;&#116; preprocessing &#105;&#115; a &#101;&#120;&#99;&#101;&#108;&#108;&#101;&#110;&#116; &#116;&#104;&#111;&#117;&#103;&#104;&#116; &#116;&#111; &#119;&#104;&#105;&#99;&#104; one language &#105;&#115; best. &#76;&#101;&#116;&#8217;s &#100;&#111; &#116;&#104;&#105;&#115; thing.</p>
<p>Really small &#97;&#110;&#115;&#119;&#101;&#114;: SASS</p>
<p>Slightly longer &#97;&#110;&#115;&#119;&#101;&#114;: SASS &#105;&#115; better &#111;&#110; a whole bunch &#111;&#102; different fronts, &#98;&#117;&#116; &#105;&#102; &#121;&#111;&#117; &#97;&#114;&#101; &#98;&#121; now &#112;&#108;&#101;&#97;&#115;&#101;&#100; &#105;&#110; LESS, &#116;&#104;&#97;&#116;&#8217;s &#99;&#111;&#111;&#108;, &#97;&#116; &#108;&#101;&#97;&#115;&#116; &#121;&#111;&#117; &#97;&#114;&#101; doing yourself a favor &#98;&#121; preprocessing.</p>
<p>Much longer &#97;&#110;&#115;&#119;&#101;&#114;: Read &#111;&#110;.</p>
<p>&nbsp;</p>
<h3>&#84;&#104;&#101; Much Longer &#65;&#110;&#115;&#119;&#101;&#114;</h3>
<h4>&#84;&#104;&#101; Learning Curve &#119;&#105;&#116;&#104; Ruby &#97;&#110;&#100; Command Line &#97;&#110;&#100; &#78;&#111; matter &#119;&#104;&#97;&#116;</h4>
<p>&#84;&#104;&#101; &#111;&#110;&#108;&#121; learning curve &#105;&#115; &#116;&#104;&#101; syntax. &#89;&#111;&#117; &#115;&#104;&#111;&#117;&#108;&#100; &#117;&#115;&#101; &#97;&#110; app &#108;&#105;&#107;&#101; <a href="http://incident57.com/codekit/">CodeKit</a> &#116;&#111; mind &#97;&#110;&#100; compile &#121;&#111;&#117;&#114; authored files. &#89;&#111;&#117; need &#116;&#111; know jack squat &#105;&#110; &#116;&#104;&#105;&#115; area Ruby &#111;&#114; &#116;&#104;&#101; Command Line &#111;&#114; &#110;&#111; matter &#119;&#104;&#97;&#116; &#101;&#108;&#115;&#101;. Maybe &#121;&#111;&#117; &#115;&#104;&#111;&#117;&#108;&#100;, &#98;&#117;&#116; &#121;&#111;&#117; don&#8217;t &#104;&#97;&#118;&#101; &#116;&#111;, &#115;&#111; &#105;&#116;&#8217;s &#110;&#111;&#116; a factor here.</p>
<p>Winner: Nobody</p>
<h4>Helping &#119;&#105;&#116;&#104; CSS3</h4>
<p>&#87;&#105;&#116;&#104; &#101;&#105;&#116;&#104;&#101;&#114; language, &#121;&#111;&#117; &#99;&#97;&#110; write &#121;&#111;&#117;&#114; &#111;&#119;&#110; mixins &#116;&#111; &#104;&#101;&#108;&#112; &#119;&#105;&#116;&#104; vendor prefixes. &#78;&#111; winner &#116;&#104;&#101;&#114;&#101;. &#66;&#117;&#116; &#121;&#111;&#117; know &#104;&#111;&#119; &#121;&#111;&#117; don&#8217;t &#103;&#111; back &#97;&#110;&#100; update &#116;&#104;&#101; prefixes &#121;&#111;&#117; &#117;&#115;&#101; &#111;&#110; &#97;&#108;&#108; &#121;&#111;&#117;&#114; projects? (&#89;&#111;&#117; don&#8217;t.) &#89;&#111;&#117; &#97;&#108;&#115;&#111; won&#8217;t update &#121;&#111;&#117;&#114; handcrafted mixins file. (Probably.) &#73;&#110; SASS &#121;&#111;&#117; &#99;&#97;&#110; &#117;&#115;&#101; <a href="http://compass-style.org/">Compass</a>, &#97;&#110;&#100; Compass <strong>&#119;&#105;&#108;&#108;</strong> keep itself updated, &#97;&#110;&#100; thus &#116;&#104;&#101; prefix situation &#105;&#115; handled &#102;&#111;&#114; &#121;&#111;&#117;. Yes &#121;&#111;&#117;&#8217;ll &#104;&#97;&#118;&#101; &#116;&#111; keep &#121;&#111;&#117;&#114; local preprocessor software updated &#97;&#110;&#100; compile/push once &#105;&#110; a &#119;&#104;&#105;&#108;&#101;, &#98;&#117;&#116; &#116;&#104;&#97;&#116;&#8217;s negligible &#97;&#110;&#100; thinking-free.</p>
<p>&#83;&#111; &#119;&#104;&#97;&#116; &#116;&#104;&#105;&#115; comes down &#116;&#111; &#105;&#115;: <strong>SASS &#104;&#97;&#115; Compass &#97;&#110;&#100; LESS &#100;&#111;&#101;&#115; &#110;&#111;&#116;.</strong> &#66;&#117;&#116; &#105;&#116; goes deeper &#116;&#104;&#97;&#110; &#116;&#104;&#97;&#116;. &#84;&#104;&#101; attempts &#97;&#116; &#109;&#97;&#107;&#105;&#110;&#103; a real robust project &#108;&#105;&#107;&#101; Compass &#102;&#111;&#114; LESS haven&#8217;t succeeded &#98;&#101;&#99;&#97;&#117;&#115;&#101; &#116;&#104;&#101; LESS language isn&#8217;t robust enough &#116;&#111; &#100;&#111; &#105;&#116; properly. More &#111;&#110; &#116;&#104;&#97;&#116; next.</p>
<p>Winner: SASS</p>
<h4>Language Ability: Logic / Loops</h4>
<p>LESS &#104;&#97;&#115; &#97;&#110; ability &#116;&#111; &#100;&#111; &#8220;guarded mixins.&#8221; &#84;&#104;&#101;&#115;&#101; &#97;&#114;&#101; mixins &#116;&#104;&#97;&#116; &#111;&#110;&#108;&#121; take affect <code>&#119;&#104;&#101;&#110;</code> a &#99;&#101;&#114;&#116;&#97;&#105;&#110; condition &#105;&#115; &#114;&#105;&#103;&#104;&#116;. Perhaps &#121;&#111;&#117; want &#116;&#111; set a background affect based &#111;&#110; &#116;&#104;&#101; current text affect &#105;&#110; a module. &#73;&#102; &#116;&#104;&#101; text affect &#105;&#115; &#8220;pretty light&#8221; &#121;&#111;&#117;&#8217;ll probably want a &#100;&#97;&#114;&#107; background. &#73;&#102; &#105;&#116;&#8217;s &#8220;pretty &#100;&#97;&#114;&#107;&#8221; &#121;&#111;&#117;&#8217;ll want a light background. &#83;&#111; &#121;&#111;&#117; &#104;&#97;&#118;&#101; a single mixin &#98;&#114;&#111;&#107;&#101; &#105;&#110;&#116;&#111; two &#112;&#97;&#114;&#116;&#115; &#119;&#105;&#116;&#104; &#116;&#104;&#101;&#115;&#101; guards &#116;&#104;&#97;&#116; ensure &#116;&#104;&#97;&#116; &#111;&#110;&#108;&#121; one &#111;&#102; &#116;&#104;&#101;&#109; takes effect.</p>
<blockquote>
<pre><code>.set-bg-affect (@text-affect) &#119;&#104;&#101;&#110; (lightness(@text-affect) = 50%) {
background: black; } .set-bg-affect (@text-affect) &#119;&#104;&#101;&#110; (lightness(@text-affect) 50%) { background: }</code></pre>
</blockquote>
<p>&#83;&#111; &#116;&#104;&#101;&#110; &#119;&#104;&#101;&#110; &#121;&#111;&#117; &#117;&#115;&#101; &#105;&#116;, &#121;&#111;&#117;&#8217;ll &#103;&#101;&#116; &#116;&#104;&#101; &#114;&#105;&#103;&#104;&#116; background:</p>
<blockquote>
<pre><code>.box-1 { affect: .set-bg-affect(#BADA55); }</code></pre>
</blockquote>
<p>&#84;&#104;&#97;&#116; &#105;&#115; overly simplified, &#98;&#117;&#116; &#121;&#111;&#117; &#108;&#105;&#107;&#101;&#108;&#121; &#103;&#101;&#116; &#116;&#104;&#101; &#116;&#104;&#111;&#117;&#103;&#104;&#116;. &#89;&#111;&#117; &#99;&#97;&#110; &#100;&#111; &#115;&#111;&#109;&#101; fancy stuff &#119;&#105;&#116;&#104; &#105;&#116;. LESS &#99;&#97;&#110; &#97;&#108;&#115;&#111; &#100;&#111; self-referencing recursion &#119;&#104;&#101;&#114;&#101; a mixin &#99;&#97;&#110; call itself &#119;&#105;&#116;&#104; &#97;&#110; updated value &#109;&#97;&#107;&#105;&#110;&#103; a loop.</p>
<blockquote>
<pre><code>.loop (@index) &#119;&#104;&#101;&#110; (@index 0) {
.myclass { z-index: @index; } // Call itself
.loopingClass(@index - 1); } // &#83;&#116;&#111;&#112; loop
.loopingClass (0) {} // Outputs stuff .loopingClass (10);</code></pre>
</blockquote>
<p>&#66;&#117;&#116; thats &#119;&#104;&#101;&#114;&#101; &#116;&#104;&#101; logic/looping abilities &#111;&#102; LESS &#101;&#110;&#100;. SASS &#104;&#97;&#115; actual logical &#97;&#110;&#100; looping operators &#105;&#110; &#116;&#104;&#101; language. &#105;&#102;/&#116;&#104;&#101;&#110;/&#101;&#108;&#115;&#101; statements, &#102;&#111;&#114; loops, &#119;&#104;&#105;&#108;&#101; loops, &#97;&#110;&#100; each loops. &#78;&#111; tricks, &#106;&#117;&#115;&#116; proper programming. &#87;&#104;&#105;&#108;&#101; guarded mixins &#97;&#114;&#101; a pretty &#99;&#111;&#111;&#108;, natural concept, language robustness goes &#116;&#111; SASS. &#84;&#104;&#105;&#115; language robustness &#105;&#115; &#119;&#104;&#97;&#116; &#109;&#97;&#107;&#101;&#115; Compass possible.</p>
<p>&#70;&#111;&#114; example, Compass &#104;&#97;&#115; a mixin called <code>background</code>. &#73;&#116;&#8217;s &#115;&#111; robust, &#116;&#104;&#97;&#116; &#121;&#111;&#117; &#99;&#97;&#110; pass &#106;&#117;&#115;&#116; &#105;&#110; &#116;&#104;&#105;&#115; area &#110;&#111; matter &#119;&#104;&#97;&#116; &#121;&#111;&#117; want &#116;&#111; &#116;&#104;&#97;&#116; thing &#116;&#104;&#97;&#116; &#105;&#116; &#119;&#105;&#108;&#108; output &#119;&#104;&#97;&#116; &#121;&#111;&#117; need. Metaphors, gradients, &#97;&#110;&#100; &#97;&#110;&#121; combination &#111;&#102; &#116;&#104;&#101;&#109; comma-separated, &#97;&#110;&#100; &#121;&#111;&#117;&#8217;ll &#103;&#101;&#116; &#119;&#104;&#97;&#116; &#121;&#111;&#117; need (vendor prefixes &#97;&#110;&#100; &#97;&#108;&#108;).</p>
<p>&#84;&#104;&#105;&#115; succinct &#97;&#110;&#100; intelligible code:</p>
<blockquote>
<pre><code>.bam { @include background( image-url("foo.png"),
linear-gradient(top left, #333, #0c0), radial-gradient(#c00, #fff 100px) ); }</code></pre>
</blockquote>
<p>Turns &#105;&#110;&#116;&#111; &#116;&#104;&#105;&#115; monster (&#119;&#104;&#105;&#99;&#104; &#105;&#115; unfortunately &#119;&#104;&#97;&#116; &#119;&#101; need &#102;&#111;&#114; &#105;&#116; &#116;&#111; work &#119;&#105;&#116;&#104; &#97;&#115; &#101;&#120;&#99;&#101;&#108;&#108;&#101;&#110;&#116; &#111;&#102; browser support &#97;&#115; &#119;&#101; &#99;&#97;&#110; &#103;&#101;&#116;):</p>
<blockquote>
<pre><code>.bam { background: url('/foo.png'),
-webkit-gradient(linear, 0% 0%, 100% 100%, affect-&#115;&#116;&#111;&#112;(0%, #333333),
affect-&#115;&#116;&#111;&#112;(100%, #00cc00)),
-webkit-gradient(radial, 50% 50%, 0, 50% 50%, 100, affect-&#115;&#116;&#111;&#112;(0%, #cc0000),
affect-&#115;&#116;&#111;&#112;(100%, #ffffff)); background: url('/foo.png'),
-webkit-linear-gradient(top left, #333333, #00cc00),
-webkit-radial-gradient(#cc0000, #ffffff 100px);
background: url('/foo.png'),
-moz-linear-gradient(top left, #333333, #00cc00),
-moz-radial-gradient(#cc0000, #ffffff 100px);
background: url('/foo.png'),
-o-linear-gradient(top left, #333333, #00cc00),
-o-radial-gradient(#cc0000, #ffffff 100px);
background: url('/foo.png'),
-ms-linear-gradient(top left, #333333, #00cc00),
-ms-radial-gradient(#cc0000, #ffffff 100px);
background: url('/foo.png'),
linear-gradient(top left, #333333, #00cc00),
radial-gradient(#cc0000, #ffffff 100px); }</code></pre>
</blockquote>
<p>Winner: SASS</p>
<h4>Website Niceitude</h4>
<p>LESS &#104;&#97;&#115; a nicer, <a href="http://lesscss.org/">more usable website</a>. &#84;&#104;&#101; <a href="http://sass-lang.com/docs/yardoc/file.SASS_REFERENCE.html">SASS documentation</a> isn&#8217;t &#100;&#114;&#101;&#97;&#100;&#102;&#117;&#108;. &#73;&#116;&#8217;s complete &#97;&#110;&#100; &#121;&#111;&#117; &#99;&#97;&#110; find &#119;&#104;&#97;&#116; &#121;&#111;&#117; need. &#66;&#117;&#116; &#119;&#104;&#101;&#110; competing &#102;&#111;&#114; attention &#102;&#114;&#111;&#109; front &#101;&#110;&#100; public, LESS &#104;&#97;&#115; &#116;&#104;&#101; edge. I don&#8217;t doubt &#116;&#104;&#105;&#115; plays a large role &#105;&#110; LESS currently winning &#116;&#104;&#101; popularity &#114;&#97;&#99;&#101;. <a href="http://twitter.com/TeamSassDesign">Things &#109;&#97;&#121; &#98;&#101; changing though.</a></p>
<p>Winner: LESS</p>
<h4>&#84;&#104;&#101; @extend Concept</h4>
<p>&#83;&#97;&#121; &#121;&#111;&#117; declare a class &#119;&#104;&#105;&#99;&#104; &#104;&#97;&#115; a bit &#111;&#102; styling. &#84;&#104;&#101;&#110; &#121;&#111;&#117; want another class &#119;&#104;&#105;&#99;&#104; &#121;&#111;&#117; want &#116;&#111; &#100;&#111; &#106;&#117;&#115;&#116; &#105;&#110; &#116;&#104;&#105;&#115; area &#116;&#104;&#101; same thing, &#111;&#110;&#108;&#121; a few additional things. &#73;&#110; LESS &#121;&#111;&#117;&#8217;d &#108;&#105;&#107;&#101;&#108;&#121;:</p>
<blockquote>
<pre><code>.module-b { .module-a(); /* Copies everything &#102;&#114;&#111;&#109; .module-a down here */ border: 1px solid red; }</code></pre>
</blockquote>
<p>&#84;&#104;&#97;&#116;&#8217;s &#97;&#110; &#8220;include&#8221; essentially. A mixin, &#105;&#110; both languages. &#89;&#111;&#117; &#99;&#111;&#117;&#108;&#100; &#117;&#115;&#101; &#97;&#110; include &#116;&#111; &#100;&#111; &#116;&#104;&#97;&#116; SASS &#97;&#115; well, &#98;&#117;&#116; &#121;&#111;&#117;&#8217;re better &#111;&#102;&#102; using <code>@extend</code>. &#87;&#105;&#116;&#104; <code>@extend</code>, &#116;&#104;&#101; styles &#102;&#114;&#111;&#109; <code>.module-a</code> aren&#8217;t &#106;&#117;&#115;&#116; duplicated down &#105;&#110; .mobule-b (&#119;&#104;&#97;&#116; &#99;&#111;&#117;&#108;&#100; &#98;&#101; considered bloat), &#116;&#104;&#101; selector &#102;&#111;&#114; .module-a &#105;&#115; altered &#116;&#111; <code>.module-a, .module-b</code> &#105;&#110; &#116;&#104;&#101; compiled CSS (&#119;&#104;&#105;&#99;&#104; &#105;&#115; more efficient).</p>
<blockquote>
<pre><code>.module-a { /* A bunch &#111;&#102; stuff */ } .module-b { /* &#83;&#111;&#109;&#101; unique styling */ @extend .module-a; }</code></pre>
</blockquote>
<p>Compiles &#105;&#110;&#116;&#111;</p>
<blockquote>
<pre><code>.module-a, .module-b { /* A bunch &#111;&#102; stuff */ } .module-b { /* &#83;&#111;&#109;&#101; unique styling */ }</code></pre>
</blockquote>
<p>See &#116;&#104;&#97;&#116;? &#73;&#116; rewrites selectors, &#119;&#104;&#105;&#99;&#104; &#105;&#115; way more efficient.</p>
<p>Winner: SASS</p>
<h4>Variable Handling</h4>
<p>LESS uses @, SASS uses $. &#84;&#104;&#101; dollar sign &#104;&#97;&#115; &#110;&#111; inherit meaning &#105;&#110; CSS, &#119;&#104;&#105;&#108;&#101; &#116;&#104;&#101; @ sign &#100;&#111;&#101;&#115;. &#73;&#116;&#8217;s &#102;&#111;&#114; things &#108;&#105;&#107;&#101; declaring @keyframes &#111;&#114; blocks &#111;&#102; @media queries. &#89;&#111;&#117; &#99;&#111;&#117;&#108;&#100; chalk &#116;&#104;&#105;&#115; one up &#116;&#111; personal preference &#97;&#110;&#100; &#110;&#111;&#116; a &#104;&#117;&#103;&#101; deal, &#98;&#117;&#116; I &#114;&#101;&#99;&#107;&#111;&#110; &#116;&#104;&#101; edge here &#105;&#115; &#102;&#111;&#114; SASS &#119;&#104;&#105;&#99;&#104; doesn&#8217;t confuse permanent concepts.</p>
<p>SASS &#104;&#97;&#115; &#115;&#111;&#109;&#101; weirdness &#119;&#105;&#116;&#104; scope &#105;&#110; variables though. &#73;&#102; &#121;&#111;&#117; overwrite a &#8220;global&#8221; variable &#8220;locally&#8221;, &#116;&#104;&#101; global variable takes &#111;&#110; &#116;&#104;&#101; local value. &#84;&#104;&#105;&#115; &#106;&#117;&#115;&#116; feels kind &#111;&#102; &#119;&#101;&#105;&#114;&#100;.</p>
<blockquote>
<pre><code>$affect: black; .scoped { $affect: white; affect: $affect; }
.unscoped { // LESS = black (global) // SASS = white (overwritten &#98;&#121; local) affect: $affect; }</code></pre>
</blockquote>
<p>I&#8217;ve heard &#105;&#116; &#99;&#97;&#110; &#98;&#101; useful &#98;&#117;&#116; &#105;&#116;&#8217;s &#110;&#111;&#116; intuitive, especially &#105;&#102; &#121;&#111;&#117; write JavaScript.</p>
<p>Winner: Tossup</p>
<h4>Effective &#119;&#105;&#116;&#104; Media Queries</h4>
<p>&#84;&#104;&#101; way &#109;&#111;&#115;&#116; &#111;&#102; &#117;&#115; &#115;&#116;&#97;&#114;&#116;&#101;&#100; effective &#119;&#105;&#116;&#104; <code>@media</code> queries &#119;&#97;&#115; adding blocks &#111;&#102; &#116;&#104;&#101;&#109; &#97;&#116; &#116;&#104;&#101; bottom &#111;&#102; &#121;&#111;&#117;&#114; main stylesheet. &#84;&#104;&#97;&#116; works, &#98;&#117;&#116; &#105;&#116; leads &#116;&#111; mental disconnect between &#116;&#104;&#101; original styling &#97;&#110;&#100; &#116;&#104;&#101; responsive styles. &#76;&#105;&#107;&#101;:</p>
<blockquote>
<pre><code>.&#115;&#111;&#109;&#101;-class { /* Defaulting styling */ } /* Hundreds &#111;&#102; lines &#111;&#102; CSS */ @media (max-width: 800px) {
.&#115;&#111;&#109;&#101;-class { /* Responsive styles */ } }</code></pre>
</blockquote>
<p>&#87;&#105;&#116;&#104; SASS &#111;&#114; LESS, &#119;&#101; &#99;&#97;&#110; bring those styles together through nesting.</p>
<blockquote>
<pre><code>.&#115;&#111;&#109;&#101;-class { /* Defaulting styling */ @media (max-width: 800px) { /* Responsive styles */ } }</code></pre>
</blockquote>
<p>&#89;&#111;&#117; &#99;&#97;&#110; &#103;&#101;&#116; even sexier &#119;&#105;&#116;&#104; SASS. &#84;&#104;&#101;&#114;&#101; &#105;&#115; a really &#99;&#111;&#111;&#108; &#8220;&#97;&#110;&#115;&#119;&#101;&#114;-&#116;&#111;&#8221; technique (see code &#98;&#121; <a href="https://gist.github.com/1215856">Chris Eppstein</a>, <a href="http://theint.ro/blogs/outro/4686992-responsive-design-&#119;&#105;&#116;&#104;-sass">Ben Schwarz</a>, &#97;&#110;&#100; <a href="http://jeffcroft.com/blog/2012/mar/02/implementing-responsive-design/">Jeff Croft</a>) &#102;&#111;&#114; naming/using breakpoints.</p>
<blockquote>
<pre><code>=&#97;&#110;&#115;&#119;&#101;&#114;-&#116;&#111;($name) @&#105;&#102; $name == small-screen @media &#111;&#110;&#108;&#121; screen &#97;&#110;&#100; (min-width: 320px)
@content @&#105;&#102; $name == large-screen @media &#111;&#110;&#108;&#121; screen &#97;&#110;&#100; (min-width: 800px) @content</code></pre>
</blockquote>
<p>&#84;&#104;&#101; &#121;&#111;&#117; &#99;&#97;&#110; &#117;&#115;&#101; &#116;&#104;&#101;&#109; succinctly &#97;&#110;&#100; semantically:</p>
<blockquote>
<pre><code>.column width: 25% +&#97;&#110;&#115;&#119;&#101;&#114;-&#116;&#111;(small-screen) width: 100%</code></pre>
</blockquote>
<p>Note: requires SASS 3.2, &#119;&#104;&#105;&#99;&#104; &#105;&#115; &#105;&#110; alpha, &#119;&#104;&#105;&#99;&#104; &#121;&#111;&#117; &#99;&#97;&#110; install &#119;&#105;&#116;&#104; <code>gem install sass --pre</code>. I don&#8217;t &#114;&#101;&#99;&#107;&#111;&#110; &#116;&#104;&#101;&#114;&#101; &#105;&#115; &#97;&#110;&#121; doubt &#116;&#104;&#105;&#115; &#105;&#115; a very nice way &#116;&#111; work.</p>
<p>Winner: SASS</p>
<h4>Math</h4>
<p>&#70;&#111;&#114; &#116;&#104;&#101; &#109;&#111;&#115;&#116; &#112;&#97;&#114;&#116;, &#116;&#104;&#101; math &#105;&#115; similar, &#98;&#117;&#116; &#116;&#104;&#101;&#114;&#101; &#97;&#114;&#101; &#115;&#111;&#109;&#101; weirdnesses &#119;&#105;&#116;&#104; &#104;&#111;&#119; units &#97;&#114;&#101; handled. &#70;&#111;&#114; instance, LESS &#119;&#105;&#108;&#108; assume &#116;&#104;&#101; initially unit &#121;&#111;&#117; &#117;&#115;&#101; &#105;&#115; &#119;&#104;&#97;&#116; &#121;&#111;&#117; want out, ignoring further units.</p>
<blockquote>
<pre><code>div { width: 100px + 2em; // == 102px (&#119;&#101;&#105;&#114;&#100;) }</code></pre>
</blockquote>
<p>&#73;&#110; SASS, &#121;&#111;&#117; &#103;&#101;&#116; a clear error: Ill-assorted units: &#8216;em&#8217; &#97;&#110;&#100; &#8216;px&#8217;. I guess &#105;&#116;&#8217;s debatable &#105;&#102; &#105;&#116;&#8217;s better &#116;&#111; error &#111;&#114; &#98;&#101; incorrect, &#98;&#117;&#116; I&#8217;d &#105;&#110; person &#114;&#97;&#116;&#104;&#101;&#114; &#104;&#97;&#118;&#101; &#116;&#104;&#101; error. Especially &#105;&#102; &#121;&#111;&#117;&#8217;re dealing &#119;&#105;&#116;&#104; variables &#114;&#97;&#116;&#104;&#101;&#114; &#116;&#104;&#97;&#110; straight units &#97;&#110;&#100; &#105;&#116;&#8217;s harder &#116;&#111; footstep down.</p>
<p>SASS &#119;&#105;&#108;&#108; &#97;&#108;&#115;&#111; &#108;&#101;&#116; &#121;&#111;&#117; perform math &#111;&#110; &#8220;unknown&#8221; units, &#109;&#97;&#107;&#105;&#110;&#103; &#105;&#116; a bit more futureproof &#115;&#104;&#111;&#117;&#108;&#100; &#115;&#111;&#109;&#101; &#110;&#101;&#119; unit come along before &#116;&#104;&#101;&#121; &#97;&#114;&#101; &#97;&#98;&#108;&#101; &#116;&#111; update. LESS &#100;&#111;&#101;&#115; &#110;&#111;&#116;. &#84;&#104;&#101;&#114;&#101; &#105;&#115; &#115;&#111;&#109;&#101; more &#119;&#101;&#105;&#114;&#100; differences &#108;&#105;&#107;&#101; &#104;&#111;&#119; SASS handles multiplying values &#116;&#104;&#97;&#116; both &#104;&#97;&#118;&#101; units, &#98;&#117;&#116; &#105;&#116;&#8217;s esoteric enough &#116;&#111; &#110;&#111;&#116; &#98;&#101; worth mentioning.</p>
<p>Winner: Narrowly SASS</p>
<h4>Active Development</h4>
<p>&#65;&#116; &#116;&#104;&#101; time &#111;&#102; &#116;&#104;&#105;&#115; writing&#8230;</p>
<p><a href="https://github.com/cloudhead/less.js/issues">Number &#111;&#102; open issues</a> &#111;&#110; LESS: 392<br />
<a href="https://github.com/nex3/sass/issues">Number &#111;&#102; open issues</a> &#111;&#110; SASS: 84</p>
<p><a href="https://github.com/cloudhead/less.js/pulls">Pending pull requests</a> &#111;&#110; LESS: 86<br />
<a href="https://github.com/nex3/sass/pulls">Pending pull requests</a> &#111;&#110; SASS: 3</p>
<p><a href="https://github.com/cloudhead/less.js/commits/master/">Number &#111;&#102; commits</a> &#105;&#110; &#116;&#104;&#101; last month &#105;&#110; LESS: 11<br />
<a href="https://github.com/nex3/sass/commits/stable/">Number &#111;&#102; commits</a> &#105;&#110; &#116;&#104;&#101; last month &#105;&#110; SASS: 35</p>
<p>None &#111;&#102; &#116;&#104;&#97;&#116; stuff &#105;&#115; &#97;&#110;&#121; definitive proof &#116;&#104;&#97;&#116; one project &#105;&#115; more active &#116;&#104;&#97;&#110; &#116;&#104;&#101; additional, &#98;&#117;&#116; &#116;&#104;&#101; numbers &#100;&#111; seem &#116;&#111; always leans toward SASS. &#65;&#115; I know &#105;&#116;, both &#111;&#102; &#116;&#104;&#101; leads work &#111;&#110; &#116;&#104;&#101; languages &#105;&#110; &#110;&#111; matter &#119;&#104;&#97;&#116; small free time &#116;&#104;&#101;&#121; &#104;&#97;&#118;&#101;, &#97;&#115; &#116;&#104;&#101;&#121; both &#104;&#97;&#118;&#101; additional major &#110;&#101;&#119; projects &#116;&#104;&#101;&#121; &#97;&#114;&#101; effective &#111;&#110;.</p>
<p>Winner: Probably SASS</p>
<p>http://css-tricks.com/sass-vs-less</p>
<p>Article source: <a href="http://css-tricks.com/sass-vs-less/">http://css-tricks.com/sass-vs-less/</a></p>]]></content:encoded>
			<wfw:commentRss>http://asterhost.info/sass-vs-less-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

