[IPython-dev] Notebook filename badness

Brian Granger ellisonbg at gmail.com
Thu Jun 28 12:07:09 EDT 2012


On Wed, Jun 27, 2012 at 4:52 AM, Thomas Kluyver <takowl at gmail.com> wrote:
> Perhaps it will help to take a step back in this discussion.
>
> At present, the notebook is useful either running locally or running
> as a web application. People are using both, each has some
> awkwardness, as you'd expect from something that was only released a
> few months ago. On the local side, there are the problems with file
> handling we've already discussed, while the web app lacks a proper
> multi-user model for now.

I don't think the lines between local app and web app are very clear
for us.  Some things to consider:

* It *is* a web application.  It runs in the browser, it talks to a
server using HTTP+WebSockets, the client is written in
Javascript+HTML+CSS.
* The only thing different is that sometimes a user happens to have
console/GUI access to the computer that the server is running on.
That gives them "side channel" access to the files that the server
uses.  That side channel access does not, in any way change the nature
of the web application.  It just gives you other ways of interacting
with those files.  We do want that side channel access to be as
convenient as possible though.

Let me phrase this in a different manner.  I think we have the
opportunity to create a new category of app that is a hybrid "native"
and "web app".  Instead of segregating these two models, I think we
need to mash them up to accomplish something that is greater than
either.

> As I understand it, what you're suggesting is that we steam ahead with
> developing it as a web app, and give local users the choice of:
> - Use files as we do already, but don't expect the problems to get fixed
> - Use it like a web app running locally, and more or less ignore that
> it creates files to store the notebooks (i.e. the hidden directory you
> suggest)
>
> My feeling is that the local app is an important but very different
> use case, and we need to accommodate this properly. Ultimately, I
> think we will need two different modes, or even two different
> applications - perhaps "ipython notebook" and "ipython nbserver". It
> will be a bit more code to maintain, but I think the benefit of
> supporting both use cases well is worth the extra complexity.

If it was simply a matter of creating two different top level apps,
that wouldn't be too bad.  But doing this will require also two
different versions of the HTML templates, the JS code, the URL scheme.
 I have found that the subclassing model doesn't work very well for
all of these things.  If you change the URL scheme for example, you
have to more or less completely rewrite the handlers.  Last summer for
a short while I had two versions of the notebook and it was insanity.
I don't see us going in this direction with the current manpower.

I hope I am not coming across as thinking that the "local" aspects of
the notebook are not important.  I do think they are very important
and they were at the front of my mind when I wrote the first version
of the notebook.  I am not suggesting that we get rid of that.  I just
think we need to think carefully about what aspects of the local and
web app experiences are important.

Cheers,

Brian



> Thanks,
> Thomas
> _______________________________________________
> IPython-dev mailing list
> IPython-dev at scipy.org
> http://mail.scipy.org/mailman/listinfo/ipython-dev



-- 
Brian E. Granger
Cal Poly State University, San Luis Obispo
bgranger at calpoly.edu and ellisonbg at gmail.com



More information about the IPython-dev mailing list