3. Pliny: What and Why?

What is Pliny?

Pliny is a tool to support widespread established (and non-digital) scholarly research practice. It focuses on the scholarly acts of:

  • reading and reacting to that reading, and
  • developing an interpretation which arises from that reading.

It aims to bring the benefits of computing to existing scholarly practice rather than requiring the user to adopt new strategies to benefit. In this it is influenced by the thinking of Douglas Englebart, who was the first to recognise (in the 1960s) that the computer could act as a tool to augment existing human knowledge-gathering and organising processes, and thereby perhaps transform them. It also was influenced by Vannevar Bush’s imaginary machine, the Memex, which also aimed at supporting individual research centred on the reading of primary and secondary sources: “[a] device in which an individual stores all his books, records, and communications, and which is mechanized so that it may be consulted with exceeding speed and flexibility." (from "As We May Think", Atlantic Monthly 1945).

How is Pliny different from other Humanities Computing tools?

Most Humanities Computing tool development has focused on one of two uses for the computer: (i) resource preparation (XML, TEI and associated tools, multi-media preparation, web publishing) and (ii) computer supported text analysis.

Pliny is not a tool to assist in either of these worthy tasks. Instead it is a tool to support individual traditional scholarship, and it tries to support several important aspects of established scholarly practice not supported by mainstream HC tools. Pliny is not a digital resource (like a web site): it is an application that runs on a personal workstation. In spite of who the author is, Pliny is not another TACT-like text analysis tool.

The Three Phases of Traditional Research

The intent in Pliny is to support the three phases of traditional scholarly research:

  1. First, the reading of a great range of source materials, and the addition of annotations or the creation of notes to record ones initial reactions to what one has read.
  2. Then, organising notes to find relationships between them. The organising principles for the notes emerge from intensive and extending thinking about the materials and ones reaction to them, and often involve both naming of a concept, and relating it to others. How can the computer help here? Pliny provides a meta-structure that allows the user to use it to develop and express their own structure of concepts and relationships between them.
  3. In the end, one makes the result of this work public in the form of a book or an article. Pliny does not, as of yet, have much to help with this, although work is planned to provide facilities especially to support this kind of activity.
  4. By storing notes and concepts digitally, Pliny provides for the potential to publish these digitally in some structured format. More work is still needed here, but Pliny currently provides for the the export of materials into a Topic Map format.

You can see these three phases represented pictorially here:

Pliny and Phase 1: Reading and Annotation

Pliny provides personal annotation mechanisms that can be added to established public and private digital resources: web sites, images, text (currently as PDF). It can also be used to record notes that arise from the reading of non-digital (print) material. Furthermore Pliny could be extended to support annotation of other digital media not currently supported such as TEI/XML or digital video or audio -- indeed, Pliny is coded in such a way to facilitate this kind of extension as much as possible.

Pliny is not linked to any particular web site or digital resource. Users can annotate broadly across any number of digital resources containing materials of the kind mentioned above. Furthermore, because of its base within Eclipse, Pliny’s annotation mechanisms could be integrated into other independently developed tools also running under the Eclipse platform.

The range of resource types Pliny can currently support is shown here:

Examples of Pliny Annotation

Here are two examples of annotation within Pliny:

  • In this first example two notes have been attached to a page from the Old Bailey website. Any time you revisit the same web page the same notes will appear, and you can change or add to them any time you like.

  • Here is an example of some annotations added to a page in a PDF document. Similar facilities are available to add annotations to images.

Pliny and Phase 2: Developing an Interpretation

Pliny goes beyond supporting annotation of a range of resources. It also helps its user develop an organisational structure for his/her notes that facilitates their interpretation. A Pliny user organises his/her note collections using several different paradigms: (i) 2D surface, (ii) Hierarchical (nesting), (iii) Linking and Reference and (iv) Classification. You can see these techniques working in the following screenshot:

A use of 2D space for layout and the availability of nesting of materials (for grouping together) supports a kind of visualisation of the materials to enhance the user's ability to see and develop categories and their associations.

The relationship between notes and the concepts they represent is not necessarily hierarchical. Here, Pliny’s containment view shows us that the note “users of space for study” appears in two containing notes – “Pliny: What’s it for?” and “Strategies for managing notes”. Similarly, “Cartesian sense of space” appears in two containers:

Pliny and Phase 3: Publication

More work needs to be done regarding how Pliny could be useful to support the publication phase of research. There are two aspects to this:

  • First, Pliny data can be used to represent a structural map of concepts and references to sources. This could be presented in a formal manner as a Topic Map or a set of RDF. There is currently a prototype exporter in Pliny that can write Pliny materials out into a Topic Map. This still needs more work.
  • Second, Pliny data could be used to support the development of an argument for an article or a book. To what extent could argument development (for traditional article writing) be supported by Pliny? In my mind at least, this is a more complex task than the task of mapping this material into Topic Maps or RDF, because, although an argument in an article can often be thought of developing through a hierarchical model, in fact it often approachs important concepts it is describing in a circular manner -- revisiting them several times in the course of the article, each time in a more detailed manner. Significant further work, experimentation, and thinking about this will be needed.

Pliny and Eclipse

Pliny is built to operate within the Eclipse environment. This is intentional, because Eclipse is a tool framework which is “a kind of universal tool platform - an open extensible IDE for anything and nothing in particular.” (a quote from the Eclipse web site until 2005). In Eclipse everything (including the elements in Eclipse which support Java program development) is a plugin. By removing these Java plugins and replacing them with plugins that do other things we completely change what kind of work our version of Eclipse supports.

This is perhaps made clearer with the following diagram:

Plugins in a traditional application (such as, say, plugins for Photoshop) extend the application's functions. However, because what the application does is mainly defined by the massive amount of code in the main program, the application itself must continue to be useful for the kind of work it was built for -- a plugin for Photoshop may allow Photoshop to do things it could not do before, but the great mass of Photoshop code in the main application means that almost certainly both Photoshop and the plugins written for it will continue to be focused on working with images. Eclipse is not like that. Instead, almost all its functionality is provided in a set of Plugins. Eclipse is normally thought of as a piece of software to support the writing of programs in Java. If you remove those plugins that provide the Java-code writing functions, and replace them with Pliny plugins, then your version of Eclipse stops being a Java programming tool and does instead what Pliny does.

Future Developments, and Challenges

Pliny is currently a prototype, and it is certainly not a finished project. Its code is now available as open-source (through SourceForge), and versions of the software ready for use are available from this website. I have continued Pliny development as time permits after my leave finished in September 2006, and have continued to look more broadly at the potential of plugin development for independent tool integration. I also intend to research issues around what is involved in allowing a scholar to move through Pliny’s note organisation paradigm to support a more formal modelling of the materials of interest.

Challenges lie ahead if Pliny is to reach its potential:

  • Pliny needs better note-taking integration with XML/TEI marked up texts. Unfortunately, suitable supporting software environments to develop this are poorly developed. Tools such as XSLT, although highly significant in the context of web-based resource development, are only of marginal value in support of application development of the kind done while building Pliny.
  • Further Pliny development must be based on a richer understanding of the process that happens during interpretation development. How should the visualisation model based on a 2D and containment approach be extended to make it more helpful?
  • Pliny is currently not user-friendly enough to be used by the “scholar down-the-hall” without help. How will Pliny get input during its design and development from a range of scholars with, perhaps, different practices?
  • Although I hope that the existence of Pliny will encourage other toolbuilders in the Humanities Computing community to think of also building their tools in Eclipse, doing so requires a professional commitment to software development, and (perhaps worse) involves a development model that is significantly different from the Java-oriented framework (AWT/Swing, etc.) promoted by Sun and best understood by most Java developers. Any vision of tool development by independent developers within the Humanities that is realised based around the Plugin model must deal with this issue. Is this even appropriate within Humanities Computing?
  • Finally, there is the issue of funding. Pliny could develop more quickly of a programmer was available to work on it full time, but to provide this requires money, and Pliny software development has not fit any established scholarly funding models. (a) It is not “resource building” to enhance research within specific disciplines. (b) It cannot, by its very nature, be linked to any particular digital resource project or research field. (c) Pliny cannot be viewed as a tool to address any particular specific scholarly need, or even a general need for a particular community of scholars.

    In 2008, however, KCL was awarded a Andrew W. Mellon foundation MATC award for Pliny. This is provided some significant funding that will, starting in 2009, allow for new developments. I thank the Mellon foundation for making such funding available.


John Bradley
Center for Computing in the Humanities
King's College London