<?xml version="1.0"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
	<channel>
		<title>Woolly Mittens</title>
		<link>http://www.woollymittens.nl/</link>
		<description>
			This is my personal website, containing all publications that are not directly related to either ClassBehaviours.com or LolitaLapine.nl.
		</description>
		<language>en-us</language>
		<copyright>Copyright 2010  Maurice van Creij.</copyright>
		<pubDate>Mon, 19 Jul 2010 12:02:00 +1000</pubDate>
		<image>
			<url>http://www.woollymittens.nl/images/channelImage.gif</url>
			<title>Woolly Mittens</title>
			<link>http://www.woollymittens.nl/#channelItem</link>
		</image>
		<item>
			<title>Home</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?id=introduction#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/WoollyMittens.png"/&gt;
				&lt;p&gt;
				 	This is personal website, containing all my personal publications that are not directly related to &lt;a href="http://www.classbehaviours.com/"&gt;www.classbehaviours.com&lt;/a&gt;.
				&lt;/p&gt;
				~
				<![CDATA[
					<p>
						The contents and design of this page will deviate further away from the ClassBehaviour's project site over time.
					</p>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Meta</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>Contact</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?id=news-category&amp;cat=meta#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/WoollyMittens.png"/&gt;
				&lt;p&gt;
					Look here for updates and comments, by the author and users of the site.
				&lt;/p&gt;
				~
				<![CDATA[
					<ul class="clear" id="banners">
						<li class="bordered">
							<a href="http://code.google.com/p/classbehaviours/"><img alt="Google Code" src="http://www.woollymittens.nl/images/banners/GoogleCode.png"/></a></li>
						<li class="bordered">
							<a href="http://sourceforge.net/projects/classbehaviours"><img src="http://www.woollymittens.nl/images/banners/sflogo.png" width="120" height="30" alt="Get classBehaviours at SourceForge.net. Fast, secure and Free Open Source software downloads" /></a></li>
						<li>
							<a href="http://www.gnu.org/licenses/gpl.html"><img alt="GNU General Public License" src="http://www.woollymittens.nl/images/banners/gplv3-88x31.png"/></a>
						</li>
						<li class="bordered">
							<a href="http://www.linkedin.com/profile?viewProfile=&key=7577033"><img alt="Linkedin profile" src="http://www.woollymittens.nl/images/banners/linkedIn.png"/></a>
						</li>
						<li class="bordered">
							<a href="http://www.facebook.com/profile.php?id=1628686855"><img alt="Facebook" src="http://www.woollymittens.nl/images/banners/facebook.png"/></a>
						</li>
						<li class="bordered">
							<a href="http://twitter.com/WoollyMittens"><img alt="Twitter updates" src="http://www.woollymittens.nl/images/banners/twitter.png"/></a>
						</li>
						<li class="bordered">
							<a href="http://jquery.com"><img alt="jQuery" src="http://www.woollymittens.nl/images/banners/jquery2.png"/></a>
						</li>
						<li class="bordered">
							<a class="showSourceCode" href="http://www.woollymittens.nl/xml/rssSearch.xml"><img alt="RSS Feed" src="http://www.woollymittens.nl/images/banners/rss_feed.png"/></a>
						</li>
					</ul>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Meta</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>Personal Information</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=resume&amp;id=resume-category#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/WoollyMittens.png"/&gt;
				&lt;p&gt;
					Personal Information
				&lt;/p&gt;
				~
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Category</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>Noteworthy Projects</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=noteworthy&amp;id=noteworthy-projects#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/portfolio_noteworthy.png"/&gt;
				&lt;p&gt;
					A list of projects with notable and unusual implementations of web-design.
				&lt;/p&gt;
				~
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Category</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>HTML 5 Projects</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html5&amp;id=html5-projects#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/portfolio_HTML5.png"/&gt;
				&lt;p&gt;
					A list of projects with a focus on HTML 5, AJAX and jQuery for a dynamic interface.
				&lt;/p&gt;
				~
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Category</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>XHTML Projects</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=xhtml-projects#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/portfolio_XHTML.png"/&gt;
				&lt;p&gt;
					A list of projects with a focus on strict adherance to web-standards and accessibility.
				&lt;/p&gt;
				~
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Category</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>Published Elsewhere</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=articles&amp;id=tinkering-category#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/WoollyMittens.png"/&gt;
				&lt;p&gt;
					Copies of articles published on other websites and forums.
				&lt;/p&gt;
				~
				<![CDATA[
					<p>
						Copies of articles published on other websites and forums.
					</p>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Category</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>R&amp;eacute;sum&amp;eacute;</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?id=resume-in-english#channelItem</link>
			<description>

				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons/resume.png"/&gt;
				&lt;p&gt;
					An experienced front-end developer, with over a decade of experience in the development of dynamic, yet accessible, applications using HTML, CSS, Javascript, PHP and ASP.NET.
				&lt;/p&gt;

				~

				<![CDATA[

					<h2>Personal Details</h2>
					<table>
						<tbody>
							<tr>
								<th>Name:</th>
								<td>Maurice van Creij</td>
							</tr>
							<tr>
								<th>Location:</th>
								<td>
									<address>
										Sydney, Australia
									</address>
								</td>
							</tr>
							<tr>
								<th>Phone number:</th>
								<td>04 1663 7566</td>
							</tr>
							<tr>
								<th>E-mail address:</th>
								<td><a href="mailto:maurice@woollymittens.nl">maurice@woollymittens.nl</a></td>
							</tr>
							<tr>
								<th>Date of Birth:</th>
								<td>27th September 1975</td>
							</tr>
							<tr>
								<th>Gender:</th>
								<td>Male</td>
							</tr>
							<!--
							<tr>
								<th>Nationality:</th>
								<td>Dutch, Permanent resident of Australia</td>
							</tr>
							<tr>
								<th>Work status:</th>
								<td>Authorised to work in Australia, Skilled independent visa. Permanent Residency.</td>
							</tr>
							-->
						</tbody>
					</table>
					<p>
						Has expertise ranging from<br/>
						&nbsp;&nbsp;&nbsp;managing the client's expectations,<br/>
						&nbsp;&nbsp;&nbsp;advising the art director on technical feasibility,<br/>
						&nbsp;&nbsp;&nbsp;and interpreting the work of the designer to expand on,<br/>
						to<br/>
						&nbsp;&nbsp;&nbsp;creating a tailored web user interface that embraces the possibilites,<br/>
						&nbsp;&nbsp;&nbsp;and fits the limitations of the chosen CMS platform to suit the database application developers.<br/>
					</p>
					<p>
						Has a style of work that is independent and exactingly strict to open standards,
						but best suited to working with a close-knit team and involved at all stages of a project.
					</p>
					<hr/>

					<h2>Expertise</h2>
					<ul class="tagCloud">
						<li class="size_2">Accessibility</li>
						<li class="size_1">HTML5</li>
						<li class="size_2">CSS3</li>
						<li class="size_2">XHTML</li>
						<li class="size_1">AJAX</li>
						<li class="size_2">Object-oriented</li>
						<li class="size_1">Javascript</li>
						<li class="size_3">JSON</li>
						<li class="size_1">CSS2</li>
						<li class="size_1">DHTML</li>
						<li class="size_1">jQuery</li>
						<li class="size_2">DOM-scripting</li>
						<li class="size_2">PHP</li>
						<li class="size_3">C#</li>
						<li class="size_2">Graceful degradation</li>
						<li class="size_1">Progressive enhancement</li>
						<li class="size_3">Microformats</li>
						<li class="size_1">Cross-browser compatibility</li>
						<li class="size_1">Open source</li>
						<li class="size_2">Search-engine optimization</li>
						<li class="size_3">Virtualization</li>
						<li class="size_2">Web-services</li>
						<li class="size_1">Apple Mac OS X</li>
						<li class="size_2">Microsoft Windows</li>
						<li class="size_3">iPhone</li>
						<li class="size_2">Ubuntu Linux</li>
					</ul>
					<hr/>

					<h2>Skills</h2>
					<table>
						<tr>
							<th>Languages:</th>
							<td>HTML, CSS, JavaScript, ActionScript, PHP, C#, VB Script</td>
						</tr>
						<tr>
							<th>Management:</th>
							<td>Estimates, Technical evaluations, Development processes, Mentorship of junior developers</td>
						</tr>
						<tr>
							<th>Software:</th>
							<td>Adobe Photoshop, Adobe Flash and Flex Builder, Apple Xcode, Microsoft Visual Studio, Newtek Lightwave 3D, Nimblekit iPod / iPad SDK, Subversion, VirtualBox, VM Ware</td>
						</tr>
					</table>
					<hr/>

					<h2>Portfolio</h2>
					<p>
						A portfolio of commercial web development projects can be found at
						<a href="http://www.woollymittens.nl/default_adkiuck.php">www.woollymittens.nl</a>.
						The password to which is "adkiuck".
					</p>
					<hr/>

					<h2 class="break">Employment History</h2>
					<p></p>
					<dl>
						<dt>
							<strong>Supershift, Delft, The Netherlands</strong><br/>
							<em>January 2007 - Present, Full time.</em>
						</dt>
						<dd>
							<p>
								Supershift is a web-development company that prides itself in its ability to offer a full-service for the planning, design,
								development and hosting of Internet applications.
							</p>
							<h3>Position: Lead Front-end Developer.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>Working with art directors and interaction designers to determine the feasibility of complex and attractive user interface design elements.</li>
								<li>Accommodating the requirements of the database application developers to tailor a web user interface specific to their needs.</li>
								<li>Developing the client-side functionality of asynchronous JavaScript and XML (AJAX) applications.</li>
								<li>Providing reference server functionality using both Visual C# .NET and PHP: Hypertext Pre-processor.</li>
								<li>Constructing the rich user-interface of the in-house intranet, CRM and CMS software "WIM".</li>
								<li>Building websites with a high level of search engine optimisation (SEO).</li>
								<li>Implementing DHTML techniques without negatively affecting a site's accessibility.</li>
								<li>Responsibility for the in-house C#/PHP/DHTML development frame-work.</li>
								<li>Publication of the open-source version of the in-house C#/PHP/DHTML development platform.</li>
								<li>In charge of implementing new programming techniques and development methods.</li>
								<li>Mentoring the development process of the junior developers.</li>
							</ul>
						</dd>
						<dt>
							<strong>Tam Tam, Delft, The Netherlands.</strong><br/>
							<em>November 1998 - November 2006, Full time.</em>
						</dt>
						<dd>
							<p>
								Tam Tam is among the top full‐service internet companies in The Netherlands. It provides e‐business and
								e‐communication solutions for internet, intranet and mobile use. Tam Tam's experience ranges across the
								fields of user interface design, application development, project management, hosting and maintenance services.
								As a Microsoft Gold Certified Partner, Tam Tam always works with the latest Microsoft technology.
							</p>
							<h3>Position: Web-developer.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>Analysing functional-designs and advising the project team on required features and their impact on development.</li>
								<li>Checking graphical designs for features that may pose accessibility and conversion problems.</li>
								<li>Providing estimates of development time for project managers.</li>
								<li>Realizing web-development templates in (X)HTML to the standards for interoperability and accessibility set by the World Wide Web Consortium (W3C).</li>
								<li>Conversion of graphical designs to functional templates using Cascading Stylesheets and JavaScript.</li>
								<li>Testing stability of the web-development templates across browsers and operating systems.</li>
								<li>Managing the quality of the implemented web-development templates by database application developers.</li>
								<li>Issuing reports of the evaluation of finished websites according to the Web Content Accessibility Guidelines (WCAG).</li>
								<li>Providing maintenance work on the VBScript and C# source-code of existing websites.</li>
							</ul>
						</dd>
					</dl>
					<dl class="break">
						<dt>
							<strong>Woolly Mittens, Delft, The Netherlands.</strong><br/>
							<em>March 2005 - Present, Freelance.</em>
						</dt>
						<dd>
							<p>
								Woolly Mittens is a company under sole proprietorship that facilitates the outsourced construction of
								user-interfaces for internet applications. Stand-alone webpage templates are constructed, from graphical designs,
								for easy implementation into content management systems.
							</p>
							<h3>Position: Self-employed Freelance Web-developer.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>In charge of implementing programming techniques and development methods.</li>
								<li>Providing comprehensive time estimates for client projects.</li>
								<li>Managing a small business administration.</li>
								<li>Realizing web page templates to customer specifications.</li>
								<li>Scripting the interactive parts of user-interfaces.</li>
								<li>Providing support on the user-interface of client's projects.</li>
								<li>Maintaining a generic C#/PHP/JavaScript framework for rapid development.</li>
							</ul>
							<h3>Services employed by:</h3>
							<ul>
								<li>Suburban Media, Delft</li>
								<li>Hedgeapple, Amsterdam</li>
								<li>PUURPXL, Utrecht</li>
								<li>105, Rotterdam</li>
								<li>Ciezo, H.I Ambacht</li>
							</ul>
						</dd>
					</dl>
					<p>
						<a href="http://www.woollymittens.nl/default_adkiuck.php?id=resume-in-english" class="toggleNextNode id_moreHistory">More employment history</a> is available.
					</p>
					<dl class="hideThisNode" id="moreHistory">
						<dt>
							<strong>Centric Managed ICT Services, Rotterdam, The Netherlands.</strong><br/>
							<em>September 1997 - October 1998</em>
						</dt>
						<dd>
							<p>
								Centric's Managed ICT Services offers a variety of services for the continued availability and support of office automation.
								Centric manages the complete ICT-support and helpdesk services, both off-site and on location.
							</p>
							<h3>Position: First and Second-line Technical Support Technician.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>Installation and maintenance of software, hardware and network infrastructure for an office environment's workstations, servers and AS400 mainframe terminals.</li>
							</ul>
							<strong>Services employed by:</strong>
							<ul>
								<li>ING Investment Management, The Hague, The Netherlands.</li>
								<li>Dun &amp; Bradstreet, Rotterdam, The Netherlands.</li>
							</ul>
						</dd>
						<dt>
							<strong>Illusions Multimedia, Rotterdam, The Netherlands.</strong><br/>
							<em>September 1996 - September 1997, Full time.</em>
						</dt>
						<dd>
							<p>
								Illusions Multimedia was a multimedia software development studio that specialised in multimedia
								applications to formulate hair colouring products for use in hairdressing salons.
							</p>
							<h3>Position: Multimedia Developer.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>Designing and developing multimedia presentations on CDi / CD-ROM and internet sites.</li>
							</ul>
						</dd>
						<dt>
							<strong>Delft University of Technology, Faculty of Chemistry and Material Science, Delft, The Netherlands.</strong><br/>
							<em>September 1995 - June 1996, Full time.</em>
						</dt>
						<dd>
							<p>
								Building upon its proven strength in Chemical Engineering, the Department of Organic Chemistry and Catalysis
								develops the science and technology of functional nanostructured systems,
								from molecules up to the design of products and processes.
							</p>
							<h3>Position: Trainee.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>Individual research in the possibilities for the synthesis of organic hydroperoxides and reaction speeds of metal catalyzed oxidation reactions. Supervised by Drs. H. E. B. Lempers. Department supervision by Prof. R. A. Sheldon.</li>
							</ul>
							<h3>Published as:</h3>
							<p>
								H. E. B. Lempers, M. J. van Crey, "Molybdenum Catalyzed Epoxidations of oct-1-ene and cyclohexene with organic hydroperoxides: steric effects of the alkyl substituents of the hydroperoxide on the reaction rate.", Recl. Trav. Chim. Pays-Bas. 115, 542-546 (1996).
							</p>
						</dd>
						<dt>
							<strong>Delfland District Water Control Board, Hoek van Holland, The Netherlands.</strong><br/>
							<em>August 1994, Full time.</em>
						</dt>
						<dd>
							<p>
								Delfland ensures an optimum quality of the surface water in its management region. This key task entails the purification
								of wastewater and the limiting of discharges into surface water wherever possible.
							</p>
							<h3>Position: Laboratory analyst.</h3>
							<h3>Responsibilities:</h3>
							<ul>
								<li>Providing chemical analysis of the input and output quality at the "Nieuwe Waterweg" sewage treatment plant in Hoek van Holland. UV-VIS Spectrophotometric analysis, Electrochemical PH measurements.</li>
							</ul>
						</dd>
					</dl>
					<hr/>

					<h2 class="break">Education</h2>
					<p></p>
					<dl>
						<dt>
							<strong>Rotterdam University of Applied Science, Delft, The Netherlands.</strong><br/>
							<em>1992 - 1996, 4 years, Full time.</em>
						</dt>
						<dd>
							<p>
								Higher Laboratory Education - "Hoger Laboratorium Onderwijs" (HLO)<br/>
								Degree: Bachelor of Applied Science (BASc) in Organic Chemistry.
							</p>
						</dd>
						<dt>
							<strong>Westland zuid, Vlaardingen, The Netherlands.</strong><br/>
							<em>1987 - 1992, 5 years, Full time.</em>
						</dt>
						<dd>
							<p>
								Higher General Continued Education - "Hoger Algemeen Voortgezet Onderwijs" (HAVO)<br/>
								Secondary education diploma for the subjects: Dutch, English, Math, Physics, Chemistry, Economics and Law.
							</p>
						</dd>
					</dl>
					<hr/>

					<h2>Courses &amp; Trainings</h2>
					<p></p>
					<h3>Australian Computer Society (ACS).</h3>
					<p>
						Assessed to be suitable for migration under 2231-79 (C# Specialist) of the ASCO code.
					</p>
					<h3>International English Language Testing System (IELTS).</h3>
					<p>
						Overall band score of 8.0 on the "general training" test.
					</p>
					<h3>Dutch Institute for In-company Emergency Services (NIBHV).</h3>
					<p>
						Diploma for Basic First Aid and Fire-Fighting/Evacuation Training.
					</p>
					<h3>Bartim&eacute;us institute for accessibility, Zeist, The Netherlands.</h3>
					<p>
						Certificate of participation in the web-accessibility course.
					</p>
					<hr/>

					<h2>References</h2>
					<p>
						Letters of reference are available upon request from the following employers:
					</p>
					<p>
						<address>
							Bart Manuel, CEO<br/>
							Tam Tam Rijswijk<br/>
							Patrijsweg 80<br/>
							2289 EX Rijswijk<br/>
							The Netherlands<br/>
						</address>
					</p>
					<p>
						<address>
							Marc Molenwijk, Technical Director<br/>
							Supershift<br/>
							Oude Delft 38<br/>
							2611 CD Delft<br/>
							The Netherlands<br/>
							+31 (0)15 21 21 602<br/>
						</address>
					</p>
					<hr/>

					<h2>Professional Memberships</h2>
					<p>
						With permission of all involved employers the ClassBehaviours C#/PHP/JavaScript framework remains in the author's control and is published under the GNU General Public License at:
					</p>
					<ul>
						<li>Google Code (<a href="http://code.google.com/p/classbehaviours/">http://code.google.com/p/classbehaviours/</a>)</li>
						<li>Sourceforge (<a href="http://sourceforge.net/projects/classbehaviours/">http://sourceforge.net/projects/classbehaviours/</a>)</li>
					</ul>
					<hr/>

					<h2 class="break">Projects</h2>
					<p>
						More descriptions of <a href="http://www.woollymittens.nl/default_adkiuck.php?id=resume-in-english" class="toggleNextNode id_moreProjects">project roles</a> are available.
					</p>
					<div class="hideThisNode" id="moreProjects">
						<dl>
							<dt>
								<strong>Commodore Gaming</strong><br/>
								<em>June 2008 - September 2008</em>
							</dt>
							<dd>
								<p>
									Commodore Gaming uses the "Commodore" trademark to build and sell high-end computers designed for gaming. The computer cases are designed to accommodate a wide range of decorative elements.
								</p>
								<p>
									The online shop of the Commodore Gaming website required a visually impressive application to let customers customise their purchases.
								</p>
								<h3>Role: Lead Front-end Developer.</h3>
								<h3>Responsibilities:</h3>
								<ul>
									<li>Researching the feasibility of a 3D interactive product demonstration.</li>
									<li>Developing a method for a visual product demonstration in JAVA and Adobe Flash.</li>
									<li>Designing the user-interface and art assets for a three-dimensional browser plug-in.</li>
									<li>Integrating a third party 3D plug-in into a Visual C# .NET web-application.</li>
								</ul>
								<h3>Technology:</h3>
								<ul>
									<li>An XML web-service realised in Visual C# .NET.</li>
									<li>An interactive product demo in JAVA and ActionScript using Blaze 3D.</li>
								</ul>
							</dd>
							<dt>
								<strong>VdBJ</strong><br/>
								<em>May 2008 - June 2008</em>
							</dt>
							<dd>
								<p>
									vdBJ is one of the Netherlands' largest publishers of corporate magazines and printed materials. They have a very strong corporate identity and style, which demanded an extraordinary website of their own design.
								</p>
								<p>
									To implement their design a selection of new and even experimental techniques had to be combined into a stable and accessible result.
								</p>
								<h3>Role: Lead Front-end Developer.</h3>
								<h3>Responsibilities:</h3>
								<ul>
									<li>Providing a comprehensive estimate for the technical scope and development time.</li>
									<li>Design of the data structures required for the object oriented development.</li>
									<li>Researching methods of making a heavily scripted website accessible according to the WCAG guidelines.</li>
									<li>Managing the customer's expectations and negotiating technical compromises.</li>
									<li>Writing an XML web-service in C# that mirrored the designed data structures well.</li>
									<li>Applying object oriented scripting techniques to fully animate the user-interface.</li>
									<li>Optimizing the richly animated interface for use on slower computers.</li>
									<li>Expanding the existing website's functionality based on a service level agreement (SLA).</li>
								</ul>
								<h3>Technology:</h3>
								<ul>
									<li>An XML web-service realised in Visual C# .NET.</li>
									<li>A dynamic user-interface developed using tailor-made DOM scripting.</li>
								</ul>
							</dd>
						</dl>
						<dl class="break">
							<dt>
								<strong>Supershift In-house Development Framework</strong><br/>
								<em>January 2007 - Present</em>
							</dt>
							<dd>
								<p>
									Web Information Manager (WIM) is the development platform developed in-house at Supershift. It forms the basis of every web development project for Supershift's clients.
								</p>
								<p>
									ClassBehaviours is an ongoing project to provide an open JavaScript framework and methodology for the rapid development of web user-interfaces.
								</p>
								<p>
									The goal of this project was to extend the WIM server-side platform with my personal ClassBehaviours client-side platform to offer methods for implementing rich user-interfaces.
								</p>
								<h3>Role: Lead Front-end Developer.</h3>
								<h3>Responsibilities:</h3>
								<ul>
									<li>Designing the data structures for a modular system of JavaScript functionality.</li>
									<li>Designing a configurable web-service in C# and PHP to bridge client and server functionality.</li>
									<li>Designing scripted user-interface elements to complement the server-side functionality.</li>
									<li>Implementing a version management system to synchronise the development framework between many client projects.</li>
									<li>Instructing application developers in the use of the framework.</li>
									<li>Managing the use of the framework by junior developers.</li>
									<li>Extending the framework based on user feedback.</li>
									<li>Publishing the developed framework as a free open-source project.</li>
								</ul>
								<h3>Technology:</h3>
								<ul>
									<li>Custom Visual C# .NET development framework.</li>
									<li>Custom PHP and JavaScript development framework.</li>
								</ul>
							</dd>
							<dt>
								<strong>Bouwfonds</strong><br/>
								<em>March 2006 - May 2006</em>
							</dt>
							<dd>
								<p>
									Bouwfonds (Building fund) one of the leading property companies in Europe involved in the development, financing and investment management of real estate.
								</p>
								<p>
									The project involved the design and development of an interactive search application for housing projects using asynchronous JavaScript and XML (AJAX) methods.
								</p>
								<h3>Role: Web-developer.</h3>
								<h3>Responsibilities:</h3>
								<ul>
									<li>Providing estimates for the technical scope and the expected development time.</li>
									<li>Designing the client-side class structure for an object oriented web application.</li>
									<li>Developing a prototype web-service in Visual C# .NET and XML.</li>
									<li>Building a user-interface in (X)HTML using CSS.</li>
									<li>Scripting the interactivity of the interface using JavaScript and DHTML.</li>
									<li>Testing the application across multiple operating systems and browsers.</li>
									<li>Evaluating the accessibility of the application according to the WCAG guidelines.</li>
								</ul>
								<h3>Technology:</h3>
								<ul>
									<li>An XML web-service realised in Visual C# .NET.</li>
									<li>A dynamic user-interface developed using AJAX methods.</li>
								</ul>
							</dd>
						</dl>
						<dl class="break">
							<dt>
								<strong>Hypotheker</strong><br/>
								<em>January 2006 - March 2006</em>
							</dt>
							<dd>
								<p>
									Hypotheker is the largest independent mortgage consultancy in the Netherlands.
								</p>
								<p>
									The project involved the design and development of a new web-site. The web-site was to offer a complex mortgage calculator.
								</p>
								<h3>Role: Web-developer.</h3>
								<h3>Responsibilities:</h3>
								<ul>
									<li>Evaluating the complexity and usability of the design.</li>
									<li>Consulting on and implementing search engine optimizations (SEO).</li>
									<li>Realizing the graphical design as generic web-page templates in DHTML and CSS.</li>
									<li>Adapting the user-interface into building block, usable by the application developers.</li>
									<li>Providing extensions to the functionality as part of a service level agreement (SLA).</li>
									<li>Testing and re-testing the accessibility of the application after extensions.</li>
								</ul>
								<h3>Technology:</h3>
								<ul>
									<li>An internet application developed in Visual C# .NET.</li>
									<li>A user-interface developed in XHTML using Cascading Stylesheets (CSS) and JavaScript.</li>
								</ul>
							</dd>
							<dt>
								<strong>Healthcare Premium Calculator</strong><br/>
								<em>November 2005 - December 2005</em>
							</dt>
							<dd>
								<p>
									The healthcare premium calculator was developed for the Dutch Ministry of Health, Welfare and Sports (MinVWS) to educate the public about the financial implications of the privatisation of the Dutch healthcare insurance system.
								</p>
								<p>
									This involved developing an easy but accurate online calculator that would be resistant to a high amount of internet traffic.
								</p>
								<h3>Role: Web-developer.</h3>
								<h3>Responsibilities:</h3>
								<ul>
									<li>Managing the parallel development of a server-side and a client-side version of an application.</li>
									<li>Determining the specifications for the application developer.</li>
									<li>Developing to government specifications for accessibility and usability.</li>
									<li>Designing and implementing a web-service prototype in Visual C# .NET and XML.</li>
									<li>Employing graceful degradation principles to an interactive scripted interface.</li>
									<li>Stress-testing an application designed for handling a high amount of web traffic.</li>
								</ul>
								<h3>Technology:</h3>
								<ul>
									<li>An XML web-service realised in Visual C# .NET.</li>
									<li>A dynamic user-interface developed using AJAX methods.</li>
								</ul>
							</dd>
						</dl>
					</div>

				]]>

			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Resume</category>
			<pubDate>Sun, 3 Jan 2010 16:33:00 +0100</pubDate>
		</item>
		<item>
			<title>Portfolio</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=noteworthy&amp;id=noteworthy-projects#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/images/icons_128/portfolioList.png"/&gt;
				&lt;p&gt;
					A list of projects with notable and unusual implementations of front-end web development.
				&lt;/p&gt;
				~
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Resume</category>
			<pubDate>Thu, 21 Aug 2008 17:48:00 +0100</pubDate>
		</item>
		<item>
			<title>Technical Biography - Classbehaviours, the Javascript Framework Based on Class-name Parsing</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=articles&amp;id=technical-biography-classbehaviours#channelItem</link>
			<description>

				&lt;img alt="" class="illustration bordered" src="http://www.woollymittens.nl/images/icons_128/classBehaviour.png"/&gt;
				&lt;p&gt;
					&lt;strong&gt;
						A Technological Biography of a User Interface Developer
					&lt;/strong&gt;
				&lt;/p&gt;
				&lt;p&gt;
					By Maurice van Creij
				&lt;/p&gt;

				~

			<![CDATA[

				<h2 class="clear">Index</h2>
				<ol>
					<li><a href="#Chapter1">Summary</a></li>
					<li><a href="#Chapter2">Introduction</a></li>
					<li><a href="#Chapter3">HTML</a></li>
					<li><a href="#Chapter4">CSS</a></li>
					<li><a href="#Chapter5">Javascript</a></li>
					<li><a href="#Chapter6">AJAX</a></li>
					<li><a href="#Chapter7">Web-services</a></li>
					<li><a href="#Chapter8">Accessibility</a></li>
					<li><a href="#Chapter9">Blogging Framework</a></li>
					<li><a href="#Chapter10">Open Source</a></li>
					<li><a href="#Chapter11">Conclusion</a></li>
				</ol>
				<ul>
					<li>Appendix A: <a href="#AppendixA">Project Credentials</a></li>
					<li>Appendix B: <a href="#AppendixB">References</a></li>
				</ul>

				<h2 id="Chapter1">1. Summary</h2>
				<p>
					In this document I use the "ClassBehaviours" project to illustrate my progress in: HTML, CSS, Javascript, Accessibility, XHTML, DOM, AJAX, Webservices, AIR, Open Source.
				</p>

				<h2 id="Chapter2">2. Introduction</h2>
				<p>
					What came to be known as "ClassBehaviours" is a development concept that has shaped itself over the years to the requirements of a rapidly developing internet.
					Its development bears witness to my progress as a web developer. I will explain this development through all the components that make up my "ClassBehaviours" framework.
				</p>

				<h2 id="Chapter3">3. HTML</h2>
				<p>
					Though the syntax hasn't changed much, the way HTML has developed in a decade is a major compliment to it's accessibility.
				</p>

				<h3>HTML 3 and the Early Days</h3>
				<p>
					My experience starts with hand-coding "HyperText Markup Language" (HTML) 3<sub class="litRef">0</sub> websites for the browsers "Internet Explorer 3" and "Netscape 3".
					Without style-sheets this proved quite a laborious work, as repeating blocks of markup in nested tables distracted from the actual layout and design.
				</p>
				<hr class="pageBreak"/>
				<p>
					Still these skills are not entire obsolete today as a lack of compatibility makes HTML 3 the lowest common denominator between e-mail applications.
					News-letters are still frequently marked up as HTML 3. However, to save time I borrow heavily from HTML 4, those parts that are universal.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;img alt="" src="spacing.gif" width="599" height="16" border="0"/&gt;&lt;br/&gt;
&lt;table border="0" cellspacing="0" cellpadding="0"&gt;
	&lt;tr valign="top"&gt;
		&lt;td&gt;
			&lt;table bgcolor="#f0f0f0" border="0" cellspacing="0" cellpadding="16"&gt;
				&lt;tr&gt;
					&lt;td&gt;
						&lt;img alt="" src="spacing.gif" width="132" height="1" border="0"/&gt;&lt;br/&gt;
						&lt;font face="Arial, Sans Serif" size="3" color="#999999"&gt;
							&lt;b&gt;Het CBS is:&lt;/b&gt;
						&lt;/font&gt;
						&lt;br/&gt;&lt;img alt="" src="spacing.gif" width="1" height="6" border="0"/&gt;&lt;br/&gt;
						&lt;font face="Arial, Sans Serif" size="1" color="#000000"&gt;
							&lt;b&gt;2.345&lt;/b&gt; werknemers&lt;br/&gt;
							&lt;b&gt;1.567&lt;/b&gt; vrouwen&lt;br/&gt;
							&lt;b&gt;1.947.869&lt;/b&gt; werknemers&lt;br/&gt;
						&lt;/font&gt;
					</pre>
					<strong>Example 1.</strong>
					<em>This fragment of an e-mail newsletter for the Dutch Central Bureau of Statistics "CBS"<sub class="litRef">0</sub>, is an example of a modern application for HTML 3.</em>
				</div>

				<h3>HTML 4</h3>
				<p>
					Version 4 of HTML<sub class="litRef">0</sub> didn't change markup methods much at first.
					Legacy support for version 3 browsers forced an uncomfortable compromise between the newly supported "Cascading Style Sheets" (CSS) and inline formatting.
					Only after the market share for Internet Explorer 4 and Netscape 4, grew sufficiently large, it became apparent that a new level of efficiency was possible.
					Sites would still have to <em>degrade gracefully</em><sub class="litRef">0</sub>, but the design could depend on CSS along for markup.
				</p>
				<p>
					Unreliably and non-standard rendering in browsers still forced the layout of a site to be accomplished through tables,
					but at least the markup became readable enough to allow an uncluttered view on complex web application.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;table class="outerTable"&gt;
	&lt;tr class="outerRow"&gt;
		&lt;td class="outerCol"&gt;
			&lt;table class="innerTable"&gt;
				&lt;tr&gt;
					&lt;td class="header"&gt;
						&lt;div class="headerContent"&gt;
							TOP STORIES
						&lt;/div&gt;
					&lt;/td&gt;
				&lt;/tr&gt;
				&lt;tr&gt;
					&lt;td class="summary"&gt;
						&lt;div class="summaryContent"&gt;
							WINDHOOS TREFT DORPEN&lt;br/&gt;
							IN GRONINGEN
						&lt;/div&gt;
					</pre>
					<strong>Example 2.</strong>
					<em>This fragment of an e-mail newsletter for the dutch news television station "RTL Nieuws"<sub class="litRef">0</sub>, is an example of the less cluttered HTML 4.</em>
				</div>
				<p>
					The fifth generation of browsers again showed an improvement in the consistence of rendering,
					but vendor lock-in of Internet Explorer and a noticeable absence of a 5th Netscape<sub class="litRef">0</sub> delayed further progress to Internet Explorer 6<sub class="litRef">0</sub>
					and the start of the Mozilla Project<sub class="litRef">0</sub>.
				</p>
				<hr class="pageBreak"/>
				<p>
					Layouts based on nested tables were exchanged for the block-layout<sub class="litRef">0</sub> achieved though the "div" tag and CSS markup.
					This fully separated the content from the design of the page.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;link rel="stylesheet" href="http://www.woollymittens.nl/styles/markup.css" type="text/css" media="all"&gt;
...
&lt;div id="content"&gt;
	&lt;div id="document"&gt;
		&lt;div class="homeBanner"&gt;
			&lt;a href="#"&gt;
				&lt;img alt="Lorem ipsum" src="http://www.woollymittens.nl/images/banner_home.jpg"&gt;
			&lt;/a&gt;
		&lt;/div&gt;
		&lt;div class="homeIntro"&gt;
			&lt;h1&gt;&lt;a id="toContent"&gt;Home-pagina&lt;/a&gt;&lt;/h1&gt;
			&lt;p&gt;
				Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed
				do eiusmod tempor incididunt ut labore et dolore magna aliqua.
				Ut enim ad minim veniam, quis nostrud &lt;a href="#"&gt;exercitation
				ullamco laboris nisi ut aliquip ex ea commodo consequat&lt;/a&gt;.
			&lt;/p&gt;
		&lt;/div&gt;
					</pre>
					<strong>Example 3.</strong>
					<em>This fragment is from the homepage of a dutch mortgage agent "Hypotheker"<sub class="litRef">0</sub>, which eliminates all table-based layout.</em>
				</div>
				<p>
					This is where the HTML side of web development has generally got stuck. A particularly stubborn group of users remain loyal to their Internet Explorer 6 browsers.
					Slow corporate update cycles and people locked out of updates by their illegal Windows installations are the main cause for this slow down.
				</p>

				<h3>XHTML</h3>
				<p>
					XHTML 1.0<sub class="litRef">0</sub> and 1.1<sub class="litRef">0</sub> are a subset of HTML 4 , tidied up to allow formatting as proper XML.
					It is my standard of choice for rich user interfaces, because the strict rules forces a high level of interoperability between developers.
				</p>
				<p>
					The later chapter on "Document Object Model" scripting will show adequate examples of this.
				</p>

				<h3>XHTML 2 and HTML 5</h3>
				<p>
					XHTML 2<sub class="litRef">0</sub> is an expansion of XHTML, which itself is a very useful adaptation of HTML for use in XML webservices.
					The syntax is not expanded dramatically, like HTML 5<sub class="litRef">0</sub>, but the hierarchy and structure has certainly become more important.
					Development of the standard has been rather slow though and it remains to be seen if it will be adopted as a standard before HTML 5 and if the two can co-exist.
				</p>
				<p>
					HTML 5 is an upcoming attempt at enriching the HTML markup language.
					New tags are added specifically for allowing more semantic<sub class="litRef">0</sub> code.
					If properly implemented, this would make accessing and searching the internet a lot more efficient.
				</p>
				<hr class="pageBreak"/>
				<p>
					To experiment with the promise of more semantic code, I have implemented HTML 5's specification as pseudo-tags in several of my latest projects.
					A server application to translate between HTML 5 and HTML 4 might yet speed up the acceptance of this standard.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;section id="mainSection"&gt;
	&lt;header id="mainHeader"&gt;
		&lt;a href="http://www.woollymittens.nl/" id="headerLogo"&gt;
			&lt;img alt="Win je eigen Foundation" src="http://www.woollymittens.nl/images/headerLogo.png"/&gt;
		&lt;/a&gt;
	&lt;/header&gt;
	&lt;section id="contentSection"&gt;
		&lt;article id="contentArticle"&gt;
			&lt;h1&gt;Bekijk hier de inzendingen&lt;/h1&gt;
			&lt;time&gt;2008 08 11&lt;/time&gt;
			&lt;p&gt;Dummy tekst. Dit is een&lt;/p&gt;
		&lt;/article&gt;
	&lt;/section&gt;
	&lt;nav id="mainNav"&gt;
		&lt;ul&gt;
			&lt;li&gt;|&lt;a href="#1"&gt;Inloggen&lt;/a&gt;&lt;/li&gt;
			&lt;li&gt;&lt;a href="#1"&gt;Contact&lt;/a&gt;|&lt;/li&gt;
			&lt;li&gt;&lt;a href="#1"&gt;FAQ&lt;/a&gt;|&lt;/li&gt;
		&lt;/ul&gt;
	&lt;/nav&gt;
	&lt;footer id="mainFooter"&gt;
		&lt;p&gt;copyright &amp;copy; 2008&lt;/p&gt;
	&lt;/footer&gt;
&lt;/section&gt;
					</pre>
					<strong>Example 4.</strong>
					<em>
						This fragment is from the charity website "AGIS"<sub class="litRef">0</sub> and shows how HTML 5's new "section", "header", "nav" and "footer" elements would be implemented.
						In the XHTML 1 equivalent these tags were all replaced by the "div" element.
					</em>
				</div>
				<p>
					The example fragment shows the semantic nature of the markup.
					The purpose of all the components in this example is immediately apparent and would certainly result in more relevant search results.
				</p>
				<p>
					The "time" element of HTML 5 would have been useful to avoid the blunder of a six year old news article nearly bankrupting United Airlines<sub class="litRef">0</sub> in a stunning example of the "self fulfilling prophecy".
				</p>
				<blockquote>
					"Six-Year-Old News Story Causes United Airlines Stock to Plummet"<br/>
					<a href="http://blog.wired.com/27bstroke6/2008/09/six-year-old-st.html">http://blog.wired.com/27bstroke6/2008/09/six-year-old-st.html</a>
				</blockquote>
				<p>
					To me this holds a greater promise than the cosmetics third party plugins like Microsoft Silverlight<sub class="litRef">0</sub>
					and Adobe Flash<sub class="litRef">0</sub> can provide in enriching the internet with meaningful and accessible content.
					Don't worry though, in later chapters I will demonstrate how properly scripted DHTML can provide all the cosmetics needed to make a website attractive.
				</p>
				<p>
					Since all browsers except Internet Explorer have implemented support for the proposed standards in some form,
					I added an interesting comparison between the different new standards to my "ClassBehaviours" website at:
					<br/>
					<a href="http://www.woollymittens.nl/portfolio/_template/xhtml/index.html">http://www.woollymittens.nl/portfolio/_template/xhtml/index.html</a>.
				</p>

				<hr class="pageBreak"/>

				<h2 id="Chapter4">4. CSS</h2>
				<p>
					Unlike the chapter on HTML, my experience in web-design predates style-sheets.
					Right from the start it was clear that this development would have a major impact on efficiency.
				</p>

				<h3>Fonts and Colours</h3>
				<p>
					Limited though it was at first, to colours and fonts, CSS 1<sub class="litRef">0</sub> at least simplified the clutter of font-tags in HTML.
					Examples 1 and 2 above clearly show the difference in complexity.
				</p>

				<h3>CSS Layout</h3>
				<p>
					CSS 2<sub class="litRef">0</sub> not only allowed for the separation of style and content, but also enabled layout to be implemented through a style-sheet.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
#content {
	padding-right : 8px;
}
#document {
	float : right;
	width : 560px;
}
div.banner {
	clear : both;
	width : 560px;
	height : 110px;
	margin : 0px 0px 1em 0px;
}
div.margin {
	padding : 10px;
}
					</pre>
					<strong>Example 5.</strong>
					<em>
						This clip of style-sheet is from the mortgage consultancy site "Hypotheker", used earlier.
					</em>
				</div>
				<p>
					This method of applying layout to a site is the general way things are done today.
					As sites grow more complex though, it becomes apparent that an unstructured list of styles has serious draw-backs.
					Not seeing at a glance what style inherits what from other styles, through the structure of the document, leads to sites that cannot efficiently grow in complexity.
				</p>

				<hr class="pageBreak" />

				<h3>DOM Reflection</h3>
				<p>
					The method I developed and has proved useful to me for years, borrows techniques used by visual programming languages<sub class="litRef">0</sub> like Visual C++ and Visual Basic.
					In those languages an application's Graphical User Interface (GUI) is constructed visually, but every element in the GUI becomes an addressable part of the source code.
				</p>
				<p>
					I apply the same rules to a style-sheet.
					Every hierarchical node in the Document Object Model (DOM)<sub class="litRef">0</sub> is represented in the style-sheet and indentations are used to imply inheritance.
					There's another major advantage to this.
					An empty but otherwise complete style-sheet may be generated automatically.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
#relatedCallUs {}
	#relatedCallUs h2 {}
	#relatedCallUs p {
		margin : 0px 0px 1em 0px;
	}
	#relatedCallUs ul {
		margin : 0px 0px 1em 0px;
	}
		#relatedCallUs ul li {
			list-style-type : none;
		}
			#relatedCallUs ul li a {}
			#relatedCallUs ul li a:link,
			#relatedCallUs ul li a:visited {}
			#relatedCallUs ul li a:hover,
			#relatedCallUs ul li a:active {}
				#relatedCallUs ul li a img {
					margin : 0px 0px 8px 0px;
				}
					</pre>
					<strong>Example 6.</strong>
					<em>
						This clip of style-sheet is from a recent site for the "Royal Bank of Scotland"<sub class="litRef">0</sub>.
					</em>
				</div>
				<p>
					The hierarchical structure in example 6 is quite apparent and no element is left out of the tree that develops.
				</p>
				<hr class="pageBreak" />
				<p>
					Below is my recursive function that analyzes the document structure and generates and empty style-sheet for any given document.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
this.getNodeClasses = function(objNode, intRecursion, oldPrefix, onlyChanges, simplified)
{
	var tagPrefix, idPrefix, classPrefix, newEntry, newSuffix;
	<em>// for every recursion add one tab</em>
	var strTabs = '';
	for(var intB=0; intB&lt;=intRecursion; intB++) strTabs += '\t';
	<em>// for every childnode</em>
	var objChildNodes = objNode.childNodes;
	for(var intA=0; intA&lt;objChildNodes.length; intA++){
		childNode = objChildNodes[intA];
		<em>// reset prefixes</em>
		tagPrefix 		= (childNode.nodeName.indexOf('#')&lt;0) ? childNode.nodeName : '' ;
		idPrefix 		= (childNode.id) ? '#' + childNode.getAttribute('id') : '' ;
		classPrefix 	= (childNode.className) ? '.' + childNode.getAttribute('class') : '' ;
		typePrefix		= '' // (childNode.type) ? childNode.getAttribute('type') : '' ;
		newPrefix 		= '';
		newEntry		= '';
		newSuffix		= '';
		<em>// construct prefixes</em>
		if(tagPrefix!=''){
			tagPrefix 		= childNode.nodeName.toLowerCase();
			idPrefix 		= (!this.isClassBehaviours(idPrefix) &amp;&amp; !this.isFormElement(tagPrefix)) ?
									idPrefix : '' ;
			classPrefix 	= classPrefix.replace(/^\s+|\s+$/g, '').replace(/ /g, '.') ;
			typePrefix		= (typePrefix!='') ? '[type=' + typePrefix + ']' : '' ;
			newPrefix 		= oldPrefix + ' ' + tagPrefix + typePrefix + idPrefix + classPrefix;
			newPrefix 		= (newPrefix.split('#').length&gt;1 &amp;&amp; simplified) ?
									'#' + newPrefix.split('#')[newPrefix.split('#').length-1] : newPrefix ;
			newEntry 		= strTabs + newPrefix + ' {}\n';
			newSuffix 		= (tagPrefix=='a') ?
									strTabs + newPrefix + ':link,\n'
									+ strTabs + newPrefix + ':visited {}\n'
									+ strTabs + newPrefix + ':hover,\n'
									+ strTabs + newPrefix + ':active {}\n' : '' ;
		}
		<em>// add the new style-sheet entry</em>
		if(!this.isInstyle-sheet(newEntry, onlyChanges)) this.style-sheet += newEntry + newSuffix;
		<em>// recurse if it this node has childNodes</em>
		if(objChildNodes[intA].childNodes.length&gt;0)
			this.getNodeClasses(
				objChildNodes[intA], intRecursion+1, newPrefix, onlyChanges, simplified
			);
	}
}
					</pre>
					<strong>Example 7.</strong>
					<em>
						This recursive javascript function returns a prototype style-sheet based on the DOM.
					</em>
				</div>
				<p>
					I cannot emphasize enough how much time this little tool has saved me over the years.<br/>
					A practical example can be found here:
					<br/>
					<a href="http://www.woollymittens.nl/details.php?id=make-a-prototype-style-sheet">http://www.woollymittens.nl/details.php?id=make-a-prototype-style-sheet</a>
				</p>

				<hr class="pageBreak"/>

				<h2 id="Chapter5">5. Javascript</h2>
				<p>
					As must have become apparent from the appearance of a script example in the CSS chapter, Javascript is a very important tool for me.
				<p/>

				<h3>Inline Kludges</h3>
				<p>
					My Javascript experience started with the usual one-liner scripts for simple visual effects in the version 3 browsers.
					Understandably little remains to show for now, but the experience gained by implementing these simple scripts in Content Management Systems (CMS)<sub class="litRef">0</sub>
					was instrumental in the development of smarter and more efficient scripts that would auto-configure instead of require requiring server-side rewriting.
				</p>
				<p>
					The most notable script from the early days was a method to compensate for frame-sets and the difficulty in getting all frames to display the correct content at the same time.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
<em>//-- script that tells the menu frames what content to display --</em>
var fcode = 'harabibi'
var curID = 0
var waitloop = 0

function syncFrames(setID){
	var retry=0;
   	curID = setID;

	if (left){
		<em>// waits for the frame to load then sets the colour</em>
	 	if (left.inits==1){left.setproperties(setID);}else{retry=1;}
	}else{retry=1;}

	if (bottom){
		<em>// waits for the frame to load then sets the colour</em>
		if (bottom.inits==1){bottom.setproperties(setID);}else{retry=1;}
	}else{retry=1;}

	if (menu){
		<em>// waits for the frame to load then sets the colour</em>
		if (menu.inits==1){menu.setproperties(setID);}else{retry=1;}
	}else{retry=1;}

	<em>//this seriously doesn't need to be start-up more than once at a time</em>
	if(retry == 1 &amp;&amp; waitloop == 0){
		waitloop = 1;
		setTimeout('waitloop=0;syncFrames(curID)',2048);
	}
}
					</pre>
					<strong>Example 8.</strong>
					<em>
						This script sample is from the parent frame-set of the "Dutch Meat Advisory Board"<sub class="litRef">0</sub>,
						receives a page's ID following a user's click and calls functions in all other frames to change titles and graphics accordingly.
					</em>
				</div>
				<p>
					Luckily frame-sets were a dead end in browser development. The complexity of such synchronization scripts often caused maintenance problems through their complexity.
				</p>

				<hr class="pageBreak"/>

				<h3>DOM Scripting</h3>
				<p>
					With frame-sets out of the way and the onset of XHTML, it was possible to concentrate on getting complete control of the document structure through script.
				</p>
				<p>
					A "parent" script was still constructed to control all the user-interface elements, like the frame-set scripts before,
					but without frames to contend with the behaviour could be reliable as well as complex.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
<em>// main user interface  object</em>
function UserInterface(){
	<em>/* properties */</em>
	this.canvas			=	new Canvas(document.getElementById('parallax'));
	this.posters		=	new Sprites(document.getElementById('covers'), 150);
	this.titles			=	new Sprites(document.getElementById('titles'), 50);
	this.content		=	new Display(document.getElementById('content'));
	this.navigation		=	new Navigation(document.getElementById('navigation'));
	this.controls		=	new Controls(document.getElementById('controls'));
	this.banner			=	new Banner(document.getElementById('banner'));
	this.interval		=	null;
	<em>/* methods */</em>
	this.startUp 		= 	function(){
								// hide the scrollbar
								document.body.parentNode.style.overflow = "hidden";
								// start up the modules
								this.posters.start(-2);
								this.titles.start(-1);
								this.content.start();
								this.meta();
								this.navigation.start();
								this.controls.start();
								this.interval = setInterval("userInterface.update()",25);
								this.deep();
								this.canvas.start();
								this.banner.update();
							}
	this.update		=	function(){
								this.posters.update();
								this.titles.update();
								this.content.update();
								this.navigation.update();
								this.canvas.update();
								this.banner.update();
							}
	...
}
					</pre>
					<strong>Example 9.</strong>
					<em>
						This start-up script is from a site for the dutch magazine publisher "VdBJ" <sub class="litRef">0</sub>,
						The modular design is apparent as this function starts and updates about a dozen user-interface functions.
					</em>
				</div>
				<p>
					The design of example 9 is modular, but still highly specific to and hand-coded for each site.
					Out of this grew the idea of again making a self configuring script for often used user-interface DHTML behaviours.
				</p>

				<hr class="pageBreak" />

				<h3>Object Oriented Framework</h3>
				<p>
					Creating a library of these common DHTML behaviours led me to develop "ClassBehaviours", which is my personal javascript framework.
					The underlying principle behind this script is that common user-interface elements share the same class-name in the style-sheet.
					The "ClassBehaviour" framework will parse the document for these class-names and apply the event-handlers accordingly.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
<em>// scan the document object model for target classNames</em>
this.parseNode = function(node)
{
	<em>// for all childnodes of the given node</em>
	var allNodes = node.getElementsByTagName("*");
	for(var a=0; a&lt;allNodes.length; a++){
		<em>// get its className</em>
		nodeClass = ' ' + allNodes[a].className + ' ';
		<em>// if this node has a className</em>
		if(nodeClass!=null){
			<em>// for all class behaviours</em>
			for(var b=0; b&lt;classBehaviours.handlers.index.length; b++){
				<em>// if the behaviour name is in the className tested node, apply its behaviour</em>
				if(nodeClass.indexOf(' ' + classBehaviours.handlers.index[b].name + ' ')&gt;-1)
					classBehaviours.handlers.index[b].start(allNodes[a]);
			}
		}
	}
}
					</pre>
					<strong>Example 10.</strong>
					<em>
						This is the main parsing function from my "ClassBhaviours"<sub class="litRef">0</sub> library. It scans every node in a document and compares class-names against its predefined list.
						When a match is found, the element is passed to the start-function of the corresponding behaviour.
					</em>
				</div>
				<p>
					This method allows a junior developer, or a developer from a different discipline, to do as much or as little scripting as he or she is comfortable with.
					In the simplest application, all DHTML is applied through the use of pre-defined class-names.
					More confident developers, however, can freely add new modules that build upon the existing functionality.
				</p>
				<p>
					The following people have used and contributed to the "ClassBehaviour" project directly.
					As lead developer, my responsibility is to help implement, debug and re-integrate their developments in the trunk of the project.
				</p>
				<ul>
					<li>Frank van Rooijen (Lead Application developer at Tam Tam) developed serve-side modifications to the Microsoft CMS server for "ClassBehaviours" in most of Tam Tam's projects.</li>
					<li>Xander Bindt (Web Developer at Tam Tam) implemented "ClassBehaviours" in relevant project font-ends and provided Flash-related feed-back.</li>
					<li>Erwin van Dijk (Web Developer at Supershift) implements "ClassBehaviours" user interfaces in his projects for Supershift to guarantee interoperability between his and my projects there.</li>
					<li>Marc Molenwijk (Technical Director at Supershift) creates custom behaviour functions to let "ClassBehaviours" interact with the content management system of his personal design.</li>
				</ul>
				<hr class="pageBreak" />
				<p>
					My "ClassBehaviours" framework is continually growing, as customized solutions for projects are integrated back into the collection for later use.
					Currently there are over 50 distinct behaviours, covering anything from blinking text to complex AJAX Chat functionality.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
<em>// blinks a node between the classes "blinkon" and "blinkoff" </em>
classBehaviours.handlers.blink = {
   <em>// properties</em>
   name:          'blink',
   nodes:         new Array(),
   index:         -1,
   interval:      null,
   <em>// methods</em>
   start:         function(node){
                     <em>// set the starting class, if not present</em>
                     if(node.className.indexOf('blinkon')&lt;0) node.className += " blinkon";
                     <em>// make new blink entry and fill it with the node's settings</em>
                     blinkObject = new classBehaviours.handlers.blink.BlinkObject;
                     blinkObject.node = node;
                     blinkObject.jiffy = parseInt(
                     	classBehaviours.utilities.getClassParameter(node, 'jiffy', '1')
                     );
                     this.nodes[this.nodes.length] = blinkObject;
                     <em>// start blink loop only the first time</em>
                     if(this.index&lt;0){
                     	this.index++;
                     	this.interval = setInterval("classBehaviours.handlers.blink.loop()", 512);
                     }
                  },
   <em>// events</em>
   loop:         function(blinkIndex){
                     var blk = classBehaviours.handlers.blink;
                     <em>// count this update</em>
                     blk.index = (blk.index&gt;100000) ? 0 : blk.index + 1 ;
                     <em>// for all blink objects in the list</em>
                     for(var a=0; a&lt;blk.nodes.length; a++)
                        <em>// check if this count is the right jiffy</em>
                        if(blk.index%blk.nodes[a].jiffy==0)
                           <em>// toggle the blink class</em>
                           blk.nodes[a].node.className = (blk.nodes[a].node.className.indexOf('blinkoff')&gt;-1) ?
                              blk.nodes[a].node.className.replace('blinkoff','blinkon') :
                              blk.nodes[a].node.className.replace('blinkon','blinkoff') ;
                  }
}
   classBehaviours.handlers.blink.BlinkObject = function(){
      this.node = null;
      this.jiffy = 1;
   }
					</pre>
					<strong>Example 11.</strong>
					<em>
						This is the simplest "ClassBehaviour" script in the library that will fully show the principle behind it.
						It alternates between two class-names to allow for a blinking behaviour.
					</em>
				</div>
				<p>
					I keep above example in the library to have an easy way of explaining a single behaviour.
					The "start" function is called by the main parsing script of example 10, if it finds an element with the class-name "blink".
					The cosmetic class-name "blinkon" is verified and the "loop" function is launched to do a string replace on this class-name at intervals.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
.blink.blinkon {
	visibility : hidden;
}
.blink.blinkoff {
	visibility : visible;
}
					</pre>
					<strong>Example 12.</strong>
					<em>
						Example style-sheet entry for the "blink" behaviour.
					</em>
				</div>
				<p>
					If the style-sheet contains references to "blinkon" and "blinkoff", like example 12,
					any element with the class-name blink will alternate between being visible and being hidden ever second, thus blinking.
				</p>
				<p>
					For working examples and documentation of all available behaviours, please consult: <a href="http://www.woollymittens.nl/">http://www.woollymittens.nl/</a>
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter6">6. AJAX</h2>
				<p>
					AJAX is an abbreviation of "Asynchronous Javascript and XML"<sub class="litRef">0</sub> and is a method for retrieving extra (XML) content from a server
					without reloading the page. This gives web-applications a more responsive and uninterrupted feel, like the user is used to from applications outside their browser.
					AJAX is an often used tool in the Web 2.0<sub class="litRef">0</sub> boom.
				</p>
				<p>
					As mentioned before, "ClassBehaviours", through time has expanded to contain all useful scripts developed en re-used in over a 100 projects over the best part of a decade.
					A notable expansion is the development of an AJAX framework to complement behaviours that require server interaction.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
this.handleQueue = function()
{
	queue = classBehaviours.ajax.queue;
	<em>// if the first item in the queue is a completed request</em>
	if(queue.length>0){
		if(queue[0].ready==4 /*&& ajax.queue[0].status==200*/){
			<em>// remove the completed request</em>
			queue.reverse();
			queue.length = queue.length - 1;
			queue.reverse();
		}
	}
	<em>// if the first item in the queue isn't allready in progress</em>
	if(queue.length>0){
		if(!(queue[0].ready<4 && queue[0].ready!=null)){
			this.makeRequest(queue[0]);
		}
	}
}
this.progress = function()
{
	queued = classBehaviours.ajax.queue[0];
	<em>// remember the readyState</em>
	queued.ready = queued.request.readyState;
	<em>// only if req shows "complete"</em>
	if(queued.request.readyState == 4){
		<em>// remember the status</em>
		queued.status = queued.request.status;
		<em>// only if "OK"</em>
		if(queued.request.status == 200 || queued.request.status == 304){
			<em>// update optional progress indicator code</em>
			if(queued.doOnProgress) queued.doOnProgress(1, queued.referObject);
			<em>// prepare the document</em>
			queued.document = queued.request.responseXML;
			queued.text = queued.request.responseText;
			<em>// trigger the load event</em>
			if(queued.doOnLoad) queued.doOnLoad(queued.document, queued.referObject, queued.text);
			<em>// request the next item in the queue to be handled</em>
			classBehaviours.ajax.handleQueue();
		}else{
			<em>// update optional progress indicator code</em>
			if(queued.doOnProgress) queued.doOnProgress(-1, queued.referObject, queued.request.status);
		}
	}else{
		<em>// update optional progress indicator code</em>
		if(queued.doOnProgress) queued.doOnProgress(queued.request.readyState/4, queued.referObject, 200);
	}
	<em>// return the status if desired</em>
	return queued.request.readyState;
}
					</pre>
					<strong>Example 13.</strong>
					<em>
						"ClassBehaviours" ' AJAX module is unique in its ability to handle calls from any scripted behaviour in a queued order.
					</em>
				</div>
				<p>
					I programmed this myself, because I insisted on a queueing mechanism for calls. Something not present in many third party AJAX toolkits,
					but absolutely vital for a modular framework like "ClassBehavours".
					Even if multiple behaviours request a server interaction at the same time, nothing is lost and everything is handled from a neat queue.
				</p>
				<hr class="pageBreak" />
				<p>
					Many behaviours present in "ClassBehaviours" use some sort of AJAX functionality.
					The most notable is an entire multiplayer strategy game "Tank-o-Furry"<sub class="litRef">0</sub>
				</p>
				<div class="border illustration">
					<p>
						<img alt="Screenshot of the Tank-o-Furry AJAX game" src="http://www.woollymittens.nl/images/illustrations/TankOFurry.jpg"/>
					</p>
					<strong>Example 14.</strong>
					<em>
						This screenshot is from my multiplayer strategy game "Tank-o-Furry".
						The game makes extensive use of "ClassBehaviours". In fact, the entire game engine <strong>is</strong> one.
					</em>
				</div>
				<p>
					Stretching the concept of "ClassBehaviours" to its limits, my tank game proved the stability of the framework,
					while its ease of use managed to reduce the development time to just three weeks.
				</p>

				<h2 id="Chapter7">7. Web-services</h2>
				<p>
					AJAX applications require an XML web-service<sub class="litRef">0</sub> to run on the server and because from my primary focus on client-side scripting,
					came the necessity for a simple universal web-service application.
				</p>

				<h3>C#</h3>
				<p>
					I developed a universal web-service primarily to give myself a server-side application to test prototype AJAX applications against,
					but the code has proved very useful in several complete applications.
				</p>
				<hr class="pageBreak" />
				<p>
					XML is used as the database, because that is easiest to back-up and transfer to other platforms.
					The minimum requirement was to facilitate "store", "retrieve" and "move" scenarios,
					so the web-service accepts two sets of mutations to the nodes in the XML database in one "POST" or "GET" call.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
	<em>// Some things we do not allow</em>
	if(sXmlFileName!="content" &amp;&amp; &amp;&amp; sXmlFileName!="rss"){

		<em>// LOADING THE XML FILE</em>
		<em>// request the xml file</em>
		WebRequest myXmlRequest = HttpWebRequest.Create(sDomain + "xml/"
											+ sXmlFileName + ".xml");
		WebResponse myXmlResponse = myXmlRequest.GetResponse();
		<em>// recieve the xml file</em>
		Stream receiveStream = myXmlResponse.GetResponseStream();
		StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.UTF8);
		string xml = readStream.ReadToEnd();
		<em>// load the xml file</em>
		XmlDocument myXmlDocument = new XmlDocument();
		myXmlDocument.LoadXml(xml);

		<em>// UPDATE THE XML NODES WITH THE NEW INPUT</em>
		<em>// if the index is a negative number, </em>
		<em>// clone the prototype node to the end of the file and use that</em>
		if(iParentNodeIndexA&lt;0)
		{
			XmlNode newNode = myXmlDocument.GetElementsByTagName(sParentNodeName)[0].CloneNode(true);
			myXmlDocument.GetElementsByTagName(sRootNodeName)[0].AppendChild(newNode);
			iParentNodeIndexA = myXmlDocument.GetElementsByTagName(sParentNodeName).Count - 1;
		}
		<em>// for the target node, fill the childnodes with the name value pairs</em>
		for(int a=0; a&lt;aChildNodeValuesA.Length-1; a+=2)
		{
			<em>// set the xml name/value pair</em>
			myXmlDocument.GetElementsByTagName(sParentNodeName)[iParentNodeIndexA].
				SelectSingleNode(aChildNodeValuesA[a]).InnerText = aChildNodeValuesA[a+1];
		}
...
		<em>// CLOSING THE XML FILE</em>
		myXmlResponse.Close();

		<em>// WRITING THE XML FILE</em>
		<em>// write the xml-file to disk</em>
		XmlTextWriter writer = new XmlTextWriter(Server.MapPath("http://www.woollymittens.nl/xml/"
										+ sXmlFileName + ".xml"), System.Text.Encoding.UTF8);
		writer.Formatting = Formatting.Indented;
		myXmlDocument.WriteTo(writer);
		writer.Close();

		<em>// WRITING THE XML OUTPUT</em>
		Response.Clear();
		Response.ContentType = "text/xml";
		XmlTextWriter xmlTextWriter = new XmlTextWriter(Response.OutputStream, System.Text.Encoding.UTF8);
		xmlTextWriter.Formatting = Formatting.Indented;
		myXmlDocument.WriteTo(xmlTextWriter);
		xmlTextWriter.Close();
		Response.End();
	}
					</pre>
					<strong>Example 15.</strong>
					<em>
						The C# version of my universal web-service.
					</em>
				</div>
				<p>
					This universal web-service allows me to make AJAX applications that can store and retrieve their data from a generic XML file on the server.
					The realtime AJAX chat application in the "ClassBehaviours" framework is an example of this,
					but the system is versatile enough to also support the strategy game of example 14.
				</p>

				<hr class="pageBreak" />

				<h3>PHP</h3>
				<p>
					Since the DHTML in "ClassBehaviour" framework is not bound to any specific platform,
					it would not do to have the web-service constrained to C# and the .NET framework.
					The PHP version I added is completely interchangeable.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;?php
	<em>// FUNCTIONS</em>
	function getReplies() {
		$sXmlFileName = @$_REQUEST['xml'];
...
		<em>// Some things we do not allow</em>
		if ($sXmlFileName!=="content" &amp;&amp; $sXmlFileName!=="rss") {

			<em>// LOADING THE XML FILE	</em>
			$xmlDoc = new DOMDocument();
			$xmlDoc-&gt;load('http://www.woollymittens.nl/xml/' . $sXmlFileName . '.xml');

			<em>// UPDATE THE XML NODES WITH THE NEW INPUT</em>
			<em>// if the index is a negative number, </em>
			<em>// clone the prototype node to the end of the file and use that</em>
			if ($iParentNodeIndexA&lt;0) {
				$newNode = $xmlDoc-&gt;getElementsByTagName($sParentNodeName)-&gt;item(0)-&gt;cloneNode(true);
				$xmlDoc-&gt;getElementsByTagName($sRootNodeName)-&gt;item(0)-&gt;appendChild($newNode);
				$iParentNodeIndexA = $xmlDoc-&gt;getElementsByTagName($sParentNodeName)-&gt;length - 1;
			}
			<em>// for the target node, fill the childnodes with the name value pairs</em>
			$count = count($aChildNodeValuesA) - 1;
			for ($counter = 0; $counter &lt; $count; $counter += 2) {
				$xmlDoc-&gt;getElementsByTagName($sParentNodeName)-&gt;item($iParentNodeIndexA)-&gt;
						getElementsByTagName($aChildNodeValuesA[$counter])-&gt;
								item(0)-&gt;nodeValue = $aChildNodeValuesA[$counter+1];
			}
...

			<em>// WRITING THE XML FILE</em>
			$xmlDoc-&gt;save('http://www.woollymittens.nl/xml/' . $sXmlFileName . '.xml');

			<em>// RETURN THE XML OUTPUT</em>
			$xmlDocSave = $xmlDoc-&gt;saveXML();
			return $xmlDocSave;
		}
...
	}
?&gt;
					</pre>
					<strong>Example 16.</strong>
					<em>
						The PHP version of my universal web-service.
					</em>
				</div>
				<p>
					Thanks to having both a C# and a PHP version of my universal web-service, simultaneous AJAX development is possible on Windows, Mac OS X and Linux.
				</p>

				<h2 id="Chapter8">8. Accessibility</h2>
				<p>
					One thing that is easily overlooked in the trend towards Web 2.0 style applications and AJAX in particular is accessibility.
					An application should not be completely dependent on Javascript or Flash.
				</p>
				<h3>Certificate of Accessibility</h3>
				<p>
					After completing a course on accessibility at the The Bartiméus Accessibility Foundation<sub class="litRef">0</sub>,
					not only could I judge existing sites according to the government's<sub class="litRef">0</sub> and the W3C's<sub class="litRef">0</sub>
					accessibility standards, I could also use this knowledge to ensure the accessibility of all the projects that followed.
				</p>
				<hr class="pageBreak" />
				<p>
					Wether it is a project requirement or not, all projects using the "ClassBehaviour" framework contain basic accessibility features such as scalable fonts,
					table-free layout and compatibility with screen-reader software.
					Such features are best included as standard, since adapting code for accessibility afterwards is very difficult.
				</p>

				<div class="border illustration">
					<p>
						<img  alt="Screenshot of a folding FAQ list." src="http://www.woollymittens.nl/images/illustrations/ToggleNextNode.jpg"/>
					</p>
					<pre class="codeExample">
&lt;dl class="harmonicaList"&gt;
	&lt;dt class="toggleNextNode link"&gt;Lorem ipsum dolor sit amet&lt;/dt&gt;
	&lt;dd class="hideThisNode"&gt;
		&lt;div class="border"&gt;
			Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor
			incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud
			exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute
			irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat
			nulla pariatur.
		&lt;/div&gt;
	&lt;/dd&gt;
	&lt;dt class="toggleNextNode link"&gt;Ut enim ad minim veniam&lt;/dt&gt;
	&lt;dd class="hideThisNode"&gt;
		&lt;div class="border"&gt;
			Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt
			mollit anim id est laborum. Sed ut perspiciatis unde omnis iste natus error sit
			voluptatem accusantium doloremque laudantium, totam rem aperiam, eaque ipsa quae
			ab illo inventore veritatis et quasi architecto beatae vitae dicta sunt explicabo.
		&lt;/div&gt;
	&lt;/dd&gt;
&lt;/dl&gt;
					</pre>
					<strong>Example 16.</strong>
					<em>
						An accessible definitions list (FAQ) from the "RTL Nieuws" website.
					</em>
				</div>
				<p>
					Example 16 is a Frequently Asked Questions (FAQ) list that hides and reveals sections using DHTML.
					To ensure accessibility the list is made up of semantic "Definition List" elements,
					so a screen-reader can actually tell that this is a list of definitions.
					To make sure users without javascript still have full access, the entire list is displayed fully opened by default and only later obscured using Javascript.
				</p>

				<hr class="pageBreak" />

				<h3>Hijax</h3>
				<p>
					Hijax<sub class="litRef">0</sub> is a name coined by Jeremy Keith on his web-design blog "DOM Scripting",
					that describes a technique where a fully server-side application is enhanced with DHTML instead of replaced.
					My AJAX applications embrace this concept fully, but this involves a tight cooperation between the front-end and the back-end developer.
				</p>

				<div class="border illustration">
					<p>
						<img  alt="Screenshot of an AJAX calculator." src="http://www.woollymittens.nl/images/illustrations/Premie.jpg"/>
					</p>
					</pre>
					<strong>Example 17.</strong>
					<em>
						An accessible AJAX calculator built using "Hijax" principles from the Dutch Ministry of Health, Welfare and Sport<sub class="litRef">0</sub>.
					</em>
				</div>

				<p>
					I used a variation on this technique in an AJAX social healthcare premium calculator for the Dutch Ministry of Health, Welfare and Sport, shown in example 17.
					Although AJAX was to be used, accessibility was the first priority.
					All client-side functions were duplicated server-side so the application degraded gracefully to all browsers and screen-readers.
					Example 18 and 19 are show the duality of the application.
				</p>

				<div class="border illustration">
					<pre class="codeExample">
this.toCalculation = function()
{
	<em>// store the active page</em>
	calculation.section = 'calculation';
	<em>// figure out the value limits on the sliders</em>
	calculation.setLimits();
	<em>// is there a relevant second partner?</em>
	hasNoPartner = (document.getElementById('isSingle').checked ||
						document.getElementById('hasSingleIncome').checked ||
						document.getElementById('isPlus65Single').checked);
...
	<em>// hide any cell from the second partner if irrelevant</em>
	allNodes = document.getElementsByTagName("*");
	for(var a=0; a<allNodes.length; a++){
		<em>// if it's part of the second partner's column</em>
		if(allNodes[a].className.indexOf('colPartner1')>-1){
			<em>// restore the partner cells if a partner is involved</em>
			allNodes[a].style.display = (hasNoPartner || calculation.smallMode) ? 'none' :
													classBehaviour.getVisibleState(allNodes[a]) ;
		}
...
	}
	<em>// hide the application(s)</em>
	document.getElementById('constants').style.display = 'none';
	document.getElementById('serverStatus').style.display = 'none';
	document.getElementById('disclaimer').style.display = 'none';
	<em>// show the calculation</em>
	document.getElementById('calculation').style.display = 'block';
	<em>// order the start values to be calculated</em>
	calculation.server.send();
	<em>// cancel the submit</em>
	return false;
}
					</pre>
					<strong>Example 18.</strong>
					<em>
						A clip from the calculator's client-side AJAX version.
					</em>
				</div>

				<hr class="pageBreak" />

				<div class="border illustration">
					<pre class="codeExample">
&lt;asp:PlaceHolder ID="plhCanvas" Runat="server"&gt;
&lt;div id="canvas"&gt;
	&lt;asp:PlaceHolder ID="plhConstants" Runat="server"&gt;
	&lt;div id="constants"&gt;
		&lt;h1&gt;Rekenhulp&lt;/h1&gt;
		&lt;asp:PlaceHolder ID="plhchosePlus65" Runat="server"&gt;
		&lt;div id="chosePlus65" class="choiceRow step1"&gt;
			&lt;h2&gt;&lt;label for="isPlus65Yes"&gt;Bent u 65 jaar of ouder?&lt;/label&gt;&lt;/h2&gt;
			&lt;ul class="radioLine"&gt;
				&lt;li&gt;
					&lt;asp:RadioButton ID="isPlus65Yes" Runat="server" CssClass="radio" G
							roupname="isPlus65" value="true" /&gt;
					&lt;label for="isPlus65Yes"&gt;Ja&lt;/label&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;asp:RadioButton ID="isPlus65No" Runat="server" CssClass="radio"
							Groupname="isPlus65" value="false" /&gt;
					&lt;label for="isPlus65No"&gt;Nee&lt;/label&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/div&gt;
		&lt;/asp:PlaceHolder&gt;
					</pre>
					<strong>Example 19.</strong>
					<em>
						The same part of the calculator as a server-side .NET form.
					</em>
				</div>

				<hr class="pageBreak" />

				<h2 id="Chapter9">9. Blogging Framework</h2>
				<p>
					With several developers using the "ClassBehaviours" framework and still more providing support for sites developed with it, an online source for examples, documentation and discussion was required.
					I developed a blogging engine myself to avoid mixing third party tools with my own and causing licensing problems later on.
				</p>

				<h3>C#</h3>
				<p>
					The C# version of my blogging engine uses an RSS feed<sub class="litRef">0</sub> to store all the blog posts. Doubling as a database, the RSS syndication ensures easily portable code.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
protected void writeSummaries(string sCategory, string sId, XmlDocument myDocument)
{
	<em>// WRITING THE GROUPED CONTENTS</em>
	<em>// make a new data-table for the required data</em>
	DataTable dt = new DataTable();
	dt.Columns.Add("title", typeof(string));
	dt.Columns.Add("link", typeof(string));
	dt.Columns.Add("description", typeof(string));
	dt.Columns.Add("author", typeof(string));
	dt.Columns.Add("category", typeof(string));
	dt.Columns.Add("pubDate", typeof(string));
	dt.Columns.Add("matchingId", typeof(string));
	<em>// get all item nodes</em>
	XmlNodeList xnl = myDocument.GetElementsByTagName("item");
	<em>// for all item nodes</em>
	for (int a = 0; a &lt; xnl.Count; a++) // foreach (XmlNode xn in xnl)
	{
		XmlNode xn = xnl[a];
		<em>// is this a different item with the same category</em>
		if (xn.ChildNodes.Item(4).InnerText.IndexOf(sCategory) &gt; -1)
		{
			<em>// make a new row in the data table</em>
			DataRow dr = dt.NewRow();
			<em>// fill it with the requited data</em>
			dr["title"] = xn.ChildNodes[0].InnerText;
			dr["link"] = xn.ChildNodes[1].InnerText;
			dr["description"] = xn.ChildNodes[2].InnerText.Split('~')[0];
			dr["author"] = xn.ChildNodes[3].InnerText;
			dr["category"] = xn.ChildNodes[4].InnerText;
			dr["pubDate"] = xn.ChildNodes[5].InnerText.Replace(":00 +0100", "");
			dr["matchingId"] = (xn.ChildNodes.Item(1).InnerText.IndexOf(sId) &gt; -1) ? "active" : "";
			<em>// and add it to the table</em>
			dt.Rows.Add(dr);
		}
	}
	<em>// bind the data to the repeater</em>
	rptSummaries.DataSource = dt;
	rptSummaries.DataBind();
}
					</pre>
					<strong>Example 20.</strong>
					<em>
						This function from my blog engine constructs a list of summaries from a given RSS feed.
					</em>
				</div>
				<p>
					The DOM syntax is used instead of serialization to allow variation in the XML source to be adopted rapidly.
				</p>
				<hr class="pageBreak" />
				<p>
					Using a second RSS feed as a data-source for replies has made it very simple to add forum functionality to the different articles.
					This also means that discussions are automatically syndicated to those whom wish to follow them.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
protected void addReply()
{
	<em>// IF THE CAPTCHA WAS USED</em>
	if (Request.Form["tbxPassword"] == "bunny" &&
				Request.Form["tbxDescription"] != "" && Request.Form["tbxAuthor"] != "")
	{
		<em>// LOADING THE COMMENTS XML FILE</em>
		<em>// request the xml file</em>
		WebRequest myReplyRequest = HttpWebRequest.Create(sDomain + "xml/rssChat.xml");
		WebResponse myReplyResponse = myReplyRequest.GetResponse();
		<em>// recieve the xml file</em>
		Stream receiveStream = myReplyResponse.GetResponseStream();
		StreamReader readStream = new StreamReader(receiveStream, System.Text.Encoding.UTF8);
		string xml = readStream.ReadToEnd();
		<em>// load the xml file</em>
		XmlDocument myReplyDocument = new XmlDocument();
		myReplyDocument.LoadXml(xml);

		<em>// ADDING THE FORM DATA TO THE COMMENTS XML FILE</em>
		<em>// make a new item tag from an old one</em>
		XmlNode newNode = myReplyDocument.GetElementsByTagName("item")[0].CloneNode(true);
		<em>// fill the childnodes of the item</em>
		newNode.ChildNodes[0].InnerText = "this";
		newNode.ChildNodes[1].InnerText = Request.Url.ToString();
		newNode.ChildNodes[2].InnerText = Request.Form["tbxDescription"];
		newNode.ChildNodes[3].InnerText = Request.Form["tbxAuthor"];
		newNode.ChildNodes[4].InnerText = "replies";
		newNode.ChildNodes[5].InnerText = DateTime.Now.ToString("ddd, dd MMM yyyy hh:mm:ss");
		<em>// add the new item tag to the document</em>
		myReplyDocument.GetElementsByTagName("channel")[0].AppendChild(newNode);

		<em>// CLOSING THE COMMENTS XML FILE</em>
		myReplyResponse.Close();

		<em>// WRITING THE COMMENTS XML FILE</em>
		<em>// write the xml-file to disk</em>
		XmlTextWriter writer = new XmlTextWriter(Server.MapPath("http://www.woollymittens.nl/xml/rssChat.xml"),
											System.Text.Encoding.UTF8);
		writer.Formatting = Formatting.Indented;
		myReplyDocument.WriteTo(writer);
		writer.Close();
	}
}
					</pre>
					<strong>Example 21.</strong>
					<em>
						This function submits replies to a second RSS feed used for the forum that comes with each article.
					</em>
				</div>
				<p>
					The "captcha" this funtion refers to is always the same, but it fools spammers admirably.
					I've even found back SQL injections in the replies log, ineffective of course since the functionality is based on the XML DOM.
				</p>

				<hr class="pageBreak" />

				<h3>PHP</h3>
				<p>
					Exactly the same functionality was replicated in PHP to keep the blog free of hosting restrictions as much as possible.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
function getSummaries($doc, $filter, $id) {
	$result = array();

	$items = $doc->getElementsByTagName('item');
	foreach ($items as $item) {
		if (strpos($item->getElementsByTagName('category')->
				item(0)->textContent, $filter) !== false) {
			$row = array();
			$row["title"]	 	= $item->getElementsByTagName('title')->item(0)->textContent;
			$row["link"]		= $item->getElementsByTagName('link')->item(0)->textContent;
			$description 		= $item->getElementsByTagName('description')->item(0)->textContent;
			$description 		= explode("~", $description, 2);
			$row["description"]	= $description[0];
			$row["author"]	 	= $item->getElementsByTagName('author')->item(0)->textContent;
			$row["category"]	= $item->getElementsByTagName('category')->item(0)->textContent;
			$row["pubDate"]	 	= $item->getElementsByTagName('pubDate')->item(0)->textContent;
			$row["isActive"]	= (strpos($item->getElementsByTagName('link')->item(0)->
										textContent, $id) !== false) ? "active" : "" ;

			$result[] = $row;
		}
	}

	return $result;
}
					</pre>
					<strong>Example 22.</strong>
					<em>
						This PHP function replicated the functionality of example 20.
					</em>
				</div>
				<p>
					Since PHP is more suitable for DOM operations, this version seems the most compact and efficient of the two.
				</p>

				<hr class="pageBreak" />

				<h3>AIR</h3>
				<p>
					Adobe AIR<sub class="litRef">0</sub> is a new platform for distributing web-applications as installed programs and widgets.
					This seemed a useful platform to experiment with, because packaging internet applications as desktop appliances makes the functionality very easy to access by the user.
				</p>
				<p>
					To complement the online documentation, an installable Air Application was constructed for the distribution of examples and documentation.
				</p>
				<div class="border illustration">
					<p>
						<img alt="AIR version of the ClassBehaviour reference" src="http://www.woollymittens.nl/images/illustrations/AIR.jpg"/>
					</p>
					<strong>Example 23.</strong>
					<em>
						The installable version of my reference library was styled like a conventional desktop application.
					</em>
				</div>

				<hr class="pageBreak" />

				<p>
					AIR also proved itsself the perfect platform for distributing the online strategy game I wrote about in an earlier chapter.
				</p>
				<div class="border illustration">
					<p>
						<img alt="AIR version of the Tank-o-Furry installed in an applications folder" src="http://www.woollymittens.nl/images/illustrations/AIR2.jpg"/>
					</p>
					<strong>Example 24.</strong>
					<em>
						The AIR version of the tank strategy game will install a client just like any other game on a player's system.
					</em>
				</div>
				<p>
					AIR will prove to be a very useful tool for bridging the boundary between internet and desktop development.
				</p>

				<h2 id="Chapter10">10. Open Source</h2>
				<p>
					Now my "ClassBehaviour" library has proved itself useful to the developers around me,
					I felt it was time to release the code to see if it may prove useful to more developers still.
					Builds are now published regularly to several online repositories under the GNU General Public License (GPL)<sub class="litRef">0</sub>.
				</p>

				<h3>Source Forge</h3>
				<p>
					Source Forge<sub class="litRef">0</sub> is a large repository for Open Source projects and it seemed a natural first choice for a cross platform framework aimed at developers.
					<br/>
					<a href="http://sourceforge.net/projects/classbehaviours/">http://sourceforge.net/projects/classbehaviours/</a>
				</p>

				<h3>Google Code</h3>
				<p>
					I chose Google Code<sub class="litRef">0</sub> as a secondary repository, because the focus there lies more on web applications.
					<br/>
					<a href="http://code.google.com/p/classbehaviours/">http://code.google.com/p/classbehaviours/</a>
				</p>

				<hr />

				<h2 id="Chapter11">11. Conclusion</h2>
				<p>
					In the decade of my professional career, humble web-development beginnings have grown out to an efficient and complete framework for development used in over a hundred projects and by many fellow developers.
					As the internet is growing into a more and more indispensable tool for productivity, further embracing of new technologies seems an exciting prospect to me.
				</p>

				<hr class="pageBreak" />

				<h2 id="AppendixA">Appendix A: Project Credentials</h2>
				<p>
					A list of projects my "ClassBehaviour" framework is used in can be found here: <a href="http://www.woollymittens.nl/">www.woollymittens.nl</a>
				</p>

				<hr class="pageBreak" />

				<h2 id="AppendixB">Appendix B: References</h2>
				<p>
					The following sources and websites have proved of importance to this project.
				</p>
				<ol>
					<li>
						Raggett, Connolly.
						(1997).
						Introducing HTML 3.2 [online].
						World Wide Web Consortium (W3C)
						Available at: <a href="http://www.w3.org/MarkUp/Wilbur/">http://www.w3.org/MarkUp/Wilbur/</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Newsletter Template [online].
						Central Bureau of Statistics.
						Available at: <a href="http://www.woollymittens.nl/portfolio/CBS/newsletter/newsletter.html ">http://www.woollymittens.nl/portfolio/CBS/newsletter/newsletter.html </a>
						[2008 09 20].
					</li>
					<li>
						Raggett, Le Hors, Jacobs.
						(1999).
						HTML 4.01 Specification [online].
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/html4/">http://www.w3.org/TR/html4/</a>
						[2008 09 20].
					</li>
					<li>
						Peter-Paul Koch.
						(2002).
						Fluid Thinking [online].
						Digital Web Magazine.
						Available at: <a href="http://www.digital-web.com/articles/fluid_thinking/">http://www.digital-web.com/articles/fluid_thinking/</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Newsletter Template [online].
						RTL Nieuws.
						Available at: <a href="http://www.woollymittens.nl/portfolio/RtlNieuws2/xhtml/T22_RTL_Nieuwsbrief.html">http://www.woollymittens.nl/portfolio/RtlNieuws2/xhtml/T22_RTL_Nieuwsbrief.html</a>
						[2008 09 20].
					</li>
					<li>
						The Netscape Archive [online].
						Netscape.
						Available at: <a href="http://browser.netscape.com/">http://browser.netscape.com/</a>
						[2008 09 20].
					</li>
					<li>
						Internet Explorer [online].
						Microsoft.
						Available at: <a href="http://www.microsoft.com/windows/products/winfamily/ie/default.mspx">http://www.microsoft.com/windows/products/winfamily/ie/default.mspx</a>
						[2008 09 20].
					</li>
					<li>
						The Mozilla Project [online].
						Mozilla.org.
						Available at: <a href="http://www.mozilla.org/">http://www.mozilla.org/</a>
						[2008 09 20].
					</li>
					<li>
						Bert Bos, Håkon Wium Lie, Chris Lilley, Ian Jacobs.
						(1998).
						Visual formatting model [online].
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/CSS2/visuren.html">http://www.w3.org/TR/CSS2/visuren.html</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Website Template [online].
						Hypotheker.
						Available at: <a href="http://www.woollymittens.nl/portfolio/Hypotheker/xhtml/homepage.html">http://www.woollymittens.nl/portfolio/Hypotheker/xhtml/homepage.html</a>
						[2008 09 20].
					</li>
					<li>
						Steven Pemberton, et al.
						(2000).
						XHTML™ 1.0 The Extensible HyperText Markup Language.
						2nd.
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/xhtml1/">http://www.w3.org/TR/xhtml1/</a>
						[2008 09 20].
					</li>
					<li>
						Shane McCarron, et al.
						(2007).
						XHTML™ 1.1 - Module-based XHTML [online].
						2nd.
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/xhtml11/">http://www.w3.org/TR/xhtml11/</a>
						[2008 09 20].
					</li>
					<li>
						Jonny Axelsson, et al.
						(2006).
						XHTML™ 2.0 [online].
						Working Draft.
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/xhtml2/">http://www.w3.org/TR/xhtml2/</a>
						[2008 09 20].
					</li>
					<li>
						Ian Hickson, et al.
						(2008).
						HTML 5 [online].
						Editor's Draft.
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/html/wg/html5/">http://www.w3.org/html/wg/html5/</a>
						[2008 09 20].
					</li>
					<li>
						Jesse Skinner.
						(2006).
						Writing Semantic HTML [online].
						The Future of the Web.
						Available at: <a href="http://www.thefutureoftheweb.com/blog/writing-semantic-html">http://www.thefutureoftheweb.com/blog/writing-semantic-html</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Website Template [online].
						AGIS.
						Available at: <a href="http://www.woollymittens.nl/portfolio/Agis2/xhtml/wjef_T1_Home.html">http://www.woollymittens.nl/portfolio/Agis2/xhtml/wjef_T1_Home.html</a>
						[2008 09 20].
					</li>
					<li>
						Kim Zetter.
						(2008).
						Six-Year-Old News Story Causes United Airlines Stock to Plummet [online].
						Wired.
						Available at: <a href="http://blog.wired.com/27bstroke6/2008/09/six-year-old-st.html">http://blog.wired.com/27bstroke6/2008/09/six-year-old-st.html</a>
						[2008 09 20].
					</li>
					<li>
						Microsoft Silverlight [online].
						Microsoft.
						Available at: <a href="http://www.microsoft.com/SILVERLIGHT/">http://www.microsoft.com/SILVERLIGHT/</a>
						[2008 09 20].
					</li>
					<li>
						Adobe Flash Player [online].
						Adobe.
						Available at: <a href="http://www.adobe.com/products/flashplayer/">http://www.adobe.com/products/flashplayer/</a>
						[2008 09 20].
					</li>
					<li>
						Håkon Wium Lie, Bert Bos.
						(1996).
						Cascading Style Sheets, level 1 [online].
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/REC-CSS1.html">http://www.w3.org/TR/REC-CSS1.html</a>
						[2008 09 20].
					</li>
					<li>
						Bert Bos, et al.
						(1998).
						Cascading Style Sheets, level 2 [online].
						World Wide Web Consortium (W3C).
						Available at: <a href="http://www.w3.org/TR/CSS2/">http://www.w3.org/TR/CSS2/</a>
						[2008 09 20].
					</li>
					<li>
						David W. McIntyre.
						(2001).
						comp.lang.visual Frequently-Asked Questions (FAQ) [online].
						comp.lang.visual (Usenet).
						Available at: <a href="http://www.faqs.org/faqs/visual-lang/faq/">http://www.faqs.org/faqs/visual-lang/faq/</a>
						[2008 09 20].
					</li>
					<li>
						DHTML - HTML Document Object Model (DOM) [online].
						W3Schools.
						Available at: <a href="http://www.w3schools.com/dhtml/dhtml_dom.asp">http://www.w3schools.com/dhtml/dhtml_dom.asp</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Website Template [online].
						Royal Bank of Scotland.
						Available at: <a href="http://www.woollymittens.nl/portfolio/Abn_Rbs/xhtml/T01_Homepage.html">http://www.woollymittens.nl/portfolio/Abn_Rbs/xhtml/T01_Homepage.html</a>
						[2008 09 20].
					</li>
					<li>
						What is a Content Management System, or CMS? [online].
						Contentmanager.eu.com
						Available at: <a href="http://www.contentmanager.eu.com/history.htm">http://www.contentmanager.eu.com/history.htm</a>
						[2008 09 20].
					</li>
					<li>
						Ferry den Dopper, Maurice van Creij, et al.
						Dutch Meat Advisory [online].
						Tam Tam bv.
						Available at: <a href="http://www.vlees.nl/">http://www.vlees.nl/</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Website Template [online].
						VdBJ Communicatie Groep.
						Available at: <a href="http://www.woollymittens.nl/portfolio/VdBJ/xhtml/misc_scroll.html">http://www.woollymittens.nl/portfolio/VdBJ/xhtml/misc_scroll.html</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						ClassBehaviours, the javascript framework based on class-name parsing [online].
						Available at: <a href="http://www.woollymittens.nl/">http://www.woollymittens.nl/</a>
						[2008 09 20].
					</li>
					<li>
						Greg Murray.
						(2005).
						Asynchronous JavaScript Technology and XML (Ajax) With the Java Platform [online].
						Sun.
						Available at: <a href="http://java.sun.com/developer/technicalArticles/J2EE/AJAX/">http://java.sun.com/developer/technicalArticles/J2EE/AJAX/</a>
						[2008 09 20].
					</li>
					<li>
						Tim O'Reilly.
						(2005).
						What Is Web 2.0 [online].
						O'Reilly.
						Available at: <a href="http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html">http://www.oreillynet.com/pub/a/oreilly/tim/news/2005/09/30/what-is-web-20.html</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Tank-o-Furry [online].
						Woolly Mittens.
						Available at: <a href="http://www.lolitalapine.nl/games/Tank-o-Furry/index.html">http://www.lolitalapine.nl/games/Tank-o-Furry/index.html</a>
						[2008 09 20].
					</li>
					<li>
						Venu Vasudevan.
						(2001).
						A Web Services Primer [online].
						xml.com.
						Available at: <a href="http://webservices.xml.com/pub/a/ws/2001/04/04/webservices/index.html">http://webservices.xml.com/pub/a/ws/2001/04/04/webservices/index.html</a>
						[2008 09 20].
					</li>
					<li>
						All you need to know about Internet en software accessibility [online].
						The Bartiméus Accessibility Foundation
						Available at: <a href="http://www.accessibility.nl/?languageId=2">http://www.accessibility.nl/?languageId=2</a>
						[2008 09 20].
					</li>
					<li>
						The Web Guidelines quality model [online].
						1.7.
						Ministry of the Interior and Kingdom Relations
						Available at: <a href="http://www.webrichtlijnen.nl/english/">http://www.webrichtlijnen.nl/english/</a>
						[2008 09 20].
					</li>
					<li>
						Wendy Chisholm, et al.
						(1999).
						Web Content Accessibility Guidelines 1.0 [online].
						Place of publication: Publisher (if ascertainable).
						Available at: <a href="http://www.w3.org/TR/WCAG10/">http://www.w3.org/TR/WCAG10/</a>
						[2008 09 20].
					</li>
					<li>
						Jeremy Keith.
						(2006).
						Hijax [online].
						DOMscripting
						Available at: <a href="http://domscripting.com/blog/display/41">http://domscripting.com/blog/display/41</a>
						[2008 09 20].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						Website Template [online].
						Ministry of Health, Welfare and Sport.
						Available at: <a href="http://www.woollymittens.nl/portfolio/MinVwsPremieberekening/xhtml/premieberekening.html">http://www.woollymittens.nl/portfolio/MinVwsPremieberekening/xhtml/premieberekening.html</a>
						[2008 09 20].
					</li>
					<li>
						RSS 2.0 at Harvard Law [online].
						Berkman Center for Internet & Society at Harvard Law School.
						Available at: <a href="http://cyber.law.harvard.edu/rss/rss.html">http://cyber.law.harvard.edu/rss/rss.html</a>
						[2008 09 20].
					</li>
					<li>
						Adobe AIR [online].
						Adobe.
						Available at: <a href="http://www.adobe.com/products/air/">http://www.adobe.com/products/air/</a>
						[2008 09 20].
					</li>
					<li>
						GNU General Public License [online].
						GNU.org.
						Available at: <a href="http://www.gnu.org/copyleft/gpl.html">http://www.gnu.org/copyleft/gpl.html</a>
						[2008 09 20].
					</li>
					<li>
						SourceForge.net: Create, Participate, Evaluate [online].
						Source Forge.
						Available at: <a href="http://sourceforge.net/projects/classbehaviours/">http://sourceforge.net/projects/classbehaviours/</a>
						[2008 09 20].
					</li>
					<li>
						Google Code [online].
						Google.
						Available at: <a href="http://code.google.com/p/classbehaviours/">http://code.google.com/p/classbehaviours/</a>
						[2008 09 20].
					</li>
					<!--
					<li>
						Author/s or editor/s.
						(Year).
						Title [online].
						Edition.
						Place of publication: Publisher (if ascertainable).
						Available at: URL
						[Accessed Date].
					</li>
					-->
				</ol>

			]]>

			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Articles</category>
			<pubDate>Thu, 16 Oct 2008 15:24:00 +0100</pubDate>
		</item>
		<item>
			<title>Technical Biography - VdBJ a Marketing and Communications Website with an AJAX Interface</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=articles&amp;id=technical-biography-vdbj#channelItem</link>
			<description>

				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/VdBJ/thumbnail.png"/&gt;
				&lt;p&gt;
					&lt;strong&gt;
						A Technological Biography of a User Interface Developer
					&lt;/strong&gt;
				&lt;/p&gt;
				&lt;p&gt;
					By Maurice van Creij
				&lt;/p&gt;

				~

			<![CDATA[

				<h2 class="clear">Index</h2>
				<ol>
					<li><a href="#Chapter1">Summary</a></li>
					<li><a href="#Chapter2">Introduction</a></li>
					<li><a href="#Chapter3">Requirements</a></li>
					<li><a href="#Chapter4">Design</a></li>
					<li><a href="#Chapter5">User Interface</a></li>
					<li><a href="#Chapter6">Scripted Functionality</a></li>
					<li><a href="#Chapter7">Development Feedback</a></li>
					<li><a href="#Chapter8">Conclusion</a></li>
				</ol>
				<ul>
					<li>Appendix A: <a href="#AppendixA">References</a></li>
				</ul>

				<h2 id="Chapter1">1. Summary</h2>
				<p>
					In this document I use the "VdBJ" project to illustrate my progress in: Application Design and Development.
				</p>
				<p>
					The resulting website can be found at:
					<a href="http://www.vdbj.nl/">http://www.vdbj.nl/</a>,
					but a functional prototype can be visited in my portfolio at:
					<a href="http://www.woollymittens.nl/portfolio/VdBJ/xhtml/misc_scroll.html">http://www.woollymittens.nl/portfolio/VdBJ/xhtml/misc_scroll.html</a>
					should the original source disappear.
				</p>

				<h2 id="Chapter2">2. Introduction</h2>
				<p>
					An advertising company called "NLXL"<sub class="litRef reset_1">0</sub> provided this project to "Supershift".
					Whilst perfectly capable of making their usual fare of marketing websites, they found themselves in over their head with the special wishes of a customer.
					The customer in question is a specialty magazine publisher called "VdBJ"<sub class="litRef">0</sub>, whom apparently are very particular about their corporate style.
				</p>
				<div class="border illustration">
					<p>
						<img alt="Design screenshot" src="http://www.woollymittens.nl/images/illustrations/VdBJ_0.jpg"/>
					</p>
					<strong>Example 1.</strong>
					<em>
						A functional design of the proposed VdBJ design.
					</em>
				</div>
				<p>
					Example 1 shows a sketch of the web-design they desired. Notable are the lack of scroll-bars in the conventional places or textual content for that matter.
					The background to the page is implied to be a continual animated parade of magazine covers.
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter3">3. Requirements</h2>
				<p>
					From the designs, I noted the following features and requirements.
				</p>
				<ul>
					<li>The background is a decorative slideshow of magazine covers and titles. Refreshing the page would disturb the continuity of the effect.</li>
					<li>There are controls for the speed, direction and even colour of the slideshow. All the settings would need to be stored reliably.</li>
					<li>Since a browser can change in size, so should the interface. Absolute positions would be difficult to maintain.</li>
					<li>Good search-engine access and general accessibility is always a high priority. No Flash was to be used.</li>
					<li>Not all Javascript engines in all browsers are equally efficient. Speed differences have to be taken into account.</li>
					<li>Scroll-bars appear customized. Despite my protests about accessibility, they would have to be scripted.</li>
					<li>The content loaded in the scrolling sections appear to require full dynamic interaction also. Clashes between scripts are to be expected.</li>
					<li>The navigation needs to change the slideshow without causing a visual disturbance.</li>
				</ul>
				<div class="border illustration">
					<p>
						<img alt="Design screenshot" src="http://www.woollymittens.nl/images/illustrations/VdBJ_1.jpg"/><br/>
						<img alt="Design screenshot" src="http://www.woollymittens.nl/images/illustrations/VdBJ_2.jpg"/>
					</p>
					<strong>Example 2.</strong>
					<em>
						Several designs on which the requirements were based.
					</em>
				</div>
				<p>
					The development of a user-interface for a marketing website with limited interactivity typically takes about a week and can be performed by a junior developer.
					A realistic estimate for functionality of this scope, however would be about 3 weeks to a month.
					The impact of the special features on this estimate was communicated to the customer.
				</p>
				<p>
					The interface is clearly unconventional, so the usual approach in employing my "ClassBehaviour" framework<sub class="litRef">0</sub> would not suffice.
					I decided on an approach similar to that used for a desktop application.
					All screen elements were to be addressed like elements of a "Graphical User Interface" (GUI)<sub class="litRef">0</sub>.
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter4">4. Design</h2>
				<p>
					The following GUI elements were isolated for development.
				</p>
				<dl>
					<dt>Parallax scrolling layers of graphics and titles</dt>
					<dd>
						<img alt="" class="right" src="http://www.woollymittens.nl/images/illustrations/VdBJ_3.jpg"/>
						A list of covers and titles will need to traverse the screen from either direction at controllable speed.
						The traverse needs to loop seamlessly regardless of changing browser dimensions or content.
					</dd>
					<dt>Meta Navigation</dt>
					<dd>
						A row of meta-navigation about the site in general must load a different kind of panel independent of the regular content.
					</dd>
					<dt class="clear">Content Panel</dt>
					<dd>
						<img alt="" class="right" src="http://www.woollymittens.nl/images/illustrations/VdBJ_4.jpg"/>
						A scrollable panel of content needs to come in from off screen when a poster or title is clicked.
						The dimensions of this panel must be configurable and the content must be able to be "Dynamic HTML" (DHTML) itself.
					</dd>
					<dt>Main Canvas Position</dt>
					<dd>
						The position of many elements are relative to the screen size available. These must be centered correctly.
					</dd>
					<dt class="clear">Chapter Navigation</dt>
					<dd>
						<img alt="" class="right" src="http://www.woollymittens.nl/images/illustrations/VdBJ_5.jpg"/>
						The menu items must be able to load new contents for the parallax layers and reset any content panel that may be open.
						The menu is context sensitive and a layer of sub-navigation opens depending on the active chapter.
					</dd>
					<dt>Banner for Special Events</dt>
					<dd>
						The menu sports a decorative banner that floats over the parallax layers and is only present for special events listed on the initial screen.
					</dd>
					<dt class="clear">Interface Controls</dt>
					<dd>
						<img alt="" class="right" src="http://www.woollymittens.nl/images/illustrations/VdBJ_6.jpg"/>
						There is a bank of buttons and sliders controlling the direction, speed and colour of the parallax layers.
						The menu can be hidden and revealed with a button in case it gets in the way.
					</dd>
				</dl>

				<h2 id="Chapter5">5. User Interface</h2>
				<p>
					In strict XHTML the user-interface is constructed from two parts.
					All the elements on the page must have a semantic representation in tags. The information on the page is to stay meaningful, even when stripped of all markup.
					The markup and layout of the design is achieved through styles defines in "Cascading Style Sheet" (CSS) rules in a style-sheet and is added as decoration to the already semantic content.
				</p>
				<h3>Semantic prototype in XHTML</h3>
				<p>
					In a site with this many dynamic features, it's difficult to present the content in a meaningful way when stripped of markup and scripting.
					Nevertheless accessible ways to represent the content were found and the following examples are the most notable.
				</p>

				<hr class="pageBreak" />

				<h4>Covers and Titles in XHTML</h4>
				<p>
					The clip of XHTML of example 3 show three titles and two covers with their descriptions.
					Without markup they display simply as the bulleted lists and thumbnailed links in example 4.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;ul id="titles"&gt;
	&lt;li&gt;
		&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?0" class="width_1 height_1"&gt;
			Lorem ipsum dolor sit amet &amp;gt;&amp;gt;&amp;gt;
		&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?1" class="width_1 height_1"&gt;
			Consectetur adipisicing elit &amp;gt;&amp;gt;&amp;gt;
		&lt;/a&gt;
	&lt;/li&gt;
	&lt;li&gt;
		&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?2" class="width_1 height_1"&gt;
			Sed do eiusmod tempor incididunt &amp;gt;&amp;gt;&amp;gt;
		&lt;/a&gt;
	&lt;/li&gt;
&lt;/ul&gt;
&lt;ul id="covers"&gt;
	&lt;li class="floatingDescription width_280"&gt;
		&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?0" class="width_1 height_1"&gt;
			&lt;img alt="Description of cover 0" src="http://www.woollymittens.nl/images/cover_0.jpg"/&gt;
		&lt;/a&gt;
		&lt;div class="description"&gt;
			&lt;h2&gt;Lorem ipsum dolor sit amet&lt;/h2&gt;
			&lt;p&gt;
				Lorem ipsum dolor sit amet, consectetur&lt;br/&gt;
				adipisicing elit, sed do eiusmod tempor&lt;br/&gt;
				incididunt ut labore et dolore magna aliqua.
			&lt;/p&gt;
		&lt;/div&gt;
	&lt;/li&gt;
	&lt;li class="floatingDescription width_280"&gt;
		&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?1" class="width_1 height_1"&gt;
			&lt;img alt="Description of cover 0" src="http://www.woollymittens.nl/images/cover_1.jpg"/&gt;
		&lt;/a&gt;
		&lt;div class="description"&gt;
			&lt;h2&gt;Lorem ipsum dolor sit amet&lt;/h2&gt;
			&lt;p&gt;
				Lorem ipsum dolor sit amet, consectetur&lt;br/&gt;
				adipisicing elit, sed do eiusmod tempor&lt;br/&gt;
				incididunt ut labore et dolore magna aliqua.
			&lt;/p&gt;
		&lt;/div&gt;
	&lt;/li&gt;
&lt;/ul&gt;
					</pre>
					<strong>Example 3.</strong>
					<em>
						The XHTML rendered without markup of the parallax scrolling titles and covers.
					</em>
				</div>

				<hr class="pageBreak" />

				<div class="border illustration">
					<p>
						<img alt="Lynx used for rending the site sans markup" src="http://www.woollymittens.nl/images/illustrations/lynx.jpg"/>
					</p>
					<strong>Example 4.</strong>
					<em>
						The equivalent piece of HTML seen though a text-only browser.
					</em>
				</div>
				<p>
					If the content is meaningful without markup, search-engines and screen-reader software will do a better job to process it into useful results.
					"Lynx"<sub class="litRef">0</sub> shown in example 3, is a text-only browser that is a decent representation of how a screen-reader or search-engine perceives the site.
					As shown in the screenshot, the content of the website is perfectly browsable.
				</p>

				<hr class="pageBreak" />

				<h4>Content in XHTML</h4>
				<p>
					The next example shows the XHTML construction for the customized scrollbar that had to be included against my advice.
					For accessibility it is not wise to replace the real scrollbar for a javascript one, because not everyone will be able to make it work correctly.
					In order to limit this problem the functionality doesn't get added in an intrusive way.
					There is not inline scripts in this example, despite its DHTML function.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;div id="scrollCanvas"&gt;
	...
	&lt;div id="description" class="dualColumns"&gt;
		&lt;h1&gt;Blauw&lt;/h1&gt;
		&lt;h2&gt;Project&lt;/h2&gt;
		&lt;p&gt;
			Lorem ipsum amet, &lt;a href="http://www.woollymittens.nl/iframe_scroll.html" class="transFrameLink width_1 height_1"&gt;
			elit&lt;/a&gt;, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
			Ut enim, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
		&lt;/p&gt;
		&lt;p&gt;
			Duis aute irure dolor in reprehenderit in esse cillum dolore eu fugiat nulla pariatur.
			Excepteur sint occaecat cupidatat non culpa qui officia deserunt mollit anim id est laborum.
		&lt;/p&gt;
	&lt;/div&gt;
	&lt;div class="clear"&gt;&lt;/div&gt;
&lt;/div&gt;
&lt;ul class="virtualScrollbar id_scrollCanvas"&gt;
	&lt;li class="scrollUp"&gt;
		&lt;a href="#scrollpoint"&gt;
			&lt;img alt="" class="srcMouseHover" src="http://www.woollymittens.nl/images/scroll_up_link.png"/&gt;
		&lt;/a&gt;
	&lt;/li&gt;
	&lt;li class="scrollIndicator"&gt;
		&lt;a href="#scrollpoint"&gt;
			&lt;img alt="" class="srcMouseHover" src="http://www.woollymittens.nl/images/scroll_pickle_link.png"/&gt;
		&lt;/a&gt;
	&lt;/li&gt;
	&lt;li class="scrollDown"&gt;
		&lt;a href="#scrollpoint"&gt;
			&lt;img alt="" class="srcMouseHover" src="http://www.woollymittens.nl/images/scroll_down_link.png"/&gt;
		&lt;/a&gt;
	&lt;/li&gt;
&lt;/ul&gt;
					</pre>
					<strong>Example 5.</strong>
					<em>
						The artificial scrollbar is no more intrusive than a text-less list under the document.
					</em>
				</div>
				<p>
					The DHTML event-handlers are added based on the class-name "virtualScrollbar" and only after it is confirmed that there are not apparent compatibility problems.
					For browsers with disabled javascript, the scrollbar will default to a normal one.
					The same happens when the site is rendered with an alternative stylesheet or none at all.
					The impact of the accessibility problem is minimized as best as possible this way.
				</p>
				<p>
				 	This technique for applying javacript non-intrusively is called "Class Behaviour" and I developed this into a framework to be distributed as free open-source software.
				 	More about this in another report ("Classbehaviours, the Javascript Framework Based on Class-name Parsing").
				</p>

				<hr class="pageBreak" />

				<h4>Navigation in XHTML</h4>
				<p>
					The last example is a clip from the site's navigation menu.
					Since the links are supposed to open in a heavily sliding display panel, inaccessible javascript links are expected.
					The accessible approach however was to default the list to a hierarchical list of links.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
&lt;div id="navigation"&gt;
	&lt;a href="#close" class="close"&gt;
		&lt;img class="srcMouseHover" alt="Sluit de navigatie" src="http://www.woollymittens.nl/images/skin0/close_normal_link.png"/&gt;
	&lt;/a&gt;
	&lt;a href="#open" class="open"&gt;
		&lt;img class="srcMouseHover" alt="Open de navigatie" src="http://www.woollymittens.nl/images/arrow_link.png"/&gt;
	&lt;/a&gt;
	&lt;ul&gt;
		&lt;li class="home"&gt;&lt;a href="#1"&gt;Home&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;
			&lt;a class="showSourceCode" href="http://www.woollymittens.nl/xml/newItems0.xml" class="width_1 height_1 style_normal importXml link"&gt;vdBJ&lt;/a&gt;
			&lt;ul&gt;
				&lt;li&gt;
					&lt;a class="showSourceCode" href="http://www.woollymittens.nl/xml/newItems0.xml" class="width_1 height_1 importXml link"&gt;
						New Items 0
					&lt;/a&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;a class="showSourceCode" href="http://www.woollymittens.nl/xml/newItems1.xml" class="width_1 height_1 importXml link"&gt;
						New Items 1
					&lt;/a&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;a class="showSourceCode" href="http://www.woollymittens.nl/xml/newItems2.xml" class="width_1 height_1 importXml link"&gt;
						New Items 2
					&lt;/a&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li&gt;&lt;a href="?2" class="link"&gt;Portfolio&lt;/a&gt;&lt;/li&gt;
		&lt;li&gt;
			&lt;a class="showSourceCode" href="http://www.woollymittens.nl/xml/newItems1.xml" class="width_1 height_1 style_normal importXml link"&gt;Klanten&lt;/a&gt;
			&lt;ul&gt;
				&lt;li&gt;
					&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?5" class="width_1 height_1 link"&gt;Alfabetisch&lt;/a&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?6" class="width_1 height_1 link"&gt;Datum&lt;/a&gt;
				&lt;/li&gt;
				&lt;li&gt;
					&lt;a href="http://www.woollymittens.nl/iframe_scroll.html?7" class="width_1 height_1 link"&gt;Specialisme&lt;/a&gt;
				&lt;/li&gt;
			&lt;/ul&gt;
		&lt;/li&gt;
		&lt;li class="contact"&gt;&lt;a href="?2" class="link"&gt;Contact&lt;/a&gt;&lt;/li&gt;
		&lt;li class="sitemap"&gt;&lt;a href="?3" class="link"&gt;Sitemap&lt;/a&gt;&lt;/li&gt;
		&lt;li class="search"&gt;&lt;a href="?3" class="link"&gt;Zoeken&lt;/a&gt;&lt;/li&gt;
	&lt;/ul&gt;
&lt;/div&gt;
					</pre>
					<strong>Example 6.</strong>
					<em>
						The navigation defaults to an unordered list of links to accessible text pages.
					</em>
				</div>
				<p>
					The links in the list do refer to the actual content to be displayed, but without javascript these will simple open as plain HTML documents in the browser.
					Search engine robots and people using screen-reader software have full access to the content.
				</p>

				<h3>Visual Design in CSS</h3>
				<p>
					The decision to approach the site as a GUI has implications for the complexity of the stylesheet.
					In order to grow gracefully and stay maintainable throughout the life of the site, the structure of the stylesheet will mirror the hierarchy of the semantic XHTML perfectly.
					Below are the same features discussed in examples 3, 4, 5 and 6, but this time represented by their structured CSS rules.
				</p>

				<hr class="pageBreak" />

				<h4>Covers and Titles in CSS</h4>
				<p>
					The markup belonging to the XHTML for the covers and titles of example 3 is features below in example 7.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
#titles {
	position : absolute;
}
	#titles li {
		list-style-type : none;
		position : absolute;
		z-index : 2000;
		margin : 0px;
		padding : 0px;
		width : 320px;
	}
		#titles li a {
			font-size : 120%;
			font-weight : bold;
			line-height : 140%;
		}
			#titles li a:link,
			#titles li a:active,
			#titles li a:visited {
				text-decoration : none;
				color : #ffffff;
			}
			#titles li a:hover{
				text-decoration : none;
				color : #ffffff;
			}
#covers {
	position : absolute;
}
	#covers li {
		list-style-type : none;
		display : inline;
		position : absolute;
		z-index : 3000;
		margin : 0px;
		padding : 0px;
	}
		#covers li a {
			position : relative;
			display : block;
		}
			#covers li a img {}
		#covers li div.description {
			display : none;
		}
					</pre>
					<strong>Example 7.</strong>
					<em>
						The CSS markup belonging to the XHTML of example 3.
					</em>
				</div>
				<p>
					Notice how every XHTML element is features as an indented CSS entity.
					If an overview of the application is to persist, mirroring the structure of the document is vital.
				</p>

				<hr class="pageBreak" />

				<h4>Content in CSS</h4>
				<p>
					In example 8, the styles are shown that position the content area and the scroll bar in an absolute position relative to the screen.
					Javascript will control this position to show and hide the content.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
#content {
	position : absolute;
	right : 10px;
	top : 50px;
	z-index : 4000;
	background-color : #000033;
	border-left : solid 1px #ffffff;
	border-right : solid 1px #ffffff;
}
	#scrollCanvas {
		position : absolute;
		z-index : 5000;
	}
	ul.virtualScrollbar {
		margin : 0px;
		padding : 0px;
		position : absolute;
		right : 0px;
		top : 0px;
		z-index : 6000;
		width : 18px;
		height : 100%;
		border-left : solid 1px #ffffff;
	}
		ul.virtualScrollbar li {
			position : absolute;
			list-style-type : none;
			width : 18px;
			height : 18px;
		}
		ul.virtualScrollbar li.scrollUp {
			right : 0px;
			top : 5px;
		}
			ul.virtualScrollbar li.scrollUp a {}
				ul.virtualScrollbar li.scrollUp  a img {
					margin : 0px 4px 0px 4px;
				}
		ul.virtualScrollbar li.scrollIndicator {
			top : 22px;
			right : 0px;
			width : 18px;
		}
			ul.virtualScrollbar li.scrollIndicator img {
				width : 17px;
			}
		ul.virtualScrollbar li.scrollDown {
			right : 0px;
			bottom : 3px;
		}
			ul.virtualScrollbar li.scrollDown a {}
				ul.virtualScrollbar li.scrollDown  a img {
					margin : 0px 4px 0px 4px;
				}
					</pre>
					<strong>Example 8.</strong>
					<em>
						The indentation of the styles show the cascading effect the styles will have on the list elements.
					</em>
				</div>
				<p>
					The scroll-bar, no more than a couple of list items in HTML, get their shape from a cascading hierarchy of styles.
					Since the scroll-bar is a "ClassBehaviour" function, detailed documentation of the scrollbar can be found here:
					<a href="http://www.woollymittens.nl/details.php?id=artificial-scroll-bar">http://www.woollymittens.nl/details.php?id=artificial-scroll-bar</a>
				</p>

				<hr class="pageBreak" />

				<h4>Navigation in CSS</h4>
				<p>
					The navigation was designed as a column of links, sporting hidden lists of sub-navigation.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
#navigation {
	position : absolute;
	left : 0px;
	top : 0px;
	z-index : 4000;
	width : 170px;
	height : 500px;
	overflow : hidden;
	background-image : url(http://www.woollymittens.nl/images/navigation_back.png);
}
	#navigation ul {
		padding : 0px;
		margin : 6px 10px 10px 10px;
	}
		#navigation ul li {
			list-style-type : none;
			padding : 3px 0px 0px 0px;
		}
			#navigation ul li a {
				padding : 0px 0px 0px 20px;
				background-repeat : no-repeat;
				background-position : 0px 10px;
			}
				#navigation ul li a:link,
				#navigation ul li a:active,
				#navigation ul li a:visited {
					color : #ffffff;
					text-decoration : none;
					background-image : none;
				}
				#navigation ul li a:hover {
					color : #ffffff;
					text-decoration : none;
					background-image : url(http://www.woollymittens.nl/images/navigation_bullet.png);
				}
				#navigation ul li a.active:link,
				#navigation ul li a.active:visited,
				#navigation ul li a.active:hover,
				#navigation ul li a.active:active {
					color : #ffffff;
					text-decoration : none;
					background-image : url(http://www.woollymittens.nl/images/navigation_bullet.png);
				}
					#navigation ul li a img {
						vertical-align : middle;
					}
			#navigation ul li ul {
				background-image : none;
				height : auto;
				margin : 0px 10px 0px 10px;
			}
				#navigation ul li ul li {}
					#navigation ul li ul li a {}
						#navigation ul li ul li a:link,
						#navigation ul li ul li a:active,
						#navigation ul li ul li a:visited {}
						#navigation ul li ul li a:hover {}
					</pre>
					<strong>Example 9.</strong>
					<em>
						The navigation tree is a complex lists within lists construction.
					</em>
				</div>
				<p>
					Nothing is hidden by default however. Without javascript the list is fully revealed.
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter6">6. Scripted Functionality</h2>
				<p>
					Every object represented by the XHTML and CSS now need to be provided with scripted functionality.
					Using the same hierarchy again a user interface object is built in javascript.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
function UserInterface(){
	<em>/* properties */</em>
	this.canvas			=	new Canvas(document.getElementById('parallax'));
	this.posters		=	new Sprites(document.getElementById('covers'), 150);
	this.titles			=	new Sprites(document.getElementById('titles'), 50);
	this.content		=	new Display(document.getElementById('content'));
	this.navigation		=	new Navigation(document.getElementById('navigation'));
	this.controls		=	new Controls(document.getElementById('controls'));
	this.banner			=	new Banner(document.getElementById('banner'));
	this.interval		=	null;
	<em>/* methods */</em>
	this.startUp 		= 	function(){
								<em>// hide the scrollbar</em>
								document.body.parentNode.style.overflow = "hidden";
								<em>// start up the modules</em>
								this.posters.start(-2);
								this.titles.start(-1);
								this.content.start();
								this.meta();
								this.navigation.start();
								this.controls.start();
								this.interval = setInterval("userInterface.update()",25);
								this.deep();
								this.canvas.start();
								this.banner.update();
							}
	this.update		=	function(){
								this.posters.update();
								this.titles.update();
								this.content.update();
								this.navigation.update();
								this.canvas.update();
								this.banner.update();
							}
}
					</pre>
					<strong>Example 10.</strong>
					<em>
						The root object of the user-interface.
					</em>
				</div>
				<p>
					The main object provides the back-bone of the application and manages a central update and redraw cycle.
					Every GUI element gets its own separate object from here to initialize its event handlers and manage its update cycle.
				</p>

				<hr class="pageBreak" />

				<h3>Posters and Titles</h3>
				<p>
					The moving screen elements of the magazine covers and titles make up the largest part of the complexity of this project.
					Example 11 shows the function called in example 10 to start the display routine for the moving parts, called "sprites" after their video-game equivalents.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
function Sprites(node, offset){
	<em>/* properties */</em>
	this.node		=	node;
	this.speed		=	-2;
	this.paused	=	false;
	this.list		=	new Array();
	this.index		=	0;
	this.next		=	1;
	this.offset	=	offset;
	<em>/* methods */</em>
	this.start 	= 	function(speed){
							this.speed = speed;
							<em>// clear the list</em>
							this.list = new Array();
							this.index = 0;
							this.next = 1;
							<em>// all items</em>
							allItems = this.node.getElementsByTagName('li');
							<em>// for every item on the list</em>
							for(var a=0; a&lt;allItems.length; a++){
								<em>// make a new sprite object</em>
								this.list[a] = new Sprite(allItems[a]);
								<em>// set the start position</em>
								this.list[a].start(this.speed);
								<em>// get the node's link</em>
								itemLink = this.list[a].node.getElementsByTagName('a')[0];
								<em>// set the even-handler for the click</em>
								itemLink.onclick = this.open;
							}
							<em>// trigger the update funtion once to give the sprites a starting position</em>
							this.speed -= 50;
							for(var a=0; a&lt;25; a++) this.update();
							this.speed += 50;
						}
...
					</pre>
					<strong>Example 11.</strong>
					<em>
						The start-up function for the covers and titles display.
					</em>
				</div>
				<p>
					In the loop through all these "sprites" an object is created for each with positional information and a set of functions that manage position and timing.
				</p>
				<hr class="pageBreak" />
				<p>
					Each sprite can take care of its own position, movement and visibility.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
function Sprite(node){
	this.node		=	node;
	this.xPos		=	-1000;
	this.yPos		=	0;
	this.zPos		=	0;
	this.xMin		=	0 - this.node.offsetWidth;
	this.xMax		=	userInterface.canvas.node.offsetWidth;
	this.yMin		=	55;
	this.yMax		=	userInterface.canvas.node.offsetHeight - this.node.offsetHeight - 35;
	this.speed		=	0;
	this.active	=	false;
	this.start		=	function(speed){
							this.reset();
							this.update(speed);
							this.reset();
						}
	this.update	=	function(speed){
							<em>// store the speed and direction</em>
							this.speed = speed;
							<em>//calculate the x-position</em>
							this.xPos += speed;
							<em>// calculate the limits</em>
							this.xMin = (this.node.offsetWidth&gt;0) ? 0 - this.node.offsetWidth : -130 ;
							this.xMax = (document.body.offsetWidth&gt;0) ? document.body.offsetWidth : 160 ;
							<em>// update the object if it's inside the screen otherwise reset it</em>
							this.node.style.left = (
								(this.speed&lt;0 &amp;&amp; this.xPos&gt;this.xMin) ||
								(this.speed&gt;0 &amp;&amp; this.xPos&lt;this.xMax)
							) ? Math.round(this.xPos) + 'px' : this.reset();
							this.node.style.top = this.yPos + 'px';
							<em>// set  the visibility</em>
							this.node.style.visibility = 'visible';
						}
	this.reset		=	function(){
							this.active = false;
							this.node.style.visibility = 'hidden';
							this.xMin = (this.node.offsetWidth&gt;0) ? 0 - this.node.offsetWidth : -130 ;
							this.xMax = (document.body.offsetWidth&gt;0) ? document.body.offsetWidth : 160 ;
							this.xPos = (this.speed&lt;0) ? this.xMax : this.xMin;
							this.yPos = Math.round((this.yMax-this.yMin) * Math.random() + this.yMin);
							return Math.round(this.xPos) + 'px';
						}
}
					</pre>
					<strong>Example 12.</strong>
					<em>
						The prototype of the object governing the behaviour of the covers and titles.
					</em>
				</div>
				<p>
					Sprites turn themselves off when they leave the screen, they trigger their own "reset" function when they stray outside screen limits.
					This limits the load on the processor to render them.
					Moving objects is a real problem for some browsers, like Internet Explorer, so care has to be taken not to waste resources positioning objects outside the screen.
				</p>
				<hr class="pageBreak" />
				<p>
					The "update" function in example 10 groups several redraw functions together. The one below is the one belonging to the sprites as a group.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
this.update	=	function(){
						var lastActive = 0;
						var totalActive = 0;
						<em>// if the list is not paused</em>
						if(!this.paused){
							<em>// for every sprite on the list</em>
							for(var a=0; a&lt;this.list.length; a++){
								<em>// if its on screen</em>
								if(this.list[a].active){
									<em>// ask it to update its position</em>
									this.list[a].update(this.speed);
									<em>// store its index</em>
									totalActive += 1;
								}else{
									this.list[a].reset(this.speed);
								}
							}
							<em>// start the next index when there's space after the last one</em>
							if(this.list.length&gt;0){
								offset = (this.speed&gt;0) ?
									this.list[this.index].xPos :
									this.list[this.index].xMax-this.list[this.index].xPos
										+this.list[this.index].xMin;
								if(offset&gt;this.offset || totalActive==0){
									<em>// pick the next one in row</em>
									this.index = (this.speed&lt;0) ?
										(this.list.length + this.index - 1) % this.list.length :
										(this.index + 1) % this.list.length;
									<em>// if the item is not allready active</em>
									if(!this.list[this.index].active){
										<em>// set its initial position</em>
										this.list[this.index].update(this.speed);
										<em>// allow it to move</em>
										this.list[this.index].active = true;
									}
								}
							}
						}
					}
					</pre>
					<strong>Example 13.</strong>
					<em>
						The update function for the covers and titles.
					</em>
				</div>
				<p>
					In the first loop every sprite is asked to update its own position. The second part of the function (re)activates sprites as more screen space is freed up by the movement.
				</p>

				<hr class="pageBreak" />

				<h3>Controls</h3>
				<p>
					The bar of controls for the parallax display of covers and titles is a complex affair.
					Speed, pausing, direction, and colour all have to be adjustable without disrupting the displayed content.
					The settings should also be saved and restored in a later session.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
function Controls(node){
	<em>/* properties */</em>
	this.node			=	node;
	this.speedDrag		=	false;
	this.speedIndex	=	2;
	this.directionIndex =	-1;
	this.speedBar		=	null;
	this.speedNodes	=	null;
	this.speeds		=	new Array(
								new Array( 0.002, 0.001),
								new Array( 1,	 0.5),
								new Array( 2,	 1),
								new Array( 3,	 1.5),
								new Array( 4,	 2)
							);
	this.colourIndex	=	0;
	this.colourBar		=	null;
	this.colourNodes	=	null;
	<em>/* methods */</em>
	this.start			=	function(){
								<em>// get all speed buttons</em>
								this.speedBar = document.getElementById('slider');
								this.speedNodes = this.speedBar.getElementsByTagName('img');
								<em>// set the events for the slider</em>
								this.speedBar.onmousedown = this.enable;
								document.onmouseup = this.disable;
								this.speedBar.onmousemove = this.drag;
								<em>// set the events for the speed</em>
								for(var a=0; a&lt;this.speedNodes.length; a++){
									<em>// this.speedNodes[a].onmouseover = this.hover;</em>
									this.speedNodes[a].onclick = this.speed;
								}
								<em>// set the events fotr the pause</em>
								document.getElementById('pause').onclick = this.pause;
								<em>// set the events for the direction</em>
								document.getElementById('back').onclick = this.reverse;
								<em>// set the events for the colours</em>
								this.colourBar = document.getElementById('colours');
								this.colourNodes = this.colourBar.getElementsByTagName('dd');
								<em>// set the events for the colours</em>
								for(var a=0; a&lt;this.colourNodes.length; a++){
									this.colourNodes[a].onclick = this.colour;
								}
								<em>// set the initial values</em>
								this.restore();
							}
					</pre>
					<strong>Example 14.</strong>
					<em>
						The start-up function for the controls sets events to all button clicks.
					</em>
				</div>
				<p>
					As example 14 shows a lot of event handlers are set for the buttons. The last function call is "restore" which retrieves any settings left over from a previous session.
					This function is shown in example 15.
				</p>
				<hr class="pageBreak" />
				<div class="border illustration">
					<pre class="codeExample">
this.restore		=	function(){
							<em>// get the settings string</em>
							vdbjPrefs = getCookie('vdbjPrefs');
							<em>// if there was a cookie</em>
							if(vdbjPrefs){
								<em>// restore speed settings</em>
								speedSettings = vdbjPrefs.split('speed=');
								speedSettings = (speedSettings.length&gt;1) ? parseFloat(speedSettings[1]) : 2 ;
								this.speed(this.speedNodes[speedSettings]);
								<em>// restore the direction setting</em>
								directionSettings = vdbjPrefs.split('direction=');
								directionSettings = (directionSettings.length&gt;1) ?
									parseInt(directionSettings[1]) : -1 ;
								if(directionSettings&gt;0)
									this.reverse(document.getElementById('back'));
								<em>// restore the colour settings</em>
								colourSettings = vdbjPrefs.split('colour=');
								colourSettings = (colourSettings.length&gt;1) ? parseInt(colourSettings[1]) : 0 ;
								this.colour(this.colourNodes[colourSettings], true);
							}
						}
this.saveSettings	=	function(){
							settingsString = "speed=" + userInterface.controls.speedIndex + "&direction="
										+ userInterface.controls.directionIndex
										+ "&colour=" + userInterface.controls.colourIndex;
							setCookie('vdbjPrefs', settingsString, getDaysFromNow(30), "/", null, null);
						}
					</pre>
					<strong>Example 15.</strong>
					<em>
						Restoring settings from a cookie.
					</em>
				</div>
				<p>
					The hard work of splitting a string of variables is done by a function from my "ClassBehaviour" framework.
					To illustrate how the settings are processed, please refer to example 16.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
this.speed		=	function(that){
						var objNode = (typeof(this.nodeName)=='undefined') ? that : this ;
						<em>// what speed element has been pressed?</em>
						speedIndex = parseInt(objNode.className.replace('speed',''));
						<em>// set the indicators</em>
						for(var a=0; a&lt;userInterface.controls.speedNodes.length; a++){
							speedNode = userInterface.controls.speedNodes[a];
							speedNode.src = (a&lt;=speedIndex) ?
									speedNode.src.replace('_link','_active') :
									speedNode.src.replace('_active','_link') ;
						}
						<em>// get the dedined direction</em>
						direction = (userInterface.posters.speed&lt;0) ? -1 : 1 ;
						<em>// set the defined speed</em>
						userInterface.posters.speed = userInterface.controls.speeds[speedIndex][0] * direction;
						userInterface.titles.speed = userInterface.controls.speeds[speedIndex][1] * direction;
						<em>// store the selected speed</em>
						userInterface.controls.speedIndex = speedIndex;
						userInterface.controls.saveSettings();
					}
					</pre>
					<strong>Example 16.</strong>
					<em>
						These functions apply the settings invoked by the controls.
					</em>
				</div>
				<p>
					The "speed" function is the most straight forward. The speed of the scrolling layers is set in pixels per update cycle.
					The preferred speed is multiplied by the direction and updated to a constant.
					If you recall example 12, every sprite handles its own movement based on this constant.
				</p>
				<hr class="pageBreak" />
				<div class="border illustration">
					<pre class="codeExample">
this.colour	=	function(that, noReload){
						var objNode = (typeof(this.nodeName)=='undefined') ? that : this ;
						<em>// what speed element has been pressed?</em>
						if(objNode){
							colourNode = objNode.getElementsByTagName('img')[0];
							colourIndex = parseInt(colourNode.className.replace('colour',''));
							<em>// store the selected colour index</em>
							userInterface.controls.colourIndex = colourIndex;
							userInterface.controls.saveSettings();
							<em>// set the appropriate styles</em>
							document.body.className = 'skin' + colourIndex;
							<em>// change the appropriate images</em>
							allImages = document.getElementsByTagName('img');
							for(var a=0; a&lt;allImages.length; a++){
								allImages[a].src = allImages[a].src.replace(/skin+[0-9]/, 'skin' + colourIndex);
							}
							<em>// set the indicators</em>
							for(var a=0; a&lt;userInterface.controls.colourNodes.length; a++){
								colourNode = userInterface.controls.colourNodes[a].getElementsByTagName('img')[0];
								colourNode.src = (a==colourIndex) ?
										colourNode.src.replace('_link','_active').replace('_hover','_active') :
										colourNode.src.replace('_active','_link') ;
							}
							<em>// reload</em>
							if(!noReload){
								url = userInterface.content.node.getElementsByTagName('iframe')[0].src;
								userInterface.content.node.getElementsByTagName('iframe')[0].src = '';
								userInterface.content.node.getElementsByTagName('iframe')[0].src = url;
							}
						}
						return false;
					}
					</pre>
					<strong>Example 17.</strong>
					<em>
						These functions apply the settings invoked by the controls.
					</em>
				</div>
				<p>
					The "colour" function has to invoke a lot of changes. The "body" element of the HTML document gets a new class-name.
					In the stylesheet a colour scheme is defined for all classes the "body" element can be changed to.
					Because not all images are set though the style-sheet, a loop is needed to replace the filename of any image on screen that uses a changeable colour.
					Any content loaded in the display panel is reloaded to adjust to the new colour choice.
					All this is done without disturbing the scrolling layers.
				</p>

				<hr class="pageBreak" />

				<h3>Navigation</h3>
				<p>
					The most interesting thing about the navigation menu is its use of AJAX to update the scrolling display.
					Clicking a menu option will load a new set of covers and titles, which replace the current ones without stopping their motion.
					As discussed earlier, each sprite takes care of its own motion, so replacing them involves replacing their instructions too.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
this.importXml	=	function(that){
						var objNode = (typeof(this.nodeName)=='undefined') ? that : this ;
						var nav = userInterface.navigation;
						<em>// import new sprites using ajax</em>
						classBehaviour.xmlDoc.addRequest(objNode.href, userInterface.navigation.processXml,
							userInterface.navigation.waitForXml, null, objNode);
						<em>// activate the link</em>
						nav.activate(objNode);
						<em>// cancel the click</em>
						objNode.blur();
						return false;
					}
this.waitForXml	=	function(status){
						<em>// status indicator here</em>
				//		debug(status);
					}
this.processXml	=	function(documentObj, referedNode, documentText){
						<em>// stop the render engine</em>
						userInterface.content.paused = true;
						userInterface.posters.paused = true;
						<em>// remove the xml tags from the xml output</em>
						inputHtml = documentText.replace('&lt;?xml version="1.0"?&gt;', '')
										.replace('&lt;root&gt;', '')
										.replace('/&lt;root&gt;', '');
						<em>// get the titles html from the xml output</em>
						titlesHtml = inputHtml.split('&lt;ul id="covers"&gt;')[0]
										.replace('&lt;/ul&gt;', '')
										.replace('&lt;ul id="titles"&gt;', '');
						document.getElementById('titles').innerHTML = titlesHtml;
						<em>// get the covers html from the xml output</em>
						coversHtml = inputHtml.split('&lt;ul id="covers"&gt;')[1].replace('&lt;/ul&gt;', '');
						document.getElementById('covers').innerHTML = coversHtml;
						<em>// restart the render engine</em>
						userInterface.content.hide();
						userInterface.posters.start(-2);
						userInterface.titles.start(-1);
						userInterface.controls.restore();
						<em>// re-activate the classbehaviours</em>
						classBehaviour.parseDocument(document.getElementById('covers'));
					}
					</pre>
					<strong>Example 18.</strong>
					<em>
						The AJAX functions to replace the contents of the parallax layers.
					</em>
				</div>
				<p>
					When a link is clicked in the navigation menu, it will target a new list links for the scrolling display.
					Without javascript this is all that is needed to make the content in those links accessible, but when javascript is available those links need to be displayed scrolling on screen.
					The "importXml" function takes the link to the new list and imports it as an XML object. This object is then treated as the source of new sprites by the "processXml" function to rebuild the display.
				</p>
				<hr class="pageBreak" />
				<div class="border illustration">
					<pre class="codeExample">
&lt;%@ Page Language="C#" AutoEventWireup="true" CodeFile="newsItem.aspx.cs"
	Inherits="repository_newsItem" %&gt;&lt;?xml version="1.0"?&gt;
&lt;root&gt;
	 &lt;ul id="titles"&gt;
	    &lt;asp:Repeater runat="server" ID="uxRepeaterTitles" &gt;
        &lt;ItemTemplate&gt;
        	&lt;li&gt;
        		&lt;asp:HyperLink ID="uxRepLinkTitles" runat="server"&gt;
        		&lt;asp:Literal ID="uxTitle" runat="server" /&gt;&lt;/asp:HyperLink&gt;
        	&lt;/li&gt;
        &lt;/ItemTemplate&gt;
	    &lt;/asp:Repeater&gt;
	 &lt;/ul&gt;
	 &lt;ul id="covers"&gt;
        &lt;asp:Repeater runat="server" ID="uxRepeaterCovers" &gt;
        &lt;ItemTemplate&gt;
        	&lt;li class="floatingDescription width_280"&gt;
        		&lt;asp:HyperLink ID="uxLink" runat="server"&gt;
        			&lt;asp:Image runat="server" ID="uxImage" /&gt;&lt;/asp:HyperLink&gt;
        			&lt;div class="description"&gt;
        				&lt;h2 id="uxDescriptionField" runat="server"&gt;
        					&lt;asp:Literal ID="uxTitle" runat="server"&gt;&lt;/asp:Literal&gt;
        				&lt;/h2&gt;
        				&lt;p&gt;
        					&lt;asp:Literal ID="uxDescription" runat="server"&gt;&lt;/asp:Literal&gt;
        				&lt;/p&gt;
        			&lt;/div&gt;
        		&lt;/asp:HyperLink&gt;
        	&lt;/li&gt;
        &lt;/ItemTemplate&gt;
	    &lt;/asp:Repeater&gt;
	&lt;/ul&gt;
&lt;/root&gt;
&lt;asp:Literal runat="server" ID="uxHidField" /&gt;
					</pre>
					<strong>Example 19.</strong>
					<em>
						ASPX file with the structure of the XML web-service.
					</em>
				</div>
				<p>
					Example 19 shows the structure of the XML the web-service returns.
					Since XHTML was chosen as the standard for the document instead of HTML, replacement parts of the document can easily be imported as valid XML.
				</p>
				<hr class="pageBreak" />
				<p>
					In example 20, the accompanying C# function is show for example 19's ASPX.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
void uxRepeaterCovers_ItemCreated(object sender, RepeaterItemEventArgs e)
{
    OverviewElement item = e.Item.DataItem as OverviewElement;
    Image uxImage = e.Item.FindControl("uxImage") as Image;

    item.File.Apply(uxImage);

    uxImage.ToolTip = "";
    uxImage.AlternateText = "";

    Literal uxTitle = e.Item.FindControl("uxTitle") as Literal;
    Literal uxDescription = e.Item.FindControl("uxDescription") as Literal;

    uxTitle.Text = Server.HtmlEncode(item.Title);
    uxDescription.Text = Server.HtmlEncode(item.Description);


    if (item.Page.FolderId == 23)
    {
        HtmlGenericControl uxDescriptionField = e.Item.FindControl("uxDescriptionField")
        		as HtmlGenericControl;
        uxDescriptionField.Attributes["class"] = "people";
    }

    HyperLink uxLink = e.Item.FindControl("uxLink") as HyperLink;

    uxLink.NavigateUrl = item.Page.HRef;

    switch (item.Size)
    {
        default: uxLink.Attributes["class"] = "width_1 height_1"; break;
        case 1: uxLink.Attributes["class"] = "width_0 height_1"; break;
        case 2: uxLink.Attributes["class"] = "width_0 height_0"; break;
        case 3: uxLink.Attributes["class"] = "width_1 height_0"; break;
    }
}
					</pre>
					<strong>Example 20.</strong>
					<em>
						C# function for retrieving new magazine covers from the content management server.
					</em>
				</div>
				<p>
					The function is re-used from the initial screen buildup, since it only has to retrieve new cover pictures and write them out as XHTML.
					The XHTML generated for the initial homepage functions just as well for the web-service.
				</p>

				<h2 id="Chapter7">7. Development Feedback</h2>
				<p>
					Developing the user-interface for this site took about 3 weeks and 900 lines of javascript for the main object controlling the page.
					It was very important to recycle any new development for later reference.
					In this case the replacement scroll-bar, resizing interface, several improvements to the DOM-parsing and AJAX framework were integrated in my open source "ClassBehaviour" framework.
				</p>

				<hr />

				<h2 id="Chapter8">8. Conclusion</h2>
				<p>
					Managing the customer's expectations were a large part of my job here.
					The customer had a very clear idea of what they wanted, but no insight into the impact their choices had on the budget and deadline.
					More importantly, they had no frame of reference from the viewpoint of an end-user trying to access information on the site.
					After the impact of their choices were explained to them a compromise was reached that satisfied both the developers and the designers.
				</p>
				<p>
					The main challenge here was translating what must obviously have been a fanciful brainstorm session on their side
					into a practical implementation that adhered to my standards for accessibility and maintenance.
				</p>
				<p>
					For a website, this application is of nearly unrivaled complexity in my portfolio.
					My method and framework for rapid web development proved up to the challenge and though aimed at simpler web-sites,
					scaled well to a site developed using an approach more often used for desktop applications.
				</p>

				<hr class="pageBreak" />

				<h2 id="AppendixB">Appendix B: References</h2>
				<p>
					The following sources and websites have proved of importance to this project.
				</p>
				<ol>
					<li>
						Loading "NLXL" | Visual communication &amp; Interaction design [online].
						Supershift, the Netherlands.
						Available at: <a href="http://www.nlxl.nl/">http://www.nlxl.nl/</a>
						[2008 09 24].
					</li>
					<li>
						Maurice van Creij.
						(2007).
						VdBJ Communicatie Groep [online].
						Supershift, the Netherlands.
						Available at: <a href="http://www.vdbj.nl/">http://www.vdbj.nl/</a>
						Mirrored at: <a href="http://www.woollymittens.nl/portfolio/VdBJ/xhtml/misc_scroll.html">http://www.woollymittens.nl/portfolio/VdBJ/xhtml/misc_scroll.html</a>
						[2008 09 24].
					</li>
					<li>
						Maurice van Creij.
						(2008).
						ClassBehaviours, the javascript framework based on class-name parsing [online].
						Available at: <a href="http://www.woollymittens.nl/">http://www.woollymittens.nl/</a>
						[2008 09 20].
					</li>
					<li>
						A History of the GUI [online].
						Ars Technica.
						Available at: <a href="http://arstechnica.com/articles/paedia/gui.ars">http://arstechnica.com/articles/paedia/gui.ars</a>
						[2008 09 20].
					</li>
					<li>
						Thomas Dickey
						Lynx source distribution directory [online].
						Internet Software Consortium.
						Available at: <a href="http://lynx.isc.org/">http://lynx.isc.org/</a>
						[2008 09 20].
					</li>
					<!--
					<li>
						Author/s or editor/s.
						(Year).
						Title [online].
						Edition.
						Place of publication: Publisher (if ascertainable).
						Available at: URL
						[Accessed Date].
					</li>
					-->
				</ol>

			]]>

			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Article</category>
			<pubDate>Thu, 16 Oct 2008 15:24:00 +0100</pubDate>
		</item>
		<item>
			<title>Technical Biography - Commodore Gaming, an Online Web-shop with a Rich User Interface</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=articles&amp;id=technical-biography-commodore#channelItem</link>
			<description>

				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore_Gaming/thumbnail.png"/&gt;
				&lt;p&gt;
					&lt;strong&gt;
						A Technological Biography of a User Interface Developer
					&lt;/strong&gt;
				&lt;/p&gt;
				&lt;p&gt;
					By Maurice van Creij
				&lt;/p&gt;

				~

			<![CDATA[

				<h2 class="clear">Index</h2>
				<ol>
					<li><a href="#Chapter1">Summary</a></li>
					<li><a href="#Chapter2">Introduction</a></li>
					<li><a href="#Chapter3">Lightwave</a></li>
					<li><a href="#Chapter4">Photoshop</a></li>
					<li><a href="#Chapter5">Java</a></li>
					<li><a href="#Chapter11">Conclusion</a></li>
				</ol>
				<ul>
					<li>Appendix A: <a href="#AppendixA">References</a></li>
				</ul>

				<h2 id="Chapter1">1. Summary</h2>
				<p>
					In this document I use the "Commodore Gaming" project to illustrate my progress in: Photoshop, Lightwave, UV Textures, Flash, Actionscript, JAVA.
				</p>

				<h2 id="Chapter2">2. Introduction</h2>
				<p>
					There's more to web-development than writing code. In highlighting one project "Commodore Gaming",
					I hope to give an insight in the broad skills required to bridge the gap between design and development.
				</p>
				<p>
					When the name Commodore was revived for the the branding of a high end gaming PC, custom decorated cases were to be a unique selling point.
					A computer case with a decorative skin is easier to sell if it can be seen from all sides in person.
					In a physical show-room, however, it would be impossible to show all possible modifications.
				</p>
				<p>
					The "Commodore Gaming" site was to have a virtual PC case for users to preview all available customizations.
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter3">3. Lightwave</h2>
				<p>
					While 3D graphics are a different trade altogether, it proves to be useful to have at least the basic skills.
					10 years of seeing to my own needs for 3D graphics have left me with a firm grip on Newtek's Lightwave 3D<sub class="litRef reset_1">0</sub>.
				</p>

				<h3>Geometry</h3>
				<p>
					Since the project was only just in the concept phase, only measurements and photographs were available to make a model of the Commodore PC case.
				</p>
				<div class="border illustration">
					<p>
						<img alt="Geometry of Commodore's PC case." src="http://www.woollymittens.nl/images/illustrations/Lightwave.jpg"/>
					</p>
					<strong>Example 1.</strong>
					<em>
						The geometry of the PC case was constructed using measurements and photographs.
					</em>
				</div>
				<p>
					An additional complication was the requirement to keep the model's complexity to a minimum for rendering in a browser.
				</p>

				<hr class="pageBreak" />

				<h3>UV Textures</h3>
				<p>
					Because the online shop was to feature almost limitless decorative variations, the texture of the case would have to fit in one file and be easy to duplicate and modify.
				</p>
				<div class="border illustration">
					<p>
						<img alt="The UV map" src="http://www.woollymittens.nl/images/illustrations/UVmap.jpg"/>
					</p>
					<strong>Example 2.</strong>
					<em>
						The case geometry was unfolded and adjusted manually to leave no uncertainty about its layout.
					</em>
				</div>
				<p>
					A UV-map can be explained as an unfolded box. Reducing all the sides of the object to one flat projection.
					This made it easy for Commodore's marketing team to rapidly develop many decorative skins for their website.
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter4">4. Photoshop</h2>
				<p>
					A template for the UV map from Lightwave was made into a photoshop document and an example skin was made to explain the principle.
				</p>
				<div class="border illustration">
					<p>
						<img alt="The decorated UV map" src="http://www.woollymittens.nl/images/illustrations/UVmap2.jpg"/>
					</p>
					<strong>Example 3.</strong>
					<em>
						The UV map is coloured in using Photoshop.
					</em>
				</div>
				<p>
					Commodore's marketing team had only to use this template to easily create skins for the virtual computer case.
				</p>

				<hr class="pageBreak" />

				<h2 id="Chapter5">5. Java</h2>
				<p>
					To display the virtual computer case in 3D, the Holomatix' Blaze 3D<sub class="litRef">0</sub> was used.
					This application provides a JAVA plugin to display 3D models in a browser.
				</p>
				<div class="border illustration">
					<pre class="codeExample">
<em>// load the external texture</em>
var newTextureUrl = (_root.textureUrl) ? _root.textureUrl : 'skin_0.jpg' ;
externalTexture.loadMovie(newTextureUrl);

<em>// change the skin</em>
replacementTexture = _root.renderWindow.Object_009.model.getMaterial("Object_009_Object_001_SkinTriSet");
replacementTexture.setData("texture", 1, "name", externalTexture);
replacementTexture = _root.renderWindow.Object_010.model.getMaterial("Object_010_Object_002_SkinTriSet");
replacementTexture.setData("texture", 1, "name", externalTexture);
replacementTexture = _root.renderWindow.Object_013.model.getMaterial("Object_013_Object_003_SkinTriSet");
replacementTexture.setData("texture", 1, "name", externalTexture);
replacementTexture = _root.renderWindow.Object_016.model.getMaterial("Object_016_Object_004_SkinTriSet");
replacementTexture.setData("texture", 1, "name", externalTexture);
					</pre>
					<strong>Example 4.</strong>
					<em>
						External files are used instead of using the single default texture.
					</em>
				</div>

				<hr class="pageBreak" />

				<p>
					Modifications were made to allow the loading of external skin files from the web-site's content management system.
				</p>
				<div class="border illustration">
					<p>
						<img alt="3D Skin Preview" src="http://www.woollymittens.nl/images/illustrations/Blaze3D.jpg"/>
					</p>
					<hr/>
					<p>
						<img alt="3D Skin Preview" src="http://www.woollymittens.nl/images/illustrations/Blaze3D2.jpg"/>
					</p>
					<strong>Example 5.</strong>
					<em>
						The virtual PC case as it appear on the "Commodore Gaming" website<sub class="litRef">0</sub>.
					</em>
				</div>

				<hr class="pageBreak" />

				<h2 id="Chapter6">6. Conclusion</h2>
				<p>
					Many different skills are all grouped under the name "web-developer".
					One cannot merely master C#, .NET or PHP and develop a rich and complete experience for the user.
				</p>
				<p>
					As the jack of all trades that web-development demands one to be, I feel that I have a very broad skill-set to work with.
					I can only hope that as the internet matures, such richness in skills is forsaken for a assembly line mentality.
				</p>

				<hr class="pageBreak" />

				<h2 id="AppendixA">Appendix A: References</h2>
				<ol>
					<li>
						Lightwave 3D [online].
						NewTek.
						Available at: <a href="http://www.newtek.com/lightwave/">http://www.newtek.com/lightwave/</a>
						[2008 09 21].
					</li>
					<li>
						Holomatix - Realtime Interactive Rendering Ray-tracing Software [online].
						Holomatix. <a href="http://www.holomatix.com/">http://www.holomatix.com/</a>
						[2008 09 21].
					</li>
					<li>
						Maurice van Creij.
						(2007).
						Website Template [online].
						Delft, the Netherlands, Supershift.
						Available at: <a href="http://www.woollymittens.nl/portfolio/Commodore_Gaming/xhtml/T57_Select_C-kin.html">http://www.woollymittens.nl/portfolio/Commodore_Gaming/xhtml/T57_Select_C-kin.html</a>
						[2008 09 21].
					</li>
				</ol>

			]]>

			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Articles</category>
			<pubDate>Thu, 16 Oct 2008 15:24:00 +0100</pubDate>
		</item>
		<item>
			<title>RPL Project Report - ClassBehaviours</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=articles&amp;id=rpl-project-report-classbehaviours#channelItem</link>
			<description>

				&lt;img alt="" class="illustration bordered" src="http://www.woollymittens.nl/images/icons_128/classBehaviour.png"/&gt;
				&lt;p&gt;
					A report for the recognition of prior learning from my "ClassBehaviours" javascript framework and rapid development methods for web user interfaces.
				&lt;/p&gt;

				~

			<![CDATA[

				<table class="clear">
					<caption>Project Information</caption>
					<tbody>
						<tr>
							<th>Dates and Duration:<th>
							<td>
								August 19 2005 - Ongoing
							</td>
						</tr>
						<tr>
							<th>Employer(s):<th>
							<td>
								Tam Tam bv<br/>
								Supershift bv<br/>
							</td>
						</tr>
						<tr>
							<th>Description:<th>
							<td>
								"ClassBehaviours" is an ongoing project to provide an open javascript framework and methodology for the rapid development
								of web user interfaces of a consistent quality by all members of a project team.
							</td>
						</tr>
						<tr>
							<th>Roles:<th>
							<td>
								Project manager, analyst and programmer
							</td>
						</tr>
					</tbody>
				</table>

				<h2>Introduction</h2>
				<p>
					ClassBehaviours is the result of several years of my development on a javascript platform that provides an easy way to implement often used user interface elements.
				</p>
				<p>
					The principle behind my library is the parsing of an HTML document for certain keywords in the class-attribute of the elements (tags).
					When a class-attribute containing a keyword is found, the ClassBehaviours library will apply the relevant event handlers belonging to the keyword.
				</p>
				<p>
					This way the scripted behaviour of user interface elements in a web page can very easily be applied and re-used without cluttering up the HTML source code with inline javascript.
				</p>
				<p>
					My ClassBehaviours library has been successfully implemented in over a hundred websites, most of which can be found in the portfolio attachment of my CV or on the classbehaviours.com website.
				</p>

				<h2>Technical Aspects</h2>
				<dl>
					<dt>Data Structures and Algorithms</dt>
					<dd>
						<p>
							I made the ClassBehaviours library itself object oriented and the main object contains modular child objects that provide the functionality.
							These modules include the main startup "class-attribute parsing" function as well as scripts I wrote for AJAX calls, sorting, searching, whipes/fades, cookies and browser-interoperability.
							Unused modules can easily be disabled and removed to save bandwidth.
						</p>
						<p>
							To support the client-side Javascript functionality I developed XML web-services in C# and PHP to make prototype AJAX applications.
							The framework's documentation and examples website at ClassBehavours.com is also built in both C# and PHP, so example code can be used on Windows, Mac OSX and Linux development environments.
						</p>
						<p>
							In my attached article "Technical Biography - Classbehaviours, the Javascript Framework Based on Class-name Parsing" in chapter "5. Javascript" I expose the source code of the core functionality of my framework as well as further explanation.
						</p>
						<p>
							The ClassBehaviours library, through the years, has grown into a complex structure of objects and functions that has taught me a complete mastery of the Javascript API, a good knowledge of C# and PHP as well as advanced concepts such as object oriented programming, asynchronous javascript and XML (AJAX) and document object model (DOM) manipulation.
						</p>
					</dd>
					<dt>Ethical/Social Implications/Professional Practice</dt>
					<dd>
						<p>
							As soon as it became apparent that my ClassBehaviours library provided a useful and infinitely re-usable tool, my then employer Bart Manuel of Tam Tam bv allowed the source code to be made open source (GPL) with me as the project administrator and rights owner.
							As well as an ethical choice of my part, his permission has allowed me to transfer my framework between employers, their business partners and my peer developers without fear of legal conflicts about intelectual property.
							The code is never sold, but all parties involved profited greatly from the rapid development of web sites my framework facilitates.
						</p>
						<p>
							Maintaining and managing my open source project has given me skills and knowledge about intellectual property law and the principles behind the GNU General Public License.
						</p>
						<p>
							My project website at classbehaviours.com gives more information about the nature of the GPL licence.
						</p>
					</dd>
				</dl>
				<hr class="pageBreak"/>
				<dl>
					<dt>Interpersonal Communications</dt>
					<dd>
						<p>
							My ClassBehaviours framework is used by many developers, both senior and junior.
							Integrating feedback and providing support is an important factor in the stability and interoperability of my framework.
						</p>
						<p>
							I take great care in maintaining documentation and working examples for peer developers to work with.
						</p>
						<p>
							Managing bugs reported by clients and features requested by my peers has greatly improved my skills in communications over the course of my framework's development.
							I also regularly consult management, designers and sales people in the ways my framework can be applied to decrease development time.
						</p>
					</dd>
					<dt>Program Design and Implementation</dt>
					<dd>
						<p>
							While it is true that my ClassBehaviours has grown into its role over the years as my skills increased, the core structure has been redesigned numerous times by me.
							When new browser technology is available it is incorporated in my framework as I redesign old and add new modules of functionality.
						</p>
						<p>
							Javascript is the de-facto language of choice for client-side scripting in web sites, but I expanded on this choice by strictly maintaining an object oriented nature.
							I develop the supporting server-side code in both C# and PHP so the server platform used is not bound to any one operating system.
						</p>
						<p>
							Every time my framework is implemented in a web-site it goes through the testing regime of the project in question.
							The feedback from this testing provides bug-reports the solution to which I can incorporate into the main trunk of my code.
						</p>
						<p>
							I also maintain working examples and a complete documentation of all ClassBehaviours modules on a central project web site at classbehaviours.com
						</p>
						<p>
							In keeping myself to these high standards, I have acquired very useful skills in the implementation and design process involved in the development of my framework.
						</p>
					</dd>
					<dt>Project Management</dt>
					<dd>
						<p>
							I am the project owner for the main trunk of my ClassBehaviours platform.
							My code is distributed under the GPL 3 open source licence on SourceForge.net and GoogleCode.com and I manage the code releases, expansions and redesigns.
						</p>
						<p>
							Since my framework is meant to reduce development time, estimates for user interface elements are often asked of me.
							I consult in planning the required adaptations or extensions and set goals for their quality and performance in the resulting web site.
						</p>
						<p>
							Managing the framework's development to encompass the wishes and requirement of clients and peers has proven to be very good training in project management.
						</p>
					</dd>
					<dt>Software Engineering and Methodologies</dt>
					<dd>
						<p>
							Developing, expanding and maintaining my ClassBehaviours framework is an ongoing and cyclic process.
						</p>
						<p>
							Every website that implements the framework starts a new cycle of adaptations, bug fixes and redesign.
							As new projects introduced new demands, the framework has grown to support traditional web applications, AJAX applications and even desktop installation through Adobe Air.
							These expansions are not added without being rigorously tested for backward compatibility though.
						</p>
						<p>
							The cyclic development methodology on the core of my framework was a very complex skill to develop, but a very important one to keep my framework modern and reliable.
						</p>
					</dd>
				</dl>

				<h2>Conclusion</h2>
				<p>
					My ClassBehaviours library is a very large project that has taken many years and is still in continuing development.
					As it has grown into a complete solution for user interface development, so have my skills in developing and managing the framework.
					ClassBehaviours contains the sum total of my programming skills and is a good example of my development as a programmer.
				</p>

				<h2>References</h2>
				<p>
					Please see my attached article "Technical Biography - Classbehaviours, the Javascript Framework Based on Class-name Parsing" for a complete documented explanation of this project with code samples.
				</p>
				<p>
					More information on the ClassBehaviours framework as well as the working examples can be found on http://www.woollymittens.nl/
				</p>

			]]>

			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Articles</category>
			<pubDate>Sun, 9 Nov 2008 11:05:00 +0100</pubDate>
		</item>
		<item>
			<title>RPL Project Report - VdBJ</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=articles&amp;id=rpl-project-report-vdbj#channelItem</link>
			<description>

				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/VdBJ/thumbnail.png"/&gt;
				&lt;p&gt;
					A report for the recognition of prior learning from the development of the VdBJ website.
				&lt;/p&gt;

				~

			<![CDATA[

				<table class="clear">
					<caption>Project Information</caption>
					<tbody>
						<tr>
							<th>Dates and Duration:<th>
							<td>
								May 18 2008 - June 16 2008
							</td>
						</tr>
						<tr>
							<th>Employer:<th>
							<td>
								Supershift bv<br/>
							</td>
						</tr>
						<tr>
							<th>Description:<th>
							<td>
								VdBJ is a Marketing and Communications Website with an AJAX Interface and C# server application, for which' development I bore most of the responsibilities.
							</td>
						</tr>
						<tr>
							<th>Roles:<th>
							<td>
								Project manager, analyst and programmer
							</td>
						</tr>
					</tbody>
				</table>

				<h2>Introduction</h2>
				<p>
					For VdBJ I kept very good documentation about the development process.
					I was involved from concept to completion and the development cycle involved a wide range of techniques.
				</p>

				<h2>Technical Aspects</h2>
				<dl>
					<dt>Data Structures and Algorithms</dt>
					<dd>
						<p>
							I constructed an XHTML web template from the graphical design using Cascading Stylesheets (CSS) for the layout.
							I chose an object oriented approach for structuring the Javascript required for the functionality of the interface.
							For the server interaction I developed a prototype XML web-service in C#.
						</p>
						<p>
							To the main object I added child objects for every functional element represented in the graphical design.
							Using this structure of objects as a "skeleton" for the functionality I implemented all the properties, methods and event handlers.
							This modular design ensured that no screen element has dependencies on other elements in different branches or lower in the hierarchy of objects.
						</p>
						<p>
							As website designs grew richer and more dynamic over the years I developed these skills as a method of keeping the development manageable.
						</p>
						<p>
							Chapter "6. Scripted Functionality" of my attached article "Technical Biography - VdBJ a Marketing and Communications Website with an AJAX Interface" contains
							code examples and further documentation of the data structures used in the VdBJ project.
						</p>
					</dd>
					<dt>Ethical/Social Implications/Professional Practice</dt>
					<dd>
						<p>
							The design for the VdBJ website called for a completely scripted interface.
							Doing so without regard for the accessibility of the resulting site for users with visual disabilities or other restricting circumstances was unacceptable to me.
							After consulting the customer extra development time was put into the budget for making the site accessible for screen reading software and text browsers.
							As a result I was able to make a website that exposes it's content in a useful way to everyone, including search engine robots.
						</p>
						<p>
							The XML web-service used for the retrieval of content from the database can render this to static HTML when more complex (AJAX) methods are not available to the user.
						</p>
						<p>
							I have built websites to the strict standards of interoperability set out by the World Wide Web Consortium (W3C) as a matter of principle ever since my participation in the accessibility course of the Bartiméus institute for the blind.
							Accessibility is a legal requirement for all web-sites commissioned by the Dutch and many other governments and I have a good knowledge of these laws and regulations.
						</p>
					</dd>
					<dt>Interpersonal Communications</dt>
					<dd>
						<p>
							The customer had made the design for their website themselves, since they were part of the graphical sector.
							I had to consult the customer on the implications many of their design decisions had on the development time and build quality.
							A compromise was reached that allowed for most of their graphical design, without sacrificing accessibility.
						</p>
						<p>
							From complex sites like this I have gained the skills needed to guide the customer to a satisfactory compromise between form and function.
						</p>
						<p>
							The navigation of the website is based on AJAX functionality. This technique involves using an XML web-service to fetch data from the server without reloading the application after every user interaction.
							I designed the prototype of this web-service and worked closely with the database application developer assigned to this project to realize the designed functionality.
						</p>
						<p>
							Developing the more database intensive AJAX applications has built my skills in working with the back-end developers.
						</p>
					</dd>
				</dl>
				<hr class="pageBreak"/>
				<dl>
					<dt>Program Design and Implementation</dt>
					<dd>
						<p>
							I designed the VdBJ website as a single complex web application. All designed elements are tied into a structure of objects and functions.
						</p>
						<p>
							Javascript is the de factor standard for the scripting of DHTML applications, but I expanded this choice into an object oriented method.
						</p>
						<p>
							C# was chosen for the server-side component of the application. It was realized as an XML web-service as wel as for rendering in plain HTML.
						</p>
						<p>
							The modular design allowed me to test the performance and correct function of each component independent of the rest.
						</p>
						<p>
							Every instruction was documented in the source-code with comments and the methods used are all presented with working examples and detailed explanations on the project website of my development framework at ClassBehaviours.com .
						</p>
						<p>
							The skills I gained from this approach allow web applications constructed this way to be supported and updated with very little effort.
						</p>
					</dd>
					<dt>Project Management</dt>
					<dd>
						<p>
							Managing the customer's expectations were a large part of my job here.
							The customer had a very clear idea of what they wanted, but no insight into the impact their choices had on the budget and deadline.
							More importantly, they had no frame of reference from the viewpoint of an end-user trying to access information on the site.
							After the impact of their choices were explained to them a compromise was reached that satisfied both the developers and the designers.
						</p>
						<p>
							I was responsible for realizing the design as well as code stability and proper accessibility of the end product.
							Being involved in the complete process cycle forms very useful project management skills.
						</p>
					</dd>
					<dt>Software Engineering and Methodologies</dt>
					<dd>
						<p>
							The main challenge in the VdBJ project was translating what must obviously have been a fanciful brainstorm session on their side
							into a practical implementation that adhered to my standards for accessibility and maintenance.
						</p>
						<p>
							Builds of this complexity benefit greatly from an object oriented approach.
							I developed the VdBJ website using a methodology one would develop a major desktop application with.
							This is quite uncommon for most dynamic scripted sites found around the internet, but something I insist on now for all my work.
						</p>
						<p>
							Please refer to my attached article "Technical Biography - VdBJ a Marketing and Communications Website with an AJAX Interface" to follow this approach from concept to realisation.
						</p>
					</dd>
				</dl>

				<h2>Conclusion</h2>
				<p>
					The complexity and chosen development process for the VdBJ project offers a very good reflection of my skills as a web user interface developer, as I was involved in every stage.
				</p>

				<h2>References</h2>
				<p>
					Please see my attached article "Technical Biography - VdBJ a Marketing and Communications Website with an AJAX Interface" for a complete documented explanation of this project with code samples.
				</p>
				<p>
					The developed website can be found at http://www.vdbj.nl/ , or failing that the original page templates can be found at http://www.woollymittens.nl/portfolio/vdbj/xhtml/ .
				</p>

			]]>

			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>Articles</category>
			<pubDate>Mon, 10 Nov 2008 18:12:00 +0100</pubDate>
		</item>
		<item>
			<title>ABF Groothandel</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=AbfGroothandel#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/AbfGroothandel/thumbnail.png"/&gt;
				&lt;p&gt;
					A very complete set of templates detailing the presentation an online shop for wooden houses.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/AbfGroothandel/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ABN Informer</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Abn_Informer#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Abn_Informer/thumbnail.png"/&gt;
				&lt;p&gt;
					An intranet application for banking news and statistics.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Abn_Informer/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ABN Open Access</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Abn_OpenAccess#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Abn_OpenAccess/thumbnail.png"/&gt;
				&lt;p&gt;
					Informational website for corporate banking.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Abn_OpenAccess/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ABN RBS</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Abn_Rbs#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Abn_Rbs/thumbnail.png"/&gt;
				&lt;p&gt;
					Corporate website for an investment bank.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Abn_Rbs/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Agis</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Agis#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Agis/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for a travel and sports insurance company.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Agis/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Win je eigen Foundation</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=Agis2#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Agis2/thumbnail.png"/&gt;
				&lt;p&gt;
					A website promoting video competition for a African charities, with a noteworthy animated homepage presentation.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Agis2/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML, Noteworthy</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Agro Energy</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=AgroEnergy#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/AgroEnergy/thumbnail.png"/&gt;
				&lt;p&gt;
					Information and account management website of an agricultural energy company.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/AgroEnergy/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Andere Overheid</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=AndereOverheid2#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/AndereOverheid2/thumbnail.png"/&gt;
				&lt;p&gt;
					Template for a promotional government website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/AndereOverheid2/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Andere Overheid Newsletter</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=AndereOverheid2Nieuwsbrief#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/AndereOverheid2Nieuwsbrief/thumbnail.png"/&gt;
				&lt;p&gt;
					The newsletter template for a promotional government website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/AndereOverheid2Nieuwsbrief/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Apeldoorn</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Apeldoorn#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Apeldoorn/thumbnail.png"/&gt;
				&lt;p&gt;
					Municipal website for the city of Apeldoorn.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Apeldoorn/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ArboUnie Cheops</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ArboUnieCheops#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUnieCheops/thumbnail.png"/&gt;
				&lt;p&gt;
					The information portal for a department of a work environment consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUnieCheops/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ArboUnie Fysergo</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ArboUnieFysergo#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUnieFysergo/thumbnail.png"/&gt;
				&lt;p&gt;
					The information portal for a department of a work environment consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUnieFysergo/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ArboUnie Intranet</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ArboUnieIntranet#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUnieIntranet/thumbnail.png"/&gt;
				&lt;p&gt;
					The intranet for a work environment consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUnieIntranet/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ArboUnie Legal</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ArboUnieLegal#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUnieLegal/thumbnail.png"/&gt;
				&lt;p&gt;
					The information portal for a department of a work environment consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUnieLegal/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Arbo Unie - Port Health Centre</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html5&amp;id=ArboUniePHC#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUniePHC/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for the immunization service and hospital of the harbour authority of Rotterdam.
					Only three HTML 5 templates were needed to realize a configurable system of columns and applications.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUniePHC/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ArboUnie Performer</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ArboUniePerformer#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUniePerformer/thumbnail.png"/&gt;
				&lt;p&gt;
					The information portal for a department of a work environment consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUniePerformer/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ArboUnie Vief</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ArboUnieVief2#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ArboUnieVief2/thumbnail.png"/&gt;
				&lt;p&gt;
					The information portal for a department of a work environment consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ArboUnieVief2/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Avis</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Avis#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Avis/thumbnail.png"/&gt;
				&lt;p&gt;
					Promotional online game for a car rental company.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Avis/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Avis Bijtelling</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=AvisBijtelling#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/AvisBijtelling/thumbnail.png"/&gt;
				&lt;p&gt;
					An application to calculate the tax benefits of leased cars.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/AvisBijtelling/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Axxius</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Axxius#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Axxius/thumbnail.png"/&gt;
				&lt;p&gt;
					A complex but competent design for an IT consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Axxius/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>BavoDag</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=BavoDag#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/BavoDag/thumbnail.png"/&gt;
				&lt;p&gt;
					Playful account management page for an event.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/BavoDag/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Bikkair</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Bikkair#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Bikkair/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal of a corporate air travel consultant.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Bikkair/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Biztalk</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html5&amp;id=Biztalk#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Biztalk/thumbnail.png"/&gt;
				&lt;p&gt;
					This limited informational template reduces the amount of page loads by handling all requests through AJAX, without sacrificing accessibility to browsers without Javascript.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Biztalk/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Blueshots</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Blueshots#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Blueshots/thumbnail.png"/&gt;
				&lt;p&gt;
					Video presentations website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Blueshots/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Bouwfonds Business to Business</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=BouwfondsBtoB#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/BouwfondsBtoB/thumbnail.png"/&gt;
				&lt;p&gt;
					Corporate entrance to an online search application for new building projects.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/BouwfondsBtoB/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Bouwfonds Business to Consumer</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=BouwfondsBtoC#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/BouwfondsBtoC/thumbnail.png"/&gt;
				&lt;p&gt;
					Consumer entrance to an online search application for new building projects.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/AbfGroothandel/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Brandweer</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Brandweer#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Brandweer/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for a fire department.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Brandweer/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Bronovo</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Bronovo#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Bronovo/thumbnail.png"/&gt;
				&lt;p&gt;
					Accessible and colour themed website for a hospital.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Bronovo/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Business Base</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=BusinessBase#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/BusinessBase/thumbnail.png"/&gt;
				&lt;p&gt;
					Colourful themes for a corporate information portal.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/BusinessBase/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Central Bureau of Statistics</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=CBS#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/CBS/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for the Dutch Central Bureau of Statistics.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/CBS/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Cheers Planet</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=CheersPlanet#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/CheersPlanet/thumbnail.png"/&gt;
				&lt;p&gt;
					The restaurant review website of a major beer brand.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/CheersPlanet/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Commodore</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Commodore#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore/thumbnail.png"/&gt;
				&lt;p&gt;
					Online media shop under the Commodore brand name.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Commodore/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Commodore C-Kin</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Commodore_Ckin#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore_Ckin/thumbnail.png"/&gt;
				&lt;p&gt;
					Information website for the new concept behind the Commodore brand name.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Commodore_Ckin/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Commodore Gaming</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=Commodore_Gaming#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore_Gaming/thumbnail.png"/&gt;
				&lt;p&gt;
					An impressive 3D interface for customized gaming PC cases. Try "T57_Select_C-kin".
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Commodore_Gaming/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML, Noteworthy</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Commodore Gravel</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Commodore_Gravel#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore_Gravel/thumbnail.png"/&gt;
				&lt;p&gt;
					A 3D animated demo of a portable music player.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Commodore_Gravel/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Commodore Nieuwsbrief</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Commodore_Nieuwsbrief#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore_Nieuwsbrief/thumbnail.png"/&gt;
				&lt;p&gt;
					A newsletter for the Commodore brand.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Commodore_Nieuwsbrief/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Commodore World</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Commodore_World#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Commodore_World/thumbnail.png"/&gt;
				&lt;p&gt;
					Main portal for the Commodore brand.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Commodore_World/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ComputerPlan</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ComputerPlan#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ComputerPlan/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for a corporate IT consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ComputerPlan/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Consumentenbond</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Consumentenbond#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Consumentenbond/thumbnail.png"/&gt;
				&lt;p&gt;
					A newsletter for a consumer rights agency.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Consumentenbond/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>De Boreel</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=DeBoreel#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/DeBoreel/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal and interactive map for a shopping mall.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/DeBoreel/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>De School</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=DeSchool#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/DeSchool/thumbnail.png"/&gt;
				&lt;p&gt;
					Colourful yet professional interface for a school.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/DeSchool/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Sream Catcher</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=DreamCatcher#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/DreamCatcher/thumbnail.png"/&gt;
				&lt;p&gt;
					Promotional website for a new-age shop.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/DreamCatcher/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Enraf</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Enraf#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Enraf/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for an engineering consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Enraf/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Erasmus MC</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ErasmusMC#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ErasmusMC/thumbnail.png"/&gt;
				&lt;p&gt;
					Artistically daring design for a hospital website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ErasmusMC/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Esri</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Esri#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Esri/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for a geographical survey company.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Esri/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Flooms</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Floom#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Floom/thumbnail.png"/&gt;
				&lt;p&gt;
					A small, but playfully animated, agenda service.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Floom/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Gametron</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=Gametron#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Gametron/thumbnail.png"/&gt;
				&lt;p&gt;
					An online shop with an extensive system of back-end forms for transactions. Care was taken to render all typography and animation in easily adaptable HTML 5.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Gametron/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5, Noteworthy, NDA</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Gerard van Strien</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=GerardVanStrien#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/GerardVanStrien/thumbnail.png"/&gt;
				&lt;p&gt;
					Understated but very complete set of templates for a stone floors and tiles.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/GerardVanStrien/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Global Listings</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=GlobalListings#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/GlobalListings/thumbnail.png"/&gt;
				&lt;p&gt;
					Listing of international TV stations.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/GlobalListings/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>GMI Corporate</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=GmiCorporate#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/GmiCorporate/thumbnail.png"/&gt;
				&lt;p&gt;
					Corporate portal for a publisher of evangelical media.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/GmiCorporate/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>GMI TV</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=GmiTv#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/GmiTv/thumbnail.png"/&gt;
				&lt;p&gt;
					Online shop for evangelical media.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/GmiTv/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>GMI World of Joy</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=GmiWorldOfJoy#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/GmiWorldOfJoy/thumbnail.png"/&gt;
				&lt;p&gt;
					Promotional website for an evangelical music event.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/GmiWorldOfJoy/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>History of your Name</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=HistoryOfYourName#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/HistoryOfYourName/thumbnail.png"/&gt;
				&lt;p&gt;
					A rich design promoting a genealogy service.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/HistoryOfYourName/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Hit Dossier Top 40</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=HitDossierTop40#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/HitDossierTop40/thumbnail.png"/&gt;
				&lt;p&gt;
					Custom web-shop for a music compilation.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/HitDossierTop40/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Hypotheker</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Hypotheker#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Hypotheker/thumbnail.png"/&gt;
				&lt;p&gt;
					The extensive information portal and calculation tool for a mortgage consultant.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Hypotheker/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Inbo</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Inbo#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Inbo/thumbnail.png"/&gt;
				&lt;p&gt;
					Minimalistic interface for an architect.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Inbo/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ING Event Builder</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=IngEventBuilder#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/IngEventBuilder/thumbnail.png"/&gt;
				&lt;p&gt;
					Registration interface for a series of organized events.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/IngEventBuilder/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ING Pole Position</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=IngPolePosition#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/IngPolePosition/thumbnail.png"/&gt;
				&lt;p&gt;
					Promotional website for a series of organized events.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/IngPolePosition/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>INg Portal</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=IngPortal#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/IngPortal/thumbnail.png"/&gt;
				&lt;p&gt;
					Entrance to the photo management of a corporate portal.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/IngPortal/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>I to I</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=ItoI#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ItoI/thumbnail.png"/&gt;
				&lt;p&gt;
					An angular design that overlays drop-shadows and gradients in rather complex ways.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ItoI/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Keiskeurig</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Kieskeurig#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Kieskeurig/thumbnail.png"/&gt;
				&lt;p&gt;
					A search tool for review scores.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Kieskeurig/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Klinieken Info</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=KliniekenInfo#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/KliniekenInfo/thumbnail.png"/&gt;
				&lt;p&gt;
					An information portal.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/KliniekenInfo/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Kobalt</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Kobalt#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Kobalt/thumbnail.png"/&gt;
				&lt;p&gt;
					An unremarkable website with colourful and interesting curved features.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Kobalt/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Luister Hier</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=LuisterHier#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/LuisterHier/thumbnail.png"/&gt;
				&lt;p&gt;
					Tricky column interface for an online music shop.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/LuisterHier/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Make a Wish</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MakeAWish#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MakeAWish/thumbnail.png"/&gt;
				&lt;p&gt;
					An administration interface for the "Make a Wish" foundation.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MakeAWish/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Markplaats</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Marktplaats#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Marktplaats/thumbnail.png"/&gt;
				&lt;p&gt;
					Expansion to an auction site, made to look exactly like the rather primitive original.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Marktplaats/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Media Unity</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MediaUnity#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MediaUnity/thumbnail.png"/&gt;
				&lt;p&gt;
					A richly animated registration page that combines flash with javascript.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MediaUnity/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Milieukeur</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Milieukeur#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Milieukeur/thumbnail.png"/&gt;
				&lt;p&gt;
					A scripted quiz.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Milieukeur/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Millian</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Millian#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Millian/thumbnail.png"/&gt;
				&lt;p&gt;
					An application interface to seamlessly place into an existing website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Millian/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Min Vws Premieberekening</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MinVwsPremieberekening#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MinVwsPremieberekening/thumbnail.png"/&gt;
				&lt;p&gt;
					A rich interface to calculate insurance rates.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MinVwsPremieberekening/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>MkBasics</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MkBasics#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MkBasics/thumbnail.png"/&gt;
				&lt;p&gt;
					Templates for a newsletter, designed to display properly in a variety of email applications.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MkBasics/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Monocle</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Monocle#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Monocle/thumbnail.png"/&gt;
				&lt;p&gt;
					A skin made for a generic shop interface
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Monocle/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Monsterboard B2B</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MonsterboardB2B#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MonsterboardB2B/thumbnail.png"/&gt;
				&lt;p&gt;
					Information portal for a business to business entrance.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MonsterboardB2B/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Monsterboard European Jobs</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MonsterboardEuropeanJobs#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MonsterboardEuropeanJobs/thumbnail.png"/&gt;
				&lt;p&gt;
					A complex spreadsheet table for calculating rates.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MonsterboardEuropeanJobs/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Monsterboard Facts and Figures</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MonsterboardFactsAndFigures#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MonsterboardFactsAndFigures/thumbnail.png"/&gt;
				&lt;p&gt;
					A colourful graphing tool.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MonsterboardFactsAndFigures/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Monsterboard Guided Selling Wizard</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MonsterboardGuidedSellingWizzard#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MonsterboardGuidedSellingWizzard/thumbnail.png"/&gt;
				&lt;p&gt;
					A wizard interface placed on top of a website as a separate graphical layer.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MonsterboardGuidedSellingWizzard/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Monsterboard Rotalist</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=MonsterboardRotaListDiscount#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/MonsterboardRotaListDiscount/thumbnail.png"/&gt;
				&lt;p&gt;
					A simple business to business interface.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/MonsterboardRotaListDiscount/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Nederlands Energie Maatschappij</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=NederlandseEnergieMaatschappij#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/NederlandseEnergieMaatschappij/thumbnail.png"/&gt;
				&lt;p&gt;
					Despite the complex graphics an easily adapted website to promote and energy company.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/NederlandseEnergieMaatschappij/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Nederlands Energie Maatschappij - Intranet</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html5&amp;id=NederlandseEnergieMaatschappij2#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/NederlandseEnergieMaatschappij2/thumbnail.png"/&gt;
				&lt;p&gt;
					This intranet design facilitates many layers of recursing applications in a light framework of only 5 templates.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/NederlandseEnergieMaatschappij2/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>NIB Capital</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=NibCapital#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/NibCapital/thumbnail.png"/&gt;
				&lt;p&gt;
					A subtle design for an investment bank.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/NibCapital/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>NMB</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Nmb#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Nmb/thumbnail.png"/&gt;
				&lt;p&gt;
					A simple commercial website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Nmb/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Oncologie TV</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Oncologie#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Oncologie/thumbnail.png"/&gt;
				&lt;p&gt;
					An interface for embedded video presentations.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Oncologie/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Personal Voices</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=PersonalVoices#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/PersonalVoices/thumbnail.png"/&gt;
				&lt;p&gt;
					A simple web shop.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/PersonalVoices/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Pieter van Foreest</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=PieterVanForeest#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/PieterVanForeest/thumbnail.png"/&gt;
				&lt;p&gt;
					An accessible website for elderly patients of a care institution.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/PieterVanForeest/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Pretium Winkansenverdubbelaar</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=PretiumScrabble#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/PretiumScrabble/thumbnail.png"/&gt;
				&lt;p&gt;
					A system of layered requesters for a promotional online game.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/PretiumScrabble/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Pretium Telecom</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=PretiumTelecom#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/PretiumTelecom/thumbnail.png"/&gt;
				&lt;p&gt;
					An animated interface using layers of elements with drop shadows.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/PretiumTelecom/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Pretium Privilege</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html&amp;id=PretiumPrivilege#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/PretiumPrivilege/thumbnail.png"/&gt;
				&lt;p&gt;
					An online shop based on reverse auctions. This site incorporates a lot of dynamic controls and realtime updates.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/PretiumPrivilege/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5, Noteworthy, NDA</category>
			<pubDate>Mon, 19 Jul 2010 11:15:00 +0100</pubDate>
		</item>
		<item>
			<title>Quadia</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Quadia#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Quadia/thumbnail.png"/&gt;
				&lt;p&gt;
					A minimalistic corporate website with a rich typography.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Quadia/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>RDA</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Rda#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Rda/thumbnail.png"/&gt;
				&lt;p&gt;
					A simple website to compliment an accountant's business card.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Rda/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Royal Haskoning</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Rhk#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Rhk/thumbnail.png"/&gt;
				&lt;p&gt;
					A colour themed skin built to fit an existing corporate website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Rhk/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>RIG Investment</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=RigInvestment#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/RigInvestment/thumbnail.png"/&gt;
				&lt;p&gt;
					A set of templates that stack the content from a conventional content management system on top of a richly animated decoration.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/RigInvestment/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>RIVM</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Rivm#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Rivm/thumbnail.png"/&gt;
				&lt;p&gt;
					A set of adaptable templates that adhere to the strictest government accessibility guidelines.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Rivm/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>EO - Ronduit</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=RondUit#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/RondUit/thumbnail.png"/&gt;
				&lt;p&gt;
					Online music shop for an evangelical television station.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/RondUit/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>RTL Nieuws</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=RtlNieuws#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/RtlNieuws/thumbnail.png"/&gt;
				&lt;p&gt;
					Try clicking the headlines in this novel animated interface for a television news channel.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/RtlNieuws/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML, Noteworthy</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>RTL Nieuws - Version 2</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=RtlNieuws2#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/RtlNieuws2/thumbnail.png"/&gt;
				&lt;p&gt;
					Second interface prototype for a television news channel.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/RtlNieuws2/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Skikker</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Skikker#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Skikker/thumbnail.png"/&gt;
				&lt;p&gt;
					A colourful animated template with a full range of shop interface elements.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Skikker/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Split</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Split#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Split/thumbnail.png"/&gt;
				&lt;p&gt;
					An online discussion forum to promote a political documentary.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Split/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Stemwijzer</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Stemwijzer#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Stemwijzer/thumbnail.png"/&gt;
				&lt;p&gt;
					A playfully animated interface to promote voting.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Stemwijzer/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Supershift</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Supershift#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Supershift/thumbnail.png"/&gt;
				&lt;p&gt;
					Despite the time restrictions, this temporary website proved to be a surprisingly durable design.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Supershift/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Supershift Version 2</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=Supershift2#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Supershift2/thumbnail.png"/&gt;
				&lt;p&gt;
					This second iteration of my employer's website features many animated interface elements without compromising the flexibility of content.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Supershift2/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5, Noteworthy</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Supershift - Web Information Manager</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Supershift_Wim#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Supershift_Wim/thumbnail.png"/&gt;
				&lt;p&gt;
					An attractive but easily adaptable interface for customized content management systems.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Supershift_Wim/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Suprieur Breedband</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Suprieur#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Suprieur/thumbnail.png"/&gt;
				&lt;p&gt;
					A subtly animated interface for an internet service provider.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Suprieur/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Suprieur Breedband - Version 2</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=SuprieurBreedband#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/SuprieurBreedband/thumbnail.png"/&gt;
				&lt;p&gt;
					These templates lean heavily on graphical tricks to match a complex background pattern to a variety of foreground elements.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/SuprieurBreedband/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Tarifa</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Tarifa#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Tarifa/thumbnail.png"/&gt;
				&lt;p&gt;
					A richly designed interface for a travel website.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Tarifa/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Time Warner - White Label Shop Interface</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=TimeWarner#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/TimeWarner/thumbnail.png"/&gt;
				&lt;p&gt;
					Adaptable generic interface for the online shop of a publisher.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/TimeWarner/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Time Warner - Play.com</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=TimeWarner_playCom#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/TimeWarner_playCom/thumbnail.png"/&gt;
				&lt;p&gt;
					A customized example of the previous generic interface.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/TimeWarner_playCom/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>TNT Netwerk VSP</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=TntNetwerkVsp#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/TntNetwerkVsp/thumbnail.png"/&gt;
				&lt;p&gt;
					A heavily animated and richly designed interface to appeal to the youthful users of a paper delivery service.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/TntNetwerkVsp/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Top Nurse</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=TopNurse#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/TopNurse/thumbnail.png"/&gt;
				&lt;p&gt;
					a fairly typical job-search interface with a daring variation to the markup of forms.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/TopNurse/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Truvo</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Truvo#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Truvo/thumbnail.png"/&gt;
				&lt;p&gt;
					A typical set of animated elements to plug into an existing client web-site.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Truvo/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>VOxpress</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=VOxpress#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/VOxpress/thumbnail.png"/&gt;
				&lt;p&gt;
					A playful intranet design that leans heavily on graphical tricks to build up layers of design elements.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/VOxpress/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>VdBJ</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=Noteworthy&amp;id=VdBJ#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/VdBJ/thumbnail.png"/&gt;
				&lt;p&gt;
					A daring fully animated interface for a magazine publisher. Despite being fully scripted, the site remains perfectly accessible for search engines and limited/mobile browsers.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/VdBJ/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML, Noteworthy</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Verzuimportaal</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Verzuimportaal#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Verzuimportaal/thumbnail.png"/&gt;
				&lt;p&gt;
					This rich interface for reporting sick leave, did not need to be compromised for use on the web.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Verzuimportaal/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Wemos</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Wemos#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Wemos/thumbnail.png"/&gt;
				&lt;p&gt;
					This deceptively simple designs required a surprising amount of versatility to the HTML template.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Wemos/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>World of Goals</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html5&amp;id=WorldofGoals#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/WorldofGoals/thumbnail.png"/&gt;
				&lt;p&gt;
					A fantasy football league website with dynamic tables and sorting.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/WorldofGoals/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5, NDA</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>White Label Online Music Shop</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=WhiteLabel#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/WhiteLabel/thumbnail.png"/&gt;
				&lt;p&gt;
					An easily adaptable prototype for the rapid deployment of online music shops.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/WhiteLabel/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>Ministry of Health, Welfare and Sports</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Wmo#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Wmo/thumbnail.png"/&gt;
				&lt;p&gt;
					An informative government website that adheres to the strictest of accessibility rules, without sacrifices to the interface.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Wmo/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>XS Check</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=XsCheck#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/XsCheck/thumbnail.png"/&gt;
				&lt;p&gt;
					A versatile reporting system for accessibility reports using XML marked up with CSS.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/XsCheck/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>XS Check Reports</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=xhtml&amp;id=Accessibility#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/Accessibility/thumbnail.png"/&gt;
				&lt;p&gt;
					The informational website for a web accessibility consultancy.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/Accessibility/xhtml/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>XHTML</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
		<item>
			<title>ZSV Zeist</title>
			<link>http://www.woollymittens.nl/default_adkiuck.php?cat=html5&amp;id=ZSV_Zeist#channelItem</link>
			<description>
				&lt;img alt="" class="illustration" src="http://www.woollymittens.nl/portfolio/ZSV_Zeist/thumbnail.png"/&gt;
				&lt;p&gt;
					This site has a complete set of common user-interface elements done in HTML 5 and a playful animation system behind every mouse interaction.
				&lt;/p&gt;
				~
				<![CDATA[
					<div class="portfolioList">
						<meter></meter>
						<a class="animatedClassName click_0,4,4 id_popUp" href="http://www.woollymittens.nl/portfolio/ZSV_Zeist/html/index.html" target="popUpIframe">
							Show the templates of this project.
						</a>
					</div>
					<script type="text/javascript" src="http://www.woollymittens.nl/scripts/jquery.classbehaviours.portfoliolist.js"></script>
				]]>
			</description>
			<author>Maurice@WoollyMittens.nl</author>
			<category>HTML5</category>
			<pubDate>Fri, 1 Jan 2010 20:10:00 +0100</pubDate>
		</item>
	</channel>
</rss>
