The Scope Of The Possible

IMG_20170126_070957

This is a rough draft; I haven’t given it much in the way of polish, and it kind of just trails off. But a friend of mine asked me what I think web browsers look like in 2025 and I promised I’d let that percolate for a bit and then tell him, so here we go. For whatever disclaimers like this are worth, I don’t have my hands on any of the product direction levers here, and as far as the orgchart’s concerned I am a leaf in the wind. This is just my own speculation.

I’m a big believer in Conway’s Law, but not in the sense that I’ve heard most people talk about it. I say “most people”, like I’m the lone heretic of some secret cabal that convenes once a month to discuss a jokey fifty year old observation about software architecture, I get that, but for now just play along. Maybe I am? If I am, and I’m not saying one way or another, between you and me we’d have an amazing secret handshake.

So: Conway’s Law isn’t anything fancier than the observation that software is a collaborative effort, so the shape of large piece of software will end up looking a lot like the orgchart or communication channels of the people building it; this emerges naturally from the need to communicate and coordinate efforts between teams.

My particular heresy here is that I don’t think Conway’s Law needs to be the curse it’s made out to be. Communication will never not be expensive, but it’s also a subset of interaction. So if you look at how the nature of people’s interactions with and expectations from a communication channel are changing, you can use it as a kind of oracle to predict what the next evolutionary step of a product should look like.

At the highest level, some 23 years after Netscape Navigator 1.0 came out, the way we interact with a browser is pretty much the same as it ever was; we open it, poke around it and close it. Sure, we poke around a lot more things, and they’re way cooler and have a lot more people on far end of them but… for the most part, that’s it.

That was all that you could do in the 90’s, because that’s pretty much all that interacting with the web of the 90’s could let you do. The nature of the Web has changed profoundly since then, and like I’ve said before, the web is everywhere and in everything now. But despite that, and the fact that browsers are very different beasts now than they were when the Web was taking its first tentative steps, that high-level interaction model has stayed pretty much the same.

But if the web is everywhere and in everything, then an interaction that involves opening an app, looking through it and closing it again seems incredibly antiquated, like you’re looking out a porthole in the side of a steamship. Even the name is telling: you don’t “browse” the web anymore. You engage with it, you interact with it, and with people, groups and businesses through it.

Another way to say that is the next generation of web browser won’t look like a browser at all: it will be a service.

More specifically I think the next generation of what we currently call a web browser will be a hybrid web-access service; like the current Web, it lives partly on a machine somewhere and partly on whatever device or devices are next to you, and act as the intermediary – the user agent – that keeps you connected you to this modern, always-on Web.

The app model is almost, kind-of-partway there, but in so many ways it makes life more complicated and less interesting than it needs to be. For the most part, apps only ever want to connect you to one place or set of people. Maybe that’s fine and that’s where your people are. But maybe you have to juggle a bunch of different communities in your life across a bunch of apps that go out of their way to keep those communities from discovering each other, and they all seem to want different slices of your life, your time and data depending on what the ad revenue people think is trendy this week. And because companies want to cover their bases you end up with these strange brands-pretending-to-be-people everywhere. It’s a mess, and having to juggle a bunch of different apps and communities doesn’t make a ton of sense when we’ve already got a reliable way of shipping safe, powerful software on demand.

I think the right – and probably next – thing is to push that complexity away from their device, to this user-agent-as-a-service living out there on a serverin the cloud somewhere, just sitting there patiently paying attention. Notifications – a superset of messaging, and the other part of this picture – can come from anywhere and be anything, because internet, but your Agent can decide whether forward them on directly, filter or bounce them, as you like. And if you decide to go out there and get something – a video, a file, a page, whatever, then your Agent can do all sorts of interesting work for you in-flight. Maybe you want ad filtering, maybe you paid for an antivirus service to give that file a once-over, maybe your employer has security protocols in place to add X or strip out Y. There’s lots of room there for competing notification services, agent providers and in-agent services, a marketplace of ideas-that-are-also-machines.

There’s a couple of things that browsers, for all their warts and dated ideas, do better than any app or monolithic service; most of those have to do with user intent, the desire for safety and privacy, but also the desires for novelty, variety and unique humanity. I’ve talked about this before, the idea of engineering freedom in depth. I still think it’s possible to build human-facing systems that can – without compromise – mitigate the possibility of harm, and mount a positive defense of the scope of the possible. And I think maybe this is one way to do that.

(Updated: Typos, phrasing, added some links.)

Even the dedication to reason and truth might, for all we know, change drastically.

The following letter, written by Carl Sagan, is one of the appendices of the “Expert Judgement on Markers To Deter Inadvertent Human Intrusion into the Waste Isolation Pilot Plant” document, completed in 1993.

It’s on page 331, and it hurts to read.

Dr. D. Richard Anderson
Performance Assessment Division
6342 Sandia National Laboratories
Albuquerque,
New Mexico
87185

Dear Dr. Anderson:

Many thanks for your kind invitation to participate in the panel charged with making recommendations on signing to the far future about the presence of dangerous long-lived radioactive waste repositories (assuming the waste hasn’t all leached out by then). It is an interesting and important problem, and I’m sorry that my schedule will not permit me to participate. But I can, in a few sentences, tell you my views on the matter; perhaps you would be kind enough to pass them on to the members of the panel:

Several half-lives of the longest-lived radioisotopes in question constitute a time period longer than recorded human history. No one knows what changes that span of time will bring. Social institutions, artistic conventions, written and spoken language, scientific knowledge and even the dedication to reason and truth might, for all we know, change drastically. What we need is a symbol invariant to all those possible changes. Moreover, we want a symbol that will be understandable not just to the most educated and scientifically literate members of the population, but to anyone who might come upon this repository. There is one such symbol . It is tried and true. It has been used transculturally for thousands of years, with unmistakable meaning. It is the symbol used on the lintels of cannibal dwellings, the flags of pirates, the insignia of SS divisions and motorcycle gangs, the labels of bottles of poisons — the skull and crossbones. Human skeletal anatomy, we can be reasonably sure, will not unrecognizably change in the next few tens of thousands of years. You might very well wish also to include warnings in major human languages (being careful not to exclude Chinese and Arabic), and to attach a specification of the radioisotopes in question — perhaps by circling entries in a periodic table with the appropriate isotopic atomic numbers emphasized. It might be useful to include on the signs their own radioactive markers so that the epoch of radioactive waste burial can be calculated (or maybe a sequence of drawings of the Big Dipper moving around the Pole Star each year so that, through the precession of the equinoxes, the epoch of burial, modulo 26,000 years, could be specified) . But all this presumes much about future generations. The key is the skull and crossbones.

Unless a more powerful and more direct symbol can be devised, I think the only reason for not using the skull and crossbones is that we believe the current political cost of speaking plainly about deadly radioactive waste is worth more than the well-being of future generations.

With best wishes,

      Cordially,

      Carl Sagan

William Gibson Overdrive

From William Gibson’s “Spook Country”:

She stood beneath Archie’s tail, enjoying the flood of images rushing from the arrowhead fluke toward the tips of the two long hunting tentacles. Something about Victorian girls in their underwear had just passed, and she wondered if that was part of Picnic at Hanging Rock, a film which Inchmale had been fond of sampling on DVD for preshow inspiration. Someone had cooked a beautifully lumpy porridge of imagery for Bobby, and she hadn’t noticed it loop yet. It just kept coming.

And standing under it, head conveniently stuck in the wireless helmet, let her pretend she wasn’t hearing Bobby hissing irritably at Alberto for having brought her here.

It seemed almost to jump, now, with a flowering rush of silent explosions, bombs blasting against black night. She reached up to steady the helmet, tipping her head back at a particularly bright burst of flame, and accidentally encountered a control surface mounted to the left of the visor, over her cheekbone. The Shinjuku squid and its swarming skin vanished.

Beyond where it had been, as if its tail had been a directional arrow, hung a translucent rectangular solid of silvery wireframe, crisp yet insubstantial. It was large, long enough to park a car or two in, and easily tall enough to walk into, and something about these dimensions seemed familiar and banal. Within it, too, there seemed to be another form, or forms, but because everything was wireframed it all ran together visually, becoming difficult to read.

She was turning, to ask Bobby what this work in progress might become, when he tore the helmet from her head so roughly that she nearly fell over.

This left them frozen there, the helmet between them. Bobby’s blue eyes loomed owl-wide behind diagonal blondness, reminding her powerfully of one particular photograph of Kurt Cobain. Then Alberto took the helmet from them both. “Bobby,” he said, “you’ve really got to calm down. This is important. She’s writing an article about locative art. For Node.”

“Node?”

“Node.”

“The fuck is Node?”

I just finished building that. A poor man’s version of that, at least – there’s more to do, but you can stand it up in a couple of seconds and it works; a Node-based Flyweb discovery service that serves up a discoverable VR environment.

It was harder than I expected – NPM and WebVR are pretty uneven experiences from a novice web-developer’s perspective, and I have exciting opinions about the state of the web development ecosystem right now – but putting that aside: I just pushed the first working prototype up to Github a few minutes ago. It’s crude, the code’s ugly but it works; a 3D locative virtual art gallery. If you’ve got the right tools and you’re standing in the right place, you can look through the glass and see another world entirely.

Maybe the good parts of William Gibson’s visions of the future deserve a shot at existing too.

Planet: A Minor Administrative Note

I will very shortly be adding some boilerplate to the Planet homepage as well as the Planet.m.o entry on Wikimo, to the effect that:

All of this was true before, but we’re going to highlight it on the homepage and make it explicit in the wiki; we want Planet to stay what it is, open, participatory, an equal and accessible platform for everyone involved, but we also don’t want Planet to become an attack surface, against Mozilla or anyone else, and won’t allow that to happen out of willful blindness or neglect.

If you’ve got any questions or concerns about this, feel free to leave a comment or email me.

Home Coffee Infrastructure

Flight

We can take as a given that good coffee is to pod coffee as good people are to pod people.

Since seasonal sales are making the rounds, I thought I’d tell you about how I make coffee at home. It’s not super-complicated, but I’m very happy with it. Previously, my home coffee-making setup was:

  • Hario Skerton ceramic hand mill and Aeropress for single servings.
  • Cuisinart “Spice & Nut” blade grinder and French press for when I’ve got guests.

I bought the French press at a garage sale for $3, so altogether that setup cost me about $120 Canadian, and reliably made very good, if not world-class, coffee. After a while I found the 5 minutes of hand-powered grinding kind of tedious first thing in the morning, though, so I started looking around.

At one point I bought and immediately returned a Cuisinart coffee grinder; it had more than a few design flaws that I soon learned were common across much of that product category. After I realized that, I took the time to lay out my requirements:

  • No custom and hard-to-clean receptacle for the grinds. In particular, a grinder that won’t work without that specific container inserted just so is out.
  • Set-and-forget on the burr grinder. I’m the only coffee drinker in the house, so I want one button that does the right thing when I push it.
  • Super-easy cleanup. Aeropress cleanup is easier than the French press, but not a lot easier, so I set the bar there.
  • Not ridiculously loud, and
  • Makes excellent coffee.

After some research and patience this is what I’ve settled on, and now I think I’m set for the foreseeable future. I’m using:

So far I’m very happy with this. The Breville meets all my requirements for a grinder; I’m about four months into owning it and consider it excellent value for money.  One nice thing about it is that there’s no intermediate steps; you put the filter in the ceramic dripper, tuck it in under the grinder’s spout and push the button. Once you’ve boiled the water, making the coffee is quick and simple and cleanup could not be easier.

You have to start with excellent whole-bean coffee, clearly, but Toronto is in the middle of some sort of coffee renaissance right now and there are a number (Six? Eight? Maybe more?) of local roasters all doing excellent work, so let your heart guide you.

Some caveats:

  • There’s no difference between Breville’s “Dose Control” and “Dose Control Pro” grinders beyond cosmetics. I’d get whichever’s cheaper.
  • I can’t tell if there’s a difference between the filters I’ve got, but the Hario filters are cheaper. When I run out, I’ll only refill the Harios.
  • It takes a bit of time to dial in your preferences, but five or six seconds of moderately fine grind is a good place to start.
  • There’s a minor design flaw with the Buono kettle, in that if you heat it too quickly it spits water out the spout. Boil on medium-high, not on high.

So, there you go. This is not substantially more difficult than making pod-coffee, but the results are vastly better.

Memories And Palaces

Exploring

This is an old memory, dredged out of the cellar by this Metafilter thread about a Sierra game: The Colonel’s Bequest.

Bequest was a charmingly understated member of the “[Subject] Quest” games lineage, largely forgotten I suspect for the sin of being a character-driven mystery with a female protagonist rather than a puzzles-and-princesses nature excursion. Teenage Me remembers enjoying it. Present-day Me does not remember Teenage Me as a paragon of good taste and sound judgement, true, but let’s put that aside for the moment.

When the Colonel’s Bequest came out, a friend and I in high school were very much into the Sierra games, but we got our selves thoroughly stuck on this one. To my memory this would have been during that magical late-in-the-school-year part of spring time when teachers have given up on the curriculum and would rather just show you old movies. My English teacher – a magnificent old crank, in that particular way that English teachers close to retirement can blossom into magnificent old cranks – decided he was going to show us old Vincent Price horror movies, because why not.

One of those he played for us was The House Of Usher, closely based on the similarly-named Poe story. It’s a classic-in-the-classic-sense horror film; an iconic product of it’s time, though that time hasn’t aged spectacularly well. Apparently the US National Film Registry regards it as “culturally, historically, or aesthetically significant”, though, and if you get a chance to watch it, dated as it seems, you’ll probably agree.

Until then my only exposure to Price had been “The Hilarous House Of Dr. Frightenstein” on PBS, reruns of Price well into his self-parody phase. Despite the fact that even then I could tell there was a joke going on I wasn’t getting, I could talk about that show at great and unreasonably enthusiastic length – its very possible The Professor had a formative influence on my eight-year-old self – but that is not what I am here to talk about.

What I’m here to talk about it how clearly I can remember that moment when the lights came on and both of us knew that we knew how to win the game. Because the architecture of the mansion and surrounding grounds in Bequest, blowing our tiny teenage minds, was very strongly influenced – straight-up cribbed, in some places – from the architecture of the eponymous House and its grounds in that movie. next time we played the game together we quickly found the hidden doors and switches exactly where they were in the movie, opening the way to the same secret passages; we moved quickly through to the conclusion of the game, and that was it.

I haven’t thought about that moment or that game in 25 years; it surprises me that this newfound ability we have to revisit the specific stimulus of our youth can feel like being ambushed by a choice between nostalgia and introspection. I can remember a few pivotal moments in my life like that, where can remember learning something, making a choice, and knowing that I was different person on the far side of it. There must have been a lot of them. Maybe this is one of them? I’ve had an interest in secret passages and video game architecture for a really long time; I wonder if that’s where it started.

Seems plausible.

Modernity

Modernity

For no particular reason, here’s a picture of a computer with a 1.3Ghz processor, 2 gigabytes of RAM, 32 gigabytes of solid-state internal storage and another 32 gigabytes on a MicroSD card, wifi, bluetooth and HDMI video output plugged into a standard 3.5″ floppy drive that would store 1.44MB, or approximately 0.002% of 64 gigabytes.

When you account for inflation, at the time of purchase the floppy drive was about $20 more expensive.

Switching Sides

Toronto Skyline

I’ve been holding off on a laptop refresh at work for a while, but it’s time. The recent Apple events have been less than compelling; I’ve been saying for a long time that Mozilla needs more people in-house living day to day on Windows machines and talk is cheaper than ever these days, so.

I’m taking notes here of my general impressions as I migrate from a Macbook Pro to a Surface Book and Windows 10.

I’ll add to them as things progress, but for now let’s get started.

  • I don’t think highly of unboxing fetishism, but it’s hard to argue against the basic idea that your very tactile first contact with a product should be a good one. The Surface Book unboxing is a bit rough, but not hugely so; there’s the rare odd mis-step like boxes that are harder than necessary to open or tape that tears the paper off the box.
  • I’ve got the Performance Base on the Surface Pro here; the very slight elevation of the keyboard makes a surprisingly  pleasant difference, and the first-run experience is pretty good too. You can tell Microsoft really, really wants you to accept the defaults, particularly around data being sent back to Microsoft, but you can reasonably navigate that to your comfort level it looks like. Hard to say, obvs.
  • I’m trying to figure out what is a fair assessment of this platform vs. what is me fighting muscle memory. Maybe there’s not a useful distinction to be made there but considering my notable idiosyncrasies I figure I should make the effort. If I’m going to pretend this is going to be useful for anyone but some alternate-universe me, I might as well. This came up in the context of multiple desktops – I use the hell out of OSX multiple desktops, and getting Windows set up to do something similar requires a bit of config twiddling and some relearning.The thing I can’t figure out here is the organizational metaphor. Apple has managed to make four-fingered swiping around multiple desktop feel like I’m pushing stuff around a physical space, but Windows feels like I’m using a set of memorized gestures to navigate a phone tree. This is a preliminary impression, but it feels like I’m going to need to just memorize this stuff.
  • In a multiple desktops setting, the taskbar will only show you the things running in your current desktop, not all of them? So crazymaking. [UPDATE: Josh Turnath in the comments turns out that you can set this right in the “multitasking” settings menu, where you can also turn off the “When I move one window, move other windows” settings which are also crazymaking. Thanks, Josh!]
  • If you’re coming off a Mac trackpad and used to tap-to-click, be sure to set the delay setting to “Short delay” or it feels weird and laggy. Long delay is tap, beat, beat, response; if you move the cursor the action vanishes. That, combined with the fact that it’s not super-great at rejecting unintentional input makes it mostly tolerable but occasionally infuriating, particularly if you’ve got significant muscle memory built up around “put cursor here then move it aside so you can see where you’re typing”, which makes it start selecting text seemingly at random. It’s way  better than any other trackpad I’ve ever used on a PC for sure, so I’ll take it, but still occasionally: aaaaaaargh. You’re probably better just turning tap-to-click off. UPDATE: I had to turn off tap to click, because omgwtf.
  • In this year of our lord two thousand and sixteen you still need to merge in quasi-magic registry keys to remap capslock . If you want mousewheel scrolling to work in the same directions as two-finger scrolling, you need to fire up RegEdit.exe and know the magic incantations. What the hell.
  • It’s surprising how seemingly shallow the Win10 redesign is. The moment you go into the “advanced options” you’re looking at the the same dialogs you’ve known and loved since WinXP. It’s weird how unfinished it feels in places. Taskbar icons fire off on a single click, but you need to flip a checkbox five layers deep in one of those antiquated menus to make desktop icons do the same.  The smorgasbords you get for right-clicking things look like a room full of mismanaged PMs screaming at each other.
  • You also have to do a bunch of antiquated checkbox clickery to install the Unix subsystem too, but complaining about a dated UI when you’re standing up an ersatz Linux box seems like the chocolate-and-peanut-butter of neckbearded hypocrisy, so let’s just agree to not go there. You can get a Linux subsystem on Windows now, which basically means you can have Linux and modern hardware with working power management and graphics drivers at the same time, which is pretty nice.
  • Pairing Apple’s multitouch trackpads with Windows only gets you one- and two-fingered gestures. C’mon. Really?
  • This is a common consensus here, after asking around a bit. Perplexity that Microsoft would put an enormous (and ultimately successful) effort into re-pinning and hardening the foundations underneath the house, recladding it and putting in an amazing kitchen, but on the 2nd floor the hinges on the wrong side of the doors and there’s a stair missing on the way to the basement.
  • I’m not surprised the Windows Store isn’t the go-to installer mechanism yet – that’s true on Macs, too – but my goodness pickings there are pretty slim. Somehow I have to go visit all these dodgy-looking websites to get the basic-utilities stuff sorted out, and it feels like an outreach failure of some kind. This is vaguely related to my next point, that:
  • The selection of what does vs. doesn’t come preinstalled is… strange. I feel like Microsoft has space to do something really interesting here that they’re not capitalizing on for some reason. Antitrust fears? I dunno. I just feel like they could have shipped this with, say, Notepad++ and a few other common utilities preinstalled and made a lot of friends.
  • The breakaway power cables are fantastic. A power brick with fast-charge USB built in and freeing up slots on the machine proper is extremely civilized. You can be sitting with your legs crossed and have the power plugged in, which I sincerely miss being able to do with underpowered 1st-gen Macbook Air chargers back in the mists of prehistory.
  • The Surface Dock is basically perfect. Power, Ethernet, two DisplayPorts and four USB ports over that same breakaway cable is excellent. If you’ve ever used a vintage IBM Thinkpad docking station, this is something you’ve been wishing Apple would make for the better part of a decade.
  • I assumed “Skype Preview” was a preview version of Skype. I wanted (and pay for) the whole thing, so I immediately uninstalled that and installed normal Skype, which it turns out is really outdated-looking and ugly on Win10. I was bewildered about why a premiere Microsoft-owned thing like Skype would look ugly on their flagship OS, so I did some research and discovered that “Skype Preview” isn’t a preview version of Skype. It’s the prettified modern Win10 version. So I reinstalled it and uninstalled Skype. I’m sure this is somehow my fault for not understanding this but in my defense: words mean things.
  • This hardware is really nice. The hinge works great, eject to tablet is crisp and works well, reversing it to the easel setup is both surprisingly good and for-real useful.

Anyway, this is where I am so far. More notes as I think of them.

Update:

  • Definitely turn off the two-finger-tap-to-right-click option – if you don’t and you’ve got fat hands like mine, sometimes it will get into a state where everything is a right-click, which is inexplicable and upsetting.
  • I saw my first tripped-over USB-C cable send a Macbook crashing to the floor today. I suspect it will not be the last.

Further updates:

  • It turns out there’s a (baffling!) option to turn a click on the lower right corner of the trackpad into a right-click, which is just super-weird and infuriating if you don’t know it’s there and (apparently?) turned on by default.
  • The trick to reversing mousewheel scrolling only is here, and involves RegEdit, finding all the instances of FlipFlopWheel in the registry under HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID\ and changing them from 0 to 1. Very user friendly.
  • A lot of network-related stuff in the Unix subsystem doesn’t work right or at all yet, but my understanding is that this is fixed in the Insider builds.
  • A nice as having the Unix subsystem is, the terminal thing you use to get to it is infuriating retro-bizarro DOS-window garbage.  [UPDATE: bwinton has introduced me to Cmder, a console emulator for Windows that is vastly better than the Ubuntu default in every observable respect. Use that instead.]
  • Unexpected but pleasant: CPU in the lid instead of the base means your lap doesn’t overheat.

Further-er updates:

  • A nice touch: searching for common OSX utility names with the taskbar brings you directly to their Windows counterparts, like “grab” brings you to the snippets tool.
  • It’s surprising how often the “how do I do [something]?” links in the Settings dialog box take you to the same undifferentiated and completely un-navigable Windows 10 support page. Really rookie stuff, like they fired the intern responsible three weeks into their placement and just forgot about it.
  • It’s really frustrating how both of those experiences coexist basically everywhere in this OS. Nice, elegantly-deployed and useful touches in some places, arbitrarily broken or ill-considered jank in others.

Further Updates 4: The Furthening;

  • There’s now a Surface Book User Guide, and it’s got some good information in it. For example, fn-del and fn-backspace adjust screen brightness, something I’ve missed from my Macbook. Also, fn-space for screenshots is nice enough, though the provided snipping tool is better (better than OSX Grab, too.)
  • You can use AutoHotKey scripts to remap what pen-clicking does, turning it into a passable presenter’s tool. Which is kind of neat.

Finally, one of the most upsetting things about Windows 10 is how power management just doesn’t reliably work at all. There’s no safe-sleep; running out of battery means state loss, potentially data loss, and a cold reboot. I’ve had to set it to hibernate on a lid closed because sometimes suspend just… doesn’t. Before I did that, I’d put it into my bag with the lid closed and it would mysteriously wake in my backpack, once hot enough that it was uncomfortable to touch. Despite the fact that my unmodified default settings say “critical power level is 6% and the action to take here is hibernate”, I routinely see 4%-power-remaining warnings and then hard shutdowns, and if I’m not careful hard reboots afterwards. Honestly, what the hell.

Last update: Well, this is unfortunate:

IMG_20170207_172319

Postmortem: Still like Windows 10, but after putting up with that screen yellowing and an increasing number of baffling hangs (and the discovery that the backup software had been silently failing for weeks), this machine got RMA’ed. I’ll have another one soon; hopefully it was an isolated hardware problem, but I guess we’ll see.

Minimum Viable Basic Human Decency

Bay Eastbound

I’ve been batting this around for a few weeks now, ever since I started drafting Free As In Health Care. I’m not sure where to take it at this point, so I’m going to publish it and see what happens. I’d like to thank a number of my friends and colleagues for feedback with this list, but this is high-tension-wire stuff, so I’m not going to do that here. You know who you are and I’m grateful.

This was inspired by a combination of things, starting with Joel Spolsky’s now-ancient “Twelve Steps To Better Software” post and Atul Gawande’s “Checklist Manifesto”, washed down with a few dozen pages of early automotive and highway safety legislation.

“A score of 12 is perfect, 11 is tolerable, but 10 or lower and you’ve got serious problems. The truth is that most software organizations are running with a score of 2 or 3, and they need serious help, because companies like Microsoft run at 12 full-time.” – Joel Spolsky

One notable part of that early legislation is that for the most part it outlines the minimum standards that must be achieved without specifying how to achieve them; that was left up to the manufacturers’ ingenuity. But those manufacturers needed to prove that they’d met or exceeded all of those standards for that vehicle to go to market.

I believe that we can and should take the same approach to our design decisions about how software treats people. And I think we should be doing that at the very earliest parts of the design and planning stages; like security, like Jobs’ old quote about design, this isn’t a coat of paint you can add later.

To that end, here’s a list of vulnerable user stories. My goal was to end with a preflight checklist developers can quickly run down to give a yes or no (or doesn’t apply) answer to the list of risks or challenges that marginalized and vulnerable people will need to face if they’re navigating a life with this software in it.

This not meant to be comprehensive (or perfect, or finished). All I want to do is set a bar, knowing what we know about social software in 2016. The very lowest bar you have to clear to consider yourself a responsible developer – that is to say, a responsible human being, whose craft happens to be software.

I’ve put them on GitHub, if you want to look at them there.

The Minimum Viable Set of User Stories

  • User changes email addresses
  • User changes physical addresses
  • User is or becomes homeless
  • User changes legal status
  • User changes legal name
  • User changes gender
  • User identifies themselves by a pseudonym
  • User is not always, and/or or not reliably, connected to the internet
  • User does not control the hardware they use to access the internet
  • User is trying to escape an abusive spouse or partner
  • User is trying to escape an abusive family
  • User is trying to escape a cult
  • User is estranged from their family
  • User is managing an addiction
  • User is managing a mental health issue
  • User is targeted for abuse by an individual
  • User is targeted for abuse by an informally organized group
  • User is targeted for abuse by a corporation
  • User is targeted for abuse by a nation-state
  • User is a member of a group or demographic targeted for abuse by an informally organized group
  • User is a member of a group or demographic targeted for abuse by a nation-state

Pageant Knight

Sunset At The Beach

On September 17th, DC “celebrated” what they called “Batman Day”. I do not deploy scare quotes lightly, so let me get this out of the way: Batman is boring. Batman qua Batman as a hero, as a story and as the center of a narrative framework, all of those choices are pretty terrible. The typical Batman story arc goes something like:

  • Batman is the best at everything. But Gotham, his city, is full of terrible.
  • Batman broods over his city. The city is full of terrible but Batman is a paragon of brooding justice.
  • An enemy of justice is scheming at something. Batman detects the scheme, because he is the World’s Greatest Among Many Other Things Detective and intervenes.
  • Batman is a paragon of brooding justice.
  • Batman’s attempt to intervene fails! Batman may not be the best at everything!
  • Batman broods and/or has a bunch of feelings and/or upgrades one of his widgets.
  • Batman intervenes again, and Batman emerges triumphant! The right kind of punching and/or widgeting makes him the best at everything again.
  • Order is restored to Gotham.
  • Batman is a paragon of brooding justice.

If you’re interested in telling interesting stories Batman is far and away the least interesting thing in Gotham. So I took that opportunity to talk about the Batman story I’d write given the chance. The root inspiration for all this was a bout of protracted synesthesia brought on by discovering this take on Batman from Aaron Diaz, creator of Dresden Codak, at about the same time as I first heard Shriekback’s “Amaryllis In The Sprawl”.

The central thesis is this: if you really want a Gritty, Realistic Batman For The Modern Age, then Gotham isn’t an amped-up New York. It’s an amped-up New Orleans, or some sort of New-Orleans/Baltimore mashup. A city that’s full of life, history, culture, corruption and, thanks to relentlessly-cut tax rates, failing social and physical infrastructure. A New-Orleans/Baltimore metropolis in a coastal version of Brownback’s Kansas, a Gotham where garbage isn’t being collected and basic fire & police services are by and large not happening because tax rates and tax enforcement has been cut to the bone and the city can’t afford to pay its employees.

Bruce Wayne, wealthy philanthropist and Gotham native, is here to help. But this is Bruce Wayne via late-stage Howard Hughes; incredibly rich, isolated, bipolar and delusional, a razor-sharp business mind offset by a crank’s self-inflicted beliefs about nutrition and psychology. In any other circumstances he’d be the harmless high-society crackpot city officials kept at arm’s length if they couldn’t get him committed. But these aren’t any other circumstances: Wayne is far more than just generous, but he wants to burn this candle at both ends by helping the city through the Wayne Foundation by day and in his own very special, very extralegal way, fighting crime dressed in a cowl by night.

And he’s so rich that despite his insistence on dressing up his 55-year-old self in a bat costume and beating people up at night, the city needs that money so badly that to keep his daytime philanthropy flowing, six nights a week a carefully selected group of city employees stage another episode of “Batman, crime fighter”, a gripping Potemkin-noir pageant with a happy ending and a costumed Wayne in the lead role.

Robin – a former Arkham psych-ward nurse, a gifted young woman and close-combat prodigy in Wayne’s eyes – is a part of the show, conscripted by Mayor Cobblepot to keep an eye on Wayne and keep him out of real trouble. Trained up by retired SAS Sgt. Alfred Pennyworth behind Wayne’s back, in long-shuttered facilities beneath Wayne Manor that Wayne knows nothing about, she is ostensibly Batman’s sidekick in his fight against crime. But her real job is to protect Wayne on those rare occasions that he runs into real criminals and tries to intervene. She’s got a long, silenced rifle under that cloak with a strange, wide-mouthed second barrel and a collection of exotic munitions that she uses like a surgical instrument, not only to protect Wayne but more importantly to keep him convinced his fists & gadgets work at all.

She and Harleen Quinzel, another ex-Arkham staffer trained by Alfred, spend most of their days planning strategy. They have the same job; Quinn is the sidekick, shepherd and bodyguard of the former chief medical officer of Arkham. Quinn’s charge is also in his twilight years, succumbing to a manic psychosis accelerated by desperate self-administration of experimental and off-label therapies that aren’t slowing the degeneration of his condition, but sure are making him unpredictable. But he was brilliant once, also a philanthropist – the medical patents he owns are worth millions, bequeathed to Gotham and the patients of Arkham, provided the city care for him in his decline. Sometimes he’s still lucid; the brilliant, compassionate doctor everyone remembers. And other times – mostly at night – he’s somebody else entirely, somebody with a grievance and a dark sense of humor.

So Gotham – this weird, mercenary, vicious, beautiful, destitute Gotham – becomes the backdrop for this nightly pageant of two damaged, failing old men’s game of cat and mouse and the real story we’re following is Robin, Quinn, Alfred and the weird desperation of a city so strapped it has to let them play it out, night after dark, miserable night.