I'm an owner of 2 NEMStakes and a purchaser of some NEMSilver.
I bought in to support the ideas behind it of really a 'do it all' coin (or NEM or whatever) with a more egalitarian and eco friendly approach to things.
I am a big crypto supporter and have experience with quite a number of cryptos and am invested in BTC, DRK, Doge, Stellar and even things like CureCoin (for fun). I'm also a mining enthusiast. So i'm no stranger to crypto currencies.
However when I first installed the NEM wallet, it was a real pain. The web installer was confusing and convoluted, I can't remember the exact process now but I do remember having to install Java this, and several other steps to get it running. I'm not sure why this method was chosen when an installer that got everything in an easy and recognizable way would have been much simpler for the average user.
The error messages are cryptic and the language used throughout the wallet are not friendly. I was told NIS is not started, then something called NCC. All these acronyms with no explanation. And then got something like NEM Infrastructure service not available. I had no idea what was going on and I was told to simply wait cause the blockchain was syncing (well why didn't it say so then?). I don't pretend to understand the entire way NEM works but the average user doesn't want to know about all these NIS/NCC , they just want to know how to use this simply with the tech working behind invisibly. "Boot Local node", what does this mean to a normal user? Even after I booted it I'm not sure what it's supposed to do? Even after I clicked on boot local node, it refused to remove the error message.
Like do most Apple IOS users want to know that there's a FreeBSD variant underneath? Just have a simple interface with recommended default options, and then have an advanced mode for the more geeky ppl with more control.
NEM is supposed to be for mainstream and as such usability has to be designed with that in mind.
The user interface is also extremely fragmented. Bunch of menus splattered here and there (and some hidden), two similar settings gear icons , 'harvesting'… Compared to other coins with PoS, you just lock/unlock and leave it minting. Why do we need NEMMonitor? Why is it different than just regular NEM?
Now this probably makes sense to the hardcore NEMSters who have taken the time to understand the full tech behind NEM. As it is NEM is already a complex process that took rockethead many many chats to even explain to me what it was (I still don't entirely get it). It's not a coin…it's an economy…it's decentralized…it's super safe…fast…then u have an asset exchange and then you have possible smart contracts and then you can use it as a medium of exchange for fiat etc. Then you have the NEMSilvers, NEMGold and AltNem organization or something. It's a LOT to take in! But users have to be weaned in.
I have no doubt that NEM's innovations are something special, otherwise I wouldn't be here. Yes I understand its' still in Beta, but at the same time I'm mindful that just a few weeks before launch, the wallet still remains the mess that it is. I'm already considered more into cryptocurrency than the average Joe on the street, what hope is there for mainstream adoption if I can't get it?
Keep things simple, keep the wallet simple. Show the basic info.
Wallet amount
Transaction list
Address Book
Send/Receive
PoI score (with a link to what it means and why is it significant)
A button where I can just activate harvesting just with one click or something.
Asset Exchange Link (when available)
Then this already addresses all the main uses of NEM as it is!
There's no reason to completely reinvent the UI that it becomes confusing or 'programmer' correct.
I think this should be of an utmost priority now in getting a usable wallet out asap. Easy to install, easy to understand and then can be built on. An advanced mode for more advanced NEMsters. But as I said, the best tech tends to be invisible.
TL:DR version:
Installer should be made much simpler. Java web start is a pain
UI needs a lot of work and a more unified tab system.
Tech should be invisible and focused on user experience
Error messages and labels need to be improved and less cryptic
This is super important for 'mainstream' adoption of a new tech. You can have the best underlying tech but if people don't get how to use it, it's pointless
I agree with the points about usability and I hope we can improve them (though we could probably use more help on the design and implementation).
For mainstream use, 2FA might be a good idea to secure the wallet as well. Not sure if it is practical in this case, as I have not looked into it yet.
I was wondering when a rant would come. I aggree with almost everything allthough your experience is somewhat extreme. In the ideal case you have to make exactly 4 clicks to get it up and running (and a little patience since startup takes about 20 secs minimum during which youl will see some granted confusing messages).
Webstart was chosen because it would provide auto-updating functionality out of the box and because it wasn't supposed to be such a clusterfuck. We're trying to have the usual installer ready at launch though.
Truth is we are aware of all of that but it just hasn't been a priority at this point. What's a perfect GUI with a network that can't handle the load or is bug-ridden.
I don't agree with this though:
UI needs a lot of work and a more unified tab system
Care to elaborate what exactly you mean ?
Error messages are not specific enough.
Need more infomation on where the problem is like "network busy", and need a short hint of solution.
"Unforseen problems " should also be explained with best effort.
That unforseen message can't be more specific because it's...well...unforseen. If a problem occurs that the devs have never experienced they can't display anything other than it's unforseen. Those are not issues that they are too lazy to explain those are issues that just never happend before which means they don't knoow them which means they can't give more detailed error messages.
Error messages are not specific enough.
Need more infomation on where the problem is like "network busy", and need a short hint of solution.
"Unforseen problems " should also be explained with best effort.
That unforseen message can't be more specific because it's...well...unforseen. If a problem occurs that the devs have never experienced they can't display anything other than it's unforseen. Those are not issues that they are too lazy to explain those are issues that just never happend before which means they don't knoow them which means they can't give more detailed error messages.
well, to be precise, in some cases NCC provides a better explanation, but UI displays it as "blah blah blah unforseen"
Error messages are not specific enough.
Need more infomation on where the problem is like "network busy", and need a short hint of solution.
"Unforseen problems " should also be explained with best effort.
That unforseen message can't be more specific because it's...well...unforseen. If a problem occurs that the devs have never experienced they can't display anything other than it's unforseen. Those are not issues that they are too lazy to explain those are issues that just never happend before which means they don't knoow them which means they can't give more detailed error messages.
well, to be precise, in some cases NCC provides a better explanation, but UI displays it as "blah blah blah unforseen"
I think we should make the error message literally "blah blah blah unforseen" ;D
I think some of Reuben's suggestions are good feedback.
I tried to think of some possible suggestions. Just brain storming ideas here.
"NIS is not available" -> "The NEM network is currently connecting. Please wait."
A quick NEM tutorial in the NEM client would be helpful for people new to NEM. A few slides that explain what the NCC can do and how to do it.
"NIS needs to be booted"
Error messages are not specific enough.
Need more infomation on where the problem is like "network busy", and need a short hint of solution.
"Unforseen problems " should also be explained with best effort.
That unforseen message can't be more specific because it's...well...unforseen. If a problem occurs that the devs have never experienced they can't display anything other than it's unforseen. Those are not issues that they are too lazy to explain those are issues that just never happend before which means they don't knoow them which means they can't give more detailed error messages.
well, to be precise, in some cases NCC provides a better explanation, but UI displays it as "blah blah blah unforseen"
I think we should make the error message literally "blah blah blah unforseen" ;D
"Unforeseen problem: please contact Patmast3r"
I think some of Reuben's suggestions are good feedback.
I tried to think of some possible suggestions. Just brain storming ideas here.
"NIS is not available" -> "The NEM network is currently connecting. Please wait."
A quick NEM tutorial in the NEM client would be helpful for people new to NEM. A few slides that explain what the NCC can do and how to do it.
"NIS needs to be booted"
I'll be posting my usability issues as I boot things up:
This is on 0.4.45 BETA
Upon startup of client:
The error Oops Error 305 Nem Infrastructure Server is unavailable should be something like Wallet is Syncing. At the same time, the top yellow bar should indicate the status of syncing or connection while this is happening instead of telling you to boot NIS. An estimated wait time would be helpful.
The NEM Monitor says NIS is starting, the error message is NEM infrastructure server is unavailable while if you open up the NEM Monitor toolbar menu it says NIS is connecting. This is inconsistent wording and confusing.
Similarly the About Nem button on What is NIS and NCC is in rather cryptic language.
Boot Local Node
After I am allowed into the wallet, the NEM monitor says NIS is running and is booted. However the yellow bar above still says: NIS needs to be booted. Please open your wallet and boot a local node via the popup dialog or configure the auto-boot setting.
Again this is confusing and inconsistent.
Also when clicking Boot Local Node, right below Account to Boot Local Node field is a weird html code:
<span class="null"><No label></span>
Once clicking on Boot Node, there is no indication or message whether it was successful or not.
Start Local Harvesting
Upon clicking on this, it returns:
Oops!
ERROR 709
The account is unknown. An account needs to be part of at least one transaction (sender or recipient) to be known to the network.
Doesn't actually say what I need to do. That means I need to transact?
The three horizontal lines next to the NEM logo isn't all that obvious that it's a menu. This needs to be made more obvious, or is there really a reason you need this to be collapsible?
When not expanded, the wallet 'settings' should have a different icon than the general settings of the client. They look the same now.
Transactions
I think it makes more sense to stick to having confirmed and unconfirmed in one entry instead of segregating them. Just have it different coloured. Similar to current BitCoin wallet. No reason to segregate them in my opinion.
Harvesting
More easy to use guides on what local harvesting and remote harvesting is. Isn't clear what it is.
"Unforeseen problem: please contact Patmast3r"
hahaha
Should UI be improved before we launch? Maybe a good 3 days to fix the UI lexicon. I think it is important. ;D
A well written and thought out post. Good thread.
I think alot of his critcisms are very valid, and express alot of concerns i had when i first delved into the NEM wallet - at the same time though, i had no doubts it would be changed and revised over the releases to make it user friendly, as i'm aware that the devs take ease of use seriously.
Reuben, cheers for your contribution here.