Like a post I’m going to link you to in a minute, I’ll start with a premise… In general terms, doesn’t something built for you seem to fit just a little bit better? A suit? A home? A dental crown! Well, in that last case, I wouldn’t recommend ever taking that off the shelf…
Last week, I responded to a tweet by Deane Barker where he posted that the last of his four models to acquiring a CMS was to “Build your own.” The subsequent slide then said, “Don’t.” So of course, yours truly, in typical Jersey-fashion, had to call him out on it. How can it be that the answer is an astounding “Never”?
Deane, being a stand-up guy, wrote a post on his blog about this interaction. And I have to say, I can’t rebut anything he says – the post makes total sense. He’s absolutely right – the case for creating a custom CMS is becoming exceedingly rare. I’m going to make a really bold claim for a guy who advances the virtues of custom software: today’s CMS solutions are very good at what they do. So good, that it makes zero sense for me to suggest a custom CMS for more than 95% of the scenarios we see.
However, I do think that Deane and I define what a CMS is a bit differently. I’ll defer to his as most likely being the correct definition – the guy wrote the book on content management systems (I highly recommend you pick up a copy)! However, I see the CMS in much broader terms… I see a CMS as a software application that not only manages a diverse set of content but in today’s world serves as the centerpiece of an organization’s digital enterprise.
Let me expand on that…
Deane points to content management falling mostly into patterns. He spotlights content modeling, approvals/workflows, and URL management. However, I can say that in my discussions with customers, they rarely ask about these things unless they are in the publishing space where content is the product. For the most part, marketers today, or the people that almost every CMS manufacturer is targeting, are interested more in modularity, flexibility for controlling visuals and most of all powerful yet seamless integrations. And by integration, I'm not just talking about putting together some Zaps.
It’s on those fringes where the case for a custom system makes a lot of sense. Let’s set aside publishers and other projects that require a deep content library and relatively similar workflows for just a second (though, there are many arguments there for a custom approach too…), and focus on some use cases where custom DOES make a lot of sense. And, I’ll use actual client examples.
We have a company that is focused so profoundly on security that it was their primary point of contention with almost every CMS platform available. They would not entertain any CMS that featured a live database connection, nor anything that would have an administrative interface anywhere near the front-end display. Furthermore, their internal requirements were for the CMS to be on-premises. So, this knocked out pretty much every player out there. They weren’t going to entertain a WordPress, Drupal or Joomla (pretty much anything open source), and they weren’t going to license a Sitecore, Kentico or DNN. They had complex design requirements and a highly interactive front-end, yet the only area of content that changed dramatically over time was blogs, resources and other content types that were relatively benign from a content management perspective. There were no internal workflow tools needed as the marketing team was not at such a scale that they couldn’t handle it.
This is clearly a use-case where it makes sense to entertain a custom software package. As Deane states in his post – no one is really building a CMS from scratch – even I think that is kind of nuts. But to utilize a coding platform to build out a UI of administrative tools that published static files to a secure host – well, that wasn’t so complex of a project. So we built it. And they lived happily ever after.
Today, many CMS platforms are saying they can be “decoupled” or “headless,” but even those platforms wouldn’t fit this use case. And, by the way, after about 3 years of running their site, they haven’t had to spend massive maintenance dollars on upgrades or updates.
We have another client, RightSpace Storage, who came to us with a series of specific requirements. First, they wanted a CMS that would seamlessly integrate into their yield management system to provide real-time pricing data to customers. Secondly, they wanted tight integration between their site and another third-party to store new transactions and reservations. Third, they were interested in a customized flow for making new reservations on the front-end, something bespoke to them. Finally, they wanted to have a dashboard that would allow them to see real-time reservation data, revenue and other metrics including their PPC spend.
From a content management perspective, since the site isn’t building its business organically, there is no real “content” requirement, other than changing CTAs, headlines, and similar snippets of content. This project was something that wouldn’t utilize 5% of the features of an off-the-shelf CMS – so why bother?
In this case, we developed a custom CMS platform that performed these integrations and allowed the client to manage the content for each storage location individually via a series of bespoke tools. We rolled out a version of our custom CMS “head-start,” which is built on Vue.JS and an API layer, and had them up and running within a few months. Now the client can manage the content that matters most to them quickly and with full insight into the operations of their business, which previously was not possible. They now have a low-maintenance solution that hopefully, based on prior experiences, will last them for the next 5+ years with ease.
Specific Use Cases
I always like to bring up another example, which is our friends over at Auto France. They came to us about 6 or 7 years ago with a requirement: Take their business management tools out of Excel and Access and integrate it into web-based software that also could control their website. To this day, I’m still unsure what off-the-shelf solutions would make the most sense for this particular set of requirements. The client specializes in long-term auto rentals in Europe, which means complex base-rate calculations, car inventory and options, all sorts of pick-up and drop-off fees, and on top of that currency conversion. Sure, they also have content management tasks they need to accomplish for their blog and other content areas. Organically, they rank very strongly for the terms in which they compete. But the core software requirement was something that literally could not be licensed from another provider.
Sure, we could have built them the software to handle reservations and stood up a WordPress or Drupal installation for the content. But the experience to the end-user would be disjointed, and the company would then be maintaining multiple platforms. We pride ourselves on how someone can log in to a single dashboard to control their business AND their website. Many years post-deployment, Auto France still operates on this platform – in that timeframe, how many updates has there been to off-the-shelf platforms? Consider the ROI of this investment, and tell me that there is a better way to achieve this end result.
Finally, I can’t go on without mentioning our friends at Newsy, who unveiled their amazing new Chicago studios just a month or two ago. I previously said that publishers have many solutions available to them to choose from. There are a plethora of commercial and open-source packages that video producers and publishers have as options. However, Newsy decided to go a different way. They chose to create a collaborative, decoupled editing system called “Dashboard” which powers their production and publishing of video content, including distribution to devices ranging from mobile phones to OTT set-top boxes.
Why build when they can license? Again, because of the custom required workflows. The “Dash,” as they call it, allows for collaboration while developing stories, which works great as they are geographically positioned in multiple studios these days. It allows for custom rules when choosing distribution destinations. It facilitates tight integrations to everything from partners to studio tools like teleprompters. And, best of all, it was a software asset that was quite appealing when they were acquired by the E.W. Scripps.
Turns out, there are a lot of fringe use-cases where custom CMS platforms make sense, eh?
The Big Question: Is this custom software or a custom CMS?
Look – I’m a software guy at heart. That’s how I got my start. And I think it’s very fair to call the above custom software development, as much as you can call it custom CMS development. But again, it depends on your definition of what a CMS is. In the RightSpace example, isn’t their list of storage centers content? And the pricing and details of each? Obviously Newsy is producing video CONTENT. And, there is a ton of content around Auto France which they utilize to grow traffic and their business. Maybe it’s time we think about what a CMS really means – because I think it’s a much broader definition than the points Deane puts out there (with all due respect!).
In wrapping this up – again I want to reiterate that I know the reasons for a custom CMS are on the fringes. That’s the precise reason why it’s important to recognize as developers and digital professionals that the custom CMS has a place in our arsenal. The fringes are typically where the fun stuff happens – I think most developers would agree. It’s also where we can create tremendous value for our customers. So, I hope this exchange reminds everyone that our jobs as developers, agency folk, or consultants are to entertain what the best pathway is for our clients or companies, and that should always include consideration of ALL possible solutions. Remember, no one size fits all.
Thanks to Deane for the opportunity to explain our thoughts on this! We’re big fans, and he’s doing some fantastic work. And, while I have you, if you’re still reading this, subscribe to his newsletter – I look forward to reading it each time it arrives!