<?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>Broken Links &#187; XML</title>
	<atom:link href="http://www.broken-links.com/category/xml/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.broken-links.com</link>
	<description>Thoughts on web development and technologies by Peter Gasston</description>
	<lastBuildDate>Fri, 03 Feb 2012 19:47:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://www.broken-links.com/?pushpress=hub'/>
<xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" />
		<item>
		<title>Using SVG in CSS with JavaScript detection</title>
		<link>http://www.broken-links.com/2010/09/22/using-svg-in-css-with-javascript-detection/</link>
		<comments>http://www.broken-links.com/2010/09/22/using-svg-in-css-with-javascript-detection/#comments</comments>
		<pubDate>Wed, 22 Sep 2010 10:25:01 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[Scripting]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[feature detection]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=993</guid>
		<description><![CDATA[With the release of <abbr>IE9</abbr> and Firefox 4 all major browsers are going to support using <abbr>SVG</abbr> in the <code>img</code> element or as a <abbr>CSS</abbr> background image, which is great news as <abbr>SVG</abbr> images are good for high definition, scalable websites. I've written a couple of posts recently about using <abbr>SVG</abbr> with the <code>background-image</code> property, and how to cope with browsers that don't support it. <a href="/2010/06/14/using-svg-in-backgrounds-with-png-fallback/">The method I came up with</a> works, but is far from elegant; for one thing, it doesn't allow for transparency.

Another approach we can take to the problem is to use JavaScript to detect <abbr>SVG</abbr> support. <a href="http://my.opera.com/Fyrd/blog/svg-image-and-background-image-replacer">Alexis Deveria wrote a script which detects if your browser supports <abbr>SVG</abbr> and, if not, replace the images with <abbr>PNG</abbr></a>. It's a good script, but I wondered if there was an alternative.]]></description>
			<content:encoded><![CDATA[<p>With the release of <abbr>IE9</abbr> and Firefox 4 all major browsers are going to support using <abbr>SVG</abbr> in the <code>img</code> element or as a <abbr>CSS</abbr> background image, which is great news as <abbr>SVG</abbr> images are good for high definition, scalable websites. I’ve written a couple of posts recently about using <abbr>SVG</abbr> with the <code>background-image</code> property, and how to cope with browsers that don’t support it. <a href="http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/">The method I came up with</a> works, but is far from elegant; for one thing, it doesn’t allow for transparency.</p>
<p>Another approach we can take to the problem is to use JavaScript to detect <abbr>SVG</abbr> support. <a href="http://my.opera.com/Fyrd/blog/svg-image-and-background-image-replacer">Alexis Deveria wrote a script which detects if your browser supports <abbr>SVG</abbr> and, if not, replace the images with <abbr>PNG</abbr></a>. It’s a good script, but I wondered if there was an alternative.</p>
<p><span id="more-993"></span></p>
<p>I’ve come up with a script based on Alexis’s, but which simply adds a class to the body of the document, allowing you to specify alternative images if <abbr>SVG</abbr> support isn’t implemented on a visitor’s browser. <strong>Update:</strong> Changed the script to use <code>onload</code> instead of <code>addEventListener</code> to ensure compatibility with <abbr>IE</abbr>. Still looking into Opera issue.</p>
<p>Here’s the script:</p>
<pre>function setCSS() {
  var docBody = document.getElementsByTagName('body');
  docBody[0].className = 'svg';
}
function SVGDetect() {
  var testImg = 'data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNzUiIGhlaWdodD0iMjc1Ij48L3N2Zz4%3D';
  var img = document.createElement('img');
  img.setAttribute('src', testImg);
  img.onload = setCSS;
}
img.onload = SVGDetect;</pre>
<p>This creates an <code>img</code> element with an <abbr>SVG</abbr> data <abbr>URI</abbr> and tests to see if the browser loads it; if it does, it adds a class of <em>svg</em> to the body. To finish the method you just need to add alternatives in your stylesheet:</p>
<pre>div { background-image: url('image.png'); }
.svg div { background-image: url('image.svg'); }</pre>
<p>Here’s a demo: <a href="http://broken-links.com/tests/svg/svg_detect.html">Using SVG in CSS with JavaScript detection</a>. View it in Safari, Chrome, Opera, <abbr>IE9</abbr> beta or Firefox 4 beta to see the <abbr>SVG</abbr>s, and Firefox 3.6 or IE8 to see the <abbr>PNG</abbr>s. Try zooming in to the page to see the advantage of using <abbr>SVG</abbr>.</p>
<p>There are a couple of drawbacks with this method that need to be ironed out: first is that in theory it doesn’t work in browsers which allow <abbr>SVG</abbr> in the <code>img</code> element but not in <code>background-image</code> — in practice, however, there are no browsers where this is an issue; second is that it loads the <abbr>PNG</abbr> images first, and there’s a brief delay before the <abbr>SVG</abbr> images replace them — the script definitely needs tweaking to stop this, so consider it Version 0.1.</p>
<p>This technique is for the <abbr>CSS</abbr> <code>background-image</code> only; if you want to replace <code>img</code> elements I advise you to use Alexis’ script instead. As always, if you see a way in which my code could be optimised, don’t hesitate to let me know.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=993&amp;md5=7da2d302a94b5b40c1c4c2446fbbf3da" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/09/22/using-svg-in-css-with-javascript-detection/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=993&amp;md5=7da2d302a94b5b40c1c4c2446fbbf3da" type="text/html" />
	</item>
		<item>
		<title>Using SVG in backgrounds with PNG fallback</title>
		<link>http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/</link>
		<comments>http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/#comments</comments>
		<pubDate>Mon, 14 Jun 2010 13:04:38 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[Miscellanea]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[background]]></category>
		<category><![CDATA[png]]></category>
		<category><![CDATA[svg]]></category>
		<category><![CDATA[technique]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=861</guid>
		<description><![CDATA[My last post was about using SVG values for the background-image property, and I pointed out one big problem with the technique: The drawback of this is that it’s not ready for use just yet—browsers that don’t support SVG in background-image will not provide any fallback, even if you supply another background-image value; so in [...]]]></description>
			<content:encoded><![CDATA[<p>My last post was about <a href="http://www.broken-links.com/2010/06/08/using-svg-in-background-image/">using <abbr title="Scalable Vector Graphics">SVG</abbr> values for the <code>background-image</code> property</a>, and I pointed out one big problem with the technique:</p>
<blockquote><p>
The drawback of this is that it’s not ready for use just yet—browsers that don’t support <abbr>SVG</abbr> in <code>background-image</code> will not provide any fallback, even if you supply another <code>background-image</code> value; so in non-supporting browsers, no image at all will be displayed.
</p></blockquote>
<p>This was annoying me a little, and I couldn’t find any workarounds that didn’t use JavaScript. However, after a bit of head-scratching I’ve come up with a way to get around it.</p>
<p><span id="more-861"></span></p>
<p>In order to have browsers which don’t support <abbr>SVG</abbr> display a <abbr>PNG</abbr> image instead, you should use this code:</p>
<pre>E {
background-image:  url('image.png');
background-image:  none,url('image.svg'), url('image.png');
background-size: 100% 100%;
}</pre>
<p>Browsers which support <abbr>SVG</abbr> and multiple backgrounds will show the <abbr>SVG</abbr>; browsers which don’t support <abbr>SVG</abbr> will fall back to the <abbr>PNG</abbr> in the <code>background-image</code> stack. As far as I know, all browsers which support <abbr>SVG</abbr> also support multiple backgrounds; any which don’t (i.e. <abbr>IE</abbr>) will fall back to the <abbr>PNG</abbr> in the first <code>background-image</code> declaration.</p>
<p><strong>Update:</strong> Thanks to a comment I have amended this technique. <abbr>IE</abbr> was not falling back to the first <code>background-image</code> as it should have done, but I got around this by adding a <em>none</em> value in the declaration. This invalidates the rule in <abbr>IE</abbr> and forces the fallback to the previous declaration.</p>
<p>You can see a demonstration of it here: <a href="http://www.broken-links.com/tests/svg/svg_hack.html">Background SVG with PNG fallback — demo</a>.</p>
<p>This technique is not without its own caveats, however. First and foremost, the <abbr>SVG</abbr> must not have a transparent background, or else the <abbr>PNG</abbr> in the background layer below it will probably show through. Also, depending on how fast the <abbr>SVG</abbr> file loads, the <abbr>PNG</abbr> file may show up first and then be covered over.</p>
<p>Finally, if you’re using the same background image at different sizes and either your browser doesn’t support <code>background-size</code> or you don’t want automatically resized <abbr>PNG</abbr>s, you’ll have to use the rule for each instance:</p>
<pre>E {
background-image:  url('image-small.png');
background-image:  none,url('image.svg'), url('image-small.png');
background-size: 100% 100%;
}

F {
background-image:  url('image-large.png');
background-image:  none,url('image.svg'), url('image-large.png');
background-size: 100% 100%;
}</pre>
<p>And of course, if you’re creating multiple <abbr>PNG</abbr> images anyway, you may feel there’s not a lot of point in using <abbr>SVG</abbr> images as well. I’ll be the first to admit that this isn’t a completely bulletproof technique, but I offer it in the hope that in certain circumstances it could be useful.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=861&amp;md5=ae3f421b3f336c5fdb98873c9716fbaf" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=861&amp;md5=ae3f421b3f336c5fdb98873c9716fbaf" type="text/html" />
	</item>
		<item>
		<title>Using SVG in background-image</title>
		<link>http://www.broken-links.com/2010/06/08/using-svg-in-background-image/</link>
		<comments>http://www.broken-links.com/2010/06/08/using-svg-in-background-image/#comments</comments>
		<pubDate>Tue, 08 Jun 2010 22:14:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[css]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[firefox 4]]></category>
		<category><![CDATA[opera]]></category>
		<category><![CDATA[safari]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=843</guid>
		<description><![CDATA[While having a look through the list of features for developers planned for Firefox 4 earlier today, I noticed this: You can now use SVG with the img element, as well as the background image in CSS. I know you can already use SVG in background-image with Safari, Chrome and Opera, and this, coupled with [...]]]></description>
			<content:encoded><![CDATA[<p>While having a look through the list of <a href="https://developer.mozilla.org/en/Firefox_4_for_developers">features for developers planned for Firefox 4</a> earlier today, I noticed this:</p>
<blockquote><p>
You can now use <abbr title="Scalable Vector Graphics">SVG</abbr> with the <code>img</code> element, as well as the background image in <abbr>CSS</abbr>.
</p></blockquote>
<p>I know you can already use <abbr>SVG</abbr> in <code>background-image</code>  with Safari, Chrome and Opera, and this, coupled with Internet Explorer’s push towards <abbr>SVG</abbr> and the strong chance this will be available in IE9, made me decide to take a closer look.</p>
<p><span id="more-843"></span></p>
<p>I’ve put together a little demo page which you can view with Safari, Chrome, Opera or Firefox 4 nightlies:</p>
<p><a href="http://www.broken-links.com/tests/svg/"><abbr>SVG</abbr> in background-image demo</a></p>
<p>The same image is used many times at different sizes on this page, displaying the grand advantage of <abbr>SVG</abbr> over <abbr>PNG</abbr>: it can be resized without the same loss of quality that bitmap images suffer.</p>
<p>Implementation is very easy:</p>
<pre>E { background-image: url('image.svg'); }</pre>
<p>You’ll notice also a box labelled ‘<abbr>SVGZ</abbr>’ — the <code>background-image</code> on this element is in the compressed <abbr>SVG</abbr> format, <abbr>SVGZ</abbr>:</p>
<pre>E { background-image: url('image.svgz'); }</pre>
<p>The file size is less than one-third of the non-compressed version. In order to use this, you may need to configure your server; <a href="http://kaioa.com/node/45">full instructions for Apache servers can be found here</a>.</p>
<p>The drawback is that it’s not ready for use just yet — browsers that don’t support <abbr>SVG</abbr> in <code>background-image</code> will not provide any fallback, even if you supply another <code>background-image</code> value; so in non-supporting browsers, no image at all will be displayed.</p>
<p><strong>Update:</strong> I’ve found a technique for <a href="http://www.broken-links.com/2010/06/14/using-svg-in-backgrounds-with-png-fallback/">using <abbr>SVG</abbr> images with <abbr>PNG</abbr> fallback</a>.</p>
<p><em>The image used in this demo is from <a href="http://www.allfreevectors.com/free-tree-with-heart-13840.html">All Free Vectors</a>.</em></p>
<p><strong>Update (21/12/2010):</strong> Changed information about SVGZ, thanks to the comment from Robert Longson below.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=843&amp;md5=bbb28108c5059a6f4f095cc04ceb625f" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2010/06/08/using-svg-in-background-image/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=843&amp;md5=bbb28108c5059a6f4f095cc04ceb625f" type="text/html" />
	</item>
		<item>
		<title>Looking forward to 2009</title>
		<link>http://www.broken-links.com/2008/12/24/looking-forward-to-2009/</link>
		<comments>http://www.broken-links.com/2008/12/24/looking-forward-to-2009/#comments</comments>
		<pubDate>Wed, 24 Dec 2008 01:16:15 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=298</guid>
		<description><![CDATA[2008 was pretty exciting on the web, wasn't it? The continuing rise of social media, mobile internet, APIs, frameworks... it's getting harder to keep up with it all.]]></description>
			<content:encoded><![CDATA[<p>2008 was pretty exciting on the web, wasn’t it? The continuing rise of social media, mobile internet, APIs, frameworks… it’s getting harder to keep up with it all.</p>
<p>I won’t be so bold as to make any specific predictions about the year ahead — more of the same is my best guess! — but here are a few articles I’ve read recently which have an eye on the future.</p>
<p><span id="more-298"></span></p>
<h3><a href="http://www.readwriteweb.com/archives/5_exciting_things_in_html_5.php">5 Exciting Things to Look Forward to in HTML 5</a></h3>
<p>Don’t get too excited about the first point (‘new HTML elements that improve our ability to describe content’) as there’s no way for them to degrade gracefully in many browsers, but the rest are pretty interesting and — importantly — already being implemented.</p>
<h3><a href="http://www.sitepoint.com/blogs/2008/12/22/svg-is-the-future-of-application-development/">SVG Is The Future Of Application Development</a></h3>
<p>Maybe on the mobile web, where the SVG-compliant Safari and Opera (and perhaps Firefox/Fennec in the future) are commonplace, but IE doesn’t support SVG and perhaps never will.</p>
<h3><a href="http://www.alistapart.com/articles/gettingrealaboutagiledesign">Getting Real About Agile Design</a> and <a href="http://24ways.org/2008/contract-killer">Contract Killer</a></h3>
<p>Although the digital sector seems pretty healthy at the moment, the global recession is bound to bite harder next year. These articles give some practical advice on how to make sure you don’t get bitten too.</p>
<h3>Also: Browsers</h3>
<p>Early 2009 should also see new releases of each of the major browsers: <a href="http://msdn.microsoft.com/en-gb/library/cc288472(VS.85).aspx">IE8</a>, <a href="https://developer.mozilla.org/en/Firefox_3.1_for_developers">Firefox 3.1</a>, <a href="http://www.appleinsider.com/articles/08/08/23/apple_developers_get_new_builds_of_safari_4_mac_os_x_10_5_5.html">Safari 4</a>, <a href="http://dev.opera.com/articles/view/presto-2-2-and-opera-10-a-first-look/">Opera 10</a>, and a <a href="http://www.flickr.com/photos/kurafire/2822606444/">bug</a>–free version of <a href="http://www.google.com/googlebooks/chrome/">Chrome</a>; lots of new features to play with and — crucially — a standards-compliant base to develop on.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=298&amp;md5=98ffd9e3acac5546ff97c6a5e41bb275" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2008/12/24/looking-forward-to-2009/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=298&amp;md5=98ffd9e3acac5546ff97c6a5e41bb275" type="text/html" />
	</item>
		<item>
		<title>Immediate uses for Microformats</title>
		<link>http://www.broken-links.com/2008/06/19/immediate-uses-for-microformats/</link>
		<comments>http://www.broken-links.com/2008/06/19/immediate-uses-for-microformats/#comments</comments>
		<pubDate>Wed, 18 Jun 2008 23:40:06 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[html]]></category>
		<category><![CDATA[Plugins]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[hatom]]></category>
		<category><![CDATA[hcalendar]]></category>
		<category><![CDATA[hcard]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[operator]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=166</guid>
		<description><![CDATA[One of the hardest things about <a href="http://microformats.org/">Microformats</a> is explaining their benefits to people. You can say "It's a standardised format of marking-up content, which is both human and machine readable!" until you're blue in the face, but until you can show people a practical benefit they usually remain unmoved.]]></description>
			<content:encoded><![CDATA[<p>One of the hardest things about <a href="http://microformats.org/">Microformats</a> is explaining their benefits to people. You can say “It’s a standardised format of marking-up content, which is both human and machine readable!” until you’re blue in the face, but until you can show people a practical benefit they usually remain unmoved.</p>
<p>Luckily there are a few tools out there which will help you show off the benefits of using Microformats, and involve little work from you.</p>
<p><span id="more-166"></span></p>
<p>King amongst tools, of course, is <a href="http://www.kaply.com/weblog/operator/">Operator</a>, an <a href="https://addons.mozilla.org/en-US/firefox/addon/4106">add-on for Firefox</a> which finds data in pages and presents you with options to transform them using a series of web-based tools. If the person you’re trying to convince doesn’t use Firefox and/or have Operator installed, however, there are a few good tools available online to show their potential.</p>
<p><a href="http://microformats.org/wiki/hatom">hAtom</a> is a microformat used for marking up blog posts or other serialised content. Using the <a href="http://microformatique.com/optimus/">Optimus</a> tool you can turn any page marked up with hAtom into an RSS feed, by adding a link on your page in the following format:</p>
<pre>http://microformatique.com/optimus/
?uri=http://www.example.com/&#038;format=RSS</pre>
<p>Optimus will return correctly formatted XML for users to subscribe to. It’s also a decent validator for other Microformats (although actually seems to struggle a little with hAtom in that department).</p>
<p><a href="http://microformats.org/wiki/hcard">hCard</a> is the standard for marking up contact details, and there is a tool from <a href="http://suda.co.uk/projects/microformats/">Brian Suda</a> which will convert them into <a href="http://en.wikipedia.org/wiki/VCard">vCards</a> for you; <a href="http://technorati.com/contacts">Technorati also have a test implementation of this tool</a> available, which I’ll link to as they no doubt have better servers. To extract vCards from a page which has hCard markup, simply create a link in this format:</p>
<pre>http://feeds.technorati.com/contacts/http://www.example.com/</pre>
<p>You can then either save the generated vCard, or add it directly to your address book.</p>
<p>Also from Brian Suda / Technorati comes the <a href="http://microformats.org/wiki/hcalendar">hCalendar</a> tool, which <a href="http://technorati.com/events">transforms your data into the iCalendar standard</a>. Again, you just link to your marked-up page using a specially formatted URL, although this time you get two choices;</p>
<pre>http://feeds.technorati.com/events/http://www.example.com/</pre>
<p>… returns a single .ics file with each of your events to add to a calendar; while:</p>
<pre>webcal://feeds.technorati.com/events/http://www.example.com/</pre>
<p>… produces a webcal feed which is updated regularly, allowing subscription to your events.</p>
<p>Implement these tools on your web pages and you’ll have a suite of neat features you can impress your visitors and peers with. It’s a real advantage of using Microformats.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=166&amp;md5=eddf985695dfa0bc8cdc0d86f5a5b528" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2008/06/19/immediate-uses-for-microformats/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=166&amp;md5=eddf985695dfa0bc8cdc0d86f5a5b528" type="text/html" />
	</item>
		<item>
		<title>New features in Firefox 3.1 &amp; beyond</title>
		<link>http://www.broken-links.com/2008/06/15/new-features-in-firefox-31-and-beyond/</link>
		<comments>http://www.broken-links.com/2008/06/15/new-features-in-firefox-31-and-beyond/#comments</comments>
		<pubDate>Sun, 15 Jun 2008 09:38:07 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[firefox 3.1]]></category>
		<category><![CDATA[firefox 4]]></category>
		<category><![CDATA[svg]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=173</guid>
		<description><![CDATA[While Firefox 3 is a really fast &#038; usable browser, I was a little disappointed by the (comparative) lack of really new features in the rendering engine; that's not to say there aren't any, as there are plenty, but that Safari 3.1 and Opera 9.5 have set the bar very high in their latest iterations.]]></description>
			<content:encoded><![CDATA[<p>While Firefox 3 is a really fast &amp; usable browser, I was a little disappointed by the (comparative) lack of really new features in the rendering engine; that’s not to say there aren’t any, as there are plenty, but that Safari 3.1 and Opera 9.5 have set the bar very high in their latest iterations.</p>
<p>So that’s why I was delighted to hear about <a href="http://www.computerworlduk.com/toolbox/open-source/applications/news/index.cfm?RSS&#038;newsid=9247">the 3.1 release</a> of my favourite browser, and doubly delighted when I found out <a href="http://wiki.mozilla.org/Platform/Post1.9Planning">which features the team are planning to work on for inclusion in it</a>:</p>
<p><span id="more-173"></span></p>
<p>For CSS, already implemented are <a href="http://www.css3.info/firefox-31-is-the-latest-to-pass-our-selectors-test/">the full range of CSS3 selectors</a> and the <a href="http://www.css3.info/preview/text-shadow/"><code>text-shadow</code> property</a>, and planned to join them are <a href="http://www.w3.org/TR/css3-mediaqueries/">@media queries</a>; for fans of nice typography, <code>font-stretch</code> and <code>word-wrap</code> are on their way, along with my favourite feature of all: <a href="http://www.broken-links.com/2008/03/18/safari-31-introduces-web-fonts-for-all/">@font-face</a>! There will also be a lot of existing CSS bugs fixed.</p>
<p>Beyond FF3.1 (and therefore probably in FF4, currently scheduled for the latter half of next year, I believe) we may expect to see <a href="http://www.w3.org/TR/css3-values/#calc">calculated values</a> and the new modules proposed by the Webkit team, <a href="http://webkit.org/blog/138/css-animation/">Animations and Transition</a>.</p>
<p>Back in FF3.1 — and for typography fans again — <a href="http://www.w3.org/TR/SVG11/fonts.html">SVG fonts</a> should be implemented so that you can use the XML standard to creat text effects. SVG files will be allowed through the <code>img</code> tag, although no news yet whether that will apply to <code>background-image</code> also.</p>
<p>Still on SVG, <a href="http://en.wikipedia.org/wiki/Synchronized_Multimedia_Integration_Language"><abbr title="Synchronized Multimedia Integration Language">SMIL</abbr></a>, which allows the use of media files in SVG, will also be implemented. This will be complemented by the <a href="http://www.w3.org/html/wg/html5/#audio"><code>audio</code></a> and <a href="http://www.w3.org/html/wg/html5/#video"><code>video</code></a> elements from <a href="http://www.w3.org/html/wg/html5/">HTML5</a>.</p>
<p>Firefox 4 will also feature the new JavaScript <abbr title="Virtual Machine">VM</abbr> <a href="http://www.mozilla.org/projects/tamarin/">Tamarin</a>, open-sourced by Adobe, for richer and faster multimedia display.</p>
<p>That’s all pretty exciting stuff. I wonder what the recently-announced Safari 4 and Opera 10 will counter with?</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=173&amp;md5=1e2e33e2892d78c10f2f67953465f10f" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2008/06/15/new-features-in-firefox-31-and-beyond/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=173&amp;md5=1e2e33e2892d78c10f2f67953465f10f" type="text/html" />
	</item>
		<item>
		<title>The Microformats vEvent that wasn’t</title>
		<link>http://www.broken-links.com/2008/05/28/the-microformats-vevent-that-wasnt/</link>
		<comments>http://www.broken-links.com/2008/05/28/the-microformats-vevent-that-wasnt/#comments</comments>
		<pubDate>Wed, 28 May 2008 09:16:59 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Events]]></category>
		<category><![CDATA[standards]]></category>
		<category><![CDATA[XML]]></category>
		<category><![CDATA[london web week]]></category>
		<category><![CDATA[microformats]]></category>
		<category><![CDATA[semantic web]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/?p=168</guid>
		<description><![CDATA[Having missed the opening party, my introduction to London Web Week was last night's Microformats vEvent. Unfortunately it wasn't a good introduction, for two reasons.]]></description>
			<content:encoded><![CDATA[<p>Having missed the opening party, my introduction to <a href="http://www.londonwebweek.co.uk/">London Web Week</a> was last night’s <a href="http://microformats.eventwax.com/vevent">Microformats vEvent</a>. Unfortunately it wasn’t a good introduction, for two reasons;</p>
<p>First (and foremost), it wasn’t really about <a href="http://microformats.org/">Microformats</a>. The first speaker talked about <abbr title="Resource Description Framework attributes">RDFa</abbr> and <abbr title="Gleaning Resource Descriptions from Dialects of Languages">GRDDL</abbr>, the second about RDFa and <abbr title="Friend of a Friend">FOAF</abbr>.</p>
<p>Second, the presumption was that we had an extremely high level of technical knowledge; a presumption that wasn’t true, in my case at least. I’m fairly new to Microformats but I have a pretty good idea of what they’re about; both talks went over my head anyway. And my poor wife, who’s learning about them for the first time, had no idea what was going on.</p>
<p>The description of the event said:</p>
<blockquote><p>
We hope that no matter your experience level, you’ll find the evening informative, enjoyable and inspiring.
</p></blockquote>
<p>I didn’t. In fact, it may well have been counter-productive for me; it took a subject I’m excited about, and made it sound complicated and boring.</p>
<p>I’m sure that some people would have got a lot out of it — the man next to me who’s studying for his pHD in artificial intelligence certainly seemed to enjoy it — but I think the organisers should have been more honest about the technical knowledge required, and saved some attendees a bit of time.</p>
<p>I did get <a href="http://www.friendsofed.com/book.html?isbn=9781590598146">a book</a> for asking a question, however, so it wasn’t a total loss.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=168&amp;md5=3618f3eaeee1435a2de4a242b81892e6" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2008/05/28/the-microformats-vevent-that-wasnt/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=168&amp;md5=3618f3eaeee1435a2de4a242b81892e6" type="text/html" />
	</item>
		<item>
		<title>More findings from IE8: XHTML and @import</title>
		<link>http://www.broken-links.com/2008/03/07/more-findings-from-ie8-xhtml-and-import/</link>
		<comments>http://www.broken-links.com/2008/03/07/more-findings-from-ie8-xhtml-and-import/#comments</comments>
		<pubDate>Fri, 07 Mar 2008 15:53:37 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Asides]]></category>
		<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/2008/03/07/more-findings-from-ie8-xhtml-and-import/</guid>
		<description><![CDATA[Had the chance to run a few more tests to find out what’s new (and what’s not) in IE8. Good: @import media types seem to be implemented; Bad: XHTML still isn’t parsed, so everyone who thinks they are coding XHTML are still kidding themselves.]]></description>
			<content:encoded><![CDATA[<p>Had the chance to run a few more tests to find out what’s new (and what’s not) in IE8. Good: <a href="http://www.broken-links.com/2007/02/15/ie7-and-import-media-types/">@import media types</a> seem to be implemented; Bad: <a href="http://blogs.msdn.com/ie/archive/2005/09/15/467901.aspx">XHTML still isn’t parsed</a>, so everyone who thinks they are coding XHTML are still kidding themselves.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=146&amp;md5=ead5cf837b37789c529eb38d017bb8e4" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2008/03/07/more-findings-from-ie8-xhtml-and-import/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=146&amp;md5=ead5cf837b37789c529eb38d017bb8e4" type="text/html" />
	</item>
		<item>
		<title>Three things I’d like to see in Firefox 3.1</title>
		<link>http://www.broken-links.com/2008/02/29/three-things-id-like-to-see-in-firefox-31/</link>
		<comments>http://www.broken-links.com/2008/02/29/three-things-id-like-to-see-in-firefox-31/#comments</comments>
		<pubDate>Fri, 29 Feb 2008 11:00:14 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/2008/02/29/three-things-id-like-to-see-in-firefox-31/</guid>
		<description><![CDATA[Let me say up front that from what I’ve seen of Firefox 3 so far, it really looks to be a knockout browser; it’s light, fast, extensible, and the interface is flawless. The one and only thing that’s disappointed me slightly, however, is the lack of new front-end features for developers like myself to take [...]]]></description>
			<content:encoded><![CDATA[<p>Let me say up front that from what I’ve seen of <a href="http://www.mozilla.com/en-US/firefox/3.0b3/releasenotes/">Firefox 3</a> so far, it really looks to be a knockout browser; it’s light, fast, extensible, and the interface is flawless. The one and only thing that’s disappointed me slightly, however, is the lack of new front-end features for developers like myself to take advantage of.</p>
<p>Online applications have been given a huge boost with offline storage and new HTML 5 features, but where are the shiny graphical hooks for us to play with? Below are three new features I’d like to see implemented in Firefox 3.1 (which I’ve just made up).</p>
<p><em>NB: This might seem a bit previous, as Firefox 3 hasn’t actually been released yet, but I’ve been using the nightlies for a while and it seems unlikely that any of these features will be implemented before launch.</em></p>
<p><span id="more-143"></span></p>
<ol>
<li>
<h3>SVG in <code>img</code> and <code>background-image</code></h3>
<p>I believe <a href="http://www.opera.com/docs/changelogs/windows/950b1/">Opera 9.5 will be the first browser to do this</a>, and I think it’s an excellent idea. SVG allows us to make scalable, lightweight, vector elements (which can interacted with via scripting). This tutorial on dev.opera.com, <a href="http://dev.opera.com/articles/view/how-to-do-photoshop-like-effects-in-svg/">How to do photoshop-like effects in SVG</a>, gives an example of what’s possible.</p>
</li>
<li>
<h3>CSS3 Selectors</h3>
<p>The W3C released <a href="http://www.w3.org/TR/css-beijing/">a snapshot of CSS specs they consider stable</a> last year; basically it covers namespaces, colour, and selectors. Firefox 3 does implement some of the new colour declarations (<a href="http://www.css3.info/preview/">RGBA, HSL, HSLA</a>), but its support for <a href="http://www.456bereastreet.com/archive/200601/css_3_selectors_explained/">selectors</a> has fallen behind Opera and Safari/Webkit. <code>nth-child</code> and its siblings may not be essential, but they’re certainly useful.</p>
</li>
<li>
<h3>More experimental CSS properties</h3>
<p>Webkit has taken the lead on this, with <a href="http://www.css3.info/preview/">text-shadow, box-shadow, multiple backgrounds</a>, and many more, available for testing with the –webkit– prefix; and Opera is not far behind. Firefox, however, doesn’t seem to have implemented any of these according to any documentation I can find. I know the W3’s specs haven’t been finalised yet, but how are we supposed to experiment and provide feedback if our browser doesn’t support them? Mozilla was the first browser to feature columns and rounded corners, but that early experimentation seems to have been abandoned.</p>
</li>
</ol>
<p>Come on, Firefox team; you’ve made the best browser on the market (IMHO), now give us the best layout and rendering engine to back it up.</p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=143&amp;md5=b4b703ab13ed528cfc49265eaa5fc036" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2008/02/29/three-things-id-like-to-see-in-firefox-31/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=143&amp;md5=b4b703ab13ed528cfc49265eaa5fc036" type="text/html" />
	</item>
		<item>
		<title>SVG in background-image</title>
		<link>http://www.broken-links.com/2007/07/29/svg-in-background-image/</link>
		<comments>http://www.broken-links.com/2007/07/29/svg-in-background-image/#comments</comments>
		<pubDate>Sun, 29 Jul 2007 08:59:52 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[browsers]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://www.broken-links.com/2007/07/29/svg-in-background-image/</guid>
		<description><![CDATA[If adopted widely, the use of SVG in <code>&#60;img /&#62;</code> and <code>background-image</code> could be responsible for some big changes in website design.]]></description>
			<content:encoded><![CDATA[<p><strong>Update:</strong> There’s a more practical look at this subject in a later post, <a href="http://www.broken-links.com/2010/06/08/using-svg-in-background-image/">Using SVG in background-image</a>.</p>
<p>If adopted widely, the use of SVG in <code>&lt;img /&gt;</code> and <code>background-image</code> could be responsible for some big changes in website design.</p>
<p>Take a look at this <a href="http://people.mozilla.com/~vladimir/demos/photos.svg">example of images in SVG</a> (you’ll need an SVG-capable browser), which displays four photos at random positions and sizes on the page. Images could be pulled at random from <a href="http://www.flickr.com/">Flickr</a> (or wherever) and rotated, resized, and placed in the page as a background. Combined with multiple images, you could create layers of effect, almost like collages… pretty revolutionary.</p>
<pre>div { background-image:
url('layer1.svg') left top,
url('layer2.svg') left top,
url('layer3.svg') left top;
}</pre>
<p>It looks like <a href="http://my.opera.com/dstorey/blog/2007/02/01/using-svg-through-css-to-spice-up-your-d">Opera will be first to implement this feature</a> with their 9.5 release, previews of which should be available soon. No definitive word on whether they’ll implement multiple backgrounds, but I’m hopeful. </p>
 <p><a href="http://www.broken-links.com/?flattrss_redirect&amp;id=87&amp;md5=35366593e6e130ca21189f128635e14b" title="Flattr" target="_blank"><img src="http://www.broken-links.com/wp-content/plugins/flattr/img/flattr-badge-large.png" alt="flattr this!"/></a></p>]]></content:encoded>
			<wfw:commentRss>http://www.broken-links.com/2007/07/29/svg-in-background-image/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<atom:link rel="payment" href="http://www.broken-links.com/?flattrss_redirect&amp;id=87&amp;md5=35366593e6e130ca21189f128635e14b" type="text/html" />
	</item>
	</channel>
</rss>

