Disposable Software – The Concept
Most of us, when building software, try to make it support or handle just about anything that it might face. We read bug reports, even for tiny edge cases, and we work to fix our products so that they're work for everyone, forever. But what if we're looking at this all wrong? What if we thought about our products as disposable software?
I know. That sounds crazy. I promise I've had nothing to drink tonight. But I've been pondering this idea for a couple weeks and I'd like to share what I've been thinking about and see if it helps you.
I'm convinced it will help me. I just don't know exactly where yet. So consider this a work in progress. Your mileage may vary.
Let's start with a real life example from an earlier part of my life…
Let's Look at an Analog Example
As a kid my mom owned a Vivitar camera. You can buy it on Ebay for under $15. But when she came to the soccer field to take photos of me and my brother, she had to buy a more expensive Canon that could take more photos, faster.
What I remember may be equal to what you recall if you remember the old days. It was the drama of taking photos without seeing if they were great. There was also the need to wind film forward. The challenge of taking the film in and out without ruining it. And the delay between the taking of photos and getting them developed.
I once went on a trip and asked to take her good camera. The answer, as it should have been, was a clear no. You don't give a kid a nice camera. So I went with the Vivitar.
A few years later, there was a better option. You didn't have to stress about picking the right film, putting it into the camera and taking it out. It was called a disposable camera.
You could throw the thing in your backpack, take it anywhere, take some photos, and drop the whole thing off for development.
It wasn't for everyone, but for that trip I went on, and for many others afterwards, it was a perfect solution. No fear of breaking a camera. No stress about film going in or out.
Now let's look at a digital example of the same concept…
Here's a Digital Example of Disposable Software
I bet that there's a chance that you'll be buying something online this holiday season. And that means you'll give someone your credit card, right?
Now the credit card companies and associated banks are spending millions in fraud detection and protection. All to make sure that nothing malicious happens with our cards.
But what if we looked at the problem from the perspective of disposable software?
The good news is that someone already has. If you've been to Privacy.com, that's exactly what they do.
They give you credit card numbers you can use for single purchase if you like. You can determine how much can be charged on it. You can determine how often it can be used. You get all sorts of control for “disposable credit card numbers.”
Why?
Because instead of counting on the banks and payment processors, this is a super clean approach to protecting your cards and money.
It's also a great example, in my mind, of solving a problem in a completely different way – by thinking about it from the perspective of disposable software.
Where does this Apply?
I don't know everywhere where this approach will apply. But I am convinced that, as software and product people, we've swung the pendulum towards the complex and complicated side of things. We're building cameras that can be submerged underwater, can handle shakes as we click the button, and more – instead of building disposable cameras.
So maybe it's time for us to think about the ways we shift things the other direction.