Bike 1.11 (120-126)

Needed one more release. I started recreating some of the demo AppleScripts and found I needed to expose more features. The Get Rows action now allows you to get root and also get rows by Id.

The create row action now has a “Find or Create by Id” option. When set your outline will first be searched for the specified ID, and if it exists that row will be returned. Otherwise a new row is created that uses that Id.

I actually liked that you used the default Find Rows action with the predicate builder. It had the same UX like all the other actions for finding calendar events, files, reminders, Things to-dos etc.

Now its just says “Query” which is not helpful.

As I wrote out my argument for why I changed to custom filter I realized I didn’t have to change to custom filter :slight_smile:

Will post 124 to reverse this in 15 min.

1 Like

I had to adjust demo shortcuts to use generated Find Rows. Here’s the updated shortcuts for Bike 124:

Bike Shortcuts Demo.zip (38.2 KB)

Thank you for reverting it! :pray:

As I wrote out my argument for why I changed to custom filter I realized I didn’t have to change to custom filter :slight_smile:

Will post 124 to reverse this in 15 min.

This is why I use a small outliner app called Bike. It helps me figure things out. You should try it out, it’s pretty cool. :wink:

1 Like

Found two bugs in previous version so here’s 125:

  • Fixed broken autocorrect and selection behaviors
  • Fixed previews and thumbnail generation performance

(in 124) … Last, a text editing crasher bug was discovered and fixed.

Turned out there was an edge case that I missed and that caused problem with autocorrect and selection.

The previews and thumbnails fix is potentially big if you had really big files. I noticed my thumbnail generator was using gigs of memory sometimes… oops. Turned out something was called on a thread I did not expect and that caused a whole host of problems.

To further improve that process I’ve also started truncating the previews. This makes thumbnail generation and previews almost instant even in large 40+ mb files. I think it’s working well, but let me know if you see problems.

I’m playing with Shortcuts at the moment and this one was pretty fun:

Save Link.shortcut.zip (11.9 KB)

  1. Get current Page

  2. Find Existing (or Create new) Links row

  3. Add a new Row with the current link.

    This is the part that got me excited. How to get the page name and URL into Bike as a rich text link? Bike’s “Create Row” action allows you to create your row using Markdown, so I knew I wanted to get the name and link into Markdown format.

    I started by saving each value to its own variable. Then I started looking for commands to concatenate text strings. I was making progress, but it all felt a bit verbose. That’s when I discovered (or remembered) that I could insert values into strings directly.

    I deleted all my variables and thoughts of string processing and instead just typed out the markdown syntax that I wanted, and inserted the values directly as seen in the image above. And it worked. I did it all with zero Google searches. Pretty cool!

Don’t get me wrong, I still think that in many ways AppleScript is more powerful: It’s more compact, it scripts run faster, and has better reuse and modularization options.

Shortcuts on the other hand feels a little brittle. When I created a longer workflow it had scrolling problems… but wow it is so much easier! If you just want to click some things together to create a workflow I really encourage you to give it a try.

Actually, now I have multiple autocorrect issues with the latest version. It seems like Bike ignores the autocorrect/substitution bubble.

When I type a word that would be auto-corrected by macOS, it just gets replaced inline without any “bubble” showing up to dismiss the recommendation via Esc or the small X next to it.

When I type a substitution from keyboard settings, I can insert it with Space. It inserts the substitution and types and space after it. But when I delete back, instead of deleting the inserted space, it reverts immediately to the originally typed text.

I think these are all expected intended behaviors… or are you saying it works differently then Bike 1.10 and before?

Generally I dislike the standard macOS autocorrect interactions. I don’t like the suggestion bubble showing up seemingly random as I type and I don’t like the inconsistencies of when autocorrect happens and when it doesn’t.

My various complaints and design of Bike’s autocorrect behavior are described in this post: Bike: Improved macOS Text Checking

Here’s another shortcut. Similar to “Save Link” but it saves all tabs open in the frontmost Safari window. This is an interesting case, because I don’t think Safari exposes tabs through Shortcuts, so I needed to use AppleScript to get the actual tab values.

I’m not sure what to make of the final result. Since I had to do AppleScript anyway maybe would have been simpler to just do the whole thing in AppleScript. At the same time to write the AppleScript I had to do a few google searches to remember all the syntax… then once I got data back into Shortcuts I just snapped things together without needing to look anything up.

Bike-Save Safari tabs 2.shortcut.zip (12.5 KB)

Is anyone here running macOS 13.2.x or earlier? If you are do Bike’s shortcut actions show up in the Shortcuts app? I have one report that they don’t, but the only thing I can see different is I’m running latest macOS and they are on 13.2.1.

Here’s an improved version:

Bike: Save Safari tabs.shortcut.zip (12.3 KB)

I still need to call out to AppleScript to get the tabs, but the code to get those values back into Shortcuts and sent to Bike is now much shorter.

If you know nothing about shortcuts I might be able to teach you something. I’m still learning too, so don’t tree this as authoritative, but it shows how to bang rocks together to get something you want (In this case steps to create a shortcut that saves current safari tab into Bike):

Yes Jesse I’m finding Shortcuts quite a helpful way of working with Bike and I want to learn more. I’m wondering if you could find a few moments to take all of the work and helpful tips on Shortcuts and collect them all into their own Working with Shortcuts category here rather than in the 1.11 Preview. Just a bit of an organizational request for the forum.

1 Like

Yes I will eventually put stuff in the user guide and gather shortcut links on Bike’s wiki page here in the forums.

Bike 1.11 is out, onto next version:

https://www.hogbaysoftware.com/posts/bike-automate-with-shortcuts/

Loving the new shortcuts support!

On a side note to the main new features, 1.11 (126) introduced a new bug for me when in Typewriter mode.

When at the top of the document, Bike still centers that first line, so there is a huge block of unusable/unclickable space above the first line.

I assume this is a bug because this is not the behavior in the release version of 1.10.1 or any other version I’ve used since Typewriter mode was introduced. If this is intentional, I’d vote for reverting back to the old way. I find it strange to have a large unusual space above the first line, and the old Typewriter behavior of centering only once the document gets long enough is more consistent for me.

Images of the new behavior in 1.11 versus 1.10.1 attached.


1 Like

This change was intentional. Previously I had a dynamic top margin based on window width. That made it not so necessary to apply typewriter mode when at top of document.

I got quite a bit of feedback that people didn’t like that dynamic top margin, and so now it’s much less prominent, and now if you start typing a new document in fullscreen mode (without typewriter mode) you’ll be writing quite close to the top of the screen.

So now fullscreen mode is more of a “mode” you are in instead of a setting. When it’s on it’s applied. If there’s demand I think I may add an additional typewriter scrolling mode similar to “Variable” that’s offered by Ulysess. If/when I do that then you wouldn’t see the spacing above… but at the same time the spacing above does provide a function, it allows you to start typing a new document in the center of the screen.

Congrats. I’m absolutely thrilled with what you’ve done with Bike and where it’s going. Thanks again!

1 Like

I see what you mean about the start experience in typewriter mode in full screen. It makes sense to start in the middle. I like typewriter mode in regular floating windows and I can see how some might still like the text to start in the middle of new documents in windows too. Looks cool.

The jarring part of the new implementation for me is when scrolling back to the start in a long document with the new typewriter mode on. Now you get a large, unexplained, and unclickable block at the top of the document while the texts flows down the page and off the bottom of the window. It’s this look/scenario that made me think it was a bug.

I personally prefer a typewriter mode where the start of the document is at the top of the window and the typewriter cursor positioning kicks in once you move further down the page (as Bike did in 1.10.1), but I can see that is a preference. I’m not familiar with the variable typewriter scrolling mode in Ulysses, but it sounds like it might do the trick to balance all the use cases, if and when it makes sense to add that.