Chronological sorting

I wonder if there’s anyone else out there with the idea that Bike could support a chronological sorting function.

I often sketch out ideas in Bike by starting with a few rows, then add nested and additional rows as those ideas progress.
But my brain is really bad at summarising what I have on screen. I think seeing a chronological summary of how those thoughts developed could make that progress faster.

This would probably mean that each row would have a @creationdate and a @modification date. A command could then sort those rows in ascending/descending order by either option. Of course there’s details regarding what constitutes a modification (i.e. is changing row type a modification or not), and how sorting would handle rows with descendants, but I first wanted to check whether I’m the only one with a use case for this :slight_smile:

Scripts can already:

  1. add timestamp attributes to selected rows, and
  2. generate custom primary and secondary sorts.

Perhaps worth fleshing out the work-flow, and taking a first guess at how you would like to trigger any attribute additions (and attribute updates) ?

(Custom data- attributes, are, of course, saved to and read from .bike files)


Perhaps the kind of thing that might benefit, if @jesse at any point considers building a JSContext for Bike, from some event triggers like row_created, row_edited etc ?

I think this makes sense down the road, I’m just not ready to do much with it today. I would also recommend using a script if you really want to track those attributes.

Definitely on this list … development is too slow! Takes a long time to get to the fun stuff.

1 Like

FWIW (looking far down that road)

I find it helpful to generate tree diagrams of outlines, and I think, in due course, animations of their development will be very interesting and helpful.

(Not only creation of rows and textual updates to them, but also the movements of rows as the outline is rethought and reshaped)

i.e. perhaps, if the time comes, not only row_created and row_modified events but also something like row_moved ?


One slightly more coarse-grained (but perhaps still useful ?) approach which is, I think, already within reach of scripting, might just be to record any changes every n seconds, where n might, I guess, have a value like 5, 10 or 20 ?

1 Like

I had this exact thing in mind when I was thinking about chronological sorting. I also wasn’t expecting a solution until 2.0 or 3.0, so far down the road, but I would like to see a native functionality of this someday.

I see two elements to this (just brainstorming here):

  1. A timeline view of the outline, similar to how document versions work in Ulysses. It’s very close to Time Machine, you get a timeline, and you get to choose which version you’d like to recall. Except here you would have a timeline of outline evolution, which you could arbitrarily drag back and forth with a slider;
  2. Additionally, or in conjunction, a mind-map overview of the outline. You could choose vertical or horizontal directions to expand branches into. And the timeline slider lets you see how the tree develops over time.

I don’t pretend to have the slightest idea how to solve the timeline generation issue or how much this would inflate .bike files, but yes, creation, modifications, movements…all of those would need to be recorded.

1 Like