I’m working on a solution too, called CodeMic [1] where instead of bringing the environment to the web, it brings video and workspace sync into the IDE so viewers can follow along directly inside their own editor.
You’ve done an impressive job integrating everything, including the Console for example, that’s especially tricky to pull off in an extension for VSCode, Emacs, or Vim.
I'm a very strong supporter of interactive blogposts as well. Obviously https://ciechanow.ski/ is leader here - being able to mess with something to build intuition is huge.
The two people I have seen who really master this are Robert Nystrom (Crafting Interpreters) and Casey Muratori (Handmade Hero). But even they are limited by the mediums they use: books and videos, which are not ideal for this kind of guided exploration.
The links are great (people should check them out!)
Anyone who hasn't watched his famous talk from 2012 should watch it "Inventing on Principle" https://youtube.com/watch?v=PUv66718DII
The courses :
https://www.coursera.org/specializations/c-programming-linux
https://www.edx.org/certificates/professional-certificate/da...
I wrote a few papers to explain:
CODECAST: An Innovative Technology to Facilitate Teaching and Learning Computer Programming in a C Language Online Course
https://scholar.google.com/citations?view_op=view_citation&h...
WebLinux: a scalable in-browser and client-side Linux and IDE
https://scholar.google.com/citations?view_op=view_citation&h...
I also have a taskgrader to grade student's codes :
Teaching C Programming Interactively at Scale Using Taskgrader: an Open-source Autograder Tool
https://scholar.google.com/citations?view_op=view_citation&h...
When I first heard about Scrimba, I abandoned my project because I thought you guys would already go down that path. Why didn't you guys go down that route?
That said, our new IDE is built to easily support server-side execution down the line.
The fact that a platform like Scrimba was built using this language and probably only a handfull developers should make you want to learn from someone like that even more!
It's also the only learning platform I've ever recommended where I see people staying and learning more.
When I go to the main website: https://imba.io/
Then click on the "Demo" button
I get taken to the "Playground": https://imba.io/try/examples/apps/playground/app.imba
There is no code on the page but the preview seems to work. Same thing with all of the other examples. They work in the Preview panel, but no code loads at all.
Looking in the dev console I see a few errors:
GET https://imba.io/monaco/min/vs/loader.js HTTP/1.1 404 Not Found
Uncaught ReferenceError: require is not defined
current file did set undefined
Some images and a preflight.css is also not foundHaven't gotten around to it yet, hope it's still relevant :P
Also its css notation is what Tailwind should have been.
Btw you're the Postgres.js author, right?
Yeah, I'm the author of Postgres.js, although it hasn't gotten the tlc it deserved lately cause I've been too busy with another soon to be public project.
“Hundreds of hours?!? With that much time I could learn to play the piano or speak Spanish! Hell, I could learn to code!”
I stumbled across Scrimba on a Reddit thread and signed up for the paid version after a few lessons: it was unlike anything I had tried in the past.
Now I’m able to build basic react apps but I have a much better understanding of what’s going on “under the hood”.
Have you thought about using it to introduce new hires to a codebase?
I am doing plenty of courses across different platforms, from udemy to teachable selfhosting etc. They all lack the interactivity. I am currently hosting the code samples myself and basically redirect students there, where they can interact.
But scrimba is another league!
If you open this up similar to how udemy just hosts videos and does revenue share, count me in. With the webcontainers, the sky is the limit and beyond.
An alternative way is to embed the scrims into your own platform, and have the scrims be unlisted on Scrimba. Would that do?
Why I like Scrimba? The lesson style that forces you to use a blank Page on each exercise means you develop memory for the language. Even more of a plus post LLMs IMO.
Over the years, I've referred many folks asking for what I believed to be the best resources for self-teaching web development to Scrimba.
All the best to you & the team, I'm sure the future is bright.
Is the web preview saved as a video or rendered dynamically? In the case of tscircuit, we run an autorouter in the background so it can be like a slow-loading website with a big project- I imagine doing courses on building games would have a similar problem if there isn’t video capture for the preview.
The preview is rendered live, not video. So with heavy projects (e.g. lots of JS animations), the recording can get large due to the detailed DOM stream.
the product is exclusively for humans. the teacher, i'm not so sure.
We do have rudimentary Python support with the interactivity though. Planning out a course on it these days.
Once you hit "play" again, your changes are reverted and you continue watching the teacher's code.
So the teacher's voice is never on top of your code, as that wouldn't make sense.
Will check out the new course. Keep up the great work!
There's also the Processing tutorial series which is insanely interactive:
Sharing these in the hopes they server as inspiration for anyone who works on educational programming content.
But there are some limitations, as certain HTML elements (like native dropdowns, date pickers, canvas etc) are rendered outside the DOM and thus can’t be recorded.