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)

Emergent Learning Forum Gathering on Social Networks

I’ve been following Alex Gault‘s blog for several months now. It is an outstanding source of articles and information on collaboration and Knowledge Management. Earlier this past week, I learned that Alex had organized the program for last Tuesday’s Emergent Learning Forum meeting, “Social Networking, Relationship Capital and Expertise Management.” Both the speaker list (Spoke Software‘s Andy Halliday, Intel’s Anita Lo, and Tacit Knowledge SystemsDavid Gilmour) and the opportunity to meet yet another blogger in person were too much for me to resist.    (140)

Alex kicked off the meeting with an excellent introduction to Social Networks, providing some background material (see Social Networks) and a concise overview of the current marketplace.    (141)

Andy Halliday followed by talking a bit about Spoke Software, although the scope of his talk was much more general. Spoke’s tool identifies social networks within the company (including people’s contacts outside of the company) by analyzing outbound email, and then acts as a referral broker. Andy emphasized individuals’ abilities to control their profile and protect their data. Afterwards, I asked Andy whether they had identified a threshold for how large an organization usually is before it can benefit from such a tool. He answered 1,000 people, but added that Spoke’s extended search capabilities (for contacts outside of the company) increased the tool’s utility for smaller companies.    (142)

Spoke is marketing the tool to salespeople, but it is clearly cognizant of the wider opportunities. Andy cited a few, including search results based on your social network (essentially Brian Lincoln‘s Collab:GrassRootsPeerReview idea) and a tool for sorting your inbox (including spam filtering). Spoke hosts a free online version of its tool called the Spoke Network.    (143)

Anita Lo, Intel’s Productivity Program Manager, gave a remote presentation on Intel’s recently deployed expert locator service. There were some technical difficulties and the talk was cut short before Anita could talk in-depth about the system, but a few points caught my ear. Intel conducted an internal survey to identify its most salient knowledge management need, and expert location was the top priority. The result was a system called People Yellow Pages, based on a tool that they purchased but that Anita did not identify. The system seemed to depend on people keeping their profiles updated as well as an overall taxonomy for categorization, which was managed by a librarian and validated periodically via surveys. This approach is in stark contrast with Spoke Software‘s and Tacit Knowledge Systems‘s, so it would have been nice to discuss how well it worked and whether Intel had evaluated any tools that automatically built and maintained people’s profiles.    (144)

(Seb Paquet posted some comments on Anita’s talk as well. Interestingly, Seb watched the talk remotely from his perch in Canada, and he may have been able to follow the talk more clearly than those in attendance!)    (145)

David Gilmour closed out the morning’s talks. I wrote about David’s excellent Harvard Business Review article before. His talk mirrored that article in some ways — an impassioned belief in the knowledge brokering model, coordinating collaboration rather than trying to force people to work together — but he provided much more detail in several areas. In particular, he spent much time discussing his company’s emphasis on individual privacy (as had Andy earlier) and noted that Tacit Knowledge Systems had several patents on ways to protect privacy, one indication of the value the company places on it.    (146)

David observed that individuals liked to use the tool to see their own profiles, which are automatically constructed based on their behavior (email, documents, Web, etc.). On the business end, he noted that pharmaceutical companies (which make up many of his clients) needed no persuasion regarding the ROI of his approach; the only question was whether or not the tool worked as advertised.    (147)

Jay Cross, the CEO of Emergent Learning Forum, posted some notes on the day’s talks as well. He also mentioned Alex’s other blog, the Collaboration Cafe, which I have added to my aggregator as well.    (148)

Battling Group Think

Geoff Cohen asked:    (PM)

As we build different kinds of groupware/social software, what’s the role of consensus, and how powerful is it? Does software make reaching consensus easier or harder? For purely message-driven systems like email lists or USENET, consensus is much harder to reach than it would be in a real-life meeting. But once consensus is reached, breaking that consensus often brings down the flames of wrath. All of this is somehow invisibly coded in the interstices of the software architecture and human nature.    (PN)

…    (PO)

Could we architect social software that fought groupthink? Or does it just make the gravitational attraction of consensus, even flawed consensus, ever so much more irresistable?    (PP)

Seb Paquet responded:    (PQ)

I think the key to avoiding unhealthy levels of groupthink has to do with designing spaces that consistently exert pull upon outsiders (or social hackers or community straddlers), so as to keep the air fresh.    (PR)

…    (PS)

I think the blogosphere exhibits this kind of “outsider pull” much more than topic-focused forums.    (PT)

…    (PU)

But what about action? A diverse group has fewer blind spots, but on the other hand, agreement in such a group can be harder to establish, so there is a real possibility that the group will go nowhere beyond conversation. Is a core of agreed-upon ideas necessary for group action to take place? I think so. Does this mean that group action requires groupthink? Not necessarily, because some people are able to act upon ideas without believing in them so strongly they can no longer challenge them.    (PV)

Ross Mayfield added:    (PW)

He [Seb] is right that groupthink is avoided by a social network structure that allows a dynamic and diverse periphery to provide new ideas, but the core of the network needs to be tightly bound to be able to take action.    (PX)

That’s the main point of Building Sustainable Communities through Network Building by Valdis Krebs and June Holley.    (PY)

…    (PZ)

The ideal core/periphery structure affords a densely linked core and a dynamic periphery. One pattern for social software that supports this is an intimacy gradient (privacy/openness), to allow the core some privacy for backchanneling. But this requires ridiculously easy group forming, as the more hardened the space the more hard-nosed its occupants become.    (Q0)

Finally, Bill Seitz commented:    (Q1)

I think a shared mission is necessary. Whether that amounts to groupthink is a fair question.    (Q2)

There are a goldmine of ideas here, and the discussion is highly relevant to issues currently faced by the Collaboration Collaboratory. I’ll address them one at a time.    (Q3)

Group Think Versus Group Action    (Q4)

Bill’s comment points to the crux of the matter. What qualifies as Group Think or Group Action? We’ve discussed this question a lot at Blue Oxen Associates. In our upcoming research report, we draw a distinction between bounded and unbounded goals, and individual and collective goals. Generally, having shared unbounded goals is enough to constitute group alignment, but having shared bounded goals is required before you can call an effort “collaboration.”    (Q5)

The larger the group, the harder it is to define a shared, bounded goal that every group member will endorse. A good example of where this happens are elections. In the case of Howard Dean supporters, for example, the community is defined by a universally shared, bounded goal — voting Dean for president in 2004. As we’ve seen in the Dean case, having that universally shared, bounded goal was a galvanizing force for a previously unseen community of progressives in this country.    (Q6)

For large groups, I don’t think it’s necessary to have universally shared, bounded goals, although it’s nice when it happens. It’s enough to have small subgroups sharing different bounded goals, as long as they do not conflict with the unbounded goals, which must be universally shared.    (Q7)

The Intimacy Gradient Pattern    (Q8)

An aside on terminology: Intimacy Gradient is an excellent name for the phenomenon I first tried to describe in a previous blog entry, where I introduced the Think Out Loud and Whine In Private patterns. The problem I had in describing the Whine In Private pattern was that some spaces — blogs being the best example — felt like private forums, but were actually public. So people whining on their blogs are not actually Whining In Private; they just feel like they are.    (Q9)

Ross also used the term Backchannel, which I had also recently noted in my Wiki as a good name to describe this mostly private, but partially public space.    (QA)

Community Boundaries    (QB)

One of the founding principles of the Blue Oxen Collaboratories is that the products of the discussion and interaction should all be freely available to everyone. This is why the mailing list archives are publically available, even if participation is restricted to members.    (QC)

There is an Intimacy Gradient pattern involved here. There is a small barrier to entry to participate in tight-knit discussions, which makes the environment more conducive to parlor-style conversations. On the other hand, anyone can benefit from the resulting knowledge, which is our ultimate goal. Our hope is that the collaboratories act as a substrate for a much larger conversation.    (QD)

This has already begun to happen, and blogs play a key role. Bill Seitz, Chris Dent, Danny Ayers, and I have all blogged about discussions on the Collaboration Collaboratory, which expands the conversation to a larger group. The side effects include countering Group Think, as Seb suggests, and also attracting new members who want to participate more directly in the lower-level interactions. Similarly, we mention these blogs on the mailing lists, so the collaboratory members are aware of the larger conversation, thus completing the circle.    (QE)

Are there hidden costs to these Intimacy Gradients? Absolutely. Examples of blogs being read by the “wrong” audiences abound. Gregory Rawlins became a victim when he made some choice comments about another programmer’s software on a private, but publically archived list. (Sorry, Greg, but I always get a good laugh when I reread this.)    (QF)

Nevertheless, I think the benefits outweigh the downsides. I recently joined Howard Rheingold‘s Brainstorms community, and have wanted to link to some of the discussions there, but couldn’t. It’s unfortunate, because those linkages are lost, but it’s a tradeoff I understand. Finding the right balance is tricky.    (QG)

How Open Should Wikis Be?    (QH)

Our original intention with the Wikis on the Blue Oxen Collaboratories was to treat them the same as the mailing lists — restrict writing to members, but allow anyone to read the content. However, we did not configure our Wikis that way, mainly because we couldn’t — UseModWiki doesn’t have this feature — and it was low on list of things to hack. (See PurpleWiki:RoadMap.)    (QI)

Based on our experiences with this configuration and further examination of other Wikis, I’m reluctant to change this model now. One potential compromise is to require registration to write to the Wikis, but to make registration free. The difference between this and simply allowing anyone to click on “Edit This” is subtle, but significant. I’m still a bit undecided on this issue, although I seem to be leaning in favor of extreme openness. The reason for this is simply that we’ve had some interesting contributions and comments to the Wikis that probably would not have been made if there were even the slightest barriers to entry. Again, it’s a good safeguard against Group Think.    (QJ)

This issue recently cropped up again, because both the PurpleWiki and Collaboration Collaboratory Wikis were vandalized for the first time. Chris Dent discovered the act first and quickly fixed it, noting, “In a way this is sort of a good sign. Infamy is almost as good as fame….” My reaction was, “Good catch, by the way. A good sign of a healthy Wiki is how quickly the community fixes vandalism.” Notable in both of our reactions was that we simply fixed the problem and moved on, instead of rushing to implement access control.    (QK)

John Sechrest, however, suggested that access control was exactly what the Wikis needed, which led to some interesting philosophical debate about the openness of Wikis. My response to John wasn’t very deep, but it does sum up my feelings on the matter: “Wikis are successful because the cost to contribute are zero. There are downsides, but there are also upsides. Get rid of one, you also lose the other.”    (QL)

Church of Purple: The IDs the Thing

Some interesting posts in the blogosphere today that are relevant to Purple Numbers. First, Seb Paquet pointed to Matt Mower‘s recent “Show Anchors” bookmarklet, which displays named anchors on an HTML page. It’s a good hack, and it will hopefully encourage people to do more fine-grained linking, which is one reason for Purple Numbers.    (NW)

Second, Bill Seitz referenced Bob Du Charme’s article earlier this year on the deprecation of the “name” attribute for the new (but optional) “id” attribute in HTML, and asked whether this is relevant to Purple Numbers. It’s very relevant. Widespread use of ID attributes will hopefully make people understand the value of stable IDs for addressing (as opposed to the relative addressing enabled by things like XPointer).    (NX)

Purple Numbers are about two things: Making people aware of fine-grained addressability, and assigning stable IDs to each of these chunks. The former is what most people see, but good UIs will eventually (hopefully) make this feature irrelevant. The latter is the truly important contribution.    (NY)

Church Of Purple    (NZ)

As an aside, earlier this month, what started as an innocent question about blogging on the Collaboration Collaboratory turned into a massive discussion about many things, including Purple Numbers. At one point, I casually threw out the term, “Church Of Purple,” which Chris Dent and I had often used in our private conversations. Woe was me.    (O0)

We have a lot of smart members and some great discussions. The truth, however, is that half of our members are crazy. Peter Jones embodies our group’s split personality, mixing in profound comments with witticisms that usually leave me shaking my head and holding my sides. Peter decided that all good churches require a T-shirt, hymn, and Bible, and he proposed a few candidates for the latter. Chris has already blogged Peter’s Church Of Purple hymn (a merciless parody of Jimmy Hendrix’s Purple Haze). Here’s Peter’s excerpt from the Book of Purple:    (O1)

And lo, Engelbart looked down upon the text and saw that there were unidentified paragraphs, and that the lack of identifiers was a pestilence upon the augmentation.    (O2)

Perhaps deciding that Peter wasn’t being silly enough, Chris concocted a logo for the Church Of Purple, which I have dutifully added to this blog.    (O3)

Out of the silliness emerged perhaps the best example for why we need Purple Numbers, courtesy of Matt Schneider (and also blogged by Chris). Matt recounted an encounter with his then 82-year old father:    (O4)

I handed him a Bible and Hawaii (he’s a big Michener fan). I asked him to quickly turn to paragraph 536 of Hawaii. He looked over the top of his glasses at me. I smiled and then asked him to turn to Psalm 23:4. Light went on.    (O5)

Groupware Patterns Wiki

Seb Paquet points to the Groupware Patterns Wiki.    (7B)

I had lunch with Richard Gabriel, one of our advisors, on Monday. Richard is one of the foremost interpreters of the Pattern Language concept, and is president of the Hillside Group, which organizes the Pattern Language of Programs (PLoP) workshops. One of the things we discussed was how the theory underlying pattern languages requires many different communities exploring patterns together. Most existing patterns work seems to happen in relative isolation. To some extent, Hillside fosters intercommunity exploration of patterns, but it wants to increase its activity in this area.    (7C)

So does Blue Oxen Associates. If the pattern work we do is to be effective, it cannot be done in isolation.    (7D)