Skip to main content

The Saas-pocalypse. Opportunity or doom and gloom for software as a service?

An ex manager of mine brought up the term Saas-pocalypse a few weeks ago and it was the first I heard of it.

Nowadays, instead of paying for Software as a Service, you can log into an AI agent and have it build a website for you that does exactly what you (think you) want in mere minutes. As a software developer, some of it does look like magic and to be honest it does worry me to an extent.

However, I don't think the role of software developer is going away, though it might be changing and I will explain why.

There are some companies that are going to be affected. If your Saas has very few touch points or deep interaction with your users then you probably will not survive. But here's the thing, AI probably was not what killed your Saas to begin with. Web sites and web apps have been easy and cheap to build and prototype for quite a while now, AI, has just made it a little bit easier and cheaper (ok, a lot easier and cheaper).

Just having a website is not what builds a business though, and it never has been. Chances are, whatever website you built has at least a dozen (if not hundreds) of competitors. Also, with millions of websites out there, even if you have the best product, no one will use it if they can't find it. Marketing and word of mouth will build a business more than "just" having a good product (and making a good and sticky product is hard to do as well).

Once you do have a website, you will have to think about how to scale it. Also, if you are accepting payments, you will have to know how to deal with security and defending your site against hackers. I have been in a few situations where the business went from unknown to known to the general world and suddenly we were discovered by hackers and scammers and we had to put in some measures very quickly. On top of that, you need to make sure your company is SOC2 compliant if you want to get enterprise customers.

Now I will admit I don't "write code" in the same way as I used to (AI writes most of it), but I do read it and I know what it is doing. If someone without experience is steering the code, there are many places your Saas can be exposed.

Just like in the world of music where you can now make a whole album in your bedroom and post it online for the world to listen to, just having something out there does not make it a hit. There are a few lucky people out there who do, but that vast majority don't and the music "business" still spends lots of money on marketing and studio time and even your average person can tell the difference between a major artists and a bedroom crooner.

Good Saas websites need to solve a legitimate business need, maintain a relationship with their users and somehow get people in the door to actually pay for the service. Now it's possible that you may need fewer people to do this or you can roll out features more quickly with AI, but it does not mean every Saas is going to be replaced with an AI generated custom built website.

Comments

Popular posts from this blog

Freezing Gems

What is a gem and why would you want to freeze it? In Ruby, there are times when you want to access pieces of functionality that other people of written (3rd party libraries) and you normally have 2 options. You can install a plug in or install a gem. Normally the method you use is determined by which ever is made available by the author. Gems are installed on the host machine and are pretty handy when you want to run things in the command line or else across lots of projects, but their downside is that if you use a gem in a Rails project there is no automatic publishing mechanism when you deploy your site. You will need to log onto the remote host machine and install the gem manually. Plugins are specific to Rails and are similar to gems in that they are also 3rd party libraries. However they are associated with your Rails project as opposed to your machine so they will get posted to the server on a regular deploy. Freezing a gem is the process of transforming a gem into a plug in. Es...

Unit/Functional Testing RubyAMF

One of my current projects is using RubyAMF to communicate with Flash (http://rubyforge.org/projects/rubyamf/). On the whole this is really nice because it allows you to transfer Ruby objects directly to ActionScript ones (as opposed to translating the object into XML, sending the XML and then recreating the object in ActionScript). However, Rails does not provide a built in transport mechanism for AMF, so we cannot run functional testing directly on the data call (as we could for an XML or HTML transport layer). This is a show stopper for a lot of people (Rails w/o Unit testing = a big mess of trouble when something goes wrong). We can though serve both the HTML and the AMF formats depending on the request format. This means that we can test the object instantiation logic and make sure there are no errors in the controllers (though we cannot check the actual format of the data being served). In the controller, instead of rendering AMF alone, do the following respond_to do |format| ...

CSS Back to basics: Here comes TRBL

So I guess CSS is not obvious to everyone. One of my coworkers asked today why you sometimes had 1 value after a "padding" attribute and sometimes you had 2 or 4 values. Basically, padding: 5px; Puts a 5 pixel padding on an element. padding: 5px 3px; Means you have 5 pixels of padding on the top and bottom and 3 pixels on the sides padding: 3px 4px 5px 10px; Means you have 3 pixels of padding on top, 4 on the right, 5 on the bottom and 10 on the left. A good way to remember this is the acronym TRBL (like "trouble"). The same applies to "margin". As well as this, you also have extra attributes which can specify the top, bottom, right and left paddings on their own i.e. padding-left: 10px; Sometimes, if only one side is unique, it's better to refer to it in the following way (for readability). padding:5px; padding-left: 10px; The "padding-left" of 10px will override the "padding" of 5px, but only on the left side of the element. paddi...