Product update: Netlify CMS default content manager

Netlify cms

Netlify CMS is now the default content manager for Qards

After my initial "word out" campaign on producthunt and the amazing (unexpected) success I had with it I had the pleasure of talking with a lot of people that are interested in Qards and came to the conclusion that Netlify CMS would be a better default option as a content manager.

Most of the complaints were from the fact that Qards is advertising a totally free experience and the content manager at the time (Contentful) is a third party with marketing goals that may or may not ditch the free plan which was also limiting some of the users (I found it very generous to be honest). This, coupled with the fact that there is currently an issue with how related content can be added in Contentful, led me to branch out into testing the Netlify CMS a bit and see what it has to offer so I'll state the good and bad.

The good stuff

Things that I liked most about Netlify CMS

Everything is free

True to our initial goal of having a blogging platform that is modern, fast and free

The CMS is now part of the project itself and is committed with the code. There are some required integrations with the Netlify platform but I'm still 100% on path to providing a totally free platform for bloggers that is modern, fast and can be updated by publishers without coding experience.

The publishing experience is better

With Netlify CMS I was able to create the preview exactly how I wanted. The preview panel actually uses the same template and cards that the post page uses which means that your publishers are able to preview their entries without alteration or surprises. This was a real challenge with Contentful because of their current structure but I had amazing experience with these guys over on their slack channel and they are addressing the issue (they were already working on it) by adding the concept of Structured text which allows you to embed child content directly into your text. Long story short: it was hard to publish content to Qards from Contentful but they are addressing it in the future.

Your content is versioned

Merge, pull, diff, commit, revert

Since the backend is a Github repo you get all the benefits that come with it. We have no databases or servers and everything you create will be pushed to a repository of yours. This means that you can see changes and even go back in time without issues. There are adapters for Bitbucket and Gitlab as well.

The publishing experience does not require any git experience. Everything is done by Netlify under the hood. When you hit Save, actually, a commit is created and, when you hit Publish, a merge of that commit is created.

More control to the developers

Breaking free of third parties means that I regain more control over the shape and future of Qards. I no longer have to align, adapt or wait for implementations that may change at any time. This allows me to take better decisions since I control and can give shape to the entire experience.

The bad

Most of these points in this section are inconsistencies that will be addressed soon by the maintainers of Netlify CMS so they reflect the current state of the project.

It's closely tied to Netlify

We're still at the mercy of a third party with marketing goals

Even though I'm a big Netlify fan I can't be sure that their current plans will remain the same. I already see "marketing" pouring in bit by bit (they have to pay salaries after all) and certain restrictions are starting to take place here and there.

Netlify identity pricing

The CMS team states that it is possible to use their product without being forced into using Netlify platform and I can see traces of it in the Authentication & backends section of their docs.

It's still at an early stage

Code may suffer significant changes

From what I see, this cms was supposed to work out of a CDN but we're importing it into our React app as another set of components...not without its issues though.

Since what we can import from Netlify CMS comes bundled with its own version of react and react-dom we can see some problems with certain refs not working. Those issues forced me to create a flag that tells the components when they operate in preview mode (publisher preview) in order to behave differently and disable some features. I'm not a fan of that because I am placing what I consider to be polluted code (code that gets to the end user) into my app but they said this is going to be addressed so good news ahead.

Romeo Mihalcea

Programmer for over 15 years. I'm a full stack developer and a UX freak. Author of Qards.