<?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>cazmockett.com &#187; development</title>
	<atom:link href="http://cazmockett.com/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://cazmockett.com/blog</link>
	<description>my blog about creative web design standards and accessibility</description>
	<lastBuildDate>Fri, 02 Apr 2010 16:12:50 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Open Hack London</title>
		<link>http://cazmockett.com/blog/2009/05/12/open-hack-london/</link>
		<comments>http://cazmockett.com/blog/2009/05/12/open-hack-london/#comments</comments>
		<pubDate>Tue, 12 May 2009 17:09:18 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[development]]></category>
		<category><![CDATA[geekery]]></category>
		<category><![CDATA[geeks]]></category>
		<category><![CDATA[hack day]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=241</guid>
		<description><![CDATA[Yahoo!&#8217;s Open Hack London was held at the TUC Congress hall on 9th and 10th May. It was another great opportunity to learn about APIs, hacking stuff together and generally geeking out.
[Yahoo! boss David Filo welcomes the geeks to Open Hack 2009]
I had a play about with the BOSS search API, but wasn&#8217;t in an [...]]]></description>
			<content:encoded><![CDATA[<p>Yahoo!&#8217;s <a href="http://openhacklondon.pbworks.com/">Open Hack London</a> was held at the TUC Congress hall on 9th and 10th May. It was another great opportunity to learn about APIs, hacking stuff together and generally geeking out.</p>
<p><img class="aligncenter size-full wp-image-244" title="Open Hack London" src="http://cazmockett.com/blog/wp-content/uploads/2009/05/d464-016.jpg" alt="Open Hack London" width="600" height="400" />[Yahoo! boss David Filo welcomes the geeks to Open Hack 2009]</p>
<p>I had a play about with the BOSS search API, but wasn&#8217;t in an actual team as such. I also enjoyed an evening bike ride on the Flickr Bikes &#8211; which automatically took a photo every minute when the bikes were in motion. Riding round central London on a push bike was a bit of a hairy experience, but we returned unscathed to tell the tale!</p>
<p><img class="aligncenter size-full wp-image-246" title="Flickr Bikes" src="http://cazmockett.com/blog/wp-content/uploads/2009/05/d464-042.jpg" alt="Flickr Bikes" width="600" height="400" />[The two Flickr Bikes were available for a ride]</p>
<p>There was, of course, a little problem with the wifi (isn&#8217;t there always?) but the team from Yahoo soon sorted it out. And the was, of course, plenty of fuel for hacking geeks:</p>
<p><img class="aligncenter size-full wp-image-247" title="Essential Supplies" src="http://cazmockett.com/blog/wp-content/uploads/2009/05/d464-030.jpg" alt="Essential Supplies" width="600" height="400" />[Essential supplies for the hacking geek]</p>
<p>It was great to be in the company of such innovative minds (and a little intimidating too!). There were some great ideas put together during the session. <a rel="muse" href="http://www.flickr.com/photos/alistair_uk/sets/72157612156433747/">Mr Duck</a> was even on the winning team for <a href="http://developer.yahoo.com/hacku/hackuhandler.php?appid=us&amp;op=showhack&amp;hackid=254">Best Harware Hack!</a> Clever duck&#8230;  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2009/05/12/open-hack-london/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripting Enabled Day 2</title>
		<link>http://cazmockett.com/blog/2008/09/21/scripting-enabled-day-2/</link>
		<comments>http://cazmockett.com/blog/2008/09/21/scripting-enabled-day-2/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 00:08:05 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[disabilities]]></category>
		<category><![CDATA[hack day]]></category>
		<category><![CDATA[scriptingenabled]]></category>
		<category><![CDATA[sql]]></category>
		<category><![CDATA[style sheets]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=167</guid>
		<description><![CDATA[Day two of the event was a &#8220;hack day&#8221; style event, where lots of geeks gathered with the speakers to try and build something useful. There were lots of mini-projects on the go.
I did a bit of hacking with some bookmarklets and javascript to switch to user-defined style sheets, giving the option of looking at [...]]]></description>
			<content:encoded><![CDATA[<p>Day two of the event was a &#8220;hack day&#8221; style event, where lots of geeks gathered with the speakers to try and build something useful. There were lots of mini-projects on the go.</p>
<p>I did a bit of hacking with some bookmarklets and javascript to switch to user-defined style sheets, giving the option of looking at any website as reversed video with much larger text, for instance. Here are a couple of screenshots:</p>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080921_d402-56.jpg"><img class="aligncenter size-full wp-image-168" title="D402-56" src="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080921_d402-56.jpg" alt="" width="500" height="333" /></a></p>
<p>[Regular video Flickr,  but with large text]</p>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080921_d402-57.jpg"><img class="aligncenter size-full wp-image-169" title="D402-57" src="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080921_d402-57.jpg" alt="" width="500" height="333" /></a></p>
<p>[Reversed-video style sheet is easier for users with some visual impairments or other disabilities]</p>
<p>I hope to be able to use some of the techniques in future projects.</p>
<p>I was also rather amused  by the tshirt one of the other geeks was wearing:</p>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-55.jpg"><img class="aligncenter size-full wp-image-170" title="D402-55" src="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-55.jpg" alt="" width="500" height="333" /></a></p>
<p>[Clueless!]  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/09/21/scripting-enabled-day-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scripting Enabled Day 1</title>
		<link>http://cazmockett.com/blog/2008/09/20/scripting-enabled-day1/</link>
		<comments>http://cazmockett.com/blog/2008/09/20/scripting-enabled-day1/#comments</comments>
		<pubDate>Sat, 20 Sep 2008 23:31:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[accessibility]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[inspiration]]></category>
		<category><![CDATA[usability]]></category>
		<category><![CDATA[blindness]]></category>
		<category><![CDATA[dyslexia]]></category>
		<category><![CDATA[learning disabilities]]></category>
		<category><![CDATA[mobility]]></category>
		<category><![CDATA[multiple sclerosis]]></category>
		<category><![CDATA[scriptingenabled]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=163</guid>
		<description><![CDATA[I attended the excellent Scripting Enabled conference and developer day recently held in London. It was extremely enlightening about various aspects of the web and how users with varied access difficulties are affected by the decisions us developers make every day.
There were some excellent panels &#8211; links to the trascripts, slides and audio etc:

 Denise [...]]]></description>
			<content:encoded><![CDATA[<p>I attended the excellent <a href="http://scriptingenabled.org/">Scripting Enabled</a> conference and developer day recently held in London. It was extremely enlightening about various aspects of the web and how users with varied access difficulties are affected by the decisions us developers make every day.</p>
<p>There were some excellent panels &#8211; links to the trascripts, slides and audio etc:</p>
<ul>
<li> <a href="http://scriptingenabled.org/2008/09/denise-stephens-at-scripting-enabled/">Denise Stephens</a> talking about her life with Multiple Sclerosis.</li>
<li><a href="http://scriptingenabled.org/2008/09/antonia-hyde-on-learning-disabilities/">Antonia Hyde</a> from United Response talked about learning disabilities.</li>
<li><a href="http://scriptingenabled.org/2008/09/jonathan-hassell-on-dyslexia/">Jonathan Hassell</a> of t he BBC on Dyslexia</li>
<li><a href="http://scriptingenabled.org/2008/09/kath-moonan-why-i-hate-the-interweb/">Kath Moonan</a> from Abilitynet talked about Why she hates the Interweb.</li>
<li><a href="http://scriptingenabled.org/2008/09/artur-ortega-and-leonie-watson-screenreaders-and-javascript/">Artur Ortega &amp; Leonie Watson</a> shared their expertise on screen readers and JavaScript</li>
<li><a href="http://scriptingenabled.org/2008/10/scripting-enabled-london-audio-files-now-available/">Audio files</a> for most of the session are available now too</li>
</ul>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-07.jpg"><img class="aligncenter size-full wp-image-164" title="D402-07" src="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-07.jpg" alt="" width="500" height="333" /></a></p>
<p>[Kath  hates the interweb!]</p>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-31.jpg"><img class="aligncenter size-full wp-image-165" title="D402-31" src="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-31.jpg" alt="" width="500" height="333" /></a></p>
<p>[Leonie and Artur talk about Screenreaders and JavaScript]</p>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-53.jpg"><img class="aligncenter size-full wp-image-166" title="D402-53" src="http://cazmockett.com/blog/wp-content/uploads/2008/11/20080920_d402-53.jpg" alt="" width="500" height="333" /></a></p>
<p>[The panel takes questions at the end of the day]  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/09/20/scripting-enabled-day1/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@media session 11</title>
		<link>http://cazmockett.com/blog/2008/05/30/media-session-11/</link>
		<comments>http://cazmockett.com/blog/2008/05/30/media-session-11/#comments</comments>
		<pubDate>Fri, 30 May 2008 23:21:50 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[at media]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[internationalisation]]></category>
		<category><![CDATA[i8n]]></category>
		<category><![CDATA[richard ishida]]></category>
		<category><![CDATA[unicode]]></category>
		<category><![CDATA[utf-8]]></category>
		<category><![CDATA[xhtml]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://cazmockett.com/blog/?p=151</guid>
		<description><![CDATA[Global Design &#8211; Characters, Language &#38; More
Richard Ishida
Richard is the W3C&#8217;s Internationalisation Activity Lead.
Character Encoding

There are many options, but Unicode is the best &#8211; it supports many languages in a single character set &#8211; making it easy to architect multilingual solutions, and have a mix of languages on a single page (if required).
Makes storing and [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Global Design &#8211; Characters, Language &amp; More</strong></p>
<p><a href="http://cazmockett.com/blog/wp-content/uploads/2008/07/d372-152.jpg"><img class="alignright size-medium wp-image-152" title="Richard Ishida" src="http://cazmockett.com/blog/wp-content/uploads/2008/07/d372-152-200x300.jpg" alt="" width="200" height="300" /></a><a rel="met" href="http://www.w3.org/People/Ishida/">Richard Ishida</a></p>
<p>Richard is the W3C&#8217;s Internationalisation Activity Lead.</p>
<p><strong>Character Encoding</strong></p>
<ul>
<li>There are many options, but <strong>Unicode</strong> is the best &#8211; it supports many languages in a single character set &#8211; making it easy to architect multilingual solutions, and have a mix of languages on a single page (if required).</li>
<li>Makes storing and retrieving multilingual data in a database much easier</li>
<li>Also provides extra characters such as © ™ etc</li>
<li>Has wide support in browsers, scripts, editors, databases etc.</li>
</ul>
<p>You can declare the encoding in the HTML:</p>
<blockquote><p>&lt;meta http-equiv=&#8221;Content-Type&#8221; content=&#8221;text/html; charset=utf-8&#8243; /&gt;</p></blockquote>
<p>Or if you&#8217;re using XML:</p>
<blockquote><p>&lt;?xml version=&#8221;1.0&#8243; encoding=&#8221;UTF-8&#8243;?&gt;</p></blockquote>
<p>Databases must be told to save data as utf-8 also &#8211; to maximize compatibility. For more details, see:</p>
<p>Richard&#8217;s presentation: <a href="http://www.w3.org/2008/Talks/05-atmedia-ishida/slides.pdf">slides (PDF)</a> | <a href="http://www.htmldog.com/atmedia2008/globaldesign.mp3">audio (mp3)</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/30/media-session-11/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/globaldesign.mp3" length="18993851" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 9</title>
		<link>http://cazmockett.com/blog/2008/05/30/media-session-9/</link>
		<comments>http://cazmockett.com/blog/2008/05/30/media-session-9/#comments</comments>
		<pubDate>Fri, 30 May 2008 11:25:02 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[Dojo]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[john resig]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[libraries]]></category>
		<category><![CDATA[Prototype]]></category>
		<category><![CDATA[YUI]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=147</guid>
		<description><![CDATA[The Why and Which of JavaScript Libraries

John Resig took us through various scenarios when you write JavaScript:

Plug &#38; Play:
Drop in a widget, little or no JavaScript knowledge required, just customise some options and go &#8211; no flexibility
Some assembly required:
Write common utilities, use pre-made code to distance yourself from browser bugs &#8211; flexible, until you hit [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">The Why and Which of JavaScript Libraries</strong><br />
<a href="http://cazmockett.com/blog/wp-content/uploads/2008/07/d372-071.jpg"><img class="alignleft size-medium wp-image-148" title="John Resig" src="http://cazmockett.com/blog/wp-content/uploads/2008/07/d372-071-200x300.jpg" alt="" width="200" height="300" /></a><br />
John Resig took us through various scenarios when you write JavaScript:</p>
<ul>
<li><strong>Plug &amp; Play:</strong><br />
Drop in a widget, little or no JavaScript knowledge required, just customise some options and go &#8211; <em>no flexibility</em></li>
<li><strong>Some assembly required:</strong><br />
Write common utilities, use pre-made code to distance yourself from browser bugs &#8211; <em>flexible, until you hit a browser bug</em></li>
<li><strong>Down and dirty:</strong><br />
Write all code from scratch, deal directly with bugs, quirksmode can save your life &#8211; <em>eccessively flexible &#8211; almost too flexible</em></li>
<li><strong>Use JavaScript library:</strong><br />
Makes JavaScript bearable, gets the job done fast, simplifies cross-browser support &#8211; <em>easily customisable</em></li>
</ul>
<p>John then did a comparison between the various JavaScript libraries, including <a href="http://jquery.com/">jQuery</a>, <a href="http://protoypejs.org/">Prototype</a>, <a href="http://developer.yahoo.com/yui/">YUI</a> and <a href="http://dojotoolkit.org/">Dojo</a>, which are commonly in use. A developer survey showed that jQuery and Prototype were used by around 32% of developers; YUI was 22% and others around 14%.</p>
<p>John&#8217;s full slides give much more detail of each library&#8217;s strengths.</p>
<p>John&#8217;s presentation: <a href="http://www.slideshare.net/jeresig/javascript-libraries-media/">slides (slideshare)</a> | <a href="http://www.htmldog.com/atmedia2008/jslibraries.mp3">audio (mp3)</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/30/media-session-9/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/jslibraries.mp3" length="21906900" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 8</title>
		<link>http://cazmockett.com/blog/2008/05/30/media-session-8/</link>
		<comments>http://cazmockett.com/blog/2008/05/30/media-session-8/#comments</comments>
		<pubDate>Fri, 30 May 2008 10:30:14 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jonathan snook]]></category>
		<category><![CDATA[techniques]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=145</guid>
		<description><![CDATA[Building on the Shoulders of Giants
Jonathan Snook
Culture
We come from a culture where developers tend to like to reinvent the wheel, whereas designers like to reuse. If, as developers, we want to use components of others&#8217; work (under GPL or whatever), this provides us with some distinct advantages. Look how many times the Linux distribution has [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Building on the Shoulders of Giants</strong></p>
<p><a rel="acquaintance met" href="http://www.snook.ca">Jonathan Snook</a></p>
<p><strong>Culture<br />
</strong>We come from a culture where developers tend to like to reinvent the wheel, whereas designers like to reuse. If, as developers, we want to use components of others&#8217; work (under GPL or whatever), this provides us with some distinct advantages. Look how many times the Linux distribution has forked!</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d372-059.jpg"><img class="aligncenter size-full wp-image-146" title="Jonathan Snook" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d372-059.jpg" alt="" width="500" height="333" /></a></p>
<p><strong>Tools<br />
</strong>There are loads of PHP frameworks out there, and also for other languages. We dont&#8217; have to write everything from scratch, but make use of pre-existing libraries and functions.</p>
<p><strong>Flash </strong>- now has built in sockets support. Useful for charts in pages (if you need them)</p>
<p><strong>Types of Data<br />
</strong>Location, Time, Relationships etc</p>
<p><strong>Pitfalls<br />
</strong>Dynamic APIs can foul up your application; service availability; you are middleman &#8211; if something goes down people blame you, not the service provider.</p>
<p><strong>Benefits<br />
</strong>Dealing with well-tested code. Speeds up development. Solve problems outside original solution.</p>
<p><strong>Ideas<br />
</strong>Enables you to get stuff out fast. Iterate fast and often. Eg Overheard RSS feed built really quickly (using library elements from Cake PHP). You can see what works. You can put stuff out in hours, rather than days or weeks.</p>
<p>Jonathan&#8217;s presentation: <a href="http://snook.ca/atmedia08/">slides (blog+links)</a> | <a href="http://www.htmldog.com/atmedia2008/shoulders.mp3">audio (mp3)</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/30/media-session-8/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/shoulders.mp3" length="16293527" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 7</title>
		<link>http://cazmockett.com/blog/2008/05/30/media-session-7/</link>
		<comments>http://cazmockett.com/blog/2008/05/30/media-session-7/#comments</comments>
		<pubDate>Fri, 30 May 2008 09:30:35 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[best practices]]></category>
		<category><![CDATA[html]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[nate koechley]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=142</guid>
		<description><![CDATA[Professional Front-End Engineering
Nate Koechley
Nate began by giving us a bit of historical context to the way Yahoo! has evolved over the years.

He then covered topics such as Yahoo&#8217;s server architecture, graded browser support [see below], progressive enhancement, unobtrusive JavaScript etc.

He suggests we all have an interesting set of decisions to make regarding front-end design:

Do what [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Professional Front-End Engineering</strong></p>
<p><a rel="acquaintance met" href="http://nate.koechley.com/blog/">Nate Koechley</a></p>
<p>Nate began by giving us a bit of historical context to the way <a href="http://www.yahoo.com/">Yahoo!</a> has evolved over the years.</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d372-013.jpg"><img class="aligncenter size-full wp-image-143" title="Nate\'s talk" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d372-013.jpg" alt="" width="500" height="333" /></a></p>
<p>He then covered topics such as Yahoo&#8217;s server architecture, <a href="http://developer.yahoo.com/yui/articles/gbs/index.html#history">graded browser support</a> [see below], progressive enhancement, unobtrusive JavaScript etc.</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/graded_browser_support.gif"><img class="aligncenter size-full wp-image-144" title="graded browser support chart" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/graded_browser_support.gif" alt="" width="500" height="249" /></a></p>
<p>He suggests we all have an interesting set of decisions to make regarding front-end design:</p>
<ol>
<li><strong>Do what is standard</strong><br />
<small>if impossible, then</small></li>
<li><strong>Do what is common</strong><br />
<small>if impossible, then</small></li>
<li><strong>Do what it takes</strong></li>
</ol>
<p>Then we get on to:</p>
<ol>
<li>Do what is <strong>simple</strong><br />
<small>+</small></li>
<li>Do what is <strong>flexible &amp; progressive</strong><br />
<small>+</small></li>
<li>Do what is <strong>open</strong></li>
</ol>
<p>This is in order to satisfy the multiple audiences for any website: Users, Developers, Machines.</p>
<p>At Yahoo!, they focus on 8 specific areas:</p>
<ol>
<li>HTML</li>
<li>CSS</li>
<li>JavaScript</li>
<li>Accessibility</li>
<li>Internationalisation</li>
<li>Performance</li>
<li>Infrastructre &amp; Process</li>
<li>Tooling</li>
</ol>
<p>They use tools such as <a href="http://www.jslint.org/">JSLint</a> to check code for quality, and adopt the idioms it promotes to improve their code. Also, unit testing with <a href="http://developer.yahoo.com/yui/yuitest/">YUI Test</a>.</p>
<p>There&#8217;s much more detail in his slides (see below).</p>
<p>Nate&#8217;s presentation: <a href="http://nate.koechley.com/blog/2008/06/11/slides-professional-frontend-engineering/">slides (blog/slideshare</a>) | <a href="http://www.htmldog.com/atmedia2008/engineering.mp3">audio (mp3)</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/30/media-session-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/engineering.mp3" length="18994589" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 4</title>
		<link>http://cazmockett.com/blog/2008/05/29/media-session-4/</link>
		<comments>http://cazmockett.com/blog/2008/05/29/media-session-4/#comments</comments>
		<pubDate>Thu, 29 May 2008 14:08:59 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[atmedia08]]></category>
		<category><![CDATA[cms]]></category>
		<category><![CDATA[content management systems]]></category>
		<category><![CDATA[Drew McLellan]]></category>
		<category><![CDATA[london web week]]></category>
		<category><![CDATA[lww08]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=134</guid>
		<description><![CDATA[Content Management Without the Killing
Drew McLellan
Intro
Tools should be as simple as possible, but no simpler. Don&#8217;t overcomplicate things! CMS required if you need to repurpose content (eg for RSS) and have a lot of aggregated content. Need to take control over editing process.  You don&#8217;t always need to use a CMS all the time &#8211; [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Content Management Without the Killing</strong></p>
<p><a rel="contact met" href="http://www.edgeofmyseat.com/">Drew McLellan</a></p>
<p><strong>Intro</strong><br />
Tools should be as simple as possible, but no simpler. Don&#8217;t overcomplicate things! CMS required if you need to repurpose content (eg for RSS) and have a lot of aggregated content. Need to take control over editing process.  You don&#8217;t always need to use a CMS<em> all</em> the time &#8211; to all parts of the site. No. Use it for the bits that they need now.</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d371-054.jpg"><img class="aligncenter size-full wp-image-136" title="Drew on CMSs" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d371-054.jpg" alt="" width="500" height="333" /></a></p>
<p><strong>What type of CMS?</strong></p>
<ul>
<li><em>Offline </em>- eg Dreamweaver with Contribute. Can be very good for existing large static sites, which weren&#8217;t already built with a CMS. Won&#8217;t let you publish to schedules, multiple languages etc.</li>
<li><em>Online </em>- web app which runs site. Content edited with web-based forms, content stored in databases. Custom-built to off-the-shelf.</li>
<li><em>Off the shelf </em>- will generally let you build anything. Methods to manage pages; custom functionality can be added with plugins. eg Blog sites. But anything out of the ordinary &#8211; often falls over.</li>
<li><em>Bespoke</em> &#8211; custom-built, designed specifically for running your site.</li>
</ul>
<p>Everyone hates their CMS! And CMSs aren&#8217;t forever!</p>
<p><strong>Common Features</strong></p>
<ul>
<li><strong>/shiny/happy/urls</strong><br />
Use readable, reliable and hackable URLs<br />
<em>Readable</em> &#8211; users should have a good idea of what a page is about from looking at the URLs. Search engines will index things better.<br />
<em>Reliable</em> &#8211; should be a URL forever (or as long as possible).<br />
<em>Hackable</em> &#8211; users can intuitively change a URL to get to other content.</li>
<li><strong>Data feeds</strong><br />
Can your CMS let you publish RSS etc.</li>
<li><strong>Data stored in an open format</strong><br />
CMS isn&#8217;t forever &#8211; but if you want to change it, can you get the content out if you need to &#8211; to port it to another system. Also the need to get the data in in the first place.</li>
<li><strong>Customisable and accessible admin interface</strong><br />
Works without Javascript; can be branded</li>
<li><strong>Search</strong><br />
Difficult to get right &#8211; does search return sensible things &#8211; are they relevent to the user</li>
<li><strong>Multi-site support</strong><br />
Can it administer more than one site? Perhaps reuse some content on another site.</li>
<li><strong>Multi-language support</strong><br />
Think about it now even if it might not seem like you need it right away. Should be OK if you&#8217;re using unicode.</li>
<li><strong>Caching</strong><br />
Does it cache the results or generate it each time? Performance issues might bite you on the ass later.</li>
<li><strong>Web 2.0 features</strong><br />
Are your users going to want to tag content? Use of microformats</li>
<li><strong>Bi-Directional Content</strong><br />
Trouble really starts when users can update the system too &#8211; need user accounts, possibly moderation, business rules for deletion of data. Can of worms! Also think about future features &#8211; eg for user forum later on.</li>
</ul>
<p><strong>Off The Shelf</strong><br />
<a href="http://www.cmsmatrix.org/">cmsmatrix.org</a> has data on 915 CMSs!<br />
Start at the bottom &#8211; WordPress, Moveable Type, TextPattern, Chip etc.<br />
Beware the pimped out blog software &#8211; don&#8217;t launch a new site with a weblog cms already creaking.<br />
If you are going to customise things &#8211; avoid getting into an <em>unsupportable configuratio</em>n at all costs.</p>
<p><strong>Medium scale </strong><br />
see photos &#8211; beware, don&#8217;t be tempted to overdo things &#8211; do you really need all these features?</p>
<p><strong>Enterprise Level</strong><br />
Documentum, LiveLink, Joomla etc<br />
<strong><br />
Build your own!</strong> [<a href="http://www.mockettmedia.co.uk/services.php">I have!</a>]<br />
Libraries, Django, rails, cake, symphony.<br />
Goal &#8211; reuse core functions as much as possible.</p>
<p><strong>Planning for the future</strong><br />
Know your plugins, be aware of licensing issues, plan for future but don&#8217;t buy now. know your limits, know your design constraints, speak with existing customers, don&#8217;t get charged per users, know your exit route!</p>
<p>Drew&#8217;s presentation: <a href="http://www.slideshare.net/drewm/content-management-without-the-killing/">slides (slideshare)</a> | <a href="http://www.htmldog.com/atmedia2008/contentmanagement.mp3">audio (mp3)</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/29/media-session-4/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/contentmanagement.mp3" length="20653273" type="audio/mpeg" />
		</item>
		<item>
		<title>@media Session 3</title>
		<link>http://cazmockett.com/blog/2008/05/29/media-session-3/</link>
		<comments>http://cazmockett.com/blog/2008/05/29/media-session-3/#comments</comments>
		<pubDate>Thu, 29 May 2008 11:50:49 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[technology]]></category>
		<category><![CDATA[atmedia08]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[james graham]]></category>
		<category><![CDATA[lachlan hunt]]></category>
		<category><![CDATA[london web week]]></category>
		<category><![CDATA[lww08]]></category>
		<category><![CDATA[whatwg]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=132</guid>
		<description><![CDATA[Getting Your Hands Dirty With HTML5
James Graham / Lachlan Hunt
What can you do with it now, what in the future?
Intro
Next iteration of HTML spec. Long overdue for overhaul. What are we trying to achieve? Do things you can&#8217;t do now without JS, for instance. Working on HTML and XHTML together. Authors can choose which is [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">Getting Your Hands Dirty With HTML5</strong></p>
<p><a href="http://www.vivabit.com/atmedia2008/london/speakers/#jamesg">James Graham</a> / <a href="http://www.vivabit.com/atmedia2008/london/speakers/#lachlan">Lachlan Hunt</a></p>
<p>What can you do with it now, what in the future?</p>
<p><strong>Intro</strong><br />
Next iteration of HTML spec. Long overdue for overhaul. What are we trying to achieve? Do things you can&#8217;t do now without JS, for instance. Working on HTML and XHTML together. Authors can choose which is most appropriate for them.</p>
<p><strong>Design Principles</strong></p>
<ul>
<li><strong>Compatability</strong> &#8211; Browsers must remain compatible with existing content, old sites MUST still work.</li>
<li><strong>Degrade gracefully</strong> &#8211; make new features work in, or at least not break, new browsers.</li>
<li><strong>Don&#8217;t reinvent the wheel </strong>- fix what we already have, don&#8217;t reinvent it from scratch.</li>
<li><strong>Pave the cowpath</strong> &#8211; consider Use Cases &#8211; look what authors already do and improve where neccessary.c.f. Microformat Date/Time pattern.</li>
<li><strong>Evolution, not revolution </strong>- make incremental improvements. Can&#8217;t discard existing content and start fresh.</li>
<li><strong>Solve real problems</strong> &#8211; ensure work is relevent to web developers. Identify the problems first, then find solutions.</li>
<li><strong>Priority of Constituencies </strong>- have to prioritise the needs of:<br />
Users, authors, implementers, spec writers, theoretical purity</li>
<li><strong>Secure by design</strong> &#8211; protect end users from malicious intent</li>
<li><strong>Separation of Concerns</strong> &#8211; Separate presentation, structure, semantics where doing so provides real benefits. &lt;b&gt; and &lt;i&gt; are still in the spec.</li>
<li><strong>DOM Consistency</strong> &#8211; minimize differences between HTML and XHTML, allow scripts to work now.</li>
<li><strong>Avoid needless complexity</strong> &#8211; authors won&#8217;t use something complex if they don&#8217;t understand it</li>
<li>Well-defined Behaviour &#8211; 97% of web has syntax errors! Define precisely what browers must do with all possibly bad input.</li>
<li><strong>Handle Errors</strong> &#8211; authors make mistakes all the time, the spec must define how browsers handle the errors.</li>
<li><strong>Media independence</strong> &#8211; make sure pages work on different media, devices and platforms.</li>
<li><strong>Support World Languages</strong> &#8211; support pages in any language, bi-directional text etc</li>
<li><strong>Accessibility </strong>- provide for the needs of users with disabilities. Built-in preferred over add-on accessibility, where possible.</li>
</ul>
<p><strong>When can we start using HTML5?</strong><br />
As soon as the browsers start implementing the features. FF3, IE8 support some of the spec.</p>
<p><strong>What can I do with it?</strong><br />
Common elements of a blog &#8211; header, main nav, article, sidebar, footer. So we get:</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d371-044.jpg"><img class="aligncenter size-full wp-image-133" title="Cat Lovr" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d371-044.jpg" alt="" width="500" height="334" /></a><br />
<strong>&lt;header&gt; </strong>element &#8211; for site-wide header, not H1. Title/subtitle etc.<br />
<strong>&lt;nav&gt;</strong> element &#8211; screenreaders could jump straight to it easily<br />
<strong>&lt;article&gt;</strong> element &#8211; for the main body<br />
<strong>&lt;aside&gt;</strong> element &#8211; for sidebar etc, pullquotes.<br />
<strong>&lt;footer&gt;</strong> element &#8211; for copyright info</p>
<p>These can add more consistency than using <strong>&lt;div&gt;</strong>s and variable class names.</p>
<p><strong>&lt;section&gt;</strong> elements can be nested &#8211; each of which has H1 &#8211; without worrying about correct nesting of H1, H2 elements.</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d371-047.jpg"><img class="aligncenter size-full wp-image-135" title="Whack a LOL" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/d371-047.jpg" alt="" width="500" height="334" /></a></p>
<p><strong>&lt;time&gt;</strong> &#8211; for posted date of blog item. Attribute has machine-readable timestamp, tag wraps human-readable content.<br />
<strong>&lt;figure&gt;</strong> &#8211; represents image(or table etc)+caption, &lt;legend&gt; nested inside to associate it together. <strong><br />
&lt;caption&gt;</strong> not used for reasons of backwards compatibility.<br />
<strong>&lt;meter&gt;</strong> &#8211; attributes shows rating of content &#8211; the bar is drawn by the browser not meant as a graphic. Eg, content of element is 3/5, the bar is drawn by the user agent. Also progress bars <strong><br />
&lt;progress&gt;</strong> for dynamic (ajax) apps.<br />
<strong>&lt;video&gt;</strong> &#8211; native video support in browsers, DOM APIs for providing custom interfaces, no more dependance on Flash. Browser provides the controls etc. Casual authors can quickly cope with video files.<br />
<strong>&lt;canvas&gt;</strong> &#8211; dynamically draw graphics and text, graphics-oriented DOM APIs.</p>
<p><strong>Offline Web Apps</strong> &#8211; offline caching APIs, local storage, SQL database.<br />
<strong>Developer Tools</strong> &#8211; HTML5 conformance checker &#8211; exceeds the capabilities of traditional DTD bases validators. Gives more useful info.<br />
<strong>Parsing HTML5</strong> &#8211; libraries for python, ruby. off-the-shelf parser reduces reliance on RegExpr hacks.<br />
<strong>The Community</strong> &#8211; diverse group of individuals and organisations. W3C, WHATWG trying to work together. Open to everyone.<br />
<strong>How to Contribute</strong> &#8211; general feedback, develop tools, research, community participation.</p>
<ul>
<li><a href="http://blog.whatwg.org">blog.whatwg.org</a></li>
<li><a href="http://forums.whatwg.org/">forums.whatwg.org</a></li>
<li><a href="http://wiki.whatwg.org/">wiki.whatwg.org</a></li>
<li><a href="http://www.whatwg.org/mailing-list">Mailing list and IRC.</a></li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/29/media-session-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>@media Session 2</title>
		<link>http://cazmockett.com/blog/2008/05/29/media-session-2/</link>
		<comments>http://cazmockett.com/blog/2008/05/29/media-session-2/#comments</comments>
		<pubDate>Thu, 29 May 2008 10:30:54 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[at media]]></category>
		<category><![CDATA[conferences]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[atmedia08]]></category>
		<category><![CDATA[bbc]]></category>
		<category><![CDATA[clear left]]></category>
		<category><![CDATA[london web week]]></category>
		<category><![CDATA[lww08]]></category>

		<guid isPermaLink="false">http://www.cazmockett.com/blog/?p=129</guid>
		<description><![CDATA[For Example: BBC Home Page
Tom Cartwright/Claire Roberts
Tom and Claire took us through the processes involved in rewriting the BBC Home Page.

Old page was boring, tables based. New has been redone with web standards. Still looked the same, not a good plan. 9 months later, redesigned totally.
There are certain technological/infrastructure constraints which had to be worked [...]]]></description>
			<content:encoded><![CDATA[<p><strong class="heading">For Example: BBC Home Page</strong></p>
<p><a href="http://www.vivabit.com/atmedia2008/london/speakers/#tom">Tom Cartwright</a>/<a href="http://www.vivabit.com/atmedia2008/london/speakers/#claire">Claire Roberts</a></p>
<p>Tom and Claire took us through the processes involved in rewriting the <a href="http://www.bbc.co.uk/">BBC Home Page</a>.</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/bbccouk.jpg"><img class="aligncenter size-full wp-image-130" title="bbc.co.uk new home page" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/bbccouk.jpg" alt="" width="500" height="372" /></a></p>
<p>Old page was boring, tables based. New has been redone with web standards. Still looked the same, not a good plan. 9 months later, redesigned totally.</p>
<p>There are certain technological/infrastructure constraints which had to be worked around:</p>
<ul>
<li>Apache with Mod includes.</li>
<li>No loops, no xml processing.</li>
<li>Look like a page not an app.</li>
<li>Optimisation the key.</li>
</ul>
<p>more requests = bad</p>
<ul>
<li>Images &#8211; CSS sprites &#8211; 60 image requests (old page) -&gt; 3 only now with sprites &#8211; GIFs because of cross-browser support.</li>
<li>Default page is 300Kb with 30 requests</li>
</ul>
<p>Drag and drop isn&#8217;t the core point. 5% of users have no JS. So they don&#8217;t get identical features).</p>
<p>The other 95%. Keyboard browsers, screen readers. Function of links can change.</p>
<p><strong>.blur()</strong> is not friends with JAWS. Sends users back to top of page. Taking care for some users, builds a better experience for all (web standards).</p>
<p><strong>Upcoming Stuff</strong></p>
<ul>
<li>bbc.co.uk/glow &#8211; bit iffy with browser support with other JS libraries &#8211; so they wrote their own. Will go open source, hopefully.</li>
<li>New platform coming up &#8211; PHP running Zend framework (instead of nasty CGI and PERL nonsense).</li>
<li>Identity &#8211; implicit and explicit personalisation on bbc-wide site.</li>
<li>About 60% of users have customised the page some way or another.</li>
<li>Scrum development, 2 sofrware engineers, 3 client-side devs took 3 months.</li>
<li>Now joined OpenID federation &#8211; it will come.</li>
<li>Fixed width still &#8211; wide variety of sites, easier to try and achieve a consistent look across all sites by using the fixed width.</li>
</ul>
<p>Tom/Claire&#8217;s presentation: <a href="http://www.htmldog.com/atmedia2008/bbc.mp3">audio (mp3)</a></p>
<p><strong class="heading">For Example: Edenbee</strong></p>
<p><a href="http://www.vivabit.com/atmedia2008/london/speakers/#jamesb">James Box (Clear Left)</a></p>
<p>James&#8217; presentation was about the design processes involved with developing <a href="http://www.edenbee.com/">Edenbee</a>.</p>
<p><a href="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/edenbee.jpg"><img class="aligncenter size-full wp-image-131" title="edenbee screenshot" src="http://www.cazmockett.com/blog/wp-content/uploads/2008/06/edenbee.jpg" alt="" width="500" height="362" /></a></p>
<p><a href="http://www.clearleft.com/">Clear Left</a> are a User Xperience Design Conustlancy. <strong>Edenbee</strong> Tracks green stuff and shows you your carbon footprint over time. Each user has a Goals page. eg fit enery-saving lightbulbs. Built by a small team &#8211; up to 4 people. 2 clients, New Bamboo did rails backend. Clearleft doesn&#8217;t do &#8220;deliverables&#8221; &#8211; they don&#8217;t get shown to the clients.</p>
<p><strong>Process</strong></p>
<ul>
<li>Start with a &#8220;discovery phase&#8221; &#8211; get round a table to discuss. Paper-based to begin with. White boards. Carbon calculators. Make it social. Wanted it to be the place for your green profile &#8211; c.f. flickr, del.icio.us etc.</li>
<li>amee.cc calculates the actual carbon emissions from meter readings, flights etc.</li>
<li>Don&#8217;t let features overwhelm the main point of the site. Design features when the community needs them &#8211; not up front.</li>
<li>No API at present, want one to be able to feed back into other areas of the web.</li>
<li>Hive is the main group &#8211; aggregated content.</li>
</ul>
<p>James&#8217; presentation: <a href="http://jeckecko.net/slides/designingedenbee.pdf">slides (pdf)</a> | <a href="http://www.htmldog.com/atmedia2008/clearleft.mp3">audio (mp3)</a>  </p>
]]></content:encoded>
			<wfw:commentRss>http://cazmockett.com/blog/2008/05/29/media-session-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://www.htmldog.com/atmedia2008/bbc.mp3" length="8626617" type="audio/mpeg" />
<enclosure url="http://www.htmldog.com/atmedia2008/clearleft.mp3" length="7430382" type="audio/mpeg" />
		</item>
	</channel>
</rss>
