I get to be a blogger

To orient myself to Santa Rosa when we arrived two years ago I attended a couple of city council meetings. At one of them I heard a man introduce himself in a way that got my attention. “I’m Matt Martin,” he said, “and I get to be the executive director of Social Advocates for Youth.” I interpreted that as: “It is my privilege to be the director of SAY.” Last week at a different local event I heard the same thing from another SAY employee. “I’m Ken Quinto and I get to be associate director of development for SAY.” I asked Ken if I was interpreting that figure of speech correctly and he said I was.

Well, I get to be director of partnership and integration for Hypothes.is and also a blogger. Former privileges include: evangelist for Microsoft, pioneering blogger for InfoWorld, freelance web developer and consultant, podcaster for ITConversations, columnist for various tech publications, writer and editor and web developer for BYTE. In all these roles I’ve gotten to explore technological landscapes, tackle interesting problems, connect with people who want to solve them, and write about what I learn.

Once, and for a long time, the writing was my primary work product. When blogging took off in the early 2000s I became fascinated with Dave Winer’s notion that narrating your work — a practice more recently called observable work and working out loud — made sense for everyone, not just writers who got paid to write. I advocated strongly for that practice. But my advice came from a place of privilege. Unlike most people, I was getting paid to write.

I still get to tackle interesting problems and connect with people who want to solve them. But times have changed. For me (and many others) that writing won’t bring the attention or the money that it once did. It’s been hard — really hard — to let go of that. But I’m still the writer I always was. And the practice of work narration that I once advocated from a position of privilege still matters now that I’ve lost that privilege.

The way forward, I think, is to practice what I long preached. I can narrate a piece of work, summarize what I’ve learned, and invite fellow travelers to validate or revise my conclusions. The topics will often be narrow and will appeal to a small audiences. Writing about assistive technology, for example, won’t make pageview counters spin. But it doesn’t have to. It only needs to reach the people who care about the topic, connect me to them, and help us advance the work.

Doing that kind of writing isn’t my day job anymore, and maybe never will be again. But I get to do it if I want to. That is a privilege available to nearly everyone.

Towards accessible annotation: a prototype and some questions

The most basic operation in Hypothes.is — select text on a page, click the Annotate button — is not yet accessible to a visually-impaired person who is using a screenreader. I’ve done a bit of research and come up with an approach that looks like it could work, but also raises many questions. In the spirit of keystroke conservation I want to record here what I think I know, and try to find out what I don’t.

Here’s a screencast of an initial prototype that shows, with the NVDA screen reader active on my system, the following sequence of events:

  • Load the Gettysburg address.
  • Use a key to move a selection from paragraph to paragraph.
  • Hear the selected paragraph.
  • Tab to the Annotate button and hit Enter to annotate the selected paragraph.

It’s a start. Now for some questions:

1. Is this a proper use of the aria-live attribute?

The screenreader can do all sorts of fancy navigation, like skip to the next word, sentence, or paragraph. But its notion of a selection exists within a copy of the document and (so far as I can tell) is not connected to the browsers’s copy. So the prototype uses a mechanism called ARIA Live Regions.

When you use the hotkey to advance to a paragraph and select it, a JavaScript method sets the aria-live attribute on that paragraph. That alone isn’t enough to make the screenreader announce the paragraph, it just tells it to watch the element and read it aloud if it changes. To effect a change, the JS method prepends selected: to the paragraph. Then the screenreader speaks it.

2. Can JavaScript in the browser relate the screenreader’s virtual buffer to the browser’s Document Object Model?

I suspect the answer is no, but I’d love to be proven wrong. If JS in the browser can know what the screenreader knows, the accessibility story would be much better.

3. Is this a proper use of role="link"?

The first iteration of this prototype used a document that mixed paragraphs and lists. Both were selected by the hotkey, but only the list items were read aloud by the screen reader. Then I realized that’s because list items are among the set of things — links, buttons, input boxes, checkboxes, menus — that are primary navigational elements from the screenreader’s perspective. So the version shown in the screencase adds role="link" to the visited-and-selected paragraph. That smells wrong, but what’s right?

4. Is there a polyfill for Selection.modify()?

Navigating by element — paragraph, list item, etc. — is a start. But you want to be able to select the next word (or previous) word or sentence or paragraph or table cell. And you want to be able to extend a selection to include the next word or sentence or paragraph or table cell.

A non-standard technology, Selection.modify(), is headed in that direction, and works today in Firefox and Chrome. But it’s not on a standards track. So is there a library that provides that capability in a cross-browser fashion?

It’s a hard problem. A selection within a paragraph that appears to grab a string of characters is, under the covers, quite likely to cross what are called node boundaries. Here, from an answer on StackOverflow, is a picture of what’s going on:

When a selection includes a superscript3 as shown here, it’s obvious to you what the text of the selection should be: 123456790. But that sequence of characters isn’t readily available to a JavaScript program looking at the page. It has to traverse a sequence of nodes in the browser’s Document Object Model in order to extract a linear stream of text.

It’s doable, and in fact Hypothes.is does just that when you make a selection-based annotation. That gets harder, though, when you want to move or extend that selection by words and paragraphs. So is there a polyfill for Selection.modify()? The closest I’ve found is rangy, are there others?

5. What about key bindings?

The screen reader reserves lots of keystrokes for its own use. If it’s not going to be possible to access its internal representation of the document, how will there be enough keys left over for rich navigation and selection in the browser?

What I Learned While Building an App for the Canvas Learning Management System

Life takes strange turns. I’m connected to the ed-tech world by way of Gardner Campbell, Jim Groom, and Mike Caulfield. They are fierce critics of the academy’s embrace of the Learning Management System (LMS) and are among the leaders of an indie-web movement that arose in opposition to it. So it was odd to find myself working on an app that would enable my company’s product, the Hypothes.is web/PDF annotator, to plug into what’s become the leading LMS, Instructure’s Canvas.

I’m not an educator, and I haven’t been a student since long before the advent of the LMS, so my only knowledge of it was second-hand. Now I can report a first-hand experience, albeit that of a developer building an LMS app, not that of a student or a teacher.

What I learned surprised me in a couple of ways. I’ve found Canvas to be less draconian than I’d been led to expect. More broadly, the LMS ecosystem that’s emerged — based on a standard called Learning Tools Interoperability (LTI), now supported by all the LMS systems — led me to an insight about how the same approach could help unify the emerging ecosystem of annotation systems. Even more broadly, all this has prompted me to reflect on how the modern web platform is both more standardized and more balkanized than ever before.

But first things first. Our Canvas app began with this request from teachers: “How can we enable students to use Hypothes.is to annotate the PDF files we upload to our courses?” There wasn’t any obvious way to integrate our tool into the native Canvas PDF viewer. That left two options. We could perhaps create a plugin, internal to Canvas, based on Hypothes.is and the JavaScript component (Mozilla’s PDF.js) we and others use to convert PDF files into web pages. Or we could create an LTI app that delivers that combo as a service running — like all LTI apps — outside Canvas. We soon found that the first option doesn’t really exist. Canvas is an open source product, but the vast majority of schools use Instructure’s hosted service. Canvas has a plugin mechanism but there seems to be no practical way to use it. I don’t know about other LMSs (yet) but if you want to integrate with Canvas, you’re going to build an app that’s launched from Canvas, runs in a Canvas page, and communicates with Canvas using the standard LTI protocol and (optionally) the Canvas API.

Working out how to do that was a challenge. But with lots of help from ed-tech friends and associates as well as from Instructure, we came up with a nice solution. A teacher who wants to base an assignment on group annotation of a PDF file or a web page adds our LTI app to a course. The app displays a list of the PDFs in the Files area of the course. The teacher selects one of those, or provides the URL of a web page to annotate, then completes the assignment in the usual way by adding a description, setting a date, and defining the grading method if participation will be graded. When the student clicks the assignment link, the PDF or web page shows up in a Canvas page with the Hypothes.is annotator active. The student logs into Hypothes.is, switches to a Hypothes.is private group (if the teacher created one for the course), engages with the document and with other students in the annotation layer, and at some point submits the assignment. What the teacher sees then, in a Canvas tool called Speed Grader, on a per-student basis, is an export of document-linked conversation threads involving that student.

The documents that host those conversations can live anywhere on the web. And the conversations are wide open too. Does the teacher engage with students? Do students engage with one another? Does conversation address predefined questions or happen organically? Do tag conventions govern how annotations cluster within or across documents? Nothing in Hypothes.is dictates any such policies, and nothing in Canvas does either.

Maybe the LMS distorts or impedes learning, I don’t know, I’m not an educator. What I can say is that, from my perspective, Canvas just looks like a content management system that brings groups and documents together in a particular context called a course. That context can be enhanced by external tools, like ours, that enable interaction not only among those groups and documents but also globally. A course might formally enroll a small group of students, but as independent Hypothes.is users they can also interact DS106-style with Hypothes.is users and groups anywhere. The teacher can focus on conversations that involve enrolled students, or zoom out to consider a wider scope. To me, at least, this doesn’t feel like a walled garden. And I credit LTI for that.

The app I’ve written is a thin layer of glue between two components: Canvas and Hypothes.is. LTI defines how they interact, and I’d be lying if I said it was easy to figure out to get our app to launch inside Canvas and respond back to it. But I didn’t need to be an HTTP, HTML, CSS, JavaScript, or Python wizard to get the job done. And that’s fortunate because I’m not one. I just know enough about these technologies to be able to build basic web apps, much like ones I was able to build 20 years ago when the web first became a software platform. The magic for me was always about what simple web apps can do when connected to the networked flow of information among people and computers. My Canvas experience reminded me that we can still tap into that magic.

Why did I need to be reminded? Because while the web’s foundation is stronger than ever, the layers being built on it — so-called frameworks, with names like Angular and Ember (in the browser), Rails and Pyramid (on the server) — are the province of experts. These frameworks help with common tasks — identifying users, managing interaction with them, storing their data — so developers can focus on what their apps do specially. That’s a good and necessary thing when the software is complex, and when it’s written by people who build complex software for a living.

But lots of useful software isn’t that complex, and isn’t written by people who do that for a living. Before the web came along, plenty got built on Lotus 1-2-3, Excel, dBase, and FoxPro, much of it by information workers who weren’t primarily doing that for a living. The early web had that same feel but with an astonishing twist: global connectivity. With only modest programming skill I could, and did, build software that participated in a networked flow of information among people and computers. That was possible for two reasons. First, with HTML and JavaScript (no CSS yet) I could deliver a basic user interface to anyone, anywhere, on any kind of computer. Second, with HTTP I could connect that user interface to components and databases all around the web. Those components and databases were called web sites by the people who viewed them through the lens of the browser. But for me they were also software services. Through the lens of a network-savvy programming language (it was Perl, at the time) the web looked like a library of software modules, and URLs looked like the API (application programming interface) to that library.

If I had to write a Canvas plugin I’d have needed to learn a fair bit about its framework, called Rails, and about Ruby, the language in which that framework is written. And that hard-won knowledge would not have transferred to another LMS built on a different framework and written in a different language. Happily LTI spared me from that fate. I didn’t need to learn that stuff. When our app moves to another LMS it’ll need to know how to pull PDF files out of that other system. And that other system might not yet support all the LTI machinery required for two-way communication. But assuming it does, the app will do exactly what it does now — launch in response to an “API call” (aka URL), deliver a “component” (an annotation-enabled document) — in exactly the same way.

Importantly I wasn’t just spared a deep dive into Rails, the server framework that powers Canvas. I was also spared a deep dive into Angular, the JavaScript framework that powers the Hypothes.is client. That’s because our browser-based app can work as a pluggable component. It’s easy to embed Hypothesis in web pages and not much harder to do the same for PDFs displayed in the browser. All I had to do was the plumbing. I wish that had been easier than it was. But it was doable with modest and general skills. That makes the job accessible to people without elite and specific skills. How many more such people are there? Ten times? A hundred? The force multiplier, whatever it may be, increases the likelihood that useful combinations of software components will find their way into learning environments.

All this brings me back to Hypothes.is, and to the annotation ecosystem that we envision, promote, and expect to participate in. The W3C Web Annotation Working Group is defining standard ways to represent and exchange annotations, so that different kinds of annotation clients and servers can work together as do different kinds of email clients and email servers, or browsers and web servers. Because Hypothes.is implements early variants of those soon-to-be-formalized annotation standards, I’ve been able to do lots of useful integration work. Much of it entails querying our service for annotation data and then filtering, transforming, or cross-linking it. That requires only basic web data wrangling. Some of the work entails injection of that data into web pages. That requires only basic web app development. But until recently I didn’t see a way to democratize the ability to extend the Hypothes.is client.

Here’s a example of the kind of thing I want to be able to do and, more importantly, that I want others to be able to do. Like other social systems we offer tags as a principal way to organize data sets. In Hypothes.is you can use tags to keep track of documents as well as annotations linked to those documents. The tags are freeform. We remember and prompt with the tags you’ve used recently, but there are no rules, you can make up whatever tags you want. That’s great for casual use. If you need a bit more rigor, it’s possible to agree with your collaborators on a restricted set of tags that define key facets of the data you jointly create. But pretty soon you find yourself wishing for more control. You want to define specific lists of terms available in specific contexts for specific purposes.

Hypothes.is uses the Angular framework, as I’ve said. It also relies on a set of components that work only in that framework. One of those, called ngTagsInput, is the tag editor used in Hypothes.is. The good news is that it handles basic tagging quite well, and our developers didn’t need to build that capability, they just plugged it in. The bad news is that in order to do any meaningful work with ngTagsInput, you’d need to learn a lot about it, about how it works within the Angular framework, and about Angular itself. That hard-won knowledge won’t transfer to another JavaScript framework, nor will what you build using that knowledge transfer to another web client built on another framework. A component built in Angular won’t work in Ember just as a component built for Windows won’t work on the Mac.

With any web-based technology there’s always a way to get your foot in the door. In this case, I found a way to hook into ngTagsInput at the point where it asks for a list of terms to fill its picklist. In the Hypothes.is client, that list is kept locally in your browser and contains the tags you’ve used recently. It only required minor surgery to redirect ngTagsInput to a web-based list. That delivered two benefits. The list was controlled, so there was no way to create an invalid tag. And it was shared, so you could synchronize a group on the same list of controlled tags.

A prototype based on that idea has helped some Hypothes.is users manage annotations with shared tag namespaces. But others require deeper customization. Scientific users, in particular, spend increasing time and effort annotating documents, extracting structured information from them, and classifying both the documents and the annotations. For one of them, it wasn’t enough to connect ngTagsInput to a web-based list of terms. People need to see context wrapped around those terms in order to know which ones to pick. That context was available on the server, but there was no way to present it in ngTagsInput. Cracking that component open and working out how to extend it to meet this requirement is a job for an expert. You’d need a different expert to do the same thing for ngTagsInput’s counterpart in a different JavaScript framework. That doesn’t bode well if you want to end up with annotation ecosystem made of standard parts.

So, channeling Douglas Hofstadter, I wondered: “What’s the LTI of annotation?” The answer I came up with, in another prototype, was a way to embed a simple web application in the body of an annotation. Just as my LTI app is launched in the context of a Canvas course, with knowledge of the students and resources in that course as well as API access to both Canvas and to the global network of people and information, so with this little web app. It’s launched in the context of an annotation, with knowledge of the properties of that annotation (document URL, quote, comment, replies, tags) and with API access to both Hypothes.is and to the same global network of people and information. Just as my LTI app requires only basic web development knowledge and ability, so with this annotation app. You don’t need to be an expert to create something useful in this environment. And the thing you do could transfer to another standards-based annotation environment.

There’s nothing new here. We’ve had all these capabilities for 20 years. Trends in modern web software development pile on layers of abstraction and push us toward specialization and make it harder to see the engine under the hood that that runs everything. But if you lift the hood you’ll see that the engine is still there, humming along more smoothly than ever. One popular JavaScript framework, called jQuery, was once widely used mainly to paper over browsers’ incompatible implementations of HTML, JavaScript, CSS, and an underlying technology called the Document Object Model. jQuery is falling into disuse because modern browsers have converged remarkably well on those web standards. Will Angular and Ember and the rest likewise converge on a common system of components? A common framework, even? I hope so; opinions differ; if it does happen it won’t be soon.

Meanwhile Web client apps, in fierce competition with one another and with native mobile apps, will continue to require elite developers who commit to non-portable frameworks. Fair enough. But that doesn’t mean we have to lock out the much larger population of workaday developers who command basic web development skills and can use them to create useful software that works everywhere. We once called Perl the duct tape of the Internet. With a little knowledge of it, you could do a lot. It’s easy to regard that as an era of lost innocence. But a little knowledge of our current flavors of duct tape can still enable many of us to do a lot, if systems are built to allow and encourage that. The LTI ecosystem does. Will the annotation ecosystem follow suit?

Copyright can’t stop annotation of government documents

I’ll admit that the Medium Legal team’s post AB 2880?—?Kill (this) Bill had me at hello:

Fellow Californians, please join us in opposing AB 2880, which would allow and encourage California to extend copyright protection to works made by the state government. We think it’s a bad idea that would wind up limiting Californians’ ability to post and read government information on platforms like Medium.

That sure does sound like a bad idea, and hey, I’m a Californian now too. But when I try to read the actual bill I find it hard to relate its text to Medium Legal’s interpretations, or to some others:

I doubt I’m alone in struggling to connect these interpretations to their evolving source text. Medium Legal says, for example:

AB 2880 requires the state’s Department of General Services to track the copyright status of works created by the state government’s 228,000 employees, and requires every state agency to include intellectual property clauses in every single one of their contracts unless they ask the Department in advance for permission not to do so.

What’s the basis for this interpretation? How do Medium Legal think the text of the bill itself supports it? I find four mentions of the Department of General Services in the bill: (1), (2), (3), (4). To which of these do Medium Legal refer? Do they also rely on the Assembly Third Reading? How? I wish Medium Legal had, while preparing their post, annotated those sources.

The Assembly Third Reading, meanwhile, concludes:

Summary of the bill: In summary, this bill does all of the following:

1) clarifies existing law that state agencies may own, license, and register intellectual property to the extent not inconsistent with the rights of the public to obtain, inspect, copy, publish and otherwise communicate under the California Public Records Act, the California Constitution as provided, and under the First Amendment to the United States Constitution;

2) …

7) …

Analysis Prepared by: Eric Dang / JUD. / (NNN) NNN-NNNN

The same questions apply. How does Eric Dang think the source text supports his interpretation? How do his seven points connect to the bill under analysis? Again, an annotation layer would help us anchor the analysis to its sources.

Medium Legal and Eric Dang used digital tools to make notes supporting their essays. Such notes are, by default, not hyperinked to specific source passages and not available to us as interpretive lenses. Modern web annotation flips that default. Documents remain canonical; notes anchor precisely to words and sentences; the annotation layer is a shareable overlay. There’s no copying, so no basis for the chilling effect that critics of AB 2880 foresee. While the bill might limit Californians’ ability to post and read government information on platforms like Medium, it won’t matter one way or the other to Californians who do such things on platforms like Hypothesis.

Watching animals

On a visit to the Berlin Zoo last month, I watched primates interact with a cleverly-designed game called a poke box. It’s a plexiglas enclosure with shelves. Rows of holes in the enclosure give access to the shelves. Each shelf has a single hole, offset from the holes above and below. The machine drips pellets of food onto the top shelf. The primates, using sticks they’ve stripped and prepared, reach through the holes and tease the pellets through the holes in the shelves, performing one delicate maneuver after another, finally reaching through a slot in the bottom of the enclosure to claim the prize.

How would I perform in a game like that? My hunch: not much better or worse than a group of bonobos I spent a long time watching.

“This so-called behavioural enrichment,” the Zoo says, “is an important area in animal management.” The poke box is undoubtedly enriching the lives of those primates. But they are still prisoners.

My dad was a volunteer at the Philadelphia Zoo. I saw, growing up, how that zoo tried to create more naturalistic settings for its animals. The most successful I can recall was the hummingbird house. Its tiny inhabitants roamed freely in a large open space that looked and felt like a tropical rain forest.

I don’t know if those birds really lived something like a normal life, but it seems at least plausible. I can’t say the same for most of the animals I’ve seen in zoos. Conditions may have improved over the years, but I’m not sure I’ll ever again pay to watch the prisoners perform “enriched” behaviors in “naturalistic” settings.

If my children were still young, that’d be a hard call to make. A visit to the zoo is one of the great experiences of childhood. If there weren’t zoos, how could we replace that experience?

Maybe we don’t need to jail animals. Maybe we just need to improve our ability to observe them in situ. There’s still plenty of open space that is, or could be, conserved. And we’re getting really good at surveillance! Let’s put our new skill to a different use. Fly cameras over areas of wildlife parks inaccessible to tourist vehicles. Enable online visitors to adopt and follow individual animals and their groups. Make it possible for anyone to have the sort of experience Jane Goodall did. The drone cameras sound creepy, but unlike the vehicles that carry tourists through those parks, the drones will keep getting smaller and more unobtrusive.

Could it happen? I’m not holding my breath. So for now I’ll focus on the wildlife I can see right here in Sonoma County. This spring we discovered the Ninth Street Rookery, less than a mile from our house. Each of the two large eucalyptus trees there is home to about a hundred nests in which black-crowned night herons and various species of egret — great, cattle, snowy — raise a cacophony as they raise their young. We visited a couple of times; it’s wonderful. Although, come to think of it, if it were a channel on cams.allaboutbirds.org I could watch and learn a lot more about the lives of these animals. And so could you.

Thoughts in motion, annotated

In Knowledge Work as Craft Work (2002), Jim McGee wrote:

The journey from apprentice to master craftsman depends on the visibility of all aspects of craft work.

That was the inspiration for a talk I gave at the 2010 Traction User Group meeting, which focused on the theme of observable work. In the GitHub era we take for granted that we can craft software in the open, subjecting each iteration to highly granular analysis and discussion. Beautiful Code (2007) invited accomplished programmers to explain their thinking. I can imagine an annotated tour of GitHub repositories as the foundation of a future edition of that book.

I can also imagine crafting prose — and then explaining the process — in a similarly open and observable way. The enabling tools don’t exist but I’m writing this post in a way that I hope will suggest what they might be. The toolset I envision has two main ingredients: granular versioning and annotation. When I explored Federated Wiki last year, I got a glimpse of the sort of versioning that could usefully support analysis of prose craft. The atomic unit of versioning in FedWiki is the paragraph. In Thoughts in motion I created a plugin that revealed the history of each paragraph in a document. As writers we continually revise. The FedWiki plugin illustrated that process in a compelling way. The sequence of revisions to a paragraph recorded a sequence of decisions.

For an expert writer such decisions are often tacit. We apply rules that we’ve internalized. How might an expert writer bring those rules to the surface, reflect on them, and explain them to others? Granular version history is necessary but not sufficient. We also need a way to narrate our decisions. I think annotation of version history can help us tell that story. To test that intuition, I am recording a detailed history of this blog post as I write it. The experiment I have in mind: annotate that change history to explain — to myself and others — the choices I’ve made along the way.

Time passes…

OK, I’ve done the experiment here. It certainly explained some things to me about my own process. I doubt it’s generally useful as is, but I think the technique could become so in two ways. As a teacher, I might start with a demo essay, work through a series of revisions, and then annotate them to illustrate aspects of structure, word choice, clarity, and brevity. As a student I might work through my own essay in the same way, guided by progressive feedback (in the annotation layer) from the teacher. It looks promising to me, what do you think?

Annotation is not (only) web comments

Annotation looks like a new way to comment on web pages. “It’s like Medium,” I sometimes explain, “you highlight the passage you’re talking about, you write a comment about it, the comment anchors to the passage and displays to its right.” I need to stop saying that, though, because it’s wrong in two ways.

First, annotation isn’t new. In 1968 Doug Engelbart showed a hypertext system that could link to regions within documents. In 1993, NCSA Mosaic implemented the first in a long lineage of modern annotation tools. We pretend that tech innovation races along at breakneck speed. But sometimes it sputters until conditions are right.

Second, annotation isn’t only a form of online discussion. Yes, we can converse more effectively when we refer to selected passages. Yes, such conversation is easier to discover and join when we can link directly to a context that includes the passage and its anchored conversation. But I want to draw attention to a very different use of annotation.

A web document is a kind of database. Some of its fields may be directly available: the title, the section headings. Other fields are available only indirectly. The author’s name, for example, might link to the author’s home page, or to a Wikipedia page, where facts about the author are recorded. The web we weave using such links is the map that Google reads and then rewrites for us to create the most powerful information system the world has yet seen. But we want something even more powerful: a web where the implicit connections among documents become explicit. Annotation can help us weave that web of linked data.

The semantic web is, of course, another idea that’s been kicking around forever. In that imagined version of the web, documents encode data structures governed by shared schemas. And those islands of data are linked to form archipelagos that can be traversed not only by people but also by machines. That mostly hasn’t happened because we don’t yet know what those schemas need to be, nor how to create writing tools that enable people to easily express schematized information.

Suppose we agree on a set of standard schemas, and we produce schema-aware writing tools that everyone can use to add new documents to a nascent semantic web. How will we retrofit the web we already have? Annotation can help us make the transition. A project called SciBot has given me a glimpse of how that can happen.

Hypothesis’ director of biosciences Maryann Martone and her colleagues at the Neuroscience Information Framework (NIF) project are building an inventory of antibodies, model organisms, and software tools use by neuroscientists. NIF has defined and promoted a way to identify such resources when mentioned in scientific papers. It entails a registry of Research Resource Identifiers (RRIDs) and a protocol for including RRIDs in scientific papers.

Here’s an example of some RRIDs cited in Dopaminergic lesioning impairs adult hippocampal neurogenesis by distinct modification of a-synuclein:

Free-floating sections were stained with the following primary antibodies: rat monoclonal anti-BrdU (1:500; RRID:AB_10015293; AbD Serotec, Oxford, United Kingdom), rabbit polyclonal anti-Ki67 (1:5,000; RRID:AB_442102; Leica Microsystems, Newcastle, United Kingdom), mouse monoclonal antineuronal nuclei (NeuN; 1:500; RRID:AB_10048713; Millipore, Billerica, MA), rabbit polyclonal antityrosine hydroxylase (TH; RRID:AB_1587573; Millipore), goat polyclonal anti-DCX (1:250; RRID:AB_2088494; Santa Cruz Biotechnology, Santa Cruz, CA), and mouse monoclonal anti-a-syn (1:100; syn1; clone 42; RRID:AB_398107; BD Bioscience, Franklin Lakes, NJ).

The term “goat polyclonal anti-DCX” is not necessarily unique. So the author has added the identifer RRID:AB_2088494, which corresponds to a record in NIF’s registry. RRIDs are embedded directly in papers, rather than attached as metadata, because as Dr. Martone says, “papers are the only scientific artifacts that are guaranteed to be preserved.”

But there’s no guarantee an RRID means what it should. It might be misspelled. Or it might point to a flawed record in the registry. Could annotation enable a process of computer-assisted validation? Thus was born the idea of SciBot. It’s a human/machine partnership that works as follows.

A human validator sends the text of an article to a web service. The service scans the article for RRIDs. For each that it finds, it looks up the corresponding record in the registry, then calls the Hypothesis API to post an annotation that anchors to the text of the RRID and includes the lookup result in the body of the annotation. That’s the machine’s work. Now comes the human partner.

If the RRID is well-formed, and if the lookup found the right record, a human validator tags it a valid RRID — one that can now be associated mechanically with occurrences of the same resource in other contexts. If the RRID is not well-formed, or if the lookup fails to find the right record, a human validator tags the annotation as an exception and can discuss with others how to handle it. If an RRID is just missing, the validator notes that with another kind of exception tag.

If you’re not a neuroscientist, as I am not, that all sounds rather esoteric. But this idea of a humans and machines working together to enhance web documents is, I think, powerful and general. When I read Katherine Zoepf’s article about emerging legal awareness among Saudi women, for example, I was struck by odd juxtapositions along the timeline of events. In 2004, reforms opened the way for women to enter law schools. In 2009, “the Commission for the Promotion of Virtue and the Prevention of Vice created a specially trained unit to conduct witchcraft investigations.” I annotated a set of these date-stamped statements and arranged them on a timeline. The result is a tiny data set extracted from a single article. But as with SciBot, the method could be applied by a team of researchers to a large corpus of documents.

Web documents are databases full of facts and assertions that we are ill-equipped to find and use productively. Those documents have already been published, and they are not going to change. Using annotation we can begin to make better use of the documents that exist today, and more clearly envision tomorrow’s web of linked data.

This hybrid approach is, I think, the viable middle path between two unworkable extremes. People won’t be willing or able to weave the semantic web. Nor will machines, though perfectly willing, be able to do that on their own. The machines will need training wheels and the guidance of human minds and hands. Annotation’s role as a provider of training and guidance for machine learning can powerfully complement its role as the next incarnation of web comments.

Owning and sharing your words

In 2001 I was among a community of early bloggers who came together around Dave Winer’s Radio UserLand, a tool for both publishing and aggregating blogs. To the world at large, blogging was rightly understood to be a new and exciting way for people to publish their writing online. Those of us exploring the new medium found it to be, also, a social network that was naturally immune to spam. We all had our own inviolate spaces for web writing. No moderation was needed because there were no comments. And yet rich discourse emerged. How? The web enabled us to link to one anothers’ posts, and RSS enabled us to monitor one anothers’ feeds. That was enough to sustain vibrant and civil conversation.

Things stayed civil because the system aligned incentives correctly. “You own your words,” Dave said, “and you speak in your own space on the web.” If you said something nasty about someone else you weren’t saying it in their space, or in some neutral space, you were saying it directly in your own space, one that represented you to the world.

Earlier systems, such as UseNet and Web forums, lacked this blend of mutual consent and accountability. So do modern ones such as Facebook and Twitter. The quality of discourse on Radio UserLand was, for a while, like nothing I’ve experienced before or since.

The blogosphere grew. Blog comments appeared. Google killed the dominant blog reader. Twitter and Facebook appeared. Now we can be sovereigns of our own online spaces, and we can be connected to others, but it seems that we can’t be both at the same time and in the same way.

What brings all this back is the kerfuffle, last week, that some of us who are building web annotation tools are calling TateGate. (Tate: annotate.) You can read about it on my company’s blog and elsewhere, but it boils down to a set of hard questions. Is it both legal and ethical to:

1. Write your words on my blog in an annotation overlay visible only to you in your browser?

2. Share the overlay with others in a private group space?

3. Share the overlay on the open web?

The answer to 1 is almost certainly yes. The original 1996 CSS spec, for example, recommended that browsers enable users to override publisher-defined style sheets. CSS recognized that the needs of publishers and readers are in dynamic tension. Publishers decide how they want readers to see their pages, but readers can decide differently. In 2005 a Firefox extension called Greasemonkey began empowering users to make functional as well as stylistic changes: adding a Delete button to Gmail, reporting book availability in local libraries on Amazon pages. If a site has ever successfully challenged the right of a user to alter a page locally, in the browser, I haven’t heard of it; neither have knowledgeable friends and acquaintances I’ve asked about this.

When the overlay is shared at wider scopes things get more complicated. The nexus of stakeholders includes publishers, readers, and annotators. Let’s explore that nexus in two different cases.

Climate news

In this case, climate scientists team up to annotate a news site’s story on climate change. The annotation layer is shared on the open web, visible to anyone who acquires the tool needed to view it. The scientists believe they are providing a public service. Readers who value the scientists’ assessment can opt in to view their annotations. Readers who don’t care what the scientists think don’t have to view the annotations. Publishers may be more or less comfortable with the existence of the opt-in annotation layer, depending on their regard for the scientists and their willingness to embrace independent scrutiny.

Before you decide what you think about this, consider an alternative. Climate skeptics team up to offer a competing annotation layer that offers a very different take on the story. Publishers, annotators, and readers still find themselves in the same kind of dynamic tension, but it will feel different to you in a way that depends on your beliefs about climate change.

Either way it’s likely that you’ll find this model generally sound. Many will agree that public information should be subject to analysis, that analysis should take advantage of the best tools, and that commentary anchored to words and phrases in source texts is a highly effective.

“TateGate”

In this case, a news site annotates a personal blog. The blogger believes that she owns her words, she moderates all comments to ensure that’s so, and she feels violated when she learns about a hostile overlay available to anyone who can discover it. The annotators are using a tool that doesn’t enable sharing the overlay in a private group, so we don’t know how the option to restrict the overlay’s availability might have have mattered. The annotation layer is available in two ways: as a proxied URL available in any unmodified browser, and as a browser extension that users install and activate. The proxy could in principle have been turned off for this blog, but it wasn’t, so we don’t know whether things would have played out differently if a user-installed browser extension were the only way to view the annotations.

These variables may affect how you think about this case. Your beliefs about what constitutes fair use, appropriation, and harassment certainly will. And there are still more variables. A site can, for example, choose to invite Hypothesis annotators by embedding our client. We envision, but have yet to offer, layers in which groups self-moderate annotations that all viewers can read but not write. And we envision that publishers might choose to make only certain of those channels discoverable in the annotation layer they choose to embed. That restriction would, however, not apply to users who bring their own independent annotation client to the page.

We at Hypothesis are soliciting a range of views on this thicket of thorny issues, and we are considering how to evolve tools and policies that will address them. Here I’m not speaking for my employer, though, I am just reflecting on the tension between wanting to own our words and wanting to share them with the world.

The closest modern equivalent to the Radio UserLand model is one that indie web folks call POSSE, which stands for Publish (on your) Own Site, Syndicate Everywhere. POSSE encourages me to comment on your site by writing a post on my site and notifying yours about it. You can choose to accept my contribution or not. If you do accept it, there’s a sense in which it is not a statement that lives on your site but rather one that lives on mine and is reflected to yours. Both parties negotiate a zone of ambiguity between what’s on my site and what’s on your site.

Web annotation seems less ambiguous. When I highlight your words and link mine to them, in an overlay on your page, it seems more as if mine are appearing on your site. Is that an unavoidable perception? I don’t know. Maybe there’s a role for a CSS-like mechanism that enables publishers, annotators, and readers to negotiate where and how annotations are displayed. It’s worth considering.

Here’s what I do know: I’m lucky to be involved in a project that raises these issues and challenges us to consider them carefully.

Liminal thinking at scale

My short 2009 review1 of Stewart Brand’s Whole Earth Discipline includes this Kevin Kelly quote that continues to resonate for me:

Kevin Kelly calls the book “a short course on how to change your mind intelligently” — in this case, about cities, nuclear power, and genetic and planetary engineering. These are all things that Steward Brand once regarded with suspicion but now sees as crucial tools for a sustainable world.

In Changeable minds I wrote about a touchstone question that I now sometimes ask people:

What’s something you believed deeply, for a long time, and then changed your mind about?

It’s a hard question for any of us to answer, but as Dave Gray and Wael Ghonim have recently reminded me, it matters more and more that we try. Here’s a useful picture I grabbed from Gray’s screencast on what he calls liminal thinking:

The idea is that I’m standing in the bubble on the left, atop an unconscious pyramid of belief formation. You are standing in the bubble on the right, atop your own unconscious pyramid. And our two pyramids rest on different regions of an underlying reality. How can we engage in productive discourse?

Gray says it requires two tricky maneuvers. First I need to shine a light down into the unconscious fog, climb down my own “ladder of inference,” and reflect on how my own experience of reality informs my own beliefs. Then, he says, I need to take that flashlight, walk over to your pyramid, and climb up your ladder of inference. “Liminal thinking,” he tweeted the other day, “is the art of creating change by understanding, shaping, and reframing beliefs.”

I’ll surely read his book when it comes out. But since I already agree with the principles and practices it espouses, I don’t expect a mind-changing outcome. It’s clear that Dave Gray and I stand on mostly-overlapping belief pyramids. What would motivate somebody not in that bubble to want to cross the chasm to a very different pyramid?

Wael Ghonim’s latest TED talk suggests an intriguing possibility. He’s now given two such talks. The first, in 2011, was a stirring tribute to social media’s role in fomenting the Arab Spring. (Ghonim created the pivotal We are all Khaled Said Facebook page.) In 2016 the Arab Spring seems a distant memory, and Ghonim entitled his latest talk Let’s design social media that drives real change. Here’s the key takeaway for me:

There’s a lot of debate today on how to combat online harassment and fight trolls. This is so important. No one could argue against that. But we need to also think about how to design social media experiences that promote civility and reward thoughtfulness. I know for a fact if I write a post that is more sensational, more one-sided, sometimes angry and aggressive, I get to have more people see that post. I will get more attention.

But what if we put more focus on quality? What is more important: the total number of readers of a post you write, or who are the people who have impact that read what you write? Couldn’t we just give people more incentives to engage in conversations, rather than just broadcasting opinions all the time? Or reward people for reading and responding to views that they disagree with? And also, make it socially acceptable that we change our minds, or probably even reward that?

I suspect that relatively few of us already are liminal thinkers, or are willing and able to learn and apply the principles and practices. Can we imagine, and build, a social media platform that encourages liminal thinking at scale? That’s an idea worth sharing.


1 When I revisited that post today, I was also intrigued by this:

Don’t miss the annotations — a website that reproduces every paragraph that includes citations, links to their sources, and adds updates.

Alas, the link to those annotations — in iCloud, at http://web.me.com/stewartbrand/DISCIPLINE_footnotes/Contents.html — has rotted. For me it’s another reminder to prioritize work on the archival capabilities we envision for Hypothesis. We want to archive both your annotations and (where possible) the documents they refer to.

When it’s cold in New England, thoughts turn to alternative home heating

I started this WordPress incarnation of my blog in late 2007. On this day in 2009 I published  one of the most-read posts here: Central heating with a wood gasification boiler. WordPress stats have shown me that interest has been seasonal. When it’s winter in the northeastern US, people still heating with oil imagine alternatives. As a result, more people find their way to that post than do in summer.

Would this year’s freaky warmth depress that historical wintertime interest in the article? That’s what I expected to find, and this chart appears to confirm it.

eko-post-dec-views

Of course interest in the blog has declined in general over that period, because I’ve put less effort into writing and promoting it. But if we chart another perennial favorite, Why Guiness tastes better in Ireland, there’s no downward trend:

guiness-post-dec-views

So I think the temperature correlation is valid. And I predict the orange curve on the first chart will trend upward when there’s another cold winter in the Northeast.

Abomination and progress: A schizophrenic Saudi timeline

When I read Katherine Zoepf’s article about emerging legal awareness among Saudi women, I found myself imagining a timeline of events. Then I realized I could create one pretty easily with Hypothesis:

A timeline of events noted in Sisters in Law: Saudi women are beginning to know their rights

2004

In 2004, Saudi Arabia introduced reforms allowing women’s colleges and universities to offer degree programs in law.

In 2004, she was a student in the human-resources department at King Abdulaziz University, in Jeddah, when the university announced that it would be opening a degree program in law for female students. It was the first such program in the kingdom, and Zahran immediately switched her concentration to law.

2008

The first female law students graduated in 2008, but, for several years after that, they were prohibited from appearing in court.

In 2008, King Abdullah, who died last January, appalled some of his subjects when he announced that the Riyadh University for Women would be renamed Princess Nora bint Abdul Rahman University, in memory of a favorite aunt.

The fact that women couldn’t obtain law licenses wasn’t a source of anxiety for Zahran and her classmates, but by 2008, when she graduated, the justice ministry still hadn’t indicated that it would begin licensing female lawyers.

2009

Sorcery is considered such a grave concern that, in 2009, the Commission for the Promotion of Virtue and the Prevention of Vice created a specially trained unit to conduct witchcraft investigations.

2011

In 2011, when Mohra Ferak entered the law department at Dar Al-Hekma, her immediate family was supportive, but others were horrified. People said, “Are you serious?”

2013

In 2013, law licenses were granted to four women, including Bayan Mahmoud Zahran.

Since 2013, women have been allowed to ride bicycles, but only in designated parks and recreation areas, chaperoned by a close male relative.

In supermarkets, which have employed women since 2013, low partitions suffice, because semi-public spaces are easily monitored by members of the Committee for the Promotion of Virtue and the Prevention of Vice, the kingdom’s religious police.

2014

The lecturer, Bayan Mahmoud Zahran, a thirty-year-old Jeddah attorney who, in January, 2014, became the first Saudi woman to open a law firm.

The advent, in 2014, of car services that can be requested through mobile apps has given women a freedom of movement that had seemed impossible just months earlier.

2015

The first lecture in the series, which Ferak called Hawa’a’s Rights (Hawa’a is the Arabic version of the name Eve), was publicized on Twitter and took place on the evening of April 15th.

The second Hawa’a’s Rights lecture, on April 26th, addressed personal-status law, the category of Saudi law that governs marriage, divorce, guardianship, and inheritance.

In early October, at the end of the Islamic calendar year, the Saudi justice ministry announced that in the past twelve months there had been a forty-eight-per-cent increase in cases of khula, divorces initiated by women.

In November, in an adultery case, a married woman was sentenced to death by stoning; her unmarried male partner received a hundred lashes.

Today, several thousand Saudi women hold law degrees, and sixty-seven are licensed to practice, according to justice-ministry figures released at the end of November.

To make this timeline I started by annotating the article in a particular way. All the dates of interest were in the 2000s, so I did an in-browser search for 20 which highlighted all the occurrences of 2004, 2008, 2011, etc. I selected those sentences and made Hypothesis annotations with the tags 20xx, Women, and Saudi Arabia. For dates in 2015, I repeated this exercise using search for names of months.

You can see the annotations in context here, and as extracts here. A light massage of that data yielded the timeline.

It’s a weirdly schizophrenic mix of despair and hope, abomination and progress. One the one hand, there’s still stoning.

On the other hand, there’s growing awareness of legal rights — if not yet a strong movement to expand them. And there’s dramatic new mobility thanks to Uber.

Will the better angels of our nature prevail? If we project this timeline into the future, I’m betting that we’ll see less witchcraft and stoning, more freedom and mobility.

Organic hydro-engineering

We arrived in California in the fourth year of the drought. It didn’t rain often last winter but when it did it poured, and the Santa Rosa Creek — which had been trickling through our neighborhood — became a torrent. As I watched all that precious rainwater rushing away to the Russian River, and thence to the Pacific Ocean, I wondered: What’s California doing to capture that water? The answer so far seems to be: Not much.

The need for large-scale water storage has been long discussed, but (at least from my newcomer’s perspective) not seriously considered until the recent crisis. The picture worth a thousand words was of Governor Jerry Brown examining bare ground in the Sierra Nevada Mountains last March. That ground should have been covered with deep snow.

Here in Santa Rosa, a friend who runs Atlas Coffee has taken matters into his own hands. He acquired the 500-gallon storage tank shown here:

Since that photo was taken, he’s hooked it up to a pump. Rainwater flows off the roof, it’s pumped into the tank, and then it irrigates the plants. It’s a wonderful idea that I’m sure has occurred to other homeowners and businesspeople, but you don’t see many other implementations around town. And as El Niño approaches, other priorities will understandably loom larger. Hydro-engineering projects, even relatively simple ones like this, are daunting. And the problem really needs to be addressed at much larger scale.

On that larger scale we still tend to imagine hydro-engineering projects, bigger ones like raising the height of the Shasta Dam to the tune of $1.2 billion [High Country News]. That sounded plausible to me. Then, last night, I watched a PBS documentary on beavers. I’m a sucker for nature documentaries, and I’ve missed seeing beavers since moving to California, they were everywhere in New Hampshire, so it was fun to watch them in action. Then this segment grabbed me:

Here’s a bit more of the backstory. In the Susie Creek watershed near Elko, Nevada, the land’s been drying out since cattle began grazing it 200 years ago. Beavers, reintroduced recently, reversed that trend. In this post, the Resilient Design Institute’s Alex Wilson refers to the same clip I quoted above:

The excellent 2014 PBS Nature documentary Leave it to Beavers describes how beavers modify the landscape to retain moisture. It turns out that beavers don’t only create ponds by damming creeks, the excavate ponds deeper, allowing them to hold more water. Biologist Glynnis Hood, Ph.D., who has been studying beavers near Edmonton, Alberta, described how important a role beavers play in Alberta by holding water.

“In 2002 we had the worst drought on record,” she reported. “The only places where we had water in natural areas was where we had beaver, and farmers were actually seeking out neighbors who had beavers on their landscape to water their cattle. So with beavers back on the land, even during the worst drought on record, they were mitigating the effects of drought and keeping water on the landscape.”

That idea was echoed in the PBS documentary by hydrologist Suzanne Foudy, Ph.D., of the U.S. Forest Service in describing the impact new beaver arrivals have been having on Susie Creek in north-central Nevada, near Elko. “If the snowpack’s coming off earlier and ranchers want water,” she said, “then we’ve got to figure out a way to keep it on the landscape, because it’s no longer going to be stored as snow in the mountains.” She continued: “What beavers do in all these itty-bitty streams is they create these small savings accounts, these pockets where it’s stored — no longer as snow, but as surface and groundwater.”

I’ve always enjoyed watching beavers and thinking about their effects on my local environments. But I never realized that the species as a whole can provide a critical ecosystem service at large scale. Here’s hoping that California will recruit them to help us replace a dwindling snowpack with water stored on the land. And that, as a bonus, I’ll get to see them more often again.

Humane local transportation

The recent documentary film Slingshot, about Dean Kamen’s quest to deliver water purification systems to the billion of us who need them, touches only briefly on the invention for which Kamen is most widely recognized: Segway. Almost everyone’s heard of the self-balancing electric scooter, though far fewer can name its inventor. Despite Segway’s fame, conventional wisdom says it was a failure: an overhyped product that solved no important problem.

At one point in the film we see Kamen gliding around his property in New Hampshire, reflecting on the unsustainability of a civilization whose organizing structural principle has been the automobile. Looking back over my recent blog posts I can see it’s a topic that’s been much on my mind. This picture illustrates two very different options available to me when traveling between our home (1) in Santa Rosa’s West End and Luann’s studio (6) in the SOFA arts district downtown.

The yellow path traverses two structures that bisect the town: the 101 freeway and the Santa Rosa Plaza, our downtown mall. It’s a walkable journey — with difficulty — but not a cyclable one as the path of least resistance runs through the interior of the mall. You won’t enjoy the walk, though. It entails long periods of waiting at stop lights to cross roads that, depending on time of day, may carry much or very little vehicular traffic.

The green path, meanwhile, runs along the Prince Memorial Greenway. Begun in 1989, not long after the mall was built, the greenway both restored the ecologically damaged Santa Rosa Creek and opened up an ideal route for walking, cycling, and — though I’ve yet to see it there — Segwaying.

Some say that Segway was never destined to coexist with automobile-based infrastructure. It could only succeed in yet-to-be-built cities defined by an alternative pattern language that describes RING ROADS, LOCAL TRANSPORT AREAS, and PEDESTRIAN PATHS. That might be true. But while some of the 300 million Chinese expected to urbanize by 2030 [Forbes] may land in such cities, most of us inhabit legacy infrastructure that allocates large amounts of urban space to the temporary storage of automobiles, and equally large amounts to their roadways.

The pervasive fabric of concrete and pavement feels permanent, unchangeable. And yet I traverse it easily. Last month, walking along the creek within view of the 101 freeway, I saw a merlin taking a bath. Neither of us was bothered by traffic noise, the sonic barriers around the freeway at that point are highly effective. What would it take to weave more of these corridors into our cities and flow non-automotive traffic through them?

Stymied by that question, Dean Kamen asked a different one: What would it take to deliver reliable high-capacity low-power vapor compression distillers to the people who need them? Actually inventing and refining a reliable high-capacity low-power vapor compression distiller is necessary but not sufficient. You need to distribute that gear worldwide and support its ongoing use. Governments lack the expertise and capacity to do that. The Coca-Cola company not only has both but also, it turns out, a mandate to offset the water impact of its business. The effort to purify the world’s water is now a Coke / DEKA partnership.

It has been a long road for Slingshot but thanks to that partnership I now think Kamen’s vision for clean water can be realized in my lifetime. I’m less optimistic about living to see the realization of his vision for humane modes of local transportation. But I’m willing to be surprised. And I wonder what unsuspected distribution partner might help bring the change.

Faithful reanimation of born-digital artifacts

Here’s a glimpse of a capability I’ve long imagined:

It’s a picture of me browsing my December 1995 BYTE column, using the same browser — Netscape Navigator 4.0 — that I used when I wrote the column 20 years ago. You can try this yourself, for any archived website, using oldweb.today, a new project by the brilliant web archivist Ilya Kreymer. I’ve gotten to know Ilya by way of Hypothesis. We use his pywb proxy (hosted at via.hypothes.is) to inject our annotation software into web pages.

The rhizome.org blog has the scoop on oldweb.today’s lightweight emulation strategy. It’s a harbinger of things to come. Much of our cultural heritage — our words, our still and moving pictures, our sounds, our data — is born digital. Soon almost everything will be. It won’t be enough to archive our digital artifacts. We’ll also need to archive the software that accesses and renders them. And we’ll need systems that retrieve and animate that software so it, in turn, can retrieve and animate the data.

The enabling technologies are coming together quickly. Cloud-based computing keeps getting better and cheaper. The Docker revolution makes it radically easier to save and recreate complex software configurations. For the most part we benefit from this new infrastructure without noticing it or thinking about it, and that’s a good thing.

With oldweb.today, though, it’s hard not to notice or think about the infrastructure that delivers this magic into your browser. That’s a good thing too. It’s useful for everyone to have some awareness of what’s required to experience cultural artifacts with original fidelity, or to reliably reproduce scientific experiments. Ilya’s project isn’t only a great way to revisit the early web. It’s also a signpost on the road to these futures.

The downtown space station

An article I read years ago, and wish I could find again, claimed that America’s first enclosed shopping malls were designed to evoke the space stations of the mid-twentieth-century sci-fi imagination. I don’t know if that’s true but they do share a common design: the long central axis, with attached pods bathed in artificial light and recirculated air.

Until we moved to Santa Rosa, I rarely visited an enclosed mall. There wasn’t (and still isn’t) one in Keene, NH, which suited me just fine. I’ve always been allergic to the experience that malls try to create.

Here, though, the Santa Rosa Plaza (5) is a obstacle I ofen encounter when I walk between our home (1) in the West End and Luann’s studio (6) in the SofA district.

There is, thankfully, an alternative. The Prince Memorial Greenway runs along both sides of Santa Rosa Creek (4). It takes you around or under both of the structures that so heinously divide our part of downtown from the main part: the 101 freeway and the mall.

I use the creek trail as often as I can. The areas under the freeway are brightened by vast painted and tiled murals. Wildlife sightings include fish, egrets, black-crowned night-herons and, one time, a merlin. I see some of my neighbors walking or biking along, and others — the homeless ones — encamped along the banks.

When I’m headed downtown, though, the path of least resistance is (1, 2, 3, 5, 7). As you can see it leads through the mall. Although 101 looks formidable, you can cross under it at many points visible in the photo: 3rd Street, 4th, 5th, and 6th. But there’s no getting around the mall! I’d have to detour south to 1st or north to 7th to avoid it.

So I end up walking through the mall a lot, along what would be 4th street if it still existed. I try to enjoy it, and if I pretend that I’m walking through a space station I almost can. But this space station has landed in the wrong place. It bisects downtown even more egregiously than the mighty 101 freeway. What the hell were they thinking?

Parking in San Francisco

Although we are country mice we do venture down to the city now and again, as we did Monday evening to meet friends for dinner. It is super uncool to arrive at a downtown San Francisco destination in a private automobile. Ambulation, Uber, skateboard, bike, even Segway would be better. But for us there isn’t a faster way to get there and back during non-commute hours so we drive. And when there’s no traffic that mostly makes sense. Mostly, of course, doesn’t include that final variable: parking.

We got to the restaurant at 7PM, pulled into Garage 1, and met the villain of our piece:

Villain: We close at 9.

Jon: OK. How much for 2 hours?

V: $25.

J: No sale.

A hundred feet south we enter Garage 2 and meet the saviour of the day:

Saviour: We close at 9.

Jon: OK. How much for 2 hours?

S: $15.

J: [thought bubble: Sold!]

S: But if you’re going to the restaurant, just park right there. [gestures at the prime spot in front of the restaurant’s entrance, marked ‘For Deliveries Only, No Parking’]

J: Thanks! [thought bubble: $0 < $15 < $25]

Not having been born yesterday I park there, and check in with the restauranteur:

Jon: That guy says I can park in front but I figured I’d check with you.

Restauranteur: Who the hell is that guy to say who parks in front of my restaurant?

J: That’s why I’m checking. So, it is OK?

R: Sure.

J: Thanks! [thought bubble: Go figure!]

Passenger rail in the North Bay

In May 1906, Collier’s published Jack London’s The Story of an Eyewitness, his report on the devastation wrought by the San Francisco earthquake. Earle Labor’s recent biography of London explains how the writer was able to commute from his home in Glen Ellen, on the slope of Sonoma Mountain, to the burning city.

“EARTHQUAKE” is the opening entry in Charmian’s diary for Wednesday, April 18, 1906.

By six o’clock Jack and Charmian were on horseback, riding up the mountain to their new ranch. From that height they could plainly see the great columns of smoke rising over San Francisco and, to the north, Santa Rosa.

That afternoon they took the train to Santa Rosa. That smaller city has been hit as hard as San Francisco and was a mass of smoking rubble. From there they went to Oakland and took the ferry over to the inferno that San Francisco had become.

They took the train, in other words, from Santa Rosa where I live now, to Glen Ellen, to Sonoma, and finally to Oakland. That mode of transportation, once taken for granted, has been gone for decades.

Last week, walking to a coffee shop in Santa Rosa’s Railroad Square, I took this photo:

It’s the SMART (Sonoma-Marin Area Rail Transit) train on one of its first trial runs. I saw it again later in the week, as I was crawling down to San Francisco in a river of traffic on 101. There, in the marshlands of Novato, on a long-abandoned track, was the SMART train cruising along.

I know little about the politics of SMART, a flawed initiative that will not, anytime soon, restore the mobility that Jack and Charmian London enjoyed more than a hundred years ago. It’s a pale reflection of how BART planners in the 1950s imagined serving the North Bay:

When SMART is operational I’ll still need to drive down to San Francisco, or take the bus, and endure insane traffic delays if I have to travel during prime commute times. Sadly, the first phase of SMART won’t even reach the Larkspur ferry.

But one day next year Luann and I will be able to walk a few blocks to Railroad Square, get on a train, ride to Petaluma, enjoy its downtown for a few hours, and return home.

Jack and Charmian, if you’re reading this somehow, I know, it’s ridiculous, and I apologize. We really did screw things up, and this is a rather pathetic step the right direction. But at least it’s a start.

Facts of Flight

This page makes me smile:

It’s from a 1963 publication called Facts of Flight: Practical Information about Operation of Private Aircraft, which was available for 50 cents from the U.S Government Printing Office. Luann found it at a thrift shop the other day, and I can’t decide what’s most charming about it. The saturated colors remind me of the children’s books I began bringing home from our public library in that same year. The graphics, quaint at first glance, turn out to be stunningly effective. The explanation of the physics of flight, equally effective, is the same as the one I got from my father who had flown a PBY Catalina during World War Two.

This enjoyable and informative book is attributed to no author. It is simply “a manual prepared by the Flight Standards Service of the Federal Aviation Agency, to provide the private pilot with information essential to the safe operation of his aircraft.” I’m delighted to know that our government was once capable of writing an enjoyable and informative book. And I love the implicit message that any U.S. citizen could be an aviator in need of a pamphlet on atmospheric pressure, lift and drag, pitch, roll, and yaw, carburetor icing.

A new lease on life

Two weeks ago I underwent surgery to replace both of my hip joints. I’d been having trouble since the summer of 2012, when running became painful and I found that I couldn’t mount my bicycle by swinging my leg over the seat. These were signs of what would be diagnosed, in April 2015, as moderate-to-severe osteoarthritis. It could have been diagnosed two years earlier, when I presented symptoms I identified as a groin pull and pain in my quads. But I was still able to be very active then and, after a round of physical therapy, regained much of the range of motion I’d lost the year before. Deep down I knew something was really wrong but I convinced my doctor and physical therapist that it was all muscular, that I’d be able to work through it, and that there was no need for an x-ray.

In reality the disease was progressing, and although I returned to cycling, hiking, and running, things never felt right. There were other signs. During my final season of firewood stacking, in the summer of 2013, I found myself sitting on a bench pitching logs. Around the same time I tried working at a standing desk but quickly abandoned that experiment. Stretching didn’t help because it couldn’t. Cartilage was eroding, bone spurs were deforming the balls of my femurs.

After our move to California last year, the signs became impossible to ignore. Halfway through a 12-mile hike at Point Reyes I had to admit I was in real trouble. I went to see Luann’s physical therapist, he leveled with me, and I just about took the poor guy’s head off. Being active is incredibly important to me, I’ve always feared loss of mobility, and I catastrophized the situation.

Conventional wisdom has been that you want to postpone surgery as long as possible. That would mean years of increasing pain and loss of function. I visited the surgeon who would ultimately fix me, Briant Smith, and learned two vital facts. First, the hardware has improved so much that there’s less incentive to delay surgery in order to avoid a repeat. Second, the anterior direct method is massively superior to earlier methods.

Direct anterior hip replacement is a minimally invasive surgical technique. This approach involves a 3 to 4 inch incision on the front of the hip that allows the joint to be replaced by moving muscles aside along their natural tissue planes, without detaching any tendons. This approach often results in quicker recovery, less pain, and more normal function after hip replacement. Because the tendons aren’t detached from the hip during direct anterior hip replacement, hip precautions are typically not necessary. This allows patients to return to normal daily activities shortly after surgery with a reduced risk of dislocation.

At that point I didn’t know when this would happen. Years? Months? Dr. Smith said: “When you can’t take it anymore, we’ll fix it.” A month later I was in San Francisco for a week-long series of events. The first morning I walked two miles, a distance that had been well within my tolerance until then, and was incapacitated. I hobbled through the week, unable to sleep, and pinged Dr. Smith. “Sometimes the progression is linear,” he said, “and sometimes you fall off a cliff.”

On my next visit we discussed tactics. Most bilateral hip replacements are done serially, so you’ve got one relatively good leg to stand on during recovery. In my case, both joints were about equally bad. Should I replace both at once? My primary doc didn’t recommend that. And Dr. Smith didn’t exactly recommend it either. But he let me know that it’s doable. “It’s a big wallop,” he said, and a slower recovery, but people in my cohort — athletic, mid-to-late fifties (I’m 58) — are having successful outcomes, and it’s great to get it over with in one go.

So I signed up for the twofer, and then had a few months to wait, research the topic, and talk to veterans of the bilateral procedure. People were reporting almost unbelievably good outcomes. One fellow I met told me that his post-surgical pain was so minor that he’d needed nothing stronger than Tylenol to control it.

And that’s exactly how it went for me. An hour after surgery I walked from the hospital bed to a recliner, using a walker for safety more than for support. The next day I walked 500 feet, not because I was pushing myself but because the physical therapist invited me to and was confident that I could do it safely. The day after that I walked 1000 feet, navigated some steps in the PT gym to ensure I’d be OK entering our house, and went home.

It really was a big wallop, and the energy that’s gone into healing hasn’t left much for higher-order brain function. I’m sleeping a lot, and only gradually getting up to speed with my work. But I’m gaining mobility, strength, and flexibility every day. I used the walker for a week, then graduated to hiking poles — again, more for security than for support. And despite having major carpentry work done to both sides of my skeleton — hammers, saws, dremels — the pain has been minimal, and I too have needed nothing stronger than Tylenol. It’s reasonable to expect that I’ll be hiking and cycling in a month or so, and doing those things pain-free for the first time in years. My range of motion is already better along some axes than it was two weeks ago, and should continue to improve. There’s residual numbness in the skin over my quads, and some puffiness around the incisions, but these effects are normal and should resolve. (No staples or stitches, if you were wondering, they use superglue now.)

What accounts for this astonishingly good outcome? It seems to be a combination of factors. Hip repair has always been more straightforward than knee or shoulder repair, and with the anterior direct method it’s radically better than it was. That’s a recent development, my surgeon only began using the technique five years ago. But the physical therapist and occupational therapist in the hospital told me that they’ve only been seeing outcomes like mine for about two years.

What changed? There’s some fancy gear involved. The Hana table, for example, enables precise positioning, but it’s been around for longer than two years. Maturation of surgical technique is clearly a key factor. When I asked Dr. Smith about this, he said: “Speed matters.” It only took three hours to upgrade both of my hips. I was reminded of Atul Gawande’s 2007 New Yorker story The Checklist, a precursor to The Checklist Manifesto. Part of that story follows a team in Austria that had tried unsuccessfully to resuscitate people who drowned or were buried in avalanches, then managed to save one person, and soon afterward several more.

One step went right after another. And, because of the speed with which they did it, she had a chance.

Another key factor, I suspect, is that surgeons are seeing more patients like me: active people in their fifties who want to stay active, and who are realizing that surgery — this one in particular — need not be postponed.

It’s still not a walk in the park. I’m moving slowly, and there’s a long road ahead. But two weeks ago, every step I took made things worse. Now every step I take makes things better. It’s miraculous, and I could not be more grateful. For most of human history my condition meant a lifetime of diminishing mobility and increasing pain that medicine could do nothing to help. Within my lifetime a fix became possible. In just the last two years it’s gotten incredibly good. I’m well aware that there’s plenty that can’t be fixed at all, never mind fixed so well. I know I’m a lucky guy to be here in 2015 and, crucially, to have health insurance. But I also think Dr. Smith is a lucky guy. Being able to improve lives in the way he has improved mine, day in and day out, has to be an amazing joy and privilege.

A Labor Day meditation on the future of work

I’ve always felt weird about my interview with Jeff Bezos. Amazon’s PR people set it up as a follow-on to a keynote he gave, in 2006, about the suite of web services then coming online: cloud-based storage, computing, and human labor (i.e. Mechanical Turk). This was for InfoWorld, back when it was a magazine printed on paper. The PR folks were determined that we would put Bezos on the cover. We’d already written about all that stuff, so that wasn’t going to happen unless the keynote yielded something new and important.

Predictably it didn’t. But as they led me to the backstage room for the interview they kept pushing for the cover. And something must have snapped. Because when I pointed my camcorder at Amazon’s CEO and began talking, I became somebody I’d never been before and have never been since: the pushy reporter who is determined to frame a narrative, who steers the interview that way, and who interrupts all efforts on the subject’s part to answer questions not asked.

I’m not linking to the video because I still feel conflicted about it, but it’s on YouTube and I watched part of it recently in the wake of the New York Times story about Amazon’s workplace culture. Mechanical Turk was top of mind for me when I did that interview. I had been a customer of a Turk-based service called CastingWords, to which I had outsourced the transcription of several of my then-weekly podcasts. To prepare for the interview I signed up as a Turker and walked a mile in the shoes of a podcast transcriber. Here’s how I reported the experience at the time:

Podcasts are chopped up into six-minute segments. Last night, the segment I transcribed was worth $1.02, which will be credited to my Amazon.com account (and can then be transferred to a bank account) if my work passes several quality review checks. These checks are themselves implemented as HITs [human intelligence tasks].

My encounter with Turk Work wasn’t very satisfying. There was no context, no orderly progression, no sense of collaboration, no awareness of (or pride in) a finished product. If you’re running an MTurk-enabled business, you have to focus on throughput and efficiency. That drives you toward assembly-line tactics. But as Nathan McFarland noted in our conversation, you’d also like to reward excellence:

“We’d be willing to pay certain workers more and other workers less, but that’s not an option right now.”

So for now, that’s a hard constraint. Here’s another. From my perspective as a CastingWords customer, there are clearly some transcribers who have a better feel for my material than others. I don’t know who they are, though, or who’s transcribed which parts of various podcasts. If the goal is maximum throughput, that may be necessary. But that’s not my goal. Transcribing 620 minutes of audio for $260 in six days was darned impressive, but two months later I’m still only halfway through the final polishing, which I’m tackling in fits and starts. If this winds up being a long-term relationship, I’d rather identify the transcribers who do well on my stuff and give them whole tasks. And some transcribers would likely prefer that too. I sure would. Apart from the question of whether it’s in CastingWords’ interest to allow such relationships to form, the current MTurk architecture precludes the possibility.

I pressed Bezos hard on that point. Too hard, some thought at the time. Perhaps they were right. Perhaps it was none of my business to suggest that Mechanical Turk ought to optimize for worker satisfaction as well as for throughput.

My first encounter with a digital sweatshop was in 1993, in Bombay (as it was called then). I was visiting a software industrial park. In one company’s office I saw a room full of desks at which workers were digitizing maps of US telecommunication infrastructure. It seemed like dehumanizing work. Then I looked out the window at laborers carrying piles of bricks on their heads in 100-degree-Fahrenheit heat and realized that those map digitizers, in their air-conditioned office, had some of the best jobs in town.

I have no inside knowledge of Amazon’s blue-collar or white-collar workplace cultures, so I’m in no position to judge. Given that MTurk was a forerunner of the gig economy, though, here’s the follow-up question I wish I’d asked Jeff Bezos then and would still like to ask now. Do you believe that optimizing for customer satisfaction and worker satisfaction is a zero-sum game?

“It is always quiet enough to talk”

Our favorite local spot in Santa Rosa so far is The Toad in the Hole. It’s an English-style pub on the west end of downtown, an easy walk from our house. We like their brews, we like their Cornish pasty, and most of all we like their atmosphere. Sports bars aren’t really our thing, nor is soccer, but while soccer games are often playing on TV, they’re not intrusive and not usually a focus of attention.

Toad in the Hole wants to be a place where people come together to talk. The flip side of the menu reprints a 1946 George Orwell essay, The Moon Under Water, a fictionalized amalgam of the best features of all the pubs he knew and loved. At the center of the essay is this pivotal sentence:

“In the Moon Under Water it is always quiet enough to talk.”

I’m not any kind of audiophile but I’ve long been bothered by the awful acoustics in so many establishments. It’s hard to have a conversation in a room full of music and voices bouncing off hard surfaces. And while it’s easy to mitigate those sounds with baffles, that’s rarely done. One reason Toad in the Hole lives up to Orwell’s ideal is that it gets that right. It eluded me on our first few visits, but the other night I looked up and saw this:

You can see two acoustic baffles hangling from the ceiling. There are more like that all around the perimeter. It’s a subtle thing that most patrons may not notice. But it makes a huge difference!

It’s also a nice lesson in product design. Vanish into the woodwork, solve problems that people may not even recognize in a way they may not even notice, and let them just get on with what they care about.

Farewell to bookmarklets

The Hypothesis web annotation system is a browser-based application that talks to an annotation server, finds annotations for the current page (if any), highlights the selections to which the annotations refer, and dispays them in a sidebar alongside the page. We load a fair bit of JavaScript to do our job, and in the olden days we would simply have relied on bookmarklets to activate that code.

But times change, and bookmarklets are mostly dead. They’re not all dead yet. I expect I’ll still be able to use simple ones, like pinboard.in‘s, for a long time to come. But a new security regime limits the scope of what bookmarklets can do, and is forcing developers to create browser extensions instead — extensions that must be created and deployed differently for each browser.

So the realm of web applications that extend the browser is now becoming as balkanized as the realm of mobile apps. Developers target the dominant platform first — currently, that’s Chrome — and then port their extensions to other browsers as and when they can.

There’s another way to add behavior to a web page, though. You can send the page through an intermediate server (a proxy) that injects that behavior as the bookmarklet or extension would do. The Hypothesis proxy is via.hypothes.is, and you can use it to activate annotation for any web page — including this one — like so:

https://via.hypothes.is/blog.jonudell.net/2015/05/13/farewell-to-bookmarklets

The nice thing about this combo URL is that you can share the annotated page along with its annotation layer. Of course there are tradeoffs:

– Properly rewriting all the URLs in the proxied page is a tricky business.

– You can’t annotate pages behind paywalls (as you can with our bookmarklet and Chrome extension).

– You still need a way to activate the annotation layer for the current page. (You can use a bookmarklet to redirect to the proxy, but … sigh.)

The upshot is that we’re struggling to simplify the decision tree that Hypothesis users must traverse. You want to activate annotation for your current page? If in Chrome, install the extension, otherwise for Firefox or Safari or IE use the bookmarklet, unless the page enforces Content Security Policy, in which case use the proxy, unless the page is behind a paywall, in which case, sorry, you’re out of luck.

And that’s just for the desktop! Mobile browsers make things even crazier. I’m able to perform the gymnastics required to use the Hypothesis bookmarklet on my Windows Phone, on my iPhone, and (most acrobatically) on my Android tablet, and I really need to document those procedures, but it’s so depressing I’ve avoided doing so.

What seems most promising, for mobile browsers, is to add Hypothesis as an option that shows up when you ask to Share a web page. Activating annotation for the current page isn’t really Sharing, but the Share mechanism looks like the sanest way to redirect through the proxy, which in turn looks like the sanest way to activate the annotation layer in mobile browsers.

It looks reasonably straightforward to create an Android app that shows up when you Share a page and broadcasts the intent to view the proxied version of that page. Things look a bit more complex on iOS. Should there be a Safari-specific extension that redirects to the proxy? A system-wide Share extension that Chrome could also use? Both?

Of course activating Hypothesis on the mobile browser is only half the battle. As a sidebar-based app we manage pretty well on the desktop and large tablets, but are uncomfortable on smaller screens. If we’re routing through a proxy anyway, maybe the proxy should also do a Readability-style rewrite to simplify the page. We’re good at fuzzy anchoring and can anchor annotations to different representations of the “same” document.

There’s lots to do, and while bookmarklets will continue to help us do it, their era is over. Browsers are more standards-compliant than ever, which makes our mission to bring an annotation layer to the web easier than it would have been five or ten years ago. But browsers are now also less easily extensible and that’s a new challenge.

My last run

Here’s a picture of my last run.

I don’t mean last as in most recent. I mean last in my lifetime. What I thought was a groin pull a few years ago turns out to have been hip osteoarthritis.

So that sucks. It isn’t life-threatening. I am OK and will be better. It’s not breast cancer, or macular degeneration, or any number of worse things that friends and family have suffered through. I get that. But it’s going to be a hell of an adjustment for me. I’m an active person. I was always planning to be that guy who does mini-triathlons into his 80s. Turns out that wasn’t in the cards.

There’s a tendency to blame yourself. If only I hadn’t been a runner all those years. Or maybe if I hadn’t been a gymnast before that, and landed hard a bunch of times. But the orthopedic surgeon who will repair me, at some point, said no. It’s not your fault. Plenty of people run in their 80s. Some gene now being expressed says you’re not one of them.

I guess the strangest part of the experience is that I never located the problem in my hip. Or, actually, in both of them. Hip osteoarthritis can manifest as groin pain, so that’s what I told myself was happening — and only on the right side. Yeah, it shouldn’t go on for 3 years. Yeah, your quads shouldn’t hurt like hell after a run or a long hike. Yeah, you shouldn’t dramatically lose range of motion in your legs. Yeah, it shouldn’t keep you up at night.

But the brain is powerful. It enabled me to believe, for several years, that this was just one of those soft-tissue injuries I’ve worked through in the past. With stretching, and the right kind of exercise, I’d get through it, just like I always have.

Then I went to see Luann’s physical therapist and he leveled with me. This was 99% certain to be osteoarthritis. There was no other explanation for my symptoms. I feel bad for the PT because I went kinda ballistic on him. I knew he was right, and I started cursing like a sailor because I knew what it meant.

And suddenly things felt different. I began to visualize what was going on in my joints, and my subjective experience began to shift. A week later the orthopedic surgeon showed me the X-rays and that really clinched it. The balls in both of my ball-and-socket joints are deformed, it’ll get worse until I cry uncle and replace them. I’m feeling that now in a way I was denying for years.

The good news is that we live in a time when that’s possible. And that hips are way easier than knees. (Luann already replaced one, may face another.) And that we have health insurance. And that we’ve moved to a place where cycling — my best exercise at this point — is a year-round activity.

I don’t know if I’ll pull the trigger in a year, or two, or five. I’m guessing not longer than that. I took a 2-hour hike yesterday and I’m really feeling it today. That’ll only get worse. When they fix me I should be fine doing things like that.

But no more running, ever. I’ll adjust. But it’s hard to let go. And it’s hard to explain to Tuck. We brought him home in 2009, he was our first dog ever, and he got the job because he was the best of his siblings at running alongside me. Now he looks at me and wonders why we don’t do that anymore. Sorry, pal. Really wish we could.

Adventures in annotation

I just wrote my first blog post for Hypothesis, the web annotation startup I joined recently. In the post I talk about how a specific feature of the annotator — its ability to sync annotations across local and/or web-based copies of the same file — illustrates a general approach to working with copies of resources that may live in many places and answer to many names.

When I finished drafting the post I pinged Dan Whaley, founder of Hypothesis, to review it. Here’s the IRC chat transcript:

Jon: https://hypothes.is/?p=3705&preview=true

Dan: I'm annotating!

Jon: The preview URL?

Dan: :-)

I was a bit surprised. The preview URL was password-protected but annotations against it would not be, they’d show up in the public annotation stream. But hey, I’m all about transparency when appropriate, so bring it!

Over the next few minutes we traded annotations and I tweaked the post. Here’s a picture of Dan asking to add space around an element.

And then jgmac1106 jumped in.

That’s Greg McVerry, an enthusiastic user of Hypothesis. I’d been in touch with him earlier that day because he’d asked a question about local annotation of PDFs, we’d conversed, and I wrote the post partly to answer the question as broadly as possible. I couldn’t easily grant him access to the preview, but I’d sent him a copy of the post as an attachment. And suddenly there he was, contributing to the collaborative edit that Dan and I were doing. It was a nice surprise!

After I published the post I got another nice surprise. I had realized that the annotations on the preview would remain visible in Hypothesis. But when I cited it in an internal forum, Dan responded with the canonical WordPress URL, https://hypothes.is/blog/synchronizing-annotations-between-local-and-remote-pdfs/, and when I loaded that into a tab where Hypothesis was active, all the preview annotations were intact.

It took me a minute to realize how that was possible. A WordPress preview URL knows the eventual URL at which a post will appear, and encodes it in the HEAD section of the HTML document like so:

<link rel=”canonical” href=”https://hypothes.is/blog/synchronizing-annotations-between-local-and-remote-pdfs/”&gt;

When the Hypothesis service receives an annotation for the preview URL that declares a canonical URL, it remembers both as aliases of one another. That is, of course, exactly the point I was making in the post.

We hadn’t planned on this but, as a result, you can see the chatter that preceded publication of the post, as well as chatter since, through the lens of Hypothesis, at either the preview URL or the published URL.

Note that you don’t need to install the Hypothesis extension, or use the bookmarklet, to load Hypothesis on our blog, because it’s already embedded there. You only need to activate Hypothesis as shown here (click to play the mini-screencast).

I haven’t thought through all the collaborative possibilites this will enable, but it sure makes my spidey sense tingle.

Annotating the web: my new job

I’m delighted to announce that I’ll start a new job tomorrow, as product manager for Hypothesis. We’re a small team chartered to build open annotation software for the web. We expect it will be useful in many domains, including education, science, journalism, and government.

Some of you who know me in one or another of those contexts will be hearing from me in coming weeks. I’ll want to know how you annotate the web now, what you need annotation software to be, and how we can work together to meet that need.

I’ve long imagined a standards-based annotation layer for the web. Now’s my chance to help make it real. Exciting! If you’d like to get involved, ping judell at hypothes.is.

Can Santa Rosa become a city that thinks like the web?

I want cities to connect the dots between open government, web literacy, and citizen engagement. And I want to help the city I live in do that. For many years that city was Keene, NH, and while I can point to a few successes I can’t say that Keene is now a great model of the kinds of web-mediated engagement I envision.

Now that I live in Santa Rosa, I’ll try to help my new city connect those dots. The timing is fortuitous. In the wake of the 2013 Andy Lopez shooting Santa Rosa’s then-mayor Scott Bartley appointed an Open Government Task Force. The charter was:

…to develop a report that will inform the community about the current status of open and transparent government practice in the City of Santa Rosa; to review the exceptions, limitations and restrictions imposed by State or Federal law or Constitution; and to present options for improvement or additional best practices that the Mayor and City Council may wish to consider.

The final report, happily, takes a holistic view that encompasses not only government transparency but also citizen engagement. That’s the area in which I think I can help.

In The Church of One Tree: A civic parable I looked at how government and citizens interacted on a couple of issues, and explored some ways in which better web literacy could have improved those interactions.

Today the Press Democrat ran my editorial, Open government is a two-way street, which distills the pitch down to 600 words.

Can Santa Rosa become a city that thinks like the web? It seems genuinely to want that. If so, I’m here to help!

Remembering Bob Stout

A couple of years ago I wrote about recovering from an injury. At the time I thought it started as a pulled muscle that cascaded when my determination to keep running and cycling led me to compensate with various misalignments. The physical therapists I saw at the time agreed, so when the acute phase died down we worked on restoring the range of motion I’d lost in my right leg. I recovered some, but not all, of that range, and eased back into hiking, and then running and cycling.

Things haven’t felt right since, though. I’ve never regained my full range of motion in that leg, and I’ve been feeling a lot of discomfort in both quads as well as in the right groin where the initial problem began.

When I talk about full range of motion I mean something different from what most people mean. Take a look at this young man doing front stalders on the horizontal bar. Think about the leg and hip flexibility required to do that. In high school and in college I used to do stalders. Since then I never lived near a gym where I could swing on a high bar, though it’s something I still dream about, could do, and would do if there were a gym that had the gear and would let me use it.

It’s natural to assume that only a young person can be that flexible. Not so. There have been a few role models in my life who have shown me what’s physically possible in later life, and one of them was Bob Stout. In 1952 he was a U.S. Olympic gymnast. In 1972, when I was getting into the sport as a 15-year-old, he worked out with my high-school team and showed us that a man then in his late forties could still hold an iron cross on rings (something I could never do), swing high bar, and demonstrate the full hip extension required for the stalder. As far as I know he was still doing those things when he died at age 56, of a heart attack, while jogging.

I am 58. Until recently I could also reach nearly that same hip extension. Then, after the incident a couple of years ago, my flexibility diminished by a lot. The hypothesis I hope will prove true is that I got myself into a vicious cycle. An injury made it hard to stretch, so I avoided stretching, which made stretching even harder. Ditto for squatting. I’ve been avoiding it because it was uncomfortable, that made it even more uncomfortable.

The hypothesis I am afraid will prove true was suggested by a physical therapist I saw last week. He thinks I have osteoarthritis of the hip. If he’s right, I’m looking at no more running, reduced hiking, lots of pain management in order to maintain activities like hiking and cycling, and joint replacement at some point. I guess the X-ray will tell the tale, and that won’t be for a few weeks. Meanwhile, it’s suddenly a high priority to maximize strength and flexibility. Whatever the state of my hip joint(s) turns out to be, those will be key assets.

I know how to maintain those assets. I don’t know what the limits of recovery are, once muscle has been allowed to atrophy and connective tissue to tighten. So, I’m doing that experiment now. I’ve seen noticeable improvements just in the past few days. I have no idea how far I’ll get, but I’m grateful to Bob Stout for his inspiring example.

On getting paid (or not) to write

Danielle Lee writes the Urban Scientist blog for Scientific American. In 2013 she wrote a post about an ugly incident in which she was invited to write for Biology Online, asked about payment, declined the offer when she learned there would be none, and was called a whore. Scientific American took down the post an hour after it was published, late on a Friday, and then restored it the following Monday after verifying DNLee’s claim. The Biology Online editor’s name-calling was horrific. But his email also included a lesser insult:


You will enjoy a great deal of exposure from our 1.6 million monthly visitors.

I heard the same thing from Wired a few years ago, when I was invited to write an online column. They weren’t paying. But I was otherwise employed, I missed writing for a wider audience than my blog attracts, and I bought the claim that appearances on Wired.com’s home page would yield useful visibility, feedback, and engagement.

It didn’t work out that way. That was the loneliest writing gig I’ve ever had. On-site comments were few and far between. And reaction elsewhere — on Twitter, in the blogosphere — was anemic as well. I felt like I was talking to myself in an empty room while, below in the engine room, machines were talking to other machines, spinning page counters unconnected to any real audience.

Now I’m writing for InfoWorld again, and it’s a much more pleasant experience. That’s partly because InfoWorld does pay contributors. It’s not a living. The world has changed since I left InfoWorld 8 years ago, when there was still a print magazine. But there’s a real exchange of value.

As important to me, if not more important, is the connection to an audience. With InfoWorld I’m feeling that connection again. I can see conversations forming around my columns and features, and those conversations lead me to new ideas. That’s a dynamic I cherish.

Could I still earn a fulltime living writing about technology? Probably not, and I’m sometimes wistful about that. It’s something I do really well; arguably it’s my strongest talent. But the world’s supply of creative talent far exceeds the commercial demand for it. The vast majority of writers, artists, and musicians need day jobs. That can be a good thing. In my writerly niche it certainly is.

The kind of technology journalism I’ve practiced didn’t exist until BYTE came along in the 70s. Like all the tech publications that followed, we faced a dilemma. Do you hire practitioners who can learn to write? Or do you hire journalists who can learn about technology?

The best answer, of course, was (and is): Hire practitioners who are also reporters and writers. Then make sure they keep developing their practical knowledge and skills. At BYTE, and then at InfoWorld the first time around, I was blessed with the opportunity to do that. Such opportunity may not come again. That’s OK. I need to be able to deliver value in other ways too. Doing so will keep me from devolving into a pundit.

What’s not OK is writing for commercial publications that don’t pay. If there’s no market for something I want to write, I’ll put it here instead of on Medium or Facebook or some other site that earns in the currency of dollars but pays in the currency of (presumptive) attention.

Fringe benefits of the attention economy

A decade ago I captured the peak of my Internet fame in this screenshot:

That was near the end of an anomalous few years during which the top result, when searching Google for “jon,” was my blog. I enjoyed it while it lasted, knowing that Jon Stewart would inevitably eclipse me, as he did in 2005 and as many others have since.

I was among the first to write professionally for the web, so for a while many of the pages in Google’s index containing “jon” were mine. That was just a lucky first-mover advantage. I knew it would erode over time as, appropriately, it has.

I still enjoy some residual benefits, though. My blog’s popularity translated to Twitter when it appeared on the scene, and although my Twitter reach has grown only modestly since, I was recently reminded that it remains another kind of first-mover advantage.

When United charged me for an error it made on a recent flight reservation, none of the regular customer service channels were responsive. So:

And then:

I’m hardly a celebrity on Twitter, but airing my complaint in a way that 5000 people might notice got results. I was grateful, direct-messaged my thanks, and received this DM reply:


You’re welcome, be sure to tweet us if you need anything. ^HN

I certainly will. But your mileage will almost certainly vary. Of those who try this method, how many will have enough Twitter reach for United to worry about? When I mentioned that on Facebook, Tony Byrne said:


I’ve wondered a lot about the equity of this. Supposedly social customer supt costs 8x traditional cust supt but brands do it for precisely the reason you cite and they are very aware of your Klout score when you complain. Too many of us digerati remain too smug about this, as if we deserve special treatment for being active on Twitter…

There’s nothing new about the attention economy. But there are always new ways to unfairly distribute attention.

Online scientific collaboration: the sequel

In 2000 I was commissioned to write a report called Internet Groupware for Scientific Collaboration. That was before modern social media, before blogs even really got going. But arxiv.org was already well-established, and wikis and calendar services and Dave Winer’s proto-blog, Manila, and many kinds of discussion forums were relevant to my theme. On the standards front, RSS, MathML, and SVG were emerging. One of my premonitions, that lightweight and loosely-coupled web services would matter, turned out to be accurate. Another, the notion of a universal canvas for creating and editing words, pictures, data, and computation, remains part of the unevenly distributed future, though projects like IPython Notebook and Federated Wiki rekindle my hope that we’ll get there.

Now I’m writing an update to that report. There’s unfinished business to reconsider, but also much new activity. Scientific collaboration happens in social media and on blogs, obviously. It happens in scientific social media. It happens in and around open access journals. It happens on GitHub where you can find open software and open data projects in many scientific disciplines. It happens on Reddit, on StackExchange-based Q&A sites, on citizen science websites, and in other places I don’t even know about.

I want to interview researchers engaged in various aspects of online scientific collaboration. I’m well connected to some of the tribes I need to reach, but need to cast a wider net. I want to hear, from practitioners in natural sciences, social sciences, and digital humanities, about ways you and your colleagues, in disciplines near and far, do, and/or don’t, collaborate online, both in specific contexts (OA journals, academic social networks) and wider contexts (blogs, mainstream social media). How does your activity in those settings advance your work (or not)? How does it help connect your work to society at large.(or not)?

If you’re somebody who ought to be involved in this project, please do get in touch here or here. And if you know someone who ought to be involved, please pass this along.

Thanks!