bounties icon indicating copy to clipboard operation
bounties copied to clipboard

CoLab Rholang Interactive Learning Application

Open David405 opened this issue 6 years ago • 16 comments

One of the major goals of the Cooperation Laboratory (CoLab) is to create a platform for noobs, coaches and just about anyone to learn, contribute to worthwhile projects. This led us to building a KYC bot in our discord server which executes rholang codes, allows you to deploy, evaluate, propose rholang contracts and also a Rholang Interactive Learning web application that provides the same features the KYC bot does for discord.

Current work done can be seen in http://rchain-client.herokuapp.com/

Benefit to RChain

  • Developers have a pool of resources in form of tutorials/courses to learn how to code rholang, run RChain nodes.

  • Practice based learning since editor is present in tutorial notes.

  • Provides terminal for users to deploy, eval, propose on the web

Budget and Objective

These documents provide more information regarding the objectives, features and budget https://docs.google.com/document/d/1QmFvXHiHPNnRG6fFYEprW8vUNj5nAhKk76Pjmo_JE-s/edit#heading=h.as073axq3bc1 https://docs.google.com/document/d/1Rljnm8EPnU5R9NsXfaYMEsNxt-DLQza6N35QdNH_6qU/edit#

Estimated Budget of Task: $[See document] Estimated Timeline Required to Complete the Task: [September-October] How will we measure completion? [Hosted on a production server]

See CONTRIBUTING.md for details on budget and reward process.

Legal

Task Submitter shall not submit Tasks that will involve RHOC being transacted in any manner that (i) jeopardizes RHOC’s status as a software access token or other relevant and applicable description of the RHOC as an “asset”—not a security— or (2) violates, in any manner, applicable U.S. Securities laws.

David405 avatar Sep 30 '18 13:09 David405

This issue is too broad in scope. Marketing is interested in example dapps, I would support them. We will need several more similar to https://github.com/JoshOrndorff/nth-caller-game or https://github.com/JoshOrndorff/Rchain-Status/ and they can range in complexity up to RSong. You may be able to spin off other ideas from that site into specific actionable issues too, but marketing can't sponsor an entire new website. Let's create quility content that can be worked into existing websites.

JoshOrndorff avatar Oct 03 '18 23:10 JoshOrndorff

@David405 has been in touch with the solution group and Ned and he has given it a thumbs up and agreed to sponsor the issue.

Valentine-Mario avatar Oct 03 '18 23:10 Valentine-Mario

And the idea of this is issue is to educate more people on how to use rholang in building dApps. Allowing them to test codes they learn in the video right there on the application. I feel this issue interest aligns with that of RChain which hopes on getting more people build DApps with Rholang because the best form of learning is visual learning.

The website also has an extra feature. Each video has accompanied with it a transcript that users and download and look through. I feel it's a good way to encourage and grow the Rchain technology

Valentine-Mario avatar Oct 04 '18 00:10 Valentine-Mario

Great initiative! Just want to make sure you don't create content that is already done.

The following objectives are already covered in the website user guide (we are waiting for node 0.7 before it's gets published):

  • RNode setup on a local linux machine.
  • RNode setup on a cloud machine.
  • RNode docker setup for macbook.
  • RNode docker setup for windows.
  • Working with repl, eval, deploy and propose.
  • Write your own rholang dApp.
  • Configure your rnode using rnode.toml.

Please tell us how the following is different from Joshy's tutorial and https://developer.rchain.coop/tutorial/

  • Rholang programming essentials.
  • Rholang for dummies.
  • Learning advanced rholang.
  • Rholang smart contracts.
  • Rholang transaction processing ( Smart contract use case)

ddayan avatar Oct 04 '18 06:10 ddayan

Also please tell us where this new content will be published

ddayan avatar Oct 04 '18 06:10 ddayan

@ddayan I don't think you understand the issue properly. This is a video learning platform. It also allows users to comment and ask questions on issues they have on every video tutorial they watch. Not only that, they also get to test the rholang codes as they watch how it is done in the video tutorial. It is much more immersive and gives a hands on approach to rholang and rnode.

The content would obviously be published on the application.

Valentine-Mario avatar Oct 04 '18 06:10 Valentine-Mario

So we can actually show users how to apply the user guide since many people don't have the patience of reading documentation which is a reality with many development communities.

Valentine-Mario avatar Oct 04 '18 06:10 Valentine-Mario

Ah ok something like http://railscasts.com right? I just misunderstood it because of the "interactive part". Anyway I would like to suggest 2 things:

  1. build it for mercury release. The current content you will create will need to be changed soon and redoing the videos will cost a lot.

  2. Don't do all or nothing. Create 1 or 2 videos first to make sure people are happy with the quality and content and to make sure it's aligned with the expectations.

ddayan avatar Oct 04 '18 07:10 ddayan

I think that we can create contents now to get more people hand on with rholang because Greg has charged us to get our hands dirty with rholang. This could also be a way to outreach to get more people find bugs, or contribute to Rholang core dev.

Valentine-Mario avatar Oct 04 '18 07:10 Valentine-Mario

"So we can actually show users how to apply the user guide since many people don't have the patience of reading documentation which is a reality with many development communities." Those are not the same people who would "find bugs, or contribute to Rholang core dev."

ddayan avatar Oct 04 '18 08:10 ddayan

That is simply a speculation. People have different learning paths and visual has proven to be the most effective.

Valentine-Mario avatar Oct 04 '18 08:10 Valentine-Mario

Your reasoning is speculative as well. I'm talking from experience so that's what I base my assumptions on. If we want to avoid speculations then the measurable objectives should be "X number of core devs will be on-boarded through the platform."

ddayan avatar Oct 04 '18 09:10 ddayan

My involvement in this issue has been zero. The document, colab channel and budget sheet were created without my engagement. This exhibited a fully decentralized outgrowth of the colab.

The value created is an educational framework for interactive learning. I am quite impressed with the direction it is taking. The framework enables learning in a proven manner with video, interaction, and "try it now" functionality. It is especially good for beginners. The lessons offered in the initial page are indeed quite relevant and worthy in my view of content development, particularly dApp @JoshOrndorff.

I do have concern about potential redundancy in content development. Cooperation on content is a great challenge going forward. However, that is independent of the value created thus far.

Is there a better existing framework for lessons in this format. Is there a reason to not use this interactive lesson format? Do we have a good reason to not use the framework developed here?

I suggest a non-zero budget for the value created and a commitment to guide courseware development going forward @JoshOrndorff @dckc @ddayan @deannald. I suggest this effort in the colab provides a good opportunity for members to cooperate on developing RChain education. The framework developed seems to be good enough to use. Throwing it away would be wasteful in lew of something better.

jimscarver avatar Oct 07 '18 14:10 jimscarver

I'm not fundamentally opposed to this effort, my feedback was just that it is too broad in scope. I would sponsor some of the proposed projects.

The "framework" itself appears to just be a basic web template.

I completely agree that "try it now" is a good way to go.

I have already sponsored a few example dapps and similar issues under the developer education label, but I won't sponsor such a large general project until it has been demonstrated that smaller more bite-sized bounties can be accomplished.

If you want a more self-guided bounty that I have sponsored, check out #996

I'm not trying to discourage anyone from building this project if they are passionate about it. I am clearly and definitively saying I won't sponsor it.

JoshOrndorff avatar Oct 10 '18 18:10 JoshOrndorff

Basic web template??? Sorry but I wrote the API using express JS and the client side was done with React JS. This is not some template like WordPress or something.

And I still don't think you went through the link to the doc David posted. The idea of this web app is to educate people to write rholang and run and RNode that's why we have the rchain.cloud incorporated and would put an rnode repl in the future. I'm sorry but your comment is actually discouraging to the project.

Valentine-Mario avatar Oct 10 '18 19:10 Valentine-Mario

@Valentine-Mario I suppose you re-opened this to follow up on your Oct 3 comment:

@David405 has been in touch with the solution group and Ned and he has given it a thumbs up and agreed to sponsor the issue.

dckc avatar Oct 10 '18 19:10 dckc