← Back to team overview

zim-wiki team mailing list archive

Re: Evernote/Footnote-like UI change?


On Mon, Jan 9, 2012 at 02:30, Jaap Karssenberg
<jaap.karssenberg@xxxxxxxxx> wrote:
> On Sun, Jan 8, 2012 at 5:09 AM, Adam Porter <adam@xxxxxxxxxxxxx> wrote:
>> For a long time I've been thinking of some kind of Evernote/Zim
>> hybrid, one that could display and tag notes separately, but display
>> more than one "note" in the right-pane, rather than a single large
>> page.  I just discovered this:
>> http://bassultra.deviantart.com/art/Footnote-Note-Taking-Application-273031292
>> I'm sure it's nowhere near Zim now, but the UI is very close to what
>> I've been imagining.  It would be great if Zim could display a subtree
>> of notes in the right pane, instead of just a single note.  Then it
>> could have a dedicated tag strip, dedicated date field, dedicated
>> title field, stars or flags, etc.  Or, if a single note was displayed,
>> it could look like it does now.
>> This would make tagging so much more useful.  It would also let notes
>> be organized in a more detailed way, like Evernote.
>> I'd start coding this myself, but I know very little about Python and
>> Gtk.  So this message is just my throwing the idea out there to see
>> how it's received by the Zim crowd.  I know there are plenty of
>> wishlist bugs already.  I'm interested to hear your thoughts!
> I really like that screenshot - it looks like a very nice and clean
> user interface!
> But making zim do something similar is easier said than done. As you
> pointed out in the other mail, zim is tuned towards "page size" notes,
> not small snippets. To get in this direction there are basically two
> options:
> 1/ add snippets as paragraphs in a single page
> 2/ add snippets as separate pages under a namespace
> If I understand correctly you propose to go for option 2/ and have a
> special view where all notes in a particular subtree are scrolled in
> one view. My main concern is how to make this scalable. It will work
> fine for a few hundred small notes, but it will have hard limits as it
> starts taking more memory etc. once you start loading thousands of
> notes. So it would need some nice cruft to load pages on demand, while
> presenting it as a continuous widget.

You understand me perfectly.  :)  Personally, I don't think I'd want
to have thousands in a single subtree, although I can imagine a
collection growing over time to reach such a number, so I suppose Zim
should be ready for that.  What if it only loaded a certain number of
notes into the view at a time, ordered by date, and then added more to
the view when the user scrolled near the end of the list?  Or could
that be done in a background thread after loading the initial set?

> Correctly zim supports option 1/ much better. For example tags are
> supported inline instead of as a bar along the bottom of the page, so
> you can add tags per paragraph and use "find" to locate them. In
> addition you could take the new Table of Contents plugin [1] to get an
> overview of all snippets in the page. Admitted, this has the same
> limitation in scalability if you dump everything in a single page, but
> it doesn't require new code and you can subdivide over as many pages
> as needed.

I haven't tried the new plugin yet, but it sounds nice.  :)

> Regards,
> Jaap
> [1] https://bugs.launchpad.net/zim/+bug/373280