<?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; mozilla</title>
	<atom:link href="http://learningtheworld.eu/tag/mozilla/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>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>Website Performance Tweaks</title>
		<link>http://learningtheworld.eu/2007/performance/</link>
		<comments>http://learningtheworld.eu/2007/performance/#comments</comments>
		<pubDate>Thu, 25 Jan 2007 20:00:35 +0000</pubDate>
		<dc:creator><![CDATA[Martin Kliehm]]></dc:creator>
				<category><![CDATA[downloads]]></category>
		<category><![CDATA[web development]]></category>
		<category><![CDATA[book:isbn=0596529309]]></category>
		<category><![CDATA[cache]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[concat]]></category>
		<category><![CDATA[css sprites]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[Douglas Crockford]]></category>
		<category><![CDATA[Ed Eliot]]></category>
		<category><![CDATA[file aggregation]]></category>
		<category><![CDATA[http-request]]></category>
		<category><![CDATA[JSMin]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[Nate Koechley]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[sliding doors]]></category>
		<category><![CDATA[techniques]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[yui]]></category>

		<guid isPermaLink="false">http://learningtheworld.eu/2007/performance/</guid>
		<description><![CDATA[In the last six months I became more aware of techniques for optimizing website performance. I learned about memory leaks and JavaScript performance, but what impressed me most was Nate Koechleyâ€™s presentation about large scale website performance issues in â€œYahoo! <abbr title="versus">vs.</abbr> Yahoo!&#8221; at the @media conference 2006. In the meantime there have been more blog posts about particular aspects of performance optimization, so I wrote a summary.&#160;[&#8230;]]]></description>
				<content:encoded><![CDATA[<p>In the last six months I became more aware of techniques for <strong>optimizing website performance</strong>. I learned about <a href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/IETechCol/dnwebgen/ie_leak_patterns.asp" title="Microsoft Developer Network: Understanding and solving Internet Explorer leak patterns">memory</a> <a href="http://outofhanwell.com/ieleak/" title="Drip: A memory leak detector for Internet Explorer">leaks</a> and <a href="http://blogs.msdn.com/ie/archive/2006/08/28/728654.aspx" title="IE + JavaScript performance recommendations &ndash; part 1">JavaScript</a> <a href="http://blogs.msdn.com/ie/archive/2006/11/16/ie-javascript-performance-recommendations-part-2-javascript-code-inefficiencies.aspx" title="IE + JavaScript performance recommendations &ndash; part 2">performance</a>, but what impressed me most was <a href="http://nate.koechley.com/blog/2006/07/12/my_atmedia_2006_slides/" rel="met colleague">Nate Koechley&rsquo;s presentation</a> about large scale website performance issues in &ldquo;<a href="http://learningtheworld.eu/2006/atmedia-day-two/#koechley" title="See my notes about his talk">Yahoo! <abbr title="versus">vs.</abbr> Yahoo!</a>&rdquo; at the @media conference 2006. In the meantime there have been more blog posts about particular aspects of performance optimization, and I&rsquo;d like to sum them up:</p>

<p id="file-location"><strong>Parsing JavaScript</strong> freezes the browser. Therefore put <acronym title="Cascading Stylesheets">CSS</acronym> in the <code>head</code> and JavaScript near to the <code>&lt;/body&gt;</code> so that it is parsed when the page has been rendered.</p>

<p id="http-requests">The arch enemy of performance are <strong><a href="http://yuiblog.com/blog/2006/11/28/performance-research-part-1/" title="YUI Blog: Performance research &ndash; what the 80/20 rule tells us about reducing HTTP requests"><acronym title="Hypertext Transfer Protocol">HTTP</acronym> requests</a></strong>. Many browsers still can&rsquo;t handle more than two or four requests at a time. Keep the number of files down, your website will be faster.</p>

<p>There are several techniques with the aim to reduce the number of files:</p>

<ol><li id="inline-css"><p><strong>&ldquo;<q>A single large file is fastest.</q>&rdquo;</strong> (<cite>Nate Koechley</cite>) That&rsquo;s why Yahoo! <em>apparently</em> has such an amount of <a href="http://www.robertnyman.com/2007/01/24/with-these-web-sites-would-you-say-the-web-standards-war-is-won/">inline <acronym title="Cascading Stylesheets">CSS</acronym></a>. They found out <a href="http://yuiblog.com/blog/2007/01/04/performance-research-part-2/" title="YUI Blog: Performance research, part 2: browser cache usage &ndash; exposed!">browser caching</a> is not as effective as they thought, in particular not on a user&rsquo;s start page. So they deliver &ldquo;inline&rdquo; <acronym>CSS</acronym>. Actually writing inline <acronym>CSS</acronym> is a maintenance nightmare, but delivering <acronym>CSS</acronym> content inline doesn&rsquo;t mean the files can&rsquo;t have separate lives on the server: concatenate the files with a server side technique of your choice.</p>
<p><strong>Update:</strong> A couple of months later <a href="/2007/performance-2/#rule-8">Nate explained that further</a>: when your page is likely to be a user&rsquo;s start page, caching plays a minor role, thus &ldquo;inline&rdquo; <acronym>CSS</acronym> is faster. Otherwise use external files, aggregate them, and make sure they are cached (see below).</p></li>
<li id="enforce-caching"><p><strong>Enforce caching.</strong> Another <a href="http://www.bazon.net/mishoo/articles.epl?art_id=958"><acronym title="Internet Explorer">IE</acronym> bug</a> prevents image caching. Add the following to your <code>.htaccess</code>, <code>httpd.conf</code> or <code>vhost.conf</code> settings:</p>
<ol class="code">
<li><code>&lt;IfModule mod_expires.c&gt;</code></li>
<li class="indent"><code>ExpiresActive On</code></li>
<li class="indent"><code>ExpiresByType image/jpg &quot;access plus 1 day&quot;</code></li>
<li class="indent"><code>ExpiresByType image/jpeg &quot;access plus 1 day&quot;</code></li>
<li class="indent"><code>ExpiresByType image/gif &quot;access plus 1 day&quot;</code></li>
<li class="indent"><code>ExpiresByType image/png &quot;access plus 1 day&quot;</code></li>
<li><code>&lt;/IfModule&gt;</code></li></ol></li>
<li id="background-images"><p><strong>Reduce the number of background images</strong> with techniques like <a href="http://www.alistapart.com/articles/sprites/">CSS Sprites</a> or <a href="http://www.alistapart.com/articles/slidingdoors/">Sliding Doors</a>. Instead of four images of rounded corners you <a href="http://www.fiftyfoureleven.com/sandbox/sliding-doors-one-image/" title="Example">only need one</a> and get the mouseover state for free! The green download button on <a href="http://www.mozilla.com">mozilla.com</a> is based on that technique. And <a href="http://www.yahoo.com">Yahoo!</a> uses <acronym>CSS</acronym> Sprites to combine a huge number of icons.</p>

<p><img src="/wp-content/uploads/2007/01/mozilla-button.jpg" class="centered screenshot" width="300" height="149" alt="Download button on mozilla.com using the Sliding Doors technique" /></p>

<p>Please note this approach is only for <em>decorational background images</em> that degrade gracefully. <del>It&rsquo;s not for <code>img</code> elements.</del> <ins>Be careful when you use it for <a href="/2007/foreground-sprites/">foreground images</a>.</ins> And if text comes as a graphical representation, it can become inaccessible for screen reader users, zoom readers, or people with stylesheets switched off. Use real text instead.</p>

<p>Also note changing the <code>background-position</code> causes <acronym>IE6</acronym> to flicker, related to the caching bug above. To avoid it, simply add the following:</p>
<ol class="code">
<li><code>&lt;script type=&quot;text/javascript&quot;&gt;</code></li>
<li class="indent"><code>try { document.execCommand(<span class="codeSpace">&nbsp;</span>&quot;BackgroundImageCache&quot;, false, true); } catch(e) {};</code></li>
<li><code>&lt;/script&gt;</code></li></ol></li>
<li id="file-aggregation"><p><strong>Aggregate files.</strong> Ed Eliot wrote a nice <a href="http://www.ejeliot.com/blog/72" title="Automatic merging and versioning of CSS/JS files with PHP">script to merge JavaScript or <acronym>CSS</acronym> files</a>, bonus respect for the advanced versioning and caching features.</p>

<p>But remember the cases when it doesn&rsquo;t make sense to merge <acronym>CSS</acronym> files: your <acronym title="Internet Explorer">IE</acronym> bugfixes still belong in conditional comments. If you use the <code>@import</code> rule to filter antique browsers from getting advanced styles, you can&rsquo;t drop it. And if you want to merge stylesheets for different media (<abbr title="for example">e.g.</abbr> print), make sure the code is enclosed in something like</p>


<ol class="code">
<li><code>@media print {</code></li>
<li class="indent"><code>/* style sheet for print goes here */</code></li>
<li><code>}</code></li></ol>


<p>In an <a href="http://www.ejeliot.com/blog/73" title="Adding JSMin to the CSS/JS merging script">updated version</a> Ed added <a href="http://javascript.crockford.com/jsmin.html">JSMin</a> to strip comments and excess whitespace. JSMin works like a charm for JavaScript files. But it cuts a few space characters too much so that the syntax of <acronym>CSS</acronym> selectors changes <del>therefore for now I have abandoned the idea to compress them too</del>. <ins>See <a href="#comment-6045">Jens Meiert&rsquo;s comment</a> below for a recommendation to minimize <acronym>CSS</acronym>.</ins></p>

<p>His original code requires the C version of JSMin with PHP <code>safe_mode</code> turned off. If you prefer a pure PHP version, get the <a href="http://javascript.crockford.com/jsmin2.php.txt">PHP version of JSMin</a> and my <a href="/examples/combine-jsmin.phps" type="text/plain">adapted version of the script</a>.</p>
</li></ol>

<p>I&rsquo;m still in awe how fast one of my own websites became! Thanks to the guys at Yahoo! for the inspiration and for most of the research this article is based upon. Even JSMin was written by an employee of Yahoo! Speaking about Yahoo! employees: <a href="http://wait-till-i.com/" title="Christian Heilmann" rel="met colleague">Chris</a>, I hope there are still enough topics for your <a href="http://www.thinkvitamin.com/features/dev/enhance-your-page-performance" title="Chris Heilmann: Enhance your (page) performance!">Vitamin article</a>. I wanted to write about performance anyway, and to my surprise I <a href="http://www.robertnyman.com/2007/01/24/with-these-web-sites-would-you-say-the-web-standards-war-is-won/#comment-29959">read yesterday</a> that you have similar plans. See ya in <a href="/2007/brain-food/#e-accessibility" title="First European e-Accessibility Forum">Paris</a>. <img src="http://learningtheworld.eu/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /> </p>
]]></content:encoded>
			<wfw:commentRss>http://learningtheworld.eu/2007/performance/feed/</wfw:commentRss>
		<slash:comments>18</slash:comments>
		</item>
	</channel>
</rss>
