Bitcoin Forum
May 04, 2024, 03:10:55 AM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 »  All
  Print  
Author Topic: User friendly client initiative  (Read 8430 times)
D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 12, 2011, 02:48:50 PM
 #1

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 Smiley

www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
1714792255
Hero Member
*
Offline Offline

Posts: 1714792255

View Profile Personal Message (Offline)

Ignore
1714792255
Reply with quote  #2

1714792255
Report to moderator
No Gods or Kings. Only Bitcoin
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
1714792255
Hero Member
*
Offline Offline

Posts: 1714792255

View Profile Personal Message (Offline)

Ignore
1714792255
Reply with quote  #2

1714792255
Report to moderator
1714792255
Hero Member
*
Offline Offline

Posts: 1714792255

View Profile Personal Message (Offline)

Ignore
1714792255
Reply with quote  #2

1714792255
Report to moderator
1714792255
Hero Member
*
Offline Offline

Posts: 1714792255

View Profile Personal Message (Offline)

Ignore
1714792255
Reply with quote  #2

1714792255
Report to moderator
REF
Hero Member
*****
Offline Offline

Activity: 529
Merit: 500


View Profile
June 12, 2011, 04:47:24 PM
 #2

some of the features that are shown available in the screenshots look great. good luck with this client development
Drifter
Sr. Member
****
Offline Offline

Activity: 364
Merit: 250


View Profile
June 12, 2011, 04:59:45 PM
 #3

I agree, but I don't think dropbox or online storage should be a requirement, but optional.

D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 12, 2011, 05:21:21 PM
 #4

I agree, but I don't think dropbox or online storage should be a requirement, but optional.

Sounds reasonable. There should probably be a "storage option" at the login screen where the user can pick Google, DropBox, Local etc., with an explanation for each, and a warning if you choose "Local" that if your hard drive crashes your money will be gone.

www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
June 12, 2011, 05:37:29 PM
 #5

You have some very good ideas UI-wise and it seems that we have similar goals.

I don't think making a Windows-only client is a good idea, though. The same could just as easily be done with Qt (you could start with my GUI as a base) and then it could run on all platforms.

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
Garrett Burgwardt
Sr. Member
****
Offline Offline

Activity: 406
Merit: 256


View Profile
June 12, 2011, 05:48:58 PM
 #6

Why are you showing USD balances?

That is an incredibly bad idea.

Other than that, not bad. Note that the bitcoin address won't change unless the client is coded to create another after receiving a transaction.

If you could support multiple accounts easily, that would be great. Obviously encrypted wallet files, according to Jgarzik's code (individually encrypted keys), automatic backup would be nice, etc.

-Garrett
D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 12, 2011, 05:53:24 PM
 #7

Quote
I don't think making a Windows-only client is a good idea, though. The same could just as easily be done with Qt (you could start with my GUI as a base) and then it could run on all platforms.

Well, the thing is that I'll be able to develop this using C# and WPF a lot quicker than if I'm gonna learn QT first, and I think that the end product will look better. I might not get as much love on these forums, but I'll reach at least 80% of the Average Joes that I'm trying to reach. Thanks for the support anyway, and good luck with your client!


www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 12, 2011, 05:56:12 PM
 #8

Why are you showing USD balances? That is an incredibly bad idea.

Yeah, never mind that, it was just a limitation in the sketching tool. It should of course be the Bitcoin symbol.

Quote
Other than that, not bad. Note that the bitcoin address won't change unless the client is coded to create another after receiving a transaction.

I'll make sure that it does that.

www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
wumpus
Hero Member
*****
Offline Offline

Activity: 812
Merit: 1022

No Maps for These Territories


View Profile
June 12, 2011, 06:05:48 PM
 #9

Well, the thing is that I'll be able to develop this using C# and WPF a lot quicker
How do you intend to interface with the Bitcoin network and/or client from C#? You want to reimplement the core layer as well?

Bitcoin Core developer [PGP] Warning: For most, coin loss is a larger risk than coin theft. A disk can die any time. Regularly back up your wallet through FileBackup Wallet to an external storage or the (encrypted!) cloud. Use a separate offline wallet for storing larger amounts.
D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 12, 2011, 07:53:43 PM
 #10

Well, the thing is that I'll be able to develop this using C# and WPF a lot quicker
How do you intend to interface with the Bitcoin network and/or client from C#? You want to reimplement the core layer as well?

From what I understand bitcoind has a HTTP JSON-RPC API that I can use.

www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
joan
Jr. Member
*
Offline Offline

Activity: 56
Merit: 1



View Profile
June 12, 2011, 07:56:22 PM
 #11

Hello,
I have also started to work on a C# project related to Bitcoin.

The ideal client for me would give the user more power to understand and control.
Key areas would be: wallet and addresses management, blockchain exploration, network monitoring.

Here is a list of features I think would be important:
- Multiple wallets handling.
- Choose which address is sending the coins.
- Import / Export keys and wallets.
- Integrated blockchain explorer.
- Integrated and interactive coin history tracking.
- List of peers connected to my node.
- Graph of bandwidth usage.

Admittedly, this would be maybe more tailored towards advanced/curious users than your project. Maybe the more advanced panels could be part of an extensions system though.
I think we have similar ideas design-wise. I'm only familiar with Winforms though.
Some of these ideas cannot be done just by interfacing with the mainline client.

Currently I am focusing on reading blockchain data to duplicate the block explorer functionality on the desktop.
Here is a small capture of what I'm working on. Reads files created by the mainline client (blockchain, blkindex.dat and wallet.dat), hashing, base58.

D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 12, 2011, 08:31:17 PM
 #12


Cool, looks nice. Like you said, we are not targeting exactly the same users, which is good. I'm sure both projects will be useful. Let's exchange ideas down the line.

www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
jimbobway
Legendary
*
Offline Offline

Activity: 1304
Merit: 1014



View Profile
June 13, 2011, 04:29:09 AM
 #13

The GUI is excellent.  I am thinking 'Checking' and 'Savings' are the basic accounts.  They can add more accounts if they want to.  For wallet encryption are you going to use TrueCrypt?
speeder
Hero Member
*****
Offline Offline

Activity: 966
Merit: 501


Leading Crypto Sports Betting & Casino Platform


View Profile
June 13, 2011, 04:52:12 AM
 #14

If you make a public source repository of that I think I will help coding it Cheesy I LOVED the idea.

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
D.H. (OP)
Sr. Member
****
Offline Offline

Activity: 311
Merit: 250


Bitcoin.se site owner


View Profile WWW
June 13, 2011, 06:24:39 PM
 #15

The GUI is excellent.  I am thinking 'Checking' and 'Savings' are the basic accounts.  They can add more accounts if they want to.

Thanks, yes that's exactly my thought.

Quote
For wallet encryption are you going to use TrueCrypt?

Seems like there is some built in wallet encryption on its way into bitcoind. If so, I'll probably use that, otherwise TrueCrypt, 7-zip or whatever does the job.

www.bitcoin.se - Forum, nyheter och information på svenska! (Forum, news and information in Swedish)
[Coins!]
Member
**
Offline Offline

Activity: 112
Merit: 10



View Profile
June 13, 2011, 09:33:54 PM
 #16

I am very interested in seeing this come into being.

I know a little C# (I am not awesome though), if there is some off-hours development you need help with, shoot me a PM?

Like my post? Consider donating: 1ENPBz6zZa1maehG48PaYzYhPjodN1NkTF
http://oneminuteslow.com/bitcoin/100-20.png
speeder
Hero Member
*****
Offline Offline

Activity: 966
Merit: 501


Leading Crypto Sports Betting & Casino Platform


View Profile
June 14, 2011, 12:50:04 AM
 #17

What software you used to sketch that?

..Stake.com..   ▄████████████████████████████████████▄
   ██ ▄▄▄▄▄▄▄▄▄▄            ▄▄▄▄▄▄▄▄▄▄ ██  ▄████▄
   ██ ▀▀▀▀▀▀▀▀▀▀ ██████████ ▀▀▀▀▀▀▀▀▀▀ ██  ██████
   ██ ██████████ ██      ██ ██████████ ██   ▀██▀
   ██ ██      ██ ██████  ██ ██      ██ ██    ██
   ██ ██████  ██ █████  ███ ██████  ██ ████▄ ██
   ██ █████  ███ ████  ████ █████  ███ ████████
   ██ ████  ████ ██████████ ████  ████ ████▀
   ██ ██████████ ▄▄▄▄▄▄▄▄▄▄ ██████████ ██
   ██            ▀▀▀▀▀▀▀▀▀▀            ██ 
   ▀█████████▀ ▄████████████▄ ▀█████████▀
  ▄▄▄▄▄▄▄▄▄▄▄▄███  ██  ██  ███▄▄▄▄▄▄▄▄▄▄▄▄
 ██████████████████████████████████████████
▄▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▀▄
█  ▄▀▄             █▀▀█▀▄▄
█  █▀█             █  ▐  ▐▌
█       ▄██▄       █  ▌  █
█     ▄██████▄     █  ▌ ▐▌
█    ██████████    █ ▐  █
█   ▐██████████▌   █ ▐ ▐▌
█    ▀▀██████▀▀    █ ▌ █
█     ▄▄▄██▄▄▄     █ ▌▐▌
█                  █▐ █
█                  █▐▐▌
█                  █▐█
▀▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▄▀█
▄▄█████████▄▄
▄██▀▀▀▀█████▀▀▀▀██▄
▄█▀       ▐█▌       ▀█▄
██         ▐█▌         ██
████▄     ▄█████▄     ▄████
████████▄███████████▄████████
███▀    █████████████    ▀███
██       ███████████       ██
▀█▄       █████████       ▄█▀
▀█▄    ▄██▀▀▀▀▀▀▀██▄  ▄▄▄█▀
▀███████         ███████▀
▀█████▄       ▄█████▀
▀▀▀███▄▄▄███▀▀▀
..PLAY NOW..
jerfelix
Sr. Member
****
Offline Offline

Activity: 266
Merit: 250


View Profile
June 16, 2011, 03:13:20 PM
 #18

A few suggestions:

-  Consider whether you need date+time, or just date.  Think about your check register in your checkbook.  Do you write the time?  Maybe the month and day is sufficient (why waste space on the year or the time).  Maybe this is an option.

-  Why not keep a running balance?  Think about check registers or home banking sites, and how those look.  They have a column for the transaction amount, and then a column for the running total.

-  Do you really care about confirmations?  I'd get rid of that column.  Indicate whether it's confirmed, based on color or font boldness or gray-ness.

-  Allow the user to mouse over, or click on, a transaction to get the details.  Here's where you can put all the information that I suggest hiding, including the whole date and time, the Bitcoin Address, the confirmation count, maybe a memo field, etc.

---

Also, I realize I am probably in a minority here, but I think (optionally) allowing displays in USD is a GREAT idea.  It gets really complicated, but it would help my wife figure out Bitcoin!  International travelers like many of the readers here have a knack for different currencies, but here in the Midwest USA, if you aren't talking dollars, you may as well be talking kilometers.  I'd get the glazed over look when I say "I transferred 2 Bitcoins".. as if people have to convert it in their heads every time.

I would REALLY like a client that operates in dollars.  If I want to send the $20 equivalent in Bitcoins to someone, I want to type in $20.  And I want that transaction logged in my register as a $20 transaction (forever), so that when I look back on it in a year, I don't think "why did I transfer $423 to that guy?"  No, it was "$20". 

And I want to know my approximate Bitcoin balance in US Dollars.  Yes, I recognize that it's an estimate.  And I recognize that it fluctuates.  Maybe to "make it all add up", you add a line item at the top of the register that's the "currency conversion adjustment" which goes up and down as needed, so that the balance is accurate, and the totals add up.

Just a thought.  Go ahead everyone, tell me how bad of an idea that is.  I'm just trying to figure out how to make it friendly enough for my wife to use.
Rassah
Legendary
*
Offline Offline

Activity: 1680
Merit: 1035



View Profile WWW
June 16, 2011, 06:40:27 PM
 #19

Looks excellent and REALLY looking forward to this.
Just two additions please: Add a "notes" or "category" column next to transactions (so you can remember whether that was for paying a bill, buying a rare 5830, or whatever), and allow sorting by date, by contact, and by notes. This will make it much easier to quickly find out how much we made from various pools, trading, or whatever, instead of having to run a separate spreadsheet.
XIU
Member
**
Offline Offline

Activity: 84
Merit: 10


View Profile WWW
June 17, 2011, 03:35:16 PM
 #20

Seems like this is about the only C# related topic for clients  Grin

I would love to help, I'm the lead developer for a WPF based framework (http://www.vidyano.com)
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!