Moving From Substack to Ghost — My Experience

Digital nomads. The flavour of the day. Looking for a better digital experience? Every reason is good to move from one place to another in the digital world. It’s about having some fun.

I recently came across this blog post from Greg Morris where he writes: “I look at blog designs like Birchtree.me* and think to myself “I want a blog like that” and then go out and try to build one.”*. I often tell myself the exact same thing. But then, not long after, I came across another blog post , but this time by Andy Nicolaides writing on his blog, The Dent:

“I’ve just gone through yet another blog migration, moving from Micro.Blog to Ghost (again). I was happily posting to Ghost a year or so ago, saw a nice looking blog on Micro.blog and jumped ship. I then sat there, not posting for half a year, before I saw Greg Morris’ updated site over on Ghost and my blog envy kicked off again. Let’s not even mention how incredible Matt Birchler’s Birchtree looks right now!”

Ghost has always been a source of curiosity for me, coming back to it from time to time to look and see how it is evolving. Following those two blog posts, I got back to one of my articles about a past experience with Ghost for photo sharing. At the time, it didn’t go well. Furthermore, I started using Substack to host my newsletter for unknown or clearly defined reasons. So, this time, I returned to Ghost to look at it as an alternative to Substack. Why? After all, I was quite happy with Substack. And yet… If I look at Substack and Ghost, there are many things that made me dubious of my choices.

  • I don’t get any subscribers from Substack Discovery because Substack is very popular these days.
  • I prefer the way Ghost handles the publishing process and the distinction between having a CMS and a newsletters publishing platform within the same platform.
  • Ghost’s API supports text editors like Ulysses, which would help speed up the process of creating newsletter issues. By working directly with Ulysses, each new issue would be much easier to put together, as Ulysses supports templates, while Substack doesn’t. Since the basic structure of my newsletter stays the same each month, using a template makes perfect sense.
  • Substack offers some visual customization options, but they are quite limited. On the other hand, Ghost offers themes that help make a more personal-looking website.
  • Ghost supports Unsplash, which is a must for me.
  • Ghost provides better support for photos than in Substack with photo galleries. This could prove to be useful for my photo legend series, among other use cases.
  • Integration of plausible analytics is easy, but it is not possible with Substack. Another must-have for me.
  • Stripe integration, which I already use for Medium payments, if I ever choose to add a paid tier to my newsletter.
  • Commenting is possible by tweaking the theme and adding some integration code. Yet, I wish there was a better and easier way to add this to a website. In the future, I could try to set up Commento for comments using this procedure. Ghost theme customization is available only on mid-tier and up-paid plans. This feature could replace the thread feature available on Substack.
  • Good integration with Buffer via Zapier. IFTTT integration is possible only via RSS feeds. As a paying member of IFTTT, I chose the latter.
  • Better RSS feeds support posts, tags, and pages just by adding /RSS to any URL. On top of that, it is possible to customize the webpage referring to a tag by adding a header image and a description, just like here for the Photo Legend Series.
  • Selecting a fully featured theme is challenging, as Ghost doesn’t provide an easy way to filter themes by supported features.
  • I’ll leave my Substack account active for the Substack Reader feature.
  • Easy migration path from Substack to Ghost using this procedure.
  • Should I import my content? After a short test run using the 14-day evaluation period, it was clear that I had to.

How Ghost could be improved for me?

One of the Ghost editor’s most powerful and useful features is the ability to create and reuse content snippets. If you’ve ever used an email client with saved replies, this will be immediately intuitive.

  • Integration features and custom themes for the entry-level paid plan (access to the API admin token).
  • A customizable dashboard.
  • A native client on Mac or iPad.

Steps to move from Substack to Ghost

  1. I exported my data from Substack, which took less than 10 minutes to complete. Substack makes this super easy.

  2. Import my subscribers list into Ghost’s members list.

  3. Download Xcode from the Mac App Store and launch it for default configuration (required for the next step).

  4. Install Homebrew to be able to install NPM modules later (importing content into Ghost requires Node.js and NPM modules): https://treehouse.github.io/installation-guides/mac/homebrew

  5. Install Node.js and NPM: https://treehouse.github.io/installation-guides/mac/node-mac.html

  6. Follow this procedure to import articles into Ghost CMS. This is done via the command line.

    `migrate substack numericcitizen-export-2021-11-14-m9k19kr99s/posts.csv –readPosts numericcitizen-export-2021-11-14-m9k19kr99s/posts –url https://numericcitizen.substack.com –useMetaImage –useMetaAuthor –drafts false

    `A lot of my decision to switch depended on the success of this step. If content was successfully imported without too much required tweaks, I would consider this a success and go with the next steps.

  7. Import the created zip file (the migrate command generated a 230 MB zip file ready to import). This file was then imported using this procedure.

  8. Configure site pages and tags Once the import is complete and without error.

  9. Review imported content and set tags according to each post’s content. That step was tedious but was mandatory to recreate the same content structure currently on my Substack website.

  10. Configure and write a contact page so that users can click from the bottom portion of my Ghost website to contact me.

  11. Connect my Ghost account to my Stripe account just in case, even though my newsletter is free—you never know!

  12. Configure Ulysses publishing options to publish content from within the application to Ghost. After all, this was one of the main reasons I switched from Substack to Ghost, right?

  13. Do a test run with a fake article and check RSS feed content generation.

  14. Configure the support and reply-to email addresses.

  15. Set up Plausible analytics and add it to my Ghost website using the customization feature in the header section.

  16. Update all my IFTTT automations for cross-posting to Twitter via Buffer when a newsletter issue comes out.

  17. For mid-tier paid plans only: Add Twitter Revue new sign-up to Ghost via Zapier (this requires the Admin API token, which is not available in the entry-level paid tier).

  18. For mid-tier paid plans only: Add Ghost cross-posting to Buffer via Zapier (this requires the Admin API token unavailable in the entry-level paid tier.)

It took me about a day of work to accomplish all this, from the trigger to the final announcement post on Substack. I’m super happy with the end results.

Migrating My Content From HEY World to Substack

Yesterday, I put an end to my HEY World experiment. After making the call, I wanted to keep my content and migrate it to Substack. So, I tried the Substack RSS feed import feature, but it wasn’t working. As shown in the following screenshot, the error wasn’t explicit enough to pinpoint the cause of the problem.

Substack's RSS feed import couldn't see my HEY World content

I had 23 posts to import, which was not a big deal, but I preferred not to move my content manually. Trying different variations of the URL didn’t help. Substack wouldn’t detect any feeds from HEY World. Here is my solution.

HEY World uses ATOM RSS feed format. I thought Substack couldn’t parse those. The idea was to transform the ATOM RSS feed into something else. After googling for a solution, I remembered about RSSMix (this service is no longer available and FeedPress is way better). This free web service enables merging many feeds into one. I use it to merge all my personal RSS feeds into a single one to build a publishing timeline. It’s pretty cool1. For my HEY World content migration, I took the ATOM RSS feed with another one and merged the content2. The end result is another feed, but this time in XML format. I went to Substack again, and sure enough, the resulting feed could be imported. After the import was completed, all I had to do was delete posts from the second feed content which wasn’t part of HEY World3. Simple as that.

Update #1: 2022-05-22 : Since the publication of this article, I moved (again) my newsletter to Ghost. Update #2: 2024-06-15 : Replace RSSmix with FeedPress as the former is no longer available


  1. I think I should write about it in a different post. ↩︎

  2. RSSMix requires at least two RSS feeds to work. I chose one of mine with little content associated with it. ↩︎

  3. The one thing I would have liked from Substack was a way to select each post individually before hitting the Import button. ↩︎

Bye Bye Universe — It Was a Nice Ride

Nearly a year ago, I introduced my Numeric Citizen Visual Space, a website made with Universe, a website creation application running on iPhone, iPad and macOS. This space never really took off and never attracted traffic, probably because of its lack of a social network dimension. In retrospect, this was an experiment more than anything else. Universe is a special application where websites are built using a visual block metaphor. There is nothing like it. I was seduced by it and forgot the goal of building a web presence to expose my urban exploration photography work. Eventually, I stopped updating the website. I decided to cancel my subscription ($159.99 CAN per year, which is rather expensive if you ask me). If there was a free tier, I would probably keep it, but that’s not the case.

I’m still looking for a better photo sharing solution besides the usual suspects. Glass? Bokeh? Both of these are still under wrap, and their future is uncertain. As I’m waiting, I decided to “park” my work on a lesser-known place called “Ello”. Ello is a lot like Tumblr. It’s free and does the job for now.

Update 2024-06-06: Ello and Bokeh are no longer being developed and were abandoned.

Getting Ready for Google's May 2021 Algorithm Update

Getting ready for the upcoming Google May 2021 algorithm update. See how I improved my Page Insights score by more than 225%.

My blog visitors traffic from 2019 to 2021.

In May, Google will tweak its ranking algorithm again by including new experience metrics into the equation. Those changes were first announced back in May 2020. According to a recent post on Yoast’s blog:

In May 2021, Google will add Core Web Vitals as ranking factors in its algorithm. This means your site’s page speed and page loading time will impact your rankings.

And, from Liz Moorehead of ImpactPlus:

…these “page experience signals” will be rolling out in May 2021 as part of an algorithm update, meaning how well you measure up against these page experience factors will positively or negatively affect your rankings after this update takes effect.

After reading this, I was expecting the worst. I felt like it was like a storm waiting to strike. The feeling is not really cool, a feeling of “deja vue”. In November 2019, something happened to my blog visitors analytics: it dropped by more than 50% in just a few days. I was astonished and didn’t really know what happened or if I broke something with my blog. I did some research and found out that it was the consequence of a ranking algorithm change by Google1, an update that put my blog at a disadvantage2.

Preparing for this upcoming change, I had to find ways to minimize the impacts on my main blog, fearing I would lose traffic again.

The starting point

At first, when I started to look into this matter, I discovered the pagespeed insights tool from Google3. Don’t miss this insightful article about why PageSpeed Insights is an important tool. As you might expect, I tried it against my websites. According to this tool, my main blog didn’t score well, both from a mobile user perspective and a desktop user perspective, albeit it did a bit better for the latter. Both scores weren’t in the “green range”. I ran the test many times, and sure enough, on average, the scores were bad. Consider the following two scorecards.

Initial scorecard for the desktop version of Numeric Citizen Blog.

Initial scorecard for the mobile version of Numeric Citizen Blog with AMP pages enabled.

That’s not good, but it serves as the starting point. I had to make improvements on all fronts. Does all WordPress websites need to be slow? They certainly have a bad reputation in that respect. As a Business Plan subscriber on WordPress.com, I get to run my website on its own virtual instance. This makes a big difference. Yet, the next steps weren’t clear to me.

Improving the mobile experience

The worst score shows that mobile users were the most affected. How many visitors come from the desktop, and how many come from mobile devices? According to my Plausible analytics, surprisingly, most of my visitors come from desktops, not mobile devices, as shown in the following table. Yet, the score needed some improvements.

Blog visitors by device types.

A big change was to remove support for Google’s AMP page format. AMP pages aren’t the best idea for the open web and, according to my testing, made my website run slower. Disabling AMP support in WordPress.com is as simple as turning off a switch. After doing so, I could already observe big improvements in loading time, but that wasn’t enough to get my score into the green zone. What else could I do?

Revisiting my WordPress plug-in usage

WordPress is well-known for its support of plug-ins. The more plug-ins installed, the higher the possibility of a slower-than-normal website. It’s easy to have a plug-in overload. For my optimization work, I had to revisit the usefulness of each of them.

I simplified my blog’s main page a bit by removing a rarely used footer widget. This widget allowed people to subscribe to my Mailbrew newsletter. This change improved response time quite a bit. For some reason, the Mailbrew widget contained many scripts calling Mailbrew’s home, which increased latency.

The Twitter timeline widget was also removed; I don’t think people cared much about my latest tweets showing up there4. By removing the sidebar on the main page, content retakes the center stage in a cleaner page layout.

The IndieWeb support plug-ins (three in total: IndieWeb, Micropub, IndieAuth) were disabled because I suspected they could negatively impact the performance. After re-testing the website, the speed didn’t change much; those plugins were re-enabled5. Media Cleaner and Mailchimp support were no longer needed and were removed, too, but I don’t think they negatively impacted my website loading time.

Other plug-ins like CoBlocks, add a richer set of block types in the WordPress editor. This plug-in adds a few scripts and CSS according to my research. By disabling this plug-in, some of my posts would break, not that there are many of them but still, some care is required here.

Adding two optimization services to my toolbox

In “How to speed up WordPress”, I discovered two paying services: the first one is WP Rocket, to optimize many internal aspects of my WordPress website and Imagify to optimize images.

After reading about WP Rocket’s capabilities, I installed the plug-in. After installing the plug-in, WP Rockets does many optimizations behind the scenes without any intervention. Then, I poked around the provided features and started to enable options one by one, carefully testing my website at each step, as suggested in the plug-in documentation, to see if anything was broken. At each step, everything was loading perfectly. At the end of this process, I did a new round of performance testing using the page insight tool, and to my delight, my score went up even more.

In summary, the following options in WP Rocket were enabled:

  • Cache / Enable caching for mobile devices
  • Cache / Enable caching for logged-in WordPress users
  • File Optimization / Minify CSS files
  • File Optimization / Optimize CSS delivery
  • File Optimization / Minify JavaScript files
  • File Optimization / Load JavaScript deferred
  • File Optimization / Delay JavaScript execution
  • Media / LazyLoad for images
  • Media / LazyLoad for iframes and videos
  • Media / Add missing image dimensions
  • Preload cache

All in all, I’m pleased with WP Rocket. The optimizations may not provide a night and day difference, but they do add up to make my website a better web citizen.

Next up is a companion service to WB Rocket, Imagify. It is simple to install and configure. The free version allows for optimizing 500 MB of image content. I went with the unlimited version so I could process all my published content. It took 12 hours to process about 5 GB of images. The end result is that my image library size was reduced by 62%. That’s a big improvement. As expected, optimized images look pretty much the same as before.

Other considerations

I considered using a content delivery network service (CDN), but after much thought, some internet research, I decided not to do so. My blog doesn’t use a lot of heavy content like videos, only some pictures and many screenshots. I don’t think this would have made much of a difference6 for most of my visitors7. The following is a Lighthouse test result for speed access according to geographic locations. The next graphic shows where my visitors are coming from.

_Imagify-optimization-results.png

My website performance by geographic locations

_Speed-access-by-geo-locations.png

My website visitors’ origins

My WordPress theme is flexible and allows for many customizations. This means a lot of CSS is involved. I’m also using custom fonts that add some weight to the website. According to SolarWinds’ Pingdom tool, the main page of my blog weighs about 784K, where 40% is for the fonts, 27% for images and 26% for scripts and CSS. Repeated tests show the main page loads in about 3 seconds or less. This doesn’t fit with my observation when I’m visiting my website from my machine, which seems to load faster than in 3 seconds. Three seconds isn’t bad, isn’t it? Anyway, I’m not planning to undo my font selection, as the standard ones are ugly as hell.

Another step was to look at Google-related stuff. Since I’m using Plausible Analytics, references to Google Analytics were no longer needed and were removed from WordPress.com configuration settings found in the JetPack settings. Good riddance.

Final scores and looking forward

Final scorecard for the desktop version.

Final scorecard for the mobile version with AMP pages enabled.

I’m happy with all the improvements I’ve made to my website. The improvements were the most impressive on the mobile version. It could be better, but I’m utterly happy with where the score stands now.

Keep in mind that WordPress-based sites are dynamically generated. A lot of processing happens behind the scenes when hitting the homepage with a browser. My microblog and the site you are reading are static-generated and fast to load. But, if you compare the loading times of all these sites, you’ll find that they are comparable.

Now, the big question: Am I ready for Google’s 2021 algorithm update? I think so. Will my optimization efforts be rewarded? Who knows? Google is like a beast that we have to feed, and please, who knows if he will like the meal served this time.

By increasing my website’s score for mobile users by as much as 225% and by more than 25% for desktop users, and by meeting most of Google’s requirements for “website providing a great user experience,” I hope that the upcoming Google changes in May will be beneficial.


  1. I wasn’t the only victim of Google’s action. ↩︎

  2. This change prompted me to change the type of content that I post on my main blog: longer posts with more meaningful content. ↩︎

  3. Another useful tool is GTmetrix↩︎

  4. Anyway, I recently reduced my Twitter usage by a lot, as fully documented in this blog post↩︎

  5. IndieWeb plugins provide a useful integration of comments from other websites. ↩︎

  6. According to my research, my blog is hosted on WordPress.com in the US, where most of my visitors come from. ↩︎

  7. WP Rocket offers a CDN service for 7$ a month. I’m not willing to pay for that. ↩︎

The Value of Using Links and References

Let’s put aside « link posts » (like this one) for a minute or two, the time required to read this article. Recently, I noticed that links in published content vary a lot from one author to another. Some bloggers or writers use many links, while others barely include any. I thought that was fascinating, and I started thinking about my link usage.

For example, M.G. Siegler, a well-known writer on Medium, uses links in his writing. Quite a lot, actually. One prime example is in «Oh yeah, Intel. Nice! ». Another example is from another well-known author, John Gruber, in « Apple Holds Up ProtonVPN App Update for Two Days Over the Phrase ‘Challenging Governments’». On the opposite, an article like this one, there is no link to be found. Here is another example.

In the digital age, the Internet was designed to be a cross-referencing platform, a vast mesh of knowledge. This principle still holds true. Links are not just random connections; they stem from thorough research on a subject, a topic, or an event. They require time and effort to gather, read, grade, curate, comment, and store for future reference. The process of handling links is a valuable investment in the quality of your content.

Personally, I’m a « put as many links as possible » type of guy. I would argue that references add value to an article besides the basic obligation of referring to sources. Links can refer to contextual information. They can also help support some justification for a given stance on a subject. They can help the reader better position an article with others on the same subject. Links are powerful.

Admittedly, there is a risk that readers might be drawn away by the allure of referenced articles, potentially leaving mine behind. However, I firmly believe that the value added by links outweighs this risk. I appreciate your commitment to engaging with this article if you’re still with me. Thank you for your time.

Which App or Service is Best?

Recently, I had a chance to read and participate in two different discussions about which app, feature or service is better for a specific task or use case. In the first case, someone was asking about Ulysses handling of Markdown links. The question triggered a really enlightening discussion about how Ulysses, and many more writing apps for that matter, was good or not at certain things like Markdown handling in general1. In the second case, Lee Peterson exposes his disdain for being forced into using the block-based Gutenberg editor, replacing the venerable classic editor. Again, a simple blog post triggered a great exchange about where WordPress seems to be heading2.

Regarding Ulysses, I’m a fan of its Markdown handling. The fact that I don’t see Markdown tags while writing is a big plus for me. However, I wouldn’t mind having the option to toggle this feature on and off so I can appreciate Markdown in all its glory. As for the Gutenberg editor, I admit I wasn’t a fan at first. But over time, it grew on me to the point where I wouldn’t consider going back. The block-based editor is also the approach Craft is taking, and it’s working its magic.

Ultimately, the beauty of these discussions lies in the diversity of opinions. It’s not about who’s right or wrong but about each of us finding the app that best suits our needs and preferences for the task at hand.


  1. I’m a big fan of Ulysses, but there are definitely areas where improvements would be welcomed. One such area is the publishing workflow. ↩︎

  2. The idea of introducing Stories on WordPress.com is simply stupid. I don’t want WordPress to copy Snapchat or Instagram. ↩︎

Should I Try Write.As? I Came, I Saw, Then I Left

I saw someone on Micro.blog using Write.as a platform for publishing a blog. After spending a few minutes on the blog and Write.as website, I find it very tempting; it’s clean, super simple, well-thought-out, and cheap. Maybe I should try it? Or maybe not. I’m already spread too thin. I feel it would be another rabbit hole. If all my current platforms were fully satisfying, I wouldn’t be looking at other places.

At the very least, I could open a free account and see if my impressions are valid.

[Update #1: 2022-05-19: I did take advantage of a special pricing for a five years subscription. You can find me on write.as: https://write.as/numericcitizen/]

[Update #2: 2024-05-20: I no longer use write.as since earlier this year. I deciced to bring the content to my main blog instead.]

My Blogger Workflow as of 2021-03

This is the first post on Numeric Citizen I/O about my blogger workflow. This website’s mission is metablogging, which means writing about the tools and services that I use as a blogger and content creator. I hope you enjoy the ride here. This is the most comprehensive update yet. In this workflow release, as of 2021-03, there are many important changes. Here is a run-down, in no particular order.

My blogger workflow as of 2021-03.

  1. First, as stated earlier, I created a new website about meta-blogging. It’s called Numeric Citizen I/O, which is hosted on Blot1. That’s where I’m talking about the tools and experience as a blogger and content creator. The domain name is hosted on GoDaddy. Domains ending with .io aren’t cheap, here are possible reasons why. I’m super happy with Blot. Their support is excellent. I learned how to properly use Git in my endeavour. I’m using Commento as a commenting service which is privacy friendly.
  2. Linktr.ee: is now my virtual visitor card. Super easy to set up. Lots of formatting options. Not cheap, though. In the past, I had an account on about.me which I closed because of its lack of formatting features. I’m pleased with Linktr.ee.
  3. Gone is the venerable MarsEdit on my Mac. Ulysses version 22 supports publishing to Micro.blog2. I do like MarsEdit, but I prefer Ulysses which is available on all Apple platforms.
  4. Gone is Linky, from my iOS devices. Used to be a great app for sharing links on Twitter and text highlighting. As my Twitter usage has dramatically reduced in recent months, I no longer need it. The app is no longer being updated, apparently, which is also contributing to its demise.
  5. Now in: Nova and Working Copy for publishing to Blot. Nova was recently reviewed on MacStories.net. I think it is important to show support for those developers who care to create real Mac software, not just ports of Windows apps.
  6. Now enabled is the automatic archive of my Micro.blog content to a Github repo. I like the idea of having my content available on Github. Using Nova, I cloned the repo on my Mac too. From time to time, I make pull requests to update my local repo.
  7. Craft is my new note-taking application, replacing Notion. Read my recent article on Craft. I still have content on Notion and I don’t know ye how and when I’ll be able to take it out. I’m waiting for their APIs release. I’m in no rush.
  8. Speaking of Craft, I’m using it to maintain a digital garden which can be found here. It’s super easy to nurture and the extensive formatting options of Craft allows me to have a decent website. You can leave comments by the way!
  9. Apple’s shortcuts, not shown here, play a small part in my workflow. One of them is to generate quotes from a web page by selecting the text that I want to quote. Another one is to create a page in Craft from a website. It’s very handy and covers a use case not available in Craft but which is available in Notion.
  10. I restarted my Vimeo page as an experiment and for storing short clips of user-interface micro-interactions from apps that I use and like a lot. You’ll find many examples from Craft. Vimeo is not cheap. Microinteractions are created using the screen recording feature of iOS, but are converted to GIF when needed in a blog post using IMGplay, an excellent GIF maker available on all Apple platforms.
  11. I’m still super happy with Plausible, a Google Analytics replacement. You can have a look at my visitor statistics for this site, for example.

From an idea to a blog post.

Under consideration

Reeder for maintaining a list of read later articles. I could use Craft for this instead. I created a page that contains all the bookmarks. This page is accessible from my digital garden, too. I like Reeder’s design for reading, though. Maybe there is a more profound problem: read later features like the one with Safari or with an app like Reeder don’t make me read more. I tend to forget about things I save in these lists. So, why give a damn about those app and service? If I don’t read an article that I find interesting in the first few hours or days, I’ll never read it. I’ll give myself some more time to think about this one.

Readwise: It is a fascinating service, but as my Twitter usage has dropped significantly, its usefulness is uncertain. Syncing highlights from Medium is interesting, though, because I’m a big reader of Medium content. The iPad app is lacking in certain areas. There is no Safari Extension that I’m aware of. Let’s see where it all goes from here.

A return of Things. Craft is able to export and import data to and from Things but not from Apple’s Reminder. The problem is that Things doesn’t have an URL field, which I depend on in Apple’s Reminder. I asked the Craft developers if support for Reminders was coming. It is coming. Things won’t make it back, I think.

Using Square on Linktr.ee to enable tips from my readers. Too bad only Square is supported, I would have preferred Stripes on which I already have an account setup to receive Medium payments. Furthermore, my experience shows that people don’t tip bloggers. Nobody really cares to support marginal content creator like me. Oh well, getting my rewards from the journey, instead.

Moving my Photo Legend Series to HEY World. I think it would be interesting to restart this photo series but this time on HEY World. It is super easy to publish, much easier than WordPress. That’s enough to consider this move.

Closing remarks

That’s it for this blogger workflow update. Things are starting to settle a bit. I don’t see major changes in the foreseeable future. I hope you made some discoveries with this blog post. Let me know in the comment section.


  1. That’s the website you are currently reading! ↩︎

  2. The exact date of Ulysses version 22 is still unknown at the time of publishing this post. ↩︎

Showing Support for Real Mac Software

I bought Nova in support of real Mac software developers

Nova’s main windows.
So, I decided to buy Nova, the best client for editing and publishing content to this Blot website using Git and Markdown. MacStories published a review of Nova just yesterday, emphasizing that Nova feels like a real MacOS application. I felt the need to show my support to Nova developers. We should celebrate great Mac apps. There are free alternatives like Atom or Visual Source Code, but they feel weird on the Mac.

Update: 2024-05-20: I no longer use Nova since I migrated from Blot to Craft & Micro.blog. I no longer need this type of editor.

Ghost 4 is Out! So What?

Ghost 4 is out, but is lacking one major feature.

Now, at version 4, Ghost, a self-hosting publishing platform, is buzzing again. To me, Ghost always looked like a modern version of WordPress. They share many similarities. The close integration of website and newsletter publishing is way better than it is on Substack. I’m thinking, what if I moved my main blog over there? I was tempted once to make a move. Others discuss why moving from one platform to another might be a bad idea. Matt Birchler:

“As I look at this Ghost 4.0 stuff focused on newsletters, my mind naturally goes, “ooh, I could use that, let me switch platforms!”

But the lack of a native mobile client for the iPhone or iPad was and still is a deal-breaker. For an open platform with APIs, it’s surprising no real client exists. Ulysses supports publishing on Ghost, but that isn’t enough. Oh, and those analytics—aren’t they too much?

Ghost 4 has lots of new stuff with issues. I’ll pass.

[Update #1: 2022-05-20: My monthly newsletter has been migrated to Ghost as I wrote in my last article on Substack]