"I wonder how many times the phrase 'Advantages to being a goth
biologist:' has been used previously in the English lexicon..." --
randysmith,
2005-12-02 [The phrase does make sense in context.]
Daphne Eftychia Arthur, guitarist+. Jan. 24th, 2006.
"I wonder how many times the phrase 'Advantages to being a goth
biologist:' has been used previously in the English lexicon..." --
randysmith,
2005-12-02 [The phrase does make sense in context.]
Four o'clock, and for the past forty minutes it's felt like my body's mainspring has been winding down. Feeling cold, shaky, sleepy. Dammit, I have a plan, and the plan does not include this. The plan involves getting to rehearsal tonight. *grrr*
Other crankiness: my knees have been hurting badly for the past three days. Feh. And some vehicle nearby has a painfully bassy exhaust note the goes right through my skull.
Let's see whether I can pull myself together in the next three hours.
I managed to get rid of the shaky/cold feeling, the sound hypersensitivity, and most of the knee pain, using a combination of theobromine, ibuprofen, lavender, basil, and tramadol, but the dizziness, peripheral vision, and attention span problems didn't diminish enough. Right now I feel like I'd be perfectly happy standing up and playing the double bass, and mostly-ok playing bass recorder, but quite not-okay piloting a ton of steel down I-95 at thirty or forty meters per second to get there. I need to recruit another Baltimore driver into Three Left Feet to carpool with, so that on the nights when I'm well enough to play but not steady enough to drive, I'll have a ride. (Plus, at just over a gallon of petrol each direction, and today's gas prices, splitting the travel cost would be a good thing.) But for now, here I sit, feeling frustrated again. So I'll spend [noticing the time as I'm finaly done typing this] a hundred and sixty minutes writing babble for my journal with a couple of CBS shows on in the backgound ...
I decided to take out some of my frustration on virtual rocks. In college, we referred to this as "rock hunting." The convenience store referred to it as "making the Asteroids machine profitable". Asteroids and Asteroids DeLuxe were among my favourite arcade games (the others being Tempest, Robotron, Defender, Defender Stargate, Qix, and Missile Command). I never cared for it on the 2600 (or the 5200 for that matter), and it didn't feel right on the PC/AT either, but the version that's on my Debian machine finally got me to accept a raster version of Asteroids. (If I have to explain to anyone what "raster" means and/or what the alternative is, I will. If you've got access to an old Asteroids stand-up arcade unit, it'll make more sense if you go look at it. And if you already know what I mean, you probably understand why I care, whether you agree with me on this one or not.) So sometimes when I'm feeling tense and too scattered to feel like reading, I fire little dots at pictures of rocks. After all, what's more relaxing than doing lots of vector addition at no-time-to-think speeds? (Okay, noodling on guitar is more relaxing, but Newtonian mechanics plus blowing things up makes for a nice change of pace.)
Of course, I couldn't just play the game. I had to start analyzing the types of errors I made. And while I make at least my share of "thinkos", a lot of my piloting errors were fat-finger problems -- mostly holding down a key a tiny bit longer than I meant to (not surprising, if I'm mostly playing when feeling physically out-of-sorts) resulting in over-rotation or too long a burn, putting the ship on a vector other than what I was aiming for.
Okay, this won't help my left-hand response-time problem, but thinking about control mechanics got me thinking about improvements to the user interface to make the ship more responsive, to allow more delicate control. I like responsive machines -- and responsive computer interfaces. When a well-designed and well-tuned control system (or user interface) drives responsive and properly working equipment ... well sometimes it's almost as though the machine is reading my mind; ideally the machine feels like an extension of my body. This is how a really nice pen feels -- not as though I'm holding a writing implement, but that my hand extends to the page and has become able to produce ink. This is what a bicycle feels like to me when I get in the zone -- that I have become (as I've described in the past) a half-mechanical centaur, not conscious of controlling a machine, but extending myself into the machine, so I "feel the road" with "my" tires, not (as is obectively happening) interpreting vibrations transmitted to my feet, ass, and hands through the frame of the bike. And this is how driving a car should feel -- I think about traffic but (unless there's a mechanical problem) I don't think about how to control the car; the car "simply" Goes Where I Will It to go, and if there's ice or snow or gravel, I "feel" how "my" tires are holding. This is what's frustrating when a device doesn't work correctly, too -- and what's tiring about beginning to learn a new tool: I have to become aware of it as a machine, of how I'm controlling it, instead of thinking only about the desired results and having the tool "magically" do what I'm thinking. If the chuck of the Dremmel keeps loosening so the bit slips, I'm paying twice as much (conscious) attention to what I'm doing as when things are working smoothly.
I like responsive tools. I like control. I like controls that work a lot like my body works[1], controls that let me affect more than one aspect of what I'm doing with the same touch. This is part of what I like about guitar (and expect to like about the bass once I acquire enough skill with the bow) -- my making subtle adjustments, tiny changes, to how I hold and move my hands, give me huge differences in how a note sounds. The gross movements determine the pitch and the volume, the fine movements determine the flavour. The guitar is expressive because it is responsive. Similarly, subtle changes in breathing and embouchure make enourmous differences to the sound of a saxophone ... but I don't play sax well yet. (I'd like to.) To some extent this is true of most musical instruments, but some instruments are more expressive than others ...
But I digress (hmm ... I tend to do that more under the influence of theobromine, I think.)
Thinking about how I'd like to fly my little picture-of-a-spaceship, I started wanting pressure-sensitive keys -- what a synth player would describe as "velocity sensitive with aftertouch". In Asteroids, you have no control over the amount of thrust -- the thruster is firing or it's off, and the only control over the impulse is the duration of the burn. With force-sensitive keys, a player could control the thrust as well as the duration. For that matter, one could even control speed of rotation. Finer control. Yum.
But what would I do with an "aftertouch' keyboard when not playing a video game on it?
Imagine if hitting the keys harder caused what you were typing to be automatically rendered in italics, and harder still translated to boldface, or even caps-lock. (Or if your editor were in HTML-aware mode, it could automatically insert <em> and <strong> tags. For some applications there would be obvious default interpretations to apply, but users could override them with their own settings, or invent idiosyncratic controls for tools/modes without an "obvious" behaviour.) Pressing backspace normaly but then increasing the presure after the key was down could trigger delete-word or delete-line. This could be frustrating to get used to at first, but once an operator with a delicate enough touch did get used to it, it could be amazingly responsive and cut out one more level of conscious thinking-about-how-you-do-what-you-do. Once the hands were trained, you'd just think "stressed" and it would come out emphasized; you'd just "think louder" and it would come out bolded. With enough care, perhaps the interface could be designed to distinguish between emphasis (which in HTML should be done with <em> and is often rendered as italics) and italics for book/movie titles (which I do with <i>, but someone else might configure to do with <span class="title"> or something). All it would take (well, not that this would be trivial, of course) is to come up with a set of fine nuances the system could detect, that a human could reasonably train his or her fingers to encode reliably, and intuitive enough[2] that the mechanics of it could eventually become unconscious.
I don't think this would catch on -- at least not enough so to make production of such keyboards cost effective -- especially since so much software would have to be modified to make it at all useful (I'd make the keyboard drivers do the detection and interpretation and report some sort of class code that the OS would then pass along to applications, but applications would still need to be modified to know to look for that information in the input stream), and only people as into control-control-nuanced-control-more-control as I am -- as interested in making the user interface experience as close to telepathy as possible -- would even find any value in it. But as a thought exercise, I'm having fun with the idea.
Combine this with an eyeball-tracking pointing device (the cursor goes where you look; wink for a mouse-click) and we could get very very close to "thinking into the computer". On a good day, typing is fairly close to that for me (with an editor I like well enough, such as 'vi'), but this could add another dimension. As it is, I think "<em>think</em>" and those characters just appear on the screen[3] with some vague awareness that my fingers wiggled along the way. This would mean not even thinking about the characters less-than ee em greater-than: I'd think "think" in italics and the tags to make it show up that way would magically appear in my editor.
This could possibly be one notch better than when I was touch-typing WordPerfect and if I "thought a phrase in bold" my left pinkie would flick out to the F6 key before I thought about "how to bold this". In that one application, on a keyboard with the function keys Where They Belong (my hands stayed in "home position" when I hit the function keys, which doesn't work as well when they're across the top instead of down the left side), I could "think in bold", "think in underline", "think a paragraph indented", and have the text just come out that way without consciously thinking about how. Adding more dimensions of control to the mechanical sensors of the interface could give me that again and a whole lot more. Imagine selecting text in a browser with the mouse and having the machine detect whether you wanted just the characters, or the HTML code behind that chunk of text (the formatting, the <a href> tag if any) in a one-step process based on exactly how you held the mouse button, instead of a two-step process of picking an option from a right-click menu, or first right-clicking to get the URL then coming back for a second complete select/copy operation for the text
(Our computers already make use of some aspects of "nuanced control", of course, though only based on timing. First, the keyswitch is "debounced" (depending on the physical design of the switch, IIRC) so that electrical or mechanical jitter is filtered out and the computer figures out that the fourteen electrical spikes from the 'a' key only represented one "the user meant to press this key" event, then the system has to decide whether you've held it down long enough that it thinks you wanted a series of the same letter repeated. Once upon a time this was a novel innovation -- mechanical typewriters don't do that. Now we consider it so natural that we never even think about it: it "just happens". On some systems you can fine-tune the amount of time before the computer decides you really meant repeated characters, and how rapidly additional copies of the character should be generated after that, so that a picky user aware enough to know what to be picky about can tweak the machine's reponse to match what feels "most natural" to him or her, thus making the interface even more effective/efficient. Similarly, on some systems the ratio of how far the mouse moved to how far the mouse-cursor moves is constant (but configurable) and on others the ratio changes depending on the speed at which you move the mouse. That is, moving the mouse a short distance very quickly may send the mouse pointer clear across the screen while moving the mouse the same distace more slowly only moves the pointer a short distance. If these behaviours are properly configured, most users will never consciously notice them until they switch to a computer that works differently -- mostly, it will "just work" and they'll find the computer "feels nicely responsive" without being aware why. The speed at which two mouse clicks are interpreted as "a double click" instead of two separate events is another example of overlaying additional control information onto one physical control by encoding information in the timing.[4])
Of course, there'd also be a greater risk of "fat-fingering" a mouse command or some text and getting a result you didn't intend. And the devil's in the details -- there'd be a lot of "noise" to filter out so that a user could get the same results when bleary-eyed and clumsy as when fresh and perky. Without actually building the devices, writing the code, and playing with it for a while, it's hard to say whether the power-and-convenience or the magnification-of-clumsiness would dominate. But I'd love a chance to find out.
Or maybe it's just the theobromine talking. An extremely large dose of chocolate was involved when I wrote that bit of erotic fiction people find disturbing, too, so my reality may be slightly out of alignment at the moment.
As long as I'm thinking about unconventional user interface ideas, how come the "pie menus" I heard Don Hopkins talking excitedly about so many years ago have never made it into any tools I use? Those sounded really cool, and I wanted to play with them and find out whether the reality was as nifty as the description, but we're still using linear list menus everywhere.
[1] When my body works to my satisfaction, that is. I'd like rather more reliability from my tools than my body has given me lately.
[2] The more intuitive the better, but it doesn't have to be perfect on that score, as long as it's not so dissonant that it becomes awkward to train. I'm a 'vi' user, and as powerful as it is, and as well as I've learned to "think in 'vi'", I wouldn't say that hjkl cursor movement is perfectly intuitive, or that 'L' to move to the bottom of the screen is at all intuitive. The thing is, they're reasonable enough to be easy to train your fingers to do -- to the point that a skilled 'vi' user who's been at it long enough to forget what it felt like to be just starting to learn it will find that these things feel "natural" despite not having been intuitive back when they started.
[3] Unless I'm using a laptop with a keyboard just barely smaller than I'm used to, or my fingers are really cold.
[4] Years ago I considered programming a computer to notice idiosyncratic details of the timing of a user's keystrokes, so that it could automagically detect which user was typing on it (or if not that advanced, perhaps merely to include a rhythm in a password to make it harder to break by trial-and-error than a conventional text-only password). What I didn't think of until just now is that even with conventional keyboards, we could make "staccato" and "legato" typing mean different things.