<?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; IE7</title>
	<atom:link href="http://learningtheworld.eu/tag/ie7/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>More CSS Drop Shadows For All Browsers</title>
		<link>http://learningtheworld.eu/2010/ms-box-shadow/</link>
		<comments>http://learningtheworld.eu/2010/ms-box-shadow/#comments</comments>
		<pubDate>Mon, 23 Aug 2010 16:00:18 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[web standards]]></category>
		<category><![CDATA[blur]]></category>
		<category><![CDATA[box-shadow]]></category>
		<category><![CDATA[buttons]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[CSS3]]></category>
		<category><![CDATA[drop shadow]]></category>
		<category><![CDATA[eye-candy]]></category>
		<category><![CDATA[filter]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[ie6]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[jumping-through-loops]]></category>
		<category><![CDATA[pseudo 3d]]></category>
		<category><![CDATA[shadow]]></category>
		<category><![CDATA[visual effects]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=1021</guid>
		<description><![CDATA[Thanks to the unstoppable advancements of web standards aiding mankind to overcome the real burdens of the 21st century, adding drop shadows  to boxes became much easier in recent years! No more PNG background images! Leaving the question aside whether drop shadows are really progressive and appropriate for a flat medium (anybody remember the fad of “3D” bulging buttons in the 1990ies?), I&#160;was confronted with the challenge of adding box shadows in Internet Explorer for a client project.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>Thanks to the unstoppable advancements of web standards aiding mankind to overcome the real burdens of the 21st century, adding <strong>drop shadows</strong> to boxes became much easier in recent years! No more PNG background images! Leaving the question aside whether drop shadows are really progressive and appropriate for a flat medium (anybody remember the fad of &ldquo;3D&rdquo; <a href="http://www.handson.nu/">bulging buttons</a> in the 1990ies?), I&nbsp;was confronted with the challenge of adding box shadows in Internet Explorer for a client project.</p>

<p><strong>Pro tip:</strong> communicate to the client that shadows are a <strong>bonus feature</strong>. Your designers may disagree, but the site will not suffer considerably when special effects like box shadows, text shadows, or rounded corners are regarded as enhancements for decent browsers. However, your client&rsquo;s budget will suffer when they are determined to provide the same visual effects on outdated browsers such as <acronym title="Internet Explorer 6">IE6</acronym>. That said, here is the well-known method in <acronym title="Cascading Style Sheets, 3rd Edition">CSS3</acronym>:</p>

<ol class="code" title="CSS">
<li><code><strong>.wrapper</strong> {</code></li>
<li class="indent"><code>background-color: #fff;</code></li>
<li class="indent"><code>border: 1px solid #d30d01;</code></li>
<li class="indent"><code><em>box-shadow:</em> 4px 4px 4px rgba(0, 0, 0, 0.2);</code></li>
<li class="indent"><code>float: left;</code></li>
<li class="indent"><code>height: 75px;</code></li>
<li class="indent"><code>margin: 15px;</code></li>
<li class="indent"><code>padding: 10px;</code></li>
<li class="indent"><code>width: 75px;</code></li>
<li class="indent"><code><em>-moz-box-shadow:</em> 4px 4px 4px rgba(0, 0, 0, 0.2);</code></li>
<li class="indent"><code><em>-o-box-shadow:</em> 4px 4px 4px rgba(0, 0, 0, 0.2);</code></li>
<li class="indent"><code><em>-webkit-box-shadow:</em> 4px 4px 4px rgba(0, 0, 0, 0.2);</code></li>
<li><code>}</code></li>
</ol>

<ol class="code" title="HTML code">
<li><code>&lt;div class=&quot;<em>wrapper</em>&quot;&gt;</code></li>
<li class="indent"><code>&lt;p&gt;CSS box-shadow&lt;/p&gt;</code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>

<p>At the same time when we rolled out the website, Robert Nyman came to the conclusion that the proprietary Microsoft <code>filter</code> for <a href="http://robertnyman.com/2010/03/16/drop-shadow-with-css-for-all-web-browsers/"><code>Shadow</code> looks much prettier than <code>DropShadow</code></a>, so I forgot about blogging myself as his solution doesn&rsquo;t rely on unsemantic markup and is more elegant:</p>

<ol class="code" title="CSS">
<li><code><strong>.wrapper</strong> {</code></li>
<li class="indent">/* For IE 8 */</li>
<li class="indent"><code><em>-ms-filter: progid:DXImageTransform.Microsoft.Shadow</em>( Strength=5, Direction=135, Color='#999999' );</code></li>
<li class="indent">/* For IE 5.5 &#8211; 7 */</li>
<li class="indent"><code><em>filter: progid:DXImageTransform.Microsoft.Shadow</em>( Strength=5, Direction=135, Color='#999999' );</code></li>
<li><code>}</code></li>
</ol>

<p>Note that you get slightly better effects when you choose a dark gray instead of black as shadow color. If you can live with the rendering of the third box below, don&rsquo;t read any further. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>

<p>However, applying the filter had the side effect that text inside the box wasn&rsquo;t anti-aliased in <acronym>IE</acronym> 6-8 anymore, and the shadow still didn&rsquo;t look decent enough. So we added an extra <code>span</code> and applied the <code>blur</code> filter on it.</p>

<p><img src="/wp-content/uploads/2010/08/screenshot-box-shadow.png" alt="Screenshot comparing the solutions for CSS drop shadows side by side" width="481" height="103" class="fullsize" /></p>

<p>That led to a more complex code as we needed an inner wrapper where the border and background is applied to, while the outer wrapper merely acted as a&nbsp;&hellip; wrapper, where the styles were reset to defaults. <acronym title="Hypertext Markup Language">HTML</acronym> first:</p>

<ol class="code" title="HTML code">
<li><code>&lt;div class=&quot;<em>wrapper ms-box-shadow</em>&quot;&gt;</code></li>
<li class="indent"><code><strong>&lt;div class=&quot;inner&quot;&gt;</strong></code></li>
<li class="indent double"><code>&lt;p&gt;<acronym>Internet Explorer</acronym> with blur filter&lt;/p&gt;</code></li>
<li class="indent"><code><strong>&lt;/div&gt;</strong></code></li>
<li class="indent"><code><strong>&lt;span class=&quot;shadow&quot;&gt;&lt;/span&gt;</strong></code></li>
<li><code>&lt;/div&gt;</code></li>
</ol>

<p>And here&rsquo;s the <acronym>CSS</acronym> that&rsquo;s added with Conditional Comments for <acronym>IE</acronym> 6-8 only (as <acronym>IE9</acronym> supports native <acronym>CSS</acronym> <code>box-shadow</code>, <a href="http://caniuse.com/#feat=css-boxshadow">more or less</a>). The shadow element is absolutely positioned, set behind the inner content and blown up to 100%. Not original, but it works:</p>

<ol class="code" title="CSS">
<li><code><strong>.wrapper, .inner</strong> {</code></li>
<li class="indent"><code>background-color: #fff;</code></li>
<li class="indent"><code>border: 1px solid #d30d01;</code></li>
<li class="indent"><code>height: 75px;</code></li>
<li class="indent"><code>padding: 10px;</code></li>
<li class="indent"><code><em>position: relative;</em></code></li>
<li class="indent"><code>width: 75px;</code></li>
<li><code>}</code></li>
<li><code><strong>.wrapper</strong> {</code></li>
<li class="indent"><code>float: left;</code></li>
<li class="indent"><code>margin: 15px;</code></li>
<li><code>}</code></li>
<li>/* reset wrapper styles to defaults; work-around for screwed box-model */</li>
<li><code><strong>.ms-box-shadow</strong> {</code></li>
<li class="indent"><code>background-color: transparent;</code></li>
<li class="indent"><code>border: 0 none;</code></li>
<li class="indent"><code>height: 95px;</code></li>
<li class="indent"><code>padding: 0;</code></li>
<li class="indent"><code>width: 95px;</code></li>
<li><code>}</code></li>
<li>/* Move the inner wrapper to the foreground */</li>
<li><code><strong>.inner</strong> {</code></li>
<li class="indent"><code><em>z-index: 50;</em></code></li>
<li><code>}</code></li>
<li>/* The shadow element */</li>
<li><code><strong>.shadow</strong> {</code></li>
<li class="indent"><code>background-color: #000;</code></li>
<li class="indent"><code>display: block;</code></li>
<li class="indent"><code><em>filter: progid:DXImageTransform.Microsoft.Blur</em>( makeShadow='true', pixelRadius=4, shadowOpacity=0.30 );</code></li>
<li class="indent"><code>height: 100%;</code></li>
<li class="indent"><code>left: 0;</code></li>
<li class="indent"><code><em>position: absolute;</em></code></li>
<li class="indent"><code>top: 0;</code></li>
<li class="indent"><code>width: 100%;</code></li>
<li class="indent"><code><em>z-index: 0;</em></code></li>
<li><code>}</code></li>
</ol>

<p>For some reason I got a more similar result with the <code>shadowOpacity</code> set to 30% instead of 20%.</p>

<h3>Where&rsquo;s the crux?</h3>

<p>If we are willing to ignore lots of bloated <acronym>CSS</acronym>: <strong><acronym>IE6</acronym> only blows the shadow up to 100% when the wrapper has a fixed height</strong>. This sucks, but unless you want to add more bloated code in JavaScript I don&rsquo;t know of any solution for this problem. Still <acronym>IE</acronym> 7-8 handle a value of 100% right, and there are many cases where the height is known. Take for example photos where you&#8217;d like to apply shadows, some buttons, or horizontal shades lying above images, like the <a href="http://dekabank.de/db/en/company/social-responsibility/">shadow of the second level navigation on this site</a>. Beautiful, isn&rsquo;t it?</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2010/ms-box-shadow/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Extend the Searchbar with OpenSearch</title>
		<link>http://learningtheworld.eu/2008/opensearch/</link>
		<comments>http://learningtheworld.eu/2008/opensearch/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 20:00:14 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[web development]]></category>
		<category><![CDATA[a9]]></category>
		<category><![CDATA[Amazon]]></category>
		<category><![CDATA[customize]]></category>
		<category><![CDATA[extension]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[ie]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[ie8]]></category>
		<category><![CDATA[internet explorer]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[opensearch]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[search]]></category>
		<category><![CDATA[searchbar]]></category>
		<category><![CDATA[suggestion]]></category>
		<category><![CDATA[type ahead]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/?p=98</guid>
		<description><![CDATA[<strong>OpenSearch</strong> is known as an open source format to syndicate and aggregate search results. It was developed by Amazon&#160;/ A9 and quickly gained support from the big search engines. Their involvement is somewhat intimidating&#160;&#8212; your site&#8217;s not Google, so who wants to syndicate your search results anyway? But if your blog or a client has a loyal readership, it would be convenient if they could just <strong>use their browser&#8217;s searchbar</strong> as a shortcut.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2008/04/screenshot-searchbar.png" class="floatleft" alt="Screenshot of the searchbar in Firefox with the option &quot;Add Wikipedia (English)&quot;" width="203" height="163" /> <strong>OpenSearch</strong> is known as an open source format to syndicate and aggregate search results. It was developed by Amazon&nbsp;/ A9 and quickly gained support from the big search engines. Their involvement is somewhat intimidating&nbsp;&mdash; your site&rsquo;s not Google, so who wants to syndicate your search results anyway?</p>

<p>But if your blog or a client has a loyal readership, it would be convenient if they could just <strong>use their browser&rsquo;s searchbar</strong> as a shortcut. For example currently we work on a website relaunch for a big German city, and it&rsquo;s easily conceivable that citizens want to search this site more often.</p>

<p>Here comes a side effect of OpenSearch: the OpenSearch descriptions are machine readable <acronym title="Extensible Hypertext Markup Language">XML</acronym> files. <strong>Firefox and Internet Explorer&nbsp;7</strong> are two of those &ldquo;machines&rdquo; if you let them know the file exists:</p>

<ol class="code">
<li><code>&lt;link <strong>rel=&quot;search&quot;</strong> type=&quot;application/<span class="codeSpace">&nbsp;</span><strong>opensearchdescription+xml</strong>&quot; title=&quot;Your website&rsquo;s title&quot; href=&quot;/opensearch.xml&quot;&nbsp;/&gt;</code></li>
</ol>

<p>Of course that belongs in the <code>head</code>. Now all you need are a few more lines of code in the <code>opensearch.xml</code> file:</p>

<ol class="code">
<li><code>&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;</code></li>
<li><code>&lt;OpenSearchDescription xmlns=&quot;http://a9.com/-/spec/<span class="codeSpace">&nbsp;</span>opensearch/1.1/&quot;&gt;</code></li>
<li class="indent"><code>&lt;ShortName&gt;<strong>Your website&rsquo;s title</strong>&lt;/ShortName&gt;</code></li>
<li class="indent"><code>&lt;Description&gt;A short description of the search&lt;/Description&gt;</code></li>
<li class="indent"><code>&lt;InputEncoding&gt;UTF-8&lt;/InputEncoding&gt;</code></li>
<li class="indent"><code>&lt;Image height=&quot;16&quot; width=&quot;16&quot; type=&quot;image/x-icon&quot;><span class="codeSpace">&nbsp;</span>http://yourdomain.com/<strong>favicon.ico</strong>&lt;/Image&gt;</code></li>
<li class="indent"><code>&lt;Url type=&quot;text/html&quot; template=&quot;http://yourdomain.com/<span class="codeSpace">&nbsp;</span>search/<span class="codeSpace">&nbsp;</span><strong>?q={searchTerms}</strong>&quot;/&gt;</code></li>
<li><code>&lt;/OpenSearchDescription&gt;</code></li>
</ol>

<p>Just change the <code>shortname</code> property, the favorite icon path, the search <acronym title="Uniform Resource Identifier">URI</acronym> and parameters. Don&rsquo;t change <code>{searchTerms}</code>. And that&rsquo;s all, it&rsquo;s a five minute no-brainer&hellip;</p>

<h3>Further Reading</h3>

<ul><li><a href="http://developer.mozilla.org/en/docs/Creating_OpenSearch_plugins_for_Firefox">OpenSearch documentation</a> (Mozilla Developer Center)</li>
<li><acronym title="JavaScript Object Notation">JSON</acronym> <a href="http://developer.mozilla.org/en/docs/Supporting_search_suggestions_in_search_plugins">type-ahead suggestion</a> functionality for OpenSearch</li>
</ul>

<p class="alert"><ins datetime="20090415T165100"><strong>Update:</strong> Internet Explorer&nbsp;8 now <a href="http://msdn.microsoft.com/en-us/library/cc848862(VS.85).aspx">supports type ahead suggestions</a>, too.</ins></p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2008/opensearch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My @media 2006 Day One</title>
		<link>http://learningtheworld.eu/2006/atmedia-day-one/</link>
		<comments>http://learningtheworld.eu/2006/atmedia-day-one/#comments</comments>
		<pubDate>Wed, 21 Jun 2006 10:22:05 +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[accessibility]]></category>
		<category><![CDATA[Ajax]]></category>
		<category><![CDATA[atmedia]]></category>
		<category><![CDATA[atmedia2006]]></category>
		<category><![CDATA[book:isbn=0321472667]]></category>
		<category><![CDATA[book:isbn=0596527330]]></category>
		<category><![CDATA[Chris Wilson]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[DOM scripting]]></category>
		<category><![CDATA[Eric Meyer]]></category>
		<category><![CDATA[IE7]]></category>
		<category><![CDATA[Jan Eric Hellbusch]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Jeffrey Veen]]></category>
		<category><![CDATA[Jens Grochtdreis]]></category>
		<category><![CDATA[Jeremy Keith]]></category>
		<category><![CDATA[london]]></category>
		<category><![CDATA[Tomas Caspers]]></category>
		<category><![CDATA[uk]]></category>
		<category><![CDATA[WCAG 2.0]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2006/atmedia-day-one/</guid>
		<description><![CDATA[@media is a web conference in London with a focus on web standards and accessibility, and impossible to google. I missed last year&#8217;s conference, thus I was looking forward to finally meet all the people whose articles, web publications and more recently blogs provided my literature and inspiration for the past seven years or so.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p><strong><a href="http://www.vivabit.com/atmedia2006/">@media</a> is a web conference in London with a focus on web standards and accessibility, and impossible to google.</strong> I missed last year&rsqou;s conference, thus I was looking forward to finally meet all the people whose articles, web publications and more recently blogs provided my literature and inspiration for the past seven years or so.</p>

<h3>In this post:</h3>

<ul class="toc">
    <li><a href="#meyer">Eric Meyer: Keynote</a></li>
    <li><a href="#keith">Jeremy Keith: Using <acronym title="Document Object Model">DOM</acronym> scripting to plug the holes in <acronym>CSS</acronym></a></li>
    <li><a href="#wilson">Chris Wilson: <acronym title="Microsoft Internet Explorer">IE</acronym>: 7 and beyond</a></li>
    <li><a href="#wcag">The new accessibility guidelines: <acronym title="Web Content Accessibility Guidelines">WCAG</acronym>&nbsp;2.0</a></li>
    <li><a href="#veen">Jeffrey Veen: Designing the next generation of web <abbr title="Applications">apps</abbr></a></li>
</ul>

<h3 id="geek-life">Introducing geeks to a social life</h3>

<p><a href="http://flickr.com/photos/tomascaspers/168221986/in/set-72157594170010626/" title="Larger version of the Johansson/Caspers photo on flickr"><img class="floatleft photo" src="/wp-content/uploads/2006/06/2006-06-14-johansson-caspers" alt="Roger Johansson &amp; Tomas Caspers" width="200" height="110" /></a> There was some socializing the evening before the conference where I met with a couple of Germans, like <span class="vcard"><a href="http://blog.grochtdreis.de" class="url fn" hreflang="de">Jens Grochtdreis</a></span> who initiated the German web standardista group &ldquo;<a href="http://www.webkrauts.de" hreflang="de">Webkrauts</a>&rdquo;, <span class="vcard"><a href="http://www.barrierefreies-webdesign.de" class="url fn" hreflang="de"><span class="given-name">Jan Eric</span> <span class="family-name">Hellbusch</span></a></span> whose website I had noticed before for some master theses about accessibility, or <span class="vcard"><span class="fn">Tomas Caspers</span> who is a member of <acronym title="Web Standards Project">WaSP</acronym> and the mastermind behind the accessibility portal <a href="http://www.einfach-fuer-alle.de" class="url" hreflang="de" xml:lang="de" lang="de">Einfach für alle</a>. Actually I wasn&#8217;t the only one to notice he looks like the lost fifth member of the German punk band &ldquo;Die Toten Hosen&rdquo;?&hellip;</span> Also that&rsquo;s where I met <span class="vcard"><a href="http://www.456bereastreet.com" class="url fn">Roger Johansson</a></span>, whose technical blog <em>456&nbsp;Berea Street</em> is a must-read for <acronym title="Cascading Style Sheets">CSS</acronym> and accessibility aware coders.</p>

<p>So my <strong>first day on @media</strong> began with a walk through polluted London air along surveillance cameras and anti-tank barriers along the Houses of Parliament over to the queue in front of the Queen Elizabeth <abbr title="the second">II</abbr> Conference Center (QE2CC) where we got nice bags and name tags. I would suggest <em>shawls</em> with the @media logo for next year to stand a chance against the bloody cold air conditioning while it was 28&deg;&nbsp;<abbr title="Celsius">C</abbr> outside. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";-)" class="wp-smiley" /> </p>

<h3 id="meyer">Eric Meyer: Keynote</h3>

<p class="vcard"><a href="http://www.flickr.com/photos/chrisjennings/169037394/in/set-72157594168773966/" title="Larger version of the Eric Meyer photo on flickr"><img class="floatleft photo" src="/wp-content/uploads/2006/06/2006-06-15-eric-meyer" alt="Eric Meyer" width="200" height="150" /></a> The conference started with a keynote by <a href="http://meyerweb.com" class="url fn">Eric Meyer</a> with his personal impressions of the last ten years of the web. Quite interesting since I&rsquo;ve been reading his articles on <a href="http://meyerweb.com/eric/writing.html">Web Review</a>, where he published among other things the famous <acronym title="Cascading Style Sheets">CSS</acronym> browser compatibility chart, a great companion in my struggle with 4th generation browsers.</p>

<p>Looking back, he realized the following truths:</p>

<ol>
    <li>Small groups of <strong>dedicated experts <em>can</em> change a lot</strong> (<abbr title="for example">e.g.</abbr> the <a href="http://archive.webstandards.org/css/members.html"><acronym>CSS</acronym> Samurai</a>, or <a href="http://www.tantek.com">Tantek Çelik</a> who introduced doctype switching).</li>
    <li><strong>Free information</strong> is an essential part of any new web technology&rsquo;s adoption.</li>
    <li>You don&rsquo;t hear much anymore from people or companies who kept information as a &ldquo;personal advantage.&rdquo;</li>
    <li>You might be the first who thought about a certain solution. Savour this moment, and then <strong>share it</strong>.</li>
</ol>

<h3 id="keith">Using <acronym title="Document Object Model">DOM</acronym> scripting to plug the holes in <acronym>CSS</acronym></h3>

<p class="vcard"><a href="http://www.flickr.com/photos/martin-kliehm/171514731/in/set-72157594172244478/" title="Larger version of the Jeremy Keith photo on flickr"><img class="floatleft photo" src="/wp-content/uploads/2006/06/2006-06-15-jeremy-keith" alt="Jeremy Keith" width="200" height="150" /></a> As an example, <a href="http://adactio.com" class="url fn">Jeremy Keith</a> introduced the techniques of Buck Owens, the first musician to &ldquo;hack&rdquo; the tinny sound of early radios by replacing the bass with a regular guitar. So his tracks sounded better and got more airtime. Using <acronym>DOM</acronym> scripting to work around incomplete <acronym>CSS</acronym> implementations or to simulate <acronym>CSS</acronym>&nbsp;3 behavior is basically the same, as long as there aren&rsquo;t yet browsers with <q>&ldquo;great bass.&rdquo;</q></p>

<p>Okay, most of the stuff in his <cite><a href="http://domscripting.com/presentations/atmedia2006/slides/" title="Slides for Jeremy&rsquo;s DOM scripting presentation">presentation</a></cite> sounded familiar, and I&rsquo;d rather set zebra stripes on table row backgrounds server side. Still I got some inspiration how to do some things <em>better</em>. For example it never occurred to me to combine selectors like</p>

<ol class="code"><li><code>document.<strong>getElementById</strong>(&quot;id&quot;)<span class="codeSpace">&nbsp;</span>.<strong>getElementsByTagName</strong>(&quot;p&quot;)</code></li></ol>

<p>Or I never thought of using a universal selector in JavaScript:</p>

<p class="block"><code>document.getElementsByTagName(&quot;<strong>*</strong>&quot;)</code></p>

<p>Also the next time I&rsquo;m manipulating an object&rsquo;s class, I promise to do it by writing some reusable functions like</p>

<ol class="code">
    <li><code>document.<strong>getElementByClassName()</strong></code></li>
    <li><code>function <strong>addClass(</strong>element, className<strong>)</strong></code></li>
</ol>

<p>And after I <code>createElement</code> I should set more attributes by setting a <code>className</code> instead of adding each attribute separately.</p>

<p>When he mentioned <acronym>CSS</acronym>&nbsp;3, I learned that Safari is already capable of handling multiple background images. And I liked his introduction of the geeky Star Trek term of a <q>&ldquo;<a href="http://en.wikipedia.org/wiki/Kobayashi_Maru" title="Kobayashi Maru on Wikipedia">Kobayashi Maru scenario</a>&rdquo;</q> for a no-win situation, or his translation of object detection</p>

<ol class="code"><li><code>if (document.getElementById) { }</code></li></ol>

<p>with <q>&ldquo;you must be this high to ride.&rdquo;</q> Rather cool, and a very entertaining presentation.</p>

<h3 id="wilson"><acronym title="Microsoft Internet Explorer">IE</acronym>: 7 and beyond</h3>

<p class="vcard"><a href="http://www.flickr.com/photos/chrisjennings/169144799/in/set-72157594168773966/" title="Larger version of the Chris Wilson photo on flickr"><img class="floatleft photo" src="/wp-content/uploads/2006/06/2006-06-15-chris-wilson-s" alt="Chris Wilson" width="200" height="150" /></a> <cite><a class="url fn" href="http://blogs.msdn.com/cwilso/">Chris Wilson</a></cite> worked on the Mosaic browser (that&rsquo;s, like, <em>Netscape&nbsp;1</em> &mdash; scary, isn&rsquo;t it?) and on <acronym>IE</acronym> ever since version&nbsp;2. Praise him for first implementing <acronym>CSS</acronym> in <acronym>IE</acronym>3, blame him for some nasty bugs he&rsquo;s personally responsible for in <acronym>IE</acronym>6. Also he&rsquo;s the one who wrote <a href="http://blogs.msdn.com/cwilso/archive/2006/05/11/595536.aspx" title="Chris Wilson&rsquo;s blog &ldquo;Microsoft, IE and the Web Standards Project&rdquo;">he will quit</a> (and probably become a professional surfer) the day he loses his passion or <acronym>IE</acronym> gets mothballed again.</p>

<p>After some blatant promotion for all the outstanding new features and fixes in <acronym>IE7</acronym>, things you can read about in the <a href="http://blogs.msdn.com/ie/"><acronym>IE</acronym>Blog</a> if you haven&rsquo;t yet, he came to the interesting facts:</p>

<p>First of all, they are planning the <strong>next two releases</strong> now, and it won&rsquo;t take another five years until <acronym>IE8</acronym> will emerge. Also <a href="http://blogs.msdn.com/ie/archive/2006/05/26/608255.aspx"><acronym>IE7+</acronym></a> for Windows Vista is only marketing speak, what counts is that it has the same features as <acronym>IE7</acronym> for Windows <acronym>XP</acronym>, except for some vista-only security and parental control. <strong><acronym>IE7</acronym> will ship</strong> in <q>&ldquo;second half 2006.&rdquo;</q> More precisely, the Malaysian Vista developer Jabez Gan disclosed earlier that <a href="http://www.msblog.org/?p=692" title="More on MSBlog">December 6</a> will be the release date.</p>

<p>Because of the deep interaction with the operating system they can&rsquo;t push it as a critical <strong>Windows update</strong>, but they will <q>&ldquo;strongly encourage people to update.&rdquo;</q> The <strong>new fonts</strong> won&rsquo;t be deployed with the update, more likely in a separate package, simply because with Unicode support some are too large.</p>

<p>On a technical side they are aware of developer&rsquo;s problems to test on <strong>multiple versions of <acronym>IE</acronym></strong>. Though it is technically hard to have a friendly co-existence of multiple <acronym>IE</acronym>s because they provide the operating system, it should be possible to create side-by-side versions of <em>the browser</em> only. Yay, that&rsquo;s what we want!</p>

<p>Also they would like to support the <strong><acronym title="eXtensible Hypertext Markup Language">XHTML</acronym> <acronym title="Multipurpose Internet Mail Extensions">MIME</acronym> type</strong>, but want to do it right, later. Same is true for <strong>advanced <acronym>DOM</acronym> support</strong>, or passing the <strong>Acid2 test</strong>. What&rsquo;s next for the web? <strong>Mashups</strong>, <strong><acronym title="Really Simple Syndication">RSS</acronym></strong>, <a href="/2006/atmedia-day-two/#tantek" title="See Tantek &Ccedil;elik&rsquo;s session for more information on microformats">microformats</a>, and <strong>XMLHttpRequest</strong> (did you know there&rsquo;s a <a href="http://www.w3.org/TR/XMLHttpRequest/" title="XMLHttpRequest Working Draft"><acronym title="World Wide Web Consortium">W3C</acronym> working draft</a>?). <strong>XForms</strong> is on their radar, but they need to coordinate efforts with other browser vendors.</p>

<p>Besides Chris recommended some tools like an expression finder to spot <acronym>CSS</acronym> hacks, or an application compatibility toolkit, stuff you can download as part of the <a href="http://www.microsoft.com/downloads/details.aspx?familyid=D13EE10D-2718-47F1-AA86-1E32D526383D&#038;displaylang=en">Internet Explorer 7 Readiness Toolkit</a> from Microsoft with a genuine copy or from someplace else without.</p>

<h3 id="wcag">The new accessibility guidelines: <acronym title="Web Content Accessibility Guidelines">WCAG</acronym>&nbsp;2.0</h3>

<p>I had hoped that by visiting the panel about <acronym>WCAG</acronym> ['wu:k&aelig;g] I could avoid having to read <a href="http://www.w3.org/TR/2006/WD-WCAG20-20060427/" title="Working Draft: Web Content Accessibility Guidelines 2.0">the unreadable</a> myself, but I was disappointed. You will read in <a href="/2006/to-hell-with-joe-clark/" title="To Hell With Joe Clark">another post</a> about it. Not much else to tell about that panel, except <acronym>WCAG</acronym>&nbsp;2.0 is probably not <a href="http://www.alistapart.com/articles/tohellwithwcag2" title="Joe Clark&rsquo;s article about WCAG 2.0 in A List Apart">as bad</a> as we have thought. There are <a href="http://accessify.com/2006/06/notes-about-our-media-wcag-20.php" title="Notes about the WCAG 2.0 panel">notes</a> and the <a href="http://accessify.com/presentations/" title="The slides for the WCAG 2.0 panel">slides</a> available on accessify.com.</p>

<h3 id="veen">Designing the next generation of web <abbr title="Applications">apps</abbr></h3>

<p class="vcard"><a href="http://www.flickr.com/photos/chimchim/168820983/in/set-72157594167975089/" title="Larger version of the Jeffrey Veen photo on flickr"><img class="floatleft photo" src="/wp-content/uploads/2006/06/2006-06-15-jeffrey-veen" alt="Jeffrey Veen in s suit with a presentation slide in the background and the words &ldquo;Generation Web Apps&rdquo;" width="200" height="132" /></a> <cite><a href="http://www.veen.com" class="url fn">Jeffrey Veen</a></cite> is the partner of Jesse James Garrett who gets all the attention for coining the term &ldquo;<acronym title="Asynchronous JavaScript and XML"><strong>Ajax</strong></acronym>.&rdquo; Anyway, <acronym>Ajax</acronym> is <em>so</em> going to change our world. Like the automobile, or the Great Depression. Some will get more mobile, some will get greatly depressed when the web becomes inaccessible.</p>

<p>In another panel the speakers agreed that <strong><acronym>Ajax</acronym></strong> can make live easier <strong>as an enhancement</strong> (Jeremy Keith calls it &ldquo;<a href="http://domscripting.com/presentations/xtech2006/" title="Slides by Jeremy Keith about Hijax">Hijax</a>&rdquo;), but shouldn&rsquo;t be a world of pain for the others. Actually I can see some of <a href="http://www.veen.com/nextgen.pdf" title="Jeffrey Veen&rsquo;s slides as PDF" type="application/pdf">Jeff&rsquo;s examples</a> (use Stuart Colville&rsquo;s <a href="http://muffinresearch.co.uk/archives/2006/06/16/media2006-notes-jeffrey-veen-designing-the-next-generation-of-web-apps/" title="Notes about Jeffrey Veen&rsquo;s presentation">notes</a> to understand the slides) as an enhancement. Like giving immediate feedback when input fields in a form validate, while degrading gracefully by giving feedback after a regular submit.</p>

<p>You can enhance understanding by coloring and visualizing rainfall values in a nicely designed table, or you can further enhance it by making it interactive with a fader to choose cities on a map. But I can&rsquo;t imagine how to have both.</p>

<p>In another example he showed a mashup of Google Maps with a Chicago crime database. Nice, but how can that be made accessible? So that people without JavaScript, or screen reader and braille display users <em>with</em> JavaScript can access the raw data table that lies under the visualization?</p>

<p>There was a lot of talk how <strong>today&rsquo;s websites will be tomorrow&rsquo;s web applications</strong>, but like <a href="/2006/atmedia-day-two/#koechley">Nate Koechley</a> put it: You can&rsquo;t just copy one aspect of desktop applications while ignoring the accessible alternatives. Desktop applications are accessible with multiple input devices, like a mouse or a keyboard. Screen readers can get the content. Don&rsquo;t you forget it when developing the <q>&ldquo;next generation off apps.&rdquo;</q> There&rsquo;s more than just good looks.</p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2006/atmedia-day-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
