As a developer and business owner, I’m perpetually amazed by the expectations of consumers?- in his blog (A VC) Fred Wilson complained about how his digital music systems weren’t very scalable, and went on to post a lengthy dissertation on the shortcomings of DRM. It’s an interesting read, however I disagree the with one underlying assumtion: that software should be able to do everything for everyone.
Like just about everything in this world, software is designed for a specific scope of use and users and works within those parameters – it’s impossible to satisfy all possible needs: particulalry those of the people who want to push the envelope as far as Fred wants to.
To put it into perspective, my SUV isn’t very scalable: I’d like to be able to drive all 16 of my friends around in it, while still being lightweight and fuel efficient. But some times I’m at home when I want to use it and sometimes my girlfriend is at work and wants to use it, so it should be accessible from both locations – we have AI’s and GoogleMaps, so it should be able to get from my home to her work autonomously. Also, I don’t want to have to purchase any extra keys, because I already have two copies, but they should work for all of my friends and family members, regardless of where they are at any given moment.
Yes, this is a blantant exaggeration, but it does strike a point – people don’t expect an SUV to be so “scalable”, and yet they expect software to be able to perform such miracles.
It’s as though people are simply blinded by the idea of “virtual” – since it doesn’t have a tangible, physical representation, it’s as though it can magically perform any task. As a developer, this is the immensely frustrating mentality that leads to last-minute requirements changes that alter the entire scope of a project.
Although I acknowledge that current DRM strategies fall short in Fred’s case, I’d wager that for the vast majority of digital music users, the scale fits just fine.