# Adaptive Kinetic Scrolling: Kinetic Scrolling for Large Datasets on Mobile Devices
## 3 Adaptive Kinetic Scrolling
### Adaptive Kinetic Scrolling Trigger  
As mentioned above, our proposed scrolling technique amplifies the speed of kinetic scrolling to rapidly access specific data that is far away from the current position of the viewport. Therefore, AKS is only triggered in specific situations. Because AKS is a technique that amplifies the scrolling speed, the possibility of an overshoot while scrolling may increase. To prevent this type of side effect, a method to detect the user's intention to shift to target data distant from the current viewport is proposed. We defined a trigger condition to activate AKS to allow for this process.  
In this study, we estimate the target distance based on the actions of the user. According to available research [20], users apply an \"open-loop\" action that does not depend on visual feedback to acquire a target rapidly when the target distance from the current position is considerable. In other words, users will scroll very rapidly without relying on sensory information when the distance from the target is sufficiently large. We use these user behaviors to define the condition in which the scrolling speed is amplified. In addition, we use the clutch time to read the intention of the users. Clutching is an action in which the users lift their finger from the touch screen and reposition it in the air. This clutch time indicates the time interval between scrolling actions. With a touch-based device, the clutch time is a reliable indicator of the intended scrolling velocity, with users increasing their gesture frequency to express a desire for faster scrolling [27]. In other words, a short clutch time implies that the user is repeatedly scrolling rapidly.  
In summary, if a user wishes to scroll rapidly, the clutch time will be short; we will use this indicator to determine the case in which the user assumes that the target data is far away from the present position. Figure 1 shows the AKS as a state machine with a trigger condition.  
In the \"idle\" state, where there is no input, when the user touches the screen for scrolling, it enters the \"ready\" state. Subsequently, the screen shifts according to the drag, and it is in the \"scroll\" state. When the user releases the finger from the screen after the scrolling is completed, auto scrolling is performed owing to the kinetic effect. Then, the speed decreases over time, and the screen enters the \"idle\" state again.  
AKS overrides the available \"autoscroll\" state under certain conditions. Our approach is designed to rapidly access the target information, assuming that the user knows the approximate location of the information. We designed AKS to activate when the clutch time observed is below the threshold (constant C in Figure 1), that is, when the user attempts to scroll very rapidly (see (B) in Figure 1). This constant C is determined empirically. The user's cognition and action are affected by various external factors such as the size of the device's viewport, GUI, and contents. Therefore, the threshold must be empirically determined for each environment. In Section 4.3, we discuss the procedure for determining the threshold value in more detail.  
In addition, such user characteristics are relevant only if the user is familiar with the data or if the data is organized in a standard format (such as in form of alphabetical or numerical ordering) [20]. Our study covers only this type of environment. If the user is unfamiliar with the scrolling data, the observed target-acquisition time becomes linear with the target distance because all actions are performed based on sensory feedback. In this case, it is not feasible to apply rapid scrolling.