<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>ThePickards &#187; Articles</title>
	<atom:link href="http://www.thepickards.co.uk/index.php/category/articles/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.thepickards.co.uk</link>
	<description>ranting and rambling to anyone willing to listen</description>
	<lastBuildDate>Thu, 14 Jan 2010 07:39:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Selecting Schools for Sons</title>
		<link>http://www.thepickards.co.uk/index.php/200710/selecting-schools-for-sons/</link>
		<comments>http://www.thepickards.co.uk/index.php/200710/selecting-schools-for-sons/#comments</comments>
		<pubDate>Mon, 08 Oct 2007 05:49:40 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Life]]></category>
		<category><![CDATA[Local Interest]]></category>
		<category><![CDATA[The Pickards]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200710/selecting-schools-for-sons/</guid>
		<description><![CDATA[I might have mentioned before, the elder of my two children will be starting school next September, and we&#8217;ve had to apply for his school. There are a number of things you need to consider when you&#8217;re considering your son&#8217;s primary education, because you know it&#8217;s important (it&#8217;s one more thing that as a parent, [...]]]></description>
			<content:encoded><![CDATA[<p>I might have mentioned before, the elder of my two children will be starting school next September, and we&#8217;ve had to apply for his school.</p>
<p>There are a number of things you need to consider when you&#8217;re considering your son&#8217;s primary education, because you know it&#8217;s important (it&#8217;s one more thing that as a parent, you have the opportunity to fret about).</p>
<p><a href="http://www.flickr.com/photos/64075821@N00/1507555051/" title="Beamish Board School (1891) on Flickr"><img src="http://farm3.static.flickr.com/2089/1507555051_b804bd17e5_m.jpg" width="240" height="227" alt="Beamish Board School (1891)" class="float_right" /></a></p>
<p>Obviously, you want your child to go to a <strong>modern</strong> school. </p>
<p>Secondly, you need to consider what schools are in your catchment area, as you will stand a better chance of getting your children into one of these. You also need to consider things like siblings: if a child already has a sibling in a school, they are given higher priority than one in equal circumstances without a sibling in that school (at least, that&#8217;s how it works in our area).</p>
<p class="clear_both">What we certainly don&#8217;t want to happen is for one child to get into one school, and then the second child not be able to get into that school. So our preference will be for a school where we&#8217;re already in the catchment area.</p>
<p>But then how do we decide? That gives us the choice of a Church of England school or a &#8220;standard&#8221; school, both of which rank ahead of the area&#8217;s average, and the nation&#8217;s average, for educational achievement, so both have good reputations.</p>
<p>So how do you make that decision?<span id="more-428"></span></p>
<p>Well, I&#8217;d suppose you&#8217;d want your child to go to a forward-thinking school, where they would treat everyone equally, regardless of their ethnic background, whether or not they are disabled, irrespective of the marital status and/or sexual orientation of their parents, and where, basically, girls and boys are treated <strong>equally</strong>, rather than some being shoved through some kind of metaphorical &#8216;back door&#8217;.</p>
<p><a href="http://www.flickr.com/photos/64075821@N00/1507555351/" title="Board School Girls' Entrance on Flickr"><img src="http://farm3.static.flickr.com/2122/1507555351_35b4d05581_m.jpg" width="129" height="240" alt="Board School Girls' Entrance" class="float_left"/></a></p>
<p>You want a school that treats pupils fairly, and instils in them respect for the world around them, respect for other cultures, and teaches them <strong>about</strong> religious belief, but not in such a way that they don&#8217;t feel able to question it.</p>
<p>You want a school, in other words that will give your children the tools to &mdash; <em>respectfully</em>, of course &mdash; take on the world. So how do you decide which of the two in the catchment area is the most appropriate?</p>
<p>Well, what else is there available that you could possibly consider. Have you looked at the <strong>facilities</strong> available to the school?</p>
<p><a href="http://www.flickr.com/photos/64075821@N00/1508410532/" title="Montage of old-fashioned school desks and cloakroom on Flickr"><img src="http://farm3.static.flickr.com/2053/1508410532_51a5f90e6d_m.jpg" width="240" height="153" alt="Montage of old-fashioned school desks and cloakroom" class="clear_both float_right" /></a></p>
<p>Do you consider which of the two schools has the most modern facilities, and is best suited to your child&#8217;s education? To some extent this amounts simply to saying &#8220;which school has the most money&#8221;. Is that really a <strong>fair</strong> way to arrive at that sort of decision?</p>
<p>But then again, am I prepared to be &#8220;fair&#8221; with my children&#8217;s education? Or am I more likely to fight as best I can to ensure that they get the best education possible, whether that&#8217;s &#8220;fair&#8221; or not?</p>
<p>And after all, it&#8217;s not only the facilities of the buildings themselves, that needs to be consider, it&#8217;s the teaching methods as well.</p>
<p><a href="http://www.flickr.com/photos/64075821@N00/1507552881/" title="Board School Blackboard with old-fashioned maths calculations on Flickr"><img src="http://farm3.static.flickr.com/2156/1507552881_09ffe2ef27_m.jpg" width="215" height="240" alt="Board School Blackboard with old-fashioned maths calculations"  class="float_left" /></a></p>
<p>Do the schools offer a computing suite? Do they have internet access (and how is it monitored?) Are children encouraged to experiment to find out the answers to a solution, or does the school prefer more traditional, rote-learning methods?</p>
<p>And then of course there is the curriculum: schools have guidance as to what to teach the children within certain parameters, but it can obviously be approached in different ways, and one school may focus on some areas of the curriculum that another finds less important. </p>
<p>There may well only be small variations between one school and another (particularly when those schools are close to each other) but if you remember that in general &mdash; particularly once he/she&#8217;s been there a few years &mdash; what the <strong>school</strong> deems important, or appropriate in approach, will tend to mirror what the <strong>Head</strong> thinks.</p>
<p><a href="http://www.flickr.com/photos/64075821@N00/1507554399/" title="Chart from Beamish Board School showing the geneology of the Kings of England (on Flickr)"><img src="http://farm3.static.flickr.com/2257/1507554399_7b28c62679_m.jpg" width="240" height="124" alt="Chart from Beamish Board School showing the geneology of the Kings of England" class="float_right" /></a></p>
<p>You need to consider the approach to education taken by the school: what do <strong>they</strong> want your child to learn? Are those the same things that <strong>you</strong> consider important?</p>
<p>Schools may also consider teaching things which aren&#8217;t directly part of the curriculum, if they feel it fits in: can you help a child learn more about their place in the world through looking at the history of their region, through the history of education, or through some other context?</p>
<p>So what you do is you pick up a prospectus from each school and you compare them against one another. You discover that the schools have something approaching the same facilities, the same teaching methods, and that while one has scored consistently <em>slightly</em> higher on educational achievement at age 11, both are scoring very well indeed, and as you know personally, going to a below average school doesn&#8217;t necessarily hold you back anyway.</p>
<p>Is there anything else to consider?</p>
<p>Yes. Do the schools encourage sporting activity?</p>
<p><a href="http://www.flickr.com/photos/64075821@N00/1507553453/" title="BTP playing with a metal 'hoop and stick' game called a Booler (on Flickr)"><img src="http://farm3.static.flickr.com/2351/1507553453_c07306d6f6_m.jpg" width="198" height="240" alt="BTP playing with a metal 'hoop and stick' game called a Booler" class="float_left"/></a></p>
<p>Do the schools have access to playing fields? Do they encourage children to take part in solitary games, team games and so on? Do they have access to decently trained staff? Do they actually have proper sporting equipment? Although that&#8217;s probably not one to worry about: I&#8217;d imagine both schools are relatively well organised so it&#8217;s not like they&#8217;d be sending the kids out with a hoop and a stick, is itâ€¦</p>
<p>So, you&#8217;ve had all of these different things to consider, how do you finally decide how to narrow down your child&#8217;s first choice school on the application form (bearing in mind that the other school is going down as the second choice, anyway)? </p>
<p>Well, <strong>firstly</strong>, you eliminate the recreation of a school from 1913 that you&#8217;ve used as the basis for all of the photographs (all photographs taken of the school in the Colliery Village area of the open-air <a href="http://www.beamish.org.uk/">Beamish Museum</a> in County Durham &mdash; well worth a look if you&#8217;re ever in the vicinity), and you just consider the schools that your child is actually in the catchment area for.</p>
<p>Yes, if you ignore the photography, this actually <strong>is</strong> a serious article&#8230;</p>
<p>But then what?</p>
<p>Well, you weigh up all of the factors you&#8217;ve <em>already</em> considered, and when the result &mdash; as it has done here &mdash; has come out fairly close between two schools, you add in one final factor. <strong>Which one your son would rather go to</strong>.</p>
<p>As it happens, BTP&#8217;s request was to go to the school that my wife and myself slightly favoured ahead of the other one anyway, but I like to think that &mdash; assuming that there wasn&#8217;t a significant difference between the two &mdash; we&#8217;d always consider his opinion important in making a decision like this. </p>
<p>After all, <strong>he</strong> will be the one who goes thereâ€¦ </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200710/selecting-schools-for-sons/feed/</wfw:commentRss>
		<slash:comments>27</slash:comments>
		</item>
		<item>
		<title>Proposed Public Sector Web Accessibility Guidelines</title>
		<link>http://www.thepickards.co.uk/index.php/200709/proposed-public-sector-web-accessibility-guidelines/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/proposed-public-sector-web-accessibility-guidelines/#comments</comments>
		<pubDate>Thu, 20 Sep 2007 05:55:16 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Disability]]></category>
		<category><![CDATA[Public Sector]]></category>
		<category><![CDATA[Standards]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/proposed-public-sector-web-accessibility-guidelines/</guid>
		<description><![CDATA[Firstly, what gives me the right to propound my proposed public sector guidelines to you all? What makes me think I know more about accessibility than the WAI or the UK Cabinet Office? Nothing. What I do have is considerable experience and knowledge in the field of accessibility, and considerable experience and knowledge of working [...]]]></description>
			<content:encoded><![CDATA[<p>Firstly, what gives me the right to propound my proposed public sector guidelines to you all? What makes me think I know more about accessibility than the <a href="http://www.w3.org/WAI/"><acronym title="Web Accessibility Initiative">WAI</acronym></a> or the <a href="http://www.cabinetoffice.gov.uk/">UK Cabinet Office</a>?</p>
<p><strong>Nothing</strong>.</p>
<p>What I do have is considerable experience and knowledge in the field of accessibility, and considerable experience and knowledge of working in the public sector in the UK, having not only worked for my public sector employer, but also having discussed common accessibility issues with other public (and private) sector webbies from around the world. </p>
<p>I&#8217;m not claiming this lot of guidelines is going to be perfect: I&#8217;ll state right now that they aren&#8217;t. They are <strong>intended to be a bodge job</strong>: something practical, achievable and <em>where possible</em> measurable that will bring benefit to users with disabilities. They are intended to be suitable for the UK Public Sector as a whole, whom I don&#8217;t expect to have a great deal of specific knowledge about accessibility. </p>
<p>They are also intended to be a first draft, to be kicked around and updated by other people taking part in the <acronym title="Public Sector Web Management Group">PSWMG</acronym> <a href="http://www.pswmg.org.uk/viewtopic.php?id=34">as I proposed earlier</a>, so I&#8217;m expecting that they will evolve, not to become the perfect set of accessibility guidelines, but to become <em>more appropriate to the UK public sector</em>. That&#8217;s all I&#8217;m pitching them at.</p>
<p>Right. That&#8217;s the <strong>why</strong>, now let&#8217;s get down to the <strong>what</strong>.<span id="more-414"></span></p>
<h3>The Reasoning Behind The Guidelines</h3>
<p>The guidelines are a mix of stuff from <acronym title="Web Content Accessibility Guidelines">WCAG</acronym> versions 1 and 2, with a couple of my own ideas thrown in too. One of the key things about these guidelines is that I would expect them to be regularly reviewed and either re-approved or revised by the PSWMG to avoid the farcical situation we have now where WCAG 1.0 is the set of officially sanctioned guidelines that we are expected to adhere to but they are somewhat dated, and sites are being told that because they fail the mandatory guidelines, they are <strong>inaccessible</strong>, simply for using a deprecated attribute such as <code>valign</code> which, while not being good practice, is not going to suddenly mean that someone with a disability can&#8217;t use the site.</p>
<p>I&#8217;m proposing to stick with three accessibility &#8216;levels&#8217;, with a similar plan to what there is now, except that I&#8217;m simply going to call the levels &#8216;Critical&#8217;, &#8216;Important&#8217; and &#8216;Desirable&#8217;. Obviously the target is for <em>everyone</em> to be able to achieve all of the &#8216;Critical&#8217; and &#8216;Important&#8217; levels. I&#8217;m focusing primarily on &#8216;what affects users with disabilities&#8217;. Stuff that is good practice but won&#8217;t directly affect users with disabilities may be found in the &#8216;Desirable&#8217; category.</p>
<p>I don&#8217;t expect everyone to agree with my selections. I don&#8217;t expect everyone to agree with the importance I&#8217;ve associated with them. That&#8217;s why I said that this was a <em>first draft</em>, and why I&#8217;m proposing that the other members of the PSWMG kick around with it and that <em>between us</em> we arrive at a set of standards we can all endorse.</p>
<p>The other thing (and this may be controversial, but I&#8217;m trying to strike a balance between the people who reject accessibility because they perceive it as difficult or onerous, and the people <em>they</em> perceive as accessibility zealots) is that I have deliberately reduced the number of criteria. WCAG 1 has 65 &#8216;checkpoints&#8217;. WCAG 2 has 56 &#8216;success criteria&#8217;. I want to deliberately reduce that number further, so to simplify things I have tried to stick to 15 checkpoints at each level, or 45 in total.</p>
<h3>Critical Guidelines</h3>
<ol>
<li>Provide a text <strong>equivalent</strong> for every non-text element (null if decorative); note that an equivalent to a visual CAPTCHA would be an audio CAPTCHA</li>
<li>Ensure that all information conveyed with colour is also available without colour</li>
<li>For data tables, identify row and column headers</li>
<li>Ensure that pages are usable when scripting and other programmatic objects are unavailable <strong>or</strong> that the scripting/programmatic objects used work with assistive technologies</li>
<li>Do not cause pop-ups or other windows to appear, and do not change the current window except when initiated by the user</li>
<li>Clearly identify the target of each link from the link <em>with surrounding context</em></li>
<li>Associate labels <strong>explicitly</strong> with their controls</li>
<li>Ensure that text (and images of text) have a luminosity contrast ratio of at least 5:1 (or 3:1 if larger than 14 point)</li>
<li>Ensure that text size can be adjusted up or down two size increments (approximately 50% up and 40% down) without loss of content or functionality</li>
<li>Ensure that if the sequence in which information is presented affects the meaning (e.g. in a series of instructions), that the correct reading sequence can be programmatically determined and that keyboard/tab navigation is consistent with that sequence</li>
<li>Audio description of video, or a full text alternative for multimedia, is provided for pre-recorded multimedia</li>
<li>For any time-based multimedia presentation (e.g. a movie or animation), syncronize equivalent alternatives (e.g. captions or audio description) with the presentation</li>
<li>Captions are provided for pre-recorded multimedia except where that multimedia is itself provided as an alternative to text</li>
<li>All functionality of the content is operable through a keyboard</li>
<li>Content does not contain anything that flashes more than three times in any one second period, or the flash is below the general and red flash thresholds</li>
</ol>
<h3>Important Guidelines</h3>
<ol>
<li>Information and relationships conveyed through presentation can be programmatically determined through the correct use of appropriate elements (e.g. headings and list markup used correctly)</li>
<li>Navigation mechanisms are used in a consistent manner</li>
<li>More than one way is available to locate content (i.e. more than one of site map, search page, table of contents, in-page links, navigation mechanisms)</li>
<li>Do not use tables for layout unless the table makes sense when linearized</li>
<li>Identify the primary natural language of the document</li>
<li>If any audio plays for more than 3 seconds, provide a mechanism to pause or switch off the audio</li>
<li>Any audio content that contains foreground speech does not contain background sounds that make it difficult to hear the foreground speech</li>
<li>Web pages have meaningful titles</li>
<li>A mechanism (glossary, in-page definition or link to an explanation) is available for identifying specific definitions of words or phrases that are used in an unusual or restricted way, including idioms and jargon</li>
<li>The clearest and simplest language appropriate to the content is used (reading ability required should be no more than that expected for age 14)</li>
<li>For forms that cause transactions to occur, either the transactions must be reversible or the user must be presented with the details to check and confirm before the transaction takes place</li>
<li>If an input error is detected, the item in error is identified and described to the user along with suggestions for correction <em>if known and appropriate</em> (e.g. &#8220;this field should be numeric&#8221; is fine; &#8220;the password for this user is actually &#8217;9Shearer9&#8242;&#8221; is not)</li>
<li>A mechanism is available to bypass blocks of content that are repeated on multiple web pages (e.g. allow headers and navigation sections to be skipped)</li>
<li>A mechanism for finding the expanded form of abbreviations (including acronyms and initialisms) is available &#8212; by use of the appropriate element with title, by an inline expansion, by a link to a glossary etc.</li>
<li>Documents made available in PDF format must either <strong>also</strong> be available in a text format (HTML or plain text) <strong>or</strong> must be tagged and structured so that they are accessible to users of assistive technology</li>
</ol>
<h3>Desirable Guidelines</h3>
<ol>
<li>Identify changes in the natural language of a document&#8217;s text</li>
<li>Ensure that pages are usable when scripting and other programmatic objects are unavailable (strengthens guideline C4)</li>
<li>Do not use tables for layout</li>
<li>Provide different types of searches for different skill levels and preferences</li>
<li>Create a style of presentation that is consistent across the site</li>
<li>Ensure that timing is not an essential part of the activity of the content, except for non-interactive multimedia, time-based testing or real-time events</li>
<li>Clearly identify the target of each link from the link <em>alone</em> (strengthens guideline C6)</li>
<li>Information about the user&#8217;s location within a set of web pages is available (e.g. via the navigation mechanisms or a breadcrumb trail)</li>
<li>Deprecated attributes or elements are not used</li>
<li>Pages validate to the specifications used</li>
<li>Documents can be read without style sheets</li>
<li>Text is not right-justified</li>
<li>Sign-language interpretation is provided for pre-recorded multimedia</li>
<li>Ensure that text (and images of text) have a luminosity contrast ratio of at least 7:1 &#8212; or 5:1 if larger than 14 point (strengthens guideline C8)</li>
<li>Text size can be adjusted to anywhere between 50% and 200% of the original size without loss of content or function, and up or down three size increments without requiring the user to scroll horizontally (strengthens guideline C9)</li>
</ol>
<h3>Comments</h3>
<p>Comments are <strong>open</strong> but if you work in the UK public sector, I would rather you made comment on the appropriate <a href="http://www.pswmg.org.uk/viewtopic.php?id=34">discussion thread</a>. The reason for this is that comments made <em>there</em> will be drawn together to help form a consensus of opinion <strong>from within the UK public sector</strong> on what accessibility standards they think they need. Comments made here will be noted by <strong>me</strong>, but won&#8217;t be used <em>officially</em> for this purpose. </p>
<p>Also, please remember that if you want to offer the sort of criticism that just tells me that these guidelines are rubbish, or that I am rubbish (or variations on that theme), I won&#8217;t bother listening to you. If you want to offer constructive comments that tell me how I can improve these guidelines so that <em>they are more applicable to the UK public sector</em>, then I&#8217;ll be very willing to listen.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/proposed-public-sector-web-accessibility-guidelines/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Reading The Ripper</title>
		<link>http://www.thepickards.co.uk/index.php/200709/reading-the-ripper/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/reading-the-ripper/#comments</comments>
		<pubDate>Thu, 13 Sep 2007 01:44:43 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/reading-the-ripper/</guid>
		<description><![CDATA[I&#8217;m not one of those people who is obsessed with true-crime books; nor do I stare for hours at grainy black-and-white photographs in some Marshall Cavendish partwork about horrific murders, trying to make out a dismembered limb or two. Nevertheless, for some reason I&#8217;ve got caught up in the whole Jack The Ripper genre, and [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m not one of those people who is obsessed with true-crime books; nor do I stare for hours at grainy black-and-white photographs in some Marshall Cavendish partwork about horrific murders, trying to make out a dismembered limb or two.</p>
<p>Nevertheless, for some reason I&#8217;ve got caught up in the whole <strong>Jack The Ripper</strong> genre, and have had a fascination with it since my early teens.</p>
<p>I&#8217;m certainly not condoning the wanton slaughter of prostitutes in Whitechapel or elsewhere: you only have to look at any of the books and see any of the police photographs of the victims to realise what gruesome atrocities were inflicted on these people, and that there can be no admiration for someone who could do that to another human being, let alone repeatedly.</p>
<p>So why am I fascinated by the Ripper then? I can hazard a few guesses:</p>
<ul>
<li>we have a name in common</li>
<li>his (?) identity is still unknown after almost 120 years</li>
<li>there are so many theories about who he was</li>
<li>and the fact that he seems to have captured the public imagination makes him <em>more</em> interesting</li>
</ul>
<p>But this isn&#8217;t going to be one of those posts where I talk about pop culture, how the media has changed over the last 100 years, about a &#8220;media frenzy&#8221; or anything like that. Nope, in this one I&#8217;m specifically going to be talking about the Jack the Ripper murders and discussing some of the theories (and books) relating to them (my niece is going to be doing a school thing about Jack the Ripper and digging out the books for her to borrow set me off on this one&#8230;).</p>
<p>So if it&#8217;s not your cup of tea &#8212; and I don&#8217;t blame you &#8212; then feel free not to read on.<span id="more-403"></span></p>
<h3>Just the facts, ma&#8217;am</h3>
<p>Canonically, there are <strong>five</strong> murders associated with Jack the Ripper:</p>
<ol>
<li>31 August 1888 &#8212; Mary Ann Nichols</li>
<li>8 September 1888 &#8212; Annie Chapman</li>
<li>30 September 1888 &#8212; Elizabeth Stride (&#8216;Long Liz&#8217;)</li>
<li>30 September 1888 &#8212; Catherine Eddowes</li>
<li>8 November 1888 &#8212; Mary Jane Kelly</li>
</ol>
<p>Depending on which sources you read, some earlier and some later murders are also ascribed to the same person, and some people doubt whether all five of these were committed by the same person, but these are traditionally the murders associated with &#8216;Saucy Jack&#8217;.</p>
<h3>Everyone Knows Who It Was</h3>
<p>Or at least, seemingly every writer who has written about Jack the Ripper has apparently managed to identify without doubt who the murderer actually was. </p>
<p>Of course, that could have something to do with the fact that if you&#8217;re trying to pitch your Ripper book to a publisher, and you&#8217;re describing the meticulous detail you&#8217;ve gone through to get to see as much first hand evidence as possible, the publisher isn&#8217;t going to be interested in that. The publisher will want to know if you&#8217;ve found out anything new, because <strong>that is what sells</strong>.</p>
<h3>Portrait of a Killer</h3>
<p>The American crime novelist Patricia Cornwell, in her book &#8216;Portrait of a Killer: Jack The Ripper &#8212; Case Closed&#8217; (and TV show) asserts that the Ripper was the painter Walter Sickert.</p>
<p>Patricia seems to have seen a couple of paintings by Walter Sickert (&#8216;the Camden Town murder&#8217; and &#8216;Jack the Ripper&#8217;s bedroom&#8217;) and to have decided that this point that Sickert was, definitively Jack the Ripper, and then to have spent the rest of her time trying to come up with evidence to support her theory.</p>
<p>I find it indicative of this book that Cornwell does not really appear to consider any other suspects seriously at any stage, and appears unwilling to find or discuss evidence which runs contrary to her theory &#8212;  or simply to dismiss it. For example, contemporary letters from his family place Sickert in France at the time of the murders: Cornwell simply asserts that he could have travelled to London and back repeatedly. </p>
<p>Well, yes he <em>could</em>, but it&#8217;s also possible that it could have been someone else&#8230;</p>
<p>Then there&#8217;s the evidence she trumpets: the mitochondrial DNA evidence that &#8216;proves&#8217; Sickert is the Ripper, which in fact does nothing of the sort. The mitochondrial DNA &#8216;match&#8217; doesn&#8217;t give the millions-to-one chance you&#8217;d associate with modern DNA testing. Nope.</p>
<p>The chance of someone else having that same <em>mitochondrial</em> DNA sequence is about 100:1.</p>
<p>Nor is it a match from the crime scenes: she has managed to match Sickert&#8217;s DNA to two of the Ripper letters. There are still two more steps she <strong>ought</strong> to make before jumping from there to &#8216;Sickert was the Ripper&#8217;.</p>
<p>Firstly, it is believed that many (if not all) of the Ripper letters were hoaxes, and that they weren&#8217;t all written by the same person. Even if we could therefore establish that Sickert wrote one or more of the letters, we&#8217;d need to <strong>separately</strong> establish that he was the killer. This, to my mind, Cornwell does not do.</p>
<p>Secondly, the the mitochondrial DNA match would also have matched between 0.1% and 10% of the population, meaning that with a population of around 5.3 million, somewhere between five thousand and <strong>half a million</strong> other Londoners (people who presumably actually <em>were</em> in London at the time) would have matched that same DNA sequence.</p>
<p>That hardly seems &#8216;beyond reasonable doubt&#8217;.</p>
<h3>The Last Victim</h3>
<p>The book The Last Victim is purportedly about the <em>wife</em> of Jack The Ripper, who is claimed to be the Liverpool cotton merchant, James Maybrick, mostly on the evidence of <a href="http://en.wikisource.org/wiki/The_Diary_of_Jack_the_Ripper">James Maybrick&#8217;s diary</a> which appeared in the 1990s and contained his confession to being Jack the Ripper.</p>
<p>The only <em>slight</em> problem with this otherwise reasonably reason for concluding that he may have been Jack the Ripper was that the fact that in 1995 Michael Barratt (married to the author of &#8216;The Last Victim&#8217; at the time the diary was &#8216;discovered&#8217;) to swore an affadavit stating that the diary was a hoax, that he was the author and explaining how he&#8217;d done it. This was then retracted by his solicitor, and then re-affirmed again by Michael a couple of weeks later.</p>
<p>This was backed up by further tests suggesting <a href="http://www.casebook.org/dissertations/maybrick_diary/factfile.html">the ink seemed modern</a>, the handwriting didn&#8217;t match James Maybrick&#8217;s handwriting, and there were apparently textual anomalies that suggested that certain landmarks were not known by the names used in the diary in Maybrick&#8217;s time.</p>
<p>The question therefore appears to be not &#8220;did James Maybrick write the diary?&#8221; but &#8220;is it a modern or an older forgery?&#8221;</p>
<h3>Uncle Jack</h3>
<p>(Yes, a very different &#8220;Uncle Jack&#8221; to the one I mentioned yesterday!)</p>
<p>Tony Williams claims to be a direct descendant of Jack the Ripper, who he names as John Williams (also founder of the National Library of Wales). </p>
<p>A lot of the book is spent covering John&#8217;s early years, and his later years, somewhat detracting about what surely is the crux of the matter &#8212; the time he spend in London in 1888 and more particularly what he was doing there. </p>
<p>Tony does a reasonably convincing job of allowing us that John had the means (as a doctor, he had access to big sharp knives, after all), the motive (wanting to study the internal organs for reasons of research into obstetrics), and that he was around in London at the time and could conceivably have <em>just about</em> had enough time to theoretically able to commit the murders.</p>
<p>Again, even if we buy this theory to this point, this doesn&#8217;t prove that he <em>was</em> the murderer, merely that with only access to historical documents that have survived until the 21st Century, we are unable to prove that he <em>wasn&#8217;t</em>. </p>
<p>Furthermore the suggestion that the Ripper murders were committed &#8216;for anatomical research&#8217; seems somewhat ludicrous in light of the somewhat excessive mutilation carried out &#8212; particularly the lacerations to Catherine Eddowes face and virtual dismemberment would suggest something a little more excessive than simply wanting to remove internal organs to enhance medical knowledge&#8230;</p>
<p>Another ripping yarn, which tells us more about the attitude of the medicinal profession to the poor of Victorian London than it does about the actual identity of Jack the Ripper.</p>
<h3>A 21st Century Investigation</h3>
<p>What I particularly enjoyed about the first edition of this book is that while Trevor Mariott used modern techniques to paint a general picture of Jack the Ripper, and he wasn&#8217;t afraid to go through the usual list of suspects, in most cases tearing the cases against them to shreds, he wasn&#8217;t afraid, at the end, to admit that he couldn&#8217;t name Jack the Ripper, although he thought he could tell several things about him &#8212; and that he suspected he was probably a merchant seaman</p>
<p>He also highlights four other murders in London (and a few elsewhere) which he examines for similarities to the Jack the Ripper <acronym title="modus operandi" lang="lat"><i>M.O</i></acronym> and states that he also believes Alice McKenzie (died July 1889) was also a victim. This rather begs the question of what Jack had been up to in the mean time, since he&#8217;d generally only gone a few weeks between killings before&#8230;</p>
<p>&#8230;but Marriott finds a newspaper report which suggests that six prostitutes were murdered in a similar fashion in Nicaragua in January 1889, and another in Flensburg in Germany in October 1889. He later wavers over te Nicaraguan ones, suggesting as the only report he can find is from the Times, he&#8217;s not sure whether the Whitechapel murders have somehow been mixed up and then reported back.</p>
<p>The people behind the Jack the Ripper casebook have located various contemporary <a href="http://www.casebook.org/press_reports/quappelle_vidette/890214.html">press reports from the Americas</a> which discuss the Nicaraguan murders, although they themselves do seem to have been compiled from a single original source, so while the &#8216;Managuan Ripper&#8217; seems more likely, we&#8217;ve still not proved it conclusively.</p>
<p>But it is suggestive that Jack the Ripper may have been a merchant seaman, and Marriott does a good job (or as good a job as is possible, considering the records available) of comparing crew rosters and the like to try and narrow down the killer.</p>
<p>In the second paperback edition, he goes as far as to name him as <a href="http://www.casebook.org/suspects/carl-feigenbaum.html">Carl Feigenbaum</a>. Carl (also known as Karl Zahn and Anton Zahn) was executed via the electric chair in 1896, after having been found guilty of the murder of Mrs Juliana Hoffman by cutting her throat from ear to ear with a long carving knife. However, there was no mutilation (although he was interrupted) and it was his landlady rather than a prostitute, so it&#8217;s not quite the same MO.</p>
<p>However, after the execution, his lawyer (Lawton) made some statements suggesting he may have been the Ripper:</p>
<blockquote><p>Lawton also claimed that his client had confessed to him that â€œI have for years suffered from a singular disease which induces an all absorbing passion. This passion manifests itself in a desire to kill and mutilate every woman who falls my way. At such times I am unable to control myself.â€ Lawton claims that he was able to ascertain that Feigenbaum had been in Wisconsin during a series of murders there as well as being in London in 1888. When he asked the gardener about the Whitechapel murders he was said to have confessed that he had indeed been in London in the Autumn of 1888 but that â€œthe Lord was responsible for his acts and that to Him only could he confess.â€<cite><a href="http://www.casebook.org/suspects/carl-feigenbaum.html">Casebook: Jack The Ripper</a></cite></p></blockquote>
<p>In addition to this, Trevor Marriott&#8217;s second edition book looks into the possibility that Feigenbaum may have murdered elsewhere in the U.S., again with a Ripper-like MO.</p>
<p>In short, he makes a pretty darn good case, if not for <em>definitively</em> fingering Feigenbaum as the Ripper, then at least of putting him near the top of our suspect list.</p>
<h3>Kosminski, Kaminsky, Cohen, what did you say?</h3>
<p>In fact, the only thing that stands between me and a belief that Marriott is right, is the fact that Sir Robert Anderson, one of those investigating the case, seemed fairly certain that the criminal had been identified:</p>
<blockquote><p>&#8220;&#8230;he had been safely caged in an Asylum.&#8221; <cite>Criminals and Crime, 1907</cite><cite></cite></p>
<p>&#8220;In saying that he was a Polish Jew I am merely stating a definitely ascertained fact.&#8221; <cite>(The Lighter Side of My Official Life, 1910)</cite></p>
<p>&#8230;there was no doubt whatever as to the identity of the criminal&#8230;&#8221; <cite>(Police Encyclopedia, 1920)</cite></p>
<p><cite><a href="http://www.casebook.org/police_officials/po-ander.html">Casebook: Jack the Ripper [2]</a></cite></p></blockquote>
<p>What is puzzling is exactly <em>how</em> sure he seems to be when no-one has been brought to justice.</p>
<p>The seemingly most likely candidate for this was the Polish Jew Aaron Kosminski, but apart from being a barber (so he would have a knife), once threatening his sister with it, and having been detained in a mental asylum where they were worried about his spiritual wellbeing because of his &#8220;monstrous acts&#8221; &#8212; in other words, he would masturbate &#8212; there seemed to be very little of the, well, frankly the <strong>homicidal tendencies</strong> that you&#8217;d want to associate with Jack the Ripper, meaning that he&#8217;s generally dismissed as a suspect.</p>
<p>Which leaves us with the bizarre situation where the police <em>seem</em> to believe it was him yet he would presumably have looked an unlikely suspect even at the time. Why could this be?</p>
<p>Well, one option that has been put forward was that the murderer was a <strong>different</strong> Polish Jew who was <strong>also</strong> detained in an asylum, leading to the confusion between the two. This would seem a little unlikely, if it wasn&#8217;t for the fact that <a href="http://www.casebook.org/suspects/davidcohen.html">David Cohen</a>, who might have actually been called Nathan <em>Kaminsky</em> (David Cohen being a &#8216;default name&#8217; for an unknown Jew, much like &#8216;John Doe&#8217; is used today), was, like Kosminski, a Polish Jew who was incarcerated at Colney Hatch asylum.</p>
<p><em>Kaminsky</em>, whose profession would have identified him as a candidate for the &#8216;Leather Apron&#8217; suspect, apparently disappeared in 1888 after having been cured of syphillis (which <em>might</em> have given him a motive to hate prostitutes). Later on in the same year, an unknown Polish Jew, who becomes identified officially as &#8216;David Cohen&#8217;, is moved from the Infirmary to Colney Hatch asylum because he is seen as destructive, spiteful and with violent tendencies.</p>
<p>He was initially taken into custody in December 1888, and none of the murders <em>usually</em> associated with Jack the Ripper occurred after that date.</p>
<h3>Make your mind up, who was it?</h3>
<p>But there is also seemingly a good case for Feigenbaum. The question is not &#8220;was it Feigenbaum or Kaminsky?&#8221;; we have not yet definitively established that it was <em>either</em>. All we have done is to suggest the possibility and draw connections. It may have been one, or the other. It may have been neither.</p>
<p>I don&#8217;t know. If I had to bet on it, I&#8217;d probably put money on Marriott&#8217;s original theory of a merchant seaman (without definitively stating &#8216;Feigenbaum&#8217;). Both stories have a few tenuous links in their chains, but I think there are one or two more with the  Kaminsky/Cohen one (even though I find that version more colourful), but the merchant seaman one (<em>whether or not it was Feigenbaum</em>) also accounts for other similar murders around the world in the same time period.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/reading-the-ripper/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
		<item>
		<title>PSWMG: Another Update</title>
		<link>http://www.thepickards.co.uk/index.php/200709/pswmg-another-update/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/pswmg-another-update/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 21:30:27 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Public Sector]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/pswmg-another-update/</guid>
		<description><![CDATA[As you may recall, the people behind Public Sector Forums (PSF) are facilitating the creation of a new group &#8212; &#8220;The Public Sector Web Managers&#8217; Group&#8221; (PSWMG). It&#8217;s important to stress that it&#8217;s something that they are facilitating: they have emphasised that it isn&#8217;t going to be their group, it will be an independent entity [...]]]></description>
			<content:encoded><![CDATA[<p> As you may recall, the people behind Public Sector Forums (PSF) are facilitating the creation of a new group &#8212; &#8220;The Public Sector Web Managers&#8217; Group&#8221; (PSWMG). It&#8217;s important to stress that it&#8217;s something that they are facilitating: they have emphasised that it isn&#8217;t going to be <em>their</em> group, it will be an independent entity although they will be prepared to assist their knowledge and expertise when it comes to organising events etc. </p>
<p>A number of the issues I raised about it before &#8212; issues of governance and the like &#8212; appear to have either been partly or wholly addressed and I&#8217;m confident that, assuming that they can get enough people willing to volunteer their time to take part, the group can be a success. </p>
<p>However, that may be one of the issues. For a start, the group pitches itself as being: </p>
<blockquote><p> primarily aimed at web managers in the UK&#8217;s public sector<cite>PSWMG</cite></p></blockquote>
<p>That is, it&#8217;s happy to include other people, but that&#8217;s not who it&#8217;s primarily for. </p>
<p>Well, as someone who isn&#8217;t a public sector web manager, that already makes me feel like a bit of an unwanted hanger-on.<span id="more-401"></span> That&#8217;s not a problem to me: I only have a finite amount of spare time and if a particular group doesn&#8217;t want me to help them out, that&#8217;s fine by me. </p>
<p>I also know from private conversation with one of the people from PSF that at least one of the managers who has expressed an interest has volunteered an opinion that the group should be <strong>restricted</strong> to public sector web managers. </p>
<p>That&#8217;s not a problem for me, and I understand where he or she is coming from. After all, the managers are the ones with the &#8220;real-life&#8221; responsibility; they are the ones who will be held accountable in their day jobs for the decisions they make; they are the ones who will need to decide whether their council website is going to follow standards set out by the PSWMG, they have a need to be practical and they are concerned about a potential risk of the group being hijacked by some other group with a slightly different agenda (probably by people they would think of as &#8216;standards zealots&#8217;). </p>
<p>Believe me, I do understand that, which is why I don&#8217;t think I should be arguing about whether the PSWMG should be primarily for managers, or be a &#8216;broader church&#8217;. I think this is a decision for <em>other people</em>. </p>
<p>However, I do reserve the right not to want to dedicate my free time to a group where I&#8217;m treated as a second class citizen simply because I have different responsibilities in my <strong>day</strong> job. </p>
<p>When I turn up to work, part of the deal with being paid is that I accept the organisational hierarchy around me. I know who my managers are, and I know that while I can raise issues or suggestions to them, they are the ones with the overall responsibility and accountability and when it comes down to it, I&#8217;ll do what I&#8217;m asked to do. </p>
<p>But I can&#8217;t say I&#8217;d be willing to join a volunteer group where I&#8217;m asked to respect the same hierarchy, and don&#8217;t get either an equal say, or a say proportional to the amount of work I put in. If my thoughts, works and opinions aren&#8217;t at least equally valued, then I simply won&#8217;t do it. </p>
<p>I can still contribute to the group from outside by talking about it publicly, by making public suggestions on my website and so on, but I don&#8217;t really see the point in volunteering to be a small, unvalued and unacknowledged cog in a different organisation, when by making by points publicly I get &#8212; assuming that they are good points, anyway &#8212; to enhance my professional reputation as well as my personal &#8216;brand&#8217;. </p>
<p>And I suspect I&#8217;m not the only non-manager who thinks like this. </p>
<p>Which is why I have doubts that the group as it stands will achieve in all of its aims. </p>
<p>The group wants to do things like: </p>
<blockquote><ul>
<li>Produce guidelines and white papers on subjects of interest, for example quality assurance and benchmarking</li>
<li>Publication of formal reports, including an annual &#8220;state of the nation&#8221; evaluation of the public sector web</li>
<li>The publication of performance reports, based on transparent, consensual criteria</li>
</ul>
<p><cite>PSWMG</cite></p></blockquote>
<p><strong>I think those are all worthwhile objectives.</strong> I just don&#8217;t think that the majority of public sector web <strong>managers</strong> will (or should be expected to) have the technical expertise to evaluate and benchmark websites; to compile the consensual criteria to be used in the performance reports (although they should be involved in approving them) or to carry out benchmarking. </p>
<p>I also think it unlikely (although I&#8217;m prepared to be wrong on this one) that many public sector web managers would be willing to spend the time necessary to go through and evaluate web sites in this way. I&#8217;d presume this is something that they would expect to be done <strong>for</strong> them. </p>
<p>Which is really the crux of the problem. The way I see it is that the Public Sector Web Managers want to have the authority in the PSWMG, but they want the staff with the technical skills to do the donkey work. <strong>Well, no thank you.</strong> I&#8217;m quite happy to do work as instructed when I&#8217;m <strong>paid</strong> to recognise someone else&#8217;s authority, but if I&#8217;m giving up my spare time to do work then I damn well want the credit and acknowledgement for the work I&#8217;m doing. </p>
<p>So there are two conflicting problems: </p>
<ul>
<li>If the group is just about managers, the managers won&#8217;t get everything they want because the technical resources they need may not be available</li>
<li>If the group includes everyone, then it may not head in a direction that the public sector web managers want</li>
</ul>
<p>How do we solve them? </p>
<p>I don&#8217;t really know. It depends on what people want out of the group. The things I want are recognition for the work that I do and an influence proportional to that work, as opposed to being proportional to my day job. </p>
<p>If the managers want to get some un-named and unacknowledged &#8216;grunts&#8217; to do this sort of work for them, then I don&#8217;t really know who&#8217;d be willing to give up their unpaid spare time to do under-appreciated work when they wouldn&#8217;t have any say in how that work was to be used. </p>
<p>One option would be to commission someone to do this work for them. The drawback with this is that it would of course <strong>cost money</strong>. </p>
<p>Of course, if the managers are happy that they will be able to contribute the time and experience to do this <em>themselves</em>, then there&#8217;s no problem&#8230; </p>
<p>Another alternate option is to beef up the &#8216;recognition&#8217; side of things, and use something akin to the <acronym title="World Wide Web Consortium">W3C</acronym>&#8216;s &#8220;Invited Expert&#8221; status. </p>
<p>It the PSWMG were to officially request advice or help from me, to help in devising testing methodologies, to help define standards, or to help in analysing sites, then I&#8217;d be more likely to give up some of my spare time to do it if the PSWMG formally and publicly requested my help as an expert in that field. It would be a boost to my personal standing, it would certainly make me feel valued, and it would be a way in which I&#8217;d be willing to contribute without expecting to be involved in the decision making if the group were publicly acknowledging that they considered my input to be valuable in this way, and/or that any work I was involved in would clearly indicate who I am and this status. </p>
<p>I would also expect to retain at least some form of shared rights over documentation or other products that was produced either by me or indirectly from work that I was asked to do. </p>
<p>In other words, I&#8217;ll work for one of three things, and I don&#8217;t honestly mind which one it is: </p>
<ul>
<li>I&#8217;ll work with others if I&#8217;ll be given an equal say in how things are going to work, because then I can help steer it to do what I think is best</li>
<li>I&#8217;ll work for others and accept a hierarchy of importance if I&#8217;m being paid to do so</li>
<li>I&#8217;ll work in exchange for a decent bit of public recognition, and retaining some form of rights over the work I carry out</li>
</ul>
<p>If the PSWMG don&#8217;t want to give me any of these things, then I&#8217;m sure I&#8217;ll still stick my oar in from time to time on my site, telling them what I think they&#8217;re doing wrong as and when I see fit (and indeed where they are going right, if appropriate!), as I can still <em>&#8220;work for the greater good&#8221;</em> by doing this, but if they want to be able to ask me to carry out specific tasks, then it&#8217;s not unreasonable for me to expect one of the above in return. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/pswmg-another-update/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Application Design: Testing and Go-Live</title>
		<link>http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/#comments</comments>
		<pubDate>Thu, 06 Sep 2007 23:31:08 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/</guid>
		<description><![CDATA[This is the fifth of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. I have broken down my thoughts on system design into five distinct pieces: user requirements; development standards; usability, code-cutting, and testing and go-live (this article). Testing There [...]]]></description>
			<content:encoded><![CDATA[<p>This is the fifth of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. </p>
<p>I have broken down my thoughts on system design into five distinct pieces: <a href="http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/">user requirements</a>; <a href="http://www.thepickards.co.uk/index.php/200709/application-design-development-standards">development standards</a>; <a href="http://www.thepickards.co.uk/index.php/200709/application-design-usability">usability</a>, <a href="http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting">code-cutting</a>, and testing and go-live (this article). </p>
<h3>Testing</h3>
<p>There are various different sorts of testing: there&#8217;s unit testing (where the developer tests each bit as they&#8217;re developing it), system testing (where the tester/developer tests the system as a whole once it&#8217;s developed); user testing (where it&#8217;s passed over to the users for testing and they have a look at it) and finally, assuming it&#8217;s passed every other suite of tests thrown at it, user acceptance testing (where the users compare what the system does against what was initially agreed that it should do) and then they hopefully sign it off and start using it. </p>
<p>If you have a less formal structure, or the development team have a good working relationship with the user department, you can carry out iterative user testing from the very early stages of development. </p>
<p>You need to have a developer who doesn&#8217;t get upset if the user doesn&#8217;t like something he or she has done, and a user who understands that they are dealing with a system which is only partially developed and so is liable to collapse in a heap at any time, but assuming you can clear those hurdles then you can begin iterative user testing at an early stage which is immensely beneficial to projects. <span id="more-391"></span></p>
<h3>Early User Testing: Screen Shots and Colour Schemes</h3>
<p>You can start this right from the beginning of the development: produce some mock-up screen shots of the system, showing the navigation bars, the colour scheme and so on, and send them to the user for comment. </p>
<p>The earlier in system development you are, the easier it is to make changes to things like system colours: further down the line you may have added images because they particularly &#8220;go&#8221; with certain colours, meaning that you&#8217;d have to replace these too, but if at an early stage you&#8217;re told that your pink-and-red colour scheme isn&#8217;t really suitable, and something involving greens would be more in keeping with a system for tracking first aid, then it&#8217;s really no problem to make these changes. </p>
<p>Of course, it&#8217;s important to differentiate between internal and external systems here: externally-facing systems may well have to have the corporate branding on them, and the individual users may not have much say in the final &#8216;look&#8217; of this system as it may be decided corporately, but for internal systems it is generally easier to adapt things to meet the user requirements. </p>
<h3>Early User Testing: Demo Pages</h3>
<p>If you have any sort of test environment which can be made accessible to the system&#8217;s end users, or it is possible to publish temporary copies of the application in a place the users can access, then once you have completed the function of a few pages or forms, you can pass this to the user for testing. </p>
<p>This is of immense benefit, because you will of course be following the usability principles I told you about earlier, so you&#8217;ll be planning to lay out similar screens (&#8220;add person&#8221;, &#8220;add function&#8221;, &#8220;add venue&#8221;) in a similar way, and have the functions work similarly. Which is why it is of immense benefit if someone asks you after you&#8217;ve only written <strong>one</strong> of them &#8220;couldn&#8217;t you do it this way instead?&#8221;. Of course you could, particularly when there is only one page you need to adjust instead of five! </p>
<p>Not only that, but this buy-in from the users makes the development much more of a two way process: they feel as though they are taking an active role in the development process (as in fact they are), meaning that they have more of an emotional investment in the project and are more keen to see it succeed. </p>
<p>I&#8217;m aware that that might sound like management-speak but that doesn&#8217;t mean it&#8217;s not true. If you ask for feedback, and show that you&#8217;re willing to listen to that feedback and act on it, people do feel more involved and â€“ quite correctly â€“ feel that they are an important part of the project. </p>
<p>These demo pages can them be revised and republished as often as necessary until you&#8217;re ready to sign-off the project and for it to go live. </p>
<h3>Project Sign-off and Go-Live</h3>
<p>There comes a time when the developers and users of any project are happy for the project to be signed off and the system to go live. If the development of the system has been managed well, then ideally the users and developers will be ready <em>at the same time</em>. </p>
<p>Depending on whether or not there are any external pressures to have the system live by a particular date, there may be some feeling that further iterative development and testing steps should be carried out and that the system should be refined further and further before go live. </p>
<p>It&#8217;s important to ensure that the end-users are getting a fully functional system that does what they require, but from the point of view of the development teams, it&#8217;s also important to consider that you&#8217;re using the law of diminishing returns by this stage (every individual tweak takes longer to carry out and has less impact on the user department). </p>
<p>Ask the users to compare the system against the Acceptance Criteria that were agreed earlier. Hopefully â€“ unless you&#8217;ve agreed any revisions &#8212; the system will do what was agreed. If not, then the users will point out where the system falls down and you can look at fixing that. </p>
<p>If the users have identified any changes that they would <em>like</em> but aren&#8217;t necessary in order to meet the acceptance criteria, it is helpful if some development resource can be allocated to this &#8212; even if not enough to carry out every request, if each request is associated with a certain amount of development &#8216;time&#8217;, and the users are told that they have X number of development days to &#8216;spend&#8217;, it allows them to prioritise their tweaks and changes and get those things fixed which are most important to them without being too much of a drain on developmental resources&#8230; </p>
<p>And then that&#8217;s it. </p>
<p>Make the changes, test them again, and then put the system live. </p>
<p>But don&#8217;t treat &#8220;go-live&#8221; as a single, one-off event. </p>
<p>Instead treat go-live as a procedure that takes at least a week starting from when the application is transferred to the live or production environment. Ensure that some development resource is allocated to the first week (or few) of the live system, because you can&#8217;t guarantee that you&#8217;ll have caught every potential problem; and pay particular attention to interfaces with other systems because if one of these goes awry, you could very quickly be causing problems for a number of systems! </p>
<h3>Summary</h3>
<p>That&#8217;s it, basically: the management of the development life cycle is about managing the expectations of the users when you agree the system requirements; about managing the developmental standards and the techniques the developers use; about managing the testing procedures and ultimately about managing the go-live procedure to ensure that the system works without any problems, that it meets their requirements, and that the users are happy with it.</p>
<p>There you go: get yourself away and produce perfect systems from now on&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Application Design: Code-Cutting</title>
		<link>http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/#comments</comments>
		<pubDate>Wed, 05 Sep 2007 23:18:22 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/</guid>
		<description><![CDATA[This is the fourth of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. I have broken down my thoughts on system design into five distinct pieces: user requirements; development standards; usability, code-cutting (this article), and testing and go-live. Code should [...]]]></description>
			<content:encoded><![CDATA[<p>This is the fourth of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. </p>
<p>I have broken down my thoughts on system design into five distinct pieces: <a href="http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/">user requirements</a>; <a href="http://www.thepickards.co.uk/index.php/200709/application-design-development-standards">development standards</a>; <a href="http://www.thepickards.co.uk/index.php/200709/application-design-usability">usability</a>, code-cutting (this article), and <a href="http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/">testing and go-live</a>. </p>
<h3>Code should be clear and understandable</h3>
<p>In my current development environment, we don&#8217;t use naming conventions for variables, object names and the like, because we considered the standards-based questions: </p>
<ul>
<li>What do we need to do to fix this system?</li>
<li>How long will it take to fix this system?</li>
<li>How much will it cost to fix this site?</li>
<li>How likely is it someone will have a problem with this system?</li>
<li>What are the potential consequences if someone has a problem with this system</li>
</ul>
<p>&#8230;with &#8220;naming conventions&#8221; in mind, and decided that while some sort of naming conventions were desirable, they weren&#8217;t sufficiently important in our environment to prevent something from going live or to ask it to be re-written. </p>
<p>What we do look for is that per <em>project</em>, each developer codes <strong>meaningfully</strong> and <strong>consistently</strong>. <span id="more-390"></span></p>
<p>In other words, it doesn&#8217;t matter whether you want to use <code>t</code>, <code>t_</code>, <code>txt</code> or <code>txt_</code> as  a prefix for text boxes; what is important is that whichever one you decide to use, you use it consistently across your application, and even more importantly that you give your objects and variables meaningful names. </p>
<p><code>txtFirstname</code> is meaningful; you don&#8217;t need to compare this with the on-screen label to guess that it refers to someone&#8217;s firstname. Even if <code>txt4</code> does refer to the fourth field on the screen, it&#8217;s not particularly meaningful: it would be of much greater benefit to know what that item represents. </p>
<p>Similarly, if you have a particularly long or complex piece of code, break it up with some brief comments to explain what you&#8217;re doing. </p>
<p>For example, I recently reviewed a piece of code I wrote a while ago that carries out a search function contains 75 lines of visual basic, 11 lines of which are comments. I have used the comments to identify each little block of code and explain either what it is doing, or what circumstances have lead us to this particular block of code:</p>
<ul id="commentlist">
<li><code>'page is valid - Find matching events </code></li>
<li><code>'Step 1 - create basic SQL command</code></li>
<li><code>'Step 2 - determine criteria </code></li>
<li><code>'need to include name</code> </li>
<li><code>'need to include date range</code> </li>
<li><code>'need to include location </code></li>
<li><code>'need to include event type</code> </li>
<li><code>'Step 3 - stitch together command and criteria</code> </li>
<li><code>'Step 4 - find records </code></li>
<li><code>'these are the records that have been found </code></li>
<li><code>'no records have been found</code> </li>
</ul>
<p>Not only does this mean that if someone else has to amend my code later on it will be easier for them to see which bits are doing what, it is also considerably easier for <strong>me</strong> to come back to the code at a later date and work out what it&#8217;s doing! </p>
<p>On top of that, bear in mind that the variables and objects being used have meaningful names and it&#8217;s easy to track what is going on. It also makes debugging and problem-solving much easier too. </p>
<p><strong>Coding in this manner makes your own life easier</strong>, and that&#8217;s something every developer ought to be in favour of!</p>
<h3>Don&#8217;t Do The Same Thing More Than Twice</h3>
<p>Some people use a stricter version of this rule: that they shouldn&#8217;t type the same piece of code twice, but by then ought to have written a re-usable function that they can call as circumstances dictate. </p>
<p>I&#8217;m not quite as obsessed about it as this, but I&#8217;m firmly behind making my own life easier, so if I find I&#8217;m typing out the same sorts of thing repeatedly, I&#8217;m going to try and find an easier way to do it. </p>
<p>As a rule of thumb if I find I&#8217;m going to have to write out pretty much the same lines of code for a third time, I will look to write a subroutine or function that can be called to repeat the procedure instead. </p>
<p>I usually make third time the charm because frequently this sort of thing will require parameterisation, so it&#8217;s just as onerous to write it out as a single parameterised function as it is to write out each line twice, but really the code would be neater and more elegant if this was done every time you need to use a specific function (or set of functions) more than once. </p>
<h3>Parameterise Things</h3>
<p>Following on from the last point, you can save yourself an awful lot of time if you parameterise things. Imagine you&#8217;re asked to produce a report from your database of all of the items currently in stock that cost less than &pound;2.99. </p>
<p>You&#8217;ve got two choices: either you can spend a bit more time up-front creating a screen where the users input their search criteria and then you return all of the item details which meet those criteria (in/out of stock, minimum price, maximum price, warehouse etc), or you quickly knock up a single report for the ones less than &pound;2.99, and then a week later you need to do another report for the ones less than &pound;4.99, and then after that you get asked what items are currently in stock which we&#8217;ve not used any of in the last three months&#8230; </p>
<p>If you parameterise your queries at the outset (making sure not to allow SQL injection attacks into your database), you&#8217;ll save yourself work in the long run, because your users can answer their own queries by adjusting their criteria, rather than requiring you or one of your development team to write them a new report each time&#8230; </p>
<h3>Use Whitespace</h3>
<p>Feel free to use whitespace to ensure that the <strong>source code</strong> of your pages or forms is laid out neatly. Yes, in environments where your source code is not compiled prior to being served to the users (for example any HTML pages), this will result in your pages being a few bytes larger than they actually need to be, but the flip side of this is that your code will be much easier to track and maintain; and that is a price well worth paying in most circumstances.</p>
<h3>Templates</h3>
<p>Most development platforms and environments will offer some sort of opportunity to use a template. The use of templates is <strong>A Good Thing</strong> as this will help ensure that while different developers have a different development style, different preferences and so on, it will help keep them in the same ballpark. </p>
<p>How easy it is to use templates depends on your development environment: in Microsoft Access developments, my experience is that a development team will have a &#8216;standard&#8217; database with various built-in functions and styles, which they will then take a copy of and customise according to preference. </p>
<p>Similarly, when developing in a .NET environment, I have created my own templates (although here they are called &#8216;Master Pages&#8217;) which can be incorporated into new web developments (with different forms of the template suitable for intranet or internet sites). </p>
<p>Possibly the most flexible templates however are those found in Adobe (formerly Macromedia) Dreamweaver, which offers quite a neat template function for web designs: you build your template and attach pages to it. When you make an amendment to your template later  it can automatically search through the pages in your site which are attached to that template and apply the changes you have made. </p>
<p><strong>Nice.</strong></p>
<p>Of course, any web-based designs which have been done using properly structured HTML and CSS gain a number of the benefits of using templates anyway, because of course any changes to your CSS rules &#8212; assuming that you&#8217;ve used a linked stylesheet instead of inline styles &#8212; can be immediately applied across multiple HTML pages. </p>
<p>But of course you knew all that anyway, didn&#8217;t you? </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Application Design: Usability</title>
		<link>http://www.thepickards.co.uk/index.php/200709/application-design-usability/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/application-design-usability/#comments</comments>
		<pubDate>Tue, 04 Sep 2007 23:08:14 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/application-design-usability/</guid>
		<description><![CDATA[This is the third of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. I have broken down my thoughts on system design into five distinct pieces: user requirements; development standards; usability (this article), code-cutting, and testing and go-live. Developer Styles [...]]]></description>
			<content:encoded><![CDATA[<p>This is the third of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. </p>
<p>I have broken down my thoughts on system design into five distinct pieces: <a href="http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/">user requirements</a>; <a href="http://www.thepickards.co.uk/index.php/200709/application-design-development-standards">development standards</a>; usability (this article), <a href="http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/">code-cutting</a>, and <a href="http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/">testing and go-live</a>. </p>
<h3>Developer Styles</h3>
<p>Bear in mind that each developer will use slightly different development methods and have a slightly different coding <em>style</em>, and that&#8217;s before you even consider the fact that different applications written for different platforms require radically different skillsets and can provide a radically different user experience. </p>
<p>So how can we bring all of these together in such a way as to draw any useful comparison? </p>
<p><strong>Simple</strong>: I&#8217;ll generalise a lot, and make up examples to suit. </p>
<p>Usability standards <strong>ought</strong> to be mandatory: if whatever application you are designing doesn&#8217;t work in a logical and intuitive manner, it isn&#8217;t well enough designed. <span id="more-389"></span>It really is as simple as that. Highly usable systems will result in less errors being made by the end users, they will result in less problems being reported with the system, and they will result in high levels of user satisfaction. </p>
<p>It&#8217;s always worth investing a little time in getting a couple of people to give your site or application a going-over: encourage them to try to generate errors by inputting junk data: after all, your users will be doing this at some point so testing it up front allows you to be sure you&#8217;ve covered all of the bases. </p>
<h3>Things that look the same should behave in the same way</h3>
<p>If you&#8217;ve got a series of buttons, or hyperlinks, or whatever else that look the same, they should behave in the same sort of way. If one hyperlink is going to take you to a new page, you wouldn&#8217;t expect that clicking on a different hyperlink would just refresh the values in a drop-down list, for example.</p>
<h3>Things that behave in the same way should look the same</h3>
<p>Exactly the same principle as the one above, just phrased the other way around!</p>
<h3>Style things consistently</h3>
<p>This one can be difficult, particularly if it&#8217;s your first application, or it consists of more than half a dozen pages or forms, because there is a natural tendency to want to differentiate between different sorts of forms. </p>
<p>This is normally along the following lines: </p>
<p>&#8220;Hey! Why don&#8217;t I make the forms or pages about people in green, and make the maintenance forms blue?&#8221; </p>
<p>And it deserves the response No; <em>No;</em> <strong>No;</strong> <em><strong>No; NO!</strong></em> </p>
<p>The reasons for this are two-fold: firstly, if your application is styled and designed consistently, the users only have to get used to a few different types of form, as they will be likely to assume that forms which look the same as one another will behave in the same sort of manner. </p>
<p>Secondly, we live in a time of multi-tasking now. If someone has half-a-dozen windows open on their computer, it&#8217;s going to be easier for them to locate your application if they can just think &#8220;that one looks like the application&#8221; rather than &#8220;that one looks like the administration part of the application; or possibly like the people part of that <em>other</em> application..&#8221; </p>
<h3>Scrolling</h3>
<p>As a rule of thumb, I&#8217;ve noticed amongst <em>my users</em> that users have an <em>expectation</em> that they may have to scroll down on web pages, but expect paging or tab-based controls on windows-type applications and are more reluctant to scroll down, although users <em>appear</em> reluctant to scroll horizontally.</p>
<p>That&#8217;s just anecdotal and I don&#8217;t have any statistics to back it up with, so don&#8217;t just take my word for it: watch your own users to see if they behave similarly. </p>
<p>If they do, then follow my scrolling rules of thumb:</p>
<ul>
<li>avoid horizontal scrolling on any system</li>
<li>avoid vertical scrolling on windows applications where you can use tabs or paging controls instead</li>
<li>feel free to use vertical scrolling on web pages</li>
</ul>
<h3>Focus on user tasks</h3>
<p>Don&#8217;t add bells and whistles to a form or page just for the sake of it, if they will distract from the job at hand, but equally don&#8217;t be afraid of adding additional features to a page if they will benefit your users. </p>
<p>Remember to ask yourself on each page or form: why would the user have visited this form? What would they have wanted to achieve? How can I make that easier for them?</p>
<h3>Plain English</h3>
<p>Or perhaps I should request that you use simplified anglo-saxon verbiage?</p>
<p>Don&#8217;t use jargon, technical terms, management speak or legalese. Aside from making you sound like you&#8217;ve been developing with a thesaurus firmly implanted up your backside, they just make things more difficult for your users to understand. </p>
<p>If you can&#8217;t explain whatever-it-is in terms that a twelve year old would understand, give up on writing the text yourself. Either get an expert in to do it, or get that twelve year old to do it instead.</p>
<h3>Validate User Input</h3>
<p>It may sound bleeding obvious &#8212; and indeed it is &#8212; but you&#8217;ll get a lot less junk data submitted to your application if you check that the submitted data is valid. If you are using a web-based application, remember to ensure that validation is always carried out server-side (although you can <em>in addition</em> offer client-side validation) as you cannot rely on client side validation. </p>
<h3>Summary</h3>
<p>These are just some of the tips that have occurred to me through my time either developing or overseeing developments: if you want to look into usability in more detail, I&#8217;d recommend taking a look at <a href="http://www.sensible.com/buythebook.html">Steve Krug&#8217;s book Don&#8217;t Make Me Think</a>, which is an excellent usability primer, or if you want a quick checklist to refer to, remember <a href=" http://www.useit.com/papers/heuristic/heuristic_list.html">Jakob Nielsen&#8217;s Ten Usability Heuristics</a>. </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/application-design-usability/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Application Design: Development Standards</title>
		<link>http://www.thepickards.co.uk/index.php/200709/application-design-development-standards/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/application-design-development-standards/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 23:56:14 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Public Sector]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/application-design-development-standards/</guid>
		<description><![CDATA[This is the second of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. I have broken down my thoughts on system design into five distinct pieces: user requirements; development standards (this article); usability, code-cutting, and testing and go-live. What sort [...]]]></description>
			<content:encoded><![CDATA[<p>This is the second of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. </p>
<p>I have broken down my thoughts on system design into five distinct pieces: <a href="http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/">user requirements</a>; development standards (this article); <a href="http://www.thepickards.co.uk/index.php/200709/application-design-usability/">usability</a>, <a href="http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/">code-cutting</a>, and <a href="http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/">testing and go-live</a>. </p>
<h3>What sort of standards?</h3>
<p>That&#8217;s really up to the application development team (and/or their line management) to decide what sort of standards are appropriate to a particular development. This will obviously vary somewhat according to the platform the application is being developed for, and the expected users of the system, but some standards that could be considered are: </p>
<ul>
<li>Internal coding standards &#8212; is your code readable? Are variable names meaningful? Have you used corporate naming conventions?</li>
<li>External coding standards &#8212; does your HTML validate?</li>
<li>Usability standards &#8212; is your system easy and intuitive to use, or do people have to be given specific instructions to prevent them from making mistakes?</li>
<li>Accessibility standards &#8212; can your system be used by people with disabilities?</li>
<li>Universality standards &#8212; can your system be used by people with a different platform and/or browser? </li>
</ul>
<p>I&#8217;m not going to get into the argument here (<em>again</em>) but I tend to see universality and accessibility as part of the same coin: either are preventing someone from using the site, it&#8217;s just a question of <em>why</em>; however I&#8217;ve specifically listed them separately here because in this case I want to consider them separately. <span id="more-388"></span></p>
<h3>Standards Enforcement</h3>
<p>In any development team, different developers will by nature have different coding practices, different skill sets, and indeed different attitudes towards work. Yet from here we want to arrive at a position where we can be sure any developed systems not only meet our requirements, but also that in the event of the prolonged absence of one developer, someone else would be able to step into their shoes and continue their work. </p>
<p>In a nutshell, those two things &#8212; ensuring you hit any external requirements and that your developers can work interchangeably &#8212; are, in a nutshell, what standards are all about. </p>
<p>At the managerial level however, it is important to decide which standards are going to be <strong>enforced</strong>. Any standards which are not enforced will be seen, at best, as &#8216;guidelines&#8217; and ignored or adapted by developers to suit themselves on a case by case basis. </p>
<p>For example, any system providing a service to the general public in the UK is bound by the Disability Discrimination Act, meaning that you can&#8217;t <em>unreasonably</em> place barriers in front of disabled users, that you can&#8217;t refuse to employ disabled employees (which means that even your internal systems <em>may</em> need to be accessible) and so on. </p>
<p>In some cases, it goes further than this. Local Government sites in the UK are expected to comply with the <a href="http://www.w3.org/TR/WCAG10/full-checklist.html">WCAG 1.0 Guidelines</a> to at least the &#8216;AA&#8217; level. My opinion is that these guidelines are outdated, in some cases make little impact on how usable the site is to someone with disabilities, and prevents you from relying on any scripting technologies even if you&#8217;ve tested these with accessible technologies. </p>
<p>That said, if it&#8217;s mandatory, you&#8217;re still going to be expected to do it, at least until the requirements have been revised. But if you want to actually achieve this, you&#8217;ve got to enforce it: test for compliance with this and don&#8217;t but sites live if they don&#8217;t match up. </p>
<p><strong>The only standards you actually have will be the ones you enforce.</strong></p>
<h3>Drawing The Lines: Perfection vs Practicality</h3>
<p>Which standards you decide must be <em>enforced</em> will depend on your own external pressures: what are you going to be evaluated against? </p>
<p>In an ideal set of circumstances you don&#8217;t need to compromise: when you&#8217;re developing applications in-house, you&#8217;re in control of them and with a minimum of additional effort can ensure that you comply with all internal standards, that your site is accessible to users with disabilities, and that it is secure and robust. </p>
<p>Unfortunately, the circumstances aren&#8217;t always ideal. It&#8217;s common to find a situation where some, or all of the live code has already been written, or is outside your control. How do you handle that? </p>
<p>Well not surprisingly, there <strong>isn&#8217;t</strong> a one-size fits all answer. <strong>It depends</strong>. </p>
<p>Really, it&#8217;s up to you, your management, or their management as appropriate, but what you need to consider is: </p>
<ul>
<li>What do we need to do to fix this system?</li>
<li>How long will it take to fix this system?</li>
<li>How much will it cost to fix this site?</li>
<li>How likely is it someone will have a problem with this system?</li>
<li>What are the potential consequences if someone has a problem with this system?</li>
</ul>
<p>These five questions are key questions to ask yourself about your standards. </p>
<p>Imagine asking these questions with regard to a series of variables not being named according to your naming conventions. Is it <em>that</em> important? Will it have an impact on future developments? </p>
<p>If so, then by all means review it. If not, you might want to reconsider whether you need those standards at all&#8230; </p>
<p>Now imagine you&#8217;re asking those questions because your site is unusable to someone with Firefox. You&#8217;re risking potential embarrassment if someone raises the issue and you don&#8217;t get it fixed. You&#8217;re also risking losing potential customers or clients.</p>
<p>Now imagine it&#8217;s because your site doesn&#8217;t work with a screen-reader and blind or partially-sighted people can&#8217;t use your site. Now it&#8217;s not just embarrassment you&#8217;re risking, but a potential lawsuit under the DDA. Under these circumstances, you&#8217;d probably <em>have</em> to fix it. </p>
<p>But the question that would tend to be asked is not whether it should be fixed; it&#8217;s whether it should be fixed <strong>now</strong>, or whether you should only put the time and investment into doing that when a user reports to you that they are having a problem with it. </p>
<p>It&#8217;s your call. I, personally, would probably want to fix it immediately if that was at all feasible, because of the high risk of public embarrassment as well as potential legal action, but you might see the call differently. </p>
<p>You also need to consider whether internal developments and third party systems need to meet the same standards. This usually depends on the reason <em>for</em> those standards: naming conventions, commented code and internal documentation help when maintaining systems. If the third party is responsible for maintaining their systems, maybe <em>they</em> don&#8217;t need to follow <em>your</em> coding conventions&#8230; </p>
<p>&#8230;but presumably <em>you</em> have the same responsibilities regarding accessibility of services you provide, whether or not these were developed by a third-party or by yourself, so it is just as important to ensure that third party code is accessible as yours is (and again you&#8217;ll probably have to decide on a case-by-case basis how to handle it if it <strong>isn&#8217;t</strong>). </p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/application-design-development-standards/feed/</wfw:commentRss>
		<slash:comments>36</slash:comments>
		</item>
		<item>
		<title>Application Design: User Requirements</title>
		<link>http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/</link>
		<comments>http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/#comments</comments>
		<pubDate>Mon, 03 Sep 2007 18:56:13 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Articles]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/</guid>
		<description><![CDATA[This is the first of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. I have broken down my thoughts on system design into five distinct pieces: user requirements (this article); development standards; usability, code-cutting, and testing and go-live. What is [...]]]></description>
			<content:encoded><![CDATA[<p>This is the first of a five part series on system design, relying on my own experiences and knowledge from working both in the public and private sector. </p>
<p>I have broken down my thoughts on system design into five distinct pieces: user requirements (this article); <a href="http://www.thepickards.co.uk/index.php/200709/application-design-development-standards/">development standards</a>; <a href="http://www.thepickards.co.uk/index.php/200709/application-design-usability/">usability</a>, <a href="http://www.thepickards.co.uk/index.php/200709/application-design-code-cutting/">code-cutting</a>, and <a href="http://www.thepickards.co.uk/index.php/200709/application-design-testing-and-go-live/">testing and go-live</a>. </p>
<h3>What is the system for?</h3>
<p>This is the first and most crucial question that needs to be asked at the starting point of any development. What is the system <strong>for</strong>. Note that this is subtly different from &#8220;what is the system expected to do&#8221;. </p>
<p>Here the emphasis should not be on what should the system do, as generally if you are replacing an existing system, the users will assume that the new system should work in the same manner, with some nicer colours and bug-fixes thrown in. </p>
<p>However, asking what the system is actually for &#8212; in other words which tasks do the users want to accomplish &#8212; will enable whoever is assessing the requirements to compare their knowledge of what can technically be accomplished with the tasks that the users need to carry out and possibly suggest new and improved business practices. <span id="more-387"></span></p>
<p>For example, let&#8217;s take an imaginary set of user requirements: </p>
<p>The users want a system that will handle various types of financial transaction, and want the system to produce a report that will identify transactions on a weekly basis that have satisfied certain criteria. </p>
<p>You <em>could</em> simply produce this report. </p>
<p>Alternatively, if you&#8217;d asked what this report was <em>for</em>, you may have found out extra information, for instance the report may be passed to someone who is externally auditing the financial systems, or for someone who is checking against fraud. </p>
<p>Once you&#8217;ve got this additional information, there may be other options available that would be more beneficial to the user &#8212; if you create the auditor a read-only account that allows them to run these sorts of reports and check the transactions for themselves, then not only do the auditors get more control over the information that they are looking at, but it doesn&#8217;t need to be a task that the standard users have to carry out any more. </p>
<p>This fictional example is just to illustrate the importance of knowing <strong>why</strong>. It is therefore critical that whoever is sent to discuss the system with the user is capable not only of understanding the technical possibilities but of determining and understanding not only the users&#8217; business practices but also business reasons behind them. </p>
<h3>Who is the system for, and how secure should it be?</h3>
<p>If the system is used by everyone in Department X to monitor the amount of fuel being used by the company&#8217;s vehicles, then this only really needs to be placed in some sort of location where only Department X can access it, such as a place on your corporate network. </p>
<p>If on the other hand it was being used to keep track of disciplinary action taken against various employees and/or information relating to ongoing disciplinary cases, and it was required to be published on the internet so that suspended employees and their union representatives could access their own data then it would need to be considerably more secure; you would not want anyone to be able to access this data unless they were a specifically authorised user (this would not only be required for data security, but in a system of this nature it would additionally be required by the Data Protection Act). </p>
<p>You therefore need to choose an appropriate platform and security structure for the system depending upon the importance of the data, the sensitivity of the data, and the potential for harm if the system is compromised.  It is theoretically possible to apply the maximum security level to every system, but this would generally not be desirable because you are adding unnecessary development costs in each case. </p>
<p>It is important to decide between the system owners and the system developers what form of security is appropriate and develop to this standard. </p>
<p>For a system of critical importance, where data is particularly sensitive, or where it is most exposed (e.g. applications published on the internet), you may also wish to look at incorporating penetration testing into your plan. </p>
<p>Noting who your users are is of importance too. If your users include the general public, or people who don&#8217;t use many other IT systems, then you&#8217;ll have to pay particular importance to ease-of-use because the likelihood is that you may be dealing with at least some people who are not particularly computer literate, and if you want your system to be successful, it needs to be (at least relatively) easy to use for everyone. </p>
<h3>Write It Down</h3>
<p>Once you&#8217;ve discussed the requirements with the users, and you&#8217;ve come up with a proposal, document it. Write down what <em>you</em> think the system needs to do, <strong>write it down</strong>, and send it back to the users for confirmation. </p>
<p>It won&#8217;t <em>stop</em> arguments (sorry, &#8220;discussions&#8221;) about the original intentions later on, but it will reduce them &#8212; anything you&#8217;ve got down in this document, once it has been confirmed, has been agreed. </p>
<p>Depending upon the client/developer relationship this may or may not make a difference to your procedures should the client request changes, but at least you&#8217;ve got something to refer back to, and this document can be crucial for the developer who shouldn&#8217;t make any decisions that moves the system away from what is agreed in this document without specific authorisation. </p>
<p>From this document, you should be able to produce your <em>Acceptance Critieria</em> before you&#8217;ve even carried out any development. The acceptance criteria document is simple: it basically says that if the system does this, this and this, doesn&#8217;t need this or that, doesn&#8217;t do that, that or that, and that you can run this, that or the other report from it, then the system will be acceptable. If it doesn&#8217;t meet these criteria, the system won&#8217;t be acceptable. </p>
<p>If you and the users have done your respective jobs properly at this stage, the users will be happy with any system that meets the requirements described in the Acceptance Criteria, and the developers will understand how to produce a system that will meet the users&#8217; needs. </p>
<h3>Summary</h3>
<p>It sounds simple &#8212; and indeed it is &#8212; but it brings a great deal of practical benefit to your projects throughout the project lifecycle if you can: </p>
<ul>
<li>Understand the business requirements and the business processes</li>
<li>Understand who will be using your system</li>
<li>Understand any complications arising from the sort of data being held (business critical, sensitive, personal etc)
</li>
<li>Write it down and get the users to agree acceptance criteria</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200709/application-design-user-requirements/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Accessibility and .NET</title>
		<link>http://www.thepickards.co.uk/index.php/200708/accessibility-and-net/</link>
		<comments>http://www.thepickards.co.uk/index.php/200708/accessibility-and-net/#comments</comments>
		<pubDate>Wed, 08 Aug 2007 23:47:13 +0000</pubDate>
		<dc:creator>JackP</dc:creator>
				<category><![CDATA[Accessibility]]></category>
		<category><![CDATA[Articles]]></category>
		<category><![CDATA[Standards]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.thepickards.co.uk/index.php/200708/accessibility-and-net/</guid>
		<description><![CDATA[I&#8217;m somewhat of an accessibility evangelist; I am passionately in favour of ensuring that websites are available to all, irrespective of disability. I include in this people using different platforms and different browsers, because I tend to think it&#8217;s unprofessional to design a site which only works properly half the time. Yet my development platform [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m somewhat of an accessibility evangelist; I am passionately in favour of ensuring that websites are available to all, irrespective of disability. I include in this people using different platforms and different browsers, because I tend to think it&#8217;s <em>unprofessional</em> to design a site which only works properly half the time.</p>
<p>Yet my development platform of choice is Microsoft&#8217;s .NET environment. Many people wrongly assume that using .NET means that you can&#8217;t produce standards-compliant accessible code.</p>
<p>They&#8217;d be wrong. It&#8217;s not necessarily as <strong>easy</strong>, and you have to make judgement calls from time to time. Here are some of the things I&#8217;ve done to try and make my .NET 2.0 applications more standards-compliant and accessible.<span id="more-376"></span></p>
<h3>But .NET isn&#8217;t built for standards-compliance</h3>
<p>Well, I don&#8217;t know how it&#8217;s <em>built</em>, but I do know that it is certainly possible to develop ASP.NET 2.0 sites using web standards. In fact there&#8217;s a whole great ruddy resource on precisely that topic on <acronym title="Microsoft Developer Network">MSDN</acronym>: <a href="http://msdn2.microsoft.com/en-us/library/aa479043.aspx">Building ASP.NET 2.0 Sites Using Web Standards</a>.</p>
<p>Give it a whirl. You might learn something. Bear in mind though, that the people behind it might not be right every time &#8212; for example they suggest that it makes things more accessible if every form field has an accesskey. It doesn&#8217;t. Nor does running your site through an automated checker (also suggested here) allow you to state with confidence whether or not your site is accessible.</p>
<p>So I wouldn&#8217;t recommend this as a key source of information for <strong>accessibility</strong>. I would however consider it to be a key source of information for .NET features that relate to accessible design. Just take their accessibility pronouncements with a pinch of salt&#8230;</p>
<h3>But doesn&#8217;t .NET use tables for everything?</h3>
<p>A number of .NET controls use tables by default, such as form views, grid views, tree views and the like. You&#8217;ve got a number of options here:</p>
<ol>
<li>Don&#8217;t use those controls</li>
<li>Use those controls and accept that they are going to output tables</li>
<li>Use the <a href="http://www.asp.net/cssadapters/">CSS Friendly Control Adapters</a></li>
</ol>
<p>The CSS Friendly control adapters take the code output by .NET and transform it, depending on browser, to more CSS-related output. I have to admit I haven&#8217;t looked into these a great deal: partly because I don&#8217;t want to server different output depending on how a browser is identified, partly because I don&#8217;t trust people&#8217;s browser identifications to be accurate, partly because I&#8217;ve never got round to it, and partly because my brief glance at the adapters seemed to indicate that they use javascript, and I try to minimise javascript use for reasons of accessibility support.</p>
<p>However, they might be suitable for you, or your environments, and are probably worth a look.</p>
<p>I personally don&#8217;t use them, however. I either create controls myself if I need to &#8212; for example creating my own paging control using buttons (so as not to be reliant on javascript), or I avoid them &#8212; preferring to build my own navigation menus than using TreeView &#8212; or I&#8217;m perfectly happy that they output tables, such as when I&#8217;m using the GridView control to output tabular data.</p>
<p>The ideal way forward would be for .NET to render controls using CSS by default&#8230;</p>
<p>[Edit: and it looks as though they might be doing precisely this in .NET 3.0, from what I've read although I've not been able to test this as yet]</p>
<p>&#8230;(or at least by some sort of application level switch) so that people wanting to produce standards compliant, css-friendly code can do so without having to jump through additional hoops.</p>
<p>For now though, you&#8217;ve got to jump through &#8216;em.</p>
<h3>.NET form labels don&#8217;t work</h3>
<p>If you&#8217;re using Master Pages (a nice template-type feature found in .NET), you&#8217;ll find that many of your controls get given prefixes like <code>ctl00_CPH_Body_</code> which means that if you&#8217;ve started out with something like this:</p>
<p><code class="block">&lt;label for=&quot;Name&quot;&gt;Name: &lt;/label&gt;<br />
&lt;asp:TextBox ID=&quot;Name&quot; runat=&quot;server&quot;&gt;&lt;/asp:Textbox&gt;</code></p>
<p>What will actually be rendered is something unexpected:</p>
<p><code class="block">&lt;label for=&quot;Name&quot;&gt;Name: &lt;/label&gt;<br />
&lt;input name=&quot;ctl00$CPH_Body$txtFirstName&quot; type=&quot;text&quot; id=&quot;ctl00_CPH_Body_txtFirstName&quot; /&gt;</code></p>
<p>Which isn&#8217;t an accessible form control <strong>at all</strong>: the label is not actually associated with the correct control (indeed, it&#8217;s not actually associated with any control now).</p>
<p>But the solution is simple: instead of using a plain HTML label element, use an ASP label instead:</p>
<p><code class="block">&lt;asp:Label ID=&quot;lblName&quot; runat=&quot;server&quot; AssociatedControlId=&quot;Name&quot;&gt;&lt;/asp:Label&gt;</code></p>
<p>Would render as:</p>
<p><code class="block">&lt;label for=&quot;ctl00_CPH_Body_Name&quot; id=&quot;ctl00_CPH_Body_lblName&quot; class=&quot;label&quot;&gt;First Name:&lt;/label&gt;</code></p>
<p>Simple, eh?</p>
<p>And it&#8217;s even easier for ASP controls CheckBox, RadioButton, CheckboxList and RadioButton list, because (and thanks to BrettD for spotting this):</p>
<blockquote><p>The ASP.NET CheckBox, RadioButton, CheckBoxList, and RadioButtonList controls automatically render <label> tags. Be careful, when using these controls, to use the Text attribute to label the text of the control<cite><a href="http://msdn2.microsoft.com/en-us/library/aa479043.aspx#ctl00_LibFrame_ctl54">Building ASP.NET 2.0 Sites Using Web Standards (2)</a></cite></label></p></blockquote>
<h3>.NET isn&#8217;t XHTML-strict compliant</h3>
<p>Yes it is. Or rather, it <em>can be</em>. The problem it has is that it doesn&#8217;t know that you want to use XHTML strict (defaulting to XHTML 1.0 Transitional). All you have to do is tell it, by including something in the web.config file:</p>
<p><code>&lt;xhtmlConformance mode =&quot;Strict&quot;/&gt;</code></p>
<p>Not <strong>too</strong> difficult, was it?</p>
<h3>Errors Are Found In The Output Source Even When There Isn&#8217;t An Error</h3>
<p>What, you mean like this?</p>
<p><code class="block">&lt;span id=&quot;ctl00_CPH_Body_valSurname&quot; style=&quot;color:Red;visibility:hidden;&quot;&gt;You must supply a surname for searching&lt;/span&gt;</code></p>
<p>&#8230;or more commonly showing an asterisk, with the full error message being shown in a validation summary further down the page.</p>
<p>Yes, some of my earlier .NET 2.0 developments contain this sort of thing. Unless you view the source code (and unless you&#8217;re some sort of standards-obsessed anal retentive, you&#8217;re not likely to), you wouldn&#8217;t notice that in most circumstances.</p>
<p>You might however notice it if your browser doesn&#8217;t use CSS (or doesn&#8217;t take account of it <em>properly</em>), in which case you&#8217;ll find that all of your form controls with associated validation are reporting errors even when there aren&#8217;t any errors.</p>
<p>This is quite simple however, and is to do with client side validation. .NET allows the use of client side (javascript) validation, backed up by server side validation if the page cannot be validated with javascript (i.e. javascript doesn&#8217;t work, is turned off etc).</p>
<p>In order to do this, it places these error elements in the source code, but tells the browser to use CSS not to display them, and then in the event of an error <strong>actually</strong> being found, it manipulates the <acronym title="Document Object Model">DOM</acronym> again in order to display the errors.</p>
<p>That&#8217;s fine and dandy, assuming you&#8217;re using CSS, and you&#8217;ve not over-ridden it with your own preferences. However, if this isn&#8217;t the case, you report an error every time: including before anyone&#8217;s typed anything in, which obviously isn&#8217;t ideal.</p>
<p>Fortunately, there&#8217;s a simple way around it: simply insist that all validation is carried out server-side rather than client-side. This might mean a slightly increased load on your server, and it might mean it takes ever-so-slightly longer to validate the page, but that&#8217;s the compromise you have to make.</p>
<p>And it&#8217;s very simple to carry out the change. All you need to do is add <code>EnableClientScript="False"</code> into your .NET validation control, like so:</p>
<p><code class="block">&lt;asp:RequiredFieldValidator ID=&quot;valSurname&quot; runat=&quot;server&quot; ControlToValidate=&quot;surname&quot; ErrorMessage=&quot;You must supply a surname for searching&quot; EnableClientScript=&quot;False&quot; cssClass=&quot;error&quot;&gt;*&lt;/asp:RequiredFieldValidator&gt;</code></p>
<p>And hey presto, nothing in the output HTML source unless there actually is an error.</p>
<h3>.NET And The JavaScript Bugbear</h3>
<p>A lot of .NET controls use javascript. This <em>isn&#8217;t</em> because Microsoft are an evil corporate machine dedicated to the destruction of accessibility and standards-compliance (although you&#8217;d never know that, listening to some people), it&#8217;s because Microsoft have added additional functions that aren&#8217;t supported by HTML and therefore need to use javascript to add these additional features because they <em>simply aren&#8217;t there</em> in HTML.</p>
<p>I&#8217;ve <a href="http://www.thepickards.co.uk/index.php/200609/net-wcag-javascript-and-accessibility/">already described this in more detail</a>, and indeed produced a <a href=" http://www.thepickards.co.uk/index.php/200610/javascript-testcase/">testcase for javascript postback compatibility</a> to test for precisely this thing.</p>
<p>Basically, as far as .NET and accessibility goes, <strong>you cannot comply with WCAG 1.0 if you require javascript postbacks</strong>. It&#8217;s as simple as that: WCAG 1.0 requires that the site functions without scripting being enabled.</p>
<p>However, if the particular scripting &#8212; in this case the javascript postback &#8212; is compatible with accessible technologies then it will be possible to comply with WCAG 2.0.</p>
<p>If you&#8217;re <strong>required</strong> to comply with WCAG 1.0, you can&#8217;t use javascript postbacks. End of story. Everything on your site will need to be driven by buttons or hyperlinks, and it&#8217;s certainly <em>possible</em> to do things that way, you just have to go to a little more trouble (for example, when I created my own button-based paging controls).</p>
<p>If you&#8217;re not required to comply with WCAG 1.0, you therefore have a decision to make. If you use only javascript which has been tested to work with accessible technologies (and that&#8217;s the reason why I produced the testcase ), then you can use that piece of javascript and you won&#8217;t be preventing users with disabilities from accessing your site.</p>
<p>That&#8217;s why I tested the javascript postback, and I&#8217;m confident that this can be used without discriminating against disabled users; it appears to be widely supported by assistive technology. I wouldn&#8217;t however just take <em>my</em> word for it: if you feel you need to, test it yourself, or set up your own test case!</p>
<p>However, your site (or at least those parts of it which required javascript) would be unusable for anyone who couldn&#8217;t support javascript, or have it switched off.</p>
<p>That&#8217;s your call.</p>
<p>Personally, I&#8217;d minimise the use of javascript, and only rely on it if necessary, because I&#8217;d rather have a site that will run even with scripting switched off. But if I have to use it, I will.</p>
<p>That&#8217;s my call: but then again no-one is insisting <em>ThePickards</em> comply with WCAG 1.0&#8230;!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.thepickards.co.uk/index.php/200708/accessibility-and-net/feed/</wfw:commentRss>
		<slash:comments>133</slash:comments>
		</item>
	</channel>
</rss>

