
Saving is Obsolete: Etherpad adds time slider - PStamatiou
http://etherpad.com/ep/blog/posts/saving-is-obsolete
======
barrkel
I find myself wondering about trees: what happens if you "slide" back in time,
then create a "new timeline" from that point in the history? Does it get
appended to the current timeline?

Is it all strictly online? If it also works offline on the client, how does it
deal with synchronizing multiple "timelines" created by copying the saved
file?

~~~
thorax
This is actually what I've always wanted in a browser. An intuitive way to do
Back/Forward that handles multiple branches. :( I'm really surprised someone
hasn't done something good with this in a major browser.

~~~
chriseppstein
I came here to say that. When I go back in my browser, I want it to show me
the site I was looking at scrolled to where I was scrolled in the tab I was
looking at.

~~~
ori_b
Why leave your browser at all, in that case? I just have about half a dozen
desktops, and instead of closing an application I move to a different desktop.
With suspend-to-ram and/or hibernate, I never have to worry about restoring
application state.

------
adamhowell
Some constructive criticism about the screencast, because the dry smacking of
your mouth while you're talking is really hard to ignore.

Drink more water between takes, of course, but also try slicing up a granny
apple and having a few bites before and during (that supposedly helps your
mouth toe the line b/n too wet and too dry).

~~~
aaroniba
Thanks for the feedback, will keep that in mind for next time!

------
darkxanthos
So I know this is frowned down upon on HN but fuck it. I've been waiting for
this feature ever since the PG essay. I'm extremely excited. Thank you
etherpad gods for finally giving me this damn feature! I've been into poetry
and essay writing lately and something like this will add a ton of creative
expressive value to my writing.

------
mcormier
Obviously there is a trade off on file size here. I'm curious on how the
implementation works.

~~~
jules
Text files are small. Even if they saved every keystroke and you type 100
chars/second for 10 hours it's less than 3.5 megabytes.

~~~
yan
Not to mention bzip or gzip compresses text like its cotton candy.

~~~
lsb
LZMA is like gzip, but with a much larger window. It's a bit slower to
compress, but much better performance.

------
PStamatiou
Just noticed it in my account. Pretty slick! For those wondering what this is
- PG used an early version of this to show his essays as he wrote them.

Example from notes I took during an interview with Marcus Nelson of Uservoice.
<https://pstam.etherpad.com/ep/pad/view/ro.XF6No8LU/rev.1087>

------
acangiano
I want this feature in my code editor. :)

~~~
darkxanthos
I can't remember the last time I ever cared for more than just the previous
revision lol... this would be WAY overkill (for me at least)

~~~
anigbrowl
I can see it being a big plus for working on longer-form documents. I write
screenplays and when you've got 100 pages going back to look at old autosaves
becomes a real pain.

~~~
darkxanthos
Oh for writing of course! (I wrote another comment about that here
<http://news.ycombinator.com/item?id=802642>)

But for source code control... I _was_ thinking nuh-uh... but it might
actually be helpful at least until check-in. Shucks. I dunno.

~~~
anigbrowl
Just being able to scroll back and forth between the history or different
commits or whatever seems like a plus. It's the UI widget that impresses me,
rather than the version control (which, as noted, is not new).

------
Pistos2
So does this feature handle history branching and merging? Or are all
revisions in one single linear history?

------
astine
How does this differ from 'undo' with a slider bar interface and auto-save?

~~~
mbreese
Functionally, it doesn't. You can get the same effect by repeatedly hitting
"undo" until you have a blank screen. Then you can play it back using "redo"
until you reach the end.

The big features are the nice GUI for it and the persistence of the history.

This would be like saving each "undo-able" action with the document. Though,
you could also do this by using log-style persistence, saving only the
accumulated changes and playing them all back to get the final document. I
assume thought that their 'bookmarks' are snapshotted complete copies of the
document to limit the 'playback' required.

------
cpr
Interesting--just like the Google Wave feature. ;-)

------
mattmaroon
Automatic versioning with an easy interface: I sure wish Word had this.

------
yan
Can anyone speculate on at least the class of algorithms they are using?

~~~
mitko
I wouldn't be efficient wrt space to keep copy of every version of the file.
Instead I suppose they keep the actions of the writer(s).

Algorithmically it shouldn't be complicated. Maybe they just keep history of
what happened in the environment and reproduce it. Maybe they even have some
checkpoints saved so that there is no need to reconstruct it from the
beginning every time. And maybe they can compress events. Instead of: (type
a),(type s),(type k) they have just (type ask) and in case you want better
granularity they have it recorded somewhere.

~~~
yan
I was thinking they're using something like video encoders, where differential
changes are stored and every N frames (updates? characters?) it stores a copy
of the file again for faster tracking and updating.

~~~
apotheon
In traditional cell animation, they'd call the guys who painted the
"differential" frames "in-betweeners", and I think (my memory is hazy) the
reference cells painted by the master animators are called "index frames".

------
omouse
So automatic version control? Now if only our operating systems would
incorporate that...

~~~
absconditus
Time Machine?

~~~
omouse
not quite teh same

------
PStamatiou
Now if only the PNE version was the same version as what etherpad.com gives
you...

------
nazgulnarsil
I was initially wonder how etherpad could be useful...now I know.

------
puredemo
This is still saving. It just saves (onChange).

------
aplusbi
Sounds like Vim's :later and :earlier commands.

