currently looking for the way out of
G54MDP: Mobile-Device Programming
For interest only…
G52OBJ: Object-Oriented Methods (for historical reference.)
G52APR: Application Programming
My research interests lie in the field of Document Engineering. Document Engineering is the branch of Computer Science that studies how computers model and process Documents in any form and in all media. Specifically, my own interests like in the presentational side of documents, that is the production of viewable forms of the data contained within the document and how the viewable forms can be manipulated. I am also interested in how traditional Computer Science concepts have analogues in the world of documents and the insights that their application in a document engineering context can bring.
My current research interests relate to recent technological advances, such as eBook readers and embedded video screens in paper. I believe that current document formats are not up to the task of representing documents succinctly enough for these new uses.
I am currently investigating how best to represent a document, at a presentational-level, for display on computing-resource challenged platforms such as eBook Readers, where we cannot guarantee the size of the display at document creation time. A list of my papers can be found here.
In November 2009, I was invited to give a ‘Google Tech Talk’ with David Brailsford at the Google campus in Mountain View, CA. We spoke about how we believe it is necessary to develop a new method for representing documents. Google have uploaded the talk on to YouTube for your entertainment…
The combination of Presentational Documents with Computer Science concepts can be clearly seen in my work on Variable Data Printing. This started with my PhD work looking at how Object-Oriented techniques could be applied to the creation and modification of appearance-based document formats, such as PDF. Most current document formats describe the page as a monolithic stream of operators that are inter-dependent on each other to produce the final effect. Any attempt to manipulate the content of the page requires careful consideration to ensure that you catch all operators that are involved in imaging a piece of content
For my PhD research, I devised a method of instead defining the page as a series of separate compontents, which we termed COGs — Component-Object Graphic. These COGs were self-contained and encapsulated so they could appear at any point on the page without relying on previous operators having set part of the graphics state. This work was implemented as an extension to PDF that was completely backwards compatible, along with the creation of several Acrobat plug-ins that allow the manipulation and creation of COG documents both visually and programmatically.