A space for notes in the outline

There has already been some discussion of importing and exporting ‘Notes’ and you can experiment with importing notes from Zavala and OmniOutliner opml by using a draft script.

Attaching flat (non-outlinable) text to outline rows is a non-standard use of OPML which uses a special _note attribute (introduced by Omni in their OmniOutliner, and copied by some other apps, including Zavala, but not part of the OPML standard).

As it’s not part of the OPML standard, the implementation is inevitably a little hit and miss, and you’ll see below that the contents of Zavala OPML _note attribute are not fully compatible with those of the OmniOutliner OPML _note attribute. Zavala doesn’t XML-encode (and thus loses) line breaks in the notes.

If you start with an OmniOutliner OPML outline like:

And then open it in Bike, you will, at first, not see the contents of those special non-standard _note attributes:

But if you run the script above, you can toggle their contents between the invisible _note attribute and actual visible outline rows, prefixed by >


Click the play icon at bottom right of the animation below:


toggleNotes

In the case of a Zavala OPML file, however, in which the _note attribute line endings are not XML-encoded, the line breaks are lost. You will see this if you open Zavala-exported OPML in OmniOutliner too.

Screenshot 2022-07-12 at 13.30.36


Personally, I no longer use the _note attribute “Notes” feature which Omni introduced, and which others copied (with variations). Not just because it is non-standard, and implementations vary, but more importantly:

  • it offers only a shallow version of outlining, in which headers can be indented and outdented, but note text is flat, and lives in a slightly different universe
  • I think it’s a hangover from the days of email (Subject + Contents) , and of
  • the TOC table of contents model, in which outlining is only for subject headings.

I prefer to make a deeper use of outlining, in which indentation can express not just subdivisions of a topic, but also the relationship between key points and supporting points (claims and clarifications, assertions and evidence, modulations of confidence and attitude) which are at the heart of how we organise and reorganise our thinking.

As a footnote, here is a diff showing that in the original OmniOutliner version of these non-standard _note attributes, line breaks are properly xml-encoded as 
 and thus preserved,

whereas in the Zavala OPML export, they are left as unencoded linefeed characters, and thus lost if imported by OmniOutliner etc.

Expand disclosure triangle to view OO file to left, Zavala to right


PS I think the intention is that Bike stylesheets will let you flag some rows as Notes, but in the meanwhile, if you want to batch-toggle a prefix like > in a set of selected rows, you will find a script for that in the Bike Extensions Wiki


PS Remember, of course, that a Bike paragraph can be as long as you like – putting aside import and output for the moment, you can write your notes directly in Bike, without any need for a special secondary notes mode.

Just indent them under their parent rows.

And, even better, you can outline your notes.
No need for a flat and undifferentiated chain of paragraphs.

2 Likes