About the MarkupEditor

A funny thing happened on my way to build a WYSIWYG editor for Swift developers.

Really, I was on my way to build a little app to write about my software development projects. (I use it most days, but I have never released it.) I wanted to do WYSIWYG editing, not Markdown, and I thought I'd find an open source library to use for the task. It turned out there wasn't one. So, like so many fools before me, I set off to create one. How hard could it be? That was 2021.

Fast-forward from a pretty well-hardened Swift version into feeling increasingly frustrated by the hand-crafted DOM manipulation required to support more and more features. ProseMirror came to my rescue there, and as a result, I ended up formalizing a pure JavaScript library that I used to deliver an HTML web component for WYSIWYG editing. That web component, then, in turn provided the underpinning for a new Swift MarkupEditor version. Finally, this evolution turns out to have eased the path for proper MacOS support of WYSIWYG editing, whereas previously I was using Mac Catalyst for it.

These days, you can't escape Markdown. I have a grudging admiration for what it does, even if I hate having to write Markdown text and struggle with the visual filtering required to read it. I like the nice shorthand of *italic* producing italic, and I like creating a list with a leading * or a header by typing a # in front. I love the cool things people have done with rendering of code blocks and inserting metadata. But tables? The limitations on images? The random need to drop back to HTML and hope the version of Markdown you use to render it supports it properly? Ugh. The pure uncertainty in not being able to see what your document will look like as you type - this is just unacceptable to me. So here we are: a proper native MacOS app for WYSIWYG editing of Markdown. I hope it's useful to you, and more than that, I really hope you love it.

About Licensing And Subscriptions

I believe a developer-centric product benefits from being available under a permissive open source license. It does, however, limit your ability to monetize. If you're a developer, you can literally just build the MarkupEditor app and use it - you don't need to pay anything. I'm providing a time-limited pre-built evaluation version for free to make it simple to try out. If you want to use a pre-built version and get ongoing access to updates, then you can pay for a subscription. Since you can always build from source, this mechanism just makes it easy for you to help support app development and maintenance while getting ongoing updates. There is no license key involved, so you can cancel your subscription and continue to use the product.

About Me

I'm Steven G. Harris, but you can call me Steve. I wrote a lot of engineering software for a long time, mostly in FORTRAN. At some point, I moved to working in Smalltalk, back when it was going to take over the world as "the next COBOL". When I retired after managing software developers for years, I decided to go back to programming and learn Swift, which I really enjoy. I did a couple of iOS apps, but the only one still available is a game called Polyominoes. Working on the MarkupEditor has also led me to get pretty good at, and appreciate, JavaScript. On social media, I mostly maintain a presence on Mastodon, although you can also find me on Bluesky. Stop by and say hi sometime.