Abstract
Background
Traditionally synchronous access strategies require users to comply with one or more time constraints in order to communicate intent with a binary humanmachine interface (e.g., mechanical, gestural or neural switches). Asynchronous access methods are preferable, but have not been used with binary interfaces in the control of devices that require more than two commands to be successfully operated.
Methods
We present the mathematical development and evaluation of a novel asynchronous access method that may be used to translate sporadic activations of binary interfaces into distinct outcomes for the control of devices requiring an arbitrary number of commands to be controlled. With this method, users are required to activate their interfaces only when the device under control behaves erroneously. Then, a recursive algorithm, incorporating contextual assumptions relevant to all possible outcomes, is used to obtain an informed estimate of user intention. We evaluate this method by simulating a control task requiring a series of target commands to be tracked by a model user.
Results
When compared to a random selection, the proposed asynchronous access method offers a significant reduction in the number of interface activations required from the user.
Conclusion
This novel access method offers a variety of advantages over traditionally synchronous access strategies and may be adapted to a wide variety of contexts, with primary relevance to applications involving direct object manipulation.
Background
Many Disabled individuals require custom interfaces that enable them to access the devices they may wish to control. When appropriately designed, such interfaces take advantage of the user's known abilities, while eliminating reliance on onerous operational requirements. Thus, the design of appropriate user interfaces for Disabled individuals involves a process of understanding the needs, challenges and abilities of each user. In order to facilitate this process, it is necessary to count on widely available and highly adaptable tools that may be customized and combined in order to obtain the most appropriate solutions in each case. One such tool is the binary interface (commonly represented as a button or a switch), which, due to its simplicity and adaptability, has become a ubiquitous resource to overcome barriers to access for Disabled people.
A binary interface is formally defined as a device that may present only one of two distinct and stable states at any given time (e.g., on/off), which may be used to convey information between two entities [1]. Moreover, according to basic principles of information theory, binary interfaces are in fact the simplest possible means through which a user may communicate intent, since they represent the basic unit of information, namely, the binary digit or bit [2]. Therefore, binary interfaces may also be termed minimal interfaces. Minimal interfaces for Disabled users include other means of communication characterized by a low information storage (i.e., memory) capacity, this is the case, for example, with most braincomputer interfaces (BCI) currently available [3,4].
The problem of binary access
In order to communicate intent through a binary interface, a user must be able to intentionally determine, whenever necessary, which of the two possible states the interface should present. Thus, for example, in the case of a button, the user must be able to intentionally perform the mechanical actions required to press and release the button. Other binary interfaces may, for example, exploit the user's ability to produce a gesture [5] or blink [6] at will.
More recently, researchers have explored the detection of voluntary changes in physiological activity, such as brain [7] or electrodermal activity [8], in order to obtain a few distinct and repeatable patterns that, similarly to binary interfaces, may be used to communicate intent. These novel approaches may provide a means of access for those users whose intent may not be understood otherwise. Some of these physiological interfaces, although still minimal, are capable of respresenting more than 1 bit of information at once, however, due to a variety of design, measurement and contextual challenges, their implementation is generally simpler and more effective when only a binary mode of use is required.
In spite of all these advantages, binary interfaces also present significant limitations that preclude their use in a wide variety of access and control applications. Evidently, the binary nature of these interfaces makes them an ideal solution for the control of devices with intentional spaces that present only a dyad of possibilities (e.g., closeopen, updown, etc.) However, when access to more than two distinct outcomes is required for the successful control of a device, the limitations of the binary interface become immediately apparent. Figure 1 depicts this dilemma where a user is required to control a complex device by means of a binary interface.
Figure 1. The problem of access with binary interfaces. A user is required to communicate intent, by means of a binary interface, to a device capable of more than two outcomes.
Protocolbased binary access
Consider the set S = {s_{0}, s_{1}, s_{2},...,s_{ς1}} containing all ς states available in a typical interface. Note that, with a binary interface, ς = 2. This interface, is used to access the set C = {c_{0}, c_{1}, c_{2},..., c_{κ1}} of size κ, containing all possible outcomes available for selection. The initial limitation of the case κ > ς is typically overcome by the implementation of a timebound protocol that enables the generation of a new set S_{T }= {f_{0}(t), f_{1}(t), f_{2}(t),...,f_{κ1}(t)} where each element f_{i}(t) ∈ S_{T }is a timedependent function composed by a unique sequence of channel states s_{i }∈ S with duration T . This timebased coding enables the direct mapping of each member f_{i}(t), of the newly created set of functions S_{T}, to a unique message c_{i }∈ C. Figure 2 shows two sample periodic state sequences f_{i}(t) used to communicate messages through a binary interface (i.e., ς = 2). The top sequence represents the hexadecimal number 9A_{HEX }as defined by the RS232 serial communication protocol. The bottom sequence represents the letter 'X' as defined by the Morse code. Evidently, there are significant similarities between early electronic communication challenges and the use of binary interfaces by Disabled users. These similarities were quickly identified by interface designers who transferred the application of timebound communication protocols to the implementation of access solutions for the Disabled. In fact, Morsebased communication and computer access methods are still being actively researched [9,10].
Figure 2. Sample state sequences f_{i}(t) used to communicate a particular message through a binary channel. The top trace represents the hexadecimal number 9A_{16 }in the RS232 serial communication protocol. The bottom trace represents the letter 'X' in Morse code.
There are, however, some significant disadvantages with the use of timebound protocols in the control of a device by a human operator. These stem mainly from the fact that both the transmitting and the receiving end must comply with the protocol used in the communication process. This requires users to either memorize all pairs {f_{i}(t), c_{i}} mapping every device outcome c_{i }∈ C to its corresponding sequence f_{i}(t) ∈ S_{T}, or learn the timecoding rule g(t) : f_{i}(t) → c_{i }that may be used to generate the ith sequence f_{i}(t) ∈ S_{T }corresponding to the desired outcome c_{i }∈ C. Evidently, depending on individual abilities, this requirement will affect different users to varying degrees. However, the number κ of device outcomes that can be made available to the user will be largely limited by the user's memory capacity as well as the complexity of the protocol. Therefore, this requirement will impose, in all cases, an upper boundary κ_{max }on κ (i.e., κ ≤ κ_{max}).
Scanningbased binary access
In order to maximize the value of κ_{max}, feedback systems with varying degrees of complexity have also been developed. Some of these are designed to remind the user of the protocol's guidelines [11], while others, relying on periodic sensory cues, may completely eliminate the need for memorization [12]. This latter category includes all scanning access methods, commonly used by Disabled people nowadays. With scanning methods, all possible outcomes are presented to the user, at once, by means of a sensory pathway (usually visual and/or auditory). During operation, the outcomes are automatically highlighted, one by one, at a given rate according to the user's abilities. In order to indicate intent, users are required to activate the binary interface whenever their desired outcome is highlighted. This process results in the generation of timedependent sequences f_{i}(t) similar to the ones depicted in Figure 2. However, in contrast to the protocols formerly described, there is far more tolerance for variance in the period T during which the state of the interface must be maintained. Furthermore, because scanning methods rely mostly on the feedback information about the state of the scanning process presented to the user, there are usually sequences f_{i}(t) ∈ S_{T }that correspond to more than one outcome c_{i }∈ C. These characteristics make scanning methods accessible to a wider variety of users and extend the range of potential applications beyond those available with the more formal protocols described above. However, scanning access methods still present a significant drawback: the timing of the interaction is controlled by an automatic agent, not by the user. Thus, even after the user has already decided on the intended outcome, (s)he must still wait until this outcome is highlighted by the automated scanning process in order to communicate the intention. A variety of strategies have been proposed to optimize this process and therefore reduce the time required for the intended outcome to be selected [12,13], however, the basic principle remains the same. As a result, with scanning access methods, it is time, rather than memory capacity or protocol complexity, that limits the maximum number, κ_{max}, of device outcomes that can be made accessible to the user.
Synchronous vs. asynchronous binary access
Because of the external time constraints imposed on the user, both protocolbased and scanningbased access methods are more generally defined as synchronous in the study of human machine interfaces (HMI). Within this field, a synchronous access strategy may be defined as a method that requires users to comply with one or more time constraints in order to communicate intent with a minimal interface. This implies that, with synchronous access strategies, there will always be an additional delay in the process of selection of the intended outcome.
Conversely, asynchronous access methods do not place any time constraints on the users. Thus, users may initiate control of the device at any time without having to wait for external cues. Furthermore, no protocols are necessary because a single interface activation is sufficient to transmit a full unambiguous message to the device under control. Therefore, there is no additional delay in the selection of the intended outcome. When using binary interfaces, this is easily achievable when the intention space only presents two possibilities. That is, when the number of possible device outcomes is κ = 2.
Consider, for example, a wall switch with states S = {s_{0 }: UP, s_{1 }: DOWN} used to select one of the two possible outcomes C = {c_{0 }: ON, c_{1 }: OFF} of a light bulb. In this case, it is possible to map directly each outcome c_{i }∈ C with a particular interface state s_{i }∈ S in order to establish a suitable control strategy:
According to Equation (1), every time the position of the wall switch changes, the behavior of the light bulb will change accordingly. Thus, a single change in the wall switch represents a full, unambiguous command sent to the light bulb, allowing the latter to respond immediately.
It has always been assumed that this kind of asynchronous access is impossible in cases where the number κ of outcomes C required to control a device is greater than the number ς of states S available in the interface. However, the method presented in this paper may be used with minimal interfaces presenting as few as ς = 2 stable states, in order to access, asynchronously, sets of device outcomes of any size κ ∈ {2, 3, 4,...}. This includes those belonging to analog, as well as multidimensional domains, such as the movement parameters of an object in a 3dimensional space. As a result, a variety of activities not typically available to Disabled users, may now be made accessible to them.
In the following sections, we provide details on the mathematical development of the proposed method for asynchronous access, the necessary guidelines for its implementation, and an initial evaluation based on a simulated control task. Our concluding remarks and suggestions for future work, are summarized in latter sections.
A new method for asynchronous binary access
To present the proposed method for asynchronous access, we will initially focus on the case where a binary interface must be used to access a set of outcomes of arbitrary size, in order to control a particular device or perform a specific task. It is important to note that this analysis was originally prompted by the solution of a specific access challenge, namely, the development of an appropriate strategy to facilitate binary navigation control. In the context of disability engineering, binary navigation control consists of enabling users to voluntarily define and/or modify the motion parameters of an object in space, at any time, by means of a binary interface. Binary navigation control is thus required to enable most activities involving object manipulation with binary interfaces (e.g., singleswitch drawing). Many such activities are currently inaccessible to binary and other minimal interface users. For example, when defining suitable alternatives for computer access, Shein (1997) described singleswitch, computeraided drawing as an exceptionally challenging activity that, unlike many other computerrelated tasks, may not be broken into predictable sequences accessible through standard synchronous methods [14].
Consider a user who attempts to employ a single button (singleswitch) to access a device requiring a set C of κ > 2 outcomes. The button, in turn, presents only ς = 2 possible states S = {s_{0 }: released, s_{1 }: pressed}. Thus, a simple mapping strategy such as the one shown in Equation (1) may not be used.
Initially, we may define the transition from state s_{0 }to state s_{1 }(i.e., a button press) as an intentional, userprompted change in the interface. We will call this event ϵ. For the sake of simplicity, we will assume that the opposite transition (i.e., a button release) is not an intentional event and thus, will not represent a change in the interface.
According to the principle of asynchronous access described above, every time ϵ occurs, the behavior of the device must be changed. In other words, a new device outcome c ∈ C must be selected. Note that this principle suggests that the event ϵ is only necessary when the behavior of the device is unacceptable to the user since this would be the only instance where a change in the behavior of the device would be welcome. Conversely, if the behavior of the device is already consistent with the user's intention, the event ϵ is not required. In other words, in our example, the button should be used to indicate the presence of unacceptable behaviors (i.e., errors) in the device through the intentional generation of events ϵ.
Let n be the count of consecutive events ϵ, and c_{[n] }∈ C the device outcome chosen in response to the nth occurrence of ϵ. The fundamental principle of asynchronous access may then be simply defined as:
This principle states that when the nth event ϵ occurs, the resulting device outcome c_{[n] }must be different from the outcome c_{[n1] }preceding it. We call this principle a negative acknowledgement (NAK) signaling process because the user is required to activate the interface only when the device behaves erroneously. This term has been borrowed from the analogous error detection, outofband, signaling system for error control, often used in telecommunications [15], which, because of its simplicity, has been shown to reduce the communication costs (in terms of time and bandwidth) in environments with significant processing constraints [16].
The exclusion mask
With the exception of Equation (2), there is no additional information that could help us determine, precisely, which of the remaining elements c ≠ c_{[n1] }of C should be selected as the outcome c_{[n]}. The top trace in Figure 3 shows an alternative graphical representation of this knowledge, which may be formally defined as
Figure 3. Sample spatial exclusion masks (c). The top mask represents the fundamental knowledge implied by the principle of asynchronous access. Because of its maximum value (c = c_{[n1]}) = 1, the element c_{[n1] }cannot be chosen when selecting a new device outcome c_{[n]}. The bottom mask represents the assumption that outcomes similar to c_{[n1] }should also be excluded from the selection of c_{[n]}.
Here, the element c_{[n1] }is assigned a maximum value of (c = c_{[n1]}) = 1. This value represents an absolute certainty that c_{[n1] }should be excluded from the selection of the device behavior c_{[n] }as stated in Equation (2). Conversely, all other elements share the minimum value (c ≠ c_{[n1]}) = 0, which represents absolute uncertainty about their possibility of exclusion from the selection of c_{[n]}. Thus, (c), which may only take values in the range [0, 1], constitutes a numerical representation of the certainty of exclusion of a given outcome c ∈ C from the selection of c_{[n]}. In other words, (c) may be used to describe a range of assumptions (from weak (c) ≃ 0 to strong (c) ≃ 1) regarding the unsuitability of outcomes in the choice c_{[n]}. This function will be termed the spatial exclusion mask of c_{[n]}.
The representation of the NAK principle in Equation (2) by means of the spatial exclusion mask (c) may initially seem unnecessary. However, as it will be demonstrated in the following sections, this mask introduces a framework for the numerical representation of contextual knowledge that may be used to optimize the choice c_{[n] }in response to a single binary event ϵ.
Spatial assumptions
In any typical access problem, it is expected that the set of outcomes required to control a device may be numerically arranged in a domain where the distance between similar outcomes is shorter than the distance between dissimilar ones. In that case, outcomes in the neighborhood of c_{[n1] }would be expected to resemble c_{[n1]}. This expectation has an important implication in the definition of the spatial exclusion mask (c) because it suggests that all those outcomes near (i.e., similar to) c_{[n1] }should also be given high (i.e., (c) ≃ 1) values of exclusion from the selection of the outcome c_{[n]}. This is because it may be assumed that outcomes in the neighborhood of c_{[n1] }are too similar to c_{[n1] }to cause a significant change in the behavior of the device. This assumption, however, is not as certain as the fundamental principle in Equation (2), because it is not directly implied by the event ϵ. Moreover, the certainty of this assumption should be lower for outcomes that are far apart from c_{[n1] }than for outcomes that are closer to c_{[n1]}. Thus, a suitable spatial exclusion mask (c) representing these assumptions may be:
where r =c  c_{[n1] } is the distance between a given outcome c ∈ C and the outcome c_{[n1] }∈ C preceding the nth event ϵ. In turn, α_{s }is a positive integer used to define the support boundaries c_{[n1] }± α_{s }of (c). The bottom trace in Figure 3 depicts the updated spatial exclusion mask defined in Equation (4). Note that in the limit α_{s }→ 0, Equation (4) will become Equation (3) as depicted by the top trace in Figure 3.
Evidently, the introduction of the exclusion mask (c) suggests that the best choice of c_{[n] }will be the element c ∈ C that minimizes (c) (i.e., c_{[n] }= argmin (c)). In both cases presented (Figure 3), there is more than one element c that fulfills this condition, thus, the selection of c_{[n] }is still ambiguous. However, note that the updated mask (c) described in Equation (4) reduces the number of eligible outcomes c ∈ C to those that lie beyond the support limits c_{[n1] }± α_{s }of the spatial exclusion mask. In fact, if α_{s }is large enough, a unique solution may be found. The significance of this reduction in the number of eligible outcomes for the choice c_{[n] }will be evident in later discussions. In the meanwhile, note that any function (c) with support limits c_{[n1] }± α_{s }that decreases monotonically from c_{[n1] }to c_{[n1] }± α_{s}, may be used to represent the spatial assumptions described above.
Temporal assumptions
The spatial exclusion mask (c) in Equation (4) represents a series of assumptions, with varying degrees of certainty, that outcomes in the spatial neighborhood of c_{[n1] }should not be eligible in the selection of the subsequent device behavior c_{ [n]}. Similarly, these assumptions may be extended, starting with the outcome c_{[n1]}, back in time throughout the past history {c_{[n2]}, c_{[n3]}, c_{[n4]},...} of selected outcomes. Thus, as in the spatial case, outcomes in the temporal neighborhood of c_{[n1] }(i.e., immediately preceding c_{[n1]}) should also share a high value of exclusion from the choice c_{[n]}, while outcomes that belong to the remote past history of c_{[n1] }should be assigned lower values. This is because we may assume that if the recently chosen outcome c_{[n1] }has already been excluded, there is a high level of certainty that this outcome will not be desired in the near future. However, over time, this outcome should be made available. Evidently, extending this assumption through time requires a memory process that enables the storage of historical information on all outcomes preceding the nth event ϵ. This information must then be available at the time t_{[n]}, when this event occurs, in order to inform the selection of c_{[n]}. The spatial exclusion mask (c), introduced above, cannot be employed for this purpose since it only describes assumptions valid at t_{[n] }without providing any means to describe assumptions associated with the set of past events {n1, n2, n3,...}. Thus, an additional mechanism that enables the incorporation of historical information in the choice c_{[n] }becomes necessary.
The exclusion estimate
Consider the function ϒ(c, t) depicted in the discrete time sequence presented in Figure 4. This function describes the viscoelastic deformation of the 1dimensional domain composed of all elements c ∈ C. The figure shows parallel bands representing the state of the domain at regular time intervals. In order to elucidate the progression of time, the bands have been colored from dark to clear corresponding to the transition from older to more recent states of the domain. We will assume ϒ(c, t) has been left undisturbed for a long time t <t_{[n]}allowing it to maintain its natural at state (i.e., ϒ(c, t <t_{[n]}) = 0 for all possible outcomes c ∈ C). Then, at a given time t = t_{[n]}, the domain is subject to a deformation (c) as depicted by the bottom trace in Figure 3. By definition, the viscoelastic deformation process would allow ϒ(c, t) to recover its natural state. However, as depicted by subsequent bands, this will only happen gradually over time.
Figure 4. A discrete time sequence of the viscoelastic deformation of the 1dimensional domain C depicted by function ϒ(c, t). The deformation (c), occurring at time t_{[n]}, experiences a steady decay over time.
The sequence in Figure 4 depicts the temporal memory effect inherent to the mechanical property of viscoelasticity. Note that this property fulfills the requirements stated in the previous section for the incorporation of temporal assumptions in the choice c_{[n]}. In particular, in the context of asynchronous access, the deformation ϒ(c, t) subject to consecutive disturbances (c), would allow recent assumptions (c) (i.e., those in the temporal neighborhood of c_{[n1]}) to be assigned higher values of exclusion than former ones. In other words, the function ϒ(c, t) may be used to record the the full set of historical assumptions represented by all spatial exclusion masks preceding the nth event ϵ. A simple recursive algorithm may be used to represent this process.
Let Δt be the period between the time t_{[n] }of the nth event ϵ and the time t_{[n1] }of the preceding event, that is
and ϒ_{[n]}(c) the function ϒ(c, t) evaluated at time t_{[n]}, that is
The spatial and temporal assumptions previously introduced may then be represented, simultaneously, as the occurrence of disturbances (c) on ϒ_{[n]}(c) with viscoelastic decay (Δt)
We will refer to ϒ_{[n]}(c) in Equation (7) as the exclusion estimate of the current choice c_{[n]}. Note that, ϒ_{[n]}(c) is defined recursively in terms of the exclusion estimate ϒ_{[n1]}(c) of the previous choice c_{[n1]}. All functions ϒ, and are constrained to the range [0, 1]. The function (Δt), used to apply a viscoelastic decay on ϒ_{[n1]}(c), should decrease monotonically with increasing values of Δt. A suitable choice for (Δ(t) may thus be the family of functions
where τ is a time constant always greater than zero. The exponential decay described in Equation (8) derives from the behavior of real viscoelastic systems such as the discharge of an electric capacitor or the restoration of a mechanical shock absorber [17]. In all these cases, the constant τ is termed the viscoelastic constant and it is directly proportional to the duration of the viscoelastic restoration of ϒ_{[n]}(c).
Note that (c) and (Δt) are weighting functions acting on the spatial and temporal domains, respectively, of the exclusion estimate ϒ_{[n]}(c). While the spatial exclusion mask (c) ensures that outcomes similar to c_{[n1] }are excluded from the choice c_{[n]}, the function (Δt) ensures that recent exclusion estimates ϒ(c, t) are remembered while old ones are forgotten. Thus, (Δt) is our temporal exclusion mask. Note that the support of (Δt) is defined for values in the range [0, α_{t}] with α_{t }> 0. In the case of the family of functions in Equation (8), α_{t }= ∞.
The definition of the exclusion estimate ϒ_{[n]}(c) in Equation (7), which now integrates spatial and temporal assumptions, suggests that the best possible choice of c_{[n] }should be the element c ∈ C that minimizes ϒ_{[n]}(c). Thus,
Figure 5 shows a discrete time sequence of the evolution of ϒ(c, t), according to Equation (9), where three different events ϵ occur at consecutive times. Note that it has taken only two events ϵ, with corresponding exclusion masks (c) and (c), for ϒ(c, t) to converge from a state of absolute uncertainty for t <t_{[n2]}, to a unique solution c_{[n1] }at t = t_{[n1]}.
Figure 5. Discrete time sequence of the evolution of the exclusion estimate ϒ(c, t) according to Equation (9). Three consecutive events ϵ are presented at different intervals.
Equation (9) summarizes the decision process proposed for the asynchronous selection of a new device outcome c_{[n] }∈ C in response to a single binary event ϵ, consisting, in our example of singleswitch access, of an intentional button press. Thanks to the assumptions incorporated in (c) and (Δt), the number of eligible device outcomes in the choice c_{[n] }is significantly reduced. In fact, with the appropriate parameters, Equation (9) will consistently converge to a unique solution soon after the interaction between the user and the device under control is initiated.
The process for asynchronous access presented here incorporates a number of desirable properties that make it easy to implement and adaptable to a wide variety of contexts. Among these properties are:
• There are no restrictions on the time at which a particular event ϵ may occur. For users, this translates into the ability to respond immediately to a change in their intentions or an unexpected external disturbance on the device under control.
• The recursive nature of the exclusion estimate ϒ_{[n]}(c) eliminates the need for the implicit calculation of the effects of the set of historical assumptions on the selection of c_{[n]}, thus reducing the processing power and memory storage capacity required for the implementation of the proposed method for asynchronous access.
• There is no limit on the number κ of outcomes C that may be made available to the user through this method. In fact, the set C may be defined as a continuous interval of all possible real valued outcomes c ∈ [c_{min}, c_{max}], where c_{min }and c_{max }are the lower and upper boundaries of C, respectively. Evidently, in this case, κ = ∞.
Summary
1. According to Equation (2), when the nth event ϵ occurs, the device outcome c_{ [n] }must be different from the outcome c_{ [n1] }immediately preceding it. In other words, there is absolute certainty that c_{ [n1] }should be excluded from the selection of c_{ [n]}. Thus, the event ϵ, which represents a voluntary, userprompted change in the interface, should be employed by users as an error indicator. This requires users to generate events ϵ every time the behavior of the device is inconsistent with their intentions.
2. Even though the exclusion principle in Equation (2) is the only knowledge implied, with absolute certainty, by the occurrence of event ϵ, it is also possible to assume, although with a lower degree of certainty, that behaviors similar to c_{[n1] }should also be excluded from the selection of c_{[n]}. This assumption is defined by the spatial exclusion mask (c), a function with values in the range [0, 1] and support c_{[n1] }± α_{s}, decreasing monotonically from (c = c_{[n1]) }= 1 (i.e., the strongest assumption of exclusion) to (c = c_{[n1] }± α_{s}) (i.e., the weakest assumption of exclusion) as candidate outcomes c ∈ C become decreasingly similar to c_{[n1]}.
3. It may also be assumed that device outcomes resulting from recent selections (i.e., immediately preceding the nth event ϵ), should be excluded from the selection of c_{[n]}, while outcomes that belong to the remote past of n should become eligible. The incorporation of this assumption is made possible through the introduction of the exclusion estimate ϒ_{[n]}(c) and the temporal exclusion mask (Δt), where Δt is, according to Equation (5), the period between the time t_{[n] }of the nth event and the time t_{[n1] }of its predecessor. According to Equation (7), the exclusion estimate ϒ_{[n]}(c), which is recursively defined in terms of the exclusion estimate ϒ_{[n1]}(c) of the preceding event, acts as a viscoelastic domain storing the set of historical deformations subject to a viscoelastic decay described by the temporal exclusion mask (Δt). Thus, (Δt) must decrease monotonically from (Δt = 0) = 1 to (Δt = ∞) = 0. Note that the functions (c) and (Δt) act as weighting masks on ϒ_{[n]}(c) updating the certainty of exclusion, from the choice c_{[n]}, for every candidate outcome c ∈ C, according to reasonable spatial and temporal assumptions, respectively.
4. Once the exclusion estimate ϒ_{[n]}(c) is calculated, it will be possible to make an informed decision regarding the best possible choice of c_{[n] }∈ C according to Equation (9).
Implementing the proposed method
In order to successfully implement the method for asynchronous binary access presented above, some additional considerations are required.
Initialization
Note that the decision process described in Equation (9) does not specify the characteristics of the exclusion estimate ϒ_{[0]}(c) before the first (i.e., n = 1) event ϵ is generated by the user. In fact, there is no information regarding the value of the initial device outcome c _{[0] }either, and without this knowledge, the recursive process described in Equation (7) may not be initialized. Thus, even before the user initiates interaction with the device, a virtual selection c_{[0] }must be made. Similarly to the case where the concept of viscoelasticity was first introduced, we may assume that before the first userprompted event (i.e., t <t_{[1]}) the exclusion estimate had been left undisturbed for a long time, thus allowing it to recover its natural flat state. That is, ϒ_{[0]}(c) = 0 for all outcomes c_{[0] }= c ∈ C. Moreover, since all values c ∈ C fulfill the condition in Equation (9), we would then be obliged to draw c_{[0] }from a uniform distribution of C. Consequently, this random selection of c_{[0] }may be used to initialize the decision process Equation (9). Note that it is not necessary to communicate the virtual choice c_{[0] }to the device under control. Thus, the device may remain undisturbed until after the first userprompted event ϵ occurs. In this case, the virtual choice c_{[0] }will only be used to obtain the first exclusion mask (c) at t_{[1]}, enabling the calculation of the estimate ϒ_{[1]}(c). The resulting outcome c_{[1] }will then be the first to affect the device's behavior. From the perspective of the user, it will appear that the outcome c_{[1] }has been drawn randomly from a uniform distribution. However, as explained here, this is only the case for the virtual choice c_{ [0]}, since, according to Equation (9) c_{[1] }will be drawn from a more restricted distribution where a subset of the elements c ∈ C (i.e., ~ c_{[0] }± α_{s}) have already been excluded.
An alternative (and, in fact, more useful) procedure consists of initializing ϒ_{[0]}(c) with random white noise in the interval of real numbers [0, 1]. This minimizes the probability of having multiple candidates for the virtual choice c_{[0]}, since it is expected that, after this initialization, ϒ_{[0]}(c) will present a unique minimum value, which may then constitute the virtual choice c_{[0]}. The advantage of this method over the one initially proposed, resides in the fact that with the latter, ϒ_{[n]}(c) will more likely converge to a unique solution from the beginning (i.e., n = 1) of the interaction. In fact, this also allows for the prediction of future selections of c_{[n] }∈ C with a significant degree of confidence.
Anchorage
If the viscoelastic constant τ is too long, or a significant number of events ϵ occur in a short amount of time, the exclusion estimate ϒ_{[n]}(c) may accumulate constant offsets from previous, but still remembered deformations (c). Due to the discretization process inherent to any numerical implementation of the proposed method (e.g., on a computer), this offset accumulation may in fact cause saturation of the exclusion mask ϒ_{[n]}(c). That is, ϒ_{[n]}(c) ≃ 1 for all outcomes c ∈ C. If saturation occurs, the information storage capacity of the exclusion estimate will be completely eliminated, thus, preventing the selection of reasonable outcomes c_{ [n] }derived from the spatial and temporal assumptions introduced before.
In order to prevent the occurrence of saturation, constant offsets must be eliminated at all times from the exclusion estimate ϒ_{[n]}(c). This may be achieved by subtracting the value of ϒ_{[n]}(c = c_{[n]}) from the function ϒ_{[n]}(c). That is
where ϒ_{[n]}(c = c_{[n]}) is the value of ϒ_{[n]}(c) evaluated at the recently obtained outcome c_{[n]}. Evidently, if ϒ_{[n]}(c = c_{[n]}) is already zero, Equation (10) will have no effect on ϒ_{[n]}(c). This process of elimination of the offset of the exclusion estimate ϒ_{[n]}(c) is termed anchorage. The process of anchorage has no effect on the decision c_{[n]}, since this decision only depends on the relative exclusion value of a given outcome c ∈ C as compared to the rest of the elements of C.
Algorithm
The following list summarizes the sequential steps required for the implementation of the proposed asynchronous access method.
1. Originally, nothing is known about the intention of the user regarding the behavior of the device. Thus, the exclusion estimate ϒ_{[0]}(c) may be initialized with white noise in the range [0, 1]. This results in the definition of the virtual choice c_{ [0] }and the exclusion mask (c), which precede any user interaction and, therefore, any change in the behavior of the device.
2. When the nth intentional binary event ϵ occurs, the period Δt is calculated according to Equation (5) and used to obtain the decay (Δt) through a suitable function such as Equation (8). Subsequently, the intention estimate ϒ_{[n]}(c) is updated according to Equation (7).
3. The corresponding nth device outcome c_{ [n] }may now be obtained according to Equation (9). This outcome is immediately transmitted to the device which experiences a change in behavior.
4. The exclusion estimate ϒ_{[n]}(c) is anchored according to Equation (10).
5. The exclusion mask (c) is updated to (c) through a suitable function such as Equation (4).
6. For subsequent events ϵ, the process is repeated from (ii) above.
In addition, the fundamental spatial and temporal assumptions require their corresponding exclusion masks (c) and (Δt) to have the following properties:
• The spatial exclusion mask (c) must decrease monotonically from (c = c_{[n1]}) = 1 to (c = c_{[n1] }± α_{s}) = 0. The support of this function will be defined in the range [c_{[n1] } α_{s}, c_{ [n1] }+ α_{s}].
• The temporal exclusion mask (Δt) must decrease monotonically from (Δt = 0) = 1 to (Δt = α_{t}) = 0. The support of this function will be defined in the range [0, α_{t}] where α_{t }> 0.
Note that although these assumptions are reasonable given the access problem proposed, there is no limit to the number and/or kind of assumptions that may be incorporated into (c) and (Δt). For example, one could deliberately exclude a particular outcome c_{i }∈ C (i.e., (c_{i}) = 1) or all events occurring before a certain memory threshold Δt_{0 }(i.e., (Δt < Δt_{0}) = 0) in response to some contextual knowledge.
Evaluation
We have presented a method for asynchronous binary access based on the selection of a particular outcome c_{[n] }that may be immediately transmitted to the device under control in response to the single nth binary event ϵ. However, we have not yet given any consideration to the case when the selected outcome c_{[n] }∈ C is inconsistent with the user's intention. This is, in fact, a very likely possibility if we consider that, according to the NAK signaling process previously described, by generating the event ϵ the user is simply requesting a change in the behavior of the device. However, there are no means to specify which of the outcomes c ∈ C will be the most appropriate. Thus, if the outcome c_{[n] }∈ C chosen after the nth event ϵ is unacceptable, the user will be required to generate another event ϵ hoping to obtain the desired outcome with the subsequent choice c_{[n+1] }∈ C. Users will be required to repeat this process until the behavior of the device is consistent with their intention.
For the typical binary interface user, generating the event ϵ will require some kind of effort. Thus, measuring the number of events ϵ required to reach a particular target outcome c_{γ }∈ C would provide a benchmark for the evaluation of the cost associated with the proposed method. Note, however, that this measure arises from a naturally uncertain (i.e., stochastic) process and thus, may only be described in terms of probability.
Let N be the number of intentional binary events ϵ required to reach a series of typical target outcomes c_{γ }∈ C, it is possible to measure the fraction P (N ≤ X) of targets c_{γ }that will require X or less events ϵ to be reached. This is known in probability theory as the cumulative distribution function (CDF) of the random variable N [18].
Figure 6 depicts a sample CDF corresponding to two different processes of selection of a specific outcome c, drawn from a uniformly distributed set C of size κ = 8, in response to consecutive binary events ϵ. Both processes follow a geometric distribution with CDF defined as
Figure 6. Cumulative distribution functions obtained from the process of selection of a given outcome c ∈ C subject to a fractional tolerance σ = 10% of the full range of C. The lower gray trace corresponds to a selection with substitution with probability of success p = 0.1. The middle gray trace corresponds to a selection without substitution p = 0.11 and the upper black trace corresponds to the proposed method for asynchronous access with parameters ω = 0.05, τ = 5}.
where p is the probability of making a correct choice for any given attempt.
The lower trace in Figure 6 (i.e., p = 0.125) results from a selection with substitution where all outcomes c ∈ C are eligible on every trial n. Conversely, the trace with p = 0.143 results from a selection without substitution where the outcome c_{[n1] }is eliminated from the nth trial. This reduction in the number of eligible outcomes in the choice c_{[n] }increases the probability p of making a correct choice at any given trial n. Thus, as indicated by the dashed lines, with the latter process of selection without substitution, there is a marginal gain in the fraction P(N ≤ X) of targets c_{γ }that may be reached with X = 10 or less trials. The process of selection without substitution described above, is identical to the fundamental principle of asynchronous access presented in Equation (2), which describes the selection of a new device outcome c_{[n] }in response to the userprompted event ϵ. Thus, as demonstrated in Figure 6, the incorporation of the knowledge implied by this principle, translates directly into a reduction of the cost associated with the use of the device (i.e., a reduction in the expected number, N, of events ϵ required to reach a target outcome c_{γ}). Similarly, it would be desirable to evaluate the impact that the additional assumptions (c) and (Δt), incorporated in the exclusion estimate ϒ_{[n]}(c), may have on the cost of use of the device.
However, the CDF associated with these assumptions is not easy to obtain since it depends on a variety of parameters specific to the particular context of application. Thus, in order to evaluate the performance of the proposed access method, we completed a series of simulations for a select case of device control by a binary interface user.
Methods
In order to determine the expected impact on the cost of use of a device associated with the proposed method for asynchronous binary access, a Monte Carlo simulation [19] of a simple access task was performed. In this simulated environment, a computer model of a typical user was implemented. This model user was then required to employ a single binary interface in order to select a series of predefined targets c_{γ }from a set C of κ = 100 outcomes required to control a device (e.g. the volume of a TV). It was assumed that the main mode of monitoring the behavior of the device by the model user was visual. Thus, as soon as the model user 'observed' that the behavior of the device was inconsistent with the required target, an intentional event ϵ would be generated. A total of 1000 elements c_{γ }were initially drawn randomly with replacement from C in order to establish the predefined sequence of target outcomes that the user was required to select in order to successfully control the device. It is important to note that real access applications are likely to involve sequences of correlated actions rather than independent ones. Thus, our choice of random, uncorrelated targets represents an extreme case likely to constitute a lower boundary of performance for the proposed access method.
Each target in the sequence was presented to the model user until it was reached. Then, the next target in the sequence was presented, and so on. The objective of this simulation was to measure the number N of intentional events ϵ that would be required from the user in order to reach each target c_{γ}. This process was repeated 6 times for a total of 6000 targets per trial. This number was sufficient to quantify the statistical nature of N and obtain an estimate of its CDF for each case evaluated.
Modelling the user
As mentioned before, it was assumed that the model user was able to monitor the behavior of the device under control through visual means. This process would involve a series of delays as a result of the time required by the user to process the visual information and, if necessary, generate the event ϵ. Thus, in order to obtain an accurate model of the visual reaction time t_{r}, which includes both the visual perception and motor reaction times, an initial experiment was performed with a real user. During this experiment, the real user was requested to respond to simple visual stimuli presented on a computer screen. The stimuli consisted of the appearance of a white circle on a black background after random delays of 1 to 3 seconds. The user was instructed to press a button (defined as the event ϵ) immediately after the stimulus (i.e., the white circle) appeared on the screen. The experiment was performed using the open source software package PXLab, which can be used to accurately measure the user's reaction time t_{r }defined as the period from the presentation of the stimulus, to the generation of the intentional event ϵ. A histogram of the reaction times, t_{r}, was obtained with a total of 100 trials. This histogram was used to represent the model user in the Monte Carlo simulations introduced above. Thus, for each event ϵ, a reaction time, t_{r}, was randomly drawn from the histogram. The expected value of this user's reaction time was ~213 ms, which is consistent with previous research on the topic [20]. Thus, it may be assumed that the statistical model, represented by the histogram obtained, was an accurate estimate of user behavior incorporating the stochastic nature of the interaction between a real user and a device.
Cases for evaluation
According to the proposed method of asynchronous control, there are few restrictions to the definitions of the exclusion masks (c) and (Δt). As a result, there is an infinite number of functions that comply with the basic requirements of both of these functions. We will focus on the evaluation of a single family of functions for each of the exclusion masks defined. These functions have already been introduced and correspond to some of the simpler sets of assumptions that may be made in compliance with the necessary requirements for the linear spatial exclusion mask (c) in Equation (4) and the exponential temporal exclusion mask (Δt) in Equation (8).
Each case for evaluation was defined by a set, , of three parameters:
• The tolerance σ of the choice c_{[n]}. This parameter was used to define a boundary around the target outcome c_{γ }within which the choice c_{[n] }was considered acceptable. In other words, the target outcome c_{γ }was reached if
• The width ω = α_{s }·(c_{max } c_{min})^{1 }of the linear spatial exclusion mask (c). This parameter specified the fraction of the full length of C defining the support boundaries of (c) as defined in Equation (4).
• The viscoelastic constant τ of the temporal exclusion mask (Δt) as defined in Equation (8). This parameter defined the expected size, in seconds, of the memory window of the exclusion estimate ϒ_{[n]}(c).
Table 1 shows the admissible and selected test values for all parameters in . In the context of this simulation, σ represented a requirement of the particular device under control while ω and τ characterized the algorithms employed to enable access to the device. In other words, the simulation evaluated the performance of a number of algorithms described by ω and τ on the solution of particular access problems with a σ requirement. The test values for the parameter set were selected according to generalized but expected contexts of humanmachine interaction, within relatively broad intervals. Thereore, this simulation may only be used to characterize the general properties of the proposed method for asynchronous access. In order to evaluate the performance of this method in specific applications, more complete simulations incorporating the appropriate parameters are necessary.
Table 1. Admissible and test values for the parameter set evaluated
In total, 1976 sets = {σ, ω, τ} were evaluated, and, as mentioned before, each set consisted of 6000 separate trials where the model user was requested to reach a specific target c_{γ }using a single binary interface and the proposed method for asynchronous access.
Performance measure
According to Figure 6, for every possible value of X, the value of the fraction P(N ≤ X) will be higher for algorithms that reduce the cost of access when compared to a simple random selection with substitution. Furthermore, the higher the value P(N ≤ X), the more costeffective the associated algorithm will be. Therefore, if the differences between the corresponding values P(N ≤ X) for a given algorithm and a simple random selection are accumulated over X, it will be possible to obtain an overall score for each of the cases evaluated. We defined the overall score Γ() as
where (N ≤ X) is the CDF obtained for a particular set = {σ, ω, τ}. Note that Γ is a relative measure of performance with reference to a process of random selection with substitution subject to the given tolerance σ . This latter process is captured by the second term in Equation (13) and defined in Equation (11). In the limit X → ∞, both terms of the subtraction tend to 1 thus, in practice, it is only necessary to consider a sufficiently large number for X. For example, in the case presented in Figure 6, the value X = 40 would be an appropriate limit for the summations.
According to Equation (13), positive values of Γ() indicate lower usage costs. Thus, in order to optimize the cost, Γ() must be maximized. Conversely, negative values of Γ() would indicate a disastrous performance (i.e., even worse than a random guess). Finally, a value Γ() = 0 would indicate similar performance between a random guess and the proposed algorithm with the particular parameter set . However, in such cases, the additional complexity of the proposed method would not justify its application. Thus, these sets should also be avoided.
Results and discussion
Figure 6 presents the CDF resulting from a single case = {σ = 0.1, ω = 0.05, τ = 5} as compared to the CDF obtained from a simple selection from a uniform distribution, with (p = 0.1) and without (p = 0.11) substitution, subject to the same tolerance requirement σ = 0.1. Note that, for a given value X = 10, the proposed method provides an advantage in excess of 20% in the fraction (N ≤ X) of trials completed.
Furthermore, this method reaches a maximum value (N ≤ X) = 1 with less than half the events ϵ required by the other selection processes. In other words, the proposed method demands over 50% less effort from the user. With the parameter values specified above, the value of relative performance as defined in Equation (13) was Γ() ≈ 4.25
Figure 7 shows all 1976 cases evaluated. Cases with relative performance values lower than zero were plotted here as Γ() = 0. Note that only a small fraction of cases exhibited this unacceptable value of performance.
Figure 7. Relative performance Γ for all sets of parameters = {σ, ω, τ} evaluated. The viscoelastic constant τ has a negligible effect beyond ~10 . Furthermore, with lower values of tolerance σ, the set of acceptable parameters {ω, τ} is reduced. However, the relative gain Γ may be significantly larger than that obtained with greater tolerances.
As mentioned before, the results of this simulated experiment must be interpreted with care. In particular, we have identified three significant concerns i) a real application is likely to involve other cognitive processes in addition to the simple visual reaction time used here to model the user, ii) the control of a real device is likely to involve a series of correlated targets instead of the independent ones proposed in our experiment, and iii) users can fail trying to activate the interface and cause a delay, but, worst, the user can involuntarily activate it even if (s)he is happy with the current choice.
Regarding the first concern, the reaction time of the user will likely be increased in real applications, stretching the relative performance measure Γ in the τ axis. However, as shown in Figure 7, for all cases, the influence of τ is negligible beyond approximately 10 times the expected user reaction time . Thus, if a sufficiently large τ > 10· is chosen, the performance of the algorithm will not be significantly impacted.
Moreover, with the proposed asynchronous access method, the user must only determine whether the device is behaving erroneously or not. In most cases, this should be obvious to them. Therefore, the actual reaction time may not be significantly longer than the simple visual reaction time considered in this experiment.
In terms of the second concern, the use of uncorrelated targets drawn from a uniform distribution has likely resulted in a lower boundary of performance for the experiments carried on here. In other words, the proposed method for asynchronous access is expected to have a better performance in a real application.
This is because real applications are likely to be composed of correlated targets whose spatial and temporal relationships are approximated by the basic assumptions incorporated in and , respectively.
Finally, in cases where the user involuntarily rejects correct behaviors, (s)he will be forced to activate the interface a few more times in order to reach, once more, such behavior. However, it is important to note that, for the proposed example, the algorithm's performance will still be subject to the pattern reported in figure 6 even though the correct behavior will be placed at the end of the queue immediately after an involuntary rejection. That is, it will still take X ≃ 18 or less interface activations to reach the target again. On average, however, this process will take longer than with a random selection. Thus, for settings in which the probability of falsepositives (i.e. involuntary rejections) is high, the performance of the algorithm may be significantly compromised. The reasons for increased falsepositive rates in a specific application depend not only on the user's ability to maintain a particular selection, but also on the performance of the binary interface itself. In order to mitigate the incidence of falsepositives, a variety of strategies can be used ranging from adaptations of the physical environment (including the interface) to the implementation of digital filters that disambiguate the user's intention. Due to the complexity and interdependence among the different factors that may influence performance in a specific context, this issue must be studied on a casebycase basis. We will explore in detail the real impact of falsepositives and its potential mitigation in further studies involving real users that attempt to control complex appliances using a binary interface in combination with the proposed algorithm.
From the results presented above, one may also observe that the number of parameters {ω, τ} (i.e., the width of the spatial exclusion mask and the viscoelastic constant, respectively), which result in maximum relative performance Γ, increases with the tolerance σ of the particular application. Conversely, the maximum relative gain Γ, obtained with higher tolerances σ, is reduced in comparison to cases where the tolerance is small. Thus, for instance, while a wider range of parameters {ω, τ} is acceptable in the case σ = 0.2, the maximum gain obtained with optimal parameters {ω, τ} in the case σ = 0.05 is significantly higher. This phenomenon represents the main tradeoff of the proposed method. Thus, in principle, the proposed asynchronous access method may be used to determine the behavior of a device with any degree of precision; however, higher precision will require more rigorous fine tuning of the algorithm parameters {ω, τ}.
In all cases, maximum values of performance were reached when ω = σ/2. This actually corresponds to the cases where the exclusion mask (c), characterized by ω, corresponded with the actual requirements of the application summarized by the tolerance σ. Evidently, if the tolerance σ of a particular application is known, the optimal value ω = σ/2 may be immediately set. However, in a real application, this tolerance may not be easily identified. Furthermore, tolerance is likely to depend on the control priorities of each user in a particular application. Thus, for example, within the maximum tolerance for the execution of a particular task, some users may be more willing to accept errors than others. Nevertheless, the wide variety of arrangements available through the proposed access method, allows for its adaptation to virtually any type of user.
A sample application
In order to demonstrate the relevance of the proposed asynchronous access method in the control of real appliances, we implemented a singleswitch drawing application termed the onebutton doodler [21], this online tool allows minimal interface users to create "freehand" drawings using only the left button of a computer mouse or a single keyboard key. Figure 8 depicts a sample drawing made by a minimal interface user by means of this software application. A particular implementation of the proposed method, with spatial exclusion mask (c) defined by Equation (14), allowed this user to access a total of 180 different angles, allowing a pointer to follow the trajectory defined by the depicted trace. Note that, given the angular nature of the domain under control, the mask introduced here was more appropriate for this application than the mask defined in Equation (4) above.
Figure 8. Sample drawing made by a minimal interface user by means of the onebutton doodler online software application [21]. A particular implementation of the proposed method, with spatial exclusion mask (c) defined by Equation (14), allowed this user to access a total of 180 different angles, allowing a pointer to follow the trajectory defined by the depicted trace.
We have previously reported that, in order to minimize the delay between the user's action and the device's response, the outcome c_{[n] }is transmitted to the device immediately after it is selected. However, in recent experiments involving real users, it has been evident that this immediacy is not as important as the ability to select the intended behaviour with high accuracy. Thus, in some cases, users prefer to have some time to reject the most recent selection proposed by the algorithm. Furthermore, since the algorithm becomes highly predictable soon after the interaction with the user has been initiated, it is possible to display a list of suggested behaviors that will follow the most recent selection. When available, this additional information can improve accuracy significantly. Full results of these and other studies involving real users will be reported in subsequent publications.
Conclusion
A novel method of asynchronous binary access has been proposed. This method translates consecutive intentional changes, executed by users of binary interfaces at irregular intervals, into increasingly accurate estimates of their intention. With this method, users are required to employ their interfaces only when the device under control behaves erroneously. When this happens, an algorithm that incorporates simple spatial and temporal assumptions, regarding all possible device outcomes, is used to obtain an informed estimate of the best possible outcome that the device should present next. This algorithm is based on the mechanical deformation of a viscoelastic space that may store the set of historical assumptions preceding any intentional event performed by the user. The theoretical evaluation of this method resulted in two significant conclusions:
1. The proposed method may be used with binary interfaces to asynchronously access devices with any number of potential outcomes and,
2. this method may be optimized through the particular choice of the spatial and temporal exclusion masks and , according to the particular requirements and contextual circumstances of each application.
Authors' contributions
JS designed the asynchronous selection algorithm, the software tools and data structures for the experiments. JS proposed the initial design of experiments, executed them, and analyzed and interpreted the data. JS worked on the initial draft of the manuscript. JT, TC and AM advised upon the design and coordination of the study, experiments and data analysis, and multiple revisions of the manuscript. All authors read and approved the final version of the manuscript.
Competing interests
The authors declare that they have no competing interests.
Acknowledgements
The authors would like to thank the support of the Health Care, Technology and Place interdisciplinary research program at the University of Toronto. Additional contributions from the Peterborough K. M. Hunter Foundation, the Toronto Rehabilitation Institute, the Natural Sciences and Engineering Research Council (NSERC) of Canada, the Canadian Institutes for Health Research (CIHR), and the Bloorview Research Institute are also acknowledged.
The authors would also like to acknowledge the support and advice of Mr. Michael Dzura in the development of this work.
References

Cook AM, Hussey SM: Assistive Technologies Principles and Practice. Mosby, Inc; 2002.

Millan JR, Renkens F, Mourino J, Gerstner W: Brainactuated interaction.
Artificial Intelligence 2004, 159:24159. Publisher Full Text

Gage GJ, Ionides EL, Kipke DR: Information capacity of brain machine interfaces.
Proceedings of the 27th Conference of the IEEE Engineering in Medicine and Biology Society 2005.

Lombardi J, Betke M: A Selfinitializing Eyebrow Tracker for Binary Switch Emulation. [http://citeseer.ist.psu.edu/lombardi02selfinitializing.html] webcite
Tech Rep BUCSTR2002023 Boston University, Computer Science Department; 2002.

Grauman K, Betke M, Gips J, Bradski GR: Communication via eye blinks – detection and duration analysis in real time.
Proceedings of the 2001 IEEE Computer Society Conference on Computer Vision and Pattern Recognition 2001, 1:10107.

Mason SG, Birch GE: A BrainControlled Switch for Asynchronous Control Applications.
IEEE Transactions on Biomedical Engineering 2000, 47(10):1297307. PubMed Abstract  Publisher Full Text

Allanson J: Electrophysiologically interactive computer systems.
Computer 2002, (3):605. Publisher Full Text

Luo CH, Shih CH: Adaptive Morsecoded singleswitch communication system for the disabled.
International Journal of BioMedical Computing 1996, 41(2):99106. PubMed Abstract  Publisher Full Text

Yang C, Chuang L, Yang C, Luo C: Internet access for disabled persons using morse code.
International journal of computers & applications 2004, 26:106.

Hauck LT: SAM: An Improved Input Device.
Proceedings of the Johns Hopkins National Search for Computing Applications to Assist Persons with Disabilities 1992.

BlackstienAdler S, Shein F, Quintal J, Birch S, Weiss PL: Mouse manipulation through singleswitch scanning.
Assistive Technology 2004, 16:2842. PubMed Abstract

Simpson R, Koester H, LoPresti E: Evaluation of an adaptive row/column scanning system.

Shein GF: Towards task transparency in alternative computer access: Selection of text through switchbased sacanning. PhD thesis. University of Toronto; 1997.

Liu H, Ma H, Zarki ME, Gupta S: Error control schemes for networks: An overview.
Mobile Networks and Applications 1997, 2(2):16781. Publisher Full Text

Veeraraghavan M, Wang H: A Comparison of InBand and OutofBand Transport Options for Signaling.
Proceedings of the IEEE Communications Society Globecom Workshops 2004, 34551.

Oppenheim AV, Willsky AS: Signals & Systems. Prentice Hall; 1996.

LeonGarcia A: Probability and Random Processes for Electrical Engineering. second edition. AddisonWesley Publishing Company, Inc; 1994.

Rubinstein RY: Simulation and the Monte Carlo Method. New York, NY, USA: John Wiley & Sons, Inc; 1981.

Laming DRJ: Information Theory of ChoiceReaction Times. London: Academic Press; 1968.

Wang S, Dzura M, Silva J: OneButton Doodler. [http://doodler.komodoopenlab.com] webcite