One of the things I had been thinking about was how although QR codes make dealing with coin addresses easier, they still aren't human memorable the way email addresses are.
I was thinking of a system of how one might be able to turn their coin address into a human readable (and thus memorable) string , and thus make your coin address as easy to tell someone as it is your email. Sort of like an open distributed "phone book" of sorts.
The basis of the idea is the way brainwallet generates a bitcoin address and private key from a long passphrase. (
http://brainwallet.org/)
The idea is to combine a user_generated_string with a known long standard string (perhaps this long standard string could be called the "domain") and make a hash/generate bitcoin public and private key from these two strings a-la brainwallet.
To then associate your personal bitcoin address to this user generated string you send some small amount of coin onto this bitcoin public key that was generated above. As it is impossible for anyone to know of the existence of the generated address prior to your creation of it, the first time it would appear in the blockchain would be marked as receiving a payment from your real bitcoin address.
The first person to send money to the generated coin address would be considered the 'owner'.
To check and address you simply take the user_generated_string, plus the known long string, do the hash, find the address, check the block chain, and the first address to send money to it is the owner.
The known long string could also be considered the domain- at first I imagine just one long string "bitcoin_coin_address" for example and thus everyone when checking a users string could use this. However there is no reason why others couldn't come up with their own domains "McDonalds" or non-publicly announced domains ("Somali Pirate")
The amount sent to the generated addresses should be small, as the private key can be generated by anyone checking the address. It might be a nice idea if the payment sent was large enough to only cover transaction fee's. Perhaps we can set an arbitrarily large amount required to be sent in miner fees to prevent 'squatting'. The transaction fee would be yet another way miners could continue to profit into the far future. For user_generated_strings that prove to be popular, and are perhaps registered simultaneously, there is a natural 'silent auction' characteristic- the person who pays the largest transaction fee to the miners would theoretically be confirmed faster.
The idea is rough, and I would like to hear any thoughts about it. The implementation could be built into the client directly or 3rd parties could offer it.
I think a major stumbling block for wider acceptance is the very human non-friendly nature of coin addresses. QR codes are helpful, but there are many situations where QR codes won't work. For example, if the sender doesn't have a QR reading device with them, and the receiver doesn't have their QR with them. This provides an economic opportunity for miners, a universally confirmable system like first bits, and perhaps mitigates squatting to some extent.