33 comments

[ 2.9 ms ] story [ 91.0 ms ] thread
Neat. You could add some side-to-side swiping to visit the current node's left- or right-neighbor in the undo tree.
(comment deleted)
Is that doing Ctrl+Z , Ctrl+Y in the background?

Before opening the link I was thinking this was going to be a cool feature that lets you scroll through older revisions of a file in git. This, paired with a git blame GUI would be awesome.

A minority report for git repos

Sweet feature regardless :)

That was my second thought. My first thought was, doesn't Time Machine already exist?
Scrolling through a file's git history like that would be pretty freaking awesome.
I once built a calculator app where you could two-finger swipe to undo/redo: https://appsto.re/nz/oxLx3.i

Previous/future states simply appear adjacent to one another so you can scroll through them easily.

I absolutely believe that version control history is something that needs to be treated as a dimension like any other

I once built a motion controlled drawing app that mapped rotating hands to scrubbing through the undo/redo stack.

https://youtu.be/DM1JtYyr88k

Skip to 0:18 to skip calibration.

It would be cool to make a calculator that recognized number gestures.

(comment deleted)
Relevant xkcd - https://xkcd.com/1806/ And don't forget the alt text!
Inspiring* xkcd. :)

I had a feeling someone was going to implement this when I saw xkcd yesterday.

Well, I know it has been done several times before, but it's not common.

A recent example is that some apps support this using the Surface Dial: https://youtu.be/8BJisE80wAc?t=116

Whether it's mapped to a two-finger slide, a scroll wheel, a dial, etc isn't the important part. The novel-feeling part is that as computers get faster and people improve at engineering performant software we can have the software provide results in realtime to analog inputs which makes people feel connected to the software in exciting ways.

A basic example would be a virtual DJ type app that lets you slide across an on-screen LP to scratch forward/backward. Obviously something more visually or conceptually impressive as seen in games which support time rewinding would be closer to the spirit of the post.

I would certainly like to encourage more developers to make use of scrolling/sliding input in unique ways.

Yeah, it's linked -- twice -- right there on the page.
"Moving through time" seems to be actually a smart way to avoid branching in undo/redo histories.
That's how emacs does it by default. if you want the 'branching model', there's undo-tree-mode.
vim:

    " scroll wheel moves through time instead of space
    " <https://xkcd.com/1806/>
    set mouse=a
    nnoremap <ScrollWheelUp> u
    nnoremap <ScrollWheelDown> <C-r>
    inoremap <ScrollWheelUp> <Esc>ui
    inoremap <ScrollWheelDown> <Esc><C-r>i
It could use g- / g+ instead, to cover all undo branches.
Being very familiar with Emacs, I would never have thought the Atom version to be much more complicated than that.

Then I looked at the code in the original link, and wow. Just... Wow. That cannot possibly be the easiest way to do this?

Perhaps there is something to the thing they say about Javacsript programmers and how they manage to reinvent technologies from a couple decades ago, badly?

Absolute respect to XKCD!! and never forget Little Bobby Tables!!!
Since I remap Ctrl <-> Caps Lock on all my machines, it's especially funny to me.