User onboarding, scalability, incubating accounts and SteemConnect v3: my vision for mass adoption...

in #steemdev6 years ago

Back at SteemFest3 in Kraków, one of the many great meetings we had was the one organized by @dtube crew, with presence of many dApps teams, @ddaily and several creators, where we had an amazing discussion about how to get to the next level for Steem ecosystem.




Image from @meno's post

In that meeting we were discussing one of the main topics of huge importance to dApps which is user onboarding. How to make onboarding of thousands of users sustainable for dApps and even for Steemit.com, as for now it is a bottle neck and a bad user experience. We know that from almost all users that got to join Steem or our dApps, let alone the ones we don't even get to know about, because they simply were not persistant enough to survive the process...

This is a very important issue. I know we might have scalability issues if we onboard too many users, blah blah... Are we sure there will be issues? Is there any scientific analysis for that? All my life I have been a software developer and an economist as academic background, and I think that it is counter productive to be trying to solve issues that we didn't face yet! It might be a struggle when hundreds of thousands of users join, or even millions, but right now we are already struggling to onboard a single user, and that is far more important than the masses for now IMO!

The first set of ideas shared in that meeting about onboarding were unanimous: It is far from ideal to have users waiting 1 - 2 weeks for an account approval and a great brainstorm was started on the subject, ranging from possible offchain solutions to different onboarding blockchain, passing by sidechains, etc. One thing that we all agreed was that it makes sense that we find a common solution that any dApp can use and contribute to, so that we get the most easy and transparent user experience amongst all dApps.

On SteemFest I got to know about some projects that are already trying to help in onboarding, like @ura-soul's "Passport to Steem" or @anomadsoul's "Steem Onboarding". These projects will certainly be of extreme importance to the ecosystem, but we still need to be able to create the accounts and also, possibly the most important, not lose our users due to the steep learning curve required just to be able to login.

Relating to account creation, @meno made a very detailed explanation about what we talked about in our meeting in his post, which is a great read and details quite well the main issues about account creation and user onboarding. He also adds some ideas like incubation accounts, which I also thought about during this period of travelling after the SteemFest. It makes a lot of sense and can be implemented onchain. Each dApp can have a pool of accounts sponsored by the dApp developer that will be used to immediately onboard a new user, up to the limit of available accounts, which might grow in time, and the new user would have some simple gamification to fulfill, for a finite period (say one month, for instance), in order to achieve several objectives and learn how to use their dApp. During that period those users are supposed to raise enough money to support their definitive account creation.

As for account usage, I think that projects like SteemConnect are very important, to present the user with a unified way of signing in to all dApps of our ecosystem, but I really think that they need to be implemented in a decentralized way, where the user controls their keys at all time and they never leave their computer, and more importantly, that no authority sharing is required to a third party account controlled by the dApp developer. This is a security problem, because we saw accounts being hacked before, and if the dApp gets hacked, the attacker can gain access to all users accounts by using a single authority, which in my view is very dangerous.

So, my vision of the perfect onboarding unites the idea I share with @meno about the incubation accounts and a new SteemConnect set of apps, from desktop to mobile, that will hold the user keys in an encrypted storage, only accessible by the user's password. Those keys will never leave that storage, only being unencrypted when the user accepts to do so and for a limited period of time after the user inserted his/her password.

After some investigation and a few thoughts exchanged with the @steemscript crew after their post, I verified that probably the best approach is the way they are thinking of implementing the v3 of SteemConnect, using deep linking and url schemes from Steem URI protocol. This method allows even to use the keys on your mobile keychain to sign a transaction on your web or desktop dApp.

Imagine this scenario: A user talks with any of us and gets to know about Steem and DSound. He gets back home and he goes to DSound to check out some music. He likes it and, since he is a musician as well, he decides to give it a try, so he goes to the sign-in page and he finds instructions to install a SteemConnect v3 application on his laptop or mobile. He installs it and click a button to proceed with sign-in. Next he is informed that an anonymous account was reserved for him and is asked to create an identity on SteemConnect and store the new account dsound-u273544@posting authority, to which he just confirms by clicking a button. And he is ready to go have some fun playing songs and liking content on DSound.

Next day he wants to check out that Steemit.com website that we chatted about and he presses login button and the SteemConnect app pops up a message for him to accept the login with his password to open SteemConnect and approve the login. On any of the Steem dApps the process is exactly the same.

A couple of weeks later he already got enough STEEM/SBD to finance his own username and when he visits back DSound, by only using his password to open SteemConnect, the website tells him that if he is ready to create his own username he now can, so he clicks it and he is asked for his new username, he is asked by SteemConnect to create a new identity for @johndoe and store @posting, @active, @memo and @owner authorities, to which he just presses accept and he is good to go with the new account. Internally the old account posting key is changed and it goes back to the incubation accounts pool for the next new user to onboard...

For this new user, which key or password, private or public, is not a problem, as he doesn't have to learn it until he feels the need. He is using the applications even without knowing that keys are involved. I really think that this is the only way for us to get mainstream adoption on our ecosystem.

Any project or team that also feels like this is the way to go, please let me know and I will be happy to help out to make this a reality.

Let's take Steem to the next level! :)

Cheers, PRC

Sort:  

I agree that a gamified account funding system, something along these lines is definitely the most robust and generic solution that has been proposed. I personally think that the Steem Keychain project by @aggroed and @yabapmatt looks very promising in terms of keeping keys private while still allowing easy access to sites in the Steem eco-system.

The resource credits available to dApp operators - even those with decent delegations, is not high enough to produce enough accounts to respond to a really successful onboarding drive and marketing campaign - plus the accounts still need some kind of Steem Power to be functional after they have been created anyway. Therefore, some means of allowing new users to fund their own account is great and something like the described approach could definitely work well.

The code to manage this process can be open source and generic enough to work on any dApp, so really the work for this could be achieved as a community project among the coding teams of all dApps that want to participate. While this might draw together a decent amount of human power to get the work done, it also means teamwork between groups who so far haven't worked together so much (afaik) - so this could also be an important bridge in that way too.

@steempassport was created with the aim of solving all problems relating to onboarding, but since @Steemonboarding is focused into the education and marketing, for now we will focus more on the technical side - which means looking at the challenge of this kind of account creation process. We have some other options to fund new accounts too, but that is a less technical option and one that needs more planning and organisation before it can be worked on and rolled out. We are working on that in the background too though and we have some promising plans.

I will share this post of yours into the steempassport Discord server and also look to start making some kind of high level schematic for how this system might work. :)

Also, one point that I don't think was mentioned much.. Each dApp can have a way of listing the users that are in the 'trial' process so that the community can check them out and help onboard them with upvotes if they want. This helps outsource the job of filtering spammers out to the community, which is perhaps the most efficient way to do it. Ultimately there could even be some kind of onboarding bonus for users who 'curate' the best new users towards their full account.. But one step at a time ;)

Este post recebeu 22.46% de upvote da conta @steemitportugal!
Obrigado por fazeres parte da comunidade @steemitportugal .


Telegram_PT2.jpg

Olha... pessoal do meu país!

Posted using Partiko iOS

Estamos em todo o lado :p

Verdade verdadinha... =) está nas raízes da História do mundo.

Sentí algo muito interessante quando comecei a ver posts escritos em Português no Steem! Diagmos que é interessante. Secalhar deveria escrever uns quantos... mas como não tenho muito a noção da comunidade Portuguesa aqui, acabo por deixar passar.

Adorava que o pessoal Inglês conseguisse ler Português. É tão diferente... de todas as outras escritas. Enfim... cá estamos!

Dá um salto aí no telegram, está lá a malta da Tugalândia e temos rissois, superbock e sandes de presunto 😁

Propaganda... ou então já comeram foi tudo! 😛

So vi isto, as 4:15 da tarde, mas já se me está a abrir o apetite.

Posted using Partiko iOS

This post is supported by $2.97 @tipU upvote funded by @cardboard :)
@tipU voting service guide | For investors.

Great ideas, and I am encouraged that you seem to have contacts that are competent to bring them to fruition.

Steemit is a mess atm, and perhaps, as so often happens in life, when looking back on hard times one sees how the very challenges one had to rise above created the wonderful circumstances that have arisen since. I sincerely hope this is exactly such an effort. It looks like it.

Thanks!

This seems legit, I'm admittedly well over my head here as a non tech person and relatively new steemian. But, if I understand this correctly this process of dapp incubation onboarding will offer a way to create an account that can eventually become a user at steemit.com or any other front ends such as busy or partiko? If I'm understanding this then this is great as I've had more than a few people not even able to get to the verification process due to bugs. As if the waiting period and clunky design when arriving isn't difficult enough, if potential new users cannot even access steemit.com to sign up that's a major problem resolved by this back door entry, that could ultimately make steemit only necessary for wallet transactions.

If new users can just avoid steemit altogether well we will all have won lol. As an only mobile user I've run into a wealth of issues that partiko has solved. Being a crypto driven geeks r us community I feel the mobile users have been mostly overlooked and it doesn't take an economist or engineer to ascertain that's just stupid. Mass adoption means clean ez mobile interface, end of story.

Posted using Partiko Android

Yes, this is the most simple and elegant solution. Done right, the user would not even miss the true account until the right moment arises. Financing the account should be able via sponsorship as well (both paid and via RC), for users who show their value during their temporary account period.

Posted using Partiko iOS

I found the sign up process off putting. Your proposal makes total sense! I agree with dealing with real current problems first.

Thanks for creating an amazing platform. I am now exercising my musical practise on a daily basis.

resteemd
!tipuvote 5

Congratulations @prc! You have completed the following achievement on the Steem blockchain and have been rewarded with new badge(s) :

You received more than 7000 upvotes. Your next target is to reach 8000 upvotes.

Click here to view your Board of Honor
If you no longer want to receive notifications, reply to this comment with the word STOP

Do not miss the last post from @steemitboard:

Saint Nicholas challenge for good boys and girls

Support SteemitBoard's project! Vote for its witness and get one more award!

Sounds like you are on the right track. We really need to get more cool musicians and other talented people onto Steem with minimal friction. They can help bring in the next wave.