1 Project Research and Planning.. 2

 

1.1 Background. 2

 

1.2 Resources. 2

Resources: Languages. 2

Resources: software. 3

 

1.3 Research. 3

Research: Neuropsych Tests. 3

 

1.4 Project Aims: 4

 

1.5 METHODOLOGIES.. 5

WSDM.. 5

Waterfall Method. 5

Extreme Programming. 5

SCRUMM.. 5

Jag and Rad. 5

 

1.6 Ethics: 5

 

2 Ethical Discussion Regarding Neuropsychological Performance Testing in comparison with Current Drug Screening and Employee Performance Monitoring methods. 6

 

3 Design & Build Phase. 7

 

3.1 Design. 7

Prioritised Requirements. 7

Outline Plan. 7

Design Iteration: Designing the Website Template. 7

Design Iteration: Designing the clock test 8

Design Iteration: Brain Training. 9

 

3.2 Implementation. 9

Implementing the HTML. 9

Implementation of the Mackworth Clock Test. 10

Explanation of Techniques and Terms. 11

Implementation CSS code. 12

Other Css Declarations. 13

 


4 Testing Report. 14

 

4.1 Faults found during automated testing. 14

.1 All pages are Valid HTML 4.01 Strict. 14

Not Valid HTML: 14

Valid HTML: 14

The CSS Document is validated. 14

4.2 The pages are readable in various browsers, and at various resolutions. 14

Problems found: 14

 

4.3 All links are valid and working. 14

 

4.4 The page loading is as quick as possible. 15

 

4.5 All content is checked for spelling errors. 15

 

4.6 The site is accessible to differently able people. 15

 

4.7 Testing the Flash Application. 15

Post Completion Testing: 15

Iterative Testing: 1. 15

Iterative Testing: 2. 15

Iterative Testing: 3. 15

Iterative Testing: 4. 15

 

5 References. 16


1 Project Research and Planning

1.1 Background

 

This project was inspired by the optional module I took in the second year but through research and ethical considerations has become quite different to how it was originally envisaged.

 

Towards the end of my first year at Staffordshire university I had the chance to pick an optional module for the second year, with only computing modules so far I was beginning to feel that my studies where restrictive so I looked through the general options and found a forensics module entitled “drugs of abuse” which had essay based coursework. The opportunity to write an essay and learn about forensics and drug testing peaked my interest.

 

I enjoyed the module and received a good grade for my essay so I decided to take the follow up module in my final year. Rather than these optional modules being a distraction from my computing studies I wanted to incorporate what I was learning in them into my project and I looked into ways of doing so.

 

It was suggested that I look into drug screening and experiments which could be computerised; I took this advice and found that it would be possible to test for signs of drug use with neuropsychological tests.

 

I came across a study that tested the vigilance of drivers under the influence of THC which showed that they underperformed in vigilance tests, relative to placebo whilst under the influence and also for a few hours after the perceived “high” had subsided.

 

The original proposal for this project was to use neuropsychological tests in place of random drugs testing as these tests can give results which are relevant to the workplace without inconveniencing the employee.

 

Further research found similar studies on drivers who where under the influence of alcohol, who were sleep deprived or were taking or abusing prescription medicine all who showed similar drops in cognitive performance.

These studies alongside my research into neuropsychological testing made it clear that these tests were not able to give a clear indication that drug abuse was taking place; this was however a benefit in terms of the project as it fits into the philosophy of finding results which are relevant to the workplace by highlighting problems regardless of cause.

 

I spoke to Alan Eardley regarding the ethical considerations of the project and it became necessary to distance the project from drug use in the workplace and instead create a demonstration of neuropsychological testing for personal use which would be accompanied by text explaining the potential uses, including workplace monitoring.

 

A neuropsychological performance test monitors a user’s cognitive function, for the purpose of this project this is their reaction speed and concentration over time.

 

A test such as the “Mack worth clock” sets the user a task to do whenever an event happens in order to measure how fast they will react to it and how many they will notice throughout the test, in other words it tests the users ‘vigilance’.

In the case of the clock test the user will see a graphical representation of a clock face, occasionally the second hand will tick two seconds instead of one and at this point they are to press a button. The reaction speed is recorded for each occurrence of the event and concentration is determined to how many events are reacted to within a set time period.

 

As a one off experiment these results hold little meaning, but by comparing the results on a daily or weekly basis a user can monitor performance and highlight potential problems and also pick out patterns such as days where they perform particularly poorly or particularly well. A drop in cognitive performance can highlight a range of potential problems including drug or alcohol abuse, sleep deprivation or insomnia and depression or emotional trauma.

 

The usefulness of such tests in the work place relate to both drug screen and performance monitoring. By monitoring staff performance in this way and employer can spot potential problems with staff before their work starts to slip to the point where they fail to meet targets, highlighting these problems could also be useful in safety critical situations, such as testing train drivers before they start work for the day.

 

More controversially staff could be monitored using neuropsychological testing rather than using random drugs testing. Potentially a random drugs test could penalise a drug user who performs well in their job whilst allowing someone who rarely sleeps well to cause accidents. Equally it could be seen that a user who inhaled THC inadvertently is penalised despite being more “on the ball” than someone who drinks heavily during the week.

 

By testing staff at interviews or on their first day a baseline can be worked out by which results are compared, with this baseline test being replaced by any higher results as time goes on. If a user is shown to be consistently lower than this baseline then this highlights a potential problem and support can be given, thus helping the employee to perform well, rather than criticising them for performing poorly, as would happen currently.

 

After coming to these conclusions I found a system called ImPACT which uses NPT to assess the readiness of NASCAR drivers who wish to race after an accident. The tests are taken as a baseline on a ‘healthy’ and tests taken before driving are compared to this baseline to see whether the driver is suffering from the effects of concussion.

 

ImPACT is used in sports in many schools and colleges across the United States.

1.2 Resources

Resources: Languages

 

 

Plain HTML

External Stylesheet

Flash

Ease of coding.

x

Dynamic?

x

x

Loading Times

√√

x

Personal Ability

√√

x

Preffered Method

x

x

Current Tech?

x

Online Help

√√

 

My options for creating the website which will hold the NPT demonstration were to code in plain html using tables for presentation, to code in structured, validated HTML with an external validated CSS stylesheet for presentation, or to create the project wholly in flash.

 

Previously my experience has been mainly with HTML using Tables for presentation so this was my immediate option, my experience with HTML however would make it easy for me to create structured neat code to be used with a stylesheet.

 

HTML or ‘Hyper Text Mark-up Language’ is used to format data on the web, it has been used for visual formatting since its conception but is not best suited to this task and recent revisions to the html language remove a lot of the presentation features used in the past.

 

Using plain html is messy, each page is saved separately even if much of the content is repeated on multiple pages. By using an external stylesheet for presentation we can save the text data of each page separately and format it using a single stylesheet to handle the positioning and appearance of elements.

 

Whilst my experience with CSS is limited I have been teaching myself the language over the last 6-12 months and feel comfortable enough to embark on this project using it.

 

Flash was included to give balance and also as one of the options for creating the test itself is flash and actionscript but due to slow loading times and my own unfamiliarity with the format and personal leanings it was never a serious consideration.

 

Below are examples of the different kinds of pages which can be created using HTML, CSS and Flash.

 

 

 

Here is an example of a flash site next to a plain HTML page.

 

Flash has the graphical benefits of using custom fonts and cursors and adding rounded edges to boxes without the need for an excessive amount of images as HTML would require.

 

The extra time taken to load a flash page however does not make these graphical advancements worthwhile, especially as many of the features afforded by flash can be achieved using CSS.

 

 

Below is an example of the power of CSS, all three of these pages use the same basic HTML content and present it differently.

 

The ability to change the entire site presentation without affecting the content is the main draw of CSS, the separation of content and display lend themselves to user centred design by allowing for custom stylesheets and by making it much easier for screen readers to display the correct information.

 

 

Css or “cascading style sheets” allow for dynamic, easily changeable websites. Whilst flash may be suitable for the NPT Demo (see below), designing a flash website is a different matter, file sizes are much larger than with HTML and pages cannot be edited easily.

 

Whilst the plus side to flash is the ability to display to the user exactly how you want things to look, without tricky code and with the inclusion of multimedia elements and custom fonts, these benefits are not important for the purpose of this project and do not outweigh the drawbacks such as the inability to bookmark specific pages and other accessibility issues.

 

 

 

The pages will be created in HTML 4.01 Strict and CSS1 as these are the most supported standards and all pages will be validated by W3.org and tested in Mozilla, Internet Explorer and Opera.

 

 

 

An example of HTML Code:

 

HTML (Structure)

 

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">

<html>

<head>

<title>Neuropsychological Performance Testing</title>

</head>

<body>

<div id="wrapper">

 <div id="header">logo</div>

 <div id="menu">menu</div>

 <div id="body">

  

   <div id="leftcol"><div class="verticalmenu">

   <ul>

     <li><a href="#">Home</a></li>

     <li><a href="#">About Us</a></li>

     <li><a href="#">Products</a></li>

     <li><a href="#">Services</a></li>

     <li><a href="#">Contact</a></li>

   </ul>

  </div>

 

   <br class="clear">

   <div id="maincol">main column</div>

 </div>

</div>

<div id="footer">footer</div>

</body>

</html>

 

With a stylesheet added the page could look like either of these examples.


 

 

Java

Flash

Ease of Coding

x

Portability

Downloadable

GUI Coding Interface

Updates Local Copy

x

Integrates with HTML

Loading Times

x

Presentation

x

User Familiarity

x

Personal Preference

x

 

 

My choices for the demonstration software were to create a java swing applet or a flash/actionscript based program.

 

Despite my own leanings towards the java route ultimately it would involve a lot more time and effort on my part without benefiting the user.

 

As the project is user centred it is better to use the technology which will load faster and look better even if it will not give the same learning experience as the more technical route.

 

The Mackworth Clock could be created in flash with the entire clock being created with actionscript keeping file sizes low and loading times quick.

 

Rather than setting the clock to run from system time as would normally be the procedure for a clock program, the starting point could be set in this way with the movement from that point implemented in code.

 

Actionscript is an object orientated scripting language which is similar to javascript and is used to add animation to web pages. Actionscript is included in the macromedia flash software.

 

Actionscript is compiled into a .swf format flash movie and can be incorporated into HTML pages fluidly.

 

Using Java Swing & Web Start it would be possible to create a single application that would run on various platforms and update automatically from the web when necessary. Whilst this would be a great feature for a regularly used commercial application, for this demonstration it would be overkill and would be detrimental to the end user in terms of accessibility.

 

Whilst my personal preference was Java for the learning experience I felt that the time taken to download the applet would deter users from using the demonstration.

 

A flash application is easier and less time consuming to produce but will still require learning on my part and has the potential to look much more impressive to the end user.

 

I plan to create the application using macromedia flash, whilst this software is not free it is readily available on the university computers.

 

Resources: software

 

For creating the main site I will use a text editor called EditPlus, this is a syntax highlighting text editor which makes coding HTML and CSS easier due to its simple layout and ability to use tabs.

 

I could use notepad or dreamweaver for this but the simplicity of EditPlus is preferred to the clutter of dreamweaver and notepad does not have syntax highlighting, which I feel is critical.

 

 

The same text in EditPlus (left) and notepad. The highlighting allows me to quickly see which parts of the code are text, tags or attributes.

 

On the next page is an example of Dreamweaver and Editplus, I find the editplus environment to be a lot less cluttered, in addition to this pages load much quicker and the software is available for free online, meaning I can work on this part of the project at home.

 

I would rather code my hand than use a wysiwyg html generator such as dreamweaver and tidy it up later for verification, whilst dreamweaver may be used on occasion for simple edits or to make use of quick and easy insertion of elements I prefer the level of control afforded by the simpler EditPlus software.

 

For creating the images for the site, such as logo’s and backgrounds I will use photoshop as I have had years of experience with the software and have it installed at home.

 

 

Dreamweaver

 

EditPlus

 

 

 

1.3 Research

 

Before embarking on this project I researched the area of driving and how it is affected by various substances, the purpose of this research was to find out if I could test for signs of substance abuse passively without taking samples from a user, and also to relate the affects of substance abuse to tasks requiring concentration and effort.

 

The information I found during this research changed the direction of the project and altered my thoughts on the purpose of screening for substances.

 

For this report I will focus on two studies which were conducted with the aim of finding out how substances affect a driver’s ability in comparison to alcohol.

The first of these studies relates to THC consumption, with the second focusing on sleep deprivation. I also read studies on barbiturates and other substances, but the findings in the two I will mention below are more relevant to the project.

 

The three factors involve are all shown to affect cognitive functioning.

 

Alcohol

Legal Substance, Restricted.

Shows up on Screening for up to 48hrs.

THC

Illegal Substance,

Restricted

Shows up on screening for up to 3 months

Sleep Deprivation

Unrestricted

Not visible on Screening

 

 

 

 

The results of the studies are interesting for many reasons, the first being that sleep deprivation of 18-20 hrs is the equivalent of drinking to twice the legal limit with regards to cognitive functioning. The second being that whilst cognitive impairment is comparable between alcohol and THC users those under the influence of a small amount of alcohol are overconfident and make more mistakes than those who are under the influence of THC.

 

The results of the studies also show that the mackworth clock test is effective in showing signs o mental fatigue, which is why it has been chosen as the demonstration for this project.

 

In conclusion it is shown that equivalent impairment is found from all three substances meaning that in a safety critical situation Neuropsychological Testing could prove more affective than drug screening itself.

 

As an aside it is shown that the mackworth clock test is the most affective method for finding signs of fatigue which would impair concentration and reactions.

 

I then looked further into Neuropsychological Testing.

 

 

 

Research: Neuropsych Tests.

 

Neuropsychological Tests identify cognitive impairment in various areas such as reasoning, memory, concentration and co-ordination.

 

Neuropsychological Testing is used to assess:

 

o       Patient status following brain injury

o       Learning Difficulties

o       Dementia

o       Various Pathologies

 

Results are compared to a “normal” functioning person. Taking into account factors such as age and background.

 

For the purposes of this project results are compared only against the user’s personal “base-line” or personal average, which is accredited as being their “normal” result.

 

The test intended for use as a demonstration in this project is the “Mackworth Clock Test”. This was developed in 1948 to evaluate vigilance in RAF radar technicians. Computerised versions of the test have shown to produce equivalent results to those shown in Mackworths participants.

 

The test requires the use to watch an un-numbered clock face for a set time period, usually an hour. They are to press a button when the second hand ticks forward two seconds rather than its usual one.

 

Performance is measured by noting the number of hits, misses and false hits as well as the time between the movement and button press of each hit.

 

This gives us a representation of vigilance (concentration) and SRT (reaction speed) even if not run for a full hour. Mackworth found that after 30mins a significant deterioration in vigilance occurs, although up to half of this happens in the first 15 mins.

 

For the purpose of this demonstration the test time will be kept under 20mins in length with the average reaction time and hit percentage being shown back to the user.

 

 

Digit Vigilance Test

 

Users must click either 6’s or 9’s as they appear in 59 rows of randomly selected single digits.

 

The number of false hits and mistakes due to co-ordination issues confuse matters and make this test unsuitable for the simplified demonstration required for this project.

 

Opposite Reaction Test

 

In the opposite reaction test ‘left’ or ‘right’ flashes up on screen and the user is required to press the opposite button to the word they see. Whilst simple in execution this test introduces reasoning and decision making which blurs reaction speeds and makes results difficult to analyse.

 

Because this is the least technologically demanding test it could be added as an extra demonstration, should time allow.

 

Mackworth Clock Test

 

During the Second World War it was noticed that enemy submarines were appearing in waters which had been recently searched by observers of coastal command. Sir Frederic Bartlett of the Cambridge psychological laboratory was asked to make a study of the effects of fatigue on the radar detection of such targets.

 

This detection required discrimination between the submarine target and other ships such as fishing boats, which were more frequent. The problem was taking up by Norman Mackworth (1950) who designed the clock test.

 

To this and other tasks designed to investigate the same psychological phenomenon he gave the name of vigilance tasks, taking the term from the definition by head (1926) “when vigilance is high, mind and body are poised in readiness to respond to any event external or internal”. This can be compared with the definition of he “degree of excitation” by Duffy (1934) as “the extent to which the whole organism is activated or aroused) [see Duffy, 1962 p.3]

 

Mackworth (1950; 1961ed  p.252) suggested that the observed loss of accuracy was due to a state of inhibition produced by the regular repetition of the jumps of the clock hand. Sharpless and Jasper (1956) suggested that the vigilance decrement might be due to the habituation of the neural response to the repetitive stimuli.

 

F Mackworth (1970)

 

 

Factors which affect viglilance, as noted by mackworth:

 

  • Rest between half hour runs of the test made no difference.
  • Distraction subjects who were listening out for a telephone message performed poorly compared to control.
  • Incentive a telephone message, when a particular guage is full, had no effect.
  • Knowledge of results serves to reduce the decrement over time, but has no effect on the first half hour.

1.4 Project Aims:

 

This project aims to produce:

 

A fully functioning website based on html with one or more CSS stylesheets, verified by W3C.org.

 

The website will explain the theory behind neuropsych testing and explain the areas in which I feel it would be useful, including examples.

 

The website will include a demonstration of NPT in the form of a mackworth clock style test coded in actionscript which will be made available for offline use. A full user guide will accompany the demonstration.

 

The Project report will document all aspects of the project and include a discussion of the practical uses of NPT and the ethical issues regarding the implementation of NPT in the workplace in comparison to current methods of performance testing and drug screening.

 

In addition a full testing report will be included for all software produced including the site itself taking into consideration usability and accessibility issues.

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 


1.5 METHODOLOGIES

 

The proposed project is both of small scale, and to be completed in a small time frame, for this purpose and agile technology seemed best suited.

 

The key principles behind agile methods are the quick development of products and the iterative design process.

 

A predictive Methodology aims to set out the entirety of the project in advance, in contrast to this an iterative methodology aims to split a project into small chunks and re-asses the project after each iteration,  with constant input from the ‘customer’

 

The methodology I felt best suited this particular project was the Dynamic Systems Development Method (DSDM), This is an agile process that is Feature Driven, it follows the theory that 80% of functionality can be created in 20% of the time it would take to develop a fully functional project, This focus on functionality leads to a shorter development time without losing features.

 

As with all agile methods, the project is split into small chunks called Time boxes, these are to be completed in a period of 2-6 weeks and phases can be started as soon as the previous phase is complete enough to allow it.

 

DSDM offers a complete project methodology which can be scaled down to products such as this using the following guidelines set out by the DSDM Consortium.

Phases

The Pre-Project phase will, as usual, determine the need for the project and, if the business case (however informal) is agreed, allocate resources (people, funding, etc.) to it.

The Feasibility Study and Business Study merge and are completed in approximately one week. Note: It is assumed that there are no technical architecture issues to address, i.e. the work to be done is based on existing technical infrastructure and technical standards.

As usual, the end of the Business Study phase is a go/no go decision point for the project.

The Functional Model Iteration and Design and Build Iteration merge to form timeboxes of approximately two weeks in length that take a set of requirements through from initial investigation through to being tested for non-functional requirements. These are effectively increments that do not deliver to the organisation but to the project.

The Implementation phase will be a separate activity and its contents will depend on things such as the number of users to be trained, the amount of data to be migrated, etc.

The Post-Project phase may not include a Post-Implementation Review but all other activities are the same.

Products

The merged Feasibility and Business Studies produce:

·         A Study Report which combines the essential elements of the Feasibility Report, Business Area Definition and System Architecture Definition with everything captured in a few pages. Such a report would need to address:

o        The business problem or opportunity

o        The scope of the project (what is in and what is out)

o        A high-level description of the business processes and the classes of users involved

o        A list of the development tools and techniques to be used

o        A high-level description of the target environment in which the Delivered System will operate

o        The deliverables of the project

o        The costs of the project

o        The Suitability/Risk List assessment results

·         The Prioritised Requirements List. This should be a very short document on a small project but it is worth keeping it as a separate document from the Study Report so that it can be updated easily, if necessary.

·         Project Plan combining the concerns of the Outline Plan, Development Plan and Implementation Plan and containing:

o        Schedule from Functional Model Iteration through to the end of Implementation, including a Timebox Plan for each timebox

o        Key dates, such as user reviews, handover to support staff

o        Project organisation, i.e. who holds each of the DSDM roles (see below)

o        Delivery date

o        Progress reporting, the frequency of reports, to whom progress will be reported by whom and how. This could simply be via timebox closeout meetings if the Visionary and Project Manager are in attendance.

o        Reference to any relevant organisational standards and procedures to be used and comments about how these are to be applied if there are any special considerations

o        Important dependencies between other parts of the organisation

o        Who will accept and sign off all deliverables from timeboxes

The combined Functional Model Iteration and Design and Build Iteration will produce:

·         The Tested System, including the necessary supporting technical documentation (including Functional Model diagrams, etc. as necessary)

·         User Documentation

·         Test Records.

Subsidiary products of this phase of development are:

·         Functional Prototypes (These will be created during timeboxes for review by the Ambassador User(s) but the end product of an individual timebox should be tested beyond the basic processing to include non-functional aspects.)

·         Functional Model Review Records capturing comments on Functional Prototypes. These may be informal notes.

The Implementation phase will produce the Delivered System and the Trained User Population. The Increment Review Document can be used as an end-project reporting mechanism, if this is required.

WSDM

Another Method I considered was the Web Systems Development Method (WSDM) which is a Web based Methodology which is mainly concerned with Data, and Users, as this project has no database and is to be mainly an interactive application with only static data to support it, I decided that it wasn’t as relevant as the feature driven approach of DSDM.

User Modelling

 

Deciding who will visit the site, and what they will want to see.

 

User Classification

 

Identifying and classifying specific groups within the users who will visit the site. Users may fit into more than one group, but have different informational needs depending upon which class they are operating. i.e. a lecturer could also be a student.

 

User Class Description

 

Classes are divided into subsets called “perspectives”

The focus in this stage is WHAT rather than WHO and it aims to find out the informational needs of user classes and their subsets.

Conceptual Design

 

Deciding how each ‘perspective’ will navigate through the site.

 

Object Modelling

 

Informational needs from the user class descriptions are formally modelled to create ‘user object models’ which are the view of the site seen by each user. This is modelled with relationships, constraints etc.

 

Navigational Design

 

Models the navigational tracks for each perspective, i.e. what information they need and how they can view it as well as how it joins together.

 

Implementation Design

 

Deciding upon the look and feel of the site, focusing on efficiency and consistency.

 

Implementation

 

The actual realisation of the website.

 

I also considered the Water fall method before looking into the agile methodologies, but I found that this method left too much chance of a failed or incomplete project by using a lengthy development process and not allowing for change.

 

The first agile methods I looked at were Extreme Programming (XP) and SCRUM. XP is focused on the design and implementation, and as such I felt that it would be too lightweight as isn’t a whole project process, despite being a powerful method for completing projects in small timeframes.

 

Waterfall Method

 

In the waterfall model, these should be followed in the EXACT order.

 

  • Specify Requirements
  • Design
  • Implement
  • Integrate
  • Test
  • Install
  • Maintain

 

No stage can commence until the previous stage is 100% complete.

 

Extreme Programming

 

In extreme programming the ‘team’ consult with a business to find out their requirements and figure out how long each one will take to produce, then they decide in which order to produce these ‘iterations’.

 

The simplest design is always used and releases are little and often. The user tests after each iteration, if it passes testing it is considered complete, this practice minimises wasted code.

 

Programmers work mainly in pairs and everyone is expected to be able to work on any part of the project, there is no ownership.

 

SCRUMM

 

Each iteration in scrum is called a sprint. Functionality is created in each sprint, which lasts 30 days. Each morning there is a daily ‘scrum’ where progress is recorded.

 

Scrumm is a hands on management methodology, and like XP isn’t suited to a single user project.

 

 


Jag and Rad

 

Other methodologies I researched were Rapid Applications Development (RAD) and Just-in-time Application Generation (JAG).

 

JAG uses functional mock-ups in the design stages to get constant customer feedback, once the design stage is over the implementation starts with a new complete product developed from these functional mock-ups and can be completed quickly.

 

Apart from this prolonged design stage JAG is essentially the same as RAD which was the first agile methodology and introduced the iterative process.

Rad seeks to develop products in a short space of time using Computer Aided Design and Computer Aided Software Engineering (CASE) Tools to prototype systems. RAD and JAG have many similarities to DSDM, such as timeboxing and the constant involvement of customers, but the main basis is on cost efficiently, measuring project success on both the time and cost put into the project, rather than features, RAD can produce under featured products with limited scalability, Whilst JAG solves some of these problems it couldn’t match DSDM for suitability to this project.

 

Below is a table of the qualities I wanted from a methodology, and how the three leading contenders, JAG, WSDM and DSDM matched up.

 

 

Web Based?

Feature Driven?

Agile?

Small Scale?

Limited Time?

JAG

 

 

X

X

X

WSDM

X

 

X

X

 

DSDM

 

X

X

X

X

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

1.6 Ethics:

 

Despite the potential contentious subject matter the project has been tailored to avoid any direct ethical issues.

 

Rather than put the system of NPT into a real life situation it is instead presented as a demonstration of the technology and its potential applications.

 

The action demonstration test itself will not store results or personal data, it will be down to the user to note their own results. Whilst the storing of results would be possible and useful it would raise ethical considerations with how the data is stored and who has access to it.

 

As this demonstration is not a finished product it will be explained to the user that a fully functioning system would save results and provide analysis such as weekly trends.

 

The mackworth clock test is a proven method of testing vigilance and reaction speeds and as such testing will not have to be done on actual subjects to prove its merits, any users testing the software will do so for functionality only.

 

 


2 Ethical Discussion Regarding Neuropsychological Performance Testing in comparison with Current Drug Screening and Employee Performance Monitoring methods.

 

The aims of this discussion are to put forward NPT as an ethically sound method of performance testing in the workplace.

 

I will start by explaining the apparent need for drug screening, before going on to show that drug testing fails in its aims to improve employee performance and finish by explaining how neuropsychological performance testing can do the job of drug screening as well as improving productivity in the workplace.

 

A central feature of American drug policy has been the doctrine that the use of mood-modifying drugs like heroin, marijuana, and cocaine is hazardous, likely to lead to socially dysfunctional behaviour, health problems, loss of control, and interference with work and other functioning. (Winick, 1991)

 

In 2002, a US Study found that around 75% of drug users over the age of 18 were in regular employment. The use of drugs and alcohol is said to affect working performance by reducing reaction time and impairing perception and judgement.

 

According to the US Institute for Drug Abuse Research, employees who are on drugs are two thirds as productive, twice as likely to be absent and four times more likely to have an accident.

 

The health and safety at work act states that it is the duty of an employer to unsure staff are safe at all times, given the information that the use of drugs poses a danger to employees, drug screening appears to be justified.

 

Drug screening can take place before employment, during employment and ‘for cause.

 

During employment up to a quarter of the workforce will be randomly selected at any one time for testing. It is suggested that the maximum notice given should be 24hrs, if any at all.  Before employment, even when candidates are warned that tests are to be conducted, up to 24% test positive.

 

Testing ‘for cause’ happens when an employee gives reason to believe that he or she may be under the influence of drugs or alcohol.

 

The tests given are mostly accurate. They search for a huge number of illicit drugs but will also inform the employer of any prescription medication an employee may be taking.

 

Regardless of the test accuracy, there is still a risk of human error or other external factors that could cause a false positive and, as such, it is entirely possible that an employee could be wrongly accused of drug abuse.

 


Supreme Court justice Antonin Scalia has dubbed drug screening a “needless indignity” (Horgan, 1990) and, on urine tests, his view is that they are “a type of search particularly destructive of privacy and offensive to personal dignity”. (iLiberty.org, 2006)

 

Through the course of my research I have come to agree with him. Below I will attempt to summarise the research that I have found that supports the idea that poor performance is independent of the chemicals consumed by the employee in the workplace.

 

One recurring conclusion of the literature on mood-modifying drugs like heroin and cocaine is that their regular non-medical use will almost inevitably lead to bleak personal and social outcomes. My article suggests that the conventional picture of uniformly negative consequences of regular drug use is not supported by the data. (Winick, 1991)

 

“Despite beliefs to the contrary, the preventive effects of drug-testing programs have never been adequately demonstrated.” (National Academy of Sciences, 1994)

 

An article in the 1990 edition of scientific American states that employees who have tested positive for cannabis exhibited less absenteeism than the rest of the workforce, had higher rates of promotion and were less likely to be fired ‘for cause’.

 

65% - 90% of positives found by drug screening are for cannabis - hardly surprising given that it has the longest detection rate of all illicit drugs and is also the most widely used.

 

The article by John Horgan in Scientific American is further supported by a psychoanalytical investigation into heavy cannabis users, which concluded that daily heavy marijuana use was compatible with significant career success (henden et al, 1987) It was also found that A largely middle-class population of heavy cocaine users was generally able to avoid experiencing major disruptions or significant distress in their lives (Waldorf, Reinarman, and Murphy 1991).

 

America’s largest program for addicted medical professionals reports that a physician's professional activities represent the last aspect of his or her life to be affected by drug dependence (Talbott and Wright 1987).

 

Further to this, Drug-using physicians typically have successful and active primary care practices (Winick 1990).
Evidence shows that only 10% of drug users could be either in prison, or treatment at any one time.

 

A user who is troubled and not doing well is more likely to seek help in treatment than someone who is healthy and functioning. Addicts usually enter treatment when their behaviour has become dysfunctional (Ellis and Stephens 1976)

 

Opinions of drug use seem to be mainly judged on these ten percent, ignoring the other 90 percent who, as we have seen from the evidence above, can lead fulfilling lives and careers.

 

Study found that untreated addicts, compared with those in treatment, had more self-esteem, better family situations, and fewer legal problems (Graeven and Graeven 1983.

 

It is these ‘hidden’ users that are most likely to fall foul of drug screening procedures. If a skilled surgeon is capable of working without problems whilst suffering addiction to prescription medication, it seems unfair to assume that an employee is a troublemaker because a urine sample has proved that he has taken an illicit substance at some point in the last month.

 

In the Vietnam War many soldiers were addicted to heroin and urine tests were introduced because there was no way of knowing just who was addicted from their work performance. Evidence shows that addicts showed no differences in rates of either disciplinary action or promotions.

 

A good many men were able to use narcotics heavily in Vietnam and still function acceptably (Robins 1974).

 

Similarly in New York in 1984, families with an income of $50,000 per year or more reported more illicit drug use than any other income group, although there was no evidence of comparable levels of dysfunction. (Frank et al. 1984).

 

Dutch cocaine users not only used it while functioning effectively on the job, but typically worked while under the influence (Cohen 1989).

 

Crucial to a pattern of sustained use is the adoption of rituals that define appropriate times and setting of use (Zinberg, 1984) which allows an addict to continue to function as normal without impact on family, work or social situations.

 


This brings us back to “The use of drugs and alcohol is said to affect working performance by reducing reaction time and impairing perception and judgement.” If the problems are reduced reaction time, impaired perception and impaired judgement then a more humane drug policy would be to test for these factors.

 

If these factors are a symptom of drug use, then the same people will be found to be a problem and those who are innocent can be spared the indignity of having their privacy invaded.

 

An explanation of the methods used for Neuropsychological Performance Testing can be found at the NPT website so I won’t go into too much depth here, but I will try to explain the positive benefits of using NPT testing in order to make your staff more productive.

 

Neuropsychological tests measure cognitive functioning. These are the functions that are impaired by drug use, but the impairment could also be caused by sleep deprivation, depression, alcohol abuse, stress or emotional trauma.

 

By testing these functions, which are relevant to the workplace, it is possible to track results over time, in order to highlight potential problems and offer support to staff.  Whilst this tracking could be seen as invasive, it is far less invasive than random drug testing and holds less bias and prejudice.

 

The act of monitoring performance is nothing new and already exists in most companies, with employees being set targets and reviews happening every three to six months.

 

Employees are usually judged on the work they do, based on arbitrary targets and given a level. When this level is average for a period of time reviews are made to the targets and to the work of the employee and action is taken.

 

By introducing NPT to the equation it is possible to cross reference performance results with targets and actual work to get a clearer picture of the situation.

 

If an employee is constantly getting high NPT scores and is missing targets then maybe the targets are too high. On the other hand, should an employee be missing targets with low NPT scores it highlights a need for change.

 

Because NPT is a daily or weekly test monitoring is constant, this means that any problems an employee may be having can be assessed and acted upon immediately, rather than at a three month or six month review where things may have slipped from average performance to unacceptable performance.

In addition, the analysis provided by NPT can allow an employer to highlight performance trends and re-arrange schedules to allow employees to work more efficiently and perform to their baseline at all times.

 


I believe that it is unethical to randomly test employees for substances; it is a practice motivated by prejudice and has not been shown to be effective in its aims of improving productivity in the work place.

 

The following statements from Charles Winick of the University of New York sum up a century of research on non-harmful drug use.

 

With daily evidence of widespread negative consequences from addiction and non-medical psychoactive drug use, it would be totally misleading to convey the impression that the use of psychoactive drugs holds no hazards. It is important, however, to note that the risks of taking such drugs are often overestimated because society as a whole has rejected non-medical drug use for almost a century.

 

I have provided evidence indicating that some people can regularly use drugs without harming themselves or inflicting losses on others.. (Winick, 1991)

 

Whilst drug abuse is illegal and should not be condoned, it is important that employers do not use this as a justification for infringing upon the rights of their employees.

 

By testing for the problem rather than the cause we can achieve the very results that drug screening aims to produce, without causing unnecessary grief to those who are good workers.

 

In addition to this, problems can be found earlier and support can be offered to employees with a wide range of problems, including drug abuse.


3 Design & Build Phase

3.1 Design

 

Prioritised Requirements

 

Before designing the template it was important to draw up a brief as this allows there to be a ‘client’ to provide for.

 

The website should confirm to good web practices and use 100% valid HTML and CSS.

 

  • All pages should be accessible within three clicks.
  • Font sizes should be in EMs so that they can be increased or decreased by the user.
  • Colours should provide high contrast without glare.
  • Images should be kept to a minimum and should not replace text.
  • The look and feel of the site must be easily updated without editing the content pages.

 

The site should contain the following content

 

  • Introduction page.

 

  • Contact details

 

  • Links

 

  • Principles and background of NPT

 

  • How to analyse results

 

  • The Mackworth Test

 

  • Test Instructions

 

  • Example of the uses of NPT

 

The site should look professional but be simple and easy to use.

 

Inspiration should be taken from:

 

                                                                                    http://www.ibm.com/us/

                                   

                                                                                    http://www.mezzoblue.com/

 

http://csszengarden.com/?cssfile=http://www.brandwood.com/sample.css

 

http://www.useit.com/

 

Based on these guidelines only a small number of static pages are needed using a two column layout.

 

These are the two layout options, both are traditional web layouts and would lend a professional feel to the page.

 

Due to the size of the mackworth clock test the horizontal navigation layout is preferred, if the site was to expand an extra left side navigation could be added at a later date.

 

Outline Plan

 

The pages would be as follows.

 

Home [index.html]

 

Main Content: Introduction to NPT

 

Inset: Contact Details

 

Principles [principles.html]

 

Main Content: The NPT Concept Explained

 

Inset: Links (background reading)

 

Examples [examples.html]

 

Main Content: An example of the NPT testing uses

 

Inset: Summary of NPT uses

 

Testing [testing.html]

 

Main Content: Mackworth Clock Test

 

Inset: Test instructions

 

Analysis [analysis.html]

 

Main Content: How to use the test results

Inset: Downloadable tools

 


Design Iteration: Designing the Website Template

 

There were two elements to consider when embarking on this project, the html template and the flash test which it would host.

 

To start the overall layout was decided, because there would only be a small number of pages on the main navigation bar it was decided that a horizontal bar would be best, a vertical bar would waste space needed to display the flash application.

 

The page was mocked up in photo shop with a flat top banner, horizontal navigation, a footer and an ‘inset’ column for supporting content.

 

 

I used a stock photo for the header that was left over from an earlier HCI poster project, the left side was faded to white and a lense flare was used to create the blue lines. A grid was then placed over the whole image. The text was layed over this with an outer glow and a stroke applied.

 

 

The navigation bar is simply a coloured background with a slight gradient to make it seem curved. The bar was made big enough to hold normal sized text, but also big enough to take the next size up should the user wish to change the size.

 

The footer was a mirror of the navigation bar with the grid overlay from the header repeated. The main content was then filled in with a pastel green and purple for the inset.

 

This design was run through the checks for colour blindness and then ‘released’

 

The general opinion was that the colour scheme was garish and off putting, but the layout looked professional.

 

After research into colour schemes including reading up on dyslexia and some experimentation with a light blue pallet the design was changed.

The basic layout stayed the same but the colour scheme changed and there were a few alterations to the graphics.

 

The text was removed from the header and the main image was placed on the left hand side and flipped over, A new blue navigation bar was created and the footer was changed to blue also.

The main content was to be a pale yellow with the inset using a favourite style of mine which is dark blue with yellow text and pink links. A light blue header was experimented with, but didn’t look quite as good.

 

This colour scheme was much more appealing and it was decided that this design would be the basis for the website template.

 

 

 

Mackworth Clock.

 

N.H Mackworth (1950) employed four kinds of task, two visual and two auditory. The first visual task was the clock test. In this the hand jumped 1/100 of the distance around an unmarked clock face every second, the signal [to react to] was a double length jump. Such signals occurred every half hour. The intervals between signals were 3/4 , ¾, 1 ½, 2, 2, 1, 5, 1, 1, 2, 3, and 10 minutes, in that order. This schedule was repeated every half hour, to complete the 2 hour session.

 

A signal was regarded as detected if a response was given with 8 seconds, 5 signals were given, with knowledge of the results, in five minutes practice at the start of each session. The results showed that 15% of signals were missed in the first half hour and about 27% in the other three half hours. No significant changes happened after the first half hour. Subjects who tried the test for a second time missed 6-10% more signals throughout in the second run than in the first but the decrement during the run was much the same with all groups. When the length of the clock hand was reduced to half, so that all movements were halved, this did not affect detection

 

F Mackworth (1970)


Design Iteration: Designing the clock test

 

Once the design for the website was complete the test could be designed to fit into it. The yellow / blue colour scheme would be carried into the flash application to make it look like part of the website.

The first screen is a menu, the two options allow the user to chose between a quick version of the test for demonstration purposes or a long test to see the test how Mackworth originally designed it.

 

The second screen is the clock itself, it will be drawn onto a blank background and will be 300px wide with the hands drawn inside the circle.

 

At the end of the test the last six seconds of real time will count out to make up for the “missed” seconds.

 

The test simulates a Mackworth clock vigilance test, the timings of the quick test will be 5, 17, 23, 30, 40, 47 these numbers were chosen to simulate a 10minute Mackworth test in a one minute time span to give an idea of how the tests work without alienating users by expecting them to sit through a full ten minutes. The longer test will use the Mackworth timings.

 

To allow the user to use the test it will wait for a keyboard press after an ‘event’ occurs, the keyboard will be used rather than an onscreen button as this avoids reaction time being lost finding and moving an onscreen cursor and is a better representation of Mackworth conditions.

 

The final screen will show the reaction speed which will be calculated as an average of all reaction speeds achieved during the test duration.

Any ‘missed’ events will be assigned the maximum possible reaction speed to allow for a meaningful average, otherwise a user could miss 80% of events and still receive a 1s reaction speed from the remaining 20%.

 

The Image to the left demonstrates the information needed to draw all elements of the clock.

 

It is possible to calculate the position of the circle edge by using sin and cos on the angle to that point, and multiplying that value by the length of the hypotenuse (the radius).

 

There are 360 degrees to a circle, to draw the clock face a line is drawn from each point to the next.

 

To draw the hands the angle is calculated by multiplying the seconds value by 6 (60 seconds into 360 = 6).


Design Iteration: Brain Training

 

Research was carried out into potential ‘brain training’ exercises which could be included on the NPT website to allow users of NPT to improve their cognitive functioning.

 

Brain training has become popular recently with the release of “brain training” for the DS and various other titles such as “memory trainer” and “big brain academy”.

 

The brain training exercises found on the Nintendo DS title are mainly maths and reasoning puzzles, while this is good for cognitive functioning and would fit within the remit of NPT it is not ideal for this demonstration website as we are dealing with vigilance testing.

 

For this demo an advanced vigilance trainer is needed, something less passive than the clock test that involves some reasoning and decision making.

 

I took inspiration from “guitar hero” which is a rhythm action game where the user reacts to on screen commands by pressing buttons on a mock guitar.

 

As the colour balls pass under the onscreen markers the user must press the correct colour “fret” and ‘strum’ the guitar, They are scored on their results and are rated on how much they ‘rock’ which is based on the amount of hit and missed notes.

 

This style of game can be created in flash using a similar control scheme to the Mackworth test, except there are more events and the user must also select the right key to press along with the space bar.

 

The user will see falling objects, as the objects pass underneath the on-screen marker the user must press hold appropriate key, either A, S or D and “strum” the space bar.

 

Each successful ‘hit’ adds to the users score, a string of correct hits will give the user a multiplier which causes the score to build up faster, when the user misses a note the multiplier drops back to zero.

 

Each successful not adds to the “rock” meter whilst each misplaced strum takes away from the rock meter.

 

3.2 Implementation

Implementing the HTML
 
To produce the template as a HTML and CSS layout its important to start with good HTML.
 
The positioning is done using CSS, the html orders things from top to bottom so our code will look like this, Note the containers ‘Table_01’ which holds the whole content of the page, and ‘Main’ which holds the two content windows.
 
<body>
<div id="Table_01">
                    <div id="header">
                    </div>
                    <div id="nav">
                    </div>
                    <div id="main">
                                         <div id="maincol">
                                         </div>
                                         
                                         <div id="rightcol">
                                         </div>
                    </div>
                    <div id="footer">
                    </div>
</div>
</body>
 
A <div> is a division, or a section of the website, the ID is a unique identifier for that section, not only is this semantic markup so that it is clear what is in each section, these ids are then refered to in the CSS file to attach presentation styles to the page.
 
From the image above you can see how the sections are referenced and the format they are written in. The page is now built around this layout.
 
The first part of the document tells the browser how to display the contents of the page. The first thing to notice is the doctype decleration, This tells the browser that this is a HTML 4.01 Strict document, and that the language is English.
 
               <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
                    "http://www.w3.org/TR/html4/strict.dtd">
                    <html lang="EN">
 
Then is the HEAD section, this contains the title, which is displayed across the address bar of the browser, The meta tags which describe the contents of the page, and the STYLE section which tells the browser where to find the stylesheet.
                    
                    <head>
                    <title>Neuropsychological Performance Testing</title>
                    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
                    <style type="text/css">
                    @import "standard_style.css";
                    </style>
                    </head>
 
Header
 
The Header started off as just a 600px wide image, this was reduced to a smaller image on a later iteration.
 
<div id="header">
<img src="images/new_header2.jpg" alt="Neuropsychological Performance Testing" height="95" width="338">
</div>
 
<img> is a standard tag for inserting images into the page.
The ‘alt’ part is alternative text which is shown if the image doesn’t load, this is a requirement of the HTML 4.01 standard and is an important usability factor.
 
 
 
Navigation
 
The Navigation is written in an Unordered List, this is just a bullet pointed list of links.
 
<div id="nav">
                    <ul>
                                         <li><a href="index.html">Home</a></li>
                                         <li><a href="principles.html">Principles</a></li>
                                         <li><a href="examples.html">Examples</a></li>
                                         <li><a href="testing.html">Testing </a></li>
                                         <li><a href="analysis.html">Analysis</a></li>
                    </ul>
</div>
 
 
 
 
 
Footer
 
The footer, like the Header, started off as just a 600px wide image, this was reduced to a smaller image on a later iteration.
<div id="footer">
 
<span id="npt_foot"><img src="images/footer.gif" height="32" width="98" 
alt="(c) RW Designs '06"></span>
 
</div>
 
A span was used around the image in order to give it specific rules in the CSS document.
Main Content
 
The content of the site is coded as two separate sections within a container, this is so that percentages can be assigned within this container allowing the two sections to take up the same amount of space, relative to the container, when the window is resized.
 
In the HTML they are written one above the other, they will be moved side by side when the CSS is applied. Paragraphs are separated in HTML by wrapping them in paragraph tags (<p></p>)
 
 
<div id="main">
    <div id="maincol">
                    <h1>Welcome to NPT..</h1>
 
<p>This site hopes to provide a demonstration of the methods used in NPT as well as an explanation of how they can be beneficial to you or your employees.</p>
 
<p>Vigilance Tests similar to those used on this site are used to measure cognitive functioning in neuropsychological testing.</p><p> You can read more about the background to NPT for <a class="main" href=individual.html>individuals</a> and for <a class="main" href=employer.html>employers</a>.</p>
                    </div>
                    <div id="rightcol">
                                         <h2> Info.. </h2>
 
<p> The NPT Concept was created by Gareth Langston as a final year project.</p>
 
                                         <p>
<a class="inset" href="mailto:LP921180@student.staffs.ac.uk?subject=NPT%20Website">
You can contact Gareth for more information</a></p>
                    </div>
</div>
 
 
<h1>Welcome to NPT..</h1>
This is a header tag, H1 is the header in the left column, whilst H2 is used for the right column, These can be styled seperatly in the CSS file.
 
<a class="main" href=individual.html>individuals</a>
This is a regular link which links to another page on the site, this link has been given a class of “main” which can be referenced in the CSS to add special style rules to these links.
 
<a class="inset" href="mailto:LP921180@?subject=NPT">
You can contact Gareth for more information</a>
This is a Mailto link, this will open the users email software and fill the to: and Subject: sections with the information provided. As you can see this link Is given a class of “inset” as it appears in the right column.
 



Other HTML Additions
 
Meta tags
 
<meta name="author" content="Gareth Langston">
<meta name="copyright" content="&copy; '07 RW Designs">
<meta name="date" content="2007-04-14">
<meta name="description" content="A Site for the Demonstration of Neuropsychological Performance Testing Techniques">
<meta name="keywords" content="Performance Testing, Drug Screening, Employers, Neuropsychological">
 
Metatags were added after running automatic testing, These are literal descriptions of the content of the websites.
 
Embedded flash
 
<object type="application/x-shockwave-flash"
data="c.swf?path=mackworth_howto.swf" 
width="350" height="290">
<param name="movie" 
value="c.swf?path=mackworth_howto.swf" />
<a href="www.adobe.com/shockwave/download/download.cgi
?P1_Prod_Version=ShockwaveFlash&promoid=BIOW" >
<img src="/images/get_flash_player.gif" alt="Get Adobe Flash Player" /></a>
</object>
 
This is the code used to insert the flash test into the website, first the object type is declared, this is ‘application/x-shockwave-flash’ the browser now knows to expect a flash movie.
 
Rather than loading the movie direct we load a 1k dummy movie and pass through the path to the full file, This is because internet explorer won’t display a file until it is fully loaded, the dummy file loads much quicker than the actual file avoiding a wait for the user.
 
The link ‘<a href="www.adobe..‘ will display an flash logo and prompt the user to download the flash software if the movie does not load.
 
Odds and Ends.
 
<span id="npt"><img src="images/npt_logo.gif" alt="NPT" height="94" width="107"></span>
 

This code adds the NPT logo to the header and is tagged with a unique identifier so that it can be formatted independently in the css.

 

<strong>press the space bar</strong>

 

Strong is used to create bold text.


Implementation of the Mackworth Clock Test.

 

The clock test was created incrementally, with functionality being added piece by piece, Each piece added is completed in a “timebox” according to the DSDM model.

 

Each Timebox has set objectives and must be completed before the next can start.

 

It is called a timebox because the objectives within the timebox must be completed within the timeframe given, if time is running out functions and features can be removed or put aside in order to progress to the next stage.

 

Clockmovement();

 

The first part of the clock test to be created was the clock movement

 

I had seen clocks already made that ran from the system clock by taking out the second, minutes and hours variables and using them to draw hands on a Clock face so I knew that to recreate the ticking of a clock all I needed to do was make my own calculations to drive integer variables for seconds and minutes.

 

To do this I needed to run a function every second. I looked through an actionscript book and found 'setinterval' which I used to increment the seconds variable every second. I used an if statement to reset the S variable and increment the M variable when S gets to 60

 

I now had the makings of a simple timer, but I needed to add the two second jumps, to do that I used another if statement specifying that if S was 5, or S was 10 or S was 15, S would be incremented twice

 

(watchKeyBoard);

 

Once I had the clock mechanism working I needed to add the interaction.

 

I realised that I would need to keep an eye on real time as well as the seconds shown on the clock in order to calculate the reaction speed so I created an 'I' variable, I now increment ‘S’ each time ‘I’ increments and twice when ‘I’ is 5, 10 or 15.

 

The difference to the test this way is that the clock will appear to tick more seconds that it should because of the jumps pushing the ‘S’ variable ahead of the ‘I’ variable which drives the clock.

 

Another if statement is used to put a sixty second time limit on the clock and trace actions are added to monitor the moving integer variables.

 

I referred to the actionscript book to find out how to listen for a key press and found ‘Key.addListener‘.

 

I wanted to always watch the keyboard but only act upon key presses after an event was called,  In the if statement which caused the clock to jump two seconds I set a variable called ‘flag’ to 1, and set a variable called timeout  with a value of  ‘I+8’.

 

Another if statement resets the reaction flag to zero when ‘I ‘ is equal to the value stored in the timeout variable.

 

In the watch keyboard function I have an if statement that calculates the reaction speed if the reaction flag is set, any key can be pressed, but users are instructed to press the space bar to avoid confusion

 

To calculate the reaction speed the current value of I is stored, the value of timeout (‘I’ at the time of the event +8) is removed from the current value of ‘I’,  giving a negative number, for example a two second reaction speed

 

I=6 at the time of event

Time = 6+8=14

I=8 at time of key press

8-14= -6

 

Adding 8 to this figure gives a reaction speed of 2 seconds

 

After the reaction speed is calculated it is added to the total reaction speed.

 

Each time the reaction speed is calculated a 'hits' variable is incremented.

An average reaction speed is calculated by dividing the total reaction speed by the amount of hits

 

3+4+2+2+3+2 = 16

16 / 6 = 2.66

 

A hit percentage is calculated by dividing 100 by the total number of events and multiplying this by the number of hits.

 

100 / 6 = 16.66

16.66 * 6 = 100%

 

To display the hit % and reaction speed average I drew two text boxes on the stage and found out how to assign a variable to a text box in the flash mx help documents.

 

I used ‘Textbox_txt.text = VariableName;’ to make the text boxes display the results of my reaction speed and hit percentage calculations.

 

I used the same technique to display the Seconds & Minutes variables and marked all 4 boxes with letters before uploading the text to be used for problem finding.

 


Explanation of Techniques and Terms.

 

EMS

 

Certain dimensions and sizes on the site are measures in ems, this allows the text and certain text areas to be resized by the user, this is both useful for users with sight impairments and for browsers with small screens.

 

The em is a sliding measure. One em is a distance equal to the type size. In 6 point type, an em is 6 points; in 12 point type an em is 12 points and in 60 point type an em is 60 points. Thus a one em space is proportionately the same in any size.

Typographer, Robert Bringhurst

 

% Widths and Repeated Backgrounds

 

By specifying widths in percentages I ensure that the content fills the browser window, regardless of the size of the browser. While the page is designed for 800*600 it should look equally impressive at 1280*1024 or on a tv screen or a PDA.

 

To make it seem as if the graphics stretch and resize I cut a thin strip from the edge of the image and set it as a repeating background image using CSS, this will then repeat to fill the space, thus it appears as if the image has stretched.

 

  This is the Footer BG image.

 

  This is the footer image without the background applied.

 

 

This is the footer as it appears on the page with the BG image applied.

 

Normal Flow

Normal flow is the order in which the sections of the page appear in the html. To position sections side by side I had to float each section to the left and right of the container they were in.

 

 


Implementation CSS code.

 

#Table_01

                

Table_01 which is the container for the site, is positioned absolutely, 2em from the left and right of the browser window so that it appear centred, it’s then placed 1em from the top of the window and given a yellow background.

 

#header

 

The header is positioned relatively to the container and given a height of 95px to match the header image created during the design process. The width is set to 100% so that it will stretch to any sized browser window and it is given a repeated background image so that it will appear that the header image fills the width of the page.

 

#Nav

 

The Navigation is positioned relatively so that it starts below the header section, to make sure it nestles comfortably between the header and content it is given a -15px top margin.

 

The repeating background image and 100% width are used again to give the appearance that the navigation bar fills the page width, the height is set in EMs so that it will re-size if the user changes the size of the text.

 

#Nav ul

 

The list of links in the navigation is formatted to be 0.2ems from the top of the background, again so that things resize easily and the text is centred.

 

A background colour is added for legacy browsers as can be seen in the testing documentation; this means that the background image has to be applied to the links as well as the navigation section to cover this background colour. This has no effect on page loading times and is valid CSS.

 

#Nav li

 

The navigation list elements are formatted in-line and given a background image which is set not to repeat and sits to the right of the links, this acts as a divider between the links. The links are given a left spacing of 0.6em and a right spacing of 1em, this positions them in from the left of the page and allows an equal distance between them regardless of text size.

 

#Nav a

 

The links themselves are coloured white to contrast with the blue background image and the hover colour is set to yellow to reflect the main content. There is no text decoration on the images and the ‘visited’ value is set to white so that they remain that colour after being clicked.

 

#Main

 

The container for the main content is positioned relatively to start under the navigation and is given a height and width of 100% to fill the available space between the navigation and the footer, regardless of the size of the window.

 

#Maincol

 

The main column is floated left, this takes it out of ‘normal flow’ and sits it to the left of the container. It is given a width of 58% of the container width. The content is given 2em of padding on the left side to keep the text from the edge of the browser window. The background is coloured yellow and the font is blue.

 

#Rightcol

 

The right column is floated to the right of the content window and given a width of 30%, this means that there is a minimum gap of 10% between the main and right columns, taking into account margins.

 

The content is given a 5px margin and 5px padding all around, this makes the section appear to be set into the main content, rather than sat next to it, and ensures that the text does not touch the edges of the box.

 

Inset links are set to yellow with a pink hover.

 

#Footer

 

The footer is positioned relatively to the bottom of the main content container and all floats are cleared to resume normal flow. It is given a height of 32px to match the footer image and as with the header uses a 100% width and a background image.

 


Other Css Declarations

 

#NPT and #NPT_FOOT

 

These are spans used to align the copyright logo on the footer, and the NPT logo on the header to the extreme right of the page.

 

<p>

 

Paragraph text is sized at 0.8em so that it can be resized by the user.

It is given a padding of 0.2em to distance it from other elements around it.

Font is set to Arial, a sans serif font for easier reading.

 

<h1>

 

Headings in the main column, these are bold, 1.2em and Grey.

 

<h2>

 

Headings in the right column, these are bold, 1.0 ems and white.

 

<h3>

 

Subheadings in the main column, Grey, 1.0ems and bold.

 

a.noob

 

Two words on the main index page are coloured in bold, these words have tool tips attached to them to explain their meaning. This effect is achieved by wrapping the words up as a dummy hyperlink and using the hover position to show the text wrapped in span tags.

 

This isn’t the most elegant of code but serves a purpose and validates as HTML 4.01 Strict.

 

The tool tips are formatted in CSS to have a blue background with a yellow border and yellow text. It is given a Z-index of 21 to assure that it appears above any other elements on the page.

 

The Z index is the position in which an element sits on the Z axis, the higher the number the further forwards the element is.

 

 

 

 

 

 

 

4 Testing Report.

 

The guidelines for testing on a DSDM project are based around the iterative model, as such time is the priority and it is imperative that testing is conducted throughout the project lifecycle.

 

The guidelines for DSDM testing state:

 

·        The purpose of testing is to check that a system is fit for its purpose.

·        Testing the parts of a system that deliver key benefits is the first priority.

·        The object of testing is to find errors.

·        Testing must occur at all stages, on every product.

·        Products should be tested by someone other than the creator.

·        Tests must be repeatable.

 

Test documentation for a DSDM project need only be a list of conditions delivered from the business and technical objectives.

 

This project was approached in stages, with testing taking place as each piece of functionality was delivered. Due to this project being a small scale single person project, it has no real “user” or “client” so testing was carried out primarily by myself.

 

To allow for an independent perspective certain products were put online to allow faults to be found. A select group of close friends were allowed access to view the website and flash test and would point out any errors they found to be corrected in the next iteration.

 

Once the system was deemed ready for delivery a series of automated tests were conducted along with human testing. The automated tests checked the following criteria.

 

  • All pages are Valid HTML 4.01 Strict.
  • The CSS Document is validated.
  • All links are valid and working.
  • The pages are readable in various browsers, and at various resolutions.
  • The page loading is as quick as possible.
  • All content is checked for spelling errors
  • The site is accessible to differently able people.

 

Once all the tests had been run, and any changes needed had been made the final run through checked all functional requirements before the system was released as a “tested system”.

 

 

 

 

 

4.1 Faults found during automated testing

 

Only faults are noted, all other browsers were fault free as can be seen from the screenshots.

 

.1 All pages are Valid HTML 4.01 Strict.

 

The pages were all coded to be valid HTML from the ground up so it was expected that all pages would validate first time.

 

To validate the code the pages were run through the w3.org validate.

http://validator.w3.org/check?uri=referer

 

The errors that were found were as follows:

 

  • Some characters in the text were not valid html so were changed.
  • Line breaks had been written as <\br> instead of <br />
  • The <embed> tag used to include flash on the site is not part of the HTML standard.

 

Appendix T1

 

W3.org suggests the “flash satay method” which was modified slightly for use on this site.

 

Not Valid HTML:

 

<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0" width="550" height="400" id="Mackworth" align="middle">

<param name="allowScriptAccess" value="sameDomain" />

<param name="movie" value="Mackworth.swf" />

<param name="quality" value="high" />

<param name="bgcolor" value="#ffffff" />

<embed src="Mackworth.swf" quality="high" bgcolor="#ffffff" width="550" height="400" name="Mackworth" align="middle" allowScriptAccess="sameDomain" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />

</object>

 

Valid HTML:

 

<object type="application/x-shockwave-flash" dta="c.swf?path=Mackworth2.swf"

width="400" height="300" >

<param name="movie" value="c.swf?path=Mackworth2.swf" />

<a href="www.adobe.com/shockwave/download/download.cgi?

P1_Prod_Version=ShockwaveFlash&promoid=BIOW" >

<img src="/images/get_flash_player.gif" alt="Get Adobe Flash Player" /></a>

</object>

 

 

 

 

The CSS Document is validated.

 

Similar to the HTML check there is a w3.org CSS validator.

http://jigsaw.w3.org/css-validator/

 

This reported that the CSS document was 100% valid.

Appendix T2

 

 

4.2 The pages are readable in various browsers, and at various resolutions.

 

The site was checked in local browsers by myself, this happened throughout the project, it was also checked by a friend using a different browser.

Browsers used: Internet Explorer 6, Internet Explorer 7 and Firefox 2.013, Safari 1.3

 

Because the pages are coded in valid HTML and CSS they should display perfectly in modern, standards compliant browsers, this is the case in IE7, Firefox and Safari.

 

To check the site in a broader range of browsers a website called “browsercam.com” was used to take screenshots of the site under various conditions, I then checked through the screenshots manually to look for problems.

 

Problems found:

 

IE6:                

Slight Horizontal Scroll

This was barely noticeable and did not impact on the use of the site or the reading of text.

 

Navigation bar is double sized

This has no impact on the use of the site or reading of the text.

 

These issues are both connected to the way internet explorer six wrongly handles the margin property, while it is avoidable the code would be bloated and inelegant.

 

The aim when producing the site was to use clean, valid code and to be accessible. These errors are purely cosmetic and do not detract from the content of the site.

                                                                                                                                                                                               


IE5: (Mac OSX)

 

                        Background images are not visible

                        This does not detract from the site content.

 

This could be avoided by the use of a hack, but hacks are not valid HTML and may cause problems in future, the aim was to create valid, clean, code.

 

Due to this error however the navigation was not readable, this was remedied by adding a BG colour to the navigation.

 

Ref: http://www.l-c-n.com/IE5tests/misc/

 

IE4 & Netscape 4:

 

                        Style sheets are not supported

                        Without the style sheet the page is still readable.

 

The style sheets are not supported because @import has been used to link to the style sheet, this stops older browsers from seeing the style sheet at all.

 

The unpredictable way these browsers handles CSS makes the application of style sheet unwise.

 

 

Ref: http://archive.webstandards.org/css/winie/

Ref: http://www.utoronto.ca/ian/books/xhtml2/exerpt/css-4a.html#four

 

In all browsers it was found that the flash test would overlap the test instructions at 800*600. To remedy this, the flash document was reduced in dimensions with the clock itself rendered to the exact edges of the document so that visibility was not lost.

 

In addition to these browser tests the site was passed through the lynx viewer at http://www.yellowpipe.com/yis/tools/ to see how it would appear in a text based browser.

 

                                                                                                            Appendix T3

 

4.3 All links are valid and working.

 

Tests were run using the W3C link checker at http://www.yellowpipe.com/yis/tools/link_checker/w3c.php

 

This reported that 100% of internal and external links were ok.

The links were double checked manually to unsure that they were valid and went to the site described.

 


4.4 The page loading is as quick as possible.

 

Two websites were used for this analysis, WebXact and Netmechanic.

http://webxact.watchfire.com/, http://www.netmechanic.com/

 

These checks look for quality issues such as missing html content, broken links, browser compatibility and loading times.

 

The test results found that some of the images used on the site were too large in file size and would cause performance issues, to remedy this they were saved as web optimized gif images rather than their original .jpg form. This bought the file sizes down to acceptable levels.

 

The tests also highlighted that not all of the images had been assigned width and height values, this means that the browser will take longer to render the page, all images now have set dimensions.

 

The only other issue found was missing metatags, which was remedied by adding Meta tags to the pages, Meta tags are used to describe the site and its content.

            Appendix T4

 

 

4.5 All content is checked for spelling errors

 

Most of the site content was written in word and spell checked before pasting into the Editplus environment and formatted into HTML.

 

Before the final site was uploaded all text was checked again using the spell check option for Editplus. After uploading the site was proof read by myself and a friend and no errors were found.

 

4.6 The site is accessible to differently able people

 

The colour scheme was chosen to be readable by those who are dyslexic or have sight impairments, by using a dark blue text on a light yellow background maximum contrast can be achieved without glare.

 

The original design was tested using the visicheck website at the concept stage to ensure the site would be accessible to those with colour blindness. Once the site was finished the same tests were run on the final layout.

 

The visicheck site displays how a page or image will look to people with different types of colour blindness, I then checked the images to ensure that the text was readable and that there was still contrast between the different colours on the page.

 

For one rare type of yellow/blue colour blindness the inset links are a similar colour to the paragraph text, the hover colour contrasts however and it is clear from the surrounding text which part is a link, so this is acceptable.

 

Appendix T5

 

 

4.7 Testing the Flash Application.

 

 The clock test follows these rules.

 

The clock ticks as normal.

 

At six points during the allotted time the clock will tick forward two seconds at once. This is called an ‘event’.

 

When this event happens the use has until the timeout time to press the space bar. (4 seconds on the quick test, 8 on the long test)

 

When the user presses the key the time between the event and the key press is recorded as the reaction time, if an event is missed the timeout time is recorded.

 

At the end of the test an average of the reaction speed scores is given.

 

Post Completion Testing:

 

To check these two tests were run, the first involved setting off the test and letting it run unattended, this showed a result of 4 seconds on the quick test and 8 seconds on the long test, which is correct.

 

6 * 8 / 6 = 8

6 * 4 / 6 = 4

 

The second test was run by monitoring the variable which counts out real-time seconds and comparing that to the time in seconds when each event is to occur to ensure a 1second reaction speed. As the test is accurate to the nearest second this check was easy to administer and showed correct results.

 

All other checks were simply a case of monitoring the test and it was decided that the test is fully functional.

 


Iterative Testing: 1

 

Before each piece of functionality was ‘released’ it was tested to ensure correct operation so that post completion testing was minimal.

 

The trace action was used throughout the creation of the test for debug purposes, the trace action will show the value of any variable used in the working of the test.

 

The first ‘product’ of the clock test was the artificial tick, with a random two second jump. This was tested by tracing the ‘I’ variable, which counts out seconds in real-time, and the ‘Seconds’ variable which counts out the displayed seconds and controls the position of the second hand of the clock.

 

When it was clear that the tick was occurring every second, and that the second hand was jumping forward two seconds as expected, the next part could be started.

 

The minute hand was added and checked in the same way to ensure that it ticked forward one minute each time the second hand reached 60, it was important to note that the seconds variable also reset to zero at this point.

 

Appendix T6

Iterative Testing: 2

 

The keyboard interaction was then added, this time the testing had to ensure that key presses were registered and that the correct reaction speed is recorded.

 

To check presses were registered a trace was used on the reaction speed variable to ensure a time was recorded. By monitoring the 'I' variable at the same time it was possible to check that the correct score was recorded.

 

Once this functionality was tested a front end was created using text boxes and letters as markers.

 

S is the Seconds

M is the Minutes

R is the Reaction Speed

H is the Hit Percentage

 

The hit percent simply records the number of key presses and calculates the percentage based on the maximum amount of hits available.

 

This was uploaded so that it could be tested by independent parties, one of these ‘testers’ found that he was getting hit percentages over 100%.

By repeating the test myself and monitoring the “hits” variable it was clear that the test was accepting multiple key presses, to remedy this I stopped the application from recording key presses by setting the flag to zero after a successful hit

Appendix T7

 

Iterative Testing: 3

 

 

After the mechanics of the test were finalised the graphics were added. The clock is drawn on the fly using the seconds and minutes variables so there were no expected problems to the operation of the clock by adding the graphical representation.

 

The first run through with the clock added showed that the drawing stayed on stage after the test had finished, this obscured the results screen. I remedied this by clearing the drawn lines when the results page loads.

 

Appendix T8

 

Iterative Testing: 4

 

 

Another problem that was found was that the reaction speed and hit percentages would be recurring numbers, such as 16.66666666 and would run out of space, to remedy this I added code to round the variables to two decimal places.

 

To release this test a menu was added so that the Quick and Long tests could be chosen and a results screen was created to display the reaction speed and hit percentage after the test completes.

 

Testing on this release found that the reaction speed was sometimes higher than it should be, this was due to missed hits receiving a penalty score, but the reaction speed being divided only by the number of actual hits, To remedy this I added a “missed” variable and worked out the reaction speed using both the hits and misses.

 

The general consensus from people who used the test was that there should be minute markers, so these were added, I also made the clock bigger and bolder for the final release.

 

On the results page I added a “restart” link, this jumped back to the main menu but had the side effect of causing the clock to run from the wrong point, so to remedy this, the link was made to refresh the html page, thus loading the test freshly.

 

The clock was centred to the page and made slightly smaller along with other cosmetic changes which were to allow the HTML pages to fit to 800*600. No changes were made to the functioning of the test at this point.

 

The previously explained tests were repeated on each new release.

 


Critical Evaluation

 

The aim of this section is to critically evaluate the project in terms of success, problems, learning, and scope.

 

Project Success

 

I measure the success of the project based on how well the finished project matches the original objectives set out in the project proposal, the functionality achieved compared to the deliverables set out in the proposal and how well I personally feel that I coped with the project.

The original objectives and deliverables can be seen in appendix E1.

 

The project objectives were all fulfilled and overall I feel I was successful in creating the project that I set out to make, more importantly I feel that I have created a complete product, rather than a technical demonstration.

 

The only disappointment in the completion of the project is that it did not deliver local storage along with the offline test. This was a limitation of the flash language, rather than an oversight and I noticed this at the design stage, it does not detract from the success of the project, I added manual functionality for storing scores by way of an excel spreadsheet and this gives much better analysis of results.

 

The loss of this feature would not have caused me to change from flash, as it has provided for the other needs of the project brilliantly.

 

Problems encountered

 

When planning the offline test it became apparent that it would not be possible to store results, due to this an excel spreadsheet was designed to allow users to store results themselves.

 

It would have been possible to store results online with the use of a database but this would have contravened the ethics statement which stated that no data would be stored on users.

 

The horizontal navigation bar was a struggle to get working across multiple browsers, due to the need for flexibility and dynamic resizing. After a lot of frustration and a little trial and error the -15px margin allowed the navigation to nestle comfortably under the header.

 

During the planning of the project I underestimated the impact of working on other group projects parallel to this personal project. In the first semester the project often took a back seat to other projects due to the shorter timescale and the ever-changing schedules of everybody involved.

 

In the second semester I afforded much more time to the project and managed my time with other projects much more efficiently and the results have been satisfying.

Learning

 

During the project I have learnt many skills that will serve me well in the future.

 

Before approaching the project I had HTML and web experience and had been learning CSS in my own time but I had never created a fully standards compliant CSS based design from scratch.

 

I now feel comfortable writing Valid HTML in scratch straight to a text editor, throughout the project the only time I used a wysiwyg editor was to quickly add images to the user guide.

 

I found the prospect of creating a CSS layout from scratch particularly daunting at the start of the project, but I feel I have created a competent and flexible layout that I will be able to expand on in the future.

 

I had some programming experience before I started the project and felt comfortable approaching the flash application, despite not having a great deal of experience with action script.

 

The majority of the coding was based on mathematics and familiar constructs such as if statements and while for loops so I found these parts to be almost second nature, there were however some flash specific commands to learn and I enjoyed doing so. I plan to work more with flash and action script post-university as I have some ideas for applications I would like to explore.

 

Overall I have enjoyed the learning involved in this project and I do feel that I have picked up some useful knowledge, not just on the technical aspects but also with the deeper research behind the project and the discussion piece.

 

I feel that I threw myself into the NPT concept, particularly in the second semester and I have been not only captivated by the research material but pleased and proud of the content I have written.

 

Changes

 

If I were to change anything about the project it would have been managing my time, and the project, better.

 

Had I done so I feel I could have created a more complete package, encompassing the proposed brain training exercises and further examples of NPT analysis.

 

Whilst I followed the ideals and methods of DSDM I feel I could have managed the project more tightly and had I created more documentation it would have been clear where resources would be best spent.

 


Expansions

 

As mentioned above there is scope for a brain training exercise, this has been fully designed and written up as draft code, This would be completed and added to the site.

 

I would have liked to have used multiple style sheets on the site to give users a choice of colour scheme and layout.

 

The biggest addition to the project would be a server side database in order to store per-user scores and allow for personalised settings and more thorough analysis of results.

 

This was left out of the project due to ethical considerations but as a commercial project it would be a much more elegant approach than offline storage.

 

Conclusion

 

I have enjoyed working on this project a great deal and I feel it has successfully tied together the two fields of study that I have been involved in during my time at university.

 

I will take away from the project a lot of respect for project managers and for the need of methodologies, as well as specific knowledge of the DSDM method and valuable web design skills.

 

The project could have been more than it was, but this was due to the potential of the concept rather than  a failure to achieve the objectives.

 

I plan to work on the proposed brain training exercise in my own time as a way of expanding my knowledge of action scripting and I plan to put the CSS knowledge I have collected towards creating a personal website which is fully dynamic and user customisable
5 References

 

2002-2006 DSDM Consortium DSDM Public Version 4.2, http://www.dsdm.org/DSDM Public Version 4_2 – Small Projects.htm

 

Robbe HWJ, O'Hanlon JF (1993) ‘Marijuana And Actual Driving Performance Executive Summary’, National Highway Traffic Safety Administration

1995-2005 Erowid.org. http://www.erowid.org/plants/cannabis/cannabis_driving4.shtml

 

A Williamson, A-M Feyer, R Friswell, S Finlay Brown, ‘Development of measures of fatigue: using an alcohol comparison to validate the effects of fatigue on performance’ (2000) ISBN: 0 642 25579 2

Australian Government. http://www.atsb.gov.au/publications/2000/fatig_alc.aspx

 

Dennis P. Swiercinsky, Ph.D,  Neuropsych Tests, http://www.brainsource.com/nptests.htm, Page Last Changed: 07/11/01

 

2006-2007 Impacttest.com, ImPACT Test Background,

http://www.impacttest.com/impactbackground.php.

 

Cohen, P. 1989. Cocaine Use in Amsterdam in Nondeviant Subcultures. Amsterdam: Institut voor Sociale Geografie, Universiteit van Amsterdam.

 

Ellis, R., and R.C. Stephens. 1976. The Arrest History of Narcotic Addicts Prior to Admission: A Methodological Note. Drug Forum 5:211-24.

 

Frank, B., R. Marel, J. Schmeidler, et al. 1984. An Overview of Substance Use among New York State's Upper Income Householders. Advances in Alcohol and Substance Abuse 4:14-26.

 

Graeven, D.B., and K.A. Graeven. 1983. Treated and Untreated Addicts: Factors Associated with Participating in Treatment and Cessation of Heroin Use.

Journal of Drug Issues 13: 07-18.

 

Haden-Guest, A. 1983. Rich Kids on Smack: The Young, The Rich, and Heroin. Rolling Stone 399 (July 7):26-7.

 

Hendin, H., A.P. Haas, P. Singer, M. Ellner, and R. Ulman. 1987. Living High: Daily Manyuana Use among Adults. New York: Human Sciences Press.

 

Michaels, R.J. 1987. The Market for Heroin Before and After Legalization. In Dealing With Drugs: Consequences of Government Control, ed. R. Hamowy, 327-52. Lexington, Mass.: D.C. Heath.

 

Robins, L.N. 1974. The Vietnam Drug User Returns. Special Action Office Monograph series A, no. 2. Washington Talbott, G.D., and C. Wright. 1987. Chemical Dependency in Health Care Professionals. Occupational Medicine State of the Art Review 2:581-91.

 

Treaster, J.B. 1991. In a Crack House: Dinner and Drugs on the Stove.

The New York Times (April 6):24.

 

Waldorf, D., C. Reinarman, and S. Murphy. 1991. Cocaine Changes: The Experience of Using and Quitting. Philadelphia: Temple University Press.

 

Winick, C.  1990. Substance Dependence among Physicians and Nurses. In The Sociocultural Matrix of Alcohol and Drug Use, eds. B. Forster and J.C. Salloway, 342-66. Lewiston, Maine: Edwin Mellen Press.

______. 1991. Social Behavior, Public Policy, and Nonharmful Drug Use.

The Milbank Quarterly, Vol. 69, No. 3, Confronting Drug Policy: Part 1, pp. 437-459.

 

Zinberg, N.E. 1984. Drug, Set and Setting. New Haven: Yale University Press.

 

http://www.nida.nih.gov/

 

http://www.iliberty.org/debates/id.3274/debates_detail.asp

 

John Horgan, Science And The Citizen, March 1990, Volume 262, Number 3, pp. 18 & 22