<?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>Bruce Lawson's  personal site &#187; CSS3</title>
	<atom:link href="http://www.brucelawson.co.uk/category/accessibility-web-standards/css3/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.brucelawson.co.uk</link>
	<description></description>
	<lastBuildDate>Wed, 08 Feb 2012 10:12:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Reading List</title>
		<link>http://www.brucelawson.co.uk/2011/reading-list-10/</link>
		<comments>http://www.brucelawson.co.uk/2011/reading-list-10/#comments</comments>
		<pubDate>Wed, 21 Dec 2011 16:34:23 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[reading list]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3977</guid>
		<description><![CDATA[The last reading list of the year is a bumper one, so you have plenty to read over the hols. Enjoy! Me I&#8217;m interviewed on the Sitepoint podcast. Opera&#8217;s TV emulator is released, so you can check your HTML5 and CE-HTML apps HTML App manifests, an anthology &#8211; on thge multiple manifest formats that attempt [...]]]></description>
			<content:encoded><![CDATA[<p>The last reading list of the year is a bumper one, so you have plenty to read over the hols. Enjoy!</p>
<h3>Me</h3>
<ul>
<li>I&#8217;m interviewed on the <a href="http://www.sitepoint.com/podcast-143-happy-html5-holidays-with-bruce-lawson/">Sitepoint podcast.</a></li>
<li>Opera&#8217;s <a href="http://www.opera.com/business/tv/emulator/ ">TV emulator</a> is released, so you can check your HTML5 and CE-HTML apps</li>
</ul>
<h3>HTML</h3>
<ul>
<li><a href="http://blog.tobie.me/post/14262541286/app-manifests-an-anthology">App manifests, an anthology</a> &#8211; on thge multiple manifest formats that attempt to lock in users. (Similar to my June post <a href="/2011/installable-web-apps-and-interoperability/">Installable web apps and interoperability</a>.)</li>
<li><a href="https://www.w3.org/Bugs/Public/show_bug.cgi?id=15278">Adding Islamic calendar support in HTML5</a> &#8211; a request from IBM to add new types of HTML &lt;input&gt; to cater for the three Islamic calendars. I agree with Lars and Lachlans&#8217; comments that this is a browser  enhancement and not an addition to the language.</li>
<li><a href="http://dvcs.w3.org/hg/webcomponents/raw-file/tip/spec/shadow/index.html">Shadow dom spec (very draft</a>)</li>
</ul>
<h3>CSS</h3>
<ul>
<li><a href="http://blog.millermedeiros.com/2011/11/the-problem-with-css-pre-processors/">CSS pre-processors and why you need to be careful with them</a>.</li>
<li>
  <a href="http://daneden.me/2011/12/putting-up-with-androids-bullshit/">Dispelling the Android CSS animation myths</a> &#8211; Feature detection only works if browsers tell the truth.</li>
</ul>
<h3>JavaScript</h3>
<ul>
<li><a href="https://lists.webkit.org/pipermail/webkit-dev/2011-December/018903.html">EcmaScript 6 versioning</a>. Dutch Specmeister <a href="https://plus.google.com/112284435661490019880/posts/6W7ErmRC1XN ">Anne van Kesteren writes</a> &#8220;this still strikes me as a slippery slope towards the mess Internet Explorer is dealing with (and Word has in the past). Not very webby, ECMAScript&#8221;</li>
<li>
<a href="https://github.com/addyosmani/backbone-fundamentals">Backbone.js mini-book</a> by Addy Osmani, who says &quot;any contributions welcome. Plan to keep adding more everyday&quot;.</li>
</ul>
<h3>Multimedia</h3>
<ul>
<li>
<a href="http://dev.w3.org/html5/canvas-extensions/Overview.html">HTML Canvas 2D Context Extensions</a>, draft spec  to add accessibility features  for caret and selection management, for setting the caret blink rate, for returning the vertical offset of a text anchor point, and for drawing a focus ring around the current path. Also see a change proposal <a href="http://www.w3.org/html/wg/wiki/ChangeProposals/FocusRingTextBaseline">Modify existing Canvas 2D API to expose text baseline and facilitate drawing of focus rings</a>.</li>
<li><a href="http://www.w3.org/TR/2011/WD-audioproc-20111215/">Two competing  Audio APIs</a>. (I like the <a href="http://www.w3.org/TR/streamproc/">MediaStream Processing API</a> better; <a href="https://plus.google.com/u/0/105458233028934590147/posts/VbkvKumx1YB">Philip Jägenstedt  explains why</a> it&#8217;s better.</li>
<li><a href="https://github.com/atsuya/webcam-test">webcam streaming only using JavaScript</a></li>
<li>An all-you-can eat <a href="http://5by5.tv/webahead/12">historical and technical look at web video</a>. What&#8217;s up with HTML5 and these competing codecs?</li>
<li>
GigaOM reports 80% of video is h.264 and iPad ready without re-encoding. Only 2% is webM. <a href="http://gigaom.com/video/h264-80-percent-of-videos/#comment-779697"><strong>ORLY</strong></a>? The stats don&#8217;t seem to match up.</li>
</ul>
<h3>Data</h3>
<ul>
<li>
I will <a href="http://shancarter.com/data_converter/">convert your Excel data into one of several web-friendly formats</a>, including HTML, JSON and XML.</li>
<li> <a href="http://londoncalling.co/2011/12/when-is-my-bus-due-a-brilliant-use-of-public-data-and-probably-the-best-use-of-mobile-ever/">When is my bus due?</a> Geolocation plus real-tme  open data for a mobile win</li>
<li>Anne van Kesteren&#8217;s latest spec has the ambitious goal to <a href="  http://dvcs.w3.org/hg/encoding/raw-file/tip/Overview.html">unify encoding handling across user agents for the web</a> so   legacy pages can be interpreted &quot;correctly&quot; (<a href="http://mail.apps.ietf.org/ietf/charsets/msg02027.html">background</a>)
</li>
</ul>
<h3>Mobile</h3>
<ul>
<li><a href="http://www.textually.org/textually/archives/2011/12/029968.htm">Mobile health apps provide health access</a> to potentially 18million people in Kenya</li>
</ul>
<h3>Kerrrazy Shit!</h3>
<ul>
<li>
<a href="http://bisforblock.com/">&lt;b&gt; is for Block</a>: &#8220;B means &#8220;block&#8221; and I means &#8220;inline&#8221;.&#8221; So I&#8217;d better update my presentation  <a href="http://www.slideshare.net/brucelawson/leveraging-html-50">Leveraging HTML 5.0: Super-hot HTML 5.0 tag elements to increase your buisness&#8217;es social mindshare</a> accordingly.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/reading-list-10/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Notes on Adaptive Images (yet again!)</title>
		<link>http://www.brucelawson.co.uk/2011/notes-on-adaptive-images-yet-again/</link>
		<comments>http://www.brucelawson.co.uk/2011/notes-on-adaptive-images-yet-again/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 12:00:04 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[DAP]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mobile]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3937</guid>
		<description><![CDATA[All the cool kids are doing responsive design, it seems. This means fluid designs, having some hot media query action to reformat your layout depending on screen size, and ensuring your images are flexible so they don&#8217;t break out of container, generally by setting them to {max-width:100%;}. Having images scaling down presents a problem though, [...]]]></description>
			<content:encoded><![CDATA[<p>All the cool kids are doing responsive design, it seems. This means fluid designs, having some hot media query action to reformat your layout depending on screen size, and ensuring your images are flexible so they don&#8217;t break out of container, generally by setting them to <code>{max-width:100%;}</code>.</p>
<p>Having images scaling down presents a problem though, if you&#8217;re a performance-minded sort of chap(ette). Why send a 300K 400 x 800 image that would look lovely on tablet device attached to wifi, but which takes ages to download on a 3G phone, and which gets resized by the browser to fit a 320px wide screen? Not only are you wasting your user&#8217;s bandwidth and time, but not every browser is created equal and not every resize algorithm makes pleasing end results. The CSS 4(!) <a href="http://jsfiddle.net/zda24/"><code>image-rendering</code> property</a> can help with this but it only hints to the browser.</p>
<p>Sending the right-sized image to devices without wasting bandwidth is one of the <a href="http://www.cloudfour.com/responsive-imgs/">knottiest problems</a> in cross-device and responsive design at the moment. In the 24ways advent calendar series of articles, the subject has been discussed twice in eight articles (by <a href="http://24ways.org/2011/adaptive-images-for-responsive-designs">Matt Wilcox</a> and <a href="http://24ways.org/2011/adaptive-images-for-responsive-designs-again">Jake Archibald</a>). There are numerous other techniques, as well, such as <a href="http://blog.trasatti.it/2011/05/responsive-images-and-tinysrc.html">tinySrc</a> and the Filament Group&#8217;s <a href="http://filamentgroup.com/lab/responsive_images_experimenting_with_context_aware_image_sizing/">Responsive Images</a>.</p>
<p>All these are very clever, different solutions to solve the same problem, and they all rely on scripts, or cookies, or server-side cleverness or (in the case of Jake&#8217;s ideas) dirty hacks and spacer GIFs. I&#8217;m reminded of <a href="http://css-tricks.com/630-css-image-replacement/">Image Replacement techniques</a> from more than 6 years ago, which were over-engineered solutions to the problem better solved by CSS web fonts.</p>
<p>Let&#8217;s recap. We have several images, of different sizes, and want to send only the most appropriately-sized image to the browser. The circumstances differ. The canonical use case is to send smaller, lower-resolution images to smaller screen-sizes on the assumption that connection speed is slow and they have low-resolution displays. This isn&#8217;t the case, though. Some people are using retina displays on fast wifi networks. SO, while currently CSS Media Queries allow us to detect screen width and pixel density, we need  new <a href="http://www.w3.org/TR/css3-mediaqueries/#media1">media features</a> such as network speed/ bandwidth.</p>
<p>The DAP is working on a <a href="http://dev.w3.org/2009/dap/netinfo/">Network Information API</a>, there&#8217;s a <a href="http://docs.phonegap.com/en/1.2.0/phonegap_connection_connection.md.html#connection.type">Phonegap version</a> for native apps, and a <a href="https://github.com/Modernizr/Modernizr/blob/master/feature-detects/network-connection.js">Modernizr detect</a>,  but using script for this seems much harder than being able to access it via Media Queries, and if you just want to rearrange CSS layout, CSS is the place to detect it. (Purists may argue that network connection isn&#8217;t a characteristic of device, but <em>in your face, purists!</em>)</p>
<p>Once you have a media query, you can swap images in and out using the CSS <code>content</code> property:</p>
<pre>
<code>&lt;img id=thingy src=picture.png alt="a mankini"&gt;
&hellip;
@media all and (max-width:600px) {
 #thingy {content: url(medium-res.png);}
 }

@media all and (max-width:320px) {
 #thingy {content: url(low-res.png);}
 }

@media all and (network-speed:3g) {
 #thingy {content: attr(alt);}
 }

</code>
</pre>
<p>A browser that doesn&#8217;t support Media Queries, or doesn&#8217;t report &#8220;true&#8221; for any of the Media Queries shows the picture.png, which is the <code>src</code> of the <code>img</code>. A browser that is less than 600px replaces picture.png with medium-res.png. A 320px or narrower browser replaces picture.png with low-res.png. A browser that is only connected via 3g replaces the image with its alt text.</p>
<p>I first researched this technique in 2008 as a way of doing <a href="http://my.opera.com/ODIN/blog/css-3-image-replacement">image replacement without extra  markup</a> (ironically enough). The first two media queries only works in Opera and Chrome at the moment, as they&#8217;re the only browsers that fully support <code>content</code> without <code>:before</code> or <code>:after</code>. (The <code>network-speed</code> media query works nowhere as I just made it up).</p>
<p>Recently, Nicolas Gallagher experimented with  <a href="http://nicolasgallagher.com/responsive-images-using-css3/">generated content for responsive images</a>, and unfortunately discovered that there are no advantages to the technique because browsers always download picture.png, even if they never show it because they immediately replace it. Perhaps this could be optimised away  by browsers, but there would still be the double-download problem with current browsers.</p>
<p>My mind turned to HTML5 video. Here we have an element that has the ability to specify multiple sources (because of different codecs) and can also switch sources according to media characteristics. It borrows syntax from Media Queries but puts them in the HTML:</p>
<pre>
<code>&lt;video&gt;
&lt;source src=high-res.webm media=&quot;min-width:800px&quot;&gt;
&lt;source src=low-res.webm&gt;
&lt;!-- fallback content --&gt;
&lt;/video&gt;
</code>
</pre>
<p>I firmly believe that if something as new-fangled as video can be responsive in a declarative manner (without needing script, APIs, cookies or server magic) then responsive images should be similarly simple.</p>
<p>Previously, on the mailing list, a new <a href="http://lists.w3.org/Archives/Public/public-html/2007Jul/0121.html"><code>&lt;picture&gt;</code> element was proposed</a>. I mashed up that idea with the already-proven <code>video</code> code above and came up with a strawman:</p>
<pre><code>&lt;picture alt=&quot;angry pirate&quot;&gt;
&lt;source src=hires.png media=&quot;min-width:800px&quot;&gt;
&lt;source src=midres.png media=&quot;network-speed:3g&quot;&gt;
&lt;source src=lores.png&gt;
   &lt;!-- fallback for browsers without support --&gt;
   &lt;img src=midres.png alt=&quot;angry pirate&quot;&gt;
&lt;/picture&gt;</code></pre>
<p>This would show a different source image for different situations. Old (=current) browsers get the fallback <code>img</code> element. As I said, this is a strawman; it ain&#8217;t pretty. But it would work. (It&#8217;s discussed in my recent Smashing Magazine article <a href="http://coding.smashingmagazine.com/2011/11/18/html5-semantics/">HTML5 Semantics</a>.)</p>
<p>I prefer the media queries to be in the HTML for two reasons: you don&#8217;t need to have <code>id</code>s or complex selectors to target a particular image, and (more importantly)  many content authors use a CMS and have no ability to edit the CSS. (Although the nasty <a href="http://html5doctor.com/the-scoped-attribute/"><code>&lt;style scoped&gt;</code></a> could solve this.)</p>
<p>On the other hand, I might be over-engineering the whole problem. I chatted informally with my colleague <a href="http://annevankesteren.nl/">Anne van Kesteren</a>, glamorous Dutch <a href="http://www.whatwg.org/charter">WHATWG inner circle member</a>. There&#8217;s a school of thought that says everything will be 300ppi and networks will be fast enough, so this is really an intermediate problem until everyone starts using highres graphics and all displays go from 150 to 300. Standards are long term, and by the time we have a standardised version, the problem might have gone away.</p>
<p>What do you think? </p>
<p>(Matt Machell pithily <a href="http://twitter.com/shuckle/statuses/144751104150876160">pointed out</a> &#8220;if only browsers hadn&#8217;t forgotten the old school <a href="http://lists.w3.org/Archives/Public/www-html/2002Nov/0136.html">lowsrc attribute for images</a>&#8220;.) </p>
<p>Looks like our chums at <a href="http://krijnhoetmer.nl/irc-logs/whatwg/20111208" title="http://krijnhoetmer.nl/irc-logs/whatwg/20111208">WHATWG are discussing this</a> too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/notes-on-adaptive-images-yet-again/feed/</wfw:commentRss>
		<slash:comments>55</slash:comments>
		</item>
		<item>
		<title>Reading List</title>
		<link>http://www.brucelawson.co.uk/2011/reading-list-7/</link>
		<comments>http://www.brucelawson.co.uk/2011/reading-list-7/#comments</comments>
		<pubDate>Mon, 05 Dec 2011 10:29:37 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[reading list]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3862</guid>
		<description><![CDATA[Links&#8217;n'stuff that I&#8217;ve tweeted, for those who don&#8217;t spend their days on twitter but who work instead. HTML5, markup Project-based cross-device development tutorial: Love your devices: adaptive web design with media queries, viewport and more My colleague Divya wrote a piece on semantics (which I disagree with) called Our Pointless Pursuit Of Semantic Value. Jeremy [...]]]></description>
			<content:encoded><![CDATA[<p>Links&#8217;n'stuff that I&#8217;ve tweeted, for those who don&#8217;t spend their days on twitter but who work instead.</p>
<h3>HTML5, markup</h3>
<ul>
<li>Project-based cross-device development tutorial: <a href="http://dev.opera.com/articles/view/love-your-devices-adaptive-web-design-with-media-queries-viewport-and-more/">Love your devices: adaptive web design with media queries, viewport and more</a></li>
<li>My  colleague Divya wrote a piece on semantics (which I disagree with) called  <a href="http://coding.smashingmagazine.com/2011/11/11/our-pointless-pursuit-of-semantic-value/">Our Pointless Pursuit Of Semantic Value</a>. Jeremy Keith <a href="http://coding.smashingmagazine.com/2011/11/12/pursuing-semantic-value/">also disagreed</a>, as did John Foliot in his ironically unsemantically-titled <a href="http://john.foliot.ca/my-thing-about-the-thing-that-thing-wrote-about-thing/">My Thing About the Thing That Thing Wrote About Thing</a>.</li>
<li>Co-incidentally, I had been asked by Smashing Magazine to write up my Fronteers talk into an article on <a href="http://coding.smashingmagazine.com/2011/11/18/html5-semantics/">HTML5 Semantics and why they do matter</a>.</li>
<li>If you&#8217;d rather see me talk about HTML5 with pink hair, here&#8217;s an Opera tech break:
<p><iframe width="500" height="284" src="http://www.youtube.com/embed/X52zJ3XehIM?rel=0" frameborder="0" allowfullscreen></iframe></li>
<li>Accessibility: <a href="http://twitter.com/rogerhudson">Roger Hudson</a> proposes a scoring system to measure *real* accessibility of a site called <a href="http://www.dingoaccess.com/accessibility/accessibility-barrier-scores-2/">Accessibility Barrier Scores.</a></li>
<li><a href="http://www.webmonkey.com/2011/11/the-trials-and-tribulations-of-html-video-in-the-post-flash-era/">The Trials and Tribulations of HTML Video in the Post-Flash Era</a> (with discussion of DRM)</li>
<li><a href="http://opensource.com/life/11/11/drm-graveyard-brief-history-digital-rights-management-music">The DRM graveyard: A brief history of digital rights management in music</a> </li>
<li><a href="http://royal.pingdom.com/2011/11/21/web-pages-getting-bloated-here-is-why/">Web pages are getting more bloated, and here’s why</a>. &#8220;Over the past year, web pages have on average become 25% bigger.&#8221; </li>
</ul>
<h3>Groovy webdev stuff</h3>
<ul>
<li>Mike Tayor has the low-down on HTML5 <a href="http://my.opera.com/ODIN/blog/2011/11/07/custom-protocol-and-content-handlers">Custom Protocol and Content Handlers</a></li>
<li><a href="http://www.andismith.com/blog/2011/11/25-dev-tool-secrets/">25 Secrets of the Browser Developer Tools</a></li>
<li><a href="http://my.opera.com/ODIN/blog/2011/11/11/the-developer-briefcase-and-other-neat-opera-extensions-for-developers">&#8216;The Developer Briefcase&#8217; and other neat Opera extensions for developers</a></li>
</ul>
<h3>CSS</h3>
<ul>
<li>Department of Unnecessary bling: <a href="http://tympanus.net/Tutorials/OriginalHoverEffects/">Flash-style hover effects replicated in CSS</a>!</li>
<li><a href="http://csscurmudgeon.com/2011/11/flexbox-sucks/">Flexbox will kick your dog and pee on your rug</a></li>
</ul>
<h4 id=vp>Vendor prefixes</h4>
<ul>
<li><a href="http://hsivonen.iki.fi/vendor-prefixes/">Vendor Prefixes Are Hurting the Web</a> says Henri Sivonen</li>
<li>WTF? zomg! says Daniel Glazman,co-chair of the CSS Working Group in his  <a href="http://www.glazman.org/weblog/dotclear/index.php?post/2011/11/16/CSS-vendor-prefixes-an-answer-to-Henri-Sivonen">answer to Henri Sivonen</a>
</li>
<li><a href="http://lea.verou.me/2011/11/vendor-prefixes-have-failed-whats-next/">Vendor prefixes have failed, what’s next?</a> asks Lea Verou</li>
<li><a href="http://infrequently.org/2011/11/vendor-prefixes-are-a-rousing-success/">Vendor Prefixes Are A Rousing Success</a> declaims Alex Russell. I tend to agree with Alex here, but think that <a href="http://infrequently.org/2011/11/vendor-prefixes-are-a-rousing-success/#comment-239435">Robert O&#8217;Callahan makes an excellent point</a> that Alex&#8217;s perspective isn&#8217;t neutral; it benefits WebKit (and thus his employer, Google).</li>
<li><a href="http://lea.verou.me/2011/10/prefixfree-break-free-from-css-prefix-hell/">PrefixFree: Break free from CSS prefix hell</a> &#8211; Lea&#8217;s script parses CSS on the client and adds only the vendor prefixes that the browser requires. A sort of Modernizr for CSS, but note it adds a dependency on JavaScript.</li>
<li><a href="http://prefixr.com/">Prefixr: Cross-Browser CSS in Seconds!</a> -copy your prefixless CSS, hit the button o get prefixes added, paste the result back into your CSS.</li>
</ul>
<h3>Misc</h3>
<ul>
<li><a href="http://imgur.com/Cpdaq">An 86 year old&#8217;s comic about the Web</a> (hopefully genuine!)</li>
<li><a href="http://lesbianswholooklikejustinbieber.tumblr.com/">Lesbians who look like Justin Bieber</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/reading-list-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML5, hollow demos and forgetting the basics</title>
		<link>http://www.brucelawson.co.uk/2011/html5-and-hollow-demos/</link>
		<comments>http://www.brucelawson.co.uk/2011/html5-and-hollow-demos/#comments</comments>
		<pubDate>Fri, 05 Aug 2011 10:38:26 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[HTML5]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3718</guid>
		<description><![CDATA[My heart sinks when I see the latest flurry of tweets about some new &#8220;HTML5&#8243; demo. As someone else said, it&#8217;s usually a warning that you&#8217;re about to visit a browser-freezing lump of JavaScript without a hyperlink in sight. I feel the same way when I see someone draw an image of the IE logo, [...]]]></description>
			<content:encoded><![CDATA[<p>My heart sinks when I see the latest flurry of tweets about some new &#8220;HTML5&#8243; demo. As someone else said, it&#8217;s usually a warning that you&#8217;re about to visit a browser-freezing lump of JavaScript without a hyperlink in sight.</p>
<p>I feel the same way when I see someone draw an image of the IE logo, a map of Paraguay showing every branch of Greggs, or a gyrating representation of Konnie Huq&#8217;s spleen using <em>only CSS</em>, because I know that the HTML will be a series of empty <code>&lt;div&gt;</code>s with  no content at all.</p>
<p>&#8220;But it&#8217;s just a demo!&#8221; you will protest. True. And demos exist to kick the tyres of a technology, to see what it can do and what its limits are. But people learn from demos. People pick them apart to see how they work, and hack them about. So using fundamentally the wrong technology to achieve an eye-candy result doesn&#8217;t help anyone learn. </p>
<p>The biggest danger is when that demo mentality leaks  into production websites.</p>
<p>The Web is about content. Sometimes that content is video, but we can ensure a text-based representation exists for older browsers, lower-specced devices, slower bandwidths and &#8211; of course &#8211; people who can&#8217;t consume video. Content on the web should be available to all using progressive enhancement, polyfilling and the provision of text alternatives.</p>
<p>I agree with the anonymous author of the provocatively-titled <a href="http://fullfuckingservice.tumblr.com/post/8357989756/reckless-web-practices-encourage-idiots">Reckless web development practices are encouraging idiots</a>:</p>
<blockquote><p>Because these sites are absolutely reliant on JavaScript, or Flash, or a particular browser &hellip; in order to display their content, the sites are failing at their job. They’ve taken us back to the early 90s in terms of the maturity of the web. They show an absolute disregard for the building blocks of the web in favour of ‘the shiny’ — a repugnant phrase which reflects the shallowness at the heart of many web workers’ outlook. They are style over content.</p></blockquote>
<p>This isn&#8217;t true 100% of the time; a tiny fraction of the Web is games. Games don&#8217;t degrade terribly well to plain text or map to HTML semantics. But the fact that we can script first person shooters in <code>&lt;canvas&gt;</code> rather than Flash isn&#8217;t a signal to abandon responsible practices on non-game sites &#8211; practices such as choosing the most appropriate element for the job and ensuring that the content is available to those unfortunate peasants who aren&#8217;t running Opera.Next, a WebKit nightly or Firefox Aurora on the latest greatest hardware.</p>
<p>My colleague <a href="http://twitter.com/karlpro">Karl Dubost</a> wrote <a href="http://my.opera.com/karlcow/blog/3-rules-of-thumb-for-web-development">3 rules of thumb for Web development</a>:</p>
<blockquote>
<ol>
<li>Can I bookmark this information? (stable URIs)</li>
<li>Can I go from here to there with a click? (hyperlinks)</li>
<li>Can I save the content locally? (open accessible formats)</li>
</ol>
</blockquote>
<p>It seems to me that there is nothing inherent HTML5 and associated technologies to diminish the relevance of these rules.</p>
<p>In the first edition of <a href="http://introducinghtml5.com/">Introducing HTML5</a>, Remy and I closed the book with this advice:</p>
<blockquote><p>Forget the marketing B.S. of “Web 2.0.” We’re at the beginning of Web Development 2.0: powerful languages like HTML5, SVG, and CSS3 will revolutionise the way we build the Web. Browsers support more and more of these aspects of these languages (and you can be certain that more and more support is being added daily).</p>
<p>Of course, have a play with the new features. Experiment with the new markup structures, manipulate video on the fly, and build fun and attractive games and apps that use <code>&lt;canvas&gt;</code>. By reading this book, you’re demonstrating that you’re an early adopter, ahead-of-the-curve, so please set a good example to your colleagues; respect those visitors to your new creations who have older browsers or assistive technologies.</p>
</blockquote>
<p>For the second edition (coming soon!) we were worried enough about <i>The Shiny</i> that we&#8217;ve augmented it:</p>
<blockquote><p>It’s vital that we remember that we are dealing with Web development. The Web is based on URLs, hyperlinks and is a method to deliver content. If your amazing demo is basically content-less <code>&lt;div&gt;</code>s being flown around the screen by JavaScript, or if your content is text-as-pixels scripted with <code>&lt;canvas&gt;</code>, if you require a mouse or a touch-screen, or if you have no links, no content or no URLs for bookmarking or linking to, ask yourself: am I developing for the Web, or am I re-inventing DHTML or Flash intros that just happen to run in the browser instead of a plugin?</p></blockquote>
<p>We mustn&#8217;t forget the basics.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/html5-and-hollow-demos/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
		</item>
		<item>
		<title>CSS Regions, CSS Exclusions</title>
		<link>http://www.brucelawson.co.uk/2011/css-regions-css-exclusions/</link>
		<comments>http://www.brucelawson.co.uk/2011/css-regions-css-exclusions/#comments</comments>
		<pubDate>Tue, 31 May 2011 07:06:40 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[CSS3]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3521</guid>
		<description><![CDATA[At Web Directions and Opera&#8217;s very own pubgeekmeetupaganza standards.next, Stephanie Rewis and Peter Gasston discussed some of the new proposals for layout in CSS, including the CSS Regions and associated CSS Exclusions specs written by Adobe. For the first time, layout is &#8220;unboxed&#8221; and text can flow in (or around) arbitrary shapes. Part of me [...]]]></description>
			<content:encoded><![CDATA[<p>At Web Directions and Opera&#8217;s very own pubgeekmeetupaganza <a href="http://standards-next.org/">standards.next</a>, Stephanie Rewis and Peter Gasston discussed some of the new proposals for layout in CSS, including the <a href="http://dev.w3.org/csswg/css3-regions/">CSS Regions</a>  and associated <a href="http://dev.w3.org/csswg/css3-exclusions/">CSS Exclusions</a> specs written by Adobe. For the first time, layout is &#8220;unboxed&#8221; and <a href="http://www.adobe.com/devnet/html5/articles/css3-regions.html">text can flow in (or around) arbitrary shapes</a>.</p>
<p>Part of me thinks &#8220;yay, cool!&#8221;. The other part of me thinks that it&#8217;s a shame that some designers still haven&#8217;t yet come to terms with the idea that the Web&#8217;s not print, and still hanker after pixel-perfect layouts that mimic highly-designed magazines rather than design for a new medium.</p>
<p>CSS Regions are doubtless coming for iPads and other such devices where glossy magazine publishers feel safely DRM&#8217;d away from the nasty open Web, so we might as well get used to them.</p>
<p>At the moment, the regions have to be manually expressed as a  series of points, but it&#8217;s easy to imagine some sort of CMS that allows the page author to upload a page&#8217;s background image which is then overlaid with a canvas/ SVG-based app that allows the user to trace arbitrary paths on the image (like Photoshop&#8217;s lasso tools) or choose primitive shapes such as circles, rectangles etc, and then the paths can be exported as CSS declarations.</p>
<p>Another useful feature that people have suggested would be the ability to tell the browser via CSS to wrap text using the alpha channel of an image so you wouldn&#8217;t need manually to define paths.</p>
<p>You can try <a href="http://labs.adobe.com/downloads/cssregions.html">Adobe&#8217;s prototype</a>. It&#8217;s all clever stuff.</p>
<p>I&#8217;m looking forward to debugging pages laid out in a combination of floats, absolute positioning, grid layout, template layout, flex-box, CSS tables, multicolumns, regions and exclusions. And I bet you are too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/css-regions-css-exclusions/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mobile Web talks, SxSW and Bath</title>
		<link>http://www.brucelawson.co.uk/2011/mobile-web-talks-sxsw-and-bath/</link>
		<comments>http://www.brucelawson.co.uk/2011/mobile-web-talks-sxsw-and-bath/#comments</comments>
		<pubDate>Tue, 08 Mar 2011 16:55:08 +0000</pubDate>
		<dc:creator>Bruce</dc:creator>
				<category><![CDATA[accessibility  web standards]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[DAP]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[Opera]]></category>
		<category><![CDATA[Speaking]]></category>

		<guid isPermaLink="false">http://www.brucelawson.co.uk/?p=3329</guid>
		<description><![CDATA[On Saturday Saturday 12 March at 5:00PM in Ballroom C of the Austin Convention Center, I&#8217;m doing a talk snappily-titled Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript. This will be a really fast-moving talk with tips and code snippets you can use right away. We&#8217;ll cover mobile web philosophy: what is &#8220;mobile web&#8221;? The [...]]]></description>
			<content:encoded><![CDATA[<p>On Saturday Saturday 12 March at 5:00PM in Ballroom C of the Austin Convention Center, I&#8217;m doing a talk snappily-titled <a href="http://schedule.sxsw.com/events/event_IAP7486">Web Anywhere: Mobile Optimisation With HTML5, CSS3, JavaScript</a>.</p>
<p>This will be a really fast-moving talk with tips and code snippets you can use right away. We&#8217;ll cover</p>
<ul>
<li>mobile web philosophy: what is &#8220;mobile web&#8221;?
</li>
<li>The three  methodologies for mobile web development
</li>
<li>What new goodies HTML5, CSS 3 and JavaScript offer us
</li>
<li>Tips and tricks (code) to make your site faster on mobile
</li>
<li>Apps vs Web and how the boundary is blurring
</li>
<li>What&#8217;s coming soon, with hopefully a preview of what&#8217;s cooking in Opera Labs
</li>
</ul>
<p>I doubt many people will be there&mdash;it&#8217;s pretty late in the day, but do come along if you can. Otherwise, please come and say hi at the Opera booth in the trade show; there will be a giant red O suspended from the ceiling, so you can&#8217;t miss us.</p>
<p>I&#8217;m doing a cut-down version (1 hour into 40 minutes) at <a href="http://thebigm.mobi/">The Big M Conference</a> in Bath, UK, where <a href="http://twitter.com/patrick_h_lauke">Patrick Lauke</a> will be giving a 3 hour workshop.</p>
<p><a href="http://my.opera.com/ODIN/blog/web-anywhere-mobile-optimisation-with-html5-css3-javascript-bruces-sxsw-tal">Here are the slides</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.brucelawson.co.uk/2011/mobile-web-talks-sxsw-and-bath/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

