Keystroke Dynamics Model
 
 Keystroke dynamics is a behavioural biometric based on the typing 
 style of individuals. This model serves as an education and 
 visualisation tool for exploring user models used in keystroke 
 dynamics. 

 
 Requirements
 -----------
 * O/S: Windows is required for live data entry timing to work.
 * Minimum recommended screen width is 1000 pixels.
   To shrink the grid to fit on a screen of width 800 pixels, load
   the model and enter the following into the EDEN input console:
     width = 24;
     height = 20;
     spacer = 2;
     header_font = "{courier 12 bold}";
     main_font = "{courier 10 normal}";

 
 Running Instructions
 -------------------
 1) Navigate to the model directory
 2) Execute run.e
 Wait for the model to load. Two windows should appear, the main screen
 and a control panel.
 
 
 Interaction with the Model
 -------------------------
 Although you can explore the model freely, a suggested course of 
 interaction is as follows:
 
 1) Load the model. Minimise the control panel for now.
 2) Ensure focus is on the main screen (click anywhere on the window)

 Building live user models:
 3) Type a number of (say 5) sentences. Sample sentences are shown in 
    the top left of the screen. More choices are at the bottom of this 
	file. As you type, the duration of each keypress of a letter A-Z is
	measured and recorded. Observe these measurements in the output 
    console at the top right of the screen and see the current state of
    your user model in both the graph and the top row of the data grid.
	The keyboard at the top of the screen will show which keys are 
	currently being recorded and if you hold down a key long enough it 
	will also show the current length of time the key has been pressed.
 4) Open the control panel. Click 'Save User Model'.
    The current state of your user model will be copied to row 10 of 
	the data grid. You can specify a different row to save many 
	different models. For now, slot 10 will do.
 5) Click 'Reset User Model'. This clears your live user model.
 6) Type more sentences to populate the new user model.
    See how similar your new model compares to the one you just saved 
	and compare the calculated distance between them and other models.
 
 Data visualisation/understanding:
 7) On the control panel, experiment changing the distance measure 
    used. See how this affects which stored models are closest to your 
	live model.
 8) On the control panel, click 'Global by magnitude'
    Observe how some users consistently hold down all keys longer than 
	others. What could cause this? hardware? slower typing speed?
 9) On the control panel, click 'Local by ranking'
    Observe how some characters are held down longer by all users.
10) Experiment using the sliders to change the colour models.
    See if you can notice any other patterns in the data.
	
	
 Sample Sentences
 ----------------

	1)	The quick brown fox jumps over the lazy dog.
	2)	A bird in the hand is worth two in a bush.
	3)	Success usually comes to those who are too busy to be looking for it.
	4)	To be or not to be, that is the question.
	5)	Lightning never strikes twice in the same place.
	6)	The grass is always greener on the other side of the fence.
	7)	Never put off till tomorrow what may be done today.
	8)	Magic mirror on the wall, who is the fairest one of all?
	9)	Come fly with me, let's fly, let's fly away.
	10)	 Fly me to the moon. Let me sing among those stars.
	11)	 Love and marriage, love and marriage, go together like a horse and carriage.
	12)	 Start spreading the news, I'm leaving today, I want to be a part of it, New York, New York.
	13)	 I wanna wake up in a city, that doesn't sleep, and find I'm king of the hill, top of the heap.
	14)	 A little less conversation, a little more action please.
	15)	 Sometimes, all I need is the air that I breathe and to love you.
	16)	 You are the dancing queen, young and sweet, only seventeen.
	17)	 I have a dream, a song to sing, to help me cope with anything.
	18)	 I believe in angels, something good in everything I see.
	19)	 Don't go wasting your emotion, lay all your love on me.
	20)	 Money, money, money, must be funny, in a rich man's world.
	21)	 If you change your mind, I'm the first in line, honey I'm still free, take a chance on me.
	22)	 The winner takes it all, the loser standing small.
	23)	 It's been a hard day's night, I should be sleeping like a log.
	24)	 When I was younger, so much younger than today, I never needed anybody's help.
	25)	 We all live in our yellow submarine, yellow submarine, yellow submarine.
	26)	 The sun is shining, the weather is sweet. Makes you wanna move your dancing feet.
	27)	 The moment I wake up, before I put on my make up. I say a little prayer for you.
	28)	 Just the two of us, we can make it if we try. Just the two of us, you and I.
	29)	 First I was afraid, I was petrified, kept thinking I could never live without you by my side.
	30)	 I get by with a little help from my friends.
	