I have been involved in many open source projects but the below is a good snapshot of some the developments I am proud to have been involved with. For a more personal and detailed account of my journey, please see https://www.adamhyde.net/some-publishing-systems-i-have-developed/
A publishing framework enabling knowledge management, creation, processing and dissemination, PubSweet includes a robust back end and a set of interoperable components that together comprise a flexible, configurable network capable of managing many content types. The initial use cases are in scholarly journal and book publishing. The components include tools for authoring and collaboration, editing and production, flexible and configurable workflow management and user dashboards, and administration interfaces.
Over the last year, Coko has worked with the University of California Press and the Californian Digital Library to build Editoria – a scholarly monograph production platform. I facilitated the Collaborative Product Design process (see Facilitated Methodologies) and have been part of the development team. I’m very proud of this platform (built on top of PubSweet).
The INK framework: ingestion, conversion and syndication environment that converts content and data from one format to another, tags with identifiers and normalises metadata. Typical use cases include converting Word and other proprietary formats into highly structured formats such as HTML5, XML, and ePub, and outputting to syndicated services, the web and PDF. INK will add common identifiers such as DOIs and geolocation IDs and ensure compliance with standards for content and metadata.
Helped found the Substance Consortium.
2012 – present
PubSweet is a platform designed to assist the rapid production of books in Book Sprints. The platform is very simple to use, with very little overhead for new users. The system provides dashboards, publishing consoles, card-based workflow management (task manager), discussions, data visualisations of contributions, a dynamic table of content management, and support for multiple chapter types.
PubSweet can produce EPUB and leverages book.js (see below) to produce print-ready PDF (paginated in the browser). PubSweet is written in PHP, using Node on the backend, and CKEditor as the content editor.
Lexicon is a platform produced for the United Nations Development Project to collaboratively produce a tri-lingual (Arabic, French, English) lexicon of electoral terms for distribution in Arabic regions. Lexicon provided concurrent editing for chapters with multiple terms, sorting by language, discussion forums and voting. Lexicon was written quickly in php with Node.
The Lexicon was created with the aid of an innovative collaborative writing tool customized to suit the needs of this project. This web-based software allowed the authors, reviewers, translators and editors to simultaneously input their contributions to successive drafts from their various countries.”
Headless webkit renderer for embedding BookJS for server side rendering of HTML to PDF.
A basic experiment for applying live CSS updates to HTML in the browser. It never made it to production.
book.js has given inspiration to a number of other JS pagination engines. See Vivliostyle, bookJS Polyfil, Pagination.js, simplePagination.js, and CaSSiuS.
This was an in-browser design environment for applying CSS styles to both EPUB and PDF outputs. It was an experiment and never made it to production.
2010 / 2012
Booktype is a book production platform. I brought this platform to Sourcefabric (Berlin) as ‘Booki’ in 2012. Booki was started in 2010. Booktype is written in Python (Django).
Booktype resolves challenging issues in collaborative knowledge production resulting in high quality print and ebooks. – Erik Möller, deputy director, Wikimedia Foundation
Objavi is an API-software service originally written for Twiki Book (see below) but which also serviced Booki and later Booktype. Objavi converts books from their native HTML into PDF for printing. It also handled other file conversions (eg HTML to ODT, HTML to EPUB etc). I later produced a similar API-based conversion software for PLOS known as iHat. Objavi is written in Python.
TWiki Book didn’t have a real project name at the time. The project was the first publishing system I built. TWiki Books was created solely to meet the needs of FLOSS Manuals (see below) and it was built on top of TWiki, an open-source Perl-based wiki that had good PDF-generation support and a good plugin and template system. I came to think of it as a rapid prototyping application.
TWiki Book included book remixing features, side-by-side translation, table of contents building, publishing interfaces (I actually wrote a separate php-based system to manage this), edit notifications, versioning, diffs, live chats and many other features. It was a good system but reasonably difficult to extend and maintain since it re-purposed an existing wiki software (hence my approach to building purpose-built book production systems after this point).
The first open source publishing system I designed and built never had a name. It was developed so the global FLOSS Manuals community could collaboratively build free manuals about free software, and though the original development was in English, it soon became multilingual, and even produced right-to-left manuals in Farsi.
The system produced loads of manuals and printed books about free software. All free content.