What does software development look like as part of a home ec practice?
That’s the vibe I get from Maggie Appleton’s essay on “Home-Cooked Software” (h/t to Jake Meador of Mere Orthodoxy for flagging this for me). Appleton is interested in how AI programming tools could make building software a casual, cheap endeavor, and thus accessible to a wider range of developers (who don’t think of themselves as developers) interested in solving small-scale local problems.
Early in her presentation, she points to what Clay Shirky called situated software:
He painted a vision of applications that could be used by dozens of users rather than thousands or millions. This is an absurd target population both then and now.
The dream was that communities would get very form-fit tools for their particular needs, rather than trying to adapt generic software to solve them.
A number of thoughtful people work in this space. Alan Jacobs is a writer who is very thoughtful about how he connects the pipes and tools that let him write without being swept away by the internet maelstrom. (And then, appropriately enough, receive his missives via my RSS reader Feedly).
Appleton approvingly cites Robin Sloan’s homebrew family photosharing app, whose only users are his own family:
The app is a “magic window” that captures photos and videos and shuttles them around. Messages wait in a queue and, once viewed — always full-screen, with no distractions, no prods to comment or share — they disappear. That is literally it. The app has basically no interface. There’s a camera button and a badge in the corner, calm green, that indicates how many messages are waiting.
What excites Appleton about the advent of AI coding assistants is the chance that building a light, limited user app like this could be much more accessible to people who don’t think of themselves as programmers.
Without an expectation you can get under the hood and build what you need yourself, you’re dependent on whomever thinks they can profit from your need. That’s not intrinsically bad—I don’t resent my grocery for selling me food! But it is a reason I picked an RSS reader I could pay for with money rather than paying by having my attention sold to advertisers.
I’m much further out on the “comfort with programming” spectrum than the median person. I’ve coded in Java, Python, Scheme, R, STATA, SPSS, and possibly some others I’ve forgotten. But, for the most part, they were toy problems for class. I’ve only picked up code to solve a problem a couple times—mostly for data journalism or Project Euler.
When I’ve wanted to solve a problem related to how I use my computer and phone, I’ve more often turned to If This Then That, a service that sets up domino chains where an action here triggers a reaction there. But everything goes through pipes you don’t control yourself, and Appleton hopes that AI coding assistants can let you build tools you own, that keep your data local and private.
Anything that lets us think about our software and our computers as tools we can alter offers us an invitation to ask tools about how we’d like them to be different. Once I can opt out of a total, locked down system, I can ask where I’d like to add friction and how I want my tools to shape me as a user.
Appleton’s post reminds me I should take another look at building the tool I’ve wanted for a long time, but have not gotten over the new programming tools hurdle to actually build (esp with an expanding family).
I’d like to write a Chrome extension that delays opening certain webpages (like Twitter) and shows an interstitial page for 30 seconds or so, with a randomly chosen prayer intention from a list I can edit.
It sounds like that’s definitely something I should be able to snap together from well understood code snippets, but brief, casual poking around hasn’t gotten me there. I’m curious if Copilot will.
This is cool. I want to use my phone without being notified all the time. Right now I have my phone set so I can hear it if someone calls, and I can hear my husband texting, but everything else is silent. But then every now and then I get a notification from a messaging app that says "hey! Your notifications are off! Tap here to turn them on so you can stay up to date!" and I'm like... you don't understand why I turned them off, do you? My friend reminds me that any attempt to not be addicted to tech is an uphill battle because it's *designed* for addiction. It's hard to detach, but it's not because you're a bad person.
I also want to give my kids a screen where they can tap a picture/icon of a book, and then listen to it (with headphones). And there's no nonsense on it, no games, no notifications, no flashy animation. I want it visually as boring as possible, and I want it not connected to the internet or 5g or anything, except maybe to download/trade book recordings. I could imagine that by default it's not connected, but you can "connect to download" and then it would disconnect when the download is complete. Maybe I'd even make my own recordings of their books! This would be for long rides in the car.
At times I’ve thought of writing myself an application to optimize grocery inventory and meal planning according to my own particular system, but when it comes down to it, I like the lightweight and almost infinitely flexible nature of pen and paper and my own brain. I think it’s a case of this phenomenon: https://xkcd.com/1319/
And I think this is a prime example of my main beef with AI, too—no amount of “easy-to-use” “tools” can substitute for deep experiential knowledge of a particular problem and the methodical habits of mind with which to solve it. I’m skeptical that drag-and-drop programming tools will help folks who haven’t been shown at least a little of what’s under the hood to understand what they’re working with. But I am definitely a bit of a curmudgeon in this regard.