Texture - an open science manuscript editor

Substance invite the community to use and contribute to a new XML-first text editor.
  • Views 5,729
  • Annotations

Blogpost by Michael Aufreiter, Co-Founder and Developer, Substance

Texture is an open-source editing software specifically designed to edit and annotate scientific content. Texture has first-class support for JATS, the de facto standard for archiving and interchange of scientific open-access contents with XML.

In this post I’ll explain the motivation and mission behind Texture. I’ll cover the current state of development, an outlook on what we’ll be working on next and how you can get involved.

Publishing a scientific paper takes too long and costs too much

Today authors can choose to write their manuscript either in a traditional word processor (such as Microsoft Word) or using a compiled markup language (such as LaTeX). The former is easy to use but delivers only unstructured print-ready content, the latter provides more structure but requires the user to work with a plain text editor and learn a markup language. In either case publishers need to convert the submission format into structured JATS-XML, before it can be published and archived. This step requires a significant amount of manual work, usually done by typesetter companies and using proprietary commercial tools. Because of this, not only do papers often take many months from submission to publication, the process is also extremely expensive. We hope that open tools that simplify the publishing workflow will enable publishers to focus on delivering a high-quality peer review service to the research community.

Our grand vision for Texture is to provide a high-quality free tool for authors to write papers that can either be self-published (for quick sharing of results) or submitted to a publisher as a structured JATS-XML file, allowing a much faster and cost-efficient production process. Additionally, in the future we want to provide an extended authoring interface that also allows creating executable, fully-reproducible documents.

Eliminating typesetting

Before we put Texture into the hands of authors, we are working towards eliminating the need for manual typesetting at publishers. Texture allows users to turn raw content into structured content, and add semantic information in order to satisfy the publisher’s requirements. The primary goal of Texture is to remove this requirement for XML expertise by providing a solution for publishers to bring accepted papers to production more efficiently.

Texture reads and produces valid JATS files. This allows the editor to work seamlessly in existing publishing workflows. For instance, Texture can take the output of a Word to JATS converter and enhance the content until it is ready to be published, integrating into current toolchains. Texture produces normalised JATS-XML according to strict rules and best practices for tagging. For example Texture can open a range of supported flavours (e.g. SciELO’s tagging guideline) but output a stricter, more consistent tagging (JATS4R). With this approach Texture users can ‘tidy up’ their documents, reaching extremely consistent tagging, which would be hard to achieve in a manual typesetting scenario.

With Texture, we propose an iterative refinement process. Starting from the best available output from an automated conversion process, different steps are taken to turn the article into a structured, semantically tagged article, augmented with metadata.

State of development

Initial development of Texture started in 2014 as part of the Substance project. A first functional prototype of a scientific editor was released in 2015 as Lens Writer. In June 2016 Texture Alpha (funded by PKP) was released, adding loss-free JATS conversion. In October 2016 Texture Alpha 2 (funded by Érudit) was published, providing a stabilized prototype.

Today we are releasing Texture Alpha 3, a major step towards a complete solution for editing JATS articles. We’d like to thank SciELO and PKP for funding this latest round of development. The new version is now capable of editing structured citations, authors, affiliations as well as other journal-specific metadata.

A form field tool allows the writer to add semantic information to the text file
Texture User Interface showing manuscript editor (left) and reference editor (right).

We also implemented automatic numbering of labels for references and figures. Furthermore, there is a new powerful ‘Find and Replace’ dialog and greatly improved copy and paste between applications (e.g. from and to Microsoft Word or Google Docs).

Try out our online demo of Texture and find out more about how Texture works. For a detailed overview of the development status, please see the project’s README on Github.

Why choose Texture?

There are a number scientific editors available. Some of them are web-based (e.g. FidusWriter, Overleaf, Authorea), but there are also native desktop applications (e.g. Manuscripts.app).

Texture is different to other solutions in that it builds on top of JATS, an already established de facto standard. We are dedicated to supporting JATS long-term and help improving the standard by contributing to the JATS4R community.

We also want to invite other editor developers to consider building on top of our open-source technology. Let’s work together on a reliable, standard-compliant foundation for web-based publishing systems, instead of competing for the best tool that solves it all. What if all scientific fields could agree on a common interchange format for published articles? Then we could start creating specialized domain-specific tools while still being fully interoperable. We could even foster interdisciplinary exchange of knowledge, data and methods, which is hardly possible at the moment.

A group gather round a table covered in post-its
Texture Collaborative Design Session at Substance Consortium Meetup (July 26 & 27, 2016 in Montreal).

A glimpse into the future of Texture

Our next step is doing user testing at publishers. SciELO, PKP and Érudit will start with this over the summer. Together with them, we are going to collect problems and missing features and work on a refined roadmap to turn Texture into a viable product and help adopters setting it up for the specifics of their journal. We expect Texture to be stable and ready for production within the next 12 months.

While in the short term Texture will focus on publishers' use cases, we are exploring future use cases for Texture as an authoring interface. For example, peer review could be realized entirely in Texture, including communication between peers (reviewers, authors, editors) which currently is fragmented over different channels such as email or messengers. The eventual goal is to use Texture as an integral building block in modern and customised end-to-end publishing systems, where the document sits in the centre (single-source) and is edited by all involved parties (author, editor, reviewer) in a collaborative way.

We want to even go even further and add reproducible elements to JATS documents. We are working together with Stencila on extending Texture to allow both textual narrative and executable code to coexist in one document.

Together with other projects we want to establish a complete set of open-source tools to cover all stages of scientific publishing. For instance a reproducible paper could be written in Stencila, submitted to a publisher as a JATS-XML file. It will then be available for reading on the publisher’s website but can also be consumed in modern reading tools such as eLife Lens or ScienceFair.

Towards a universal tagging guideline for JATS

We realise that a change in scientific publishing requires broad consensus. With the development of Texture we are inviting organisations interested in using Texture to participate in defining a strict guideline for tagging content with JATS. There is not yet a consensus on which JATS schema to use: there are several variants in use by different journals. This means that some elements can be tagged differently. For instance, there are many ways to tag an affiliation. If consensus on a single schema could be reached, the content would become interoperable, easy to query, and in Texture we could have just one implementation path and user interface (e.g. for editing an affiliation).

In June we had a really nice and productive meeting at eLife with members from the JATS4R community. Melissa Harrison of eLife, Paul Donohoe of Springer Nature, Mike Eden of Cambridge University Press and Sean Harrop of BMJ were at the table. We agreed, that the Texture and JATS4R communities will work together to provide a universal and expressive tagging guideline for JATS, which will be promoted as JATS4R. As a consequence Texture will provide full support for all content conforming to JATS4R.

To get involved with developing this consensus, please get in touch with us at info@substance.io.

Help us make Texture the editor you need

Texture is developed by the Substance Consortium, which was established by the Public Knowledge Project (PKP), the Collaborative Knowledge Foundation (CoKo), the Scientific Electronic Library Online (SciELO), Érudit, and Substance. In July 2017, eLife joined the consortium to support the collaborative development of new tools helping open-access publishers.

Development of Texture will be prioritized to meet the needs of the consortium members and the broader scholarly publishing community, with clear avenues for community input and discussion.

If you are interested in using Texture and supporting our work, we invite you to join us. The bigger our community gets, the faster we will be able to achieve our goal of making scientific publishing more efficient, transparent and open.

You can email us directly at info@substance.io. We welcome feedback via our mailing list - please join this list to be informed of the consortium's activities.

The source code for Texture is licensed under the MIT License and available at https://github.com/substance/texture.

For the latest in innovation, eLife Labs and new open-source tools, sign up for our technology and innovation newsletter. You can also follow @eLifeInnovation on Twitter.