Thanks Amir and Luke for making this happen. I totally agree this is an important step for the project. AsI said on Lukes pull-req, I prefer the simpler approach so thanks for implementing it. I like the box-based layout, as columns are indeed easier to read and it implies less ordering.
The key part is really the language used. We should try and approach this as a software company would - aggressively eliminate jargon and try and make things as end-user friendly as possible. The current text provided by Amir is better than the grid, but it's still quite developer oriented and discusses details that only programmers care about.
I'm not a developer of any of these clients, except indirectly MultiBit, but here's how I'd rephrase the text. I'm not suggesting my explanations are 100% correct but I think they focus on how end users might perceive them, and it avoids jargon like "frontends" and "blockchain".
All clients listed on this page are free to use, open source, audited by the community and none required any registration or personal information to get started. You should feel free to try any or all of them. Each client will have its own wallet and you can send coins between them as you would between two people.
Bitcoin-Qt: The original software written by Satoshi Nakamoto, the projects founder. If you aren't sure which program to pick, this is a good bet. This application is a peer-to-peer client that builds the backbone of the Bitcoin network. It is suited for enthusiasts, merchants, miners, developers and people who want to help support the project. People who run Bitcoin-Qt are first class network citizens and have the highest levels of security, privacy and stability. However, it can be very resource intensive and you should be willing to leave it running in the background so other computers can connect to yours. If your computer is low powered or you aren't willing to tolerate a 24-hour+ initial start time, you should consider other clients. Cutting edge features tend to be implemented in other clients first.
MultiBit: This client supports Windows, MacOS and Linux. Its primary focus is on being fast and easy to use, even for people with no technical knowledge. It has a YouTube channel to help you learn the software, and includes helpful features such as an exchange rate ticker. MultiBit supports many languages such as German, Spanish and Greek. MultiBit synchronizes with the network much faster than Bitcoin-Qt and should be ready for you to use within a few minutes. This is a good choice for non technical users who want an easy to use experience, especially if you use a Mac.
Armory: This client has a focus on advanced wallet management features, such as the ability to construct transactions whilst disconnected from the internet. It operates in conjunction with a Bitcoin-Qt install. It is developed primarily for Linux, but also supports Windows and MacOS. It requires a large amount of RAM to operate and if you use Windows, it requires a 64 bit version. It is a good choice for tech-savvy enthusiasts or merchants who want to try out some of the latest ideas in the Bitcoin world.
Electrum: This client has a focus on being fast, having low resource usage and making it easy to back up your wallet. It runs on Linux and Windows. It's well suited to tech-savvy individuals who want to get started with Bitcoin immediately. It operates in conjunction with a remote server which handles the most complicated parts of the Bitcoin system, which is why it's fast. However, by running this client you don't contribute your computers resources to the core network, and the remote servers that help give it good performance have the ability to see all your transactions and tie them together. Whilst you need provide no personal information to use Electrum (as is true for all Bitcoin apps), this means the privacy level is lower than for other clients such as Bitcoin-Qt. Merchants are recommended to use Bitcoin-Qt or other p2p clients. Electrum is designed for people with a reasonably high level of technical ability.
There are still some things worth thinking about:
- I agree that for now, we should recommend Bitcoin-Qt as the default option until we have more experience with other clients and their general level of polish and robustness is better. Bitcoin-Qt has an unfortunate name. The UI toolkit used should really not be exposed to end users. I'd support renaming it to something like "Bitcoin Core" or "Bitcoin Classic".
- Not every client supports every OS, so it might make sense to have an OS picker at the start to avoid showing users clients that might sound good, but won't run on their machines. I almost didn't see the tiny icons at the bottom.
- Ordering: above I put MultiBit after Bitcoin-Qt. The reason is that despite its flaws (most of which are in any case my fault), it is the most professional and approachable client, IMHO. It runs on every OS, is translated into other languages, does not have any unexpectedly huge resource requirements and Jim has a sharp focus on the average user. Eg, he prioritized an exchange rate ticker and localization over some of the more interesting wallet features. This does not mean I think other clients are "worse", just that most users who end up at this page will be individuals who want to receive and send a few coins and we should ensure they are catered to first.
I have tried to present a fair and balanced view of each client. Nevertheless, everyone will want to position their apps in the best possible light. For example, I have described Electrum here as "suitable for people with a reasonably high level of technical ability". The reason is that its website is clearly designed for programmers. The install instructions for the worlds most common OS list how to install Python and its dependencies
first, with an actual installer left to some random guy in a forum thread. MultiBit on the other hand has standard installers for all 3 main platforms right on its home page, provided by the core developers. Despite that, as I said, there are still occasional bugs and performance quirks with anything based on bitcoinj (and who knows, maybe other clients too, I haven't used them).
I think we should all be conservative about our own code. BitCoinJ based clients do basically work but there are edge cases where the protocol is not properly implemented, eg, if you pay yourself directly from a coinbase transaction, that currently won't appear (being fixed now). I would be hesitant recommending
any client to my mother today because IMHO none of them have the right combination of bulletproof maturity, high performance and dedication to ease of use that would be required. I hope MultiBit will get there first, but I think Electrum could probably also do a good job if it had more of an non-technical user focus.