Pages:
Author

Topic: Is the Bitcoin client ever going to be usable? (Read 2440 times)

hero member
Activity: 812
Merit: 1022
No Maps for These Territories
From my point of view performance and reduction of required resources should be a top priority.
Then get working on it! Smiley We need developers, not more people that try to determine what the priorities are.

Quote
Wouldn't a loading screen slowdown the startup? In addition it would feel like starting an application suite, not a tool for making a quick transaction.
No. Compared to the seconds it takes to load the data, the <0.1ms it takes to render an image to the screen doesn't make any difference (your browser decodes and renders zillions of images per second, do you really notice it?). And it communicates a lot to the user. Worry about the big fish.

Quote
Building a BTC client is f***ing hard.
+1
legendary
Activity: 2940
Merit: 1090
Don't think the testnet is going to solve that for you either.

The first new blockchains I built I built by only modifying the -testnet sections of the client.

Guess what? Those blockchains don't work if you try to run them using the main sections of the code.

Oh and worse than that, not only did the blockchains not work but also all the "accounts" in the wallets now have zero balances, except the "" account which hopefully might have "inherited" the coins that vanished from the other accounts.

So don't test using -testnet, test using your own whole new non-test net, like GRouPcoin and DeVCoin are doing...

-MarkM-
legendary
Activity: 1428
Merit: 1093
Core Armory Developer
As someone who decided to jump into client development, myself, please hear my 0.02 BTC as well:

Building a BTC client is f***ing hard.  This is many months' worth of effort, even for very experienced programmers with knowledge of all the cryptography, networking, protocols, etc.   Additionally, there really isn't an easy "public beta" phase, because the last thing you want is for someone to use your client and lose 100 BTC because your wallet-encryption algorithm got dorked up by some boundary case that only happens once in a million times.  That event gets broadcast through forums/BTCnews and no one is willing to try your client again for fear they might lose their coins.  I tell you, there's nothing more satisfying than spending months developing a client that no one wants to use...   (this didn't happen to me, I'm just giving a glimpse of what could go wrong).

The fact that 0.3.24 client is "beta" really means "freakin-awesome-but-a-little-short-on-features."  I agree, the community needs more-and-or-better clients, more usability, less tech-savy-ness-required, etc.  But to be fair, BTC is extremely complicated under the hood and extremely sensitive to functional- and security-related bugs.  With my experience, I'm not surprised it's taking so long. 

Additionally, I'm sure you noticed what happened each time there has been a BTC disaster:  MtGox getting hacked, and MyBitcoin stealing/losing everyone's money.  These events had nothing to do with the Bitcoin itself being weak, yet the price dropped pretty substantially on both events due to lack of confidence.  Imagine now if there was a plethora of buggy clients out there, people losing coins, losing wallets, encryption not actually working, security holes in the networking, etc.  That actually would look like BTC itself is crappy.   At least the current client is literally usable.  It doesn't lose your coins, or open up your network to attacks.  I'd rather it be slow than insecure.

I hear your pain.  But be patient... there's no other way...

legendary
Activity: 1153
Merit: 1012
From my point of view performance and reduction of required resources should be a top priority.

Wouldn't a loading screen slowdown the startup? In addition it would feel like starting an application suite, not a tool for making a quick transaction.

Just my BTC 0.02
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
How hard would it be to throw in a loading screen? Hell, you could sell ads on it.
I have implemented a loading screen.

But speeding up the startup is still a goal.
newbie
Activity: 43
Merit: 0
It just took 12 seconds for the Bitcoin client to start up :|
Yes the startup duration is a problem at the moment, not the amount of memory usage.


How hard would it be to throw in a loading screen? Hell, you could sell ads on it.
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
It just took 12 seconds for the Bitcoin client to start up :|
Yes the startup duration is a problem at the moment, not the amount of memory usage.
full member
Activity: 123
Merit: 100
It just took 12 seconds for the Bitcoin client to start up :|

What's 50mb of RAM these days? Less than 1/20th of a gig of ram? Who has less than 2GB these days? :S
legendary
Activity: 1400
Merit: 1005
I'm planning on making some usability improvements to the client when I get some spare time (probably next weekend).

Given the number of people on the Newbie forum asking about 'where are my bitcoins' and the issue seems to mostly be a non-downloaded blockchain, the first addition I'm going to code up is to make the little block display in the bottom right corner more useful, so it displays more of a 'progress' than just a number.  This can be done in two ways:
 - by looking at the timestamp of the client's last received/stored block chain head and comparing that to system current time or timestamp of last received message and using this to try and make an guesstimate of the time remaining still to download.
 - by looking at the start_height response to the version query and assuming that this might be the block head

I think just giving the average user the ability to know pretty quickly that they are not at block head would solve a lot of the issues I often see on the Newbie forum.

Will
Maybe even simplify it to a red-light green-light thing, with more details if you click on it.
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
"Safe mode" was removed. I think it should be put back. The alerts can still put a message in the status bar, though IMHO it should be a popup alert.
Yes a popup alert would be fine. Or a banner "There is a new version available!" like some software has.

corner more useful, so it displays more of a 'progress' than just a number.  This can be done in two ways:
 - by looking at the timestamp of the client's last received/stored block chain head and comparing that to system current time or timestamp of last received message and using this to try and make an guesstimate of the time remaining still to download.
 - by looking at the start_height response to the version query and assuming that this might be the block head
Both are implemented in the Qt UI. It does not even show the raw block count anymore except as a tooltip, as it is a useless number out of context...

hero member
Activity: 767
Merit: 500
I'm planning on making some usability improvements to the client when I get some spare time (probably next weekend).

Given the number of people on the Newbie forum asking about 'where are my bitcoins' and the issue seems to mostly be a non-downloaded blockchain, the first addition I'm going to code up is to make the little block display in the bottom right corner more useful, so it displays more of a 'progress' than just a number.  This can be done in two ways:
 - by looking at the timestamp of the client's last received/stored block chain head and comparing that to system current time or timestamp of last received message and using this to try and make an guesstimate of the time remaining still to download.
 - by looking at the start_height response to the version query and assuming that this might be the block head

I think just giving the average user the ability to know pretty quickly that they are not at block head would solve a lot of the issues I often see on the Newbie forum.

Will
legendary
Activity: 1764
Merit: 1002
i'll throw in 3 BTC for bounty as well.  we need to move this project forward quickly before it disintegrates.
legendary
Activity: 1526
Merit: 1129
Hasn't that been removed a long time ago?

"Safe mode" was removed. I think it should be put back. The alerts can still put a message in the status bar, though IMHO it should be a popup alert.

Currently the client doesn't have any good way to inform users of upgrades beyond this mechanism, which isn't good news for a network that relies on global consensus and has already had several bugs that require users to upgrade for the good of the network.
donator
Activity: 1419
Merit: 1015
Okay, I'll look into it.
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
You might want to look into porting the Android client to windows. It ticks all the low-usage boxes, though I don't think it's  a full P2P node (but that might not be an issue).

...optionally removes the alert/shutdown functionality as detailed here:
https://bitcointalksearch.org/topic/development-of-alert-system-898
Hasn't that been removed a long time ago?
donator
Activity: 1419
Merit: 1015
Here's my bounty: 3BTC, or over 4 days worth of my mining.

I'd like a client that...
...uses 15 meg of RAM or less from startup to idle.
...takes up less than 1 gig of hard drive space.
...loads up in less than 10 seconds.
...has a windows binary.
...contains an encrypted wallet or at least allows you to change the wallet.dat name.
...optionally removes the alert/shutdown functionality as detailed here:
https://bitcointalksearch.org/topic/development-of-alert-system-898

Others are welcome to join this bounty, or, if someone has a reasonably-similar bounty, I'll join theirs.

If you are working on an alternative client, don't take offense at what I'm saying, you haven't been working two years on this. I don't know if feature-creep has made the client unusable or what, but I'd like a client I can use on a spare much older PC separate from my regular computer. This way I know I have a reasonably-secure environment. I really don't feel like I'm asking for the world, and I think whoever did this would gradually replace the existing client assuming they have a good reputation already.

That alone be worth far more than my 3 BTC.
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
Can the thread be moved somewhere else? This forum is for actual technical discussion, not complaints.
Tech support would probably be the right forum.
legendary
Activity: 1526
Merit: 1129
Can the thread be moved somewhere else? This forum is for actual technical discussion, not complaints.
hero member
Activity: 812
Merit: 1022
No Maps for These Territories
He's right though - it does no good for people to create all of these great tools if they need to be compiled.
I'm not saying he is not right. A binary release is planned. On the other hand, building a binary for something like bitcoin is fraught with issues. You really want to guarantee that it is safe.

So you need to be able to make sure your compilation environment is 100% clean, maybe have a few people build it and make sure the result is the same. Then you can sign it and release it.

It requires a significant time investment from the person(s) doing it.
legendary
Activity: 1400
Merit: 1005
Well I have no problems building an exe for you or working on other stuff to make the client more 'usable' for you.

However I have my own list of priorities at the moment; if you want things to go your way instead of mine, you'll need to pay for my time. PM for info.

He's right though - it does no good for people to create all of these great tools if they need to be compiled.  The need for compilation eliminates 98% of people from ever being able to use them.
Pages:
Jump to: