The BOINC project's done it, they've seen 1million+ computers. And they even have an installation barrier which is different than what you are suggesting (their software is robust and easy to install but you still have to do it).
One thing BOINC and BOINC projects do well is establish non-monetary incentives, whether it be competitions, fancy graphs, etc. That's something to solve, not sure enlisting just your social network (manually, with an URL) is going to be enough to cut it if you want thousands of participants (unless you are particularly "influential" I guess).
Or maybe this is something a legion of mechanical turkers would be interested in?
Google Gears is also pretty good way to do this your self since there's a DB and a background process - although full apps in the client changes the security model - as with google native client - http://code.google.com/contests/nativeclient-security/
Nice post. Oh, and I like the rainbow butts iconography. :)
Launched on HN (where else) a few months ago:
- Buy tons of those fancy interactive visual advertisements, embed the worker into them and perform mapreduce jobs in the browsers of unsuspecting users
- Run some of the analytic/batch processing related to a popular social network on CPUs of your customers.
- Have a popular site? Sell CPUs of its audience just like one sells impressions via AdSense.
We need to consider cpu cycles gained from this regime vs. bandwidth and cpu cycles lost from the hundreds of web, queue, data servers needed to run this model. IMO it is unlikely that this model will pay off once you consider things like network latency, and trade-offs like job size (higher job size is better) vs. job completion probability (lower job size is better).
That doesn't even get in to verifying results from an untrusted client.
Here's my half-implemented proof of concept from a while back that runs on AppEngine:
Slightly different implementation, but the same idea (which I think is a very cool idea!).
As far as centralized servers & data storage.. I didn't cover this in the post, but I've been thinking a lot about using bittorrent to address this, and I think it's totally feasible. All you need is several thousand seed servers and you'll have a worldwide file system / job tracking queue. ;)
Most startups and small scale companies that would see the value in leveraging a system like this simply don't have the right processing profile which would make something like this worth their while. I'm sure if you graphed CPU time per byte of data you'd find a sweet spot where a service like this would speed up jobs rather than slowing them down.
As it happens, most companies that have a high CPU time per byte ratio are either financial firms or pharma. Most of whom not only have their own infrastructure, but would rather close up shop than see their proprietary code out in the wild for competitors to analyze.
And there are already plenty of clients out there for running fourier transforms on possible seti signals.