A space for notes in the outline

So I am using this other app called Zavala outliner on ios

It has a space where after the outline I can also add a note text (check screenshot).

Will this be possible in bike?

There’s some discussion of notes here:

Generally I expect yes there will be, but not implemented exactly like Zavala. In particular a “note” will just be a different kind of row.


I like this idea of a “note” being a different type of attached sibling row. I could also see “headings” being done in a similar manner, with different (bold, +25% size, etc) formatting being applied depending on the row indent.

I’m hoping Bike formatting doesn’t go beyond bold, italic, strike-though, highlight, notes and headings, as then it would start to feel like OmniOutliner which is an entirely different beast. As a longtime OmniOutliner uses, I really love the simplicity of Bike and I’d hate to lose that.


I also don’t want Bike to feel like a page layout app. I think some of the key restraints are that Bike won’t add ability to set arbitrary fonts/colors/spacing throughout your document. That sort of formatting will always be done through a rules based stylesheet. And if you don’t want you can ignore that completely.


I am sure the implementation would be elegant as the prime reason I use the app is because of the effortless process of outlining on bike. But I do have older files on Tinderbox and Zavala and need to work on them in Bike or vice-versa.

So eagerly waiting for this feature than the OPML export feature would really work for me.

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:


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.


This was an interesting read @complexpoint.

While I don’t think the fact that notes are not part of the opml standard should concern us much, your point about notes not being an integral part of an outline is well taken.

I’ve been missing notes in Bike, but perhaps I don’t understand how to use outlines effectively. Any good resources out there to read more on note-less outlining?

Is that because you have thought of rows as more or less single lines, and notes as full paragraphs ?

Is there an example you could show us of how you have used note paras elsewhere ?

In Bike you can simply indent under any parent row, and use paragraphs as large (or small) as you like. See, for example, the Bike version of Moby Dick.

If there is a certain class of paragraphs/rows for which you would like a distinct appearance, then I think that would be one of the applications of the stylesheets which @jessegrosjean plans to develop for Bike.

note-less outlining?

I don’t think I would put it quite like that – I think the point is just that sequences of full paragraphs don’t – in Bike – need a separate or special place.

(One of the sources of the “heading vs note” distinction in some older outliners was, I think, that headings or subject lines were a single line in plain text, and note lines were several lines of rich text. Essentially there were two different kinds of editor in one app. In Bike you can use a row/item for anything, and it can be as long or short as you like. Above all that means that every part of your work is outlinable – not just headings )

resources out there to read

Good question : ) Should we write something ?

I’m a scientist so outlining manuscripts or projects is how I’m using Bike. Having notes attached to items allows me to develop add a few more thoughts about an item without making the outline itself too busy. Ideally, I would like a little “note” icon next to the item that could be expanded to show the notes.

In Bike these would be children of those items, and the plan for stylesheets would let you flag them as having a particular type/attribute (and thus give them a distinct appearance)

(Partial collapsing to make the outline less busy leaves a foregrounded collapse triangle where children are hidden, of course)

(and we could write a script to toggle the collapsed ⇄ expanded state of all items in the document that are flagged as notes, or of all note children of a selected sequence of paragraphs)

I thought that this feature would be good, too. However, using Bike for a little while now I just intend a line. For me, not having had this feature enforced the habit of actually using Bike as a thinking tool: I stuck to a purely outline with no attachements etc. It actually improved my way of using it as a bicycle for the mind.