Manifold Development

We’ve got a team, a stack, and a plan.

The Manifold Stack

  • React lgoo
    React
  • Node logo
    Node
  • Rails logo
    Rails
  • Postgres logo
    Postgres
  • Elastic search logo
    Elastic
  • Redis logo
    Redis

Our tech stack withstands scrutiny.

We want Manifold to be a pleasure to use—as fast, responsive, and clean as it can be. That’s why we designed and built it with popular, forward-thinking technologies using modern development practices, and why we center every feature we add around our users’ experience.

The Manifold platform consists of two primary components—the client application and the API—and a few complimentary microservices. To simplify installation, we offer fully managed OS packages, Docker images, and paid hosting services.

The Manifold Roadmap

See where Manifold is headed.

The Manifold development team works on multiple features at once. As features become stable, they are merged into the main branch and become the basis for the next release. Use this roadmap to get a high-level sense of our past, current, and future development priorities. The version numbers assigned to each feature should be treated as estimates, as they are subject to change as development unfolds.

Recently Completed

Improved Word document ingestion
Version v6.0.0

We replaced Pandoc with Mammoth as the engine that transforms Word documents to HTML at ingestion. We also made it possible to define a global stylesheet for an installation, which makes it easier to map Word styles to HTML styles.

Analytics and reporting
Version v6.0.0

If desired, Manifold can be configured to store internal analytics around how users are accessing content. The data is fully anonymized and GDPR compliant. With this approach, administrators will be able to track usage data without using a third-party service like Google Analytics, although we will continue to support GA. This feature also adds reporting views in the backend at the global, project, and text levels.

Updated package services
Version v6.0.0

We had technical debt to pay! The omnibus package installer manages all the underlying services that Manifold depends on, and many of these needed to be updated. So we automated data migration as part of this upgrade. We upgraded Ruby from 2.5 to 2.7, Elasticsearch from v5 to v7, and PostgreSQL from v9 to v13. We also checked and updated every other dependency in in the omnibus package.

Redesigned manifoldapp.org
Completed May 2021

Manifold has changed a lot over the last three years, and we needed a new marketing site to better communicate what Manifold does. We've redesigned the entire marketing site and created new content and sign-up processes.

Redesigned documentation
Completed May 2021

We've migrated our documentation from Jekyll to Docusaurus. We reorganized all of the content as part of the process and also made it searchable.

In-progress

Teaching and learning features
Version v7.0.0

We’re making a number of related changes to make Manifold easier for instructors to use in the classroom. These changes include more flexible roles in reading groups, numerous user interface changes to make it easier for instructors to see how their students are engaging with texts, the ability to collect and group content on a Manifold instance into a reading group, and the ability to clone and archive reading groups.

Manifold localization
Version v7.0.0

In an effort to make Manifold useful to a broader group of users, we’ll be working to localize Manifold’s interfaces. This feature development has been funded in part by the Melusina Press at the University of Luxembourg. In our first pass, we will incorporate a language switching mechanism into Manifold and extract labels and messages into JSON files, which can then be translated into other languages by our community.

Journals
Version v7.0.0

We intend to make a number of small changes to project and text resources so that Manifold can be more easily used as a platform for journal content. We've completed design for this feature, and development is underway.

Manifold as a service

We will make a number of improvements to Manifold’s Docker and Docker Compose configuration. We’ll deploy Manifold to a scalable Kubernetes-based environment and slowly transition existing MDS customers to this platform. The new approach to hosting will allow us to create automated demo environments for people interested in trying Manifold.

Planned

GDPR compliance
Planned Q3 2021

We will add GDPR compliance functionality, settings, and recommendations to better serve our European users.

Code splitting
Planned Q4 2021

When the Manifold client application is requested, Manifold currently returns a very large javascript bundle that includes all code. Code splitting involves splitting this bundle into smaller bundles, which will reduce the time it takes for the initial render to take place. Reducing the bundle size will lead to improved performance, especially on low-bandwidth connections.

Rich-text editor
Planned Q4 2021

Manifold’s current annotation and commenting interface will be significantly expanded to enable users to format content, easily add links, embed video and audio assets, and attach files to their annotations.

External authentication
Planned Q4 2021

We will develop and document options for integrating Manifold with external login via LDAP, Oauth, or SAML. When configured with a university’s authentication management system, students will be able to log into Manifold using their existing school credentials. This will ease one of the major barriers to using Manifold in the classroom, which currently involves the creation of a new account or authentication through third-party services like Google or Twitter.

Improve ingestion workflows
Planned Q1 2022

Manifold currently supports text ingestion from a variety of source documents. From our conversations with the community, however, it is clear to us that we can improve the user experience of ingestion to make it more friendly to non-technical users. For this feature, we will review the ingestion process and improve the user experience as needed so that non-technical users can more easily ingest documents into Manifold.

Interactive scholarship
Planned Q2 2022

We’re going to explore adding support for markup languages like Idyll and MathJax and improve current iFrame functionality for incorporating external sites into Manifold projects. We anticipate that we’ll also revisit how resources display in the reader and add support for additional ways of embedding resources into texts.

Plugin interfaces
Planned Q3 2022

Our current plugin architecture requires recompilation of the client application, as well as technical knowledge around how to deploy Manifold. Moreover, while we have developed a plugin interface, we have not carefully selected which client application components can be modified by plugins. We want to revisit our work and expose smaller, more focused, and better-defined plugin interfaces that will be compatible with our SaaS platform. Our initial pass at defining plugin interfaces only focused on the client application. Many users have asked for the kinds of customizations that would require plugin interfaces in the API as well, which we are also interested in investigating.

The Manifold Wishlist

Help us make Manifold better.

Development on Manifold has been possible because of generous support from the The Andrew W. Mellon Foundation, the National Endowment for the Humanities, partners who have sponsored specific features, and publishers who host with Manifold Digital Services. There are a number of features we’re actively looking for a partner to sponsor development:

eCommerce

We want to make it easer for people to sell entitlements to content in Manifold and to connect Manifold to existing payment processes. We'll build most of the checkout process in Manifold, connect it to the existing entitlement system, and leave hooks to integrate with an institution's payment gateways.

MathJAX support

We’d like to add greater support for math equations in ingested texts and the Manifold reader. This feature would help STEM teachers hoping to publish their course materials in Manifold as well as authors working with technical and symbolic content.

DOI generation

The plan would be to integrate with Crossref to automatically generate DOIs for projects, texts, and text sections for those who already have relationships with Crossref.

Authoring

Like you, we want to explore building features that support creating and editing texts in the Manifold backend, in addition to ingesting existing content.

Keep an eye on Manifold.

Email: