Tag Archives: impero

Upcoming Improvements to Impero

Zotero is a wonderful piece of software, I have used it for several years to manage and cite references for my university study, and it has proved useful and reliable. However, there are some areas i would like to improve it, and as it’s released under the Affero GPL, I can do exactly that.

I’ve already talked about a user running their own sync server, and made my own modifications to the Firefox extension so this could happen. The people behind Zotero aren’t interested in making data server installation easy, or in fact anything less than dangerous for one’s data, so that sub-project is ongoing, albeit slowly – analysis and documentation of the sync protocol is required, to make sure the extension and the sync server work together correctly. As I’ve already written, I’m not impressed about their insisting on storing my data on their servers, this reminds me of Google and Facebook’s attitude to users: “you are the product, not the customer”. In the situation of these two companies, the customer is whoever buys access to users’ data, and hence the ability to sell more precisely to them. There has been much written on this so I won’t go further: check out these links to find out more. Are Zotero selling, or not being careful with, their users’ data? They say not, but there are many ways to effect data transfer which get around any legal statement. Personally, I’d rather remove the possibility they could, rather than have to trust their competency and morals.

Anyway, back to the technical stuff. The next thing I will be modifying is the citation process. At the moment it is simple to do, but the process is somewhat abstract, and does not assist a user as much as it could, particularly in the case where there are lots of references being used for a given passage of text. For example, let’s say I’m writing a piece on the “digital commons” and “surplus-value”. Incidentally, I am, and the size of this task is what prompted me to think about the process. Now, I have several ideas I’ve written about this subject in note form, and will be expanding upon these in the formal text, including citations from a large number of sources. At the present, the way this is done is to write a piece of text in quote or paraphrase form, and refer to the text which the idea or quote comes from. But, which text? There are 700+ in my 3 year-old database, and I’m sure other users have much larger bibliographies. The easiest way to get around this at the moment is to use tags. So, for instance, I can tag Marx’s Capital with “surplus-value”, some quote from Linus Torvalds with “digital commons”, then when I’m working on this piece, I only bring up those items tagged appropriately and can cite them, while copying and pasting a quote from the text. This is where the potential for improvements start. It is not currently possible to select some text from a work, turn it into a quote, and have that linked to the original work by Impero. So, for instance, I am using Capital to write about several concepts: commodities, surplus-value, primitive accumulation, etc. Rather than typing in a tag and getting the entire work returned, I would like to tag individual quotes from a work with “surplus-value” or whatever, which can then be shown when say I want to see everything with that tag, i.e. when I am working on a given section. This gives me direct access to the necessary quotes rather than having to search through the entire work, and presents them all at once, in their correct context.

It is currently possible to create a note containing the text, and then use this as a citation. But inserting this note into a document does not work correctly; the author of the quote is not set as the author of the work, and the quote is put inside quotes, inside brackets (for the APA style anyway), which is wrong.

Secondly, the Zotero “Add citation” dialogue needs to change. It currently works in such a way that it is opened when I want to add a citation, and then closes when it has been added. This seems unnecessary, so I aim to have it, or its replacement, open at all times, and then use an ‘Add’ rather than ‘OK’ button to insert a citation.

Thirdly, and linked to the first change, it can get clunky typing whichever term into the tag box, so I aim to set Zotero up to check for whichever tags have been applied to the current section within Libre Office Writer, based upon cursor position. If the cursor is within a section titled “surplus-value”, then all the references and quotes with the tag “surplus-value” get shown. This will show the quote, and also the context it is in, so probably 20 words either side.

Domino is now known as Impero

So, someone pointed out to me that the name ‘Domino’ is owned by a small technology company named IBM, who are apparently somewhat trigger-happy when it comes to intellectual property, lawyers and people who cross them. Thus, Domino is now known as ‘Impero’. Development is ongoing, a number of small changes have recently been merged from the Zotero repository.

Domino: an extension of Zotero

Since starting at university, I’ve been using the ‘Zotero‘ extension for Firefox, to add in-text citations to essays I write.  This is one of the most powerful extensions I have found for Firefox, making referencing sources very simple.

However, there is room for improvement to fit my way of working.  I value having control over as much of what I do as I can, particularly online, for that reason I run my own email, blog and backup server.  Zotero has two server components, one of which stores electronic copies of references.  It also uses a central server to coordinate the data stored in a citation database, allowing access from multiple computers.  Both of these services can be hosted by the Center for History and New Media at George Mason University, the group behind Zotero.  And a fine job they do of this, I used their services for several months while I was learning to run a server and how to use WebDAV.  However, as with any online service, doing so leaves one in the hands of a third party, with a variety of undesired outcomes possible. Data breach? Request from the FBI for user data? Technical problems causing loss of service?  All these and more can cause problems, and render the user beholden to those who run the service.

As the technology to run a WebDAV server is mature and predictable, the Zotero team are willing to advertise the possibilities for a user to do so, easily allowing a user to enter their server details into the preferences for Zotero.  It seems they are not so keen to do so for the sync server however. Various reasons are cited, including a seemingly Apple-inspired ‘guaranteeing a good user experience’.  There’s some merit in this, although I disagree with it.  Fortunately, they are more prepared than Apple to let users go their own way if they want to, as the source code for the server and the extension are available under the GPL, allowing us to roll our own versions.

So, here’s Domino, my updated version of the Zotero extension, with changes which allow you to set your own sync server from the preferences dialogue. The sync server is released here. If you are going to use this, be careful: Zotero uses its own protocol, and it is not documented or looked over by a third-party such as the World Wide Web consortium, which looks after other standards such as HTML and HTTP.  As such, there are chances for things to go wrong. At the worst, you could lose or corrupt your citation database.  The Zotero team are working on the server code also and I aim to join in soon, at some point it’ll be released as a deb package.

Zotero will not merge my changes to the extension into their mainline release, so I’ll be merging the changes between each of their new releases and my fork, a few days after they release a new version.

If you’d like to contribute, my version of the code is on github here.

For more progress on Domino, check this page.