I went onto the Zotero forums and asked, What do app developers need to do to “keep the door open” for full Zotero integration? I wanted to know if there was anything that Obsidian developers might wish they’d known early on if they’re interested in eventually having the kind of awesome, polished, “first-class” Zotero integration that is currently enjoyed only by MS Word, LibreOffice, and Google Docs.
(Zettlr, Sublime Text, and some other apps have integration too, but the UX isn’t on the same level as the type of integration in MS Word, LibreOffice, and Google Docs. If you don’t care about the difference between first- and second-class Zotero integration, then that’s fine. I’m not going to tell you what you should care about. More broadly, I’m not going debate the value of UX here. Sorry if this comes off as defensive, I’m just very tired of this particular conversation.)
The first responses I got were from a couple Zotero devs who are regulars on their forums. They said that Zotero has tons of extension points, and that they’re more than willing to help anybody who comes and asks questions – which is obviously great!
I tried coming at the question of “What can be done to make it as easy as possible?” from a few different directions. This briefly frustrated them because they felt like there was little more to add than to reassure me that nothing special needs to be done, no deal with Zotero needs to be struck, and that there’s no general advice to be given. Basically, it just takes a little time and work, and they didn’t have anything else to say. They agreed to this summary:
Anybody who wants Zotero integration for their project can have it. It can work like it does in MS Word, or it can work like it does in Zettlr. There’s no need to do anything weird or special to get it working. There are ample extension points in Zotero, and the devs are happy to answer questions.
I was about ready to settle for that, but then one of the devs who actually works on the kind integration I was talking about showed up. His insight was much more specific:
To chime in from an actual dev of the “first-class” integrations. Firstly, we have the docs which, while maybe not the best formatted and crystal clear, should at least give a good idea for doc editor developers on what they need to prepare for to be able to provide a Zotero plugin, and if that fails, we answer questions on zotero-dev. In fact, I know TextMaker is planning to release (or perhaps has already released) a fully functional “first-class” Zotero integration in their editor, to my knowledge without ever getting any support from Zotero devs.
Secondly, most of the work in providing Zotero integration plugin is not in talking to Zotero, but in implementing the actual logic. Zotero requires 2 specific functionalities from the document format:
- You must be able to associate metadata with parts of the text that are Zotero citations . Zotero needs to know which parts of the document are its citations and be able to store metadata required to update them. In Word it’s Fields, in LibreOffice it’s ReferenceMarks and in Google Docs it’s madness-fueled NamedRanges and links.
- You must be able to store text location non-specific, i.e. global metadata in the document. This is where Zotero stores things like the citation style used by the document and other prefs.
Depending on how close to the metal of the original doc editor a plugin developer works, accessing these 2 functionalities of a doc editor can be super easy and convenient, which makes implementing the plugin also relatively easy, or enragingly frustrating and difficult. We would love to provide first-class integration for other popular document editing options, but we simply don’t have enough time to do that given how complicated it is and how much work it takes to simply maintain the 3 (actually 4, since mac word and win word do not share code) existing integrations.
So, I hope that the Obsidian devs see this so that they can at least keep it in the back of their minds. I’m crossing my fingers for “first-class” Zotero integration, and early considerations that’ll make that easy later will significantly increase the chances of getting it.