Just wondering

I haven’t used outline programs for a long time (college and grad school), so this is more of a question about the expected behavior of them.

When I am typing something, I usually use an outline of sorts using Markdown headings. I noticed that Bike behaves a little bit more like TaskPaper where the parent and child relationship is more strict and having an additional space between then title and the content below breaks that parent-child relationship.

Is that something that all outline software does and it is expected or is that something that can be changed? I do like the freedom of formatting my notes and papers using spaces between headlines to create a more visually appealing outline, but those are just my two cents

Different instruments for different activities I think – organising thoughts and projects upstream, versus formatting particular documents downstream.

The value of an outliner is that it lets you quickly develop and adjust a nested structure, for example:

  • the key points and supporting points of an argument,
  • the stages and sub-stages of a process,
  • the divisions and sub-divisions of some categories.

Once an outliner has helped you quickly get the structure of your thoughts (or plans, systems) in good working shape, you can then switch to a document-formatting editor for particular project documents.

(but deep structure is more fiddly and time-consuming to re-work in a formatting editor – so you may want to come back to an outliner from time to time).

Bike works natively with three outline formats, so the routes in and out of it are quick.


Thank you, that was quite helpful. I had used outline software back when OmniOutliner came included in every Mac purchase back in the day and I used it to take college notes (which came in an outline form.)

Now… I use tags a lot in TaskPaper, and one of the most useful features for me is to activate the “archive the done tags.” I am not sure what is the future of Bike and the features planned, but would it be possible to have a routine that cleans format and checks for children objects that have parents with no information? That could be also accomplished by a script, but this is what it would check.

If there is a child that has a parent with nothing on it, attach the child to the previous parent. This can be done easily by simple moving the parent with no information to the previous sibling as a child while keeping the next text object in the same tab position.

This will help those that are coming from a “markdown” or simple text background format their writings normally while also gaining the power of an outline software.

The standards-compliant HTML outline which Bike uses by default allows for attribute values (name:value pairs like tags) attached to each line, and one could write a variety of custom exports to formats like Markdown.

(Various things could also be done with custom CSS styles, for display in browsers etc)

1 Like

(and of course the key value of an outliner is the clear separation between content and rendering – decluttering thought from the downstream noise of formatting detail etc)

See, for example:

  • Lines of Thought – Ayelet Even-Ezra, 2021, University of Chicago Press
  • Supersizing the Mind – Andy Clarke 2010, Oxford University Press

I would add that if you’ve been using TaskPaper then to me you’ve been using an outliner all along. Even using list view in the macOS Finder is pretty much a full outliner in my mind. To me an outliner is: 1. items structured in a hierarchy 2. You can fold branches of that hierarchy 3. You can focus into specific parts of that hierarchy.

Bike is very much the same mental model to TaskPaper. I’m just changing a number of the “details” like file format and editor implementation, etc. Since those details are rather large in daily TaskPaper use I can’t really make Bike into TaskPaper 4.0. It would limit what Bike can be, and also give me a ton more work. But in the Bike picture Bike and TaskPaper are pretty much the same idea.

Now… I use tags a lot in TaskPaper, and one of the most useful features for me is to activate the “archive the done tags.”

Yes, some form of tags together with queries and styles (like in TaskPaper) is also plained for Bike. This will be post 1.0 release. Same with scripts that access those tags and manipulate outline hierarchy. Pretty much anything you can do in TaskPaper I expect to also add to Bike eventually, though the details will be different.


Thank you ComplexPoint. I honestly keep using this software because I can have helpful people like you offer support and careful thought to questions and suggestions. Even if they disagree with mine, hahaha.

I will use Bike because of the same reason. I love the developer (who puts a lot of free work into being polite, clear, prompt and always helpful) and I think that the value proposition of that is invaluable. You are also one super helpful person. Thank you!

I would still like to see a little bit extra flexible with Bike and its format while keeping alive the spirit of outlines and the simplicity of them (as I am starting to understand them.) This is the example I am thinking.

This is the first thought of what I am trying to type.
    Second thought?


This is the first try of what I am trying to type

    Second thing?

In the first example, the outline model is preserved because the empty “parent” following the first possible thought is indented. I can still expand that and move around and I think it follows the spirit and purpose behind an outline. In the second example, that is lost since there is no indentation in that empty line and consequence, my second thought “has no parent.” In the first example the second possible thought is a child of the first one. Even if there is a blank space.

Now… Of course I can do that myself, hahaha. Just indent that empty lines. And if that is necessary, I will. I just think that if Bike can offer an option to do that automatically, those are the little details that make some software extra special.

I do use TaskPaper almost every single day, but all the documents I use are created by converting TaskPaper to MultiMarkdon and then maybe XeLatex-PDF’s because I don’t like the constrains of the format itself to present information to others. I also know that being able to be more flexible creating reports and presenting information is one of the things a lot of people request out of TaskPaper. Will Bike be able to do that?

Again, this are my two cents. No offense if they are taken or not. What do you think? I am open to feedback!

I got that from the release documentation, but thank you for the clarification. I am just a wordy person and was expressing what I like from TaskPaper although it wasn’t directly related to my question or issue, hahaha. Forgive me if my writings reveal show some of my “scattered brain” issues.

1 Like

I can see where you’re coming from, but perhaps that’s a downstream document layout request, rather than an upstream conceptual structure requirement ?

There’s a visible difference between these two structures (see the gray triangles)

Screenshot 2022-01-21 at 10.58.48
Screenshot 2022-01-21 at 10.58.33

and at the structure-shaping stage that difference has a meaning which may well be useful.

I think it might be a pity (and, in fact, a reduction of flexibility) to remove the possibility of representing that structural difference.

(For the subsequent generation of sequential formatted documents, a script could certainly automate the kind of post-processing that you describe)

1 Like

I think Bike does generally do this already as you edit. When you create those empty lines they should be auto indented by Bike. So when editing/creating outlines I don’t “think” this is a problem.

It is true that when Bike reads a plain text format it just reads it strait… this is unlike TaskPaper which special cases empty lines and sets them to the same indentation level as the next visible line. Is this what you are talking about… how Bike reads plain text files… more than how it edits outlines?

I don’t think I’m opposed to adopting TaskPaper’s behavior for the reader, it’s just a little more complex to code and I’ve been going with simplest possible solution at the moment.

1 Like