Why is it that (some) Bookends drags are so slow?

I’m on a relatively hefty iMac Pro over here, and for some reason I’m frequently waiting on the pinwheel when I option-command-drag references into Tinderbox.

There are some references for which the drag is nearly instant, but most references can cause delays as long as 5 seconds.

I’ve attached a pair of samples from spindump that I caught during one such long-running drop operation. It looks like y’all are synchronously waiting on an NSOperation to finish executing an AppleScript operation.

Why use AppleScript to fulfill a drag & drop? Is there not enough data on the pasteboard that comes from Bookends to provide what Tinderbox needs?

Thanks,

Chris

Tinderbox.txt (10.6 KB)
Bookends.txt (170.6 KB)

No; Bookends doesn’t provide sufficient information. It gives us a reference ID, a token we can redeem for the RIS reference we need.

We could (and probably should) make that asynchronous; I’m not sure the attendant complexity is entirely worthwhile, and worry about various edge cases.

Ugh—asynchronous AppleScript processing is likely not worth the Pandora’s Box it’ll certainly unleash.

Here’s an alternate idea: What if you & the Bookends folks work out a new UTI for “enhanced reference data” to be included on the pasteboard? The way I see this working is as follows.

They’d continue to put whatever they already place on the pasteboard (for backwards and compatibility with other apps), but they also include a larger payload with “everything but the kitchen sink” that you declare support for in a future update. On your end, if the enhanced data is available, you process it all on the spot.

Stuffing the pasteboard with a number of different types/formats is nothing new. You should see the kind of baggage iTunes/Music throws on the pasteboard when you drag a song around… :smiley:

2 Likes

I have found Jon at Sonnysoft (the maker of Bookends) very responsive and open. So I hope applying some artisanal software love will get this suggestion realised. I, too, would find that very helpful. The present slowness keeps me from dragging things from Bookends to Tinderbox (for fear of it crashing), and that I would like to change. So, I clearly second the suggestion, @eastgate :wink:

1 Like

@abusch Yes, I’ve recently been made aware of that fact. :smile:

Jon was very responsive when I asked him about this issue, and he let me know that Mellel wades through tons of data with no performance issues like this—supposedly using a similar mechanism/transport.

We’re putting our heads together :slight_smile:

2 Likes

Great! Looking forward to the results! :hugs:

Not sure if this helps with the issue.
I used to use Bookends, and this is how I created references in Tinderbox. It’s been a couple of years, as I use Zotero now.

  • You’ll need to open Biblio | Format Manager and turn on the checkbox next to RIS.fmt. (you can also tweak the format here if needed)
  • Under Preferences | Scan & Bib, under Copy Citation, change Use to RIS.fmt.

Find an entry in Bookends, right-click, Copy Formatted.
Right-click in Tinderbox and select Paste.
The ref is created. This is a reference, and not a link back to Bookends.

If you want a link to Bookends, you can right-click, Copy Hypertext Link | Copy as Link.
(Copy as Link or Text have the same result.) Then paste into the URL field reference in Tinderbox (or wherever).

Without meaning to dissent, the above is not 100% true. My Bookends ‘Scan & Bib’ setting is for ‘BibTeX’ bat a correctly Cmd+Opt dragged reference still imports RIS data.

Checking further, RIS does not need to be ticked in Bookends’s Formats Manager dialog listing for drag-import to get RIS data.

HTH :slight_smile:

1 Like

There’s a difference here between cmd-opt-drag (MWRA) and Copy/Paste (Johnson). Everyone is right.

2 Likes

There’s a new backstage release that should help…

No backstager, but looking forward to when it filters down to normal distribution!