Foldable comments/footnotes + Column Editing

I have just finished my first little project (a scientific paper of only 12 pages) in Scrivener; everything went so smooth, I decided to buy it. Now, as an owner, I rethought some of the features and though I find the feature set more than satisfying for a 1.0 release, I have two things to add:

  1. I read that somebody was displeased with the way, annotations are implemented. Let me first remark, that being able at all to annotate text in place was one of the main features that sold me. However, I admit, that longer annotations (I have that habit) tend to disturb the reading flow. How about making them foldable? Upon folding, just the first two words would be visible, followed by an ellipsis and a clickable triangle which unfolds the comment/annotation. A bit like in TextMate, but inline. Anybody?

  2. It happens rather often to me, that I have to annotate or comment an existing text; another example would be preparing an exerpt or answering a long email. In these cases it is mandatory to have the original text and the comment side by side. Normally, like on paper too, I do this in a columnar manner. Left column is the original text, right comlumn is, what I am working at. I am aware, that Scrivener lets you split the screen. However, the connection between the two visible documents is easily broken, and already a little scrolling can lead to lose the association between a paragraph and its comment or summary. Don’t you think, a column-editing mode could be much of a benefit?

Thank you very much for consideration,


  1. Foldable annotations is a very old request. :slight_smile: In fact, it goes all the way back to the very first design concept.

Unfortunately the way Apple’s text system works, it is not at all easy to do this. There is a reason why TextMate uses its own text editing engine. :slight_smile: We are all hoping that Leopard produces some advancements in the way things are done in text.

  1. I quite like that idea. It is definitely something to think about. Although I have never seen anything like that before, so it would no doubt require a good deal of thought. At its basic principle though, you want a side that can be edited and a side that cannot. You would want existing parts to remain anchored to each other; thus filling temporary white-space between anchored parts to keep the two sides in synch. Could this be the solution to viewing snapshots in the editor? Could the left side simply be a snapshot viewer? No doubt, with something this complex it is something that will happen in the far future, if ever; but it is interesting – and it would work well in full screen, too.

Thank you very much for your prompt reply. As for foldable comments, I did not expect myself to be the first to come up with such a self-suggesting idea. However, I was quite surprised to find your pictures prettier than my imagination.

Columnar editing: I think, I need to clarify on this a bit. All I am asking for is already doable e.g. in OmniOutliner. I can set up two edit-columns. Each paragraph is treated like an outliner-entry. Therefore, its height adjusts automatically to the longer of the two paragraphs (be it in the right or left column); the whole document becomes sort of a big table. This way, the original text (which is actually still editible) and its annotations stay “in sync”. After all, it looks much like a “real” annotated book. Sometimes editing of te original text is even needed: When I break long paragraphs into smaller chunks of meanings. This way, I can “skeletonize” a text, to meticulously follow the authors thinking or way of writing, especially, if I am seeking to rebut his. - So, do you still like the idea?


I think you and I are at a common understanding regarding how such a table would act. It is pity that the built-in tables are so difficult to manage. Otherwise, such a thing would be possible even now.

As for the tables and columns thing: Scrivener is not OmniOutliner and will not support custom columns any time soon, I am afraid.

As for collapsable/foldable annotations, I really do agree with you that this would be a great feature and I would love to add it. Unfortunately, it is a lot harder than it at first appears. For a start, I have to add custom buttons to the text view. Not so bad. But then, every time the text is folded or unfolded, I have to clear the undo stack, because the text has been significantly changed - very bad. This is just one of many problems. Suffice to say that although this is a fantastic idea, technical limitations mean that it will not make Scrivener soon, though I hope that it will make it one day. :slight_smile:


I think the idea is less about OmniOutliner style data columns, or even Mori for that matter – that was just a behavioural example (right?). The hypothetical editing mode would be a 50/50 split with text on each side, where each paragraph would be in an invisibly bordered cell, so that when you added or subtracted text from one side, the rest of the document would stay together. I think that, as a way of editing the concept itself does have merit.

Having both sides editable though; seems to me it would be too messy. This would have to be an operation on a single document, splits work just fine for two different documents. If it is a single document it must be the original state vs. the edited state, and then it only make sense to use snapshots for that.

Here is how I see it working: You bring up this mode and a snapshot of the current document is automatically made, titled “Column Session” or whatever, and protected. That way if the user brings up the Snapshot Viewer they cannot delete the current version (this snapshot could even be invisible, for that matter). The ability to make new snapshots for this document would be disabled. You make your edits or comments or whatever on the right side. When finished, you close the mode (which is of course a persistent thing for that document; if you leave and come back it will still be there the way you left it), it asks if you want to use the new version or merge the two copies together. If you went with merge, the snapshot will be automatically deleted and the two copies merged with the new version’s paragraphs weaved beneath the original paragraphs. This would accommodate those who wish to use it for notes. If you chose to use the new version, the snapshot is retained and it turns into a normal snapshot that can be deleted if you so choose.

That is a basic idea (not programmatically speaking, of course). It could no doubt use refinement.


Ofcourse I do not ask for another outliner. In fact, the kind of editing I have in mind, is only rather cumbersomly achieved in OO. AmberV’s description of it as a two-column-table with invisible borders is quite appropriate. It would make life a lot easier for those, whose writing deals with the writing of others. Be it commenting, summarising, rebuting or even translation of text. It might be usefull for philosophers or reviewers, that do a lot of long annotations, which may afterwards be transformed into a text of its own. Heck, even bible-exegetes could regard this a divine feature :wink:

As for the technical implementation, I do not understand much of the snapshot-idea, AmberV sketched above. But I am convinced, from the description of what he aims to achieve, it would solve exactly what I was asking for…