Bitcoin Forum
December 04, 2016, 08:33:37 PM *
News: Latest stable version of Bitcoin Core: 0.13.1  [Torrent].
 
   Home   Help Search Donate Login Register  
Pages: [1] 2 »  All
  Print  
Author Topic: User friendly client initiative  (Read 7809 times)
D.H.
Sr. Member
****
Offline Offline

Activity: 311


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)
1480883617
Hero Member
*
Offline Offline

Posts: 1480883617

View Profile Personal Message (Offline)

Ignore
1480883617
Reply with quote  #2

1480883617
Report to moderator
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction. Advertise here.
REF
Hero Member
*****
Offline Offline

Activity: 526


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: 367


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.
Sr. Member
****
Offline Offline

Activity: 311


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: 798

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: 350



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.
Sr. Member
****
Offline Offline

Activity: 311


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.
Sr. Member
****
Offline Offline

Activity: 311


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: 798

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.
Sr. Member
****
Offline Offline

Activity: 311


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



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.
Sr. Member
****
Offline Offline

Activity: 311


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: 1380



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?

░░░░░░░░░██████░░░░░░░░░░░░▄▄▄
░░███░░██████░░░░░▄▄▄▄▄░░██
░░███░░█████████████
░░░░░░░░██████▀▀██████████
░░░░░░░░██████░░░░░██████████
░░░░░░▄▄▄▄▄▄░░░▄▄▄░░░░███████
░░░░░██████░░░███░░░░███████
░░░░░██████░░░███
░░░░░███████▄▄▄▄▄████████
░░░░░████████████████████
░░▄▄▄▄▄░░█████░░░░█████████
█████░░█████░░░░█████████
█████░░░░░░░░░░░░█████████
█████░░░░░░░░░░░░░█████████

START GETTING PAID FOR YOUR ATTENTION!
███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████
JUSTICE IN THE WORLD OF ONLINE ADVERTISING!

BUY MASS COIN 】【 ICO PROSPECTUS
VISIT OUR WEBSITE
TWITTER 】【 FACEBOOK 】【 TELEGRAM

speeder
Hero Member
*****
Offline Offline

Activity: 546



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.

D.H.
Sr. Member
****
Offline Offline

Activity: 311


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



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: 546



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

What software you used to sketch that?

jerfelix
Sr. Member
****
Offline Offline

Activity: 266


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: 1624


Director of Bitcoin100


View Profile
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


View Profile
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)

1xiuHwHk81j4TRnLuLBMvH2ctqtTsubT6
Pages: [1] 2 »  All
  Print  
 
Jump to:  

Sponsored by , a Bitcoin-accepting VPN.
Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!