As a SaaS provider, this question comes up all the time: "Is there an installable version of your software that I can put on my own server?"
In all honesty, I cringe every time I hear that. It's not that I have a personal vendetta against installable software, it's because I know what the asker is usually thinking:
- I can save money if I only have to pay for it once 🤑
- It’s safer because it's on my own server 💪
- I can tweak it to do what I need it to do 🔨
- I can just roll my own service 👨🏻💻
The truth is, in almost every case, SaaS is a better solution that will save more time and money than an installable — they just don’t realize it yet.
I can save money if I only have to pay for it once
This seems like a logical argument at first, but there are hidden costs with installable software that are often neglected. Even free, open source software isn't truly free. Let's look at content management systems, since that's my thing.
We can all agree that time is money and, as a web designer, you probably get paid by the job. This means that one-time costs are very appealing to you when quoting potential work. If something is free, that's even better. Why do you think so many people use WordPress?
In cases like this, you become the systems administrator. That means when something breaks, you're the one clients are calling to fix it. This might not seem like a big deal if you're just getting started, but as you grow your business, that becomes a lot of overhead. I have one customer who uses my service to manage over 2,000 websites. Can you imagine having to update 2,000 individual WordPress sites?
As you grow, the overhead for each system you install becomes more obvious and the time it takes to maintain them becomes staggering. Since time is money, your cost goes up with each new client you bring on board. A SaaS solution you don't have to maintain on your own solves that.
It’s safer because it’s on my own server
Alright, so you're OK with taking on that extra work. Let's imagine that you chose to install WordPress to power your client's new website. You get everything setup, go through a few revision cycles, launch the site, and then you get paid. All is well and everyone is happy.
You get a frantic call one evening from your client who is panicking, telling your their site has been hacked and they want it fixed immediately. The culprit? Some script kiddie took advantage of a known exploit because someone forgot to update to the latest version of WordPress last week. No problem, you can just restore the site from a recent backup and update WordPress to patch the vulnerability.
Wait...you mean you haven't been keeping backups? 🤦🏻♂️
Now you're stuck wading through infected pages and database entries trying to repair all the damage. Don't forget to change all your users' passwords, the database password, your API keys, and for good measure, your FTP password. Oh, and your client just emailed you saying that Google blacklisted the site for serving badware. And they're missing the story that they just posted a couple hours ago. And some images and videos that were really important. The entire cleanup process can take a long time, especially if the attacker was clever. And this is just one website.
When the dust settles and after hours of your time was wasted because of a simple oversight, you decide to seek compensation from your client for the time you spent fixing things. Of course, they're going to be a bit upset that the site you built was hacked and, even though it's not really your fault, they think it is. Your relationship with them gets a bit salty at this point, and they become less likely to recommend your services to others. Word of mouth is an important way to earn local business, and you just lost out.
How much is your time actually worth? Add up those hours and I bet you'll find the cost of a SaaS product to be comparatively less — especially if you suffer through more than one incident.
Granted, just about any website can harbor exploits and become a victim to hacking, but installable software makes it much easier for attackers to find vulnerabilities on your server. This is especially true with open source software, since the code is readily available.
With a SaaS app, if someone discovers a bug or an exploit in their system, it gets fixed automatically. You don't have to update any software. You don't have to reset all your passwords. You don't have to remove malicious code from your website. In fact, since there are many other users, it's likely that problems will be noticed and fixed before you ever even realize they existed.
I can tweak it to do what I need it to do
Despite all of that, some folks still think that installable software is better because you can change the code when you need something to work in a way that it's not intended to work. This is usually a bad idea, especially if you don't stick to an API.
Why? Because most people that like to tinker with code don't have a complete understanding of how everything works. Software is complex, and without a solid understanding of the code base, you risk introducing bugs and vulnerabilities that didn't exist in the original version. It's also very easy to make changes that hinder the application's usability.
Aside from that, if you're not using a supported API, you'll probably need to make those changes every time an update comes out. If your changes are significant, you'll inevitably become reluctant to install updates and that will lead to more of what I just talked about in the previous section.
Again, this is usually a bad idea.
I can just roll my own service
And then there are the code rogues who would rather spend weeks working on a halfhearted equivalent just to avoid paying a reasonable monthly fee, despite the value it would bring to them and their clients.
While I don't doubt a talented developer's ability to create a decent app, it will never be as cost effective as a SaaS product that's already available. You might be able to produce a quick-fix system that gets the job done, but it won't be as maintainable or reusable as it should be, and it won't be as polished as something that's been around for awhile.
Even if you take the time to turn it into a service that all your clients can use, you'll be spending more time developing features and fixing bugs than you will finding new clients. Trust me. I've been there it. You'll have a new full time job that you don't even get paid for.
Again, time is money, and while it may seem like an easy thing to do, building and maintaining your own app is a huge commitment. It won't be as cost efficient as going with an existing SaaS service. It's just not economical, and it will end up costing much more than what your clients are willing to pay you for.
In the end...
Being in the CMS industry, I have the opportunity to interface with established web designers from all over the world. Many of them have tried both installable and SaaS solutions and, while a handful will always prefer the former, the majority who try out Surreal CMS never look back. They would rather spend their time doing what they love instead of being a systems administrator or developing their own applications.
The benefits outweigh the cost, and that's the whole purpose of SaaS.
Ultimately, it's up to you to decide what tools and services you'd like to use to power your business. Many people find comfort using traditional software applications, but it's important to consider the disadvantages as well. If there's a SaaS app that does the job, consider taking a close look at it for your next project.
You might just find that you'll get more value than what you're actually paying for. 😉