Place, Space, Time

This week I am thinking about situated-ness, the relationships we make with others, and our expectations of them. (This newsletter was originally twice as long but I mercifully chopped it in half.)

Duct tape is evidence of failure

e-Friend Dan Hon released a kraken of a Twitter thread criticizing that New York Times article about an AirBnB developer who created a vaccine appointment registration website “for only $50”—presumably what it cost for the hosting and domain registration. I recommend you read it.

Dan works out that if the Times posited a competitive consulting rate for their protagonist’s effort, or even his AirBnB salary, the bill for the two weeks of work it took to get the site online would be in the tens of thousands of dollars, and still be without any kind of service guarantee. It glosses over the fact that the thing that costs the money is an integrated service, not some particular digital asset. The narrative the Times is peddling, Dan argues, is that government spends way too much taxpayer money for IT (not entirely untrue, but that’s a different discussion) when the real story is that the infrastructure was so bad that somebody felt the need to step in and fix it.

In related news, the behemoth community-organized COVID Tracking Project, satisfied that there is finally a functioning government apparatus to pick up the baton, is orchestrating a controlled shutdown. I hope my friends there—indeed everybody involved—get ample chance to rest.

Things (and people) have to be somewhere

I recently (finally) finished How To Do Nothing, by Jenny Odell. It took me considerably longer than it arguably should have, what with me taking long breaks throughout this pandemic to do nothing, albeit not the nothing described therein.

The book is a contemplative complement to the last one I finished, Tim Hwang’s Subprime Attention Crisis (and probably others I don’t feel like I have to read because I Get It Already™). How To Do Nothing is so dense that I’m invariably going to circle back to it over the coming months, but one concept Odell considers that I want to boost right now is bioregionalism.

A bioregion is a distinct, albeit fuzzily-bounded ecosystem of plants, animals, and terrain. If you pay attention, you can detect when you move from one bioregion to another. Cultivating a sensitivity to the bioregion one currently occupies belies an extreme situatedness—not only being in a highly specific place, but also being from somewhere in particular. This ethos lies in stark contrast to the world-is-flat, sort of view-from-anywhere narrative of transnational cosmopolitanism, where one exists only in airports, hotels, pieds-à-terre, and of course, the internet. Indeed in the latter case it is easy to trick yourself into forgetting you are a body occupying a distinct region of space. In so doing one might be inclined to imagine oneself a “temporarily situated transnational”, espousing the values of the ethereal beings who own and operate these virtual environments—who are always one Gulfstream trip away from $WHEREVER—over those of our fellow terrestrials.

More in situated news…

I had the luck of encountering a panel on indigenous data sovereignty, which lit up my receptors because I had independently put together the term data sovereignty a couple years ago to describe an initiative I was trying to advance, which had to do with controlling your information (and information about you) by physically possessing it. Turns out they meant the term in almost exactly the same way I did—in fact they took it out even farther than my own mere strategic considerations, into the realm of rights, invoking the UNDRIP and the TRC.

Aside: one fortuitous side effect of the pandemic is this massive proliferation of live discussion events that you can just jack straight into.

Products of this thinking, by people like Kristine Neglia at the FNIGC and Robyn Rowe at Laurentian, as well as the Global Indigenous Data Alliance, are a handy set of acronyms that encapsulate a useful set of data governance principles:

  • CARE, for collective benefit, authority to control, responsibility, and ethics, itself a complement to the more structuralist

  • FAIR, (by a separate consortium of scientists) for findable, accessible, interoperable, and reusable, culminating in

  • OCAP®, for ownership, control, access, and possession.

I’m going to reiterate that I am pretty confident that Indigenous communities are especially, if not uniquely positioned to comprehend the risks of indiscriminately shoving data into The Cloud™, and are overwhelmingly likely to be key drivers of innovation in issues like access control, federation (that is, protocols for knitting together data from different locations), ephemerality (that is, information that eventually disappears), and just generally knowing where your stuff is and who has seen/can see it. I am going to be repeating this assertion every time I see evidence of it.

Situation also happens in time

Here is a nine-minute video I dashed off the other day that lays out a historical precedent for what I’m calling a specificity gradient, which I’m imagining as a way of organizing project information such that from any vantage point, you can look up toward motivation, principles, and rationale, and down into technical details.

Owning your information is meaningless if you can’t operationalize it. In the process of making software, a subject that is near and dear to me, I have found that the information gathered that yields the decisions that configure the final product tends to get tossed when that product is realized. This I consider to be a grievous mistake.

The reason why I suspect this valuable information goes in the garbage is because it generally lives in Word (or arguably worse, Google) documents, spreadsheets, Powerpoint decks (and their attendant PDFs), Jira tickets, emails, Slack messages, et cetera. Maybe it also exists in comments next to the code, or in a unit test somewhere.

The net effect is that given an arbitrary segment of code, it is extraordinarily difficult to trace why it exists, why it was written the way that it was and not some other way, and how it relates to the mission. Being able to do this is important, because the process in the opposite direction, one of successively adding detail to a description of a process (meta, I know), is exactly how you make software.

Software development is little more than mapping a desired outcome to a precise procedure for achieving that outcome, and as we carry this mapping-out, we successively add detail. These details generally depart from goals and principles and end in technical minutiae. This, I argue, shakes out as a gradient from durable to perishable:

  • Business goals intersect with user goals to define a viable product, service, or offering,

  • User goals project onto user tasks to specify what the user must do to achieve their goals,

  • User tasks are complemented by system tasks which lay out the developer’s obligations,

  • System tasks are detailed by system behaviours that say which side effects are desirable, which are acceptable, and which are neither,

  • System behaviours are specified precisely as code, which is the substance everybody is after.

In private correspondence, Alan Cooper suggested I lose the term “business goals”, which I meant in a very functional sense, like “mission”. I will probably make that change in the next incarnation of this thinking, but I left it as-is to be congruent with the video.

Source code is far and away the most perishable part of the system, but it’s treated as the most valuable because it’s the part that does the work. Effort into the precursor material is only as much as it takes to get to the code, and then it’s locked away in formats that are not (at least conveniently and/or persistently) addressable. I believe this is a terrific waste and I endeavour to do something about it.

What do you need for a specificity gradient? Finely-addressable information resources, rendered in non-proprietary open standard formats. How do you retrofit this onto an organization’s existing information infrastructure? Incrementally, and with lots and lots of forensic effort. I have ideas, and I have some tools, and I’m looking for people who are interested in setting something like this up.

I have now settled on streaming live coding for a couple hours every Thursday evening. I’m currently adapting the Sugiyama graph drawing framework from a fistful of academic papers, as I intend to draw some graphs. Tune in to at 5pm PST if that’s your kind of thing.