Software as a Service
Explore the four primary factors that drive return on investment for Software as a Service developers and how those factors are leveraged to make SaaS profitable for stakeholders. In this final article of a three-part series, discover the business model opportunities that SaaS presents and gain insight into the role of user experience design for SaaS applications.
In this three-part series, straightforward, real-world examples of cloud computing help eliminate the confusion around the concepts. Each article in this series covers one of the three service models: Infrastructure as a Service (IaaS), Platform as a Service (PaaS), and Software as a Service (SaaS).
Software as a Service provides network-based access to commercially available software. Chances are, you've already used SaaS, even if you didn't know it at the time. Examples of SaaS include Netflix, Photoshop.com, Acrobat.com, Intuit QuickBooks Online, Gmail, and Google Docs. SaaS implementations that may be somewhat less obvious include a significant portion of the growing mobile application marketplace.
SaaS represents the potential for a lower-cost way for businesses to use software - using it on demand rather than buying a license for every computer, especially when you consider that most computers sit unused almost 70% of the time. Rather than having to buy multiple licenses for a single user, the closer a business can get to put a license to use 100% of the time, the more money that business will save.
The four driving factors of ROI and Saas
SaaS presents new opportunities for software vendors. In particular, four driving factors are cited by SaaS software vendors as leading to increased ROI:
- Increased speed of deployment
- Increased user adoption
- Reduced support requirements
- Lowered cost of implementation and upgrades
Speed of Deployment
Traditional desktop applications have historically involved significant deployment hurdles. In fact, I've heard desktop application developers refer to updating their applications as a "deployment nightmare" on several occasions. As Tariq Ahmed states in the first chapter of Flex 4 in Action (Manning Press), "The logistical complications of trying to get thousands, if not hundreds of thousands, of clients to run the precise version of your software at the exact same time are immense."
Ahmed goes on to say that such complications are so immense that most desktop software development companies don't even consider it reasonable or even feasible. Developers who have struggled with this in the past are good candidates for deploying SaaS versions of their software. However, the biggest barrier to entry into the SaaS marketplace that traditional software houses experience is enabling desktop applications to run as SaaS applications. In many cases, doing so involves re-writing the software on some level, which some companies find too cost-prohibitive.
This is one of the primary reasons the movement to cloud computing has been a slow and gradual process. In most cases, the logical solution is to move software to the cloud in phases, beginning with a highly scaled-down version of the original application provided as SaaS. This makes obvious sense when considering the level of control the developer has on version control. It's also where the specific anatomy of SaaS plays a significant role.
You can see many similarities between cloud computing and the "LAN computing" of years past. A typical LAN architecture consisted of an array of on-site workstations, often referred to as dummy terminals, that ran applications by connecting to a powerful mainframe.
This type of computing worked out nicely for enterprises, because IT departments had the ultimate level of control over versioning and updates could be deployed on an iterative and seamless basis with little or no hassle. Similarly, the logistical barriers that prevented version control for developers of desktop software applications in the past is nonexistent in the cloud, because the software runs on an infrastructure that the developing company has immediate access to.
If you step away from business or a moment and look at what SaaS does for the general consumer, you find that SaaS makes software available that previously may have carried too high a licensing fee to be reasonable for general consumer use. A good example is Adobe's efforts to make Adobe® Photoshop® an SaaS. Although this is still a work in progress and has been an evolving experiment for Adobe, it still shows progress. For instance, I've noticed that a growing number of my friends and family members are starting to prefer the use of Photoshop.com for basic photo editing as opposed to launching the full-blown version when they need to carry out rudimentary photo-editing tasks. The significance of this is in the fact that people who don't require the functionalities contained in the full version will now save money. Meanwhile, others are using Photoshop.com who would not have otherwise tried it, which presents an opportunity for Adobe to capture long-term customers that it would not have otherwise had access to.
The various business models for SaaS are particularly intriguing. For example, Intuit offers QuickBooks Online as an SaaS with a monthly service charge. As a business owner who does a lot of traveling, I've found this to be particularly useful, especially because my business partner lives 400 miles away in a different state. Meanwhile, Adobe leverages the power of SaaS with Photoshop.com and Acrobat.com by offering software as a freemium service - a term that was coined to describe a particular business model based on a scaled-down SaaS offering of a licensed software product.
Freemium SaaS is based on a revenue model where it is anticipated that a certain percentage of free users will eventually find it useful enough to upgrade to either a paid version of the SaaS that has additional features enabled or a licensed copy of a desktop version of the software that includes all the additional features and functionalities available. This tends to be a preferred method of trying out software in "restricted demo" mode compared to having to install an application on your desktop that you may not end up buying. In addition, this model can be further supplemented with advertising if the ratio of free users to upgrades is less than expected. This is a common method that traditional desktop software vendors use as a way of adapting to the changing marketplace as cloud computing continues to evolve.
Lowered cost of implementation and upgrades
The fourth driving factor of ROI for SaaS is somewhat similar to the first. However, speed of deployment describes the advantages gained from being able to quickly and painlessly deploy application updates. In contrast, lowered cost of implementation and upgrades describes the financial benefits to the development company, which are gained as a result of having control over versioning and the infrastructure that runs the software.
A big savings to the developer comes from not having the added overhead of testing and deploying bug fixes and new features on multiple platforms, because the developer has control over the platform on which the software runs—typically completely transparent to the user. This makes the upgrade path for SaaS applications less cost-prohibitive. The indirect financial result comes from customer satisfaction and retention, because the substantial savings in both time and money provide the developer with the opportunity to have a greater level of responsiveness to feature requests and enhanced usability.
SaaS and user experience design
SaaS applications represent a sort of next-generation approach to application design. Although it might not be technically stated in any of the documents that I have seen to date, it seems that SaaS programs also include a modern approach to UI design that is more consistent with the product design process seen in most other industries. This approach includes a process known as user experience design (UXD), where the GUI is designed by a product team rather than the development team.
The primary objective of UXD is to identify what will make the application most useful for the intended customer base and including that knowledge as part of the design. Although it can be logically argued that this should take place in the development of any kind of software, it seems to be most prevalent among SaaS application development. Perhaps the reason for this has to do with the different business models available with SaaS compared to that of traditional software as well as the substantial savings gained from developing SaaS.
SaaS and user experience design
As you've learned, full-blown cloud computing is a massive transition for both businesses and consumers, and many challenges must be overcome. As a result, the process will take time and go through several periods of gradual change. During this evolution in computing, it is critical for software houses to be able to adapt to the changing environment to continue to fulfill the needs of businesses and consumers alike.
Just as businesses must be able to move with the changing environment as computing in the cloud evolves, software programmers will need to adapt their skill sets and understand SaaS programming models in order to stay sharp and keep themselves in demand. Cloud computing is not just about scalable infrastructures and platform portability through virtualization. It also takes software to an entirely new level and represents what could reasonably be considered the next generation of computer programming. That might be a bold statement, but consider the opportunities that SaaS presents discussed in this article.
For instance, affordability means wider availability, which equates to a larger potential customer base. Add to that the savings that come as a direct result of having control over the platform, infrastructure, and versioning of the software, and it quickly becomes evident that SaaS brings with it a certain level of "democratization," where small and medium-sized development shops can play on the same field as the majors.