-
-
Save chishaku/e7be4d82d9fb4c0faad1e5d0f4c405e0 to your computer and use it in GitHub Desktop.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
**Jeff Escalante** | |
# Dato & Contentful | |
There are many areas in which I'd consider Dato to be much stronger of a CMS than | |
contentful, and one in which I'd consider the opposite to be the case. I will try to be as | |
balanced as possible with this overview, as I am not employed by dato or anything ‐ my | |
goal is to ensure that my clients and developers get the best possible experience working | |
with a CMS. | |
## OVERALL BUSINESS DIRECTION | |
It's important to think about the high level direction of a company in addition to the small | |
details when you are deciding whether to invest many hours of work into their platform, so | |
I will start with this. | |
Contentful is an enterprise services company. Their money is made by selling large | |
contracts for thousands of dollars per month to companies. This is abundantly clear from | |
both their support and pricing models. They offer a large, generous free tier as an "on‐ | |
ramp" to get developers to try out their platform and use it to set up sites, or even run | |
smaller or personal sites without any investment at all. They lose money on their free tier, | |
obviously, because their service isn't free. However, their gamble is that developers using | |
the free tier will push their clients or employers to use the system, since they have already | |
used it, and the small loss they took from giving away the resources for a smaller sites will | |
be made up for, and then some, by the drastically overpriced enterprise plans. | |
From top to bottom, contentful sees their free tier as a drag on their business, but one that | |
is necessary to widen their funnel of inbound leads. As such, they are regularly changing | |
around parameters and details of the free plan in order to strike the best balance they can | |
between giving away the least amount they can for free, and keeping their inbound lead | |
funnel as wide as possible. They have changed the free plan several times over the last | |
year, and will continue to do so as they A/B test different strategies to optimize their profit. | |
For users on the free tier, this is somewhere in the range from mildly to extremely | |
terrifying, for two reasons: | |
``` | |
You know that the constraints of your plan both can and will change at any time, | |
which could force you into a place where your site stops working the way you | |
thought, or you need to buy up into the enterprise tier. | |
``` | |
## 1. | |
``` | |
The enterprise tier is enormously expensive. Their pricing goes from $0 to $250 per | |
month, which is an absurdly large jump. There is absolutely no way that most small to | |
medium sized sites can justify that kind of cost, given the number of alternative | |
hosting and CMS options that are significantly cheaper, so if you are on the free plan, | |
and they change it, and force you into enterprise, you either are going way over | |
budget or are forced to drop contentful and rebuild your site. | |
``` | |
## 2. | |
I have had many interactions over the years with contentful staff trying to convince them | |
that caring about small and medium sized applications of their product is a goal worth | |
pursuing, but every attempt had fallen flat. It's clear that their business strategy does not | |
include this consideration, and that they only see these smaller sites as leads that they | |
could possibly sell into an overpriced enterprise plan. Seeing as how it has not changed for | |
many years, and how they are getting investment and seem to be doing fine, I see no | |
possible reason that it will change in the future, making it a very unstable platform for | |
anything other than enterprise applications in which the site operator is willing to pay in | |
the hundreds to thousands of dollars per month range for the service. | |
Additionally, Contentful is a heavily venture‐backed company, which means that it is part of | |
their mission to drive large profits and exponential growth. Slowing from exponential to | |
"doing pretty well, still profitable" means their investors are going to try to force the | |
company to sell and/or shut down to cut their losses in advance. This is just how venture | |
capital works. As such, contentful is both at a much higher risk for being sold and shut | |
down or merged into a different service, and must pursue a very aggressive growth plan, | |
that can quite literally never slow down until they sell or IPO. Dato is a bootstrapped | |
company run by a successful agency that uses it for their own projects, and has none of | |
these pressures. As such they don't need to be nearly as aggressive, which will become | |
clear as day in the subsequent section on pricing. | |
## PRICING | |
Tightly related to the above point is just the raw data when it comes to price. Dato is much | |
cheaper than contentful, at every level (other than the fringes of the free tier, which are an | |
extremely dangerous area to bank on as noted above). Dato's maximum flat‐fee tier is | |
$150/month, and includes unlimited resources, where Contentful's is $950/month, and | |
includes a mere 5 sites and 20 users. The difference here is staggering. | |
Additionally, Dato includes a number of inexpensive tiers ranging from $10‐25 per month, | |
that fit the bill nicely for a range of small to medium sized operations. Contentful's lowest | |
possible plan, which is basically just removing the requirement to include their logo, is $40. | |
For services that, I can tell you from extensive experience, do the same thing and can both | |
accomplish the same goals, I see no reason why anyone would choose to pay several orders | |
of magnitude more for one than the other. | |
## FEATURES | |
There are a number of features that DatoCMS has, and contentful does not. All of these | |
features have seen **heavy** use for the projects I have been on, and I'll go over them briefly | |
below. | |
``` | |
Single Instance Models ‐ dato has this concept where you can create a model that | |
there could never be more than one instance of, which is often very helpful. For | |
example, if you have an about page with some custom content, you would never have | |
a second about page. In contentful, you'd need to make an "about pages" model, which | |
has potentially multiple instances, and just instruct people to not make any more. Not | |
having this feature also makes the UI more confusing, requiring strange naming | |
conventions and an extra click level. | |
``` | |
## • | |
``` | |
Customizable Navigation ‐ in dato, you can customize the navigation bar presented to | |
clients. So, rather than having the default dashboard be a list of all models, you can | |
choose which models are presented for editing, and even nest them into structures in | |
which they make the most sense. | |
``` | |
## • | |
``` | |
Modular Content Blocks ‐ dato does an excellent job handling "modular content", | |
which is basically when you want to give the client an area in which they can enter in | |
arbitrary content, but within guidelines. in the modular content type, you can create | |
sub‐models that are only available in that instance, and the client can create blocks of | |
the types of any of your sub‐models in any order. this gives a lot more flexibility to | |
editors. you can achieve a similar result with contentful, but the experience is much | |
uglier and more difficult to both configure and use | |
``` | |
## • | |
``` | |
Extremely Receptive to New Features ‐ since dato is a smaller product and has less | |
users, and since they are less enterprise‐focused, they give a lot more attention to | |
which features people want. I have requested several features that have made their | |
way to production in a matter of days, where with contentful I have requested | |
features for years and they are still not there. | |
``` | |
## • | |
``` | |
Superior User Experience ‐ overall, dato has a better user experience. this is hard to | |
describe precisely, but the way things are arranged is just easier and makes more | |
sense for clients. there are fewer levels of nesting, less confusions with drafts and | |
published items, and the interface is cleaner and more friendly. | |
``` | |
## • | |
``` | |
Strongly Consistent Architecture ‐ contentful bases their architecture on eventual | |
consistency, which means that after a record is created, if you request that record you | |
``` | |
## • | |
``` | |
may get a 404 since it hasn't replicated to all their nodes. the only way to handle this | |
is to continue retrying until it shows up. this makes writing scripts that utilize its API | |
for adding content or migrating extremely frustrating. Dato has a strongly consistent | |
architecture, so after you create something, it is there immediately, like it said it was. | |
Hierarchy Data Structures ‐ dato has a few data structures that contentful doesn't | |
have which help with setting up hierarchal trees of content, which are often quite | |
helpful | |
``` | |
## • | |
``` | |
Validation and Draft Issues ‐ contentful has issues with their draft and validation | |
system. for example, when you use a link field to another record, and set the validation | |
to ensure that there is content in the field, the validation can be surpassed by creating | |
a draft, which does not show up in the API response, effectively nullifying the effect of | |
trying to enforce an item in that field. this makes it very easy to break the site, and | |
requires much more defensive coding. | |
``` | |
## • | |
``` | |
Fine‐Grained User Permissions ‐ dato's user permission and roles system is vastly | |
superior to contentful's. In dato, you can drill all the way down to granting or revoking | |
read/write/create/delete permissions for specific models per users, making it simple to | |
craft user roles that only have access to exactly what they need. | |
``` | |
## • | |
``` | |
Whitelabeled Admin Interface ‐ dato has a very strong interface whitelabeling system. | |
when you are on any paid plan, you can completely customize the interface to the | |
point where you can't tell you're using dato at all, and it looks like a custom CMS made | |
specifically for the client. | |
``` | |
## • | |
``` | |
Superior Integration with Common Deployment Services ‐ dato has direct | |
integrations with every popular CI service, as well as netlify. with contentful, you need | |
to wire them up manually. | |
``` | |
## • | |
``` | |
Internationalization ‐ dato was built by an italian agency for whom internationalization | |
is nearly a default requirement for their work. a lot of thought has been put into this | |
system, making it very easy to understand and use. with contentful, while they have | |
the feature, it's not nearly as straightforward. | |
``` | |
## • | |
``` | |
API Response Organization ‐ when you make a request to dato, you get back the data | |
in a very clean and organized format. any request to contentful results in enormous | |
amounts of junk data you don't need that you must wade through to get to the | |
content you were after. | |
``` | |
## • | |
``` | |
API Surface Area ‐ dato's API covers literally everything you could possibly do, from | |
creating new users, to adjusting those users' roles and permissions, to provisioning | |
models, etc. it makes it very easy to be confident that there is no action within the | |
CMS that you couldn't automate with scripts. Contentful exposes a lot of API surface | |
area as well, but it's not as much as Dato. | |
``` | |
## • | |
``` | |
Editorial CMS Features ‐ dato is still working on rolling out editorial features, and so | |
things like drafts and scheduled publishing are not part of the platform. Contentful | |
``` | |
## • | |
``` | |
does have some of these features, although they are not as strong as they could be. | |
Prismic is really the market leader for this portion, but I fully expect dato to rise to the | |
top once they release their take on it, as they have with nearly every other feature | |
they have worked on. | |
API Query Features ‐ another weak point, dato doesn't allow great customization | |
when it comes to querying for specific data through the API. the gold standard here is | |
graphql, which allows any data pattern to be pulled easily. contentful doesn't have this, | |
but they do have a decent amount more query options than dato does. In practice, this | |
is almost never an issue, as you will often need all of the data you put into your CMS. | |
If you don't need it, there's no reason to have it in the CMS in the first place. | |
``` | |
## • | |
``` | |
Image API ‐ Dato uses imgix as their image processing API, which is really good. There | |
is absolutely nothing you can't do with imgix, down to watermarking images, auto‐ | |
center‐finding crops, etc. Contentful has their own image processing API which is | |
good , and much better than what most other CMS' provide, but not nearly as good as | |
imgix. | |
``` | |
## • | |
## SUPPORT & LONGETIVITY | |
The one category where Contentful is ahead is enterprise support, and frankly, they are far | |
ahead. As noted in the initial section, they are an enterprise services company, so this | |
shouldn't be surprising. But Dato is just getting started getting accustomed to enterprise | |
support, and are very much new to the area. They have handled it pretty well so far for my | |
enterprise projects, but if you are working on a job that is in absolute need to very | |
buttoned‐up enteprise support, Contentful will be much stronger in this area without a | |
doubt. | |
That being said, Dato has better support on average across all tiers of service ‐ Contentful | |
prioritizes enterprise above all else, so it can be difficult to get what you need as a non‐ | |
enterprise user. | |
Another important consideration is how likely it is that any given CMS will go out of | |
business and force a migration. It's hard to make a call with this one – contentful is by far | |
the larger and more stable company, but they are venture backed which introduces the | |
very real possibility that they could be forced to sell off or shut down if they are not | |
displaying very aggressive growth. Dato on the other hand doesn't have nearly as much | |
funding, and is a side project for an agency, so it's possible if they feel like it's not producing | |
enough revenue, they could decide to stop working on it. Neither has committed to open | |
source, or any type of contingency plan if they do decide to shut down. | |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment