Over the past three decades I have lived the personal productivity and corporate software upgrade life many times and on just about every technology platform. I have come to believe that we really “rent” the software we use, rather than buy it, because we have been on a never-ending upgrade treadmill. We pay a new “toll” every 18 months or so and there’s a regular monthly “patch” event to keep things interesting.
With cloud–delivered applications and software as a service (SaaS), we really are renting software, and we don’t have to worry so much about getting everyone running on a new version. But SaaS hasn’t helped with one aspect of the perpetual upgrade cycle: upgrading the user.
Despite the fact that upgrades mostly add value via new capabilities and improved performance, they also often add confusion and frustration, because they change the way things work for no apparent reason. They make me (and everyone else) learn a new way to do something that we already know how to do just fine.
Over the years the major software vendors have gotten better at helping with these transitions, but they still do a generally poor job overall. Despite the fact that my PC (or Mac or …) has plenty of spare processing power and storage, the software I use doesn’t take advantage of these resources to track what I do most, what preferences and configuration values I have set (and I have plenty — often too many — options for setting such values), what I have most trouble remembering how to do (because it’s complex or because I don’t do it very often), and so on.
I think it’s reasonable to expect the new version of any software product to recognize all of these factors and maintain them after an upgrade, even a minor one. Some options and features do get persisted, but in the increasingly common browser-based environments, many don’t. And if, as a result of a design change or bug fix, the new version can’t work the way the old version did, I should get a list of suggestions on how to perform a task as close to the old way as possible or a guide to how the new product does what I want.
In general I think every software product should have an easy to use “personalization” option that offers the following choices:
- Help me learn (novice mode) with a range of learning options (show me, tell me, help me, etc.);
- Work for me the way most people like me use it (standard mode); and
- “Optimize for me” using either existing preferences or a “watch me and learn” option.
In the last option, the software would observe how I interact with it and adjust how it works to make me as efficient as possible. The increments would be small, frequent and “intuitive” (because they make what I want to do easier) rather than the jarring discontinuities that make version upgrades so challenging.
Of course I don’t want each individual SaaS provider to do this differently because there would be too many additional opportunities for confusion. It would make sense, then, if this “adaptive behavioral capability” (the ABC of software?) was a common service that any software vendor could tap into. And eventually, corporate developers (if there are any left after SaaS sweeps the majority away) should get tools that let them build applications this way too.
It’s probably never going to happen, given how few real standards there are in the application software universe, even within a single vendor’s suite of products and services. But we can hope. Is anyone out there listening (Microsoft, Google, Amazon, Salesforce.com …)?
John Parkinson is an affiliate partner at Waterstone Management Group in Chicago. He has been a global business and technology executive and a strategist for more than 35 years.