<?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>Ten Tonne Baby</title>
	<atom:link href="http://www.tentonnebaby.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tentonnebaby.com</link>
	<description>Discussion on Web Technologies, Design and London</description>
	<lastBuildDate>Wed, 07 Jul 2010 20:58:59 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Nibbling on HTML5</title>
		<link>http://www.tentonnebaby.com/2010/07/07/nibbling-on-html5/</link>
		<comments>http://www.tentonnebaby.com/2010/07/07/nibbling-on-html5/#comments</comments>
		<pubDate>Wed, 07 Jul 2010 20:58:59 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[dom]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[xbox]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/07/07/nibbling-on-html5/</guid>
		<description><![CDATA[After reading the smallest technical book I’ve come across, I’ve switched to the HTML5 Doctype on my first site today. It looks like pretty much everything is backwards compatible and will degrade nicely, so we’re going to be reworking our markup to make use of a bunch of the additional semantic elements.
The most useful thing [...]]]></description>
			<content:encoded><![CDATA[<p>After reading <a href="http://books.alistapart.com/product/html5-for-web-designers">the smallest technical book I’ve come across</a>, I’ve switched to the HTML5 Doctype on my first site today. It looks like pretty much everything is backwards compatible and will degrade nicely, so we’re going to be reworking our markup to make use of a bunch of the additional semantic elements.</p>
<p>The most useful thing so far is having a valid way of stashing information in the DOM so it is available to client-side script via the <strong>data-</strong> attributes. An example would be storing an attribute like <strong>data-zoomimageurl=”http://blah”</strong> for use by an image zoom plugin.</p>
<p>Anyway, I’m off to shoot my friends now.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/07/07/nibbling-on-html5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managing IIS configuration in a web farm</title>
		<link>http://www.tentonnebaby.com/2010/06/22/managing-iis-configuration-in-a-web-farm/</link>
		<comments>http://www.tentonnebaby.com/2010/06/22/managing-iis-configuration-in-a-web-farm/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 09:12:45 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[iis]]></category>
		<category><![CDATA[web farm]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/06/22/managing-iis-configuration-in-a-web-farm/</guid>
		<description><![CDATA[We’re now running 4 web servers and it’s starting to feel like we should consider centralising the IIS configuration. It’s now enough manual work that I can see a situation where one server in the farm ends up configured very slightly differently.
We still need to manage a migration to Windows Server 2008 / IIS7, and [...]]]></description>
			<content:encoded><![CDATA[<p>We’re now running 4 web servers and it’s starting to feel like we should consider centralising the IIS configuration. It’s now enough manual work that I can see a situation where one server in the farm ends up configured very slightly differently.</p>
<p>We still need to manage a migration to Windows Server 2008 / IIS7, and it looks like it might be best to complete this first then look at <a href="http://learn.iis.net/page.aspx/264/shared-configuration/">shared configuration management in IIS7</a>. The good news is that we now have enough capacity that it shouldn’t be a problem to take a single server out of the load balancer, get it rebuilt to IIS7, then added back in.</p>
<p>It looks like any centralisation of either the metabase or content files is based on serving from a network share. I’d be interested to know to what degree this impacts performance, and the best way to do this while avoiding a single point of failure.</p>
<p>I think I’ll probably worry about getting everything on to IIS7 then look at the best way to achieve this.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/06/22/managing-iis-configuration-in-a-web-farm/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Web licensing direct from FontFont</title>
		<link>http://www.tentonnebaby.com/2010/06/19/web-licensing-direct-from-fontfont/</link>
		<comments>http://www.tentonnebaby.com/2010/06/19/web-licensing-direct-from-fontfont/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 12:04:58 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[eot]]></category>
		<category><![CDATA[fontfont]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[fontshop]]></category>
		<category><![CDATA[woff]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/06/19/web-licensing-direct-from-fontfont/</guid>
		<description><![CDATA[Just noticed that FontFont are now selling fonts with a licensing agreement for hosting on your own site and serving up via @font-face – the licensing is based on average page impressions per licensed domain, and the pack you download contains both WOFF and EOT formats. This means at present these would just be supported [...]]]></description>
			<content:encoded><![CDATA[<p>Just noticed that FontFont are now selling fonts with a licensing agreement for hosting on your own site and serving up via @font-face – the licensing is based on average page impressions per licensed domain, and the pack you download contains both WOFF and EOT formats. This means at present these would just be supported in IE and Firefox.</p>
<p>Worth <a href="http://www.fontshop.com/blog/?p=1661">reading the details over at FontShop</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/06/19/web-licensing-direct-from-fontfont/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Automating acceptance tests with BDD</title>
		<link>http://www.tentonnebaby.com/2010/06/19/automating-acceptance-tests-with-bdd/</link>
		<comments>http://www.tentonnebaby.com/2010/06/19/automating-acceptance-tests-with-bdd/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 11:22:37 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[.NET]]></category>
		<category><![CDATA[Process]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[specflow]]></category>
		<category><![CDATA[tekpub]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/06/19/automating-acceptance-tests-with-bdd/</guid>
		<description><![CDATA[I think we’re now running a pretty well-structured agile process, but one area that I’m interested in tightening up is how to express acceptance tests for user stories, and ideally how to automate the tests. A lot of the agile reading material talks in passing about acceptance tests without any real definition of the vocabulary [...]]]></description>
			<content:encoded><![CDATA[<p>I think we’re now running a pretty well-structured agile process, but one area that I’m interested in tightening up is how to express acceptance tests for user stories, and ideally how to automate the tests. A lot of the agile reading material talks in passing about acceptance tests without any real definition of the vocabulary or approach to use in expressing, organising and executing tests.</p>
<p>This fits in very nicely with some of the ideas in Behaviour Driven Design, which is like the next iteration of thinking around TDD. The idea is to express acceptance tests using a simple DSL vocabulary working in plain English, then hook up each acceptance test scenario to some automated tests which prove the scenario works as expected.</p>
<p>A simple example would be…</p>
<p><strong>+Title: Customer withdraws cash+     <br /></strong><em>As a</em> customer,    <br /><em>I want</em> to withdraw cash from an ATM,    <br /><em>so that</em> I don’t have to wait in line at the bank.</p>
<p>In BDD, an acceptance test would be along the lines of…</p>
<p><strong>+Scenario 1: Account is in credit+     <br /></strong><em>Given</em> the account is in credit    <br /><em>And</em> the card is valid    <br /><em>And</em> the dispenser contains cash    <br /><em>When</em> the customer requests cash    <br /><em>Then</em> ensure the account is debited    <br /><em>And</em> ensure cash is dispensed    <br /><em>And</em> ensure the card is returned</p>
<p>I’ve lifted the example here from the <a href="http://blog.dannorth.net/introducing-bdd/">key article published on BDD from Dan North</a> – if you’re interested so far then you should stop reading now and go and check out the article.</p>
<p>BDD frameworks will then map each step expressed in the text above through to a method in a test class, so you have a great balance between expressing the acceptance tests in simple language, but having the ability to execute the tests.</p>
<p>I found the best way to learn about this so far was a TekPub video – you’ll need a subscription, but the video is under the ‘Concepts’ section &gt; <a href="http://tekpub.com/view/concepts/5">Concepts:5 Behaviour-driven Design with Specflow</a>.</p>
<p>Overall it seems like a more natural way to approach proving the application behaviour, and makes it much easier for testers and analysts to work alongside you in defining acceptance tests. I’m quite keen to roll this into our day-to-day process.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/06/19/automating-acceptance-tests-with-bdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Session cookies not expiring when Firefox closes</title>
		<link>http://www.tentonnebaby.com/2010/05/21/session-cookies-not-expiring-when-firefox-closes/</link>
		<comments>http://www.tentonnebaby.com/2010/05/21/session-cookies-not-expiring-when-firefox-closes/#comments</comments>
		<pubDate>Fri, 21 May 2010 13:52:24 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[browser]]></category>
		<category><![CDATA[cookies]]></category>
		<category><![CDATA[firefox]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/05/21/session-cookies-not-expiring-when-firefox-closes/</guid>
		<description><![CDATA[I’ve just been looking into a slightly strange issue where closing Firefox and opening again didn’t clear out session cookies. It looks like in the latest version of Firefox this behaviour is by design if you have certain preferences set.
They have introduced a feature where closing the browser can remember the tabs you had open, [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve just been looking into a slightly strange issue where closing Firefox and opening again didn’t clear out session cookies. It looks like in the latest version of Firefox this behaviour is by design if you have certain preferences set.</p>
<p>They have introduced a feature where closing the browser can remember the tabs you had open, and rehydrates these again when you start Firefox. This feature is controlled in the Settings &gt; General &gt; Startup section. If you have this set to <em>Show my windows and tabs from last time</em>, Firefox will no longer expire session cookies when the browser is closed.</p>
<p>This seems to be a pretty big security concern, as you are prompted to switch this setting on the first time you try to close the browser, so the majority of users would have this set-up. I’m not entirely sure how it decides when a session cookie should expire under these conditions, any ideas?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/05/21/session-cookies-not-expiring-when-firefox-closes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Dynamic image endpoints &#8211; think about conditional GETs</title>
		<link>http://www.tentonnebaby.com/2010/02/26/dynamic-image-endpoints-think-about-conditional-gets/</link>
		<comments>http://www.tentonnebaby.com/2010/02/26/dynamic-image-endpoints-think-about-conditional-gets/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 10:35:51 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[caching]]></category>
		<category><![CDATA[firebug]]></category>
		<category><![CDATA[images]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/02/26/dynamic-image-endpoints-think-about-conditional-gets/</guid>
		<description><![CDATA[I’ve been looking at an issue recently on a site where there is a dynamic endpoint that serves up an image that is stored in a SQL database. The endpoint added the Cache-control: public header, so on the face of it looked like it had added client-side caching support.
By default if you don’t send either [...]]]></description>
			<content:encoded><![CDATA[<p>I’ve been looking at an issue recently on a site where there is a dynamic endpoint that serves up an image that is stored in a SQL database. The endpoint added the Cache-control: public header, so on the face of it looked like it had added client-side caching support.</p>
<p>By default if you don’t send either Cache-Control: max-age, or Expires headers then the user agent has been told that the resource can be cached, but has no way to know whether it has changed on the server. Based on this the user agent will send a conditional GET request to the server to find out if the resource has changed, or if it can be served directly from the local cache (this would look like a 304 response).</p>
<p>A conditional GET will compare versions of a resource based on either the Last-Modified header, or the ETag header. Generally these would have been sent in the original response for a resource. The client will then send either the If-None-Match, or If-Modified-Since headers in the GET request to indicate the resource should ONLY be sent by the server if it has changed.</p>
<p>In this case the dynamic endpoint had not been coded to support conditional GETs, so the images were getting fully downloaded on each request as a 200 response.</p>
<p>The simplest solution is to send Cache-control: max-age in order to allow the user agent to serve the resource directly from the cache without bothering with a conditional GET. Alternatively the endpoint has to check for conditional GET requests and change it’s behaviour to support sending a 304 response if the image hasn’t changed.</p>
<p>The best diagnostic tool to see what is going on is the Net tab in Firebug. This will allow you to check the request and response headers, the response codes, and user agent caching behaviour.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/02/26/dynamic-image-endpoints-think-about-conditional-gets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FontShop are now selling webfonts directly</title>
		<link>http://www.tentonnebaby.com/2010/02/26/fontshop-are-now-selling-webfonts-directly/</link>
		<comments>http://www.tentonnebaby.com/2010/02/26/fontshop-are-now-selling-webfonts-directly/#comments</comments>
		<pubDate>Fri, 26 Feb 2010 09:34:47 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[fonts]]></category>
		<category><![CDATA[typography]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/02/26/fontshop-are-now-selling-webfonts-directly/</guid>
		<description><![CDATA[Just noticed this announcement today from FontShop – they are now selling font files in EOT / WOFF format directly along with a suitable licensing model. FontShop have been very progressive in supporting TypeKit to date, but this will provide a direct route for purchasing fonts from a foundry for use on the web.
TypeKit will [...]]]></description>
			<content:encoded><![CDATA[<p>Just noticed <a href="http://www.fontshop.com/blog/?p=1763">this announcement</a> today from FontShop – they are now selling font files in EOT / WOFF format directly along with a suitable licensing model. FontShop have been very progressive in supporting <a href="http://www.typekit.com">TypeKit</a> to date, but this will provide a direct route for purchasing fonts from a foundry for use on the web.</p>
<p>TypeKit will still provide you access to a wide range of fonts for a low subscription fee, and will also go a long way to serving up the most appropriate format to different user agents.</p>
<p>Nice to see things moving forward and the industry starting to address the massive market that has been pretty much ignored to date.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/02/26/fontshop-are-now-selling-webfonts-directly/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Not sure I like CSS3 transitions</title>
		<link>http://www.tentonnebaby.com/2010/02/12/not-sure-i-like-css3-transitions/</link>
		<comments>http://www.tentonnebaby.com/2010/02/12/not-sure-i-like-css3-transitions/#comments</comments>
		<pubDate>Fri, 12 Feb 2010 11:27:35 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[animation]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[css3]]></category>
		<category><![CDATA[web standards]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/02/12/not-sure-i-like-css3-transitions/</guid>
		<description><![CDATA[One of the modules put forward in the proposed CSS3 specification is the transitions module. This adds a bunch of new CSS attributes which control the animation of property values over time, including everything you would expect (such as easing functions, speed, delays, repetition etc).
I know there are many grey areas where it’s hard to [...]]]></description>
			<content:encoded><![CDATA[<p>One of the modules put forward in the proposed CSS3 specification is the <a href="http://www.w3.org/TR/css3-transitions/">transitions module</a>. This adds a bunch of new CSS attributes which control the animation of property values over time, including everything you would expect (such as easing functions, speed, delays, repetition etc).</p>
<p>I know there are many grey areas where it’s hard to decide if something is really behavioural (so should be covered via javascript) or presentational (in CSS). I can’t help feeling that this is taking CSS too far into trying to accommodate behaviour. After all, mostly what we do with javascript is about changing the state of the DOM, which causes the browser to re-render with the change applied.</p>
<p>There are many problems that would need to be solved well in order for this to be viable, which are currently very simple to achieve in javascript using a decent library. These include…</p>
<ul>
<li>Managing multiple independent animations on an element</li>
<li>Animating multiple elements simultaneously</li>
<li>Cancelling all active animations on an element</li>
<li>Transitioning either from the current value of a property, or from an absolute value</li>
<li>Chaining animations (so when animation X finishes, trigger animation Y)</li>
</ul>
<p>I think my other objection is simply that all of this is currently achievable in quite a simple way using existing web standards, and libraries built on top of those standards. I think deciding how to change a property over time is behavioural, not presentational and should stay in the realms of javascript. Given this, the only thing to consider is whether to extend the core DOM specification to standardise some of the behaviour that is currently provided by javascript libraries.</p>
<p>Personally I don’t quite see how this progresses anything – it will just add another way to achieve something we can do already and add inconsistency and confusion around how to approach animation.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/02/12/not-sure-i-like-css3-transitions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HTML 5 data- attributes</title>
		<link>http://www.tentonnebaby.com/2010/02/02/html-5-data-attributes/</link>
		<comments>http://www.tentonnebaby.com/2010/02/02/html-5-data-attributes/#comments</comments>
		<pubDate>Tue, 02 Feb 2010 10:28:11 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/02/02/html-5-data-attributes/</guid>
		<description><![CDATA[One welcome addition to the proposed HTML5 specification is to allow any attribute prefixed with data- to be treated as a storage area for private data. This makes it possible to associate private data with different DOM elements when a page is generated and sent from the server while still validating against an HTML validator.
Previously [...]]]></description>
			<content:encoded><![CDATA[<p>One welcome addition to the proposed HTML5 specification is to allow any attribute prefixed with <strong>data-</strong> to be treated as a storage area for private data. This makes it possible to associate private data with different DOM elements when a page is generated and sent from the server while still validating against an HTML validator.</p>
<p>Previously it has been possible to temporarily store state information in custom properties against an element via javascript, however embedding state information in a page when generated server-side (and getting a page to validate) always required workarounds. I’ve often resorted to using hidden input elements to expose state information to client-side script, but this should not (and won’t any longer) be necessary.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/02/02/html-5-data-attributes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>More tablet concept videos – Sports Illustrated this time</title>
		<link>http://www.tentonnebaby.com/2010/02/01/more-tablet-concept-videos-sports-illustrated-this-time/</link>
		<comments>http://www.tentonnebaby.com/2010/02/01/more-tablet-concept-videos-sports-illustrated-this-time/#comments</comments>
		<pubDate>Mon, 01 Feb 2010 13:35:26 +0000</pubDate>
		<dc:creator>Oli</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[concepts]]></category>
		<category><![CDATA[ipad]]></category>
		<category><![CDATA[tablet]]></category>

		<guid isPermaLink="false">http://www.tentonnebaby.com/2010/02/01/more-tablet-concept-videos-sports-illustrated-this-time/</guid>
		<description><![CDATA[Just been watching another concept video to show an example of a tablet version of a magazine. I think one of the most interesting areas around this will be content design.
Designing a magazine for print is much more a labour of love than dynamic content injected into a CMS template – each feature is specifically [...]]]></description>
			<content:encoded><![CDATA[<p>Just been watching <a href="http://www.youtube.com/watch?v=ntyXvLnxyXk">another concept video</a> to show an example of a tablet version of a magazine. I think one of the most interesting areas around this will be content design.</p>
<p>Designing a magazine for print is much more a labour of love than dynamic content injected into a CMS template – each feature is specifically put together with the design working in harmony with content. Generally publishing on the web is very different – there will be a single generic design and set of templates that present any article in exactly the same way. One of the few examples I can think of that breaks this trend is <a href="http://www.alistapart.com">alistapart</a>, where each article is uniquely illustrated prior to publication.</p>
<p>I’m interested to see where the balance will lie when publishing content for a tablet. It could range from having a dedicated production team within a publication to hand craft a unique design for each issue, to basic templated content within a standard framework.</p>
<p>In any case there is now a very definite case for sorting out workflow and access to content so that a publisher can easily target multiple platforms.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tentonnebaby.com/2010/02/01/more-tablet-concept-videos-sports-illustrated-this-time/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
