Beyond SaaS, The Future Of Software Development and Delivery

Back when I launched KashFlow, my online accounting software business, the phrase “software as a service” hadn’t been coined yet. The recently popular catchall phrase ‘cloud computing’, now frantically highlighted in every marketeer’s notebook, was practically unheard of. iPhones didn’t even exist yet.

Seven years later, SaaS is widely accepted as the way software (with a few exceptions) should be developed and delivered. SaaS is the industry standard, not something revolutionary or cutting edge. Today, you’d have to be insane to be working on software to be delivered as a locally installable application.

But as Sage, Oracle and the rest of the industry finally turn up to the party wearing their “I’m SaaSy” T-shirts, they find that Bungalow 8 has closed down and the cool kids have already Hailo’d a cab and are on their way to Adam Street to plan the next wave of innovation and disruption.

What’s The Problem?

One of the key benefits of SaaS, for the vendor, is the “single codebase”. No longer does one have to worry about supporting multiple versions (multiplied almost exponentially by a number of operating systems) or rolling out upgrades. There’s a single application on a web server, and all customers use that via their browser. Update one place and all customers are on the latest ‘version’.

It means that new features can be rolled out to everyone in a matter of minutes, it means that bugs are squashed almost as soon as they’re discovered and it means that the support team never have to worry about what version of the software a user is running.

When I look at the approach being taken by competitors, and many others in the SaaS industry, I already see this benefit being lost. They are maintaining multiple distinct sets of code, essentially several separate applications, all with different use-cases and requirements – web, mobile web, iPad, iPhone, Android. Even Blackberry, if 13 year old girls are your target market.

SaaS products are constantly evolving, so when you introduce a new feature you need to add it to all of these different applications. Not a trivial task. You’ll often see new features appear first in the web-app, then take months to make it into mobile apps…if they make it at all.

Then there’s the API. Don’t underestimate it. If you’re serious about SaaS, then comprehensive open APIs are essential. But they don’t remain “comprehensive” for long if you don’t continue to expose new functionality in them.

It’s a cliché, but the world really is going mobile. And mobile means multiple devices on which a web application is less than optimal. Which really buggers things up.

Presenting: The Future

All of the above can be easily resolved. Build your app as a one-page application using pure JavaScript and HTML, then connect it to your servers using a REST API. Simples.

This works beautifully for the web, and gives a great level of responsiveness. Compared to a typical MVC-type application it moves far less data between the server and the client. There’s no HTML that needs to be sent down the pipe.

It’s just JSON or XML going back and forth. So not only does the application respond much more quickly, it also reduces the amount of bandwidth your application uses. And because so much of the data processing and rendering is done on the client side, you’re reducing the CPU and memory load on the server. Guessing I’ve lost any non-techies by now, right?

Using responsive web-design techniques means that you can render a much more suitable display when someone uses your app from a mobile device, totally eliminating the need for a separate “mobile-friendly” version of your application. You can use the same responsive web-design techniques to hide or display certain elements that might not be applicable on all platforms.

But what about native apps? Easily dealt with too. Put your code through something like PhoneGap, and your JavaScript application can then be deployed natively on iPhone, iPad, Android and Blackberry.

As much as we might like it to be so, not everyone is connected to the Internet all of the time. Lack of continuous and reliable Internet connectivity means some geographies just can’t use web apps. Even in the UK, there are areas where Internet isn’t reliable enough to run your business in the cloud. Introduce HTML5 into the REST/JavaScript app and you have localStorage, which can make it so your app can work offline. When it comes to maintaining your API you have no choice – there is no compromise. Your main “web app” is just a consumer application for your API. It’s impossible for it to do anything that isn’t exposed via the API.

This all sounds great in theory, right? But it actually works in practice too. We’re already well progressed on a massive upgrade to our SaaS application using exactly this approach. And it works.

If you disagree with my prognosis, then I hope we can at least agree that the development and delivery of software will continue to evolve. In any case, I’d be keen to hear your thoughts on what the future of software looks like. Comment form provided below!

Duane Jackson - Founder

As Founder of KashFlow, Duane writes primarily about the trials and tribulations of starting and growing a successful business. Having handled KashFlow’s PR internally for so many years he can’t resist writing a bit about that too.

Share this article

  • Andy Flisher

    What you said, can I send my prospective clients your way for a sales pitch! Given the opportunity, this is how we’ve developing every web based software solution, our own REST framework hooks in into pretty much any backend data source and will spit out JSON or XML as needed.

    Another advantage of JSON or XML being the data stream is that it’s all over http(s) so when you need to hook into a delicate or internal datasource you have lots of options through firewalls, REST proxies with singular source IP’s, etc that allow data out to the web in a very controlled and safe manner.

  • Franck Sidon

    Very true. That being said, the current version of KF is still good old ASP… And the iphone version is so slow that it’s barely usable.

    So the real question is: when will all those goodies be available?

  • Mohan Arun

    If I understood this right, responsive web design will be the next step in the evolution of hosted webapps – SaaS. But isnt it the case where, even if someone has used responsive web design, the webapp is still SaaS?

    • Duane Jackson – Founder & CEO

      I guess it depends on how you define “SaaS”.

      Just adding responsive web design to the mix wouldn’t change anything.

      but when you use the above architecture you’re definitely moving away from ‘traditional’ SaaS. All you are serving is a REST API.

      Your client UI essentially runs on the client machine as it’s pure javascript. This is more like some sort of thick client.

  • James Murphy

    I strongly disagree with the notion that one would have to be insane to be working on software to be installed locally to the computer – that makes a whole raft of assumptions not all of which stand up.

    On the other hand one would be insane not to consider at the outset whether a “web based” application is the best solution (SaaS) and I absolutely agree that this should almost certainly be one’s default starting position. Beyond that one is probably looking at having the web provide infrastructure to one’s application.

    But but but… I have apps, driven by my own needs or those of others that I can make work more elegantly as windows phone apps and that will still work when I’m on holiday and have data firmly switched off.

    When you represent your business you almost *have* to assert that your opening paragraph is true (regardless…) – but as a technologist you have to take a step back from such absolutes… delighted as I am with KashFlow there are several things that I think could done better… and some of those may require a lot of ux code (and you need to be careful to still allow access to your functionality to lightweight/underpowered browsers)

  • Bryan Stevens

    The big plus of SAAS is the fact that accountants do not need multiple versions of bookkeeping software.

    However, it is not insane to use desktop software – speed is king for accountants and SAAS software is much slower to use than the desktop equivalent such as QuickBooks. Desktop programs, taking QuickBooks as an example, also have the ability to have multiple windows open, transactions can be entered net or gross of VAT, reporting tends to be much more flexible, exporting into Excel is more sophisticated, rather than csv dumps, etc.

    So the move to SAAS will not work for many accountants until speed and functionality match that of the better desktop products.

  • http://n/a Mike Wallace

    Would you ever consider a piece of accounting software with a one off payment.
    I have found KashFlow so great to use but honestly would prefer a one of payment similar to what companies like sage offer.
    Just a simple piece of software for invoicing, quoting, reminder letters, account statements for customers and customer database. These are the only areas I use really.



  • Anonymous coward

    Agree with James above re insanity. All those developing for Mac, iOS, W8 or Android (locally installed) apps seem to be doing rather well. Seems the cleverest do ‘best of both…’.

  • Daniel Procter

    Both REST and SOAP APIs have been around for over a decade now too. XML rocks.

Try KashFlow free for 14 days and you'll never look back. Promise.