Please describe your proposed solution.
<u>Current status of learning Cardano</u>
Cardano key concepts, and related technologies such as Haskell and Plutus, are not widely-known. It's hard for newcomers, especially for people who come from other developer backgrounds.
Many developers give up because Cardano is hard to learn even the basic concepts of Cardano can be hard to learn; and there is a lack of accessible learning resources such as structured, categorized documents and short codes with explanations
From our and others' experience, it takes around 1,000 hours of learning and practice for a beginner to get enough confidence to start to work as a Cardano developer.
<u>An example</u>
If a java or nodeJs developer wishes to become a Cardano developer, they need to learn:
- Haskell
- General Cardano concepts
- Plutus concepts
- Plutus APIs
- Cardano web3
They have to find documents, learn and code in the lab before starting work as a Cardano developer. This takes around 3 months, so many aspiring Cardano developers get stuck and give up at this stage.
If there was a service that provided short and refined learning materials on specific issues, e.g “general Cardano understanding”, “what is Cardano?”, “What is an UTXO?”, this would help. Developers also want to confirm whether or not their understanding is correct. A good way to do this is to structure their learning by using multiple-choice-question (MCQ) tests with increasing levels of difficulty:
- “General Cardano” to verify their knowledge about Cardano
- “Plutus” to verify theory and practical experience of Plutus smart contract.
These small sets of questions and tests will help a developer learn easier and faster. Once a developer passes the multiple choice tests, they are good to start work with Cardano projects.
That is what b-Learn ultimately intends to do. Please try a test with our demo to better understand the idea:
<https://blearn.bworks.app/mcq>
<u>Multiple-Choice Questions: a proven method to self-learn and assess </u>
Multiple-Choice Question (MCQ) tests are a widely-used learning tool that assists understanding. They are used as a primary tool to deeply assess knowledge and abilities at state-of-the-art learning platforms such as Coursera and Turing.
<u>How it works</u>
On our platform, anyone will be able to contribute their proven knowledge and code samples as MCQs once it is approved, it will be used in the MCQs test session so that others can use it to learn and verify their knowledge until they have a clear background to go with Cardano.
Our MCQ contents will focus only on Cardano and related subjects, e.g Haskell or general blockchain knowledge.
<u>An example</u>
Imagine someone has developed a Plutus script with signer’s public key validation logic. They can create a set of MCQs about it, as in the screenshot below:
Other developers on b-Learn can then learn this proven solution, and code quickly and trustfully to apply it to their project.
The more MCQs added by users, the more knowledge and experience is shared to help others strengthen their understanding.
<u>Architecture</u>
The project is designed with following 6 modules:
- Backend APIs to provide REST endpoints for client requests and performance logics.
- Microservices to handle system-specific jobs e.g count the votes to freeze the confirm.
- Contributor frontend for community members to contribute their MCQs, vote and comment on MCQs from others.
- CMS for admin to manage the platform overall.
- MCQ frontend for users to take the tests.
<u>Functions</u>
- Submit an MCQ
- Vote and comment on MCQs
- Take an MCQ test
- Job suggestion for passed participants
- Suggestions for learning resources for failed participants
- Developer and contributor ranking
- Reports
- Dashboard
- Payment
- Search
Demo screenshot to show the idea intuitively
<u>Features</u>
-
Systematic and structured learning through increasing levels of difficulty:
-
Understanding level, e.g “What is UTXO?”
-
Deep understanding level, e.g “How does Plutus validate the transaction signer signature?”
-
Practical level, which requires real code experiences.
-
Short learning time through selection of only the categories of MCQs that you need
-
Difficulty levels increase gradually:
-
Level 1: questions are 100% general understand and first logic MCQs
-
Level 2: questions are 60% general understanding and first logic MCQs, 30% deep understanding MCQs, 10% practical coding MCQs
-
Level 3: questions are 30% general understanding and first logic MCQs, 40% deep understanding MCQs, 30% practical coding MCQs
-
Community-driven through voting, commenting and consensus process
-
Payments to contributors, and rewards to high-scoring developers
-
Continuous learning and self-test loop
-
Email or Cardano wallet authentication
<u>Users</u>
- MCQ contributors
- MCQ participants
<u>Approach to creating MCQs</u>
The initial MCQs will be:
- MCQs developed by our team from existing Cardano resources
- Paid MCQs submitted by community members
Cardano has excellent official documentation covering all of its aspects. This is the primary resource we will use to create initial sets of MCQs by categories:
- General Cardano
- Plutus & smart contract
The team will be responsible for translating official Cardano documents to MCQs as initial content for the platform, plus our own knowledge and source code samples to have an estimated 300 MCQs for the initial launch.
<u>User acquisition</u>
Our user acquisition strategy will target users from two groups - within the Cardano community, and outside of Cardano - at 2 different periods.
<u>At development and trial launch periods</u>
We will firstly target users from existing Cardano communities. We can reach them through Cardano community groups on Telegram, Twitter and Discord channels in each country.
The project will keep communicating with and welcoming Cardano community users to be involved as contributors and advisors. The community can always comment, give feedback on our project functions, and suggest new features they think we should add.
At this stage we aim to have around 50 paid and unpaid members to join the project. These members form an initial community who well understand project ideas for viral communication strategy next stage.
<u>After launch product period</u>
At this stage we will focus on users from Cardano communities and from outside, through user engagement, communication and campaigns.
-
User engagement
-
Through word of mouth
-
Through communication channels, github repo, and the product itself
-
User acquisition through communication campaigns. The different campaigns are designed separately to solve problems with specific groups of users:
-
Users from Cardano communities: these users are friendly to Cardano technologies, so the campaigns will focus on our product features, functions and values
-
Non-Cardano developers: the campaigns will focus on the unique features of building on Cardano, and how b-Learn can help them transition from other developer environments
-
Crypto users: the campaigns focus on showing the advantages of Cardano and how the product solves problems through Cardano technologies e.g Plutus versus other chains e.g Ethereum.
-
Non crypto users: the campaigns focus on showing blockchain’s unique values versus traditional technologies.
The target is to have around 1,500 users by 1 year after the product launch. This includes around 1,000 users from the Cardano community and 500 users from outside.
<u>Conclusion</u>
With our effective and interactive approach to learning, the project will result in attracting developers from outside with different backgrounds to join Cardano by:
- Removing the barriers that prevent developers from starting with Cardano
- Reducing the time needed to learn, research and code labs. We estimate that a prospective developer’s overall learning time will reduce from 1,000 hours to 300 hours - and with less boredom.
With required capacities, the developer is no longer stuck, and is able to do their own Cardano project, or get a job through the in-platform suggestions based on their abilities.
How does your proposed solution address the challenge and what benefits will this bring to the Cardano ecosystem?
<u>Directly solve the challenge</u>
- Equip developers with required Cardano understanding and practice in advance, before they go with Cardano.
- Attract more developers from outside and with other backgrounds by offering an easier learning approach with gradually-increasing levels of difficulty.
- Build a knowledge base through MCQ content, explanations, and sample codes.
<u>Indirectly solve the challenge </u>
- Once developers confirm their abilities by passing b-Learn’s MCQ tests, they are capable of building on Cardano, which will result in more quality Cardano dApps.
- With continued contributed understandings and verified code samples, b-Lean will become a place to share, similar to how stack overflow impacts the development world.
<u>Conclusion</u>
By offering a new approach to self-learning then self-assessing, with organized MCQs that cover the main aspects of Cardano at all levels from definition, to theory, to code samples, our project well addresses the challenge’s aims to equip and support developers and make Cardano the first choice to build dApps.
How do you intend to measure the success of your project?
As seen many developers gave up because the difficultly of learning Cardano, many dApps are stuck at smart contracts and web3 development step. The success of this project will result in growing of quality dApps and developer workforce. This positively impact to Cardano’s productivity and growth, in both the short and the long term.
For detail numeric performance indicators definitions please refer to "What are the main goals for the project and how will you validate if your approach is feasible".
<u>Measure the success of the product development</u>
The success of the development stage is decided by:
- All proposed functions and features are complete and deployed.
- The simplicity and the speed of product.
- System stability and security.
<u>Measure the success of the running product</u>
Our key performance indicators will be:
- How it helps developers learn and confirm their Cardano knowledge quickly and effectively:
- The hours a developer needs to acquire enough solid Cardano experience to start work; e.g if newbies from different developer backgrounds can reach the stage of being able to develop Cardano smart contracts in < 500 hours, we should consider this a very successful outcome.
- How many code samples from b-Learn are re-used by developers in their dApps. The more samples are applied, the more success is confirmed.
- Number of learning categories created on the system to cover Cardano subjects
- Number of MCQs created with classification:
- General understanding MCQs
- Theory, practical and code sample MCQs
- Confirmed MCQs through community votes and high quality MCQs
- Number of developers who take MCQ tests
- How many of them pass the tests
- How many developers get jobs in the Catalyst ecosystem after using b-Learn
- How many hours developers have to spend with bLearn to become a solid engineer.
- Number of proven code samples with clear explanations.
- Number of positive feedback and comments about the product.
This measurement data is always realtime public on the dashboard of b-Learn where everyone can have a look.
Bottom line: We aim to make b-Learn an effective tool for developers who want self-guided learning and self-assessment of their Cardano knowledge and experience. Others, such as employers and PAs, will be able to assess the ability of a developer by their MCQ test score.
Please describe your plans to share the outputs and results of your project?
The works, problems and outputs are communicated across the process through a public github repo, staging server and checklist and documents:
- Github commits show our work in term of source code
- Staging server where we deploy the latest code to test, shows the updated version of the product.
- CheckList show what we are working on & its status
- Screenshot folder captures the product screens for each code commit
- Telegram and other communication channels
The community can always keep track of the project activities and outputs, and try the newest function through the following links:
Checklist: https://docs.google.com/spreadsheets/d/1dk7x_hC54qAP3nMkeVGyi28IipOVsZJsTUt3_P6u24Y/edit
ScreenShoot: <https://drive.google.com/drive/folders/1AJTzx4WeK1aedoaBqYJSIvYRhhOzbz4l>
GitHub: https://github.com/saigonbitmaster/bLearn_1.0
API: <https://blearn.bworks.app/api>
CMS: <https://blearn.bworks.app/cms>
MCQ: <https://blearn.bworks.app/mcq>
Through the above links, the community is easily able to track our works, timeline and commitment:
- What tasks we are working on
- Who is working on the task
- The pass or fail result of a task or job
- How the code presents product functions and features
<u>An example</u>
Community verify out work if we say "complete the create CMQ task":
git commit: https://github.com/saigonbitmaster/bLearn_1.0/commit/382c136f529fc1050e3a5db03c61ee878b61c4eb
App screenShoot: <https://drive.google.com/drive/folders/1AJTzx4WeK1aedoaBqYJSIvYRhhOzbz4l>
then they can visit staging server to see if how the task result in at: https://blearn.bworks.app/
Our GitHub is also open for the community to comment and raise issues about what features or functions they want to add to the product. By getting more comments from the community we will ensure the project is focused on users’ needs.