I hope this isn't regarded as too off topic, but I've been having some
thoughts about software and writing workflow in science that I think
are appropriate for discussion in relation to BibDesk, and especially
BibDesk + Skim + <your editor here>.
As I've been working with BibDesk, Skim and Pages recently, my
standard writing workflow has been changing (this a workflow that's
been stable for more than 15 years). This has happened particularly
after I started using a template for BibDesk's preview that shows Skim
notes from article PDFs in addition to the title, authors, abstract
and annotations. I also have written Applescripts that will display
article lists in the same format (including Skim notes) in TextEdit or
Pages for review or printing. I'm reading electronically a lot more,
making Skim highlights and notes as I go, and reviewing those notes in
aggregated article lists targeted to particular writing projects,
either on-screen or printed.
In retrospect, software for writing has been pretty stagnant for about
15 years with a few notable exceptions (I know Ulysses has been around
for a while). This is changing now with the development of tools
specifically to support authoring rather than just typing. Scrivener
is an interesting example, with a note card metaphor that allows you
to create snippets of information that can be mixed, matched and
ordered into manuscript precursor lists, which are then expanded into
manuscripts with additional text. My impression is that these programs
are most often targeted to single writers and, while they have
interesting facilities for organizing spans of text representing
concepts, they don't usually provide effective bibliographic or
collaborative authoring tools.
After Pages v. 3 appeared, change tracking and commenting became
available in a word processor I found comfortable to use and documents
could be round-trip-shared to Word-using colleagues with preservation
of commenting and change tracking. What was missing was bibliographic
management and that was the genesis of the CiteInPages Applescripts,
whose strategy has the additional advantage of cross-program placement
and editing of working citations: only the final formatting needs to
be done in Pages.
Now I've found that I can read articles electronically and mark or add
important concepts in Skim, and manage and summarize those articles
and annotations in BibDesk. The last missing link in the chain is a
way to organize and select the annotations representing key concepts,
and bring them into my writing environment. My ideas on this are hazy
as yet, but I think I understand the gap that exists.
This isn't a feature request for BibDesk and Skim...it's more of an
early attempt at a use case or workflow description, and what might be
needed to support it. I think I'd like to be able to manipulate Skim
notes individually, as they may represent different concepts that
could appear at different points in a manuscript. I'd like to be able
to search for specific notes across an aggregate of references, with
the result display, perhaps on a palette or in a pane, having a
primary focus on the contents of the found notes with a secondary
focus on the reference from which the note derived. Individual note
objects should arbitrarily orderable on the palette by dragging. Notes
on the palette would have a compact display of their content with
links back to their PDFs and BibDesk entries. It's possible that it
would be useful to allow the entry of new text notes on the fly in
between dragged note objects, and to be able to order the notes
hierarchically (essentially, an outline). It's also possible that it
would be useful to enter additional text to notes on the palette after
dragging. This wouldn't necessarily need to edit or add to the Skim
notes, it could be a local annotation specific to the palette.
Palettes should be savable with names so that they can be reopened,
and notes should be draggable between palettes.
Palettes represent manuscripts or manuscript sections. Once the notes
were organized in the correct sequence and adequately annotated, I'd
like to be able to export their content, in order, to my editor of
choice as a starting point for writing. You could also envision
dumping these concept-rich snippets to a database. For my own
purposes, I wouldn't mind if export were via Applescript, with script/
template access to the individual elements of the note data model so I
could control the choice, order and layout of the data transferred to
the writing environment. However it's accomplished, I'd like that
level of control.
The note data model might contain the following:
Highlighted text in the PDF (if any)
User entered text in the PDF (if any)
Some type of optional keyword or tag list
Associated PDF file
Kind of note
Page location in PDF
BibDesk cite key
BibDesk file identifier (name, path or ID; last mod date?)
Annotation text (added by user, not in PDF, might be specific to a
The combination of the cite key with the BibDesk file identifier would
provide the link to the reference in BibDesk and give access to all
its information there.
With the addition of something like this, tools would be available for
finding and storing references, reading and annotating concepts in
references, organizing those annotations and adding information to
them, moving the annotations into a writing environment, and citing
them there while developing the manuscript content collaboratively.
Since it deals with groups of references, the functionality probably
shouldn't go into Skim. Theoretically it might fit into BibDesk, or it
might be a separate application that worked with BibDesk and Skim.
I don't mean to make specific suggestions about user interface or
other details and I recognize that some of this scenario may be naive
or impractical. I do think, however, that it identifies a gap in our
current tools, and I'd be interested in whether others also see the
gap and would fill it in a similar or different way.