diff --git a/chap3/implementation.tex b/chap3/implementation.tex index 5ee9456..a5db5b8 100644 --- a/chap3/implementation.tex +++ b/chap3/implementation.tex @@ -38,7 +38,7 @@ directly store \gls{JSON}-like, nested, data without prior transformation \begin{figure}[H] \centering - \includegraphics[width=1.0\textwidth]{images/gott_arch.png} + \includegraphics[width=0.9\textwidth]{images/gott_arch.png} \caption{Overview of the general functionality of \gls{GoTT}} \label{fig:gott_arch} \end{figure} @@ -64,7 +64,7 @@ The platform offers three major functionalities that are important for this thes \ref{fig:gott_colorblind} and was simulated with the help of a tool called \textit{Color Oracle} \footnote{\url{https://colororacle.org/index.html}} \cite{colororacle}. - \begin{figure}[ht] + \begin{figure}[H] \centering \includegraphics[width=1.0\textwidth]{images/gott_colorblind.png} \caption{\gls{GoTT}'s text area perceived with different kinds of @@ -86,9 +86,9 @@ The platform offers three major functionalities that are important for this thes participant inputs the first character after the start button was pressed. The \gls{UI} for the typing test is shown in Figure \ref{fig:gott_text_area}. - \begin{figure}[ht] + \begin{figure}[H] \centering - \includegraphics[width=1.0\textwidth]{images/gott_text_area.jpg} + \includegraphics[width=0.9\textwidth]{images/gott_text_area.jpg} \caption{\gls{GoTT}'s typing test. The \textit{START} button reveals the text selected with the dropdown menu labeled \textit{Text to transcribe}. The \textit{RESET} button interrupts the currently active @@ -99,13 +99,14 @@ The platform offers three major functionalities that are important for this thes \end{figure} \gls{GoTT} captures the metrics presented in Listing \ref{lst:meas_perf} - according to the formulas given in Section \ref{sec:meas_perf}: + according to the formulas given in Section \ref{sec:meas_perf}. + \begin{listing}[H] \caption{Implementation of performance related metrics in \gls{GoTT}. The function \textit{roundToPrecision} takes the number of decimal places to round to as the second argument.} \label{lst:meas_perf} -\begin{minted}[linenos]{js} +\begin{minted}[linenos,fontsize=\small]{js} // TEST_TIME is retrieved from backend and // set in the config file in seconds mins = TEST_TIME / 60; @@ -215,7 +216,7 @@ identical \gls{FRE} scores (mean = 80.10, SD = 0.48). \caption{Algorithm that calculates the \gls{FRE} score for a given string in German language, utilizing regex pattern matching to count syllable, words and sentences.} \label{lst:gott_fre} -\begin{minted}[linenos]{go} +\begin{minted}[linenos,fontsize=\small]{go} func countSyllables(txt string) int { rx := regexp.MustCompile(`(?i)[^aeiouäöüßy\W][aeiouäöüßy]| \b[aeiouäöüßy][^aeiouäöüßy\W]|\b[aeiouäöüy]{2,}| @@ -241,21 +242,16 @@ func countSentences(txt string) int { return len(rx.FindAllStringIndex(txt, -1)) } -// Flesch-Reading-Ease (German) -// FRE = 180 - ASL - (58.5 * ASW) -// ASL = Average Sentence Length = Words / Sentence -// ASW = Average Number of Syllables per Word = Syllables / Words func calculateFRE(txt string) float64 { syc := countSyllables(txt) wc := countWords(txt) sec := countSentences(txt) - + // Average Sentence Length = Words / Sentence asl := float64(wc) / float64(sec) + // Average Number of Syllables per Word = Syllables / Words asw := float64(syc) / float64(wc) - fre := math.Round((180.-asl-(58.5*asw))*100) / 100 - - // <0 and >100 is allowed, though not relevant in this case + // <0 and >100 is allowed, but not relevant in our case if fre > 100. { fre = 100. } if fre < 0. { fre = 0. } return fre diff --git a/chap4/methodology.tex b/chap4/methodology.tex index b38cb87..2354c95 100644 --- a/chap4/methodology.tex +++ b/chap4/methodology.tex @@ -83,7 +83,7 @@ actuation force is 35 g ($\approx$ 0.34 \gls{N}) the most common one is 50 g ($\approx$ 0.49 \gls{N}) and the highest resistance available is 80 g ($\approx$ 0.78 \gls{N}). -\begin{figure}[ht] +\begin{figure}[H] \centering \includegraphics[width=0.9\textwidth]{images/keyswitches_brands} \caption{Available actuation forces for keyswitches of major keyswitch manufacturers} @@ -119,7 +119,7 @@ finger instead of the index finger. An example of four different positions of the finger while performing the measurements for the keys \textit{Shift, L, I} and \textit{Z} can be observed in Figure \ref{fig:FM_example}. -\begin{figure}[ht] +\begin{figure}[H] \centering \includegraphics[width=1.0\textwidth]{images/FM_example} \caption{Prototype of the force measuring device used to gather data about the @@ -173,7 +173,7 @@ representing the best fit shown in Table \ref{tbl:force_groups}. % https://www.eng-tips.com/viewthread.cfm?qid=198360 -\begin{table} +\begin{table}[H] \centering \ra{1.3} \begin{tabular}{?l^l^l^l^l^l^l^l^l^l^l} @@ -217,7 +217,7 @@ representing the best fit shown in Table \ref{tbl:force_groups}. \label{tbl:finger_force} \end{table} -\begin{table} +\begin{table}[H] \centering \ra{1.3} \begin{tabular}{?l^c^c^c^c^c^c^c} @@ -248,7 +248,7 @@ Figure \ref{fig:adjusted_layout}. This layout was used in our main experiment where we compared it to four different keyboards with uniform actuation forces which is discussed in more detail in the following section. -\begin{figure}[ht] +\begin{figure}[H] \centering \includegraphics[width=1.0\textwidth]{images/adjusted_layout} \caption{Adjusted keyboard layout based on the measurements conducted in this section} @@ -315,9 +315,9 @@ computer work can be inaccurate \cite{mikkelsen_duration}. All participants used the \gls{QWERTZ} layout and therefore were already used to the layout used throughout the experiment. -\begin{figure}[ht] +\begin{figure}[H] \centering - \includegraphics[width=0.8\textwidth]{images/main_actuation_force} + \includegraphics[width=0.79\textwidth]{images/main_actuation_force} \caption{Distribution of actuation forces from participant's own keyboards. The colors represent the type of keyboard. \textit{EXT:} external keyboard, \textit{NOTE:} notebook, \textit{SPLIT}, split keyboard} @@ -352,12 +352,32 @@ researchers were tested with antigen tests prior to every appointment. \label{sec:main_keyboards} Additionally to the reference tests conducted with the participant's own keyboards, we provided four keyboards which only differed in terms of actuation -force (Appendix \ref{app:equipment}). We decided to assign pseudonyms in the form -of Greek goddesses to the keyboards to make fast differentiation during the +force (Appendix \ref{app:equipment}). We decided to assign pseudonyms in the +form of Greek goddesses to the keyboards to make fast differentiation during the sessions easier and reduce ambiguity. The pseudonyms for each keyboard and the -corresponding actuation force can be found in Table \ref{tbl:kb_pseudo}. All -keyboards used the standard ISO/IEC 9995 \cite{iso9995-2} physical layout and -provided keycaps representing the German \gls{QWERTZ} layout, which all +corresponding actuation force can be found in Table \ref{tbl:kb_pseudo}. + +\begin{table}[H] + \centering + \ra{1.3} + \begin{tabular}{?l^l^l^l} + \toprule + \rowstyle{\itshape} + Pseudonym & Actuation Force && Description\\ + \midrule + \textbf{Own} & 35 g - 65 g & $\approx$ 0.34 N - 0.64 N & Participant's own keyboard (Figure \ref{fig:main_actuation_force})\\ + \textbf{Nyx} & 35 g & $\approx$ 0.34 N & Uniform\\ + \textbf{Aphrodite} & 50 g & $\approx$ 0.49 N & Uniform\\ + \textbf{Athena} & 80 g & $\approx$ 0.78 N & Uniform\\ + \textbf{Hera} & 35 g - 60 g & $\approx$ 0.34 N - 0.59 N & Non-uniform / Adjusted (Figure \ref{fig:adjusted_layout})\\ + \bottomrule + \end{tabular} + \caption{Pseudonyms used for the keyboards throughout the experiment.} + \label{tbl:kb_pseudo} +\end{table} + +All keyboards used the standard ISO/IEC 9995 \cite{iso9995-2} physical layout +and provided keycaps representing the German \gls{QWERTZ} layout, which all participants were already familiar with. All four keyboards used in the experiment were \textit{\gls{GMMK}}\footnote{\url{https://www.pcgamingrace.com/products/gmmk-full-brown-switch}} @@ -381,24 +401,6 @@ follows: $\rightarrow$ Athena $\rightarrow$ Own} \end{itemize} -\begin{table} - \centering - \ra{1.3} - \begin{tabular}{?l^l^l^l} - \toprule - \rowstyle{\itshape} - Pseudonym & Actuation Force && Description\\ - \midrule - \textbf{Own} & 35 g - 65 g & $\approx$ 0.34 N - 0.64 N & Participant's own keyboard (Figure \ref{fig:main_actuation_force})\\ - \textbf{Nyx} & 35 g & $\approx$ 0.34 N & Uniform\\ - \textbf{Aphrodite} & 50 g & $\approx$ 0.49 N & Uniform\\ - \textbf{Athena} & 80 g & $\approx$ 0.78 N & Uniform\\ - \textbf{Hera} & 35 g - 60 g & $\approx$ 0.34 N - 0.59 N & Non-uniform / Adjusted (Figure \ref{fig:adjusted_layout})\\ - \bottomrule - \end{tabular} - \caption{Pseudonyms used for the keyboards throughout the experiment.} - \label{tbl:kb_pseudo} -\end{table} \subsubsection{Experimental Design} \label{sec:main_design} @@ -508,7 +510,7 @@ explain the thought process while drawing each curve \cite{kujala_ux_curve}. An example of the empty graph for perceived fatigue (group 1) can be seen in Figure \ref{fig:empty_ux_g1}. -\begin{figure}[ht] +\begin{figure}[H] \centering \includegraphics[width=1.0\textwidth]{images/empty_ux_g1} \caption{Empty graph for participants of group 1 to draw an UX-curve related diff --git a/chap5/results.tex b/chap5/results.tex index 1ecf7ee..ca55384 100644 --- a/chap5/results.tex +++ b/chap5/results.tex @@ -59,7 +59,7 @@ the right flexor (n = 22). No significant differences have been found in left or right extensor (\glsfirst{ED}) \%\gls{MVC} between T0\_1 and T0\_2. All results can be observed in Table \ref{tbl:res_own_before_after}. -\begin{table}[ht] +\begin{table}[H] \centering \small \ra{1.3} @@ -107,7 +107,7 @@ T0\_2 ($\pm$ 1 mm). The subjective reports about the decrease in finger and wrist fatigue emphasize the decrease in muscle activity for the flexor muscles we described in the last paragraph. -\begin{figure}[ht] +\begin{figure}[H] \centering \includegraphics[width=1.0\textwidth]{images/res_own_per_fat} \caption{Trends for reported fatigue through the \gls{KCQ} (questions 8: @@ -118,7 +118,6 @@ we described in the last paragraph. point for T0\_2 with a margin of $\pm$ 1 mm} \label{fig:res_own_per_fat} \end{figure} - \subsection{Performance Metrics} % As briefly mentioned in the last section, the individual measurements were then converted into % percentage values of the mean of the reference values gathered from typing tests @@ -144,7 +143,7 @@ significant differences between \textit{Aphrodite} (M = 51.5, sd = 14.0) and relevant results of the post-hoc tests and the summary of the performance data can be observed in Tables \ref{tbl:sum_tkbs_speed} and \ref{tbl:res_tkbs_speed}. -\begin{table}[ht] +\begin{table}[H] \centering \footnotesize \ra{1.2} @@ -189,7 +188,7 @@ can be observed in Tables \ref{tbl:sum_tkbs_speed} and \ref{tbl:res_tkbs_speed}. \label{tbl:sum_tkbs_speed} \end{table} -\begin{table}[ht] +\begin{table}[H] \centering \small \ra{1.3} @@ -233,7 +232,7 @@ significant difference. It should be noted, that the 90th percentile of metrics and results for all post-hoc tests can be seen in Table \ref{tbl:sum_tkbs_err} and \ref{tbl:res_tkbs_err}. -\begin{table}[ht] +\begin{table}[H] \centering \footnotesize \ra{1.2} @@ -278,7 +277,7 @@ metrics and results for all post-hoc tests can be seen in Table \label{tbl:sum_tkbs_err} \end{table} -\begin{table}[ht] +\begin{table}[H] \centering \small \ra{1.3} @@ -310,7 +309,7 @@ metrics and results for all post-hoc tests can be seen in Table \label{tbl:res_tkbs_err} \end{table} -\subsubsection{Muscle Activity} +\subsection{Muscle Activity} \label{sec:res_muscle_activity} We utilized the \gls{EMG} device described in Section \ref{sec:main_design} to gather data about the muscle activities (\% of \glsfirst{MVC}) during typing @@ -330,7 +329,7 @@ second typing test for any keyboard/muscle combination. The summaries for all test keyboards of the mean values for both typing tests combined can be observed in Table \ref{tbl:sum_tkbs_emg}. -\begin{table}[ht] +\begin{table}[H] \centering \footnotesize \ra{1.2} @@ -385,7 +384,80 @@ in Table \ref{tbl:sum_tkbs_emg}. \end{tabular} } \bottomrule - \caption{Summaries for the mean values of measured muscle activity (\% of - \glsfirst{MVC}) in both typing tests conducted with each keyboard.} + \caption{Summaries for the \textit{mean values of} measured muscle activity + (\% of \glsfirst{MVC}) in \textit{both typing tests} conducted with each + keyboard.} \label{tbl:sum_tkbs_emg} -\end{table} \ No newline at end of file +\end{table} +\pagebreak +\subsection{Questionnaires} +\label{sec:res_questionnaires} +\subsubsection{Keyboard Comfort Questionnaire} +\label{sec:res_kcq} +The \glsfirst{KCQ} was filled out by the participants after each individual +typing test. The questionnaire featured twelve questions regarding the +previously used keyboard which are labelled as follows: + +\begin{table}[H] + \centering + \ra{0.8} + \small +\begin{tabular}{llll} + \textbf{KCQ1:} & \textit{``Required operating force during usage?''} & \textbf{KCQ7:} & \textit{``Ease of use?''} \\ + \textbf{KCQ2:} & \textit{``Perceived uniformity during usage?''} & \textbf{KCQ8:} & \textit{``Fatigue of the fingers?''} \\ + \textbf{KCQ3:} & \textit{``Effort required during usage?''} & \textbf{KCQ9:} & \textit{``Fatigue of the wrists?''} \\ + \textbf{KCQ4:} & \textit{``Perceived accuracy?''} & \textbf{KCQ10:} & \textit{``Fatigue of the arms?''} \\ + \textbf{KCQ5:} & \textit{``Acceptability of speed?''} & \textbf{KCQ11:} & \textit{``Fatigue of the shoulders?''} \\ + \textbf{KCQ6:} & \textit{``Overall satisfaction?''} & \textbf{KCQ12:} & \textit{``Fatigue of the neck?''} \\ +\end{tabular} +\end{table} + +All questions featured a 7-point Likert scale where 1 always denoted the worst +and 7 the best possible experience \cite{iso9241-411}. We conducted Friedman's +Tests for all questions and found differences for at least two of the test +keyboards in \textit{KCQ3} ($\chi^2$(3) = 9.49, p = 0.024), \textit{KCQ4} +($\chi^2$(3) = 18.4, p = 0.0004), \textit{KCQ6} ($\chi^2$(3) = 10.2, p = 0.017) +and \textit{KCQ8} ($\chi^2$(3) = 12.0, p = 0.0075). Further, we noticed a trend +towards significance for question \textit{KCQ1} ($\chi^2$(3) = 7.02, p = +0.071). The mean values for all answers can be seen in Figure +\ref{fig:kcq_tkbs_res} and the post-hoc test for relevant answers are shown in +Table \ref{tbl:res_kcq}. + +\begin{figure}[H] + \centering + \includegraphics[width=1.0\textwidth]{images/kcq_tkbs_res} + \caption{Means of the responses for all questions of the \glsfirst{KCQ}} + \label{fig:kcq_tkbs_res} +\end{figure} + + +\begin{table}[H] + \centering + \small + \ra{1.3} + \begin{tabular}{?l^l^l^l^l^l^l^l} + \toprule + \rowstyle{\itshape} + Y & Comparison & Statistic & p & Estimate & CI & Hypothesis \\ + \midrule + \multicolumn{6}{l}{\textbf{Non Parametric (Wilcoxon Signed Rank Test)}} \\ + KCQ1 & Aphrodite - Athena & 191.5 & 0.051^\dagger & 1.5 & [0.5, 2.5] & two-tailed \\ + \midrule + KCQ3 & Aphrodite - Athena & 209.5 & 0.03^* & 1.25 & [0.25, 2] & two-tailed \\ + KCQ3 & Athena - Hera & 37.0 & 0.022^* & -1.25 & [-2, -0.5] & two-tailed \\ + KCQ3 & Athena - Nyx & 31.0 & 0.03^* & -1.5 & [-2.5, -0.5] & two-tailed \\ + \midrule + KCQ4 & Aphrodite - Nyx & 161.5 & 0.038^* & 1.5 & [0.75, 2.5] & two-tailed \\ + KCQ4 & Athena - Hera & 168.5 & 0.072^\dagger & 1.0 & [0.25, 1.5] & two-tailed \\ + KCQ4 & Athena - Nyx & 193.5 & 0.006^* & 2.0 & [1, 2.75] & two-tailed \\ + \bottomrule + \end{tabular} + \caption{Post-hoc tests for questions from the \gls{KCQ}. Statistically + significant differences (p < 0.05) are marked with an asterisk and p values + indicating a trend towards significance are denoted with + $\dagger$. Confidence intervals are given for the difference of the location + parameter} + \label{tbl:res_kcq} +\end{table} +\subsubsection{User Experience Questionnaire (Short)} +\label{sec:res_ueqs} \ No newline at end of file diff --git a/images/kcq_tkbs_res.png b/images/kcq_tkbs_res.png new file mode 100644 index 0000000..e197781 Binary files /dev/null and b/images/kcq_tkbs_res.png differ diff --git a/thesis.tex b/thesis.tex index 7846595..33e0948 100644 --- a/thesis.tex +++ b/thesis.tex @@ -19,6 +19,7 @@ \usepackage[T1]{fontenc} \usepackage[utf8]{inputenc} \usepackage{kpfonts} +\usepackage[font=footnotesize]{caption} \usepackage[outputdir=auto]{minted} \usepackage{mdframed} \BeforeBeginEnvironment{minted}{\begin{mdframed}}