Seminar this Saturday (Sep 24): Webstrates and malleable software
Added 2022-09-21 01:23:04 +0000 UTCSummary: Join me on Sep 24 from 10-11AM PDT to discuss Webstrates, a research project with striking ideas for making software much more malleable. Please read the 2015 paper before joining; see also its many descendants and a good recent video overview. Bring questions, concerns, noticings!
---
Computing pioneers dreamed of creating personal dynamic media. That word "personal" meant, in part, that individuals could make the computational media their own—could co-opt and cobble pieces like they might with paper or wood. This aspiration is about more than "owning your data". It's about owning the verbs as well as the nouns, about having control over the tools as well as the objects they act upon.
Lots of systems tried to make good on this promise. In Smalltalk, everything's objects and messages between objects. If you like what a button does, you can take it apart. You can make your own weird control which sends that same message. You can edit or subclass the button to change how it looks. You can get a list control from Bob and a pen tool from Mary, then cobble together your own little Illustrator. There are no "apps". There are just arrangements of objects, and you can arrange your own.
Hypercard tried to negotiate similar ideas in a much more accessible setting. OpenDoc and OLE tried more restrictive tactics to reach a broader audience. None of these approaches has worked out. Today's prevalent solutions—one-off plugin systems for competing mega-apps—are arguably a step backwards from OpenDoc/OLE, where at least plugins could be used in multiple host apps.
But that argument makes it seem like this is all about scale and efficiency. For me, at least, that's not it. I want to be unreasonably demanding. I want to find—or make—one very sharp tool for each subtask and reuse it in combination with the other sharp tools I find, without boiling the ocean. We've roughly got this figured out for command line tools (the UNIX philosophy and all), but we never got there for visual interfaces.
---
Enter Webstrates. Webstrates has some powerful ideas about this problem! I want to talk about those ideas and their limitations. But I also want to talk about methods.
Listen, I make a lot of negative comments about academic HCI. But the 2015 paper introducing Webstrates is everything I want to see when I read design research. Klokmose et al crisply take apart the problem, create a conceptual framework for a solution, instantiate those ideas in a very clever implementation, and then play it out in a variety of meaningful case studies.
It's a great example of how powerful it can be when designers communicate in terms of ideas rather than in terms of specific systems. A typical designer's tweets about "their new thinking tool" focus on the tool itself—how easy, cool, powerful, etc it is. It's hard to accrete insight that way.
The Webstrates paper has a totally different stance. It's about the ideas, not about that team's system. It says: "Look, here are all the ways in which this problem is hard. A solution would probably have properties A, B, C. One way to achieve those is W, but that has problems X, Y." It makes a contribution, then equips you to build on it to make another. (Funny analogue there to the personal dynamic media dream…) If we had more work like this, I think we'd make some real progress.
So. Read the paper; maybe watch Klokmose's recent talk. Then come discuss it with me this Saturday! For extra credit, perhaps check out some of its descendants—I particularly recommend the Codestrates papers and "What Can Software Learn from Hypermedia". If you're interested in systems which try to address some of Webstrates' key limitations, see Varv and Philip Tchernavskij's Tangler.
I'll present some opening material to get the ball rolling, then we'll open the floor for discussion.