0.5.0 - Public Alpha
Pre-releaseThis build represents the state of the app as-shipped for the May 7-9 2021 public test. (Plus a few follow-up fixes and rounded corners.) At time of release, this build delivered 19387 solutions to 1988 unique users. An exciting weekend for me, and I'm thrilled by this result after a year and a half of development.
That said, there is so so so much to do.
Of all the feedback, 'grasshopper on my phone' was the loudest and most frequent. Which I should have seen coming, developing for the web. Mobile was an after-thought, though.
Second, but more expected: performance. Since this was a learning exercise, I rolled all of the graph management code myself. And I learned that dumping everything in one top-level react context is not the way to solve this problem. In five years it may be fun to look back on this and actually identify the (I'm assuming) dozens of memory leaks that cause performance to decrease as the session continues. Much better this time than 0.4.1, not even close to good enough.
Somewhat related: the database usage needs to be reconsidered from the ground-up. Every solution saved every parameter's values to a unique redis key. I got lucky that no one worked too long on large graphs, because there was no cleanup happening and I had to manually flush the database several times over the weekend. The 'fix' in this release is to delete the solution when fetched. But now the graph viewer and the scene viewer, if both open, are racing to get results first.
Because of the reception, I'll be leaving this release online while I work on the next draft. It won't be a total rewrite. There's plenty worth preserving (bee-queue x rhino.compute brushed off traffic spikes like nothing). But all the feedback has shifted priorities and I want to let people keep messing with it.
Looking forward to a silky-smooth and mobile-first 0.6 version. Because then I get to jockey with the social features.