Quantitative fail
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Thu, 17 Feb 2022 14:55:58 +0000 (15:55 +0100)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Thu, 17 Feb 2022 14:55:58 +0000 (15:55 +0100)
figures/dwellpointing.tex [new file with mode: 0644]
mystyle.sty
tex/4-loop.tex

diff --git a/figures/dwellpointing.tex b/figures/dwellpointing.tex
new file mode 100644 (file)
index 0000000..cd88d8b
--- /dev/null
@@ -0,0 +1,120 @@
+%!TEX root = ../hdrmain.tex
+
+\begin{figure}[htb]
+  \centering\small
+  \definecolor{cellred}{rgb}    {0.98,0.17,0.15}
+  \definecolor{cellblue}{rgb}    {0.17,0.60,0.99}
+  
+  % 1: size
+  % 2: angle
+  % 3: color
+  \newcommand{\progress}[3]{\filldraw[fill=#3, draw=black]
+  (0,0) -- (0,#1) arc (90:{90-#2}:#1) -- cycle;}
+  
+  % 1: color
+  \newcommand{\button}[1]{\node[fill=#1, text=black!50, minimum width=12mm, minimum height=8mm, rounded corners=2mm] at (0,5){OK};}
+  
+  % 1: label
+  \newcommand{\steplabel}[1]{\node at (0,15){#1};}
+  
+  % 1: angle
+  % 2: x position
+  % 3: y position
+  % 4: hover
+  % 5: progress
+  \newcommand{\cursor}[5]{
+    \begin{scope}[xshift=#2,yshift=#3]
+      \ifthenelse{\equal{#4}{true}}{% cursor over button
+        \ifthenelse{\equal{#5}{true}}{% cursor progress
+          \draw (0,0) circle (\csize);
+          \ifthenelse{#1 > 0}{% no progress for 0
+            \ifthenelse{\equal{#1}{360}}{
+              \filldraw[fill=cellblue, draw=black] (0,0) circle (\csize);
+            }{
+              \progress{\csize}{#1}{cellblue}
+            }
+          }{}
+        }{}% idle
+        \filldraw[fill=cellblue, draw=black] (0,0) circle (\scsize);
+      }{ \draw[draw=black] (0,0) circle (\scsize); }
+    \end{scope}
+  }
+
+  % 1: top color
+  % 2: right color
+  % 3: bottom color
+  % 4: left color
+  \newcommand{\vibrators}[4]{
+    \begin{scope}[yshift=-45]
+      \draw[line width=3, draw=black!40] (0,0) circle (6);
+      \node[fill=#1, draw=black!50, circle] at (0,6) {};
+      \node[fill=#2, draw=black!50, circle] at (6,0) {};
+      \node[fill=#3, draw=black!50, circle] at (0,-6) {};
+      \node[fill=#4, draw=black!50, circle] at (-6,0) {};
+    \end{scope}
+  }
+
+  \tikzexternalenable
+  \begin{tikzpicture}[x=1mm,y=1mm]
+    \def\csize{6}
+    \def\scsize{3}
+    \begin{scope}
+      \button{black!10}
+      \cursor{0}{15}{-8}{false}{false}
+      \steplabel{\bf Idle}
+      \vibrators{white}{white}{white}{white}
+    \end{scope}
+    \begin{scope}[xshift=60]
+      \button{black!30}
+      \cursor{0}{5}{10}{true}{false}
+      \steplabel{\bf Hover}
+      \vibrators{cellred!40}{cellred!40}{cellred!40}{cellred!40}
+    \end{scope}
+    \begin{scope}[xshift=120]
+      \button{black!30}
+      \cursor{0}{5}{10}{true}{true}
+      \vibrators{cellred}{cellred}{cellred}{cellred}
+    \end{scope}
+    \begin{scope}[xshift=180]
+      \button{black!30}
+      \cursor{72}{5}{10}{true}{true}
+      \vibrators{cellred}{white}{white}{white}
+    \end{scope}
+    \begin{scope}[xshift=240]
+      \button{black!30}
+      \cursor{144}{5}{10}{true}{true}
+      \draw (-50,12) -- (50,12);
+      \steplabel{\bf Progress}
+      \vibrators{white}{cellred}{white}{white}
+    \end{scope}
+    \begin{scope}[xshift=300]
+      \button{black!30}
+      \cursor{216}{5}{10}{true}{true}
+      \vibrators{white}{white}{cellred}{white}
+    \end{scope}
+    \begin{scope}[xshift=360]
+      \button{black!30}
+      \cursor{288}{5}{10}{true}{true}
+      \vibrators{white}{white}{white}{cellred}
+    \end{scope}
+    \begin{scope}[xshift=420]
+      \button{black!30}
+      \cursor{360}{5}{10}{true}{true}
+      \vibrators{cellred}{cellred}{cellred}{cellred}
+      \steplabel{\bf Activation}
+    \end{scope}
+    %legend
+  \end{tikzpicture}
+  \vspace{1mm}
+  \begin{tikzpicture}[x=1mm,y=1mm, node distance=0.5mm]
+      \node[fill=cellred, draw=black!50, circle] (full) at (0,0) {};
+      \node[right=of full, anchor=west] {250Hz vibration};
+      \node[fill=cellred!50, draw=black!50, circle] (half) at (50,0) {};
+      \node[right=of half, anchor=west] {50Hz vibration};
+      \node[fill=white, draw=black!40, circle] (none) at (100,0) {};
+      \node[right=of none, anchor=west] {no vibration};
+  \end{tikzpicture}
+  \tikzexternaldisable
+  \caption[Tactile dwell cursor]{Tactile dwell cursor. When the cursor is not over a button, the users receive no feedback. When it is over a button, the users feels a 50Hz vibration all around their wrist. If the they stay on the button, the progress animation starts with all vibrators at 250Hz. Then the four actuators vibrate in a sequence. When the sequence finished all the actuators vibrate and the command is activated.}
+  \label{fig:dwellcursor}
+\end{figure}
index ac342e4d8c1255a48a6951b82bc35528efa9c000..7566ebd7a57e9718ed6349e2e5a8cada9b37d324 100644 (file)
@@ -16,6 +16,7 @@
 \usetikzlibrary{calc,arrows.meta,arrows,positioning,decorations.text}
 \usepackage[siunitx]{circuitikz}
 \usepgfplotslibrary{external}
+\pgfplotsset{compat=1.17} % avoids warning
 %\tikzexternalize[hdrmain,prefix=tikz/]
 \tikzexternalize[prefix=tikz/]
 \tikzexternaldisable
index 750c2fac3da89d4b481e4fb2fb9a7ed81ae80427..7c82f442c4feadd9a1bee1b3a68dc9e752e038a4 100644 (file)
@@ -22,7 +22,13 @@ But the problem remains the same: whether the feedback is visual or haptic, it r
 
 The message of this chapter is that input and output have an equivalent importance for the design of interactive systems, and must be designed together.
 This is not as trivial as it seems to be at first sight.
-\fixme{finish this}
+To illustrate this, I describe below two parts of rejected submissions, and explain what was wrong with them.
+It has to do with the motivations and the lack of focus on the sensorimotor loop.
+It made me realize that this is a large hole in the two previous chapters.
+After this assessment, I will connect the various angles of the sensorimotor loop, and discuss what it brings to the different disciplines around HCI.
+\fixme{something here about how I extend it}
+I will conclude with some of my favorite contributions to explain the critical role of the sensorimotor loop.
+
 
 %However vision is generally already used to display a lot of information.
 %In the case of smartwatches, the screen real estate is limited.
@@ -48,6 +54,7 @@ Therefore, the immediate feedback they need for direct manipulation~\cite{schnei
 This contributes to the overload of these modalities.
 Therefore, I worked on a way to provide haptic feedback for 3D interaction.
 
+%Before getting into this, I will start with a technical note on the device I design and implemented for the studies belos.
 The design rationale was to keep the users' hands free since this was the main motivations of this type of sensor.
 If users have to hold a device for haptic feedback, this device could also serve as an input controller.
 %Otherwise tactile feedback could be integrated in a controler.
@@ -55,6 +62,7 @@ Therefore we opted for a wearable haptic device for the wrist.
 
 \paragraph{Apparatus}
 
+\fixme{C2 tactors\cite{mortimer07}}
 There are several reasons to discuss the design and implementation of the prototype in this document.
 First it is designed for expressivity with simplicity.
 Second the iterative process is an interesting case study that led to guidelines regarding the implementation of interative systems.
@@ -113,11 +121,56 @@ But they enabled a simple and robust design while keeping an expressive output v
 
 \subsection{Quantitative limitations}
 
-focus on feedback rather than interaction
-
-  => Travaux direct manipulation
-
-  \subsection{Qualitative limitations}
+The first rejected submission on this work described several scenarios in which 3D gestural interaction was supposed to benefit from tactile feedback.
+I expected quantitative benefits, the same way tactile feedback improved typing performance on a mobile soft keyboard~\cite{hoggan08}.
+I compared the performance of participants for two scenarios.
+The first one was a car racing game that I adapted for Kinect.
+The participants steered the car by moving their arms like if they were holding a steering wheel.
+The tactile feedback indicated the steering angle.
+The results did not show any difference in lap times between the tactile feedback and no tactile feedback conditions.
+In hindsight, the tactile feedback could be useful to tell the players how their gestures are intepreted.
+As we will discuss later, this is an essential aspect of direct manipulation.
+However it does not necessarily guarantee quantitative benefits.
+We will discuss a qualitative evaluation attempt in the next section.
+
+In this section we will focus on the second study, about target selection with a dwell cursor.
+3D gestural interaction has two main issues.
+The first one is the precision of the movements, due to both the stability of the hand and the noise of the input system (see \reffig{fig:motorpath} in \refchap{chap:input}).
+The second one is the lack of segmentation.
+Physical controls typically have at least two states among \emph{out-of-range}, \emph{tracking}, and \emph{dragging}~\cite{buxton90}.
+3D gestural interaction only has a \emph{tracking} state.
+Therefore, workarounds are necessary even for basic interactions such as target activation.
+Kinect applications typically use a dwell cursor, that requires users to remain still over buttons for a few seconds to activate them.
+We replicated these cursors as depicted on \ref{fig:dwellcursor}.
+In Kinect applications, both the immediate feedback telling users they hover a button and the dwell progress are indicated with visual feedback.
+At the time, we assumed that complementing this feedback with haptic feedback would be beneficial for users. Therefore we implemented the tactile dwell cursor the following way.
+
+\input{figures/dwellpointing.tex}
+
+The cursor has no color and gives no tactile feedback when it is not over a target.
+When it hovers a target, it is colored and all the four actuators vibrate at 50Hz.
+After $1s$ over the button, a ring is drawn around the cursor, and all the four actuators vibrate at 250Hz during $150ms$, then they stop for another $150ms$.
+It warns the users that the animation is about to start.
+The animation vibrates the four actuators in a clockwise sequence at 250Hz during $200ms$, followed by a $175ms$ pause.
+After this animation all the actuators vibrate at 250Hz for $200ms$, then the target is activated.
+
+We ran an experiment with the idea to measure an increase of performance in a tactile condition over a visual-only condition.
+This was motivated by the fact that we tried the buttons themselves, tactile feedback seemed to bring some benefit.
+Participants were presented a screen with an array of four by four buttons.
+They had to select a series of buttons indicated with a highlight.
+The details of the experiment do not matter.
+We failed at detecting a significant difference between the conditions, either in selection time or error rate.
+I am convinced now that performance is not the benefit of tactile feedback in this situation.
+
+That being said, we were not the only wones to have this sensation that something was better with tactile feedback.
+Several participants reported that tactile feedback was a good addition to visual feedback, as it reduced their visual attention.
+For example, two participants said: “without tactile feedback I have to focus more on the visual feedback” and “I found [tactile feedback] more helpful than the visual feedback because I didn't have to focus 100\% visually with the tactile redundancy.” 
+Users also appreciated that tactile feedback indicated when they hovered a button.
+For example, one of the participants said: “It felt more like interacting with a physical button when activating the button produced a sharp buzz.” 
+Therefore, the benefits of the tactile feedback seemed to be qualitative rather than quantitative
+This is why in the next iteration we tried to measure the qualitative benefits of tactile feedback for gestural interaction.
+
+\subsection{Qualitative limitations}
 
 PAD \cite{mehrabian96} and presence \cite{witmer98}, significant difference in sensory and realism factors.
 
@@ -125,6 +178,16 @@ PAD \cite{mehrabian96} and presence \cite{witmer98}, significant difference in s
 
 %Distal touch
 
+\subsection{Discussion}
+
+
+focus on feedback rather than interaction
+
+  => Travaux direct manipulation
+
+qualitative properties taht did not necessarily match the task
+
+  => travaux embodiment