End User Programming Reading List
Core readings
BONUS docs
see also: pointing at the wrong thing
More background
Things to look into
How data is represented
Reactivity
The composition/relation of interface primitives
Questions that come up
What might be some interesting approaches to programmability or dynamic docs that are less about data manipulation, and more about interpersonal communication / social dynamics? (e.g. rather than changing variables, programming how you want people to share or comment…)
How should we think about the balance and tradeoffs of flexibility vs. clear legible shapes, like leaning strongly into the "document" as framing metaphor rather than a more open-ended app or site-builder?
Are there interesting ways we could use transclusions beyond just like link previews, and make externally sourced data more manipulable? One example might be social profiles or @-mentions that allow you to interact with other people in different ways (maybe with bluesky/atproto!)
Notes
Celine's Notes
Embark
i love embark. it's on some good shit
Celine's Notes
Embark
i love embark. it's on some good shit
Its an interesting learning that the muse style widget board, while good in theory, was ultimately less useful than the simple linear doc format
In looking at this, and in thinking about how i would come to this system in leaflet (ie a leaflet for planning a trip), the hard part is not really in generating the little widgets but in coming up with what i need.
I wonder if i would arrive here organically? It seems like Embark generally has been arrived at organically?
Widgets i think would be useful if they had a less document constrained UI
a widget to pull in flight data
scheduling/timelines for the day (people love to do this in google sheets)
not just points on the map, but also routed (pampam?)
oh! they did do this! you could maybe add multiple stops on the route to show the plan for the whole day?
Its an interesting data syntax thing that they've done here... we will have to do something to store data on these custom components, and we will have to provide some way to change things. It would be incredible to change the data in a data UI and have then change the source code to match it. It sounds... hard to do this bi-directional source of truth...
the data storage is elegant. I wonder if having something similar would be more robust for us as well. We have a like "getVars" which pulls all things "xxx: xxxx" and attributes and values i need to think harder about what exactly this unlocks...
in the recipe usecase... what if in your ingredient sectio you wrote things as "sugar: 20g, flour:100g" and later in your instructions, you could write something like mix sugar and flour" and you hover to see their values. OR "mix [sugar * serving size] and [flour * serving size]" and i could hover to see values based on my serving size. There's something here... maybe.
i guess more importantly, it's important to keep the data elegant so that date and time and other common attributes between widgets are the same, rather than siloed. that way, if i want to combine two blocks in some way, that data is unified.
Being custom for something specific still has some nice pluses like being fairly confident in how things ought to repeat, it maybe makes coordinating the data layer that much simpler.
this also seems like its not end user programmable per say. You couldn't pull your own weather from your favorite weather app for example. Since all the widgets are hand built, it's easier to have a unified data system... right?
The biggest weakness of embark as a consumer product is that its just too complicated. It makes sense for the person who has built this app from the group up, as it holds all the things that they need it to and they know exactly why its there. But it seems like a LOT of features for someone just getting started.
Potluck
Brendan's notes
(full notes in Roam; didn't add here to avoid noise)
Potluck - thoughts / takeaways
Brendan's notes
(full notes in Roam; didn't add here to avoid noise)
Potluck - thoughts / takeaways
I think underplaying the importance of visual interfaces not only for aesthetics but legibility / clarity / interaction affordances
what could make this less about data; more about interactions, communication, publishing, social dynamics, etc.?
very on the personal side of the spectrum vs. something for wider collaboration or public viewing
I'm less excited by computations…the little widgets = dope though
can we go beyond docs vs. apps? like where do "websites" of "networks" or "platforms" fit in?
how can we balance flexibility with scaffolding or boundaries that make it easier to do things? shared / reusable library of patterns is a cool example
to me, clear that the all-text UI is quite limiting…the question is how to make it more composable without being unwieldly?
I'm into the annotation layers + options there!
on what vectors do we care most about versatility? composability?
Engraft - thoughts / takeaways
this is very cool, though many steps + not super intuitive for a new user without e.g. seeing the whole intro video
needs an interactive demo!
also, many steps and the recursive nested stuff can be a bit hard to follow…for now seems better for programmers than typical end-users
the / complete menu seems useful but needs better documentation, both for what each thing does + how they plug together
Embark - thoughts / takeaways
this feels richer + more interesting than the previous one!
still limited in practice, but can see how it'd be extended