Au revoir Bookends, bonjour Zotero

I haven’t tried this yet, but really is exactly what I’ve been grappling with. My current workflow is reading and annotating in Bookends (on my IPad), then running a shortcut to get my annotation summaries to Drafts, where I clean them up. (I just posted over in the Drafts forum on my frustrations trying to resolve the page numbers, which tend to always start at page 1 no matter the actual page numbers- I’m looking for a regex fix). The markdown file is sent to Obsidian to get translated into permanent notes, which is then indexed by DTP. But these posts may tighten this all down - thanks!

For sure, you’re welcome! I can only provide limited support, but if you have questions, feel free to DM.

1 Like

I appreciate the offer, but Bookends and I have broken up.
I really don’t see getting back together because reasons.


This topic is invaluable! I’m in the process of moving from Windows to Mac and while I find no evidence for the “Mac just work” myth (i.e. it seems to be a myth), I’m still willing to explore the Apple world.

Anyway, this involves replacing my current reference manager (Citavi), which is Windows only and I’m stuck between Bookends and Zotero, but without really having tried either of them yet. I’m still trying to figure out how to import everything from Citavi into each of them, but it has become apparent that custom scripting/configuring will be necessary in both cases. However, I have no prior experience with neither JavaScript (the importing language for Zotero) or Applescript (for Bookends). So do I want to learn/accustomize myself with both, just to see which import works better and which ref manager works better? Not really.

So this is why I’m so happy to find this topic (previously I’d only seen the one from last year), which pushed me towards bookends). I’m fascinated by @ryanjamurphy ‘s combination of the two (plus integration with Devonthink, which is the actual reason for my transition to Mac, and Obsidian, which I already use) but I’m still not sure whether it mightn’ t be a lot easier to just use Zotero only, no bookends, keep it simple etc.

Both @ryanjamurphy and @JohnAtl have their gripes with bookends, so, obviously it’s not perfect, plus, it’s not open source, which can be an issue years ahead and I don’t really want to migrate my 7000+ references ever again. And, tbh, when I first opened bookends and imported some references, I struggled for like 15 minutes to figure out how to edit those references. Not exactly what I call good UX. So I’m afraid this sort of thing might continue with bookends. And the absence of documentation online is also frightening. At first, I dismissed Bookends because “obviously” no one was using it. I still don’t understand it, but it seems U have to adjust my expectations from the Windows world to the (smaller) Apple world.

Anyway, long story short, I wonder if you could specify some more of the downsides of both Bookends and Zotero? If you feel it’s important, I’ll also happily read the upsides, but I’m a believer in negative reviews as they tend to give you a more sober picture when trying to decide between two very good products.

Perhaps the positive comments would be most relevant in relation to MacOS integration because that is something I can’t really appreciate yet (e.g. I still need to do a tutorial on how to use tags in MacOS, and Zotero does seem to integrate with Alfred, so I seem to me missing the nuances when I don’t see how it would give bookends so much of an advantage).


Welcome to MPU!

I’d say your first impression of Bookends is pretty accurate. There’s no reason to use it unless you hate the other options more…

Oh, before I forget, the manual for Bookends is in the Help menu on the menubar.

Off the top of my head, here’s what I dislike about Zotero:

  • Performance. I have about 1500 references and i haven’t liked how it behaves with that many. I would try your 7k and see how it feels. Maybe it was just me and my machine.
  • Non-native UX. Zotero feels super out of place on a Mac—once you’re used to a lot of the Mac conventions, anyway!
  • Customizability. While Zotero has a rich plugin ecosystem, I found the edge cases in use I’d run up against finicky to resolve.
  • Mobile integration. I did not like using Zotero’s Zotfile plugin to manage PDF files and their annotations, especially when trying to keep those files synced with an iPad and with DEVONthink. Bookends isn’t much better on this front but I find it more robust somehow.

I wouldn’t say the above qualms are well-justified. My problem with Zotero is ultimately more a feeling built up by the above issues over a few years of use than anything else. Like John, though, I could probably switch back to it and be happy that the grass looks greener again for a little while.

1 Like

Welcome to the Mac side!

There are a few developers that I know of that graduated from the Henry Ford School of Software Development. Henry Ford is known for making only black cars because that was what he thought people should want. reference

When you use Bookends, you get the reference manager that the developer thinks you want. To go a bit further, you get the reference manager that he thinks you wanted several years ago. These design and implementation details, it seems, are not generally subject to revision. For example, the user interface and the interactions needed to work with the software. If the software works for you as it is now, that’s fine, but know that any feature you might hope for will probably not be implemented. He did put something back the way it was, which had broken my Keyboard Maestro workaround for Bookends not having tag lookup or autocompletion.

There is currently a bug in Bookends where it creates three entries (two empty) for each paper it imports from the folder it watches for new papers. The developer can’t reproduce the bug, and has washed his hands of it. I have put some time into trying to figure out what the problem might be, but ultimately, this is not my bug to fix. To me, this is not good support. I have fixed bugs I couldn’t reproduce in applications I wrote, and fixed bugs that caused issues no one noticed. If you can potentially live with any bugs that might come up, then this won’t be an issue.

I’m still new to Zotero, so don’t have a list of complaints. Looks like @ryanjamurphy has that covered.

I frankly don’t find the Bookends UI to feel more native than Zotero. It has its own idiosyncrasies. Maybe I’m missing something, here are two screenshots for comparison:

1 Like

I think you’re referring to the sacred practice of “artisanal” software development? :upside_down_face:

I too have been quite frustrated by a total lack of caring from Sonny Software on the issues I’ve reported.

Definitely shouldn’t make or break the choice of reference manager.

I think Zotero just feels like Java to me, which reminds me of the all-nighters I spent in my CS undergrad trying to fix bugs in that week’s assignment. Bad memories.


Much like artisanal cheese.

1 Like

This makes three. Not so much for the total lack of caring on the part of Sonny Software. Rather for the stubborn underlying insistence that Bookends is absolutely and fully fine way that it is now, and that it will remain so likely for all eternity.

Both require you to program to do certain basic chores. Each has its own either outdated or idiosyncratic UI. Bookends will eventually annoy you by how much you have to muck about in various places in the UI to sustain a certain workflow.

I am currently back to test driving ReadCube/Papers. Yes, it costs more. However, it is professional in its approach to reference/citation management by comparison to Bookends, and it is dedicated to PDFs by comparison to Zotero.

For reference, the one thing that I do not necessarily need a reference/citation manage to help me do is to annotate/markup on my PDF journal articles.


Guys, thanks a lot! Really helpful!

No way! I just glimpsed at those bookend “support” threads you linked and I was like: I know this. This is me doing everything to get support get done what they need to do but failing. The ambiguity in the previous sentence regarding who is failing was not intended but is probably accurate.

No, but seriously: one of the reasons I’m making this quite laborious transition to Apple is that I’m somehow hoping to be using more serious software in the future. Whatever serious means here. Maybe functional? Probably customizable. I’m aware that customisable doesn’t always go so well with Apple. Much of the success of the eco system is based on limiting customisability and keeping a tight control on things. And I will probably see the benefits once I’ve learned the apple UX. BTW, John, I think Ryan was referring to UX in a broader sense not just UI. But I’ll let him explain what exactly that means in this case.

Here is a random nuisance that I just stumbled upon today while trying Zotero: I have quite a lot of collections (not sure how many, maybe 100-300) and in citavi I would Type “cog dis” and it would return all collections (called categories there) containing those terms, like “cognitive dissonance”. In Zotero, it looks like I cannot search at all for collection names. Until I get my brain to think differently about this (maybe switch to use more keywords?) this is almost a dealbreaker for me. Haven’t checked yet, what it looks like in bookends.

Another nuisance: I wanted to clean out my Zotero library to do another test-import, and while it’s easy to delete multiple references, collections have to be deleted more by one (confirming the deletion with enter every time. While this is not a huge issue, it kinda tells me that such issues are either not a priority for Zotero developers or they don’t even think its an issue. So if that artisan bookend developer pays attention to such details, it would be a plus. But otherwise what you’re telling me rings my alarm bells telling me: better not fall in love with bookends, or you’ll be in trouble.

1 Like

Whaat? Is it that bad? Cost is a factor (but if it works so much better, 5 USD/month might be worthwhile), I’m more worried about futureproofness and the vested interests of the parent company. The promise that Papers can do everything, including pdf annotation is tempting, but I’ve so often been disappointed by the promises of those shiny glossy commercial apps, that I’m trying to steer myself away from them, just like I steer myself away from the candy jar as much as possible. But hey, why don’t you tell us about your experiences? Your experience with both Bookends and Zotero makes your opinion on Papers extremely valuable :grimacing:

For various reasons, I am unfortunately not at a point in time that I can make coherently fair comparisons.

Perhaps to counterbalance the negative impressions I have given about Bookends and Zotero, I would say this: When you need a high degree of flexibility in reference/citation management, the ability to separate your collections into self-sustained libraries, and tight integration to other apps in macOS eco-sphere (e.g. DevonThink), use Bookends. When you need the ability to pull references from a wide range of resource types (e.g. PDFs and Webarchives and …), the assurance of a strong community of users for support, and collaboration with users who are not macOS centric, use Zotero.



For what it’s worth, I’ve had no issues with Bookends really. My main complaints have been that it never really replicated what I loved in Sente (who abandoned us years ago). I’ve accepted some of the eccentricities of Bookends due to all the flexibility that folks here are pointing out (and a good, if small, community of users).


If I can jump in here with an iconoclastic suggestion, consider BibDesk. It has very robust AppleScript support which has kept me with it even though I don’t use LaTeX.

Here’s what I have currently in my scripts folder (some outdated) - I can’t imagine managing my reference library (6900 items) without them:

File Name Kind Parent Folder
Add Google Scholar URL.scpt Applescript BibDesk
Add to Groups.scpt Applescript BibDesk
BD to OmniFocus - selection.scpt Applescript BibDesk
BibDesk Keywords-Ulysses Keywords.scpt Applescript BibDesk
BibDesk-MavericksTags.scpt Applescript BibDesk
Clear Current Reading temp folder.scpt Applescript BibDesk
Export for FileMaker.scpt Applescript BibDesk
Get reference from PDF.scpt Applescript BibDesk
Make New Ulysses sheet with citation & attached notes.scpt Applescript BibDesk
Make New Ulysses sheet with citation.scpt Applescript BibDesk
Merge Publications.scpt Applescript BibDesk
Save File Locations as String.scpt Applescript BibDesk
Archive Folder BibDesk
Add AS URL.scpt Applescript Archive
Add Selection to Group.scpt Applescript Archive
Add jstor URL.scpt Applescript Archive
Article JSTOR Download.scpt Applescript Archive
Cite In Nisus.scpt Applescript Archive
Books Folder BibDesk
Add Google Book URL for edited collection.scpt Applescript Books
Add Google Book URL.scpt Applescript Books
Lookup Publishers.scpt Applescript Books
Open in Amazon.scpt Applescript Books
Open in Google Books.scpt Applescript Books
Cite in Pages Folder BibDesk
CiteInPages alpha-numbered.scpt Applescript Cite in Pages
CiteInPages author-date.scpt Applescript Cite in Pages
CiteInPages numbered.scpt Applescript Cite in Pages
CiteInPages text citation (Pages 3).scpt Applescript Cite in Pages
CiteInPages text citation (Pages 4).scpt Applescript Cite in Pages
CiteInPages.scpt Applescript Cite in Pages
Cite in Word Folder BibDesk
BibFuseFormat.scpt Applescript Cite in Word
BibFuseUnformat.scpt Applescript Cite in Word
Cleanup Folder BibDesk
Clear 1st URL.scpt Applescript Cleanup
Clear Annotations.scpt Applescript Cleanup
DevonThink Export Folder BibDesk
bd2dt - create.scpt Applescript DevonThink Export
bd2dt - files.scpt Applescript DevonThink Export
bd2dt - link.scpt Applescript DevonThink Export
Groups Folder BibDesk
Bulk Rename Groups.scpt Applescript Groups
Create Alpha Groups.scpt Applescript Groups
Create Groups by Date.scpt Applescript Groups
Make New Bib from Groups.scpt Applescript Groups
Keywords Folder BibDesk
Add Keyword with Tag Cloud.scpt Applescript Keywords
Add Keyword.scpt Applescript Keywords
Create Keyword Freelist.scpt Applescript Keywords
Refresh Tag Cloud.scpt Applescript Keywords
Replace Existing Keywords.scpt Applescript Keywords
Suggest Keywords.scpt Applescript Keywords
View Tag Cloud.scpt Applescript Keywords
keywords2tags.applescript Alias Keywords
Markdown Folder BibDesk
Send MD Source list to Clipboard.scpt Applescript Markdown
Send MD link to Clipboard.scpt Applescript Markdown
Send MMD CiteKey (Choose) to Clipboard.scpt Applescript Markdown
Send MMD CiteKey (Selected) to Clipboard.scpt Applescript Markdown
Note Creation Folder BibDesk
Make New md with citation.scpt Applescript Note Creation
Make New rtf with citation.scpt Applescript Note Creation
Make New rtfs with citations.scpt Applescript Note Creation
Script Hooks Folder BibDesk
BD to OmniFocus - script hook.scpt Applescript Script Hooks
Import Publication Actions - Script Hook.scpt Applescript Script Hooks

Script Hooks are worth checking out - they let you add scripts that fire automatically on various actions (e.g. saving your file, creating a new entry etc.

The suggest keywords script calls a python script I cobbled together - it’s about 40-50% correct but running it forces me to reflect and add keywords rather than accumulating refs. without adding metadata.

See also:


Essentially, you’ve created your own application, and BibDesk is providing the database. Which is fine, of course, but it looks like BibDesk is but a small part of the system.

One thing that’s nice with Zotero ( with BetterBibTex) is that it will automatically update .bib files you’ve exported (if you want).
So I can drag a ref to my collection for this paper, switch to Obsidian and reload and the Citations plugin knows about the new addition.

1 Like

I second BibDesk for the process of including citations into a document, especially with LaTeX.



@toffy Note that coming from Citavi sets a very high bar w.r.t. software capabilities and quality of support (I could experience this first hand when I worked for them to bring Citavi to the Mac – the project was eventually abandoned in favour of the Citavi web version). However, I’ve also worked for Papers (pre ReadCube) and (as a contractor) for Bookends, and I can attest that the people behind these tools were/are very much dedicated to develop sound reference management solutions.

Personally, I wouldn’t dismiss an entire app based on some public support threads. For a developer, it’s often very tricky to balance individual user requirements/wishes with the overall goals of the app and its target user group. Also, feature requests that may seem straightforward to implement from the outside often aren’t easy at all, and may technically be very challenging to implement. As an example, adding fully featured AppleScript support to Bookends (which I helped to implement/design) wasn’t easy. This is since Bookends is a Xojo app which, by default, only supports raw AppleEvents but not AppleScript. So there’s often technical challenges that the user isn’t (and shouldn’t need to) be aware of.

Overall, and ignoring their individual idiosyncrasies, I think that both Bookends and Zotero are robust apps with sound support. And both apps have been (and likely will be) supported long-term (Bookends even since 1984!). Will these apps leave things to be desired? For sure! But both can be scripted to fine tune to your needs (though I think, on a Mac, AppleScript automation is easier and also works between different apps).

W.r.t. the issues you’ve mentioned:

  • Bookends offers a “Find A Group…” command (available from the source list’s contextual & cog wheel menus) which will select the first matching group.
  • To batch delete multiple user-created groups in Bookends, select them all (via shift-click) in the source list, then hit the Delete key and press “Delete” in the displayed dialog. Alternatively, you could also batch-delete multiple groups via scripting.

Given your in depth knowledge of both Citavi and Bookends, how would you go about importing a citavi database into bookends? I’d like to preserve as much information as possible (even the “date created” and “date modified” are valuable to me), but especially important would be the attached pdfs and the notes/quotes. As you know, notes in Citavi don’t have to be associated to a reference and I can see how those might pose a problem for bookends, so we could drop those, if necessary.

I‘d try out each of the export formats supported by Citavi and see which is the most lossless. RIS doesn’t appear to be the best choice. IIRC, the EndNote XML format should be supported well by Bookends. I’m not sure but if you copy your PDFs into the default Bookends attachments folder, Bookends may even be able to auto-match them. Otherwise, it should be possible to open the Citavi export file in a text editor and change all attachment paths to the path of the Bookends attachments folder.

I remember that Citavi also offered its own (Citavi XML) exchange format. This likely would be the most data-rich format. But one would need to write a script to import this into Bookends. Maybe you could try one of the standard exchange formats (like EndNote XML) first, and then only use a script to pick missing data from the Citavi XML. This, of course, requires some coding. I could help you with this but my time is unfortunately pretty limited right now. Alternatively, it‘s definitively worth asking in the Citavi and/or Bookends forums about your specific issue.

1 Like

Wow, I really appreciate your tipps. My impression is that either endnote XML or ENL are the only real options here because the others don’t support quotes/comments. In fact, I don’t even know whether the endnote formats do. Perhaps not. There is probably a good reason why the guy who wrote the Citavi to Zotero export translator is not using any of the official export formats but rather Citavi’s backup file (which is a zipped XML file. Not sure whether it’s the same as the Citavi XML that you’re referring to but I suppose so.

Actually, bibtex might also be an option because bibtex export is heavily customizable in Citavi, but even if it goes as far as letting me include my quotes, it would then still require a custom import on the other side, so I’m not sure how much work can be saved going down that path.

I haven’t gotten down to testing bookends import yet (currently testing Zotero import) but I suspect that I would end up importing that Citavi XML to bookends and if I do, it’s good to know I can ask you stuff (really appreciate it) but to be honest: I just noticed (by looking at your homepage) that you’re the developer of keypoints and I’d much rather have you work on that… When I discovered it a couple of weeks ago, I was thrilled and knew immediately that this is what I want. But looking at the progress history, I wasn’t too optimistic about when it will be released. No wonder when the developer offers his time to strangers trying to import stuff into bookends :wink: (No offence! I really appreciate it, but speaking from experience, I see some procrastination going on here…)

That said: could you point me to some existing import file (that would be an apple script, from what I’ve understood, right?) to give me an idea of what kind of work would need to be done?

Another thought: Since it looks like I can get my stuff into Zotero by editing the existing import script, maybe the easiest way to get it into bookends would be by exporting it from Zotero?

Oh, and another quick question: when I try in Bookends to import from Endnote, it askes me where the Endnote app is installed. Do I have to install endnote just to point bookends to my ENL file?