<?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>Learning the World &#187; design</title>
	<atom:link href="http://learningtheworld.eu/category/design/feed/" rel="self" type="application/rss+xml" />
	<link>http://learningtheworld.eu</link>
	<description></description>
	<lastBuildDate>Tue, 06 Nov 2012 00:17:33 +0000</lastBuildDate>
	<language>en-US</language>
		<sy:updatePeriod>hourly</sy:updatePeriod>
		<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.9.1</generator>
	<item>
		<title>Please Provide Padding</title>
		<link>http://learningtheworld.eu/2009/please-provide-padding/</link>
		<comments>http://learningtheworld.eu/2009/please-provide-padding/#comments</comments>
		<pubDate>Tue, 21 Apr 2009 18:00:09 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[bahn.de]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Deutsche Bahn]]></category>
		<category><![CDATA[Fitt's Law]]></category>
		<category><![CDATA[padding]]></category>
		<category><![CDATA[relaunch]]></category>
		<category><![CDATA[website]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=490</guid>
		<description><![CDATA[There are other websites were you can buy train tickets, but if you live in Germany it's most likely that you will book a ticket on the website of <strong lang="de" xml:lang="de">Deutsche Bahn</strong> (German railways). Much has been said about accessibility on that site, and sure there's room for improvements in future updates. But some things just work well&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>There are other websites were you can buy train tickets, but if you live in Germany it&#8217;s most likely that you will book a ticket on the website of <strong lang="de" xml:lang="de"><a href="http://bahn.de">Deutsche Bahn</a></strong> (German railways). Much has been said about accessibility on that site, and sure there&#8217;s room for improvements in future updates. But some things just work well:</p>

<p>I was responsible for most of the programming beneath the navigation bar on the home page, and every time when I book a ticket there&#8217;s a small feature I enjoy so much I want to tell you about it: <strong>the buttons on the date selector</strong> are really, really tiny (16&nbsp;&times; 8px). As you know thanks to <a href="/2007/usability-analysis/">Fitt&lsquo;s Law</a>, there are even formulas to calculate how much better <em>big</em> buttons can be hit.</p>

<p><strong>So I just added some padding.</strong> And that makes a huge difference: try to click on the same buttons later on in the booking process where the padding is missing.</p>

<p><img src="/wp-content/uploads/2009/04/screenshot-bahn-datepicker-300x214.jpg" alt="Screenshot of the padding on datepicker buttons" width="300" height="214" class="book" /></p>

<p>If I could make one improvement I would add <strong>keyboard functionality</strong> to those buttons. Alas as the datepicker itself came from a third party, the assembled code was beyond my control. But I know that the <a href="http://vimeo.com/4153807"><span lang="de" xml:lang="de">Deutsche Bahn</span> is listening</a> to the needs of people with disabilities and their disability advisory board members are highly competent, so I trust these and other issues will be fixed soon&nbsp;&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2009/please-provide-padding/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Accessibility Day in Vienna</title>
		<link>http://learningtheworld.eu/2008/atag08/</link>
		<comments>http://learningtheworld.eu/2008/atag08/#comments</comments>
		<pubDate>Thu, 27 Nov 2008 12:00:45 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[Artur Ortega]]></category>
		<category><![CDATA[atag08]]></category>
		<category><![CDATA[Chris Heilmann]]></category>
		<category><![CDATA[Christian Heilmann]]></category>
		<category><![CDATA[European Commission]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[legislation]]></category>
		<category><![CDATA[Maria Putzhuber]]></category>
		<category><![CDATA[procurement]]></category>
		<category><![CDATA[study]]></category>
		<category><![CDATA[tenders]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[Vienna]]></category>
		<category><![CDATA[wai-aria]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=398</guid>
		<description><![CDATA[Last week I talked at the Vienna Accessibility Day (&#8220;<strong lang="de" xml:lang="de">A-Tag</strong>&#8221;) about the emerging <acronym title="World Wide Web Consortium">W3C</acronym> standard for <strong>Accessible Rich Internet Applications</strong> (<acronym>ARIA</acronym>). I half expected a crowd of suits as the event was co-organized by the Austrian Ministry of Health, Family and Youth, instead there were many young faces and a fair percentage of women.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Last week I talked at the <a href="http://atag.accessiblemedia.at" hreflang="de">Vienna Accessibility Day</a> (&ldquo;<strong lang="de" xml:lang="de">A-Tag</strong>&rdquo;) about the emerging <acronym title="World Wide Web Consortium">W3C</acronym> standard for <a href="http://www.w3.org/TR/wai-aria/"><strong>Accessible Rich Internet Applications</strong></a> (<acronym>ARIA</acronym>). The presentation went well as I included code fragments and <a href="http://flickr.com/photos/martin-kliehm/sets/72157610155705200/detail/" title="Screencasts at flickr.com">screencasts of <acronym>ARIA</acronym> demos</a>, though I lost the audience a little when I started to speak about the JavaScript that is required to add keyboard access to more complex widgets. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" />  So I revised that slide and added another one pointing to tab navigation widgets in various JavaScript frameworks as <a href="http://www.wait-till-i.com/2008/11/23/liberated-accessibility-at-a-tag-in-vienna/">Christian Heilmann</a> suggested.</p>

<p>You can see and download the <a href="http://www.slideshare.net/kliehm/aria-presentation">slides at Slideshare</a> (German). As I promised to write a detailed post about <acronym>ARIA</acronym> enhanced tab navigation for the <a href="http://webkrauts.de">Webkrauts</a> web standards advent calendar (think of a German version of <a href="http://24ways.org/">24 ways</a>) you will be able to enjoy an English tutorial soon. Never mind the references to Chris in the slides&nbsp;&mdash; I had to choose an example from my flickr pictures, and I believe there are too many presentations already with kittens.</p>

<p>The conference was surprisingly innovative: I half expected a crowd of suits as the event was co-organized by the Austrian Ministry of Health, Family and Youth, instead there were many young faces and a fair percentage of women. Things I have learned (and <a href="http://twitter.com/kliehm">tweeted</a> about)</a> include:</p>

<ul>
<li>As of January 2009, websites sponsored by the Austrian Ministry of Health will <strong>only receive funding when they are accessible</strong>. That doesn&rsquo;t come as a surprise as a European Ministerial Declaration in 2006 announced that accessibility and best practices <a href="http://europa.eu/rapid/pressReleasesAction.do?reference=IP/06/769">could become mandatory in public procurement</a> in 2010.</li>
<li>Artur Ortega showed examples of <a href="http://blog.ginader.de/">Dirk Ginader</a>&rsquo;s accessibility features for Yahoo! Finance, including two input fields where the <strong>labels were dynamically updated</strong> after a currency was chosen. So a screenreader read &ldquo;convert pound sterling to euros&rdquo; instead of &ldquo;convert currency to currency.&rdquo;</li>
<li>One reason for <strong>JavaScript enhanced <acronym>HTML</acronym> controls for Flash</strong> objects like Yahoo! video is that the Flash object cannot get tab focus when the <code>wmode</code> param is set to <code>opaque</code> or <code>transparent</code>. Still without that param it is <a href="https://bugzilla.mozilla.org/show_bug.cgi?id=413749">impossible to tab into a Flash object</a> in Firefox&nbsp;3. Or did I overlook something?</li>
<li>Designer <a href="http://www.slideshare.net/slidemarie/screendesign-und-webaccessibility-presentation">Maria Putzhuber</a> quoted an <a href="http://www.idea.org/find-information.html">interesting delusion</a>: 70% of designers believe that visitors are almost always able to <strong>maintain orientation</strong> while in fact just 10% of the visitors are able to achieve this. What do <em>you</em> think is the reason?</li>
</ul>

<p><a href="http://blog.namics.com/2008/11/atag08.html" hreflang="de" xml:lang="de" lang="de">Deutsche Fassung</a></p>

<div>
<object type="application/x-shockwave-flash" width="425" height="355" data="http://static.slideshare.net/swf/ssplayer2.swf?doc=atagariakliehm20081121ms-1227565045326955-9&amp;stripped_title=aria-presentation">
<param name="movie" value="http://static.slideshare.net/swf/ssplayer2.swf?doc=atagariakliehm20081121ms-1227565045326955-9&amp;stripped_title=aria-presentation" />
<param name="allowFullScreen" value="true" />
<param name="allowScriptAccess" value="always"/>
View SlideShare <a href="http://www.slideshare.net/kliehm/aria-presentation?type=powerpoint" title="ARIA on SlideShare">presentation</a>
</object>
</div>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/atag08/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Accessible iPhone Cometh</title>
		<link>http://learningtheworld.eu/2008/accessible-iphone/</link>
		<comments>http://learningtheworld.eu/2008/accessible-iphone/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 12:00:48 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[Adaptive Path]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[blind]]></category>
		<category><![CDATA[charmr]]></category>
		<category><![CDATA[diabetes]]></category>
		<category><![CDATA[gadgets]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[multi-touch]]></category>
		<category><![CDATA[patent]]></category>
		<category><![CDATA[speech recognition]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[vision impairment]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=318</guid>
		<description><![CDATA[One <strong>flaw of the iPhone</strong> is its inaccessibility for visually impaired users, despite some built-in accessibility features for other users. Now there&#8217;s light at the end of the tunnel: a few days ago Apple filed a patent for multi-touch in combination with features such as <strong>voice commands and speech recognition</strong>, facial recognition, gestures, fingerprint input, body temperature, heart rate, skin impedance, and pupil size.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img alt="" src="/wp-content/uploads/2008/09/apple-voice-recognition-patent.gif" title="Method of inputting including voice recognition that triggers actions associated with chording and movement data." class="alignright" width="200" height="289" /> One <strong>flaw of the iPhone</strong> is its <a href="http://niquimerret.com/?p=95">inaccessibility for visually impaired users</a>, despite some built-in <a href="http://www.apple.com/accessibility/iphone/">accessibility features</a> for other users.</p>

<p>Now there&rsquo;s light at the end of the tunnel: a few days ago Apple filed a <a href="http://appft1.uspto.gov/netacgi/nph-Parser?Sect1=PTO1&#038;Sect2=HITOFF&#038;d=PG01&#038;p=1&#038;u=%2Fnetahtml%2FPTO%2Fsrchnum.html&#038;r=1&#038;f=G&#038;l=50&#038;s1=%2220080211766%22.PGNR.&#038;OS=DN/20080211766&#038;RS=DN/20080211766">patent for multi-touch</a> in combination with features such as <strong>voice commands and speech recognition</strong>, facial recognition, gestures, fingerprint input, body temperature, heart rate, skin impedance, and pupil size.</p>

<p>With that range of input possibilities, accessibility on the iPhone (and on other devices) could be significantly improved. Also other visionary devices come into range, like the <a href="http://www.adaptivepath.com/blog/2007/08/14/charmr-a-design-concept-for-diabetes-management-devices/">Charmr</a> for diabetes management.</p>

<p>The Charmr was a great design study by <strong>Adaptive Path</strong>, although a touch screen is a problem for people with diabetes who are more likely to develop vision impairments and lose tactile sensitivity. Speech recognition is an obvious solution. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<div><object type="application/x-shockwave-flash" id="flashContent" data="http://www.youtube.com/v/VQe1tssyGkU&amp;hl=en&amp;fs=1&amp;rel=0" width="425" height="344" class="floatR" title="Charmr: Adaptive Path&rsquo;s diabetes management design concept on YouTube">
<param name="movie" value="http://www.youtube.com/v/VQe1tssyGkU&amp;hl=en&amp;fs=1&amp;rel=0" />
<param name="quality" value="high" />
<param name="allowFullScreen" value="true" />
<a href="http://www.youtube.com/watch?v=VQe1tssyGkU&amp;hl=en"><img src="http://img.youtube.com/vi/VQe1tssyGkU/1.jpg" width="260" height="194" alt="YouTube video" class="screenshot centered" />Watch the Charmr video on an iPhone</a>
</object></div>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/accessible-iphone/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@media 2008</title>
		<link>http://learningtheworld.eu/2008/atmedia-2008/</link>
		<comments>http://learningtheworld.eu/2008/atmedia-2008/#comments</comments>
		<pubDate>Wed, 25 Jun 2008 20:00:18 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[AMEE]]></category>
		<category><![CDATA[Andy Clarke]]></category>
		<category><![CDATA[atmedia]]></category>
		<category><![CDATA[atmedia2008]]></category>
		<category><![CDATA[BBC]]></category>
		<category><![CDATA[book:ean=9780596529307]]></category>
		<category><![CDATA[book:isbn=0596529309]]></category>
		<category><![CDATA[book:isbn=0975240293]]></category>
		<category><![CDATA[carbon footprint]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Dan Rubin]]></category>
		<category><![CDATA[Edenbee]]></category>
		<category><![CDATA[Frontend Engineering]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[James Graham]]></category>
		<category><![CDATA[jaws]]></category>
		<category><![CDATA[John Resig]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[Lachlan Hunt]]></category>
		<category><![CDATA[london]]></category>
		<category><![CDATA[Nate Koechley]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[Rich Schwerdtfeger]]></category>
		<category><![CDATA[Richard Schwerdtfeger]]></category>
		<category><![CDATA[upcoming:event=318308]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=105</guid>
		<description><![CDATA[I had the chance to visit the <strong>@media conference in London</strong> again, for the third time. Again it was different than the last times. Perhaps less spectacular, a little less people, no real revelation. There were excellent talks inside the halls, but the best talks happened outside. Like speaking with Nate Koechley about&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/martin-kliehm/2560737021/in/set-72157605494499216/"><img src="/wp-content/uploads/2008/06/panel" width="210" height="158" alt="@media Hot Topics Panel" class="floatleft" /></a> I had the chance to visit the <strong>@media conference in London</strong> again, for the third time. Again it was different than the last times. Perhaps less spectacular, a little less people, no real revelation. There were excellent talks inside the halls, but the best talks happened outside. Like speaking with <strong><a href="http://nate.koechley.com">Nate Koechley</a></strong> about accessible <a href="/2008/captioning-youtube-with-dfxp/">video captioning</a> with a <acronym title="World Wide Web Consortium">W3C</acronym> <acronym title="Extensible Markup Language">XML</acronym> standard that exists for exactly that purpose. There are video tutorials on the Yahoo! Developer Network that would be great test objects. Imagine the impact crowdsourced captioning for video content on flickr or YouTube could have on accessibility! Or I learned from <strong>David Storey</strong> that Opera is working on a curriculum together with the Web Standards Project. Interesting because there have been <a href="http://www.idcnet.info">similar approaches</a> financed by the European Commission, and it would be good to get them talk to each other. Meeting <strong>Steve Faulkner</strong> whose <a href="http://www.paciellogroup.com/resources/wat-ie-about.html">Accessibility Toolbar</a> I helped translating into German. Or just speaking with Antonia Hyde, Christian Heilmann, Fabio Carriere, Henny Swan, <a href="http://www.accessify.com">Ian Lloyd</a>, Lachlan Hunt, Patrick H. Lauke, Richard Ishida, and a few others about standards, accessibility, and internationalization. I admit it. I&rsquo;m a geek, I can&rsquo;t smalltalk.</p>

<p><a href="http://www.flickr.com/photos/martin-kliehm/2560723617/in/set-72157605494499216/"><img src="/wp-content/uploads/2008/06/ian-lloyd" width="210" height="158" alt="dir=rtl: Ian Lloyd, David Storey, Lachlan Hunt" class="floatleft" /></a> I started my conference program with a <strong>case study by the <acronym>BBC</acronym></strong>. They did a redesign and managed to squeeze formerly 60 images into 3 sliding doors and sprites. Their home page is now under 300<abbr title="Kilobyte">K</abbr> and 30 <acronym>HTTP</acronym> requests. Nice to see <a href="/2007/performance-2/">Yahoo&rsquo;s Exceptional Performance</a> guidelines go mainstream. About 5% of their users access the site without JavaScript. They don&rsquo;t get identical features, but they get identical care. For them accessibility isn&rsquo;t a buzzword, it&rsquo;s become a natural part of their daily work. So they were able to find out that <code>blur()</code> is not a friend with JAWS. Also the <acronym>BBC</acronym> plays well with the other kids: they joined the OpenID foundation, and with <a href="http://backstage.bbc.co.uk"><acronym>BBC</acronym> backstage</a> they open their content through an <acronym>API</acronym>. Another charming idea is their <strong>public beta</strong> where people can testdrive new features. About 60% have personalized their home page, although one of the speakers described the personalization features with &ldquo;my mom&rsquo;s head exploded.&rdquo; They used agile development with 2 week sprints, run the website in 12 languages, but don&rsquo;t have a <acronym title="Content Distribution Network">CDN</acronym> yet because of the license fees.</p>

<p>Another case study about the <acronym title="Lifestyle of Health and Sustainability">LOHAS</acronym> community <strong>Edenbee</strong> wasn&rsquo;t <em>that</em> exiting, mostly because I knew the platform <a href="http://edenbee.com/users/martin/">since beta</a> and didn&rsquo;t get quite why I should speak with other people about changing their lightbulbs. But it&rsquo;s nice to keep track of your carbon footprint, a feature that uses the <a href="http://www.amee.cc">AMEE</a> open <acronym>API</acronym>.</p>

<p>I was curious about <strong><a href="http://www.w3.org/html/wg/html5/"><acronym title="Hypertext Markup Language">HTML</acronym>&nbsp;5</a></strong>, so I went to the presentation of Lachlan Hunt and James Graham. Still I don&rsquo;t see any advantage of having a bunch of new elements that are incompatible with older browsers when I can achieve the same with <acronym title="Accessible Rich Internet Applications">ARIA</acronym> attributes. But I understand the rationale behind some of their decisions, although that doesn&rsquo;t mean I come to the same conclusions.</p>

<p>For example people use a lot of &ldquo;nav&rdquo; and &ldquo;menu&rdquo; classes. To make their live easier, the <acronym>WHATWG</acronym> came up with the idea to create a <code>nav</code> element. A block level element, so you wouldn&rsquo;t have to use those <code>&lt;div class=&quot;nav&quot;&gt;</code> any more. But every time I use something like <code>class=&quot;navigation&quot;</code> it will be an unordered list! I don&rsquo;t need another <code>div</code>, I&rsquo;m perfectly happy with my <code>ul</code> and <code>role=&quot;navigation&quot;</code>. It&rsquo;s truly backward compatible, it&rsquo;s semantic, I can use it today, and there isn&rsquo;t a steep learning curve.</p>

<p><a href="http://www.flickr.com/photos/martin-kliehm/2561565004/in/set-72157605494499216/"><img src="/wp-content/uploads/2008/06/comic-panel" width="210" height="153" alt="Concrete Comic Panel" class="floatleft" /></a><a href="http://www.flickr.com/photos/martin-kliehm/2560740717/in/set-72157605494499216/"><img src="/wp-content/uploads/2008/06/andy-clarke" width="210" height="171" alt="Andy Clarke&rsquo;s design" class="floatleft clear" /></a> Then I went to two <strong>design talks by Andy Clarke and Dan Rubin</strong>, and though their designs were beautiful, the code examples were not. Imagine the flexibility of a newspaper article and compare that with the inflexibility of absolutely positioned paragraphs with fixed heights. Exactly. Apart from that Andy&rsquo;s main inspiration came from comic books. It never hurts to throw in some colorful images.</p>

<p>Like in comic books, usability is not about <em>getting</em> from A to B, it&rsquo;s about the <em>experience</em> of getting from A to B. In comic books the size of a panel and the amount of text strongly influences the reading speed. So you can emphasize content and add dynamics in your web design. That doesn&rsquo;t mean necessarily that everything has to be in boxes. Emphasis can also be added by <em>removing</em> the boxes.</p>

<p><strong>Dan Rubin</strong> used a lot of effects on his designs, like a noise filter to add texture on monochrome surfaces. Nice idea, though that implies the designer explaining the rationale of such a feature to the front-end engineers. They would either ignore it because they overlooked the subtle texture or because they assumed it would be just noise. Some less intrusive hint I will readily adopt was using a letter-spacing of &minus;1 on headlines to prevent tiny rivers between letters. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<p>What slightly worries me is that Dan talked about re-using patterns for some effects in Photoshop. Re-using patterns is the same in <acronym title="Cascading Style Sheets">CSS</acronym>, but re-usable effects in Photoshop can mean an <em>un</em>usable amount of work in <acronym>CSS</acronym> and lots of pictures making the website slow. What I miss so far is a common understanding of effects and patterns that are both easy to work with in Photoshop <em>and</em> in frontend programming.</p>

<p><a href="http://www.flickr.com/photos/martin-kliehm/2611269470/in/set-72157605494499216/"><img src="/wp-content/uploads/2008/06/koechley-slide-frontend-knowledge-areas-thumb" width="210" height="158" alt="Slide: Knowledge Areas of Frontend Engineering" class="floatleft" /></a> The next day started with <strong>Nate Koechley&rsquo;s</strong> keynote about <strong><a href="http://nate.koechley.com/blog/2008/06/11/slides-professional-frontend-engineering/">professional frontend engineering</a></strong>. He chose the topic because he thinks this is critical to the advancement of the Internet, and I couldn&rsquo;t agree more. As Frontend Engineers we write <em>software</em> with <acronym title="Extensible Hypertext Markup Language">XHTML</acronym>, <acronym title="Cascading Style Sheets">CSS</acronym>, JavaScript, and quite some amount of <acronym>PHP</acronym>. Douglas Crockford calls this &ldquo;<cite>the most hostile software development environment imaginable</cite>,&rdquo; and if you take a look at this graphic from Nate&rsquo;s slides you will understand why. There are a number of knowledge areas that can be applied in a number of ways on three operating systems and half a dozen browsers in two rendering modes. If you ever wondered why you sometimes see little clouds of smoke coming out of your frontend engineering heads, that&rsquo;s why.</p>

<p>There are four <strong>guiding principles</strong>:</p>

<ol><li>Availability and accessibility for all users worldwide</li>
<li>Openness: share, learn, support, advocate</li>
<li>Richness: provide, but not too much</li>
<li>Stability</li></ol>

<p>Then there are three <strong>core techniques</strong>: <a href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support</a>, <a href="http://domscripting.com/blog/display/41">Progressive Enhancement</a>, and <a href="http://www.onlinetools.org/articles/unobtrusivejavascript/">Unobtrusive JavaScript</a>.If you haven&rsquo;t heard about those concepts, please read about them now.</p>

<p>At that point the presentation turned into giving advice for quite a number of best practices and tips, like using <a href="http://www.jslint.com">JSLint</a>, <a href="http://developer.yahoo.com/yui/yuitest/"><acronym title="Yahoo! User Interface Library">YUI</acronym> Unit Testing</a>, or <a href="http://developer.yahoo.com/yui/profiler/"><acronym>YUI</acronym> Profiler</a> to enhance the quality of your code. Or serving <strong>cacheable assets from cookie-free domains</strong>. Or <strong>anticipated preloads</strong>: sneak in your new JavaScript and <acronym>CSS</acronym> files a week <em>before</em> the relaunch. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" />  Or did you know that the <strong>iPhone</strong> 2G can keep only 19 assets in <strong>cache</strong>, and that it doesn&rsquo;t cache anything larger than 25K? Uncompressed 25K? Needless to say, Nate&rsquo;s presentation was one of the conference highlights.</p>

<p><a href="http://www.flickr.com/photos/martin-kliehm/2560732727/in/set-72157605494499216/"><img src="/wp-content/uploads/2008/06/john-resig" width="210" height="158" alt="John Resig" class="floatleft" /></a> Later I heard a few things about building applications with existing frameworks and <acronym title="Application Programming Interface">API</acronym>s, a timely comparison between <strong>JavaScript libraries</strong> held by no other than <strong><a href="http://jquery.com">jQuery</a>&rsquo;s John Resig</strong>, some tips on <strong>internationalization</strong> by <strong>Richard Ishida</strong>, and a panel about <strong>accessibility</strong>. The one sentence that stuck most in that panel was: &ldquo;Don&rsquo;t be the guy with the problems, be the guy with the solutions.&rdquo; In fact it&rsquo;s very hard to be passionate about your job while being pragmatic and providing solutions instead of just saying &ldquo;no.&rdquo; Something <a href="http://www.ibm.com/developerworks/blogs/page/schwer?entry=cynthia_ice_remembered">Richard Schwerdtfeger</a> wrote about in a different context:</p>

<blockquote cite="http://www.ibm.com/developerworks/blogs/page/schwer?entry=cynthia_ice_remembered"><p>Working in the accessibility field is extremely difficult. It requires very specialized skills&nbsp;&mdash; including incredible persistence. Accessibility is often viewed as additional work that is not always planned for. It requires a person who is tough, committed, patient, and caring to deliver an accessible solution that is usable to our customers. To do this you must have tremendous passion for your job as there is always someone or something to trip you up.</p></blockquote>

<p>Combining passion and diplomacy is a goal many web evangelists still have to work on&hellip; In the meantime remember that accessibility is most likely to have a sustainable impact when it is <a href="http://www.usbln.org/pdf/CRGAccessibilityStudy_v1%206.pdf" type="application/pdf">supported by senior management</a>, when there is an accessibility policy for a company, and when smart companies realize that <a href="/2007/accessibility-cost-effectiveness/">there is money to be made</a> by maximizing the target audience.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/atmedia-2008/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Accessibility Tools for Quality Assurance: Color Contrast</title>
		<link>http://learningtheworld.eu/2008/color-contrast-tools/</link>
		<comments>http://learningtheworld.eu/2008/color-contrast-tools/#comments</comments>
		<pubDate>Fri, 01 Feb 2008 13:00:11 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[brightness]]></category>
		<category><![CDATA[color]]></category>
		<category><![CDATA[colour]]></category>
		<category><![CDATA[contrast]]></category>
		<category><![CDATA[iTunes]]></category>
		<category><![CDATA[luminosity]]></category>
		<category><![CDATA[QA]]></category>
		<category><![CDATA[quality assurance]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2008/accessibility-tools-for-quality-assurance-color-contrast/</guid>
		<description><![CDATA[Accessibility testing tools are great for quality assurance (<acronym>QA</acronym>), even when the website doesn&#8217;t have to be accessible. For example, <strong>color contrast</strong> is a very subjective thing. It depends on technical factors like the quality and settings of the screen, environmental factors like glaring sunlight, and the physical abilities of the person viewing it. It&#8217;s literally subjective in the eye of the designer. Color contrast analyzers give us an impression how fore- and background colors are perceivable by <em>other</em> people.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Accessibility testing tools are great for quality assurance (<acronym>QA</acronym>), <strong>even when the website doesn&rsquo;t have to be accessible</strong>. For example, color contrast is a very subjective thing. It depends on technical factors like the quality and settings of the screen, environmental factors like glaring sunlight, and the physical abilities of the person viewing it. It&rsquo;s literally <strong>subjective</strong> in the eye of the designer.</p>

<p>In contrast, color contrast analyzers use algorithms from the Web Content Accessibility Guidelines (<acronym>WCAG</acronym>) to obtain verifiable, <strong>objective</strong> results for luminosity, brightness and contrast. Those results give us an impression how fore- and background colors are perceivable by <em>other</em> people.</p>

<h3>An example</h3>

<p>Visiting the <strong>iTunes store</strong> we can say subjectively that the light gray text on a dark gray background is somehow hard to read. It&rsquo;s straining, and possibly that&rsquo;s not only due to the small font size:</p>

<p><img src="/wp-content/uploads/2008/02/screenshot-itunes-movies.jpg" alt="Screenshot iTunes Store Top Movies Section" width="500" height="356" /></p>

<p>If we check it with a color contrast analyzer, we get results like these:</p>

<p><img src="/wp-content/uploads/2008/02/screenshot-cca.png" alt="Screenshot Colour Contrast Analyser" width="500" height="107" /></p>

<p>The luminosity contrast ratio is sufficient with 5.37, the difference in brightness only just fails with 116 (125 being the lower limit), and the difference in color is insufficient with a result of 348 (the lower limit is 500).</p>

<p>So it&rsquo;s not us getting old&nbsp;&mdash; the color values are indeed poorly chosen!</p>

<h3>Downloads and links</h3>

<p>There are various tools to test color contrast:</p>

<ul>
<li>Firefox Add-Ons: <a href="https://addons.mozilla.org/en-US/firefox/addon/7313/">Colour Contrast Analyser</a> and <a href="https://addons.mozilla.org/en-US/firefox/addon/9108/">Juicy Studio Accessibility Toolbar</a></li>
<li>Internet Explorer: <a href="http://www.paciellogroup.com/resources/wat-ie-about.html">Web Accessibility Toolbar 2.0</a> (<acronym>WAT</acronym>)</li>
<li>Opera: <a href="http://www.paciellogroup.com/resources/wat-about.html">Web Accessibility Toolbar 1.1</a></li>
<li><a href="http://www.paciellogroup.com/resources/contrast-analyser.html">Colour Contrast Analyser 2.2</a> as standalone software for Windows or Mac OS</li>
</ul>

<p>As web application:</p>

<ul>
<li><a href="http://juicystudio.com/services/colourcontrast.php">Juicystudio Colour Contrast Analyser</a></li>
<li>More <a href="http://www.w3.org/TR/UNDERSTANDING-WCAG20/visual-audio-contrast-contrast.html#visual-audio-contrast-contrast-resources-head">resources listed by the <acronym>W3C</acronym></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/color-contrast-tools/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>World Usability Day 2007</title>
		<link>http://learningtheworld.eu/2007/world-usability-day-2007/</link>
		<comments>http://learningtheworld.eu/2007/world-usability-day-2007/#comments</comments>
		<pubDate>Thu, 08 Nov 2007 10:30:12 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[Blue Mars]]></category>
		<category><![CDATA[BlueMars]]></category>
		<category><![CDATA[flickr]]></category>
		<category><![CDATA[machinetags]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[worldusabilityday]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/world-usability-day-2007/</guid>
		<description><![CDATA[Today is <strong>World Usability Day</strong>! In honor of this day my colleagues and I would like you to take a photo of any item or application whose usability you appreciate. Upload it on flickr with a short description what you like about it and (machine) tag it with <code>bluemars:event=wud</code> and <code>worldusabilityday</code> so they will appear here.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Today is <a href="http://www.worldusabilityday.org">World Usability Day</a>! In honor of this day my colleagues and I would like you to take a photo of any item or application whose usability you appreciate. Upload it on <a href="http://flickr.com">flickr</a> with a short description what you like about it and (machine) tag it with <code>bluemars:event=wud</code> and <code>worldusabilityday</code> so it will appear here and on the site of <a href="http://www.bluemars.net/de/world-usability-day/">BlueMars</a>.</p>

<p><strong>Note:</strong> when your flickr account is fresh, your photos will not be search indexed unless flickr staff has approved them as &ldquo;safe.&rdquo; Also you need to <a href="http://www.flickr.com/account/prefs/optout/?from=privacy">approve your photos for public search</a>: &ldquo;hide your photos from searches on 3rd party sites that use the API?&rdquo; must be unchecked.</p>

<h3>Your photos</h3>

<ul class="flickr">
<li><a href="https://www.flickr.com/photos/philiphubs/2051932489/" title="MINI UI"><img src="https://live.staticflickr.com/2034/2051932489_98a1357df8_s.jpg" alt="MINI UI" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/2031336449/" title="T&amp;G Shampoo"><img src="https://live.staticflickr.com/2106/2031336449_52145a26cf_s.jpg" alt="T&amp;G Shampoo" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1982586871/" title="TinTin Briefbeschwerer"><img src="https://live.staticflickr.com/2231/1982586871_b5e4d7dcce_s.jpg" alt="TinTin Briefbeschwerer" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1934355173/" title="Verpackung"><img src="https://live.staticflickr.com/2366/1934355173_9f37568d59_s.jpg" alt="Verpackung" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1934620074/" title="Umweltfreundliche Dusche"><img src="https://live.staticflickr.com/2031/1934620074_2b429ca706_s.jpg" alt="Umweltfreundliche Dusche" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1930985415/" title="Lichtschranke"><img src="https://live.staticflickr.com/2223/1930985415_4242dfeebc_s.jpg" alt="Lichtschranke" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1915883429/" title="Stelton Thermoskanne (Design by Erik Magnussen)"><img src="https://live.staticflickr.com/2256/1915883429_30f248bbb6_s.jpg" alt="Stelton Thermoskanne (Design by Erik Magnussen)" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1916595602/" title="Fahrradampel"><img src="https://live.staticflickr.com/2368/1916595602_fc738c4b8d_s.jpg" alt="Fahrradampel" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1915765943/" title="Briefkasten"><img src="https://live.staticflickr.com/2031/1915765943_5996f99006_s.jpg" alt="Briefkasten" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1915414598/" title="Apple Ladegeräte"><img src="https://live.staticflickr.com/2159/1915414598_1822b0eb34_s.jpg" alt="Apple Ladegeräte" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1915415002/" title="Post-Its"><img src="https://live.staticflickr.com/2163/1915415002_b650d24da7_s.jpg" alt="Post-Its" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1915414222/" title="Adobe Lightroom"><img src="https://live.staticflickr.com/2262/1915414222_b91e75af53_s.jpg" alt="Adobe Lightroom" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1913831369/" title="Reiskocher"><img src="https://live.staticflickr.com/2175/1913831369_e926aab8bc_s.jpg" alt="Reiskocher" /></a></li><li><a href="https://www.flickr.com/photos/t-klick/1907702063/" title="Canon's swivel monitor"><img src="https://live.staticflickr.com/2345/1907702063_193b278a11_s.jpg" alt="Canon's swivel monitor" /></a></li><li><a href="https://www.flickr.com/photos/tmeyes/1905335999/" title="Rennhaken"><img src="https://live.staticflickr.com/2059/1905335999_4beac28c12_s.jpg" alt="Rennhaken" /></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/world-usability-day-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Foreground Sprites</title>
		<link>http://learningtheworld.eu/2007/foreground-sprites/</link>
		<comments>http://learningtheworld.eu/2007/foreground-sprites/#comments</comments>
		<pubDate>Thu, 26 Jul 2007 13:00:55 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css sprites]]></category>
		<category><![CDATA[DOM scripting]]></category>
		<category><![CDATA[foreground sprites]]></category>
		<category><![CDATA[hover]]></category>
		<category><![CDATA[image swapping]]></category>
		<category><![CDATA[img element]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[mouseover]]></category>
		<category><![CDATA[rollover]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/foreground-sprites/</guid>
		<description><![CDATA[Most rollovers have become obsolete because they can be performed on background images with <strong><acronym title="Cascading Style Sheets">CSS</acronym> sprites</strong>. However, there are those rare cases when there is just an icon without text, like a &#8220;play&#8221; or &#8220;pause&#8221; button. This article discusses how to apply <acronym>CSS</acronym> sprites for foreground images.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="alert"><ins datetime="20080626T200000">Please consider a better solution with <a href="/2008/better-foreground-sprites/">Better Foreground Sprites</a>.</ins></p>

<p>Most rollovers have become obsolete because they can be performed on background images with <strong><a href="http://www.alistapart.com/articles/sprites/"><acronym title="Cascading Style Sheets">CSS</acronym> sprites</a></strong>. If there are hover effects today, they usually come as text on a button background image, or as a text link with an icon next to it.</p>

<p>However, there are those rare cases when there is <strong>just an icon without text</strong>, like a &ldquo;play&rdquo; or &ldquo;pause&rdquo; button, or a magnification glass on an image to signal it can be enlarged. If you want to swap images when the element receives focus or on mouseover, traditionally you are stuck with two options:</p>

<ol>
<li>JavaScript to change the image source, or</li>
<li><acronym>CSS</acronym> sprites to change the position of a background image behind a transparent <code>gif</code> image.</li>
</ol>

<p>I like neither. Using JavaScript and two images with pre-loading seems like a waste of resources when it can be done with <acronym>CSS</acronym> and one image only. Transparent gifs are <em>so</em> 1998, besides the background usually doesn&rsquo;t get printed. So what we need on these occasions are <strong><acronym>CSS</acronym> sprites for foreground images</strong>.</p>

<p>Until recently I thought that can&rsquo;t be done, but then I stumbled upon some code for <a href="http://download.dojotoolkit.org/release-0.9.0beta/dojo-0.9.0beta/dijit/tests/form/test_Checkbox.html">checkbox widgets in Dojo</a>. Naturally they use a lot of JavaScript for the task. Anyway I like my default checkboxes and don&rsquo;t have any urge to make them prettier (I have no doubt our design overlords would enforce <em>aqua</em> icons everywhere), but that made me think. Here&rsquo;s a suggestion:</p>

<p>First a simple sprite which is 50px wide: <img src="/examples/img/icon-enlarge.gif" width="50" height="15" alt="Two icons of a magnification glass" class="example sprite" /></p>

<p>The <acronym title="Hypertext Markup Language">HTML</acronym> code uses the dimensions of a <em>single</em> icon for width and height to allow fast page rendering without reflow:</p>

<ol class="code">
<li><code>&lt;a href=&quot;/big/&quot; class="icon"&gt;</code></li>
<li class="indent"><code>&lt;img src=&quot;/img/icon-enlarge.gif&quot; id=&quot;magnifier&quot; <strong>width=&quot;19&quot; height=&quot;15&quot;</strong> alt=&quot;enlarge image&quot; /&gt;</code></li>
<li><code>&lt;/a&gt;</code></li>
</ol>

<p>The corresponding <acronym>CSS</acronym> sets the link to <code>display: block</code>, uses the single icon dimensions for the container, prevents overflow, and resets the image dimensions to <code>auto</code> to prevent distortion. The actual image swapping is achieved by a negative left margin on hover.</p>

<ol class="code">
<li><code>a.icon {</code></li>
<li class="indent"><code><strong>display: block;</strong></code></li>
<li class="indent"><code><strong>width: 19px;</strong></code></li>
<li class="indent"><code><strong>height: 15px;</strong></code></li>
<li class="indent"><code><strong>overflow: hidden;</strong></code></li>
<li><code>}</code></li>
<li><code>a.icon img {</code></li>
<li class="indent"><code><strong>width: auto;</strong></code></li>
<li class="indent"><code><strong>height: auto;</strong></code></li>
<li class="indent"><code>border: none;</code></li>
<li><code>}</code></li>
<li><code>a.icon:hover img, a.icon:focus img, a.icon img.hover {</code></li>
<li class="indent"><code><strong>margin-left: &minus;31px;</strong></code></li>
<li><code>}</code></li>
</ol>

<p>For the sake of simplicity I ignored how the link would be floated or positioned. Also borders, a background color, or padding to increase the clickable area can be added to the parent element.</p>

<p>For simplicity I chose a link in the example, but the same can be done with a <code>div</code> surrounding an <code>&lt;input type=&quot;image&quot;&nbsp;/&gt;</code>. Then of course you need to define <code>cursor: pointer</code>, and for anything below <acronym title="Internet Explorer">IE</acronym>7 bind the <acronym title="Document Object Model">DOM</acronym> event to the hovering element (<a href="/examples/js/foreground-sprites-ie6.js" type="text/javascript" title="JavaScript source code to fix Internet Explorer">get the source</a>):</p>

<ol class="code">
<li><code>&lt;!--[if lt IE 7]&gt;</code></li>
<li><code>&lt;script type=&quot;text/javascript&quot;&gt;</code></li>
<li><code>oIcon = {</code></li>
<li class="indent"><code>setHoverClass : function() {</code></li>
<li class="indent"><code><span class="indent"><strong>this.className = &#x27;hover&#x27;;</strong></span></code></li>
<li class="indent"><code>},</code></li>
<li class="indent"><code>resetHoverClass : function() {</code></li>
<li class="indent"><code><span class="indent"><strong>this.className = &#x27;&#x27;;</strong></span></code></li>
<li class="indent"><code>}</code></li>
<li><code>};</code></li>
<li><code>var elm = document.getElementById(&#x27;magnifier&#x27;);</code></li>
<li><code>if (elm) {</code></li>
<li class="indent"><code>elm.onmouseover = elm.onfocus = oIcon.setHoverClass;</code></li>
<li class="indent"><code>elm.onmouseout = elm.onblur = oIcon.resetHoverClass;</code></li>
<li><code>}</code></li>
<li><code>&lt;/script&gt;</code></li>
<li><code>&lt;![endif]--&gt;</code></li>
</ol>

<p><strong>Here is a working example</strong>. You know how to adjust the code if you need more than one class on the image.</p>

<p><a href="#" class="icon"><img src="/examples/img/icon-enlarge.gif" id="magnifier" width="19" height="15" alt="enlarge image" /></a></p>

<p>That was nice and easy. It&rsquo;s tested in Firefox&nbsp;2, Opera&nbsp;9, Internet Explorer 5+, and Safari&nbsp;2. Screen readers should be okay with the <code>alt</code> text.</p>

<h3>Discussion</h3>

<p>The trouble begins when people <strong>start turning off browser features</strong>.</p>

<p>People with <strong>disabled images</strong> won&rsquo;t be able to read the alternative text because the visible area is limited by the parent container. That can be detected by comparing the known sprite size with the <code>alt</code> text size. Then the class is set to anything but <code>icon</code> so that the parent container expands.</p>

<p>More severe is when people <strong>disable style sheets</strong> because then they will see a squeezed image with multiple icons. If you are hyper-correct, you could replace the crushed multi-icon image with the correct single icon (you could use the <code>class</code> or <code>rel</code> attribute to define the icon type), but nobody wants to slice images. As a compromise I would suggest to replace the icon with its <code>alt</code> text.</p>

<p>See the <a href="/examples/js/foreground-sprites-access.js" type="text/javascript" title="JavaScript source code for accessibility">script</a> to detect disabled images or <acronym>CSS</acronym>. (Note: it isn&rsquo;t implemented here because I couldn&rsquo;t test it properly on <acronym>IE</acronym>6 with stuff turned off.)</p>

<p>If JavaScript is unavailable, the user is stranded with what we gave him. Also <strong>icons without text are inherently evil</strong> because they can&rsquo;t be enlarged by zoom readers. Did I forget any politically correct disclaimer for obscure use scenarios?</p>

<p>So we ended up with a <acronym>CSS</acronym> only version, but still some JavaScript is needed for the extra effort to provide the same experience to users of <acronym>IE</acronym> 5-6, and some more for certain user scenarios. Wouldn&rsquo;t it be easier to slice and swap foreground images the old way? But then again slicing is a pain, and people already start using background images. <strong>Do people actually turn off <acronym>CSS</acronym> and images?</strong> Or is that another remnant of <acronym title="Web Content Accessibility Guidelines">WCAG</acronym> 1.0 from 1999?</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/foreground-sprites/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>@media 2007 Wrap-Up</title>
		<link>http://learningtheworld.eu/2007/atmedia-wrapup/</link>
		<comments>http://learningtheworld.eu/2007/atmedia-wrapup/#comments</comments>
		<pubDate>Mon, 18 Jun 2007 19:25:50 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[@media]]></category>
		<category><![CDATA[Andy Clarke]]></category>
		<category><![CDATA[atmedia]]></category>
		<category><![CDATA[atmedia07]]></category>
		<category><![CDATA[atmedia2007]]></category>
		<category><![CDATA[Beyond AJAX]]></category>
		<category><![CDATA[book:isbn=0321410971]]></category>
		<category><![CDATA[book:isbn=1430319526]]></category>
		<category><![CDATA[creative sponge]]></category>
		<category><![CDATA[Hannah Donovan]]></category>
		<category><![CDATA[i18n]]></category>
		<category><![CDATA[internationalization]]></category>
		<category><![CDATA[Jesse James Garrett]]></category>
		<category><![CDATA[Joe Clark]]></category>
		<category><![CDATA[Jon Hicks]]></category>
		<category><![CDATA[Last FM]]></category>
		<category><![CDATA[london]]></category>
		<category><![CDATA[Mark Boulton]]></category>
		<category><![CDATA[Molly Holzschlag]]></category>
		<category><![CDATA[Richard Ishida]]></category>
		<category><![CDATA[Shawn Henry]]></category>
		<category><![CDATA[Shawn Lawton Henry]]></category>
		<category><![CDATA[typography]]></category>
		<category><![CDATA[upcoming:event=110091]]></category>
		<category><![CDATA[WAI]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/atmedia-wrapup/</guid>
		<description><![CDATA[Sum-up of the <strong>@media conference</strong> in London that I attended June 7th-8th, 2007. Read about Jesse James Garret&#8217;s keynote, passionate evangelists, and how to get great design ideas on the loo&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Here&rsquo;s a short sum-up of the @media conference in London that I attended. <a href="/2007/not-your-problem/">Joe Clark&#8217;s</a> and Nate Koechley&#8217;s talks got separate blog entries, please check them for accessibility and <a href="/2007/performance-2/">browser performance</a> issues.</p>

<h3>In this post</h3>

<ul class="toc">
<li><a href="#garrett">Jesse James Garrett</a></li>
<li><a href="#holzschlag">Molly Holzschlag</a></li>
<li><a href="#boulton">Mark Boulton</a></li>
<li><a href="#hicks">Jon Hicks</a></li>
<li><a href="#donovan">Hannah Donovan</a></li>
<li><a href="#henry">Shawn Lawton Henry</a></li>
<li><a href="#ishida">Richard Ishida</a></li>
<li><a href="#clarke">Andy Clarke</a></li>
</ul>

<p id="garrett"><a href="http://www.flickr.com/photos/martin-kliehm/536545606/in/set-72157600328144321/" title="Larger version on flickr"><img src="/wp-content/uploads/2007/06/jesse-james-garrett" alt="Jesse James Garrett" width="240" height="180" class="floatleft photo" /></a> First off was <strong>Jesse James Garrett</strong>, the creator of the term <acronym title="Asynchronous JavaScript and XML">AJAX</acronym>, who held a keynote presentation with all the usual quotes, big stock photos, historical references to technical pioneers (this time the inventor of the Kodak film roll) and such (<a href="http://www.htmldog.com/atmedia2007/beyondajax.mp3" title="Jesse James Garrett podcast" type="audio/mp3">podcast</a>). I&#8217;m afraid I can&rsquo;t bear victorian black and white photos of technical pioneers in the context of web development any longer. OK, so this guy changed the way photos were made in 1885. Also web applications are a little more convenient now than server roundtrips. But where&#8217;s the common element? One made photography easier for the mainstream, the other is a much hyped technique with the <em>potential</em> to make things easier, but quite often people just blow it.</p>

<p>Don&rsquo;t believe the hype. Most web applications still don&#8217;t innovate, they just <em>copy desktop behavior</em>. And who is really comfortable with the restrictions of desktop software anyway? If it&#8217;s only a matter of response rates, learn from Yahoo! how to minimize the amount of data being sent on server requests. If I can update a whole page in 1-2 seconds using smart caching and other techniques, there&rsquo;s <em>no need</em> for an AJAX request except for immediate form feedback helping users to avoid errors. Film rolls have faded from the face of Earth, it really would be more interesting what&#8217;s next, after AJAX. Jesse talked about user-centered design, cited Tim O&#8217;Reilly with the paradigm to &ldquo;<a href="http://radar.oreilly.com/archives/2005/04/designing_from.html">design from the outside in</a>.&rdquo; But that only means: after having taken one usability step back, eventually we will move forward. Where to? Jesse failed to deliver that.</p>

<p id="holzschlag"><a href="http://www.flickr.com/photos/martin-kliehm/536659803/in/set-72157600328144321/" title="Larger version on flickr"><img src="/wp-content/uploads/2007/06/molly-holzschlag" alt="Molly Holzschlag" width="240" height="180" class="floatleft photo" /></a> A key factor to understand why browsers are such a pain is to remind yourself that they are just a piece of software, said <strong>Molly Holzschlag</strong>, now working for Microsoft (<a href="http://www.htmldog.com/atmedia2007/thebrokenworld.mp3" title="Molly Holzschlag podcast" type="audio/mp3">podcast</a>). In fact very complex software. She compared the <a href="http://2007.xtech.org/public/asset/attachment/126" title="The Broken World: Solving the Browser Problem Once and For All">pros and cons of different browsers</a> and what we can learn from them: short iteration circles and automated updates from Firefox, a strong brand and user identification from Opera. Otherwise she recommended that if you <em>really need</em> a feature in <acronym title="Internet Explorer">IE</acronym>, make yourself heard. Put pressure on Microsoft to get priority. Just telling them you &ldquo;want&rdquo; something like multiple background images or <acronym title="Web Accessibility Initiative">WAI</acronym> <acronym title="Accessible Rich Internet Applications">ARIA</acronym> support won&rsquo;t be enough. Your voice and your friends&rsquo; might weight more than that of the <acronym title="World Wide Web Consortium">W3C</acronym>, because you are their customers, their userbase.</p>

<p id="boulton"><strong>Mark Boulton&#8217;s</strong> presentation <a href="http://www.markboulton.co.uk/present/atmedia07">about typography</a> gained more momentum after a while (<a href="http://www.htmldog.com/atmedia2007/fivestepstobettertypography.mp3" title="Mark Boulton podcast" type="audio/mp3">podcast</a>). He explained why Verdana is lighter than Arial, and that you should blur your design to identify the optical gray gradient of a page. Then he continued to talk on grids and how to <a href="http://24ways.org/2006/compose-to-a-vertical-rhythm">design to a vertical rhythm</a>, a topic well known from print but rather unrecognized in web design until last year. Quite fashionable are headlines in a serif font for a better structure, and paying attention to small details like using the correct quotation marks or dashes can make a difference.</p>

<p id="hicks"><a href="http://www.flickr.com/photos/martin-kliehm/536658835/in/set-72157600328144321/" title="Larger version on flickr"><img src="/wp-content/uploads/2007/06/jon-hicks" alt="Jon Hicks with his sketchbook" width="240" height="180" class="floatleft photo" /></a> <strong>Jon Hicks</strong> showed us <a href="http://www.hicksdesign.co.uk/journal/be-a-creative-sponge">how to be a creative <del>leech</del> sponge</a> (<a href="http://www.htmldog.com/atmedia2007/howtobeacreativesponge.mp3" title="Jon Hicks podcast" type="audio/mp3">podcast</a>). Get your inspiration <a href="http://del.icio.us/jonhicks/sponge" title="Examples from Jon Hicks&rsquo; del.icio.us account">everywhere</a>&nbsp;&mdash; with two exceptions. Do sketches, keep those you draw during phone calls, take photos of typefaces, keep photos gone bad just for the color effects, collect labels from clothes, get leaflets (the &ldquo;all you can eat buffet for designers&rdquo;; get even the bad as you might need to mimic bad design some day). Get inspiration from book covers, graphic novels, <a href="http://www.amazon.com/dp/1597020052/">books for</a> <a href="http://www.amazon.com/dp/000724794X/">children</a>, magazines, patterns, prints, or packaging design. <a href="http://printpattern.blogspot.com">Blogs</a> and <a href="http://www.flickr.com/photos/factoryjoe/collections/72157600001823120/">flickr</a> <a href="http://www.flickr.com/photos/printpattern/">groups</a> also help you to get inspiration, delivered right to your desktop through their <acronym>RSS</acronym> feed. The two exceptions? Other websites and logos, because there&#8217;s a high risk you will come up with a copy instead of an original idea. They are too close to the desired product so there&rsquo;s no room for creative transformation.</p>

<p>Once you have collected inspirational material, it needs to be cataloged. That can be done in a sketchbook, but iPhoto, <a href="http://www.barebones.com/products/yojimbo/">Yojimbo</a>, or flickr will do the job.</p>

<p>Catalysts against a creative block (the dreaded blank page) can be deadlines, changing your environment and going for a walk or drive, going to bed, some peace and quietness (in the bathroom, where you keep the magazines for inspiration), taking a shower, or traditional techniques like brainstorming, mindmapping, criticizing and learning from bad examples, or moodboards. If your clients are adventurous enough, they can even do their own.</p>

<p id="donovan"><a href="http://www.flickr.com/photos/rachelandrew/539167297/in/set-72157600329497041/" title="Photo by Rachel Andrew, see larger version on flickr"><img src="/wp-content/uploads/2007/06/hannah-donovan" alt="Hannah Donovan" width="240" height="160" class="floatleft photo" /></a> Some people are <a href="http://blog.basquiat.de/archives/471-Halbbestaendige-Geruechte.html" hreflang="de">angry about Last FM&rsquo;s sell-out to CBS</a>, but <strong>Hannah Donovan</strong> didn&rsquo;t make the impression that a petty-minded corporate spirit has taken over (yet). She talked about lessons you learn in a startup, like getting started, getting out the product very quickly (before others do it), taking small iteration steps with the rapid development technique <a href="http://en.wikipedia.org/wiki/Scrum_(development)">Scrum</a>, and using broad brushstrokes as a designer. Perfectionism is no priority for startups. Also she recommended that designers and developers work on a team (<em>really</em>) and hold 5&nbsp;minute stand-up meetings every morning, &ldquo;that makes a world of difference.&rdquo; That actually means sharing a room, you know.</p>

<p id="henry"><strong>Shawn Lawton Henry</strong> works for the <acronym>W3C</acronym> <acronym title="Web Accessibility Initiative">WAI</acronym> and the <acronym title="Massachusetts Institute of Technology">MIT</acronym>, naturally she talked about accessibility (<a href="http://www.htmldog.com/atmedia2007/advancingwebaccessibility.mp3" title="Shawn Lawton Henry podcast" type="audio/mp3">podcast</a>). That&rsquo;s something most people take as &ldquo;what you can get away with,&rdquo; but it&rsquo;s really <em>about people</em>. So it&rsquo;s important to understand how people with disabilities use the web. Technical standards like the Web Content Accessibility Guidelines 2.0 (<acronym>WCAG</acronym>) only supply a shared definition of requirements. Because they are not going to change for a while you better take the time to <a href="http://www.w3.org/TR/WCAG20/">review the current version</a>. However, the <acronym>WCAG</acronym> Techniques document will be adaptable and more flexible. There will be subversions, and although there&rsquo;s no issue tracker at the moment, you will be able to submit additional techniques to meet the <acronym>WCAG</acronym> requirements as they are intended to grow with time.</p>

<p id="ishida"><a href="http://www.flickr.com/photos/martin-kliehm/536659597/in/set-72157600328144321/" title="Larger version on flickr"><img src="/wp-content/uploads/2007/06/richard-ishida" alt="Richard Ishida" width="240" height="180" class="floatleft photo" /></a> I didn&rsquo;t take notes on <strong>Richard Ishida&rsquo;s</strong> <a href="http://people.w3.org/rishida/blog/?p=95">presentation about <acronym title="internationalization">I18N</acronym></a> because I was familiar with the slides already, but I was deeply impressed by this man (<a href="http://www.htmldog.com/atmedia2007/designingforinternationalusers.mp3" title="Richard Ishida podcast" type="audio/mp3">podcast</a>). Richard lives and breathes internationalization. He speaks about a dozen languages and doesn&rsquo;t let a chance pass to practice them. He is the perfect personification as head of <acronym>W3C</acronym> <acronym>I18N</acronym> activity. I only wish he had said a few things about the <a href="http://www.w3.org/TR/its/"><acronym>I18N</acronym> tag set</a> because it&rsquo;s a mighty tool for translations and fairly new.</p>

<p id="clarke">On a related subject <strong>Andy Clarke</strong> asked designers worldwide if they thought their country or region got a distinctive design style, and he compared international websites of global players (<a href="http://www.htmldog.com/atmedia2007/royalewithcheese.mp3" title="Andy Clarke podcast" type="audio/mp3">podcast</a>). While most of them just work, they could do better by adapting to the local customs and style. Culturalization is the key, anything else is modern imperialism. Check his <a href="http://www.stuffandnonsense.co.uk/downloads/slides/atmedia07.pdf" type="application/pdf" title="Andy Clarke: Royale with Cheese">presentation</a> (<acronym title="Portable Data Format">PDF</acronym>, 18&nbsp;<acronym title="Megabyte">MB</acronym>).</p>

<p><strong>Somehow it was different than last year.</strong> Of course I came home full of inspiration, but this time it was more like deepening knowledge, while last year for example the concepts of microformats or browser performance were totally new for me. I met more people than in 2006, and I feel some of them can become my friends. That&rsquo;s a new experience at a conference. I even found some parallels with Joe Clark. No, I&rsquo;m not a &ldquo;<a href="http://blog.fawny.org/2007/06/08/retired/">sarcastic gay vegan</a>,&rdquo; but we both don&rsquo;t drink, prefer tea, and can be quite pedantic&hellip; I even linked to his website without <code>rel=nofollow</code> now, what an improvement! <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" />  Anyway, I&rsquo;m looking forward to meet some of my new friends in Brighton at <a href="http://2007.dconstruct.org">d.construct</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/atmedia-wrapup/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2007/beyondajax.mp3" length="25117414" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/thebrokenworld.mp3" length="26435499" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/fivestepstobettertypography.mp3" length="25527027" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/howtobeacreativesponge.mp3" length="29128992" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/advancingwebaccessibility.mp3" length="34367158" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/designingforinternationalusers.mp3" length="27147592" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/royalewithcheese.mp3" length="27926598" type="audio/mpeg" />
		</item>
		<item>
		<title>@media 2007 Slides</title>
		<link>http://learningtheworld.eu/2007/atmedia-2007-slides/</link>
		<comments>http://learningtheworld.eu/2007/atmedia-2007-slides/#comments</comments>
		<pubDate>Sun, 17 Jun 2007 14:54:18 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[conferences]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[@media]]></category>
		<category><![CDATA[Andy Clarke]]></category>
		<category><![CDATA[atmedia]]></category>
		<category><![CDATA[atmedia07]]></category>
		<category><![CDATA[atmedia2007]]></category>
		<category><![CDATA[Dan Cederholm]]></category>
		<category><![CDATA[Dan Webb]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[Drew McLellan]]></category>
		<category><![CDATA[Håkon Wium Lie]]></category>
		<category><![CDATA[Hannah Donovan]]></category>
		<category><![CDATA[Jason Santa Maria]]></category>
		<category><![CDATA[Jeremy Keith]]></category>
		<category><![CDATA[Jesse James Garrett]]></category>
		<category><![CDATA[Joe Clark]]></category>
		<category><![CDATA[Jon Hicks]]></category>
		<category><![CDATA[london]]></category>
		<category><![CDATA[Mark Boulton]]></category>
		<category><![CDATA[Molly Holzschlag]]></category>
		<category><![CDATA[Nate Koechley]]></category>
		<category><![CDATA[podcast]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[Richard Ishida]]></category>
		<category><![CDATA[Shawn Henry]]></category>
		<category><![CDATA[Shawn Lawton Henry]]></category>
		<category><![CDATA[Simon Collison]]></category>
		<category><![CDATA[Simon Willison]]></category>
		<category><![CDATA[slides]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[Tantek Çelik]]></category>
		<category><![CDATA[upcoming:event=110091]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/atmedia-2007-slides/</guid>
		<description><![CDATA[Like last year I will try to link all <strong>presentation slides</strong> and podcasts from the @media conference in London, June 7th-8th, 2007. I hope you find it as convenient as I do.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Like last year I will try to link all presentation slides and podcasts from the @media conference in London, June 7th-8th, 2007. I hope you find it as convenient as I do. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<ul>
<li><strong>Andy Clarke:</strong> <a href="http://www.stuffandnonsense.co.uk/downloads/slides/atmedia07.pdf" type="application/pdf">Royale With Cheese</a> (<acronym>PDF</acronym>, 18&nbsp;<acronym title="Megabyte">MB</acronym>); <a href="http://www.htmldog.com/atmedia2007/royalewithcheese.mp3" title="Andy Clarke Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Dan Cederholm:</strong> <a href="http://www.simplebits.com/publications/speak/juggling/juggling.pdf" type="application/pdf">Interface Design Juggling</a> (<acronym>PDF</acronym>, 22&nbsp;<acronym>MB</acronym>); <a href="http://www.htmldog.com/atmedia2007/interfacedesignjuggling.mp3" title="Dan Cederholm Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Dan Webb:</strong> <a href="http://www.slideshare.net/danwrong/java-script-fu-media-london">The Mysteries Of JavaScript-Fu</a>; <a href="http://www.htmldog.com/atmedia2007/themysteriesofjavascriptfu.mp3" title="Dan Webb Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Drew McLellan and Simon Collison:</strong> <a href="http://www.colly.com/comments/media-europe-2007/">High-Noon Shoot-Out: Design vs. Implementation</a></li>
<li><strong>Håkon Wium Lie:</strong> <a href="http://people.opera.com/howcome/2007/talks/06-08-at-media.pdf" type="application/pdf">One Web, Acid2 and CSS3</a> (<acronym title="Portable Data Format">PDF</acronym>, 3.7&nbsp;<acronym>MB</acronym>); <a href="http://www.htmldog.com/atmedia2007/1webacid2andcss3.mp3" title="Håkon Wium Lie Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Hannah Donovan and Simon Willison:</strong> For Example&hellip; <a href="http://static.last.fm/media/HDonovan_@Media.pdf" type="application/pdf">Last FM</a>  (<acronym title="Portable Data Format">PDF</acronym>, 1.8&nbsp;<acronym>MB</acronym>) and <a href="http://simonwillison.net/2007/Jun/11/local/">Doing Local Right</a></li>
<li><strong>Hot Topics Panel:</strong> <a href="http://www.htmldog.com/atmedia2007/hottopics.mp3" title="Hot Topics Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Jason Santa Maria:</strong> <a href="http://www.jasonsantamaria.com/downloads/media/2007/diabolical-design.pdf" type="application/pdf">Diabolical Design: The Devil is in the Details</a> (<acronym>PDF</acronym>, 22&nbsp;<acronym>MB</acronym>); <a href="http://www.htmldog.com/atmedia2007/diabolicaldesign.mp3" title="Jason Santa Maria Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Jeremy Keith:</strong> <a href="http://adactio.com/extras/slides/bulletproof.pdf" type="application/pdf">Bulletproof Ajax</a> (<acronym>PDF</acronym>, 2.1&nbsp;<acronym>MB</acronym>); <a href="http://www.htmldog.com/atmedia2007/bulletproofajax.mp3" title="Jeremy Keith Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Jesse James Garrett:</strong> Beyond Ajax; <a href="http://www.htmldog.com/atmedia2007/beyondajax.mp3" title="Jesse James Garrett Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Joe Clark:</strong> <a href="http://joeclark.org/appearances/atmedia2007/">When Web Accessibility Is Not Your Problem</a>; <a href="http://www.htmldog.com/atmedia2007/whenwebaccessibilityisnotyourproblem.mp3" title="Joe Clark Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Jon Hicks:</strong> <a href="http://www.hicksdesign.co.uk/journal/be-a-creative-sponge">How to be a Creative Sponge</a>; <a href="http://www.htmldog.com/atmedia2007/howtobeacreativesponge.mp3" title="Jon Hicks Podcast" type="audio/mp3">Podcast</a></li> 
<li><strong>Mark Boulton:</strong> <a href="http://www.markboulton.co.uk/present/atmedia07">Five Simple Steps to Better Typography</a>; <a href="http://www.htmldog.com/atmedia2007/fivestepstobettertypography.mp3" title="Mark Boulton Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Molly Holzschlag:</strong> <a href="http://2007.xtech.org/public/asset/attachment/126">The Broken World: Solving the Browser Problem Once and For All</a>; <a href="http://www.htmldog.com/atmedia2007/thebrokenworld.mp3" title="Molly Holzschlag Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Nate Koechley:</strong> <a href="http://nate.koechley.com/blog/2007/06/12/high-performance-web-sites/">High Performance Web Pages</a>; <a href="http://www.htmldog.com/atmedia2007/highperformancewebpages.mp3" title="Nate Koechley Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Richard Ishida:</strong> <a href="http://www.w3.org/2007/Talks/0706-atmedia/">Designing for International Users: Practical Tips</a>; <a href="http://www.htmldog.com/atmedia2007/designingforinternationalusers.mp3" title="Richard Ishida Podcast" type="audio/mp3">Podcast</a></li>
<li><strong>Shawn Lawton Henry:</strong> Advancing Web Accessibility; <a href="http://www.htmldog.com/atmedia2007/advancingwebaccessibility.mp3" title="Shawn Lawton Henry Podcast" type="audio/mp3">Podcast</a></li> 
<li><strong>Tantek Çelik:</strong> <a href="http://tantek.com/presentations/2007/06/microformats-bb-you/">Microformats, Building Blocks, and You</a>; <a href="http://www.htmldog.com/atmedia2007/microformatsbuildingblocksandyou.mp3" title="Tantek Çelik Podcast" type="audio/mp3">Podcast</a></li> 
</ul>

<h3>Update</h3>

<p>Thanks for the reminder, of course <a href="http://blog.fawny.org/category/events/media-london-2007/">Joe Clark</a> wrote detailed protocols about some sessions. Also I would like to point you to Chantal Slagmolen&rsquo;s original notes&nbsp;&mdash; I wish all designers were so creative!</p>

<ul class="flickr">
<li><a href="https://www.flickr.com/photos/talleke81/551731321/" title="@media 2007 -  Jason Santa Maria"><img src="https://live.staticflickr.com/1165/551731321_4c4e613126_s.jpg" alt="@media 2007 -  Jason Santa Maria" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551500566/" title="@media 2007 - Joe Clark"><img src="https://live.staticflickr.com/1162/551500566_c29a1153cb_s.jpg" alt="@media 2007 - Joe Clark" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551499978/" title="@media 2007 - Hakon Wium Lie"><img src="https://live.staticflickr.com/1098/551499978_cc75fbaef7_s.jpg" alt="@media 2007 - Hakon Wium Lie" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551731987/" title="@media 2007 - Hot topic Panel"><img src="https://live.staticflickr.com/1209/551731987_cc2d0b174e_s.jpg" alt="@media 2007 - Hot topic Panel" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551731119/" title="@media 2007 - Hannah Donovan &amp; Simon Willison"><img src="https://live.staticflickr.com/1151/551731119_084f21efed_s.jpg" alt="@media 2007 - Hannah Donovan &amp; Simon Willison" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551499534/" title="@media 2007 - Andy Clarke"><img src="https://live.staticflickr.com/1333/551499534_01aae18ad3_s.jpg" alt="@media 2007 - Andy Clarke" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551501704/" title="@media 2007 - Drew McLellan &amp; Simon Collison"><img src="https://live.staticflickr.com/1099/551501704_687d51d413_s.jpg" alt="@media 2007 - Drew McLellan &amp; Simon Collison" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551500436/" title="@media 2007 - Jesse James Garrett"><img src="https://live.staticflickr.com/1131/551500436_2901f3484d_s.jpg" alt="@media 2007 - Jesse James Garrett" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551731705/" title="@media 2007 - Jon Hicks"><img src="https://live.staticflickr.com/1277/551731705_56a9e24f66_s.jpg" alt="@media 2007 - Jon Hicks" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551731867/" title="@media 2007 - Mark Boulton"><img src="https://live.staticflickr.com/1428/551731867_b4a3a98757_s.jpg" alt="@media 2007 - Mark Boulton" /></a></li><li><a href="https://www.flickr.com/photos/talleke81/551732195/" title="@media 2007 - Richard Ishida"><img src="https://live.staticflickr.com/1209/551732195_1beb043eba_s.jpg" alt="@media 2007 - Richard Ishida" /></a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/atmedia-2007-slides/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2007/royalewithcheese.mp3" length="27926598" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/interfacedesignjuggling.mp3" length="25182415" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/themysteriesofjavascriptfu.mp3" length="24542031" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/1webacid2andcss3.mp3" length="27912104" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/hottopics.mp3" length="33531132" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/diabolicaldesign.mp3" length="25376145" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/bulletproofajax.mp3" length="29910986" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/beyondajax.mp3" length="25117414" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/whenwebaccessibilityisnotyourproblem.mp3" length="29708508" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/howtobeacreativesponge.mp3" length="29128992" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/fivestepstobettertypography.mp3" length="25527027" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/thebrokenworld.mp3" length="26435499" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/highperformancewebpages.mp3" length="26276424" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/designingforinternationalusers.mp3" length="27147592" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/advancingwebaccessibility.mp3" length="34367158" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2007/microformatsbuildingblocksandyou.mp3" length="27557163" type="audio/mpeg" />
		</item>
		<item>
		<title>Quantitative Methods of Usability Analysis</title>
		<link>http://learningtheworld.eu/2007/usability-analysis/</link>
		<comments>http://learningtheworld.eu/2007/usability-analysis/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 19:30:12 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[book:ean=9780201379372]]></category>
		<category><![CDATA[book:ean=9780898592436]]></category>
		<category><![CDATA[book:isbn=0201379376]]></category>
		<category><![CDATA[book:isbn=0898592437]]></category>
		<category><![CDATA[Fitt's Law]]></category>
		<category><![CDATA[GOMS]]></category>
		<category><![CDATA[HCI]]></category>
		<category><![CDATA[Human Computer Interaction]]></category>
		<category><![CDATA[Humane Interface]]></category>
		<category><![CDATA[information efficiency]]></category>
		<category><![CDATA[Jef Raskin]]></category>
		<category><![CDATA[keystroke-level model]]></category>
		<category><![CDATA[KLM-GOMS]]></category>
		<category><![CDATA[quantitative]]></category>
		<category><![CDATA[tantek]]></category>
		<category><![CDATA[Tantek Çelik]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/usability-analysis/</guid>
		<description><![CDATA[In his recent article <strong>Three Hypotheses of Human Interface Design</strong> Tantek Çelik came up with some interesting hypotheses about the usability of computer interfaces. It was a brilliant idea, but I&#8217;m afraid the well-established method for Human Computer Interaction <acronym title="Keystroke-Level Model &#8212; Goals, Objects, Methods, and Selection Rules">KLM-GOMS</acronym> describes his hypotheses pretty well. Unfortunately somebody came up independently with that, 27 years ago.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>In his recent article <em><a href="http://tantek.com/log/2007/02.html#d19t1813" rel="met colleague">Three Hypotheses of Human Interface Design</a></em> Tantek Çelik came up with some interesting hypotheses about the usability of computer interfaces, the <em>cognitive load</em> of doing things.</p>

<ul>
<li><strong>Minimize the number of text fields</strong> in your interfaces down to the absolute minimum necessary.</li>
<li><strong>Minimize the number of clicks</strong>&nbsp;/ keystrokes&nbsp;/ gestures necessary to accomplish actions in your interface.</li>
<li>Make your interface as responsive as possible&nbsp;&mdash; <strong>minimize the latency</strong> of each and every action a user might take in your interface.</li>
</ul>

<p>In short: <strong>keep it simple. Don&rsquo;t make me think. Don&rsquo;t make me wait.</strong></p>

<p>Brilliant! Then a couple of days later I found the time to finally read <a href="http://jef.raskincenter.org">Jef Raskin&rsquo;s</a> book <em><a href="http://en.wikipedia.org/wiki/The_Humane_Interface">The Humane Interface</a></em> (2000) where he demonstrates four methods of quantifying the efficiency of a software interface: <a href="http://en.wikipedia.org/wiki/Fitt%27s_law">Fitt&rsquo;s Law</a> (1954), <a href="http://en.wikipedia.org/wiki/Hick%27s_law">Hick&rsquo;s Law</a> (1952), Raskin&rsquo;s own measures of efficiency, and the <a href="http://en.wikipedia.org/wiki/GOMS"><acronym title="Goals, Operators, Methods, and Selection rules">GOMS</acronym></a> method, in particular the <a href="http://en.wikipedia.org/wiki/KLM_%28human_computer_interaction%29">Keystroke-Level Model</a> (1980).</p>

<p>I hadn&rsquo;t heard of at least half of them before, and so did my colleagues. Apparently those methods are well established in software <acronym title="User Interface">UI</acronym> design, but less known among web developers. Which is a good reason to blog about them. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<h3 id="fitts-law">Fitt&rsquo;s Law</h3>

<p>You most probably have heard of that law. Given the size <em>S</em> of a target (like a button) and the distance <em>D</em> to move a cursor, you get the average time it takes to hit the button:</p>

<p><code><span class="indent">time (in msec) = a + b log<sub>2</sub> (<abbr title="Distance">D</abbr>&nbsp;/ <abbr title="Size">S</abbr> + 1)</span></code></p>

<p><em>a</em> and <em>b</em> are empirical constants, like the reaction time or time to click a button. You can use an approximation of <em>a</em>&nbsp;=&nbsp;50 and <em>b</em>&nbsp;=&nbsp;150. Also the smaller horizontal or vertical value for the size is good enough, and an average distance on a screen. The binary logarithm log<sub>2</sub> is the equivalent of the binary chance to hit or miss the button. That said, <strong>a large button is easier to hit</strong>.</p>

<p>For some practical examples see <a href="http://particletree.com/features/visualizing-fittss-law/">Kevin Hale&rsquo;s excellent article</a>, or Microsoft&rsquo;s application of <a href="http://blogs.msdn.com/jensenh/archive/2006/08/22/711808.aspx" rel="nofollow">Fitt&rsquo;s Law in Office 2007</a>.</p>

<h3 id="hicks-law">Hick&rsquo;s Law</h3>

<p>Hick&rsquo;s Law is about <strong>the time it takes to make a choice</strong> from a number of elements. Be careful when applying this law to menus, because there are other factors like the size, design, sort order, or readability of menu items.</p>

<p><code><span class="indent">time (in msec) = a + b log<sub>2</sub> (n + 1)</span></code></p>

<p>For example, ignoring the constants, we can boldly claim that choosing from a menu of eight items takes <em>longer</em> than from one of four items because <code>log<sub>2</sub>&nbsp;8&nbsp;=&nbsp;3</code> and <code>log<sub>2</sub>&nbsp;4&nbsp;=&nbsp;2</code>. In theory, opening a submenu of four items in another menu of four items takes longer than the choice between eight, because <code>2(log<sub>2</sub>&nbsp;4)&nbsp;=&nbsp;4</code> and <code>log<sub>2</sub>&nbsp;8&nbsp;=&nbsp;3</code>. Because human performance sinks on cognitive tasks involving more than <code><a href="http://en.wikipedia.org/wiki/The_Magical_Number_Seven%2C_Plus_or_Minus_Two">7&nbsp;&plusmn;&nbsp;2</a></code> items, choosing one of eight items could actually take longer.</p>

<h3 id="interface-efficiency">Interface efficiency</h3>

<p>The information-theoretic efficiency of an application is the <strong>minimum amount of necessary information divided by the actual amount of information</strong>. Sounds difficult, but is easy. Making a choice means <em>one bit</em> of information. &ldquo;<q>Push OK or Cancel.</q>&rdquo; One bit of information, requiring one click or keystroke. One keystroke is approximately 5 bits, so the efficiency is <code>1&nbsp;/&nbsp;5&nbsp;=&nbsp;0.2</code>, or 20%. Thus you know there is <strong>room for improvement</strong>.</p>

<p>In the following example you got no choice at all, so the information efficiency is <em>zero</em>:</p>

<p class="center"><img src="/wp-content/uploads/2007/03/word-search-not-found.png" width="434" height="115" alt="Microsoft Office Word dialog box with the only choice to push a button OK" /></p>

<p>Of course it is <a href="http://blogs.msdn.com/jensenh/archive/2006/06/14/629189.aspx" title="Microsoft Blog: The Spelling Check is Complete" rel="nofollow">necessary to inform a user</a> that the search is over or that certain fields in a web form are required, but that can be done in an unobtrusive way <em>without</em> alert boxes. A yellow-fade does not require pushing a button and has 100% efficiency. If the user can only do one thing next, have the computer do it. Besides hitting &ldquo;OK&rdquo; soon becomes habitual and therefore pointless.</p>

<h3 id="goms">Goals, objects, methods, and selection rules (<acronym>GOMS</acronym>)</h3>

<p>These rules were further described by Stuart Card, Thomas P. Moran &amp; artificial intelligence pioneer Allen Newell in their influential book <em>The Psychology of Human-Computer Interaction</em> (1983). <acronym>GOMS</acronym>, and in particular the simplified Keystroke-Level Model (<acronym>KLM</acronym>), offers a simple approach to <strong>estimate the duration of tasks</strong> on a computer.</p>

<ul>
<li><strong>K</strong> = 0.28 <abbr title="seconds">sec.</abbr>&nbsp;&mdash; key press and release (keyboard)</li>
<li><strong>P</strong> = 1.1 <abbr>sec.</abbr>&nbsp;&mdash; pointing the mouse to something</li>
<li><strong>B</strong> = 0.1 <abbr>sec.</abbr>&nbsp;&mdash; button press or release (mouse)</li>
<li><strong>H</strong> = 0.4 <abbr>sec.</abbr>&nbsp;&mdash; homing, hands movement from mouse to keyboard or reverse</li>
<li><strong>M</strong> = 1.2 <abbr>sec.</abbr>&nbsp;&mdash; mentally preparing</li>
<li><strong>W(t)</strong> = t <abbr title="milliseconds">msec.</abbr>&nbsp;&mdash; wait or response time (system)</li>
</ul>

<p>Inserting mentals is probably the most difficult part of this, but there are <a href="http://books.google.de/books?id=30UsZ8hy2ZsC&#038;pg=PA267&#038;vq=Heuristics+for+the+M+Operator&#038;source=gbs_search_r&#038;cad=1_1&#038;sig=ACfU3U3GxU-S3VKwyuQqZcrJHjiC_JTBbg" title="Rules for applying mentals" rel="nofollow">six simple rules</a> how to apply them. So in another infamous <acronym title="microsoft">MS</acronym> Word example when the user wants to change a radio button we get the sequence <em>HMPBPB</em> with a total of 4.0&nbsp;<abbr title="seconds">sec.</abbr>, or <em>HMPBHK</em> with a total of 3.48&nbsp;<abbr>sec.</abbr> when the user hits <em>Return</em> instead of clicking on &ldquo;OK.&rdquo;</p>

<p class="center"><img src="/wp-content/uploads/2007/03/word-update-toc-unefficient.png" width="270" height="143" alt="Microsoft Office Word dialog box for updating the generated table of contents. Selection with two radio buttons and a submit button." /></p>

<p>3.48 seconds is pretty fast, but since there is only one bit of information but two keystrokes we know it could be faster:</p>

<p class="center"><img src="/wp-content/uploads/2007/03/word-update-toc-efficient.png" width="270" height="143" alt="Microsoft Office Word dialog box for updating the generated table of contents. Selection with two submit buttons." /></p>

<p>The sequence required for this selection is <em>HMPB</em> or <em>HMKK</em> with a duration of 2.8&nbsp;<abbr>sec.</abbr> or 2.16&nbsp;<abbr>sec.</abbr>, respectively.</p>

<p>Simpler interfaces increase usability and are faster. Because they are simpler, I don&rsquo;t have to think so hard. Wait, that sounds familiar&nbsp;&hellip; it sounds like&nbsp;&hellip; <em>cognitive load!</em></p>

<p>Let&rsquo;s take <a href="http://tantek.com/log/2007/02.html#cogloadclicks" rel="colleague met">Tantek&rsquo;s examples</a> where he describes the steps for instant messaging and writing an email. That would be something like:</p>

<ul>
<li><em>HMPMBBM(K&nbsp;&times;&nbsp;n)MK</em></li>
<li><em>HMPMKKKKMKKM(K&nbsp;&times;&nbsp;n)MKM(K&nbsp;&times;&nbsp;n)MPB</em></li>
</ul>

<p>Even without knowing and thus ignoring the amount of characters in the message and subject (<em>K&nbsp;&times;&nbsp;n</em>), the estimated time for writing an <acronym title="Instant Message">IM</acronym> (5.58&nbsp;sec.) is significantly smaller than writing an email (13.06&nbsp;<abbr>sec.</abbr>).</p>

<p>I&rsquo;m really sorry, it was a brilliant idea, but I&rsquo;m afraid <acronym title="Keystroke-Level Model &mdash; Goals, Objects, Methods, and Selection Rules">KLM-GOMS</acronym> describes pretty well what Tantek calls <em>Three Hypotheses of Human Interface Design</em>. Unfortunately somebody came up independently with that established method for Human Computer Interaction, 27 years ago. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_sad.gif" alt=":-(" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/usability-analysis/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
