I am writing this blog because this is a key moment in the history of Anastasia. I have been living with this piece of software for many years, and for the last six years Anastasia has been critical to the scholarly editions we have made and published. Software is a life-form: it is born, grows, adapts to its environment — and finally, it may reach a point where it needs radical change, or it will die. Anastasia is at that point now.
It’s worth reflecting on how we got here with Anastasia. I give a short history of Anastasia on the sourceforge site (http://anastasia.sourceforge.net/anahistory.html). In this posting, I’ll expand somewhat on that short history, as a prelude to two further postings: one which explains the deficiencies in Anastasia as she now is; a second which sets out where we plan to go next with Anastasia.
The major change we propose for Anastasia now will be her fourth incarnation. The first Anastasia, Anastasia 0.0 if you want to use development terminology, dates to the early days of the Canterbury Tales Project: to 1993, to be precise. I was working then with Norman Blake and Elizabeth Solopova, and we were experimenting with DynaText for the publication of the Wife of Bath’s Prologue and other electronic editions. From the first, we saw that DynaText had some fundamental problems. Particularly, we could not extract just the text of one page of manuscript transcription and put that in a panel alongside an image of the manuscript (XML geeks will recognize this as the famous overlapping hierarchy problem). So even then, I began considering what we really needed, but I was too busy then struggling to get DynaText just to do what it could (allegedly) do that I did not do anything towards this.
In 1996 I took up a post at De Montfort University. At that time I was doing considerable work with Cambridge University Press, and the deficiencies of DynaText were frequent topics of discussion. CUP agreed to provide some limited funding for experiments towards what I was now thinking of, in my head, as ‘Anastasia’ and I employed the first of a remarkably talented set of computer programmers, recruited from the De Montfort Computer Science school as their practical year. The first of these was John Knight, who went onto greater things at (then) Chadwyck-Healey. John wrote a series of extremely ingenious routines, and at one point we had a rather brilliant prototype to show CUP. However, as time progressed, we came to think that we were heading in the wrong direction. At that point, we were trying to ‘out-Dynatext Dynatext’: in particular, we were trying to write our own browser (as Dynatext had done) as well as our own SGML-handling engine — XML was then (1998) not much more than an idea. This you could call Anastasia 0.1: mostly, it was useful for deciding what route we would not follow.
By this time, browser technology had so progressed that it became clear that we should redesign our system to work with the newly-appearing browsers, and with the http protocol. This perception became the heart of Anastasia 1.0: the core of which was written by me in a few weeks in early 2000. This included its own web-server (in the Macintosh version) and was used as the basis for Estelle Stubbs’ edition of the Hengwrt Chaucer.
In June 2000, Andrew West — another DMU computer science student — came to work with me. Andrew provided crucial help in fitting Anastasia 1.0 for this first publication. The experience of this publication, and of working further with Anastasia on other publications, convinced us that we needed to rethink the way Anastasia worked with servers. This led to a complete rewrite of the entire program, including reorganization of all the program’s memory handling and its interaction with the Apache server to which we had decided to attach the program. This took some thirty months (compared to three weeks for Anastasia 1.0!) and we finally released Anastasia 2.0 in late 2003.
Anastasia 2.0 has served us well. We can deliver extremely complex, large XML books in identical and attractive formats on CD-ROM, DVD-ROM and over the internet. We can manage access control. We can connect up to a MYSQL database through Anastasia to provide functionality which Anastasia itself cannot deliver. You can see this in the books we published at Scholarly Digital Editions between 2003 and 2006: notably, my edition of The Miller’s Tale; the wonderful Parliament Rolls of Medieval England; Prue Shaw’s deeply scholarly edition of the Monarchia.
Nevertheless, during 2006 we came to feel that Anastasia 2.0 represented an evolutionary dead-end. The next posting (’What’s wrong with Anastasia now — 2006′) details why we thought this.