<?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; Google</title>
	<atom:link href="http://learningtheworld.eu/tag/google/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>Web Performance Optimization (WPO)</title>
		<link>http://learningtheworld.eu/2010/web-performance-optimization/</link>
		<comments>http://learningtheworld.eu/2010/web-performance-optimization/#comments</comments>
		<pubDate>Tue, 18 May 2010 15:00:37 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[aol]]></category>
		<category><![CDATA[backend]]></category>
		<category><![CDATA[bing]]></category>
		<category><![CDATA[book:isbn=0596522304]]></category>
		<category><![CDATA[book:isbn=0596529309]]></category>
		<category><![CDATA[frontend]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[netflix]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[shopzilla]]></category>
		<category><![CDATA[steve souders]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[web performance optimization]]></category>
		<category><![CDATA[webmontag]]></category>
		<category><![CDATA[wpo]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=929</guid>
		<description><![CDATA[Yesterday I held a talk at the Webmontag in Frankfurt about web performance optimization. According to the prophecy <acronym>WPO</acronym> will become an industry like <acronym title="Search Engine Optimization">SEO</acronym> in the near future. Tenni Theurer and Steve Souders began to examine the performance of websites at Yahoo! in 2003, I learned about it in 2006 from Nate Koechley and subsequently blogged about it. […]]]></description>
				<content:encoded><![CDATA[<p>Yesterday I held a talk at the <a href="http://webmontag.de/location/frankfurt/">Webmontag in Frankfurt</a> about <strong>web performance optimization</strong>. According to the prophecy <acronym>WPO</acronym> will become an industry like <acronym title="Search Engine Optimization">SEO</acronym> in the near future. Tenni Theurer and Steve Souders began to examine the performance of websites at Yahoo! in 2003, I learned about it in 2006 from <a href="/2006/atmedia-day-two/#koechley">Nate Koechley</a> and <a href="/2007/performance/">subsequently</a> <a href="/2007/performance-2/">blogged</a> about it. In the meantime Souders published two books about the topic and works today at Google.</p>

<p><object type="application/x-shockwave-flash" data="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=webmontag-performance-2010-100516152854-phpapp01&#038;stripped_title=performancewmfra" width="500" height="412" style="margin-bottom: 1em;"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=webmontag-performance-2010-100516152854-phpapp01&#038;stripped_title=performancewmfra" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/></object></p>

<p>The goal of web performance optimization is to become faster and smaller: research at Yahoo! and Google found that just 10-20% of the perceived loading time is caused by the server. A few years ago we thought performance was exclusively connected to the server. However, 80-90% of the loading time incurs in the frontend. Thus <acronym>WPO</acronym> is more efficient targeting the frontend.</p>

<p>Two important weak points are JavaScript files and the sheer number of files: JavaScript loads sequentially and blocks subsequent code until each file is loaded. Hence it shouldn&rsquo;t be located in the head, but in the foot of a page. Secondly older browsers, in particular Internet Explorer, will only load 2-4 files in parallel. Files queue up and get processed when it&rsquo;s their turn. Therefore aggregation of files is used for reducing the number of HTTP requests.</p>

<p>Several international companies have conducted research or just tracked the effects of optimization.</p>

<h3>Effects of slowness</h3>

<ul><li><strong>Amazon:</strong> 100 ms delay caused a <a href="http://glinden.blogspot.com/2006/11/marissa-mayer-at-web-20.html">1% drop in revenue</a>.</li>
<li><strong>Google:</strong> 400 ms delay caused a <a href="http://en.oreilly.com/velocity2009/public/schedule/detail/8523">0.59% decrease in search requests</a> per user (earlier tests list larger numbers).</li>
<li><strong>Yahoo!:</strong> 400 ms delay caused a <a href="http://slideshare.net/stoyan/dont-make-me-wait-or-building-highperformance-web-applications">5-9% decrease in traffic</a>.</li>
<li><strong>Bing:</strong> 2 seconds delay caused a <a href="http://en.oreilly.com/velocity2009/public/schedule/detail/8523">4.3% drop in revenue</a> per user.</li>
</ul>

<h3>Effects of speed</h3>

<ul><li><strong>Mozilla</strong> made their download page 2.2 seconds faster and was rewarded with an <a href="http://blog.mozilla.com/metrics/category/website-optimization">increase of 15.4% in downloads</a>.</li>
<li><strong>Google Maps</strong> reduced the file volume by 30% and observed a <a href="http://news.cnet.com/8301-10784_3-9954972-7.html">30% increase in map requests</a>.</li>
<li><strong>Netflix</strong> enabled gzip on the server; simply by this single action pages became 13-25% faster and <a href="http://en.oreilly.com/velocity2008/public/schedule/detail/3632">saved 50% of traffic volume</a>!</li>
<li><strong>Shopzilla</strong> succeeded in reducing the loading time from 7 down to 2 seconds, whereby the <a href="http://en.oreilly.com/velocity2009/public/schedule/detail/7709">conversion rate increased by 7-12%</a>, they observed a 25% increase in page requests, they were able to retire 50% of their servers, thus <a href="http://www.stevesouders.com/blog/2008/03/06/how-green-is-your-web-page/">saving energy costs</a>.</li>
<li><strong>AOL</strong> observed the <a href="http://scribd.com/doc/16878352/The-Secret-Weapons-of-the-AOL-Optimization-Team">number of page views</a> on several websites. While the fastest users requested 7-8 pages, the slowest only viewed 3-4.</li></ul>

<p>As a cream topping <strong>Google</strong> recently announced to factor in the <a href="http://googlewebmastercentral.blogspot.com/2010/04/using-site-speed-in-web-search-ranking.html">site speed as a parameter in web search ranking</a>.</p>

<p>Eventually pages become faster, clients are happy, generate more revenue and page views, while power consumption and CO<sub>2</sub> emissions decrease. Saved the world, again! And if you&rsquo;d like to contribute, start by checking the <a href="http://developer.yahoo.com/performance/rules.html">rules at Yahoo!</a> A few tricks beyond that can be found in the presentation which will be translated soon.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2010/web-performance-optimization/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>European Accessibility Forum Frankfurt</title>
		<link>http://learningtheworld.eu/2009/accessibility-forum/</link>
		<comments>http://learningtheworld.eu/2009/accessibility-forum/#comments</comments>
		<pubDate>Mon, 19 Jan 2009 19:00:26 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[business value]]></category>
		<category><![CDATA[ec]]></category>
		<category><![CDATA[European Commission]]></category>
		<category><![CDATA[france telecom]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[IBM]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[mobile]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[namics]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[wai-aria]]></category>
		<category><![CDATA[wasp]]></category>
		<category><![CDATA[web standards project]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=457</guid>
		<description><![CDATA[So it&#8217;s been a little quiet here, the reason is that I&#8217;ve been busy organizing the <strong>European Accessibility Forum Frankfurt</strong> on March 27th. The main idea is to present leading innovators and their perspectives on eAccessibility from the <strong>technical, political, and economic side</strong>. Experts on seven panels will briefly describe their own work and their view of accessibility and then discuss the issues.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>So it&rsquo;s been a little quiet here, the reason is that I&rsquo;ve been busy organizing the <strong><a href="http://eafra.eu">European Accessibility Forum Frankfurt</a> on March 27th</strong>, presented by my employer <em>namics</em>.</p>

<p>The main idea is to present leading innovators and their perspectives on eAccessibility from the <strong>technical, political, and economic side</strong>. Experts on seven panels will briefly describe their own work and their view of accessibility and then discuss the issues.</p>

<p>There&rsquo;s an illustrious line-up of speakers including <span xml:lang="de">Deutsche Bahn</span>, the European Commission, <span lang="fr">France Télécom</span>, the German Federal Ministry of Labour and Social Affairs, Google, <acronym>IBM</acronym>, Microsoft, Mozilla, Opera, the <acronym title="World Wide Web Consortium">W3C</acronym>, the Web Standards Project, and Yahoo! talking about these topics:</p>

<ul>
<li>Accessible Web Applications</li>
<li>Mobile Access&nbsp;&mdash; Device-independent <em>or</em> Accessible?</li>
<li>Comparison of National Accessibility Guidelines</li>
<li>Accessible Rich Internet Applications (<acronym>ARIA</acronym>)</li>
<li>Web Standards and Accessibility in Higher Education</li>
<li>Harmonising European Accessibility Guidelines</li>
<li>The Business Value of Accessibility</li>
</ul>

<p>If you have been following my posts in the last two years this will sound slightly familiar. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" />  Furthermore I&rsquo;m honored to have Linda Mauperon, Member of Cabinet of the European Commissioner for Information Society and Media (Viviane Reding) as our keynote speaker. Please see the detailed description of the panels in the conference <a href="http://eafra.eu/2009/programme/">program</a>.</p>

<p>We would like to take a look on accessibility from different perspectives presenting pioneering thinkers whose organizations have established accessibility in their business and communication long since&nbsp;&mdash; and making serious money with it. There should be something of interest for everybody among the topics: for techies, consultants, employees from universities and companies. The conference is limited to a maximum of 200 attendees. <strong>Registration opens next week</strong>.</p>

<p>Of course there are various gems under the hood of the website, too. Naturally it is extensively accessible (check the cool skip links), but it is also incredibly fast because <a href="http://developer.yahoo.com/performance/">Yahoo!&rsquo;s best practices for frontend performance</a> are regarded. There are separate style sheets for printing, for iPhones, and for handhelds. The <acronym title="Content Management System">CMS</acronym> is <a href="http://wpmu.de/">WordPress µ</a>, having the advantage of administrating both the English and the German version with the same installation.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2009/accessibility-forum/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upcoming Talks: ARIA and Canvas</title>
		<link>http://learningtheworld.eu/2008/upcoming-talks-aria-canvas/</link>
		<comments>http://learningtheworld.eu/2008/upcoming-talks-aria-canvas/#comments</comments>
		<pubDate>Fri, 08 Aug 2008 18:08:41 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[about]]></category>
		<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[A-Tag]]></category>
		<category><![CDATA[aria]]></category>
		<category><![CDATA[austin]]></category>
		<category><![CDATA[Austria]]></category>
		<category><![CDATA[Basel]]></category>
		<category><![CDATA[Basle]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[Düsseldorf]]></category>
		<category><![CDATA[Erlangen]]></category>
		<category><![CDATA[Ernest Delgado]]></category>
		<category><![CDATA[Frontend Engineering]]></category>
		<category><![CDATA[Gez Lemon]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[HTML5]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[namics]]></category>
		<category><![CDATA[presentation]]></category>
		<category><![CDATA[Steve Faulkner]]></category>
		<category><![CDATA[Switzerland]]></category>
		<category><![CDATA[sxsw]]></category>
		<category><![CDATA[sxsw interactive]]></category>
		<category><![CDATA[talks]]></category>
		<category><![CDATA[texas]]></category>
		<category><![CDATA[upcoming:event=453651]]></category>
		<category><![CDATA[upcoming:event=860802]]></category>
		<category><![CDATA[upcoming=event:1009923]]></category>
		<category><![CDATA[upcoming=event:421355]]></category>
		<category><![CDATA[Vienna]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=132</guid>
		<description><![CDATA[Allow me a little self-promotion while pointing you to interesting conferences where I will hold presentations.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Allow me a little self-promotion while pointing you to interesting conferences where I will hold presentations.</p>

<div class="vevent">
<h3 class="summary">SXSW Interactive 2009</h3>
<p><a href="http://sxsw.com/interactive/" class="url uid"><img src="/wp-content/uploads/2008/08/logo-sxsw-interactive-2009" alt="Logo SXSW Interactive 2009" width="77" height="91" class="floatleft" /></a>Most important is voting for my panels at <strong>South by Southwest (<acronym>SXSW</acronym>)</strong> held <span class="dtstart" title="20090313">March 13</span>-<span class="dtend" title="20090317">17</span>, 2009 in <span class="location">Austin, Texas</span>. There&rsquo;s an interactive panel picker that accounts for 30% of the juice a panel can receive. I proposed two panels, please <strong>vote for them</strong>: <a href="http://panelpicker.sxsw.com/ideas/view/1344">Hands-On Accessible Rich Internet Applications</a> (<acronym>ARIA</acronym>) and <a href="http://panelpicker.sxsw.com/ideas/view/1328">The HTML&nbsp;5 Canvas Element</a>.</p>
<p>Both are for advanced developers and feature fairly innovative topics:</p>
<p><strong>ARIA</strong> will be a panel with many hands-on examples of real world implementations presented together with <a href="http://juicystudio.com">Gez Lemon</a>, <a href="http://www.wat-c.org">Steve Faulkner</a> (both working for <a href="http://www.paciellogroup.com/blog">The Paciello Group</a>) and a developer from Mozilla/IBM. I asked Aaron Leventhal who just moved over to Germany thus suggesting to invite somebody from IBM&rsquo;s Texan office, so be it.</p>
<p>The talk about the <strong><code>canvas</code> element in HTML5</strong> will be a dual presentation with <a href="http://ernestdelgado.com">Ernest Delgado</a> who created some <a href="http://www.ernestdelgado.com/public-tests/canvasphoto/demo/canvas.html" title="canvas photo demo">amazing</a> <a href="http://www.ernestdelgado.com/gmaps/canvas/ddemo1.html" title="Google Maps demo with canvas">experiments</a> while working for Google and <a href="http://yuiblog.com/blog/2008/06/23/slicing/">Yahoo!</a> I&rsquo;m preparing talks with a few exiting examples about that topic in September, so we will have some interesting cases to present! I believe in 2009 we will see more examples of this technique in the wild. It&#8217;s pretty cool what you can do with it, but also we need to gather some experience to suggest accessibility features that are still missing.</p>
<p><strong>Voting for panels closes on August 29</strong>, just <a href="http://panelpicker.sxsw.com/users/register">create an account</a> (you won&rsquo;t be spammed) and cast your vote. And while you&rsquo;re at it, there are <a href="http://panelpicker.sxsw.com/ideas/view/1269" title="Aging, Cognition &amp; Deafness: The Quirky Corners of Web Accessibility">other</a> <a href="http://panelpicker.sxsw.com/ideas/view/995" title="web standards curriculum">panel</a> <a href="http://panelpicker.sxsw.com/ideas/view/1405" title="2009 WaSP Annual Meeting">suggestions</a> of valued colleagues from the Web Standards Project where you can add some emphasis. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
</div>

<h3>Other conferences</h3>

<p class="vevent">The next geek meeting held in <strong class="location">Frankfurt</strong> will be the <a href="http://webmontag.de/doku.php?id=frankfurt" hreflang="de" class="url uid summary">Webmontag</a> (Web Monday) on <em class="dtstart" title="20080901T190000">September 1st</em> where I will give my presentation about <code>canvas</code> a short test drive.</p>

<p class="vevent">A few days later on <em class="dtstart" title="20080904T090000">September 4</em> I have the honor of the opening talk at the <a href="http://www.webkongress.uni-erlangen.de" hreflang="de" class="url uid summary">Web Congress</a> at the <strong class="location">University of Erlangen</strong>, again about <code>canvas</code>, only this time a full hour.</p>

<p class="vevent">On <em class="dtstart" title="20080925">September 25</em> there&rsquo;s the <a href="http://www.best-of-accessibility.de" hreflang="de" class="url uid summary">Best of Accessibility Symposium</a> in <strong xml:lang="de" class="location">Düsseldorf</strong> where I hold a workshop about hands-on <acronym>ARIA</acronym> (you recognize the pattern?).</p>

<p class="vevent">On <em class="dtstart" title="20081010">October 10-11</em> an internal namics conference called <span class="summary">T-Camp</span> is held in <span class="location">Basel</span>, with my colleague Alex Stirn and me speaking about <strong>Professional Frontend Engineering</strong>.</p>

<p class="vevent">A conference I&#8217;m looking forward to because of the many experts attending and the fair prices is the <strong xml:lang="de" lang="de" class="summary">A-Tag</strong> (Accessibility Day) in <strong class="location">Vienna</strong>, Austria, on <em class="dtstart" title="20081121">November 21</em>. Again I will sing praises of <acronym>ARIA</acronym>. This innovative technique can&#8217;t be evangelized enough! There&#8217;s no website yet for the A-Tag, but I&#8217;d recommend to book your journey well in advance to catch the inexpensive flights to Vienna. The conference itself <del>cost only &euro;&nbsp;35 last year</del> <ins datetime="20080809T002100">is <strong>free</strong></ins> because it is sponsored by the Austrian government.</p>

<p>If you happen to be around, don&#8217;t hesitate to speak to me.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/upcoming-talks-aria-canvas/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Better Foreground Sprites</title>
		<link>http://learningtheworld.eu/2008/better-foreground-sprites/</link>
		<comments>http://learningtheworld.eu/2008/better-foreground-sprites/#comments</comments>
		<pubDate>Thu, 26 Jun 2008 18:00:17 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[downloads]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[background-image]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[css sprites]]></category>
		<category><![CDATA[foreground sprites]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[http-request]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[T.V. Raman]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=106</guid>
		<description><![CDATA[A while ago I wrote about using <acronym title="Cascading Style Sheets">CSS</acronym> Sprites in <code>img</code> tags&#160;&#8212; <strong>Foreground Sprites</strong>. Thus you avoid HTTP requests, but the page turns really ugly when <acronym>CSS</acronym> is switched off because the sprite image will be displayed in its full size. Now Google&#8217;s accessibility specialist T.V. Raman explained their idea of using sprites for foreground images&#160;&#8212; a much better solution!]]></description>
				<content:encoded><![CDATA[<p>A while ago I wrote about using <a href="http://www.alistapart.com/articles/sprites/"><acronym title="Cascading Style Sheets">CSS</acronym> Sprites</a> in <code>img</code> tags, calling it <strong><a href="/2007/foreground-sprites/">Foreground Sprites</a></strong>. Thus you avoid performance-eating HTTP requests, but the page turns really ugly when <acronym>CSS</acronym> is switched off because the sprite image will be displayed in its full size. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_sad.gif" alt=":(" class="wp-smiley" /> </p>

<p>What are the alternatives? Using background-images with off-screen text? Bad code:</p>

<ol class="code bad" title="HTML">
<li><code>&lt;a href=&quot;foo&quot; class=&quot;button&quot;&gt;</code></li>
<li class="indent"><code>&lt;span&gt;Alternative Text&lt;/span&gt;</code></li>
<li><code>&lt;/a&gt;</code></li>
</ol>

<ol class="code bad" title="CSS">
<li><code>a.button, button {</code></li>
<li class="indent"><code>background: url(foo.gif) 0 &minus;26px no-repeat;</code></li>
<li class="indent">display: block;</li>
<li class="indent">height: 52px;</li>
<li class="indent">overflow: hidden;</li>
<li class="indent">position: relative;</li>
<li class="indent">width: 150px;</li>
<li><code>}</code></li>
<li><code>span {</code></li>
<li class="indent"><code>left: &minus;9999px;</code></li>
<li class="indent"><code>position: absolute;</code></li>
<li class="indent"><code>top: auto;</code></li>
<li><code>}</code></li>
</ol>

<p><strong>That&rsquo;s a bad idea with accessibility issues.</strong> Screen readers will be able to read the text, but if somebody with low vision has high-contrast custom stylesheets, it is likely that the <code>background-image</code> won&rsquo;t be displayed. Still the alternative text will be invisible off-screen, so the link or <code>button</code> becomes unusable.</p>

<h3>A better solution</h3>

<p>Now Google&rsquo;s accessibility specialist <strong>T.V. Raman</strong> explained their idea for <a href="http://googlewebmastercentral.blogspot.com/2008/05/design-patterns-for-accessible.html">replacing  images with sprites</a>. Here are screenshots of Google search results with images, and with background images disabled:</p>

<p><img src="/wp-content/uploads/2008/06/screenshot-google-search-result-with-bgimage.png" width="400" height="84" alt="Screenshot displaying the Google logo" class="screenshot" />
<img src="/wp-content/uploads/2008/06/screenshot-google-search-result-wo-bgimage.png" width="400" height="84" alt="Screenshot with text visible instead of the logo" class="screenshot" /></p>

<p>Google puts the alternative text <strong><em>behind</em> the background image</strong> simply by attaching it on the <code>span</code> element, not the anchor. So when <acronym>CSS</acronym> or background images are turned off, the text just reappears.</p>

<ol class="code" title="XHTML">
<li><code>&lt;a id=&quot;logo&quot; title=&quot;Go to Google Home&quot; href=&quot;http://www.google.com/&quot;&gt;</code></li>
<li class="indent">Google</li>
<li class="indent"><code><strong>&lt;span&gt;<ins datetime="20080627T174700">&lt;/span&gt;</ins></strong></code></li>
<li><code>&lt;/a&gt;</code></li>
</ol>

<ol class="code" title="CSS">
<li><code>#logo {</code></li>
<li class="indent">display: block;</li>
<li class="indent">height: 52px;</li>
<li class="indent">overflow: hidden;</li>
<li class="indent">position: relative;</li>
<li class="indent">width: 150px;</li>
<li><code>}</code></li>
<li><code>#logo span {</code></li>
<li class="indent"><code>background: url(foo.gif) 0 &minus;26px no-repeat;</code></li>
<li class="indent"><code>height: 100%;</code></li>
<li class="indent"><code>left: 0;</code></li>
<li class="indent">position: absolute;</li>
<li class="indent">top: 0;</li>
<li class="indent"><code>width: 100%;</code></li>
<li><code>}</code></li>
</ol>

<p>There&rsquo;s only an issue if you have <em>a lot</em> of alternative text, perhaps combined with text zoom, so that it doesn&rsquo;t fit in the reserved space. But I can live with that.</p>

<p>Congratulations to Google for this ellegant solution, and it&rsquo;s <em>so</em> simple! Why didn&rsquo;t <em>I</em> think of it? <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/better-foreground-sprites/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Crowdsourcing YouTube Video Captioning</title>
		<link>http://learningtheworld.eu/2008/captioning-youtube-with-dfxp/</link>
		<comments>http://learningtheworld.eu/2008/captioning-youtube-with-dfxp/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 20:34:45 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[Adobe]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[captioning]]></category>
		<category><![CDATA[Chris Heilmann]]></category>
		<category><![CDATA[Christian Heilmann]]></category>
		<category><![CDATA[deafness]]></category>
		<category><![CDATA[dfxp]]></category>
		<category><![CDATA[Ed Eliot]]></category>
		<category><![CDATA[flash]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[MAGpie]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[Yahoo! Video]]></category>
		<category><![CDATA[youtube]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=97</guid>
		<description><![CDATA[When Chris Heilmann had the splendid idea to add <strong>captioning to YouTube videos</strong> with Google&#8217;s JavaScript <acronym title="Application Programming Interface">API</acronym>, I asked myself if there wasn&#8217;t a better way. There is, but to my surprise neither <em>YouTube</em> nor <em>Yahoo! Video</em> take advantage of that capability.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Oh, I just <em>love</em> <a href="http://www.wait-till-i.com/">Christian Heilmann&rsquo;s blog</a>! He&rsquo;s one of the most skilled JavaScript developers I know, so I can still learn tricks from him and his colleagues at Yahoo! But he also <strong>does everything with JavaScript</strong>, and every time when this happens, it inspires me to mull over how it could be done <strong>without</strong>! You know, because restrictive company proxies filter JavaScript, or just to provide a graceful alternative, or because I&rsquo;m so old-fashioned. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<p>So when Chris mentions JavaScript badges for del.icio.us, I think of Ed Eliot&rsquo;s <a href="http://www.ejeliot.com/projects/php-delicious">PhpDelicious</a> or how to get <a href="http://learningtheworld.eu/2008/wordpress-goodies-with-inlinerss/">similar results</a> in WordPress. Naturally when he had the splendid idea to add <strong>captioning to YouTube videos</strong> with <a href="http://www.wait-till-i.com/2008/03/12/video-captioning-made-easy-with-the-youtube-javascript-api/">Google&rsquo;s JavaScript <acronym title="Application Programming Interface">API</acronym></a>, I asked myself if there wasn&rsquo;t a better way. There is, but to my surprise neither <em>YouTube</em> nor <em>Yahoo! Video</em> take advantage of that capability:</p>

<ol><li>It&rsquo;s common practice to implement <strong>text content in Flash via <acronym title="Extensible Markup Language">XML</acronym></strong>.</li>
<li><a href="http://www.w3.org/TR/ttaf1-dfxp/"><strong><acronym title="Distribution Format Exchange Profile">DFXP</acronym></strong></a> is a <acronym title="World Wide Web Consortium">W3C</acronym> <strong><acronym>XML</acronym> standard</strong> for captioning videos.</li>
<li>There are <a href="http://www.adobe.com/accessibility/products/flash/captioning_tools.html">free tools</a> like <a href="http://ncam.wgbh.org/webaccess/magpie/">MAGpie</a> for creating captions, and they all support <strong><acronym>DFXP</acronym></strong>.</li>
<li>If <em>YouTube</em> or <em>Yahoo! Video</em> would allow users to <strong>upload and attach a <acronym>DFXP</acronym> file</strong> to a video, it would become dead easy for anybody to caption it. Not only for the filmmaker, captioning could be <strong>crowdsourced</strong>!</li></ol>

<p>Just anticipating <a href="http://joeclark.org">Joe Clark&rsquo;s</a> inevitable (and justifiable) objection: of course captioning is not an easy thing that anybody can do, to do it right it requires people with special training. But considering the number of videos on those platforms the only affordable and practical solution to provide any captioning at all is crowdsourcing. That can also be applied to the control of quality, accuracy, or reporting abuse.</p>

<p>Of course this would enhance primarily accessibility, but the <acronym>XML</acronym> files would further help search engines to <strong>index video content</strong>. And their marketing people would love such a feature for the positive <acronym>PR</acronym>!</p>

<p>Well, I submitted the suggestion both to Google and Yahoo!, you can <a href="http://suggestions.yahoo.com/detail/?prop=ydn&#038;fid=80528">vote on the Yahoo! Developer Network</a> for it (Google is more closed-lipped). I&rsquo;m curious who will be the first to offer that feature&nbsp;&hellip;</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/captioning-youtube-with-dfxp/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
		</item>
		<item>
		<title>Oh, won&#8217;t somebody please think of the children!</title>
		<link>http://learningtheworld.eu/2008/somebody-please-think-of-the-children/</link>
		<comments>http://learningtheworld.eu/2008/somebody-please-think-of-the-children/#comments</comments>
		<pubDate>Fri, 28 Mar 2008 21:30:00 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[W3C]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[censorship]]></category>
		<category><![CDATA[children]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[cybersitter]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[ICRA]]></category>
		<category><![CDATA[label]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[PICS]]></category>
		<category><![CDATA[protection]]></category>
		<category><![CDATA[rating]]></category>
		<category><![CDATA[RDF]]></category>
		<category><![CDATA[search engines]]></category>
		<category><![CDATA[Semantic Web]]></category>
		<category><![CDATA[Tor]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2008/somebody-please-think-of-the-children/</guid>
		<description><![CDATA[A little known <acronym title="World Wide Web Consortium">W3C</acronym> standard is the <strong>Platform of Internet Content Selection (<acronym>PICS</acronym>)</strong>. <acronym>PICS</acronym> is a system for self-labeling. Think of an early predecessor of the Semantic Web. Or in microformats it would be <em>hPorn</em>.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p class="alert">Please note that the <acronym title="Platform of Internet Content Selection">PICS</acronym> standard has been superseded by <acronym title="Protocol for Web Description Resources">POWDER</acronym> in 2009. The old <acronym title="Resource Description Framework">RDF</acronym> code can be <a href="http://www.w3.org/TR/2009/NOTE-powder-primer-20090901/#ICRA1">included in a <acronym>POWDER</acronym> document</a>, though.</p>

<p>A little known <acronym title="World Wide Web Consortium">W3C</acronym> standard is the <strong><a href="http://www.w3.org/PICS/">Platform of Internet Content Selection</a> (<acronym>PICS</acronym>)</strong>. You can tell from the poor layout that it&rsquo;s a very old standard&nbsp;&mdash; in fact all of its parts are from 1996 and 1997. <acronym title="Oh my God">OMG</acronym>, that&rsquo;s <em>ancient!</em> That&rsquo;s even older than <acronym title="Hypertext Markup Language">HTML</acronym>&nbsp;4, <acronym title="Cascading Style Sheets">CSS</acronym>, or the Web Content Accessibility Guidelines!</p>

<p><strong><acronym>PICS</acronym> is a system for self-labeling.</strong> That raised some concerns about censorship in 1998, but governments who really want to censor their population&rsquo;s internet access have found more effective ways to block content (I, for one, can recommend <a href="https://www.torproject.org">Tor</a> as a countermeasure, also available as a Firefox extension, though I cannot guarantee your government approves it). So what remains is a meta element with information about your website, accompanied by a machine readable <acronym title="Resource Description Framework">RDF</acronym>/<acronym title="Extensible Markup Language">XML</acronym> file.</p>

<ol class="code">
<li><code>&lt;link rel=&quot;meta&quot; href=&quot;/<a href="/pics-label.rdf" type="application/rdf+xml">pics-label.rdf</a>&quot; type=&quot;application/rdf+xml&quot; title=&quot;ICRA PICS label&quot; /&gt;</code></li>
<li><code>&lt;meta <strong>http-equiv=&quot;pics-label&quot;</strong> content=&#39;(pics-1.1 &quot;http://www.icra.org/pics/vocabularyv03/&quot; l gen true for &quot;http://learningtheworld.eu&quot; r (n 0 s 0 v 0 l 1 oa 0 ob 0 oc 0 od 0 oe 0 of 0 og 0 oh 0 c 1))&#39; /&gt;</code></li></ol>

<p>Since in the nineties internet progress was driven by porn, <acronym>PICS</acronym> is mostly about <strong>child protection</strong>, although it can be used to describe a machine readable privacy statement and other things as well. Think of an early predecessor of the Semantic Web. Or in microformats it would be <em>hPorn</em>. Well, I assume very few of you run xxx sites, so why am I wasting your time with this post?</p>

<p>Because the <acronym>PICS</acronym> standard is most convenient when your website is <em>not</em> pornographic. The standard provides a way to label your website and distinguish between pictures of naked people as Greek ancient sculptures, in an educational or journalistic context, or as mere porn. But despite the name it&rsquo;s not only suitable for rating pictures, it&rsquo;s for text content or user-generated content as well, among other criteria. Plus the <acronym>PICS</acronym> label is <strong>recognized by Google</strong>, so it&rsquo;s not about rushing ahead and self-censoring to please our overlords, it&rsquo;s a measure to maximize the target audience and avoid mislead traffic. I believe a few of your clients may appreciate that. For example although this post uses quite a few trigger words, <acronym>PICS</acronym> provides a way to tell search engines and cybersitting software about the true nature of this article. I love that ability!</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/somebody-please-think-of-the-children/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
