ton-society / grants-and-bounties

TON Foundation invites talent to imagine and realize projects that have the potential to integrate with the daily lives of users.
https://ton.org/grants
296 stars 133 forks source link

Improve onboarding experience for new smart contract developers #31

Closed SwiftAdviser closed 2 years ago

SwiftAdviser commented 2 years ago

Summary

Survivorship bias problem

Right now, we have a big problem with newcomers that wants to start developing on TON.

I surveyed the community of ~5000 devs in four chats in June. And I got around 40 responses. But every one of those responses is from someone who has passed a series of hurdles and becomes a developer in the ecosystem. Even from these heroes, the most common problem I've heard of was "documentation."

Feel free to read the answers here:

And how many of these unfortunate souls didn't pass and settle in as dead listeners in dev chats? We don't know.

All who came from the development fields said where they have pain and what they need to fix. And how many of those people didn't come and were swept away by the complexity of the current TON ecosystem?

Pasted image 20220726111924

If we imagine that every newbie is Mario, then the lack of a clever way to learn blockchain is a hole that 99% of little Mario falls into.

When I want to START, on ton.org or in the current documentation, even "DOWNLOAD" a TON binaries is already a quest! It's a hole. Many tired after-work developers are buried here, and no one remembers their names.

Context

The first thing I want to bring to the ecosystem is a GETTING STARTED project for anyone who wants to play with TON over the weekend.

Pasted image 20220726112339

I want to start tiny and put a "Download" button for the most tired, where Kahneman's "System 1" will carry a person on waves of automatisms to the "Wow, I get it! How cool is that? Where's that complicated blockchain?"

This is the pain that worries me personally. The lack of a competent, unfocused path that even a tired after-work developer will follow. The ideal result looks like that:

Pasted image 20220726112028

I want to be sure that the person won't get blown away, distracted, have 3 links to 5 repositories, 8 versions of binary that are all out of date, and that the guy won't fall into some whitepaper along the way, where he will die. This is what I want to do.

Goals

Deliverables

Plan Minimum

Plan Maximum

Definition of Done

Reward

Total: $10800

SwiftAdviser commented 2 years ago

Here is a repository with hosted documentation:

SwiftAdviser commented 2 years ago

Here is a website used as MVP for the documentation:

SwiftAdviser commented 2 years ago

Here is a working document with notes from the interviews

DOCS β€” interviews.pdf

SwiftAdviser commented 2 years ago

Also, here is a result of the prioritization of most of the tasks and problems from the interviews:

image
SwiftAdviser commented 2 years ago

After a bunch of talks with Tal Kol, we could provide this document as an ideal plan for future improvements together:

Docs Table of Contents.pdf

thank you very much @talkol! πŸ™‚

liketurbo commented 2 years ago

You've been doing some work πŸ˜„πŸ‘

SwiftAdviser commented 2 years ago

You've been doing some work πŸ˜„πŸ‘

Seems you became one of the beta-testers of new documentation :) Feel free to write to me in TG: @SwiftAdviser. I will be happy to have feedback, especially on what was hard for you.

tvorogme commented 2 years ago

The current version of the documentation, although it looks nice, completely omits everything related to toncli, which is a pity.

Because toncli is quite an important part of TON development and is used by a lot of developers, as well as being a project in which other participants are actively contributing.

For example, new tests, running through docker, and so on.

The toncli also has extensive documentation and tutorials. It would be cool if the developers of the new documentation took this point into account.

SwiftAdviser commented 2 years ago

The current version of the documentation, although it looks nice, completely omits everything related to toncli, which is a pity.

Because toncli is quite an important part of TON development and is used by a lot of developers, as well as being a project in which other participants are actively contributing.

For example, new tests, running through docker, and so on.

The toncli also has extensive documentation and tutorials. It would be cool if the developers of the new documentation took this point into account.

Thank you for your comment. I've noted that in a new iteration of documentation. Because toncli is one of the most popular "schools for smart contract developers," it has its own page in the "Choose Your SDK" section:

image

I would be happy to approve Pull Requests from you or anyone related to toncli project so more new devs could use it.

More information about how to contribute: