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.
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/)
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.
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.
> It seemed that he'd learned some very important lessons and had undergone quite the transformation.
"Becoming Steve Jobs" by Brent Schlender and Rick Tetzeli deals with exactly this theme of his personal growth and learning. I got far more out of it than Isaacson's book and would recommend it over Isaacson to anyone interested in reading a Jobs biography.
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.
Does anybody remember the old Manhunter games from Sierra? They used a very similar idea of replaying a timeline multiple times to track a bunch of suspects as they interacted throughout an event. What was a clever but abstract sci-fi game mechanic has suddenly become reality.
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.