· review · geek ·

A while ago, I mentioned that I’d moved to using Bookends for my paper-handling and referencing needs. I’ve been really impressed with the software and thought it might be nice to do a review. If you have scrolled down, you will already have seen that this review is a bit of an epic. Reference managers are a niche product to start with, and even if you already use one, the chances are that you will feel this is a deeply nerdy and over-detailed review. However, my impression is that Bookends suffers slightly from being eclipsed by better known and superficially more flashy reference managers, which — as you’ll discover if you read this review — I find a crying shame1. Thus, part of my motivation in writing this is to encourage anyone who is curious about Bookends to give it a proper trial. You might end up loving it.

Measuring my career in reference managers

Over the years, I must have used just about every reference manager available for the Mac. In fact, when I wrote my thesis in the early 1990s, I didn’t use software at all, just index cards stored in an index box. It actually worked well enough, but it was laborious to construct, didn’t work well when I wanted to find a reference knowing, for example, only the second or last author. Then there was the nightmare of dropping the box and spilling out all the cards (as happened to me more than once). After I had written my thesis, I decided that it was time to move into a bright and shiny future vis-a-vis referencing and start using Endnote. Initially, it felt like a a huge leap forward after using my manual, index card-based system, but after a few years, I got tired of the crashes and the fact that Endnote seemed to break after every update of the operating system, or in the final stages of finalising a paper for submission2. For an academic, a reference manager is something that you rely on almost every day. What’s more, it is your outboard brain, your precious store of painstakingly-accumulated knowledge, so you never want it to break or fail.

In the years following my break-up with Endnote I tried out various reference managers: BibDesk, Papers 1, Sente and back to Papers (version 2) again, along with a number of others I have since forgotten about after tinkering with them briefly. All had many excellent points, but all had their problems and weaknesses. My promiscuous switching between reference managers is probably only rivalled by my switching between text editors, but the comparison is telling: these are key tools in my work and using something that has irritating problems (even if those problems are minor) is like walking miles with a tiny stone in your shoe. The thing that finally prompted my switch this time was speed, or rather lack of speed. Both Sente and Papers 2 that I had used most recently were really sluggish with my database of papers. I have about 2,500 references currently (with associated PDF files), but that’s not unusual (and actually probably on the low side of many academics’ collections). They were slow to boot up, slow when searching for references and slow when inserting citations markers in documents.

Before I move on to my review of Bookends, it may be worth briefly discussing what a good reference manager should be able to do. Things have moved on from my index card days, and most reading of academic papers is now done by downloading a PDF from the journal’s website or your University library (or by asking the author for a PDF). Therefore you need your reference manager to store and organise your source PDFs and link them to the reference entry in the database. The whole workflow looks something like this:

  1. Find the reference. You may start from a downloaded or emailed PDF that you want to enter into the database, or you may visit one of the academic search engines like PubMed, Web of Science or ScienceDirect. Either way, you don’t want to have to enter all the bibliographic details by hand. Good referencing software should do that for you.
  2. Import the reference with the associated PDF. If you start from the reference, you want to download the PDF associated with it and link it to the reference at the same time.
  3. Organising. Often you don’t have time to read the paper there and then. You might import a group of references in bulk following a search or an emailed journal alert, but you plan to read them later3. You therefore need a way to mark the references in such a way that you know which are unread, which are missing a PDF and so on. If you teach, you may want to remind yourself that a reference is useful for a particular module, so that you can add it to the reading list for your students or incorporate it into your lectures when you revise them.
  4. Reading. At some point, you have to wade your way through the backlog of papers and actually read the stuff, so having a pleasant environment in which to read the paper (as a PDF) and also make notes on it is important, along with further filing or organisational features to help you make use of the paper later.
  5. Searching. Later on, you are working on a paper and need to find the references again. A decent, fast and flexible search facility is vital when you’ve got thousands of references and may only remember some snippet of partial information about the paper you want.
  6. Citing. While you are writing a paper, you need to be able to insert references into your text as citations, and then format the paper when you have finished to insert a beautifully formatted bibliography at the end. This task is made much more tricky by the fact that almost every journal uses a different style for referencing, and is very insistent that authors use that style precisely. Inevitably, the journal you have submitted to will use a format not provided by your reference manager, or will be subtly but crucially different to the built-in format. Thus you really need to be able to create and edit existing bibliography styles easily. If you’re a real glutton for punishment like me, you collaborate with academics from different disciplines and thus have to deal with both Word-using and LaTeX/BibTeX using people.

Finally, we get to Bookends

That’s a lot for one bit of software to accomplish. In truth, I don’t think that anything I have tried does all of these things perfectly (not even Bookends), and all the reference managers I have tried have their strengths and weaknesses. Some don’t even do all the things on the list: for example, if I remember correctly, the original version of Papers imported and organised your references like a dream, but didn’t allow you to insert citations in a paper.

Despite all this, I am planning to stick with Bookends for the following reasons:

  1. It is faster than anything else I have tried, and this really matters for an application that you launch, interact with and quit several times a day. Having to wait minutes for it to launch — just so that you can find the title of that paper you remember reading — is a severe annoyance.
  2. It is incredibly flexible. It copes equally well with references to books, journal articles and other sources, you can easily edit or create new bibliography styles. It also enables you to use (and easily switch between) different kinds of workflows, for example using Word and LaTeX/BibTeX, as well as handling one-off tasks like copying a collection of selected references in a nice format for pasting into an email. I suspect that I could even get it to insert Pandoc-style references and generate a bibliography if I wanted to. It will certainly work happily with text files.

I’ve found that those two benefits are more important to me than a completely perfect performance in all of the other areas. However, I don’t mean to imply that Bookends is lacking anything important, because it certainly isn’t. When you first launch Bookends, you may think that the UI looks a little less polished when compared to the likes of Papers 2 or Sente. You may even think that it looks a bit old-fashioned. Do not — I cannot stress this enough — let that put you off trying it out. It is an extremely functional and exceptionally well thought out bit of software. It’s also worth actually reading the manual because Bookends is very powerful and not all of that power is immediately obvious.

Finding and importing references

There are multiple ways to get references into Bookends, and while it isn’t always a one-step, polished process, it works very well with a variety of different sources. You can drag in a PDF and then select text in the title (for example) to do a search for the bibliographic information online. You can open a built-in browser to search one of the academic search engines or library catalogues, and then import one or more of the references on the page, with the PDF files if they are available. If you have a reference already, you can attach a local file that you’ve downloaded separately, or you can use a menu option to get the DOI (Digital Object Identifier), and then locate the PDF on the internet using the DOI with another menu option. If none of those work, you can easily enter the details manually. Like our forefathers did. One extremely useful feature is that you can update an existing reference using information from the internet. I use this a lot because I often download a reference when it is still in press (i.e. when it does not yet have a volume number or page range). Later on when the work is published, you can just select the reference and update it with the remaining information in one step.

Organising and reading

Bookends provides various ways to organise your references, including coloured labels (so that you can assign different colours for stages in your workflow), static collections (which can themselves be grouped inside folders), and smart groups which create dynamic collections. For example, I use a smart group to find all the papers on which I am an author, and another to group all the references labelled ’to read’. I haven’t really got my head around it yet, but you can even create a smart group using SQL queries on the underlying database to generate very powerful and flexible searches. You can get Bookends to generate a tag cloud from a collection of papers, which can be useful to group papers dealing with similar topics together. You probably won’t need to use all of those methods, but again, there is enough flexibility that you can find something to suit your way of working.

Reading papers is basically done through using a command to open the PDF in your default viewer. This is fine by me, as Preview is a fast and very pleasant way to read, annotate and markup PDF files. If you select the option to display a preview of PDF files using WebKit within the application, it will also display any highlighting you have applied in Preview. You can take notes in a fairly basic way by adding ’notecards’ to a reference. It works fine, but it’s not as sophisticated as, for example, Sente’s notetaking system. However, that doesn’t matter to me, since I prefer to use other applications for taking notes. As I mentioned in previous article, you can drag a reference into a Tinderbox document and it will make a new note capturing the bibliographic details and linking back to the original reference. If you have DevonThink, there is also a nice built-in template that allows you to do a similar thing and write notes in DevonThink. Both methods allow you to leverage the power of those programmes to make connections between your notes on different papers, which is really what you want when you are trying to work out how ideas fit together.

Speaking of linking, you can connect references with semantic links which define their relationship. Several relationships are already set up (e.g. Work-Commentary, Argument-Rebuttal), but you can also set up your own. You can view these links in an inspector window, and it makes it easier to keep track of the logic of your argument when you are citing work.


Bookends has a good search facility (which is very snappy), and you can use the built-in ‘Hits’ group to incrementally build a collection of references through searching and marking. It’s not the most sophisticated searching facility that I’ve come across, but in practice it works extremely well. One feature that is unusual (and incredibly useful) is the ability to search and replace within the fields of the database. It’s a great way of cleaning up the formatting of your references without having to laboriously change each one manually (something I’ve had to resort to with other reference managers).


I love the way that Bookends handles citing and generating bibliographies. I’ve already mentioned that it handles both in-text citations using placeholder text and BibTeX citations, and that you can edit and create new bibliography formats. It also integrates very well with a variety of word processors (particularly Mellel, Nisus Writer Pro, and Word), so that you can find and insert citations from your word processor, scan the document and so on. However, even if you use a word processor or text editor that is not officially supported, you can ’link’ that application to Bookends temporarily so that when you use Bookends’ keyboard shortcut to copy a citation, it switches to your application and pastes the citation at the insertion point automatically.

The whole process seems to work extremely well and is very robust. I have had virtually none of the glitches or errors that seem to plague other reference managers, which is refreshing.


This has been a rather more epic review than I had initially intended, but then Bookends is a very deep and powerful bit of software, and one that has become central to my research process. If you are in the market for a reference manager, I strongly encourage you to download a trial of Bookends and explore what it can do, reading the manual at the same time. It’s a hidden jewel.

  1. Obligatory disclaimer: I have no affiliation with Bookends or its developers, and I paid for my own copy — I’m just a very happy customer. ↩︎

  2. I’m pretty sure that the timing of Endnote crashing or corrupting its database was a special case of Murphy’s Law. ↩︎

  3. ‘Plan’ being the operative word here. Hello, 323 articles in my ’to read’ list! ↩︎