This is an experiment inspired by Bret Victor's scrubbing calculator. At the end of his essay, Victor poses the following exercise:
Granularity. Some numbers need to be adjusted over large ranges — you may want to go thousands in one stroke. Other numbers might need multiple decimal-point precision. The tool can't necessarily infer which is which. Can you think of a UI that could accomodate adjustments at different levels of granularity?
I've tried a few different approaches to this exercise. This document demonstrates one of them. Mouseover the numbers on the left of the equation below, click on one of the revealed icons, and adjust the number.
You can see that this gives us more flexibility than the original scrubbable numbers, because we have the ability to adjust numbers both linearly and exponentially. There are several relatively minor problems with look-and-feel, but those are relatively easy to resolve. However, there's one really serious problem, which is that this approach severely limits the class of numbers you can reach. To see the problem, suppose you use the exponential slider to increase a number out to (say) 1 billion. Then each additional pixel with the slider moves you by an amount of about 100 million. Within that 100 million you simply can't use the linear slider to adjust over the entire range. And so there's lots of numbers which are to all intents and purpose inaccessible.
I'm somewhat embarassed to say that I didn't anticipate this problem in advance. In a way, that's encouring: this new representation made a problem obvious which I didn't see at all, initially. I can also see a solution, but I'll put that elsewhere, in some extended notes I'm writing about Kill Math.