<?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>Ajaxian &#187; Browsers</title>
	<atom:link href="http://ajaxian.com/by/topic/browsers/feed" rel="self" type="application/rss+xml" />
	<link>http://ajaxian.com</link>
	<description>Cleaning up the web with Ajax</description>
	<lastBuildDate>Thu, 02 Feb 2012 22:23:48 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
    	<generator>http://wordpress.org/?v=3.2</generator>
		<item>
		<title>Shim uses node.js to test sites on multiple browsers</title>
		<link>http://ajaxian.com/archives/shim-uses-node-js-to-test-sites-on-multiple-browsers</link>
		<comments>http://ajaxian.com/archives/shim-uses-node-js-to-test-sites-on-multiple-browsers#comments</comments>
		<pubDate>Sun, 15 Jan 2012 04:01:13 +0000</pubDate>
		<dc:creator>jvaughan</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10760</guid>
		<description><![CDATA[Shim was developed within the Boston Globe&#8217;s media lab as a way to study how Web sites look on various devices and browsers. A laptop intercepts all wifi traffic – this is redirected to a custom node.js server &#8211; which inserts a javascript, or &#8220;shim,&#8221; at the head of each web page that is visited. <a href="http://ajaxian.com/archives/shim-uses-node-js-to-test-sites-on-multiple-browsers">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Shim was developed within the Boston Globe&#8217;s media lab as a way to study how Web sites look on various devices and browsers. A laptop intercepts all wifi traffic – this is redirected to a custom node.js server &#8211; which inserts a javascript, or &#8220;shim,&#8221; at the head of each web page that is visited.</p>
<p>The shim, once loaded in a device&#8217;s browser, opens and maintains a socket connection to the server, according to to Shim&#8217;s developers. Shim was written in 2011 by Chris Marstall, Creative Technologist at the Boston Globe. The software has been open sourced. Write the Shim originators on git.hub:</p>
<p>Whenever a new page is requested, the page&#8217;s URL is broadcast to all connected browsers, which then redirect themselves to that URL, keeping all devices in sync. <a href="https://github.com/marstall/shim/">Shim info is available on git.hub.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/shim-uses-node-js-to-test-sites-on-multiple-browsers/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>IE9 Chakra JavaScript Team Hosting a Q&amp;A Session Tomorrow</title>
		<link>http://ajaxian.com/archives/ie9-chakra-javascript-team-hosting-a-qa-session-tomorrow</link>
		<comments>http://ajaxian.com/archives/ie9-chakra-javascript-team-hosting-a-qa-session-tomorrow#comments</comments>
		<pubDate>Wed, 17 Nov 2010 19:56:31 +0000</pubDate>
		<dc:creator>Rey Bango</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[IE]]></category>
		<category><![CDATA[Microsoft]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=10466</guid>
		<description><![CDATA[The IE9 team announced that they&#8217;ll be hosting an open Q&#038;A session via Twitter where developers can ask questions to the Chakra engineers about the new JavaScript engine. In conjunction with the release of Platform Preview 7, we wanted to give the community the opportunity to ask questions of some of our IE and Chakra <a href="http://ajaxian.com/archives/ie9-chakra-javascript-team-hosting-a-qa-session-tomorrow">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The IE9 team <a href="http://windowsteamblog.com/ie/b/ie/archive/2010/11/17/meet-the-chakra-team-live-on-twitter.aspx">announced that they&#8217;ll be hosting an open Q&#038;A session</a> via Twitter where developers can ask questions to the Chakra engineers about the new JavaScript engine.</p>
<blockquote><p>In conjunction with the release of Platform Preview 7, we wanted to give the community the opportunity to ask questions of some of our IE and Chakra engineers. So we’re going to host a 2-hour Q&#038;A chat on Twitter tomorrow morning beginning at 9am PST.</p></blockquote>
<p>They&#8217;ll be fielding questions starting tomorrow Thursday, November 18th from 9-11am PST and you can participate by sending your questions to <a href="http://twitter.com/ie">@ie</a> and using the hashtag #ie9.</p>
<p><a href="http://windowsteamblog.com/ie/b/ie/archive/2010/11/17/meet-the-chakra-team-live-on-twitter.aspx">Check out the blog post</a> for full details of the Q&#038;A session.</p>
<p><em>Full Disclosure: I work for Microsoft.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/ie9-chakra-javascript-team-hosting-a-qa-session-tomorrow/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>YUI 3.2.0 preview release 1 &#8211; touch events support, transitions and browser-specific loading</title>
		<link>http://ajaxian.com/archives/yui-3-2-0-preview-release-1-touch-events-support-transitions-and-browser-specific-loading</link>
		<comments>http://ajaxian.com/archives/yui-3-2-0-preview-release-1-touch-events-support-transitions-and-browser-specific-loading#comments</comments>
		<pubDate>Tue, 27 Jul 2010 18:34:02 +0000</pubDate>
		<dc:creator>Chris Heilmann</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Library]]></category>
		<category><![CDATA[YUI]]></category>
		<category><![CDATA[preview]]></category>
		<category><![CDATA[Yahoo!]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9885</guid>
		<description><![CDATA[Over at the the YUI blog the team just announced the preview release of YUI 3.2.0. YUI3 now has some interesting new features that the team wants you to try and tell them if they work out for you. The changes to the already very powerful library are quite ambitious: Touch event support for mobile <a href="http://ajaxian.com/archives/yui-3-2-0-preview-release-1-touch-events-support-transitions-and-browser-specific-loading">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Over at the <a href="http://www.yuiblog.com/blog/2010/07/26/3-2-0pr1/">the YUI blog the team just announced the preview release of YUI 3.2.0</a>. YUI3 now has some interesting new features that the team wants you to try and tell them if they work out for you. The changes to the already very powerful library are quite ambitious:</p>
<ul>
<li><a href="http://yuiblog.com/sandbox/yui/3.2.0pr1/tests/event-gestures/tests/manual/gestures.html">Touch event support</a> for mobile interfaces including flick and move gestures</li>
<li>Browser capability loading &#8211; which means that every browser gets the least amount of code necessary to make it work</li>
<li><a href="http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/transition/transition-usage.html">Transition support for the animation module</a> &#8211; meaning only browsers that don&#8217;t support CSS3 transitions get the JavaScript animation fallback</li>
<li>An <a href="http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/cssgrids/cssgrids-units.html">update to the CSS grids</a> to allow for more flexible layouts</li>
<li>A <a href="http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/scrollview/index.html">ScrollView widget</a> similar to the one in Apple iOS</li>
<li>The uploader has been transitioned over from YUI2 to YUI3</li>
</ul>
<p>So check out what is on offer and give the YUI team feedback on what would be nice to have and what is broken. In their own words:</p>
<blockquote><p>The goal of a preview release is to make it as easy as possible for all of us in the community to evaluate progress of the upcoming release and provide feedback.  Please take some time to test 3.2.0pr1 and let us know what you find by filing tickets in the <a href="http://yuilibrary.com/projects/yui3/newticket?version=3.2.0%20PR1">YUI 3 bug database</a> marked as “Observed in version” 3.2.0pr1.  We’ll do our best to address preview-release questions on the <a href="http://yuilibrary.com/forum/viewforum.php?f=15" title="YUI Library :: Forums :: View forum - YUI 3.x:">YUI 3 Forums</a>, too.</p></blockquote>
<p>There are three ways to get started with the preview release:  YUI 3.2.0pr1 is available on the CDN via the 3.2.0pr1 version tag — so you can reference preview-release files like <code><a href="http://yui.yahooapis.com/combo?3.2.0pr1/build/yui/yui-min.js">http://yui.yahooapis.com/combo?3.2.0pr1/build/yui/yui-min.js</a></code>.  If you switch to this seed file for the preview release, all subsequent <code>use()</code> statements will continue to load YUI 3.2.0pr1. Or You can download the full YUI 3.2.0pr1 from <a href="http://yuilibrary.com/downloads/">YUILibrary.com</a>, including source code and examples for all components. Or you can simply explore the <a href="http://yuiblog.com/sandbox/yui/3.2.0pr1/examples/" title="YUI 3: Index of Library Examples">functioning examples roster</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/yui-3-2-0-preview-release-1-touch-events-support-transitions-and-browser-specific-loading/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Firefox 4 with lots of speed improvements and inline SVG</title>
		<link>http://ajaxian.com/archives/firefox-4-with-lots-of-speed-improvements-and-inline-svg</link>
		<comments>http://ajaxian.com/archives/firefox-4-with-lots-of-speed-improvements-and-inline-svg#comments</comments>
		<pubDate>Thu, 01 Jul 2010 15:26:49 +0000</pubDate>
		<dc:creator>Chris Heilmann</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[mozilla]]></category>
		<category><![CDATA[SVG]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9742</guid>
		<description><![CDATA[Mozilla went to London, England yesterday night to give a workshop about Mozilla Add-Ons and show some of the cool new stuff coming in Firefox 4. Probably the most impressive thing (next to the new Add-Ons Builder based on Bespin) was the upcoming Features of Firefox 4: HTML5 Video display Painting with Canvas Image manipulation <a href="http://ajaxian.com/archives/firefox-4-with-lots-of-speed-improvements-and-inline-svg">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Mozilla went to London, England yesterday night to give a workshop about Mozilla Add-Ons and show some of the cool new stuff coming in Firefox 4. </p>
<p>Probably the most impressive thing (next to the new Add-Ons Builder based on Bespin) was the upcoming Features of Firefox 4: </p>
<ul>
<li><span class="caps">HTML5</span> Video display</li>
<li>Painting with Canvas</li>
<li>Image manipulation with Canvas &#8211; pixel testing, face detection with opencivitas</li>
<li>Green screen technologies in images and video by detecting pixel colours.</li>
<li><span class="caps">HTML5 </span>embedded inside <span class="caps">SVG </span>(yes!)</li>
<li><span class="caps">SVG </span>as an <span class="caps">IMG </span></li>
<li><span class="caps">SVG </span>as a <span class="caps">CSS </span>background </li>
<li><span class="caps">SVG </span>filter/mask/clip</li>
<li><span class="caps">SVG </span>animations </li>
<li>Inline <span class="caps">SVG </span>inside <span class="caps">HTML5</span></li>
<li><span class="caps">CSS3 </span>(selectors, @font-face, 2D Transforms, Transitions, Shadow, Gradients ,calculations &#8211; calc(2em-10px) )</li>
<li><span class="caps">API</span>s: Geolocation, Offline (IndexDB, localStorage, AppCache, FileAPI &#8211; binary content of a file input, file drag and drop, web workers, websockets)</li>
<li>Websockets controller running the presentation from the mobile.</li>
<li>WebGL</li>
</ul>
<p>They proved some of the points with demos: </p>
<p><span class="caps">CSS3 </span>filters and <span class="caps">SVG </span>masking on <span class="caps">HTML5</span> Video:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/-G5h6MKzyDw&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-G5h6MKzyDw&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Highly interactive video interface with <span class="caps">SVG </span>masking and transitions:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/JnEepS4rsG8&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/JnEepS4rsG8&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>WebGL in Firefox 4 and on Android:</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/aQzUsxrm0eI&amp;hl=en_US&amp;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/aQzUsxrm0eI&amp;hl=en_US&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>After this, Tristan Nitot covered some of the other features of Firefox 4, especially the upcoming speed improvements:</p>
<p>As to upcoming features to the core of Firefox, we heard about:</p>
<ul>
<li>TraceMonkey (a new Javascript engine)</li>
<li>Lazy Frame Construction</li>
<li>Reducing I/O from the main thread</li>
<li>Improved startup Time </li>
<li>Hardware accelleration </li>
<li><span class="caps">GPU </span>text/graphics/video rendering </li>
<li>Using <span class="caps">GPU </span>for text rendering </li>
<li>JavaScript <span class="caps">JIT </span>(JaegerMonkey)</li>
<li><span class="caps">HTML5 </span>parser running own thread </li>
<li>slicker interface</li>
<li>no more modal dialogs</li>
<li>no startup interuptions</li>
<li>updates in the background</li>
</ul>
<p>For an in-depth report on all the things shown, check out <a href="http://www.wait-till-i.com/2010/07/01/mozilla-add-on-workshop-and-firefox4-with-html5-css3-and-svg/">this live blog post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/firefox-4-with-lots-of-speed-improvements-and-inline-svg/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>The death of the pixel as we know it; The new DPI web</title>
		<link>http://ajaxian.com/archives/the-death-of-the-pixel-as-we-know-it-the-new-dpi-web</link>
		<comments>http://ajaxian.com/archives/the-death-of-the-pixel-as-we-know-it-the-new-dpi-web#comments</comments>
		<pubDate>Wed, 30 Jun 2010 16:17:25 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9739</guid>
		<description><![CDATA[The Web used to be so simple. Browser request goes to server, where you do some work, and return some HTML. Then we got Ajax and finally web apps could have some semblance of UI responsiveness. Now we have richer HTML5 technologies to change expectations of our users once again. The Web is getting some <a href="http://ajaxian.com/archives/the-death-of-the-pixel-as-we-know-it-the-new-dpi-web">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>The Web used to be so simple. Browser request goes to server, where you do some work, and return some HTML. Then we got Ajax and finally web apps could have some semblance of UI responsiveness. Now we have richer HTML5 technologies to change expectations of our users once again.</p>
<p>The Web is getting some new DPI love, and the new iPhone 4 display personifies this fact. The new display is fantastic for the consumer, and an opportunity for the design enlightened to build truly beautiful web sites. There is a big difference:</p>
<p><img src="http://aralbalkan.com/images/retina-vs-regular.png"/></p>
<p>However, how do we as developers deal with this new world?</p>
<p><a href="http://aralbalkan.com/3331">Aral Balkan</a> has a nice post that goes into detail on the new opportunity and shares samples and ideas.</p>
<p>As with so many things on the Web, some of this has been thought of a loooong time ago. Dave Hyatt wrote about this <a href="http://webkit.org/blog/55/high-dpi-web-sites/">back in 2006</a>.</p>
<p>Walt Dickinson put together a <a href="http://blog.iwalt.com/2010/06/targeting-the-iphone-4-retina-display-with-css3-media-queries.html">guide to the retina display and using CSS3 media queries</a>:</p>
<div class="igBar"><a href="javascript:showCodeTxt('css-3');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">CSS:</span>
<div id="css-3">
<div class="css">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&lt;link rel=<span style="color: #ff0000;">"stylesheet"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; type=<span style="color: #ff0000;">"text/css"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; href=<span style="color: #ff0000;">"/css/retina.css"</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; media=<span style="color: #ff0000;">"only screen and (-webkit-min-device-pixel-ratio: 2)"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">/&gt;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>Aral explains that "in the Retina-specific CSS, he loads in 32x32 icons as background images and specifies their dimensions in CSS pixels as 16x16 using the background-size CSS property."</p>
<p>It is interesting to see a device pixel ratio used rather than specifying a DPI itself.</p>
<p>What else can be done to help folks in this new world?</p>
<p>Aral talks about how the browser could natively help via convention:</p>
<blockquote><p>
I'd like to suggest that browsers adopt the same naming convention that Cocoa Touch uses to find and load high-DPI versions of image and video assets. That is, if I embed an image using the following code…</p>
<div class="igBar"><a href="javascript:showCodeTxt('html-4');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">HTML:</span>
<div id="html-4">
<div class="html">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #009900;"><a href="http://december.com/html/4/element/img.html"><span style="color: #000000; font-weight: bold;">&lt;img</span></a> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"flower.jpg"</span> <span style="color: #000066;">alt</span>=<span style="color: #ff0000;">"A beautiful rose"</span>/<span style="color: #000000; font-weight: bold;">&gt;</span></a></span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>… it should load in flower.jpg when the device-pixel-ratio is 1 but it should attempt to find an image called flower@2x.jpg at the same relative path if device-pixel-ratio is 2 (and so on, for higher pixel-ratios), falling back to the original graphic if it can't find a high-resolution version.</p>
<p>(And the same convention could be used to load video assets.)
</p></blockquote>
<p>Maybe there are server side techniques that could be put in place to automatically serve up the most optimized image for a given DPI. This would stop a bunch of 404s, but requires more work on the part of the server monkey.</p>
<p>This is good news for SVG and libraries like Raphael, who are well suited for scaling. When playing with an iPhone 4 it was amazing how quickly you noticed the bitmaps that were too low res... they stick out like a sore thumb. Expectations have changed.</p>
<p>What else can we do?</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/the-death-of-the-pixel-as-we-know-it-the-new-dpi-web/feed</wfw:commentRss>
		<slash:comments>29</slash:comments>
		</item>
		<item>
		<title>IE9: Big leap forward, and how we can help the Microsoft momentum</title>
		<link>http://ajaxian.com/archives/ie9-big-leap-forward-and-how-we-can-help-the-microsoft-inertia</link>
		<comments>http://ajaxian.com/archives/ie9-big-leap-forward-and-how-we-can-help-the-microsoft-inertia#comments</comments>
		<pubDate>Mon, 28 Jun 2010 21:35:18 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9719</guid>
		<description><![CDATA[Microsoft continues to impress with its developer preview releases for IE9. They went from a laggard in both performance and Web standards, to regrouping and doing some fantastic work in both regards. The honourable PPK has detailed the leap forward with CSS (in between watching his Dutch team do well in the World Cup. Not <a href="http://ajaxian.com/archives/ie9-big-leap-forward-and-how-we-can-help-the-microsoft-inertia">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Microsoft continues to impress with its developer preview releases for IE9. They went from a laggard in both performance and Web standards, to regrouping and doing some fantastic work in both regards.</p>
<p>The honourable PPK has <a href="http://www.quirksmode.org/blog/archives/2010/06/ies_big_leap_fo.html#more">detailed the leap forward with CSS</a> (in between watching his Dutch team do well in the World Cup. Not that I am friggin jealous ;)</p>
<p>The sea of green on the <a href="http://www.quirksmode.org/css/contents.html">CSS compat tables</a> is fantastic news for the Web:</p>
<p><a href="http://www.quirksmode.org/css/contents.html"><img class="alignnone size-full wp-image-9720" title="css3ie9" src="http://ajaxian.com/wp-content/images/css3ie9.png" alt="" width="391" height="698" /></a></p>
<p>More on IE9 and CSS from PPK:</p>
<blockquote><p>IE9 promises to be an excellent browser. Its CSS support is now at par with that of the other browsers — although each browser still has its specific areas where it performs less. But we cannot in good faith say that IE is behind the others any more.</p>
<p>There are only a very few declarations in my test that IE9 does not support. CSS columns, gradients, <code>text-shadow</code>, <code>resize</code>, and <code>text-stroke</code> are the only ones, and the latter two are WebKit-only.</p>
<p>Even better news: Microsoft’s filters seem to have just disappeared from IE9. It supports normal <a href="http://www.quirksmode.org/css/opacity.html">opacity</a>; no more filters required. Also, the <a href="http://www.quirksmode.org/css/gradient.html">gradient</a> filter is gone, leaving IE (temporarily?) not supporting it.</p>
<p>Another golden oldie that got dropped is <code>cursor: hand</code>, the MS proprietary alternative to <code>cursor: pointer</code>. That’s not really important in practice (IE6 already supported both syntaxes), but it’s a powerful symbol of the changes that the IE team has wrought.</p>
<p>With so much excellence around I was almost glad when I found one single bug: IE9 doesn’t handle <a href="http://www.quirksmode.org/css/whitespace.html">white-space: pre-line</a> right. This bug will be fixed, though. It’s typically a minor point that crops up in a beta and is removed from the final product.</p>
</blockquote>
<p>And, it isn't just CSS that is turning green. Kangax does a <a href="http://perfectionkills.com/jscript-and-dom-changes-in-ie9-preview-3/">fantastic job at looking at JScript and the DOM</a>. Not only does he <a href="http://kangax.github.com/es5-compat-table/">show the good</a>, but also the areas that still need improvement such as:</p>
<blockquote><p>Unfortunately, the entire host objects infrastructure still looks very similar to the one from IE8. Host objects don’t inherit from Object.prototype, don’t report proper typeof, and don’t even have basic properties like “length” or “prototype”, which all function objects must have.</p>
</blockquote>
<p>Kangax is doing a lot of good here. The more tests and call outs on what IE needs to do to be standards compliant the better. With the new rate of progress from the IE team, it isn't like the old days where you thought you were talking to deaf ears. Microsoft is listening, and even better than that, they are doing. Now is the time to give them as much info as we can.</p>
<p>What would you like to see?</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/ie9-big-leap-forward-and-how-we-can-help-the-microsoft-inertia/feed</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>IE9 supports Canvas&#8230;. hardware accelerated!</title>
		<link>http://ajaxian.com/archives/ie9-supports-canvas-hardware-accelerated</link>
		<comments>http://ajaxian.com/archives/ie9-supports-canvas-hardware-accelerated#comments</comments>
		<pubDate>Wed, 23 Jun 2010 21:54:00 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Canvas]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9702</guid>
		<description><![CDATA[Huge news. My canvas crusade is done. IE9 is supporting canvas, and it is hardware accelerated, in the third preview release: With the third platform preview, we introduce support for the HTML5 Canvas element. As you know our approach for standards support is informed both by developer feedback and real word usage patterns today, along <a href="http://ajaxian.com/archives/ie9-supports-canvas-hardware-accelerated">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Huge news. My canvas crusade is done. <a href="http://blogs.msdn.com/b/ie/archive/2010/06/23/html5-native-third-ie9-platform-preview-available-for-developers.aspx">IE9 is supporting canvas, and it is hardware accelerated</a>, in the third preview release:</p>
<blockquote><p>
With the third platform preview, we introduce support for the HTML5 Canvas element. As you know our approach for standards support is informed both by developer feedback and real word usage patterns today, along with where we see the web heading. Many web developers have asked us to support this part of HTML5 and we definitely took this feedback into account as we prioritized our work.</p>
<p>Like all of the graphics in IE9, canvas is hardware accelerated through Windows and the GPU. Hardware accelerated canvas support in IE9 illustrates the power of native HTML5 in a browser. We’ve rebuilt the browser to use the power of your whole PC to browse the web. These extensive changes to IE9 mean websites can now take advantage of all the hardware innovation in the PC industry.</p>
<p>Preview 3 completes the media landscape for modern websites with hardware accelerated video, audio, and canvas. Developers now have a comprehensive platform to build hardware accelerated HTML5 applications. This is the first browser that uses hardware acceleration for everything on the web page, on by default, available today for developers to start using for their modern site development.</p>
<p><img src="http://ieblog.members.winisp.net/images/Dean_PPB3_3.png" width="460"/></p>
<p>The third platform preview continues to support more of DOM and CSS3 standards that developers want. Examples here include DOM Traversal, full DOM L2 and L3 events, getComputedStyle from DOM Style, CSS3 Values and Units, and CSS3 multiple backgrounds.</p>
<p>Also included in the third platform preview is support for using the Web Open Font Format (WOFF) through CSS3 font face. </p>
<p><img src="http://ieblog.members.winisp.net/images/Dean_PPB3_6-2.png"/>
</p></blockquote>
<p>Oh, and Acid3 is coming along too..... as well as a lot of performance improvements.</p>
<p><img src="http://ieblog.members.winisp.net/images/Dean_PPB3_9.png" width="460"/></p>
<p>Congrats to the IE team.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/ie9-supports-canvas-hardware-accelerated/feed</wfw:commentRss>
		<slash:comments>25</slash:comments>
		</item>
		<item>
		<title>HTML5Rocks.com: Google DevRel shares the love</title>
		<link>http://ajaxian.com/archives/html5rocks-com-google-devrel-shares-the-love</link>
		<comments>http://ajaxian.com/archives/html5rocks-com-google-devrel-shares-the-love#comments</comments>
		<pubDate>Tue, 22 Jun 2010 20:14:56 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[HTML]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9657</guid>
		<description><![CDATA[The Chrome and HTML DevRel team at Google have released a new portal, HTML5 Rocks, that packages together some of the great resources available on HTML5 and the renaissance of browsers. Whether it be references on what you can do, to readiness to shims to get use features now. Beyond the resources, there is the <a href="http://ajaxian.com/archives/html5rocks-com-google-devrel-shares-the-love">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://html5rocks.com/"><img src="http://ajaxian.com/wp-content/images/html5rocks.png" alt="" title="html5rocks" width="460" height="173" class="alignnone size-full wp-image-9659" /></a></p>
<p>The Chrome and HTML DevRel team at Google <a href="http://blog.chromium.org/2010/06/html5-rocks-resource-for-open-web.html">have released a new portal</a>, <a href="http://html5rocks.com/">HTML5 Rocks</a>, that packages together some of the great resources available on HTML5 and the renaissance of browsers.</p>
<p>Whether it be references on <a href="https://developer.mozilla.org/en/HTML/HTML5">what</a> <a href="http://dev.chromium.org/developers/web-platform-status">you</a> <a href="http://diveintohtml5.org/">can</a> <a href="http://en.wikipedia.org/wiki/Comparison_of_layout_engines_(HTML5)">do</a>, to <a href="http://html5readiness.com/">read</a><a href="http://caniuse.com/">iness</a> to <a href="http://code.google.com/p/html5shiv/">shims</a> to <a href="http://www.modernizr.com/">get use features now</a>.</p>
<p><img src="http://ajaxian.com/wp-content/images/csstransformsslide.png"/></p>
<p>Beyond the resources, there is the killer <a href="http://slides.html5rocks.com/">HTML5 Slide Presentation</a> and <a href="http://playground.html5rocks.com/">interactive playground</a>.</p>
<p>A lot of nice stuff, all in one place. This is the first release, and we are sure to see a lot of additions coming soon. What would you like to see?</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/html5rocks-com-google-devrel-shares-the-love/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Studying perceived performance of Firefox and Chrome</title>
		<link>http://ajaxian.com/archives/studying-perceived-performance-of-firefox-and-chrome</link>
		<comments>http://ajaxian.com/archives/studying-perceived-performance-of-firefox-and-chrome#comments</comments>
		<pubDate>Mon, 21 Jun 2010 10:21:14 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Usability]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9645</guid>
		<description><![CDATA[“A man's got to do what a man's got to do.” said the cowboy John Wayne. Mozilla's new intern with the same name knows that Mozilla needs to do... and it needs to do performance. It isn't just about JavaScript performance though, the battle for the hearts and minds is perceived performance. This is a <a href="http://ajaxian.com/archives/studying-perceived-performance-of-firefox-and-chrome">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.johnwaynehill.com/about/"><img src="http://ajaxian.com/wp-content/images/johnwaynemoz.png" alt="" title="johnwaynemoz" width="346" height="241" class="alignnone size-full wp-image-9646" style="float:right; padding:8px"/></a></p>
<p>“A man's got to do what a man's got to do.” said the cowboy John Wayne. Mozilla's new intern with the same name knows that Mozilla needs to do... and it needs to do performance. It isn't just about <a href="http://arewefastyet.com/">JavaScript performance</a> though, the battle for the hearts and minds is <a href="http://www.johnwaynehill.com/blog/2010/06/16/perceived-speed-performace/">perceived performance</a>. This is a tough game for Mozilla as the average user giving Chrome a shot is doing so on a fresh browser with no history, bookmarks, or add-ons. If you download a fresh Firefox nightly you may be surprised at how fast it is!</p>
<p>John has been doing some analysis comparing the perceived performance compared to Chrome:</p>
<p><img src="http://www.johnwaynehill.com/blog/wp-content/uploads/2010/06/Fresh.jpg"/></p>
<p><object width="480" height="289"><param name="movie" value="http://www.youtube.com/v/S3oLFHkeCco&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/S3oLFHkeCco&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="289"></embed></object></p>
<p>and came up with some recommended actions for the team:</p>
<ul>
<li>With just a few changes in the Firefox start-up process, we could greatly enhance the feeling of Firefox’s speed. The changes listed below are recommendations to help better the overall Firefox experience.
</li>
<li>Draw the OS spinner icon as little as possible, but one solid break isn’t bad and might be better than one really long spinner.
</li>
<li>Draw the browser chrome while the window is being animated (drawn) to size. So that most of the drawing happens simultaneously rather than sequentially.
</li>
<li>Make a new ‘website loading’ icon with less visual weight that animates faster but is slightly larger (would allow a user to ‘see’ the faster animation).
</li>
<li>‘Lazy’ load tabs that are being restored (already being talked about).
</li>
<li>Load upgrades and add-on updates upon browser close, not browser start.
</li>
<li>Delay loading the website’s title until the website is ready for interaction.
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/studying-perceived-performance-of-firefox-and-chrome/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Google Chrome Frame Gets Beta Love</title>
		<link>http://ajaxian.com/archives/google-chrome-frame-gets-beta-love</link>
		<comments>http://ajaxian.com/archives/google-chrome-frame-gets-beta-love#comments</comments>
		<pubDate>Tue, 08 Jun 2010 23:24:14 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Chrome Frame]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Google]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9553</guid>
		<description><![CDATA[*thump*. That is the sound of Google Chrome Frame getting a beta tag on it with a new version that comes up to Chrome 5 levels: Instead of adding new bells and whistles, we've fixed more than 200 bugs to make integration with Internet Explorer seamless while improving security, stability, and performance. For example, we&#8217;ve <a href="http://ajaxian.com/archives/google-chrome-frame-gets-beta-love">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p><img src="http://ajaxian.com/wp-content/images/gcf_html5test.png" alt="" title="gcf_html5test" width="480" height="380" class="alignnone size-full wp-image-9554" /></p>
<p>*thump*. That is the sound of Google Chrome Frame <a href="http://blog.chromium.org/2010/06/google-chrome-frame-now-in-beta.html">getting a beta tag on it</a> with a new version that comes up to Chrome 5 levels:</p>
<blockquote><p>
Instead of adding new bells and whistles, we've fixed more than 200 bugs to make integration with Internet Explorer seamless while improving security, stability, and performance. For example, we&#8217;ve improved our handling of Internet Explorer&#8217;s InPrivate browsing, cache clearing, and cookie blocking. All of the enhancements and features of <a href="http://chrome.blogspot.com/2010/05/new-chrome-stable-release-welcome-mac.html">Google Chrome 5.0</a> are available in Google Chrome Frame too, including HTML5 audio and video, canvas, geolocation, workers, and databases.</p>
<p>As we've worked on these improvements, we&#8217;ve been excited to see sites adopting Google Chrome Frame, including <a href="http://www.meebo.com">Meebo</a> and all the blogs hosted by <a href="http://www.wordpress.com">WordPress</a>. In addition to our launch partner Google Wave, some other Google properties, including Orkut and YouTube are also relying on Google Chrome Frame to deliver HTML5 experiences to millions of users.</p>
<p>For those of you who want to develop HTML5 applications and deploy them broadly, we encourage you to <a href="http://www.google.com/chromeframe/">give Google Chrome Frame a try</a>. Existing users will be auto-updated to the beta, so if you downloaded Google Chrome Frame before, you&#8217;ll automatically get the new version. We&#8217;re also creating a new <a href="http://www.google.com/chromeframe/eula.html?extra=devchannel">dev channel</a> release, where you can try out the cutting-edge features we&#8217;re developing.  For information on getting started with Google Chrome Frame, our project <a href="http://www.chromium.org/developers/how-tos/chrome-frame-getting-started">documentation</a> is the place to start.
</p></blockquote>
<p>Alex gave a talk on how you can sprinkle in the Chrome Frame love, and start using the HTML5 goodness of video, svg, canvas, etc today!</p>
<p><object width="640" height="385"><param name="movie" value="http://www.youtube.com/v/Sfe2l8QKxPg&#038;color1=0xb1b1b1&#038;color2=0xd0d0d0&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1"></param><param name="allowFullScreen" value="true"></param><param name="allowScriptAccess" value="always"></param><embed src="http://www.youtube.com/v/Sfe2l8QKxPg&#038;color1=0xb1b1b1&#038;color2=0xd0d0d0&#038;hl=en_US&#038;feature=player_embedded&#038;fs=1" type="application/x-shockwave-flash" allowfullscreen="true" allowScriptAccess="always" width="640" height="385"></embed></object></p>
<p>We hear cries of <a href="http://clubajax.org/ie6-the-end-is-near/">the end is near!</a>, and now you have a new push. Take a breath and spend the IE6 cycles on building amazing Web applications. So, <a href="http://www.chromium.org/developers/how-tos/chrome-frame-getting-started">CFInstall.check({..})</a> away! :)</p>
<p>Alex has a <a href="http://alex.dojotoolkit.org/2010/06/beta/">post on the beta itself</a>:</p>
<blockquote><p>
In some ways it’s a strange product; it’s working best when you notice it least. As a developer, you shouldn’t have to think much harder about it than either to include the header or meta tag or to include a couple of lines of script to prompt users to install the plugin — a process which notably doesn’t require a restart and doesn’t even take users off of your site. There’s no new tool to learn, no new language you have to wrap your head around…in fact, the hardest part might just be putting down all the habits we’ve collected for catering to legacy browsers.</p>
<p>As I’ve begun to build exclusively to modern browsers, the experience of concerted un-learning of hacks and the ability to write directly to the platform again, sans toolkit, has been eye opening. Yes, there’s still a lot that can be improved in DOM, CSS, and HTML, but things are moving, and the tools we need now aren’t the tools we have today. Better yet, there’s every indication that things are progressing fast enough that instead of building tools to bring up the rear, we’ll be building them to shield ourselves from the ferocious pace of improvement should we need them at all.</p>
<p>If you’re starting a new project today, I encourage you to prototype to HTML5 and modern features and then think hard about what you’re building and for whom. Do these apps really need to run on legacy browsers? Why not just use GCF to make that pain and expense go away. Once you’ve experienced how good modern web development can be — how rich and fast the apps you can deliver are — I’m convinced that you’ll find it hard to go back. The rich, open, interoperable web is the platform of the future, and I couldn’t be happier that GCF is going to help deliver that future.
</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/google-chrome-frame-gets-beta-love/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Safari 5: Features, Performance, Standards</title>
		<link>http://ajaxian.com/archives/safari-5-features-performance-standards</link>
		<comments>http://ajaxian.com/archives/safari-5-features-performance-standards#comments</comments>
		<pubDate>Tue, 08 Jun 2010 01:15:44 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[WebKit]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9531</guid>
		<description><![CDATA[Safari 5 got out of the gate a touch early as the PR team shot their new release out before anything else was out there: “Safari continues to lead the pack in performance, innovation and standards support,” said Philip Schiller, Apple’s senior vice president of Worldwide Product Marketing. “Safari now runs on over 200 million <a href="http://ajaxian.com/archives/safari-5-features-performance-standards">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Safari 5 got out of the gate a touch early as the PR team shot their new release out before anything else was out there:</p>
<blockquote><p>
“Safari continues to lead the pack in performance, innovation and standards support,” said Philip Schiller, Apple’s senior vice president of Worldwide Product Marketing. “Safari now runs on over 200 million devices worldwide and its open source WebKit engine runs on over 500 million devices.”</p>
<p>Safari Reader makes it easy to read single and multipage articles on the web by presenting them in a new, scrollable view without any additional content or clutter. When Safari 5 detects an article, users can click on the Reader icon in the Smart Address Field to display the entire article for clear, uninterrupted reading with options to enlarge, print or send via email.</p>
<p>Powered by the Nitro JavaScript engine, Safari 5 on the Mac runs JavaScript 30 percent faster than Safari 4, three percent faster than Chrome 5.0, and over twice as fast as Firefox 3.6.* Safari 5 loads new webpages faster using Domain Name System (DNS) prefetching, and improves the caching of previously viewed pages to return to them more quickly.</p>
<p>Safari 5 adds more than a dozen powerful HTML5 features that allow web developers to create media-rich experiences, including full screen playback and closed captions for HTML5 video. Other new HTML5 features in Safari 5 include HTML5 Geolocation, HTML5 sectioning elements, HTML5 draggable attribute, HTML5 forms validation, HTML5 Ruby, HTML5 AJAX History, EventSource and WebSocket.</p>
<p>The new, free Safari Developer Program allows developers to customize and enhance Safari 5 with extensions based on standard web technologies like HTML5, CSS3 and JavaScript. The Extension Builder, new in Safari 5, simplifies the development, installation and packaging of extensions. For enhanced security and stability, Safari Extensions are sandboxed, signed with a digital certificate from Apple and run solely in the browser.
</p></blockquote>
<p>Some great features in there. Let's get into some details:</p>
<p><b>Performance</b></p>
<p>Sam Pullara quickly ran Sun Spider on <a href="http://bit.ly/cXhh3n">Chrome 6.0.422.0</a> and <a href="http://bit.ly/dBmWst">Safari 5</a> and the result is very close to a dead heat:</p>
<pre>
Safari 5 Total:         279.2ms +/- 1.9%     | Chrome 6 Total:      274.6ms +/- 6.2%
-------------------------------------------- | --------------------------------------------
  3d:                    36.0ms +/- 2.4%     |   3d:                   43.6ms +/- 18.0%
    cube:                12.8ms +/- 4.3%     |     cube:               16.0ms +/- 11.0%
    morph:               10.6ms +/- 6.4%     |     morph:              14.6ms +/- 32.2%
    raytrace:            12.6ms +/- 5.4%     |     raytrace:           13.0ms +/- 11.7%
                                             |
  access:                32.2ms +/- 5.0%     |   access:               30.6ms +/- 11.0%
    binary-trees:         5.4ms +/- 12.6%    |     binary-trees:        1.4ms +/- 48.6%
    fannkuch:            12.8ms +/- 4.3%     |     fannkuch:           12.2ms +/- 4.6%
    nbody:                8.6ms +/- 7.9%     |     nbody:              13.8ms +/- 17.3%
    nsieve:               5.4ms +/- 20.6%    |     nsieve:              3.2ms +/- 17.4%
                                             |
  bitops:                17.6ms +/- 13.8%    |   bitops:               22.6ms +/- 6.3%
    3bit-bits-in-byte:    2.4ms +/- 28.4%    |     3bit-bits-in-byte:   1.6ms +/- 42.6%
    bits-in-byte:         5.2ms +/- 10.7%    |     bits-in-byte:        5.8ms +/- 9.6%
    bitwise-and:          4.0ms +/- 69.5%    |     bitwise-and:         7.0ms +/- 0.0%
    nsieve-bits:          6.0ms +/- 0.0%     |     nsieve-bits:         8.2ms +/- 6.8%
                                             |
  controlflow:            2.8ms +/- 19.9%    |   controlflow:           2.4ms +/- 28.4%
    recursive:            2.8ms +/- 19.9%    |     recursive:           2.4ms +/- 28.4%
                                             |
  crypto:                16.6ms +/- 4.1%     |   crypto:               19.0ms +/- 9.3%
    aes:                  9.6ms +/- 7.1%     |     aes:                 7.6ms +/- 14.6%
    md5:                  4.0ms +/- 0.0%     |     md5:                 5.6ms +/- 12.2%
    sha1:                 3.0ms +/- 0.0%     |     sha1:                5.8ms +/- 9.6%
                                             |
  date:                  34.6ms +/- 2.0%     |   date:                 28.2ms +/- 7.2%
    format-tofte:        20.0ms +/- 0.0%     |     format-tofte:       13.4ms +/- 8.3%
    format-xparb:        14.6ms +/- 4.7%     |     format-xparb:       14.8ms +/- 7.0%
                                             |
  math:                  26.2ms +/- 4.0%     |   math:                 29.4ms +/- 8.8%
    cordic:               7.6ms +/- 9.0%     |     cordic:              9.4ms +/- 25.8%
    partial-sums:        13.0ms +/- 0.0%     |     partial-sums:       15.2ms +/- 10.7%
    spectral-norm:        5.6ms +/- 12.2%    |     spectral-norm:       4.8ms +/- 11.6%
                                             |
  regexp:                12.8ms +/- 4.3%     |   regexp:               16.0ms +/- 0.0%
    dna:                 12.8ms +/- 4.3%     |     dna:                16.0ms +/- 0.0%
                                             |
  string:               100.4ms +/- 1.4%     |   string:               82.8ms +/- 2.0%
    base64:              11.6ms +/- 5.9%     |     base64:              6.6ms +/- 10.3%
    fasta:               14.0ms +/- 0.0%     |     fasta:              12.0ms +/- 0.0%
    tagcloud:            23.0ms +/- 0.0%     |     tagcloud:           23.8ms +/- 5.7%
    unpack-code:         35.2ms +/- 3.0%     |     unpack-code:        29.0ms +/- 0.0%
    validate-input:      16.6ms +/- 4.1%     |     validate-input:     11.4ms +/- 6.0%
</pre>
<p>
<b>Standards</b></p>
<p>Now, lets look at how they size up in <a href="http://www.browserscope.org/">BrowserScope</a>:</p>
<table cellspacing="0" cellpadding="5" width="100%">
<tr>
<td><b>Topic</b></td>
<td><b>Chrome</b></td>
<td><b>Safari</b></td>
</tr>
<tr>
<td>Security</td>
<td>12/13</td>
<td>10/13</td>
</tr>
<tr>
<td>Rich Text</td>
<td>129/149</td>
<td>129/149</td>
</tr>
<tr>
<td>Selectors API</td>
<td>99.3%</td>
<td>99.3%</td>
</tr>
<tr>
<td>Network</td>
<td>9/16</td>
<td>10/16</td>
</tr>
<tr>
<td>Acid3</td>
<td>100/100</td>
<td>100/100</td>
</tr>
</table>
<p>
Incredibly close. Not that it should be a shock, since both parties are using WebKit under the hood (although the JS engines are totally different, and many other differences!)</p>
<p><b>Extensions</b></p>
<p><img src="http://ajaxian.com/wp-content/images/safari5codanotes.png" alt="" title="safari5codanotes" width="480" height="239" class="alignnone size-full wp-image-9532"/></p>
<p>Panic were up on stage showing off <a href="http://www.panic.com/blog/2010/06/coda-notes-previe/">Code Notes</a>, a nice example of extensions for Safari:</p>
<blockquote><p>
The Coda Notes extension is built entirely in JavaScript, HTML, and CSS; the extension bar is basically an HTML file, and the page-flip effect is accomplished using a CSS transform. We draw on a transparent canvas element injected over the target page. Live text editing is done by setting the contentEditable attribute on the body of the page, thus turning Safari into an editor.
</p></blockquote>
<p><img src="http://developer.apple.com/safari/library/documentation/Tools/Conceptual/SafariExtensionGuide/Art/extensionsdiagram.jpg"/></p>
<p>Great to see the new extension mechanisms on the Web are all of the Web (Chrome, Safari, Jetpack). Very cool indeed.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/safari-5-features-performance-standards/feed</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Apple HTML5 microsite touts standards, but only works on Safari</title>
		<link>http://ajaxian.com/archives/apple-html5-microsite-touts-standards-but-only-works-on-safari</link>
		<comments>http://ajaxian.com/archives/apple-html5-microsite-touts-standards-but-only-works-on-safari#comments</comments>
		<pubDate>Fri, 04 Jun 2010 08:22:46 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Apple]]></category>
		<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9489</guid>
		<description><![CDATA[Apple has a new microsite touting HTML5 standards, yet when you hit the site in a browser other than Safari and try to run a sample you get: Erm. Hmm. Faruk has it right: The point isn't that all of the examples should work in all browsers, but that it most of them actually do.... <a href="http://ajaxian.com/archives/apple-html5-microsite-touts-standards-but-only-works-on-safari">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Apple has a new <a href="http://www.apple.com/html5/">microsite touting HTML5 standards</a>, yet when you hit the site in a browser other than Safari and try to run a sample you get:</p>
<p><a href="http://www.apple.com/html5/"><img src="http://ajaxian.com/wp-content/images/safarihtml5demos.png" alt="" title="safarihtml5demos" width="480" height="365" class="alignnone size-full wp-image-9491" /></a></p>
<p>Erm. Hmm. Faruk has it right:</p>
<p><img src="http://ajaxian.com/wp-content/images/safarihtml5featuredetection.png" alt="" title="safarihtml5featuredetection" width="480" height="277" class="alignnone size-full wp-image-9490"/></p>
<p>The point isn't that all of the examples should work in all browsers, but that it most of them actually do.... which you can see if you fake the user agent or monkey with the JS to let you through.</p>
<p>The point isn't that Apple shouldn't be touting Safari as a great browser. We have seen other sites such as <a href="http://www.chromeexperiments.com/">Chrome Experiments</a> and <a href="http://hacks.mozilla.org/">Mozilla Hacks</a> that showcase what those browsers can do, but they also don't block other browsers.</p>
<p>In general, it is good to showcase HTML5 samples, and hopefully the team will turn on feature detection and we can focus on the good side of things. There are some nice demos here!</p>
<p>A bunch of people are saying "wait a minute! only 2 of the demos are HTML5." Remember guys, HTML5 has become the term for "anything cool in the browsers." It is the new Ajax. It isn't about what is in one particular spec.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/apple-html5-microsite-touts-standards-but-only-works-on-safari/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>Detecting extensions in the browser and beyond</title>
		<link>http://ajaxian.com/archives/detecting-extensions-in-the-browser-and-beyond</link>
		<comments>http://ajaxian.com/archives/detecting-extensions-in-the-browser-and-beyond#comments</comments>
		<pubDate>Fri, 14 May 2010 05:46:07 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9286</guid>
		<description><![CDATA[Daniel Buchner of Jetpack has a post on Indexing and Auto-Detecting Browser Extensions on the Web. He discusses how search engines themselves could show interesting information on extensions: Now search engines could go back to being app stores ;) Beyond that, the browser itself could be told about a related extension. Others have talked about <a href="http://ajaxian.com/archives/detecting-extensions-in-the-browser-and-beyond">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Daniel Buchner of Jetpack has a post on <a href="http://mozillalabs.com/jetpack/2010/05/12/indexing-and-auto-detecting-browser-extensions-on-the-web/">Indexing and Auto-Detecting Browser Extensions on the Web</a>.</p>
<p>He discusses how search engines themselves could show interesting information on extensions:</p>
<p><img src="http://ajaxian.com/wp-content/images/searchextensions.png" alt="" title="searchextensions" width="480" height="310" class="alignnone size-full wp-image-9287"/></p>
<p>Now search engines could go back to being app stores ;)</p>
<p>Beyond that, the browser itself could be told about a related extension. Others have talked about this of course.</p>
<p>I wrote about <a href="http://almaer.com/blog/appdiscover">AppDiscover</a> an experiment at doing just this for not only extensions but applications themselves. The browser should have a generic way to be told about related work, and could surface to users in interesting ways. If we can agree on the semantics, then we could put together quick extensions to do this, and hopefully browsers will bake this in.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/detecting-extensions-in-the-browser-and-beyond/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Firefox 4: HTML5 and Native JSON Store</title>
		<link>http://ajaxian.com/archives/firefox-4-html5-and-native-json-store</link>
		<comments>http://ajaxian.com/archives/firefox-4-html5-and-native-json-store#comments</comments>
		<pubDate>Tue, 11 May 2010 15:06:00 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Firefox]]></category>
		<category><![CDATA[Front Page]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9260</guid>
		<description><![CDATA[Mike Beltzner, Director of Firefox and all-round top chap, gave an open presentation on what is coming in Firefox 4: The full video is also available which goes into detail on the main themes of the next release of Firefox (3.7 is dead, long live 4!) Fast: making Firefox super-duper fast Powerful: enabling new open, <a href="http://ajaxian.com/archives/firefox-4-html5-and-native-json-store">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Mike Beltzner, Director of Firefox and all-round top chap, gave an open presentation on <a href="http://beltzner.ca/mike/2010/05/10/firefox-4-fast-powerful-and-empowering/">what is coming in Firefox 4</a>:</p>
<p><object id="__sse4041936" width="425" height="355"><param name="movie" value="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=firefoxroadmap20100510-100510155953-phpapp01&#038;stripped_title=firefox-roadmap-2010-0510" /><param name="allowFullScreen" value="true"/><param name="allowScriptAccess" value="always"/><embed name="__sse4041936" src="http://static.slidesharecdn.com/swf/ssplayer2.swf?doc=firefoxroadmap20100510-100510155953-phpapp01&#038;stripped_title=firefox-roadmap-2010-0510" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="355"></embed></object></p>
<p>The full <a href="http://videos.mozilla.org/serv/air_mozilla/firefox4.ogg">video is also available</a> which goes into detail on the main themes of the next release of Firefox (3.7 is dead, long live 4!)</p>
<ul>
<li>Fast: making Firefox super-duper fast
</li>
<li>Powerful: enabling new open, standard Web technologies (HTML5 and beyond!),
</li>
<li>Empowering: putting users in full control of their browser, data, and Web experience.
</li>
</ul>
<p>What do developers get?</p>
<ul>
<li>Bidirectionally connected apps (Web Sockets)
</li>
<li>Better Ajax-y interactions (PushState)
</li>
<li>New interactions (gesture + multi-touch)
</li>
<li>Easier layout and styling (CSS3)
</li>
<li>HTML5 Parser
</li>
<li>Content creation (contentEditable, HTML5 forms)
</li>
<li>Structured data storage (<a href="http://dev.w3.org/2006/webapi/WebSimpleDB/">IndexedDB</a>)
</li>
</ul>
<p>You would have guessed at most of these, but maybe not the WebSimpleDB/IndexedDB one. If a project has "simple" in the name, it normally isn't.... just like when a project has "open" in the name. It is a strange name since we have simple storage through localStorage and friends.</p>
<p>IndexedDB is a better name, and it is interesting stuff. Instead of the SQL databases that require standardizing on a version of SQLite (which is insane) it is JSON native. You work with the data store like this:</p>
<p><script src="http://gist.github.com/397409.js?file=indexeddb-sample.js"></script></p>
<p>and you can go native JSON with the object store:</p>
<p><script src="http://gist.github.com/397410.js?file=indexeddb-objectstore.js"></script></p>
<p>Take a look at all of the low level cursor code and you may cry a little :)</p>
<p>Back to Firefox 4. The media loves a binary black vs. white view of the world. Flash is Dead. HTML5 is saviour. Chrome is "the winner". IE is over. Regardless of any actual numbers.</p>
<p>Alpha geeks are big on Chrome these days, but Firefox has massive numbers and is still doing well, despite the fact that, in my opinion, better days are to come. Firefox will catch up on the technology side with multi-process and their new JagerMonkey VM work. Performance will become table stakes yet commodity. Where Firefox can shine is where no other browser will go. Mozilla is mission based and cares about users in a more holistic way. This is the <em>empower</em> goal. You should own your data. Your browser should do more for you (not just get out of the way). Firefox is uniquely positioned for this, and you can see the start of the work via the Contacts work from Mike Hansen. </p>
<p>Also note how the team is discussing Firefox 4. Totally in the open. What will Safari 5 have? Chrome 6 has <a href="http://www.chromium.org/developers/web-platform-status">platform status</a>, IE9 is doing a better job.... but no one does it as well as Mozilla IMO.</p>
<p>I look forward to the continued browser competition. Great news for us developers!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/firefox-4-html5-and-native-json-store/feed</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>New IE9 Preview: Performance, Hardware Acceleration, and Acid3</title>
		<link>http://ajaxian.com/archives/new-ie9-preview-performance-hardware-acceleration-and-acid3</link>
		<comments>http://ajaxian.com/archives/new-ie9-preview-performance-hardware-acceleration-and-acid3#comments</comments>
		<pubDate>Wed, 05 May 2010 16:06:57 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[IE]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9209</guid>
		<description><![CDATA[At MIX, Microsoft showed that they are back in the browser game with a preview of IE9 "platform" (platform seems to mean 'haven't got it together as a real browser yet, but we wanted to get it to you guys ASAP'). Today, they updated the preview as they said they would (claiming they will do <a href="http://ajaxian.com/archives/new-ie9-preview-performance-hardware-acceleration-and-acid3">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>At MIX, Microsoft showed that they are back in the browser game with a preview of IE9 "platform" (platform seems to mean 'haven't got it together as a real browser yet, but we wanted to get it to you guys ASAP').</p>
<p>Today, they <a href="http://blogs.msdn.com/ie/archive/2010/05/05/html5-and-same-markup-second-ie9-platform-preview-available-for-developers.aspx">updated the preview</a> as they said they would (claiming they will do new releases every 8 weeks or so).</p>
<p><img src="http://ajaxian.com/wp-content/images/ie9css.png" alt="" title="ie9css" width="480" height="308" class="alignnone size-full wp-image-9214"/></p>
<p>Table stakes these days is performance. IE8 is so far behind, but the IE team is showing that with IE9 they will be strong contenders:</p>
<p><a href="http://ie.microsoft.com/testdrive/benchmarks/SunSpider/Default.html"><img src="http://ieblog.members.winisp.net/images/Dean_PPB2_1.png" width="480"/></a></p>
<p>To go along with this, we haver the GPU story of hardware acceleration. <a href="http://ie.microsoft.com/testdrive/Default.html">Test drive</a> some new demos such as this <a href="http://ie.microsoft.com/testdrive/Performance/10FlickrExplorer/Default.html">Flickr Explorer</a> or the <a href="http://ie.microsoft.com/testdrive/Performance/11BrowserFlip/Default.html">browser flip</a></p>
<p><img src="http://ajaxian.com/wp-content/images/flickrie9.png" alt="" title="flickrie9" width="480" height="411" class="alignnone size-full wp-image-9211" /></p>
<p>There are other tools too:</p>
<blockquote><p>
The Developer Tools in IE9 Platform Preview 2 include new features. The Console window is now a full tab that includes diagnostic information from IE.  Developers can use the “Change User Agent String” menu item to experiment with sending different that UA strings to sites with every request, selecting from preset strings or creating their own custom string.  This complements another feature we’ve included – the new <a href="http://blogs.msdn.com/ie/archive/2010/03/23/introducing-ie9-s-user-agent-string.aspx">IE9 UA string</a>. (Steve! Update BrowserScope! :)
</p></blockquote>
<p>This is good timing. Giorgio Sardo of Microsoft is on <a href="http://www.web2expo.com/webexsf2010/public/schedule/detail/12159">a browser panel that Ben and I are moderating at Web 2.0 Expo</a> today. The panel has other heavy hitters: Douglas Crockford (Yahoo!), Brendan Eich (Mozilla), Charles McCathieNevile (Opera Software), and Alex Russell (Google). We are going to have some fun :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/new-ie9-preview-performance-hardware-acceleration-and-acid3/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Chrome is doing 0 to 60 faster than ever&#8230; and IE is down below 60</title>
		<link>http://ajaxian.com/archives/browsers-chrome-speedhtml5-features-ie-goes-below-60</link>
		<comments>http://ajaxian.com/archives/browsers-chrome-speedhtml5-features-ie-goes-below-60#comments</comments>
		<pubDate>Tue, 04 May 2010 17:41:43 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9204</guid>
		<description><![CDATA[Some good news in the land of browsers. Firstly, the Chrome team has released a new beta that features impressive performance numbers to go along with HTML5 features that have all been baking in the developer channel. First we have the performance. It is cool that they only compare with themselves: Seeing V8 get faster <a href="http://ajaxian.com/archives/browsers-chrome-speedhtml5-features-ie-goes-below-60">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Some good news in the land of browsers. Firstly, the Chrome team has <a href="http://chrome.blogspot.com/2010/05/pedal-to-chrome-metal-our-fastest-beta.html">released a new beta</a> that features impressive performance numbers to go along with HTML5 features that have all been baking in the developer channel.</p>
<p>First we have the performance. It is cool that they only compare with themselves:</p>
<p><img src="http://2.bp.blogspot.com/_EsaGlPOyn20/S-BEOisJJ-I/AAAAAAAAAF0/_K7Ywbih1YE/s400/v8_benchmark_suite_-_version_5.png"/></p>
<p>Seeing V8 get faster is exciting for me personally. Not only does it mean Chrome gets faster, but I also get the advantage of a faster webOS and a faster node.js!</p>
<p>Then we get the HTML5 features that aren't hidden behind runtime flags:</p>
<blockquote><p>
Under the hood, today's release contains the goodness of some new <a href="http://en.wikipedia.org/wiki/HTML5">HTML5</a> features, namely <a href="http://en.wikipedia.org/wiki/W3C_Geolocation_API">Geolocation APIs</a>, <a href="http://dev.w3.org/html5/spec/Overview.html#appcache">App Cache</a>, <a href="http://en.wikipedia.org/wiki/Web_Sockets">web sockets</a>, and file <a href="http://dev.w3.org/html5/spec/Overview.html#dnd">drag-and-drop</a> capabilities.
</p></blockquote>
<p>And in the global market share game, at least <a href="http://marketshare.hitslink.com/browser-market-share.aspx?qprid=0">according to net applications</a>, IE is below 60%:</p>
<p><img src="http://static.arstechnica.com/assets/2010/05/browser_share_0410-thumb-640xauto-13777.png" width="480"/></p>
<p>This is great news, and I hope that we continue to see that pie spreeeead out nicely. A nice balance of IE, Firefox, Chrome, and others would be very nice to see indeed. The browsers are doing solid work right now. My Firefox nightly is starting to scream, and still is second to none in the "get it to do exactly what I want" category. It continues to be a fun 2010 :)</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/browsers-chrome-speedhtml5-features-ie-goes-below-60/feed</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Let Firefox open the doors for you</title>
		<link>http://ajaxian.com/archives/firefox-account-manager</link>
		<comments>http://ajaxian.com/archives/firefox-account-manager#comments</comments>
		<pubDate>Wed, 28 Apr 2010 11:11:11 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Mozilla]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9161</guid>
		<description><![CDATA[I remember when Dan Mills showed a first prototype of having the browser help you login. I have long wanted to login to the browser itself, and then have it handle my passwords etc. I use 1Password to do some of this, but I still have to click on buttons to do the login. The <a href="http://ajaxian.com/archives/firefox-account-manager">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>I remember when Dan Mills showed a first prototype of having the browser help you login. I have long wanted to login to the browser itself, and then have it handle my passwords etc. I use 1Password to do some of this, but I still have to click on buttons to do the login.</p>
<p>The initial work has been taken to the next level with the <a href="http://hacks.mozilla.org/2010/04/account-manager-coming-to-firefox/">Account Manager</a> Add-on by Dan and co:</p>
<p><video width="500" controls="controls" tabindex="0"><source type="video/ogg; codecs="theora, vorbis" src="http://videos.mozilla.org/labs/accountmanager/account_manager_intro.ogv"></source><source type="video/mp4" src="http://videos.mozilla.org/labs/accountmanager/account_manager_intro.mp4"></source></video></p>
<p><b>How Does It Work?</b></p>
<p>The Account Manager specification proposes two small changes to Web sites:</p>
<ol>
<li>The browser needs to know how to register, sign in, and sign out of your site. You will need a static JSON document, automatically discovered by the browser, which describes what methods the site supports and how they should be executed. For example, a web site might describe their support of “connect” (sign in) like this:
<div class="igBar"><a href="javascript:showCodeTxt('javascript-6');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-6">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #3366CC;">"methods"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #3366CC;">"username-password-form"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"connect"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"method"</span>: <span style="color: #3366CC;">"POST"</span>,</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"path"</span>: <span style="color: #3366CC;">"/accounts/LoginAuth"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"params"</span>: <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"username"</span>: <span style="color: #3366CC;">"Email"</span>,</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #3366CC;">"password"</span>: <span style="color: #3366CC;">"Passwd"</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
<p>This example tells the browser that the site supports signing in with a form POST to /accounts/LoginAuth, and what parameter names to use for the username and password (Email and Passwd respectively).
</li>
<li>
The browser needs a way to check which user (if any) is currently signed in. To do this, you need to set an HTTP header in the same code where you would set a cookie with a session ID. If you can’t set an HTTP header, you can also supply a URL the browser will ping.</p>
<p>The header would look like this:</p>
<pre>
X-Account-Management-Status: active; name="Joe User"
</pre>
<p>That would tell the browser that “Joe User” is now signed in, so it can provide the appropriate UI (to switch users or sign out).
</li>
<p>Read the <a href="https://wiki.mozilla.org/Labs/Weave/Identity/Account_Manager/Spec/Latest">full specification</a> for more.
</ol>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/firefox-account-manager/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
<enclosure url="http://videos.mozilla.org/labs/accountmanager/account_manager_intro.ogv" length="2719447" type="video/ogg" />
		</item>
		<item>
		<title>Steve&#8217;s call to improve browser caching</title>
		<link>http://ajaxian.com/archives/improve-browser-caching</link>
		<comments>http://ajaxian.com/archives/improve-browser-caching#comments</comments>
		<pubDate>Tue, 27 Apr 2010 16:43:12 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9159</guid>
		<description><![CDATA[Steve Souders was at the Mozilla Web caching summit that we posted on recently. At the event he lead the charge on the default size of the cache, and has written up a call to improve browser caching. He created a browser survey form to capture information on the size of peoples cache, and this <a href="http://ajaxian.com/archives/improve-browser-caching">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Steve Souders was at the Mozilla Web caching summit that <a href="http://ajaxian.com/archives/mozilla-web-caching-summit">we posted on recently</a>. At the event he lead the charge on the default size of the cache, and has <a href="http://www.stevesouders.com/blog/2010/04/26/call-to-improve-browser-caching/">written up a call to improve browser caching</a>.</p>
<p>He <a href="http://spreadsheets.google.com/viewform?formkey=dGlFb2FUb0NfeUFfRklLeTZmanZCb1E6MQ">created a browser survey form</a> to capture information on the size of peoples cache, and this jumps out at you:</p>
<blockquote><p>
The data shows that 55% of people surveyed have a cache that’s over 90% full.
</p></blockquote>
<p>And we wonder why our servers are often serving up content to empty caches? Here Steve tells the story:</p>
<blockquote><p>
In 2007 Tenni Theurer and I ran an experiment to measure browser cache stats from the server side. Tenni’s write up, <a href="http://www.yuiblog.com/blog/2007/01/04/performance-research-part-2/">Browser Cache Usage – Exposed</a>, is the stuff of legend. There she reveals that while 80% of page views were done with a primed cache, 40-60% of unique users hit the site with an empty cache at least once per day. 40-60% seems high, but I’ve heard similar numbers from respected web devs at other major sites.</p>
<p><em>Why do so many users have an empty cache at least once per day?</em></p>
<p>I’ve been racking my brain for years trying to answer this question. Here are some answers I’ve come up with:</p>
<ul>
<li>first time users – Yea, but not 40-60%.
</li>
<li>cleared cache – It’s true: more and more people are likely using anti-virus software that clears the cache between browser sessions. And since we ran that experiment back in 2007 many browsers have added options for clearing the cache frequently (for example, Firefox’s privacy.clearOnShutdown.cache option). But again, this doesn’t account for the 40-60% number.
</li>
<li>flawed experiment – It turns out there was a flaw in the experiment (browsers ignore caching headers when an image is in memory), but this would only affect the 80% number, not the 40-60% number. And I expect the impact on the 80% number is small, given the fact that other folks have gotten similar numbers. (In a future blog post I’ll share a new experiment design I’ve been working on.)
</li>
<li>resources got evicted – hmmmmm
</li>
</ul>
<p>OK, let’s talk about eviction for a minute. The two biggest influencers for a resource getting evicted are the size of the cache and the eviction algorithm. It turns out, the amount of disk space used for caching hasn’t kept pace with the size of people’s drives and their use of the Web. Here are the default disk cache sizes for the major browsers:</p>
<ul>
<li>Internet Explorer: 8-50 MB
</li>
<li>Firefox: 50 MB
</li>
<li>Safari: everything I found said there isn’t a max size setting (???)
</li>
<li>Chrome: &lt; 80 MB (varies depending on available disk space)
</li>
<li>Opera: 20 MB
</li>
<li>Those defaults are too small. My disk drive is 150 GB of which 120 GB is free. I’d gladly give up 5 GB or more to raise the odds of web pages loading faster.
</li>
</ul>
<p>Even with more disk space, the cache is eventually going to fill up. When that happens, cached resources need to be evicted to make room for the new ones. Here’s where eviction algorithms come into play. Most eviction algorithms are LRU-based – the resource that was least recently used is evicted. However, our knowledge of performance pain points has grown dramatically in the last few years. Translating this knowledge into eviction algorithm improvements makes sense. For example, we’re all aware how much costlier it is to download a script than an image. (Scripts block other downloads and rendering.) Scripts, therefore, should be given a higher priority when it comes to caching.
</p></blockquote>
<p>Time to bump the default size, and get some smarter algorithms in place. Or, you can always <a href="http://www.pps.jussieu.fr/~jch/software/polipo/">run a cache server like polipo ;)</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/improve-browser-caching/feed</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Put your own tests up on BrowserScope</title>
		<link>http://ajaxian.com/archives/put-your-own-tests-up-on-browserscope</link>
		<comments>http://ajaxian.com/archives/put-your-own-tests-up-on-browserscope#comments</comments>
		<pubDate>Mon, 19 Apr 2010 12:00:36 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[Testing]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=9054</guid>
		<description><![CDATA[Lindsey Simon has got a powerful update to BrowserScope, the community-driven tool to test and profile browsers. The new feature is exciting as it truly delivers the "community-driven" piece at scale: you can now add your own tests to the corpus, TestSwarm style. Now, the two are very different of course as TestSwarm is about <a href="http://ajaxian.com/archives/put-your-own-tests-up-on-browserscope">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Lindsey Simon has <a href="http://is.onthafly.com/2010/04/user-tests-in-browserscope.html">got a powerful update</a> to <a href="http://www.browserscope.org/">BrowserScope</a>, the community-driven tool to test and profile browsers. The new feature is exciting as it truly delivers the "community-driven" piece at scale: you can now <a href="http://www.browserscope.org/user/tests/howto">add your own tests to the corpus</a>, TestSwarm style. Now, the two are very different of course as TestSwarm is about having many browsers test *your* code, and BrowserScope is more about testing the browsers in general.</p>
<p>Here is what Lindsey says:</p>
<blockquote><p>
It seems like nearly every week we read about an interesting new hosted test for people to visit and run their browsers through (recent examples include <a href="http://html5test.com/">html5test.com</a> and <a href="http://findmebyip.com/">findmebyip.com</a>). Developers really love to poke at the black boxes they code for - and the matrix of browsers, OS, and networks is enormous. One thing I, and I presume other developers, would love to see are the aggregated results for these tests by user agent. Considering this is exactly what we built&nbsp;Browser&nbsp;to accomplish for our test categories, and that a user-hosted test feature has been on our <a href="http://code.google.com/p/browserscope/wiki/Roadmap">Roadmap</a>,&nbsp;the Browserscope team is happy to announce that we're opening up an alpha of our <a href="http://www.browserscope.org/user/tests/howto">User Tests feature</a>.</p>
<p>Conveniently, this past week a User Tests use case came up for me at work and so it's been a driver for building this feature. We began working on a UI component that we wanted to test for speed of task completion. After building up <a href="http://groupmenuselect.appspot.com/">a test page with a timer and some deltas</a> it dawned on me just how cool it would be to open up this test to the world, and aggregate the results. The test is kind of strange in that the the UI component is out of its context, and you can argue about the mechanics of the test itself, but I still feel like the results may be informative. Interestingly too, this test is exactly the kind of thing we would *not* want to feature on the homepage of Browserscope (it's more of a performance test than a spec/binary test). And yet, the backend system with its median aggregation, scalability, and user-agent parsing library is a perfect fit. So check it out - and see <a href="http://groupmenuselect.appspot.com/results">how other people are doing on the test</a>&nbsp;(courtesy of Browserscope).</p>
<p>This is definitely a release early/often feature, and we want to be explicit that things may change or break in the API while we're in alpha mode. We may have to take the service offline briefly to fix things. But if you write tests for browsers and want to aggregate your results, sign in to Browserscope,&nbsp;<a href="http://www.browserscope.org/user/settings">register your test page</a>&nbsp;and then read the <a href="http://www.browserscope.org/user/tests/howto">HOWTO</a>&nbsp;to start saving your results in the system.&nbsp;Please send any feedback to <a href="mailto:elsigh@gmail.com">me</a> or to our&nbsp;<a href="http://groups.google.com/group/browserscope">mailing list</a>. We really hope to make this an easy system to use for the tests you're already hosting.
</p></blockquote>
<p>I hope that we see a bunch of tests in there. One advantage of the browser scope approach is that it self-updates. A lot of the other sites are static, and when new browser versions come out the new feature data isn't reflected. It could be cool for example, if the <a href="http://ajaxian.com/archives/html5-and-css3-readiness-visualization">readiness visualization</a> pulled the data from a JSON feed from BrowserScope :)</p>
<p>Thanks for doing this Lindsey and team!</p>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/put-your-own-tests-up-on-browserscope/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Drag and drop file uploads in Gmail using just the specs</title>
		<link>http://ajaxian.com/archives/drag-and-drop-file-uploads-in-gmail-using-just-the-specs</link>
		<comments>http://ajaxian.com/archives/drag-and-drop-file-uploads-in-gmail-using-just-the-specs#comments</comments>
		<pubDate>Fri, 16 Apr 2010 00:17:56 +0000</pubDate>
		<dc:creator>Dion Almaer</dc:creator>
				<category><![CDATA[Browsers]]></category>
		<category><![CDATA[Front Page]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://ajaxian.com/?p=8987</guid>
		<description><![CDATA[Gmail started off with the awful input type="file" "add more" typical solution that we all know and love. Then they added the ability to select multiple files via Flash.... and now they allow the ability to drag and drop files right onto the message compose using HTML5 standards. Want to do it too? Check out <a href="http://ajaxian.com/archives/drag-and-drop-file-uploads-in-gmail-using-just-the-specs">Read the rest...</a>]]></description>
			<content:encoded><![CDATA[<p>Gmail started off with the awful <code>input type="file"</code> "add more" typical solution that we all know and love. Then they added the ability to select multiple files via Flash.... and now they <a href="http://gmailblog.blogspot.com/2010/04/drag-and-drop-attachments-onto-messages.html">allow the ability to drag and drop files right onto the message compose</a> using HTML5 standards.</p>
<p><img src="http://3.bp.blogspot.com/_JE4qNpFW6Yk/S79rfcmEd7I/AAAAAAAAAjo/kdH1eFnHVYA/attachments2.png"/></p>
<p>Want to do it too? <a href="https://developer.mozilla.org/en/Using_files_from_web_applications">Check out the APIs</a> and how you can do it all, including showing the thumbnails:</p>
<div class="igBar"><a href="javascript:showCodeTxt('javascript-8');">PLAIN TEXT</a></div>
<div class="syntax_hilite"><span style="color:#000000; font-weight:bold;">JAVASCRIPT:</span>
<div id="javascript-8">
<div class="javascript">
<ol>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color: #003366; font-weight: bold;">function</span> handleFiles<span style="color:#006600; font-weight:bold;">&#40;</span>files<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color: #000066; font-weight: bold;">for</span> <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">var</span> i = <span style="color:#800000;">0</span>; i &lt;files.<span style="color: #006600;">length</span>; i++<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> file = files<span style="color:#006600; font-weight:bold;">&#91;</span>i<span style="color:#006600; font-weight:bold;">&#93;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> imageType = <span style="color: #0066FF;">/image.*/</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color:#006600; font-weight:bold;">&#40;</span>!file.<span style="color: #006600;">type</span>.<span style="color: #006600;">match</span><span style="color:#006600; font-weight:bold;">&#40;</span>imageType<span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">continue</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> img = document.<span style="color: #006600;">createElement</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"img"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; img.<span style="color: #006600;">classList</span>.<span style="color: #006600;">add</span><span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #3366CC;">"obj"</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; img.<span style="color: #006600;">file</span> = file;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; preview.<span style="color: #006600;">appendChild</span><span style="color:#006600; font-weight:bold;">&#40;</span>img<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; </div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; <span style="color: #003366; font-weight: bold;">var</span> reader = <span style="color: #003366; font-weight: bold;">new</span> FileReader<span style="color:#006600; font-weight:bold;">&#40;</span><span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; reader.<span style="color: #006600;">onload</span> = <span style="color:#006600; font-weight:bold;">&#40;</span><span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>aImg<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> <span style="color: #000066; font-weight: bold;">return</span> <span style="color: #003366; font-weight: bold;">function</span><span style="color:#006600; font-weight:bold;">&#40;</span>e<span style="color:#006600; font-weight:bold;">&#41;</span> <span style="color:#006600; font-weight:bold;">&#123;</span> aImg.<span style="color: #006600;">src</span> = e.<span style="color: #006600;">target</span>.<span style="color: #006600;">result</span>; <span style="color:#006600; font-weight:bold;">&#125;</span>; <span style="color:#006600; font-weight:bold;">&#125;</span><span style="color:#006600; font-weight:bold;">&#41;</span><span style="color:#006600; font-weight:bold;">&#40;</span>img<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; &nbsp; reader.<span style="color: #006600;">readAsDataURL</span><span style="color:#006600; font-weight:bold;">&#40;</span>file<span style="color:#006600; font-weight:bold;">&#41;</span>;</div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp; <span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-weight: bold;color:#26536A;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;"><span style="color:#006600; font-weight:bold;">&#125;</span></div>
</li>
<li style="font-family: 'Courier New', Courier, monospace; color: black; font-weight: normal; font-style: normal;color:#3A6A8B;">
<div style="color:#000000; font-family: 'Courier New', Courier, monospace; font-weight: normal;">&nbsp;</div>
</li>
</ol>
</div>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://ajaxian.com/archives/drag-and-drop-file-uploads-in-gmail-using-just-the-specs/feed</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
	</channel>
</rss>

