Improve onboarding experience for new smart contract developers
SwiftAdviser opened this issue Β· comments
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?
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.
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:
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
- Build a straight way for anyone who wants to start developing in TON
- Build a user-friendly and scalable interface for new developers instead of old-school documentation for hardcore engineers
- Build a Knowledge Hub that developers will love so that they will improve it over time because of its value
Deliverables
Plan Minimum
- Created Getting Started in accessible language and step-by-step action, where TON binaries are downloaded, the first project is created, a wallet is tied up, and NFT is obtained from the blockchain.
- Obtained a development environment for TON-func-fift on output, where documentation is the point of departure to any problem.
Plan Maximum
- Getting Started.
- Environment set up.
- Collected links to critical resources and tutorials on:
- Web Usage Examples
- Smart-Contracts Development
- Debug & Testing
Definition of Done
- create an open-source repository
- choose documentation engine
- improve styles of documentation pages to become user-friendly even for my mom
- create hypothesis journeys for different types of developers (zero, regular, advanced, etc.)
- create visually new documentation experience with all the stuff from old documentation but user-friendly
- host on test domain as MVP to make closed beta
- improve with feedback after 10+ live interviews with devs from the community
- clarify a structure and journeys with interviews experience and experts from the community
- build the final version with an understanding of the actual needs of different kinds of developers the
Reward
- Standard TON Footstep NFT
- 6000 TON
- New Generation of Happy Developers :)
Total: $10800
Here is a repository with hosted documentation:
Here is a website used as MVP for the documentation:
Here is a working document with notes from the interviews
After a bunch of talks with Tal Kol, we could provide this document as an ideal plan for future improvements together:
thank you very much @talkol! π
You've been doing some work ππ
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.
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.
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:
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: