Description
Santiago and David provide an in-depth look at PreTeXt, an open-source authoring tool designed to separate the roles of authors and publishers. David recounts his early interactions with PreTeXt founder Rob Beezer and discusses the evolution and principles behind the tool. They highlight the importance of modularity, separating content from presentation, and emphasize the tool’s relevance for creating interactive, adaptable educational resources. The discussion also touches on PreTeXt’s integration with other tools like STACK and the broader vision of combining multiple open-source technologies to address diverse educational needs.
Transcript
[00:00:06] Santiago: Hi, and welcome to the IDEMS podcast. I am Santiago Borio, an Impact Activation Fellow, and I’m here with David Stern, one of the founding directors of IDEMS.
Hi David.
[00:00:16] David: Hi Santiago. Looking forward to a discussion today about PreTeXt.
[00:00:22] Santiago: Yes, we have mentioned PreTeXt quite a lot in previous episodes and we kind of explained what PreTeXt is, but we felt that a full explanation of how it works, why is it valuable, why we’re bought into this as a technology, is well overdue.
[00:00:47] David: Yeah, it is this element of, as an organisation we have Open by Default, one of our principles, and finding open source technologies that do something specific better than anyone else is something which I love finding, and PreTeXt is one of those technologies.
They’ve got a concept, they’ve got elements of it, which are just, they’ve got it right, they’ve really thought deeply about it, they’ve understood a specific set of problems in detail, and they’ve solved those problems. Doesn’t mean they do everything, but they’ve solved a certain set of problems.
[00:01:28] Santiago: Is it worth spending a couple of minutes discussing the history and how it came about? Because it’s a fun story.
[00:01:35] David: It is a fun story because I’ve been aware of PreTeXt since before it existed. And the founder of PreTeXt, a guy called Rob Beezer, amazing guy.
[00:01:47] Santiago: You went to university with him?
[00:01:51] David: No not no, not at all, we taught together in AIMS South Africa. He was teaching a course on linear algebra the same time as I was teaching a mathematical problem solving course. We were visiting lecturers at the AIMS Institute at the same time, and I knew of his linear algebra textbook. And so I said, oh, I love your linear algebra textbook, I can’t use it with my students in Kenya, but it’s a wonderful book. And so he said, well, why can’t you use it? It’s just too heavy, the internet, it just, it’s not possible.
And it was really interesting, we had a nice time together, that was just a throwaway comment almost. And it just so happened the next year we were teaching the same courses at the same AIM centre at the same time again, and he said, I did it. I said, what did you do? And he said, I thought about what you said, and it took me all summer, but I’ve done it, I’ve rewritten the whole way the textbook works in such a way that it now is, you know, it’s a more coherent system and so therefore you don’t have all these add-on things, which were just plugged together, it’s actually something coherent.
And that was, I don’t know if he’ll tell the story in the same way, but that was a year or so before he started working on PreTeXt. And PreTeXt then evolved out of this after this, and I’ve been watching it ever since with great interest. And it’s been a decade now and it’s now mature and it’s really good. And it has this incredible foundation, which is so important for the contexts that we work in.
What’s really interesting is, those contexts have not been a priority for anyone in the PreTeXt sphere for a decade. But because Rob is so principled, they were baked in from the start and so using it now and seeing it used in Kenya, he’s nailed it. There’s some bits which are just great, just right, he’s got them right.
[00:03:54] Santiago: And there was an episode as well recently on the history of CAST, some statistics textbooks, electronic statistics textbooks, that were really the result of one man’s passion. However, Rob managed to go beyond that and get a team behind it. Is that correct?
[00:04:15] David: Oh yes. Some people would still argue that, you know, he has a bit of a tight grip on the reins, so he is still a hard task master in terms of determining that there are certain principles that he holds very strongly that others within the community don’t feel as strongly about.
But there’s now a big community of developers, there’s a big community of people working on it, and there’s a huge community of books which have been created in it, and they’re being published and used. He’s really built a great community around this. I mean, this is something which emanated from one man’s vision, so to speak, and that’s one of the reasons that I think some of the details are really right.
There’s this saying, are you building cathedrals or are you building bazaars? People often accuse open source softwares of being bazaars, where, as a whole, it works, but it’s all lots of individual bits just put together. Whereas cathedrals, an architect has imagined them and they’ve become reality with maybe a century’s worth of work put together to make it. This is how do you build your software, is it a cathedral, is it a bazaar? And both have their advantages and their disadvantages. But it’s nice to have a good software architect behind it, somebody who really has good vision.
And we’ve often talked about STACK, and that’s another of these open source projects, which has a clear vision behind it. PreTeXt is the same. There’s a group of people developing, there’s a really good community behind it, it’s grown into something which is sustainable, which has a user base, and so on. But it has a core vision, which is really powerful.
[00:05:56] Santiago: And they seem to be, that community seems to be quite open in terms of getting contributions from other people. I mean, one of our team members, Georg, contributed to the development of PreTeXt by getting the STACK integration recently.
[00:06:17] David: Well, yes, and again, this is where the way that community works, a lot of his code was then very heavily reviewed and critiqued, and went through because of the principles. And this is good, this is good open source development. It isn’t just that he wrote it and got something in. It’s that it actually went through and there were elements in what he had done where they said, no, this isn’t aligned with our principles, and they pushed out towards their principles to be able to get it.
So we should actually get down to what are some of these principles? Why is it so different? What’s so powerful about it?
[00:06:50] Santiago: I think before that, what are the key features of PreTeXt? Describing the product, so to speak, what is it?
[00:06:59] David: PreTeXt is an authoring approach in my mind, and other people would call it other things. But what is so powerful about it? PreTeXt sounds a bit like LaTeX, if you are a mathematician and you want to write things and get them published in a certain way, you use LaTeX, and then there are good publishing tools, and there were good authoring tools around that.
What’s wrong with something like LaTeX, which PreTeXt solves is maybe one of the questions, which is useful for a mathematical audience. That’s not our whole audience, but there’s a subset of our audience who would be very familiar with LaTeX. And also, why would you not just write something in Word or in Google Docs?
Well, they don’t have the right metadata. You can write in Word or in Google Docs something which is templated up very strictly, but that metadata is not the same, even in LaTeX, where you actually have really powerful features for getting the structures, and publishing a very polished document. There is the ability, for example, to make text bold.
Now the problem is making text bold is a publisher’s decision that an author is making. In PreTeXt you could emphasize the text and the publisher could decide that emphasize text is bold. You can’t, as an author in PreTeXt, make text bold.
This is a really subtle but very important distinction. And why is that so important? Well, because what PreTeXt is rigorously trying to do is separating out the responsibilities of the author from the responsibilities of the publisher. That’s one of the ways they describe this. If you want to have a textbook which is written and you want to turn it into braille, bold might not exist in the same way.
If you want to publish it in a different way, where bold as a concept isn’t appropriate, then you might choose that there’s another way of emphasizing it. And so by separating out the publishing from the authoring, this does a number of different things. It means that the authored content once produced, it’s structured, it’s meaningful. There’s a limited set of things you can do, it’s more limited in certain ways because you cannot do the things which are the publisher’s decision.
So if you have a really well templated LaTeX document and a PreTeXt document, they’re actually not different. But because you have so much power in LaTeX to actually make decisions which are better left to the publisher, that means that you actually end up getting inconsistencies if you do this, it takes a lot of work to do that.
[00:10:18] Santiago: For example, a publisher could decide that they don’t want any sort of emphasis in their text, so they just ignore emphasize tags in the way the content is authored.
[00:10:33] David: Absolutely. And this is also the case where if you actually take the structures that are produced within the document, the same can be true. You actually have the concept of an exercise, but you don’t need to treat exercises differently from sections. So within PreTeXt there is meaning behind the structures that are built in, which are then interpreted by the publisher to be able to make choices.
But that means that the same document authored once can be interpreted differently to be published in different ways. So why is this so important to us? We talk about this in many contexts, that we want to have a print version, we want an online version which is interactive, we want maybe an online version which can be downloadable, so it’s only got certain bits of interactivity that can be included in certain contexts. We might want to be able to publish within a learning management system.
Being able to have the same authored content exist and publishable, to be deployed in multiple ways is so powerful. Now, there are other groups that try to do this in other ways, but I’ve never seen a group do this as well as PreTeXt for the sort of open textbooks that we’re interested in engaging with and producing.
[00:12:04] Santiago: From a user experience, and I must say a user in two different ways, user in terms of consuming content published through PreTeXt and user in terms of creating content in PreTeXt, I found it incredibly satisfying. As a content consumer, let’s say, the way that you can navigate through the online textbook, I only consumed it online, but the way that you can navigate through the textbook and decide, okay, I have the exercise, but the solution is hidden, when do I want to see the solution? Just the flexibility it gave me as a consumer, it was just wonderful.
[00:13:01] David: You say this and I agree with you, but it’s not what it can do now that I’m impressed by. If you think of this as a consumer, what I see is not only what it can do now, but the fact that this system is designed for the future, because the structures that are there, as you build new ways of interacting with content, there are people working on interactive elements and so on.
It is designed so that these can be embedded in ways which are not only powerful, as we are doing with STACK, but they are thoughtful, as in when we do it with STACK, the big time we’ve had to take is say, well, okay, what does it look like when you have a static version so that this same STACK block, what does it become if you don’t have access to the online textbook, to the interactive mode? It’s forcing you to do that extra work.
What I envisage on this and what I see as being so brilliant in the system is that the integrations that are happening, they are being forced to think hard about this multiple publication mechanisms at the component level, which is the right level to think hard about that. You know, the problem is in many other contexts, you think hard about that at the implementation level, at the instance level, whereas they’re doing this at the component level, which is extremely efficient.
[00:14:42] Santiago: That’s kind of what I was going to get to in terms of my user experience creating content. The level of modularity that you can have when you create content, you can have just a single section, a couple of paragraphs, as a single file that you decide to embed or not in different ways, in different places, just by calling it through some very simple code, it allows you to really build things one brick at a time where each brick has its own meaning, and you decide how to combine the bricks in order to build your house.
[00:15:32] David: Absolutely. You are using the brick analogy, which is interesting because this is one way of looking at this modularity, which I believe PreTeXt encompasses beautifully. Now, I still think that it’s gonna take another 10 years for it to fully mature. And I really hope that over the next 10 years it does mature into what it has the potential to become.
Let me give you a discussion that I had recently on this where I wanted to recommend somebody use PreTeXt and I couldn’t. And the reason I couldn’t is because for that particular, for what they needed to do, it isn’t yet the easiest or the right tool for them. They’d be writing for the future, not for now.
There was a new way of publishing that would need to be created, and that would be a bit too much work. And so they can more efficiently do what they need to do now in other ways. But I can see if only we were a bit further along, if only PreTeXt was publishing beautifully in Quarto, which used to be called R-Markdown, they’re slightly different, but basically a way of writing textbooks with R embedded.
[00:16:54] Santiago: Not just R embedded, but with the capability of running R code as well.
[00:17:01] David: Yes, exactly. So Quarto or R-Markdown, they are documents which embed the R code so it can be executed, so it is totally reproducible research. These documents, it’s a beautiful way of publishing for things which include statistical analysis in R. And it’s definitely the right thing to do. I had people asking me, we are currently just authoring them in Word or Google Docs, but should we be moving to Quarto or should we be moving to PreTeXt?
And I said, well, the long term is you should be writing in PreTeXt, which will publish in Quarto. So the document you want is a Quarto document, but if you write that Quarto document in PreTeXt, it will separate out the publishing choices in Quarto from your actual authoring choices. And so that would be the best way to do that, because then you’d also be able to publish in many other ways.
Now, Quarto could be published in many other ways as well. And so this is actually, there’s a real question of, well, are you getting anything extra from doing it in PreTeXt where you can already publish static things from Quarto, it’s beautiful at that. I wouldn’t want the PDF to be created from PreTeXt directly, on the contrary, once you’ve published it to Quarto, it creates a beautiful PDF or other documents as you need.
But I would still prefer the PreTeXt authoring because Quarto authoring is less structured, it’s less rigorous, which means it’s less future proof. If in the future, just as you’ve had, you went from R-Markdown to Quarto, well, that now just becomes a publishing decision. You probably don’t change your PreTeXt document. So as the language evolves, as you get your new version of Quarto, it’s just updating the publishing rather than updating the Quarto document.
This is why it’s so powerful, because that’s what it will give you. So my hope is this is not to diminish from the work that Quarto is doing, it’s doing fantastic work, but what PreTeXt is doing is it’s understanding how to separate out in specific contexts what the author’s cognitive load should be from what the publisher’s cognitive load should be. It does that beautifully and brilliantly. Is it perfect? No. Is it everything I’d want right now? No. Is it the best thing for everyone? No. But it is doing that job better than anything else I know.
And it’s a piece of the puzzle. I would love to sort of actually have this embedded in ways which just became natural, that many documents were just naturally PreTeXt authored documents. And it was so easy to author in PreTeXt because it should be, because what it’s doing is it’s actually separating out what the author should worry about, and hence, it should be the easiest thing possible for an author who only needs to worry at that point about the content they’re authoring, not about what it looks like when it’s published.
[00:20:29] Santiago: Just to give another very basic example of that, I know this should be a title, this should be a subtitle and this should be a sub subtitle. I don’t care what they look like, I just want them in that structure. The publisher will worry about what they look like and they will decide, okay, titles should have font size 18 and should be centered, the subtitles should be left aligned and have font size 16, and so on and so forth.
[00:21:01] David: And if you think of that simple example, I spend so much of my time in collaborations working in Google Docs and Word documents, telling people, please use the themes, because then you are giving meaning to what you’re doing. Don’t make something bold in a particular size. This is known, this is integrated into every document system we use and people don’t use it.
PreTeXt insists that you use it. And not just that it has more structure to it than that, but that is part of it. It’s that theming piece, which is enforced, and that separation out of that. You can take a Word document and convert it into something like PreTeXt, and if you’ve done it well, it will convert nicely and it’ll convert well, and vice versa. But there are bits of work that once it’s in, essentially, if it’s a well themed Word or Google Doc, for that, without the interactive components and all the other things that you could add, that’s what a PreTeXt document is. It’s like something where the theming has been done perfectly.
[00:22:14] Santiago: And you talk about interactability. What does it look like? What sort of interactive things can you do?
[00:22:25] David: In theory, any interactive component could be embedded. But of course they take time. This is where we’ve had to do the work to create the STACK interactive component. The initial interactive component, because when Rob Beezer had his fantastic linear algebra book, this was with Sage, which is a mathematical computer algebra system where it’s actually more powerful than that, it’s a whole set of open source mathematics tools all put together, extremely powerful, extremely interesting.
And so he had Sage interactives embedded in his linear algebra textbook. He was one of the first people to do this really well. And that was the initial motivation, to sort of say, well, I need to be able to compute a print version of this that could be sold in bookshops, because it is my textbook, but I also need this interactive version, which has these embedded Sage interactive components, which work beautifully. That was the origin, if you want.
[00:23:26] Santiago: And there are mechanisms to get the interactive components to be static for printing.
[00:23:35] David: Yes, that’s part of what PreTeXt does. And these are choices you may make as an author, you actually have quite a lot of power and control over this. But in many cases, some of these interactive components actually have automated ways of converting, though that sort of depends on how well established that interaction is, that interoperability is.
And there’s groups who are spending time now really trying to say, well, how do we build better interactive components? There’s a Donut project, which is really exciting in doing some interesting work on that. There’s a modulus project, which is doing some really interesting work around assessment and being able to get assessment feeding back in certain ways. These are more static assessments than the STACK type assessments.
But WebWork is another thing which has already been integrated into PreTeXt. In fact, that was the integration that opened the door for us to produce the STACK integration because we were able to build from some of the work that WebWork had done.
WebWork is another question type if you want for mathematics questions, very well established, very powerful in many ways. It’s one of these things, where the WebWork integration opened the door to other assessments being integrated naturally because this then got thought through, well, what does it look like if you want to have an embedded assessment piece.
[00:25:03] Santiago: Great. I’m aware that we can potentially spend half an hour more, at least, discussing PreTeXt, but, for the sake of time, any final thoughts?
[00:25:17] David: I guess the final thing I want to just state is I’m not excited about PreTeXt because I feel this is going to change the world. I’m excited about PreTeXt because it is a piece of the puzzle. I could go out, we should do a Smiley Coins episode soon, there’ll be another piece of the puzzle. There was a CAST episode, which is another piece of the puzzle. STACK we’ve done quite a number of episodes on, and that’s a really important piece of the puzzle that we found.
These open source technologies, none of them in isolation can solve the whole problem. It is so important that we think about not one tool doing everything, but enabling individuals to solve their piece of the puzzle and then to put that together into a beautiful, jigsaw tapestry. I mean, at the moment, PreTeXt is a beautiful artifact, which we can weave into a system which uses PreTeXt, STACK is another beautiful artifact. Our vision in the future is that they become part of the tapestry, but that’s a whole different story, and another episode.
[00:26:32] Santiago: Which will come out shortly if it hasn’t come out yet.
[00:26:38] David: Thank you.
[00:26:39] Santiago: Thank you, David.

