There were a bunch of interesting aspects to this project. One of my favorite things was developing the user programming model. Organizing your music using functions is very powerful.
My concern, also when building UI with React, is that web design is often only interested in end-state of an interface, playing a bunch of fire-and-forget animations to transition between states.
The reality, that only games and Apple seem to have embraced, is that it's far more sophisticated for animation to reflect a state that can change at 60 or even 120 frames per second, depending on what the user is doing.
It's not a question of browser support, it's a question of infrastructure support. When I was using them years ago, there were a lot of networks which blocked them.
Is it okay to rely solely on websockets these days? I was always impressed by pusher.com's commitment to a variety of fallback protocols (and there are three blog posts about it, see https://blog.pusher.com/how-we-built-pusher20-part-1/)
Big fan of Isaacson's Benjamin Franklin biography, but also did not enjoy his Jobs one. The most interesting part of the story was when Jobs returned to Apple and executed perfectly on everything. It seemed that he'd learned some very important lessons and had undergone quite the transformation. The book doesn't hint at what he'd learned; it just recounts things happening really well. It left so many unanswered questions, and didn't even notice they were there to be explored.
Canvas drawing is fast on platforms where it's hardware accelerated, which has been the case on things like iOS Safari for years now. At least in the past it was also beneficial to make a few optimisations such as drawing to integer pixel coordinates, avoiding special paths for subpixel rendering.
It's open source, and we wrote some technical documentation at https://github.com/code-dot-org/code-dot-org/blob/600ebafa52....
There were a bunch of interesting aspects to this project. One of my favorite things was developing the user programming model. Organizing your music using functions is very powerful.