“The real danger is not that computers will begin to think like men, but that men will begin to think like computers.” — Steven Harris
As a software developer, it is sometimes difficult for me to watch technology evolve into the current direction it has taken: Software as a Service (SaaS). I have been programming both as a hobby and as a professional for over 30 years. It’s not that I don’t like the technology. SaaS is a natural evolution of engineering and business needs.
SaaS is wonderful for the Information Technology professionals.
- It reduces software development effort. It used to be that writing software was customized to the platform (Windows, Mac) and desktop computers were the norm. Now there are apps written for devices like iPhone or Android platforms, but most everything else operates on the web which is not specific to a platform. And the phone/tablets apps often let the server they talk with drive a lot of the content and display behavior–if not all of it.
- It makes software maintenance and deployment much easier. Imagine what getting new software was like prior to the auto-updates we have for iPhone and Android, and the updates now only done on the servers for web sites and applications. If you had a desktop application back in the 1990’s and early 2000’s, it had to be downloaded (or mailed as a CD) and installed on every desktop which was running on it. Now it is done automatically at the server, or even automatically on iPhone and Android, when it has a connection to the internet. This benefit is huge for the IT community in terms of reduced deployment costs, increased speed of putting the new software into the market, and standardization of the software across the user base.
- Users and the IT community both gain from the access to quick security updates as vulnerabilities are discovered and addressed.
- SaaS combined with the cloud allows multiple devices for the same data and services.
Sometimes product designers and engineers can get detached from the real world they automate, especially where business-profits begin driving the technological designs. SaaS is the true manifestation of that. While SaaS has many great benefits to the IT community, there is a comical effect on the end users because SaaS is the cause of the frequent change the end-users experience in their applications. It’s not uncommon to use an application on the web, desktop or other device which changes its controls, appearance or features after an update–often an update done automatically and is unexpected by the user.
Imagine if this were done in the real world. I go to an automobile dealer and buy a car. It is the result of research against my needs, and some test driving, to ensure it meets my needs. After I buy the car, I drive it to and from my everyday activities on a daily basis. Then, one morning, I go out to my car and discover that some things are different (it was auto-updated). The color has changed, the radio controls have moved around, three new knobs have appeared, another control has disappeared and oddly, the manufacturer’s logo on my hood ornament has been replaced with a new design. I’m sure that the creators and designers of these new upgrades have reasons why they put them in their cars, but my car is now different than the one I bought.
Because of the competitive nature of automobile manufacturers, it is common to see an idea from one car manufacturer propagate to another manufacturer over the model years. Over time, many cars in a class of vehicles (mid-size, sub-compact, etc) begin to loose more and more of the unique features that distinguish them from each other. But many people just choose to hold on to the really good car they bought years ago that fits their needs so well. With SaaS, you can not choose to ignore the changes and just use the application you first loved despite the upgrades. The manufacturer dictates what you use.
Another penalty of this loss of local control is usually loss of customization or, in cases where customization (i.e. settings) is still available for the user to control, the lack of protecting that customization during upgrades. I have been irritated so many times by an upgrade which reset my customization back to a default, or simply deleted the saved settings–even the access credentials. It wasted my time reconfiguring them after a change I did not want, just so I could use it the same way again. And this happens so frequently when I need to use the application to get something done quickly. Quick is never an option when this happens. Computers are supposed to save time and leverage effort, not the reverse.
While my comparison with a car is somewhat tongue-in-cheek, many updates to the user interface do have a negative impact on something which I don’t think most people consider: modifying a useful habit. It takes some amount of effort on the part of an individual (the learning curve) to begin using a new device such as a vehicle, tool, etc. As the device is used over and over, the brain begins to develop something called muscle memory which is the source of habits, and gives us the ability to do the same daily patterns and practices with less mental focus. This frees up our mind to work on other things.
When a change is introduced, the muscle memory is disrupted and has to adjust. We experience this frustration when an app is opened that has changed, but we want to use the app in its familiar form to do something quickly–which is what it has done many times before, and is why we installed the application. The application, if it follows current practices, offers a typical “take a tour” dialog that can be bypassed. For me, that is a dreaded dialog indicating trouble ahead. It is such a common occurrence to see people getting frustrated that someone changed a perfectly fine application, and now they can’t easily and quickly do what they’ve always done. I’ve not only seen people throw their devices and swear at them when this happens, but I have seen people switch to different applications for the same purpose. I have been one of them. This solely because the application was updated without warning, and for my purposes, it didn’t need updating.
SaaS is not only a good technology. It is the right technology for the interconnected world we live in, right now.
If there is one thing I wish to emphasize to every person who works with applications designed for SaaS, it is to apply the golden rule. Think about your car in your driveway. Rather than coming out to your driveway or garage and discovering your car has changed, how would you react to the following scenario. The manufacturer needed to update your car, but the car you saw in the driveway hasn’t changed. You sit in the car, and you turn on the ignoition. When the built-in display comes on, a dialog comes up informing you that there are updates which need to be done to your car which will take a certain amount of time. You can select now, or select later. It also informs you that the update must be started by a certain date, or the update will be done automatically.
At this point, if I am in a hurry or otherwise don’t have time to deal with the update, the car will still look and operate as it has previously. I can start the upgrade when I have time to allow it, and after I have read about the new features (or watched a video summarizing it), so I can adjust my thinking and expectations. Essentially, the surprise and disruption are minimized. And if I don’t make the upgrade by the deadline, oops… my fault.
You see, as software developers and managers, we tend to embrace the very famous saying of Admiral Grace Hopper, one of the founders of modern day computing. “It is better to ask for forgiveness, then wait for permission.” Often we forget that she said this, because her work was in a government (military) environment full of people entrenched in their turf battles. The people who use our applications aren’t our enemies, and aren’t resisting us at that level.
While I respect what Grace Hopper was saying, keep this paradigm in the technical world at your workplace. I’ve met very few application users who put up with that attitude.