I talk a lot about various business aspects of SaaS, and I talk about marketing and I even recommend SaaS solutions on a regular basis. But, I think it’s about time I tap my inner software guy, and talk about SaaS optimization today.
Unlike some of these articles, this is intended more for SaaS creators than consumers, and the purpose here is to recommend some basic design practices that make it more efficient, expedient and all around more effective. SaaS optimization is important, and it sounds like something that’d be very complicated. Well, it doesn’t need to be.
I will assume you know what a few terms are, going into this, so for my non-designer readers, I apologize for the small amount of jargon contained herein.
So, the first problem SaaS has is, how much of the processing is done by the local client, and how much processing is handled by the cloud infrastructure on the other side? While cloud computing means that you can offload all the computing tasks from the client to the server, this isn’t entirely, completely necessary.
If you offload the smaller calculations and other such things to dynamic HTML5 or Java, you can spare load and sync times with the PHP or other such server platform.
Which brings us to our second optimization tip, which is to relegate the send and receive of data to only finalizations. You see, whenever you have to write data, it has to be transmitted to PHP or ASP, whereupon it’s applied to the data storage, usually a database, and then, in order for the browser to acknowledge that the send was successful, the entire thing has to be reloaded.
This results in the stuttering clumsiness we all associated with browser software in the past, and is something that needs to be worked around in the future. So, make sure that it does not talk to the databases unless there is a final write or retrieve initiated, or you’ll be wasting resources, time, a bandwidth and strain on the server.
Finally, there’s the matter of GUI. The more layers of junk in the design, the more heavy it’s going to be, clientside. So, a one or two-layer AJAX or HTML5 construct is going to be your best bet. Use standard, flat API buttons and controls where you can, leaving heavy graphics out of the equation. This will result in faster load times, less memory use and generally make the thin client concept much more practical and workable from the user end.
If graphics are too heavy, or there are too many of them, it will be slow, and it will be s strain on all but the best connections (which mobile users won’t have, for certain).
SaaS optimization is important, and if I can only give you three things to come away with, these would be the most constructive things I can recommend. Remember, just because SaaS is more efficient and effective for business solutions on paper, does not excuse designers from developing optimized, efficient systems that work to get the best performance out of limited resources. Efficiency is important no matter how powerful technology becomes!