Hi All,
I, and I think others, are not really satisfied with sending new users to the faucet. I feel that this might cause new users more confusion then help in some ways. I think that sending them there is pretty much universally accepted as a temporary thing to have something for the weekend.
I spent half the weekend hacking out a prototype system to try to illustrate some ideas I have about system design. We've had some discussions on the IRC channel, but it's hard to describe things that way, so I instead just tried to hack out a demo.
-----
The thing I'm working on is hoped to be a pretty usable 'new user' walk-through of the following:
- user understands loosely the terms 'address' and 'wallet' and the basic principles of keeping them safe.
- user selects his/her wallet solution seeing the back-to-back comparison. Option to select a pre-funded wallet for speedy progress.
- user selects something to spend BTC on and actually does it. Hopefully marvels at how easy it is.
- Done. Finished. User has no more use for the system and the system has no more use for the user.
All services are provided by third parties. The system simply shows the options back-to-back and makes some non-biased comments about them. I feel that the best way to learn something is to need to make some decisions. The system is designed to help the user make informed choices.
-----
I feel that it is very important to show no sign of bias to any vendor, or indication of data collection (and, of course, do none...the world is already too full of data collection...trust me on that!)
I've got things working so that a single URL (printed on a hand-out and with a QR) will take the user through a progressive set of 4 pages. The system simply knows the user by the 'hash' which is unique per hand-out (card or flyer), and keeps track of what phases the user has been through. No need for cookies, logins, passwords, etc. Very simple.
-----
Another design feature is that some significant effort has been put into considering the 'donor' part of the equation. Not least of which because I am one
As doner, I would like to contribute to (say) #occupywallstreet. This system gently suggests that the recipient contribute some of the funds he/she was just given to a set of organizations selected by doners via a poll. Thus, the doner can get hopefully some fraction of his funding to an organization of his/her choice, but help get new Bitcoin users on-line in the process.
I envision a 'campaign' page with a live real-time graphics showing the funds donated pool, and the recipient progress, the pass-thru donation rate, etc. In this way:
- donations can be solicited
during a campaign and on an as-needed basis.
- doners can have some real confidence that their funds are being used appropriately. They can watch it happening in real-time.
------
A big source of debate has been whether to pass out 'pre-loaded' hand-outs with funding, or do the funding of new users in real time. I prefer the latter for several reasons:
- it allows the user to select his/her wallet solution.
- it allows much more generious funding to recipients as only the handouts being used need to be funded.
- it allows many more hand-outs to be distributed, and the distribution broken up amongst semi-non-trusted distributors.
- it fits in with my thoughts on 'real time use graphics' to hopefully prop up doner interest and involvement.
- I think it would actually be easier to do than not.
I would like it if someone could volenteer to print up and pass out cards, and 1/2 an hour later be on the street doing so.
I believe that only a small fraction of the handouts will ever be acted upon, but that it will be difficult to predict the use rate. While hand-out accounts could be retracted eventually, quite a bit of funding could be tied up for some period of time (It would be nice if the card could be used successfully weeks or months after it was issued.)
------
I have also put some thought into management of the 'hash lists'. Compromise of these could lose funds, and they need to be handed out to 'distributors/printers' in the heat of battle.
------
I'm not a web designer and have very limited experience with web application frameworks. The system I've hacked out is quick-n-dirty to put it mildly. It is just to illustrate flow. Most of the important things are not done, and, for example, I just used a pickle instead of a real database.
I've got it running on my machine at home and have set up my firewall to redirect to it. If anyone is interested please PM me and I'll give a test hash to try out. Or the source code to run locally (but again, I caution that it is just a few hours of hacking and is totally throw-away.)
Here is the '/help' output if would help illustrate anything (I used random 'two_word' variation of 'hashes' because I think it would be more user friendly and good enough for the purpose of this project the project stands in my mind.)
- / - info about 'operationbitcoin'.
- /help - this message.
- /reload - reload class objects.
- /die - try to shut down server.
- /{campaign} - e.g., /ows info about campaign (funds, stats, etc.)
- /{campaign}/{hash} - e.g., /ows/bird_rock.
- /{campaign}/{hash}/info - info about user.
- /{campaign}/{hash}/[0123] - user's {n}th page.
- /{campaign}/{hash}/reset - demo-only...wipes user from db.
I've no idea what the future of this variant of solution is. I hope some of the ideas are adopted by this (operationbitcoin.org) project. If not, I may or may not continue to pursue it. Although I would learn a lot of things I would like to know (about implementing web-apps and such) by continuing dev work here, I've a short attention span which is not conducive to operating long running projects.