\label{calSD}
Obtaining the optimal SDAZ system is a non-trivial matter. It is on the analysis of this problem that the bulk of our work here is focused. The settings that must be calibrated fall roughly into two categories:
\begin{itemize}
\item Control equations and constants.

These are the mathematical formulae behind the system. Setting these involves addressing such questions as:
\begin{itemize}
\item How fast does the user need to be scrolling before the system should start zooming out?
\item When the zoom out does start, what formulae govern the relationships between mouse displacement, document speed, and magnification?
\end{itemize}

\item Human-System interaction

These are the significant questions that must be addressed regarding the user's interaction with the interface.
\begin{itemize}
\item What does the user have to do to scroll?
\item How does the system represent the scrolling mode and the information associated with it to the user?
\item What happens to the cursor when scrolling?
\item How does the system convey the zoom-in location?
\end{itemize}
\end{itemize}

In order to address these questions a process of iterative implementation was used. Fourteen different users (mostly computer science students very familiar with scrolling and 3 with significant previous experience with SDAZ) used and commented on the system over the course of development. The basic SDAZ system upon which these modifications were analysed was developed originally by Joshua Savage in C/OpenGL \cite{js:1}.

\begin{figure*}[!tb]
\begin{center}
\subfigure[Small Threshold]{
\label{SmallThreshold}
%fdshdh
\includegraphics[width=0.45\textwidth]{calSD/threshold1.eps}
}
\subfigure[High Threshold]{
\label{HighThreshold}
\includegraphics[width=0.45\textwidth]{calSD/threshold2.eps}
}
\caption{Illustration of Thresholds}
\label{Thresholds}
\end{center}
\end{figure*}

\section{Control Equations and Constants}

The following is a summary of the units and terms used in this section:
\begin{itemize}
\item \emph{Document speed} is the rate at which navigation through the information space is occurring, and is measured in units of \emph{pages per second}.
\item \emph{Screen time} is the length of time any given piece of information is displayed on the screen for, and is measured in units of \emph{seconds}.
\item \emph{Magnification} of the document is measured in \emph{pages}, and refers to the number of pages visible on the screen. A magnification of 1.0 is considered ``full magnification'' while a magnification of 3.0 would mean three pages are visible on the screen --- and therefore the pages would be one-third their usual size.
\end{itemize}

Given these definitions, the following relationship holds:
\[
Screentime = Magnification / Documentspeed
\]

\subsection{The Threshold Constant}
The \emph{threshold} is the document speed at which zooming out begins. Thus, at any speed less than the threshold, the system will be at full magnification. A threshold that is too high results in the document blurring when scrolled fast because the high threshold means the document is not zoomed-out far enough to compensate for the speed. A threshold that is too low is annoying to the user because even when scrolling slowly the system will counter-intuitively zoom the document out. Figure \ref{Thresholds} gives an illustration of the effect the threshold value has on the function of the system by showing the relationship between magnification and document speed. 

We presented our test users with a range of nine different settings for the threshold value, ranging from 1.0 to 5.0 pages per second, at intervals of 0.5. Users were given a working SDAZ system on which they could dynamically adjust the threshold value by pressing number keys corresponding to the nine available settings in increasing order.

All user preferred the lower end of the range available. One user, expressing the unanimous opinion of the group, commented that 4.0 pages/s was ``massively too fast''. All users felt that the optimal value lay somewhere in the range 1.0 to 2.5 pages/s. Several users preferred 1.0, but after further discussion opted for a higher value --- we discuss this in the next section. One user, however, commented that ``[1.0] is too quick [to zoom out], I do spastic actions.''

We asked users to select a single most preferred value. Many users were uncertain about precisely which value they preferred. The majority of users, however, eventually decided that 1.5 pages per second was the optimal value.

\subsubsection*{Two Conflicting Types of Navigation}
\label{twoconflictingtypes}
It became evident to us in testing our threshold values that there is a tension in the system between two types of scrolling task. Using the classification scheme presented in Section \ref{Tax}, this tension can be understood as Paging and Pagination versus Visual Search and Section Jump. Unfortunately it appears that they require quite different system behaviour. Visual Search or Section Jump involves scrolling rapidly to a distant portion of the document. For these tasks an immediate (but smooth) zoom-out is desirable. For Paging and Pagination it seems strongly preferable that the system remain at full magnification throughout the action. Yet with Pagination the user often wants to move the mouse quite fast in order to rapidly change their point of focus.

In our testing of threshold values, a few of the users (who evidently had only the task of Visual Search in mind) preferred the lowest threshold available: 1.0 pages/s. When the ideas of pagination and paging were discussed with them however, they all opted for 1.5 or 2.0 pages/s as optimal.

This observation of the two types of scrolling results in two options for the implementation of the system:
\begin{itemize}
\item To implement the two different tasks types as two different modes of SDAZ.
This would mean that the SDAZ system would operate in two modes: with and without zooming. We think that this could be best implemented if pressing and holding the mouse button invoked normal rate-based scrolling (SDAZ with no zooming), but clicking and releasing the button invoked an SDAZ mode which would end when the mouse button was clicked a second time.

\item To only support the one mode of scrolling.
\end{itemize}

Our observations suggest that the difference between the two types of task are not enough to warrant the disadvantages of a dual-mode system. Since most users seemed relatively happy with a threshold of 1.5 regardless of whether they had taken paging and pagination into account, we think that the gains to be made by using a rate-based-only mode in addition to a long-distance-SDAZ mode are probably negligible.

For the system used in our formal evaluation, we decided to use a threshold value of 1.5 pages/second and to support just the one mode of SDAZ.

\subsection{Zoom Formula}
\label{calZoomFormula}

An important question in the calibration of an SDAZ system is what the formula controlling the automatic zooming should be. The basic idea of SDAZ is that the single parameter of mouse displacement should be mapped onto the two variables of Document-Speed and Magnification.

There are three values dealt with in this discussion: \emph{displacement} (referring to mouse pointer displacement --- how far the mouse has been moved since scrolling began), \emph{Document-Speed} (DS), and \emph{Magnification}. There are thus three relationships that can be discussed --- the relationships between any pair of these three variables. Two formulae will ultimately govern the system --- mapping displacement onto the other two variable spaces.

A very important question in the calibration of the system is the choice of these functions. SDAZ appears to us easiest to understand by thinking of it as two equations, the first mapping displacement to DS and the second DS to magnification. It seemed to us initially intuitive that a linear relationship for both would be desirable. See Figure \ref{TwoEquations} for an illustration of this.

\begin{figure*}[!t]
\begin{center}
\subfigure{
\label{DSDisplacementLine}
\includegraphics[width=0.45\textwidth]{calSD/DSDisplacementLine.eps}
}
\subfigure{
\label{MAGDSLine}
\includegraphics[width=0.45\textwidth]{calSD/MagDSLine.eps}
}
\caption{Two sample equations mapping displacement to DS to Magnification}
\label{TwoEquations}
\end{center}
\end{figure*}

What these graphs say is that displacement is mapped linearly to DS. The distance the mouse is moved is proportional to the rate of navigation through the document. This seems to us intuitive --- if you move the pointer twice as far, you go twice as fast. The second function maps DS linearly to Magnification (when DS is above the threshold). The idea of mapping from DS to magnification rather than displacement to magnification is that we consider this model easier to understand. Since the purpose of SDAZ is to reduce zooming when the information flow becomes too rapid, it seems intuitive to calculate the zoom-level based on the rate of information flow.

An alternative model we considered, was to map displacement to magnification and then calculate DS in such a way that screen time was held constant. However our earlier investigation demonstrated that desirable screen time varied with magnification \cite{wsc:1}.

\begin{figure*}[!b]
\begin{center}
\subfigure[Mapping 1]{
\label{DSDisplacementNotFunction}
\includegraphics[width=0.3\textwidth]{calSD/DSDisplacementNF.eps}
}
\subfigure[Mapping 2]{
\label{MAGDisplacementNotFunction}
\includegraphics[width=0.3\textwidth]{calSD/MagDisplacementNF.eps}
}
\subfigure[Result]{
\label{MAGDSNotFunction}
\includegraphics[width=0.3\textwidth]{calSD/MagDSNF.eps}
}
\caption{The choice of the two mapping functions from Displacement to DS and Displacement to Magnification mean that the relationship between Magnification and DS is not a function in either direction.}
\label{ThreeMappings}
\end{center}
\end{figure*}

\begin{figure*}[!tb]
\begin{center}
\subfigure[Linear]{
\label{LineEquation}
\includegraphics[width=0.3\textwidth]{calSD/MagDSLineCap.eps}
}
\subfigure[Exponential]{
\label{ExpEquation}
\includegraphics[width=0.3\textwidth]{calSD/MagDSExp.eps}
}
\subfigure[Modified Exponential]{
\label{InvEquation}
\includegraphics[width=0.3\textwidth]{calSD/MagDSInvExp.eps}
}
\caption{The three main control equations investigated}
\label{ThreeEquationTypes}
\end{center}
\end{figure*}

\subsubsection{One to One Mappings}

A consideration in the choice of these functions is whether it is desirable to choose the functions in such a way as to ensure a 1 -- 1 mapping across the three information spaces when the value of DS is exceeding the threshold. (That is, given a value of any one of the three variables, is it possible to calculate the other two?) If the functions chosen mean such a mapping is not preserved then the decision as to which variable spaces the functions should map between becomes relevant. An example is shown in Figure \ref{ThreeMappings}.

This shows that it will not always be possible to have a function mapping DS to Magnification. Therefore, though a mapping from Displacement to DS and then another from DS to Magnification is an easier system to comprehend (and will be used throughout this report), it must be acknowledged that this model \emph{does} result in a loss of generality. A model which used a Displacement $\to$ DS function and a Displacement $\to$ Magnification function would be sufficiently general.

For the sake of convenience and time we have limited our analysis to a direct linear mapping from Displacement to DS and concentrated on the relationship between DS and Magnification. It should be noted however, that \citename{ih:1} found a \emph{non-linear} relationship between DS and Displacement to be more satisfactory --- their settings are given in Table \ref{calsettingstable}. Though we did not evaluate this directly, the results of our investigations have led us to think that \citename{ih:1} were probably right as we obtained non-linear results in our investigation of the relationship between displacement and DS.

\subsubsection{Our Analysis}

The situation is still quite complex when analysing only the DS $\to$ Magnification mapping. We considered three types of equations to govern this mapping: Linear, Exponential, and Modified Exponential. See Figure \ref{ThreeEquationTypes} for an illustration of these. These seemed to us to be the most important cases.

Obviously if we zoom out too far the information displayed becomes so small as to be unreadable. Therefore we imposed an arbitrary limit of Magnification $\leq$ 10 pages. Once the curve reaches a Magnification of 10 pages on-screen, it will not zoom out any further --- though DS may continue to increase if the user continues to displace the mouse further.

We also considered the possibility of various slopes for these curves. The question of how steep the curve should be is very important. If too shallow, the system does not zoom out enough to compensate for the speed, which results in blurring --- precisely the problem we are trying to avoid. Too steep, and the intermediate zoom levels are no longer easily accessible and the user feels disoriented when the system zooms out too fast.

The mathematic representations of the three equations we chose to investigate are displayed in Table \ref{threeeqnstable}. Note that these relationships only take effect when DS $>$ Threshold. When DS $\leq$ Threshold, the magnification is set to 1.

\begin{table}[!hbt]
\begin{center}
\begin{tabular}{ll}
$Magnification = Slope * (DS - Threshold) + 1$ & \hspace{2cm} (line)\\[2mm]
$Magnification = e^{(DS-Threshold)*Slope}$ & \hspace{2cm} (exponential)\\[2mm]
$Magnification = 10.0 - 9.0 * e^{(Threshold-DS)*Slope}$ &\hspace{2cm}  (modified exponential)\\
\end{tabular}
\caption{The three equations we investigated.}
\label{threeeqnstable}
\end{center}
\end{table}

We presented users with an interface allowing them to switch between the three equations and select nine different settings of slope at equally spaced intervals by pressing number keys. These possible settings ranged from 0.1 to 0.9 on the line equation and 0.03 to 0.26 on the exponential equations.

\subsubsection{User Comments}

Users were encouraged to experiment with various settings available to them, they could toggle freely between the nine slopes by pressing the appropriate numeric key and between the three equations by a similar key-press.

It was our belief prior to performing this evaluation that users would prefer the exponential equation, as we assumed that a smooth curve would feel smoother and more natural. However, users universally disliked this curve and felt that both the line and the modified exponential were better. One user commented that the exponential curve just ``seems odd''.

We attempted to clarify the exact objection, by talking the problem over with the users. It appears that the problem is in the area of the curve nearest the threshold. Users said this shape was worse than the line because it did not zoom out as quickly. One user (showing remarkable insight into the shape of the equations) explained that this one did not zoom out as quickly as the line and that the opposite curve shape would be better --- effectively describing the modified exponential curve (which he liked best when he tried it later).

Users unanimously felt that the line and the modified exponential curve were distinctly superior to the exponential curve. However the distinction between the former two was not so pronounced and it would often take users about ten minutes of using the system before they decided which one they liked better. All users eventually decided they preferred the modified exponential equation over the line equation, though most were very hesitant about making that judgement.

Regarding the optimal values for the slope, users mostly preferred values in the range 0.6 to 0.9 for the slope of the linear curve (0.7 seemed the single most preferred value) and 0.14 to 0.17 for the slope of the exponential. The preferred slope values for the modified exponential appeared to be widely distributed, with some people preferring values around 0.11, while others preferred 0.23 or 0.26. The consensus however appeared to be for a slope of 0.23 with the modified exponential.

\begin{figure}[!t]
\begin{center}
\includegraphics[width=1.0\textwidth]{calSD/ThreeEqns.eps}
\caption{The most preferred settings of the three control equations investigated}
\label{ThreeEqns}
\end{center}
\end{figure}

Figure \ref{ThreeEqns} shows a graph of the three control equations at the preferred threshold setting and slope values --- a threshold of 1.5 and slopes of 0.7 (linear), 0.17 (exponential) and 0.23 (modified exponential). An interesting feature which immediately stands out is the way the three curves almost intersect around the area of $DS \approx 14.3$, $Magnification \approx 9.7$.

We believe that this feature is an indication of the optimal speed at the maximum magnification. As noted earlier, our magnification was limited to 10 pages, meaning that once the magnification had reached that level, no further zooming out could occur. We noticed in our testing process that for a large proportion of the time, the system was either fully zoomed in (when the user had stopped on their target) or fully zoomed out (when the user was scrolling to their target). Thus, we think that when we asked users what ``slope'' of each equation they liked, we were effectively simply asking them to select an appropriate DS value for a magnification of 10. Since we had already set the threshold value and defined the general formula of each curve, the user's choice of such a value would have uniquely defined the appropriate slope.

For our system used in our formal evaluation we use the modified exponential curve with a slope of 0.23, since this setting appeared to be preferred by the majority of users.

\subsubsection{Two Additional Curve Types}

We considered two other possible equation types, but did not test them. These were the Combined-Curve and Two-Level curve. (See Figure \ref{TwoAdditionalEqns})

\begin{figure*}[!b]
\begin{center}
\subfigure[Combined curve]{
\label{Combined}
\includegraphics[width=0.3\textwidth]{calSD/MagDSCom.eps}
}
\subfigure[Two-Level curve]{
\label{TwoLevel}
\includegraphics[width=0.3\textwidth]{calSD/MagDSTwoLevel.eps}
}
\caption{Two additional control equations considered}
\label{TwoAdditionalEqns}
\end{center}
\end{figure*}

The Combined-Curve could be modelled either as an exponential and a modified exponential joined piecewise, or as a segment of a sine function. We thought of this curve as it is smooth throughout. Though we did not test the Combined-Curve directly, we believe that the same negative results would be obtained for it as were obtained for the exponential curve. Both curves share an initial shallow magnification increase which was strongly disliked by users.

The Two-Level curve we considered since many users seem to operate the system in such a way that for most of the time the system is either fully zoomed-in or fully zoomed-out. The Two-Level curve would have two levels of magnification and would animate smoothly between them when the threshold was crossed. We did not bother investigating this curve as many of our testers told us they preferred the functionality of having access to the intermediate zoom levels. Also, our users did not always choose the steepest slope out of those we offered, suggesting that an infinitely steep slope would not be appreciated.

\begin{figure}[!tb]
\begin{center}
\includegraphics[height=0.3\textwidth]{calSD/SSHunting.eps}
\caption{The ``Hunting Effect''. As the system zooms-in on the current location, the target graphic moves away from the pointer until it is partially off the screen.}
\label{Hunting}
\end{center}
\end{figure}

\subsection{Falling Rate}

If the user ends scrolling using a mouse button when the system is not at full magnification, then the system needs to be returned to full magnification. Both \citename{ih:1} and \citename{cs:1} used a smoothly animated transition since an instantaneous transition caused disorientation (this was our experience also). Both groups solved this by imposing a limit on how rapidly the document can ever zoom-in (the ``falling rate'') and then zooming-in at the maximum rate when scrolling stops. Neither group, however, reported the value used for this rate. We tried a few settings informally and decided to use the following falling-rate ($t$ indicates time, in seconds):
\[
\frac{\delta(Mag)}{\delta(t)} = 10 * Mag
\]

Hence if the current magnification is eight, then the falling rate will be 80 pages per second. However the falling rate is continuously recalculated during the zoom-in based on this formula. This will mean that as the document approaches full magnification the value of the magnification is not being changed as fast. This is necessary because there is a greater visible difference to the user between magnifications of 1 and 2 as compared to magnifications of 9 and 10.

We selected this formula ourselves based on our own preferences and the system given to the test users used this formula, as does our system in our formal evaluation. No testers made any comments about the falling rate.

\subsection{The Hunting Effect}
\label{calHuntingEffect}

SDAZ has been noted by \citename{ih:1} to suffer from a problem where users overshoot the target due to the system zooming-in as the user slowed. If the pointer is not on the target, then zooming-in causes the target to move away from the pointer. The user responds by quickly moving the pointer toward the retreating target, but this rapid pointer movement causes the system to start zooming-out again. This problem is known as the ``hunting effect'' (see Figure \ref{Hunting}). In short it is where the user has difficultly acquiring the target precisely as the target avoids the ``hunting'' pointer.

This issue has been also recognised problem in Fisheye systems. The magnification of the Fisheye means that the target is moving fastest across the screen when the pointer is nearest it. \citeasnoun{g:1} presented a technique called Speed Coupled Flattening (SCF) as a proposed solution to this problem with regard to Fisheye systems. SCF works by holding the Fisheye's magnification level to a minimum when the pointer is moving and then rapidly reapplying the magnification when movement ceases.

Our interpretation of \citename{g:1}'s method with regard to SDAZ was to perform no zooming-in while scrolling and then to rapidly apply full magnification when scrolling ceases. In effect this means that it is not possible to zoom-in when scrolling.

This mechanism also appears to give users a greater feel of control as it allows, as a side effect, the ability to pause the zoom level. When the user reaches a zoom level they feel is adequate, they can reduce their speed (even to zero), without the system zooming back in. In a previous evaluation of SDAZ, one participant commented that such functionality would be desirable \cite{js:1}.

An additional advantage of this modification is that it solves the problem of zoom-ins on direction change. Both \citename{ih:1} and \citename{js:1} reported the problem that changing direction caused a sudden zoom-in. As the user changes direction their velocity is momentarily zero, meaning that the system sets the magnification back to full. As the user begins to move in the new direction, the system zooms-out again. From the user's point of view the document appears to jerk as magnification is momentarily set to full before being zoomed-out again. \citename{ih:1} solved the problem by introducing an arbitrary delay in the zooming-in process, while \citename{js:1} decided not to include this delay in the system used for evaluation.  A few of our test users also commented on this: ``The bouncing thing is really annoying,'' complained one of them.

However, our users were not very positive in their assessment of our modification. They felt this was overly restrictive, and preferred the original version when they compared the two directly. All seemed to agree that the ability to zoom back in was a good thing, but that it should not happen as fast as it was occurring in the standard system.

We therefore decided to modify the falling rate control equation that is used in scrolling mode. The user ``falls'' back to the document at normal speed when scrolling ceases however.
Our new falling equation is as follows ($t$ indicates time in seconds):
\[
\frac{\delta(Mag)}{\delta(t)} \leq 3 * Mag
\]

\subsection{Three Unevaluated Ideas}

\begin{itemize}

\item Orders of Control
\label{calzeroordercontrol}

We examined different orders of control in Section \ref{ordersofcontrol}. We saw that SDAZ is a first-order control system as it maps mouse displacement to scrolling \emph{velocity}, whereas traditional scrollbar and panning systems are a zero-order systems as they map mouse displacement to document \emph{displacement}.

\citeasnoun{poulton:1} says that ``A control system of high order is improved by adding components of lower order.'' He notes that ``Control systems may combine 2 or more orders of control'' and gives the example of ``rate aiding'' which is where a first-order system is supplemented by adding a zero-order component. This would suggest that SDAZ could be improved by adding a zero-order component to the formula. Hence any SDAZ system could be improved by adding an additional movement formula mapping mouse displacement into document displacement.

Our own observations suggest that such a addition would be very useful. When the user begins a scrolling movement, the system typically feels a little unresponsive at first because the user has increased the scrolling speed but the system has not scrolled any significant distance through the document. Whereas in a zero-order system such as a scrollbar, there is no lag between mouse movement and the document location being altered appropriately. We think that the addition of zero-order control to SDAZ would help the user to feel that the system was responding instantly to their wishes and that they really were moving toward their target rapidly.

We experimented with adding zero-order control to our system, but had difficultly finding an appropriate constant of proportionality for the mapping between mouse displacement and document displacement. We decided to not include this functionality in the system given to our testers as it would interfere with their choice of appropriate control equations, and we have not used it in our formal evaluation.

\item A Lag in the Zoom-Out

In the process of examining different threshold values we saw that there was a conflict between two different types of navigation action (see Section \ref{twoconflictingtypes}). One idea we considered using to solve this problem was an idea of a lag in the zoom-out. The idea was that the system should not start zooming out until the threshold value has been exceeded for a predefined length of time. Once the threshold had been exceeded for that length of time then the system could be set (either instantly or by smooth animation) to the appropriate zoom level for the current document speed, and normal SDAZ functionality would then occur.

We implemented a lag which was followed by instantaneous acquisition of the appropriate magnification. We found the instantaneous acquisition to be disorienting and the lag itself to be annoying as the system would delay before responding to our actions. We did not use this functionality for either the informal testing process or the formal evaluation.

\item Stopping Instantly
\label{calStoppingInstantly}

Several users of our system commented that they would prefer if it was easier to stop. Scrolling could be ended at any time by using a mouse button (we discuss this further in the next section on Human-System Interaction), however users were concerned about the lack of ability to stop or reverse while remaining in scrolling mode. If a user overshoots their target or sees an item of interest, then they need to be able to stop or reverse quickly.

To stop in standard SDAZ while remaining in scroll mode, the user is required to to move the mouse by exactly the distance that they have already moved it, but in the reverse direction. If the user is scrolling fast then it can take over a second to do this, during which time the document has been scrolling rapidly in an undesired direction.

We suggest that it would be useful if users could just jerk the mouse in the opposite direction they are currently travelling, the system would respond by bringing them instantly to a complete halt. This action would need to be distinguished carefully from ``legitimate'' slowing that users do when navigating, which is prone to be far smoother in nature --- involving less rapid mouse movement.

One user also commented that it was difficult to stop completely while in scrolling mode. In our system, displacing the mouse by even one pixel results in scrolling occurring (though very slowly) and hence the users needed to be pixel perfect in order to be completely stationary in scrolling mode. We suggest a ``null-speed region'' of several pixels in order to give the users some leeway in this regard.

Our system used in our formal evaluation does not have the instant-stopping functionality, and has a null-speed region of one pixel as described above.
\end{itemize}


\section{Human-System Interaction}

There are several important issues that need to be addressed regarding the user's interaction with the interface. Since there are only a few discrete possibilities for most of these issues we are more certain of the accuracy of our results presented here than in our last section where we were trying to obtain the optimal value in a continuous range.

\begin{figure*}[!tb]
\begin{center}
\subfigure[Zoom-Pointer]{
\label{ZoomPointer}
\includegraphics[height=0.3\textwidth]{calSD/SSZoomPointer.eps}
}
\subfigure[Pointer-Centre]{
\label{PointerCentre}
\includegraphics[height=0.3\textwidth]{calSD/SSPointerCentre.eps}
}
\subfigure[Zoom-Centre]{
\label{ZoomCentre}
\includegraphics[height=0.3\textwidth]{calSD/SSZoomCentre.eps}
}
\caption{Screen-shots of the three systems.}
\label{ThreeScreenshots}
\end{center}
\end{figure*}

\subsection{Zoom Location}
When we first used \citename{js:1}'s SDAZ system we noted a serious deficiency in the user interface. The mouse movement during scrolling caused the pointer to move around the screen which naturally invited the user to follow it with their eyes. Thus the user would be looking at the mouse pointer and stop scrolling once the mouse pointer moved over the target. The user would then be surprised when the system zoomed-in at the centre of the screen. This zoom-in at the centre of the screen, rather than the pointer, often meant that the target was no longer on the screen.

A number of alternative interfaces were investigated as solutions to this problem. Three possibilities were initially investigated. Figure \ref{ThreeScreenshots} shows screen-shots of the three systems.
\begin{itemize}
\item Zoom-in at the moving pointer: \emph{zoom-pointer}.
\item Keep the pointer in centre of screen while scrolling: \emph{pointer-centre}.
\item Remind the user that zoom-in will be at screen centre while allowing the pointer to move: \emph{zoom-centre}.
\end{itemize}

Following \citename{cs:1}'s implementation we initially warped the pointer to the centre of the screen when scrolling began. We decided to interpret the idea of having a ``moving pointer'' to mean allowing the pointer vertical freedom, but in all our implementations we disallowed horizontal movement. This meant the pointer was always in the horizontal centre of the screen. We also, when in scroll-mode, replaced the pointer with a semi-transparent double-headed arrow to indicate to the user that mouse movement will cause scrolling rather than pointer movement. In all systems we clearly marked for the user the zoom-in location by using a visually clear red rectangle to indicate this --- an idea taken from an as-yet-unpublished paper by \citename{unpubsdaz:1} regarding SDAZ on palm displays. 

Even with the added visual draw of the rectangle in the centre of the screen, users eyes still naturally followed the moving cursor. Thus the zoom-centre system was a complete failure. ``I don't like it'' stated one typical user expressing the unanimous opinion on the subject.

Both the zoom-pointer and zoom-centre systems have a potential difficulty with the pointer hitting the top of the screen. Should this place a natural upper-limit on speed, or should the system allow the user to continue increasing speed? In our system this was not a serious problem as the user never moved the mouse as far as the edge of the screen because such a high speed would be inappropriate for the 30 page documents we were using to test it. By the time the user reached such a high speed in our system, they would be at the end of the document already.

\begin{figure}[!tb]
\begin{center}
\includegraphics[height=0.3\textwidth]{calSD/SSInfoFlow.eps}
\caption{The direction of the information flow is indicated. The information has only a short distance to move before it passes the focus region.}
\label{InfoFlow}
\end{center}
\end{figure}

\subsubsection{Inverted Controls}

We observed a serious problem with the zoom-pointer system. As the user scrolls more rapidly, the pointer moves toward the boundaries of the screen. Since the information is scrolling from the same boundary as the user is moving toward, this means the user has a progressively shorter distance in which to spot their target before it passes the pointer. See Figure \ref{InfoFlow} for an illustration of this. This resulted in users overshooting their target when moving at high velocities.

The solution to this that we investigated was to invert the controls. Instead of upward mouse movement causing scrolling toward the beginning of the document (the document moves downward), upward mouse movement causes scrolling toward the end of the document (the document moves upward). This means that the pointer is moving \emph{away} from the oncoming information --- giving the user an increasing distance over which to spot the approaching target. See Figure \ref{InfoFlowRev} for an illustration of this.

\begin{figure}[!b]
\begin{center}
\includegraphics[height=0.3\textwidth]{calSD/SSInfoFlowRev.eps}
\caption{The inverted system. Here the information has a longer distance before it passes the focus region.}
\label{InfoFlowRev}
\end{center}
\end{figure}

However, the user response to the inverted-pointer-zoom system was mostly negative. ``I like it better the other way [non-inverted]\ldots It's better normal.'' said one user, stating the almost unanimous opinion. We believe there are two main difficulties with an inverted system.

The first difficulty is that it is unnatural to move the mouse in the inverted direction. However, it could be argued that it is ``unnatural'' merely because people haven't had much practise at it yet. Indeed, one of our users commented, ``This [inverted] is fine. It's no harder getting used to it with the reverse thing than the other way\ldots maybe I've played too many computer games with inverted controls\ldots It probably is better this way [inverted].''  It might be argued that this is merely a matter of convention and it can be changed.

We have two objections to this argument. Firstly, having a counter-intuitive system decreases the system's learnability. We think that a novice user will naturally attempt to scroll in the usual way and be put off when the system does not respond as expected. Our second objection is that not only is the inverted direction unconventional, but it means that the user is being asked to move their pointer in the opposite direction to their target. It is asking the user to move \emph{away} from the target in order to acquire it. It is unsurprising most users found this counterintuitive

The second difficulty we see in the inverted system stems from this idea that the pointer is moving away from the target. The pointer movement is actually going to \emph{increase} the effective distance between the pointer and the target. The focus area is being moved away from the target by the movement of the mouse. This could be avoided, if a zero-order supplement was used (see Section \ref{ordersofcontrol}), so that the document was displaced toward the target by the same distance that the pointer was being moved away from it. However, the argument is moot as all users liked the pointer-centre system over any of the alternatives whether inverted or not.

\subsubsection{Pointer-Centre is Best}
\label{pointercentrebest}

Users were unanimous in their opinion that the pointer-centre system was superior to the other systems they used. The following comment was fairly typical. ``That's probably a good idea actually\ldots  Yeah, that's good\ldots  I reckon with this way you've got more control\ldots  You can keep track better.'' Users consistently pointed out the way the focus didn't move in this system and that they liked it better because of this. Several commented that this stationary focus meant it was easier to control the system.

\begin{wrapfigure}[34]{r}{3cm}
%\begin{center}
\includegraphics[height=0.5\textheight]{calSD/SSInfoArea.eps}
\caption{The information area used by Cockburn \& Savage.}
\label{InformationArea}
%\end{center}
\end{wrapfigure}

We think the stationary reference point also decreases the mental load of users as they do not have to keep track of two moving objects at once (the document and the reference point). We believe that keeping a stationary reference point allows the users to better determine their exact speed through the document. Calculating the speed difference between the moving document and a stationary reference point is doubtless easier for the user than calculating the speed difference between two moving objects.

We also noticed that users tended to focus on anything on the screen that was moving. Only when nothing else on the screen was moving did they focus their full attention on the background document that was scrolling. Obviously the best performance occurs when the users are fully focused on the document rather than on the moving reference point.

\subsection{Speed Indication}

The system created by \citename{cs:1} used an information area to the right of the screen to indicate both scrolling velocity (including the threshold value) and location within the document. Figure \ref{InformationArea} shows an image of this information area.

As we discussed in Section \ref{notareplacement} we believe that in a real system this would be a normal scrollbar as we do not view SDAZ as being a replacement for a scrollbar. The scrollbar will convey the location within the document to the user by position of the scroll thumb. This means that the information regarding scrolling velocity needs to be conveyed by some other means. Also, having it displayed at the side of the screen is not really satisfactory as the user's attention should be focused at the centre of the screen on their document.
\begin{figure}[!tb]
\begin{center}
\includegraphics[width=0.5\textwidth]{calSD/SSGrownCandy.eps}
\caption{The size of the pointer indicates scroll-speed}
\label{GrownCandy}
\end{center}
\end{figure}

In the rate-based systems used in modern versions of Microsoft Windows, clicking the middle mouse button of a three-button mouse places a double headed arrow at the current position on the screen and rate-based scrolling occurs with that as the reference point. As the user moves the pointer, the moving pointer takes the form of an arrow and its distance from the reference point indicates scrolling speed. 

The zoom-centre system explored one possible way in which the displacement of the pointer from the centre of the screen indicated scrolling velocity. We implemented a second similar system which kept the double-arrow symbol in the centre of the screen and allowed the normal mouse pointer vertical freedom --- its distance from the double-arrow indicating scroll-speed. Unfortunately this system suffered from the same failings as the zoom-centre system. Users would focus on the moving pointer and then be surprised when the system did not zoom in there.

A second option investigated was to have the pointer grow in size to indicate speed. See Figure \ref{GrownCandy} for an image of this. This possibility suffers from the same problem as the zoom-centre system. The users eyes are be drawn to the ``moving'' cursor --- since the end of it is growing. They expect the system to zoom in on the end of the overgrown pointer.

Our conclusion is that it is preferable to give no indicator of scrolling speed. We found that it is best if nothing on the screen is moving or changing which might in any way distract the user from the information flow and their targeting. We believe that the information flow of the document itself provides an adequate gauge of the scrolling velocity and conveys it more naturally than any arbitrary scale we could devise. Thus, the system used in our formal evaluation gives no indication of scrolling speed.

\subsection{Mouse Buttons}

The implementation of SDAZ by \citename{cs:1} involved pressing and holding the left mouse button while moving the mouse. According to \citeasnoun{msb:1}, such dragging is slower and more difficult than normal pointing. This suggests that the system could be improved by having the user move the mouse freely rather than dragging with it.

We developed a modal interface where clicking invokes the zoom mode and clicking again ends it. Another example of such an interface is the ``second mode'' of the Microsoft IntelliMouse$^{TM}$  described by \citeasnoun{zss:1}.

During our user evaluations we noticed that a lot of our users were doing excessive clicking as a result of this. When acquiring a target, users generally miss the first time by half a page or so and then require a second scrolling movement to reach their target. In this second movement they are travelling only a short distance, and forcing them to click twice in order to do this (once to start scrolling and once to end it) seems excessive. We therefore decided to have our system support both the modal and the dragging behaviours.

\citename{cs:1} told their participants to use the left mouse button in their evaluation in order to invoke scrolling (though their system actually supported scrolling with any button). We believe that most applications will use the left mouse button already for a purpose other than scrolling. The left mouse button is typically used for issuing commands such as the clicking of a button, the relocation of the cursor, the selection of text, or the following of a hyperlink. The right mouse button typically invokes a context sensitive pop-up menu. Hence we decided to use the middle mouse button for scrolling in our system.

The decision to support both behaviours using the middle mouse button means our system is equivalent in these respects to the standard functionality of the middle mouse button in modern Microsoft Windows$^{TM}$ systems (such as XP) --- which invokes rate-based scrolling on a middle-button press with support for both the modal and dragging behaviours.

\section{Final Settings}

We feel it is helpful to give a complete listing of the settings used in the calibration. Table \ref{calsettingstable} lists the different settings of the SDAZ system. For comparison purposes we have included what we know about the settings used by \citename{cs:1} and \citename{ih:1} in their evaluations. As already noted, neither group comments much in their published work about what settings they used. However we have been able to obtain privately the information about the settings used by \citename{cs:1} and we publish it here. What we know of \citename{ih:1}'s settings we have included in this table for the sake of completeness.
%\newpage
\begin{table}[!hb]
\setlength{\tabcolsep}{1mm}
\small
\begin{center}
\begin{tabular}{l|c|c|c}
Setting & Wallace & \citename{cs:1} & \citename{ih:1} \\[1mm]
\hline
&&&\\[0mm]
Threshold (Th) & 1.5 & 1.5 & ---\\[3mm]
Max Zoom Level & 10 & 6.6 & ---\\[3mm]
Disp $\to$ DS Mapping & Linear & Linear & Exponential \\[3mm]
 & $DS=0.05$Disp & $DS=0.05$Disp & $DS=A * B^{\frac{Th-Disp}{Th-C}}$ \hspace{1mm}\footnotemark\\[3mm]
DS $\to$ Mag Mapping & Modified Exponential & Linear & Linear\\[3mm]
 & $M=10-9e^{0.23(Th-DS)}$ & $M=0.94DS-0.4$ & ---\\ [3mm]
Falling Rate & $\frac{\delta(Mag)}{\delta(t)} = 10 * Mag$ & $\frac{\delta(Mag)}{\delta(t)} = 6.7$ & ---\\[3mm]
Zoom-In Restriction & $\frac{\delta(Mag)}{\delta(t)} \leq 3 * Mag$ & None & Same as falling rate\\[3mm]
Zero Order Aiding & None & None & None\\[3mm]
Initial Pointer Location & Centre & Centre & ---\\[3mm]
Pointer Freedom & Fixed & Free & ---\\[3mm]
Zoom Location & Centre & Centre & ---\\[3mm]
Speed Indication & None & Info Area & Info Area\\[3mm]
Mouse Button & Middle & Any & ---\\[3mm]
Mouse Interaction & Modal and Drag & Drag & ---\\[3mm]
\end{tabular}
\caption{The settings of the different SDAZ systems}
\label{calsettingstable}
\end{center}
\end{table}
\normalsize

\footnotetext{A, B and C are unspecified constants. B is the inverse of the unspecified maximum zoom level, and C represents the maximum displacement of the mouse.}
