The short answer is “yes”!
In simpler times, software developers did most of the testing. Today, consumers have become inadvertent guinea pigs.
Software bugs are part of modern life. Even the most non-technical consumer has learned basic strategies for coping with the daily inadequacies of technology. Everyone knows to reboot when all else fails.
But today’s software is increasingly prone to flaws.
We’re all becoming de-buggers!
How did we get here?
A decade ago, consumers had few hardware choices. There were very few versions of operating systems and most software was only expected to run on a single platform. As a result, software developers could run exhaustive tests on the same equipment their customers used before a product was released to the public.
Since the advent of the smartphone, there has been an explosion of operating systems and hardware configurations. Android phones and tablets come in hundreds of configurations. Apple’s iOS, which once prided itself on being a controlled environment in which there were only a handful of choices, has also become much more varied with the advent of iOS 8 and phones/tablets with different screen sizes.
Microsoft Windows is also in a cycle where changes are happening more quickly. Things are moving so quickly at Microsoft that they are jumping directly to Windows 10 from Windows 8.
Most software companies don’t have access to hundreds of makes and models of smartphones, tablets and computers. Testing even the most simple system on all possible variations of equipment is a practical impossibility.
There are “emulation” programs and services that can mimic different models of phones and tablets. These emulators allow developers to test basic functionality, but the emulators have limits and are often buggie themselves.
Increasingly, developers are relying on real-time information sent from a customer’s phone or tablet. For example, Google’s Android system allows software developers to install Analytics software that will capture information about the software running on your phone or tablet as you run the program. Information about key milestones and bug reports are sent in real-time to the software developer, placing the consumer at the front line in the fight to kill bugs.
In the past few years, software developers have moved to providing their customers with software that can be automatically upgraded as it is running. These are not the “upgrades” you normally install when a new release is published. These are runtime changes that you never see or install. They are upgrades made to modules of the software running on your device while the App is running. Developers can ship whole segments of code to your device whenever they wish, changing key parameters in the software or even changing the logic as your software is running.
Imagine, teams of developers might be responding to your problems without you ever reporting a bug or upgrading your software.
So the next time you experience a flaw in an App and you find yourself cursing, you can take some comfort in the fact that somewhere out there in the ether a software developer is cursing along with you.