In 2020, I prepared teaching a workshop about TDD of iOS apps in Swift together with Rene Pirringer and Jon Reid. Rene used a tool to generate slides from a simple Markdown file that was Mac-Only. My first reaction was: I want something like that, but for Windows.
I quickly implemented a small prototype, and in the process, I realized that I wanted my tool to be somewhat different to what I saw. As I worked on it longer, I got a clearer picture of what I wanted the application to do.
My current design goals are:
Easy editing: I want to be able to quickly write down ideas in Markdown, because for me, this is faster than using some presentation software. But I also want to see how the final presentation will look like—after every key stroke.
So, the main window of marmota.app is a Markdown editor with a prominent live preview.
Supports the presenter In addition to a nicely rendered presentation, I also want a fully-fledged presenter screen, visible on my second display.
The presenter screen of marmota.app shows the current slide, next slide, speaker notes, a timer and more...
Extended markdown syntax: With only Markdown, there are some limits to how nice-looking presentations can be. On the other hand, I do not want to sprinkle my presentations with custom HTML and CSS.
marmota.app supports "options" that are not part of other Markdown dialects. Using those options, you have fine-grained control over how your presentation gets rendered.
Design compatibility The presentation content should be mostly independent form the chosen slide design. This means that, for an existing presentation, you should be able to update the design—e.g. when the corproate identity/designs of your company gets updated—and it would still mostly look good.
That's another reason why I don't want to support inline HTML and inline styles.
Easy presentation management Since the content of your presentation is mostly a plain text file plus some images, the presentation can be completely contained in a single folder on your hard drive, that you can also ZIP and send to others.
On the other hand, sometimes it would be nice to re-use stock images. So, in future versions of the software, you will be able to define central paths for images, slide designs, etc.
Supports working together As mentioned above, presentations are mostly text files. You can use version control software—like, for example, git—to work together on a presentation.
Free basic version A basic version that contains everything to create a presentation and then present should always be available free of charge. On the other hand, I might want to release some non-free versions with extended features some time in the future.
Those goals might shift in the future, and new goals might appear. Maybe I will write more about some of them later.
What do you want or need your presentation software to support? Get in touch - We are always looking forward to hearing feedback, feature ideas, etc.