Ask HN: How to grow a distributed computing project

8 points by jacobevelyn ↗ HN
I'm trying to grow the userbase for Compute for Humanity (https://www.computeforhumanity.org), my distributed computing project, but I've been unable to really gain traction with any group of users.

I've tried posting on HN, writing blog posts, posting on lots of subreddits and relevant forums on various websites, pitching articles to journalists and tech news sites, and adding mild gamification sharing features to the app. So far, nothing's really caught on.

I've gotten some feedback that it seems "untrustworthy," but I'm not really sure how to fix that. I've revised the website text many times to make it friendlier and easier to understand.

Any advice or honest feedback would be supremely helpful and appreciated!

5 comments

[ 5.2 ms ] story [ 17.6 ms ] thread
- Improving a site's design usually helps.

- I clicked to install it and, like you mention, I too thought it's untrustworthy. How do I know you won't steal the data on my computer? Is it open-source? Where can I download it? Can I compile it from source? How?

Why are you working on this? Are there other ways to solve the problem you're trying to solve?

Thanks so much for the feedback! To address your questions about trust:

> How do I know you won't steal the data on my computer?

The website footer has a link to the privacy page: https://www.computeforhumanity.org/privacy From what I've seen the privacy link in the footer is pretty standard.

> Is it open-source? Where can I download it? Can I compile it from source? How?

The main page of the website says "All code (including the code for this website!) is open source." next to a link to the GitHub page.

Clearly the website isn't communicating well if you have these questions even after visiting the site. Do you have advice on how I could improve the website to better address these questions?

To answer your last questions, I'm working on this because I think distributed computing projects have enormous potential but they typically:

- are confusing to explain - are complicated to install - only support very technical causes (like finding extra-terrestrial life) rather than things like ending global poverty

To improve the site, instead of adding a lot on it have very little on it: only what's needed to get someone to install the software. I suggest you erase EVERYTHING from it, and start from a clean, single white page trying to get people to download it.

Make it legible first. What you have isn't legible no matter what the page says. When my eyes land on the site they move away from the site within 1 second:

- I didn't see the website footer.

- I didn't see the "open source" part.

- All I saw was the pictures and the orange button.

Assume a visitor will give the site no more than a 2 second glance. Design for that.

I would change "save the world from your sofa" to "end world poverty" and increase the font size from 30px to 60px.

I wish there were instructions for me to compile the software from source. In Linux I can often run ./configure && make && make install; and know that I'm installing something clean from source. Can I do the same with this software?

Now, onto why you're working on this. Do you have a specific "enormous potential" problem -- AN ACTUAL PROBLEM -- that you, personally, needed to fix yesterday?

Do you personally need to end global poverty? Why? How will distributed computing end it anyway? How many years have you spent being in poverty to understand that the one and only solution for poverty, out of the possibly thousands, is distributed computing?

Are you doing this because you believe distributed computing will mine Bitcoins, change that into money, and donate the money? If that's the plan, it never crossed my mind after visiting the page.

I'd be great if global poverty ended. I'm not saying distributed computing can't end poverty but I'm not fully convinced either.

All this said, don't get discouraged. You may find that what you're working on could easily change into something else. But whatever you release try to do a great job at it.

For example, what if I'm willing to just donate something to end poverty and not hog my CPU? That would be a completely different website. If you can make me trust you that the money won't be mishandled, maybe I'm willing to just donate $5 a month to end poverty, and not have to compile anything from source. If I can afford $2k for computing equipment, maybe I can afford $60/yr to end poverty and not hog my CPU.

One issue that you can't fix is: there is money involved (vs other projects, that donate compute power for scientific purposes. Even though they could be running coin miners and most users wouldn't know, on some level it feels different).

At some point, the user has to trust you that you do the right thing with the money. I don't know if you can make that more transparent? Ideally, I as a user of the software could check each step of the way what happened. Right now, I can look at your /financials page, but I can't trace "x% of the coins were mine, and that was the conversion rate back then, and ...".

If you find good charities that take BTC, or a reputable service doing the giving, you could make all steps really transparent. Links to blockchain viewers etc, allow to say "I mined the coins at that address, and then it went to there, and here is the transaction that goes to the charities address". But even if you don't, you can make the flow before you convert to USD more transparent, and hopefully can find a way to prove you donated the money.

Potentially, allow users to set up their own miner and donate the coins. Blockchain stuff can be really transparent, and if you want to target bitcoin/... enthusiasts that might be your chance to convince them you are legit.

(EDIT: also, how does your project look once you factor in energy cost? If I spend more money generating coins then I end up donating through it, it's not very efficient...)

Thanks for the feedback!

I agree that money does complicate things (doesn't it always?) here. Unfortunately, Dwolla (my fee-free payment processor) doesn't have a way of making transactions publicly viewable (though I'll be making the feature request—thanks for pushing me on this). I've seen other projects use letters from the nonprofits as "proof" of the donations, but since this project only donates a few cents at a time I thought it wasn't worth imposing that on the charities—but perhaps that's not true (since I'm sure they have to write those letters all the time).

Bitcoin definitely can make things very transparent, and I appreciate your thoughts around taking advantage of that. I'm somewhat worried about driving away non-technical users with an overemphasis on cryptocurrencies though. It's been a tricky needle to try to thread.

Anyway, lots of good stuff to ponder here—thanks!