Thoughts on GRC [003] – How the user experience could be improved (2)

Read the previous article of this series here.

The current newbie user experience regarding Gridcoin has been very interesting so far. I’m learning new things every week thanks to very informative and productive discussions on slack, IRC, etc. However, especially during my first week I had a lot of questions and while there were plenty posts on various platforms and many community members eager to help, there still was one question: did I set up everything correctly?

All the install guides have been updated recently, so it will be less confusing for newbies joining in the future. But I think it wouldn’t hurt to implement a more sophisticated feedback feature, either inside the GRC wallet client or using a website, that displays some sort of summary of the installation and configuration status.

Basically, there is only one thing a newbie GRC miner will need: patience. If the setup works out fine and people know what they are doing, they will be up and running within a few hours (probably faster). Actually, setting up BOINC, the wallet and start crunching is done rather quickly. However, if the setup isn’t as smooth and a few things are not working as expected, it will need more time to sort things out and understand what is going on and why – especially for less tech savvy people.

This is obviously a typical and very well known aspect of any software installation and configuration – not a GRC-only problem. Yet, implementing a feedback feature could help to calm down newbies and impatient users.

In my case, it took more than 48 hours after initial install until I received my first faucet transaction. For me, that was the final confirmation that everything was running as supposed to be. During that time I already used BOINC, but I did not know if the completed tasks even genereated GRC, if all the addresses, etc. were set up correctly – not to mention the information overload inside the wallet that added to the confusion.

Just to be clear: in hindsight everything was ok (except for a very nasty neural network issue). All the problem solving, reading and waiting wasn’t a big deal after all. Yet during the first two days it occupied my mind a lot. Which is why I would like to suggest the following changes to be discussed:

1) Visual install & config progress indicator

It would be a very useful quality of life upgrade (imho) to have a visual progress indicator. If it is part of the wallet or on an external website or any other solution doesn’t really matter as long as it is able to compare certain values on a machine with a database and tell the user if everything is set up correctly.

It could be just certain steps with checkmarks, it could be a graphical approach or just a text message, e.g. “You are currently at [this step] and it will take a while to verify, so just go about your day and check back in [x hours]” or something along the lines “You succesfully completed [this step], but [that step] is still missing. Make sure to check [a] or look for help [here]”.

Even if it is just some command line thing: some sort of easy to understand output that doesn’t require reading tons of posts and bothering other users with newbie questions would make a big difference regarding the newbie user experience.

2) First week progress indicator (auto-faucet)

This is an another quality of life upgrade suggestion for the first week after everything has been set up. It could be considered as a “motivational indicator” since it is basically paying newbies GRC during the first few days.

The idea is to have a faucet that auto-pays newbies for a few days. Just tiny amounts of GRC. I would suggest the total amount to be the beacon fee – so basically we are giving newbies GRC during the first few days so they can launch a beacon for free.

This would have a few advantages imho:

a) daily feedback that everything is working fine

b) don’t have to rely on faucets or donations to launch a beacon

c) “reducing” timespan between initial setup and very first payment

d) don’t have to purchase GRC right away

To expand on this a bit: a daily feedback via payment is not only an indicator for successful setup, it also helps from a psychological point of view – which is an important aspect. Currently, there are three external options (aside from console commands) to verify that everything works fine: faucets, donations or buying GRC. If these options are unknown and/or take too long, there is no direct feedback if the wallet works properly or not.

The auto-faucet sending out a small amount of GRC asap solves this verification issue. And many companies are actually using a similar concept to let their new customers know that everything is set up perfectly.

But another effect is also the perceived "reduced" timespan between initial setup and very first payment. Right now, after successful install and while running BOINC, people often ask “When will I get my first GRC? How much longer will it take?” etc.

It can take a while until the first payment is received and if someone is not aware of faucets or didn’t receive a donation, this will feel like forever. If an auto-faucet would send out even a tiny amount of GRC, the user will notice “Ok, nice, soon I can launch a beacon and then it’s just a couple more days of waiting!” – the positive psychological impact is huge imho.

Alternatively, it could be just one single auto-payment as soon as everything is set up properly. Whatever is easier to implement, respectively whatever makes more sense.

3) Gridcoin project with tasks for newbies

This is an alterative approach to the auto-faucet I would like to elaborate on as well. If an auto-faucet is not viable for whatever reason, we could implement a GRC project for newbies (running in the background similar to WUProp) that generates a really tiny amount of GRC during the first week, paying out GRC without any minimum requirements, such as a minimum balance of 1k GRC or a certain magnitude, etc. I’m aware this might be difficult to implement and probably might lead to exploits, but it certainly seems worth a discussion as it would approach the auto-payment-verification-process from a different angle.

The advantage of this approach would be that it additionally gives feedback on possible neural network issues that are not directly observable. For example, one can receive GRC from faucets and donations just fine, yet the beacon that has been sent off might be inactive for whatever reason.

If a user does not buy GRC to speed up payment (solo) or if it takes a lot of time to get the needed minimum balance to be payed (pool), there is currently no indicator (that I’m aware of) that tells people “Hey, you are crunching happily but you won’t receive any payment because something is still not working properly”. GRC project tasks with tiny GRC payout asap would be one way to solve this.

4) Better/improved test run feature

If suggestion 1-3 are not desired or impossible to implement, there should be at least a very basic automatic test run feature that analyzes everything and provides a summary that contains all relevant information in a easy to read format, that also allows less tech savvy people to understand what is going on.

Currently, a few things can be tested by using the console and I’m also aware there was a diagnostics option (which is not working atm so I can’t evaluate how helpful that feature was) – but the output needs to be more newbie friendly imho.

In general, I'd like to see a feature that tells me what still needs to be checked/verified or if there is something not working properly. A simple overview of all essential operations with red (error) and green (working as expected) dots would suffice to let me know what is wrong. It would speed up error analysis quite a bit and people would also be able to ask more detailed questions.

“What is wrong? My mag = 0?” does involve a lot of asking back and forth. “My mag = 0, this is a screenshot of my analysis tool” would provide more information for everyone involved, helping to solve issues faster.

Overall, I think we should try to reduce the complexity for installation, configuration and verification in order to have a much smoother initial experience. This would not only convince people to spontaneously give GRC a try on a Sunday night, but also keep them motivated during the first few days that seem to take forever until things finally get rolling.

These are tiny changes but imho it would not only help newbie miners through the first few days, but also veteran miners who would prefer a more visual “everything is set up perfectly, your system is good to go” indicator. Especially if someone wants to set up BOINC/GRC on several machines, a fully automated test run or one of the suggested feedback features would allow for a much easier process.

The positive effect it could have would be a valuable and major long-term investement into the GRC-side of (newbie) user experience, especially when people are avoiding GRC because it’s “too much” to even get started.

When comparing GRC user experience to other coins (their wallets and mining software), one might argue that it is a lot more complex to set up Decred via sgminer, downloading and installing all the different packages, etc. thus GRC has one of the better user experiences – and I agree. But just because our current user experience is somewhere above average, why should we not continue to optimize in order to have the best user experience out there?

While we can’t tell BOINC what to do, we could try to make the entire process as easy/comfortable as possible. The first step is to optimize the current newbie user experience. From there we can continue to improve everything step by step until one day we can proudly say that BOINC/GRC delivers the smoothest user experience among all coins.

I’d like to emphasize these are just my humble suggestions based on my first 6 weeks being part of the BOINC/GRC experience.

Feedback is always welcome and I’m really excited to have a constructive discussion :)