membrane

phronmophobic 2022-02-23T18:00:04.895469Z

One of the design goals for membrane was supporting UI creation via direct manipulation. Membrane has continued to be under active development, and if you're wondering what I've been working on, it's figuring out this piece of the puzzle. GUIs that build GUIs often have a bad reputation because they're usually inflexible and more frustrating than useful. Hopefully, membrane can break the trend. Here's some screenshots of my latest prototype (please excuse the ugly aesthetic). Not sure anyone will be able to tell what's going on, but I can now interactively 1) build views 2) create components 3) use components 4) reuse components.

πŸ’― 1
πŸ”₯ 9
πŸ™Œ 4
genekim 2022-06-14T02:15:55.727289Z

Holy cow, @smith.adriane β€” my jaw is on the floor. How utterly freaking astonishing and amazing. One of the most Bret Victor -like demos I’ve ever seen β€” I had just watched 2012 talk again, and was amazed at what he was had built, and what a pale show most modern dev environments of what he showed was possible. Kudos! PS: I have no idea what you’re trying to build, but whatever you’re doing, keep going! πŸ˜† It’s so good! https://www.youtube.com/watch?v=8QiPFmIMxFc&t=1s

βž• 2
phronmophobic 2022-06-14T19:02:26.705019Z

@genekim, thanks! I haven't watched Inventing on Principle lately. I should revisit it again. > Why are we simulating what a computer would do in our head? Why doesn't the computer just do it and show us.

refset 2022-02-23T18:29:21.942669Z

nice! that looks really impressive πŸ‘

😁 1
refset 2022-02-23T18:31:16.185839Z

interesting to see ~everyone converge on a notebook style interface for doing this kind of thing - have you considered integration with any of the clj notebook-style tooling that exists? are you aiming to tackle that persistence/reproducibility side of things too?

phronmophobic 2022-02-23T18:37:40.677219Z

> are you aiming to tackle that persistence/reproducibility side of things too? Right now, I'm just storing the produced "source" in an edn file. I'm not sure what a good solution looks like yet. If you have any pointers, it's definitely a missing piece for me at this point.

πŸ‘ 1
phronmophobic 2022-02-23T18:39:06.406329Z

Reproducibility isn't an issue (yet) because the tool assumes pure functions everywhere.

πŸ‘Œ 1
Ben Sless 2022-02-23T19:36:16.881749Z

Serialize the edits as a log of events πŸ€”

phronmophobic 2022-02-23T19:45:17.312139Z

> Serialize the edits as a log of events @ben.sless, I'm not sure I follow

Ben Sless 2022-02-23T19:46:41.245889Z

If you save it a as data and incremental diffs (maybe even edit script?) It's fully reproducible

phronmophobic 2022-02-23T19:51:01.060979Z

currently, everything is pure so it's reproducible. the trick with notebooks is that they often allow side effects in the notebook for loading/acquiring data.

phronmophobic 2022-02-23T19:51:43.818499Z

you can make that reproducible just by saving the loaded data, but you usually want some reproducible/structured way to re-execute the side-effecting parts

Ben Sless 2022-02-23T20:00:33.490359Z

You already solved this though, effects are handled but modeled purely. Just add all the effects to the log, too

refset 2022-02-23T20:20:26.488049Z

> If you have any pointers only http://xtdb.com πŸ˜„

😁 1