[IPython-User] PLEASE make autosave standard

Aaron Meurer asmeurer@gmail....
Wed Nov 7 10:14:14 CST 2012

On Wed, Nov 7, 2012 at 6:20 AM, Thomas Kluyver <takowl@gmail.com> wrote:

> On 7 November 2012 12:43, Tom <tmbdev@gmail.com> wrote:
>> (I think lack of autosave should be prio-blocker.)
> In general, I don't think we'd block on a new feature. The standard for
> setting a blocker is 'would we wait for this if everything else is ready
> for a release?' 0.14 will improve on 0.13 even if it's released without
> autosave, so it wouldn't make sense to hold it up for that.
> Could you flesh out a detailed description of how an autosave might work,
> perhaps as an IPEP (
> https://github.com/ipython/ipython/wiki/IPython-Enhancement-Proposals-%28IPEPs%29). It should describe, for instance:
> - What gets saved
> - Will it be always on, configurable, or 'smart'?
> - Where does it get saved? I don't like extra files cluttering up my
> working directory.
> - What happens if I have the same notebook open in two tabs? Or two
> computers talking to the same server?
> - Notebooks needn't be stored as files, they could be blobs in a database
> - how will this be abstracted away from the frontend?
> - Will autosave files be automatically removed, and if so, when?
> - How is a crash detected, and what UI presents the autosaves to the user?

I would also add (actually with any IPEP, not just this one):

- What needs to be done right the first time, because changing it later
would involve nasty API breaks for users? An example in this case is the
naming scheme for the autosave files, including the user API for changing
their location.
- What can be done poorly at first, and then improved.  I think there
should be no guarantees about the format of autosave files (indeed, they
don't even need to be forward compatible, though they could be).  For a
first go, the easiest thing would be to just write a complete copy of the
notebook.  In iterations, you could move to more efficient things.
- What will you never do, because it is outside the scope of the project?
 An example here is reimplement version control.
- What blocks on even the most basic functionality? It sounds like the
ability to have the same notebook open multiple times is one of these.

To me, in this conversation, there is too much mixing with what can be done
now and what we would like to have done ideally at some point in the
future.  Clearly separating what needs to be done now and what can wait
would help on the path to implementing this, I think.

Aaron Meurer

> Looking at this differently, I wonder if we could use the localStorage
> Javascript APIs to do autosaves client-side? I suspect that idea has its
> share of difficulties, but perhaps it's worth exploring.
> Thanks,
> Thomas
> _______________________________________________
> IPython-User mailing list
> IPython-User@scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-user
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://mail.scipy.org/pipermail/ipython-user/attachments/20121107/e460e5db/attachment.html 

More information about the IPython-User mailing list