It's been forever since I wrote a blog post! This one is a long-time coming on a topic near and dear to many of us (EUP). I propose "end-programmer programming" as a pit stop to the dream of end-user programming, and flesh it out in the context of my current project (Val Town) and experiment (HN Follow). Feedback is much appreciated! ❤️
Thanks @Kartik Agaram@André Terron@Sam Arbesman@Geoffrey Litt for feedback!
11/11/2022, 7:58 AM
Nice write up!
I like the overall concept of end programmer programming ;) however, im not too convinced by the demo. At this moment it’s more of a code generator. I understand that what it generates is easily modifiable in valtown, but shouldnt the app itself be more easily modifiable, instead?
I.e: have one integrated experience instead of a generator?
11/11/2022, 9:27 PM
Is there a container object, like an “app”, in val town? Something that composes a few vals together into a unit, like 2 vals that do scripting, 1 val for persistence, 1 val that does background stuff like emails. Basically like how we think of web apps. I got a little lost trying to figure out with Val what vals were “current” or supposed to be used together. Eg your message queue to send you (steve) messages. What would it mean to fork that code or update the version? Conceptually it seems more like a persistent object than a val. But then the code operating on it does seem like something you would want to package up and version (multiple vals).
11/11/2022, 10:24 PM
These are both really great criticisms! Excited to reply with some thoughts when I have a chance to think on it
@Yousef El-Dardiry I'm not sure if Steve would agree, but my perspective on end-programmer programming (and end-user programming) is that you won't get it if it's priority #2. It has to be priority #1 before concerns like product and UX. Of course those concerns are very important. Without them you don't have anything! But lots of startups do them right and never get to EUP, and that's not my, maybe our, priority.
It's a little like competing with anchors on our feet, but the hope is that the constraint might lead to something more timeless, durable, valuable, meaningful.
Here the web frontend isn't the thing, it's only the thing that takes you to the thing. The thing/goal is something that can be programmed. If the web frontend is too integrated there's less impetus to program, and we learn less about EUP from it. So I'd say some jank in the experience is mandatory. This thing needs to be begging people to improve it for themselves. There should be some very obvious improvements that people can make. And then the experiment is to see if anybody cares.
I'm biased, of course. Val.town built this "app" for me 🙂 It's definitely gotten me programming on it.