Manifold Development
We’ve got a team, a stack, and a plan.
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
Journals
Version v7.0.0We 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 localization
Version v7.0.0In 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.
Teaching and learning features
Version v7.0.0We’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 as a service
Version v7.0.0We will make a number of improvements to Manifold’s Docker and Docker Compose configuration. The new approach to hosting will allow us to create automated demo environments for people interested in trying Manifold.
In progress
Build texts in Manifold
Version v8.0.0Manifold currently allows readers to create a single text from a variety of source documents. From our conversations with the community, however, it is clear to us that we can improve the existing user experience and make it more friendly to non-technical users. For this feature, users will be able to build texts within the Manifold backend, instead of having to rely on the existing process, which is oriented around a YAML file and all its felicities.
Math in the reader
Version v8.0.0We’re going to add support for the MathJax polyfill, allowing users to compose their mathematical content natively in LaTeX and MathML, and have it display attractively in the Manifold reader without having to first convert it. Elegance in theory, on screen, and in code.
GDPR compliance
Version v8.0.0We will add GDPR compliance functionality, settings, and recommendations to better serve our European users.
Text editing
Version v8.0.0The time has come: with our next version of Manifold, users will be able to directly edit the content of texts in the Manifold backend, using a custom-built WYSIWYG editor.
Google Analytics 4
Version v8.0.0Google is sunsetting its Universal Analytics offering on July 1, 2023 and replacing it with Google Analytics 4. For those who use Google for their analytics, Manifold will support you with the necessary components to integrate with the new GA4.
Bulk user upload and entitlements
Version v8.0.0For restricted-access projects, the current system for adding and entitling a user to gain access to them is not easily scaled. With version 8, we will build new views and interfaces so users can be added to the system in bulk and given access to specific projects or journals by way of a CSV file.
Planned
Resources revisited
We are going to revisit how resources display in the reader and add support for additional ways of embedding resources into texts.
OAI-PMH feed
To help facilitate the inclusion of Manifold projects in library and agency collections, we are going to expose Manifold metadata via instance-specific OAI-PMH feeds.
Code splitting
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.
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.
External authentication
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.