Notebook: Display a file description in the notebook file browser for a better overview in larger projects

Created on 31 Jan 2017  路  10Comments  路  Source: jupyter/notebook

In larger projects it can get a bit annoying to find one particular file with "those particular lines I really need to see right now". So, in order to find it more quickly, how about display the content of the first cell if it's a markdown cell in the overview?

It could look something like this:

screenshot from 2017-01-31 18-16-53


Further ideas:

  • This function could be turned on and off with a simple enable/disable checkbox
  • Another option to implement this could be a tooltip that shows only if the mouse hovers over the filename
  • Instead of always display the first markdown cell, there could be a dedicated "file description cell" which is the source for the content
  • Another useful feature could be a quick search function which would allow to filter files by search terms

Pros

  • Better overview
  • Information about file available where I need it
  • Can avoid the "I just start this and this and this and this notebook and scroll down in all of them until I find what I was looking for"-situation
  • Slight taste of "project support"

Cons:

  • Potential performance impact (?)
File Browser Enhancement

Most helpful comment

@takluyver What do you think would be the bottleneck? The browser or the parsing of the markdown? Imho this should not impact the performance a lot even if one had 100 files in one directory (which I guess is quite uncommon).

All 10 comments

Interesting idea. We're reluctant to show anything in the list that requires reading the file, though, because that makes it slower to show the list, especially with many files.

@takluyver It surely could have an impact on the performance although I don't know exactly what it would take to get that information out of the .ipynb file or whether one could "cache" that somewhere. There could also be a checkbox to enable/disable this function - just throwing in some ideas :)

All I can say is that a lot of files make it sometimes hard to find the right one and sometimes in larger projects many files can accumulate - with the ability to display a short description with some minor information about that file the search could be a bit more convenient.


That being said: It could also be a tooltip/pop-up - it does not have to be displayed in the file's row - that means one could also fetch that information just "on demand" for example - although this does slow down the "search process" since I'd have to hover over each file before I can read its description.

What milestone are we supposed to add now that "wishlist" is gone ?

I've been using 'backlog' like 'wishlist'. I don't see us doing this any time soon, though, because of the performance issue.

@takluyver What do you think would be the bottleneck? The browser or the parsing of the markdown? Imho this should not impact the performance a lot even if one had 100 files in one directory (which I guess is quite uncommon).

Opening and reading all the files is non-trivial, especially if they're on a spinning hard drive or a network-mounted filesystem. We also don't have a good way to get metadata without reading the whole file, but I suspect that even reading part of every file would be too much overhead.

@takluyver Okay, that sounds reasonable. In that case I guess this won't make it into the todo list any time soon - if at all. :D

I'll confirm what @takluyver said, we even had a long-ish discussion about having a different icon per language (as the language is in the metadata), and after much discussion we decided that it was not worth it.

While it could be fast enough in some rare case (notebook stored on DB instead of filesystem) anything that requires taking a peek into the file will likely not be worth is.

let's add that as wishlist and revisit at some point in the future.

Fair enough :)

Duplicate of https://github.com/jupyter/notebook/issues/396. Let's close this and move discussion there.

Was this page helpful?
0 / 5 - 0 ratings