bounties
bounties copied to clipboard
Walkthrough video of the nthCaller game
Benefit to RChain
Learners who prefer video tutorials over reading text will have a practical hands-on way to start developing dapps on the platform. Video-makers completing the tutorial will also become more skilled rholang developers and more valuable in the ecosystem.
Budget and Objective
Create a tutorial video that takes a new learner through setting up their developer environment, installing npm, writing the code, testing along the way, making incremental progress, and ending at the desired product. Target either linux or osx and point out when things may be different between the two.
The person or people doing the teaching should expect to run through the tutorial 4 or more times throughout the process to get fully comfortable with it and record a few takes.
The video should be in a style similar to https://www.youtube.com/watch?v=Oive66jrwBs https://www.youtube.com/watch?v=gnsO8-xJ8rs . The production value need not be quite as professional, but should be clear and not at all distracting.
Good check-in points are after the first install, after the rough draft video and at the end.
Estimated Budget of Task: $2500 Estimated Timeline Required to Complete the Task: 2-3 weeks How will we measure completion? 15-30 min video revised draft submitted to youtube and publicized on discord
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.
@JoshOrndorff do you intend to work on this yourself or is it open to someone else?
It's open. I'm on SOW, so if I propose it, it's for you guys to grab. I will help and give feedback along the way as well as do the check-ins I mentioned. Looking forward to seeing the results.
To create a this kind of video, an elaborate transcript needs to be created. I can also assist in doing that.
I agree with @Valentine-Mario. I'd say build the dApp once or twice first (preferably as a team) then write a script. Once that's ready, build it again following the scirpt and recording. Finally build it one last time to re-take any rough spots in the original recording.
I would like to contribute, possibly in building of the transcript.
@David405 Once the "screen recording" is done please send to me and @JoshOrndorff to check @Valentine-Mario if you develop a script, please send to @JoshOrndorff and myself to proof read and try to ensure it lines up with what @David405 may record etc. Thereafter ill do the overall production / Voice over and branding etc etc
Just to clarify, a script should be written before a video is recorded. I recommend the following process.
- Build the project once to get familiar
- Build the project again while writing the script
- Revise the script with my feedback
- Build again while recording
- Reshoot necessary parts with my feedback.
The script is ready. I followed the steps u suggested by building and getting familiar with it while writing the script.
So where is the script?
I've sent it over to @david405
Please post it here so we can all give feedback.
The doc can be found here
@Valentine-Mario and others, I reviewed the document and made some edits as suggestion please go through them and accept, reject or discuss.
I've gone through them @Ojimadu thanks
@JoshOrndorff please read and approve / or edit the script and let me know when you are satisfied?
Thank you for posting the script. I'm excited that we're rolling here! However, I don't have permissions to edit or suggest changes on that doc. Here is my feedback on the first few paragraphs. It should give you a sense of the updates to be made throughout the document.
The opening sentence should be welcoming and explain the exciting things the user can look forward to learning/experiencing during the video. How about something like "Over the next 30 minutes we'll learn how to create a full-stack decentralized application or "dApp" on the RChain platform and deploy it to our own personal testnet." Then you can mention the tools that will be used and show them where they can download and install those tools. It's up to you whether you actually show the process of installing npm, but you need to show how to install RNode, rchain-api, etc because it isn't trivial or documented elsewhere. You might want to say, "If you already have RNode installed skip ahead to 4:35 (or whatever it ends up being).
The second paragraph is pretty good! The game should be demonstrated on screen while reading that paragraph. It may be helpful to actually note in the script (maybe a different color or bold or something) what you're expecting on the screen while reading the script.
You're off to a good start, and I look forward to a few iterations and recording.
Please don't reply by merely saying I have suggest access now. I do need suggest access, but I've also given actionable feedback that is applicable more generally than the first paragraph. Please revise and then I'll give feedback again. Can @jeremybeal11 or someone else with some editorial skills also help revise the copy?
Thanks for the feedback. I've added the extra items you suggested which includes installing rnode on linux and you can now add comments to the doc
Right - where are we with this @Valentine-Mario @David405 @JoshOrndorff ?
I've made a lot of suggestions on the script. We've still got some writing work to do before this can go to production. Remember the video isn't just someone reading what I wrote in the readme. This should actually show the learner how to build the project. You need to be coding in real-time. We're nearly two weeks into this project that I budgeted 2-3 weeks for. Can anyone help Valentine with this transcript? Who plans to make the recordings? Have you gone through a build or two yet? @David405 @owans
@jimscarver You were asking me what colab could work on. Could you help advise this team on how to write higher quality materials. @ddayan Anything to add?
I really want the bounty system to work and I've argued long and hard with the marketing team that it can work. But we need high quality work. This is your chance to show that you can do good work through the bounty system.
i just saw this. I'm in the the now making some edits and suggestions. To everyone involved, can we get this doc done so @JoshOrndorff can finalize it by EOD?
I am done with the video, @sypha999 did the editing, here is the video https://www.youtube.com/watch?v=rEKheMLlNHo&feature=youtu.be, please everyone should watch and give feedback so changes can be made if necessary.
By the way, it is difficult to do a walkthrough tutorial in 15-30 mins, except I wont have to explain the concepts on the way which will defeat the purpose of a tutorial
great work @David405 , - @JoshOrndorff what do you feel about this?
@JoshOrndorff should this be sufficiant - ill proceed to complete the editing etc as per me suggestions to you - keep me posted -
:clap: @David405 This is overall a wonderful video. Great work! I think @Cryptovideos will be able to cut out silences and maybe just speed the whole thing up 10% or something. I agree that it isn't realistic to have this be 15min. But let's aim to get it under 1 hour at least. Then we can promote is as "Write a Full Stack RChain dApp in Under an Hour".
I do have some detailed feedback and improvement suggestions. Some of them are more important than others. Please let me know what help I can provide moving forward.
- I love that you introduced colab and whatnot at the beginning. I suggest having all the links you mention available on the screen and in the show notes.
- We can cut out redundant transition sentences like "Let's move over to what we're gonna learn"
- Why 0.6.3 when 0.6.4 has been out for a month?
- One HUGE thing that's missing is showing the user what they're building before you start building
- rchain API now lives at rchain/RChain-API rather than JoshOrndorff/RChain-API
- @cryptovideos, can you cut out things like the minor misspelling at 9:00 so it flows better? If not it's fine.
- 10:25 Might emphasize that each game that gets created will have its own counthCh and rather than calling it the "default count" call it the "starting count"
- 12:30 writing the new count is not fully indented
- You've used cryptofex without mentioning it before or saying where to get it.
- It's good that you've explained there are multiple ways to get a keypair, but please_lead_ with you should never share private keys, but for now we can.
- Tip for future: When writing your integration test, it might be nice to show the code you're testing side by side
- 27:00 You've just written a sizeable HTML file. You should show what it looks like in the browser, and note that the buttons don't do anything yet. Then you can say, "So let's go add some functionality in javascript"
- 32:12 another great time to show what you've done so far. This is my biggest advice. Regularly check on what you've written to make sure it does what you think, and show the learner what they have accomplished.
- around 33:00 it starts getting pretty confusing because you're calling a REST API that you haven't mentioned or written yet. It may help to show a figure similar to https://joshorndorff.github.io/SFBlockchainWeek-Presentation/#/step-12 at the beginning And it may also be nice to build up the middleware before the UI. That's up to you, but we just need to keep the user oriented.
- Around 41:00 to 41:30 why are the ternary operators split across two lines? Like shouldn't lines 9 and 10 be a single line?
- 50:00 Awesome job finding that mistake and making the learner feel like it's okay to make mistakes. This is a great aspect of the video. @cryptovideos, maybe put a notice on screen when he first made that mistake to help learners not also make it.
- 51:45 Relying on the public infrastructure is beyond the scope here. This project needs to work on a local node. I would be happy to show how you can be a validator on your own local standalone node.
- Did you ever explain what Date().valueOf() does?
- Can you recommend a link to "learn more about promises" for people who don't fully understand them?
- 1:12 You could use more explanation of what blockResults looks like. Can you show that (or at least say) that it's an Array of blocks, and explain what .slice(-1).pop() does? And then explain that the data in the block is also an Array so we use the same trick to grab the last one. Maybe mention that one could also loop through if they wanted to.
@sypha999 @David405 please sort out the above and submit the new version for consideration for us to proceed
@Cryptovideos Some of those bullets are questions for you.
Can you put a notice when a typo first occurred? Can you make cuts at the 9:00 minute mark?
@David405 What are your preliminary thoughts on fixing some of those things. The code definitely runs on 0.6.4, so maybe you can just say you used that version.
To help prioritize, the most important issues are:
- Show what you're building before you start.
- Show what you've built so far as you go
- Don't require ssh access to rhobot.net.
@joshOrndorff I have made the corrections you pointed out in the bullets and sent to @David405
@sypha999 You mean you re-recorded some content? Did you use a newer node? Looking forward to seeing something.
@joshorndorff changing the node version in the video would not be that easy since it will require redoing so many parts
The end product needs to meet the requirements set about by the issue created or it is pointless. i suggest you create the video / record the new parts etc as per @JoshOrndorff suggestions