funnels
authorThomas Pietrzak <thomas.pietrzak@gmail.com>
Mon, 27 May 2019 12:40:14 +0000 (14:40 +0200)
committerThomas Pietrzak <thomas.pietrzak@gmail.com>
Mon, 27 May 2019 12:40:14 +0000 (14:40 +0200)
tex/perceptionaction.tex

index 8c4f164efe92545557b53b80d3651f5e0fcf1956..97e1273e89ece737e1ad695bb31510b123b7f69f 100644 (file)
@@ -10,7 +10,7 @@
 The design of interactive systems requires deep knowledge of both users and computers.
 Deeper than this, it requires understanding how the user and the interactive system interact with each other.
 
-Norman presents his \defword{seven stages of action}, which describes how humans interact with the world~\cite{norman88,norman02}.
+In his \defword{theory of action}, Norman presents his \defword{seven stages of action}, which describes how humans interact with the world~\cite{norman88,norman02}.
 This model is depicted on Figure~\ref{fig:sevenstages}.
 The subject starts with establishing a \emph{goal}, which is a high level objective to achieve.
 The purpose of every system is to enable achieving such goals.
@@ -25,22 +25,13 @@ This is what Gibson called an \defword{affordance}~\cite{gibson77}.
 %This is the case for a microwave in a flat I rent once, with only one button.
 %I never figured out how to setup time on the display.
 The knob has notches ranging from 0 to 11 painted on the sides.
-They provide \defword{perceived affordances} (also called \defword{signifiers}~\cite{norman08}) that helps Jimmy to know in which direction to turn it.
+They provide \defword{perceived affordances} (also called \defword{signifiers}~\cite{norman08}) that helps Jimmy to know in which direction, and how much to turn it.
 Now, Jimmy wants to get warm faster.
 Therefore he turns the knob all the way up to 11, thinking that the radiator will be hotter.
 This is a mistake, because the radiator is either on or off, and (in short) the knob only defines a threshold for switching between these two states.
 It means that the radiator cannot make the room warmer faster.
 This illustrates issues caused by a difference between the designer's model and the user's model.
-An alternative way of conveying an appropriate signifier consists in displaying the target temperature rather than 0-11.
-
-Jimmy's actions have effects on the world, that he can eventually \emph{perceive}.
-In this case he feels the room getting warmer.
-This is an \emph{interpretation} of the results of his actions.
-It is based on both the room temperature he perceives, experience, knowledge, personal taste, etc.
-It is unlikely he notices that the room could not get hotter faster.
-However at some point he will notice the room will be too hot because he set it to the maximum value.
-This is an \emph{evaluation} of the temperature he perceived.
-His new goal is to lower temperature, keeping in mind the initial state.
+An alternative way of conveying an appropriate signifier consists in displaying the target temperature rather than arbitrary 0-11 numbers.
 
 \begin{figure}[htb]
 \centering
@@ -49,23 +40,35 @@ His new goal is to lower temperature, keeping in mind the initial state.
 \label{fig:sevenstages}
 \end{figure}
 
+Jimmy's actions have effects on the world, that he can eventually \emph{perceive}.
+In this case he feels the room getting warmer.
+This is an \emph{interpretation} of the results of his actions.
+It is based on both the room temperature he perceives, experience, knowledge, personal taste, etc.
+%It is unlikely he notices that the room could not get hotter faster.
+% However at
+At some point he will notice the room will be too hot because he set it to the maximum value.
+This is an \emph{evaluation} of the temperature he perceived.
+His new goal is to lower temperature, keeping in mind the initial state.
+
 These seven stages of actions describe how a person interacts with objects in the world.
 They put the light on issues that can happen at each of these stages.
 On the action side, the difference between the person's goal and the executed action is called the gulf of execution.
-It represents pitfalls that can make more difficult for the person to achieve his goal.
+It represents pitfalls that can make more difficult for the person to perform the right actions to achieve his goal.
 On the perception side, the difference between the perceived stimulus and its evaluation is called the gulf of evaluation.
-it illustrates troubles the person can have with interpreting correctly the state of the world, in particular in result of his actions.
+It illustrates troubles the person can have with interpreting correctly the state of the world, in particular in result of his actions.
 A correct design of technology can reduce or bridge such gulfs.
 
 Now, we can observe that interactive systems can also have difficulties to understand or act on the world in an intended way.
-I present below an adaptation of Norman's seven stages, in the case of interactive systems.
+I present below an adaptation of Norman's seven stages to the interactive system side.
 It will highlight engineering and design problems of interactive systems, which will be useful for identifying challenges for their design and implementation.
 
 \section{Seven stages of interactive computation}
 
+Interactive systems globally work in a similar way than humans.
+They get information from the world, interpret it, and act on the world in return.
 %Despite the tremendous progress of computers the past decades, they can still process a tiny part of
-\loremipsum
-We define the \defword{seven stages of interactive computation} based on Norman's seven stages of action.
+%\loremipsum
+We therefore define the \defword{seven stages of interactive computation} based on Norman's seven stages of action.
 It is illustrated on Figure~\ref{fig:mysevenstages}.
 
 \begin{figure}[htb]
@@ -81,14 +84,14 @@ The input chain begins with the \emph{sensing} stage.
 Physical sensors measure physical properties.
 Typically they measure the user movements, but it can be various other information such as light, temperature, moisture, vibrations…
 All such information is transformed into \emph{input events}.
-At this stage we notice that the infinite richness of the world is reduced to a small amount of digits.
+At this stage we notice that the infinite richness of the world is reduced to a small number of digits.
 Let's discuss the simple example of a keypress on a keyboard.
 The only information in the digital world is whether a key is pressed or not. There is no information about the finger that pressed it, the speed of the finger or its trajectory.
 There is neither the possibility if a finger is hovering the key, if several fingers are pressing it, or even if it was pressed with the nose.
 Input events have to be treated as tokens, or lexical units.
 They are interpreted as \emph{input phrases} with grammars or finite automatons~\cite{appert06} and form the building blocks of \defword{interaction techniques}~\cite{nigay93}.
 
-The \emph{software} part is a meta algorithm that chooses whether there is an algorithm to run, which algorithm to run, and with which parameters.
+The \emph{software} part is a meta algorithm that chooses whether there are algorithms to run, which algorithms to run, and with which parameters.
 It occurs typically when a command is selected, or an object is being manipulated.
 
 Every computer system has at some point an effect on the world.
@@ -97,15 +100,45 @@ Even a routing algorithm will at some point transmit data to a computer which wi
 % Quantic information : stored in computer memory. Will it be observed?
 Bringing a piece of information to the physical world requires several steps.
 First of all the systems must \emph{encode} the piece on information.
-Effectors can produce light (like screens), sounds, vibrations, forces, …
 A visual encoding can be an icon, or a text.
 Audio encodings can be sounds~\cite{gaver93} or melodies~\cite{brewster93}.
 Various haptic encodings include vibrations~\cite{brewster04}, forces~\cite{maclean03a,pietrzak05b,pietrzak05} or textures~\cite{pietrzak09,pietrzak06,potier16}.
+%Effectors can produce light (like screens), sounds, vibrations, forces, …
+Output devices have driving electronics which require specific \emph{commands}, and turn them into \emph{physical effects}.
+These can be light (like screens), sounds, vibrations, forces, …
+
 
 With this model, we demonstrate that solving a problem with a interactive system is not only a matter of algorithmic computation.
 The encoding of the world's events, and the effects on the world resulting of the algorithms output are subject to non trivial issues.
 Algorithms are therefore prisoners from a digital Plato's cave.
 They can only handle shadows of the physical world, under the light of input and output streams.
+Therefore, addressing interaction problems require a broader design than just algorithms.
+It requires identifying information the system needs, and how to convey a result efficiently.
+Norman's gulf of evaluation and gulf of execution are mirrored with a \defword{funnel of evaluation} and a \defword{funnel of execution}.
+
+\paragraph{Funnel of evaluation}
+
+The funnel of evaluation depicts the fact that the input stages reduce the world into few bits.
+A good design of the input chain senses the right phenomenons, at an appropriate amplitude, with a sufficient spatial and temporal resolution, with little distortions,.
+These information must me combined correctly to form a meaningful sequence of action.
+For example, the \emph{Midas touch} problem is a usual issue with 3D gestural interaction.
+Since the sensors observes all the users movements, there is no obvious segmentation.
+The system has no way to know if you move your hand to interact with the system, or for scratching your nose.
+At the opposite, occlusion is the other problem with vision-based gesture sensors.
+The sensor cannot get position information for hidden objects.
+In these situations, we can grow the funnel of evaluation by adding segmentation gestures, and using multiple cameras.
+
+\paragraph{Funnel of execution}
+
+The funnel of execution is symmetrical.
+The software part of the system keeps an model~\cite{reenskaug79a} (or abstraction~\cite{coutaz87}), and it has to display parts of it in an intelligible way for users.
+The way data is shown to the user can have a huge impact on how he interacts with it~\cite{zhang94}.
+Therefore the encoding part is crucial, and it is a first filter for reducing the internal complexity of the system.
+The specifications of the output device is a second filter.
+There is a limitation of force, color, brightness, frequency, etc. each device can produce in theory.
+There is also a limit of precision, that greatly depends on amplifiers and digital to analog converters (DAC).
+Last the physical effect can be inconsistent for the same command.
+Some haptic devices can behave differently depending on ambient temperature, finger moisture, cleanliness, etc.
 
 
 \subsection{The user and the system}
@@ -123,7 +156,7 @@ This is typically what we study in HCI as we design new input devices with origi
 \label{fig:extendedaction}
 \end{figure}
 
-While these two models are similar, there are fundamental differences.
+While these two models are similar, there are fundamental differences. We discuss their induced running loops, and the implication for design of these two models.
 
 \paragraph{Loops}
 
@@ -159,7 +192,6 @@ The time constraint is less than $16ms$\footnote{This estimation is based on a $
 In the exposition adjustment scenario, computing the output on the full size image might be too slow.
 This is why the algorithm is computed on a thumbnail, or a crop view of the picture.
 
-
 %\cite{vermeulen13}
 
 \paragraph{Implications for design}