Looking Back, Looking Forward

After nearly eight years as part of the Pressbooks team—as a contractor from 2011–2015 and as lead developer since 2015—I’ve decided to return to my freelance practice. It’s been thrilling to see Pressbooks grow into what it is today, and to have been a part of that journey. I’m grateful to Hugh, Liz, Steel, Dac, Daniel, Taylor, and Phil (and Apurva and Zoe) for being such wonderful colleagues and I hope to stay involved with the Pressbooks project in the future!

Sprint Preview: February 18–March 1

This sprint, we’re focusing on wrapping up the releases of Pressbooks 5.7.0 and McLuhan 2.8.0. These releases will include a number of major improvements to the user experience and accessibility of the import, export, and clone tools, improvements to the glossary tool and tooltips, improved webbook metadata (including Zotero citation support), H5P activity cloning with supported versions of H5P (1.12, not yet released), and many other tweaks and bug fixes. We won’t be releasing these updates this sprint, but instead will be tagging release candidates for feedback from clients and open source users prior to production release in early March.

Pressbooks 5.6.5 and McLuhan 2.7.1

We’ve just released Pressbooks 5.6.5 and McLuhan 2.7.1. Pressbooks 5.6.5 adds support for EPUBCheck 4.1 (props Brad) and fixes a bug related to editing parts (props Josie for the bug report), as well as further optimizing SCSS compilation performance. McLuhan 2.7.1 includes Buckram 1.3.1 and fixes a bug which prevented direct linking to anchors within collapsed sections (props Josie for the bug report).

Sprint Preview: January 28–February 8

This sprint we’re continuing work towards our next release, Pressbooks 5.7. We’ll be focusing on the following projects:

  • Refining the newly-rebuilt export page and integrating real-time progress indicators
  • Solidifying support for cloning H5P activities
  • Improvements to our glossary tool, bringing support for rich text and better tooltips
  • Releasing version 2.0 of our Atwood theme, and preparing versions 2.0 of Graham and Bradbury and version 3.0 of Austen for release in a future sprint

Also, we’re changing our sprint structure a little bit. We’ll be continuing to work in two-week sprints, but we’re going to include a one-week Kanban in between sprints for smaller bug fixes and improvements, product spec preparation, and planning. We will continue to share sprint previews but these will now come every three weeks instead of every two weeks (with the next sprint preview coming Monday, February 18th).

Pressbooks 2018: The Year in Review, part 2

In a previous post, I took a look at the year in review for the Pressbooks community (the people who make and use our software). In this post, I’ll take a closer look as Pressbooks as a product, covering some of the exciting changes and developments to our software made in 2018 by our hard-working developers and generous contributors.

On January 1, 2018, Pressbooks software was the following:

  1. Pressbooks (our core plugin): version 4.5.0
  2. Pressbooks default book theme: pressbooks-book 1.12.0 [Luther]
  3. Pressbooks root theme: Pressbooks Publisher 3.1.3
  4. A handful of smaller plugins, including Pressbooks Stats 1.4.0 and DocRaptor for Pressbooks 2.1.0

Over the course of the year we made major updates to each piece of our core product and introduced several new tools and plugins. The most significant new releases were our new Learning Tools Interoperability (LTI) provider and single sign-on (SSO) plugins, designed to help educational institutions connect their Pressbooks networks with their Learning Management Systems and enterprise login systems, and Buckram, a set of style components that makes book theming easier and more powerful.

In 2018, we also made it easier for anyone who wants to get a more granular look at planned releases and ongoing development work by creating and maintaining GitHub project boards for the project in general and for versioned releases of specific components like Pressbooks, pressbooks-book (McLuhan/Buckram), Aldine, and Pressbooks LTI Provider. These project boards are regularly updated by our dev team to include reference information about planned and completed releases.

We’re enormously grateful to the various institutions who funded different parts of this work and for their shared interest in contributing back to an open source product that benefits the entire community of users. eCampusOntario, Ryerson University, Rutgers University Libraries and Bay Path University each made significant contributions to our 2018 development work, and Brad Payne and Alex Paredes from BCcampus contributed code to two big new features that were added to our core product this year. Thank you, all!


Our core product is Pressbooks, a WordPress plugin that transforms a WordPress multisite into a powerful book publishing system that makes accessible webbooks and several types of exports, including ebooks, print-ready PDFs, and various XML flavors.

In 2018 we brought out 25 minor releases and 7 major releases of core Pressbooks (beginning with Pressbooks 5.0.0 in late February, running all the way up to Pressbooks 5.6.0, released in November). The last version of Pressbooks to be released in 2018 was 5.6.3, which came out on December 12. All told Pressbooks received a net addition of more than 16,000 lines of code from humans in 2018, with ~10,000 coming from Dac (across 161 commits), ~5,000 from Ned (across 322 commits), ~1,600 from BCcampus’ Brad Payne (across 8 commits), and ~100 from Lukas Kaiser (across 3 commits).

So those are the raw numbers. But what do they mean? How did Pressbooks improve over the last year? Well, in lots of ways. The obsessive among you are welcome to view a detailed changelog for a more exhaustive record of everything we shipped this past year, but the following list is a baker’s dozen of our favorite improvements from the past year:

  • Major overhaul to the ‘Organize’ page: We improved the page’s accessibility for keyboard navigation and screen reader users and its usability when displayed on mobile devices. We made it easier to manage the visibility of content across web and exports; all content now has two binary options: “Show in Web” and “Show in Exports.” We also added book navigation options to the edit screen.
  • Import & Export improvements: We added support for importing individual chapters from Pressbooks webbooks and for importing all supported file types from local and web-based sources. We added graceful fallbacks for interactive content that can’t be fully experienced in ebook and PDF exports. We enabled the inclusion of TablePress tables in eBook and PDF exports. We allowed users to produce HTMLBook exports, made our XHTML and HTMLBook outputs cleaner and more readable, and added a link to the diagnostics page which lets users to preview and debug PDF export issues directly in their browser using the XHTML source preview without having to repeatedly generate PDF exports.
  • Cloning improvements: We also built on the book cloning feature (funded by Ryerson University) and the chapter-cloning feature (funded by eCampus Ontario) with a whole raft of cloning improvements, like adding a book source URL to Book Info for cloned books; allowing users to specify a new title for cloned books at the time of cloning; adding a theme option to let readers compare a clone book to its source; and adding cloning support for media attachments, media metadata (including attribution statements), and glossary terms.
  • Glossary tool: We added a native glossary tool that allows authors to provide rollover and clickable definitions for glossary terms and to auto-generate a glossary list as a back matter type in their books. We’re very grateful to Brad Payne and Alex Paredes of BCcampus for contributing the first version of this feature.
  • Shortcodes for authors: Thanks to support from Bay Path University, we added more than a dozen new shortcodes that work in both the visual editor and in document imports. These shortcodes make it easier for authors to include well-structured HTML elements without having to learn HTML.
  • Interactive and other third party content: We added support for interactive content (like H5P activities, PhET simulations, Open Embeddable Assessments, Knight Lab timelines, and eduMedia interactives). We made it so that iframes embedded from trusted sources were automatically converted to shortcodes rather than being stripped and deleted. We also disabled the display of related videos in YouTube OEmbeds once videos are finished playing.
  • Cover generator tool: We made our self-service cover generator tool part of our core plugin, making it available to open-source users. This tool makes it easier for authors to make attractive print-ready covers for their books.
  • LaTeX and Mathematical Notation: We made it easier for users to use mathematical notation by improving support for WP QuickLaTeX, adding support for QuickLaTeX rendering within TablePress tables, and permitting the use of TablePress tables and SVG files in ebook formats.
  • Centralized contributor management: We made it much easier for book admins to manage and display authors, editors, translators, reviewers, illustrators, and generic contributors to books. We also moved contributor management from the “Organize” menu to a more logical place under the “Book Info” menu in the dashboard.
  • Better Textboxes: We improved the markup and display options for educational textboxes (learning objectives, key takeaways, exercises, examples) and added a new “sidebar” textbox that’s especially helpful for textbook content.
  • Licensing and Attribution Improvements: We moved license types into a taxonomy and now differentiate between the CC0 license and public domain work. Pressbooks now allows users to add and display image attribution metadata, making it easier to properly credit CC and other openly licensed images when they’re reused in book (big thanks to Brad and Alex from BCcampus for their work on this feature).
  • GDPR Compliance: We added support for WordPress 4.9.6 privacy policy management to help Pressbooks networks comply with the new requirements of The General Data Protection Regulation (GDPR), a regulation on privacy and data protection now in effect throughout the European Union.
  • More script and language support: We added support for the Devanagari script and several languages, including Bengali, Kannada, Malayalam, Odia, and Telugu, making our software more inclusive of the millions of people who use this script or these languages.

Pressbooks Default Book Theme

At the start of 2018, the default book theme for all Pressbooks networks was Luther (also known as pressbooks-book 1.12.0 for any version heads out there). When we released Pressbooks 5.0.0 in late February 2018, it was accompanied by McLuhan, a new book theme. Upon its release as pressbooks-book 2.0.0, McLuhan replaced Luther as the default theme for all new books, and Luther subsequently became available as a separate, standalone legacy theme. The development of McLuhan was supported by eCampus Ontario, and the theme itself was designed with textbooks in mind, although it supports all kinds of content.

Since its initial appearance, McLuhan has seen more than a dozen additional releases and is now on version 2.6.1 (interested readers can consult the detailed changelog). All told the pressbook-book repo saw the net addition of more than 80,000 lines of code by humans, with ~78,000 coming from Ned (across 397 commits), ~3,000 from Daniel (across 59 commits), and ~200 from Dac (across 19 commits). Of the many improvements we made to the default book theme in 2018, here are some of the biggest highlights:

    • Support for new features: We added support in this theme for a number of new features now available in Pressbooks, including: an increased default webbook reading width and three new variable reading width options; collapsible sections; automatic resizing of webbook contents when the Hypothesis annotation pane is expended; optional lightbox for linked images; book and section Digital Object Identifiers (DOIs); glossary term lists; automatic graceful fallback for interactive content in ebook and PDF exports; and differentiated link styles for print and digital PDFs.
    • Accessibility improvements: Thanks to support from Ryerson University, we added a keyboard-accessible table of contents and customizable colours and logos (inherited from network settings). We also improved webbook accessibility by adding more context to webbook navigation, using better HTML5 markup for images, improving focus styles, and enhancing the markup for headings and our table of contents.
    • New theme options: Book admins now have several new theme options for customizing the appearance and functionality of their webbooks as well as eBook and PDF exports. These additional theme options are currently only available in the 8 themes we’ve converted to use Buckram (more on that later).
    • Better navigation: We made webbook navigation consistent on all screen sizes, allowed authors to customize part/chapter labels in the webbook display and in exports, and now display more descriptive labels and/or chapter short titles in previous/next nav links.
    • Table of Contents improvements: Books now indicate the current section in the dropdown ToC. We also added  “Show All”/”Hide All” buttons to the webbook ToC, and improved the appearance and overall functionality of ToC in all locations.
    • New features for cloned books: Cloned books include a reference and link back to their source and an optional comparison tool that lets you compare current versions of cloned and source texts.
    • LMS-specific theming: We also added settings which allow extraneous navigational elements to be suppressed when content is loaded via LTI within a Learning Management System (as these typically have their own internal navigation).

Pressbooks Root Theme

In late February, we replaced Pressbooks Publisher with a new Pressbooks root theme, called Aldine. Aldine’s creation was one of the major improvements supported by Ryerson University. Since its initial appearance, Aldine has seen an additional eight releases and is now on version 1.5.0 (interested readers can consult the changelog).

Aldine was designed to make customizing the look and feel of Pressbooks networks easier. It gives network managers tools to add institutional branding to a Pressbooks network by letting them globally change default colors, logos and contact information for a network, introduces a standalone catalog page which can be sorted, filtered, and searched by subject or license, and makes it much easier to create and display additional pages to the network root (like “About Us,” “Get Help,” “Terms of Service,” etc.).

Following its initial release, we’ve added specific buttons to the page editor to insert shortcodes for page sections and calls to action; added more customizer options; made it possible to edit the contact form email directly from the Customizer; and made privacy and anti-spamming improvements.

Other Plugins

We made a few minor updates to the small Pressbooks Stats plugin, with some bigger work planned for early 2019 (‘improving usage statistics at the network level’ refers to ongoing efforts to give network managers better tools for understanding how their networks are being used). The current version of Pressbooks Stats is now 1.6.2.

At the beginning of 2018, we also maintained a plugin which implemented a DocRaptor export module for Pressbooks as a drop-in replacement for PrinceXML. This standalone plugin was rolled into Pressbooks core with the release of Pressbooks 5.4.0 in July, and we are no longer maintaining the standalone plugin separately.

New Development

LTI Provider plugin

In May, we released a stable version of Pressbooks LTI Provider, thanks to support from Rutgers University Libraries. This plugin allows Pressbooks to act as an LTI provider, registering any number of LTI consumers, and supports both deep linking and the creation of Thin Common Cartridge exports with LTI links. LTI, which is short for Learning Tools Interoperability, is a specification maintained by IMS Global which allows third-party tools (like Pressbooks) to integrate with Learning Management Systems (like Canvas, Moodle, and Blackboard) in a standardized way. Using LTI makes it easier and more convenient for schools to securely plug learning tools and content into their LMS and make those tools and content feel native/seamless for learners.

In late 2017, while still employed at UW-Madison, I wrote in more detail about why I was so excited about using LTI to connect Pressbooks with LMSes. Much of what I wrote then still rings true for me today. In my opinion, our LTI Provider plugin is a hugely exciting feature for anyone interested in using Pressbooks content inside of a Learning Management System (a common desire for teachers, both in K-12 and higher ed settings). Our plugin is now on version 1.1.2, released in November (changelog). In Q1 2019, we plan to pursue official IMS Global certification against both the LTI and Thin Common Cartridge standards.

SSO plugins

In 2018 we also developed and released two plugins that enable single sign-on for common authentication systems used in higher education. These integrations allow log in to Pressbooks networks using using their institutional NetID and password as login credentials (authenticating through either CAS or SAML2).

  • In May, we released the stable version of our SSO plugin for CAS (Central Authentication System). Our work on this plugin was funded by Rutgers University Libraries. This plugin is now on version 1.1.1.
  • In late July, we also released the initial version of our SSO plugin for SAML2 (Shibboleth). This plugin is now on version 0.0.5.

These SSO plugins are now available on Gold PressbooksEDU networks with a one-time configuration fee.


In April, our lead developer Ned Zimmerman published a helpful introduction to Pressbooks themes on our open source blog, and in July he did the same for Buckram, “a set of styled components for book theming, with corresponding markup, that can be customized with SASS variables,” which we released in an initial stable version that same month.

While it’s largely invisible to most end users, the work we did in 2018 to develop and release Buckram is important because it is provides the foundation for some really exciting theming and customization possibilities for Pressbooks. Buckram is what enabled all of the new theme options that we introduced in Clarke 2.0, for example. In 2018, we converted a batch of Pressbooks themes to use Buckram [Andreessen, Asimov, Jacobs, McLuhan, Andreesen, Dillard, Christie, and Baker], and development work on Buckram continues apace (it’s now at version 1.2.1), with many more theme conversions planned for 2019.

In the course of researching and writing this two part series, my already considerable esteem for my new Pressbooks colleagues grew enormously. I hope that you’ll agree that 2018 saw really significant improvements in Pressbooks as a software product and a community. If you want to know more about what we’ve got planned for the first few months of 2019, we’d invite you to take a look at our published Q1 roadmap and give us your feedback.

Pressbooks 2018: The Year in Review, part 1

When others ask me what Pressbooks is, I often say that it’s two things: 1) terrific open-source book publishing software and 2) the people who make, use, and care about that software. If there’s still time and interest, I go on to explain that Pressbooks is a collection of open-source software components, largely built on top of the WordPress Content Management System, that gives authors, teachers, publishers, and educational institutions a powerful and relatively easy-to-use book publishing system. Pressbooks is also the small team of employees that makes and supports Pressbooks software and a larger global community of contributors, users, and backers who collectively give our software life.

In a series of two posts I want to talk about what 2018 meant for Pressbooks, looking at both the software product and the human community that shapes and sustains that product. I’ll talk about the people first, well, because that’s how we try to do things.

The People

2018 was an exciting year for for Pressbooks and brought with it some pretty dramatic changes. Nothing makes this more obvious than a closer look at the people making and supporting Pressbooks. At the beginning of 2018, Pressbooks had two people working on the project full time (our developers Ned & Dac) and another four (Hugh, Liz, Zoe, Apurva) who split their time between Pressbooks and other projects. Throughout 2018, our team grew, matured, and specialized in response to the needs of our user communities.


In June, the Rebus Foundation (a non-profit organization founded by Pressbooks CEO Hugh McGuire), received a large Mellon Foundation grant to develop a web-based application for digital reading, research, annotations, and collections management. This change in Rebus’s fortunes meant that Zoe Wake Hyde and Apurva Ashok, two colleagues who had been splitting time between Rebus and Pressbooks, left Pressbooks to devote their energies full time to Rebus work. Midway through 2018, Pressbooks bid Zoe and Apurva a fond farewell. All of us working on Pressbooks continue to wish them well as they advance Rebus’s efforts to build a vibrant community of collaborators on open textbook projects; resources, best practices and software to support that community’s open publishing efforts; and a better scholarly reading ecosystem.

A growing Pressbooks team

Early in 2018, Pressbooks added three new team members: JC Guan, our first official product manager; Daniel Fernandes, who spent most of the year improving our existing web themes; and Phil Nelson, who had previously worked with Pressbooks as a contractor but began managing DevOps, systems administration, and infrastructure issues for our SaaS hosting offerings in a more formal capacity.

In 2018, Pressbooks also brought Liz Mays into a full-time role as our director of sales and marketing (she had previously been splitting her time between Rebus and Pressbooks) and welcomed Taylor McGrath to our team, first as an intern and later as a full-time communications and support specialist. Finally, in November, I joined the team as our first educational client manager, with a specific mandate to support our growing base of educational clients using Pressbooks as a platform for open education and open textbook initiatives.

Much of this change in staffing was undertaken in response to our growing base of educational clients and their desire to use Pressbooks networks to develop open educational resources in a variety of modalities and deliver them at no cost to students. While Pressbooks began as and remains an excellent tool for individual authors to self-publish their own books, we’ve been gratified to see our SaaS hosted platform for educational institutions (PressbooksEDU) become a popular choice for colleges and universities around the world who are interested in developing and publishing open educational resources. By the end of 2018, we were thrilled to be hosting standalone PressbooksEDU networks for more than forty colleges and universities in North America and Australia.

PressbooksEDU News

Along with growth in the number of educational institutions using Pressbooks to support their publishing initiatives and a corresponding growth in Pressbooks staff to support them, 2018 also saw invigoration of our PressbooksEDU news blog. Our EDU-focused blog averaged a new post every two weeks in 2018, focusing primarily on an audience of educational users and network managers of hosted EDU networks. Over the past year, Liz and Taylor used the blog to draw attention to educational uses for new Pressbooks features and provide a detailed glimpse into how Pressbooks has been used in OER publishing efforts undertaken by a retired professor, the University of Florida, the University of Wisconsin-Madison, the Ohio State University, the University of Texas at Arlington, the University of Minnesota, and the University of Central Florida.

The story from 2018 that we’re most proud of at Pressbooks, though, was the announcement in March that A Guide to Making Open Textbooks with Students, a collaboratively-built resource edited by our very own Liz Mays, had won the 2018 Open Education Award for Excellence in the Open Textbook category from an international panel of judges at the Open Educational Consortium. A Guide to Making Open Textbooks with Students was originally published by Rebus Community using Pressbooks in August 2017 under the CC-BY 4.0 license, but continued to attract attention and praise throughout 2018.

We’ve got another series of case studies and feature updates planned for 2019, and are really excited to continue learning from and sharing the successes of our educational users. One of my biggest goals for 2019 will be establishing community resources and venues that meet the needs of network managers and our educational clients. Stay tuned for more news on this in the first half of 2019.


No matter how easy to use its makers think a piece of software is, everyone who’s ever been involved in learning a new program will tell you that end users often need help and support. Pressbooks is no exception. While we work hard to make our software accessible and accompany it with clear technical documentation and helpful user guides, we still get a lot of support requests from our Pressbooks.com and PressbooksEDU offerings. In 2018, for example, Pressbooks staff received and responded to nearly 3,500 support requests. When it came to client support, Taylor, Liz, Apurva, and JC led the way in 2018, each resolving hundreds of support tickets.

In fact, most of the Pressbooks staffing changes in 2018 were made to ensure that we could continue to provide best-in-class support for our clients. To that end, Taylor overhauled and improved our Knowledge Base/FAQ documentation and Pressbooks user guide and published and now maintains a new guide explicitly for network managers. JC, Taylor and I also provided personalized training and support for dozens of network managers at client institutions throughout the year, a responsibility that I’m looking forward to continuing in 2019. In late November, Taylor and I also began offering regularly recorded webinars for our EDU clients highlighting how users can leverage new features to do more with Pressbooks; we held the first webinar in the series to accompany the release of Pressbooks 5.6.0.

Because I joined the team specifically to help educational clients succeed with their OER and other publishing efforts, my top priority for this year is to better understand the needs of our growing educational user base and to provide even more ways for PressbooksEDU network managers to engage with us, our software, and each other. Before making any specific plans, my first order of business is to conduct a thorough ‘listening tour’ of all of our existing educational clients so that I can better understand what their hopes, needs, and ambitions are. Over the next few months we will begin synthesizing responses and formulating new approaches and support tools that meet common needs.

Forum Improvements

Some of these changes are already underway in our open source and developer community. For example, in September 2018, we decided to close our open source Slack channel and focus our open source community efforts on the public Discourse forum, which we’ve been operating since early 2016. We now hold our monthly open source development calls (these are open to all!) in Zoom rather than Slack, and post regular public updates about development and upcoming calls on our open source blog and in the Development category of Discourse.

Our Discourse forum continued to flourish as a place for Pressbooks developers and other users to ask technical questions of each other. 2018 saw the addition of more than 60 new members, 340 new topics and 1,400 new posts, such that the forum now contains over 100 members, nearly 600 topics and almost 2,800 posts.

The most popular posts from 2018 in our community forum included a post Ned made about the developer’s guide to accompany the release of Pressbooks 5.0 and inquiries from Pressbooks users on topics ranging from importing content into Pressbooks, PrinceXML, iFrames and oEmbed customization, book theming, automatic line numbering, and watermarks and DocRaptor exports.

Working on an open source software project means that questions come in all the time on surprising topics and unexpected use cases. Observing and responding to these forum interactions over the last year helped us better understand our own software and its users, catch and fix bugs, and make more useful software. We’re grateful to everyone who engaged with us in 2018, and look forward to another year filled with rich, positive engagement with developers and other contributors.

Whether you’re an old hand or are new to Pressbooks and looking for a way to get involved in contributing to the open source project, we hope that you will feel welcomed and valued in our forum, and that you will treat others with kindness and respect. If you have any feedback for us on how we can make participating easier or more inclusive for you or others who might want to participate, please let us know by sending Ned and/or Steel a private message on the forum or by sending a Twitter DM to @pressbooksdev.

GitHub Ideas Forum

In March, our development team created a dedicated Ideas forum and connected Ideas board on GitHub for users to submit development ideas and suggestions for the Pressbooks team. Since then, we’ve received more than 150 unique ideas from almost 20 contributors (including the author of this post). We’ve already added several of these suggestions to our core product, with plans to address many more in 2019.

If you’ve got an idea for something that you think would make Pressbooks better in 2019, we encourage you to share it with us in this Ideas forum, which features a basic template asking you to provide a feature description, use case, and any other notes that might help us in evaluating or implementing your idea. If you’re new to GitHub, we recommend starting with this guide to submitting contributions to open source software projects or this guide to GitHub issues.

GitHub Snippets

A the same time we established the GitHub ideas forum, our dev team also created a GitHub repository to house useful code snippets for others working on/with Pressbooks. It’s currently a little-known and under-used resource, but we hope that by highlighting it here, interested community members might add useful snippets of their own more frequently in 2019.

At this point, I’m beginning to verge into product territory, so it’s probably a good stopping point for now. Keep an eye out for part two of our Pressbooks 2018: Year in Review, which will review highlights from our development work on Pressbooks software, in the near future.