Files
journal/Archive/Blog Drafts/Emasculation of Buttons.md
Thaddeus Hughes 608c43a71f init
2025-10-09 20:43:40 -05:00

41 lines
7.2 KiB
Markdown

# STUCK IN NEUTRAL
In the beginning, there was man, who worked directly with his own hands.
Then, the lever, which allowed him to modulate the ratio of the speed and force of his movements. Then, animals, and combustion of fuel - enabling him to use power beyond his own body. Electrification led to his control of vast power with the mere push of a button. In the past few decades, the button stopped being hooked to the power itself, and instead, to a computer - reaching, eventually, its final abstraction in the screen - the "software button".
Further alienation occurs at every level, but the current alienation we see in our machines is especially pernicious.
For the past week I have been driving a tractor - a Challenger MT740. Now, this tractor is pretty high-tech. Affitted to the diesel engine is a CVT transmission - this doesn't have multiple "gears" to shift through, but rather a sliding scale of gear ratio. I suppose the designers could have chosen to give direct access to the CVT - although I've never seen any designers do this on any vehicle. The closest would be a Subaru I've driven once where you could activate what I call "fake manual" mode - giving you a selection of eight virtual "gears" to "shift" through.
I would love to try driving a vehicle which let you command the CVT ratio and engine RPM directly. I think this would be a pretty cool and novel experience. Perhaps the transmission ratio would be expressed in terms of percentage. Or perhaps you could even express it in a meaningful number conducive to quick mental math (If, say, a transmission position of "3" meant that at 1000 engine RPM, the vehicle ground speed would be 3MPH - how cool would that be?).
The designers of this tractor chose two primary modes of commanding the engine and transmission - a foot pedal mode and a joystick mode. In both, the throttle and gear ratio are abstracted away from the operator (there are some overrides). Instead, the operator commands in terms of acceleration rather than raw throttle and gear ratio. This has great advantages - it's quite easy to learn, and it prevents the user from breaking anything.
However, the devil's in the details. There's a really heavy software middle layer that is just. Clunky. I'm gonna focus on the foot pedal mode to show some of the quirks.
Firstly, you need to pick a direction before you can move - forwards or reverse. This is done by use of the joystick. You must squeeze a trigger button on the joystick and then push the joystick either forwards or backwards to select a direction. Now, mind you, this is a momentary joystick. It returns to center. So by pushing the stick forwards, you are asking the software to go into a certain state - the state of vehicle direction is stored in the software, not the hardware. If you want to know what state the machine is in you need to remember it or look at indicators on the dashboard. You cannot use your hand to feel the position. But wait - it's worse.
If you don't move within 8 seconds, the software resets the movement direction state to neutral. So you can't just remember what vehicle state you asked for - you have to also remember if it's been 8 seconds since you commanded position.
Imagine if while stopped at a red light your car popped out of drive and into neutral of its own volition - this is basically the behavior.
This sounds like a minor complaint but one of the things I'm using this tractor for is unloading grain onto a truck. This entails making small adjustments and movements - and sometimes staying put while waiting for conditions to change. It also means that when I want to move, I want to move immediately without hesitation.
The middle software layer presents a conundrom: I can't select my next direction immediately (the command will time out). I can't wait until I'm ready to move to make a direction selection (it takes time for this command to process). I also can't just hold the joystick in the forward state to guaruntee the next direction (the computer system throws error messages at me). The only sort of solution I've come to is to periodically tap the accelerator pedal, resetting the 8 second direction command timeout.
I am fighting a state machine.
Marc Barnes has written and spoken on several occassions on how the modern automobile presents us with a frustration: we have the power to go 100 miles per hour, perhaps even more, but laws and traffic prevent us. We are frustrated because we see that there is a mismatch between potentiality and actuality.
There is a breakdown between what I intuitively think should happen, which is rooted in what I am trying to achieve, and what the machine thinks should happen - and I do mean that the machine is thinking. There is a change of state. Where once the machine would move forwards when I pushed the pedal, it changed its mind, and decided that pushing the pedal should instead do nothing. It changed its mind of its own volition. At least, it seems that it is of its own volition - it is actually the volition of the tractor software designers. Furthermore, a chasm of communication widens: I cannot communicate to the machine that I do not like this. I cannot alter the software and remove this 8 second timeout. The tractor speaks to me and dictates its terms: if you don't move in 8 seconds, I'm giving up.
Now, there's nothing inherently wrong about things dictating their terms to us. Wood can be split along the grain, not against it. Concrete is mixed and liquid before being dried. Material reality has a truth to it. It would be wrong for us to have infinite flexibility with the created world. But there is a difference between being barred from something's nature, as the tractor software is doing, and being unable to use something in a particular way because its nature is fundamentally at odds with that use.
It truly doesn't need to be this way. The 8 seconds is arbitrary. There is no reason it could not be 2 minutes, or 2 seconds. It is fully imposed from an artifice of the programmer's mind. The mechanical components are perfectly capable of waiting longer between recieving the directional command and the go-ahead from the foot, but the programmer has decreed otherwise.
Decree is a good analogy - the folks at Full Stack Theology have developed an idea that code is law for computers, which seems spot-on to me.
As we know, good law requires dispensation. The idea that the law should apply equally to all peoples in all places is actually a falsehood - not to say that there should be some "above the law" - but that the law ought to apply differently in different circumstances, some of which cannot be foreseen by the legislators. The programmers of this tractor may have had a good idea on the timeout - but it's an idea I cannot appreciate because it does not apply to my circumstance. It should be one I, donning the role of deputy governor over this machine, should be able to adjust. However the closed-source distribution model does not delegate these powers of dispensation to me. I am frustrated. I ought to have the freedom to adjust this behavior, but it is not dispensed to me.
Instead, a bureaucratic monolith legislates how my machine is to operate, and I remain frustrated - alienated from this thing I own, gawking at the chasm between potentiality and actuality, without even the materials by which to build a bridge.