There have been many different threads about Bitcoin being too complicated to attract the general public. I'll start writing a client that tries to address a number of these issues and it would be great to get some feedback and suggestions. Here are some sketches and thoughts.
One problem is that it's too complicated for users to keep their money safe, they shouldn't have to care about that wallet.dat file. Still, they might not be comfortable using online wallets (at least not until som big, reputable company starts offering them). So, my plan is to use dropbox.com, google docs or some similar service where the user has an account to store their files. The wallet file is stored in their own account, but the client does the uploading/downloading transparently. So, when starting the client, the user enters their dropbox/google/whatever credentials, the client then downloads the wallet and presents it.
The status of a transfer is visualized by some simple progress indicator, rather than "78 confirmations" that doesn't mean anything to a regular user. The connection to the network is indicated as "poor", "good", "very good" or something similar, instead of "8 connections".
For storing a wallet with lots of money you might want higher security so there will be an option of securing an account so that the wallet file is encrypted before it's uploaded to the cloud service. This means that the user will have to enter a separate password when accessing that account, so that the client can decrypt the file.
The constantly changing bitcoin address should be hidden as much as possible from the user. A contact list where the user can send/receive money to/from friends should be easy to use. If the user wants some money from a friend he can click "request payment" which will send an e-mail to the friend with an URI that can be clicked. The friend will click the link which will open up his client with a confirmation box of sending amount X to the user (just the user's name, not the bitcoin address is presented). The bitcoin address is saved by the client so that the friend can send another payment to our user, but my hope is that we can get people to use the "request payment" flow, so that new bitcoin addresses can be generated for each transfer.
I will start developing this, it will be a windows program since that is what I know best, and I will make it open source when it is released so that people can be confident that it doesn't do anything shady. If anyone wants to use this to develop a similar client for another OS, please just go ahead! Let us know about it in this thread. As long as the wallet/contacts files are stored in a well defined place in the user's google/dropbox account, it would be easy for a user to access the same accounts from a computer, a smart phone etc.
Please suggest improvements to my ideas and add other things that will make Bitcoin more user friendly. I will do this in my spare time so it will not be ready tomorrow. If anyone wants to encourage me feel free to send something to 17FwVHLYS9D2S1v7KeXiY7r4VaB91dpcfa