Tim Bray on Purple Numbers

I’ve long been a fan of Tim Bray‘s work, and although we had never crossed paths before, I had always assumed it would be instigated by me making some comment about something he had done or written about. (A few months back, I emailed him about ballparks in the Bay Area, because we seem to share a love for the sport, but that doesn’t count.) So I was surprised and pleased to see that Tim had made first contact and had (temporarily, as it turned out) implemented Purple Numbers on his blog. Not surprisingly, this is starting to generate some talk in the blogosphere. In particular, see:    (1G9)

Chris has done an excellent job of quickly addressing many of these issues. I’ll just toss in a few thoughts and references here and will look forward to more feedback.    (1GE)

Stable, Immutable IDs    (1GF)

Several people have pointed out that the IDs need to be stable. In other words, as the paragraphs move around or as new ones are added or deleted, the IDs stick to their original paragraphs. This was a fundamental motivation for Engelbart’s statement identifiers (SIDs), which we have renamed node identifiers (NID).    (1GG)

Both Purple (which needs updating) and PurpleWiki handle this correctly. You’ll notice that the addresses are stable on my blog and on Chris’s, as well as on all of the PurpleWiki installations (e.g. Collab:HomePage, PurpleWiki:HomePage). It’s because we use plugins for our respective blog software that call PurpleWiki‘s parser, which manages NIDs for us.    (1GH)

By using PurpleWiki to handle the purpling, blog content has NIDs unique to both the blog and the Wiki, which allows us to do fun stuff like transclude between the two. We get a similar effect with perplog, the excellent IRC logger written by Paul Visscher and other members of The Canonical Hackers. For example, check out Planetwork:Main Page and the chat logs over there.    (1GI)

Mark Nottingham noted that even if the NIDs are stable in the sense that they are attached to certain paragraphs, the paragraphs themselves are not semantically stable. This is a point on which I’ve ruminated in the past, and we still don’t have a good solution to it.    (1GJ)

History and Other Worthy Projects    (1GK)

I’ve written up my own brief history of Purple Numbers, which fills in some holes in Chris’s account. In it, I mention Murray Altheim‘s plink. Plink is no longer available on the net, because it has been subsumed into his latest project, Ceryle. Everything that I’ve seen about Ceryle so far kicks butt, so if you’d like to see it too, please drop Murray an email and encourage him to hurry up and finish his thesis so that he can make Ceryle available! You can tell him I sent you, and you can forward him the link to this paragraph; he’ll understand.    (1GL)

Matt Schneider is the creator of the PurpleSlurple purple numbering proxy, which will add Purple Numbers to any (well, most) documents on the Web. PurpleSlurple deserves a lot of credit for spreading the meme.    (1GM)

Mike Mell implemented Purple Numbers in ZWiki for last year’s Planetwork Conference (see ZWiki:ZwikiAndPurpleNumbers), which in turn influenced the evolution of Purple Numbers in PurpleWiki. Mike and Matt have both experimented with JavaScript for making the numbers less intrusive.    (1GN)

The latest version of the Compendium Dialogue Mapping tool exports HTML maps with Purple Numbers.    (1GO)

In addition to Murray, Matt, and Mike, several other members of the Blue Oxen Associates Collaboration Collaboratory have contributed to the evolution of Purple Numbers, especially Peter Jones, Jack Park, and Bill Seitz. In addition to his contributions to the technical and philosophical discussions, Peter wrote the hilarious Hymn of the Church Of Purple and excerpts of the Book of the Church Of Purple.    (1GP)

Finally, many good folks in the blogosphere have helped spread the meme in many subtle ways, particularly those noted connectors Seb Paquet and Clay Shirky.    (1GQ)

Evangelism and The Big Picture    (1GR)

Okay, that last section was starting to sound like an award acceptance speech, and although none of us have won any awards, one thing is clear: The contributions of many have vastly improved this simple, but valuable tool. I’m hoping that momentum picks up even more with these recent perturbances. I’m especially heartened to see experiments for improving the look-and-feel.    (1GS)

I want to quibble with one thing that Chris Dent said in his most recent account. (When we have distributed Purple Numbers, I’ll be able to transclude it, but for now, you’ll just have to live with the cut-and-paste):    (1GT)

When he [Eugene] and I got together to do PurpleWiki, we were primarily shooting for granular addressability. Once we got that working, I started getting all jazzed about somehow, maybe, someday, being able to do Transclusion. Eugene was into the idea but I felt somehow that he didn’t quite get it. Since then we’ve implemented Transclusion and new people have come along with ideas of things to do that I’m sure I don’t quite get, but are probably a next step that will be great.    (1GU)

There are many things I don’t quite get, but Transclusions are not one of them, at least at the level we first implemented them. That’s okay, though. Ted Nelson felt the same way about my understanding of Transclusions as Chris did, although for different reasons. (And, I suspect that Ted would have had the same opinions of Chris.) I mention this here not so much because I want to correct the record, but because it gives me an excuse to tell some anecdotes and to reveal a bit about myself.    (1GV)

Anyone who knows Doug Engelbart knows that he complains a lot. The beauty of being an acknowledged pioneer and visionary is that people pay attention, even if they they don’t think much of those complaints. When I first began working with Doug in early 2000, I would occasionally write up small papers and put them on the Web. Doug would complain that they didn’t have Purple Numbers. At the time, I recognized the value of granular addresses, but didn’t think they were worth the trouble to add them to my documents. I also didn’t think they were the “right” solution. Nevertheless, because Doug was Doug, I decided to throw him a bone. So I spent a few hours writing Purple (most of which was spent learning XSLT), and started posting documents with Purple Numbers.    (1GW)

Then, a funny thing happened. I got used to them. I got so used to them, I wanted them everywhere.    (1GX)

A few people just get Purple Numbers right away. Murray was probably the first of those not originally in the Engelbart crowd to do so; Chris followed soon thereafter, as did Matt. The vast majority of folks get the concept, but don’t really find them important until they start using them. Then, like me, they want them everywhere. Getting people past that first step is crucial.    (1GY)

A few nights ago, I had a late night conversation with Gabe Wachob (chair of the OASIS XRI committee) on IRC. (This eventually led to a conversation between Chris and me, which led to Chris’s blog entry, which led to Tim discovering Purple Numbers, which led to this entry. Think Out Loud is an amazing thing.) Gabe knew what Purple Numbers were, but hadn’t thought twice about them. I had wanted to ask him some questions about using XRI addresses as identifiers, and in order to do so, I gave him a quick demonstration of Transclusions. The light bulb went off; all of a sudden, he really, truly got it.    (1GZ)

Richard Gabriel, one of our advisors, is well known for his Worse Is Better essays (among other things). I think Purple Numbers are an outstanding example of Worse Is Better. They fulfill an immediate need, and they cause us to think more deeply about some of the underlying issues. I’d like to see Purple Numbers all over the place, but I’d also like to see a group of deep thinkers and tinkerers consider and evolve the concept. It’s part of a larger philosophy that I like to call The Blue Oxen Way.    (1H0)

This last point is extremely important. Chris has thankfully been a much more enthusiastic evangelist of Purple Numbers than I have, and in the past he’s called me “ambivalent” about Purple Numbers. That’s not so far from the truth. It’s not that I’m any less enthusiastic about Purple Numbers themselves — I am a card-carrying member of the Church Of Purple, and the current attention and potential for wider usage thrill me. However, I’m cautious about evangelizing Purple Numbers, because I don’t want people to get too caught up in the tool itself and forget about the bigger picture. It’s the reason I didn’t mention Purple Numbers at all in my manifesto.    (1H1)

At the Planetwork forum two weeks ago, Fen Labalme, Victor Grey, and I gave the first public demo of a working Identity Commons Single Sign-On system. We were tickled pink by the demo, which to everyone else looked just like any other login system. The reason we were so excited was that we knew the system used an underlying infrastructure that would eventually enable much greater things. The demo itself, unfortunately, didn’t convey that to anyone who didn’t already understand this.    (1H2)

I’m probably a bit oversensitive about this sort of thing, and I’m constantly seeking better balance. But it’s always in the back of my mind. When I talk to people about Blue Oxen Associates, I usually spend more time talking about the sociological aspect of collaboration rather than the tools, even though I have plenty to say about the latter. Can Purple Numbers make the world a better place? I truly, honestly, believe that they can. (This is a topic for another day.) But when I see groups that excel in collaboration (or conversely, those that stink at it), Purple Numbers are usually the furthest thing from my mind. Much more important is the need to identify and understand these patterns of collaboration (of which tool usage is an important part).    (1H3)

PlaNetwork Conference 2004 in San Francisco

The 2004 PlaNetwork Conference is next weekend, June 5-7, 2004, at the Golden Gate Club in San Francisco. This will be the place to gather to talk about the upcoming election, Online Activism, Environmental Sustainability, Social Justice, and applying technology towards furthering all of these causes. Joan Blades of MoveOn and Ben Cohen (the “Ben” in Ben & Jerry’s) of TrueMajority will be keynoting this year.    (1FT)

As I mentioned previously, Blue Oxen Associates is codesigning this year’s event with Tomorrow Makers. The InterActive component is going to be a great place for people to gather, learn, and make connections (both the personal and the knowledge kinds). It will also be a great demonstration of some of the hybrid collaborative processes I’ve talked about so often in this blog and elsewhere.    (1FU)

We’ll also be demonstrating the first prototypes of the Identity Commons system. More on this later.    (1FV)

We’ve set up a conference Wiki for the event itself and also for conversing before and after the event. We also have an IRC channel on Freenode (irc.freenode.net, #planetwork) with logs. I’ll be on that channel a lot over the next week or so, so be sure to drop by and say hello. Finally, if you plan to blog about the conference yourself, please see Planetwork:BloggingTheConference.    (1FW)

I hope to see many of you there. It will be a great opportunity to meet, organize, have fun, and do lots of good.    (1FX)

Videocast at The Competitive Edge

I’ll be participating in this week’s The Competitive Edge event (part of Kolabora Online). Robin Good will interview me and Stuart Henshall this Thursday, May 27, at 9am PDT. I’ll be talking about my manifesto. The event will be a live videocast that anyone will be able to view via a Flash-enabled browser. Please register and drop by; would love to see you there.    (1F5)

Manifesto Summit; More Responses

In the two weeks since I last responded to feedback about my manifesto, there have been several other interesting comments. Before I respond to those, I want to make a couple of announcements. First, this Thursday (April 29), I’m presenting the manifesto at SRI‘s Artificial Intelligence Center at 4pm in Menlo Park, California. The talk is free and open to the public.    (1E2)

Second, Blue Oxen Associates is once again helping design this June’s Planetwork Conference in San Francisco. In addition to the usual lineup of great speakers, including TrueMajority‘s Ben Cohen (the “Ben” in Ben & Jerry’s), there will be a parallel interactive component. The format will be self-organizing, in some ways resembling Open Space, and is being designed by Tomorrow Makers (Gail Taylor and company) and Blue Oxen Associates. The purpose of the interactive component is to give people some basic infrastructure to discuss and work on topics of interest and also to enable different groups to connect and intertwingle.    (1E3)

I want to build on some of the interest that the manifesto has generated, and the Planetwork Conference offers a perfect venue to do so. I’d like to propose a summit at this June’s conference for everyone interested in pursuing greater interoperability between collaborative tools. If you’d like to attend, drop me an email, register for the conference at the web site, and rank the topic. I’ll followup later with more details.    (1E4)

On to the comments.    (1E5)

Empowering the Programmer    (1E6)

Several people forwarded Bill De Hora’s response to my manifesto. Bill quoted Chris Ferris:    (1E7)

“Interoperability is an unnatural act for a vendor. If they (the customer) want/need interoperability, they need to demand it. They simply cannot assume that the vendors will deliver interoperable solutions out of some altruistic motivation. The vendors are primarily motivated by profit, not good will.”    (1E8)

then added:    (1E9)

There’s a class of articles that tend to look to assign blame to programmers for what’s wrong with software…. I find them ferociously, willfully, ignorant on how software actually is conceived, designed, marketed, built and sold. Blaming programmers is intellectually slothful. We are, and let’s be clear about this, decades past the time the blame could be laid squarely at the programmers feet.    (1EA)

A Manifesto for Collaborative Tools veered close to that, while never quite getting there – exhorting developers, with only token gesture as to how decisions about software are made. Software is a complete commercial ecosystem that extends far beyond hacking code. Ironically like its observation of the semantic web, this manifesto is unlikely to take hold because it does not address the real issue, which is the marketplace and not technique. This failure in analysis is all the more frustrating as I agree with the essential sentiment expressed (we need better tools, now). Plus the writing is wonderful.    (1EB)

My essay isn’t about blame, it’s about empowerment. Bill is right in that I didn’t thoroughly discuss the role of the marketplace. That comes next. The first step, though, is awareness. I’ve learned a lot from Doug Engelbart over the past four years, but the two lessons that stand out most in my mind are: 1. Making the world a better place is a reasonable career goal; and 2. The first step towards achieving this is to think bigger. Very few people — least of all, programmers — understand or want to understand collaboration well. Start with this problem first, then we can talk about the marketplace.    (1EC)

Okay, so the cat’s out of the bag. I’m a closeted idealist. But the reason my idealist side is in the closet is that I’m also a realist. Less (or at least, as much as necessary) talking, more walking. I founded Blue Oxen Associates to help achieve this goal, and so in some ways, our continued existence and progress will be a measure of whether or not this vision can be achieved.    (1ED)

So, how do we deal with the vagaries of the marketplace when it comes to interoperability, especially in light of Chris’s comments? Chris provides the solution. The solution has to start from the bottom-up — the users.    (1EE)

The Identity Commons model (which fits right into the overall framework I describe) is a good example of this approach. These folks want to take on Microsoft Passport and Liberty Alliance. The goal is to provide an alternative digital identity infrastructure where individuals retain control over their information. Realistically, Identity Commons will not be successful by marching into the offices of various vendors with a technical spec in hand and pleading for it to be implemented. Their approach is to target a market sector that isn’t currently being addressed — civil society. Once users there recognize the utility and desirability of the infrastructure, they’ll demand it elsewhere.    (1EF)

Beyond Collaborative Tools    (1EG)

A few people observed that the principles espoused in the manifesto applied to areas beyond collaborative tools. Jamais Cascio said:    (1EH)

Replace “tools” with “movements” (and “tool builders” with “activists”) and Kim’s argument clearly applies to not just to those who are making the technology, but also to those who are using the technology to build a better world.    (1EI)

In his OLDaily newsletter, Stephen Downes suggested that the principles “are as applicable to e-learning software as collaboration tools.”    (1EJ)

There’s a good reason for this. The steps I described apply to almost any collaborative scenario, be it activism or learning. I was especially happy to see Jamais’s comments, because that is ultimately what this is all about.    (1EK)

Semantic Web Evangelists    (1EL)

A few people who read early drafts thought that some Semantic Web folks might take offense at some of the things I said. For the most part, folks have been very positive. W3C’s Dan Connolly, however, expressed some frustration on the #rdfig IRC channel about my claim that Semantic Web evangelists are more machine- than human-centric in their pitches.    (1EM)

Argh! Which evangelists? I’m certainly spending 99.9% of my time working on the balance between effort and reward for people.    (1EN)

Tim Berners Lee for one. Tim and coauthors James Hendler and Ora Lassila opened their May 2001 piece in Scientific American on the Semantic Web with a science fiction scenario where automated agents collaborated with each other to schedule a doctor’s appointment. That scenario echoed tales of Artificial Intelligence’s past.    (1EO)

Now I realize I just said that we need to think bigger, that the audience for this article was broad, and that the authors wanted to open with something sexy. I also don’t mean to pass say that Tim or James or Ora are not people-centric in their philosophy or work. I’m saying that these scenarios are not actually people-centric, even though they might seem that way on the surface, for reasons cited in the manifesto. That’s a problem, because a lot of people missed the point. This is less the case today than it was three years ago, but I worry that the damage has already been done, and the end result was that some of the outstanding work that has happened over the past three years (work to which I refer in the manifesto) hasn’t gotten the credit it deserves.    (1EP)

Italian Translation    (1EQ)

Luigi Bertuzzi is currently working on an Italian translation of the manifesto. You can read the email he sent to me and follow his work.    (1ER)

Aldo de Moor’s Blog, Growing Pains

Aldo de Moor, professor at Tilburg University in the Netherlands, member of the Collaboration Collaboratory, author of several excellent papers on virtual communities, and overall good guy has joined the blogosphere. Welcome, Aldo! His latest piece explores the role of virtual communities in society as a whole and introduces some of his latest research.    (1E1)