I’m currently putting together a coding and hacking tutorials site using the Phoenix Framework and was wondering if there’s demand for interactive Elixir tutorials, as I noticed there aren’t too many available at the moment, at least not that I could find.
So, I’m thinking I’ll probably implement a few myself but I was wondering: what kind of things do people here look for in coding tutorials? Also, I’m looking at probably implementing a free to use, costs to skip ahead model, where people can either play through tutorials in order, or pay to skip forward to move advanced material. Do people think this is ok? The Elixir/Phoenix community have helped a lot here – more than I could reasonably expected to be honest, and that makes me want to give something back, but I also have bills to pay :/.
Any thoughts very much appreciated. I’m hoping I can make something of real value to the Elixir community.
Also, any book recommendations that aren’t too expensive for advanced Elixir would be welcome.
It always depends on how you define interactive.
I did some for other languages back in the days, many of them were watching a video and typing code from a paused picture to progress. This is not the way I like them.
Then I did some which explained stuff on a panel to the left, with collapsable sections which get into more detail and clickable links. Also they contained an exercise which you were able to solve in a editor to the right. I liked this approach, as I really alolowed it to do the exercises on my own pace.
A thing which I really disliked with all of these courses I’ve done (paid and unpaid), there was never a call for help button. When I was stuck, I had to do google for solutions or ask at an appropriate SE. Often I just copied solutions without understanding it. Not learning a thing then…
But I’d be eager to try interactive stuff for elixir as well, especially if it talks not only about the language but the concepts as well (message passing, OTP, etc)
Thanks NobbZ! I hadn’t thought of implementing a call for help button but I definitely will now.
Currently the plan is to do panel to the left, editor to the right type thing with some multiple choice questions and some practical tasks. I wasn’t going to make the sections collapsable but will now. I don’t have the resources to do videos and I always tend to go straight to practical application stuff myself anyway.
The one thing I’m thinking about is with my current skill level the tests for passing are just likely to be “did you type the exact code I thought you’d type?” or “did you get the ‘correct’ answer?”, both of which are a bit limiting, but I’ll learn as I’m teaching, as it were (my parents were both teachers).
Also useful to know people really care about the conceptual stuff. I’ll make sure to include that too once I get chance.
Thanks for the feedback!
Do not do this!
Compile it in a sandboxed environment (e.g. docker) and run proper
ex_unit tests, perhaps even property based tests using
 docker is not a true sandbox, but at least can filter out most attack vectors.
I can’t afford Docker Cloud and I haven’t quite got to grips with Kubernetes yet. I kind of don’t like to ask for assistance as I tend to work better when I’m in charge of my own vision, but you obviously have more skills than me in some areas if this is something you’re able to do with ease, so if you did want to help with unit tests I might occasionally post with: “I have no idea what I’m doing implementing these unit tests help”. Or if you emailed… I dunno. I hate to talk about financial stuff at the moment but if I’m making even a modest amount of money contributors should get a cut.
I’m in full Elixir learning mode and loving it. My current experience is that a highly interactive web-based tutorials would be beneficial (at least for me) only very early on in learning the language. Beyond learning the basics I would rather follow along a detailed tutorial and build things myself in my own editor, environment, etc… An interactive web environment would be good for things like Elixir koans or easy algorithms/problems to get a feel for the language before someone is ready to fully commit to learning Elixir. Installing the packages on linux is easy, and using IEX is so awesome that I see only a small niche for an online interactive environment.
Depending on your requirements you could also build your tutorials around using the Cloud9 IDE or something similar. Ultimately I feel one of the gaps in the tutorial area for Elixir is how most of them are out of date, or using old versions. A more interesting use case of a website would be a tutorial community that somehow incentivizes updating old tutorials when new versions of Phoenix/Elixir/etc. come out or creating variations with different front-end frameworks and what-not. It’d be interesting to see a bounty system for tutorials that show a workflow or example to doing something.
Good feedback, thanks MrDoops. It’s interesting to know different people’s learning styles and the more I know about what people want the more options I have for growing different parts of my site with regard to Elixir tutorials.