Introducing Publisher
November 24, 2018 -Way back nearly a year ago, December 16th I started work on a blog publishing app. There are several approaches to this on the Mac, but I felt the need to build another.
Competition
Apps like MarsEdit 4 and Blogo offer the complete package. You can write, edit, publish, and then manage the articles on your blogs. There are also text editors like Byword that allow you to publish to blogs when you're finished writing. There are also apps from companies like Ghost and Wordpress who make apps themselves, but these appear to be electron shells and defeat part of the reason anyone would want a desktop app for their blog. There are even others who were either shut down or acquired and are gone forever.
My plan has a few advantages over these.
- I can support different blogging systems. Many support Wordpress, but few support systems like Ghost (which this site uses).
- They provide editors when not everyone needs an editor. Many people have a way they like to write; maybe they use BBEdit, Vim, Bear, or any other excellent editor. By leaving this part out of my app, writers can use the editor they want to use and Publisher (the tentative name for my app) can take care of that part it is good at.
- I won't write it in Electron, so accessibility, performance, integration, and a native appearance wouldn't be such a hassle.
I think my app and I has a shot in participating in an important space: internet publishing.
Initial Plans
This is how it started. The primary motivation for the app was to provide an offline backup of all my posts that could easily be published somewhere else. Some blogs have a way to export their contents, some blogs have a way to import contents, but the format one blog can export doesn't always match the formats the new blog can import. Even when import does work, there's often glitches. My own blog moved from tumblr onto various blog engines to its current home on Ghost. I've spent quite some time fixing errors created by this mis-match. Publisher will be an app that solved this and make sure this worked nicely on supported blogs.
Progress so Far
This is how the initial UI looked as I planned. This did not consider some of the features I planned and came before Mojave was announced with Dark Mode. Mojave's dark colors were way nicer than these, so I was happy to adopt them once they arrived.
Time passed and I made good progress on a working core of an app. Since I'm unfortunately not independently wealthy, I needed to continue my regular client work throughout the year as well. Even so, since March my app has been in a usable state. Every post on this site since then was published using my app, often each post published would spawn a small list of bugs to fix and features to add or adjust.
Development-wise, this might be some of my best work. As of right now, the app uses a framework I created which is 100% tested to handle the Mobiledoc format and the rest of the app is 84.7% tested (though that would be slightly higher if there wasn't a bug in how coverage was calculated in Xcode). Code coverage isn't the only way to measure quality and can often be a problematic way, especially on a team that is not enjoying their work, but for me it means less bugs in the future (including regressions of the bugs I've already found and fixed), confidence in releasing on new versions of Mac OS and Swift, and street cred when people talk about testing.
This is how the app looks now. It's not quite ready for you to enjoy, but it's getting there. Be sure to check back here for updates as we get closer to the release!