The Planet Is Safe For Now

This is a followup to this post – The Future Of The Planet – where I said we had four choices about what to do next:

  1. Do nothing; leave Planet as is.
  2. Improve Planet as a Planet.
  3. Replace Planet with something better suited to Mozilla’s needs.
  4. Replace Planet with nothing.

To give away the punchline, we’re going with option two.

I reviewed all the feedback from various places that post ended up – the Mozilla Community discourse forums, HackerNews, Reddit, my inbox, a handful of others – and was delighted to find that it was was generally positive and spoke to Planet’s ongoing relevance. The suggestions for improving the situation were also generally good and helpful, and even the person who accused me of planning to destroy Planet just so that I could put something on my CV that made me sound like a supervillain was worth a laugh.

In broad terms, that feedback was:

  • Planet is the best tool available for getting an overall sense of what all the different parts of Mozilla-the-global-community are up to, and there doesn’t seem to be anything more effective waiting in the wings. Virtually all Mozilla-related news sites or discussion forums are downstream of Planet aggregation in some way.
  • The signal to noise ratio is good enough. Constant vigilance, sure, but good enough.
  • Participatory but also low-effort and easy to skim is a nice combination, and makes it a good tool for an important job. However,
  • Accessing Planet – both as a participant and a consumer – is harder than it has to be in a number of ways. There’s room for improvement, and often new teams or projects feeds’ are overlooked.

With that in mind, I think we can do the following things in no particular order to improve Planet as both a tool and an experience.

  • The most common request was from people who’d rather have Planet show up in their inbox than open another app, so create an email-digest option for people who live in their inboxes.
  • Make a Bugzilla form for adding feeds.
  • Update the page style(s) to something modern and responsive that works well on mobile. Being able to pin more important posts to the top of these pages without disturbing the feeds would be a very nice feature to have.
  • Anoint a feed reader as Planet Mozilla’s reader of choice and point to it from the Planet homepage (along with information like “what is a feed” and “why do I need a reader”, because RSS usability is at an all time exactly where it’s always been.)
  • Possibly do the same for a comments forum? I’m open to suggestions, but it looks like Reddit is where most of that action happens these days. I’m definitely not building a new one.
  • Since new Mozilla projects and feeds pop up periodically, somebody needs to be more disciplined about getting the internal-comms part right. Mozilla team and project feeds should all be syndicated as a matter of course. Call me vain if you like, but I’m pretty confident the “somebody” they’re talking about here is me.

Some of these are more work than others, but I’ll open bugs for the ones that need them the next little while.

Thanks for your feedback, everyone.

Brought To You By The Letter U

Being a global organization, Mozilla employees periodically send out all-hands emails notifying people of upcoming regional holidays. With Labour Day coming up in Canada, this was my contribution to the cause:

The short version: Monday is Labour Day, a national holiday in Canada – expect Canadian offices to be closed and our Canadian colleagues to be either slow to respond or completely unresponsive, depending on how much fun they’ve had.

The longer version:

On Monday, Canadians will be celebrating Labour Day by not labouring; as many of you know, this is one of Canada’s National Contradictions, one of only two to appear on a calendar*.

Canada’s labour day has its origin in the Toronto Typographical Union’s strike for a 58-hour work-week in 1872, brought on by the demands of the British government for large quantities of the letter U. At the time, Us were aggressively recirculated to the British colonies to defend Imperial syntactic borders and maintain grammatical separation between British and American English. In fact, British grammarian propaganda from this period is the origin of the phrase “Us and Them”.

At the time, Canadian Us were widely recognized as the highest quality Us available, but the hard labour of the vowel miners and the artisans whose skill and patience made the Canadian Us the envy of western serifs is largely lost to history; few people today realize that “usability” once described something that would suffice in the absence of an authentic Canadian U.

Imperial demands placed on Union members at the time were severe. Indeed, in the weeks leading up to the 1872 strike the TTU twice had to surrender their private Us to make the imperial quota, and were known as the Toronto Typographical Onion in the weeks leading up to the strike. While success of the Onion’s strike dramatically improved working conditions for Canadian labourers, this was the beginning of a dramatic global U shortage; from 1873 until the late early 1900s, global demand for Us outstripped supply, and most Us had been refurbished and reused many times over; “see U around” was a common turn of phrase describing this difficult time.

Early attempts at meeting the high demand for U were only somewhat successful. In the 1940s the British “v for victory” campaign was only partially successful in addressing British syntactic shortages that were exacerbated by extensive shipping losses due to sunken U-boats. The Swedish invention of the umlaut – “u” meaning “u” and “mlaut” meaning “kinda” – intended to paper over the problem, was likewise unsuccessful. It wasn’t until the electronic typography of the late seventies that U demand could easily be fulfilled and words like Ubiquity could be typed casually, without the sense of “overuse” that had plagued authors for most of a century.

Despite a turnaround that lexical economists refer to as “The Great U-Turn”, the damage was done. Regardless of their long status as allies the syntactic gap between American and British Englishes was a bridge too far; anticipated American demand for Us never materialized, and American English remains unusual to this day.

Today, Labour Day is effectively a day Canada spends to manage, and indeed revel in the fact, that there are a lot of Us; travellers at this time of year will remark on the number of U-Hauls on the road, carting Us around the country in celebration. This is all to say that we’ll be celebrating our labour heritage this upcoming Monday. Canadians everywhere may be seen duing any number of thungs to commumurate this uccasiun: swumming, canuing, guardening, vusuting neighbours, and spunding tume at the couttage

Thunk you, und see you all un Tuesday.

– mhuye

* – The other being the Spring National Resignation, where Canadians repeatedly declare Hockey their national sport while secretly enjoying watching the Leafs choke away another promising start.

Free As In Health Care

This is to some extent a thought experiment.

The video below shows what’s called a “frontal offset crash test” – your garden variety driver-side head-on collision – between a 2009 Chevrolet Malibu and a 1959 Chevrolet Bel Air. I’m about to use this video to make a protracted argument about software licenses, standards organizations, and the definition of freedom. It may not interest you all that much but if it’s ever crossed your mind that older cars are safer because they’re heavier or “solid” or had “real” bumpers or something you should watch this video. In particular, pay attention to what they consider a “fortunate outcome” for everyone involved. Lucky, for the driver in the Malibu, is avoiding a broken ankle. A Bel Air driver would be lucky if all the parts of him make it into the same casket.

 [ https://www.youtube.com/watch?v=joMK1WZjP7g ]

Like most thought experiments this started with a question: what is freedom?

The author of the eighteenth-century tract “Cato’s Letters” expressed the point succinctly: “Liberty is to live upon one’s own Term; Slavery is to live at the mere Mercy of another.” The refrain was taken up with particular emphasis later in the eighteenth century, when it was echoed by the leaders and champions of the American Revolution.’ The antonym of liberty has ceased to be subjugation or domination – has ceased to be defenseless susceptibility to interference by another – and has come to be actual interference, instead. There is no loss of liberty without actual interference, according to most contemporary thought: no loss of liberty in just being susceptible to interference. And there is no actual interference – no interference, even, by a non-subjugating rule of law – without some loss of liberty; “All restraint, qua restraint, is evil,” as John Stuart Mill expressed the emerging orthodoxy.

– Philip Pettit, Freedom As Anti-Power, 1996

Most of our debates define freedom in terms of “freedom to” now, and the arguments are about the limitations placed on those freedoms. If you’re really lucky, like Malibu-driver lucky, the discussions you’re involved in are nuanced enough to involve “freedom from”, but even that’s pretty rare.

I’d like you to consider the possibility that that’s not enough.

What if we agreed to expand what freedom could mean, and what it could be. Not just “freedom to” but a positive defense of opportunities to; not just “freedom from”, but freedom from the possibility of.

Indulge me for a bit but keep that in mind while you exercise one of those freedoms, get in a car and go for a drive. Freedom of movement, right? Get in and go.

Before you can do that a few things have to happen first. For example: your car needs to have been manufactured.

Put aside everything that needs to have happened for the plant making your car to operate safely and correctly. That’s a lot, I know, but consider only the end product.

Here is a chart of the set of legislated standards that vehicle must meet in order to be considered roadworthy in Canada – the full text of CRC c.1038, the Motor Vehicle Safety Regulations section of the Consolidated Regulations of Canada runs a full megabyte, and contains passages such as:

H-point means the mechanically hinged hip point of a manikin that simulates the actual pivot centre of the human torso and thigh, described in SAE Standard J826, Devices for Use in Defining and Measuring Vehicle Seating Accommodation (July 1995); (point H)

H-V axis means the characteristic axis of the light pattern of a lamp, passing through the centre of the light source, used as the direction of reference (H = 0°, V = 0°) for photometric measurements and for the design of the installation of a lamp on a vehicle; (axe H-V)

… and

Windshield Wiping and Washing System

104 (1) In this section,

areas A, B and C means the areas referred to in Column I of Tables I, II, III and IV to this section when established as shown in Figures 1 and 2 of SAE Recommended Practice J903a Passenger Car Windshield Wiper Systems, (May 1966), using the angles specified in Columns III to VI of the above Tables; (zones A, B et C)

daylight opening means the maximum unobstructed opening through the glazing surface as defined in paragraph 2.3.12 of Section E, Ground Vehicle Practice, SAE Aerospace-Automotive Drawing Standards, (September 1963); (ouverture de jour)

glazing surface reference line means the intersection of the glazing surface and a horizontal plane 635 mm above the seating reference point, as shown in Figure 1 of SAE Recommended Practice J903a (May 1966); (ligne de référence de la surface vitrée)

… and that mind-numbing tedium you’re experiencing right now is just barely a taste; a different set of regulations exists for crash safety testing, another for emissions testing, the list goes very far on. This 23 page PDF of Canada’s Motor Vehicle Tire Safety Regulations – that’s just the tires, not the brakes or axles or rims, just the rubber that meets the road – should give you a sense of it.

That’s the car. Next you need roads.

The Ontario Provincial Standards for Roads & Public Works consists of eight volumes. The first of them, General And Construction Specifications, is 1358 pages long. Collectively they detail how roads you’ll be driving on must be built, illuminated, made safe and maintained.

You can read them over if you like, but you can see where I’m going with this. Cars and roads built to these standards don’t so much enable freedom of motion and freedom from harm as they delimit in excruciating detail the space – on what road, at what speeds, under what circumstances – where people must be free from the possibility of specific kinds of harm, where their motion must be free from the possibility of specific kinds of restriction or risk.

But suppose we move away from the opposition to bare interference in terms of which contemporary thinkers tend to understand freedom. Suppose we take up the older opposition to servitude, subjugation, or domination as the key to construing liberty. Suppose we understand liberty not as noninterference but as antipower. What happens then?

– Philip Pettit, ibid.

Let me give away the punchline here: if your definition of freedom includes not just freedom from harassment and subjugation but from the possibility of harassment and subjugation, then software licenses and cryptography have as much to do with real digital rights and freedoms as your driver’s license has to do with your freedom of mobility. Which is to say, almost nothing.

We should be well past talking about the minutia of licenses and the comparative strengths of cryptographic algorithms at this point. The fact that we’re not is a clear sign that privacy, safety and security on the internet are not “real rights” in any meaningful sense. Not only because the state does not meaningfully defend them but because it does not mandate in protracted detail how they should be secured, fund institutions to secure that mandate and give the force of law to the consequences of failure.

The conversation we should be having at this point is not about is not what a license permits, it’s about the set of standards and practices that constitutes a minimum bar to clear in not being professionally negligent.

The challenge here is that dollar sign. Right now the tech sector is roughly where the automotive sector was in the late fifties. You almost certainly know or know of somebody on Twitter having a very 1959 Bel-Air Frontal-Offset Collision experience right now, and the time for us to stop blaming the driver for that is long past. But if there’s a single grain of good news here’s it’s how far off your diminishing returns are. We don’t need detailed standards about the glazing surface reference line of automotive glass, we need standard seatbelts and gas tanks that reliably don’t explode.

But that dollars sign, and those standards, are why I think free software is facing an existential crisis right now.

[ https://www.youtube.com/watch?v=obSOaKTMLIc ]

I think it’s fair to say that the only way that standards have teeth is if there’s liability associated with them. We know from the automotive industry that the invisible hand of the free market is no substitute for liability in driving improvement; when the costs of failure are externalized, diffuse or hidden, those costs can easily be ignored.

According to the FSF, the “Four Freedoms” that define what constitutes Free Software are:

  • The freedom to run the program as you wish, for any purpose (freedom 0).
  • The freedom to study how the program works, and change it so it does your computing as you wish (freedom 1). Access to the source code is a precondition for this.
  • The freedom to redistribute copies so you can help your neighbor (freedom 2).
  • The freedom to distribute copies of your modified versions to others (freedom 3). By doing this you can give the whole community a chance to benefit from your changes. Access to the source code is a precondition for this.

The cannier among you will already have noted – and scarred Linux veterans can definitely attest to the fact – that there’s no mention at all of freedom-from in there. The FSF’s unstated position has always been that anyone who wants to be free from indignities like an opaque contraption of a user experience, buggy drivers and nonexistent vendor support in their software, not to mention the casual sexism and racism of the free software movement itself, well. Those people can go pound sand all the way to the Apple store. (Which is what everyone did, but let’s put that aside for the moment.)

Let’s go back to that car analogy for a moment:

Toyota Motor Corp has recalled 3.37 million cars worldwide over possible defects involving air bags and emissions control units.

The automaker on Wednesday said it was recalling 2.87 million cars over a possible fault in emissions control units. That followed an announcement late on Tuesday that 1.43 million cars needed repairs over a separate issue involving air bag inflators.

About 930,000 cars are affected by both potential defects, Toyota said. Because of that overlap, it said the total number of vehicles recalled was 3.37 million.

No injuries have been linked to either issue.

Potential defects.

I think the critical insight here is that Stallman’s vision of software freedom dates to a time when software was contained. You could walk away from that PDP-11 and the choices you made there didn’t follow you home in your pocket or give a world full of bored assholes an attack surface for your entire life. Software wasn’t everywhere, not just pushing text around a screen but everywhere and in everything from mediating our social lives and credit ratings to pumping our drinking water, insulin and anti-lock brakes.

Another way to say that is: software existed in a well-understood context. And it was that context that made it, for the most part, free from the possibility of causing real human damage, and consequently liability for that damage was a non-question. But that context matters: Toyota doesn’t issue that recall because the brakes failed on the chopped-up fifteen year old Corolla you’ve welded to a bathtub and used as rally car, it’s for the safety of day to day drivers doing day to day driving.

I should quit dancing around the point here and just lay it out:  If your definition of freedom includes freedom from the possibility of interference, it follows that “free as in beer” and “free as in freedom” can only coexist in the absence of liability.

This is only going to get more important as the Internet ends up in more and more Things, and your right – and totally reasonable expectation – to live a life free from arbitrary harassment enabled by the software around you becomes a life-or-death issue.

If we believe in an expansive definition of human freedom and agency in a world full of software making decisions then I think we have three problems, two practical and one fundamental.

The practical ones are straightforward. The first is that the underpinnings of the free-as-in-beer economic model that lets Google, Twitter and Facebook exist are fighting a two-ocean war against failing ad services and liability avoidance. The notion that a click-through non-contract can absolve any organization of their responsibility is not long for this world, and the nasty habit advertising and social networks have of periodically turning into semi-autonomous, weaponized misery-delivery platforms makes it harder to justify letting their outputs talk to your inputs every day.

The second one is the industry prisoner’s dilemma around, if not liability, then at a bare minimum responsibility. There’s a battery of high-caliber first-mover-disadvantages pointed at the first open source developer willing to say “if these tools are used under the following conditions, by users with the following user stories, then we can and should be held responsible for their failures”.

Neither of these problems are insoluble – alternative financial models exist, coalitions can be built, and so forth. It’ll be an upheaval, but not a catastrophic or even sudden one. But anyone whose business model relies on ads should be thinking about transitions five to ten years out, and your cannier nation-states are likely to start sneaking phrases like “auditable and replaceable firmware” in their trade agreements in the next three to five.

The fundamental problem is harder: we need a definition of freedom that encompasses the notion of software freedom and human agency, in which the software itself is just an implementation detail.

We don’t have a definition of freedom that’s both expansive in its understanding of what freedom and agency are, and that speaks to a world where the line between data security and bodily autonomy is very blurry, where people can delegate their agency to and gain agency from a construct that’s both an idea and a machine. A freedom for which a positive defense of the scope of the possible isn’t some weird semitangible idea, but a moral imperative and a hill worth dying on.

I don’t know what that looks like yet; I can see the rough outlines of the place it should be but isn’t. I can see the seeds of it in the quantified-self stuff, copyleft pushback and the idea that crypto is a munition. It’s crystal clear that a programmer clinging to the idea that algorithms are apolitical or that software is divorced from human bias or personal responsibility is a physicist holding to the aetheric model or phlogiston when other people are fuelling their rockets. The line between software freedom and personal freedom is meaningless now, and the way we’ve defined “software freedom” just about guarantees its irrelevancy. It’s just freedom now, and at the very least if our definition of what freedom is – and our debate about what freedom could be –  isn’t as vast and wide-ranging and weird and wonderful and diverse and inclusive and scary as it could possibly be, then the freedom we end up with won’t be either.

And I feel like a world full of the possible would be a hell of a thing to lose.

Free As In Health Care

This post was moved to here, because WordPress.

Culture Shock

I’ve been meaning to get around to posting this for… maybe fifteen years now? Twenty? At least I can get it off my desk now.

As usual, it’s safe to assume that I’m not talking about only one thing here.

I got this document about navigating culture shock from an old family friend, an RCMP negotiator now long retired. I understand it was originally prepared for Canada’s Department of External Affairs, now Global Affairs Canada. As the story made it to me, the first duty posting of all new RCMP recruits used to (and may still?) be to a detachment stationed outside their home province, where the predominant language spoken wasn’t their first, and this was one of the training documents intended to prepare recruits and their families for that transition.

It was old when I got it 20 years ago, a photocopy of a mimeograph of something typeset on a Selectric years before; even then, the RCMP and External Affairs had been collecting information about the performance of new hires in high-stress positions in new environments for a long time. There are some obviously dated bits – “writing letters back home” isn’t really a thing anymore in the stamped-envelope sense they mean and “incurring high telephone bills”, well. Kids these days, they don’t even know, etcetera. But to a casual search the broad strokes of it are still valuable, and still supported by recent data.

Traditionally, the stages of cross—cultural adjustment have been viewed as a U curve. What this means is, that the first months in a new culture are generally exciting – this is sometimes referred to as the “honeymoon” or “tourist” phase. Inevitably, however, the excitement wears off and coping with the new environment becomes depressing, burdensome, anxiety provoking (everything seems to become a problem; housing, neighbors, schooling, health care, shopping, transportation, communication, etc.) – this is the down part of the U curve and is precisely the period of so-called “culture shock“. Gradually (usually anywhere from 6 months to a year) an individual learns to cope by becoming involved with, and accepted by, the local people. Culture shock is over and we are back, feeling good about ourselves and the local culture.

Spoiler alert: It doesn’t always work out that way. But if you know what to expect, and what you’re looking for, you can recognize when things are going wrong and do something about it. That’s the key point, really: this slow rollercoaster you’re on isn’t some sign of weakness or personal failure. It’s an absolutely typical human experience, and like a lot of experiences, being able to point to it and give it a name also gives you some agency over it you may not have thought you had.

I have more to say about this – a lot more – but for now here you go: “Adjusting To A New Environment”, date of publication unknown, author unknown (likely Canada’s Department of External Affairs.) It was a great help to me once upon a time, and maybe it will be for you.

The Future Of The Planet

I’m not sure who said it first, but I’ve heard a number of people say that RSS solved too many problems to be allowed to live.

I’ve recently become the module owner of Planet Mozilla, a venerable communication hub and feed aggregator here at Mozilla. Real talk here: I’m not likely to get another chance in my life to put “seize control of planet” on my list of quarterly deliverables, much less cross it off in less than a month. Take that, high school guidance counselor and your “must try harder”!

I warned my boss that I’d be milking that joke until sometime early 2017.

On a somewhat more serious note: We have to decide what we’re going to do with this thing.

Planet Mozilla is a bastion of what’s by now the Old Web – Anil Dash talks about it in more detail here, the suite of loosely connected tools and services that made the 1.0 Web what it was. The hallmarks of that era – distributed systems sharing information streams, decentralized and mutually supportive without codependency – date to a time when the economics of software, hardware, connectivity and storage were very different. I’ve written a lot more about that here, if you’re interested, but that doesn’t speak to where we are now.

Please note that when talk about “Mozilla’s needs” below, I don’t mean the company that makes Firefox or the non-profit Foundation. I mean the mission and people in our global community of communities that stand up for it.

I think the following things are true, good things:

  • People still use Planet heavily, sometimes even to the point of “rely on”. Some teams and community efforts definitely rely heavily on subplanets.
  • There isn’t a better place to get a sense of the scope of Mozilla as a global, cultural organization. The range and diversity of articles on Planet is big and weird and amazing.
  • The organizational and site structure of Planet speaks well of Mozilla and Mozilla’s values in being open, accessible and participatory.
  • Planet is an amplifier giving participants and communities an enormous reach and audience they wouldn’t otherwise have to share stories that range from technical and mission-focused to human and deeply personal.

These things are also true, but not all that good:

  • It’s difficult to say what or who Planet is for right now. I don’t have and may not be able to get reliable usage metrics.
  • The egalitarian nature of feeds is a mixed blessing: On one hand, Planet as a forum gives our smallest and most remote communities the same platform as our executive leadership. On the other hand, headlines ranging from “Servo now self-aware” and “Mozilla to purchase Alaska” to “I like turnips” are all equal citizens of Planet, sorted only by time of arrival.
  • Looking at Planet via the Web is not a great experience; if you’re not using a reader even to skim, you’re getting a dated user experience and missing a lot. The mobile Web experience is nonexistent.
  • The Planet software is, by any reasonable standards, a contraption. A long-running and proven contraption, for sure, but definitely a contraption.

Maintaining Planet isn’t particularly expensive. But it’s also not free, particularly in terms of opportunity costs and user-time spent. I think it’s worth asking what we want Planet to accomplish, whether Planet is the right tool for that, and what we should do next.

I’ve got a few ideas about what “next” might look like; I think there are four broad categories.

  1. Do nothing. Maybe reskin the site, move the backing repo from Subversion to Github (currently planned) but otherwise leave Planet as is.
  2. Improve Planet as a Planet, i.e: as a feed aggregator and communication hub.
  3. Replace Planet with something better suited to Mozilla’s needs.
  4. Replace Planet with nothing.

I’m partial to the “Improve Planet as a Planet” option, but I’m spending a lot of time thinking about the others. Not (or at least not only) because I’m lazy, but because I still think Planet matters. Whatever we choose to do here should be a use of time and effort that leaves Mozilla and the Web better off than they are today, and better off than if we’d spent that time and effort somewhere else.

I don’t think Planet is everything Planet could be. I have some ideas, but also don’t think anyone has a sense of what Planet is to its community, or what Mozilla needs Planet to be or become.

I think we need to figure that out together.

Hi, Internet. What is Planet to you? Do you use it regularly? Do you rely on it? What do you need from Planet, and what would you like Planet to become, if anything?

These comments are open and there’s a thread open at the Mozilla Community discourse instance where you can talk about this, and you can always email me directly if you like.

Thanks.

* – Mozilla is not to my knowledge going to purchase Alaska. I mean, maybe we are and I’ve tipped our hand? I don’t get invited to those meetings but it seems unlikely. Is Alaska even for sale? Turnips are OK, I guess.

Reinitialize…

This post should find its way to the Planet Mozilla twitter feed; if it does, new posts to Planet will be reflected there again.

(Pic cropped out of the “Halo: ODST” trailer from when it was still called called “Recon”. Reinitialize…)

Witness Me

Seaside

Having recently forced myself to play through the ending-plus-the-real-ending of The Witness, I’m finding myself wondering if it was worth playing. I’m surprised to find myself thinking that it wasn’t.

As far as you can “spoil” something without a meaningful narrative (which is itself a spoiler, I suppose) then there are spoilers ahead, so make a decision here. I won’t be solving any of the puzzles for you, but that’s largely because at some point I lost interest in grinding them out myself.

Just to get this out of the way, The Witness is beautiful. It is very nice to look at.

Sadly, that’s almost all it is.

The creeping sense that you might be gazing into a beautiful, elaborate navel sets in early, and the thin edge of that wedge is the scattered voice-recorders. It doesn’t take long to notice their placement is very deliberate, and it’s not to tell you anything about this abandoned island, its strange statues and presumably-absent residents. Instead, their role is to constantly remind you that you have to look everywhere. At everything, from every angle, all the time, for reasons that never materialize.

Jonathan Blow – creator of The Witness – has said that he wants to make games for “people who read Gravity’s Rainbow and I think he’s succeeded at that provided we’re talking about people who read it, cranked out a disinterested B- essay for the compulsory 1st-year humanities credit that assigned it and never looked back.

The other thing it doesn’t take long to notice is that the reveal of the central conceit and pivotal epiphany of The Witness is also the precise moment the joy of playing the game starts wobbling on the rails. First of all, however you come to that revelation – that the world is itself full of these circle-and-line puzzles – you have almost no say in the fact of coming to it; I hope you had that magic moment before you’d made it to the top of the mountain, because that’s where you get clubbed over the head with it. And second, that’s also the moment the game stops being an exploration and starts being a grind.

You’re not farming gold or breaking jars here, and that’s not nothing, but after you’ve seen a few of those world-puzzles every archway or semicircle you wander past or glance by the edge of the screen stops looking like a beautiful detail in a beautiful world and starts looking like a job.

And they are, of course, everywhere. The dirt path that ends in a curve, the cloud with the semicircular edge, the half-submerged pipe and its reflection, the whole island turns into one long brightly-colored to-do list. Climb something else to look at it or wander around it until the circle shows up, activate or trace whatever it is, and then… move on to the next one, because there’s definitely a next one. But there’s no story to advance, nothing gained beyond the sense that you’ve been spoon-fed a sense of cleverness. The minor epiphanies that pleasantly surprise you at the beginning of the game are silently haunting every twisted set of branches or curving shadow now, waiting for you to wander around this Ouija board of a world and invoke them for no particular reason.

The boss battles of this perspective-grinding exercise are sometimes clever, always pretty and invariably hollow. The perfect narrative void of this game screams at you in those moments; you’re standing where you can see the reflected fish or the harpy’s flowing hair or the two statues linking hands. “This moment would tell you so much”, the void says, “if there was anything to tell you at all. Go find more puzzles.”

Res ipsa loquitor, sed per se” is a line that came to mind, here – the thing speaks for itself, but only about itself. It’s a game that wants you to really understand the vital importance of paying careful attention to detail and perspective, and sets out to do that by giving you hundreds of nearly-identical problems and devoutly refusing to give you a reason to solve any of them.

It’s really hard to care how many levels a joke works on when you’re hearing it for the two hundredth time.

Anyway: the exact moment I tuned all the way out was partway down the inside of the mountain, when the Aperture Science aesthetic kicks in and of the randomly scattered recordings – hidden wherever they are without any reason or pattern beyond being hidden, obvs – plays you a long B.F. Skinner quote that cut more than a little too close to the bone. At that point I’d had just about enough of this B- essay that I could make a pretty good guess how it would end and didn’t care much if I was right or wrong. I pushed on, but the eye-rolling Witness-To-The-Hotel-California sequence didn’t change my opinion for the better.

I really wanted to love this game. I can kind of see the rough outlines of a lot of other games I’ve loved in it, but I suppose I never figured out where to stand to make it work.

Developers Are The New Mainframes

This is another one of those rambling braindump posts. I may come back for some fierce editing later, but in the meantime, here’s some light weekend lunacy. Good luck getting through it. I believe in you.

I said that thing in the title with a straight face the other day, and not without reason. Maybe not good reasons? I like the word “reason”, I like the little sleight-of-hand it does by conflating “I did this on purpose” and “I thought about this beforehand”. It may not surprise you to learn that in my life at least those two things are not the same at all. In any case this post by Moxie Marlinspike was rattling around in the back of my head when somebody asked me on IRC why it’s hard-and-probably-impossible to make a change to a website in-browser and send a meaningful diff back to the site’s author, so I rambled for a bit and ended up here.

This is something I’ve asked for in the past myself: something like dom-diff and dom-merge, so site users could share changes back with creators. All the “web frameworks” I’ve ever seen are meant to make development easier and more manageable but at the end of the day what goes over the wire is a pile of minified angle-bracket hamburger that has almost no connection the site “at rest” on the filesystem. The only way share a usable change with a site author, if it can be done at all, is to stand up a containerized version of the entire site and edit that. This disconnect between the scale of the change and the work needed to make it is, to put it mildly, a huge barrier to somebody who wants to correct a typo, tweak a color or add some alt-text to an image.

I ranted about this for a while, about how JavaScript has made classic View Source obsolete and how even if you had dom-diff and dom-merge you’d need a carefully designed JS framework underneath designed specifically to support them, and how it makes me sad that I don’t have the skill set or free time to make that happen. But I think that if you dig a little deeper, there are some cold economics underneath that whole state of affairs that are worth thinking about.

I think that the basic problem here is the misconception that federation is a feature of distributed systems. I’m pretty confident that it’s not; specifically, I believe that federated systems are a byproduct of computational scarcity.

Building and deploying federated systems has a bunch of hard tradeoffs around development, control and speed of iteration that people are stuck with when computation is so expensive that no single organization can have or do enough of it to give a service global reach. Usenet, XMPP, email and so forth were products of this mainframe-and-minicomputer era; the Web is the last and best of them.

Protocol consensus is hard, but not as hard or expensive as a room full of $40,000 or $4,000,000 computers, so you do that work and accept the fact that what you gain in distributed stability you lose in iteration speed and design flexibility. The nature of those costs means the pressure to get it pretty close to right on the first try is very high, because real opportunities to revisit will be rare and costly. You’re fighting your own established success at that point, and nothing in tech has more inertia than a status quo whose supporters think is good enough. (See also: how IPV6 has been “right around the corner” for 20 years.)

But that’s just not true anymore. If you need a few thousand more CPUs, you twiddle the dials on your S3 page and go back to unified deployment, rapid experimental iteration and trying to stay ahead of everyone else who’s doing the same. That’s how WhatsApp can deploy end to end encryption with one software update, just like that. It’s how Facebook can update a billion users’ experiences whenever they feel like it, and presumably how Twitter does whatever the hell Twitter’s doing this week. They don’t ask permission or seek consensus because they don’t have to; they deploy, test and iterate.

So the work that used to enable, support and improve federated systems now mostly exists where domain-computation is still scarce and expensive: the development process itself. Specifically the inside of developers heads, developers who stubbornly and despite our best efforts remain expensive, high-maintenance and relatively low-bandwidth, with lots of context and application-reasoning locked up in their heads and poorly distributed.

Which is to say: developers are the new mainframes.

Right now great majority of what they’re “connected” to from a development-on-device perspective are de-facto dumb terminals. Apps, iPads, Android phones. Web pages you can’t meaningfully modify for values of “meaningful” that involve upstreaming a diff. From a development perspective those are the endpoints of one-way transmissions, and there’s no way to duplex that line to receive development-effort back.

So, if that’s the trend – that is, if in general centralized-then-federated systems get reconsolidated in socially-oriented verticals, (and that’s what issue trackers are when compared to mailing lists) – then development as a practice is floating around the late middle step, but development as an end product – via cheap CPU and hackable IoT devices – that’s just getting warmed up. The obvious Next Thing in that space will be a resurgence of something like the Web, made of little things that make little decisions – effectively distributing, commodifying and democratizing programming as a product, duplexing development across those newly commodified development-nodes.

That’s the real revolution that’s coming, not the thousand-dollar juicers or the bluetooth nosehair trimmers, but the mess of tiny hackable devices that start to talk to each other via decentralized, ultracommodified feedback loops. We’re missing a few key components – bug trackers aren’t quite source-code-managers or social-ey, IoT build tools aren’t one-click-to-deploy and so forth, but eventually there will be a single standard for how these things communicate and run despite everyone’s ongoing efforts to force users into the current and very-mainframey vendor lock-in, the same way there were a bunch of proprietary transport protocols before TCP/IP settled the issue. Your smarter long-game players will be the ones betting on JavaScript to come out on top there, though it’s possible there will be other contenders.

The next step will be the social one, though “tribal” might be a better way of putting it – the eventual recentralization of this web of thing-code into cultural-preference islands making choices about how they speak to the world around them and the world speaks back. Basically a hardware scripting site with a social aspect built in, communities and trusted sources building social/subscriber model out for IoT agency. What the Web became and is still in a lot of ways becoming as we figure the hard part – the people at scale part, out. The Web of How Stuff Works.

Anyway, if you want to know what the next 15-20 years will look like, that’s the broad strokes. Probably more like 8-12, on reflection. Stuff moves pretty quick these days, but like I said, building consensus is hard. The hard part is always people. This is one of the reasons I think Mozilla’s mission is only going to get more important for the foreseeable future; the Web was the last and best of the federated systems, worth fighting for on those grounds alone, and we’re nowhere close to done learning everything it’s got to teach us about ourselves, each other and what it’s possible for us to become. It might be the last truly open, participatory system we get, ever. Consensus is hard and maybe not necessary anymore, so if we can’t keep the Web and the lessons we’ve learned and can still learn from it alive long enough to birth its descendants, we may never get a chance to build another system like it.

[minor edits since first publication. -mhoye]

In Transit

The Tunnels

X22

Southbound On Spadina

Yonge Station @ 08:30

Selfie