Been thinking today about “handoff mechanisms” and...
# thinking-together
o
Been thinking today about “handoff mechanisms” and how they're essential in networking/communications infrastructure, but we don't have a similar notion in software (that I know of). This came up while working on an Obsidian plugin to replace the built-in “graph view”. One of the design constraints was that it handles different scales appropriately, from deterministic approaches at small scales -> physically simulated at medium scales -> probabilistic/heuristic at large scales. I didn't want there to be any modes and I wanted there to be consistent observed behaviour, so I started referring to this as “pixel-perfect handoff”. It's made me wonder what else there is to explore here. Imagine interface systems that are able to switch backends without you noticing; tools that can be “dragged” into other software which appear to continue uninterrupted; data transformations switching to faster approaches when the context allows. What other examples might there be? Where else could this idea go? What infrastructure could be developed? Is this just another lens on interoperability, or something else?
s
This is a compelling kernel of a thought undoubtedly. IMO there’s a bigger discussion here around how rarely design + UX is factored in when general protocols are designed & agreed upon. In some ways, it’s hard (e.g. the email protocol was designed in a day and age where the GUI wasn’t really a thing / key factor). As a tangent — in my day job, I work to support a popular open source project that has a large GUI footprint (that’s also open source) and unsurprisingly the discussions around what to change are driven primarily by engineers oriented towards implementation details. Designers aren’t usually empowered to participate in the open source change management process and many engineers don’t have design skills of their own (it’s a deep separate skill / field so no surprise there!). I know @Cole has done some thinking here for https://blockprotocol.org/ that feels related to this discussion
g
do you mean switching backends services. I live by this diagram.
🧠 3
a
Not sure it's precisely the same, but it reminds me of when I was trying to figure out how to mix procedurally and manually generated content. For instance trying to generate a map with a broad outline of terrain, plains here and mountains there, perhaps going into detail on a specific mountain pass that must be just so for your story to work, but leaving the rest up to the generator. That midpoint displacement algorithm or whatever that drives your mountains needs to plan to meet up with your finely specified terrain even while it's still roughing out where the peaks are going to go.

https://en.m.wikipedia.org/wiki/File:Animated_fractal_mountain.gif