Skip to content

Latest commit

 

History

History
441 lines (374 loc) · 20.4 KB

File metadata and controls

441 lines (374 loc) · 20.4 KB

#Methodology

##Folders This section (or folder) discusses and contains the tools used in this project and other projects in the assessment of the keyboard arrangement problem.

  1. /Applications-and-programs
  2. /Images-of-keyboard-layouts
  3. /Physical-Keyboard-Measurements
  4. /Research-Keyboards
  5. /Hardware-and-Software-layout-specs

##Applications and programs The folder /Applications-and-programs contains software used to obtain the results in this project. It is further divided up into three sections:

  1. Software used
  1. Software stashed
  2. Software reviewed or links to other software solutions
    • Applications related keyboard analysis - the linked list of software includes items with some relevance to text input. For most every item mentioned a description of software is provided, including a list of various items used in various keyboard layout experiments. It also includes where possible a copy of the software and a link to where it was originally located.

##Images of keyboard layouts The folder /Images-of-keyboard-layouts contains a collection of images of various keyboard layouts.

##Physical keyboard measurements The folder /Physical-Keyboard-Measurements contains a collection of files and images which are part of Hugh Paterson's measurement of Apple Keyboard Model: A1314 MC184LL/B Wireless bluetooth keyboard. Those measurements and images are used in his work as a templatic bases for measurements.

##Research Keyboards The folder /Research-Keyboards contains files and information about the keyboards which have been investigated durring the course of this project.

##Hardware and Software layout specs The folder /Hardware-and-Software-layout-specs contains files and information about various hardware and software specs.


#How and what to measure in the methodology ##Metrics and Measurements ###Metrics of keyboard analysis This section considers the physical measurement of keyboards and the metrics of analyzing user behavior with those keyboard layouts.

####Keyboard key centers

It is reported in the Grey Literature that this 19mm distance is a sacred rule.

#####Paterson Method Key centers are important for computing distance. For the center points in my diagrams and in my numbers these were computed in the following way: A the keys were taped with scotch tape in the down position, a pice of see-though graph paper was lain out over the keyboard and the key position was traced over the keys. The center point for the keys on the left side was computed my drawing perpendicular lines though the corner points of the keys. The stencil measurements were replicated in OmniGraffle. OmniGraffle is used to create the spacing lines and various diagrams of keyboard layouts. Keyboard Centers

####Measuring finger travel distance

####Weighted assessments

###Keyboard Shape + Ergonomics

####Measuring finger plunge The plunge (this might sometimes be called the "stroke", "action travel" or just "action") that a key takes is supposed to be between 2mm and 4mm

####Measuring key separation spacing (vertical and horizontal)

  • Pereira, Anna, et al. 2013. The Effect of Keyboard Key Spacing on Typing Speed, Error, Usability, and Biomechanics: Part 1. Human Factors: The Journal of the Human Factors and Ergonomics Society 55.3: 557-66. http://hfs.sagepub.com/content/55/3/557.abstract
  • Pereira, Anna, Chih-Ming Hsieh, Charles Laroche & David Rempel. 2014. The Effect of Keyboard Key Spacing on Typing Speed, Error, Usability, and Biomechanics, Part 2: Vertical Spacing. Human Factors: The Journal of the Human Factors and Ergonomics Society 56.4: 752-9. http://hfs.sagepub.com/content/56/4/752.abstract

####Keyboard angle

  • Nelson, John E., Delia E. Treaster & William S. Marras. 2000. Finger motion, wrist motion and tendon travel as a function of keyboard angles. Clinical Biomechanics 15.7: 489-98.
  • Effect on Operator Performance at Thin Profile Keyboard Slopes of 5°, 10°, 15°, and 25° http://pro.sagepub.com/content/26/5/430.short

###Character and Word Counting When counting characters it is important to count words, punctuation, and "letters" (characters representing segmental sounds). Character counting is important when working with corpora.

####Word Counts

####Character Counts

####Measuring Character Frequency There are several tools for this. The following or some I have found.

#####Character Frequency Several resources about character frequency.

###Digram counting

Character counting and Digraph counting

When looking up my situation on the web, it seems that others have tried to get to the same solution. They have called it: biliteral frequency count, which is a count not of single elements, each composed of two letters, but of pairs of elements, each composed of a single letter.

####Inital inquerry Does anyone have a script or tool for counting trigraphs (trigrams) and bigrams (digraphs). Here is what I am doing: I have a unicode text: xyz.txt I want to find out how many pairs of which characters are in the text.

  • 'aa' happens 15 times
  • 'at' happens 35 times
  • 'fet' happens 12 times, etc.

Basically load text, count, return counts.

I am working on OS X, command line tools (perl/python) with explanation are also of interest.

####Second Clarification Given some other replies I re qualified my statements with the following.

I don't already know what the matches are. It seems with your solution you are suggesting that I already know what the possibilities are, and can use that regex to search for those possibilities. In my case this is not the situation.

For instance I may have text string 'aaab'. However the actual text being used is arbitrary and in a sense unknown (as I am not making assumptions about the orthography or co-occurrences - I really am looking at digrams not digraphs in the orthography sense). Of course my text is much longer, and I actually have about 6 different texts I am working with.

Given the 'aaab' string mentioned above that would mean that I have:

#####Digrams

  • 'aa' three times
  • 'ab' one time

#####Trigrams

  • 'aaa' one time
  • 'aab' one time

Given the text 'aaab bbbc ab' I would expect that there would be the following treatment of the space character:

#####Digrams

  • 'aa' three times
  • 'ab' two times
  • 'bb' three times
  • 'bc' one time
  • ' b' one time
  • 'b ' one time
  • ' a' one time
  • 'c ' one time

#####Trigrams

  • 'aaa' three times
  • 'aab' one time
  • ' bb' one time
  • 'b b' one time
  • 'bbb' one time
  • 'bbc' one time
  • ' ab' one time

####Yet one more clarification I should clarify four things:

  1. PUA is not an issue in my case.
  2. The attribute is for the character in the digram/trigram is unimportant (it can be alphabetic or numeric or punctuation)
  3. For this case Upper case and Lower case need to be differentiated the use of 'lower()' is not an option.
  4. Alphabetical ordering of results is not necessary.

Non-viable solutions: PrimerPro, Symphony, FLEx, Phonology Assistant

Reason:

I am looking at graphemic relations (neighborhood) not phonological relationships or phonemes being represented by a pair of orthographic characters.

###Metrics of the activity of typing

####Stats to evaluate the typing activity This inclueds several of the above mentioned items including travel distance.

Michael Dickens uses the following metrics (See fitness.txt for more clarification):

  • Hands: for balance
  • Fingers: for finger load
  • Fitness: ???
  • Distance: ???
  • Finger work: ???
  • Inward Rolls: Where the first key hit is on the outside of the keyboard but the second key hit is on the inside (These key need not be concurrently located but must occur in the same row.)
  • Outward Rolls: Where the first key hit is on the inside of the keyboard but the second key hit is on the outside (These key need not be concurrently located but must occur in the same row.)
  • Same hand: Is a measurement where the same hand is is used to tap two consecutive keys
  • Same finger: Is a measurement where the same finger is is used to tap two consecutive keys
  • Row Change: ???
  • Home Jump: Is a measurement where the home row is jumped, where the first key is either on the top or the bottom but then the home row is jumped and the top or bottom row is used next. ??? does this assume the same finger is used?
  • Ring jump: ???
  • To center: ???
  • To outside: ???

Hands: 42% 41% Fingers: 7.0% 8.0% 16% 12% 0.00% 18% 12% 11% 9.0% 7.0%

`  %  /  +  #   ^  <  >  {  }  Q

| \ P O U [ ] D L C W @ I N E A * M H T S R X & K = Y ! B F V G $
~ \t J Z
\n SP

1  2  3  4  5   6  7  8  9  0  q

; . p o u - " d l c w : i n e a , m h t s r x ( k ' y _ b f v g )
? \t j z
\n SP Fitness: 51887480 Distance: 77500 Finger work: 67705 Inward rolls: 6.56% Outward rolls: 1.54% Same hand: 42.23% Same finger: 1.51% Row change: 27.27% Home jump: 6.18% Ring jump: 1.76% To center: 3.42% To outside: 0.40%

###Notes and formulas from academic papers on text input Notes

###Notes and formulas from academic papers on information theory Information Theory

##Keyboard composition

  • Hardware controller codes
  • keycodes
  • character codes
  • encoded characters
  • Keyboard key press pressure
  • Key size
  • key spacing
  • keyboard tilt
  • visual characters on the key
  • See: The Design of Keyboard Templates http://pro.sagepub.com/content/35/6/486.short
  • Keyboard layout (arrangement of characters on the keyboard)
  • Number of keys on the keyboard (ISO vs. ANSI vs. JIS)

##Text Processing More on character counts and text processing can be found in the notes on the [Bash script](/Publications/2015%20-%20Thesis/Data%20Used/bash%20script outline.txt ). Since we are not dealing with live user data, corpus texts were used and counted for generated key strokes.

Each text was acquired form its source as indicated. Each text was cleaned as indicated. Often this meant removing Scripture format markings (SFM). SFM is a dialect of standard format marking. Chapter and verse numbers, section headings and chapter titles were also removed. This served to equate the texts on the bases of the content of the translated text. Titles were removed because not all texts acquired had titles. Copies of keyboard layouts used to produce the text were collected. An analysis of dead keys on each keyboard was conducted. Diagrams of keyboards were created in OminGraffle

Each text was counted several ways. cleaned texts were first UnicodeCCount a perl character counter. Each text was counted several times, each time in different ways. Flags -u -f were used to get "raw" counts based of frequency and sort the counts in different ways (see UnicodeCCount help for details). Flags -c and -d were used to get counts where data types were not regularized. For instance, some characters have composites but others do not with the same diacritic. By separating composite characters I was able to better count the number of key strokes used to create the texts.

To create finger stroke counts characters with diacritics were treated as digraphs, replacing orthographic characters with the QWERTY keyboard equivalent. This allows for keyboard specific based analysis and visualization. It allows for optimization of location when maintaining the dead key combinations already used. However, this method does not optimize based on single orthographic character.

###African language data The following transformations were done manually on the african data. Items in double quotes "" were not marked from paper notes. They need to be checked.

<< --> "
>> --> "
! --> !!
- --> --
' --> ''
; --> ;;
ọ --> ;o
ụ --> ;u
Ọ --> ;O
ẹ --> ;e
ị --> ;i
á --> 'a
Ụ --> ;U
"é" --> 'e
 --> ;u
"ì" --> `i
è --> `e
 --> -e
ù --> `u
"à"--> `a
ī --> -i
ò --> `o
ì --> 'i
Á --> 'A
Ù --> `U
ǹ --> `n
î --> ^i
 --> `A
 --> 'o
 --> -a
 --> &e
 --> `m
 --> ;E
ɗ --> ;d
 --> `;O
 --> Removed text in not on ezza (There was a short footnote from the original text in english which needed to be removed. It looked like a translation note.)
 --> ;a
 --> ;A
ɓ --> ;b
Ɗ --> ;D
 --> 'E
 --> -u
Ū --> -U
 --> -o
 --> ^a
 --> `E
 --> -I
 --> -O
Ǹ --> `N
ṅ --> !n
 --> gb

Unicode Character Quantity Converted to
U+000A 'LINE FEED (LF)' 121
U+0020 'SPACE' 16166
U+0021 ! 10 !!
U+0027 ' 1411 ''
U+002A * 10
U+002C , 1157
U+002D - 666
U+002E . 810
U+003A : 52
U+003B ; 81 ;;
U+003C < 84 << --> "
U+003E > 84 >> --> "
U+003F ? 118
U+0041 A 265
U+0042 B 5
U+0043 C 99
U+0044 D 1
U+0045 E 88
U+0047 G 22
U+0048 H 2
U+0049 I 145
U+004A J 17
U+004B K 157
U+004C L 18
U+004D M 39
U+004E N 85
U+004F O 99
U+0050 P 2
U+0052 R 6
U+0053 S 10
U+0054 T 36
U+0055 U 120
U+0056 V 28
U+0057 W 14
U+0059 Y 24
U+005A Z 4
U+0061 a 8323
U+0062 b 1888
U+0063 c 592
U+0064 d 840
U+0065 e 4675
U+0066 f 326
U+0067 g 1834
U+0068 h 2539
U+0069 i 6332
U+006A j 313
U+006B k 2851
U+006C l 1516
U+006D m 1960
U+006E n 5392
U+006F o 2370
U+0070 p 549
U+0072 r 1365
U+0073 s 1086
U+0074 t 1298
U+0075 u 4436
U+0076 v 224
U+0077 w 1434
U+0079 y 1729
U+007A z 325
U+00A0 'NO-BREAK SPACE' 243
U+00C0 À 7 `A
U+00C1 Á 3 'A
U+00C8 È 1 `E
U+00C9 É 2 'E
U+00CC Ì 1 `I
U+00D2 Ò 6 `O
U+00D9 Ù 2 `U
U+00E0 à 26 `a
U+00E1 á 34 'a
U+00E2 â 1
U+00E8 è 134 `e
U+00E9 é 42 'e
U+00EC ì 83 `i
U+00ED í 13 'i
U+00EE î 1
U+00F2 ò 12 `o
U+00F3 ó 3 'o
U+00F9 ù 38 `u
U+00FA ú 40 'u
U+0101 ā 87
U+0113 ē 99
U+011B ě 1
U+012B ī 8
U+014D ō 1
U+016A Ū 1
U+016B ū 4
U+018A Ɗ 5 'D
U+01F8 Ǹ 2 `N
U+01F9 ǹ 1 `n
U+0253 ɓ 17 'b
U+0257 ɗ 269 'd
U+0300 ̀ 2
U+0323 ̣ 10
U+0331 ̱ 978
U+0355 ͕ 41
U+1E45 7
U+1EB8 43
U+1EB9 1051
U+1ECB 60
U+1ECC 104 ;O
U+1ECD 1413 ;o
U+1EE4 13 ;U
U+1EE5 499 ;u
U+201C 14 "
U+201D 14 "