|
Method 2
How does a standard off-the-shelf laser pointer give the user the ability to click-and-drag, right-click, pop up a virtual keyboard, and more?
What was needed was an operation model which was just as powerful as the three-emitter pointer, but would work with an off-the-shelf laser pointer. It was quickly realized that this mode of operation would require the software to provide some way of allowing the operator to decide what kind of action was desired.
For the first implementation, every time the laser pointer turned off while it was in standard tracking mode, the software would pop up a question dialog and ask the operator whether they wanted to do a left-click, a right-click, start a click-and-drag, pop up a keyboard at the location where the pointer disappeared. An option for ignoring the event was quickly added to the list. It worked, but often a presenter wants to stop using the pointer for awhile and talk to the audience. With the implemented model, every time they did so, a popup dialog would appear, and the operator would have to take action to dismiss it. While functional, it was a little bothersome to have to respond.
A configurable timeout was added so if the operator did nothing, the dialog would auto-dismiss after five seconds with no event generated. This was better, but it was still a distraction to see the dialog appear right in the middle of a slide during a discussion. More was needed.
After some thought, it was realized that what was needed was a variation on the already-existing double-click model. With a double-click, the system detects the first click, but delays dispatching the event for a configurable amount of time to check for a double-click. If a double-click is detected, the system dispatches a double-click instead of the single-click Could we 'borrow' the double-click to query the operator?
Left-click and double-click are the two most widely used window-control operations. Hijacking either of these and requiring operator intervention would surely displease most of the potential users.
But that idea led to the idea of a "click-and-a-half' event: When the operator turns the pointer off, then back on, then back off within a configurable interval, then, and only then, would the software intervene and ask the operator what was desired. Single-clicks were untouched. Double-clicks were untouched. Only a new interface operation would trigger the query, and from the posted alternates the operator could select the desired behavior. If the pointer remains off the system would generate no events, including the single-click that preceded the off event, just in case the operator had a finger twitch.
This interface method was quickly implemented, and was given great reviews by testers. With a click-and-a-half, an operator could start a click-and-drag, pop up a keyboard, perform a right-click, and more, while still having the ease of use of the single- and double-clicks.
It seems easy once you know how to do it, like a lot of things in life, but the key is in the details. Lots of thought, lots of furtive starts that at first seem to yield no results but whose failure sows the seeds of future ideas and attempts. Perseverance is the key to success. To the entrepreneurs out there, Mr. Hansen gives encouragement to be willing to think and re-think, to try and try again. As sung in the Disney musical "Chitty Chitty Bang Bang": From the ashes of disaster grow the roses of success.... Some, even many ideas will not prove out, but every now and then, one will sprout, grow wings, and fly!
SIMPLE...DIRECT...BRILLIANT!
|