Launch HN: Scrimba (YC S20) – Interactive video for learning to code
We are building an interactive video format for teaching and learning how to code. The main benefit is that students can pause the video and edit the code whenever they want.
We think this is needed is because over 70% of people who are trying to learn to code today use videos. But since videos aren’t interactive, students end up mirroring the instructors’ code line-by-line in their local code editors. This is time consuming, and it often causes problems with local dev environment setup.
Scrimba solves these problems as it enables students to pause the screencast and modify the instructors’ code directly inside the player. So when a Scrimba student feels confused, she jumps into the screencast and plays around with the code (editing, running, debugging) until she’s made sense of it. As a consequence, she learns faster.
Technically, this is possible because we have merged the IDE and the video player into one tool. To understand the technology in-depth, please watch this cast: https://scrimba.com/scrim/cww679T9
The Scrimba format also opens the way for other features that can further enhance the learning experience, like searching inside videos, in-video hyperlinks, audiovisual code feedback from teachers, remote pair programming between students, and more. The more we work with the format, the more of these opportunities we see. So we have decided to use the format as the backbone for an online coding school as we continue to improve it.
After launching a bunch of shorter courses the last couple of years, we launched our first full-degree program this summer. It's called “The Frontend Developer Career Path” and it contains 75 hours of content and 100s of interactive coding challenges. It costs $19 per month and the teachers are well-known instructors like Gary Simon, Cassidy Williams, and Kevin Powell. Students are also paired up in Study Groups, in order to make the online learning experience feel less lonely. So far, over 3000 people from 110 different countries have enrolled.
Here’s a link to the course: https://scrimba.com/learn/frontend
Fun fact: Scrimba is built entirely in Imba, a programming language that our CTO has created. It’s a Ruby-inspired language that compiles to JavaScript, and it excels at creating high-performant web apps. The first version of Scrimba was created because Sindre wanted a better way to teach Imba. You can learn more about Imba here: https://www.imba.io/
75 comments
[ 1.8 ms ] story [ 139 ms ] thread(which I think wasn't available in v1)
Will Imba v2 support partial hydration?
Is this new video format that you developed opensource? Is there a link somewhere where we can learn more about it? Did some research and couldn't find anything.
Thanks!
The language it’s written in is fully open source (created by our CTO, Sindre). You can learn more about it here: https://imba.io
That said, DataCamp had a scandal a few years back and a lot of authors retracted content.
I'll take a look at this.
Imba is kinda of a mix between Svelte and Mithril with a Ruby kind of language. The way you model state without reactivity is brilliant. It makes everything so much simpler.
AFAIK that's a very simple config in all static hosts.
My personal interactions were mostly with Sindre Aarsaether, several years ago. Absolutely brilliant and genuinely caring human being.
I have recommended Scrimba to everyone who's asked me how to learn to code since the first time I tried it.
It will blow your mind the first time you see it, there's no possible better medium for learning and explaining software IMO.
---
Edit: Side note, check out Sindre's work on DOM reconciliation, schedulers, and general performance. The way that Imba was written is incredibly unique for a DOM framework and the render capabilities + performance are absurd. An order of magnitude faster than React/Vue etc.
Also, I seem to recall something about the Scrimba team helping Ives from Codesandbox out with some JSX-parsing black magick for performance.
If you need any help to get started, just ping me at per@scrimba.com :)
My biggest issue with these companies is they don't provide a pathway to go from education to IMO what is truly the hardest part of the process: landing your first entry level position.
I ended up hiring an ex-tech lead / senior dev to mentor my personal development. He helped guide me through the job application process and suggested technical areas for me to strengthen. He gave me tips to increase my visibility to companies, the same ones he did as a junior. I would imagine there's thousands of people who finished some bootcamp/online curriculum and are lost trying to find their first technical job.
I would've loved for a company with a learning platform to help fast-track new graduates to applying to entry level positions especially given the platform acting as a first filter.
For me, I reached a point where I started to feel the limitations of the code editor provided. It became apparent that I was stuck in a learning tool, not a full text editor or IDE. There were just enough of these things that made it unappealing to me. I have been writing software for several years so I do have certain tools that I have become accustomed to using over time. Perhaps for people that don't have affinities for certain debugging tools or code editors this will be less of an issue but it would still be great to have some sort of seamless transition from tutorial to a real project, without just having to copy/paste code.
One other thought I had about it is that to me the usage of Imba to build it was a turn off. I can't remember if there was a specific reason for this or not. It might have been because I was considering what it would be like to contribute to Scrimba and when I found out that JS knowledge wouldn't come in handy I was kind of let down. I can't remember for sure though to be honest.
Last thought here, I found and started to contribute to a VS Code extension that I felt achieved a similar goal to this, called Codio (https://github.com/wix-incubator/codio). Ultimately there was some bug that prevented me from even recording any audio with it, basically making it useless, but I'd love to see something like these things take off.
But, AFAIK most people under 30? will chose a video on youtube over a text (webpage) based lesson at something like 10 to 1 or 20 to 1. Note: I'm pulling those numbers out of thin air, it's just my perception.
It's also possible this is a youtube thing. Click on a single video about how to code something and youtube will start recommending more videos on how to code where as search for how to code something and find an article and your next search will not be randomly recommending more code articles
Speaking of which, I think I would find this horrifying but what if google's search home page worked like youtube so that before you entered your search it showed 20 things it thought you might be interested in based on past search clicks. Scary but it might explain the difference.
No idea you were in YC. Good luck with it!
Oh and the team is full of kind and intelligent people, so that's nice too. Congrats on the launch!
Any courses on frameworks such as ASP.NET, Ruby on Rails or Django would be great. I can see the complexity arising in creating in-browser tutorials involving any backend or framework etc. But I think it will add tremendous value to the platform.
Btw, if anyone thinks that adding backend support to Scrimba sounds like an interesting problem to work on, please let us know (per@scrimba.com) as we’re looking for new developers to join our team :)
Just tried it out for a couple hours, a little feedback on the UI: -After I changed code around, I clicked "play" on the video (mistakenly thinking it would run my code)- of course it resumed the video, and all my code changes/additions were gone. Frustrating for a few times, until I learned my lesson. -After a video finished, I started editing code, but the auto-advance kicked in, moving me to the next video, and ending my code edit.
We’ll make sure to cancel the auto-advance as well if a user starts interacting with the code.
As for DS topics: we’ll first add general backend topics, but DS would be natural to venture into after that.
However, the current version of Scrimba isn’t really tailored for this B2B use-case, as I can imagine you’d want to be able to follow students’ progress and perhaps even get assgnments from them?
RE: exactly, what you call the student metadata metrics and ways to detect who/what/when to reinforce.
Overall I think that this is a great direction. Glad to see others working on it!
You have my eternal gratitude for all your hard work.