Usable cryptography

The promise of cryptocurrencies is to allow individuals to retain control over their assets, but this comes with a high bar of understanding how the technology works and great risks to users if they make a misstep (which could cost them privacy or loss of assets). How can we develop software and solutions that minimize the likelihood of user error while still providing the benefits that we seek to enable?