Desktop Software and Micropayment
I've had this thought rattling around in my head for at least the last eight or nine years, and my friends are no doubt sick of me bringing it up. I feel like it's almost upon us, so I guess it's high time I wrote down my thoughts a little more formally. This is a mammoth post, so please bear with me.
Progress is never so dramatic that its evolution can't be traced in simple and logical steps. The increased proliferation of the Internet and web applications like hosted accounting and CRM packages, etc, coupled with the dramatic increase in self-updating software over the past few years, and the desire to combat piracy is all leading us to one eventual goal, as I see it.
In much the same way as we now use websites, it won't be long until we're accessing 'software sites' with our web browsers instead of installing software on our PCs. With a micropayment system you only pay for the features you've used to complete your task, and you're free to choose from all the software in the world, without having to make a large initial investment.
There has been much speculation and lots of hints as to the upcoming 'internet desktop' but really, someone should do something about it already. The technology is ready and waiting.
Application Software Today
Application Service Provision, or Application Hosting is the rental or outsourcing of software from a service provider in lieu of installing it locally. This practice is extremely common for web applications such as web-based email, blogging tools, billing software, purchasing and stock control software, even VoIP PBXs.
Larger organisations offer traditional applications from a central repository where the organisation has many geographically disparate sites. In this case, the application is usually accessible not via the web, but via other connected technologies like Terminal Services, or other remote-console tools.
Smaller organisations use hosted applications because they're typically cheaper to access than installed applications and have no maintenance overhead. All you require is an Internet-connected PC, and you can access all your email, accounting and other applications. Larger organisations typically act as their own ASP, and in doing so they save money on roving technical support staff and are able to respond to the changing requirements of their workers much more quickly.
Basically it all comes down to what's cheaper and more efficient (read: cheaper).
At the moment, only the most complex or critical applications are given the ASP treatment, while regular installed desktop software remains the staple, but even that has changed shape.
Nearly everything you have on your PC now is capable of updating itself from a central repository. Improvements are downloaded, security issues are patched, notifications are issued about upgrades you absolutely must have, even if you don't know why... but it all still seems a little bit half-baked.
Most consumers and indeed a lot of small businesses often have a number of pirated software packages installed, simply because the cost of keeping applications up-to-date with the base operating system is just too high.
Often these programs are rarely used, and are overkill for people with basic needs, but the alternative is to spend hours or even days sifting through smaller applications online, and trashing your PC by installing mountains of trialware which might be bundled with 'addons' which leech system resources, like toolbars or the other junk small-time authors include with their software to help offset their expenses.
Since pirated software is so accessible, it's cheaper and easier for consumers to just join the club, than it is for them to stay completely legitimate.
Distributed Applications of the Future
The long-term solution seems obvious to me, and brings with it great promise for the well-established software houses of today, which is why I'm so convinced it'll happen.
Wouldn't it be really fantastic if you could have access to a legitimate fully-functional version of all the world's best software straight from your desk, at all times? To never have to worry about keeping it updated or buying a new version? To only pay for the features you actually use, based on how often you use them? If we combine traditional installed software with application hosting and micropayment, we could achieve exactly that and eliminate software piracy.
Due to the painfully slow adoption of standards, I expect that doing this all via a web browser is a long way off, but there's nothing to prevent individual vendors from creating their own 'application portal' from which to access all their software in the mean time.
The basic idea is to allow people to choose their desired application from within this portal... say, Microsoft Word. At this point a basic interface to Word would be downloaded and cached on the user's PC. From there, any feature the user requires would be downloaded and cached as a module. So, if you require the mail-merge feature, all you do is select it from the menu as you would normally, and after a small delay for initial download, the feature becomes available to you.
This way, if you never print a label from Word, you'll never have downloaded nor paid for the label feature.
Integrating the micropayments is key for this to work as intended. If there's zero initial outlay, but you pay a tiny amount every time you use a feature, then it's certainly worth your while to open a fully legal instance of Adobe Photoshop just to resize some of your happy-snaps and adjust the contrast. You don't need the advanced vector features, and since you haven't used them you've neither downloaded nor paid for them. Your entire Photoshop experience for the month has cost you pocket change, and since you only really need Photoshop for fixing birthday photos, it'll be another 3 months before you have to shell out again.
A distributed module-based system which was always upgraded to the latest version on the server-side, allows people to go about their business instead of worrying about software. If someone sends you an AutoCAD file, just open it in AutoCAD to look at it. If you never use any of the design features all you'll ever pay for is the basic interface required to display the file -- much like downloading a viewer. It would also eliminate the need for the multiple editions of the same software that's being released these days. The several flavours of Windows Vista, the multiple versions of MS Office, the numerous Adobe collections, etc. Those are designed to match consumer price/feature balance, but are ultimately just restrictive in terms of available choice to the low-end user.
With reasonable pay-per-use charges being $0.001, you'd need to use a feature a thousand times to rack up one dollar, or a hundred features ten times. For those who use the software for business every day, it would be easy to rack up a couple of hundred dollars a year, but that's what you're paying anyway, and this way you're always guaranteed the latest version of the features you use. Business users could also benefit by being able to restrict the availability of certain software (or features of that software) from being accessed by certain users much more effectively than is currently possible.
Keeping heavy users happy is as easy as offering volume discounts, but at least now instead of people pirating your $1,500 software, they can spend $3/month using the same 10 basic features, and it becomes much more affordable. It also gives people access to helpful software they'd otherwise never consider using for one-off projects. Over the course of a year, we're easily talking tens of millions of dollars more for software vendors just based on the convenience of cheap access over piracy.
The potential is enormous, and the feedback software houses get on usability and desirability of particular features is immense. It would be a simple matter to modify certain modules to better match the way users use them, and may even result in software which is easier to learn because it only increases in complexity the more features you choose to use.
The initial cost to the software vendor is significant, but with everyone paying a little, that would soon be offset. Specialist application hosting businesses would soon fill the needs of smaller vendors, who would outsource the distribution of their wares. The cost to provide the service is proportionate to the number of people using it and paying for it, so it's always directly scalable.
Technologies like Akamai already exist to seamlessly localise data for cheaper and faster distribution to end users, and systems like this would build directly on top of that with relative ease. Of course it requires that all software be re-designed to cater for this mechanism but the benefit to both vendor and consumer justifies that several times over.
Everything happening in relation to the web and application development is leading towards this. I think it would be nice to see vendors begin to take advantage of these existing technologies, and bring us the next step closer.
It's quite feasible that as Internet technology improves, we might find ourselves full-circle, using thin-clients to access software without the need for local caching. That would completely eliminate the management overhead that PCs currently have, and bring us more into line with a future in which the PC and what's on it isn't really relevant anymore. PCs are still fun toys today, and people like them for technology's sake, but the future of computing is in not actually thinking about them as computers anymore. As information and software access portals, they become more of a gateway, and less of a time-sink in and of themselves.
Trackback





I think you’re kidding yourself if you think we are going to get “micro”payment. LOL Other than that… I think this would be a fantastic idea… as long as our gov’t puts high speed internet high on the agenda!!
well, the numbers are always the hard part to work out… but it could be cheap enough for low-end users to not bother pirating, and still be profitable for the vendors.
you’re right though - it’s not going to be almost free or anything, but it should be loads cheaper than buying full installable versions of all the software you’d ever like to use…. and keeping it updated all the time.
Yeah, you’ve mentioned this to me before, and I’ve read a lot about Microsoft’s wishlist in that regard.
I think it’s interesting that it hasn’t taken off already really. After all, its kind of how massively multiplayer games work. It seems like it would be a great idea to ditch the shackles of platform dependence once and for all.
I agree with you, I don’t think this is very far away.
Oh tell me about it.
I’ve been meaning to blog about this for a long time, too!
I think it’s funny that we had software as a service model when computing started out (e.g. mainframes and dumb terminals) and then we moved to software as a product with increasingly capable desktop computing platform.
And today, while we have (sort of) peaked in terms of hardware (at least until something like quantum computing or dna-based computing comes up), we have software as a service model coming up thanks to the web.
Ironic, eh? What goes around comes around and all that? :)
Exactly… but it’s what makes most sense.
The only reason we split off from that model was the high cost of central processing. Using many smaller computers in geographically diverse clusters these days is much much cheaper, so it makes sense to move toward a model which takes the management away from the end-user.
Mind you, that doesn’t necessarily mean that processing shouldn’t occur locally. A centrally controlled distributed system would ideally place the processing onus on the client.
In that way, all our PCs would become integral components of a network, rather than the network being an appendix.
True, but let me play the devil’s advocate for a moment here.
The fundamental reason behind the creation of the Internet was a distributed system that could route around itself when things go wrong (say, we all decide that nuking each other is a peachy thing to do or something).
In that case, a centralized system would provide single points of failure. I mean, it’s bad enough having unstable desktop applications - can you imagine something so centrally dependent? :)
While doing some things (e.g. rolling out patches) would be easy, it would also leave the central unit as a single point vulnerable to failure.
I think the ideal thing would be a distributed network of sorts, where when you need something, you find it somewhere on the network, and something like a P2P system mirrors it and lets you talk to that provider.
That way, it also evens out the field and lets even the smaller players contribute something without having to worry. Also, with a distributed system, you have the advantage of distributing the load. So, a central source need not necessarily be a behemoth, it just needs to provide the IP (intellectual property) to do something — the system the person using it can figure out how best to accomplish the task.
My two cents and all that, of course.
I accept your ‘devil’s advocate’ and raise you ’smartarse reply’ :)
I absolutely agree. Not only is centralising a bad idea, but it’s also extremely expensive.
I mentioned Akamai in my post because they’re already allowing bandwidth-intensive websites to work the way the internet was always supposed to work.
This company offers servers in geographically diverse datacenters onto which the same content is mirrored. So when I plug in a web address like http://www.intel.com, the Akamai system seamlessly directs my traffic to Akamai servers here in Australia, and the website appears at blistering speed, without having to congest international links to load from what would otherwise be an overloaded server in the US.
ping http://www.intel.com
Pinging a961.g.akamai.net [198.142.23.102] with 32 bytes of data:
Reply from 198.142.23.102: bytes=32 time=22ms TTL=59
Such server farms reduce internet congestion for frequently accessed content, and reduce the cost to supply that content to the end user, on top of providing massive redundancy by failing-over to the next closest resource, in the event of outage.
That’s here now, and works really well because it provides the distribution without turning the content over to the wild wild web. You can never really guarantee the freshness or integrity of content with peer-based systems, and to be honest, it leaves me a little uneasy having to rely on hundreds of connections to uncontrolled sources in order to keep my business running.
I love peer networking, don’t get me wrong… but I prefer it for non-critical rich media.
I don’t want to have my retrieval speed dictated by the popularity of the software I wish to use. With media, both the urgency and the popularity issues are far less.
There’s no reason however, that a peer-based system couldn’t be integrated as well… as long as there’s a checkbox that says “download only from signed sources” or something.
Gratefully accepted, excuse me for giving $5 change, it’s just a topic I’m really passionate about.
Oh yes, I’m indeed aware of Akamai. If I remember right, their CEO or founder or someone also died during 9/11.
And I am with you entirely on distributing the load through traffic congestion and so on.
My idea for P2P (think BT) was merely to augment existing resources for distribution purposes..
I’m with you on pretty much everything you said — two sides of the same coin and all that. I should probably blog about this sometime! :)
Blah, I meant through server farms etc. to handle traffic congestion. Sorry, a little dazed today.
*nods* … I’d sincerely love to read your take on it.
Though initially having a negative reaction to P2P, if I think about it a lot of my issues with it can be resolved though content signing. As long as the content is verified against a trusted source, then my main issue goes away.
Certainly if all software is distributed this way, it would make the most sense for GPL software to be distributed by P2P. Something I’d not even considered because I was so focused on micropayment and licensing.
I’m coming around, it seems… :)