<?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/"
xmlns:series="http://organizeseries.com/"
> <channel><title>SitePoint &#187; Browsers</title> <atom:link href="http://www.sitepoint.com/category/browsers-2/feed/" rel="self" type="application/rss+xml" /><link>http://www.sitepoint.com</link> <description>Learn CSS &#124; HTML5 &#124; JavaScript &#124; Wordpress &#124; Tutorials-Web Development &#124; Reference &#124; Books and More</description> <lastBuildDate>Mon, 13 May 2013 13:12:07 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>http://wordpress.org/?v=3.5.1</generator> <item><title>Happy 10th Birthday CSS Zen Garden</title><link>http://www.sitepoint.com/zen-garden-tenth-birthday/</link> <comments>http://www.sitepoint.com/zen-garden-tenth-birthday/#comments</comments> <pubDate>Fri, 10 May 2013 12:23:28 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS3]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[News]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=66124</guid> <description><![CDATA[CSS Zen Garden is ten years old. Craig discusses why the site became a defining moment in web history and the new HTML5 version announced by Dave Shea.]]></description> <content:encoded><![CDATA[<p></p><p><a
href="http://www.csszengarden.com/">CSS Zen Garden</a> is ten years old. If you started coding recently you may not have heard about the site, but Zen Garden was a defining moment in web history.</p><p>Zen&#8217;s developer, Dave Shea, had a simple objective: <a
href="http://www.csszengarden.com/zengarden-sample-old.html">to illustrate why CSS should be taken seriously and inspire designers</a>. The concept provided a static HTML page and allowed developers to apply and submit their own styles. The only restrictions were that the CSS should validate and the resulting page worked in IE5+ and Mozilla (Firefox&#8217;s predecessor).</p><p>The number of submissions increased exponentially and there was a sudden realization that CSS could do more than just apply color to H1 titles. To put it into historical context, by 2003 CSS techniques had been viable for several years but tables and spacer GIFs remained the predominant page layout methods. Tables worked in all browsers and were well understood.</p><p>Zen Garden did for CSS what Jesse James Garrett&#8217;s <a
href="http://www.adaptivepath.com/ideas/ajax-new-approach-web-applications">A New Approach to Web Applications</a> did for Ajax a couple of years later. The technologies already existed, but it required a spark to ignite developer passion and revolutionize its application.</p><h2>Zen Garden 2013</h2><p>Zen Garden achieved its goal &#8212; <em>who isn&#8217;t using CSS layouts now?</em> To celebrate an amazing ten years, Dave Shea has re-released <a
href="http://www.csszengarden.com/">Zen Garden</a>, put the <a
href="https://github.com/mezzoblue/csszengarden.com">code on GitHub</a> and started work on a new HTML5 version. A lot has happened in the past decade, so the modern requirements permit:</p><ul><li>CSS3 transitions, transformations, animations, shadows, gradients and effects. Remember to prefix properties where necessary but Webkit-only designs will be <em>&#8220;discarded with prejudice&#8221;!</em></li><li>Responsive Web Designs</li><li>Web fonts</li><li>Support for IE9+, recent versions of Chrome, Firefox and Safari, and iOS/Android</li></ul><p>New designs can be <a
href="http://www.mezzoblue.com/zengarden/submit/">submitted now</a>. Please send us the URLs of your groundbreaking examples or designs you like.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/zen-garden-tenth-birthday/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>5 Ways to Support High-Density Retina Displays</title><link>http://www.sitepoint.com/support-retina-displays/</link> <comments>http://www.sitepoint.com/support-retina-displays/#comments</comments> <pubDate>Mon, 06 May 2013 17:22:46 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Apple]]></category> <category><![CDATA[Browsers]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS3]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Responsive Web Design]]></category> <category><![CDATA[UX]]></category> <category><![CDATA[display]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[images]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[Retina]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65653</guid> <description><![CDATA[Are the images on your website looking a little ugly on your new iPad or MacBook Pro? Craig discusses Retina high-density pixel displays and offers a number of pragmatic solutions.]]></description> <content:encoded><![CDATA[<p></p><p>An interesting point was raised by Brendan Davis in my recent post <a
href="/rwd-scrollbars-is-chrome-better/">&#8220;Responsive Web Design and Scrollbars: Is Chrome’s Implementation Better?&#8221;</a>: <em>are RWD breakpoints affected by high pixel-density screens?</em></p><p>The short answer is: no &#8212; but we need to delve a little deeper and look at the problems they can cause.</p><h2>What is Retina?</h2><p>&#8220;Retina&#8221; is Apple&#8217;s brand name for double-density screens but other manufacturers are creating similar displays. The technology is used in recent iPhones, iPads, MacBook Pros and other high-end devices.</p><p>For example, the MacBook Pro 15&#8243; has a resolution of 2,880&#215;1,800 or 220 pixels per inch. At this scale, most people are unable to notice individual pixels at typical viewing distances &#8212; applications and websites would be too small to use.</p><p>Therefore, the device reverts to a standard resolution of 1,440&#215;900 but the additional pixels can be used to make fonts and graphics appear smoother.</p><h2>What&#8217;s the Problem?</h2><p>Standard-resolution bitmap images can look blocky on a Retina display. A 400 x 300 photograph is scaled to 800 x 600 pixels but there&#8217;s no additional detail. This can be noticeable when compared to smooth fonts and other high-resolution images.<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><h2>Real-World Usage</h2><p>If you look around the web, you&#8217;d be forgiven for thinking everyone has a Retina display. Currently, it&#8217;s only available in high-end devices, but these are coveted by developers so it leads to a disproportionate volume of online discussion. In the real world, the percentage of people using similar displays is in low single figures.</p><p>Let&#8217;s put it into context: if you&#8217;re not developing for the 1% of IE6/7 users, you probably shouldn&#8217;t be too concerned about people using Rentina &#8212; especially since they can still view your website.</p><p>That said, Retina-like screens will eventually migrate to all devices. There&#8217;s little reason to fret now, but there&#8217;s no harm in some forward planning. Let&#8217;s look at the options in order of recommendation&hellip;</p><h2>1. Use SVGs and CSS3 Effects</h2><p>The clue is in the name but Scalable Vector Graphics are &hellip; <em>scalable!</em> It doesn&#8217;t matter how big an SVG becomes &#8212; it will always be smooth because it&#8217;s defined using vectors (lines and shapes) rather than individual pixels.</p><p>SVG is not practical for photographs but is ideal for logos, diagrams and charts. The primary drawback is a lack of support in IE8 and below but you could always provide a PNG fallback or use a shim such as <a
href="http://raphaeljs.com/">Rapha&euml;l</a> or <a
href="http://code.google.com/p/svgweb/">svgweb</a>. See also: <a
href="http://www.sitepoint.com/add-svg-to-web-page/">How to Add Scalable Vector Graphics to Your Web Page</a>.</p><p>You may also be able to replace some images entirely. For example, titles, gradients, corners or shadows defined as graphics can be reproduced using CSS3 alone. They will render at a better quality, result in fewer HTTP requests and use less bandwidth.</p><h2>2. Use Webfonts Icons</h2><p>The more I use <a
href="http://www.sitepoint.com/webfont-icons/">webfonts icons</a>, the more I love them. Like SVGs, fonts are vectors so they&#8217;re scalable so you can use font sets which contain icons. They&#8217;re ideal for small, frequently used shapes such as email envelopes, telephones, widget controls and social media logos. They also work in every browser including IE6+.</p><p>There are plenty of commercial and free icon font sets available:</p><ul><li><a
href="http://typicons.com/">Typicons</a></li><li><a
href="http://fortawesome.github.io/Font-Awesome/">Font Awesome</a></li><li><a
href="http://somerandomdude.com/work/iconic/">Iconic</a></li><li><a
href="http://www.zurb.com/playground/foundation-icons">Foundation</a></li></ul><p>Or you can use a hosted font service such as <a
href="http://weloveiconfonts.com/">We Love Icon Fonts</a>.</p><p>I recommend creating your own small set of custom icons using online tools such as <a
href="http://fontello.com/">Fontello</a> or <a
href="http://www.sitepoint.com/icomoon-webfont-icon-packs/">IcoMoon</a>.</p><h2>3. Use High-Resolution Images When Practical</h2><p>Retina has four times more pixels than standard screens. If you have a 400 x 300 image (120,000 pixels), you&#8217;d need to use an 800 x 600 alternative (480,000 pixels) to render it well on a high-density display.</p><p>However, the high-resolution file size may not necessarily be four times larger. Every image is different but if it contains solid blocks of color or details which can be omitted, it may be practical to use a 800 x 600 image and scale it in the browser.</p><p>Be pragmatic: if the standard image is 200Kb and the high-resolution version is 250Kb, there is negligible benefit using image replacement techniques. Use the better version throughout.</p><h2>4. Use CSS Image Replacement</h2><p>There will be times when high-resolution versions of your image are four times larger &#8212; or more. In those circumstances you may want to consider image replacement techniques, i.e. the standard image is replaced by larger alternative on Retina displays. The following media query code could be used:</p><pre><code>#myimage {
	width: 400px;
	height: 300px;
	background: url(lo-res.jpg) 0 0 no-repeat;
}
@media
screen and (-webkit-min-device-pixel-ratio: 1.5),
screen and (-moz-min-device-pixel-ratio: 1.5),
screen and (min-device-pixel-ratio: 1.5) {
	#myimage {
		background-image: url(hi-res.jpg);
	}
}
</code></pre><p>The drawbacks:</p><ol><li>You will need to create and maintain two sets of images.</li><li>Some browsers will download both images.</li></ol><p>Remember that many of these users will be using smartphones or tablets on slower mobile networks. Detecting the connection speed would be more beneficial than determining the pixel density.</p><h2>5. Use JavaScript Image Replacement</h2><p>Retina display detection can be implemented using the following code:</p><pre><code>var isRetina = (
	window.devicePixelRatio &gt; 1 ||
	(window.matchMedia &amp;&amp; window.matchMedia(&quot;(-webkit-min-device-pixel-ratio: 1.5),(-moz-min-device-pixel-ratio: 1.5),(min-device-pixel-ratio: 1.5)&quot;).matches)
);
</code></pre><p>Once a Retina display is determined, you could:</p><ol><li>Loop through all page images and extract the URL.</li><li>Append &#8216;@2x&#8217; to the file name and attempt to load the resulting image URL using Ajax.</li><li>If found, replace the current image with the high-resolution alternative.</li></ol><p>Fortunately, the hard work&#8217;s been done for you at <a
href="http://retinajs.com/">retinajs.com</a>. While it only adds 4Kb weight, high-density display devices will download images twice &#8212; although the second time will occur as a background process after the page has loaded.</p><p>My advice: be practical and keep it simple. Don&#8217;t spend inordinate amounts of time attempting to solve minor rendering problems on devices with proportionally few users. Of course, none of that matters when your boss receives his new iPad and starts to complain about image quality&hellip;</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/support-retina-displays/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>Browser Trends May 2013: IE8 Drops Below 10%</title><link>http://www.sitepoint.com/browser-trends-may-2013/</link> <comments>http://www.sitepoint.com/browser-trends-may-2013/#comments</comments> <pubDate>Wed, 01 May 2013 10:38:12 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[Operating systems]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[ie]]></category> <category><![CDATA[opera]]></category> <category><![CDATA[safari]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65969</guid> <description><![CDATA[Craig takes his regular look at the desktop and mobile browser usage charts. While IE8 dropped below 10%, only Internet Explorer escaped unscathed from Chrome's regular rise.]]></description> <content:encoded><![CDATA[<p></p><p>We&#8217;re <a
href="/browser-trends-april-2013/">one third of the way through 2013</a> and an interesting battle has commenced between the two leading vendors. These are the <a
href="http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201304-201304-bar">latest figures according to StatCounter</a>&hellip;</p><h2>Worldwide Browser Statistics March 2013 to April 2013</h2><p>The following table shows browser usage movements during the past month.</p><table
id="stats" summary="worldwide browser market share statistics, February 2013" width="80%" style="text-align:right !important;margin:20px auto"><tr><th
width="20%">Browser</th><th
width="20%">March</th><th
width="20%">April</th><th
width="20%">change</th><th
width="20%">relative</th></tr><tr><th>IE (all)</th><td>29.29%</td><td>29.69%</td><td
class="up">+0.40%</td><td
class="up">+1.40%</td></tr><tr><th>IE10</th><td>2.26%</td><td>6.19%</td><td
class="up">+3.93%</td><td
class="up">+173.90%</td></tr><tr><th>IE 9</th><td>15.81%</td><td>13.35%</td><td
class="dn">-2.46%</td><td
class="dn">-15.60%</td></tr><tr><th>IE8</th><td>10.29%</td><td>9.30%</td><td
class="dn">-0.99%</td><td
class="dn">-9.60%</td></tr><tr><th>IE7</th><td>0.64%</td><td>0.59%</td><td
class="dn">-0.05%</td><td
class="dn">-7.80%</td></tr><tr><th>IE6</th><td>0.29%</td><td>0.26%</td><td
class="dn">-0.03%</td><td
class="dn">-10.30%</td></tr><tr><th>Chrome</th><td>38.13%</td><td>39.21%</td><td
class="up">+1.08%</td><td
class="up">+2.80%</td></tr><tr><th>Firefox</th><td>20.85%</td><td>20.05%</td><td
class="dn">-0.80%</td><td
class="dn">-3.80%</td></tr><tr><th>Safari</th><td>8.48%</td><td>7.99%</td><td
class="dn">-0.49%</td><td
class="dn">-5.80%</td></tr><tr><th>Opera</th><td>1.16%</td><td>1.00%</td><td
class="dn">-0.16%</td><td
class="dn">-13.80%</td></tr><tr><th>Others</th><td>2.09%</td><td>2.06%</td><td
class="dn">-0.03%</td><td
class="dn">-1.40%</td></tr></table><h2>Worldwide Browser Statistics April 2012 to April 2013</h2><p>The following table shows browser usage movements during the past twelve months:<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><table
id="stats" summary="worldwide browser market share statistics, past 12 months" width="80%" style="text-align:right !important;margin:20px auto"><tr><th
width="20%">Browser</th><th
width="20%">April 2012</th><th
width="20%">April 2013</th><th
width="20%">change</th><th
width="20%">relative</th></tr><tr><th>IE (all)</th><td>34.07%</td><td>29.69%</td><td
class="dn">-4.38%</td><td
class="dn">-12.90%</td></tr><tr><th>IE10</th><td>0.00%</td><td>6.19%</td><td
class="up">+6.19%</td><td>n/a</td></tr><tr><th>IE 9</th><td>15.67%</td><td>13.35%</td><td
class="dn">-2.32%</td><td
class="dn">-14.80%</td></tr><tr><th>IE8</th><td>14.69%</td><td>9.30%</td><td
class="dn">-5.39%</td><td
class="dn">-36.70%</td></tr><tr><th>IE7</th><td>2.54%</td><td>0.59%</td><td
class="dn">-1.95%</td><td
class="dn">-76.80%</td></tr><tr><th>IE6</th><td>1.17%</td><td>0.26%</td><td
class="dn">-0.91%</td><td
class="dn">-77.80%</td></tr><tr><th>Chrome</th><td>31.29%</td><td>39.21%</td><td
class="up">+7.92%</td><td
class="up">+25.30%</td></tr><tr><th>Firefox</th><td>24.86%</td><td>20.05%</td><td
class="dn">-4.81%</td><td
class="dn">-19.30%</td></tr><tr><th>Safari</th><td>7.14%</td><td>7.99%</td><td
class="up">+0.85%</td><td
class="up">+11.90%</td></tr><tr><th>Opera</th><td>1.70%</td><td>1.00%</td><td
class="dn">-0.70%</td><td
class="dn">-41.20%</td></tr><tr><th>Others</th><td>0.94%</td><td>2.06%</td><td
class="up">+1.12%</td><td
class="up">+119.10%</td></tr></table><p>The tables show market share estimates for desktop browsers. The &#8216;change&#8217; column is the absolute increase or decrease in market share. The &#8216;relative&#8217; column indicates the proportional change, i.e. another 10.3% of IE6 users abandoned the browser last month. There are several caveats so I recommend you read <a
href="/how-browser-market-share-is-calculated">How Browser Market Share is Calculated</a>.</p><p>Chrome jumped another 1% during April. That growth can&#8217;t continue, but there&#8217;s no sign of it stopping yet. Only one application managed to put up a fight: IE10. Microsoft&#8217;s browser grew an impressive 4% in one month following the <a
href="/microsoft-ie10-windows7-update/">automated update for Windows 7</a>. While the other versions all dropped, IE10 more than made up the difference.</p><p>Talking of which, IE8 had a 1% drop and has fallen below 10%! While the browser did much to rectify the issues in IE6 and IE7, development will be far easier when we can depend on widespread HTML5 support without shims. It still has a healthy percentage but many businesses will be forced to consider alternatives when Microsoft drops Windows XP support next year.</p><p>IE6 and IE7 have become mostly irrelevant. I&#8217;m tempted to remove them from the chart, but&hellip;</p><ol><li>some developers use the figures as justification for dropping the decrepit browsers, and</li><li>it gives me a smug sense of satisfaction to watch the numbers tumble.</li></ol><p>However, I&#8217;m relieved Microsoft can take on Google because the others are struggling.</p><p>Firefox holds just over 20% of users but is likely to fall below that threshold next month.</p><p>Safari didn&#8217;t have a great month and fell 0.5%. It&#8217;s a reasonable browser but would it be so popular if Apple didn&#8217;t enforce usage on iOS? Users could fall further if <a
href="/blink-rendering-engine-google-chrome/">Webkit development falls significantly behind Blink</a>.</p><p>Finally, 14% of Opera users switched last month and it&#8217;s dropped to 1%. Perhaps that&#8217;s understandable; <a
href="/opera-switches-to-webkit-rendering-engine/">Presto has been abandoned for Blink</a> so is there any point sticking with a browser which will soon be superseded?</p><h2 id="mobile">Mobile Browser Usage</h2><p>Mobile usage decreased slightly to <a
href="http://gs.statcounter.com/#mobile_vs_desktop-ww-monthly-201304-201304-bar">13.9% of all web activity</a> in April 2013.</p><p>The primary mobile browsing applications:</p><ol><li>Android &#8212; 30.96% (up 0.18%)</li><li>iPhone &#8212; 23.94% (down 0.50%)</li><li>Opera Mini/Mobile &#8211; 15.35% (down 0.19%)</li><li>UC Browser &#8212; 8.74% (up 0.47%)</li><li>Nokia browser &#8212; 7.03% (up 0.07%)</li></ol><p>In comparison to the desktop market, there&#8217;s very little to report. I guess it&#8217;s a quiet time of year with no significant releases or disruptive technologies. Nothing to see here. Please move along and return next month!</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/browser-trends-may-2013/feed/</wfw:commentRss> <slash:comments>24</slash:comments> </item> <item><title>HTML5, Older Browsers and the Shiv</title><link>http://www.sitepoint.com/html5-older-browsers-and-the-shiv/</link> <comments>http://www.sitepoint.com/html5-older-browsers-and-the-shiv/#comments</comments> <pubDate>Tue, 23 Apr 2013 04:22:37 +0000</pubDate> <dc:creator>Dmitri Lau</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65558</guid> <description><![CDATA[Dmitri Lau looks at how to use the HTML5Shiv tool to address the inability of certain older browsers to correctly interpret some HTML5 elements.]]></description> <content:encoded><![CDATA[<p></p><p>HTML5 introduced a few semantic elements that are not supported in older browsers. Some of these new elements are no different than generic block elements so they don&#8217;t pose any compatibility problems. All you need to ensure compatibility is to add a CSS rule to your website that causes the relevant elements to behave like block elements.</p><p>But Internet Explorer versions 8 and under pose a challenge. Any element not in the official roster of elements cannot be styled with CSS. That means we cannot make then behave like block elements or give them any formatting.</p><p>For example, the following code will not work.</p><pre class="brush: xml; title: ; notranslate">
&lt;style&gt;
section {display: block}
&lt;/style&gt;
&lt;section&gt;This is on its own line.&lt;/section&gt;
&lt;section&gt;This should appear on a separate line.&lt;/section&gt;
</pre><p>But that&#8217;s not all. These new elements behave as if they don&#8217;t exist. For example, the following CSS won&#8217;t work, since the <code>section</code> element won&#8217;t match the universal selector.</p><pre class="brush: xml; title: ; notranslate">
&lt;style&gt;
body * span {color: red}
&lt;/style&gt;
&lt;body&gt;
  &lt;section&gt;
    &lt;span&gt;This should be red, but won't be red in IE 8.&lt;/span&gt;
  &lt;/section&gt;
&lt;/body&gt;
</pre><p>Fortunately for us, a workaround exists that allows Internet Explorer (IE) to recognize these new elements allowing them to be styled, and thus giving us full use of these new semantic tags. It&#8217;s a tool called <a
href="http://code.google.com/p/html5shiv/">HTML5Shiv</a>.<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><p><em>As noted on the linked Google page, &#8220;shiv&#8221; and &#8220;shim&#8221; are interchangeable terms in this context.</em></p><p>But how did we go from IE not even acknowledging the existence of this element, to now being able to use it?</p><p>The trick is that calling <code>document.createElement("section")</code> will suddenly cause IE to recognize the <code>section</code> element. No one knows why, but it works and you don&#8217;t even need to use the node returned by that function.</p><p>But you need to make sure to call it early on in your website before any of those elements are used, otherwise it won&#8217;t work.</p><p>You will need to call it for each and every new HTML5 elements like so:</p><pre class="brush: jscript; title: ; notranslate">
&quot;abbr article aside audio bdi canvas data datalist details figcaption figure &quot;+
  &quot;footer header hgroup main mark meter nav output progress section &quot; +
  &quot;summary template time video&quot;
  .replace(/\w+/g, function(a){ document.createElement(a) });
</pre><p>Notice we&#8217;re using the <code>replace</code> method of the <code>string</code> object to succinctly iterate over each contiguous length of characters matched by the regular expression and executing the callback function for each character block which in turn calls <code>createElement</code>.</p><p>Here on in, we&#8217;ll call this method, &#8220;shivving the document&#8221;, so that the document can render the new HTML5 elements.</p><p>Now our previous two HTML examples work. But that&#8217;s not all there is to it.</p><h2>Pitfall 1: HTML5 and innerHTML</h2><p>If HTML is being generated using <code>innerHTML</code> and it is called on a node not currently attached to a document (AKA an orphaned node), then it&#8217;s deja vu all over again. The following two examples will not render the <code>section</code> element, even though it&#8217;s run on a document already shivved.</p><pre class="brush: jscript; title: ; notranslate">
var n1 = document.getElementById(&quot;n1&quot;);
n1.parentNode.removeChild(n1);
n1.innerHTML = &quot;&lt;section&gt;Sect 1&lt;\/section&gt;&quot;;  //won't work
</pre><pre class="brush: jscript; title: ; notranslate">
var n2 = document.createElement(&quot;div&quot;);
n2.innerHTML = &quot;&lt;section&gt;Sect 2&lt;\/section&gt;&quot;;  //won't work
</pre><p>In the second example above, if we append the node to the document first before calling <code>innerHTML</code>, then it will work:</p><pre class="brush: jscript; title: ; notranslate">
var n2 = document.createElement(&quot;div&quot;);
document.body.appendChild(n2);
n2.innerHTML = &quot;&lt;section&gt;Sect 2&lt;\/section&gt;&quot;;  //works
</pre><p>We can conclude that although we shivved the document earlier on, orphaned elements do not benefit from the shiv when calling <code>innerHTML</code>.</p><p>What can we do? For starters, whenever we need to set <code>innerHTML</code> we should append it to the document first. An alternative is to first shiv the <code>document</code> property of the orphan before working with the orphan.</p><p>First let&#8217;s put our shiv in its own function.</p><pre class="brush: jscript; title: ; notranslate">
function iehtml5shiv(doc) {
  &quot;abbr article aside audio bdi canvas data datalist details &quot; +
    &quot;figcaption figure footer header hgroup main mark meter nav &quot; +
    &quot;output progress section summary template time video&quot;
    .replace(/\w+/g, function(a){ doc.createElement(a) });
}
</pre><p>The next time we have an orphan element, we can do this:</p><pre class="brush: jscript; title: ; notranslate">
var n1 = document.createElement(&quot;div&quot;);
iehtml5shiv(n1.document);
n1.innerHTML = &quot;&lt;section&gt;Sect 1&lt;\/section&gt;&quot;;  //works
</pre><p>Notice how it&#8217;s just like shivving the document, but on the <code>document</code> property of the element. And notice we&#8217;re accessing <code>document</code> instead of <code>ownerDocument</code>. Both are different things as shown here:</p><pre class="brush: jscript; title: ; notranslate">
alert(n1.document == document);  //false
alert(n1.ownerDocument == document);  //true
</pre><p>Now we have two methods to make sure our call to <code>innerHTML</code> works when handling HTML5 elements.</p><h2>Pitfall 2: cloneNode</h2><p>It appears our cousin <code>cloneNode</code> is also susceptible to losing its shiv. Any HTML5 elements which are cloned, or have had their parents cloned, will lose their identity.</p><p>Notice how the below element has colons in its <code>nodeName</code>, meaning it&#8217;s being confused for an element from another namespace.</p><pre class="brush: jscript; title: ; notranslate">
var n2 = n1.cloneNode(true);
alert(n2.innerHTML);  //outputs: &lt;:section&gt;Sect 1&lt;/:section&gt;
</pre><p>This happens even if the node was already attached to the document.</p><p>There isn&#8217;t much we can do here except roll out your own implementation of <code>cloneNode</code>, which is trivial enough.</p><h2>Pitfall 3: Printing</h2><p>Whenever you print a webpage, IE appears to generate a new document before printing which means all the shiv workarounds are not preserved.</p><p>There isn&#8217;t much you can do to mitigate this. The HTML5Shiv tool works around this by listening for the <code>onbeforeprint</code> event and replacing all the HTML5 elements on the page with normal elements and then doing the reverse on the <code>onafterprint</code> event.</p><p>Thankfully, the HTML5Shiv tool does that nicely for us.</p><h2>References</h2><ul><li>The HTML5Shiv tool: <a
href="https://github.com/aFarkas/html5shiv">https://github.com/aFarkas/html5shiv</a></li><li>The story of the HTML5 Shiv: <a
href="http://paulirish.com/2011/the-history-of-the-html5-shiv/">http://paulirish.com/2011/the-history-of-the-html5-shiv/</a></li></ul><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/html5-older-browsers-and-the-shiv/feed/</wfw:commentRss> <slash:comments>9</slash:comments> </item> <item><title>RIP HTML5 &lt;hgroup&gt; Element</title><link>http://www.sitepoint.com/html5-hgroup-element-dropped/</link> <comments>http://www.sitepoint.com/html5-hgroup-element-dropped/#comments</comments> <pubDate>Fri, 19 Apr 2013 12:31:20 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[News]]></category> <category><![CDATA[hgroup]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[HTML5 Tutorials & Articles]]></category> <category><![CDATA[w3c]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65203</guid> <description><![CDATA[The hgroup element is being removed from the HTML5 specification. Craig discusses the reasons you never used it...]]></description> <content:encoded><![CDATA[<p></p><p>Do you use the <code>hgroup</code> element in your mark-up? It&#8217;s probably best not to &#8212; the tag is being dropped from the HTML5 specification.</p><p>We normally think of HTML5 specifications receiving additional features, such as the <a
href="/html5-main-element/">new &lt;main&gt; element</a>. However, elements can be removed if they offer no compelling benefits.</p><p><code>hgroup</code> represented the heading of a section and normally contained two or more <code>h1</code> to <code>h6</code> child elements, e.g.</p><pre><code>&lt;hgroup&gt;
&lt;h1&gt;My Main Heading&lt;/h1&gt;
&lt;h2&gt;A sub-heading&lt;/h2&gt;
&lt;/hgroup&gt;</code></pre><p>Did you ever use it? I can recall one occasion and, even then, it was primarily for use as a CSS hook and could have easily been a <code>div</code> or <code>section</code>. The request to remove it came from Steve Faulkner:</p><ul><li><code>hgroup</code> does not convey clearly that a particular heading is a sub-heading</li><li>heading semantics are still exposed regardless of an outer <code>hgroup</code></li><li>the specification stated all <code>hgroup</code> headings must be concatenated for accessibility, i.e. the title would become &#8220;My Main Heading A sub-heading&#8221;</li><li><code>hgroup</code> did not have at least two reasonably complete interoperable implementations, i.e. it was a <code>div</code> by another name</li><li>few sites implement the <code>hgroup</code> element</li></ul><p>No reasonable use-cases were forthcoming so <code>hgroup</code> will ultimately disappear from the HTML5 specification. There is a possibility it will morph into another element offering better semantics, but those debates are yet to occur.</p><h2>No … I Use hgroup On Every Page!</h2><p>The removal of <code>hgroup</code> will make little difference to your daily coding efforts. Most browsers already support it and, even in a new applications, <code>hgroup</code> would be treated the same as any unknown tag. That said, it&#8217;s probably best to avoid using <code>hgroup</code> in new projects since HTML validators will eventually report an error.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/html5-hgroup-element-dropped/feed/</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>Is Your Responsive Web Design too Fragile?</title><link>http://www.sitepoint.com/responsive-web-design-too-fragile/</link> <comments>http://www.sitepoint.com/responsive-web-design-too-fragile/#comments</comments> <pubDate>Thu, 11 Apr 2013 12:07:15 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[Responsive Web Design]]></category> <category><![CDATA[Web standards]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[media queries]]></category> <category><![CDATA[Responsive Design]]></category> <category><![CDATA[w3c]]></category> <category><![CDATA[Web Standards]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65055</guid> <description><![CDATA[Is your responsive layout not working as you expect? Craig discusses a little-known media query issue and recommends a solution...]]></description> <content:encoded><![CDATA[<p></p><p>Take a look at this <a
href="http://blogs.sitepointstatic.com/examples/tech/mqscrollbars/index.html"><strong>media query demonstration page</strong></a> in Chrome. Now adjust the width of your browser and reduce the body below 800px. As soon as it reaches 799px the background color and <em>media query</em> detection text will change.</p><p>Now load the <a
href="http://blogs.sitepointstatic.com/examples/tech/mqscrollbars/index.html">same page</a> in Firefox, Opera or Internet Explorer 10 and resize the browser again. It will depend on your OS and configuration, but you&#8217;ll discover you must reduce the size around 20 pixels further to fire the same media query event. On my PC it reacts at 782px:</p><p><a
href="http://blogs.sitepointstatic.com/images/tech/808-mediaquery-scrollbar-screen.png"><img
src="http://blogs.sitepointstatic.com/images/tech/808-mediaquery-scrollbar-screen.png" width="600" alt="media query result" class="center" /></a></p><p>Why? Let&#8217;s look at the <a
href="http://www.w3.org/TR/css3-mediaqueries/#width">W3C media query specification for width</a>:</p><blockquote><p>The &#8216;width&#8217; media feature describes the width of the targeted display area of the output device. For continuous media, this is the width of the viewport (as described by CSS2, section 9.1.1 [CSS21]) including the size of a rendered scroll bar (if any).<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p></blockquote><p>It couldn&#8217;t be any clearer: Chrome or, more specifically, the Webkit rendering engine (<a
href="/blink-rendering-engine-google-chrome/">soon to be Blink</a>) is incorrectly ignoring the scrollbar and reacting too early. That appears sensible since scrollbar widths vary between systems, but it&#8217;s going against the W3C standard <em>(perhaps another <a
href="http://www.sitepoint.com/5-reasons-to-reject-webkit-monoculture/">reason to reject the WebKit monoculture</a>?)</em></p><p>There are technical solutions to the problem. For example, <a
href="https://github.com/stowball/mqGenie">mqGenie</a> detects non-Webkit browsers and calculates the scrollbar width so you can subtract it from the browser&#8217;s reported viewport dimensions. But you shouldn&#8217;t use it&hellip;</p><blockquote><p>If your responsive design is so fragile that 20 pixels either way causes layout problems, you aren&#8217;t doing it right!</p></blockquote><p>Responsive Web Design permits <strong>fluid layouts</strong> to be interspersed by breakpoints. Those breakpoints may be simple (such as modifying a font size) or implement more complex changes which rearrange columns and grids.</p><p>Unfortunately, fluid layout design skills became a lost art during the past decade. As <a
href="http://www.sitepoint.com/flexible-designs-dying-out/">I commented in 2009</a>, fixed width has become the norm. Fluid layout may be one of the medium&#8217;s biggest strengths but designers often struggle with the concept.</p><p>RWD addresses many of the criticisms of fluid design but adds further complications. It&#8217;s therefore tempting to use media queries to implement a series of fixed width layouts &#8212; and that&#8217;s when browser issues such as scrollbar assumptions bite.</p><p>Here are my three golden Responsive Web Design recommendations:</p><ol><li>Investigate and experiment with fluid design techniques before attempting RWD.</li><li>When creating a responsive template, start with the simplest mobile-first layout and work toward more complex desktop designs (see also <a
href="http://www.sitepoint.com/support-old-browsers-responsive-web-design/">How to Use Responsive Web Design to Support Old Browsers</a>).</li><li>Forget pixels &#8212; use proportional units such as %, em and rem for font and element dimensions. Even if your final design must have fixed dimensions, create a fluid layout and set the outer element&#8217;s width accordingly.</li></ol><p>It&#8217;s a different way of thinking but persevere. Inflicting paper-like restrictions on web design reduces the possibilities and makes Responsive Web Design more difficult than necessary.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/responsive-web-design-too-fragile/feed/</wfw:commentRss> <slash:comments>21</slash:comments> </item> <item><title>Blink: Chrome&#8217;s New Rendering Engine</title><link>http://www.sitepoint.com/blink-rendering-engine-google-chrome/</link> <comments>http://www.sitepoint.com/blink-rendering-engine-google-chrome/#comments</comments> <pubDate>Mon, 08 Apr 2013 15:39:54 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[Web standards]]></category> <category><![CDATA[apple]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[Google Tutorials & Articles]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[webkit]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65201</guid> <description><![CDATA[Google is forking Webkit to create their own independent rendering engine named Blink. Is this a good thing or a disaster of biblical proportions for the web? Craig discusses Blink further.]]></description> <content:encoded><![CDATA[<p></p><p>In a surprise statement released last week <a
href="http://blog.chromium.org/2013/04/blink-rendering-engine-for-chromium.html">Google announced</a> that Chrome and Chromium are to adopt a new rendering engine named &#8216;Blink&#8217;. Blink is a fork of Webkit introduced because:</p><ul><li>Chrome uses a different multi-process architecture to other Webkit browsers</li><li>It provides Google with further performance improvement opportunities.</li></ul><p><a
href="http://www.chromium.org/blink">Google stated</a>:</p><blockquote><p> Blink&#8217;s mission is to improve the open web through technical innovation and good citizenship.</p><p>We believe that having multiple rendering engines &#8212; similar to having multiple browsers &#8212; will spur innovation and over time improve the health of the entire open web ecosystem.</p></blockquote><p>All very noble. But was Google&#8217;s decision politically motivated? Webkit is open source; there are no technical reasons why Google couldn&#8217;t implement improvements. However, Webkit is largely controlled by Apple &#8212; a competitor. At best, Safari would have the same technologies. At worst, Apple could block features which offered Google a competitive advantage (such as Dart).</p><p>Regardless of the reasons, <em>Blink is good for the web</em>.</p><p>Webkit has never been <a
href="/5-reasons-to-reject-webkit-monoculture/">a single rendering engine</a> so another fork will have little immediate impact. Over time, Blink will proceed along a different path unencumbered by Webkit stakeholders. The engine will be one of Google&#8217;s top priorities and should evolve rapidly.<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><p>Blink will appear in Chrome 28 and also be adopted by other browsers based on Chromium &#8212; including the new version of <a
href="/opera-switches-to-webkit-rendering-engine/">Opera</a> and RockMelt. We may have lost Presto, but Blink goes some way to redress the balance. The web has four major rendering engines once more &#8212; even if two will be mostly identical for a few months.</p><h2>Will There be a New Vendor Prefix?</h2><p>No. Blink will continue to support some -webkit prefixes for legacy compatibility but all prefixes will eventually disappear. Experimental DOM, CSS and JavaScript features will be available without a prefix but the developer must enable those facilities with a single setting in about:flags.</p><p>I&#8217;m not wholly convinced it&#8217;s a major improvement. Unless other vendors embrace the policy, developers will have the same number of prefixes to manage and remember (<a
href="/w3c-css-webkit-prefix-crisis/">or forget</a>).</p><h2>Other Downsides?</h2><p>Apple has most to lose. Webkit&#8217;s development team has been cut by 50% and the engine has just lost <a
href="/browser-trends-april-2013-is-chrome-unstoppable">almost 40% market share</a>. The web is everything to Google but a distraction for Apple; Safari could fall behind other browsers.</p><p>Testing has also become a little more difficult for web developers. While you could never rely on Chrome-compatible code working in Safari, differences were rare. That&#8217;s no longer the case.</p><p>The situation was complicated further when <a
href="/safari-6-whats-new-windows-version/">Apple dropped Safari on Windows</a>. Windows developers must either buy a Mac, hope other Webkit browsers are close (<a
href="http://dooble.sourceforge.net/">Dooble</a>, <a
href="http://www.qupzilla.com/">QupZilla</a>, <a
href="http://www.slimboat.com/">SlimBoat</a>) or rely on Apple providing test facilities like <a
href="/microsoft-windows8-ie10-mac-giveaway/">Microsoft did for OS X users</a>.</p><p>Finally, while Blink is <em>technically</em> open source, it&#8217;s Google&#8217;s baby. Chrome&#8217;s dominance means Google can change Blink in ways that were not possible before. The company could be dictating web standards before we know it &#8212; especially if they enable non-prefixed features which operate differently in other browsers.</p><p>Despite the pitfalls, Blink seems an appropriate name &#8212; the web&#8217;s future just became a little brighter.</p><p><em>Unless you think otherwise?&hellip;</em></p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/blink-rendering-engine-google-chrome/feed/</wfw:commentRss> <slash:comments>19</slash:comments> </item> <item><title>Browser Trends April 2013: is Chrome Unstoppable?</title><link>http://www.sitepoint.com/browser-trends-april-2013-is-chrome-unstoppable/</link> <comments>http://www.sitepoint.com/browser-trends-april-2013-is-chrome-unstoppable/#comments</comments> <pubDate>Sun, 07 Apr 2013 09:12:37 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[Operating systems]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[ie]]></category> <category><![CDATA[opera]]></category> <category><![CDATA[safari]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65039</guid> <description><![CDATA[We take another look at the desktop and mobile browser usage charts. As Chrome takes another bite from all other browsers, Craig asks whether anyone can compete with Google's browser.]]></description> <content:encoded><![CDATA[<p></p><p><a
href="/browser-trends-march-2013/">March ended one week ago</a> but, just as you think the browser market is stabilizing, Google puts another spring in its step. Here are the <a
href="http://gs.statcounter.com/#browser_version_partially_combined-ww-monthly-201303-201303-bar">latest figures according to StatCounter</a>&hellip;</p><h2>Worldwide Browser Statistics February 2013 to March 2013</h2><p>The following table shows browser usage movements during the past month.</p><table
id="stats" summary="worldwide browser market share statistics, February 2013" width="80%" style="text-align:right !important;margin:20px auto"><tr><th
width="20%">Browser</th><th
width="20%">February</th><th
width="20%">March</th><th
width="20%">change</th><th
width="20%">relative</th></tr><tr><th>IE (all)</th><td>29.82%</td><td>29.29%</td><td
class="dn">-0.53%</td><td
class="dn">-1.80%</td></tr><tr><th>IE 9.0+</th><td>18.08%</td><td>18.07%</td><td
class="dn">-0.01%</td><td
class="dn">-0.10%</td></tr><tr><th>IE 8.0</th><td>10.76%</td><td>10.29%</td><td
class="dn">-0.47%</td><td
class="dn">-4.40%</td></tr><tr><th>IE 7.0</th><td>0.68%</td><td>0.64%</td><td
class="dn">-0.04%</td><td
class="dn">-5.90%</td></tr><tr><th>IE 6.0</th><td>0.30%</td><td>0.29%</td><td
class="dn">-0.01%</td><td
class="dn">-3.30%</td></tr><tr><th>Firefox</th><td>21.34%</td><td>20.85%</td><td
class="dn">-0.49%</td><td
class="dn">-2.30%</td></tr><tr><th>Chrome</th><td>37.11%</td><td>38.13%</td><td
class="up">+1.02%</td><td
class="up">+2.70%</td></tr><tr><th>Safari</th><td>8.58%</td><td>8.48%</td><td
class="dn">-0.10%</td><td
class="dn">-1.20%</td></tr><tr><th>Opera</th><td>1.23%</td><td>1.16%</td><td
class="dn">-0.07%</td><td
class="dn">-5.70%</td></tr><tr><th>Others</th><td>1.92%</td><td>2.09%</td><td
class="up">+0.17%</td><td
class="up">+8.90%</td></tr></table><h2>Worldwide Browser Statistics March 2012 to March 2013</h2><p>The following table shows browser usage movements during the past twelve months:<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><table
id="stats" summary="worldwide browser market share statistics, past 12 months" width="80%" style="text-align:right !important;margin:20px auto"><tr><th
width="20%">Browser</th><th
width="20%">March 2012</th><th
width="20%">March 2013</th><th
width="20%">change</th><th
width="20%">relative</th></tr><tr><th>IE (all)</th><td>34.81%</td><td>29.29%</td><td
class="dn">-5.52%</td><td
class="dn">-15.90%</td></tr><tr><th>IE 9.0+</th><td>14.56%</td><td>18.07%</td><td
class="up">+3.51%</td><td
class="up">+24.10%</td></tr><tr><th>IE 8.0</th><td>16.00%</td><td>10.29%</td><td
class="dn">-5.71%</td><td
class="dn">-35.70%</td></tr><tr><th>IE 7.0</th><td>2.91%</td><td>0.64%</td><td
class="dn">-2.27%</td><td
class="dn">-78.00%</td></tr><tr><th>IE 6.0</th><td>1.34%</td><td>0.29%</td><td
class="dn">-1.05%</td><td
class="dn">-78.40%</td></tr><tr><th>Firefox</th><td>24.99%</td><td>20.85%</td><td
class="dn">-4.14%</td><td
class="dn">-16.60%</td></tr><tr><th>Chrome</th><td>30.92%</td><td>38.13%</td><td
class="up">+7.21%</td><td
class="up">+23.30%</td></tr><tr><th>Safari</th><td>6.71%</td><td>8.48%</td><td
class="up">+1.77%</td><td
class="up">+26.40%</td></tr><tr><th>Opera</th><td>1.76%</td><td>1.16%</td><td
class="dn">-0.60%</td><td
class="dn">-34.10%</td></tr><tr><th>Others</th><td>0.81%</td><td>2.09%</td><td
class="up">+1.28%</td><td
class="up">+158.00%</td></tr></table><p>The tables show market share estimates for desktop browsers. The &#8216;change&#8217; column is the absolute increase or decrease in market share. The &#8216;relative&#8217; column indicates the proportional change, i.e. another 5.9% of IE7 users abandoned the browser last month. There are several caveats so I recommend you read <a
href="http://blogs.sitepoint.com/how-browser-market-share-is-calculated">How Browser Market Share is Calculated</a>.</p><p>Just as I think Google cannot possibly increase their share further, Chrome takes another 1% bite of the browser market. The last time this occurred was <a
href="/browser-trends-august-2012/">July 2012</a>. To put it into context, that&#8217;s the equivalent of every Opera user or all combined IE6 and IE7 users abandoning their browser in a single month.</p><p>Chrome was the only mainstream browser with positive growth last month and it&#8217;s clear other vendors are struggling to compete. Does Google have an unfair commercial advantage? Few users pass a day without using the search engine, GMail, Analytics, <a
href="/goodbye-google-reader/">Reader</a> or another vital service which politely suggests they switch to Chrome. Google also has the cash reserves to promote their browser on prime-time television, at the movies, in newspapers and magazines. And let&#8217;s not forget Google controls the world&#8217;s most-used smartphone platform and Chrome OS.</p><p>That said, advertising would be worthless without a good application. Developers like Chrome. Users like Chrome. Even the most ardent IE, Firefox, Safari and Opera fanboys have little bad to say about the browser. It may no longer enjoy significant technical advantages but other vendors must either produce more competitive software or hope Google becomes complacent.</p><p>IE9 has been hovering around 18% for six months but IE10 has begun to cannibalize its share following the <a
href="/microsoft-ie10-windows7-update/">recent Windows 7 update</a>. At the end of March, IE9 had 15.81% and IE10 2.26%. IE8 dropped more than any other browser and looks likely to fall below 10% this month. IE6 and IE7 barely changed but they&#8217;ve become mostly insignificant.</p><p>Firefox fell another 0.5% and it&#8217;s starting to look like a monthly trend. The browser works well on Windows and is more than a match for Chrome but I suspect it&#8217;s lost most ground on Mac, Linux and mobile platforms. Unless Mozilla can convince users to stay, Firefox could drop below 20% by the end of May 2013.</p><p>Safari had a better month than most but almost 6% of Opera users abandoned the desktop browser. That could be a statistical anomaly or perhaps users are unimpressed with the company&#8217;s <a
href="/opera-switches-to-webkit-rendering-engine/">switch to Webkit</a>? Let&#8217;s see how they fare on mobile devices&hellip;</p><h2 id="mobile">Mobile Browser Usage</h2><p>Mobile usage increased a fraction to <a
href="http://gs.statcounter.com/#mobile_vs_desktop-ww-monthly-201303-201303-bar">14.44% of all web activity</a> during March 2013.</p><p>The primary mobile browsing applications:</p><ol><li>Android &#8212; 30.78% (down 0.76%)</li><li>iPhone &#8212; 24.44% (up 0.08%)</li><li>Opera Mini/Mobile &#8211; 15.54% (up 0.14%)</li><li>UC Browser &#8212; 8.27% (down 0.07%)</li><li>Nokia browser &#8212; 6.96% (up 0.05%)</li></ol><p>It&#8217;s difficult to spot trends because the mobile market is erratic and influenced by local factors. For example, the iPhone is massively popular in western countries, but less so in Asia, Africa and South America where Android and Opera compete for the top spot.</p><p>There&#8217;s been a slightly unusual fall for Android but I wouldn&#8217;t read too much into that. The Chrome mobile browser has a 2.02% market share and is starting to increase as rapidly as its desktop cousin. Google is everywhere.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/browser-trends-april-2013-is-chrome-unstoppable/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> <item><title>What&#8217;s New in Firefox 20</title><link>http://www.sitepoint.com/firefox-20-whats-new/</link> <comments>http://www.sitepoint.com/firefox-20-whats-new/#comments</comments> <pubDate>Fri, 05 Apr 2013 11:26:27 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[Mozilla]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65105</guid> <description><![CDATA[Craig looks at a number of great new features for developers and users in the latest release of Mozilla's flagship browser.]]></description> <content:encoded><![CDATA[<p></p><p>Version numbers may be meaningless but Firefox 20 marks a milestone for Mozilla&#8217;s flagship browser. The new release appeared on April 2 exactly <a
href="http://www.sitepoint.com/firefox-19-whats-new/">six weeks after version 19</a>. If you don&#8217;t have it, open Help &gt; About Firefox or download the browser from <a
href="http://getfirefox.com/">getfirefox.com</a>.</p><p>Firefox 20 has a surprising number of new features &#8212; let&#8217;s look at the best&hellip;</p><h2>Developer Tool Updates</h2><p>Firefox has received an incredible number of tools within the past few releases. The Developer menu has been reorganized to order them more effectively and a new <strong>Toggle Tools</strong> option provides quick access to the Web Console. The Console can also be viewed within its own panel as well as docked.</p><p>A new JavaScript Profiler had been promised for version 20 but the feature has been delayed for a later release.</p><h2>New Download Manager</h2><p>If I recall correctly, this is the first major update to the Download Manager since it appeared in Phoenix back in 2002. The dedicated panel has been replaced by a drop-down list accessed by a new toolbar icon which highlights the time remaining:<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><p><img
src="https://support.cdn.mozilla.net/media/uploads/gallery/images/2013-03-13-22-24-02-13abf7.png" width="600" height="424" alt="Firefox download manager" class="center" /></p><p>It&#8217;s a nice touch. Previous downloads are still logged in bookmarks and history panel.</p><h2>getUserMedia Support</h2><p>Firefox now provides the <a
href="https://developer.mozilla.org/en-US/docs/WebRTC/navigator.getUserMedia">getUserMedia HTML5 API</a> which has been available in Chrome and Opera for several months. With the user&#8217;s permission, you can capture audio and video from a microphone or camera. <a
href="http://shinydemos.com/photo-booth/">Opera&#8217;s Photo Booth</a> provides an excellent demonstration of the technology.</p><h2>canvas Blend Modes</h2><p>When you draw on a canvas element any existing pixels are normally replaced. However, the new <code>globalCompositeOperation</code> property permits Photoshop-like overlay effects including multiply, screen, darken, lighten, color-dodge, color-burn and difference. Refer to <a
href="https://hacks.mozilla.org/2012/12/firefox-development-highlights-per-window-private-browsing-canvas-globalcompositeoperation-new-values/">this Mozilla article</a> for more information.</p><h2>Audio and Video playbackRate Support</h2><p>Have you ever wanted to watch a tedious movie at double-speed? The <code>playbackRate</code> property permits just that (apologies for the inline code):</p><pre><code>&lt;video id=&quot;v&quot; src=&quot;video.webm&quot; controls autoplay&gt;&lt;/video&gt;
&lt;a href=&quot;#&quot; onclick=&quot;document.getElementById(&quot;v&quot;).playbackRate=2;return false;&quot;&gt;fast foward&lt;/a&gt;</code></pre><p><a
href="http://jsbin.com/videoPlaybackRate/4">View a demonstration movie&hellip;</a></p><h2>Improved Private Browsing</h2><p>Private browsing prevents Firefox updating your history, caching pages, saving passwords and storing cookies.</p><p>While it&#8217;s been available for some time, clicking &#8220;Start Private Browsing&#8221; from the menu would close your current window and start a new session. From version 20, Firefox permits you to have any number of private and non-private windows open at a time.</p><h2>Better Plugin Stability</h2><p>Browser stability is largely irrelevant if your plugins cause chaos. Fortunately, the new version of Firefox detects hanging plugins and allows you to close them without restarting the browser. I doubt it will end plugin problems but it&#8217;s a step in the right direction.</p><h2>Want More?</h2><p>Firefox developers had a busy six weeks&hellip;</p><ul><li>CSS and JavaScript now load with a higher priority than images to improve response times.</li><li>various ECMAScript 6 additions</li><li>performance improvements</li><li>a dozen <a
href="https://www.mozilla.org/security/known-vulnerabilities/firefox.html">security fixes</a>.</li></ul><p>I&#8217;m not sure how long Mozilla can keep up the pace of development, but other vendors should take note <em>(seriously Google, could you only manage a spell checker in Chrome 26?!)</em></p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/firefox-20-whats-new/feed/</wfw:commentRss> <slash:comments>13</slash:comments> </item> <item><title>Microsoft Gives Parallels, Windows 8 and IE10 to Mac Developers</title><link>http://www.sitepoint.com/microsoft-windows8-ie10-mac-giveaway/</link> <comments>http://www.sitepoint.com/microsoft-windows8-ie10-mac-giveaway/#comments</comments> <pubDate>Tue, 02 Apr 2013 14:53:23 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS3]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[Operating systems]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[Web standards]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[ie]]></category> <category><![CDATA[microsoft]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=65050</guid> <description><![CDATA[Developing web sites and applications on a Mac? Finding it difficult to test Internet Explorer? Microsoft is providing free USB sticks with full copies of Parallels 8, Windows 8 and IE10. Craig looks at what's new in modern.IE...]]></description> <content:encoded><![CDATA[<p></p><p>IE10 brings Internet Explorer closer to Chrome and Firefox than it&#8217;s ever been. However, if you&#8217;ve visited a geek conference recently, you&#8217;d have noticed a proliferation of Macs &#8212; which can&#8217;t run the browser. That&#8217;s a problem for Microsoft&hellip;</p><ul><li>A large number of developers probably aren&#8217;t bothering to test sites in IE.</li><li>Those who do, often test it very late in the development cycle.</li><li>The inevitable problems lead to <em>&#8220;IE&#8217;s still awful&#8221;</em> comments. While IE10 may cause no more issues than any other browser, the mud sticks.</li></ul><p><a
href="http://www.sitepoint.com/modern-ie-browser-testing/">Microsoft released modern.IE in February</a>. The site offers a page scanner, free virtual machine images, three months&#8217; free subscription to BrowserStack and compatibility advice. However, to celebrate Microsoft&#8217;s sponsorship of the <a
href="http://winners.webbyawards.com/">Webby Awards</a>, several new features have been introduced today&hellip;</p><h2>Free Parallels and Windows 8 USB Sticks for Mac Developers</h2><p>If you&#8217;re a Mac developer, it can be difficult to justify the license costs for Parallels and Windows. Microsoft has made that decision a little easier for you by shipping <a
href="http://www.modern.ie/en-US/virtualization-tools">free USB sticks with full copies of Parallels 8 and Windows 8</a>.<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><p><a
href="http://www.modern.ie/en-US/virtualization-tools"><img
src="http://blogs.sitepointstatic.com/images/tech/809-modernie2-link.png" width="588" height="288" alt="Free Parallels and Windows 8 USB Stick" class="center" /></a></p><p>The catch? There&#8217;s a limited supply &#8212; <em>so act quickly</em> &#8212; and Microsoft would like you to send a $25 donation to your favorite charity. Sounds like a good deal to me.</p><h2>New Virtual Machine Images</h2><p>Two <a
href="http://www.modern.ie/en-US/virtualization-tools">new virtual machines</a> are available: IE10 on Windows 7 and IE8 on Windows XP. Both remain free and all VMs are now available for Parallels on the Mac as well as Hyper-V, Virtual PC, VirtualBox and VMware on other platforms.</p><h2>Scan Sites Behind Firewalls</h2><p>It&#8217;s now possible to install a local instance of the <a
href="http://www.modern.ie/report">modern.IE webpage scanner</a> so you can test intranet applications or websites which have not yet launched.</p><p><em>Guess what platform the scanner requires&hellip;</em></p><p>You&#8217;re wrong! It&#8217;s <a
href="http://nodejs.org/">node.js</a>. That&#8217;s a surprisingly sensible choice which means it&#8217;ll run on Windows, Mac OS and Linux out of the box.</p><p>The scanner has a number of useful new features:</p><ul><li>deeper scanning with <em>&#8216;how to fix&#8217;</em> suggestions</li><li>responsive web design analysis</li><li>touch optimization hints, and</li><li>assistance for sites which have blocked Flash content.</li></ul><h2>Better Internationalization</h2><p><a
href="http://www.modern.ie/">modern.IE</a> is available in 18 languages including Arabic, Chinese, Dutch, French, German, Italian, Japanese, Korean, Russian, Spanish, Swedish, Thai, Turkish and Vietnamese.</p><p>It&#8217;s good to see modern.IE evolving and Microsoft making life a little easier for web developers. Now, if only we could persuade <a
href="http://www.sitepoint.com/safari-6-whats-new-windows-version/">Apple to release Safari on Windows again&hellip;</a></p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/microsoft-windows8-ie10-mac-giveaway/feed/</wfw:commentRss> <slash:comments>6</slash:comments> </item> <item><title>What Looks Like IE11 but Smells Like Firefox?</title><link>http://www.sitepoint.com/ie11-smells-like-firefox/</link> <comments>http://www.sitepoint.com/ie11-smells-like-firefox/#comments</comments> <pubDate>Wed, 27 Mar 2013 09:24:39 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Web standards]]></category> <category><![CDATA[chrome]]></category> <category><![CDATA[firefox]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[ie]]></category> <category><![CDATA[opera]]></category> <category><![CDATA[safari]]></category> <category><![CDATA[user agent]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=64863</guid> <description><![CDATA["IE11 will impersonate Firefox!" claim the headlines. Craig reports the latest user agent controversy and why it never has and never will affect your well-coded web sites and applications...]]></description> <content:encoded><![CDATA[<p></p><p>A pre-release build of Windows Blue, Microsoft&#8217;s successor to Windows 8, was leaked a few days ago. It may have been intentional or unintentional but the OS was <a
href="http://www.neowin.net/news/windows-blue-build-9364-leaked-to-the-internet">installed</a>, <a
href="http://www.youtube.com/watch?v=KAxXX0m-P_0">dissected</a> and <a
href="http://news.cnet.com/8301-10805_3-57576008-75/windows-blue-leak-shows-changes-large-and-small/">reported</a> across the web.</p><p>The new OS contained an early version of Internet Explorer 11. A very early version. Probably nearer IE10.01. There&#8217;s little new technology to report, but one update caused a storm of controversy on <a
href="http://news.slashdot.org/story/13/03/25/0215212/testers-say-ie-11-can-impersonate-firefox-via-user-agent-string">SlashDot</a> and <a
href="http://www.neowin.net/news/ie11-to-appear-as-firefox-to-avoid-legacy-ie-css">Neowin.net</a>: IE11&#8242;s user agent string appears to impersonate Firefox&hellip;</p><p><strong
style="text-align:center">Mozilla/5.0 (IE 11.0; Windows NT 6.3; Trident/7.0; .NET4.0E; .NET4.0C; rv:11.0) like Gecko</strong></p><p>The &#8216;MSIE&#8217; string has disappeared and a suspicious &#8216;like Gecko&#8217; statement has appeared. Cue 1,000 conspiracy theories.</p><p>Historically, browser vendors and developers have been doing the user agent dance since the dawn of the web. The problem starts when you attempt to create a cross-browser compatible website:<div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><ol><li>A developer creates a website in browser X then tests it in browser Y.</li><li>Browser Y fails, so the developer writes browser Y detection routines and serves different code. Everyone is happy.</li><li>Browser Y is then updated &#8212; but the website now fails because it&#8217;s serving legacy code.</li><li>The vendor changes the user agent string: detection fails and the site works again. Everyone is happy and we loop back to step one.</li></ol><p>Look at the start of IE11&#8242;s user agent string: <em>Mozilla/5.0</em>. The early versions of IE had to masquerade as Netscape because it was the dominant browser and many sites refused to return content to anything else. The situation continues today &#8212; IE, Chrome, Safari and Firefox all start with &#8216;Mozilla/5.0&#8242;&hellip;</p><p>IE10:<br
/> <strong>Mozilla/5.0 (compatible; MSIE 10.0; Windows NT 6.2; WOW64; Trident/6.0)</strong></p><p>Chrome 25:<br
/> <strong>Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/537.22 (KHTML, like Gecko) Chrome/25.0.1364.172 Safari/537.22</strong></p><p>iPad Safari 6:<br
/> <strong>Mozilla/5.0 (iPad; CPU OS 6_0 like Mac OS X) AppleWebKit/536.26 (KHTML, like Gecko) Version/6.0 Mobile/10A5355d Safari/8536.25</strong></p><p>Firefox 19:<br
/> <strong>Mozilla/5.0 (Windows NT 6.2; WOW64; rv:19.0) Gecko/20100101 Firefox/19.0</strong></p><p>You&#8217;ll also notice both Chrome and Safari use the same &#8216;like Gecko&#8217; string as IE11. I don&#8217;t recall that bombshell hitting the headlines?</p><p>The biggest change in IE11 is the removal of &#8216;MSIE&#8217;. I suspect that has been done for one reason: to prevent sites serving invalid IE6/7/8 code to modern editions of the browser. Recent releases of IE&#8217;s Trident engine are closer to Gecko or WebKit than legacy editions of itself. By removing the &#8216;MSIE&#8217; string, Microsoft is breaking detection code and making many sites work as they should.</p><p>The point is: <em>none of this matters</em>. If you&#8217;re browser sniffing, <a
href="http://www.sitepoint.com/why-browser-sniffing-stinks/">you are almost certainly doing something wrong</a>! While it seems an obvious solution, browser sniffing is a fragile technique that introduces more maintenance headaches than it prevents. If you know someone who sniffs, please suggest they close their IDE, step away from their browser and embark on another career.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/ie11-smells-like-firefox/feed/</wfw:commentRss> <slash:comments>32</slash:comments> </item> <item><title>Adobe Shuts Browserlab</title><link>http://www.sitepoint.com/adobe-shuts-browserlab/</link> <comments>http://www.sitepoint.com/adobe-shuts-browserlab/#comments</comments> <pubDate>Fri, 22 Mar 2013 13:46:36 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[CSS]]></category> <category><![CDATA[CSS3]]></category> <category><![CDATA[HTML]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[News]]></category> <category><![CDATA[browser]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[testing]]></category> <category><![CDATA[testing in cloud]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=64644</guid> <description><![CDATA[Adobe has closed their online browser testing service with immediate effect. Craig may not understand the reasons, but at least a number of alternatives with free introductory offers are available.]]></description> <content:encoded><![CDATA[<p></p><p>The past few days have not been kind to web developers. Google announced they were <a
href="http://www.sitepoint.com/goodbye-google-reader/">scrapping their popular RSS Reader application</a> and that overshadowed news from Adobe that <a
href="https://browserlab.adobe.com/">Browserlab was being closed with immediate effect</a>.</p><p>Browserlab started as a free browser testing service in 2009. Testing web sites and applications is notoriously difficult owing to seemingly infinite combinations of device, OS, browser, plugins and configurations. Desktop software developers &#8212; you have it easy! You can normally concentrate on one or two operating systems. However, people expect web applications to work no matter what. It doesn&#8217;t matter whether they&#8217;re running IE10 on Windows 8, Safari 6 on Mac OSX, Chromium on Ubuntu, Firefox on Android, Lynx on a Commodore 64 or &#8212; <em>even worse</em> &#8212; IE6 on XP.</p><p>Browserlab was one of a number of online services available for web developers which helped spot the worst layout problems. Adobe disclosed their reason for closing the system:</p><blockquote><p> The growth of the importance of mobile devices and tablets, the landscape has changed dramatically. Because of this shift, we have seen the usage of BrowserLab drop over the past year while at the same time our engineering team has been focusing on solving this new challenge with new solutions.</p><p>We&#8217;d like to thank all of our customers over the years for using and providing input for the Adobe BrowserLab Service.</p></blockquote><p>I find the announcement slightly strange. Testing has become more difficult so you would have expected the number of BrowserLab users to increase? Admittedly, it was not as good as competitors and did not support mobile devices but it remained a viable service for the majority of us testing desktop-based browsers.</p><p>Fortunately, BrowserLab users have a couple of good alternatives <em>(take note Google)</em>:</p><ol><li><a
href="https://saucelabs.com/"><strong>Sauce Labs</strong></a> &#8212; <a
href="http://sauceio.com/index.php/2013/03/sauce-labs-welcomes-adobe-browserlab-customers/">BrowserLab users</a> receive up to 10 hours of free testing</li><li><a
href="http://www.browserstack.com/"><strong>BrowserStack</strong></a> &#8212; there are no specific offers for BrowserLab users, but head over to <a
href="http://www.sitepoint.com/modern-ie-browser-testing/">Microsoft&#8217;s modern.IE website</a> to receive three months free service.</li></ol><p>So goodbye BrowserLab. Let&#8217;s hope this is the last essential service to disappear this week&hellip;</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/adobe-shuts-browserlab/feed/</wfw:commentRss> <slash:comments>4</slash:comments> </item> <item><title>Microsoft Pushes IE10 Updates to Windows 7</title><link>http://www.sitepoint.com/microsoft-ie10-windows7-update/</link> <comments>http://www.sitepoint.com/microsoft-ie10-windows7-update/#comments</comments> <pubDate>Mon, 18 Mar 2013 18:30:46 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Operating systems]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[ie10]]></category> <category><![CDATA[internet explorer]]></category> <category><![CDATA[microsoft]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=64641</guid> <description><![CDATA[Internet Explorer 10 is being rolled out to Windows 7 as part of the automated Windows Update. Craig discusses whether this finally ends the tyranny of previous editions.]]></description> <content:encoded><![CDATA[<p></p><p>If you&#8217;re one of the 50% of PC users with Windows 7, be prepared for an essential update coming your way. Internet Explorer 9 has been officially retired to make way for IE10. The new browser will be installed as part of the standard Windows Update unless you explicitly prevent it <em>(please don&#8217;t!)</em></p><p>It&#8217;s an important milestone for web developers. While IE9 was a radical step up from IE8, it was missing features we take for granted in Safari, Firefox, Chrome and Opera: CSS3 gradients, text shadows, animations, transitions, column layouts, flexbox, ECMAScript strict mode, media query listeners, the file API, web workers, local storage, etc. IE10 plugs many of the HTML5 gaps.</p><p>There&#8217;s another vital feature in IE10: automated updates. While Microsoft are yet to use it, IE10 <em>can</em> receive smaller incremental tweaks over time. I&#8217;m not expecting a Chrome or Firefox-like six-week delivery schedule, but two or three times per year would be significantly better than the current 18-24 month delay.</p><p>IE9 is likely to die rapidly especially since system administrators will not experience the upgrade issues which dogged previous versions. It will remain the default browser on Vista but the OS currently holds 6% of the PC market and is dropping fast.</p><p>IE6 and IE7 are dead. They still roam zombie-like across certain sectors of the web but, for most of us, the days of IE-specific hacks and fixes are long gone.</p><h2>The IE8 Problem</h2><p>Which leaves us with IE8. The browser holds 10% of the market and is the only version available for Windows XP which is used by one quarter of PC users. Many have stated that IE8 is the next IE6 (including me), but I&#8217;ve recently revised my pessimistic opinion&hellip;</p><ul><li>It depends on the <a
href="http://www.sitepoint.com/browser-trends-march-2013/">statistics you believe</a>, but competition from Google has changed the market. Chrome can be installed on XP, is advertised throughout Google&#8217;s ecosystem and light years ahead of IE8.</li><li>IE8 usage is dropping by 0.5% per month. If the trend continues, it will hold just 5-6% of the market by the end of 2013.</li><li>IE8 may not support HTML5, CSS3, SVG or media queries but it has few of issues we had to deal with in IE6 and 7. Your site will be missing rounded corners and drop-shadows, but the HTML5 shim will fix the majority of layout problems. It may not be pretty, but your site should work.</li><li>IE8 is two versions old. Version numbers rarely matter to developers but it&#8217;s an important psychological gap for your clients.</li></ul><p>It would have been great had Microsoft released a version of IE10 for XP and Vista but it&#8217;s probably not worth the effort. IE8 will die a natural death regardless of Microsoft&#8217;s aging OS platforms.</p><p>But let&#8217;s look at the positives: IE10 does much to catch up with the competition. It&#8217;s taken too long to arrive but I hope it becomes the most dominant version of IE within a few short months.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/microsoft-ie10-windows7-update/feed/</wfw:commentRss> <slash:comments>23</slash:comments> </item> <item><title>What&#8217;s New in NetBeans 7.3: HTML5!</title><link>http://www.sitepoint.com/netbeans-73-html5-support/</link> <comments>http://www.sitepoint.com/netbeans-73-html5-support/#comments</comments> <pubDate>Mon, 11 Mar 2013 18:58:35 +0000</pubDate> <dc:creator>Craig Buckler</dc:creator> <category><![CDATA[Browsers]]></category> <category><![CDATA[CSS3]]></category> <category><![CDATA[HTML5]]></category> <category><![CDATA[JavaScript]]></category> <category><![CDATA[jQuery]]></category> <category><![CDATA[News]]></category> <category><![CDATA[Open source]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[editor]]></category> <category><![CDATA[HTML5 Dev Center]]></category> <category><![CDATA[HTML5 Tutorials & Articles]]></category> <category><![CDATA[IDE]]></category> <category><![CDATA[javascript]]></category> <category><![CDATA[software]]></category> <guid
isPermaLink="false">http://www.sitepoint.com/?p=63562</guid> <description><![CDATA[Craig looks at the new HTML5, CSS3 and JavaScript editing features in the latest edition of the ever-popular NetBeans IDE.]]></description> <content:encoded><![CDATA[<p></p><p>Owing to my rapidly increasing age I&#8217;ve used many, many IDEs and text editors over the years. Visual Studio, Aptana, Eclipse, HomeSite, CoffeeCup, Bluefish, Komodo, Vim, Crimson, jEdit, TextPad, PSPad, ConTEXT, PHPEdit, ScITE &#8212; I&#8217;ve probably forgotten more than I remember. Most annoy me. They often miss features I want or add bloat I don&#8217;t need. My current editor of choice is <a
href="http://www.notepad-plus-plus.org/">Notepad++</a>: it&#8217;s simple, lightweight and very configurable.</p><p>Historically, HTML editors have been fairly awful. Many IDEs forced you to create dumb projects, insisted on particular doctypes, or favored deprecated tags. JavaScript editing could be worse: the editor programmers didn&#8217;t understand the language so even basic features such as function lists could fail.</p><p>Fortunately, the situation has improved and <a
href="http://netbeans.org/">NetBeans 7.3 has been released</a> with full support for HTML5, CSS and JavaScript. The cross-platform IDE now includes an HTML project wizard which allows you to select popular boilerplate templates and JavaScript frameworks:</p><p><a
href="http://wiki.netbeans.org/wiki/images/9/9b/Html5project-a2.png"><img
src="http://wiki.netbeans.org/wiki/images/9/9b/Html5project-a2.png" alt="NetBeans HTML5 project" width="600" class="center" /></a><div
id='div-gpt-ad-1328644474660-10' style='width:728px; height:90px;'> <script type='text/javascript'>googletag.cmd.push(function() { googletag.display('div-gpt-ad-1328644474660-10'); });</script> </div></p><p>There&#8217;s a lightweight internal server, embedded WebKit browser, Chrome integration and responsive web design facilities:</p><p><a
href="http://wiki.netbeans.org/wiki/images/6/6d/Chrome-ext-resize-01.png"><img
src="http://wiki.netbeans.org/wiki/images/6/6d/Chrome-ext-resize-01.png" alt="NetBeans Chrome integration" width="390" class="center" /></a></p><p>CSS styles can be edited directly or changed within the Inspector-like rule editor:</p><p><a
href="http://wiki.netbeans.org/wiki/images/f/f6/RuleEditor.png"><img
src="http://wiki.netbeans.org/wiki/images/f/f6/RuleEditor.png" alt="NetBeans CSS editing" width="287" class="center" /></a></p><p>The JavaScript editor has been rewritten to include better code completion, jQuery support and pattern recognition:</p><p><a
href="http://wiki.netbeans.org/wiki/images/2/2e/Nb72_JS_comment_generation_after.png"><img
src="http://wiki.netbeans.org/wiki/images/2/2e/Nb72_JS_comment_generation_after.png" alt="NetBeans JavaScript editing" width="434" class="center" /></a></p><p>There&#8217;s also a new debugger which can analyze code running in the internal browser or Chrome. You can apply breakpoints on lines, when a DOM element changes, when events are raised and when Ajax requests are called. Very useful:</p><p><a
href="http://wiki.netbeans.org/wiki/images/a/a0/LineBreakpoints.png"><img
src="http://wiki.netbeans.org/wiki/images/a/a0/LineBreakpoints.png" alt="NetBeans JavaScript debugger" width="600" class="center" /></a></p><p>Finally, there&#8217;s a great browser log which displays exceptions, errors and warnings as they occur:</p><p><a
href="http://wiki.netbeans.org/wiki/images/2/2e/Browserlog.png"><img
src="http://wiki.netbeans.org/wiki/images/2/2e/Browserlog.png" alt="NetBeans JavaScript log" width="600" class="center" /></a></p><p>Don&#8217;t forget that NetBeans also provides first-class development facilities for PHP, Java and C/C++. If you&#8217;re into that sort of thing.</p><p>It&#8217;s great to see client side browser technologies finally receiving the tools they deserve. I&#8217;m going to give NetBeans another look &hellip; <em>will you?</em></p><p>NetBeans is available for free from <a
href="http://netbeans.org/"><strong>netbeans.org</strong></a>.</p><div
class='after-content-widget-1'><div
id="sitepointcontextualcontentmanagerwidget-5" class="widget widget_sitepointcontextualcontentmanagerwidget"><div
class="dfp-ad show-desktop"><div
id="div-gpt-ad-1340873946991-4" style="width: 728px; height: 90px;"> <script type="text/javascript">googletag.cmd.push(function() { googletag.display("div-gpt-ad-1340873946991-4"); });</script> </div></div></div></div>]]></content:encoded> <wfw:commentRss>http://www.sitepoint.com/netbeans-73-html5-support/feed/</wfw:commentRss> <slash:comments>11</slash:comments> </item> </channel> </rss>
<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Page Caching using memcached
Database Caching 40/87 queries in 0.128 seconds using memcached
Object Caching 2035/2168 objects using memcached

Served from: www.sitepoint.com @ 2013-05-13 14:01:17 --