This is nice, it explains why you were asking how to build a similar service as Ellie on Slack: it’s to power your interactive blog post!
I enjoyed it, but some critical feedback:
- Usually, when I am reading an instructional blog post, I don’t expect have to “do work”. It was not at all clear to me that I had to type things into the input boxes
- That leads me to the next piece of feedback: the styling of your blog post is quite lacking. I’m certainly no professional designer, but there’s no good indication that I’m supposed to interact with things and what the outcome is. And there are three types of interaction, none of which is explained:
- Implement a full function which gets compiled (inputs with “Compile”)
- Implement a partial Elm syntax (the
Maybe.
andTuple.
) - Implement a valid Elm expression that replaces the
???
- It’s unclear which input replaces which
???
in the code block itself.Also, the fact that the code block and the input aren’t visible in the same view means I have to constantly scroll up and down to see what’s going on. Perhaps consider allowing changing the code block inline (i.e. make the???
editable directly), or place the code block side-by-side (horizontally) with the prose? The latter suggestion wouldn’t work well on mobile devices, though. - Compile times are insanely slow, but I know you’ve mentioned in the first post that this is something you’re looking to address.
Love to see where you take this, it’s really quite amazing!
P.S.
I don’t know of any other blog post like this, but there’s a somewhat similar concept was explored/described by Bret Victor called “Reactive Document”:
https://web.archive.org/web/20210315043141/http://worrydream.com/ExplorableExplanations/#reactiveDocument
(Unfortunately his website is down, so I had to link to an archive.org link)